diff --git a/README.md b/README.md index 2d1fc70f0..052392c4d 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ Executes Javascript, Typescript Scripts. +### **WORK IN PROGRESS** +* (@GermanBluefox) Speed-up loading of GUI + ### 9.0.4 (2025-06-16) * (@GermanBluefox) Corrected script editor for Polish language * (@GermanBluefox) Corrected import of Blockly blocks diff --git a/admin/assets/OpenAiDialog-BN6QnEKv.js b/admin/assets/OpenAiDialog-BN6QnEKv.js new file mode 100644 index 000000000..2121c9cd6 --- /dev/null +++ b/admin/assets/OpenAiDialog-BN6QnEKv.js @@ -0,0 +1,34 @@ +import{c as tr,j as k}from"./createSvgIcon-DMsh-YeH.js";import{i as Z}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{i as j,c as an,C as nr}from"./index-f32XoI0M.js";import{i as W,h as sr}from"./index-dMNZJoGO.js";import{_ as rr}from"./preload-helper-Dp1pzeXC.js";import{C as ar,t as ir}from"./index-Dm1jc4t6.js";import or from"./ScriptEditorVanillaMonaco-B14Clvtt.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import"./inheritsLoose-DgfqekV3.js";const cr=tr(k.jsx("path",{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15M14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2"}),"QuestionMark");function R(s,e,t,n,r){if(typeof e=="function"?s!==e||!0:!e.has(s))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(s,t),t}function o(s,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?s!==e||!n:!e.has(s))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(s):n?n.value:e.get(s)}let Tn=function(){const{crypto:s}=globalThis;if(s!=null&&s.randomUUID)return Tn=s.randomUUID.bind(s),s.randomUUID();const e=new Uint8Array(1),t=s?()=>s.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,n=>(+n^t()&15>>+n/4).toString(16))};function It(s){return typeof s=="object"&&s!==null&&("name"in s&&s.name==="AbortError"||"message"in s&&String(s.message).includes("FetchRequestCanceledException"))}const Rt=s=>{if(s instanceof Error)return s;if(typeof s=="object"&&s!==null){try{if(Object.prototype.toString.call(s)==="[object Error]"){const e=new Error(s.message,s.cause?{cause:s.cause}:{});return s.stack&&(e.stack=s.stack),s.cause&&!e.cause&&(e.cause=s.cause),s.name&&(e.name=s.name),e}}catch{}try{return new Error(JSON.stringify(s))}catch{}}return new Error(s)};class v extends Error{}class J extends v{constructor(e,t,n,r){super(`${J.makeMessage(e,t,n)}`),this.status=e,this.headers=r,this.requestID=r==null?void 0:r.get("x-request-id"),this.error=t;const a=t;this.code=a==null?void 0:a.code,this.param=a==null?void 0:a.param,this.type=a==null?void 0:a.type}static makeMessage(e,t,n){const r=t!=null&&t.message?typeof t.message=="string"?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,t,n,r){if(!e||!r)return new ut({message:n,cause:Rt(t)});const a=t==null?void 0:t.error;return e===400?new Mn(e,a,n,r):e===401?new Nn(e,a,n,r):e===403?new jn(e,a,n,r):e===404?new Fn(e,a,n,r):e===409?new Ln(e,a,n,r):e===422?new Dn(e,a,n,r):e===429?new Bn(e,a,n,r):e>=500?new Un(e,a,n,r):new J(e,a,n,r)}}class z extends J{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class ut extends J{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}}class Lt extends ut{constructor({message:e}={}){super({message:e??"Request timed out."})}}class Mn extends J{}class Nn extends J{}class jn extends J{}class Fn extends J{}class Ln extends J{}class Dn extends J{}class Bn extends J{}class Un extends J{}class Wn extends v{constructor(){super("Could not parse response content as the length limit was reached")}}class qn extends v{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}const lr=/^[a-z][a-z0-9+.-]*:/i,ur=s=>lr.test(s);let V=s=>(V=Array.isArray,V(s)),on=V;function dr(s){return typeof s!="object"?{}:s??{}}function hr(s){if(!s)return!0;for(const e in s)return!1;return!0}function fr(s,e){return Object.prototype.hasOwnProperty.call(s,e)}function _t(s){return s!=null&&typeof s=="object"&&!Array.isArray(s)}const mr=(s,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new v(`${s} must be an integer`);if(e<0)throw new v(`${s} must be a positive integer`);return e},pr=s=>{try{return JSON.parse(s)}catch{return}},Fe=s=>new Promise(e=>setTimeout(e,s)),ye="5.5.0",gr=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function _r(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}const yr=()=>{var t;const s=_r();if(s==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ye,"X-Stainless-OS":ln(Deno.build.os),"X-Stainless-Arch":cn(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:((t=Deno.version)==null?void 0:t.deno)??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ye,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(s==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ye,"X-Stainless-OS":ln(globalThis.process.platform??"unknown"),"X-Stainless-Arch":cn(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};const e=wr();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ye,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":ye,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function wr(){if(typeof navigator>"u"||!navigator)return null;const s=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(const{key:e,pattern:t}of s){const n=t.exec(navigator.userAgent);if(n){const r=n[1]||0,a=n[2]||0,i=n[3]||0;return{browser:e,version:`${r}.${a}.${i}`}}}return null}const cn=s=>s==="x32"?"x32":s==="x86_64"||s==="x64"?"x64":s==="arm"?"arm":s==="aarch64"||s==="arm64"?"arm64":s?`other:${s}`:"unknown",ln=s=>(s=s.toLowerCase(),s.includes("ios")?"iOS":s==="android"?"Android":s==="darwin"?"MacOS":s==="win32"?"Windows":s==="freebsd"?"FreeBSD":s==="openbsd"?"OpenBSD":s==="linux"?"Linux":s?`Other:${s}`:"Unknown");let un;const br=()=>un??(un=yr());function xr(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Jn(...s){const e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...s)}function Xn(s){let e=Symbol.asyncIterator in s?s[Symbol.asyncIterator]():s[Symbol.iterator]();return Jn({start(){},async pull(t){const{done:n,value:r}=await e.next();n?t.close():t.enqueue(r)},async cancel(){var t;await((t=e.return)==null?void 0:t.call(e))}})}function Hn(s){if(s[Symbol.asyncIterator])return s;const e=s.getReader();return{async next(){try{const t=await e.read();return t!=null&&t.done&&e.releaseLock(),t}catch(t){throw e.releaseLock(),t}},async return(){const t=e.cancel();return e.releaseLock(),await t,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function Sr(s){var n,r;if(s===null||typeof s!="object")return;if(s[Symbol.asyncIterator]){await((r=(n=s[Symbol.asyncIterator]()).return)==null?void 0:r.call(n));return}const e=s.getReader(),t=e.cancel();e.releaseLock(),await t}const Ar=({headers:s,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)}),Vn="RFC3986",Kn=s=>String(s),dn={RFC1738:s=>String(s).replace(/%20/g,"+"),RFC3986:Kn},Cr="RFC1738";let $t=(s,e)=>($t=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),$t(s,e));const ee=(()=>{const s=[];for(let e=0;e<256;++e)s.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return s})(),yt=1024,vr=(s,e,t,n,r)=>{if(s.length===0)return s;let a=s;if(typeof s=="symbol"?a=Symbol.prototype.toString.call(s):typeof s!="string"&&(a=String(s)),t==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(c){return"%26%23"+parseInt(c.slice(2),16)+"%3B"});let i="";for(let c=0;c=yt?a.slice(c,c+yt):a,d=[];for(let y=0;y=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||r===Cr&&(u===40||u===41)){d[d.length]=l.charAt(y);continue}if(u<128){d[d.length]=ee[u];continue}if(u<2048){d[d.length]=ee[192|u>>6]+ee[128|u&63];continue}if(u<55296||u>=57344){d[d.length]=ee[224|u>>12]+ee[128|u>>6&63]+ee[128|u&63];continue}y+=1,u=65536+((u&1023)<<10|l.charCodeAt(y)&1023),d[d.length]=ee[240|u>>18]+ee[128|u>>12&63]+ee[128|u>>6&63]+ee[128|u&63]}i+=d.join("")}return i};function Ir(s){return!s||typeof s!="object"?!1:!!(s.constructor&&s.constructor.isBuffer&&s.constructor.isBuffer(s))}function hn(s,e){if(V(s)){const t=[];for(let n=0;n"u"&&(p=0)}if(typeof d=="function"?m=d(e,m):m instanceof Date?m=g==null?void 0:g(m):t==="comma"&&V(m)&&(m=hn(m,function(P){return P instanceof Date?g==null?void 0:g(P):P})),m===null){if(a)return l&&!w?l(e,B.encoder,C,"key",h):e;m=""}if(Rr(m)||Ir(m)){if(l){const P=w?e:l(e,B.encoder,C,"key",h);return[(b==null?void 0:b(P))+"="+(b==null?void 0:b(l(m,B.encoder,C,"value",h)))]}return[(b==null?void 0:b(e))+"="+(b==null?void 0:b(String(m)))]}const O=[];if(typeof m>"u")return O;let I;if(t==="comma"&&V(m))w&&l&&(m=hn(m,l)),I=[{value:m.length>0?m.join(",")||null:void 0}];else if(V(d))I=d;else{const P=Object.keys(m);I=y?P.sort(y):P}const F=c?String(e).replace(/\./g,"%2E"):String(e),x=n&&V(m)&&m.length===1?F+"[]":F;if(r&&V(m)&&m.length===0)return x+"[]";for(let P=0;P"u"?s.encodeDotInKeys?!0:B.allowDots:!!s.allowDots;return{addQueryPrefix:typeof s.addQueryPrefix=="boolean"?s.addQueryPrefix:B.addQueryPrefix,allowDots:i,allowEmptyArrays:typeof s.allowEmptyArrays=="boolean"?!!s.allowEmptyArrays:B.allowEmptyArrays,arrayFormat:a,charset:e,charsetSentinel:typeof s.charsetSentinel=="boolean"?s.charsetSentinel:B.charsetSentinel,commaRoundTrip:!!s.commaRoundTrip,delimiter:typeof s.delimiter>"u"?B.delimiter:s.delimiter,encode:typeof s.encode=="boolean"?s.encode:B.encode,encodeDotInKeys:typeof s.encodeDotInKeys=="boolean"?s.encodeDotInKeys:B.encodeDotInKeys,encoder:typeof s.encoder=="function"?s.encoder:B.encoder,encodeValuesOnly:typeof s.encodeValuesOnly=="boolean"?s.encodeValuesOnly:B.encodeValuesOnly,filter:r,format:t,formatter:n,serializeDate:typeof s.serializeDate=="function"?s.serializeDate:B.serializeDate,skipNulls:typeof s.skipNulls=="boolean"?s.skipNulls:B.skipNulls,sort:typeof s.sort=="function"?s.sort:null,strictNullHandling:typeof s.strictNullHandling=="boolean"?s.strictNullHandling:B.strictNullHandling}}function Or(s,e={}){let t=s;const n=$r(e);let r,a;typeof n.filter=="function"?(a=n.filter,t=a("",t)):V(n.filter)&&(a=n.filter,r=a);const i=[];if(typeof t!="object"||t===null)return"";const c=Gn[n.arrayFormat],l=c==="comma"&&n.commaRoundTrip;r||(r=Object.keys(t)),n.sort&&r.sort(n.sort);const d=new WeakMap;for(let g=0;g0?u+y:""}function kr(s){let e=0;for(const r of s)e+=r.length;const t=new Uint8Array(e);let n=0;for(const r of s)t.set(r,n),n+=r.length;return t}let mn;function Dt(s){let e;return(mn??(e=new globalThis.TextEncoder,mn=e.encode.bind(e)))(s)}let pn;function gn(s){let e;return(pn??(e=new globalThis.TextDecoder,pn=e.decode.bind(e)))(s)}var K,G;class dt{constructor(){K.set(this,void 0),G.set(this,void 0),R(this,K,new Uint8Array),R(this,G,null)}decode(e){if(e==null)return[];const t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?Dt(e):e;R(this,K,kr([o(this,K,"f"),t]));const n=[];let r;for(;(r=Er(o(this,K,"f"),o(this,G,"f")))!=null;){if(r.carriage&&o(this,G,"f")==null){R(this,G,r.index);continue}if(o(this,G,"f")!=null&&(r.index!==o(this,G,"f")+1||r.carriage)){n.push(gn(o(this,K,"f").subarray(0,o(this,G,"f")-1))),R(this,K,o(this,K,"f").subarray(o(this,G,"f"))),R(this,G,null);continue}const a=o(this,G,"f")!==null?r.preceding-1:r.preceding,i=gn(o(this,K,"f").subarray(0,a));n.push(i),R(this,K,o(this,K,"f").subarray(r.index)),R(this,G,null)}return n}flush(){return o(this,K,"f").length?this.decode(` +`):[]}}K=new WeakMap,G=new WeakMap;dt.NEWLINE_CHARS=new Set([` +`,"\r"]);dt.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Er(s,e){for(let r=e??0;r({next:()=>{if(a.length===0){const i=n.next();e.push(i),t.push(i)}return a.shift()}});return[new ne(()=>r(e),this.controller),new ne(()=>r(t),this.controller)]}toReadableStream(){const e=this;let t;return Jn({async start(){t=e[Symbol.asyncIterator]()},async pull(n){try{const{value:r,done:a}=await t.next();if(a)return n.close();const i=Dt(JSON.stringify(r)+` +`);n.enqueue(i)}catch(r){n.error(r)}},async cancel(){var n;await((n=t.return)==null?void 0:n.call(t))}})}}async function*Tr(s,e){if(!s.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new v("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new v("Attempted to iterate over a response with no body");const t=new Nr,n=new dt,r=Hn(s.body);for await(const a of Mr(r))for(const i of n.decode(a)){const c=t.decode(i);c&&(yield c)}for(const a of n.flush()){const i=t.decode(a);i&&(yield i)}}async function*Mr(s){let e=new Uint8Array;for await(const t of s){if(t==null)continue;const n=t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?Dt(t):t;let r=new Uint8Array(e.length+n.length);r.set(e),r.set(n,e.length),e=r;let a;for(;(a=Pr(e))!==-1;)yield e.slice(0,a),e=e.slice(a)}e.length>0&&(yield e)}class Nr{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;const a={event:this.event,data:this.data.join(` +`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,n,r]=jr(e,":");return r.startsWith(" ")&&(r=r.substring(1)),t==="event"?this.event=r:t==="data"&&this.data.push(r),null}}function jr(s,e){const t=s.indexOf(e);return t!==-1?[s.substring(0,t),e,s.substring(t+e.length)]:[s,"",""]}const st={off:0,error:200,warn:300,info:400,debug:500},_n=(s,e,t)=>{if(s){if(fr(st,s))return s;X(t).warn(`${e} was set to ${JSON.stringify(s)}, expected one of ${JSON.stringify(Object.keys(st))}`)}};function ve(){}function Ue(s,e,t){return!e||st[s]>st[t]?ve:e[s].bind(e)}const Fr={error:ve,warn:ve,info:ve,debug:ve};let yn=new WeakMap;function X(s){const e=s.logger,t=s.logLevel??"off";if(!e)return Fr;const n=yn.get(e);if(n&&n[0]===t)return n[1];const r={error:Ue("error",e,t),warn:Ue("warn",e,t),info:Ue("info",e,t),debug:Ue("debug",e,t)};return yn.set(e,[t,r]),r}const le=s=>(s.options&&(s.options={...s.options},delete s.options.headers),s.headers&&(s.headers=Object.fromEntries((s.headers instanceof Headers?[...s.headers]:Object.entries(s.headers)).map(([e,t])=>[e,e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":t]))),"retryOfRequestLogID"in s&&(s.retryOfRequestLogID&&(s.retryOf=s.retryOfRequestLogID),delete s.retryOfRequestLogID),s);async function Yn(s,e){const{response:t,requestLogID:n,retryOfRequestLogID:r,startTime:a}=e,i=await(async()=>{var u;if(e.options.stream)return X(s).debug("response",t.status,t.url,t.headers,t.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(t,e.controller):ne.fromSSEResponse(t,e.controller);if(t.status===204)return null;if(e.options.__binaryResponse)return t;const c=t.headers.get("content-type"),l=(u=c==null?void 0:c.split(";")[0])==null?void 0:u.trim();if((l==null?void 0:l.includes("application/json"))||(l==null?void 0:l.endsWith("+json"))){const g=await t.json();return Zn(g,t)}return await t.text()})();return X(s).debug(`[${n}] response parsed`,le({retryOfRequestLogID:r,url:t.url,status:t.status,body:i,durationMs:Date.now()-a})),i}function Zn(s,e){return!s||typeof s!="object"||Array.isArray(s)?s:Object.defineProperty(s,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var Ie;class ht extends Promise{constructor(e,t,n=Yn){super(r=>{r(null)}),this.responsePromise=t,this.parseResponse=n,Ie.set(this,void 0),R(this,Ie,e)}_thenUnwrap(e){return new ht(o(this,Ie,"f"),this.responsePromise,async(t,n)=>Zn(e(await this.parseResponse(t,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){const[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(o(this,Ie,"f"),e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}}Ie=new WeakMap;var We;class es{constructor(e,t,n,r){We.set(this,void 0),R(this,We,e),this.options=r,this.response=t,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){const e=this.nextPageRequestOptions();if(!e)throw new v("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await o(this,We,"f").requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(We=new WeakMap,Symbol.asyncIterator)](){for await(const e of this.iterPages())for(const t of e.getPaginatedItems())yield t}}class Lr extends ht{constructor(e,t,n){super(e,t,async(r,a)=>new n(r,a.response,await Yn(r,a),a.options))}async*[Symbol.asyncIterator](){const e=await this;for await(const t of e)yield t}}class ft extends es{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.object=n.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class L extends es{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.has_more=n.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){var n;const e=this.getPaginatedItems(),t=(n=e[e.length-1])==null?void 0:n.id;return t?{...this.options,query:{...dr(this.options.query),after:t}}:null}}const ts=()=>{var s;if(typeof File>"u"){const{process:e}=globalThis,t=typeof((s=e==null?void 0:e.versions)==null?void 0:s.node)=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Te(s,e,t){return ts(),new File(s,e??"unknown_file",t)}function Ge(s){return(typeof s=="object"&&s!==null&&("name"in s&&s.name&&String(s.name)||"url"in s&&s.url&&String(s.url)||"filename"in s&&s.filename&&String(s.filename)||"path"in s&&s.path&&String(s.path))||"").split(/[\\/]/).pop()||void 0}const ns=s=>s!=null&&typeof s=="object"&&typeof s[Symbol.asyncIterator]=="function",fe=async(s,e)=>({...s,body:await Br(s.body,e)}),wn=new WeakMap;function Dr(s){const e=typeof s=="function"?s:s.fetch,t=wn.get(e);if(t)return t;const n=(async()=>{try{const r="Response"in e?e.Response:(await e("data:,")).constructor,a=new FormData;return a.toString()!==await new r(a).text()}catch{return!0}})();return wn.set(e,n),n}const Br=async(s,e)=>{if(!await Dr(e))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");const t=new FormData;return await Promise.all(Object.entries(s||{}).map(([n,r])=>Ot(t,n,r))),t},Ur=s=>s instanceof Blob&&"name"in s,Ot=async(s,e,t)=>{if(t!==void 0){if(t==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")s.append(e,String(t));else if(t instanceof Response)s.append(e,Te([await t.blob()],Ge(t)));else if(ns(t))s.append(e,Te([await new Response(Xn(t)).blob()],Ge(t)));else if(Ur(t))s.append(e,t,Ge(t));else if(Array.isArray(t))await Promise.all(t.map(n=>Ot(s,e+"[]",n)));else if(typeof t=="object")await Promise.all(Object.entries(t).map(([n,r])=>Ot(s,`${e}[${n}]`,r)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${t} instead`)}},ss=s=>s!=null&&typeof s=="object"&&typeof s.size=="number"&&typeof s.type=="string"&&typeof s.text=="function"&&typeof s.slice=="function"&&typeof s.arrayBuffer=="function",Wr=s=>s!=null&&typeof s=="object"&&typeof s.name=="string"&&typeof s.lastModified=="number"&&ss(s),qr=s=>s!=null&&typeof s=="object"&&typeof s.url=="string"&&typeof s.blob=="function";async function Jr(s,e,t){if(ts(),s=await s,Wr(s))return s instanceof File?s:Te([await s.arrayBuffer()],s.name);if(qr(s)){const r=await s.blob();return e||(e=new URL(s.url).pathname.split(/[\\/]/).pop()),Te(await kt(r),e,t)}const n=await kt(s);if(e||(e=Ge(s)),!(t!=null&&t.type)){const r=n.find(a=>typeof a=="object"&&"type"in a&&a.type);typeof r=="string"&&(t={...t,type:r})}return Te(n,e,t)}async function kt(s){var t;let e=[];if(typeof s=="string"||ArrayBuffer.isView(s)||s instanceof ArrayBuffer)e.push(s);else if(ss(s))e.push(s instanceof Blob?s:await s.arrayBuffer());else if(ns(s))for await(const n of s)e.push(...await kt(n));else{const n=(t=s==null?void 0:s.constructor)==null?void 0:t.name;throw new Error(`Unexpected data type: ${typeof s}${n?`; constructor: ${n}`:""}${Xr(s)}`)}return e}function Xr(s){return typeof s!="object"||s===null?"":`; props: [${Object.getOwnPropertyNames(s).map(t=>`"${t}"`).join(", ")}]`}class ${constructor(e){this._client=e}}function rs(s){return s.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}const Hr=(s=rs)=>function(t,...n){if(t.length===1)return t[0];let r=!1;const a=t.reduce((y,u,g)=>(/[?#]/.test(u)&&(r=!0),y+u+(g===n.length?"":(r?encodeURIComponent:s)(String(n[g])))),""),i=a.split(/[?#]/,1)[0],c=[],l=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;let d;for(;(d=l.exec(i))!==null;)c.push({start:d.index,length:d[0].length});if(c.length>0){let y=0;const u=c.reduce((g,h)=>{const b=" ".repeat(h.start-y),w="^".repeat(h.length);return y=h.start+h.length,g+b+w},"");throw new v(`Path parameters result in path with invalid segments: +${a} +${u}`)}return a},f=Hr(rs);let as=class extends ${list(e,t={},n){return this._client.getAPIList(f`/chat/completions/${e}/messages`,L,{query:t,...n})}};function Vr(s){return typeof s.parse=="function"}const rt=s=>(s==null?void 0:s.role)==="assistant",is=s=>(s==null?void 0:s.role)==="tool";var Et,Qe,ze,Re,$e,Ye,Oe,ae,ke,at,it,we,os;class Bt{constructor(){Et.add(this),this.controller=new AbortController,Qe.set(this,void 0),ze.set(this,()=>{}),Re.set(this,()=>{}),$e.set(this,void 0),Ye.set(this,()=>{}),Oe.set(this,()=>{}),ae.set(this,{}),ke.set(this,!1),at.set(this,!1),it.set(this,!1),we.set(this,!1),R(this,Qe,new Promise((e,t)=>{R(this,ze,e,"f"),R(this,Re,t,"f")})),R(this,$e,new Promise((e,t)=>{R(this,Ye,e,"f"),R(this,Oe,t,"f")})),o(this,Qe,"f").catch(()=>{}),o(this,$e,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},o(this,Et,"m",os).bind(this))},0)}_connected(){this.ended||(o(this,ze,"f").call(this),this._emit("connect"))}get ended(){return o(this,ke,"f")}get errored(){return o(this,at,"f")}get aborted(){return o(this,it,"f")}abort(){this.controller.abort()}on(e,t){return(o(this,ae,"f")[e]||(o(this,ae,"f")[e]=[])).push({listener:t}),this}off(e,t){const n=o(this,ae,"f")[e];if(!n)return this;const r=n.findIndex(a=>a.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(o(this,ae,"f")[e]||(o(this,ae,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{R(this,we,!0),e!=="error"&&this.once("error",n),this.once(e,t)})}async done(){R(this,we,!0),await o(this,$e,"f")}_emit(e,...t){if(o(this,ke,"f"))return;e==="end"&&(R(this,ke,!0),o(this,Ye,"f").call(this));const n=o(this,ae,"f")[e];if(n&&(o(this,ae,"f")[e]=n.filter(r=>!r.once),n.forEach(({listener:r})=>r(...t))),e==="abort"){const r=t[0];!o(this,we,"f")&&!(n!=null&&n.length)&&Promise.reject(r),o(this,Re,"f").call(this,r),o(this,Oe,"f").call(this,r),this._emit("end");return}if(e==="error"){const r=t[0];!o(this,we,"f")&&!(n!=null&&n.length)&&Promise.reject(r),o(this,Re,"f").call(this,r),o(this,Oe,"f").call(this,r),this._emit("end")}}_emitFinal(){}}Qe=new WeakMap,ze=new WeakMap,Re=new WeakMap,$e=new WeakMap,Ye=new WeakMap,Oe=new WeakMap,ae=new WeakMap,ke=new WeakMap,at=new WeakMap,it=new WeakMap,we=new WeakMap,Et=new WeakSet,os=function(e){if(R(this,at,!0),e instanceof Error&&e.name==="AbortError"&&(e=new z),e instanceof z)return R(this,it,!0),this._emit("abort",e);if(e instanceof v)return this._emit("error",e);if(e instanceof Error){const t=new v(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new v(String(e)))};function Ut(s){return(s==null?void 0:s.$brand)==="auto-parseable-response-format"}function Le(s){return(s==null?void 0:s.$brand)==="auto-parseable-tool"}function Kr(s,e){return!e||!cs(e)?{...s,choices:s.choices.map(t=>({...t,message:{...t.message,parsed:null,...t.message.tool_calls?{tool_calls:t.message.tool_calls}:void 0}}))}:Wt(s,e)}function Wt(s,e){const t=s.choices.map(n=>{var r;if(n.finish_reason==="length")throw new Wn;if(n.finish_reason==="content_filter")throw new qn;return{...n,message:{...n.message,...n.message.tool_calls?{tool_calls:((r=n.message.tool_calls)==null?void 0:r.map(a=>Qr(e,a)))??void 0}:void 0,parsed:n.message.content&&!n.message.refusal?Gr(e,n.message.content):null}}});return{...s,choices:t}}function Gr(s,e){var t,n;return((t=s.response_format)==null?void 0:t.type)!=="json_schema"?null:((n=s.response_format)==null?void 0:n.type)==="json_schema"?"$parseRaw"in s.response_format?s.response_format.$parseRaw(e):JSON.parse(e):null}function Qr(s,e){var n;const t=(n=s.tools)==null?void 0:n.find(r=>{var a;return((a=r.function)==null?void 0:a.name)===e.function.name});return{...e,function:{...e.function,parsed_arguments:Le(t)?t.$parseRaw(e.function.arguments):t!=null&&t.function.strict?JSON.parse(e.function.arguments):null}}}function zr(s,e){var n;if(!s)return!1;const t=(n=s.tools)==null?void 0:n.find(r=>{var a;return((a=r.function)==null?void 0:a.name)===e.function.name});return Le(t)||(t==null?void 0:t.function.strict)||!1}function cs(s){var e;return Ut(s.response_format)?!0:((e=s.tools)==null?void 0:e.some(t=>Le(t)||t.type==="function"&&t.function.strict===!0))??!1}function Yr(s){for(const e of s??[]){if(e.type!=="function")throw new v(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new v(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var H,Pt,ot,Tt,Mt,Nt,ls,us;const Zr=10;class ds extends Bt{constructor(){super(...arguments),H.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){var n;this._chatCompletions.push(e),this._emit("chatCompletion",e);const t=(n=e.choices[0])==null?void 0:n.message;return t&&this._addMessage(t),e}_addMessage(e,t=!0){if("content"in e||(e.content=null),this.messages.push(e),t){if(this._emit("message",e),is(e)&&e.content)this._emit("functionToolCallResult",e.content);else if(rt(e)&&e.tool_calls)for(const n of e.tool_calls)n.type==="function"&&this._emit("functionToolCall",n.function)}}async finalChatCompletion(){await this.done();const e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new v("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),o(this,H,"m",Pt).call(this)}async finalMessage(){return await this.done(),o(this,H,"m",ot).call(this)}async finalFunctionToolCall(){return await this.done(),o(this,H,"m",Tt).call(this)}async finalFunctionToolCallResult(){return await this.done(),o(this,H,"m",Mt).call(this)}async totalUsage(){return await this.done(),o(this,H,"m",Nt).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){const e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);const t=o(this,H,"m",ot).call(this);t&&this._emit("finalMessage",t);const n=o(this,H,"m",Pt).call(this);n&&this._emit("finalContent",n);const r=o(this,H,"m",Tt).call(this);r&&this._emit("finalFunctionToolCall",r);const a=o(this,H,"m",Mt).call(this);a!=null&&this._emit("finalFunctionToolCallResult",a),this._chatCompletions.some(i=>i.usage)&&this._emit("totalUsage",o(this,H,"m",Nt).call(this))}async _createChatCompletion(e,t,n){const r=n==null?void 0:n.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),o(this,H,"m",ls).call(this,t);const a=await e.chat.completions.create({...t,stream:!1},{...n,signal:this.controller.signal});return this._connected(),this._addChatCompletion(Wt(a,t))}async _runChatCompletion(e,t,n){for(const r of t.messages)this._addMessage(r,!1);return await this._createChatCompletion(e,t,n)}async _runTools(e,t,n){var h,b,w;const r="tool",{tool_choice:a="auto",stream:i,...c}=t,l=typeof a!="string"&&((h=a==null?void 0:a.function)==null?void 0:h.name),{maxChatCompletions:d=Zr}=n||{},y=t.tools.map(C=>{if(Le(C)){if(!C.$callback)throw new v("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:C.$callback,name:C.function.name,description:C.function.description||"",parameters:C.function.parameters,parse:C.$parseRaw,strict:!0}}}return C}),u={};for(const C of y)C.type==="function"&&(u[C.function.name||C.function.function.name]=C.function);const g="tools"in t?y.map(C=>C.type==="function"?{type:"function",function:{name:C.function.name||C.function.function.name,parameters:C.function.parameters,description:C.function.description,strict:C.function.strict}}:C):void 0;for(const C of t.messages)this._addMessage(C,!1);for(let C=0;CJSON.stringify(se)).join(", ")}. Please try again`;this._addMessage({role:r,tool_call_id:p,content:M});continue}let F;try{F=Vr(I)?await I.parse(O):O}catch(M){const se=M instanceof Error?M.message:String(M);this._addMessage({role:r,tool_call_id:p,content:se});continue}const x=await I.function(F,this),P=o(this,H,"m",us).call(this,x);if(this._addMessage({role:r,tool_call_id:p,content:P}),l)return}}}}H=new WeakSet,Pt=function(){return o(this,H,"m",ot).call(this).content??null},ot=function(){let e=this.messages.length;for(;e-- >0;){const t=this.messages[e];if(rt(t))return{...t,content:t.content??null,refusal:t.refusal??null}}throw new v("stream ended without producing a ChatCompletionMessage with role=assistant")},Tt=function(){var e,t;for(let n=this.messages.length-1;n>=0;n--){const r=this.messages[n];if(rt(r)&&((e=r==null?void 0:r.tool_calls)!=null&&e.length))return(t=r.tool_calls.at(-1))==null?void 0:t.function}},Mt=function(){for(let e=this.messages.length-1;e>=0;e--){const t=this.messages[e];if(is(t)&&t.content!=null&&typeof t.content=="string"&&this.messages.some(n=>{var r;return n.role==="assistant"&&((r=n.tool_calls)==null?void 0:r.some(a=>a.type==="function"&&a.id===t.tool_call_id))}))return t.content}},Nt=function(){const e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(const{usage:t}of this._chatCompletions)t&&(e.completion_tokens+=t.completion_tokens,e.prompt_tokens+=t.prompt_tokens,e.total_tokens+=t.total_tokens);return e},ls=function(e){if(e.n!=null&&e.n>1)throw new v("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},us=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};class qt extends ds{static runTools(e,t,n){const r=new qt,a={...n,headers:{...n==null?void 0:n.headers,"X-Stainless-Helper-Method":"runTools"}};return r._run(()=>r._runTools(e,t,a)),r}_addMessage(e,t=!0){super._addMessage(e,t),rt(e)&&e.content&&this._emit("content",e.content)}}const hs=1,fs=2,ms=4,ps=8,gs=16,_s=32,ys=64,ws=128,bs=256,xs=ws|bs,Ss=gs|_s|xs|ys,As=hs|fs|Ss,Cs=ms|ps,ea=As|Cs,U={STR:hs,NUM:fs,ARR:ms,OBJ:ps,NULL:gs,BOOL:_s,NAN:ys,INFINITY:ws,MINUS_INFINITY:bs,INF:xs,SPECIAL:Ss,ATOM:As,COLLECTION:Cs,ALL:ea};class ta extends Error{}class na extends Error{}function sa(s,e=U.ALL){if(typeof s!="string")throw new TypeError(`expecting str, got ${typeof s}`);if(!s.trim())throw new Error(`${s} is empty`);return ra(s.trim(),e)}const ra=(s,e)=>{const t=s.length;let n=0;const r=g=>{throw new ta(`${g} at position ${n}`)},a=g=>{throw new na(`${g} at position ${n}`)},i=()=>(u(),n>=t&&r("Unexpected end of input"),s[n]==='"'?c():s[n]==="{"?l():s[n]==="["?d():s.substring(n,n+4)==="null"||U.NULL&e&&t-n<4&&"null".startsWith(s.substring(n))?(n+=4,null):s.substring(n,n+4)==="true"||U.BOOL&e&&t-n<4&&"true".startsWith(s.substring(n))?(n+=4,!0):s.substring(n,n+5)==="false"||U.BOOL&e&&t-n<5&&"false".startsWith(s.substring(n))?(n+=5,!1):s.substring(n,n+8)==="Infinity"||U.INFINITY&e&&t-n<8&&"Infinity".startsWith(s.substring(n))?(n+=8,1/0):s.substring(n,n+9)==="-Infinity"||U.MINUS_INFINITY&e&&1{const g=n;let h=!1;for(n++;n{n++,u();const g={};try{for(;s[n]!=="}";){if(u(),n>=t&&U.OBJ&e)return g;const h=c();u(),n++;try{const b=i();Object.defineProperty(g,h,{value:b,writable:!0,enumerable:!0,configurable:!0})}catch(b){if(U.OBJ&e)return g;throw b}u(),s[n]===","&&n++}}catch{if(U.OBJ&e)return g;r("Expected '}' at end of object")}return n++,g},d=()=>{n++;const g=[];try{for(;s[n]!=="]";)g.push(i()),u(),s[n]===","&&n++}catch{if(U.ARR&e)return g;r("Expected ']' at end of array")}return n++,g},y=()=>{if(n===0){s==="-"&&U.NUM&e&&r("Not sure what '-' is");try{return JSON.parse(s)}catch(h){if(U.NUM&e)try{return s[s.length-1]==="."?JSON.parse(s.substring(0,s.lastIndexOf("."))):JSON.parse(s.substring(0,s.lastIndexOf("e")))}catch{}a(String(h))}}const g=n;for(s[n]==="-"&&n++;s[n]&&!",]}".includes(s[n]);)n++;n==t&&!(U.NUM&e)&&r("Unterminated number literal");try{return JSON.parse(s.substring(g,n))}catch{s.substring(g,n)==="-"&&U.NUM&e&&r("Not sure what '-' is");try{return JSON.parse(s.substring(g,s.lastIndexOf("e")))}catch(b){a(String(b))}}},u=()=>{for(;nsa(s,U.ALL^U.NUM);var D,re,pe,oe,bt,qe,xt,St,At,Je,Ct,xn;class je extends ds{constructor(e){super(),D.add(this),re.set(this,void 0),pe.set(this,void 0),oe.set(this,void 0),R(this,re,e),R(this,pe,[])}get currentChatCompletionSnapshot(){return o(this,oe,"f")}static fromReadableStream(e){const t=new je(null);return t._run(()=>t._fromReadableStream(e)),t}static createChatCompletion(e,t,n){const r=new je(t);return r._run(()=>r._runChatCompletion(e,{...t,stream:!0},{...n,headers:{...n==null?void 0:n.headers,"X-Stainless-Helper-Method":"stream"}})),r}async _createChatCompletion(e,t,n){var i;super._createChatCompletion;const r=n==null?void 0:n.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),o(this,D,"m",bt).call(this);const a=await e.chat.completions.create({...t,stream:!0},{...n,signal:this.controller.signal});this._connected();for await(const c of a)o(this,D,"m",xt).call(this,c);if((i=a.controller.signal)!=null&&i.aborted)throw new z;return this._addChatCompletion(o(this,D,"m",Je).call(this))}async _fromReadableStream(e,t){var i;const n=t==null?void 0:t.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),o(this,D,"m",bt).call(this),this._connected();const r=ne.fromReadableStream(e,this.controller);let a;for await(const c of r)a&&a!==c.id&&this._addChatCompletion(o(this,D,"m",Je).call(this)),o(this,D,"m",xt).call(this,c),a=c.id;if((i=r.controller.signal)!=null&&i.aborted)throw new z;return this._addChatCompletion(o(this,D,"m",Je).call(this))}[(re=new WeakMap,pe=new WeakMap,oe=new WeakMap,D=new WeakSet,bt=function(){this.ended||R(this,oe,void 0)},qe=function(t){let n=o(this,pe,"f")[t.index];return n||(n={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},o(this,pe,"f")[t.index]=n,n)},xt=function(t){var r,a,i,c,l,d,y,u,g,h,b,w,C,E,m;if(this.ended)return;const n=o(this,D,"m",xn).call(this,t);this._emit("chunk",t,n);for(const _ of t.choices){const p=n.choices[_.index];_.delta.content!=null&&((r=p.message)==null?void 0:r.role)==="assistant"&&((a=p.message)!=null&&a.content)&&(this._emit("content",_.delta.content,p.message.content),this._emit("content.delta",{delta:_.delta.content,snapshot:p.message.content,parsed:p.message.parsed})),_.delta.refusal!=null&&((i=p.message)==null?void 0:i.role)==="assistant"&&((c=p.message)!=null&&c.refusal)&&this._emit("refusal.delta",{delta:_.delta.refusal,snapshot:p.message.refusal}),((l=_.logprobs)==null?void 0:l.content)!=null&&((d=p.message)==null?void 0:d.role)==="assistant"&&this._emit("logprobs.content.delta",{content:(y=_.logprobs)==null?void 0:y.content,snapshot:((u=p.logprobs)==null?void 0:u.content)??[]}),((g=_.logprobs)==null?void 0:g.refusal)!=null&&((h=p.message)==null?void 0:h.role)==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:(b=_.logprobs)==null?void 0:b.refusal,snapshot:((w=p.logprobs)==null?void 0:w.refusal)??[]});const A=o(this,D,"m",qe).call(this,p);p.finish_reason&&(o(this,D,"m",At).call(this,p),A.current_tool_call_index!=null&&o(this,D,"m",St).call(this,p,A.current_tool_call_index));for(const O of _.delta.tool_calls??[])A.current_tool_call_index!==O.index&&(o(this,D,"m",At).call(this,p),A.current_tool_call_index!=null&&o(this,D,"m",St).call(this,p,A.current_tool_call_index)),A.current_tool_call_index=O.index;for(const O of _.delta.tool_calls??[]){const I=(C=p.message.tool_calls)==null?void 0:C[O.index];I!=null&&I.type&&((I==null?void 0:I.type)==="function"?this._emit("tool_calls.function.arguments.delta",{name:(E=I.function)==null?void 0:E.name,index:O.index,arguments:I.function.arguments,parsed_arguments:I.function.parsed_arguments,arguments_delta:((m=O.function)==null?void 0:m.arguments)??""}):(I==null||I.type,void 0))}}},St=function(t,n){var i,c,l;if(o(this,D,"m",qe).call(this,t).done_tool_calls.has(n))return;const a=(i=t.message.tool_calls)==null?void 0:i[n];if(!a)throw new Error("no tool call snapshot");if(!a.type)throw new Error("tool call snapshot missing `type`");if(a.type==="function"){const d=(l=(c=o(this,re,"f"))==null?void 0:c.tools)==null?void 0:l.find(y=>y.type==="function"&&y.function.name===a.function.name);this._emit("tool_calls.function.arguments.done",{name:a.function.name,index:n,arguments:a.function.arguments,parsed_arguments:Le(d)?d.$parseRaw(a.function.arguments):d!=null&&d.function.strict?JSON.parse(a.function.arguments):null})}else a.type},At=function(t){var r,a;const n=o(this,D,"m",qe).call(this,t);if(t.message.content&&!n.content_done){n.content_done=!0;const i=o(this,D,"m",Ct).call(this);this._emit("content.done",{content:t.message.content,parsed:i?i.$parseRaw(t.message.content):null})}t.message.refusal&&!n.refusal_done&&(n.refusal_done=!0,this._emit("refusal.done",{refusal:t.message.refusal})),(r=t.logprobs)!=null&&r.content&&!n.logprobs_content_done&&(n.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:t.logprobs.content})),(a=t.logprobs)!=null&&a.refusal&&!n.logprobs_refusal_done&&(n.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:t.logprobs.refusal}))},Je=function(){if(this.ended)throw new v("stream has ended, this shouldn't happen");const t=o(this,oe,"f");if(!t)throw new v("request ended without sending any chunks");return R(this,oe,void 0),R(this,pe,[]),aa(t,o(this,re,"f"))},Ct=function(){var n;const t=(n=o(this,re,"f"))==null?void 0:n.response_format;return Ut(t)?t:null},xn=function(t){var n,r,a,i;let c=o(this,oe,"f");const{choices:l,...d}=t;c?Object.assign(c,d):c=R(this,oe,{...d,choices:[]});for(const{delta:y,finish_reason:u,index:g,logprobs:h=null,...b}of t.choices){let w=c.choices[g];if(w||(w=c.choices[g]={finish_reason:u,index:g,message:{},logprobs:h,...b}),h)if(!w.logprobs)w.logprobs=Object.assign({},h);else{const{content:O,refusal:I,...F}=h;Object.assign(w.logprobs,F),O&&((n=w.logprobs).content??(n.content=[]),w.logprobs.content.push(...O)),I&&((r=w.logprobs).refusal??(r.refusal=[]),w.logprobs.refusal.push(...I))}if(u&&(w.finish_reason=u,o(this,re,"f")&&cs(o(this,re,"f")))){if(u==="length")throw new Wn;if(u==="content_filter")throw new qn}if(Object.assign(w,b),!y)continue;const{content:C,refusal:E,function_call:m,role:_,tool_calls:p,...A}=y;if(Object.assign(w.message,A),E&&(w.message.refusal=(w.message.refusal||"")+E),_&&(w.message.role=_),m&&(w.message.function_call?(m.name&&(w.message.function_call.name=m.name),m.arguments&&((a=w.message.function_call).arguments??(a.arguments=""),w.message.function_call.arguments+=m.arguments)):w.message.function_call=m),C&&(w.message.content=(w.message.content||"")+C,!w.message.refusal&&o(this,D,"m",Ct).call(this)&&(w.message.parsed=bn(w.message.content))),p){w.message.tool_calls||(w.message.tool_calls=[]);for(const{index:O,id:I,type:F,function:x,...P}of p){const M=(i=w.message.tool_calls)[O]??(i[O]={});Object.assign(M,P),I&&(M.id=I),F&&(M.type=F),x&&(M.function??(M.function={name:x.name??"",arguments:""})),x!=null&&x.name&&(M.function.name=x.name),x!=null&&x.arguments&&(M.function.arguments+=x.arguments,zr(o(this,re,"f"),M)&&(M.function.parsed_arguments=bn(M.function.arguments)))}}}return c},Symbol.asyncIterator)](){const e=[],t=[];let n=!1;return this.on("chunk",r=>{const a=t.shift();a?a.resolve(r):e.push(r)}),this.on("end",()=>{n=!0;for(const r of t)r.resolve(void 0);t.length=0}),this.on("abort",r=>{n=!0;for(const a of t)a.reject(r);t.length=0}),this.on("error",r=>{n=!0;for(const a of t)a.reject(r);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((a,i)=>t.push({resolve:a,reject:i})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new ne(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function aa(s,e){const{id:t,choices:n,created:r,model:a,system_fingerprint:i,...c}=s,l={...c,id:t,choices:n.map(({message:d,finish_reason:y,index:u,logprobs:g,...h})=>{if(!y)throw new v(`missing finish_reason for choice ${u}`);const{content:b=null,function_call:w,tool_calls:C,...E}=d,m=d.role;if(!m)throw new v(`missing role for choice ${u}`);if(w){const{arguments:_,name:p}=w;if(_==null)throw new v(`missing function_call.arguments for choice ${u}`);if(!p)throw new v(`missing function_call.name for choice ${u}`);return{...h,message:{content:b,function_call:{arguments:_,name:p},role:m,refusal:d.refusal??null},finish_reason:y,index:u,logprobs:g}}return C?{...h,index:u,finish_reason:y,logprobs:g,message:{...E,role:m,content:b,refusal:d.refusal??null,tool_calls:C.map((_,p)=>{const{function:A,type:O,id:I,...F}=_,{arguments:x,name:P,...M}=A||{};if(I==null)throw new v(`missing choices[${u}].tool_calls[${p}].id +${Xe(s)}`);if(O==null)throw new v(`missing choices[${u}].tool_calls[${p}].type +${Xe(s)}`);if(P==null)throw new v(`missing choices[${u}].tool_calls[${p}].function.name +${Xe(s)}`);if(x==null)throw new v(`missing choices[${u}].tool_calls[${p}].function.arguments +${Xe(s)}`);return{...F,id:I,type:O,function:{...M,name:P,arguments:x}}})}}:{...h,message:{...E,content:b,role:m,refusal:d.refusal??null},finish_reason:y,index:u,logprobs:g}}),created:r,model:a,object:"chat.completion",...i?{system_fingerprint:i}:{}};return Kr(l,e)}function Xe(s){return JSON.stringify(s)}class ct extends je{static fromReadableStream(e){const t=new ct(null);return t._run(()=>t._fromReadableStream(e)),t}static runTools(e,t,n){const r=new ct(t),a={...n,headers:{...n==null?void 0:n.headers,"X-Stainless-Helper-Method":"runTools"}};return r._run(()=>r._runTools(e,t,a)),r}}let Jt=class extends ${constructor(){super(...arguments),this.messages=new as(this._client)}create(e,t){return this._client.post("/chat/completions",{body:e,...t,stream:e.stream??!1})}retrieve(e,t){return this._client.get(f`/chat/completions/${e}`,t)}update(e,t,n){return this._client.post(f`/chat/completions/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList("/chat/completions",L,{query:e,...t})}delete(e,t){return this._client.delete(f`/chat/completions/${e}`,t)}parse(e,t){return Yr(e.tools),this._client.chat.completions.create(e,{...t,headers:{...t==null?void 0:t.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(n=>Wt(n,e))}runTools(e,t){return e.stream?ct.runTools(this._client,e,t):qt.runTools(this._client,e,t)}stream(e,t){return je.createChatCompletion(this._client,e,t)}};Jt.Messages=as;class Xt extends ${constructor(){super(...arguments),this.completions=new Jt(this._client)}}Xt.Completions=Jt;const vs=Symbol("brand.privateNullableHeaders");function*ia(s){if(!s)return;if(vs in s){const{values:n,nulls:r}=s;yield*n.entries();for(const a of r)yield[a,null];return}let e=!1,t;s instanceof Headers?t=s.entries():on(s)?t=s:(e=!0,t=Object.entries(s??{}));for(let n of t){const r=n[0];if(typeof r!="string")throw new TypeError("expected header name to be a string");const a=on(n[1])?n[1]:[n[1]];let i=!1;for(const c of a)c!==void 0&&(e&&!i&&(i=!0,yield[r,null]),yield[r,c])}}const S=s=>{const e=new Headers,t=new Set;for(const n of s){const r=new Set;for(const[a,i]of ia(n)){const c=a.toLowerCase();r.has(c)||(e.delete(a),r.add(c)),i===null?(e.delete(a),t.add(c)):(e.append(a,i),t.delete(c))}}return{[vs]:!0,values:e,nulls:t}};class Is extends ${create(e,t){return this._client.post("/audio/speech",{body:e,...t,headers:S([{Accept:"application/octet-stream"},t==null?void 0:t.headers]),__binaryResponse:!0})}}class Rs extends ${create(e,t){return this._client.post("/audio/transcriptions",fe({body:e,...t,stream:e.stream??!1,__metadata:{model:e.model}},this._client))}}class $s extends ${create(e,t){return this._client.post("/audio/translations",fe({body:e,...t,__metadata:{model:e.model}},this._client))}}class De extends ${constructor(){super(...arguments),this.transcriptions=new Rs(this._client),this.translations=new $s(this._client),this.speech=new Is(this._client)}}De.Transcriptions=Rs;De.Translations=$s;De.Speech=Is;class Os extends ${create(e,t){return this._client.post("/batches",{body:e,...t})}retrieve(e,t){return this._client.get(f`/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/batches",L,{query:e,...t})}cancel(e,t){return this._client.post(f`/batches/${e}/cancel`,t)}}class ks extends ${create(e,t){return this._client.post("/assistants",{body:e,...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}retrieve(e,t){return this._client.get(f`/assistants/${e}`,{...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}update(e,t,n){return this._client.post(f`/assistants/${e}`,{body:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}list(e={},t){return this._client.getAPIList("/assistants",L,{query:e,...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}delete(e,t){return this._client.delete(f`/assistants/${e}`,{...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}}class Es extends ${create(e,t){return this._client.post("/realtime/sessions",{body:e,...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}}class Ps extends ${create(e,t){return this._client.post("/realtime/transcription_sessions",{body:e,...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}}class mt extends ${constructor(){super(...arguments),this.sessions=new Es(this._client),this.transcriptionSessions=new Ps(this._client)}}mt.Sessions=Es;mt.TranscriptionSessions=Ps;class Ts extends ${create(e,t,n){return this._client.post(f`/threads/${e}/messages`,{body:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}retrieve(e,t,n){const{thread_id:r}=t;return this._client.get(f`/threads/${r}/messages/${e}`,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}update(e,t,n){const{thread_id:r,...a}=t;return this._client.post(f`/threads/${r}/messages/${e}`,{body:a,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}list(e,t={},n){return this._client.getAPIList(f`/threads/${e}/messages`,L,{query:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}delete(e,t,n){const{thread_id:r}=t;return this._client.delete(f`/threads/${r}/messages/${e}`,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}}class Ms extends ${retrieve(e,t,n){const{thread_id:r,run_id:a,...i}=t;return this._client.get(f`/threads/${r}/runs/${a}/steps/${e}`,{query:i,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}list(e,t,n){const{thread_id:r,...a}=t;return this._client.getAPIList(f`/threads/${r}/runs/${e}/steps`,L,{query:a,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}}const oa=s=>{if(typeof Buffer<"u"){const e=Buffer.from(s,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{const e=atob(s),t=e.length,n=new Uint8Array(t);for(let r=0;r{var e,t,n,r;if(typeof globalThis.process<"u")return((e=vt==null?void 0:vt[s])==null?void 0:e.trim())??void 0;if(typeof globalThis.Deno<"u")return(r=(n=(t=globalThis.Deno.env)==null?void 0:t.get)==null?void 0:n.call(t,s))==null?void 0:r.trim()};var q,de,jt,te,Ze,Y,he,be,ue,lt,Q,et,tt,Me,Ee,Pe,Sn,An,Cn,vn,In,Rn,$n;class Ne extends Bt{constructor(){super(...arguments),q.add(this),jt.set(this,[]),te.set(this,{}),Ze.set(this,{}),Y.set(this,void 0),he.set(this,void 0),be.set(this,void 0),ue.set(this,void 0),lt.set(this,void 0),Q.set(this,void 0),et.set(this,void 0),tt.set(this,void 0),Me.set(this,void 0)}[(jt=new WeakMap,te=new WeakMap,Ze=new WeakMap,Y=new WeakMap,he=new WeakMap,be=new WeakMap,ue=new WeakMap,lt=new WeakMap,Q=new WeakMap,et=new WeakMap,tt=new WeakMap,Me=new WeakMap,q=new WeakSet,Symbol.asyncIterator)](){const e=[],t=[];let n=!1;return this.on("event",r=>{const a=t.shift();a?a.resolve(r):e.push(r)}),this.on("end",()=>{n=!0;for(const r of t)r.resolve(void 0);t.length=0}),this.on("abort",r=>{n=!0;for(const a of t)a.reject(r);t.length=0}),this.on("error",r=>{n=!0;for(const a of t)a.reject(r);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((a,i)=>t.push({resolve:a,reject:i})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){const t=new de;return t._run(()=>t._fromReadableStream(e)),t}async _fromReadableStream(e,t){var a;const n=t==null?void 0:t.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),this._connected();const r=ne.fromReadableStream(e,this.controller);for await(const i of r)o(this,q,"m",Ee).call(this,i);if((a=r.controller.signal)!=null&&a.aborted)throw new z;return this._addRun(o(this,q,"m",Pe).call(this))}toReadableStream(){return new ne(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,t,n,r){const a=new de;return a._run(()=>a._runToolAssistantStream(e,t,n,{...r,headers:{...r==null?void 0:r.headers,"X-Stainless-Helper-Method":"stream"}})),a}async _createToolAssistantStream(e,t,n,r){var l;const a=r==null?void 0:r.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));const i={...n,stream:!0},c=await e.submitToolOutputs(t,i,{...r,signal:this.controller.signal});this._connected();for await(const d of c)o(this,q,"m",Ee).call(this,d);if((l=c.controller.signal)!=null&&l.aborted)throw new z;return this._addRun(o(this,q,"m",Pe).call(this))}static createThreadAssistantStream(e,t,n){const r=new de;return r._run(()=>r._threadAssistantStream(e,t,{...n,headers:{...n==null?void 0:n.headers,"X-Stainless-Helper-Method":"stream"}})),r}static createAssistantStream(e,t,n,r){const a=new de;return a._run(()=>a._runAssistantStream(e,t,n,{...r,headers:{...r==null?void 0:r.headers,"X-Stainless-Helper-Method":"stream"}})),a}currentEvent(){return o(this,et,"f")}currentRun(){return o(this,tt,"f")}currentMessageSnapshot(){return o(this,Y,"f")}currentRunStepSnapshot(){return o(this,Me,"f")}async finalRunSteps(){return await this.done(),Object.values(o(this,te,"f"))}async finalMessages(){return await this.done(),Object.values(o(this,Ze,"f"))}async finalRun(){if(await this.done(),!o(this,he,"f"))throw Error("Final run was not received.");return o(this,he,"f")}async _createThreadAssistantStream(e,t,n){var c;const r=n==null?void 0:n.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort()));const a={...t,stream:!0},i=await e.createAndRun(a,{...n,signal:this.controller.signal});this._connected();for await(const l of i)o(this,q,"m",Ee).call(this,l);if((c=i.controller.signal)!=null&&c.aborted)throw new z;return this._addRun(o(this,q,"m",Pe).call(this))}async _createAssistantStream(e,t,n,r){var l;const a=r==null?void 0:r.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));const i={...n,stream:!0},c=await e.create(t,i,{...r,signal:this.controller.signal});this._connected();for await(const d of c)o(this,q,"m",Ee).call(this,d);if((l=c.controller.signal)!=null&&l.aborted)throw new z;return this._addRun(o(this,q,"m",Pe).call(this))}static accumulateDelta(e,t){for(const[n,r]of Object.entries(t)){if(!e.hasOwnProperty(n)){e[n]=r;continue}let a=e[n];if(a==null){e[n]=r;continue}if(n==="index"||n==="type"){e[n]=r;continue}if(typeof a=="string"&&typeof r=="string")a+=r;else if(typeof a=="number"&&typeof r=="number")a+=r;else if(_t(a)&&_t(r))a=this.accumulateDelta(a,r);else if(Array.isArray(a)&&Array.isArray(r)){if(a.every(i=>typeof i=="string"||typeof i=="number")){a.push(...r);continue}for(const i of r){if(!_t(i))throw new Error(`Expected array delta entry to be an object but got: ${i}`);const c=i.index;if(c==null)throw console.error(i),new Error("Expected array delta entry to have an `index` property");if(typeof c!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${c}`);const l=a[c];l==null?a.push(i):a[c]=this.accumulateDelta(l,i)}continue}else throw Error(`Unhandled record type: ${n}, deltaValue: ${r}, accValue: ${a}`);e[n]=a}return e}_addRun(e){return e}async _threadAssistantStream(e,t,n){return await this._createThreadAssistantStream(t,e,n)}async _runAssistantStream(e,t,n,r){return await this._createAssistantStream(t,e,n,r)}async _runToolAssistantStream(e,t,n,r){return await this._createToolAssistantStream(t,e,n,r)}}de=Ne,Ee=function(e){if(!this.ended)switch(R(this,et,e),o(this,q,"m",Cn).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":o(this,q,"m",$n).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":o(this,q,"m",An).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":o(this,q,"m",Sn).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier")}},Pe=function(){if(this.ended)throw new v("stream has ended, this shouldn't happen");if(!o(this,he,"f"))throw Error("Final run has not been received");return o(this,he,"f")},Sn=function(e){const[t,n]=o(this,q,"m",In).call(this,e,o(this,Y,"f"));R(this,Y,t),o(this,Ze,"f")[t.id]=t;for(const r of n){const a=t.content[r.index];(a==null?void 0:a.type)=="text"&&this._emit("textCreated",a.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,t),e.data.delta.content)for(const r of e.data.delta.content){if(r.type=="text"&&r.text){let a=r.text,i=t.content[r.index];if(i&&i.type=="text")this._emit("textDelta",a,i.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(r.index!=o(this,be,"f")){if(o(this,ue,"f"))switch(o(this,ue,"f").type){case"text":this._emit("textDone",o(this,ue,"f").text,o(this,Y,"f"));break;case"image_file":this._emit("imageFileDone",o(this,ue,"f").image_file,o(this,Y,"f"));break}R(this,be,r.index)}R(this,ue,t.content[r.index])}break;case"thread.message.completed":case"thread.message.incomplete":if(o(this,be,"f")!==void 0){const r=e.data.content[o(this,be,"f")];if(r)switch(r.type){case"image_file":this._emit("imageFileDone",r.image_file,o(this,Y,"f"));break;case"text":this._emit("textDone",r.text,o(this,Y,"f"));break}}o(this,Y,"f")&&this._emit("messageDone",e.data),R(this,Y,void 0)}},An=function(e){const t=o(this,q,"m",vn).call(this,e);switch(R(this,Me,t),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":const n=e.data.delta;if(n.step_details&&n.step_details.type=="tool_calls"&&n.step_details.tool_calls&&t.step_details.type=="tool_calls")for(const a of n.step_details.tool_calls)a.index==o(this,lt,"f")?this._emit("toolCallDelta",a,t.step_details.tool_calls[a.index]):(o(this,Q,"f")&&this._emit("toolCallDone",o(this,Q,"f")),R(this,lt,a.index),R(this,Q,t.step_details.tool_calls[a.index]),o(this,Q,"f")&&this._emit("toolCallCreated",o(this,Q,"f")));this._emit("runStepDelta",e.data.delta,t);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":R(this,Me,void 0),e.data.step_details.type=="tool_calls"&&o(this,Q,"f")&&(this._emit("toolCallDone",o(this,Q,"f")),R(this,Q,void 0)),this._emit("runStepDone",e.data,t);break}},Cn=function(e){o(this,jt,"f").push(e),this._emit("event",e)},vn=function(e){switch(e.event){case"thread.run.step.created":return o(this,te,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let t=o(this,te,"f")[e.data.id];if(!t)throw Error("Received a RunStepDelta before creation of a snapshot");let n=e.data;if(n.delta){const r=de.accumulateDelta(t,n.delta);o(this,te,"f")[e.data.id]=r}return o(this,te,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":o(this,te,"f")[e.data.id]=e.data;break}if(o(this,te,"f")[e.data.id])return o(this,te,"f")[e.data.id];throw new Error("No snapshot available")},In=function(e,t){let n=[];switch(e.event){case"thread.message.created":return[e.data,n];case"thread.message.delta":if(!t)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let r=e.data;if(r.delta.content)for(const a of r.delta.content)if(a.index in t.content){let i=t.content[a.index];t.content[a.index]=o(this,q,"m",Rn).call(this,a,i)}else t.content[a.index]=a,n.push(a);return[t,n];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(t)return[t,n];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},Rn=function(e,t){return de.accumulateDelta(t,e)},$n=function(e){switch(R(this,tt,e.data),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":R(this,he,e.data),o(this,Q,"f")&&(this._emit("toolCallDone",o(this,Q,"f")),R(this,Q,void 0));break}};let Ht=class extends ${constructor(){super(...arguments),this.steps=new Ms(this._client)}create(e,t,n){const{include:r,...a}=t;return this._client.post(f`/threads/${e}/runs`,{query:{include:r},body:a,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers]),stream:t.stream??!1})}retrieve(e,t,n){const{thread_id:r}=t;return this._client.get(f`/threads/${r}/runs/${e}`,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}update(e,t,n){const{thread_id:r,...a}=t;return this._client.post(f`/threads/${r}/runs/${e}`,{body:a,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}list(e,t={},n){return this._client.getAPIList(f`/threads/${e}/runs`,L,{query:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}cancel(e,t,n){const{thread_id:r}=t;return this._client.post(f`/threads/${r}/runs/${e}/cancel`,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}async createAndPoll(e,t,n){const r=await this.create(e,t,n);return await this.poll(r.id,{thread_id:e},n)}createAndStream(e,t,n){return Ne.createAssistantStream(e,this._client.beta.threads.runs,t,n)}async poll(e,t,n){var a;const r=S([n==null?void 0:n.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":((a=n==null?void 0:n.pollIntervalMs)==null?void 0:a.toString())??void 0}]);for(;;){const{data:i,response:c}=await this.retrieve(e,t,{...n,headers:{...n==null?void 0:n.headers,...r}}).withResponse();switch(i.status){case"queued":case"in_progress":case"cancelling":let l=5e3;if(n!=null&&n.pollIntervalMs)l=n.pollIntervalMs;else{const d=c.headers.get("openai-poll-after-ms");if(d){const y=parseInt(d);isNaN(y)||(l=y)}}await Fe(l);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return i}}}stream(e,t,n){return Ne.createAssistantStream(e,this._client.beta.threads.runs,t,n)}submitToolOutputs(e,t,n){const{thread_id:r,...a}=t;return this._client.post(f`/threads/${r}/runs/${e}/submit_tool_outputs`,{body:a,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers]),stream:t.stream??!1})}async submitToolOutputsAndPoll(e,t,n){const r=await this.submitToolOutputs(e,t,n);return await this.poll(r.id,t,n)}submitToolOutputsStream(e,t,n){return Ne.createToolAssistantStream(e,this._client.beta.threads.runs,t,n)}};Ht.Steps=Ms;class pt extends ${constructor(){super(...arguments),this.runs=new Ht(this._client),this.messages=new Ts(this._client)}create(e={},t){return this._client.post("/threads",{body:e,...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}retrieve(e,t){return this._client.get(f`/threads/${e}`,{...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}update(e,t,n){return this._client.post(f`/threads/${e}`,{body:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}delete(e,t){return this._client.delete(f`/threads/${e}`,{...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}createAndRun(e,t){return this._client.post("/threads/runs",{body:e,...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers]),stream:e.stream??!1})}async createAndRunPoll(e,t){const n=await this.createAndRun(e,t);return await this.runs.poll(n.id,{thread_id:n.thread_id},t)}createAndRunStream(e,t){return Ne.createThreadAssistantStream(e,this._client.beta.threads,t)}}pt.Runs=Ht;pt.Messages=Ts;class Be extends ${constructor(){super(...arguments),this.realtime=new mt(this._client),this.assistants=new ks(this._client),this.threads=new pt(this._client)}}Be.Realtime=mt;Be.Assistants=ks;Be.Threads=pt;class Ns extends ${create(e,t){return this._client.post("/completions",{body:e,...t,stream:e.stream??!1})}}class js extends ${retrieve(e,t,n){const{container_id:r}=t;return this._client.get(f`/containers/${r}/files/${e}/content`,{...n,headers:S([{Accept:"application/binary"},n==null?void 0:n.headers]),__binaryResponse:!0})}}let Vt=class extends ${constructor(){super(...arguments),this.content=new js(this._client)}create(e,t,n){return this._client.post(f`/containers/${e}/files`,fe({body:t,...n},this._client))}retrieve(e,t,n){const{container_id:r}=t;return this._client.get(f`/containers/${r}/files/${e}`,n)}list(e,t={},n){return this._client.getAPIList(f`/containers/${e}/files`,L,{query:t,...n})}delete(e,t,n){const{container_id:r}=t;return this._client.delete(f`/containers/${r}/files/${e}`,{...n,headers:S([{Accept:"*/*"},n==null?void 0:n.headers])})}};Vt.Content=js;class Kt extends ${constructor(){super(...arguments),this.files=new Vt(this._client)}create(e,t){return this._client.post("/containers",{body:e,...t})}retrieve(e,t){return this._client.get(f`/containers/${e}`,t)}list(e={},t){return this._client.getAPIList("/containers",L,{query:e,...t})}delete(e,t){return this._client.delete(f`/containers/${e}`,{...t,headers:S([{Accept:"*/*"},t==null?void 0:t.headers])})}}Kt.Files=Vt;class Fs extends ${create(e,t){const n=!!e.encoding_format;let r=n?e.encoding_format:"base64";n&&X(this._client).debug("embeddings/user defined encoding_format:",e.encoding_format);const a=this._client.post("/embeddings",{body:{...e,encoding_format:r},...t});return n?a:(X(this._client).debug("embeddings/decoding base64 embeddings from base64"),a._thenUnwrap(i=>(i&&i.data&&i.data.forEach(c=>{const l=c.embedding;c.embedding=oa(l)}),i)))}}class Ls extends ${retrieve(e,t,n){const{eval_id:r,run_id:a}=t;return this._client.get(f`/evals/${r}/runs/${a}/output_items/${e}`,n)}list(e,t,n){const{eval_id:r,...a}=t;return this._client.getAPIList(f`/evals/${r}/runs/${e}/output_items`,L,{query:a,...n})}}class Gt extends ${constructor(){super(...arguments),this.outputItems=new Ls(this._client)}create(e,t,n){return this._client.post(f`/evals/${e}/runs`,{body:t,...n})}retrieve(e,t,n){const{eval_id:r}=t;return this._client.get(f`/evals/${r}/runs/${e}`,n)}list(e,t={},n){return this._client.getAPIList(f`/evals/${e}/runs`,L,{query:t,...n})}delete(e,t,n){const{eval_id:r}=t;return this._client.delete(f`/evals/${r}/runs/${e}`,n)}cancel(e,t,n){const{eval_id:r}=t;return this._client.post(f`/evals/${r}/runs/${e}`,n)}}Gt.OutputItems=Ls;class Qt extends ${constructor(){super(...arguments),this.runs=new Gt(this._client)}create(e,t){return this._client.post("/evals",{body:e,...t})}retrieve(e,t){return this._client.get(f`/evals/${e}`,t)}update(e,t,n){return this._client.post(f`/evals/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList("/evals",L,{query:e,...t})}delete(e,t){return this._client.delete(f`/evals/${e}`,t)}}Qt.Runs=Gt;let Ds=class extends ${create(e,t){return this._client.post("/files",fe({body:e,...t},this._client))}retrieve(e,t){return this._client.get(f`/files/${e}`,t)}list(e={},t){return this._client.getAPIList("/files",L,{query:e,...t})}delete(e,t){return this._client.delete(f`/files/${e}`,t)}content(e,t){return this._client.get(f`/files/${e}/content`,{...t,headers:S([{Accept:"application/binary"},t==null?void 0:t.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:t=5e3,maxWait:n=30*60*1e3}={}){const r=new Set(["processed","error","deleted"]),a=Date.now();let i=await this.retrieve(e);for(;!i.status||!r.has(i.status);)if(await Fe(t),i=await this.retrieve(e),Date.now()-a>n)throw new Lt({message:`Giving up on waiting for file ${e} to finish processing after ${n} milliseconds.`});return i}};class Bs extends ${}let Us=class extends ${run(e,t){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...t})}validate(e,t){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...t})}};class zt extends ${constructor(){super(...arguments),this.graders=new Us(this._client)}}zt.Graders=Us;class Ws extends ${create(e,t,n){return this._client.getAPIList(f`/fine_tuning/checkpoints/${e}/permissions`,ft,{body:t,method:"post",...n})}retrieve(e,t={},n){return this._client.getAPIList(f`/fine_tuning/checkpoints/${e}/permissions`,L,{query:t,...n})}delete(e,t,n){const{fine_tuned_model_checkpoint:r}=t;return this._client.delete(f`/fine_tuning/checkpoints/${r}/permissions/${e}`,n)}}let Yt=class extends ${constructor(){super(...arguments),this.permissions=new Ws(this._client)}};Yt.Permissions=Ws;class qs extends ${list(e,t={},n){return this._client.getAPIList(f`/fine_tuning/jobs/${e}/checkpoints`,L,{query:t,...n})}}class Zt extends ${constructor(){super(...arguments),this.checkpoints=new qs(this._client)}create(e,t){return this._client.post("/fine_tuning/jobs",{body:e,...t})}retrieve(e,t){return this._client.get(f`/fine_tuning/jobs/${e}`,t)}list(e={},t){return this._client.getAPIList("/fine_tuning/jobs",L,{query:e,...t})}cancel(e,t){return this._client.post(f`/fine_tuning/jobs/${e}/cancel`,t)}listEvents(e,t={},n){return this._client.getAPIList(f`/fine_tuning/jobs/${e}/events`,L,{query:t,...n})}pause(e,t){return this._client.post(f`/fine_tuning/jobs/${e}/pause`,t)}resume(e,t){return this._client.post(f`/fine_tuning/jobs/${e}/resume`,t)}}Zt.Checkpoints=qs;class xe extends ${constructor(){super(...arguments),this.methods=new Bs(this._client),this.jobs=new Zt(this._client),this.checkpoints=new Yt(this._client),this.alpha=new zt(this._client)}}xe.Methods=Bs;xe.Jobs=Zt;xe.Checkpoints=Yt;xe.Alpha=zt;class Js extends ${}class en extends ${constructor(){super(...arguments),this.graderModels=new Js(this._client)}}en.GraderModels=Js;class Xs extends ${createVariation(e,t){return this._client.post("/images/variations",fe({body:e,...t},this._client))}edit(e,t){return this._client.post("/images/edits",fe({body:e,...t},this._client))}generate(e,t){return this._client.post("/images/generations",{body:e,...t})}}class Hs extends ${retrieve(e,t){return this._client.get(f`/models/${e}`,t)}list(e){return this._client.getAPIList("/models",ft,e)}delete(e,t){return this._client.delete(f`/models/${e}`,t)}}class Vs extends ${create(e,t){return this._client.post("/moderations",{body:e,...t})}}function ca(s,e){return!e||!ua(e)?{...s,output_parsed:null,output:s.output.map(t=>t.type==="function_call"?{...t,parsed_arguments:null}:t.type==="message"?{...t,content:t.content.map(n=>({...n,parsed:null}))}:t)}:Ks(s,e)}function Ks(s,e){const t=s.output.map(r=>{if(r.type==="function_call")return{...r,parsed_arguments:fa(e,r)};if(r.type==="message"){const a=r.content.map(i=>i.type==="output_text"?{...i,parsed:la(e,i.text)}:i);return{...r,content:a}}return r}),n=Object.assign({},s,{output:t});return Object.getOwnPropertyDescriptor(s,"output_text")||Gs(n),Object.defineProperty(n,"output_parsed",{enumerable:!0,get(){for(const r of n.output)if(r.type==="message"){for(const a of r.content)if(a.type==="output_text"&&a.parsed!==null)return a.parsed}return null}}),n}function la(s,e){var t,n,r,a;return((n=(t=s.text)==null?void 0:t.format)==null?void 0:n.type)!=="json_schema"?null:"$parseRaw"in((r=s.text)==null?void 0:r.format)?((a=s.text)==null?void 0:a.format).$parseRaw(e):JSON.parse(e)}function ua(s){var e;return!!Ut((e=s.text)==null?void 0:e.format)}function da(s){return(s==null?void 0:s.$brand)==="auto-parseable-tool"}function ha(s,e){return s.find(t=>t.type==="function"&&t.name===e)}function fa(s,e){const t=ha(s.tools??[],e.name);return{...e,...e,parsed_arguments:da(t)?t.$parseRaw(e.arguments):t!=null&&t.strict?JSON.parse(e.arguments):null}}function Gs(s){const e=[];for(const t of s.output)if(t.type==="message")for(const n of t.content)n.type==="output_text"&&e.push(n.text);s.output_text=e.join("")}var ge,He,ce,Ve,On,kn,En,Pn;class tn extends Bt{constructor(e){super(),ge.add(this),He.set(this,void 0),ce.set(this,void 0),Ve.set(this,void 0),R(this,He,e)}static createResponse(e,t,n){const r=new tn(t);return r._run(()=>r._createOrRetrieveResponse(e,t,{...n,headers:{...n==null?void 0:n.headers,"X-Stainless-Helper-Method":"stream"}})),r}async _createOrRetrieveResponse(e,t,n){var c;const r=n==null?void 0:n.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),o(this,ge,"m",On).call(this);let a,i=null;"response_id"in t?(a=await e.responses.retrieve(t.response_id,{stream:!0},{...n,signal:this.controller.signal,stream:!0}),i=t.starting_after??null):a=await e.responses.create({...t,stream:!0},{...n,signal:this.controller.signal}),this._connected();for await(const l of a)o(this,ge,"m",kn).call(this,l,i);if((c=a.controller.signal)!=null&&c.aborted)throw new z;return o(this,ge,"m",En).call(this)}[(He=new WeakMap,ce=new WeakMap,Ve=new WeakMap,ge=new WeakSet,On=function(){this.ended||R(this,ce,void 0)},kn=function(t,n){if(this.ended)return;const r=(i,c)=>{(n==null||c.sequence_number>n)&&this._emit(i,c)},a=o(this,ge,"m",Pn).call(this,t);switch(r("event",t),t.type){case"response.output_text.delta":{const i=a.output[t.output_index];if(!i)throw new v(`missing output at index ${t.output_index}`);if(i.type==="message"){const c=i.content[t.content_index];if(!c)throw new v(`missing content at index ${t.content_index}`);if(c.type!=="output_text")throw new v(`expected content to be 'output_text', got ${c.type}`);r("response.output_text.delta",{...t,snapshot:c.text})}break}case"response.function_call_arguments.delta":{const i=a.output[t.output_index];if(!i)throw new v(`missing output at index ${t.output_index}`);i.type==="function_call"&&r("response.function_call_arguments.delta",{...t,snapshot:i.arguments});break}default:r(t.type,t);break}},En=function(){if(this.ended)throw new v("stream has ended, this shouldn't happen");const t=o(this,ce,"f");if(!t)throw new v("request ended without sending any events");R(this,ce,void 0);const n=ma(t,o(this,He,"f"));return R(this,Ve,n),n},Pn=function(t){let n=o(this,ce,"f");if(!n){if(t.type!=="response.created")throw new v(`When snapshot hasn't been set yet, expected 'response.created' event, got ${t.type}`);return n=R(this,ce,t.response),n}switch(t.type){case"response.output_item.added":{n.output.push(t.item);break}case"response.content_part.added":{const r=n.output[t.output_index];if(!r)throw new v(`missing output at index ${t.output_index}`);r.type==="message"&&r.content.push(t.part);break}case"response.output_text.delta":{const r=n.output[t.output_index];if(!r)throw new v(`missing output at index ${t.output_index}`);if(r.type==="message"){const a=r.content[t.content_index];if(!a)throw new v(`missing content at index ${t.content_index}`);if(a.type!=="output_text")throw new v(`expected content to be 'output_text', got ${a.type}`);a.text+=t.delta}break}case"response.function_call_arguments.delta":{const r=n.output[t.output_index];if(!r)throw new v(`missing output at index ${t.output_index}`);r.type==="function_call"&&(r.arguments+=t.delta);break}case"response.completed":{R(this,ce,t.response);break}}return n},Symbol.asyncIterator)](){const e=[],t=[];let n=!1;return this.on("event",r=>{const a=t.shift();a?a.resolve(r):e.push(r)}),this.on("end",()=>{n=!0;for(const r of t)r.resolve(void 0);t.length=0}),this.on("abort",r=>{n=!0;for(const a of t)a.reject(r);t.length=0}),this.on("error",r=>{n=!0;for(const a of t)a.reject(r);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((a,i)=>t.push({resolve:a,reject:i})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();const e=o(this,Ve,"f");if(!e)throw new v("stream ended without producing a ChatCompletion");return e}}function ma(s,e){return ca(s,e)}class Qs extends ${list(e,t={},n){return this._client.getAPIList(f`/responses/${e}/input_items`,L,{query:t,...n})}}class nn extends ${constructor(){super(...arguments),this.inputItems=new Qs(this._client)}create(e,t){return this._client.post("/responses",{body:e,...t,stream:e.stream??!1})._thenUnwrap(n=>("object"in n&&n.object==="response"&&Gs(n),n))}retrieve(e,t={},n){return this._client.get(f`/responses/${e}`,{query:t,...n,stream:(t==null?void 0:t.stream)??!1})}delete(e,t){return this._client.delete(f`/responses/${e}`,{...t,headers:S([{Accept:"*/*"},t==null?void 0:t.headers])})}parse(e,t){return this._client.responses.create(e,t)._thenUnwrap(n=>Ks(n,e))}stream(e,t){return tn.createResponse(this._client,e,t)}cancel(e,t){return this._client.post(f`/responses/${e}/cancel`,t)}}nn.InputItems=Qs;class zs extends ${create(e,t,n){return this._client.post(f`/uploads/${e}/parts`,fe({body:t,...n},this._client))}}class sn extends ${constructor(){super(...arguments),this.parts=new zs(this._client)}create(e,t){return this._client.post("/uploads",{body:e,...t})}cancel(e,t){return this._client.post(f`/uploads/${e}/cancel`,t)}complete(e,t,n){return this._client.post(f`/uploads/${e}/complete`,{body:t,...n})}}sn.Parts=zs;const pa=async s=>{const e=await Promise.allSettled(s),t=e.filter(r=>r.status==="rejected");if(t.length){for(const r of t)console.error(r.reason);throw new Error(`${t.length} promise(s) failed - see the above errors`)}const n=[];for(const r of e)r.status==="fulfilled"&&n.push(r.value);return n};class Ys extends ${create(e,t,n){return this._client.post(f`/vector_stores/${e}/file_batches`,{body:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}retrieve(e,t,n){const{vector_store_id:r}=t;return this._client.get(f`/vector_stores/${r}/file_batches/${e}`,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}cancel(e,t,n){const{vector_store_id:r}=t;return this._client.post(f`/vector_stores/${r}/file_batches/${e}/cancel`,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}async createAndPoll(e,t,n){const r=await this.create(e,t);return await this.poll(e,r.id,n)}listFiles(e,t,n){const{vector_store_id:r,...a}=t;return this._client.getAPIList(f`/vector_stores/${r}/file_batches/${e}/files`,L,{query:a,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}async poll(e,t,n){var a;const r=S([n==null?void 0:n.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":((a=n==null?void 0:n.pollIntervalMs)==null?void 0:a.toString())??void 0}]);for(;;){const{data:i,response:c}=await this.retrieve(t,{vector_store_id:e},{...n,headers:r}).withResponse();switch(i.status){case"in_progress":let l=5e3;if(n!=null&&n.pollIntervalMs)l=n.pollIntervalMs;else{const d=c.headers.get("openai-poll-after-ms");if(d){const y=parseInt(d);isNaN(y)||(l=y)}}await Fe(l);break;case"failed":case"cancelled":case"completed":return i}}}async uploadAndPoll(e,{files:t,fileIds:n=[]},r){if(t==null||t.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");const a=(r==null?void 0:r.maxConcurrency)??5,i=Math.min(a,t.length),c=this._client,l=t.values(),d=[...n];async function y(g){for(let h of g){const b=await c.files.create({file:h,purpose:"assistants"},r);d.push(b.id)}}const u=Array(i).fill(l).map(y);return await pa(u),await this.createAndPoll(e,{file_ids:d})}}class Zs extends ${create(e,t,n){return this._client.post(f`/vector_stores/${e}/files`,{body:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}retrieve(e,t,n){const{vector_store_id:r}=t;return this._client.get(f`/vector_stores/${r}/files/${e}`,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}update(e,t,n){const{vector_store_id:r,...a}=t;return this._client.post(f`/vector_stores/${r}/files/${e}`,{body:a,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}list(e,t={},n){return this._client.getAPIList(f`/vector_stores/${e}/files`,L,{query:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}delete(e,t,n){const{vector_store_id:r}=t;return this._client.delete(f`/vector_stores/${r}/files/${e}`,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}async createAndPoll(e,t,n){const r=await this.create(e,t,n);return await this.poll(e,r.id,n)}async poll(e,t,n){var a;const r=S([n==null?void 0:n.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":((a=n==null?void 0:n.pollIntervalMs)==null?void 0:a.toString())??void 0}]);for(;;){const i=await this.retrieve(t,{vector_store_id:e},{...n,headers:r}).withResponse(),c=i.data;switch(c.status){case"in_progress":let l=5e3;if(n!=null&&n.pollIntervalMs)l=n.pollIntervalMs;else{const d=i.response.headers.get("openai-poll-after-ms");if(d){const y=parseInt(d);isNaN(y)||(l=y)}}await Fe(l);break;case"failed":case"completed":return c}}}async upload(e,t,n){const r=await this._client.files.create({file:t,purpose:"assistants"},n);return this.create(e,{file_id:r.id},n)}async uploadAndPoll(e,t,n){const r=await this.upload(e,t,n);return await this.poll(e,r.id,n)}content(e,t,n){const{vector_store_id:r}=t;return this._client.getAPIList(f`/vector_stores/${r}/files/${e}/content`,ft,{...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}}class gt extends ${constructor(){super(...arguments),this.files=new Zs(this._client),this.fileBatches=new Ys(this._client)}create(e,t){return this._client.post("/vector_stores",{body:e,...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}retrieve(e,t){return this._client.get(f`/vector_stores/${e}`,{...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}update(e,t,n){return this._client.post(f`/vector_stores/${e}`,{body:t,...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}list(e={},t){return this._client.getAPIList("/vector_stores",L,{query:e,...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}delete(e,t){return this._client.delete(f`/vector_stores/${e}`,{...t,headers:S([{"OpenAI-Beta":"assistants=v2"},t==null?void 0:t.headers])})}search(e,t,n){return this._client.getAPIList(f`/vector_stores/${e}/search`,ft,{body:t,method:"post",...n,headers:S([{"OpenAI-Beta":"assistants=v2"},n==null?void 0:n.headers])})}}gt.Files=Zs;gt.FileBatches=Ys;var Ft,rn,nt,er;class T{constructor({baseURL:e=Ce("OPENAI_BASE_URL"),apiKey:t=Ce("OPENAI_API_KEY"),organization:n=Ce("OPENAI_ORG_ID")??null,project:r=Ce("OPENAI_PROJECT_ID")??null,...a}={}){if(Ft.add(this),nt.set(this,void 0),this.completions=new Ns(this),this.chat=new Xt(this),this.embeddings=new Fs(this),this.files=new Ds(this),this.images=new Xs(this),this.audio=new De(this),this.moderations=new Vs(this),this.models=new Hs(this),this.fineTuning=new xe(this),this.graders=new en(this),this.vectorStores=new gt(this),this.beta=new Be(this),this.batches=new Os(this),this.uploads=new sn(this),this.responses=new nn(this),this.evals=new Qt(this),this.containers=new Kt(this),t===void 0)throw new v("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");const i={apiKey:t,organization:n,project:r,...a,baseURL:e||"https://api.openai.com/v1"};if(!i.dangerouslyAllowBrowser&&gr())throw new v(`It looks like you're running in a browser-like environment. + +This is disabled by default, as it risks exposing your secret API credentials to attackers. +If you understand the risks and have appropriate mitigations in place, +you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g., + +new OpenAI({ apiKey, dangerouslyAllowBrowser: true }); + +https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety +`);this.baseURL=i.baseURL,this.timeout=i.timeout??rn.DEFAULT_TIMEOUT,this.logger=i.logger??console;const c="warn";this.logLevel=c,this.logLevel=_n(i.logLevel,"ClientOptions.logLevel",this)??_n(Ce("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??c,this.fetchOptions=i.fetchOptions,this.maxRetries=i.maxRetries??2,this.fetch=i.fetch??xr(),R(this,nt,Ar),this._options=i,this.apiKey=t,this.organization=n,this.project=r}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){}authHeaders(e){return S([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return Or(e,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${ye}`}defaultIdempotencyKey(){return`stainless-node-retry-${Tn()}`}makeStatusError(e,t,n,r){return J.generate(e,t,n,r)}buildURL(e,t,n){const r=!o(this,Ft,"m",er).call(this)&&n||this.baseURL,a=ur(e)?new URL(e):new URL(r+(r.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),i=this.defaultQuery();return hr(i)||(t={...i,...t}),typeof t=="object"&&t&&!Array.isArray(t)&&(a.search=this.stringifyQuery(t)),a.toString()}async prepareOptions(e){}async prepareRequest(e,{url:t,options:n}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,n){return this.request(Promise.resolve(n).then(r=>({method:e,path:t,...r})))}request(e,t=null){return new ht(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,n){var E,m;const r=await e,a=r.maxRetries??this.maxRetries;t==null&&(t=a),await this.prepareOptions(r);const{req:i,url:c,timeout:l}=this.buildRequest(r,{retryCount:a-t});await this.prepareRequest(i,{url:c,options:r});const d="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),y=n===void 0?"":`, retryOf: ${n}`,u=Date.now();if(X(this).debug(`[${d}] sending request`,le({retryOfRequestLogID:n,method:r.method,url:c,options:r,headers:i.headers})),(E=r.signal)!=null&&E.aborted)throw new z;const g=new AbortController,h=await this.fetchWithTimeout(c,i,l,g).catch(Rt),b=Date.now();if(h instanceof Error){const _=`retrying, ${t} attempts remaining`;if((m=r.signal)!=null&&m.aborted)throw new z;const p=It(h)||/timed? ?out/i.test(String(h)+("cause"in h?String(h.cause):""));if(t)return X(this).info(`[${d}] connection ${p?"timed out":"failed"} - ${_}`),X(this).debug(`[${d}] connection ${p?"timed out":"failed"} (${_})`,le({retryOfRequestLogID:n,url:c,durationMs:b-u,message:h.message})),this.retryRequest(r,t,n??d);throw X(this).info(`[${d}] connection ${p?"timed out":"failed"} - error; no more retries left`),X(this).debug(`[${d}] connection ${p?"timed out":"failed"} (error; no more retries left)`,le({retryOfRequestLogID:n,url:c,durationMs:b-u,message:h.message})),p?new Lt:new ut({cause:h})}const w=[...h.headers.entries()].filter(([_])=>_==="x-request-id").map(([_,p])=>", "+_+": "+JSON.stringify(p)).join(""),C=`[${d}${y}${w}] ${i.method} ${c} ${h.ok?"succeeded":"failed"} with status ${h.status} in ${b-u}ms`;if(!h.ok){const _=this.shouldRetry(h);if(t&&_){const x=`retrying, ${t} attempts remaining`;return await Sr(h.body),X(this).info(`${C} - ${x}`),X(this).debug(`[${d}] response error (${x})`,le({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,durationMs:b-u})),this.retryRequest(r,t,n??d,h.headers)}const p=_?"error; no more retries left":"error; not retryable";X(this).info(`${C} - ${p}`);const A=await h.text().catch(x=>Rt(x).message),O=pr(A),I=O?void 0:A;throw X(this).debug(`[${d}] response error (${p})`,le({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,message:I,durationMs:Date.now()-u})),this.makeStatusError(h.status,O,I,h.headers)}return X(this).info(C),X(this).debug(`[${d}] response start`,le({retryOfRequestLogID:n,url:h.url,status:h.status,headers:h.headers,durationMs:b-u})),{response:h,options:r,controller:g,requestLogID:d,retryOfRequestLogID:n,startTime:u}}getAPIList(e,t,n){return this.requestAPIList(t,{method:"get",path:e,...n})}requestAPIList(e,t){const n=this.makeRequest(t,null,void 0);return new Lr(this,n,e)}async fetchWithTimeout(e,t,n,r){const{signal:a,method:i,...c}=t||{};a&&a.addEventListener("abort",()=>r.abort());const l=setTimeout(()=>r.abort(),n),d=globalThis.ReadableStream&&c.body instanceof globalThis.ReadableStream||typeof c.body=="object"&&c.body!==null&&Symbol.asyncIterator in c.body,y={signal:r.signal,...d?{duplex:"half"}:{},method:"GET",...c};i&&(y.method=i.toUpperCase());try{return await this.fetch.call(void 0,e,y)}finally{clearTimeout(l)}}shouldRetry(e){const t=e.headers.get("x-should-retry");return t==="true"?!0:t==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,t,n,r){let a;const i=r==null?void 0:r.get("retry-after-ms");if(i){const l=parseFloat(i);Number.isNaN(l)||(a=l)}const c=r==null?void 0:r.get("retry-after");if(c&&!a){const l=parseFloat(c);Number.isNaN(l)?a=Date.parse(c)-Date.now():a=l*1e3}if(!(a&&0<=a&&a<60*1e3)){const l=e.maxRetries??this.maxRetries;a=this.calculateDefaultRetryTimeoutMillis(t,l)}return await Fe(a),this.makeRequest(e,t-1,n)}calculateDefaultRetryTimeoutMillis(e,t){const a=t-e,i=Math.min(.5*Math.pow(2,a),8),c=1-Math.random()*.25;return i*c*1e3}buildRequest(e,{retryCount:t=0}={}){const n={...e},{method:r,path:a,query:i,defaultBaseURL:c}=n,l=this.buildURL(a,i,c);"timeout"in n&&mr("timeout",n.timeout),n.timeout=n.timeout??this.timeout;const{bodyHeaders:d,body:y}=this.buildBody({options:n}),u=this.buildHeaders({options:e,method:r,bodyHeaders:d,retryCount:t});return{req:{method:r,headers:u,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&y instanceof globalThis.ReadableStream&&{duplex:"half"},...y&&{body:y},...this.fetchOptions??{},...n.fetchOptions??{}},url:l,timeout:n.timeout}}buildHeaders({options:e,method:t,bodyHeaders:n,retryCount:r}){let a={};this.idempotencyHeader&&t!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),a[this.idempotencyHeader]=e.idempotencyKey);const i=S([a,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(r),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...br(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(i),i.values}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};const n=S([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&n.values.has("content-type")||e instanceof Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:Xn(e)}:o(this,nt,"f").call(this,{body:e,headers:n})}}rn=T,nt=new WeakMap,Ft=new WeakSet,er=function(){return this.baseURL!=="https://api.openai.com/v1"};T.OpenAI=rn;T.DEFAULT_TIMEOUT=6e5;T.OpenAIError=v;T.APIError=J;T.APIConnectionError=ut;T.APIConnectionTimeoutError=Lt;T.APIUserAbortError=z;T.NotFoundError=Fn;T.ConflictError=Ln;T.RateLimitError=Bn;T.BadRequestError=Mn;T.AuthenticationError=Nn;T.InternalServerError=Un;T.PermissionDeniedError=jn;T.UnprocessableEntityError=Dn;T.toFile=Jr;T.Completions=Ns;T.Chat=Xt;T.Embeddings=Fs;T.Files=Ds;T.Images=Xs;T.Audio=De;T.Moderations=Vs;T.Models=Hs;T.FineTuning=xe;T.Graders=en;T.VectorStores=gt;T.Beta=Be;T.Batches=Os;T.Uploads=sn;T.Responses=nn;T.Evals=Qt;T.Containers=Kt;const ga=rr(()=>import("./docs-BrInh2Pn.js"),[],import.meta.url);let Ke=null;async function _a(s){if(Ke)return Ke;const e=await s.getObjectViewSystem("state","","香"),t=await s.getObjectViewSystem("channel","","香"),n=await s.getObjectViewSystem("device","","香"),r=await s.getObjectViewSystem("folder","","香"),a=await s.getObjectViewSystem("enum","","香");return Ke=Object.assign(e,t,n,r,a),Ke}function _e(s,e){return s&&typeof s=="object"?s[e]||s.en:s||""}async function ya(s){var b,w,C,E;const e=W.I18n.getLanguage(),t=await _a(s),n=Object.keys(t).sort(),r=new ar,a=[],i=["UNREACH_STICKY"],c=[ir.Types.info],l=[],d=[],y=[],u=[];n.forEach(m=>{var _,p,A;((_=t[m])==null?void 0:_.type)==="enum"?l.push(m):(A=(p=t[m])==null?void 0:p.common)!=null&&A.smartName&&u.push(m)}),l.forEach(m=>{m.startsWith("enum.rooms.")?d.push(m):m.startsWith("enum.functions.")&&y.push(m);const _=t[m].common.members;_!=null&&_.length&&_.forEach(p=>{t[p]&&(u.includes(p)||u.push(p))})});const g={id:"",objects:t,_keysOptional:n,_usedIdsOptional:a,ignoreIndicators:i,excludedTypes:c},h=[];u.forEach(m=>{g.id=m;const _=r.detect(g);_&&_.forEach(p=>{var me;const A=(me=p.states.find(N=>N.id))==null?void 0:me.id;if(!A||h.find(N=>N.id===A))return;const O=t[A],I={id:A,name:_e(O.common.name,e),type:O.type,deviceType:p.type,states:p.states.filter(N=>N.id).map(N=>({id:N.id,name:N.name,role:N.defaultRole,type:t[N.id].common.type,unit:t[N.id].common.unit,read:t[N.id].common.read===void 0?!0:t[N.id].common.read,write:t[N.id].common.write===void 0?!0:t[N.id].common.write}))},F=A.split(".");let x,P;(O.type==="channel"||O.type==="state")&&(F.pop(),x=F.join("."),t[x]&&(t[x].type==="channel"||t[x].type==="folder")?(F.pop(),P=F.join("."),(!t[P]||t[P].type!=="device"&&t[x].type!=="folder")&&(P=void 0)):x=void 0);const M=d.find(N=>{var ie,Se,Ae;return(ie=t[N].common.members)!=null&&ie.includes(A)||x&&((Se=t[N].common.members)!=null&&Se.includes(x))?!0:P&&((Ae=t[N].common.members)==null?void 0:Ae.includes(P))});M&&(I.room=_e(t[M].common.name,e));const se=y.find(N=>{var ie,Se,Ae;return(ie=t[N].common.members)!=null&&ie.includes(A)||x&&((Se=t[N].common.members)!=null&&Se.includes(x))?!0:P&&((Ae=t[N].common.members)==null?void 0:Ae.includes(P))});se&&(I.function=_e(t[se].common.name,e)),h.push(I)})});for(let m=0;m(await ga).default,ba={ru:"Russian",en:"English",de:"German",es:"Spanish",fr:"French",it:"Italian",pl:"Polish",nl:"Dutch",pt:"Portuguese",uk:"Ukrainian","zh-cn":"Chinese"},La=s=>{const[e,t]=Z.useState(window.localStorage.getItem("openai-question")||""),[n,r]=Z.useState(""),[a,i]=Z.useState(!1),[c,l]=Z.useState(!1),[d,y]=Z.useState(window.localStorage.getItem("openai-model")||"gpt-4o"),[u,g]=Z.useState(!1),h=Z.useRef(null),b=Z.useRef(null),w=Z.useRef(null),C=Z.useCallback(async()=>{var p;let E;h.current?E=h.current:(E=await ya(s.socket),h.current=E,console.log(`devices: ${JSON.stringify(E,null,2)}`));let m;if(b.current)m=b.current;else{const A=Object.keys(s.runningInstances);for(let O=0;OM.trim());for(;P[0]==="";)P.shift();x=`${P.map(M=>`// ${M}`).join(` +`)} +${x}`}console.log(I),r(x||"")}catch(A){console.log(JSON.stringify(A)),A.error&&l(A.error.message),console.error(`Cannot request: ${A}, ${JSON.stringify(A.error||A,null,2)}`)}i(!1)},[e,d,s.runningInstances,s.socket]);return k.jsxs(j.Dialog,{maxWidth:"lg",sx:{"& .MuiDialog-paper":{height:"calc(100% - 100px)"}},open:!0,onClose:()=>s.onClose(),fullWidth:!0,children:[u&&k.jsxs(j.Dialog,{maxWidth:"lg",open:!0,onClose:()=>g(!1),fullWidth:!0,children:[k.jsx(j.DialogTitle,{children:W.I18n.t("No Chat GPT Key found")}),k.jsxs(j.DialogContent,{style:{display:"flex",flexDirection:"column",gap:8},children:[k.jsx("div",{children:W.I18n.t("You have to enter OpenAI API key in the configuration of javascript adapter.")}),k.jsx(j.Button,{variant:"contained",onClick:()=>{const E=Object.keys(s.runningInstances);window.open(`../../#tab-instances/config/${E[0]||"system.adapter.javascript.0"}`,"_blank"),g(!1)},children:W.I18n.t("Open configuration")})]}),k.jsx(j.DialogActions,{children:k.jsx(j.Button,{variant:"contained",startIcon:k.jsx(an,{}),onClick:()=>g(!1),children:W.I18n.t("Close")})})]}),k.jsx(j.DialogTitle,{children:W.I18n.t("AI code generator")}),k.jsxs(j.DialogContent,{style:{display:"flex",flexDirection:"column",gap:8,height:"100%"},children:[k.jsx("div",{children:k.jsx(j.TextField,{variant:"standard",multiline:!0,autoFocus:!0,disabled:a,fullWidth:!0,onKeyUp:E=>{E.key==="Enter"&&E.ctrlKey&&C()},label:W.I18n.t("Enter your question"),helperText:W.I18n.t("Press Ctrl+Enter to get the answer"),value:e,onChange:E=>{window.localStorage.setItem("openai-question",E.target.value),t(E.target.value)}})}),k.jsxs("div",{style:{display:"flex",alignItems:"baseline"},children:[k.jsx(j.Button,{variant:"contained",disabled:a||!e,startIcon:k.jsx(cr,{}),onClick:async()=>C(),children:a?k.jsx(j.CircularProgress,{size:24}):W.I18n.t("Ask")}),k.jsxs(j.FormControl,{style:{width:150,marginLeft:20},variant:"standard",children:[k.jsx(j.InputLabel,{children:W.I18n.t("Model")}),k.jsxs(j.Select,{variant:"standard",value:d,onChange:E=>{window.localStorage.setItem("openai-model",E.target.value),c&&l(!1),y(E.target.value)},children:[k.jsx(j.MenuItem,{value:"gpt-4o",children:"GPT-4o"}),k.jsx(j.MenuItem,{value:"gpt-4-turbo",children:"GPT-4 Turbo"}),k.jsx(j.MenuItem,{value:"gpt-4-32k",children:"GPT-4 32k"}),k.jsx(j.MenuItem,{value:"gpt-4",children:"GPT-4"}),k.jsx(j.MenuItem,{value:"gpt-3.5-turbo-16k",children:"GPT-3.5 Turbo"})]})]})]}),k.jsx("div",{children:W.I18n.t("Result")}),k.jsx("div",{style:{height:"calc(100% - 155px)"},children:c?k.jsx("div",{style:{color:s.themeType==="dark"?"#984242":"#bb0000"},children:c}):k.jsx(or,{triggerPrettier:1,adapterName:s.adapterName,runningInstances:s.runningInstances,style:{height:"100%",width:"100%",resize:"none"},name:"ai",socket:s.socket,readOnly:!0,checkJs:!0,code:n,isDark:s.themeType==="dark",language:s.language||"javascript"})})]}),k.jsxs(j.DialogActions,{children:[k.jsx(j.Button,{color:"grey",variant:"outlined",disabled:!n,startIcon:k.jsx(sr,{}),onClick:()=>{W.Utils.copyToClipboard(n),window.alert(W.I18n.t("Copied"))},children:W.I18n.t("Copy to clipboard")}),k.jsx(j.Button,{color:"primary",variant:"contained",disabled:!n||c,startIcon:k.jsx(nr,{}),onClick:()=>{s.onAddCode(n),s.onClose()},children:W.I18n.t("Use generated code")}),k.jsx(j.Button,{color:"grey",variant:"contained",startIcon:k.jsx(an,{}),onClick:()=>s.onClose(),children:W.I18n.t("Close")})]})]})};export{La as default}; diff --git a/admin/assets/Save-BSBgRX7g.js b/admin/assets/Save-BSBgRX7g.js new file mode 100644 index 000000000..f14262b56 --- /dev/null +++ b/admin/assets/Save-BSBgRX7g.js @@ -0,0 +1 @@ +import{c,j as s}from"./createSvgIcon-DMsh-YeH.js";const o=c(s.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");export{o as I}; diff --git a/admin/assets/ScriptEditor-2NACU7zq.js b/admin/assets/ScriptEditor-2NACU7zq.js new file mode 100644 index 000000000..5119101d9 --- /dev/null +++ b/admin/assets/ScriptEditor-2NACU7zq.js @@ -0,0 +1,2 @@ +import{j as e}from"./createSvgIcon-DMsh-YeH.js";import{R as i}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{i as r,I as n}from"./index-f32XoI0M.js";import{i as a}from"./index-dMNZJoGO.js";import l from"./ScriptEditorVanillaMonaco-B14Clvtt.js";import{I as c}from"./Save-BSBgRX7g.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import"./inheritsLoose-DgfqekV3.js";import"./preload-helper-Dp1pzeXC.js";const o={textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:s=>({color:s.palette.mode==="dark"?"white":"black",height:30,width:"100%",fontSize:16}),argsTitle:s=>({color:s.palette.mode==="dark"?"white":"black",fontWeight:"bold"})};class k extends i.Component{constructor(t){super(t),this.state={changed:!1,source:!t.source&&t.isReturn?` +return false`:t.source}}componentDidMount(){setTimeout(()=>{var t;try{(t=window.document.getElementById("source-text-area"))==null||t.focus()}catch{}},100)}handleCancel(){this.props.onClose(!1)}handleOk(){(!this.props.isReturn||this.state.source.includes("return "))&&this.props.onClose(this.state.source)}onChange(t){this.setState({changed:!0,source:t})}render(){return e.jsxs(r.Dialog,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":o.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title",children:[e.jsx(r.DialogTitle,{id:"source-dialog-title",children:a.I18n.t("Function editor")}),e.jsxs(r.DialogContent,{style:o.fullHeight,children:[this.props.args&&e.jsxs(r.Box,{sx:o.args,children:[e.jsx(r.Box,{component:"span",sx:o.argsTitle,children:a.I18n.t("function (")}),this.props.args,e.jsx(r.Box,{component:"span",sx:o.argsTitle,children:")"})]},"arguments"),e.jsx(l,{triggerPrettier:1,adapterName:this.props.adapterName,runningInstances:this.props.runningInstances,style:{...o.textArea,height:this.props.args?"calc(100% - 30px)":"100%"},name:"blockly",socket:this.props.socket,readOnly:!1,checkJs:!1,changed:this.state.changed,code:this.state.source,isDark:this.props.themeType==="dark",onChange:t=>this.onChange(t),language:"javascript"},"scriptEditor")]}),e.jsxs(r.DialogActions,{children:[e.jsx(r.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:e.jsx(c,{}),children:a.I18n.t("Save")}),e.jsx(r.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:e.jsx(n,{}),children:a.I18n.t("Cancel")})]})]})}}export{k as default}; diff --git a/admin/assets/ScriptEditorVanillaMonaco-B14Clvtt.js b/admin/assets/ScriptEditorVanillaMonaco-B14Clvtt.js new file mode 100644 index 000000000..fc2aef8df --- /dev/null +++ b/admin/assets/ScriptEditorVanillaMonaco-B14Clvtt.js @@ -0,0 +1 @@ +import{j as n}from"./createSvgIcon-DMsh-YeH.js";import{R as S}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{i as p,o as b,aA as C}from"./index-f32XoI0M.js";import{i as f}from"./index-dMNZJoGO.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import"./inheritsLoose-DgfqekV3.js";import"./preload-helper-Dp1pzeXC.js";function v(w){return/^script\.js\.global\./.test(w)}let O=0;function E(w){const t=/\x1b\[[0-9;]*m/g;return w.replace(t,"")}class R extends S.Component{monacoDiv=null;editor=null;monaco=window.monaco;insert="";originalCode;runningInstancesStr;monacoCounter=0;location;breakpoints;lastSearch="";typings={};decorations=[];triggerPrettier;constructor(t){super(t),this.state={name:"current",isDark:t.isDark||!1,language:t.language||"javascript",readOnly:t.readOnly||!1,alive:!0,check:!1,searchText:this.props.searchText||"",typingsLoaded:!1,showError:null},this.triggerPrettier=t.triggerPrettier,this.runningInstancesStr=JSON.stringify(this.props.runningInstances),this.originalCode=t.code||"",this.monacoDiv=S.createRef()}waitForMonaco(t){var e,s,o,r,l,a,h,g;let i=!!((r=(o=(s=(e=this.monaco)==null?void 0:e.languages)==null?void 0:s.typescript)==null?void 0:o.typescriptDefaults)!=null&&r.getCompilerOptions);if(!i||!this.props.runningInstances){if(this.monaco=window.monaco,i=!!((g=(h=(a=(l=this.monaco)==null?void 0:l.languages)==null?void 0:a.typescript)==null?void 0:h.typescriptDefaults)!=null&&g.getCompilerOptions),this.monacoCounter++,!i&&this.monacoCounter<20){console.log("wait for monaco loaded"),setTimeout(()=>this.waitForMonaco(t),200);return}this.monacoCounter>=20&&console.error("Cannot load monaco!")}else t&&t()}loadTypings(t){if(!this.editor)return;t||=this.props.runningInstances;const i=t&&Object.keys(t).find(e=>t==null?void 0:t[e]);i&&this.props.socket.sendTo(i.replace("system.adapter.",""),"loadTypings",null).then(e=>{this.setState({alive:!0,check:!0,typingsLoaded:!0}),this.setTypeCheck(!0),e.typings?(this.typings=e.typings,this.setEditorTypings(this.state.name)):console.error(`failed to load typings: ${e.error}`)})}componentDidMount(){var e,s,o,r,l,a,h,g,y,k,d,u;let t=!!((r=(o=(s=(e=this.monaco)==null?void 0:e.languages)==null?void 0:s.typescript)==null?void 0:o.typescriptDefaults)!=null&&r.getCompilerOptions);if((!t||!this.props.runningInstances)&&(this.monaco=window.monaco,t=!!((g=(h=(a=(l=this.monaco)==null?void 0:l.languages)==null?void 0:a.typescript)==null?void 0:h.typescriptDefaults)!=null&&g.getCompilerOptions),!t)){console.log("wait for monaco loaded..."),this.waitForMonaco(()=>this.componentDidMount());return}if(!this.editor&&t&&this.monaco){console.log("Init editor"),(k=(y=this.props).onRegisterSelect)==null||k.call(y,()=>{var m;if(this.editor){const D=this.editor.getSelection();if(D)return(m=this.editor.getModel())==null?void 0:m.getValueInRange(D)}});const c=this.monaco.languages.typescript.typescriptDefaults.getCompilerOptions();c.allowJs=!0,c.checkJs=this.props.checkJs!==!1,c.noLib=!0,c.lib=[],c.useUnknownInCatchVariables=!1,c.moduleResolution=this.monaco.languages.typescript.ModuleResolutionKind.NodeJs,c.target=this.monaco.languages.typescript.ScriptTarget.ESNext,c.module=this.monaco.languages.typescript.ModuleKind.ESNext,c.allowNonTsExtensions=!0,this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(c),this.setTypeCheck(!1),(d=this.monacoDiv)!=null&&d.current&&(this.editor=this.monaco.editor.create((u=this.monacoDiv)==null?void 0:u.current,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,glyphMargin:!!this.props.breakpoints,colorDecorators:!0}),this.editor.onDidChangeModelContent(()=>this.onChange()),this.loadTypings(),this.props.onForceSave&&this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KeyS,()=>this.props.onForceSave&&this.props.onForceSave()),setTimeout(()=>{this.highlightText(this.state.searchText),this.location=this.props.location||void 0,this.breakpoints=this.props.breakpoints,this.showDecorators()}))}const i={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(i),this.editor&&(this.editor.focus(),this.editor.setValue(this.originalCode),this.props.onToggleBreakpoint?this.editor.onMouseDown(c=>{var D;const m=c.target;this.props.onToggleBreakpoint&&((D=m.detail)==null?void 0:D.glyphMarginLeft)!==void 0&&m.position&&this.props.onToggleBreakpoint(m.position.lineNumber-1)}):this.editor.onMouseDown(()=>{}))}setEditorOptions(t){var i;t&&(t.language&&this.setEditorLanguage(t.language),this.editor&&(t.readOnly!==void 0&&this.editor.updateOptions({readOnly:t.readOnly}),t.lineWrap!==void 0&&this.editor.updateOptions({wordWrap:t.lineWrap?"on":"off"})),t.typeCheck!==void 0&&this.setTypeCheck(t.typeCheck),t.isDark!==void 0&&((i=this.monaco)==null||i.editor.setTheme(t.isDark?"vs-dark":"vs")))}componentWillUnmount(){var t,i;this.editor&&((i=(t=this.props).onRegisterSelect)==null||i.call(t,null),this.editor.dispose(),this.editor=null)}async doPrettier(){var e,s,o,r;const t=this.props.runningInstances&&Object.keys(this.props.runningInstances).find(l=>{var a;return(a=this.props.runningInstances)==null?void 0:a[l]});if(!t){window.alert(f.I18n.t("No script adapter instance found to format the code"));return}const i=await this.props.socket.sendTo(t.replace("system.adapter.",""),"prettier",{code:(e=this.editor)==null?void 0:e.getValue(),type:this.state.language});i.error?this.setState({showError:{title:f.I18n.t("Error formatting code"),message:E(i.error)}}):i.code&&((s=this.editor)==null||s.setValue(i.code),(r=(o=this.props).onChange)==null||r.call(o,i.code),this.showDecorators())}setEditorLanguage(t){var e;if(!this.editor)return;const i=this.editor.getModel();if(i){const s=i.getValue(),o=i.uri.path,r=typeof o=="string"&&o.includes(".")?o.substring(0,o.lastIndexOf(".")):"index",l=t==="javascript"?"js":t==="typescript"?"ts":t;i.dispose();const a=t==="javascript"||t==="typescript"?"typescript":t,h=(e=this.monaco)==null?void 0:e.editor.createModel(s,a,this.monaco.Uri.from({scheme:window.location.protocol.replace(":",""),path:`${r}${O++}.${l}`}));h&&this.editor.setModel(h)}}setTypeCheck(t){var e,s;const i={noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive};(e=this.monaco)==null||e.languages.typescript.typescriptDefaults.setDiagnosticsOptions(i),(s=this.monaco)==null||s.languages.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive})}setEditorTypings(t=""){var o,r,l,a,h,g,y,k;const i=v(t),e=`${t}.d.ts`,s=[];for(const d of Object.keys(this.typings))i&&(d==="global.d.ts"||d.startsWith("script.js.global")&&d!==e)||s.push({filePath:d,content:this.typings[d]});if((a=(l=(r=(o=this.monaco)==null?void 0:o.languages)==null?void 0:r.typescript)==null?void 0:l.typescriptDefaults)!=null&&a.setExtraLibs)this.monaco.languages.typescript.typescriptDefaults.setExtraLibs(s);else if((k=(y=(g=(h=this.monaco)==null?void 0:h.languages)==null?void 0:g.typescript)==null?void 0:y.typescriptDefaults)!=null&&k.addExtraLib){const d=this.monaco.languages.typescript.typescriptDefaults.getExtraLibs();s.forEach(u=>{!d[u.filePath]&&this.monaco&&this.monaco.languages.typescript.typescriptDefaults.addExtraLib(u.content,u.filePath)})}}insertTextIntoEditor(t){if(!this.editor||!this.monaco)return;const i=this.editor.getSelection();if(i){const e=new this.monaco.Range(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn);this.editor.executeEdits("",[{range:e,text:t,forceMoveMarkers:!0}])}this.editor.focus()}highlightText(t){var e;if(!this.editor||!this.monaco)return;const i=t?(e=this.editor.getModel())==null?void 0:e.findMatches(t,!0,!1,!1,null,!0):void 0;if(i!=null&&i.length)i.forEach(s=>{var o;return(o=this.editor)==null?void 0:o.setSelection(s.range)}),this.editor.revealLine(i[0].range.startLineNumber);else{const s=this.editor.getPosition();if(s){const o=s.lineNumber,r=s.column;this.editor.setSelection(new this.monaco.Range(o,r,o,r))}}}showDecorators(){var i;const t=[];if(this.location&&this.monaco&&(t.push({range:new this.monaco.Range(this.location.lineNumber+1,(this.location.columnNumber||0)+1,this.location.lineNumber+1,1e3),options:{isWholeLine:!1,className:this.props.isDark?"monacoCurrentLineDark":"monacoCurrentLine"}}),t.push({range:new this.monaco.Range(this.location.lineNumber+1,0,this.location.lineNumber+1,0),options:{isWholeLine:!0,className:this.props.isDark?"monacoCurrentFullLineDark":"monacoCurrentFullLine"}})),(i=this.breakpoints)==null||i.forEach(e=>{this.monaco&&t.push({range:new this.monaco.Range(e.location.lineNumber+1,0,e.location.lineNumber+1,100),options:{isWholeLine:!0,glyphMarginClassName:this.props.isDark?"monacoBreakPointDark":"monacoBreakPoint"}})}),this.editor){const e=this.editor.getModel();e&&(this.decorations=e.deltaDecorations(this.decorations,t))}}initNewScript(t,i){var e;this.setState({name:t}),this.originalCode=i||"",(e=this.editor)==null||e.setValue(i||""),this.highlightText(this.lastSearch),this.showDecorators(),this.setEditorTypings(t)}scrollToLineIfNeeded(t){if(this.editor){const i=this.editor.getVisibleRanges();(!i||!i[0]||i[0].startLineNumber>t||t>i[0].endLineNumber)&&this.editor.revealLineInCenter(t)}}UNSAFE_componentWillReceiveProps(t){const i={};this.state.name!==t.name&&this.initNewScript(t.name,t.code),JSON.stringify(t.runningInstances)!==this.runningInstancesStr&&(this.runningInstancesStr=JSON.stringify(t.runningInstances),this.state.typingsLoaded||this.loadTypings(t.runningInstances)),this.editor&&!t.changed&&(t.code!==this.originalCode||t.code!==this.editor.getValue())&&(this.originalCode=t.code||"",this.editor.setValue(this.originalCode),this.showDecorators(),this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),t.searchText!==this.lastSearch&&(this.lastSearch=t.searchText||"",this.highlightText(this.lastSearch)),JSON.stringify(t.location)!==JSON.stringify(this.location)&&JSON.stringify(t.breakpoints)!==JSON.stringify(this.breakpoints)?(this.location=t.location||void 0,this.breakpoints=t.breakpoints,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)):JSON.stringify(t.breakpoints)!==JSON.stringify(this.breakpoints)?(this.breakpoints=t.breakpoints,this.showDecorators()):JSON.stringify(t.location)!==JSON.stringify(this.location)&&(this.location=t.location||void 0,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),this.state.language!==(t.language||"javascript")?(this.setState({language:t.language||"javascript"}),i.language=t.language||"javascript"):this.state.readOnly!==(t.readOnly||!1)?(this.setState({readOnly:t.readOnly||!1}),i.readOnly=t.readOnly):this.state.isDark!==(t.isDark||!1)&&(this.setState({isDark:t.isDark||!1}),i.isDark=t.isDark),this.setEditorOptions(i),this.insert!==t.insert&&(this.insert=t.insert||"",this.insert&&(console.log(`Insert text: ${this.insert}`),setTimeout(e=>{this.insertTextIntoEditor(e),setTimeout(()=>this.props.onInserted&&this.props.onInserted(),100)},100,this.insert)))}onChange(){var t,i;!this.props.readOnly&&this.editor&&((i=(t=this.props).onChange)==null||i.call(t,this.editor.getValue()))}renderErrorDialog(){return this.state.showError?this.state.showError.full?n.jsxs(p.Dialog,{open:!0,maxWidth:"md",onClose:()=>this.setState({showError:null}),children:[n.jsx(p.DialogTitle,{children:this.state.showError.title||f.I18n.t("Error")}),n.jsx(p.DialogContent,{children:n.jsx("pre",{children:n.jsx("code",{children:this.state.showError.message})})}),n.jsx(p.DialogActions,{children:n.jsxs(p.Button,{variant:"contained",startIcon:n.jsx(b,{}),onClick:()=>this.setState({showError:null}),children:[f.I18n.t("Close")," "]})})]}):n.jsx(p.Snackbar,{open:!0,autoHideDuration:5e3,onClose:()=>this.setState({showError:null}),message:this.state.showError.title,action:n.jsxs(S.Fragment,{children:[n.jsx(p.Button,{color:"secondary",size:"small",onClick:()=>this.setState({showError:{...this.state.showError,full:!0}}),children:f.I18n.t("More")}),n.jsx(p.IconButton,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({showError:null}),children:n.jsx(b,{fontSize:"small"})})]})}):null}render(){var t,i,e;return!((e=(i=(t=this.monaco)==null?void 0:t.languages)==null?void 0:i.typescript)!=null&&e.typescriptDefaults)||!this.props.runningInstances?(setTimeout(()=>{this.monaco=window.monaco,this.forceUpdate()},200),null):(this.props.triggerPrettier!==this.triggerPrettier&&(this.triggerPrettier=this.props.triggerPrettier,setTimeout(()=>this.doPrettier().catch(s=>console.error("Error formatting code:",s)),50)),n.jsxs("div",{ref:this.monacoDiv,style:{...this.props.style,width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:[this.renderErrorDialog(),!this.state.check&&n.jsx(p.Fab,{size:"small",title:f.I18n.t("Check is not active, because javascript adapter is disabled"),style:{bottom:10,right:10,opacity:.5,position:"absolute",zIndex:1,background:"red",color:"white"},color:"secondary",children:n.jsx(C,{})})]}))}}export{R as default}; diff --git a/admin/assets/createSvgIcon-BQT-7-GS.js b/admin/assets/createSvgIcon-BQT-7-GS.js deleted file mode 100644 index cf2501aab..000000000 --- a/admin/assets/createSvgIcon-BQT-7-GS.js +++ /dev/null @@ -1,30 +0,0 @@ -import{i as I,a as Wt}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{g as Ur}from"./_commonjsHelpers-Cpj98o6Y.js";import{i as Yr,a as qr}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";var ur={exports:{}},Ge={};/** - * @license React - * react-jsx-runtime.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Xr=I,Qr=Symbol.for("react.element"),Zr=Symbol.for("react.fragment"),Jr=Object.prototype.hasOwnProperty,en=Xr.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,tn={key:!0,ref:!0,__self:!0,__source:!0};function fr(e,t,r){var n,a={},o=null,s=null;r!==void 0&&(o=""+r),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(s=t.ref);for(n in t)Jr.call(t,n)&&!tn.hasOwnProperty(n)&&(a[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)a[n]===void 0&&(a[n]=t[n]);return{$$typeof:Qr,type:e,key:o,ref:s,props:a,_owner:en.current}}Ge.Fragment=Zr;Ge.jsx=fr;Ge.jsxs=fr;ur.exports=Ge;var ze=ur.exports;function se(e,...t){const r=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(n=>r.searchParams.append("args[]",n)),`Minified MUI error #${e}; visit ${r} for the full message.`}const rn="$$material";function gt(){return gt=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?j(be,--V):0,he--,z===10&&(he=1,Ke--),z}function Y(){return z=V2||Te(z)>3?"":" "}function yn(e,t){for(;--t&&Y()&&!(z<48||z>102||z>57&&z<65||z>70&&z<97););return _e(e,Fe()+(t<6&&re()==32&&Y()==32))}function bt(e){for(;Y();)switch(z){case e:return V;case 34:case 39:e!==34&&e!==39&&bt(z);break;case 40:e===41&&bt(e);break;case 92:Y();break}return V}function bn(e,t){for(;Y()&&e+z!==57;)if(e+z===84&&re()===47)break;return"/*"+_e(t,V-1)+"*"+He(e===47?e:Y())}function Sn(e){for(;!Te(re());)Y();return _e(e,V)}function vn(e){return yr(Le("",null,null,null,[""],e=gr(e),0,[0],e))}function Le(e,t,r,n,a,o,s,c,u){for(var f=0,p=0,d=s,m=0,b=0,g=0,h=1,v=1,S=1,$=0,x="",C=a,k=o,A=n,w=x;v;)switch(g=$,$=Y()){case 40:if(g!=108&&j(w,d-1)==58){yt(w+=_(Me($),"&","&\f"),"&\f")!=-1&&(S=-1);break}case 34:case 39:case 91:w+=Me($);break;case 9:case 10:case 13:case 32:w+=gn(g);break;case 92:w+=yn(Fe()-1,7);continue;case 47:switch(re()){case 42:case 47:Re(Cn(bn(Y(),Fe()),t,r),u);break;default:w+="/"}break;case 123*h:c[f++]=ee(w)*S;case 125*h:case 59:case 0:switch($){case 0:case 125:v=0;case 59+p:S==-1&&(w=_(w,/\f/g,"")),b>0&&ee(w)-d&&Re(b>32?Ht(w+";",n,r,d-1):Ht(_(w," ","")+";",n,r,d-2),u);break;case 59:w+=";";default:if(Re(A=Gt(w,t,r,f,p,a,c,x,C=[],k=[],d),o),$===123)if(p===0)Le(w,t,A,A,C,o,d,c,k);else switch(m===99&&j(w,3)===110?100:m){case 100:case 108:case 109:case 115:Le(e,A,A,n&&Re(Gt(e,A,A,0,0,a,c,x,a,C=[],d),k),a,k,d,c,n?C:k);break;default:Le(w,A,A,A,[""],k,0,c,k)}}f=p=b=0,h=S=1,x=w="",d=s;break;case 58:d=1+ee(w),b=g;default:if(h<1){if($==123)--h;else if($==125&&h++==0&&hn()==125)continue}switch(w+=He($),$*h){case 38:S=p>0?1:(w+="\f",-1);break;case 44:c[f++]=(ee(w)-1)*S,S=1;break;case 64:re()===45&&(w+=Me(Y())),m=re(),p=d=ee(x=w+=Sn(Fe())),$++;break;case 45:g===45&&ee(w)==2&&(h=0)}}return o}function Gt(e,t,r,n,a,o,s,c,u,f,p){for(var d=a-1,m=a===0?o:[""],b=Tt(m),g=0,h=0,v=0;g0?m[S]+" "+$:_($,/&\f/g,m[S])))&&(u[v++]=x);return Ve(e,t,r,a===0?kt:c,u,f,p)}function Cn(e,t,r){return Ve(e,t,r,dr,He(pn()),Ae(e,2,-2),0)}function Ht(e,t,r,n){return Ve(e,t,r,At,Ae(e,0,n),Ae(e,n+1,-1),n)}function me(e,t){for(var r="",n=Tt(e),a=0;a6)switch(j(e,t+1)){case 109:if(j(e,t+4)!==45)break;case 102:return _(e,/(.+:)(.+)-([^]+)/,"$1"+P+"$2-$3$1"+je+(j(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~yt(e,"stretch")?Sr(_(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(j(e,t+1)!==115)break;case 6444:switch(j(e,ee(e)-3-(~yt(e,"!important")&&10))){case 107:return _(e,":",":"+P)+e;case 101:return _(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+P+(j(e,14)===45?"inline-":"")+"box$3$1"+P+"$2$3$1"+W+"$2box$3")+e}break;case 5936:switch(j(e,t+11)){case 114:return P+e+W+_(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return P+e+W+_(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return P+e+W+_(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return P+e+W+e+e}return e}var En=function(t,r,n,a){if(t.length>-1&&!t.return)switch(t.type){case At:t.return=Sr(t.value,t.length);break;case mr:return me([ve(t,{value:_(t.value,"@","@"+P)})],a);case kt:if(t.length)return mn(t.props,function(o){switch(dn(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return me([ve(t,{props:[_(o,/:(read-\w+)/,":"+je+"$1")]})],a);case"::placeholder":return me([ve(t,{props:[_(o,/:(plac\w+)/,":"+P+"input-$1")]}),ve(t,{props:[_(o,/:(plac\w+)/,":"+je+"$1")]}),ve(t,{props:[_(o,/:(plac\w+)/,W+"input-$1")]})],a)}return""})}},On=[En],Rn=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(h){var v=h.getAttribute("data-emotion");v.indexOf(" ")!==-1&&(document.head.appendChild(h),h.setAttribute("data-s",""))})}var a=t.stylisPlugins||On,o={},s,c=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(h){for(var v=h.getAttribute("data-emotion").split(" "),S=1;S=4;++n,a-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&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(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&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 Fn={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},Mn=/[A-Z]|^ms/g,Ln=/_EMO_([^_]+?)_([^]*?)_EMO_/g,wr=function(t){return t.charCodeAt(1)===45},Vt=function(t){return t!=null&&typeof t!="boolean"},dt=br(function(e){return wr(e)?e:e.replace(Mn,"-$&").toLowerCase()}),Ut=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(Ln,function(n,a,o){return te={name:a,styles:o,next:te},a})}return Fn[t]!==1&&!wr(t)&&typeof r=="number"&&r!==0?r+"px":r};function $e(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var a=r;if(a.anim===1)return te={name:a.name,styles:a.styles,next:te},a.name;var o=r;if(o.styles!==void 0){var s=o.next;if(s!==void 0)for(;s!==void 0;)te={name:s.name,styles:s.styles,next:te},s=s.next;var c=o.styles+";";return c}return Nn(e,t,r)}case"function":{if(e!==void 0){var u=te,f=r(e);return te=u,$e(e,t,f)}break}}var p=r;if(t==null)return p;var d=t[p];return d!==void 0?d:p}function Nn(e,t,r){var n="";if(Array.isArray(r))for(var a=0;a96?Hn:Kn},Xt=function(t,r,n){var a;if(r){var o=r.shouldForwardProp;a=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof a!="function"&&n&&(a=t.__emotion_forwardProp),a},Vn=function(t){var r=t.cache,n=t.serialized,a=t.isStringTag;return $t(r,n,a),kr(function(){return Cr(r,n,a)}),null},Un=function e(t,r){var n=t.__emotion_real===t,a=n&&t.__emotion_base||t,o,s;r!==void 0&&(o=r.label,s=r.target);var c=Xt(t,r,n),u=c||qt(a),f=!u("as");return function(){var p=arguments,d=n&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),p[0]==null||p[0].raw===void 0)d.push.apply(d,p);else{var m=p[0];d.push(m[0]);for(var b=p.length,g=1;gqn("prop-types",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),Zn=await Qn.then(e=>e());var Jn=Zn;const Ai=Ur(Jn);/** - * @mui/styled-engine v6.4.11 - * - * @license MIT - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function ea(e,t){return vt(e,t)}function ta(e,t){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}const Qt=[];function Zt(e){return Qt[0]=e,Pt(Qt)}var Pr={exports:{}},R={};/** - * @license React - * react-is.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Et=Symbol.for("react.transitional.element"),Ot=Symbol.for("react.portal"),Ue=Symbol.for("react.fragment"),Ye=Symbol.for("react.strict_mode"),qe=Symbol.for("react.profiler"),Xe=Symbol.for("react.consumer"),Qe=Symbol.for("react.context"),Ze=Symbol.for("react.forward_ref"),Je=Symbol.for("react.suspense"),et=Symbol.for("react.suspense_list"),tt=Symbol.for("react.memo"),rt=Symbol.for("react.lazy"),ra=Symbol.for("react.view_transition"),na=Symbol.for("react.client.reference");function X(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case Et:switch(e=e.type,e){case Ue:case qe:case Ye:case Je:case et:case ra:return e;default:switch(e=e&&e.$$typeof,e){case Qe:case Ze:case rt:case tt:return e;case Xe:return e;default:return t}}case Ot:return t}}}R.ContextConsumer=Xe;R.ContextProvider=Qe;R.Element=Et;R.ForwardRef=Ze;R.Fragment=Ue;R.Lazy=rt;R.Memo=tt;R.Portal=Ot;R.Profiler=qe;R.StrictMode=Ye;R.Suspense=Je;R.SuspenseList=et;R.isContextConsumer=function(e){return X(e)===Xe};R.isContextProvider=function(e){return X(e)===Qe};R.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Et};R.isForwardRef=function(e){return X(e)===Ze};R.isFragment=function(e){return X(e)===Ue};R.isLazy=function(e){return X(e)===rt};R.isMemo=function(e){return X(e)===tt};R.isPortal=function(e){return X(e)===Ot};R.isProfiler=function(e){return X(e)===qe};R.isStrictMode=function(e){return X(e)===Ye};R.isSuspense=function(e){return X(e)===Je};R.isSuspenseList=function(e){return X(e)===et};R.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Ue||e===qe||e===Ye||e===Je||e===et||typeof e=="object"&&e!==null&&(e.$$typeof===rt||e.$$typeof===tt||e.$$typeof===Qe||e.$$typeof===Xe||e.$$typeof===Ze||e.$$typeof===na||e.getModuleId!==void 0)};R.typeOf=X;Pr.exports=R;var _r=Pr.exports;function ae(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Er(e){if(I.isValidElement(e)||_r.isValidElementType(e)||!ae(e))return e;const t={};return Object.keys(e).forEach(r=>{t[r]=Er(e[r])}),t}function K(e,t,r={clone:!0}){const n=r.clone?{...e}:e;return ae(e)&&ae(t)&&Object.keys(t).forEach(a=>{I.isValidElement(t[a])||_r.isValidElementType(t[a])?n[a]=t[a]:ae(t[a])&&Object.prototype.hasOwnProperty.call(e,a)&&ae(e[a])?n[a]=K(e[a],t[a],r):r.clone?n[a]=ae(t[a])?Er(t[a]):t[a]:n[a]=t[a]}),n}const aa=e=>{const t=Object.keys(e).map(r=>({key:r,val:e[r]}))||[];return t.sort((r,n)=>r.val-n.val),t.reduce((r,n)=>({...r,[n.key]:n.val}),{})};function oa(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:n=5,...a}=e,o=aa(t),s=Object.keys(o);function c(m){return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${r})`}function u(m){return`@media (max-width:${(typeof t[m]=="number"?t[m]:m)-n/100}${r})`}function f(m,b){const g=s.indexOf(b);return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${r}) and (max-width:${(g!==-1&&typeof t[s[g]]=="number"?t[s[g]]:b)-n/100}${r})`}function p(m){return s.indexOf(m)+1n.startsWith("@container")).sort((n,a)=>{var s,c;const o=/min-width:\s*([0-9.]+)/;return+(((s=n.match(o))==null?void 0:s[1])||0)-+(((c=a.match(o))==null?void 0:c[1])||0)});return r.length?r.reduce((n,a)=>{const o=t[a];return delete n[a],n[a]=o,n},{...t}):t}function sa(e,t){return t==="@"||t.startsWith("@")&&(e.some(r=>t.startsWith(`@${r}`))||!!t.match(/^@\d/))}function ca(e,t){const r=t.match(/^@([^/]+)?\/?(.+)?$/);if(!r)return null;const[,n,a]=r,o=Number.isNaN(+n)?n||0:+n;return e.containerQueries(a).up(o)}function la(e){const t=(o,s)=>o.replace("@media",s?`@container ${s}`:"@container");function r(o,s){o.up=(...c)=>t(e.breakpoints.up(...c),s),o.down=(...c)=>t(e.breakpoints.down(...c),s),o.between=(...c)=>t(e.breakpoints.between(...c),s),o.only=(...c)=>t(e.breakpoints.only(...c),s),o.not=(...c)=>{const u=t(e.breakpoints.not(...c),s);return u.includes("not all and")?u.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):u}}const n={},a=o=>(r(n,o),n);return r(a),{...e,containerQueries:a}}const ua={borderRadius:4};function ke(e,t){return t?K(e,t,{clone:!1}):e}const nt={xs:0,sm:600,md:900,lg:1200,xl:1536},Jt={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${nt[e]}px)`},fa={containerQueries:e=>({up:t=>{let r=typeof t=="number"?t:nt[t]||t;return typeof r=="number"&&(r=`${r}px`),e?`@container ${e} (min-width:${r})`:`@container (min-width:${r})`}})};function oe(e,t,r){const n=e.theme||{};if(Array.isArray(t)){const o=n.breakpoints||Jt;return t.reduce((s,c,u)=>(s[o.up(o.keys[u])]=r(t[u]),s),{})}if(typeof t=="object"){const o=n.breakpoints||Jt;return Object.keys(t).reduce((s,c)=>{if(sa(o.keys,c)){const u=ca(n.containerQueries?n:fa,c);u&&(s[u]=r(t[c],c))}else if(Object.keys(o.values||nt).includes(c)){const u=o.up(c);s[u]=r(t[c],c)}else{const u=c;s[u]=t[u]}return s},{})}return r(t)}function Or(e={}){var r;return((r=e.keys)==null?void 0:r.reduce((n,a)=>{const o=e.up(a);return n[o]={},n},{}))||{}}function Rr(e,t){return e.reduce((r,n)=>{const a=r[n];return(!a||Object.keys(a).length===0)&&delete r[n],r},t)}function Ti(e,...t){const r=Or(e),n=[r,...t].reduce((a,o)=>K(a,o),{});return Rr(Object.keys(r),n)}function da(e,t){if(typeof e!="object")return{};const r={},n=Object.keys(t);return Array.isArray(e)?n.forEach((a,o)=>{o{e[a]!=null&&(r[a]=!0)}),r}function $i({values:e,breakpoints:t,base:r}){const n=r||da(e,t),a=Object.keys(n);if(a.length===0)return e;let o;return a.reduce((s,c,u)=>(Array.isArray(e)?(s[c]=e[u]!=null?e[u]:e[o],o=u):typeof e=="object"?(s[c]=e[c]!=null?e[c]:e[o],o=c):s[c]=e,s),{})}function ge(e){if(typeof e!="string")throw new Error(se(7));return e.charAt(0).toUpperCase()+e.slice(1)}function at(e,t,r=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&r){const n=`vars.${t}`.split(".").reduce((a,o)=>a&&a[o]?a[o]:null,e);if(n!=null)return n}return t.split(".").reduce((n,a)=>n&&n[a]!=null?n[a]:null,e)}function De(e,t,r,n=r){let a;return typeof e=="function"?a=e(r):Array.isArray(e)?a=e[r]||n:a=at(e,r)||n,t&&(a=t(a,n,e)),a}function N(e){const{prop:t,cssProperty:r=e.prop,themeKey:n,transform:a}=e,o=s=>{if(s[t]==null)return null;const c=s[t],u=s.theme,f=at(u,n)||{};return oe(s,c,d=>{let m=De(f,a,d);return d===m&&typeof d=="string"&&(m=De(f,a,`${t}${d==="default"?"":ge(d)}`,d)),r===!1?m:{[r]:m}})};return o.propTypes={},o.filterProps=[t],o}function ma(e){const t={};return r=>(t[r]===void 0&&(t[r]=e(r)),t[r])}const pa={m:"margin",p:"padding"},ha={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},er={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},ga=ma(e=>{if(e.length>2)if(er[e])e=er[e];else return[e];const[t,r]=e.split(""),n=pa[t],a=ha[r]||"";return Array.isArray(a)?a.map(o=>n+o):[n+a]}),Rt=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],Bt=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...Rt,...Bt];function Ee(e,t,r,n){const a=at(e,t,!0)??r;return typeof a=="number"||typeof a=="string"?o=>typeof o=="string"?o:typeof a=="string"?`calc(${o} * ${a})`:a*o:Array.isArray(a)?o=>{if(typeof o=="string")return o;const s=Math.abs(o),c=a[s];return o>=0?c:typeof c=="number"?-c:`-${c}`}:typeof a=="function"?a:()=>{}}function It(e){return Ee(e,"spacing",8)}function Oe(e,t){return typeof t=="string"||t==null?t:e(t)}function ya(e,t){return r=>e.reduce((n,a)=>(n[a]=Oe(t,r),n),{})}function ba(e,t,r,n){if(!t.includes(r))return null;const a=ga(r),o=ya(a,n),s=e[r];return oe(e,s,o)}function Br(e,t){const r=It(e.theme);return Object.keys(e).map(n=>ba(e,t,n,r)).reduce(ke,{})}function M(e){return Br(e,Rt)}M.propTypes={};M.filterProps=Rt;function L(e){return Br(e,Bt)}L.propTypes={};L.filterProps=Bt;function Ir(e=8,t=It({spacing:e})){if(e.mui)return e;const r=(...n)=>(n.length===0?[1]:n).map(o=>{const s=t(o);return typeof s=="number"?`${s}px`:s}).join(" ");return r.mui=!0,r}function ot(...e){const t=e.reduce((n,a)=>(a.filterProps.forEach(o=>{n[o]=a}),n),{}),r=n=>Object.keys(n).reduce((a,o)=>t[o]?ke(a,t[o](n)):a,{});return r.propTypes={},r.filterProps=e.reduce((n,a)=>n.concat(a.filterProps),[]),r}function q(e){return typeof e!="number"?e:`${e}px solid`}function Q(e,t){return N({prop:e,themeKey:"borders",transform:t})}const Sa=Q("border",q),va=Q("borderTop",q),Ca=Q("borderRight",q),wa=Q("borderBottom",q),xa=Q("borderLeft",q),ka=Q("borderColor"),Aa=Q("borderTopColor"),Ta=Q("borderRightColor"),$a=Q("borderBottomColor"),Pa=Q("borderLeftColor"),_a=Q("outline",q),Ea=Q("outlineColor"),it=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=Ee(e.theme,"shape.borderRadius",4),r=n=>({borderRadius:Oe(t,n)});return oe(e,e.borderRadius,r)}return null};it.propTypes={};it.filterProps=["borderRadius"];ot(Sa,va,Ca,wa,xa,ka,Aa,Ta,$a,Pa,it,_a,Ea);const st=e=>{if(e.gap!==void 0&&e.gap!==null){const t=Ee(e.theme,"spacing",8),r=n=>({gap:Oe(t,n)});return oe(e,e.gap,r)}return null};st.propTypes={};st.filterProps=["gap"];const ct=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=Ee(e.theme,"spacing",8),r=n=>({columnGap:Oe(t,n)});return oe(e,e.columnGap,r)}return null};ct.propTypes={};ct.filterProps=["columnGap"];const lt=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=Ee(e.theme,"spacing",8),r=n=>({rowGap:Oe(t,n)});return oe(e,e.rowGap,r)}return null};lt.propTypes={};lt.filterProps=["rowGap"];const Oa=N({prop:"gridColumn"}),Ra=N({prop:"gridRow"}),Ba=N({prop:"gridAutoFlow"}),Ia=N({prop:"gridAutoColumns"}),Fa=N({prop:"gridAutoRows"}),Ma=N({prop:"gridTemplateColumns"}),La=N({prop:"gridTemplateRows"}),Na=N({prop:"gridTemplateAreas"}),za=N({prop:"gridArea"});ot(st,ct,lt,Oa,Ra,Ba,Ia,Fa,Ma,La,Na,za);function pe(e,t){return t==="grey"?t:e}const ja=N({prop:"color",themeKey:"palette",transform:pe}),Da=N({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:pe}),Wa=N({prop:"backgroundColor",themeKey:"palette",transform:pe});ot(ja,Da,Wa);function U(e){return e<=1&&e!==0?`${e*100}%`:e}const Ga=N({prop:"width",transform:U}),Ft=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=r=>{var a,o,s,c,u;const n=((s=(o=(a=e.theme)==null?void 0:a.breakpoints)==null?void 0:o.values)==null?void 0:s[r])||nt[r];return n?((u=(c=e.theme)==null?void 0:c.breakpoints)==null?void 0:u.unit)!=="px"?{maxWidth:`${n}${e.theme.breakpoints.unit}`}:{maxWidth:n}:{maxWidth:U(r)}};return oe(e,e.maxWidth,t)}return null};Ft.filterProps=["maxWidth"];const Ha=N({prop:"minWidth",transform:U}),Ka=N({prop:"height",transform:U}),Va=N({prop:"maxHeight",transform:U}),Ua=N({prop:"minHeight",transform:U});N({prop:"size",cssProperty:"width",transform:U});N({prop:"size",cssProperty:"height",transform:U});const Ya=N({prop:"boxSizing"});ot(Ga,Ft,Ha,Ka,Va,Ua,Ya);const ut={border:{themeKey:"borders",transform:q},borderTop:{themeKey:"borders",transform:q},borderRight:{themeKey:"borders",transform:q},borderBottom:{themeKey:"borders",transform:q},borderLeft:{themeKey:"borders",transform:q},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:q},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:it},color:{themeKey:"palette",transform:pe},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:pe},backgroundColor:{themeKey:"palette",transform:pe},p:{style:L},pt:{style:L},pr:{style:L},pb:{style:L},pl:{style:L},px:{style:L},py:{style:L},padding:{style:L},paddingTop:{style:L},paddingRight:{style:L},paddingBottom:{style:L},paddingLeft:{style:L},paddingX:{style:L},paddingY:{style:L},paddingInline:{style:L},paddingInlineStart:{style:L},paddingInlineEnd:{style:L},paddingBlock:{style:L},paddingBlockStart:{style:L},paddingBlockEnd:{style:L},m:{style:M},mt:{style:M},mr:{style:M},mb:{style:M},ml:{style:M},mx:{style:M},my:{style:M},margin:{style:M},marginTop:{style:M},marginRight:{style:M},marginBottom:{style:M},marginLeft:{style:M},marginX:{style:M},marginY:{style:M},marginInline:{style:M},marginInlineStart:{style:M},marginInlineEnd:{style:M},marginBlock:{style:M},marginBlockStart:{style:M},marginBlockEnd:{style:M},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:st},rowGap:{style:lt},columnGap:{style:ct},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:U},maxWidth:{style:Ft},minWidth:{transform:U},height:{transform:U},maxHeight:{transform:U},minHeight:{transform:U},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"}};function qa(...e){const t=e.reduce((n,a)=>n.concat(Object.keys(a)),[]),r=new Set(t);return e.every(n=>r.size===Object.keys(n).length)}function Xa(e,t){return typeof e=="function"?e(t):e}function Qa(){function e(r,n,a,o){const s={[r]:n,theme:a},c=o[r];if(!c)return{[r]:n};const{cssProperty:u=r,themeKey:f,transform:p,style:d}=c;if(n==null)return null;if(f==="typography"&&n==="inherit")return{[r]:n};const m=at(a,f)||{};return d?d(s):oe(s,n,g=>{let h=De(m,p,g);return g===h&&typeof g=="string"&&(h=De(m,p,`${r}${g==="default"?"":ge(g)}`,g)),u===!1?h:{[u]:h}})}function t(r){const{sx:n,theme:a={}}=r||{};if(!n)return null;const o=a.unstable_sxConfig??ut;function s(c){let u=c;if(typeof c=="function")u=c(a);else if(typeof c!="object")return c;if(!u)return null;const f=Or(a.breakpoints),p=Object.keys(f);let d=f;return Object.keys(u).forEach(m=>{const b=Xa(u[m],a);if(b!=null)if(typeof b=="object")if(o[m])d=ke(d,e(m,b,a,o));else{const g=oe({theme:a},b,h=>({[m]:h}));qa(g,b)?d[m]=t({sx:b,theme:a}):d=ke(d,g)}else d=ke(d,e(m,b,a,o))}),ia(a,Rr(p,d))}return Array.isArray(n)?n.map(s):s(n)}return t}const ye=Qa();ye.filterProps=["sx"];function Za(e,t){var n;const r=this;if(r.vars){if(!((n=r.colorSchemes)!=null&&n[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 Fr(e={},...t){const{breakpoints:r={},palette:n={},spacing:a,shape:o={},...s}=e,c=oa(r),u=Ir(a);let f=K({breakpoints:c,direction:"ltr",components:{},palette:{mode:"light",...n},spacing:u,shape:{...ua,...o}},s);return f=la(f),f.applyStyles=Za,f=t.reduce((p,d)=>K(p,d),f),f.unstable_sxConfig={...ut,...s==null?void 0:s.unstable_sxConfig},f.unstable_sx=function(d){return ye({sx:d,theme:this})},f}function Ja(e){return Object.keys(e).length===0}function Pi(e=null){const t=I.useContext(_t);return!t||Ja(t)?e:t}const tr=e=>e,eo=()=>{let e=tr;return{configure(t){e=t},generate(t){return e(t)},reset(){e=tr}}},to=eo();function Mr(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{n[a]=Lr(e,a,r)}),n}function Nr(e){const{variants:t,...r}=e,n={variants:t,style:Zt(r),isProcessed:!0};return n.style===r||t&&t.forEach(a=>{typeof a.style!="function"&&(a.style=Zt(a.style))}),n}const oo=Fr();function mt(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function io(e){return e?(t,r)=>r[e]:null}function so(e,t,r){e.theme=uo(e.theme)?r:e.theme[t]||e.theme}function Ne(e,t){const r=typeof t=="function"?t(e):t;if(Array.isArray(r))return r.flatMap(n=>Ne(e,n));if(Array.isArray(r==null?void 0:r.variants)){let n;if(r.isProcessed)n=r.style;else{const{variants:a,...o}=r;n=o}return zr(e,r.variants,[n])}return r!=null&&r.isProcessed?r.style:r}function zr(e,t,r=[]){var a;let n;e:for(let o=0;o{ta(c,k=>k.filter(A=>A!==ye));const{name:f,slot:p,skipVariantsResolver:d,skipSx:m,overridesResolver:b=io(mo(p)),...g}=u,h=d!==void 0?d:p&&p!=="Root"&&p!=="root"||!1,v=m||!1;let S=mt;p==="Root"||p==="root"?S=n:p?S=a:fo(c)&&(S=void 0);const $=ea(c,{shouldForwardProp:S,label:lo(),...g}),x=k=>{if(k.__emotion_real===k)return k;if(typeof k=="function")return function(w){return Ne(w,k)};if(ae(k)){const A=Nr(k);return A.variants?function(D){return Ne(D,A)}:A.style}return k},C=(...k)=>{const A=[],w=k.map(x),D=[];if(A.push(o),f&&b&&D.push(function(T){var Se,jt;const G=(jt=(Se=T.theme.components)==null?void 0:Se[f])==null?void 0:jt.styleOverrides;if(!G)return null;const Z={};for(const Dt in G)Z[Dt]=Ne(T,G[Dt]);return b(T,Z)}),f&&!h&&D.push(function(T){var Z,Se;const B=T.theme,G=(Se=(Z=B==null?void 0:B.components)==null?void 0:Z[f])==null?void 0:Se.variants;return G?zr(T,G):null}),v||D.push(ye),Array.isArray(w[0])){const y=w.shift(),T=new Array(A.length).fill(""),B=new Array(D.length).fill("");let G;G=[...T,...y,...B],G.raw=[...T,...y.raw,...B],A.unshift(G)}const H=[...A,...w,...D],i=$(...H);return c.muiName&&(i.muiName=c.muiName),i};return $.withConfig&&(C.withConfig=$.withConfig),C}}function lo(e,t){return void 0}function uo(e){for(const t in e)return!1;return!0}function fo(e){return typeof e=="string"&&e.charCodeAt(0)>96}function mo(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}function Ct(e,t){const r={...t};for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const a=n;if(a==="components"||a==="slots")r[a]={...e[a],...r[a]};else if(a==="componentsProps"||a==="slotProps"){const o=e[a],s=t[a];if(!s)r[a]=o||{};else if(!o)r[a]=s;else{r[a]={...s};for(const c in o)if(Object.prototype.hasOwnProperty.call(o,c)){const u=c;r[a][u]=Ct(o[u],s[u])}}}else r[a]===void 0&&(r[a]=e[a])}return r}function po(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}function Mt(e,t=0,r=1){return po(e,t,r)}function ho(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let r=e.match(t);return r&&r[0].length===1&&(r=r.map(n=>n+n)),r?`rgb${r.length===4?"a":""}(${r.map((n,a)=>a<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1e3)/1e3).join(", ")})`:""}function go(e){const t=e.toString(16);return t.length===1?`0${t}`:t}function ie(e){if(e.type)return e;if(e.charAt(0)==="#")return ie(ho(e));const t=e.indexOf("("),r=e.substring(0,t);if(!["rgb","rgba","hsl","hsla","color"].includes(r))throw new Error(se(9,e));let n=e.substring(t+1,e.length-1),a;if(r==="color"){if(n=n.split(" "),a=n.shift(),n.length===4&&n[3].charAt(0)==="/"&&(n[3]=n[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(a))throw new Error(se(10,a))}else n=n.split(",");return n=n.map(o=>parseFloat(o)),{type:r,values:n,colorSpace:a}}const yo=e=>{const t=ie(e);return t.values.slice(0,3).map((r,n)=>t.type.includes("hsl")&&n!==0?`${r}%`:r).join(" ")},we=(e,t)=>{try{return yo(e)}catch{return e}};function ft(e){const{type:t,colorSpace:r}=e;let{values:n}=e;return t.includes("rgb")?n=n.map((a,o)=>o<3?parseInt(a,10):a):t.includes("hsl")&&(n[1]=`${n[1]}%`,n[2]=`${n[2]}%`),t.includes("color")?n=`${r} ${n.join(" ")}`:n=`${n.join(", ")}`,`${t}(${n})`}function _i(e){if(e.startsWith("#"))return e;const{values:t}=ie(e);return`#${t.map((r,n)=>go(n===3?Math.round(255*r):r)).join("")}`}function jr(e){e=ie(e);const{values:t}=e,r=t[0],n=t[1]/100,a=t[2]/100,o=n*Math.min(a,1-a),s=(f,p=(f+r/30)%12)=>a-o*Math.max(Math.min(p-3,9-p,1),-1);let c="rgb";const u=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(c+="a",u.push(t[3])),ft({type:c,values:u})}function wt(e){e=ie(e);let t=e.type==="hsl"||e.type==="hsla"?ie(jr(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 bo(e,t){const r=wt(e),n=wt(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}function So(e,t){return e=ie(e),t=Mt(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,ft(e)}function Be(e,t,r){try{return So(e,t)}catch{return e}}function Lt(e,t){if(e=ie(e),t=Mt(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 ft(e)}function E(e,t,r){try{return Lt(e,t)}catch{return e}}function Nt(e,t){if(e=ie(e),t=Mt(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 ft(e)}function O(e,t,r){try{return Nt(e,t)}catch{return e}}function vo(e,t=.15){return wt(e)>.5?Lt(e,t):Nt(e,t)}function Ie(e,t,r){try{return vo(e,t)}catch{return e}}function Co(e,t,r=void 0){const n={};for(const a in e){const o=e[a];let s="",c=!0;for(let u=0;u`var(--${e?`${e}-`:""}${n}${t(...a)})`}const nr=(e,t,r,n=[])=>{let a=e;t.forEach((o,s)=>{s===t.length-1?Array.isArray(a)?a[Number(o)]=r:a&&typeof a=="object"&&(a[o]=r):a&&typeof a=="object"&&(a[o]||(a[o]=n.includes(o)?[]:{}),a=a[o])})},To=(e,t,r)=>{function n(a,o=[],s=[]){Object.entries(a).forEach(([c,u])=>{(!r||r&&!r([...o,c]))&&u!=null&&(typeof u=="object"&&Object.keys(u).length>0?n(u,[...o,c],Array.isArray(u)?[...s,c]:s):t([...o,c],u,s))})}n(e)},$o=(e,t)=>typeof t=="number"?["lineHeight","fontWeight","opacity","zIndex"].some(n=>e.includes(n))||e[e.length-1].toLowerCase().includes("opacity")?t:`${t}px`:t;function pt(e,t){const{prefix:r,shouldSkipGeneratingVar:n}=t||{},a={},o={},s={};return To(e,(c,u,f)=>{if((typeof u=="string"||typeof u=="number")&&(!n||!n(c,u))){const p=`--${r?`${r}-`:""}${c.join("-")}`,d=$o(c,u);Object.assign(a,{[p]:d}),nr(o,c,`var(${p})`,f),nr(s,c,`var(${p}, ${d})`,f)}},c=>c[0]==="vars"),{css:a,vars:o,varsWithDefaults:s}}function Po(e,t={}){const{getSelector:r=v,disableCssColorScheme:n,colorSchemeSelector:a}=t,{colorSchemes:o={},components:s,defaultColorScheme:c="light",...u}=e,{vars:f,css:p,varsWithDefaults:d}=pt(u,t);let m=d;const b={},{[c]:g,...h}=o;if(Object.entries(h||{}).forEach(([x,C])=>{const{vars:k,css:A,varsWithDefaults:w}=pt(C,t);m=K(m,w),b[x]={css:A,vars:k}}),g){const{css:x,vars:C,varsWithDefaults:k}=pt(g,t);m=K(m,k),b[c]={css:x,vars:C}}function v(x,C){var A,w;let k=a;if(a==="class"&&(k=".%s"),a==="data"&&(k="[data-%s]"),a!=null&&a.startsWith("data-")&&!a.includes("%s")&&(k=`[${a}="%s"]`),x){if(k==="media")return e.defaultColorScheme===x?":root":{[`@media (prefers-color-scheme: ${((w=(A=o[x])==null?void 0:A.palette)==null?void 0:w.mode)||x})`]:{":root":C}};if(k)return e.defaultColorScheme===x?`:root, ${k.replace("%s",String(x))}`:k.replace("%s",String(x))}return":root"}return{vars:m,generateThemeVars:()=>{let x={...f};return Object.entries(b).forEach(([,{vars:C}])=>{x=K(x,C)}),x},generateStyleSheets:()=>{var D,H;const x=[],C=e.defaultColorScheme||"light";function k(i,y){Object.keys(y).length&&x.push(typeof i=="string"?{[i]:{...y}}:i)}k(r(void 0,{...p}),p);const{[C]:A,...w}=b;if(A){const{css:i}=A,y=(H=(D=o[C])==null?void 0:D.palette)==null?void 0:H.mode,T=!n&&y?{colorScheme:y,...i}:{...i};k(r(C,{...T}),T)}return Object.entries(w).forEach(([i,{css:y}])=>{var G,Z;const T=(Z=(G=o[i])==null?void 0:G.palette)==null?void 0:Z.mode,B=!n&&T?{colorScheme:T,...y}:{...y};k(r(i,{...B}),B)}),x}}}function _o(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)} &`:"&"}}const Pe={black:"#000",white:"#fff"},Eo={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"},ce={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"},le={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"},Ce={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"},ue={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"},fe={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"},de={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"};function Wr(){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:Pe.white,default:Pe.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}}}const Oo=Wr();function Gr(){return{text:{primary:Pe.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:Pe.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}}}const ar=Gr();function or(e,t,r,n){const a=n.light||n,o=n.dark||n*1.5;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:t==="light"?e.light=Nt(e.main,a):t==="dark"&&(e.dark=Lt(e.main,o)))}function Ro(e="light"){return e==="dark"?{main:ue[200],light:ue[50],dark:ue[400]}:{main:ue[700],light:ue[400],dark:ue[800]}}function Bo(e="light"){return e==="dark"?{main:ce[200],light:ce[50],dark:ce[400]}:{main:ce[500],light:ce[300],dark:ce[700]}}function Io(e="light"){return e==="dark"?{main:le[500],light:le[300],dark:le[700]}:{main:le[700],light:le[400],dark:le[800]}}function Fo(e="light"){return e==="dark"?{main:fe[400],light:fe[300],dark:fe[700]}:{main:fe[700],light:fe[500],dark:fe[900]}}function Mo(e="light"){return e==="dark"?{main:de[400],light:de[300],dark:de[700]}:{main:de[800],light:de[500],dark:de[900]}}function Lo(e="light"){return e==="dark"?{main:Ce[400],light:Ce[300],dark:Ce[700]}:{main:"#ed6c02",light:Ce[500],dark:Ce[900]}}function zt(e){const{mode:t="light",contrastThreshold:r=3,tonalOffset:n=.2,...a}=e,o=e.primary||Ro(t),s=e.secondary||Bo(t),c=e.error||Io(t),u=e.info||Fo(t),f=e.success||Mo(t),p=e.warning||Lo(t);function d(h){return bo(h,ar.text.primary)>=r?ar.text.primary:Oo.text.primary}const m=({color:h,name:v,mainShade:S=500,lightShade:$=300,darkShade:x=700})=>{if(h={...h},!h.main&&h[S]&&(h.main=h[S]),!h.hasOwnProperty("main"))throw new Error(se(11,v?` (${v})`:"",S));if(typeof h.main!="string")throw new Error(se(12,v?` (${v})`:"",JSON.stringify(h.main)));return or(h,"light",$,n),or(h,"dark",x,n),h.contrastText||(h.contrastText=d(h.main)),h};let b;return t==="light"?b=Wr():t==="dark"&&(b=Gr()),K({common:{...Pe},mode:t,primary:m({color:o,name:"primary"}),secondary:m({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:m({color:c,name:"error"}),warning:m({color:p,name:"warning"}),info:m({color:u,name:"info"}),success:m({color:f,name:"success"}),grey:Eo,contrastThreshold:r,getContrastText:d,augmentColor:m,tonalOffset:n,...b},a)}function No(e){const t={};return Object.entries(e).forEach(n=>{const[a,o]=n;typeof o=="object"&&(t[a]=`${o.fontStyle?`${o.fontStyle} `:""}${o.fontVariant?`${o.fontVariant} `:""}${o.fontWeight?`${o.fontWeight} `:""}${o.fontStretch?`${o.fontStretch} `:""}${o.fontSize||""}${o.lineHeight?`/${o.lineHeight} `:""}${o.fontFamily||""}`)}),t}function zo(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function jo(e){return Math.round(e*1e5)/1e5}const ir={textTransform:"uppercase"},sr='"Roboto", "Helvetica", "Arial", sans-serif';function Do(e,t){const{fontFamily:r=sr,fontSize:n=14,fontWeightLight:a=300,fontWeightRegular:o=400,fontWeightMedium:s=500,fontWeightBold:c=700,htmlFontSize:u=16,allVariants:f,pxToRem:p,...d}=typeof t=="function"?t(e):t,m=n/14,b=p||(v=>`${v/u*m}rem`),g=(v,S,$,x,C)=>({fontFamily:r,fontWeight:v,fontSize:b(S),lineHeight:$,...r===sr?{letterSpacing:`${jo(x/S)}em`}:{},...C,...f}),h={h1:g(a,96,1.167,-1.5),h2:g(a,60,1.2,-.5),h3:g(o,48,1.167,0),h4:g(o,34,1.235,.25),h5:g(o,24,1.334,0),h6:g(s,20,1.6,.15),subtitle1:g(o,16,1.75,.15),subtitle2:g(s,14,1.57,.1),body1:g(o,16,1.5,.15),body2:g(o,14,1.43,.15),button:g(s,14,1.75,.4,ir),caption:g(o,12,1.66,.4),overline:g(o,12,2.66,1,ir),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return K({htmlFontSize:u,pxToRem:b,fontFamily:r,fontSize:n,fontWeightLight:a,fontWeightRegular:o,fontWeightMedium:s,fontWeightBold:c,...h},d,{clone:!1})}const Wo=.2,Go=.14,Ho=.12;function F(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${Wo})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${Go})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${Ho})`].join(",")}const Ko=["none",F(0,2,1,-1,0,1,1,0,0,1,3,0),F(0,3,1,-2,0,2,2,0,0,1,5,0),F(0,3,3,-2,0,3,4,0,0,1,8,0),F(0,2,4,-1,0,4,5,0,0,1,10,0),F(0,3,5,-1,0,5,8,0,0,1,14,0),F(0,3,5,-1,0,6,10,0,0,1,18,0),F(0,4,5,-2,0,7,10,1,0,2,16,1),F(0,5,5,-3,0,8,10,1,0,3,14,2),F(0,5,6,-3,0,9,12,1,0,3,16,2),F(0,6,6,-3,0,10,14,1,0,4,18,3),F(0,6,7,-4,0,11,15,1,0,4,20,3),F(0,7,8,-4,0,12,17,2,0,5,22,4),F(0,7,8,-4,0,13,19,2,0,5,24,4),F(0,7,9,-4,0,14,21,2,0,5,26,4),F(0,8,9,-5,0,15,22,2,0,6,28,5),F(0,8,10,-5,0,16,24,2,0,6,30,5),F(0,8,11,-5,0,17,26,2,0,6,32,5),F(0,9,11,-5,0,18,28,2,0,7,34,6),F(0,9,12,-6,0,19,29,2,0,7,36,6),F(0,10,13,-6,0,20,31,3,0,8,38,7),F(0,10,13,-6,0,21,33,3,0,8,40,7),F(0,10,14,-6,0,22,35,3,0,8,42,7),F(0,11,14,-7,0,23,36,3,0,9,44,8),F(0,11,15,-7,0,24,38,3,0,9,46,8)],Vo={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)"},Uo={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function cr(e){return`${Math.round(e)}ms`}function Yo(e){if(!e)return 0;const t=e/36;return Math.min(Math.round((4+15*t**.25+t/5)*10),3e3)}function qo(e){const t={...Vo,...e.easing},r={...Uo,...e.duration};return{getAutoHeightDuration:Yo,create:(a=["all"],o={})=>{const{duration:s=r.standard,easing:c=t.easeInOut,delay:u=0,...f}=o;return(Array.isArray(a)?a:[a]).map(p=>`${p} ${typeof s=="string"?s:cr(s)} ${c} ${typeof u=="string"?u:cr(u)}`).join(",")},...e,easing:t,duration:r}}const Xo={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function Qo(e){return ae(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function Hr(e={}){const t={...e};function r(n){const a=Object.entries(n);for(let o=0;oK(b,g),m),m.unstable_sxConfig={...ut,...f==null?void 0:f.unstable_sxConfig},m.unstable_sx=function(g){return ye({sx:g,theme:this})},m.toRuntimeSource=Hr,m}function Oi(...e){return We(...e)}function Zo(e){let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Math.round(t*10)/1e3}const Jo=[...Array(25)].map((e,t)=>{if(t===0)return"none";const r=Zo(t);return`linear-gradient(rgba(255 255 255 / ${r}), rgba(255 255 255 / ${r}))`});function Kr(e){return{inputPlaceholder:e==="dark"?.5:.42,inputUnderline:e==="dark"?.7:.42,switchTrackDisabled:e==="dark"?.2:.12,switchTrack:e==="dark"?.3:.38}}function Vr(e){return e==="dark"?Jo:[]}function ei(e){const{palette:t={mode:"light"},opacity:r,overlays:n,...a}=e,o=zt(t);return{palette:o,opacity:{...Kr(o.mode),...r},overlays:n||Vr(o.mode),...a}}function ti(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)/))}const ri=e=>[...[...Array(25)].map((t,r)=>`--${e?`${e}-`:""}overlays-${r}`),`--${e?`${e}-`:""}palette-AppBar-darkBg`,`--${e?`${e}-`:""}palette-AppBar-darkColor`],ni=e=>(t,r)=>{const n=e.rootSelector||":root",a=e.colorSchemeSelector;let o=a;if(a==="class"&&(o=".%s"),a==="data"&&(o="[data-%s]"),a!=null&&a.startsWith("data-")&&!a.includes("%s")&&(o=`[${a}="%s"]`),e.defaultColorScheme===t){if(t==="dark"){const s={};return ri(e.cssVarPrefix).forEach(c=>{s[c]=r[c],delete r[c]}),o==="media"?{[n]:r,"@media (prefers-color-scheme: dark)":{[n]:s}}:o?{[o.replace("%s",t)]:s,[`${n}, ${o.replace("%s",t)}`]:r}:{[n]:{...r,...s}}}if(o&&o!=="media")return`${n}, ${o.replace("%s",String(t))}`}else if(t){if(o==="media")return{[`@media (prefers-color-scheme: ${String(t)})`]:{[n]:r}};if(o)return o.replace("%s",String(t))}return n};function ai(e,t){t.forEach(r=>{e[r]||(e[r]={})})}function l(e,t,r){!e[t]&&r&&(e[t]=r)}function xe(e){return typeof e!="string"||!e.startsWith("hsl")?e:jr(e)}function ne(e,t){`${t}Channel`in e||(e[`${t}Channel`]=we(xe(e[t])))}function oi(e){return typeof e=="number"?`${e}px`:typeof e=="string"||typeof e=="function"||Array.isArray(e)?e:"8px"}const J=e=>{try{return e()}catch{}},ii=(e="mui")=>Ao(e);function ht(e,t,r,n){if(!t)return;t=t===!0?{}:t;const a=n==="dark"?"dark":"light";if(!r){e[n]=ei({...t,palette:{mode:a,...t==null?void 0:t.palette}});return}const{palette:o,...s}=We({...r,palette:{mode:a,...t==null?void 0:t.palette}});return e[n]={...t,palette:o,opacity:{...Kr(a),...t==null?void 0:t.opacity},overlays:(t==null?void 0:t.overlays)||Vr(a)},s}function si(e={},...t){const{colorSchemes:r={light:!0},defaultColorScheme:n,disableCssColorScheme:a=!1,cssVarPrefix:o="mui",shouldSkipGeneratingVar:s=ti,colorSchemeSelector:c=r.light&&r.dark?"media":void 0,rootSelector:u=":root",...f}=e,p=Object.keys(r)[0],d=n||(r.light&&p!=="light"?"light":p),m=ii(o),{[d]:b,light:g,dark:h,...v}=r,S={...v};let $=b;if((d==="dark"&&!("dark"in r)||d==="light"&&!("light"in r))&&($=!0),!$)throw new Error(se(21,d));const x=ht(S,$,f,d);g&&!S.light&&ht(S,g,void 0,"light"),h&&!S.dark&&ht(S,h,void 0,"dark");let C={defaultColorScheme:d,...x,cssVarPrefix:o,colorSchemeSelector:c,rootSelector:u,getCssVar:m,colorSchemes:S,font:{...No(x.typography),...x.font},spacing:oi(f.spacing)};Object.keys(C.colorSchemes).forEach(H=>{const i=C.colorSchemes[H].palette,y=T=>{const B=T.split("-"),G=B[1],Z=B[2];return m(T,i[G][Z])};if(i.mode==="light"&&(l(i.common,"background","#fff"),l(i.common,"onBackground","#000")),i.mode==="dark"&&(l(i.common,"background","#000"),l(i.common,"onBackground","#fff")),ai(i,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),i.mode==="light"){l(i.Alert,"errorColor",E(i.error.light,.6)),l(i.Alert,"infoColor",E(i.info.light,.6)),l(i.Alert,"successColor",E(i.success.light,.6)),l(i.Alert,"warningColor",E(i.warning.light,.6)),l(i.Alert,"errorFilledBg",y("palette-error-main")),l(i.Alert,"infoFilledBg",y("palette-info-main")),l(i.Alert,"successFilledBg",y("palette-success-main")),l(i.Alert,"warningFilledBg",y("palette-warning-main")),l(i.Alert,"errorFilledColor",J(()=>i.getContrastText(i.error.main))),l(i.Alert,"infoFilledColor",J(()=>i.getContrastText(i.info.main))),l(i.Alert,"successFilledColor",J(()=>i.getContrastText(i.success.main))),l(i.Alert,"warningFilledColor",J(()=>i.getContrastText(i.warning.main))),l(i.Alert,"errorStandardBg",O(i.error.light,.9)),l(i.Alert,"infoStandardBg",O(i.info.light,.9)),l(i.Alert,"successStandardBg",O(i.success.light,.9)),l(i.Alert,"warningStandardBg",O(i.warning.light,.9)),l(i.Alert,"errorIconColor",y("palette-error-main")),l(i.Alert,"infoIconColor",y("palette-info-main")),l(i.Alert,"successIconColor",y("palette-success-main")),l(i.Alert,"warningIconColor",y("palette-warning-main")),l(i.AppBar,"defaultBg",y("palette-grey-100")),l(i.Avatar,"defaultBg",y("palette-grey-400")),l(i.Button,"inheritContainedBg",y("palette-grey-300")),l(i.Button,"inheritContainedHoverBg",y("palette-grey-A100")),l(i.Chip,"defaultBorder",y("palette-grey-400")),l(i.Chip,"defaultAvatarColor",y("palette-grey-700")),l(i.Chip,"defaultIconColor",y("palette-grey-700")),l(i.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),l(i.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),l(i.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),l(i.LinearProgress,"primaryBg",O(i.primary.main,.62)),l(i.LinearProgress,"secondaryBg",O(i.secondary.main,.62)),l(i.LinearProgress,"errorBg",O(i.error.main,.62)),l(i.LinearProgress,"infoBg",O(i.info.main,.62)),l(i.LinearProgress,"successBg",O(i.success.main,.62)),l(i.LinearProgress,"warningBg",O(i.warning.main,.62)),l(i.Skeleton,"bg",`rgba(${y("palette-text-primaryChannel")} / 0.11)`),l(i.Slider,"primaryTrack",O(i.primary.main,.62)),l(i.Slider,"secondaryTrack",O(i.secondary.main,.62)),l(i.Slider,"errorTrack",O(i.error.main,.62)),l(i.Slider,"infoTrack",O(i.info.main,.62)),l(i.Slider,"successTrack",O(i.success.main,.62)),l(i.Slider,"warningTrack",O(i.warning.main,.62));const T=Ie(i.background.default,.8);l(i.SnackbarContent,"bg",T),l(i.SnackbarContent,"color",J(()=>i.getContrastText(T))),l(i.SpeedDialAction,"fabHoverBg",Ie(i.background.paper,.15)),l(i.StepConnector,"border",y("palette-grey-400")),l(i.StepContent,"border",y("palette-grey-400")),l(i.Switch,"defaultColor",y("palette-common-white")),l(i.Switch,"defaultDisabledColor",y("palette-grey-100")),l(i.Switch,"primaryDisabledColor",O(i.primary.main,.62)),l(i.Switch,"secondaryDisabledColor",O(i.secondary.main,.62)),l(i.Switch,"errorDisabledColor",O(i.error.main,.62)),l(i.Switch,"infoDisabledColor",O(i.info.main,.62)),l(i.Switch,"successDisabledColor",O(i.success.main,.62)),l(i.Switch,"warningDisabledColor",O(i.warning.main,.62)),l(i.TableCell,"border",O(Be(i.divider,1),.88)),l(i.Tooltip,"bg",Be(i.grey[700],.92))}if(i.mode==="dark"){l(i.Alert,"errorColor",O(i.error.light,.6)),l(i.Alert,"infoColor",O(i.info.light,.6)),l(i.Alert,"successColor",O(i.success.light,.6)),l(i.Alert,"warningColor",O(i.warning.light,.6)),l(i.Alert,"errorFilledBg",y("palette-error-dark")),l(i.Alert,"infoFilledBg",y("palette-info-dark")),l(i.Alert,"successFilledBg",y("palette-success-dark")),l(i.Alert,"warningFilledBg",y("palette-warning-dark")),l(i.Alert,"errorFilledColor",J(()=>i.getContrastText(i.error.dark))),l(i.Alert,"infoFilledColor",J(()=>i.getContrastText(i.info.dark))),l(i.Alert,"successFilledColor",J(()=>i.getContrastText(i.success.dark))),l(i.Alert,"warningFilledColor",J(()=>i.getContrastText(i.warning.dark))),l(i.Alert,"errorStandardBg",E(i.error.light,.9)),l(i.Alert,"infoStandardBg",E(i.info.light,.9)),l(i.Alert,"successStandardBg",E(i.success.light,.9)),l(i.Alert,"warningStandardBg",E(i.warning.light,.9)),l(i.Alert,"errorIconColor",y("palette-error-main")),l(i.Alert,"infoIconColor",y("palette-info-main")),l(i.Alert,"successIconColor",y("palette-success-main")),l(i.Alert,"warningIconColor",y("palette-warning-main")),l(i.AppBar,"defaultBg",y("palette-grey-900")),l(i.AppBar,"darkBg",y("palette-background-paper")),l(i.AppBar,"darkColor",y("palette-text-primary")),l(i.Avatar,"defaultBg",y("palette-grey-600")),l(i.Button,"inheritContainedBg",y("palette-grey-800")),l(i.Button,"inheritContainedHoverBg",y("palette-grey-700")),l(i.Chip,"defaultBorder",y("palette-grey-700")),l(i.Chip,"defaultAvatarColor",y("palette-grey-300")),l(i.Chip,"defaultIconColor",y("palette-grey-300")),l(i.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),l(i.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),l(i.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),l(i.LinearProgress,"primaryBg",E(i.primary.main,.5)),l(i.LinearProgress,"secondaryBg",E(i.secondary.main,.5)),l(i.LinearProgress,"errorBg",E(i.error.main,.5)),l(i.LinearProgress,"infoBg",E(i.info.main,.5)),l(i.LinearProgress,"successBg",E(i.success.main,.5)),l(i.LinearProgress,"warningBg",E(i.warning.main,.5)),l(i.Skeleton,"bg",`rgba(${y("palette-text-primaryChannel")} / 0.13)`),l(i.Slider,"primaryTrack",E(i.primary.main,.5)),l(i.Slider,"secondaryTrack",E(i.secondary.main,.5)),l(i.Slider,"errorTrack",E(i.error.main,.5)),l(i.Slider,"infoTrack",E(i.info.main,.5)),l(i.Slider,"successTrack",E(i.success.main,.5)),l(i.Slider,"warningTrack",E(i.warning.main,.5));const T=Ie(i.background.default,.98);l(i.SnackbarContent,"bg",T),l(i.SnackbarContent,"color",J(()=>i.getContrastText(T))),l(i.SpeedDialAction,"fabHoverBg",Ie(i.background.paper,.15)),l(i.StepConnector,"border",y("palette-grey-600")),l(i.StepContent,"border",y("palette-grey-600")),l(i.Switch,"defaultColor",y("palette-grey-300")),l(i.Switch,"defaultDisabledColor",y("palette-grey-600")),l(i.Switch,"primaryDisabledColor",E(i.primary.main,.55)),l(i.Switch,"secondaryDisabledColor",E(i.secondary.main,.55)),l(i.Switch,"errorDisabledColor",E(i.error.main,.55)),l(i.Switch,"infoDisabledColor",E(i.info.main,.55)),l(i.Switch,"successDisabledColor",E(i.success.main,.55)),l(i.Switch,"warningDisabledColor",E(i.warning.main,.55)),l(i.TableCell,"border",E(Be(i.divider,1),.68)),l(i.Tooltip,"bg",Be(i.grey[700],.92))}ne(i.background,"default"),ne(i.background,"paper"),ne(i.common,"background"),ne(i.common,"onBackground"),ne(i,"divider"),Object.keys(i).forEach(T=>{const B=i[T];T!=="tonalOffset"&&B&&typeof B=="object"&&(B.main&&l(i[T],"mainChannel",we(xe(B.main))),B.light&&l(i[T],"lightChannel",we(xe(B.light))),B.dark&&l(i[T],"darkChannel",we(xe(B.dark))),B.contrastText&&l(i[T],"contrastTextChannel",we(xe(B.contrastText))),T==="text"&&(ne(i[T],"primary"),ne(i[T],"secondary")),T==="action"&&(B.active&&ne(i[T],"active"),B.selected&&ne(i[T],"selected")))})}),C=t.reduce((H,i)=>K(H,i),C);const k={prefix:o,disableCssColorScheme:a,shouldSkipGeneratingVar:s,getSelector:ni(C)},{vars:A,generateThemeVars:w,generateStyleSheets:D}=Po(C,k);return C.vars=A,Object.entries(C.colorSchemes[C.defaultColorScheme]).forEach(([H,i])=>{C[H]=i}),C.generateThemeVars=w,C.generateStyleSheets=D,C.generateSpacing=function(){return Ir(f.spacing,It(this))},C.getColorSchemeSelector=_o(c),C.spacing=C.generateSpacing(),C.shouldSkipGeneratingVar=s,C.unstable_sxConfig={...ut,...f==null?void 0:f.unstable_sxConfig},C.unstable_sx=function(i){return ye({sx:i,theme:this})},C.toRuntimeSource=Hr,C}function lr(e,t,r){e.colorSchemes&&r&&(e.colorSchemes[t]={...r!==!0&&r,palette:zt({...r===!0?{}:r.palette,mode:t})})}function ci(e={},...t){const{palette:r,cssVariables:n=!1,colorSchemes:a=r?void 0:{light:!0},defaultColorScheme:o=r==null?void 0:r.mode,...s}=e,c=o||"light",u=a==null?void 0:a[c],f={...a,...r?{[c]:{...typeof u!="boolean"&&u,palette:r}}:void 0};if(n===!1){if(!("colorSchemes"in e))return We(e,...t);let p=r;"palette"in e||f[c]&&(f[c]!==!0?p=f[c].palette:c==="dark"&&(p={mode:"dark"}));const d=We({...e,palette:p},...t);return d.defaultColorScheme=c,d.colorSchemes=f,d.palette.mode==="light"&&(d.colorSchemes.light={...f.light!==!0&&f.light,palette:d.palette},lr(d,"dark",f.dark)),d.palette.mode==="dark"&&(d.colorSchemes.dark={...f.dark!==!0&&f.dark,palette:d.palette},lr(d,"light",f.light)),d}return!r&&!("light"in f)&&c==="light"&&(f.light=!0),si({...s,colorSchemes:f,defaultColorScheme:c,...typeof n!="boolean"&&n},...t)}const li=ci();function ui(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const fi=e=>ui(e)&&e!=="classes",di=co({themeId:rn,defaultTheme:li,rootShouldForwardProp:fi}),mi=ko;function pi(e){return xo(e)}function hi(e){return Lr("MuiSvgIcon",e)}const Ri=ao("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]),gi=e=>{const{color:t,fontSize:r,classes:n}=e,a={root:["root",t!=="inherit"&&`color${ge(t)}`,`fontSize${ge(r)}`]};return Co(a,hi,n)},yi=di("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.color!=="inherit"&&t[`color${ge(r.color)}`],t[`fontSize${ge(r.fontSize)}`]]}})(mi(({theme:e})=>{var t,r,n,a,o,s,c,u,f,p,d,m,b,g;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:(a=(t=e.transitions)==null?void 0:t.create)==null?void 0:a.call(t,"fill",{duration:(n=(r=(e.vars??e).transitions)==null?void 0:r.duration)==null?void 0:n.shorter}),variants:[{props:h=>!h.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:((s=(o=e.typography)==null?void 0:o.pxToRem)==null?void 0:s.call(o,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:((u=(c=e.typography)==null?void 0:c.pxToRem)==null?void 0:u.call(c,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:((p=(f=e.typography)==null?void 0:f.pxToRem)==null?void 0:p.call(f,35))||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,h])=>h&&h.main).map(([h])=>{var v,S;return{props:{color:h},style:{color:(S=(v=(e.vars??e).palette)==null?void 0:v[h])==null?void 0:S.main}}}),{props:{color:"action"},style:{color:(m=(d=(e.vars??e).palette)==null?void 0:d.action)==null?void 0:m.active}},{props:{color:"disabled"},style:{color:(g=(b=(e.vars??e).palette)==null?void 0:b.action)==null?void 0:g.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),xt=I.forwardRef(function(t,r){const n=pi({props:t,name:"MuiSvgIcon"}),{children:a,className:o,color:s="inherit",component:c="svg",fontSize:u="medium",htmlColor:f,inheritViewBox:p=!1,titleAccess:d,viewBox:m="0 0 24 24",...b}=n,g=I.isValidElement(a)&&a.type==="svg",h={...n,color:s,component:c,fontSize:u,instanceFontSize:t.fontSize,inheritViewBox:p,viewBox:m,hasSvgAsChild:g},v={};p||(v.viewBox=m);const S=gi(h);return ze.jsxs(yi,{as:c,className:ro(S.root,o),focusable:"false",color:f,"aria-hidden":d?void 0:!0,role:d?"img":void 0,ref:r,...v,...b,...g&&a.props,ownerState:h,children:[g?a.props.children:a,d?ze.jsx("title",{children:d}):null]})});xt.muiName="SvgIcon";function Bi(e,t){function r(n,a){return ze.jsx(xt,{"data-testid":`${t}Icon`,ref:a,...n,children:e})}return r.muiName=xt.muiName,I.memo(I.forwardRef(r))}export{xt as $,Oe as A,Ir as B,oa as C,se as D,li as E,si as F,ue as G,Pe as H,fe as I,ce as J,to as K,ao as L,pi as M,Uo as N,di as O,Ai as P,mi as Q,Zo as R,Lt as S,rn as T,Nt as U,vo as V,fi as W,at as X,ui as Y,po as Z,gt as _,Eo as a,ho as a0,_i as a1,jr as a2,ie as a3,ft as a4,bo as a5,wt as a6,Oi as a7,qo as a8,Vo as a9,ei as aa,ti as ab,Do as ac,zo as ad,ri as ae,Ri as af,hi as ag,Pt as ah,Tr as ai,_t as aj,Ci as ak,Cr as al,$r as am,ki as an,xi as ao,wi as ap,Rn as aq,on as ar,Ei as as,ci as b,Bi as c,So as d,ae as e,ut as f,de as g,ye as h,Gn as i,ze as j,ro as k,co as l,Ct as m,ge as n,Ce as o,Co as p,Fr as q,le as r,ea as s,Lr as t,Pi as u,oe as v,$i as w,It as x,K as y,Ti as z}; diff --git a/admin/assets/createSvgIcon-DMsh-YeH.js b/admin/assets/createSvgIcon-DMsh-YeH.js new file mode 100644 index 000000000..8ea8f7682 --- /dev/null +++ b/admin/assets/createSvgIcon-DMsh-YeH.js @@ -0,0 +1,30 @@ +import{i as I,a as Wt}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{g as Ur}from"./_commonjsHelpers-Cpj98o6Y.js";import{i as Yr,a as qr}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";var ur={exports:{}},Ge={};/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Xr=I,Qr=Symbol.for("react.element"),Zr=Symbol.for("react.fragment"),Jr=Object.prototype.hasOwnProperty,en=Xr.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,tn={key:!0,ref:!0,__self:!0,__source:!0};function fr(e,t,r){var n,a={},o=null,s=null;r!==void 0&&(o=""+r),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(s=t.ref);for(n in t)Jr.call(t,n)&&!tn.hasOwnProperty(n)&&(a[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)a[n]===void 0&&(a[n]=t[n]);return{$$typeof:Qr,type:e,key:o,ref:s,props:a,_owner:en.current}}Ge.Fragment=Zr;Ge.jsx=fr;Ge.jsxs=fr;ur.exports=Ge;var ze=ur.exports;function se(e,...t){const r=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(n=>r.searchParams.append("args[]",n)),`Minified MUI error #${e}; visit ${r} for the full message.`}const rn="$$material";function gt(){return gt=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?j(be,--V):0,he--,z===10&&(he=1,Ke--),z}function Y(){return z=V2||Te(z)>3?"":" "}function yn(e,t){for(;--t&&Y()&&!(z<48||z>102||z>57&&z<65||z>70&&z<97););return Ee(e,Fe()+(t<6&&re()==32&&Y()==32))}function bt(e){for(;Y();)switch(z){case e:return V;case 34:case 39:e!==34&&e!==39&&bt(z);break;case 40:e===41&&bt(e);break;case 92:Y();break}return V}function bn(e,t){for(;Y()&&e+z!==57;)if(e+z===84&&re()===47)break;return"/*"+Ee(t,V-1)+"*"+He(e===47?e:Y())}function Sn(e){for(;!Te(re());)Y();return Ee(e,V)}function vn(e){return yr(Le("",null,null,null,[""],e=gr(e),0,[0],e))}function Le(e,t,r,n,a,o,s,c,u){for(var f=0,p=0,d=s,m=0,b=0,g=0,h=1,v=1,S=1,$=0,w="",C=a,k=o,A=n,x=w;v;)switch(g=$,$=Y()){case 40:if(g!=108&&j(x,d-1)==58){yt(x+=E(Me($),"&","&\f"),"&\f")!=-1&&(S=-1);break}case 34:case 39:case 91:x+=Me($);break;case 9:case 10:case 13:case 32:x+=gn(g);break;case 92:x+=yn(Fe()-1,7);continue;case 47:switch(re()){case 42:case 47:Re(Cn(bn(Y(),Fe()),t,r),u);break;default:x+="/"}break;case 123*h:c[f++]=ee(x)*S;case 125*h:case 59:case 0:switch($){case 0:case 125:v=0;case 59+p:S==-1&&(x=E(x,/\f/g,"")),b>0&&ee(x)-d&&Re(b>32?Ht(x+";",n,r,d-1):Ht(E(x," ","")+";",n,r,d-2),u);break;case 59:x+=";";default:if(Re(A=Gt(x,t,r,f,p,a,c,w,C=[],k=[],d),o),$===123)if(p===0)Le(x,t,A,A,C,o,d,c,k);else switch(m===99&&j(x,3)===110?100:m){case 100:case 108:case 109:case 115:Le(e,A,A,n&&Re(Gt(e,A,A,0,0,a,c,w,a,C=[],d),k),a,k,d,c,n?C:k);break;default:Le(x,A,A,A,[""],k,0,c,k)}}f=p=b=0,h=S=1,w=x="",d=s;break;case 58:d=1+ee(x),b=g;default:if(h<1){if($==123)--h;else if($==125&&h++==0&&hn()==125)continue}switch(x+=He($),$*h){case 38:S=p>0?1:(x+="\f",-1);break;case 44:c[f++]=(ee(x)-1)*S,S=1;break;case 64:re()===45&&(x+=Me(Y())),m=re(),p=d=ee(w=x+=Sn(Fe())),$++;break;case 45:g===45&&ee(x)==2&&(h=0)}}return o}function Gt(e,t,r,n,a,o,s,c,u,f,p){for(var d=a-1,m=a===0?o:[""],b=Tt(m),g=0,h=0,v=0;g0?m[S]+" "+$:E($,/&\f/g,m[S])))&&(u[v++]=w);return Ve(e,t,r,a===0?kt:c,u,f,p)}function Cn(e,t,r){return Ve(e,t,r,dr,He(pn()),Ae(e,2,-2),0)}function Ht(e,t,r,n){return Ve(e,t,r,At,Ae(e,0,n),Ae(e,n+1,-1),n)}function me(e,t){for(var r="",n=Tt(e),a=0;a6)switch(j(e,t+1)){case 109:if(j(e,t+4)!==45)break;case 102:return E(e,/(.+:)(.+)-([^]+)/,"$1"+P+"$2-$3$1"+je+(j(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~yt(e,"stretch")?Sr(E(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(j(e,t+1)!==115)break;case 6444:switch(j(e,ee(e)-3-(~yt(e,"!important")&&10))){case 107:return E(e,":",":"+P)+e;case 101:return E(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+P+(j(e,14)===45?"inline-":"")+"box$3$1"+P+"$2$3$1"+W+"$2box$3")+e}break;case 5936:switch(j(e,t+11)){case 114:return P+e+W+E(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return P+e+W+E(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return P+e+W+E(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return P+e+W+e+e}return e}var _n=function(t,r,n,a){if(t.length>-1&&!t.return)switch(t.type){case At:t.return=Sr(t.value,t.length);break;case mr:return me([ve(t,{value:E(t.value,"@","@"+P)})],a);case kt:if(t.length)return mn(t.props,function(o){switch(dn(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return me([ve(t,{props:[E(o,/:(read-\w+)/,":"+je+"$1")]})],a);case"::placeholder":return me([ve(t,{props:[E(o,/:(plac\w+)/,":"+P+"input-$1")]}),ve(t,{props:[E(o,/:(plac\w+)/,":"+je+"$1")]}),ve(t,{props:[E(o,/:(plac\w+)/,W+"input-$1")]})],a)}return""})}},On=[_n],Rn=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(h){var v=h.getAttribute("data-emotion");v.indexOf(" ")!==-1&&(document.head.appendChild(h),h.setAttribute("data-s",""))})}var a=t.stylisPlugins||On,o={},s,c=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(h){for(var v=h.getAttribute("data-emotion").split(" "),S=1;S=4;++n,a-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&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(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&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 Fn={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},Mn=/[A-Z]|^ms/g,Ln=/_EMO_([^_]+?)_([^]*?)_EMO_/g,xr=function(t){return t.charCodeAt(1)===45},Vt=function(t){return t!=null&&typeof t!="boolean"},dt=br(function(e){return xr(e)?e:e.replace(Mn,"-$&").toLowerCase()}),Ut=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(Ln,function(n,a,o){return te={name:a,styles:o,next:te},a})}return Fn[t]!==1&&!xr(t)&&typeof r=="number"&&r!==0?r+"px":r};function $e(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var a=r;if(a.anim===1)return te={name:a.name,styles:a.styles,next:te},a.name;var o=r;if(o.styles!==void 0){var s=o.next;if(s!==void 0)for(;s!==void 0;)te={name:s.name,styles:s.styles,next:te},s=s.next;var c=o.styles+";";return c}return Nn(e,t,r)}case"function":{if(e!==void 0){var u=te,f=r(e);return te=u,$e(e,t,f)}break}}var p=r;if(t==null)return p;var d=t[p];return d!==void 0?d:p}function Nn(e,t,r){var n="";if(Array.isArray(r))for(var a=0;a96?Hn:Kn},Xt=function(t,r,n){var a;if(r){var o=r.shouldForwardProp;a=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof a!="function"&&n&&(a=t.__emotion_forwardProp),a},Vn=function(t){var r=t.cache,n=t.serialized,a=t.isStringTag;return $t(r,n,a),kr(function(){return Cr(r,n,a)}),null},Un=function e(t,r){var n=t.__emotion_real===t,a=n&&t.__emotion_base||t,o,s;r!==void 0&&(o=r.label,s=r.target);var c=Xt(t,r,n),u=c||qt(a),f=!u("as");return function(){var p=arguments,d=n&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&d.push("label:"+o+";"),p[0]==null||p[0].raw===void 0)d.push.apply(d,p);else{var m=p[0];d.push(m[0]);for(var b=p.length,g=1;gqn("prop-types",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),Zn=await Qn.then(e=>e());var Jn=Zn;const Ai=Ur(Jn);/** + * @mui/styled-engine v6.4.11 + * + * @license MIT + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function ea(e,t){return vt(e,t)}function ta(e,t){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}const Qt=[];function Zt(e){return Qt[0]=e,Pt(Qt)}var Pr={exports:{}},R={};/** + * @license React + * react-is.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var _t=Symbol.for("react.transitional.element"),Ot=Symbol.for("react.portal"),Ue=Symbol.for("react.fragment"),Ye=Symbol.for("react.strict_mode"),qe=Symbol.for("react.profiler"),Xe=Symbol.for("react.consumer"),Qe=Symbol.for("react.context"),Ze=Symbol.for("react.forward_ref"),Je=Symbol.for("react.suspense"),et=Symbol.for("react.suspense_list"),tt=Symbol.for("react.memo"),rt=Symbol.for("react.lazy"),ra=Symbol.for("react.offscreen"),na=Symbol.for("react.client.reference");function X(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case _t:switch(e=e.type,e){case Ue:case qe:case Ye:case Je:case et:return e;default:switch(e=e&&e.$$typeof,e){case Qe:case Ze:case rt:case tt:return e;case Xe:return e;default:return t}}case Ot:return t}}}R.ContextConsumer=Xe;R.ContextProvider=Qe;R.Element=_t;R.ForwardRef=Ze;R.Fragment=Ue;R.Lazy=rt;R.Memo=tt;R.Portal=Ot;R.Profiler=qe;R.StrictMode=Ye;R.Suspense=Je;R.SuspenseList=et;R.isContextConsumer=function(e){return X(e)===Xe};R.isContextProvider=function(e){return X(e)===Qe};R.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===_t};R.isForwardRef=function(e){return X(e)===Ze};R.isFragment=function(e){return X(e)===Ue};R.isLazy=function(e){return X(e)===rt};R.isMemo=function(e){return X(e)===tt};R.isPortal=function(e){return X(e)===Ot};R.isProfiler=function(e){return X(e)===qe};R.isStrictMode=function(e){return X(e)===Ye};R.isSuspense=function(e){return X(e)===Je};R.isSuspenseList=function(e){return X(e)===et};R.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Ue||e===qe||e===Ye||e===Je||e===et||e===ra||typeof e=="object"&&e!==null&&(e.$$typeof===rt||e.$$typeof===tt||e.$$typeof===Qe||e.$$typeof===Xe||e.$$typeof===Ze||e.$$typeof===na||e.getModuleId!==void 0)};R.typeOf=X;Pr.exports=R;var Er=Pr.exports;function ae(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function _r(e){if(I.isValidElement(e)||Er.isValidElementType(e)||!ae(e))return e;const t={};return Object.keys(e).forEach(r=>{t[r]=_r(e[r])}),t}function K(e,t,r={clone:!0}){const n=r.clone?{...e}:e;return ae(e)&&ae(t)&&Object.keys(t).forEach(a=>{I.isValidElement(t[a])||Er.isValidElementType(t[a])?n[a]=t[a]:ae(t[a])&&Object.prototype.hasOwnProperty.call(e,a)&&ae(e[a])?n[a]=K(e[a],t[a],r):r.clone?n[a]=ae(t[a])?_r(t[a]):t[a]:n[a]=t[a]}),n}const aa=e=>{const t=Object.keys(e).map(r=>({key:r,val:e[r]}))||[];return t.sort((r,n)=>r.val-n.val),t.reduce((r,n)=>({...r,[n.key]:n.val}),{})};function oa(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:n=5,...a}=e,o=aa(t),s=Object.keys(o);function c(m){return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${r})`}function u(m){return`@media (max-width:${(typeof t[m]=="number"?t[m]:m)-n/100}${r})`}function f(m,b){const g=s.indexOf(b);return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${r}) and (max-width:${(g!==-1&&typeof t[s[g]]=="number"?t[s[g]]:b)-n/100}${r})`}function p(m){return s.indexOf(m)+1n.startsWith("@container")).sort((n,a)=>{var s,c;const o=/min-width:\s*([0-9.]+)/;return+(((s=n.match(o))==null?void 0:s[1])||0)-+(((c=a.match(o))==null?void 0:c[1])||0)});return r.length?r.reduce((n,a)=>{const o=t[a];return delete n[a],n[a]=o,n},{...t}):t}function sa(e,t){return t==="@"||t.startsWith("@")&&(e.some(r=>t.startsWith(`@${r}`))||!!t.match(/^@\d/))}function ca(e,t){const r=t.match(/^@([^/]+)?\/?(.+)?$/);if(!r)return null;const[,n,a]=r,o=Number.isNaN(+n)?n||0:+n;return e.containerQueries(a).up(o)}function la(e){const t=(o,s)=>o.replace("@media",s?`@container ${s}`:"@container");function r(o,s){o.up=(...c)=>t(e.breakpoints.up(...c),s),o.down=(...c)=>t(e.breakpoints.down(...c),s),o.between=(...c)=>t(e.breakpoints.between(...c),s),o.only=(...c)=>t(e.breakpoints.only(...c),s),o.not=(...c)=>{const u=t(e.breakpoints.not(...c),s);return u.includes("not all and")?u.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):u}}const n={},a=o=>(r(n,o),n);return r(a),{...e,containerQueries:a}}const ua={borderRadius:4};function ke(e,t){return t?K(e,t,{clone:!1}):e}const nt={xs:0,sm:600,md:900,lg:1200,xl:1536},Jt={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${nt[e]}px)`},fa={containerQueries:e=>({up:t=>{let r=typeof t=="number"?t:nt[t]||t;return typeof r=="number"&&(r=`${r}px`),e?`@container ${e} (min-width:${r})`:`@container (min-width:${r})`}})};function oe(e,t,r){const n=e.theme||{};if(Array.isArray(t)){const o=n.breakpoints||Jt;return t.reduce((s,c,u)=>(s[o.up(o.keys[u])]=r(t[u]),s),{})}if(typeof t=="object"){const o=n.breakpoints||Jt;return Object.keys(t).reduce((s,c)=>{if(sa(o.keys,c)){const u=ca(n.containerQueries?n:fa,c);u&&(s[u]=r(t[c],c))}else if(Object.keys(o.values||nt).includes(c)){const u=o.up(c);s[u]=r(t[c],c)}else{const u=c;s[u]=t[u]}return s},{})}return r(t)}function Or(e={}){var r;return((r=e.keys)==null?void 0:r.reduce((n,a)=>{const o=e.up(a);return n[o]={},n},{}))||{}}function Rr(e,t){return e.reduce((r,n)=>{const a=r[n];return(!a||Object.keys(a).length===0)&&delete r[n],r},t)}function Ti(e,...t){const r=Or(e),n=[r,...t].reduce((a,o)=>K(a,o),{});return Rr(Object.keys(r),n)}function da(e,t){if(typeof e!="object")return{};const r={},n=Object.keys(t);return Array.isArray(e)?n.forEach((a,o)=>{o{e[a]!=null&&(r[a]=!0)}),r}function $i({values:e,breakpoints:t,base:r}){const n=r||da(e,t),a=Object.keys(n);if(a.length===0)return e;let o;return a.reduce((s,c,u)=>(Array.isArray(e)?(s[c]=e[u]!=null?e[u]:e[o],o=u):typeof e=="object"?(s[c]=e[c]!=null?e[c]:e[o],o=c):s[c]=e,s),{})}function ge(e){if(typeof e!="string")throw new Error(se(7));return e.charAt(0).toUpperCase()+e.slice(1)}function at(e,t,r=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&r){const n=`vars.${t}`.split(".").reduce((a,o)=>a&&a[o]?a[o]:null,e);if(n!=null)return n}return t.split(".").reduce((n,a)=>n&&n[a]!=null?n[a]:null,e)}function De(e,t,r,n=r){let a;return typeof e=="function"?a=e(r):Array.isArray(e)?a=e[r]||n:a=at(e,r)||n,t&&(a=t(a,n,e)),a}function N(e){const{prop:t,cssProperty:r=e.prop,themeKey:n,transform:a}=e,o=s=>{if(s[t]==null)return null;const c=s[t],u=s.theme,f=at(u,n)||{};return oe(s,c,d=>{let m=De(f,a,d);return d===m&&typeof d=="string"&&(m=De(f,a,`${t}${d==="default"?"":ge(d)}`,d)),r===!1?m:{[r]:m}})};return o.propTypes={},o.filterProps=[t],o}function ma(e){const t={};return r=>(t[r]===void 0&&(t[r]=e(r)),t[r])}const pa={m:"margin",p:"padding"},ha={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},er={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},ga=ma(e=>{if(e.length>2)if(er[e])e=er[e];else return[e];const[t,r]=e.split(""),n=pa[t],a=ha[r]||"";return Array.isArray(a)?a.map(o=>n+o):[n+a]}),Rt=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],Bt=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...Rt,...Bt];function _e(e,t,r,n){const a=at(e,t,!0)??r;return typeof a=="number"||typeof a=="string"?o=>typeof o=="string"?o:typeof a=="string"?`calc(${o} * ${a})`:a*o:Array.isArray(a)?o=>{if(typeof o=="string")return o;const s=Math.abs(o),c=a[s];return o>=0?c:typeof c=="number"?-c:`-${c}`}:typeof a=="function"?a:()=>{}}function It(e){return _e(e,"spacing",8)}function Oe(e,t){return typeof t=="string"||t==null?t:e(t)}function ya(e,t){return r=>e.reduce((n,a)=>(n[a]=Oe(t,r),n),{})}function ba(e,t,r,n){if(!t.includes(r))return null;const a=ga(r),o=ya(a,n),s=e[r];return oe(e,s,o)}function Br(e,t){const r=It(e.theme);return Object.keys(e).map(n=>ba(e,t,n,r)).reduce(ke,{})}function M(e){return Br(e,Rt)}M.propTypes={};M.filterProps=Rt;function L(e){return Br(e,Bt)}L.propTypes={};L.filterProps=Bt;function Ir(e=8,t=It({spacing:e})){if(e.mui)return e;const r=(...n)=>(n.length===0?[1]:n).map(o=>{const s=t(o);return typeof s=="number"?`${s}px`:s}).join(" ");return r.mui=!0,r}function ot(...e){const t=e.reduce((n,a)=>(a.filterProps.forEach(o=>{n[o]=a}),n),{}),r=n=>Object.keys(n).reduce((a,o)=>t[o]?ke(a,t[o](n)):a,{});return r.propTypes={},r.filterProps=e.reduce((n,a)=>n.concat(a.filterProps),[]),r}function q(e){return typeof e!="number"?e:`${e}px solid`}function Q(e,t){return N({prop:e,themeKey:"borders",transform:t})}const Sa=Q("border",q),va=Q("borderTop",q),Ca=Q("borderRight",q),xa=Q("borderBottom",q),wa=Q("borderLeft",q),ka=Q("borderColor"),Aa=Q("borderTopColor"),Ta=Q("borderRightColor"),$a=Q("borderBottomColor"),Pa=Q("borderLeftColor"),Ea=Q("outline",q),_a=Q("outlineColor"),it=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=_e(e.theme,"shape.borderRadius",4),r=n=>({borderRadius:Oe(t,n)});return oe(e,e.borderRadius,r)}return null};it.propTypes={};it.filterProps=["borderRadius"];ot(Sa,va,Ca,xa,wa,ka,Aa,Ta,$a,Pa,it,Ea,_a);const st=e=>{if(e.gap!==void 0&&e.gap!==null){const t=_e(e.theme,"spacing",8),r=n=>({gap:Oe(t,n)});return oe(e,e.gap,r)}return null};st.propTypes={};st.filterProps=["gap"];const ct=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=_e(e.theme,"spacing",8),r=n=>({columnGap:Oe(t,n)});return oe(e,e.columnGap,r)}return null};ct.propTypes={};ct.filterProps=["columnGap"];const lt=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=_e(e.theme,"spacing",8),r=n=>({rowGap:Oe(t,n)});return oe(e,e.rowGap,r)}return null};lt.propTypes={};lt.filterProps=["rowGap"];const Oa=N({prop:"gridColumn"}),Ra=N({prop:"gridRow"}),Ba=N({prop:"gridAutoFlow"}),Ia=N({prop:"gridAutoColumns"}),Fa=N({prop:"gridAutoRows"}),Ma=N({prop:"gridTemplateColumns"}),La=N({prop:"gridTemplateRows"}),Na=N({prop:"gridTemplateAreas"}),za=N({prop:"gridArea"});ot(st,ct,lt,Oa,Ra,Ba,Ia,Fa,Ma,La,Na,za);function pe(e,t){return t==="grey"?t:e}const ja=N({prop:"color",themeKey:"palette",transform:pe}),Da=N({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:pe}),Wa=N({prop:"backgroundColor",themeKey:"palette",transform:pe});ot(ja,Da,Wa);function U(e){return e<=1&&e!==0?`${e*100}%`:e}const Ga=N({prop:"width",transform:U}),Ft=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=r=>{var a,o,s,c,u;const n=((s=(o=(a=e.theme)==null?void 0:a.breakpoints)==null?void 0:o.values)==null?void 0:s[r])||nt[r];return n?((u=(c=e.theme)==null?void 0:c.breakpoints)==null?void 0:u.unit)!=="px"?{maxWidth:`${n}${e.theme.breakpoints.unit}`}:{maxWidth:n}:{maxWidth:U(r)}};return oe(e,e.maxWidth,t)}return null};Ft.filterProps=["maxWidth"];const Ha=N({prop:"minWidth",transform:U}),Ka=N({prop:"height",transform:U}),Va=N({prop:"maxHeight",transform:U}),Ua=N({prop:"minHeight",transform:U});N({prop:"size",cssProperty:"width",transform:U});N({prop:"size",cssProperty:"height",transform:U});const Ya=N({prop:"boxSizing"});ot(Ga,Ft,Ha,Ka,Va,Ua,Ya);const ut={border:{themeKey:"borders",transform:q},borderTop:{themeKey:"borders",transform:q},borderRight:{themeKey:"borders",transform:q},borderBottom:{themeKey:"borders",transform:q},borderLeft:{themeKey:"borders",transform:q},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:q},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:it},color:{themeKey:"palette",transform:pe},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:pe},backgroundColor:{themeKey:"palette",transform:pe},p:{style:L},pt:{style:L},pr:{style:L},pb:{style:L},pl:{style:L},px:{style:L},py:{style:L},padding:{style:L},paddingTop:{style:L},paddingRight:{style:L},paddingBottom:{style:L},paddingLeft:{style:L},paddingX:{style:L},paddingY:{style:L},paddingInline:{style:L},paddingInlineStart:{style:L},paddingInlineEnd:{style:L},paddingBlock:{style:L},paddingBlockStart:{style:L},paddingBlockEnd:{style:L},m:{style:M},mt:{style:M},mr:{style:M},mb:{style:M},ml:{style:M},mx:{style:M},my:{style:M},margin:{style:M},marginTop:{style:M},marginRight:{style:M},marginBottom:{style:M},marginLeft:{style:M},marginX:{style:M},marginY:{style:M},marginInline:{style:M},marginInlineStart:{style:M},marginInlineEnd:{style:M},marginBlock:{style:M},marginBlockStart:{style:M},marginBlockEnd:{style:M},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:st},rowGap:{style:lt},columnGap:{style:ct},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:U},maxWidth:{style:Ft},minWidth:{transform:U},height:{transform:U},maxHeight:{transform:U},minHeight:{transform:U},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"}};function qa(...e){const t=e.reduce((n,a)=>n.concat(Object.keys(a)),[]),r=new Set(t);return e.every(n=>r.size===Object.keys(n).length)}function Xa(e,t){return typeof e=="function"?e(t):e}function Qa(){function e(r,n,a,o){const s={[r]:n,theme:a},c=o[r];if(!c)return{[r]:n};const{cssProperty:u=r,themeKey:f,transform:p,style:d}=c;if(n==null)return null;if(f==="typography"&&n==="inherit")return{[r]:n};const m=at(a,f)||{};return d?d(s):oe(s,n,g=>{let h=De(m,p,g);return g===h&&typeof g=="string"&&(h=De(m,p,`${r}${g==="default"?"":ge(g)}`,g)),u===!1?h:{[u]:h}})}function t(r){const{sx:n,theme:a={}}=r||{};if(!n)return null;const o=a.unstable_sxConfig??ut;function s(c){let u=c;if(typeof c=="function")u=c(a);else if(typeof c!="object")return c;if(!u)return null;const f=Or(a.breakpoints),p=Object.keys(f);let d=f;return Object.keys(u).forEach(m=>{const b=Xa(u[m],a);if(b!=null)if(typeof b=="object")if(o[m])d=ke(d,e(m,b,a,o));else{const g=oe({theme:a},b,h=>({[m]:h}));qa(g,b)?d[m]=t({sx:b,theme:a}):d=ke(d,g)}else d=ke(d,e(m,b,a,o))}),ia(a,Rr(p,d))}return Array.isArray(n)?n.map(s):s(n)}return t}const ye=Qa();ye.filterProps=["sx"];function Za(e,t){var n;const r=this;if(r.vars){if(!((n=r.colorSchemes)!=null&&n[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 Fr(e={},...t){const{breakpoints:r={},palette:n={},spacing:a,shape:o={},...s}=e,c=oa(r),u=Ir(a);let f=K({breakpoints:c,direction:"ltr",components:{},palette:{mode:"light",...n},spacing:u,shape:{...ua,...o}},s);return f=la(f),f.applyStyles=Za,f=t.reduce((p,d)=>K(p,d),f),f.unstable_sxConfig={...ut,...s==null?void 0:s.unstable_sxConfig},f.unstable_sx=function(d){return ye({sx:d,theme:this})},f}function Ja(e){return Object.keys(e).length===0}function Pi(e=null){const t=I.useContext(Et);return!t||Ja(t)?e:t}const tr=e=>e,eo=()=>{let e=tr;return{configure(t){e=t},generate(t){return e(t)},reset(){e=tr}}},to=eo();function Mr(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{n[a]=Lr(e,a,r)}),n}function Nr(e){const{variants:t,...r}=e,n={variants:t,style:Zt(r),isProcessed:!0};return n.style===r||t&&t.forEach(a=>{typeof a.style!="function"&&(a.style=Zt(a.style))}),n}const oo=Fr();function mt(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function io(e){return e?(t,r)=>r[e]:null}function so(e,t,r){e.theme=uo(e.theme)?r:e.theme[t]||e.theme}function Ne(e,t){const r=typeof t=="function"?t(e):t;if(Array.isArray(r))return r.flatMap(n=>Ne(e,n));if(Array.isArray(r==null?void 0:r.variants)){let n;if(r.isProcessed)n=r.style;else{const{variants:a,...o}=r;n=o}return zr(e,r.variants,[n])}return r!=null&&r.isProcessed?r.style:r}function zr(e,t,r=[]){var a;let n;e:for(let o=0;o{ta(c,k=>k.filter(A=>A!==ye));const{name:f,slot:p,skipVariantsResolver:d,skipSx:m,overridesResolver:b=io(mo(p)),...g}=u,h=d!==void 0?d:p&&p!=="Root"&&p!=="root"||!1,v=m||!1;let S=mt;p==="Root"||p==="root"?S=n:p?S=a:fo(c)&&(S=void 0);const $=ea(c,{shouldForwardProp:S,label:lo(),...g}),w=k=>{if(k.__emotion_real===k)return k;if(typeof k=="function")return function(x){return Ne(x,k)};if(ae(k)){const A=Nr(k);return A.variants?function(D){return Ne(D,A)}:A.style}return k},C=(...k)=>{const A=[],x=k.map(w),D=[];if(A.push(o),f&&b&&D.push(function(T){var Se,jt;const G=(jt=(Se=T.theme.components)==null?void 0:Se[f])==null?void 0:jt.styleOverrides;if(!G)return null;const Z={};for(const Dt in G)Z[Dt]=Ne(T,G[Dt]);return b(T,Z)}),f&&!h&&D.push(function(T){var Z,Se;const B=T.theme,G=(Se=(Z=B==null?void 0:B.components)==null?void 0:Z[f])==null?void 0:Se.variants;return G?zr(T,G):null}),v||D.push(ye),Array.isArray(x[0])){const y=x.shift(),T=new Array(A.length).fill(""),B=new Array(D.length).fill("");let G;G=[...T,...y,...B],G.raw=[...T,...y.raw,...B],A.unshift(G)}const H=[...A,...x,...D],i=$(...H);return c.muiName&&(i.muiName=c.muiName),i};return $.withConfig&&(C.withConfig=$.withConfig),C}}function lo(e,t){return void 0}function uo(e){for(const t in e)return!1;return!0}function fo(e){return typeof e=="string"&&e.charCodeAt(0)>96}function mo(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}function Ct(e,t){const r={...t};for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const a=n;if(a==="components"||a==="slots")r[a]={...e[a],...r[a]};else if(a==="componentsProps"||a==="slotProps"){const o=e[a],s=t[a];if(!s)r[a]=o||{};else if(!o)r[a]=s;else{r[a]={...s};for(const c in o)if(Object.prototype.hasOwnProperty.call(o,c)){const u=c;r[a][u]=Ct(o[u],s[u])}}}else r[a]===void 0&&(r[a]=e[a])}return r}function po(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}function Mt(e,t=0,r=1){return po(e,t,r)}function ho(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let r=e.match(t);return r&&r[0].length===1&&(r=r.map(n=>n+n)),r?`rgb${r.length===4?"a":""}(${r.map((n,a)=>a<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1e3)/1e3).join(", ")})`:""}function go(e){const t=e.toString(16);return t.length===1?`0${t}`:t}function ie(e){if(e.type)return e;if(e.charAt(0)==="#")return ie(ho(e));const t=e.indexOf("("),r=e.substring(0,t);if(!["rgb","rgba","hsl","hsla","color"].includes(r))throw new Error(se(9,e));let n=e.substring(t+1,e.length-1),a;if(r==="color"){if(n=n.split(" "),a=n.shift(),n.length===4&&n[3].charAt(0)==="/"&&(n[3]=n[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(a))throw new Error(se(10,a))}else n=n.split(",");return n=n.map(o=>parseFloat(o)),{type:r,values:n,colorSpace:a}}const yo=e=>{const t=ie(e);return t.values.slice(0,3).map((r,n)=>t.type.includes("hsl")&&n!==0?`${r}%`:r).join(" ")},xe=(e,t)=>{try{return yo(e)}catch{return e}};function ft(e){const{type:t,colorSpace:r}=e;let{values:n}=e;return t.includes("rgb")?n=n.map((a,o)=>o<3?parseInt(a,10):a):t.includes("hsl")&&(n[1]=`${n[1]}%`,n[2]=`${n[2]}%`),t.includes("color")?n=`${r} ${n.join(" ")}`:n=`${n.join(", ")}`,`${t}(${n})`}function Ei(e){if(e.startsWith("#"))return e;const{values:t}=ie(e);return`#${t.map((r,n)=>go(n===3?Math.round(255*r):r)).join("")}`}function jr(e){e=ie(e);const{values:t}=e,r=t[0],n=t[1]/100,a=t[2]/100,o=n*Math.min(a,1-a),s=(f,p=(f+r/30)%12)=>a-o*Math.max(Math.min(p-3,9-p,1),-1);let c="rgb";const u=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(c+="a",u.push(t[3])),ft({type:c,values:u})}function xt(e){e=ie(e);let t=e.type==="hsl"||e.type==="hsla"?ie(jr(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 bo(e,t){const r=xt(e),n=xt(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}function So(e,t){return e=ie(e),t=Mt(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,ft(e)}function Be(e,t,r){try{return So(e,t)}catch{return e}}function Lt(e,t){if(e=ie(e),t=Mt(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 ft(e)}function _(e,t,r){try{return Lt(e,t)}catch{return e}}function Nt(e,t){if(e=ie(e),t=Mt(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 ft(e)}function O(e,t,r){try{return Nt(e,t)}catch{return e}}function vo(e,t=.15){return xt(e)>.5?Lt(e,t):Nt(e,t)}function Ie(e,t,r){try{return vo(e,t)}catch{return e}}function Co(e,t,r=void 0){const n={};for(const a in e){const o=e[a];let s="",c=!0;for(let u=0;u`var(--${e?`${e}-`:""}${n}${t(...a)})`}const nr=(e,t,r,n=[])=>{let a=e;t.forEach((o,s)=>{s===t.length-1?Array.isArray(a)?a[Number(o)]=r:a&&typeof a=="object"&&(a[o]=r):a&&typeof a=="object"&&(a[o]||(a[o]=n.includes(o)?[]:{}),a=a[o])})},To=(e,t,r)=>{function n(a,o=[],s=[]){Object.entries(a).forEach(([c,u])=>{(!r||r&&!r([...o,c]))&&u!=null&&(typeof u=="object"&&Object.keys(u).length>0?n(u,[...o,c],Array.isArray(u)?[...s,c]:s):t([...o,c],u,s))})}n(e)},$o=(e,t)=>typeof t=="number"?["lineHeight","fontWeight","opacity","zIndex"].some(n=>e.includes(n))||e[e.length-1].toLowerCase().includes("opacity")?t:`${t}px`:t;function pt(e,t){const{prefix:r,shouldSkipGeneratingVar:n}=t||{},a={},o={},s={};return To(e,(c,u,f)=>{if((typeof u=="string"||typeof u=="number")&&(!n||!n(c,u))){const p=`--${r?`${r}-`:""}${c.join("-")}`,d=$o(c,u);Object.assign(a,{[p]:d}),nr(o,c,`var(${p})`,f),nr(s,c,`var(${p}, ${d})`,f)}},c=>c[0]==="vars"),{css:a,vars:o,varsWithDefaults:s}}function Po(e,t={}){const{getSelector:r=v,disableCssColorScheme:n,colorSchemeSelector:a}=t,{colorSchemes:o={},components:s,defaultColorScheme:c="light",...u}=e,{vars:f,css:p,varsWithDefaults:d}=pt(u,t);let m=d;const b={},{[c]:g,...h}=o;if(Object.entries(h||{}).forEach(([w,C])=>{const{vars:k,css:A,varsWithDefaults:x}=pt(C,t);m=K(m,x),b[w]={css:A,vars:k}}),g){const{css:w,vars:C,varsWithDefaults:k}=pt(g,t);m=K(m,k),b[c]={css:w,vars:C}}function v(w,C){var A,x;let k=a;if(a==="class"&&(k=".%s"),a==="data"&&(k="[data-%s]"),a!=null&&a.startsWith("data-")&&!a.includes("%s")&&(k=`[${a}="%s"]`),w){if(k==="media")return e.defaultColorScheme===w?":root":{[`@media (prefers-color-scheme: ${((x=(A=o[w])==null?void 0:A.palette)==null?void 0:x.mode)||w})`]:{":root":C}};if(k)return e.defaultColorScheme===w?`:root, ${k.replace("%s",String(w))}`:k.replace("%s",String(w))}return":root"}return{vars:m,generateThemeVars:()=>{let w={...f};return Object.entries(b).forEach(([,{vars:C}])=>{w=K(w,C)}),w},generateStyleSheets:()=>{var D,H;const w=[],C=e.defaultColorScheme||"light";function k(i,y){Object.keys(y).length&&w.push(typeof i=="string"?{[i]:{...y}}:i)}k(r(void 0,{...p}),p);const{[C]:A,...x}=b;if(A){const{css:i}=A,y=(H=(D=o[C])==null?void 0:D.palette)==null?void 0:H.mode,T=!n&&y?{colorScheme:y,...i}:{...i};k(r(C,{...T}),T)}return Object.entries(x).forEach(([i,{css:y}])=>{var G,Z;const T=(Z=(G=o[i])==null?void 0:G.palette)==null?void 0:Z.mode,B=!n&&T?{colorScheme:T,...y}:{...y};k(r(i,{...B}),B)}),w}}}function Eo(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)} &`:"&"}}const Pe={black:"#000",white:"#fff"},_o={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"},ce={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"},le={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"},Ce={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"},ue={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"},fe={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"},de={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"};function Wr(){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:Pe.white,default:Pe.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}}}const Oo=Wr();function Gr(){return{text:{primary:Pe.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:Pe.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}}}const ar=Gr();function or(e,t,r,n){const a=n.light||n,o=n.dark||n*1.5;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:t==="light"?e.light=Nt(e.main,a):t==="dark"&&(e.dark=Lt(e.main,o)))}function Ro(e="light"){return e==="dark"?{main:ue[200],light:ue[50],dark:ue[400]}:{main:ue[700],light:ue[400],dark:ue[800]}}function Bo(e="light"){return e==="dark"?{main:ce[200],light:ce[50],dark:ce[400]}:{main:ce[500],light:ce[300],dark:ce[700]}}function Io(e="light"){return e==="dark"?{main:le[500],light:le[300],dark:le[700]}:{main:le[700],light:le[400],dark:le[800]}}function Fo(e="light"){return e==="dark"?{main:fe[400],light:fe[300],dark:fe[700]}:{main:fe[700],light:fe[500],dark:fe[900]}}function Mo(e="light"){return e==="dark"?{main:de[400],light:de[300],dark:de[700]}:{main:de[800],light:de[500],dark:de[900]}}function Lo(e="light"){return e==="dark"?{main:Ce[400],light:Ce[300],dark:Ce[700]}:{main:"#ed6c02",light:Ce[500],dark:Ce[900]}}function zt(e){const{mode:t="light",contrastThreshold:r=3,tonalOffset:n=.2,...a}=e,o=e.primary||Ro(t),s=e.secondary||Bo(t),c=e.error||Io(t),u=e.info||Fo(t),f=e.success||Mo(t),p=e.warning||Lo(t);function d(h){return bo(h,ar.text.primary)>=r?ar.text.primary:Oo.text.primary}const m=({color:h,name:v,mainShade:S=500,lightShade:$=300,darkShade:w=700})=>{if(h={...h},!h.main&&h[S]&&(h.main=h[S]),!h.hasOwnProperty("main"))throw new Error(se(11,v?` (${v})`:"",S));if(typeof h.main!="string")throw new Error(se(12,v?` (${v})`:"",JSON.stringify(h.main)));return or(h,"light",$,n),or(h,"dark",w,n),h.contrastText||(h.contrastText=d(h.main)),h};let b;return t==="light"?b=Wr():t==="dark"&&(b=Gr()),K({common:{...Pe},mode:t,primary:m({color:o,name:"primary"}),secondary:m({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:m({color:c,name:"error"}),warning:m({color:p,name:"warning"}),info:m({color:u,name:"info"}),success:m({color:f,name:"success"}),grey:_o,contrastThreshold:r,getContrastText:d,augmentColor:m,tonalOffset:n,...b},a)}function No(e){const t={};return Object.entries(e).forEach(n=>{const[a,o]=n;typeof o=="object"&&(t[a]=`${o.fontStyle?`${o.fontStyle} `:""}${o.fontVariant?`${o.fontVariant} `:""}${o.fontWeight?`${o.fontWeight} `:""}${o.fontStretch?`${o.fontStretch} `:""}${o.fontSize||""}${o.lineHeight?`/${o.lineHeight} `:""}${o.fontFamily||""}`)}),t}function zo(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function jo(e){return Math.round(e*1e5)/1e5}const ir={textTransform:"uppercase"},sr='"Roboto", "Helvetica", "Arial", sans-serif';function Do(e,t){const{fontFamily:r=sr,fontSize:n=14,fontWeightLight:a=300,fontWeightRegular:o=400,fontWeightMedium:s=500,fontWeightBold:c=700,htmlFontSize:u=16,allVariants:f,pxToRem:p,...d}=typeof t=="function"?t(e):t,m=n/14,b=p||(v=>`${v/u*m}rem`),g=(v,S,$,w,C)=>({fontFamily:r,fontWeight:v,fontSize:b(S),lineHeight:$,...r===sr?{letterSpacing:`${jo(w/S)}em`}:{},...C,...f}),h={h1:g(a,96,1.167,-1.5),h2:g(a,60,1.2,-.5),h3:g(o,48,1.167,0),h4:g(o,34,1.235,.25),h5:g(o,24,1.334,0),h6:g(s,20,1.6,.15),subtitle1:g(o,16,1.75,.15),subtitle2:g(s,14,1.57,.1),body1:g(o,16,1.5,.15),body2:g(o,14,1.43,.15),button:g(s,14,1.75,.4,ir),caption:g(o,12,1.66,.4),overline:g(o,12,2.66,1,ir),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return K({htmlFontSize:u,pxToRem:b,fontFamily:r,fontSize:n,fontWeightLight:a,fontWeightRegular:o,fontWeightMedium:s,fontWeightBold:c,...h},d,{clone:!1})}const Wo=.2,Go=.14,Ho=.12;function F(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${Wo})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${Go})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${Ho})`].join(",")}const Ko=["none",F(0,2,1,-1,0,1,1,0,0,1,3,0),F(0,3,1,-2,0,2,2,0,0,1,5,0),F(0,3,3,-2,0,3,4,0,0,1,8,0),F(0,2,4,-1,0,4,5,0,0,1,10,0),F(0,3,5,-1,0,5,8,0,0,1,14,0),F(0,3,5,-1,0,6,10,0,0,1,18,0),F(0,4,5,-2,0,7,10,1,0,2,16,1),F(0,5,5,-3,0,8,10,1,0,3,14,2),F(0,5,6,-3,0,9,12,1,0,3,16,2),F(0,6,6,-3,0,10,14,1,0,4,18,3),F(0,6,7,-4,0,11,15,1,0,4,20,3),F(0,7,8,-4,0,12,17,2,0,5,22,4),F(0,7,8,-4,0,13,19,2,0,5,24,4),F(0,7,9,-4,0,14,21,2,0,5,26,4),F(0,8,9,-5,0,15,22,2,0,6,28,5),F(0,8,10,-5,0,16,24,2,0,6,30,5),F(0,8,11,-5,0,17,26,2,0,6,32,5),F(0,9,11,-5,0,18,28,2,0,7,34,6),F(0,9,12,-6,0,19,29,2,0,7,36,6),F(0,10,13,-6,0,20,31,3,0,8,38,7),F(0,10,13,-6,0,21,33,3,0,8,40,7),F(0,10,14,-6,0,22,35,3,0,8,42,7),F(0,11,14,-7,0,23,36,3,0,9,44,8),F(0,11,15,-7,0,24,38,3,0,9,46,8)],Vo={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)"},Uo={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function cr(e){return`${Math.round(e)}ms`}function Yo(e){if(!e)return 0;const t=e/36;return Math.min(Math.round((4+15*t**.25+t/5)*10),3e3)}function qo(e){const t={...Vo,...e.easing},r={...Uo,...e.duration};return{getAutoHeightDuration:Yo,create:(a=["all"],o={})=>{const{duration:s=r.standard,easing:c=t.easeInOut,delay:u=0,...f}=o;return(Array.isArray(a)?a:[a]).map(p=>`${p} ${typeof s=="string"?s:cr(s)} ${c} ${typeof u=="string"?u:cr(u)}`).join(",")},...e,easing:t,duration:r}}const Xo={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function Qo(e){return ae(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function Hr(e={}){const t={...e};function r(n){const a=Object.entries(n);for(let o=0;oK(b,g),m),m.unstable_sxConfig={...ut,...f==null?void 0:f.unstable_sxConfig},m.unstable_sx=function(g){return ye({sx:g,theme:this})},m.toRuntimeSource=Hr,m}function Oi(...e){return We(...e)}function Zo(e){let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Math.round(t*10)/1e3}const Jo=[...Array(25)].map((e,t)=>{if(t===0)return"none";const r=Zo(t);return`linear-gradient(rgba(255 255 255 / ${r}), rgba(255 255 255 / ${r}))`});function Kr(e){return{inputPlaceholder:e==="dark"?.5:.42,inputUnderline:e==="dark"?.7:.42,switchTrackDisabled:e==="dark"?.2:.12,switchTrack:e==="dark"?.3:.38}}function Vr(e){return e==="dark"?Jo:[]}function ei(e){const{palette:t={mode:"light"},opacity:r,overlays:n,...a}=e,o=zt(t);return{palette:o,opacity:{...Kr(o.mode),...r},overlays:n||Vr(o.mode),...a}}function ti(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)/))}const ri=e=>[...[...Array(25)].map((t,r)=>`--${e?`${e}-`:""}overlays-${r}`),`--${e?`${e}-`:""}palette-AppBar-darkBg`,`--${e?`${e}-`:""}palette-AppBar-darkColor`],ni=e=>(t,r)=>{const n=e.rootSelector||":root",a=e.colorSchemeSelector;let o=a;if(a==="class"&&(o=".%s"),a==="data"&&(o="[data-%s]"),a!=null&&a.startsWith("data-")&&!a.includes("%s")&&(o=`[${a}="%s"]`),e.defaultColorScheme===t){if(t==="dark"){const s={};return ri(e.cssVarPrefix).forEach(c=>{s[c]=r[c],delete r[c]}),o==="media"?{[n]:r,"@media (prefers-color-scheme: dark)":{[n]:s}}:o?{[o.replace("%s",t)]:s,[`${n}, ${o.replace("%s",t)}`]:r}:{[n]:{...r,...s}}}if(o&&o!=="media")return`${n}, ${o.replace("%s",String(t))}`}else if(t){if(o==="media")return{[`@media (prefers-color-scheme: ${String(t)})`]:{[n]:r}};if(o)return o.replace("%s",String(t))}return n};function ai(e,t){t.forEach(r=>{e[r]||(e[r]={})})}function l(e,t,r){!e[t]&&r&&(e[t]=r)}function we(e){return typeof e!="string"||!e.startsWith("hsl")?e:jr(e)}function ne(e,t){`${t}Channel`in e||(e[`${t}Channel`]=xe(we(e[t])))}function oi(e){return typeof e=="number"?`${e}px`:typeof e=="string"||typeof e=="function"||Array.isArray(e)?e:"8px"}const J=e=>{try{return e()}catch{}},ii=(e="mui")=>Ao(e);function ht(e,t,r,n){if(!t)return;t=t===!0?{}:t;const a=n==="dark"?"dark":"light";if(!r){e[n]=ei({...t,palette:{mode:a,...t==null?void 0:t.palette}});return}const{palette:o,...s}=We({...r,palette:{mode:a,...t==null?void 0:t.palette}});return e[n]={...t,palette:o,opacity:{...Kr(a),...t==null?void 0:t.opacity},overlays:(t==null?void 0:t.overlays)||Vr(a)},s}function si(e={},...t){const{colorSchemes:r={light:!0},defaultColorScheme:n,disableCssColorScheme:a=!1,cssVarPrefix:o="mui",shouldSkipGeneratingVar:s=ti,colorSchemeSelector:c=r.light&&r.dark?"media":void 0,rootSelector:u=":root",...f}=e,p=Object.keys(r)[0],d=n||(r.light&&p!=="light"?"light":p),m=ii(o),{[d]:b,light:g,dark:h,...v}=r,S={...v};let $=b;if((d==="dark"&&!("dark"in r)||d==="light"&&!("light"in r))&&($=!0),!$)throw new Error(se(21,d));const w=ht(S,$,f,d);g&&!S.light&&ht(S,g,void 0,"light"),h&&!S.dark&&ht(S,h,void 0,"dark");let C={defaultColorScheme:d,...w,cssVarPrefix:o,colorSchemeSelector:c,rootSelector:u,getCssVar:m,colorSchemes:S,font:{...No(w.typography),...w.font},spacing:oi(f.spacing)};Object.keys(C.colorSchemes).forEach(H=>{const i=C.colorSchemes[H].palette,y=T=>{const B=T.split("-"),G=B[1],Z=B[2];return m(T,i[G][Z])};if(i.mode==="light"&&(l(i.common,"background","#fff"),l(i.common,"onBackground","#000")),i.mode==="dark"&&(l(i.common,"background","#000"),l(i.common,"onBackground","#fff")),ai(i,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),i.mode==="light"){l(i.Alert,"errorColor",_(i.error.light,.6)),l(i.Alert,"infoColor",_(i.info.light,.6)),l(i.Alert,"successColor",_(i.success.light,.6)),l(i.Alert,"warningColor",_(i.warning.light,.6)),l(i.Alert,"errorFilledBg",y("palette-error-main")),l(i.Alert,"infoFilledBg",y("palette-info-main")),l(i.Alert,"successFilledBg",y("palette-success-main")),l(i.Alert,"warningFilledBg",y("palette-warning-main")),l(i.Alert,"errorFilledColor",J(()=>i.getContrastText(i.error.main))),l(i.Alert,"infoFilledColor",J(()=>i.getContrastText(i.info.main))),l(i.Alert,"successFilledColor",J(()=>i.getContrastText(i.success.main))),l(i.Alert,"warningFilledColor",J(()=>i.getContrastText(i.warning.main))),l(i.Alert,"errorStandardBg",O(i.error.light,.9)),l(i.Alert,"infoStandardBg",O(i.info.light,.9)),l(i.Alert,"successStandardBg",O(i.success.light,.9)),l(i.Alert,"warningStandardBg",O(i.warning.light,.9)),l(i.Alert,"errorIconColor",y("palette-error-main")),l(i.Alert,"infoIconColor",y("palette-info-main")),l(i.Alert,"successIconColor",y("palette-success-main")),l(i.Alert,"warningIconColor",y("palette-warning-main")),l(i.AppBar,"defaultBg",y("palette-grey-100")),l(i.Avatar,"defaultBg",y("palette-grey-400")),l(i.Button,"inheritContainedBg",y("palette-grey-300")),l(i.Button,"inheritContainedHoverBg",y("palette-grey-A100")),l(i.Chip,"defaultBorder",y("palette-grey-400")),l(i.Chip,"defaultAvatarColor",y("palette-grey-700")),l(i.Chip,"defaultIconColor",y("palette-grey-700")),l(i.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),l(i.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),l(i.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),l(i.LinearProgress,"primaryBg",O(i.primary.main,.62)),l(i.LinearProgress,"secondaryBg",O(i.secondary.main,.62)),l(i.LinearProgress,"errorBg",O(i.error.main,.62)),l(i.LinearProgress,"infoBg",O(i.info.main,.62)),l(i.LinearProgress,"successBg",O(i.success.main,.62)),l(i.LinearProgress,"warningBg",O(i.warning.main,.62)),l(i.Skeleton,"bg",`rgba(${y("palette-text-primaryChannel")} / 0.11)`),l(i.Slider,"primaryTrack",O(i.primary.main,.62)),l(i.Slider,"secondaryTrack",O(i.secondary.main,.62)),l(i.Slider,"errorTrack",O(i.error.main,.62)),l(i.Slider,"infoTrack",O(i.info.main,.62)),l(i.Slider,"successTrack",O(i.success.main,.62)),l(i.Slider,"warningTrack",O(i.warning.main,.62));const T=Ie(i.background.default,.8);l(i.SnackbarContent,"bg",T),l(i.SnackbarContent,"color",J(()=>i.getContrastText(T))),l(i.SpeedDialAction,"fabHoverBg",Ie(i.background.paper,.15)),l(i.StepConnector,"border",y("palette-grey-400")),l(i.StepContent,"border",y("palette-grey-400")),l(i.Switch,"defaultColor",y("palette-common-white")),l(i.Switch,"defaultDisabledColor",y("palette-grey-100")),l(i.Switch,"primaryDisabledColor",O(i.primary.main,.62)),l(i.Switch,"secondaryDisabledColor",O(i.secondary.main,.62)),l(i.Switch,"errorDisabledColor",O(i.error.main,.62)),l(i.Switch,"infoDisabledColor",O(i.info.main,.62)),l(i.Switch,"successDisabledColor",O(i.success.main,.62)),l(i.Switch,"warningDisabledColor",O(i.warning.main,.62)),l(i.TableCell,"border",O(Be(i.divider,1),.88)),l(i.Tooltip,"bg",Be(i.grey[700],.92))}if(i.mode==="dark"){l(i.Alert,"errorColor",O(i.error.light,.6)),l(i.Alert,"infoColor",O(i.info.light,.6)),l(i.Alert,"successColor",O(i.success.light,.6)),l(i.Alert,"warningColor",O(i.warning.light,.6)),l(i.Alert,"errorFilledBg",y("palette-error-dark")),l(i.Alert,"infoFilledBg",y("palette-info-dark")),l(i.Alert,"successFilledBg",y("palette-success-dark")),l(i.Alert,"warningFilledBg",y("palette-warning-dark")),l(i.Alert,"errorFilledColor",J(()=>i.getContrastText(i.error.dark))),l(i.Alert,"infoFilledColor",J(()=>i.getContrastText(i.info.dark))),l(i.Alert,"successFilledColor",J(()=>i.getContrastText(i.success.dark))),l(i.Alert,"warningFilledColor",J(()=>i.getContrastText(i.warning.dark))),l(i.Alert,"errorStandardBg",_(i.error.light,.9)),l(i.Alert,"infoStandardBg",_(i.info.light,.9)),l(i.Alert,"successStandardBg",_(i.success.light,.9)),l(i.Alert,"warningStandardBg",_(i.warning.light,.9)),l(i.Alert,"errorIconColor",y("palette-error-main")),l(i.Alert,"infoIconColor",y("palette-info-main")),l(i.Alert,"successIconColor",y("palette-success-main")),l(i.Alert,"warningIconColor",y("palette-warning-main")),l(i.AppBar,"defaultBg",y("palette-grey-900")),l(i.AppBar,"darkBg",y("palette-background-paper")),l(i.AppBar,"darkColor",y("palette-text-primary")),l(i.Avatar,"defaultBg",y("palette-grey-600")),l(i.Button,"inheritContainedBg",y("palette-grey-800")),l(i.Button,"inheritContainedHoverBg",y("palette-grey-700")),l(i.Chip,"defaultBorder",y("palette-grey-700")),l(i.Chip,"defaultAvatarColor",y("palette-grey-300")),l(i.Chip,"defaultIconColor",y("palette-grey-300")),l(i.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),l(i.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),l(i.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),l(i.LinearProgress,"primaryBg",_(i.primary.main,.5)),l(i.LinearProgress,"secondaryBg",_(i.secondary.main,.5)),l(i.LinearProgress,"errorBg",_(i.error.main,.5)),l(i.LinearProgress,"infoBg",_(i.info.main,.5)),l(i.LinearProgress,"successBg",_(i.success.main,.5)),l(i.LinearProgress,"warningBg",_(i.warning.main,.5)),l(i.Skeleton,"bg",`rgba(${y("palette-text-primaryChannel")} / 0.13)`),l(i.Slider,"primaryTrack",_(i.primary.main,.5)),l(i.Slider,"secondaryTrack",_(i.secondary.main,.5)),l(i.Slider,"errorTrack",_(i.error.main,.5)),l(i.Slider,"infoTrack",_(i.info.main,.5)),l(i.Slider,"successTrack",_(i.success.main,.5)),l(i.Slider,"warningTrack",_(i.warning.main,.5));const T=Ie(i.background.default,.98);l(i.SnackbarContent,"bg",T),l(i.SnackbarContent,"color",J(()=>i.getContrastText(T))),l(i.SpeedDialAction,"fabHoverBg",Ie(i.background.paper,.15)),l(i.StepConnector,"border",y("palette-grey-600")),l(i.StepContent,"border",y("palette-grey-600")),l(i.Switch,"defaultColor",y("palette-grey-300")),l(i.Switch,"defaultDisabledColor",y("palette-grey-600")),l(i.Switch,"primaryDisabledColor",_(i.primary.main,.55)),l(i.Switch,"secondaryDisabledColor",_(i.secondary.main,.55)),l(i.Switch,"errorDisabledColor",_(i.error.main,.55)),l(i.Switch,"infoDisabledColor",_(i.info.main,.55)),l(i.Switch,"successDisabledColor",_(i.success.main,.55)),l(i.Switch,"warningDisabledColor",_(i.warning.main,.55)),l(i.TableCell,"border",_(Be(i.divider,1),.68)),l(i.Tooltip,"bg",Be(i.grey[700],.92))}ne(i.background,"default"),ne(i.background,"paper"),ne(i.common,"background"),ne(i.common,"onBackground"),ne(i,"divider"),Object.keys(i).forEach(T=>{const B=i[T];T!=="tonalOffset"&&B&&typeof B=="object"&&(B.main&&l(i[T],"mainChannel",xe(we(B.main))),B.light&&l(i[T],"lightChannel",xe(we(B.light))),B.dark&&l(i[T],"darkChannel",xe(we(B.dark))),B.contrastText&&l(i[T],"contrastTextChannel",xe(we(B.contrastText))),T==="text"&&(ne(i[T],"primary"),ne(i[T],"secondary")),T==="action"&&(B.active&&ne(i[T],"active"),B.selected&&ne(i[T],"selected")))})}),C=t.reduce((H,i)=>K(H,i),C);const k={prefix:o,disableCssColorScheme:a,shouldSkipGeneratingVar:s,getSelector:ni(C)},{vars:A,generateThemeVars:x,generateStyleSheets:D}=Po(C,k);return C.vars=A,Object.entries(C.colorSchemes[C.defaultColorScheme]).forEach(([H,i])=>{C[H]=i}),C.generateThemeVars=x,C.generateStyleSheets=D,C.generateSpacing=function(){return Ir(f.spacing,It(this))},C.getColorSchemeSelector=Eo(c),C.spacing=C.generateSpacing(),C.shouldSkipGeneratingVar=s,C.unstable_sxConfig={...ut,...f==null?void 0:f.unstable_sxConfig},C.unstable_sx=function(i){return ye({sx:i,theme:this})},C.toRuntimeSource=Hr,C}function lr(e,t,r){e.colorSchemes&&r&&(e.colorSchemes[t]={...r!==!0&&r,palette:zt({...r===!0?{}:r.palette,mode:t})})}function ci(e={},...t){const{palette:r,cssVariables:n=!1,colorSchemes:a=r?void 0:{light:!0},defaultColorScheme:o=r==null?void 0:r.mode,...s}=e,c=o||"light",u=a==null?void 0:a[c],f={...a,...r?{[c]:{...typeof u!="boolean"&&u,palette:r}}:void 0};if(n===!1){if(!("colorSchemes"in e))return We(e,...t);let p=r;"palette"in e||f[c]&&(f[c]!==!0?p=f[c].palette:c==="dark"&&(p={mode:"dark"}));const d=We({...e,palette:p},...t);return d.defaultColorScheme=c,d.colorSchemes=f,d.palette.mode==="light"&&(d.colorSchemes.light={...f.light!==!0&&f.light,palette:d.palette},lr(d,"dark",f.dark)),d.palette.mode==="dark"&&(d.colorSchemes.dark={...f.dark!==!0&&f.dark,palette:d.palette},lr(d,"light",f.light)),d}return!r&&!("light"in f)&&c==="light"&&(f.light=!0),si({...s,colorSchemes:f,defaultColorScheme:c,...typeof n!="boolean"&&n},...t)}const li=ci();function ui(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const fi=e=>ui(e)&&e!=="classes",di=co({themeId:rn,defaultTheme:li,rootShouldForwardProp:fi}),mi=ko;function pi(e){return wo(e)}function hi(e){return Lr("MuiSvgIcon",e)}const Ri=ao("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]),gi=e=>{const{color:t,fontSize:r,classes:n}=e,a={root:["root",t!=="inherit"&&`color${ge(t)}`,`fontSize${ge(r)}`]};return Co(a,hi,n)},yi=di("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.color!=="inherit"&&t[`color${ge(r.color)}`],t[`fontSize${ge(r.fontSize)}`]]}})(mi(({theme:e})=>{var t,r,n,a,o,s,c,u,f,p,d,m,b,g;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:(a=(t=e.transitions)==null?void 0:t.create)==null?void 0:a.call(t,"fill",{duration:(n=(r=(e.vars??e).transitions)==null?void 0:r.duration)==null?void 0:n.shorter}),variants:[{props:h=>!h.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:((s=(o=e.typography)==null?void 0:o.pxToRem)==null?void 0:s.call(o,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:((u=(c=e.typography)==null?void 0:c.pxToRem)==null?void 0:u.call(c,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:((p=(f=e.typography)==null?void 0:f.pxToRem)==null?void 0:p.call(f,35))||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,h])=>h&&h.main).map(([h])=>{var v,S;return{props:{color:h},style:{color:(S=(v=(e.vars??e).palette)==null?void 0:v[h])==null?void 0:S.main}}}),{props:{color:"action"},style:{color:(m=(d=(e.vars??e).palette)==null?void 0:d.action)==null?void 0:m.active}},{props:{color:"disabled"},style:{color:(g=(b=(e.vars??e).palette)==null?void 0:b.action)==null?void 0:g.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),wt=I.forwardRef(function(t,r){const n=pi({props:t,name:"MuiSvgIcon"}),{children:a,className:o,color:s="inherit",component:c="svg",fontSize:u="medium",htmlColor:f,inheritViewBox:p=!1,titleAccess:d,viewBox:m="0 0 24 24",...b}=n,g=I.isValidElement(a)&&a.type==="svg",h={...n,color:s,component:c,fontSize:u,instanceFontSize:t.fontSize,inheritViewBox:p,viewBox:m,hasSvgAsChild:g},v={};p||(v.viewBox=m);const S=gi(h);return ze.jsxs(yi,{as:c,className:ro(S.root,o),focusable:"false",color:f,"aria-hidden":d?void 0:!0,role:d?"img":void 0,ref:r,...v,...b,...g&&a.props,ownerState:h,children:[g?a.props.children:a,d?ze.jsx("title",{children:d}):null]})});wt.muiName="SvgIcon";function Bi(e,t){function r(n,a){return ze.jsx(wt,{"data-testid":`${t}Icon`,ref:a,...n,children:e})}return r.muiName=wt.muiName,I.memo(I.forwardRef(r))}export{wt as $,Oe as A,Ir as B,oa as C,se as D,li as E,si as F,ue as G,Pe as H,fe as I,ce as J,to as K,ao as L,pi as M,Uo as N,di as O,Ai as P,mi as Q,Zo as R,Lt as S,rn as T,Nt as U,vo as V,fi as W,at as X,ui as Y,po as Z,gt as _,_o as a,ho as a0,Ei as a1,jr as a2,ie as a3,ft as a4,bo as a5,xt as a6,Oi as a7,qo as a8,Vo as a9,ei as aa,ti as ab,Do as ac,zo as ad,ri as ae,Ri as af,hi as ag,Pt as ah,Tr as ai,Et as aj,Ci as ak,Cr as al,$r as am,ki as an,wi as ao,xi as ap,Rn as aq,on as ar,_i as as,ci as b,Bi as c,So as d,ae as e,ut as f,de as g,ye as h,Gn as i,ze as j,ro as k,co as l,Ct as m,ge as n,Ce as o,Co as p,Fr as q,le as r,ea as s,Lr as t,Pi as u,oe as v,$i as w,It as x,K as y,Ti as z}; diff --git a/admin/assets/index-4_ThOlo9.js b/admin/assets/index-4_ThOlo9.js deleted file mode 100644 index ae5dfec42..000000000 --- a/admin/assets/index-4_ThOlo9.js +++ /dev/null @@ -1,1329 +0,0 @@ -import{i as p_,a as kI}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import{j as f,c as Er,g as L0,r as B0,_ as g_,i as zC,P as Ge}from"./createSvgIcon-BQT-7-GS.js";import{i as P0,y as EI,_ as II,a as xI,m as DI,S as UC,T as WC}from"./inheritsLoose--KnFDOw1.js";import{R as We,i as ve}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{i as D,I as Va,a as Jo,b as AI,C as OI,c as f_,M as vf,d as V$,e as A$,f as j0,F as RI,g as MI,h as G$,j as m_,k as NI,l as nw,m as uf,n as LI,o as Xl,p as BI,q as Ev,r as PI,s as jI,t as FI,u as zI,v as UI,w as WI,x as F0,y as z0,z as HI,_ as VI,A as GI,D as U0,B as Iv,E as W0,S as KI,L as JI,G as qI,H as b_,J as H0,K as YI,N as XI,O as ZI,P as QI,Q as ex,R as tx,T as nx,U as HC,V as sx,W as VC,X as rx,Y as ix,Z as ox,$ as ax,a0 as lx,a1 as cx,a2 as ux,a3 as dx,a4 as hx}from"./index-CuCs5aLs.js";import{g as Ga,c as Vo}from"./_commonjsHelpers-Cpj98o6Y.js";import{_ as px}from"./preload-helper-Dp1pzeXC.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const h of c.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&i(h)}).observe(document,{childList:!0,subtree:!0});function s(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(a){if(a.ep)return;a.ep=!0;const c=s(a);fetch(a.href,c)}})();var V0,GC=P0;V0=GC.createRoot,GC.hydrateRoot;var G0={exports:{}},Nn={};/** @license React v17.0.2 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var xv=60103,Dv=60106,Nf=60107,Lf=60108,Bf=60114,Pf=60109,jf=60110,Ff=60112,zf=60113,sw=60120,Uf=60115,Wf=60116,K0=60121,J0=60122,q0=60117,Y0=60129,X0=60131;if(typeof Symbol=="function"&&Symbol.for){var Us=Symbol.for;xv=Us("react.element"),Dv=Us("react.portal"),Nf=Us("react.fragment"),Lf=Us("react.strict_mode"),Bf=Us("react.profiler"),Pf=Us("react.provider"),jf=Us("react.context"),Ff=Us("react.forward_ref"),zf=Us("react.suspense"),sw=Us("react.suspense_list"),Uf=Us("react.memo"),Wf=Us("react.lazy"),K0=Us("react.block"),J0=Us("react.server.block"),q0=Us("react.fundamental"),Y0=Us("react.debug_trace_mode"),X0=Us("react.legacy_hidden")}function co(o){if(typeof o=="object"&&o!==null){var n=o.$$typeof;switch(n){case xv:switch(o=o.type,o){case Nf:case Bf:case Lf:case zf:case sw:return o;default:switch(o=o&&o.$$typeof,o){case jf:case Ff:case Wf:case Uf:case Pf:return o;default:return n}}case Dv:return n}}}var gx=Pf,fx=xv,mx=Ff,bx=Nf,$x=Wf,vx=Uf,yx=Dv,_x=Bf,wx=Lf,Cx=zf;Nn.ContextConsumer=jf;Nn.ContextProvider=gx;Nn.Element=fx;Nn.ForwardRef=mx;Nn.Fragment=bx;Nn.Lazy=$x;Nn.Memo=vx;Nn.Portal=yx;Nn.Profiler=_x;Nn.StrictMode=wx;Nn.Suspense=Cx;Nn.isAsyncMode=function(){return!1};Nn.isConcurrentMode=function(){return!1};Nn.isContextConsumer=function(o){return co(o)===jf};Nn.isContextProvider=function(o){return co(o)===Pf};Nn.isElement=function(o){return typeof o=="object"&&o!==null&&o.$$typeof===xv};Nn.isForwardRef=function(o){return co(o)===Ff};Nn.isFragment=function(o){return co(o)===Nf};Nn.isLazy=function(o){return co(o)===Wf};Nn.isMemo=function(o){return co(o)===Uf};Nn.isPortal=function(o){return co(o)===Dv};Nn.isProfiler=function(o){return co(o)===Bf};Nn.isStrictMode=function(o){return co(o)===Lf};Nn.isSuspense=function(o){return co(o)===zf};Nn.isValidElementType=function(o){return typeof o=="string"||typeof o=="function"||o===Nf||o===Bf||o===Y0||o===Lf||o===zf||o===sw||o===X0||typeof o=="object"&&o!==null&&(o.$$typeof===Wf||o.$$typeof===Uf||o.$$typeof===Pf||o.$$typeof===jf||o.$$typeof===Ff||o.$$typeof===q0||o.$$typeof===K0||o[0]===J0)};Nn.typeOf=co;G0.exports=Nn;var Sx=G0.exports;function K$(o,n){const s=getComputedStyle(n);if(!s)return;let i=o===Bn.Horizontal?n.clientWidth:n.clientHeight;return i!==0?(o===Bn.Horizontal?i-=parseFloat(s.paddingLeft)+parseFloat(s.paddingRight):i-=parseFloat(s.paddingTop)+parseFloat(s.paddingBottom),i):void 0}/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */function p$(o,n,s=[],i={condition:!0}){const{condition:a}=i,c=function(h,g){var b={};for(var $ in h)Object.prototype.hasOwnProperty.call(h,$)&&g.indexOf($)<0&&(b[$]=h[$]);if(h!=null&&typeof Object.getOwnPropertySymbols=="function"){var y=0;for($=Object.getOwnPropertySymbols(h);y<$.length;y++)g.indexOf($[y])<0&&Object.prototype.propertyIsEnumerable.call(h,$[y])&&(b[$[y]]=h[$[y]])}return b}(i,["condition"]);ve.useEffect(()=>(a&&window.addEventListener(o,n,c),()=>{a&&window.removeEventListener(o,n)}),[o,n,a,...s])}(function(o,n){n===void 0&&(n={});var s=n.insertAt;if(typeof document<"u"){var i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",s==="top"&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=o:a.appendChild(document.createTextNode(o))}})(`/* === Main Container === */ -.__dbk__container { - height: 100%; - width: 100%; - - display: flex; - overflow: hidden; -} - -.__dbk__container.Horizontal { - flex-direction: row; -} - -.__dbk__container.Vertical { - flex-direction: column; -} -/* ====== */ - -/* === Wrapper for each child element === */ -.__dbk__child-wrapper { - height: 100%; - width: 100%; -} -/* ====== */ - -/* === Gutter === */ -.__dbk__gutter { - display: flex; - align-items: center; - justify-content: center; -} -/* .__dbk__gutter > div { - background: red; -} */ -.__dbk__gutter.Horizontal { - height: 100%; - padding: 0 2px; - flex-direction: column; -} -.__dbk__gutter.Horizontal:hover { - cursor: col-resize; -} - -.__dbk__gutter.Vertical { - width: 100%; - padding: 2px 0; - flex-direction: row; -} -.__dbk__gutter.Vertical:hover { - cursor: row-resize; -} - -.__dbk__gutter.Light { - background: #EDF0EF; -} -.__dbk__gutter.Light:hover > .__dbk__dragger { - background: #76747B; -} - -.__dbk__gutter.Dark { - background: #020203; -} -.__dbk__gutter.Dark:hover > .__dbk__dragger { - background: #9995A3; -} -/* ====== */ - -/* === Gutter's Dragger === */ -.__dbk__dragger { - border-radius: 2px; -} - -.__dbk__dragger.Horizontal { - width: 4px; - height: 24px; -} - -.__dbk__dragger.Vertical { - width: 24px; - height: 4px; -} - -.__dbk__dragger.Light { - background: #A6ACB5; -} - -.__dbk__dragger.Dark { - background: #434252; -} -/* ====== */`);const Tx=We.forwardRef(({className:o,theme:n,draggerClassName:s,direction:i=Bn.Vertical,onDragging:a},c)=>{const h=`__dbk__gutter ${i} ${o||n}`,g=`__dbk__dragger ${i} ${s||n}`;return f.jsx("div",Object.assign({className:h,ref:c,dir:i,onMouseDown:a,onTouchStart:O$?a:void 0},{children:f.jsx("div",{className:g},void 0)}),void 0)});var Ii;function $_(o,n,s){let i,a;return n?(i=o/2,a=o):s?(i=o,a=o/2):(i=o,a=o),{aGutterSize:i,bGutterSize:a}}function kx(o,n){switch(n.type){case Ii.SetIsReadyToCompute:return Object.assign(Object.assign({},o),{isReady:n.payload.isReady});case Ii.CreatePairs:{const{direction:s,children:i,gutters:a}=n.payload,c=i[0].parentNode;if(!c)throw new Error("Cannot create pairs - parent is undefined.");const h=K$(s,c);if(h===void 0)throw new Error(`Cannot create pairs - parent has undefined or zero size: ${h}.`);const g=[];return i.forEach((b,$)=>{if($>0){const y=i[$-1],w=i[$],T=a[$-1],C=s===Bn.Horizontal?y.getBoundingClientRect().left:y.getBoundingClientRect().top,E=s===Bn.Horizontal?w.getBoundingClientRect().right:w.getBoundingClientRect().bottom,k=s===Bn.Horizontal?y.getBoundingClientRect().width+T.getBoundingClientRect().width+w.getBoundingClientRect().width:y.getBoundingClientRect().height+T.getBoundingClientRect().height+w.getBoundingClientRect().height,A=s===Bn.Horizontal?T.getBoundingClientRect().width:T.getBoundingClientRect().height,P={idx:$-1,a:y,b:w,gutter:T,parent:c,start:C,end:E,size:k,gutterSize:A,aSizePct:100/i.length,bSizePct:100/i.length};g.push(P)}}),Object.assign(Object.assign({},o),{pairs:g})}case Ii.StartDragging:{const{gutterIdx:s}=n.payload;return Object.assign(Object.assign({},o),{isDragging:!0,draggingIdx:s})}case Ii.StopDragging:return Object.assign(Object.assign({},o),{isDragging:!1});case Ii.CalculateSizes:{const{direction:s,gutterIdx:i}=n.payload,a=o.pairs[i],c=K$(s,a.parent);if(!c)throw new Error("Cannot calculate sizes - 'pair.parent' has undefined or zero size.");const h=a.gutter[s===Bn.Horizontal?"clientWidth":"clientHeight"],g=i===0,b=i===o.pairs.length-1,{aGutterSize:$,bGutterSize:y}=$_(h,g,b);let w,T,C,E,k;return s===Bn.Horizontal?(w=a.a.getBoundingClientRect().left,T=a.b.getBoundingClientRect().right,E=(a.a.getBoundingClientRect().width+$)/c*100,k=(a.b.getBoundingClientRect().width+y)/c*100,C=a.a.getBoundingClientRect().width+$+y+a.b.getBoundingClientRect().width):(w=a.a.getBoundingClientRect().top,T=a.b.getBoundingClientRect().bottom,E=(a.a.getBoundingClientRect().height+$)/c*100,k=(a.b.getBoundingClientRect().height+y)/c*100,C=a.a.getBoundingClientRect().height+$+y+a.b.getBoundingClientRect().height),o.pairs[i]=Object.assign(Object.assign({},a),{start:w,end:T,size:C,aSizePct:E,bSizePct:k,gutterSize:h}),Object.assign({},o)}default:return o}}function Z0(o,n=0,s=[]){return ve.Children.toArray(o).reduce((i,a,c)=>(Sx.isFragment(a)?i.push.apply(i,Z0(a.props.children,n+1,s.concat(a.key||c))):ve.isValidElement(a)?i.push(ve.cloneElement(a,{key:s.concat(String(a.key)).join(".")})):typeof a!="string"&&typeof a!="number"||i.push(a),i),[])}(function(o){o[o.SetIsReadyToCompute=0]="SetIsReadyToCompute",o[o.CreatePairs=1]="CreatePairs",o[o.CalculateSizes=2]="CalculateSizes",o[o.StartDragging=3]="StartDragging",o[o.StopDragging=4]="StopDragging"})(Ii||(Ii={}));const KC=o=>"changedTouches"in o;var Bn,v_;(function(o){o.Horizontal="Horizontal",o.Vertical="Vertical"})(Bn||(Bn={})),function(o){o.Light="Light",o.Dark="Dark"}(v_||(v_={}));const O$=typeof window<"u"&&"ontouchstart"in window;function Sy(o){return o===Bn.Horizontal?"col-resize":"row-resize"}const Ex={isReady:!1,isDragging:!1,pairs:[]};function J$({direction:o=Bn.Horizontal,minWidths:n=[],minHeights:s=[],initialSizes:i,gutterTheme:a=v_.Dark,gutterClassName:c,draggerClassName:h,children:g,onResizeStarted:b,onResizeFinished:$,classes:y=[]}){const w=Z0(g),[T,C]=ve.useReducer(kx,Ex),E=ve.useRef(null),k=ve.useRef([]),A=ve.useRef([]);k.current=[],A.current=[];const P=We.useCallback(ce=>{C({type:Ii.SetIsReadyToCompute,payload:{isReady:ce}})},[]),N=We.useCallback((ce,W)=>{C({type:Ii.StartDragging,payload:{gutterIdx:W}});const te=T.pairs[W];b==null||b(te.idx),te.a.style.userSelect="none",te.b.style.userSelect="none",te.gutter.style.cursor=Sy(ce),te.parent.style.cursor=Sy(ce),document.body.style.cursor=Sy(ce)},[T.pairs]),B=We.useCallback(()=>{C({type:Ii.StopDragging});const ce=[];for(let te=0;te{C({type:Ii.CalculateSizes,payload:{direction:ce,gutterIdx:W}})},[]),H=We.useCallback((ce,W,te)=>{C({type:Ii.CreatePairs,payload:{direction:ce,children:W,gutters:te}})},[]),q=We.useCallback((ce,W,te,ke)=>{const Z=W[0].parentNode;if(!Z)throw new Error("Cannot set initial sizes - parent is undefined");if(K$(ce,Z)===void 0)throw new Error("Cannot set initial sizes - parent has undefined size");W.forEach((ze,Ce)=>{const at=Ce===0,he=Ce===W.length-1;let Ae,de=0;W.length>1&&(de=te[he?Ce-1:Ce].getBoundingClientRect()[ce===Bn.Horizontal?"width":"height"],de=at||he?de/2:de),Ae=ke&&Ce{if(T.draggingIdx===void 0)throw new Error("Cannot adjust size - 'draggingIdx' is undefined");const te=T.pairs[T.draggingIdx];if(te.size===void 0)throw new Error("Cannot adjust size - 'pair.size' is undefined");if(te.gutterSize===void 0)throw new Error("Cannot adjust size - 'pair.gutterSize' is undefined");const ke=te.aSizePct+te.bSizePct,Z=W/te.size*ke,ze=ke-W/te.size*ke,Ce=T.draggingIdx===0,at=T.draggingIdx===T.pairs.length-1,{aGutterSize:he,bGutterSize:Ae}=$_(te.gutterSize,Ce,at),de=`calc(${Z}% - ${he}px)`,Se=`calc(${ze}% - ${Ae}px)`;ce===Bn.Horizontal?(te.a.style.width=de,te.b.style.width=Se):(te.a.style.height=de,te.b.style.height=Se)},[T.draggingIdx,T.pairs,o]),ee=We.useCallback((ce,W,te)=>{if(!T.isDragging)return;if(T.draggingIdx===void 0)throw new Error("Cannot drag - 'draggingIdx' is undefined");const ke=T.pairs[T.draggingIdx];if(ke.start===void 0)throw new Error("Cannot drag - 'pair.start' is undefined");if(ke.size===void 0)throw new Error("Cannot drag - 'pair.size' is undefined");if(ke.gutterSize===void 0)throw new Error("Cannot drag - 'pair.gutterSize' is undefined");let Z=function(at,he){const Ae=KC(he)?he.changedTouches[0]:he;return at===Bn.Horizontal?Ae.clientX:Ae.clientY}(W,ce)-ke.start,ze=16,Ce=16;te.length>T.draggingIdx&&(ze=te[T.draggingIdx]),te.length>=T.draggingIdx+1&&(Ce=te[T.draggingIdx+1]),Z=ke.size-(ke.gutterSize+Ce)&&(Z=ke.size-(ke.gutterSize+Ce)),se(W,Z)},[T.isDragging,T.draggingIdx,T.pairs,se]),K=()=>{if(T.isDragging){if(T.draggingIdx===void 0)throw new Error("Cannot calculate sizes after dragging = 'state.draggingIdx' is undefined");S(o,T.draggingIdx),B()}},Y=ce=>{T.isDragging&&(KC(ce)&&ce.preventDefault(),ee(ce,o,o===Bn.Horizontal?n:s))};function X(ce,W){if(!ce.current)throw new Error("Can't add element to ref object - ref isn't initialized");W&&!ce.current.includes(W)&&ce.current.push(W)}return p$("mouseup",K,[T.isDragging,B]),p$("mousemove",Y,[o,T.isDragging,ee,n,s]),p$("touchend",K,[T.isDragging,B],{condition:O$}),p$("touchmove",Y,[o,T.isDragging,ee,n,s],{condition:O$,passive:!O$}),ve.useEffect(function(){if(!E.current)return;const ce=E.current.parentElement;if(!ce)return;const W=new ResizeObserver(()=>{const te=getComputedStyle(ce),ke=o===Bn.Horizontal?ce.clientWidth:ce.clientHeight;P(!!te&&!!ke)});return W.observe(ce),()=>{W.disconnect()}},[E.current,o]),ve.useEffect(function(){if(T.isReady&&(!k.current||k.current[0].offsetParent)){if(!k.current||!A.current)throw new Error("Cannot create pairs - either variable 'childRefs' or 'gutterRefs' is undefined");w.length<=1?q(o,k.current,A.current,i):(q(o,k.current,A.current,i),H(o,k.current,A.current))}},[g,T.isReady,o,q,H,i]),f.jsx("div",Object.assign({className:`__dbk__container ${o}`,ref:E},{children:T.isReady&&w.map((ce,W)=>f.jsxs(We.Fragment,{children:[f.jsx("div",Object.assign({ref:te=>X(k,te),className:"__dbk__child-wrapper "+(WX(A,te),className:c,theme:a,draggerClassName:h,direction:o,onDragging:()=>{return S(o,te=W),void N(o,te);var te}},void 0)]},W))}),void 0)}const{loadShare:Ix}=p_,{initPromise:xx}=kI,Dx=xx.then(o=>Ix("@iobroker/adapter-react-v5",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),Ax=await Dx.then(o=>o());var I=Ax;const Q0=ve.createContext({dragDropManager:void 0});function xf(o){"@babel/helpers - typeof";return xf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},xf(o)}function Ox(o,n){if(xf(o)!="object"||!o)return o;var s=o[Symbol.toPrimitive];if(s!==void 0){var i=s.call(o,n);if(xf(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(o)}function Rx(o){var n=Ox(o,"string");return xf(n)=="symbol"?n:n+""}function Mx(o,n,s){return(n=Rx(n))in o?Object.defineProperty(o,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):o[n]=s,o}function Si(o){return"Minified Redux error #"+o+"; visit https://redux.js.org/Errors?code="+o+" for the full message or use the non-minified dev environment for full errors. "}var JC=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}(),qC=function(){return Math.random().toString(36).substring(7).split("").join(".")},YC={INIT:"@@redux/INIT"+qC(),REPLACE:"@@redux/REPLACE"+qC()};function Nx(o){if(typeof o!="object"||o===null)return!1;for(var n=o;Object.getPrototypeOf(n)!==null;)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(o)===n}function eT(o,n,s){var i;if(typeof n=="function"&&typeof s=="function"||typeof s=="function"&&typeof arguments[3]=="function")throw new Error(Si(0));if(typeof n=="function"&&typeof s>"u"&&(s=n,n=void 0),typeof s<"u"){if(typeof s!="function")throw new Error(Si(1));return s(eT)(o,n)}if(typeof o!="function")throw new Error(Si(2));var a=o,c=n,h=[],g=h,b=!1;function $(){g===h&&(g=h.slice())}function y(){if(b)throw new Error(Si(3));return c}function w(k){if(typeof k!="function")throw new Error(Si(4));if(b)throw new Error(Si(5));var A=!0;return $(),g.push(k),function(){if(A){if(b)throw new Error(Si(6));A=!1,$();var N=g.indexOf(k);g.splice(N,1),h=null}}}function T(k){if(!Nx(k))throw new Error(Si(7));if(typeof k.type>"u")throw new Error(Si(8));if(b)throw new Error(Si(9));try{b=!0,c=a(c,k)}finally{b=!1}for(var A=h=g,P=0;Pi&&i[a]?i[a]:s||null,o)}function Px(o,n){return o.filter(s=>s!==n)}function tT(o){return typeof o=="object"}function jx(o,n){const s=new Map,i=c=>{s.set(c,s.has(c)?s.get(c)+1:1)};o.forEach(i),n.forEach(i);const a=[];return s.forEach((c,h)=>{c===1&&a.push(h)}),a}function Fx(o,n){return o.filter(s=>n.indexOf(s)>-1)}const rw="dnd-core/INIT_COORDS",Av="dnd-core/BEGIN_DRAG",iw="dnd-core/PUBLISH_DRAG_SOURCE",Ov="dnd-core/HOVER",Rv="dnd-core/DROP",Mv="dnd-core/END_DRAG";function XC(o,n){return{type:rw,payload:{sourceClientOffset:n||null,clientOffset:o||null}}}const zx={type:rw,payload:{clientOffset:null,sourceClientOffset:null}};function Ux(o){return function(s=[],i={publishSource:!0}){const{publishSource:a=!0,clientOffset:c,getSourceClientOffset:h}=i,g=o.getMonitor(),b=o.getRegistry();o.dispatch(XC(c)),Wx(s,g,b);const $=Gx(s,g);if($==null){o.dispatch(zx);return}let y=null;if(c){if(!h)throw new Error("getSourceClientOffset must be defined");Hx(h),y=h($)}o.dispatch(XC(c,y));const T=b.getSource($).beginDrag(g,$);if(T==null)return;Vx(T),b.pinSource($);const C=b.getSourceType($);return{type:Av,payload:{itemType:C,item:T,sourceId:$,clientOffset:c||null,sourceClientOffset:y||null,isSourcePublic:!!a}}}}function Wx(o,n,s){Gt(!n.isDragging(),"Cannot call beginDrag while dragging."),o.forEach(function(i){Gt(s.getSource(i),"Expected sourceIds to be registered.")})}function Hx(o){Gt(typeof o=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function Vx(o){Gt(tT(o),"Item must be an object.")}function Gx(o,n){let s=null;for(let i=o.length-1;i>=0;i--)if(n.canDragSource(o[i])){s=o[i];break}return s}function Kx(o,n,s){return n in o?Object.defineProperty(o,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):o[n]=s,o}function Jx(o){for(var n=1;n{const b=Xx(h,g,a,i),$={type:Rv,payload:{dropResult:Jx({},s,b)}};o.dispatch($)})}}function Yx(o){Gt(o.isDragging(),"Cannot call drop while not dragging."),Gt(!o.didDrop(),"Cannot call drop twice during one drag operation.")}function Xx(o,n,s,i){const a=s.getTarget(o);let c=a?a.drop(i,o):void 0;return Zx(c),typeof c>"u"&&(c=n===0?{}:i.getDropResult()),c}function Zx(o){Gt(typeof o>"u"||tT(o),"Drop result must either be an object or undefined.")}function Qx(o){const n=o.getTargetIds().filter(o.canDropOnTarget,o);return n.reverse(),n}function eD(o){return function(){const s=o.getMonitor(),i=o.getRegistry();tD(s);const a=s.getSourceId();return a!=null&&(i.getSource(a,!0).endDrag(s,a),i.unpinSource()),{type:Mv}}}function tD(o){Gt(o.isDragging(),"Cannot call endDrag while not dragging.")}function y_(o,n){return n===null?o===null:Array.isArray(o)?o.some(s=>s===n):o===n}function nD(o){return function(s,{clientOffset:i}={}){sD(s);const a=s.slice(0),c=o.getMonitor(),h=o.getRegistry(),g=c.getItemType();return iD(a,h,g),rD(a,c,h),oD(a,c,h),{type:Ov,payload:{targetIds:a,clientOffset:i||null}}}}function sD(o){Gt(Array.isArray(o),"Expected targetIds to be an array.")}function rD(o,n,s){Gt(n.isDragging(),"Cannot call hover while not dragging."),Gt(!n.didDrop(),"Cannot call hover after drop.");for(let i=0;i=0;i--){const a=o[i],c=n.getTargetType(a);y_(c,s)||o.splice(i,1)}}function oD(o,n,s){o.forEach(function(i){s.getTarget(i).hover(n,i)})}function aD(o){return function(){if(o.getMonitor().isDragging())return{type:iw}}}function lD(o){return{beginDrag:Ux(o),publishDragSource:aD(o),hover:nD(o),drop:qx(o),endDrag:eD(o)}}class cD{receiveBackend(n){this.backend=n}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const n=this,{dispatch:s}=this.store;function i(c){return(...h)=>{const g=c.apply(n,h);typeof g<"u"&&s(g)}}const a=lD(this);return Object.keys(a).reduce((c,h)=>{const g=a[h];return c[h]=i(g),c},{})}dispatch(n){this.store.dispatch(n)}constructor(n,s){this.isSetUp=!1,this.handleRefCountChange=()=>{const i=this.store.getState().refCount>0;this.backend&&(i&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!i&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=n,this.monitor=s,n.subscribe(this.handleRefCountChange)}}function uD(o,n){return{x:o.x+n.x,y:o.y+n.y}}function nT(o,n){return{x:o.x-n.x,y:o.y-n.y}}function dD(o){const{clientOffset:n,initialClientOffset:s,initialSourceClientOffset:i}=o;return!n||!s||!i?null:nT(uD(n,i),s)}function hD(o){const{clientOffset:n,initialClientOffset:s}=o;return!n||!s?null:nT(n,s)}const yf=[],ow=[];yf.__IS_NONE__=!0;ow.__IS_ALL__=!0;function pD(o,n){return o===yf?!1:o===ow||typeof n>"u"?!0:Fx(n,o).length>0}class gD{subscribeToStateChange(n,s={}){const{handlerIds:i}=s;Gt(typeof n=="function","listener must be a function."),Gt(typeof i>"u"||Array.isArray(i),"handlerIds, when specified, must be an array of strings.");let a=this.store.getState().stateId;const c=()=>{const h=this.store.getState(),g=h.stateId;try{g===a||g===a+1&&!pD(h.dirtyHandlerIds,i)||n()}finally{a=g}};return this.store.subscribe(c)}subscribeToOffsetChange(n){Gt(typeof n=="function","listener must be a function.");let s=this.store.getState().dragOffset;const i=()=>{const a=this.store.getState().dragOffset;a!==s&&(s=a,n())};return this.store.subscribe(i)}canDragSource(n){if(!n)return!1;const s=this.registry.getSource(n);return Gt(s,`Expected to find a valid source. sourceId=${n}`),this.isDragging()?!1:s.canDrag(this,n)}canDropOnTarget(n){if(!n)return!1;const s=this.registry.getTarget(n);if(Gt(s,`Expected to find a valid target. targetId=${n}`),!this.isDragging()||this.didDrop())return!1;const i=this.registry.getTargetType(n),a=this.getItemType();return y_(i,a)&&s.canDrop(this,n)}isDragging(){return!!this.getItemType()}isDraggingSource(n){if(!n)return!1;const s=this.registry.getSource(n,!0);if(Gt(s,`Expected to find a valid source. sourceId=${n}`),!this.isDragging()||!this.isSourcePublic())return!1;const i=this.registry.getSourceType(n),a=this.getItemType();return i!==a?!1:s.isDragging(this,n)}isOverTarget(n,s={shallow:!1}){if(!n)return!1;const{shallow:i}=s;if(!this.isDragging())return!1;const a=this.registry.getTargetType(n),c=this.getItemType();if(c&&!y_(a,c))return!1;const h=this.getTargetIds();if(!h.length)return!1;const g=h.indexOf(n);return i?g===h.length-1:g>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return dD(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return hD(this.store.getState().dragOffset)}constructor(n,s){this.store=n,this.registry=s}}const ZC=typeof global<"u"?global:self,sT=ZC.MutationObserver||ZC.WebKitMutationObserver;function rT(o){return function(){const s=setTimeout(a,0),i=setInterval(a,50);function a(){clearTimeout(s),clearInterval(i),o()}}}function fD(o){let n=1;const s=new sT(o),i=document.createTextNode("");return s.observe(i,{characterData:!0}),function(){n=-n,i.data=n}}const mD=typeof sT=="function"?fD:rT;class bD{enqueueTask(n){const{queue:s,requestFlush:i}=this;s.length||(i(),this.flushing=!0),s[s.length]=n}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:n}=this;for(;this.indexthis.capacity){for(let i=0,a=n.length-this.index;i{this.pendingErrors.push(n),this.requestErrorThrow()},this.requestFlush=mD(this.flush),this.requestErrorThrow=rT(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class $D{call(){try{this.task&&this.task()}catch(n){this.onError(n)}finally{this.task=null,this.release(this)}}constructor(n,s){this.onError=n,this.release=s,this.task=null}}class vD{create(n){const s=this.freeTasks,i=s.length?s.pop():new $D(this.onError,a=>s[s.length]=a);return i.task=n,i}constructor(n){this.onError=n,this.freeTasks=[]}}const iT=new bD,yD=new vD(iT.registerPendingError);function _D(o){iT.enqueueTask(yD.create(o))}const aw="dnd-core/ADD_SOURCE",lw="dnd-core/ADD_TARGET",cw="dnd-core/REMOVE_SOURCE",Nv="dnd-core/REMOVE_TARGET";function wD(o){return{type:aw,payload:{sourceId:o}}}function CD(o){return{type:lw,payload:{targetId:o}}}function SD(o){return{type:cw,payload:{sourceId:o}}}function TD(o){return{type:Nv,payload:{targetId:o}}}function kD(o){Gt(typeof o.canDrag=="function","Expected canDrag to be a function."),Gt(typeof o.beginDrag=="function","Expected beginDrag to be a function."),Gt(typeof o.endDrag=="function","Expected endDrag to be a function.")}function ED(o){Gt(typeof o.canDrop=="function","Expected canDrop to be a function."),Gt(typeof o.hover=="function","Expected hover to be a function."),Gt(typeof o.drop=="function","Expected beginDrag to be a function.")}function __(o,n){if(n&&Array.isArray(o)){o.forEach(s=>__(s,!1));return}Gt(typeof o=="string"||typeof o=="symbol",n?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var Ei;(function(o){o.SOURCE="SOURCE",o.TARGET="TARGET"})(Ei||(Ei={}));let ID=0;function xD(){return ID++}function DD(o){const n=xD().toString();switch(o){case Ei.SOURCE:return`S${n}`;case Ei.TARGET:return`T${n}`;default:throw new Error(`Unknown Handler Role: ${o}`)}}function QC(o){switch(o[0]){case"S":return Ei.SOURCE;case"T":return Ei.TARGET;default:throw new Error(`Cannot parse handler ID: ${o}`)}}function eS(o,n){const s=o.entries();let i=!1;do{const{done:a,value:[,c]}=s.next();if(c===n)return!0;i=!!a}while(!i);return!1}class AD{addSource(n,s){__(n),kD(s);const i=this.addHandler(Ei.SOURCE,n,s);return this.store.dispatch(wD(i)),i}addTarget(n,s){__(n,!0),ED(s);const i=this.addHandler(Ei.TARGET,n,s);return this.store.dispatch(CD(i)),i}containsHandler(n){return eS(this.dragSources,n)||eS(this.dropTargets,n)}getSource(n,s=!1){return Gt(this.isSourceId(n),"Expected a valid source ID."),s&&n===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(n)}getTarget(n){return Gt(this.isTargetId(n),"Expected a valid target ID."),this.dropTargets.get(n)}getSourceType(n){return Gt(this.isSourceId(n),"Expected a valid source ID."),this.types.get(n)}getTargetType(n){return Gt(this.isTargetId(n),"Expected a valid target ID."),this.types.get(n)}isSourceId(n){return QC(n)===Ei.SOURCE}isTargetId(n){return QC(n)===Ei.TARGET}removeSource(n){Gt(this.getSource(n),"Expected an existing source."),this.store.dispatch(SD(n)),_D(()=>{this.dragSources.delete(n),this.types.delete(n)})}removeTarget(n){Gt(this.getTarget(n),"Expected an existing target."),this.store.dispatch(TD(n)),this.dropTargets.delete(n),this.types.delete(n)}pinSource(n){const s=this.getSource(n);Gt(s,"Expected an existing source."),this.pinnedSourceId=n,this.pinnedSource=s}unpinSource(){Gt(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(n,s,i){const a=DD(n);return this.types.set(a,s),n===Ei.SOURCE?this.dragSources.set(a,i):n===Ei.TARGET&&this.dropTargets.set(a,i),a}constructor(n){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=n}}const OD=(o,n)=>o===n;function RD(o,n){return!o&&!n?!0:!o||!n?!1:o.x===n.x&&o.y===n.y}function MD(o,n,s=OD){if(o.length!==n.length)return!1;for(let i=0;i0||!MD(s,i)))return yf;const h=i[i.length-1],g=s[s.length-1];return h!==g&&(h&&a.push(h),g&&a.push(g)),a}function LD(o,n,s){return n in o?Object.defineProperty(o,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):o[n]=s,o}function BD(o){for(var n=1;n=0)&&Object.prototype.propertyIsEnumerable.call(o,i)&&(s[i]=o[i])}return s}function YD(o,n){if(o==null)return{};var s={},i=Object.keys(o),a,c;for(c=0;c=0)&&(s[a]=o[a]);return s}let nS=0;const R$=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var oT=ve.memo(function(n){var{children:s}=n,i=qD(n,["children"]);const[a,c]=XD(i);return ve.useEffect(()=>{if(c){const h=aT();return++nS,()=>{--nS===0&&(h[R$]=null)}}},[]),f.jsx(Q0.Provider,{value:a,children:s})});function XD(o){if("manager"in o)return[{dragDropManager:o.manager},!1];const n=ZD(o.backend,o.context,o.options,o.debugMode),s=!o.context;return[n,s]}function ZD(o,n=aT(),s,i){const a=n;return a[R$]||(a[R$]={dragDropManager:KD(o,n,s,i)}),a[R$]}function aT(){return typeof global<"u"?global:window}var QD=function o(n,s){if(n===s)return!0;if(n&&s&&typeof n=="object"&&typeof s=="object"){if(n.constructor!==s.constructor)return!1;var i,a,c;if(Array.isArray(n)){if(i=n.length,i!=s.length)return!1;for(a=i;a--!==0;)if(!o(n[a],s[a]))return!1;return!0}if(n.constructor===RegExp)return n.source===s.source&&n.flags===s.flags;if(n.valueOf!==Object.prototype.valueOf)return n.valueOf()===s.valueOf();if(n.toString!==Object.prototype.toString)return n.toString()===s.toString();if(c=Object.keys(n),i=c.length,i!==Object.keys(s).length)return!1;for(a=i;a--!==0;)if(!Object.prototype.hasOwnProperty.call(s,c[a]))return!1;for(a=i;a--!==0;){var h=c[a];if(!o(n[h],s[h]))return!1}return!0}return n!==n&&s!==s};const eA=Ga(QD),vu=typeof window<"u"?ve.useLayoutEffect:ve.useEffect;function lT(o,n,s){const[i,a]=ve.useState(()=>n(o)),c=ve.useCallback(()=>{const h=n(o);eA(i,h)||(a(h),s&&s())},[i,o,s]);return vu(c),[i,c]}function tA(o,n,s){const[i,a]=lT(o,n,s);return vu(function(){const h=o.getHandlerId();if(h!=null)return o.subscribeToStateChange(a,{handlerIds:[h]})},[o,a]),i}function cT(o,n,s){return tA(n,o||(()=>({})),()=>s.reconnect())}function uT(o,n){const s=[];return typeof o!="function"&&s.push(o),ve.useMemo(()=>typeof o=="function"?o():o,s)}function nA(o){return ve.useMemo(()=>o.hooks.dragSource(),[o])}function sA(o){return ve.useMemo(()=>o.hooks.dragPreview(),[o])}let Ty=!1,ky=!1;class rA{receiveHandlerId(n){this.sourceId=n}getHandlerId(){return this.sourceId}canDrag(){Gt(!Ty,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Ty=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{Ty=!1}}isDragging(){if(!this.sourceId)return!1;Gt(!ky,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return ky=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{ky=!1}}subscribeToStateChange(n,s){return this.internalMonitor.subscribeToStateChange(n,s)}isDraggingSource(n){return this.internalMonitor.isDraggingSource(n)}isOverTarget(n,s){return this.internalMonitor.isOverTarget(n,s)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(n){return this.internalMonitor.subscribeToOffsetChange(n)}canDragSource(n){return this.internalMonitor.canDragSource(n)}canDropOnTarget(n){return this.internalMonitor.canDropOnTarget(n)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(n){this.sourceId=null,this.internalMonitor=n.getMonitor()}}let Ey=!1;class iA{receiveHandlerId(n){this.targetId=n}getHandlerId(){return this.targetId}subscribeToStateChange(n,s){return this.internalMonitor.subscribeToStateChange(n,s)}canDrop(){if(!this.targetId)return!1;Gt(!Ey,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Ey=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Ey=!1}}isOver(n){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,n):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(n){this.targetId=null,this.internalMonitor=n.getMonitor()}}function oA(o,n,s){const i=s.getRegistry(),a=i.addTarget(o,n);return[a,()=>i.removeTarget(a)]}function aA(o,n,s){const i=s.getRegistry(),a=i.addSource(o,n);return[a,()=>i.removeSource(a)]}function w_(o,n,s,i){let a;if(a!==void 0)return!!a;if(o===n)return!0;if(typeof o!="object"||!o||typeof n!="object"||!n)return!1;const c=Object.keys(o),h=Object.keys(n);if(c.length!==h.length)return!1;const g=Object.prototype.hasOwnProperty.bind(n);for(let b=0;b, or turn it into a drag source or a drop target itself.`)}function cA(o){return(n=null,s=null)=>{if(!ve.isValidElement(n)){const c=n;return o(c,s),c}const i=n;return lA(i),uA(i,s?c=>o(c,s):o)}}function dT(o){const n={};return Object.keys(o).forEach(s=>{const i=o[s];if(s.endsWith("Ref"))n[s]=o[s];else{const a=cA(i);n[s]=()=>a}}),n}function sS(o,n){typeof o=="function"?o(n):o.current=n}function uA(o,n){const s=o.ref;return Gt(typeof s!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),s?ve.cloneElement(o,{ref:i=>{sS(s,i),sS(n,i)}}):ve.cloneElement(o,{ref:n})}class dA{receiveHandlerId(n){this.handlerId!==n&&(this.handlerId=n,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(n){this.dragSourceOptionsInternal=n}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(n){this.dragPreviewOptionsInternal=n}reconnect(){const n=this.reconnectDragSource();this.reconnectDragPreview(n)}reconnectDragSource(){const n=this.dragSource,s=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return s&&this.disconnectDragSource(),this.handlerId?n?(s&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=n,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,n,this.dragSourceOptions)),s):(this.lastConnectedDragSource=n,s):s}reconnectDragPreview(n=!1){const s=this.dragPreview,i=n||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(i&&this.disconnectDragPreview(),!!this.handlerId){if(!s){this.lastConnectedDragPreview=s;return}i&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=s,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,s,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!w_(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!w_(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(n){this.hooks=dT({dragSource:(s,i)=>{this.clearDragSource(),this.dragSourceOptions=i||null,C_(s)?this.dragSourceRef=s:this.dragSourceNode=s,this.reconnectDragSource()},dragPreview:(s,i)=>{this.clearDragPreview(),this.dragPreviewOptions=i||null,C_(s)?this.dragPreviewRef=s:this.dragPreviewNode=s,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=n}}class hA{get connectTarget(){return this.dropTarget}reconnect(){const n=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();n&&this.disconnectDropTarget();const s=this.dropTarget;if(this.handlerId){if(!s){this.lastConnectedDropTarget=s;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=s,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,s,this.dropTargetOptions))}}receiveHandlerId(n){n!==this.handlerId&&(this.handlerId=n,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(n){this.dropTargetOptionsInternal=n}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!w_(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(n){this.hooks=dT({dropTarget:(s,i)=>{this.clearDropTarget(),this.dropTargetOptions=i,C_(s)?this.dropTargetRef=s:this.dropTargetNode=s,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=n}}function Cu(){const{dragDropManager:o}=ve.useContext(Q0);return Gt(o!=null,"Expected drag drop context"),o}function pA(o,n){const s=Cu(),i=ve.useMemo(()=>new dA(s.getBackend()),[s]);return vu(()=>(i.dragSourceOptions=o||null,i.reconnect(),()=>i.disconnectDragSource()),[i,o]),vu(()=>(i.dragPreviewOptions=n||null,i.reconnect(),()=>i.disconnectDragPreview()),[i,n]),i}function gA(){const o=Cu();return ve.useMemo(()=>new rA(o),[o])}class fA{beginDrag(){const n=this.spec,s=this.monitor;let i=null;return typeof n.item=="object"?i=n.item:typeof n.item=="function"?i=n.item(s):i={},i??null}canDrag(){const n=this.spec,s=this.monitor;return typeof n.canDrag=="boolean"?n.canDrag:typeof n.canDrag=="function"?n.canDrag(s):!0}isDragging(n,s){const i=this.spec,a=this.monitor,{isDragging:c}=i;return c?c(a):s===n.getSourceId()}endDrag(){const n=this.spec,s=this.monitor,i=this.connector,{end:a}=n;a&&a(s.getItem(),s),i.reconnect()}constructor(n,s,i){this.spec=n,this.monitor=s,this.connector=i}}function mA(o,n,s){const i=ve.useMemo(()=>new fA(o,n,s),[n,s]);return ve.useEffect(()=>{i.spec=o},[o]),i}function bA(o){return ve.useMemo(()=>{const n=o.type;return Gt(n!=null,"spec.type must be defined"),n},[o])}function $A(o,n,s){const i=Cu(),a=mA(o,n,s),c=bA(o);vu(function(){if(c!=null){const[g,b]=aA(c,a,i);return n.receiveHandlerId(g),s.receiveHandlerId(g),b}},[i,n,s,a,c])}function hT(o,n){const s=uT(o);Gt(!s.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const i=gA(),a=pA(s.options,s.previewOptions);return $A(s,i,a),[cT(s.collect,i,a),nA(a),sA(a)]}function vA(o){const s=Cu().getMonitor(),[i,a]=lT(s,o);return ve.useEffect(()=>s.subscribeToOffsetChange(a)),ve.useEffect(()=>s.subscribeToStateChange(a)),i}function yA(o){return ve.useMemo(()=>o.hooks.dropTarget(),[o])}function _A(o){const n=Cu(),s=ve.useMemo(()=>new hA(n.getBackend()),[n]);return vu(()=>(s.dropTargetOptions=o||null,s.reconnect(),()=>s.disconnectDropTarget()),[o]),s}function wA(){const o=Cu();return ve.useMemo(()=>new iA(o),[o])}function CA(o){const{accept:n}=o;return ve.useMemo(()=>(Gt(o.accept!=null,"accept must be defined"),Array.isArray(n)?n:[n]),[n])}class SA{canDrop(){const n=this.spec,s=this.monitor;return n.canDrop?n.canDrop(s.getItem(),s):!0}hover(){const n=this.spec,s=this.monitor;n.hover&&n.hover(s.getItem(),s)}drop(){const n=this.spec,s=this.monitor;if(n.drop)return n.drop(s.getItem(),s)}constructor(n,s){this.spec=n,this.monitor=s}}function TA(o,n){const s=ve.useMemo(()=>new SA(o,n),[n]);return ve.useEffect(()=>{s.spec=o},[o]),s}function kA(o,n,s){const i=Cu(),a=TA(o,n),c=CA(o);vu(function(){const[g,b]=oA(c,a,i);return n.receiveHandlerId(g),s.receiveHandlerId(g),b},[i,n,a,s,c.map(h=>h.toString()).join("|")])}function uw(o,n){const s=uT(o),i=wA(),a=_A(s.options);return kA(s,i,a),[cT(s.collect,i,a),yA(a)]}function pT(o){let n=null;return()=>(n==null&&(n=o()),n)}function EA(o,n){return o.filter(s=>s!==n)}function IA(o,n){const s=new Set,i=c=>s.add(c);o.forEach(i),n.forEach(i);const a=[];return s.forEach(c=>a.push(c)),a}class xA{enter(n){const s=this.entered.length,i=a=>this.isNodeInDocument(a)&&(!a.contains||a.contains(n));return this.entered=IA(this.entered.filter(i),[n]),s===0&&this.entered.length>0}leave(n){const s=this.entered.length;return this.entered=EA(this.entered.filter(this.isNodeInDocument),n),s>0&&this.entered.length===0}reset(){this.entered=[]}constructor(n){this.entered=[],this.isNodeInDocument=n}}class DA{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(n=>{Object.defineProperty(this.item,n,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${n}" until the drop event.`),null}})})}loadDataTransfer(n){if(n){const s={};Object.keys(this.config.exposeProperties).forEach(i=>{const a=this.config.exposeProperties[i];a!=null&&(s[i]={value:a(n,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,s)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(n,s){return s===n.getSourceId()}endDrag(){}constructor(n){this.config=n,this.item={},this.initializeExposedProperties()}}const gT="__NATIVE_FILE__",fT="__NATIVE_URL__",mT="__NATIVE_TEXT__",bT="__NATIVE_HTML__",rS=Object.freeze(Object.defineProperty({__proto__:null,FILE:gT,HTML:bT,TEXT:mT,URL:fT},Symbol.toStringTag,{value:"Module"}));function Iy(o,n,s){const i=n.reduce((a,c)=>a||o.getData(c),"");return i??s}const S_={[gT]:{exposeProperties:{files:o=>Array.prototype.slice.call(o.files),items:o=>o.items,dataTransfer:o=>o},matchesTypes:["Files"]},[bT]:{exposeProperties:{html:(o,n)=>Iy(o,n,""),dataTransfer:o=>o},matchesTypes:["Html","text/html"]},[fT]:{exposeProperties:{urls:(o,n)=>Iy(o,n,"").split(` -`),dataTransfer:o=>o},matchesTypes:["Url","text/uri-list"]},[mT]:{exposeProperties:{text:(o,n)=>Iy(o,n,""),dataTransfer:o=>o},matchesTypes:["Text","text/plain"]}};function AA(o,n){const s=S_[o];if(!s)throw new Error(`native type ${o} has no configuration`);const i=new DA(s);return i.loadDataTransfer(n),i}function xy(o){if(!o)return null;const n=Array.prototype.slice.call(o.types||[]);return Object.keys(S_).filter(s=>{const i=S_[s];return i!=null&&i.matchesTypes?i.matchesTypes.some(a=>n.indexOf(a)>-1):!1})[0]||null}const OA=pT(()=>/firefox/i.test(navigator.userAgent)),$T=pT(()=>!!window.safari);class iS{interpolate(n){const{xs:s,ys:i,c1s:a,c2s:c,c3s:h}=this;let g=s.length-1;if(n===s[g])return i[g];let b=0,$=h.length-1,y;for(;b<=$;){y=Math.floor(.5*(b+$));const C=s[y];if(Cn)$=y-1;else return i[y]}g=Math.max(0,$);const w=n-s[g],T=w*w;return i[g]+a[g]*w+c[g]*T+h[g]*w*T}constructor(n,s){const{length:i}=n,a=[];for(let C=0;Cn[C]{let q=new iS([0,.5,1],[b.y,b.y/y*E,b.y+E-y]).interpolate(T);return $T()&&c&&(q+=(window.devicePixelRatio-1)*E),q},A=()=>new iS([0,.5,1],[b.x,b.x/$*C,b.x+C-$]).interpolate(w),{offsetX:P,offsetY:N}=a,B=P===0||P,S=N===0||N;return{x:B?P:A(),y:S?N:k()}}let BA=class{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var n;return!((n=this.globalContext)===null||n===void 0)&&n.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var n;return((n=this.optionsArgs)===null||n===void 0?void 0:n.rootElement)||this.window}constructor(n,s){this.ownerDocument=null,this.globalContext=n,this.optionsArgs=s}};function PA(o,n,s){return n in o?Object.defineProperty(o,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):o[n]=s,o}function oS(o){for(var n=1;n{this.sourcePreviewNodes.delete(n),this.sourcePreviewNodeOptions.delete(n)}}connectDragSource(n,s,i){this.sourceNodes.set(n,s),this.sourceNodeOptions.set(n,i);const a=h=>this.handleDragStart(h,n),c=h=>this.handleSelectStart(h);return s.setAttribute("draggable","true"),s.addEventListener("dragstart",a),s.addEventListener("selectstart",c),()=>{this.sourceNodes.delete(n),this.sourceNodeOptions.delete(n),s.removeEventListener("dragstart",a),s.removeEventListener("selectstart",c),s.setAttribute("draggable","false")}}connectDropTarget(n,s){const i=h=>this.handleDragEnter(h,n),a=h=>this.handleDragOver(h,n),c=h=>this.handleDrop(h,n);return s.addEventListener("dragenter",i),s.addEventListener("dragover",a),s.addEventListener("drop",c),()=>{s.removeEventListener("dragenter",i),s.removeEventListener("dragover",a),s.removeEventListener("drop",c)}}addEventListeners(n){n.addEventListener&&(n.addEventListener("dragstart",this.handleTopDragStart),n.addEventListener("dragstart",this.handleTopDragStartCapture,!0),n.addEventListener("dragend",this.handleTopDragEndCapture,!0),n.addEventListener("dragenter",this.handleTopDragEnter),n.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),n.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),n.addEventListener("dragover",this.handleTopDragOver),n.addEventListener("dragover",this.handleTopDragOverCapture,!0),n.addEventListener("drop",this.handleTopDrop),n.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(n){n.removeEventListener&&(n.removeEventListener("dragstart",this.handleTopDragStart),n.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),n.removeEventListener("dragend",this.handleTopDragEndCapture,!0),n.removeEventListener("dragenter",this.handleTopDragEnter),n.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),n.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),n.removeEventListener("dragover",this.handleTopDragOver),n.removeEventListener("dragover",this.handleTopDragOverCapture,!0),n.removeEventListener("drop",this.handleTopDrop),n.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const n=this.monitor.getSourceId(),s=this.sourceNodeOptions.get(n);return oS({dropEffect:this.altKeyPressed?"copy":"move"},s||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const n=this.monitor.getSourceId(),s=this.sourcePreviewNodeOptions.get(n);return oS({anchorX:.5,anchorY:.5,captureDraggingState:!1},s||{})}isDraggingNativeItem(){const n=this.monitor.getItemType();return Object.keys(rS).some(s=>rS[s]===n)}beginDragNativeItem(n,s){this.clearCurrentDragSourceNode(),this.currentNativeSource=AA(n,s),this.currentNativeHandle=this.registry.addSource(n,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(n){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=n;const s=1e3;this.mouseMoveTimeoutTimer=setTimeout(()=>{var i;return(i=this.rootElement)===null||i===void 0?void 0:i.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},s)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var n;(n=this.window)===null||n===void 0||n.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(n,s){n.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(s))}handleDragEnter(n,s){this.dragEnterTargetIds.unshift(s)}handleDragOver(n,s){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(s)}handleDrop(n,s){this.dropTargetIds.unshift(s)}constructor(n,s,i){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=a=>{const c=this.sourceNodes.get(a);return c&&vT(c)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=a=>!!(a&&this.document&&this.document.body&&this.document.body.contains(a)),this.endDragIfSourceWasRemovedFromDOM=()=>{const a=this.currentDragSourceNode;a==null||this.isNodeInDocument(a)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=a=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(a||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<"u"&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=a=>{if(a.defaultPrevented)return;const{dragStartSourceIds:c}=this;this.dragStartSourceIds=null;const h=g$(a);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(c||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:h});const{dataTransfer:g}=a,b=xy(g);if(this.monitor.isDragging()){if(g&&typeof g.setDragImage=="function"){const y=this.monitor.getSourceId(),w=this.sourceNodes.get(y),T=this.sourcePreviewNodes.get(y)||w;if(T){const{anchorX:C,anchorY:E,offsetX:k,offsetY:A}=this.getCurrentSourcePreviewNodeOptions(),B=LA(w,T,h,{anchorX:C,anchorY:E},{offsetX:k,offsetY:A});g.setDragImage(T,B.x,B.y)}}try{g==null||g.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(a.target);const{captureDraggingState:$}=this.getCurrentSourcePreviewNodeOptions();$?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(b)this.beginDragNativeItem(b);else{if(g&&!g.types&&(a.target&&!a.target.hasAttribute||!a.target.hasAttribute("draggable")))return;a.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=a=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var c;(c=this.currentNativeSource)===null||c===void 0||c.loadDataTransfer(a.dataTransfer)}if(!this.enterLeaveCounter.enter(a.target)||this.monitor.isDragging())return;const{dataTransfer:g}=a,b=xy(g);b&&this.beginDragNativeItem(b,g)},this.handleTopDragEnter=a=>{const{dragEnterTargetIds:c}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=a.altKey,c.length>0&&this.actions.hover(c,{clientOffset:g$(a)}),c.some(g=>this.monitor.canDropOnTarget(g))&&(a.preventDefault(),a.dataTransfer&&(a.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=a=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var c;(c=this.currentNativeSource)===null||c===void 0||c.loadDataTransfer(a.dataTransfer)}},this.handleTopDragOver=a=>{const{dragOverTargetIds:c}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){a.preventDefault(),a.dataTransfer&&(a.dataTransfer.dropEffect="none");return}this.altKeyPressed=a.altKey,this.lastClientOffset=g$(a),this.scheduleHover(c),(c||[]).some(g=>this.monitor.canDropOnTarget(g))?(a.preventDefault(),a.dataTransfer&&(a.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?a.preventDefault():(a.preventDefault(),a.dataTransfer&&(a.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=a=>{this.isDraggingNativeItem()&&a.preventDefault(),this.enterLeaveCounter.leave(a.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=a=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var c;a.preventDefault(),(c=this.currentNativeSource)===null||c===void 0||c.loadDataTransfer(a.dataTransfer)}else xy(a.dataTransfer)&&a.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=a=>{const{dropTargetIds:c}=this;this.dropTargetIds=[],this.actions.hover(c,{clientOffset:g$(a)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=a=>{const c=a.target;typeof c.dragDrop=="function"&&(c.tagName==="INPUT"||c.tagName==="SELECT"||c.tagName==="TEXTAREA"||c.isContentEditable||(a.preventDefault(),c.dragDrop()))},this.options=new BA(s,i),this.actions=n.getActions(),this.monitor=n.getMonitor(),this.registry=n.getRegistry(),this.enterLeaveCounter=new xA(this.isNodeInDocument)}}let f$;function FA(){return f$||(f$=new Image,f$.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),f$}const yT=function(n,s,i){return new jA(n,s,i)},q$="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20shape-rendering='geometricPrecision'%20image-rendering='optimizeQuality'%20fill-rule='evenodd'%20xmlns:v='https://vecta.io/nano'%3e%3cpath%20fill='%23efda4e'%20d='M-.5-.5h512v512H-.5V-.5z'/%3e%3cpath%20fill='%23020100'%20d='M308.5%20287.5c1.777-3.005%202.777-6.338%203-10%209.147-21.963%2025.48-35.463%2049-40.5%2021.999-4.173%2043.666-2.84%2065%204%2014.575%205.411%2025.575%2014.911%2033%2028.5l-1%202c-12.413%205.624-24.58%2011.624-36.5%2018-5.321-8.25-12.821-13.417-22.5-15.5-13.957-3.122-27.29-1.455-40%205-8.125%205.36-10.958%2012.86-8.5%2022.5%203.223%206.223%208.057%2010.723%2014.5%2013.5l64%2020c38.459%2016.085%2052.626%2044.585%2042.5%2085.5-7.572%2026.208-24.738%2042.041-51.5%2047.5-25.102%205.733-49.768%204.4-74-4-19.291-8.625-32.291-22.958-39-43%2011.266-8.887%2023.433-16.387%2036.5-22.5%203.117%206.896%206.784%2013.563%2011%2020%2012.705%2012.307%2027.872%2016.807%2045.5%2013.5%2022.189-3.504%2032.355-16.338%2030.5-38.5-2.833-6.833-7.667-11.667-14.5-14.5l-57-17c-36.004-11.84-52.67-36.673-50-74.5z'/%3e%3cpath%20fill='%23020200'%20d='M222.5%20238.5h43l-.5%20159c-2.688%2052.355-30.188%2076.855-82.5%2073.5-24.871-3.543-41.204-17.21-49-41l.5-2.5a12.14%2012.14%200%200%200%204.5-3.5c10.653-5.825%2021.32-11.325%2032-16.5%204.763%2021.72%2017.763%2028.887%2039%2021.5%204.616-2.618%207.783-6.451%209.5-11.5%201.163-5.968%202.163-11.968%203-18l.5-161z'/%3e%3cpath%20fill='%23615820'%20d='M311.5%20277.5c-.223%203.662-1.223%206.995-3%2010%20.223-3.662%201.223-6.995%203-10z'/%3e%3c/svg%3e",_T="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20500%20500'%3e%3cpath%20fill='%234285f4'%20d='M44.271%2027.275l206.5%201v170l-58.5-36.5c-7.005-.916-12.505%201.584-16.5%207.5v147c4.625%204.412%2010.125%206.245%2016.5%205.5l57.5-35.5c.833%2054.003%201.356%20108.003.189%20162-1.272.546-45.599-.242-48.689%201.121-3.674%207.844-4.79%2011.207-13%2023.879-4.372%205.527-2.19%204.097-10.689%2012.258-5.166%202.748-4.191%203.45-14.311%206.242-17.67%201.983-35.336%201.983-53%200-9.535-3.774-10.879-4.163-18.526-11.22-5.562-4.39-11.131-11.803-11.974-15.28-4.068-7.881-3.42-9.116-5.5-13.5-3.672-1.503-35.798.203-40.746-1.335-5.823-2.314-2.946-.422-7.954-3.689-2.888-2.668-2.255-3.221-2.421-9.904L20.771%2050.275c.36-2.108-.41-5.806%202.522-11.615%204.343-5.852%205.374-7%2010.061-9.146%206.083-2.73%208.677-1.475%2010.917-2.239z'/%3e%3cpath%20d='M258.271%2030.275l154.63.407c5.654.559%2010.783%203.17%2014.37%207.093%204.907%204.408%206.204%208.723%207.5%2013.5v373c-.208%205.716-.297%207.982-4.848%2015.404-7.078%206.393-9.879%206.39-15.652%206.692-24.804%201.296-50.079%201.189-74.96%201.041-24.516-.014-68.46.89-81.5.391l-2.512-172.528c-20.083%2012.625-42.777%2025.125-63.028%2037.5-4.127%201.292-7.294.125-9.5-3.5l1-137c1.864-2.707%204.364-3.541%207.5-2.5%2020.366%2013.427%2064.35%2038.947%2065.581%2038.339l1.419-177.839z'%20fill='%23DDD'/%3e%3c/svg%3e",wT="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%20width='32'%20height='32'%3e%3cpath%20fill='%23007acc'%20d='M-.5-.5h503l-1%20179h10v333h-421v-7h-91V-.5z'/%3e%3cpath%20fill='%230f81cf'%20d='M502.5-.5h9v179h-10l1-179z'/%3e%3cpath%20fill='%23fdfefe'%20d='M470.5%20227.5c.33%2017.508-.003%2034.841-1%2052-23.486-15.709-48.82-19.875-76-12.5-15.89%208.078-19.39%2019.911-10.5%2035.5%204.673%205.577%2010.173%2010.077%2016.5%2013.5l38%2019c17.945%209.278%2031.112%2023.112%2039.5%2041.5%201.352%203.22%202.186%206.553%202.5%2010a305.16%20305.16%200%200%201%201%2026c-3.553%2033.726-21.886%2054.559-55%2062.5-34.769%207.363-68.435%204.196-101-9.5-.167-19.003%200-38.003.5-57%2022.903%2021.314%2049.736%2029.147%2080.5%2023.5%2019.435-5.701%2025.268-17.868%2017.5-36.5-4.718-6.44-10.552-11.606-17.5-15.5a1552.42%201552.42%200%200%201-47-24c-27.679-19.331-38.846-45.831-33.5-79.5%206.43-26.433%2022.597-43.933%2048.5-52.5%2026.131-6.625%2052.464-7.292%2079-2a565.56%20565.56%200%200%201%2018%205.5z'/%3e%3cpath%20fill='%23fefefe'%20d='M122.5%20222.5h182v46h-65v206h-52v-206h-65v-46z'/%3e%3cpath%20fill='%2370b3e1'%20d='M470.5%20227.5c1.327%2017.505%201.327%2035.171%200%2053-.607-.124-.94-.457-1-1%20.997-17.159%201.33-34.492%201-52z'/%3e%3cpath%20fill='%236cafe0'%20d='M479.5%20386.5c1.465%205.09%202.132%2010.423%202%2016-.002%203.518-.335%206.851-1%2010a305.16%20305.16%200%200%200-1-26z'/%3e%3cpath%20fill='%231283cf'%20d='M-.5%20504.5h91v7h-91v-7z'/%3e%3c/svg%3e",CT="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0ibXlHcmFkaWVudCI+CiAgICAgICAgPHN0b3Agb2Zmc2V0PSIxMCUiIHN0b3AtY29sb3I9IiMxQzJENUYiIC8+CiAgICAgICAgPHN0b3Agb2Zmc2V0PSI5NSUiIHN0b3AtY29sb3I9IiMwQjFENTMiIC8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPHBhdGggZmlsbD0idXJsKCcjbXlHcmFkaWVudCcpIiBkPSJNLS4xLS4xaDUxMnY1MTJILS4xVi0uMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNmOGY4ZmEiCiAgICAgICAgICBkPSJNNDgyLjUgMjMxLjV2NmgtMjVjLS45NzItOC4xNy01LjYzOS0xMi4xNy0xNC0xMi05LjUzMS4wMjktMTMuMzY1IDQuNjk1LTExLjUgMTRsNC41IDQuNSAzMyA4YzE5LjM4OCA5LjYzNCAyMy4zODggMjMuODAxIDEyIDQyLjVhMzUuMDYgMzUuMDYgMCAwIDAtOCA2Yy0xMy45MjUgNC43NjEtMjguMjU4IDYuMjYxLTQzIDQuNS0xMC42MDEtMS4wMjQtMTguOTM1LTUuODU3LTI1LTE0LjUtMS4wNzctMi4yMjktMS43NDQtNC41NjMtMi03di04aDI1YzEuNDk1IDQuMjc5IDMuODI4IDguMTEzIDcgMTEuNSA3LjQ3OCAyLjI1OCAxNC44MTEgMS45MjUgMjItMSAyLjg5NC0yLjkwOSAzLjcyNy02LjQwOSAyLjUtMTAuNWEzNi44IDM2LjggMCAwIDAtMTIuNS01LjUgNTM5Ljc5IDUzOS43OSAwIDAgMS0yOC04Yy0xMi44NzQtNi41NjItMTcuNzA3LTE3LjA2Mi0xNC41LTMxLjUgMy41Ny0xMC41NjkgMTAuNzM3LTE3LjQwMyAyMS41LTIwLjUgMTYuMTQ4LTQuNTM5IDMxLjQ4Mi0yLjcwNiA0NiA1LjUgMiAyLjY2NyA0LjMzMyA1IDcgNyAxLjg3MSAyLjczNCAyLjg3MSA1LjczNCAzIDl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTRhYmJmIiBkPSJNMTUzLjUgMjA5LjVjLjA2LS41NDMuMzkzLS44NzYgMS0xYTEwMjQuNjMgMTAyNC42MyAwIDAgMSAxIDY0bC0yLTYzeiIvPgogICAgPHBhdGggZmlsbD0iI2ZhZmJmYyIKICAgICAgICAgIGQ9Ik0xNTMuNSAyMDkuNWwyIDYzYzEuMjc4IDExLjQ0NCA3LjYxMSAxNi4yNzcgMTkgMTQuNSA4LjcwNC0xLjM3OCAxMy4yMDQtNi41NDQgMTMuNS0xNS41LjUtMjAuNjY0LjY2Ny00MS4zMzEuNS02MiA5Ljc0My0uMjE5IDE5LjQwOS0uMjE5IDI5IDAgLjQwMSAyMy4zNjItLjA5OSA0Ni42OTYtMS41IDcwLTQuMjk4IDE0Ljk2OC0xNC4xMzEgMjMuNDY4LTI5LjUgMjUuNWEyMjUuMTQgMjI1LjE0IDAgMCAxLTMwIDBjLTE1LjgyMi0yLjE1NS0yNS42NTUtMTAuOTg4LTI5LjUtMjYuNWwtLjUtNjloMjd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjZmVmZWZlIgogICAgICAgICAgZD0iTTIzMy41IDIwOS41aDI3Yy0uMzMxIDI1LjE3Mi4wMDIgNTAuMTcyIDEgNzUgMCAuNjY3LjMzMyAxIDEgMSAxMy4xNTYuOTk2IDI2LjQ5IDEuMzI5IDQwIDF2MTdoLTY5di05NHoiLz4KICAgIDxwYXRoIGZpbGw9IiNhNWFjYmYiIGQ9Ik0yMzMuNSAyMDkuNWM5LjE1Mi0uOTk0IDE4LjQ4NS0xLjMyNyAyOC0xdjc2Yy0uOTk4LTI0LjgyOC0xLjMzMS00OS44MjgtMS03NWgtMjd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTdhZWMxIiBkPSJNMzE2LjUgMjA5LjVoNzNjLjMyMyA2LjE5LS4wMSAxMi4xOS0xIDE4di0xN2MtMjQuMTcyLjMzMS00OC4xNzItLjAwMi03Mi0xeiIvPgogICAgPHBhdGggZmlsbD0iI2E1YWNjMCIgZD0iTTg1LjUgMjEwLjVoLTU5djkzaDI3Yy0uMzI4LTExLjE3OS4wMDUtMjIuMTc5IDEtMzN2MzRoLTI5di05NWE5MDAuOTggOTAwLjk4IDAgMCAxIDYwIDF6Ii8+CiAgICA8cGF0aCBmaWxsPSIjZmNmY2ZjIgogICAgICAgICAgZD0iTTg1LjUgMjEwLjVjMjIuMjIzIDMuNzU4IDI5LjU1NiAxNi40MjUgMjIgMzgtNC4yMjggNS4zOTctOS4yMjggOS44OTctMTUgMTMuNS0xLjMwNS44MDQtMS45NzEgMS45NzEtMiAzLjVsMjMgMzZjLTQuNDUxIDEuMzI3LTkuMjg0IDEuOTk0LTE0LjUgMmExMjguMTkgMTI4LjE5IDAgMCAxLTE1LjUtMWMtNi45NTUtMTAuMzI2LTEzLjQ1NS0yMC45OTItMTkuNS0zMi0zLjI2OS0xLjMxOC02LjQzNS0xLjMxOC05LjUgMC0uOTk1IDEwLjgyMS0xLjMyOCAyMS44MjEtMSAzM2gtMjd2LTkzaDU5eiIvPgogICAgPHBhdGggZmlsbD0iI2ZlZmVmZSIKICAgICAgICAgIGQ9Ik0zMTYuNSAyMDkuNWMyMy44MjguOTk4IDQ3LjgyOCAxLjMzMSA3MiAxdjE3Yy0xNC42Ny0uMTY3LTI5LjMzNyAwLTQ0IC41LTEuMzI2IDYuNTk5LTEuMzI2IDEzLjA5OSAwIDE5LjUgMTQuNDkuOTk2IDI5LjE1NyAxLjMyOSA0NCAxdjE2Yy0xNC44NDMtLjMyOS0yOS41MS4wMDQtNDQgMWE1MC41MSA1MC41MSAwIDAgMCAwIDIwYzE0LjQ5Ljk5NiAyOS4xNTcgMS4zMjkgNDQgMXYxN2gtNzNjLS4zMzItMzEuNTA0LjAwMi02Mi44MzggMS05NHoiLz4KICAgIDxwYXRoIGZpbGw9IiMxODI3NWIiCiAgICAgICAgICBkPSJNNTUuNSAyMjkuNWM3LjA4OS0uMzg0IDE0LjA4OS4xMTYgMjEgMS41IDMuNDAxIDEuMzIgNC43MzUgMy44MiA0IDcuNWwtLjUgNWMtMS43NzEuODA0LTMuMjcxIDEuOTcxLTQuNSAzLjUtNi41OTIgMS4zMjktMTMuMjU5IDEuODI5LTIwIDEuNXYtMTl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTVhY2MwIiBkPSJNNDgyLjUgMjMxLjVjLjk2OCAyLjEwNyAxLjMwMiA0LjQ0MSAxIDctOC44NDkuMzI2LTE3LjUxNi0uMDA3LTI2LTFoMjV2LTZ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTZhZGMwIiBkPSJNMzQ0LjUgMjQ3LjVoNDV2MThoLTQ1YzE0LjQ5LS45OTYgMjkuMTU3LTEuMzI5IDQ0LTF2LTE2Yy0xNC44NDMuMzI5LTI5LjUxLS4wMDQtNDQtMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNhMmE5YmUiIGQ9Ik00MjguNSAyNzUuNWgtMjV2OGMtLjk3Ny0yLjc4Ny0xLjMxLTUuNzg3LTEtOSA4Ljg0OS0uMzI2IDE3LjUxNi4wMDcgMjYgMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNhNWFjYmYiCiAgICAgICAgICBkPSJNMTEzLjUgMzAxLjVjLjk3OC4zMTEgMS42NDUuOTc4IDIgMmwtMTYgMWMtNS43MTEtLjAwNS0xMS4wNDQtLjY3Mi0xNi0yYTEyOC4xOSAxMjguMTkgMCAwIDAgMTUuNSAxYzUuMjE2LS4wMDYgMTAuMDQ5LS42NzMgMTQuNS0yeiIvPgogICAgPHBhdGggZmlsbD0iI2E1YWNjMCIgZD0iTTIzMy41IDIwOS41djk0aDY5di0xN2MtMTMuNTEuMzI5LTI2Ljg0NC0uMDA0LTQwLTFoNDF2MTloLTcxYTIyNTYuNDEgMjI1Ni40MSAwIDAgMSAxLTk1eiIvPgogICAgPHBhdGggZmlsbD0iI2E2YWNjMCIKICAgICAgICAgIGQ9Ik0zMTYuNSAyMDkuNWMtLjk5OCAzMS4xNjItMS4zMzIgNjIuNDk2LTEgOTRoNzN2LTE3Yy0xNC44NDMuMzI5LTI5LjUxLS4wMDQtNDQtMWg0NXYxOWgtNzVhMjMwNC45NSAyMzA0Ljk1IDAgMCAxIDEtOTZjLjYwNy4xMjQuOTQuNDU3IDEgMXoiLz4KPC9zdmc+",zA=Er([f.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),f.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime"),UA=Er(f.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4z"}),"AddBox"),WA=Er(f.jsx("path",{d:"M4 8h4V4H4zm6 12h4v-4h-4zm-6 0h4v-4H4zm0-6h4v-4H4zm6 0h4v-4h-4zm6-10v4h4V4zm-6 4h4V4h-4zm6 6h4v-4h-4zm0 6h4v-4h-4z"}),"Apps"),HA=Er(f.jsx("path",{d:"M9 2c-1.05 0-2.05.16-3 .46 4.06 1.27 7 5.06 7 9.54s-2.94 8.27-7 9.54c.95.3 1.95.46 3 .46 5.52 0 10-4.48 10-10S14.52 2 9 2"}),"Brightness3"),ST=Er(f.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2zm-1 7h5.5L14 6.5z"}),"FileCopy"),VA=Er(f.jsx("path",{d:"M7 2v11h3v9l7-12h-4l4-8z"}),"FlashOn"),GA=Er(f.jsx("path",{d:"M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z"}),"Functions"),dw=Er(f.jsx("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline"),KA=Er(f.jsx("path",{d:"M6 19h4V5H6zm8-14v14h4V5z"}),"Pause"),JA=Er(f.jsx("path",{d:"M8 5v14l11-7z"}),"PlayArrow"),qA=Er(f.jsx("path",{d:"M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4z"}),"PlayForWork"),YA=Er(f.jsx("path",{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15M14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2"}),"QuestionMark"),XA=Er(f.jsx("path",{d:"M10.59 9.17 5.41 4 4 5.41l5.17 5.17zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4zm.33 9.41-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04z"}),"Shuffle"),ZA=Er(f.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage"),QA=Er(f.jsx("path",{d:"M14 17H4v2h10zm6-8H4v2h16zM4 15h16v-2H4zM4 5v2h16V5z"}),"Subject");class hw extends We.Component{isShowInstance;oldId;constructor(n){super(n),this.state={name:n.name,id:n.id,instance:n.instance||0,prefix:hw.getPrefix(n.id)},this.isShowInstance=!n.folder&&!!n.instances&&(!!n.instance||!!n.instances[0]||n.instances.length>1),this.oldId=n.id}static getPrefix(n){const s=(n||"").split(".");return s.pop(),s.join(".")}getId(n){return n=(n||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),`${this.state.prefix}.${n}`}handleCancel=()=>{this.props.onClose()};handleOk=()=>{this.props.onRename(this.oldId,this.state.id,this.state.name,this.state.instance===0?0:this.state.instance||void 0),this.props.onClose()};handleChange=n=>{this.setState({name:n,id:this.getId(n)})};render(){return f.jsxs(D.Dialog,{onClose:()=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[f.jsx(D.DialogTitle,{id:"confirmation-dialog-title",children:I.I18n.t("Rename")}),f.jsx(D.DialogContent,{children:f.jsxs("form",{noValidate:!0,autoComplete:"off",children:[f.jsx(D.TextField,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,label:I.I18n.t("Name"),value:this.state.name,onKeyUp:n=>{n.key==="Enter"&&(n.preventDefault(),setTimeout(()=>this.handleOk(),200))},onChange:n=>this.handleChange(n.target.value),margin:"normal"}),f.jsx(D.TextField,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:I.I18n.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&f.jsxs(D.FormControl,{variant:"standard",children:[f.jsx(D.InputLabel,{htmlFor:"instance",children:I.I18n.t("Instance")}),f.jsx(D.Select,{variant:"standard",value:this.state.instance,onChange:n=>this.setState({instance:parseInt(n.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:this.props.instances.map(n=>f.jsx(D.MenuItem,{value:n,children:n||"0"},n))})]})]})}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:f.jsx(Va,{}),children:I.I18n.t("Ok")}),f.jsx(D.Button,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:f.jsx(Jo,{}),children:I.I18n.t("Cancel")})]})]})}}class eO extends We.Component{constructor(n){super(n),this.state={name:n.name,id:n.id}}handleCancel=()=>{this.props.onClose()};handleOk=()=>{this.props.onDelete(this.state.id),this.props.onClose()};render(){return f.jsxs(D.Dialog,{onClose:()=>!1,maxWidth:"md",open:!0,"aria-labelledby":"confirmation-dialog-title",children:[f.jsx(D.DialogTitle,{id:"confirmation-dialog-title",children:I.I18n.t("Are you sure?")}),f.jsxs(D.DialogContent,{children:[f.jsx(AI,{}),f.jsx("span",{style:{fontSize:14,fontWeight:"bold"},children:I.I18n.t("Delete %s",this.state.name)})]}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:f.jsx(Va,{}),children:I.I18n.t("Ok")}),f.jsx(D.Button,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:f.jsx(Jo,{}),children:I.I18n.t("Cancel")})]})]})}}const tO=""+new URL("tileJS-C48gYbHw.png",import.meta.url).href,nO=""+new URL("tileTS-CsXmgy4B.png",import.meta.url).href,sO=""+new URL("tileBlockly-BMpdinN3.png",import.meta.url).href,rO=""+new URL("tileRules-BkbaFIhs.png",import.meta.url).href,lr={card:{maxWidth:345,minWidth:250,display:"inline-block",margin:"0 10px 0 10px"},media:{height:122},text:{maxWidth:218,minHeight:30},complexity:{fontWeight:"bold",fontStyle:"italic",marginBottom:8}};class Ch extends We.Component{handleCancel=()=>{this.props.onClose()};static openHtml(n){const s=I.I18n.getLanguage();!n.includes("javascript.md")&&(s==="de"||s==="ru")&&(n=n.replace(/\/en\//,`/${s}/`));const i=window.open(n,"_blank");i==null||i.focus()}getJSCard(){return f.jsxs(D.Card,{style:lr.card,children:[f.jsxs(D.CardActionArea,{onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:[f.jsx(D.CardMedia,{style:lr.media,image:tO,title:"JavaScript"}),f.jsxs(D.CardContent,{children:[f.jsx("h2",{children:"JavaScript"}),f.jsx("div",{style:lr.complexity,children:I.I18n.t("for programmers")}),f.jsx("div",{style:lr.text,children:I.I18n.t("JS description")})]})]}),f.jsxs(D.CardActions,{children:[f.jsx(D.Button,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:I.I18n.t("Add")}),f.jsx(D.Button,{size:"small",color:"secondary",onClick:()=>Ch.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:I.I18n.t("Learn More")})]})]})}getTSCard(){return f.jsxs(D.Card,{style:lr.card,children:[f.jsxs(D.CardActionArea,{onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:[f.jsx(D.CardMedia,{style:lr.media,image:nO,title:"TypeScript"}),f.jsxs(D.CardContent,{children:[f.jsx("h2",{children:"TypeScript"}),f.jsx("div",{style:lr.complexity,children:I.I18n.t("for professionals")}),f.jsx("div",{style:lr.text,children:I.I18n.t("TS description")})]})]}),f.jsxs(D.CardActions,{children:[f.jsx(D.Button,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:I.I18n.t("Add")}),f.jsx(D.Button,{size:"small",color:"secondary",onClick:()=>Ch.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:I.I18n.t("Learn More")})]})]})}getBlocklyCard(){return f.jsxs(D.Card,{style:lr.card,children:[f.jsxs(D.CardActionArea,{onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:[f.jsx(D.CardMedia,{style:lr.media,image:sO,title:"Blockly"}),f.jsxs(D.CardContent,{children:[f.jsx("h2",{children:"Blockly"}),f.jsx("div",{style:lr.complexity,children:I.I18n.t("normal")}),f.jsx("div",{style:lr.text,children:I.I18n.t("Blockly description")})]})]}),f.jsxs(D.CardActions,{children:[f.jsx(D.Button,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:I.I18n.t("Add")}),f.jsx(D.Button,{size:"small",color:"secondary",onClick:()=>Ch.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md"),children:I.I18n.t("Learn More")})]})]})}getRulesCard(){return f.jsxs(D.Card,{style:lr.card,children:[f.jsxs(D.CardActionArea,{onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:[f.jsx(D.CardMedia,{style:lr.media,image:rO,title:"Rules"}),f.jsxs(D.CardContent,{children:[f.jsx("h2",{children:"Rules"}),f.jsx("div",{style:lr.complexity,children:I.I18n.t("easy")}),f.jsx("div",{style:lr.text,children:I.I18n.t("Rules description")})]})]}),f.jsxs(D.CardActions,{children:[f.jsx(D.Button,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:I.I18n.t("Add")}),f.jsx(D.Button,{size:"small",color:"secondary",onClick:()=>Ch.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:I.I18n.t("Learn More")})]})]})}render(){return f.jsxs(D.Dialog,{onClose:()=>!1,maxWidth:"lg",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[f.jsx(D.DialogTitle,{id:"confirmation-dialog-title",children:I.I18n.t("Add new script")}),f.jsxs(D.DialogContent,{style:{textAlign:"center"},children:[this.getRulesCard(),this.getBlocklyCard(),this.getJSCard(),this.getTSCard()]}),f.jsx(D.DialogActions,{children:f.jsx(D.Button,{color:"grey",onClick:this.handleCancel,startIcon:f.jsx(Jo,{}),children:I.I18n.t("Cancel")})})]})}}class Dy extends We.Component{isShowInstance;constructor(n){super(n),this.state={name:n.name||"Script",instance:n.instance||0,parent:n.parent,error:"",id:""},this.isShowInstance=!n.folder&&!!n.instances&&(!!n.instance||!!n.instances[0]||n.instances.length>1)}getId(n){return n=n||this.state.name||"",n=n.replace(/[\\/\][.*,;'"`<>?\s]/g,"_").trim().replace(/\.$/,"_"),`${this.state?this.state.parent:this.props.parent}.${n}`}handleOk=()=>{this.props.onAdd(this.getId(this.state.name),this.state.name,this.state.instance,this.props.type),this.props.onClose()};render(){var n;return console.log(this.state.name),f.jsxs(D.Dialog,{onClose:()=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[f.jsx(D.DialogTitle,{id:"confirmation-dialog-title",children:this.props.title||I.I18n.t("Create new")}),f.jsx(D.DialogContent,{children:f.jsxs("form",{noValidate:!0,autoComplete:"off",children:[f.jsx(D.TextField,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,error:!!this.state.error,label:I.I18n.t("Name"),value:this.state.name||"",helperText:this.state.error,slotProps:{input:{endAdornment:this.state.name?f.jsx(D.IconButton,{size:"small",onClick:()=>this.setState({name:""}),children:f.jsx(OI,{})}):void 0}},onKeyUp:s=>{s.preventDefault(),s.key==="Enter"&&!this.state.error&&setTimeout(()=>this.handleOk(),200)},onChange:s=>{var c;const i=s.target.value,a=this.getId(i);i?(c=this.props.existingItems)!=null&&c.includes(a)?this.setState({name:i,id:a,error:I.I18n.t("Duplicate name")}):(console.log(`Set name: "${i}"`),this.setState({name:i,id:a,error:""})):this.setState({name:i,id:a,error:I.I18n.t("Empty name is not allowed")})},margin:"normal"}),f.jsxs(D.FormControl,{variant:"standard",style:{width:"100%"},children:[f.jsx(D.InputLabel,{htmlFor:"parent",children:I.I18n.t("Folder")}),f.jsx(D.Select,{variant:"standard",style:{width:"100%"},value:this.state.parent,onChange:s=>this.setState({parent:s.target.value}),inputProps:{name:"parent",id:"parent"},children:this.props.parents.map(s=>{const i=s.id.split(".");i.splice(0,2);const a=[];let c="script.js";return i.forEach(h=>{c+=`.${h}`;const g=this.props.parents.find(b=>b.id===c);g?a.push(g.name):a.push(h)}),a.length||a.push(s.name),f.jsx(D.MenuItem,{value:s.id,children:a.join(" / ")},s.id)})})]}),f.jsx(D.TextField,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:I.I18n.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&f.jsxs(D.FormControl,{variant:"standard",children:[f.jsx(D.InputLabel,{htmlFor:"instance",children:I.I18n.t("Instance")}),f.jsx(D.Select,{variant:"standard",value:this.state.instance,onChange:s=>this.setState({instance:parseInt(s.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:(n=this.props.instances)==null?void 0:n.map(s=>f.jsx(D.MenuItem,{value:s,children:s||"0"},`instance${s}`))})]})]})}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{variant:"contained",onClick:this.handleOk,disabled:!!this.state.error,color:"primary",startIcon:f.jsx(Va,{}),children:I.I18n.t("Ok")}),f.jsx(D.Button,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:f.jsx(Jo,{}),children:I.I18n.t("Cancel")})]})]})}}const iO={title:o=>({background:o.palette.error.main,color:o.palette.error.contrastText,"&>h2":{color:o.palette.error.contrastText}})};class Hf extends We.Component{handleOk=()=>{this.props.onClose()};render(){return f.jsxs(D.Dialog,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[f.jsx(D.DialogTitle,{sx:iO.title,id:"alert-dialog-title",children:this.props.title||I.I18n.t("Error")}),f.jsx(D.DialogContent,{children:f.jsx(D.DialogContentText,{id:"alert-dialog-description",children:this.props.text||I.I18n.t("Unknown error!")})}),f.jsx(D.DialogActions,{children:f.jsx(D.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:f.jsx(Va,{}),children:I.I18n.t("Ok")})})]})}}const nf={icon:{width:24,height:24},filterWithButton:{width:"100%"},title:{fontWeight:"bold",marginTop:16}};class oO extends We.Component{constructor(n){super(n),this.state={instances:[],filter:window.localStorage.getItem("javascript.debug.filter")||"",showAskForStop:!1,jsInstance:window.localStorage.getItem("javascript.debug.instance")||"",jsInstanceHost:"",adapterToDebug:window.localStorage.getItem("javascript.debug.adapter")||""}}componentDidMount(){this.props.socket.getAdapterInstances().then(n=>{const s=n.filter(g=>{var b;return g&&!((b=g.common)!=null&&b.onlyWWW)}).map(g=>{var y,w,T;const b=g._id.replace(/^system\.adapter\./,""),[$]=b.split(".");return{id:b,enabled:(y=g.common)==null?void 0:y.enabled,host:(w=g.common)==null?void 0:w.host,icon:(T=g.common)!=null&&T.icon?`../../adapter/${$}/${g.common.icon}`:""}});s.sort((g,b)=>g.id>b.id?1:g.idg.id===this.state.jsInstance):null;let c;if(!this.state.jsInstance||!a){const g=s.find(b=>b.id.startsWith("javascript."));c=(g==null?void 0:g.host)||"",i=(g==null?void 0:g.id)||""}else c=(a==null?void 0:a.host)||"";let h=this.state.adapterToDebug||"";h&&!s.find(g=>g.id===h)&&(h=""),this.setState({instances:s,jsInstance:i,adapterToDebug:h,jsInstanceHost:c})})}handleOk=()=>{var n;if((n=this.state.instances.find(s=>s.id===this.state.adapterToDebug))!=null&&n.enabled){this.props.socket.getObject(`system.adapter.${this.state.adapterToDebug}`).then(s=>{s&&(s.common.enabled=!1,this.props.socket.setObject(s._id,s).then(()=>this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)))});return}this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)};renderJavascriptList(){const n=this.state.instances.filter(s=>s.id.startsWith("javascript."));return n.length<2?null:f.jsxs(D.Grid2,{children:[f.jsx("div",{style:nf.title,children:I.I18n.t("Host")}),f.jsx(D.List,{component:"nav",children:n.map(s=>f.jsxs(D.ListItemButton,{component:"div",selected:this.state.jsInstance===s.id,onClick:()=>this.setState({jsInstance:s.id,jsInstanceHost:s.host}),children:[f.jsx(D.ListItemIcon,{children:f.jsx("img",{src:s.icon,alt:s.id,style:nf.icon})}),f.jsx(D.ListItemText,{primary:s.id})]},s.id))})]})}renderInstances(){if(!this.state.jsInstance)return f.jsx(D.Grid2,{});const n=this.state.instances.filter(s=>s.id!==this.state.jsInstance&&s.host===this.state.jsInstanceHost&&(!this.state.filter||s.id.includes(this.state.filter.toLowerCase())));return f.jsxs(D.Grid2,{children:[f.jsx("div",{style:nf.title,children:I.I18n.t("Instances")}),f.jsx(D.List,{component:"nav",children:n.map(s=>f.jsxs(D.ListItemButton,{selected:this.state.adapterToDebug===s.id,onDoubleClick:()=>this.setState({adapterToDebug:s.id},()=>this.handleOk()),onClick:()=>this.setState({adapterToDebug:s.id}),children:[f.jsx(D.ListItemIcon,{children:f.jsx("img",{src:s.icon,alt:s.id,style:nf.icon})}),f.jsx(D.ListItemText,{primary:s.id})]},s.id))})]})}render(){return f.jsxs(D.Dialog,{maxWidth:"md",fullWidth:!1,open:!0,onClose:()=>!1,"aria-labelledby":"confirmation-dialog-title",children:[f.jsx(D.DialogTitle,{id:"confirmation-dialog-title",children:this.props.title||I.I18n.t("Debug instance")}),f.jsx(D.DialogContent,{children:f.jsxs(D.Grid2,{container:!0,direction:"column",children:[f.jsx(D.Grid2,{children:f.jsx(D.Input,{style:nf.filterWithButton,value:this.state.filter,placeholder:I.I18n.t("Filter"),onChange:n=>{this.setState({filter:n.target.value}),window.localStorage.setItem("javascript.debug.filter",n.target.value)},endAdornment:f.jsx(D.InputAdornment,{position:"end",children:this.state.filter?f.jsx(D.IconButton,{size:"small","aria-label":"toggle password visibility",onClick:()=>this.setState({filter:""}),children:f.jsx(f_,{})}):""})})}),f.jsx(D.Grid2,{children:f.jsxs(D.Grid2,{container:!0,children:[this.renderJavascriptList(),this.renderInstances()]})})]})}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{variant:"contained",onClick:this.handleOk,disabled:!this.state.jsInstance||!this.state.adapterToDebug,color:"primary",startIcon:f.jsx(Va,{}),children:I.I18n.t("Start")}),f.jsx(D.Button,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:f.jsx(Jo,{}),children:I.I18n.t("Close")})]})]})}}const aO=48,aS=L0[400],lS=EI[400],cS=B0[400],kr="script.js",hh=`${kr}.common`,za=`${kr}.global`,sf=350,lO=16,TT={background:"#164477",color:"white"},bt={drawerPaper:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},toolbar:o=>({height:o.toolbar.height}),toolbarButtons:o=>({color:o.palette.mode==="dark"?"white !important":"black !important"}),iconButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},toolbarSearch:{width:"calc(100% - 105px)",lineHeight:"34px",marginLeft:5},iconButtons:{width:32,height:32,padding:2},iconDropdownMenu:{paddingRight:5},menu:{width:"100%",height:"100%"},innerMenu:{width:"100%",height:"calc(100% - 76px)",overflowX:"hidden",overflowY:"auto"},listItemIcon:{minWidth:32},scriptIcon:{width:18,height:18,borderRadius:2,marginTop:4,marginBottom:4,marginLeft:8,marginRight:4},folder:{cursor:"pointer",padding:0,userSelect:"none"},folderReorder:{opacity:.3,transitionDuration:"0.5s",transitionProperty:"opacity"},folderIcon:{width:20,height:20},folderIconReorder:{paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},folderIconNoReorder:{cursor:"pointer",paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},script:{cursor:"pointer",padding:0,userSelect:"none"},scriptReorder:{opacity:1,transitionDuration:"0.5s",transitionProperty:"opacity"},reorder:{},selected:TT,instances:{color:"gray",fontSize:"smaller"},childrenCount:{fontSize:10,opacity:.4},footer:{height:24,display:"flex"},footerButtons:o=>({"& img":{color:o.palette.mode==="dark"?"#ffffff":"#111111",cursor:"pointer",mt:"1px",mr:"2px",height:22,width:22,"&:hover":{backgroundColor:"#dbdbdb"}},"& svg":{color:o.palette.mode==="dark"?"#ffffff":"#111111",cursor:"pointer",mt:"1px",mr:"2px",height:22,width:22,"&:hover":{backgroundColor:"#dbdbdb"}}}),footerButtonsRight:{float:"right"}},ph={Blockly:_T,"Javascript/js":q$,def:q$,Rules:CT,"TypeScript/ts":wT};function T_(o,n,s){var i;return s=s||I.I18n.getLanguage(),(i=n==null?void 0:n.common)!=null&&i.name?typeof n.common.name=="object"?(n.common.name[s]||n.common.name.en||o.replace(/^script\.js./,"")).toString():n.common.name.toString():o.replace(/^script\.js./,"")}function uS(o){var a;const n=[{id:kr,depth:0,index:0,parent:null,title:"root",type:"folder",parentIndex:null}],s=Object.keys(o);for(let c=0;c1?g.join("."):null,instance:h.common.engine?parseInt(h.common.engine.split(".").pop(),10)||0:null,index:0,parentIndex:0}):n.push({id:s[c],title:T_(s[c],h),depth:g.length-1,type:"folder",parent:g.length>1?g.join("."):null,index:0,parentIndex:null})}let i;do i=!1,n.forEach(c=>{if(c.parent&&!n.find(g=>g.id===c.parent)){const g=c.parent.split(".");g.pop(),n.push({id:c.parent,title:c.parent.split(".").pop()||"",depth:g.length-1,type:"folder",parent:g.length>1?g.join("."):null,index:0,parentIndex:null}),i=!0}});while(i);return n.sort((c,h)=>{const g=c.id.toLowerCase(),b=h.id.toLowerCase();return c.type==="folder"&&h.type!=="folder"?-1:h.type==="folder"&&c.type!=="folder"||g>b?1:gc.index=h),n.forEach(c=>{if(c.parent){const h=n.find(g=>g.id===c.parent);h&&(c.parentIndex=h.index)}}),n}function cO(o){const{onDrop:n}=o,[{isOver:s,isOverAny:i},a]=uw({accept:"script",drop:c=>s?n(c):void 0,collect:c=>({isOver:c.isOver({shallow:!0}),isOverAny:c.isOver()})});return f.jsx("div",{ref:a,style:{background:s?"#40adff":void 0,opacity:i?.7:void 0},children:o.children},o.folderName)}function dS(o){const{name:n}=o,[{opacity:s},i]=hT({type:"script",item:()=>({name:n}),collect:a=>({opacity:a.isDragging()?.3:1})});return f.jsx("div",{ref:i,style:{opacity:s,transform:"translate3d(0, 0, 0)"},children:o.children},n)}class Ha extends We.Component{inputRef;filterTimer;problems;problemsTimer;onProblemUpdatedBound;parent=null;constructor(n){super(n);const s=window.localStorage?window.localStorage.getItem("SideMenu.expanded"):"[]";let i;try{i=JSON.parse(s||"[]")||[]}catch{i=[]}this.inputRef=We.createRef(),this.state={listItems:uS(n.scripts||{}),expanded:i,problems:[],reorder:!1,themeName:this.props.themeName,selected:window.localStorage&&window.localStorage.getItem("SideMenu.selected")||null,creatingScript:null,creatingFolder:!1,copingScript:"",renaming:null,deleting:null,choosingType:!1,errorText:"",instances:n.instances||[],menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null,searchMode:!1,expertMode:this.props.expertMode,searchText:"",width:this.props.width||300,typeFilter:window.localStorage&&window.localStorage.getItem("SideMenu.typeFilter")||"",statusFilter:window.localStorage&&window.localStorage.getItem("SideMenu.statusFilter")||"",runningInstances:this.props.runningInstances||{},scriptsHash:n.scriptsHash,showAdapterDebug:!1,isAllZeroInstances:!1};const a=this.ensureSelectedIsVisible();a&&Object.assign(this.state,{expanded:a}),this.filterTimer=null,Object.assign(this.state,{isAllZeroInstances:this.getIsAllZeroInstances()}),this.problems=null,this.problemsTimer=null,this.onProblemUpdatedBound=this.onProblemUpdated.bind(this)}readProblems(n,s){var i,a;if(s||(s=Object.keys(this.props.scripts)),!s||!s.length)n&&n();else{const c=s.shift(),h=this.props.scripts[c];if(((i=this.props.scripts)==null?void 0:i[c].type)==="script"&&((a=h.common)!=null&&a.enabled)&&!c.match(/^script\.js\.global\./)){const g=h.common.engine.split(".").pop(),b=this,$=`javascript.${g}.scriptProblem.${c.substring(kr.length+1)}`;this.props.socket.getState($).then(y=>{b.onProblemUpdated($,y),setTimeout(()=>b.readProblems(n,s),0)})}else setTimeout(()=>this.readProblems(n,s),0)}}componentDidMount(){this.readProblems(()=>{this.props.instances.forEach(n=>{this.props.socket.subscribeState(`javascript.${n}.scriptProblem.*`,this.onProblemUpdatedBound)})})}componentWillUnmount(){this.props.instances.forEach(n=>{this.props.socket.unsubscribeState(`javascript.${n}.scriptProblem.*`,this.onProblemUpdatedBound)})}onProblemUpdated(n,s){if(!s||!n)return;n=`${kr}.${n.replace(/^javascript\.\d+\.scriptProblem\./,"")}`,this.problems||(this.problems=JSON.parse(JSON.stringify(this.state.problems))||[]);let i=!1;if(s.val)this.problems.includes(n)||(this.problems.push(n),i=!0);else{const a=this.problems.indexOf(n);a!==-1&&(this.problems.splice(a,1),i=!0)}i&&!this.problemsTimer&&(this.problemsTimer=setTimeout(()=>{this.problemsTimer=null,this.setState({problems:this.problems}),this.problems=null},300))}static filterListStatic(n,s,i,a,c){s=JSON.parse(JSON.stringify(s));let h=!1;const g={listItems:s};if(n&&i&&a){const b=a.toLowerCase();if(s.forEach($=>{var C;const y=$.title.toLowerCase();$.filteredPartly=!1;let w=y.includes(b);const T=(C=c==null?void 0:c[$.id])==null?void 0:C.common;if(!w&&(T!=null&&T.source))if(T.engineType==="Blockly"){const E=T.source.lastIndexOf("//");w=T.source.substring(0,E).toLowerCase().includes(b)}else w=T.source.toLowerCase().includes(b);w?$.filtered&&($.filtered=!1,h=!0):$.filtered||($.filtered=!0,h=!0)}),h)for(let $=s.length-1;$>=0;$--){const y=s[$];if(!y.filtered||y.filteredPartly){let w=y;do w!=null&&w.parent&&s[w.parentIndex]&&(h=!0,s[w.parentIndex].filteredPartly=!0),w=w!=null&&w.parent&&s[w.parentIndex]?s[w.parentIndex]:null;while(w)}}}else s.forEach(b=>{(b.filtered||b.filteredPartly)&&(b.filtered=!1,b.filteredPartly=!1,h=!0)}),n||(g.searchText="",g.searchMode=!1,h=!0);return h?g:null}filterList(n,s){const i=Ha.filterListStatic(n,this.state.listItems,this.state.searchMode,this.state.searchText,this.props.scripts);i?this.setState(i,()=>s&&s()):s&&s()}static ensureSelectedIsVisibleStatic(n,s,i){s=JSON.parse(JSON.stringify(s));let a=!1,c=typeof n=="object"?n:i.find(h=>h.id===n);do{if(c!=null&&c.parent){const h=c.parent;c=i.find(g=>g.id===h)}else c=void 0;c&&(s.includes(c.id)||(s.push(c.id),a=!0))}while(c);return a?s:null}ensureSelectedIsVisible(n,s){return Ha.ensureSelectedIsVisibleStatic(n||this.state.selected,s||this.state.expanded,this.state.listItems)}static getDerivedStateFromProps(n,s){const i={};let a=!1;if(s.expertMode!==n.expertMode&&(a=!0,i.expertMode=n.expertMode),s.scriptsHash!==n.scriptsHash&&n.scripts){const c=uS(n.scripts||{});if(i.listItems=c,s.searchText){const b=Ha.filterListStatic(!0,c,s.searchMode,s.searchText,n.scripts);b&&Object.assign(i,b)}const h=Ha.getIsAllZeroInstancesStatic(c,n.instances||[]),g=Ha.ensureSelectedIsVisibleStatic(s.selected,s.expanded,s.listItems);i.isAllZeroInstances=h,g&&(i.expanded=g),a=!0}if(s.width!==n.width&&(a=!0,i.width=n.width),s.themeName!==n.themeName&&(a=!0,i.themeName=n.themeName),n.selectId&&s.selected!==n.selectId){const c=s.listItems.find(h=>h.id===n.selectId);if(!s.reorder&&c){const h=Ha.ensureSelectedIsVisibleStatic(c,s.expanded,s.listItems);i.selected=c.id,h&&(i.expanded=h),a=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",c.id)}}return a?i:null}static getIsAllZeroInstancesStatic(n,s){let i=!s[0]&&s.length<=1;return i&&n.forEach(a=>{a.type!=="folder"&&a.instance!==0&&(i=!1)}),i}getIsAllZeroInstances(n,s){return n=n||this.state.listItems,s=s||this.state.instances,Ha.getIsAllZeroInstancesStatic(n||this.state.listItems,s||this.state.instances)}saveExpanded(n){window.localStorage.setItem("SideMenu.expanded",JSON.stringify(n||this.state.expanded))}showError(n){this.setState({errorText:n})}onToggle(n,s){if(s==null||s.stopPropagation(),n===kr)return;const i=[...this.state.expanded],a=i.indexOf(n);a!==-1?(i.splice(a,1),this.state.selected&&this.state.selected.startsWith(`${n}.`)&&window.localStorage&&window.localStorage.setItem("SideMenu.selected",n)):(i.push(n),i.sort()),this.setState({expanded:i}),this.saveExpanded(i)}renderItemButtonsOnEnd(n,s){if(this.state.reorder)return null;if(n.type!=="folder"){let i=n.enabled?aS:cS;return n.enabled&&this.state.problems.includes(n.id)&&(i=lS),[f.jsx(D.IconButton,{onClick:a=>{a.stopPropagation(),this.props.onEnableDisable&&this.props.onEnableDisable(n.id,!n.enabled)},title:n.enabled?I.I18n.t("Pause script"):I.I18n.t("Run script"),disabled:this.props.debugMode,style:{...bt.iconButtons,...this.props.debugMode?bt.iconButtonsDisabled:void 0,color:i},size:"medium",children:n.enabled?f.jsx(vf,{}):f.jsx(V$,{})},"startStop"),this.state.width>sf?f.jsx(D.IconButton,{style:this.props.debugMode?bt.iconButtonsDisabled:void 0,title:I.I18n.t("Delete script"),disabled:n.id===za||n.id===hh||this.props.debugMode,onClick:a=>this.onDelete(n,a),size:"medium",children:f.jsx(A$,{})},"delete"):null,f.jsx(D.IconButton,{style:this.props.debugMode?bt.iconButtonsDisabled:void 0,disabled:this.props.debugMode,title:I.I18n.t("Edit script or just double click"),onClick:a=>this.onEdit(n,a),size:"medium",children:f.jsx(j0,{})},"openInEdit")]}return this.state.width>sf&&n.id!==kr&&n.id!==hh&&n.id!==za&&s!=null&&s.length?f.jsx(D.IconButton,{style:this.props.debugMode?bt.iconButtonsDisabled:void 0,title:I.I18n.t("Delete folder"),disabled:n.id===za||n.id===hh||this.props.debugMode,onClick:i=>this.onDelete(n,i),size:"medium",children:f.jsx(A$,{})},"delete"):null}onDelete(n,s){return s==null||s.stopPropagation(),new Promise(i=>{if(!n){i();return}typeof n!="object"?this.setState({deleting:n},()=>i()):this.setState({deleting:n.id},()=>i())})}onEdit(n,s){this.onClick(n,s),this.props.onEdit&&this.props.onEdit(n.id)}getTextStyle(n){return!this.state.reorder&&n.type!=="folder"?{width:`calc(100% - ${this.state.width>sf?185:137}px)`,overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}:{whiteSpace:"nowrap",padding:"0 16px 0 0"}}onClick(n,s){if(s==null||s.stopPropagation(),!this.state.reorder&&n){const i=this.ensureSelectedIsVisible(n),a={selected:n.id};i&&(a.expanded=i),this.setState(a),window.localStorage&&window.localStorage.setItem("SideMenu.selected",n.id)}}onDblClick(n,s){s==null||s.stopPropagation(),!this.state.reorder&&(n.type==="folder"?this.onToggle(n.id):this.onEdit(n))}isFilteredOut(n){return n.filtered&&!n.filteredPartly||this.state.typeFilter&&n.type!=="folder"&&n.type!==this.state.typeFilter||this.state.statusFilter&&n.type!=="folder"&&(this.state.statusFilter==="running"&&!n.enabled||this.state.statusFilter==="paused"&&n.enabled||this.state.statusFilter==="problems"&&(!n.enabled||this.state.problems.indexOf(n.id)===-1))?!0:n.id===za&&!this.state.expertMode}renderListItem(n,s,i){if(n.id===kr&&!this.state.reorder)return null;const a=(this.state.reorder?n.depth:n.depth-1)*lO;let c=n.title;if(this.state.searchText){const T=c.toLowerCase().indexOf(this.state.searchText.toLowerCase());T!==-1&&(c=[f.jsx("span",{children:c.substring(0,T)},"first"),f.jsx("span",{style:{color:"orange"},children:c.substring(T,T+this.state.searchText.length)},"second"),f.jsx("span",{children:c.substring(T+this.state.searchText.length)},"third")])}!this.state.isAllZeroInstances&&n.type!=="folder"&&(c=[f.jsx("span",{children:c},"title"),f.jsxs("span",{title:I.I18n.t("Instance"),style:bt.instances,children:["[",n.instance,"]"]},"instance")]);const h=this.state.reorder&&!this.props.debugMode,g=Object.assign({marginLeft:a,cursor:n.type==="folder"&&h?"default":"inherit",width:`calc(100% - ${a}px)`},n.id===this.state.selected&&!h?TT:void 0);h||(g.opacity=n.filteredPartly?.5:1),n.id===za&&n.id!==this.state.selected&&(g.color="#00a200");let b=n.id===kr;!b&&s&&(b=this.state.expanded.includes(n.id));let $;n.type==="folder"?$={...bt.folderIcon,...h?bt.folderIconReorder:bt.folderIconNoReorder}:$={...bt.scriptIcon},n.id===za?$.color="#356956":n.id===hh&&($.color="#4899e1");let y=null;(i&&i.length||s&&s.length)&&(y=f.jsx("span",{style:bt.childrenCount,children:i&&i.length!==s.length?`${i.length}(${s.length})`:s.length}));const w={...n.type==="folder"?bt.folder:bt.script,...h?bt.reorder:void 0,...h&&n.type!=="folder"?bt.scriptReorder:void 0,...h&&n.type==="folder"?bt.folderReorder:void 0,...g};return f.jsxs(D.ListItem,{style:w,className:I.Utils.clsx(h&&n.type==="folder"&&"folder-reorder",h&&n.type!=="folder"&&"script-reorder"),onClick:T=>this.onClick(n,T),onDoubleClick:T=>this.onDblClick(n,T),secondaryAction:this.renderItemButtonsOnEnd(n,s),children:[f.jsx(D.ListItemIcon,{style:bt.listItemIcon,children:n.type==="folder"?h||b?f.jsx(RI,{style:$,onClick:T=>!h&&this.onToggle(n.id,T)}):f.jsx(MI,{style:$,onClick:T=>!h&&this.onToggle(n.id,T)}):f.jsx("img",{style:$,alt:n.type,src:ph[n.type]||ph.def})}),f.jsx(D.ListItemText,{sx:{"& .MuiListItemText-primary":n.id===this.state.selected&&!h?bt.selected:void 0},style:this.getTextStyle(n),primary:f.jsxs("span",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[c,y]})})]},n.id)}onDragFinish(n,s){let i=`${s}.${n.split(".").pop()}`;i!==n&&(this.state.listItems.find(a=>a.id===i)&&(i+=`_${I.I18n.t("copy")}`),this.props.onRename&&this.props.onRename(n,i))}renderOneItem(n,s){const i=this.state.statusFilter||this.state.typeFilter?n.filter($=>$.parent===s.id?!this.isFilteredOut($):!1):[],a=n.filter($=>$.parent===s.id);if(this.isFilteredOut(s)||s.type==="folder"&&(this.state.statusFilter||this.state.typeFilter)&&!i.length)return null;const c=this.state.reorder&&!this.props.debugMode,h=this.renderListItem(s,a,i),g=[];let b;return a&&(c||this.state.expanded.includes(s.id)||s.id===kr)&&(b=a.map($=>this.renderOneItem(n,$))),c?s.type==="folder"?g.push(f.jsxs(cO,{onDrop:$=>this.onDragFinish($.name,s.id),folderName:s.id,children:[f.jsx(dS,{name:s.id,children:h},`draggable_${s.id}`),b||null]},`droppable_${s.id}`)):g.push(f.jsxs(dS,{name:s.id,children:[h,b||null]},`draggable_${s.id}`)):(g.push(h),b==null||b.forEach($=>g.push($))),g}renderAllItems(n){const s=n.filter(i=>!i.parent).map(i=>this.renderOneItem(n,i));return f.jsx(D.List,{dense:!0,disablePadding:!0,sx:bt.mainList,children:s})}onAddNew(n){n==null||n.stopPropagation();let s=this.state.listItems.find(a=>a.id===this.state.selected),i=kr;for(;s&&s.type!=="folder";)s=this.state.listItems[s.parentIndex];s&&(i=s.id),this.parent=i,this.setState({choosingType:!0})}onCopy(n,s){n==null||n.stopPropagation();let i=this.state.listItems.find(c=>c.id===s),a=kr;for(;i&&i.type!=="folder";)i=this.state.listItems[i.parentIndex];i&&(a=i.id),this.parent=a,this.setState({copingScript:s||""})}onAddNewFolder(n){n==null||n.stopPropagation();let s=this.state.listItems.find(a=>a.id===this.state.selected),i=kr;for(;s&&s.type!=="folder";)s=this.state.listItems[s.parentIndex];s&&(i=s.id),this.parent=i,this.setState({creatingFolder:!0})}onRename(n){n==null||n.stopPropagation(),this.setState({renaming:this.state.selected})}getUniqueName(n){let s=1,i=`${I.I18n.t("Script")} `;if(n){const a=T_(n,this.props.scripts[n]),c=a.match(/\d+$/);c?(i=a.replace(/\d+$/,""),s=parseInt(c[0],10)+1):i=a}for(;this.state.listItems.find(a=>a.id===`${this.parent}.${i.replace(/\.\s/g,"_")}${s}`);)s++;return i+s}getUniqueFolderName(){let n=1;for(;this.state.listItems.find(s=>s.id===`${this.parent}.${I.I18n.t("Folder")}_${n}`);)n++;return`${I.I18n.t("Folder")} ${n}`}onCloseMenu(n){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},n)}getMainMenu(n,s){return f.jsxs(D.Menu,{id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:()=>this.setState({menuOpened:!1,menuAnchorEl:null}),slotProps:{paper:{style:{maxHeight:aO*7.5}}},children:[this.state.width<=sf?f.jsxs(D.MenuItem,{disabled:this.props.debugMode||!this.state.selected||this.state.selected===za||this.state.selected===hh||!!(n!=null&&n.length),onClick:i=>{if(i.stopPropagation(),i.preventDefault(),this.state.listItems.find(a=>a.parent===this.state.selected)){this.showError(I.I18n.t("Cannot delete non empty item!"));return}this.setState({menuOpened:!1,menuAnchorEl:null},()=>this.onDelete(this.state.selected).then(()=>{}))},children:[f.jsx(A$,{style:{...bt.iconDropdownMenu,color:"red"}}),I.I18n.t("Delete")]},"delete"):null,f.jsxs(D.MenuItem,{disabled:this.props.debugMode,selected:this.state.expertMode,onClick:i=>{i.stopPropagation(),i.preventDefault(),this.onCloseMenu(()=>this.props.onExpertModeChange&&this.props.onExpertModeChange(!this.state.expertMode))},children:[f.jsx(I.IconExpert,{style:{...bt.iconDropdownMenu,color:this.state.expertMode?"orange":"inherit"}}),I.I18n.t("Expert mode")]},"expertMode"),this.props.onExport&&f.jsxs(D.MenuItem,{onClick:i=>{i.stopPropagation(),i.preventDefault(),this.onCloseMenu(()=>this.props.onExport())},children:[f.jsx(G$,{style:bt.iconDropdownMenu}),I.I18n.t("Export all scripts")]},"exportAll"),this.props.onImport&&f.jsxs(D.MenuItem,{disabled:this.props.debugMode,onClick:i=>{i.stopPropagation(),i.preventDefault(),this.onCloseMenu(()=>this.props.onImport())},children:[f.jsx(m_,{style:bt.iconDropdownMenu}),I.I18n.t("Import scripts")]},"import"),this.props.onThemeChange&&f.jsxs(D.MenuItem,{onClick:()=>this.onCloseMenu(()=>{this.props.onThemeChange&&this.props.onThemeChange(I.Utils.toggleTheme(this.state.themeName))}),children:[f.jsx(NI,{style:bt.iconDropdownMenu}),I.I18n.t('Change theme (actual "%s")',this.state.themeName)]},"dark"),this.props.onAddNew&&f.jsxs(D.MenuItem,{disabled:!this.state.selected||!s||s.type==="folder",onClick:i=>{const a=this.state.selected;this.onCloseMenu(()=>this.onCopy(i,a))},children:[f.jsx(nw,{style:bt.iconDropdownMenu}),I.I18n.t("Copy script")]},"copy"),this.state.expertMode&&f.jsxs(D.MenuItem,{disabled:this.props.debugMode,onClick:i=>{i.stopPropagation(),i.preventDefault(),this.onCloseMenu(()=>this.setState({showAdapterDebug:!0}))},children:[f.jsx(uf,{style:bt.iconDropdownMenu}),I.I18n.t("Debug instance")]},"debugInstance")]},"menu")}getToolbarButtons(){const n=[],s=this.state.reorder&&!this.props.debugMode;if(this.state.searchMode&&!this.props.debugMode)n.push(f.jsx(D.Input,{value:this.state.searchText,style:bt.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:I.I18n.t("Search..."),onChange:i=>{this.setState({searchText:i.target.value}),this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>{this.filterTimer=null,this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)},400)}},"searchInput")),n.push(f.jsx(D.IconButton,{sx:bt.toolbarButtons,style:{float:"right"},title:I.I18n.t("End search mode"),onClick:i=>{i.stopPropagation(),this.filterList(!1,()=>this.props.onSearch&&this.props.onSearch(this.state.searchText))},size:"medium",children:f.jsx(LI,{})},"disableSearch")),this.state.searchText&&n.push(f.jsx(D.IconButton,{title:I.I18n.t("Clear search input"),sx:bt.toolbarButtons,style:{marginTop:7,float:"right"},onClick:i=>{i.stopPropagation(),this.setState({searchText:""},()=>{this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)})},size:"medium",children:f.jsx(Xl,{fontSize:"small"})},"cleanSearch"));else{if(!s){n.push(f.jsx(D.IconButton,{"aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:I.I18n.t("Menu"),"aria-haspopup":"true",onClick:c=>{c.stopPropagation(),c.preventDefault(),this.setState({menuOpened:!0,menuAnchorEl:c.currentTarget})},size:"medium",children:f.jsx(BI,{})},"menuButton"));const i=this.state.listItems.find(c=>c.id===this.state.selected);let a;i&&this.state.width<=sf&&i.type==="folder"&&(a=this.state.listItems.filter(c=>c.parent===this.state.selected)),n.push(this.getMainMenu(a,i)),n.push(f.jsx(D.IconButton,{disabled:this.props.debugMode,title:I.I18n.t("Create new script"),sx:{...bt.toolbarButtons,...this.props.debugMode?bt.iconButtonsDisabled:void 0},style:{color:s?"red":"inherit"},onClick:c=>this.onAddNew(c),size:"medium",children:f.jsx(Ev,{})},"new-script")),n.push(f.jsx(D.IconButton,{disabled:this.props.debugMode,title:I.I18n.t("Create new folder"),sx:{...bt.toolbarButtons,...this.props.debugMode?bt.iconButtonsDisabled:void 0},style:{color:s?"red":"inherit"},onClick:c=>this.onAddNewFolder(c),size:"medium",children:f.jsx(PI,{})},"new-folder"))}n.push(f.jsx(D.IconButton,{disabled:s||this.props.debugMode,sx:{...bt.toolbarButtons,...this.props.debugMode?bt.iconButtonsDisabled:void 0},title:I.I18n.t("Search in scripts"),style:{float:"right",opacity:this.props.debugMode?.5:s?0:1},onClick:i=>{i.stopPropagation(),this.setState({searchMode:!0})},size:"medium",children:f.jsx(jI,{})},"search")),n.push(f.jsx(D.IconButton,{disabled:this.props.debugMode,title:I.I18n.t("Reorder scripts in folders"),sx:{...bt.toolbarButtons,...this.props.debugMode?bt.iconButtonsDisabled:void 0},style:{color:s?"red":"inherit",float:"right"},onClick:i=>{i.stopPropagation(),this.setState({reorder:!this.state.reorder})},size:"medium",children:f.jsx(FI,{})},"reorder")),!s&&this.state.selected&&this.state.selected!==za&&this.state.selected!==hh&&n.push(f.jsx(D.IconButton,{sx:{...bt.toolbarButtons,...this.props.debugMode?bt.iconButtonsDisabled:void 0},disabled:this.props.debugMode,title:I.I18n.t("Rename"),onClick:i=>this.onRename(i),size:"medium",children:f.jsx(zI,{})},"rename")),n.push(f.jsxs("span",{style:{opacity:.5,fontSize:10},children:["v",this.props.version]},"version"))}return n}getFolders(){const n=[{id:kr,name:I.I18n.t("Root folder")}];return this.state.listItems.forEach(s=>{s.type==="folder"&&s.id!==kr&&(!s.id.startsWith(za)||this.state.expertMode)&&n.push({id:s.id,name:s.title})}),n}onCollapseAll(){this.setState({expanded:[]}),this.saveExpanded([])}onExpandAll(){const n=[];this.state.listItems.forEach(s=>this.state.listItems.find(i=>i.parent===s.id)&&n.push(s.id)),this.setState({expanded:n}),this.saveExpanded(n)}getBottomButtons(){return this.state.reorder||this.props.debugMode?null:[f.jsx(D.Box,{sx:bt.footerButtons,children:f.jsx(vf,{style:{color:aS,opacity:this.state.statusFilter==="running"?1:.3,background:this.state.statusFilter==="running"?"gray":"inherit"},title:I.I18n.t("Show only running scripts"),onClick:n=>{n.stopPropagation(),n.preventDefault();const s=this.state.statusFilter==="running"?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),this.setState({statusFilter:s})}})},"filterByRunning"),f.jsx(D.Box,{sx:bt.footerButtons,children:f.jsx(V$,{title:I.I18n.t("Show only paused scripts"),style:{color:cS,opacity:this.state.statusFilter==="paused"?1:.3,background:this.state.statusFilter==="paused"?"gray":"inherit"},onClick:()=>{const n=this.state.statusFilter==="paused"?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",n),this.setState({statusFilter:n})}})},"filterByPaused"),f.jsx(D.Box,{sx:bt.footerButtons,style:{marginRight:16},children:f.jsx(vf,{title:I.I18n.t("Show only scripts with problems"),style:{color:lS,opacity:this.state.statusFilter==="problems"?1:.3,background:this.state.statusFilter==="problems"?"gray":"inherit"},onClick:()=>{const n=this.state.statusFilter==="problems"?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",n),this.setState({statusFilter:n})}})},"filterByProblem"),f.jsx(D.Box,{sx:bt.footerButtons,children:f.jsx("img",{alt:"Blockly",style:{opacity:this.state.typeFilter==="Blockly"?1:.3,background:this.state.typeFilter==="Blockly"?"gray":"inherit"},src:ph.Blockly,onClick:()=>{const n=this.state.typeFilter==="Blockly"?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",n),this.setState({typeFilter:n})}})},"filterBlockly"),f.jsx(D.Box,{sx:bt.footerButtons,children:f.jsx("img",{alt:"Javascript",style:{opacity:this.state.typeFilter==="Javascript/js"?1:.3,background:this.state.typeFilter==="Javascript/js"?"gray":"inherit"},src:ph["Javascript/js"],onClick:()=>{const n=this.state.typeFilter==="Javascript/js"?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",n),this.setState({typeFilter:n})}})},"filterJS"),f.jsx(D.Box,{sx:bt.footerButtons,children:f.jsx("img",{alt:"TypeScript",style:{opacity:this.state.typeFilter==="TypeScript/ts"?1:.3,background:this.state.typeFilter==="TypeScript/ts"?"gray":"inherit"},src:ph["TypeScript/ts"],onClick:()=>{const n=this.state.typeFilter==="TypeScript/ts"?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",n),this.setState({typeFilter:n})}})},"filterTS"),f.jsx(D.Box,{sx:bt.footerButtons,children:f.jsx("img",{alt:"Rules",style:{opacity:this.state.typeFilter==="Rules"?1:.3,background:this.state.typeFilter==="Rules"?"gray":"inherit"},src:ph.Rules,onClick:()=>{const n=this.state.typeFilter==="Rules"?"":"Rules";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",n),this.setState({typeFilter:n})}})},"filterRules"),f.jsx("div",{style:{flexGrow:1}},"padding"),f.jsx(D.Box,{sx:bt.footerButtons,children:f.jsx(UI,{style:bt.footerButtonsRight,title:I.I18n.t("Expand all"),onClick:()=>this.onExpandAll()})},"expandAll"),this.state.expanded.length?f.jsx(D.Box,{sx:bt.footerButtons,children:f.jsx(WI,{style:bt.footerButtonsRight,title:I.I18n.t("Collapse all"),onClick:()=>this.onCollapseAll()})},"collapseAll"):f.jsx("div",{style:{height:22,width:24}})]}getAdapterDebugDialog(){return this.state.showAdapterDebug?f.jsx(oO,{socket:this.props.socket,onClose:()=>this.setState({showAdapterDebug:!1}),onDebug:(n,s)=>this.setState({showAdapterDebug:!1},()=>this.props.onDebugInstance({instance:n,adapter:s}))},"debug"):null}render(){var i,a,c;const n=this.state.renaming?this.state.listItems.find(h=>h.id===this.state.renaming):void 0,s=this.state.copingScript&&this.props.scripts[this.state.copingScript].type==="script"?this.props.scripts[this.state.copingScript]:void 0;return[f.jsxs(D.Drawer,{variant:"permanent",style:bt.menu,sx:{"& .MuiDrawer-paper":bt.drawerPaper},anchor:"left",onClick:()=>this.onClick({id:""}),children:[f.jsx(D.Box,{sx:bt.toolbar,children:this.getToolbarButtons()}),f.jsx(D.Divider,{}),f.jsx(oT,{backend:yT,children:f.jsx("div",{style:bt.innerMenu,children:this.renderAllItems(this.state.listItems)})}),f.jsx(D.Divider,{}),f.jsx("div",{style:bt.footer,children:this.getBottomButtons()})]},"drawer"),n?f.jsx(hw,{name:n.title,id:this.state.renaming||"",folder:n.type==="folder",instance:n.instance,instances:this.props.instances,onClose:()=>this.setState({renaming:null}),onRename:(h,g,b,$)=>this.props.onRename&&this.props.onRename(h,g,b,$)},"dialog-rename"):null,this.state.deleting?f.jsx(eO,{name:this.state.listItems.find(h=>h.id===this.state.deleting).title,id:this.state.deleting,onClose:()=>this.setState({deleting:null}),onDelete:h=>this.props.onDelete&&this.props.onDelete(h)},"dialog-delete"):null,this.state.choosingType?f.jsx(Ch,{onClose:h=>{const g={choosingType:!1};h&&(g.creatingScript=h),this.setState(g)}},"dialog-script-type"):null,this.state.creatingScript?f.jsx(Dy,{onClose:()=>this.setState({creatingScript:null}),title:I.I18n.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map(h=>h.id),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:(h,g,b,$)=>this.props.onAddNew&&this.props.onAddNew(h,g,!1,b,$)},"dialog-new-script"):null,this.state.copingScript?f.jsx(Dy,{onClose:()=>this.setState({copingScript:""}),title:I.I18n.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt((a=(i=s==null?void 0:s.common)==null?void 0:i.engine)==null?void 0:a.split(".").pop(),10)||0,instances:this.props.instances,type:((c=s==null?void 0:s.common)==null?void 0:c.engineType)||"Javascript/js",parent:this.parent,onAdd:(h,g,b,$)=>{var w;const y=this.state.copingScript&&this.props.scripts[this.state.copingScript].type==="script"?this.props.scripts[this.state.copingScript]:void 0;y!=null&&y.common&&(y.common.enabled=!1),this.props.onAddNew&&this.props.onAddNew(h,g,!1,b,$,(w=y==null?void 0:y.common)==null?void 0:w.source)}},"dialog-copy-script"):null,this.state.creatingFolder?f.jsx(Dy,{onClose:()=>this.setState({creatingFolder:!1}),title:I.I18n.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:(h,g)=>this.props.onAddNew&&this.props.onAddNew(h,g,!0)},"dialog-new-folder"):null,this.state.errorText?f.jsx(Hf,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"error"):null,this.getAdapterDebugDialog()]}}const uO="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==",dO="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg==";function hO(o){let n,s=o.getHours();return s<10&&(s=`0${s.toString()}`),n=`${s}:`,s=o.getMinutes(),s<10&&(s=`0${s.toString()}`),n+=`${s}:`,s=o.getSeconds(),s<10&&(s=`0${s.toString()}`),n+=`${s}.`,s=o.getMilliseconds(),s<10?s=`00${s.toString()}`:s<100&&(s=`0${s.toString()}`),n+=s,n}const hS=34,cr={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:o=>({display:"inline-block",color:o.palette.mode==="dark"?"white":"black",width:`calc(100% - ${hS}px)`,height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"}),info:o=>({background:o.palette.mode==="dark"?"darkgrey":"lightgrey",color:(o.palette.mode==="dark","black")}),error:o=>({background:"#FF0000",color:o.palette.mode==="dark"?"black":"white"}),warn:o=>({background:"#FF8000",color:o.palette.mode==="dark"?"black":"white"}),debug:o=>({background:"gray",opacity:.8,color:o.palette.mode==="dark"?"black":"white"}),silly:o=>({background:"gray",opacity:.6,color:o.palette.mode==="dark"?"black":"white"}),table:{fontFamily:"monospace",width:"100%"},toolbox:{width:hS,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trFrom:{width:90},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},trPreMessage:{padding:0,margin:0},iconButtons:{width:32,height:32,padding:4},layoutIcon:o=>({"& img":{width:24,height:24,background:o.palette.mode==="dark"?"#9d9d9d":void 0,borderRadius:o.palette.mode==="dark"?"30px":void 0}})};function pO(o){return o<10?`00${o}`:o<100?`0${o}`:o.toString()}const Fo={};class pw extends We.Component{messagesEnd;constructor(n){super(n),this.state={lines:{},goBottom:!0,selected:null,editing:this.props.editing||[]},this.messagesEnd=We.createRef()}static generateLine(n,s){let i=n.message||"";if(typeof i!="object"){const a=new RegExp(`${n.from.replace(".","\\.").replace(")","\\)").replace("(","\\(")} \\(\\d+\\) `,"g"),c=i.match(a);c?i=i.replace(c[0],""):i=i.replace(`${n.from} `,"")}return i.startsWith(`${s}: `)&&(i=i.substring(s.length+2)),f.jsxs(D.Box,{component:"tr",sx:cr[n.severity],children:[f.jsx("td",{style:cr.trFrom,children:n.from}),f.jsx("td",{style:cr.trTime,children:hO(new Date(n.ts))}),f.jsx("td",{style:cr.trSeverity,children:n.severity}),f.jsx("td",{children:f.jsx("pre",{style:cr.trPreMessage,children:i})})]},`tr_${n.ts}_${n.message.substring(n.message.length-10)}`)}scrollToBottom(){var n,s;(s=(n=this.messagesEnd)==null?void 0:n.current)==null||s.scrollIntoView({behavior:"smooth"})}logHandler=n=>{const s=this.state.lines,i=this.state.editing.filter($=>n.message.includes($));let a=null;if(!i.length||(i.length===1?a=i[0]:(i.sort(),a=i[i.length-1]),!a))return;const c=s[a]||[],h=Fo[a]||[];c.push(pw.generateLine(n,a));let g=n.severity;(g==="info"||g==="warn")&&(g+=" ");const b=new Date(n.ts);h.push(`${b.toLocaleString()}.${pO(b.getMilliseconds())} [${g}]: ${n.message}`),c.length>300&&(c.splice(0,c.length-300),h.splice(0,c.length-300)),Fo[a]=h,s[a]=c,this.setState({lines:s})};componentDidMount(){this.props.socket.registerLogHandler(this.logHandler)}componentWillUnmount(){this.props.socket.unregisterLogHandler(this.logHandler)}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}static getDerivedStateFromProps(n,s){let i=!1;const a={};if(n.selected!==s.selected){const c=n.selected,h=s.lines;c&&(h[c]=h[c]||[],Fo[c]=Fo[c]||[]),a.selected=c,i=!0}if(JSON.stringify(n.editing)!==JSON.stringify(s.editing)){const c=JSON.parse(JSON.stringify(n.editing));i=!0;const h=s.lines;for(const g in Fo)Object.prototype.hasOwnProperty.call(Fo,g)&&(c.includes(g)||(delete Fo[g],delete h[g]));a.editing=c}return i?a:null}onCopy(){I.Utils.copyToClipboard((Fo[this.state.selected]||[]).join(` -`))}clearLog(){const n=this.state.lines;n[this.state.selected]&&(n[this.state.selected]=[]),Fo[this.state.selected]&&(Fo[this.state.selected]=[]),this.setState({lines:n})}renderLogList(n){return this.state.selected&&(n!=null&&n.length)?f.jsxs(D.Box,{sx:cr.logBoxInner,children:[f.jsx("table",{style:cr.table,children:f.jsx("tbody",{children:n})},"logTable"),f.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):f.jsx(D.Box,{sx:cr.logBoxInner,style:{paddingLeft:10},children:I.I18n.t("Log outputs")},"logList")}render(){const n=this.state.selected?this.state.lines[this.state.selected]:null;return f.jsxs("div",{style:cr.logBox,children:[f.jsxs("div",{style:cr.toolbox,children:[f.jsx(D.IconButton,{style:cr.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":void 0,size:"medium",children:f.jsx(F0,{})}),n!=null&&n.length?f.jsx(D.IconButton,{style:cr.iconButtons,onClick:()=>this.clearLog(),size:"medium",children:f.jsx(z0,{})}):null,n!=null&&n.length?f.jsx(D.IconButton,{style:cr.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:f.jsx(nw,{})}):null,this.props.onLayoutChange?f.jsx(D.IconButton,{style:cr.iconButtons,onClick:()=>this.props.onLayoutChange&&this.props.onLayoutChange(),title:I.I18n.t("Change layout"),size:"medium",sx:cr.layoutIcon,children:f.jsx("img",{alt:"split",src:this.props.verticalLayout?uO:dO})}):null,f.jsx(D.IconButton,{style:cr.iconButtons,onClick:()=>this.props.onHideLog(),title:I.I18n.t("Hide logs"),size:"medium",children:f.jsx(HI,{})})]},"toolbox"),this.renderLogList(n)]})}}var pS="focus-outline-hidden";function kT(){var o=this;document.addEventListener("keydown",function(n){o.focusByKeyboard=!0},!0),document.addEventListener("mousedown",function(n){o.focusByKeyboard=!1},!0),document.addEventListener("focus",function(n){o.updateVisibility()},!0),document.addEventListener("focusout",function(n){window.setTimeout(function(){document.hasFocus()||(o.focusByKeyboard=!0,o.updateVisibility())},0)}),this.updateVisibility()}kT.prototype={focusByKeyboard:!0,updateVisibility:function(){this.hidden=!this.focusByKeyboard},set hidden(o){document.documentElement.classList.toggle(pS,o)},get hidden(){return document.documentElement.classList.contains(pS)}};new kT;var ET={exports:{}};/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/(function(o){(function(){var n={}.hasOwnProperty;function s(){for(var i=[],a=0;a4&&arguments[4]!==void 0?arguments[4]:"easeInOutCubic";return i>a?s:n+(s-n)*fO[c](i/a)};Su.calcEndPoint=function(n){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:window,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(mO(n))return parseInt(n)+i;var a=s===window||s===document.documentElement?window.pageYOffset:s.scrollTop-s.getBoundingClientRect().top,c=n.nodeName.toLowerCase()==="html"?-a:n.getBoundingClientRect().top+a;return c+i};(function(o,n){Object.defineProperty(n,"__esModule",{value:!0});var s=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},i=Su;n.default=function(a){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},h=c.duration,g=h===void 0?500:h,b=c.context,$=b===void 0?window:b,y=c.offset,w=y===void 0?0:y,T=c.ease,C=T===void 0?"easeInOutCubic":T,E=c.callback;if((typeof window>"u"?"undefined":s(window))==="object"){var k=$.scrollTop!==null&&$.scrollTop!==void 0?$.scrollTop:window.pageYOffset,A=(0,i.calcEndPoint)(a,$,w),P=performance.now(),N=window.requestAnimationFrame,B=function S(){var H=performance.now()-P,q=(0,i.setPosition)(k,A,H,g,C);$!==window?$.scrollTop=q:window.scroll(0,q),H>g?typeof E=="function"&&E(a):N(S)};B()}},o.exports=n.default})(E_,E_.exports);var IT=E_.exports,I_={exports:{}};(function(o,n){Object.defineProperty(n,"__esModule",{value:!0});var s=Object.assign||function(h){for(var g=1;g0&&arguments[0]!==void 0?arguments[0]:{},g=h.query,b=g===void 0?'[href^="#"]:not([href="#"]':g,$=h.match,y=$===void 0?function(A){return document.getElementById(A.hash.substring(1))}:$,w=h.hashChange,T=w===void 0?!0:w,C=h.scrollSmoothConfig,E=document.querySelectorAll(b),k=function(P){P.preventDefault();var N=y(P.target);N&&(T&&history.replaceState(null,null,"#"+N.id),(0,a.default)(N,s({},C)))};Array.from(E).map(function(A){A.addEventListener("click",k,!1)})},o.exports=n.default})(I_,I_.exports);var bO=I_.exports,x_={exports:{}};(function(o,n){Object.defineProperty(n,"__esModule",{value:!0});function s(i){if(Array.isArray(i)){for(var a=0,c=Array(i.length);a0&&arguments[0]!==void 0?arguments[0]:{},a=i.activeClass,c=a===void 0?"active":a,h=i.query,g=h===void 0?'[href^="#"]:not([href="#"]):not([href="#0"])':h,b=i.threshold,$=b===void 0?[.25,.5,.75]:b,y=i.detectType,w=y===void 0?"max":y,T={threshold:$},C=function(q){return q.classList.remove(c)},E=function(q){return q.classList.add(c)},k=function(){document.querySelectorAll("."+c).forEach(C)},A=function(q){k(),E(document.querySelector('a[href="#'+q.id+'"]'))},P=function(q){q.forEach(function(se){se.intersectionRatio>=Math[w].apply(Math,s($))&&A(se.target)})},N=document.querySelectorAll(g),B=new IntersectionObserver(P,T),S=function(q){var se=document.querySelector("#"+q.hash.slice(1));B.observe(se)};N.forEach(S)},o.exports=n.default})(x_,x_.exports);var $O=x_.exports;(function(o,n){Object.defineProperty(n,"__esModule",{value:!0});var s=IT,i=$(s),a=Su,c=bO,h=$(c),g=$O,b=$(g);function $(y){return y&&y.__esModule?y:{default:y}}n.default={to:i.default,calcEndPoint:a.calcEndPoint,anchorScroll:h.default,observe:b.default},o.exports=n.default})(k_,k_.exports);var vO=k_.exports;const yO=Ga(vO);var gw={exports:{}},_O=gw.exports;(function(o){(function(n,s){o.exports?o.exports=s():n.Scrollparent=s()})(_O,function(){var n=/(auto|scroll)/,s=function(g,b){return g.parentNode===null?b:s(g.parentNode,b.concat([g]))},i=function(g,b){return getComputedStyle(g,null).getPropertyValue(b)},a=function(g){return i(g,"overflow")+i(g,"overflow-y")+i(g,"overflow-x")},c=function(g){return n.test(a(g))},h=function(g){if(g instanceof HTMLElement||g instanceof SVGElement){for(var b=s(g.parentNode,[]),$=0;$=n||se<0||w&&ee>=c}function P(){var q=Ay();if(A(q))return N(q);g=setTimeout(P,k(q))}function N(q){return g=void 0,T&&i?C(q):(i=a=void 0,h)}function B(){g!==void 0&&clearTimeout(g),$=0,i=b=a=g=void 0}function S(){return g===void 0?h:N(Ay())}function H(){var q=Ay(),se=A(q);if(i=arguments,a=this,b=q,se){if(g===void 0)return E(b);if(w)return g=setTimeout(P,n),C(b)}return g===void 0&&(g=setTimeout(P,n)),h}return H.cancel=B,H.flush=S,H}function D_(o){var n=typeof o;return!!o&&(n=="object"||n=="function")}function jO(o){return!!o&&typeof o=="object"}function FO(o){return typeof o=="symbol"||jO(o)&&NO.call(o)==TO}function mS(o){if(typeof o=="number")return o;if(FO(o))return fS;if(D_(o)){var n=typeof o.valueOf=="function"?o.valueOf():o;o=D_(n)?n+"":n}if(typeof o!="string")return o===0?o:+o;o=o.replace(kO,"");var s=IO.test(o);return s||xO.test(o)?DO(o.slice(2),s?2:8):EO.test(o)?fS:+o}var zO=PO;const UO=Ga(zO);var A_="data-focus-lock",xT="data-focus-lock-disabled",WO="data-no-focus-lock",HO="data-autofocus-inside",VO="data-no-autofocus";function Oy(o,n){return typeof o=="function"?o(n):o&&(o.current=n),o}function GO(o,n){var s=ve.useState(function(){return{value:o,callback:n,facade:{get current(){return s.value},set current(i){var a=s.value;a!==i&&(s.value=i,s.callback(i,a))}}}})[0];return s.callback=n,s.facade}var KO=typeof window<"u"?ve.useLayoutEffect:ve.useEffect,bS=new WeakMap;function JO(o,n){var s=GO(null,function(i){return o.forEach(function(a){return Oy(a,i)})});return KO(function(){var i=bS.get(s);if(i){var a=new Set(i),c=new Set(o),h=s.current;a.forEach(function(g){c.has(g)||Oy(g,null)}),c.forEach(function(g){a.has(g)||Oy(g,h)})}bS.set(s,o)},[o]),s}var Ry={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function DT(o){return o}function AT(o,n){n===void 0&&(n=DT);var s=[],i=!1,a={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return s.length?s[s.length-1]:o},useMedium:function(c){var h=n(c,i);return s.push(h),function(){s=s.filter(function(g){return g!==h})}},assignSyncMedium:function(c){for(i=!0;s.length;){var h=s;s=[],h.forEach(c)}s={push:function(g){return c(g)},filter:function(){return s}}},assignMedium:function(c){i=!0;var h=[];if(s.length){var g=s;s=[],g.forEach(c),h=s}var b=function(){var y=h;h=[],y.forEach(c)},$=function(){return Promise.resolve().then(b)};$(),s={push:function(y){h.push(y),$()},filter:function(y){return h=h.filter(y),s}}}};return a}function fw(o,n){return n===void 0&&(n=DT),AT(o,n)}function qO(o){o===void 0&&(o={});var n=AT(null);return n.options=VI({async:!0,ssr:!1},o),n}var OT=fw({},function(o){var n=o.target,s=o.currentTarget;return{target:n,currentTarget:s}}),RT=fw(),YO=fw(),XO=qO({async:!0,ssr:typeof document<"u"}),ZO=ve.createContext(void 0),QO=[],mw=ve.forwardRef(function(n,s){var i,a=ve.useState(),c=a[0],h=a[1],g=ve.useRef(),b=ve.useRef(!1),$=ve.useRef(null),y=ve.useState({}),w=y[1],T=n.children,C=n.disabled,E=C===void 0?!1:C,k=n.noFocusGuards,A=k===void 0?!1:k,P=n.persistentFocus,N=P===void 0?!1:P,B=n.crossFrame,S=B===void 0?!0:B,H=n.autoFocus,q=H===void 0?!0:H;n.allowTextSelection;var se=n.group,ee=n.className,K=n.whiteList,Y=n.hasPositiveIndices,X=n.shards,ce=X===void 0?QO:X,W=n.as,te=W===void 0?"div":W,ke=n.lockProps,Z=ke===void 0?{}:ke,ze=n.sideCar,Ce=n.returnFocus,at=Ce===void 0?!1:Ce,he=n.focusOptions,Ae=n.onActivation,de=n.onDeactivation,Se=ve.useState({}),xe=Se[0],He=ve.useCallback(function(ft){var st=ft.captureFocusRestore;if(!$.current){var At,mn=(At=document)==null?void 0:At.activeElement;$.current=mn,mn!==document.body&&($.current=st(mn))}g.current&&Ae&&Ae(g.current),b.current=!0,w()},[Ae]),ne=ve.useCallback(function(){b.current=!1,de&&de(g.current),w()},[de]),Ke=ve.useCallback(function(ft){var st=$.current;if(st){var At=(typeof st=="function"?st():st)||document.body,mn=typeof at=="function"?at(At):at;if(mn){var Ue=typeof mn=="object"?mn:void 0;$.current=null,ft?Promise.resolve().then(function(){return At.focus(Ue)}):At.focus(Ue)}}},[at]),Te=ve.useCallback(function(ft){b.current&&OT.useMedium(ft)},[]),Je=RT.useMedium,rt=ve.useCallback(function(ft){g.current!==ft&&(g.current=ft,h(ft))},[]),ht=g_((i={},i[xT]=E&&"disabled",i[A_]=se,i),Z),nt=A!==!0,Wt=nt&&A!=="tail",St=JO([s,rt]),lt=ve.useMemo(function(){return{observed:g,shards:ce,enabled:!E,active:b.current}},[E,b.current,ce,c]);return We.createElement(ve.Fragment,null,nt&&[We.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:E?-1:0,style:Ry}),Y?We.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:E?-1:1,style:Ry}):null],!E&&We.createElement(ze,{id:xe,sideCar:XO,observed:c,disabled:E,persistentFocus:N,crossFrame:S,autoFocus:q,whiteList:K,shards:ce,onActivation:He,onDeactivation:ne,returnFocus:Ke,focusOptions:he,noFocusGuards:A}),We.createElement(te,g_({ref:St},ht,{className:ee,onBlur:Je,onFocus:Te}),We.createElement(ZO.Provider,{value:lt},T)),Wt&&We.createElement("div",{"data-focus-guard":!0,tabIndex:E?-1:0,style:Ry}))});mw.propTypes={};function e1(o,n){function s(i){return i.displayName||i.name||"Component"}return function(a){var c=[],h;function g(){h=o(c.map(function($){return $.props})),n(h)}var b=function($){II(y,$);function y(){return $.apply(this,arguments)||this}y.peek=function(){return h};var w=y.prototype;return w.componentDidMount=function(){c.push(this),g()},w.componentDidUpdate=function(){g()},w.componentWillUnmount=function(){var C=c.indexOf(this);c.splice(C,1),g()},w.render=function(){return We.createElement(a,this.props)},y}(ve.PureComponent);return Mx(b,"displayName","SideEffect("+s(a)+")"),b}}var qo=function(o){for(var n=Array(o.length),s=0;s=0}).sort(c1)},d1=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],vw=d1.join(","),h1="".concat(vw,", [data-focus-guard]"),UT=function(o,n){return qo((o.shadowRoot||o).children).reduce(function(s,i){return s.concat(i.matches(n?h1:vw)?[i]:[],UT(i))},[])},p1=function(o,n){var s;return o instanceof HTMLIFrameElement&&(!((s=o.contentDocument)===null||s===void 0)&&s.body)?Ah([o.contentDocument.body],n):[o]},Ah=function(o,n){return o.reduce(function(s,i){var a,c=UT(i,n),h=(a=[]).concat.apply(a,c.map(function(g){return p1(g,n)}));return s.concat(h,i.parentNode?qo(i.parentNode.querySelectorAll(vw)).filter(function(g){return g===i}):[])},[])},g1=function(o){var n=o.querySelectorAll("[".concat(HO,"]"));return qo(n).map(function(s){return Ah([s])}).reduce(function(s,i){return s.concat(i)},[])},yw=function(o,n){return qo(o).filter(function(s){return BT(n,s)}).filter(function(s){return o1(s)})},$S=function(o,n){return n===void 0&&(n=new Map),qo(o).filter(function(s){return PT(n,s)})},_w=function(o,n,s){return $w(yw(Ah(o,s),n),!0,s)},Df=function(o,n){return $w(yw(Ah(o),n),!1)},f1=function(o,n){return yw(g1(o),n)},bu=function(o,n){return o.shadowRoot?bu(o.shadowRoot,n):Object.getPrototypeOf(o).contains!==void 0&&Object.getPrototypeOf(o).contains.call(o,n)?!0:qo(o.children).some(function(s){var i;if(s instanceof HTMLIFrameElement){var a=(i=s.contentDocument)===null||i===void 0?void 0:i.body;return a?bu(a,n):!1}return bu(s,n)})},m1=function(o){for(var n=new Set,s=o.length,i=0;i0&&n.add(a),(c&Node.DOCUMENT_POSITION_CONTAINS)>0&&n.add(i)}return o.filter(function(h,g){return!n.has(g)})},WT=function(o){return o.parentNode?WT(o.parentNode):o},ww=function(o){var n=yu(o);return n.filter(Boolean).reduce(function(s,i){var a=i.getAttribute(A_);return s.push.apply(s,a?m1(qo(WT(i).querySelectorAll("[".concat(A_,'="').concat(a,'"]:not([').concat(xT,'="disabled"])')))):[i]),s},[])},b1=function(o){try{return o()}catch{return}},Af=function(o){if(o===void 0&&(o=document),!(!o||!o.activeElement)){var n=o.activeElement;return n.shadowRoot?Af(n.shadowRoot):n instanceof HTMLIFrameElement&&b1(function(){return n.contentWindow.document})?Af(n.contentWindow.document):n}},$1=function(o,n){return o===n},v1=function(o,n){return!!qo(o.querySelectorAll("iframe")).some(function(s){return $1(s,n)})},HT=function(o,n){return n===void 0&&(n=Af(MT(o).ownerDocument)),!n||n.dataset&&n.dataset.focusGuard?!1:ww(o).some(function(s){return bu(s,n)||v1(s,n)})},y1=function(o){o===void 0&&(o=document);var n=Af(o);return n?qo(o.querySelectorAll("[".concat(WO,"]"))).some(function(s){return bu(s,n)}):!1},_1=function(o,n){return n.filter(zT).filter(function(s){return s.name===o.name}).filter(function(s){return s.checked})[0]||o},Cw=function(o,n){return zT(o)&&o.name?_1(o,n):o},w1=function(o){var n=new Set;return o.forEach(function(s){return n.add(Cw(s,o))}),o.filter(function(s){return n.has(s)})},vS=function(o){return o[0]&&o.length>1?Cw(o[0],o):o[0]},yS=function(o,n){return o.indexOf(Cw(n,o))},R_="NEW_FOCUS",C1=function(o,n,s,i,a){var c=o.length,h=o[0],g=o[c-1],b=bw(i);if(!(i&&o.indexOf(i)>=0)){var $=i!==void 0?s.indexOf(i):-1,y=a?s.indexOf(a):$,w=a?o.indexOf(a):-1;if($===-1)return w!==-1?w:R_;if(w===-1)return R_;var T=$-y,C=s.indexOf(h),E=s.indexOf(g),k=w1(s),A=i!==void 0?k.indexOf(i):-1,P=a?k.indexOf(a):A,N=k.filter(function(ee){return ee.tabIndex>=0}),B=i!==void 0?N.indexOf(i):-1,S=a?N.indexOf(a):B,H=B>=0&&S>=0?S-B:P-A;if(!T&&w>=0||n.length===0)return w;var q=yS(o,n[0]),se=yS(o,n[n.length-1]);if($<=C&&b&&Math.abs(T)>1)return se;if($>=E&&b&&Math.abs(T)>1)return q;if(T&&Math.abs(H)>1)return w;if($<=C)return se;if($>E)return q;if(T)return Math.abs(T)>1?w:(c+w+T)%c}},S1=function(o){return function(n){var s,i=(s=jT(n))===null||s===void 0?void 0:s.autofocus;return n.autofocus||i!==void 0&&i!=="false"||o.indexOf(n)>=0}},_S=function(o,n,s){var i=o.map(function(c){var h=c.node;return h}),a=$S(i.filter(S1(s)));return a&&a.length?vS(a):vS($S(n))},M_=function(o,n){return n===void 0&&(n=[]),n.push(o),o.parentNode&&M_(o.parentNode.host||o.parentNode,n),n},My=function(o,n){for(var s=M_(o),i=M_(n),a=0;a=0)return c}return!1},VT=function(o,n,s){var i=yu(o),a=yu(n),c=i[0],h=!1;return a.filter(Boolean).forEach(function(g){h=My(h||g,g)||h,s.filter(Boolean).forEach(function(b){var $=My(c,b);$&&(!h||bu($,h)?h=$:h=My($,h))})}),h},wS=function(o,n){return o.reduce(function(s,i){return s.concat(f1(i,n))},[])},T1=function(o,n){var s=new Map;return n.forEach(function(i){return s.set(i.node,i)}),o.map(function(i){return s.get(i)}).filter(l1)},k1=function(o,n){var s=Af(yu(o).length>0?document:MT(o).ownerDocument),i=ww(o).filter(O_),a=VT(s||o,o,i),c=new Map,h=Df(i,c),g=h.filter(function(E){var k=E.node;return O_(k)});if(g[0]){var b=Df([a],c).map(function(E){var k=E.node;return k}),$=T1(b,g),y=$.map(function(E){var k=E.node;return k}),w=$.filter(function(E){var k=E.tabIndex;return k>=0}).map(function(E){var k=E.node;return k}),T=C1(y,w,b,s,n);if(T===R_){var C=_S(h,w,wS(i,c))||_S(h,y,wS(i,c));if(C)return{node:C};console.warn("focus-lock: cannot find any node to move focus into");return}return T===void 0?T:$[T]}},E1=function(o){var n=ww(o).filter(O_),s=VT(o,o,n),i=$w(Ah([s],!0),!0,!0),a=Ah(n,!1);return i.map(function(c){var h=c.node,g=c.index;return{node:h,index:g,lockItem:a.indexOf(h)>=0,guard:bw(h)}})},Sw=function(o,n){o&&("focus"in o&&o.focus(n),"contentWindow"in o&&o.contentWindow&&o.contentWindow.focus())},Ny=0,Ly=!1,GT=function(o,n,s){s===void 0&&(s={});var i=k1(o,n);if(!Ly&&i){if(Ny>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),Ly=!0,setTimeout(function(){Ly=!1},1);return}Ny++,Sw(i.node,s.focusOptions),Ny--}};function rf(o){if(!o)return null;if(typeof WeakRef>"u")return function(){return o||null};var n=o?new WeakRef(o):null;return function(){return(n==null?void 0:n.deref())||null}}var I1=function(o){if(!o)return null;for(var n=[],s=o;s&&s!==document.body;)n.push({current:rf(s),parent:rf(s.parentElement),left:rf(s.previousElementSibling),right:rf(s.nextElementSibling)}),s=s.parentElement;return{element:rf(o),stack:n,ownerDocument:o.ownerDocument}},x1=function(o){var n,s,i,a,c;if(o)for(var h=o.stack,g=o.ownerDocument,b=new Map,$=0,y=h;$-1&&(A.filter(function(N){var B=N.guard,S=N.node;return B&&S.dataset.focusAutoGuard}).forEach(function(N){var B=N.node;return B.removeAttribute("tabIndex")}),SS(P,A.length,1,A),SS(P,-1,-1,A))}}}return n},ZT=function(n){Y$()&&n&&(n.stopPropagation(),n.preventDefault())},Ew=function(){return Tw(Y$)},K1=function(n){var s=n.target,i=n.currentTarget;i.contains(s)||z1(i,s)},J1=function(){return null},QT=function(){kw=!0},ek=function(){kw=!1,Of="just",Tw(function(){Of="meanwhile"})},q1=function(){document.addEventListener("focusin",ZT),document.addEventListener("focusout",Ew),window.addEventListener("focus",QT),window.addEventListener("blur",ek)},Y1=function(){document.removeEventListener("focusin",ZT),document.removeEventListener("focusout",Ew),window.removeEventListener("focus",QT),window.removeEventListener("blur",ek)};function X1(o){return o.filter(function(n){var s=n.disabled;return!s})}var tk={moveFocusInside:GT,focusInside:HT,focusNextElement:R1,focusPrevElement:M1,focusFirstElement:N1,focusLastElement:L1,captureFocusRestore:KT};function Z1(o){var n=o.slice(-1)[0];n&&!Eh&&q1();var s=Eh,i=s&&n&&n.id===s.id;Eh=n,s&&!i&&(s.onDeactivation(),o.filter(function(a){var c=a.id;return c===s.id}).length||s.returnFocus(!n)),n?(Gr=null,(!i||s.observed!==n.observed)&&n.onActivation(tk),Y$(),Tw(Y$)):(Y1(),Gr=null)}OT.assignSyncMedium(K1);RT.assignMedium(Ew);YO.assignMedium(function(o){return o(tk)});const Q1=e1(X1,Z1)(J1);var nk=ve.forwardRef(function(n,s){return We.createElement(mw,g_({sideCar:Q1,ref:s},n))}),sk=mw.propTypes||{};sk.sideCar;xI(sk,["sideCar"]);nk.propTypes={};var rk={exports:{}},kn={};/** - * @license React - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Iw=Symbol.for("react.element"),xw=Symbol.for("react.portal"),Lv=Symbol.for("react.fragment"),Bv=Symbol.for("react.strict_mode"),Pv=Symbol.for("react.profiler"),jv=Symbol.for("react.provider"),Fv=Symbol.for("react.context"),eR=Symbol.for("react.server_context"),zv=Symbol.for("react.forward_ref"),Uv=Symbol.for("react.suspense"),Wv=Symbol.for("react.suspense_list"),Hv=Symbol.for("react.memo"),Vv=Symbol.for("react.lazy"),tR=Symbol.for("react.offscreen"),ik;ik=Symbol.for("react.module.reference");function Ai(o){if(typeof o=="object"&&o!==null){var n=o.$$typeof;switch(n){case Iw:switch(o=o.type,o){case Lv:case Pv:case Bv:case Uv:case Wv:return o;default:switch(o=o&&o.$$typeof,o){case eR:case Fv:case zv:case Vv:case Hv:case jv:return o;default:return n}}case xw:return n}}}kn.ContextConsumer=Fv;kn.ContextProvider=jv;kn.Element=Iw;kn.ForwardRef=zv;kn.Fragment=Lv;kn.Lazy=Vv;kn.Memo=Hv;kn.Portal=xw;kn.Profiler=Pv;kn.StrictMode=Bv;kn.Suspense=Uv;kn.SuspenseList=Wv;kn.isAsyncMode=function(){return!1};kn.isConcurrentMode=function(){return!1};kn.isContextConsumer=function(o){return Ai(o)===Fv};kn.isContextProvider=function(o){return Ai(o)===jv};kn.isElement=function(o){return typeof o=="object"&&o!==null&&o.$$typeof===Iw};kn.isForwardRef=function(o){return Ai(o)===zv};kn.isFragment=function(o){return Ai(o)===Lv};kn.isLazy=function(o){return Ai(o)===Vv};kn.isMemo=function(o){return Ai(o)===Hv};kn.isPortal=function(o){return Ai(o)===xw};kn.isProfiler=function(o){return Ai(o)===Pv};kn.isStrictMode=function(o){return Ai(o)===Bv};kn.isSuspense=function(o){return Ai(o)===Uv};kn.isSuspenseList=function(o){return Ai(o)===Wv};kn.isValidElementType=function(o){return typeof o=="string"||typeof o=="function"||o===Lv||o===Pv||o===Bv||o===Uv||o===Wv||o===tR||typeof o=="object"&&o!==null&&(o.$$typeof===Vv||o.$$typeof===Hv||o.$$typeof===jv||o.$$typeof===Fv||o.$$typeof===zv||o.$$typeof===ik||o.getModuleId!==void 0)};kn.typeOf=Ai;rk.exports=kn;var ok=rk.exports;function nR(o){function n(de,Se,xe,He,ne){for(var Ke=0,Te=0,Je=0,rt=0,ht,nt,Wt=0,St=0,lt,ft=lt=ht=0,st=0,At=0,mn=0,Ue=0,Nt=xe.length,wt=Nt-1,qt,ct="",me="",ge="",ue="",we;stht)&&(Ue=(ct=ct.replace(" ",":")).length),0He&&(He=(Se=Se.trim()).charCodeAt(0)),He){case 38:return Se.replace(P,"$1"+de.trim());case 58:return de.trim()+Se.replace(P,"$1"+de.trim());default:if(0<1*xe&&0Te.charCodeAt(8))break;case 115:ne=ne.replace(Te,"-webkit-"+Te)+";"+ne;break;case 207:case 102:ne=ne.replace(Te,"-webkit-"+(102xe.charCodeAt(0)&&(xe=xe.trim()),Ae=xe,xe=[Ae],01?n-1:0),i=1;i0?" Args: "+s.join(", "):""))}var oR=function(){function o(s){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=s}var n=o.prototype;return n.indexOfGroup=function(s){for(var i=0,a=0;a=this.groupSizes.length){for(var a=this.groupSizes,c=a.length,h=c;s>=h;)(h<<=1)<0&&Vf(16,""+s);this.groupSizes=new Uint32Array(h),this.groupSizes.set(a),this.length=h;for(var g=c;g=this.length||this.groupSizes[s]===0)return i;for(var a=this.groupSizes[s],c=this.indexOfGroup(s),h=c+a,g=c;g=_f&&(_f=n+1),M$.set(o,n),Z$.set(n,o)},cR="style["+Oh+'][data-styled-version="5.3.11"]',uR=new RegExp("^"+Oh+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),dR=function(o,n,s){for(var i,a=s.split(","),c=0,h=a.length;c=0;$--){var y=b[$];if(y&&y.nodeType===1&&y.hasAttribute(Oh))return y}}(s),c=a!==void 0?a.nextSibling:null;i.setAttribute(Oh,"active"),i.setAttribute("data-styled-version","5.3.11");var h=pR();return h&&i.setAttribute("nonce",h),s.insertBefore(i,c),i},gR=function(){function o(s){var i=this.element=ak(s);i.appendChild(document.createTextNode("")),this.sheet=function(a){if(a.sheet)return a.sheet;for(var c=document.styleSheets,h=0,g=c.length;h=0){var a=document.createTextNode(i),c=this.nodes[s];return this.element.insertBefore(a,c||null),this.length++,!0}return!1},n.deleteRule=function(s){this.element.removeChild(this.nodes[s]),this.length--},n.getRule=function(s){return s0&&(w+=T+",")}),c+=""+$+y+'{content:"'+w+`"}/*!sc*/ -`}}}return c}(this)},o}(),$R=/(a)(d)/gi,IS=function(o){return String.fromCharCode(o+(o>25?39:97))};function L_(o){var n,s="";for(n=Math.abs(o);n>52;n=n/52|0)s=IS(n%52)+s;return(IS(n%52)+s).replace($R,"$1-$2")}var Sh=function(o,n){for(var s=n.length;s;)o=33*o^n.charCodeAt(--s);return o},lk=function(o){return Sh(5381,o)};function ck(o){for(var n=0;n>>0);if(!s.hasNameForId(a,g)){var b=i(h,"."+g,void 0,a);s.insertRules(a,g,b)}c.push(g),this.staticRulesId=g}else{for(var $=this.rules.length,y=Sh(this.baseHash,i.hash),w="",T=0;T<$;T++){var C=this.rules[T];if(typeof C=="string")w+=C;else if(C){var E=_u(C,n,s,i),k=Array.isArray(E)?E.join(""):E;y=Sh(y,k+T),w+=k}}if(w){var A=L_(y>>>0);if(!s.hasNameForId(a,A)){var P=i(w,"."+A,void 0,a);s.insertRules(a,A,P)}c.push(A)}}return c.join(" ")},o}(),_R=/^\s*\/\/.*$/gm,wR=[":","[",".","#"];function CR(o){var n,s,i,a,c=Zl,h=c.options,g=h===void 0?Zl:h,b=c.plugins,$=b===void 0?X$:b,y=new nR(g),w=[],T=function(k){function A(P){if(P)try{k(P+"}")}catch{}}return function(P,N,B,S,H,q,se,ee,K,Y){switch(P){case 1:if(K===0&&N.charCodeAt(0)===64)return k(N+";"),"";break;case 2:if(ee===0)return N+"/*|*/";break;case 3:switch(ee){case 102:case 112:return k(B[0]+N),"";default:return N+(Y===0?"/*|*/":"")}case-2:N.split("/*|*/}").forEach(A)}}}(function(k){w.push(k)}),C=function(k,A,P){return A===0&&wR.indexOf(P[s.length])!==-1||P.match(a)?k:"."+n};function E(k,A,P,N){N===void 0&&(N="&");var B=k.replace(_R,""),S=A&&P?P+" "+A+" { "+B+" }":B;return n=N,s=A,i=new RegExp("\\"+s+"\\b","g"),a=new RegExp("(\\"+s+"\\b){2,}"),y(P||!A?"":A,S)}return y.use([].concat($,[function(k,A,P){k===2&&P.length&&P[0].lastIndexOf(s)>0&&(P[0]=P[0].replace(i,C))},T,function(k){if(k===-2){var A=w;return w=[],A}}])),E.hash=$.length?$.reduce(function(k,A){return A.name||Vf(15),Sh(k,A.name)},5381).toString():"",E}var uk=We.createContext();uk.Consumer;var dk=We.createContext(),SR=(dk.Consumer,new Q$),B_=CR();function hk(){return ve.useContext(uk)||SR}function pk(){return ve.useContext(dk)||B_}var TR=function(){function o(n,s){var i=this;this.inject=function(a,c){c===void 0&&(c=B_);var h=i.name+c.hash;a.hasNameForId(i.id,h)||a.insertRules(i.id,h,c(i.rules,h,"@keyframes"))},this.toString=function(){return Vf(12,String(i.name))},this.name=n,this.id="sc-keyframes-"+n,this.rules=s}return o.prototype.getName=function(n){return n===void 0&&(n=B_),this.name+n.hash},o}(),kR=/([A-Z])/,ER=/([A-Z])/g,IR=/^ms-/,xR=function(o){return"-"+o.toLowerCase()};function xS(o){return kR.test(o)?o.replace(ER,xR).replace(IR,"-ms-"):o}var DS=function(o){return o==null||o===!1||o===""};function _u(o,n,s,i){if(Array.isArray(o)){for(var a,c=[],h=0,g=o.length;h1?n-1:0),i=1;i?@[\\\]^`{|}~-]+/g,AR=/(^-|-$)/g;function By(o){return o.replace(DR,"-").replace(AR,"")}var mk=function(o){return L_(lk(o)>>>0)};function b$(o){return typeof o=="string"&&!0}var P_=function(o){return typeof o=="function"||typeof o=="object"&&o!==null&&!Array.isArray(o)},OR=function(o){return o!=="__proto__"&&o!=="constructor"&&o!=="prototype"};function RR(o,n,s){var i=o[s];P_(n)&&P_(i)?bk(i,n):o[s]=n}function bk(o){for(var n=arguments.length,s=new Array(n>1?n-1:0),i=1;i=0||(Y[ee]=q[ee]);return Y}(n,["componentId"]),H=B&&B+"-"+(b$(N)?N:By(kS(N)));return $k(N,Go({},S,{attrs:T,componentId:H}),s)},Object.defineProperty(E,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(N){this._foldedDefaultProps=i?bk({},o.defaultProps,N):N}}),Object.defineProperty(E,"toString",{value:function(){return"."+E.styledComponentId}}),a&&DI(E,o,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),E}var Di=function(o){return function n(s,i,a){if(a===void 0&&(a=Zl),!ok.isValidElementType(i))return Vf(1,String(i));var c=function(){return s(i,a,gk.apply(void 0,arguments))};return c.withConfig=function(h){return n(s,i,Go({},a,{},h))},c.attrs=function(h){return n(s,i,Go({},a,{attrs:Array.prototype.concat(a.attrs,h).filter(Boolean)}))},c}($k,o)};["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","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach(function(o){Di[o]=Di(o)});var MR=function(){function o(s,i){this.rules=s,this.componentId=i,this.isStatic=ck(s),Q$.registerId(this.componentId+1)}var n=o.prototype;return n.createStyles=function(s,i,a,c){var h=c(_u(this.rules,i,a,c).join(""),""),g=this.componentId+s;a.insertRules(g,g,h)},n.removeStyles=function(s,i){i.clearRules(this.componentId+s)},n.renderStyles=function(s,i,a,c){s>2&&Q$.registerId(this.componentId+s),this.removeStyles(s,a),this.createStyles(s,i,a,c)},o}();function NR(o){for(var n=arguments.length,s=new Array(n>1?n-1:0),i=1;io.length)&&(n=o.length);for(var s=0,i=Array(n);s=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(b){throw b},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var c,h=!0,g=!1;return{s:function(){s=s.call(o)},n:function(){var b=s.next();return h=b.done,b},e:function(b){g=!0,c=b},f:function(){try{h||s.return==null||s.return()}finally{if(g)throw c}}}}function Ti(o,n,s){return(n=yk(n))in o?Object.defineProperty(o,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):o[n]=s,o}function ev(o){return ev=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ev(o)}function UR(o,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function");o.prototype=Object.create(n&&n.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),Object.defineProperty(o,"prototype",{writable:!1}),n&&j_(o,n)}function vk(){try{var o=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(vk=function(){return!!o})()}function WR(o,n){var s=o==null?null:typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(s!=null){var i,a,c,h,g=[],b=!0,$=!1;try{if(c=(s=s.call(o)).next,n!==0)for(;!(b=(i=c.call(s)).done)&&(g.push(i.value),g.length!==n);b=!0);}catch(y){$=!0,a=y}finally{try{if(!b&&s.return!=null&&(h=s.return(),Object(h)!==h))return}finally{if($)throw a}}return g}}function HR(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function RS(o,n){var s=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);n&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(o,a).enumerable})),s.push.apply(s,i)}return s}function tv(o){for(var n=1;ns.right&&(s.right=g.right),g.bottom>s.bottom&&(s.bottom=g.bottom),g.left=0+b&&a>=0+b&&i<=h-b&&s<=c-b}function ZR(o){return o===document.querySelector("body")||o===document.querySelector("html")}var QR=function(n){return/(left|right)/.test(n)},jy=function(n,s){return n>s},Fy=function(n,s){return n>s},zo=function(n){return n<0?0:n};function eM(o){return Object.keys(o).map(function(n){return{position:n,value:o[n]}}).sort(function(n,s){return s.value-n.value}).map(function(n){return n.position})}var FS,tM=Di.div(FS||(FS=uo([` - --reactour-accent: `,`; - `,` - position: fixed; - transition: transform 0.3s; - top: 0; - left: 0; - z-index: 1000000; - - transform: `,`; -`])),function(o){return o.accentColor},function(o){return o.defaultStyles?` - max-width: 331px; - min-width: 150px; - padding-right: 40px; - border-radius: `.concat(o.rounded,`px; - background-color: #fff; - padding: 24px 30px; - box-shadow: 0 0.5em 3em rgba(0, 0, 0, 0.3); - color: inherit; - `):""},function(o){var n=o.targetTop,s=o.targetRight,i=o.targetBottom,a=o.targetLeft,c=o.windowWidth,h=o.windowHeight,g=o.helperWidth,b=o.helperHeight,$=o.helperPosition,y=o.padding,w={left:a,right:c-s,top:n,bottom:h-i},T=function(P){return w[P]>(QR(P)?g+y*2:b+y*2)},C=function(P){for(var N=eM(w),B=0;By?H:y,se=Fy(n+b,h)?Fy(i+y,h)?i-b:i-b+y:n-y,ee=se>y?se:y,K={top:[q,n-b-y*2],right:[s+y*2,ee],bottom:[q,i+y*2],left:[a-g-y*2,ee],center:[c/2-g/2,h/2-b/2]};return P==="center"||T(P)?K[P]:C(K)},k=E($);return"translate(".concat(Math.round(k[0]),"px, ").concat(Math.round(k[1]),"px)")}),zS,nM=Di.span(zS||(zS=uo([` - position: absolute; - font-family: monospace; - background: var(--reactour-accent); - background: `,`; - height: 1.875em; - line-height: 2; - padding-left: 0.8125em; - padding-right: 0.8125em; - font-size: 1em; - border-radius: 1.625em; - color: white; - text-align: center; - box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.3); - top: -0.8125em; - left: -0.8125em; -`])),function(o){return o.accentColor}),US,sM=Di.div(US||(US=uo([` - display: flex; - margin-top: 24px; - align-items: center; - justify-content: center; -`]))),WS,rM=Di.nav(WS||(WS=uo([` - counter-reset: dot; - display: flex; - justify-content: center; - align-items: center; - flex-wrap: wrap; -`]))),HS,iM=Di.button(HS||(HS=uo([` - counter-increment: dot; - width: 8px; - height: 8px; - border: `,`; - - border-radius: 100%; - padding: 0; - display: block; - margin: 4px; - transition: opacity 0.3s, transform 0.3s; - cursor: `,`; - transform: scale(`,`); - - color: `,`; - background: `,`; - - color: `,`; - background: `,`; - - &:before { - content: counter(dot); - position: absolute; - bottom: calc(100% + 0.25em); - left: 50%; - opacity: 0; - transform: translate(-50%, 1em); - transition: 0.3s; - display: `,`; - } - - &:hover { - background-color: currentColor; - - &:before { - opacity: 0.5; - transform: translate(-50%, -2px); - } - } -`])),function(o){return o.current===o.index?"0":"1px solid #caccce"},function(o){return o.disabled?"not-allowed":"pointer"},function(o){return o.current===o.index?1.25:1},function(o){return o.current===o.index?"var(--reactour-accent)":"#caccce"},function(o){return o.current===o.index?"var(--reactour-accent)":"none"},function(o){return o.current===o.index?o.accentColor:"#caccce"},function(o){return o.current===o.index?o.accentColor:"none"},function(o){return o.showNumber?"block":"none"}),VS,oM=Di.div(VS||(VS=uo([` - opacity: `,`; - color: `,`; - width: 100%; - left: 0; - top: 0; - height: 100%; - position: fixed; - z-index: 99999; - pointer-events: none; -`])),function(o){return!o.maskClassName&&.7},function(o){return!o.maskClassName&&"#000"});function kk(o){var n=o.windowWidth,s=o.windowHeight,i=o.targetWidth,a=o.targetHeight,c=o.targetTop,h=o.targetLeft,g=o.padding,b=o.rounded,$=o.roundedStep,y=o.disableInteraction,w=o.disableInteractionClassName,T=o.className,C=o.onClick,E=o.highlightedBorder,k=zo(i+g*2),A=zo(a+g*2),P=zo(c-g),N=zo(h-g),B=$?Math.min(k/2,A/2):b;return We.createElement(oM,{onClick:C,maskClassName:T},We.createElement("svg",{width:n,height:s,xmlns:"http://www.w3.org/2000/svg",className:T},We.createElement("defs",null,We.createElement("mask",{id:"mask-main"},We.createElement("rect",{x:0,y:0,width:n,height:s,fill:"white"}),We.createElement("rect",{x:N,y:P,width:k,height:A,fill:"black"}),We.createElement("rect",{x:N-1,y:P-1,width:B,height:B,fill:"white"}),We.createElement("circle",{cx:N+B,cy:P+B,r:B,fill:"black"}),We.createElement("rect",{x:N+k-B+1,y:P-1,width:B,height:B,fill:"white"}),We.createElement("circle",{cx:N+k-B,cy:P+B,r:B,fill:"black"}),We.createElement("rect",{x:N-1,y:P+A-B+1,width:B,height:B,fill:"white"}),We.createElement("circle",{cx:N+B,cy:P+A-B,r:B,fill:"black"}),We.createElement("rect",{x:N+k-B+1,y:P+A-B+1,width:B,height:B,fill:"white"}),We.createElement("circle",{cx:N+k-B,cy:P+A-B,r:B,fill:"black "})),We.createElement("clipPath",{id:"clip-path"},We.createElement("rect",{x:0,y:0,width:n,height:P}),We.createElement("rect",{x:0,y:P,width:N,height:A}),We.createElement("rect",{x:h+i+g,y:P,width:zo(n-i-N),height:A}),We.createElement("rect",{x:0,y:c+a+g,width:n,height:zo(s-a-P)}))),We.createElement("rect",{x:0,y:0,width:n,height:s,fill:"currentColor",mask:"url(#mask-main)"}),We.createElement("rect",{x:0,y:0,width:n,height:s,fill:"currentColor",clipPath:"url(#clip-path)",pointerEvents:"auto"}),We.createElement("rect",{x:N,y:P,width:k,height:A,pointerEvents:"auto",fill:"transparent",display:y?"block":"none",className:w}),E&&We.createElement("rect",{x:zo(N+E.width/2),y:zo(P+E.width/2),width:zo(k-E.width),height:zo(A-E.width),pointerEvents:"auto",fill:"none",strokeWidth:E.width,stroke:E.color,rx:B-2})))}kk.propTypes={windowWidth:Ge.number.isRequired,windowHeight:Ge.number.isRequired,targetWidth:Ge.number.isRequired,targetHeight:Ge.number.isRequired,targetTop:Ge.number.isRequired,targetLeft:Ge.number.isRequired,padding:Ge.number.isRequired,rounded:Ge.number.isRequired,roundedStep:Ge.bool,disableInteraction:Ge.bool.isRequired,disableInteractionClassName:Ge.string.isRequired,highlightedBorder:Ge.shape({color:Ge.string.isRequired,width:Ge.number.isRequired})};var aM=function(o){var n=o.step,s=o.refresh,i=ve.useState(0),a=GR(i,2),c=a[0],h=a[1];return ve.useEffect(function(){if(n.resizeObservables){var g=function(T){var C=xh(T),E;try{var k=function(){var P=E.value;if(!P.attributes)return 1;var N=n.resizeObservables.find(function(B){return P.matches(B)||P.querySelector(B)!=null});N&&h(c+1)};for(C.s();!(E=C.n()).done;)k()}catch(A){C.e(A)}finally{C.f()}},b=new MutationObserver(function(w){var T=xh(w),C;try{for(T.s();!(C=T.n()).done;){var E=C.value;E.addedNodes.length!==0&&g(E.addedNodes),E.removedNodes.length!==0&&g(E.removedNodes)}}catch(k){T.e(k)}finally{T.f()}}),$=document.documentElement||document.body,y={childList:!0,subtree:!0};return b.observe($,y),function(){b.disconnect()}}},[n,c]),ve.useEffect(function(){if(n.resizeObservables){var g=new ResizeObserver(function(T){s()}),b=xh(n.resizeObservables),$;try{for(b.s();!($=b.n()).done;){var y=$.value,w=document.querySelector(y);w&&g.observe(w)}}catch(T){b.e(T)}finally{b.f()}return function(){g.disconnect()}}},[n,c]),null},lM=function(o){var n=o.step,s=o.refresh;return ve.useEffect(function(){if(n.mutationObservables){var i=function(b){var $=xh(b),y;try{var w=function(){var C=y.value;if(!C.attributes)return 1;var E=n.mutationObservables.find(function(k){return C.matches(k)||C.querySelector(k)!=null});E&&s()};for($.s();!(y=$.n()).done;)w()}catch(T){$.e(T)}finally{$.f()}},a=new MutationObserver(function(g){var b=xh(g),$;try{for(b.s();!($=b.n()).done;){var y=$.value;y.addedNodes.length!==0&&i(y.addedNodes),y.removedNodes.length!==0&&i(y.removedNodes)}}catch(w){b.e(w)}finally{b.f()}}),c=document.documentElement||document.body,h={childList:!0,subtree:!0};return a.observe(c,h),function(){a.disconnect()}}},[n]),null};function cM(o){var n=o.children,s=ve.useRef(null);return s.current===null&&(s.current=document.createElement("div"),s.current.setAttribute("id","___reactour")),ve.useEffect(function(){return document.body.appendChild(s.current),function(){document.body.removeChild(s.current)}},[s]),P0.createPortal(n,s.current)}var uM={disableFocusLock:Ge.bool,badgeContent:Ge.func,highlightedMaskClassName:Ge.string,children:Ge.oneOfType([Ge.node,Ge.element]),className:Ge.string,closeButtonAriaLabel:Ge.string,closeWithMask:Ge.bool,inViewThreshold:Ge.number,isOpen:Ge.bool.isRequired,lastStepNextButton:Ge.node,maskClassName:Ge.string,maskSpace:Ge.number,nextButton:Ge.node,onAfterOpen:Ge.func,onBeforeClose:Ge.func,onRequestClose:Ge.func,prevButton:Ge.node,scrollDuration:Ge.number,scrollOffset:Ge.number,showButtons:Ge.bool,showCloseButton:Ge.bool,showNavigation:Ge.bool,showNavigationNumber:Ge.bool,showNumber:Ge.bool,startAt:Ge.number,goToStep:Ge.number,getCurrentStep:Ge.func,nextStep:Ge.func,prevStep:Ge.func,steps:Ge.arrayOf(Ge.shape({selector:Ge.string,content:Ge.oneOfType([Ge.node,Ge.element,Ge.func]).isRequired,position:Ge.oneOfType([Ge.arrayOf(Ge.number),Ge.oneOf(["top","right","bottom","left","center"])]),action:Ge.func,style:Ge.object,stepInteraction:Ge.bool,navDotAriaLabel:Ge.string,roundedStep:Ge.bool})),update:Ge.string,updateDelay:Ge.number,disableInteraction:Ge.bool,disableDotsNavigation:Ge.bool,disableKeyboardNavigation:Ge.oneOfType([Ge.arrayOf(Ge.oneOf(["esc","right","left"])),Ge.bool]),rounded:Ge.number,accentColor:Ge.string,highlightedBorder:Ge.shape({color:Ge.string.isRequired,width:Ge.number.isRequired})},dM={disableFocusLock:!1,showNavigation:!0,showNavigationNumber:!0,showButtons:!0,showCloseButton:!0,closeButtonAriaLabel:"Close",showNumber:!0,scrollDuration:1,maskSpace:10,updateDelay:1,disableInteraction:!1,rounded:0,accentColor:"#007aff",closeWithMask:!0},gh={mask:{disableInteraction:"reactour__mask--disable-interaction"},helper:{base:"reactour__helper",isOpen:"reactour__helper--is-open"},dot:{base:"reactour__dot",active:"reactour__dot--is-active"}},Rw=function(o){function n(){var s;return jR(this,n),s=PR(this,n),Ti(s,"unlockFocus",function(i){s.setState({focusUnlocked:!0},i())}),Ti(s,"showStep",function(){if(!(!s.helper||!s.helper.current)){var i=s.props.steps,a=s.state,c=a.current,h=a.focusUnlocked;h&&s.setState({focusUnlocked:!1});var g=i[c],b=g.selector?document.querySelector(g.selector):null,$=function(E){g.action&&typeof g.action=="function"&&s.unlockFocus(function(){return g.action(E)})};if(g.observe){var y=document.querySelector(g.observe),w={attributes:!0,childList:!0,characterData:!0};s.setState(function(C){return C.observer&&setTimeout(function(){C.observer.disconnect()},0),{observer:new MutationObserver(function(E){E.forEach(function(k){if(k.type==="childList"&&k.addedNodes.length>0){var A=function(){return $(k.addedNodes[0])};setTimeout(function(){return s.calculateNode(k.addedNodes[0],g,A)},100)}else if(k.type==="childList"&&k.removedNodes.length>0){var P=function(){return $(b)};s.calculateNode(b,g,P)}})})}},function(){return s.state.observer.observe(y,w)})}else s.state.observer&&(s.state.observer.disconnect(),s.setState({observer:null}));if(b){var T=function(){return $(b)};s.calculateNode(b,g,T)}else s.setState(zy(null,g,s.helper.current),$),g.selector&&console.warn("Doesn't find a DOM node '".concat(g.selector,"'. Please check the 'steps' Tour prop Array at position ").concat(c,"."))}}),Ti(s,"calculateNode",function(i,a,c){var h=s.props,g=h.scrollDuration,b=h.inViewThreshold,$=h.scrollOffset,y=Tk(i,a),w=Math.max(document.documentElement.clientWidth,window.innerWidth||0),T=Math.max(document.documentElement.clientHeight,window.innerHeight||0);if(XR(tv(tv({},y),{},{w,h:T,threshold:b})))s.setState(zy(i,a,s.helper.current),c);else{var C=CO(i),E=$||(y.height>T?-25:-(T/2)+y.height/2);yO.to(i,{context:ZR(C)?window:C,duration:g,offset:E,callback:function(A){s.setState(zy(A,a,s.helper.current),c)}})}}),Ti(s,"recalculateNode",function(i){var a=document.querySelector(i.selector),c=function(g){i.action&&typeof i.action=="function"&&s.unlockFocus(function(){return i.action(g)})};s.calculateNode(a,i,function(){return c(a)})}),Ti(s,"maskClickHandler",function(i){var a=s.props,c=a.closeWithMask,h=a.onRequestClose;c&&!i.target.classList.contains(gh.mask.disableInteraction)&&h(i)}),Ti(s,"nextStep",function(){var i=s.props,a=i.steps,c=i.getCurrentStep;s.setState(function(h){var g=h.current0?a.current-1:a.current;return typeof i=="function"&&i(c),{current:c}},s.showStep)}),Ti(s,"gotoStep",function(i){var a=s.props,c=a.steps,h=a.getCurrentStep;s.setState(function(g){var b=c[i]?i:g.current;return typeof h=="function"&&h(b),{current:b}},s.showStep)}),Ti(s,"keyDownHandler",function(i){var a=s.props,c=a.onRequestClose,h=a.nextStep,g=a.prevStep,b=a.disableKeyboardNavigation;if(i.stopPropagation(),b!==!0){var $,y,w;b&&($=b.includes("esc"),y=b.includes("right"),w=b.includes("left")),i.keyCode===27&&!$&&(i.preventDefault(),c()),i.keyCode===39&&!y&&(i.preventDefault(),typeof h=="function"?h():s.nextStep()),i.keyCode===37&&!w&&(i.preventDefault(),typeof g=="function"?g():s.prevStep())}}),s.state={isOpen:!1,current:0,top:0,right:0,bottom:0,left:0,width:0,height:0,w:0,h:0,inDOM:!1,observer:null,focusUnlocked:!1},s.helper=ve.createRef(),s.helperElement=null,s.debouncedShowStep=UO(s.showStep,70),s}return UR(n,o),zR(n,[{key:"componentDidMount",value:function(){var i=this.props,a=i.isOpen,c=i.startAt;a&&this.open(c)}},{key:"UNSAFE_componentWillReceiveProps",value:function(i){var a=this.props,c=a.isOpen,h=a.update,g=a.updateDelay;!c&&i.isOpen?this.open(i.startAt):c&&!i.isOpen&&this.close(),c&&h!==i.update&&(i.steps[this.state.current]?setTimeout(this.showStep,g):this.props.onRequestClose()),c&&i.isOpen&&this.state.current!==i.goToStep&&this.gotoStep(i.goToStep)}},{key:"componentWillUnmount",value:function(){var i=this.props.isOpen;i&&this.close(),this.state.observer&&this.state.observer.disconnect()}},{key:"open",value:function(i){var a=this,c=this.props.onAfterOpen;this.setState(function(h){return{isOpen:!0,current:i!==void 0?i:h.current}},function(){setTimeout(a.showStep,1),a.helperElement=a.helper.current,a.props.disableFocusLock||a.helper.current.focus(),c&&c(a.helperElement)}),window.addEventListener("resize",this.debouncedShowStep,!1),window.addEventListener("keydown",this.keyDownHandler,!1)}},{key:"close",value:function(){this.setState(function(i){return i.observer&&i.observer.disconnect(),{isOpen:!1,observer:null}},this.onBeforeClose),window.removeEventListener("resize",this.debouncedShowStep),window.removeEventListener("keydown",this.keyDownHandler)}},{key:"onBeforeClose",value:function(){var i=this.props.onBeforeClose;i&&i(this.helperElement)}},{key:"render",value:function(){var i=this,a=this.props,c=a.className,h=a.steps,g=a.maskClassName,b=a.showButtons,$=a.showCloseButton,y=a.closeButtonAriaLabel,w=a.showNavigation,T=a.showNavigationNumber,C=a.showNumber,E=a.onRequestClose,k=a.maskSpace,A=a.lastStepNextButton,P=a.nextButton,N=a.prevButton,B=a.badgeContent,S=a.highlightedMaskClassName,H=a.disableInteraction,q=a.disableDotsNavigation,se=a.nextStep,ee=a.prevStep,K=a.rounded,Y=a.accentColor,X=a.CustomHelper,ce=a.disableFocusLock,W=a.highlightedBorder,te=this.state,ke=te.isOpen,Z=te.current,ze=te.inDOM,Ce=te.top,at=te.right,he=te.bottom,Ae=te.left,de=te.width,Se=te.height,xe=te.w,He=te.h,ne=te.helperWidth,Ke=te.helperHeight,Te=te.helperPosition;return ke?We.createElement(cM,null,We.createElement(JR,null),We.createElement(aM,{step:h[Z],refresh:function(){return i.recalculateNode(h[Z])}}),We.createElement(lM,{step:h[Z],refresh:function(){return i.recalculateNode(h[Z])}}),We.createElement(kk,{onClick:this.maskClickHandler,forwardRef:function(rt){return i.mask=rt},windowWidth:xe,windowHeight:He,targetWidth:de,targetHeight:Se,targetTop:Ce,targetLeft:Ae,padding:k,rounded:K,roundedStep:h[Z].roundedStep,className:g,disableInteraction:h[Z].stepInteraction===!1||H?!h[Z].stepInteraction:H,disableInteractionClassName:"".concat(gh.mask.disableInteraction," ").concat(S),highlightedBorder:W}),We.createElement(nk,{disabled:ce,autoFocus:!1},We.createElement(tM,{ref:this.helper,targetHeight:Se,targetWidth:de,targetTop:Ce,targetRight:at,targetBottom:he,targetLeft:Ae,windowWidth:xe,windowHeight:He,helperWidth:ne,helperHeight:Ke,helperPosition:Te,padding:k,tabIndex:-1,current:Z,style:h[Z].style?h[Z].style:{},rounded:K,className:gS(gh.helper.base,c,Ti({},gh.helper.isOpen,ke)),accentColor:Y,defaultStyles:!X,role:"dialog"},X?We.createElement(X,{current:Z,totalSteps:h.length,gotoStep:this.gotoStep,close:E,content:h[Z]&&(typeof h[Z].content=="function"?h[Z].content({close:E,goTo:this.gotoStep,inDOM:ze,step:Z+1}):h[Z].content)},this.props.children):We.createElement(We.Fragment,null,this.props.children,h[Z]&&(typeof h[Z].content=="function"?h[Z].content({close:E,goTo:this.gotoStep,inDOM:ze,step:Z+1}):h[Z].content),C&&We.createElement(nM,{"data-tour-elem":"badge",accentColor:Y},typeof B=="function"?B(Z+1,h.length):Z+1),(b||w)&&We.createElement(sM,{"data-tour-elem":"controls"},b&&We.createElement(PS,{onClick:typeof ee=="function"?ee:this.prevStep,disabled:Z===0,label:N||null}),w&&We.createElement(rM,{"data-tour-elem":"navigation"},h.map(function(Je,rt){return We.createElement(iM,{key:"".concat(Je.selector?Je.selector:"undef","_").concat(rt),onClick:function(){return i.gotoStep(rt)},current:Z,index:rt,accentColor:Y,disabled:Z===rt||q,showNumber:T,"data-tour-elem":"dot",className:gS(gh.dot.base,Ti({},gh.dot.active,Z===rt)),"aria-label":Je.navDotAriaLabel})})),b&&We.createElement(PS,{onClick:Z===h.length-1?A?E:function(){}:typeof se=="function"?se:this.nextStep,disabled:!A&&Z===h.length-1,inverted:!0,label:A&&Z===h.length-1?A:P||null})),$&&We.createElement(YR,{onClick:E,className:"reactour__close",ariaLabel:y}))))):null}}])}(ve.Component),zy=function(n,s,i){if(i){var a=Math.max(document.documentElement.clientWidth,window.innerWidth||0),c=Math.max(document.documentElement.clientHeight,window.innerHeight||0),h=N$(i),g=h.width,b=h.height,$={top:c+10,right:a/2+9,bottom:c/2+9,left:a/2-g/2,width:0,height:0,w:a,h:c,helperPosition:"center"};return n&&($=Tk(n,s)),function(){return tv(tv({w:a,h:c,helperWidth:g,helperHeight:b,helperPosition:s.position},$),{},{inDOM:!!n})}}};Rw.propTypes=uM;Rw.defaultProps=dM;const hM=""+new URL("blockly2js-B3Jxf2e-.svg",import.meta.url).href,pM=""+new URL("rules2js-DnYyR8mI.svg",import.meta.url).href;function gM(o){return/^script\.js\.global\./.test(o)}let fM=0;function mM(o){const n=/\x1b\[[0-9;]*m/g;return o.replace(n,"")}class Gv extends We.Component{monacoDiv=null;editor=null;monaco=window.monaco;insert="";originalCode;runningInstancesStr;monacoCounter=0;location;breakpoints;lastSearch="";typings={};decorations=[];triggerPrettier;constructor(n){super(n),this.state={name:"current",isDark:n.isDark||!1,language:n.language||"javascript",readOnly:n.readOnly||!1,alive:!0,check:!1,searchText:this.props.searchText||"",typingsLoaded:!1,showError:null},this.triggerPrettier=n.triggerPrettier,this.runningInstancesStr=JSON.stringify(this.props.runningInstances),this.originalCode=n.code||"",this.monacoDiv=We.createRef()}waitForMonaco(n){var i,a,c,h,g,b,$,y;let s=!!((h=(c=(a=(i=this.monaco)==null?void 0:i.languages)==null?void 0:a.typescript)==null?void 0:c.typescriptDefaults)!=null&&h.getCompilerOptions);if(!s||!this.props.runningInstances){if(this.monaco=window.monaco,s=!!((y=($=(b=(g=this.monaco)==null?void 0:g.languages)==null?void 0:b.typescript)==null?void 0:$.typescriptDefaults)!=null&&y.getCompilerOptions),this.monacoCounter++,!s&&this.monacoCounter<20){console.log("wait for monaco loaded"),setTimeout(()=>this.waitForMonaco(n),200);return}this.monacoCounter>=20&&console.error("Cannot load monaco!")}else n&&n()}loadTypings(n){if(!this.editor)return;n||=this.props.runningInstances;const s=n&&Object.keys(n).find(i=>n==null?void 0:n[i]);s&&this.props.socket.sendTo(s.replace("system.adapter.",""),"loadTypings",null).then(i=>{this.setState({alive:!0,check:!0,typingsLoaded:!0}),this.setTypeCheck(!0),i.typings?(this.typings=i.typings,this.setEditorTypings(this.state.name)):console.error(`failed to load typings: ${i.error}`)})}componentDidMount(){var i,a,c,h,g,b,$,y,w,T,C,E;let n=!!((h=(c=(a=(i=this.monaco)==null?void 0:i.languages)==null?void 0:a.typescript)==null?void 0:c.typescriptDefaults)!=null&&h.getCompilerOptions);if((!n||!this.props.runningInstances)&&(this.monaco=window.monaco,n=!!((y=($=(b=(g=this.monaco)==null?void 0:g.languages)==null?void 0:b.typescript)==null?void 0:$.typescriptDefaults)!=null&&y.getCompilerOptions),!n)){console.log("wait for monaco loaded..."),this.waitForMonaco(()=>this.componentDidMount());return}if(!this.editor&&n&&this.monaco){console.log("Init editor"),(T=(w=this.props).onRegisterSelect)==null||T.call(w,()=>{var A;if(this.editor){const P=this.editor.getSelection();if(P)return(A=this.editor.getModel())==null?void 0:A.getValueInRange(P)}});const k=this.monaco.languages.typescript.typescriptDefaults.getCompilerOptions();k.allowJs=!0,k.checkJs=this.props.checkJs!==!1,k.noLib=!0,k.lib=[],k.useUnknownInCatchVariables=!1,k.moduleResolution=this.monaco.languages.typescript.ModuleResolutionKind.NodeJs,k.target=this.monaco.languages.typescript.ScriptTarget.ESNext,k.module=this.monaco.languages.typescript.ModuleKind.ESNext,k.allowNonTsExtensions=!0,this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(k),this.setTypeCheck(!1),(C=this.monacoDiv)!=null&&C.current&&(this.editor=this.monaco.editor.create((E=this.monacoDiv)==null?void 0:E.current,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,glyphMargin:!!this.props.breakpoints,colorDecorators:!0}),this.editor.onDidChangeModelContent(()=>this.onChange()),this.loadTypings(),this.props.onForceSave&&this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KeyS,()=>this.props.onForceSave&&this.props.onForceSave()),setTimeout(()=>{this.highlightText(this.state.searchText),this.location=this.props.location||void 0,this.breakpoints=this.props.breakpoints,this.showDecorators()}))}const s={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(s),this.editor&&(this.editor.focus(),this.editor.setValue(this.originalCode),this.props.onToggleBreakpoint?this.editor.onMouseDown(k=>{var P;const A=k.target;this.props.onToggleBreakpoint&&((P=A.detail)==null?void 0:P.glyphMarginLeft)!==void 0&&A.position&&this.props.onToggleBreakpoint(A.position.lineNumber-1)}):this.editor.onMouseDown(()=>{}))}setEditorOptions(n){var s;n&&(n.language&&this.setEditorLanguage(n.language),this.editor&&(n.readOnly!==void 0&&this.editor.updateOptions({readOnly:n.readOnly}),n.lineWrap!==void 0&&this.editor.updateOptions({wordWrap:n.lineWrap?"on":"off"})),n.typeCheck!==void 0&&this.setTypeCheck(n.typeCheck),n.isDark!==void 0&&((s=this.monaco)==null||s.editor.setTheme(n.isDark?"vs-dark":"vs")))}componentWillUnmount(){var n,s;this.editor&&((s=(n=this.props).onRegisterSelect)==null||s.call(n,null),this.editor.dispose(),this.editor=null)}async doPrettier(){var i,a,c,h;const n=this.props.runningInstances&&Object.keys(this.props.runningInstances).find(g=>{var b;return(b=this.props.runningInstances)==null?void 0:b[g]});if(!n){window.alert(I.I18n.t("No script adapter instance found to format the code"));return}const s=await this.props.socket.sendTo(n.replace("system.adapter.",""),"prettier",{code:(i=this.editor)==null?void 0:i.getValue(),type:this.state.language});s.error?this.setState({showError:{title:I.I18n.t("Error formatting code"),message:mM(s.error)}}):s.code&&((a=this.editor)==null||a.setValue(s.code),(h=(c=this.props).onChange)==null||h.call(c,s.code),this.showDecorators())}setEditorLanguage(n){var i;if(!this.editor)return;const s=this.editor.getModel();if(s){const a=s.getValue(),c=s.uri.path,h=typeof c=="string"&&c.includes(".")?c.substring(0,c.lastIndexOf(".")):"index",g=n==="javascript"?"js":n==="typescript"?"ts":n;s.dispose();const b=n==="javascript"||n==="typescript"?"typescript":n,$=(i=this.monaco)==null?void 0:i.editor.createModel(a,b,this.monaco.Uri.from({scheme:window.location.protocol.replace(":",""),path:`${h}${fM++}.${g}`}));$&&this.editor.setModel($)}}setTypeCheck(n){var i,a;const s={noSemanticValidation:!this.state.alive||!n,noSyntaxValidation:!this.state.alive};(i=this.monaco)==null||i.languages.typescript.typescriptDefaults.setDiagnosticsOptions(s),(a=this.monaco)==null||a.languages.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!this.state.alive||!n,noSyntaxValidation:!this.state.alive})}setEditorTypings(n=""){var c,h,g,b,$,y,w,T;const s=gM(n),i=`${n}.d.ts`,a=[];for(const C of Object.keys(this.typings))s&&(C==="global.d.ts"||C.startsWith("script.js.global")&&C!==i)||a.push({filePath:C,content:this.typings[C]});if((b=(g=(h=(c=this.monaco)==null?void 0:c.languages)==null?void 0:h.typescript)==null?void 0:g.typescriptDefaults)!=null&&b.setExtraLibs)this.monaco.languages.typescript.typescriptDefaults.setExtraLibs(a);else if((T=(w=(y=($=this.monaco)==null?void 0:$.languages)==null?void 0:y.typescript)==null?void 0:w.typescriptDefaults)!=null&&T.addExtraLib){const C=this.monaco.languages.typescript.typescriptDefaults.getExtraLibs();a.forEach(E=>{!C[E.filePath]&&this.monaco&&this.monaco.languages.typescript.typescriptDefaults.addExtraLib(E.content,E.filePath)})}}insertTextIntoEditor(n){if(!this.editor||!this.monaco)return;const s=this.editor.getSelection();if(s){const i=new this.monaco.Range(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn);this.editor.executeEdits("",[{range:i,text:n,forceMoveMarkers:!0}])}this.editor.focus()}highlightText(n){var i;if(!this.editor||!this.monaco)return;const s=n?(i=this.editor.getModel())==null?void 0:i.findMatches(n,!0,!1,!1,null,!0):void 0;if(s!=null&&s.length)s.forEach(a=>{var c;return(c=this.editor)==null?void 0:c.setSelection(a.range)}),this.editor.revealLine(s[0].range.startLineNumber);else{const a=this.editor.getPosition();if(a){const c=a.lineNumber,h=a.column;this.editor.setSelection(new this.monaco.Range(c,h,c,h))}}}showDecorators(){var s;const n=[];if(this.location&&this.monaco&&(n.push({range:new this.monaco.Range(this.location.lineNumber+1,(this.location.columnNumber||0)+1,this.location.lineNumber+1,1e3),options:{isWholeLine:!1,className:this.props.isDark?"monacoCurrentLineDark":"monacoCurrentLine"}}),n.push({range:new this.monaco.Range(this.location.lineNumber+1,0,this.location.lineNumber+1,0),options:{isWholeLine:!0,className:this.props.isDark?"monacoCurrentFullLineDark":"monacoCurrentFullLine"}})),(s=this.breakpoints)==null||s.forEach(i=>{this.monaco&&n.push({range:new this.monaco.Range(i.location.lineNumber+1,0,i.location.lineNumber+1,100),options:{isWholeLine:!0,glyphMarginClassName:this.props.isDark?"monacoBreakPointDark":"monacoBreakPoint"}})}),this.editor){const i=this.editor.getModel();i&&(this.decorations=i.deltaDecorations(this.decorations,n))}}initNewScript(n,s){var i;this.setState({name:n}),this.originalCode=s||"",(i=this.editor)==null||i.setValue(s||""),this.highlightText(this.lastSearch),this.showDecorators(),this.setEditorTypings(n)}scrollToLineIfNeeded(n){if(this.editor){const s=this.editor.getVisibleRanges();(!s||!s[0]||s[0].startLineNumber>n||n>s[0].endLineNumber)&&this.editor.revealLineInCenter(n)}}UNSAFE_componentWillReceiveProps(n){const s={};this.state.name!==n.name&&this.initNewScript(n.name,n.code),JSON.stringify(n.runningInstances)!==this.runningInstancesStr&&(this.runningInstancesStr=JSON.stringify(n.runningInstances),this.state.typingsLoaded||this.loadTypings(n.runningInstances)),this.editor&&!n.changed&&(n.code!==this.originalCode||n.code!==this.editor.getValue())&&(this.originalCode=n.code||"",this.editor.setValue(this.originalCode),this.showDecorators(),this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),n.searchText!==this.lastSearch&&(this.lastSearch=n.searchText||"",this.highlightText(this.lastSearch)),JSON.stringify(n.location)!==JSON.stringify(this.location)&&JSON.stringify(n.breakpoints)!==JSON.stringify(this.breakpoints)?(this.location=n.location||void 0,this.breakpoints=n.breakpoints,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)):JSON.stringify(n.breakpoints)!==JSON.stringify(this.breakpoints)?(this.breakpoints=n.breakpoints,this.showDecorators()):JSON.stringify(n.location)!==JSON.stringify(this.location)&&(this.location=n.location||void 0,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),this.state.language!==(n.language||"javascript")?(this.setState({language:n.language||"javascript"}),s.language=n.language||"javascript"):this.state.readOnly!==(n.readOnly||!1)?(this.setState({readOnly:n.readOnly||!1}),s.readOnly=n.readOnly):this.state.isDark!==(n.isDark||!1)&&(this.setState({isDark:n.isDark||!1}),s.isDark=n.isDark),this.setEditorOptions(s),this.insert!==n.insert&&(this.insert=n.insert||"",this.insert&&(console.log(`Insert text: ${this.insert}`),setTimeout(i=>{this.insertTextIntoEditor(i),setTimeout(()=>this.props.onInserted&&this.props.onInserted(),100)},100,this.insert)))}onChange(){var n,s;!this.props.readOnly&&this.editor&&((s=(n=this.props).onChange)==null||s.call(n,this.editor.getValue()))}renderErrorDialog(){return this.state.showError?this.state.showError.full?f.jsxs(D.Dialog,{open:!0,maxWidth:"md",onClose:()=>this.setState({showError:null}),children:[f.jsx(D.DialogTitle,{children:this.state.showError.title||I.I18n.t("Error")}),f.jsx(D.DialogContent,{children:f.jsx("pre",{children:f.jsx("code",{children:this.state.showError.message})})}),f.jsx(D.DialogActions,{children:f.jsxs(D.Button,{variant:"contained",startIcon:f.jsx(Xl,{}),onClick:()=>this.setState({showError:null}),children:[I.I18n.t("Close")," "]})})]}):f.jsx(D.Snackbar,{open:!0,autoHideDuration:5e3,onClose:()=>this.setState({showError:null}),message:this.state.showError.title,action:f.jsxs(We.Fragment,{children:[f.jsx(D.Button,{color:"secondary",size:"small",onClick:()=>this.setState({showError:{...this.state.showError,full:!0}}),children:I.I18n.t("More")}),f.jsx(D.IconButton,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({showError:null}),children:f.jsx(Xl,{fontSize:"small"})})]})}):null}render(){var n,s,i;return!((i=(s=(n=this.monaco)==null?void 0:n.languages)==null?void 0:s.typescript)!=null&&i.typescriptDefaults)||!this.props.runningInstances?(setTimeout(()=>{this.monaco=window.monaco,this.forceUpdate()},200),null):(this.props.triggerPrettier!==this.triggerPrettier&&(this.triggerPrettier=this.props.triggerPrettier,setTimeout(()=>this.doPrettier().catch(a=>console.error("Error formatting code:",a)),50)),f.jsxs("div",{ref:this.monacoDiv,style:{...this.props.style,width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:[this.renderErrorDialog(),!this.state.check&&f.jsx(D.Fab,{size:"small",title:I.I18n.t("Check is not active, because javascript adapter is disabled"),style:{bottom:10,right:10,opacity:.5,position:"absolute",zIndex:1,background:"red",color:"white"},color:"secondary",children:f.jsx(GI,{})})]}))}}var Mw={exports:{}},bM=Mw.exports;(function(o,n){(function(s,i){o.exports=i()})(bM,function(){var s={},i,a,c,h,g,b,$,y,w,T,C,E,k,A,P,N,B,S,H,q,se,ee,K,Y,X,ce,W,te,ke,Z,ze,Ce,at,he,Ae,de,Se,xe,He,ne,Ke,Te,Je,rt,ht,nt,Wt,St,lt,ft,st,At,mn,Ue,Nt,wt,qt,ct,me,ge,ue,we,Ve,re,Fe,It,pt,En,mt,Cn,$n,zn,Jn,Gs,ns,Rn,Kt,Pn,cs,Ks,jn,Un,Rs,ii,Ir,ec,xr,Ka,tc,nc,Tu,Yo,z,U,R,j,F,pe,Ee,_e,ae,je,it,Ft,Yt,on,Lt,an,_n,Tt,In,ss,Js,Xo,Dr,ho,Ts,tn,qs,Oi,rs,Ms,po,Zo,Ri,go,fo,oi,Mi,ku,Ja,Qo,Nh,sc,Xf,ea,Lh,Eu,rc,Bh,Ph,Zf,ic,qa,Iu,Qf,jh,oc,em,tm,ta,nm,ac,Qt,Sn,sm,rm,im,om,am,lm,xu,Ni,Wn,lc,mo,Fh,Du,hr,zh,Uh,Wh,Hh,Vh,Au,Ys,Ya,Ns,cm,na,ai,Xa,cc,wn,Kr,uc,um,dc,Gh,Kh,Jh,Ou,Za,bo,dm,Qa,Ru,el,tl,Jr,qh,hc,sa,Yh,Mu,Xs,nl,ra,Xh,Zh,hm,pm,gm,sl,Qh,$o,rl,Nu,Lu,ep,li,il,Li,tp,np,ia,Ar,sp,fm,rp,mm,ip,bm,Or,ie,De,be,et,xt,rn,qn,kt,Bu,ol,us,pc,op,Bi,Pi,al,nn,gc,Pu,ll,$m,vm,ym,cl,ji,ul,dl,fc,ap,lp,mc,hl,oa,Fi,aa,ju,_m,bc,pl,vo,Fu,wm,zi,cp,ci,Xn,fs,up,Cm,yo,dp,zu,gl,Uu,la,fl,ca,$c,ua,Wu,Sm,Tm,hp,Hu,ml,_o,Vu,M,qr,ui,Zn,Ot,km,Em,Im,Ui,Gu,xm,Dm,Am,pp,Rr,gp,Ku,Om,Rm,Mm,di,ut,Zs,is,xn,hi,Mr,tt,Hn,pr,Nm,wo,Ju,qu,fp,mp,Yu,Xu,bp,vc,bl,$l,Lm,yc,Bm,pi,Zu,Co,gr,$p,vp,vl,Wi,Hi,Qu,yp,yl,_p,_c,os,ed,wp,Yr,So,_l,To,wc,Dn,td,ko,Cp,Pm,da,Sp,ha,nd,Tp,kp,pa,Ep,Ip,Cc,sd,jm,Fm,zm,xp,rd,Um,wl,Dp,Ap,id,Cl,Op,od,ad,Rp,ld,cd,ga,ud,dd,Mp,Sc,Ht,Np,Lp,fa,hd,Bp,Pp,Qs,Wm,Tc,pd,gd,jp,er,Vi,fd,Fp,Re;i=function(e,t,r,l){if(!(e instanceof Be)&&typeof e!="string"||`${e}`.trim()==="")throw Error('Invalid type "'+e+'". The type must be a non-empty string or a Blockly.registry.Type.');if(e=`${e}`.toLowerCase(),typeof t!="string"||t.trim()==="")throw Error('Invalid name "'+t+'". The name must be a non-empty string.');const p=t.toLowerCase();if(!r)throw Error("Can not register a null value");let v=Gi[e],O=kc[e];if(v||(v=Gi[e]=Object.create(null),O=kc[e]=Object.create(null)),a(e,r),!l&&v[p]&&v[p]!==r)throw Error('Name "'+p+'" with type "'+e+'" already registered.');v[p]=r,O[p]=t},a=function(e,t){switch(e){case String(Be.FIELD):if(typeof t.fromJson!="function")throw Error('Type "'+e+'" must have a fromJson function')}},c=function(e,t){e=`${e}`.toLowerCase(),t=t.toLowerCase();const r=Gi[e];r&&r[t]?(delete Gi[e][t],delete kc[e][t]):console.warn("Unable to unregister ["+t+"]["+e+"] from the registry.")},h=function(e,t,r){e=`${e}`.toLowerCase(),t=t.toLowerCase();const l=Gi[e];if(!l||!l[t]){if(t="Unable to find ["+t+"]["+e+"] in the registry.",r)throw Error(t+" You must require or register a "+e+" plugin.");return console.warn(t),null}return l[t]},g=function(e,t){return e=`${e}`.toLowerCase(),t=t.toLowerCase(),(e=Gi[e])?!!e[t]:!1},b=function(e,t,r){return h(e,t,r)},$=function(e,t,r){return h(e,t,r)},y=function(e,t,r){e=`${e}`.toLowerCase();var l=Gi[e];if(!l){if(l=`Unable to find [${e}] in the registry.`,r)throw Error(`${l} You must require or register a ${e} plugin.`);return console.warn(l),null}if(!t)return l;e=kc[e],r=Object.create(null);for(const p of Object.keys(l))r[e[p]]=l[p];return r},w=function(e,t,r){return t=t.plugins[String(e)]||Nr,typeof t=="function"?t:b(e,t,r)},T=function(e,t,r,l){e=e+" was deprecated in "+t+" and will be deleted in "+r+".",l&&(e+=` -Use `+l+" instead."),Wp.has(e)||(Wp.add(e),console.warn(e))},C=function(){return"blockly-"+(ty++).toString(36)},E=function(){return Vm.genUid()},k=function(e){return e.type===fe.BLOCK_CREATE},A=function(e){return e.type===fe.BLOCK_DELETE},P=function(e){return e.type===fe.BLOCK_CHANGE},N=function(e){return e.type===fe.BLOCK_FIELD_INTERMEDIATE_CHANGE},B=function(e){return e.type===fe.BLOCK_MOVE},S=function(e){return e.type===fe.CLICK},H=function(e){return e.type===fe.BUBBLE_OPEN},q=function(e){return e.type===fe.VIEWPORT_CHANGE},s.setRecordUndo$$module$build$src$core$events$utils=function(e){Ec=e},se=function(){return Ec},ee=function(e){Xr.fireInternal(e)},K=function(e){if(te()){if(!Vn.length)try{requestAnimationFrame(()=>{setTimeout(Y,0)})}catch{setTimeout(Y,0)}X(e)}},Y=function(){const e=ce(Vn,!0);Vn.length=0;for(const t of e){if(!t.workspaceId)continue;let r;(r=he(t.workspaceId))==null||r.fireChangeListener(t)}},X=function(e){if(P(e)&&e.element==="mutation"){let t;for(t=Vn.length;0!l.isNull()),t||e.reverse(),e},W=function(){for(let e=0,t;t=Vn[e];e++)t.recordUndo=!1},s.disable$$module$build$src$core$events$utils=function(){$d++},s.enable$$module$build$src$core$events$utils=function(){$d--},te=function(){return $d===0},s.getGroup$$module$build$src$core$events$utils=function(){return Hp},s.setGroup$$module$build$src$core$events$utils=function(e){Xr.setGroupInternal(e)},ke=function(e){Hp=typeof e=="boolean"?e?E():"":e},Z=function(e){const t=[];e=e.getDescendants(!1);for(let r=0,l;l=e[r];r++)t[r]=l.id;return t},ze=function(e,t){const r=Ce(e.type);if(!r)throw Error("Unknown event type.");return r.fromJson(e,t)},Ce=function(e){const t=b(Be.EVENT,e);if(!t)throw Error(`Event type ${e} not found in registry.`);return t},at=function(e){if((B(e)||k(e))&&e.workspaceId){var t=he(e.workspaceId);if(!e.blockId)throw Error("Encountered a blockEvent without a proper blockId");if(e=t.getBlockById(e.blockId)){const r=Ec;try{Ec=!1;const l=e.getParent();if(l&&!l.hasDisabledReason(vd)){const p=e.getDescendants(!1);for(let v=0,O;O=p[v];v++)O.setDisabledReason(!1,vd)}else if((e.outputConnection||e.previousConnection)&&!t.isDragging())do e.setDisabledReason(!0,vd),e=e.getNextBlock();while(e)}finally{Ec=r}}}},he=function(e){return Ic[e]||null},Ae=function(){const e=[];for(const t in Ic)e.push(Ic[t]);return e},de=function(e){Ic[e.id]=e},Se=function(e){delete Ic[e.id]},xe=function(){return Gm},He=function(e){Gm=e},ne=function(){return gi},s.setSelected$$module$build$src$core$common=function(e){if(gi!==e){var t,r,l,p,v,O,G=new(Ce(fe.SELECTED))((l=(t=gi)==null?void 0:t.id)!=null?l:null,(p=e==null?void 0:e.id)!=null?p:null,(O=(v=e==null?void 0:e.workspace.id)!=null?v:(r=gi)==null?void 0:r.workspace.id)!=null?O:"");ee(G);var Ie;(Ie=gi)==null||Ie.unselect(),gi=e;var Qe;(Qe=gi)==null||Qe.select()}},Ke=function(){return ma},Te=function(e){ma=e},Je=function(e){for(;e.options.parentWorkspace;)e=e.options.parentWorkspace;const t=e.getParentSvg(),r=e.getCachedParentSvgSize();var l=t.parentElement;if(l instanceof HTMLElement){var p=l.offsetWidth;l=l.offsetHeight,r.width!==p&&(t.setAttribute("width",p+"px"),e.setCachedParentSvgSize(p,null)),r.height!==l&&(t.setAttribute("height",l+"px"),e.setCachedParentSvgSize(null,l)),e.resize()}},rt=function(e,t){const r=Object.create(null),l=e.getDescendants(!0);t&&(e=e.getNextBlock())&&(e=l.indexOf(e),l.splice(e,l.length-e));for(let p=0,v;v=l[p];p++)r[v.type]?r[v.type]++:r[v.type]=1;return r},ht=function(e){return function(){this.jsonInit(e)}},nt=function(e){Vp.defineBlocksWithJsonArrayInternal(e)},Wt=function(e){s.defineBlocks$$module$build$src$core$common(s.createBlockDefinitionsFromJsonArray$$module$build$src$core$common(e))},s.createBlockDefinitionsFromJsonArray$$module$build$src$core$common=function(e){const t={};for(let r=0;r>>/g,e),Mc="",e=document.createElement("style"),e.id="blockly-common-style",t=document.createTextNode(t),e.appendChild(t),document.head.insertBefore(e,document.head.firstChild)))},re=function(e,t,r){e=document.createElementNS(Nc,`${e}`);for(const l in t)e.setAttribute(l,`${t[l]}`);return r&&r.appendChild(e),e},Fe=function(e,t){return t=t.split(" "),t.every(r=>e.classList.contains(r))?!1:(e.classList.add(...t),!0)},It=function(e,t){e.classList.remove(...t.split(" "))},pt=function(e,t){return t=t.split(" "),t.every(r=>!e.classList.contains(r))?!1:(e.classList.remove(...t),!0)},En=function(e,t){return e.classList.contains(t)},mt=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null},Cn=function(e,t){const r=t.nextSibling;if(t=t.parentNode,!t)throw Error("Reference node has no parent.");r?t.insertBefore(e,r):t.appendChild(e)},$n=function(e,t){e.style.transform=t,e.style["-webkit-transform"]=t},zn=function(){ng++,Lr||(Lr=Object.create(null))},Jn=function(){ng--,ng||(Lr=null)},Gs=function(e){const t=e.textContent+` -`+e.className.baseVal;let r;if(Lr&&(r=Lr[t]))return r;try{r=e.getComputedTextLength()}catch{return 8*e.textContent.length}return Lr&&(Lr[t]=r),r},ns=function(e,t,r,l){return Rn(e,t+"pt",r,l)},Rn=function(e,t,r,l){const p=e.textContent;e=p+` -`+e.className.baseVal;var v;return Lr&&(v=Lr[e])||(Cd||(v=document.createElement("canvas"),v.className="blocklyComputeCanvas",document.body.appendChild(v),Cd=v.getContext("2d")),Cd.font=r+" "+t+" "+l,v=p?Cd.measureText(p).width:0,Lr&&(Lr[e]=v)),v},Kt=function(e,t,r,l){const p=document.createElement("span");p.style.font=r+" "+t+" "+l,p.textContent=e,e=document.createElement("div"),e.style.width="1px",e.style.height="0",t=document.createElement("div"),t.style.display="flex",t.style.position="fixed",t.style.top="0",t.style.left="0",t.appendChild(p),t.appendChild(e),document.body.appendChild(t),r={height:0,baseline:0};try{t.style.alignItems="baseline",r.baseline=e.offsetTop-p.offsetTop,t.style.alignItems="flex-end",r.height=e.offsetTop-p.offsetTop}finally{document.body.removeChild(t)}return r},Pn=function(e){return Xm.getSizeInternal(e)},cs=function(e){if(jn(e,"display")!=="none")return Ks(e);const t=e.style,r=t.display,l=t.visibility,p=t.position;t.visibility="hidden",t.position="absolute",t.display="inline";const v=e.offsetWidth;return e=e.offsetHeight,t.display=r,t.position=p,t.visibility=l,new Jt(v,e)},Ks=function(e){return new Jt(e.offsetWidth,e.offsetHeight)},jn=function(e,t){return e=window.getComputedStyle(e),e[t]||e.getPropertyValue(t)},Un=function(e){const t=new Le(0,0);e=e.getBoundingClientRect();var r=document.documentElement;return r=new Le(window.pageXOffset||r.scrollLeft,window.pageYOffset||r.scrollTop),t.x=e.left+r.x,t.y=e.top+r.y,t},Rs=function(){const e=document.body,t=document.documentElement;return new Le(e.scrollLeft||t.scrollLeft,e.scrollTop||t.scrollTop)},ii=function(e){const t=parseFloat(jn(e,"borderLeftWidth")),r=parseFloat(jn(e,"borderRightWidth")),l=parseFloat(jn(e,"borderTopWidth"));return e=parseFloat(jn(e,"borderBottomWidth")),new Bt(l,e,t,r)},Ir=function(e,t,r){e=ec(e,t,r),t.scrollLeft=e.x,t.scrollTop=e.y},ec=function(e,t,r){var l=Un(e),p=Un(t),v=ii(t);const O=l.x-p.x-v.left;return l=l.y-p.y-v.top,p=Ks(e),e=t.clientWidth-p.width,p=t.clientHeight-p.height,v=t.scrollLeft,t=t.scrollTop,r?(v+=O-e/2,t+=l-p/2):(v+=Math.min(O,Math.max(O-e,0)),t+=Math.min(l,Math.max(l-p,0))),new Le(v,t)},xr=function(e){const t=new Le(0,0);var r=e.x&&e.getAttribute("x");const l=e.y&&e.getAttribute("y");return r&&(t.x=parseInt(r)),l&&(t.y=parseInt(l)),(r=(r=e.getAttribute("transform"))&&r.match(Zm))&&(t.x+=Number(r[1]),r[3]&&(t.y+=Number(r[3]))),(e=e.getAttribute("style"))&&e.includes("translate")&&(e=e.match(Qm))&&(t.x+=Number(e[1]),e[3]&&(t.y+=Number(e[3]))),t},Ka=function(e){let t=0,r=0;for(;e;){const l=xr(e);if(t+=l.x,r+=l.y,(" "+(e.getAttribute("class")||"")+" ").includes(" injectionDiv "))break;e=e.parentNode}return new Le(t,r)},tc=function(){const e=Rs();return new Bt(e.y,document.documentElement.clientHeight+e.y,e.x,document.documentElement.clientWidth+e.x)},nc=function(){const e=document.documentElement,t=window;return new Le(t.pageXOffset||e.scrollLeft,t.pageYOffset||e.scrollTop)},Tu=function(e,t){var r=t.x;t=t.y;const l=e.getInjectionDiv().getBoundingClientRect();return r=new Le(r-l.left,t-l.top),t=e.getOriginOffsetInPixels(),Le.difference(r,t).scale(1/e.scale)},Yo=function(e,t){var r=t.scale(e.scale);t=r.x,r=r.y;const l=e.getInjectionDiv().getBoundingClientRect();return e=e.getOriginOffsetInPixels(),new Le(t+l.left+e.x,r+l.top+e.y)},z=function(e){({document:Td=Td,DOMParser:Bc=Bc,XMLSerializer:El=El}=e),Sd=new Bc,sg=new El},s.createElement$$module$build$src$core$utils$xml=function(e){return Td.createElementNS(rg,e)},s.createTextNode$$module$build$src$core$utils$xml=function(e){return Td.createTextNode(e)},s.textToDom$$module$build$src$core$utils$xml=function(e){let t=Sd.parseFromString(e,"text/xml");if(t&&t.documentElement&&!t.getElementsByTagName("parsererror").length)return t.documentElement;if((t=Sd.parseFromString(e,"text/html"))&&t.body.firstChild&&t.body.firstChild.nodeName.toLowerCase()==="xml")return t.body.firstChild;throw Error(`DOMParser was unable to parse: ${e}`)},U=function(e){return R(sg.serializeToString(e))},R=function(e){return e.replace(ny,t=>`&#${t.charCodeAt(0)};`)},j=function(e){return e?((e instanceof Element||typeof e=="string")&&(e=Yt(e),e=je(e)),F(e),e):null},F=function(e){const t=e.kind;if(e=e.contents,t&&t!==Il&&t!==kd)throw Error("Invalid toolbox kind "+t+". Please supply either "+Il+" or "+kd);if(!e)throw Error("Toolbox must have a contents attribute.")},pe=function(e){return e?e.contents?e.contents:Array.isArray(e)&&0r.kind.toUpperCase()==="CATEGORY").length},ae=function(e){return e&&e.contents?!!e.contents.filter(function(t){return t.kind.toUpperCase()==="CATEGORY"}).length:!1},je=function(e){const t={contents:it(e)};return e instanceof Node&&Ft(e,t),t},it=function(e){const t=[];let r=e.childNodes;r||(r=e);for(let l=0,p;p=r[l];l++){if(!p.tagName)continue;e={};const v=p.tagName.toUpperCase();e.kind=v,v==="BLOCK"?e.blockxml=p:p.childNodes&&0 document.")}else e instanceof Element&&(t=e);return t},on=function(e,t,r,l,p,v){const O=v.scrollbar&&v.scrollbar.canScrollVertically();return e.horizontal===wa.LEFT?(r=p.absoluteMetrics.left+r,O&&v.RTL&&(r+=Fn.scrollbarThickness)):(r=p.absoluteMetrics.left+p.viewMetrics.width-t.width-r,O&&!v.RTL&&(r-=Fn.scrollbarThickness)),e.vertical===Br.TOP?e=p.absoluteMetrics.top+l:(e=p.absoluteMetrics.top+p.viewMetrics.height-t.height-l,v.scrollbar&&v.scrollbar.canScrollHorizontally()&&(e-=Fn.scrollbarThickness)),new Bt(e,e+t.height,r,r+t.width)},Lt=function(e,t){return{horizontal:t.toolboxMetrics.position===Rt.LEFT||e.horizontalLayout&&!e.RTL?wa.RIGHT:wa.LEFT,vertical:t.toolboxMetrics.position===Rt.BOTTOM?Br.TOP:Br.BOTTOM}},an=function(e,t,r,l){const p=e.left,v=e.right-e.left,O=e.bottom-e.top;for(let G=0;Gv.id!==e.id).map(v=>v.getRelativeToSurfaceXY());for(;ho(Le.sum(r,l),p);)l.translate(t.RTL?-30:30,30);e.moveTo(Le.sum(r,l))},ho=function(e,t){return t.some(r=>1>=Math.abs(r.x-e.x)&&1>=Math.abs(r.y-e.y))},Ts=function(e,t){e.setAttribute(ob,t)},tn=function(e,t,r){Array.isArray(r)&&(r=r.join(" ")),e.setAttribute(ib+t,`${r}`)},qs=function(e){return e.saveState!==void 0&&e.loadState!==void 0},Oi=function(e){return Zo(e),po()?(Ri(),Promise.resolve()):(xl||(xl=new Promise(t=>{hg=t,ab=window.requestAnimationFrame(()=>{Ri(),t()})})),xl)},rs=function(){return xl||Promise.resolve()},Ms=function(e){e||window.cancelAnimationFrame(ab),Ri(e),!e&&hg&&hg()},po=function(){return Ym},Zo=function(e){dg.add(e),sr.set(e,s.getGroup$$module$build$src$core$events$utils());const t=e.getParent();t?Zo(t):Ad.add(e)},Ri=function(e){const t=e?new Set([e]):new Set([...Ad].map(v=>v.workspace)),r=[...Ad].filter(fo).filter(v=>t.has(v.workspace));for(var l of r)oi(l);for(const v of t)v.resizeContents();for(var p of r)l=p.getRelativeToSurfaceXY(),p.updateComponentLocations(l);for(const v of r)p=s.getGroup$$module$build$src$core$events$utils(),(l=sr.get(v))&&s.setGroup$$module$build$src$core$events$utils(l),v.bumpNeighbours(),s.setGroup$$module$build$src$core$events$utils(p);for(const v of r)go(v);e||(xl=null)},go=function(e){Ad.delete(e),dg.delete(e),sr.delete(e);for(const t of e.getChildren(!1))go(t)},fo=function(e){return!e.isDisposed()&&!e.getParent()},oi=function(e){if(dg.has(e)&&e.initialized){for(const t of e.getChildren(!1))oi(t);e.renderEfficiently()}},Mi=function(e,t){lb(e,t)},ku=function(e){lb=e},Ja=function(e,t){db.confirmInternal(e,t)},Qo=function(e,t){cb(e,t)},Nh=function(e){cb=e},sc=function(e,t,r){ub(e,t,r)},Xf=function(e){ub=e},ea=function(e){return e.getProcedureDef!==void 0},Lh=function(e){return e.getProcedureCall!==void 0&&e.renameProcedure!==void 0},Eu=function(e){return e.getVariableModel!==void 0},s.allUsedVarModels$$module$build$src$core$variables=function(e){e=e.getAllBlocks(!1);const t=new Set;for(let r=0;r1'),l.appendChild(r),t.push(l)),tr.variables_get){e.sort(Uc.compareByName);for(let p=0,v;v=e[p];p++)r=s.createElement$$module$build$src$core$utils$xml("block"),r.setAttribute("type","variables_get"),r.setAttribute("gap","8"),r.appendChild(ta(v)),t.push(r)}}return t},Ph=function(e){return pb.generateUniqueNameInternal(e)},Zf=function(e){return ic(mg.charAt(0),e.getAllVariableNames())},ic=function(e,t){if(!t.length)return e;const r=mg;let l="",p=r.indexOf(e);for(;;){let v=!1;for(let O=0;Ov.getVariableModel().name);if(l&&(r=l.some(v=>v.toLowerCase()===e),l=l.some(v=>v.toLowerCase()===t),r&&l))return p.getName()}return null},tm=function(e,t,r){e=e.toLowerCase(),t=t.toLowerCase(),r=r.getAllBlocks(!1);for(const p of r){if(!ea(p))continue;r=p.getProcedureDef();var l=r[1];const v=l.some(O=>O.toLowerCase()===e);if(l=l.some(O=>O.toLowerCase()===t),v&&l)return r[0]}return null},ta=function(e){const t=s.createElement$$module$build$src$core$utils$xml("field");return t.setAttribute("name","VAR"),t.setAttribute("id",e.getId()),t.setAttribute("variabletype",e.type),e=s.createTextNode$$module$build$src$core$utils$xml(e.name),t.appendChild(e),t},s.getOrCreateVariablePackage$$module$build$src$core$variables=function(e,t,r,l){let p=s.getVariable$$module$build$src$core$variables(e,t,r,l);return p||(p=nm(e,t,r,l)),p},s.getVariable$$module$build$src$core$variables=function(e,t,r,l){const p=e.getPotentialVariableMap();let v=null;if(t&&(v=e.getVariableById(t),!v&&p&&(v=p.getVariableById(t)),v))return v;if(r){if(l===void 0)throw Error("Tried to look up a variable by name without a type");v=e.getVariable(r,l),!v&&p&&(v=p.getVariable(r,l))}return v},nm=function(e,t,r,l){const p=e.getPotentialVariableMap();return r||(r=Ph(e.isFlyout?e.targetWorkspace:e)),p?p.createVariable(r,l,t):e.createVariable(r,l,t)},ac=function(e,t){e=e.getAllVariables();const r=[];if(t.length!==e.length)for(let l=0;l{Ie.disposed||Ie.setConnectionTracking(!0)},1)}return G},lc=function(e,t,{parentConnection:r,isShadow:l=!1}={}){if(!e.type)throw new gb(e);const p=t.newBlock(e.type,e.id);return p.setShadow(l),Fh(p,e),Du(p,e),hr(p,e),zh(r,p,e),Uh(p,e),Wh(p,e),Hh(p,e),Vh(p,e),Ys(p,t.rendered),p},mo=function(e,t){if(te())for(e=ac(e,t),t=0;tt&&(t=r[l].length);var p=-1/0;let v,O=1;do{l=p,v=e,e=[],p=r.length/O;let G=1;for(let Ie=0;Iel);return v},nl=function(e,t,r){const l=[0],p=[];for(var v=0;vl&&(l=G,p=O)}return p?ra(e,p,r):t},Xh=function(e,t){const r=[];for(let l=0;lSb&&Li()}else Ml!==mr&&(clearTimeout(Ia),_g=e.pageX,wg=e.pageY,Ia=setTimeout(fm,Tb))},il=function(){Ml=mr=null,Li()},Li=function(){Kc&&(Kc=!1,es&&(es.style.display="none")),Ia&&(clearTimeout(Ia),Ia=0)},tp=function(){Li(),Rl=!0},np=function(){Rl=!1},ia=function(){es&&mr&&(typeof Md=="function"?Md(es,mr):Ar())},Ar=function(){var e=sl(mr);e=s.wrap$$module$build$src$core$utils$string(e,wb),e=e.split(` -`);for(let t=0;tr+window.scrollY&&(p-=es.offsetHeight+2*Sg),e?l=Math.max(xa-window.scrollX,l):l+es.offsetWidth>t+window.scrollX-2*xa&&(l=t-es.offsetWidth-2*xa),{x:l,y:p}},fm=function(){if(!Rl&&(Ml=mr,es)){es.textContent="",ia();var e=mr.RTL;es.style.direction=e?"rtl":"ltr",es.style.display="block",Kc=!0;var{x:t,y:r}=sp(e);es.style.left=t+"px",es.style.top=r+"px"}},rp=function(){return Tg},mm=function(e){Tg=e},ip=function(){return kg},bm=function(e){kg=e},Or=function(e){e=`${e}`.toLowerCase().trim();var t=kb[e];if(t||(t=e.substring(0,2)==="0x"?"#"+e.substring(2):e,t=t[0]==="#"?t:"#"+t,/^#[0-9a-f]{6}$/.test(t)))return t;if(/^#[0-9a-f]{3}$/.test(t))return["#",t[1],t[1],t[2],t[2],t[3],t[3]].join("");var r=e.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return r&&(e=Number(r[1]),t=Number(r[2]),r=Number(r[3]),0<=e&&256>e&&0<=t&&256>t&&0<=r&&256>r)?ie(e,t,r):null},ie=function(e,t,r){return t=e<<16|t<<8|r,16>e?"#"+(16777216|t).toString(16).substr(1):"#"+t.toString(16)},De=function(e){return e=Or(e),e?(e=parseInt(e.substr(1),16),[e>>16,e>>8&255,e&255]):[0,0,0]},be=function(e,t,r){let l=0,p=0,v=0;if(t===0)v=p=l=r;else{const O=Math.floor(e/60),G=e/60-O;e=r*(1-t);const Ie=r*(1-t*G);switch(t=r*(1-t*(1-G)),O){case 1:l=Ie,p=r,v=e;break;case 2:l=e,p=r,v=t;break;case 3:l=e,p=Ie,v=r;break;case 4:l=t,p=e,v=r;break;case 5:l=r,p=e,v=Ie;break;case 6:case 0:l=r,p=t,v=e}}return ie(Math.floor(l),Math.floor(p),Math.floor(v))},et=function(e,t,r){return e=Or(e),!e||(t=Or(t),!t)?null:(e=De(e),t=De(t),ie(Math.round(t[0]+r*(e[0]-t[0])),Math.round(t[1]+r*(e[1]-t[1])),Math.round(t[2]+r*(e[2]-t[2]))))},xt=function(e){return be(e,Tg,255*kg)},rn=function(e,t,r){const l=[];var p=e.split("");p.push("");var v=0;e=[];let O=null;for(let Qe=0;Qe=G?(v=2,O=G,(G=e.join(""))&&l.push(G),e.length=0):G==="{"?v=3:(e.push("%",G),v=0);else if(v===2)if("0"<=G&&"9">=G)O+=G;else{var Ie=void 0;l.push(parseInt((Ie=O)!=null?Ie:"",10)),Qe--,v=0}else v===3&&(G===""?(e.splice(0,0,"%{"),Qe--,v=0):G!=="}"?e.push(G):(v=e.join(""),/[A-Z]\w*/i.test(v)?(G=v.toUpperCase(),(G=G.startsWith("BKY_")?G.substring(4):null)&&G in s.Msg$$module$build$src$core$msg?(v=s.Msg$$module$build$src$core$msg[G],typeof v=="string"?Array.prototype.push.apply(l,rn(v,t,r)):t?l.push(`${v}`):l.push(v)):l.push("%{"+v+"}")):l.push("%{"+v+"}"),v=e.length=0))}for((t=e.join(""))&&l.push(t),Ie=[],e.length=0,p=0;p=r)return{hue:r,hex:be(r,rp(),255*ip())};if(r=Or(t))return{hue:null,hex:r};throw r='Invalid colour: "'+t+'"',e!==t&&(r+=' (from "'+e+'")'),Error(r)},us=function(){return $r},pc=function(e){if($r=e,e===null){let t;(t=document.querySelector("."+Nd))==null||t.remove()}},op=function(){const e=Ke()||document.body;document.querySelector("."+Nd)?$r=document.querySelector("."+Nd):($r=document.createElement("div"),$r.className=Nd),e.appendChild($r)},Bi=function(e,t,r,l){if(Pi(),Nl=e,Da=r,r=$r){if(r.style.direction=t?"rtl":"ltr",r.style.display="block",!l&&e instanceof vn){let O;l=(O=e.getSourceBlock())==null?void 0:O.workspace}var p;Eg=(p=l)!=null?p:null;var v;e=(v=l)!=null?v:xe(),Aa=e.getRenderer().getClassName(),Oa=e.getTheme().getClassName(),Aa&&Fe(r,Aa),Oa&&Fe(r,Oa)}},Pi=function(){if(al()){Nl=null;var e=$r;e&&(e.style.display="none",e.style.left="",e.style.top="",Da&&Da(),Da=null,e.textContent="",Aa&&(pt(e,Aa),Aa=""),Oa&&(pt(e,Oa),Oa=""),xe().markFocused())}},al=function(){return!!Nl},nn=function(e){Nl===e&&Pi()},gc=function(e){Eg!==null&&Eg!==e||Pi()},Pu=function(e,t,r){$r.style.left=e+"px",$r.style.top=t+"px",$r.style.height=r+"px"},ll=function(e,t,r,l){const p=vm(e,t,r);e=$m(e,t,r,l),0>p?Pu(e,0,r.height+p):Pu(e,p,r.height)},$m=function(e,t,r,l){return l?Math.min(Math.max(t.right-r.width,e.left),e.right-r.width):Math.max(Math.min(t.left,e.right-r.width),e.left)},vm=function(e,t,r){return t.bottom+r.height>=e.bottom?t.top-r.height:t.bottom},ym=function(e){return!(e==null||!e.repositionForWindowResize)},cl=function(){ym(Nl)&&Nl.repositionForWindowResize()||Pi()},ji=function(){return qc},ul=function(e){qc=e},dl=function(e,t,r,l){if(Bi(Ig,r,oa,l),t.length){var p=fc(t,r,e);Yc=p,ap(p,e,r),setTimeout(function(){p.focus()},1),qc=null}else hl()},fc=function(e,t,r){const l=new ug;l.setRole(Pr.MENU);for(let p=0;p{setTimeout(()=>{v.callback(v.scope,r)},0)})},{})}return l},ap=function(e,t,r){const l=tc();t=new Bt(t.clientY+l.top,t.clientY+l.top,t.clientX+l.left,t.clientX+l.left),lp(e);const p=e.getSize();r&&(t.left+=p.width,t.right+=p.width,l.left+=p.width,l.right+=p.width),ll(l,t,p,r),e.focus()},lp=function(e){var t=us();if(!t)throw Error("Attempting to create a context menu when widget div is null");t=e.render(t),Fe(t,"blocklyContextMenu"),Ue(t,"contextmenu",null,mc),e.focus()},mc=function(e){e.preventDefault(),e.stopPropagation()},hl=function(){nn(Ig),qc=null},oa=function(){Yc&&(Yc.dispose(),Yc=null)},s.callbackFactory$$module$build$src$core$contextmenu=function(e,t){return()=>{s.disable$$module$build$src$core$events$utils();let r;try{r=t instanceof Element?yo(t,e.workspace):Wn(t,e.workspace);const l=e.getRelativeToSurfaceXY();l.x=e.RTL?l.x-s.config$$module$build$src$core$config.snapRadius:l.x+s.config$$module$build$src$core$config.snapRadius,l.y+=2*s.config$$module$build$src$core$config.snapRadius,r.moveBy(l.x,l.y)}finally{s.enable$$module$build$src$core$events$utils()}return te()&&!r.isShadow()&&ee(new(Ce(fe.BLOCK_CREATE))(r)),s.setSelected$$module$build$src$core$common(r),r}},Fi=function(e,t){return t=me(t,e.getParentSvg(),e.getInverseScreenCTM()),t.x/=e.scale,t.y/=e.scale,t},aa=function(e,t,r){t=Fi(e,t),Ib.set(e,Le.difference(r,t))},ju=function(e,t){if(t=Fi(e,t),e=Ib.get(e),!e)throw Error("Drag not initialized");return Le.sum(e,t)},_m=function(e,t=!1){const r=s.createElement$$module$build$src$core$utils$xml("xml");var l=pl(s.allUsedVarModels$$module$build$src$core$variables(e));l.hasChildNodes()&&r.appendChild(l);for(const p of e.getTopComments())r.appendChild(bc(p,t));for(e=e.getTopBlocks(!0),l=0;l/g,"<$1$2>")},Xn=function(e){e=ci(e).split("<");let t="";for(let r=1;r"&&(t+=" ")}return e=e.join(` -`),e=e.replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1"),e.replace(/^\n/,"")},fs=function(e,t){return t.setResizesEnabled(!1),t.clear(),e=s.domToWorkspace$$module$build$src$core$xml(e,t),t.setResizesEnabled(!0),e},s.domToWorkspace$$module$build$src$core$xml=function(e,t){let r=0;t.RTL&&(r=t.getWidth());const l=[];zn();const p=s.getGroup$$module$build$src$core$events$utils();p||s.setGroup$$module$build$src$core$events$utils(!0),t.setResizesEnabled&&t.setResizesEnabled(!1);let v=!0;try{for(let O=0,G;G=e.childNodes[O];O++){const Ie=G.nodeName.toLowerCase(),Qe=G;if(Ie==="block"||Ie==="shadow"&&!se()){const Mn=yo(Qe,t);l.push(Mn.id);let On;const Vr=parseInt((On=Qe.getAttribute("x"))!=null?On:"10",10);let uh;const tf=parseInt((uh=Qe.getAttribute("y"))!=null?uh:"10",10);isNaN(Vr)||isNaN(tf)||Mn.moveBy(t.RTL?r-Vr:Vr,tf,["create"]),v=!1}else{if(Ie==="shadow")throw TypeError("Shadow block cannot be a top-level block.");if(Ie==="comment")up(Qe,t);else if(Ie==="variables"){if(v)dp(Qe,t);else throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");v=!1}}}}finally{s.setGroup$$module$build$src$core$events$utils(p),t.setResizesEnabled&&t.setResizesEnabled(!0),t.rendered&&Ms(),Jn()}return ee(new(Ce(fe.FINISHED_LOADING))(t)),l},up=function(e,t){var r;const l=(r=e.getAttribute("id"))!=null?r:void 0;r=t.rendered?new Pd(t,l):new Xc(t,l);var p;r.setText((p=e.textContent)!=null?p:"");var v;p=parseInt((v=e.getAttribute("x"))!=null?v:"",10);let O;v=parseInt((O=e.getAttribute("y"))!=null?O:"",10),isNaN(p)||isNaN(v)||(p=t.RTL?t.getWidth()-p:p,r.moveTo(new Le(p,v)));var G;t=parseInt((G=e.getAttribute("w"))!=null?G:"",10);let Ie;return G=parseInt((Ie=e.getAttribute("h"))!=null?Ie:"",10),isNaN(t)||isNaN(G)||r.setSize(new Jt(t,G)),e.getAttribute("collapsed")==="true"&&r.setCollapsed(!0),e.getAttribute("editable")==="false"&&r.setEditable(!1),e.getAttribute("movable")==="false"&&r.setMovable(!1),e.getAttribute("deletable")==="false"&&r.setDeletable(!1),r},Cm=function(e,t){if(!t.getBlocksBoundingBox)return s.domToWorkspace$$module$build$src$core$xml(e,t);var r=t.getBlocksBoundingBox();if(e=s.domToWorkspace$$module$build$src$core$xml(e,t),r&&r.top!==r.bottom){var l=r.bottom;r=t.RTL?r.right:r.left;var p=1/0;let v=-1/0,O=1/0;for(let G=0;Gv&&(v=Ie.x)}for(l=l-O+10,r=t.RTL?r-v:r-p,p=0;pQe.setBubbleVisible(v),1)}},la=function(e,t){for(let r=0;rp}),ml(p,{x:l.x,y:l.y,width:e.width,height:e.height},t.RTL,new Date)}},ml=function(e,t,r,l){const p=(new Date().getTime()-l.getTime())/150;1r)){var l=t.getSvgXY(e.getSvgRoot());e.outputConnection?(l.x+=(e.RTL?3:-3)*r,l.y+=13*r):e.previousConnection&&(l.x+=(e.RTL?-23:23)*r,l.y+=3*r);var p=re(oe.CIRCLE,{cx:l.x,cy:l.y,r:0,fill:"none",stroke:"#888","stroke-width":10},t.getParentSvg());e=re(oe.ANIMATE,{id:"animationCircle",begin:"indefinite",attributeName:"r",dur:"150ms",from:0,to:25*r},p),t=re(oe.ANIMATE,{id:"animationOpacity",begin:"indefinite",attributeName:"opacity",dur:"150ms",from:1,to:0},p),e.beginElement(),t.beginElement(),setTimeout(()=>void mt(p),150)}},Vu=function(e){if(qr(),e.workspace.getAudioManager().play("disconnect"),!(1>e.workspace.scale)){var t=e.getHeightWidth().height;t=Math.atan(10/t)/Math.PI*180,e.RTL||(t*=-1),Zc=e,M(e,t,new Date,0)}},M=function(e,t,r,l){const p=[.66,1,.66,0,-.66,-1,-.66,0];let v="";r.getTime()+200>new Date().getTime()&&(v=`skewX(${Math.round(p[l%p.length]*t)})`,jd=setTimeout(M,15,e,t,r,l+1)),e.getSvgRoot().setAttribute("transform",`${e.getTranslation()} ${v}`)},qr=function(){Zc&&(jd&&(clearTimeout(jd),jd=null),Zc.getSvgRoot().setAttribute("transform",Zc.getTranslation()),Zc=null)},ui=function(e){return e.getRelativeToSurfaceXY!==void 0&&e.isMovable!==void 0&&e.startDrag!==void 0&&e.drag!==void 0&&e.endDrag!==void 0&&e.revertDrag!==void 0},Zn=function(e,t){for(const r in t)e[r]=t[r]!==null&&typeof t[r]=="object"?Zn(e[r]||Object.create(null),t[r]):t[r];return e},Ot=function(e,t){i(Be.FIELD,e,t)},km=function(e){c(Be.FIELD,e)},s.fromJson$$module$build$src$core$field_registry=function(e){return Ab.fromJsonInternal(e)},Em=function(e){const t=$(Be.FIELD,e.type);return t?t.fromJson(e):(console.warn("Blockly could not create a field of type "+e.type+". The field is probably not being registered. This could be because the file is not loaded, the field does not register itself (Issue #1584), or the registration is not being reached."),null)},s.register$$module$build$src$core$extensions=function(e,t){if(typeof e!="string"||e.trim()==="")throw Error('Error: Invalid extension name "'+e+'"');if(Tn[e])throw Error('Error: Extension "'+e+'" is already registered.');if(typeof t!="function")throw Error('Error: Extension "'+e+'" must be a function');Tn[e]=t},s.registerMixin$$module$build$src$core$extensions=function(e,t){if(!t||typeof t!="object")throw Error('Error: Mixin "'+e+'" must be a object');s.register$$module$build$src$core$extensions(e,function(){this.mixin(t)})},s.registerMutator$$module$build$src$core$extensions=function(e,t,r,l){const p='Error when registering mutator "'+e+'": ';gp(p,t);const v=pp(t,p);if(r&&typeof r!="function")throw Error(p+'Extension "'+e+'" is not a function');s.register$$module$build$src$core$extensions(e,function(){v&&this.setMutator(new s.MutatorIcon$$module$build$src$core$icons$mutator_icon(l||[],this)),this.mixin(t),r&&r.apply(this)})},Im=function(e){Ui(e)?delete Tn[e]:console.warn('No extension mapping for name "'+e+'" found to unregister')},Ui=function(e){return!!Tn[e]},Gu=function(e,t,r){const l=Tn[e];if(typeof l!="function")throw Error('Error: Extension "'+e+'" not found.');let p;if(r?xm(e,t):p=Ku(t),l.apply(t),r)gp('Error after applying mutator "'+e+'": ',t);else if(!Om(p,t))throw Error('Error when applying extension "'+e+'": mutation properties changed when applying a non-mutator extension.')},xm=function(e,t){if(Ku(t).length)throw Error('Error: tried to apply mutation "'+e+'" to a block that already has mutator functions. Block id: '+t.id)},Dm=function(e,t){return Rr(e.mutationToDom,e.domToMutation,t+" mutationToDom/domToMutation")},Am=function(e,t){return Rr(e.saveExtraState,e.loadExtraState,t+" saveExtraState/loadExtraState")},pp=function(e,t){return Rr(e.compose,e.decompose,t+" compose/decompose")},Rr=function(e,t,r){if(e&&t){if(typeof e!="function"||typeof t!="function")throw Error(r+" must be a function");return!0}if(!e&&!t)return!1;throw Error(r+"Must have both or neither functions")},gp=function(e,t){const r=Dm(t,e),l=Am(t,e);if(!r&&!l)throw Error(e+"Mutations must contain either XML hooks, or JSON hooks, or both");pp(t,e)},Ku=function(e){const t=[];return e.domToMutation!==void 0&&t.push(e.domToMutation),e.mutationToDom!==void 0&&t.push(e.mutationToDom),e.saveExtraState!==void 0&&t.push(e.saveExtraState),e.loadExtraState!==void 0&&t.push(e.loadExtraState),e.compose!==void 0&&t.push(e.compose),e.decompose!==void 0&&t.push(e.decompose),t},Om=function(e,t){if(t=Ku(t),t.length!==e.length)return!1;for(let r=0;r!l.getReturnTypes()).map(l=>[l.getName(),l.getParameters().map(p=>p.getName()),!1]);e.getBlocksByType("procedures_defnoreturn",!1).forEach(l=>{!wo(l)&&ea(l)&&t.push(l.getProcedureDef())});const r=e.getProcedureMap().getProcedures().filter(l=>!!l.getReturnTypes()).map(l=>[l.getName(),l.getParameters().map(p=>p.getName()),!0]);return e.getBlocksByType("procedures_defreturn",!1).forEach(l=>{!wo(l)&&ea(l)&&r.push(l.getProcedureDef())}),t.sort(fp),r.sort(fp),[t,r]},fp=function(e,t){return e[0].localeCompare(t[0],void 0,{sensitivity:"base"})},s.findLegalName$$module$build$src$core$procedures=function(e,t){if(t.isInFlyout)return e;for(e=e||s.Msg$$module$build$src$core$msg.UNNAMED_KEY||"unnamed";!mp(e,t.workspace,t);){const r=e.match(/^(.*?)(\d+)$/);e=r?r[1]+(parseInt(r[2])+1):e+"2"}return e},mp=function(e,t,r){return!Yu(e,t,r)},Yu=function(e,t,r){for(const l of t.getAllBlocks(!1))if(l!==r&&ea(l)&&s.Names$$module$build$src$core$names.equals(l.getProcedureDef()[0],e))return!0;r=r&&wo(r)?r==null?void 0:r.getProcedureModel():void 0;for(const l of t.getProcedureMap().getProcedures())if(l!==r&&s.Names$$module$build$src$core$names.equals(l.getName(),e))return!0;return!1},s.rename$$module$build$src$core$procedures=function(e){var t=this.getSourceBlock();if(!t)throw new Gn;e=e.trim();const r=s.findLegalName$$module$build$src$core$procedures(e,t);wo(t)&&!t.isInsertionMarker()&&t.getProcedureModel().setName(r);const l=this.getValue();if(l!==e&&l!==r)for(e=t.workspace.getAllBlocks(!1),t=0;tLm(r,e)||Lh(r)&&s.Names$$module$build$src$core$names.equals(r.getProcedureCall(),e))},Lm=function(e,t){return wo(e)&&!e.isProcedureDef()&&e.getProcedureModel()&&s.Names$$module$build$src$core$names.equals(e.getProcedureModel().getName(),t)},s.mutateCallers$$module$build$src$core$procedures=function(e){const t=se();var r=e.getProcedureDef()[0];const l=e.mutationToDom(!0);e=$l(r,e.workspace);for(let v=0,O;O=e[v];v++){r=(r=O.mutationToDom())&&U(r),O.domToMutation&&O.domToMutation(l);var p=O.mutationToDom();p=p&&U(p),r!==p&&(s.setRecordUndo$$module$build$src$core$events$utils(!1),ee(new(Ce(fe.BLOCK_CHANGE))(O,"mutation",null,r,p)),s.setRecordUndo$$module$build$src$core$events$utils(t))}},s.getDefinition$$module$build$src$core$procedures=function(e,t){for(const r of t.getAllBlocks(!1))if(wo(r)&&r.isProcedureDef()&&s.Names$$module$build$src$core$names.equals(r.getProcedureModel().getName(),e)||ea(r)&&s.Names$$module$build$src$core$names.equals(r.getProcedureDef()[0],e))return r;return null},yc=function(e){return e.isDynamic},Bm=function(e){return e.pathDown!==void 0&&e.pathUp!==void 0},pi=function(e){return e.pathLeft!==void 0&&e.pathRight!==void 0},Zu=function(e,t){if(!e||!t)throw Error("Cannot connect null connections.");e.targetConnection=t,t.targetConnection=e},Co=function(e,t){let r=null;t=t.outputConnection;const l=t==null?void 0:t.getConnectionChecker();for(let p=0,v;v=e.inputList[p];p++){const O=v.connection;let G;if(O&&((G=l)!=null&&G.canConnect(t,O,!1))){if(r)return null;r=O}}return r},gr=function(e,t){let r;for(;r=Co(e,t);)if(e=r.targetBlock(),!e||e.isShadow())return r;return null},$p=function(e){return e.getType!==void 0&&e.initView!==void 0&&e.dispose!==void 0&&e.getWeight!==void 0&&e.getSize!==void 0&&e.applyColour!==void 0&&e.hideForInsertionMarker!==void 0&&e.updateEditable!==void 0&&e.updateCollapsed!==void 0&&e.isShownWhenCollapsed!==void 0&&e.setOffsetInBlock!==void 0&&e.onLocationChange!==void 0&&e.onClick!==void 0},vp=function(e){return $p(e)&&Ya(e)&&qs(e)&&e.setText!==void 0&&e.getText!==void 0&&e.setBubbleSize!==void 0&&e.getBubbleSize!==void 0&&e.getType()===Qn.COMMENT},vl=function(e){let t=e.outputConnection;return(!t||e.previousConnection&&e.previousConnection.isConnected())&&(t=e.previousConnection),t},Wi=function(e,t){i(Be.RENDERER,e,t)},Hi=function(e){c(Be.RENDERER,e)},Qu=function(e,t,r){return e=new(b(Be.RENDERER,e))(e),e.init(t,r),e},yp=function(e){qa(e.getTargetWorkspace(),void 0,"String")},yl=function(e){qa(e.getTargetWorkspace(),void 0,"Number")},_p=function(e){qa(e.getTargetWorkspace(),void 0,"Colour")},_c=function(e){let t=[],r=document.createElement("button");return r.setAttribute("text",s.Msg$$module$build$src$core$msg.NEW_STRING_VARIABLE),r.setAttribute("callbackKey","CREATE_VARIABLE_STRING"),t.push(r),r=document.createElement("button"),r.setAttribute("text",s.Msg$$module$build$src$core$msg.NEW_NUMBER_VARIABLE),r.setAttribute("callbackKey","CREATE_VARIABLE_NUMBER"),t.push(r),r=document.createElement("button"),r.setAttribute("text",s.Msg$$module$build$src$core$msg.NEW_COLOUR_VARIABLE),r.setAttribute("callbackKey","CREATE_VARIABLE_COLOUR"),t.push(r),e.registerButtonCallback("CREATE_VARIABLE_STRING",yp),e.registerButtonCallback("CREATE_VARIABLE_NUMBER",yl),e.registerButtonCallback("CREATE_VARIABLE_COLOUR",_p),e=os(e),t=t.concat(e)},os=function(e){e=e.getAllVariables();const t=[];if(0G.id!=e.id).map(G=>G.getRelativeToSurfaceXY());for(;wp(Le.sum(t,v),O)||Yr(e,Le.sum(p,v),l);)r.RTL?v.translate(-l,2*l):v.translate(l,2*l);e.moveTo(Le.sum(t,v))},wp=function(e,t){return t.some(r=>1>=Math.abs(r.x-e.x)&&1>=Math.abs(r.y-e.y))},Yr=function(e,t,r){return e.getConnections_(!1).some(l=>!!l.closest(r,t).connection)},So=function(e,t,r){const l=r.getBoundingRectangle(),p=l.right-l.left,v=na(t.top,l.top,t.top+t.height-(l.bottom-l.top))-l.top;let O=t.left;return t=t.left+t.width-p,e.RTL?O=Math.min(t,O):t=Math.max(O,t),(e=na(O,l.left,t)-l.left)||v?(r.moveBy(e,v,["inbounds"]),!0):!1},_l=function(e){return t=>{var r=e.getMetricsManager();if(r.hasFixedEdges()&&!e.isDragging()){var l;if(Up.includes((l=t.type)!=null?l:"")){l=r.getScrollMetrics(!0);const p=To(e,t);p&&(r=s.getGroup$$module$build$src$core$events$utils()||!1,s.setGroup$$module$build$src$core$events$utils(t.group),So(e,l,p)&&!t.group&&console.warn("Moved object in bounds but there was no event group. This may break undo."),s.setGroup$$module$build$src$core$events$utils(r))}else q(t)&&t.scale&&t.oldScale&&t.scale>t.oldScale&&wc(e)}}},To=function(e,t){let r=null;switch(t.type){case fe.BLOCK_CREATE:case fe.BLOCK_MOVE:(r=e.getBlockById(t.blockId))&&(r=r.getRootBlock());break;case fe.COMMENT_CREATE:case fe.COMMENT_MOVE:case fe.COMMENT_RESIZE:r=e.getCommentById(t.commentId)}return r},wc=function(e){var t=e.getMetricsManager();if(t.hasFixedEdges()&&!e.isDragging()){t=t.getScrollMetrics(!0);var r=e.getTopBoundedElements();for(let l=0,p;p=r[l];l++)So(e,t,p)}},Dn=function(e){return e.isDeletable!==void 0&&e.dispose!==void 0&&e.setDeleteStyle!==void 0},td=function(e){const t=e.toCopyData();Ds=t;let r;return cu=(r=e.workspace)!=null?r:null,t},ko=function(e,t,r){return e&&t?Cp(e,t,r):Ds&&cu?Cp(Ds,cu):null},Cp=function(e,t,r){let l;t=t.isMutator?t:(l=t.getRootWorkspace())!=null?l:t;let p,v;return(v=(p=$(Be.PASTER,e.paster,!1))==null?void 0:p.paste(e,t,r))!=null?v:null},Pm=function(e){const t=e.toCopyData();return t?ko(t,e.workspace):null},da=function(e){return e.toCopyData!==void 0},Sp=function(){un.registry.register({name:_i.ESCAPE,preconditionFn(e){return!e.options.readOnly},callback(e){return e.hideChaff(),!0},keyCodes:[Vt.ESC]})},ha=function(){un.registry.register({name:_i.DELETE,preconditionFn(e){const t=ne();return!e.options.readOnly&&t!=null&&Dn(t)&&t.isDeletable()&&!Qi.inProgress()},callback(e,t){return t.preventDefault(),e=ne(),e instanceof Ur?e.checkAndDelete():Dn(e)&&e.isDeletable()&&(s.setGroup$$module$build$src$core$events$utils(!0),e.dispose(),s.setGroup$$module$build$src$core$events$utils(!1)),!0},keyCodes:[Vt.DELETE,Vt.BACKSPACE]})},nd=function(){const e=un.registry.createSerializedKey(Vt.C,[Vt.CTRL]),t=un.registry.createSerializedKey(Vt.C,[Vt.ALT]),r=un.registry.createSerializedKey(Vt.C,[Vt.META]);un.registry.register({name:_i.COPY,preconditionFn(l){const p=ne();return!l.options.readOnly&&!Qi.inProgress()&&p!=null&&Dn(p)&&p.isDeletable()&&ui(p)&&p.isMovable()&&da(p)},callback(l,p){return p.preventDefault(),l.hideChaff(),p=ne(),!p||!da(p)?!1:(Bo=p.toCopyData(),wi=p.workspace instanceof Cr?p.workspace:l,Vl=ui(p)?p.getRelativeToSurfaceXY():null,!!Bo)},keyCodes:[e,t,r]})},Tp=function(){const e=un.registry.createSerializedKey(Vt.X,[Vt.CTRL]),t=un.registry.createSerializedKey(Vt.X,[Vt.ALT]),r=un.registry.createSerializedKey(Vt.X,[Vt.META]);un.registry.register({name:_i.CUT,preconditionFn(l){const p=ne();return!l.options.readOnly&&!Qi.inProgress()&&p!=null&&Dn(p)&&p.isDeletable()&&ui(p)&&p.isMovable()&&!p.workspace.isFlyout},callback(l){const p=ne();return p instanceof Ur?(Bo=p.toCopyData(),wi=l,Vl=p.getRelativeToSurfaceXY(),p.checkAndDelete(),!0):Dn(p)&&p.isDeletable()&&da(p)?(Bo=p.toCopyData(),wi=l,Vl=ui(p)?p.getRelativeToSurfaceXY():null,p.dispose(),!0):!1},keyCodes:[e,t,r]})},kp=function(){const e=un.registry.createSerializedKey(Vt.V,[Vt.CTRL]),t=un.registry.createSerializedKey(Vt.V,[Vt.ALT]),r=un.registry.createSerializedKey(Vt.V,[Vt.META]);un.registry.register({name:_i.PASTE,preconditionFn(l){return!l.options.readOnly&&!Qi.inProgress()},callback(){if(!Bo||!wi)return!1;if(!Vl)return!!ko(Bo,wi);const{left:l,top:p,width:v,height:O}=wi.getMetricsManager().getViewMetrics(!0);if(new Bt(p,p+O,l,l+v).contains(Vl.x,Vl.y))return!!ko(Bo,wi);const G=new Le(l+v/2,p+O/2);return!!ko(Bo,wi,G)},keyCodes:[e,t,r]})},pa=function(){const e=un.registry.createSerializedKey(Vt.Z,[Vt.CTRL]),t=un.registry.createSerializedKey(Vt.Z,[Vt.ALT]),r=un.registry.createSerializedKey(Vt.Z,[Vt.META]);un.registry.register({name:_i.UNDO,preconditionFn(l){return!l.options.readOnly&&!Qi.inProgress()},callback(l,p){return l.hideChaff(),l.undo(!1),p.preventDefault(),!0},keyCodes:[e,t,r]})},Ep=function(){const e=un.registry.createSerializedKey(Vt.Z,[Vt.SHIFT,Vt.CTRL]),t=un.registry.createSerializedKey(Vt.Z,[Vt.SHIFT,Vt.ALT]),r=un.registry.createSerializedKey(Vt.Z,[Vt.SHIFT,Vt.META]),l=un.registry.createSerializedKey(Vt.Y,[Vt.CTRL]);un.registry.register({name:_i.REDO,preconditionFn(p){return!Qi.inProgress()&&!p.options.readOnly},callback(p,v){return p.hideChaff(),p.undo(!0),v.preventDefault(),!0},keyCodes:[e,t,r,l]})},Ip=function(){Sp(),ha(),nd(),Tp(),kp(),pa(),Ep()},Cc=function(e){const t=e.saveState();return e.getParameters().length&&(t.parameters=e.getParameters().map(r=>r.saveState())),t},sd=function(e,t,r,l){if(e=e.loadState(r,l),!r.parameters)return e;for(const[p,v]of r.parameters.entries())e.insertParameter(t.loadState(v,l),p);return e},jm=function(e){const t=Object.create(null),r=y(Be.SERIALIZER,!0);for(const l in r){let p;const v=(p=r[l])==null?void 0:p.save(e);v&&(t[l]=v)}return t},Fm=function(e,t,{recordUndo:r=!1}={}){var l=y(Be.SERIALIZER,!0);if(l){l=Object.entries(l).sort((v,O)=>O[1].priority-v[1].priority);var p=se();s.setRecordUndo$$module$build$src$core$events$utils(r),(r=s.getGroup$$module$build$src$core$events$utils())||s.setGroup$$module$build$src$core$events$utils(!0),zn(),t instanceof Cr&&t.setResizesEnabled(!1);for(const[,v]of l.reverse()){let O;(O=v)==null||O.clear(t)}for(const[v,O]of l.reverse())if(e[v]){let G;(G=O)==null||G.load(e[v],t)}t instanceof Cr&&t.setResizesEnabled(!0),Jn(),ee(new(Ce(fe.FINISHED_LOADING))(t)),s.setGroup$$module$build$src$core$events$utils(r),s.setRecordUndo$$module$build$src$core$events$utils(p)}},zm=function(e,t){let r=null;r=typeof e=="string"?document.getElementById(e)||document.querySelector(e):e;var l;if(!document.contains(r)&&document!==((l=r)==null?void 0:l.ownerDocument))throw Error("Error: container is not in current document");e=new zr(t||{}),l=document.createElement("div"),Fe(l,"injectionDiv"),t!=null&&t.rtl&&Fe(l,"blocklyRTL"),l.tabIndex=0,tn(l,as.LABEL,s.Msg$$module$build$src$core$msg.WORKSPACE_ARIA_LABEL),r.appendChild(l),t=xp(l,e);const p=rd(l,t,e);return Um(p),He(p),Je(p),l.addEventListener("focusin",function(){He(p)}),Ue(l,"keydown",null,wl),Ue(wn(),"keydown",null,wl),(t=us())&&Ue(t,"keydown",null,wl),p},xp=function(e,t){e.setAttribute("dir","LTR"),Ve(t.hasCss,t.pathToMedia),e=re(oe.SVG,{xmlns:Nc,"xmlns:html":bi,"xmlns:xlink":nr,version:"1.1",class:"blocklySvg",tabindex:"0"},e);const r=re(oe.DEFS,{},e),l=String(Math.random()).substring(2);return t.gridPattern=eo.createDom(l,t.gridOptions,r),e},rd=function(e,t,r){r.parentWorkspace=null,r=new Cr(r);const l=r.options;r.scale=l.zoomOptions.startScale,t.appendChild(r.createDom("blocklyMainBackground",e));var p=r.getRenderer().getClassName();return p&&Fe(e,p),(p=r.getTheme().getClassName())&&Fe(e,p),!l.hasCategories&&l.languageTree&&(e=r.addFlyout(oe.SVG),Cn(e,t)),l.hasTrashcan&&r.addTrashcan(),l.zoomOptions&&l.zoomOptions.controls&&r.addZoomControls(),r.getThemeManager().subscribe(t,"workspaceBackgroundColour","background-color"),r.translate(0,0),r.addChangeListener(_l(r)),Je(r),op(),ai(),$o(),r},Um=function(e){const t=e.options;var r=e.getParentSvg();if(Ue(r.parentNode,"contextmenu",null,function(l){qt(l)||l.preventDefault()}),r=Ue(window,"resize",null,function(){Li(),e.hideComponents(!0),hc(),cl(),Je(e),wc(e)}),e.setResizeHandlerWrapper(r),Dp(),t.languageTree){r=e.getToolbox();const l=e.getFlyout(!0);r?r.init():l&&(l.init(e),l.show(t.languageTree),typeof l.scrollToStart=="function"&&l.scrollToStart())}t.hasTrashcan&&e.trashcan.init(),t.zoomOptions&&t.zoomOptions.controls&&e.zoomControls_.init(),t.moveOptions&&t.moveOptions.scrollbars?(e.scrollbar=new Jg(e,t.moveOptions.scrollbars===!0||!!t.moveOptions.scrollbars.horizontal,t.moveOptions.scrollbars===!0||!!t.moveOptions.scrollbars.vertical,"blocklyMainWorkspaceScrollbar"),e.scrollbar.resize()):e.setMetrics({x:.5,y:.5}),t.hasSounds&&Ap(t.pathToMedia,e)},wl=function(e){const t=xe();t&&!(qt(e)||t.rendered&&!t.isVisible())&&un.registry.onKeyDown(t,e)},Dp=function(){l$||(Ue(document,"scroll",null,function(){const e=Ae();for(let t=0,r;r=e[t];t++)r instanceof Cr&&r.updateInverseScreenCTM()}),Nt(document,"touchend",null,lt),Nt(document,"touchcancel",null,lt)),l$=!0},Ap=function(e,t){function r(){for(;p.length;){const v=p.pop();v&&wt(v)}l.preload()}const l=t.getAudioManager();l.load([e+"click.mp3",e+"click.wav",e+"click.ogg"],"click"),l.load([e+"disconnect.wav",e+"disconnect.mp3",e+"disconnect.ogg"],"disconnect"),l.load([e+"delete.mp3",e+"delete.ogg",e+"delete.wav"],"delete");const p=[];p.push(Ue(document,"pointermove",null,r,!0)),p.push(Ue(document,"touchstart",null,r,!0))},id=function(){zt.registry.register({displayText(){return s.Msg$$module$build$src$core$msg.UNDO},preconditionFn(e){return 0t.length?ga(t):Ja(s.Msg$$module$build$src$core$msg.DELETE_ALL_BLOCKS.replace("%1",String(t.length)),function(r){r&&ga(t)})}},scopeType:zt.ScopeType.WORKSPACE,id:"workspaceDelete",weight:6})},dd=function(){id(),Cl(),Op(),ad(),Rp(),ud()},Mp=function(){zt.registry.register({displayText(){return s.Msg$$module$build$src$core$msg.DUPLICATE_BLOCK},preconditionFn(e){return e=e.block,!e.isInFlyout&&e.isDeletable()&&e.isMovable()?e.isDuplicatable()?"enabled":"disabled":"hidden"},callback(e){if(e.block){var t=e.block.toCopyData();t&&ko(t,e.block.workspace)}},scopeType:zt.ScopeType.BLOCK,id:"blockDuplicate",weight:1})},Sc=function(){zt.registry.register({displayText(e){return e.block.hasIcon(no.TYPE)?s.Msg$$module$build$src$core$msg.REMOVE_COMMENT:s.Msg$$module$build$src$core$msg.ADD_COMMENT},preconditionFn(e){return e=e.block,!e.isInFlyout&&e.workspace.options.comments&&!e.isCollapsed()&&e.isEditable()?"enabled":"hidden"},callback(e){e=e.block,e.hasIcon(no.TYPE)?e.setCommentText(null):e.setCommentText("")},scopeType:zt.ScopeType.BLOCK,id:"blockComment",weight:2})},Ht=function(){zt.registry.register({displayText(e){return e.block.getInputsInline()?s.Msg$$module$build$src$core$msg.EXTERNAL_INPUTS:s.Msg$$module$build$src$core$msg.INLINE_INPUTS},preconditionFn(e){if(e=e.block,!e.isInFlyout&&e.isMovable()&&!e.isCollapsed()){for(let t=1;t(t.has(Bs)?1:0),e.getInheritedDisabled()||t?"disabled":"enabled"}return"hidden"},callback(e){e=e.block;const t=s.getGroup$$module$build$src$core$events$utils();t||s.setGroup$$module$build$src$core$events$utils(!0),e.setDisabledReason(!e.hasDisabledReason(Bs),Bs),s.setGroup$$module$build$src$core$events$utils(t)},scopeType:zt.ScopeType.BLOCK,id:"blockDisable",weight:5})},fa=function(){zt.registry.register({displayText(e){var t=e.block;return e=t.getDescendants(!1).length,(t=t.getNextBlock())&&(e-=t.getDescendants(!1).length),e===1?s.Msg$$module$build$src$core$msg.DELETE_BLOCK:s.Msg$$module$build$src$core$msg.DELETE_X_BLOCKS.replace("%1",`${e}`)},preconditionFn(e){return!e.block.isInFlyout&&e.block.isDeletable()?"enabled":"hidden"},callback(e){e.block&&e.block.checkAndDelete()},scopeType:zt.ScopeType.BLOCK,id:"blockDelete",weight:6})},hd=function(){zt.registry.register({displayText(){return s.Msg$$module$build$src$core$msg.HELP},preconditionFn(e){return e=e.block,(typeof e.helpUrl=="function"?e.helpUrl():e.helpUrl)?"enabled":"hidden"},callback(e){e.block.showHelp()},scopeType:zt.ScopeType.BLOCK,id:"blockHelp",weight:7})},Bp=function(){zt.registry.register({displayText:()=>s.Msg$$module$build$src$core$msg.REMOVE_COMMENT,preconditionFn(e){let t;return(t=e.comment)!=null&&t.isDeletable()?"enabled":"hidden"},callback(e){s.setGroup$$module$build$src$core$events$utils(!0);let t;(t=e.comment)==null||t.dispose(),s.setGroup$$module$build$src$core$events$utils(!1)},scopeType:zt.ScopeType.COMMENT,id:"commentDelete",weight:6})},Pp=function(){zt.registry.register({displayText:()=>s.Msg$$module$build$src$core$msg.DUPLICATE_COMMENT,preconditionFn(e){let t;return(t=e.comment)!=null&&t.isMovable()?"enabled":"hidden"},callback(e){if(e.comment){var t=e.comment.toCopyData();t&&ko(t,e.comment.workspace)}},scopeType:zt.ScopeType.COMMENT,id:"commentDuplicate",weight:1})},Qs=function(){zt.registry.register({displayText:()=>s.Msg$$module$build$src$core$msg.ADD_COMMENT,preconditionFn:e=>{let t;return(t=e.workspace)!=null&&t.isMutator?"hidden":"enabled"},callback:(e,t)=>{if(e=e.workspace){s.setGroup$$module$build$src$core$events$utils(!0);var r=new Pd(e);r.setText(s.Msg$$module$build$src$core$msg.WORKSPACE_COMMENT_DEFAULT_TEXT),r.moveTo(Wm(new Le(t.clientX,t.clientY),e)),s.setSelected$$module$build$src$core$common(r),s.setGroup$$module$build$src$core$events$utils(!1)}},scopeType:zt.ScopeType.WORKSPACE,id:"commentCreate",weight:8})},Wm=function(e,t){var r=t.getInjectionDiv().getBoundingClientRect();return e=new Le(e.x-r.left,e.y-r.top),r=t.getOriginOffsetInPixels(),e=Le.difference(e,r),e.scale(1/t.scale),e},Tc=function(){Mp(),Sc(),Ht(),Np(),Lp(),fa(),hd()},pd=function(){Pp(),Bp(),Qs()},gd=function(){dd(),Tc()},jp=function(e){return e.paste!==void 0},er=function(e){return e.getSvgRoot!==void 0},Vi=function(e){return typeof e.id=="string"&&e.workspace!==void 0&&e.select!==void 0&&e.unselect!==void 0},fd=function(e){return e.isSelectable()},Fp=function(e){xe().hideChaff(e)},Re=Re||{},Re.scope={},Re.ASSUME_ES5=!1,Re.ASSUME_NO_NATIVE_MAP=!1,Re.ASSUME_NO_NATIVE_SET=!1,Re.SIMPLE_FROUND_POLYFILL=!1,Re.ISOLATE_POLYFILLS=!1,Re.FORCE_POLYFILL_PROMISE=!1,Re.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,Re.defineProperty=Re.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(e,t,r){return e==Array.prototype||e==Object.prototype||(e[t]=r.value),e},Re.getGlobal=function(e){e=[typeof globalThis=="object"&&globalThis,e,typeof window=="object"&&window,typeof self=="object"&&self,typeof Vo=="object"&&Vo];for(var t=0;t>>0,Re.propertyToPolyfillSymbol[p]=Re.IS_SYMBOL_NATIVE?Re.global.Symbol(p):Re.POLYFILL_PREFIX+r+"$"+p),Re.defineProperty(l,Re.propertyToPolyfillSymbol[p],{configurable:!0,writable:!0,value:t})))},Re.underscoreProtoCanBeSet=function(){var e={a:!0},t={};try{return t.__proto__=e,t.a}catch{}return!1},Re.setPrototypeOf=Re.TRUST_ES6_POLYFILLS&&typeof Object.setPrototypeOf=="function"?Object.setPrototypeOf:Re.underscoreProtoCanBeSet()?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null,Re.arrayIteratorImpl=function(e){var t=0;return function(){return tr&&(r=Math.max(r+p,0));r{const e=Hm.length,t=[];for(let r=0;20>r;r++)t[r]=Hm.charAt(Math.random()*e);return t.join("")}},ty=0,bd={TEST_ONLY:Vm};bd.genUid=E,bd.getNextUniqueId=C;var Hp="",Ec=!0,$d=0,vd="ORPHANED_BLOCK",Vn=[],Xr={FIRE_QUEUE:Vn,enqueueEvent:X,fireNow:Y,fireInternal:K,setGroupInternal:ke};s.disable$$module$build$src$core$events$utils,s.enable$$module$build$src$core$events$utils,s.getGroup$$module$build$src$core$events$utils,s.setGroup$$module$build$src$core$events$utils,s.setRecordUndo$$module$build$src$core$events$utils;var Ic=Object.create(null),Gm,gi=null,ma,Sl=[],Vp={defineBlocksWithJsonArrayInternal:Wt},ms={TEST_ONLY:Vp};ms.createBlockDefinitionsFromJsonArray=s.createBlockDefinitionsFromJsonArray$$module$build$src$core$common,ms.defineBlocks=s.defineBlocks$$module$build$src$core$common,ms.defineBlocksWithJsonArray=nt,ms.draggingConnections=Sl,ms.getAllWorkspaces=Ae,ms.getBlockTypeCounts=rt,ms.getMainWorkspace=xe,ms.getParentContainer=Ke,ms.getSelected=ne,ms.getWorkspaceById=he,ms.registerWorkspace=de,ms.setMainWorkspace=He,ms.setParentContainer=Te,ms.setSelected=s.setSelected$$module$build$src$core$common,ms.svgResize=Je,ms.unregisterWorkpace=Se;var ba=class{constructor(){this.workspaceId=void 0,this.isUiEvent=!1,this.type="",this.group=s.getGroup$$module$build$src$core$events$utils(),this.recordUndo=se()}toJson(){return{type:this.type,group:this.group}}static fromJson(e,t,r){return r.isBlank=!1,r.group=e.group||"",r.workspaceId=t.id,r}isNull(){return!1}run(e){}getEventWorkspace_(){let e;if(this.workspaceId&&(e=he(this.workspaceId)),!e)throw Error("Workspace is null. Event must have been generated from real Blockly events.");return e}},Es=class extends ba{constructor(e){super(),this.recordUndo=!1,this.isUiEvent=!0,this.isBlank=typeof e>"u",this.workspaceId=e||""}},$a=class extends Es{constructor(e,t,r){t=e?e.workspace.id:t,t===null&&(t=void 0),super(t),this.type=fe.CLICK,this.blockId=e?e.id:void 0,this.targetType=r}toJson(){const e=super.toJson();if(!this.targetType)throw Error("The click target type is undefined. Either pass a block to the constructor, or call fromJson");return e.targetType=this.targetType,e.blockId=this.blockId,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new $a),t.targetType=e.targetType,t.blockId=e.blockId,t}},Gp;(function(e){e.BLOCK="block",e.WORKSPACE="workspace",e.ZOOM_CONTROLS="zoom_controls"})(Gp||(Gp={})),i(Be.EVENT,fe.CLICK,$a);var Km=750,Kp="ontouchstart"in globalThis||!!(globalThis.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!globalThis.navigator||!globalThis.navigator.maxTouchPoints&&!globalThis.navigator.msMaxTouchPoints),va=null,Eo={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]},ya=0,Ki={TOUCH_ENABLED:Kp,TOUCH_MAP:Eo};Ki.checkTouchIdentifier=mn,Ki.clearTouchIdentifier=ft,Ki.getTouchIdentifierFromEvent=At,Ki.longStart=St,Ki.longStop=lt,Ki.shouldHandleEvent=st;var Tl,Jm,Jp,xc,Dc,kl,qp,Yp,fi,Xp;(function(e){function t(l){return r.includes(l.toUpperCase())}Tl=e;const r=Tl.toUpperCase();Jm=t("JavaFX"),Jp=t("WebKit"),xc=t("Gecko")&&!Jp,Dc=t("Android"),e=globalThis.navigator&&globalThis.navigator.maxTouchPoints,kl=t("iPad")||t("Macintosh")&&0{l.push(this.componentData.get(p))}),l.sort(function(p,v){return p.weight-v.weight}),l.forEach(function(p){r.push(p.component)})}else e.forEach(l=>{r.push(this.componentData.get(l).component)});return r}};pn.Capability=Zr,function(e){e=e.ComponentWeight||(e.ComponentWeight={}),e[e.TOOLBOX_WEIGHT=0]="TOOLBOX_WEIGHT",e[e.FLYOUT_WEIGHT=1]="FLYOUT_WEIGHT",e[e.TRASHCAN_WEIGHT=2]="TRASHCAN_WEIGHT",e[e.ZOOM_CONTROLS_WEIGHT=3]="ZOOM_CONTROLS_WEIGHT"}(pn||(pn={})),pn.ComponentWeight;var tg=!1,Mc=` -.blocklySvg { - background-color: #fff; - outline: none; - overflow: hidden; /* IE overflows by default. */ - position: absolute; - display: block; -} - -.blocklyWidgetDiv { - display: none; - position: absolute; - z-index: 99999; /* big value for bootstrap3 compatibility */ -} - -.injectionDiv { - height: 100%; - position: relative; - overflow: hidden; /* So blocks in drag surface disappear at edges */ - touch-action: none; - user-select: none; - -webkit-user-select: none; -} - -.blocklyNonSelectable { - user-select: none; - -ms-user-select: none; - -webkit-user-select: none; -} - -.blocklyBlockCanvas.blocklyCanvasTransitioning, -.blocklyBubbleCanvas.blocklyCanvasTransitioning { - transition: transform .5s; -} - -.blocklyTooltipDiv { - background-color: #ffffc7; - border: 1px solid #ddc; - box-shadow: 4px 4px 20px 1px rgba(0,0,0,.15); - color: #000; - display: none; - font: 9pt sans-serif; - opacity: .9; - padding: 2px; - position: absolute; - z-index: 100000; /* big value for bootstrap3 compatibility */ -} - -.blocklyDropDownDiv { - position: absolute; - left: 0; - top: 0; - z-index: 1000; - display: none; - border: 1px solid; - border-color: #dadce0; - background-color: #fff; - border-radius: 2px; - padding: 4px; - box-shadow: 0 0 3px 1px rgba(0,0,0,.3); -} - -.blocklyDropDownDiv.blocklyFocused { - box-shadow: 0 0 6px 1px rgba(0,0,0,.3); -} - -.blocklyDropDownContent { - max-height: 300px; /* @todo: spec for maximum height. */ - overflow: auto; - overflow-x: hidden; - position: relative; -} - -.blocklyDropDownArrow { - position: absolute; - left: 0; - top: 0; - width: 16px; - height: 16px; - z-index: -1; - background-color: inherit; - border-color: inherit; -} - -.blocklyDropDownButton { - display: inline-block; - float: left; - padding: 0; - margin: 4px; - border-radius: 4px; - outline: none; - border: 1px solid; - transition: box-shadow .1s; - cursor: pointer; -} - -.blocklyArrowTop { - border-top: 1px solid; - border-left: 1px solid; - border-top-left-radius: 4px; - border-color: inherit; -} - -.blocklyArrowBottom { - border-bottom: 1px solid; - border-right: 1px solid; - border-bottom-right-radius: 4px; - border-color: inherit; -} - -.blocklyResizeSE { - cursor: se-resize; - fill: #aaa; -} - -.blocklyResizeSW { - cursor: sw-resize; - fill: #aaa; -} - -.blocklyResizeLine { - stroke: #515A5A; - stroke-width: 1; -} - -.blocklyHighlightedConnectionPath { - fill: none; - stroke: #fc3; - stroke-width: 4px; -} - -.blocklyPathLight { - fill: none; - stroke-linecap: round; - stroke-width: 1; -} - -.blocklySelected>.blocklyPathLight { - display: none; -} - -.blocklyDraggable { - cursor: grab; - cursor: -webkit-grab; -} - -.blocklyDragging { - cursor: grabbing; - cursor: -webkit-grabbing; - /* Drag surface disables events to not block the toolbox, so we have to - * reenable them here for the cursor values to work. */ - pointer-events: auto; -} - - /* Changes cursor on mouse down. Not effective in Firefox because of - https://bugzilla.mozilla.org/show_bug.cgi?id=771241 */ -.blocklyDraggable:active { - cursor: grabbing; - cursor: -webkit-grabbing; -} - -.blocklyDragging.blocklyDraggingDelete { - cursor: url("<<>>/handdelete.cur"), auto; -} - -.blocklyDragging>.blocklyPath, -.blocklyDragging>.blocklyPathLight { - fill-opacity: .8; - stroke-opacity: .8; -} - -.blocklyDragging>.blocklyPathDark { - display: none; -} - -.blocklyDisabled>.blocklyPath { - fill-opacity: .5; - stroke-opacity: .5; -} - -.blocklyDisabled>.blocklyPathLight, -.blocklyDisabled>.blocklyPathDark { - display: none; -} - -.blocklyInsertionMarker>.blocklyPath, -.blocklyInsertionMarker>.blocklyPathLight, -.blocklyInsertionMarker>.blocklyPathDark { - fill-opacity: .2; - stroke: none; -} - -.blocklyNonEditableText>text { - pointer-events: none; -} - -.blocklyFlyout { - position: absolute; - z-index: 20; -} - -.blocklyText text { - cursor: default; -} - -.blocklyHidden { - display: none; -} - -.blocklyFieldDropdown:not(.blocklyHidden) { - display: block; -} - -.blocklyIconGroup { - cursor: default; -} - -.blocklyIconGroup:not(:hover), -.blocklyIconGroupReadonly { - opacity: .6; -} - -.blocklyIconShape { - fill: #00f; - stroke: #fff; - stroke-width: 1px; -} - -.blocklyIconSymbol { - fill: #fff; -} - -.blocklyMinimalBody { - margin: 0; - padding: 0; - height: 100%; -} - -.blocklyHtmlInput { - border: none; - border-radius: 4px; - height: 100%; - margin: 0; - outline: none; - padding: 0; - width: 100%; - text-align: center; - display: block; - box-sizing: border-box; -} - -/* Remove the increase and decrease arrows on the field number editor */ -input.blocklyHtmlInput[type=number]::-webkit-inner-spin-button, -input.blocklyHtmlInput[type=number]::-webkit-outer-spin-button { - -webkit-appearance: none; - margin: 0; -} - -input[type=number] { - -moz-appearance: textfield; -} - -.blocklyMainBackground { - stroke-width: 1; - stroke: #c6c6c6; /* Equates to #ddd due to border being off-pixel. */ -} - -.blocklyMutatorBackground { - fill: #fff; - stroke: #ddd; - stroke-width: 1; -} - -.blocklyFlyoutBackground { - fill: #ddd; - fill-opacity: .8; -} - -.blocklyMainWorkspaceScrollbar { - z-index: 20; -} - -.blocklyFlyoutScrollbar { - z-index: 30; -} - -.blocklyScrollbarHorizontal, -.blocklyScrollbarVertical { - position: absolute; - outline: none; -} - -.blocklyScrollbarBackground { - opacity: 0; - pointer-events: none; -} - -.blocklyScrollbarHandle { - fill: #ccc; -} - -.blocklyScrollbarBackground:hover+.blocklyScrollbarHandle, -.blocklyScrollbarHandle:hover { - fill: #bbb; -} - -/* Darken flyout scrollbars due to being on a grey background. */ -/* By contrast, workspace scrollbars are on a white background. */ -.blocklyFlyout .blocklyScrollbarHandle { - fill: #bbb; -} - -.blocklyFlyout .blocklyScrollbarBackground:hover+.blocklyScrollbarHandle, -.blocklyFlyout .blocklyScrollbarHandle:hover { - fill: #aaa; -} - -.blocklyInvalidInput { - background: #faa; -} - -.blocklyVerticalMarker { - stroke-width: 3px; - fill: rgba(255,255,255,.5); - pointer-events: none; -} - -.blocklyComputeCanvas { - position: absolute; - width: 0; - height: 0; -} - -.blocklyNoPointerEvents { - pointer-events: none; -} - -.blocklyContextMenu { - border-radius: 4px; - max-height: 100%; -} - -.blocklyDropdownMenu { - border-radius: 2px; - padding: 0 !important; -} - -.blocklyDropdownMenu .blocklyMenuItem { - /* 28px on the left for icon or checkbox. */ - padding-left: 28px; -} - -/* BiDi override for the resting state. */ -.blocklyDropdownMenu .blocklyMenuItemRtl { - /* Flip left/right padding for BiDi. */ - padding-left: 5px; - padding-right: 28px; -} - -.blocklyWidgetDiv .blocklyMenu { - background: #fff; - border: 1px solid transparent; - box-shadow: 0 0 3px 1px rgba(0,0,0,.3); - font: normal 13px Arial, sans-serif; - margin: 0; - outline: none; - padding: 4px 0; - position: absolute; - overflow-y: auto; - overflow-x: hidden; - max-height: 100%; - z-index: 20000; /* Arbitrary, but some apps depend on it... */ -} - -.blocklyWidgetDiv .blocklyMenu.blocklyFocused { - box-shadow: 0 0 6px 1px rgba(0,0,0,.3); -} - -.blocklyDropDownDiv .blocklyMenu { - background: inherit; /* Compatibility with gapi, reset from goog-menu */ - border: inherit; /* Compatibility with gapi, reset from goog-menu */ - font: normal 13px "Helvetica Neue", Helvetica, sans-serif; - outline: none; - position: relative; /* Compatibility with gapi, reset from goog-menu */ - z-index: 20000; /* Arbitrary, but some apps depend on it... */ -} - -/* State: resting. */ -.blocklyMenuItem { - border: none; - color: #000; - cursor: pointer; - list-style: none; - margin: 0; - /* 7em on the right for shortcut. */ - min-width: 7em; - padding: 6px 15px; - white-space: nowrap; -} - -/* State: disabled. */ -.blocklyMenuItemDisabled { - color: #ccc; - cursor: inherit; -} - -/* State: hover. */ -.blocklyMenuItemHighlight { - background-color: rgba(0,0,0,.1); -} - -/* State: selected/checked. */ -.blocklyMenuItemCheckbox { - height: 16px; - position: absolute; - width: 16px; -} - -.blocklyMenuItemSelected .blocklyMenuItemCheckbox { - background: url(<<>>/sprites.png) no-repeat -48px -16px; - float: left; - margin-left: -24px; - position: static; /* Scroll with the menu. */ -} - -.blocklyMenuItemRtl .blocklyMenuItemCheckbox { - float: right; - margin-right: -24px; -} - -.blocklyBlockDragSurface, .blocklyAnimationLayer { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - overflow: visible !important; - z-index: 80; - pointer-events: none; -} -`,wd={};wd.inject=Ve,wd.register=we;var Le=class{constructor(e,t){this.x=e,this.y=t}clone(){return new Le(this.x,this.y)}scale(e){return this.x*=e,this.y*=e,this}translate(e,t){return this.x+=e,this.y+=t,this}static equals(e,t){return e===t?!0:e&&t?e.x===t.x&&e.y===t.y:!1}static distance(e,t){const r=e.x-t.x;return e=e.y-t.y,Math.sqrt(r*r+e*e)}static magnitude(e){return Math.sqrt(e.x*e.x+e.y*e.y)}static difference(e,t){return new Le(e.x-t.x,e.y-t.y)}static sum(e,t){return new Le(e.x+t.x,e.y+t.y)}},Nc="http://www.w3.org/2000/svg",bi="http://www.w3.org/1999/xhtml",nr="http://www.w3.org/1999/xlink",Ji;(function(e){e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE"})(Ji||(Ji={}));var Lr=null,ng=0,Cd=null,ds={HTML_NS:bi};ds.NodeType=Ji,ds.SVG_NS=Nc,ds.XLINK_NS=nr,ds.addClass=Fe,ds.createSvgElement=re,ds.getFastTextWidth=ns,ds.getFastTextWidthWithSizeString=Rn,ds.getTextWidth=Gs,ds.hasClass=En,ds.insertAfter=Cn,ds.measureFontMetrics=Kt,ds.removeClass=pt,ds.removeClasses=It,ds.removeNode=mt,ds.setCssTransform=$n,ds.startTextWidthCache=zn,ds.stopTextWidthCache=Jn;var oe=class{constructor(e){this.tagName=e}toString(){return this.tagName}};oe.ANIMATE=new oe("animate"),oe.CIRCLE=new oe("circle"),oe.CLIPPATH=new oe("clipPath"),oe.DEFS=new oe("defs"),oe.FECOMPOSITE=new oe("feComposite"),oe.FECOMPONENTTRANSFER=new oe("feComponentTransfer"),oe.FEFLOOD=new oe("feFlood"),oe.FEFUNCA=new oe("feFuncA"),oe.FEGAUSSIANBLUR=new oe("feGaussianBlur"),oe.FEPOINTLIGHT=new oe("fePointLight"),oe.FESPECULARLIGHTING=new oe("feSpecularLighting"),oe.FILTER=new oe("filter"),oe.FOREIGNOBJECT=new oe("foreignObject"),oe.G=new oe("g"),oe.IMAGE=new oe("image"),oe.LINE=new oe("line"),oe.PATH=new oe("path"),oe.PATTERN=new oe("pattern"),oe.POLYGON=new oe("polygon"),oe.RECT=new oe("rect"),oe.SVG=new oe("svg"),oe.TEXT=new oe("text"),oe.TSPAN=new oe("tspan");var Bt=class{constructor(e,t,r,l){this.top=e,this.bottom=t,this.left=r,this.right=l}clone(){return new Bt(this.top,this.bottom,this.left,this.right)}getHeight(){return this.bottom-this.top}getWidth(){return this.right-this.left}contains(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom}intersects(e){return this.left<=e.right&&this.right>=e.left&&this.bottom>=e.top&&this.top<=e.bottom}static equals(e,t){return e===t?!0:e&&t?e.top===t.top&&e.bottom===t.bottom&&e.left===t.left&&e.right===t.right:!1}static createFromPoint(e,t,r){const l=e.x;return e=e.y,new Bt(e,e+r,l,l+t)}},Jt=class{constructor(e,t){this.width=e,this.height=t}static equals(e,t){return e===t?!0:e&&t?e.width===t.width&&e.height===t.height:!1}static max(e,t){return new Jt(Math.max(e.width,t.width),Math.max(e.height,t.height))}static min(e,t){return new Jt(Math.min(e.width,t.width),Math.min(e.height,t.height))}},Xm={getSizeInternal:cs},$i={TEST_ONLY:Xm};$i.getBorderBox=ii,$i.getComputedStyle=jn,$i.getContainerOffsetToScrollInto=ec,$i.getPageOffset=Un,$i.getSize=Pn,$i.getViewportPageOffset=Rs,$i.scrollIntoContainerView=Ir;var Zm=/translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/,Qm=/transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/,Lc={XY_REGEX:Zm,XY_STYLE_REGEX:Qm},Io={TEST_ONLY:Lc};Io.getDocumentScroll=nc,Io.getInjectionDivXY=Ka,Io.getRelativeXY=xr,Io.getViewportBBox=tc,Io.screenToWsCoordinates=Tu,Io.wsToScreenCoordinates=Yo;var Fn=class{constructor(e,t,r,l,p){this.workspace=e,this.horizontal=t,this.oldHostMetrics=null,this.ratio=1,this.origin=new Le(0,0),this.startDragHandle=this.handlePosition=this.handleLength=this.scrollbarLength=this.startDragMouse=0,this.containerVisible=this.isHandleVisible=!0,this.position=new Le(0,0),this.onMouseMoveWrapper_=this.onMouseUpWrapper_=null,this.pair=r||!1,this.margin=p!==void 0?p:Fn.DEFAULT_SCROLLBAR_MARGIN,e="blocklyScrollbar"+(this.horizontal?"Horizontal":"Vertical"),l&&(e+=" "+l),this.outerSvg=re(oe.SVG,{class:e}),l=re(oe.G,{},this.outerSvg),this.svgBackground=re(oe.RECT,{class:"blocklyScrollbarBackground"},l),e=Math.floor((Fn.scrollbarThickness-5)/2),this.svgHandle=re(oe.RECT,{class:"blocklyScrollbarHandle",rx:e,ry:e},l),this.workspace.getThemeManager().subscribe(this.svgHandle,"scrollbarColour","fill"),this.workspace.getThemeManager().subscribe(this.svgHandle,"scrollbarOpacity","fill-opacity"),Cn(this.outerSvg,this.workspace.getParentSvg()),this.setInitialThickness(),t?(this.lengthAttribute_="width",this.positionAttribute_="x"):(this.lengthAttribute_="height",this.positionAttribute_="y"),this.onMouseDownBarWrapper_=Ue(this.svgBackground,"pointerdown",this,this.onMouseDownBar),this.onMouseDownHandleWrapper_=Ue(this.svgHandle,"pointerdown",this,this.onMouseDownHandle)}setInitialThickness(){const e=Fn.scrollbarThickness;this.horizontal?(this.svgBackground.setAttribute("height",String(e)),this.outerSvg.setAttribute("height",String(e)),this.svgHandle.setAttribute("height",String(e-5)),this.svgHandle.setAttribute("y","2.5")):(this.svgBackground.setAttribute("width",String(e)),this.outerSvg.setAttribute("width",String(e)),this.svgHandle.setAttribute("width",String(e-5)),this.svgHandle.setAttribute("x","2.5"))}dispose(){this.cleanUp(),wt(this.onMouseDownBarWrapper_),wt(this.onMouseDownHandleWrapper_),mt(this.outerSvg),this.workspace.getThemeManager().unsubscribe(this.svgHandle)}constrainHandleLength(e){return e=0>=e||isNaN(e)?0:Math.min(e,this.scrollbarLength)}setHandleLength(e){this.handleLength=e,this.svgHandle.setAttribute(this.lengthAttribute_,String(this.handleLength))}constrainHandlePosition(e){return e=0>=e||isNaN(e)?0:Math.min(e,this.scrollbarLength-this.handleLength)}setHandlePosition(e){this.handlePosition=e,this.svgHandle.setAttribute(this.positionAttribute_,String(this.handlePosition))}setScrollbarLength(e){this.scrollbarLength=e,this.outerSvg.setAttribute(this.lengthAttribute_,String(this.scrollbarLength)),this.svgBackground.setAttribute(this.lengthAttribute_,String(this.scrollbarLength))}setPosition(e,t){this.position.x=e,this.position.y=t,$n(this.outerSvg,"translate("+(this.position.x+this.origin.x)+"px,"+(this.position.y+this.origin.y)+"px)")}resize(e){!e&&(e=this.workspace.getMetrics(),!e)||this.oldHostMetrics&&Fn.metricsAreEquivalent(e,this.oldHostMetrics)||(this.horizontal?this.resizeHorizontal(e):this.resizeVertical(e),this.oldHostMetrics=e,this.updateMetrics())}requiresViewResize(e){return this.oldHostMetrics?this.oldHostMetrics.viewWidth!==e.viewWidth||this.oldHostMetrics.viewHeight!==e.viewHeight||this.oldHostMetrics.absoluteLeft!==e.absoluteLeft||this.oldHostMetrics.absoluteTop!==e.absoluteTop:!0}resizeHorizontal(e){this.requiresViewResize(e)?this.resizeViewHorizontal(e):this.resizeContentHorizontal(e)}resizeViewHorizontal(e){var t=e.viewWidth-2*this.margin;this.pair&&(t-=Fn.scrollbarThickness),this.setScrollbarLength(Math.max(0,t)),t=e.absoluteLeft+this.margin,this.pair&&this.workspace.RTL&&(t+=Fn.scrollbarThickness),this.setPosition(t,e.absoluteTop+e.viewHeight-Fn.scrollbarThickness-this.margin),this.resizeContentHorizontal(e)}resizeContentHorizontal(e){if(e.viewWidth>=e.scrollWidth)this.setHandleLength(this.scrollbarLength),this.setHandlePosition(0),this.pair||this.setVisible(!1);else{this.pair||this.setVisible(!0);var t=this.scrollbarLength*e.viewWidth/e.scrollWidth;t=this.constrainHandleLength(t),this.setHandleLength(t),t=e.scrollWidth-e.viewWidth;var r=this.scrollbarLength-this.handleLength;e=(e.viewLeft-e.scrollLeft)/t*r,e=this.constrainHandlePosition(e),this.setHandlePosition(e),this.ratio=r/t}}resizeVertical(e){this.requiresViewResize(e)?this.resizeViewVertical(e):this.resizeContentVertical(e)}resizeViewVertical(e){let t=e.viewHeight-2*this.margin;this.pair&&(t-=Fn.scrollbarThickness),this.setScrollbarLength(Math.max(0,t)),this.setPosition(this.workspace.RTL?e.absoluteLeft+this.margin:e.absoluteLeft+e.viewWidth-Fn.scrollbarThickness-this.margin,e.absoluteTop+this.margin),this.resizeContentVertical(e)}resizeContentVertical(e){if(e.viewHeight>=e.scrollHeight)this.setHandleLength(this.scrollbarLength),this.setHandlePosition(0),this.pair||this.setVisible(!1);else{this.pair||this.setVisible(!0);var t=this.scrollbarLength*e.viewHeight/e.scrollHeight;t=this.constrainHandleLength(t),this.setHandleLength(t),t=e.scrollHeight-e.viewHeight;var r=this.scrollbarLength-this.handleLength;e=(e.viewTop-e.scrollTop)/t*r,e=this.constrainHandlePosition(e),this.setHandlePosition(e),this.ratio=r/t}}isVisible(){return this.isHandleVisible}setContainerVisible(e){const t=e!==this.containerVisible;this.containerVisible=e,t&&this.updateDisplay_()}setVisible(e){if(this.pair)throw Error("Unable to toggle visibility of paired scrollbars.");this.setVisibleInternal(e)}setVisibleInternal(e){const t=e!==this.isVisible();this.isHandleVisible=e,t&&this.updateDisplay_()}updateDisplay_(){this.containerVisible&&this.isVisible()?this.outerSvg.setAttribute("display","block"):this.outerSvg.setAttribute("display","none")}onMouseDownBar(e){if(this.workspace.markFocused(),ft(),this.cleanUp(),ct(e))e.stopPropagation();else{var t=me(e,this.workspace.getParentSvg(),this.workspace.getInverseScreenCTM());t=this.horizontal?t.x:t.y;var r=Ka(this.svgHandle);r=this.horizontal?r.x:r.y;var l=this.handlePosition,p=.95*this.handleLength;t<=r?l-=p:t>=r+this.handleLength&&(l+=p),this.setHandlePosition(this.constrainHandlePosition(l)),this.updateMetrics(),e.stopPropagation(),e.preventDefault()}}onMouseDownHandle(e){this.workspace.markFocused(),this.cleanUp(),ct(e)?e.stopPropagation():(this.startDragHandle=this.handlePosition,this.startDragMouse=this.horizontal?e.clientX:e.clientY,this.onMouseUpWrapper_=Ue(document,"pointerup",this,this.onMouseUpHandle),this.onMouseMoveWrapper_=Ue(document,"pointermove",this,this.onMouseMoveHandle),e.stopPropagation(),e.preventDefault())}onMouseMoveHandle(e){this.setHandlePosition(this.constrainHandlePosition(this.startDragHandle+((this.horizontal?e.clientX:e.clientY)-this.startDragMouse))),this.updateMetrics()}onMouseUpHandle(){ft(),this.cleanUp()}cleanUp(){this.workspace.hideChaff(!0),this.onMouseUpWrapper_&&(wt(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null),this.onMouseMoveWrapper_&&(wt(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null)}getRatio_(){let e=this.handlePosition/(this.scrollbarLength-this.handleLength);return isNaN(e)&&(e=0),e}updateMetrics(){const e=this.getRatio_();this.horizontal?this.workspace.setMetrics({x:e}):this.workspace.setMetrics({y:e})}set(e,t){this.setHandlePosition(this.constrainHandlePosition(e*this.ratio)),(t||t===void 0)&&this.updateMetrics()}setOrigin(e,t){this.origin=new Le(e,t)}static metricsAreEquivalent(e,t){return e.viewWidth===t.viewWidth&&e.viewHeight===t.viewHeight&&e.viewLeft===t.viewLeft&&e.viewTop===t.viewTop&&e.absoluteTop===t.absoluteTop&&e.absoluteLeft===t.absoluteLeft&&e.scrollWidth===t.scrollWidth&&e.scrollHeight===t.scrollHeight&&e.scrollLeft===t.scrollLeft&&e.scrollTop===t.scrollTop}};Fn.scrollbarThickness=Kp?25:15,Fn.DEFAULT_SCROLLBAR_MARGIN=.5;var Sd={parseFromString:function(){throw Error("DOMParser was not found in the global scope and was not properly injected using injectDependencies")}},sg={serializeToString:function(){throw Error("XMLSerializer was not foundin the global scope and was not properly injected using injectDependencies")}},{document:Td,DOMParser:Bc,XMLSerializer:El}=globalThis;Bc&&(Sd=new Bc),El&&(sg=new El);var rg="https://developers.google.com/blockly/xml",ny=/[\x00-\x09\x0B\x0C\x0E-\x1F]/g,xo={NAME_SPACE:rg};xo.createElement=s.createElement$$module$build$src$core$utils$xml,xo.createTextNode=s.createTextNode$$module$build$src$core$utils$xml,xo.domToText=U,xo.injectDependencies=z,xo.textToDom=s.textToDom$$module$build$src$core$utils$xml;var kd="categoryToolbox",Il="flyoutToolbox",Rt;(function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT"})(Rt||(Rt={}));var ig={hasCategoriesInternal:_e},qi={};qi.Position=Rt,qi.TEST_ONLY=ig,qi.convertFlyoutDefToJsonArray=pe,qi.convertToolboxDefToJson=j,qi.hasCategories=Ee,qi.isCategoryCollapsible=ae,qi.parseToolboxTree=Yt;var Br;(function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM"})(Br||(Br={}));var wa;(function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"})(wa||(wa={}));var bs;(function(e){e[e.UP=0]="UP",e[e.DOWN=1]="DOWN"})(bs||(bs={}));var fr={};fr.bumpDirection=bs,fr.bumpPositionRect=an,fr.getCornerOppositeToolbox=Lt,fr.getStartPositionRect=on,fr.horizontalPosition=wa,fr.verticalPosition=Br;var Ls={width:96,height:124,url:"sprites.png"},og=class{constructor(e){this.workspace=e,this.id="zoomControls",this.boundEvents=[],this.zoomResetGroup=this.zoomOutGroup=this.zoomInGroup=null,this.HEIGHT=this.WIDTH=32,this.SMALL_SPACING=2,this.LARGE_SPACING=11,this.MARGIN_HORIZONTAL=this.MARGIN_VERTICAL=20,this.svgGroup=null,this.top=this.left=0,this.initialized=!1}createDom(){this.svgGroup=re(oe.G,{});const e=String(Math.random()).substring(2);return this.createZoomOutSvg(e),this.createZoomInSvg(e),this.workspace.isMovable()&&this.createZoomResetSvg(e),this.svgGroup}init(){this.workspace.getComponentManager().addComponent({component:this,weight:pn.ComponentWeight.ZOOM_CONTROLS_WEIGHT,capabilities:[pn.Capability.POSITIONABLE]}),this.initialized=!0}dispose(){this.workspace.getComponentManager().removeComponent("zoomControls"),this.svgGroup&&mt(this.svgGroup);for(const e of this.boundEvents)wt(e);this.boundEvents.length=0}getBoundingRectangle(){let e=this.SMALL_SPACING+2*this.HEIGHT;return this.zoomResetGroup&&(e+=this.LARGE_SPACING+this.HEIGHT),new Bt(this.top,this.top+e,this.left,this.left+this.WIDTH)}position(e,t){if(this.initialized){var r=Lt(this.workspace,e),l=this.SMALL_SPACING+2*this.HEIGHT;if(this.zoomResetGroup&&(l+=this.LARGE_SPACING+this.HEIGHT),e=on(r,new Jt(this.WIDTH,l),this.MARGIN_HORIZONTAL,this.MARGIN_VERTICAL,e,this.workspace),r=r.vertical,t=an(e,this.MARGIN_VERTICAL,r===Br.TOP?bs.DOWN:bs.UP,t),r===Br.TOP){var p=this.SMALL_SPACING+this.HEIGHT,v;(v=this.zoomInGroup)==null||v.setAttribute("transform","translate(0, "+p+")"),this.zoomResetGroup&&this.zoomResetGroup.setAttribute("transform","translate(0, "+(p+this.LARGE_SPACING+this.HEIGHT)+")")}else{v=this.zoomResetGroup?this.LARGE_SPACING+this.HEIGHT:0;let G;(G=this.zoomInGroup)==null||G.setAttribute("transform","translate(0, "+v+")"),v=v+this.SMALL_SPACING+this.HEIGHT,(p=this.zoomOutGroup)==null||p.setAttribute("transform","translate(0, "+v+")")}this.top=t.top,this.left=t.left;var O;(O=this.svgGroup)==null||O.setAttribute("transform","translate("+this.left+","+this.top+")")}}createZoomOutSvg(e){this.zoomOutGroup=re(oe.G,{class:"blocklyZoom blocklyZoomOut"},this.svgGroup);const t=re(oe.CLIPPATH,{id:"blocklyZoomoutClipPath"+e},this.zoomOutGroup);re(oe.RECT,{width:32,height:32},t),re(oe.IMAGE,{width:Ls.width,height:Ls.height,x:-64,y:-92,"clip-path":"url(#blocklyZoomoutClipPath"+e+")"},this.zoomOutGroup).setAttributeNS(nr,"xlink:href",this.workspace.options.pathToMedia+Ls.url),this.boundEvents.push(Ue(this.zoomOutGroup,"pointerdown",null,this.zoom.bind(this,-1)))}createZoomInSvg(e){this.zoomInGroup=re(oe.G,{class:"blocklyZoom blocklyZoomIn"},this.svgGroup);const t=re(oe.CLIPPATH,{id:"blocklyZoominClipPath"+e},this.zoomInGroup);re(oe.RECT,{width:32,height:32},t),re(oe.IMAGE,{width:Ls.width,height:Ls.height,x:-32,y:-92,"clip-path":"url(#blocklyZoominClipPath"+e+")"},this.zoomInGroup).setAttributeNS(nr,"xlink:href",this.workspace.options.pathToMedia+Ls.url),this.boundEvents.push(Ue(this.zoomInGroup,"pointerdown",null,this.zoom.bind(this,1)))}zoom(e,t){this.workspace.markFocused(),this.workspace.zoomCenter(e),this.fireZoomEvent(),ft(),t.stopPropagation(),t.preventDefault()}createZoomResetSvg(e){this.zoomResetGroup=re(oe.G,{class:"blocklyZoom blocklyZoomReset"},this.svgGroup);const t=re(oe.CLIPPATH,{id:"blocklyZoomresetClipPath"+e},this.zoomResetGroup);re(oe.RECT,{width:32,height:32},t),re(oe.IMAGE,{width:Ls.width,height:Ls.height,y:-92,"clip-path":"url(#blocklyZoomresetClipPath"+e+")"},this.zoomResetGroup).setAttributeNS(nr,"xlink:href",this.workspace.options.pathToMedia+Ls.url),this.boundEvents.push(Ue(this.zoomResetGroup,"pointerdown",null,this.resetZoom.bind(this)))}resetZoom(e){this.workspace.markFocused();const t=Math.log(this.workspace.options.zoomOptions.startScale/this.workspace.scale)/Math.log(this.workspace.options.zoomOptions.scaleSpeed);this.workspace.beginCanvasTransition(),this.workspace.zoomCenter(t),this.workspace.scrollCenter(),setTimeout(this.workspace.endCanvasTransition.bind(this.workspace),500),this.fireZoomEvent(),ft(),e.stopPropagation(),e.preventDefault()}fireZoomEvent(){const e=new(Ce(fe.CLICK))(null,this.workspace.id,"zoom_controls");ee(e)}};we(` -.blocklyZoom>image, .blocklyZoom>svg>image { - opacity: .4; -} - -.blocklyZoom>image:hover, .blocklyZoom>svg>image:hover { - opacity: .6; -} - -.blocklyZoom>image:active, .blocklyZoom>svg>image:active { - opacity: .8; -} -`);var eb=100,tb=75,nb=50,sb=25,sy={BLOCKS:nb,PROCEDURES:tb,VARIABLES:eb,WORKSPACE_COMMENTS:sb},ag={};ag.register=_n,ag.unregister=Tt;var rb=class{constructor(){this.priority=sb}save(e){const t=[];for(const r of e.getTopComments())(e=In(r,{addCoordinates:!0,saveIds:!0}))&&t.push(e);return t.length?t:null}load(e,t){for(const r of e)ss(r,t,{recordUndo:se()})}clear(e){for(const t of e.getTopComments())t.dispose()}};_n("workspaceComments",new rb);var Ed={};Ed.WorkspaceCommentSerializer=rb,Ed.append=ss,Ed.save=In;var lg={};lg.register=Js,lg.unregister=Xo;var Id=class{paste(e,t,r){e=e.commentState,r&&(e.x=r.x,e.y=r.y),s.disable$$module$build$src$core$events$utils();let l;try{l=ss(e,t),Dr(l)}finally{s.enable$$module$build$src$core$events$utils()}return l?(te()&&ee(new(Ce(fe.COMMENT_CREATE))(l)),s.setSelected$$module$build$src$core$common(l),l):null}};Id.TYPE="workspace-comment",Js(Id.TYPE,new Id);var cg;cg=28,s.config$$module$build$src$core$config={dragRadius:5,flyoutDragRadius:10,snapRadius:cg,connectingSnapRadius:cg,currentConnectionPreference:8,bumpDelay:250},s.config$$module$build$src$core$config;var ib="aria-",ob="role",Pr;(function(e){e.GRID="grid",e.GRIDCELL="gridcell",e.GROUP="group",e.LISTBOX="listbox",e.MENU="menu",e.MENUITEM="menuitem",e.MENUITEMCHECKBOX="menuitemcheckbox",e.OPTION="option",e.PRESENTATION="presentation",e.ROW="row",e.TREE="tree",e.TREEITEM="treeitem"})(Pr||(Pr={}));var as;(function(e){e.ACTIVEDESCENDANT="activedescendant",e.COLCOUNT="colcount",e.DISABLED="disabled",e.EXPANDED="expanded",e.INVALID="invalid",e.LABEL="label",e.LABELLEDBY="labelledby",e.LEVEL="level",e.ORIENTATION="orientation",e.POSINSET="posinset",e.ROWCOUNT="rowcount",e.SELECTED="selected",e.SETSIZE="setsize",e.VALUEMAX="valuemax",e.VALUEMIN="valuemin"})(as||(as={}));var Pc={};Pc.Role=Pr,Pc.State=as,Pc.setRole=Ts,Pc.setState=tn;var ug=class{constructor(){this.menuItems=[],this.roleName=this.element=this.onKeyDownHandler=this.pointerLeaveHandler=this.pointerEnterHandler=this.clickHandler=this.pointerMoveHandler=this.highlightedItem=this.openingCoords=null}addChild(e){this.menuItems.push(e)}render(e){const t=document.createElement("div");t.className="blocklyMenu goog-menu blocklyNonSelectable",t.tabIndex=0,this.roleName&&Ts(t,this.roleName),this.element=t;for(let r=0,l;l=this.menuItems[r];r++)t.appendChild(l.createDom());return this.pointerMoveHandler=Ue(t,"pointermove",this,this.handlePointerMove,!0),this.clickHandler=Ue(t,"pointerup",this,this.handleClick,!0),this.pointerEnterHandler=Ue(t,"pointerenter",this,this.handlePointerEnter,!0),this.pointerLeaveHandler=Ue(t,"pointerleave",this,this.handlePointerLeave,!0),this.onKeyDownHandler=Ue(t,"keydown",this,this.handleKeyEvent),e.appendChild(t),t}getElement(){return this.element}focus(){const e=this.getElement();e&&(e.focus({preventScroll:!0}),Fe(e,"blocklyFocused"))}blur(){const e=this.getElement();e&&(e.blur(),pt(e,"blocklyFocused"))}setRole(e){this.roleName=e}dispose(){this.pointerMoveHandler&&(wt(this.pointerMoveHandler),this.pointerMoveHandler=null),this.clickHandler&&(wt(this.clickHandler),this.clickHandler=null),this.pointerEnterHandler&&(wt(this.pointerEnterHandler),this.pointerEnterHandler=null),this.pointerLeaveHandler&&(wt(this.pointerLeaveHandler),this.pointerLeaveHandler=null),this.onKeyDownHandler&&(wt(this.onKeyDownHandler),this.onKeyDownHandler=null);for(let e=0,t;t=this.menuItems[e];e++)t.dispose();this.element=null}getMenuItem(e){const t=this.getElement();for(;e&&e!==t;){if(e.classList.contains("blocklyMenuItem")){for(let r=0,l;l=this.menuItems[r];r++)if(l.getElement()===e)return l}e=e.parentElement}return null}setHighlighted(e){var t=this.highlightedItem;if(t&&(t.setHighlighted(!1),this.highlightedItem=null),e){e.setHighlighted(!0),this.highlightedItem=e,t=this.getElement();const r=t==null?void 0:t.parentElement,l=e.getElement();r&&l&&(Ir(l,r),tn(t,as.ACTIVEDESCENDANT,e.getId()))}}highlightNext(){const e=this.highlightedItem?this.menuItems.indexOf(this.highlightedItem):-1;this.highlightHelper(e,1)}highlightPrevious(){const e=this.highlightedItem?this.menuItems.indexOf(this.highlightedItem):-1;this.highlightHelper(0>e?this.menuItems.length:e,-1)}highlightFirst(){this.highlightHelper(-1,1)}highlightLast(){this.highlightHelper(this.menuItems.length,-1)}highlightHelper(e,t){e+=t;let r;for(;r=this.menuItems[e];){if(r.isEnabled()){this.setHighlighted(r);break}e+=t}}handlePointerMove(e){Math.max(Math.abs(e.movementX),Math.abs(e.movementY))!==0&&(e=this.getMenuItem(e.target))&&(e.isEnabled()?this.highlightedItem!==e&&this.setHighlighted(e):this.setHighlighted(null))}handleClick(e){const t=this.openingCoords;if(this.openingCoords=null,t&&typeof e.clientX=="number"){const r=new Le(e.clientX,e.clientY);if(1>Le.distance(t,r))return}(e=this.getMenuItem(e.target))&&e.performAction()}handlePointerEnter(e){this.focus()}handlePointerLeave(e){this.getElement()&&this.setHighlighted(null)}handleKeyEvent(e){if(this.menuItems.length&&!(e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)){var t=this.highlightedItem;switch(e.key){case"Enter":case" ":t&&t.performAction();break;case"ArrowUp":this.highlightPrevious();break;case"ArrowDown":this.highlightNext();break;case"PageUp":case"Home":this.highlightFirst();break;case"PageDown":case"End":this.highlightLast();break;default:return}e.preventDefault(),e.stopPropagation()}}getSize(){const e=this.getElement(),t=Pn(e);return t.height=e.scrollHeight,t}},xd=class{constructor(e,t){this.content=e,this.opt_value=t,this.enabled=!0,this.element=null,this.rightToLeft=!1,this.roleName=null,this.highlight=this.checked=this.checkable=!1,this.actionHandler=null}createDom(){const e=document.createElement("div");e.id=C(),this.element=e,e.className="blocklyMenuItem goog-menuitem "+(this.enabled?"":"blocklyMenuItemDisabled goog-menuitem-disabled ")+(this.checked?"blocklyMenuItemSelected goog-option-selected ":"")+(this.highlight?"blocklyMenuItemHighlight goog-menuitem-highlight ":"")+(this.rightToLeft?"blocklyMenuItemRtl goog-menuitem-rtl ":"");const t=document.createElement("div");if(t.className="blocklyMenuItemContent goog-menuitem-content",this.checkable){var r=document.createElement("div");r.className="blocklyMenuItemCheckbox goog-menuitem-checkbox",t.appendChild(r)}return r=this.content,typeof this.content=="string"&&(r=document.createTextNode(this.content)),t.appendChild(r),e.appendChild(t),this.roleName&&Ts(e,this.roleName),tn(e,as.SELECTED,this.checkable&&this.checked||!1),tn(e,as.DISABLED,!this.enabled),e}dispose(){this.element=null}getElement(){return this.element}getId(){return this.element.id}getValue(){let e;return(e=this.opt_value)!=null?e:null}setRightToLeft(e){this.rightToLeft=e}setRole(e){this.roleName=e}setCheckable(e){this.checkable=e}setChecked(e){this.checked=e}setHighlighted(e){this.highlight=e;const t=this.getElement();t&&this.isEnabled()&&(e?(Fe(t,"blocklyMenuItemHighlight"),Fe(t,"goog-menuitem-highlight")):(pt(t,"blocklyMenuItemHighlight"),pt(t,"goog-menuitem-highlight")))}isEnabled(){return this.enabled}setEnabled(e){this.enabled=e}performAction(){this.isEnabled()&&this.actionHandler&&this.actionHandler(this)}onAction(e,t){this.actionHandler=e.bind(t)}},jc="_TEMP_COLLAPSED_INPUT",Dd="_TEMP_COLLAPSED_FIELD",Bs="MANUALLY_DISABLED",ry={COLLAPSED_FIELD_NAME:Dd,COLLAPSED_INPUT_NAME:jc,MANUALLY_DISABLED:Bs};(function(e){e[e.VALUE=1]="VALUE",e[e.STATEMENT=3]="STATEMENT",e[e.DUMMY=5]="DUMMY",e[e.CUSTOM=6]="CUSTOM",e[e.END_ROW=7]="END_ROW"})(s.inputTypes$$module$build$src$core$inputs$input_types||(s.inputTypes$$module$build$src$core$inputs$input_types={})),s.inputTypes$$module$build$src$core$inputs$input_types;var Ad=new Set,dg=new WeakSet,sr=new WeakMap,xl=null,hg=null,ab=0,Fc={};Fc.finishQueuedRenders=rs,Fc.queueRender=Oi,Fc.triggerQueuedRenders=Ms;var lb=function(e,t){window.alert(e),t&&t()},cb=function(e,t){t(window.confirm(e))},ub=function(e,t,r){r(window.prompt(e,t))},db={confirmInternal:Qo},Yi={TEST_ONLY:db};Yi.alert=Mi,Yi.confirm=Ja,Yi.prompt=sc,Yi.setAlert=ku,Yi.setConfirm=Nh,Yi.setPrompt=Xf;var pg,hb;s.Msg$$module$build$src$core$msg=Object.create(null),pg=function(e){Object.keys(e).forEach(function(t){s.Msg$$module$build$src$core$msg[t]=e[t]})},hb={Msg:s.Msg$$module$build$src$core$msg,setLocale:pg};var zc=class extends ba{constructor(e){super(),this.isBlank=typeof e>"u",e&&(this.varId=e.getId(),this.workspaceId=e.workspace.id)}toJson(){const e=super.toJson();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");return e.varId=this.varId,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new zc),t.varId=e.varId,t}},gg=class extends zc{constructor(e){super(e),this.type=fe.VAR_CREATE,e&&(this.varType=e.type,this.varName=e.name)}toJson(){const e=super.toJson();if(this.varType===void 0)throw Error("The var type is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");return e.varType=this.varType,e.varName=this.varName,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new gg),t.varType=e.varType,t.varName=e.varName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");e?t.createVariable(this.varName,this.varType,this.varId):t.deleteVariableById(this.varId)}};i(Be.EVENT,fe.VAR_CREATE,gg);var Uc=class{constructor(e,t,r,l){this.workspace=e,this.name=t,this.type=r||"",this.id=l||E()}getId(){return this.id}static compareByName(e,t){return e.name.localeCompare(t.name,void 0,{sensitivity:"base"})}},fg="VARIABLE",mg="ijkmnopqrstuvwxyzabcdefgh",pb={generateUniqueNameInternal:Zf},$s={CATEGORY_NAME:fg,TEST_ONLY:pb,VAR_LETTER_OPTIONS:mg};$s.allDeveloperVariables=s.allDeveloperVariables$$module$build$src$core$variables,$s.allUsedVarModels=s.allUsedVarModels$$module$build$src$core$variables,$s.createVariableButtonHandler=qa,$s.flyoutCategory=rc,$s.flyoutCategoryBlocks=Bh,$s.generateUniqueName=Ph,$s.generateUniqueNameFromOptions=ic,$s.generateVariableFieldDom=ta,$s.getAddedVariables=ac,$s.getOrCreateVariablePackage=s.getOrCreateVariablePackage$$module$build$src$core$variables,$s.getVariable=s.getVariable$$module$build$src$core$variables,$s.nameUsedWithAnyType=jh,$s.nameUsedWithConflictingParam=oc,$s.promptName=Iu,$s.renameVariable=s.renameVariable$$module$build$src$core$variables;var Dl=class extends Error{},gb=class extends Dl{constructor(e){super("Expected to find a 'type' property, defining the block type"),this.state=e}},Wc=class extends Dl{constructor(e,t,r){super(`The block ${t.toDevString()} is missing a(n) ${e} -connection`),this.block=t,this.state=r}},fb=class extends Dl{constructor(e,t,r,l){super(`The block ${r.toDevString()} could not connect its -${t} to its parent, because: ${e}`),this.childBlock=r,this.childState=l}},mb=class extends Dl{constructor(e){super(`Encountered a real block which is defined as a child of a shadow -block. It is an invariant of Blockly that shadow blocks only have shadow -children`),this.state=e}},bb=class extends Dl{constructor(e,t,r){super(`Cannot add an icon of type '${e}' to the block ${t.toDevString()}, because there is no icon registered with type '${e}'. Make sure that all of your icons have been registered.`),this.block=t,this.state=r}},Ca={};Ca.BadConnectionCheck=fb,Ca.DeserializationError=Dl,Ca.MissingBlockType=gb,Ca.MissingConnection=Wc,Ca.RealChildOfShadow=mb,Ca.UnregisteredIcon=bb;var $b=class{constructor(){this.priority=nb}save(e){const t=[];for(const r of e.getTopBlocks(!1))(e=Qt(r,{addCoordinates:!0,doFullSerialization:!1}))&&t.push(e);return t.length?{languageVersion:0,blocks:t}:null}load(e,t){e=e.blocks;for(const r of e)Ni(r,t,{recordUndo:se()})}clear(e){for(const t of e.getTopBlocks(!1))t.dispose(!1)}};_n("blocks",new $b);var Hc={};Hc.BlockSerializer=$b,Hc.append=Ni,Hc.appendInternal=Wn,Hc.save=Qt;var Qn=class{constructor(e){this.name=e}toString(){return this.name}equals(e){return this.name===e.toString()}};Qn.MUTATOR=new Qn("mutator"),Qn.WARNING=new Qn("warning"),Qn.COMMENT=new Qn("comment");var Sa=class extends ba{constructor(e){super(),this.isBlank=!e,e&&(this.blockId=e.id,this.workspaceId=e.workspace.id)}toJson(){const e=super.toJson();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");return e.blockId=this.blockId,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Sa),t.blockId=e.blockId,t}},Xi=class extends Sa{constructor(e,t,r,l,p){super(e),this.type=fe.BLOCK_CHANGE,e&&(this.element=t,this.name=r||void 0,this.oldValue=l,this.newValue=p)}toJson(){const e=super.toJson();if(!this.element)throw Error("The changed element is undefined. Either pass an element to the constructor, or call fromJson");return e.element=this.element,e.name=this.name,e.oldValue=this.oldValue,e.newValue=this.newValue,this.disabledReason&&(e.disabledReason=this.disabledReason),e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Xi),t.element=e.element,t.name=e.name,t.oldValue=e.oldValue,t.newValue=e.newValue,e.disabledReason!==void 0&&(t.disabledReason=e.disabledReason),t}setDisabledReason(e){if(this.element!=="disabled")throw Error('Cannot set the disabled reason for a BlockChange event if the element is not "disabled".');this.disabledReason=e}isNull(){return this.oldValue===this.newValue}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");if(t=t.getBlockById(this.blockId),!t)throw Error("The associated block is undefined. Either pass a block to the constructor, or call fromJson");const r=t.getIcon(Qn.MUTATOR);switch(r&&Ya(r)&&r.bubbleIsVisible()&&r.setBubbleVisible(!1),e=e?this.newValue:this.oldValue,this.element){case"field":(t=t.getField(this.name))?t.setValue(e):console.warn("Can't set non-existent field: "+this.name);break;case"comment":t.setCommentText(e||null);break;case"collapsed":t.setCollapsed(!!e);break;case"disabled":var l;t.setDisabledReason(!!e,(l=this.disabledReason)!=null?l:Bs);break;case"inline":t.setInputsInline(!!e);break;case"mutation":l=Xi.getExtraBlockState_(t),t.loadExtraState?t.loadExtraState(JSON.parse(e||"{}")):t.domToMutation&&t.domToMutation(s.textToDom$$module$build$src$core$utils$xml(e||"")),ee(new Xi(t,"mutation",null,l,e));break;default:console.warn("Unknown change type: "+this.element)}}static getExtraBlockState_(e){return e.saveExtraState?(e=e.saveExtraState(!0))?JSON.stringify(e):"":e.mutationToDom&&(e=e.mutationToDom())?ci(e):""}};i(Be.EVENT,fe.BLOCK_CHANGE,Xi);var Vc={};Vc.clamp=na,Vc.toDegrees=cm,Vc.toRadians=Ns;var Od=16,vb=1,yb=12,bg=16,Rd=.25,$g=null,Ta=null,Al="",ka="",ln,Zi,Ea,vg=null,Do=null,_b=null,yg={getBoundsInfo:function(){const e=Un(vg),t=Pn(vg);return{left:e.x,right:e.x+t.width,top:e.y,bottom:e.y+t.height,width:t.width,height:t.height}},getPositionMetrics:function(e,t,r,l){const p=yg.getBoundsInfo(),v=Pn(ln);return t+v.heightp.top?bo(r,l,p,v):t+v.heightdocument.documentElement.clientTop?bo(r,l,p,v):dm(e,p,v)}},Is={ANIMATION_TIME:Rd,ARROW_HORIZONTAL_PADDING:yb,ARROW_SIZE:Od,BORDER_SIZE:vb,PADDING_Y:bg,TEST_ONLY:yg};Is.clearContent=Kr,Is.createDom=ai,Is.getContentDiv=wn,Is.getOwner=cc,Is.getPositionX=Qa,Is.hide=tl,Is.hideIfOwner=el,Is.hideWithoutAnimation=Jr,Is.isVisible=Ru,Is.repositionForWindowResize=hc,Is.setBoundsElement=Xa,Is.setColour=uc,Is.show=Ou,Is.showPositionedByBlock=um,Is.showPositionedByField=dc;var Gc=class{constructor(e){this.workspace=e,this.cursorSvg=this.cursor=null,this.markers=new Map,this.markerSvg=null}registerMarker(e,t){this.markers.has(e)&&this.unregisterMarker(e),t.setDrawer(this.workspace.getRenderer().makeMarkerDrawer(this.workspace,t)),this.setMarkerSvg(t.getDrawer().createDom()),this.markers.set(e,t)}unregisterMarker(e){const t=this.markers.get(e);if(t)t.dispose(),this.markers.delete(e);else throw Error("Marker with ID "+e+" does not exist. Can only unregister markers that exist.")}getCursor(){return this.cursor}getMarker(e){return this.markers.get(e)||null}setCursor(e){this.cursor&&this.cursor.getDrawer()&&this.cursor.getDrawer().dispose(),(this.cursor=e)&&(e=this.workspace.getRenderer().makeMarkerDrawer(this.workspace,this.cursor),this.cursor.setDrawer(e),this.setCursorSvg(this.cursor.getDrawer().createDom()))}setCursorSvg(e){e?(this.workspace.getBlockCanvas().appendChild(e),this.cursorSvg=e):this.cursorSvg=null}setMarkerSvg(e){e?this.workspace.getBlockCanvas()&&(this.cursorSvg?this.workspace.getBlockCanvas().insertBefore(e,this.cursorSvg):this.workspace.getBlockCanvas().appendChild(e)):this.markerSvg=null}updateMarkers(){this.workspace.keyboardAccessibilityMode&&this.cursorSvg&&this.workspace.getCursor().draw()}dispose(){const e=Object.keys(this.markers);for(let t=0,r;r=e[t];t++)this.unregisterMarker(r);this.markers.clear(),this.cursor&&(this.cursor.dispose(),this.cursor=null)}};Gc.LOCAL_MARKER="local_marker_1";var Ol={};Ol.commonWordPrefix=Yh,Ol.commonWordSuffix=Mu,Ol.isNumber=s.isNumber$$module$build$src$core$utils$string,Ol.shortestStringLength=sa,Ol.wrap=s.wrap$$module$build$src$core$utils$string;var Md=void 0,Kc=!1,Rl=!1,wb=50,Cb=0,Ia=0,_g=0,wg=0,mr=null,Ml=null,Cg=0,Sg=10,Sb=10,Tb=750,xa=5,es=null,br={HOVER_MS:Tb,LIMIT:wb,MARGINS:xa,OFFSET_X:Cg,OFFSET_Y:Sg,RADIUS_OK:Sb};br.bindMouseEvents=rl,br.block=tp,br.createDom=$o,br.dispose=il,br.getCustomTooltip=hm,br.getDiv=gm,br.getTooltipOfObject=sl,br.hide=Li,br.isVisible=pm,br.setCustomTooltip=Zh,br.unbindMouseEvents=Nu,br.unblock=np;var Tg=.45,kg=.65,kb={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},jr={};jr.blend=et,jr.getHsvSaturation=rp,jr.getHsvValue=ip,jr.hexToRgb=De,jr.hsvToHex=be,jr.hueToHex=xt,jr.names=kb,jr.parse=Or,jr.rgbToHex=ie,jr.setHsvSaturation=mm,jr.setHsvValue=bm;var Jc={};Jc.checkMessageReferences=Bu,Jc.parseBlockColour=ol,Jc.replaceMessageReferences=kt,Jc.tokenizeInterpolation=qn;var vn=class{constructor(e,t,r){this.DEFAULT_VALUE=null,this.name=void 0,this.constants_=this.mouseDownWrapper=this.textContent_=this.textElement_=this.borderRect_=this.fieldGroup_=this.markerSvg=this.cursorSvg=this.tooltip=this.validator_=null,this.disposed=!1,this.maxDisplayLength=50,this.sourceBlock_=null,this.enabled_=this.visible_=this.isDirty_=!0,this.suffixField=this.prefixField=this.clickTarget_=null,this.EDITABLE=!0,this.SERIALIZABLE=!1,this.CURSOR="",this.value_="DEFAULT_VALUE"in new.target.prototype?new.target.prototype.DEFAULT_VALUE:this.DEFAULT_VALUE,this.size_=new Jt(0,0),e!==vn.SKIP_SETUP&&(r&&this.configure_(r),this.setValue(e),t&&this.setValidator(t))}configure_(e){e.tooltip&&this.setTooltip(kt(e.tooltip))}setSourceBlock(e){if(this.sourceBlock_)throw Error("Field already bound to a block");this.sourceBlock_=e}getConstants(){return!this.constants_&&this.sourceBlock_&&!this.sourceBlock_.isDeadOrDying()&&this.sourceBlock_.workspace.rendered&&(this.constants_=this.sourceBlock_.workspace.getRenderer().getConstants()),this.constants_}getSourceBlock(){return this.sourceBlock_}init(){this.fieldGroup_||(this.fieldGroup_=re(oe.G,{}),this.isVisible()||(this.fieldGroup_.style.display="none"),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.initView(),this.updateEditable(),this.setTooltip(this.tooltip),this.bindEvents_(),this.initModel(),this.applyColour())}initView(){this.createBorderRect_(),this.createTextElement_()}initModel(){}isFullBlockField(){return!this.borderRect_}createBorderRect_(){this.borderRect_=re(oe.RECT,{rx:this.getConstants().FIELD_BORDER_RECT_RADIUS,ry:this.getConstants().FIELD_BORDER_RECT_RADIUS,x:0,y:0,height:this.size_.height,width:this.size_.width,class:"blocklyFieldRect"},this.fieldGroup_)}createTextElement_(){this.textElement_=re(oe.TEXT,{class:"blocklyText"},this.fieldGroup_),this.getConstants().FIELD_TEXT_BASELINE_CENTER&&this.textElement_.setAttribute("dominant-baseline","central"),this.textContent_=document.createTextNode(""),this.textElement_.appendChild(this.textContent_)}bindEvents_(){const e=this.getClickTarget_();if(!e)throw Error("A click target has not been set.");rl(e),this.mouseDownWrapper=Ue(e,"pointerdown",this,this.onMouseDown_)}fromXml(e){this.setValue(e.textContent)}toXml(e){return e.textContent=this.getValue(),e}saveState(e){return e=this.saveLegacyState(vn),e!==null?e:this.getValue()}loadState(e){this.loadLegacyState(vn,e)||this.setValue(e)}saveLegacyState(e){return e.prototype.saveState===this.saveState&&e.prototype.toXml!==this.toXml?(e=s.createElement$$module$build$src$core$utils$xml("field"),e.setAttribute("name",this.name||""),U(this.toXml(e)).replace(' xmlns="https://developers.google.com/blockly/xml"',"")):null}loadLegacyState(e,t){return e.prototype.loadState===this.loadState&&e.prototype.fromXml!==this.fromXml?(this.fromXml(s.textToDom$$module$build$src$core$utils$xml(t)),!0):!1}dispose(){el(this),nn(this);let e;(e=this.getSourceBlock())!=null&&e.isDeadOrDying()||mt(this.fieldGroup_),this.disposed=!0}updateEditable(){const e=this.fieldGroup_,t=this.getSourceBlock();this.EDITABLE&&e&&t&&(this.enabled_&&t.isEditable()?(Fe(e,"blocklyEditableText"),pt(e,"blocklyNonEditableText"),e.style.cursor=this.CURSOR):(Fe(e,"blocklyNonEditableText"),pt(e,"blocklyEditableText"),e.style.cursor=""))}setEnabled(e){this.enabled_=e,this.updateEditable()}isEnabled(){return this.enabled_}isClickable(){return this.enabled_&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()&&this.showEditor_!==vn.prototype.showEditor_}isClickableInFlyout(e){return!e}isCurrentlyEditable(){return this.enabled_&&this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()}isSerializable(){let e=!1;return this.name&&(this.SERIALIZABLE?e=!0:this.EDITABLE&&(console.warn("Detected an editable field that was not serializable. Please define SERIALIZABLE property as true on all editable custom fields. Proceeding with serialization."),e=!0)),e}isVisible(){return this.visible_}setVisible(e){if(this.visible_!==e){this.visible_=e;var t=this.fieldGroup_;t&&(t.style.display=e?"block":"none")}}setValidator(e){this.validator_=e}getValidator(){return this.validator_}getSvgRoot(){return this.fieldGroup_}getBorderRect(){if(!this.borderRect_)throw Error(`The border rectangle is ${this.borderRect_}.`);return this.borderRect_}getTextElement(){if(!this.textElement_)throw Error(`The text element is ${this.textElement_}.`);return this.textElement_}getTextContent(){if(!this.textContent_)throw Error(`The text content is ${this.textContent_}.`);return this.textContent_}applyColour(){}render_(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_()),this.updateSize_()}showEditor(e){this.isClickable()&&this.showEditor_(e)}showEditor_(e){}repositionForWindowResize(){return!1}updateSize_(e){const t=this.getConstants();e=e!==void 0?e:this.isFullBlockField()?0:this.getConstants().FIELD_BORDER_RECT_X_PADDING;let r=2*e,l=t.FIELD_TEXT_HEIGHT,p=0;this.textElement_&&(p=ns(this.textElement_,t.FIELD_TEXT_FONTSIZE,t.FIELD_TEXT_FONTWEIGHT,t.FIELD_TEXT_FONTFAMILY),r+=p),this.isFullBlockField()||(l=Math.max(l,t.FIELD_BORDER_RECT_HEIGHT)),this.size_.height=l,this.size_.width=r,this.positionTextElement_(e,p),this.positionBorderRect_()}positionTextElement_(e,t){if(this.textElement_){var r=this.getConstants(),l=this.size_.height/2,p;this.textElement_.setAttribute("x",String((p=this.getSourceBlock())!=null&&p.RTL?this.size_.width-t-e:e)),this.textElement_.setAttribute("y",String(r.FIELD_TEXT_BASELINE_CENTER?l:l-r.FIELD_TEXT_HEIGHT/2+r.FIELD_TEXT_BASELINE))}}positionBorderRect_(){this.borderRect_&&(this.borderRect_.setAttribute("width",String(this.size_.width)),this.borderRect_.setAttribute("height",String(this.size_.height)),this.borderRect_.setAttribute("rx",String(this.getConstants().FIELD_BORDER_RECT_RADIUS)),this.borderRect_.setAttribute("ry",String(this.getConstants().FIELD_BORDER_RECT_RADIUS)))}getSize(){return this.isVisible()?(this.isDirty_?(this.render_(),this.isDirty_=!1):this.visible_&&this.size_.width===0&&(this.render_(),this.size_.width!==0&&console.warn("Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead.")),this.size_):new Jt(0,0)}getScaledBBox(){let e;var t=this.getSourceBlock();if(!t)throw new Gn;if(this.isFullBlockField()){var r=this.sourceBlock_.getHeightWidth();const l=t.workspace.scale;e=this.getAbsoluteXY_(),t=(r.width+1)*l,r=(r.height+1)*l,Zp?(e.x+=1.5*l,e.y+=1.5*l):(e.x-=.5*l,e.y-=.5*l)}else r=this.borderRect_.getBoundingClientRect(),e=Un(this.borderRect_),t=r.width,r=r.height;return new Bt(e.y,e.y+r,e.x,e.x+t)}onLocationChange(e){}getDisplayText_(){let e=this.getText();return e?(e.length>this.maxDisplayLength&&(e=e.substring(0,this.maxDisplayLength-2)+"…"),e=e.replace(/\s/g,vn.NBSP),this.sourceBlock_&&this.sourceBlock_.RTL&&(e+="‏"),e):vn.NBSP}getText(){const e=this.getText_();return String(e!==null?e:this.getValue())}getText_(){return null}markDirty(){this.isDirty_=!0,this.constants_=null}forceRerender(){this.isDirty_=!0,this.sourceBlock_&&this.sourceBlock_.rendered&&this.sourceBlock_.queueRender()}setValue(e,t=!0){if(e!==null){var r=s.getGroup$$module$build$src$core$events$utils();r||s.setGroup$$module$build$src$core$events$utils(!0);try{const Ie=this.doClassValidation_(e),Qe=this.processValidation(e,Ie,t);if(!(Qe instanceof Error)){var l,p=(l=this.getValidator())==null?void 0:l.call(this,Qe),v=this.processValidation(Qe,p,t);if(!(v instanceof Error)){var O=this.sourceBlock_;if(!O||!O.disposed){var G=this.getValue();G===v?this.doValueUpdate_(v):(this.doValueUpdate_(v),t&&O&&te()&&ee(new(Ce(fe.BLOCK_CHANGE))(O,"field",this.name||null,G,v)),this.isDirty_&&this.forceRerender())}}}}finally{s.setGroup$$module$build$src$core$events$utils(r)}}}processValidation(e,t,r){return t===null?(this.doValueInvalid_(e,r),this.isDirty_&&this.forceRerender(),Error()):t===void 0?e:t}getValue(){return this.value_}doClassValidation_(e){return e??null}doValueUpdate_(e){this.value_=e,this.isDirty_=!0}doValueInvalid_(e,t){}onMouseDown_(e){this.sourceBlock_&&!this.sourceBlock_.isDeadOrDying()&&(e=this.sourceBlock_.workspace.getGesture(e))&&e.setStartField(this)}setTooltip(e){e||e===""||(e=this.sourceBlock_);const t=this.getClickTarget_();t?t.tooltip=e:this.tooltip=e}getTooltip(){const e=this.getClickTarget_();return sl(e||{tooltip:this.tooltip})}getClickTarget_(){return this.clickTarget_||this.getSvgRoot()}getAbsoluteXY_(){return Un(this.getClickTarget_())}referencesVariables(){return!1}refreshVariableName(){}getParentInput(){let e=null;const t=this.getSourceBlock();if(!t)throw new Gn;const r=t.inputList;for(let l=0;l{r.stopPropagation()})}addModelUpdateBindings(){this.view.addTextChangeListener((e,t)=>void super.setText(t)),this.view.addSizeChangeListener((e,t)=>void super.setSize(t)),this.view.addOnCollapseListener(()=>void super.setCollapsed(this.view.isCollapsed())),this.view.addDisposeListener(()=>{this.isDeadOrDying()||this.dispose()})}setText(e){this.view.setText(e)}setSize(e){this.view.setSize(e)}setCollapsed(e){this.view.setCollapsed(e)}setEditable(e){super.setEditable(e),this.view.setEditable(this.isEditable())}getSvgRoot(){return this.view.getSvgRoot()}getSize(){return super.getSize()}getBoundingRectangle(){const e=this.getRelativeToSurfaceXY();var t,r;const l=(r=(t=this.view)==null?void 0:t.getSize())!=null?r:this.getSize();return this.workspace.RTL?(t=e.x-l.width,r=e.x):(t=e.x,r=e.x+l.width),new Bt(e.y,e.y+l.height,t,r)}moveBy(e,t,r){const l=this.getRelativeToSurfaceXY();e=new Le(l.x+e,l.y+t),this.moveTo(e,r)}moveTo(e,t){super.moveTo(e,t),this.view.moveTo(e)}moveDuringDrag(e){this.location=e,this.view.moveTo(e)}setDragging(e){e?Fe(this.getSvgRoot(),"blocklyDragging"):pt(this.getSvgRoot(),"blocklyDragging")}dispose(){this.disposing=!0,this.view.isDeadOrDying()||this.view.dispose(),super.dispose()}startGesture(e){const t=this.workspace.getGesture(e);if(t){if(qt(e))e.stopPropagation();else{t.handleCommentStart(e,this);let r;(r=this.workspace.getLayerManager())==null||r.append(this,Ao)}s.setSelected$$module$build$src$core$common(this)}}setDeleteStyle(e){e?Fe(this.getSvgRoot(),"blocklyDraggingDelete"):pt(this.getSvgRoot(),"blocklyDraggingDelete")}isMovable(){return this.dragStrategy.isMovable()}startDrag(){this.dragStrategy.startDrag()}drag(e){this.dragStrategy.drag(e)}endDrag(){this.dragStrategy.endDrag()}revertDrag(){this.dragStrategy.revertDrag()}select(){Fe(this.getSvgRoot(),"blocklySelected")}unselect(){pt(this.getSvgRoot(),"blocklySelected")}toCopyData(){return{paster:Id.TYPE,commentState:In(this,{addCoordinates:!0})}}showContextMenu(e){const t=zt.registry.getContextMenuOptions(zt.ScopeType.COMMENT,{comment:this});dl(e,t,this.workspace.RTL,this.workspace)}snapToGrid(){if(!this.isDeadOrDying()){var e=this.workspace.getGrid();if(e!=null&&e.shouldSnap()){var t=this.getRelativeToSurfaceXY();e=e.alignXY(t),e!==t&&this.moveTo(e,["snap"])}}}},xs={};xs.appendDomToWorkspace=Cm,xs.blockToDom=zi,xs.blockToDomWithXY=vo,xs.clearWorkspaceAndLoadFromXml=fs,xs.deleteNext=Tm,xs.domToBlock=s.domToBlock$$module$build$src$core$xml,xs.domToBlockInternal=yo,xs.domToPrettyText=Xn,xs.domToText=ci,xs.domToVariables=dp,xs.domToWorkspace=s.domToWorkspace$$module$build$src$core$xml,xs.loadWorkspaceComment=up,xs.saveWorkspaceComment=bc,xs.variablesToDom=pl,xs.workspaceToDom=_m;var xg=class extends Sa{constructor(e){super(e),this.type=fe.BLOCK_CREATE,e&&(e.isShadow()&&(this.recordUndo=!1),this.xml=vo(e),this.ids=Z(e),this.json=Qt(e,{addCoordinates:!0}))}toJson(){const e=super.toJson();if(!this.xml)throw Error("The block XML is undefined. Either pass a block to the constructor, or call fromJson");if(!this.ids)throw Error("The block IDs are undefined. Either pass a block to the constructor, or call fromJson");if(!this.json)throw Error("The block JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=ci(this.xml),e.ids=this.ids,e.json=this.json,this.recordUndo||(e.recordUndo=this.recordUndo),e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new xg),t.xml=s.textToDom$$module$build$src$core$utils$xml(e.xml),t.ids=e.ids,t.json=e.json,e.recordUndo!==void 0&&(t.recordUndo=e.recordUndo),t}run(e){const t=this.getEventWorkspace_();if(!this.json)throw Error("The block JSON is undefined. Either pass a block to the constructor, or call fromJson");if(!this.ids)throw Error("The block IDs are undefined. Either pass a block to the constructor, or call fromJson");if(!iy(t,this.ids))if(e)Ni(this.json,t);else for(e=0;ee.getBlockById(r)).filter(r=>r&&r.isShadow()).length===t.length};i(Be.EVENT,fe.BLOCK_CREATE,xg);var Dg=class extends Es{constructor(e,t){super(t),this.type=fe.THEME_CHANGE,this.themeName=e}toJson(){const e=super.toJson();if(!this.themeName)throw Error("The theme name is undefined. Either pass a theme name to the constructor, or call fromJson");return e.themeName=this.themeName,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Dg),t.themeName=e.themeName,t}};i(Be.EVENT,fe.THEME_CHANGE,Dg);var Ag=class extends Es{constructor(e,t,r,l,p){super(l),this.type=fe.VIEWPORT_CHANGE,this.viewTop=e,this.viewLeft=t,this.scale=r,this.oldScale=p}toJson(){const e=super.toJson();if(this.viewTop===void 0)throw Error("The view top is undefined. Either pass a value to the constructor, or call fromJson");if(this.viewLeft===void 0)throw Error("The view left is undefined. Either pass a value to the constructor, or call fromJson");if(this.scale===void 0)throw Error("The scale is undefined. Either pass a value to the constructor, or call fromJson");if(this.oldScale===void 0)throw Error("The old scale is undefined. Either pass a value to the constructor, or call fromJson");return e.viewTop=this.viewTop,e.viewLeft=this.viewLeft,e.scale=this.scale,e.oldScale=this.oldScale,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Ag),t.viewTop=e.viewTop,t.viewLeft=e.viewLeft,t.scale=e.scale,t.oldScale=e.oldScale,t}};i(Be.EVENT,fe.VIEWPORT_CHANGE,Ag);var Ze;(function(e){e[e.INPUT_VALUE=1]="INPUT_VALUE",e[e.OUTPUT_VALUE=2]="OUTPUT_VALUE",e[e.NEXT_STATEMENT=3]="NEXT_STATEMENT",e[e.PREVIOUS_STATEMENT=4]="PREVIOUS_STATEMENT"})(Ze||(Ze={}));var Ll=class{constructor(e){this.connectionChecker=e,this.connections=[]}addConnection(e,t){t=this.calculateIndexForYPos(t),this.connections.splice(t,0,e)}findIndexOfConnection(e,t){if(!this.connections.length)return-1;const r=this.calculateIndexForYPos(t);if(r>=this.connections.length)return-1;t=e.y;let l=r;for(;0<=l&&this.connections[l].y===t;){if(this.connections[l]===e)return l;l--}for(l=r;le)r=l;else{t=l;break}}return t}removeConnection(e,t){if(e=this.findIndexOfConnection(e,t),e===-1)throw Error("Unable to find connection in connectionDB.");this.connections.splice(e,1)}getNeighbours(e,t){function r(Qe){const Mn=p-l[Qe].x,On=v-l[Qe].y;return Math.sqrt(Mn*Mn+On*On)<=t&&Ie.push(l[Qe]),On(this.flyout?s.config$$module$build$src$core$config.flyoutDragRadius:s.config$$module$build$src$core$config.dragRadius)}updateIsDraggingFromFlyout(){let e;if(!this.targetBlock||(e=this.flyout)==null||!e.isBlockCreatable(this.targetBlock))return!1;if(!this.flyout.targetWorkspace)throw Error(`Cannot update dragging from the flyout because the ' + - 'flyout's target workspace is undefined`);return!this.flyout.isScrollable()||this.flyout.isDragTowardWorkspace(this.currentDragDeltaXY)?(this.startWorkspace_=this.flyout.targetWorkspace,this.startWorkspace_.updateScreenCalculationsIfScrolled(),s.getGroup$$module$build$src$core$events$utils()||s.setGroup$$module$build$src$core$events$utils(!0),this.startBlock=null,this.targetBlock=this.flyout.createBlock(this.targetBlock),s.setSelected$$module$build$src$core$common(this.targetBlock),!0):!1}updateIsDraggingWorkspace(){if(!this.startWorkspace_)throw Error("Cannot update dragging the workspace because the start workspace is undefined");(this.flyout?this.flyout.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())&&(this.dragging=!0,this.workspaceDragger=new xb(this.startWorkspace_),this.workspaceDragger.startDrag())}updateIsDragging(e){if(!this.startWorkspace_)throw Error("Cannot update dragging because the start workspace is undefined");if(this.calledUpdateIsDragging)throw Error("updateIsDragging_ should only be called once per gesture.");this.calledUpdateIsDragging=!0,this.flyout&&this.updateIsDraggingFromFlyout();const t=ne();t&&ui(t)&&t.isMovable()?(this.dragging=!0,this.dragger=this.createDragger(t,this.startWorkspace_),this.dragger.onDragStart(e),this.dragger.onDrag(e,this.currentDragDeltaXY)):this.updateIsDraggingWorkspace()}createDragger(e,t){return new(w(Be.BLOCK_DRAGGER,this.creatorWorkspace.options,!0))(e,t)}doStart(e){if(!this.startWorkspace_)throw Error("Cannot start the touch gesture becauase the start workspace is undefined");this.isPinchZoomEnabled=this.startWorkspace_.options.zoomOptions&&this.startWorkspace_.options.zoomOptions.pinch,qt(e)?this.cancel():(this.gestureHasStarted=!0,qr(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),this.currentDropdownOwner=cc(),this.startWorkspace_.hideChaff(!!this.flyout),this.startWorkspace_.markFocused(),this.mostRecentEvent=e,tp(),ct(e)?this.handleRightClick(e):(e.type.toLowerCase()==="pointerdown"&&e.pointerType!=="mouse"&&St(e,this),this.mouseDownXY=new Le(e.clientX,e.clientY),this.bindMouseEvents(e),this.isEnding_||this.handleTouchStart(e)))}bindMouseEvents(e){this.boundEvents.push(Ue(document,"pointerdown",null,this.handleStart.bind(this),!0)),this.boundEvents.push(Ue(document,"pointermove",null,this.handleMove.bind(this),!0)),this.boundEvents.push(Ue(document,"pointerup",null,this.handleUp.bind(this),!0)),e.preventDefault(),e.stopPropagation()}handleStart(e){this.isDragging()||(this.handleTouchStart(e),this.isMultiTouch()&<())}handleMove(e){this.isDragging()&&st(e)||!this.isMultiTouch()?(this.updateFromEvent(e),this.workspaceDragger?this.workspaceDragger.drag(this.currentDragDeltaXY):this.dragger&&this.dragger.onDrag(this.mostRecentEvent,this.currentDragDeltaXY),e.preventDefault(),e.stopPropagation()):this.isMultiTouch()&&(this.handleTouchMove(e),lt())}handleUp(e){if(this.isDragging()||this.handleTouchEnd(e),!this.isMultiTouch()||this.isDragging()){if(!st(e))return;if(this.updateFromEvent(e),lt(),this.isEnding_){console.log("Trying to end a gesture recursively.");return}this.isEnding_=!0,this.dragger?this.dragger.onDragEnd(e,this.currentDragDeltaXY):this.workspaceDragger?this.workspaceDragger.endDrag(this.currentDragDeltaXY):this.isBubbleClick()||this.isCommentClick()||(this.isFieldClick()?this.doFieldClick():this.isIconClick()?this.doIconClick():this.isBlockClick()?this.doBlockClick():this.isWorkspaceClick()&&this.doWorkspaceClick(e))}e.preventDefault(),e.stopPropagation(),this.dispose()}handleTouchStart(e){var t=At(e);this.cachedPoints.set(t,this.getTouchPoint(e));var r=Array.from(this.cachedPoints.keys());r.length===2&&(t=this.cachedPoints.get(r[0]),r=this.cachedPoints.get(r[1]),this.startDistance=Le.distance(t,r),this.multiTouch=!0,e.preventDefault())}handleTouchMove(e){const t=At(e);this.cachedPoints.set(t,this.getTouchPoint(e)),this.isPinchZoomEnabled&&this.cachedPoints.size===2?this.handlePinch(e):(this.updateFromEvent(e),this.workspaceDragger?this.workspaceDragger.drag(this.currentDragDeltaXY):this.dragger&&this.dragger.onDrag(this.mostRecentEvent,this.currentDragDeltaXY),e.preventDefault(),e.stopPropagation())}handlePinch(e){var t=Array.from(this.cachedPoints.keys()),r=this.cachedPoints.get(t[0]);if(t=this.cachedPoints.get(t[1]),r=Le.distance(r,t)/this.startDistance,0this.previousScale){if(t=r-this.previousScale,t=0this.cachedPoints.size&&(this.cachedPoints.clear(),this.previousScale=0)}getTouchPoint(e){return this.startWorkspace_?new Le(e.pageX,e.pageY):null}isMultiTouch(){return this.multiTouch}cancel(){this.isEnding_||(lt(),this.dragger?this.dragger.onDragEnd(this.mostRecentEvent,this.currentDragDeltaXY):this.workspaceDragger&&this.workspaceDragger.endDrag(this.currentDragDeltaXY),this.dispose())}handleRightClick(e){this.targetBlock?(this.bringBlockToFront(),this.targetBlock.workspace.hideChaff(!!this.flyout),this.targetBlock.showContextMenu(e)):this.startBubble?this.startBubble.showContextMenu(e):this.startComment?(this.startComment.workspace.hideChaff(),this.startComment.showContextMenu(e)):this.startWorkspace_&&!this.flyout&&(this.startWorkspace_.hideChaff(),this.startWorkspace_.showContextMenu(e)),e.preventDefault(),e.stopPropagation(),this.dispose()}handleWsStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace(t),this.mostRecentEvent=e,this.startBlock||this.startBubble||this.startComment||s.setSelected$$module$build$src$core$common(null),this.doStart(e)}fireWorkspaceClick(e){ee(new(Ce(fe.CLICK))(null,e.id,"workspace"))}handleFlyoutStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleFlyoutStart, but the gesture had already been started.");this.setStartFlyout(t),this.handleWsStart(e,t.getWorkspace())}handleBlockStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleBlockStart, but the gesture had already been started.");this.setStartBlock(t),this.mostRecentEvent=e}handleBubbleStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleBubbleStart, but the gesture had already been started.");this.setStartBubble(t),this.mostRecentEvent=e}handleCommentStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleCommentStart, but the gesture had already been started.");this.setStartComment(t),this.mostRecentEvent=e}doFieldClick(){if(!this.startField)throw Error("Cannot do a field click because the start field is undefined");this.currentDropdownOwner!==this.startField&&this.startField.showEditor(this.mostRecentEvent),this.bringBlockToFront()}doIconClick(){if(!this.startIcon)throw Error("Cannot do an icon click because the start icon is undefined");this.bringBlockToFront(),this.startIcon.onClick()}doBlockClick(){if(this.flyout&&this.flyout.autoClose){if(!this.targetBlock)throw Error("Cannot do a block click because the target block is undefined");if(this.targetBlock.isEnabled()){s.getGroup$$module$build$src$core$events$utils()||s.setGroup$$module$build$src$core$events$utils(!0);var e=this.flyout.createBlock(this.targetBlock);e.snapToGrid(),e.bumpNeighbours()}}else{if(!this.startWorkspace_)throw Error("Cannot do a block click because the start workspace is undefined");e=new(Ce(fe.CLICK))(this.startBlock,this.startWorkspace_.id,"block"),ee(e)}this.bringBlockToFront(),s.setGroup$$module$build$src$core$events$utils(!1)}doWorkspaceClick(e){e=this.creatorWorkspace,ne()&&ne().unselect(),this.fireWorkspaceClick(this.startWorkspace_||e)}bringBlockToFront(){this.targetBlock&&!this.flyout&&this.targetBlock.bringToFront()}setStartField(e){if(this.gestureHasStarted)throw Error("Tried to call gesture.setStartField, but the gesture had already been started.");this.startField||(this.startField=e)}setStartIcon(e){if(this.gestureHasStarted)throw Error("Tried to call gesture.setStartIcon, but the gesture had already been started.");this.startIcon||(this.startIcon=e)}setStartBubble(e){this.startBubble||(this.startBubble=e)}setStartComment(e){this.startComment||(this.startComment=e)}setStartBlock(e){this.startBlock||this.startBubble||(this.startBlock=e,s.setSelected$$module$build$src$core$common(this.startBlock),e.isInFlyout&&e!==e.getRootBlock()?this.setTargetBlock(e.getRootBlock()):this.setTargetBlock(e))}setTargetBlock(e){e.isShadow()?this.setTargetBlock(e.getParent()):this.targetBlock=e}setStartWorkspace(e){this.startWorkspace_||(this.startWorkspace_=e)}setStartFlyout(e){this.flyout||(this.flyout=e)}isBubbleClick(){return!!this.startBubble&&!this.hasExceededDragRadius}isCommentClick(){return!!this.startComment&&!this.hasExceededDragRadius}isBlockClick(){return!!this.startBlock&&!this.hasExceededDragRadius&&!this.isFieldClick()&&!this.isIconClick()}isFieldClick(){return this.startField?this.startField.isClickable()&&!this.hasExceededDragRadius&&(!this.flyout||this.startField.isClickableInFlyout(this.flyout.autoClose)):!1}isIconClick(){if(!this.startIcon)return!1;const e=!this.flyout||!this.startIcon.isClickableInFlyout||this.startIcon.isClickableInFlyout(this.flyout.autoClose);return!this.hasExceededDragRadius&&e}isWorkspaceClick(){return!this.startBlock&&!this.startBubble&&!this.startField&&!this.hasExceededDragRadius}getCurrentDragger(){let e,t;return(t=(e=this.workspaceDragger)!=null?e:this.dragger)!=null?t:null}isDragging(){return this.dragging}hasStarted(){return this.gestureHasStarted}static inProgress(){const e=Ae();for(let t=0,r;r=e[t];t++)if(r.currentGesture_)return!0;return!1}},eo=class{constructor(e,t){this.pattern=e,this.scale=1;let r;this.spacing=(r=t.spacing)!=null?r:0;let l;this.length=(l=t.length)!=null?l:1,this.line2=(this.line1=e.firstChild)&&this.line1.nextSibling;let p;this.snapToGrid=(p=t.snap)!=null?p:!1}setSpacing(e){this.spacing=e,this.update(this.scale)}getSpacing(){return this.spacing}setLength(e){this.length=e,this.update(this.scale)}getLength(){return this.length}setSnapToGrid(e){this.snapToGrid=e}shouldSnap(){return this.snapToGrid}getPatternId(){return this.pattern.id}update(e){this.scale=e;var t=this.spacing*e;this.pattern.setAttribute("width",`${t}`),this.pattern.setAttribute("height",`${t}`),t=Math.floor(this.spacing/2)+.5;let r=t-this.length/2,l=t+this.length/2;t*=e,r*=e,l*=e,this.setLineAttributes(this.line1,e,r,l,t,t),this.setLineAttributes(this.line2,e,t,t,r,l)}setLineAttributes(e,t,r,l,p,v){e&&(e.setAttribute("stroke-width",`${t}`),e.setAttribute("x1",`${r}`),e.setAttribute("y1",`${p}`),e.setAttribute("x2",`${l}`),e.setAttribute("y2",`${v}`))}moveTo(e,t){this.pattern.setAttribute("x",`${e}`),this.pattern.setAttribute("y",`${t}`)}alignXY(e){var t=this.getSpacing();const r=t/2,l=Math.round(Math.round((e.x-r)/t)*t+r);return t=Math.round(Math.round((e.y-r)/t)*t+r),l===e.x&&t===e.y?e:new Le(l,t)}static createDom(e,t,r){e=re(oe.PATTERN,{id:"blocklyGridPattern"+e,patternUnits:"userSpaceOnUse"},r);let l,p;if(0<((l=t.length)!=null?l:1)&&0<((p=t.spacing)!=null?p:0)){re(oe.LINE,{stroke:t.colour},e);let v;(v=t.length)!=null&&v&&re(oe.LINE,{stroke:t.colour},e)}else re(oe.LINE,{},e);return e}},jt=class{constructor(e){this.workspace=e,this.layers=new Map,(e=e.getInjectionDiv())&&(this.dragLayer=this.createDragLayer(e),this.animationLayer=this.createAnimationLayer(e)),e=this.createLayer(Ao),Fe(e,"blocklyBlockCanvas"),e=this.createLayer(Ma),Fe(e,"blocklyBubbleCanvas")}createDragLayer(e){const t=re(oe.SVG,{class:"blocklyBlockDragSurface",xmlns:Nc,"xmlns:html":bi,"xmlns:xlink":nr,version:"1.1"});return e.append(t),re(oe.G,{},t)}createAnimationLayer(e){const t=re(oe.SVG,{class:"blocklyAnimationLayer",xmlns:Nc,"xmlns:html":bi,"xmlns:xlink":nr,version:"1.1"});return e.append(t),re(oe.G,{},t)}appendToAnimationLayer(e){let t;const r=(t=this.dragLayer)==null?void 0:t.getAttribute("transform");if(r){let p;(p=this.animationLayer)==null||p.setAttribute("transform",r)}let l;(l=this.animationLayer)==null||l.appendChild(e.getSvgRoot())}translateLayers(e,t){e=`translate(${e.x}, ${e.y}) scale(${t})`;let r;(r=this.dragLayer)==null||r.setAttribute("transform",e);for(const[,l]of this.layers)l.setAttribute("transform",e)}moveToDragLayer(e){let t;(t=this.dragLayer)==null||t.appendChild(e.getSvgRoot())}moveOffDragLayer(e,t){this.append(e,t)}append(e,t){this.layers.has(t)||this.createLayer(t);let r;(r=this.layers.get(t))==null||r.appendChild(e.getSvgRoot())}createLayer(e){const t=this.workspace.getSvgGroup(),r=re(oe.G,{});let l=!1;const p=[...this.layers].sort((v,O)=>v[0]-O[0]);for(const[v,O]of p)if(et[1]===e)?e:(this.sourceBlock_&&console.warn("Cannot set the dropdown's value to an unavailable option. Block type: "+this.sourceBlock_.type+", Field name: "+this.name+", Value: "+e),null)}doValueUpdate_(e){super.doValueUpdate_(e),e=this.getOptions(!0);for(let t=0,r;r=e[t];t++)r[1]===this.value_&&(this.selectedOption=r)}applyColour(){const e=this.sourceBlock_;this.borderRect_&&(this.borderRect_.setAttribute("stroke",e.getColourTertiary()),this.menu_?this.borderRect_.setAttribute("fill",e.getColourTertiary()):this.borderRect_.setAttribute("fill","transparent")),e&&this.arrow&&(e.isShadow()?this.arrow.style.fill=e.getColourSecondary():this.arrow.style.fill=e.getColour())}render_(){this.getTextContent().nodeValue="",this.imageElement.style.display="none";const e=this.selectedOption&&this.selectedOption[0];e&&typeof e=="object"?this.renderSelectedImage(e):this.renderSelectedText(),this.positionBorderRect_()}renderSelectedImage(e){const t=this.getSourceBlock();if(!t)throw new Gn;this.imageElement.style.display="",this.imageElement.setAttributeNS(nr,"xlink:href",e.src),this.imageElement.setAttribute("height",String(e.height)),this.imageElement.setAttribute("width",String(e.width));const r=Number(e.height);e=Number(e.width);var l=!!this.borderRect_;const p=Math.max(l?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,r+rr.IMAGE_Y_PADDING);l=l?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;let v;v=this.svgArrow?this.positionSVGArrow(e+l,p/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2):ns(this.arrow,this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY),this.size_.width=e+v+2*l,this.size_.height=p;let O=0;t.RTL?this.imageElement.setAttribute("x",`${l+v}`):(O=e+v,this.getTextElement().setAttribute("text-anchor","end"),this.imageElement.setAttribute("x",`${l}`)),this.imageElement.setAttribute("y",String(p/2-r/2)),this.positionTextElement_(O+l,e+v)}renderSelectedText(){this.getTextContent().nodeValue=this.getDisplayText_();var e=this.getTextElement();Fe(e,"blocklyDropdownText"),e.setAttribute("text-anchor","start");var t=!!this.borderRect_;e=Math.max(t?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,this.getConstants().FIELD_TEXT_HEIGHT);const r=ns(this.getTextElement(),this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY);t=t?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;let l=0;this.svgArrow&&(l=this.positionSVGArrow(r+t,e/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2)),this.size_.width=r+l+2*t,this.size_.height=e,this.positionTextElement_(t,r)}positionSVGArrow(e,t){if(!this.svgArrow)return 0;const r=this.getSourceBlock();if(!r)throw new Gn;const l=this.borderRect_?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0,p=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_PADDING,v=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE;return this.svgArrow.setAttribute("transform","translate("+(r.RTL?l:e+p)+","+t+")"),v+p}getText_(){if(!this.selectedOption)return null;const e=this.selectedOption[0];return typeof e=="object"?e.alt:e}static fromJson(e){if(!e.options)throw Error("options are required for the dropdown field. The options property must be assigned an array of [humanReadableValue, languageNeutralValue] tuples.");return new this(e.options,void 0,e)}trimOptions(e){let t=!1;const r=e.map(([O,G])=>typeof O=="string"?[kt(O),G]:(t=!0,[O.alt!==null?Object.assign({},O,{alt:kt(O.alt)}):Object.assign({},O),G]));if(t||2>e.length)return{options:r};var l=r.map(([O])=>O),p=sa(l);e=Yh(l,p);const v=Mu(l,p);return!e&&!v||p<=e+v?{options:r}:(p=e?l[0].substring(0,e-1):void 0,l=v?l[0].substr(1-v):void 0,{options:this.applyTrim(r,e,v),prefix:p,suffix:l})}applyTrim(e,t,r){return e.map(([l,p])=>[l.substring(t,l.length-r),p])}validateOptions(e){if(!Array.isArray(e))throw TypeError("FieldDropdown options must be an array.");if(!e.length)throw TypeError("FieldDropdown options must not be an empty array.");let t=!1;for(let r=0;re.width)return t;if(e=this.getWorkspaceViewRect(e),this.workspace.RTL){var r=this.anchor.x-t;r-this.size.widthe.right&&(t=-(e.right-this.anchor.x))}else{r=t+this.anchor.x;const l=r+this.size.width;re.right&&(t=e.right-this.anchor.x-this.size.width)}return t}getOptimalRelativeTop(e){let t=-this.size.height/4;if(this.size.height>e.height)return t;const r=this.anchor.y+t,l=r+this.size.height;return e=this.getWorkspaceViewRect(e),re.bottom&&(t=e.bottom-this.anchor.y-this.size.height),t}getWorkspaceViewRect(e){const t=e.top;let r=e.top+e.height,l=e.left;return e=e.left+e.width,r-=this.getScrollbarThickness(),this.workspace.RTL?l-=this.getScrollbarThickness():e-=this.getScrollbarThickness(),new Bt(t,r,l,e)}getScrollbarThickness(){return Fn.scrollbarThickness/this.workspace.scale}renderTail(){const e=[];var t=this.size.width/2,r=this.size.height/2,l=-this.relativeLeft,p=-this.relativeTop;if(t===l&&r===p)e.push("M "+t+","+r);else{p-=r,l-=t,this.workspace.RTL&&(l*=-1);var v=Math.sqrt(p*p+l*l),O=Math.acos(l/v);0>p&&(O=2*Math.PI-O);var G=O+Math.PI/2;G>2*Math.PI&&(G-=2*Math.PI);var Ie=Math.sin(G);const Mn=Math.cos(G);let On=(this.size.width+this.size.height)/Ps.TAIL_THICKNESS;On=Math.min(On,this.size.width,this.size.height)/4,G=1-Ps.ANCHOR_RADIUS/v,l=t+G*l,p=r+G*p,G=t+On*Mn;const Vr=r+On*Ie;t-=On*Mn,r-=On*Ie,Ie=Ns(this.workspace.RTL?-Ps.TAIL_ANGLE:Ps.TAIL_ANGLE),Ie=O+Ie,Ie>2*Math.PI&&(Ie-=2*Math.PI),O=Math.sin(Ie)*v/Ps.TAIL_BEND,v=Math.cos(Ie)*v/Ps.TAIL_BEND,e.push("M"+G+","+Vr),e.push("C"+(G+v)+","+(Vr+O)+" "+l+","+p+" "+l+","+p),e.push("C"+l+","+p+" "+(t+v)+","+(r+O)+" "+t+","+r)}e.push("z");let Qe;(Qe=this.tail)==null||Qe.setAttribute("d",e.join(" "))}bringToFront(){let e;const t=(e=this.svgRoot)==null?void 0:e.parentNode;return this.svgRoot&&(t==null?void 0:t.lastChild)!==this.svgRoot?(t==null||t.appendChild(this.svgRoot),!0):!1}getRelativeToSurfaceXY(){return new Le(this.workspace.RTL?-this.relativeLeft+this.anchor.x-this.size.width:this.anchor.x+this.relativeLeft,this.anchor.y+this.relativeTop)}getSvgRoot(){return this.svgRoot}moveDuringDrag(e){this.moveTo(e.x,e.y),this.relativeLeft=this.workspace.RTL?this.anchor.x-e.x-this.size.width:e.x-this.anchor.x,this.relativeTop=e.y-this.anchor.y,this.renderTail()}setDragging(e){}setDeleteStyle(e){}isDeletable(){return!1}showContextMenu(e){}isMovable(){return!0}startDrag(){this.dragStrategy.startDrag()}drag(e){this.dragStrategy.drag(e)}endDrag(){this.dragStrategy.endDrag()}revertDrag(){this.dragStrategy.revertDrag()}select(){}unselect(){}};Ps=fn,fn.BORDER_WIDTH=6,fn.DOUBLE_BORDER=2*Ps.BORDER_WIDTH,fn.MIN_SIZE=Ps.DOUBLE_BORDER,fn.TAIL_THICKNESS=1,fn.TAIL_ANGLE=20,fn.TAIL_BEND=4,fn.ANCHOR_RADIUS=8;var vs=class extends fn{constructor(e,t,r,l){super(t,r,l),this.workspace=t,this.anchor=r,this.ownerRect=l,this.autoLayout=!0,t=new zr(e),this.validateWorkspaceOptions(t),this.svgDialog=re(oe.SVG,{x:fn.BORDER_WIDTH,y:fn.BORDER_WIDTH},this.contentContainer),e.parentWorkspace=this.workspace,this.miniWorkspace=this.newWorkspaceSvg(new zr(e)),this.miniWorkspace.internalIsMutator=!0,e=this.miniWorkspace.createDom("blocklyMutatorBackground"),this.svgDialog.appendChild(e),t.languageTree&&(e.insertBefore(this.miniWorkspace.addFlyout(oe.G),this.miniWorkspace.getCanvas()),e=this.miniWorkspace.getFlyout(),e==null||e.init(this.miniWorkspace),e==null||e.show(t.languageTree)),this.miniWorkspace.addChangeListener(this.onWorkspaceChange.bind(this));let p,v;(p=this.miniWorkspace.getFlyout())==null||(v=p.getWorkspace())==null||v.addChangeListener(this.onWorkspaceChange.bind(this)),this.updateBubbleSize()}dispose(){this.miniWorkspace.dispose(),super.dispose()}getWorkspace(){return this.miniWorkspace}addWorkspaceChangeListener(e){this.miniWorkspace.addChangeListener(e)}validateWorkspaceOptions(e){if(e.hasCategories)throw Error("The miniworkspace bubble does not support toolboxes with categories");if(e.hasTrashcan)throw Error("The miniworkspace bubble does not support trashcans");if(e.zoomOptions.controls||e.zoomOptions.wheel||e.zoomOptions.pinch)throw Error("The miniworkspace bubble does not support zooming");if(e.moveOptions.scrollbars||e.moveOptions.wheel||e.moveOptions.drag)throw Error("The miniworkspace bubble does not scrolling/moving the workspace");if(e.horizontalLayout)throw Error("The miniworkspace bubble does not support horizontal layouts")}onWorkspaceChange(){this.bumpBlocksIntoBounds(),this.updateBubbleSize()}bumpBlocksIntoBounds(){if(!this.miniWorkspace.isDragging())for(const e of this.miniWorkspace.getTopBlocks(!1)){const t=e.getRelativeToSurfaceXY();if(20>t.y&&e.moveBy(0,20-t.y),e.RTL){let r=-20;const l=this.miniWorkspace.getFlyout();l&&(r-=l.getWidth()),t.x>r&&e.moveBy(r-t.x,0)}else 20>t.x&&e.moveBy(20-t.x,0)}}updateBubbleSize(){if(!this.miniWorkspace.isDragging()){var e=this.getSize(),t=this.calculateWorkspaceSize();Math.abs(e.width-t.width)({kind:"block",type:r}))}),t}getAnchorLocation(){const e=Na/2;return Le.sum(this.workspaceLocation,new Le(e,e))}getBubbleOwnerRect(){const e=this.sourceBlock.getSvgRoot().getBBox();return new Bt(e.y,e.y+e.height,e.x,e.x+e.width)}createRootBlock(){if(!this.sourceBlock.decompose)throw Error("Blocks with mutator icons must include a decompose method");this.rootBlock=this.sourceBlock.decompose(this.miniWorkspaceBubble.getWorkspace());for(var e of this.rootBlock.getDescendants(!1))e.queueRender();this.rootBlock.setMovable(!1),this.rootBlock.setDeletable(!1);let t,r,l,p;e=(p=(t=this.miniWorkspaceBubble)==null||(r=t.getWorkspace())==null||(l=r.getFlyout())==null?void 0:l.getWidth())!=null?p:0,this.rootBlock.moveBy(this.rootBlock.RTL?-(e+An):An,An)}addSaveConnectionsListener(){this.sourceBlock.saveConnections&&this.rootBlock&&(this.saveConnectionsListener=()=>{this.sourceBlock.saveConnections&&this.rootBlock&&this.sourceBlock.saveConnections(this.rootBlock)},this.saveConnectionsListener(),this.sourceBlock.workspace.addChangeListener(this.saveConnectionsListener))}createMiniWorkspaceChangeListener(){return e=>{s.MutatorIcon$$module$build$src$core$icons$mutator_icon.isIgnorableMutatorEvent(e)||this.updateWorkspacePid||(this.updateWorkspacePid=setTimeout(()=>{this.updateWorkspacePid=null,this.recomposeSourceBlock()},0))}}static isIgnorableMutatorEvent(e){return e.isUiEvent||k(e)||P(e)&&e.element==="disabled"}recomposeSourceBlock(){if(this.rootBlock){if(!this.sourceBlock.compose)throw Error("Blocks with mutator icons must include a compose method");var e=s.getGroup$$module$build$src$core$events$utils();e||s.setGroup$$module$build$src$core$events$utils(!0);var t=Xi.getExtraBlockState_(this.sourceBlock);this.sourceBlock.compose(this.rootBlock);var r=Xi.getExtraBlockState_(this.sourceBlock);t!==r&&ee(new(Ce(fe.BLOCK_CHANGE))(this.sourceBlock,"mutation",null,t,r)),s.setGroup$$module$build$src$core$events$utils(e)}}getWorkspace(){let e;return(e=this.miniWorkspaceBubble)==null?void 0:e.getWorkspace()}},s.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE=Qn.MUTATOR,s.MutatorIcon$$module$build$src$core$icons$mutator_icon.WEIGHT=1,s.MutatorIcon$$module$build$src$core$icons$mutator_icon;var Tn=Object.create(null),Rb={allExtensions:Tn};s.register$$module$build$src$core$extensions("parent_tooltip_when_inline",di);var ti={TEST_ONLY:Rb};ti.apply=Gu,ti.buildTooltipForDropdown=s.buildTooltipForDropdown$$module$build$src$core$extensions,ti.buildTooltipWithFieldText=s.buildTooltipWithFieldText$$module$build$src$core$extensions,ti.isRegistered=Ui,ti.register=s.register$$module$build$src$core$extensions,ti.registerMixin=s.registerMixin$$module$build$src$core$extensions,ti.registerMutator=s.registerMutator$$module$build$src$core$extensions,ti.runAfterPageLoad=Rm,ti.unregister=Im;var Vt;(function(e){e[e.WIN_KEY_FF_LINUX=0]="WIN_KEY_FF_LINUX",e[e.MAC_ENTER=3]="MAC_ENTER",e[e.BACKSPACE=8]="BACKSPACE",e[e.TAB=9]="TAB",e[e.NUM_CENTER=12]="NUM_CENTER",e[e.ENTER=13]="ENTER",e[e.SHIFT=16]="SHIFT",e[e.CTRL=17]="CTRL",e[e.ALT=18]="ALT",e[e.PAUSE=19]="PAUSE",e[e.CAPS_LOCK=20]="CAPS_LOCK",e[e.ESC=27]="ESC",e[e.SPACE=32]="SPACE",e[e.PAGE_UP=33]="PAGE_UP",e[e.PAGE_DOWN=34]="PAGE_DOWN",e[e.END=35]="END",e[e.HOME=36]="HOME",e[e.LEFT=37]="LEFT",e[e.UP=38]="UP",e[e.RIGHT=39]="RIGHT",e[e.DOWN=40]="DOWN",e[e.PLUS_SIGN=43]="PLUS_SIGN",e[e.PRINT_SCREEN=44]="PRINT_SCREEN",e[e.INSERT=45]="INSERT",e[e.DELETE=46]="DELETE",e[e.ZERO=48]="ZERO",e[e.ONE=49]="ONE",e[e.TWO=50]="TWO",e[e.THREE=51]="THREE",e[e.FOUR=52]="FOUR",e[e.FIVE=53]="FIVE",e[e.SIX=54]="SIX",e[e.SEVEN=55]="SEVEN",e[e.EIGHT=56]="EIGHT",e[e.NINE=57]="NINE",e[e.FF_SEMICOLON=59]="FF_SEMICOLON",e[e.FF_EQUALS=61]="FF_EQUALS",e[e.FF_DASH=173]="FF_DASH",e[e.FF_HASH=163]="FF_HASH",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.AT_SIGN=64]="AT_SIGN",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.META=91]="META",e[e.WIN_KEY_RIGHT=92]="WIN_KEY_RIGHT",e[e.CONTEXT_MENU=93]="CONTEXT_MENU",e[e.NUM_ZERO=96]="NUM_ZERO",e[e.NUM_ONE=97]="NUM_ONE",e[e.NUM_TWO=98]="NUM_TWO",e[e.NUM_THREE=99]="NUM_THREE",e[e.NUM_FOUR=100]="NUM_FOUR",e[e.NUM_FIVE=101]="NUM_FIVE",e[e.NUM_SIX=102]="NUM_SIX",e[e.NUM_SEVEN=103]="NUM_SEVEN",e[e.NUM_EIGHT=104]="NUM_EIGHT",e[e.NUM_NINE=105]="NUM_NINE",e[e.NUM_MULTIPLY=106]="NUM_MULTIPLY",e[e.NUM_PLUS=107]="NUM_PLUS",e[e.NUM_MINUS=109]="NUM_MINUS",e[e.NUM_PERIOD=110]="NUM_PERIOD",e[e.NUM_DIVISION=111]="NUM_DIVISION",e[e.F1=112]="F1",e[e.F2=113]="F2",e[e.F3=114]="F3",e[e.F4=115]="F4",e[e.F5=116]="F5",e[e.F6=117]="F6",e[e.F7=118]="F7",e[e.F8=119]="F8",e[e.F9=120]="F9",e[e.F10=121]="F10",e[e.F11=122]="F11",e[e.F12=123]="F12",e[e.NUMLOCK=144]="NUMLOCK",e[e.SCROLL_LOCK=145]="SCROLL_LOCK",e[e.FIRST_MEDIA_KEY=166]="FIRST_MEDIA_KEY",e[e.LAST_MEDIA_KEY=183]="LAST_MEDIA_KEY",e[e.SEMICOLON=186]="SEMICOLON",e[e.DASH=189]="DASH",e[e.EQUALS=187]="EQUALS",e[e.COMMA=188]="COMMA",e[e.PERIOD=190]="PERIOD",e[e.SLASH=191]="SLASH",e[e.APOSTROPHE=192]="APOSTROPHE",e[e.TILDE=192]="TILDE",e[e.SINGLE_QUOTE=222]="SINGLE_QUOTE",e[e.OPEN_SQUARE_BRACKET=219]="OPEN_SQUARE_BRACKET",e[e.BACKSLASH=220]="BACKSLASH",e[e.CLOSE_SQUARE_BRACKET=221]="CLOSE_SQUARE_BRACKET",e[e.WIN_KEY=224]="WIN_KEY",e[e.MAC_FF_META=224]="MAC_FF_META",e[e.MAC_WK_CMD_LEFT=91]="MAC_WK_CMD_LEFT",e[e.MAC_WK_CMD_RIGHT=93]="MAC_WK_CMD_RIGHT",e[e.WIN_IME=229]="WIN_IME",e[e.VK_NONAME=252]="VK_NONAME",e[e.PHANTOM=255]="PHANTOM"})(Vt||(Vt={}));var to={};to.arc=Hn,to.curve=Zs,to.line=Mr,to.lineOnAxis=tt,to.lineTo=hi,to.moveBy=xn,to.moveTo=is,to.point=ut;var Ln={};Ln.Coordinate=Le,Ln.KeyCodes=Vt,Ln.Rect=Bt,Ln.Size=Jt,Ln.Svg=oe,Ln.aria=Pc,Ln.array=Rc,Ln.browserEvents=gt,Ln.colour=jr,Ln.deprecation=md,Ln.dom=ds,Ln.extensions=ti,Ln.idGenerator=bd,Ln.math=Vc,Ln.object=Db,Ln.parsing=Jc,Ln.string=Ol,Ln.style=$i,Ln.svgMath=Io,Ln.svgPaths=to,Ln.toolbox=qi,Ln.userAgent=eg,Ln.xml=xo;var Mb=class extends fn{constructor(e,t,r){super(e,t,r),this.workspace=e,this.anchor=t,this.ownerRect=r,this.resizePointerMoveListener=this.resizePointerUpListener=null,this.textChangeListeners=[],this.sizeChangeListeners=[],this.text="",this.DEFAULT_SIZE=new Jt(160+fn.DOUBLE_BORDER,80+fn.DOUBLE_BORDER),this.MIN_SIZE=new Jt(45+fn.DOUBLE_BORDER,20+fn.DOUBLE_BORDER),this.editable=!0,Fe(this.svgRoot,"blocklyTextInputBubble"),{inputRoot:this.inputRoot,textArea:this.textArea}=this.createEditor(this.contentContainer),this.resizeGroup=this.createResizeHandle(this.svgRoot,e),this.setSize(this.DEFAULT_SIZE,!0)}getText(){return this.text}setText(e){this.text=e,this.textArea.value=e,this.onTextChange()}setEditable(e){(this.editable=e)?this.textArea.removeAttribute("readonly"):this.textArea.setAttribute("readonly","")}isEditable(){return this.editable}addTextChangeListener(e){this.textChangeListeners.push(e)}addSizeChangeListener(e){this.sizeChangeListeners.push(e)}createEditor(e){e=re(oe.FOREIGNOBJECT,{x:fn.BORDER_WIDTH,y:fn.BORDER_WIDTH},e);const t=document.createElementNS(bi,"body");t.setAttribute("xmlns",bi),t.className="blocklyMinimalBody";const r=document.createElementNS(bi,"textarea");return r.className="blocklyTextarea blocklyText",r.setAttribute("dir",this.workspace.RTL?"RTL":"LTR"),t.appendChild(r),e.appendChild(t),this.bindTextAreaEvents(r),setTimeout(()=>{r.focus()},0),{inputRoot:e,textArea:r}}bindTextAreaEvents(e){Ue(e,"wheel",this,t=>{t.stopPropagation()}),Ue(e,"focus",this,this.onStartEdit,!0),Ue(e,"change",this,this.onTextChange)}createResizeHandle(e,t){return e=re(oe.IMAGE,{class:"blocklyResizeHandle",href:`${t.options.pathToMedia}resize-handle.svg`},e),Ue(e,"pointerdown",this,this.onResizePointerDown),e}setSize(e,t=!1){e.width=Math.max(e.width,this.MIN_SIZE.width),e.height=Math.max(e.height,this.MIN_SIZE.height);const r=e.width-fn.DOUBLE_BORDER,l=e.height-fn.DOUBLE_BORDER;this.inputRoot.setAttribute("width",`${r}`),this.inputRoot.setAttribute("height",`${l}`),this.resizeGroup.setAttribute("y",`${l}`),this.workspace.RTL?this.resizeGroup.setAttribute("x",`${-fn.DOUBLE_BORDER}`):this.resizeGroup.setAttribute("x",`${r}`),super.setSize(e,t),this.onSizeChange()}getSize(){return super.getSize()}onResizePointerDown(e){this.bringToFront(),ct(e)||(aa(this.workspace,e,new Le(this.workspace.RTL?-this.getSize().width:this.getSize().width,this.getSize().height)),this.resizePointerUpListener=Ue(document,"pointerup",this,this.onResizePointerUp),this.resizePointerMoveListener=Ue(document,"pointermove",this,this.onResizePointerMove),this.workspace.hideChaff()),e.stopPropagation()}onResizePointerUp(e){ft(),this.resizePointerUpListener&&(wt(this.resizePointerUpListener),this.resizePointerUpListener=null),this.resizePointerMoveListener&&(wt(this.resizePointerMoveListener),this.resizePointerMoveListener=null)}onResizePointerMove(e){e=ju(this.workspace,e),this.setSize(new Jt(this.workspace.RTL?-e.x:e.x,e.y),!1),this.onSizeChange()}onStartEdit(){this.bringToFront()&&this.textArea.focus()}onTextChange(){this.text=this.textArea.value;for(const e of this.textChangeListeners)e()}onSizeChange(){for(const e of this.sizeChangeListeners)e()}};we(` -.blocklyTextInputBubble .blocklyTextarea { - background-color: var(--commentFillColour); - border: 0; - box-sizing: border-box; - display: block; - outline: 0; - padding: 5px; - resize: none; - width: 100%; - height: 100%; -} -`);var Og={};Og.register=pr,Og.unregister=Nm;var zd=17,Bl=160,Ud=80,no=class extends eu{constructor(e){super(e),this.sourceBlock=e,this.textInputBubble=null,this.text="",this.bubbleSize=new Jt(Bl,Ud),this.bubbleVisiblity=!1}getType(){return no.TYPE}initView(e){this.svgRoot||(super.initView(e),re(oe.CIRCLE,{class:"blocklyIconShape",r:"8",cx:"8",cy:"8"},this.svgRoot),re(oe.PATH,{class:"blocklyIconSymbol",d:"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.4050.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25-1.201,0.998 -1.201,1.528 -1.204,2.19z"},this.svgRoot),re(oe.RECT,{class:"blocklyIconSymbol",x:"6.8",y:"10.78",height:"2",width:"2"},this.svgRoot),Fe(this.svgRoot,"blockly-icon-comment"))}dispose(){super.dispose();let e;(e=this.textInputBubble)==null||e.dispose()}getWeight(){return no.WEIGHT}getSize(){return new Jt(zd,zd)}applyColour(){super.applyColour();const e=this.sourceBlock.getColour();let t;(t=this.textInputBubble)==null||t.setColour(e)}updateEditable(){const e=this,t=()=>super.updateEditable;return Re.asyncExecutePromiseGeneratorFunction(function*(){t().call(e),e.bubbleIsVisible()&&(yield e.setBubbleVisible(!1),yield e.setBubbleVisible(!0))})}onLocationChange(e){super.onLocationChange(e),e=this.getAnchorLocation();let t;(t=this.textInputBubble)==null||t.setAnchorLocation(e)}setText(e){const t=this.text;ee(new(Ce(fe.BLOCK_CHANGE))(this.sourceBlock,"comment",null,t,e)),this.text=e;let r;(r=this.textInputBubble)==null||r.setText(this.text)}getText(){return this.text}setBubbleSize(e){this.bubbleSize=e;let t;(t=this.textInputBubble)==null||t.setSize(this.bubbleSize,!0)}getBubbleSize(){return this.bubbleSize}saveState(){return this.text?{text:this.text,pinned:this.bubbleIsVisible(),height:this.bubbleSize.height,width:this.bubbleSize.width}:null}loadState(e){let t;this.text=(t=e.text)!=null?t:"";let r,l;this.bubbleSize=new Jt((r=e.width)!=null?r:Bl,(l=e.height)!=null?l:Ud);let p;this.bubbleVisiblity=(p=e.pinned)!=null?p:!1,this.setBubbleVisible(this.bubbleVisiblity)}onClick(){super.onClick(),this.setBubbleVisible(!this.bubbleIsVisible())}isClickableInFlyout(){return!1}onTextChange(){if(this.textInputBubble){var e=this.textInputBubble.getText();this.text!==e&&(ee(new(Ce(fe.BLOCK_CHANGE))(this.sourceBlock,"comment",null,this.text,e)),this.text=e)}}onSizeChange(){this.textInputBubble&&(this.bubbleSize=this.textInputBubble.getSize())}bubbleIsVisible(){return this.bubbleVisiblity}setBubbleVisible(e){const t=this;return Re.asyncExecutePromiseGeneratorFunction(function*(){t.bubbleVisiblity!==e&&(t.bubbleVisiblity=e,yield rs(),!t.sourceBlock.rendered||t.sourceBlock.isInFlyout||t.sourceBlock.isInsertionMarker()||(e?(t.sourceBlock.isEditable()?t.showEditableBubble():t.showNonEditableBubble(),t.applyColour()):t.hideBubble(),ee(new(Ce(fe.BUBBLE_OPEN))(t.sourceBlock,e,"comment"))))})}showEditableBubble(){this.createBubble();let e;(e=this.textInputBubble)==null||e.addTextChangeListener(()=>this.onTextChange());let t;(t=this.textInputBubble)==null||t.addSizeChangeListener(()=>this.onSizeChange())}showNonEditableBubble(){this.createBubble();let e;(e=this.textInputBubble)==null||e.setEditable(!1)}createBubble(){this.textInputBubble=new Mb(this.sourceBlock.workspace,this.getAnchorLocation(),this.getBubbleOwnerRect()),this.textInputBubble.setText(this.getText()),this.textInputBubble.setSize(this.bubbleSize,!0)}hideBubble(){let e;(e=this.textInputBubble)==null||e.dispose(),this.textInputBubble=null}getAnchorLocation(){const e=zd/2;return Le.sum(this.workspaceLocation,new Le(e,e))}getBubbleOwnerRect(){return this.sourceBlock.getBoundingRectangleWithoutChildren()}};no.TYPE=Qn.COMMENT,no.WEIGHT=3,pr(no.TYPE,no);var Rg=class extends Error{constructor(e){super(`Tried to append an icon of type ${e.getType()} when an icon of that type already exists on the block. Use getIcon to access the existing icon.`),this.icon=e}},tu={};tu.DuplicateIconType=Rg;var ir=class extends fn{constructor(e,t,r,l){super(t,r,l),this.text=e,this.workspace=t,this.anchor=r,this.ownerRect=l,this.paragraph=this.stringToSvg(e,this.contentContainer),this.updateBubbleSize()}getText(){return this.text}setText(e){this.text=e,mt(this.paragraph),this.paragraph=this.stringToSvg(e,this.contentContainer),this.updateBubbleSize()}stringToSvg(e,t){return t=this.createParagraph(t),e=this.createTextFragments(t,e),this.workspace.RTL&&this.rightAlignTextFragments(t.getBBox().width,e),t}createParagraph(e){return re(oe.G,{class:"blocklyText blocklyBubbleText blocklyNoPointerEvents",transform:`translate(0,${fn.BORDER_WIDTH})`,style:`direction: ${this.workspace.RTL?"rtl":"ltr"}`},e)}createTextFragments(e,t){let r=1;return t.split(` -`).map(l=>{const p=re(oe.TEXT,{y:`${r}em`,x:fn.BORDER_WIDTH},e);return l=document.createTextNode(l),p.appendChild(l),r+=1,p})}rightAlignTextFragments(e,t){for(const r of t)r.setAttribute("text-anchor","start"),r.setAttribute("x",`${e+fn.BORDER_WIDTH}`)}updateBubbleSize(){const e=this.paragraph.getBBox();this.setSize(new Jt(e.width+2*fn.BORDER_WIDTH,e.height+2*fn.BORDER_WIDTH),!0)}},Oo=17,so=class extends eu{constructor(e){super(e),this.sourceBlock=e,this.textMap=new Map,this.textBubble=null}getType(){return so.TYPE}initView(e){this.svgRoot||(super.initView(e),re(oe.PATH,{class:"blocklyIconShape",d:"M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z"},this.svgRoot),re(oe.PATH,{class:"blocklyIconSymbol",d:"m7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z"},this.svgRoot),re(oe.RECT,{class:"blocklyIconSymbol",x:"7",y:"11",height:"2",width:"2"},this.svgRoot),Fe(this.svgRoot,"blockly-icon-warning"))}dispose(){super.dispose();let e;(e=this.textBubble)==null||e.dispose()}getWeight(){return so.WEIGHT}getSize(){return new Jt(Oo,Oo)}applyColour(){super.applyColour();let e;(e=this.textBubble)==null||e.setColour(this.sourceBlock.getColour())}updateCollapsed(){}isShownWhenCollapsed(){return!0}onLocationChange(e){super.onLocationChange(e);let t;(t=this.textBubble)==null||t.setAnchorLocation(this.getAnchorLocation())}addMessage(e,t){if(this.textMap.get(t)===e)return this;e?this.textMap.set(t,e):this.textMap.delete(t);let r;return(r=this.textBubble)==null||r.setText(this.getText()),this}getText(){return[...this.textMap.values()].join(` -`)}onClick(){super.onClick(),this.setBubbleVisible(!this.bubbleIsVisible())}isClickableInFlyout(){return!1}bubbleIsVisible(){return!!this.textBubble}setBubbleVisible(e){const t=this;return Re.asyncExecutePromiseGeneratorFunction(function*(){if(t.bubbleIsVisible()!==e){if(yield rs(),e)t.textBubble=new ir(t.getText(),t.sourceBlock.workspace,t.getAnchorLocation(),t.getBubbleOwnerRect()),t.applyColour();else{let r;(r=t.textBubble)==null||r.dispose(),t.textBubble=null}ee(new(Ce(fe.BUBBLE_OPEN))(t.sourceBlock,e,"warning"))}})}getAnchorLocation(){const e=Oo/2;return Le.sum(this.workspaceLocation,new Le(e,e))}getBubbleOwnerRect(){const e=this.sourceBlock.getSvgRoot().getBBox();return new Bt(e.y,e.y+e.height,e.x,e.x+e.width)}};so.TYPE=Qn.WARNING,so.WEIGHT=2;var Ro={};Ro.CommentIcon=no,Ro.Icon=eu,Ro.IconType=Qn,Ro.MutatorIcon=s.MutatorIcon$$module$build$src$core$icons$mutator_icon,Ro.WarningIcon=so,Ro.exceptions=tu,Ro.registry=Og,s.Names$$module$build$src$core$names=class{constructor(e,t){this.db=new Map,this.dbReverse=new Set,this.variableMap=null,this.variablePrefix=t||"",this.reservedWords=new Set(e?e.split(","):[])}reset(){this.db.clear(),this.dbReverse.clear(),this.variableMap=null}setVariableMap(e){this.variableMap=e}getNameForUserVariable(e){return this.variableMap?(e=this.variableMap.getVariableById(e))?e.name:null:(console.warn(`Deprecated call to Names.prototype.getName without defining a variable map. To fix, add the following code in your generator's init() function: -Blockly.YourGeneratorName.nameDB_.setVariableMap(workspace.getVariableMap());`),null)}populateVariables(e){e=s.allUsedVarModels$$module$build$src$core$variables(e);for(let t=0;trect,`,`${e} .blocklyEditableText>rect {`,`fill: ${this.FIELD_BORDER_RECT_COLOUR};`,"fill-opacity: .6;","stroke: none;","}",`${e} .blocklyNonEditableText>text,`,`${e} .blocklyEditableText>text {`,"fill: #000;","}",`${e} .blocklyFlyoutLabelText {`,"fill: #000;","}",`${e} .blocklyText.blocklyBubbleText {`,"fill: #000;","}",`${e} .blocklyEditableText:not(.editing):hover>rect {`,"stroke: #fff;","stroke-width: 2;","}",`${e} .blocklyHtmlInput {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,`font-weight: ${this.FIELD_TEXT_FONTWEIGHT};`,"}",`${e} .blocklySelected>.blocklyPath {`,"stroke: #fc3;","stroke-width: 3px;","}",`${e} .blocklyHighlightedConnectionPath {`,"stroke: #fc3;","}",`${e} .blocklyReplaceable .blocklyPath {`,"fill-opacity: .5;","}",`${e} .blocklyReplaceable .blocklyPathLight,`,`${e} .blocklyReplaceable .blocklyPathDark {`,"display: none;","}",`${e} .blocklyInsertionMarker>.blocklyPath {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"]}},Fl=class{constructor(e,t){this.inlinePath_=this.outlinePath_="",this.block_=e,this.info_=t,this.topLeft_=e.getRelativeToSurfaceXY(),this.constants_=t.getRenderer().getConstants()}draw(){this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights(),this.block_.pathObject.setPath(this.outlinePath_+` -`+this.inlinePath_),this.info_.RTL&&this.block_.pathObject.flipRTL(),this.recordSizeOnBlock_()}recordSizeOnBlock_(){this.block_.height=this.info_.height,this.block_.width=this.info_.widthWithChildren,this.block_.childlessWidth=this.info_.width}drawOutline_(){this.drawTop_();for(let e=1;ee||e>this.fieldRow.length)throw Error("index "+e+" out of bounds.");return(t||t===""&&r)&&(typeof t=="string"&&(t=s.fromJson$$module$build$src$core$field_registry({type:"field_label",text:t})),t.setSourceBlock(this.sourceBlock),this.sourceBlock.initialized&&this.initField(t),t.name=r,t.setVisible(this.isVisible()),t.prefixField&&(e=this.insertFieldAt(e,t.prefixField)),this.fieldRow.splice(e,0,t),e++,t.suffixField&&(e=this.insertFieldAt(e,t.suffixField)),this.sourceBlock.rendered&&this.sourceBlock.queueRender()),e}removeField(e,t){for(let r=0,l;l=this.fieldRow[r];r++)if(l.name===e)return l.dispose(),this.fieldRow.splice(r,1),this.sourceBlock.rendered&&this.sourceBlock.queueRender(),!0;if(t)return!1;throw Error('Field "'+e+'" not found.')}isVisible(){return this.visible}setVisible(e){let t=[];if(this.visible===e)return t;this.visible=e;for(let l=0,p;p=this.fieldRow[l];l++)p.setVisible(e);if(this.connection){var r=this.connection;e?t=r.startTrackingAll():r.stopTrackingAll(),(r=r.targetBlock())&&(r.getSvgRoot().style.display=e?"block":"none")}return t}markDirty(){for(let e=0,t;t=this.fieldRow[e];e++)t.markDirty()}setCheck(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setCheck(e),this}setAlign(e){return this.align=e,this.sourceBlock.rendered&&this.sourceBlock.queueRender(),this}setShadowDom(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setShadowDom(e),this}getShadowDom(){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.getShadowDom()}init(){for(const e of this.fieldRow)e.init()}initModel(){for(const e of this.fieldRow)e.initModel()}initField(e){this.sourceBlock.rendered?e.init():e.initModel()}dispose(){for(let e=0,t;t=this.fieldRow[e];e++)t.dispose();this.connection&&this.connection.dispose()}makeConnection(e){return this.sourceBlock.makeConnection_(e)}},yi=class extends No{constructor(e,t){super(e,t),this.name=e,this.type=s.inputTypes$$module$build$src$core$inputs$input_types.DUMMY}},ro=class extends No{constructor(e,t){super(e,t),this.name=e,this.type=s.inputTypes$$module$build$src$core$inputs$input_types.END_ROW}},yr=class extends No{constructor(e,t){if(!e)throw Error("Statement inputs must have a non-empty name");super(e,t),this.name=e,this.type=s.inputTypes$$module$build$src$core$inputs$input_types.STATEMENT,this.connection=this.makeConnection(Ze.NEXT_STATEMENT)}},ls;s.ValueInput$$module$build$src$core$inputs$value_input=class extends No{constructor(e,t){if(!e)throw Error("Value inputs must have a non-empty name");super(e,t),this.name=e,this.type=s.inputTypes$$module$build$src$core$inputs$input_types.VALUE,this.connection=this.makeConnection(Ze.INPUT_VALUE)}},ls={},ls.ValueInput=s.ValueInput$$module$build$src$core$inputs$value_input;var hs=class{constructor(e,t){this.statementEdge=this.width=this.widthWithChildren=this.height=0,this.rows=[],this.inputRows=[],this.startY=this.startX=0,this.renderer_=e,this.block_=t,this.constants_=this.renderer_.getConstants(),this.outputConnection=t.outputConnection?new jb(this.constants_,t.outputConnection):null,this.isInline=t.getInputsInline()&&!t.isCollapsed(),this.isCollapsed=t.isCollapsed(),this.isInsertionMarker=t.isInsertionMarker(),this.RTL=t.RTL,this.topRow=new Bg(this.constants_),this.bottomRow=new or(this.constants_)}getRenderer(){return this.renderer_}measure(){this.createRows_(),this.addElemSpacing_(),this.addRowSpacing_(),this.computeBounds_(),this.alignRowElements_(),this.finalize_()}createRows_(){this.populateTopRow_(),this.rows.push(this.topRow);let e=new Ng(this.constants_);this.inputRows.push(e);var t=this.block_.getIcons();for(let r=0,l;l=t[r];r++){const p=new nu(this.constants_,l);this.isCollapsed&&!l.isShownWhenCollapsed()||e.elements.push(p)}t=void 0;for(let r=0,l;l=this.block_.inputList[r];r++)if(l.isVisible()){this.shouldStartNewRow_(l,t)&&(this.rows.push(e),e=new Ng(this.constants_),this.inputRows.push(e));for(let p=0,v;v=l.fieldRow[p];p++)e.elements.push(new jl(this.constants_,v,l));this.addInput_(l,e),t=l}this.isCollapsed&&(e.hasJaggedEdge=!0,e.elements.push(new Bb(this.constants_))),(e.elements.length||e.hasDummyInput)&&this.rows.push(e),this.populateBottomRow_(),this.rows.push(this.bottomRow)}populateTopRow_(){var e=!!this.block_.previousConnection;const t=(this.block_.hat?this.block_.hat==="cap":this.constants_.ADD_START_HATS)&&!this.outputConnection&&!e;let r=this.topRow.hasLeftSquareCorner(this.block_)?iu:ru;this.topRow.elements.push(new r(this.constants_)),t?(e=new Hd(this.constants_),this.topRow.elements.push(e),this.topRow.capline=e.ascenderHeight):e&&(this.topRow.hasPreviousConnection=!0,this.topRow.connection=new Fb(this.constants_,this.block_.previousConnection),this.topRow.elements.push(this.topRow.connection)),this.block_.inputList.length&&this.block_.inputList[0]instanceof yr&&!this.block_.isCollapsed()?this.topRow.minHeight=this.constants_.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT:this.topRow.minHeight=this.constants_.TOP_ROW_MIN_HEIGHT,r=this.topRow.hasRightSquareCorner(this.block_)?iu:ru,this.topRow.elements.push(new r(this.constants_,"right"))}populateBottomRow_(){this.bottomRow.hasNextConnection=!!this.block_.nextConnection,this.bottomRow.minHeight=this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1]instanceof yr?this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT:this.constants_.BOTTOM_ROW_MIN_HEIGHT,this.bottomRow.hasLeftSquareCorner(this.block_)?this.bottomRow.elements.push(new iu(this.constants_)):this.bottomRow.elements.push(new ru(this.constants_)),this.bottomRow.hasNextConnection&&(this.bottomRow.connection=new Pb(this.constants_,this.block_.nextConnection),this.bottomRow.elements.push(this.bottomRow.connection)),this.bottomRow.hasRightSquareCorner(this.block_)?this.bottomRow.elements.push(new iu(this.constants_,"right")):this.bottomRow.elements.push(new ru(this.constants_,"right"))}addInput_(e,t){this.isInline&&e instanceof s.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new Mg(this.constants_,e)),t.hasInlineInput=!0):e instanceof yr?(t.elements.push(new su(this.constants_,e)),t.hasStatement=!0):e instanceof s.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new cn(this.constants_,e)),t.hasExternalInput=!0):(e instanceof yi||e instanceof ro)&&(t.minHeight=Math.max(t.minHeight,e.getSourceBlock()&&e.getSourceBlock().isShadow()?this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT:this.constants_.DUMMY_INPUT_MIN_HEIGHT),t.hasDummyInput=!0),t.align===null&&(t.align=e.align)}shouldStartNewRow_(e,t){return t?t instanceof ro||e instanceof yr||t instanceof yr?!0:e instanceof s.ValueInput$$module$build$src$core$inputs$value_input||e instanceof yi||t instanceof s.ValueInput$$module$build$src$core$inputs$value_input?!this.isInline:!1:!1}addElemSpacing_(){for(let e=0,t;t=this.rows[e];e++){const r=t.elements;if(t.elements=[],t.startsWithElemSpacer()&&t.elements.push(new vr(this.constants_,this.getInRowSpacing_(null,r[0]))),r.length){for(let l=0;le.disposeInternal()),this.inputList.forEach(e=>e.dispose()),this.inputList.length=0,this.getConnections_(!0).forEach(e=>e.dispose()),this.disposed=!0}isDeadOrDying(){return this.disposing||this.disposed}initModel(){if(!this.initialized){for(const e of this.inputList)e.initModel();this.initialized=!0}}unplug(e){this.outputConnection&&this.unplugFromRow(e),this.previousConnection&&this.unplugFromStack(e)}unplugFromRow(e){let t=null,r;(r=this.outputConnection)!=null&&r.isConnected()&&(t=this.outputConnection.targetConnection,this.outputConnection.disconnect()),t&&e&&(e=this.getOnlyValueConnection())&&e.isConnected()&&!e.targetBlock().isShadow()&&(e=e.targetConnection,e==null||e.disconnect(),this.workspace.connectionChecker.canConnect(e,t,!1)?t.connect(e):e==null||e.onFailedConnect(t))}getOnlyValueConnection(){let e=null;for(let t=0;t(l=l+(r==="("||p===")"?"":" ")+p,r=p[p.length-1],l),""),t=t.trim()||"???",e&&t.length>e&&(t=t.substring(0,e-3)+"..."),t}toTokens(e="?"){const t=[];for(const l of this.inputList)if(l.name!=jc){for(const p of l.fieldRow)t.push(p.getText());if(l.connection){const p=l.connection.targetBlock();if(p){var r=l.connection;let v=r.getCheck();!v&&r.targetConnection&&(v=r.targetConnection.getCheck()),(r=!!v&&(v.includes("Boolean")||v.includes("Number")))&&t.push("("),t.push(...p.toTokens(e)),r&&t.push(")")}else t.push(e)}}return t}appendValueInput(e){return this.appendInput(new s.ValueInput$$module$build$src$core$inputs$value_input(e,this))}appendStatementInput(e){return this.statementInputCount++,this.appendInput(new yr(e,this))}appendDummyInput(e=""){return this.appendInput(new yi(e,this))}appendEndRowInput(e=""){return this.appendInput(new ro(e,this))}appendInput(e){return this.inputList.push(e),e}appendInputFromRegistry(e,t){return(e=b(Be.INPUT,e,!1))?this.appendInput(new e(t,this)):null}jsonInit(e){var t=e.type?'Block "'+e.type+'": ':"";if(e.output&&e.previousStatement)throw Error(t+"Must not have both an output and a previousStatement.");for(var r=0;e["args"+r];){if(e["message"+r]===void 0)throw Error(t+`args${r} must have a corresponding message (message${r}).`);r++}if(e.style&&e.style.hat&&(this.hat=e.style.hat,e.style=null),e.style&&e.colour)throw Error(t+"Must not have both a colour and a style.");for(e.style?this.jsonInitStyle(e,t):this.jsonInitColour(e,t),r=0;e["message"+r]!==void 0;)this.interpolate(e["message"+r],e["args"+r]||[],e["implicitAlign"+r]||e["lastDummyAlign"+r],t),r++;if(e.inputsInline!==void 0&&(s.disable$$module$build$src$core$events$utils(),this.setInputsInline(e.inputsInline),s.enable$$module$build$src$core$events$utils()),e.output!==void 0&&this.setOutput(!0,e.output),e.outputShape!==void 0&&this.setOutputShape(e.outputShape),e.previousStatement!==void 0&&this.setPreviousStatement(!0,e.previousStatement),e.nextStatement!==void 0&&this.setNextStatement(!0,e.nextStatement),e.tooltip!==void 0&&(r=kt(e.tooltip),this.setTooltip(r)),e.enableContextMenu!==void 0&&(this.contextMenu=!!e.enableContextMenu),e.suppressPrefixSuffix!==void 0&&(this.suppressPrefixSuffix=!!e.suppressPrefixSuffix),e.helpUrl!==void 0&&(r=kt(e.helpUrl),this.setHelpUrl(r)),typeof e.extensions=="string"&&(console.warn(t+"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '"+e.type+"' block."),e.extensions=[e.extensions]),e.mutator!==void 0&&Gu(e.mutator,this,!0),e=e.extensions,Array.isArray(e))for(t=0;tv||v>t)throw Error('Block "'+this.type+'": Message index %'+v+" out of range.");if(r[v])throw Error('Block "'+this.type+'": Message index %'+v+" duplicated.");r[v]=!0,l++}}if(l!==t)throw Error('Block "'+this.type+'": Message does not reference all '+t+" arg(s).")}interpolateArguments(e,t,r){const l=[];for(let v=0;v=this.inputList.length)throw RangeError("Input index "+e+" out of bounds.");if(t>this.inputList.length)throw RangeError("Reference input "+t+" out of bounds.");const r=this.inputList[e];this.inputList.splice(e,1),et.getWeight()-r.getWeight()),e}removeIcon(e){if(!this.hasIcon(e))return!1;let t;return(t=this.getIcon(e))==null||t.dispose(),this.icons=this.icons.filter(r=>!r.getType().equals(e)),!0}hasIcon(e){return this.icons.some(t=>t.getType().equals(e))}getIcon(e){return e instanceof Qn?this.icons.find(t=>t.getType().equals(e)):this.icons.find(t=>t.getType().toString()===e)}getIcons(){return[...this.icons]}getRelativeToSurfaceXY(){return this.xy}moveBy(e,t,r){if(this.parentBlock_)throw Error("Block has parent");const l=new(Ce(fe.BLOCK_MOVE))(this);r&&l.setReason(r),this.xy.translate(e,t),l.recordNew(),ee(l)}makeConnection_(e){return new sn(this,e)}allInputsFilled(e){if(e===void 0&&(e=!0),!e&&this.isShadow())return!1;for(let r=0,l;l=this.inputList[r];r++)if(l.connection){var t=l.connection.targetBlock();if(!t||!t.allInputsFilled(e))return!1}return(t=this.getNextBlock())?t.allInputsFilled(e):!0}toDevString(){let e=this.type?'"'+this.type+'" block':"Block";return this.id&&(e+=' (id="'+this.id+'")'),e}};Lo.COLLAPSED_INPUT_NAME=jc,Lo.COLLAPSED_FIELD_NAME=Dd;var _r=class{constructor(e,t,r,l){this.workspace=e,this.targetWorkspace=t,this.isFlyoutLabel=l,this.onMouseUpWrapper=null,this.height=this.width=0,this.cursorSvg=this.svgText=this.svgGroup=null,this.text=r.text,this.position=new Le(0,0),this.callbackKey=r.callbackKey||r.callbackkey,this.cssClass=r["web-class"]||null,this.info=r}createDom(){var e=this.isFlyoutLabel?"blocklyFlyoutLabel":"blocklyFlyoutButton";this.cssClass&&(e+=" "+this.cssClass),this.svgGroup=re(oe.G,{class:e},this.workspace.getCanvas());let t;this.isFlyoutLabel||(t=re(oe.RECT,{class:"blocklyFlyoutButtonShadow",rx:_r.BORDER_RADIUS,ry:_r.BORDER_RADIUS,x:1,y:1},this.svgGroup)),e=re(oe.RECT,{class:this.isFlyoutLabel?"blocklyFlyoutLabelBackground":"blocklyFlyoutButtonBackground",rx:_r.BORDER_RADIUS,ry:_r.BORDER_RADIUS},this.svgGroup);const r=re(oe.TEXT,{class:this.isFlyoutLabel?"blocklyFlyoutLabelText":"blocklyText",x:0,y:0,"text-anchor":"middle"},this.svgGroup);var l=kt(this.text);this.workspace.RTL&&(l+="‏"),r.textContent=l,this.isFlyoutLabel&&(this.svgText=r,this.workspace.getThemeManager().subscribe(this.svgText,"flyoutForegroundColour","fill"));const p=jn(r,"fontSize"),v=jn(r,"fontWeight"),O=jn(r,"fontFamily");if(this.width=Rn(r,p,v,O),l=Kt(l,p,v,O),this.height=l.height,!this.isFlyoutLabel){this.width+=2*_r.TEXT_MARGIN_X,this.height+=2*_r.TEXT_MARGIN_Y;let G;(G=t)==null||G.setAttribute("width",String(this.width));let Ie;(Ie=t)==null||Ie.setAttribute("height",String(this.height))}return e.setAttribute("width",String(this.width)),e.setAttribute("height",String(this.height)),r.setAttribute("x",String(this.width/2)),r.setAttribute("y",String(this.height/2-l.height/2+l.baseline)),this.updateTransform(),this.onMouseUpWrapper=Ue(this.svgGroup,"pointerup",this,this.onMouseUp),this.svgGroup}show(){this.updateTransform(),this.svgGroup.setAttribute("display","block")}updateTransform(){this.svgGroup.setAttribute("transform","translate("+this.position.x+","+this.position.y+")")}moveTo(e,t){this.position.x=e,this.position.y=t,this.updateTransform()}isLabel(){return this.isFlyoutLabel}getPosition(){return this.position}getButtonText(){return this.text}getTargetWorkspace(){return this.targetWorkspace}getWorkspace(){return this.workspace}dispose(){this.onMouseUpWrapper&&wt(this.onMouseUpWrapper),this.svgGroup&&mt(this.svgGroup),this.svgText&&this.workspace.getThemeManager().unsubscribe(this.svgText)}setCursorSvg(e){e?this.svgGroup&&(this.svgGroup.appendChild(e),this.cursorSvg=e):this.cursorSvg=null}setMarkerSvg(){throw Error("Attempted to set a marker on a button.")}onMouseUp(e){(e=this.targetWorkspace.getGesture(e))&&e.cancel(),this.isFlyoutLabel&&this.callbackKey?console.warn("Labels should not have callbacks. Label text: "+this.text):this.isFlyoutLabel||this.callbackKey&&this.targetWorkspace.getButtonCallback(this.callbackKey)?this.isFlyoutLabel||(e=this.targetWorkspace.getButtonCallback(this.callbackKey))&&e(this):console.warn("Buttons should have callbacks. Button text: "+this.text)}};_r.TEXT_MARGIN_X=5,_r.TEXT_MARGIN_Y=2,_r.BORDER_RADIUS=4,we(` -.blocklyFlyoutButton { - fill: #888; - cursor: default; -} - -.blocklyFlyoutButtonShadow { - fill: #666; -} - -.blocklyFlyoutButton:hover { - fill: #aaa; -} - -.blocklyFlyoutLabel { - cursor: default; -} - -.blocklyFlyoutLabelBackground { - opacity: 0; -} -`);var Oe=class{constructor(e,t,r){if(this.wsCoordinate=null,!t)throw Error("Cannot create a node without a location.");this.type=e,this.isConnectionLocation=Oe.isConnectionType(e),this.location=t,this.processParams(r||null)}processParams(e){e&&e.wsCoordinate&&(this.wsCoordinate=e.wsCoordinate)}getLocation(){return this.location}getType(){return this.type}getWsCoordinate(){return this.wsCoordinate}isConnection(){return this.isConnectionLocation}findNextForInput(){var e=this.location.getParentInput();const t=e.getSourceBlock();for(e=t.inputList.indexOf(e),e+=1;et instanceof Lo&&p.block===t||t instanceof _r&&p.button===t);return 0>l?null:(r=r?l+1:l-1,r===-1||r===e.length?null:e[r])}findTopASTNodeForBlock(e){const t=vl(e);return t?Oe.createConnectionNode(t):Oe.createBlockNode(e)}getOutAstNodeForBlock(e){if(!e)return null;e=e.getTopStackBlock();const t=vl(e);return t&&t.targetConnection&&t.targetConnection.getParentInput()?Oe.createInputNode(t.targetConnection.getParentInput()):Oe.createStackNode(e)}findFirstFieldOrInput(e){e=e.inputList;for(let t=0;t{_o(r.getSourceBlock()),setTimeout(()=>{l.bringToFront()},0)})}}update(e,t){const r=this.getCandidate(e);((this.wouldDeleteBlock=this.shouldDelete(!!r,t))||this.shouldUpdatePreviews(r,e))&&(s.disable$$module$build$src$core$events$utils(),this.maybeHidePreview(r),this.maybeShowPreview(r),s.enable$$module$build$src$core$events$utils())}createMarkerBlock(e){s.disable$$module$build$src$core$events$utils();let t;try{const r=Qt(e,{addCoordinates:!1,addInputBlocks:!1,addNextBlocks:!1,doFullSerialization:!1});if(!r)throw Error(`Failed to serialize source block. ${e.toDevString()}`);t=Ni(r,this.workspace);for(const l of t.getDescendants(!1))l.setInsertionMarker(!0);t.initSvg(),t.getSvgRoot().setAttribute("visibility","hidden")}finally{s.enable$$module$build$src$core$events$utils()}return t}initAvailableConnections(){const e=this.topBlock.getConnections_(!1),t=this.topBlock.lastConnectionInStack(!0);return t&&t!==this.topBlock.nextConnection&&(e.push(t),this.lastOnStack=t),e}shouldUpdatePreviews(e,t){if(!e)return!!this.activeCandidate;if(!this.activeCandidate)return!0;const{local:r,closest:l}=this.activeCandidate;if(l===e.closest&&r===e.local)return!1;const p=r.x+t.x-l.x;return t=r.y+t.y-l.y,e.radius{let Ie;(Ie=l)==null||Ie.positionNearConnection(G,v,O);let Qe;(Qe=l)==null||Qe.getSvgRoot().setAttribute("visibility","visible")}),this.markerConnection=p}hideInsertionMarker(){if(this.markerConnection){var e=this.markerConnection,t=e.getSourceBlock(),r=t.outputConnection,l;if((l=t.previousConnection)!=null&&l.targetConnection||r!=null&&r.targetConnection)t.unplug(!0);else{let p;(p=e.targetBlock())==null||p.unplug(!1)}if(e.targetConnection)throw Error("markerConnection still connected at the end of disconnectInsertionMarker");this.markerConnection=null,(e=t.getSvgRoot())&&e.setAttribute("visibility","hidden")}}showInsertionInputOutline(e){e=e.closest,this.highlightedBlock=e.getSourceBlock(),this.highlightedBlock.highlightShapeForInput(e,!0)}hideInsertionInputOutline(){if(this.highlightedBlock){if(!this.activeCandidate)throw Error("Cannot hide the insertion marker outline because there is no active candidate");this.highlightedBlock.highlightShapeForInput(this.activeCandidate.closest,!1),this.highlightedBlock=null}}showReplacementFade(e){if(this.fadedBlock=e.closest.targetBlock(),!this.fadedBlock)throw Error("Cannot show the replacement fade because the closest connection does not have a target block");this.fadedBlock.fadeForReplacement(!0)}hideReplacementFade(){this.fadedBlock&&(this.fadedBlock.fadeForReplacement(!1),this.fadedBlock=null)}getInsertionMarkers(){const e=[];return this.firstMarker&&e.push(this.firstMarker),this.lastMarker&&e.push(this.lastMarker),e}disposeInsertionMarker(e){if(e){s.disable$$module$build$src$core$events$utils();try{e.dispose()}finally{s.enable$$module$build$src$core$events$utils()}}}};(function(e){e=e.PREVIEW_TYPE||(e.PREVIEW_TYPE={}),e[e.INSERTION_MARKER=0]="INSERTION_MARKER",e[e.INPUT_OUTLINE=1]="INPUT_OUTLINE",e[e.REPLACEMENT_FADE=2]="REPLACEMENT_FADE"})(wr||(wr={})),wr.PREVIEW_TYPE;var ou=class{constructor(e){this.overrides=null,this.name=e}getClassName(){return this.name+"-renderer"}init(e,t){this.constants_=this.makeConstants_(),t&&(this.overrides=t,Object.assign(this.constants_,t)),this.constants_.setTheme(e),this.constants_.init()}createDom(e,t){this.constants_.createDom(e,this.name+"-"+t.name,"."+this.getClassName()+"."+t.getClassName())}refreshDom(e,t){const r=this.getConstants();r.dispose(),this.constants_=this.makeConstants_(),this.overrides&&Object.assign(this.constants_,this.overrides),this.constants_.randomIdentifier=r.randomIdentifier,this.constants_.setTheme(t),this.constants_.init(),this.createDom(e,t)}dispose(){this.constants_&&this.constants_.dispose()}makeConstants_(){return new Vd}makeRenderInfo_(e){return new hs(this,e)}makeDrawer_(e,t){return new Fl(e,t)}makeMarkerDrawer(e,t){return new Fg(e,this.getConstants(),t)}makePathObject(e,t){return new Gd(e,t,this.constants_)}getConstants(){return this.constants_}shouldHighlightConnection(e){return!0}orphanCanConnectAtEnd(e,t,r){return!!sn.getConnectionForOrphanedConnection(e,r===Ze.OUTPUT_VALUE?t.outputConnection:t.previousConnection)}getConnectionPreviewMethod(e,t,r){return T("getConnectionPreviewMethod","v10","v12","an IConnectionPreviewer, if it fulfills your use case."),t.type===Ze.OUTPUT_VALUE||t.type===Ze.PREVIOUS_STATEMENT?!e.isConnected()||this.orphanCanConnectAtEnd(r,e.targetBlock(),t.type)?wr.PREVIEW_TYPE.INSERTION_MARKER:wr.PREVIEW_TYPE.REPLACEMENT_FADE:wr.PREVIEW_TYPE.INSERTION_MARKER}render(e){const t=this.makeRenderInfo_(e);t.measure(),this.makeDrawer_(e,t).draw()}},gn={};gn.BottomRow=or,gn.Connection=vi,gn.ConstantProvider=Vd,gn.Drawer=Fl,gn.ExternalValueInput=cn,gn.Field=jl,gn.Hat=Hd,gn.Icon=nu,gn.InRowSpacer=vr,gn.InlineInput=Mg,gn.InputConnection=Mo,gn.InputRow=Ng,gn.JaggedEdge=Bb,gn.MarkerSvg=Fg,gn.Measurable=Ct,gn.NextConnection=Pb,gn.OutputConnection=jb,gn.PathObject=Gd,gn.PreviousConnection=Fb,gn.RenderInfo=hs,gn.Renderer=ou,gn.RoundCorner=ru,gn.Row=Pl,gn.SpacerRow=Lg,gn.SquareCorner=iu,gn.StatementInput=su,gn.TopRow=Bg,gn.Types=J,gn.init=Qu,gn.register=Wi,gn.unregister=Hi;var Ub=class{constructor(e,t){this.workspace=e,this.theme=t,this.subscribedWorkspaces=[],this.componentDB=new Map}getTheme(){return this.theme}setTheme(e){var t=this.theme;this.theme=e,(e=this.workspace.getInjectionDiv())&&(t&&(t=t.getClassName())&&pt(e,t),(t=this.theme.getClassName())&&Fe(e,t));for(let r=0,l;l=this.subscribedWorkspaces[r];r++)l.refreshTheme();for(const[r,l]of this.componentDB)for(const p of l){e=p.element,t=p.propertyName;const v=this.theme&&this.theme.getComponentStyle(r);e.style.setProperty(t,v||"")}for(const r of this.subscribedWorkspaces)r.hideChaff()}subscribeWorkspace(e){this.subscribedWorkspaces.push(e)}unsubscribeWorkspace(e){if(!ue(this.subscribedWorkspaces,e))throw Error("Cannot unsubscribe a workspace that hasn't been subscribed.")}subscribe(e,t,r){this.componentDB.has(t)||this.componentDB.set(t,[]),this.componentDB.get(t).push({element:e,propertyName:r}),t=this.theme&&this.theme.getComponentStyle(t),e.style.setProperty(r,t||"")}unsubscribe(e){if(e)for(const[t,r]of this.componentDB){for(let l=r.length-1;0<=l;l--)r[l].element===e&&r.splice(l,1);r.length||this.componentDB.delete(t)}}dispose(){this.subscribedWorkspaces.length=0,this.componentDB.clear()}},zg="VARIABLE_DYNAMIC",Ba={CATEGORY_NAME:zg};Ba.flyoutCategory=_c,Ba.flyoutCategoryBlocks=os,Ba.onCreateVariableButtonClick_Colour=_p,Ba.onCreateVariableButtonClick_Number=yl,Ba.onCreateVariableButtonClick_String=yp;var Pa=30,ja=[];ja[Ze.INPUT_VALUE]=Ze.OUTPUT_VALUE,ja[Ze.OUTPUT_VALUE]=Ze.INPUT_VALUE,ja[Ze.NEXT_STATEMENT]=Ze.PREVIOUS_STATEMENT,ja[Ze.PREVIOUS_STATEMENT]=Ze.NEXT_STATEMENT;var Ug="RENAME_VARIABLE_ID",Wg="DELETE_VARIABLE_ID",Wb=class{canConnect(e,t,r,l){return this.canConnectWithReason(e,t,r,l)===sn.CAN_CONNECT}canConnectWithReason(e,t,r,l){const p=this.doSafetyChecks(e,t);return p!==sn.CAN_CONNECT?p:this.doTypeChecks(e,t)?r&&!this.doDragChecks(e,t,l||0)?sn.REASON_DRAG_CHECKS_FAILED:sn.CAN_CONNECT:sn.REASON_CHECKS_FAILED}getErrorMessage(e,t,r){switch(e){case sn.REASON_SELF_CONNECTION:return"Attempted to connect a block to itself.";case sn.REASON_DIFFERENT_WORKSPACES:return"Blocks not on same workspace.";case sn.REASON_WRONG_TYPE:return"Attempt to connect incompatible types.";case sn.REASON_TARGET_NULL:return"Target connection is null.";case sn.REASON_CHECKS_FAILED:return"Connection checks failed. "+(t+" expected "+t.getCheck()+", found "+r.getCheck());case sn.REASON_SHADOW_PARENT:return"Connecting non-shadow to shadow block.";case sn.REASON_DRAG_CHECKS_FAILED:return"Drag checks failed.";case sn.REASON_PREVIOUS_AND_OUTPUT:return"Block would have an output and a previous connection.";default:return"Unknown connection failure: this should never happen!"}}doSafetyChecks(e,t){if(!e||!t)return sn.REASON_TARGET_NULL;let r,l,p;return e.isSuperior()?(r=e.getSourceBlock(),l=t.getSourceBlock(),p=t):(l=e.getSourceBlock(),r=t.getSourceBlock(),p=e,e=t),r===l?sn.REASON_SELF_CONNECTION:p.type!==ja[e.type]?sn.REASON_WRONG_TYPE:r.workspace!==l.workspace?sn.REASON_DIFFERENT_WORKSPACES:r.isShadow()&&!l.isShadow()?sn.REASON_SHADOW_PARENT:p.type===Ze.OUTPUT_VALUE&&l.previousConnection&&l.previousConnection.isConnected()||p.type===Ze.PREVIOUS_STATEMENT&&l.outputConnection&&l.outputConnection.isConnected()?sn.REASON_PREVIOUS_AND_OUTPUT:sn.CAN_CONNECT}doTypeChecks(e,t){if(e=e.getCheck(),t=t.getCheck(),!e||!t)return!0;for(let r=0;rr||t.getSourceBlock().isInsertionMarker())return!1;switch(t.type){case Ze.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(e,t);case Ze.OUTPUT_VALUE:if(t.isConnected()&&!t.targetBlock().isInsertionMarker()||e.isConnected())return!1;break;case Ze.INPUT_VALUE:if(t.isConnected()&&!t.targetBlock().isMovable()&&!t.targetBlock().isShadow())return!1;break;case Ze.NEXT_STATEMENT:if(t.isConnected()&&!e.getSourceBlock().nextConnection&&!t.targetBlock().isShadow()&&t.targetBlock().nextConnection||t.targetBlock()&&!t.targetBlock().isMovable()&&!t.targetBlock().isShadow())return!1;break;default:return!1}return!Sl.includes(t)}canConnectToPrevious_(e,t){return e.targetConnection||Sl.includes(t)?!1:t.targetConnection?(e=t.targetBlock(),e.isInsertionMarker()?!e.getPreviousBlock():!1):!0}};i(Be.CONNECTION_CHECKER,Nr,Wb);var Hg=class extends zc{constructor(e){super(e),this.type=fe.VAR_DELETE,e&&(this.varType=e.type,this.varName=e.name)}toJson(){const e=super.toJson();if(this.varType===void 0)throw Error("The var type is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");return e.varType=this.varType,e.varName=this.varName,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Hg),t.varType=e.varType,t.varName=e.varName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");e?t.deleteVariableById(this.varId):t.createVariable(this.varName,this.varType,this.varId)}};i(Be.EVENT,fe.VAR_DELETE,Hg);var Kd=class extends zc{constructor(e,t){super(e),this.type=fe.VAR_RENAME,e&&(this.oldName=e.name,this.newName=typeof t>"u"?"":t)}toJson(){const e=super.toJson();if(!this.oldName)throw Error("The old var name is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.newName)throw Error("The new var name is undefined. Either pass a value to the constructor, or call fromJson");return e.oldName=this.oldName,e.newName=this.newName,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Kd),t.oldName=e.oldName,t.newName=e.newName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.oldName)throw Error("The old var name is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.newName)throw Error("The new var name is undefined. Either pass a value to the constructor, or call fromJson");e?t.renameVariableById(this.varId,this.newName):t.renameVariableById(this.varId,this.oldName)}};i(Be.EVENT,fe.VAR_RENAME,Kd);var Jd=class{constructor(e){this.workspace=e,this.variableMap=new Map}clear(){for(const e of this.variableMap.values())for(;0{p&&t&&this.deleteVariableInternal(t,l)})):this.deleteVariableInternal(t,l)}else console.warn("Can't delete non-existent variable: "+e)}deleteVariableInternal(e,t){const r=s.getGroup$$module$build$src$core$events$utils();r||s.setGroup$$module$build$src$core$events$utils(!0);try{for(let l=0;le.name)}getVariableUsesById(e){const t=[],r=this.workspace.getAllBlocks(!1);for(let l=0;l!r.isInsertionMarker())):[]}addTopComment(e){this.topComments.push(e),this.commentDB.has(e.id)&&console.warn('Overriding an existing comment on this workspace, with id "'+e.id+'"'),this.commentDB.set(e.id,e)}removeTopComment(e){if(!ue(this.topComments,e))throw Error("Comment not present in workspace's list of top-most comments.");this.commentDB.delete(e.id)}getTopComments(e=!1){const t=[].concat(this.topComments);return e&&1!r.isInsertionMarker())}clear(){this.isClearing=!0;try{const e=s.getGroup$$module$build$src$core$events$utils();for(e||s.setGroup$$module$build$src$core$events$utils(!0);this.topBlocks.length;)this.topBlocks[0].dispose(!1);for(;this.topComments.length;)this.topComments[this.topComments.length-1].dispose();s.setGroup$$module$build$src$core$events$utils(e),this.variableMap.clear(),this.potentialVariableMap&&this.potentialVariableMap.clear()}finally{this.isClearing=!1}}renameVariableById(e,t){this.variableMap.renameVariableById(e,t)}createVariable(e,t,r){return this.variableMap.createVariable(e,t,r)}getVariableUsesById(e){return this.variableMap.getVariableUsesById(e)}deleteVariableById(e){this.variableMap.deleteVariableById(e)}getVariable(e,t){return this.variableMap.getVariable(e,t)}getVariableById(e){return this.variableMap.getVariableById(e)}getVariablesOfType(e){return this.variableMap.getVariablesOfType(e)}getVariableTypes(){return this.variableMap.getVariableTypes(this)}getAllVariables(){return this.variableMap.getAllVariables()}getAllVariableNames(){return this.variableMap.getAllVariableNames()}getWidth(){return 0}newBlock(e,t){throw Error("The implementation of newBlock should be monkey-patched in by blockly.ts")}newComment(e){throw Error("The implementation of newComment should be monkey-patched in by blockly.ts")}remainingCapacity(){return isNaN(this.options.maxBlocks)?1/0:this.options.maxBlocks-this.getAllBlocks(!1).length}remainingCapacityOfType(e){return this.options.maxInstances?(this.options.maxInstances[e]!==void 0?this.options.maxInstances[e]:1/0)-this.getBlocksByType(e,!1).length:1/0}isCapacityAvailable(e){if(!this.hasBlockLimits())return!0;let t=0;for(const r in e){if(e[r]>this.remainingCapacityOfType(r))return!1;t+=e[r]}return!(t>this.remainingCapacity())}hasBlockLimits(){return this.options.maxBlocks!==1/0||!!this.options.maxInstances}getUndoStack(){return this.undoStack_}getRedoStack(){return this.redoStack_}undo(e){var t=e?this.redoStack_:this.undoStack_,r=e?this.undoStack_:this.redoStack_;const l=t.pop();if(l){for(var p=[l];t.length&&l.group&&l.group===t[t.length-1].group;){const v=t.pop();v&&p.push(v)}for(t=0;tthis.MAX_UNDO&&0<=this.MAX_UNDO;)this.undoStack_.shift();for(let t=0;t!!t.getStyleName())),this.refreshToolboxSelection(),this.toolbox&&this.toolbox.refreshTheme(),this.isVisible()&&this.setVisible(!0);const e=new(Ce(fe.THEME_CHANGE))(this.getTheme().name,this.id);ee(e)}updateBlockStyles(e){for(let t=0,r;r=e[t];t++){const l=r.getStyleName();l&&r.setStyle(l)}}getInverseScreenCTM(){if(this.inverseScreenCTMDirty){const e=this.getParentSvg().getScreenCTM();e&&(this.inverseScreenCTM=e.inverse(),this.inverseScreenCTMDirty=!1)}return this.inverseScreenCTM}updateInverseScreenCTM(){this.inverseScreenCTMDirty=!0}isVisible(){return this.visible}getSvgXY(e){let t=0,r=0,l=1;(this.getCanvas().contains(e)||this.getBubbleCanvas().contains(e))&&(l=this.scale);do{const p=xr(e);(e===this.getCanvas()||e===this.getBubbleCanvas())&&(l=1),t+=p.x*l,r+=p.y*l,e=e.parentNode}while(e&&e!==this.getParentSvg()&&e!==this.getInjectionDiv());return new Le(t,r)}getCachedParentSvgSize(){const e=this.cachedParentSvgSize;return new Jt(e.width,e.height)}getOriginOffsetInPixels(){return Ka(this.getCanvas())}getInjectionDiv(){if(!this.injectionDiv){let e=this.svgGroup_;for(;e;){if((" "+(e.getAttribute("class")||"")+" ").includes(" injectionDiv ")){this.injectionDiv=e;break}e=e.parentNode}}return this.injectionDiv}getSvgGroup(){return this.svgGroup_}getBlockCanvas(){return this.getCanvas()}setResizeHandlerWrapper(e){this.resizeHandlerWrapper=e}createDom(e,t){return this.injectionDiv||(this.injectionDiv=t??null),this.svgGroup_=re(oe.G,{class:"blocklyWorkspace"}),e&&(this.svgBackground_=re(oe.RECT,{height:"100%",width:"100%",class:e},this.svgGroup_),e==="blocklyMainBackground"&&this.grid?this.svgBackground_.style.fill="url(#"+this.grid.getPatternId()+")":this.themeManager_.subscribe(this.svgBackground_,"workspaceBackgroundColour","fill")),this.layerManager=new jt(this),this.svgBlockCanvas_=this.layerManager.getBlockLayer(),this.svgBubbleCanvas_=this.layerManager.getBubbleLayer(),this.isFlyout||(Ue(this.svgGroup_,"pointerdown",this,this.onMouseDown,!1),this.dummyWheelListener=()=>{},document.body.addEventListener("wheel",this.dummyWheelListener),Ue(this.svgGroup_,"wheel",this,this.onMouseWheel)),this.options.hasCategories&&(this.toolbox=new(w(Be.TOOLBOX,this.options,!0))(this)),this.grid&&this.grid.update(this.scale),this.recordDragTargets(),(e=w(Be.CURSOR,this.options))&&this.markerManager.setCursor(new e),this.renderer.createDom(this.svgGroup_,this.getTheme()),this.svgGroup_}dispose(){if(this.rendered=!1,this.currentGesture_&&this.currentGesture_.cancel(),this.svgGroup_&&mt(this.svgGroup_),this.toolbox&&(this.toolbox.dispose(),this.toolbox=null),this.flyout&&(this.flyout.dispose(),this.flyout=null),this.trashcan&&(this.trashcan.dispose(),this.trashcan=null),this.scrollbar&&(this.scrollbar.dispose(),this.scrollbar=null),this.zoomControls_&&this.zoomControls_.dispose(),this.audioManager&&this.audioManager.dispose(),this.grid&&(this.grid=null),this.renderer.dispose(),this.markerManager&&this.markerManager.dispose(),super.dispose(),this.themeManager_&&(this.themeManager_.unsubscribeWorkspace(this),this.themeManager_.unsubscribe(this.svgBackground_),this.options.parentWorkspace||this.themeManager_.dispose()),this.connectionDBList.length=0,this.toolboxCategoryCallbacks.clear(),this.flyoutButtonCallbacks.clear(),!this.options.parentWorkspace){const e=this.getParentSvg();e&&e.parentNode&&mt(e.parentNode)}this.resizeHandlerWrapper&&(wt(this.resizeHandlerWrapper),this.resizeHandlerWrapper=null),this.dummyWheelListener&&(document.body.removeEventListener("wheel",this.dummyWheelListener),this.dummyWheelListener=null)}addTrashcan(){this.trashcan=Cr.newTrashcan(this);const e=this.trashcan.createDom();this.svgGroup_.insertBefore(e,this.getCanvas())}static newTrashcan(e){throw Error("The implementation of newTrashcan should be monkey-patched in by blockly.ts")}addZoomControls(){this.zoomControls_=new og(this);const e=this.zoomControls_.createDom();this.svgGroup_.appendChild(e)}addFlyout(e){const t=new zr({parentWorkspace:this,rtl:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,renderer:this.options.renderer,rendererOverrides:this.options.rendererOverrides,move:{scrollbars:!0}});return t.toolboxPosition=this.options.toolboxPosition,this.flyout=this.horizontalLayout?new(w(Be.FLYOUTS_HORIZONTAL_TOOLBOX,this.options,!0))(t):new(w(Be.FLYOUTS_VERTICAL_TOOLBOX,this.options,!0))(t),this.flyout.autoClose=!1,this.flyout.getWorkspace().setVisible(!0),this.flyout.createDom(e)}getFlyout(e){return this.flyout||e?this.flyout:this.toolbox?this.toolbox.getFlyout():null}getToolbox(){return this.toolbox}updateScreenCalculations(){this.updateInverseScreenCTM(),this.recordDragTargets()}resizeContents(){this.resizesEnabled&&this.rendered&&(this.scrollbar&&this.scrollbar.resize(),this.updateInverseScreenCTM())}resize(){this.toolbox&&this.toolbox.position(),this.flyout&&this.flyout.position();const e=this.componentManager.getComponents(pn.Capability.POSITIONABLE,!0),t=this.getMetricsManager().getUiMetrics(),r=[];for(let l=0,p;p=e[l];l++){p.position(t,r);const v=p.getBoundingRectangle();v&&r.push(v)}this.scrollbar&&this.scrollbar.resize(),this.updateScreenCalculations()}updateScreenCalculationsIfScrolled(){const e=nc();Le.equals(this.lastRecordedPageScroll,e)||(this.lastRecordedPageScroll=e,this.updateScreenCalculations())}getLayerManager(){return this.layerManager}getCanvas(){return this.layerManager.getBlockLayer()}setCachedParentSvgSize(e,t){const r=this.getParentSvg();e!=null&&(this.cachedParentSvgSize.width=e,r.setAttribute("data-cached-width",`${e}`)),t!=null&&(this.cachedParentSvgSize.height=t,r.setAttribute("data-cached-height",`${t}`))}getBubbleCanvas(){return this.layerManager.getBubbleLayer()}getParentSvg(){if(!this.cachedParentSvg){let e=this.svgGroup_;for(;e;){if(e.tagName==="svg"){this.cachedParentSvg=e;break}e=e.parentNode}}return this.cachedParentSvg}maybeFireViewportChangeEvent(){if(te()){var e=this.scale,t=-this.scrollY,r=-this.scrollX;if(!(e===this.oldScale&&1>Math.abs(t-this.oldTop)&&1>Math.abs(r-this.oldLeft))){var l=new(Ce(fe.VIEWPORT_CHANGE))(t,r,e,this.id,this.oldScale);this.oldScale=e,this.oldTop=t,this.oldLeft=r,ee(l)}}}translate(e,t){let r;(r=this.layerManager)==null||r.translateLayers(new Le(e,t),this.scale);let l;(l=this.grid)==null||l.moveTo(e,t),this.maybeFireViewportChangeEvent()}getWidth(){const e=this.getMetrics();return e?e.viewWidth/this.scale:0}setVisible(e){this.visible=e,this.svgGroup_&&(this.scrollbar&&this.scrollbar.setContainerVisible(e),this.getFlyout()&&this.getFlyout().setContainerVisible(e),this.getParentSvg().style.display=e?"block":"none",this.toolbox&&this.toolbox.setVisible(e),e||this.hideChaff(!0))}render(){const e=this.getAllBlocks(!1);for(let t=e.length-1;0<=t;t--)e[t].queueRender();this.getTopBlocks().flatMap(t=>t.getDescendants(!1)).filter(t=>t.isInsertionMarker()).forEach(t=>t.queueRender()),rs().then(()=>void this.markerManager.updateMarkers())}highlightBlock(e,t){if(t===void 0){for(let r=0,l;l=this.highlightedBlocks[r];r++)l.setHighlighted(!1);this.highlightedBlocks.length=0}(e=e?this.getBlockById(e):null)&&((t=t===void 0||t)?this.highlightedBlocks.includes(e)||this.highlightedBlocks.push(e):ue(this.highlightedBlocks,e),e.setHighlighted(t))}refreshToolboxSelection(){const e=this.isFlyout?this.targetWorkspace:this;e&&!e.currentGesture_&&e.toolbox&&e.toolbox.getFlyout()&&e.toolbox.refreshSelection()}renameVariableById(e,t){super.renameVariableById(e,t),this.refreshToolboxSelection()}deleteVariableById(e){super.deleteVariableById(e),this.refreshToolboxSelection()}createVariable(e,t,r){return e=super.createVariable(e,t,r),this.refreshToolboxSelection(),e}recordDragTargets(){const e=this.componentManager.getComponents(pn.Capability.DRAG_TARGET,!0);this.dragTargetAreas=[];for(let t=0,r;r=e[t];t++){const l=r.getClientRect();l&&this.dragTargetAreas.push({component:r,clientRect:l})}}newBlock(e,t){throw Error("The implementation of newBlock should be monkey-patched in by blockly.ts")}newComment(e){throw Error("The implementation of newComment should be monkey-patched in by blockly.ts")}getDragTarget(e){for(let t=0,r;r=this.dragTargetAreas[t];t++)if(r.clientRect.contains(e.clientX,e.clientY))return r.component;return null}onMouseDown(e){const t=this.getGesture(e);t&&t.handleWsStart(e,this)}startDrag(e,t){aa(this,e,t)}moveDrag(e){return ju(this,e)}isDragging(){return this.currentGesture_!==null&&this.currentGesture_.isDragging()}isDraggable(){return this.options.moveOptions&&this.options.moveOptions.drag}isMovable(){return this.options.moveOptions&&!!this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel||this.options.zoomOptions&&this.options.zoomOptions.pinch}isMovableHorizontally(){const e=!!this.scrollbar;return this.isMovable()&&(!e||e&&this.scrollbar.canScrollHorizontally())}isMovableVertically(){const e=!!this.scrollbar;return this.isMovable()&&(!e||e&&this.scrollbar.canScrollVertically())}onMouseWheel(e){if(Qi.inProgress())e.preventDefault(),e.stopPropagation();else{var t=this.options.zoomOptions&&this.options.zoomOptions.wheel,r=this.options.moveOptions&&this.options.moveOptions.wheel;if(t||r){var l=ge(e);if(Ac)var p=e.metaKey;t&&(e.ctrlKey||p||!r)?(l=-l.y/50,t=me(e,this.getParentSvg(),this.getInverseScreenCTM()),this.zoom(t.x,t.y,l)):(t=this.scrollX-l.x,r=this.scrollY-l.y,e.shiftKey&&!l.x&&(t=this.scrollX-l.y,r=this.scrollY),this.scroll(t,r)),e.preventDefault()}}}getBlocksBoundingBox(){const e=this.getTopBoundedElements();if(!e.length)return new Bt(0,0,0,0);const t=e[0].getBoundingRectangle();for(let l=1;lt.bottom&&(t.bottom=r.bottom),r.leftt.right&&(t.right=r.right))}return t}cleanUp(){this.setResizesEnabled(!1),s.setGroup$$module$build$src$core$events$utils(!0);var e=this.getTopBlocks(!0),t=e.filter(v=>v.isMovable());const r=e.filter(v=>!v.isMovable()).map(v=>v.getBoundingRectangle());e=function(v){for(const O of r)if(v.intersects(O))return O;return null};var l=0;const p=this.renderer.getConstants().MIN_BLOCK_HEIGHT;for(const v of t){for(t=v.getBoundingRectangle(),v.moveBy(-t.left,l-t.top,["cleanup"]),v.snapToGrid(),t=v.getBoundingRectangle(),l=e(t);l!=null;)l=l.top+l.getHeight()+p,v.moveBy(0,l-t.top,["cleanup"]),v.snapToGrid(),t=v.getBoundingRectangle(),l=e(t);l=v.getRelativeToSurfaceXY().y+v.getHeightWidth().height+p}s.setGroup$$module$build$src$core$events$utils(!1),this.setResizesEnabled(!0)}showContextMenu(e){if(!this.options.readOnly&&!this.isFlyout){var t=zt.registry.getContextMenuOptions(zt.ScopeType.WORKSPACE,{workspace:this});this.configureContextMenu&&this.configureContextMenu(t,e),dl(e,t,this.RTL,this)}}updateToolbox(e){if(e=j(e)){if(!this.options.languageTree)throw Error("Existing toolbox is null. Can't create new toolbox.");if(Ee(e)){if(!this.toolbox)throw Error("Existing toolbox has no categories. Can't change mode.");this.options.languageTree=e,this.toolbox.render(e)}else{if(!this.flyout)throw Error("Existing toolbox has categories. Can't change mode.");this.options.languageTree=e,this.flyout.show(e)}}else if(this.options.languageTree)throw Error("Can't nullify an existing toolbox.")}markFocused(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():(He(this),this.getParentSvg().focus({preventScroll:!0}))}zoom(e,t,r){r=Math.pow(this.options.zoomOptions.scaleSpeed,r);const l=this.scale*r;if(this.scale!==l){l>this.options.zoomOptions.maxScale?r=this.options.zoomOptions.maxScale/this.scale:lthis.options.zoomOptions.maxScale?e=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&et.autoHide(e))}static setTopLevelWorkspaceMetrics(e){const t=this.getMetrics();typeof e.x=="number"&&(this.scrollX=-(t.scrollLeft+(t.scrollWidth-t.viewWidth)*e.x)),typeof e.y=="number"&&(this.scrollY=-(t.scrollTop+(t.scrollHeight-t.viewHeight)*e.y)),this.translate(this.scrollX+t.absoluteLeft,this.scrollY+t.absoluteTop)}},Vg=class extends Es{constructor(e,t,r){super(r),this.type=fe.SELECTED,this.oldElementId=e??void 0,this.newElementId=t??void 0}toJson(){const e=super.toJson();return e.oldElementId=this.oldElementId,e.newElementId=this.newElementId,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Vg),t.oldElementId=e.oldElementId,t.newElementId=e.newElementId,t}};i(Be.EVENT,fe.SELECTED,Vg);var au=class{paste(e,t,r){if(!t.isCapacityAvailable(e.typeCounts))return null;r&&(e.blockState.x=r.x,e.blockState.y=r.y),r=r||new Le(e.blockState.x||0,e.blockState.y||0),s.disable$$module$build$src$core$events$utils();let l;try{l=Ni(e.blockState,t),ed(l,r)}finally{s.enable$$module$build$src$core$events$utils()}return l&&(te()&&!l.isShadow()&&ee(new(Ce(fe.BLOCK_CREATE))(l)),s.setSelected$$module$build$src$core$common(l),l)}};au.TYPE="block",Js(au.TYPE,new au);var qd={};qd.bumpIntoBounds=So,qd.bumpIntoBoundsHandler=_l,qd.bumpTopObjectsIntoBounds=wc;var Vb=class{constructor(e){this.block=e,this.connectionPreviewer=this.connectionCandidate=this.startLoc=this.startChildConn=this.startParentConn=null,this.dragging=!1,this.dragOffset=new Le(0,0),this.inGroup=!1,this.workspace=e.workspace}isMovable(){if(this.block.isShadow()){let e,t;return(t=(e=this.block.getParent())==null?void 0:e.isMovable())!=null?t:!1}return this.block.isOwnMovable()&&!this.block.isDeadOrDying()&&!this.workspace.options.readOnly&&!this.block.isInFlyout}startDrag(e){if(this.block.isShadow())this.startDraggingShadow(e);else{this.dragging=!0,(this.inGroup=!!s.getGroup$$module$build$src$core$events$utils())||s.setGroup$$module$build$src$core$events$utils(!0),this.fireDragStartEvent(),this.startLoc=this.block.getRelativeToSurfaceXY(),this.connectionCandidate=null,this.connectionPreviewer=new(w(Be.CONNECTION_PREVIEWER,this.workspace.options))(this.block),zn(),this.workspace.setResizesEnabled(!1),qr(),e=!!e&&(e.altKey||e.ctrlKey||e.metaKey),this.shouldDisconnect(e)&&this.disconnectBlock(e),this.block.setDragging(!0);var t;(t=this.workspace.getLayerManager())==null||t.moveToDragLayer(this.block)}}startDraggingShadow(e){const t=this.block.getParent();if(!t)throw Error("Tried to drag a shadow block with no parent. Shadow blocks should always have parents.");this.dragOffset=Le.difference(t.getRelativeToSurfaceXY(),this.block.getRelativeToSurfaceXY()),t.startDrag(e)}shouldDisconnect(e){return!!(this.block.getParent()||e&&this.block.nextConnection&&this.block.nextConnection.targetBlock())}disconnectBlock(e){let t,r,l;if(this.startParentConn=(l=(t=this.block.outputConnection)==null?void 0:t.targetConnection)!=null?l:(r=this.block.previousConnection)==null?void 0:r.targetConnection,e){let p;this.startChildConn=(p=this.block.nextConnection)==null?void 0:p.targetConnection}this.block.unplug(e),Vu(this.block)}fireDragStartEvent(){const e=new(Ce(fe.BLOCK_DRAG))(this.block,!0,this.block.getDescendants(!1));ee(e)}fireDragEndEvent(){const e=new(Ce(fe.BLOCK_DRAG))(this.block,!1,this.block.getDescendants(!1));ee(e)}fireMoveEvent(){if(!this.block.isDeadOrDying()){var e=new(Ce(fe.BLOCK_MOVE))(this.block);e.setReason(["drag"]),e.oldCoordinate=this.startLoc,e.recordNew(),ee(e)}}drag(e){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.drag(Le.sum(e,this.dragOffset))}else this.block.moveDuringDrag(e),this.updateConnectionPreview(this.block,Le.difference(e,this.startLoc))}updateConnectionPreview(e,t){var r=this.connectionCandidate;const l=this.getConnectionCandidate(e,t);if(l){this.connectionCandidate=t=r&&this.currCandidateIsBetter(r,t,l)?r:l;var{local:p,neighbour:v}=t;t=p.type===Ze.OUTPUT_VALUE||p.type===Ze.PREVIOUS_STATEMENT,r=v.isConnected()&&!v.targetBlock().isInsertionMarker(),t&&r&&!this.orphanCanConnectAtEnd(e,v.targetBlock(),p.type)?this.connectionPreviewer.previewReplacement(p,v,v.targetBlock()):this.connectionPreviewer.previewConnection(p,v)}else this.connectionPreviewer.hidePreview(),this.connectionCandidate=null}orphanCanConnectAtEnd(e,t,r){return!!sn.getConnectionForOrphanedConnection(e,r===Ze.OUTPUT_VALUE?t.outputConnection:t.previousConnection)}currCandidateIsBetter(e,t,r){const{local:l,neighbour:p}=e;e=new Le(l.x,l.y);const v=new Le(p.x,p.y);return t=Le.distance(Le.sum(e,t),v),r.distance>t-s.config$$module$build$src$core$config.currentConnectionPreference}getConnectionCandidate(e,t){e=this.getLocalConnections(e);let r=this.connectionCandidate?s.config$$module$build$src$core$config.connectingSnapRadius:s.config$$module$build$src$core$config.snapRadius,l=null;for(const p of e){const{connection:v,radius:O}=p.closest(r,t);v&&(l={local:p,neighbour:v,distance:O},r=O)}return l}getLocalConnections(e){const t=e.getConnections_(!1),r=e.lastConnectionInStack(!0);return r&&r!==e.nextConnection&&t.push(r),t}endDrag(e){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.endDrag(e)}else{if(this.fireDragEndEvent(),this.fireMoveEvent(),Jn(),qr(),this.connectionPreviewer.hidePreview(),!this.block.isDeadOrDying()&&this.dragging){let t;(t=this.workspace.getLayerManager())==null||t.moveOffDragLayer(this.block,Ao),this.block.setDragging(!1)}this.connectionCandidate?(this.applyConnections(this.connectionCandidate),this.disposeStep()):this.block.queueRender().then(()=>this.disposeStep()),this.inGroup||s.setGroup$$module$build$src$core$events$utils(!1)}}disposeStep(){this.block.snapToGrid(),this.connectionPreviewer.dispose(),this.workspace.setResizesEnabled(!0)}applyConnections(e){const{local:t,neighbour:r}=e;t.connect(r);const l=t.isSuperior()?r:t,p=this.block.getRootBlock();rs().then(()=>{_o(l.getSourceBlock()),setTimeout(()=>{p.bringToFront()},0)})}revertDrag(){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.revertDrag()}else{var e;if((e=this.startChildConn)==null||e.connect(this.block.nextConnection),this.startParentConn)switch(this.startParentConn.type){case Ze.INPUT_VALUE:this.startParentConn.connect(this.block.outputConnection);break;case Ze.NEXT_STATEMENT:this.startParentConn.connect(this.block.previousConnection)}else{this.block.moveTo(this.startLoc,["drag"]);let t;(t=this.workspace.getLayerManager())==null||t.moveOffDragLayer(this.block,Ao),So(this.workspace,this.workspace.getMetricsManager().getScrollMetrics(!0),this.block)}this.startParentConn=this.startChildConn=null,this.connectionPreviewer.hidePreview(),this.connectionCandidate=null,this.block.setDragging(!1),this.dragging=!1}}},Gb=class{constructor(){this.drawer=this.curNode=this.colour=null,this.type="marker"}setDrawer(e){this.drawer=e}getDrawer(){return this.drawer}getCurNode(){return this.curNode}setCurNode(e){const t=this.curNode;this.curNode=e,this.drawer&&this.drawer.draw(t,this.curNode)}draw(){this.drawer&&this.drawer.draw(this.curNode,this.curNode)}hide(){this.drawer&&this.drawer.hide()}dispose(){this.getDrawer()&&this.getDrawer().dispose()}},Gg=class extends Gb{constructor(){super(),this.type="cursor"}next(){var e=this.getCurNode();if(!e)return null;for(e=e.next();e&&e.next()&&(e.getType()===Oe.types.NEXT||e.getType()===Oe.types.BLOCK);)e=e.next();return e&&this.setCurNode(e),e}in(){var e=this.getCurNode();if(!e)return null;(e.getType()===Oe.types.PREVIOUS||e.getType()===Oe.types.OUTPUT)&&(e=e.next());let t,r;return(e=(r=(t=e)==null?void 0:t.in())!=null?r:null)&&this.setCurNode(e),e}prev(){var e=this.getCurNode();if(!e)return null;for(e=e.prev();e&&e.prev()&&(e.getType()===Oe.types.NEXT||e.getType()===Oe.types.BLOCK);)e=e.prev();return e&&this.setCurNode(e),e}out(){var e=this.getCurNode();return e?((e=e.out())&&e.getType()===Oe.types.BLOCK&&(e=e.prev()||e),e&&this.setCurNode(e),e):null}};i(Be.CURSOR,Nr,Gg);var lu=class extends Gg{constructor(){super()}next(){var e=this.getCurNode();return e?((e=this.getNextNode_(e,this.validNode_))&&this.setCurNode(e),e):null}in(){return this.next()}prev(){var e=this.getCurNode();return e?((e=this.getPreviousNode_(e,this.validNode_))&&this.setCurNode(e),e):null}out(){return this.prev()}getNextNode_(e,t){if(!e)return null;const r=e.in()||e.next();return t(r)?r:r?this.getNextNode_(r,t):(e=this.findSiblingOrParent(e.out()),t(e)?e:e?this.getNextNode_(e,t):null)}getPreviousNode_(e,t){if(!e)return null;let r=e.prev();return r=r?this.getRightMostChild(r):e.out(),t(r)?r:r?this.getPreviousNode_(r,t):null}validNode_(e){let t=!1;return e=e&&e.getType(),(e===Oe.types.OUTPUT||e===Oe.types.INPUT||e===Oe.types.FIELD||e===Oe.types.NEXT||e===Oe.types.PREVIOUS||e===Oe.types.WORKSPACE)&&(t=!0),t}findSiblingOrParent(e){if(!e)return null;const t=e.next();return t||this.findSiblingOrParent(e.out())}getRightMostChild(e){if(!e.in())return e;for(e=e.in();e&&e.next();)e=e.next();return this.getRightMostChild(e)}};lu.registrationName="basicCursor",i(Be.CURSOR,lu.registrationName,lu);var Kb=class extends lu{validNode_(e){let t=!1;const r=e&&e.getType();return e&&(e=e.getLocation(),r===Oe.types.FIELD&&e&&e.isTabNavigable()&&e.isClickable()&&(t=!0)),t}},Jb=10,Fs=class extends sn{constructor(e,t){super(e,t),this.highlighted=!1,this.targetConnection=null,this.db=e.workspace.connectionDBList[t],this.dbOpposite=e.workspace.connectionDBList[ja[t]],this.offsetInBlock=new Le(0,0),this.trackedState=Fs.TrackedState.WILL_TRACK}dispose(){super.dispose(),this.trackedState===Fs.TrackedState.TRACKED&&this.db.removeConnection(this,this.y);let e,t;(t=(e=this.sourceBlock_.pathObject).removeConnectionHighlight)==null||t.call(e,this)}getSourceBlock(){return super.getSourceBlock()}targetBlock(){return super.targetBlock()}distanceFrom(e){const t=this.x-e.x;return e=this.y-e.y,Math.sqrt(t*t+e*e)}bumpAwayFrom(e,t=!1){if(!this.sourceBlock_.workspace.isDragging()){var r=s.config$$module$build$src$core$config.snapRadius+Math.floor(Math.random()*Jb),l=s.config$$module$build$src$core$config.snapRadius+Math.floor(Math.random()*Jb),p=e.sourceBlock_.getRootBlock(),v=this.sourceBlock_.getRootBlock();if(!p.isInFlyout&&!v.isInFlyout){var O=!0;if(v.isMovable())p.isMovable()&&t&&(l=-l);else if(p.isMovable())O=!1,r=-r,l=-l;else return;t=O?e:this,e=O?this:e,p=O?v:p,(v=ne()===p)||p.addSelect(),p.RTL&&(r=-r),p.moveBy(t.x+r-e.x,t.y+l-e.y,["bump"]),v||p.removeSelect()}}}moveTo(e,t){let r=!1;return this.trackedState===Fs.TrackedState.WILL_TRACK?(this.db.addConnection(this,t),this.trackedState=Fs.TrackedState.TRACKED,r=!0):this.trackedState===Fs.TrackedState.TRACKED&&(this.db.removeConnection(this,this.y),this.db.addConnection(this,t),r=!0),this.x=e,this.y=t,r}moveBy(e,t){return this.moveTo(this.x+e,this.y+t)}moveToOffset(e){return this.moveTo(e.x+this.offsetInBlock.x,e.y+this.offsetInBlock.y)}setOffsetInBlock(e,t){this.offsetInBlock.x=e,this.offsetInBlock.y=t}getOffsetInBlock(){return this.offsetInBlock}tightenEfficiently(){var e=this.targetConnection;const t=this.targetBlock();e&&t&&(e=Le.difference(this.offsetInBlock,e.offsetInBlock),t.translate(e.x,e.y))}closest(e,t){return this.dbOpposite.searchForClosest(this,e,t)}highlight(){this.highlighted=!0,this.getSourceBlock().queueRender()}unhighlight(){this.highlighted=!1,this.getSourceBlock().queueRender()}isHighlighted(){return this.highlighted}setTracking(e){e&&this.trackedState===Fs.TrackedState.TRACKED||!e&&this.trackedState===Fs.TrackedState.UNTRACKED||this.sourceBlock_.isInFlyout||(e?(this.db.addConnection(this,this.y),this.trackedState=Fs.TrackedState.TRACKED):(this.trackedState===Fs.TrackedState.TRACKED&&this.db.removeConnection(this,this.y),this.trackedState=Fs.TrackedState.UNTRACKED))}stopTrackingAll(){if(this.setTracking(!1),this.targetConnection){const e=this.targetBlock().getDescendants(!1);for(let t=0;tclearTimeout(e)),this.warningTextDb.clear(),this.getIcons().forEach(e=>e.dispose())}checkAndDelete(){this.workspace.isFlyout||(s.setGroup$$module$build$src$core$events$utils(!0),this.workspace.hideChaff(),this.outputConnection?this.dispose(!1,!0):this.dispose(!0,!0),s.setGroup$$module$build$src$core$events$utils(!1))}toCopyData(){return this.isInsertionMarker_?null:{paster:au.TYPE,blockState:Qt(this,{addCoordinates:!0,addNextBlocks:!1}),typeCounts:rt(this,!0)}}applyColour(){this.pathObject.applyColour(this);const e=this.getIcons();for(let t=0;t{this.isDeadOrDying()||(this.warningTextDb.delete(t),this.setWarningText(e,t))},100));else if(this.isInFlyout&&(e=null),r=this.getIcon(so.TYPE),e){let l=this.getSurroundParent(),p=null;for(;l;)l.isCollapsed()&&(p=l),l=l.getSurroundParent();p&&p.setWarningText(s.Msg$$module$build$src$core$msg.COLLAPSED_WARNINGS_WARNING,Ur.COLLAPSED_WARNING_ID),r?r.addMessage(e,t):this.addIcon(new so(this).addMessage(e,t))}else r&&(t?(r.addMessage("",t),r.getText()||this.removeIcon(so.TYPE)):this.removeIcon(so.TYPE))}setMutator(e){this.removeIcon(s.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE),e&&this.addIcon(e)}addIcon(e){return super.addIcon(e),e instanceof s.MutatorIcon$$module$build$src$core$icons$mutator_icon&&(this.mutator=e),e.initView(this.createIconPointerDownListener(e)),e.applyColour(),e.updateEditable(),this.queueRender(),e}createIconPointerDownListener(e){return t=>{this.isDeadOrDying()||(t=this.workspace.getGesture(t))&&t.setStartIcon(e)}}removeIcon(e){const t=super.removeIcon(e);return e.equals(s.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE)&&(this.mutator=null),this.queueRender(),t}setEnabled(e){T("setEnabled","v11","v12","the setDisabledReason method of BlockSvg");const t=this.isEnabled();super.setEnabled(e),this.isEnabled()===t||this.getInheritedDisabled()||this.updateDisabled()}setDisabledReason(e,t){const r=this.isEnabled();super.setDisabledReason(e,t),this.isEnabled()===r||this.getInheritedDisabled()||this.updateDisabled()}setHighlighted(e){this.pathObject.updateHighlighted(e)}addSelect(){this.pathObject.updateSelected(!0)}removeSelect(){this.pathObject.updateSelected(!1)}setDeleteStyle(e){this.pathObject.updateDraggingDelete(e)}getColour(){return this.style.colourPrimary}setColour(e){super.setColour(e),e=this.workspace.getRenderer().getConstants().getBlockStyleForColour(this.colour_),this.pathObject.setStyle(e.style),this.style=e.style,this.styleName_=e.name,this.applyColour()}setStyle(e){const t=this.workspace.getRenderer().getConstants().getBlockStyle(e);if(this.styleName_=e,t)this.hat=t.hat,this.pathObject.setStyle(t),this.colour_=t.colourPrimary,this.style=t,this.applyColour();else throw Error("Invalid style name: "+e)}getStyle(){return this.style}bringToFront(e=!1){let t=this;if(!t.isDeadOrDying())do{const r=t.getSvgRoot(),l=r.parentNode,p=l.childNodes;if(p[p.length-1]!==r&&l.appendChild(r),e)break;t=t.getParent()}while(t)}setPreviousStatement(e,t){super.setPreviousStatement(e,t),this.queueRender()}setNextStatement(e,t){super.setNextStatement(e,t),this.queueRender()}setOutput(e,t){super.setOutput(e,t),this.queueRender()}setInputsInline(e){super.setInputsInline(e),this.queueRender()}removeInput(e,t){return e=super.removeInput(e,t),this.queueRender(),e}moveNumberedInputBefore(e,t){super.moveNumberedInputBefore(e,t),this.queueRender()}appendInput(e){return super.appendInput(e),this.queueRender(),e}setConnectionTracking(e){if(this.previousConnection&&this.previousConnection.setTracking(e),this.outputConnection&&this.outputConnection.setTracking(e),this.nextConnection){this.nextConnection.setTracking(e);var t=this.nextConnection.targetBlock();t&&t.setConnectionTracking(e)}if(!this.collapsed_)for(t=0;t=this.workspace.options.maxTrashcanContents||(e=new zr({scrollbars:!0,parentWorkspace:this.workspace,rtl:this.workspace.RTL,oneBasedIndex:this.workspace.options.oneBasedIndex,renderer:this.workspace.options.renderer,rendererOverrides:this.workspace.options.rendererOverrides,move:{scrollbars:!0}}),this.workspace.horizontalLayout?(e.toolboxPosition=this.workspace.toolboxPosition===Rt.TOP?Rt.BOTTOM:Rt.TOP,this.flyout=new(w(Be.FLYOUTS_HORIZONTAL_TOOLBOX,this.workspace.options,!0))(e)):(e.toolboxPosition=this.workspace.toolboxPosition===Rt.RIGHT?Rt.LEFT:Rt.RIGHT,this.flyout=new(w(Be.FLYOUTS_VERTICAL_TOOLBOX,this.workspace.options,!0))(e)),this.workspace.addChangeListener(this.onDelete.bind(this)))}createDom(){this.svgGroup=re(oe.G,{class:"blocklyTrash"});let e;const t=String(Math.random()).substring(2);e=re(oe.CLIPPATH,{id:"blocklyTrashBodyClipPath"+t},this.svgGroup),re(oe.RECT,{width:Ul,height:Xd,y:Wl},e);const r=re(oe.IMAGE,{width:Ls.width,x:-Zd,height:Ls.height,y:-Qd,"clip-path":"url(#blocklyTrashBodyClipPath"+t+")"},this.svgGroup);return r.setAttributeNS(nr,"xlink:href",this.workspace.options.pathToMedia+Ls.url),e=re(oe.CLIPPATH,{id:"blocklyTrashLidClipPath"+t},this.svgGroup),re(oe.RECT,{width:Ul,height:Wl},e),this.svgLid=re(oe.IMAGE,{width:Ls.width,x:-Zd,height:Ls.height,y:-Qd,"clip-path":"url(#blocklyTrashLidClipPath"+t+")"},this.svgGroup),this.svgLid.setAttributeNS(nr,"xlink:href",this.workspace.options.pathToMedia+Ls.url),Nt(this.svgGroup,"pointerdown",this,this.blockMouseDownWhenOpenable),Nt(this.svgGroup,"pointerup",this,this.click),Nt(r,"pointerover",this,this.mouseOver),Nt(r,"pointerout",this,this.mouseOut),this.animateLid(),this.svgGroup}init(){0{let r;(r=this.flyout)==null||r.show(e),t.cursor="";let l;(l=this.workspace.scrollbar)==null||l.setVisible(!1)},10),this.fireUiEvent(!0)}}closeFlyout(){if(this.contentsIsOpen()){var e;(e=this.flyout)==null||e.hide();var t;(t=this.workspace.scrollbar)==null||t.setVisible(!0),this.fireUiEvent(!1),this.workspace.recordDragTargets()}}autoHide(e){!e&&this.flyout&&this.closeFlyout()}emptyContents(){this.hasContents()&&(this.contents.length=0,this.setMinOpenness(0),this.closeFlyout())}position(e,t){if(this.initialized){var r=Lt(this.workspace,e);e=on(r,new Jt(Ul,Xd+Wl),hy,Xb,e,this.workspace),t=an(e,Xb,r.vertical===Br.TOP?bs.DOWN:bs.UP,t),this.top=t.top,this.left=t.left;var l;(l=this.svgGroup)==null||l.setAttribute("transform","translate("+this.left+","+this.top+")");var p;(p=this.flyout)==null||p.position()}}getBoundingRectangle(){return new Bt(this.top,this.top+Xd+Wl,this.left,this.left+Ul)}getClientRect(){if(!this.svgGroup)return null;var e=this.svgGroup.getBoundingClientRect();const t=e.top+Qd-Hl;return e=e.left+Zd-Hl,new Bt(t,t+Wl+Xd+2*Hl,e,e+Ul+2*Hl)}onDragOver(e){this.setLidOpen(this.wouldDelete_)}onDragExit(e){this.setLidOpen(!1)}onDrop(e){setTimeout(this.setLidOpen.bind(this,!1),100)}setLidOpen(e){this.isLidOpen!==e&&(this.lidTask&&clearTimeout(this.lidTask),this.isLidOpen=e,this.animateLid())}animateLid(){const e=fy;var t=1/(e+1);this.lidOpen+=this.isLidOpen?t:-t,this.lidOpen=Math.min(Math.max(this.lidOpen,this.minOpenness),1),this.setLidAngle(this.lidOpen*Zb),t=eh+this.lidOpen*(my-eh),this.svgGroup&&(this.svgGroup.style.opacity=`${t}`),this.lidOpen>this.minOpenness&&1>this.lidOpen&&(this.lidTask=setTimeout(this.animateLid.bind(this),gy/e))}setLidAngle(e){const t=this.workspace.toolboxPosition===Rt.RIGHT||this.workspace.horizontalLayout&&this.workspace.RTL;let r;(r=this.svgLid)==null||r.setAttribute("transform","rotate("+(t?-e:e)+","+(t?4:Ul-4)+","+(Wl-2)+")")}setMinOpenness(e){this.minOpenness=e,this.isLidOpen||this.setLidAngle(e*Zb)}closeLid(){this.setLidOpen(!1)}click(){this.hasContents()&&!this.workspace.isDragging()&&this.openFlyout()}fireUiEvent(e){e=new(Ce(fe.TRASHCAN_OPEN))(e,this.workspace.id),ee(e)}blockMouseDownWhenOpenable(e){!this.contentsIsOpen()&&this.hasContents()&&e.stopPropagation()}mouseOver(){this.hasContents()&&this.setLidOpen(!0)}mouseOut(){this.setLidOpen(!1)}onDelete(e){if(!(0>=this.workspace.options.maxTrashcanContents||!A(e)||e.wasShadow)){if(!e.oldJson)throw Error("Encountered a delete event without proper oldJson");if(e=JSON.stringify(this.cleanBlockJson(e.oldJson)),!this.contents.includes(e)){for(this.contents.unshift(e);this.contents.length>this.workspace.options.maxTrashcanContents;)this.contents.pop();this.setMinOpenness(py)}}}cleanBlockJson(e){function t(r){if(r){if(delete r.id,delete r.x,delete r.y,delete r.enabled,delete r.disabledReasons,r.icons&&r.icons.comment){var l=r.icons.comment;delete l.height,delete l.width,delete l.pinned}l=r.inputs;for(var p in l){var v=l[p];const O=v.block;v=v.shadow,O&&t(O),v&&t(v)}r.next&&(p=r.next,r=p.block,p=p.shadow,r&&t(r),p&&t(p))}}return e=JSON.parse(JSON.stringify(e)),t(e),Object.assign({},{kind:"BLOCK"},e)}},Ul=47,Xd=44,Wl=16,Xb=20,hy=20,Hl=10,Zd=0,Qd=32,py=.1,gy=80,fy=4,eh=.4,my=.8,Zb=45,un=class{constructor(){this.shortcuts=new Map,this.keyMap=new Map,this.reset()}reset(){this.shortcuts.clear(),this.keyMap.clear()}register(e,t){if(this.shortcuts.get(e.name)&&!t)throw Error(`Shortcut named "${e.name}" already exists.`);if(this.shortcuts.set(e.name,e),t=e.keyCodes,t!=null&&t.length)for(const r of t)this.addKeyMapping(r,e.name,!!e.allowCollision)}unregister(e){return this.shortcuts.get(e)?(this.removeAllKeyMappings(e),this.shortcuts.delete(e),!0):(console.warn(`Keyboard shortcut named "${e}" not found.`),!1)}addKeyMapping(e,t,r){e=`${e}`;const l=this.keyMap.get(e);if(l&&!r)throw Error(`Shortcut named "${t}" collides with shortcuts "${l}"`);l&&r?l.unshift(t):this.keyMap.set(e,[t])}removeKeyMapping(e,t,r){const l=this.keyMap.get(e);if(!l)return r||console.warn(`No keyboard shortcut named "${t}" registered with key code "${e}"`),!1;const p=l.indexOf(t);return-1Cc(t)),e.length?e:null}load(e,t){const r=t.getProcedureMap();for(const l of e)r.add(sd(this.procedureModelClass,this.parameterModelClass,l,t))}clear(e){e.getProcedureMap().clear()}},th={};th.ProcedureSerializer=$y,th.loadProcedure=sd,th.saveProcedure=Cc;var Qb=class{constructor(){this.priority=eb}save(e){const t=[];for(const r of e.getAllVariables())e={name:r.name,id:r.getId()},r.type&&(e.type=r.type),t.push(e);return t.length?t:null}load(e,t){for(const r of e)t.createVariable(r.name,r.type,r.id)}clear(e){e.getVariableMap().clear()}};_n("variables",new Qb);var e$={};e$.VariableSerializer=Qb;var nh={};nh.load=Fm,nh.save=jm;var vy={blocks:Hc,exceptions:Ca,priorities:sy,procedures:th,registry:ag,variables:e$,workspaceComments:Ed,workspaces:nh},Jg=class{constructor(e,t,r,l,p){this.workspace=e,this.oldHostMetrics=this.corner_=this.vScroll=this.hScroll=null,t=t===void 0?!0:t,r=r===void 0?!0:r;const v=t&&r;t&&(this.hScroll=new Fn(e,!0,v,l,p)),r&&(this.vScroll=new Fn(e,!1,v,l,p)),v&&(this.corner_=re(oe.RECT,{height:Fn.scrollbarThickness,width:Fn.scrollbarThickness,class:"blocklyScrollbarBackground"}),Cn(this.corner_,e.getBubbleCanvas()))}dispose(){mt(this.corner_),this.oldHostMetrics=this.corner_=null,this.hScroll&&(this.hScroll.dispose(),this.hScroll=null),this.vScroll&&(this.vScroll.dispose(),this.vScroll=null)}resize(){const e=this.workspace.getMetrics();if(e){var t=!1,r=!1;if(this.oldHostMetrics&&this.oldHostMetrics.viewWidth===e.viewWidth&&this.oldHostMetrics.viewHeight===e.viewHeight&&this.oldHostMetrics.absoluteTop===e.absoluteTop&&this.oldHostMetrics.absoluteLeft===e.absoluteLeft?(this.oldHostMetrics&&this.oldHostMetrics.scrollWidth===e.scrollWidth&&this.oldHostMetrics.viewLeft===e.viewLeft&&this.oldHostMetrics.scrollLeft===e.scrollLeft||(t=!0),this.oldHostMetrics&&this.oldHostMetrics.scrollHeight===e.scrollHeight&&this.oldHostMetrics.viewTop===e.viewTop&&this.oldHostMetrics.scrollTop===e.scrollTop||(r=!0)):r=t=!0,t||r){try{s.disable$$module$build$src$core$events$utils(),this.hScroll&&t&&this.hScroll.resize(e),this.vScroll&&r&&this.vScroll.resize(e)}finally{s.enable$$module$build$src$core$events$utils()}this.workspace.maybeFireViewportChangeEvent()}if(this.hScroll&&this.vScroll){if(!this.oldHostMetrics||this.oldHostMetrics.viewWidth!==e.viewWidth||this.oldHostMetrics.absoluteLeft!==e.absoluteLeft){let l;(l=this.corner_)==null||l.setAttribute("x",String(this.vScroll.position.x))}if(!this.oldHostMetrics||this.oldHostMetrics.viewHeight!==e.viewHeight||this.oldHostMetrics.absoluteTop!==e.absoluteTop){let l;(l=this.corner_)==null||l.setAttribute("y",String(this.hScroll.position.y))}}this.oldHostMetrics=e}}canScrollHorizontally(){return!!this.hScroll}canScrollVertically(){return!!this.vScroll}setOrigin(e,t){this.hScroll&&this.hScroll.setOrigin(e,t),this.vScroll&&this.vScroll.setOrigin(e,t)}set(e,t,r){this.hScroll&&this.hScroll.set(e,!1),this.vScroll&&this.vScroll.set(t,!1),(r||r===void 0)&&(e={},this.hScroll&&(e.x=this.hScroll.getRatio_()),this.vScroll&&(e.y=this.vScroll.getRatio_()),this.workspace.setMetrics(e))}setX(e){this.hScroll&&this.hScroll.set(e,!0)}setY(e){this.vScroll&&this.vScroll.set(e,!0)}setContainerVisible(e){this.hScroll&&this.hScroll.setContainerVisible(e),this.vScroll&&this.vScroll.setContainerVisible(e)}isVisible(){let e=!1;return this.hScroll&&(e=this.hScroll.isVisible()),this.vScroll&&(e=e||this.vScroll.isVisible()),e}setVisible(e){this.hScroll&&this.hScroll.setVisibleInternal(e),this.vScroll&&this.vScroll.setVisibleInternal(e)}resizeContent(e){this.hScroll&&this.hScroll.resizeContentHorizontal(e),this.vScroll&&this.vScroll.resizeContentVertical(e)}resizeView(e){this.hScroll&&this.hScroll.resizeViewHorizontal(e),this.vScroll&&this.vScroll.resizeViewVertical(e)}},qg=class{constructor(e){this.workspace_=e}getDimensionsPx_(e){let t=0,r=0;return e&&(t=e.getWidth(),r=e.getHeight()),new Jt(t,r)}getFlyoutMetrics(e){return e=this.getDimensionsPx_(this.workspace_.getFlyout(e)),{width:e.width,height:e.height,position:this.workspace_.toolboxPosition}}getToolboxMetrics(){const e=this.getDimensionsPx_(this.workspace_.getToolbox());return{width:e.width,height:e.height,position:this.workspace_.toolboxPosition}}getSvgMetrics(){return this.workspace_.getCachedParentSvgSize()}getAbsoluteMetrics(){let e=0,t=0;const r=this.getToolboxMetrics(),l=this.getFlyoutMetrics(),p=!!this.workspace_.getToolbox();var v;const O=!((v=this.workspace_.getFlyout())!=null&&v.autoClose);v=p?r.position:l.position;const G=v===Rt.TOP;return v===Rt.LEFT&&(p&&(e+=r.width),O&&(e+=l.width)),G&&(p&&(t+=r.height),O&&(t+=l.height)),{top:t,left:e}}getViewMetrics(e){e=e?this.workspace_.scale:1;const t=this.getSvgMetrics(),r=this.getToolboxMetrics(),l=this.getFlyoutMetrics(),p=!!this.workspace_.getToolbox();var v;const O=!((v=this.workspace_.getFlyout())!=null&&v.autoClose);v=p?r.position:l.position;const G=v===Rt.LEFT||v===Rt.RIGHT;return(v===Rt.TOP||v===Rt.BOTTOM)&&(p&&(t.height-=r.height),O&&(t.height-=l.height)),G&&(p&&(t.width-=r.width),O&&(t.width-=l.width)),{height:t.height/e,width:t.width/e,top:-this.workspace_.scrollY/e,left:-this.workspace_.scrollX/e}}getContentMetrics(e){e=e?1:this.workspace_.scale;const t=this.workspace_.getBlocksBoundingBox();return{height:(t.bottom-t.top)*e,width:(t.right-t.left)*e,top:t.top*e,left:t.left*e}}hasFixedEdges(){return!this.workspace_.isMovableHorizontally()||!this.workspace_.isMovableVertically()}getComputedFixedEdges_(e){if(!this.hasFixedEdges())return{};const t=this.workspace_.isMovableHorizontally(),r=this.workspace_.isMovableVertically();e=e||this.getViewMetrics(!1);const l={};return r||(l.top=e.top,l.bottom=e.top+e.height),t||(l.left=e.left,l.right=e.left+e.width),l}getPaddedContent_(e,t){const r=t.top+t.height,l=t.left+t.width,p=e.width;e=e.height;const v=p/2,O=e/2;return{top:Math.min(t.top-O,r-e),bottom:Math.max(r+O,t.top+e),left:Math.min(t.left-v,l-p),right:Math.max(l+v,t.left+p)}}getScrollMetrics(e,t,r){e=e?this.workspace_.scale:1,t=t||this.getViewMetrics(!1);var l=r||this.getContentMetrics();r=this.getComputedFixedEdges_(t),t=this.getPaddedContent_(t,l),l=r.top!==void 0?r.top:t.top;const p=r.left!==void 0?r.left:t.left;return{top:l/e,left:p/e,width:((r.right!==void 0?r.right:t.right)-p)/e,height:((r.bottom!==void 0?r.bottom:t.bottom)-l)/e}}getUiMetrics(){return{viewMetrics:this.getViewMetrics(),absoluteMetrics:this.getAbsoluteMetrics(),toolboxMetrics:this.getToolboxMetrics()}}getMetrics(){const e=this.getToolboxMetrics(),t=this.getFlyoutMetrics(!0),r=this.getSvgMetrics(),l=this.getAbsoluteMetrics(),p=this.getViewMetrics(),v=this.getContentMetrics(),O=this.getScrollMetrics(!1,p,v);return{contentHeight:v.height,contentWidth:v.width,contentTop:v.top,contentLeft:v.left,scrollHeight:O.height,scrollWidth:O.width,scrollTop:O.top,scrollLeft:O.left,viewHeight:p.height,viewWidth:p.width,viewTop:p.top,viewLeft:p.left,absoluteTop:l.top,absoluteLeft:l.left,svgHeight:r.height,svgWidth:r.width,toolboxWidth:e.width,toolboxHeight:e.height,toolboxPosition:e.position,flyoutWidth:t.width,flyoutHeight:t.height}}};i(Be.METRICS_MANAGER,Nr,qg),"Blockly"in globalThis||(globalThis.Blockly={Msg:hb});var sh=class extends Vd{constructor(){super(),this.GRID_UNIT=4,this.CURSOR_COLOUR="#ffa200",this.CURSOR_RADIUS=5,this.JAGGED_TEETH_WIDTH=this.JAGGED_TEETH_HEIGHT=0,this.START_HAT_HEIGHT=22,this.START_HAT_WIDTH=96,this.SHAPES={HEXAGONAL:1,ROUND:2,SQUARE:3,PUZZLE:4,NOTCH:5},this.SHAPE_IN_SHAPE_PADDING={1:{0:5*this.GRID_UNIT,1:2*this.GRID_UNIT,2:5*this.GRID_UNIT,3:5*this.GRID_UNIT},2:{0:3*this.GRID_UNIT,1:3*this.GRID_UNIT,2:1*this.GRID_UNIT,3:2*this.GRID_UNIT},3:{0:2*this.GRID_UNIT,1:2*this.GRID_UNIT,2:2*this.GRID_UNIT,3:2*this.GRID_UNIT}},this.FULL_BLOCK_FIELDS=!0,this.FIELD_TEXT_FONTWEIGHT="bold",this.FIELD_TEXT_FONTFAMILY='"Helvetica Neue", "Segoe UI", Helvetica, sans-serif',this.FIELD_COLOUR_FULL_BLOCK=this.FIELD_TEXTINPUT_BOX_SHADOW=this.FIELD_DROPDOWN_SVG_ARROW=this.FIELD_DROPDOWN_COLOURED_DIV=this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW=!0,this.SELECTED_GLOW_COLOUR="#fff200",this.SELECTED_GLOW_SIZE=.5,this.REPLACEMENT_GLOW_COLOUR="#fff200",this.REPLACEMENT_GLOW_SIZE=2,this.selectedGlowFilterId="",this.selectedGlowFilter=null,this.replacementGlowFilterId="",this.SQUARED=this.ROUNDED=this.HEXAGONAL=this.replacementGlowFilter=null,this.SMALL_PADDING=this.GRID_UNIT,this.MEDIUM_PADDING=2*this.GRID_UNIT,this.MEDIUM_LARGE_PADDING=3*this.GRID_UNIT,this.LARGE_PADDING=4*this.GRID_UNIT,this.CORNER_RADIUS=1*this.GRID_UNIT,this.NOTCH_WIDTH=9*this.GRID_UNIT,this.NOTCH_HEIGHT=2*this.GRID_UNIT,this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT=3*this.GRID_UNIT,this.MIN_BLOCK_WIDTH=2*this.GRID_UNIT,this.MIN_BLOCK_HEIGHT=12*this.GRID_UNIT,this.EMPTY_STATEMENT_INPUT_HEIGHT=6*this.GRID_UNIT,this.TOP_ROW_MIN_HEIGHT=this.CORNER_RADIUS,this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING,this.BOTTOM_ROW_MIN_HEIGHT=this.CORNER_RADIUS,this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT=6*this.GRID_UNIT,this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT,this.STATEMENT_INPUT_SPACER_MIN_WIDTH=40*this.GRID_UNIT,this.STATEMENT_INPUT_PADDING_LEFT=4*this.GRID_UNIT,this.EMPTY_INLINE_INPUT_PADDING=4*this.GRID_UNIT,this.EMPTY_INLINE_INPUT_HEIGHT=8*this.GRID_UNIT,this.DUMMY_INPUT_MIN_HEIGHT=8*this.GRID_UNIT,this.DUMMY_INPUT_SHADOW_MIN_HEIGHT=6*this.GRID_UNIT,this.CURSOR_WS_WIDTH=20*this.GRID_UNIT,this.FIELD_TEXT_FONTSIZE=3*this.GRID_UNIT,this.FIELD_BORDER_RECT_RADIUS=this.CORNER_RADIUS,this.FIELD_BORDER_RECT_X_PADDING=2*this.GRID_UNIT,this.FIELD_BORDER_RECT_Y_PADDING=1.625*this.GRID_UNIT,this.FIELD_BORDER_RECT_HEIGHT=8*this.GRID_UNIT,this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=8*this.GRID_UNIT,this.FIELD_DROPDOWN_SVG_ARROW_PADDING=this.FIELD_BORDER_RECT_X_PADDING,this.FIELD_COLOUR_DEFAULT_WIDTH=6*this.GRID_UNIT,this.FIELD_COLOUR_DEFAULT_HEIGHT=8*this.GRID_UNIT,this.FIELD_CHECKBOX_X_OFFSET=1*this.GRID_UNIT,this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH=12*this.GRID_UNIT}setFontConstants_(e){super.setFontConstants_(e),this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=this.FIELD_BORDER_RECT_HEIGHT=this.FIELD_TEXT_HEIGHT+2*this.FIELD_BORDER_RECT_Y_PADDING}init(){super.init(),this.HEXAGONAL=this.makeHexagonal(),this.ROUNDED=this.makeRounded(),this.SQUARED=this.makeSquared(),this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT+this.INSIDE_CORNERS.rightWidth}setDynamicProperties_(e){super.setDynamicProperties_(e),this.SELECTED_GLOW_COLOUR=e.getComponentStyle("selectedGlowColour")||this.SELECTED_GLOW_COLOUR;const t=Number(e.getComponentStyle("selectedGlowSize"));this.SELECTED_GLOW_SIZE=t&&!isNaN(t)?t:this.SELECTED_GLOW_SIZE,this.REPLACEMENT_GLOW_COLOUR=e.getComponentStyle("replacementGlowColour")||this.REPLACEMENT_GLOW_COLOUR,this.REPLACEMENT_GLOW_SIZE=(e=Number(e.getComponentStyle("replacementGlowSize")))&&!isNaN(e)?e:this.REPLACEMENT_GLOW_SIZE}dispose(){super.dispose(),this.selectedGlowFilter&&mt(this.selectedGlowFilter),this.replacementGlowFilter&&mt(this.replacementGlowFilter)}makeStartHat(){const e=this.START_HAT_HEIGHT,t=this.START_HAT_WIDTH,r=Zs("c",[ut(25,-e),ut(71,-e),ut(t,0)]);return{height:e,width:t,path:r}}makeHexagonal(){function e(r,l,p){var v=r/2;return v=v>t?t:v,p=p?-1:1,r=(l?-1:1)*r/2,hi(-p*v,r)+hi(p*v,r)}const t=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;return{type:this.SHAPES.HEXAGONAL,isDynamic:!0,width(r){return r/=2,r>t?t:r},height(r){return r},connectionOffsetY(r){return r/2},connectionOffsetX(r){return-r},pathDown(r){return e(r,!1,!1)},pathUp(r){return e(r,!0,!1)},pathRightDown(r){return e(r,!1,!0)},pathRightUp(r){return e(r,!1,!0)}}}makeRounded(){function e(l,p,v){const O=l>r?l-r:0;l=(l>r?r:l)/2;const G=v===p?"0":"1";return Hn("a","0 0,"+G,l,ut((v?1:-1)*l,(p?-1:1)*l))+tt("v",(p?-1:1)*O)+Hn("a","0 0,"+G,l,ut((v?-1:1)*l,(p?-1:1)*l))}const t=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH,r=2*t;return{type:this.SHAPES.ROUND,isDynamic:!0,width(l){return l/=2,l>t?t:l},height(l){return l},connectionOffsetY(l){return l/2},connectionOffsetX(l){return-l},pathDown(l){return e(l,!1,!1)},pathUp(l){return e(l,!0,!1)},pathRightDown(l){return e(l,!1,!0)},pathRightUp(l){return e(l,!1,!0)}}}makeSquared(){function e(r,l,p){r-=2*t;const v=p===l?"0":"1";return Hn("a","0 0,"+v,t,ut((p?1:-1)*t,(l?-1:1)*t))+tt("v",(l?-1:1)*r)+Hn("a","0 0,"+v,t,ut((p?-1:1)*t,(l?-1:1)*t))}const t=this.CORNER_RADIUS;return{type:this.SHAPES.SQUARE,isDynamic:!0,width(r){return t},height(r){return r},connectionOffsetY(r){return r/2},connectionOffsetX(r){return-r},pathDown(r){return e(r,!1,!1)},pathUp(r){return e(r,!0,!1)},pathRightDown(r){return e(r,!1,!0)},pathRightUp(r){return e(r,!1,!0)}}}shapeFor(e){let t=e.getCheck();switch(!t&&e.targetConnection&&(t=e.targetConnection.getCheck()),e.type){case Ze.INPUT_VALUE:case Ze.OUTPUT_VALUE:if(e=e.getSourceBlock().getOutputShape(),e!==null)switch(e){case this.SHAPES.HEXAGONAL:return this.HEXAGONAL;case this.SHAPES.ROUND:return this.ROUNDED;case this.SHAPES.SQUARE:return this.SQUARED}return t&&t.includes("Boolean")?this.HEXAGONAL:t&&t.includes("Number")?this.ROUNDED:(t&&t.includes("String"),this.ROUNDED);case Ze.PREVIOUS_STATEMENT:case Ze.NEXT_STATEMENT:return this.NOTCH;default:throw Error("Unknown type")}}makeNotch(){function e(Qe){return Zs("c",[ut(Qe*p/2,0),ut(Qe*p*3/4,O/2),ut(Qe*p,O)])+Mr([ut(Qe*p,v)])+Zs("c",[ut(Qe*p/4,O/2),ut(Qe*p/2,O),ut(Qe*p,O)])+tt("h",Qe*l)+Zs("c",[ut(Qe*p/2,0),ut(Qe*p*3/4,-(O/2)),ut(Qe*p,-O)])+Mr([ut(Qe*p,-v)])+Zs("c",[ut(Qe*p/4,-(O/2)),ut(Qe*p/2,-O),ut(Qe*p,-O)])}const t=this.NOTCH_WIDTH,r=this.NOTCH_HEIGHT,l=t/3,p=l/3,v=r/2,O=v/2,G=e(1),Ie=e(-1);return{type:this.SHAPES.NOTCH,width:t,height:r,pathLeft:G,pathRight:Ie}}makeInsideCorners(){const e=this.CORNER_RADIUS,t=Hn("a","0 0,0",e,ut(-e,e)),r=Hn("a","0 0,1",e,ut(-e,e)),l=Hn("a","0 0,0",e,ut(e,e)),p=Hn("a","0 0,1",e,ut(e,e));return{width:e,height:e,pathTop:t,pathBottom:l,rightWidth:e,rightHeight:e,pathTopRight:r,pathBottomRight:p}}generateSecondaryColour_(e){return et("#000",e,.15)||e}generateTertiaryColour_(e){return et("#000",e,.25)||e}createDom(e,t,r){super.createDom(e,t,r),e=re(oe.DEFS,{},e),t=re(oe.FILTER,{id:"blocklySelectedGlowFilter"+this.randomIdentifier,height:"160%",width:"180%",y:"-30%",x:"-40%"},e),re(oe.FEGAUSSIANBLUR,{in:"SourceGraphic",stdDeviation:this.SELECTED_GLOW_SIZE},t),r=re(oe.FECOMPONENTTRANSFER,{result:"outBlur"},t),re(oe.FEFUNCA,{type:"table",tableValues:"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"},r),re(oe.FEFLOOD,{"flood-color":this.SELECTED_GLOW_COLOUR,"flood-opacity":1,result:"outColor"},t),re(oe.FECOMPOSITE,{in:"outColor",in2:"outBlur",operator:"in",result:"outGlow"},t),this.selectedGlowFilterId=t.id,this.selectedGlowFilter=t,e=re(oe.FILTER,{id:"blocklyReplacementGlowFilter"+this.randomIdentifier,height:"160%",width:"180%",y:"-30%",x:"-40%"},e),re(oe.FEGAUSSIANBLUR,{in:"SourceGraphic",stdDeviation:this.REPLACEMENT_GLOW_SIZE},e),t=re(oe.FECOMPONENTTRANSFER,{result:"outBlur"},e),re(oe.FEFUNCA,{type:"table",tableValues:"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"},t),re(oe.FEFLOOD,{"flood-color":this.REPLACEMENT_GLOW_COLOUR,"flood-opacity":1,result:"outColor"},e),re(oe.FECOMPOSITE,{in:"outColor",in2:"outBlur",operator:"in",result:"outGlow"},e),re(oe.FECOMPOSITE,{in:"SourceGraphic",in2:"outGlow",operator:"over"},e),this.replacementGlowFilterId=e.id,this.replacementGlowFilter=e}getCSS_(e){return[`${e} .blocklyText,`,`${e} .blocklyFlyoutLabelText {`,`font: ${this.FIELD_TEXT_FONTWEIGHT} ${this.FIELD_TEXT_FONTSIZE}pt ${this.FIELD_TEXT_FONTFAMILY};`,"}",`${e} .blocklyTextInputBubble textarea {`,"font-weight: normal;","}",`${e} .blocklyText {`,"fill: #fff;","}",`${e} .blocklyNonEditableText>rect:not(.blocklyDropdownRect),`,`${e} .blocklyEditableText>rect:not(.blocklyDropdownRect) {`,`fill: ${this.FIELD_BORDER_RECT_COLOUR};`,"}",`${e} .blocklyNonEditableText>text,`,`${e} .blocklyEditableText>text,`,`${e} .blocklyNonEditableText>g>text,`,`${e} .blocklyEditableText>g>text {`,"fill: #575E75;","}",`${e} .blocklyFlyoutLabelText {`,"fill: #575E75;","}",`${e} .blocklyText.blocklyBubbleText {`,"fill: #575E75;","}",`${e} .blocklyDraggable:not(.blocklyDisabled)`," .blocklyEditableText:not(.editing):hover>rect,",`${e} .blocklyDraggable:not(.blocklyDisabled)`," .blocklyEditableText:not(.editing):hover>.blocklyPath {","stroke: #fff;","stroke-width: 2;","}",`${e} .blocklyHtmlInput {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,`font-weight: ${this.FIELD_TEXT_FONTWEIGHT};`,"color: #575E75;","}",`${e} .blocklyDropdownText {`,"fill: #fff !important;","}",`${e}.blocklyWidgetDiv .blocklyMenuItem,`,`${e}.blocklyDropDownDiv .blocklyMenuItem {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,"}",`${e}.blocklyDropDownDiv .blocklyMenuItemContent {`,"color: #fff;","}",`${e} .blocklyHighlightedConnectionPath {`,`stroke: ${this.SELECTED_GLOW_COLOUR};`,"}",`${e} .blocklyDisabled > .blocklyOutlinePath {`,`fill: url(#blocklyDisabledPattern${this.randomIdentifier})`,"}",`${e} .blocklyInsertionMarker>.blocklyPath {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"]}},rh=class extends Fl{constructor(e,t){super(e,t)}draw(){const e=this.block_.pathObject;e.beginDrawing(),this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights(),e.setPath(this.outlinePath_+` -`+this.inlinePath_),this.info_.RTL&&e.flipRTL(),this.recordSizeOnBlock_(),this.info_.outputConnection&&(e.outputShapeType=this.info_.outputConnection.shape.type),e.endDrawing()}drawOutline_(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape&&!this.info_.hasStatementInput&&!this.info_.bottomRow.hasNextConnection?(this.drawFlatTop_(),this.drawRightDynamicConnection_(),this.drawFlatBottom_(),this.drawLeftDynamicConnection_()):super.drawOutline_()}drawLeft_(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape?this.drawLeftDynamicConnection_():super.drawLeft_()}drawRightSideRow_(e){if(!(0>=e.height)){if(J.isSpacer(e)){const l=e.precedesStatement;var t=e.followsStatement;if(l||t){const p=this.constants_.INSIDE_CORNERS;var r=p.rightHeight;r=e.height-(l?r:0),t=t?p.pathBottomRight:"",e=0=r||0>=t)throw Error("Height and width values of an image field must be greater than 0.");this.size_=new Jt(t,r+Fa.Y_PADDING),this.imageHeight=r,typeof p=="function"&&(this.clickHandler=p),e!==vn.SKIP_SETUP&&(O?this.configure_(O):(this.flipRtl=!!v,this.altText=kt(l)||""),this.setValue(kt(e)))}configure_(e){super.configure_(e),e.flipRtl&&(this.flipRtl=e.flipRtl),e.alt&&(this.altText=kt(e.alt))}initView(){this.imageElement=re(oe.IMAGE,{height:this.imageHeight+"px",width:this.size_.width+"px",alt:this.altText},this.fieldGroup_),this.imageElement.setAttributeNS(nr,"xlink:href",this.value_),this.clickHandler&&(this.imageElement.style.cursor="pointer")}updateSize_(){}doClassValidation_(e){return typeof e!="string"?null:e}doValueUpdate_(e){this.value_=e,this.imageElement&&this.imageElement.setAttributeNS(nr,"xlink:href",this.value_)}getFlipRtl(){return this.flipRtl}setAlt(e){e!==this.altText&&(this.altText=e||"",this.imageElement&&this.imageElement.setAttribute("alt",this.altText))}showEditor_(){this.clickHandler&&this.clickHandler(this)}setOnClickHandler(e){this.clickHandler=e}getText_(){return this.altText}static fromJson(e){if(!e.src||!e.width||!e.height)throw Error("src, width, and height values for an image field arerequired. The width and height must be non-zero.");return new this(e.src,e.width,e.height,void 0,void 0,void 0,e)}};Fa.Y_PADDING=1,Ot("field_image",Fa),Fa.prototype.DEFAULT_VALUE="";var ih=class extends vn{constructor(e,t,r){super(vn.SKIP_SETUP),this.spellcheck_=!0,this.htmlInput_=null,this.isTextValid_=this.isBeingEdited_=!1,this.onKeyInputWrapper=this.onKeyDownWrapper=this.valueWhenEditorWasOpened_=null,this.fullBlockClickTarget_=!1,this.workspace_=null,this.SERIALIZABLE=!0,this.CURSOR="text",e!==vn.SKIP_SETUP&&(r&&this.configure_(r),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.spellcheck!==void 0&&(this.spellcheck_=e.spellcheck)}initView(){if(!this.getSourceBlock())throw new Gn;super.initView(),this.isFullBlockField()&&(this.clickTarget_=this.sourceBlock_.getSvgRoot())}isFullBlockField(){const e=this.getSourceBlock();if(!e)throw new Gn;let t;return this.fullBlockClickTarget_=!((t=this.getConstants())==null||!t.FULL_BLOCK_FIELDS)&&e.isSimpleReporter()}doValueInvalid_(e,t=!0){this.isBeingEdited_&&(this.isDirty_=!0,this.isTextValid_=!1,e=this.value_,this.value_=this.valueWhenEditorWasOpened_,this.sourceBlock_&&te()&&this.value_!==e&&t&&ee(new(Ce(fe.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,e,this.value_)))}doValueUpdate_(e){this.isTextValid_=this.isDirty_=!0,this.value_=e}applyColour(){const e=this.getSourceBlock();if(!e)throw new Gn;this.getConstants().FULL_BLOCK_FIELDS&&this.fieldGroup_&&(!this.isFullBlockField()&&this.borderRect_?(this.borderRect_.style.display="block",this.borderRect_.setAttribute("stroke",e.getColourTertiary())):(this.borderRect_.style.display="none",e.pathObject.svgPath.setAttribute("fill",this.getConstants().FIELD_BORDER_RECT_COLOUR)))}getSize(){let e;return(e=this.getConstants())!=null&&e.FULL_BLOCK_FIELDS&&(this.render_(),this.isDirty_=!1),super.getSize()}onLocationChange(){this.isBeingEdited_&&this.resizeEditor_()}render_(){if(super.render_(),this.isBeingEdited_){var e=this.htmlInput_;this.isTextValid_?(pt(e,"blocklyInvalidInput"),tn(e,as.INVALID,!1)):(Fe(e,"blocklyInvalidInput"),tn(e,as.INVALID,!0))}if(e=this.getSourceBlock(),!e)throw new Gn;this.getConstants().FULL_BLOCK_FIELDS&&e.applyColour()}setSpellcheck(e){e!==this.spellcheck_&&(this.spellcheck_=e,this.htmlInput_&&this.htmlInput_.setAttribute("spellcheck",this.spellcheck_))}showEditor_(e,t=!1){this.workspace_=this.sourceBlock_.workspace,!t&&this.workspace_.options.modalInputs&&(_d||Qp||yd)?this.showPromptEditor():this.showInlineEditor(t)}showPromptEditor(){sc(s.Msg$$module$build$src$core$msg.CHANGE_VALUE_TITLE,this.getText(),e=>{e!==null&&this.setValue(this.getValueFromEditorText_(e)),this.onFinishEditing_(this.value_)})}showInlineEditor(e){const t=this.getSourceBlock();if(!t)throw new Gn;Bi(this,t.RTL,this.widgetDispose_.bind(this),this.workspace_),this.htmlInput_=this.widgetCreate_(),this.isBeingEdited_=!0,this.valueWhenEditorWasOpened_=this.value_,e||(this.htmlInput_.focus({preventScroll:!0}),this.htmlInput_.select())}widgetCreate_(){var e=this.getSourceBlock();if(!e)throw new Gn;s.setGroup$$module$build$src$core$events$utils(!0);const t=us();var r=this.getClickTarget_();if(!r)throw Error("A click target has not been set.");Fe(r,"editing"),r=document.createElement("input"),r.className="blocklyHtmlInput",r.setAttribute("spellcheck",this.spellcheck_);const l=this.workspace_.getScale();var p=this.getConstants().FIELD_TEXT_FONTSIZE*l+"pt";return t.style.fontSize=p,r.style.fontSize=p,p=ih.BORDERRADIUS*l+"px",this.isFullBlockField()&&(p=this.getScaledBBox(),p=(p.bottom-p.top)/2+"px",e=e.getParent()?e.getParent().getColourTertiary():this.sourceBlock_.getColourTertiary(),r.style.border=1*l+"px solid "+e,t.style.borderRadius=p,t.style.transition="box-shadow 0.25s ease 0s",this.getConstants().FIELD_TEXTINPUT_BOX_SHADOW&&(t.style.boxShadow="rgba(255, 255, 255, 0.3) 0 0 0 "+4*l+"px")),r.style.borderRadius=p,t.appendChild(r),r.value=r.defaultValue=this.getEditorText_(this.value_),r.setAttribute("data-untyped-default-value",String(this.value_)),this.resizeEditor_(),this.bindInputEvents_(r),r}widgetDispose_(){this.isBeingEdited_=!1,this.isTextValid_=!0,this.forceRerender(),this.onFinishEditing_(this.value_),this.sourceBlock_&&te()&&this.valueWhenEditorWasOpened_!==null&&this.valueWhenEditorWasOpened_!==this.value_&&(ee(new(Ce(fe.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,this.valueWhenEditorWasOpened_,this.value_)),this.valueWhenEditorWasOpened_=null),s.setGroup$$module$build$src$core$events$utils(!1),this.unbindInputEvents_();var e=us().style;if(e.width="auto",e.height="auto",e.fontSize="",e.transition="",e.boxShadow="",this.htmlInput_=null,e=this.getClickTarget_(),!e)throw Error("A click target has not been set.");pt(e,"editing")}onFinishEditing_(e){}bindInputEvents_(e){this.onKeyDownWrapper=Ue(e,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper=Ue(e,"input",this,this.onHtmlInputChange)}unbindInputEvents_(){this.onKeyDownWrapper&&(wt(this.onKeyDownWrapper),this.onKeyDownWrapper=null),this.onKeyInputWrapper&&(wt(this.onKeyInputWrapper),this.onKeyInputWrapper=null)}onHtmlInputKeyDown_(e){e.key==="Enter"?(nn(this),Jr()):e.key==="Escape"?(this.setValue(this.htmlInput_.getAttribute("data-untyped-default-value"),!1),nn(this),Jr()):e.key==="Tab"&&(nn(this),Jr(),this.sourceBlock_.tab(this,!e.shiftKey),e.preventDefault())}onHtmlInputChange(e){e=this.value_,this.setValue(this.getValueFromEditorText_(this.htmlInput_.value),!1),this.sourceBlock_&&te()&&this.value_!==e&&ee(new(Ce(fe.BLOCK_FIELD_INTERMEDIATE_CHANGE))(this.sourceBlock_,this.name||null,e,this.value_))}setEditorValue_(e,t=!0){this.isDirty_=!0,this.isBeingEdited_&&(this.htmlInput_.value=this.getEditorText_(e)),this.setValue(e,t)}resizeEditor_(){rs().then(()=>{const e=this.getSourceBlock();if(!e)throw new Gn;const t=us(),r=this.getScaledBBox();t.style.width=r.right-r.left+"px",t.style.height=r.bottom-r.top+"px";const l=r.top;t.style.left=`${e.RTL?r.right-t.offsetWidth:r.left}px`,t.style.top=`${l}px`})}repositionForWindowResize(){let e;const t=(e=this.getSourceBlock())==null?void 0:e.getRootBlock();return t instanceof Ur?(So(this.workspace_,this.workspace_.getMetricsManager().getViewMetrics(!0),t)||this.resizeEditor_(),!0):!1}isTabNavigable(){return!0}getText_(){return this.isBeingEdited_&&this.htmlInput_?this.htmlInput_.value:null}getEditorText_(e){return`${e}`}getValueFromEditorText_(e){return e}};ih.BORDERRADIUS=4;var oh=class extends ih{constructor(e,t,r){super(e,t,r)}doClassValidation_(e){return e===void 0?null:`${e}`}static fromJson(e){return new this(kt(e.text),void 0,e)}};Ot("field_input",oh),oh.prototype.DEFAULT_VALUE="";var t$=class extends or{constructor(e){super(e)}endsWithElemSpacer(){return!1}hasLeftSquareCorner(e){return!!e.outputConnection}hasRightSquareCorner(e){return!!e.outputConnection&&!e.statementInputCount&&!e.nextConnection}},ah=class extends su{constructor(e,t){if(super(e,t),this.connectedBottomNextConnection=!1,this.connectedBlock){for(e=this.connectedBlock;t=e.getNextBlock();)e=t;e.nextConnection||(this.height=this.connectedBlockHeight,this.connectedBottomNextConnection=!0)}}},n$=class extends Ct{constructor(e){super(e),this.width=this.height=0,this.type|=J.getType("RIGHT_CONNECTION")}},s$=class extends Bg{constructor(e){super(e)}endsWithElemSpacer(){return!1}hasLeftSquareCorner(e){const t=(e.hat?e.hat==="cap":this.constants_.ADD_START_HATS)&&!e.outputConnection&&!e.previousConnection;return!!e.outputConnection||t}hasRightSquareCorner(e){return!!e.outputConnection&&!e.statementInputCount&&!e.nextConnection}},r$=class extends hs{constructor(e,t){super(e,t),this.isInline=!0,this.renderer_=e,this.constants_=this.renderer_.getConstants(),this.topRow=new s$(this.constants_),this.bottomRow=new t$(this.constants_),this.isMultiRow=!t.getInputsInline()||t.isCollapsed(),this.hasStatementInput=0=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!l.precedesStatement,J.isInputRow(v)&&v.hasStatement){v.measure();let O,G;t=v.width-((G=(O=v.getLastInput())==null?void 0:O.width)!=null?G:0)+e}else if(r&&(p===2||l)&&J.isInputRow(v)&&!v.hasStatement){l=v.xPos,r=null;for(let O=0;Or?r:this.height/2,t-r*(1-Math.sin(Math.acos((r-this.constants_.SMALL_PADDING)/r)));default:return 0}if(J.isInlineInput(e)&&e instanceof Mo){const p=e.connectedBlock;return e=p?p.pathObject.outputShapeType:e.shape.type,e==null||p&&p.outputConnection&&(p.statementInputCount||p.nextConnection)||r===l.SHAPES.HEXAGONAL&&r!==e?0:t-this.constants_.SHAPE_IN_SHAPE_PADDING[r][e]}return J.isField(e)&&e instanceof jl?r===l.SHAPES.ROUND&&e.field instanceof oh?t-2.75*l.GRID_UNIT:t-this.constants_.SHAPE_IN_SHAPE_PADDING[r][0]:J.isIcon(e)?this.constants_.SMALL_PADDING:0}finalizeVerticalAlignment_(){if(!this.outputConnection)for(let l=2;l=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!O.precedesStatement;if(e?this.topRow.hasPreviousConnection:p.followsStatement){var r=v.elements[1];if(r=v.elements.length===3&&r instanceof jl&&(r.field instanceof La||r.field instanceof Fa),!e&&r)p.height-=this.constants_.SMALL_PADDING,O.height-=this.constants_.SMALL_PADDING,v.height-=this.constants_.MEDIUM_PADDING;else if(!e&&!t)p.height+=this.constants_.SMALL_PADDING;else if(t){for(e=!1,t=0;t{if(!l.isDeadOrDying()){s.disable$$module$build$src$core$events$utils();try{l==null||l.positionNearConnection(p,v,O),l==null||l.getSvgRoot().setAttribute("visibility","visible")}finally{s.enable$$module$build$src$core$events$utils()}}}),p}createInsertionMarker(e){const t=Qt(e,{addCoordinates:!1,addInputBlocks:!1,addNextBlocks:!1,doFullSerialization:!1});if(!t)throw Error(`Failed to serialize source block. ${e.toDevString()}`);e=Ni(t,this.workspace);for(const r of e.getDescendants(!1))r.setInsertionMarker(!0);return e.initSvg(),e.getSvgRoot().setAttribute("visibility","hidden"),e}getMatchingConnection(e,t,r){if(e=e.getConnections_(!0),t=t.getConnections_(!0),e.length!==t.length)return null;for(let l=0;l{this.targetWorkspace.isDragging()||t.addSelect()})),this.listeners.push(Nt(e,"pointerleave",t,()=>{this.targetWorkspace.isDragging()||t.removeSelect()})),this.listeners.push(Nt(r,"pointerenter",t,()=>{this.targetWorkspace.isDragging()||t.addSelect()})),this.listeners.push(Nt(r,"pointerleave",t,()=>{this.targetWorkspace.isDragging()||t.removeSelect()}))}blockMouseDown(e){return t=>{const r=this.targetWorkspace.getGesture(t);r&&(r.setStartBlock(e),r.handleFlyoutStart(t,this))}}onMouseDown(e){const t=this.targetWorkspace.getGesture(e);t&&t.handleFlyoutStart(e,this)}isBlockCreatable(e){return e.isEnabled()}createBlock(e){let t=null;s.disable$$module$build$src$core$events$utils();var r=this.targetWorkspace.getAllVariables();this.targetWorkspace.setResizesEnabled(!1);try{t=this.placeNewBlock(e)}finally{s.enable$$module$build$src$core$events$utils()}if(this.targetWorkspace.hideChaff(),e=ac(this.targetWorkspace,r),te()){for(s.setGroup$$module$build$src$core$events$utils(!0),r=0;r-t||e<-180+t||e>180-t}getClientRect(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;const e=this.svgGroup_.getBoundingClientRect(),t=e.left;return this.toolboxPosition_===Rt.LEFT?new Bt(-1e9,1e9,-1e9,t+e.width):new Bt(-1e9,1e9,t,1e9)}reflowInternal_(){this.workspace_.scale=this.getFlyoutScale();let e=0;var t=this.workspace_.getTopBlocks(!1);for(let l=0,p;p=t[l];l++){var r=p.getHeightWidth().width;p.outputConnection&&(r-=this.tabWidth_),e=Math.max(e,r)}for(let l=0,p;p=this.buttons_[l];l++)e=Math.max(e,p.width);if(e+=1.5*this.MARGIN+this.tabWidth_,e*=this.workspace_.scale,e+=Fn.scrollbarThickness,this.width_!==e){for(let l=0,p;p=t[l];l++){if(this.RTL){r=p.getRelativeToSurfaceXY().x;let v=e/this.workspace_.scale-this.MARGIN;p.outputConnection||(v-=this.tabWidth_),p.moveBy(v-r,0)}this.rectMap_.has(p)&&this.moveRectToBlock_(this.rectMap_.get(p),p)}if(this.RTL)for(let l=0,p;p=this.buttons_[l];l++)t=p.getPosition().y,p.moveTo(e/this.workspace_.scale-p.width-this.MARGIN-this.tabWidth_,t);this.targetWorkspace.scrollbar||this.autoClose||this.targetWorkspace.getFlyout()!==this||this.toolboxPosition_!==Rt.LEFT||this.targetWorkspace.translate(this.targetWorkspace.scrollX+e,this.targetWorkspace.scrollY),this.width_=e,this.position(),this.targetWorkspace.resizeContents(),this.targetWorkspace.recordDragTargets()}}};Xg.registryName="verticalFlyout",i(Be.FLYOUTS_VERTICAL_TOOLBOX,Nr,Xg);var d$=class extends lh{constructor(e){super(e),this.horizontalLayout=!0}setMetrics_(e){if(this.isVisible()){var t=this.workspace_.getMetricsManager(),r=t.getScrollMetrics(),l=t.getViewMetrics();t=t.getAbsoluteMetrics(),typeof e.x=="number"&&(this.workspace_.scrollX=-(r.left+(r.width-l.width)*e.x)),this.workspace_.translate(this.workspace_.scrollX+t.left,this.workspace_.scrollY+t.top)}}getX(){return 0}getY(){if(!this.isVisible())return 0;var e=this.targetWorkspace.getMetricsManager();const t=e.getAbsoluteMetrics(),r=e.getViewMetrics();e=e.getToolboxMetrics();const l=this.toolboxPosition_===Rt.TOP;return this.targetWorkspace.toolboxPosition===this.toolboxPosition_?this.targetWorkspace.getToolbox()?l?e.height:r.height-this.height_:l?0:r.height:l?0:r.height+t.top-this.height_}position(){if(this.isVisible()&&this.targetWorkspace.isVisible()){var e=this.targetWorkspace.getMetricsManager().getViewMetrics();this.width_=e.width,this.setBackgroundPath(e.width-2*this.CORNER_RADIUS,this.height_-this.CORNER_RADIUS),e=this.getX();var t=this.getY();this.positionAt_(this.width_,this.height_,e,t)}}setBackgroundPath(e,t){const r=this.toolboxPosition_===Rt.TOP,l=["M 0,"+(r?0:this.CORNER_RADIUS)];r?(l.push("h",e+2*this.CORNER_RADIUS),l.push("v",t),l.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),l.push("h",-e),l.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(l.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),l.push("h",e),l.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),l.push("v",t),l.push("h",-e-2*this.CORNER_RADIUS)),l.push("z"),this.svgBackground_.setAttribute("d",l.join(" "))}scrollToStart(){let e;(e=this.workspace_.scrollbar)==null||e.setX(this.RTL?1/0:0)}wheel_(e){var t=ge(e);if(t=t.x||t.y){const r=this.workspace_.getMetricsManager(),l=r.getScrollMetrics();t=r.getViewMetrics().left-l.left+t;let p;(p=this.workspace_.scrollbar)==null||p.setX(t),gc(this.workspace_),Jr()}e.preventDefault(),e.stopPropagation()}layout_(e,t){this.workspace_.scale=this.targetWorkspace.scale;const r=this.MARGIN;let l=r+this.tabWidth_;this.RTL&&(e=e.reverse());for(let G=0,Ie;Ie=e[G];G++)if(Ie.type==="block"){var p=Ie.block;if(p==null)continue;var v=p.getDescendants(!1);for(let Mn=0,On;On=v[Mn];Mn++)On.isInFlyout=!0;v=p.getSvgRoot();const Qe=p.getHeightWidth();var O=p.outputConnection?this.tabWidth_:0;O=this.RTL?l+Qe.width:l-O,p.moveBy(O,r),O=this.createRect_(p,O,r,Qe,G),l+=Qe.width+t[G],this.addBlockListeners_(v,p,O)}else Ie.type==="button"&&(p=Ie.button,this.initFlyoutButton_(p,l,r),l+=p.width+t[G])}isDragTowardWorkspace(e){e=Math.atan2(e.y,e.x)/Math.PI*180;const t=this.dragAngleRange_;return e<90+t&&e>90-t||e>-90-t&&e<-90+t}getClientRect(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;const e=this.svgGroup_.getBoundingClientRect(),t=e.top;return this.toolboxPosition_===Rt.TOP?new Bt(-1e9,t+e.height,-1e9,1e9):new Bt(t,1e9,-1e9,1e9)}reflowInternal_(){this.workspace_.scale=this.getFlyoutScale();let e=0;const t=this.workspace_.getTopBlocks(!1);for(let l=0,p;p=t[l];l++)e=Math.max(e,p.getHeightWidth().height);const r=this.buttons_;for(let l=0,p;p=r[l];l++)e=Math.max(e,p.height);if(e+=1.5*this.MARGIN,e*=this.workspace_.scale,e+=Fn.scrollbarThickness,this.height_!==e){for(let l=0,p;p=t[l];l++)this.rectMap_.has(p)&&this.moveRectToBlock_(this.rectMap_.get(p),p);this.targetWorkspace.scrollbar||this.autoClose||this.targetWorkspace.getFlyout()!==this||this.toolboxPosition_!==Rt.TOP||this.targetWorkspace.translate(this.targetWorkspace.scrollX,this.targetWorkspace.scrollY+e),this.height_=e,this.position(),this.targetWorkspace.resizeContents(),this.targetWorkspace.recordDragTargets()}}};i(Be.FLYOUTS_HORIZONTAL_TOOLBOX,Nr,d$);var u=class extends rr{constructor(e,t,r,l,p){super(vn.SKIP_SETUP),this.defaultType="",this.variableTypes=[],this.variable=null,this.SERIALIZABLE=!0,this.menuGenerator_=u.dropdownCreate,this.defaultVariableName=typeof e=="string"?e:"",this.size_=new Jt(0,0),e!==vn.SKIP_SETUP&&(p?this.configure_(p):this.setTypes(r,l),t&&this.setValidator(t))}configure_(e){super.configure_(e),this.setTypes(e.variableTypes,e.defaultType)}initModel(){var e=this.getSourceBlock();if(!e)throw new Gn;this.variable||(e=s.getOrCreateVariablePackage$$module$build$src$core$variables(e.workspace,null,this.defaultVariableName,this.defaultType),this.doValueUpdate_(e.getId()))}shouldAddBorderRect_(){const e=this.getSourceBlock();if(!e)throw new Gn;return super.shouldAddBorderRect_()&&(!this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW||e.type!=="variables_get")}fromXml(e){var t=this.getSourceBlock();if(!t)throw new Gn;const r=e.getAttribute("id"),l=e.textContent,p=e.getAttribute("variabletype")||e.getAttribute("variableType")||"";if(t=s.getOrCreateVariablePackage$$module$build$src$core$variables(t.workspace,r,l,p),p!==null&&p!==t.type)throw Error("Serialized variable type with id '"+t.getId()+"' had type "+t.type+", and does not match variable field that references it: "+ci(e)+".");this.setValue(t.getId())}toXml(e){return this.initModel(),e.id=this.variable.getId(),e.textContent=this.variable.name,this.variable.type&&e.setAttribute("variabletype",this.variable.type),e}saveState(e){var t=this.saveLegacyState(u);return t!==null||(this.initModel(),t={id:this.variable.getId()},e&&(t.name=this.variable.name,t.type=this.variable.type)),t}loadState(e){const t=this.getSourceBlock();if(!t)throw new Gn;this.loadLegacyState(u,e)||(e=s.getOrCreateVariablePackage$$module$build$src$core$variables(t.workspace,e.id||null,e.name,e.type||""),this.setValue(e.getId()))}setSourceBlock(e){if(e.isShadow())throw Error("Variable fields are not allowed to exist on shadow blocks.");super.setSourceBlock(e)}getValue(){return this.variable?this.variable.getId():null}getText(){return this.variable?this.variable.name:""}getVariable(){return this.variable}getValidator(){return this.variable?this.validator_:null}doClassValidation_(e){if(e===null)return null;var t=this.getSourceBlock();if(!t)throw new Gn;return t=s.getVariable$$module$build$src$core$variables(t.workspace,e),t?(t=t.type,this.typeIsAllowed(t)?e:(console.warn("Variable type doesn't match this field! Type was "+t),null)):(console.warn("Variable id doesn't point to a real variable! ID was "+e),null)}doValueUpdate_(e){const t=this.getSourceBlock();if(!t)throw new Gn;this.variable=s.getVariable$$module$build$src$core$variables(t.workspace,e),super.doValueUpdate_(e)}typeIsAllowed(e){const t=this.getVariableTypes();if(!t)return!0;for(let r=0;rthis.max_&&(e.max=`${this.max_}`,tn(e,as.VALUEMAX,this.max_)),e}static fromJson(e){return new this(e.value,void 0,void 0,void 0,void 0,e)}};Ot("field_number",d),d.prototype.DEFAULT_VALUE=0;var m=class extends La{constructor(e,t,r){super(String(e??""),t,r),this.EDITABLE=!1,this.SERIALIZABLE=!0}static fromJson(e){return new this(kt(e.text),void 0,e)}};Ot("field_label_serializable",m);var _=class extends vn{constructor(e,t,r){super(vn.SKIP_SETUP),this.SERIALIZABLE=!0,this.CURSOR="default",this.value_=this.value_,this.checkChar=_.CHECK_CHAR,e!==vn.SKIP_SETUP&&(r&&this.configure_(r),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.checkCharacter&&(this.checkChar=e.checkCharacter)}saveState(){const e=this.saveLegacyState(_);return e!==null?e:this.getValueBoolean()}initView(){super.initView();const e=this.getTextElement();Fe(e,"blocklyCheckbox"),e.style.display=this.value_?"block":"none"}render_(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_()),this.updateSize_(this.getConstants().FIELD_CHECKBOX_X_OFFSET)}getDisplayText_(){return this.checkChar}setCheckCharacter(e){this.checkChar=e||_.CHECK_CHAR,this.forceRerender()}showEditor_(){this.setValue(!this.value_)}doClassValidation_(e){return e===!0||e==="TRUE"?"TRUE":e===!1||e==="FALSE"?"FALSE":null}doValueUpdate_(e){this.value_=this.convertValueToBool(e),this.textElement_&&(this.textElement_.style.display=this.value_?"block":"none")}getValue(){return this.value_?"TRUE":"FALSE"}getValueBoolean(){return this.value_}getText(){return String(this.convertValueToBool(this.value_))}convertValueToBool(e){return typeof e=="string"?e==="TRUE":!!e}static fromJson(e){return new this(e.checked,void 0,e)}};_.CHECK_CHAR="✓",Ot("field_checkbox",_),_.prototype.DEFAULT_VALUE=!1;var x=class{constructor(e,t){this.draggable=e,this.workspace=t,this.dragTarget=null,this.startLoc=e.getRelativeToSurfaceXY()}onDragStart(e){this.draggable.startDrag(e)}onDrag(e,t){this.moveDraggable(e,t),t=this.getRoot(this.draggable),Dn(t)&&t.setDeleteStyle(this.wouldDeleteDraggable(e,t)),this.updateDragTarget(e)}updateDragTarget(e){e=this.workspace.getDragTarget(e);const t=this.getRoot(this.draggable);if(this.dragTarget!==e){let r;(r=this.dragTarget)==null||r.onDragExit(t),e==null||e.onDragEnter(t)}e==null||e.onDragOver(t),this.dragTarget=e}moveDraggable(e,t){t=this.pixelsToWorkspaceUnits(t),t=Le.sum(this.startLoc,t),this.draggable.drag(t,e)}wouldDeleteDraggable(e,t){return(e=this.workspace.getDragTarget(e))&&this.workspace.getComponentManager().hasCapability(e.id,pn.Capability.DELETE_AREA)?e.wouldDelete(t):!1}onDragEnd(e){const t=s.getGroup$$module$build$src$core$events$utils();var r=this.workspace.getDragTarget(e);const l=this.getRoot(this.draggable);if(r){let p;(p=this.dragTarget)==null||p.onDrop(l)}this.shouldReturnToStart(e,l)&&this.draggable.revertDrag(),(r=Dn(l)&&this.wouldDeleteDraggable(e,l))&&this.draggable instanceof Ur&&Hu(this.draggable.getRootBlock()),this.draggable.endDrag(e),r&&Dn(l)&&(e=s.getGroup$$module$build$src$core$events$utils(),s.setGroup$$module$build$src$core$events$utils(t),l.dispose(),s.setGroup$$module$build$src$core$events$utils(e))}getRoot(e){return e instanceof Ur?e.getRootBlock():e}shouldReturnToStart(e,t){return(e=this.workspace.getDragTarget(e))?e.shouldPreventMove(t):!1}pixelsToWorkspaceUnits(e){return e=new Le(e.x/this.workspace.scale,e.y/this.workspace.scale),this.workspace.isMutator&&e.scale(1/this.workspace.options.parentWorkspace.scale),e}};i(Be.BLOCK_DRAGGER,Nr,x);var L={};L.BlockDragStrategy=Vb,L.BubbleDragStrategy=Ob,L.CommentDragStrategy=Eb,L.Dragger=x;var V=class extends Es{constructor(e,t,r){super(e?e.workspace.id:void 0),this.type=fe.BLOCK_DRAG,e&&(this.blockId=e.id,this.isStart=t,this.blocks=r)}toJson(){const e=super.toJson();if(this.isStart===void 0)throw Error("Whether this event is the start of a drag is undefined. Either pass the value to the constructor, or call fromJson");if(this.blockId===void 0)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");return e.isStart=this.isStart,e.blockId=this.blockId,e.blocks=this.blocks,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new V),t.isStart=e.isStart,t.blockId=e.blockId,t.blocks=e.blocks,t}};i(Be.EVENT,fe.BLOCK_DRAG,V);var Q=class extends Sa{constructor(e,t,r,l){super(e),this.type=fe.BLOCK_FIELD_INTERMEDIATE_CHANGE,this.recordUndo=!1,e&&(this.name=t,this.oldValue=r,this.newValue=l)}toJson(){const e=super.toJson();if(!this.name)throw Error("The changed field name is undefined. Either pass a name to the constructor, or call fromJson.");return e.name=this.name,e.oldValue=this.oldValue,e.newValue=this.newValue,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Q),t.name=e.name,t.oldValue=e.oldValue,t.newValue=e.newValue,t}isNull(){return this.oldValue===this.newValue}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");if(t=t.getBlockById(this.blockId),!t)throw Error("The associated block is undefined. Either pass a block to the constructor, or call fromJson");e=e?this.newValue:this.oldValue,(t=t.getField(this.name))?t.setValue(e):console.warn("Can't set non-existent field: "+this.name)}};i(Be.EVENT,fe.BLOCK_FIELD_INTERMEDIATE_CHANGE,Q);var le=class extends Sa{constructor(e){super(e),this.type=fe.BLOCK_MOVE,e&&(e.isShadow()&&(this.recordUndo=!1),e=this.currentLocation(),this.oldParentId=e.parentId,this.oldInputName=e.inputName,this.oldCoordinate=e.coordinate)}toJson(){const e=super.toJson();return e.oldParentId=this.oldParentId,e.oldInputName=this.oldInputName,this.oldCoordinate&&(e.oldCoordinate=`${Math.round(this.oldCoordinate.x)}, ${Math.round(this.oldCoordinate.y)}`),e.newParentId=this.newParentId,e.newInputName=this.newInputName,this.newCoordinate&&(e.newCoordinate=`${Math.round(this.newCoordinate.x)}, ${Math.round(this.newCoordinate.y)}`),this.reason&&(e.reason=this.reason),this.recordUndo||(e.recordUndo=this.recordUndo),e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new le),t.oldParentId=e.oldParentId,t.oldInputName=e.oldInputName,e.oldCoordinate&&(r=e.oldCoordinate.split(","),t.oldCoordinate=new Le(Number(r[0]),Number(r[1]))),t.newParentId=e.newParentId,t.newInputName=e.newInputName,e.newCoordinate&&(r=e.newCoordinate.split(","),t.newCoordinate=new Le(Number(r[0]),Number(r[1]))),e.reason!==void 0&&(t.reason=e.reason),e.recordUndo!==void 0&&(t.recordUndo=e.recordUndo),t}recordNew(){const e=this.currentLocation();this.newParentId=e.parentId,this.newInputName=e.inputName,this.newCoordinate=e.coordinate}setReason(e){this.reason=e}currentLocation(){var e=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");var t=e.getBlockById(this.blockId);if(!t)throw Error("The block associated with the block move event could not be found");e={};const r=t.getParent();return r?(e.parentId=r.id,(t=r.getInputWithBlock(t))&&(e.inputName=t.name)):e.coordinate=t.getRelativeToSurfaceXY(),e}isNull(){return this.oldParentId===this.newParentId&&this.oldInputName===this.newInputName&&Le.equals(this.oldCoordinate,this.newCoordinate)}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");var r=t.getBlockById(this.blockId);if(r){var l=e?this.newParentId:this.oldParentId,p=e?this.newInputName:this.oldInputName;if(e=e?this.newCoordinate:this.oldCoordinate,l){var v=t.getBlockById(l);if(!v){console.warn("Can't connect to non-existent block: "+l);return}}if(r.getParent()&&r.unplug(),e)p=r.getRelativeToSurfaceXY(),r.moveBy(e.x-p.x,e.y-p.y,this.reason);else{t=r.outputConnection,(!t||r.previousConnection&&r.previousConnection.isConnected())&&(t=r.previousConnection);let O,G;r=(G=t)==null?void 0:G.type,p?(r=v.getInput(p))&&(O=r.connection):r===Ze.PREVIOUS_STATEMENT&&(O=v.nextConnection),O&&t?t.connect(O):console.warn("Can't connect to non-existent input: "+p)}}else console.warn("Can't move non-existent block: "+this.blockId)}};i(Be.EVENT,fe.BLOCK_MOVE,le);var Me=class extends Es{constructor(e,t,r){super(e?e.workspace.id:void 0),this.type=fe.BUBBLE_OPEN,e&&(this.blockId=e.id,this.isOpen=t,this.bubbleType=r)}toJson(){const e=super.toJson();if(this.isOpen===void 0)throw Error("Whether this event is for opening the bubble is undefined. Either pass the value to the constructor, or call fromJson");if(!this.bubbleType)throw Error("The type of bubble is undefined. Either pass the value to the constructor, or call fromJson");return e.isOpen=this.isOpen,e.bubbleType=this.bubbleType,e.blockId=this.blockId||"",e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Me),t.isOpen=e.isOpen,t.bubbleType=e.bubbleType,t.blockId=e.blockId,t}},Ne;(function(e){e.MUTATOR="mutator",e.COMMENT="comment",e.WARNING="warning"})(Ne||(Ne={})),i(Be.EVENT,fe.BUBBLE_OPEN,Me);var Pe=class extends ba{constructor(e){super(),this.isBlank=!e,e&&(this.commentId=e.id,this.workspaceId=e.workspace.id,this.group=s.getGroup$$module$build$src$core$events$utils(),this.recordUndo=se())}toJson(){const e=super.toJson();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");return e.commentId=this.commentId,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Pe),t.commentId=e.commentId,t}static CommentCreateDeleteHelper(e,t){const r=e.getEventWorkspace_();if(t){if(!e.json)throw Error("Encountered a comment event without proper json");ss(e.json,r)}else{if(!e.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");(t=r.getCommentById(e.commentId))?t.dispose():console.warn("Can't delete non-existent comment: "+e.commentId)}}},qe=class extends Pe{constructor(e,t,r){super(e),this.type=fe.COMMENT_CHANGE,e&&(this.oldContents_=typeof t>"u"?"":t,this.newContents_=typeof r>"u"?"":r)}toJson(){const e=super.toJson();if(!this.oldContents_)throw Error("The old contents is undefined. Either pass a value to the constructor, or call fromJson");if(!this.newContents_)throw Error("The new contents is undefined. Either pass a value to the constructor, or call fromJson");return e.oldContents=this.oldContents_,e.newContents=this.newContents_,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new qe),t.oldContents_=e.oldContents,t.newContents_=e.newContents,t}isNull(){return this.oldContents_===this.newContents_}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){var r=e?this.newContents_:this.oldContents_;if(r===void 0)throw Error(e?"The new contents is undefined. Either pass a value to the constructor, or call fromJson":"The old contents is undefined. Either pass a value to the constructor, or call fromJson");t.setText(r)}else console.warn("Can't change non-existent comment: "+this.commentId)}};i(Be.EVENT,fe.COMMENT_CHANGE,qe);var dt=class extends Pe{constructor(e,t){super(e),this.newCollapsed=t,this.type=fe.COMMENT_COLLAPSE}toJson(){const e=super.toJson();if(this.newCollapsed===void 0)throw Error("The new collapse value undefined. Either call recordNew, or call fromJson");return e.newCollapsed=this.newCollapsed,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new dt),t.newCollapsed=e.newCollapsed,t}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");(t=t.getCommentById(this.commentId))?t.setCollapsed(e?!!this.newCollapsed:!this.newCollapsed):console.warn("Can't collapse or uncollapse non-existent comment: "+this.commentId)}};i(Be.EVENT,fe.COMMENT_COLLAPSE,dt);var $t=class extends Pe{constructor(e){super(e),this.type=fe.COMMENT_CREATE,e&&(this.xml=bc(e),this.json=In(e,{addCoordinates:!0}))}toJson(){const e=super.toJson();if(!this.xml)throw Error("The comment XML is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.json)throw Error("The comment JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=ci(this.xml),e.json=this.json,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new $t),t.xml=s.textToDom$$module$build$src$core$utils$xml(e.xml),t.json=e.json,t}run(e){Pe.CommentCreateDeleteHelper(this,e)}};i(Be.EVENT,fe.COMMENT_CREATE,$t);var Ut=class extends Pe{constructor(e){super(e),this.type=fe.COMMENT_DELETE,e&&(this.xml=bc(e),this.json=In(e,{addCoordinates:!0}))}run(e){Pe.CommentCreateDeleteHelper(this,!e)}toJson(){const e=super.toJson();if(!this.xml)throw Error("The comment XML is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.json)throw Error("The comment JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=ci(this.xml),e.json=this.json,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Ut),t.xml=s.textToDom$$module$build$src$core$utils$xml(e.xml),t.json=e.json,t}};i(Be.EVENT,fe.COMMENT_DELETE,Ut);var vt=class extends Es{constructor(e,t){super(e?e.workspace.id:void 0),this.type=fe.COMMENT_DRAG,e&&(this.commentId=e.id,this.isStart=t)}toJson(){const e=super.toJson();if(this.isStart===void 0)throw Error("Whether this event is the start of a drag is undefined. Either pass the value to the constructor, or call fromJson");if(this.commentId===void 0)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");return e.isStart=this.isStart,e.commentId=this.commentId,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new vt),t.isStart=e.isStart,t.commentId=e.commentId,t}};i(Be.EVENT,fe.COMMENT_DRAG,vt);var Xt=class extends Pe{constructor(e){super(e),this.type=fe.COMMENT_MOVE,e&&(this.comment_=e,this.oldCoordinate_=e.getRelativeToSurfaceXY())}recordNew(){if(this.newCoordinate_)throw Error("Tried to record the new position of a comment on the same event twice.");if(!this.comment_)throw Error("The comment is undefined. Pass a comment to the constructor if you want to use the record functionality");this.newCoordinate_=this.comment_.getRelativeToSurfaceXY()}setReason(e){this.reason=e}setOldCoordinate(e){this.oldCoordinate_=e}toJson(){const e=super.toJson();if(!this.oldCoordinate_)throw Error("The old comment position is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.newCoordinate_)throw Error("The new comment position is undefined. Either call recordNew, or call fromJson");return e.oldCoordinate=`${Math.round(this.oldCoordinate_.x)}, ${Math.round(this.oldCoordinate_.y)}`,e.newCoordinate=Math.round(this.newCoordinate_.x)+","+Math.round(this.newCoordinate_.y),e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new Xt),r=e.oldCoordinate.split(","),t.oldCoordinate_=new Le(Number(r[0]),Number(r[1])),r=e.newCoordinate.split(","),t.newCoordinate_=new Le(Number(r[0]),Number(r[1])),t}isNull(){return Le.equals(this.oldCoordinate_,this.newCoordinate_)}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){if(e=e?this.newCoordinate_:this.oldCoordinate_,!e)throw Error("Either oldCoordinate_ or newCoordinate_ is undefined. Either pass a comment to the constructor and call recordNew, or call fromJson");t.moveTo(e)}else console.warn("Can't move non-existent comment: "+this.commentId)}};i(Be.EVENT,fe.COMMENT_MOVE,Xt);var en=class extends Pe{constructor(e){super(e),this.type=fe.COMMENT_RESIZE,e&&(this.oldSize=e.getSize())}recordCurrentSizeAsNewSize(){if(this.newSize)throw Error("Tried to record the new size of a comment on the same event twice.");var e=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(e=e.getCommentById(this.commentId),!e)throw Error("The comment associated with the comment resize event could not be found");this.newSize=e.getSize()}toJson(){const e=super.toJson();if(!this.oldSize)throw Error("The old comment size is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.newSize)throw Error("The new comment size is undefined. Either call recordCurrentSizeAsNewSize, or call fromJson");return e.oldWidth=Math.round(this.oldSize.width),e.oldHeight=Math.round(this.oldSize.height),e.newWidth=Math.round(this.newSize.width),e.newHeight=Math.round(this.newSize.height),e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new en),t.oldSize=new Jt(e.oldWidth,e.oldHeight),t.newSize=new Jt(e.newWidth,e.newHeight),t}isNull(){return Jt.equals(this.oldSize,this.newSize)}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){if(e=e?this.newSize:this.oldSize,!e)throw Error("Either oldSize or newSize is undefined. Either pass a comment to the constructor and call recordCurrentSizeAsNewSize, or call fromJson");t.setSize(e)}else console.warn("Can't resize non-existent comment: "+this.commentId)}};i(Be.EVENT,fe.COMMENT_RESIZE,en);var zs=class extends Es{constructor(e,t,r){super(r),this.type=fe.TOOLBOX_ITEM_SELECT,this.oldItem=e??void 0,this.newItem=t??void 0}toJson(){const e=super.toJson();return e.oldItem=this.oldItem,e.newItem=this.newItem,e}static fromJson(e,t,r){return t=super.fromJson(e,t,r??new zs),t.oldItem=e.oldItem,t.newItem=e.newItem,t}};i(Be.EVENT,fe.TOOLBOX_ITEM_SELECT,zs);var As=class extends ba{constructor(e){super(),this.isBlank=!0,this.recordUndo=!1,this.type=fe.FINISHED_LOADING,this.isBlank=!!e,e&&(this.workspaceId=e.id)}};i(Be.EVENT,fe.FINISHED_LOADING,As);var ar,Kn,Hr,Ci,Zg,iC,oC,aC,lC,cC,uC,dC,hC,pC,gC,fC,mC,bC,$C,vC,yC,_C,wC,CC,SC,Ye;s.BLOCK_CHANGE$$module$build$src$core$events$events=fe.BLOCK_CHANGE,s.BLOCK_CREATE$$module$build$src$core$events$events=fe.BLOCK_CREATE,s.BLOCK_DELETE$$module$build$src$core$events$events=fe.BLOCK_DELETE,ar=fe.BLOCK_DRAG,s.BLOCK_MOVE$$module$build$src$core$events$events=fe.BLOCK_MOVE,Kn=fe.BLOCK_FIELD_INTERMEDIATE_CHANGE,Hr=fe.BUBBLE_OPEN,Ci=fe.BLOCK_CHANGE,Zg=fe.CLICK,iC=fe.COMMENT_CHANGE,oC=fe.COMMENT_CREATE,aC=fe.COMMENT_DELETE,lC=fe.COMMENT_MOVE,cC=fe.COMMENT_RESIZE,uC=fe.COMMENT_DRAG,dC=fe.BLOCK_CREATE,hC=fe.BLOCK_DELETE,pC=fe.FINISHED_LOADING,gC=fe.MARKER_MOVE,fC=fe.BLOCK_MOVE,mC=fe.SELECTED,bC=fe.THEME_CHANGE,$C=fe.TOOLBOX_ITEM_SELECT,vC=fe.TRASHCAN_OPEN,yC=fe.UI,_C=fe.VAR_CREATE,wC=fe.VAR_DELETE,CC=fe.VAR_RENAME,SC=fe.VIEWPORT_CHANGE,Ye={},Ye.Abstract=ba,Ye.BLOCK_CHANGE=s.BLOCK_CHANGE$$module$build$src$core$events$events,Ye.BLOCK_CREATE=s.BLOCK_CREATE$$module$build$src$core$events$events,Ye.BLOCK_DELETE=s.BLOCK_DELETE$$module$build$src$core$events$events,Ye.BLOCK_DRAG=ar,Ye.BLOCK_FIELD_INTERMEDIATE_CHANGE=Kn,Ye.BLOCK_MOVE=s.BLOCK_MOVE$$module$build$src$core$events$events,Ye.BUBBLE_OPEN=Hr,Ye.BUMP_EVENTS=Up,Ye.BlockBase=Sa,Ye.BlockChange=Xi,Ye.BlockCreate=xg,Ye.BlockDelete=Pg,Ye.BlockDrag=V,Ye.BlockFieldIntermediateChange=Q,Ye.BlockMove=le,Ye.BubbleOpen=Me,Ye.BubbleType=Ne,Ye.CHANGE=Ci,Ye.CLICK=Zg,Ye.COMMENT_CHANGE=iC,Ye.COMMENT_CREATE=oC,Ye.COMMENT_DELETE=aC,Ye.COMMENT_DRAG=uC,Ye.COMMENT_MOVE=lC,Ye.COMMENT_RESIZE=cC,Ye.CREATE=dC,Ye.Click=$a,Ye.ClickTarget=Gp,Ye.CommentBase=Pe,Ye.CommentChange=qe,Ye.CommentCollapse=dt,Ye.CommentCreate=$t,Ye.CommentDelete=Ut,Ye.CommentDrag=vt,Ye.CommentMove=Xt,Ye.CommentResize=en,Ye.DELETE=hC,Ye.FINISHED_LOADING=pC,Ye.FinishedLoading=As,Ye.MARKER_MOVE=gC,Ye.MOVE=fC,Ye.MarkerMove=jg,Ye.SELECTED=mC,Ye.Selected=Vg,Ye.THEME_CHANGE=bC,Ye.TOOLBOX_ITEM_SELECT=$C,Ye.TRASHCAN_OPEN=vC,Ye.ThemeChange=Dg,Ye.ToolboxItemSelect=zs,Ye.TrashcanOpen=Kg,Ye.UI=yC,Ye.UiBase=Es,Ye.VAR_CREATE=_C,Ye.VAR_DELETE=wC,Ye.VAR_RENAME=CC,Ye.VIEWPORT_CHANGE=SC,Ye.VarBase=zc,Ye.VarCreate=gg,Ye.VarDelete=Hg,Ye.VarRename=Kd,Ye.ViewportChange=Ag,Ye.clearPendingUndo=W,Ye.disable=s.disable$$module$build$src$core$events$utils,Ye.disableOrphans=at,Ye.enable=s.enable$$module$build$src$core$events$utils,Ye.filter=ce,Ye.fire=ee,Ye.fromJson=ze,Ye.get=Ce,Ye.getDescendantIds=Z,Ye.getGroup=s.getGroup$$module$build$src$core$events$utils,Ye.getRecordUndo=se,Ye.isEnabled=te,Ye.setGroup=s.setGroup$$module$build$src$core$events$utils,Ye.setRecordUndo=s.setRecordUndo$$module$build$src$core$events$utils;var io={};io.BottomRow=t$,io.ConstantProvider=sh,io.Drawer=rh,io.MarkerSvg=i$,io.PathObject=o$,io.RenderInfo=r$,io.Renderer=Yg,io.RightConnectionShape=n$,io.StatementInput=ah,io.TopRow=s$,gd();var ys={};ys.registerCleanup=Op,ys.registerCollapse=ad,ys.registerCollapseExpandBlock=Np,ys.registerComment=Sc,ys.registerCommentCreate=Qs,ys.registerCommentDelete=Bp,ys.registerCommentDuplicate=Pp,ys.registerCommentOptions=pd,ys.registerDefaultOptions=gd,ys.registerDelete=fa,ys.registerDeleteAll=ud,ys.registerDisable=Lp,ys.registerDuplicate=Mp,ys.registerExpand=Rp,ys.registerHelp=hd,ys.registerInline=Ht,ys.registerRedo=Cl,ys.registerUndo=id;var h$={};h$.CommentView=Bd,h$.RenderedWorkspaceComment=Pd,h$.WorkspaceComment=Xc;var Qg={};Qg.Bubble=fn,Qg.MiniWorkspaceBubble=vs,Qg.TextBubble=ir,Qg.TextInputBubble=Mb;var TC=class extends Vd{constructor(){super(),this.FIELD_TEXT_BASELINE_CENTER=!1,this.DARK_PATH_OFFSET=1,this.MAX_BOTTOM_WIDTH=30,this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT/2}getCSS_(e){return super.getCSS_(e).concat([`${e} .blocklyInsertionMarker>.blocklyPathLight,`,`${e} .blocklyInsertionMarker>.blocklyPathDark {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"])}},kC=class{constructor(e){this.inlineSteps_=this.steps_="",this.info_=e,this.RTL_=this.info_.RTL,e=e.getRenderer(),this.constants_=e.getConstants(),this.highlightConstants_=e.getHighlightConstants(),this.highlightOffset=this.highlightConstants_.OFFSET,this.outsideCornerPaths_=this.highlightConstants_.OUTSIDE_CORNER,this.insideCornerPaths_=this.highlightConstants_.INSIDE_CORNER,this.puzzleTabPaths_=this.highlightConstants_.PUZZLE_TAB,this.notchPaths_=this.highlightConstants_.NOTCH,this.startPaths_=this.highlightConstants_.START_HAT,this.jaggedTeethPaths_=this.highlightConstants_.JAGGED_TEETH}getPath(){return this.steps_+` -`+this.inlineSteps_}drawTopCorner(e){this.steps_+=xn(e.xPos,this.info_.startY);for(let t=0,r;r=e.elements[t];t++)J.isLeftSquareCorner(r)?this.steps_+=this.highlightConstants_.START_POINT:J.isLeftRoundedCorner(r)?this.steps_+=this.outsideCornerPaths_.topLeft(this.RTL_):J.isPreviousConnection(r)?this.steps_+=this.notchPaths_.pathLeft:J.isHat(r)?this.steps_+=this.startPaths_.path(this.RTL_):J.isSpacer(r)&&r.width!==0&&(this.steps_+=tt("H",r.xPos+r.width-this.highlightOffset));this.steps_+=tt("H",e.xPos+e.width-this.highlightOffset)}drawJaggedEdge_(e){this.info_.RTL&&(this.steps_+=this.jaggedTeethPaths_.pathLeft+tt("v",e.height-this.jaggedTeethPaths_.height-this.highlightOffset))}drawValueInput(e){const t=e.getLastInput();if(this.RTL_){const r=e.height-t.connectionHeight;this.steps_+=is(t.xPos+t.width-this.highlightOffset,e.yPos)+this.puzzleTabPaths_.pathDown(this.RTL_)+tt("v",r)}else this.steps_+=is(t.xPos+t.width,e.yPos)+this.puzzleTabPaths_.pathDown(this.RTL_)}drawStatementInput(e){const t=e.getLastInput();if(t)if(this.RTL_){const r=e.height-2*this.insideCornerPaths_.height;this.steps_+=is(t.xPos,e.yPos)+this.insideCornerPaths_.pathTop(this.RTL_)+tt("v",r)+this.insideCornerPaths_.pathBottom(this.RTL_)+hi(e.width-t.xPos-this.insideCornerPaths_.width,0)}else this.steps_+=is(t.xPos,e.yPos+e.height)+this.insideCornerPaths_.pathBottom(this.RTL_)+hi(e.width-t.xPos-this.insideCornerPaths_.width,0)}drawRightSideRow(e){const t=e.xPos+e.width-this.highlightOffset;e instanceof Lg&&e.followsStatement&&(this.steps_+=tt("H",t)),this.RTL_&&(this.steps_+=tt("H",t),e.height>this.highlightOffset&&(this.steps_+=tt("V",e.yPos+e.height-this.highlightOffset)))}drawBottomRow(e){if(this.RTL_)this.steps_+=tt("V",e.baseline-this.highlightOffset);else{const t=this.info_.bottomRow.elements[0];J.isLeftSquareCorner(t)?this.steps_+=is(e.xPos+this.highlightOffset,e.baseline-this.highlightOffset):J.isLeftRoundedCorner(t)&&(this.steps_+=is(e.xPos,e.baseline),this.steps_+=this.outsideCornerPaths_.bottomLeft())}}drawLeft(){var e=this.info_.outputConnection;e&&(e=e.connectionOffsetY+e.height,this.RTL_?this.steps_+=is(this.info_.startX,e):(this.steps_+=is(this.info_.startX+this.highlightOffset,this.info_.bottomRow.baseline-this.highlightOffset),this.steps_+=tt("V",e)),this.steps_+=this.puzzleTabPaths_.pathUp(this.RTL_)),this.RTL_||(e=this.info_.topRow,J.isLeftRoundedCorner(e.elements[0])?this.steps_+=tt("V",this.outsideCornerPaths_.height):this.steps_+=tt("V",e.capline+this.highlightOffset))}drawInlineInput(e){const t=this.highlightOffset,r=e.xPos+e.connectionWidth;var l=e.centerline-e.height/2;const p=e.width-e.connectionWidth,v=l+t;this.RTL_?(l=e.connectionOffsetY-t,e=e.height-(e.connectionOffsetY+e.connectionHeight)+t,this.inlineSteps_+=is(r-t,v)+tt("v",l)+this.puzzleTabPaths_.pathDown(this.RTL_)+tt("v",e)+tt("h",p)):this.inlineSteps_+=is(e.xPos+e.width+t,v)+tt("v",e.height)+tt("h",-p)+is(r,l+e.connectionOffsetY)+this.puzzleTabPaths_.pathDown(this.RTL_)}},EC=class extends Fl{constructor(e,t){super(e,t),this.highlighter_=new kC(t)}draw(){this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights();const e=this.block_.pathObject;e.setPath(this.outlinePath_+` -`+this.inlinePath_),e.setHighlightPath(this.highlighter_.getPath()),this.info_.RTL&&e.flipRTL(),this.recordSizeOnBlock_()}drawTop_(){this.highlighter_.drawTopCorner(this.info_.topRow),this.highlighter_.drawRightSideRow(this.info_.topRow),super.drawTop_()}drawJaggedEdge_(e){this.highlighter_.drawJaggedEdge_(e),super.drawJaggedEdge_(e)}drawValueInput_(e){this.highlighter_.drawValueInput(e),super.drawValueInput_(e)}drawStatementInput_(e){this.highlighter_.drawStatementInput(e),super.drawStatementInput_(e)}drawRightSideRow_(e){this.highlighter_.drawRightSideRow(e),this.outlinePath_+=tt("H",e.xPos+e.width)+tt("V",e.yPos+e.height)}drawBottom_(){this.highlighter_.drawBottomRow(this.info_.bottomRow),super.drawBottom_()}drawLeft_(){this.highlighter_.drawLeft(),super.drawLeft_()}drawInlineInput_(e){this.highlighter_.drawInlineInput(e),super.drawInlineInput_(e)}positionInlineInputConnection_(e){const t=e.centerline-e.height/2;if(e.connectionModel){let r=e.xPos+e.connectionWidth+this.constants_.DARK_PATH_OFFSET;this.info_.RTL&&(r*=-1),e.connectionModel.setOffsetInBlock(r,t+e.connectionOffsetY+this.constants_.DARK_PATH_OFFSET)}}positionStatementInputConnection_(e){const t=e.getLastInput();if(t!=null&&t.connectionModel){let r=e.xPos+e.statementEdge+t.notchOffset;r=this.info_.RTL?-1*r:r+this.constants_.DARK_PATH_OFFSET,t.connectionModel.setOffsetInBlock(r,e.yPos+this.constants_.DARK_PATH_OFFSET)}}positionExternalValueConnection_(e){const t=e.getLastInput();if(t&&t.connectionModel){let r=e.xPos+e.width+this.constants_.DARK_PATH_OFFSET;this.info_.RTL&&(r*=-1),t.connectionModel.setOffsetInBlock(r,e.yPos)}}positionNextConnection_(){const e=this.info_.bottomRow;if(e.connection){const t=e.connection,r=t.xPos;t.connectionModel.setOffsetInBlock((this.info_.RTL?-r:r)+this.constants_.DARK_PATH_OFFSET/2,e.baseline+this.constants_.DARK_PATH_OFFSET)}}},IC=class{constructor(e){this.OFFSET=.5,this.constantProvider=e,this.START_POINT=xn(this.OFFSET,this.OFFSET)}init(){this.INSIDE_CORNER=this.makeInsideCorner(),this.OUTSIDE_CORNER=this.makeOutsideCorner(),this.PUZZLE_TAB=this.makePuzzleTab(),this.NOTCH=this.makeNotch(),this.JAGGED_TEETH=this.makeJaggedTeeth(),this.START_HAT=this.makeStartHat()}makeInsideCorner(){const e=this.constantProvider.CORNER_RADIUS,t=this.OFFSET,r=(1-Math.SQRT1_2)*(e+t)-t,l=xn(r,r)+Hn("a","0 0,0",e,ut(-r-t,e-r)),p=Hn("a","0 0,0",e+t,ut(e+t,e+t)),v=xn(r,-r)+Hn("a","0 0,0",e+t,ut(e-r,r+t));return{width:e+t,height:e,pathTop(O){return O?l:""},pathBottom(O){return O?p:v}}}makeOutsideCorner(){const e=this.constantProvider.CORNER_RADIUS,t=this.OFFSET,r=(1-Math.SQRT1_2)*(e-t)+t,l=xn(r,r)+Hn("a","0 0,1",e-t,ut(e-r,-r+t)),p=xn(t,e)+Hn("a","0 0,1",e-t,ut(e,-e+t)),v=-r,O=xn(r,v)+Hn("a","0 0,1",e-t,ut(-r+t,-v-e));return{height:e,topLeft(G){return G?l:p},bottomLeft(){return O}}}makePuzzleTab(){const e=this.constantProvider.TAB_WIDTH,t=this.constantProvider.TAB_HEIGHT,r=xn(-2,-t+3.4)+hi(-.45*e,-2.1),l=tt("v",2.5)+xn(.97*-e,2.5)+Zs("q",[ut(.05*-e,10),ut(.3*e,9.5)])+xn(.67*e,-1.9)+tt("v",2.5),p=tt("v",-1.5)+xn(-.92*e,-.5)+Zs("q",[ut(-.19*e,-5.5),ut(0,-11)])+xn(.92*e,1),v=xn(-5,t-.7)+hi(.46*e,-2.1);return{width:e,height:t,pathUp(O){return O?r:p},pathDown(O){return O?l:v}}}makeNotch(){return{pathLeft:tt("h",this.OFFSET)+this.constantProvider.NOTCH.pathLeft}}makeJaggedTeeth(){return{pathLeft:hi(5.1,2.6)+xn(-10.2,6.8)+hi(5.1,2.6),height:12,width:10.2}}makeStartHat(){const e=this.constantProvider.START_HAT.height,t=xn(25,-8.7)+Zs("c",[ut(29.7,-6.2),ut(57.2,-.5),ut(75,8.7)]),r=Zs("c",[ut(17.8,-9.2),ut(45.3,-14.9),ut(75,-8.7)])+is(100.5,e+.5);return{path(l){return l?t:r}}}},xC=class extends Mg{constructor(e,t){super(e,t),this.constants_=e,this.connectedBlock&&(this.width+=this.constants_.DARK_PATH_OFFSET,this.height+=this.constants_.DARK_PATH_OFFSET)}},DC=class extends su{constructor(e,t){super(e,t),this.constants_=e,this.connectedBlock&&(this.height+=this.constants_.DARK_PATH_OFFSET)}},AC=class extends hs{constructor(e,t){super(e,t),this.renderer_=e}getRenderer(){return this.renderer_}populateBottomRow_(){super.populateBottomRow_(),this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1]instanceof yr||(this.bottomRow.minHeight=this.constants_.MEDIUM_PADDING-this.constants_.DARK_PATH_OFFSET)}addInput_(e,t){this.isInline&&e instanceof s.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new xC(this.constants_,e)),t.hasInlineInput=!0):e instanceof yr?(t.elements.push(new DC(this.constants_,e)),t.hasStatement=!0):e instanceof s.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new cn(this.constants_,e)),t.hasExternalInput=!0):(e instanceof yi||e instanceof ro)&&(t.minHeight=Math.max(t.minHeight,this.constants_.DUMMY_INPUT_MIN_HEIGHT),t.hasDummyInput=!0),this.isInline||t.align!==null||(t.align=e.align)}addElemSpacing_(){let e=!1;for(let r=0,l;l=this.rows[r];r++)l.hasExternalInput&&(e=!0);for(let r=0,l;l=this.rows[r];r++){var t=l.elements;if(l.elements=[],l.startsWithElemSpacer()&&l.elements.push(new vr(this.constants_,this.getInRowSpacing_(null,t[0]))),t.length){for(let p=0;p>>/sprites.png); - height: 16px; - vertical-align: middle; - visibility: hidden; - width: 16px; -} - -.blocklyTreeIconClosed { - background-position: -32px -1px; -} - -.blocklyToolboxDiv[dir="RTL"] .blocklyTreeIconClosed { - background-position: 0 -1px; -} - -.blocklyTreeSelected>.blocklyTreeIconClosed { - background-position: -32px -17px; -} - -.blocklyToolboxDiv[dir="RTL"] .blocklyTreeSelected>.blocklyTreeIconClosed { - background-position: 0 -17px; -} - -.blocklyTreeIconOpen { - background-position: -16px -1px; -} - -.blocklyTreeSelected>.blocklyTreeIconOpen { - background-position: -16px -17px; -} - -.blocklyTreeLabel { - cursor: default; - font: 16px sans-serif; - padding: 0 3px; - vertical-align: middle; -} - -.blocklyToolboxDelete .blocklyTreeLabel { - cursor: url("<<>>/handdelete.cur"), auto; -} - -.blocklyTreeSelected .blocklyTreeLabel { - color: #fff; -} -`),i(Be.TOOLBOX_ITEM,oo.registrationName,oo);var ef=class extends wy{constructor(e,t){super(e,t),this.cssConfig_={container:"blocklyTreeSeparator"},this.htmlDiv=null,Object.assign(this.cssConfig_,e.cssconfig||e.cssConfig)}init(){this.createDom_()}createDom_(){const e=document.createElement("div"),t=this.cssConfig_.container;return t&&Fe(e,t),this.htmlDiv=e}getDiv(){return this.htmlDiv}dispose(){mt(this.htmlDiv)}};ef.registrationName="sep",we(` -.blocklyTreeSeparator { - border-bottom: solid #e5e5e5 1px; - height: 0; - margin: 5px 0; -} - -.blocklyToolboxDiv[layout="h"] .blocklyTreeSeparator { - border-right: solid #e5e5e5 1px; - border-bottom: none; - height: auto; - margin: 0 5px 0 5px; - padding: 5px 0; - width: 0; -} -`),i(Be.TOOLBOX_ITEM,ef.registrationName,ef);var ch=class extends oo{constructor(e,t,r){super(e,t,r),this.subcategoriesDiv_=null,this.expanded_=!1,this.toolboxItems_=[]}makeDefaultCssConfig_(){const e=super.makeDefaultCssConfig_();return e.contents="blocklyToolboxContents",e}parseContents_(e){if("custom"in e)this.flyoutItems_=e.custom;else{const t=e.contents;if(t){this.flyoutItems_=[],e=!0;for(let r=0;r>>/handdelete.cur"), auto; -} - -.blocklyToolboxGrab { - cursor: url("<<>>/handclosed.cur"), auto; - cursor: grabbing; - cursor: -webkit-grabbing; -} - -/* Category tree in Toolbox. */ -.blocklyToolboxDiv { - background-color: #ddd; - overflow-x: visible; - overflow-y: auto; - padding: 4px 0 4px 0; - position: absolute; - z-index: 70; /* so blocks go under toolbox when dragging */ - -webkit-tap-highlight-color: transparent; /* issue #1345 */ -} - -.blocklyToolboxContents { - display: flex; - flex-wrap: wrap; - flex-direction: column; -} - -.blocklyToolboxContents:focus { - outline: none; -} -`),i(Be.TOOLBOX,Nr,LC);var fI="11.2.2",mI=Ze.INPUT_VALUE,bI=Ze.OUTPUT_VALUE,$I=Ze.NEXT_STATEMENT,vI=Ze.PREVIOUS_STATEMENT,yI=Rt.TOP,_I=Rt.BOTTOM,wI=Rt.LEFT,CI=Rt.RIGHT;zl.prototype.newBlock=function(e,t){return new Lo(this,e,t)},Cr.prototype.newBlock=function(e,t){return new Ur(this,e,t)},zl.prototype.newComment=function(e){return new Xc(this,e)},Cr.prototype.newComment=function(e){return new Pd(this,e)},Cr.newTrashcan=function(e){return new Yb(e)},vs.prototype.newWorkspaceSvg=function(e){return new Cr(e)},s.Names$$module$build$src$core$names.prototype.populateProcedures=function(e){e=qu(e),e=e[0].concat(e[1]);for(let t=0;t{this.setState({popper:I.I18n.t("Copied"),anchorEl:s}),setTimeout(()=>this.setState({popper:"",anchorEl:null}),1e3)},50)}render(){const n=new Blob([this.props.text],{type:"application/xml"}),s=`${this.props.scriptId.substring(10)}.xml`;return f.jsxs(D.Dialog,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":of.dialog},fullWidth:!0,open:!0,"aria-labelledby":"export-dialog-title",children:[f.jsx(D.DialogTitle,{id:"export-dialog-title",children:I.I18n.t("Export selected blocks")}),f.jsx(D.DialogContent,{style:of.overflowY,children:f.jsx("pre",{id:"export-text",style:{...of.textArea,...this.props.themeType==="dark"?void 0:of.textAreaLight},children:this.props.text})}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{variant:"contained",color:"secondary",startIcon:f.jsx(G$,{}),children:f.jsx("a",{download:s,target:"_blank",rel:"noreferrer",href:URL.createObjectURL(n),style:{textDecoration:"inherit",color:"inherit"},children:I.I18n.t("Download as file")})}),f.jsx(D.Button,{variant:"contained",onClick:i=>this.onCopy(i),color:"secondary",startIcon:f.jsx(ST,{}),children:I.I18n.t("Copy to clipboard")}),f.jsx(D.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"primary",startIcon:f.jsx(Jo,{}),children:I.I18n.t("Close")}),f.jsx(D.Popper,{id:"popper",style:{zIndex:1e4},open:!!this.state.popper,placement:"top",anchorEl:this.state.anchorEl,transition:!0,children:({TransitionProps:i})=>f.jsx(D.Fade,{...i,timeout:350,children:f.jsx(D.Paper,{children:f.jsx("p",{style:of.typography,children:this.state.popper})})})}),f.jsx("textarea",{id:"copy_input",readOnly:!0,style:{position:"absolute",left:-9999},tabIndex:-1,"aria-hidden":!0,value:this.props.text})]})]},"export-dialog")}}const Ws={textArea:{width:"calc(100% - 10px)",height:"calc(80% - 20px)",resize:"none",fontFamily:"monospace",fontSize:"1em",backgroundColor:"transparent",borderRadius:4,outline:"none"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"20%",position:"relative"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"80%",width:"80%",opacity:.3,color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"}};class Kv extends We.Component{constructor(n){super(n),this.state={text:"",imageStatus:"",error:""}}componentDidMount(){setTimeout(()=>{var n;try{(n=window.document.getElementById("import-text-area"))==null||n.focus()}catch{}},100)}static readFileDataUrl(n,s){const i=new FileReader;i.onload=()=>{s(null,{data:i.result,name:n.name})},i.onabort=()=>{console.error("file reading was aborted"),s(I.I18n.t("file reading was aborted"))},i.onerror=a=>{console.error("file reading has failed"),s(I.I18n.t("file reading has failed: %s",a))},i.readAsText(n)}handleDropFile(n){if(!(n!=null&&n.length))return;const s=n[n.length-1];s&&Kv.readFileDataUrl(s,(i,a)=>{var c;i||!a?this.setState({error:i||"No data"}):this.setState({text:((c=a.data)==null?void 0:c.toString())||""})})}handleCancel(){this.props.onClose()}handleOk(){this.props.onClose(this.state.text)}onChange(n){this.setState({text:n.target.value})}render(){const n={...Ws.dropzone,...this.state.imageStatus==="accepted"?Ws.dropzoneAccepted:this.state.imageStatus==="rejected"?Ws.dropzoneRejected:void 0};return f.jsxs(D.Dialog,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Ws.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",children:[f.jsx(D.DialogTitle,{id:"import-dialog-title",children:I.I18n.t("Import blocks")}),f.jsxs(D.DialogContent,{style:Ws.fullHeight,children:[f.jsx("textarea",{autoFocus:!0,id:"import-text-area",placeholder:I.I18n.t("Paste your blocks here"),style:{...Ws.textArea,color:this.props.themeType==="dark"?"#ffffff":"#000000"},onChange:s=>this.onChange(s),value:this.state.text}),f.jsx(U0,{maxSize:5e7,onDrop:(s,i)=>{var a,c,h;s.length?this.handleDropFile(s):window.alert(((h=(c=(a=i==null?void 0:i[0])==null?void 0:a.errors)==null?void 0:c[0])==null?void 0:h.message)||I.I18n.t("ra_Cannot upload"))},multiple:!1,accept:{"text/plain":[],"text/xml":[],"application/xml":[]},children:({getRootProps:s,getInputProps:i,isDragActive:a,isDragReject:c})=>c?(this.state.imageStatus!=="rejected"&&this.setState({imageStatus:"rejected"}),f.jsxs("div",{style:{...n,...Ws.dropzoneDiv},...s(),children:[f.jsx("input",{...i()}),f.jsx("span",{style:Ws.text,children:I.I18n.t("Some files will be rejected")},"text"),f.jsx(Iv,{style:{...Ws.icon,...Ws.iconError}},"icon")]})):a?(this.state.imageStatus!=="accepted"&&this.setState({imageStatus:"accepted"}),f.jsxs("div",{style:{...n,...Ws.dropzoneDiv},...s(),children:[f.jsx("input",{...i()}),f.jsx("span",{style:Ws.text,children:I.I18n.t("All files will be accepted")},"text"),f.jsx(Ev,{style:{...Ws.icon,...Ws.iconOk}},"icon")]})):(this.state.imageStatus!=="wait"&&this.setState({imageStatus:"wait"}),f.jsxs("div",{style:{...n,...Ws.dropzoneDiv},...s(),children:[f.jsx("input",{...i()}),f.jsx("span",{style:Ws.text,children:I.I18n.t("Drop some files here or click...")},"text"),f.jsx(W0,{style:Ws.icon},"icon")]}))})]}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{variant:"contained",disabled:!this.state.text,onClick:()=>this.handleOk(),color:"primary",startIcon:f.jsx(Va,{}),children:I.I18n.t("Import")}),f.jsx(D.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.jsx(Jo,{}),children:I.I18n.t("Close")})]})]})}}/** - * @license - * Copyright 2023 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const yt=window.Blockly;class Uy extends Error{constructor(){super("The field has not yet been attached to its input. Call appendField to attach it.")}}class nv extends yt.Field{textGroup=null;borderRect_=null;maxLines_=1/0;isOverflowedY_=!1;constructor(n,s,i){super(n),n!==Symbol("SKIP_SETUP")&&(i&&this.configure_(i),this.SERIALIZABLE=!0,this.setValue((n==null?void 0:n.toString())||""),s&&this.setValidator(s))}configure_(n){super.configure_(n),n.maxLines&&this.setMaxLines(n.maxLines)}toXml(n){return n.textContent=this.getValue().replace(/\n/g," "),n}fromXml(n){this.setValue(n.textContent.replace(/ /g,` -`))}saveState(){const n=this.saveLegacyState(nv);return n!==null?n:this.getValue()}loadState(n){this.loadLegacyState(yt.Field,n)||this.setValue(n)}initView(){this.createBorderRect_(),this.textGroup=yt.utils.dom.createSvgElement(yt.utils.Svg.G,{class:"blocklyEditableText"},this.fieldGroup_)}onHtmlInputKeyDownSuper_(n){n.key==="Enter"?(yt.WidgetDiv.hideIfOwner(this),yt.dropDownDiv.hideWithoutAnimation()):n.key==="Escape"?(this.setValue(this.htmlInput_.getAttribute("data-untyped-default-value"),!1),yt.WidgetDiv.hideIfOwner(this),yt.dropDownDiv.hideWithoutAnimation()):n.key==="Tab"&&(yt.WidgetDiv.hideIfOwner(this),yt.dropDownDiv.hideWithoutAnimation(),this.sourceBlock_.tab(this,!n.shiftKey),n.preventDefault())}onHtmlInputChange_(n){const s=this.value_;this.setValue(this.getValueFromEditorText_(this.htmlInput_.value),!1),this.sourceBlock_&&yt.Events.isEnabled()&&this.value_!==s&&yt.Events.fire(new(yt.Events.get("block_field_intermediate_change"))(this.sourceBlock_,this.name||null,s,this.value_))}onFinishEditing_(n){}getValueFromEditorText_(n){return n}bindInputEvents_(n){this.onKeyDownWrapper_=yt.browserEvents.conditionalBind(n,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper_=yt.browserEvents.conditionalBind(n,"input",this,this.onHtmlInputChange_)}getDisplayText_(){const n=this.getSourceBlock();if(!n)throw new Error("The field has not yet been attached to its input. Call appendField to attach it.");let s=this.getText();if(!s)return yt.Field.NBSP;const i=s.split(` -`);s="";const a=this.isOverflowedY_?this.maxLines_:i.length;for(let c=0;cthis.maxDisplayLength?h=`${h.substring(0,this.maxDisplayLength-4)}...`:this.isOverflowedY_&&c===a-1&&(h=`${h.substring(0,h.length-3)}...`),h=h.replace(/\s/g,yt.Field.NBSP),s+=h,c!==a-1&&(s+=` -`)}return n.RTL&&(s+="‏"),s}doValueUpdate_(n){super.doValueUpdate_(n),this.value_!==null&&(this.isOverflowedY_=this.value_.split(` -`).length>this.maxLines_)}render_(){const n=this.getSourceBlock();if(!n)throw new Error("The field has not yet been attached to its input. Call appendField to attach it.");let s;const i=this.textGroup;for(;s=i.firstChild;)i.removeChild(s);const a=this.getConstants();if(!a)throw Error("Constants not found");const c=this.getDisplayText_().split(` -`);let h=0;for(let g=0;gh&&(h=y),g+=n.FIELD_TEXT_HEIGHT+(b>0?n.FIELD_BORDER_RECT_Y_PADDING:0)}if(this.isBeingEdited_){const b=String(this.value_).split(` -`),$=yt.utils.dom.createSvgElement(yt.utils.Svg.TEXT,{class:"blocklyText blocklyMultilineText"});for(let T=0;Tthis.maxDisplayLength&&(b[T]=b[T].substring(0,this.maxDisplayLength)),$.textContent=b[T];const C=yt.utils.dom.getFastTextWidth($,i,a,c);C>h&&(h=C)}const y=this.htmlInput_,w=y.offsetWidth-y.clientWidth;h+=w}this.borderRect_&&(g+=n.FIELD_BORDER_RECT_Y_PADDING*2,h+=n.FIELD_BORDER_RECT_X_PADDING*2+1,this.borderRect_.setAttribute("width",`${h}`),this.borderRect_.setAttribute("height",`${g}`)),this.size_.width=h,this.size_.height=g,this.positionBorderRect_()}showInlineEditor_(n){const s=this.getSourceBlock();if(!s)throw new Uy;yt.WidgetDiv.show(this,s.RTL,this.widgetDispose_.bind(this),this.workspace_),this.htmlInput_=this.widgetCreate_(),this.isBeingEdited_=!0,this.valueWhenEditorWasOpened_=this.value_,n||(this.htmlInput_.focus({preventScroll:!0}),this.htmlInput_.select())}getEditorText_(n){return`${n}`}getScaledBBox(){let n,s,i;const a=this.getSourceBlock();if(!a)throw new Uy;if(this.isFullBlockField()){const c=this.sourceBlock_.getHeightWidth(),h=a.workspace.scale;i=this.getAbsoluteXY_(),n=(c.width+1)*h,s=(c.height+1)*h,yt.utils.userAgent.GECKO?(i.x+=1.5*h,i.y+=1.5*h):(i.x-=.5*h,i.y-=.5*h)}else{const c=this.borderRect_.getBoundingClientRect();i=yt.utils.style.getPageOffset(this.borderRect_),n=c.width,s=c.height}return new yt.utils.Rect(i.y,i.y+s,i.x,i.x+n)}resizeEditor_(){yt.renderManagement.finishQueuedRenders().then(()=>{const n=this.getSourceBlock();if(!n)throw new Uy;const s=yt.WidgetDiv.getDiv(),i=this.getScaledBBox();s.style.width=`${i.right-i.left}px`,s.style.height=`${i.bottom-i.top}px`;const a=n.RTL?i.right-s.offsetWidth:i.left,c=i.top;s.style.left=`${a}px`,s.style.top=`${c}px`})}unbindInputEvents_(){this.onKeyDownWrapper_&&(yt.browserEvents.unbind(this.onKeyDownWrapper_),this.onKeyDownWrapper_=null),this.onKeyInputWrapper_&&(yt.browserEvents.unbind(this.onKeyInputWrapper_),this.onKeyInputWrapper_=null)}getClickTarget_(){return this.clickTarget_||this.getSvgRoot()}widgetDispose_(){this.isBeingEdited_=!1,this.isTextValid_=!0,this.forceRerender(),this.onFinishEditing_(this.value_),this.sourceBlock_&&yt.Events.isEnabled()&&this.valueWhenEditorWasOpened_!==null&&this.valueWhenEditorWasOpened_!==this.value_&&(yt.Events.fire(new(yt.Events.get("change"))(this.sourceBlock_,"field",this.name||null,this.valueWhenEditorWasOpened_,this.value_)),this.valueWhenEditorWasOpened_=null),yt.Events.setGroup(!1),this.unbindInputEvents_();const n=yt.WidgetDiv.getDiv().style;n.width="auto",n.height="auto",n.fontSize="",n.transition="",n.boxShadow="",this.htmlInput_=null;const s=this.getClickTarget_();if(!s)throw new Error("A click target has not been set.");yt.utils.dom.removeClass(s,"editing")}showEditor_(n,s){this.workspace_=this.sourceBlock_.workspace,!s&&this.workspace_.options.modalInputs&&(yt.utils.userAgent.MOBILE||yt.utils.userAgent.ANDROID||yt.utils.userAgent.IPAD)?this.showPromptEditor_():this.showInlineEditor_(!!s),this.forceRerender()}widgetCreate_(){const n=yt.WidgetDiv.getDiv(),s=this.workspace_.getScale(),i=this.getConstants();if(!i)throw Error("Constants not found");const a=document.createElement("textarea");a.className="blocklyHtmlInput blocklyHtmlTextAreaInput",a.setAttribute("spellcheck",String(this.spellcheck_));const c=`${i.FIELD_TEXT_FONTSIZE*s}pt`;n.style.fontSize=c,a.style.fontSize=c;const h=`${yt.FieldTextInput.BORDERRADIUS*s}px`;a.style.borderRadius=h;const g=i.FIELD_BORDER_RECT_X_PADDING*s,b=i.FIELD_BORDER_RECT_Y_PADDING*s/2;a.style.padding=`${b}px ${g}px ${b}px ${g}px`;const $=i.FIELD_TEXT_HEIGHT+i.FIELD_BORDER_RECT_Y_PADDING;return a.style.lineHeight=`${$*s}px`,n.appendChild(a),a.value=a.defaultValue=this.getEditorText_(this.value_),a.setAttribute("data-untyped-default-value",String(this.value_)),a.setAttribute("data-old-value",""),yt.utils.userAgent.GECKO?setTimeout(this.resizeEditor_.bind(this),0):this.resizeEditor_(),this.bindInputEvents_(a),a}setMaxLines(n){typeof n=="number"&&n>0&&n!==this.maxLines_&&(this.maxLines_=n,this.forceRerender())}getMaxLines(){return this.maxLines_}onHtmlInputKeyDown_(n){n.key!=="Enter"&&this.onHtmlInputKeyDownSuper_(n)}static fromJson(n){const s=yt.utils.parsing.replaceMessageReferences(n.text);return new this(s,void 0,n)}}yt.Css.register(` -.blocklyHtmlTextAreaInput { - font-family: monospace; - resize: none; - overflow: hidden; - height: 100%; - text-align: left; -} - -.blocklyHtmlTextAreaInputOverflowedY { - overflow-y: scroll; -} -`);/** - * @license - * Copyright 2024 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const Ik="text_multiline",wM={type:Ik,message0:"%1 %2",args0:[{type:"field_image",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=",width:12,height:17,alt:"¶"},{type:"field_multilinetext",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["parent_tooltip_when_inline"]};function CM(o,n){const s=n.multiline_quote_(o.getFieldValue("TEXT")),i=s.indexOf("+")!==-1?6.2:0;return[s,i]}const SM=window.Blockly.common.createBlockDefinitionsFromJsonArray([wM]);SM[Ik];/** - * @license - * Copyright 2023 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const Zt=window.Blockly;class F_ extends Zt.Field{picker=null;highlightedIndex=null;boundEvents=[];SERIALIZABLE=!0;CURSOR="default";isDirty_=!1;colours=["#ffffff","#cccccc","#c0c0c0","#999999","#666666","#333333","#000000","#ffcccc","#ff6666","#ff0000","#cc0000","#990000","#660000","#330000","#ffcc99","#ff9966","#ff9900","#ff6600","#cc6600","#993300","#663300","#ffff99","#ffff66","#ffcc66","#ffcc33","#cc9933","#996633","#663333","#ffffcc","#ffff33","#ffff00","#ffcc00","#999900","#666600","#333300","#99ff99","#66ff99","#33ff33","#33cc00","#009900","#006600","#003300","#99ffff","#33ffff","#66cccc","#00cccc","#339999","#336666","#003333","#ccffff","#66ffff","#33ccff","#3366ff","#3333ff","#000099","#000066","#ccccff","#9999ff","#6666cc","#6633ff","#6600cc","#333399","#330099","#ffccff","#ff99ff","#cc66cc","#cc33cc","#993399","#663366","#330033"];titles=[];columns=7;constructor(n,s,i){super(n),n!==Symbol("SKIP_SETUP")&&(i&&this.configure_(i),this.setValue(n),s&&this.setValidator(s))}configure_(n){super.configure_(n),n.colourOptions&&(this.colours=n.colourOptions),n.colourTitles&&(this.titles=n.colourTitles),n.columns&&(this.columns=n.columns)}initView(){const n=this.getConstants();if(!n)throw Error("Constants not found");this.size_=new Zt.utils.Size(n.FIELD_COLOUR_DEFAULT_WIDTH,n.FIELD_COLOUR_DEFAULT_HEIGHT),this.createBorderRect_(),this.getBorderRect().style.fillOpacity="1",this.getBorderRect().setAttribute("stroke","#fff"),this.isFullBlockField()&&(this.clickTarget_=this.sourceBlock_.getSvgRoot())}isFullBlockField(){if(!this.getSourceBlock())throw new Zt.UnattachedFieldError;const s=this.getConstants();return this.blockIsSimpleReporter()&&!!(s!=null&&s.FIELD_COLOUR_FULL_BLOCK)}blockIsSimpleReporter(){const n=this.getSourceBlock();if(!n)throw new Zt.UnattachedFieldError;if(!n.outputConnection)return!1;for(const s of n.inputList)if(s.connection||s.fieldRow.length>1)return!1;return!0}applyColour(){const n=this.getSourceBlock();if(!n)throw new Zt.UnattachedFieldError;if(!this.fieldGroup_)return;const s=this.borderRect_;if(!s)throw new Error("The border rect has not been initialized");this.isFullBlockField()?(s.style.display="none",n.pathObject.svgPath.setAttribute("fill",this.getValue()),n.pathObject.svgPath.setAttribute("stroke","#fff")):(s.style.display="block",s.style.fill=this.getValue())}getSize(){var n;return(n=this.getConstants())!=null&&n.FIELD_COLOUR_FULL_BLOCK&&(this.render_(),this.isDirty_=!1),super.getSize()}render_(){super.render_();const n=this.getSourceBlock();if(!n)throw new Zt.UnattachedFieldError;n.applyColour()}updateSize_(n){const s=this.getConstants();if(!s)return;let i,a;this.isFullBlockField()?(i=(n??0)*2,a=s.FIELD_TEXT_HEIGHT):(i=s.FIELD_COLOUR_DEFAULT_WIDTH,a=s.FIELD_COLOUR_DEFAULT_HEIGHT),this.size_.height=a,this.size_.width=i,this.positionBorderRect_()}doClassValidation_(n){return typeof n!="string"?null:Zt.utils.colour.parse(n)}getText(){let n=this.value_;return/^#(.)\1(.)\2(.)\3$/.test(n)&&(n=`#${n[1]}${n[3]}${n[5]}`),n}setColours(n,s){return this.colours=n,s&&(this.titles=s),this}setColumns(n){return this.columns=n,this}showEditor_(){if(this.dropdownCreate(),!this.picker)throw Error("Picker not found");Zt.DropDownDiv.getContentDiv().appendChild(this.picker),Zt.DropDownDiv.showPositionedByField(this,this.dropdownDispose.bind(this)),this.picker.focus({preventScroll:!0})}onClick(n){const s=n.target,i=s==null?void 0:s.getAttribute("data-colour");i!==null&&(this.setValue(i),Zt.DropDownDiv.hideIfOwner(this))}onKeyDown(n){let s=!0,i;switch(n.key){case"ArrowUp":this.moveHighlightBy(0,-1);break;case"ArrowDown":this.moveHighlightBy(0,1);break;case"ArrowLeft":this.moveHighlightBy(-1,0);break;case"ArrowRight":this.moveHighlightBy(1,0);break;case"Enter":if(i=this.getHighlighted(),i){const a=i.getAttribute("data-colour");a!==null&&this.setValue(a)}Zt.DropDownDiv.hideWithoutAnimation();break;default:s=!1}s&&n.stopPropagation()}moveHighlightBy(n,s){if(!this.highlightedIndex)return;const i=this.colours,a=this.columns;let c=this.highlightedIndex%a,h=Math.floor(this.highlightedIndex/a);c+=n,h+=s,n<0?c<0&&h>0?(c=a-1,h--):c<0&&(c=0):n>0?c>a-1&&ha-1&&c--:s<0?h<0&&(h=0):s>0&&h>Math.floor(i.length/a)-1&&(h=Math.floor(i.length/a)-1);const g=this.picker.childNodes[h].childNodes[c],b=h*a+c;this.setHighlightedCell(g,b)}onMouseMove(n){const s=n.target,i=s&&Number(s.getAttribute("data-index"));i!==null&&i!==this.highlightedIndex&&this.setHighlightedCell(s,i)}onMouseEnter(){var n;(n=this.picker)==null||n.focus({preventScroll:!0})}onMouseLeave(){var s;(s=this.picker)==null||s.blur();const n=this.getHighlighted();n&&Zt.utils.dom.removeClass(n,"blocklyColourHighlighted")}getHighlighted(){var a;if(!this.highlightedIndex)return null;const n=this.highlightedIndex%this.columns,s=Math.floor(this.highlightedIndex/this.columns),i=(a=this.picker)==null?void 0:a.childNodes[s];return i?i.childNodes[n]:null}setHighlightedCell(n,s){const i=this.getHighlighted();i&&Zt.utils.dom.removeClass(i,"blocklyColourHighlighted"),Zt.utils.dom.addClass(n,"blocklyColourHighlighted"),this.highlightedIndex=s;const a=n.getAttribute("id");a&&this.picker&&Zt.utils.aria.setState(this.picker,Zt.utils.aria.State.ACTIVEDESCENDANT,a)}dropdownCreate(){const n=this.columns,s=this.colours,i=this.getValue(),a=document.createElement("table");a.className="blocklyColourTable",a.tabIndex=0,a.dir="ltr",Zt.utils.aria.setRole(a,Zt.utils.aria.Role.GRID),Zt.utils.aria.setState(a,Zt.utils.aria.State.EXPANDED,!0),Zt.utils.aria.setState(a,Zt.utils.aria.State.ROWCOUNT,Math.floor(s.length/n)),Zt.utils.aria.setState(a,Zt.utils.aria.State.COLCOUNT,n);let c=null;for(let h=0;htr>td { - border: 0.5px solid #888; - box-sizing: border-box; - cursor: pointer; - display: inline-block; - height: 20px; - padding: 0; - width: 20px; -} - -.blocklyColourTable>tr>td.blocklyColourHighlighted { - border-color: #eee; - box-shadow: 2px 2px 7px 2px rgba(0, 0, 0, 0.3); - position: relative; -} - -.blocklyColourSelected, .blocklyColourSelected:hover { - border-color: #eee !important; - outline: 1px solid #333; - position: relative; -} -`);/** - * @license - * Copyright 2024 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const xk="colour_picker",TM={type:xk,message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]};function kM(o,n){return[n.quote_(o.getFieldValue("COLOUR")),0]}const EM=window.Blockly.common.createBlockDefinitionsFromJsonArray([TM]);EM[xk];/** - * @license - * Copyright 2024 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const Dk="colour_random",IM={type:Dk,message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"};function xM(o,n){return[`${n.provideFunction_("colourRandom",` -function ${n.FUNCTION_NAME_PLACEHOLDER_}() { - var num = Math.floor(Math.random() * 0x1000000); - return '#' + ('00000' + num.toString(16)).substr(-6); -} -`)}()`,2]}const DM=window.Blockly.common.createBlockDefinitionsFromJsonArray([IM]);DM[Dk];/** - * @license - * Copyright 2024 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const Ak="colour_rgb",AM={type:Ak,message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"};function OM(o,n){const s=n.valueToCode(o,"RED",99)||0,i=n.valueToCode(o,"GREEN",99)||0,a=n.valueToCode(o,"BLUE",99)||0;return[`${n.provideFunction_("colourRgb",` -function ${n.FUNCTION_NAME_PLACEHOLDER_}(r, g, b) { - r = Math.max(Math.min(Number(r), 100), 0) * 2.55; - g = Math.max(Math.min(Number(g), 100), 0) * 2.55; - b = Math.max(Math.min(Number(b), 100), 0) * 2.55; - r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2); - g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2); - b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2); - return '#' + r + g + b; -} -`)}(${s}, ${i}, ${a})`,2]}const RM=window.Blockly.common.createBlockDefinitionsFromJsonArray([AM]);RM[Ak];/** - * @license - * Copyright 2024 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */const Ok="colour_blend",MM={type:Ok,message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",check:"Colour",align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"};function NM(o,n){const s=n.valueToCode(o,"COLOUR1",99)||"'#000000'",i=n.valueToCode(o,"COLOUR2",99)||"'#000000'",a=n.valueToCode(o,"RATIO",99)||.5;return[`${n.provideFunction_("colourBlend",` -function ${n.FUNCTION_NAME_PLACEHOLDER_}(c1, c2, ratio) { - ratio = Math.max(Math.min(Number(ratio), 1), 0); - var r1 = parseInt(c1.substring(1, 3), 16); - var g1 = parseInt(c1.substring(3, 5), 16); - var b1 = parseInt(c1.substring(5, 7), 16); - var r2 = parseInt(c2.substring(1, 3), 16); - var g2 = parseInt(c2.substring(3, 5), 16); - var b2 = parseInt(c2.substring(5, 7), 16); - var r = Math.round(r1 * (1 - ratio) + r2 * ratio); - var g = Math.round(g1 * (1 - ratio) + g2 * ratio); - var b = Math.round(b1 * (1 - ratio) + b2 * ratio); - r = ('0' + (r || 0).toString(16)).slice(-2); - g = ('0' + (g || 0).toString(16)).slice(-2); - b = ('0' + (b || 0).toString(16)).slice(-2); - return '#' + r + g + b; -} -`)}(${s}, ${i}, ${a})`,2]}const LM=window.Blockly.common.createBlockDefinitionsFromJsonArray([MM]);LM[Ok];function BM(){window.Blockly.FieldMultilineInput||(window.Blockly.fieldRegistry.register("field_multilinetext",nv),window.Blockly.JavaScript.forBlock.text_multiline=CM,window.Blockly.FieldMultilineInput=nv,Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"text_multiline",message0:"%1 %2",args0:[{type:"field_image",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=",width:12,height:17,alt:"¶"},{type:"field_multilinetext",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["parent_tooltip_when_inline"]}]))),window.Blockly.FieldColour||(window.Blockly.fieldRegistry.register("field_colour",F_),window.Blockly.JavaScript.forBlock.colour_picker=kM,window.Blockly.JavaScript.forBlock.colour_blend=NM,window.Blockly.JavaScript.forBlock.colour_random=xM,window.Blockly.JavaScript.forBlock.colour_rgb=OM,window.Blockly.FieldColour=F_,Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_picker",message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_random",message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_rgb",message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_blend",message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",check:"Colour",align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"}])))}let $$=!1,v$=!1,Wy=null,Hy=null;const KS=[];function Rk(o,n,s,i){var a;if(i=i||[],(o.tagName==="BLOCK"||o.tagName==="block")&&(s=o.id),o.tagName==="FIELD"||o.tagName==="field")for(let c=0;cRk(c,n,s,i)),i}class dn extends We.Component{blockly=null;blocklyWorkspace=null;originalCode;someSelected=null;changeTimer=null;someSelectedTime=0;ignoreChanges=!1;blinkBlock;onResizeBind;didUpdate=null;lastCommand="";lastSearch;static Blockly=window.Blockly;constructor(n){super(n),this.state={languageOwnLoaded:v$,languageBlocklyLoaded:$$,changed:!1,message:"",error:"",themeType:this.props.themeType,exportText:"",importText:!1,searchText:this.props.searchText||"",showInputPrompt:null},this.originalCode=n.code||"",this.someSelected=null,this.onResizeBind=this.onResize.bind(this),this.lastSearch=this.props.searchText||"",this.blinkBlock=null,BM(),dn.Blockly.dialog.setPrompt(this.onShowNameDialog),this.loadLanguages()}onShowNameDialog=(n,s,i)=>{this.setState({showInputPrompt:{promptText:n,defaultText:s,callback:i,value:s}})};static loadJS(n,s,i){const a=document.createElement("script");try{a.src=n,a.onload=s,a.onerror=s,(i||window.document.body).appendChild(a)}catch(c){console.error(`Cannot load ${n}: ${c}`),s&&s()}}static loadScripts(n,s){if(!(n!=null&&n.length)){s&&s();return}const i=n.pop();i&&!KS.includes(i)?(KS.push(i),dn.loadJS(`../../adapter/${i}/blockly.js`,()=>setTimeout(()=>dn.loadScripts(n,s),0))):setTimeout(()=>dn.loadScripts(n,s),0)}static loadCustomBlockly(n,s){var a;const i=[];for(const c in n)!Object.prototype.hasOwnProperty.call(n,c)||!n[c]||!c.match(/^system\.adapter\./)||n[c].type!=="adapter"||(a=n[c].common)!=null&&a.blockly&&(console.log(`Detected custom blockly: ${n[c].common.name}`),i.push(n[c].common.name));dn.loadScripts(i,s)}static loadXMLDoc(n){let s;return window.DOMParser?s=i=>new window.DOMParser().parseFromString(i,"text/xml"):typeof window.ActiveXObject<"u"&&new window.ActiveXObject("Microsoft.XMLDOM")?s=i=>{const a=new window.ActiveXObject("Microsoft.XMLDOM");return a.async="false",a.loadXML(i),a}:s=()=>null,s(n)}searchBlocks(n){if(this.blocklyWorkspace){const s=dn.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),i=Rk(s,n.toLowerCase());return console.log(`Search "${n}" found blocks: ${i.length?JSON.stringify(i):"none"}`),i}return[]}searchId(){const n=this.lastSearch?this.searchBlocks(this.lastSearch):null;n!=null&&n.length?(this.someSelected=n,this.someSelected.forEach(s=>{var i;return(i=this.blocklyWorkspace)==null?void 0:i.highlightBlock(s,!0)}),this.someSelectedTime=Date.now()):this.someSelected&&(this.someSelected.forEach(s=>{var i;return(i=this.blocklyWorkspace)==null?void 0:i.highlightBlock(s,!1)}),this.someSelected=null)}UNSAFE_componentWillReceiveProps(n){n.command&&this.lastCommand!==n.command&&(this.lastCommand=n.command,setTimeout(()=>this.lastCommand="",300),this.lastCommand==="check"?this.blocklyCheckBlocks((s,i)=>{s?(i&&dn.blocklyBlinkBlock(i),this.setState({error:{text:I.I18n.t(s),title:I.I18n.t("Error was found")}}),this.blinkBlock=i):this.setState({message:I.I18n.t("Ok")})}):this.lastCommand==="export"?this.exportBlocks():this.lastCommand==="import"&&this.importBlocks()),n.searchText!==this.lastSearch&&(this.lastSearch=n.searchText,this.searchId()),this.state.themeType!==n.themeType&&this.setState({themeType:n.themeType},()=>this.updateBackground()),this.originalCode!==n.code&&(this.originalCode=n.code||"",this.loadCode(),this.searchId())}loadLanguages(){if(!$$){const n=window.document.createElement("script");n.setAttribute("type","text/javascript"),n.setAttribute("src",`google-blockly/msg/js/${I.I18n.getLanguage()}.js`),n.onload=()=>{$$=!0,this.setState({languageBlocklyLoaded:$$})},window.document.getElementsByTagName("head")[0].appendChild(n)}if(!v$){const n=window.document.createElement("script");n.setAttribute("type","text/javascript"),n.setAttribute("src",`google-blockly/own/msg/${I.I18n.getLanguage()}.js`),n.onload=()=>{v$=!0,this.setState({languageOwnLoaded:v$})},window.document.getElementsByTagName("head")[0].appendChild(n)}}onResize(){this.blocklyWorkspace&&dn.Blockly.svgResize(this.blocklyWorkspace)}static jsCode2Blockly(n){n=n||"";const s=n.split(/[\r\n]+|\r|\n/g);let i="";for(let c=s.length-1;c>=0;c--)if(s[c].substring(0,2)==="//"){i=s[c].substring(2);break}if(i.substring(0,4)==="n.select(),s),setTimeout(()=>n.unselect(),s+150)}blocklyRemoveOrphanedShadows(){if(this.blocklyWorkspace){const n=this.blocklyWorkspace.getAllBlocks();let s;for(let i=0;s=n[i];i++)if(s.isShadow()){const a=s.getConnections_(!0);let c;for(let h=0;c=a[h];h++)if(!c.targetConnection){s.dispose();break}}}}blocklyCheckBlocks(n){let s;if(!this.blocklyWorkspace||this.blocklyWorkspace.getAllBlocks().length===0)return n&&n("no blocks found"),!1;let i=this.blocklyGetUnconnectedBlock();return i?s="not properly connected":(i=this.blocklyGetBlockWithWarning(),i&&(s="warning on this block")),i?(n?n(s,i):dn.blocklyBlinkBlock(i),!1):(n(),!0)}blocklyGetUnconnectedBlock(){var i;const n=(i=this.blocklyWorkspace)==null?void 0:i.getAllBlocks();let s;if(n)for(let a=0;s=n[a];a++){const c=s.getConnections_(!0);let h;for(let g=0;h=c[g];g++)if(!h.sourceBlock_||(h.type===dn.Blockly.INPUT_VALUE||h.type===dn.Blockly.OUTPUT_VALUE)&&!h.targetConnection&&!h._optional)return s}return null}blocklyGetBlockWithWarning(){var i;const n=(i=this.blocklyWorkspace)==null?void 0:i.getAllBlocks();let s;if(n){for(let a=0;s=n[a];a++)if(s.warning)return s}return null}blocklyCode2JSCode(n){if(!this.blocklyWorkspace)return"";let s=dn.Blockly.JavaScript.workspaceToCode(this.blocklyWorkspace);if(!n){s+=` -`;const i=dn.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),a=dn.Blockly.Xml.domToText(i);s+=`//${btoa(encodeURIComponent(a))}`}return s}exportBlocks(){if(!this.blocklyWorkspace)return;let n;const s=dn.Blockly.getSelected();if(s){const i=dn.Blockly.Xml.blockToDom(s),a=s.getRelativeToSurfaceXY();i.setAttribute("x",(s.RTL?-a.x:a.x).toString()),i.setAttribute("y",a.y.toString()),n=dn.Blockly.Xml.domToPrettyText(i)}else{const i=dn.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);n=dn.Blockly.Xml.domToPrettyText(i)}this.setState({exportText:n})}importBlocks(){this.setState({importText:!0})}onImportBlocks(n){if(this.blocklyWorkspace&&(n=(n||"").trim(),n))try{n.startsWith("${n}`),n=n.replace(/[\n\r]/g,"").replace(/.*<\/variables>/g,""),window.scripts.loading=!0;const s=dn.Blockly.utils.xml.textToDom(n);if(s.nodeName==="xml")for(let i=0;i';window.scripts.loading=!0;const s=dn.Blockly.utils.xml.textToDom(n);dn.Blockly.Xml.domToWorkspace(s,this.blocklyWorkspace),window.scripts.loading=!1}catch(n){console.error(n),setTimeout(()=>this.setState({error:I.I18n.t("Cannot extract Blockly code!")}))}setTimeout(()=>this.ignoreChanges=!1,100)}}onBlocklyChanged(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}async componentDidUpdate(){if(!this.blockly||(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),this.blocklyWorkspace))return;window.addEventListener("resize",this.onResizeBind,!1),Wy=Wy||await this.getToolbox(),Hy=Hy||dn.Blockly.utils.xml.textToDom(Wy),this.blocklyWorkspace=dn.Blockly.inject(this.blockly,{renderer:"thrasos",theme:this.state.themeType==="dark"?GS:"classic",media:"google-blockly/media/",toolbox:Hy,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2,pinch:!0},move:{scrollbars:{horizontal:!0,vertical:!0},drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:1,snap:!0},sounds:!1}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.registerToolboxCategoryCallback("PROCEDURE",window.Blockly.Procedures.flyoutCategoryNew),this.blocklyWorkspace.addChangeListener(s=>{var i;if(this.someSelected&&Date.now()-this.someSelectedTime>500){const a=(i=this.blocklyWorkspace)==null?void 0:i.getAllBlocks();this.someSelected=null,a==null||a.forEach(c=>c.removeSelect())}[dn.Blockly.Events.UI,dn.Blockly.Events.CREATE,dn.Blockly.Events.VIEWPORT_CHANGE].includes(s.type)||this.ignoreChanges||(this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=setTimeout(()=>{this.changeTimer=null,this.onBlocklyChanged()},200))}),this.loadCode(),this.onResize();const n=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(n),this.updateBackground(),setTimeout(()=>this.searchId(),200)}updateBackground(){var n;this.state.themeType==="dark"?(n=this.blocklyWorkspace)==null||n.setTheme(GS):this.blocklyWorkspace&&(this.blocklyWorkspace.getThemeManager(),this.blocklyWorkspace.setTheme(dn.Blockly.Themes.Classic))}componentWillUnmount(){this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener("resize",this.onResizeBind))}onChange(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}async getToolbox(n){const s=window.document.getElementById("toolbox");let i=s==null?void 0:s.outerHTML;if(!i)return n?(console.error("Cannot load blocks!"),""):new Promise(a=>{setTimeout(()=>a(this.getToolbox(!0)),500)});if(i=i.replace(/{(\w+)}/g,(a,c)=>window.MSG[c]),window.Blockly.CustomBlocks){let a="";const c=I.I18n.getLanguage();for(let h=0;h`;for(const $ in b.blocks)Object.prototype.hasOwnProperty.call(b.blocks,$)&&(a+=b.blocks[$]);a+=""}i=i.replace("%%CUSTOM_BLOCKS%%",a)}return i}renderMessageDialog(){return this.state.message?f.jsx(I.Message,{text:typeof this.state.message=="object"?this.state.message.text:this.state.message,title:typeof this.state.message=="object"?this.state.message.title:"",onClose:()=>this.setState({message:""})},"dialogMessage"):null}renderErrorDialog(){return this.state.error?f.jsx(Hf,{text:typeof this.state.error=="object"?this.state.error.text.toString():this.state.error,title:typeof this.state.error=="object"?this.state.error.title:"",onClose:()=>{this.blinkBlock&&(dn.blocklyBlinkBlock(this.blinkBlock),this.blinkBlock=null),this.setState({error:""})}},"dialogError"):null}renderExportDialog(){return this.state.exportText?f.jsx(Ek,{themeType:this.state.themeType,onClose:()=>this.setState({exportText:""}),text:this.state.exportText,scriptId:this.props.scriptId},"dialogExport"):null}renderImportDialog(){return this.state.importText?f.jsx(Kv,{themeType:this.props.themeType,onClose:n=>{this.setState({importText:!1}),this.onImportBlocks(n)}},"dialogImport"):null}renderDialogPrompt(){return this.state.showInputPrompt?f.jsxs(D.Dialog,{onClose:()=>{var s;const n=(s=this.state.showInputPrompt)==null?void 0:s.callback;n&&n(null),this.setState({showInputPrompt:null})},maxWidth:"sm",fullWidth:!0,open:!0,children:[f.jsx(D.DialogTitle,{children:this.state.showInputPrompt.promptText}),f.jsx(D.DialogContent,{children:f.jsx(D.TextField,{variant:"standard",fullWidth:!0,value:this.state.showInputPrompt.value,onKeyUp:n=>{var s,i;if(n.key==="Enter"){const a=(s=this.state.showInputPrompt)==null?void 0:s.callback,c=(i=this.state.showInputPrompt)==null?void 0:i.value;a&&a(c===void 0?null:c),this.setState({showInputPrompt:null})}},onChange:n=>{var i,a;const s={...this.state.showInputPrompt};(i=this.state.showInputPrompt)!=null&&i.callback&&(s.callback=(a=this.state.showInputPrompt)==null?void 0:a.callback),s.value=n.target.value,this.setState({showInputPrompt:s})}})}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{variant:"contained",disabled:!this.state.showInputPrompt.value,onClick:()=>{var i,a;const n=(i=this.state.showInputPrompt)==null?void 0:i.callback,s=(a=this.state.showInputPrompt)==null?void 0:a.value;n&&n(s===void 0?null:s),this.setState({showInputPrompt:null})},color:"primary",startIcon:f.jsx(Va,{}),children:I.I18n.t("Apply")}),f.jsx(D.Button,{color:"grey",variant:"contained",onClick:()=>{var s;const n=(s=this.state.showInputPrompt)==null?void 0:s.callback;n&&n(null),this.setState({showInputPrompt:null})},startIcon:f.jsx(Jo,{}),children:I.I18n.t("Close")})]})]},"inputDialog"):null}render(){return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout(()=>{this.didUpdate=null,this.componentDidUpdate()},100),[f.jsx("div",{ref:n=>this.blockly=n,style:{width:"100%",height:"100%",position:"relative"}},"blocklyDOM"),this.renderDialogPrompt(),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}}const fh={textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:o=>({color:o.palette.mode==="dark"?"white":"black",height:30,width:"100%",fontSize:16}),argsTitle:o=>({color:o.palette.mode==="dark"?"white":"black",fontWeight:"bold"})};class PM extends We.Component{constructor(n){super(n),this.state={changed:!1,source:!n.source&&n.isReturn?` -return false`:n.source}}componentDidMount(){setTimeout(()=>{var n;try{(n=window.document.getElementById("source-text-area"))==null||n.focus()}catch{}},100)}handleCancel(){this.props.onClose(!1)}handleOk(){(!this.props.isReturn||this.state.source.includes("return "))&&this.props.onClose(this.state.source)}onChange(n){this.setState({changed:!0,source:n})}render(){return f.jsxs(D.Dialog,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":fh.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title",children:[f.jsx(D.DialogTitle,{id:"source-dialog-title",children:I.I18n.t("Function editor")}),f.jsxs(D.DialogContent,{style:fh.fullHeight,children:[this.props.args&&f.jsxs(D.Box,{sx:fh.args,children:[f.jsx(D.Box,{component:"span",sx:fh.argsTitle,children:I.I18n.t("function (")}),this.props.args,f.jsx(D.Box,{component:"span",sx:fh.argsTitle,children:")"})]},"arguments"),f.jsx(Gv,{triggerPrettier:1,adapterName:this.props.adapterName,runningInstances:this.props.runningInstances,style:{...fh.textArea,height:this.props.args?"calc(100% - 30px)":"100%"},name:"blockly",socket:this.props.socket,readOnly:!1,checkJs:!1,changed:this.state.changed,code:this.state.source,isDark:this.props.themeType==="dark",onChange:n=>this.onChange(n),language:"javascript"},"scriptEditor")]}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:f.jsx(KI,{}),children:I.I18n.t("Save")}),f.jsx(D.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.jsx(Jo,{}),children:I.I18n.t("Cancel")})]})]})}}const jM="_wrapperRules_nnott_1",FM="_rootWrapper_nnott_9",zM="_addClass_nnott_14",Vy={wrapperRules:jM,rootWrapper:FM,addClass:zM},UM="_switchesItem_10ls3_1",WM="_switchesItemActive_10ls3_28",HM="_iconTheme_10ls3_36",Gy={switchesItem:UM,switchesItemActive:WM,iconTheme:HM},Ky={},VM={Shuffle:XA,Apps:WA,Functions:GA,Language:JI,AddBox:UA,Pause:KA,Subject:QA,PlayForWork:qA,Brightness3:HA,HelpOutline:dw,Storage:ZA,AccessTime:zA,PlayArrow:JA,FlashOn:VA};function $u({iconName:o,className:n,adapter:s,socket:i,onClick:a,style:c}){const[h,g]=ve.useState("");if(ve.useEffect(()=>{s&&i&&(Ky[s]instanceof Promise||(Ky[s]=i.getObject(`system.adapter.${s}`)),Ky[s].then($=>{var y;return((y=$==null?void 0:$.common)==null?void 0:y.icon)&&g(`../../adapter/${s}/${$.common.icon}`)}))},[s,i]),s)return f.jsx("img",{onClick:$=>a&&a($),src:h||"",className:n,style:c,alt:""});const b=o&&VM[o]||qI;return f.jsx(b,{className:n,style:c,onClick:$=>a&&a($)})}const Mk=({name:o,id:n,active:s,icon:i,adapter:a,socket:c,onDoubleClick:h,title:g,onTouchMove:b,style:$})=>f.jsxs("div",{onDoubleClick:h,onTouchMove:b,title:g?I.I18n.t(g):void 0,className:I.Utils.clsx(Gy.switchesItem,s&&Gy.switchesItemActive,`block-${n}`),children:[f.jsx($u,{iconName:i,className:Gy.iconTheme,adapter:a,socket:c,style:$}),f.jsx("span",{children:o?I.I18n.t(o):""})]},n),GM="_cardStyle_8rq8v_1",KM="_cardStyleActive_8rq8v_17",JM="_controlMenu_8rq8v_22",qM="_closeBtn_8rq8v_31",YM="_isDelete_8rq8v_73",XM="_drag_mobile_8rq8v_90",mh={cardStyle:GM,cardStyleActive:KM,controlMenu:JM,closeBtn:qM,isDelete:YM,drag_mobile:XM};function Rh(o,n,s){let i;switch(o){case"actions":if(s==="else")return i={...n,actions:{...n[o],else:[...n[o].else]}},i;if(s==="then")return i={...n,actions:{...n[o],then:[...n[o].then]}},i;throw console.error(`Unknown additionalParameter: ${s}`),new Error(`Unknown additionalParameter: ${s}`);case"triggers":return i={...n,triggers:[...n.triggers]},i;case"conditions":return i={...n,conditions:[...n.conditions]},i;default:throw new Error(`Unknown name: ${o}`)}}function du(o,n,s,i){var a;switch(o){case"actions":return n.actions[s]=n.actions[s].filter(c=>c._id!==i),n;case"conditions":return n.conditions[s]=(a=n.conditions[s])==null?void 0:a.filter(c=>c._id!==i),n;case"triggers":default:return n.triggers=n.triggers.filter(c=>c._id!==i),n}}const ZM="_nameCard_15el3_28",QM="_iconThemCard_15el3_40",eN="_iconThemCardSelectable_15el3_49",tN="_iconHelp_15el3_53",nN="_blockName_15el3_64",sN="_controlMenuTop_15el3_123",rN="_debugInfo_15el3_132",iN="_tagCard_15el3_142",oN="_displayFlex_15el3_161",aN="_blockMarginTop_15el3_166",lN="_nameBlock_15el3_167",cN="_frontText_15el3_171",uN="_backText_15el3_177",dN="_iconTag_15el3_181",hN="_displayItalic_15el3_191",ot={nameCard:ZM,iconThemCard:QM,iconThemCardSelectable:eN,iconHelp:tN,blockName:nN,controlMenuTop:sN,debugInfo:rN,tagCard:iN,displayFlex:oN,blockMarginTop:aN,nameBlock:lN,frontText:cN,backText:uN,iconTag:dN,displayItalic:hN},pN="_root_1dr6a_1",gN="_square_1dr6a_11",fN="_icon_1dr6a_16",Jy={root:pN,square:gN,icon:fN},wf=({fullWidth:o,size:n,onClick:s,style:i,className:a,value:c,square:h,icon:g})=>f.jsx(D.Button,{variant:"outlined",color:"primary",onClick:s,fullWidth:o,style:i,className:I.Utils.clsx(Jy.root,a,h?Jy.square:""),size:n||"medium",children:g?f.jsx(I.Icon,{className:Jy.icon,src:g}):c}),mN="_root_1ucda_1",bN={root:mN},$N=({size:o,value:n,title:s,onChange:i,className:a,customValue:c,disabled:h})=>{const[g,b]=ve.useState(!1);return f.jsxs(f.Fragment,{children:[f.jsx(D.Checkbox,{disabled:h,checked:!!(c?n:g),className:I.Utils.clsx(bN.root,a),onChange:$=>{c&&b($.target.checked),i&&i($.target.checked)},size:o||"medium"}),s||null]})},Nk=ve.memo($N),vN="_root_19roy_1",JS={root:vN},Yl=o=>{const[n,s]=ve.useState(""),{value:i,type:a,error:c,className:h,icon:g,label:b,style:$,onChange:y,fullWidth:w,autoComplete:T,customValue:C,autoFocus:E,rows:k,size:A,variant:P,multiline:N,disabled:B}=Object.assign({value:"",type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,fullWidth:!1,autoComplete:"",customValue:!1,autoFocus:!1,rows:1},o);return f.jsx(D.TextField,{error:!!c,autoFocus:E,fullWidth:w,label:b,disabled:B,variant:P,multiline:N,rows:k,value:C?i:n,type:a,helperText:c,style:$,className:I.Utils.clsx(JS.root,h),autoComplete:T,onChange:S=>{!C&&s(S.target.value),y&&y(S.target.value)},slotProps:{input:{endAdornment:g?f.jsx(D.InputAdornment,{position:"end",children:f.jsx(I.Icon,{className:JS.icon,src:g})}):null}},margin:"normal",size:A})},yN={formControl:{m:"10px 0","& .MuiFormControl-marginNormal":{mt:0,mb:0},"& > *":{color:"#2d0440 !important"},"& .MuiSelect-icon":{color:"#81688c"},"& label.Mui-focused":{color:"#81688c"},"& .MuiInput-underline:after":{borderBottomColor:"#510573"},"& .MuiInput-underline:before":{borderBottomColor:"#81688c"},"& .MuiInput-underline:hover:before":{borderBottomColor:"#81688c"}}},_N=({multiple:o,value:n,customValue:s,socket:i,title:a,attr:c,adapter:h,style:g,onChange:b,onInstanceHide:$})=>{const[y,w]=ve.useState(n||"test1"),[T,C]=ve.useState([]);return ve.useEffect(()=>{i==null||i.getAdapterInstances(h).then(E=>{const k=E.map(A=>({value:A._id.replace("system.adapter.",""),title:A._id.replace("system.adapter.","")}));k.length===1?$(k[0].value):k.unshift({value:h,title:I.I18n.t("All")}),C(k)})},[i,h,$]),f.jsxs(D.FormControl,{sx:yN.formControl,fullWidth:!0,style:g,children:[f.jsx(D.Select,{variant:"standard",value:(s?n:y)||"_",fullWidth:!0,multiple:o,renderValue:E=>o&&Array.isArray(E)?E.join(", "):E,onChange:E=>{!s&&w(E.target.value),b(E.target.value)},input:c?f.jsx(D.Input,{name:c,id:`${c}-helper`}):f.jsx(D.Input,{name:c}),children:T.map(E=>f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:E.value||"_",children:I.I18n.t(E.title)},`key-${E.value}`))}),a?f.jsx(D.FormHelperText,{children:I.I18n.t(a)}):null]})},wN="_modalWrapper_587ci_33",CN="_modalDialog_587ci_40",qS={modalWrapper:wN,modalDialog:CN},z_=({onClose:o,children:n,titleButtonApply:s,titleButtonClose:i,onApply:a,className:c,textInput:h,defaultValue:g,disabled:b})=>{const[$,y]=ve.useState(g||""),[w]=ve.useState(g||"");return f.jsxs(D.Dialog,{open:!0,maxWidth:"md",disableEscapeKeyDown:!1,onClose:o,classes:{paper:qS.modalDialog},className:qS.modalWrapper,children:[f.jsxs(D.DialogContent,{children:[h&&f.jsx(Yl,{className:c,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"medium",rows:10,multiline:!0,value:$,onChange:y,customValue:!0}),!h&&n]}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{disabled:b===void 0?w===$:b,onClick:()=>a(h?$:null),variant:"contained",color:"primary",children:I.I18n.t(s||"Ok")}),f.jsx(D.Button,{color:"grey",onClick:o,variant:"contained",children:I.I18n.t(i||"Cancel")})]})]})},SN="_root_15mo1_1",TN={root:SN},kN=({multiple:o,value:n,customValue:s,title:i,attr:a,options:c,style:h,onChange:g,className:b,doNotTranslate:$,doNotTranslate2:y})=>{const[w,T]=ve.useState(n===void 0?c[0].value:n),C=s?n:w,E=C===""||C===null||C===void 0?"_":C;return f.jsxs(D.FormControl,{variant:"standard",className:I.Utils.clsx(TN.root,b),fullWidth:!0,style:h,children:[f.jsxs(D.Select,{variant:"standard",value:E,fullWidth:!0,multiple:o,renderValue:k=>{if(o&&Array.isArray(k)){k.sort();let P=k.indexOf("0");P!==-1&&(k.splice(P,1),k.push("0")),P=k.indexOf("_"),P!==-1&&(k.splice(P,1),k.unshift("_"));const N=c.find(S=>S.only);return N&&k.includes(N.value)?N.titleShort?$?N.titleShort:I.I18n.t(N.titleShort):$?N.title:I.I18n.t(N.title):k.map(S=>c.find(H=>H.value===S||S==="_"&&H.value==="")||S).map(S=>typeof S=="object"?S.titleShort?$?S.titleShort:I.I18n.t(S.titleShort):$?S.title:I.I18n.t(S.title):$?S:I.I18n.t(S)).join(", ")}const A=c?c.find(P=>P.value===k||k==="_"&&P.value===""):null;return A!=null&&A.title?$?A==null?void 0:A.title:I.I18n.t(A==null?void 0:A.title):k},onChange:k=>{if(s||T(k.target.value),o){const A=k.target.value,P=c.find(N=>N.only);if(P){const N=P.value;if(A.length===c.length-1&&A.includes(N))return g(A.filter(B=>B!==N),a);if(A.includes(N))return g(c.map(B=>B.value),a)}}g(k.target.value,a)},input:a?f.jsx(D.Input,{name:a,id:`${a}-helper`}):f.jsx(D.Input,{name:a}),children:[!o&&(c==null?void 0:c.map(k=>f.jsxs(D.MenuItem,{style:{placeContent:"space-between"},value:k.value===""||k.value===null||k.value===void 0?"_":k.value,children:[$?k.title:I.I18n.t(k.title),k.title2&&f.jsx("div",{children:y?k.title2:I.I18n.t(k.title2)})]},`key-${k.value}`))),o&&(c==null?void 0:c.map(k=>f.jsxs(D.MenuItem,{style:{placeContent:"space-between"},value:k.value||"_",children:[$?k.title:I.I18n.t(k.title)," ",f.jsx(Nk,{customValue:!0,value:n==null?void 0:n.includes(k.value)})]},`key-${k.value}`)))]}),i?f.jsx(D.FormHelperText,{children:I.I18n.t(i)}):null]})},EN="_root_1gt4d_1",IN="_mark_1gt4d_27",YS={root:EN,mark:IN},xN=({size:o,value:n,style:s,onChange:i,className:a,customValue:c,min:h,max:g,step:b,unit:$})=>{const[y,w]=ve.useState(0);h=h!==void 0?h:0,g=g!==void 0?g:0,b=b!==void 0?b:(g-h)/100;const T=[{value:h,label:h+($||"")},{value:g,label:g+($||"")}];return f.jsx(D.Slider,{defaultValue:c?n:y,"aria-labelledby":"discrete-slider",valueLabelDisplay:"auto",classes:{mark:YS.mark},marks:T,step:b,min:h,max:g,value:c?n:y,style:s,className:I.Utils.clsx(YS.root,a),onChange:(C,E)=>{Array.isArray(E)?(!c&&w(E[0]),i(E[0])):(!c&&w(E),i(E))},size:o||"medium"})},DN="_root_rzul6_1",AN={root:DN},ON=({label:o,size:n,value:s,style:i,onChange:a,className:c,customValue:h})=>{const[g,b]=ve.useState(!1);return f.jsx(D.FormControlLabel,{className:AN.root,control:f.jsx(D.Switch,{checked:h?s:g,style:i,className:c,onChange:$=>{h||b($.target.checked),a($.target.checked)},size:n||"medium"}),label:o??"all"})},RN=ve.memo(ON),MN="_root_135pm_1",NN={root:MN},LN=({value:o,style:n,onChange:s,className:i})=>f.jsx(D.TextField,{variant:"standard",id:"time",type:"time",onChange:a=>s(a.currentTarget.value),value:o,className:I.Utils.clsx(NN.root,i),fullWidth:!0,style:n,slotProps:{htmlInput:{step:300},inputLabel:{shrink:!0}}}),BN="_root_135pm_1",y$={root:BN},qy=[31,29,31,30,31,30,31,31,30,31,30,31],PN=({value:o,onChange:n,className:s,style:i})=>{const[a,c]=(o||"01.01").toString().split(".");let h=parseInt(c,10)||0,g=parseInt(a,10)||0;g>12?g=12:g<0&&(g=0),h>qy[g]?h=qy[g]:h<0&&(h=0);const b=[];for(let $=0;$n(`${$.target.value.toString().padStart(2,"0")}.${h.toString().padStart(2,"0")}`),value:g,children:[f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:0,children:I.I18n.t("Any month")},0),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:1,children:I.I18n.t("January")},1),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:2,children:I.I18n.t("February")},2),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:3,children:I.I18n.t("March")},3),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:4,children:I.I18n.t("April")},4),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:5,children:I.I18n.t("May")},5),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:6,children:I.I18n.t("June")},6),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:7,children:I.I18n.t("July")},7),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:8,children:I.I18n.t("August")},8),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:9,children:I.I18n.t("September")},9),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:10,children:I.I18n.t("October")},10),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:11,children:I.I18n.t("November")},11),f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:12,children:I.I18n.t("December")},12)]})}),f.jsx(D.FormControl,{variant:"standard",className:I.Utils.clsx(y$.root,s),style:i,children:f.jsxs(D.Select,{variant:"standard",className:I.Utils.clsx(y$.root,s),margin:"dense",label:I.I18n.t("Date"),onChange:$=>n(`${g.toString().padStart(2,"0")}.${$.target.value.toString().padStart(2,"0")}`),value:h,children:[f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:0,children:I.I18n.t("Any")},"A"),b.map($=>f.jsx(D.MenuItem,{style:{placeContent:"space-between"},value:$,children:$},$))]})})]})};let Yy;function jN(o){return Yy=Yy||I.I18n.getLanguage(),o&&typeof o=="object"?o[Yy]||o.en:o||""}function Dh(o){return o===null?"null":o===void 0?"undefined":Array.isArray(o)?o.join(", "):typeof o=="object"?JSON.stringify(o):o.toString()}const Ss={selectTriggers:0,addScheduleByDoubleClick:1,openTagsMenu:2,selectIntervalTag:3,selectActions:4,addActionPrintText:5,showJavascript:6,switchBackToRules:7,saveTheScript:8},FN=[{selector:".blocks-triggers",content:"Select triggers"},{selector:".block-TriggerScheduleBlock",content:"Double click to add the block"},{selector:".tag-card",content:"Open drop down menu"},{selector:".tag-card-interval",content:"Select interval"},{selector:".blocks-actions",content:"Select action blocks"},{selector:".block-ActionPrintText",content:"Double click to add the block"},{selector:".button-js-code",content:"Check the script"},{selector:".button-js-code",content:"Switch back to rules"},{selector:".button-save",content:"Save the script"}];class yn extends ve.Component{debugHideTimeout=null;lastObjectIdChange=0;enableSimulationProcessing=!1;lastDebugMessage=0;debugMessageTimeout=null;static getStaticData(){return{acceptedBy:"actions",name:"Not found",id:"ActionEmpty",icon:"Shuffle"}}static compile(n,s){return""}constructor(n,s){super(n),s||={};const i=n.settings||{tagCard:s.tagCardArray?typeof s.tagCardArray[0]!="string"?s.tagCardArray[0].title:s.tagCardArray[0]:""};!i.tagCard&&s.tagCardArray&&(i.tagCard=typeof s.tagCardArray[0]!="string"?s.tagCardArray[0].title:s.tagCardArray[0]),this.state={inputs:s.inputs||n.inputs||[],name:s.name||n.name||"",icon:s.icon||n.icon||"",adapter:s.adapter||n.adapter||"",helpDialog:s.helpDialog||n.helpDialog||"",tagCardArray:s.tagCardArray||[],openTagMenu:!1,openModal:!1,iconTag:!1,error:"",helpText:"",instanceSelectionOptions:[],instanceSelectionDef:"",hideAttributes:[],settings:i,debugMessage:null,enableSimulation:this.props.enableSimulation}}componentWillUnmount(){this.debugMessageTimeout&&(clearTimeout(this.debugMessageTimeout),this.debugMessageTimeout=null),this.debugHideTimeout&&(clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null)}onTagChange(n,s,i,a,c){let h=!1;const g=JSON.parse(JSON.stringify(this.state.settings));this.state.inputs.forEach(b=>{const $=b.attr,y=b.defaultValue;$&&y!==void 0&&g[$]===void 0&&(h=!0,g[$]=y)}),h?(this.setState({settings:g},()=>s==null?void 0:s()),this.props.onChange(g)):s&&s()}onUpdate(){}onValueChanged(n,s){}renderText(n,s,i){const{className:a}=this.props,{attr:c,frontText:h,backText:g,nameBlock:b,name:$,doNotTranslate:y,doNotTranslateBack:w}=n;return f.jsxs(ve.Fragment,{children:[f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),children:[h&&f.jsx("div",{className:ot.frontText,children:y?h:I.I18n.t(h)}),f.jsx(Yl,{className:a,autoComplete:"off",label:jN($),variant:"outlined",size:"small",fullWidth:!0,value:s,onChange:i,customValue:!0}),g&&f.jsx("div",{className:ot.backText,children:w?g:I.I18n.t(g)})]}),b&&f.jsx("div",{className:ot.nameBlock,children:I.I18n.t(b)})]},c)}renderSwitch(n,s,i){const{className:a}=this.props,{attr:c,frontText:h,backText:g,nameBlock:b,doNotTranslate:$,doNotTranslateBack:y}=n;return f.jsxs("div",{children:[f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),children:[h&&f.jsx("div",{className:ot.frontText,children:$?h:I.I18n.t(h)}),f.jsx(RN,{className:a,label:"",customValue:!0,value:s,onChange:i}),g&&f.jsx("div",{className:ot.backText,children:y?g:I.I18n.t(g)})]}),b&&f.jsx("div",{className:ot.nameBlock,children:I.I18n.t(b)})]},c)}renderNameText({attr:n,signature:s,doNotTranslate:i,defaultValue:a},c){return f.jsx("div",{className:I.Utils.clsx(s?ot.displayItalic:ot.displayFlex,ot.blockMarginTop),children:c?i?c:I.I18n.t(c):i?a:I.I18n.t(a)},n)}renderNumber(n,s,i){const{className:a}=this.props,{settings:c}=this.state,{attr:h,backText:g,frontText:b,openCheckbox:$,doNotTranslate:y,doNotTranslateBack:w}=n;let T=!0;return $&&(T=typeof c.offset=="boolean"?c.offset:!0),T?f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),children:[b&&f.jsx("div",{className:ot.frontText,children:y?b:I.I18n.t(b)}),f.jsx(Yl,{className:I.Utils.clsx(a,n.className),fullWidth:!0,autoComplete:"off",label:n.noHelperText?"":"number",variant:"outlined",size:"small",type:"number",value:s,onChange:i,customValue:!0}),g&&f.jsx("div",{className:ot.backText,children:w?g:I.I18n.t(g)})]},h):null}renderColor(n,s,i){const{className:a}=this.props,{attr:c,backText:h,frontText:g,doNotTranslate:b,doNotTranslateBack:$}=n;return f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),children:[g&&f.jsx("div",{className:ot.frontText,children:b?g:I.I18n.t(g)}),f.jsx(Yl,{className:a,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",type:"color",value:s,onChange:i}),h&&f.jsx("div",{className:ot.backText,children:$?h:I.I18n.t(h)})]},c)}renderCheckbox(n,s,i){const{className:a}=this.props,{settings:c}=this.state,{attr:h,backText:g,frontText:b,defaultValue:$,doNotTranslate:y,doNotTranslateBack:w}=n;return f.jsxs("div",{className:ot.displayFlex,children:[b&&f.jsx("div",{className:ot.frontText,children:y?b:I.I18n.t(b)}),f.jsx(Nk,{className:a,size:"small",value:typeof c[h]=="boolean"?!!c[h]:!!$,customValue:!0,onChange:i}),g&&f.jsx("div",{onClick:()=>i(typeof c[h]=="boolean"?!c[h]:!$),className:ot.backText,children:w?g:I.I18n.t(g)})]},h)}renderSlider(n,s,i){const{className:a}=this.props,{attr:c,frontText:h,backText:g,nameBlock:b,min:$,max:y,step:w,unit:T,doNotTranslate:C,doNotTranslateBack:E}=n;return f.jsxs("div",{children:[f.jsxs("div",{className:ot.displayFlex,style:{marginRight:20},children:[h&&f.jsx("div",{className:ot.frontText,children:C?h:I.I18n.t(h)}),f.jsx(xN,{customValue:!0,min:$,max:y,step:w,unit:T,className:a,autoComplete:"off",label:"number",variant:"outlined",size:"small",value:s,onChange:k=>{console.log(k),i(k)}}),g&&f.jsx("div",{style:{marginLeft:20},className:ot.backText,children:E?g:I.I18n.t(g)})]}),b&&f.jsx("div",{className:ot.nameBlock,children:I.I18n.t(b)})]},c)}renderButton(n,s,i){const{className:a}=this.props,{attr:c,frontText:h,backText:g,doNotTranslate:b,doNotTranslateBack:$}=n;return f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),children:[h&&f.jsx("div",{className:ot.frontText,children:b?h:I.I18n.t(h)}),f.jsx(wf,{fullWidth:!0,value:s.toString(),className:a,onClick:()=>i(s)}),g&&f.jsx("div",{className:ot.backText,children:$?g:I.I18n.t(g)})]},c)}async findIcon(n){var s;if(!n)return null;if((s=n.common)!=null&&s.icon)return I.getSelectIdIcon(n,"../..");if(n.type==="state"||n.type==="channel"){const i=n._id.split(".");i.pop();const a=i.join(".");try{const c=await this.props.socket.getObject(a);return await this.findIcon(c)}catch{return null}}return null}renderObjectID(n,s,i){const{attr:a,openCheckbox:c,checkReadOnly:h}=n,{settings:g}=this.state,b=this.state[`showSelectId${a}`],{className:$,socket:y,style:w}=this.props;let T=!0;c&&(T=typeof g.offset=="boolean"?g.offset:!0);const C=g[a],E=C?this.state[C]:void 0;return C&&!E&&E!==!1&&setTimeout(async k=>{var B;const A=await y.getObject(s),P=await this.findIcon(A),N={[k]:A||!1,[`${k}___icon`]:P,error:h&&this.lastObjectIdChange&&Date.now()-this.lastObjectIdChange<1e3&&((B=A==null?void 0:A.common)==null?void 0:B.write)===!1?I.I18n.t("Read only ID selected: %s",g[k]):""};this.setState(N)},0,C),T?f.jsxs("div",{className:ot.blockMarginTop,children:[f.jsxs("div",{className:ot.displayFlex,children:[n.title?f.jsx("div",{children:I.I18n.t(n.title)}):null,f.jsx(Yl,{className:$,style:w,autoComplete:"off",fullWidth:!0,disabled:!0,variant:"outlined",size:"small",value:s,customValue:!0}),f.jsx(wf,{icon:this.state[`${C}___icon`],square:!0,style:{...w||void 0,marginLeft:7},value:"...",className:$,onClick:()=>{const k={};k[`showSelectId${a}`]=!0,this.setState(k)}})]}),E?f.jsx("div",{className:I.Utils.clsx(ot.nameBlock,ot.displayItalic),children:I.Utils.getObjectNameFromObj(E,I.I18n.getLanguage())}):null,b?f.jsx(I.DialogSelectID,{theme:this.props.theme,imagePrefix:"../..",dialogName:"javascript",themeType:I.Utils.getThemeName(),socket:y,selected:s,onClose:()=>{const k={};k[`showSelectId${a}`]=!1,this.setState(k)},onOk:(k,A)=>{const P={};P[`showSelectId${a}`]=!1;const N=Array.isArray(k)?k[0]:k;this.setState(P,async()=>{var S,H,q,se,ee,K,Y,X,ce,W;const B=N?await y.getObject(N):void 0;this.lastObjectIdChange=Date.now(),i({[a]:k,[`${a}Role`]:(S=B==null?void 0:B.common)==null?void 0:S.role,[`${a}Type`]:(H=B==null?void 0:B.common)==null?void 0:H.type,[`${a}Unit`]:(q=B==null?void 0:B.common)==null?void 0:q.unit,[`${a}States`]:(se=B==null?void 0:B.common)==null?void 0:se.states,[`${a}Min`]:(ee=B==null?void 0:B.common)==null?void 0:ee.min,[`${a}Max`]:(K=B==null?void 0:B.common)==null?void 0:K.max,[`${a}Step`]:(Y=B==null?void 0:B.common)==null?void 0:Y.step,[`${a}Def`]:(X=B==null?void 0:B.common)==null?void 0:X.def,[`${a}Write`]:(ce=B==null?void 0:B.common)==null?void 0:ce.write,[`${a}Read`]:(W=B==null?void 0:B.common)==null?void 0:W.read},()=>this.props.setOnUpdate&&this.props.setOnUpdate(!0))})}}):null]},a):null}renderIconTag(){return f.jsx("div",{className:ot.iconTag,onClick:n=>{this.state.settings.tagCard&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:n.currentTarget}))},children:this.state.settings.tagCard})}renderTime(n,s,i){const{attr:a,backText:c,frontText:h,doNotTranslate:g,doNotTranslateBack:b}=n;return f.jsxs("div",{className:ot.displayFlex,style:{whiteSpace:"nowrap"},children:[h&&f.jsx("div",{className:ot.frontText,children:g?h:I.I18n.t(h)}),f.jsx(LN,{value:s,onChange:i}),c&&f.jsx("div",{className:ot.backText,children:b?c:I.I18n.t(c)})]},a)}renderSelect(n,s,i){const{className:a,style:c}=this.props,{name:h,options:g,frontText:b,backText:$,attr:y,multiple:w,doNotTranslate:T,doNotTranslate2:C,doNotTranslateBack:E}=n;return f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),style:{whiteSpace:"nowrap"},children:[b&&f.jsx("div",{className:ot.frontText,children:I.I18n.t(b)}),f.jsx(kN,{attr:y,doNotTranslate:T,doNotTranslate2:C,title:h,className:a,style:c,options:g,value:s,onChange:i,multiple:w,customValue:!0}),$&&f.jsx("div",{className:ot.backText,children:E?$:I.I18n.t($)})]},y)}renderInstance(n,s,i){const{socket:a}=this.props,{name:c,frontText:h,backText:g,attr:b,adapter:$,doNotTranslate:y,doNotTranslateBack:w}=n;return this.state.hideAttributes.includes(b)?null:f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),style:{whiteSpace:"nowrap"},children:[h&&f.jsx("div",{className:ot.frontText,children:y?h:I.I18n.t(h)}),f.jsx(_N,{attr:b,socket:a,adapter:$,title:c,value:s,onChange:T=>{i(Array.isArray(T)?T[0]:T)},customValue:!0,onInstanceHide:T=>this.setState({hideAttributes:[...this.state.hideAttributes,b]},()=>i(T))}),g&&f.jsx("div",{className:ot.backText,children:w?g:I.I18n.t(g)})]},b)}renderDialog(n){const{onShowDialog:s,frontText:i,backText:a,attr:c,icon:h,doNotTranslate:g,doNotTranslateBack:b}=n;return f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),style:{whiteSpace:"nowrap"},children:[i&&f.jsx("div",{className:ot.frontText,children:g?i:I.I18n.t(i)}),f.jsx($u,{iconName:h,className:I.Utils.clsx(ot.iconDialog),onClick:()=>s&&s()}),a&&f.jsx("div",{className:ot.backText,children:b?a:I.I18n.t(a)})]},c)}renderModalInput(n,s,i){const{openModal:a}=this.state,{className:c}=this.props,{attr:h,nameBlock:g,frontText:b,backText:$,noTextEdit:y,doNotTranslate:w,doNotTranslateBack:T}=n;return f.jsxs("div",{children:[f.jsxs("div",{className:I.Utils.clsx(ot.displayFlex,ot.blockMarginTop),children:[b&&f.jsx("div",{className:ot.frontText,children:w?b:I.I18n.t(b)}),f.jsx(Yl,{disabled:!!y,className:c,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",value:s,onChange:i,customValue:!0}),f.jsx(wf,{square:!0,style:{marginLeft:5},value:"...",className:c,onClick:()=>this.setState({openModal:!0})}),$&&f.jsx("div",{className:ot.backText,children:T?$:I.I18n.t($)})]}),a?f.jsx(z_,{onApply:C=>this.setState({openModal:!1},()=>C!=null&&i(C)),onClose:()=>this.setState({openModal:!1}),defaultValue:s,textInput:!0}):null,g&&f.jsx("div",{className:ot.nameBlock,children:I.I18n.t(g)})]},h)}renderDate(n,s,i){const{attr:a,backText:c,frontText:h,doNotTranslate:g,doNotTranslateBack:b}=n;return f.jsxs("div",{className:ot.displayFlex,style:{whiteSpace:"nowrap"},children:[h&&f.jsx("div",{className:ot.frontText,children:g?h:I.I18n.t(h)}),f.jsx(PN,{value:s,onChange:i}),c&&f.jsx("div",{className:ot.backText,children:b?c:I.I18n.t(c)})]},a)}static getReplacesInText(n){var i;let s="";return(i=n.trigger)!=null&&i.oidType?s=".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val)":n.conditionsStates.length&&(s=`.replace(/%s/g, ${n.conditionsStates[0].name}).replace(/%id/g, "${n.conditionsStates[0].id}")`),s}renderTags(){const{tagCardArray:n,openTagMenu:s}=this.state,{tagCard:i}=this.state.settings;let a=i!=="="&&i!=="<>"&&i!==">="&&i!=="()"&&i!=="."&&i!=="<="&&i!=="<"&&i!==">"&&i?I.I18n.t(i):i;return n.length>=3&&(a=f.jsxs("div",{children:[f.jsx("div",{"aria-controls":"simple-menu","aria-haspopup":"true",onClick:c=>{this.setState({openTagMenu:c.currentTarget},()=>{this.props.isTourOpen&&this.props.tourStep===Ss.openTagsMenu&&setTimeout(()=>this.props.setTourStep&&this.props.setTourStep(Ss.selectIntervalTag),300)})},children:a}),f.jsx(D.Menu,{id:"simple-menu",anchorEl:s,keepMounted:!0,open:!!s,onClose:()=>this.setState({openTagMenu:null}),children:n.map((c,h)=>{let g;return typeof c!="string"?g=c.title:g=c,f.jsxs(D.MenuItem,{selected:g===i,className:`tag-card-${g}`,style:{placeContent:"space-between"},onClick:b=>{b.stopPropagation(),this.props.isTourOpen&&(this.props.tourStep===Ss.openTagsMenu||this.props.tourStep===Ss.selectIntervalTag)&&g==="interval"&&setTimeout(()=>{var y,w;return(w=(y=this.props).setTourStep)==null?void 0:w.call(y,Ss.selectActions)},500);const $=JSON.parse(JSON.stringify(this.state.settings));$.tagCard=g,this.setState({openTagMenu:null,settings:$},()=>{this.props.onChange(this.state.settings),this.onTagChange(this.state.settings.tagCard)})},children:[g.search(/>|<|<>|<=|>=|=/)!==-1?g:I.I18n.t(g),typeof c!="string"&&c.title2&&f.jsx("div",{style:{marginLeft:4},children:I.I18n.t(c.title2)})]},`${g}_${h}`)})})]})),a}getData(){return{acceptedBy:"triggers",name:"",id:""}}onChangeTag(){const{tagCardArray:n,settings:s,settings:{tagCard:i}}=this.state;let a;if(typeof n[0]!="string"?a=n.map(c=>c.title):a=[...n],i&&a.length<3){const c={...s},h=a[(a.indexOf(i)+1)%a.length];c.tagCard=h,this.setState({settings:c},()=>{this.props.onChange(c),this.onTagChange(h)})}}componentDidMount(){this.onTagChange()}componentDidUpdate(){this.props.acceptedBy!=="triggers"&&this.props.onUpdate&&setTimeout(()=>this.onUpdate(),0)}onChangeInput(n){return(s,i,a)=>{const c=JSON.parse(JSON.stringify(this.state.settings));typeof s=="object"&&(!i||typeof i=="function")?(Object.keys(s).forEach(h=>c[h]=s[h]),typeof i=="function"&&(a=i,i=void 0)):c[i||n]=s,c.id=this.getData().id,c._id=this.props._id,this.setState({settings:c},()=>{this.onValueChanged(s,i||n),this.props.onChange(c),a==null||a()})}}renderSpecific(){return null}renderDebug(n){return""}renderDebugInfo(){return this.state.debugMessage?f.jsx("div",{className:ot.debugInfo,style:{opacity:1,height:22,bottom:-22},children:this.renderDebug?this.renderDebug(this.state.debugMessage):I.I18n.t("executed")},this.state.debugMessage.ts):null}renderCron(n,s,i){return null}renderWizard(n,s,i){return null}renderWriteState(){return null}renderInputElement(n,s){const{nameRender:i,defaultValue:a,attr:c}=n,{settings:h}=this.state;let g=c?h[c]:void 0;switch(g===void 0&&(g=a),i){case"renderTime":return c?this.renderTime(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderTime")},`invalid_${s}`);case"renderNameText":return this.renderNameText(n,a);case"renderSelect":return c?this.renderSelect(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderSelect")},`invalid_${s}`);case"renderModalInput":return c?this.renderModalInput(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderModalInput")},`invalid_${s}`);case"renderObjectID":return c?this.renderObjectID(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderObjectID")},`invalid_${s}`);case"renderDialog":return c?this.renderDialog(n):f.jsx("div",{children:I.I18n.t("Invalid renderDialog")},`invalid_${s}`);case"renderInstance":return c?this.renderInstance(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderInstance")},`invalid_${s}`);case"renderText":return c?this.renderText(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderText")},`invalid_${s}`);case"renderSlider":return c?this.renderSlider(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderSlider")},`invalid_${s}`);case"renderCheckbox":return c?this.renderCheckbox(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderCheckbox")},`invalid_${s}`);case"renderButton":return c?this.renderButton(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderButton")},`invalid_${s}`);case"renderColor":return c?this.renderColor(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderColor")},`invalid_${s}`);case"renderSwitch":return c?this.renderSwitch(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderSwitch")},`invalid_${s}`);case"renderDate":return c?this.renderDate(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderDate")},`invalid_${s}`);case"renderCron":return c?this.renderCron(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderCron")},`invalid_${s}`);case"renderWizard":return c?this.renderWizard(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderWizard")},`invalid_${s}`);case"renderWriteState":return this.renderWriteState();case"renderNumber":return c?this.renderNumber(n,g,this.onChangeInput(c)):f.jsx("div",{children:I.I18n.t("Invalid renderNumber")},`invalid_${s}`);default:return this[i]?this[i](n,g,c?this.onChangeInput(c):null):f.jsx("div",{children:I.I18n.t("Invalid input type: %s",i)},`invalid_${s}`)}}render(){var T;const{inputs:n,name:s,icon:i,iconTag:a,settings:c,adapter:h,settings:{tagCard:g},helpDialog:b}=this.state,{socket:$,notFound:y}=this.props;this.state.settings&&!this.state.settings.tagCard&&((T=this.state.tagCardArray)!=null&&T.length)&&setTimeout(()=>{const C=JSON.parse(JSON.stringify(this.state.settings));C.tagCard=typeof this.state.tagCardArray[0]!="string"?this.state.tagCardArray[0].title:this.state.tagCardArray[0],this.setState({settings:C})},50),this.state.enableSimulation!==this.props.enableSimulation&&!this.enableSimulationProcessing&&(this.enableSimulationProcessing=!0,setTimeout(()=>{this.setState({enableSimulation:this.props.enableSimulation},()=>{this.enableSimulationProcessing=!1})},50));let w;if(this.props.onDebugMessage)for(let C=this.props.onDebugMessage.length-1;C>=0;C--){const E=this.props.onDebugMessage[C];if(E.blockId===this.props._id&&E.ts>this.lastDebugMessage&&E.ts>Date.now()-1e3){w=E;break}}return w&&(this.lastDebugMessage=w.ts,this.debugMessageTimeout&&clearTimeout(this.debugMessageTimeout),this.debugHideTimeout&&(clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null),this.debugMessageTimeout=setTimeout(C=>{const E=JSON.parse(C),k=E.hideTimeout||5e3;this.debugMessageTimeout=null,this.setState({debugMessage:E},()=>{this.debugHideTimeout&&clearTimeout(this.debugHideTimeout),this.debugHideTimeout=setTimeout(()=>{this.debugHideTimeout=null,this.setState({debugMessage:null})},k)})},50,JSON.stringify(w))),f.jsxs(ve.Fragment,{children:[a?this.renderIconTag():f.jsx($u,{iconName:i,className:I.Utils.clsx(ot.iconThemCard,g&&this.state.tagCardArray.length&&ot.iconThemCardSelectable),adapter:h,socket:$,onClick:C=>{g&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:C.currentTarget}))}}),f.jsxs("div",{className:ot.blockName,children:[f.jsxs("span",{className:ot.nameCard,children:[I.I18n.t(s),y?I.I18n.t("%s not found",c.id):"",b?f.jsx(D.IconButton,{className:ot.iconHelp,size:"small",onClick:()=>this.setState({helpText:I.I18n.t(b)}),children:f.jsx(dw,{})}):null]}),n.map((C,E)=>this.renderInputElement(C,E))]}),g&&f.jsx("div",{className:ot.controlMenuTop,style:{opacity:1,height:22,top:-22},children:f.jsx("div",{onClick:()=>this.onChangeTag(),className:I.Utils.clsx(ot.tagCard,"tag-card"),children:this.renderTags()})}),this.renderDebugInfo(),this.state.error?f.jsx(I.DialogError,{title:I.I18n.t("Warning"),text:this.state.error,onClose:()=>this.setState({error:""})}):null,this.state.helpText?f.jsx(I.DialogMessage,{title:I.I18n.t("Instructions"),text:this.state.helpText,onClose:()=>this.setState({helpText:""})}):null,this.renderSpecific()]})}}const XS={en:{name:"Google - English",engine:"google",params:[]},de:{name:"Google - Deutsch",engine:"google",params:[]},ru:{name:"Google - Русский",engine:"google",params:[]},it:{name:"Google - Italiano",engine:"google",params:[]},es:{name:"Google - Espaniol",engine:"google",params:[]},fr:{name:"Google - Français",engine:"google",params:[]},ru_YA:{name:"Yandex - Русский",engine:"yandex",params:["key","voice","emotion","ill","drunk","robot"],voice:["jane","zahar"],emotion:["none","good","neutral","evil","mixed"]},ru_YA_CLOUD:{name:"Yandex Cloud - Русский",engine:"yandexCloud",params:["key","folderID","voice","emotion"],voice:["alyss","oksana","jane","zahar"],emotion:["good","neutral","evil"]},"en-US":{name:"PicoTTS - Englisch US",engine:"PicoTTS",params:[]},"en-GB":{name:"PicoTTS - Englisch GB",engine:"PicoTTS",params:[]},"de-DE":{name:"PicoTTS - Deutsch",engine:"PicoTTS",params:[]},"it-IT":{name:"PicoTTS - Italiano",engine:"PicoTTS",params:[]},"es-ES":{name:"PicoTTS - Espaniol",engine:"PicoTTS",params:[]},"fr-FR":{name:"PicoTTS - Français",engine:"PicoTTS",params:[]},"ru-RU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"Cloud - Русский - Татьяна"},"ru-RU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"Cloud - Русский - Максим"},"de-DE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Marlene",ssml:!0,name:"Cloud - Deutsch - Marlene"},"de-DE_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Hans",ssml:!0,name:"Cloud - Deutsch - Hans"},"en-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Salli",ssml:!0,name:"Cloud - en-US - Female - Salli"},"en-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Joey",ssml:!0,name:"Cloud - en-US - Male - Joey"},"da-DK_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Naja",ssml:!0,name:"Cloud - da-DK - Female - Naja"},"da-DK_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Mads",ssml:!0,name:"Cloud - da-DK - Male - Mads"},"en-AU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Nicole",ssml:!0,name:"Cloud - en-AU - Female - Nicole"},"en-AU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Russell",ssml:!0,name:"Cloud - en-AU - Male - Russell"},"en-GB_CLOUD_Female_Amy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Amy",ssml:!0,name:"Cloud - en-GB - Female - Amy"},"en-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Brian",ssml:!0,name:"Cloud - en-GB - Male - Brian"},"en-GB_CLOUD_Female_Emma":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Emma",ssml:!0,name:"Cloud - en-GB - Female - Emma"},"en-GB-WLS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"Cloud - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"Cloud - en-GB-WLS - Male - Geraint"},"cy-GB_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"Cloud - cy-GB - Female - Gwyneth"},"cy-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"Cloud - cy-GB - Male - Geraint"},"en-IN_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-IN",ename:"Raveena",ssml:!0,name:"Cloud - en-IN - Female - Raveena"},"en-US_CLOUD_Male_Chipmunk":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"Cloud - en-US - Male - Chipmunk"},"en-US_CLOUD_Male_Eric":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Eric",ssml:!0,name:"Cloud - en-US - Male - Eric"},"en-US_CLOUD_Female_Ivy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Ivy",ssml:!0,name:"Cloud - en-US - Female - Ivy"},"en-US_CLOUD_Female_Jennifer":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Jennifer",ssml:!0,name:"Cloud - en-US - Female - Jennifer"},"en-US_CLOUD_Male_Justin":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Justin",ssml:!0,name:"Cloud - en-US - Male - Justin"},"en-US_CLOUD_Female_Kendra":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kendra",ssml:!0,name:"Cloud - en-US - Female - Kendra"},"en-US_CLOUD_Female_Kimberly":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kimberly",ssml:!0,name:"Cloud - en-US - Female - Kimberly"},"es-ES_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Conchita",ssml:!0,name:"Cloud - es-ES - Female - Conchita"},"es-ES_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Enrique",ssml:!0,name:"Cloud - es-ES - Male - Enrique"},"es-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-US",ename:"Penelope",ssml:!0,name:"Cloud - es-US - Female - Penelope"},"es-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-US",ename:"Miguel",ssml:!0,name:"Cloud - es-US - Male - Miguel"},"fr-CA_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"Cloud - fr-CA - Female - Chantal"},"fr-FR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Celine",ssml:!0,name:"Cloud - fr-FR - Female - Celine"},"fr-FR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"Cloud - fr-FR - Male - Mathieu"},"is-IS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Dora",ssml:!0,name:"Cloud - is-IS - Female - Dora"},"is-IS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Karl",ssml:!0,name:"Cloud - is-IS - Male - Karl"},"it-IT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Carla",ssml:!0,name:"Cloud - it-IT - Female - Carla"},"it-IT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"Cloud - it-IT - Male - Giorgio"},"nb-NO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nb-NO",ename:"Liv",ssml:!0,name:"Cloud - nb-NO - Female - Liv"},"nl-NL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"Cloud - nl-NL - Female - Lotte"},"nl-NL_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"Cloud - nl-NL - Male - Ruben"},"pl-PL_CLOUD_Female_Agnieszka":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"Cloud - pl-PL - Female - Agnieszka"},"pl-PL_CLOUD_Male_Jacek":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"Cloud - pl-PL - Male - Jacek"},"pl-PL_CLOUD_Female_Ewa":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"Cloud - pl-PL - Female - Ewa"},"pl-PL_CLOUD_Male_Jan":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jan",ssml:!0,name:"Cloud - pl-PL - Male - Jan"},"pl-PL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Maja",ssml:!0,name:"Cloud - pl-PL - Female - Maja"},"pt-BR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"Cloud - pt-BR - Female - Vitoria"},"pt-BR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"Cloud - pt-BR - Male - Ricardo"},"pt-PT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"Cloud - pt-PT - Male - Cristiano"},"pt-PT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Ines",ssml:!0,name:"Cloud - pt-PT - Female - Ines"},"ro-RO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"Cloud - ro-RO - Female - Carmen"},"sv-SE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"Cloud - sv-SE - Female - Astrid"},"tr-TR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"Cloud - tr-TR - Female - Filiz"},"ru-RU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"AWS Polly - Русский - Татьяна"},"ru-RU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"AWS Polly - Русский - Максим"},"de-DE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Marlene",ssml:!0,name:"AWS Polly - Deutsch - Marlene"},"de-DE_AP_Female_Vicky":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Vicky",ssml:!0,name:"AWS Polly - Deutsch - Vicky"},"de-DE_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Hans",ssml:!0,name:"AWS Polly - Deutsch - Hans"},"en-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Salli",ssml:!0,name:"AWS Polly - en-US - Female - Salli"},"en-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Joey",ssml:!0,name:"AWS Polly - en-US - Male - Joey"},"da-DK_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Naja",ssml:!0,name:"AWS Polly - da-DK - Female - Naja"},"da-DK_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Mads",ssml:!0,name:"AWS Polly - da-DK - Male - Mads"},"en-AU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Nicole",ssml:!0,name:"AWS Polly - en-AU - Female - Nicole"},"en-AU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Russell",ssml:!0,name:"AWS Polly - en-AU - Male - Russell"},"en-GB_AP_Female_Amy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Amy",ssml:!0,name:"AWS Polly - en-GB - Female - Amy"},"en-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Brian",ssml:!0,name:"AWS Polly - en-GB - Male - Brian"},"en-GB_AP_Female_Emma":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Emma",ssml:!0,name:"AWS Polly - en-GB - Female - Emma"},"en-GB-WLS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"AWS Polly - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"AWS Polly - en-GB-WLS - Male - Geraint"},"cy-GB_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"AWS Polly - cy-GB - Female - Gwyneth"},"cy-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"AWS Polly - cy-GB - Male - Geraint"},"en-IN_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-IN",ename:"Raveena",ssml:!0,name:"AWS Polly - en-IN - Female - Raveena"},"en-US_AP_Male_Chipmunk":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"AWS Polly - en-US - Male - Chipmunk"},"en-US_AP_Male_Eric":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Eric",ssml:!0,name:"AWS Polly - en-US - Male - Eric"},"en-US_AP_Female_Ivy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Ivy",ssml:!0,name:"AWS Polly - en-US - Female - Ivy"},"en-US_AP_Female_Jennifer":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Jennifer",ssml:!0,name:"AWS Polly - en-US - Female - Jennifer"},"en-US_AP_Male_Justin":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Justin",ssml:!0,name:"AWS Polly - en-US - Male - Justin"},"en-US_AP_Female_Kendra":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kendra",ssml:!0,name:"AWS Polly - en-US - Female - Kendra"},"en-US_AP_Female_Kimberly":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kimberly",ssml:!0,name:"AWS Polly - en-US - Female - Kimberly"},"es-ES_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Conchita",ssml:!0,name:"AWS Polly - es-ES - Female - Conchita"},"es-ES_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Enrique",ssml:!0,name:"AWS Polly - es-ES - Male - Enrique"},"es-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Penelope",ssml:!0,name:"AWS Polly - es-US - Female - Penelope"},"es-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Miguel",ssml:!0,name:"AWS Polly - es-US - Male - Miguel"},"fr-CA_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"AWS Polly - fr-CA - Female - Chantal"},"fr-FR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Celine",ssml:!0,name:"AWS Polly - fr-FR - Female - Celine"},"fr-FR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"AWS Polly - fr-FR - Male - Mathieu"},"is-IS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Dora",ssml:!0,name:"AWS Polly - is-IS - Female - Dora"},"is-IS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Karl",ssml:!0,name:"AWS Polly - is-IS - Male - Karl"},"it-IT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Carla",ssml:!0,name:"AWS Polly - it-IT - Female - Carla"},"it-IT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"AWS Polly - it-IT - Male - Giorgio"},"nb-NO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nb-NO",ename:"Liv",ssml:!0,name:"AWS Polly - nb-NO - Female - Liv"},"nl-NL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"AWS Polly - nl-NL - Female - Lotte"},"nl-NL_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"AWS Polly - nl-NL - Male - Ruben"},"pl-PL_AP_Female_Agnieszka":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"AWS Polly - pl-PL - Female - Agnieszka"},"pl-PL_AP_Male_Jacek":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"AWS Polly - pl-PL - Male - Jacek"},"pl-PL_AP_Female_Ewa":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"AWS Polly - pl-PL - Female - Ewa"},"pl-PL_AP_Male_Jan":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jan",ssml:!0,name:"AWS Polly - pl-PL - Male - Jan"},"pl-PL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Maja",ssml:!0,name:"AWS Polly - pl-PL - Female - Maja"},"pt-BR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"AWS Polly - pt-BR - Female - Vitoria"},"pt-BR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"AWS Polly - pt-BR - Male - Ricardo"},"pt-PT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"AWS Polly - pt-PT - Male - Cristiano"},"pt-PT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Ines",ssml:!0,name:"AWS Polly - pt-PT - Female - Ines"},"ro-RO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"AWS Polly - ro-RO - Female - Carmen"},"sv-SE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"AWS Polly - sv-SE - Female - Astrid"},"tr-TR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"AWS Polly - tr-TR - Female - Filiz"}};class sv extends yn{constructor(n){super(n,sv.getStaticData())}static compile(n,s){return n.text?`// Sayit ${n.text||""} - const subActionVar${n._id} = "${n.language&&n.language!=="_"?`${n.language};`:""}${n.volume?`${n.volume};`:""}${(n.text||"").replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}; - _sendToFrontEnd(${n._id}, {text: subActionVar${n._id}}); - await setStateAsync("${n.instance}.tts.text", subActionVar${n._id});`:`// no text defined -_sendToFrontEnd(${n._id}, {text: 'No text defined'});`}renderDebug(n){return`${I.I18n.t("Say:")} ${n.data.text}`}onTagChange(){const n=I.I18n.getLanguage(),i=Object.keys(XS).filter(a=>a.startsWith(n)).map(a=>({title:XS[a].name,value:a}));i.unshift({title:"Default",value:"_"}),this.setState({inputs:[{attr:"instance",nameRender:"renderInstance",adapter:"sayit",defaultValue:"sayit.0",frontText:"Instance:"},{nameRender:"renderSelect",frontText:"Language:",options:i,defaultValue:"_",attr:"language"},{nameRender:"renderNameText",defaultValue:"Volume",attr:"textVol"},{nameRender:"renderSlider",attr:"volume",defaultValue:100,min:0,max:100},{attr:"text",nameRender:"renderModalInput",defaultValue:"Hallo",nameBlock:"",frontText:"Text:"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Say It",id:"ActionSayText",adapter:"sayit",title:"Say some text via sayit adapter",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return sv.getStaticData()}}class rv extends yn{constructor(n){super(n,rv.getStaticData())}static compile(n,s){const i=(n.text||"").replace(/"/g,'\\"');return i?`// Pushover ${n.text||""} - const subActionVar${n._id} = "${i}"${yn.getReplacesInText(s)}; - _sendToFrontEnd(${n._id}, {text: subActionVar${n._id}}); - sendTo("${n.instance}", "send", { - message: subActionVar${n._id}, - title: "${(n.title||"").replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}, - sound: "${n.sound}", - priority: ${n.priority} - });`:`// no text defined -_sendToFrontEnd(${n._id}, {text: 'No text defined'});`}renderDebug(n){return`Sent: ${n.data.text}`}onTagChange(){this.setState({inputs:[{nameRender:"renderInstance",adapter:"pushover",frontText:"Instance:",defaultValue:"pushover.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"title",defaultValue:"ioBroker",frontText:"Title:"},{nameRender:"renderSelect",attr:"sound",defaultValue:"magic",frontText:"Sound:",doNotTranslate:!0,options:[{value:"pushover",title:"pushover"},{value:"bike",title:"bike"},{value:"bugle",title:"bugle"},{value:"cashregister",title:"cashregister"},{value:"classical",title:"classical"},{value:"cosmic",title:"cosmic"},{value:"falling",title:"falling"},{value:"gamelan",title:"gamelan"},{value:"incoming",title:"incoming"},{value:"intermission",title:"intermission"},{value:"magic",title:"magic"},{value:"mechanical",title:"mechanical"},{value:"pianobar",title:"pianobar"},{value:"siren",title:"siren"},{value:"spacealarm",title:"spacealarm"},{value:"tugboat",title:"tugboat"},{value:"alien",title:"alien"},{value:"climb",title:"climb"},{value:"persistent",title:"persistent"},{value:"echo",title:"echo"},{value:"updown",title:"updown"},{value:"none",title:"none"}]},{nameRender:"renderSelect",attr:"priority",defaultValue:-1,frontText:"Priority:",options:[{value:-1,title:"quiet"},{value:0,title:"normal"},{value:1,title:"high-priority"},{value:2,title:"acknowledgment"}]}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Pushover",id:"ActionPushover",adapter:"pushover",title:"Sends message via pushover",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return rv.getStaticData()}}class iv extends yn{constructor(n){super(n,iv.getStaticData())}static compile(n,s){const i=(n.text||"").replace(/"/g,'\\"');return i?`// whatsapp ${i||""} - const subActionVar${n._id} = "${(i||"").replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}; - _sendToFrontEnd(${n._id}, {text: subActionVar${n._id}}); - sendTo("${n.instance}", "send", {text: subActionVar${n._id}${n.phone?`, phone: "${n.phone.replace(/"/g,'\\"')}"`:""}});`:`// no text defined -_sendToFrontEnd(${n._id}, {text: 'No text defined'});`}renderDebug(n){return`${I.I18n.t("Sent:")} ${n.data.text}`}onTagChange(){this.setState({inputs:[{nameRender:"renderInstance",adapter:"whatsapp-cmb",frontText:"Instance:",defaultValue:"whatsapp-cmb.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"phone",defaultValue:"",frontText:"Phone:",backText:"(optional)"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Whatsapp-cmb",id:"ActionWhatsappcmb",adapter:"whatsapp-cmb",title:"Sends message via whatsapp-cmb",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return iv.getStaticData()}}class ov extends yn{constructor(n){super(n,ov.getStaticData())}static compile(n,s){const i=(n.text||"").replace(/"/g,'\\"');return i?`// Pushsafer ${n.text||""} - const subActionVar${n._id} = "${i}"${yn.getReplacesInText(s)}; - _sendToFrontEnd(${n._id}, {text: subActionVar${n._id}}); - sendTo("${n.instance}", "send", { - message: subActionVar${n._id}, - title: "${(n.title||"").replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}, - ${n.sound&&n.sound!=="_"?`sound: "${n.sound}",`:""} - priority: ${n.priority}, - ${n.vibration&&n.vibration!=="_"?`vibration: ${n.vibration},`:""} - });`:`// no text defined -_sendToFrontEnd(${n._id}, {text: 'No text defined'});`}renderDebug(n){return`Sent: ${n.data.text}`}onTagChange(){this.setState({inputs:[{nameRender:"renderInstance",adapter:"pushsafer",frontText:"Instance:",defaultValue:"pushsafer.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"title",defaultValue:"ioBroker",frontText:"Title:"},{nameRender:"renderSelect",attr:"sound",defaultValue:"magic",frontText:"Sound:",doNotTranslate:!0,options:[{value:"_",title:"Device Default"},{value:"0",title:"Silent"},{value:"1",title:"Ahem (IM)"},{value:"2",title:"Applause (Mail)"},{value:"3",title:"Arrow (Reminder)"},{value:"4",title:"Baby (SMS)"},{value:"5",title:"Bell (Alarm)"},{value:"6",title:"Bicycle (Alarm2)"},{value:"7",title:"Boing (Alarm3)"},{value:"8",title:"Buzzer (Alarm4)"},{value:"9",title:"Camera (Alarm5)"},{value:"10",title:"Car Horn (Alarm6)"},{value:"11",title:"Cash Register (Alarm7)"},{value:"12",title:"Chime (Alarm8)"},{value:"13",title:"Creaky Door (Alarm9)"},{value:"14",title:"Cuckoo Clock (Alarm10)"},{value:"15",title:"Disconnect (Call)"},{value:"16",title:"Dog (Call2)"},{value:"17",title:"Doorbell (Call3)"},{value:"18",title:"Fanfare (Call4)"},{value:"19",title:"Gun Shot (Call5)"},{value:"20",title:"Honk (Call6)"},{value:"21",title:"Jaw Harp (Call7)"},{value:"22",title:"Morse (Call8)"},{value:"23",title:"Electricity (Call9)"},{value:"24",title:"Radio Tuner (Call10)"},{value:"25",title:"Sirens"},{value:"26",title:"Military Trumpets"},{value:"27",title:"Ufo"},{value:"28",title:"Whah Whah Whah"},{value:"29",title:"Man Saying Goodbye"},{value:"30",title:"Man Saying Hello"},{value:"31",title:"Man Saying No"},{value:"32",title:"Man Saying Ok"},{value:"33",title:"Man Saying Ooohhhweee"},{value:"34",title:"Man Saying Warning"},{value:"35",title:"Man Saying Welcome"},{value:"36",title:"Man Saying Yeah"},{value:"37",title:"Man Saying Yes"},{value:"38",title:"Beep short"},{value:"39",title:"Weeeee short"},{value:"40",title:"Cut in and out short"},{value:"41",title:"Finger flicking glas short"},{value:"42",title:"Wa Wa Waaaa short"},{value:"43",title:"Laser short"},{value:"44",title:"Wind Chime short"},{value:"45",title:"Echo short"},{value:"46",title:"Zipper short"},{value:"47",title:"HiHat short"},{value:"48",title:"Beep 2 short"},{value:"49",title:"Beep 3 short"},{value:"50",title:"Beep 4 short"},{value:"51",title:"The Alarm is armed"},{value:"52",title:"The Alarm is disarmed"},{value:"53",title:"The Backup is ready"},{value:"54",title:"The Door is closed"},{value:"55",title:"The Door is opend"},{value:"56",title:"The Window is closed"},{value:"57",title:"The Window is open"},{value:"58",title:"The Light is off"},{value:"59",title:"The Light is on"},{value:"60",title:"The Doorbell rings"},{value:"61",title:"Pager short"},{value:"62",title:"Pager long"}]},{nameRender:"renderSelect",attr:"priority",defaultValue:0,frontText:"Priority:",options:[{value:-2,title:"lowest priority"},{value:-1,title:"lower priority"},{value:0,title:"normal priority"},{value:1,title:"high priority"},{value:2,title:"highest priority"}]},{nameRender:"renderSelect",attr:"vibration",defaultValue:0,frontText:"Vibration:",options:[{value:"_",title:"default"},{value:1,title:"1"},{value:2,title:"2"},{value:3,title:"3"}]}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Pushsafer",id:"ActionPushsafer",adapter:"pushsafer",title:"Sends message via Pushsafer",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return ov.getStaticData()}}const Lk=`async function (obj) { - "__%%DEBUG_TRIGGER%%__"; - __%%CONDITIONS_VARS%%__ - const _cond = __%%CONDITION%%__; - - "__%%DEBUG_CONDITIONS%%__"; - - if (_cond) { -__%%THEN%%__ - } else { -__%%ELSE%%__ - } -}`,Bk=`async function (obj) { - "__%%DEBUG_TRIGGER%%__"; - __%%CONDITIONS_VARS%%__ - const _cond = __%%CONDITION%%__; - - "__%%DEBUG_CONDITIONS%%__"; - - if (__%%STATE%%__ === false && _cond) { - __%%STATE%%__ = true; -__%%THEN%%__ - } else if (__%%STATE%%__ === true && !_cond) { - __%%STATE%%__ = false; -__%%ELSE%%__ - } -}`,zN=`"__%%DEBUG_TRIGGER%%__"; -__%%CONDITIONS_VARS%%__ -const _cond = __%%CONDITION%%__; - -"__%%DEBUG_CONDITIONS%%__"; - -if (_cond) { -__%%THEN%%__ -} else { -__%%ELSE%%__ -}`,Xy={triggers:[],conditions:[[]],justCheck:!1,actions:{then:[],else:[]}};function UN(o,n,s){const i=[];let a=o.triggers;a.length||(a=[{id:"TriggerScriptSave"}]);const c=[],h=[],g=o.conditions.find($=>$.find(y=>y.tagCard==="()"));a.forEach(($,y)=>{var T;const w=Nw($.id,s);if(w){const C={trigger:$,condition:{index:0},justCheck:g?!1:o.justCheck||!o.conditions.length||!o.conditions[0].length,conditionsDebug:[],conditionsVars:[],conditionsStates:[]},E=w.compile($,C),k=WN(o.conditions,C,s),A=ZS(o.actions.then,C,s),P=ZS(o.actions.else,C,s);c.push(`cond${y}`),(T=C.prelines)!=null&&T.length&&C.prelines.forEach(N=>h.push(N)),E.includes(" __%%CONDITIONS_VARS%%__")&&(C.conditionsVars=C.conditionsVars.map((N,B)=>B?` ${N}`:N),C.conditionsDebug=C.conditionsDebug.map((N,B)=>B?` ${N}`:N)),i.push(E.replace("__%%CONDITIONS_VARS%%__",C.conditionsVars.join(` -`)).replace('"__%%DEBUG_CONDITIONS%%__";',C.conditionsDebug.join(` -`)).replace("__%%CONDITION%%__",k).replace("__%%THEN%%__",A||"// ignore").replace("__%%ELSE%%__",P||"// ignore").replace(/__%%STATE%%__/g,`cond${y}`))}});let b=i.join(` - -`);return(!o.justCheck||g)&&(b=`${c.map($=>`let ${$} = false;`).join(` -`)} - -${b}`),h&&(b=`${h.join(` -`)} - -${b}`),b}function Nw(o,n){return n.find(s=>s.getStaticData&&s.getStaticData().id===o)}function ZS(o,n,s){const i=[];return o==null||o.forEach(a=>{const c=Nw(a.id,s);c&&i.push(c.compile(a,n))}),` ${i.join(` - - `)}`}function WN(o,n,s){const i=[];let a=0;return o==null||o.forEach(c=>{const h=[];c==null||c.forEach(g=>{const b=Nw(g.id,s);b&&(n.condition.index=a++,h.push(b.compile(g,n)))}),i.push(`(${h.join(`) && - (`)})`)}),i.length?i.length===1?i[0]||"true":`(${i.join(") || (")})`:"true"}function HN(o,n){return UN(o,null,n)}function QS(o){if(!o)return Xy;const n=o.split(` -`);try{const s=(n.pop()||"").replace(/^\/\//,"");let i=JSON.parse(s);return i.triggers||(i=Xy),i}catch{return Xy}}function VN(o,n){let s="";const i=HN(o,n);return s+=i,s+=` -/* -const demo = ${JSON.stringify(o,null,2).replace(/\*\//g,"* /")}; -*/ -`,`${s} -//${JSON.stringify(o)}`}class av extends yn{constructor(n){super(n,av.getStaticData())}static compile(n,s){return zN.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${n._id}, {trigger: true})`)}renderDebug(){return I.I18n.t("Triggered")}onTagChange(n){this.setState({inputs:[{nameRender:"renderNameText",defaultValue:"On script save or adapter start",attr:"script"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"triggers",name:"Start script",id:"TriggerScriptSave",icon:"PlayArrow",title:"Triggers the on script saving or the javascript instance restart"}}getData(){return av.getStaticData()}}var Pk={exports:{}};(function(o,n){(function(){var s=Math.PI,i=Math.sin,a=Math.cos,c=Math.tan,h=Math.asin,g=Math.atan2,b=Math.acos,$=s/180,y=1e3*60*60*24,w=2440588,T=2451545;function C(he){return he.valueOf()/y-.5+w}function E(he){return new Date((he+.5-w)*y)}function k(he){return C(he)-T}var A=$*23.4397;function P(he,Ae){return g(i(he)*a(A)-c(Ae)*i(A),a(he))}function N(he,Ae){return h(i(Ae)*a(A)+a(Ae)*i(A)*i(he))}function B(he,Ae,de){return g(i(he),a(he)*i(Ae)-c(de)*a(Ae))}function S(he,Ae,de){return h(i(Ae)*i(de)+a(Ae)*a(de)*a(he))}function H(he,Ae){return $*(280.16+360.9856235*he)-Ae}function q(he){return he<0&&(he=0),2967e-7/Math.tan(he+.00312536/(he+.08901179))}function se(he){return $*(357.5291+.98560028*he)}function ee(he){var Ae=$*(1.9148*i(he)+.02*i(2*he)+3e-4*i(3*he)),de=$*102.9372;return he+Ae+de+s}function K(he){var Ae=se(he),de=ee(Ae);return{dec:N(de,0),ra:P(de,0)}}var Y={};Y.getPosition=function(he,Ae,de){var Se=$*-de,xe=$*Ae,He=k(he),ne=K(He),Ke=H(He,Se)-ne.ra;return{azimuth:B(Ke,xe,ne.dec),altitude:S(Ke,xe,ne.dec)}};var X=Y.times=[[-.833,"sunrise","sunset"],[-.3,"sunriseEnd","sunsetStart"],[-6,"dawn","dusk"],[-12,"nauticalDawn","nauticalDusk"],[-18,"nightEnd","night"],[6,"goldenHourEnd","goldenHour"]];Y.addTime=function(he,Ae,de){X.push([he,Ae,de])};var ce=9e-4;function W(he,Ae){return Math.round(he-ce-Ae/(2*s))}function te(he,Ae,de){return ce+(he+Ae)/(2*s)+de}function ke(he,Ae,de){return T+he+.0053*i(Ae)-.0069*i(2*de)}function Z(he,Ae,de){return b((i(he)-i(Ae)*i(de))/(a(Ae)*a(de)))}function ze(he,Ae,de,Se,xe,He,ne){var Ke=Z(he,de,Se),Te=te(Ke,Ae,xe);return ke(Te,He,ne)}Y.getTimes=function(he,Ae,de){var Se=$*-de,xe=$*Ae,He=k(he),ne=W(He,Se),Ke=te(0,Se,ne),Te=se(Ke),Je=ee(Te),rt=N(Je,0),ht=ke(Ke,Te,Je),nt,Wt,St,lt,ft,st={solarNoon:E(ht),nadir:E(ht+.5)};for(nt=0,Wt=X.length;nt=0&&(mn=Math.sqrt(lt)/(Math.abs(ht)*2),st=Wt-mn,At=Wt+mn,Math.abs(st)<=1&&ft++,Math.abs(At)<=1&&ft++,st<-1&&(st=At)),ft===1?ne<0?Je=Ue+st:rt=Ue+st:ft===2&&(Je=Ue+(St<0?At:st),rt=Ue+(St<0?st:At)),!(Je&&rt));Ue+=2)ne=Te;var Nt={};return Je&&(Nt.rise=at(xe,Je)),rt&&(Nt.set=at(xe,rt)),!Je&&!rt&&(Nt[St>0?"alwaysUp":"alwaysDown"]=!0),Nt},o.exports=Y})()})(Pk);var GN=Pk.exports;const jk=Ga(GN),KN='{"time":{"start":"00:00","end":"24:00","mode":"hours","interval":1},"period":{"days":1}}';class pu extends yn{coordinates=null;constructor(n){super(n,pu.getStaticData())}static compile(n,s){var c;let i="",a=s.justCheck?Lk:Bk;if(a=a.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${n._id}, {trigger: true})`),n.tagCard==="interval")i=`setInterval(${a}, ${n.interval||1} * ${n.unit==="s"?1e3:n.unit==="m"?6e4:36e5});`;else if(n.tagCard==="cron")i=`schedule("${n.cron}", ${a});`;else if(n.tagCard==="at"){const[h,g]=(n.at||"").split(":");let b="*";if((c=n==null?void 0:n.dow)!=null&&c.length&&!n.dow.includes("_")){const $=[...n.dow].map(C=>parseInt(C,10));$.sort();const y=[];let w=$[0],T=1;for(;T<$.length;T++)$[T]-$[T-1]>1?(w===$[T-1]?y.push(w.toString()):$[T-1]-w===1?y.push(`${w},${$[T-1]}`):y.push(`${w}-${$[T-1]}`),w=$[T]):T===$.length-1&&(w===$[T-1]||$[T]-w===1?y.push(`${w},${$[T]}`):y.push(`${w}-${$[T]}`));b=y.join(",")}i=`schedule("${g||"0"} ${h||"0"} * * ${b}", ${a});`}else n.tagCard==="astro"?i=`schedule({astro: "${n.astro}", shift: ${n.offset?n.offsetValue:0}}, ${a});`:n.tagCard==="wizard"&&(i=`schedule('${n.wizard}', ${a});`);return i}static _time2String(n){return n?`${n.getHours().toString().padStart(2,"0")}:${n.getMinutes().toString().padStart(2,"0")}`:"--:--"}async _setAstro(n,s,i){var b,$;if(n||=this.state.settings.astro||"solarNoon",s??=this.state.settings.offset,i??=this.state.settings.offsetValue,i=parseInt(i,10)||0,!this.coordinates){const y=await this.props.socket.getObject("system.adapter.javascript.0"),w=(b=y==null?void 0:y.native)==null?void 0:b.latitude,T=($=y==null?void 0:y.native)==null?void 0:$.longitude;if(!w&&!T){const C=await this.props.socket.getObject("system.config");C!=null&&C.common&&(C.common.latitude||C.common.longitude)?this.coordinates={latitude:parseFloat(C.common.latitude),longitude:parseFloat(C.common.longitude)}:this.coordinates=null}else this.coordinates={latitude:parseFloat(w),longitude:parseFloat(T)}}const a=this.coordinates&&jk.getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude),c=a?Object.keys(a).map(y=>({value:y,title:y,title2:`[${pu._time2String(a[y])}]`,order:a?pu._time2String(a[y]):"??:??"})):[];c.sort((y,w)=>y.order>w.order?1:y.ordersuper.onTagChange())}_setInterval(n){n=parseInt(n||this.state.settings.interval,10)||30;let s;n===1?s=[{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:s=[{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}],this.setState({inputs:[{nameRender:"renderNumber",attr:"interval",frontText:"every",defaultValue:30,className:"block-input-interval"},{nameRender:"renderSelect",attr:"unit",defaultValue:"s",options:s}]},()=>super.onTagChange())}renderDebug(n){return I.I18n.t("Triggered")}onValueChanged(n,s){this.state.settings.tagCard==="astro"?s==="astro"?this._setAstro(n):s==="offset"?this._setAstro(void 0,n):s==="offsetValue"&&this._setAstro(void 0,void 0,n):this.state.settings.tagCard==="interval"&&s==="interval"&&this._setInterval(n)}renderCron(n,s,i){const{className:a}=this.props;return f.jsxs("div",{children:[f.jsxs("div",{style:{display:"flex",alignItems:"baseline"},children:[f.jsx("div",{style:{width:"100%"},children:this.renderText({nameRender:"renderText",attr:"cron",defaultValue:s},this.state.settings.cron||s,i)}),f.jsx(wf,{square:!0,style:{marginLeft:7},value:"...",className:a,onClick:()=>this.setState({openDialog:!0,textCron:this.state.settings.cron})})]}),this.state.openDialog?f.jsx(z_,{disabled:this.state.settings.cron===this.state.textCron,onApply:()=>{const c=this.state.textCron;i(c,"cron",()=>{i(I.convertCronToText(c,I.I18n.getLanguage()),"addText"),this.setState({openDialog:!1})})},onClose:()=>this.setState({openDialog:!1,textCron:""}),children:f.jsx(I.ComplexCron,{cronExpression:this.state.settings.cron,onChange:c=>this.setState({textCron:c}),language:I.I18n.getLanguage()})}):null,this.renderNameText({nameRender:"renderNameText",defaultValue:I.I18n.t("every hour at 0 minutes"),attr:"addText",signature:!0,doNotTranslate:!0},this.state.settings.addText||I.I18n.t("every hour at 0 minutes"))]},"cron")}renderWizard(n,s,i){const{className:a}=this.props;return f.jsxs("div",{children:[f.jsxs("div",{style:{display:"flex",alignItems:"center",marginTop:7},children:[f.jsx(Yl,{className:a,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",multiline:!0,rows:2,value:this.state.settings.wizardText,onChange:c=>i(c),customValue:!0}),f.jsx(wf,{square:!0,style:{marginLeft:7},value:"...",className:a,onClick:()=>this.setState({openDialog:!0,wizard:this.state.settings.wizard,wizardText:I.Schedule.state2text(this.state.settings.wizard)})})]}),this.state.openDialog?f.jsx(z_,{disabled:this.state.settings.wizard===this.state.wizard,onApply:()=>this.setState({openDialog:!1},()=>{const c=JSON.parse(this.state.wizard);c.valid||={from:I.Schedule.now2string()},c.valid.from||=I.Schedule.now2string(),i({wizardText:this.state.wizardText,wizard:JSON.stringify(c)})}),onClose:()=>this.setState({openDialog:!1}),children:f.jsx(I.Schedule,{theme:this.props.theme,schedule:s,onChange:(c,h)=>this.setState({wizardText:h||"",wizard:c})})}):null]},"wizard")}onTagChange(n){switch(n||=this.state.settings.tagCard,n){case"interval":this._setInterval();break;case"cron":this.setState({inputs:[{nameRender:"renderCron",attr:"cron",defaultValue:"0 * * * *"}]},()=>super.onTagChange());break;case"wizard":{const s=JSON.parse(KN);s.valid||={from:I.Schedule.now2string()},s.valid.from||=I.Schedule.now2string(),this.setState({inputs:[{nameRender:"renderWizard",attr:"wizard",defaultValue:JSON.stringify(s)}]},()=>super.onTagChange(null,()=>{const i=I.Schedule.state2text(this.state.settings.wizard||s);if(this.state.settings.wizard!==i){const a=JSON.parse(JSON.stringify(this.state.settings));a.wizardText=i,this.setState({settings:a}),this.props.onChange(a)}}));break}case"at":this.setState({inputs:[{nameRender:"renderTime",prefix:"at",attr:"at",defaultValue:"07:30"},{nameRender:"renderSelect",attr:"dow",default:"",multiple:!0,defaultValue:["_","1","2","3","4","5","6","0"],options:[{value:"_",title:"Every day",only:!0},{value:"1",title:"Monday",titleShort:"Mo"},{value:"2",title:"Tuesday",titleShort:"Tu"},{value:"3",title:"Wednesday",titleShort:"We"},{value:"4",title:"Thursday",titleShort:"Th"},{value:"5",title:"Friday",titleShort:"Fr"},{value:"6",title:"Saturday",titleShort:"Sa"},{value:"0",title:"Sunday",titleShort:"Su"}]}]},()=>super.onTagChange());break;case"astro":this._setAstro();break}}static getStaticData(){return{acceptedBy:"triggers",name:"Schedule",id:"TriggerScheduleBlock",icon:"AccessTime",tagCardArray:["cron","wizard","interval","at","astro"],title:"Triggers the rule periodically or on some specific time"}}getData(){return pu.getStaticData()}}const bh={valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}},Fk=We.forwardRef((o,n)=>f.jsx(D.Slide,{direction:"up",ref:n,...o}));Fk.displayName="Transition";class lv extends yn{inputRef;constructor(n){super(n,lv.getStaticData()),this.inputRef=We.createRef()}static compile(n,s){let i=s.justCheck?Lk:Bk;return i=i.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${n._id}, {val: obj.state.val, ack: obj.state.ack, valOld: obj.oldState && obj.oldState.val, ackOld: obj.oldState && obj.oldState.ack})`),`on({id: "${n.oid||""}", change: "${n.tagCard==="on update"?"any":"ne"}"}, ${i});`}renderDebug(n){return n.data.valOld!==void 0?f.jsxs("span",{children:[I.I18n.t("Triggered")," ",f.jsx("span",{style:n.data.ackOld?bh.valueAck:bh.valueNotAck,children:Dh(n.data.valOld)})," ","→"," ",f.jsx("span",{style:n.data.ack?bh.valueAck:bh.valueNotAck,children:Dh(n.data.val)})]}):f.jsxs("span",{children:[I.I18n.t("Triggered")," ",f.jsx("span",{style:n.data.ack?bh.valueAck:bh.valueNotAck,children:Dh(n.data.val)})]})}onWriteValue(){this.setState({openSimulate:!1});let n=this.state.simulateValue;window.localStorage.setItem(`javascript.app.${this.state.settings.oid}_ack`,this.state.simulateAck?"true":"false"),this.state.settings.oidType==="boolean"?(n=n===!0||n==="true"||n==="1",window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,n?"true":"false")):this.state.settings.oidType==="number"?(n=parseFloat(n)||0,window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,n.toString())):window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,(n==null?void 0:n.toString())||""),this.props.socket.setState(this.state.settings.oid,{val:n,ack:!!this.state.simulateAck})}renderWriteState(){return[f.jsx(D.Button,{disabled:!this.state.settings.oid||!this.state.enableSimulation,variant:"contained",color:"primary",onClick:()=>{this.setState({openSimulate:!0,simulateValue:this.state.settings.oidType==="boolean"?window.localStorage.getItem(`javascript.app.${this.state.settings.oid}`)==="true":window.localStorage.getItem(`javascript.app.${this.state.settings.oid}`)||"",simulateAck:window.localStorage.getItem(`javascript.app.${this.state.settings.oid}_ack`)==="true"}),setTimeout(()=>{var n;return(n=this.inputRef.current)==null?void 0:n.focus()},200)},children:I.I18n.t("Simulate")},"buttonWrite"),f.jsxs(D.Dialog,{open:!!this.state.openSimulate,TransitionComponent:Fk,keepMounted:!0,onClose:()=>this.setState({openSimulate:!1}),"aria-labelledby":"simulate-dialog-slide-title","aria-describedby":"simulate-dialog-slide-description",children:[f.jsx(D.DialogTitle,{id:"simulate-dialog-slide-title",children:I.I18n.t("Trigger with value")}),f.jsxs(D.DialogContent,{children:[this.state.settings.oidType==="boolean"?f.jsx(D.FormControlLabel,{control:f.jsx(D.Switch,{inputRef:this.inputRef,onKeyUp:n=>n.key==="Enter"&&this.onWriteValue(),value:!!this.state.simulateValue,onChange:n=>this.setState({simulateValue:n.target.checked})}),label:I.I18n.t("Value")}):f.jsx(D.TextField,{variant:"standard",inputRef:this.inputRef,label:I.I18n.t("Value"),fullWidth:!0,onKeyUp:n=>n.key==="Enter"&&this.onWriteValue(),value:!this.state.simulateValue&&this.state.simulateValue!==0?"":this.state.simulateValue,onChange:n=>this.setState({simulateValue:n.target.value})}),f.jsx("br",{}),f.jsx(D.FormControlLabel,{control:f.jsx(D.Checkbox,{checked:!!this.state.simulateAck,onChange:n=>this.setState({simulateAck:n.target.checked}),color:"primary"}),label:I.I18n.t("Ack")})]}),f.jsxs(D.DialogActions,{children:[f.jsxs(D.Button,{variant:"contained",onClick:()=>this.onWriteValue(),color:"primary",children:[f.jsx(b_,{}),I.I18n.t("Write")]}),f.jsxs(D.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({openSimulate:!1}),children:[f.jsx(Iv,{}),I.I18n.t("Close")]})]})]},"dialogWrite")]}onTagChange(n){this.setState({inputs:[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},{nameRender:"renderWriteState"}]},()=>{super.onTagChange()})}static getStaticData(){return{acceptedBy:"triggers",name:"State",id:"TriggerState",icon:"FlashOn",tagCardArray:["on change","on update"],title:"Triggers the rule on update or change of some state"}}getData(){return lv.getStaticData()}}const JN=""+new URL("hysteresis-CLhhemcG.png",import.meta.url).href,e0=`function __hysteresis(val, limit, state, hist, comp) { - let cond1, cond2; - if (comp === '>') { - cond1 = val > limit + hist; - cond2 = val <= limit - hist; - } else if (comp === '<') { - cond1 = val < limit - hist; - cond2 = val >= limit + hist; - } else if (comp === '>=') { - cond1 = val >= limit + hist; - cond2 = val < limit - hist; - } else if (comp === '<=') { - cond1 = val <= limit - hist; - cond2 = val > limit + hist; - } else if (comp === '=') { - cond1 = val <= limit + hist && val > limit - hist; - cond2 = val > limit + hist || val <= limit - hist; - } else if (comp === '<>') { - cond1 = val > limit + hist || val <= limit - hist; - cond2 = val <= limit + hist && val > limit - hist; - } - - if (!state && cond1) { - return true; - } else if (state && cond2) { - return false; - } else { - return state; - } -}`;class Cf extends yn{constructor(n){super(n,Cf.getStaticData())}isAllTriggersOnState(){var n,s,i,a;return!!((s=(n=this.props.userRules)==null?void 0:n.triggers)!=null&&s.find(c=>c.id==="TriggerState"))&&!((a=(i=this.props.userRules)==null?void 0:i.triggers)!=null&&a.find(c=>c.id!=="TriggerState"))}static compile(n,s){var h,g;let i=n.value;i==null&&(i=!1);let a,c;if(n.tagCard==="()")s.prelines=s.prelines||[],!s.prelines.find(b=>b!==e0)&&s.prelines.push(e0),n.useTrigger?(a="obj.state.val",i===""&&(i=0),c=`__hysteresis(subCondVar${n._id}, ${i}, __%%STATE%%__, ${n.hist}, "${n.histComp}")`):(a=`(await getStateAsync("${n.oid}")).val`,i===""&&(i=0),typeof i=="string"&&parseFloat(i.trim()).toString()!==i.trim()&&(i=`"${i}"`),c=`__hysteresis(subCondVar${n._id}, ${i}, __%%STATE%%__, ${n.hist}, "${n.histComp}")`);else if(n.tagCard!=="includes"){const b=n.tagCard==="="?"==":n.tagCard==="<>"?"!=":n.tagCard;n.useTrigger?(a="obj.state.val",((h=s==null?void 0:s.trigger)==null?void 0:h.oidType)==="string"?(i=i.replace(/"/g,'\\"'),c=`subCondVar${n._id} ${b} "${i}"`):(i===""&&(i=0),typeof i=="string"&&parseFloat(i.trim()).toString()!==i.trim()&&(i=`"${i}"`),c=`subCondVar${n._id} ${b} ${i}`)):(a=`(await getStateAsync("${n.oid}")).val`,n.oidType==="string"?(i=i.replace(/"/g,'\\"'),c=`subCondVar${n._id} ${b} "${i}"`):(i===""&&(i=0),typeof i=="string"&&parseFloat(i.trim()).toString()!==i.trim()&&(i=`"${i}"`),c=`subCondVar${n._id} ${b} ${i}`))}else n.useTrigger?(a="obj.state.val",((g=s==null?void 0:s.trigger)==null?void 0:g.oidType)==="string"?(i=i.replace(/"/g,'\\"'),c=`obj.state.val.includes("${i}")`):c="false"):(a=`(await getStateAsync("${n.oid}")).val`,n.oidType==="string"?(i=i.replace(/"/g,'\\"'),c=`subCondVar${n._id}.includes("${i}")`):c="false");return s.conditionsStates.push({name:`subCondVar${n._id}`,id:n.oid}),s.conditionsVars.push(`const subCondVar${n._id} = ${a};`),s.conditionsVars.push(`const subCond${n._id} = ${c};`),s.conditionsDebug.push(`_sendToFrontEnd(${n._id}, {result: subCond${n._id}, value: subCondVar${n._id}, compareWith: "${i}"});`),`subCond${n._id}`}renderDebug(n){const s=this.state.settings.tagCard;return s!=="()"?`${n.data.result.toString().toUpperCase()} [${n.data.value} ${s} ${n.data.compareWith}]`:I.I18n.t("Triggered")}onShowHelp=()=>this.setState({showHysteresisHelp:!0});_setInputs(n,s,i,a,c){var k,A;const h=this.isAllTriggersOnState();s=s||this.state.settings.tagCard,i=i||this.state.settings.oidType,a=a||this.state.settings.oidUnit,c=c||this.state.settings.oidStates,n===void 0&&(n=this.state.settings.useTrigger),h&&n&&((A=(k=this.props.userRules)==null?void 0:k.triggers)==null?void 0:A.length)===1&&(i=this.props.userRules.triggers[0].oidType,a=this.props.userRules.triggers[0].oidUnit,c=this.props.userRules.triggers[0].oidStates);const g=Cf.getStaticData().tagCardArray,b=g.find(P=>P.title===s)||g[0];let $,y=null;i==="number"?($=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],c&&(y=Object.keys(c).map(P=>c?{value:P,title:c[P]}:null).filter(P=>P))):i==="boolean"?($=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}],y=[{title:"false",value:!1},{title:"true",value:!0}]):($=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"}],c&&(y=Object.keys(c).map(P=>({value:P,title:c?c[P]:P.toString()}))));let w=null;$.find(P=>P.title===s)||(s=$[0].title,w=w||{...this.state.settings},w.tagCard=s);let T,C={nameRender:"renderText",defaultValue:"",attr:"value",frontText:s==="()"?"Limit":(b==null?void 0:b.text)||"compare with",doNotTranslateBack:!0,backText:a};y&&(C={nameRender:"renderSelect",defaultValue:y[0].value,options:y,attr:"value",frontText:(b==null?void 0:b.text)||"compare with",doNotTranslateBack:!0,backText:a},y.find(P=>P.value===this.state.settings.value)||(w=w||{...this.state.settings},w.value=y[0].value),y.length<=2&&($=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}])),h&&n?T=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1},C]:h?T=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"},{nameRender:"renderObjectID",attr:"oid",defaultValue:""},C]:T=[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},C],s==="()"&&(T.splice(1,0,{nameRender:"renderDialog",icon:"HelpOutline",frontText:"Explanation",onShowDialog:this.onShowHelp}),T.splice(2,0,{nameRender:"renderSelect",attr:"histComp",defaultValue:">",frontText:"Condition",doNotTranslate:!0,options:[{title:">",value:">"},{title:">=",value:">="},{title:"<",value:"<"},{title:"<=",value:"<="},{title:"=",value:"="},{title:"<>",value:"<>"}]}),T.push({frontText:"Δ",doNotTranslate:!0,nameRender:"renderNumber",noHelperText:!0,attr:"hist",defaultValue:1,doNotTranslateBack:!0,backText:a}));const E={iconTag:!0,tagCardArray:$,inputs:T};this.setState(E,()=>super.onTagChange(null,()=>{w&&(this.setState({settings:w}),this.props.onChange(w))}))}onValueChanged(n,s){typeof n=="object"?this._setInputs(n.useTrigger,n.tagCard,n.oidType,n.states):s==="useTrigger"?this._setInputs(n):s==="oidType"?this._setInputs(void 0,void 0,n):s==="oidUnit"?this._setInputs(void 0,void 0,void 0,n):s==="oidStates"&&this._setInputs(void 0,void 0,void 0,void 0,n)}onUpdate(){this._setInputs(this.state.settings.useTrigger)}onTagChange(n){this._setInputs(this.state.settings.useTrigger,n)}static getStaticData(){return{acceptedBy:"conditions",name:"State condition",id:"ConditionState",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],title:"Compares the state value with user defined value"}}getData(){return Cf.getStaticData()}renderSpecific(){return this.state.showHysteresisHelp?f.jsxs(D.Dialog,{open:!0,maxWidth:"md",onClose:()=>this.setState({showHysteresisHelp:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[f.jsx(D.DialogContent,{children:f.jsx(D.DialogContentText,{id:"alert-dialog-description",children:f.jsx("img",{src:JN,alt:"Hysteresis"})})}),f.jsx(D.DialogActions,{children:f.jsx(D.Button,{onClick:()=>this.setState({showHysteresisHelp:!1}),color:"primary",autoFocus:!0,children:I.I18n.t("OK")})})]}):null}}const t0=[31,29,31,30,31,30,31,31,30,31,30,31];class Sf extends yn{constructor(n){super(n,Sf.getStaticData())}static compile(n,s){const i=n.tagCard==="="?"===":n.tagCard==="<>"?"!==":n.tagCard;let a;if(n.withDate){const[c,h]=(n.date||"01.01").toString().split(".");let g=parseInt(h,10)||0,b=parseInt(c,10)||0;b>12?b=12:b<0&&(b=0),g>t0[b]?g=t0[b]:g<0&&(g=0),g&&b?a=`formatDate(Date.now(), 'MM.DD-hh:mm') ${i} "${n.date}-${n.time}"`:g===0&&b?a=`formatDate(Date.now(), 'MM-hh:mm') ${i} "${b.toString().padStart(2,"0")}-${n.time}"`:b===0&&g?a=`formatDate(Date.now(), 'DD-hh:mm') ${i} "${g.toString().padStart(2,"0")}-${n.time}"`:a=`formatDate(Date.now(), 'hh:mm') ${i} "${n.time}"`}else a=`formatDate(Date.now(), 'hh:mm') ${i} "${n.time}"`;return s.conditionsVars.push(`const subCond${n._id} = ${a};`),s.conditionsDebug.push(`_sendToFrontEnd(${n._id}, {result: subCond${n._id}});`),`subCond${n._id}`}_setInputs(n,s){s=s===void 0?this.state.settings.withDate:s,n=n||this.state.settings.tagCard;const i=Sf.getStaticData().tagCardArray,a=i==null?void 0:i.find(h=>h.title===n),c=[{nameRender:"renderNameText",attr:"interval",defaultValue:"Actual time of day"},{frontText:(a==null?void 0:a.text)||n,nameRender:"renderTime",attr:"time",defaultValue:"12:00"},{frontText:"with date",nameRender:"renderCheckbox",attr:"withDate",defaultValue:!1}];s&&c.push({nameRender:"renderDate",attr:"date",defaultValue:"01.01"}),this.setState({inputs:c,iconTag:!0},()=>super.onTagChange())}onValueChanged(n,s){s==="withDate"&&this._setInputs(void 0,n)}onTagChange(n){this._setInputs(n)}static getStaticData(){return{acceptedBy:"conditions",name:"Time condition",id:"ConditionTime",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with the user specific time"}}getData(){return Sf.getStaticData()}}class ql extends yn{coordinates=null;constructor(n){super(n,ql.getStaticData())}static compile(n,s){const i=n.tagCard==="="?"===":n.tagCard==="<>"?"!==":n.tagCard;let a;n.offset&&(a=parseInt(n.offsetValue,10)||0);const c=`formatDate(Date.now(), 'hh:mm') ${i} formatDate(getAstroDate("${n.astro}"${a?`, undefined, ${a}`:""}), 'hh:mm')`;return s.conditionsVars.push(`const subCond${n._id} = ${c};`),s.conditionsDebug.push(`_sendToFrontEnd(${n._id}, {result: ${c}});`),c}static _time2String(n){return n?`${n.getHours().toString().padStart(2,"0")}:${n.getMinutes().toString().padStart(2,"0")}`:"--:--"}onValueChanged(n,s){s==="astro"?this._setAstro(n):s==="offset"?this._setAstro(void 0,n):s==="offsetValue"&&this._setAstro(void 0,void 0,n)}async _setAstro(n,s,i){if(n=n||this.state.settings.astro||"solarNoon",s=s===void 0?this.state.settings.offset:s,i=i===void 0?this.state.settings.offsetValue:i,i=parseInt(i,10)||0,!this.coordinates){const y=await this.props.socket.getObject("system.adapter.javascript.0");if(!(y!=null&&y.native.latitude)&&!(y!=null&&y.native.longitude)){const w=await this.props.socket.getObject("system.config");w&&(w.common.latitude||w.common.longitude)?this.coordinates={latitude:w.common.latitude,longitude:w.common.longitude}:this.coordinates=null}else this.coordinates={latitude:y==null?void 0:y.native.latitude,longitude:y==null?void 0:y.native.longitude}}const a=this.coordinates?jk.getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude):null,c=a?Object.keys(a).map(y=>({value:y,title:y,title2:`[${ql._time2String(a[y])}]`,order:ql._time2String(a[y])})):[];c.sort((y,w)=>y.order>w.order?1:y.ordery.title===this.state.settings.tagCard)||h[0];let b="--:--";if(n&&a&&a[n]){const y=new Date(a[n]);s&&y.setMinutes(y.getMinutes()+parseInt(i,10)),b=`(${I.I18n.t(g.text)} ${ql._time2String(y)})`}let $;s?$=[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:g.text,attr:"astro",nameRender:"renderSelect",options:c,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{backText:i===1?"minute":"minutes",frontText:"offset",nameRender:"renderNumber",defaultValue:0,attr:"offsetValue",noHelperText:!0},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:b}]:$=[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:g.text,attr:"astro",nameRender:"renderSelect",options:c,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:b}],this.setState({inputs:$},()=>super.onTagChange())}onTagChange(){this._setAstro()}static getStaticData(){return{acceptedBy:"conditions",name:"Astronomical",id:"ConditionAstronomical",icon:"Brightness3",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal to"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal to"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with astronomical event"}}getData(){return ql.getStaticData()}}const n0={valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}};class cv extends yn{constructor(n){super(n,cv.getStaticData())}isAllTriggersOnState(){var n,s,i,a;return!!((s=(n=this.props.userRules)==null?void 0:n.triggers)!=null&&s.find(c=>c.id==="TriggerState"))&&!((a=(i=this.props.userRules)==null?void 0:i.triggers)!=null&&a.find(c=>c.id!=="TriggerState"))}static compile(n,s){let i=n.value;n.useTrigger?i=n.toggle?"!obj.state.val":"obj.state.val":(i==null&&(i=""),typeof n.value=="string"&&parseFloat(n.value).toString()!==n.value&&n.value!=="true"&&n.value!=="false"&&(i=`"${i.replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}`));let a;return n.toggle&&!n.useTrigger?a=`const subActionVar${n._id} = !(await getStateAsync("${n.oid}")).val`:a=`const subActionVar${n._id} = ${i}`,`// set state ${n.oid} to ${n.toggle&&!n.useTrigger?"toggle":i} - ${a}; - _sendToFrontEnd(${n._id}, {val: subActionVar${n._id}, ack: ${n.tagCard==="update"}}); - await setStateAsync("${n.oid}", subActionVar${n._id}, ${n.tagCard==="update"});`}renderDebug(n){return f.jsxs("span",{children:[I.I18n.t("Set:")," ",f.jsx("span",{style:n.data.ack?n0.valueAck:n0.valueNotAck,children:Dh(n.data.val)})]})}_setInputs(n,s){const i=this.isAllTriggersOnState();s=s===void 0?this.state.settings.toggle:s,n=n===void 0?this.state.settings.useTrigger:n;let a="",c;const{oidType:h,oidUnit:g,oidStates:b,oidMax:$,oidMin:y,oidRole:w,oidWrite:T,oidStep:C}=this.state.settings;let E;h&&(h==="number"?(a="number",$!==void 0&&y!==void 0&&(a="slider")):h==="boolean"?(a="boolean",w&&w.includes("button")&&T&&(a="button")):(a="",w&&w.includes("color")&&(a="color")),b&&(c=Object.keys(b).map(A=>({value:A,title:b[A]})),a="select"));let k;if(i&&n)k=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],a==="boolean"&&k.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(a){case"number":k=[{backText:g||"",frontText:"with",nameRender:"renderNumber",defaultValue:$===void 0?0:$,attr:"value"}],this.state.settings.value!==void 0&&isNaN(parseFloat(this.state.settings.value))&&(E={value:$===void 0?0:$});break;case"slider":{k=[{nameRender:"renderSlider",defaultValue:$,min:y,max:$,unit:g,step:C,attr:"value"}];const A=parseFloat(this.state.settings.value);this.state.settings.value!==void 0&&(isNaN(A)||A$)&&(E={value:$});break}case"select":k=[{nameRender:"renderSelect",frontText:"with",options:c,defaultValue:(c==null?void 0:c[0].value)||"",attr:"value"}],this.state.settings.value!==void 0&&!(c!=null&&c.find(A=>A.value===this.state.settings.value))&&(E={value:(c==null?void 0:c[0].value)||""});break;case"boolean":k=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],s||k.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),this.state.settings.value!==void 0&&this.state.settings.value!==!1&&this.state.settings.value!==!0&&(E={value:!1});break;case"button":k=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],this.state.settings.value!==void 0&&this.state.settings.value!==!0&&(E={value:!0});break;case"color":k=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],this.state.settings.value!==void 0&&(typeof this.state.settings.value!="string"||!this.state.settings.value.startsWith("#")&&!this.state.settings.value.startsWith("rgb"))&&(E={value:"#FFFFFF"});break;default:k=[{backText:g||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}];break}i&&k.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return{inputs:k,newSettings:E}}onTagChange(n,s,i,a,c){c=c===void 0?this.state.settings.useTrigger:c;const{inputs:h,newSettings:g}=this._setInputs(c,a);h.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:h},()=>super.onTagChange(null,()=>{if(g){const b=JSON.parse(JSON.stringify(this.state.settings));Object.assign(b,g),this.setState(b),this.props.onChange(b)}}))}onValueChanged(n,s){this.onTagChange(void 0,void 0,void 0,s==="toggle"?n:void 0,s==="useTrigger"?n:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set state action",id:"ActionSetState",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return cv.getStaticData()}}class uv extends yn{constructor(n){super(n,uv.getStaticData())}static compile(n,s){return`// exec "${n.exec}" - const subActionVar${n._id} = "${(n.exec||"").replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}; - _sendToFrontEnd(${n._id}, {exec: subActionVar${n._id}}); - console.log(subActionVar${n._id});`}renderDebug(n){return`Exec: ${n.data.exec}`}onTagChange(n){this.setState({inputs:[{nameRender:"renderModalInput",attr:"exec",defaultValue:"ls /opt/iobroker",nameBlock:"Shell command"}]},()=>super.onTagChange(n))}static getStaticData(){return{acceptedBy:"actions",name:"Exec",id:"ActionExec",icon:"Apps",title:"Executes some shell command",helpDialog:"You can use %s in the command to use current trigger value or %id to use the triggered object ID"}}getData(){return uv.getStaticData()}}class dv extends yn{constructor(n){super(n,dv.getStaticData())}static compile(n,s){return`// HTTP request ${n.url} - const subActionVar${n._id} = "${(n.url||"").replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}; - _sendToFrontEnd(${n._id}, {url: subActionVar${n._id}}); - request(subActionVar${n._id});`}renderDebug(n){return`URL: ${n.data.url}`}onTagChange(n){this.setState({inputs:[{nameRender:"renderModalInput",attr:"url",defaultValue:"http://mydevice.com?...",nameBlock:"URL"}]},()=>super.onTagChange(n))}static getStaticData(){return{acceptedBy:"actions",name:"HTTP Call",id:"ActionHTTPCall",icon:"Language",title:"Make a HTTP get request",helpDialog:"You can use %s in the URL to use current trigger value or %id to use the triggered object ID"}}getData(){return dv.getStaticData()}}class hv extends yn{constructor(n){super(n,hv.getStaticData())}static compile(n,s){return`// Log ${n.text} - const subActionVar${n._id} = "${(n.text||"").replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}; - _sendToFrontEnd(${n._id}, {text: subActionVar${n._id}}); - console.log(subActionVar${n._id});`}renderDebug(n){return I.I18n.t("Log: %s",n.data.text)}onTagChange(){this.setState({inputs:[{nameRender:"renderModalInput",attr:"text",defaultValue:"My device triggered",nameBlock:"Log text"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Log text",id:"ActionPrintText",icon:"Subject",title:"Print some text in log",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return hv.getStaticData()}}class pv extends yn{constructor(n){super(n,pv.getStaticData())}static compile(n){const s=n.unit==="ms"?1:n.unit==="s"?1e3:n.unit==="m"?6e4:36e5;return`// pause for ${s}ms - _sendToFrontEnd(${n._id}, {paused: true}); - - await wait(${n.pause} * ${s}); - - _sendToFrontEnd(${n._id}, {paused: false});`}renderDebug(n){return I.I18n.t("Paused: %s",n.data.paused)}_getOptions(n){return n=n===void 0?this.state.settings.pause:n,n===1||n==="1"?[{value:"ms",title:"millisecond"},{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:[{value:"ms",title:"milliseconds"},{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}]}_setInputs(n){this.setState({inputs:[{nameRender:"renderNumber",attr:"pause",defaultValue:100,noHelperText:!0},{nameRender:"renderSelect",attr:"unit",defaultValue:"ms",options:this._getOptions(n)}]},()=>super.onTagChange())}onValueChanged(n,s){s==="pause"&&this._setInputs(n)}onTagChange(){this._setInputs()}static getStaticData(){return{acceptedBy:"actions",name:"Pause",id:"ActionPause",icon:"Pause",title:"Make a pause between actions"}}getData(){return pv.getStaticData()}}class gv extends yn{constructor(n){super(n,gv.getStaticData())}static compile(n){const s=(n.func||"").split(` -`).map(i=>` ${i}`);return s.unshift(` _sendToFrontEnd(${n._id}, {func: 'executed'});`),s.unshift("// user function"),s.join(` -`)}renderDebug(){return I.I18n.t("Function: executed")}onTagChange(n){this.setState({inputs:[{nameRender:"renderModalInput",attr:"func",noTextEdit:!0,defaultValue:'console.log("Test")',nameBlock:"Function"}]},()=>super.onTagChange(n))}static getStaticData(){return{acceptedBy:"actions",name:"User function",id:"ActionFunction",icon:"Functions",title:"Write your own code",helpDialog:"This is advances option. You can write your own code here and it will be executed on trigger"}}getData(){return gv.getStaticData()}}class fv extends yn{constructor(n){super(n,fv.getStaticData())}isAllTriggersOnState(){var n,s,i,a;return!!((s=(n=this.props.userRules)==null?void 0:n.triggers)!=null&&s.find(c=>c.id==="TriggerState"))&&!((a=(i=this.props.userRules)==null?void 0:i.triggers)!=null&&a.find(c=>c.id!=="TriggerState"))}static compile(n,s){let i=n.value;n.useTrigger?i=n.toggle?"!obj.state.val":"obj.state.val":(i==null&&(i=""),typeof n.value=="string"&&parseFloat(n.value).toString()!==n.value&&n.value!=="true"&&n.value!=="false"&&(i=`"${i.replace(/"/g,'\\"')}"${yn.getReplacesInText(s)}`));let a;return n.toggle&&!n.useTrigger?a=`const subActionVar${n._id} = !(await getStateAsync("${n.oid}")).val`:a=`const subActionVar${n._id} = ${i}`,`// set delayed state ${n.oid} to ${n.toggle&&!n.useTrigger?"toggle":i} with delay of ${n.delay}ms - ${a}; - _sendToFrontEnd(${n._id}, {val: subActionVar${n._id}, ack: ${n.tagCard==="update"}}); - setStateDelayed("${n.oid}", subActionVar${n._id}, ${n.tagCard==="update"}, ${parseInt(n.delay,10)}, ${n.clearRunning?"true":"false"});`}renderDebug(n){var s,i;return f.jsxs("span",{children:[I.I18n.t("Set:")," ",f.jsx("span",{className:n.data.ack?(s=this.props.classes)==null?void 0:s.valueAck:(i=this.props.classes)==null?void 0:i.valueNotAck,children:Dh(n.data.val)})]})}_setInputs(n,s){const i=this.isAllTriggersOnState();s=s===void 0?this.state.settings.toggle:s,n=n===void 0?this.state.settings.useTrigger:n;let a="",c;const{oidType:h,oidUnit:g,oidStates:b,oidMax:$,oidMin:y,oidRole:w,oidWrite:T,oidStep:C}=this.state.settings;let E;h&&(h==="number"?(a="number",$!==void 0&&y!==void 0&&(a="slider")):h==="boolean"?(a="boolean",w&&w.includes("button")&&T&&(a="button")):(a="",w&&w.includes("color")&&(a="color")),b&&(c=Object.keys(b).map(A=>({value:A,title:b[A]})),a="select"));let k;if(i&&n)k=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],a==="boolean"&&k.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(a){case"number":k=[{backText:g||"",frontText:"with",nameRender:"renderNumber",defaultValue:$===void 0?0:$,attr:"value"}],this.state.settings.value!==void 0&&isNaN(parseFloat(this.state.settings.value))&&(E={value:$===void 0?0:$});break;case"slider":{k=[{nameRender:"renderSlider",defaultValue:$,min:y,max:$,unit:g,step:C,attr:"value"}];const A=parseFloat(this.state.settings.value);this.state.settings.value!==void 0&&(isNaN(A)||A$)&&(E={value:$});break}case"select":k=[{nameRender:"renderSelect",frontText:"with",options:c,defaultValue:(c==null?void 0:c[0].value)||"",attr:"value"}],this.state.settings.value!==void 0&&!(c!=null&&c.find(A=>A.value===this.state.settings.value))&&(E={value:(c==null?void 0:c[0].value)||""});break;case"boolean":k=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],s||k.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),this.state.settings.value!==void 0&&this.state.settings.value!==!1&&this.state.settings.value!==!0&&(E={value:!1});break;case"button":k=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],this.state.settings.value!==void 0&&this.state.settings.value!==!0&&(E={value:!0});break;case"color":k=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],this.state.settings.value!==void 0&&(typeof this.state.settings.value!="string"||!this.state.settings.value.startsWith("#")&&!this.state.settings.value.startsWith("rgb"))&&(E={value:"#FFFFFF"});break;default:k=[{backText:g||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}];break}i&&k.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return k.push({backText:"ms",frontText:"Delay",nameRender:"renderNumber",defaultValue:1e3,noHelperText:!0,attr:"delay"}),k.push({backText:"clear running",nameRender:"renderCheckbox",defaultValue:!0,attr:"clearRunning"}),{inputs:k,newSettings:E}}onTagChange(n,s,i,a,c){c=c===void 0?this.state.settings.useTrigger:c;const{inputs:h,newSettings:g}=this._setInputs(c,a);h.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:h},()=>super.onTagChange(null,()=>{if(g){const b=JSON.parse(JSON.stringify(this.state.settings));Object.assign(b,g),this.setState(b),this.props.onChange(b)}}))}onValueChanged(n,s){this.onTagChange(void 0,void 0,void 0,s==="toggle"?n:void 0,s==="useTrigger"?n:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set with delay",id:"ActionSetStateDelayed",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state with delay",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return fv.getStaticData()}}class mv extends yn{constructor(n){super(n,mv.getStaticData())}isAllTriggersOnState(){var n,s,i,a;return!!((s=(n=this.props.userRules)==null?void 0:n.triggers)!=null&&s.find(c=>c.id==="TriggerState"))&&!((a=(i=this.props.userRules)==null?void 0:i.triggers)!=null&&a.find(c=>c.id!=="TriggerState"))}static compile(n){const s=`const val2_${n._id} = (await getStateAsync("${n.oid1}")).val;`,i=`const val1_${n._id} = (await getStateAsync("${n.oid2}")).val;`;return`// ${n.oid1} ${n.operation} ${n.oid2} => ${n.oidResult} - ${s} - ${i} - _sendToFrontEnd(${n._id}, {val: val1_${n._id} ${n.operation} val2_${n._id}, ack: ${n.tagCard==="update"}}); - await setStateAsync("${n.oidResult}", val1_${n._id} ${n.operation} val2_${n._id}, ${n.tagCard==="update"});`}renderDebug(n){var s,i;return f.jsxs("span",{children:[I.I18n.t("Set:")," ",f.jsx("span",{className:n.data.ack?(s=this.props.classes)==null?void 0:s.valueAck:(i=this.props.classes)==null?void 0:i.valueNotAck,children:Dh(n.data.val)})]})}onTagChange(){const n=[];n.push({nameRender:"renderObjectID",title:"ID1",attr:"oid1",defaultValue:"",checkReadOnly:!1}),n.push({nameRender:"renderSelect",options:[{value:"+",title:"+"},{value:"-",title:"-"},{value:"*",title:"*"},{value:"/",title:"/"}],doNotTranslate:!0,defaultValue:"+",attr:"operation"}),n.push({nameRender:"renderObjectID",title:"ID2",attr:"oid2",defaultValue:"",checkReadOnly:!1}),n.push({nameRender:"renderNameText",defaultValue:"store in",attr:"textEqual"}),n.push({nameRender:"renderObjectID",attr:"oidResult",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:n},()=>super.onTagChange(null,()=>{const s=JSON.parse(JSON.stringify(this.state.settings));this.props.onChange(s)}))}onValueChanged(n,s){this.onTagChange()}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Operate two states",id:"ActionOperateStates",icon:"AddBox",tagCardArray:["control","update"],title:"Operations with two states"}}getData(){return mv.getStaticData()}}const qN=[pu,av,lv,Cf,Sf,ql,cv,uv,dv,hv,pv,gv,fv,mv],_$={sayit:sv,pushover:rv,"whatsapp-cmb":iv,pushsafer:ov},Gf=ve.createContext({blocks:null,socket:null,onUpdate:!1,setOnUpdate:o=>{},setOnDebugMessage:o=>{},onDebugMessage:[],enableSimulation:!1,setEnableSimulation:o=>{}}),YN=({children:o,socket:n})=>{const[s,i]=ve.useState(null),[a,c]=ve.useState(!1),[h,g]=ve.useState([]),[b,$]=ve.useState(!1);return ve.useEffect(()=>{a&&c(!1)},[a]),ve.useEffect(()=>{(async()=>{const y=await n.getAdapterInstances(),w=Object.keys(_$).filter(A=>y.find(P=>{var N;return((N=P==null?void 0:P.common)==null?void 0:N.name)===A})),T=[],C=y.filter(A=>A.common.javascriptRules),E=[];for(const A of C){if(E.includes(A.common.name)||!A.common.javascriptRules)continue;let P;if(A.common.javascriptRules.url.startsWith("http:")||A.common.javascriptRules.url.startsWith("https:")?P=A.common.javascriptRules.url:A.common.javascriptRules.url.startsWith("./")?P=`${window.location.protocol}//${window.location.host}${A.common.javascriptRules.url.replace(/^\./,"")}`:P=`${window.location.protocol}//${window.location.host}/adapter/${A.common.name}/${A.common.javascriptRules.url}`,A.common.javascriptRules.i18n===!0){const N=P.lastIndexOf("/");let B;N!==-1?B=P.substring(0,N):B=P;const S=I.I18n.getLanguage(),H=`${B}/i18n/${S}.json`;await fetch(H).then(q=>q.json()).then(q=>I.I18n.extendTranslations(q,S)).catch(q=>{if(S!=="en")return fetch(`${B}/i18n/en.json`).then(se=>se.json()).then(se=>I.I18n.extendTranslations(se,S)).catch(se=>console.error(`Cannot load i18n "${H}": ${se}`));console.log(`Cannot load i18n "${H}": ${q}`)})}else if(A.common.javascriptRules.i18n&&typeof A.common.javascriptRules.i18n=="object")try{I.I18n.extendTranslations(A.common.javascriptRules.i18n)}catch(N){console.error(`Cannot import i18n for "${A.common.javascriptRules.name}": ${N}`)}try{p_.registerRemotes([{name:A.common.javascriptRules.name,entry:P,type:A.common.javascriptRules.type}]);const N=(await p_.loadRemote(`${A.common.javascriptRules.name}/${A.common.javascriptRules.name}`)).default;N&&(T.push(N),E.push(A.common.name),_$[A.common.name]=null)}catch(N){console.error(`Cannot load component "${A.common.javascriptRules.name}": ${N}`)}}const k=w.filter(A=>_$[A]).map(A=>_$[A]);i([...qN,...k,...T])})()},[]),f.jsx(Gf.Provider,{value:{blocks:s,socket:n,onUpdate:a,setOnUpdate:c,onDebugMessage:h,setOnDebugMessage:g,enableSimulation:b,setEnableSimulation:$},children:o})};function XN(o,n,s){const{_id:i,acceptedBy:a}=o;let c;if(!a||!n[a])return console.warn(`Cannot find ${a}`),n;switch(a){case"actions":if(c=n.actions[s].find(h=>h._id===i),!c)console.warn(`Cannot find ${i}`);else{const h=n.actions[s].indexOf(c);n.actions[s][h]=o}return n;case"conditions":if(c=n.conditions[s].find(h=>h._id===i),!c)console.warn(`Cannot find ${i}`);else{const h=n.conditions[s].indexOf(c);n.conditions[s][h]=o}return n;default:if(c=n.triggers.find(h=>h._id===i),!c)console.warn(`Cannot find ${i}`);else{const h=n.triggers.indexOf(c);n.triggers[h]=o}return n}}const zk=ve.memo(o=>{var Y;const{setUserRules:n,userRules:s,_id:i,id:a,blockValue:c,active:h,acceptedBy:g,isTourOpen:b,setTourStep:$,tourStep:y}=o,[w,T]=ve.useState(null),{blocks:C,socket:E,onUpdate:k,setOnUpdate:A,onDebugMessage:P,enableSimulation:N}=ve.useContext(Gf),B=ve.useCallback(X=>C==null?void 0:C.find(ce=>ce.getStaticData().id===X),[C]),S=ve.useCallback(X=>{const ce=XN(X,s,c);ce&&n(ce)},[s]),H=X=>{X.currentTarget!==w&&T(X.currentTarget)},q=()=>T(null),se=ve.useMemo(()=>{const X=B(a)||yn;return f.jsx(X,{...o,notFound:!B(a),isTourOpen:b,setTourStep:$,tourStep:y,onUpdate:k,setOnUpdate:A,enableSimulation:N,onDebugMessage:P,onChange:S,className:void 0,socket:E})},[s,k,P,N]),[ee,K]=ve.useState(!1);return f.jsxs("div",{onMouseMove:H,onMouseEnter:H,onMouseLeave:q,onMouseDown:X=>{if(X.ctrlKey){let ce;const W=Rh(g,s,c);g==="conditions"?(ce=W.conditions[c].find(te=>te._id===i),ce&&W.conditions[c].splice(W.conditions[c].indexOf(ce),0,{...ce,_id:Date.now()})):g==="actions"?(ce=W.actions[c].find(te=>te._id===i),ce&&W.actions[c].splice(W.actions[c].indexOf(ce),0,{...ce,_id:Date.now()})):(ce=W.triggers.find(te=>te._id===i),ce&&W.triggers.splice(W[g].indexOf(ce),0,{...ce,_id:Date.now()})),n(W)}},id:"height",style:h?{width:(((Y=document.getElementById("width"))==null?void 0:Y.clientWidth)||0)-70}:void 0,className:`${mh.cardStyle} ${h?mh.cardStyleActive:null} ${ee?mh.isDelete:null}`,children:[f.jsx("div",{className:mh.drag_mobile}),se,n&&f.jsx("div",{className:mh.controlMenu,style:w?{opacity:1}:{opacity:0},children:f.jsx("div",{onClick:()=>{let X=Rh(g,s,c);X=du(g,X,c,i),K(!0),setTimeout(()=>{g==="triggers"&&A(!0),n(X)},300)},className:mh.closeBtn})})]})}),ZN={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},QN=(o,n,s)=>{if(!o||!n)return{display:"none"};let{x:i,y:a}=n;const c=`translate(${i}px, ${a}px)`;return{transform:c,WebkitTransform:c}},eL=o=>{const{itemType:n,isDragging:s,item:i,initialOffset:a,currentOffset:c,targetIds:h}=vA(b=>({item:b.getItem(),itemType:b.getItemType(),initialOffset:b.getInitialSourceClientOffset(),currentOffset:b.getSourceClientOffset(),isDragging:b.isDragging(),targetIds:b.getTargetIds()})),g=()=>{switch(n){case"box":return h.length?f.jsx(zk,{active:!0,...i,allBlocks:o.allBlocks}):f.jsx(Mk,{active:!0,...i,socket:o.socket});default:return null}};return s?f.jsx("div",{style:ZN,children:f.jsx("div",{style:QN(a,c),children:g()})}):null},tL="_border_wrpm3_1",nL="_emptyBlockStyle_wrpm3_6",sL="_emptyBlock_wrpm3_6",rL="_selectOnChange_wrpm3_22",iL="_selectOnChangeHelp_wrpm3_28",oL="_selectOnChangeHelpIcon_wrpm3_34",aL="_emptyBlockNone_wrpm3_49",lL="_mainBlockItemRules_wrpm3_55",cL="_nameBlockItems_wrpm3_63",uL="_contentBlockItem_wrpm3_73",dL="_wrapperMargin_wrpm3_81",hL="_contentHeightOn_wrpm3_87",pL="_contentHeightOff_wrpm3_99",gL="_cardAdd_wrpm3_105",fL="_blockCardAdd_wrpm3_125",mL="_addClassOverflow_wrpm3_136",bL="_addClassHeight_wrpm3_140",ps={border:tL,emptyBlockStyle:nL,emptyBlock:sL,selectOnChange:rL,selectOnChangeHelp:iL,selectOnChangeHelpIcon:oL,emptyBlockNone:aL,mainBlockItemRules:lL,nameBlockItems:cL,contentBlockItem:uL,wrapperMargin:dL,contentHeightOn:hL,contentHeightOff:pL,cardAdd:gL,blockCardAdd:fL,addClassOverflow:mL,addClassHeight:bL};function U_(o,n){const[s,i]=ve.useState(window.localStorage.getItem(n)?JSON.parse(window.localStorage.getItem(n)||""):o);return[s,c=>{window.localStorage.setItem(n,JSON.stringify(c)),i(c)},!!window.localStorage.getItem(n)]}var bv={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */var $L=bv.exports;(function(o,n){(function(){var s,i="4.17.21",a=200,c="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",h="Expected a function",g="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",$=500,y="__lodash_placeholder__",w=1,T=2,C=4,E=1,k=2,A=1,P=2,N=4,B=8,S=16,H=32,q=64,se=128,ee=256,K=512,Y=30,X="...",ce=800,W=16,te=1,ke=2,Z=3,ze=1/0,Ce=9007199254740991,at=17976931348623157e292,he=NaN,Ae=4294967295,de=Ae-1,Se=Ae>>>1,xe=[["ary",se],["bind",A],["bindKey",P],["curry",B],["curryRight",S],["flip",K],["partial",H],["partialRight",q],["rearg",ee]],He="[object Arguments]",ne="[object Array]",Ke="[object AsyncFunction]",Te="[object Boolean]",Je="[object Date]",rt="[object DOMException]",ht="[object Error]",nt="[object Function]",Wt="[object GeneratorFunction]",St="[object Map]",lt="[object Number]",ft="[object Null]",st="[object Object]",At="[object Promise]",mn="[object Proxy]",Ue="[object RegExp]",Nt="[object Set]",wt="[object String]",qt="[object Symbol]",ct="[object Undefined]",me="[object WeakMap]",ge="[object WeakSet]",ue="[object ArrayBuffer]",we="[object DataView]",Ve="[object Float32Array]",re="[object Float64Array]",Fe="[object Int8Array]",It="[object Int16Array]",pt="[object Int32Array]",En="[object Uint8Array]",mt="[object Uint8ClampedArray]",Cn="[object Uint16Array]",$n="[object Uint32Array]",zn=/\b__p \+= '';/g,Jn=/\b(__p \+=) '' \+/g,Gs=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ns=/&(?:amp|lt|gt|quot|#39);/g,Rn=/[&<>"']/g,Kt=RegExp(ns.source),Pn=RegExp(Rn.source),cs=/<%-([\s\S]+?)%>/g,Ks=/<%([\s\S]+?)%>/g,jn=/<%=([\s\S]+?)%>/g,Un=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Rs=/^\w*$/,ii=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ir=/[\\^$.*+?()[\]{}|]/g,ec=RegExp(Ir.source),xr=/^\s+/,Ka=/\s/,tc=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nc=/\{\n\/\* \[wrapped with (.+)\] \*/,Tu=/,? & /,Yo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,z=/[()=,{}\[\]\/\s]/,U=/\\(\\)?/g,R=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,j=/\w*$/,F=/^[-+]0x[0-9a-f]+$/i,pe=/^0b[01]+$/i,Ee=/^\[object .+?Constructor\]$/,_e=/^0o[0-7]+$/i,ae=/^(?:0|[1-9]\d*)$/,je=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,it=/($^)/,Ft=/['\n\r\u2028\u2029\\]/g,Yt="\\ud800-\\udfff",on="\\u0300-\\u036f",Lt="\\ufe20-\\ufe2f",an="\\u20d0-\\u20ff",_n=on+Lt+an,Tt="\\u2700-\\u27bf",In="a-z\\xdf-\\xf6\\xf8-\\xff",ss="\\xac\\xb1\\xd7\\xf7",Js="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Xo="\\u2000-\\u206f",Dr=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ho="A-Z\\xc0-\\xd6\\xd8-\\xde",Ts="\\ufe0e\\ufe0f",tn=ss+Js+Xo+Dr,qs="['’]",Oi="["+Yt+"]",rs="["+tn+"]",Ms="["+_n+"]",po="\\d+",Zo="["+Tt+"]",Ri="["+In+"]",go="[^"+Yt+tn+po+Tt+In+ho+"]",fo="\\ud83c[\\udffb-\\udfff]",oi="(?:"+Ms+"|"+fo+")",Mi="[^"+Yt+"]",ku="(?:\\ud83c[\\udde6-\\uddff]){2}",Ja="[\\ud800-\\udbff][\\udc00-\\udfff]",Qo="["+ho+"]",Nh="\\u200d",sc="(?:"+Ri+"|"+go+")",Xf="(?:"+Qo+"|"+go+")",ea="(?:"+qs+"(?:d|ll|m|re|s|t|ve))?",Lh="(?:"+qs+"(?:D|LL|M|RE|S|T|VE))?",Eu=oi+"?",rc="["+Ts+"]?",Bh="(?:"+Nh+"(?:"+[Mi,ku,Ja].join("|")+")"+rc+Eu+")*",Ph="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Zf="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ic=rc+Eu+Bh,qa="(?:"+[Zo,ku,Ja].join("|")+")"+ic,Iu="(?:"+[Mi+Ms+"?",Ms,ku,Ja,Oi].join("|")+")",Qf=RegExp(qs,"g"),jh=RegExp(Ms,"g"),oc=RegExp(fo+"(?="+fo+")|"+Iu+ic,"g"),em=RegExp([Qo+"?"+Ri+"+"+ea+"(?="+[rs,Qo,"$"].join("|")+")",Xf+"+"+Lh+"(?="+[rs,Qo+sc,"$"].join("|")+")",Qo+"?"+sc+"+"+ea,Qo+"+"+Lh,Zf,Ph,po,qa].join("|"),"g"),tm=RegExp("["+Nh+Yt+_n+Ts+"]"),ta=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nm=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ac=-1,Qt={};Qt[Ve]=Qt[re]=Qt[Fe]=Qt[It]=Qt[pt]=Qt[En]=Qt[mt]=Qt[Cn]=Qt[$n]=!0,Qt[He]=Qt[ne]=Qt[ue]=Qt[Te]=Qt[we]=Qt[Je]=Qt[ht]=Qt[nt]=Qt[St]=Qt[lt]=Qt[st]=Qt[Ue]=Qt[Nt]=Qt[wt]=Qt[me]=!1;var Sn={};Sn[He]=Sn[ne]=Sn[ue]=Sn[we]=Sn[Te]=Sn[Je]=Sn[Ve]=Sn[re]=Sn[Fe]=Sn[It]=Sn[pt]=Sn[St]=Sn[lt]=Sn[st]=Sn[Ue]=Sn[Nt]=Sn[wt]=Sn[qt]=Sn[En]=Sn[mt]=Sn[Cn]=Sn[$n]=!0,Sn[ht]=Sn[nt]=Sn[me]=!1;var sm={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},rm={"&":"&","<":"<",">":">",'"':""","'":"'"},im={"&":"&","<":"<",">":">",""":'"',"'":"'"},om={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},am=parseFloat,lm=parseInt,xu=typeof Vo=="object"&&Vo&&Vo.Object===Object&&Vo,Ni=typeof self=="object"&&self&&self.Object===Object&&self,Wn=xu||Ni||Function("return this")(),lc=n&&!n.nodeType&&n,mo=lc&&!0&&o&&!o.nodeType&&o,Fh=mo&&mo.exports===lc,Du=Fh&&xu.process,hr=function(){try{var ie=mo&&mo.require&&mo.require("util").types;return ie||Du&&Du.binding&&Du.binding("util")}catch{}}(),zh=hr&&hr.isArrayBuffer,Uh=hr&&hr.isDate,Wh=hr&&hr.isMap,Hh=hr&&hr.isRegExp,Vh=hr&&hr.isSet,Au=hr&&hr.isTypedArray;function Ys(ie,De,be){switch(be.length){case 0:return ie.call(De);case 1:return ie.call(De,be[0]);case 2:return ie.call(De,be[0],be[1]);case 3:return ie.call(De,be[0],be[1],be[2])}return ie.apply(De,be)}function Ya(ie,De,be,et){for(var xt=-1,rn=ie==null?0:ie.length;++xt-1}function cc(ie,De,be){for(var et=-1,xt=ie==null?0:ie.length;++et-1;);return be}function Zh(ie,De){for(var be=ie.length;be--&&bo(De,ie[be],0)>-1;);return be}function hm(ie,De){for(var be=ie.length,et=0;be--;)ie[be]===De&&++et;return et}var pm=tl(sm),gm=tl(rm);function sl(ie){return"\\"+om[ie]}function Qh(ie,De){return ie==null?s:ie[De]}function $o(ie){return tm.test(ie)}function rl(ie){return ta.test(ie)}function Nu(ie){for(var De,be=[];!(De=ie.next()).done;)be.push(De.value);return be}function Lu(ie){var De=-1,be=Array(ie.size);return ie.forEach(function(et,xt){be[++De]=[xt,et]}),be}function ep(ie,De){return function(be){return ie(De(be))}}function li(ie,De){for(var be=-1,et=ie.length,xt=0,rn=[];++be-1}function Mm(u,d){var m=this.__data__,_=$l(m,u);return _<0?(++this.size,m.push([u,d])):m[_][1]=d,this}Rr.prototype.clear=gp,Rr.prototype.delete=Ku,Rr.prototype.get=Om,Rr.prototype.has=Rm,Rr.prototype.set=Mm;function di(u){var d=-1,m=u==null?0:u.length;for(this.clear();++d=d?u:d)),u}function gr(u,d,m,_,x,L){var V,Q=d&w,le=d&T,Me=d&C;if(m&&(V=x?m(u,_,x,L):m(u)),V!==s)return V;if(!An(u))return u;var Ne=jt(u);if(Ne){if(V=Ji(u),!Q)return Vn(u,V)}else{var Pe=Le(u),qe=Pe==nt||Pe==Wt;if(ei(u))return Wp(u,Q);if(Pe==st||Pe==He||qe&&!x){if(V=le||qe?{}:Lr(u),!Q)return le?Gm(u,Bm(V,u)):Ic(u,yc(V,u))}else{if(!Sn[Pe])return x?u:{};V=ng(u,Pe,Q)}}L||(L=new pr);var dt=L.get(u);if(dt)return dt;L.set(u,V),Rg(u)?u.forEach(function(vt){V.add(gr(vt,d,m,vt,u,L))}):Rb(u)&&u.forEach(function(vt,Xt){V.set(Xt,gr(vt,d,m,Xt,u,L))});var $t=Me?le?_d:Ac:le?hs:ls,Ut=Ne?s:$t(u);return Ns(Ut||u,function(vt,Xt){Ut&&(Xt=vt,vt=u[Xt]),bl(V,Xt,gr(vt,d,m,Xt,u,L))}),V}function $p(u){var d=ls(u);return function(m){return vp(m,u,d)}}function vp(u,d,m){var _=m.length;if(u==null)return!_;for(u=kt(u);_--;){var x=m[_],L=d[x],V=u[x];if(V===s&&!(x in u)||!L(V))return!1}return!0}function vl(u,d,m){if(typeof u!="function")throw new us(h);return Il(function(){u.apply(s,m)},d)}function Wi(u,d,m,_){var x=-1,L=Xa,V=!0,Q=u.length,le=[],Me=d.length;if(!Q)return le;m&&(d=wn(d,Xs(m))),_?(L=cc,V=!1):d.length>=a&&(L=ra,V=!1,d=new Mr(d));e:for(;++xx?0:x+m),_=_===s||_>x?x:Ct(_),_<0&&(_+=x),_=m>_?0:Pl(_);m<_;)u[m++]=d;return u}function _c(u,d){var m=[];return Hi(u,function(_,x,L){d(_,x,L)&&m.push(_)}),m}function os(u,d,m,_,x){var L=-1,V=u.length;for(m||(m=ds),x||(x=[]);++L0&&m(Q)?d>1?os(Q,d-1,m,_,x):Kr(x,Q):_||(x[x.length]=Q)}return x}var ed=Vp(),wp=Vp(!0);function Yr(u,d){return u&&ed(u,d,ls)}function So(u,d){return u&&wp(u,d,ls)}function _l(u,d){return ai(d,function(m){return vs(u[m])})}function To(u,d){d=ks(d,u);for(var m=0,_=d.length;u!=null&&m<_;)u=u[bs(d[m++])];return m&&m==_?u:s}function wc(u,d,m){var _=d(u);return jt(u)?_:Kr(_,m(u))}function Dn(u){return u==null?u===s?ct:ft:Fi&&Fi in kt(u)?tg(u):Bc(u)}function td(u,d){return u>d}function ko(u,d){return u!=null&&nn.call(u,d)}function Cp(u,d){return u!=null&&d in kt(u)}function Pm(u,d,m){return u>=fs(d,m)&&u=120&&Ne.length>=120)?new Mr(V&&Ne):s}Ne=u[0];var Pe=-1,qe=Q[0];e:for(;++Pe-1;)Q!==u&&mc.call(Q,le,1),mc.call(u,le,1);return u}function ud(u,d){for(var m=u?d.length:0,_=m-1;m--;){var x=d[m];if(m==_||x!==L){var L=x;oe(x)?mc.call(u,x,1):fd(u,x)}}return u}function dd(u,d){return u+vo(yo()*(d-u+1))}function Mp(u,d,m,_){for(var x=-1,L=Xn(pl((d-u)/(m||1)),0),V=be(L);L--;)V[_?L:++x]=u,u+=m;return V}function Sc(u,d){var m="";if(!u||d<1||d>Ce)return m;do d%2&&(m+=u),d=vo(d/2),d&&(u+=u);while(d);return m}function Ht(u,d){return Rt(El(u,d,Ds),u+"")}function Np(u){return Yu(Pa(u))}function Lp(u,d){var m=Pa(u);return Br(m,Co(d,0,m.length))}function fa(u,d,m,_){if(!An(u))return u;d=ks(d,u);for(var x=-1,L=d.length,V=L-1,Q=u;Q!=null&&++xx?0:x+d),m=m>x?x:m,m<0&&(m+=x),x=d>m?0:m-d>>>0,d>>>=0;for(var L=be(x);++_>>1,V=u[L];V!==null&&!ir(V)&&(m?V<=d:V=a){var Me=d?null:qp(u);if(Me)return il(Me);V=!1,x=ra,le=new Mr}else le=d?[]:Q;e:for(;++_=_?u:Qs(u,d,m)}var Up=ju||function(u){return Wn.clearTimeout(u)};function Wp(u,d){if(d)return u.slice();var m=u.length,_=dl?dl(m):new u.constructor(m);return u.copy(_),_}function md(u){var d=new u.constructor(u.byteLength);return new ul(d).set(new ul(u)),d}function Hm(u,d){var m=d?md(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.byteLength)}function Vm(u){var d=new u.constructor(u.source,j.exec(u));return d.lastIndex=u.lastIndex,d}function ty(u){return _o?kt(_o.call(u)):{}}function bd(u,d){var m=d?md(u.buffer):u.buffer;return new u.constructor(m,u.byteOffset,u.length)}function Hp(u,d){if(u!==d){var m=u!==s,_=u===null,x=u===u,L=ir(u),V=d!==s,Q=d===null,le=d===d,Me=ir(d);if(!Q&&!Me&&!L&&u>d||L&&V&&le&&!Q&&!Me||_&&V&&le||!m&&le||!x)return 1;if(!_&&!L&&!Me&&u=Q)return le;var Me=m[_];return le*(Me=="desc"?-1:1)}}return u.index-d.index}function $d(u,d,m,_){for(var x=-1,L=u.length,V=m.length,Q=-1,le=d.length,Me=Xn(L-V,0),Ne=be(le+Me),Pe=!_;++Q1?m[x-1]:s,V=x>2?m[2]:s;for(L=u.length>3&&typeof L=="function"?(x--,L):s,V&&Bt(m[0],m[1],V)&&(L=x<3?s:L,x=1),d=kt(d);++_-1?x[L?d[V]:V]:s}}function Kp(u){return mi(function(d){var m=d.length,_=m,x=Zn.prototype.thru;for(u&&d.reverse();_--;){var L=d[_];if(typeof L!="function")throw new us(h);if(x&&!V&&Oc(L)=="wrapper")var V=new Zn([],!0)}for(_=V?_:m;++_1&&en.reverse(),Ne&&leQ))return!1;var Me=L.get(u),Ne=L.get(d);if(Me&&Ne)return Me==d&&Ne==u;var Pe=-1,qe=!0,dt=m&k?new Mr:s;for(L.set(u,d),L.set(d,u);++Pe1?"& ":"")+d[_],d=d.join(m>2?", ":" "),u.replace(tc,`{ -/* [wrapped with `+d+`] */ -`)}function ds(u){return jt(u)||eo(u)||!!(hl&&u&&u[hl])}function oe(u,d){var m=typeof u;return d=d??Ce,!!d&&(m=="number"||m!="symbol"&&ae.test(u))&&u>-1&&u%1==0&&u0){if(++d>=ce)return arguments[0]}else d=0;return u.apply(s,arguments)}}function Br(u,d){var m=-1,_=u.length,x=_-1;for(d=d===s?_:d;++m1?u[d-1]:s;return m=typeof m=="function"?(u.pop(),m):s,Vc(u,m)});function ka(u){var d=M(u);return d.__chain__=!0,d}function ln(u,d){return d(u),u}function Zi(u,d){return d(u)}var Ea=mi(function(u){var d=u.length,m=d?u[0]:0,_=this.__wrapped__,x=function(L){return Zu(L,u)};return d>1||this.__actions__.length||!(_ instanceof Ot)||!oe(m)?this.thru(x):(_=_.slice(m,+m+(d?1:0)),_.__actions__.push({func:Zi,args:[x],thisArg:s}),new Zn(_,this.__chain__).thru(function(L){return d&&!L.length&&L.push(s),L}))});function vg(){return ka(this)}function Do(){return new Zn(this.value(),this.__chain__)}function _b(){this.__values__===s&&(this.__values__=Lb(this.value()));var u=this.__index__>=this.__values__.length,d=u?s:this.__values__[this.__index__++];return{done:u,value:d}}function yg(){return this}function Is(u){for(var d,m=this;m instanceof ui;){var _=og(m);_.__index__=0,_.__values__=s,d?x.__wrapped__=_:d=_;var x=_;m=m.__wrapped__}return x.__wrapped__=u,d}function Gc(){var u=this.__wrapped__;if(u instanceof Ot){var d=u;return this.__actions__.length&&(d=new Ot(this)),d=d.reverse(),d.__actions__.push({func:Zi,args:[Yi],thisArg:s}),new Zn(d,this.__chain__)}return this.thru(Yi)}function Ol(){return Gi(this.__wrapped__,this.__actions__)}var Md=gi(function(u,d,m){nn.call(u,m)?++u[m]:pi(u,m,1)});function Kc(u,d,m){var _=jt(u)?na:yp;return m&&Bt(u,d,m)&&(d=s),_(u,gt(d,3))}function Rl(u,d){var m=jt(u)?ai:_c;return m(u,gt(d,3))}var wb=Km(ib),Cb=Km(ob);function Ia(u,d){return os(xa(u,d),1)}function _g(u,d){return os(xa(u,d),ze)}function wg(u,d,m){return m=m===s?1:Ct(m),os(xa(u,d),m)}function mr(u,d){var m=jt(u)?Ns:Hi;return m(u,gt(d,3))}function Ml(u,d){var m=jt(u)?cm:Qu;return m(u,gt(d,3))}var Cg=gi(function(u,d,m){nn.call(u,m)?u[m].push(d):pi(u,m,[d])});function Sg(u,d,m,_){u=ts(u)?u:Pa(u),m=m&&!_?Ct(m):0;var x=u.length;return m<0&&(m=Xn(x+m,0)),tu(u)?m<=x&&u.indexOf(d,m)>-1:!!x&&bo(u,d,m)>-1}var Sb=Ht(function(u,d,m){var _=-1,x=typeof d=="function",L=ts(u)?be(u.length):[];return Hi(u,function(V){L[++_]=x?Ys(d,V,m):ha(V,d,m)}),L}),Tb=gi(function(u,d,m){pi(u,m,d)});function xa(u,d){var m=jt(u)?wn:Dp;return m(u,gt(d,3))}function es(u,d,m,_){return u==null?[]:(jt(d)||(d=d==null?[]:[d]),m=_?s:m,jt(m)||(m=m==null?[]:[m]),ad(u,d,m))}var br=gi(function(u,d,m){u[m?0:1].push(d)},function(){return[[],[]]});function Tg(u,d,m){var _=jt(u)?uc:Jr,x=arguments.length<3;return _(u,gt(d,4),m,x,Hi)}function kg(u,d,m){var _=jt(u)?um:Jr,x=arguments.length<3;return _(u,gt(d,4),m,x,Qu)}function kb(u,d){var m=jt(u)?ai:_c;return m(u,Ld(gt(d,3)))}function jr(u){var d=jt(u)?Yu:Np;return d(u)}function Jc(u,d,m){(m?Bt(u,d,m):d===s)?d=1:d=Ct(d);var _=jt(u)?Xu:Lp;return _(u,d)}function vn(u){var d=jt(u)?bp:Pp;return d(u)}function Gn(u){if(u==null)return 0;if(ts(u))return tu(u)?ia(u):u.length;var d=Le(u);return d==St||d==Nt?u.size:rd(u).length}function Nl(u,d,m){var _=jt(u)?dc:Wm;return m&&Bt(u,d,m)&&(d=s),_(u,gt(d,3))}var Eg=Ht(function(u,d){if(u==null)return[];var m=d.length;return m>1&&Bt(u,d[0],d[1])?d=[]:m>2&&Bt(d[0],d[1],d[2])&&(d=[d[0]]),ad(u,os(d,1),[])}),Da=_m||function(){return Wn.Date.now()};function Nd(u,d){if(typeof d!="function")throw new us(h);return u=Ct(u),function(){if(--u<1)return d.apply(this,arguments)}}function Aa(u,d,m){return d=m?s:d,d=u&&d==null?u.length:d,fi(u,se,s,s,s,s,d)}function Oa(u,d){var m;if(typeof d!="function")throw new us(h);return u=Ct(u),function(){return--u>0&&(m=d.apply(this,arguments)),u<=1&&(d=s),m}}var $r=Ht(function(u,d,m){var _=A;if(m.length){var x=li(m,_a($r));_|=H}return fi(u,_,d,m,x)}),Fr=Ht(function(u,d,m){var _=A|P;if(m.length){var x=li(m,_a(Fr));_|=H}return fi(d,_,u,m,x)});function qc(u,d,m){d=m?s:d;var _=fi(u,B,s,s,s,s,s,d);return _.placeholder=qc.placeholder,_}function Ig(u,d,m){d=m?s:d;var _=fi(u,S,s,s,s,s,s,d);return _.placeholder=Ig.placeholder,_}function Yc(u,d,m){var _,x,L,V,Q,le,Me=0,Ne=!1,Pe=!1,qe=!0;if(typeof u!="function")throw new us(h);d=or(d)||0,An(m)&&(Ne=!!m.leading,Pe="maxWait"in m,L=Pe?Xn(or(m.maxWait)||0,d):L,qe="trailing"in m?!!m.trailing:qe);function dt(Kn){var Hr=_,Ci=x;return _=x=s,Me=Kn,V=u.apply(Ci,Hr),V}function $t(Kn){return Me=Kn,Q=Il(Xt,d),Ne?dt(Kn):V}function Ut(Kn){var Hr=Kn-le,Ci=Kn-Me,Zg=d-Hr;return Pe?fs(Zg,L-Ci):Zg}function vt(Kn){var Hr=Kn-le,Ci=Kn-Me;return le===s||Hr>=d||Hr<0||Pe&&Ci>=L}function Xt(){var Kn=Da();if(vt(Kn))return en(Kn);Q=Il(Xt,Ut(Kn))}function en(Kn){return Q=s,qe&&_?dt(Kn):(_=x=s,V)}function zs(){Q!==s&&Up(Q),Me=0,_=le=x=Q=s}function As(){return Q===s?V:en(Da())}function ar(){var Kn=Da(),Hr=vt(Kn);if(_=arguments,x=this,le=Kn,Hr){if(Q===s)return $t(le);if(Pe)return Up(Q),Q=Il(Xt,d),dt(le)}return Q===s&&(Q=Il(Xt,d)),V}return ar.cancel=zs,ar.flush=As,ar}var Ra=Ht(function(u,d){return vl(u,1,d)}),zt=Ht(function(u,d,m){return vl(u,or(d)||0,m)});function Ao(u){return fi(u,K)}function Ma(u,d){if(typeof u!="function"||d!=null&&typeof d!="function")throw new us(h);var m=function(){var _=arguments,x=d?d.apply(this,_):_[0],L=m.cache;if(L.has(x))return L.get(x);var V=u.apply(this,_);return m.cache=L.set(x,V)||L,V};return m.cache=new(Ma.Cache||di),m}Ma.Cache=di;function Ld(u){if(typeof u!="function")throw new us(h);return function(){var d=arguments;switch(d.length){case 0:return!u.call(this);case 1:return!u.call(this,d[0]);case 2:return!u.call(this,d[0],d[1]);case 3:return!u.call(this,d[0],d[1],d[2])}return!u.apply(this,d)}}function Eb(u){return Oa(2,u)}var Ib=tr(function(u,d){d=d.length==1&&jt(d[0])?wn(d[0],Xs(gt())):wn(os(d,1),Xs(gt()));var m=d.length;return Ht(function(_){for(var x=-1,L=fs(_.length,m);++x=d}),eo=nd(function(){return arguments}())?nd:function(u){return Tn(u)&&nn.call(u,"callee")&&!lp.call(u,"callee")},jt=be.isArray,Db=zh?Xs(zh):Tp;function ts(u){return u!=null&&Na(u.length)&&!vs(u)}function Yn(u){return Tn(u)&&ts(u)}function ay(u){return u===!0||u===!1||Tn(u)&&Dn(u)==Te}var ei=wm||rh,zr=Uh?Xs(Uh):kp;function Ab(u){return Tn(u)&&u.nodeType===1&&!Bl(u)}function Fd(u){if(u==null)return!0;if(ts(u)&&(jt(u)||typeof u=="string"||typeof u.splice=="function"||ei(u)||Oo(u)||eo(u)))return!u.length;var d=Le(u);if(d==St||d==Nt)return!u.size;if(Lc(u))return!rd(u).length;for(var m in u)if(nn.call(u,m))return!1;return!0}function rr(u,d){return pa(u,d)}function Ob(u,d,m){m=typeof m=="function"?m:s;var _=m?m(u,d):s;return _===s?pa(u,d,s,m):!!_}function Ps(u){if(!Tn(u))return!1;var d=Dn(u);return d==ht||d==rt||typeof u.message=="string"&&typeof u.name=="string"&&!Bl(u)}function fn(u){return typeof u=="number"&&zi(u)}function vs(u){if(!An(u))return!1;var d=Dn(u);return d==nt||d==Wt||d==Ke||d==mn}function eu(u){return typeof u=="number"&&u==Ct(u)}function Na(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=Ce}function An(u){var d=typeof u;return u!=null&&(d=="object"||d=="function")}function Tn(u){return u!=null&&typeof u=="object"}var Rb=Wh?Xs(Wh):Ip;function ti(u,d){return u===d||Cc(u,d,Zr(d))}function Vt(u,d,m){return m=typeof m=="function"?m:s,Cc(u,d,Zr(d),m)}function to(u){return zd(u)&&u!=+u}function Ln(u){if(Qm(u))throw new xt(c);return sd(u)}function Mb(u){return u===null}function Og(u){return u==null}function zd(u){return typeof u=="number"||Tn(u)&&Dn(u)==lt}function Bl(u){if(!Tn(u)||Dn(u)!=st)return!1;var d=fc(u);if(d===null)return!0;var m=nn.call(d,"constructor")&&d.constructor;return typeof m=="function"&&m instanceof m&&al.call(m)==$m}var Ud=Hh?Xs(Hh):jm;function no(u){return eu(u)&&u>=-Ce&&u<=Ce}var Rg=Vh?Xs(Vh):Fm;function tu(u){return typeof u=="string"||!jt(u)&&Tn(u)&&Dn(u)==wt}function ir(u){return typeof u=="symbol"||Tn(u)&&Dn(u)==qt}var Oo=Au?Xs(Au):zm;function so(u){return u===s}function Ro(u){return Tn(u)&&Le(u)==me}function Nb(u){return Tn(u)&&Dn(u)==ge}var Wd=xc(wl),js=xc(function(u,d){return u<=d});function Lb(u){if(!u)return[];if(ts(u))return tu(u)?Ar(u):Vn(u);if(oa&&u[oa])return Nu(u[oa]());var d=Le(u),m=d==St?Lu:d==Nt?il:Pa;return m(u)}function J(u){if(!u)return u===0?u:0;if(u=or(u),u===ze||u===-ze){var d=u<0?-1:1;return d*at}return u===u?u:0}function Ct(u){var d=J(u),m=d%1;return d===d?m?d-m:d:0}function Pl(u){return u?Co(Ct(u),0,Ae):0}function or(u){if(typeof u=="number")return u;if(ir(u))return he;if(An(u)){var d=typeof u.valueOf=="function"?u.valueOf():u;u=An(d)?d+"":d}if(typeof u!="string")return u===0?u:+u;u=Mu(u);var m=pe.test(u);return m||_e.test(u)?lm(u.slice(2),m?2:8):F.test(u)?he:+u}function vi(u){return Xr(u,hs(u))}function Mo(u){return u?Co(Ct(u),-Ce,Ce):u===0?u:0}function cn(u){return u==null?"":er(u)}var jl=ma(function(u,d){if(Lc(d)||ts(d)){Xr(d,ls(d),u);return}for(var m in d)nn.call(d,m)&&bl(u,m,d[m])}),Hd=ma(function(u,d){Xr(d,hs(d),u)}),nu=ma(function(u,d,m,_){Xr(d,hs(d),u,_)}),vr=ma(function(u,d,m,_){Xr(d,ls(d),u,_)}),Mg=mi(Zu);function su(u,d){var m=qr(u);return d==null?m:yc(m,d)}var Ng=Ht(function(u,d){u=kt(u);var m=-1,_=d.length,x=_>2?d[2]:s;for(x&&Bt(d[0],d[1],x)&&(_=1);++m<_;)for(var L=d[m],V=hs(L),Q=-1,le=V.length;++Q1),L}),Xr(u,_d(u),m),_&&(m=gr(m,w|T|C,Ym));for(var x=d.length;x--;)fd(m,d[x]);return m});function jg(u,d){return zb(u,Ld(gt(d)))}var ly=mi(function(u,d){return u==null?{}:Rp(u,d)});function zb(u,d){if(u==null)return{};var m=wn(_d(u),function(_){return[_]});return d=gt(d),ld(u,m,function(_,x){return d(_,x[0])})}function cy(u,d,m){d=ks(d,u);var _=-1,x=d.length;for(x||(x=1,u=s);++_d){var _=u;u=d,d=_}if(m||u%1||d%1){var x=yo();return fs(u+x*(d-u+am("1e-"+((x+"").length-1))),d)}return dd(u,d)}var Hg=Es(function(u,d,m){return d=d.toLowerCase(),u+(m?Kd(d):d)});function Kd(u){return Hl(cn(u).toLowerCase())}function Jd(u){return u=cn(u),u&&u.replace(je,pm).replace(jh,"")}function zl(u,d,m){u=cn(u),d=er(d);var _=u.length;m=m===s?_:Co(Ct(m),0,_);var x=m;return m-=d.length,m>=0&&u.slice(m,x)==d}function uy(u){return u=cn(u),u&&Pn.test(u)?u.replace(Rn,gm):u}function Hb(u){return u=cn(u),u&&ec.test(u)?u.replace(Ir,"\\$&"):u}var dy=Es(function(u,d,m){return u+(m?"-":"")+d.toLowerCase()}),Cr=Es(function(u,d,m){return u+(m?" ":"")+d.toLowerCase()}),Vg=ba("toLowerCase");function au(u,d,m){u=cn(u),d=Ct(d);var _=d?ia(u):0;if(!d||_>=d)return u;var x=(d-_)/2;return Tl(vo(x),m)+u+Tl(pl(x),m)}function qd(u,d,m){u=cn(u),d=Ct(d);var _=d?ia(u):0;return d&&_>>0,m?(u=cn(u),u&&(typeof d=="string"||d!=null&&!Ud(d))&&(d=er(d),!d&&$o(u))?fe(Ar(u),0,m):u.split(d,m)):[]}var Fs=Es(function(u,d,m){return u+(m?" ":"")+Hl(d)});function Ur(u,d,m){return u=cn(u),m=m==null?0:Co(Ct(m),0,u.length),d=er(d),u.slice(m,m+d.length)==d}function qb(u,d,m){var _=M.templateSettings;m&&Bt(u,d,m)&&(d=s),u=cn(u),d=nu({},d,_,Xp);var x=nu({},d.imports,_.imports,Xp),L=ls(x),V=nl(x,L),Q,le,Me=0,Ne=d.interpolate||it,Pe="__p += '",qe=Bu((d.escape||it).source+"|"+Ne.source+"|"+(Ne===jn?R:it).source+"|"+(d.evaluate||it).source+"|$","g"),dt="//# sourceURL="+(nn.call(d,"sourceURL")?(d.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ac+"]")+` -`;u.replace(qe,function(vt,Xt,en,zs,As,ar){return en||(en=zs),Pe+=u.slice(Me,ar).replace(Ft,sl),Xt&&(Q=!0,Pe+=`' + -__e(`+Xt+`) + -'`),As&&(le=!0,Pe+=`'; -`+As+`; -__p += '`),en&&(Pe+=`' + -((__t = (`+en+`)) == null ? '' : __t) + -'`),Me=ar+vt.length,vt}),Pe+=`'; -`;var $t=nn.call(d,"variable")&&d.variable;if(!$t)Pe=`with (obj) { -`+Pe+` -} -`;else if(z.test($t))throw new xt(g);Pe=(le?Pe.replace(zn,""):Pe).replace(Jn,"$1").replace(Gs,"$1;"),Pe="function("+($t||"obj")+`) { -`+($t?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(Q?", __e = _.escape":"")+(le?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+Pe+`return __p -}`;var Ut=Qd(function(){return rn(L,dt+"return "+Pe).apply(s,V)});if(Ut.source=Pe,Ps(Ut))throw Ut;return Ut}function Yd(u){return cn(u).toLowerCase()}function Kg(u){return cn(u).toUpperCase()}function Yb(u,d,m){if(u=cn(u),u&&(m||d===s))return Mu(u);if(!u||!(d=er(d)))return u;var _=Ar(u),x=Ar(d),L=Xh(_,x),V=Zh(_,x)+1;return fe(_,L,V).join("")}function Ul(u,d,m){if(u=cn(u),u&&(m||d===s))return u.slice(0,sp(u)+1);if(!u||!(d=er(d)))return u;var _=Ar(u),x=Zh(_,Ar(d))+1;return fe(_,0,x).join("")}function Xd(u,d,m){if(u=cn(u),u&&(m||d===s))return u.replace(xr,"");if(!u||!(d=er(d)))return u;var _=Ar(u),x=Xh(_,Ar(d));return fe(_,x).join("")}function Wl(u,d){var m=Y,_=X;if(An(d)){var x="separator"in d?d.separator:x;m="length"in d?Ct(d.length):m,_="omission"in d?er(d.omission):_}u=cn(u);var L=u.length;if($o(u)){var V=Ar(u);L=V.length}if(m>=L)return u;var Q=m-ia(_);if(Q<1)return _;var le=V?fe(V,0,Q).join(""):u.slice(0,Q);if(x===s)return le+_;if(V&&(Q+=le.length-Q),Ud(x)){if(u.slice(Q).search(x)){var Me,Ne=le;for(x.global||(x=Bu(x.source,cn(j.exec(x))+"g")),x.lastIndex=0;Me=x.exec(Ne);)var Pe=Me.index;le=le.slice(0,Pe===s?Q:Pe)}}else if(u.indexOf(er(x),Q)!=Q){var qe=le.lastIndexOf(x);qe>-1&&(le=le.slice(0,qe))}return le+_}function Xb(u){return u=cn(u),u&&Kt.test(u)?u.replace(ns,fm):u}var hy=Es(function(u,d,m){return u+(m?" ":"")+d.toUpperCase()}),Hl=ba("toUpperCase");function Zd(u,d,m){return u=cn(u),d=m?s:d,d===s?rl(u)?ip(u):Jh(u):u.match(d)||[]}var Qd=Ht(function(u,d){try{return Ys(u,s,d)}catch(m){return Ps(m)?m:new xt(m)}}),py=mi(function(u,d){return Ns(d,function(m){m=bs(m),pi(u,m,$r(u[m],u))}),u});function gy(u){var d=u==null?0:u.length,m=gt();return u=d?wn(u,function(_){if(typeof _[1]!="function")throw new us(h);return[m(_[0]),_[1]]}):[],Ht(function(_){for(var x=-1;++xCe)return[];var m=Ae,_=fs(u,Ae);d=gt(d),u-=Ae;for(var x=sa(_,d);++m0||d<0)?new Ot(m):(u<0?m=m.takeRight(-u):u&&(m=m.drop(u)),d!==s&&(d=Ct(d),m=d<0?m.dropRight(-d):m.take(d-u)),m)},Ot.prototype.takeRightWhile=function(u){return this.reverse().takeWhile(u).reverse()},Ot.prototype.toArray=function(){return this.take(Ae)},Yr(Ot.prototype,function(u,d){var m=/^(?:filter|find|map|reject)|While$/.test(d),_=/^(?:head|last)$/.test(d),x=M[_?"take"+(d=="last"?"Right":""):d],L=_||/^find/.test(d);x&&(M.prototype[d]=function(){var V=this.__wrapped__,Q=_?[1]:arguments,le=V instanceof Ot,Me=Q[0],Ne=le||jt(V),Pe=function(Xt){var en=x.apply(M,Kr([Xt],Q));return _&&qe?en[0]:en};Ne&&m&&typeof Me=="function"&&Me.length!=1&&(le=Ne=!1);var qe=this.__chain__,dt=!!this.__actions__.length,$t=L&&!qe,Ut=le&&!dt;if(!L&&Ne){V=Ut?V:new Ot(this);var vt=u.apply(V,Q);return vt.__actions__.push({func:Zi,args:[Pe],thisArg:s}),new Zn(vt,qe)}return $t&&Ut?u.apply(this,Q):(vt=this.thru(Pe),$t?_?vt.value()[0]:vt.value():vt)})}),Ns(["pop","push","shift","sort","splice","unshift"],function(u){var d=pc[u],m=/^(?:push|sort|unshift)$/.test(u)?"tap":"thru",_=/^(?:pop|shift)$/.test(u);M.prototype[u]=function(){var x=arguments;if(_&&!this.__chain__){var L=this.value();return d.apply(jt(L)?L:[],x)}return this[m](function(V){return d.apply(jt(V)?V:[],x)})}}),Yr(Ot.prototype,function(u,d){var m=M[d];if(m){var _=m.name+"";nn.call(ua,_)||(ua[_]=[]),ua[_].push({name:d,func:m})}}),ua[va(s,P).name]=[{name:"wrapper",func:s}],Ot.prototype.clone=km,Ot.prototype.reverse=Em,Ot.prototype.value=Im,M.prototype.at=Ea,M.prototype.chain=vg,M.prototype.commit=Do,M.prototype.next=_b,M.prototype.plant=Is,M.prototype.reverse=Gc,M.prototype.toJSON=M.prototype.valueOf=M.prototype.value=Ol,M.prototype.first=M.prototype.head,oa&&(M.prototype[oa]=yg),M},Or=bm();mo?((mo.exports=Or)._=Or,lc._=Or):Wn._=Or}).call($L)})(bv,bv.exports);var vL=bv.exports;const W_=Ga(vL),Zy=W_.throttle((o,n)=>o(n),0);function L$(o,n){const s=n.find(i=>i._id===o);return{card:s,index:s?n.indexOf(s):-1}}function Qy(o,n,s,i,a,c,h,g,b){const{card:$,index:y}=L$(o,s);if(!(yn&&g>b)&&$&&y!==n){const w=W_.clone(s);w.splice(y,1),w.splice(n,0,$);const T=W_.clone(a);switch(c){case"actions":T.actions[h]=w,Zy(i,T);return;case"conditions":T.conditions[h]=w,Zy(i,T);return;default:T.triggers=w,Zy(i,T);return}}}const yL="_drag_7xfhc_1",_L="_root_7xfhc_11",s0={drag:yL,root:_L},Uk=({typeBlock:o,allProperties:n,id:s,isActive:i,setUserRules:a,userRules:c,children:h,_id:g,blockValue:b})=>{const{setOnUpdate:$}=ve.useContext(Gf),[{opacity:y},w,T]=hT({type:"box",item:()=>({...n,id:s,isActive:i,_id:g}),end:(A,P)=>{const{acceptedBy:N}=A,B=P.getDropResult();let S;if(!B)return typeof g=="number"&&!P.getTargetIds().length&&(S=Rh(N,c,b),S=du(N,S,b,g),a(S)),null;if(B.blockValue!==b){const H=typeof g=="number"?g:Date.now();S=Rh(N,c,B.blockValue);const q={id:A.id,acceptedBy:A.acceptedBy};switch(N){case"actions":return b&&(S=du("actions",S,b,H)),S=du("actions",S,B.blockValue,H),S.actions[B.blockValue].push({...q,_id:H}),a(S);case"conditions":return typeof b=="number"&&(S=du("conditions",S,b,H)),S=du("conditions",S,B.blockValue,H),S.conditions[B.blockValue].push({...q,_id:H}),a(S);default:return $(!0),S=du("triggers",S,B.blockValue,H),S.triggers.push({...q,_id:H}),a(S)}}},collect:A=>({opacity:A.isDragging()?.4:1,isDragging:A.isDragging()})}),C=ve.useRef(null),[,E]=uw({accept:"box",canDrop:()=>!1,hover({_id:A,acceptedBy:P},N){var se;if(!C.current||o!==P)return;const B=(se=C.current)==null?void 0:se.getBoundingClientRect(),S=(B.bottom-B.top)/2,H=N.getClientOffset(),q=((H==null?void 0:H.y)||0)-B.top;if(g&&A!==g)switch(P){case"actions":if(b==="then"||b==="else"){const{index:ee}=L$(g,c.actions[b]);ee!==A&&Qy(A,ee,c[P][b],a,c,P,b,q,S)}return;case"conditions":if(typeof b=="number"){const{index:ee}=L$(g,c[P][b]);ee!==A&&Qy(A,ee,c[P][b],a,c,P,b,q,S)}return;default:{const{index:ee}=L$(g,c[P]);ee!==A&&Qy(A,ee,c[P],a,c,P,void 0,q,S);return}}}});ve.useEffect(()=>{T(FA(),{captureDraggingState:!0})},[]),w(E(C));const k=window.innerWidth<600;return f.jsxs("div",{ref:k&&g?null:C,className:s0.root,style:{opacity:y},children:[f.jsx("div",{className:g?s0.drag:null,ref:g&&k?C:null}),h]})},wL=({onClose:o,open:n})=>f.jsxs(D.Dialog,{open:n,onClose:o,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[f.jsx(D.DialogContent,{children:f.jsxs("div",{style:{fontSize:"1rem",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,lineHeight:1.5,letterSpacing:"0.00938em"},children:[f.jsx("h3",{children:I.I18n.t("On condition change")}),f.jsx("div",{children:I.I18n.t("help_on_change")}),f.jsx("h3",{children:I.I18n.t("Just check")}),f.jsx("div",{children:I.I18n.t("help_just_check")})]})}),f.jsx(D.DialogActions,{children:f.jsx(D.Button,{onClick:o,color:"primary",autoFocus:!0,startIcon:f.jsx(Va,{}),children:I.I18n.t("OK")})})]}),CL=({onClose:o,open:n})=>f.jsxs(D.Dialog,{open:n,onClose:o,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[f.jsx(D.DialogContent,{children:f.jsxs(D.DialogContentText,{id:"alert-dialog-description",children:[f.jsx("h3",{children:I.I18n.t("On condition change")}),f.jsx("div",{children:I.I18n.t("help_on_change")}),f.jsx("h3",{children:I.I18n.t("Just check")}),f.jsx("div",{children:I.I18n.t("help_just_check")})]})}),f.jsx(D.DialogActions,{children:f.jsx(D.Button,{onClick:o,color:"primary",autoFocus:!0,children:I.I18n.t("OK")})})]}),r0=({size:o,blockValue:n,boolean:s,typeBlock:i,userRules:a,setUserRules:c,animation:h,setTourStep:g,tourStep:b,isTourOpen:$,theme:y,themeType:w,themeName:T})=>{var ke;const[C,E]=ve.useState(!1),[k,A]=ve.useState(!1),[P,N]=ve.useState(!1),[B,S]=ve.useState("");s===void 0&&(s=!0);const H=uw({accept:"box",drop:()=>({blockValue:n}),hover:({acceptedBy:Z,_id:ze},Ce)=>{E(Z===i),N(!!ze),S(Ce.getHandlerId()||"")},canDrop:({acceptedBy:Z})=>(A(Z===i),Z===i),collect:Z=>{var ze;return{isOver:Z.isOver(),canDrop:((ze=Z.getItem())==null?void 0:ze.acceptedBy)===i,offset:Z.getClientOffset(),targetId:Z.getHandlerId()}}}),q=H[0],{canDrop:se,isOver:ee,offset:K,targetId:Y}=q,X=H[1];ve.useEffect(()=>{S("")},[K]);const ce=se&ⅇlet W="";ce?W=C?"#00fb003d":"#fb00002e":se?W=k?"#00fb003d":"#fb00002e":K&&(W=Y===B?"#fb00002e":"");let te;return i==="actions"?te=a.actions[n]:i==="conditions"?te=a.conditions[n]:te=a.triggers,f.jsx("div",{ref:X,style:{backgroundColor:W},className:`${I.Utils.clsx(ps.contentBlockItem,o&&ps.addClassHeight)} ${s?h?ps.contentHeightOn:null:ps.contentHeightOff}`,children:f.jsxs("div",{className:ps.wrapperMargin,children:[te.map(Z=>f.jsx(Uk,{typeBlock:i,...Z,blockValue:n,allProperties:Z,userRules:a,setUserRules:c,children:f.jsx(zk,{...Z,isTourOpen:$,setTourStep:g,tourStep:b,settings:Z,blockValue:n,userRules:a,setUserRules:c,theme:y,themeType:w,themeName:T})},Z._id)),f.jsx("div",{style:ce&&C&&!P?{height:((ke=document.getElementById("height"))==null?void 0:ke.clientHeight)||200}:void 0,className:`${ps.emptyBlockStyle} ${ce&&C&&!P?ps.emptyBlock:ps.emptyBlockNone}`})]})})},e_=({size:o,typeBlock:n,name:s,nameAdditionally:i,additionally:a,border:c,userRules:h,setUserRules:g,iconName:b,adapter:$,socket:y,setTourStep:w,tourStep:T,isTourOpen:C,theme:E,themeType:k,themeName:A})=>{const[P,N,B]=U_(n==="actions"?!1:[],`additionallyClickItems_${n}`),[S,H]=ve.useState(!1),[q,se]=ve.useState(!1);ve.useEffect(()=>{if(n==="conditions"&&(P==null?void 0:P.length)!==h.conditions.length-1){const Y=[];h.conditions.forEach((X,ce)=>{ce>0&&Y.push({_id:Date.now(),open:!0})}),N([...P,...Y])}n==="actions"&&!B&&h.actions.else.length&&N(!0)},[]);const[ee,K]=ve.useState(!1);return f.jsxs("div",{className:`${I.Utils.clsx(ps.mainBlockItemRules,o&&ps.addClassOverflow)} ${c&&!o?ps.border:null}`,children:[f.jsxs("span",{id:"width",className:ps.nameBlockItems,children:[f.jsx($u,{iconName:b,className:ps.iconThemCard,adapter:$,socket:y}),s]}),n==="conditions"?f.jsxs("div",{style:{width:"100%"},children:[f.jsxs(D.Select,{variant:"standard",className:ps.selectOnChange,value:h.justCheck||!1,onChange:Y=>{const X=Rh("conditions",h);X.justCheck=Y.target.value==="true",g(X)},children:[f.jsx(D.MenuItem,{value:"false",children:I.I18n.t("on condition change")}),f.jsx(D.MenuItem,{value:"true",children:I.I18n.t("just check")})]}),f.jsx(D.IconButton,{size:"small",title:I.I18n.t("Explanation"),className:ps.selectOnChangeHelp,onClick:()=>H(!0),children:f.jsx(dw,{className:ps.selectOnChangeHelpIcon})})]}):null,f.jsx(r0,{setTourStep:w,tourStep:T,isTourOpen:C,blockValue:n==="actions"?"then":n==="conditions"?0:n,typeBlock:n,setUserRules:g,userRules:h,theme:E,themeName:A,themeType:k,size:o}),a&&[...Array(n==="actions"?1:h.conditions.length-1)].map((Y,X)=>{const ce=(W=X)=>n==="actions"?!!P:!!P.find((te,ke)=>ke===W&&te.open);return f.jsxs(ve.Fragment,{children:[f.jsxs("div",{onClick:()=>{if(n==="actions")return N(!P),null;let W=JSON.parse(JSON.stringify(P));if(h.conditions[X+1].length)return W[X].open=!W[X].open,N(W),null;W=W.filter((te,ke)=>ke!==X),N(W),K(X),setTimeout(()=>{K(!1),g({...h,conditions:[...h.conditions.filter((te,ke)=>ke!==X+1)]})},250)},className:ps.blockCardAdd,children:[ce()?"-":"+",f.jsx("div",{className:ps.cardAdd,children:i})]},X),f.jsx(r0,{blockValue:n==="actions"?"else":n==="conditions"?X+1:n,typeBlock:n,setUserRules:g,userRules:h,boolean:ce(),animation:ee===X,size:o,theme:E,themeName:A,themeType:k})]},`${X}_block_${n}`)}),a&&n==="conditions"&&f.jsxs("div",{onClick:()=>{N([...P,{_id:Date.now(),open:!0}]),g({...h,conditions:[...h.conditions,[]]}),K(h.conditions.length-1),setTimeout(()=>K(!1),1e3)},className:ps.blockCardAdd,children:["+",f.jsx("div",{className:ps.cardAdd,children:i})]}),f.jsx(wL,{open:S,onClose:()=>H(!1)}),f.jsx(CL,{open:q,onClose:()=>se(!1)})]})},SL="_menuRules_1qqcb_1",TL="_switchesRenderWrapper_1qqcb_13",kL="_menuOff_1qqcb_22",EL="_menuTitle_1qqcb_28",IL="_marginAuto_1qqcb_42",xL="_inputWidth_1qqcb_47",DL="_menuWrapper_1qqcb_52",AL="_hamburgerWrapper_1qqcb_57",OL="_hamburgerOff_1qqcb_74",RL="_nothingFound_1qqcb_82",ML="_resetSearch_1qqcb_89",NL="_controlPanel_1qqcb_101",LL="_controlPanelAppBar_1qqcb_112",BL="_addClassMenu_1qqcb_126",PL="_addClassBackground_1qqcb_132",jL="_addClassPosition_1qqcb_136",ur={menuRules:SL,switchesRenderWrapper:TL,menuOff:kL,menuTitle:EL,marginAuto:IL,inputWidth:xL,menuWrapper:DL,hamburgerWrapper:AL,hamburgerOff:OL,nothingFound:RL,resetSearch:ML,controlPanel:NL,controlPanelAppBar:LL,addClassMenu:BL,addClassBackground:PL,addClassPosition:jL},FL=o=>{const{allProperties:n,allProperties:{acceptedBy:s,id:i},setUserRules:a,userRules:c,setTourStep:h,tourStep:g,isTourOpen:b,onTouchMove:$,isActive:y}=o;return f.jsx(Uk,{allProperties:n,id:n.id,isActive:y,setUserRules:a,userRules:c,children:f.jsx(Mk,{onDoubleClick:()=>{b&&g===Ss.addScheduleByDoubleClick&&i==="TriggerScheduleBlock"&&h(Ss.openTagsMenu),b&&g===Ss.addActionPrintText&&i==="ActionPrintText"&&h(Ss.showJavascript);const w=Date.now();let T;switch(s){case"actions":T="then";break;case"conditions":T=c[s].length-1;break}const C=Rh(s,c,T),E={id:i,_id:w,acceptedBy:s};T!==void 0?s==="actions"?C.actions[T].push({...E}):s==="conditions"&&C.conditions[T].push({...E}):C.triggers.push({...E}),a(C)},...o,...n,onTouchMove:$})})},zL="_hamburgerMenu_hqnsm_8",UL="_animate_hqnsm_21",i0={hamburgerMenu:zL,animate:UL};function WL({bool:o}){return f.jsx("div",{className:`${i0.hamburgerMenu} ${o?i0.animate:""}`})}const HL=({addClass:o,setAllBlocks:n,allBlocks:s,userRules:i,onChangeBlocks:a,setTourStep:c,tourStep:h,isTourOpen:g})=>{const{blocks:b,socket:$}=ve.useContext(Gf),[y,w]=U_(!1,"hamburgerOnOff"),[T,C]=U_({text:"",type:"triggers",index:0},"filterControlPanel"),E=(P=T.text,N=T.type)=>{if(!b)return;let B=[...b];B=B.filter(S=>{if(!P)return!0;const{name:H}=S.getStaticData();return H&&I.I18n.t(H).toLowerCase().includes(P.toLowerCase())}),B=B.filter(S=>N===S.getStaticData().acceptedBy),n(B)},k=(P,N)=>{g&&N===0&&h===Ss.selectTriggers&&c(Ss.addScheduleByDoubleClick),g&&N===2&&h===Ss.selectActions&&c(Ss.addActionPrintText),C({...T,index:N,type:["triggers","conditions","actions"][N]}),E(T.text,["triggers","conditions","actions"][N])},A=P=>({id:`scrollable-force-tab-${P}`,"aria-controls":`scrollable-force-tabpanel-${P}`});return ve.useEffect(()=>{E()},[b]),f.jsx(D.ClickAwayListener,{mouseEvent:!1,touchEvent:"onTouchStart",onClickAway:()=>w(!0),children:f.jsxs("div",{className:I.Utils.clsx(ur.menuWrapper,o[1035]&&ur.addClassMenu),children:[f.jsx("div",{className:`${ur.hamburgerWrapper} ${y?ur.hamburgerOff:null}`,onClick:()=>w(!y),children:f.jsx(WL,{bool:!y})}),f.jsxs("div",{className:`${I.Utils.clsx(ur.menuRules,o[1035]&&ur.addClassBackground,o[835]&&ur.addClassPosition)} ${y?ur.menuOff:null}`,children:[f.jsx("div",{className:ur.controlPanel,children:f.jsx(D.AppBar,{className:ur.controlPanelAppBar,position:"static",children:f.jsxs(D.Tabs,{value:T.index,onChange:k,children:[f.jsx(D.Tab,{className:"blocks-triggers",title:I.I18n.t("Triggers"),icon:f.jsx($u,{iconName:"FlashOn"}),...A(0)}),f.jsx(D.Tab,{title:I.I18n.t("Conditions"),className:"blocks-conditions",icon:f.jsx($u,{iconName:"Help"}),...A(1)}),f.jsx(D.Tab,{title:I.I18n.t("Actions"),className:"blocks-actions",icon:f.jsx($u,{iconName:"PlayForWork"}),...A(2)})]})})}),f.jsx("div",{className:ur.switchesRenderWrapper,children:f.jsxs("span",{children:[s.map(P=>{const{name:N,id:B,icon:S,adapter:H}=P.getStaticData();return f.jsx(ve.Fragment,{children:f.jsx(FL,{adapter:H,allProperties:P.getStaticData(),icon:S,id:B,isActive:!1,isTourOpen:g,name:N,onTouchMove:()=>w(!0),setTourStep:c,setUserRules:a,socket:$,tourStep:h,userRules:i})},B)}),!s.length&&f.jsxs("div",{className:ur.nothingFound,children:[I.I18n.t("Nothing found"),"...",f.jsx("div",{className:ur.resetSearch,onClick:()=>{C({...T,text:""}),E("")},children:I.I18n.t("reset search")})]})]})}),f.jsx("div",{className:I.Utils.clsx(ur.menuTitle,ur.marginAuto)}),f.jsx(Yl,{className:ur.inputWidth,fullWidth:!0,customValue:!0,value:T.text,size:"small",autoComplete:"off",label:I.I18n.t("search"),variant:"outlined",onChange:P=>{C({...T,text:P}),E(P)}})]})]})})};let t_=[];const VL=({code:o,onChange:n,themeName:s,themeType:i,theme:a,setTourStep:c,tourStep:h,isTourOpen:g,command:b,scriptId:$,changed:y,running:w})=>{var W;const{blocks:T,socket:C,setOnUpdate:E,setOnDebugMessage:k,setEnableSimulation:A}=ve.useContext(Gf),[P,N]=ve.useState([]),[B,S]=ve.useState(QS(o)),[H,q]=ve.useState(""),[se,ee]=ve.useState(!1);ve.useEffect(()=>{let te,ke;const Z=(at,he)=>{at===`${te}.alive`&&ke!==(he==null?void 0:he.val)&&(ke=!!(he!=null&&he.val),ke&&te&&(C==null||C.sendTo(te.replace(/^system\.adapter\./,""),"rulesOn",$)))},ze=(at,he)=>{var Ae,de;C&&te!==((Ae=he==null?void 0:he.common)==null?void 0:Ae.engine)&&(te&&(C.unsubscribeState(`${te}.alive`,Z),ke&&C.sendTo(te.replace(/^system\.adapter\./,""),"rulesOn",$)),te=(de=he==null?void 0:he.common)==null?void 0:de.engine,te&&te&&C.subscribeState(`${te}.alive`,Z))},Ce=(at,he)=>{if(he)try{const Ae=JSON.parse(he.val),de=Date.now();if(Ae.ruleId===$&&de-Ae.ts<1e3){const Se=[...t_,{blockId:Ae.blockId,data:Ae.data,ts:Ae.ts}];Se.length>200&&Se.splice(0,200-Se.length);for(let xe=Se.length-1;xe>=0;xe--)if(Se[xe].ts{var he;te=(he=at==null?void 0:at.common)==null?void 0:he.engine,C.subscribeObject($,ze),te&&(C.subscribeState(`${te}.alive`,Z),C.subscribeState(`${te.replace(/^system\.adapter\./,"")}.debug.rules`,Ce))}),function(){C==null||C.unsubscribeState($,Z),te&&(C==null||C.unsubscribeObject(`${te}.alive`,ze),ke&&(C==null||C.sendTo(te.replace(/^system\.adapter\./,""),"rulesOff",$)),C==null||C.unsubscribeState(`${te.replace(/^system\.adapter\./,"")}.debug.rules`,Ce))}},[]),ve.useEffect(()=>{A(!y&&w)},[y,w,A]),ve.useEffect(()=>{b&&(q(b),se||ee(!0))},[b]),ve.useEffect(()=>{const te=QS(o);JSON.stringify(te)!==JSON.stringify(B)&&(S(te),E(!0))},[o]),ve.useEffect(()=>{document.getElementsByTagName("HTML")[0].className=s||"blue"},[s]);const K=ve.useCallback(te=>{S(te),T&&n(VN(te,T))},[T,n]),Y=ve.useRef(null),[X,ce]=ve.useState({835:!1,1035:!1});return ve.useEffect(()=>{Y.current&&(Y.current.clientWidth<=1035&&ce({835:!1,1035:!0}),Y.current.clientWidth<=835&&ce({1035:!0,835:!0}),Y.current.clientWidth>1035&&ce({835:!1,1035:!1}))},[((W=Y.current)==null?void 0:W.clientWidth)||0]),!T||!C?null:f.jsxs("div",{className:Vy.wrapperRules,ref:Y,children:[f.jsx(eL,{allBlocks:P,socket:C}),se?H==="export"?f.jsx(Ek,{scriptId:$,themeType:i,onClose:()=>ee(!1),text:JSON.stringify(B,null,2)}):f.jsx(Kv,{themeType:i,onClose:te=>{ee(!1),te&&K(JSON.parse(te))}}):null,f.jsxs("div",{className:I.Utils.clsx(Vy.rootWrapper,X[835]&&Vy.addClass),children:[f.jsx(HL,{setAllBlocks:N,allBlocks:P,userRules:B,onChangeBlocks:K,setTourStep:c,tourStep:h,addClass:X,isTourOpen:g}),f.jsx(e_,{socket:C,setUserRules:K,userRules:B,isTourOpen:g,setTourStep:c,tourStep:h,name:`${I.I18n.t("when")}...`,typeBlock:"triggers",iconName:"FlashOn",size:X[835],themeType:i,themeName:s,theme:a}),f.jsx(e_,{socket:C,setUserRules:K,isTourOpen:g,setTourStep:c,tourStep:h,userRules:B,name:`...${I.I18n.t("and")}...`,typeBlock:"conditions",iconName:"Help",nameAdditionally:I.I18n.t("or"),additionally:!0,border:!0,size:X[835],themeType:i,themeName:s,theme:a}),f.jsx(e_,{socket:C,setUserRules:K,isTourOpen:g,setTourStep:c,tourStep:h,userRules:B,name:`...${I.I18n.t("then")}`,typeBlock:"actions",iconName:"PlayForWork",nameAdditionally:I.I18n.t("else"),additionally:!0,size:X[835],themeType:i,themeName:s,theme:a})]})]},"rulesEditor")},GL={editorDiv:{height:"100%",width:"100%",overflow:"hidden",position:"relative"}};let KL=class extends We.Component{constructor(n){super(n),this.state={lines:(this.props.script||"").split(/\r\n|\n/)}}render(){return f.jsx("div",{style:GL.editorDiv,children:f.jsx(Gv,{triggerPrettier:1,name:this.props.scriptName,adapterName:this.props.adapterName,readOnly:!0,code:this.props.script||"",isDark:this.props.themeType==="dark",socket:this.props.socket,runningInstances:this.props.runningInstances,language:"javascript",breakpoints:this.props.breakpoints,location:this.props.paused?this.props.location:null,onToggleBreakpoint:n=>this.props.onToggleBreakpoint(n)},"scriptEditor2")},"scriptEditorDiv2")}};const o0=34,ao={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:o=>({display:"inline-block",color:o.palette.mode==="dark"?"white":"black",width:`calc(100% - ${o0}px)`,height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"}),info:o=>({background:o.palette.mode==="dark"?"darkgrey":"lightgrey",color:(o.palette.mode==="dark","black")}),error:o=>({background:"#FF0000",color:o.palette.mode==="dark"?"black":"white"}),warn:o=>({background:"#FF8000",color:o.palette.mode==="dark"?"black":"white"}),debug:o=>({background:"gray",opacity:.8,color:o.palette.mode==="dark"?"black":"white"}),silly:o=>({background:"gray",opacity:.6,color:o.palette.mode==="dark"?"black":"white"}),table:{fontFamily:"monospace",width:"100%"},toolbox:{width:o0,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4}};function JL(o){let n,s=o.getHours();return s<10&&(s=`0${s.toString()}`),n=`${s}:`,s=o.getMinutes(),s<10&&(s=`0${s.toString()}`),n+=`${s}:`,s=o.getSeconds(),s<10&&(s=`0${s.toString()}`),n+=`${s}.`,s=o.getMilliseconds(),s<10?s=`00${s.toString()}`:s<100&&(s=`0${s.toString()}`),n+=s,n}let qL=class Wk extends We.Component{messagesEnd;constructor(n){super(n),this.state={goBottom:!0},this.messagesEnd=We.createRef()}static generateLine(n){return f.jsxs(D.Box,{component:"tr",sx:ao[n.severity],children:[f.jsx("td",{style:ao.trTime,children:JL(new Date(n.ts))}),f.jsx("td",{style:ao.trSeverity,children:n.severity}),f.jsx("td",{children:n.text})]},`tr_${n.ts}_${n.text.substring(n.text.length-10,n.text.length)}`)}renderLogList(n){return n!=null&&n.length?f.jsxs(D.Box,{sx:ao.logBoxInner,children:[f.jsx("table",{style:ao.table,children:f.jsx("tbody",{children:n.map(s=>Wk.generateLine(s))})},"logTable"),f.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):f.jsx(D.Box,{sx:ao.logBoxInner,style:{paddingLeft:10},children:I.I18n.t("Log outputs")},"logList")}onCopy(){I.Utils.copyToClipboard(this.props.console.join(` -`))}scrollToBottom(){var n,s;(s=(n=this.messagesEnd)==null?void 0:n.current)==null||s.scrollIntoView({behavior:"smooth"})}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}render(){const n=this.props.console;return f.jsxs("div",{style:ao.logBox,children:[f.jsxs("div",{style:ao.toolbox,children:[f.jsx(D.IconButton,{style:ao.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":void 0,size:"medium",children:f.jsx(F0,{})}),n!=null&&n.length?f.jsx(D.IconButton,{style:ao.iconButtons,onClick:()=>this.props.onClearAllLogs(),size:"medium",children:f.jsx(z0,{})}):null,n!=null&&n.length?f.jsx(D.IconButton,{style:ao.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:f.jsx(nw,{})}):null]},"toolbox"),this.renderLogList(n)]})}};var Lw={exports:{}},YL=Lw.exports;(function(o,n){(function(s,i){o.exports=i(ve)})(YL,function(s){return function(i){var a={};function c(h){if(a[h])return a[h].exports;var g=a[h]={i:h,l:!1,exports:{}};return i[h].call(g.exports,g,g.exports,c),g.l=!0,g.exports}return c.m=i,c.c=a,c.d=function(h,g,b){c.o(h,g)||Object.defineProperty(h,g,{enumerable:!0,get:b})},c.r=function(h){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(h,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(h,"__esModule",{value:!0})},c.t=function(h,g){if(1&g&&(h=c(h)),8&g||4&g&&typeof h=="object"&&h&&h.__esModule)return h;var b=Object.create(null);if(c.r(b),Object.defineProperty(b,"default",{enumerable:!0,value:h}),2&g&&typeof h!="string")for(var $ in h)c.d(b,$,function(y){return h[y]}.bind(null,$));return b},c.n=function(h){var g=h&&h.__esModule?function(){return h.default}:function(){return h};return c.d(g,"a",g),g},c.o=function(h,g){return Object.prototype.hasOwnProperty.call(h,g)},c.p="",c(c.s=48)}([function(i,a){i.exports=s},function(i,a){var c=i.exports={version:"2.6.12"};typeof __e=="number"&&(__e=c)},function(i,a,c){var h=c(26)("wks"),g=c(17),b=c(3).Symbol,$=typeof b=="function";(i.exports=function(y){return h[y]||(h[y]=$&&b[y]||($?b:g)("Symbol."+y))}).store=h},function(i,a){var c=i.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=c)},function(i,a,c){i.exports=!c(8)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(i,a){var c={}.hasOwnProperty;i.exports=function(h,g){return c.call(h,g)}},function(i,a,c){var h=c(7),g=c(16);i.exports=c(4)?function(b,$,y){return h.f(b,$,g(1,y))}:function(b,$,y){return b[$]=y,b}},function(i,a,c){var h=c(10),g=c(35),b=c(23),$=Object.defineProperty;a.f=c(4)?Object.defineProperty:function(y,w,T){if(h(y),w=b(w,!0),h(T),g)try{return $(y,w,T)}catch{}if("get"in T||"set"in T)throw TypeError("Accessors not supported!");return"value"in T&&(y[w]=T.value),y}},function(i,a){i.exports=function(c){try{return!!c()}catch{return!0}}},function(i,a,c){var h=c(40),g=c(22);i.exports=function(b){return h(g(b))}},function(i,a,c){var h=c(11);i.exports=function(g){if(!h(g))throw TypeError(g+" is not an object!");return g}},function(i,a){i.exports=function(c){return typeof c=="object"?c!==null:typeof c=="function"}},function(i,a){i.exports={}},function(i,a,c){var h=c(39),g=c(27);i.exports=Object.keys||function(b){return h(b,g)}},function(i,a){i.exports=!0},function(i,a,c){var h=c(3),g=c(1),b=c(53),$=c(6),y=c(5),w=function(T,C,E){var k,A,P,N=T&w.F,B=T&w.G,S=T&w.S,H=T&w.P,q=T&w.B,se=T&w.W,ee=B?g:g[C]||(g[C]={}),K=ee.prototype,Y=B?h:S?h[C]:(h[C]||{}).prototype;for(k in B&&(E=C),E)(A=!N&&Y&&Y[k]!==void 0)&&y(ee,k)||(P=A?Y[k]:E[k],ee[k]=B&&typeof Y[k]!="function"?E[k]:q&&A?b(P,h):se&&Y[k]==P?function(X){var ce=function(W,te,ke){if(this instanceof X){switch(arguments.length){case 0:return new X;case 1:return new X(W);case 2:return new X(W,te)}return new X(W,te,ke)}return X.apply(this,arguments)};return ce.prototype=X.prototype,ce}(P):H&&typeof P=="function"?b(Function.call,P):P,H&&((ee.virtual||(ee.virtual={}))[k]=P,T&w.R&&K&&!K[k]&&$(K,k,P)))};w.F=1,w.G=2,w.S=4,w.P=8,w.B=16,w.W=32,w.U=64,w.R=128,i.exports=w},function(i,a){i.exports=function(c,h){return{enumerable:!(1&c),configurable:!(2&c),writable:!(4&c),value:h}}},function(i,a){var c=0,h=Math.random();i.exports=function(g){return"Symbol(".concat(g===void 0?"":g,")_",(++c+h).toString(36))}},function(i,a,c){var h=c(22);i.exports=function(g){return Object(h(g))}},function(i,a){a.f={}.propertyIsEnumerable},function(i,a,c){var h=c(52)(!0);c(34)(String,"String",function(g){this._t=String(g),this._i=0},function(){var g,b=this._t,$=this._i;return $>=b.length?{value:void 0,done:!0}:(g=h(b,$),this._i+=g.length,{value:g,done:!1})})},function(i,a){var c=Math.ceil,h=Math.floor;i.exports=function(g){return isNaN(g=+g)?0:(g>0?h:c)(g)}},function(i,a){i.exports=function(c){if(c==null)throw TypeError("Can't call method on "+c);return c}},function(i,a,c){var h=c(11);i.exports=function(g,b){if(!h(g))return g;var $,y;if(b&&typeof($=g.toString)=="function"&&!h(y=$.call(g))||typeof($=g.valueOf)=="function"&&!h(y=$.call(g))||!b&&typeof($=g.toString)=="function"&&!h(y=$.call(g)))return y;throw TypeError("Can't convert object to primitive value")}},function(i,a){var c={}.toString;i.exports=function(h){return c.call(h).slice(8,-1)}},function(i,a,c){var h=c(26)("keys"),g=c(17);i.exports=function(b){return h[b]||(h[b]=g(b))}},function(i,a,c){var h=c(1),g=c(3),b=g["__core-js_shared__"]||(g["__core-js_shared__"]={});(i.exports=function($,y){return b[$]||(b[$]=y!==void 0?y:{})})("versions",[]).push({version:h.version,mode:c(14)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(i,a){i.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(i,a,c){var h=c(7).f,g=c(5),b=c(2)("toStringTag");i.exports=function($,y,w){$&&!g($=w?$:$.prototype,b)&&h($,b,{configurable:!0,value:y})}},function(i,a,c){c(62);for(var h=c(3),g=c(6),b=c(12),$=c(2)("toStringTag"),y="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),w=0;wdocument.F=Object<\/script>"),T.close(),w=T.F;E--;)delete w.prototype[b[E]];return w()};i.exports=Object.create||function(T,C){var E;return T!==null?(y.prototype=h(T),E=new y,y.prototype=null,E[$]=T):E=w(),C===void 0?E:g(E,C)}},function(i,a,c){var h=c(5),g=c(9),b=c(57)(!1),$=c(25)("IE_PROTO");i.exports=function(y,w){var T,C=g(y),E=0,k=[];for(T in C)T!=$&&h(C,T)&&k.push(T);for(;w.length>E;)h(C,T=w[E++])&&(~b(k,T)||k.push(T));return k}},function(i,a,c){var h=c(24);i.exports=Object("z").propertyIsEnumerable(0)?Object:function(g){return h(g)=="String"?g.split(""):Object(g)}},function(i,a,c){var h=c(39),g=c(27).concat("length","prototype");a.f=Object.getOwnPropertyNames||function(b){return h(b,g)}},function(i,a,c){var h=c(24),g=c(2)("toStringTag"),b=h(function(){return arguments}())=="Arguments";i.exports=function($){var y,w,T;return $===void 0?"Undefined":$===null?"Null":typeof(w=function(C,E){try{return C[E]}catch{}}(y=Object($),g))=="string"?w:b?h(y):(T=h(y))=="Object"&&typeof y.callee=="function"?"Arguments":T}},function(i,a){var c;c=function(){return this}();try{c=c||new Function("return this")()}catch{typeof window=="object"&&(c=window)}i.exports=c},function(i,a){var c=/-?\d+(\.\d+)?%?/g;i.exports=function(h){return h.match(c)}},function(i,a,c){Object.defineProperty(a,"__esModule",{value:!0}),a.getBase16Theme=a.createStyling=a.invertTheme=void 0;var h=A(c(49)),g=A(c(76)),b=A(c(81)),$=A(c(89)),y=A(c(93)),w=function(K){if(K&&K.__esModule)return K;var Y={};if(K!=null)for(var X in K)Object.prototype.hasOwnProperty.call(K,X)&&(Y[X]=K[X]);return Y.default=K,Y}(c(94)),T=A(c(132)),C=A(c(133)),E=A(c(138)),k=c(139);function A(K){return K&&K.__esModule?K:{default:K}}var P=w.default,N=(0,$.default)(P),B=(0,E.default)(C.default,k.rgb2yuv,function(K){var Y,X=(0,b.default)(K,3),ce=X[0],W=X[1],te=X[2];return[(Y=ce,Y<.25?1:Y<.5?.9-Y:1.1-Y),W,te]},k.yuv2rgb,T.default),S=function(K){return function(Y){return{className:[Y.className,K.className].filter(Boolean).join(" "),style:(0,g.default)({},Y.style||{},K.style||{})}}},H=function(K,Y){var X=(0,$.default)(Y);for(var ce in K)X.indexOf(ce)===-1&&X.push(ce);return X.reduce(function(W,te){return W[te]=function(ke,Z){if(ke===void 0)return Z;if(Z===void 0)return ke;var ze=ke===void 0?"undefined":(0,h.default)(ke),Ce=Z===void 0?"undefined":(0,h.default)(Z);switch(ze){case"string":switch(Ce){case"string":return[Z,ke].filter(Boolean).join(" ");case"object":return S({className:ke,style:Z});case"function":return function(at){for(var he=arguments.length,Ae=Array(he>1?he-1:0),de=1;de1?he-1:0),de=1;de1?he-1:0),de=1;de1?he-1:0),de=1;de1?he-1:0),de=1;de2?X-2:0),W=2;W3?Y-3:0),ce=3;ce1&&arguments[1]!==void 0?arguments[1]:{},te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},ke=W.defaultBase16,Z=ke===void 0?P:ke,ze=W.base16Themes,Ce=ze===void 0?null:ze,at=ee(te,Ce);at&&(te=(0,g.default)({},at,te));var he=N.reduce(function(xe,He){return xe[He]=te[He]||Z[He],xe},{}),Ae=(0,$.default)(te).reduce(function(xe,He){return N.indexOf(He)===-1&&(xe[He]=te[He]),xe},{}),de=K(he),Se=H(Ae,de);return(0,y.default)(q,2).apply(void 0,[Se].concat(X))},3),a.getBase16Theme=function(K,Y){if(K&&K.extend&&(K=K.extend),typeof K=="string"){var X=K.split(":"),ce=(0,b.default)(X,2),W=ce[0],te=ce[1];K=(Y||{})[W]||w[W],te==="inverted"&&(K=se(K))}return K&&K.hasOwnProperty("base00")?K:void 0})},function(i,a,c){var h,g=typeof Reflect=="object"?Reflect:null,b=g&&typeof g.apply=="function"?g.apply:function(S,H,q){return Function.prototype.apply.call(S,H,q)};h=g&&typeof g.ownKeys=="function"?g.ownKeys:Object.getOwnPropertySymbols?function(S){return Object.getOwnPropertyNames(S).concat(Object.getOwnPropertySymbols(S))}:function(S){return Object.getOwnPropertyNames(S)};var $=Number.isNaN||function(S){return S!=S};function y(){y.init.call(this)}i.exports=y,i.exports.once=function(S,H){return new Promise(function(q,se){function ee(){K!==void 0&&S.removeListener("error",K),q([].slice.call(arguments))}var K;H!=="error"&&(K=function(Y){S.removeListener(H,ee),se(Y)},S.once("error",K)),S.once(H,ee)})},y.EventEmitter=y,y.prototype._events=void 0,y.prototype._eventsCount=0,y.prototype._maxListeners=void 0;var w=10;function T(S){if(typeof S!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof S)}function C(S){return S._maxListeners===void 0?y.defaultMaxListeners:S._maxListeners}function E(S,H,q,se){var ee,K,Y,X;if(T(q),(K=S._events)===void 0?(K=S._events=Object.create(null),S._eventsCount=0):(K.newListener!==void 0&&(S.emit("newListener",H,q.listener?q.listener:q),K=S._events),Y=K[H]),Y===void 0)Y=K[H]=q,++S._eventsCount;else if(typeof Y=="function"?Y=K[H]=se?[q,Y]:[Y,q]:se?Y.unshift(q):Y.push(q),(ee=C(S))>0&&Y.length>ee&&!Y.warned){Y.warned=!0;var ce=new Error("Possible EventEmitter memory leak detected. "+Y.length+" "+String(H)+" listeners added. Use emitter.setMaxListeners() to increase limit");ce.name="MaxListenersExceededWarning",ce.emitter=S,ce.type=H,ce.count=Y.length,X=ce,console&&console.warn&&console.warn(X)}return S}function k(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function A(S,H,q){var se={fired:!1,wrapFn:void 0,target:S,type:H,listener:q},ee=k.bind(se);return ee.listener=q,se.wrapFn=ee,ee}function P(S,H,q){var se=S._events;if(se===void 0)return[];var ee=se[H];return ee===void 0?[]:typeof ee=="function"?q?[ee.listener||ee]:[ee]:q?function(K){for(var Y=new Array(K.length),X=0;X0&&(K=H[0]),K instanceof Error)throw K;var Y=new Error("Unhandled error."+(K?" ("+K.message+")":""));throw Y.context=K,Y}var X=ee[S];if(X===void 0)return!1;if(typeof X=="function")b(X,this,H);else{var ce=X.length,W=B(X,ce);for(q=0;q=0;K--)if(q[K]===H||q[K].listener===H){Y=q[K].listener,ee=K;break}if(ee<0)return this;ee===0?q.shift():function(X,ce){for(;ce+1=0;se--)this.removeListener(S,H[se]);return this},y.prototype.listeners=function(S){return P(this,S,!0)},y.prototype.rawListeners=function(S){return P(this,S,!1)},y.listenerCount=function(S,H){return typeof S.listenerCount=="function"?S.listenerCount(H):N.call(S,H)},y.prototype.listenerCount=N,y.prototype.eventNames=function(){return this._eventsCount>0?h(this._events):[]}},function(i,a,c){i.exports.Dispatcher=c(140)},function(i,a,c){i.exports=c(142)},function(i,a,c){a.__esModule=!0;var h=$(c(50)),g=$(c(65)),b=typeof g.default=="function"&&typeof h.default=="symbol"?function(y){return typeof y}:function(y){return y&&typeof g.default=="function"&&y.constructor===g.default&&y!==g.default.prototype?"symbol":typeof y};function $(y){return y&&y.__esModule?y:{default:y}}a.default=typeof g.default=="function"&&b(h.default)==="symbol"?function(y){return y===void 0?"undefined":b(y)}:function(y){return y&&typeof g.default=="function"&&y.constructor===g.default&&y!==g.default.prototype?"symbol":y===void 0?"undefined":b(y)}},function(i,a,c){i.exports={default:c(51),__esModule:!0}},function(i,a,c){c(20),c(29),i.exports=c(30).f("iterator")},function(i,a,c){var h=c(21),g=c(22);i.exports=function(b){return function($,y){var w,T,C=String(g($)),E=h(y),k=C.length;return E<0||E>=k?b?"":void 0:(w=C.charCodeAt(E))<55296||w>56319||E+1===k||(T=C.charCodeAt(E+1))<56320||T>57343?b?C.charAt(E):w:b?C.slice(E,E+2):T-56320+(w-55296<<10)+65536}}},function(i,a,c){var h=c(54);i.exports=function(g,b,$){if(h(g),b===void 0)return g;switch($){case 1:return function(y){return g.call(b,y)};case 2:return function(y,w){return g.call(b,y,w)};case 3:return function(y,w,T){return g.call(b,y,w,T)}}return function(){return g.apply(b,arguments)}}},function(i,a){i.exports=function(c){if(typeof c!="function")throw TypeError(c+" is not a function!");return c}},function(i,a,c){var h=c(38),g=c(16),b=c(28),$={};c(6)($,c(2)("iterator"),function(){return this}),i.exports=function(y,w,T){y.prototype=h($,{next:g(1,T)}),b(y,w+" Iterator")}},function(i,a,c){var h=c(7),g=c(10),b=c(13);i.exports=c(4)?Object.defineProperties:function($,y){g($);for(var w,T=b(y),C=T.length,E=0;C>E;)h.f($,w=T[E++],y[w]);return $}},function(i,a,c){var h=c(9),g=c(58),b=c(59);i.exports=function($){return function(y,w,T){var C,E=h(y),k=g(E.length),A=b(T,k);if($&&w!=w){for(;k>A;)if((C=E[A++])!=C)return!0}else for(;k>A;A++)if(($||A in E)&&E[A]===w)return $||A||0;return!$&&-1}}},function(i,a,c){var h=c(21),g=Math.min;i.exports=function(b){return b>0?g(h(b),9007199254740991):0}},function(i,a,c){var h=c(21),g=Math.max,b=Math.min;i.exports=function($,y){return($=h($))<0?g($+y,0):b($,y)}},function(i,a,c){var h=c(3).document;i.exports=h&&h.documentElement},function(i,a,c){var h=c(5),g=c(18),b=c(25)("IE_PROTO"),$=Object.prototype;i.exports=Object.getPrototypeOf||function(y){return y=g(y),h(y,b)?y[b]:typeof y.constructor=="function"&&y instanceof y.constructor?y.constructor.prototype:y instanceof Object?$:null}},function(i,a,c){var h=c(63),g=c(64),b=c(12),$=c(9);i.exports=c(34)(Array,"Array",function(y,w){this._t=$(y),this._i=0,this._k=w},function(){var y=this._t,w=this._k,T=this._i++;return!y||T>=y.length?(this._t=void 0,g(1)):g(0,w=="keys"?T:w=="values"?y[T]:[T,y[T]])},"values"),b.Arguments=b.Array,h("keys"),h("values"),h("entries")},function(i,a){i.exports=function(){}},function(i,a){i.exports=function(c,h){return{value:h,done:!!c}}},function(i,a,c){i.exports={default:c(66),__esModule:!0}},function(i,a,c){c(67),c(73),c(74),c(75),i.exports=c(1).Symbol},function(i,a,c){var h=c(3),g=c(5),b=c(4),$=c(15),y=c(37),w=c(68).KEY,T=c(8),C=c(26),E=c(28),k=c(17),A=c(2),P=c(30),N=c(31),B=c(69),S=c(70),H=c(10),q=c(11),se=c(18),ee=c(9),K=c(23),Y=c(16),X=c(38),ce=c(71),W=c(72),te=c(32),ke=c(7),Z=c(13),ze=W.f,Ce=ke.f,at=ce.f,he=h.Symbol,Ae=h.JSON,de=Ae&&Ae.stringify,Se=A("_hidden"),xe=A("toPrimitive"),He={}.propertyIsEnumerable,ne=C("symbol-registry"),Ke=C("symbols"),Te=C("op-symbols"),Je=Object.prototype,rt=typeof he=="function"&&!!te.f,ht=h.QObject,nt=!ht||!ht.prototype||!ht.prototype.findChild,Wt=b&&T(function(){return X(Ce({},"a",{get:function(){return Ce(this,"a",{value:7}).a}})).a!=7})?function(ue,we,Ve){var re=ze(Je,we);re&&delete Je[we],Ce(ue,we,Ve),re&&ue!==Je&&Ce(Je,we,re)}:Ce,St=function(ue){var we=Ke[ue]=X(he.prototype);return we._k=ue,we},lt=rt&&typeof he.iterator=="symbol"?function(ue){return typeof ue=="symbol"}:function(ue){return ue instanceof he},ft=function(ue,we,Ve){return ue===Je&&ft(Te,we,Ve),H(ue),we=K(we,!0),H(Ve),g(Ke,we)?(Ve.enumerable?(g(ue,Se)&&ue[Se][we]&&(ue[Se][we]=!1),Ve=X(Ve,{enumerable:Y(0,!1)})):(g(ue,Se)||Ce(ue,Se,Y(1,{})),ue[Se][we]=!0),Wt(ue,we,Ve)):Ce(ue,we,Ve)},st=function(ue,we){H(ue);for(var Ve,re=B(we=ee(we)),Fe=0,It=re.length;It>Fe;)ft(ue,Ve=re[Fe++],we[Ve]);return ue},At=function(ue){var we=He.call(this,ue=K(ue,!0));return!(this===Je&&g(Ke,ue)&&!g(Te,ue))&&(!(we||!g(this,ue)||!g(Ke,ue)||g(this,Se)&&this[Se][ue])||we)},mn=function(ue,we){if(ue=ee(ue),we=K(we,!0),ue!==Je||!g(Ke,we)||g(Te,we)){var Ve=ze(ue,we);return!Ve||!g(Ke,we)||g(ue,Se)&&ue[Se][we]||(Ve.enumerable=!0),Ve}},Ue=function(ue){for(var we,Ve=at(ee(ue)),re=[],Fe=0;Ve.length>Fe;)g(Ke,we=Ve[Fe++])||we==Se||we==w||re.push(we);return re},Nt=function(ue){for(var we,Ve=ue===Je,re=at(Ve?Te:ee(ue)),Fe=[],It=0;re.length>It;)!g(Ke,we=re[It++])||Ve&&!g(Je,we)||Fe.push(Ke[we]);return Fe};rt||(y((he=function(){if(this instanceof he)throw TypeError("Symbol is not a constructor!");var ue=k(arguments.length>0?arguments[0]:void 0),we=function(Ve){this===Je&&we.call(Te,Ve),g(this,Se)&&g(this[Se],ue)&&(this[Se][ue]=!1),Wt(this,ue,Y(1,Ve))};return b&&nt&&Wt(Je,ue,{configurable:!0,set:we}),St(ue)}).prototype,"toString",function(){return this._k}),W.f=mn,ke.f=ft,c(41).f=ce.f=Ue,c(19).f=At,te.f=Nt,b&&!c(14)&&y(Je,"propertyIsEnumerable",At,!0),P.f=function(ue){return St(A(ue))}),$($.G+$.W+$.F*!rt,{Symbol:he});for(var wt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),qt=0;wt.length>qt;)A(wt[qt++]);for(var ct=Z(A.store),me=0;ct.length>me;)N(ct[me++]);$($.S+$.F*!rt,"Symbol",{for:function(ue){return g(ne,ue+="")?ne[ue]:ne[ue]=he(ue)},keyFor:function(ue){if(!lt(ue))throw TypeError(ue+" is not a symbol!");for(var we in ne)if(ne[we]===ue)return we},useSetter:function(){nt=!0},useSimple:function(){nt=!1}}),$($.S+$.F*!rt,"Object",{create:function(ue,we){return we===void 0?X(ue):st(X(ue),we)},defineProperty:ft,defineProperties:st,getOwnPropertyDescriptor:mn,getOwnPropertyNames:Ue,getOwnPropertySymbols:Nt});var ge=T(function(){te.f(1)});$($.S+$.F*ge,"Object",{getOwnPropertySymbols:function(ue){return te.f(se(ue))}}),Ae&&$($.S+$.F*(!rt||T(function(){var ue=he();return de([ue])!="[null]"||de({a:ue})!="{}"||de(Object(ue))!="{}"})),"JSON",{stringify:function(ue){for(var we,Ve,re=[ue],Fe=1;arguments.length>Fe;)re.push(arguments[Fe++]);if(Ve=we=re[1],(q(we)||ue!==void 0)&&!lt(ue))return S(we)||(we=function(It,pt){if(typeof Ve=="function"&&(pt=Ve.call(this,It,pt)),!lt(pt))return pt}),re[1]=we,de.apply(Ae,re)}}),he.prototype[xe]||c(6)(he.prototype,xe,he.prototype.valueOf),E(he,"Symbol"),E(Math,"Math",!0),E(h.JSON,"JSON",!0)},function(i,a,c){var h=c(17)("meta"),g=c(11),b=c(5),$=c(7).f,y=0,w=Object.isExtensible||function(){return!0},T=!c(8)(function(){return w(Object.preventExtensions({}))}),C=function(k){$(k,h,{value:{i:"O"+ ++y,w:{}}})},E=i.exports={KEY:h,NEED:!1,fastKey:function(k,A){if(!g(k))return typeof k=="symbol"?k:(typeof k=="string"?"S":"P")+k;if(!b(k,h)){if(!w(k))return"F";if(!A)return"E";C(k)}return k[h].i},getWeak:function(k,A){if(!b(k,h)){if(!w(k))return!0;if(!A)return!1;C(k)}return k[h].w},onFreeze:function(k){return T&&E.NEED&&w(k)&&!b(k,h)&&C(k),k}}},function(i,a,c){var h=c(13),g=c(32),b=c(19);i.exports=function($){var y=h($),w=g.f;if(w)for(var T,C=w($),E=b.f,k=0;C.length>k;)E.call($,T=C[k++])&&y.push(T);return y}},function(i,a,c){var h=c(24);i.exports=Array.isArray||function(g){return h(g)=="Array"}},function(i,a,c){var h=c(9),g=c(41).f,b={}.toString,$=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];i.exports.f=function(y){return $&&b.call(y)=="[object Window]"?function(w){try{return g(w)}catch{return $.slice()}}(y):g(h(y))}},function(i,a,c){var h=c(19),g=c(16),b=c(9),$=c(23),y=c(5),w=c(35),T=Object.getOwnPropertyDescriptor;a.f=c(4)?T:function(C,E){if(C=b(C),E=$(E,!0),w)try{return T(C,E)}catch{}if(y(C,E))return g(!h.f.call(C,E),C[E])}},function(i,a){},function(i,a,c){c(31)("asyncIterator")},function(i,a,c){c(31)("observable")},function(i,a,c){a.__esModule=!0;var h,g=c(77),b=(h=g)&&h.__esModule?h:{default:h};a.default=b.default||function($){for(var y=1;yP;)for(var S,H=w(arguments[P++]),q=N?g(H).concat(N(H)):g(H),se=q.length,ee=0;se>ee;)S=q[ee++],h&&!B.call(H,S)||(k[S]=H[S]);return k}:T},function(i,a,c){a.__esModule=!0;var h=b(c(82)),g=b(c(85));function b($){return $&&$.__esModule?$:{default:$}}a.default=function($,y){if(Array.isArray($))return $;if((0,h.default)(Object($)))return function(w,T){var C=[],E=!0,k=!1,A=void 0;try{for(var P,N=(0,g.default)(w);!(E=(P=N.next()).done)&&(C.push(P.value),!T||C.length!==T);E=!0);}catch(B){k=!0,A=B}finally{try{!E&&N.return&&N.return()}finally{if(k)throw A}}return C}($,y);throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(i,a,c){i.exports={default:c(83),__esModule:!0}},function(i,a,c){c(29),c(20),i.exports=c(84)},function(i,a,c){var h=c(42),g=c(2)("iterator"),b=c(12);i.exports=c(1).isIterable=function($){var y=Object($);return y[g]!==void 0||"@@iterator"in y||b.hasOwnProperty(h(y))}},function(i,a,c){i.exports={default:c(86),__esModule:!0}},function(i,a,c){c(29),c(20),i.exports=c(87)},function(i,a,c){var h=c(10),g=c(88);i.exports=c(1).getIterator=function(b){var $=g(b);if(typeof $!="function")throw TypeError(b+" is not iterable!");return h($.call(b))}},function(i,a,c){var h=c(42),g=c(2)("iterator"),b=c(12);i.exports=c(1).getIteratorMethod=function($){if($!=null)return $[g]||$["@@iterator"]||b[h($)]}},function(i,a,c){i.exports={default:c(90),__esModule:!0}},function(i,a,c){c(91),i.exports=c(1).Object.keys},function(i,a,c){var h=c(18),g=c(13);c(92)("keys",function(){return function(b){return g(h(b))}})},function(i,a,c){var h=c(15),g=c(1),b=c(8);i.exports=function($,y){var w=(g.Object||{})[$]||Object[$],T={};T[$]=y(w),h(h.S+h.F*b(function(){w(1)}),"Object",T)}},function(i,a,c){(function(h){var g=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],b=/^\s+|\s+$/g,$=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,y=/\{\n\/\* \[wrapped with (.+)\] \*/,w=/,? & /,T=/^[-+]0x[0-9a-f]+$/i,C=/^0b[01]+$/i,E=/^\[object .+?Constructor\]$/,k=/^0o[0-7]+$/i,A=/^(?:0|[1-9]\d*)$/,P=parseInt,N=typeof h=="object"&&h&&h.Object===Object&&h,B=typeof self=="object"&&self&&self.Object===Object&&self,S=N||B||Function("return this")();function H(me,ge,ue){switch(ue.length){case 0:return me.call(ge);case 1:return me.call(ge,ue[0]);case 2:return me.call(ge,ue[0],ue[1]);case 3:return me.call(ge,ue[0],ue[1],ue[2])}return me.apply(ge,ue)}function q(me,ge){return!!(me&&me.length)&&function(ue,we,Ve){if(we!=we)return function(It,pt,En,mt){for(var Cn=It.length,$n=En+-1;++$n-1}function se(me){return me!=me}function ee(me,ge){for(var ue=me.length,we=0;ue--;)me[ue]===ge&&we++;return we}function K(me,ge){for(var ue=-1,we=me.length,Ve=0,re=[];++ue2?X:void 0);function He(me){return wt(me)?Ae(me):{}}function ne(me){return!(!wt(me)||function(ge){return!!Z&&Z in ge}(me))&&(function(ge){var ue=wt(ge)?at.call(ge):"";return ue=="[object Function]"||ue=="[object GeneratorFunction]"}(me)||function(ge){var ue=!1;if(ge!=null&&typeof ge.toString!="function")try{ue=!!(ge+"")}catch{}return ue}(me)?he:E).test(function(ge){if(ge!=null){try{return ze.call(ge)}catch{}try{return ge+""}catch{}}return""}(me))}function Ke(me,ge,ue,we){for(var Ve=-1,re=me.length,Fe=ue.length,It=-1,pt=ge.length,En=de(re-Fe,0),mt=Array(pt+En),Cn=!we;++It1&&Kt.reverse(),mt&&pt1?"& ":"")+ge[we],ge=ge.join(ue>2?", ":" "),me.replace($,`{ -/* [wrapped with `+ge+`] */ -`)}function st(me,ge){return!!(ge=ge??9007199254740991)&&(typeof me=="number"||A.test(me))&&me>-1&&me%1==0&&me1&&b--,y=6*b<1?h+6*(g-h)*b:2*b<1?g:3*b<2?h+(g-h)*(2/3-b)*6:h,$[E]=255*y;return $}},function(i,a,c){(function(h){var g=typeof h=="object"&&h&&h.Object===Object&&h,b=typeof self=="object"&&self&&self.Object===Object&&self,$=g||b||Function("return this")();function y(K,Y,X){switch(X.length){case 0:return K.call(Y);case 1:return K.call(Y,X[0]);case 2:return K.call(Y,X[0],X[1]);case 3:return K.call(Y,X[0],X[1],X[2])}return K.apply(Y,X)}function w(K,Y){for(var X=-1,ce=Y.length,W=K.length;++X-1&&W%1==0&&W<=9007199254740991}(ce.length)&&!function(W){var te=function(ke){var Z=typeof ke;return!!ke&&(Z=="object"||Z=="function")}(W)?E.call(W):"";return te=="[object Function]"||te=="[object GeneratorFunction]"}(ce)}(X)}(Y)&&C.call(Y,"callee")&&(!A.call(Y,"callee")||E.call(Y)=="[object Arguments]")}(K)||!!(P&&K&&K[P])}var S=Array.isArray,H,q,se,ee=(q=function(K){var Y=(K=function(W,te,ke,Z,ze){var Ce=-1,at=W.length;for(ke||(ke=B),ze||(ze=[]);++Ce2?b-2:0),y=2;y"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var R,j=E(z);if(U){var F=E(this).constructor;R=Reflect.construct(j,arguments,F)}else R=j.apply(this,arguments);return P(this,R)}}c.r(a);var B=c(0),S=c.n(B);function H(){var z=this.constructor.getDerivedStateFromProps(this.props,this.state);z!=null&&this.setState(z)}function q(z){this.setState(function(U){var R=this.constructor.getDerivedStateFromProps(z,U);return R??null}.bind(this))}function se(z,U){try{var R=this.props,j=this.state;this.props=z,this.state=U,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(R,j)}finally{this.props=R,this.state=j}}function ee(z){var U=z.prototype;if(!U||!U.isReactComponent)throw new Error("Can only polyfill class components");if(typeof z.getDerivedStateFromProps!="function"&&typeof U.getSnapshotBeforeUpdate!="function")return z;var R=null,j=null,F=null;if(typeof U.componentWillMount=="function"?R="componentWillMount":typeof U.UNSAFE_componentWillMount=="function"&&(R="UNSAFE_componentWillMount"),typeof U.componentWillReceiveProps=="function"?j="componentWillReceiveProps":typeof U.UNSAFE_componentWillReceiveProps=="function"&&(j="UNSAFE_componentWillReceiveProps"),typeof U.componentWillUpdate=="function"?F="componentWillUpdate":typeof U.UNSAFE_componentWillUpdate=="function"&&(F="UNSAFE_componentWillUpdate"),R!==null||j!==null||F!==null){var pe=z.displayName||z.name,Ee=typeof z.getDerivedStateFromProps=="function"?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error(`Unsafe legacy lifecycles will not be called for components using new component APIs. - -`+pe+" uses "+Ee+" but also contains the following legacy lifecycles:"+(R!==null?` - `+R:"")+(j!==null?` - `+j:"")+(F!==null?` - `+F:"")+` - -The above lifecycles should be removed. Learn more about this warning here: -https://fb.me/react-async-component-lifecycle-hooks`)}if(typeof z.getDerivedStateFromProps=="function"&&(U.componentWillMount=H,U.componentWillReceiveProps=q),typeof U.getSnapshotBeforeUpdate=="function"){if(typeof U.componentDidUpdate!="function")throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");U.componentWillUpdate=se;var _e=U.componentDidUpdate;U.componentDidUpdate=function(ae,je,it){var Ft=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:it;_e.call(this,ae,je,Ft)}}return z}function K(z,U){if(z==null)return{};var R,j,F=function(Ee,_e){if(Ee==null)return{};var ae,je,it={},Ft=Object.keys(Ee);for(je=0;je=0||(it[ae]=Ee[ae]);return it}(z,U);if(Object.getOwnPropertySymbols){var pe=Object.getOwnPropertySymbols(z);for(j=0;j=0||Object.prototype.propertyIsEnumerable.call(z,R)&&(F[R]=z[R])}return F}function Y(z){var U=function(R){return{}.toString.call(R).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}(z);return U==="number"&&(U=isNaN(z)?"nan":(0|z)!=z?"float":"integer"),U}H.__suppressDeprecationWarning=!0,q.__suppressDeprecationWarning=!0,se.__suppressDeprecationWarning=!0;var X={scheme:"rjv-default",author:"mac gainor",base00:"rgba(0, 0, 0, 0)",base01:"rgb(245, 245, 245)",base02:"rgb(235, 235, 235)",base03:"#93a1a1",base04:"rgba(0, 0, 0, 0.3)",base05:"#586e75",base06:"#073642",base07:"#002b36",base08:"#d33682",base09:"#cb4b16",base0A:"#dc322f",base0B:"#859900",base0C:"#6c71c4",base0D:"#586e75",base0E:"#2aa198",base0F:"#268bd2"},ce={scheme:"rjv-grey",author:"mac gainor",base00:"rgba(1, 1, 1, 0)",base01:"rgba(1, 1, 1, 0.1)",base02:"rgba(0, 0, 0, 0.2)",base03:"rgba(1, 1, 1, 0.3)",base04:"rgba(0, 0, 0, 0.4)",base05:"rgba(1, 1, 1, 0.5)",base06:"rgba(1, 1, 1, 0.6)",base07:"rgba(1, 1, 1, 0.7)",base08:"rgba(1, 1, 1, 0.8)",base09:"rgba(1, 1, 1, 0.8)",base0A:"rgba(1, 1, 1, 0.8)",base0B:"rgba(1, 1, 1, 0.8)",base0C:"rgba(1, 1, 1, 0.8)",base0D:"rgba(1, 1, 1, 0.8)",base0E:"rgba(1, 1, 1, 0.8)",base0F:"rgba(1, 1, 1, 0.8)"},W={globalFontFamily:"monospace",globalCursor:"default",braceFontWeight:"bold",braceCursor:"pointer",ellipsisFontSize:"18px",ellipsisLineHeight:"10px",ellipsisCursor:"pointer",keyMargin:"0px 5px",keyLetterSpacing:"0.5px",keyFontStyle:"none",keyVerticalAlign:"top",keyOpacity:"0.85",keyOpacityHover:"1",keyValPaddingTop:"3px",keyValPaddingBottom:"3px",keyValPaddingRight:"5px",keyValBorderLeft:"1px solid",keyValBorderHover:"2px solid",pushedContentMarginLeft:"6px",variableValuePaddingRight:"6px",nullFontSize:"11px",nullFontWeight:"bold",nullPadding:"1px 2px",nullBorderRadius:"3px",nanFontSize:"11px",nanFontWeight:"bold",nanPadding:"1px 2px",nanBorderRadius:"3px",undefinedFontSize:"11px",undefinedPadding:"1px 2px",undefinedBorderRadius:"3px",dataTypeFontSize:"11px",dataTypeMarginRight:"4px",datatypeOpacity:"0.8",objectSizeBorderRadius:"3px",objectSizeFontStyle:"italic",objectSizeMargin:"0px 6px 0px 0px",clipboardCursor:"pointer",clipboardCheckMarginLeft:"-12px",metaDataPadding:"0px 0px 0px 10px",arrayGroupMetaPadding:"0px 0px 0px 4px",iconContainerWidth:"17px",tooltipPadding:"4px",editInputMinWidth:"130px",editInputBorderRadius:"2px",editInputPadding:"5px",editInputMarginRight:"4px",editInputFontFamily:"monospace",iconCursor:"pointer",iconFontSize:"15px",iconPaddingRight:"1px",dateValueMarginLeft:"2px",iconMarginRight:"3px",detectedRowPaddingTop:"3px",addKeyCoverBackground:"rgba(255, 255, 255, 0.3)",addKeyCoverPosition:"absolute",addKeyCoverPositionPx:"0px",addKeyModalWidth:"200px",addKeyModalMargin:"auto",addKeyModalPadding:"10px",addKeyModalRadius:"3px"},te=c(45),ke=function(z){var U=function(R){return{backgroundColor:R.base00,ellipsisColor:R.base09,braceColor:R.base07,expandedIcon:R.base0D,collapsedIcon:R.base0E,keyColor:R.base07,arrayKeyColor:R.base0C,objectSize:R.base04,copyToClipboard:R.base0F,copyToClipboardCheck:R.base0D,objectBorder:R.base02,dataTypes:{boolean:R.base0E,date:R.base0D,float:R.base0B,function:R.base0D,integer:R.base0F,string:R.base09,nan:R.base08,null:R.base0A,undefined:R.base05,regexp:R.base0A,background:R.base02},editVariable:{editIcon:R.base0E,cancelIcon:R.base09,removeIcon:R.base09,addIcon:R.base0E,checkIcon:R.base0E,background:R.base01,color:R.base0A,border:R.base07},addKeyModal:{background:R.base05,border:R.base04,color:R.base0A,labelColor:R.base01},validationFailure:{background:R.base09,iconColor:R.base01,fontColor:R.base01}}}(z);return{"app-container":{fontFamily:W.globalFontFamily,cursor:W.globalCursor,backgroundColor:U.backgroundColor,position:"relative"},ellipsis:{display:"inline-block",color:U.ellipsisColor,fontSize:W.ellipsisFontSize,lineHeight:W.ellipsisLineHeight,cursor:W.ellipsisCursor},"brace-row":{display:"inline-block",cursor:"pointer"},brace:{display:"inline-block",cursor:W.braceCursor,fontWeight:W.braceFontWeight,color:U.braceColor},"expanded-icon":{color:U.expandedIcon},"collapsed-icon":{color:U.collapsedIcon},colon:{display:"inline-block",margin:W.keyMargin,color:U.keyColor,verticalAlign:"top"},objectKeyVal:function(R,j){return{style:b({paddingTop:W.keyValPaddingTop,paddingRight:W.keyValPaddingRight,paddingBottom:W.keyValPaddingBottom,borderLeft:W.keyValBorderLeft+" "+U.objectBorder,":hover":{paddingLeft:j.paddingLeft-1+"px",borderLeft:W.keyValBorderHover+" "+U.objectBorder}},j)}},"object-key-val-no-border":{padding:W.keyValPadding},"pushed-content":{marginLeft:W.pushedContentMarginLeft},variableValue:function(R,j){return{style:b({display:"inline-block",paddingRight:W.variableValuePaddingRight,position:"relative"},j)}},"object-name":{display:"inline-block",color:U.keyColor,letterSpacing:W.keyLetterSpacing,fontStyle:W.keyFontStyle,verticalAlign:W.keyVerticalAlign,opacity:W.keyOpacity,":hover":{opacity:W.keyOpacityHover}},"array-key":{display:"inline-block",color:U.arrayKeyColor,letterSpacing:W.keyLetterSpacing,fontStyle:W.keyFontStyle,verticalAlign:W.keyVerticalAlign,opacity:W.keyOpacity,":hover":{opacity:W.keyOpacityHover}},"object-size":{color:U.objectSize,borderRadius:W.objectSizeBorderRadius,fontStyle:W.objectSizeFontStyle,margin:W.objectSizeMargin,cursor:"default"},"data-type-label":{fontSize:W.dataTypeFontSize,marginRight:W.dataTypeMarginRight,opacity:W.datatypeOpacity},boolean:{display:"inline-block",color:U.dataTypes.boolean},date:{display:"inline-block",color:U.dataTypes.date},"date-value":{marginLeft:W.dateValueMarginLeft},float:{display:"inline-block",color:U.dataTypes.float},function:{display:"inline-block",color:U.dataTypes.function,cursor:"pointer",whiteSpace:"pre-line"},"function-value":{fontStyle:"italic"},integer:{display:"inline-block",color:U.dataTypes.integer},string:{display:"inline-block",color:U.dataTypes.string},nan:{display:"inline-block",color:U.dataTypes.nan,fontSize:W.nanFontSize,fontWeight:W.nanFontWeight,backgroundColor:U.dataTypes.background,padding:W.nanPadding,borderRadius:W.nanBorderRadius},null:{display:"inline-block",color:U.dataTypes.null,fontSize:W.nullFontSize,fontWeight:W.nullFontWeight,backgroundColor:U.dataTypes.background,padding:W.nullPadding,borderRadius:W.nullBorderRadius},undefined:{display:"inline-block",color:U.dataTypes.undefined,fontSize:W.undefinedFontSize,padding:W.undefinedPadding,borderRadius:W.undefinedBorderRadius,backgroundColor:U.dataTypes.background},regexp:{display:"inline-block",color:U.dataTypes.regexp},"copy-to-clipboard":{cursor:W.clipboardCursor},"copy-icon":{color:U.copyToClipboard,fontSize:W.iconFontSize,marginRight:W.iconMarginRight,verticalAlign:"top"},"copy-icon-copied":{color:U.copyToClipboardCheck,marginLeft:W.clipboardCheckMarginLeft},"array-group-meta-data":{display:"inline-block",padding:W.arrayGroupMetaPadding},"object-meta-data":{display:"inline-block",padding:W.metaDataPadding},"icon-container":{display:"inline-block",width:W.iconContainerWidth},tooltip:{padding:W.tooltipPadding},removeVarIcon:{verticalAlign:"top",display:"inline-block",color:U.editVariable.removeIcon,cursor:W.iconCursor,fontSize:W.iconFontSize,marginRight:W.iconMarginRight},addVarIcon:{verticalAlign:"top",display:"inline-block",color:U.editVariable.addIcon,cursor:W.iconCursor,fontSize:W.iconFontSize,marginRight:W.iconMarginRight},editVarIcon:{verticalAlign:"top",display:"inline-block",color:U.editVariable.editIcon,cursor:W.iconCursor,fontSize:W.iconFontSize,marginRight:W.iconMarginRight},"edit-icon-container":{display:"inline-block",verticalAlign:"top"},"check-icon":{display:"inline-block",cursor:W.iconCursor,color:U.editVariable.checkIcon,fontSize:W.iconFontSize,paddingRight:W.iconPaddingRight},"cancel-icon":{display:"inline-block",cursor:W.iconCursor,color:U.editVariable.cancelIcon,fontSize:W.iconFontSize,paddingRight:W.iconPaddingRight},"edit-input":{display:"inline-block",minWidth:W.editInputMinWidth,borderRadius:W.editInputBorderRadius,backgroundColor:U.editVariable.background,color:U.editVariable.color,padding:W.editInputPadding,marginRight:W.editInputMarginRight,fontFamily:W.editInputFontFamily},"detected-row":{paddingTop:W.detectedRowPaddingTop},"key-modal-request":{position:W.addKeyCoverPosition,top:W.addKeyCoverPositionPx,left:W.addKeyCoverPositionPx,right:W.addKeyCoverPositionPx,bottom:W.addKeyCoverPositionPx,backgroundColor:W.addKeyCoverBackground},"key-modal":{width:W.addKeyModalWidth,backgroundColor:U.addKeyModal.background,marginLeft:W.addKeyModalMargin,marginRight:W.addKeyModalMargin,padding:W.addKeyModalPadding,borderRadius:W.addKeyModalRadius,marginTop:"15px",position:"relative"},"key-modal-label":{color:U.addKeyModal.labelColor,marginLeft:"2px",marginBottom:"5px",fontSize:"11px"},"key-modal-input-container":{overflow:"hidden"},"key-modal-input":{width:"100%",padding:"3px 6px",fontFamily:"monospace",color:U.addKeyModal.color,border:"none",boxSizing:"border-box",borderRadius:"2px"},"key-modal-cancel":{backgroundColor:U.editVariable.removeIcon,position:"absolute",top:"0px",right:"0px",borderRadius:"0px 3px 0px 3px",cursor:"pointer"},"key-modal-cancel-icon":{color:U.addKeyModal.labelColor,fontSize:W.iconFontSize,transform:"rotate(45deg)"},"key-modal-submit":{color:U.editVariable.addIcon,fontSize:W.iconFontSize,position:"absolute",right:"2px",top:"3px",cursor:"pointer"},"function-ellipsis":{display:"inline-block",color:U.ellipsisColor,fontSize:W.ellipsisFontSize,lineHeight:W.ellipsisLineHeight,cursor:W.ellipsisCursor},"validation-failure":{float:"right",padding:"3px 6px",borderRadius:"2px",cursor:"pointer",color:U.validationFailure.fontColor,backgroundColor:U.validationFailure.background},"validation-failure-label":{marginRight:"6px"},"validation-failure-clear":{position:"relative",verticalAlign:"top",cursor:"pointer",color:U.validationFailure.iconColor,fontSize:W.iconFontSize,transform:"rotate(45deg)"}}};function Z(z,U,R){return z||console.error("theme has not been set"),function(j){var F=X;return j!==!1&&j!=="none"||(F=ce),Object(te.createStyling)(ke,{defaultBase16:F})(j)}(z)(U,R)}var ze=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=(j.rjvId,j.type_name),pe=j.displayDataTypes,Ee=j.theme;return pe?S.a.createElement("span",Object.assign({className:"data-type-label"},Z(Ee,"data-type-label")),F):null}}]),R}(S.a.PureComponent),Ce=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props;return S.a.createElement("div",Z(j.theme,"boolean"),S.a.createElement(ze,Object.assign({type_name:"bool"},j)),j.value?"true":"false")}}]),R}(S.a.PureComponent),at=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props;return S.a.createElement("div",Z(j.theme,"date"),S.a.createElement(ze,Object.assign({type_name:"date"},j)),S.a.createElement("span",Object.assign({className:"date-value"},Z(j.theme,"date-value")),j.value.toLocaleTimeString("en-us",{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})))}}]),R}(S.a.PureComponent),he=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props;return S.a.createElement("div",Z(j.theme,"float"),S.a.createElement(ze,Object.assign({type_name:"float"},j)),this.props.value)}}]),R}(S.a.PureComponent);function Ae(z,U){(U==null||U>z.length)&&(U=z.length);for(var R=0,j=new Array(U);R"u"||z[Symbol.iterator]==null){if(Array.isArray(z)||(R=de(z))||U){R&&(z=R);var j=0,F=function(){};return{s:F,n:function(){return j>=z.length?{done:!0}:{done:!1,value:z[j++]}},e:function(ae){throw ae},f:F}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var pe,Ee=!0,_e=!1;return{s:function(){R=z[Symbol.iterator]()},n:function(){var ae=R.next();return Ee=ae.done,ae},e:function(ae){_e=!0,pe=ae},f:function(){try{Ee||R.return==null||R.return()}finally{if(_e)throw pe}}}}function xe(z){return function(U){if(Array.isArray(U))return Ae(U)}(z)||function(U){if(typeof Symbol<"u"&&Symbol.iterator in Object(U))return Array.from(U)}(z)||de(z)||function(){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 He=c(46),ne=new(c(47)).Dispatcher,Ke=new(function(z){C(R,z);var U=N(R);function R(){var j;$(this,R);for(var F=arguments.length,pe=new Array(F),Ee=0;EeF&&(_e.style.cursor="pointer",this.state.collapsed&&(Ee=S.a.createElement("span",null,Ee.substring(0,F),S.a.createElement("span",Z(pe,"ellipsis")," ...")))),S.a.createElement("div",Z(pe,"string"),S.a.createElement(ze,Object.assign({type_name:"string"},j)),S.a.createElement("span",Object.assign({className:"string-value"},_e,{onClick:this.toggleCollapsed}),'"',Ee,'"'))}}]),R}(S.a.PureComponent),lt=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){return S.a.createElement("div",Z(this.props.theme,"undefined"),"undefined")}}]),R}(S.a.PureComponent);function ft(){return(ft=Object.assign||function(z){for(var U=1;U=0||(Xo[ss]=Tt[ss]);return Xo}(z,["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"]),it,Ft=je.value!==void 0,Yt=Object(B.useRef)(null),on=Ue(Yt,U),Lt=Object(B.useRef)(0),an=Object(B.useRef)(),_n=function(){var Tt=Yt.current,In=R&&an.current?an.current:function(Dr){var ho=window.getComputedStyle(Dr);if(ho===null)return null;var Ts,tn=(Ts=ho,me.reduce(function(Oi,rs){return Oi[rs]=Ts[rs],Oi},{})),qs=tn.boxSizing;return qs===""?null:(ge&&qs==="border-box"&&(tn.width=parseFloat(tn.width)+parseFloat(tn.borderRightWidth)+parseFloat(tn.borderLeftWidth)+parseFloat(tn.paddingRight)+parseFloat(tn.paddingLeft)+"px"),{sizingStyle:tn,paddingSize:parseFloat(tn.paddingBottom)+parseFloat(tn.paddingTop),borderSize:parseFloat(tn.borderBottomWidth)+parseFloat(tn.borderTopWidth)})}(Tt);if(In){an.current=In;var ss=function(Dr,ho,Ts,tn){Ts===void 0&&(Ts=1),tn===void 0&&(tn=1/0),qt||((qt=document.createElement("textarea")).setAttribute("tab-index","-1"),qt.setAttribute("aria-hidden","true"),wt(qt)),qt.parentNode===null&&document.body.appendChild(qt);var qs=Dr.paddingSize,Oi=Dr.borderSize,rs=Dr.sizingStyle,Ms=rs.boxSizing;Object.keys(rs).forEach(function(fo){var oi=fo;qt.style[oi]=rs[oi]}),wt(qt),qt.value=ho;var po=function(fo,oi){var Mi=fo.scrollHeight;return oi.sizingStyle.boxSizing==="border-box"?Mi+oi.borderSize:Mi-oi.paddingSize}(qt,Dr);qt.value="x";var Zo=qt.scrollHeight-qs,Ri=Zo*Ts;Ms==="border-box"&&(Ri=Ri+qs+Oi),po=Math.max(Ri,po);var go=Zo*tn;return Ms==="border-box"&&(go=go+qs+Oi),[po=Math.min(go,po),Zo]}(In,Tt.value||Tt.placeholder||"x",F,j),Js=ss[0],Xo=ss[1];Lt.current!==Js&&(Lt.current=Js,Tt.style.setProperty("height",Js+"px","important"),ae(Js,{rowHeight:Xo}))}};return Object(B.useLayoutEffect)(_n),it=At(_n),Object(B.useLayoutEffect)(function(){var Tt=function(In){it.current(In)};return window.addEventListener("resize",Tt),function(){window.removeEventListener("resize",Tt)}},[]),Object(B.createElement)("textarea",ft({},je,{onChange:function(Tt){Ft||_n(),Ee(Tt)},ref:on}))},we=Object(B.forwardRef)(ue);function Ve(z){z=z.trim();try{if((z=JSON.stringify(JSON.parse(z)))[0]==="[")return re("array",JSON.parse(z));if(z[0]==="{")return re("object",JSON.parse(z));if(z.match(/\-?\d+\.\d+/)&&z.match(/\-?\d+\.\d+/)[0]===z)return re("float",parseFloat(z));if(z.match(/\-?\d+e-\d+/)&&z.match(/\-?\d+e-\d+/)[0]===z)return re("float",Number(z));if(z.match(/\-?\d+/)&&z.match(/\-?\d+/)[0]===z)return re("integer",parseInt(z));if(z.match(/\-?\d+e\+\d+/)&&z.match(/\-?\d+e\+\d+/)[0]===z)return re("integer",Number(z))}catch{}switch(z=z.toLowerCase()){case"undefined":return re("undefined",void 0);case"nan":return re("nan",NaN);case"null":return re("null",null);case"true":return re("boolean",!0);case"false":return re("boolean",!1);default:if(z=Date.parse(z))return re("date",new Date(z))}return re(!1,null)}function re(z,U){return{type:z,value:U}}var Fe=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",Object.assign({},Kt(F),{viewBox:"0 0 24 24",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),S.a.createElement("path",{d:"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,13H17V11H7"})))}}]),R}(S.a.PureComponent),It=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",Object.assign({},Kt(F),{viewBox:"0 0 24 24",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),S.a.createElement("path",{d:"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z"})))}}]),R}(S.a.PureComponent),pt=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]),Ee=Kt(F).style;return S.a.createElement("span",pe,S.a.createElement("svg",{fill:Ee.color,width:Ee.height,height:Ee.width,style:Ee,viewBox:"0 0 1792 1792"},S.a.createElement("path",{d:"M1344 800v64q0 14-9 23t-23 9h-832q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h832q14 0 23 9t9 23zm128 448v-832q0-66-47-113t-113-47h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113zm128-832v832q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z"})))}}]),R}(S.a.PureComponent),En=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]),Ee=Kt(F).style;return S.a.createElement("span",pe,S.a.createElement("svg",{fill:Ee.color,width:Ee.height,height:Ee.width,style:Ee,viewBox:"0 0 1792 1792"},S.a.createElement("path",{d:"M1344 800v64q0 14-9 23t-23 9h-352v352q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23v-352h-352q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h352v-352q0-14 9-23t23-9h64q14 0 23 9t9 23v352h352q14 0 23 9t9 23zm128 448v-832q0-66-47-113t-113-47h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113zm128-832v832q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z"})))}}]),R}(S.a.PureComponent),mt=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",{style:b(b({},Kt(F).style),{},{paddingLeft:"2px",verticalAlign:"top"}),viewBox:"0 0 15 15",fill:"currentColor"},S.a.createElement("path",{d:"M0 14l6-6-6-6z"})))}}]),R}(S.a.PureComponent),Cn=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",{style:b(b({},Kt(F).style),{},{paddingLeft:"2px",verticalAlign:"top"}),viewBox:"0 0 15 15",fill:"currentColor"},S.a.createElement("path",{d:"M0 5l6 6 6-6z"})))}}]),R}(S.a.PureComponent),$n=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",Object.assign({},Kt(F),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),S.a.createElement("g",null,S.a.createElement("path",{d:"m30 35h-25v-22.5h25v7.5h2.5v-12.5c0-1.4-1.1-2.5-2.5-2.5h-7.5c0-2.8-2.2-5-5-5s-5 2.2-5 5h-7.5c-1.4 0-2.5 1.1-2.5 2.5v27.5c0 1.4 1.1 2.5 2.5 2.5h25c1.4 0 2.5-1.1 2.5-2.5v-5h-2.5v5z m-20-27.5h2.5s2.5-1.1 2.5-2.5 1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5 1.3 2.5 2.5 2.5h2.5s2.5 1.1 2.5 2.5h-20c0-1.5 1.1-2.5 2.5-2.5z m-2.5 20h5v-2.5h-5v2.5z m17.5-5v-5l-10 7.5 10 7.5v-5h12.5v-5h-12.5z m-17.5 10h7.5v-2.5h-7.5v2.5z m12.5-17.5h-12.5v2.5h12.5v-2.5z m-7.5 5h-5v2.5h5v-2.5z"}))))}}]),R}(S.a.PureComponent),zn=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",Object.assign({},Kt(F),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),S.a.createElement("g",null,S.a.createElement("path",{d:"m28.6 25q0-0.5-0.4-1l-4-4 4-4q0.4-0.5 0.4-1 0-0.6-0.4-1.1l-2-2q-0.4-0.4-1-0.4-0.6 0-1 0.4l-4.1 4.1-4-4.1q-0.4-0.4-1-0.4-0.6 0-1 0.4l-2 2q-0.5 0.5-0.5 1.1 0 0.5 0.5 1l4 4-4 4q-0.5 0.5-0.5 1 0 0.7 0.5 1.1l2 2q0.4 0.4 1 0.4 0.6 0 1-0.4l4-4.1 4.1 4.1q0.4 0.4 1 0.4 0.6 0 1-0.4l2-2q0.4-0.4 0.4-1z m8.7-5q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z"}))))}}]),R}(S.a.PureComponent),Jn=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",Object.assign({},Kt(F),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),S.a.createElement("g",null,S.a.createElement("path",{d:"m30.1 21.4v-2.8q0-0.6-0.4-1t-1-0.5h-5.7v-5.7q0-0.6-0.4-1t-1-0.4h-2.9q-0.6 0-1 0.4t-0.4 1v5.7h-5.7q-0.6 0-1 0.5t-0.5 1v2.8q0 0.6 0.5 1t1 0.5h5.7v5.7q0 0.5 0.4 1t1 0.4h2.9q0.6 0 1-0.4t0.4-1v-5.7h5.7q0.6 0 1-0.5t0.4-1z m7.2-1.4q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z"}))))}}]),R}(S.a.PureComponent),Gs=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",Object.assign({},Kt(F),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),S.a.createElement("g",null,S.a.createElement("path",{d:"m31.6 21.6h-10v10h-3.2v-10h-10v-3.2h10v-10h3.2v10h10v3.2z"}))))}}]),R}(S.a.PureComponent),ns=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",Object.assign({},Kt(F),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),S.a.createElement("g",null,S.a.createElement("path",{d:"m19.8 26.4l2.6-2.6-3.4-3.4-2.6 2.6v1.3h2.2v2.1h1.2z m9.8-16q-0.3-0.4-0.7 0l-7.8 7.8q-0.4 0.4 0 0.7t0.7 0l7.8-7.8q0.4-0.4 0-0.7z m1.8 13.2v4.3q0 2.6-1.9 4.5t-4.5 1.9h-18.6q-2.6 0-4.5-1.9t-1.9-4.5v-18.6q0-2.7 1.9-4.6t4.5-1.8h18.6q1.4 0 2.6 0.5 0.3 0.2 0.4 0.5 0.1 0.4-0.2 0.7l-1.1 1.1q-0.3 0.3-0.7 0.1-0.5-0.1-1-0.1h-18.6q-1.4 0-2.5 1.1t-1 2.5v18.6q0 1.4 1 2.5t2.5 1h18.6q1.5 0 2.5-1t1.1-2.5v-2.9q0-0.2 0.2-0.4l1.4-1.5q0.3-0.3 0.8-0.1t0.4 0.6z m-2.1-16.5l6.4 6.5-15 15h-6.4v-6.5z m9.9 3l-2.1 2-6.4-6.4 2.1-2q0.6-0.7 1.5-0.7t1.5 0.7l3.4 3.4q0.6 0.6 0.6 1.5t-0.6 1.5z"}))))}}]),R}(S.a.PureComponent),Rn=function(z){C(R,z);var U=N(R);function R(){return $(this,R),U.apply(this,arguments)}return w(R,[{key:"render",value:function(){var j=this.props,F=j.style,pe=K(j,["style"]);return S.a.createElement("span",pe,S.a.createElement("svg",Object.assign({},Kt(F),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),S.a.createElement("g",null,S.a.createElement("path",{d:"m31.7 16.4q0-0.6-0.4-1l-2.1-2.1q-0.4-0.4-1-0.4t-1 0.4l-9.1 9.1-5-5q-0.5-0.4-1-0.4t-1 0.4l-2.1 2q-0.4 0.4-0.4 1 0 0.6 0.4 1l8.1 8.1q0.4 0.4 1 0.4 0.6 0 1-0.4l12.2-12.1q0.4-0.4 0.4-1z m5.6 3.6q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z"}))))}}]),R}(S.a.PureComponent);function Kt(z){return z||(z={}),{style:b(b({verticalAlign:"middle"},z),{},{color:z.color?z.color:"#000000",height:"1em",width:"1em"})}}var Pn=function(z){C(R,z);var U=N(R);function R(j){var F;return $(this,R),(F=U.call(this,j)).copiedTimer=null,F.handleCopy=function(){var pe=document.createElement("textarea"),Ee=F.props,_e=Ee.clickCallback,ae=Ee.src,je=Ee.namespace;pe.innerHTML=JSON.stringify(F.clipboardValue(ae),null," "),document.body.appendChild(pe),pe.select(),document.execCommand("copy"),document.body.removeChild(pe),F.copiedTimer=setTimeout(function(){F.setState({copied:!1})},5500),F.setState({copied:!0},function(){typeof _e=="function"&&_e({src:ae,namespace:je,name:je[je.length-1]})})},F.getClippyIcon=function(){var pe=F.props.theme;return F.state.copied?S.a.createElement("span",null,S.a.createElement($n,Object.assign({className:"copy-icon"},Z(pe,"copy-icon"))),S.a.createElement("span",Z(pe,"copy-icon-copied"),"✔")):S.a.createElement($n,Object.assign({className:"copy-icon"},Z(pe,"copy-icon")))},F.clipboardValue=function(pe){switch(Y(pe)){case"function":case"regexp":return pe.toString();default:return pe}},F.state={copied:!1},F}return w(R,[{key:"componentWillUnmount",value:function(){this.copiedTimer&&(clearTimeout(this.copiedTimer),this.copiedTimer=null)}},{key:"render",value:function(){var j=this.props,F=(j.src,j.theme),pe=j.hidden,Ee=j.rowHovered,_e=Z(F,"copy-to-clipboard").style,ae="inline";return pe&&(ae="none"),S.a.createElement("span",{className:"copy-to-clipboard-container",title:"Copy to clipboard",style:{verticalAlign:"top",display:Ee?"inline-block":"none"}},S.a.createElement("span",{style:b(b({},_e),{},{display:ae}),onClick:this.handleCopy},this.getClippyIcon()))}}]),R}(S.a.PureComponent),cs=function(z){C(R,z);var U=N(R);function R(j){var F;return $(this,R),(F=U.call(this,j)).getEditIcon=function(){var pe=F.props,Ee=pe.variable,_e=pe.theme;return S.a.createElement("div",{className:"click-to-edit",style:{verticalAlign:"top",display:F.state.hovered?"inline-block":"none"}},S.a.createElement(ns,Object.assign({className:"click-to-edit-icon"},Z(_e,"editVarIcon"),{onClick:function(){F.prepopInput(Ee)}})))},F.prepopInput=function(pe){if(F.props.onEdit!==!1){var Ee=function(ae){var je;switch(Y(ae)){case"undefined":je="undefined";break;case"nan":je="NaN";break;case"string":je=ae;break;case"date":case"function":case"regexp":je=ae.toString();break;default:try{je=JSON.stringify(ae,null," ")}catch{je=""}}return je}(pe.value),_e=Ve(Ee);F.setState({editMode:!0,editValue:Ee,parsedInput:{type:_e.type,value:_e.value}})}},F.getRemoveIcon=function(){var pe=F.props,Ee=pe.variable,_e=pe.namespace,ae=pe.theme,je=pe.rjvId;return S.a.createElement("div",{className:"click-to-remove",style:{verticalAlign:"top",display:F.state.hovered?"inline-block":"none"}},S.a.createElement(zn,Object.assign({className:"click-to-remove-icon"},Z(ae,"removeVarIcon"),{onClick:function(){ne.dispatch({name:"VARIABLE_REMOVED",rjvId:je,data:{name:Ee.name,namespace:_e,existing_value:Ee.value,variable_removed:!0}})}})))},F.getValue=function(pe,Ee){var _e=!Ee&&pe.type,ae=A(F).props;switch(_e){case!1:return F.getEditInput();case"string":return S.a.createElement(St,Object.assign({value:pe.value},ae));case"integer":return S.a.createElement(nt,Object.assign({value:pe.value},ae));case"float":return S.a.createElement(he,Object.assign({value:pe.value},ae));case"boolean":return S.a.createElement(Ce,Object.assign({value:pe.value},ae));case"function":return S.a.createElement(Je,Object.assign({value:pe.value},ae));case"null":return S.a.createElement(ht,ae);case"nan":return S.a.createElement(rt,ae);case"undefined":return S.a.createElement(lt,ae);case"date":return S.a.createElement(at,Object.assign({value:pe.value},ae));case"regexp":return S.a.createElement(Wt,Object.assign({value:pe.value},ae));default:return S.a.createElement("div",{className:"object-value"},JSON.stringify(pe.value))}},F.getEditInput=function(){var pe=F.props.theme,Ee=F.state.editValue;return S.a.createElement("div",null,S.a.createElement(we,Object.assign({type:"text",inputRef:function(_e){return _e&&_e.focus()},value:Ee,className:"variable-editor",onChange:function(_e){var ae=_e.target.value,je=Ve(ae);F.setState({editValue:ae,parsedInput:{type:je.type,value:je.value}})},onKeyDown:function(_e){switch(_e.key){case"Escape":F.setState({editMode:!1,editValue:""});break;case"Enter":(_e.ctrlKey||_e.metaKey)&&F.submitEdit(!0)}_e.stopPropagation()},placeholder:"update this value",minRows:2},Z(pe,"edit-input"))),S.a.createElement("div",Z(pe,"edit-icon-container"),S.a.createElement(zn,Object.assign({className:"edit-cancel"},Z(pe,"cancel-icon"),{onClick:function(){F.setState({editMode:!1,editValue:""})}})),S.a.createElement(Rn,Object.assign({className:"edit-check string-value"},Z(pe,"check-icon"),{onClick:function(){F.submitEdit()}})),S.a.createElement("div",null,F.showDetected())))},F.submitEdit=function(pe){var Ee=F.props,_e=Ee.variable,ae=Ee.namespace,je=Ee.rjvId,it=F.state,Ft=it.editValue,Yt=it.parsedInput,on=Ft;pe&&Yt.type&&(on=Yt.value),F.setState({editMode:!1}),ne.dispatch({name:"VARIABLE_UPDATED",rjvId:je,data:{name:_e.name,namespace:ae,existing_value:_e.value,new_value:on,variable_removed:!1}})},F.showDetected=function(){var pe=F.props,Ee=pe.theme,_e=(pe.variable,pe.namespace,pe.rjvId,F.state.parsedInput),ae=(_e.type,_e.value,F.getDetectedInput());if(ae)return S.a.createElement("div",null,S.a.createElement("div",Z(Ee,"detected-row"),ae,S.a.createElement(Rn,{className:"edit-check detected",style:b({verticalAlign:"top",paddingLeft:"3px"},Z(Ee,"check-icon").style),onClick:function(){F.submitEdit(!0)}})))},F.getDetectedInput=function(){var pe=F.state.parsedInput,Ee=pe.type,_e=pe.value,ae=A(F).props,je=ae.theme;if(Ee!==!1)switch(Ee.toLowerCase()){case"object":return S.a.createElement("span",null,S.a.createElement("span",{style:b(b({},Z(je,"brace").style),{},{cursor:"default"})},"{"),S.a.createElement("span",{style:b(b({},Z(je,"ellipsis").style),{},{cursor:"default"})},"..."),S.a.createElement("span",{style:b(b({},Z(je,"brace").style),{},{cursor:"default"})},"}"));case"array":return S.a.createElement("span",null,S.a.createElement("span",{style:b(b({},Z(je,"brace").style),{},{cursor:"default"})},"["),S.a.createElement("span",{style:b(b({},Z(je,"ellipsis").style),{},{cursor:"default"})},"..."),S.a.createElement("span",{style:b(b({},Z(je,"brace").style),{},{cursor:"default"})},"]"));case"string":return S.a.createElement(St,Object.assign({value:_e},ae));case"integer":return S.a.createElement(nt,Object.assign({value:_e},ae));case"float":return S.a.createElement(he,Object.assign({value:_e},ae));case"boolean":return S.a.createElement(Ce,Object.assign({value:_e},ae));case"function":return S.a.createElement(Je,Object.assign({value:_e},ae));case"null":return S.a.createElement(ht,ae);case"nan":return S.a.createElement(rt,ae);case"undefined":return S.a.createElement(lt,ae);case"date":return S.a.createElement(at,Object.assign({value:new Date(_e)},ae))}},F.state={editMode:!1,editValue:"",hovered:!1,renameKey:!1,parsedInput:{type:!1,value:null}},F}return w(R,[{key:"render",value:function(){var j=this,F=this.props,pe=F.variable,Ee=F.singleIndent,_e=F.type,ae=F.theme,je=F.namespace,it=F.indentWidth,Ft=F.enableClipboard,Yt=F.onEdit,on=F.onDelete,Lt=F.onSelect,an=F.displayArrayKey,_n=F.quotesOnKeys,Tt=this.state.editMode;return S.a.createElement("div",Object.assign({},Z(ae,"objectKeyVal",{paddingLeft:it*Ee}),{onMouseEnter:function(){return j.setState(b(b({},j.state),{},{hovered:!0}))},onMouseLeave:function(){return j.setState(b(b({},j.state),{},{hovered:!1}))},className:"variable-row",key:pe.name}),_e=="array"?an?S.a.createElement("span",Object.assign({},Z(ae,"array-key"),{key:pe.name+"_"+je}),pe.name,S.a.createElement("div",Z(ae,"colon"),":")):null:S.a.createElement("span",null,S.a.createElement("span",Object.assign({},Z(ae,"object-name"),{className:"object-key",key:pe.name+"_"+je}),!!_n&&S.a.createElement("span",{style:{verticalAlign:"top"}},'"'),S.a.createElement("span",{style:{display:"inline-block"}},pe.name),!!_n&&S.a.createElement("span",{style:{verticalAlign:"top"}},'"')),S.a.createElement("span",Z(ae,"colon"),":")),S.a.createElement("div",Object.assign({className:"variable-value",onClick:Lt===!1&&Yt===!1?null:function(In){var ss=xe(je);(In.ctrlKey||In.metaKey)&&Yt!==!1?j.prepopInput(pe):Lt!==!1&&(ss.shift(),Lt(b(b({},pe),{},{namespace:ss})))}},Z(ae,"variableValue",{cursor:Lt===!1?"default":"pointer"})),this.getValue(pe,Tt)),Ft?S.a.createElement(Pn,{rowHovered:this.state.hovered,hidden:Tt,src:pe.value,clickCallback:Ft,theme:ae,namespace:[].concat(xe(je),[pe.name])}):null,Yt!==!1&&Tt==0?this.getEditIcon():null,on!==!1&&Tt==0?this.getRemoveIcon():null)}}]),R}(S.a.PureComponent),Ks=function(z){C(R,z);var U=N(R);function R(){var j;$(this,R);for(var F=arguments.length,pe=new Array(F),Ee=0;Ee0?Ft:null,namespace:it.splice(0,it.length-1),existing_value:Yt,variable_removed:!1,key_name:null};Y(Yt)==="object"?ne.dispatch({name:"ADD_VARIABLE_KEY_REQUEST",rjvId:on,data:an}):ne.dispatch({name:"VARIABLE_ADDED",rjvId:on,data:b(b({},an),{},{new_value:[].concat(xe(Yt),[null])})})}})))},j.getRemoveObject=function(_e){var ae=j.props,je=ae.theme,it=(ae.hover,ae.namespace),Ft=ae.name,Yt=ae.src,on=ae.rjvId;if(it.length!==1)return S.a.createElement("span",{className:"click-to-remove",style:{display:_e?"inline-block":"none"}},S.a.createElement(zn,Object.assign({className:"click-to-remove-icon"},Z(je,"removeVarIcon"),{onClick:function(){ne.dispatch({name:"VARIABLE_REMOVED",rjvId:on,data:{name:Ft,namespace:it.splice(0,it.length-1),existing_value:Yt,variable_removed:!0}})}})))},j.render=function(){var _e=j.props,ae=_e.theme,je=_e.onDelete,it=_e.onAdd,Ft=_e.enableClipboard,Yt=_e.src,on=_e.namespace,Lt=_e.rowHovered;return S.a.createElement("div",Object.assign({},Z(ae,"object-meta-data"),{className:"object-meta-data",onClick:function(an){an.stopPropagation()}}),j.getObjectSize(),Ft?S.a.createElement(Pn,{rowHovered:Lt,clickCallback:Ft,src:Yt,theme:ae,namespace:on}):null,it!==!1?j.getAddAttribute(Lt):null,je!==!1?j.getRemoveObject(Lt):null)},j}return R}(S.a.PureComponent);function jn(z){var U=z.parent_type,R=z.namespace,j=z.quotesOnKeys,F=z.theme,pe=z.jsvRoot,Ee=z.name,_e=z.displayArrayKey,ae=z.name?z.name:"";return!pe||Ee!==!1&&Ee!==null?U=="array"?_e?S.a.createElement("span",Object.assign({},Z(F,"array-key"),{key:R}),S.a.createElement("span",{className:"array-key"},ae),S.a.createElement("span",Z(F,"colon"),":")):S.a.createElement("span",null):S.a.createElement("span",Object.assign({},Z(F,"object-name"),{key:R}),S.a.createElement("span",{className:"object-key"},j&&S.a.createElement("span",{style:{verticalAlign:"top"}},'"'),S.a.createElement("span",null,ae),j&&S.a.createElement("span",{style:{verticalAlign:"top"}},'"')),S.a.createElement("span",Z(F,"colon"),":")):S.a.createElement("span",null)}function Un(z){var U=z.theme;switch(z.iconStyle){case"triangle":return S.a.createElement(Cn,Object.assign({},Z(U,"expanded-icon"),{className:"expanded-icon"}));case"square":return S.a.createElement(pt,Object.assign({},Z(U,"expanded-icon"),{className:"expanded-icon"}));default:return S.a.createElement(Fe,Object.assign({},Z(U,"expanded-icon"),{className:"expanded-icon"}))}}function Rs(z){var U=z.theme;switch(z.iconStyle){case"triangle":return S.a.createElement(mt,Object.assign({},Z(U,"collapsed-icon"),{className:"collapsed-icon"}));case"square":return S.a.createElement(En,Object.assign({},Z(U,"collapsed-icon"),{className:"collapsed-icon"}));default:return S.a.createElement(It,Object.assign({},Z(U,"collapsed-icon"),{className:"collapsed-icon"}))}}var ii=function(z){C(R,z);var U=N(R);function R(j){var F;return $(this,R),(F=U.call(this,j)).toggleCollapsed=function(pe){var Ee=[];for(var _e in F.state.expanded)Ee.push(F.state.expanded[_e]);Ee[pe]=!Ee[pe],F.setState({expanded:Ee})},F.state={expanded:[]},F}return w(R,[{key:"getExpandedIcon",value:function(j){var F=this.props,pe=F.theme,Ee=F.iconStyle;return this.state.expanded[j]?S.a.createElement(Un,{theme:pe,iconStyle:Ee}):S.a.createElement(Rs,{theme:pe,iconStyle:Ee})}},{key:"render",value:function(){var j=this,F=this.props,pe=F.src,Ee=F.groupArraysAfterLength,_e=(F.depth,F.name),ae=F.theme,je=F.jsvRoot,it=F.namespace,Ft=(F.parent_type,K(F,["src","groupArraysAfterLength","depth","name","theme","jsvRoot","namespace","parent_type"])),Yt=0,on=5*this.props.indentWidth;je||(Yt=5*this.props.indentWidth);var Lt=Ee,an=Math.ceil(pe.length/Lt);return S.a.createElement("div",Object.assign({className:"object-key-val"},Z(ae,je?"jsv-root":"objectKeyVal",{paddingLeft:Yt})),S.a.createElement(jn,this.props),S.a.createElement("span",null,S.a.createElement(Ks,Object.assign({size:pe.length},this.props))),xe(Array(an)).map(function(_n,Tt){return S.a.createElement("div",Object.assign({key:Tt,className:"object-key-val array-group"},Z(ae,"objectKeyVal",{marginLeft:6,paddingLeft:on})),S.a.createElement("span",Z(ae,"brace-row"),S.a.createElement("div",Object.assign({className:"icon-container"},Z(ae,"icon-container"),{onClick:function(In){j.toggleCollapsed(Tt)}}),j.getExpandedIcon(Tt)),j.state.expanded[Tt]?S.a.createElement(xr,Object.assign({key:_e+Tt,depth:0,name:!1,collapsed:!1,groupArraysAfterLength:Lt,index_offset:Tt*Lt,src:pe.slice(Tt*Lt,Tt*Lt+Lt),namespace:it,type:"array",parent_type:"array_group",theme:ae},Ft)):S.a.createElement("span",Object.assign({},Z(ae,"brace"),{onClick:function(In){j.toggleCollapsed(Tt)},className:"array-group-brace"}),"[",S.a.createElement("div",Object.assign({},Z(ae,"array-group-meta-data"),{className:"array-group-meta-data"}),S.a.createElement("span",Object.assign({className:"object-size"},Z(ae,"object-size")),Tt*Lt," - ",Tt*Lt+Lt>pe.length?pe.length:Tt*Lt+Lt)),"]")))}))}}]),R}(S.a.PureComponent),Ir=function(z){C(R,z);var U=N(R);function R(j){var F;$(this,R),(F=U.call(this,j)).toggleCollapsed=function(){F.setState({expanded:!F.state.expanded},function(){Te.set(F.props.rjvId,F.props.namespace,"expanded",F.state.expanded)})},F.getObjectContent=function(Ee,_e,ae){return S.a.createElement("div",{className:"pushed-content object-container"},S.a.createElement("div",Object.assign({className:"object-content"},Z(F.props.theme,"pushed-content")),F.renderObjectContents(_e,ae)))},F.getEllipsis=function(){return F.state.size===0?null:S.a.createElement("div",Object.assign({},Z(F.props.theme,"ellipsis"),{className:"node-ellipsis",onClick:F.toggleCollapsed}),"...")},F.getObjectMetaData=function(Ee){var _e=F.props,ae=(_e.rjvId,_e.theme,F.state),je=ae.size,it=ae.hovered;return S.a.createElement(Ks,Object.assign({rowHovered:it,size:je},F.props))},F.renderObjectContents=function(Ee,_e){var ae,je=F.props,it=je.depth,Ft=je.parent_type,Yt=je.index_offset,on=je.groupArraysAfterLength,Lt=je.namespace,an=F.state.object_type,_n=[],Tt=Object.keys(Ee||{});return F.props.sortKeys&&an!=="array"&&(Tt=Tt.sort()),Tt.forEach(function(In){if(ae=new ec(In,Ee[In]),Ft==="array_group"&&Yt&&(ae.name=parseInt(ae.name)+Yt),Ee.hasOwnProperty(In))if(ae.type==="object")_n.push(S.a.createElement(xr,Object.assign({key:ae.name,depth:it+1,name:ae.name,src:ae.value,namespace:Lt.concat(ae.name),parent_type:an},_e)));else if(ae.type==="array"){var ss=xr;on&&ae.value.length>on&&(ss=ii),_n.push(S.a.createElement(ss,Object.assign({key:ae.name,depth:it+1,name:ae.name,src:ae.value,namespace:Lt.concat(ae.name),type:"array",parent_type:an},_e)))}else _n.push(S.a.createElement(cs,Object.assign({key:ae.name+"_"+Lt,variable:ae,singleIndent:5,namespace:Lt,type:F.props.type},_e)))}),_n};var pe=R.getState(j);return F.state=b(b({},pe),{},{prevProps:{}}),F}return w(R,[{key:"getBraceStart",value:function(j,F){var pe=this,Ee=this.props,_e=Ee.src,ae=Ee.theme,je=Ee.iconStyle;if(Ee.parent_type==="array_group")return S.a.createElement("span",null,S.a.createElement("span",Z(ae,"brace"),j==="array"?"[":"{"),F?this.getObjectMetaData(_e):null);var it=F?Un:Rs;return S.a.createElement("span",null,S.a.createElement("span",Object.assign({onClick:function(Ft){pe.toggleCollapsed()}},Z(ae,"brace-row")),S.a.createElement("div",Object.assign({className:"icon-container"},Z(ae,"icon-container")),S.a.createElement(it,{theme:ae,iconStyle:je})),S.a.createElement(jn,this.props),S.a.createElement("span",Z(ae,"brace"),j==="array"?"[":"{")),F?this.getObjectMetaData(_e):null)}},{key:"render",value:function(){var j=this,F=this.props,pe=F.depth,Ee=F.src,_e=(F.namespace,F.name,F.type,F.parent_type),ae=F.theme,je=F.jsvRoot,it=F.iconStyle,Ft=K(F,["depth","src","namespace","name","type","parent_type","theme","jsvRoot","iconStyle"]),Yt=this.state,on=Yt.object_type,Lt=Yt.expanded,an={};return je||_e==="array_group"?_e==="array_group"&&(an.borderLeft=0,an.display="inline"):an.paddingLeft=5*this.props.indentWidth,S.a.createElement("div",Object.assign({className:"object-key-val",onMouseEnter:function(){return j.setState(b(b({},j.state),{},{hovered:!0}))},onMouseLeave:function(){return j.setState(b(b({},j.state),{},{hovered:!1}))}},Z(ae,je?"jsv-root":"objectKeyVal",an)),this.getBraceStart(on,Lt),Lt?this.getObjectContent(pe,Ee,b({theme:ae,iconStyle:it},Ft)):this.getEllipsis(),S.a.createElement("span",{className:"brace-row"},S.a.createElement("span",{style:b(b({},Z(ae,"brace").style),{},{paddingLeft:Lt?"3px":"0px"})},on==="array"?"]":"}"),Lt?null:this.getObjectMetaData(Ee)))}}],[{key:"getDerivedStateFromProps",value:function(j,F){var pe=F.prevProps;return j.src!==pe.src||j.collapsed!==pe.collapsed||j.name!==pe.name||j.namespace!==pe.namespace||j.rjvId!==pe.rjvId?b(b({},R.getState(j)),{},{prevProps:j}):null}}]),R}(S.a.PureComponent);Ir.getState=function(z){var U=Object.keys(z.src).length,R=(z.collapsed===!1||z.collapsed!==!0&&z.collapsed>z.depth)&&(!z.shouldCollapse||z.shouldCollapse({name:z.name,src:z.src,type:Y(z.src),namespace:z.namespace})===!1)&&U!==0;return{expanded:Te.get(z.rjvId,z.namespace,"expanded",R),object_type:z.type==="array"?"array":"object",parent_type:z.type==="array"?"array":"object",size:U,hovered:!1}};var ec=function z(U,R){$(this,z),this.name=U,this.value=R,this.type=Y(R)};ee(Ir);var xr=Ir,Ka=function(z){C(R,z);var U=N(R);function R(){var j;$(this,R);for(var F=arguments.length,pe=new Array(F),Ee=0;Ee_e.groupArraysAfterLength&&(je=ii),S.a.createElement("div",{className:"pretty-json-container object-container"},S.a.createElement("div",{className:"object-content"},S.a.createElement(je,Object.assign({namespace:ae,depth:0,jsvRoot:!0},_e))))},j}return R}(S.a.PureComponent),tc=function(z){C(R,z);var U=N(R);function R(j){var F;return $(this,R),(F=U.call(this,j)).closeModal=function(){ne.dispatch({rjvId:F.props.rjvId,name:"RESET"})},F.submit=function(){F.props.submit(F.state.input)},F.state={input:j.input?j.input:""},F}return w(R,[{key:"render",value:function(){var j=this,F=this.props,pe=F.theme,Ee=F.rjvId,_e=F.isValid,ae=this.state.input,je=_e(ae);return S.a.createElement("div",Object.assign({className:"key-modal-request"},Z(pe,"key-modal-request"),{onClick:this.closeModal}),S.a.createElement("div",Object.assign({},Z(pe,"key-modal"),{onClick:function(it){it.stopPropagation()}}),S.a.createElement("div",Z(pe,"key-modal-label"),"Key Name:"),S.a.createElement("div",{style:{position:"relative"}},S.a.createElement("input",Object.assign({},Z(pe,"key-modal-input"),{className:"key-modal-input",ref:function(it){return it&&it.focus()},spellCheck:!1,value:ae,placeholder:"...",onChange:function(it){j.setState({input:it.target.value})},onKeyPress:function(it){je&&it.key==="Enter"?j.submit():it.key==="Escape"&&j.closeModal()}})),je?S.a.createElement(Rn,Object.assign({},Z(pe,"key-modal-submit"),{className:"key-modal-submit",onClick:function(it){return j.submit()}})):null),S.a.createElement("span",Z(pe,"key-modal-cancel"),S.a.createElement(Gs,Object.assign({},Z(pe,"key-modal-cancel-icon"),{className:"key-modal-cancel",onClick:function(){ne.dispatch({rjvId:Ee,name:"RESET"})}})))))}}]),R}(S.a.PureComponent),nc=function(z){C(R,z);var U=N(R);function R(){var j;$(this,R);for(var F=arguments.length,pe=new Array(F),Ee=0;Ee({color:o.palette.mode==="dark"?"#CCC":"#333"}),frameTextSecondary:{fontStyle:"italic",fontSize:12,opacity:.6,pl:1},listRoot:{padding:0,fontSize:"small"},scopeType:{verticalAlign:"top",textTransform:"uppercase",width:50},scopeType_local:{color:"#53a944"},scopeType_closure:{color:"#365b80"},scopeType_user:{color:"#a48a15"},scopeName:{color:"#bc5b5b",width:"calc(100% - 82px)",whiteSpace:"nowrap",textOverflow:"ellipsis"},scopeButton:{width:32},scopeValueEditable:{cursor:"pointer"},selectedFrame:{backgroundColor:"#777",color:"white"},splitter:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden",fontSize:12},toolbarScopes:o=>({width:24,display:"inline-block",height:"100%",background:o.palette.mode==="dark"?"#222":"#EEE",verticalAlign:"top"}),scopesAfterToolbar:{width:"calc(100% - 24px)",display:"inline-block",height:"100%",verticalAlign:"top"},scopeNameName:{fontWeight:"bold",display:"inline-block",verticalAlign:"top"},scopeNameEqual:o=>({display:"inline-block",color:o.palette.mode==="dark"?"#EEE":"#222",verticalAlign:"top"}),scopeNameValue:{verticalAlign:"top",display:"inline-block",color:"#3b709f",whiteSpace:"nowrap"},scopeButtonDel:{padding:0,float:"right"},valueNull:{color:"#a44a24"},valueUndefined:{color:"#a44a24"},valueString:{color:"#1e8816"},valueNumber:{color:"#163c88"},valueBoolean:{color:"#a44a24"},valueObject:{color:"#721b70"},valueNone:{color:"#8a8a8a"},valueFunc:{color:"#ac4343"},error:o=>({color:o.palette.mode==="dark"?"#FF8080":"#FF0000",fontStyle:"italic"})};function QL(o){var s,i;const n={};return o.className==="ReferenceError"?o.description:((i=(s=o.preview)==null?void 0:s.properties)==null||i.forEach(a=>{(a==null?void 0:a.type)==="object"?a.subtype==="null"?n[a.name]=null:n[a.name]=`{ ${a.value==="Object"?"...":a.value} }`:a.type==="boolean"?n[a.name||a.description]=a.value==="true":a.type==="number"?n[a.name||a.description]=parseFloat(a.value):a.type==="function"?n[a.name||a.description]="function(){}":a.type==="undefined"?n[a.name||a.description]=void 0:n[a.name||a.description]=a.value}),n)}let eB=class extends We.Component{editRef;scopeValue=null;constructor(n){super(n);const s=window.localStorage.getItem("JS.framesSizes");let i=[30,70];if(s)try{i=JSON.parse(s)}catch{}this.state={editValue:null,callFrames:this.props.callFrames,framesSizes:i},this.editRef=We.createRef()}onExpressionNameUpdate(){this.state.editValue&&this.props.onExpressionNameUpdate(this.state.editValue.index,this.scopeValue,()=>{this.setState({editValue:null}),this.scopeValue=null})}renderExpression(n,s){const i=this.state.editValue&&this.state.editValue.type==="expression"&&this.state.editValue.index===s?f.jsx(D.Input,{inputRef:this.editRef,fullWidth:!0,margin:"dense",onBlur:()=>this.state.editValue&&this.setState({editValue:null}),defaultValue:n.name,onKeyUp:a=>{a.key==="Enter"?this.onExpressionNameUpdate():a.key==="Escape"&&this.setState({editValue:null})},onChange:a=>this.scopeValue=a.target.value,endAdornment:f.jsx(D.InputAdornment,{position:"end",children:f.jsx(D.IconButton,{onClick:()=>this.onExpressionNameUpdate(),size:"medium",children:f.jsx(b_,{})})})}):[f.jsx("div",{style:bn.scopeNameName,title:I.I18n.t("Double click to edit expression"),children:n.name},"name"),f.jsxs(D.Box,{sx:bn.scopeNameEqual,children:[" ","="," "]},"="),f.jsx("div",{style:bn.scopeNameValue,children:this.formatValue(n.value)},"val")];return f.jsxs("tr",{children:[f.jsx("td",{style:{...bn.scopeType,...bn.scopeType_user},children:"user"}),f.jsx("td",{style:bn.scopeName,onDoubleClick:()=>{this.scopeValue=n.name||"",this.setState({editValue:{type:"expression",valueType:"string",index:s,name:n.name,value:n.name||""}})},children:i}),f.jsx(D.IconButton,{style:bn.scopeButtonDel,size:"small",disabled:!!this.state.editValue,onClick:()=>this.props.onExpressionDelete(s),children:f.jsx(A$,{})})]},`user_${s}${n.name}`)}renderExpressions(){return this.props.expressions.map((n,s)=>this.renderExpression(n,s))}renderOneFrameTitle(n,s){if(this.props.mainScriptId===this.props.currentScriptId&&n.location.scriptId!==this.props.mainScriptId)return null;const i=(n.url.split("/").pop()||"").replace(/^script\.js\./,"");return f.jsx(D.ListItemButton,{onClick:()=>this.props.onChangeCurrentFrame(s),dense:!0,selected:this.props.currentFrame===s,style:bn.frameRoot,children:f.jsx(D.ListItemText,{sx:{...bn.frameTextRoot,"& .MuiListItemText-primary":bn.frameTextPrimary,"& .MuiListItemText-secondary":bn.frameTextSecondary},title:n.url,primary:n.functionName||"anonymous",secondary:`${i} (${n.location.lineNumber}:${n.location.columnNumber})`})},n.callFrameId)}formatValue(n,s){if(!n)return s?"none":f.jsx("span",{style:bn.valueNone,children:"none"});if(n.type==="undefined")return s?"undefined":f.jsx("span",{style:bn.valueUndefined,children:"undefined"});if(n.type==="null")return s?"null":f.jsx("span",{style:bn.valueNull,children:"null"});if(n.type==="function"){const i=n.description?n.description.length>100?`${n.description.substring(0,100)}...`:n.description:"function";return s?i:f.jsx("span",{style:bn.valueFunc,title:n.description,children:i})}if(n.type==="object"){const i=QL(n);return s?JSON.stringify(i):typeof i=="string"?f.jsx(D.Box,{component:"span",sx:bn.error,children:i}):f.jsx(ZL,{name:!1,enableClipboard:!1,style:{backgroundColor:"inherit",marginTop:3},src:i,collapsed:!0,theme:this.props.themeType==="dark"?"brewer":"rjv-default",displayDataTypes:!1})}if(n.value===void 0)return s?"undefined":f.jsx("span",{style:bn.valueUndefined,children:"undefined"});if(n.value===null)return s?"null":f.jsx("span",{style:bn.valueNull,children:"null"});if(n.type==="string"){if(s)return n.value;const i=`"${n.value?n.value.length>100?`${n.value.substring(0,100)}...`:n.value:""}"`;return f.jsx("span",{style:bn.valueString,title:i,children:i})}return n.type==="boolean"?s?n.value.toString():f.jsx("span",{style:bn.valueBoolean,children:n.value.toString()}):n.value.toString()}onWriteScopeValue(){var n,s;this.scopeValue==="true"?this.scopeValue=!0:this.scopeValue==="false"?this.scopeValue=!1:this.scopeValue==="null"?this.scopeValue=null:this.scopeValue==="undefined"?this.scopeValue=void 0:parseFloat(this.scopeValue).toString()===this.scopeValue&&(this.scopeValue=parseFloat(this.scopeValue)),this.props.onWriteScopeValue({variableName:((n=this.state.editValue)==null?void 0:n.name)||"",scopeNumber:0,newValue:{value:this.scopeValue,valueType:typeof this.scopeValue},callFrameId:(s=this.props.callFrames)==null?void 0:s[this.props.currentFrame].callFrameId}),this.setState({editValue:null}),this.scopeValue=null}componentDidUpdate(){var n;(n=this.editRef.current)==null||n.focus()}renderScope(n,s,i){var h,g,b,$;const a=!this.props.currentFrame&&s.value&&(s.value.type==="undefined"||s.value.type==="string"||s.value.type==="number"||s.value.type==="boolean"||((h=s.value)==null?void 0:h.value)===null||((g=s.value)==null?void 0:g.value)===void 0&&s.value.type!=="object"),c=((b=this.state.editValue)==null?void 0:b.type)===i&&(($=this.state.editValue)==null?void 0:$.name)===s.name?[f.jsx("div",{style:bn.scopeNameName,children:s.name},"name"),f.jsxs(D.Box,{sx:bn.scopeNameEqual,children:[" ","="," "]},"="),f.jsx(D.Input,{inputRef:this.editRef,margin:"dense",onBlur:()=>this.state.editValue&&this.setState({editValue:null}),defaultValue:this.formatValue(s.value,!0),onKeyUp:y=>{y.key==="Enter"?this.onWriteScopeValue():y.key==="Escape"&&this.setState({editValue:null})},onChange:y=>this.scopeValue=y.target.value,endAdornment:f.jsx(D.InputAdornment,{position:"end",children:f.jsx(D.IconButton,{onClick:()=>this.onWriteScopeValue(),size:"medium",children:f.jsx(b_,{})})})},"input")]:[f.jsx("div",{style:bn.scopeNameName,title:I.I18n.t("Double click to write value"),children:s.name},"name"),f.jsxs(D.Box,{sx:bn.scopeNameEqual,children:[" ","="," "]},"="),f.jsxs("div",{style:bn.scopeNameValue,children:[this.formatValue(s.value)," (",s.value.type,")"]},"val")];return f.jsxs("tr",{children:[f.jsx("td",{style:{...bn.scopeType,...bn[`scopeType_${i}`]},children:i}),f.jsx("td",{style:{...bn.scopeName,...!this.props.currentFrame&&a?bn.scopeValueEditable:void 0},onDoubleClick:()=>{a&&(this.scopeValue=s.value.value,this.setState({editValue:{scopeId:n,type:i,index:0,valueType:s.value.type,name:s.name,value:s.value.value}}))},children:c})]},`${i}_${n}_${s.name}`)}renderScopes(n){var a,c,h,g,b,$;if(!n)return null;const s=this.renderExpressions();let i=(h=(c=(a=this.props.scopes)==null?void 0:a.local)==null?void 0:c.properties)==null?void 0:h.result.map(y=>this.props.scopes&&this.renderScope("",y,"local"));return i==null||i.forEach(y=>y&&s.push(y)),i=($=(b=(g=this.props.scopes)==null?void 0:g.closure)==null?void 0:b.properties)==null?void 0:$.result.map(y=>this.props.scopes&&this.renderScope("",y,"closure")),i==null||i.forEach(y=>y&&s.push(y)),f.jsx("table",{style:{width:"100%",fontSize:"small"},children:f.jsx("tbody",{children:s})})}render(){var n,s;return f.jsxs(J$,{direction:Bn.Horizontal,initialSizes:this.state.framesSizes,minWidths:[100,200],onResizeFinished:(i,a)=>{this.setState({framesSizes:a}),window.localStorage.setItem("JS.framesSizes",JSON.stringify(a))},gutterClassName:this.props.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[f.jsx("div",{style:{width:"100%",height:"100%",overflow:"auto"},children:f.jsx(D.List,{style:bn.listRoot,children:((n=this.props.callFrames)==null?void 0:n.map((i,a)=>this.renderOneFrameTitle(i,a)))||null})}),f.jsxs("div",{style:{width:"100%",height:"100%",overflow:"auto"},children:[f.jsx(D.Box,{sx:bn.toolbarScopes,children:f.jsx(D.IconButton,{size:"small",onClick:()=>this.props.onExpressionAdd((i,a)=>{this.scopeValue=a.name||"",this.setState({editValue:{type:"expression",valueType:"string",index:i,name:a.name,value:a.name||""}})}),children:f.jsx(Ev,{})})}),f.jsx("div",{style:bn.scopesAfterToolbar,children:((s=this.props.callFrames)==null?void 0:s.length)&&this.renderScopes(this.props.callFrames[this.props.currentFrame])})]})]})}};const _s={root:o=>({width:"100%",height:`calc(100% - ${parseInt(o.toolbar.height,10)+38+5}px)`,overflow:"hidden",position:"relative"}),toolbar:{minHeight:38,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)"},buttonRun:{color:"green"},buttonPause:{color:"orange"},buttonRestart:{color:"darkgreen"},buttonNext:{color:"blue"},buttonStep:{color:"blue"},buttonOut:{color:"blue"},buttonException:{},tabFile:o=>({textTransform:"inherit",color:o.palette.mode==="dark"?"#DDD":"inherit"}),tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},closeButton:{position:"absolute",top:8,right:0,zIndex:10,padding:8,cursor:"pointer"},tabsRoot:o=>({minHeight:24,background:o.palette.mode==="dark"?"#333":"#e6e6e6",color:o.palette.mode==="dark"?"white":"inherit"}),tabRoot:{minHeight:24},bpListItem:{borderTop:"1px dashed #bfbfbf44"},monospace:{fontFamily:"Courier New, monospace",whiteSpace:"pre",fontSize:12},arrow:{color:"#fffa4f"}};class $v extends We.Component{console=null;scripts={};mainScriptId=null;constructor(n){super(n);const s=window.localStorage.getItem(`javascript.tools.bp.${this.props.src}`);let i;try{i=s?JSON.parse(s):[]}catch{i=[]}const a=window.localStorage.getItem(`javascript.tools.exps.${this.props.src}`);let c;try{c=(a?JSON.parse(a):[]).map($=>({name:$,value:{type:"undefined",description:"",value:"undefined",name:"name"}}))}catch{c=[]}const h=window.localStorage.getItem("JS.toolSizes");let g=[80,20];if(h)try{g=JSON.parse(h)}catch{}this.state={starting:!0,selected:null,tabs:{},script:"",breakpoints:i,expressions:c,running:!1,error:"",started:!1,paused:!0,location:null,toolsTab:window.localStorage.getItem("javascript.tools.tab")||"console",stopOnException:window.localStorage.getItem("javascript.tools.stopOnException")==="true",console:[],finished:!1,currentFrame:0,scopes:{},queryBreakpoints:null,logErrors:0,logWarnings:0,logs:0,toolSizes:g,instance:void 0,context:null}}async componentDidMount(){var s,i;let n;if(this.props.debugInstance)n=this.props.debugInstance.instance;else{const a=await this.props.socket.getObject(this.props.src);n=((i=(s=a==null?void 0:a.common)==null?void 0:s.engine)==null?void 0:i.replace("system.adapter.",""))||""}this.setState({instance:n},()=>{this.state.instance?(this.props.socket.setState(`${this.state.instance}.debug.from`,{val:'{"cmd": "subscribed"}',ack:!0}),setTimeout(()=>this.props.socket.subscribeState(`${this.state.instance}.debug.from`,this.fromInstance),200)):this.setState({error:"Unknown instance"})})}componentWillUnmount(){this.state.instance&&(this.props.socket.unsubscribeState(`${this.state.instance}.debug.from`,this.fromInstance),this.props.socket.sendTo(this.state.instance,"debugStop"))}sendToInstance(n){this.props.socket.setState(`${this.state.instance}.debug.to`,{val:JSON.stringify(n),ack:!1})}reinitBreakpoints(n){if(this.state.breakpoints.length){const i=JSON.parse(JSON.stringify(this.state.breakpoints)).map(a=>a.location);this.setState({breakpoints:[]},()=>{this.sendToInstance({breakpoints:i,cmd:"sb"}),this.state.stopOnException&&this.sendToInstance({cmd:"stopOnException",state:!0}),n&&n()})}else this.state.stopOnException&&this.sendToInstance({cmd:"stopOnException",state:!0}),n&&n()}static getLocation(n){return n.callFrames?n.callFrames[0].location:null}readCurrentScope(){var s;const n=((s=this.state.context)==null?void 0:s.callFrames)&&this.state.context.callFrames[this.state.currentFrame];if(n){const i=n.scopeChain.filter(a=>a.type!=="global");i.length?this.sendToInstance({cmd:"scope",scopes:i}):(this.state.scopes.global||this.state.scopes.local||this.state.scopes.closure)&&this.setState({scopes:{}})}}readExpressions(n){var s;this.state.expressions.length&&((s=this.state.context)!=null&&s.callFrames)&&this.state.context.callFrames[this.state.currentFrame]&&(n!==void 0?this.sendToInstance({cmd:"expressions",expressions:[this.state.expressions[n]],callFrameId:this.state.context.callFrames[this.state.currentFrame].callFrameId}):this.sendToInstance({cmd:"expressions",expressions:this.state.expressions,callFrameId:this.state.context.callFrames[this.state.currentFrame].callFrameId}))}fromInstance=(n,s)=>{var i,a,c,h,g,b,$,y,w,T;if(s!=null&&s.val&&this.state.instance!==void 0)try{const C=JSON.parse(s.val);if(C.cmd==="subscribed")this.props.socket.sendTo(this.state.instance,"debug",this.props.debugInstance||{scriptName:this.props.src});else if(C.cmd==="readyToDebug"){this.mainScriptId=C.scriptId,this.scripts[C.scriptId]=C.script,C.script.startsWith(`(async () => {debugger; -`)?this.scripts[C.scriptId]=`(async () => { -${C.script.substring(24)}`:C.script.startsWith("debugger;")&&(this.scripts[C.scriptId]=C.script.substring(9));const E=JSON.parse(JSON.stringify(this.state.tabs));E[C.scriptId]=this.props.debugInstance?C.url:this.props.src.replace("script.js.","");const k=`${Date.now()}.${Math.random()*1e4}`;(a=(i=C.context)==null?void 0:i.callFrames)==null||a.forEach((A,P)=>A.id=k+P),this.setState({starting:!1,finished:!1,selected:this.mainScriptId,script:this.scripts[C.scriptId],tabs:E,currentFrame:0,started:!0,paused:!0,location:$v.getLocation(C.context),context:C.context},()=>this.reinitBreakpoints(()=>{this.readCurrentScope(),this.readExpressions()}))}else if(C.cmd==="paused"){const E=`${Date.now()}.${Math.random()*1e4}`;(h=(c=C.context)==null?void 0:c.callFrames)==null||h.forEach((B,S)=>B.id=E+S);const k=$v.getLocation(C.context),A=JSON.parse(JSON.stringify(this.state.tabs)),P=C.context.callFrames[0].url.split("iobroker.javascript");k&&(A[k.scriptId]=(P[1]||P[0]).replace("script.js.",""));const N={tabs:A,paused:!0,location:k,currentFrame:0,context:C.context};N.script=!(k!=null&&k.scriptId)||this.scripts[k.scriptId]===void 0?I.I18n.t("loading..."):this.scripts[k.scriptId],N.selected=k==null?void 0:k.scriptId,this.setState(N,()=>{this.readCurrentScope(),this.readExpressions(),k!=null&&k.scriptId&&(this.scripts[k.scriptId]||this.sendToInstance({cmd:"source",scriptId:k.scriptId}))})}else if(C.cmd==="script")this.scripts[C.scriptId]=C.text,this.state.selected===C.scriptId&&this.setState({script:this.scripts[C.scriptId]});else if(C.cmd==="resumed")this.setState({paused:!1});else if(C.cmd==="log")if(this.state.toolsTab==="console"){this.console=null;const E=[...this.state.console];E.push({text:C.text,severity:C.severity,ts:C.ts}),this.setState({console:E})}else C.severity==="error"?this.setState({logErrors:this.state.logErrors+1}):C.severity==="warn"?this.setState({logWarnings:this.state.logWarnings+1}):this.setState({logs:this.state.logs+1}),this.console=this.console||[...this.state.console],this.console.push({text:C.text,severity:C.severity,ts:C.ts});else if(C.cmd==="error")this.setState({error:C.error});else if(C.cmd==="finished"||C.cmd==="debugStopped")this.setState({finished:!0,starting:!1,started:!0});else if(C.cmd==="sb"){const E=JSON.parse(JSON.stringify(this.state.breakpoints));let k=!1;C.breakpoints.filter(A=>A).forEach(A=>{E.find(N=>N.location.scriptId===A.location.scriptId&&N.location.lineNumber===A.location.lineNumber)||(k=!0,E.push(A))}),k&&window.localStorage.setItem(`javascript.tools.bp.${this.props.src}`,JSON.stringify(E)),k&&this.setState({breakpoints:E})}else if(C.cmd==="cb"){const E=JSON.parse(JSON.stringify(this.state.breakpoints));let k=!1;C.breakpoints.filter(A=>A!=null).forEach(A=>{const P=E.find(N=>N.id===A);if(P){const N=E.indexOf(P);E.splice(N,1),k=!0}}),k&&window.localStorage.setItem(`javascript.tools.bp.${this.props.src}`,JSON.stringify(E)),k&&this.setState({breakpoints:E})}else if(C.cmd==="scope"){const E=C.scopes.find(A=>A.type==="local")||void 0,k=C.scopes.find(A=>A.type==="closure")||void 0;console.log(JSON.stringify(k)),this.setState({scopes:{local:E,closure:k}})}else if(C.cmd==="setValue"){const E=JSON.parse(JSON.stringify(this.state.scopes));let k;C.scopeNumber===0?k=(b=(g=E==null?void 0:E.local)==null?void 0:g.properties)==null?void 0:b.result.find(A=>A.name===C.variableName):k=(y=($=E==null?void 0:E.closure)==null?void 0:$.properties)==null?void 0:y.result.find(A=>A.name===C.variableName),k&&(k.value.value=C.newValue.value,this.setState({scopes:E}))}else if(C.cmd==="expressions"){const E=JSON.parse(JSON.stringify(this.state.expressions));let k=!1;C.expressions.forEach(A=>{const P=E.find(N=>N.name===A.name);P&&(k=!0,P.value=A.result)}),k&&this.setState({expressions:E}),console.log(`expressions: ${JSON.stringify(C)}`)}else C.cmd==="getPossibleBreakpoints"?((w=C.breakpoints)==null?void 0:w.length)===1?this.sendToInstance({breakpoints:C.breakpoints,cmd:"sb"}):(T=C.breakpoints)!=null&&T.length?this.setState({queryBreakpoints:C.breakpoints}):window.alert("cannot set"):console.error(`Unknown command: ${JSON.stringify(C)}`)}catch{}};getTextAtLocation(n){let s=this.state.script.split(/\r\n|\n/)[n.lineNumber],i;return n.columnNumber!==void 0&&n.columnNumber>=10?(s=s.substring(n.columnNumber-10,n.columnNumber+20),i=`${"".padStart(10," ")}↑`):n.columnNumber!==void 0&&(s=s.substring(0,30-n.columnNumber),i=`${"".padStart(n.columnNumber," ")}↑`),[f.jsx("div",{style:_s.monospace,children:s},"line"),f.jsx("div",{style:{..._s.monospace,..._s.arrow},children:i},"arrow")]}renderQueryBreakpoints(){return this.state.queryBreakpoints?f.jsxs(D.Dialog,{onClose:()=>this.setState({queryBreakpoints:null}),"aria-labelledby":"bp-dialog-title",open:!0,children:[f.jsx(D.DialogTitle,{id:"bp-dialog-title",children:I.I18n.t("Select breakpoint")}),f.jsx(D.List,{children:this.state.queryBreakpoints.map((n,s)=>f.jsx(D.ListItemButton,{style:_s.bpListItem,dense:!0,onClick:()=>{this.sendToInstance({breakpoints:[n],cmd:"sb"}),this.setState({queryBreakpoints:null})},children:f.jsx(D.ListItemText,{primary:this.getTextAtLocation(n)})},s))})]}):null}renderError(){return this.state.error?f.jsx(Hf,{onClose:()=>this.setState({error:""}),text:this.state.error},"dialogError"):null}closeTab(n,s){s==null||s.stopPropagation();const i=JSON.parse(JSON.stringify(this.state.tabs));delete i[n];const a={tabs:i,script:this.mainScriptId?this.scripts[this.mainScriptId]:"...",selected:this.mainScriptId};this.state.location&&this.state.location.scriptId!==this.mainScriptId&&(a.location=null),this.setState(a)}renderTabs(){const n=!this.state.tabs||!this.state.started;return f.jsx(D.Tabs,{component:"div",indicatorColor:"primary",style:{position:"relative",width:"calc(100% - 300px)",display:"inline-block"},value:this.state.selected,onChange:(s,i)=>{this.scripts[i]?this.setState({selected:i,script:this.scripts[i]}):this.setState({selected:i,script:"loading..."},()=>this.sendToInstance({cmd:"source",scriptId:i}))},scrollButtons:"auto",children:Object.keys(this.state.tabs||[]).map(s=>{let i=s;const a=this.state.tabs[s]||"";this.state.tabs[s]&&(i=this.state.tabs[s].split("/").pop()||"");const c=[f.jsx("div",{style:_s.tabText,children:i},"text"),s!==this.mainScriptId?f.jsx("span",{style:_s.closeButton,children:f.jsx(Xl,{onClick:h=>this.closeTab(s,h),fontSize:"small"},"close")},"icon"):null];return f.jsx(D.Tab,{disabled:n,sx:_s.tabFile,label:c,title:a,value:s},s)})})}onResume(){this.sendToInstance({cmd:"cont"})}onPause(){this.sendToInstance({cmd:"pause"})}onNext(){this.sendToInstance({cmd:"next"})}onStepIn(){this.sendToInstance({cmd:"step"})}onStepOut(){this.sendToInstance({cmd:"out"})}onRestart(){this.setState({started:!1,starting:!0},()=>this.state.instance!==void 0&&this.props.socket.sendTo(this.state.instance,"debug",this.props.debugInstance||{scriptName:this.props.src}))}onToggleException(){const n=!this.state.stopOnException;window.localStorage.setItem("javascript.tools.stopOnException",n?"true":"false"),this.setState({stopOnException:n},()=>this.sendToInstance({cmd:"stopOnException",state:n}))}renderToolbar(){const n=!this.state.started;return f.jsxs(D.Toolbar,{variant:"dense",style:_s.toolbar,children:[f.jsx(D.IconButton,{style:_s.buttonRestart,disabled:n,onClick:()=>this.onRestart(),title:I.I18n.t("Restart"),size:"medium",children:f.jsx(H0,{})}),!this.state.finished&&this.state.paused?f.jsx(D.IconButton,{style:_s.buttonRun,disabled:n,onClick:()=>this.onResume(),title:I.I18n.t("Resume execution"),size:"medium",children:f.jsx(V$,{})}):!this.state.finished&&f.jsx(D.IconButton,{disabled:n,style:_s.buttonPause,onClick:()=>this.onPause(),title:I.I18n.t("Pause execution"),size:"medium",children:f.jsx(vf,{})}),!this.state.finished&&f.jsx(D.IconButton,{style:_s.buttonNext,disabled:n||!this.state.paused,onClick:()=>this.onNext(),title:I.I18n.t("Go to next line"),size:"medium",children:f.jsx(YI,{})}),!this.state.finished&&f.jsx(D.IconButton,{style:_s.buttonStep,disabled:n||!this.state.paused,onClick:()=>this.onStepIn(),title:I.I18n.t("Step into function"),size:"medium",children:f.jsx(XI,{})}),!this.state.finished&&f.jsx(D.IconButton,{style:_s.buttonOut,disabled:n||!this.state.paused,onClick:()=>this.onStepOut(),title:I.I18n.t("Step out from function"),size:"medium",children:f.jsx(ZI,{})}),!this.state.finished&&f.jsx(D.IconButton,{style:_s.buttonException,color:this.state.stopOnException?"primary":"default",disabled:n||!this.state.paused,onClick:()=>this.onToggleException(),title:I.I18n.t("Stop on exception"),size:"medium",children:f.jsx(QI,{})}),this.renderTabs()]},"toolbar1")}getPossibleBreakpoints(n){const s={...n,columnNumber:1e3};this.sendToInstance({cmd:"getPossibleBreakpoints",start:n,end:s})}toggleBreakpoint(n){const s=this.state.breakpoints.find(i=>i.location.scriptId===this.state.selected&&i.location.lineNumber===n);if(s){const i=JSON.parse(JSON.stringify(this.state.breakpoints));this.setState({breakpoints:i},()=>this.sendToInstance({breakpoints:[s.id],cmd:"cb"}))}else this.getPossibleBreakpoints({scriptId:this.state.selected,lineNumber:n,columnNumber:0})}renderCode(){if(this.state.script&&this.state.started){const n=this.state.breakpoints.filter(s=>s.location.scriptId===this.state.selected);return f.jsx(KL,{runningInstances:this.props.runningInstances,socket:this.props.socket,adapterName:this.props.adapterName,scriptName:this.state.selected?this.state.tabs[this.state.selected]:"",sourceId:this.state.selected,script:this.state.script,paused:this.state.paused,breakpoints:n,location:this.state.location,themeType:this.props.themeType,themeName:this.props.themeName,onToggleBreakpoint:s=>this.toggleBreakpoint(s)})}return null}renderFrames(){var n;return this.state.paused?f.jsx(eB,{currentScriptId:this.state.selected,scopes:this.state.scopes,expressions:this.state.expressions,themeType:this.props.themeType,callFrames:(n=this.state.context)==null?void 0:n.callFrames,currentFrame:this.state.currentFrame,onChangeCurrentFrame:s=>{this.setState({currentFrame:s,scopes:{}},()=>{this.readCurrentScope(),this.readExpressions()})},onWriteScopeValue:s=>{this.sendToInstance({cmd:"setValue",variableName:s.variableName,scopeNumber:s.scopeNumber,newValue:s.newValue,callFrameId:s.callFrameId})},onExpressionDelete:s=>{const i=JSON.parse(JSON.stringify(this.state.expressions));i.splice(s,1),this.setState({expressions:i}),window.localStorage.setItem(`javascript.tools.exps.${this.props.src}`,JSON.stringify(i.map(a=>a.name)))},onExpressionAdd:s=>{const i=JSON.parse(JSON.stringify(this.state.expressions));i.push({name:"",value:{value:""}}),this.setState({expressions:i},()=>s&&s(i.length-1,this.state.expressions[i.length-1]))},onExpressionNameUpdate:(s,i,a)=>{const c=JSON.parse(JSON.stringify(this.state.expressions));if(!i)c.splice(s,1);else{if(c.find(h=>h.name===i))return a&&a();c[s].name=i}this.setState({expressions:c},()=>{i&&this.readExpressions(s),a&&a()}),window.localStorage.setItem(`javascript.tools.exps.${this.props.src}`,JSON.stringify(c.map(h=>h.name)))}}):null}renderConsole(){return f.jsx(qL,{console:this.state.console,onClearAllLogs:()=>this.setState({console:[],logErrors:0,logWarnings:0,logs:0})})}renderTools(){const n=!this.state.tabs||!this.state.started;let s;return this.state.logErrors?s=f.jsx(D.Badge,{badgeContent:this.state.logErrors,color:"error",children:f.jsx("span",{children:I.I18n.t("Console")})}):this.state.logWarnings?s=f.jsx(D.Badge,{badgeContent:this.state.logWarnings,color:"secondary",children:f.jsx("span",{children:I.I18n.t("Console")})}):this.state.logs?s=f.jsx(D.Badge,{badgeContent:this.state.logs,color:"default",children:f.jsx("span",{children:I.I18n.t("Console")})}):s=I.I18n.t("Console"),f.jsxs("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[f.jsxs(D.Tabs,{sx:_s.tabsRoot,component:"div",indicatorColor:"primary",style:{position:"relative",width:"100%"},value:this.state.toolsTab,onChange:(i,a)=>{const c={toolsTab:a};this.console&&a==="console"&&(c.console=this.console,this.console=null,c.logs=0,c.logWarnings=0,c.logErrors=0),window.localStorage.setItem("javascript.tools.tab",a),this.setState(c)},scrollButtons:"auto",children:[f.jsx(D.Tab,{style:_s.tabRoot,disabled:n,label:I.I18n.t("Stack"),value:"stack"}),f.jsx(D.Tab,{style:_s.tabRoot,disabled:n,label:s,value:"console"})]}),f.jsxs("div",{style:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden"},children:[this.state.toolsTab==="stack"&&!n?this.renderFrames():null,this.state.toolsTab==="console"&&!n?this.renderConsole():null]})]})}render(){return f.jsxs(D.Box,{sx:_s.root,children:[this.state.starting?f.jsx(D.LinearProgress,{}):null,this.renderToolbar(),f.jsxs(J$,{direction:Bn.Vertical,initialSizes:this.state.toolSizes,minHeights:[100,100],onResizeFinished:(n,s)=>{this.setState({toolSizes:s}),window.localStorage.setItem("JS.toolSizes",JSON.stringify(s))},gutterClassName:this.props.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[f.jsxs("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[this.renderCode(),this.renderQueryBreakpoints()]}),f.jsx("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:this.renderTools()})]}),this.renderError()]},"debugger")}}function Mt(o,n,s,i,a){if(typeof n=="function"?o!==n||!0:!n.has(o))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n.set(o,s),s}function $e(o,n,s,i){if(s==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof n=="function"?o!==n||!i:!n.has(o))throw new TypeError("Cannot read private member from an object whose class did not declare it");return s==="m"?i:s==="a"?i.call(o):i?i.value:n.get(o)}let Hk=function(){const{crypto:o}=globalThis;if(o!=null&&o.randomUUID)return Hk=o.randomUUID.bind(o),o.randomUUID();const n=new Uint8Array(1),s=o?()=>o.getRandomValues(n)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,i=>(+i^s()&15>>+i/4).toString(16))};function H_(o){return typeof o=="object"&&o!==null&&("name"in o&&o.name==="AbortError"||"message"in o&&String(o.message).includes("FetchRequestCanceledException"))}const V_=o=>{if(o instanceof Error)return o;if(typeof o=="object"&&o!==null){try{if(Object.prototype.toString.call(o)==="[object Error]"){const n=new Error(o.message,o.cause?{cause:o.cause}:{});return o.stack&&(n.stack=o.stack),o.cause&&!n.cause&&(n.cause=o.cause),o.name&&(n.name=o.name),n}}catch{}try{return new Error(JSON.stringify(o))}catch{}}return new Error(o)};class Dt extends Error{}class Vs extends Dt{constructor(n,s,i,a){super(`${Vs.makeMessage(n,s,i)}`),this.status=n,this.headers=a,this.requestID=a==null?void 0:a.get("x-request-id"),this.error=s;const c=s;this.code=c==null?void 0:c.code,this.param=c==null?void 0:c.param,this.type=c==null?void 0:c.type}static makeMessage(n,s,i){const a=s!=null&&s.message?typeof s.message=="string"?s.message:JSON.stringify(s.message):s?JSON.stringify(s):i;return n&&a?`${n} ${a}`:n?`${n} status code (no body)`:a||"(no status code or body)"}static generate(n,s,i,a){if(!n||!a)return new Jv({message:i,cause:V_(s)});const c=s==null?void 0:s.error;return n===400?new Vk(n,c,i,a):n===401?new Gk(n,c,i,a):n===403?new Kk(n,c,i,a):n===404?new Jk(n,c,i,a):n===409?new qk(n,c,i,a):n===422?new Yk(n,c,i,a):n===429?new Xk(n,c,i,a):n>=500?new Zk(n,c,i,a):new Vs(n,c,i,a)}}class xi extends Vs{constructor({message:n}={}){super(void 0,void 0,n||"Request was aborted.",void 0)}}class Jv extends Vs{constructor({message:n,cause:s}){super(void 0,void 0,n||"Connection error.",void 0),s&&(this.cause=s)}}class Bw extends Jv{constructor({message:n}={}){super({message:n??"Request timed out."})}}class Vk extends Vs{}class Gk extends Vs{}class Kk extends Vs{}class Jk extends Vs{}class qk extends Vs{}class Yk extends Vs{}class Xk extends Vs{}class Zk extends Vs{}class Qk extends Dt{constructor(){super("Could not parse response content as the length limit was reached")}}class eE extends Dt{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}const tB=/^[a-z][a-z0-9+.-]*:/i,nB=o=>tB.test(o);function sB(o){return typeof o!="object"?{}:o??{}}function rB(o){if(!o)return!0;for(const n in o)return!1;return!0}function iB(o,n){return Object.prototype.hasOwnProperty.call(o,n)}function n_(o){return o!=null&&typeof o=="object"&&!Array.isArray(o)}const oB=(o,n)=>{if(typeof n!="number"||!Number.isInteger(n))throw new Dt(`${o} must be an integer`);if(n<0)throw new Dt(`${o} must be a positive integer`);return n},aB=o=>{try{return JSON.parse(o)}catch{return}},Kf=o=>new Promise(n=>setTimeout(n,o)),vv={off:0,error:200,warn:300,info:400,debug:500},a0=(o,n,s)=>{if(o){if(iB(vv,o))return o;dr(s).warn(`${n} was set to ${JSON.stringify(o)}, expected one of ${JSON.stringify(Object.keys(vv))}`)}};function df(){}function w$(o,n,s){return!n||vv[o]>vv[s]?df:n[o].bind(n)}const lB={error:df,warn:df,info:df,debug:df};let l0=new WeakMap;function dr(o){const n=o.logger,s=o.logLevel??"off";if(!n)return lB;const i=l0.get(n);if(i&&i[0]===s)return i[1];const a={error:w$("error",n,s),warn:w$("warn",n,s),info:w$("info",n,s),debug:w$("debug",n,s)};return l0.set(n,[s,a]),a}const hu=o=>(o.options&&(o.options={...o.options},delete o.options.headers),o.headers&&(o.headers=Object.fromEntries((o.headers instanceof Headers?[...o.headers]:Object.entries(o.headers)).map(([n,s])=>[n,n.toLowerCase()==="authorization"||n.toLowerCase()==="cookie"||n.toLowerCase()==="set-cookie"?"***":s]))),"retryOfRequestLogID"in o&&(o.retryOfRequestLogID&&(o.retryOf=o.retryOfRequestLogID),delete o.retryOfRequestLogID),o),_h="5.3.0",cB=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function uB(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}const dB=()=>{var s;const o=uB();if(o==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_h,"X-Stainless-OS":u0(Deno.build.os),"X-Stainless-Arch":c0(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:((s=Deno.version)==null?void 0:s.deno)??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_h,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(o==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_h,"X-Stainless-OS":u0(globalThis.process.platform??"unknown"),"X-Stainless-Arch":c0(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};const n=hB();return n?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_h,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${n.browser}`,"X-Stainless-Runtime-Version":n.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_h,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function hB(){if(typeof navigator>"u"||!navigator)return null;const o=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(const{key:n,pattern:s}of o){const i=s.exec(navigator.userAgent);if(i){const a=i[1]||0,c=i[2]||0,h=i[3]||0;return{browser:n,version:`${a}.${c}.${h}`}}}return null}const c0=o=>o==="x32"?"x32":o==="x86_64"||o==="x64"?"x64":o==="arm"?"arm":o==="aarch64"||o==="arm64"?"arm64":o?`other:${o}`:"unknown",u0=o=>(o=o.toLowerCase(),o.includes("ios")?"iOS":o==="android"?"Android":o==="darwin"?"MacOS":o==="win32"?"Windows":o==="freebsd"?"FreeBSD":o==="openbsd"?"OpenBSD":o==="linux"?"Linux":o?`Other:${o}`:"Unknown");let d0;const pB=()=>d0??(d0=dB());function gB(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function tE(...o){const n=globalThis.ReadableStream;if(typeof n>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new n(...o)}function nE(o){let n=Symbol.asyncIterator in o?o[Symbol.asyncIterator]():o[Symbol.iterator]();return tE({start(){},async pull(s){const{done:i,value:a}=await n.next();i?s.close():s.enqueue(a)},async cancel(){var s;await((s=n.return)==null?void 0:s.call(n))}})}function sE(o){if(o[Symbol.asyncIterator])return o;const n=o.getReader();return{async next(){try{const s=await n.read();return s!=null&&s.done&&n.releaseLock(),s}catch(s){throw n.releaseLock(),s}},async return(){const s=n.cancel();return n.releaseLock(),await s,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function fB(o){var i,a;if(o===null||typeof o!="object")return;if(o[Symbol.asyncIterator]){await((a=(i=o[Symbol.asyncIterator]()).return)==null?void 0:a.call(i));return}const n=o.getReader(),s=n.cancel();n.releaseLock(),await s}const mB=({headers:o,body:n})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(n)}),G_="RFC3986",K_={RFC1738:o=>String(o).replace(/%20/g,"+"),RFC3986:o=>String(o)},bB="RFC1738",$B=Array.isArray,Uo=(()=>{const o=[];for(let n=0;n<256;++n)o.push("%"+((n<16?"0":"")+n.toString(16)).toUpperCase());return o})(),s_=1024,vB=(o,n,s,i,a)=>{if(o.length===0)return o;let c=o;if(typeof o=="symbol"?c=Symbol.prototype.toString.call(o):typeof o!="string"&&(c=String(o)),s==="iso-8859-1")return escape(c).replace(/%u[0-9a-f]{4}/gi,function(g){return"%26%23"+parseInt(g.slice(2),16)+"%3B"});let h="";for(let g=0;g=s_?c.slice(g,g+s_):c,$=[];for(let y=0;y=48&&w<=57||w>=65&&w<=90||w>=97&&w<=122||a===bB&&(w===40||w===41)){$[$.length]=b.charAt(y);continue}if(w<128){$[$.length]=Uo[w];continue}if(w<2048){$[$.length]=Uo[192|w>>6]+Uo[128|w&63];continue}if(w<55296||w>=57344){$[$.length]=Uo[224|w>>12]+Uo[128|w>>6&63]+Uo[128|w&63];continue}y+=1,w=65536+((w&1023)<<10|b.charCodeAt(y)&1023),$[$.length]=Uo[240|w>>18]+Uo[128|w>>12&63]+Uo[128|w>>6&63]+Uo[128|w&63]}h+=$.join("")}return h};function yB(o){return!o||typeof o!="object"?!1:!!(o.constructor&&o.constructor.isBuffer&&o.constructor.isBuffer(o))}function h0(o,n){if($B(o)){const s=[];for(let i=0;i"u"&&(S=0)}if(typeof $=="function"?N=$(n,N):N instanceof Date?N=T==null?void 0:T(N):s==="comma"&&Wo(N)&&(N=h0(N,function(Y){return Y instanceof Date?T==null?void 0:T(Y):Y})),N===null){if(c)return b&&!k?b(n,Cs.encoder,A,"key",C):n;N=""}if(SB(N)||yB(N)){if(b){const Y=k?n:b(n,Cs.encoder,A,"key",C);return[(E==null?void 0:E(Y))+"="+(E==null?void 0:E(b(N,Cs.encoder,A,"value",C)))]}return[(E==null?void 0:E(n))+"="+(E==null?void 0:E(String(N)))]}const q=[];if(typeof N>"u")return q;let se;if(s==="comma"&&Wo(N))k&&b&&(N=h0(N,b)),se=[{value:N.length>0?N.join(",")||null:void 0}];else if(Wo($))se=$;else{const Y=Object.keys(N);se=y?Y.sort(y):Y}const ee=g?String(n).replace(/\./g,"%2E"):String(n),K=i&&Wo(N)&&N.length===1?ee+"[]":ee;if(a&&Wo(N)&&N.length===0)return K+"[]";for(let Y=0;Y"u"?o.encodeDotInKeys?!0:Cs.allowDots:!!o.allowDots;return{addQueryPrefix:typeof o.addQueryPrefix=="boolean"?o.addQueryPrefix:Cs.addQueryPrefix,allowDots:h,allowEmptyArrays:typeof o.allowEmptyArrays=="boolean"?!!o.allowEmptyArrays:Cs.allowEmptyArrays,arrayFormat:c,charset:n,charsetSentinel:typeof o.charsetSentinel=="boolean"?o.charsetSentinel:Cs.charsetSentinel,commaRoundTrip:!!o.commaRoundTrip,delimiter:typeof o.delimiter>"u"?Cs.delimiter:o.delimiter,encode:typeof o.encode=="boolean"?o.encode:Cs.encode,encodeDotInKeys:typeof o.encodeDotInKeys=="boolean"?o.encodeDotInKeys:Cs.encodeDotInKeys,encoder:typeof o.encoder=="function"?o.encoder:Cs.encoder,encodeValuesOnly:typeof o.encodeValuesOnly=="boolean"?o.encodeValuesOnly:Cs.encodeValuesOnly,filter:a,format:s,formatter:i,serializeDate:typeof o.serializeDate=="function"?o.serializeDate:Cs.serializeDate,skipNulls:typeof o.skipNulls=="boolean"?o.skipNulls:Cs.skipNulls,sort:typeof o.sort=="function"?o.sort:null,strictNullHandling:typeof o.strictNullHandling=="boolean"?o.strictNullHandling:Cs.strictNullHandling}}function kB(o,n={}){let s=o;const i=TB(n);let a,c;typeof i.filter=="function"?(c=i.filter,s=c("",s)):Wo(i.filter)&&(c=i.filter,a=c);const h=[];if(typeof s!="object"||s===null)return"";const g=rE[i.arrayFormat],b=g==="comma"&&i.commaRoundTrip;a||(a=Object.keys(s)),i.sort&&a.sort(i.sort);const $=new WeakMap;for(let T=0;T0?w+y:""}function EB(o){let n=0;for(const a of o)n+=a.length;const s=new Uint8Array(n);let i=0;for(const a of o)s.set(a,i),i+=a.length;return s}let p0;function Pw(o){let n;return(p0??(n=new globalThis.TextEncoder,p0=n.encode.bind(n)))(o)}let g0;function f0(o){let n;return(g0??(n=new globalThis.TextDecoder,g0=n.decode.bind(n)))(o)}var ni,si;class qv{constructor(){ni.set(this,void 0),si.set(this,void 0),Mt(this,ni,new Uint8Array),Mt(this,si,null)}decode(n){if(n==null)return[];const s=n instanceof ArrayBuffer?new Uint8Array(n):typeof n=="string"?Pw(n):n;Mt(this,ni,EB([$e(this,ni,"f"),s]));const i=[];let a;for(;(a=IB($e(this,ni,"f"),$e(this,si,"f")))!=null;){if(a.carriage&&$e(this,si,"f")==null){Mt(this,si,a.index);continue}if($e(this,si,"f")!=null&&(a.index!==$e(this,si,"f")+1||a.carriage)){i.push(f0($e(this,ni,"f").subarray(0,$e(this,si,"f")-1))),Mt(this,ni,$e(this,ni,"f").subarray($e(this,si,"f"))),Mt(this,si,null);continue}const c=$e(this,si,"f")!==null?a.preceding-1:a.preceding,h=f0($e(this,ni,"f").subarray(0,c));i.push(h),Mt(this,ni,$e(this,ni,"f").subarray(a.index)),Mt(this,si,null)}return i}flush(){return $e(this,ni,"f").length?this.decode(` -`):[]}}ni=new WeakMap,si=new WeakMap;qv.NEWLINE_CHARS=new Set([` -`,"\r"]);qv.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function IB(o,n){for(let a=n??0;a({next:()=>{if(c.length===0){const h=i.next();n.push(h),s.push(h)}return c.shift()}});return[new Ko(()=>a(n),this.controller),new Ko(()=>a(s),this.controller)]}toReadableStream(){const n=this;let s;return tE({async start(){s=n[Symbol.asyncIterator]()},async pull(i){try{const{value:a,done:c}=await s.next();if(c)return i.close();const h=Pw(JSON.stringify(a)+` -`);i.enqueue(h)}catch(a){i.error(a)}},async cancel(){var i;await((i=s.return)==null?void 0:i.call(s))}})}}async function*DB(o,n){if(!o.body)throw n.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new Dt("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new Dt("Attempted to iterate over a response with no body");const s=new OB,i=new qv,a=sE(o.body);for await(const c of AB(a))for(const h of i.decode(c)){const g=s.decode(h);g&&(yield g)}for(const c of i.flush()){const h=s.decode(c);h&&(yield h)}}async function*AB(o){let n=new Uint8Array;for await(const s of o){if(s==null)continue;const i=s instanceof ArrayBuffer?new Uint8Array(s):typeof s=="string"?Pw(s):s;let a=new Uint8Array(n.length+i.length);a.set(n),a.set(i,n.length),n=a;let c;for(;(c=xB(n))!==-1;)yield n.slice(0,c),n=n.slice(c)}n.length>0&&(yield n)}class OB{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(n){if(n.endsWith("\r")&&(n=n.substring(0,n.length-1)),!n){if(!this.event&&!this.data.length)return null;const c={event:this.event,data:this.data.join(` -`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],c}if(this.chunks.push(n),n.startsWith(":"))return null;let[s,i,a]=RB(n,":");return a.startsWith(" ")&&(a=a.substring(1)),s==="event"?this.event=a:s==="data"&&this.data.push(a),null}}function RB(o,n){const s=o.indexOf(n);return s!==-1?[o.substring(0,s),n,o.substring(s+n.length)]:[o,"",""]}async function aE(o,n){const{response:s,requestLogID:i,retryOfRequestLogID:a,startTime:c}=n,h=await(async()=>{var w;if(n.options.stream)return dr(o).debug("response",s.status,s.url,s.headers,s.body),n.options.__streamClass?n.options.__streamClass.fromSSEResponse(s,n.controller):Ko.fromSSEResponse(s,n.controller);if(s.status===204)return null;if(n.options.__binaryResponse)return s;const g=s.headers.get("content-type"),b=(w=g==null?void 0:g.split(";")[0])==null?void 0:w.trim();if((b==null?void 0:b.includes("application/json"))||(b==null?void 0:b.endsWith("+json"))){const T=await s.json();return lE(T,s)}return await s.text()})();return dr(o).debug(`[${i}] response parsed`,hu({retryOfRequestLogID:a,url:s.url,status:s.status,body:h,durationMs:Date.now()-c})),h}function lE(o,n){return!o||typeof o!="object"||Array.isArray(o)?o:Object.defineProperty(o,"_request_id",{value:n.headers.get("x-request-id"),enumerable:!1})}var hf;class Yv extends Promise{constructor(n,s,i=aE){super(a=>{a(null)}),this.responsePromise=s,this.parseResponse=i,hf.set(this,void 0),Mt(this,hf,n)}_thenUnwrap(n){return new Yv($e(this,hf,"f"),this.responsePromise,async(s,i)=>lE(n(await this.parseResponse(s,i),i),i.response))}asResponse(){return this.responsePromise.then(n=>n.response)}async withResponse(){const[n,s]=await Promise.all([this.parse(),this.asResponse()]);return{data:n,response:s,request_id:s.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(n=>this.parseResponse($e(this,hf,"f"),n))),this.parsedPromise}then(n,s){return this.parse().then(n,s)}catch(n){return this.parse().catch(n)}finally(n){return this.parse().finally(n)}}hf=new WeakMap;var C$;class cE{constructor(n,s,i,a){C$.set(this,void 0),Mt(this,C$,n),this.options=a,this.response=s,this.body=i}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){const n=this.nextPageRequestOptions();if(!n)throw new Dt("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await $e(this,C$,"f").requestAPIList(this.constructor,n)}async*iterPages(){let n=this;for(yield n;n.hasNextPage();)n=await n.getNextPage(),yield n}async*[(C$=new WeakMap,Symbol.asyncIterator)](){for await(const n of this.iterPages())for(const s of n.getPaginatedItems())yield s}}class MB extends Yv{constructor(n,s,i){super(n,s,async(a,c)=>new i(a,c.response,await aE(a,c),c.options))}async*[Symbol.asyncIterator](){const n=await this;for await(const s of n)yield s}}class Xv extends cE{constructor(n,s,i,a){super(n,s,i,a),this.data=i.data||[],this.object=i.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class gs extends cE{constructor(n,s,i,a){super(n,s,i,a),this.data=i.data||[],this.has_more=i.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){var i;const n=this.getPaginatedItems(),s=(i=n[n.length-1])==null?void 0:i.id;return s?{...this.options,query:{...sB(this.options.query),after:s}}:null}}const uE=()=>{var o;if(typeof File>"u"){const{process:n}=globalThis,s=typeof((o=n==null?void 0:n.versions)==null?void 0:o.node)=="string"&&parseInt(n.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(s?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Tf(o,n,s){return uE(),new File(o,n??"unknown_file",s)}function B$(o){return(typeof o=="object"&&o!==null&&("name"in o&&o.name&&String(o.name)||"url"in o&&o.url&&String(o.url)||"filename"in o&&o.filename&&String(o.filename)||"path"in o&&o.path&&String(o.path))||"").split(/[\\/]/).pop()||void 0}const dE=o=>o!=null&&typeof o=="object"&&typeof o[Symbol.asyncIterator]=="function",wu=async(o,n)=>({...o,body:await LB(o.body,n)}),m0=new WeakMap;function NB(o){const n=typeof o=="function"?o:o.fetch,s=m0.get(n);if(s)return s;const i=(async()=>{try{const a="Response"in n?n.Response:(await n("data:,")).constructor,c=new FormData;return c.toString()!==await new a(c).text()}catch{return!0}})();return m0.set(n,i),i}const LB=async(o,n)=>{if(!await NB(n))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");const s=new FormData;return await Promise.all(Object.entries(o||{}).map(([i,a])=>J_(s,i,a))),s},BB=o=>o instanceof Blob&&"name"in o,J_=async(o,n,s)=>{if(s!==void 0){if(s==null)throw new TypeError(`Received null for "${n}"; to pass null in FormData, you must use the string 'null'`);if(typeof s=="string"||typeof s=="number"||typeof s=="boolean")o.append(n,String(s));else if(s instanceof Response)o.append(n,Tf([await s.blob()],B$(s)));else if(dE(s))o.append(n,Tf([await new Response(nE(s)).blob()],B$(s)));else if(BB(s))o.append(n,s,B$(s));else if(Array.isArray(s))await Promise.all(s.map(i=>J_(o,n+"[]",i)));else if(typeof s=="object")await Promise.all(Object.entries(s).map(([i,a])=>J_(o,`${n}[${i}]`,a)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${s} instead`)}},hE=o=>o!=null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.type=="string"&&typeof o.text=="function"&&typeof o.slice=="function"&&typeof o.arrayBuffer=="function",PB=o=>o!=null&&typeof o=="object"&&typeof o.name=="string"&&typeof o.lastModified=="number"&&hE(o),jB=o=>o!=null&&typeof o=="object"&&typeof o.url=="string"&&typeof o.blob=="function";async function FB(o,n,s){if(uE(),o=await o,PB(o))return o instanceof File?o:Tf([await o.arrayBuffer()],o.name);if(jB(o)){const a=await o.blob();return n||(n=new URL(o.url).pathname.split(/[\\/]/).pop()),Tf(await q_(a),n,s)}const i=await q_(o);if(n||(n=B$(o)),!(s!=null&&s.type)){const a=i.find(c=>typeof c=="object"&&"type"in c&&c.type);typeof a=="string"&&(s={...s,type:a})}return Tf(i,n,s)}async function q_(o){var s;let n=[];if(typeof o=="string"||ArrayBuffer.isView(o)||o instanceof ArrayBuffer)n.push(o);else if(hE(o))n.push(o instanceof Blob?o:await o.arrayBuffer());else if(dE(o))for await(const i of o)n.push(...await q_(i));else{const i=(s=o==null?void 0:o.constructor)==null?void 0:s.name;throw new Error(`Unexpected data type: ${typeof o}${i?`; constructor: ${i}`:""}${zB(o)}`)}return n}function zB(o){return typeof o!="object"||o===null?"":`; props: [${Object.getOwnPropertyNames(o).map(s=>`"${s}"`).join(", ")}]`}class Pt{constructor(n){this._client=n}}function pE(o){return o.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}const UB=(o=pE)=>function(s,...i){if(s.length===1)return s[0];let a=!1;const c=s.reduce((y,w,T)=>(/[?#]/.test(w)&&(a=!0),y+w+(T===i.length?"":(a?encodeURIComponent:o)(String(i[T])))),""),h=c.split(/[?#]/,1)[0],g=[],b=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;let $;for(;($=b.exec(h))!==null;)g.push({start:$.index,length:$[0].length});if(g.length>0){let y=0;const w=g.reduce((T,C)=>{const E=" ".repeat(C.start-y),k="^".repeat(C.length);return y=C.start+C.length,T+E+k},"");throw new Dt(`Path parameters result in path with invalid segments: -${c} -${w}`)}return c},Xe=UB(pE);let gE=class extends Pt{list(n,s={},i){return this._client.getAPIList(Xe`/chat/completions/${n}/messages`,gs,{query:s,...i})}};function WB(o){return typeof o.parse=="function"}const yv=o=>(o==null?void 0:o.role)==="assistant",fE=o=>(o==null?void 0:o.role)==="tool";var Y_,P$,j$,pf,gf,F$,ff,Wa,mf,_v,wv,wh,mE;class jw{constructor(){Y_.add(this),this.controller=new AbortController,P$.set(this,void 0),j$.set(this,()=>{}),pf.set(this,()=>{}),gf.set(this,void 0),F$.set(this,()=>{}),ff.set(this,()=>{}),Wa.set(this,{}),mf.set(this,!1),_v.set(this,!1),wv.set(this,!1),wh.set(this,!1),Mt(this,P$,new Promise((n,s)=>{Mt(this,j$,n,"f"),Mt(this,pf,s,"f")})),Mt(this,gf,new Promise((n,s)=>{Mt(this,F$,n,"f"),Mt(this,ff,s,"f")})),$e(this,P$,"f").catch(()=>{}),$e(this,gf,"f").catch(()=>{})}_run(n){setTimeout(()=>{n().then(()=>{this._emitFinal(),this._emit("end")},$e(this,Y_,"m",mE).bind(this))},0)}_connected(){this.ended||($e(this,j$,"f").call(this),this._emit("connect"))}get ended(){return $e(this,mf,"f")}get errored(){return $e(this,_v,"f")}get aborted(){return $e(this,wv,"f")}abort(){this.controller.abort()}on(n,s){return($e(this,Wa,"f")[n]||($e(this,Wa,"f")[n]=[])).push({listener:s}),this}off(n,s){const i=$e(this,Wa,"f")[n];if(!i)return this;const a=i.findIndex(c=>c.listener===s);return a>=0&&i.splice(a,1),this}once(n,s){return($e(this,Wa,"f")[n]||($e(this,Wa,"f")[n]=[])).push({listener:s,once:!0}),this}emitted(n){return new Promise((s,i)=>{Mt(this,wh,!0),n!=="error"&&this.once("error",i),this.once(n,s)})}async done(){Mt(this,wh,!0),await $e(this,gf,"f")}_emit(n,...s){if($e(this,mf,"f"))return;n==="end"&&(Mt(this,mf,!0),$e(this,F$,"f").call(this));const i=$e(this,Wa,"f")[n];if(i&&($e(this,Wa,"f")[n]=i.filter(a=>!a.once),i.forEach(({listener:a})=>a(...s))),n==="abort"){const a=s[0];!$e(this,wh,"f")&&!(i!=null&&i.length)&&Promise.reject(a),$e(this,pf,"f").call(this,a),$e(this,ff,"f").call(this,a),this._emit("end");return}if(n==="error"){const a=s[0];!$e(this,wh,"f")&&!(i!=null&&i.length)&&Promise.reject(a),$e(this,pf,"f").call(this,a),$e(this,ff,"f").call(this,a),this._emit("end")}}_emitFinal(){}}P$=new WeakMap,j$=new WeakMap,pf=new WeakMap,gf=new WeakMap,F$=new WeakMap,ff=new WeakMap,Wa=new WeakMap,mf=new WeakMap,_v=new WeakMap,wv=new WeakMap,wh=new WeakMap,Y_=new WeakSet,mE=function(n){if(Mt(this,_v,!0),n instanceof Error&&n.name==="AbortError"&&(n=new xi),n instanceof xi)return Mt(this,wv,!0),this._emit("abort",n);if(n instanceof Dt)return this._emit("error",n);if(n instanceof Error){const s=new Dt(n.message);return s.cause=n,this._emit("error",s)}return this._emit("error",new Dt(String(n)))};function Fw(o){return(o==null?void 0:o.$brand)==="auto-parseable-response-format"}function Jf(o){return(o==null?void 0:o.$brand)==="auto-parseable-tool"}function HB(o,n){return!n||!bE(n)?{...o,choices:o.choices.map(s=>({...s,message:{...s.message,parsed:null,...s.message.tool_calls?{tool_calls:s.message.tool_calls}:void 0}}))}:zw(o,n)}function zw(o,n){const s=o.choices.map(i=>{var a;if(i.finish_reason==="length")throw new Qk;if(i.finish_reason==="content_filter")throw new eE;return{...i,message:{...i.message,...i.message.tool_calls?{tool_calls:((a=i.message.tool_calls)==null?void 0:a.map(c=>GB(n,c)))??void 0}:void 0,parsed:i.message.content&&!i.message.refusal?VB(n,i.message.content):null}}});return{...o,choices:s}}function VB(o,n){var s,i;return((s=o.response_format)==null?void 0:s.type)!=="json_schema"?null:((i=o.response_format)==null?void 0:i.type)==="json_schema"?"$parseRaw"in o.response_format?o.response_format.$parseRaw(n):JSON.parse(n):null}function GB(o,n){var i;const s=(i=o.tools)==null?void 0:i.find(a=>{var c;return((c=a.function)==null?void 0:c.name)===n.function.name});return{...n,function:{...n.function,parsed_arguments:Jf(s)?s.$parseRaw(n.function.arguments):s!=null&&s.function.strict?JSON.parse(n.function.arguments):null}}}function KB(o,n){var i;if(!o)return!1;const s=(i=o.tools)==null?void 0:i.find(a=>{var c;return((c=a.function)==null?void 0:c.name)===n.function.name});return Jf(s)||(s==null?void 0:s.function.strict)||!1}function bE(o){var n;return Fw(o.response_format)?!0:((n=o.tools)==null?void 0:n.some(s=>Jf(s)||s.type==="function"&&s.function.strict===!0))??!1}function JB(o){for(const n of o??[]){if(n.type!=="function")throw new Dt(`Currently only \`function\` tool types support auto-parsing; Received \`${n.type}\``);if(n.function.strict!==!0)throw new Dt(`The \`${n.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var Tr,X_,Cv,Z_,Q_,ew,$E,vE;const qB=10;class yE extends jw{constructor(){super(...arguments),Tr.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(n){var i;this._chatCompletions.push(n),this._emit("chatCompletion",n);const s=(i=n.choices[0])==null?void 0:i.message;return s&&this._addMessage(s),n}_addMessage(n,s=!0){if("content"in n||(n.content=null),this.messages.push(n),s){if(this._emit("message",n),fE(n)&&n.content)this._emit("functionToolCallResult",n.content);else if(yv(n)&&n.tool_calls)for(const i of n.tool_calls)i.type==="function"&&this._emit("functionToolCall",i.function)}}async finalChatCompletion(){await this.done();const n=this._chatCompletions[this._chatCompletions.length-1];if(!n)throw new Dt("stream ended without producing a ChatCompletion");return n}async finalContent(){return await this.done(),$e(this,Tr,"m",X_).call(this)}async finalMessage(){return await this.done(),$e(this,Tr,"m",Cv).call(this)}async finalFunctionToolCall(){return await this.done(),$e(this,Tr,"m",Z_).call(this)}async finalFunctionToolCallResult(){return await this.done(),$e(this,Tr,"m",Q_).call(this)}async totalUsage(){return await this.done(),$e(this,Tr,"m",ew).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){const n=this._chatCompletions[this._chatCompletions.length-1];n&&this._emit("finalChatCompletion",n);const s=$e(this,Tr,"m",Cv).call(this);s&&this._emit("finalMessage",s);const i=$e(this,Tr,"m",X_).call(this);i&&this._emit("finalContent",i);const a=$e(this,Tr,"m",Z_).call(this);a&&this._emit("finalFunctionToolCall",a);const c=$e(this,Tr,"m",Q_).call(this);c!=null&&this._emit("finalFunctionToolCallResult",c),this._chatCompletions.some(h=>h.usage)&&this._emit("totalUsage",$e(this,Tr,"m",ew).call(this))}async _createChatCompletion(n,s,i){const a=i==null?void 0:i.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort())),$e(this,Tr,"m",$E).call(this,s);const c=await n.chat.completions.create({...s,stream:!1},{...i,signal:this.controller.signal});return this._connected(),this._addChatCompletion(zw(c,s))}async _runChatCompletion(n,s,i){for(const a of s.messages)this._addMessage(a,!1);return await this._createChatCompletion(n,s,i)}async _runTools(n,s,i){var C,E,k;const a="tool",{tool_choice:c="auto",stream:h,...g}=s,b=typeof c!="string"&&((C=c==null?void 0:c.function)==null?void 0:C.name),{maxChatCompletions:$=qB}=i||{},y=s.tools.map(A=>{if(Jf(A)){if(!A.$callback)throw new Dt("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:A.$callback,name:A.function.name,description:A.function.description||"",parameters:A.function.parameters,parse:A.$parseRaw,strict:!0}}}return A}),w={};for(const A of y)A.type==="function"&&(w[A.function.name||A.function.function.name]=A.function);const T="tools"in s?y.map(A=>A.type==="function"?{type:"function",function:{name:A.function.name||A.function.function.name,parameters:A.function.parameters,description:A.function.description,strict:A.function.strict}}:A):void 0;for(const A of s.messages)this._addMessage(A,!1);for(let A=0;A<$;++A){const N=(E=(await this._createChatCompletion(n,{...g,tool_choice:c,tools:T,messages:[...this.messages]},i)).choices[0])==null?void 0:E.message;if(!N)throw new Dt("missing message in ChatCompletion response");if(!((k=N.tool_calls)!=null&&k.length))return;for(const B of N.tool_calls){if(B.type!=="function")continue;const S=B.id,{name:H,arguments:q}=B.function,se=w[H];if(se){if(b&&b!==H){const X=`Invalid tool_call: ${JSON.stringify(H)}. ${JSON.stringify(b)} requested. Please try again`;this._addMessage({role:a,tool_call_id:S,content:X});continue}}else{const X=`Invalid tool_call: ${JSON.stringify(H)}. Available options are: ${Object.keys(w).map(ce=>JSON.stringify(ce)).join(", ")}. Please try again`;this._addMessage({role:a,tool_call_id:S,content:X});continue}let ee;try{ee=WB(se)?await se.parse(q):q}catch(X){const ce=X instanceof Error?X.message:String(X);this._addMessage({role:a,tool_call_id:S,content:ce});continue}const K=await se.function(ee,this),Y=$e(this,Tr,"m",vE).call(this,K);if(this._addMessage({role:a,tool_call_id:S,content:Y}),b)return}}}}Tr=new WeakSet,X_=function(){return $e(this,Tr,"m",Cv).call(this).content??null},Cv=function(){let n=this.messages.length;for(;n-- >0;){const s=this.messages[n];if(yv(s))return{...s,content:s.content??null,refusal:s.refusal??null}}throw new Dt("stream ended without producing a ChatCompletionMessage with role=assistant")},Z_=function(){var n,s;for(let i=this.messages.length-1;i>=0;i--){const a=this.messages[i];if(yv(a)&&((n=a==null?void 0:a.tool_calls)!=null&&n.length))return(s=a.tool_calls.at(-1))==null?void 0:s.function}},Q_=function(){for(let n=this.messages.length-1;n>=0;n--){const s=this.messages[n];if(fE(s)&&s.content!=null&&typeof s.content=="string"&&this.messages.some(i=>{var a;return i.role==="assistant"&&((a=i.tool_calls)==null?void 0:a.some(c=>c.type==="function"&&c.id===s.tool_call_id))}))return s.content}},ew=function(){const n={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(const{usage:s}of this._chatCompletions)s&&(n.completion_tokens+=s.completion_tokens,n.prompt_tokens+=s.prompt_tokens,n.total_tokens+=s.total_tokens);return n},$E=function(n){if(n.n!=null&&n.n>1)throw new Dt("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},vE=function(n){return typeof n=="string"?n:n===void 0?"undefined":JSON.stringify(n)};class Uw extends yE{static runTools(n,s,i){const a=new Uw,c={...i,headers:{...i==null?void 0:i.headers,"X-Stainless-Helper-Method":"runTools"}};return a._run(()=>a._runTools(n,s,c)),a}_addMessage(n,s=!0){super._addMessage(n,s),yv(n)&&n.content&&this._emit("content",n.content)}}const _E=1,wE=2,CE=4,SE=8,TE=16,kE=32,EE=64,IE=128,xE=256,DE=IE|xE,AE=TE|kE|DE|EE,OE=_E|wE|AE,RE=CE|SE,YB=OE|RE,Os={STR:_E,NUM:wE,ARR:CE,OBJ:SE,NULL:TE,BOOL:kE,NAN:EE,INFINITY:IE,MINUS_INFINITY:xE,INF:DE,SPECIAL:AE,ATOM:OE,COLLECTION:RE,ALL:YB};class XB extends Error{}class ZB extends Error{}function QB(o,n=Os.ALL){if(typeof o!="string")throw new TypeError(`expecting str, got ${typeof o}`);if(!o.trim())throw new Error(`${o} is empty`);return eP(o.trim(),n)}const eP=(o,n)=>{const s=o.length;let i=0;const a=T=>{throw new XB(`${T} at position ${i}`)},c=T=>{throw new ZB(`${T} at position ${i}`)},h=()=>(w(),i>=s&&a("Unexpected end of input"),o[i]==='"'?g():o[i]==="{"?b():o[i]==="["?$():o.substring(i,i+4)==="null"||Os.NULL&n&&s-i<4&&"null".startsWith(o.substring(i))?(i+=4,null):o.substring(i,i+4)==="true"||Os.BOOL&n&&s-i<4&&"true".startsWith(o.substring(i))?(i+=4,!0):o.substring(i,i+5)==="false"||Os.BOOL&n&&s-i<5&&"false".startsWith(o.substring(i))?(i+=5,!1):o.substring(i,i+8)==="Infinity"||Os.INFINITY&n&&s-i<8&&"Infinity".startsWith(o.substring(i))?(i+=8,1/0):o.substring(i,i+9)==="-Infinity"||Os.MINUS_INFINITY&n&&1{const T=i;let C=!1;for(i++;i{i++,w();const T={};try{for(;o[i]!=="}";){if(w(),i>=s&&Os.OBJ&n)return T;const C=g();w(),i++;try{const E=h();Object.defineProperty(T,C,{value:E,writable:!0,enumerable:!0,configurable:!0})}catch(E){if(Os.OBJ&n)return T;throw E}w(),o[i]===","&&i++}}catch{if(Os.OBJ&n)return T;a("Expected '}' at end of object")}return i++,T},$=()=>{i++;const T=[];try{for(;o[i]!=="]";)T.push(h()),w(),o[i]===","&&i++}catch{if(Os.ARR&n)return T;a("Expected ']' at end of array")}return i++,T},y=()=>{if(i===0){o==="-"&&Os.NUM&n&&a("Not sure what '-' is");try{return JSON.parse(o)}catch(C){if(Os.NUM&n)try{return o[o.length-1]==="."?JSON.parse(o.substring(0,o.lastIndexOf("."))):JSON.parse(o.substring(0,o.lastIndexOf("e")))}catch{}c(String(C))}}const T=i;for(o[i]==="-"&&i++;o[i]&&!",]}".includes(o[i]);)i++;i==s&&!(Os.NUM&n)&&a("Unterminated number literal");try{return JSON.parse(o.substring(T,i))}catch{o.substring(T,i)==="-"&&Os.NUM&n&&a("Not sure what '-' is");try{return JSON.parse(o.substring(T,o.lastIndexOf("e")))}catch(E){c(String(E))}}},w=()=>{for(;iQB(o,Os.ALL^Os.NUM);var ws,Ua,$h,Kl,i_,S$,o_,a_,l_,T$,c_,$0;class Mf extends yE{constructor(n){super(),ws.add(this),Ua.set(this,void 0),$h.set(this,void 0),Kl.set(this,void 0),Mt(this,Ua,n),Mt(this,$h,[])}get currentChatCompletionSnapshot(){return $e(this,Kl,"f")}static fromReadableStream(n){const s=new Mf(null);return s._run(()=>s._fromReadableStream(n)),s}static createChatCompletion(n,s,i){const a=new Mf(s);return a._run(()=>a._runChatCompletion(n,{...s,stream:!0},{...i,headers:{...i==null?void 0:i.headers,"X-Stainless-Helper-Method":"stream"}})),a}async _createChatCompletion(n,s,i){var h;super._createChatCompletion;const a=i==null?void 0:i.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort())),$e(this,ws,"m",i_).call(this);const c=await n.chat.completions.create({...s,stream:!0},{...i,signal:this.controller.signal});this._connected();for await(const g of c)$e(this,ws,"m",o_).call(this,g);if((h=c.controller.signal)!=null&&h.aborted)throw new xi;return this._addChatCompletion($e(this,ws,"m",T$).call(this))}async _fromReadableStream(n,s){var h;const i=s==null?void 0:s.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),$e(this,ws,"m",i_).call(this),this._connected();const a=Ko.fromReadableStream(n,this.controller);let c;for await(const g of a)c&&c!==g.id&&this._addChatCompletion($e(this,ws,"m",T$).call(this)),$e(this,ws,"m",o_).call(this,g),c=g.id;if((h=a.controller.signal)!=null&&h.aborted)throw new xi;return this._addChatCompletion($e(this,ws,"m",T$).call(this))}[(Ua=new WeakMap,$h=new WeakMap,Kl=new WeakMap,ws=new WeakSet,i_=function(){this.ended||Mt(this,Kl,void 0)},S$=function(s){let i=$e(this,$h,"f")[s.index];return i||(i={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},$e(this,$h,"f")[s.index]=i,i)},o_=function(s){var a,c,h,g,b,$,y,w,T,C,E,k,A,P,N;if(this.ended)return;const i=$e(this,ws,"m",$0).call(this,s);this._emit("chunk",s,i);for(const B of s.choices){const S=i.choices[B.index];B.delta.content!=null&&((a=S.message)==null?void 0:a.role)==="assistant"&&((c=S.message)!=null&&c.content)&&(this._emit("content",B.delta.content,S.message.content),this._emit("content.delta",{delta:B.delta.content,snapshot:S.message.content,parsed:S.message.parsed})),B.delta.refusal!=null&&((h=S.message)==null?void 0:h.role)==="assistant"&&((g=S.message)!=null&&g.refusal)&&this._emit("refusal.delta",{delta:B.delta.refusal,snapshot:S.message.refusal}),((b=B.logprobs)==null?void 0:b.content)!=null&&(($=S.message)==null?void 0:$.role)==="assistant"&&this._emit("logprobs.content.delta",{content:(y=B.logprobs)==null?void 0:y.content,snapshot:((w=S.logprobs)==null?void 0:w.content)??[]}),((T=B.logprobs)==null?void 0:T.refusal)!=null&&((C=S.message)==null?void 0:C.role)==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:(E=B.logprobs)==null?void 0:E.refusal,snapshot:((k=S.logprobs)==null?void 0:k.refusal)??[]});const H=$e(this,ws,"m",S$).call(this,S);S.finish_reason&&($e(this,ws,"m",l_).call(this,S),H.current_tool_call_index!=null&&$e(this,ws,"m",a_).call(this,S,H.current_tool_call_index));for(const q of B.delta.tool_calls??[])H.current_tool_call_index!==q.index&&($e(this,ws,"m",l_).call(this,S),H.current_tool_call_index!=null&&$e(this,ws,"m",a_).call(this,S,H.current_tool_call_index)),H.current_tool_call_index=q.index;for(const q of B.delta.tool_calls??[]){const se=(A=S.message.tool_calls)==null?void 0:A[q.index];se!=null&&se.type&&((se==null?void 0:se.type)==="function"?this._emit("tool_calls.function.arguments.delta",{name:(P=se.function)==null?void 0:P.name,index:q.index,arguments:se.function.arguments,parsed_arguments:se.function.parsed_arguments,arguments_delta:((N=q.function)==null?void 0:N.arguments)??""}):(se==null||se.type,void 0))}}},a_=function(s,i){var h,g,b;if($e(this,ws,"m",S$).call(this,s).done_tool_calls.has(i))return;const c=(h=s.message.tool_calls)==null?void 0:h[i];if(!c)throw new Error("no tool call snapshot");if(!c.type)throw new Error("tool call snapshot missing `type`");if(c.type==="function"){const $=(b=(g=$e(this,Ua,"f"))==null?void 0:g.tools)==null?void 0:b.find(y=>y.type==="function"&&y.function.name===c.function.name);this._emit("tool_calls.function.arguments.done",{name:c.function.name,index:i,arguments:c.function.arguments,parsed_arguments:Jf($)?$.$parseRaw(c.function.arguments):$!=null&&$.function.strict?JSON.parse(c.function.arguments):null})}else c.type},l_=function(s){var a,c;const i=$e(this,ws,"m",S$).call(this,s);if(s.message.content&&!i.content_done){i.content_done=!0;const h=$e(this,ws,"m",c_).call(this);this._emit("content.done",{content:s.message.content,parsed:h?h.$parseRaw(s.message.content):null})}s.message.refusal&&!i.refusal_done&&(i.refusal_done=!0,this._emit("refusal.done",{refusal:s.message.refusal})),(a=s.logprobs)!=null&&a.content&&!i.logprobs_content_done&&(i.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:s.logprobs.content})),(c=s.logprobs)!=null&&c.refusal&&!i.logprobs_refusal_done&&(i.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:s.logprobs.refusal}))},T$=function(){if(this.ended)throw new Dt("stream has ended, this shouldn't happen");const s=$e(this,Kl,"f");if(!s)throw new Dt("request ended without sending any chunks");return Mt(this,Kl,void 0),Mt(this,$h,[]),tP(s,$e(this,Ua,"f"))},c_=function(){var i;const s=(i=$e(this,Ua,"f"))==null?void 0:i.response_format;return Fw(s)?s:null},$0=function(s){var i,a,c,h;let g=$e(this,Kl,"f");const{choices:b,...$}=s;g?Object.assign(g,$):g=Mt(this,Kl,{...$,choices:[]});for(const{delta:y,finish_reason:w,index:T,logprobs:C=null,...E}of s.choices){let k=g.choices[T];if(k||(k=g.choices[T]={finish_reason:w,index:T,message:{},logprobs:C,...E}),C)if(!k.logprobs)k.logprobs=Object.assign({},C);else{const{content:q,refusal:se,...ee}=C;Object.assign(k.logprobs,ee),q&&((i=k.logprobs).content??(i.content=[]),k.logprobs.content.push(...q)),se&&((a=k.logprobs).refusal??(a.refusal=[]),k.logprobs.refusal.push(...se))}if(w&&(k.finish_reason=w,$e(this,Ua,"f")&&bE($e(this,Ua,"f")))){if(w==="length")throw new Qk;if(w==="content_filter")throw new eE}if(Object.assign(k,E),!y)continue;const{content:A,refusal:P,function_call:N,role:B,tool_calls:S,...H}=y;if(Object.assign(k.message,H),P&&(k.message.refusal=(k.message.refusal||"")+P),B&&(k.message.role=B),N&&(k.message.function_call?(N.name&&(k.message.function_call.name=N.name),N.arguments&&((c=k.message.function_call).arguments??(c.arguments=""),k.message.function_call.arguments+=N.arguments)):k.message.function_call=N),A&&(k.message.content=(k.message.content||"")+A,!k.message.refusal&&$e(this,ws,"m",c_).call(this)&&(k.message.parsed=b0(k.message.content))),S){k.message.tool_calls||(k.message.tool_calls=[]);for(const{index:q,id:se,type:ee,function:K,...Y}of S){const X=(h=k.message.tool_calls)[q]??(h[q]={});Object.assign(X,Y),se&&(X.id=se),ee&&(X.type=ee),K&&(X.function??(X.function={name:K.name??"",arguments:""})),K!=null&&K.name&&(X.function.name=K.name),K!=null&&K.arguments&&(X.function.arguments+=K.arguments,KB($e(this,Ua,"f"),X)&&(X.function.parsed_arguments=b0(X.function.arguments)))}}}return g},Symbol.asyncIterator)](){const n=[],s=[];let i=!1;return this.on("chunk",a=>{const c=s.shift();c?c.resolve(a):n.push(a)}),this.on("end",()=>{i=!0;for(const a of s)a.resolve(void 0);s.length=0}),this.on("abort",a=>{i=!0;for(const c of s)c.reject(a);s.length=0}),this.on("error",a=>{i=!0;for(const c of s)c.reject(a);s.length=0}),{next:async()=>n.length?{value:n.shift(),done:!1}:i?{value:void 0,done:!0}:new Promise((c,h)=>s.push({resolve:c,reject:h})).then(c=>c?{value:c,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new Ko(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function tP(o,n){const{id:s,choices:i,created:a,model:c,system_fingerprint:h,...g}=o,b={...g,id:s,choices:i.map(({message:$,finish_reason:y,index:w,logprobs:T,...C})=>{if(!y)throw new Dt(`missing finish_reason for choice ${w}`);const{content:E=null,function_call:k,tool_calls:A,...P}=$,N=$.role;if(!N)throw new Dt(`missing role for choice ${w}`);if(k){const{arguments:B,name:S}=k;if(B==null)throw new Dt(`missing function_call.arguments for choice ${w}`);if(!S)throw new Dt(`missing function_call.name for choice ${w}`);return{...C,message:{content:E,function_call:{arguments:B,name:S},role:N,refusal:$.refusal??null},finish_reason:y,index:w,logprobs:T}}return A?{...C,index:w,finish_reason:y,logprobs:T,message:{...P,role:N,content:E,refusal:$.refusal??null,tool_calls:A.map((B,S)=>{const{function:H,type:q,id:se,...ee}=B,{arguments:K,name:Y,...X}=H||{};if(se==null)throw new Dt(`missing choices[${w}].tool_calls[${S}].id -${k$(o)}`);if(q==null)throw new Dt(`missing choices[${w}].tool_calls[${S}].type -${k$(o)}`);if(Y==null)throw new Dt(`missing choices[${w}].tool_calls[${S}].function.name -${k$(o)}`);if(K==null)throw new Dt(`missing choices[${w}].tool_calls[${S}].function.arguments -${k$(o)}`);return{...ee,id:se,type:q,function:{...X,name:Y,arguments:K}}})}}:{...C,message:{...P,content:E,role:N,refusal:$.refusal??null},finish_reason:y,index:w,logprobs:T}}),created:a,model:c,object:"chat.completion",...h?{system_fingerprint:h}:{}};return HB(b,n)}function k$(o){return JSON.stringify(o)}class Sv extends Mf{static fromReadableStream(n){const s=new Sv(null);return s._run(()=>s._fromReadableStream(n)),s}static runTools(n,s,i){const a=new Sv(s),c={...i,headers:{...i==null?void 0:i.headers,"X-Stainless-Helper-Method":"runTools"}};return a._run(()=>a._runTools(n,s,c)),a}}let Ww=class extends Pt{constructor(){super(...arguments),this.messages=new gE(this._client)}create(n,s){return this._client.post("/chat/completions",{body:n,...s,stream:n.stream??!1})}retrieve(n,s){return this._client.get(Xe`/chat/completions/${n}`,s)}update(n,s,i){return this._client.post(Xe`/chat/completions/${n}`,{body:s,...i})}list(n={},s){return this._client.getAPIList("/chat/completions",gs,{query:n,...s})}delete(n,s){return this._client.delete(Xe`/chat/completions/${n}`,s)}parse(n,s){return JB(n.tools),this._client.chat.completions.create(n,{...s,headers:{...s==null?void 0:s.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(i=>zw(i,n))}runTools(n,s){return n.stream?Sv.runTools(this._client,n,s):Uw.runTools(this._client,n,s)}stream(n,s){return Mf.createChatCompletion(this._client,n,s)}};Ww.Messages=gE;class Hw extends Pt{constructor(){super(...arguments),this.completions=new Ww(this._client)}}Hw.Completions=Ww;const ME=Symbol("brand.privateNullableHeaders"),v0=Array.isArray;function*nP(o){if(!o)return;if(ME in o){const{values:i,nulls:a}=o;yield*i.entries();for(const c of a)yield[c,null];return}let n=!1,s;o instanceof Headers?s=o.entries():v0(o)?s=o:(n=!0,s=Object.entries(o??{}));for(let i of s){const a=i[0];if(typeof a!="string")throw new TypeError("expected header name to be a string");const c=v0(i[1])?i[1]:[i[1]];let h=!1;for(const g of c)g!==void 0&&(n&&!h&&(h=!0,yield[a,null]),yield[a,g])}}const _t=o=>{const n=new Headers,s=new Set;for(const i of o){const a=new Set;for(const[c,h]of nP(i)){const g=c.toLowerCase();a.has(g)||(n.delete(c),a.add(g)),h===null?(n.delete(c),s.add(g)):(n.append(c,h),s.delete(g))}}return{[ME]:!0,values:n,nulls:s}};class NE extends Pt{create(n,s){return this._client.post("/audio/speech",{body:n,...s,headers:_t([{Accept:"application/octet-stream"},s==null?void 0:s.headers]),__binaryResponse:!0})}}class LE extends Pt{create(n,s){return this._client.post("/audio/transcriptions",wu({body:n,...s,stream:n.stream??!1,__metadata:{model:n.model}},this._client))}}class BE extends Pt{create(n,s){return this._client.post("/audio/translations",wu({body:n,...s,__metadata:{model:n.model}},this._client))}}class qf extends Pt{constructor(){super(...arguments),this.transcriptions=new LE(this._client),this.translations=new BE(this._client),this.speech=new NE(this._client)}}qf.Transcriptions=LE;qf.Translations=BE;qf.Speech=NE;class PE extends Pt{create(n,s){return this._client.post("/batches",{body:n,...s})}retrieve(n,s){return this._client.get(Xe`/batches/${n}`,s)}list(n={},s){return this._client.getAPIList("/batches",gs,{query:n,...s})}cancel(n,s){return this._client.post(Xe`/batches/${n}/cancel`,s)}}class jE extends Pt{create(n,s){return this._client.post("/assistants",{body:n,...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}retrieve(n,s){return this._client.get(Xe`/assistants/${n}`,{...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}update(n,s,i){return this._client.post(Xe`/assistants/${n}`,{body:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}list(n={},s){return this._client.getAPIList("/assistants",gs,{query:n,...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}delete(n,s){return this._client.delete(Xe`/assistants/${n}`,{...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}}class FE extends Pt{create(n,s){return this._client.post("/realtime/sessions",{body:n,...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}}class zE extends Pt{create(n,s){return this._client.post("/realtime/transcription_sessions",{body:n,...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}}class Zv extends Pt{constructor(){super(...arguments),this.sessions=new FE(this._client),this.transcriptionSessions=new zE(this._client)}}Zv.Sessions=FE;Zv.TranscriptionSessions=zE;class UE extends Pt{create(n,s,i){return this._client.post(Xe`/threads/${n}/messages`,{body:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}retrieve(n,s,i){const{thread_id:a}=s;return this._client.get(Xe`/threads/${a}/messages/${n}`,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}update(n,s,i){const{thread_id:a,...c}=s;return this._client.post(Xe`/threads/${a}/messages/${n}`,{body:c,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}list(n,s={},i){return this._client.getAPIList(Xe`/threads/${n}/messages`,gs,{query:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}delete(n,s,i){const{thread_id:a}=s;return this._client.delete(Xe`/threads/${a}/messages/${n}`,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}}class WE extends Pt{retrieve(n,s,i){const{thread_id:a,run_id:c,...h}=s;return this._client.get(Xe`/threads/${a}/runs/${c}/steps/${n}`,{query:h,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}list(n,s,i){const{thread_id:a,...c}=s;return this._client.getAPIList(Xe`/threads/${a}/runs/${n}/steps`,gs,{query:c,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}}const sP=o=>{if(typeof Buffer<"u"){const n=Buffer.from(o,"base64");return Array.from(new Float32Array(n.buffer,n.byteOffset,n.length/Float32Array.BYTES_PER_ELEMENT))}else{const n=atob(o),s=n.length,i=new Uint8Array(s);for(let a=0;a{var n,s,i,a;if(typeof globalThis.process<"u")return((n=u_==null?void 0:u_[o])==null?void 0:n.trim())??void 0;if(typeof globalThis.Deno<"u")return(a=(i=(s=globalThis.Deno.env)==null?void 0:s.get)==null?void 0:i.call(s,o))==null?void 0:a.trim()};var Hs,fu,tw,Ho,z$,lo,mu,Th,gu,Tv,ri,U$,W$,kf,bf,$f,y0,_0,w0,C0,S0,T0,k0;class Ef extends jw{constructor(){super(...arguments),Hs.add(this),tw.set(this,[]),Ho.set(this,{}),z$.set(this,{}),lo.set(this,void 0),mu.set(this,void 0),Th.set(this,void 0),gu.set(this,void 0),Tv.set(this,void 0),ri.set(this,void 0),U$.set(this,void 0),W$.set(this,void 0),kf.set(this,void 0)}[(tw=new WeakMap,Ho=new WeakMap,z$=new WeakMap,lo=new WeakMap,mu=new WeakMap,Th=new WeakMap,gu=new WeakMap,Tv=new WeakMap,ri=new WeakMap,U$=new WeakMap,W$=new WeakMap,kf=new WeakMap,Hs=new WeakSet,Symbol.asyncIterator)](){const n=[],s=[];let i=!1;return this.on("event",a=>{const c=s.shift();c?c.resolve(a):n.push(a)}),this.on("end",()=>{i=!0;for(const a of s)a.resolve(void 0);s.length=0}),this.on("abort",a=>{i=!0;for(const c of s)c.reject(a);s.length=0}),this.on("error",a=>{i=!0;for(const c of s)c.reject(a);s.length=0}),{next:async()=>n.length?{value:n.shift(),done:!1}:i?{value:void 0,done:!0}:new Promise((c,h)=>s.push({resolve:c,reject:h})).then(c=>c?{value:c,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(n){const s=new fu;return s._run(()=>s._fromReadableStream(n)),s}async _fromReadableStream(n,s){var c;const i=s==null?void 0:s.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),this._connected();const a=Ko.fromReadableStream(n,this.controller);for await(const h of a)$e(this,Hs,"m",bf).call(this,h);if((c=a.controller.signal)!=null&&c.aborted)throw new xi;return this._addRun($e(this,Hs,"m",$f).call(this))}toReadableStream(){return new Ko(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(n,s,i,a){const c=new fu;return c._run(()=>c._runToolAssistantStream(n,s,i,{...a,headers:{...a==null?void 0:a.headers,"X-Stainless-Helper-Method":"stream"}})),c}async _createToolAssistantStream(n,s,i,a){var b;const c=a==null?void 0:a.signal;c&&(c.aborted&&this.controller.abort(),c.addEventListener("abort",()=>this.controller.abort()));const h={...i,stream:!0},g=await n.submitToolOutputs(s,h,{...a,signal:this.controller.signal});this._connected();for await(const $ of g)$e(this,Hs,"m",bf).call(this,$);if((b=g.controller.signal)!=null&&b.aborted)throw new xi;return this._addRun($e(this,Hs,"m",$f).call(this))}static createThreadAssistantStream(n,s,i){const a=new fu;return a._run(()=>a._threadAssistantStream(n,s,{...i,headers:{...i==null?void 0:i.headers,"X-Stainless-Helper-Method":"stream"}})),a}static createAssistantStream(n,s,i,a){const c=new fu;return c._run(()=>c._runAssistantStream(n,s,i,{...a,headers:{...a==null?void 0:a.headers,"X-Stainless-Helper-Method":"stream"}})),c}currentEvent(){return $e(this,U$,"f")}currentRun(){return $e(this,W$,"f")}currentMessageSnapshot(){return $e(this,lo,"f")}currentRunStepSnapshot(){return $e(this,kf,"f")}async finalRunSteps(){return await this.done(),Object.values($e(this,Ho,"f"))}async finalMessages(){return await this.done(),Object.values($e(this,z$,"f"))}async finalRun(){if(await this.done(),!$e(this,mu,"f"))throw Error("Final run was not received.");return $e(this,mu,"f")}async _createThreadAssistantStream(n,s,i){var g;const a=i==null?void 0:i.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));const c={...s,stream:!0},h=await n.createAndRun(c,{...i,signal:this.controller.signal});this._connected();for await(const b of h)$e(this,Hs,"m",bf).call(this,b);if((g=h.controller.signal)!=null&&g.aborted)throw new xi;return this._addRun($e(this,Hs,"m",$f).call(this))}async _createAssistantStream(n,s,i,a){var b;const c=a==null?void 0:a.signal;c&&(c.aborted&&this.controller.abort(),c.addEventListener("abort",()=>this.controller.abort()));const h={...i,stream:!0},g=await n.create(s,h,{...a,signal:this.controller.signal});this._connected();for await(const $ of g)$e(this,Hs,"m",bf).call(this,$);if((b=g.controller.signal)!=null&&b.aborted)throw new xi;return this._addRun($e(this,Hs,"m",$f).call(this))}static accumulateDelta(n,s){for(const[i,a]of Object.entries(s)){if(!n.hasOwnProperty(i)){n[i]=a;continue}let c=n[i];if(c==null){n[i]=a;continue}if(i==="index"||i==="type"){n[i]=a;continue}if(typeof c=="string"&&typeof a=="string")c+=a;else if(typeof c=="number"&&typeof a=="number")c+=a;else if(n_(c)&&n_(a))c=this.accumulateDelta(c,a);else if(Array.isArray(c)&&Array.isArray(a)){if(c.every(h=>typeof h=="string"||typeof h=="number")){c.push(...a);continue}for(const h of a){if(!n_(h))throw new Error(`Expected array delta entry to be an object but got: ${h}`);const g=h.index;if(g==null)throw console.error(h),new Error("Expected array delta entry to have an `index` property");if(typeof g!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${g}`);const b=c[g];b==null?c.push(h):c[g]=this.accumulateDelta(b,h)}continue}else throw Error(`Unhandled record type: ${i}, deltaValue: ${a}, accValue: ${c}`);n[i]=c}return n}_addRun(n){return n}async _threadAssistantStream(n,s,i){return await this._createThreadAssistantStream(s,n,i)}async _runAssistantStream(n,s,i,a){return await this._createAssistantStream(s,n,i,a)}async _runToolAssistantStream(n,s,i,a){return await this._createToolAssistantStream(s,n,i,a)}}fu=Ef,bf=function(n){if(!this.ended)switch(Mt(this,U$,n),$e(this,Hs,"m",w0).call(this,n),n.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":$e(this,Hs,"m",k0).call(this,n);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":$e(this,Hs,"m",_0).call(this,n);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":$e(this,Hs,"m",y0).call(this,n);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier")}},$f=function(){if(this.ended)throw new Dt("stream has ended, this shouldn't happen");if(!$e(this,mu,"f"))throw Error("Final run has not been received");return $e(this,mu,"f")},y0=function(n){const[s,i]=$e(this,Hs,"m",S0).call(this,n,$e(this,lo,"f"));Mt(this,lo,s),$e(this,z$,"f")[s.id]=s;for(const a of i){const c=s.content[a.index];(c==null?void 0:c.type)=="text"&&this._emit("textCreated",c.text)}switch(n.event){case"thread.message.created":this._emit("messageCreated",n.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",n.data.delta,s),n.data.delta.content)for(const a of n.data.delta.content){if(a.type=="text"&&a.text){let c=a.text,h=s.content[a.index];if(h&&h.type=="text")this._emit("textDelta",c,h.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(a.index!=$e(this,Th,"f")){if($e(this,gu,"f"))switch($e(this,gu,"f").type){case"text":this._emit("textDone",$e(this,gu,"f").text,$e(this,lo,"f"));break;case"image_file":this._emit("imageFileDone",$e(this,gu,"f").image_file,$e(this,lo,"f"));break}Mt(this,Th,a.index)}Mt(this,gu,s.content[a.index])}break;case"thread.message.completed":case"thread.message.incomplete":if($e(this,Th,"f")!==void 0){const a=n.data.content[$e(this,Th,"f")];if(a)switch(a.type){case"image_file":this._emit("imageFileDone",a.image_file,$e(this,lo,"f"));break;case"text":this._emit("textDone",a.text,$e(this,lo,"f"));break}}$e(this,lo,"f")&&this._emit("messageDone",n.data),Mt(this,lo,void 0)}},_0=function(n){const s=$e(this,Hs,"m",C0).call(this,n);switch(Mt(this,kf,s),n.event){case"thread.run.step.created":this._emit("runStepCreated",n.data);break;case"thread.run.step.delta":const i=n.data.delta;if(i.step_details&&i.step_details.type=="tool_calls"&&i.step_details.tool_calls&&s.step_details.type=="tool_calls")for(const c of i.step_details.tool_calls)c.index==$e(this,Tv,"f")?this._emit("toolCallDelta",c,s.step_details.tool_calls[c.index]):($e(this,ri,"f")&&this._emit("toolCallDone",$e(this,ri,"f")),Mt(this,Tv,c.index),Mt(this,ri,s.step_details.tool_calls[c.index]),$e(this,ri,"f")&&this._emit("toolCallCreated",$e(this,ri,"f")));this._emit("runStepDelta",n.data.delta,s);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":Mt(this,kf,void 0),n.data.step_details.type=="tool_calls"&&$e(this,ri,"f")&&(this._emit("toolCallDone",$e(this,ri,"f")),Mt(this,ri,void 0)),this._emit("runStepDone",n.data,s);break}},w0=function(n){$e(this,tw,"f").push(n),this._emit("event",n)},C0=function(n){switch(n.event){case"thread.run.step.created":return $e(this,Ho,"f")[n.data.id]=n.data,n.data;case"thread.run.step.delta":let s=$e(this,Ho,"f")[n.data.id];if(!s)throw Error("Received a RunStepDelta before creation of a snapshot");let i=n.data;if(i.delta){const a=fu.accumulateDelta(s,i.delta);$e(this,Ho,"f")[n.data.id]=a}return $e(this,Ho,"f")[n.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":$e(this,Ho,"f")[n.data.id]=n.data;break}if($e(this,Ho,"f")[n.data.id])return $e(this,Ho,"f")[n.data.id];throw new Error("No snapshot available")},S0=function(n,s){let i=[];switch(n.event){case"thread.message.created":return[n.data,i];case"thread.message.delta":if(!s)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let a=n.data;if(a.delta.content)for(const c of a.delta.content)if(c.index in s.content){let h=s.content[c.index];s.content[c.index]=$e(this,Hs,"m",T0).call(this,c,h)}else s.content[c.index]=c,i.push(c);return[s,i];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(s)return[s,i];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},T0=function(n,s){return fu.accumulateDelta(s,n)},k0=function(n){switch(Mt(this,W$,n.data),n.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":Mt(this,mu,n.data),$e(this,ri,"f")&&(this._emit("toolCallDone",$e(this,ri,"f")),Mt(this,ri,void 0));break}};let Vw=class extends Pt{constructor(){super(...arguments),this.steps=new WE(this._client)}create(n,s,i){const{include:a,...c}=s;return this._client.post(Xe`/threads/${n}/runs`,{query:{include:a},body:c,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers]),stream:s.stream??!1})}retrieve(n,s,i){const{thread_id:a}=s;return this._client.get(Xe`/threads/${a}/runs/${n}`,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}update(n,s,i){const{thread_id:a,...c}=s;return this._client.post(Xe`/threads/${a}/runs/${n}`,{body:c,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}list(n,s={},i){return this._client.getAPIList(Xe`/threads/${n}/runs`,gs,{query:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}cancel(n,s,i){const{thread_id:a}=s;return this._client.post(Xe`/threads/${a}/runs/${n}/cancel`,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}async createAndPoll(n,s,i){const a=await this.create(n,s,i);return await this.poll(a.id,{thread_id:n},i)}createAndStream(n,s,i){return Ef.createAssistantStream(n,this._client.beta.threads.runs,s,i)}async poll(n,s,i){var c;const a=_t([i==null?void 0:i.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":((c=i==null?void 0:i.pollIntervalMs)==null?void 0:c.toString())??void 0}]);for(;;){const{data:h,response:g}=await this.retrieve(n,s,{...i,headers:{...i==null?void 0:i.headers,...a}}).withResponse();switch(h.status){case"queued":case"in_progress":case"cancelling":let b=5e3;if(i!=null&&i.pollIntervalMs)b=i.pollIntervalMs;else{const $=g.headers.get("openai-poll-after-ms");if($){const y=parseInt($);isNaN(y)||(b=y)}}await Kf(b);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return h}}}stream(n,s,i){return Ef.createAssistantStream(n,this._client.beta.threads.runs,s,i)}submitToolOutputs(n,s,i){const{thread_id:a,...c}=s;return this._client.post(Xe`/threads/${a}/runs/${n}/submit_tool_outputs`,{body:c,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers]),stream:s.stream??!1})}async submitToolOutputsAndPoll(n,s,i){const a=await this.submitToolOutputs(n,s,i);return await this.poll(a.id,s,i)}submitToolOutputsStream(n,s,i){return Ef.createToolAssistantStream(n,this._client.beta.threads.runs,s,i)}};Vw.Steps=WE;class Qv extends Pt{constructor(){super(...arguments),this.runs=new Vw(this._client),this.messages=new UE(this._client)}create(n={},s){return this._client.post("/threads",{body:n,...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}retrieve(n,s){return this._client.get(Xe`/threads/${n}`,{...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}update(n,s,i){return this._client.post(Xe`/threads/${n}`,{body:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}delete(n,s){return this._client.delete(Xe`/threads/${n}`,{...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}createAndRun(n,s){return this._client.post("/threads/runs",{body:n,...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers]),stream:n.stream??!1})}async createAndRunPoll(n,s){const i=await this.createAndRun(n,s);return await this.runs.poll(i.id,{thread_id:i.thread_id},s)}createAndRunStream(n,s){return Ef.createThreadAssistantStream(n,this._client.beta.threads,s)}}Qv.Runs=Vw;Qv.Messages=UE;class Yf extends Pt{constructor(){super(...arguments),this.realtime=new Zv(this._client),this.assistants=new jE(this._client),this.threads=new Qv(this._client)}}Yf.Realtime=Zv;Yf.Assistants=jE;Yf.Threads=Qv;class HE extends Pt{create(n,s){return this._client.post("/completions",{body:n,...s,stream:n.stream??!1})}}class VE extends Pt{retrieve(n,s,i){const{container_id:a}=s;return this._client.get(Xe`/containers/${a}/files/${n}/content`,{...i,headers:_t([{Accept:"application/binary"},i==null?void 0:i.headers]),__binaryResponse:!0})}}let Gw=class extends Pt{constructor(){super(...arguments),this.content=new VE(this._client)}create(n,s,i){return this._client.post(Xe`/containers/${n}/files`,wu({body:s,...i},this._client))}retrieve(n,s,i){const{container_id:a}=s;return this._client.get(Xe`/containers/${a}/files/${n}`,i)}list(n,s={},i){return this._client.getAPIList(Xe`/containers/${n}/files`,gs,{query:s,...i})}delete(n,s,i){const{container_id:a}=s;return this._client.delete(Xe`/containers/${a}/files/${n}`,{...i,headers:_t([{Accept:"*/*"},i==null?void 0:i.headers])})}};Gw.Content=VE;class Kw extends Pt{constructor(){super(...arguments),this.files=new Gw(this._client)}create(n,s){return this._client.post("/containers",{body:n,...s})}retrieve(n,s){return this._client.get(Xe`/containers/${n}`,s)}list(n={},s){return this._client.getAPIList("/containers",gs,{query:n,...s})}delete(n,s){return this._client.delete(Xe`/containers/${n}`,{...s,headers:_t([{Accept:"*/*"},s==null?void 0:s.headers])})}}Kw.Files=Gw;class GE extends Pt{create(n,s){const i=!!n.encoding_format;let a=i?n.encoding_format:"base64";i&&dr(this._client).debug("embeddings/user defined encoding_format:",n.encoding_format);const c=this._client.post("/embeddings",{body:{...n,encoding_format:a},...s});return i?c:(dr(this._client).debug("embeddings/decoding base64 embeddings from base64"),c._thenUnwrap(h=>(h&&h.data&&h.data.forEach(g=>{const b=g.embedding;g.embedding=sP(b)}),h)))}}class KE extends Pt{retrieve(n,s,i){const{eval_id:a,run_id:c}=s;return this._client.get(Xe`/evals/${a}/runs/${c}/output_items/${n}`,i)}list(n,s,i){const{eval_id:a,...c}=s;return this._client.getAPIList(Xe`/evals/${a}/runs/${n}/output_items`,gs,{query:c,...i})}}class Jw extends Pt{constructor(){super(...arguments),this.outputItems=new KE(this._client)}create(n,s,i){return this._client.post(Xe`/evals/${n}/runs`,{body:s,...i})}retrieve(n,s,i){const{eval_id:a}=s;return this._client.get(Xe`/evals/${a}/runs/${n}`,i)}list(n,s={},i){return this._client.getAPIList(Xe`/evals/${n}/runs`,gs,{query:s,...i})}delete(n,s,i){const{eval_id:a}=s;return this._client.delete(Xe`/evals/${a}/runs/${n}`,i)}cancel(n,s,i){const{eval_id:a}=s;return this._client.post(Xe`/evals/${a}/runs/${n}`,i)}}Jw.OutputItems=KE;class qw extends Pt{constructor(){super(...arguments),this.runs=new Jw(this._client)}create(n,s){return this._client.post("/evals",{body:n,...s})}retrieve(n,s){return this._client.get(Xe`/evals/${n}`,s)}update(n,s,i){return this._client.post(Xe`/evals/${n}`,{body:s,...i})}list(n={},s){return this._client.getAPIList("/evals",gs,{query:n,...s})}delete(n,s){return this._client.delete(Xe`/evals/${n}`,s)}}qw.Runs=Jw;let JE=class extends Pt{create(n,s){return this._client.post("/files",wu({body:n,...s},this._client))}retrieve(n,s){return this._client.get(Xe`/files/${n}`,s)}list(n={},s){return this._client.getAPIList("/files",gs,{query:n,...s})}delete(n,s){return this._client.delete(Xe`/files/${n}`,s)}content(n,s){return this._client.get(Xe`/files/${n}/content`,{...s,headers:_t([{Accept:"application/binary"},s==null?void 0:s.headers]),__binaryResponse:!0})}async waitForProcessing(n,{pollInterval:s=5e3,maxWait:i=30*60*1e3}={}){const a=new Set(["processed","error","deleted"]),c=Date.now();let h=await this.retrieve(n);for(;!h.status||!a.has(h.status);)if(await Kf(s),h=await this.retrieve(n),Date.now()-c>i)throw new Bw({message:`Giving up on waiting for file ${n} to finish processing after ${i} milliseconds.`});return h}};class qE extends Pt{}let YE=class extends Pt{run(n,s){return this._client.post("/fine_tuning/alpha/graders/run",{body:n,...s})}validate(n,s){return this._client.post("/fine_tuning/alpha/graders/validate",{body:n,...s})}};class Yw extends Pt{constructor(){super(...arguments),this.graders=new YE(this._client)}}Yw.Graders=YE;class XE extends Pt{create(n,s,i){return this._client.getAPIList(Xe`/fine_tuning/checkpoints/${n}/permissions`,Xv,{body:s,method:"post",...i})}retrieve(n,s={},i){return this._client.get(Xe`/fine_tuning/checkpoints/${n}/permissions`,{query:s,...i})}delete(n,s,i){const{fine_tuned_model_checkpoint:a}=s;return this._client.delete(Xe`/fine_tuning/checkpoints/${a}/permissions/${n}`,i)}}let Xw=class extends Pt{constructor(){super(...arguments),this.permissions=new XE(this._client)}};Xw.Permissions=XE;class ZE extends Pt{list(n,s={},i){return this._client.getAPIList(Xe`/fine_tuning/jobs/${n}/checkpoints`,gs,{query:s,...i})}}class Zw extends Pt{constructor(){super(...arguments),this.checkpoints=new ZE(this._client)}create(n,s){return this._client.post("/fine_tuning/jobs",{body:n,...s})}retrieve(n,s){return this._client.get(Xe`/fine_tuning/jobs/${n}`,s)}list(n={},s){return this._client.getAPIList("/fine_tuning/jobs",gs,{query:n,...s})}cancel(n,s){return this._client.post(Xe`/fine_tuning/jobs/${n}/cancel`,s)}listEvents(n,s={},i){return this._client.getAPIList(Xe`/fine_tuning/jobs/${n}/events`,gs,{query:s,...i})}pause(n,s){return this._client.post(Xe`/fine_tuning/jobs/${n}/pause`,s)}resume(n,s){return this._client.post(Xe`/fine_tuning/jobs/${n}/resume`,s)}}Zw.Checkpoints=ZE;class Mh extends Pt{constructor(){super(...arguments),this.methods=new qE(this._client),this.jobs=new Zw(this._client),this.checkpoints=new Xw(this._client),this.alpha=new Yw(this._client)}}Mh.Methods=qE;Mh.Jobs=Zw;Mh.Checkpoints=Xw;Mh.Alpha=Yw;class QE extends Pt{}class Qw extends Pt{constructor(){super(...arguments),this.graderModels=new QE(this._client)}}Qw.GraderModels=QE;class eI extends Pt{createVariation(n,s){return this._client.post("/images/variations",wu({body:n,...s},this._client))}edit(n,s){return this._client.post("/images/edits",wu({body:n,...s},this._client))}generate(n,s){return this._client.post("/images/generations",{body:n,...s})}}class tI extends Pt{retrieve(n,s){return this._client.get(Xe`/models/${n}`,s)}list(n){return this._client.getAPIList("/models",Xv,n)}delete(n,s){return this._client.delete(Xe`/models/${n}`,s)}}class nI extends Pt{create(n,s){return this._client.post("/moderations",{body:n,...s})}}function rP(o,n){return!n||!oP(n)?{...o,output_parsed:null,output:o.output.map(s=>s.type==="function_call"?{...s,parsed_arguments:null}:s.type==="message"?{...s,content:s.content.map(i=>({...i,parsed:null}))}:s)}:sI(o,n)}function sI(o,n){const s=o.output.map(a=>{if(a.type==="function_call")return{...a,parsed_arguments:cP(n,a)};if(a.type==="message"){const c=a.content.map(h=>h.type==="output_text"?{...h,parsed:iP(n,h.text)}:h);return{...a,content:c}}return a}),i=Object.assign({},o,{output:s});return Object.getOwnPropertyDescriptor(o,"output_text")||rI(i),Object.defineProperty(i,"output_parsed",{enumerable:!0,get(){for(const a of i.output)if(a.type==="message"){for(const c of a.content)if(c.type==="output_text"&&c.parsed!==null)return c.parsed}return null}}),i}function iP(o,n){var s,i,a,c;return((i=(s=o.text)==null?void 0:s.format)==null?void 0:i.type)!=="json_schema"?null:"$parseRaw"in((a=o.text)==null?void 0:a.format)?((c=o.text)==null?void 0:c.format).$parseRaw(n):JSON.parse(n)}function oP(o){var n;return!!Fw((n=o.text)==null?void 0:n.format)}function aP(o){return(o==null?void 0:o.$brand)==="auto-parseable-tool"}function lP(o,n){return o.find(s=>s.type==="function"&&s.name===n)}function cP(o,n){const s=lP(o.tools??[],n.name);return{...n,...n,parsed_arguments:aP(s)?s.$parseRaw(n.arguments):s!=null&&s.strict?JSON.parse(n.arguments):null}}function rI(o){const n=[];for(const s of o.output)if(s.type==="message")for(const i of s.content)i.type==="output_text"&&n.push(i.text);o.output_text=n.join("")}var vh,E$,Jl,I$,E0,I0,x0,D0;class eC extends jw{constructor(n){super(),vh.add(this),E$.set(this,void 0),Jl.set(this,void 0),I$.set(this,void 0),Mt(this,E$,n)}static createResponse(n,s,i){const a=new eC(s);return a._run(()=>a._createOrRetrieveResponse(n,s,{...i,headers:{...i==null?void 0:i.headers,"X-Stainless-Helper-Method":"stream"}})),a}async _createOrRetrieveResponse(n,s,i){var g;const a=i==null?void 0:i.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort())),$e(this,vh,"m",E0).call(this);let c,h=null;"response_id"in s?(c=await n.responses.retrieve(s.response_id,{stream:!0},{...i,signal:this.controller.signal,stream:!0}),h=s.starting_after??null):c=await n.responses.create({...s,stream:!0},{...i,signal:this.controller.signal}),this._connected();for await(const b of c)$e(this,vh,"m",I0).call(this,b,h);if((g=c.controller.signal)!=null&&g.aborted)throw new xi;return $e(this,vh,"m",x0).call(this)}[(E$=new WeakMap,Jl=new WeakMap,I$=new WeakMap,vh=new WeakSet,E0=function(){this.ended||Mt(this,Jl,void 0)},I0=function(s,i){if(this.ended)return;const a=(h,g)=>{(i==null||g.sequence_number>i)&&this._emit(h,g)},c=$e(this,vh,"m",D0).call(this,s);switch(a("event",s),s.type){case"response.output_text.delta":{const h=c.output[s.output_index];if(!h)throw new Dt(`missing output at index ${s.output_index}`);if(h.type==="message"){const g=h.content[s.content_index];if(!g)throw new Dt(`missing content at index ${s.content_index}`);if(g.type!=="output_text")throw new Dt(`expected content to be 'output_text', got ${g.type}`);a("response.output_text.delta",{...s,snapshot:g.text})}break}case"response.function_call_arguments.delta":{const h=c.output[s.output_index];if(!h)throw new Dt(`missing output at index ${s.output_index}`);h.type==="function_call"&&a("response.function_call_arguments.delta",{...s,snapshot:h.arguments});break}default:a(s.type,s);break}},x0=function(){if(this.ended)throw new Dt("stream has ended, this shouldn't happen");const s=$e(this,Jl,"f");if(!s)throw new Dt("request ended without sending any events");Mt(this,Jl,void 0);const i=uP(s,$e(this,E$,"f"));return Mt(this,I$,i),i},D0=function(s){let i=$e(this,Jl,"f");if(!i){if(s.type!=="response.created")throw new Dt(`When snapshot hasn't been set yet, expected 'response.created' event, got ${s.type}`);return i=Mt(this,Jl,s.response),i}switch(s.type){case"response.output_item.added":{i.output.push(s.item);break}case"response.content_part.added":{const a=i.output[s.output_index];if(!a)throw new Dt(`missing output at index ${s.output_index}`);a.type==="message"&&a.content.push(s.part);break}case"response.output_text.delta":{const a=i.output[s.output_index];if(!a)throw new Dt(`missing output at index ${s.output_index}`);if(a.type==="message"){const c=a.content[s.content_index];if(!c)throw new Dt(`missing content at index ${s.content_index}`);if(c.type!=="output_text")throw new Dt(`expected content to be 'output_text', got ${c.type}`);c.text+=s.delta}break}case"response.function_call_arguments.delta":{const a=i.output[s.output_index];if(!a)throw new Dt(`missing output at index ${s.output_index}`);a.type==="function_call"&&(a.arguments+=s.delta);break}case"response.completed":{Mt(this,Jl,s.response);break}}return i},Symbol.asyncIterator)](){const n=[],s=[];let i=!1;return this.on("event",a=>{const c=s.shift();c?c.resolve(a):n.push(a)}),this.on("end",()=>{i=!0;for(const a of s)a.resolve(void 0);s.length=0}),this.on("abort",a=>{i=!0;for(const c of s)c.reject(a);s.length=0}),this.on("error",a=>{i=!0;for(const c of s)c.reject(a);s.length=0}),{next:async()=>n.length?{value:n.shift(),done:!1}:i?{value:void 0,done:!0}:new Promise((c,h)=>s.push({resolve:c,reject:h})).then(c=>c?{value:c,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();const n=$e(this,I$,"f");if(!n)throw new Dt("stream ended without producing a ChatCompletion");return n}}function uP(o,n){return rP(o,n)}class iI extends Pt{list(n,s={},i){return this._client.getAPIList(Xe`/responses/${n}/input_items`,gs,{query:s,...i})}}class tC extends Pt{constructor(){super(...arguments),this.inputItems=new iI(this._client)}create(n,s){return this._client.post("/responses",{body:n,...s,stream:n.stream??!1})._thenUnwrap(i=>("object"in i&&i.object==="response"&&rI(i),i))}retrieve(n,s={},i){return this._client.get(Xe`/responses/${n}`,{query:s,...i,stream:(s==null?void 0:s.stream)??!1})}delete(n,s){return this._client.delete(Xe`/responses/${n}`,{...s,headers:_t([{Accept:"*/*"},s==null?void 0:s.headers])})}parse(n,s){return this._client.responses.create(n,s)._thenUnwrap(i=>sI(i,n))}stream(n,s){return eC.createResponse(this._client,n,s)}cancel(n,s){return this._client.post(Xe`/responses/${n}/cancel`,s)}}tC.InputItems=iI;class oI extends Pt{create(n,s,i){return this._client.post(Xe`/uploads/${n}/parts`,wu({body:s,...i},this._client))}}class nC extends Pt{constructor(){super(...arguments),this.parts=new oI(this._client)}create(n,s){return this._client.post("/uploads",{body:n,...s})}cancel(n,s){return this._client.post(Xe`/uploads/${n}/cancel`,s)}complete(n,s,i){return this._client.post(Xe`/uploads/${n}/complete`,{body:s,...i})}}nC.Parts=oI;const dP=async o=>{const n=await Promise.allSettled(o),s=n.filter(a=>a.status==="rejected");if(s.length){for(const a of s)console.error(a.reason);throw new Error(`${s.length} promise(s) failed - see the above errors`)}const i=[];for(const a of n)a.status==="fulfilled"&&i.push(a.value);return i};class aI extends Pt{create(n,s,i){return this._client.post(Xe`/vector_stores/${n}/file_batches`,{body:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}retrieve(n,s,i){const{vector_store_id:a}=s;return this._client.get(Xe`/vector_stores/${a}/file_batches/${n}`,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}cancel(n,s,i){const{vector_store_id:a}=s;return this._client.post(Xe`/vector_stores/${a}/file_batches/${n}/cancel`,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}async createAndPoll(n,s,i){const a=await this.create(n,s);return await this.poll(n,a.id,i)}listFiles(n,s,i){const{vector_store_id:a,...c}=s;return this._client.getAPIList(Xe`/vector_stores/${a}/file_batches/${n}/files`,gs,{query:c,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}async poll(n,s,i){var c;const a=_t([i==null?void 0:i.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":((c=i==null?void 0:i.pollIntervalMs)==null?void 0:c.toString())??void 0}]);for(;;){const{data:h,response:g}=await this.retrieve(s,{vector_store_id:n},{...i,headers:a}).withResponse();switch(h.status){case"in_progress":let b=5e3;if(i!=null&&i.pollIntervalMs)b=i.pollIntervalMs;else{const $=g.headers.get("openai-poll-after-ms");if($){const y=parseInt($);isNaN(y)||(b=y)}}await Kf(b);break;case"failed":case"cancelled":case"completed":return h}}}async uploadAndPoll(n,{files:s,fileIds:i=[]},a){if(s==null||s.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");const c=(a==null?void 0:a.maxConcurrency)??5,h=Math.min(c,s.length),g=this._client,b=s.values(),$=[...i];async function y(T){for(let C of T){const E=await g.files.create({file:C,purpose:"assistants"},a);$.push(E.id)}}const w=Array(h).fill(b).map(y);return await dP(w),await this.createAndPoll(n,{file_ids:$})}}class lI extends Pt{create(n,s,i){return this._client.post(Xe`/vector_stores/${n}/files`,{body:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}retrieve(n,s,i){const{vector_store_id:a}=s;return this._client.get(Xe`/vector_stores/${a}/files/${n}`,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}update(n,s,i){const{vector_store_id:a,...c}=s;return this._client.post(Xe`/vector_stores/${a}/files/${n}`,{body:c,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}list(n,s={},i){return this._client.getAPIList(Xe`/vector_stores/${n}/files`,gs,{query:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}delete(n,s,i){const{vector_store_id:a}=s;return this._client.delete(Xe`/vector_stores/${a}/files/${n}`,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}async createAndPoll(n,s,i){const a=await this.create(n,s,i);return await this.poll(n,a.id,i)}async poll(n,s,i){var c;const a=_t([i==null?void 0:i.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":((c=i==null?void 0:i.pollIntervalMs)==null?void 0:c.toString())??void 0}]);for(;;){const h=await this.retrieve(s,{vector_store_id:n},{...i,headers:a}).withResponse(),g=h.data;switch(g.status){case"in_progress":let b=5e3;if(i!=null&&i.pollIntervalMs)b=i.pollIntervalMs;else{const $=h.response.headers.get("openai-poll-after-ms");if($){const y=parseInt($);isNaN(y)||(b=y)}}await Kf(b);break;case"failed":case"completed":return g}}}async upload(n,s,i){const a=await this._client.files.create({file:s,purpose:"assistants"},i);return this.create(n,{file_id:a.id},i)}async uploadAndPoll(n,s,i){const a=await this.upload(n,s,i);return await this.poll(n,a.id,i)}content(n,s,i){const{vector_store_id:a}=s;return this._client.getAPIList(Xe`/vector_stores/${a}/files/${n}/content`,Xv,{...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}}class ey extends Pt{constructor(){super(...arguments),this.files=new lI(this._client),this.fileBatches=new aI(this._client)}create(n,s){return this._client.post("/vector_stores",{body:n,...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}retrieve(n,s){return this._client.get(Xe`/vector_stores/${n}`,{...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}update(n,s,i){return this._client.post(Xe`/vector_stores/${n}`,{body:s,...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}list(n={},s){return this._client.getAPIList("/vector_stores",gs,{query:n,...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}delete(n,s){return this._client.delete(Xe`/vector_stores/${n}`,{...s,headers:_t([{"OpenAI-Beta":"assistants=v2"},s==null?void 0:s.headers])})}search(n,s,i){return this._client.getAPIList(Xe`/vector_stores/${n}/search`,Xv,{body:s,method:"post",...i,headers:_t([{"OpenAI-Beta":"assistants=v2"},i==null?void 0:i.headers])})}}ey.Files=lI;ey.FileBatches=aI;var sC,H$;class hn{constructor({baseURL:n=af("OPENAI_BASE_URL"),apiKey:s=af("OPENAI_API_KEY"),organization:i=af("OPENAI_ORG_ID")??null,project:a=af("OPENAI_PROJECT_ID")??null,...c}={}){if(H$.set(this,void 0),this.completions=new HE(this),this.chat=new Hw(this),this.embeddings=new GE(this),this.files=new JE(this),this.images=new eI(this),this.audio=new qf(this),this.moderations=new nI(this),this.models=new tI(this),this.fineTuning=new Mh(this),this.graders=new Qw(this),this.vectorStores=new ey(this),this.beta=new Yf(this),this.batches=new PE(this),this.uploads=new nC(this),this.responses=new tC(this),this.evals=new qw(this),this.containers=new Kw(this),s===void 0)throw new Dt("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");const h={apiKey:s,organization:i,project:a,...c,baseURL:n||"https://api.openai.com/v1"};if(!h.dangerouslyAllowBrowser&&cB())throw new Dt(`It looks like you're running in a browser-like environment. - -This is disabled by default, as it risks exposing your secret API credentials to attackers. -If you understand the risks and have appropriate mitigations in place, -you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g., - -new OpenAI({ apiKey, dangerouslyAllowBrowser: true }); - -https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety -`);this.baseURL=h.baseURL,this.timeout=h.timeout??sC.DEFAULT_TIMEOUT,this.logger=h.logger??console;const g="warn";this.logLevel=g,this.logLevel=a0(h.logLevel,"ClientOptions.logLevel",this)??a0(af("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??g,this.fetchOptions=h.fetchOptions,this.maxRetries=h.maxRetries??2,this.fetch=h.fetch??gB(),Mt(this,H$,mB),this._options=h,this.apiKey=s,this.organization=i,this.project=a}withOptions(n){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,...n})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:n,nulls:s}){}authHeaders(n){return _t([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(n){return kB(n,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${_h}`}defaultIdempotencyKey(){return`stainless-node-retry-${Hk()}`}makeStatusError(n,s,i,a){return Vs.generate(n,s,i,a)}buildURL(n,s){const i=nB(n)?new URL(n):new URL(this.baseURL+(this.baseURL.endsWith("/")&&n.startsWith("/")?n.slice(1):n)),a=this.defaultQuery();return rB(a)||(s={...a,...s}),typeof s=="object"&&s&&!Array.isArray(s)&&(i.search=this.stringifyQuery(s)),i.toString()}async prepareOptions(n){}async prepareRequest(n,{url:s,options:i}){}get(n,s){return this.methodRequest("get",n,s)}post(n,s){return this.methodRequest("post",n,s)}patch(n,s){return this.methodRequest("patch",n,s)}put(n,s){return this.methodRequest("put",n,s)}delete(n,s){return this.methodRequest("delete",n,s)}methodRequest(n,s,i){return this.request(Promise.resolve(i).then(a=>({method:n,path:s,...a})))}request(n,s=null){return new Yv(this,this.makeRequest(n,s,void 0))}async makeRequest(n,s,i){var P,N;const a=await n,c=a.maxRetries??this.maxRetries;s==null&&(s=c),await this.prepareOptions(a);const{req:h,url:g,timeout:b}=this.buildRequest(a,{retryCount:c-s});await this.prepareRequest(h,{url:g,options:a});const $="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),y=i===void 0?"":`, retryOf: ${i}`,w=Date.now();if(dr(this).debug(`[${$}] sending request`,hu({retryOfRequestLogID:i,method:a.method,url:g,options:a,headers:h.headers})),(P=a.signal)!=null&&P.aborted)throw new xi;const T=new AbortController,C=await this.fetchWithTimeout(g,h,b,T).catch(V_),E=Date.now();if(C instanceof Error){const B=`retrying, ${s} attempts remaining`;if((N=a.signal)!=null&&N.aborted)throw new xi;const S=H_(C)||/timed? ?out/i.test(String(C)+("cause"in C?String(C.cause):""));if(s)return dr(this).info(`[${$}] connection ${S?"timed out":"failed"} - ${B}`),dr(this).debug(`[${$}] connection ${S?"timed out":"failed"} (${B})`,hu({retryOfRequestLogID:i,url:g,durationMs:E-w,message:C.message})),this.retryRequest(a,s,i??$);throw dr(this).info(`[${$}] connection ${S?"timed out":"failed"} - error; no more retries left`),dr(this).debug(`[${$}] connection ${S?"timed out":"failed"} (error; no more retries left)`,hu({retryOfRequestLogID:i,url:g,durationMs:E-w,message:C.message})),S?new Bw:new Jv({cause:C})}const k=[...C.headers.entries()].filter(([B])=>B==="x-request-id").map(([B,S])=>", "+B+": "+JSON.stringify(S)).join(""),A=`[${$}${y}${k}] ${h.method} ${g} ${C.ok?"succeeded":"failed"} with status ${C.status} in ${E-w}ms`;if(!C.ok){const B=this.shouldRetry(C);if(s&&B){const K=`retrying, ${s} attempts remaining`;return await fB(C.body),dr(this).info(`${A} - ${K}`),dr(this).debug(`[${$}] response error (${K})`,hu({retryOfRequestLogID:i,url:C.url,status:C.status,headers:C.headers,durationMs:E-w})),this.retryRequest(a,s,i??$,C.headers)}const S=B?"error; no more retries left":"error; not retryable";dr(this).info(`${A} - ${S}`);const H=await C.text().catch(K=>V_(K).message),q=aB(H),se=q?void 0:H;throw dr(this).debug(`[${$}] response error (${S})`,hu({retryOfRequestLogID:i,url:C.url,status:C.status,headers:C.headers,message:se,durationMs:Date.now()-w})),this.makeStatusError(C.status,q,se,C.headers)}return dr(this).info(A),dr(this).debug(`[${$}] response start`,hu({retryOfRequestLogID:i,url:C.url,status:C.status,headers:C.headers,durationMs:E-w})),{response:C,options:a,controller:T,requestLogID:$,retryOfRequestLogID:i,startTime:w}}getAPIList(n,s,i){return this.requestAPIList(s,{method:"get",path:n,...i})}requestAPIList(n,s){const i=this.makeRequest(s,null,void 0);return new MB(this,i,n)}async fetchWithTimeout(n,s,i,a){const{signal:c,method:h,...g}=s||{};c&&c.addEventListener("abort",()=>a.abort());const b=setTimeout(()=>a.abort(),i),$=globalThis.ReadableStream&&g.body instanceof globalThis.ReadableStream||typeof g.body=="object"&&g.body!==null&&Symbol.asyncIterator in g.body,y={signal:a.signal,...$?{duplex:"half"}:{},method:"GET",...g};h&&(y.method=h.toUpperCase());try{return await this.fetch.call(void 0,n,y)}finally{clearTimeout(b)}}shouldRetry(n){const s=n.headers.get("x-should-retry");return s==="true"?!0:s==="false"?!1:n.status===408||n.status===409||n.status===429||n.status>=500}async retryRequest(n,s,i,a){let c;const h=a==null?void 0:a.get("retry-after-ms");if(h){const b=parseFloat(h);Number.isNaN(b)||(c=b)}const g=a==null?void 0:a.get("retry-after");if(g&&!c){const b=parseFloat(g);Number.isNaN(b)?c=Date.parse(g)-Date.now():c=b*1e3}if(!(c&&0<=c&&c<60*1e3)){const b=n.maxRetries??this.maxRetries;c=this.calculateDefaultRetryTimeoutMillis(s,b)}return await Kf(c),this.makeRequest(n,s-1,i)}calculateDefaultRetryTimeoutMillis(n,s){const c=s-n,h=Math.min(.5*Math.pow(2,c),8),g=1-Math.random()*.25;return h*g*1e3}buildRequest(n,{retryCount:s=0}={}){const i={...n},{method:a,path:c,query:h}=i,g=this.buildURL(c,h);"timeout"in i&&oB("timeout",i.timeout),i.timeout=i.timeout??this.timeout;const{bodyHeaders:b,body:$}=this.buildBody({options:i}),y=this.buildHeaders({options:n,method:a,bodyHeaders:b,retryCount:s});return{req:{method:a,headers:y,...i.signal&&{signal:i.signal},...globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream&&{duplex:"half"},...$&&{body:$},...this.fetchOptions??{},...i.fetchOptions??{}},url:g,timeout:i.timeout}}buildHeaders({options:n,method:s,bodyHeaders:i,retryCount:a}){let c={};this.idempotencyHeader&&s!=="get"&&(n.idempotencyKey||(n.idempotencyKey=this.defaultIdempotencyKey()),c[this.idempotencyHeader]=n.idempotencyKey);const h=_t([c,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(a),...n.timeout?{"X-Stainless-Timeout":String(Math.trunc(n.timeout/1e3))}:{},...pB(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},this.authHeaders(n),this._options.defaultHeaders,i,n.headers]);return this.validateHeaders(h),h.values}buildBody({options:{body:n,headers:s}}){if(!n)return{bodyHeaders:void 0,body:void 0};const i=_t([s]);return ArrayBuffer.isView(n)||n instanceof ArrayBuffer||n instanceof DataView||typeof n=="string"&&i.values.has("content-type")||n instanceof Blob||n instanceof FormData||n instanceof URLSearchParams||globalThis.ReadableStream&&n instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:n}:typeof n=="object"&&(Symbol.asyncIterator in n||Symbol.iterator in n&&"next"in n&&typeof n.next=="function")?{bodyHeaders:void 0,body:nE(n)}:$e(this,H$,"f").call(this,{body:n,headers:i})}}sC=hn,H$=new WeakMap;hn.OpenAI=sC;hn.DEFAULT_TIMEOUT=6e5;hn.OpenAIError=Dt;hn.APIError=Vs;hn.APIConnectionError=Jv;hn.APIConnectionTimeoutError=Bw;hn.APIUserAbortError=xi;hn.NotFoundError=Jk;hn.ConflictError=qk;hn.RateLimitError=Xk;hn.BadRequestError=Vk;hn.AuthenticationError=Gk;hn.InternalServerError=Zk;hn.PermissionDeniedError=Kk;hn.UnprocessableEntityError=Yk;hn.toFile=FB;hn.Completions=HE;hn.Chat=Hw;hn.Embeddings=GE;hn.Files=JE;hn.Images=eI;hn.Audio=qf;hn.Moderations=nI;hn.Models=tI;hn.FineTuning=Mh;hn.Graders=Qw;hn.VectorStores=ey;hn.Beta=Yf;hn.Batches=PE;hn.Uploads=nC;hn.Responses=tC;hn.Evals=qw;hn.Containers=Kw;const hP=px(()=>import("./docs-BrInh2Pn.js"),[],import.meta.url);let x$=null;async function pP(o){if(x$)return x$;const n=await o.getObjectViewSystem("state","","香"),s=await o.getObjectViewSystem("channel","","香"),i=await o.getObjectViewSystem("device","","香"),a=await o.getObjectViewSystem("folder","","香"),c=await o.getObjectViewSystem("enum","","香");return x$=Object.assign(n,s,i,a,c),x$}function yh(o,n){return o&&typeof o=="object"?o[n]||o.en:o||""}async function gP(o){var E,k,A,P;const n=I.I18n.getLanguage(),s=await pP(o),i=Object.keys(s).sort(),a=new ex,c=[],h=["UNREACH_STICKY"],g=[tx.Types.info],b=[],$=[],y=[],w=[];i.forEach(N=>{var B,S,H;((B=s[N])==null?void 0:B.type)==="enum"?b.push(N):(H=(S=s[N])==null?void 0:S.common)!=null&&H.smartName&&w.push(N)}),b.forEach(N=>{N.startsWith("enum.rooms.")?$.push(N):N.startsWith("enum.functions.")&&y.push(N);const B=s[N].common.members;B!=null&&B.length&&B.forEach(S=>{s[S]&&(w.includes(S)||w.push(S))})});const T={id:"",objects:s,_keysOptional:i,_usedIdsOptional:c,ignoreIndicators:h,excludedTypes:g},C=[];w.forEach(N=>{T.id=N;const B=a.detect(T);B&&B.forEach(S=>{var W;const H=(W=S.states.find(te=>te.id))==null?void 0:W.id;if(!H||C.find(te=>te.id===H))return;const q=s[H],se={id:H,name:yh(q.common.name,n),type:q.type,deviceType:S.type,states:S.states.filter(te=>te.id).map(te=>({id:te.id,name:te.name,role:te.defaultRole,type:s[te.id].common.type,unit:s[te.id].common.unit,read:s[te.id].common.read===void 0?!0:s[te.id].common.read,write:s[te.id].common.write===void 0?!0:s[te.id].common.write}))},ee=H.split(".");let K,Y;(q.type==="channel"||q.type==="state")&&(ee.pop(),K=ee.join("."),s[K]&&(s[K].type==="channel"||s[K].type==="folder")?(ee.pop(),Y=ee.join("."),(!s[Y]||s[Y].type!=="device"&&s[K].type!=="folder")&&(Y=void 0)):K=void 0);const X=$.find(te=>{var ke,Z,ze;return(ke=s[te].common.members)!=null&&ke.includes(H)||K&&((Z=s[te].common.members)!=null&&Z.includes(K))?!0:Y&&((ze=s[te].common.members)==null?void 0:ze.includes(Y))});X&&(se.room=yh(s[X].common.name,n));const ce=y.find(te=>{var ke,Z,ze;return(ke=s[te].common.members)!=null&&ke.includes(H)||K&&((Z=s[te].common.members)!=null&&Z.includes(K))?!0:Y&&((ze=s[te].common.members)==null?void 0:ze.includes(Y))});ce&&(se.function=yh(s[ce].common.name,n)),C.push(se)})});for(let N=0;N(await hP).default,mP={ru:"Russian",en:"English",de:"German",es:"Spanish",fr:"French",it:"Italian",pl:"Polish",nl:"Dutch",pt:"Portuguese",uk:"Ukrainian","zh-cn":"Chinese"};function bP(){return f.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 2406 2406",children:[f.jsx("path",{d:"M1 578.4C1 259.5 259.5 1 578.4 1h1249.1c319 0 577.5 258.5 577.5 577.4V2406H578.4C259.5 2406 1 2147.5 1 1828.6V578.4z",fill:"#74aa9c"}),f.jsx("path",{d:"M1107.3 299.1c-198 0-373.9 127.3-435.2 315.3C544.8 640.6 434.9 720.2 370.5 833c-99.3 171.4-76.6 386.9 56.4 533.8-41.1 123.1-27 257.7 38.6 369.2 98.7 172 297.3 260.2 491.6 219.2 86.1 97 209.8 152.3 339.6 151.8 198 0 373.9-127.3 435.3-315.3 127.5-26.3 237.2-105.9 301-218.5 99.9-171.4 77.2-386.9-55.8-533.9v-.6c41.1-123.1 27-257.8-38.6-369.8-98.7-171.4-297.3-259.6-491-218.6-86.6-96.8-210.5-151.8-340.3-151.2zm0 117.5-.6.6c79.7 0 156.3 27.5 217.6 78.4-2.5 1.2-7.4 4.3-11 6.1L952.8 709.3c-18.4 10.4-29.4 30-29.4 51.4V1248l-155.1-89.4V755.8c-.1-187.1 151.6-338.9 339-339.2zm434.2 141.9c121.6-.2 234 64.5 294.7 169.8 39.2 68.6 53.9 148.8 40.4 226.5-2.5-1.8-7.3-4.3-10.4-6.1l-360.4-208.2c-18.4-10.4-41-10.4-59.4 0L1024 984.2V805.4L1372.7 604c51.3-29.7 109.5-45.4 168.8-45.5zM650 743.5v427.9c0 21.4 11 40.4 29.4 51.4l421.7 243-155.7 90L597.2 1355c-162-93.8-217.4-300.9-123.8-462.8C513.1 823.6 575.5 771 650 743.5zm807.9 106 348.8 200.8c162.5 93.7 217.6 300.6 123.8 462.8l.6.6c-39.8 68.6-102.4 121.2-176.5 148.2v-428c0-21.4-11-41-29.4-51.4l-422.3-243.7 155-89.3zM1201.7 997l177.8 102.8v205.1l-177.8 102.8-177.8-102.8v-205.1L1201.7 997zm279.5 161.6 155.1 89.4v402.2c0 187.3-152 339.2-339 339.2v-.6c-79.1 0-156.3-27.6-217-78.4 2.5-1.2 8-4.3 11-6.1l360.4-207.5c18.4-10.4 30-30 29.4-51.4l.1-486.8zM1380 1421.9v178.8l-348.8 200.8c-162.5 93.1-369.6 38-463.4-123.7h.6c-39.8-68-54-148.8-40.5-226.5 2.5 1.8 7.4 4.3 10.4 6.1l360.4 208.2c18.4 10.4 41 10.4 59.4 0l421.9-243.7z",fill:"white"})]})}const A0={toolbarButtons:{padding:4,marginLeft:4},fullHeightDialog:{height:"calc(100% - 100px)"}},$P=o=>{const[n,s]=ve.useState(window.localStorage.getItem("openai-question")||""),[i,a]=ve.useState(""),[c,h]=ve.useState(!1),[g,b]=ve.useState(!1),[$,y]=ve.useState(!1),[w,T]=ve.useState(window.localStorage.getItem("openai-model")||"gpt-4o"),[C,E]=ve.useState(!1),k=ve.useRef(null),A=ve.useRef(null),P=ve.useRef(null),N=ve.useCallback(async()=>{var q;let B;k.current?B=k.current:(B=await gP(o.socket),k.current=B,console.log(`devices: ${JSON.stringify(B,null,2)}`));let S;if(A.current)S=A.current;else{const se=Object.keys(o.runningInstances);for(let ee=0;eeW.trim());for(;ce[0]==="";)ce.shift();X=`${ce.map(W=>`// ${W}`).join(` -`)} -${X}`}console.log(K),a(X||"")}catch(se){console.log(JSON.stringify(se)),se.error&&y(se.error.message),console.error(`Cannot request: ${se}, ${JSON.stringify(se.error||se,null,2)}`)}b(!1)},[n,w,o.runningInstances,o.socket]);return f.jsxs(f.Fragment,{children:[f.jsx(D.IconButton,{"aria-label":"AI",title:I.I18n.t("AI code generator"),style:A0.toolbarButtons,size:"medium",onClick:()=>h(!0),children:f.jsx(bP,{})},"ai"),C&&f.jsxs(D.Dialog,{maxWidth:"lg",open:!0,onClose:()=>E(!1),fullWidth:!0,children:[f.jsx(D.DialogTitle,{children:I.I18n.t("No Chat GPT Key found")}),f.jsxs(D.DialogContent,{style:{display:"flex",flexDirection:"column",gap:8},children:[f.jsx("div",{children:I.I18n.t("You have to enter OpenAI API key in the configuration of javascript adapter.")}),f.jsx(D.Button,{variant:"contained",onClick:()=>{const B=Object.keys(o.runningInstances);window.open(`../../#tab-instances/config/${B[0]||"system.adapter.javascript.0"}`,"_blank"),E(!1)},children:I.I18n.t("Open configuration")})]}),f.jsx(D.DialogActions,{children:f.jsx(D.Button,{variant:"contained",startIcon:f.jsx(f_,{}),onClick:()=>E(!1),children:I.I18n.t("Close")})})]}),c&&f.jsxs(D.Dialog,{maxWidth:"lg",sx:{"& .MuiDialog-paper":A0.fullHeightDialog},open:!0,onClose:()=>h(!1),fullWidth:!0,children:[f.jsx(D.DialogTitle,{children:I.I18n.t("AI code generator")}),f.jsxs(D.DialogContent,{style:{display:"flex",flexDirection:"column",gap:8,height:"100%"},children:[f.jsx("div",{children:f.jsx(D.TextField,{variant:"standard",multiline:!0,autoFocus:!0,disabled:g,fullWidth:!0,onKeyUp:B=>{B.key==="Enter"&&B.ctrlKey&&N()},label:I.I18n.t("Enter your question"),helperText:I.I18n.t("Press Ctrl+Enter to get the answer"),value:n,onChange:B=>{window.localStorage.setItem("openai-question",B.target.value),s(B.target.value)}})}),f.jsxs("div",{style:{display:"flex",alignItems:"baseline"},children:[f.jsx(D.Button,{variant:"contained",disabled:g||!n,startIcon:f.jsx(YA,{}),onClick:async()=>N(),children:g?f.jsx(D.CircularProgress,{size:24}):I.I18n.t("Ask")}),f.jsxs(D.FormControl,{style:{width:150,marginLeft:20},variant:"standard",children:[f.jsx(D.InputLabel,{children:I.I18n.t("Model")}),f.jsxs(D.Select,{variant:"standard",value:w,onChange:B=>{window.localStorage.setItem("openai-model",B.target.value),$&&y(!1),T(B.target.value)},children:[f.jsx(D.MenuItem,{value:"gpt-4o",children:"GPT-4o"}),f.jsx(D.MenuItem,{value:"gpt-4-turbo",children:"GPT-4 Turbo"}),f.jsx(D.MenuItem,{value:"gpt-4-32k",children:"GPT-4 32k"}),f.jsx(D.MenuItem,{value:"gpt-4",children:"GPT-4"}),f.jsx(D.MenuItem,{value:"gpt-3.5-turbo-16k",children:"GPT-3.5 Turbo"})]})]})]}),f.jsx("div",{children:I.I18n.t("Result")}),f.jsx("div",{style:{height:"calc(100% - 155px)"},children:$?f.jsx("div",{style:{color:o.themeType==="dark"?"#984242":"#bb0000"},children:$}):f.jsx(Gv,{triggerPrettier:1,adapterName:o.adapterName,runningInstances:o.runningInstances,style:{height:"100%",width:"100%",resize:"none"},name:"ai",socket:o.socket,readOnly:!0,checkJs:!0,code:i,isDark:o.themeType==="dark",language:o.language||"javascript"})})]}),f.jsxs(D.DialogActions,{children:[f.jsx(D.Button,{color:"grey",variant:"outlined",disabled:!i,startIcon:f.jsx(ST,{}),onClick:()=>{I.Utils.copyToClipboard(i),window.alert(I.I18n.t("Copied"))},children:I.I18n.t("Copy to clipboard")}),f.jsx(D.Button,{color:"primary",variant:"contained",disabled:!i||$,startIcon:f.jsx(Va,{}),onClick:()=>{o.onAddCode(i),h(!1)},children:I.I18n.t("Use generated code")}),f.jsx(D.Button,{color:"grey",variant:"contained",startIcon:f.jsx(f_,{}),onClick:()=>h(!1),children:I.I18n.t("Close")})]})]})]})},O0={Blockly:_T,"Javascript/js":q$,Rules:CT,def:q$,"TypeScript/ts":wT},vP=48,R0="#02a102",d_="#70aae9",yP=L0[400],_P=B0[400],Et={toolbar:o=>({minHeight:38,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)",backgroundColor:o.palette.mode==="dark"?"#1e1e1e":"#E2E2E2"}),toolbarButtons:{padding:4,marginLeft:4},toolbarButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},editorDiv:o=>({height:`calc(100% - ${(parseInt(o.toolbar.height,10)||48)+38+10}px)`,width:"100%",overflow:"hidden",position:"relative"}),textButton:{marginRight:10,minHeight:24,padding:"6px 16px"},saveButton:{background:"#ff9900"},tabIcon:{width:24,height:24,verticalAlign:"middle",marginBottom:2,marginRight:2,borderRadius:3},hintIcon:{padding:"0 8px 0 8px"},hintButton:{marginTop:8,marginLeft:20},tabMenuButton:{position:"absolute",top:0,right:0},tabChanged:o=>({color:o.palette.secondary.main}),tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},tabChangedIcon:{color:"#FF0000",fontSize:16,marginLeft:5},closeButton:{marginLeft:5},notRunning:{color:"#ffbc00",marginRight:8,marginLeft:8},tabButton:{minHeight:48},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5}};class kh extends We.Component{getSelect=null;cron={initValue:null,callback:null};scriptDialog={initValue:null,callback:null,args:null,isReturn:!1};objects;scripts;selectId={initValue:null,callback:null};confirmCallback=null;constructor(n){super(n);const s=window.localStorage.getItem("Editor.selected")||"",i=window.localStorage.getItem("Editor.editing")||"[]";let a;try{a=JSON.parse(i)}catch{a=[]}s&&!a.includes(s)&&a.push(s),this.state={askAboutDebug:!1,astroEvents:null,blockly:null,changed:{},cmdToBlockly:"",cmdToRules:"",confirm:"",debugEnabled:!1,editing:a,insert:"",instancesLoaded:!1,isTourOpen:window.localStorage.getItem("tour")!=="true",menuDebugAnchorEl:null,menuOpened:!!this.props.menuOpened,menuTabsOpened:!1,triggerPrettier:1,rules:null,runningInstances:this.props.runningInstances||{},searchText:"",selected:s,showAdapterDebug:!1,showAstro:!1,showCompiledCode:!1,showCron:!1,showDebugMenu:!1,showScript:!1,showSelectId:!1,themeType:this.props.themeType,toast:"",tourStep:Ss.selectTriggers,verboseEnabled:!1,visible:n.visible},this.setChangedInAdmin(),window.systemLang=I.I18n.getLanguage(),window.main={objects:{},getObject:(c,h)=>this.props.socket.getObject(c).then(g=>h&&h(null,g)).catch(g=>h&&h(g)),instances:[],selectIdDialog:(c,h,g)=>{typeof h=="function"&&(g=h,h=null),this.selectId.callback=g,this.selectId.initValue=c,this.selectId.type=h,this.setState({showSelectId:!0})},cronDialog:(c,h)=>{this.cron.callback=h,this.cron.initValue=c,this.setState({showCron:!0})},showScriptDialog:(c,h,g,b)=>{this.scriptDialog.callback=b,this.scriptDialog.initValue=c,this.scriptDialog.args=h,this.scriptDialog.isReturn=g||!1,this.setState({showScript:!0})}},this.objects=n.objects,this.scripts={},!this.state.selected&&this.state.editing.length&&Object.assign(this.state,{selected:this.state.editing[0]}),this.getAllAdapterInstances().then(()=>{this.props.onSelectedChange&&this.state.selected&&setTimeout(()=>this.props.onSelectedChange(this.state.selected,this.state.editing),100)})}getAllAdapterInstances(){return this.props.socket.getAdapterInstances(!0).then(n=>{const s={},i=n.map(a=>(s[a._id]=a,a._id));window.main.objects=s,window.main.instances=i,this.setState({instancesLoaded:!0})})}static onInstanceChanged(n,s){if(n)if(!s&&window.main.instances.includes(n)){delete window.main.objects[n];const i=window.main.instances.indexOf(n);window.main.instances.splice(i,1)}else s&&s.type==="instance"&&(window.main.instances.includes(n)||(window.main.instances.push(n),window.main.instances.sort()),window.main.objects[n]=s)}setChangedInAdmin(){const n=Object.keys(this.state.changed).find(s=>this.state.changed[s]);typeof window.parent<"u"&&window.parent&&(window.parent.configNotSaved=!!n)}componentDidMount(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",kh.onInstanceChanged)}componentWillUnmount(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",kh.onInstanceChanged)}onBrowserClose=n=>{const s=Object.keys(this.scripts).find(i=>JSON.stringify(this.scripts[i])!==JSON.stringify(this.props.objects[i].common));if(s){console.log(`Script ${JSON.stringify(this.scripts[s])}`);const i=I.I18n.t("Configuration not saved.");return n=n||window.event,n&&(n.returnValue=i),i}};removeNonExistingScripts(n,s){n=n||this.props,s=s||{};let i=!1;if(this.state.editing&&this.state.editing.find(c=>n&&!n.objects[c])){const c=JSON.parse(JSON.stringify(this.state.editing));for(let h=c.length-1;h>=0;h--)this.objects[c[h]]||(i=!0,c.splice(h,1));i&&(s.editing=c),this.state.selected&&!this.objects[this.state.selected]&&(i=!0,s.selected=c[0]||"",s.selected&&this.scripts[s.selected]&&(this.state.blockly!==(this.scripts[s.selected].engineType==="Blockly")&&(s.blockly=this.scripts[s.selected].engineType==="Blockly",i=!0),this.state.rules!==(this.scripts[s.selected].engineType==="Rules")&&(s.rules=this.scripts[s.selected].engineType==="Rules",i=!0),this.state.verboseEnabled!==this.scripts[s.selected].verbose&&(s.verboseEnabled=this.scripts[s.selected].verbose,i=!0),this.state.debugEnabled!==this.scripts[s.selected].debug&&(s.debugEnabled=this.scripts[s.selected].debug,i=!0)))}return i}UNSAFE_componentWillReceiveProps(n){var a,c;const s={};let i=!1;if(JSON.stringify(n.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(i=!0,s.runningInstances=n.runningInstances),this.state.menuOpened!==n.menuOpened&&(s.menuOpened=n.menuOpened,i=!0),this.state.themeType!==n.themeType&&(s.themeType=n.themeType,i=!0),this.removeNonExistingScripts(n,s)&&(i=!0),this.state.searchText!==n.searchText&&(s.searchText=n.searchText,i=!0),this.objects!==n.objects){this.objects=n.objects,window.main.objects=n.objects,Object.keys(this.scripts).forEach(g=>{const b=this.scripts[g].source;this.scripts[g]=JSON.parse(JSON.stringify(this.objects[g].common)),this.scripts[g].source=b}),this.state.selected&&this.objects[this.state.selected]&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.objects[this.state.selected].common)),this.state.blockly!==(this.scripts[this.state.selected].engineType==="Blockly")&&(s.blockly=this.scripts[this.state.selected].engineType==="Blockly",i=!0),this.state.rules!==(this.scripts[this.state.selected].engineType==="Rules")&&(s.rules=this.scripts[this.state.selected].engineType==="Rules",i=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(s.verboseEnabled=this.scripts[this.state.selected].verbose,i=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(s.debugEnabled=this.scripts[this.state.selected].debug,i=!0));const h=JSON.parse(JSON.stringify(this.state.editing));for(let g=h.length-1;g>=0;g--)this.objects[h[g]]||(i=!0,h.splice(g,1),this.state.changed[h[g]]!==void 0&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed&&delete s.changed[h[g]]));this.state.selected&&!this.objects[this.state.selected]&&(s.selected=h[0]||""),i&&(s.editing=h)}else for(const h in this.scripts)if(Object.prototype.hasOwnProperty.call(this.scripts,h)){if((a=this.objects[h])!=null&&a.common){if(this.objects[h].type==="script"){const g=this.scripts[h].source,b=JSON.parse(JSON.stringify(this.scripts[h]));b.source=this.objects[h].common.source,JSON.stringify(b)!==JSON.stringify(this.objects[h].common)&&(this.scripts[h]=JSON.parse(JSON.stringify(this.objects[h].common)),this.scripts[h].source=g),g!==this.objects[h].common.source?this.state.changed[h]?(c=this.objects[h].from)!=null&&c.startsWith("system.adapter.javascript.")&&(this.objects[h].from="system.adapter.admin.0",this.setState({toast:I.I18n.t("Script %s was modified on disk.",h.split(".").pop())})):this.scripts[h].source=this.objects[h].common.source:this.state.changed[h]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed&&(s.changed[h]=!1),i=!0)}}else if(this.scripts[h]&&(delete this.scripts[h],this.state.selected===h)){if(this.state.editing.indexOf(h)!==-1){const g=JSON.parse(JSON.stringify(this.state.editing)),b=g.indexOf(h);b!==-1&&(g.splice(b,1),s.editing=g,i=!0)}s.selected=this.state.editing[0]||"",i=!0}}if(this.state.selected!==n.selected&&n.selected){n.selected&&(this.scripts[n.selected]=this.scripts[n.selected]||JSON.parse(JSON.stringify(this.props.objects[n.selected].common)));const h=this.props.objects[n.selected]&&this.props.objects[n.selected].common,g=h&&JSON.stringify(this.scripts[n.selected])!==JSON.stringify(h),b=JSON.parse(JSON.stringify(this.state.editing));n.selected&&b.indexOf(n.selected)===-1&&(b.push(n.selected),this.props.onSelectedChange(n.selected,b),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(b))),i=!0,s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed&&(s.changed[n.selected]=g),s.editing=b,s.selected=n.selected,s.blockly=this.scripts[n.selected].engineType==="Blockly",s.rules=this.scripts[n.selected].engineType==="Rules",s.verboseEnabled=this.scripts[n.selected].verbose,s.debugEnabled=this.scripts[n.selected].debug,s.showCompiledCode=!1}this.state.visible!==n.visible&&(i=!0,s.visible=n.visible),i&&this.setState(s,()=>this.setChangedInAdmin())}onRestart(){this.props.onRestart&&this.props.onRestart(this.state.selected)}onStartStop(){const n=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));n.enabled=!n.enabled,this.props.onChange&&this.props.onChange(this.state.selected,n)}onSave(){if(this.state.isTourOpen&&this.state.tourStep===Ss.saveTheScript&&(this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true")),this.state.changed[this.state.selected]){const n=JSON.parse(JSON.stringify(this.state.changed));n[this.state.selected]=!1,this.setState({changed:n},()=>{this.setChangedInAdmin(),this.props.onChange&&this.props.onChange(this.state.selected,this.scripts[this.state.selected])})}}onSaveAll(){const n=JSON.parse(JSON.stringify(this.state.changed));Object.keys(n).forEach(s=>{n[s]&&(n[s]=!1,this.props.onChange&&this.props.onChange(s,this.scripts[s]))}),this.setState({changed:n},()=>this.setChangedInAdmin())}onCancel(){this.scripts[this.state.selected]=JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));const n=JSON.parse(JSON.stringify(this.state.changed));n[this.state.selected]=!1,this.setState({changed:n},()=>this.setChangedInAdmin())}onRegisterSelect(n){this.getSelect=n}onConvertBlockly2JS(){this.showConfirmDialog(I.I18n.t("It will not be possible to revert this operation."),n=>{if(n){this.scripts[this.state.selected].engineType="Javascript/js";const i=this.scripts[this.state.selected].source.split(` -`);i.pop(),this.scripts[this.state.selected].source=i.join(` -`);const a=this.state.selected,c=JSON.parse(JSON.stringify(this.state.changed));c[this.state.selected]=!0,this.setState({changed:c,blockly:!1,selected:""},()=>{this.setChangedInAdmin(),setTimeout(()=>this.setState({selected:a}),100)})}})}onChange(n){n=n||{},n&&(n.script!==void 0&&(this.scripts[this.state.selected].source=n.script),n.debug!==void 0&&(this.scripts[this.state.selected].debug=n.debug),n.verbose!==void 0&&(this.scripts[this.state.selected].verbose=n.verbose));const s=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.props.objects[this.state.selected].common);if(s!==(this.state.changed[this.state.selected]||!1)){const i=JSON.parse(JSON.stringify(this.state.changed));i[this.state.selected]=s,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:i},()=>this.setChangedInAdmin())}}onTabChange(n){if(this.props.debugMode)return;window.localStorage&&window.localStorage.setItem("Editor.selected",n);const s=this.scripts[n]||this.props.objects[n]&&this.props.objects[n].common;this.setState({selected:n,rules:s.engineType==="Rules",blockly:s.engineType==="Blockly",showCompiledCode:!1,verboseEnabled:s.verbose,debugEnabled:s.debug}),this.props.onSelectedChange&&this.props.onSelectedChange(n,this.state.editing)}isScriptChanged(n){return!!(this.scripts[n]&&this.props.objects[n]&&JSON.stringify(this.scripts[n])!==JSON.stringify(this.props.objects[n].common))}onTabClose(n,s){s==null||s.stopPropagation();const i=this.state.editing.indexOf(n);if(this.state.editing.includes(n))if(this.isScriptChanged(n))this.showConfirmDialog(I.I18n.t("Discard changes for %s",this.props.objects[n].common.name),a=>{a&&(delete this.scripts[n],this.onTabClose(n))});else{const a=JSON.parse(JSON.stringify(this.state.editing));a.splice(i,1);const c={editing:a};if(n===this.state.selected?a.length?i===0||a.length===1?c.selected=a[0]:c.selected=a[i-1]:c.selected="":this.state.selected&&!a.length&&(c.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(a)),c.selected!==void 0){c.changed=c.changed||JSON.parse(JSON.stringify(this.state.changed))||{},c.changed&&(c.changed[c.selected]=this.isScriptChanged(c.selected));const h=c.selected&&(this.scripts[c.selected]||this.props.objects[c.selected]&&this.props.objects[c.selected].common);c.blockly=h?h.engineType==="Blockly":!1,c.rules=h?h.engineType==="Rules":!1,c.verboseEnabled=h?h.verbose:!1,c.debugEnabled=h?h.debug:!1,c.showCompiledCode=!1}this.setState(c,()=>{this.setChangedInAdmin(),c.selected!==void 0?(this.props.onSelectedChange&&this.props.onSelectedChange(c.selected,this.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",c.selected)):this.props.onSelectedChange&&this.props.onSelectedChange(this.state.selected,this.state.editing)})}}showConfirmDialog(n,s){this.confirmCallback=s,this.setState({confirm:n})}sendCommandToBlockly(n){this.setState({cmdToBlockly:n},()=>setTimeout(()=>this.setState({cmdToBlockly:""}),200))}sendCommandToRules(n){this.setState({cmdToRules:n},()=>setTimeout(()=>this.setState({cmdToRules:""}),200))}static getText(n){return typeof n=="object"?n[I.I18n.getLanguage()]||n.en:n}getScriptFullName(n){const s=n.split(".");s.shift(),s.shift();const i=[];let a="script.js";for(let c=0;cthis.onTabChange(s),indicatorColor:"primary",style:{position:"relative",marginLeft:10,width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto",allowScrollButtonsMobile:!0,children:[this.state.editing.map(n=>{if(!this.props.objects[n]){const h=[f.jsx(D.Box,{sx:this.isScriptChanged(n)?Et.tabChanged:void 0,style:Et.tabText,children:n.split(".").pop()},"text"),f.jsx(D.IconButton,{onClick:g=>this.onTabClose(n,g),style:Et.closeButton,size:"small",component:"span",children:f.jsx(Xl,{})},"icon")];return f.jsx(D.Tab,{wrapped:!0,href:`#${n}`,label:h,value:n,sx:{"& .MuiTab-wrapper":Et.tabButtonWrapper}},n)}let s=kh.getText(this.props.objects[n].common.name)||"";const i=this.getScriptFullName(n);s.length>18&&(s=`${s.substring(0,15)}...`);const a=this.scripts[n]&&this.props.objects[n].common&&this.props.objects[n].common.source!==this.scripts[n].source,c=[f.jsx(D.Box,{sx:this.isScriptChanged(n)?Et.tabChanged:void 0,style:Et.tabText,children:s},"text"),a?f.jsx("span",{style:Et.tabChangedIcon,children:"▣"},"changedSign"):null,!this.props.debugInstance&&(!this.props.debugMode||this.state.selected!==n)&&f.jsx(D.IconButton,{onClick:h=>this.onTabClose(n,h),style:Et.closeButton,size:"small",component:"span",children:f.jsx(Xl,{})},"icon")];return f.jsx(D.Tab,{disabled:!!this.props.debugInstance||this.state.selected!==n&&this.props.debugMode,wrapped:!0,iconPosition:"start",icon:f.jsx("img",{alt:"",src:O0[this.props.objects[n].common.engineType]||O0.def,style:Et.tabIcon},"icon"),href:`#${n}`,label:c,style:Et.tabButton,value:n,title:i,sx:{"& .MuiTab-wrapper":Et.tabButtonWrapper}},n)}),this.props.debugInstance?f.jsx(D.Tab,{disabled:!1,wrapped:!0,href:`#${this.props.debugInstance.adapter}`,label:this.props.debugInstance.adapter,style:Et.tabButton,value:this.props.debugInstance.adapter,title:this.props.debugInstance.adapter,sx:{"& .MuiTab-wrapper":Et.tabButtonWrapper}},this.props.debugInstance.adapter):""]},"tabs1"),this.state.editing.length>1?f.jsx(D.IconButton,{href:"#","aria-label":"Close all but current",style:Et.tabMenuButton,title:I.I18n.t("Close all but current"),"aria-haspopup":"false",onClick:n=>{const s=[this.state.selected];Object.keys(this.scripts).forEach(i=>i!==this.state.selected&&JSON.stringify(this.scripts[i])!==JSON.stringify(this.props.objects[i].common)&&s.push(i)),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(s)),this.setState({menuTabsOpened:!1,editing:s})},size:"medium",children:f.jsx(nx,{})},"menuButton"):null]:f.jsx(D.Box,{sx:Et.toolbar,children:f.jsxs(D.Button,{color:"grey",disabled:!0,style:Et.hintButton,href:"",children:[f.jsx("span",{children:I.I18n.t("Click on this icon")},"select2"),f.jsx(j0,{style:Et.hintIcon},"select3"),f.jsx("span",{children:I.I18n.t("for edit or create script")},"select4")]},"select1")},"tabs2")}getDebugMenu(){return this.state.showDebugMenu?f.jsxs(D.Menu,{id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:()=>this.setState({showDebugMenu:!1,menuDebugAnchorEl:null}),slotProps:{root:{style:{maxHeight:vP*7.5}}},children:[f.jsxs(D.MenuItem,{title:I.I18n.t("debug_help"),onClick:n=>{n.stopPropagation(),n.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!this.state.debugEnabled},()=>this.onChange({debug:this.state.debugEnabled}))},children:[f.jsx(D.Checkbox,{checked:this.state.debugEnabled}),f.jsx(uf,{style:{...Et.menuIcon,color:R0}}),I.I18n.t("debug_label")]},"debugEnabled"),f.jsxs(D.MenuItem,{title:I.I18n.t("verbose_help"),onClick:n=>{n.stopPropagation(),n.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!this.state.verboseEnabled},()=>this.onChange({verbose:this.state.verboseEnabled}))},children:[f.jsx(D.Checkbox,{checked:this.state.verboseEnabled}),f.jsx(HC,{style:{...Et.menuIcon,color:d_}}),I.I18n.t("verbose_label")]},"verboseEnabled")]},"menuDebug"):null}getDebugBadge(){return[this.state.debugEnabled&&this.state.verboseEnabled?f.jsx(uf,{style:{...Et.menuIcon,color:d_}},"DebugVerbose"):null,this.state.debugEnabled&&!this.state.verboseEnabled?f.jsx(uf,{style:{...Et.menuIcon,color:R0}},"DebugNoVerbose"):null,!this.state.debugEnabled&&this.state.verboseEnabled?f.jsx(HC,{style:{...Et.menuIcon,color:d_}},"noDebugVerbose"):null]}getAskAboutDebug(){return this.state.askAboutDebug?f.jsx(I.DialogConfirm,{onClose:()=>{this.setState({askAboutDebug:!1},()=>this.props.onDebugModeChange(!0))},ok:I.I18n.t("Yes"),cancel:I.I18n.t("Cancel"),text:I.I18n.t("The script will be stopped and must be activated manually after debugging. Continue?")}):null}getToolbar(){const n=!!(this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine]),s=!!(this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled);if(this.state.selected){const i=Object.keys(this.state.changed).filter(c=>this.state.changed[c]).length,a=this.state.changed[this.state.selected];return f.jsxs(D.Toolbar,{variant:"dense",sx:Et.toolbar,children:[!this.props.debugInstance&&this.state.menuOpened&&this.props.onLocate&&f.jsx(D.IconButton,{style:Et.toolbarButtons,title:I.I18n.t("Locate file"),onClick:()=>this.props.onLocate(this.state.selected),size:"medium",children:f.jsx(sx,{})},"locate"),!this.props.debugInstance&&!a&&n?f.jsx(D.IconButton,{disabled:this.props.debugMode,style:Et.toolbarButtons,onClick:()=>this.onRestart(),title:I.I18n.t("Restart"),size:"medium",children:f.jsx(H0,{})},"restart"):null,!this.props.debugInstance&&!a?f.jsx(D.IconButton,{disabled:this.props.debugMode,onClick:()=>this.onStartStop(),title:s?I.I18n.t("Pause script"):I.I18n.t("Run script"),size:"medium",style:{...Et.toolbarButtons,color:s?yP:_P},children:s?f.jsx(vf,{}):f.jsx(V$,{})},"start-stop"):null,!this.props.debugInstance&&!a&&!s?f.jsx("span",{style:Et.notRunning,children:I.I18n.t("Script is not running")}):null,!a&&s&&!n?f.jsx("span",{style:Et.notRunning,children:I.I18n.t("Instance is disabled")}):null,a?f.jsx(D.Button,{color:"grey",variant:"contained",style:{...Et.textButton,...Et.saveButton},className:"button-save",onClick:()=>this.onSave(),endIcon:f.jsx(VC,{}),children:I.I18n.t("Save")},"save"):null,i>1||i===1&&!a?f.jsx(D.Button,{color:"grey",variant:"contained",style:Et.textButton,onClick:()=>this.onSaveAll(),endIcon:f.jsx(VC,{}),children:I.I18n.t("Save all")},"saveall"):null,a?f.jsx(D.Button,{color:"grey",variant:"contained",style:Et.textButton,onClick:()=>this.onCancel(),endIcon:f.jsx(Iv,{}),children:I.I18n.t("Cancel")},"cancel"):null,f.jsx("div",{style:{flex:2}}),!this.props.debugInstance&&!this.state.showCompiledCode&&f.jsx(D.IconButton,{style:Et.toolbarButtons,title:I.I18n.t("Prettify the script"),onClick:()=>this.setState({triggerPrettier:this.state.triggerPrettier+1}),size:"medium",children:f.jsx(rx,{})},"prettier"),this.state.blockly&&!this.state.showCompiledCode?f.jsx(D.IconButton,{"aria-label":"Export Blocks",title:I.I18n.t("Export blocks"),style:Et.toolbarButtons,onClick:()=>this.sendCommandToBlockly("export"),size:"medium",children:f.jsx(G$,{})},"export"):null,this.state.blockly&&!this.state.showCompiledCode&&f.jsx(D.IconButton,{"aria-label":"Import Blocks",title:I.I18n.t("Import blocks"),style:Et.toolbarButtons,onClick:()=>this.sendCommandToBlockly("import"),size:"medium",children:f.jsx(m_,{})},"import"),this.state.blockly&&!this.state.showCompiledCode&&f.jsx(D.IconButton,{"aria-label":"Check code",title:I.I18n.t("Check blocks"),style:Et.toolbarButtons,onClick:()=>this.sendCommandToBlockly("check"),size:"medium",children:f.jsx(ix,{})},"check"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode?f.jsx(D.IconButton,{"aria-label":"create CRON",title:I.I18n.t("Create or edit CRON or time wizard"),style:Et.toolbarButtons,onClick:()=>this.setState({showCron:!0}),size:"medium",children:f.jsx(ox,{})},"select-cron"):null,this.scripts[this.state.selected]&&this.scripts[this.state.selected].engineType!=="Blockly"&&this.scripts[this.state.selected].engineType!=="Rules"?f.jsx($P,{adapterName:this.props.adapterName,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,language:this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript",onAddCode:c=>this.setState({insert:c})}):null,f.jsx(D.IconButton,{"aria-label":"Show astronomical events",title:I.I18n.t("Show astronomical events"),style:Et.toolbarButtons,disabled:!n,onClick:()=>{this.setState({showAstro:!0,astroEvents:null}),this.props.socket.sendTo(this.scripts[this.state.selected].engine.replace("system.adapter.",""),"calcAstroAll",{}).then(c=>this.setState({astroEvents:c}))},size:"medium",children:f.jsx(ax,{})},"show-astro"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&f.jsx(D.IconButton,{"aria-label":"select ID",title:I.I18n.t("Insert object ID"),style:Et.toolbarButtons,onClick:()=>this.setState({showSelectId:!0}),size:"medium",children:f.jsx(lx,{})},"select-id"),this.state.blockly&&!this.state.rules&&this.state.showCompiledCode&&f.jsx(D.Button,{color:"grey","aria-label":"convert to javascript",title:I.I18n.t("Convert blockly to javascript for ever."),onClick:()=>this.onConvertBlockly2JS(),children:"Blockly=>JS"},"convert2js"),this.state.rules&&!this.state.showCompiledCode&&f.jsx(D.IconButton,{"aria-label":"Export Blocks",title:I.I18n.t("Export blocks"),style:Et.toolbarButtons,onClick:()=>this.sendCommandToRules("export"),size:"medium",children:f.jsx(G$,{})},"export"),this.state.rules&&!this.state.showCompiledCode&&f.jsx(D.IconButton,{"aria-label":"Import Blocks",title:I.I18n.t("Import blocks"),style:Et.toolbarButtons,onClick:()=>this.sendCommandToRules("import"),size:"medium",children:f.jsx(m_,{})},"import"),this.props.expertMode&&!a&&(this.props.debugMode||!this.state.blockly&&!this.state.rules||(this.state.blockly||this.state.rules)&&this.state.showCompiledCode)&&f.jsx(D.IconButton,{style:Et.toolbarButtons,color:this.props.debugMode?"primary":"default",disabled:!this.props.debugMode&&!n,onClick:()=>{!this.props.debugMode&&s?this.setState({askAboutDebug:!0}):this.props.onDebugModeChange(!this.props.debugMode)},size:"medium",children:f.jsx(uf,{style:{fontSize:32}})}),(this.state.blockly||this.state.rules)&&f.jsx(D.Button,{"aria-label":"blockly",title:I.I18n.t("Show javascript code"),className:"button-js-code",color:this.state.showCompiledCode?"secondary":"inherit",disabled:this.props.debugMode,style:{...Et.toolbarButtons,...this.props.debugMode?Et.toolbarButtonsDisabled:void 0,padding:"0 5px"},onClick:()=>{this.props.debugMode||(this.setState({showCompiledCode:!this.state.showCompiledCode}),this.state.isTourOpen&&this.state.tourStep===Ss.showJavascript&&this.setState({tourStep:Ss.switchBackToRules}),this.state.isTourOpen&&this.state.tourStep===Ss.switchBackToRules&&this.setState({tourStep:Ss.saveTheScript}))},children:f.jsx("img",{alt:this.state.blockly?"blockly2js":"rules2js",src:this.state.blockly?hM:pM})},"blockly-code"),f.jsx(D.IconButton,{disabled:this.props.debugMode,"aria-label":"Debug menu",title:I.I18n.t("Debug options"),style:Et.toolbarButtons,onClick:c=>this.setState({showDebugMenu:!0,menuDebugAnchorEl:c.currentTarget}),size:"medium",children:f.jsx(D.Badge,{style:Et.badgeMargin,badgeContent:this.getDebugBadge(),children:f.jsx(cx,{})})},"debug")]},"toolbar1")}return null}getScriptEditor(){return!this.props.debugMode&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly!==null&&(!this.state.blockly||this.state.showCompiledCode)&&(!this.state.rules||this.state.showCompiledCode)?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),f.jsx(D.Box,{sx:Et.editorDiv,children:f.jsx(Gv,{name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:()=>this.setState({insert:""}),onForceSave:()=>this.onSave(),searchText:this.state.searchText,onRegisterSelect:n=>this.onRegisterSelect(n),readOnly:this.state.showCompiledCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:this.state.themeType==="dark",socket:this.props.socket,runningInstances:this.state.runningInstances,triggerPrettier:this.state.triggerPrettier,onChange:n=>this.onChange({script:n}),language:this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript"},"scriptEditor1")},"scriptEditorDiv")):null}getBlocklyEditor(){return!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showCompiledCode&&this.state.visible?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),f.jsx(D.Box,{sx:Et.editorDiv,children:f.jsx(dn,{command:this.state.cmdToBlockly,themeType:this.state.themeType,searchText:this.state.searchText,code:this.scripts[this.state.selected].source||"",scriptId:this.state.selected,onChange:n=>this.onChange({script:n})},"BlocklyEditor")},"blocklyEditorDiv")):null}getRulesEditor(){var n,s;if(!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.rules&&!this.state.showCompiledCode&&this.state.visible){this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));const i=!!this.state.selected&&!!((n=this.scripts[this.state.selected])!=null&&n.engine)&&this.state.runningInstances[this.scripts[this.state.selected].engine],a=!!this.state.selected&&((s=this.scripts[this.state.selected])==null?void 0:s.enabled);return f.jsx(D.Box,{sx:Et.editorDiv,children:f.jsx(VL,{scriptId:this.state.selected,setTourStep:this.setTourStep,tourStep:this.state.tourStep,isTourOpen:this.state.isTourOpen,changed:this.state.changed[this.state.selected],running:i&&a,command:this.state.cmdToRules,themeType:this.state.themeType,themeName:this.props.themeName,theme:this.props.theme,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:c=>this.onChange({script:c})},"flowEditor")},"flowEditorDiv")}return null}getConfirmDialog(){return this.state.confirm?f.jsx(I.DialogConfirm,{text:this.state.confirm,onClose:n=>{if(this.confirmCallback){const s=this.confirmCallback;this.confirmCallback=null,s(n)}this.setState({confirm:""})}},"dialogConfirm1"):null}getSelectIdDialog(){var n;if(this.state.showSelectId){const s=["state","channel","device","adapter","instance","enum","host","config","script","user","group"],i=["adapter","instance","enum","host","config","script","user","group"];let a=this.selectId.callback?this.selectId.initValue||"":this.getSelect&&this.getSelect()||"",c=a.indexOf("/*");c!==-1&&(a=a.substring(0,c)),c=a.indexOf("//"),c!==-1&&(a=a.substring(0,c));let h=a.match(/"([^"]+)"/);return h&&(a=h[1]),h=a.match(/'([^']+)'/),h&&(a=h[1]),f.jsx(I.DialogSelectID,{theme:this.props.theme,imagePrefix:"../..",themeName:this.props.themeName,themeType:this.state.themeType,socket:this.props.socket,selected:a,expertMode:this.selectId.type&&this.selectId.type!=="all"&&i.includes(this.selectId.type)?!0:void 0,types:((n=this.selectId)==null?void 0:n.type)==="all"?s:[this.selectId.type||"state"],onClose:()=>{this.setState({showSelectId:!1}),this.selectId.callback&&(this.selectId.callback=null)},onOk:(g,b)=>{this.selectId.initValue=null,this.selectId.callback?(this.selectId.callback(g),this.selectId.callback=null):this.setState({insert:`'${g}'/*${b}*/`})}},"dialogSelectID1")}return null}getCronDialog(){return this.state.showCron?f.jsx(I.DialogCron,{theme:this.props.theme,cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:()=>this.setState({showCron:!1}),onOk:n=>{this.cron.initValue=null,this.cron.callback?(this.cron.callback(n),this.cron.callback=null):this.setState({insert:`'${n}'`})}},"dialogCron1"):null}getAstroDialog(){return this.state.showAstro?f.jsxs(D.Dialog,{open:!0,onClose:()=>this.setState({showAstro:!1}),children:[f.jsx(D.DialogTitle,{children:I.I18n.t("Astronomical events today")}),f.jsx(D.DialogContent,{children:this.state.astroEvents?f.jsx(D.TableContainer,{component:D.Paper,children:f.jsxs(D.Table,{size:"small",children:[f.jsx(D.TableHead,{children:f.jsxs(D.TableRow,{children:[f.jsx(D.TableCell,{children:I.I18n.t("Name")}),f.jsx(D.TableCell,{children:I.I18n.t("Server time")}),f.jsx(D.TableCell,{children:I.I18n.t("Description")})]})}),f.jsx(D.TableBody,{children:Object.keys(this.state.astroEvents).map(n=>{var s,i,a,c;return f.jsxs(D.TableRow,{children:[f.jsx(D.TableCell,{component:"th",scope:"row",children:n.startsWith("next")?"":n}),f.jsx(D.Tooltip,{title:`${I.I18n.t("Local time")}: ${(s=this.state.astroEvents)!=null&&s[n].isValidDate?new Date((i=this.state.astroEvents)==null?void 0:i[n].date).toLocaleTimeString():"n/a"}`,children:f.jsx(D.TableCell,{align:"right",children:(a=this.state.astroEvents)!=null&&a[n].isValidDate?(c=this.state.astroEvents)==null?void 0:c[n].serverTime:"n/a"})}),f.jsx(D.TableCell,{children:I.I18n.t(n)})]},n)})})]})}):f.jsx(D.LinearProgress,{})}),f.jsx(D.DialogActions,{children:f.jsx(D.Button,{variant:"contained",onClick:()=>this.setState({showAstro:!1}),color:"primary",startIcon:f.jsx(Xl,{}),children:I.I18n.t("Close")})})]},"dialogAstro"):null}getEditorDialog(){return this.state.showScript?f.jsx(PM,{adapterName:this.props.adapterName,source:this.scriptDialog.initValue||"",args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:n=>{this.scriptDialog.initValue=null,this.scriptDialog.callback&&(n!==!1&&this.scriptDialog.callback(n||""),this.scriptDialog.callback=null),this.setState({showScript:!1})}},"scriptEditorDialog"):null}getToast(){return f.jsx(D.Snackbar,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:f.jsx("span",{id:"message-id",children:this.state.toast}),action:[f.jsx(D.IconButton,{"aria-label":"close",color:"inherit",style:Et.closeToast,onClick:()=>this.setState({toast:""}),size:"medium",children:f.jsx(Xl,{})},"close")]},"toast")}setTourStep=n=>this.setState({tourStep:n});getTour(){return this.state.instancesLoaded&&this.state.selected&&this.props.isAnyRulesExists===1&&this.props.objects[this.state.selected]&&this.state.rules&&this.state.visible?f.jsx(Rw,{steps:FN,isOpen:this.state.isTourOpen,onRequestClose:()=>{this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true"),this.props.socket.setState("javascript.0.variables.rulesTour",{val:!0,ack:!0})},goToStep:this.state.tourStep},"tour"):null}getDebug(){return this.props.debugMode?this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine]?f.jsx($v,{runningInstances:this.state.runningInstances,adapterName:this.props.adapterName,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,src:this.props.debugInstance?this.props.debugInstance.adapter:this.state.selected,debugInstance:this.props.debugInstance},"debugger"):(setTimeout(()=>this.props.onDebugModeChange(!1)),null):null}render(){return this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly===null&&this.state.rules===null&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),setTimeout(()=>{const n={blockly:this.scripts[this.state.selected].engineType==="Blockly",rules:this.scripts[this.state.selected].engineType==="Rules",showCompiledCode:!1,debugEnabled:this.scripts[this.state.selected].debug,verboseEnabled:this.scripts[this.state.selected].verbose};this.removeNonExistingScripts(null,n),this.setState(n)},100)),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getAskAboutDebug(),this.getBlocklyEditor(),this.getRulesEditor(),this.getDebug(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getAstroDialog(),this.getDebugMenu(),this.getToast(),this.getTour()]}}const Sr={dialog:{height:"95%"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"100%"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1}};class rC extends We.Component{constructor(n){super(n),this.state={error:"",imageStatus:""}}componentDidMount(){setTimeout(()=>{var n;try{(n=window.document.getElementById("import-text-area"))==null||n.focus()}catch{}},100)}handleCancel(){this.props.onClose()}static readFileDataUrl(n,s){const i=new FileReader;i.onload=()=>{s(null,{data:i.result,name:n.name})},i.onabort=()=>{console.error("file reading was aborted"),s(I.I18n.t("file reading was aborted"))},i.onerror=a=>{console.error("file reading has failed"),s(I.I18n.t("file reading has failed: %s",a))},i.readAsDataURL(n)}handleDropFile(n){if(!(n!=null&&n.length))return;const s=n[n.length-1];s&&rC.readFileDataUrl(s,(i,a)=>{var c;i||!a?this.setState({error:i||"No data"}):this.props.onClose(((c=a.data)==null?void 0:c.toString())||"")})}render(){const n={...Sr.dropzone,...this.state.imageStatus==="accepted"?Sr.dropzoneAccepted:this.state.imageStatus==="rejected"?Sr.dropzoneRejected:void 0};return f.jsxs(D.Dialog,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Sr.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",PaperProps:{style:{minHeight:"90%",maxHeight:"90%"}},children:[f.jsx(D.DialogTitle,{id:"import-dialog-title",children:I.I18n.t("Import scripts")}),f.jsxs(D.DialogContent,{children:[f.jsx(U0,{maxSize:5e7,onDrop:(s,i)=>{var a,c,h;s.length?this.handleDropFile(s):window.alert(((h=(c=(a=i==null?void 0:i[0])==null?void 0:a.errors)==null?void 0:c[0])==null?void 0:h.message)||I.I18n.t("ra_Cannot upload"))},multiple:!1,accept:{"application/zip":[],"application/x-zip-compressed":[]},children:({getRootProps:s,getInputProps:i,isDragActive:a,isDragReject:c})=>c?(this.state.imageStatus!=="rejected"&&this.setState({imageStatus:"rejected"}),f.jsxs("div",{style:{...n,...Sr.dropzoneDiv},...s(),children:[f.jsx("input",{...i()}),f.jsx("span",{style:Sr.text,children:I.I18n.t("Some files will be rejected")},"text"),f.jsx(Iv,{style:{...Sr.icon,...Sr.iconError}},"icon")]})):a?(this.state.imageStatus!=="accepted"&&this.setState({imageStatus:"accepted"}),f.jsxs("div",{style:{...n,...Sr.dropzoneDiv},...s(),children:[f.jsx("input",{...i()}),f.jsx("span",{style:Sr.text,children:I.I18n.t("All files will be accepted")},"text"),f.jsx(Ev,{style:{...Sr.icon,...Sr.iconOk}},"icon")]})):(this.state.imageStatus!=="wait"&&this.setState({imageStatus:"wait"}),f.jsxs("div",{style:{...n,...Sr.dropzoneDiv},...s(),children:[f.jsx("input",{...i()}),f.jsx("span",{style:Sr.text,children:I.I18n.t("Drop some files here or click...")},"text"),f.jsx(W0,{style:Sr.icon},"icon")]}))},"image-drop"),this.state.error?f.jsx(Hf,{text:this.state.error,onClose:()=>this.setState({error:""})}):null]}),f.jsx(D.DialogActions,{children:f.jsx(D.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:f.jsx(Jo,{}),children:I.I18n.t("Close")})})]})}}const wP="Acknowledged",CP="Actions",SP="Add",TP="All",kP="Any",EP="Apply",IP="April",xP="Ask",DP="Astronomical",AP="August",OP="Cancel",RP="Close",MP="Condition",NP="Conditions",LP="Console",BP="Copied",PP="December",jP="Default",FP="Delay",zP="Delete",UP="Description",WP="Done",HP="Exec shell",VP="Explanation",GP="Export",KP="Februar",JP="February",qP="Filter",YP="Folder",XP="Fr",ZP="Friday",QP="ID",e2="ID1",t2="ID2",n2="Import",s2="Instance",r2="Instances",i2="Instructions",o2="Januar",a2="January",l2="July",c2="June",u2="Limit",d2="March",h2="May",p2="Menu",g2="Message",f2="Mo",m2="Model",b2="Monday",$2="Month",v2="More",y2="Name",_2="November",w2="OK",C2="October",S2="Ok",T2="Pause",k2="Pushover",E2="Pushsafer",I2="Rename",x2="Repeat",D2="Restart",A2="Result",O2="Sa",R2="Saturday",M2="Save",N2="Schedule",L2="Script",B2="September",P2="Simulate",j2="Stack",F2="Start",z2="State",U2="Su",W2="Sunday",H2="Telegram",V2="Th",G2="Thursday",K2="Time",J2="Triggered",q2="Triggers",Y2="Tu",X2="Tuesday",Z2="URL",Q2="Value",ej="Volume",tj="We",nj="Wednesday",sj="Write",rj="Yes",ij="acknowledgment",oj="all",aj="and",lj="Astro",cj="at",uj="control",dj="copy",hj="CRON",pj="Dawn",gj="This is a special mode in which states and objects will not change. But only information about each planned change will be displayed in the protocol.",fj="Debug",mj="Dusk",bj="easy",$j="every",vj="Function",yj="ID",_j="Name",wj="Role",Cj="Room",Sj="Golden hour",Tj="End of golden hour",kj='The code will be executed only every time when condition is true. E.g. if triggering on the temperature sensor value and the condition is "if temperature is greater than 20°C", the "then" actions will be executed every time when sensor sends the temperature and it is over 20°C. By 21°C, by 22°C and so on.',Ej='The code will be executed only if the condition result changes. E.g. if triggering on the temperature sensor value and the condition is "if temperature is greater than 20°C", the "then" actions will be executed once when temperature is over 20. Next time the "then" actions will be executed when the temperature fails under 20 and then rises over 20 again.',Ij="hours",xj="includes",Dj="interval",Aj="magic",Oj="milliseconds",Rj="minutes",Mj="ms",Nj="Nadir",Lj="Nautical dawn",Bj="Nautical dusk",Pj="Next Sunrise",jj="Next sunset",Fj="Night",zj="Night end",Uj="normal",Wj="offset",Hj="one",Vj="or",Gj="quiet",Kj="search",Jj="seconds",qj="Solar noon",Yj="sunrise",Xj="Sunrise end",Zj="Sunset",Qj="Sunset start",eF="then",tF="Acknowledge",nF="From",sF="Last changed",rF="Quality",iF="Timestamp",oF="User",aF="Value",lF="two",cF="update",uF="Adds debug output to the log for many system commands",dF="Verbose log outputs",hF="when",pF="Wizard",gF={"%s not found":"%s not found","()":"()","(at %s)":"(at %s)","(optional)":"(optional)","-":"-",".":".","AI code generator":"AI code generator",Ack:wP,Actions:CP,"Actual time of day":"Actual time of day",Add:SP,"Add new script":"Add new script",All:TP,"All files will be accepted":"All files will be accepted",Any:kP,"Any month":"Any month",Apply:EP,April:IP,"Are you sure?":"Are you sure?",Ask:xP,Astronomical:DP,"Astronomical events today":"Astronomical events today",August:AP,"Blockly description":"Creating rules by graphic blocks","Body:":"Body:",Cancel:OP,"Cannot delete non empty item!":"Cannot delete non empty item!","Change layout":"Change layout",'Change theme (actual "%s")':'Change theme (now - "%s")',"Check blocks":"Check blocks","Check is not active, because javascript adapter is disabled":"Check is not active, because Javascript adapter is disabled","Clear search input":"Clear search input","Click on this icon":"Click on this icon",Close:RP,"Close all but current":"Close all but current","Collapse all":"Collapse all","Compares current time with astronomical event":"Compares current time with astronomical event","Compares current time with the user specific time":"Compares current time with the user specific time","Compares the state value with user defined value":"Compares the state value with user defined value",Condition:MP,Conditions:NP,"Configuration not saved.":"Configuration not saved.",Console:LP,"Control or update some state":"Control or update some state","Control or update some state with delay":"Control or update some state with delay","Convert blockly to javascript for ever.":"Permanently convert Blockly to Javascript.",Copied:BP,"Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","Create new":"Create new","Create new folder":"Create new folder","Create new script":"Create new script","Create or edit CRON or time wizard":"Create or edit CRON or time wizard","Dark Theme":"Dark theme","Dark style":"Dark style",Date:"Date","Debug instance":"Debug instance","Debug options":"Debug options",December:PP,Default:jP,"Define cron...":"Define cron...","Define schedule...":"Define schedule...",Delay:FP,Delete:zP,"Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script",Description:UP,"Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s",Done:WP,"Double click to write value":"Double click to write value","Download as file":"Download as file","Drop some files here or click...":"Drop some files here or click...","Duplicate name":"Duplicate name","Edit script or just double click":"Edit script or just double click","Empty name is not allowed":"Empty name is not allowed","End search mode":"End search mode","Enter your question":"Enter your request",Error:"Error","Error formatting code":"Error formatting code","Error was found":"Error was found","Every day":"Every day",Exec:HP,"Executes some shell command":"Executes some shell command","Existing scripts will be overwritten.":"Existing scripts will be overwritten.","Expand all":"Expand all","Expert mode":"Expert mode",Explanation:VP,Export:GP,"Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks",Februar:KP,February:JP,Filter:qP,Folder:YP,Fr:XP,Friday:ZP,Function:"Function","Function editor":"Function editor","Function: executed":"Function: executed","Go to next line":"Go to next line","HTTP Call":"HTTP Call","Hide logs":"Hide logs",ID:QP,ID1:e2,ID2:t2,Import:n2,"Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID",Instance:s2,"Instance is disabled":"Instance is disabled","Instance:":"Instance:",Instances:r2,Instructions:i2,"Invalid CRON":"Invalid CRON","It will not be possible to revert this operation.":"It will not be possible to revert this operation.","JS description":"Creating rules by writing Javascript",Januar:o2,January:a2,July:l2,June:c2,"Just check":"Just check","Language:":"Language:","Learn More":"Learn More","Light style":"Light style",Limit:u2,"Local time":"Local time","Locate file":"Locate file","Log outputs":"Log outputs","Log text":"Log text","Log: %s":"Log: %s","Make a HTTP get request":"Make a HTTP get request","Make a pause between actions":"Make a pause between actions",March:d2,"March ":"March ",May:h2,Menu:p2,Message:g2,Mo:f2,Model:m2,Monday:b2,Month:$2,More:v2,Name:y2,"No Chat GPT Key found":"No Chat GPT Key found","No active host found":"No active host found","Nothing found":"Nothing found",November:_2,OK:w2,October:C2,Ok:S2,"On condition change":"On condition result change","On script save or adapter start":"On script save or adapter start","On weekdays":"On weekdays","Open configuration":"Open configuration","Operate two states":"Operate two states","Operations with two states":"Operations with two states","Paste your blocks here":"Paste your blocks here",Pause:T2,"Pause execution":"Pause execution","Pause script":"Pause script","Phone:":"Phone:","Please select object ID...":"Please select object ID...","Press Ctrl+Enter to get the answer":"Press Ctrl+Enter to get the answer","Prettify the script":"Prettify the script","Print some text in log":"Print some text in log","Priority:":"Priority:",Pushover:k2,Pushsafer:E2,"Read only ID selected: %s":"Read only ID selected: %s",Rename:I2,"Reorder scripts in folders":"Reorder scripts in folders",Repeat:x2,Restart:D2,Result:A2,"Resume execution":"Resume execution","Root folder":"Root folder","Rules description":"Create rules with IF, THEN, ELSE blocks","Run script":"Run script",Sa:O2,Saturday:R2,Save:M2,"Save all":"Save all","Say It":"Say It","Say some text via sayit adapter":"Say some text via sayit adapter",Schedule:N2,Script:L2,"Script %s was modified on disk":"Script %s was modified on disk","Script is not running":"Script is not running","Search in scripts":"Search in scripts","Search...":"Search...","Select all":"Select all","Send email":"Send email","Sends an email":"Sends an email","Sends message via Pushsafer":"Sends message via Pushsafer","Sends message via pushover":"Sends message via pushover","Sends message via telegram":"Sends message via telegram","Sends message via whatsapp-cmb":"Sends message via whatsapp-cmb",September:B2,"Server time":"Server time","Set state action":"Set state action","Set with delay":"Set with delay","Shell command":"Shell command","Show astronomical events":"Show astronomical events","Show javascript code":"Show Javascript code","Show logs":"Show logs","Show only paused scripts":"Show only paused scripts","Show only running scripts":"Show only running scripts","Show only scripts with problems":"Show only scripts with problems",Simulate:P2,"Some files will be rejected":"Some files will be rejected","Sound:":"Sound:",Stack:j2,Start:F2,"Start script":"Start script",State:z2,"State condition":"State condition","Step into function":"Step into function","Step out from function":"Step out from function","Stop on exception":"Stop on exception",Su:U2,"Subject:":"Subject:",Sunday:W2,"TS description":"Creating rules by writing Typescript",Telegram:H2,"Text:":"Text:",Th:V2,"The script will be stopped and must be activated manually after debugging. Continue?":"The script will be stopped and must be activated manually after debugging. Continue?","This is advances option. You can write your own code here and it will be executed on trigger":"This is advances option. You can write your own code here and it will be executed on trigger",Thursday:G2,Time:K2,"Time condition":"Time condition","Title:":"Title:","To:":"To:","Trigger with value":"Trigger with value",Triggered:J2,Triggers:q2,"Triggers the on script saving or the javascript instance restart":"Triggers the on script saving or the javascript instance restart","Triggers the rule on update or change of some state":"Triggers the rule on update or change of some state","Triggers the rule periodically or on some specific time":"Triggers the rule periodically or on some specific time",Tu:Y2,Tuesday:X2,URL:Z2,"Unknown error":"Unknown error","Unknown error!":"Unknown error!","Use generated code":"Use generated code","User function":"User function","User:":"User:",Value:Q2,"Vibration:":"Vibration:",Volume:ej,We:tj,Wednesday:nj,"Whatsapp-cmb":"Whatsapp-cmb",Write:sj,"Write your own code":"Write your own code",Yes:rj,"Yet exists!":"Yet exists!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"You can use %s in the URL to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"You can use %s in the command to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"You can use %s in the text to display current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"You can use %s in the value to use the current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You have to enter OpenAI API key in the configuration of javascript adapter.":"You have to enter OpenAI API key in the configuration of javascript adapter.","[equal]":"[equal]","[greater or equal]":"[greater or equal]","[greater]":"[greater]","[hysteresis]":"[hysteresis]","[includes]":"[includes]","[less or equal]":"[less or equal]","[less]":"[less]","[not equal]":"[not equal]",acknowledgment:ij,all:oj,and:aj,astro:lj,at:cj,"clear running":"clear running",control:uj,copy:dj,cron:hj,dawn:pj,debug_help:gj,debug_label:fj,default:"default",dusk:mj,easy:bj,else:"else","equal to":"equal to",every:$j,"every hour at 0 minutes":"every hour at 0 minutes",false:"false","file reading has failed: %s":"file reading has failed: %s","file reading was aborted":"file reading was aborted",filter_func:vj,filter_id:yj,filter_name:_j,filter_role:wj,filter_room:Cj,"for edit or create script":"for edit or create a new script","for professionals":"for professionals","for programmers":"for programmers",goldenHour:Sj,goldenHourEnd:Tj,"greater or equal":"greater or equal","greater or equal to":"greater or equal to","greater than":"greater than",help_just_check:kj,help_on_change:Ej,"high priority":"high priority","high-priority":"high-priority","highest priority":"highest priority",hours:Ij,includes:xj,interval:Dj,"just check":"just check","less or equal":"less or equal","less or equal to":"less or equal to","less than":"less than","lower priority":"lower priority","lowest priority":"lowest priority",magic:Aj,milliseconds:Oj,minutes:Rj,ms:Mj,nadir:Nj,nauticalDawn:Lj,nauticalDusk:Bj,nextSunrise:Pj,nextSunset:jj,night:Fj,nightEnd:zj,"no blocks found":"No blocks found","no group":"NO GROUP",normal:Uj,"normal priority":"normal priority","not equal to":"not equal to","not properly connected":"This block is not properly connected to other blocks.",offset:Wj,"on change":"on change","on condition change":"on condition change","on update":"on update",one:Hj,or:Vj,quiet:Gj,"reset search":"reset search",search:Kj,seconds:Jj,solarNoon:qj,"store in":"store in",sunrise:Yj,sunriseEnd:Xj,sunset:Zj,sunsetStart:Qj,then:eF,"toggle value":"toggle value",tooltip_ack:tF,tooltip_from:nF,tooltip_lc:sF,tooltip_quality:rF,tooltip_ts:iF,tooltip_user:oF,tooltip_value:aF,true:"true",two:lF,undefined:"undefined",update:cF,"use seconds":"use seconds","use trigger value":"use trigger value",verbose_help:uF,verbose_label:dF,when:hF,with:"with","with date":"with date","with offset":"with offset",wizard:pF},fF="Bestätigt",mF="Aktionen",bF="Hinzufügen",$F="Alle",vF="Egal",yF="Anwenden",_F="April",wF="Fragen",CF="Astronomisch",SF="August",TF="Abbrechen",kF="Schließen",EF="Bedingung",IF="Bedingungen",xF="Konsole",DF="Kopiert",AF="Dezember",OF="Standard",RF="Verzögerung",MF="Löschen",NF="Beschreibung",LF="Fertig",BF="Exec shell",PF="Erläuterung",jF="Export",FF="Februar",zF="Februar",UF="Filter",WF="Ordner",HF="Fr",VF="Freitag",GF="ID",KF="ID1",JF="ID2",qF="Import",YF="Instanz",XF="Instanzen",ZF="Anleitung",QF="Januar",ez="Januar",tz="Juli",nz="Juni",sz="Grenze",rz="März",iz="Mai",oz="Menü",az="Nachricht",lz="Mo",cz="Modell",uz="Montag",dz="Monat",hz="Mehr",pz="Name",gz="November",fz="OK",mz="Oktober",bz="Ok",$z="Pause",vz="Pushover",yz="Pushsafer",_z="Umbenennen",wz="Wiederholen",Cz="Neustart",Sz="Ergebnis",Tz="Sa",kz="Samstag",Ez="Speichern",Iz="Zeitplan",xz="Skript",Dz="September",Az="Simulieren",Oz="Stack",Rz="Start",Mz="Zustand",Nz="So",Lz="Sonntag",Bz="Telegram",Pz="Do",jz="Donnerstag",Fz="Zeit",zz="Ausgelöst",Uz="Löst aus",Wz="Di",Hz="Dienstag",Vz="URL",Gz="Wert",Kz="Volumen",Jz="Mi",qz="Mittwoch",Yz="Schreiben",Xz="Ja",Zz="Wissen",Qz="alle",eU="und",tU="Astro",nU="um",sU="Steuerung",rU="Kopie",iU="CRON",oU="Morgendämmerung",aU="Dies ist ein spezieller Modus, in dem sich Zustände und Objekte nicht ändern. Im Protokoll werden jedoch nur Informationen zu jeder geplanten Änderung angezeigt.",lU="Debuggen",cU="Abenddämmerung",uU="einfach",dU="jeder",hU="Funktion",pU="ID",gU="Name",fU="Rolle",mU="Raum",bU="Goldene Abendstunde",$U="Vormittag",vU='Der Code wird jedes Mal ausgeführt, wenn die Bedingung erfüllt ist. z.B. wenn der Temperatur wert sich ändert und die Bedingung "Wenn die Temperatur größer als 20°C ist" lautet, werden die "Dann" -Aktionen jedes Mal ausgeführt, wenn der Sensor die Temperatur sendet und diese über 20°C liegt. Bei 21°C, bei 22°C und so weiter.',yU='Der Code wird nur ausgeführt, wenn sich das Ergebnis der Bedingung ändert. z.B. wenn sich der Temperatur wert ändert und die Bedingung "Wenn die Temperatur größer als 20°C ist" lautet, werden die "Dann" -Aktionen einmal ausgeführt, wenn die Temperatur über 20°C liegt. Das nächste Mal werden die "Dann" -Aktionen ausgeführt, wenn die Temperatur unter 20°C gefallen ist und dann wieder über 20°C ansteigt.',_U="Stunden",wU="beinhaltet",CU="Intervall",SU="Magie",TU="Millisekunden",kU="Minuten",EU="ms",IU="Nadir",xU="nautische Morgendämmerung",DU="nautische Abenddämmerung",AU="Nächster Sonnenaufgang",OU="Nächster Sonnenuntergang",RU="Nacht",MU="astronomische Morgendämmerung",NU="Normal",LU="Versatz",BU="einer",PU="oder",jU="ruhig",FU="Suche",zU="Sekunden",UU="(Nach-)Mittag",WU="Sonnenaufgang",HU="Goldene Morgenstunde",VU="Sonnenuntergang",GU="Sonnenuntergang (Anfang)",KU="dann",JU="Bestätigen",qU="Von",YU="Zuletzt geändert",XU="Qualität",ZU="Zeitstempel",QU="Benutzer",eW="Wert",tW="zwei",nW="Aktualisieren",sW="Fügt Debug-Ausgaben für viele Systembefehle zum Protokoll hinzu",rW="Ausführliche Protokollausgaben",iW="falls",oW="Assistent",aW={"%s not found":"%s nicht gefunden","()":"()","(at %s)":"(um %s)","(optional)":"(optional)","-":"-",".":".","AI code generator":"KI-Codegenerator",Ack:fF,Actions:mF,"Actual time of day":"Tatsächliche Tageszeit",Add:bF,"Add new script":"Neues Skript hinzufügen",All:$F,"All files will be accepted":"Alle Dateien werden akzeptiert",Any:vF,"Any month":"Jeden Monat",Apply:yF,April:_F,"Are you sure?":"Wirklich sicher?",Ask:wF,Astronomical:CF,"Astronomical events today":"Astronomische Ereignisse heute",August:SF,"Blockly description":"Erstellen von Regeln durch Grafikblöcke","Body:":"Körper:",Cancel:TF,"Cannot delete non empty item!":"Kann nicht gelöscht werden, weil noch einige Elementen darin sind!","Change layout":"Layout ändern",'Change theme (actual "%s")':'Thema ändern (jetzt - "%s")',"Check blocks":"Blöcke prüfen","Check is not active, because javascript adapter is disabled":"Syntax-Check ist nicht aktiv, weil der Javascript Adapter nicht aktiv ist.","Clear search input":"Sucheingabe löschen","Click on this icon":"Auf dieses Symbol klicken",Close:kF,"Close all but current":"Alle anderen außer dem Aktiven schließen","Collapse all":"Alles einklappen","Compares current time with astronomical event":"Vergleicht die aktuelle Zeit mit einem astronomischen Ereignis","Compares current time with the user specific time":"Vergleicht die aktuelle Zeit mit der benutzerspezifischen Zeit","Compares the state value with user defined value":"Vergleicht den Zustandswert mit dem benutzerdefinierten Wert",Condition:EF,Conditions:IF,"Configuration not saved.":"Die Konfiguration ist nicht gespeichert.",Console:xF,"Control or update some state":"Zustand steuern oder aktualisieren","Control or update some state with delay":"Zustand mit Verzögerung steuern oder aktualisieren","Convert blockly to javascript for ever.":"Blockly dauerhaft in Javascript konvertieren.",Copied:DF,"Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Create new":"Neu erstellen","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"CRON- oder Zeit-Assistenten erstellen oder bearbeiten","Dark Theme":"Dunkles Thema","Dark style":"Dunkler Stil",Date:"Datum","Debug instance":"Debug-Instanz","Debug options":"Debug-Optionen",December:AF,Default:OF,"Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...",Delay:RF,Delete:MF,"Delete %s":"Löschen %s...","Delete folder":"Ordner löschen","Delete script":"Skript löschen",Description:NF,"Deselect all":"Alles abwählen","Discard changes for %s":"Änderungen für %s verwerfen",Done:LF,"Double click to write value":"Doppelklick zum Schreiben des Wertes","Download as file":"Download als Datei","Drop some files here or click...":"Dateien hier ablegen oder klicken ...","Duplicate name":"Doppelter Name","Edit script or just double click":"Skript bearbeiten oder einfach doppelklicken","Empty name is not allowed":"Leerer Name ist nicht zulässig","End search mode":"Suchmodus beenden","Enter your question":"Anfrage eingeben",Error:"Fehler","Error formatting code":"Fehler beim Formatieren des Codes","Error was found":"Fehler wurde gefunden","Every day":"Täglich",Exec:BF,"Executes some shell command":"Führt einen Shell-Befehl aus","Existing scripts will be overwritten.":"Vorhandene Skripte werden überschrieben.","Expand all":"Alle erweitern","Expert mode":"Expertenmodus",Explanation:PF,Export:jF,"Export all scripts":"Alle Skripte exportieren","Export blocks":"Blöcke exportieren","Export selected blocks":"Ausgewählte Blöcke exportieren",Februar:FF,February:zF,Filter:UF,Folder:WF,Fr:HF,Friday:VF,Function:"Funktion","Function editor":"Funktions-Editor","Function: executed":"Funktion: ausgeführt","Go to next line":"Gehe zur nächsten Zeile","HTTP Call":"HTTP-Aufruf","Hide logs":"Protokoll ausblenden",ID:GF,ID1:KF,ID2:JF,Import:qF,"Import blocks":"Blöcke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripte importieren","Insert object ID":"Objekt-ID einfügen",Instance:YF,"Instance is disabled":"Instanz ist deaktiviert","Instance:":"Instanz:",Instances:XF,Instructions:ZF,"Invalid CRON":"Ungültiger CRON","It will not be possible to revert this operation.":"Dieser Vorgang kann nicht rückgängig gemacht werden.","JS description":"Regeln erstellen mit JavaScript",Januar:QF,January:ez,July:tz,June:nz,"Just check":"Einfach überprüfen","Language:":"Sprache:","Learn More":"Mehr erfahren","Light style":"Heller Stil",Limit:sz,"Local time":"Lokale Zeit","Locate file":"Datei zeigen","Log outputs":"Protokoll","Log text":"Protokolltext","Log: %s":"Log: %s","Make a HTTP get request":"Eine HTTP-Abrufanforderung stellen","Make a pause between actions":"Eine Pause zwischen den Aktionen machen",March:rz,"March ":"März ",May:iz,Menu:oz,Message:az,Mo:lz,Model:cz,Monday:uz,Month:dz,More:hz,Name:pz,"No Chat GPT Key found":"Kein Chat-GPT-Schlüssel gefunden","No active host found":"Kein aktiver Host gefunden","Nothing found":"Nichts gefunden",November:gz,OK:fz,October:mz,Ok:bz,"On condition change":"Bei Änderung des Ergebnis der Bedingung","On script save or adapter start":"Beim Speichern des Skripts oder beim Starten des Adapters","On weekdays":"An Wochentagen","Open configuration":"Konfiguration öffnen","Operate two states":"Zwei Zustände operieren","Operations with two states":"Operationen mit zwei Zuständen","Paste your blocks here":"Fügen Sie Ihre Blöcke hier ein",Pause:$z,"Pause execution":"Ausführung pausieren","Pause script":"Skript anhalten","Phone:":"Telefon:","Please select object ID...":"Objekt-ID auswählen ...","Press Ctrl+Enter to get the answer":"Strg+Eingabetaste, um die Antwort zu erhalten","Prettify the script":"Verschönern Sie das Skript","Print some text in log":"Einen Text im Protokoll ausdrucken","Priority:":"Priorität:",Pushover:vz,Pushsafer:yz,"Read only ID selected: %s":"Schreibgeschützte ID ausgewählt: %s",Rename:_z,"Reorder scripts in folders":"Skripte in Ordnern neu ordnen",Repeat:wz,Restart:Cz,Result:Sz,"Resume execution":"Ausführung fortsetzen","Root folder":"Root-Verzeichnis","Rules description":"Regeln erstellen mit WENN-, DANN- und SONST-Blöcken","Run script":"Skript ausführen",Sa:Tz,Saturday:kz,Save:Ez,"Save all":"Alle speichern","Say It":"Say It","Say some text via sayit adapter":"Einen Text über den Sayit-Adapter sagen",Schedule:Iz,Script:xz,"Script %s was modified on disk":'Skript "%s" wurde auf der Festplatte geändert',"Script is not running":"Skript läuft nicht","Search in scripts":"Suche in Skripten","Search...":"Suche...","Select all":"Alles auswählen","Send email":"E-Mail senden","Sends an email":"Sendet eine E-Mail","Sends message via Pushsafer":"Sendet eine Nachricht über Pushsafer","Sends message via pushover":"Sendet eine Nachricht per Pushover","Sends message via telegram":"Sendet eine Nachricht per telegram","Sends message via whatsapp-cmb":"Sendet eine Nachricht über WhatsApp-Cmb",September:Dz,"Server time":"Server-Zeit","Set state action":"Zustand setzten","Set with delay":"Setzen mit Verzögerung","Shell command":"Shell-Befehl","Show astronomical events":"Astronomische Ereignisse anzeigen","Show javascript code":"Javascript-Code zeigen","Show logs":"Protokoll anzeigen","Show only paused scripts":"Nur angehaltene Skripte zeigen","Show only running scripts":"Nur laufende Skripte zeigen","Show only scripts with problems":"Nur Skripte mit Problemen zeigen",Simulate:Az,"Some files will be rejected":"Einige Dateien werden abgelehnt","Sound:":"Klang:",Stack:Oz,Start:Rz,"Start script":"Skript starten",State:Mz,"State condition":"Zustandsbedingung","Step into function":"Schritt in die Funktion","Step out from function":"Raus aus der Funktion","Stop on exception":"Bei Ausnahme anhalten",Su:Nz,"Subject:":"Gegenstand:",Sunday:Lz,"TS description":"Regeln erstellen mit TypeScript",Telegram:Bz,"Text:":"Text:",Th:Pz,"The script will be stopped and must be activated manually after debugging. Continue?":"Das Skript wird gestoppt und muss nach dem Debuggen manuell aktiviert werden. Fortsetzen?","This is advances option. You can write your own code here and it will be executed on trigger":"Dies ist eine erweiterte Option. Sie können hier Ihren eigenen Code schreiben, der beim Auslösen ausgeführt wird",Thursday:jz,Time:Fz,"Time condition":"Zeitbedingung","Title:":"Titel:","To:":"Zu:","Trigger with value":"Trigger mit Wert",Triggered:zz,Triggers:Uz,"Triggers the on script saving or the javascript instance restart":"Löst das Speichern des Skripts oder den Neustart der Javascript-Instanz aus","Triggers the rule on update or change of some state":"Löst die Regel beim Aktualisieren oder Ändern eines Zustands aus","Triggers the rule periodically or on some specific time":"Löst periodisch oder zu einem bestimmten Zeitpunkt aus",Tu:Wz,Tuesday:Hz,URL:Vz,"Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Use generated code":"Code verwenden","User function":"Benutzerfunktion","User:":"Benutzer:",Value:Gz,"Vibration:":"Vibration:",Volume:Kz,We:Jz,Wednesday:qz,"Whatsapp-cmb":"WhatsApp-cmb",Write:Yz,"Write your own code":"Eigenen Code schreiben",Yes:Xz,"Yet exists!":"Existiert schon!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Sie können %s in der URL verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Sie können %s im Befehl verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Sie können %s im Text verwenden, um den aktuellen Triggerwert anzuzeigen, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Sie können %s im Wert verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ID des ausgelösten Objekts zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You have to enter OpenAI API key in the configuration of javascript adapter.":"Sie müssen den OpenAI-API-Schlüssel in der Konfiguration des Javascript-Adapters eingeben.","[equal]":"[gleich]","[greater or equal]":"[größer oder gleich]","[greater]":"[größer]","[hysteresis]":"[Hysterese]","[includes]":"[enthält]","[less or equal]":"[kleiner oder gleich]","[less]":"[kleiner]","[not equal]":"[ungleich]",acknowledgment:Zz,all:Qz,and:eU,astro:tU,at:nU,"clear running":"laufende abbrechen",control:sU,copy:rU,cron:iU,dawn:oU,debug_help:aU,debug_label:lU,default:"Standard",dusk:cU,easy:uU,else:"sonst","equal to":"gleich",every:dU,"every hour at 0 minutes":"jede Stunde bei 0 Minuten",false:"falsch","file reading has failed: %s":"Das Lesen der Datei ist fehlgeschlagen: %s","file reading was aborted":"Das Lesen der Datei wurde abgebrochen",filter_func:hU,filter_id:pU,filter_name:gU,filter_role:fU,filter_room:mU,"for edit or create script":"zum Bearbeiten oder zum Erstellen eines neues Skripts","for professionals":"für Profis","for programmers":"für Programmierer",goldenHour:bU,goldenHourEnd:$U,"greater or equal":"größer oder gleich","greater or equal to":"größer oder gleich","greater than":"größer als",help_just_check:vU,help_on_change:yU,"high priority":"hohe Priorität","high-priority":"hohe Priorität","highest priority":"höchste Priorität",hours:_U,includes:wU,interval:CU,"just check":"einfach prüfen","less or equal":"kleiner oder gleich","less or equal to":"kleiner oder gleich","less than":"kleiner als","lower priority":"geringere Priorität","lowest priority":"niedrigste Priorität",magic:SU,milliseconds:TU,minutes:kU,ms:EU,nadir:IU,nauticalDawn:xU,nauticalDusk:DU,nextSunrise:AU,nextSunset:OU,night:RU,nightEnd:MU,"no blocks found":"Keine Blöcke gefunden","no group":"KEINE GRUPPE",normal:NU,"normal priority":"normale Priorität","not equal to":"ungleich","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.",offset:LU,"on change":"bei Änderung","on condition change":"bei Zustandsänderung","on update":"beim Aktualisieren",one:BU,or:PU,quiet:jU,"reset search":"Suche zurücksetzen",search:FU,seconds:zU,solarNoon:UU,"store in":"speichern in",sunrise:WU,sunriseEnd:HU,sunset:VU,sunsetStart:GU,then:KU,"toggle value":"Wert umschalten",tooltip_ack:JU,tooltip_from:qU,tooltip_lc:YU,tooltip_quality:XU,tooltip_ts:ZU,tooltip_user:QU,tooltip_value:eW,true:"wahr",two:tW,undefined:"nicht definiert",update:nW,"use seconds":"Sekunden verwenden","use trigger value":"Triggerwert benutzen",verbose_help:sW,verbose_label:rW,when:iW,with:"mit","with date":"mit Datum","with offset":"mit Versatz",wizard:oW},lW="Admitido",cW="Comportamiento",uW="Añadir",dW="Todos",hW="Alguna",pW="Apply",gW="abril",fW="Preguntar",mW="Astronómico",bW="agosto",$W="Cancelar",vW="Cerrar",yW="Condición",_W="Condiciones",wW="Consola",CW="Copiado",SW="diciembre",TW="Defecto",kW="Demora",EW="Eliminar",IW="Descripción",xW="Hecho",DW="Ejecutivo shell",AW="Explicación",OW="Exportar",RW="Februar",MW="febrero",NW="Filtrar",LW="Carpeta",BW="P.",PW="viernes",jW="CARNÉ DE IDENTIDAD",FW="ID1",zW="ID2",UW="Importar",WW="Ejemplo",HW="Instancias",VW="Instrucciones",GW="Enero",KW="enero",JW="julio",qW="junio",YW="Límite",XW="marzo",ZW="Mayo",QW="Menú",e3="Mensaje",t3="Mes",n3="Modelo",s3="lunes",r3="Mes",i3="Más",o3="Nombre",a3="noviembre",l3="OK",c3="octubre",u3="Okay",d3="Pausa",h3="Persona fácil de convencer",p3="Pushsafer",g3="Rebautizar",f3="Repetir",m3="Reiniciar",b3="Resultado",$3="Sa",v3="sábado",y3="Salvar",_3="Calendario",w3="Guión",C3="septiembre",S3="Simular",T3="Stack",k3="Comienzo",E3="Expresar",I3="Su",x3="domingo",D3="Telegrama",A3="4",O3="jueves",R3="Tiempo",M3="Motivado",N3="Disparadores",L3="Tu",B3="martes",P3="URL",j3="Valor",F3="Volumen",z3="3",U3="miércoles",W3="Escribir",H3="sí",V3="Reconocimiento",G3="todos",K3="y",J3="astro",q3="a",Y3="control",X3="Copiar",Z3="CRON",Q3="Amanecer",e5="Este es un modo especial en el que los estados y los objetos no cambiarán. Pero solo se mostrará información sobre cada cambio planificado en el protocolo.",t5="Depurar",n5="Oscuridad",s5="fácil",r5="cada",i5="Función",o5="CARNÉ DE IDENTIDAD",a5="Nombre",l5="Papel",c5="Habitación",u5="hora dorada",d5="Fin de la hora dorada",h5='El código se ejecutará solo cada vez que la condición sea verdadera. P.ej. si se activa en el valor del sensor de temperatura y la condición es "si la temperatura es superior a 20 ° C", las acciones "entonces" se ejecutarán cada vez que el sensor envíe la temperatura y supere los 20 ° C. Por 21 ° C, por 22 ° C y así sucesivamente.',p5='El código se ejecutará solo si cambia el resultado de la condición. P.ej. si se activa en el valor del sensor de temperatura y la condición es "si la temperatura es superior a 20 ° C", las acciones "entonces" se ejecutarán una vez cuando la temperatura sea superior a 20. La próxima vez, las acciones "entonces" se ejecutarán cuando la temperatura falla por debajo de 20 y luego sube por encima de 20 nuevamente.',g5="horas",f5="incluye",m5="intervalo",b5="magia",$5="milisegundos",v5="minutos",y5="ms",_5="nadir",w5="Amanecer náutico",C5="Atardecer náutico",S5="próximo amanecer",T5="Próxima puesta de sol",k5="Noche",E5="Fin de la noche",I5="normal",x5="compensar",D5="uno",A5="o",O5="tranquilo",R5="buscar",M5="segundos",N5="Mediodía solar",L5="amanecer",B5="Final del amanecer",P5="puesta de sol",j5="Inicio al atardecer",F5="entonces",z5="Reconocer",U5="De",W5="Último cambio",H5="Calidad",V5="Marca de tiempo",G5="Usuario",K5="Valor",J5="dos",q5="actualizar",Y5="Agrega salida de depuración al registro para muchos comandos del sistema",X5="Salidas de registro detalladas",Z5="cuando",Q5="Wizard",eH={"%s not found":"%s no encontrado","()":"()","(at %s)":"(en %s)","(optional)":"(Opcional)","-":"-",".":".","AI code generator":"Generador de código de IA",Ack:lW,Actions:cW,"Actual time of day":"Hora real del día",Add:uW,"Add new script":"Agregar nuevo script",All:dW,"All files will be accepted":"Todos los archivos serán aceptados.",Any:hW,"Any month":"Cualquier mes",Apply:pW,April:gW,"Are you sure?":"¿Estás seguro?",Ask:fW,Astronomical:mW,"Astronomical events today":"Eventos astronómicos hoy",August:bW,"Blockly description":"Crear reglas por bloques gráficos","Body:":"Cuerpo:",Cancel:$W,"Cannot delete non empty item!":"¡No se puede eliminar un elemento no vacío!","Change layout":"Cambia el diseño",'Change theme (actual "%s")':'Cambiar tema (ahora - "%s")',"Check blocks":"Comprobar bloques","Check is not active, because javascript adapter is disabled":"La comprobación no está activa porque el adaptador Javascript está desactivado","Clear search input":"Borrar entrada de búsqueda","Click on this icon":"Haga clic en este ícono",Close:vW,"Close all but current":"Cerrar todo menos el actual","Collapse all":"Desplegar todo","Compares current time with astronomical event":"Compara la hora actual con un evento astronómico","Compares current time with the user specific time":"Compara la hora actual con la hora específica del usuario","Compares the state value with user defined value":"Compara el valor del estado con el valor definido por el usuario",Condition:yW,Conditions:_W,"Configuration not saved.":"Configuración no guardada.",Console:wW,"Control or update some state":"Controlar o actualizar algún estado","Control or update some state with delay":"Controlar o actualizar algún estado con retraso","Convert blockly to javascript for ever.":"Convierta instantáneamente en bloque a Javascript.",Copied:CW,"Copy script":"Copiar guion","Copy to clipboard":"Copiar al portapapeles","Create new":"Crear nuevo","Create new folder":"Crear nueva carpeta","Create new script":"Crear nuevo script","Create or edit CRON or time wizard":"Crear o editar CRON o asistente de tiempo","Dark Theme":"Tema oscuro","Dark style":"Estilo oscuro",Date:"Fecha","Debug instance":"Instancia de depuración","Debug options":"Opciones de depuración",December:SW,Default:TW,"Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...",Delay:kW,Delete:EW,"Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar guión",Description:IW,"Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s",Done:xW,"Double click to write value":"Doble clic para escribir el valor","Download as file":"Descargar como archivo","Drop some files here or click...":"Suelta algunos archivos aquí o haz clic ...","Duplicate name":"Nombre duplicado","Edit script or just double click":"Editar guión o simplemente hacer doble clic","Empty name is not allowed":"No se permite el nombre vacío","End search mode":"Fin del modo de búsqueda","Enter your question":"Ingrese su solicitud",Error:"Error","Error formatting code":"Código de formato de error","Error was found":"Error encontrado","Every day":"Diario",Exec:DW,"Executes some shell command":"Ejecuta algún comando de shell","Existing scripts will be overwritten.":"Los guiones existentes se sobrescribirán.","Expand all":"Expandir todo","Expert mode":"Modo experto",Explanation:AW,Export:OW,"Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados",Februar:RW,February:MW,Filter:NW,Folder:LW,Fr:BW,Friday:PW,Function:"Función","Function editor":"Editor de funciones","Function: executed":"Función: ejecutada","Go to next line":"Ir a la siguiente línea","HTTP Call":"Llamada HTTP","Hide logs":"Ocultar registros",ID:jW,ID1:FW,ID2:zW,Import:UW,"Import blocks":"Importar bloques","Import error":"Error de importación","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto",Instance:WW,"Instance is disabled":"La instancia está deshabilitada","Instance:":"Ejemplo:",Instances:HW,Instructions:VW,"Invalid CRON":"CRON inválido","It will not be possible to revert this operation.":"No será posible revertir esta operación.","JS description":"Crear reglas escribiendo Javascript",Januar:GW,January:KW,July:JW,June:qW,"Just check":"Sólo revisa","Language:":"Idioma:","Learn More":"Aprende más","Light style":"Estilo ligero",Limit:YW,"Local time":"Hora local","Locate file":"Localizar el archivo","Log outputs":"Salidas de registro","Log text":"Texto de registro","Log: %s":"Log: %s","Make a HTTP get request":"Realizar una solicitud de obtención HTTP","Make a pause between actions":"Hacer una pausa entre acciones",March:XW,"March ":"marzo",May:ZW,Menu:QW,Message:e3,Mo:t3,Model:n3,Monday:s3,Month:r3,More:i3,Name:o3,"No Chat GPT Key found":"No se ha encontrado ninguna clave GPT de chat","No active host found":"No se encontró un host activo","Nothing found":"Nada Encontrado",November:a3,OK:l3,October:c3,Ok:u3,"On condition change":"En condición de cambio","On script save or adapter start":"Al guardar el script o al iniciar el adaptador","On weekdays":"De lunes a viernes","Open configuration":"Configuración abierta","Operate two states":"Operar dos estados","Operations with two states":"Operaciones con dos estados","Paste your blocks here":"Pega tus bloques aquí",Pause:d3,"Pause execution":"Pausar ejecución","Pause script":"Pausar guion","Phone:":"Teléfono:","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Press Ctrl+Enter to get the answer":"Presiona Ctrl+Enter para obtener la respuesta","Prettify the script":"Embellecer el guión","Print some text in log":"Imprime texto en el registro","Priority:":"Prioridad:",Pushover:h3,Pushsafer:p3,"Read only ID selected: %s":"ID de solo lectura seleccionado: %s",Rename:g3,"Reorder scripts in folders":"Reordenar guiones en carpetas",Repeat:f3,Restart:m3,Result:b3,"Resume execution":"Reanudar ejecución","Root folder":"Carpeta raíz","Rules description":"Crea reglas con bloques IF, THEN, ELSE","Run script":"Ejecutar guión",Sa:$3,Saturday:v3,Save:y3,"Save all":"Salvar a todos","Say It":"Say It","Say some text via sayit adapter":"Di un mensaje de texto a través del adaptador sayit",Schedule:_3,Script:w3,"Script %s was modified on disk":"El script %s fue modificado en el disco","Script is not running":"El script no se está ejecutando","Search in scripts":"Buscar en guiones","Search...":"Buscar...","Select all":"Seleccionar todo","Send email":"Enviar correo electrónico","Sends an email":"Envía un correo electrónico","Sends message via Pushsafer":"Envía mensaje a través de Pushsafer","Sends message via pushover":"Envía un mensaje a través de un pushover","Sends message via telegram":"Envía mensaje por telegrama","Sends message via whatsapp-cmb":"Envía mensaje vía whatsapp-cmb",September:C3,"Server time":"Tiempo del servidor","Set state action":"Establecer acción estatal","Set with delay":"Establecer con retraso","Shell command":"Comando de Shell","Show astronomical events":"Mostrar eventos astronómicos","Show javascript code":"Mostrar código Javascript","Show logs":"Mostrar registros","Show only paused scripts":"Mostrar solo secuencias de comandos pausadas","Show only running scripts":"Mostrar solo scripts en ejecución","Show only scripts with problems":"Mostrar solo guiones con problemas",Simulate:S3,"Some files will be rejected":"Algunos archivos serán rechazados","Sound:":"Sonido:",Stack:T3,Start:k3,"Start script":"Iniciar guion",State:E3,"State condition":"Condición del estado","Step into function":"Entra en función","Step out from function":"Sal de la función","Stop on exception":"Deténgase en excepción",Su:I3,"Subject:":"Sujeto:",Sunday:x3,"TS description":"Crear reglas escribiendo el mecanografiado",Telegram:D3,"Text:":"Texto:",Th:A3,"The script will be stopped and must be activated manually after debugging. Continue?":"El script se detendrá y deberá activarse manualmente después de la depuración. ¿Continuar?","This is advances option. You can write your own code here and it will be executed on trigger":"Esta es la opción de avances. Puede escribir su propio código aquí y se ejecutará en el disparador",Thursday:O3,Time:R3,"Time condition":"Condición de tiempo","Title:":"Título:","To:":"A:","Trigger with value":"Activar con valor",Triggered:M3,Triggers:N3,"Triggers the on script saving or the javascript instance restart":"Activa el guardado de la secuencia de comandos o el reinicio de la instancia de JavaScript","Triggers the rule on update or change of some state":"Activa la regla de actualización o cambio de algún estado","Triggers the rule periodically or on some specific time":"Activa la regla periódicamente o en un momento específico",Tu:L3,Tuesday:B3,URL:P3,"Unknown error":"Error desconocido","Unknown error!":"¡Error desconocido!","Use generated code":"Usar código generado","User function":"Función de usuario","User:":"Usuario:",Value:j3,"Vibration:":"Vibración:",Volume:F3,We:z3,Wednesday:U3,"Whatsapp-cmb":"Whatsapp-cmb",Write:W3,"Write your own code":"Escribe tu propio código",Yes:H3,"Yet exists!":"¡Sin embargo existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Puede usar %s en la URL para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Puede usar %s en el comando para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación anterior","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Puede usar %s en el texto para mostrar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Puede usar %s en el valor para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You have to enter OpenAI API key in the configuration of javascript adapter.":"Debe ingresar la clave API de OpenAI en la configuración del adaptador de JavaScript.","[equal]":"[igual]","[greater or equal]":"[mayor o igual]","[greater]":"[mayor que]","[hysteresis]":"[histéresis]","[includes]":"[incluye]","[less or equal]":"[menor o igual]","[less]":"[menos]","[not equal]":"[no es igual]",acknowledgment:V3,all:G3,and:K3,astro:J3,at:q3,"clear running":"carrera clara",control:Y3,copy:X3,cron:Z3,dawn:Q3,debug_help:e5,debug_label:t5,default:"defecto",dusk:n5,easy:s5,else:"demás","equal to":"igual a",every:r5,"every hour at 0 minutes":"cada hora a los 0 minutos",false:"falso","file reading has failed: %s":"la lectura del archivo ha fallado: %s","file reading was aborted":"la lectura del archivo fue abortada",filter_func:i5,filter_id:o5,filter_name:a5,filter_role:l5,filter_room:c5,"for edit or create script":"para editar o crear un nuevo script","for professionals":"para profesionales","for programmers":"para programadores",goldenHour:u5,goldenHourEnd:d5,"greater or equal":"mayor o igual","greater or equal to":"mayor o igual a","greater than":"mas grande que",help_just_check:h5,help_on_change:p5,"high priority":"alta prioridad","high-priority":"alta prioridad","highest priority":"más alta prioridad",hours:g5,includes:f5,interval:m5,"just check":"Sólo revisa","less or equal":"menor o igual","less or equal to":"menor o igual a","less than":"menos que","lower priority":"prioridad más baja","lowest priority":"prioridad más baja",magic:b5,milliseconds:$5,minutes:v5,ms:y5,nadir:_5,nauticalDawn:w5,nauticalDusk:C5,nextSunrise:S5,nextSunset:T5,night:k5,nightEnd:E5,"no blocks found":"No se encontraron bloques","no group":"NO GRUPO",normal:I5,"normal priority":"prioridad normal","not equal to":"no igual a","not properly connected":"Este bloque no está conectado correctamente a otros bloques.",offset:x5,"on change":"en el cambio","on condition change":"con cambio de condición","on update":"en actualización",one:D5,or:A5,quiet:O5,"reset search":"restablecer la búsqueda",search:R5,seconds:M5,solarNoon:N5,"store in":"almacenar en",sunrise:L5,sunriseEnd:B5,sunset:P5,sunsetStart:j5,then:F5,"toggle value":"alternar valor",tooltip_ack:z5,tooltip_from:U5,tooltip_lc:W5,tooltip_quality:H5,tooltip_ts:V5,tooltip_user:G5,tooltip_value:K5,true:"cierto",two:J5,undefined:"indefinido",update:q5,"use seconds":"usar segundos","use trigger value":"usar valor de activación",verbose_help:Y5,verbose_label:X5,when:Z5,with:"con","with date":"con fecha","with offset":"con desplazamiento",wizard:Q5},tH="Reconnu",nH="Actions",sH="Ajouter",rH="Tout",iH="Tout",oH="Postuler",aH="avril",lH="Demander",cH="Astronomique",uH="août",dH="Annuler",hH="proche",pH="État",gH="Conditions",fH="Console",mH="Copié",bH="décembre",$H="Défaut",vH="Retard",yH="Effacer",_H="Description",wH="Terminé",CH="Exec shell",SH="Explication",TH="Exportation",kH="Février",EH="février",IH="Filtre",xH="Dossier",DH="Fr",AH="Vendredi",OH="ID",RH="ID1",MH="ID2",NH="Importation",LH="Exemple",BH="Instances",PH="Instructions",jH="Janvier",FH="janvier",zH="juillet",UH="juin",WH="Limite",HH="Mars",VH="Mai",GH="M e n u",KH="Message",JH="Mo",qH="Modèle",YH="Lundi",XH="Mois",ZH="Plus",QH="Nom",e4="novembre",t4="OK",n4="octobre",s4="D'accord",r4="Pause",i4="Pushover",o4="Pushsafer",a4="Renommer",l4="Répéter",c4="Redémarrer",u4="Résultat",d4="Sa",h4="samedi",p4="sauver",g4="Horaire",f4="Scénario",m4="septembre",b4="Simuler",$4="Stack",v4="Début",y4="État",_4="Su",w4="dimanche",C4="Télégramme",S4="4",T4="Jeudi",k4="Temps",E4="Déclenché",I4="Déclencheurs",x4="Tu",D4="Mardi",A4="URL",O4="Valeur",R4="Le volume",M4="3",N4="Mercredi",L4="Écrivez",B4="Oui",P4="reconnaissance",j4="tout",F4="et",z4="astro",U4="à",W4="contrôler",H4="copie",V4="CRON",G4="Aube",K4="Il s'agit d'un mode spécial dans lequel les états et les objets ne changeront pas. Mais seules les informations sur chaque changement prévu seront affichées dans le protocole.",J4="Déboguer",q4="Crépuscule",Y4="facile",X4="chaque",Z4="Une fonction",Q4="ID",e8="Nom",t8="Rôle",n8="Pièce",s8="Heure d'or",r8="Fin de l'heure d'or",i8="Le code ne sera exécuté que chaque fois que la condition est vraie. Par exemple. si déclenchement sur la valeur du capteur de température et que la condition est «si la température est supérieure à 20 ° C», les actions «alors» seront exécutées à chaque fois que le capteur envoie la température et qu'elle est supérieure à 20 ° C. À 21 ° C, à 22 ° C et ainsi de suite.",o8="Le code ne sera exécuté que si le résultat de la condition change. Par exemple. si le déclenchement sur la valeur du capteur de température et que la condition est «si la température est supérieure à 20 ° C», les actions «alors» seront exécutées une fois lorsque la température est supérieure à 20. La prochaine fois, les actions «alors» seront exécutées lorsque la température échoue sous 20 puis remonte au-dessus de 20.",a8="les heures",l8="comprend",c8="intervalle",u8="la magie",d8="millisecondes",h8="minutes",p8="ms",g8="nadir",f8="Aube nautique",m8="Crépuscule nautique",b8="Prochain lever de soleil",$8="Prochain coucher de soleil",v8="Nuit",y8="Fin de nuit",_8="Ordinaire",w8="décalage",C8="une",S8="ou",T8="calmer",k8="chercher",E8="secondes",I8="Midi solaire",x8="lever du soleil",D8="Fin du lever du soleil",A8="le coucher du soleil",O8="Début du coucher du soleil",R8="alors",M8="Reconnaître",N8="De",L8="Dernière modification",B8="Qualité",P8="Horodatage",j8="Utilisateur",F8="Valeur",z8="deux",U8="mettre à jour",W8="Ajoute une sortie de débogage au journal pour de nombreuses commandes système",H8="Sorties de journal détaillées",V8="lorsque",G8="Wizard",K8={"%s not found":"%s non trouvé","()":"()","(at %s)":"(à %s)","(optional)":"(optionnel)","-":"-",".":".","AI code generator":"Générateur de code IA",Ack:tH,Actions:nH,"Actual time of day":"Heure réelle de la journée",Add:sH,"Add new script":"Ajouter un nouveau script",All:rH,"All files will be accepted":"Tous les fichiers seront acceptés",Any:iH,"Any month":"N'importe quel mois",Apply:oH,April:aH,"Are you sure?":"Êtes-vous sûr?",Ask:lH,Astronomical:cH,"Astronomical events today":"Événements astronomiques aujourd'hui",August:uH,"Blockly description":"Création de règles par blocs graphiques","Body:":"Corps:",Cancel:dH,"Cannot delete non empty item!":"Impossible de supprimer un élément non vide!","Change layout":"Changer la disposition",'Change theme (actual "%s")':'Changer de thème (maintenant - "%s")',"Check blocks":"Vérifier les blocs","Check is not active, because javascript adapter is disabled":"La vérification n'est pas active, car l'adaptateur Javascript est désactivé","Clear search input":"Effacer la recherche","Click on this icon":"Cliquez sur cette icône",Close:hH,"Close all but current":"Ferme tout sauf courant","Collapse all":"Réduire tout","Compares current time with astronomical event":"Compare l'heure actuelle avec un événement astronomique","Compares current time with the user specific time":"Compare l'heure actuelle avec l'heure spécifique de l'utilisateur","Compares the state value with user defined value":"Compare la valeur d'état avec la valeur définie par l'utilisateur",Condition:pH,Conditions:gH,"Configuration not saved.":"Configuration non enregistrée.",Console:fH,"Control or update some state":"Contrôler ou mettre à jour un état","Control or update some state with delay":"Contrôler ou mettre à jour un état avec un délai","Convert blockly to javascript for ever.":"Convertissez instantanément en Javascript.",Copied:mH,"Copy script":"Copier le script","Copy to clipboard":"Copier dans le presse-papier","Create new":"Créer un nouveau","Create new folder":"Créer un nouveau dossier","Create new script":"Créer un nouveau script","Create or edit CRON or time wizard":"Créer ou éditer CRON ou un assistant de temps","Dark Theme":"Thème sombre","Dark style":"Style sombre",Date:"Date","Debug instance":"Instance de débogage","Debug options":"Options de débogage",December:bH,Default:$H,"Define cron...":"Définir le cron ...","Define schedule...":"Définir le calendrier ...",Delay:vH,Delete:yH,"Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script",Description:_H,"Deselect all":"Tout déselectionner","Discard changes for %s":"Ignorer les modifications pour %s",Done:wH,"Double click to write value":"Double clic pour écrire la valeur","Download as file":"Télécharger le fichier","Drop some files here or click...":"Déposer des fichiers ici ou cliquez sur ...","Duplicate name":"Nom en double","Edit script or just double click":"Modifiez le script ou double-cliquez simplement sur","Empty name is not allowed":"Le nom vide n'est pas autorisé","End search mode":"Fin du mode de recherche","Enter your question":"Entrez votre demande",Error:"Erreur","Error formatting code":"Erreur lors du formatage du code","Error was found":"Une erreur a été trouvée","Every day":"Tous les jours",Exec:CH,"Executes some shell command":"Exécute une commande shell","Existing scripts will be overwritten.":"Les scripts existants seront écrasés.","Expand all":"Développer tout","Expert mode":"Mode expert",Explanation:SH,Export:TH,"Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d'exportation","Export selected blocks":"Exporter les blocs sélectionnés",Februar:kH,February:EH,Filter:IH,Folder:xH,Fr:DH,Friday:AH,Function:"Fonction","Function editor":"Éditeur de fonction","Function: executed":"Fonction : exécutée","Go to next line":"Aller à la ligne suivante","HTTP Call":"Appel HTTP","Hide logs":"Masquer les journaux",ID:OH,ID1:RH,ID2:MH,Import:NH,"Import blocks":"Blocs d'importation","Import error":"Erreur d'importation","Import scripts":"Importer des scripts","Insert object ID":"Insérer un identifiant d'objet",Instance:LH,"Instance is disabled":"L'instance est désactivée","Instance:":"Exemple:",Instances:BH,Instructions:PH,"Invalid CRON":"CRON invalide","It will not be possible to revert this operation.":"Il ne sera pas possible de revenir sur cette opération.","JS description":"Créer des règles en écrivant du Javascript",Januar:jH,January:FH,July:zH,June:UH,"Just check":"Vérifiez simplement","Language:":"Langue:","Learn More":"Apprendre encore plus","Light style":"Style de lumière",Limit:WH,"Local time":"Heure locale","Locate file":"Localiser le fichier","Log outputs":"Journal des sorties","Log text":"Texte du journal","Log: %s":"Log : %s","Make a HTTP get request":"Faire une requête HTTP Get","Make a pause between actions":"Faites une pause entre les actions",March:HH,"March ":"mars",May:VH,Menu:GH,Message:KH,Mo:JH,Model:qH,Monday:YH,Month:XH,More:ZH,Name:QH,"No Chat GPT Key found":"Aucune clé GPT de chat trouvée","No active host found":"Aucun hôte actif trouvé","Nothing found":"Rien n'a été trouvé",November:e4,OK:t4,October:n4,Ok:s4,"On condition change":"En cas de changement de condition","On script save or adapter start":"Lors de l'enregistrement du script ou du démarrage de l'adaptateur","On weekdays":"En semaine","Open configuration":"Configuration ouverte","Operate two states":"Opérer deux états","Operations with two states":"Opérations à deux états","Paste your blocks here":"Collez vos blocs ici",Pause:r4,"Pause execution":"Suspendre l'exécution","Pause script":"Script de pause","Phone:":"Téléphone:","Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","Press Ctrl+Enter to get the answer":"Appuyez sur Ctrl+Entrée pour obtenir la réponse","Prettify the script":"Embellir le scénario","Print some text in log":"Imprimer du texte dans le journal","Priority:":"Priorité:",Pushover:i4,Pushsafer:o4,"Read only ID selected: %s":"ID en lecture seule sélectionné: %s",Rename:a4,"Reorder scripts in folders":"Réorganiser les scripts dans des dossiers",Repeat:l4,Restart:c4,Result:u4,"Resume execution":"Reprendre l'exécution","Root folder":"Dossier racine","Rules description":"Créer des règles avec des blocs IF, THEN, ELSE","Run script":"Script de lancement",Sa:d4,Saturday:h4,Save:p4,"Save all":"Sauver tous","Say It":"Say It","Say some text via sayit adapter":"Dites du texte via l'adaptateur sayit",Schedule:g4,Script:f4,"Script %s was modified on disk":"Le script %s a été modifié sur le disque","Script is not running":"Le script n'est pas en cours d'exécution","Search in scripts":"Rechercher dans les scripts","Search...":"Chercher...","Select all":"Tout sélectionner","Send email":"Envoyer un e-mail","Sends an email":"Envoie un e-mail","Sends message via Pushsafer":"Envoie un message via Pushsafer","Sends message via pushover":"Envoie un message via pushover","Sends message via telegram":"Envoie un message par télégramme","Sends message via whatsapp-cmb":"Envoie un message via whatsapp-cmb",September:m4,"Server time":"Heure du serveur","Set state action":"Définir l'action de l'état","Set with delay":"Set avec retard","Shell command":"Commande Shell","Show astronomical events":"Afficher les événements astronomiques","Show javascript code":"Afficher le code Javascript","Show logs":"Afficher les journaux","Show only paused scripts":"Afficher uniquement les scripts en pause","Show only running scripts":"Afficher uniquement les scripts en cours d'exécution","Show only scripts with problems":"Afficher uniquement les scripts avec des problèmes",Simulate:b4,"Some files will be rejected":"Certains fichiers seront rejetés","Sound:":"Sonner:",Stack:$4,Start:v4,"Start script":"Lancer le script",State:y4,"State condition":"État condition","Step into function":"Entrez dans la fonction","Step out from function":"Sortez de la fonction","Stop on exception":"Arrêt sur exception",Su:_4,"Subject:":"Sujet:",Sunday:w4,"TS description":"Créer des règles en écrivant des caractères dactylographiés",Telegram:C4,"Text:":"Texte:",Th:S4,"The script will be stopped and must be activated manually after debugging. Continue?":"Le script sera arrêté et doit être activé manuellement après le débogage. Continuez?","This is advances option. You can write your own code here and it will be executed on trigger":"C'est une option avancée. Vous pouvez écrire votre propre code ici et il sera exécuté au déclenchement",Thursday:T4,Time:k4,"Time condition":"Condition de temps","Title:":"Titre:","To:":"À:","Trigger with value":"Déclencheur avec valeur",Triggered:E4,Triggers:I4,"Triggers the on script saving or the javascript instance restart":"Déclenche l'enregistrement du script ou le redémarrage de l'instance javascript","Triggers the rule on update or change of some state":"Déclenche la règle sur la mise à jour ou le changement d'un état","Triggers the rule periodically or on some specific time":"Déclenche la règle périodiquement ou à une heure précise",Tu:x4,Tuesday:D4,URL:A4,"Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","Use generated code":"Utiliser le code généré","User function":"Fonction utilisateur","User:":"Utilisateur:",Value:O4,"Vibration:":"Vibration:",Volume:R4,We:M4,Wednesday:N4,"Whatsapp-cmb":"Whatsapp-cmb",Write:L4,"Write your own code":"Écrivez votre propre code",Yes:B4,"Yet exists!":"Pourtant existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans l'URL pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans la commande pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans le texte pour afficher la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans la valeur pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You have to enter OpenAI API key in the configuration of javascript adapter.":"Vous devez entrer la clé API OpenAI dans la configuration de l'adaptateur javascript.","[equal]":"[égal]","[greater or equal]":"[supérieur ou égal]","[greater]":"[plus grand]","[hysteresis]":"[hystérèse]","[includes]":"[comprend]","[less or equal]":"[inférieur ou égal]","[less]":"[moins]","[not equal]":"[inégal]",acknowledgment:P4,all:j4,and:F4,astro:z4,at:U4,"clear running":"course claire",control:W4,copy:H4,cron:V4,dawn:G4,debug_help:K4,debug_label:J4,default:"défaut",dusk:q4,easy:Y4,else:"autre","equal to":"égal à",every:X4,"every hour at 0 minutes":"toutes les heures à 0 minute",false:"faux","file reading has failed: %s":"La lecture du fichier a échoué: %s","file reading was aborted":"la lecture du fichier a été abandonnée",filter_func:Z4,filter_id:Q4,filter_name:e8,filter_role:t8,filter_room:n8,"for edit or create script":"pour éditer ou créer un nouveau script","for professionals":"pour les professionnels","for programmers":"pour les programmeurs",goldenHour:s8,goldenHourEnd:r8,"greater or equal":"supérieur ou égal","greater or equal to":"supérieur ou égal à","greater than":"plus grand que",help_just_check:i8,help_on_change:o8,"high priority":"haute priorité","high-priority":"haute priorité","highest priority":"priorité la plus élevée",hours:a8,includes:l8,interval:c8,"just check":"Vérifiez simplement","less or equal":"inférieur ou égal","less or equal to":"inférieur ou égal à","less than":"moins que","lower priority":"priorité inférieure","lowest priority":"priorité la plus basse",magic:u8,milliseconds:d8,minutes:h8,ms:p8,nadir:g8,nauticalDawn:f8,nauticalDusk:m8,nextSunrise:b8,nextSunset:$8,night:v8,nightEnd:y8,"no blocks found":"Aucun bloc trouvé","no group":"PAS DE GROUPE",normal:_8,"normal priority":"priorité normale","not equal to":"pas égal à","not properly connected":"Ce bloc n'est pas correctement connecté à d'autres blocs.",offset:w8,"on change":"sur le changement","on condition change":"sur changement de condition","on update":"sur mise à jour",one:C8,or:S8,quiet:T8,"reset search":"Réinitialiser la recherche",search:k8,seconds:E8,solarNoon:I8,"store in":"stocker dans",sunrise:x8,sunriseEnd:D8,sunset:A8,sunsetStart:O8,then:R8,"toggle value":"valeur de bascule",tooltip_ack:M8,tooltip_from:N8,tooltip_lc:L8,tooltip_quality:B8,tooltip_ts:P8,tooltip_user:j8,tooltip_value:F8,true:"vrai",two:z8,undefined:"indéfini",update:U8,"use seconds":"utiliser les secondes","use trigger value":"use trigger value",verbose_help:W8,verbose_label:H8,when:V8,with:"avec","with date":"avec date","with offset":"avec offset",wizard:G8},J8="Riconosciuto",q8="Azioni",Y8="Inserisci",X8="Tutti",Z8="Qualunque",Q8="Applica",eV="aprile",tV="Chiedere",nV="Astronomico",sV="agosto",rV="Annulla",iV="Vicino",oV="Condizione",aV="Condizioni",lV="Console",cV="Copiato",uV="dicembre",dV="Predefinito",hV="Ritardo",pV="Elimina",gV="Descrizione",fV="Fatto",mV="Execshell",bV="Spiegazione",$V="Esportare",vV="Februar",yV="febbraio",_V="Filtro",wV="Cartella",CV="P",SV="Venerdì",TV="ID",kV="ID1",EV="ID2",IV="Importare",xV="Esempio",DV="istanze",AV="Istruzioni",OV="Januar",RV="gennaio",MV="luglio",NV="giugno",LV="Limite",BV="marzo",PV="Maggio",jV="Menu",FV="Messaggio",zV="Mo",UV="Modello",WV="Lunedi",HV="Mese",VV="Di più",GV="Nome",KV="novembre",JV="OK",qV="ottobre",YV="Ok",XV="Pausa",ZV="Pushover",QV="Pushsafer",eG="Rinominare",tG="Ripetere",nG="Ricomincia",sG="Risultato",rG="Sa",iG="Sabato",oG="Salva",aG="Programma",lG="copione",cG="settembre",uG="Simulare",dG="Stack",hG="Cominciare",pG="Stato",gG="Su",fG="Domenica",mG="Telegramma",bG="4",$G="giovedi",vG="Tempo",yG="Innescato",_G="Trigger",wG="Tu",CG="martedì",SG="URL",TG="Valore",kG="Volume",EG="3",IG="mercoledì",xG="Scrivi",DG="sì",AG="riconoscimento",OG="tutti",RG="e",MG="astro",NG="a",LG="controllo",BG="copia",PG="CRON",jG="alba",FG="Questa è una modalità speciale in cui gli stati e gli oggetti non cambieranno. Ma nel protocollo verranno visualizzate solo le informazioni su ogni modifica pianificata.",zG="Debug",UG="crepuscolo",WG="facile",HG="ogni",VG="Funzione",GG="ID",KG="Nome",JG="Ruolo",qG="Camera",YG="Ora d'oro",XG="Fine dell'ora d'oro",ZG='Il codice verrà eseguito solo ogni volta che la condizione è vera. Per esempio. se si attiva il valore del sensore di temperatura e la condizione è "se la temperatura è maggiore di 20 ° C", le azioni "allora" verranno eseguite ogni volta che il sensore invia la temperatura e questa è superiore a 20 ° C. Di 21 ° C, di 22 ° C e così via.',QG='Il codice verrà eseguito solo se il risultato della condizione cambia. Per esempio. se si attiva il valore del sensore di temperatura e la condizione è "se la temperatura è maggiore di 20 ° C", le azioni "allora" verranno eseguite una volta quando la temperatura è superiore a 20. La prossima volta le azioni "allora" verranno eseguite quando la temperatura fallisce sotto 20 e poi sale di nuovo oltre 20.',e6="ore",t6="include",n6="intervallo",s6="Magia",r6="millisecondi",i6="minuti",o6="ms",a6="nadir",l6="Alba nautica",c6="Crepuscolo nautico",u6="Prossima alba",d6="Prossimo tramonto",h6="Notte",p6="Fine della notte",g6="normale",f6="compensare",m6="uno",b6="o",$6="silenzioso",v6="ricerca",y6="secondi",_6="Mezzogiorno solare",w6="Alba",C6="Fine dell'alba",S6="tramonto",T6="Inizio del tramonto",k6="poi",E6="Riconoscere",I6="A partire dal",x6="Ultima modifica",D6="Qualità",A6="timestamp",O6="Utente",R6="Valore",M6="Due",N6="aggiornare",L6="Aggiunge l'output di debug al registro per molti comandi di sistema",B6="Output di log dettagliati",P6="quando",j6="procedura guidata",F6={"%s not found":"%s non trovato","()":"()","(at %s)":"(a %s)","(optional)":"(opzionale)","-":"-",".":".","AI code generator":"Generatore di codice AI",Ack:J8,Actions:q8,"Actual time of day":"Ora effettiva della giornata",Add:Y8,"Add new script":"Aggiungi nuovo script",All:X8,"All files will be accepted":"Tutti i file saranno accettati",Any:Z8,"Any month":"Ogni mese",Apply:Q8,April:eV,"Are you sure?":"Sei sicuro?",Ask:tV,Astronomical:nV,"Astronomical events today":"Eventi astronomici oggi",August:sV,"Blockly description":"Creazione di regole tramite blocchi grafici","Body:":"Corpo:",Cancel:rV,"Cannot delete non empty item!":"Impossibile eliminare l'elemento non vuoto!","Change layout":"Cambia layout",'Change theme (actual "%s")':'Cambia tema (ora - "%s")',"Check blocks":"Controlla i blocchi","Check is not active, because javascript adapter is disabled":"Il controllo non è attivo perché l'adattatore Javascript è disabilitato","Clear search input":"Cancella input di ricerca","Click on this icon":"Clicca su questa icona",Close:iV,"Close all but current":"Chiudi tutto tranne corrente","Collapse all":"Comprimi tutto","Compares current time with astronomical event":"Confronta l'ora corrente con l'evento astronomico","Compares current time with the user specific time":"Confronta l'ora corrente con l'ora specifica dell'utente","Compares the state value with user defined value":"Confronta il valore dello stato con il valore definito dall'utente",Condition:oV,Conditions:aV,"Configuration not saved.":"Configurazione non salvata.",Console:lV,"Control or update some state":"Controlla o aggiorna uno stato","Control or update some state with delay":"Controlla o aggiorna uno stato con ritardo","Convert blockly to javascript for ever.":"Converti istantaneamente a blocchi in Javascript.",Copied:cV,"Copy script":"Copia script","Copy to clipboard":"Copia negli appunti","Create new":"Creare nuovo","Create new folder":"Crea una nuova cartella","Create new script":"Crea nuovo script","Create or edit CRON or time wizard":"Crea o modifica la procedura guidata CRON o time","Dark Theme":"Tema scuro","Dark style":"Stile scuro",Date:"Data","Debug instance":"Istanza di debug","Debug options":"Opzioni di debug",December:uV,Default:dV,"Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...",Delay:hV,Delete:pV,"Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script",Description:gV,"Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s",Done:fV,"Double click to write value":"Doppio clic per scrivere il valore","Download as file":"Scarica come file","Drop some files here or click...":"Trascina alcuni file qui o fai clic su ...","Duplicate name":"Nome duplicato","Edit script or just double click":"Modifica lo script o fai doppio clic","Empty name is not allowed":"Il nome vuoto non è consentito","End search mode":"Termina la modalità di ricerca","Enter your question":"Inserisci la tua richiesta",Error:"Errore","Error formatting code":"Errore di formattazione del codice","Error was found":"Errore trovato","Every day":"Ogni giorno",Exec:mV,"Executes some shell command":"Esegue alcuni comandi della shell","Existing scripts will be overwritten.":"Gli script esistenti verranno sovrascritti.","Expand all":"Espandi tutto","Expert mode":"Modalità esperto",Explanation:bV,Export:$V,"Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati",Februar:vV,February:yV,Filter:_V,Folder:wV,Fr:CV,Friday:SV,Function:"Funzione","Function editor":"Editor di funzioni","Function: executed":"Funzione: eseguita","Go to next line":"Vai alla riga successiva","HTTP Call":"Chiamata HTTP","Hide logs":"Nascondi i registri",ID:TV,ID1:kV,ID2:EV,Import:IV,"Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l'ID oggetto",Instance:xV,"Instance is disabled":"L'istanza è disabilitata","Instance:":"Esempio:",Instances:DV,Instructions:AV,"Invalid CRON":"CRON non valido","It will not be possible to revert this operation.":"Non sarà possibile ripristinare questa operazione.","JS description":"Creare regole scrivendo Javascript",Januar:OV,January:RV,July:MV,June:NV,"Just check":"Controlla solamente","Language:":"Linguaggio:","Learn More":"Per saperne di più","Light style":"Stile leggero",Limit:LV,"Local time":"Ora locale","Locate file":"Localizza file","Log outputs":"Registra le uscite","Log text":"Testo del registro","Log: %s":"Log: %s","Make a HTTP get request":"Effettua una richiesta get HTTP","Make a pause between actions":"Fai una pausa tra le azioni",March:BV,"March ":"marzo",May:PV,Menu:jV,Message:FV,Mo:zV,Model:UV,Monday:WV,Month:HV,More:VV,Name:GV,"No Chat GPT Key found":"Nessuna chiave GPT chat trovata","No active host found":"Nessun host attivo trovato","Nothing found":"Non abbiamo trovato nulla",November:KV,OK:JV,October:qV,Ok:YV,"On condition change":"A condizione che cambino","On script save or adapter start":"Al salvataggio dello script o all'avvio dell'adattatore","On weekdays":"Nei giorni della settimana","Open configuration":"Configurazione aperta","Operate two states":"Gestisci due stati","Operations with two states":"Operazioni con due stati","Paste your blocks here":"Incolla qui i tuoi blocchi",Pause:XV,"Pause execution":"Metti in pausa l'esecuzione","Pause script":"Metti in pausa lo script","Phone:":"Telefono:","Please select object ID...":"Seleziona l'ID oggetto ...","Press Ctrl+Enter to get the answer":"Premi Ctrl+Invio per ottenere la risposta","Prettify the script":"Abbellire la sceneggiatura","Print some text in log":"Stampa del testo nel registro","Priority:":"Priorità:",Pushover:ZV,Pushsafer:QV,"Read only ID selected: %s":"ID di sola lettura selezionato: %s",Rename:eG,"Reorder scripts in folders":"Riordina gli script nelle cartelle",Repeat:tG,Restart:nG,Result:sG,"Resume execution":"Riprendi esecuzione","Root folder":"Cartella root","Rules description":"Crea regole con i blocchi IF, THEN, ELSE","Run script":"Esegui script",Sa:rG,Saturday:iG,Save:oG,"Save all":"Salva tutto","Say It":"Say It","Say some text via sayit adapter":"Pronuncia del testo tramite l'adattatore sayit",Schedule:aG,Script:lG,"Script %s was modified on disk":"Lo script %s è stato modificato sul disco","Script is not running":"Lo script non è in esecuzione","Search in scripts":"Cerca negli script","Search...":"Ricerca...","Select all":"Seleziona tutto","Send email":"Invia una email","Sends an email":"Invia un'e-mail","Sends message via Pushsafer":"Invia messaggio tramite Pushsafer","Sends message via pushover":"Invia messaggio tramite pushover","Sends message via telegram":"Invia messaggio tramite telegramma","Sends message via whatsapp-cmb":"Invia messaggio tramite whatsapp-cmb",September:cG,"Server time":"Ora del server","Set state action":"Imposta l'azione dello stato","Set with delay":"Impostato con ritardo","Shell command":"Comando Shell","Show astronomical events":"Mostra eventi astronomici","Show javascript code":"Mostra codice Javascript","Show logs":"Mostra i log","Show only paused scripts":"Mostra solo script in pausa","Show only running scripts":"Mostra solo gli script in esecuzione","Show only scripts with problems":"Mostra solo script con problemi",Simulate:uG,"Some files will be rejected":"Alcuni file verranno rifiutati","Sound:":"Suono:",Stack:dG,Start:hG,"Start script":"Avvia script",State:pG,"State condition":"Condizione dello stato","Step into function":"Entra in funzione","Step out from function":"Esci dalla funzione","Stop on exception":"Ferma in caso di eccezione",Su:gG,"Subject:":"Soggetto:",Sunday:fG,"TS description":"Creare regole scrivendo dattiloscritto",Telegram:mG,"Text:":"Testo:",Th:bG,"The script will be stopped and must be activated manually after debugging. Continue?":"Lo script verrà interrotto e dovrà essere attivato manualmente dopo il debug. Continua?","This is advances option. You can write your own code here and it will be executed on trigger":"Questa è un'opzione anticipata. Puoi scrivere il tuo codice qui e verrà eseguito al trigger",Thursday:$G,Time:vG,"Time condition":"Condizione temporale","Title:":"Titolo:","To:":"Per:","Trigger with value":"Trigger con valore",Triggered:yG,Triggers:_G,"Triggers the on script saving or the javascript instance restart":"Attiva il salvataggio dello script o il riavvio dell'istanza javascript","Triggers the rule on update or change of some state":"Attiva la regola in caso di aggiornamento o modifica di uno stato","Triggers the rule periodically or on some specific time":"Attiva la regola periodicamente o in un momento specifico",Tu:wG,Tuesday:CG,URL:SG,"Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","Use generated code":"Usa il codice generato","User function":"Funzione utente","User:":"Utente:",Value:TG,"Vibration:":"Vibrazione:",Volume:kG,We:EG,Wednesday:IG,"Whatsapp-cmb":"Whatsapp-cmb",Write:xG,"Write your own code":"Scrivi il tuo codice",Yes:DG,"Yet exists!":"Esiste ancora!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"È possibile utilizzare %s nell'URL per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"È possibile utilizzare %s nel comando per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"È possibile utilizzare %s nel testo per visualizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"È possibile utilizzare %s nel valore per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You have to enter OpenAI API key in the configuration of javascript adapter.":"Devi inserire la chiave API OpenAI nella configurazione dell'adattatore javascript.","[equal]":"[pari]","[greater or equal]":"[maggiore o uguale]","[greater]":"[maggiore]","[hysteresis]":"[isteresi]","[includes]":"[include]","[less or equal]":"[minore o uguale]","[less]":"[Di meno]","[not equal]":"[non uguale]",acknowledgment:AG,all:OG,and:RG,astro:MG,at:NG,"clear running":"chiara esecuzione",control:LG,copy:BG,cron:PG,dawn:jG,debug_help:FG,debug_label:zG,default:"predefinito",dusk:UG,easy:WG,else:"altro","equal to":"uguale a",every:HG,"every hour at 0 minutes":"ogni ora a 0 minuti",false:"falso","file reading has failed: %s":"lettura file non riuscita: %s","file reading was aborted":"la lettura del file è stata interrotta",filter_func:VG,filter_id:GG,filter_name:KG,filter_role:JG,filter_room:qG,"for edit or create script":"per modificare o creare un nuovo script","for professionals":"per i professionisti","for programmers":"per i programmatori",goldenHour:YG,goldenHourEnd:XG,"greater or equal":"maggiore o uguale","greater or equal to":"maggiore o uguale a","greater than":"più grande di",help_just_check:ZG,help_on_change:QG,"high priority":"priorità alta","high-priority":"priorità alta","highest priority":"massima priorità",hours:e6,includes:t6,interval:n6,"just check":"controlla solamente","less or equal":"inferiore o uguale","less or equal to":"minore o uguale a","less than":"meno di","lower priority":"priorità inferiore","lowest priority":"priorità più bassa",magic:s6,milliseconds:r6,minutes:i6,ms:o6,nadir:a6,nauticalDawn:l6,nauticalDusk:c6,nextSunrise:u6,nextSunset:d6,night:h6,nightEnd:p6,"no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO",normal:g6,"normal priority":"priorità normale","not equal to":"non uguale a","not properly connected":"Questo blocco non è correttamente collegato ad altri blocchi.",offset:f6,"on change":"sul cambiamento","on condition change":"a cambio di condizione","on update":"in aggiornamento",one:m6,or:b6,quiet:$6,"reset search":"resetta la ricerca",search:v6,seconds:y6,solarNoon:_6,"store in":"conservare in",sunrise:w6,sunriseEnd:C6,sunset:S6,sunsetStart:T6,then:k6,"toggle value":"alterna valore",tooltip_ack:E6,tooltip_from:I6,tooltip_lc:x6,tooltip_quality:D6,tooltip_ts:A6,tooltip_user:O6,tooltip_value:R6,true:"vero",two:M6,undefined:"non definito",update:N6,"use seconds":"usa i secondi","use trigger value":"usa il trigger",verbose_help:L6,verbose_label:B6,when:P6,with:"con","with date":"con data","with offset":"con offset",wizard:j6},z6="Erkend",U6="Acties",W6="Toevoegen",H6="Alle",V6="Ieder",G6="Solliciteer",K6="april",J6="Vragen",q6="Astronomisch",Y6="augustus",X6="annuleren",Z6="Dichtbij",Q6="Staat",e9="Voorwaarden",t9="Troosten",n9="Gekopieerd",s9="december",r9="Standaard",i9="Vertraging",o9="Verwijder",a9="Beschrijving",l9="Gedaan",c9="Exec shell",u9="Uitleg",d9="Exporteren",h9="Februari",p9="februari",g9="Filter",f9="Map",m9="Vr",b9="vrijdag",$9="ID kaart",v9="ID1",y9="ID2",_9="Importeren",w9="Voorbeeld",C9="Instanties",S9="Instructies",T9="Januar",k9="januari",E9="juli",I9="juni",x9="Begrenzing",D9="maart",A9="mei",O9="Menu",R9="Bericht",M9="Ma",N9="Model",L9="maandag",B9="Maand",P9="Meer",j9="Naam",F9="november",z9="OK",U9="oktober",W9="OK",H9="Pauze",V9="Pushover",G9="Duwijzer",K9="andere naam geven",J9="Herhaling",q9="Herstarten",Y9="Resultaat",X9="Za",Z9="zaterdag",Q9="Opslaan",e7="Schema",t7="Script",n7="september",s7="Simuleren",r7="Stack",i7="Begin",o7="Staat",a7="Zo",l7="zondag",c7="Telegram",u7="4",d7="donderdag",h7="Tijd",p7="Veroorzaakt",g7="Triggers",f7="Di",m7="dinsdag",b7="URL",$7="Waarde",v7="Volume",y7="3",_7="woensdag",w7="Schrijven",C7="Ja",S7="erkenning",T7="alle",k7="en",E7="astro",I7="Bij",x7="controle",D7="kopiëren",A7="cron",O7="dageraad",R7="Dit is een speciale modus waarin toestanden en objecten niet veranderen. Maar alleen informatie over elke geplande wijziging wordt in het protocol weergegeven.",M7="Debuggen",N7="schemer",L7="eenvoudig",B7="elke",P7="Functie",j7="ID kaart",F7="Naam",z7="Rol",U7="Kamer",W7="gouden uur",H7="Einde van gouden uur",V7='De code wordt alleen uitgevoerd als de voorwaarde waar is. Bijv. als het triggeren op de temperatuursensorwaarde en de conditie is "als de temperatuur hoger is dan 20 ° C", zullen de "dan" acties worden uitgevoerd elke keer dat de sensor de temperatuur verzendt en deze hoger is dan 20 ° C. Bij 21 ° C, bij 22 ° C enzovoort.',G7='De code wordt alleen uitgevoerd als het conditieresultaat verandert. Bijv. als de temperatuursensor wordt geactiveerd en de conditie is "als de temperatuur hoger is dan 20 ° C", worden de "dan" -acties eenmaal uitgevoerd wanneer de temperatuur hoger is dan 20. De volgende keer worden de "dan" -acties uitgevoerd wanneer de temperatuur faalt onder de 20 en stijgt dan weer boven de 20.',K7="uren",J7="omvat",q7="interval",Y7="magie",X7="milliseconden",Z7="minuten",Q7="ms",eK="nadir",tK="Nautische dageraad",nK="Nautische schemering",sK="Volgende zonsopgang",rK="Volgende zonsondergang",iK="nacht",oK="Einde van de nacht",aK="normaal",lK="compensatie",cK="een",uK="of",dK="stil",hK="zoeken",pK="seconden",gK="Zonne-middag",fK="zonsopkomst",mK="Einde zonsopgang",bK="zonsondergang",$K="Begin van de zonsondergang",vK="vervolgens",yK="Erkennen",_K="Van",wK="Laatst gewijzigd",CK="Kwaliteit",SK="tijdstempel",TK="Gebruiker",kK="Waarde",EK="twee",IK="bijwerken",xK="Voegt foutopsporingsuitvoer toe aan het logboek voor veel systeemopdrachten",DK="Uitgebreide log-uitgangen",AK="wanneer",OK="tovenaar",RK={"%s not found":"%s niet gevonden","()":"()","(at %s)":"(op %s)","(optional)":"(optioneel)","-":"-",".":".","AI code generator":"AI-codegenerator",Ack:z6,Actions:U6,"Actual time of day":"Werkelijke tijd van de dag",Add:W6,"Add new script":"Nieuw script toevoegen",All:H6,"All files will be accepted":"Alle bestanden worden geaccepteerd",Any:V6,"Any month":"Elke maand",Apply:G6,April:K6,"Are you sure?":"Weet je zeker dat?",Ask:J6,Astronomical:q6,"Astronomical events today":"Astronomische gebeurtenissen vandaag",August:Y6,"Blockly description":"Regels maken door grafische blokken","Body:":"Lichaam:",Cancel:X6,"Cannot delete non empty item!":"Kan niet leeg item niet verwijderen!","Change layout":"Opmaak veranderen",'Change theme (actual "%s")':'Thema wijzigen (nu - "%s")',"Check blocks":"Controleer blokken","Check is not active, because javascript adapter is disabled":"Controle is niet actief, omdat Javascript-adapter is uitgeschakeld","Clear search input":"Zoekopdracht wissen","Click on this icon":"Klik op dit pictogram",Close:Z6,"Close all but current":"Alles sluiten behalve huidig","Collapse all":"Alles inklappen","Compares current time with astronomical event":"Vergelijkt huidige tijd met astronomische gebeurtenis","Compares current time with the user specific time":"Vergelijkt de huidige tijd met de gebruikerspecifieke tijd","Compares the state value with user defined value":"Vergelijkt de statuswaarde met de door de gebruiker gedefinieerde waarde",Condition:Q6,Conditions:e9,"Configuration not saved.":"Configuratie niet opgeslagen.",Console:t9,"Control or update some state":"Beheer of update een bepaalde staat","Control or update some state with delay":"Beheer of update een bepaalde staat met vertraging","Convert blockly to javascript for ever.":"Converteer direct blockly naar Javascript.",Copied:n9,"Copy script":"Kopieer script","Copy to clipboard":"Kopieer naar klembord","Create new":"Maak nieuw","Create new folder":"Maak een nieuwe map","Create new script":"Maak een nieuw script","Create or edit CRON or time wizard":"Creëer of bewerk CRON of tijdwizard","Dark Theme":"Donker thema","Dark style":"Donkere stijl",Date:"Datum","Debug instance":"Debug-instantie","Debug options":"Foutopsporingsopties",December:s9,Default:r9,"Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...",Delay:i9,Delete:o9,"Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen",Description:a9,"Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren",Done:l9,"Double click to write value":"Dubbelklikken om waarde te schrijven","Download as file":"Download","Drop some files here or click...":"Zet hier enkele bestanden neer of klik op ...","Duplicate name":"Dubbele naam","Edit script or just double click":"Bewerk het script of dubbelklik erop","Empty name is not allowed":"Lege naam is niet toegestaan","End search mode":"Zoekmodus beëindigen","Enter your question":"Voer uw verzoek in",Error:"Fout","Error formatting code":"Fout bij het opmaken van de code","Error was found":"Er is een fout gevonden","Every day":"Elke dag",Exec:c9,"Executes some shell command":"Voert een shell-commando uit","Existing scripts will be overwritten.":"Bestaande scripts worden overschreven.","Expand all":"Alles uitvouwen","Expert mode":"Expert modus",Explanation:u9,Export:d9,"Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken",Februar:h9,February:p9,Filter:g9,Folder:f9,Fr:m9,Friday:b9,Function:"Functie","Function editor":"Functie-editor","Function: executed":"Functie: uitgevoerd","Go to next line":"Ga naar de volgende regel","HTTP Call":"HTTP-oproep","Hide logs":"Verberg logboeken",ID:$9,ID1:v9,ID2:y9,Import:_9,"Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen",Instance:w9,"Instance is disabled":"Exemplaar is uitgeschakeld","Instance:":"Voorbeeld:",Instances:C9,Instructions:S9,"Invalid CRON":"Ongeldige CRON","It will not be possible to revert this operation.":"Het is niet mogelijk om deze bewerking terug te zetten.","JS description":"Regels maken door Javascript te schrijven",Januar:T9,January:k9,July:E9,June:I9,"Just check":"Kijk maar","Language:":"Taal:","Learn More":"Leer meer","Light style":"Lichte stijl",Limit:x9,"Local time":"Lokale tijd","Locate file":"Vind het bestand","Log outputs":"Log uitgangen","Log text":"Log tekst","Log: %s":"Logboek: %s","Make a HTTP get request":"Maak een HTTP-ophaalverzoek","Make a pause between actions":"Pauzeer tussen acties",March:D9,"March ":"maart",May:A9,Menu:O9,Message:R9,Mo:M9,Model:N9,Monday:L9,Month:B9,More:P9,Name:j9,"No Chat GPT Key found":"Geen Chat GPT-sleutel gevonden","No active host found":"Geen actieve host gevonden","Nothing found":"Niets gevonden",November:F9,OK:z9,October:U9,Ok:W9,"On condition change":"Op voorwaarde verandering","On script save or adapter start":"Bij het opslaan van het script of het starten van de adapter","On weekdays":"Op weekdagen","Open configuration":"Configuratie openen","Operate two states":"Bedien twee toestanden:","Operations with two states":"Bewerkingen met twee toestanden","Paste your blocks here":"Plak hier je blokken",Pause:H9,"Pause execution":"Uitvoering pauzeren","Pause script":"Pauzeer script","Phone:":"Telefoon:","Please select object ID...":"Selecteer object-ID ...","Press Ctrl+Enter to get the answer":"Druk op Ctrl+Enter om het antwoord te krijgen","Prettify the script":"Maak het script mooier","Print some text in log":"Druk wat tekst af in het logboek","Priority:":"Prioriteit:",Pushover:V9,Pushsafer:G9,"Read only ID selected: %s":"Alleen-lezen ID geselecteerd: %s",Rename:K9,"Reorder scripts in folders":"Sorteer scripts in mappen opnieuw",Repeat:J9,Restart:q9,Result:Y9,"Resume execution":"Uitvoering hervatten","Root folder":"Hoofdmap","Rules description":"Maak regels met IF, THEN, ELSE blokken","Run script":"Voer script uit",Sa:X9,Saturday:Z9,Save:Q9,"Save all":"Sla alles op","Say It":"Say It","Say some text via sayit adapter":"Zeg wat tekst via de sayit-adapter",Schedule:e7,Script:t7,"Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script is not running":"Script is niet actief","Search in scripts":"Zoeken in scripts","Search...":"Zoeken...","Select all":"Selecteer alles","Send email":"E-mail verzenden","Sends an email":"Stuurt een e-mail","Sends message via Pushsafer":"Stuurt bericht via Pushsafer","Sends message via pushover":"Stuurt bericht via pushover","Sends message via telegram":"Verzendt bericht via telegram","Sends message via whatsapp-cmb":"Stuurt bericht via whatsapp-cmb",September:n7,"Server time":"Servertijd","Set state action":"Stel statusactie in","Set with delay":"Met vertraging ingesteld","Shell command":"Shell-opdracht","Show astronomical events":"Laat astronomische gebeurtenissen zien","Show javascript code":"Javascript-code weergeven","Show logs":"Toon logboeken","Show only paused scripts":"Toon alleen onderbroken scripts","Show only running scripts":"Toon alleen actieve scripts","Show only scripts with problems":"Toon alleen scripts met problemen",Simulate:s7,"Some files will be rejected":"Sommige bestanden worden geweigerd","Sound:":"Geluid:",Stack:r7,Start:i7,"Start script":"Start het script",State:o7,"State condition":"Staat staat","Step into function":"Stap in functie","Step out from function":"Stap uit de functie","Stop on exception":"Stop bij uitzondering",Su:a7,"Subject:":"Onderwerpen:",Sunday:l7,"TS description":"Regels maken door Typescript te schrijven",Telegram:c7,"Text:":"Tekst:",Th:u7,"The script will be stopped and must be activated manually after debugging. Continue?":"Het script wordt gestopt en moet na het debuggen handmatig worden geactiveerd. Doorgaan met?","This is advances option. You can write your own code here and it will be executed on trigger":"Dit is een voorschotoptie. U kunt hier uw eigen code schrijven en deze wordt bij een trigger uitgevoerd",Thursday:d7,Time:h7,"Time condition":"Tijdsvoorwaarde","Title:":"Titel:","To:":"Naar:","Trigger with value":"Trigger met waarde",Triggered:p7,Triggers:g7,"Triggers the on script saving or the javascript instance restart":"Activeert het opslaan van het script of het opnieuw opstarten van de JavaScript-instantie","Triggers the rule on update or change of some state":"Activeert de regel voor het bijwerken of wijzigen van een bepaalde staat","Triggers the rule periodically or on some specific time":"Activeert de regel periodiek of op een specifieke tijd",Tu:f7,Tuesday:m7,URL:b7,"Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","Use generated code":"Gebruik gegenereerde code","User function":"Gebruikersfunctie","User:":"Gebruiker:",Value:$7,"Vibration:":"Trilling:",Volume:v7,We:y7,Wednesday:_7,"Whatsapp-cmb":"Whatsapp-cmb",Write:w7,"Write your own code":"Schrijf je eigen code",Yes:C7,"Yet exists!":"Toch bestaat!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"U kunt %s in de URL gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"U kunt %s in de opdracht gebruiken om de huidige triggerwaarde te gebruiken, %id om de getriggerde object-ID te gebruiken, %name om de getriggerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"U kunt %s in de tekst gebruiken om de huidige triggerwaarde weer te geven, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam weer te geven of %old om de oude triggerwaarde te gebruiken","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"U kunt %s in de waarde gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You have to enter OpenAI API key in the configuration of javascript adapter.":"U moet de OpenAI API-sleutel invoeren in de configuratie van de javascript-adapter.","[equal]":"[Gelijk]","[greater or equal]":"[groter of gelijk]","[greater]":"[groter]","[hysteresis]":"[hysterese]","[includes]":"[inclusief]","[less or equal]":"[minder of gelijk]","[less]":"[minder]","[not equal]":"[niet gelijk]",acknowledgment:S7,all:T7,and:k7,astro:E7,at:I7,"clear running":"duidelijk rennen",control:x7,copy:D7,cron:A7,dawn:O7,debug_help:R7,debug_label:M7,default:"standaard",dusk:N7,easy:L7,else:"anders","equal to":"gelijk aan",every:B7,"every hour at 0 minutes":"elk uur op 0 minuten",false:"false","file reading has failed: %s":"bestands lezen is mislukt: %s","file reading was aborted":"bestands lezen is afgebroken",filter_func:P7,filter_id:j7,filter_name:F7,filter_role:z7,filter_room:U7,"for edit or create script":"voor bewerken of een nieuw script maken","for professionals":"voor professionals","for programmers":"voor programmeurs",goldenHour:W7,goldenHourEnd:H7,"greater or equal":"groter of gelijk","greater or equal to":"groter of gelijk aan","greater than":"groter dan",help_just_check:V7,help_on_change:G7,"high priority":"hoge prioriteit","high-priority":"hoge prioriteit","highest priority":"hoogste prioriteit",hours:K7,includes:J7,interval:q7,"just check":"kijk maar","less or equal":"minder of gelijk","less or equal to":"minder of gelijk aan","less than":"minder dan","lower priority":"lagere prioriteit","lowest priority":"laagste prioriteit",magic:Y7,milliseconds:X7,minutes:Z7,ms:Q7,nadir:eK,nauticalDawn:tK,nauticalDusk:nK,nextSunrise:sK,nextSunset:rK,night:iK,nightEnd:oK,"no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP",normal:aK,"normal priority":"normale prioriteit","not equal to":"niet gelijk aan","not properly connected":"Dit blok is niet correct verbonden met andere blokken.",offset:lK,"on change":"bij verandering","on condition change":"op voorwaarde verandering","on update":"bij update",one:cK,or:uK,quiet:dK,"reset search":"reset zoeken",search:hK,seconds:pK,solarNoon:gK,"store in":"opslaan in",sunrise:fK,sunriseEnd:mK,sunset:bK,sunsetStart:$K,then:vK,"toggle value":"schakelwaarde",tooltip_ack:yK,tooltip_from:_K,tooltip_lc:wK,tooltip_quality:CK,tooltip_ts:SK,tooltip_user:TK,tooltip_value:kK,true:"waar",two:EK,undefined:"ongedefinieerd",update:IK,"use seconds":"gebruik seconden","use trigger value":"triggerwaarde gebruiken",verbose_help:xK,verbose_label:DK,when:AK,with:"met","with date":"met datum","with offset":"met offset",wizard:OK},MK="Potwierdzony",NK="Działania",LK="Dodaj",BK="Wszystko",PK="Każdy",jK="Zastosuj",FK="Kwiecień",zK="Zapytać",UK="Astronomiczny",WK="Sierpień",HK="Odwołaj",VK="Zamknij",GK="Stan",KK="Warunki",JK="Konsola",qK="Skopiowano",YK="Grudzień",XK="Domyślna",ZK="Opóźnienie",QK="Usuń",eJ="Opis",tJ="Gotowe",nJ="Uruchom shell",sJ="Wyjaśnienie",rJ="Eksport",iJ="Luty",oJ="Luty",aJ="Filtr",lJ="Folder",cJ="Pt",uJ="Piątek",dJ="ID",hJ="ID1",pJ="ID2",gJ="Import",fJ="Instancja",mJ="Instancje",bJ="Instrukcje",$J="Styczeń",vJ="Styczeń",yJ="Lipiec",_J="Czerwiec",wJ="Limit",CJ="Marzec",SJ="Maj",TJ="Menu",kJ="Wiadomość",EJ="Po",IJ="Model",xJ="Poniedziałek",DJ="Miesiąc",AJ="Więcej",OJ="Nazwa",RJ="Listopad",MJ="OK",NJ="Październik",LJ="Ok",BJ="Pauza",PJ="Pushover",jJ="Pushsafer",FJ="Przemianuj",zJ="Powtórz",UJ="Uruchom ponownie",WJ="Wynik",HJ="So",VJ="Sobota",GJ="Zapisz",KJ="Harmonogram",JJ="Skrypt",qJ="Wrzesień",YJ="Symulacja",XJ="Stos",ZJ="Początek",QJ="Stan",eq="Nd",tq="Niedziela",nq="Telegram",sq="Cz",rq="Czwartek",iq="Czas",oq="Wyzwolony",aq="Wyzwalacze",lq="Wt",cq="Wtorek",uq="URL",dq="Wartość",hq="Wolumen",pq="Śr",gq="Środa",fq="Pisać",mq="Tak",bq="potwierdzenie",$q="wszystko",vq="i",yq="Astro",_q="w",wq="kontrola",Cq="Kopiuj",Sq="CRON",Tq="Świt",kq="Jest to specjalny tryb, w którym stany i obiekty się nie zmieniają. Jednak w protokole będą wyświetlane tylko informacje o każdej planowanej zmianie.",Eq="Odpluskwić",Iq="Zmierzch",xq="łatwy",Dq="każdy",Aq="Funkcja",Oq="ID",Rq="Nazwa",Mq="Rola",Nq="Pokój",Lq="Złota godzina",Bq="Koniec złotej godziny",Pq="Kod zostanie wykonany tylko za każdym razem, gdy warunek będzie spełniony. Na przykład. jeśli wyzwalanie na wartość czujnika temperatury i warunek to „jeśli temperatura jest wyższa niż 20 ° C”, to działania „następnie” będą wykonywane za każdym razem, gdy czujnik wyśle temperaturę i jest powyżej 20 ° C. O 21 ° C, o 22 ° C i tak dalej.",jq="Kod zostanie wykonany tylko wtedy, gdy wynik warunku ulegnie zmianie. Na przykład. jeśli wyzwalanie na wartość czujnika temperatury i warunek „jeśli temperatura jest wyższa niż 20 ° C”, to akcje „następnie” zostaną wykonane raz, gdy temperatura przekroczy 20. Następnym razem działania „następnie” zostaną wykonane, gdy temperatura nie udaje się poniżej 20, a następnie ponownie wzrasta powyżej 20.",Fq="godziny",zq="zawiera",Uq="interwał",Wq="magia",Hq="milisekund",Vq="minuty",Gq="ms",Kq="Północ słoneczna",Jq="Żeglarski świt",qq="Żeglarski zmierzch",Yq="Następny wschód słońca",Xq="Następny zachód słońca",Zq="Noc",Qq="Koniec nocy",eY="normalny",tY="przesunięcie",nY="jeden",sY="lub",rY="cisza",iY="Szukaj",oY="sekundy",aY="Południe słoneczne",lY="Wschód słońca",cY="Koniec wschodu słońca",uY="Zachód słońca",dY="Początek zachodu słońca",hY="następnie",pY="Akceptuj",gY="Od",fY="Ostatnia zmiana",mY="Jakość",bY="Znacznik czasu",$Y="Użytkownik",vY="Wartość",yY="dwa",_Y="aktualizacja",wY="Dodaje wyniki debugowania do dziennika dla wielu poleceń systemowych",CY="Pełne dane wyjściowe dziennika",SY="gdy",TY="Wizard",kY={"%s not found":"%s nie znaleziono","()":"()","(at %s)":"(w %s)","(optional)":"(opcjonalny)","-":"-",".":".","AI code generator":"Generator kodu AI",Ack:MK,Actions:NK,"Actual time of day":"Aktualna pora dnia",Add:LK,"Add new script":"Dodaj nowy skrypt",All:BK,"All files will be accepted":"Wszystkie pliki zostaną zaakceptowane",Any:PK,"Any month":"Dowolny miesiąc",Apply:jK,April:FK,"Are you sure?":"Jesteś pewny?",Ask:zK,Astronomical:UK,"Astronomical events today":"Wydarzenia astronomiczne dzisiaj",August:WK,"Blockly description":"Tworzenie reguł za pomocą bloków graficznych","Body:":"Treść:",Cancel:HK,"Cannot delete non empty item!":"Nie można usunąć niepustego elementu!","Change layout":"Zmiana układu",'Change theme (actual "%s")':"Zmień motyw (obecnie - „%s”)","Check blocks":"Sprawdź bloki","Check is not active, because javascript adapter is disabled":"Sprawdzanie nie jest aktywne, ponieważ adapter Javascript jest wyłączony","Clear search input":"Wyczyść dane wyszukiwania","Click on this icon":"Kliknij tę ikonę",Close:VK,"Close all but current":"Zamknij wszystkie oprócz bieżących","Collapse all":"Zwinąć wszystkie","Compares current time with astronomical event":"Porównuje aktualny czas z wydarzeniem astronomicznym","Compares current time with the user specific time":"Porównuje aktualny czas z czasem określonym przez użytkownika","Compares the state value with user defined value":"Porównuje wartość stanu z wartością zdefiniowaną przez użytkownika",Condition:GK,Conditions:KK,"Configuration not saved.":"Konfiguracja nie została zapisana.",Console:JK,"Control or update some state":"Kontroluj lub aktualizuj stan","Control or update some state with delay":"Kontroluj lub aktualizuj jakiś stan z opóźnieniem","Convert blockly to javascript for ever.":"Bezpowrotna konwersja Blockly na Javascript.",Copied:qK,"Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Create new":"Utwórz nowy","Create new folder":"Utwórz nowy folder","Create new script":"Utwórz nowy skrypt","Create or edit CRON or time wizard":"Utwórz lub edytuj CRON lub kreator czasu","Dark Theme":"Ciemny schemat","Dark style":"Ciemny styl",Date:"Data","Debug instance":"Debuguj instancję","Debug options":"Opcje debugowania",December:YK,Default:XK,"Define cron...":"Zdefiniuj CRON ...","Define schedule...":"Zdefiniuj harmonogram ...",Delay:ZK,Delete:QK,"Delete %s":"Usuń %s ...","Delete folder":"Usuń folder","Delete script":"Usuń skrypt",Description:eJ,"Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzuć zmiany dla %s",Done:tJ,"Double click to write value":"Kliknij dwukrotnie, aby zapisać wartość","Download as file":"Download jako plik plik","Drop some files here or click...":"Upuść niektóre pliki tutaj lub kliknij ...","Duplicate name":"Duplikat nazwy","Edit script or just double click":"Edytuj skrypt lub po prostu kliknij dwukrotnie","Empty name is not allowed":"Pusta nazwa jest niedozwolona","End search mode":"Zakończ tryb wyszukiwania","Enter your question":"Wpisz swoją prośbę",Error:"Błąd","Error formatting code":"Błąd formatowania kodu","Error was found":"Błąd został znaleziony","Every day":"Codziennie",Exec:nJ,"Executes some shell command":"Wykonuje polecenie powłoki","Existing scripts will be overwritten.":"Istniejące skrypty zostaną zastąpione.","Expand all":"Rozwiń wszystkie","Expert mode":"Tryb ekspercki",Explanation:sJ,Export:rJ,"Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki",Februar:iJ,February:oJ,Filter:aJ,Folder:lJ,Fr:cJ,Friday:uJ,Function:"Funkcja","Function editor":"Edytor funkcji","Function: executed":"Funkcja: wykonywana","Go to next line":"Przejdź do następnej linii","HTTP Call":"Połączenie HTTP","Hide logs":"Ukryj dzienniki",ID:dJ,ID1:hJ,ID2:pJ,Import:gJ,"Import blocks":"Importuj bloki","Import error":"Błąd importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu",Instance:fJ,"Instance is disabled":"Instancja jest wyłączona","Instance:":"Instancja:",Instances:mJ,Instructions:bJ,"Invalid CRON":"Nieprawidłowy CRON","It will not be possible to revert this operation.":"Cofnięcie tej operacji nie będzie możliwe.","JS description":"Tworzenie reguł w Javascript",Januar:$J,January:vJ,July:yJ,June:_J,"Just check":"Po prostu sprawdź","Language:":"Język:","Learn More":"Ucz się więcej","Light style":"Lekki styl",Limit:wJ,"Local time":"Czas lokalny","Locate file":"Znajdź plik","Log outputs":"Log dziennika","Log text":"Tekst dziennika","Log: %s":"Dziennik: %s","Make a HTTP get request":"Złóż żądanie HTTP get","Make a pause between actions":"Zrób przerwę między czynnościami",March:CJ,"March ":"Marzec ",May:SJ,Menu:TJ,Message:kJ,Mo:EJ,Model:IJ,Monday:xJ,Month:DJ,More:AJ,Name:OJ,"No Chat GPT Key found":"Nie znaleziono klucza GPT czatu","No active host found":"Nie znaleziono aktywnego hosta","Nothing found":"Nic nie znaleziono",November:RJ,OK:MJ,October:NJ,Ok:LJ,"On condition change":"W przypadku zmiany warunków","On script save or adapter start":"Podczas zapisywania skryptu lub uruchamiania adaptera","On weekdays":"W dni powszednie","Open configuration":"Otwarta konfiguracja","Operate two states":"Obsługuj dwa stany","Operations with two states":"Operacje z dwoma stanami","Paste your blocks here":"Wklej tutaj swoje bloki",Pause:BJ,"Pause execution":"Wstrzymaj wykonanie","Pause script":"Wstrzymaj skrypt","Phone:":"Telefon:","Please select object ID...":"Wybierz identyfikator obiektu ...","Press Ctrl+Enter to get the answer":"Naciśnij klawisze Ctrl+Enter, aby uzyskać odpowiedź","Prettify the script":"Upiększ skrypt","Print some text in log":"Wydrukuj tekst w dzienniku","Priority:":"Priorytet:",Pushover:PJ,Pushsafer:jJ,"Read only ID selected: %s":"Wybrano identyfikator tylko do odczytu: %s",Rename:FJ,"Reorder scripts in folders":"Zmień kolejność skryptów w folderach",Repeat:zJ,Restart:UJ,Result:WJ,"Resume execution":"Wznów wykonanie","Root folder":"Folder główny","Rules description":"Twórz reguły z blokami IF, THEN, ELSE","Run script":"Uruchom skrypt",Sa:HJ,Saturday:VJ,Save:GJ,"Save all":"Zapisz wszystko","Say It":"Wypowiedz","Say some text via sayit adapter":"Powiedz tekst przez adapter sayit",Schedule:KJ,Script:JJ,"Script %s was modified on disk":"Skrypt %s został zmodyfikowany na dysku","Script is not running":"Skrypt nie działa","Search in scripts":"Szukaj w skryptach","Search...":"Szukaj...","Select all":"Zaznacz wszystko","Send email":"Wysłać email","Sends an email":"Wysyła e-mail","Sends message via Pushsafer":"Wysyła wiadomość przez Pushsafer","Sends message via pushover":"Wysyła wiadomość przez pushover","Sends message via telegram":"Wysyła wiadomość telegramem","Sends message via whatsapp-cmb":"Wysyła wiadomość przez WhatsApp-cmb",September:qJ,"Server time":"Czas serwera","Set state action":"Ustaw stan działania","Set with delay":"Ustaw z opóźnieniem","Shell command":"Polecenie powłoki","Show astronomical events":"Pokaż wydarzenia astronomiczne","Show javascript code":"Pokaż kod JavaScript","Show logs":"Pokaż dzienniki","Show only paused scripts":"Pokaż tylko wstrzymane skrypty","Show only running scripts":"Pokaż tylko działające skrypty","Show only scripts with problems":"Pokaż tylko skrypty z problemami",Simulate:YJ,"Some files will be rejected":"Niektóre pliki zostaną odrzucone","Sound:":"Dźwięk:",Stack:XJ,Start:ZJ,"Start script":"Uruchom skrypt",State:QJ,"State condition":"Warunek stanu","Step into function":"Wejdź do funkcji","Step out from function":"Wyjdź z funkcji","Stop on exception":"Zatrzymaj się na wyjątku",Su:eq,"Subject:":"Temat:",Sunday:tq,"TS description":"Tworzenie reguł w Typescript",Telegram:nq,"Text:":"Tekst:",Th:sq,"The script will be stopped and must be activated manually after debugging. Continue?":"Skrypt zostanie zatrzymany i należy go aktywować ręcznie po debugowaniu. Kontyntynuj?","This is advances option. You can write your own code here and it will be executed on trigger":"To jest opcja zaawansowana. Możesz tutaj napisać własny kod, który zostanie wykonany po wyzwoleniu",Thursday:rq,Time:iq,"Time condition":"Warunek czasowy","Title:":"Tytuł:","To:":"Do:","Trigger with value":"Wyzwalacz z wartością",Triggered:oq,Triggers:aq,"Triggers the on script saving or the javascript instance restart":"Uruchamia zapisywanie skryptu lub restart instancji javascript","Triggers the rule on update or change of some state":"Uruchamia regułę przy aktualizacji lub zmianie jakiegoś stanu","Triggers the rule periodically or on some specific time":"Uruchamia regułę okresowo lub w określonym czasie",Tu:lq,Tuesday:cq,URL:uq,"Unknown error":"Nieznany błąd","Unknown error!":"Nieznany błąd!","Use generated code":"Użyj wygenerowanego kodu","User function":"Funkcja użytkownika","User:":"Użytkownik:",Value:dq,"Vibration:":"Wibracja:",Volume:hq,We:pq,Wednesday:gq,"Whatsapp-cmb":"Whatsapp-cmb",Write:fq,"Write your own code":"Napisz swój własny kod",Yes:mq,"Yet exists!":"A jednak istnieje!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Możesz użyć %s w adresie URL, aby użyć bieżącej wartości wyzwalacza, %id, aby użyć wyzwalanego identyfikatora obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalacza","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Możesz użyć %s w poleceniu, aby użyć bieżącej wartości wyzwalającej, %id, aby użyć identyfikatora wyzwalanego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalającej","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Możesz użyć %s w tekście, aby wyświetlić aktualną wartość wyzwalającą, %id, aby użyć identyfikatora wyzwolonego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwolonego obiektu lub %old, aby użyć starej wartości wyzwalającej","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Możesz użyć %s w wartości, aby użyć bieżącej wartości wyzwalacza, %id, aby użyć identyfikatora wyzwalanego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalacza","You have to enter OpenAI API key in the configuration of javascript adapter.":"Należy wprowadzić klucz OpenAI API w konfiguracji adaptera javascript.","[equal]":"[równy]","[greater or equal]":"[większe lub równe]","[greater]":"[większe]","[hysteresis]":"[histereza]","[includes]":"[obejmuje]","[less or equal]":"[mniejsze lub równe]","[less]":"[mniejsze]","[not equal]":"[nie równe]",acknowledgment:bq,all:$q,and:vq,astro:yq,at:_q,"clear running":"czyste uruchomienie",control:wq,copy:Cq,cron:Sq,dawn:Tq,debug_help:kq,debug_label:Eq,default:"domyślna",dusk:Iq,easy:xq,else:"inaczej","equal to":"równy",every:Dq,"every hour at 0 minutes":"co godzinę po 0 minutach",false:"fałsz","file reading has failed: %s":"odczyt pliku nie powiódł się: %s","file reading was aborted":"odczyt pliku został przerwany",filter_func:Aq,filter_id:Oq,filter_name:Rq,filter_role:Mq,filter_room:Nq,"for edit or create script":"do edycji lub utwórz nowy skrypt","for professionals":"dla profesjonalistów","for programmers":"dla programistów",goldenHour:Lq,goldenHourEnd:Bq,"greater or equal":"większe lub równe","greater or equal to":"więcej lub równo","greater than":"więcej niż",help_just_check:Pq,help_on_change:jq,"high priority":"wysoki priorytet","high-priority":"wysoki priorytet","highest priority":"najwyższy priorytet",hours:Fq,includes:zq,interval:Uq,"just check":"po prostu sprawdź","less or equal":"mniejsze lub równe","less or equal to":"mniej lub równo","less than":"mniej niż","lower priority":"niższy priorytet","lowest priority":"najniższy priorytet",magic:Wq,milliseconds:Hq,minutes:Vq,ms:Gq,nadir:Kq,nauticalDawn:Jq,nauticalDusk:qq,nextSunrise:Yq,nextSunset:Xq,night:Zq,nightEnd:Qq,"no blocks found":"Nie znaleziono bloków","no group":"BRAK GRUPY",normal:eY,"normal priority":"normalny priorytet","not equal to":"nie równa się","not properly connected":"Ten blok nie jest poprawnie podłączony do innych bloków.",offset:tY,"on change":"na zmianę","on condition change":"pod warunkiem zmiany warunków","on update":"po aktualizacji",one:nY,or:sY,quiet:rY,"reset search":"zresetuj wyszukiwanie",search:iY,seconds:oY,solarNoon:aY,"store in":"przechowaj w",sunrise:lY,sunriseEnd:cY,sunset:uY,sunsetStart:dY,then:hY,"toggle value":"wartość przełączania",tooltip_ack:pY,tooltip_from:gY,tooltip_lc:fY,tooltip_quality:mY,tooltip_ts:bY,tooltip_user:$Y,tooltip_value:vY,true:"prawda",two:yY,undefined:"nieokreślony",update:_Y,"use seconds":"użyj sekund","use trigger value":"użyj wartości wyzwalającej",verbose_help:wY,verbose_label:CY,when:SY,with:"z","with date":"z datą","with offset":"z przesunięciem",wizard:TY},EY="Reconhecido",IY="Ações",xY="Adicionar",DY="Todos",AY="Nenhum",OY="Aplique",RY="abril",MY="Perguntar",NY="Astronômico",LY="agosto",BY="Cancelar",PY="Fechar",jY="Doença",FY="Condições",zY="Console",UY="Copiado",WY="dezembro",HY="Predefinição",VY="Atraso",GY="Deletar",KY="Descrição",JY="Pronto",qY="Exec shell",YY="Explicação",XY="Exportação",ZY="Februar",QY="fevereiro",eX="Filtro",tX="Pasta",nX="Fr",sX="Sexta-feira",rX="ID",iX="ID1",oX="ID2",aX="Importar",lX="Instância",cX="Instâncias",uX="Instruções",dX="Januar",hX="janeiro",pX="julho",gX="junho",fX="Limite",mX="março",bX="maio",$X="Menu",vX="mensagem",yX="Mo",_X="Modelo",wX="Segunda-feira",CX="Mês",SX="Mais",TX="Nome",kX="novembro",EX="OK",IX="outubro",xX="Ok",DX="Pausa",AX="Pushover",OX="Pushsafer",RX="Renomear",MX="Repetir",NX="Reiniciar",LX="Resultado",BX="Sá",PX="Sábado",jX="Salve",FX="Cronograma",zX="Script",UX="setembro",WX="Simular",HX="Pilha",VX="Começar",GX="Estado",KX="Su",JX="Domingo",qX="Telegrama",YX="4",XX="Quinta-feira",ZX="Tempo",QX="Provocado",eZ="Gatilhos",tZ="Tu",nZ="terça",sZ="URL",rZ="Valor",iZ="Volume",oZ="3",aZ="quarta",lZ="Escrever",cZ="sim",uZ="reconhecimento",dZ="todos",hZ="e",pZ="astro",gZ="no",fZ="ao controle",mZ="copiar",bZ="CRON",$Z="alvorecer",vZ="Este é um modo especial no qual estados e objetos não serão alterados. Mas apenas as informações sobre cada mudança planejada serão exibidas no protocolo.",yZ="Depurar",_Z="Crepúsculo",wZ="fácil",CZ="cada",SZ="Função",TZ="ID",kZ="Nome",EZ="Tipo",IZ="Quarto",xZ="Hora dourada",DZ="Fim da hora de ouro",AZ='O código será executado apenas sempre que a condição for verdadeira. Por exemplo. se disparar no valor do sensor de temperatura e a condição for "se a temperatura for maior que 20 ° C", as ações "então" serão executadas toda vez que o sensor enviar a temperatura e ela estiver acima de 20 ° C. Por 21 ° C, por 22 ° C e assim por diante.',OZ='O código será executado apenas se o resultado da condição mudar. Por exemplo. se disparar no valor do sensor de temperatura e a condição for "se a temperatura for maior que 20 ° C", as ações "então" serão executadas uma vez quando a temperatura estiver acima de 20. Na próxima vez, as ações "então" serão executadas quando a temperatura falha abaixo de 20 e sobe acima de 20 novamente.',RZ="horas",MZ="inclui",NZ="intervalo",LZ="Magia",BZ="milissegundos",PZ="minutos",jZ="ms",FZ="nadir",zZ="Madrugada náutica",UZ="Crepúsculo náutico",WZ="próximo nascer do sol",HZ="Próximo pôr do sol",VZ="Noite",GZ="Fim de noite",KZ="normal",JZ="Deslocamento",qZ="1",YZ="ou",XZ="quieto",ZZ="procurar",QZ="segundos",eQ="Meio-dia solar",tQ="nascer do sol",nQ="Fim do nascer do sol",sQ="pôr do sol",rQ="Começo do pôr do sol",iQ="então",oQ="reconhecer",aQ="de",lQ="Última alteração",cQ="Qualidade",uQ="timestamp",dQ="usuário",hQ="valor",pQ="dois",gQ="atualizar",fQ="Adiciona saída de depuração ao log para muitos comandos do sistema",mQ="Saídas de log detalhadas",bQ="quando",$Q="Wizard",vQ={"%s not found":"%s não encontrado","()":"()","(at %s)":"(em %s)","(optional)":"(opcional)","-":"-",".":".","AI code generator":"Gerador de código de IA",Ack:EY,Actions:IY,"Actual time of day":"Hora real do dia",Add:xY,"Add new script":"Adicionar novo script",All:DY,"All files will be accepted":"Todos os arquivos serão aceitos",Any:AY,"Any month":"Qualquer mês",Apply:OY,April:RY,"Are you sure?":"Você tem certeza?",Ask:MY,Astronomical:NY,"Astronomical events today":"Eventos astronômicos hoje",August:LY,"Blockly description":"Criando regras por blocos gráficos","Body:":"Corpo:",Cancel:BY,"Cannot delete non empty item!":"Não pode ser deletar, porque não está vazio!","Change layout":"Alterar layout",'Change theme (actual "%s")':'Alterar tema (agora - "%s")',"Check blocks":"Verificar blocos","Check is not active, because javascript adapter is disabled":"A verificação de sintaxe não está ativa porque o adaptador javascript não está rodando.","Clear search input":"Limpar entrada de pesquisa","Click on this icon":"Clique neste ícone",Close:PY,"Close all but current":"Fechar tudo, menos atual","Collapse all":"Recolher todos","Compares current time with astronomical event":"Compara o tempo atual com o evento astronômico","Compares current time with the user specific time":"Compara a hora atual com a hora específica do usuário","Compares the state value with user defined value":"Compara o valor do estado com o valor definido pelo usuário",Condition:jY,Conditions:FY,"Configuration not saved.":"Configuração não esta salva.",Console:zY,"Control or update some state":"Controlar ou atualizar algum estado","Control or update some state with delay":"Controlar ou atualizar algum estado com atraso","Convert blockly to javascript for ever.":"Converter Blockly em Javascript permanentemente.",Copied:UY,"Copy script":"Copiar script","Copy to clipboard":"Copiar para área de transferência","Create new":"Crie um novo","Create new folder":"Criar nova pasta","Create new script":"Criar novo script","Create or edit CRON or time wizard":"Criar ou editar o assistente cron ou o assistente de horário","Dark Theme":"Layout escuro","Dark style":"Estilo escuro",Date:"Encontro","Debug instance":"Instância de depuração","Debug options":"Opções de depuração",December:WY,Default:HY,"Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...",Delay:VY,Delete:GY,"Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script",Description:KY,"Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar alterações para %s",Done:JY,"Double click to write value":"Clique duas vezes para escrever o valor","Download as file":"Baixar como arquivo","Drop some files here or click...":"Solte alguns arquivos aqui ou clique em...","Duplicate name":"Nome duplicado","Edit script or just double click":"Edite o script ou clique duas vezes","Empty name is not allowed":"Nome vazio não é permitido","End search mode":"Finalizar modo de pesquisa","Enter your question":"Digite sua solicitação",Error:"Erro","Error formatting code":"Erro de formatação de código","Error was found":"Erro foi encontrado","Every day":"Todos os dias",Exec:qY,"Executes some shell command":"Executa algum comando shell","Existing scripts will be overwritten.":"Os scripts existentes serão substituídos.","Expand all":"Expandir todos","Expert mode":"Modo de especialista",Explanation:YY,Export:XY,"Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados",Februar:ZY,February:QY,Filter:eX,Folder:tX,Fr:nX,Friday:sX,Function:"Função","Function editor":"Editor de funções","Function: executed":"Função: executado","Go to next line":"Vá para a próxima linha","HTTP Call":"Chamada HTTP","Hide logs":"Ocultar logs",ID:rX,ID1:iX,ID2:oX,Import:aX,"Import blocks":"Importar blocos","Import error":"Erro de importação","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto",Instance:lX,"Instance is disabled":"Instância está desativada","Instance:":"Instância:",Instances:cX,Instructions:uX,"Invalid CRON":"CRON inválido","It will not be possible to revert this operation.":"Não será possível reverter esta operação.","JS description":"Criando regras escrevendo Javascript",Januar:dX,January:hX,July:pX,June:gX,"Just check":"Apenas verifique","Language:":"Língua:","Learn More":"Aprender mais","Light style":"Estilo claro",Limit:fX,"Local time":"Hora local","Locate file":"Localize o arquivo","Log outputs":"Saídas de log","Log text":"Texto de registro","Log: %s":"Log: %s","Make a HTTP get request":"Faça uma solicitação HTTP get","Make a pause between actions":"Faça uma pausa entre as ações",March:mX,"March ":"Março",May:bX,Menu:$X,Message:vX,Mo:yX,Model:_X,Monday:wX,Month:CX,More:SX,Name:TX,"No Chat GPT Key found":"Nenhuma chave GPT de bate-papo encontrada","No active host found":"Nenhum host ativo encontrado","Nothing found":"Nada encontrado",November:kX,OK:EX,October:IX,Ok:xX,"On condition change":"Na mudança de condição","On script save or adapter start":"Ao salvar o script ou iniciar o adaptador","On weekdays":"Nos dias úteis","Open configuration":"Configuração aberta","Operate two states":"Operar dois estados","Operations with two states":"Operações com dois estados","Paste your blocks here":"Cole seus blocos aqui",Pause:DX,"Pause execution":"Pausar a execução","Pause script":"Pausar script","Phone:":"Telefone:","Please select object ID...":"Selecione o ID do objeto...","Press Ctrl+Enter to get the answer":"Pressione Ctrl+Enter para obter a resposta","Prettify the script":"Embeleze o roteiro","Print some text in log":"Imprimir algum texto no log","Priority:":"Prioridade:",Pushover:AX,Pushsafer:OX,"Read only ID selected: %s":"ID somente leitura selecionada: %s",Rename:RX,"Reorder scripts in folders":"Reordenar scripts em pastas",Repeat:MX,Restart:NX,Result:LX,"Resume execution":"Retomar execução","Root folder":"Pasta principal","Rules description":"Crie regras com blocos IF, THEN, ELSE","Run script":"Executar script",Sa:BX,Saturday:PX,Save:jX,"Save all":"Salvar tudo","Say It":"Say It","Say some text via sayit adapter":"Diga algum texto através do adaptador sayit",Schedule:FX,Script:zX,"Script %s was modified on disk":'O script "%s" foi modificado no disco rígido',"Script is not running":"Script não está sendo executado","Search in scripts":"Pesquisa em scripts","Search...":"Procurar...","Select all":"Selecionar tudo","Send email":"Enviar email","Sends an email":"Envia um email","Sends message via Pushsafer":"Envia mensagem via Pushsafer","Sends message via pushover":"Envia mensagem via pushover","Sends message via telegram":"Envia mensagem via telegrama","Sends message via whatsapp-cmb":"Envia mensagem via whatsapp-cmb",September:UX,"Server time":"Tempo de servidor","Set state action":"Definir ação de estado","Set with delay":"Definido com atraso","Shell command":"Comando shell","Show astronomical events":"Mostrar eventos astronômicos","Show javascript code":"Mostrar código Javascript","Show logs":"Mostrar logs","Show only paused scripts":"Mostrar apenas scripts pausados","Show only running scripts":"Mostrar apenas scripts em execução","Show only scripts with problems":"Mostrar apenas scripts com problemas",Simulate:WX,"Some files will be rejected":"Alguns arquivos serão rejeitados","Sound:":"Som:",Stack:HX,Start:VX,"Start script":"Iniciar script",State:GX,"State condition":"Condição de estado","Step into function":"Entre na função","Step out from function":"Saia da função","Stop on exception":"Pare na exceção",Su:KX,"Subject:":"Sujeito:",Sunday:JX,"TS description":"Criando regras escrevendo Typecript",Telegram:qX,"Text:":"Texto:",Th:YX,"The script will be stopped and must be activated manually after debugging. Continue?":"O script será interrompido e deve ser ativado manualmente após a depuração. Continuar?","This is advances option. You can write your own code here and it will be executed on trigger":"Esta é a opção de avanços. Você pode escrever seu próprio código aqui e ele será executado no gatilho",Thursday:XX,Time:ZX,"Time condition":"Condição de tempo","Title:":"Título:","To:":"Para:","Trigger with value":"Trigger com valor",Triggered:QX,Triggers:eZ,"Triggers the on script saving or the javascript instance restart":"Aciona o salvamento do script ou a reinicialização da instância javascript","Triggers the rule on update or change of some state":"Aciona a regra na atualização ou mudança de algum estado","Triggers the rule periodically or on some specific time":"Aciona a regra periodicamente ou em algum momento específico",Tu:tZ,Tuesday:nZ,URL:sZ,"Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","Use generated code":"Usar código gerado","User function":"Função do usuário","User:":"Do utilizador:",Value:rZ,"Vibration:":"Vibração:",Volume:iZ,We:oZ,Wednesday:aZ,"Whatsapp-cmb":"Whatsapp-cmb",Write:lZ,"Write your own code":"Escreva seu próprio código",Yes:cZ,"Yet exists!":"Ainda existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Você pode usar %s na URL para usar o valor do gatilho atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do gatilho antigo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Você pode usar %s no comando para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Você pode usar %s no texto para exibir o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Você pode usar %s no valor para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You have to enter OpenAI API key in the configuration of javascript adapter.":"Você deve inserir a chave da API OpenAI na configuração do adaptador javascript.","[equal]":"[igual]","[greater or equal]":"[maior ou igual]","[greater]":"[maior]","[hysteresis]":"[histerese]","[includes]":"[inclui]","[less or equal]":"[menor ou igual]","[less]":"[menos]","[not equal]":"[não igual]",acknowledgment:uZ,all:dZ,and:hZ,astro:pZ,at:gZ,"clear running":"corrida limpa",control:fZ,copy:mZ,cron:bZ,dawn:$Z,debug_help:vZ,debug_label:yZ,default:"predefinição",dusk:_Z,easy:wZ,else:"outro","equal to":"igual a",every:CZ,"every hour at 0 minutes":"a cada hora em 0 minutos",false:"falso","file reading has failed: %s":"a leitura do arquivo falhou: %s","file reading was aborted":"a leitura do arquivo foi abortada",filter_func:SZ,filter_id:TZ,filter_name:kZ,filter_role:EZ,filter_room:IZ,"for edit or create script":"para editar ou criar um novo script","for professionals":"para profissionais","for programmers":"para programadores",goldenHour:xZ,goldenHourEnd:DZ,"greater or equal":"maior ou igual","greater or equal to":"maior ou igual a","greater than":"Maior que",help_just_check:AZ,help_on_change:OZ,"high priority":"prioridade máxima","high-priority":"prioridade máxima","highest priority":"Prioridade máxima",hours:RZ,includes:MZ,interval:NZ,"just check":"Apenas verifique","less or equal":"menor ou igual","less or equal to":"menor ou igual a","less than":"Menor que","lower priority":"prioridade mais baixa","lowest priority":"prioridade mais baixa",magic:LZ,milliseconds:BZ,minutes:PZ,ms:jZ,nadir:FZ,nauticalDawn:zZ,nauticalDusk:UZ,nextSunrise:WZ,nextSunset:HZ,night:VZ,nightEnd:GZ,"no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO",normal:KZ,"normal priority":"prioridade normal","not equal to":"não é igual a","not properly connected":"Este bloco não está conectado corretamente com outros blocos.",offset:JZ,"on change":"em mudança","on condition change":"na mudança de condição","on update":"em atualização",one:qZ,or:YZ,quiet:XZ,"reset search":"redefinir pesquisa",search:ZZ,seconds:QZ,solarNoon:eQ,"store in":"armazenar em",sunrise:tQ,sunriseEnd:nQ,sunset:sQ,sunsetStart:rQ,then:iQ,"toggle value":"valor de alternância",tooltip_ack:oQ,tooltip_from:aQ,tooltip_lc:lQ,tooltip_quality:cQ,tooltip_ts:uQ,tooltip_user:dQ,tooltip_value:hQ,true:"verdade",two:pQ,undefined:"Indefinido",update:gQ,"use seconds":"use segundos","use trigger value":"use o gatilho",verbose_help:fQ,verbose_label:mQ,when:bQ,with:"com","with date":"com data","with offset":"com deslocamento",wizard:$Q},yQ="Подтверждение",_Q="Действия",wQ="Добавить",CQ="Все",SQ="Любая",TQ="Применить",kQ="Апрель",EQ="Спросить",IQ="Aстрономический",xQ="Август",DQ="Отмена",AQ="Закрыть",OQ="Условие",RQ="Условия",MQ="Приставка",NQ="Скопировано",LQ="Декабрь",BQ="Дефолт",PQ="Задержка",jQ="Удалить",FQ="Описание",zQ="Готово",UQ="Исполнить shell",WQ="Объяснение",HQ="Экспорт",VQ="Февраль",GQ="Февраль",KQ="Фильтр",JQ="Папка",qQ="Пт",YQ="пятница",XQ="ID",ZQ="ID1",QQ="ID2",eee="Импорт",tee="Экземпляр",nee="Экземпляры",see="Инструкции",ree="Январь",iee="Январь",oee="Июль",aee="Июнь",lee="Предел",cee="Март",uee="Май",dee="Меню",hee="Сообщение",pee="Пн",gee="Модель",fee="понедельник",mee="Месяц",bee="Более",$ee="Имя",vee="Ноябрь",yee="Ок",_ee="Октябрь",wee="Ok",Cee="Пауза",See="Pushover",Tee="Pushsafer",kee="Переименовать",Eee="Повторение",Iee="Перезапустить",xee="Результат",Dee="Сб",Aee="суббота",Oee="Сохранить",Ree="Расписание",Mee="скрипт",Nee="Сентябрь",Lee="Симулировать",Bee="Stack",Pee="Начинать",jee="Состояние",Fee="Вс",zee="Воскресенье",Uee="Telegram",Wee="Чт",Hee="Четверг",Vee="Время",Gee="Срабатывает",Kee="Триггеры",Jee="Вт",qee="вторник",Yee="URL",Xee="Значение",Zee="Громкость",Qee="Ср",ete="среда",tte="Напишите",nte="Да",ste="подтверждение",rte="все",ite="и",ote="Астро",ate="в",lte="контроль",cte="копия",ute="CRON",dte="Рассвет",hte="Это особый режим, в котором состояния и объекты не будут меняться. Но в протоколе будет отображаться только информация о каждом планируемом изменении.",pte="Отлаживать",gte="Сумерки",fte="легкий",mte="каждые(ый)",bte="Функция",$te="ID",vte="Название",yte="Роль",_te="Комната",wte="Золотой час",Cte="Конец золотого часа",Ste="Код будет выполняться только каждый раз, когда условие истинно. Например. при срабатывании по значению датчика температуры и условию «если температура выше 20°C», действия «затем» будут выполняться каждый раз, когда датчик отправляет значение температуры, и оно превышает 20°C. На 21°С, на 22°С и так далее.",Tte="Код будет выполнен только в случае изменения результата условия. Например, при срабатывании по значению датчика температуры и условию «если температура больше 20°C», действия «затем» будут выполнены один раз, когда температура превысит 20°C. В следующий раз действия «затем» будут выполнены, когда температура опустится ниже 20°C, а затем снова поднимается выше 20°C.",kte="час(ов)",Ete="содержит",Ite="интервал",xte="магия",Dte="миллисекунды",Ate="минут(у)",Ote="мс",Rte="Надир",Mte="Морской рассвет",Nte="Морские сумерки",Lte="Следующий восход",Bte="Следующий закат",Pte="Ночь",jte="Конец ночи",Fte="нормальный",zte="сдвиг",Ute="один",Wte="или",Hte="тихий",Vte="поиск",Gte="секунд",Kte="Солнечный полдень",Jte="Восход солнца",qte="Конец восхода",Yte="Закат солнца",Xte="Начало заката",Zte="тогда",Qte="Подтверждено",ene="От",tne="Последнее изменение",nne="Качественный",sne="Время",rne="Пользователь",ine="Значение",one="два",ane="обновить",lne="Добавляет вывод отладки в журнал для многих системных команд.",cne="Подробный протокол",une="если",dne="Мастер",hne={"%s not found":"%s не найден","()":"()","(at %s)":"(в %s)","(optional)":"(необязательный)","-":"-",".":".","AI code generator":"ИИ Генератор кода",Ack:yQ,Actions:_Q,"Actual time of day":"Фактическое время суток",Add:wQ,"Add new script":"Добавить новый скрипт",All:CQ,"All files will be accepted":"Все файлы будут приняты",Any:SQ,"Any month":"В любой месяц",Apply:TQ,April:kQ,"Are you sure?":"Вы уверены?",Ask:EQ,Astronomical:IQ,"Astronomical events today":"Астрономические события сегодня",August:xQ,"Blockly description":"Создание правил графическими блоками","Body:":"Тело:",Cancel:DQ,"Cannot delete non empty item!":"Не удается удалить непустой элемент!","Change layout":"Изменить макет",'Change theme (actual "%s")':'Сменить тему (сейчас - "%s")',"Check blocks":"Проверить блоки","Check is not active, because javascript adapter is disabled":"Проверка неактивна, потому что адаптер Javascript отключен","Clear search input":"Очистить ввод","Click on this icon":"Нажмите на этот значок",Close:AQ,"Close all but current":"Закрыть все кроме текущего","Collapse all":"Свернуть все","Compares current time with astronomical event":"Сравнивает текущее время с астрономическим событием","Compares current time with the user specific time":"Сравнивает текущее время с конкретным временем пользователя","Compares the state value with user defined value":"Сравнивает значение состояния с пользовательским значением",Condition:OQ,Conditions:RQ,"Configuration not saved.":"Конфигурация не сохранена.",Console:MQ,"Control or update some state":"Контролировать или обновлять какое-то состояние","Control or update some state with delay":"Контролировать или обновлять какое-либо состояние с задержкой","Convert blockly to javascript for ever.":"Преобразовать blockly в Javascript навсегда.",Copied:NQ,"Copy script":"Скопировать скрипт","Copy to clipboard":"Скопировать в буфер обмена","Create new":"Создать новый","Create new folder":"Создать новую папку","Create new script":"Создать новый скрипт","Create or edit CRON or time wizard":"Создание или редактирование CRON или мастера времени","Dark Theme":"Тёмная тема","Dark style":"Темный стиль",Date:"Дата","Debug instance":"Экземпляр отладки","Debug options":"Варианты отладки",December:LQ,Default:BQ,"Define cron...":"Задать правило ...","Define schedule...":"Задать расписание...",Delay:PQ,Delete:jQ,"Delete %s":"Удалить %s...","Delete folder":"Удалить папку","Delete script":"Удалить скрипт",Description:FQ,"Deselect all":"Снять выбор со всех","Discard changes for %s":"Отменить изменения для %s",Done:zQ,"Double click to write value":"Двойной щелчок для записи значения","Download as file":"Скачать как файл","Drop some files here or click...":"Перетыщите сюда файлы или нажмите ...","Duplicate name":"Повторяющееся имя","Edit script or just double click":"Редактировать скрипт или просто дважды щелкнуть","Empty name is not allowed":"Пустое имя не допускается","End search mode":"Закончить поиск","Enter your question":"Введи свою просьбу",Error:"Ошибка","Error formatting code":"Ошибка форматирования кода","Error was found":"Ошибка была найдена","Every day":"Каждый день",Exec:UQ,"Executes some shell command":"Выполняет некоторую команду оболочки","Existing scripts will be overwritten.":"Существующие скрипты будут перезаписаны.","Expand all":"Открыть все","Expert mode":"Экспертный режим",Explanation:WQ,Export:HQ,"Export all scripts":"Экспорт всех скриптов","Export blocks":"Экспортировать блоки","Export selected blocks":"Экспортировать выбранные блоки",Februar:VQ,February:GQ,Filter:KQ,Folder:JQ,Fr:qQ,Friday:YQ,Function:"Функция","Function editor":"Редактор функции","Function: executed":"Функция: выполнено","Go to next line":"Перейти к следующей строке","HTTP Call":"HTTP-вызов","Hide logs":"Скрыть журналы",ID:XQ,ID1:ZQ,ID2:QQ,Import:eee,"Import blocks":"Импортировать блоки","Import error":"Ошибка импорта","Import scripts":"Импорт скриптов","Insert object ID":"Вставить ID объекта",Instance:tee,"Instance is disabled":"Экземпляр отключен","Instance:":"Пример:",Instances:nee,Instructions:see,"Invalid CRON":"Неправильный CRON","It will not be possible to revert this operation.":"Невозможно вернуть эту операцию.","JS description":"Создание правил путём написания Javascript",Januar:ree,January:iee,July:oee,June:aee,"Just check":"Просто проверить","Language:":"Язык:","Learn More":"Узнать больше","Light style":"Светлый стиль",Limit:lee,"Local time":"Местное время","Locate file":"Показать файл в дереве","Log outputs":"Журнал","Log text":"Текст журнала","Log: %s":"Журнал: %s","Make a HTTP get request":"Сделайте HTTP-запрос на получение","Make a pause between actions":"Сделайте паузу между действиями",March:cee,"March ":"Март ",May:uee,Menu:dee,Message:hee,Mo:pee,Model:gee,Monday:fee,Month:mee,More:bee,Name:$ee,"No Chat GPT Key found":"Ключ GPT для чата не найден","No active host found":"Активный host не найден","Nothing found":"Ничего не найдено",November:vee,OK:yee,October:_ee,Ok:wee,"On condition change":"При изменении реузльтата условий","On script save or adapter start":"При сохранении скрипта или запуске адаптера","On weekdays":"По дням недели","Open configuration":"Открыть настройки","Operate two states":"Операции над двумя состояниями","Operations with two states":"Операции с двумя состояниями","Paste your blocks here":"Вставьте свои блоки сюда",Pause:Cee,"Pause execution":"Приостановить выполнение","Pause script":"Остановить скрипт","Phone:":"Телефон:","Please select object ID...":"Пожалуйста, выберите ID объекта ...","Press Ctrl+Enter to get the answer":"Нажмите Ctrl+Enter, чтобы получить ответ","Prettify the script":"Украсьте сценарий","Print some text in log":"Напечатать текст в журнале","Priority:":"Приоритет:",Pushover:See,Pushsafer:Tee,"Read only ID selected: %s":"Выбран идентификатор только для чтения: %s",Rename:kee,"Reorder scripts in folders":"Сортировать скрипты в папках",Repeat:Eee,Restart:Iee,Result:xee,"Resume execution":"Возобновить выполнение","Root folder":"Корневая папка","Rules description":"Создавайте правила с блоками ЕСЛИ, ТО, ИНАЧЕ","Run script":"Запустить скрипт",Sa:Dee,Saturday:Aee,Save:Oee,"Save all":"Сохранить все","Say It":"Say It","Say some text via sayit adapter":"Произнесите текст через адаптер Sayit",Schedule:Ree,Script:Mee,"Script %s was modified on disk":'Скрипт "%s" был изменен на диске',"Script is not running":"Сценарий не запущен","Search in scripts":"Поиск в скриптах","Search...":"Поиск...","Select all":"Выбрать все","Send email":"Отправить email","Sends an email":"Отправляет электронное письмо","Sends message via Pushsafer":"Отправляет сообщение через Pushsafer","Sends message via pushover":"Отправляет сообщение через пустышку","Sends message via telegram":"Отправляет сообщение в телеграмме","Sends message via whatsapp-cmb":"Отправляет сообщение через whatsapp-cmb",September:Nee,"Server time":"Время сервера","Set state action":"Установить состояние","Set with delay":"Установить с задержкой","Shell command":"Команда оболочки","Show astronomical events":"Показать астрономические события","Show javascript code":"Показать код Javascript","Show logs":"Показать журналы","Show only paused scripts":"Показывать только приостановленные сценарии","Show only running scripts":"Показывать только запущенные скрипты","Show only scripts with problems":"Показывать только скрипты с проблемами",Simulate:Lee,"Some files will be rejected":"Некоторые файлы будут отклонены","Sound:":"Звук:",Stack:Bee,Start:Pee,"Start script":"Старт скрипта",State:jee,"State condition":"Сравнение состояния","Step into function":"Шаг в функционирование","Step out from function":"Выйти из функции","Stop on exception":"Остановить при исключении",Su:Fee,"Subject:":"Предмет:",Sunday:zee,"TS description":"Создание правил путём написания Typescript",Telegram:Uee,"Text:":"Текст:",Th:Wee,"The script will be stopped and must be activated manually after debugging. Continue?":"Cкрипт будет остановлен и должен быть активирован вручную после отладки. Продолжать?","This is advances option. You can write your own code here and it will be executed on trigger":"Это расширеный вариант. Вы можете написать здесь свой код и он будет выполняться по триггеру",Thursday:Hee,Time:Vee,"Time condition":"Условие времени","Title:":"Заголовок:","To:":"К:","Trigger with value":"Триггер со значением",Triggered:Gee,Triggers:Kee,"Triggers the on script saving or the javascript instance restart":"Запускает при сохранении скрипта или перезапуске экземпляра javascript","Triggers the rule on update or change of some state":"Запускает правило при обновлении или изменении какого-либо состояния","Triggers the rule periodically or on some specific time":"Срабатывает правило периодически или в определенное время",Tu:Jee,Tuesday:qee,URL:Yee,"Unknown error":"Неизвестная ошибка","Unknown error!":"Неизвестная ошибка!","Use generated code":"Использовать сгенерированный код","User function":"Функция пользователя","User:":"Пользователь:",Value:Xee,"Vibration:":"Вибрация:",Volume:Zee,We:Qee,Wednesday:ete,"Whatsapp-cmb":"Whatsapp-cmb",Write:tte,"Write your own code":"Напишите свой код",Yes:nte,"Yet exists!":"Имя уже существует!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Вы можете использовать %s в URL-адресе, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор инициированного объекта, %name, чтобы показать имя идентификатора инициированного объекта, или %old, чтобы использовать старое значение триггера.","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Вы можете использовать %s в команде, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор сработавшего объекта, %name, чтобы показать имя сработавшего идентификатора объекта, или %old, чтобы использовать старое значение триггера.","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Вы можете использовать %s в тексте для отображения текущего значения триггера, %id для использования идентификатора сработавшего объекта, %name для отображения имени сработавшего идентификатора объекта или %old для использования старого значения триггера.","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Вы можете использовать %s в значении, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор инициированного объекта, %name, чтобы показать имя идентификатора инициированного объекта, или %old, чтобы использовать старое значение триггера.","You have to enter OpenAI API key in the configuration of javascript adapter.":"Вы должны ввести ключ OpenAI API в конфигурации адаптера javascript.","[equal]":"[равно]","[greater or equal]":"[больше или равно]","[greater]":"[больше]","[hysteresis]":"[гистерезис]","[includes]":"[содержит]","[less or equal]":"[меньше или равно]","[less]":"[меньше]","[not equal]":"[не равно]",acknowledgment:ste,all:rte,and:ite,astro:ote,at:ate,"clear running":"остановить уже бегущие",control:lte,copy:cte,cron:ute,dawn:dte,debug_help:hte,debug_label:pte,default:"дефолт",dusk:gte,easy:fte,else:"иначе","equal to":"равно",every:mte,"every hour at 0 minutes":"каждый час через 0 минут",false:"false","file reading has failed: %s":"Ошибка чтения файла: %s","file reading was aborted":"Чтение файла было прервано",filter_func:bte,filter_id:$te,filter_name:vte,filter_role:yte,filter_room:_te,"for edit or create script":"для редактирования или создайте новый скрипт","for professionals":"для профессионалов","for programmers":"для программистов",goldenHour:wte,goldenHourEnd:Cte,"greater or equal":"больше или равно","greater or equal to":"больше или равно","greater than":"больше чем",help_just_check:Ste,help_on_change:Tte,"high priority":"высокий приоритет","high-priority":"высокий-приоритет","highest priority":"высший приоритет",hours:kte,includes:Ete,interval:Ite,"just check":"просто проверить","less or equal":"меньше или равно","less or equal to":"меньше или равно","less than":"меньше, чем","lower priority":"более низкий приоритет","lowest priority":"самый низкий приоритет",magic:xte,milliseconds:Dte,minutes:Ate,ms:Ote,nadir:Rte,nauticalDawn:Mte,nauticalDusk:Nte,nextSunrise:Lte,nextSunset:Bte,night:Pte,nightEnd:jte,"no blocks found":"Блоков нет","no group":"Нет группы",normal:Fte,"normal priority":"нормальный приоритет","not equal to":"не равно","not properly connected":"Этот блок неправильно соединён или не соединён с другими блоками.",offset:zte,"on change":"по изменению","on condition change":"при изменении результата условия","on update":"при обновлении",one:Ute,or:Wte,quiet:Hte,"reset search":"Cбросить поиск",search:Vte,seconds:Gte,solarNoon:Kte,"store in":"сохранить в",sunrise:Jte,sunriseEnd:qte,sunset:Yte,sunsetStart:Xte,then:Zte,"toggle value":"инвертировать текщее значение",tooltip_ack:Qte,tooltip_from:ene,tooltip_lc:tne,tooltip_quality:nne,tooltip_ts:sne,tooltip_user:rne,tooltip_value:ine,true:"true",two:one,undefined:"неопределенный",update:ane,"use seconds":"использовать секунды","use trigger value":"использовать значение триггера",verbose_help:lne,verbose_label:cne,when:une,with:"с","with date":"с датой","with offset":"со сдвигом",wizard:dne},pne="Визнано",gne="Дії",fne="додати",mne="все",bne="Будь-який",$ne="Застосувати",vne="квітень",yne="Запитуйте",_ne="Астрономічний",wne="серпень",Cne="Скасувати",Sne="Закрити",Tne="Хвороба",kne="Умови",Ene="Консоль",Ine="Скопійовано",xne="Грудень",Dne="За замовчуванням",Ane="Затримка",One="Видалити",Rne="опис",Mne="Готово",Nne="Виконавча оболонка",Lne="Пояснення",Bne="Експорт",Pne="Лютий",jne="Лютий",Fne="фільтр",zne="Папка",Une="О",Wne="П'ятниця",Hne="ID",Vne="ID1",Gne="ID2",Kne="Імпорт",Jne="Екземпляр",qne="Примірники",Yne="Інструкції",Xne="січень",Zne="січня",Qne="липень",ese="червень",tse="Ліміт",nse="березень",sse="Може",rse="Меню",ise="повідомлення",ose="пн",ase="Модель",lse="понеділок",cse="місяць",use="Більше",dse="Ім'я",hse="Листопад",pse="в порядку",gse="жовтень",fse="В порядку",mse="Пауза",bse="Pushover",$se="Pushsafer",vse="Перейменувати",yse="Повторіть",_se="Перезапустіть",wse="Результат",Cse="Sa",Sse="Субота",Tse="зберегти",kse="розклад",Ese="Сценарій",Ise="Вересень",xse="Симулювати",Dse="Стек",Ase="старт",Ose="Держава",Rse="Нд",Mse="неділя",Nse="Телеграма",Lse="чт",Bse="четвер",Pse="час",jse="Спрацьовує",Fse="Тригери",zse="вт",Use="вівторок",Wse="URL",Hse="Значення",Vse="Обсяг",Gse="ми",Kse="Середа",Jse="Напишіть",qse="Так",Yse="підтвердження",Xse="все",Zse="і",Qse="Астро",ere="в",tre="КОНТРОЛЬ",nre="копія",sre="CRON",rre="Світанок",ire="Це особливий режим, в якому стану та об'єкти не змінюватимуться. Але в протоколі відображатиметься лише інформація про кожну заплановану зміну.",ore="Відлагоджувати",are="Сутінки",lre="легко",cre="кожен",ure="функція",dre="ID",hre="Ім'я",pre="Роль",gre="Кімната",fre="Золота година",mre="Кінець золотої години",bre="Код буде виконуватися лише щоразу, коли умова виконується. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» виконуватимуться щоразу, коли датчик надсилає температуру, і вона перевищує 20°C. На 21°C, на 22°C і так далі.",$re="Код буде виконано лише у разі зміни результату умови. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» будуть виконані один раз, коли температура буде вище 20. Наступного разу дії «тоді» буде виконано, коли температура падає нижче 20, а потім знову піднімається вище 20.",vre="години",yre="включає в себе",_re="інтервал",wre="магія",Cre="мілісекунд",Sre="хвилин",Tre="РС",kre="Надір",Ere="Морський світанок",Ire="Морські сутінки",xre="Наступний схід сонця",Dre="Наступний захід сонця",Are="ніч",Ore="Кінець ночі",Rre="нормально",Mre="зсув",Nre="один",Lre="або",Bre="тихо",Pre="пошук",jre="секунд",Fre="Сонячний полудень",zre="схід сонця",Ure="Кінець сходу сонця",Wre="Захід сонця",Hre="Початок заходу сонця",Vre="потім",Gre="Визнати",Kre="Від",Jre="Востаннє змінено",qre="якість",Yre="Мітка часу",Xre="Користувач",Zre="Значення",Qre="два",eie="оновлення",tie="Додає вихідні дані налагодження до журналу для багатьох системних команд",nie="Докладні результати журналу",sie="коли",rie="майстер",iie={"%s not found":"%s не знайдено","()":"()","(at %s)":"(у %s)","(optional)":"(необов'язково)","-":"-",".":".","AI code generator":"Генератор коду ШІ",Ack:pne,Actions:gne,"Actual time of day":"Фактичний час доби",Add:fne,"Add new script":"Додати новий сценарій",All:mne,"All files will be accepted":"Усі файли будуть прийняті",Any:bne,"Any month":"Будь-який місяць",Apply:$ne,April:vne,"Are you sure?":"Ти впевнений?",Ask:yne,Astronomical:_ne,"Astronomical events today":"Астрономічні події сьогодні",August:wne,"Blockly description":"Створення правил за графічними блоками","Body:":"Тіло:",Cancel:Cne,"Cannot delete non empty item!":"Неможливо видалити непорожній елемент!","Change layout":"Змінити макет",'Change theme (actual "%s")':'Змінити тему (тепер - "%s")',"Check blocks":"Перевірте блоки","Check is not active, because javascript adapter is disabled":"Перевірка не активна, оскільки адаптер Javascript вимкнено","Clear search input":"Очистити пошуковий запит","Click on this icon":"Натисніть на цей значок",Close:Sne,"Close all but current":"Закрити всі, крім поточних","Collapse all":"Закрити всі","Compares current time with astronomical event":"Порівнює поточний час з астрономічною подією","Compares current time with the user specific time":"Порівнює поточний час із конкретним часом користувача","Compares the state value with user defined value":"Порівнює значення стану з визначеним користувачем значенням",Condition:Tne,Conditions:kne,"Configuration not saved.":"Конфігурація не збережена.",Console:Ene,"Control or update some state":"Контролюйте або оновлюйте певний стан","Control or update some state with delay":"Контролюйте або оновлюйте деякий стан із затримкою","Convert blockly to javascript for ever.":"Назавжди конвертуйте Blockly у Javascript.",Copied:Ine,"Copy script":"Копіювати сценарій","Copy to clipboard":"Копіювати в буфер обміну","Create new":"Створити новий","Create new folder":"Створити нову папку","Create new script":"Створіть новий сценарій","Create or edit CRON or time wizard":"Створення або редагування CRON або майстра часу","Dark Theme":"Темна тема","Dark style":"Темний стиль",Date:"Дата","Debug instance":"Екземпляр налагодження","Debug options":"Параметри налагодження",December:xne,Default:Dne,"Define cron...":"Визначити cron...","Define schedule...":"Визначити розклад...",Delay:Ane,Delete:One,"Delete %s":"Видалити %s...","Delete folder":"Видалити папку","Delete script":"Видалити сценарій",Description:Rne,"Deselect all":"Зняти вибір із усіх","Discard changes for %s":"Скасувати зміни для %s",Done:Mne,"Double click to write value":"Двічі клацніть, щоб записати значення","Download as file":"Завантажити файл","Drop some files here or click...":"Перетягніть кілька файлів сюди або натисніть...","Duplicate name":"Повторюване ім'я","Edit script or just double click":"Відредагуйте сценарій або просто двічі клацніть","Empty name is not allowed":"Порожнє ім'я не допускається","End search mode":"Завершити режим пошуку","Enter your question":"Введи своє прохання",Error:"Помилка","Error formatting code":"Помилка форматування коду","Error was found":"Виявлено помилку","Every day":"Кожен день",Exec:Nne,"Executes some shell command":"Виконує певну команду оболонки","Existing scripts will be overwritten.":"Існуючі сценарії буде перезаписано.","Expand all":"Розгорнути все","Expert mode":"Експертний режим",Explanation:Lne,Export:Bne,"Export all scripts":"Експортувати всі сценарії","Export blocks":"Експорт блоків","Export selected blocks":"Експортувати вибрані блоки",Februar:Pne,February:jne,Filter:Fne,Folder:zne,Fr:Une,Friday:Wne,Function:"функція","Function editor":"Редактор функцій","Function: executed":"Функція: виконано","Go to next line":"Перейти до наступного рядка","HTTP Call":"Виклик HTTP","Hide logs":"Приховати журнали",ID:Hne,ID1:Vne,ID2:Gne,Import:Kne,"Import blocks":"Імпорт блоків","Import error":"Помилка імпорту","Import scripts":"Імпорт скриптів","Insert object ID":"Вставте ID об'єкта",Instance:Jne,"Instance is disabled":"Примірник вимкнено","Instance:":"екземпляр:",Instances:qne,Instructions:Yne,"Invalid CRON":"Недійсний CRON","It will not be possible to revert this operation.":"Скасувати цю операцію буде неможливо.","JS description":"Створення правил шляхом написання Javascript",Januar:Xne,January:Zne,July:Qne,June:ese,"Just check":"Просто перевірте","Language:":"Мову:","Learn More":"Вивчайте більше","Light style":"Легкий стиль",Limit:tse,"Local time":"Місцевий час","Locate file":"Знайти файл","Log outputs":"Виходи журналу","Log text":"Текст журналу","Log: %s":"Журнал: %s","Make a HTTP get request":"Зробіть HTTP-запит на отримання","Make a pause between actions":"Між діями робіть паузу",March:nse,"March ":"березень",May:sse,Menu:rse,Message:ise,Mo:ose,Model:ase,Monday:lse,Month:cse,More:use,Name:dse,"No Chat GPT Key found":"Ключ GPT для чату не знайдено","No active host found":"Активний хост не знайдено","Nothing found":"Нічого не знайдено",November:hse,OK:pse,October:gse,Ok:fse,"On condition change":"За умови зміни результату","On script save or adapter start":"Під час збереження сценарію або запуску адаптера","On weekdays":"В будні дні","Open configuration":"Відкрита конфігурація","Operate two states":"Керуйте двома станами","Operations with two states":"Операції з двома станами","Paste your blocks here":"Вставте сюди свої блоки",Pause:mse,"Pause execution":"Призупинити виконання","Pause script":"Призупинити сценарій","Phone:":"телефон:","Please select object ID...":"Виберіть ідентифікатор об'єкта...","Press Ctrl+Enter to get the answer":"Натисніть Ctrl+Enter, щоб отримати відповідь","Prettify the script":"Прикрасьте сценарій","Print some text in log":"Надрукувати текст у журналі","Priority:":"Пріоритет:",Pushover:bse,Pushsafer:$se,"Read only ID selected: %s":"Вибрано ідентифікатор лише для читання: %s",Rename:vse,"Reorder scripts in folders":"Зміна порядку сценаріїв у папках",Repeat:yse,Restart:_se,Result:wse,"Resume execution":"Відновити виконання","Root folder":"Коренева папка","Rules description":"Створюйте правила з блоками IF, THEN, ELSE","Run script":"Запустіть сценарій",Sa:Cse,Saturday:Sse,Save:Tse,"Save all":"Зберегти все","Say It":"Скажи це","Say some text via sayit adapter":"Скажіть текст через адаптер sayit",Schedule:kse,Script:Ese,"Script %s was modified on disk":"Сценарій %s змінено на диску","Script is not running":"Сценарій не працює","Search in scripts":"Пошук у скриптах","Search...":"пошук...","Select all":"Вибрати все","Send email":"Відправити лист","Sends an email":"Надсилає електронний лист","Sends message via Pushsafer":"Надсилає повідомлення через Pushsafer","Sends message via pushover":"Надсилає повідомлення через pushover","Sends message via telegram":"Надсилає повідомлення через телеграм","Sends message via whatsapp-cmb":"Надсилає повідомлення через whatsapp-cmb",September:Ise,"Server time":"Час сервера","Set state action":"Встановити дію стану","Set with delay":"Встановити із затримкою","Shell command":"Команда оболонки","Show astronomical events":"Показати астрономічні події","Show javascript code":"Показати код Javascript","Show logs":"Показати журнали","Show only paused scripts":"Показувати лише призупинені сценарії","Show only running scripts":"Показувати лише запущені сценарії","Show only scripts with problems":"Показувати лише сценарії з проблемами",Simulate:xse,"Some files will be rejected":"Деякі файли буде відхилено","Sound:":"звук:",Stack:Dse,Start:Ase,"Start script":"Запустити сценарій",State:Ose,"State condition":"Стан стану","Step into function":"Крок у функції","Step out from function":"Вийти з функції","Stop on exception":"Зупинка на винятках",Su:Rse,"Subject:":"Тема:",Sunday:Mse,"TS description":"Створення правил шляхом написання Typescript",Telegram:Nse,"Text:":"Текст:",Th:Lse,"The script will be stopped and must be activated manually after debugging. Continue?":"Сценарій буде зупинено, і його необхідно активувати вручну після налагодження. Продовжити?","This is advances option. You can write your own code here and it will be executed on trigger":"Це авансовий варіант. Ви можете написати тут свій власний код, і він буде виконано на тригері",Thursday:Bse,Time:Pse,"Time condition":"Умова часу","Title:":"Назва:","To:":"до:","Trigger with value":"Тригер зі значенням",Triggered:jse,Triggers:Fse,"Triggers the on script saving or the javascript instance restart":"Ініціює збереження сценарію або перезапуск екземпляра JavaScript","Triggers the rule on update or change of some state":"Запускає правило при оновленні або зміні якогось стану","Triggers the rule periodically or on some specific time":"Спрацьовує правило періодично або в певний час",Tu:zse,Tuesday:Use,URL:Wse,"Unknown error":"Невідома помилка","Unknown error!":"Невідома помилка!","Use generated code":"Використовуйте згенерований код","User function":"Функція користувача","User:":"Користувач:",Value:Hse,"Vibration:":"Вібрація:",Volume:Vse,We:Gse,Wednesday:Kse,"Whatsapp-cmb":"Whatsapp-cmb",Write:Jse,"Write your own code":"Напишіть власний код",Yes:qse,"Yet exists!":"Все ж існує!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Ви можете використовувати %s в URL-адресі, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Ви можете використовувати %s у команді, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Ви можете використовувати %s у тексті для відображення поточного значення тригера, %id для використання ідентифікатора активованого об’єкта, %name для відображення імені ідентифікатора активованого об’єкта або %old для використання старого значення тригера","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Ви можете використовувати %s у значенні, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You have to enter OpenAI API key in the configuration of javascript adapter.":"Ви повинні ввести ключ OpenAI API у конфігурації адаптера JavaScript.","[equal]":"[рівний]","[greater or equal]":"[більше або дорівнює]","[greater]":"[більший]","[hysteresis]":"[гістерезис]","[includes]":"[включає]","[less or equal]":"[менше або рівно]","[less]":"[менше]","[not equal]":"[не дорівнює]",acknowledgment:Yse,all:Xse,and:Zse,astro:Qse,at:ere,"clear running":"чіткий біг",control:tre,copy:nre,cron:sre,dawn:rre,debug_help:ire,debug_label:ore,default:"за замовчуванням",dusk:are,easy:lre,else:"інше","equal to":"дорівнює",every:cre,"every hour at 0 minutes":"щогодини о 0 хвилин",false:"помилковий","file reading has failed: %s":"не вдалося прочитати файл: %s","file reading was aborted":"читання файлу було перервано",filter_func:ure,filter_id:dre,filter_name:hre,filter_role:pre,filter_room:gre,"for edit or create script":"для редагування або створення нового сценарію","for professionals":"для професіоналів","for programmers":"для програмістів",goldenHour:fre,goldenHourEnd:mre,"greater or equal":"більший або рівний","greater or equal to":"більше або дорівнює","greater than":"більше, ніж, величніше ніж, крутіший за",help_just_check:bre,help_on_change:$re,"high priority":"високий пріоритет","high-priority":"високий пріоритет","highest priority":"найвищий пріоритет",hours:vre,includes:yre,interval:_re,"just check":"просто перевірте","less or equal":"менше або дорівнює","less or equal to":"менше або дорівнює","less than":"менше ніж","lower priority":"нижчий пріоритет","lowest priority":"найнижчий пріоритет",magic:wre,milliseconds:Cre,minutes:Sre,ms:Tre,nadir:kre,nauticalDawn:Ere,nauticalDusk:Ire,nextSunrise:xre,nextSunset:Dre,night:Are,nightEnd:Ore,"no blocks found":"Блоків не знайдено","no group":"НЕМАЄ ГРУПИ",normal:Rre,"normal priority":"нормальний пріоритет","not equal to":"не дорівнює","not properly connected":"Цей блок неправильно з’єднаний з іншими блоками.",offset:Mre,"on change":"на зміну","on condition change":"про зміну умов","on update":"на оновлення",one:Nre,or:Lre,quiet:Bre,"reset search":"скинути пошук",search:Pre,seconds:jre,solarNoon:Fre,"store in":"зберігати в",sunrise:zre,sunriseEnd:Ure,sunset:Wre,sunsetStart:Hre,then:Vre,"toggle value":"значення перемикання",tooltip_ack:Gre,tooltip_from:Kre,tooltip_lc:Jre,tooltip_quality:qre,tooltip_ts:Yre,tooltip_user:Xre,tooltip_value:Zre,true:"правда",two:Qre,undefined:"невизначений",update:eie,"use seconds":"використовуйте секунди","use trigger value":"використовувати значення тригера",verbose_help:tie,verbose_label:nie,when:sie,with:"з","with date":"з датою","with offset":"зі зміщенням",wizard:rie},oie="确认",aie="动作",lie="添加",cie="所有",uie="任何",die="申请",hie="四月",pie="问",gie="天文",fie="八月",mie="取消",bie="关闭",$ie="健康)状况",vie="情况",yie="安慰",_ie="复制的",wie="十二月",Cie="默认",Sie="延迟",Tie="删除",kie="描述",Eie="完成",Iie="执行力",xie="解释",Die="导出",Aie="二月",Oie="二月",Rie="筛选",Mie="文件夹",Nie="r",Lie="星期五",Bie="ID",Pie="ID1",jie="ID2",Fie="导入",zie="实例",Uie="实例",Wie="指示",Hie="亚努尔",Vie="一月",Gie="七月",Kie="六月",Jie="限制",qie="三月",Yie="五月",Xie="菜单",Zie="信息",Qie="莫",eoe="模型",toe="星期一",noe="月",soe="更多的",roe="名称",ioe="十一月",ooe="好的",aoe="十月",loe="确定",coe="暂停",uoe="俯卧撑",doe="推安全",hoe="重命名",poe="重复",goe="重启",foe="结果",moe="萨",boe="星期六",$oe="保存",voe="日程",yoe="脚本",_oe="九月",woe="模拟",Coe="堆",Soe="开始",Toe="状态",koe="苏",Eoe="星期日",Ioe="电报",xoe="4",Doe="星期四",Aoe="时间",Ooe="触发",Roe="扳机",Moe="涂",Noe="星期二",Loe="网址",Boe="价值",Poe="体积",joe="3",Foe="星期三",zoe="写",Uoe="是的",Woe="致谢",Hoe="全部",Voe="和",Goe="天文",Koe="在",Joe="控制",qoe="复制",Yoe="克朗",Xoe="黎明",Zoe="这是一种特殊模式,其中状态和对象不会改变。但只有有关每个计划更改的信息才会显示在协议中。",Qoe="调试",eae="黄昏",tae="简单的",nae="每一个",sae="功能",rae="ID",iae="名字",oae="角色",aae="房间",lae="黄金时段",cae="黄金时段结束",uae="仅在条件为真时才执行代码。例如。如果触发温度传感器值并且条件为“如果温度大于20°C”,则每次传感器发送温度且温度超过20°C时,将执行“然后”动作。 21°C,22°C等。",dae="仅当条件结果更改时,代码才会执行。例如。如果触发温度传感器值且条件为“如果温度大于20°C”,则温度超过20时将执行一次“则”动作,下一次,当温度超过20时将执行“则”动作低于20失败,然后再次超过20。",hae="小时",pae="包括",gae="间隔",fae="魔法",mae="毫秒",bae="分钟",$ae="毫秒",vae="最低点",yae="航海黎明",_ae="航海黄昏",wae="下一个日出",Cae="下一个日落",Sae="夜晚",Tae="夜晚结束",kae="普通的",Eae="抵消",Iae="一",xae="或",Dae="安静的",Aae="搜索",Oae="秒",Rae="星期日正午",Mae="日出",Nae="日出结束",Lae="日落",Bae="日落开始",Pae="然后",jae="确认",Fae="从",zae="上一次改变",Uae="质量",Wae="时间戳",Hae="用户",Vae="值",Gae="二",Kae="更新",Jae="将调试输出添加到许多系统命令的日志中",qae="详细日志输出",Yae="什么时候",Xae="巫师",Zae={"%s not found":"%s 未找到","()":"()","(at %s)":"(在 %s)","(optional)":"(选修的)","-":"-",".":".","AI code generator":"AI代码生成器",Ack:oie,Actions:aie,"Actual time of day":"一天中的实际时间",Add:lie,"Add new script":"添加新脚本",All:cie,"All files will be accepted":"所有文件都将被接受",Any:uie,"Any month":"任何月份",Apply:die,April:hie,"Are you sure?":"你确定吗?",Ask:pie,Astronomical:gie,"Astronomical events today":"今天的天文事件",August:fie,"Blockly description":"按图形块创建规则","Body:":"身体:",Cancel:mie,"Cannot delete non empty item!":"无法删除非空项目!","Change layout":"变更版面",'Change theme (actual "%s")':"更改主题(现在为“%s”)","Check blocks":"检查块","Check is not active, because javascript adapter is disabled":"检查未激活,因为禁用了Javascript适配器","Clear search input":"清除搜索输入","Click on this icon":"单击此图标",Close:bie,"Close all but current":"关闭所有(当前除外)","Collapse all":"全部收缩","Compares current time with astronomical event":"将当前时间与天文事件进行比较","Compares current time with the user specific time":"将当前时间与用户特定时间进行比较","Compares the state value with user defined value":"比较状态值和用户定义的值",Condition:$ie,Conditions:vie,"Configuration not saved.":"配置未保存。",Console:yie,"Control or update some state":"控制或更新某些状态","Control or update some state with delay":"延迟控制或更新某些状态","Convert blockly to javascript for ever.":"立即将blockly转换为Javascript。",Copied:_ie,"Copy script":"复制脚本","Copy to clipboard":"复制到剪贴板","Create new":"创建新的","Create new folder":"创建新文件夹","Create new script":"创建新脚本","Create or edit CRON or time wizard":"创建或编辑周期任务或时间向导","Dark Theme":"深色调主题","Dark style":"深色调风格",Date:"日期","Debug instance":"调试实例","Debug options":"调试选项",December:wie,Default:Cie,"Define cron...":"定义周期任务...","Define schedule...":"定义调度器......",Delay:Sie,Delete:Tie,"Delete %s":"删除%s...","Delete folder":"删除文件夹","Delete script":"删除脚本",Description:kie,"Deselect all":"取消全选","Discard changes for %s":"放弃%s的更改",Done:Eie,"Double click to write value":"Double click to write value","Download as file":"档案","Drop some files here or click...":"将文件拖拽到这里或单击......","Duplicate name":"重名","Edit script or just double click":"双击编辑脚本","Empty name is not allowed":"不允许使用空名称","End search mode":"结束搜索模式","Enter your question":"输入您的要求",Error:"错误","Error formatting code":"代码格式错误","Error was found":"发现错误","Every day":"每天",Exec:Iie,"Executes some shell command":"执行一些shell命令","Existing scripts will be overwritten.":"现有脚本将被覆盖。","Expand all":"展开全部","Expert mode":"专家模式",Explanation:xie,Export:Die,"Export all scripts":"导出所有脚本","Export blocks":"导出块","Export selected blocks":"导出选定的块",Februar:Aie,February:Oie,Filter:Rie,Folder:Mie,Fr:Nie,Friday:Lie,Function:"功能","Function editor":"功能编辑器","Function: executed":"功能:执行","Go to next line":"转到下一行","HTTP Call":"HTTP呼叫","Hide logs":"隐藏日志",ID:Bie,ID1:Pie,ID2:jie,Import:Fie,"Import blocks":"导入块","Import error":"导入错误","Import scripts":"导入脚本","Insert object ID":"插入对象ID",Instance:zie,"Instance is disabled":"实例已禁用","Instance:":"实例:",Instances:Uie,Instructions:Wie,"Invalid CRON":"无效的周期任务","It will not be possible to revert this operation.":"无法恢复此操作。","JS description":"通过编写Javascript来创建规则",Januar:Hie,January:Vie,July:Gie,June:Kie,"Just check":"只是检查","Language:":"语言:","Learn More":"了解更多","Light style":"浅色调风格",Limit:Jie,"Local time":"当地时间","Locate file":"定位文件","Log outputs":"记录输出","Log text":"记录文字","Log: %s":"日志:%s","Make a HTTP get request":"发出HTTP获取请求","Make a pause between actions":"在动作之间暂停",March:qie,"March ":"行进",May:Yie,Menu:Xie,Message:Zie,Mo:Qie,Model:eoe,Monday:toe,Month:noe,More:soe,Name:roe,"No Chat GPT Key found":"找不到聊天 GPT 密钥","No active host found":"找不到活动主机","Nothing found":"没有发现",November:ioe,OK:ooe,October:aoe,Ok:loe,"On condition change":"条件变化时","On script save or adapter start":"在脚本保存或适配器启动时","On weekdays":"在工作日","Open configuration":"开放配置","Operate two states":"操作两种状态","Operations with two states":"具有两种状态的操作","Paste your blocks here":"在此处粘贴您的区块",Pause:coe,"Pause execution":"暂停执行","Pause script":"暂停脚本","Phone:":"电话:","Please select object ID...":"请选择对象ID...","Press Ctrl+Enter to get the answer":"按 Ctrl+Enter 即可得到答案","Prettify the script":"美化脚本","Print some text in log":"在日志中打印一些文本","Priority:":"优先:",Pushover:uoe,Pushsafer:doe,"Read only ID selected: %s":"选择的只读ID:%s",Rename:hoe,"Reorder scripts in folders":"重新排序文件夹中的脚本",Repeat:poe,Restart:goe,Result:foe,"Resume execution":"恢复执行","Root folder":"根文件夹","Rules description":"使用IF,THEN,ELSE块创建规则","Run script":"运行脚本",Sa:moe,Saturday:boe,Save:$oe,"Save all":"保存全部","Say It":"Say It","Say some text via sayit adapter":"通过sayit适配器说一些文字",Schedule:voe,Script:yoe,"Script %s was modified on disk":"脚本%s已在磁盘上修改","Script is not running":"脚本没有运行","Search in scripts":"在脚本中搜索","Search...":"搜索...","Select all":"全选","Send email":"发送电子邮件","Sends an email":"发送邮件","Sends message via Pushsafer":"通过Pushsafer发送消息","Sends message via pushover":"通过推播发送消息","Sends message via telegram":"通过电报发送消息","Sends message via whatsapp-cmb":"通过whatsapp-cmb发送消息",September:_oe,"Server time":"服务器时间","Set state action":"设定状态动作","Set with delay":"延迟设置","Shell command":"Shell命令","Show astronomical events":"显示天文事件","Show javascript code":"显示Javascript代码","Show logs":"显示记录","Show only paused scripts":"仅显示暂停的脚本","Show only running scripts":"仅显示正在运行的脚本","Show only scripts with problems":"仅显示有问题的脚本",Simulate:woe,"Some files will be rejected":"有些文件将被拒绝","Sound:":"声音:",Stack:Coe,Start:Soe,"Start script":"启动脚本",State:Toe,"State condition":"状态条件","Step into function":"进入功能","Step out from function":"退出函数","Stop on exception":"异常停止",Su:koe,"Subject:":"学科:",Sunday:Eoe,"TS description":"通过编写Typescript来创建规则",Telegram:Ioe,"Text:":"文本:",Th:xoe,"The script will be stopped and must be activated manually after debugging. Continue?":"该脚本将停止,并且必须在调试后手动激活。继续?","This is advances option. You can write your own code here and it will be executed on trigger":"这是高级选项。您可以在此处编写自己的代码,它将在触发器上执行",Thursday:Doe,Time:Aoe,"Time condition":"时间条件","Title:":"标题:","To:":"到:","Trigger with value":"用值触发",Triggered:Ooe,Triggers:Roe,"Triggers the on script saving or the javascript instance restart":"触发脚本保存或javascript实例重启","Triggers the rule on update or change of some state":"在某些状态的更新或更改时触发规则","Triggers the rule periodically or on some specific time":"定期或在特定时间触发规则",Tu:Moe,Tuesday:Noe,URL:Loe,"Unknown error":"未知错误","Unknown error!":"未知错误!","Use generated code":"使用生成的代码","User function":"用户功能","User:":"用户:",Value:Boe,"Vibration:":"振动:",Volume:Poe,We:joe,Wednesday:Foe,"Whatsapp-cmb":"Whatsapp的cmb",Write:zoe,"Write your own code":"编写自己的代码",Yes:Uoe,"Yet exists!":"不存在!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"您可以在 URL 中使用 %s 以使用当前触发值,%id 以使用触发对象 ID,%name 以显示触发对象 ID 名称或 %old 以使用旧触发值","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"您可以在命令中使用 %s 以使用当前触发值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发值","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"您可以在文本中使用 %s 显示当前触发值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发值","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"您可以在值中使用 %s 以使用当前触发器值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发器值","You have to enter OpenAI API key in the configuration of javascript adapter.":"您必须在 javascript 适配器的配置中输入 OpenAI API 密钥。","[equal]":"[平等的]","[greater or equal]":"[大于等于]","[greater]":"[更大]","[hysteresis]":"[磁滞]","[includes]":"[包括]","[less or equal]":"[小于或等于]","[less]":"[较少的]","[not equal]":"[不相等]",acknowledgment:Woe,all:Hoe,and:Voe,astro:Goe,at:Koe,"clear running":"畅通无阻",control:Joe,copy:qoe,cron:Yoe,dawn:Xoe,debug_help:Zoe,debug_label:Qoe,default:"默认",dusk:eae,easy:tae,else:"别的","equal to":"等于",every:nae,"every hour at 0 minutes":"每小时0分钟",false:"错误的","file reading has failed: %s":"文件读取失败:%s","file reading was aborted":"文件读取中止",filter_func:sae,filter_id:rae,filter_name:iae,filter_role:oae,filter_room:aae,"for edit or create script":"用于编辑或创建脚本","for professionals":"对于专业人士","for programmers":"对于程序员",goldenHour:lae,goldenHourEnd:cae,"greater or equal":"大于或等于","greater or equal to":"大于或等于","greater than":"比...更棒",help_just_check:uae,help_on_change:dae,"high priority":"高优先级","high-priority":"高优先级","highest priority":"最高优先级",hours:hae,includes:pae,interval:gae,"just check":"只是检查","less or equal":"小于或等于","less or equal to":"小于或等于","less than":"少于","lower priority":"低优先级","lowest priority":"最低优先级",magic:fae,milliseconds:mae,minutes:bae,ms:$ae,nadir:vae,nauticalDawn:yae,nauticalDusk:_ae,nextSunrise:wae,nextSunset:Cae,night:Sae,nightEnd:Tae,"no blocks found":"找不到块","no group":"没有组",normal:kae,"normal priority":"正常优先","not equal to":"不等于","not properly connected":"此块未正确连接到其他块。",offset:Eae,"on change":"在变化","on condition change":"在条件变化时","on update":"更新时",one:Iae,or:xae,quiet:Dae,"reset search":"重置搜索",search:Aae,seconds:Oae,solarNoon:Rae,"store in":"存放在",sunrise:Mae,sunriseEnd:Nae,sunset:Lae,sunsetStart:Bae,then:Pae,"toggle value":"切换值",tooltip_ack:jae,tooltip_from:Fae,tooltip_lc:zae,tooltip_quality:Uae,tooltip_ts:Wae,tooltip_user:Hae,tooltip_value:Vae,true:"真的",two:Gae,undefined:"不明确的",update:Kae,"use seconds":"精确到秒","use trigger value":"使用触发值",verbose_help:Jae,verbose_label:qae,when:Yae,with:"和","with date":"有日期","with offset":"带偏移",wizard:Xae},lf={root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:o=>({width:"100%",height:"100%",backgroundColor:o.palette.background&&o.palette.background.default,position:"relative"}),menuOpenCloseButton:o=>({position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,pt:1,cursor:"pointer",zIndex:1,height:25,width:20,background:o.palette.secondary.main,color:o.palette.primary.main,pl:"3px","&:hover":{color:"white"}}),showLogButton:o=>({position:"absolute",right:3,borderRadius:"5px 5px 0 0",bottom:0,pt:"3px",cursor:"pointer",zIndex:10,height:20,width:25,background:o.palette.secondary.main,color:o.palette.primary.main,pl:1,"&:hover":{color:"white"}})};class Qae extends I.GenericApp{hosts=[];importFile=null;scripts={};confirmCallback=null;constructor(n){super(n,{Connection:I.AdminConnection,translations:{en:gF,de:aW,es:eH,fr:K8,it:F6,nl:RK,pl:kY,pt:vQ,ru:hne,uk:iie,"zh-cn":Zae},bottomButtons:!1,socket:{autoSubscribeLog:!0},sentryDSN:window.sentryDSN});const s=window.localStorage.getItem("JS.logSizes");let i=[80,20];if(s)try{i=JSON.parse(s)}catch{}const a=window.localStorage.getItem("JS.splitSizes");let c=[20,80];if(a)try{c=JSON.parse(a)}catch{}Object.assign(this.state,{splitSizes:c,logSizes:i}),window.alert=h=>{console.error(h),this.showJsError(h.toString())}}onScriptsChanged=(n,s)=>{if(!n)return;let i=!1;const a={};n.startsWith("script.js.")&&(s?JSON.stringify(this.scripts[n])!==JSON.stringify(s)&&(this.scripts[n]=s,i=!0,a.scriptsHash=this.state.scriptsHash+1):this.scripts[n]&&(delete this.scripts[n],i=!0,a.scriptsHash=this.state.scriptsHash+1)),i&&this.setState(a)};onInstanceChanged=(n,s)=>{var c;if(!n)return;let i=!1;const a={};if(n.match(/^system\.adapter\.[-_\w\d]+\$/)){if(n.startsWith(`system.adapter.${this.adapterName}.`)){const h=parseInt(n.split(".").pop()||"0",10)||0;if((s==null?void 0:s.type)==="instance")this.state.instances.includes(h)||(a.instances=[...this.state.instances],a.instances.push(h),a.instances.sort(),i=!0,this.socket.subscribeState(`${s._id}.alive`,this.onInstanceAliveChange));else if(!s&&this.state.instances.includes(h)){this.socket.unsubscribeState(`${n}.alive`,this.onInstanceAliveChange),a.instances=[...this.state.instances];const g=a.instances.indexOf(h);a.instances.splice(g,1),i=!0}}(c=s==null?void 0:s.common)!=null&&c.blockly&&(this.confirmCallback=h=>h&&window.location.reload(),a.confirm=I.I18n.t("Some blocks were updated. Reload admin?"),i=!0)}i&&this.setState(a)};onHostChanged=(n,s)=>{if(n&&n.startsWith("system.host.")){if((s==null?void 0:s.type)==="host")this.hosts.includes(n)||(this.hosts.push(n),this.hosts.sort());else if(!s&&this.hosts.includes(n)){const i=this.hosts.indexOf(n);this.hosts.splice(i,1)}}};onConnectionReady(){window.systemLang=this.socket.systemLang,this.setState({ready:!1,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:window.localStorage.getItem("App.menuOpened")!=="false",menuSelectId:"",expertMode:window.localStorage.getItem("App.expertMode")==="true",logHorzLayout:window.localStorage.getItem("App.logHorzLayout")==="true",runningInstances:{},confirm:"",importFile:!1,message:"",searchText:"",hideLog:window.localStorage.getItem("App.hideLog")==="true",debugMode:!1,debugInstance:null,splitSizes:[20,80]},async()=>{const n={},s=await this.subscribeOnInstances();n.instances=s.instances,n.runningInstances=s.runningInstances,await this.readAdaptersWithBlockly();const i=await this.socket.getHosts();this.hosts=i.map(h=>h._id);const a=await this.readAllScripts();window.localStorage.getItem("App.expertMode")!=="true"&&window.localStorage.getItem("App.expertMode")!=="false"&&Object.keys(a).find(h=>h.startsWith("script.js.global.")&&a[h].type==="script")&&(n.expertMode=!0),this.scripts=a;let c=this.state.scriptsHash;this.compareScripts(a)&&c++,n.scriptsHash=c,n.ready=!0,this.setState(n),await this.socket.subscribeObject("script.*",this.onScriptsChanged),await this.socket.subscribeObject("system.adapter.*",this.onInstanceChanged),await this.socket.subscribeObject("system.host.*",this.onHostChanged)})}async subscribeOnInstances(){const s=(await this.socket.getAdapterInstances(this.adapterName)).map(a=>parseInt(a._id.split(".").pop()||"0")).sort(),i={};s.forEach(a=>i[`system.adapter.${this.adapterName}.${a}`]=!1);for(let a=0;an[i]=s[i]),n}async readAdaptersWithBlockly(){const n=await this.socket.getObjectViewSystem("adapter","system.adapter.","system.adapter.香");return new Promise(s=>dn.loadCustomBlockly(n,()=>s()))}onInstanceAliveChange=(n,s)=>{if(n&&(n=n?n.substring(0,n.length-6):"",this.state.runningInstances[n]!==(s?s.val:!1))){const i=JSON.parse(JSON.stringify(this.state.runningInstances));i[n]=s?!!s.val:!1,this.setState({runningInstances:i})}};onToggleExpertMode(n){this.onExpertModeChange(n)}compareScripts(n){const s=Object.keys(this.scripts),i=Object.keys(n);if(s.length!==i.length)return this.scripts=n,!0;if(JSON.stringify(s)!==JSON.stringify(i))return this.scripts=n,!0;for(let a=0;a ${s}`),this.setState({updating:!0});try{if(((c=this.scripts[n])==null?void 0:c.type)==="script"){const h=JSON.parse(JSON.stringify(this.scripts[n].common));h.name=i||h.name,a!==void 0&&(h.engine=`system.adapter.javascript.${a}`);const g=s.split(".");g.pop();const b=g.join(".");this.scripts[b]&&this.scripts[b].type==="script"&&(g.pop(),s=`${g.join(".")}.${s.split(".").pop()}`),await this.updateScript(n,s,h)}else await this.renameGroup(n,s,i)}catch(h){h.toString().includes("canceled")||this.showJsError(h)}this.setState({updating:!1})}async renameGroup(n,s,i,a){if(a){if(a.length){let c=a.pop();if(c){const h=await this.socket.getObject(c);if(h){try{await this.socket.delObject(c)}catch{}c=s+c.substring(n.length),h._id=c,h.common=h.common||{},h.common.expert=!0,await this.socket.setObject(c,h),await this.renameGroup(n,s,i,a)}}}}else{a=[],a=Object.keys(this.scripts).filter(h=>h.startsWith(`${n}.`));let c=await this.socket.getObject(n);c=c||{common:{},type:"channel"},c.common.name=i||c.common.name||n.split(".").pop()||"",c._id=s;try{await this.socket.delObject(n)}catch{}try{await this.socket.setObject(s,c),await this.renameGroup(n,s,i,a)}catch(h){console.log(h);const g={_id:s,type:"channel",common:{name:i||n.split(".").pop()||"",expert:!0},native:{}};await this.socket.setObject(s,g),await this.renameGroup(n,s,i,a)}}}onUpdateScript(n,s){this.scripts[n]&&this.scripts[n].type==="script"&&this.updateScript(n,n,s).then(()=>{}).catch(i=>!i.toString().includes("canceled")&&this.showJsError(i))}onSelect(n){this.scripts[n]&&this.scripts[n].common&&this.scripts[n].type==="script"&&this.setState({selected:n,menuSelectId:n},()=>setTimeout(()=>this.setState({menuSelectId:""}),300))}onExpertModeChange(n){this.state.expertMode!==n&&(window.localStorage.setItem("App.expertMode",n?"true":"false"),this.setState({expertMode:n}))}showJsError(n){this.setState({errorText:n?n.toString():""})}showMessage(n){this.setState({message:n?n.toString():""})}onDelete(n){this.socket.delObject(n).catch(s=>this.showJsError(s))}onEdit(n){this.state.selected!==n&&this.setState({selected:n})}onAddNew(n,s,i,a,c,h){const g=new RegExp(`^${n}\\.`);if(Object.keys(this.scripts).find(b=>n===b||g.test(n)))return this.showJsError(I.I18n.t("Yet exists!"));i?this.socket.setObject(n,{_id:n,type:"channel",common:{name:s,expert:!0},native:{}}).then(()=>setTimeout(()=>this.setState({menuSelectId:n},()=>setTimeout(()=>this.setState({menuSelectId:""}),300)),1e3)).catch(b=>this.showJsError(b)):(c==="Blockly"&&!h&&(h=` -//${btoa(encodeURIComponent(''))}`),this.socket.setObject(n,{_id:n,type:"script",common:{name:s,expert:!0,engineType:c||"Javascript/js",enabled:!1,engine:`system.adapter.javascript.${a||0}`,source:h||"",debug:!1,verbose:!1},native:{}}).then(()=>setTimeout(()=>this.onSelect(n),1e3)).catch(b=>this.showJsError(b)))}async updateScript(n,s,i){let a=await this.socket.getObject(n);const c={common:{}};if(i.engine!==void 0&&(c.common.engine=i.engine),i.enabled!==void 0&&(c.common.enabled=i.enabled),i.source!==void 0&&(c.common.source=i.source),i.debug!==void 0&&(c.common.debug=i.debug),i.verbose!==void 0&&(c.common.verbose=i.verbose),c.from="system.adapter.admin.0",n===s&&(a!=null&&a.common)&&i.name===a.common.name)return(!i.engineType||i.engineType!==a.common.engineType)&&i.engineType!==void 0&&(c.common.engineType=i.engineType||"Javascript/js"),c.type="script",this.socket.extendObject(n,c);if(a!=null&&a.common){a.common.engineType=i.engineType||a.common.engineType||"Javascript/js",await this.socket.delObject(n),c.common.engine!==void 0&&(a.common.engine=c.common.engine),c.common.enabled!==void 0&&(a.common.enabled=c.common.enabled),c.common.source!==void 0&&(a.common.source=c.common.source),c.common.name!==void 0&&(a.common.name=c.common.name),c.common.debug!==void 0&&(a.common.debug=c.common.debug),c.common.verbose!==void 0&&(a.common.verbose=c.common.verbose),a._rev!==void 0&&delete a._rev,a.common.name=i.name,a.common.expert=!0,a.type="script",a._id=s,await this.socket.setObject(s,a);return}return a=c,a.common.name=i.name,a.common.expert=!0,a.type="script",a._id=s,this.socket.setObject(s,a)}onEnableDisable(n,s){var i;if(((i=this.scripts[n])==null?void 0:i.type)==="script"){const a=this.scripts[n].common;a.enabled=s,a.expert=!0,this.updateScript(n,n,a).catch(c=>c!=="canceled"&&this.showJsError(c))}}async getLiveHost(){for(let n=0;n{if(typeof c=="string"){const h=document.createElement("a");h.href=`../../files/${c}`,document.body.appendChild(h),h.click(),h.remove()}else if(c.error&&this.showJsError(c.error),c.data){const h=document.createElement("a");h.href=`data: application/zip;base64,${c.data}`,h.download=`${i}scripts.zip`,document.body.appendChild(h),h.click(),h.remove()}})}onImport(n){this.importFile=n||null,n?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:I.I18n.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}async onImportConfirmed(n){let s=this.importFile;if(this.importFile=null,n&&s){s=s.split(",")[1];const i=await this.getLiveHost();if(!i){this.showJsError(I.I18n.t("No active host found"));return}this.socket.getRawSocket().emit("sendToHost",i,"writeObjectsAsZip",{data:s,adapter:"javascript",id:"script.js"},a=>{a==="permissionError"?this.showJsError(I.I18n.t(a)):!a||a.error?this.showJsError(a?I.I18n.t(a.error||""):I.I18n.t("Unknown error")):this.showMessage(I.I18n.t("Done"))})}}toggleLogLayout(){window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}renderEditor(){const n=Object.keys(this.scripts).reduce((s,i)=>s+(this.scripts[i].common.engineType==="Rules"?1:0),0);return f.jsx(kh,{debugMode:this.state.debugMode,onDebugModeChange:s=>{s?this.setState({debugMode:!0}):this.setState({debugMode:!1,debugInstance:null})},visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:s=>this.setState({menuSelectId:s}),runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,themeType:this.state.themeType,themeName:this.state.themeName,theme:this.state.theme,expertMode:this.state.expertMode,onChange:(s,i)=>this.onUpdateScript(s,i),isAnyRulesExists:n,debugInstance:this.state.debugInstance,onSelectedChange:(s,i)=>{const a={};let c=!1;s!==this.state.selected&&(c=!0,a.selected=s),JSON.stringify(i)!==JSON.stringify(this.state.editing)&&(c=!0,a.editing=JSON.parse(JSON.stringify(i))),c&&this.setState(a)},onRestart:s=>this.socket.extendObject(s,{common:{enabled:!0}}),selected:this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].type==="script"?this.state.selected:"",objects:this.scripts,resizing:this.state.resizing},"editor")}showLogButton(){return f.jsx(D.Box,{title:I.I18n.t("Show logs"),sx:lf.showLogButton,onClick:()=>{window.localStorage.setItem("App.hideLog","false"),this.setState({hideLog:!1,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:f.jsx(ux,{})},"showLog")}renderErrorDialog(){return this.state.errorText?f.jsx(Hf,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"dialogError"):null}renderMain(){let n;return this.state.debugMode||this.state.hideLog?n=f.jsxs(f.Fragment,{children:[!this.state.debugMode&&this.state.hideLog?this.showLogButton():void 0,this.renderEditor()]}):n=f.jsxs(J$,{direction:this.state.logHorzLayout?Bn.Horizontal:Bn.Vertical,initialSizes:this.state.logSizes,minWidths:[500,100],minHeights:[150,50],onResizeStarted:()=>this.setState({resizing:!0}),onResizeFinished:(s,i)=>{this.setState({logSizes:i,resizing:!1}),window.localStorage.setItem("JS.logSizes",JSON.stringify(i))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[this.renderEditor(),f.jsx(pw,{verticalLayout:!this.state.logHorzLayout,onLayoutChange:()=>this.toggleLogLayout(),editing:this.state.editing,socket:this.socket,selected:this.state.selected,onHideLog:()=>{window.localStorage.setItem("App.hideLog","true"),this.setState({hideLog:!0,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)}},"log")]}),[this.state.message?f.jsx(I.Message,{onClose:()=>this.setState({message:""}),text:this.state.message},"dialogMessage"):null,this.renderErrorDialog(),this.state.importFile?f.jsx(rC,{onClose:s=>this.onImport(s)},"dialogImportFile"):null,this.state.confirm?f.jsx(I.Confirm,{onClose:s=>{this.state.confirm&&this.setState({confirm:""}),this.confirmCallback&&this.confirmCallback(s),this.confirmCallback=null},text:this.state.confirm},"dialogConfirm"):null,f.jsxs(D.Box,{sx:lf.content,className:"iobVerticalSplitter",children:[f.jsx(D.Box,{sx:lf.menuOpenCloseButton,onClick:()=>{window.localStorage.setItem("App.menuOpened",this.state.menuOpened?"false":"true"),this.setState({menuOpened:!this.state.menuOpened,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:this.state.menuOpened?f.jsx(dx,{}):f.jsx(hx,{})},"closeMenu"),n]},"main")]}render(){if(!this.state.ready)return f.jsx(UC,{injectFirst:!0,children:f.jsx(WC,{theme:this.state.theme,children:f.jsx(I.Loader,{themeType:this.state.themeType})})});let n;return this.state.menuOpened?n=f.jsxs(J$,{direction:Bn.Horizontal,initialSizes:this.state.splitSizes,minWidths:[270,400],onResizeFinished:(s,i)=>{this.setState({splitSizes:i}),window.localStorage.setItem("JS.splitSizes",JSON.stringify(i))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[f.jsx("div",{style:lf.mainDiv,children:f.jsx(Ha,{debugMode:this.state.debugMode,onDebugInstance:s=>this.setState({debugInstance:s,debugMode:!!s}),scripts:this.scripts,scriptsHash:this.state.scriptsHash,instances:this.state.instances,onRename:this.onRename.bind(this),socket:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,themeName:this.state.themeName,onThemeChange:s=>{I.Utils.setThemeName(s);const i=I.Utils.getThemeType(s);this.setState({themeName:s,themeType:i},()=>this.toggleTheme(s))},runningInstances:this.state.runningInstances,onExpertModeChange:this.onExpertModeChange.bind(this),onDelete:this.onDelete.bind(this),onAddNew:this.onAddNew.bind(this),onEnableDisable:this.onEnableDisable.bind(this),onExport:this.onExport.bind(this),width:500,onImport:()=>this.setState({importFile:!0}),onSearch:s=>this.setState({searchText:s}),version:this.props.version},"sidemenu")},"menu"),this.renderMain()]}):n=this.renderMain(),f.jsx(UC,{injectFirst:!0,children:f.jsx(WC,{theme:this.state.theme,children:f.jsx("div",{style:lf.root,children:f.jsx(YN,{socket:this.socket,children:n})})})})}}window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/);function ele(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(o=>{o.unregister()})}const tle="9.0.3",cI={version:tle};var Ql;(function(o){o.mouse="mouse",o.touch="touch",o.keyboard="keyboard"})(Ql||(Ql={}));class nle{get delay(){var n;return(n=this.args.delay)!==null&&n!==void 0?n:0}get scrollAngleRanges(){return this.args.scrollAngleRanges}get getDropTargetElementsAtPoint(){return this.args.getDropTargetElementsAtPoint}get ignoreContextMenu(){var n;return(n=this.args.ignoreContextMenu)!==null&&n!==void 0?n:!1}get enableHoverOutsideTarget(){var n;return(n=this.args.enableHoverOutsideTarget)!==null&&n!==void 0?n:!1}get enableKeyboardEvents(){var n;return(n=this.args.enableKeyboardEvents)!==null&&n!==void 0?n:!1}get enableMouseEvents(){var n;return(n=this.args.enableMouseEvents)!==null&&n!==void 0?n:!1}get enableTouchEvents(){var n;return(n=this.args.enableTouchEvents)!==null&&n!==void 0?n:!0}get touchSlop(){return this.args.touchSlop||0}get delayTouchStart(){var n,s,i,a;return(a=(i=(n=this.args)===null||n===void 0?void 0:n.delayTouchStart)!==null&&i!==void 0?i:(s=this.args)===null||s===void 0?void 0:s.delay)!==null&&a!==void 0?a:0}get delayMouseStart(){var n,s,i,a;return(a=(i=(n=this.args)===null||n===void 0?void 0:n.delayMouseStart)!==null&&i!==void 0?i:(s=this.args)===null||s===void 0?void 0:s.delay)!==null&&a!==void 0?a:0}get window(){if(this.context&&this.context.window)return this.context.window;if(typeof window<"u")return window}get document(){var n;if(!((n=this.context)===null||n===void 0)&&n.document)return this.context.document;if(this.window)return this.window.document}get rootElement(){var n;return((n=this.args)===null||n===void 0?void 0:n.rootElement)||this.document}constructor(n,s){this.args=n,this.context=s}}function sle(o,n,s,i){return Math.sqrt(Math.pow(Math.abs(s-o),2)+Math.pow(Math.abs(i-n),2))}function rle(o,n,s,i,a){if(!a)return!1;const c=Math.atan2(i-n,s-o)*180/Math.PI+180;for(let h=0;h=g.start)&&(g.end==null||c<=g.end))return!0}return!1}const ile={Left:1},ole={Left:0};function h_(o){return o.button===void 0||o.button===ole.Left}function ale(o){return o.buttons===void 0||(o.buttons&ile.Left)===0}function uI(o){return!!o.targetTouches}const lle=1;function cle(o){const n=o.nodeType===lle?o:o.parentElement;if(!n)return;const{top:s,left:i}=n.getBoundingClientRect();return{x:i,y:s}}function ule(o,n){if(o.targetTouches.length===1)return kv(o.targetTouches[0]);if(n&&o.touches.length===1&&o.touches[0].target===n.target)return kv(o.touches[0])}function kv(o,n){return uI(o)?ule(o,n):{x:o.clientX,y:o.clientY}}const M0=(()=>{let o=!1;try{addEventListener("test",()=>{},Object.defineProperty({},"passive",{get(){return o=!0,!0}}))}catch{}return o})(),cf={[Ql.mouse]:{start:"mousedown",move:"mousemove",end:"mouseup",contextmenu:"contextmenu"},[Ql.touch]:{start:"touchstart",move:"touchmove",end:"touchend"},[Ql.keyboard]:{keydown:"keydown"}};class If{profile(){var n;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:((n=this.dragOverTargetIds)===null||n===void 0?void 0:n.length)||0}}get document(){return this.options.document}setup(){const n=this.options.rootElement;n&&(Gt(!If.isSetUp,"Cannot have two Touch backends at the same time."),If.isSetUp=!0,this.addEventListener(n,"start",this.getTopMoveStartHandler()),this.addEventListener(n,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(n,"move",this.handleTopMove),this.addEventListener(n,"move",this.handleTopMoveCapture,!0),this.addEventListener(n,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(n,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(n,"keydown",this.handleCancelOnEscape,!0))}teardown(){const n=this.options.rootElement;n&&(If.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(n,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(n,"start",this.handleTopMoveStart),this.removeEventListener(n,"move",this.handleTopMoveCapture,!0),this.removeEventListener(n,"move",this.handleTopMove),this.removeEventListener(n,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(n,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(n,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}addEventListener(n,s,i,a=!1){const c=M0?{capture:a,passive:!1}:a;this.listenerTypes.forEach(function(h){const g=cf[h][s];g&&n.addEventListener(g,i,c)})}removeEventListener(n,s,i,a=!1){const c=M0?{capture:a,passive:!1}:a;this.listenerTypes.forEach(function(h){const g=cf[h][s];g&&n.removeEventListener(g,i,c)})}connectDragSource(n,s){const i=this.handleMoveStart.bind(this,n);return this.sourceNodes.set(n,s),this.addEventListener(s,"start",i),()=>{this.sourceNodes.delete(n),this.removeEventListener(s,"start",i)}}connectDragPreview(n,s,i){return this.sourcePreviewNodeOptions.set(n,i),this.sourcePreviewNodes.set(n,s),()=>{this.sourcePreviewNodes.delete(n),this.sourcePreviewNodeOptions.delete(n)}}connectDropTarget(n,s){const i=this.options.rootElement;if(!this.document||!i)return()=>{};const a=c=>{if(!this.document||!i||!this.monitor.isDragging())return;let h;switch(c.type){case cf.mouse.move:h={x:c.clientX,y:c.clientY};break;case cf.touch.move:var g,b;h={x:((g=c.touches[0])===null||g===void 0?void 0:g.clientX)||0,y:((b=c.touches[0])===null||b===void 0?void 0:b.clientY)||0};break}const $=h!=null?this.document.elementFromPoint(h.x,h.y):void 0,y=$&&s.contains($);if($===s||y)return this.handleMove(c,n)};return this.addEventListener(this.document.body,"move",a),this.targetNodes.set(n,s),()=>{this.document&&(this.targetNodes.delete(n),this.removeEventListener(this.document.body,"move",a))}}getTopMoveStartHandler(){return!this.options.delayTouchStart&&!this.options.delayMouseStart?this.handleTopMoveStart:this.handleTopMoveStartDelay}installSourceNodeRemovalObserver(n){this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=n,this.draggedSourceNodeRemovalObserver=new MutationObserver(()=>{n&&!n.parentElement&&(this.resurrectSourceNode(),this.uninstallSourceNodeRemovalObserver())}),!(!n||!n.parentElement)&&this.draggedSourceNodeRemovalObserver.observe(n.parentElement,{childList:!0})}resurrectSourceNode(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}uninstallSourceNodeRemovalObserver(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}constructor(n,s,i){this.getSourceClientOffset=a=>{const c=this.sourceNodes.get(a);return c&&cle(c)},this.handleTopMoveStartCapture=a=>{h_(a)&&(this.moveStartSourceIds=[])},this.handleMoveStart=a=>{Array.isArray(this.moveStartSourceIds)&&this.moveStartSourceIds.unshift(a)},this.handleTopMoveStart=a=>{if(!h_(a))return;const c=kv(a);c&&(uI(a)&&(this.lastTargetTouchFallback=a.targetTouches[0]),this._mouseClientOffset=c),this.waitingForDelay=!1},this.handleTopMoveStartDelay=a=>{if(!h_(a))return;const c=a.type===cf.touch.start?this.options.delayTouchStart:this.options.delayMouseStart;this.timeout=setTimeout(this.handleTopMoveStart.bind(this,a),c),this.waitingForDelay=!0},this.handleTopMoveCapture=()=>{this.dragOverTargetIds=[]},this.handleMove=(a,c)=>{this.dragOverTargetIds&&this.dragOverTargetIds.unshift(c)},this.handleTopMove=a=>{if(this.timeout&&clearTimeout(this.timeout),!this.document||this.waitingForDelay)return;const{moveStartSourceIds:c,dragOverTargetIds:h}=this,g=this.options.enableHoverOutsideTarget,b=kv(a,this.lastTargetTouchFallback);if(!b)return;if(this._isScrolling||!this.monitor.isDragging()&&rle(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,b.x,b.y,this.options.scrollAngleRanges)){this._isScrolling=!0;return}if(!this.monitor.isDragging()&&this._mouseClientOffset.hasOwnProperty("x")&&c&&sle(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,b.x,b.y)>(this.options.touchSlop?this.options.touchSlop:0)&&(this.moveStartSourceIds=void 0,this.actions.beginDrag(c,{clientOffset:this._mouseClientOffset,getSourceClientOffset:this.getSourceClientOffset,publishSource:!1})),!this.monitor.isDragging())return;const $=this.sourceNodes.get(this.monitor.getSourceId());this.installSourceNodeRemovalObserver($),this.actions.publishDragSource(),a.cancelable&&a.preventDefault();const y=(h||[]).map(E=>this.targetNodes.get(E)).filter(E=>!!E),w=this.options.getDropTargetElementsAtPoint?this.options.getDropTargetElementsAtPoint(b.x,b.y,y):this.document.elementsFromPoint(b.x,b.y),T=[];for(const E in w){if(!w.hasOwnProperty(E))continue;let k=w[E];for(k!=null&&T.push(k);k;)k=k.parentElement,k&&T.indexOf(k)===-1&&T.push(k)}const C=T.filter(E=>y.indexOf(E)>-1).map(E=>this._getDropTargetId(E)).filter(E=>!!E).filter((E,k,A)=>A.indexOf(E)===k);if(g)for(const E in this.targetNodes){const k=this.targetNodes.get(E);if($&&k&&k.contains($)&&C.indexOf(E)===-1){C.unshift(E);break}}C.reverse(),this.actions.hover(C,{clientOffset:b})},this._getDropTargetId=a=>{const c=this.targetNodes.keys();let h=c.next();for(;h.done===!1;){const g=h.value;if(a===this.targetNodes.get(g))return g;h=c.next()}},this.handleTopMoveEndCapture=a=>{if(this._isScrolling=!1,this.lastTargetTouchFallback=void 0,!!ale(a)){if(!this.monitor.isDragging()||this.monitor.didDrop()){this.moveStartSourceIds=void 0;return}a.cancelable&&a.preventDefault(),this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.drop(),this.actions.endDrag()}},this.handleCancelOnEscape=a=>{a.key==="Escape"&&this.monitor.isDragging()&&(this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.endDrag())},this.options=new nle(i,s),this.actions=n.getActions(),this.monitor=n.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(Ql.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(Ql.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(Ql.keyboard)}}const dle=function(n,s={},i={}){return new If(n,s,i)};window.GenericBlock=yn;window.adapterName="javascript";window.sentryDSN="https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56";console.log(`iobroker.${window.adapterName}@${cI.version}`);const hle=window.innerWidth<600,N0=document.getElementById("root");N0&&V0(N0).render(f.jsx(oT,{backend:hle?dle:yT,children:f.jsx(Qae,{version:cI.version})}));ele();const D$=window.loadDynamicScript;D$&&D$(window.location.port==="3000"?`${window.location.protocol}//${window.location.hostname}:8081/lib/js/socket.io.js`:"./../../lib/js/socket.io.js",()=>D$("vs/loader.js",()=>D$("vs/configure.js",()=>typeof window.socketLoadedHandler=="function"&&window.socketLoadedHandler()))); diff --git a/admin/assets/index-BNiWan3F.js b/admin/assets/index-BNiWan3F.js new file mode 100644 index 000000000..c2d57474f --- /dev/null +++ b/admin/assets/index-BNiWan3F.js @@ -0,0 +1,27 @@ +import{j as x}from"./createSvgIcon-DMsh-YeH.js";import{i as G}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{u as W_,a as B_,i as X,M as Be,C as Dr,G as M_,b as N_,c as Gs,I as P_,S as Mt,d as F_,e as Us,j as U_,D as H_,f as $_}from"./index-dMNZJoGO.js";import{i as En,C as q_}from"./index-f32XoI0M.js";import{g as G_,c as br}from"./_commonjsHelpers-Cpj98o6Y.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import"./inheritsLoose-DgfqekV3.js";import"./preload-helper-Dp1pzeXC.js";function K_(I){const s=W_().getMonitor(),[A,b]=B_(s,I);return G.useEffect(()=>s.subscribeToOffsetChange(b)),G.useEffect(()=>s.subscribeToStateChange(b)),A}let Er;function z_(){return Er||(Er=new Image,Er.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),Er}const J_="_wrapperRules_nnott_1",k_="_rootWrapper_nnott_9",Z_="_addClass_nnott_14",Vi={wrapperRules:J_,rootWrapper:k_,addClass:Z_},Y_="_switchesItem_10ls3_1",X_="_switchesItemActive_10ls3_28",Q_="_iconTheme_10ls3_36",nu={switchesItem:Y_,switchesItemActive:X_,iconTheme:Q_},Ks=({name:I,id:p,active:s,icon:A,adapter:b,socket:w,onDoubleClick:S,title:T,onTouchMove:W,style:un})=>x.jsxs("div",{onDoubleClick:S,onTouchMove:W,title:T?X.I18n.t(T):void 0,className:X.Utils.clsx(nu.switchesItem,s&&nu.switchesItemActive,`block-${p}`),children:[x.jsx(Be,{iconName:A,className:nu.iconTheme,adapter:b,socket:w,style:un}),x.jsx("span",{children:I?X.I18n.t(I):""})]},p),j_="_cardStyle_8rq8v_1",V_="_cardStyleActive_8rq8v_17",np="_controlMenu_8rq8v_22",tp="_closeBtn_8rq8v_31",ep="_isDelete_8rq8v_73",rp="_drag_mobile_8rq8v_90",ce={cardStyle:j_,cardStyleActive:V_,controlMenu:np,closeBtn:tp,isDelete:ep,drag_mobile:rp};function ae(I,p,s){let A;switch(I){case"actions":if(s==="else")return A={...p,actions:{...p[I],else:[...p[I].else]}},A;if(s==="then")return A={...p,actions:{...p[I],then:[...p[I].then]}},A;throw console.error(`Unknown additionalParameter: ${s}`),new Error(`Unknown additionalParameter: ${s}`);case"triggers":return A={...p,triggers:[...p.triggers]},A;case"conditions":return A={...p,conditions:[...p.conditions]},A;default:throw new Error(`Unknown name: ${I}`)}}function Jt(I,p,s,A){var b;switch(I){case"actions":return p.actions[s]=p.actions[s].filter(w=>w._id!==A),p;case"conditions":return p.conditions[s]=(b=p.conditions[s])==null?void 0:b.filter(w=>w._id!==A),p;case"triggers":default:return p.triggers=p.triggers.filter(w=>w._id!==A),p}}function ip(I,p,s){const{_id:A,acceptedBy:b}=I;let w;if(!b||!p[b])return console.warn(`Cannot find ${b}`),p;switch(b){case"actions":if(w=p.actions[s].find(S=>S._id===A),!w)console.warn(`Cannot find ${A}`);else{const S=p.actions[s].indexOf(w);p.actions[s][S]=I}return p;case"conditions":if(w=p.conditions[s].find(S=>S._id===A),!w)console.warn(`Cannot find ${A}`);else{const S=p.conditions[s].indexOf(w);p.conditions[s][S]=I}return p;default:if(w=p.triggers.find(S=>S._id===A),!w)console.warn(`Cannot find ${A}`);else{const S=p.triggers.indexOf(w);p.triggers[S]=I}return p}}const zs=G.memo(I=>{var Sn;const{setUserRules:p,userRules:s,_id:A,id:b,blockValue:w,active:S,acceptedBy:T,isTourOpen:W,setTourStep:un,tourStep:fn}=I,[j,K]=G.useState(null),{blocks:y,socket:on,onUpdate:Cn,setOnUpdate:U,onDebugMessage:E,enableSimulation:Q}=G.useContext(Dr),N=G.useCallback($=>y==null?void 0:y.find(V=>V.getStaticData().id===$),[y]),B=G.useCallback($=>{const V=ip($,s,w);V&&p(V)},[s]),J=$=>{$.currentTarget!==j&&K($.currentTarget)},xn=()=>K(null),_n=G.useMemo(()=>{const $=N(b)||M_;return x.jsx($,{...I,notFound:!N(b),isTourOpen:W,setTourStep:un,tourStep:fn,onUpdate:Cn,setOnUpdate:U,enableSimulation:Q,onDebugMessage:E,onChange:B,className:void 0,socket:on})},[s,Cn,E,Q]),[hn,In]=G.useState(!1);return x.jsxs("div",{onMouseMove:J,onMouseEnter:J,onMouseLeave:xn,onMouseDown:$=>{if($.ctrlKey){let V;const tn=ae(T,s,w);T==="conditions"?(V=tn.conditions[w].find(M=>M._id===A),V&&tn.conditions[w].splice(tn.conditions[w].indexOf(V),0,{...V,_id:Date.now()})):T==="actions"?(V=tn.actions[w].find(M=>M._id===A),V&&tn.actions[w].splice(tn.actions[w].indexOf(V),0,{...V,_id:Date.now()})):(V=tn.triggers.find(M=>M._id===A),V&&tn.triggers.splice(tn[T].indexOf(V),0,{...V,_id:Date.now()})),p(tn)}},id:"height",style:S?{width:(((Sn=document.getElementById("width"))==null?void 0:Sn.clientWidth)||0)-70}:void 0,className:`${ce.cardStyle} ${S?ce.cardStyleActive:null} ${hn?ce.isDelete:null}`,children:[x.jsx("div",{className:ce.drag_mobile}),_n,p&&x.jsx("div",{className:ce.controlMenu,style:j?{opacity:1}:{opacity:0},children:x.jsx("div",{onClick:()=>{let $=ae(T,s,w);$=Jt(T,$,w,A),In(!0),setTimeout(()=>{T==="triggers"&&U(!0),p($)},300)},className:ce.closeBtn})})]})}),up={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},fp=(I,p,s)=>{if(!I||!p)return{display:"none"};let{x:A,y:b}=p;const w=`translate(${A}px, ${b}px)`;return{transform:w,WebkitTransform:w}},sp=I=>{const{itemType:p,isDragging:s,item:A,initialOffset:b,currentOffset:w,targetIds:S}=K_(W=>({item:W.getItem(),itemType:W.getItemType(),initialOffset:W.getInitialSourceClientOffset(),currentOffset:W.getSourceClientOffset(),isDragging:W.isDragging(),targetIds:W.getTargetIds()})),T=()=>{switch(p){case"box":return S.length?x.jsx(zs,{active:!0,...A,allBlocks:I.allBlocks}):x.jsx(Ks,{active:!0,...A,socket:I.socket});default:return null}};return s?x.jsx("div",{style:up,children:x.jsx("div",{style:fp(b,w),children:T()})}):null},op="_border_wrpm3_1",lp="_emptyBlockStyle_wrpm3_6",cp="_emptyBlock_wrpm3_6",ap="_selectOnChange_wrpm3_22",hp="_selectOnChangeHelp_wrpm3_28",gp="_selectOnChangeHelpIcon_wrpm3_34",dp="_emptyBlockNone_wrpm3_49",_p="_mainBlockItemRules_wrpm3_55",pp="_nameBlockItems_wrpm3_63",vp="_contentBlockItem_wrpm3_73",xp="_wrapperMargin_wrpm3_81",mp="_contentHeightOn_wrpm3_87",wp="_contentHeightOff_wrpm3_99",Ap="_cardAdd_wrpm3_105",Cp="_blockCardAdd_wrpm3_125",Ip="_addClassOverflow_wrpm3_136",Sp="_addClassHeight_wrpm3_140",An={border:op,emptyBlockStyle:lp,emptyBlock:cp,selectOnChange:ap,selectOnChangeHelp:hp,selectOnChangeHelpIcon:gp,emptyBlockNone:dp,mainBlockItemRules:_p,nameBlockItems:pp,contentBlockItem:vp,wrapperMargin:xp,contentHeightOn:mp,contentHeightOff:wp,cardAdd:Ap,blockCardAdd:Cp,addClassOverflow:Ip,addClassHeight:Sp};function uu(I,p){const[s,A]=G.useState(window.localStorage.getItem(p)?JSON.parse(window.localStorage.getItem(p)||""):I);return[s,w=>{window.localStorage.setItem(p,JSON.stringify(w)),A(w)},!!window.localStorage.getItem(p)]}var Lr={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */var yp=Lr.exports;(function(I,p){(function(){var s,A="4.17.21",b=200,w="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",S="Expected a function",T="Invalid `variable` option passed into `_.template`",W="__lodash_hash_undefined__",un=500,fn="__lodash_placeholder__",j=1,K=2,y=4,on=1,Cn=2,U=1,E=2,Q=4,N=8,B=16,J=32,xn=64,_n=128,hn=256,In=512,Sn=30,$="...",V=800,tn=16,M=1,Rn=2,pn=3,Yn=1/0,it=9007199254740991,ht=17976931348623157e292,cn=NaN,yn=4294967295,Nt=yn-1,ut=yn>>>1,kt=[["ary",_n],["bind",U],["bindKey",E],["curry",N],["curryRight",B],["flip",In],["partial",J],["partialRight",xn],["rearg",hn]],Zt="[object Arguments]",Me="[object Array]",ks="[object AsyncFunction]",he="[object Boolean]",ge="[object Date]",Zs="[object DOMException]",Ne="[object Error]",Pe="[object Function]",su="[object GeneratorFunction]",ft="[object Map]",de="[object Number]",Ys="[object Null]",pt="[object Object]",ou="[object Promise]",Xs="[object Proxy]",_e="[object RegExp]",st="[object Set]",pe="[object String]",Fe="[object Symbol]",Qs="[object Undefined]",ve="[object WeakMap]",js="[object WeakSet]",xe="[object ArrayBuffer]",Yt="[object DataView]",Rr="[object Float32Array]",Wr="[object Float64Array]",Br="[object Int8Array]",Mr="[object Int16Array]",Nr="[object Int32Array]",Pr="[object Uint8Array]",Fr="[object Uint8ClampedArray]",Ur="[object Uint16Array]",Hr="[object Uint32Array]",Vs=/\b__p \+= '';/g,no=/\b(__p \+=) '' \+/g,to=/(__e\(.*?\)|\b__t\)) \+\n'';/g,lu=/&(?:amp|lt|gt|quot|#39);/g,cu=/[&<>"']/g,eo=RegExp(lu.source),ro=RegExp(cu.source),io=/<%-([\s\S]+?)%>/g,uo=/<%([\s\S]+?)%>/g,au=/<%=([\s\S]+?)%>/g,fo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,so=/^\w*$/,oo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$r=/[\\^$.*+?()[\]{}|]/g,lo=RegExp($r.source),qr=/^\s+/,co=/\s/,ao=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ho=/\{\n\/\* \[wrapped with (.+)\] \*/,go=/,? & /,_o=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,po=/[()=,{}\[\]\/\s]/,vo=/\\(\\)?/g,xo=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,hu=/\w*$/,mo=/^[-+]0x[0-9a-f]+$/i,wo=/^0b[01]+$/i,Ao=/^\[object .+?Constructor\]$/,Co=/^0o[0-7]+$/i,Io=/^(?:0|[1-9]\d*)$/,So=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ue=/($^)/,yo=/['\n\r\u2028\u2029\\]/g,He="\\ud800-\\udfff",Oo="\\u0300-\\u036f",bo="\\ufe20-\\ufe2f",Eo="\\u20d0-\\u20ff",gu=Oo+bo+Eo,du="\\u2700-\\u27bf",_u="a-z\\xdf-\\xf6\\xf8-\\xff",To="\\xac\\xb1\\xd7\\xf7",Lo="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Do="\\u2000-\\u206f",Ro=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",pu="A-Z\\xc0-\\xd6\\xd8-\\xde",vu="\\ufe0e\\ufe0f",xu=To+Lo+Do+Ro,Gr="['’]",Wo="["+He+"]",mu="["+xu+"]",$e="["+gu+"]",wu="\\d+",Bo="["+du+"]",Au="["+_u+"]",Cu="[^"+He+xu+wu+du+_u+pu+"]",Kr="\\ud83c[\\udffb-\\udfff]",Mo="(?:"+$e+"|"+Kr+")",Iu="[^"+He+"]",zr="(?:\\ud83c[\\udde6-\\uddff]){2}",Jr="[\\ud800-\\udbff][\\udc00-\\udfff]",Xt="["+pu+"]",Su="\\u200d",yu="(?:"+Au+"|"+Cu+")",No="(?:"+Xt+"|"+Cu+")",Ou="(?:"+Gr+"(?:d|ll|m|re|s|t|ve))?",bu="(?:"+Gr+"(?:D|LL|M|RE|S|T|VE))?",Eu=Mo+"?",Tu="["+vu+"]?",Po="(?:"+Su+"(?:"+[Iu,zr,Jr].join("|")+")"+Tu+Eu+")*",Fo="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Uo="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Lu=Tu+Eu+Po,Ho="(?:"+[Bo,zr,Jr].join("|")+")"+Lu,$o="(?:"+[Iu+$e+"?",$e,zr,Jr,Wo].join("|")+")",qo=RegExp(Gr,"g"),Go=RegExp($e,"g"),kr=RegExp(Kr+"(?="+Kr+")|"+$o+Lu,"g"),Ko=RegExp([Xt+"?"+Au+"+"+Ou+"(?="+[mu,Xt,"$"].join("|")+")",No+"+"+bu+"(?="+[mu,Xt+yu,"$"].join("|")+")",Xt+"?"+yu+"+"+Ou,Xt+"+"+bu,Uo,Fo,wu,Ho].join("|"),"g"),zo=RegExp("["+Su+He+gu+vu+"]"),Jo=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ko=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Zo=-1,an={};an[Rr]=an[Wr]=an[Br]=an[Mr]=an[Nr]=an[Pr]=an[Fr]=an[Ur]=an[Hr]=!0,an[Zt]=an[Me]=an[xe]=an[he]=an[Yt]=an[ge]=an[Ne]=an[Pe]=an[ft]=an[de]=an[pt]=an[_e]=an[st]=an[pe]=an[ve]=!1;var ln={};ln[Zt]=ln[Me]=ln[xe]=ln[Yt]=ln[he]=ln[ge]=ln[Rr]=ln[Wr]=ln[Br]=ln[Mr]=ln[Nr]=ln[ft]=ln[de]=ln[pt]=ln[_e]=ln[st]=ln[pe]=ln[Fe]=ln[Pr]=ln[Fr]=ln[Ur]=ln[Hr]=!0,ln[Ne]=ln[Pe]=ln[ve]=!1;var Yo={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Xo={"&":"&","<":"<",">":">",'"':""","'":"'"},Qo={"&":"&","<":"<",">":">",""":'"',"'":"'"},jo={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Vo=parseFloat,nl=parseInt,Du=typeof br=="object"&&br&&br.Object===Object&&br,tl=typeof self=="object"&&self&&self.Object===Object&&self,Ln=Du||tl||Function("return this")(),Zr=p&&!p.nodeType&&p,Pt=Zr&&!0&&I&&!I.nodeType&&I,Ru=Pt&&Pt.exports===Zr,Yr=Ru&&Du.process,Xn=function(){try{var c=Pt&&Pt.require&&Pt.require("util").types;return c||Yr&&Yr.binding&&Yr.binding("util")}catch{}}(),Wu=Xn&&Xn.isArrayBuffer,Bu=Xn&&Xn.isDate,Mu=Xn&&Xn.isMap,Nu=Xn&&Xn.isRegExp,Pu=Xn&&Xn.isSet,Fu=Xn&&Xn.isTypedArray;function Gn(c,g,h){switch(h.length){case 0:return c.call(g);case 1:return c.call(g,h[0]);case 2:return c.call(g,h[0],h[1]);case 3:return c.call(g,h[0],h[1],h[2])}return c.apply(g,h)}function el(c,g,h,C){for(var P=-1,nn=c==null?0:c.length;++P-1}function Xr(c,g,h){for(var C=-1,P=c==null?0:c.length;++C-1;);return h}function Ju(c,g){for(var h=c.length;h--&&Qt(g,c[h],0)>-1;);return h}function al(c,g){for(var h=c.length,C=0;h--;)c[h]===g&&++C;return C}var hl=ni(Yo),gl=ni(Xo);function dl(c){return"\\"+jo[c]}function _l(c,g){return c==null?s:c[g]}function jt(c){return zo.test(c)}function pl(c){return Jo.test(c)}function vl(c){for(var g,h=[];!(g=c.next()).done;)h.push(g.value);return h}function ii(c){var g=-1,h=Array(c.size);return c.forEach(function(C,P){h[++g]=[P,C]}),h}function ku(c,g){return function(h){return c(g(h))}}function Et(c,g){for(var h=-1,C=c.length,P=0,nn=[];++h-1}function ic(n,t){var e=this.__data__,r=ur(e,n);return r<0?(++this.size,e.push([n,t])):e[r][1]=t,this}vt.prototype.clear=nc,vt.prototype.delete=tc,vt.prototype.get=ec,vt.prototype.has=rc,vt.prototype.set=ic;function xt(n){var t=-1,e=n==null?0:n.length;for(this.clear();++t=t?n:t)),n}function nt(n,t,e,r,i,f){var o,l=t&j,a=t&K,d=t&y;if(e&&(o=i?e(n,r,i,f):e(n)),o!==s)return o;if(!dn(n))return n;var _=F(n);if(_){if(o=oa(n),!l)return Un(n,o)}else{var v=Bn(n),m=v==Pe||v==su;if(Bt(n))return Lf(n,l);if(v==pt||v==Zt||m&&!i){if(o=a||m?{}:Yf(n),!l)return a?Qc(n,wc(o,n)):Xc(n,ff(o,n))}else{if(!ln[v])return i?n:{};o=la(n,v,l)}}f||(f=new lt);var O=f.get(n);if(O)return O;f.set(n,o),Ss(n)?n.forEach(function(R){o.add(nt(R,t,e,R,n,f))}):Cs(n)&&n.forEach(function(R,k){o.set(k,nt(R,t,e,k,n,f))});var D=d?a?Li:Ti:a?$n:Tn,q=_?s:D(n);return Qn(q||n,function(R,k){q&&(k=R,R=n[k]),ye(o,k,nt(R,t,e,k,n,f))}),o}function Ac(n){var t=Tn(n);return function(e){return sf(e,n,t)}}function sf(n,t,e){var r=e.length;if(n==null)return!r;for(n=sn(n);r--;){var i=e[r],f=t[i],o=n[i];if(o===s&&!(i in n)||!f(o))return!1}return!0}function of(n,t,e){if(typeof n!="function")throw new jn(S);return Re(function(){n.apply(s,e)},t)}function Oe(n,t,e,r){var i=-1,f=qe,o=!0,l=n.length,a=[],d=t.length;if(!l)return a;e&&(t=gn(t,Kn(e))),r?(f=Xr,o=!1):t.length>=b&&(f=me,o=!1,t=new Ht(t));n:for(;++ii?0:i+e),r=r===s||r>i?i:H(r),r<0&&(r+=i),r=e>r?0:Os(r);e0&&e(l)?t>1?Dn(l,t-1,e,r,i):bt(i,l):r||(i[i.length]=l)}return i}var ai=Nf(),af=Nf(!0);function gt(n,t){return n&&ai(n,t,Tn)}function hi(n,t){return n&&af(n,t,Tn)}function sr(n,t){return Ot(t,function(e){return It(n[e])})}function qt(n,t){t=Rt(t,n);for(var e=0,r=t.length;n!=null&&et}function Sc(n,t){return n!=null&&rn.call(n,t)}function yc(n,t){return n!=null&&t in sn(n)}function Oc(n,t,e){return n>=Wn(t,e)&&n=120&&_.length>=120)?new Ht(o&&_):s}_=n[0];var v=-1,m=l[0];n:for(;++v-1;)l!==n&&je.call(l,a,1),je.call(n,a,1);return n}function Cf(n,t){for(var e=n?t.length:0,r=e-1;e--;){var i=t[e];if(e==r||i!==f){var f=i;Ct(i)?je.call(n,i,1):Ci(n,i)}}return n}function mi(n,t){return n+tr(tf()*(t-n+1))}function Uc(n,t,e,r){for(var i=-1,f=bn(nr((t-n)/(e||1)),0),o=h(f);f--;)o[r?f:++i]=n,n+=e;return o}function wi(n,t){var e="";if(!n||t<1||t>it)return e;do t%2&&(e+=n),t=tr(t/2),t&&(n+=n);while(t);return e}function z(n,t){return Pi(jf(n,t,qn),n+"")}function Hc(n){return uf(le(n))}function $c(n,t){var e=le(n);return xr(e,$t(t,0,e.length))}function Te(n,t,e,r){if(!dn(n))return n;t=Rt(t,n);for(var i=-1,f=t.length,o=f-1,l=n;l!=null&&++ii?0:i+t),e=e>i?i:e,e<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var f=h(i);++r>>1,o=n[f];o!==null&&!Jn(o)&&(e?o<=t:o=b){var d=t?null:ta(n);if(d)return Ke(d);o=!1,i=me,a=new Ht}else a=t?[]:l;n:for(;++r=r?n:tt(n,t,e)}var Tf=Rl||function(n){return Ln.clearTimeout(n)};function Lf(n,t){if(t)return n.slice();var e=n.length,r=Xu?Xu(e):new n.constructor(e);return n.copy(r),r}function Oi(n){var t=new n.constructor(n.byteLength);return new Xe(t).set(new Xe(n)),t}function Jc(n,t){var e=t?Oi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}function kc(n){var t=new n.constructor(n.source,hu.exec(n));return t.lastIndex=n.lastIndex,t}function Zc(n){return Se?sn(Se.call(n)):{}}function Df(n,t){var e=t?Oi(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.length)}function Rf(n,t){if(n!==t){var e=n!==s,r=n===null,i=n===n,f=Jn(n),o=t!==s,l=t===null,a=t===t,d=Jn(t);if(!l&&!d&&!f&&n>t||f&&o&&a&&!l&&!d||r&&o&&a||!e&&a||!i)return 1;if(!r&&!f&&!d&&n=l)return a;var d=e[r];return a*(d=="desc"?-1:1)}}return n.index-t.index}function Wf(n,t,e,r){for(var i=-1,f=n.length,o=e.length,l=-1,a=t.length,d=bn(f-o,0),_=h(a+d),v=!r;++l1?e[i-1]:s,o=i>2?e[2]:s;for(f=n.length>3&&typeof f=="function"?(i--,f):s,o&&Pn(e[0],e[1],o)&&(f=i<3?s:f,i=1),t=sn(t);++r-1?i[f?t[o]:o]:s}}function Uf(n){return At(function(t){var e=t.length,r=e,i=Vn.prototype.thru;for(n&&t.reverse();r--;){var f=t[r];if(typeof f!="function")throw new jn(S);if(i&&!o&&pr(f)=="wrapper")var o=new Vn([],!0)}for(r=o?r:e;++r1&&Y.reverse(),_&&al))return!1;var d=f.get(n),_=f.get(t);if(d&&_)return d==t&&_==n;var v=-1,m=!0,O=e&Cn?new Ht:s;for(f.set(n,t),f.set(t,n);++v1?"& ":"")+t[r],t=t.join(e>2?", ":" "),n.replace(ao,`{ +/* [wrapped with `+t+`] */ +`)}function aa(n){return F(n)||zt(n)||!!(Vu&&n&&n[Vu])}function Ct(n,t){var e=typeof n;return t=t??it,!!t&&(e=="number"||e!="symbol"&&Io.test(n))&&n>-1&&n%1==0&&n0){if(++t>=V)return arguments[0]}else t=0;return n.apply(s,arguments)}}function xr(n,t){var e=-1,r=n.length,i=r-1;for(t=t===s?r:t;++e1?n[t-1]:s;return e=typeof e=="function"?(n.pop(),e):s,cs(n,e)});function as(n){var t=u(n);return t.__chain__=!0,t}function Ch(n,t){return t(n),n}function mr(n,t){return t(n)}var Ih=At(function(n){var t=n.length,e=t?n[0]:0,r=this.__wrapped__,i=function(f){return ci(f,n)};return t>1||this.__actions__.length||!(r instanceof Z)||!Ct(e)?this.thru(i):(r=r.slice(e,+e+(t?1:0)),r.__actions__.push({func:mr,args:[i],thisArg:s}),new Vn(r,this.__chain__).thru(function(f){return t&&!f.length&&f.push(s),f}))});function Sh(){return as(this)}function yh(){return new Vn(this.value(),this.__chain__)}function Oh(){this.__values__===s&&(this.__values__=ys(this.value()));var n=this.__index__>=this.__values__.length,t=n?s:this.__values__[this.__index__++];return{done:n,value:t}}function bh(){return this}function Eh(n){for(var t,e=this;e instanceof ir;){var r=is(e);r.__index__=0,r.__values__=s,t?i.__wrapped__=r:t=r;var i=r;e=e.__wrapped__}return i.__wrapped__=n,t}function Th(){var n=this.__wrapped__;if(n instanceof Z){var t=n;return this.__actions__.length&&(t=new Z(this)),t=t.reverse(),t.__actions__.push({func:mr,args:[Fi],thisArg:s}),new Vn(t,this.__chain__)}return this.thru(Fi)}function Lh(){return bf(this.__wrapped__,this.__actions__)}var Dh=ar(function(n,t,e){rn.call(n,e)?++n[e]:mt(n,e,1)});function Rh(n,t,e){var r=F(n)?Uu:Cc;return e&&Pn(n,t,e)&&(t=s),r(n,L(t,3))}function Wh(n,t){var e=F(n)?Ot:cf;return e(n,L(t,3))}var Bh=Ff(us),Mh=Ff(fs);function Nh(n,t){return Dn(wr(n,t),1)}function Ph(n,t){return Dn(wr(n,t),Yn)}function Fh(n,t,e){return e=e===s?1:H(e),Dn(wr(n,t),e)}function hs(n,t){var e=F(n)?Qn:Lt;return e(n,L(t,3))}function gs(n,t){var e=F(n)?rl:lf;return e(n,L(t,3))}var Uh=ar(function(n,t,e){rn.call(n,e)?n[e].push(t):mt(n,e,[t])});function Hh(n,t,e,r){n=Hn(n)?n:le(n),e=e&&!r?H(e):0;var i=n.length;return e<0&&(e=bn(i+e,0)),yr(n)?e<=i&&n.indexOf(t,e)>-1:!!i&&Qt(n,t,e)>-1}var $h=z(function(n,t,e){var r=-1,i=typeof t=="function",f=Hn(n)?h(n.length):[];return Lt(n,function(o){f[++r]=i?Gn(t,o,e):be(o,t,e)}),f}),qh=ar(function(n,t,e){mt(n,e,t)});function wr(n,t){var e=F(n)?gn:pf;return e(n,L(t,3))}function Gh(n,t,e,r){return n==null?[]:(F(t)||(t=t==null?[]:[t]),e=r?s:e,F(e)||(e=e==null?[]:[e]),wf(n,t,e))}var Kh=ar(function(n,t,e){n[e?0:1].push(t)},function(){return[[],[]]});function zh(n,t,e){var r=F(n)?Qr:Gu,i=arguments.length<3;return r(n,L(t,4),e,i,Lt)}function Jh(n,t,e){var r=F(n)?il:Gu,i=arguments.length<3;return r(n,L(t,4),e,i,lf)}function kh(n,t){var e=F(n)?Ot:cf;return e(n,Ir(L(t,3)))}function Zh(n){var t=F(n)?uf:Hc;return t(n)}function Yh(n,t,e){(e?Pn(n,t,e):t===s)?t=1:t=H(t);var r=F(n)?vc:$c;return r(n,t)}function Xh(n){var t=F(n)?xc:Gc;return t(n)}function Qh(n){if(n==null)return 0;if(Hn(n))return yr(n)?Vt(n):n.length;var t=Bn(n);return t==ft||t==st?n.size:pi(n).length}function jh(n,t,e){var r=F(n)?jr:Kc;return e&&Pn(n,t,e)&&(t=s),r(n,L(t,3))}var Vh=z(function(n,t){if(n==null)return[];var e=t.length;return e>1&&Pn(n,t[0],t[1])?t=[]:e>2&&Pn(t[0],t[1],t[2])&&(t=[t[0]]),wf(n,Dn(t,1),[])}),Ar=Wl||function(){return Ln.Date.now()};function ng(n,t){if(typeof t!="function")throw new jn(S);return n=H(n),function(){if(--n<1)return t.apply(this,arguments)}}function ds(n,t,e){return t=e?s:t,t=n&&t==null?n.length:t,wt(n,_n,s,s,s,s,t)}function _s(n,t){var e;if(typeof t!="function")throw new jn(S);return n=H(n),function(){return--n>0&&(e=t.apply(this,arguments)),n<=1&&(t=s),e}}var Hi=z(function(n,t,e){var r=U;if(e.length){var i=Et(e,se(Hi));r|=J}return wt(n,r,t,e,i)}),ps=z(function(n,t,e){var r=U|E;if(e.length){var i=Et(e,se(ps));r|=J}return wt(t,r,n,e,i)});function vs(n,t,e){t=e?s:t;var r=wt(n,N,s,s,s,s,s,t);return r.placeholder=vs.placeholder,r}function xs(n,t,e){t=e?s:t;var r=wt(n,B,s,s,s,s,s,t);return r.placeholder=xs.placeholder,r}function ms(n,t,e){var r,i,f,o,l,a,d=0,_=!1,v=!1,m=!0;if(typeof n!="function")throw new jn(S);t=rt(t)||0,dn(e)&&(_=!!e.leading,v="maxWait"in e,f=v?bn(rt(e.maxWait)||0,t):f,m="trailing"in e?!!e.trailing:m);function O(wn){var at=r,yt=i;return r=i=s,d=wn,o=n.apply(yt,at),o}function D(wn){return d=wn,l=Re(k,t),_?O(wn):o}function q(wn){var at=wn-a,yt=wn-d,Fs=t-at;return v?Wn(Fs,f-yt):Fs}function R(wn){var at=wn-a,yt=wn-d;return a===s||at>=t||at<0||v&&yt>=f}function k(){var wn=Ar();if(R(wn))return Y(wn);l=Re(k,q(wn))}function Y(wn){return l=s,m&&r?O(wn):(r=i=s,o)}function kn(){l!==s&&Tf(l),d=0,r=a=i=l=s}function Fn(){return l===s?o:Y(Ar())}function Zn(){var wn=Ar(),at=R(wn);if(r=arguments,i=this,a=wn,at){if(l===s)return D(a);if(v)return Tf(l),l=Re(k,t),O(a)}return l===s&&(l=Re(k,t)),o}return Zn.cancel=kn,Zn.flush=Fn,Zn}var tg=z(function(n,t){return of(n,1,t)}),eg=z(function(n,t,e){return of(n,rt(t)||0,e)});function rg(n){return wt(n,In)}function Cr(n,t){if(typeof n!="function"||t!=null&&typeof t!="function")throw new jn(S);var e=function(){var r=arguments,i=t?t.apply(this,r):r[0],f=e.cache;if(f.has(i))return f.get(i);var o=n.apply(this,r);return e.cache=f.set(i,o)||f,o};return e.cache=new(Cr.Cache||xt),e}Cr.Cache=xt;function Ir(n){if(typeof n!="function")throw new jn(S);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function ig(n){return _s(2,n)}var ug=zc(function(n,t){t=t.length==1&&F(t[0])?gn(t[0],Kn(L())):gn(Dn(t,1),Kn(L()));var e=t.length;return z(function(r){for(var i=-1,f=Wn(r.length,e);++i=t}),zt=gf(function(){return arguments}())?gf:function(n){return vn(n)&&rn.call(n,"callee")&&!ju.call(n,"callee")},F=h.isArray,wg=Wu?Kn(Wu):Ec;function Hn(n){return n!=null&&Sr(n.length)&&!It(n)}function mn(n){return vn(n)&&Hn(n)}function Ag(n){return n===!0||n===!1||vn(n)&&Nn(n)==he}var Bt=Ml||ji,Cg=Bu?Kn(Bu):Tc;function Ig(n){return vn(n)&&n.nodeType===1&&!We(n)}function Sg(n){if(n==null)return!0;if(Hn(n)&&(F(n)||typeof n=="string"||typeof n.splice=="function"||Bt(n)||oe(n)||zt(n)))return!n.length;var t=Bn(n);if(t==ft||t==st)return!n.size;if(De(n))return!pi(n).length;for(var e in n)if(rn.call(n,e))return!1;return!0}function yg(n,t){return Ee(n,t)}function Og(n,t,e){e=typeof e=="function"?e:s;var r=e?e(n,t):s;return r===s?Ee(n,t,s,e):!!r}function qi(n){if(!vn(n))return!1;var t=Nn(n);return t==Ne||t==Zs||typeof n.message=="string"&&typeof n.name=="string"&&!We(n)}function bg(n){return typeof n=="number"&&nf(n)}function It(n){if(!dn(n))return!1;var t=Nn(n);return t==Pe||t==su||t==ks||t==Xs}function As(n){return typeof n=="number"&&n==H(n)}function Sr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=it}function dn(n){var t=typeof n;return n!=null&&(t=="object"||t=="function")}function vn(n){return n!=null&&typeof n=="object"}var Cs=Mu?Kn(Mu):Dc;function Eg(n,t){return n===t||_i(n,t,Ri(t))}function Tg(n,t,e){return e=typeof e=="function"?e:s,_i(n,t,Ri(t),e)}function Lg(n){return Is(n)&&n!=+n}function Dg(n){if(da(n))throw new P(w);return df(n)}function Rg(n){return n===null}function Wg(n){return n==null}function Is(n){return typeof n=="number"||vn(n)&&Nn(n)==de}function We(n){if(!vn(n)||Nn(n)!=pt)return!1;var t=Qe(n);if(t===null)return!0;var e=rn.call(t,"constructor")&&t.constructor;return typeof e=="function"&&e instanceof e&&ke.call(e)==Tl}var Gi=Nu?Kn(Nu):Rc;function Bg(n){return As(n)&&n>=-9007199254740991&&n<=it}var Ss=Pu?Kn(Pu):Wc;function yr(n){return typeof n=="string"||!F(n)&&vn(n)&&Nn(n)==pe}function Jn(n){return typeof n=="symbol"||vn(n)&&Nn(n)==Fe}var oe=Fu?Kn(Fu):Bc;function Mg(n){return n===s}function Ng(n){return vn(n)&&Bn(n)==ve}function Pg(n){return vn(n)&&Nn(n)==js}var Fg=_r(vi),Ug=_r(function(n,t){return n<=t});function ys(n){if(!n)return[];if(Hn(n))return yr(n)?ot(n):Un(n);if(we&&n[we])return vl(n[we]());var t=Bn(n),e=t==ft?ii:t==st?Ke:le;return e(n)}function St(n){if(!n)return n===0?n:0;if(n=rt(n),n===Yn||n===-1/0){var t=n<0?-1:1;return t*ht}return n===n?n:0}function H(n){var t=St(n),e=t%1;return t===t?e?t-e:t:0}function Os(n){return n?$t(H(n),0,yn):0}function rt(n){if(typeof n=="number")return n;if(Jn(n))return cn;if(dn(n)){var t=typeof n.valueOf=="function"?n.valueOf():n;n=dn(t)?t+"":t}if(typeof n!="string")return n===0?n:+n;n=Ku(n);var e=wo.test(n);return e||Co.test(n)?nl(n.slice(2),e?2:8):mo.test(n)?cn:+n}function bs(n){return dt(n,$n(n))}function Hg(n){return n?$t(H(n),-9007199254740991,it):n===0?n:0}function en(n){return n==null?"":zn(n)}var $g=ue(function(n,t){if(De(t)||Hn(t)){dt(t,Tn(t),n);return}for(var e in t)rn.call(t,e)&&ye(n,e,t[e])}),Es=ue(function(n,t){dt(t,$n(t),n)}),Or=ue(function(n,t,e,r){dt(t,$n(t),n,r)}),qg=ue(function(n,t,e,r){dt(t,Tn(t),n,r)}),Gg=At(ci);function Kg(n,t){var e=ie(n);return t==null?e:ff(e,t)}var zg=z(function(n,t){n=sn(n);var e=-1,r=t.length,i=r>2?t[2]:s;for(i&&Pn(t[0],t[1],i)&&(r=1);++e1),f}),dt(n,Li(n),e),r&&(e=nt(e,j|K|y,ea));for(var i=t.length;i--;)Ci(e,t[i]);return e});function ld(n,t){return Ls(n,Ir(L(t)))}var cd=At(function(n,t){return n==null?{}:Pc(n,t)});function Ls(n,t){if(n==null)return{};var e=gn(Li(n),function(r){return[r]});return t=L(t),Af(n,e,function(r,i){return t(r,i[0])})}function ad(n,t,e){t=Rt(t,n);var r=-1,i=t.length;for(i||(i=1,n=s);++rt){var r=n;n=t,t=r}if(e||n%1||t%1){var i=tf();return Wn(n+i*(t-n+Vo("1e-"+((i+"").length-1))),t)}return mi(n,t)}var Cd=fe(function(n,t,e){return t=t.toLowerCase(),n+(e?Ws(t):t)});function Ws(n){return Ji(en(n).toLowerCase())}function Bs(n){return n=en(n),n&&n.replace(So,hl).replace(Go,"")}function Id(n,t,e){n=en(n),t=zn(t);var r=n.length;e=e===s?r:$t(H(e),0,r);var i=e;return e-=t.length,e>=0&&n.slice(e,i)==t}function Sd(n){return n=en(n),n&&ro.test(n)?n.replace(cu,gl):n}function yd(n){return n=en(n),n&&lo.test(n)?n.replace($r,"\\$&"):n}var Od=fe(function(n,t,e){return n+(e?"-":"")+t.toLowerCase()}),bd=fe(function(n,t,e){return n+(e?" ":"")+t.toLowerCase()}),Ed=Pf("toLowerCase");function Td(n,t,e){n=en(n),t=H(t);var r=t?Vt(n):0;if(!t||r>=t)return n;var i=(t-r)/2;return dr(tr(i),e)+n+dr(nr(i),e)}function Ld(n,t,e){n=en(n),t=H(t);var r=t?Vt(n):0;return t&&r>>0,e?(n=en(n),n&&(typeof t=="string"||t!=null&&!Gi(t))&&(t=zn(t),!t&&jt(n))?Wt(ot(n),0,e):n.split(t,e)):[]}var Pd=fe(function(n,t,e){return n+(e?" ":"")+Ji(t)});function Fd(n,t,e){return n=en(n),e=e==null?0:$t(H(e),0,n.length),t=zn(t),n.slice(e,e+t.length)==t}function Ud(n,t,e){var r=u.templateSettings;e&&Pn(n,t,e)&&(t=s),n=en(n),t=Or({},t,r,Kf);var i=Or({},t.imports,r.imports,Kf),f=Tn(i),o=ri(i,f),l,a,d=0,_=t.interpolate||Ue,v="__p += '",m=ui((t.escape||Ue).source+"|"+_.source+"|"+(_===au?xo:Ue).source+"|"+(t.evaluate||Ue).source+"|$","g"),O="//# sourceURL="+(rn.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Zo+"]")+` +`;n.replace(m,function(R,k,Y,kn,Fn,Zn){return Y||(Y=kn),v+=n.slice(d,Zn).replace(yo,dl),k&&(l=!0,v+=`' + +__e(`+k+`) + +'`),Fn&&(a=!0,v+=`'; +`+Fn+`; +__p += '`),Y&&(v+=`' + +((__t = (`+Y+`)) == null ? '' : __t) + +'`),d=Zn+R.length,R}),v+=`'; +`;var D=rn.call(t,"variable")&&t.variable;if(!D)v=`with (obj) { +`+v+` +} +`;else if(po.test(D))throw new P(T);v=(a?v.replace(Vs,""):v).replace(no,"$1").replace(to,"$1;"),v="function("+(D||"obj")+`) { +`+(D?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(l?", __e = _.escape":"")+(a?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+v+`return __p +}`;var q=Ns(function(){return nn(f,O+"return "+v).apply(s,o)});if(q.source=v,qi(q))throw q;return q}function Hd(n){return en(n).toLowerCase()}function $d(n){return en(n).toUpperCase()}function qd(n,t,e){if(n=en(n),n&&(e||t===s))return Ku(n);if(!n||!(t=zn(t)))return n;var r=ot(n),i=ot(t),f=zu(r,i),o=Ju(r,i)+1;return Wt(r,f,o).join("")}function Gd(n,t,e){if(n=en(n),n&&(e||t===s))return n.slice(0,Zu(n)+1);if(!n||!(t=zn(t)))return n;var r=ot(n),i=Ju(r,ot(t))+1;return Wt(r,0,i).join("")}function Kd(n,t,e){if(n=en(n),n&&(e||t===s))return n.replace(qr,"");if(!n||!(t=zn(t)))return n;var r=ot(n),i=zu(r,ot(t));return Wt(r,i).join("")}function zd(n,t){var e=Sn,r=$;if(dn(t)){var i="separator"in t?t.separator:i;e="length"in t?H(t.length):e,r="omission"in t?zn(t.omission):r}n=en(n);var f=n.length;if(jt(n)){var o=ot(n);f=o.length}if(e>=f)return n;var l=e-Vt(r);if(l<1)return r;var a=o?Wt(o,0,l).join(""):n.slice(0,l);if(i===s)return a+r;if(o&&(l+=a.length-l),Gi(i)){if(n.slice(l).search(i)){var d,_=a;for(i.global||(i=ui(i.source,en(hu.exec(i))+"g")),i.lastIndex=0;d=i.exec(_);)var v=d.index;a=a.slice(0,v===s?l:v)}}else if(n.indexOf(zn(i),l)!=l){var m=a.lastIndexOf(i);m>-1&&(a=a.slice(0,m))}return a+r}function Jd(n){return n=en(n),n&&eo.test(n)?n.replace(lu,Al):n}var kd=fe(function(n,t,e){return n+(e?" ":"")+t.toUpperCase()}),Ji=Pf("toUpperCase");function Ms(n,t,e){return n=en(n),t=e?s:t,t===s?pl(n)?Sl(n):sl(n):n.match(t)||[]}var Ns=z(function(n,t){try{return Gn(n,s,t)}catch(e){return qi(e)?e:new P(e)}}),Zd=At(function(n,t){return Qn(t,function(e){e=_t(e),mt(n,e,Hi(n[e],n))}),n});function Yd(n){var t=n==null?0:n.length,e=L();return n=t?gn(n,function(r){if(typeof r[1]!="function")throw new jn(S);return[e(r[0]),r[1]]}):[],z(function(r){for(var i=-1;++iit)return[];var e=yn,r=Wn(n,yn);t=L(t),n-=yn;for(var i=ei(r,t);++e0||t<0)?new Z(e):(n<0?e=e.takeRight(-n):n&&(e=e.drop(n)),t!==s&&(t=H(t),e=t<0?e.dropRight(-t):e.take(t-n)),e)},Z.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Z.prototype.toArray=function(){return this.take(yn)},gt(Z.prototype,function(n,t){var e=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=u[r?"take"+(t=="last"?"Right":""):t],f=r||/^find/.test(t);i&&(u.prototype[t]=function(){var o=this.__wrapped__,l=r?[1]:arguments,a=o instanceof Z,d=l[0],_=a||F(o),v=function(k){var Y=i.apply(u,bt([k],l));return r&&m?Y[0]:Y};_&&e&&typeof d=="function"&&d.length!=1&&(a=_=!1);var m=this.__chain__,O=!!this.__actions__.length,D=f&&!m,q=a&&!O;if(!f&&_){o=q?o:new Z(this);var R=n.apply(o,l);return R.__actions__.push({func:mr,args:[v],thisArg:s}),new Vn(R,m)}return D&&q?n.apply(this,l):(R=this.thru(v),D?r?R.value()[0]:R.value():R)})}),Qn(["pop","push","shift","sort","splice","unshift"],function(n){var t=ze[n],e=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var f=this.value();return t.apply(F(f)?f:[],i)}return this[e](function(o){return t.apply(F(o)?o:[],i)})}}),gt(Z.prototype,function(n,t){var e=u[t];if(e){var r=e.name+"";rn.call(re,r)||(re[r]=[]),re[r].push({name:t,func:e})}}),re[hr(s,E).name]=[{name:"wrapper",func:s}],Z.prototype.clone=Jl,Z.prototype.reverse=kl,Z.prototype.value=Zl,u.prototype.at=Ih,u.prototype.chain=Sh,u.prototype.commit=yh,u.prototype.next=Oh,u.prototype.plant=Eh,u.prototype.reverse=Th,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=Lh,u.prototype.first=u.prototype.head,we&&(u.prototype[we]=bh),u},ne=yl();Pt?((Pt.exports=ne)._=ne,Zr._=ne):Ln._=ne}).call(yp)})(Lr,Lr.exports);var Op=Lr.exports;const fu=G_(Op),tu=fu.throttle((I,p)=>I(p),0);function Tr(I,p){const s=p.find(A=>A._id===I);return{card:s,index:s?p.indexOf(s):-1}}function eu(I,p,s,A,b,w,S,T,W){const{card:un,index:fn}=Tr(I,s);if(!(fnp&&T>W)&&un&&fn!==p){const j=fu.clone(s);j.splice(fn,1),j.splice(p,0,un);const K=fu.clone(b);switch(w){case"actions":K.actions[S]=j,tu(A,K);return;case"conditions":K.conditions[S]=j,tu(A,K);return;default:K.triggers=j,tu(A,K);return}}}const bp="_drag_7xfhc_1",Ep="_root_7xfhc_11",Hs={drag:bp,root:Ep},Js=({typeBlock:I,allProperties:p,id:s,isActive:A,setUserRules:b,userRules:w,children:S,_id:T,blockValue:W})=>{const{setOnUpdate:un}=G.useContext(Dr),[{opacity:fn},j,K]=N_({type:"box",item:()=>({...p,id:s,isActive:A,_id:T}),end:(U,E)=>{const{acceptedBy:Q}=U,N=E.getDropResult();let B;if(!N)return typeof T=="number"&&!E.getTargetIds().length&&(B=ae(Q,w,W),B=Jt(Q,B,W,T),b(B)),null;if(N.blockValue!==W){const J=typeof T=="number"?T:Date.now();B=ae(Q,w,N.blockValue);const xn={id:U.id,acceptedBy:U.acceptedBy};switch(Q){case"actions":return W&&(B=Jt("actions",B,W,J)),B=Jt("actions",B,N.blockValue,J),B.actions[N.blockValue].push({...xn,_id:J}),b(B);case"conditions":return typeof W=="number"&&(B=Jt("conditions",B,W,J)),B=Jt("conditions",B,N.blockValue,J),B.conditions[N.blockValue].push({...xn,_id:J}),b(B);default:return un(!0),B=Jt("triggers",B,N.blockValue,J),B.triggers.push({...xn,_id:J}),b(B)}}},collect:U=>({opacity:U.isDragging()?.4:1,isDragging:U.isDragging()})}),y=G.useRef(null),[,on]=Gs({accept:"box",canDrop:()=>!1,hover({_id:U,acceptedBy:E},Q){var _n;if(!y.current||I!==E)return;const N=(_n=y.current)==null?void 0:_n.getBoundingClientRect(),B=(N.bottom-N.top)/2,J=Q.getClientOffset(),xn=((J==null?void 0:J.y)||0)-N.top;if(T&&U!==T)switch(E){case"actions":if(W==="then"||W==="else"){const{index:hn}=Tr(T,w.actions[W]);hn!==U&&eu(U,hn,w[E][W],b,w,E,W,xn,B)}return;case"conditions":if(typeof W=="number"){const{index:hn}=Tr(T,w[E][W]);hn!==U&&eu(U,hn,w[E][W],b,w,E,W,xn,B)}return;default:{const{index:hn}=Tr(T,w[E]);hn!==U&&eu(U,hn,w[E],b,w,E,void 0,xn,B);return}}}});G.useEffect(()=>{K(z_(),{captureDraggingState:!0})},[]),j(on(y));const Cn=window.innerWidth<600;return x.jsxs("div",{ref:Cn&&T?null:y,className:Hs.root,style:{opacity:fn},children:[x.jsx("div",{className:T?Hs.drag:null,ref:T&&Cn?y:null}),S]})},Tp=({onClose:I,open:p})=>x.jsxs(En.Dialog,{open:p,onClose:I,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[x.jsx(En.DialogContent,{children:x.jsxs("div",{style:{fontSize:"1rem",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,lineHeight:1.5,letterSpacing:"0.00938em"},children:[x.jsx("h3",{children:X.I18n.t("On condition change")}),x.jsx("div",{children:X.I18n.t("help_on_change")}),x.jsx("h3",{children:X.I18n.t("Just check")}),x.jsx("div",{children:X.I18n.t("help_just_check")})]})}),x.jsx(En.DialogActions,{children:x.jsx(En.Button,{onClick:I,color:"primary",autoFocus:!0,startIcon:x.jsx(q_,{}),children:X.I18n.t("OK")})})]}),Lp=({onClose:I,open:p})=>x.jsxs(En.Dialog,{open:p,onClose:I,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[x.jsx(En.DialogContent,{children:x.jsxs(En.DialogContentText,{id:"alert-dialog-description",children:[x.jsx("h3",{children:X.I18n.t("On condition change")}),x.jsx("div",{children:X.I18n.t("help_on_change")}),x.jsx("h3",{children:X.I18n.t("Just check")}),x.jsx("div",{children:X.I18n.t("help_just_check")})]})}),x.jsx(En.DialogActions,{children:x.jsx(En.Button,{onClick:I,color:"primary",autoFocus:!0,children:X.I18n.t("OK")})})]}),$s=({size:I,blockValue:p,boolean:s,typeBlock:A,userRules:b,setUserRules:w,animation:S,setTourStep:T,tourStep:W,isTourOpen:un,theme:fn,themeType:j,themeName:K})=>{var Rn;const[y,on]=G.useState(!1),[Cn,U]=G.useState(!1),[E,Q]=G.useState(!1),[N,B]=G.useState("");s===void 0&&(s=!0);const J=Gs({accept:"box",drop:()=>({blockValue:p}),hover:({acceptedBy:pn,_id:Yn},it)=>{on(pn===A),Q(!!Yn),B(it.getHandlerId()||"")},canDrop:({acceptedBy:pn})=>(U(pn===A),pn===A),collect:pn=>{var Yn;return{isOver:pn.isOver(),canDrop:((Yn=pn.getItem())==null?void 0:Yn.acceptedBy)===A,offset:pn.getClientOffset(),targetId:pn.getHandlerId()}}}),xn=J[0],{canDrop:_n,isOver:hn,offset:In,targetId:Sn}=xn,$=J[1];G.useEffect(()=>{B("")},[In]);const V=_n&&hn;let tn="";V?tn=y?"#00fb003d":"#fb00002e":_n?tn=Cn?"#00fb003d":"#fb00002e":In&&(tn=Sn===N?"#fb00002e":"");let M;return A==="actions"?M=b.actions[p]:A==="conditions"?M=b.conditions[p]:M=b.triggers,x.jsx("div",{ref:$,style:{backgroundColor:tn},className:`${X.Utils.clsx(An.contentBlockItem,I&&An.addClassHeight)} ${s?S?An.contentHeightOn:null:An.contentHeightOff}`,children:x.jsxs("div",{className:An.wrapperMargin,children:[M.map(pn=>x.jsx(Js,{typeBlock:A,...pn,blockValue:p,allProperties:pn,userRules:b,setUserRules:w,children:x.jsx(zs,{...pn,isTourOpen:un,setTourStep:T,tourStep:W,settings:pn,blockValue:p,userRules:b,setUserRules:w,theme:fn,themeType:j,themeName:K})},pn._id)),x.jsx("div",{style:V&&y&&!E?{height:((Rn=document.getElementById("height"))==null?void 0:Rn.clientHeight)||200}:void 0,className:`${An.emptyBlockStyle} ${V&&y&&!E?An.emptyBlock:An.emptyBlockNone}`})]})})},ru=({size:I,typeBlock:p,name:s,nameAdditionally:A,additionally:b,border:w,userRules:S,setUserRules:T,iconName:W,adapter:un,socket:fn,setTourStep:j,tourStep:K,isTourOpen:y,theme:on,themeType:Cn,themeName:U})=>{const[E,Q,N]=uu(p==="actions"?!1:[],`additionallyClickItems_${p}`),[B,J]=G.useState(!1),[xn,_n]=G.useState(!1);G.useEffect(()=>{if(p==="conditions"&&(E==null?void 0:E.length)!==S.conditions.length-1){const Sn=[];S.conditions.forEach(($,V)=>{V>0&&Sn.push({_id:Date.now(),open:!0})}),Q([...E,...Sn])}p==="actions"&&!N&&S.actions.else.length&&Q(!0)},[]);const[hn,In]=G.useState(!1);return x.jsxs("div",{className:`${X.Utils.clsx(An.mainBlockItemRules,I&&An.addClassOverflow)} ${w&&!I?An.border:null}`,children:[x.jsxs("span",{id:"width",className:An.nameBlockItems,children:[x.jsx(Be,{iconName:W,className:An.iconThemCard,adapter:un,socket:fn}),s]}),p==="conditions"?x.jsxs("div",{style:{width:"100%"},children:[x.jsxs(En.Select,{variant:"standard",className:An.selectOnChange,value:S.justCheck||!1,onChange:Sn=>{const $=ae("conditions",S);$.justCheck=Sn.target.value==="true",T($)},children:[x.jsx(En.MenuItem,{value:"false",children:X.I18n.t("on condition change")}),x.jsx(En.MenuItem,{value:"true",children:X.I18n.t("just check")})]}),x.jsx(En.IconButton,{size:"small",title:X.I18n.t("Explanation"),className:An.selectOnChangeHelp,onClick:()=>J(!0),children:x.jsx(P_,{className:An.selectOnChangeHelpIcon})})]}):null,x.jsx($s,{setTourStep:j,tourStep:K,isTourOpen:y,blockValue:p==="actions"?"then":p==="conditions"?0:p,typeBlock:p,setUserRules:T,userRules:S,theme:on,themeName:U,themeType:Cn,size:I}),b&&[...Array(p==="actions"?1:S.conditions.length-1)].map((Sn,$)=>{const V=(tn=$)=>p==="actions"?!!E:!!E.find((M,Rn)=>Rn===tn&&M.open);return x.jsxs(G.Fragment,{children:[x.jsxs("div",{onClick:()=>{if(p==="actions")return Q(!E),null;let tn=JSON.parse(JSON.stringify(E));if(S.conditions[$+1].length)return tn[$].open=!tn[$].open,Q(tn),null;tn=tn.filter((M,Rn)=>Rn!==$),Q(tn),In($),setTimeout(()=>{In(!1),T({...S,conditions:[...S.conditions.filter((M,Rn)=>Rn!==$+1)]})},250)},className:An.blockCardAdd,children:[V()?"-":"+",x.jsx("div",{className:An.cardAdd,children:A})]},$),x.jsx($s,{blockValue:p==="actions"?"else":p==="conditions"?$+1:p,typeBlock:p,setUserRules:T,userRules:S,boolean:V(),animation:hn===$,size:I,theme:on,themeName:U,themeType:Cn})]},`${$}_block_${p}`)}),b&&p==="conditions"&&x.jsxs("div",{onClick:()=>{Q([...E,{_id:Date.now(),open:!0}]),T({...S,conditions:[...S.conditions,[]]}),In(S.conditions.length-1),setTimeout(()=>In(!1),1e3)},className:An.blockCardAdd,children:["+",x.jsx("div",{className:An.cardAdd,children:A})]}),x.jsx(Tp,{open:B,onClose:()=>J(!1)}),x.jsx(Lp,{open:xn,onClose:()=>_n(!1)})]})},Dp="_menuRules_1qqcb_1",Rp="_switchesRenderWrapper_1qqcb_13",Wp="_menuOff_1qqcb_22",Bp="_menuTitle_1qqcb_28",Mp="_marginAuto_1qqcb_42",Np="_inputWidth_1qqcb_47",Pp="_menuWrapper_1qqcb_52",Fp="_hamburgerWrapper_1qqcb_57",Up="_hamburgerOff_1qqcb_74",Hp="_nothingFound_1qqcb_82",$p="_resetSearch_1qqcb_89",qp="_controlPanel_1qqcb_101",Gp="_controlPanelAppBar_1qqcb_112",Kp="_addClassMenu_1qqcb_126",zp="_addClassBackground_1qqcb_132",Jp="_addClassPosition_1qqcb_136",Mn={menuRules:Dp,switchesRenderWrapper:Rp,menuOff:Wp,menuTitle:Bp,marginAuto:Mp,inputWidth:Np,menuWrapper:Pp,hamburgerWrapper:Fp,hamburgerOff:Up,nothingFound:Hp,resetSearch:$p,controlPanel:qp,controlPanelAppBar:Gp,addClassMenu:Kp,addClassBackground:zp,addClassPosition:Jp},kp=I=>{const{allProperties:p,allProperties:{acceptedBy:s,id:A},setUserRules:b,userRules:w,setTourStep:S,tourStep:T,isTourOpen:W,onTouchMove:un,isActive:fn}=I;return x.jsx(Js,{allProperties:p,id:p.id,isActive:fn,setUserRules:b,userRules:w,children:x.jsx(Ks,{onDoubleClick:()=>{W&&T===Mt.addScheduleByDoubleClick&&A==="TriggerScheduleBlock"&&S(Mt.openTagsMenu),W&&T===Mt.addActionPrintText&&A==="ActionPrintText"&&S(Mt.showJavascript);const j=Date.now();let K;switch(s){case"actions":K="then";break;case"conditions":K=w[s].length-1;break}const y=ae(s,w,K),on={id:A,_id:j,acceptedBy:s};K!==void 0?s==="actions"?y.actions[K].push({...on}):s==="conditions"&&y.conditions[K].push({...on}):y.triggers.push({...on}),b(y)},...I,...p,onTouchMove:un})})},Zp="_hamburgerMenu_hqnsm_8",Yp="_animate_hqnsm_21",qs={hamburgerMenu:Zp,animate:Yp};function Xp({bool:I}){return x.jsx("div",{className:`${qs.hamburgerMenu} ${I?qs.animate:""}`})}const Qp=({addClass:I,setAllBlocks:p,allBlocks:s,userRules:A,onChangeBlocks:b,setTourStep:w,tourStep:S,isTourOpen:T})=>{const{blocks:W,socket:un}=G.useContext(Dr),[fn,j]=uu(!1,"hamburgerOnOff"),[K,y]=uu({text:"",type:"triggers",index:0},"filterControlPanel"),on=(E=K.text,Q=K.type)=>{if(!W)return;let N=[...W];N=N.filter(B=>{if(!E)return!0;const{name:J}=B.getStaticData();return J&&X.I18n.t(J).toLowerCase().includes(E.toLowerCase())}),N=N.filter(B=>Q===B.getStaticData().acceptedBy),p(N)},Cn=(E,Q)=>{T&&Q===0&&S===Mt.selectTriggers&&w(Mt.addScheduleByDoubleClick),T&&Q===2&&S===Mt.selectActions&&w(Mt.addActionPrintText),y({...K,index:Q,type:["triggers","conditions","actions"][Q]}),on(K.text,["triggers","conditions","actions"][Q])},U=E=>({id:`scrollable-force-tab-${E}`,"aria-controls":`scrollable-force-tabpanel-${E}`});return G.useEffect(()=>{on()},[W]),x.jsx(En.ClickAwayListener,{mouseEvent:!1,touchEvent:"onTouchStart",onClickAway:()=>j(!0),children:x.jsxs("div",{className:X.Utils.clsx(Mn.menuWrapper,I[1035]&&Mn.addClassMenu),children:[x.jsx("div",{className:`${Mn.hamburgerWrapper} ${fn?Mn.hamburgerOff:null}`,onClick:()=>j(!fn),children:x.jsx(Xp,{bool:!fn})}),x.jsxs("div",{className:`${X.Utils.clsx(Mn.menuRules,I[1035]&&Mn.addClassBackground,I[835]&&Mn.addClassPosition)} ${fn?Mn.menuOff:null}`,children:[x.jsx("div",{className:Mn.controlPanel,children:x.jsx(En.AppBar,{className:Mn.controlPanelAppBar,position:"static",children:x.jsxs(En.Tabs,{value:K.index,onChange:Cn,children:[x.jsx(En.Tab,{className:"blocks-triggers",title:X.I18n.t("Triggers"),icon:x.jsx(Be,{iconName:"FlashOn"}),...U(0)}),x.jsx(En.Tab,{title:X.I18n.t("Conditions"),className:"blocks-conditions",icon:x.jsx(Be,{iconName:"Help"}),...U(1)}),x.jsx(En.Tab,{title:X.I18n.t("Actions"),className:"blocks-actions",icon:x.jsx(Be,{iconName:"PlayForWork"}),...U(2)})]})})}),x.jsx("div",{className:Mn.switchesRenderWrapper,children:x.jsxs("span",{children:[s.map(E=>{const{name:Q,id:N,icon:B,adapter:J}=E.getStaticData();return x.jsx(G.Fragment,{children:x.jsx(kp,{adapter:J,allProperties:E.getStaticData(),icon:B,id:N,isActive:!1,isTourOpen:T,name:Q,onTouchMove:()=>j(!0),setTourStep:w,setUserRules:b,socket:un,tourStep:S,userRules:A})},N)}),!s.length&&x.jsxs("div",{className:Mn.nothingFound,children:[X.I18n.t("Nothing found"),"...",x.jsx("div",{className:Mn.resetSearch,onClick:()=>{y({...K,text:""}),on("")},children:X.I18n.t("reset search")})]})]})}),x.jsx("div",{className:X.Utils.clsx(Mn.menuTitle,Mn.marginAuto)}),x.jsx(F_,{className:Mn.inputWidth,fullWidth:!0,customValue:!0,value:K.text,size:"small",autoComplete:"off",label:X.I18n.t("search"),variant:"outlined",onChange:E=>{y({...K,text:E}),on(E)}})]})]})})};let iu=[];const f0=({code:I,onChange:p,themeName:s,themeType:A,theme:b,setTourStep:w,tourStep:S,isTourOpen:T,command:W,scriptId:un,changed:fn,running:j})=>{var tn;const{blocks:K,socket:y,setOnUpdate:on,setOnDebugMessage:Cn,setEnableSimulation:U}=G.useContext(Dr),[E,Q]=G.useState([]),[N,B]=G.useState(Us(I)),[J,xn]=G.useState(""),[_n,hn]=G.useState(!1);G.useEffect(()=>{let M,Rn;const pn=(ht,cn)=>{ht===`${M}.alive`&&Rn!==(cn==null?void 0:cn.val)&&(Rn=!!(cn!=null&&cn.val),Rn&&M&&(y==null||y.sendTo(M.replace(/^system\.adapter\./,""),"rulesOn",un)))},Yn=(ht,cn)=>{var yn,Nt;y&&M!==((yn=cn==null?void 0:cn.common)==null?void 0:yn.engine)&&(M&&(y.unsubscribeState(`${M}.alive`,pn),Rn&&y.sendTo(M.replace(/^system\.adapter\./,""),"rulesOn",un)),M=(Nt=cn==null?void 0:cn.common)==null?void 0:Nt.engine,M&&M&&y.subscribeState(`${M}.alive`,pn))},it=(ht,cn)=>{if(cn)try{const yn=JSON.parse(cn.val),Nt=Date.now();if(yn.ruleId===un&&Nt-yn.ts<1e3){const ut=[...iu,{blockId:yn.blockId,data:yn.data,ts:yn.ts}];ut.length>200&&ut.splice(0,200-ut.length);for(let kt=ut.length-1;kt>=0;kt--)if(ut[kt].ts{var cn;M=(cn=ht==null?void 0:ht.common)==null?void 0:cn.engine,y.subscribeObject(un,Yn),M&&(y.subscribeState(`${M}.alive`,pn),y.subscribeState(`${M.replace(/^system\.adapter\./,"")}.debug.rules`,it))}),function(){y==null||y.unsubscribeState(un,pn),M&&(y==null||y.unsubscribeObject(`${M}.alive`,Yn),Rn&&(y==null||y.sendTo(M.replace(/^system\.adapter\./,""),"rulesOff",un)),y==null||y.unsubscribeState(`${M.replace(/^system\.adapter\./,"")}.debug.rules`,it))}},[]),G.useEffect(()=>{U(!fn&&j)},[fn,j,U]),G.useEffect(()=>{W&&(xn(W),_n||hn(!0))},[W]),G.useEffect(()=>{const M=Us(I);JSON.stringify(M)!==JSON.stringify(N)&&(B(M),on(!0))},[I]),G.useEffect(()=>{document.getElementsByTagName("HTML")[0].className=s||"blue"},[s]);const In=G.useCallback(M=>{B(M),K&&p(U_(M,K))},[K,p]),Sn=G.useRef(null),[$,V]=G.useState({835:!1,1035:!1});return G.useEffect(()=>{Sn.current&&(Sn.current.clientWidth<=1035&&V({835:!1,1035:!0}),Sn.current.clientWidth<=835&&V({1035:!0,835:!0}),Sn.current.clientWidth>1035&&V({835:!1,1035:!1}))},[((tn=Sn.current)==null?void 0:tn.clientWidth)||0]),!K||!y?null:x.jsxs("div",{className:Vi.wrapperRules,ref:Sn,children:[x.jsx(sp,{allBlocks:E,socket:y}),_n?J==="export"?x.jsx(H_,{scriptId:un,themeType:A,onClose:()=>hn(!1),text:JSON.stringify(N,null,2)}):x.jsx($_,{themeType:A,onClose:M=>{hn(!1),M&&In(JSON.parse(M))}}):null,x.jsxs("div",{className:X.Utils.clsx(Vi.rootWrapper,$[835]&&Vi.addClass),children:[x.jsx(Qp,{setAllBlocks:Q,allBlocks:E,userRules:N,onChangeBlocks:In,setTourStep:w,tourStep:S,addClass:$,isTourOpen:T}),x.jsx(ru,{socket:y,setUserRules:In,userRules:N,isTourOpen:T,setTourStep:w,tourStep:S,name:`${X.I18n.t("when")}...`,typeBlock:"triggers",iconName:"FlashOn",size:$[835],themeType:A,themeName:s,theme:b}),x.jsx(ru,{socket:y,setUserRules:In,isTourOpen:T,setTourStep:w,tourStep:S,userRules:N,name:`...${X.I18n.t("and")}...`,typeBlock:"conditions",iconName:"Help",nameAdditionally:X.I18n.t("or"),additionally:!0,border:!0,size:$[835],themeType:A,themeName:s,theme:b}),x.jsx(ru,{socket:y,setUserRules:In,isTourOpen:T,setTourStep:w,tourStep:S,userRules:N,name:`...${X.I18n.t("then")}`,typeBlock:"actions",iconName:"PlayForWork",nameAdditionally:X.I18n.t("else"),additionally:!0,size:$[835],themeType:A,themeName:s,theme:b})]})]},"rulesEditor")};export{f0 as default}; diff --git a/admin/assets/index-CEoeyJnt.css b/admin/assets/index-CEoeyJnt.css deleted file mode 100644 index 9d8d710ca..000000000 --- a/admin/assets/index-CEoeyJnt.css +++ /dev/null @@ -1 +0,0 @@ -html{width:100%;height:100%}.Light.visGutter{background:#dadada!important}.Dark.visGutter{background:#1e1e1e!important}body{overflow:hidden;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%}.iobVerticalSplitter .layout-pane-primary{overflow:hidden!important}#root{width:100%;height:100%}#___reactour>div:first-of-type{opacity:.4}.layout-pane-primary{height:100%}.blocklyToolboxDiv{left:0!important;width:180px;top:0!important;height:100%!important}.no-underline:before{border-bottom:0!important}.monaco-aria-container{top:0}.iobVerticalSplitter .layout-pane-primary{overflow:hidden}.monacoCurrentLine{background:#59fd8c}.monacoCurrentLineDark{background:#165b2c}.monacoCurrentFullLine{background:#cbffdc;opacity:.7}.monacoCurrentFullLineDark{background:#0e3b1f;opacity:.7}.monacoBreakPointDark{background:maroon;border-radius:50%;width:16px!important;height:16px!important;margin-left:4px}.monacoBreakPoint{background:#d71a1a;border-radius:50%;width:16px!important;height:16px!important;margin-left:4px}._wrapperRules_nnott_1{background:linear-gradient(0deg,var(--backgroundGlobalColor),var(--backgroundGlobalColor)),url(./back-CXiqI7Po.jpg);background-repeat:no-repeat;background-size:cover;height:100%;display:flex}._rootWrapper_nnott_9{display:flex;width:100%}._addClass_nnott_14{flex-direction:column;height:auto;overflow:auto}@media screen and (max-width: 835px){._rootWrapper_nnott_9{flex-direction:column;height:auto;overflow:auto}}._switchesItem_10ls3_1{max-width:200px;width:auto;display:flex;margin:5px 0;padding:12px 0;align-items:center;border:1px solid rgba(255,255,255,0);transition:all .7s;color:var(--colorInput)}._switchesItem_10ls3_1 span{overflow:hidden;text-overflow:ellipsis;width:100%;margin-left:15px;color:var(--lineColorActive);white-space:nowrap}._switchesItem_10ls3_1:hover,._switchesItemActive_10ls3_28{border:1px solid var(--lineColor);color:var(--lineColorHover);border-radius:6px;background:var(--backgroundColor);cursor:pointer}._iconTheme_10ls3_36{width:30px!important;height:30px!important;margin-left:5px}._iconTheme_10ls3_36 *{color:var(--lineColorActive)!important}._cardStyle_8rq8v_1{cursor:pointer;position:relative;min-width:200px;width:calc(100% - 72px);height:fit-content;min-height:70px;display:flex;padding:10px;margin:23px 12px 4px;align-items:center;background:#ffffff6b;border-radius:4px;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}._cardStyleActive_8rq8v_17{width:300px;z-index:100}._controlMenu_8rq8v_22{display:flex;position:absolute;right:-31px;width:30px;height:100%;transition:opacity .5s}._closeBtn_8rq8v_31{width:20px;height:20px;border-radius:20px;position:relative;z-index:1;margin:5px auto;cursor:pointer}._closeBtn_8rq8v_31:before{content:"+";color:#f7060684;position:absolute;z-index:2;transform:rotate(45deg);font-size:30px;line-height:1;top:-6px;left:2px;transition:all .3s cubic-bezier(.77,0,.2,.85)}._closeBtn_8rq8v_31:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;background:var(--backgroundColorHumburger);z-index:1;transition:all .3s cubic-bezier(.77,0,.2,.85);transform:scale(.01)}._closeBtn_8rq8v_31:hover:after{transform:scale(1)}._closeBtn_8rq8v_31:hover:before{transform:scale(.8) rotate(45deg);color:#fff}._isDelete_8rq8v_73{height:0;min-height:0;overflow:hidden;padding:0 10px;margin:0 12px;transition:all .25s;background:#fff;opacity:.8;box-shadow:0 0 10px #6accff}@media screen and (max-width: 835px){._controlMenu_8rq8v_22{opacity:1!important}}._drag_mobile_8rq8v_90{display:none}@media screen and (max-width: 600px){._drag_mobile_8rq8v_90{display:flex;width:30px;height:20px;background:repeating-linear-gradient(180deg,var(--lineColorActive),var(--lineColorActive) 4px,var(--backgroundColorHumburger) 4px,var(--backgroundColorHumburger) 8px);border:1px solid var(--lineColorActive);border-radius:5px 0 0;position:absolute;top:0;left:0;cursor:pointer}}@keyframes _fadeIn_15el3_1{0%{opacity:0}1%{opacity:0}to{opacity:1}}._cardStyle_15el3_12{cursor:pointer;position:relative;min-width:200px;width:calc(100% - 72px);height:fit-content;min-height:70px;display:flex;padding:10px;margin:23px 12px 4px;align-items:center;background:var(--backgroundBlock);border-radius:4px;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}._nameCard_15el3_28{margin-top:0;font-size:19px;color:var(--colorBlock);font-weight:500}._cardStyleActive_15el3_35{width:300px;z-index:100}._iconThemCard_15el3_40{width:40px!important;height:40px!important;margin-left:5px}._iconThemCard_15el3_40 *{color:var(--colorBlock)!important}._iconThemCardSelectable_15el3_49{cursor:pointer}._iconHelp_15el3_53{color:var(--colorBlock)!important;position:absolute!important;top:0;right:5px}._inputCard_15el3_60{margin-top:10px!important}._blockName_15el3_64{margin-left:10px;width:100%;display:flex;flex-direction:column;position:relative}._controlMenu_15el3_72{display:flex;position:absolute;right:-31px;width:30px;height:100%;transition:opacity .5s}._closeBtn_15el3_81{width:20px;height:20px;border-radius:20px;position:relative;z-index:1;margin:5px auto;cursor:pointer}._closeBtn_15el3_81:before{content:"+";color:#f7060684;position:absolute;z-index:2;transform:rotate(45deg);font-size:30px;line-height:1;top:-6px;left:2px;transition:all .3s cubic-bezier(.77,0,.2,.85)}._closeBtn_15el3_81:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;background:#994e9e7d;z-index:1;transition:all .3s cubic-bezier(.77,0,.2,.85);transform:scale(.01)}._closeBtn_15el3_81:hover:after{transform:scale(1)}._closeBtn_15el3_81:hover:before{transform:scale(.8) rotate(45deg);color:#fff}._controlMenuTop_15el3_123{display:flex;position:absolute;left:0;width:100%;overflow:hidden;transition:opacity .5s,height .5s,top .5s}._debugInfo_15el3_132{font-size:12px;font-style:italic;color:var(--debugColor);position:absolute;display:flex;opacity:0;animation:_fadeIn_15el3_1 .3s ease-out}._tagCard_15el3_142{text-align:center;color:var(--lineColorActive);min-width:100px;padding:2px 2px 0;height:22px;background:var(--backgroundColorHumburger);border-radius:5px 5px 0 0;position:relative;margin-left:auto;margin-right:8px;cursor:pointer;border-top:1px solid var(--lineColor);border-left:1px solid var(--lineColor);border-right:1px solid var(--lineColor);font-size:12px}._displayFlex_15el3_161{display:flex;align-items:center}._blockMarginTop_15el3_166,._nameBlock_15el3_167{margin-top:7px}._frontText_15el3_171{margin-right:7px;min-width:80px;display:inline-table}._backText_15el3_177{margin-left:7px}._iconTag_15el3_181{font-size:40px;color:var(--colorBlock);display:flex;align-items:center;min-width:40px;margin-bottom:10px;margin-left:12px}._displayItalic_15el3_191{font-style:italic;font-size:11px;margin-top:0}._root_1dr6a_1{color:var(--colorBlock)!important;border-color:var(--colorBlock)!important}._root_1dr6a_1:hover{border-color:var(--colorBlockHover)!important;color:var(--colorBlockHover)!important;background-color:inherit!important}._square_1dr6a_11{min-width:auto!important;padding:6px 16px!important}._icon_1dr6a_16{width:24px;height:24px}._root_1ucda_1 *{color:var(--colorBlock)!important}._root_19roy_1{background:var(--backgroundColorHumburger);border-radius:5px;margin-top:0!important;margin-bottom:0!important}._root_19roy_1 *{color:var(--colorInput)!important}._root_19roy_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_19roy_1 [class*=MuiInput-underline] :after{border-bottom-color:var(--lineColor)!important}._root_19roy_1:hover [class*=MuiOutlinedInput-notchedOutline],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline]:hover,._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline] [class*=Mui-focused],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline] [class*=Mui-disabled]{border-color:var(--lineColor)!important}._modalContentWrapper_587ci_1{margin:20px 0;padding:0 35px;overflow-x:hidden;min-width:320px}._modalButtonBlock_587ci_8{display:flex;justify-content:flex-end;margin-top:20px;flex-flow:wrap;border-top:1px solid var(--lineColorActive);border-color:var(--lineColorActive);background:var(--backgroundColorHumburger);border-radius:3px}._modalButtonBlock_587ci_8 button{color:var(--lineColorActive)!important;flex:1}._modalButtonBlockTwo_587ci_23{justify-content:space-around;flex-flow:wrap-reverse;position:sticky;bottom:0}._modalButtonBlockTwo_587ci_23 button{margin:5px}._modalWrapper_587ci_33 [class*="MuiPaper-root MuiDialog-paper MuiPaper-elevation24 MuiDialog-paperScrollPaper MuiDialog-paperWidthXl MuiPaper-elevation24 MuiPaper-rounded"]{background-color:#f6f6f6}._modalDialog_587ci_40{min-width:400px}._close_587ci_44{position:absolute;right:-14px;top:-16px;width:32px;height:32px;opacity:.9;cursor:pointer;transition:all .6s ease}._close_587ci_44:hover{transform:rotate(90deg)}._close_587ci_44:before{position:absolute;left:15px;content:"";height:33px;width:4px;background-color:#ff4f4f;transform:rotate(45deg)}._close_587ci_44:after{position:absolute;left:15px;content:"";height:33px;width:4px;background-color:#ff4f4f;transform:rotate(-45deg)}@media screen and (max-width: 460px){._modalContentWrapper_587ci_1{min-width:auto}}._root_15mo1_1{margin-top:0!important;margin-bottom:0!important;max-width:440px}._root_15mo1_1 *,._root_15mo1_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_15mo1_1 [class*=MuiInput-underline]:after{border-bottom-color:var(--lineColor)!important}._root_15mo1_1 [class*=MuiInput-underline]:before{border-bottom-color:var(--lineColor)!important}._root_15mo1_1 [class*=MuiInput-underline]:hover:before{border-bottom-color:var(--lineColor)!important}._root_1gt4d_1{color:var(--lineColorActive)!important;height:8px!important}._root_1gt4d_1 [class*=MuiSlider-rail],._root_1gt4d_1 [class*=MuiSlider-track]{height:8px!important;border-radius:4px}._root_1gt4d_1 [class*=MuiSlider-valueLabel]{left:calc(-50% + 4px)}._root_1gt4d_1 [class*=MuiSlider-thumb]{height:24px;width:24px;background-color:var(--colorBlock);border:2px solid currentColor;margin-top:-8px;margin-left:-12px}._root_1gt4d_1 [class*=MuiSlider-thumb]:focus,._root_1gt4d_1 [class*=MuiSlider-thumb]:hover,._root_1gt4d_1 [class*=MuiSlider-thumb][class*=MuiSlider-active]{box-shadow:inherit!important}._root_1gt4d_1 ._mark_1gt4d_27{background-color:#0000!important}._root_rzul6_1 *{color:var(--colorBlock)!important}._root_rzul6_1 [class*=Mui-checked]{color:var(--lineColor)!important}._root_rzul6_1 [class*=Mui-checked]+[class*=MuiSwitch-track]{background-color:var(--lineColor)!important}._root_135pm_1{margin-top:0!important;margin-bottom:0!important}._root_135pm_1 *,._root_135pm_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_135pm_1 [class*=MuiInput-underline]:after{border-bottom-color:var(--lineColor)!important}._root_135pm_1 [class*=MuiInput-underline]:before{border-bottom-color:var(--lineColor)!important}._root_135pm_1 [class*=MuiInput-underline]:hover:before{border-bottom-color:var(--lineColor)!important}._border_wrpm3_1{border-left:1px solid var(--lineColor);border-right:1px solid var(--lineColor)}._emptyBlockStyle_wrpm3_6{cursor:pointer;width:auto;background:#ffffff1f;display:flex;margin:10px 40px 10px 10px;align-items:center;border-radius:4px}._emptyBlock_wrpm3_6{padding:10px;margin-top:10px;animation:_marginTop_wrpm3_1 .12s}._selectOnChange_wrpm3_22{margin-left:12px;color:var(--lineColor)!important;width:calc(100% - 42px)}._selectOnChangeHelp_wrpm3_28{color:var(--lineColor);vertical-align:middle;cursor:pointer}._selectOnChangeHelpIcon_wrpm3_34{color:var(--lineColor)}@keyframes _marginTop_wrpm3_1{0%{padding:0;margin-top:70px;height:0}to{padding:10px;margin-top:10px}}._emptyBlockNone_wrpm3_49{height:0;animation:none;transition:height .02s}._mainBlockItemRules_wrpm3_55{display:flex;flex:1 3;flex-direction:column;transition:all .5s;z-index:9;overflow:auto}._mainBlockItemRules_wrpm3_55 ._nameBlockItems_wrpm3_63{color:var(--lineColor);margin-top:10px;width:100%;display:flex;height:fit-content;justify-content:center;align-items:center}._contentBlockItem_wrpm3_73{height:100%;display:flex;flex-direction:column;overflow:auto;transition:height .3s,background .5s}._wrapperMargin_wrpm3_81{margin:auto 0;display:flex;flex-direction:column}._contentHeightOn_wrpm3_87{animation:_heightBlock_wrpm3_1 .3s}@keyframes _heightBlock_wrpm3_1{0%{height:0}to{height:100%}}._contentHeightOff_wrpm3_99{height:0;overflow:hidden;animation:none}._cardAdd_wrpm3_105{display:flex;align-items:center;text-align:center;margin:0 10px;width:100%;color:var(--lineColor)}._cardAdd_wrpm3_105:after,._cardAdd_wrpm3_105:before{content:"";flex:1;border-bottom:1px solid}._cardAdd_wrpm3_105:after{margin-left:.25em}._cardAdd_wrpm3_105:before{margin-right:.25em}._blockCardAdd_wrpm3_125{display:flex;padding:0 10px 6px;align-items:center;color:#fff;cursor:pointer}._blockCardAdd_wrpm3_125 *{color:#ffffffb3}._addClassOverflow_wrpm3_136{overflow:initial}._addClassHeight_wrpm3_140{min-height:300px}@media screen and (max-width: 835px){._mainBlockItemRules_wrpm3_55{overflow:initial}._contentBlockItem_wrpm3_73{min-height:300px}._contentHeightOff_wrpm3_99{min-height:0;transition:min-height .3s}._contentHeightOn_wrpm3_87{transition:min-height .3s}._border_wrpm3_1{border-left:initial;border-right:initial}}._drag_7xfhc_1{width:32px;height:22px;position:absolute;top:23px;left:12px;z-index:1;cursor:pointer}._root_7xfhc_11{position:relative}._menuRules_1qqcb_1{width:200px;display:flex;flex-direction:column;background:var(--backgroundColor);border-right:1px solid var(--lineColor);padding:10px;opacity:1;overflow-x:hidden;transition:width .5s,opacity .2s,padding .5s,background .2s,border-right .2s}._switchesRenderWrapper_1qqcb_13{overflow-x:hidden;overflow-y:auto;direction:rtl}._switchesRenderWrapper_1qqcb_13 span{direction:ltr}._menuOff_1qqcb_22{width:0;opacity:0;padding:0}._menuTitle_1qqcb_28{display:flex;align-items:center;text-align:center;color:var(--lineColor);white-space:nowrap;transition:color .2s}._menuTitle_1qqcb_28:after,._menuTitle_1qqcb_28:before{content:"";flex:1;border-bottom:1px solid}._marginAuto_1qqcb_42{margin-top:auto;margin-bottom:20px}._inputWidth_1qqcb_47{margin-top:0!important;margin-bottom:5px!important}._menuWrapper_1qqcb_52{display:flex;height:100%}._hamburgerWrapper_1qqcb_57{position:absolute;width:32px;height:26px;background:var(--backgroundColorHumburger);border-radius:0 5px 5px 0;display:flex;justify-content:center;padding-top:10px;left:221px;top:30px;border:1px solid var(--lineColor);cursor:pointer;transition:left .5s,border-radius .7s,width .7s,height .7s,background .2s,border .2s;z-index:10}._hamburgerOff_1qqcb_74{left:20px;padding-top:12px;border-radius:20px;width:40px;height:28px}._nothingFound_1qqcb_82{color:var(--lineColor);margin:16px;font-size:21px;transition:color .2s}._resetSearch_1qqcb_89{font-weight:700;color:var(--lineColor);cursor:pointer;margin:10px 0;transition:color .3s,font-size .3s}._resetSearch_1qqcb_89:hover{color:var(--lineColorHover);font-size:22px}._controlPanel_1qqcb_101{display:flex;align-items:center;width:200px}._controlPanel_1qqcb_101 button{width:33.3333333333%;min-width:auto;color:var(--lineColor);transition:color .2s}._controlPanel_1qqcb_101 ._controlPanelAppBar_1qqcb_112{background:none;box-shadow:none}._controlPanel_1qqcb_101 [class*=Mui-selected]{color:var(--lineColorActive)!important}._controlPanel_1qqcb_101 [class*=MuiTabs-indicator]{background-color:var(--lineColorActive)}._controlPanel_1qqcb_101 [class*=Mui-disabled]{color:#210025cc!important}._addClassMenu_1qqcb_126{position:absolute;z-index:12;top:0}._addClassBackground_1qqcb_132{background:var(--backgroundMobile)}._addClassPosition_1qqcb_136{position:sticky;top:0;left:0;z-index:2222}@media screen and (max-width: 1035px){._menuWrapper_1qqcb_52{position:absolute;z-index:12;top:0}._menuRules_1qqcb_1{background:var(--backgroundMobile)}}@media screen and (max-width: 835px){._menuRules_1qqcb_1{position:sticky;top:0;left:0;z-index:2222}}._menu_wrapper_hqnsm_1{outline:0;outline-offset:0;margin-top:12px;cursor:pointer}._hamburgerMenu_hqnsm_8,._hamburgerMenu_hqnsm_8:after,._hamburgerMenu_hqnsm_8:before{width:20px;height:2px}._hamburgerMenu_hqnsm_8{position:relative;transform:translateY(7px);background:var(--lineColorActive);transition:all 0ms .3s}._hamburgerMenu_hqnsm_8._animate_hqnsm_21{background:#dfbdec00}._hamburgerMenu_hqnsm_8:before{content:"";position:absolute;left:0;bottom:7px;background:var(--lineColorActive);transition:bottom .3s .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1)}._hamburgerMenu_hqnsm_8:after{content:"";position:absolute;left:0;top:7px;background:var(--lineColorActive);transition:top .3s .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1)}._hamburgerMenu_hqnsm_8._animate_hqnsm_21:after{top:0;transform:rotate(45deg);transition:top .3s cubic-bezier(.23,1,.32,1),transform .3s .3s cubic-bezier(.23,1,.32,1)}._hamburgerMenu_hqnsm_8._animate_hqnsm_21:before{bottom:0;transform:rotate(-45deg);transition:bottom .3s cubic-bezier(.23,1,.32,1),transform .3s .3s cubic-bezier(.23,1,.32,1)}._menu_conatiner_wrapper_hqnsm_55{display:none}:root.blue{--backgroundColor: rgba(48, 82, 129, .231372549);--lineColor: rgba(76, 170, 244, .4901960784);--lineColorHover: #ccceff;--lineColorActive: #4caaf4;--backgroundColorHumburger: rgba(67, 106, 147, .7215686275);--colorBlock: #02124b;--colorBlockHover: rgba(2, 18, 75, .5490196078);--colorInput: #02124b;--backgroundBlock: rgba(201, 231, 255, .6705882353);--backgroundGlobalColor: rgba(255, 255, 255, 0);--backgroundMobile: rgba(4, 28, 53, .831372549);--debugColor: #c6511b}:root.colored{--backgroundColor: rgba(48, 82, 129, .231372549);--lineColor: rgba(76, 170, 244, .4901960784);--lineColorHover: #ccceff;--lineColorActive: #4caaf4;--backgroundColorHumburger: rgba(67, 106, 147, .7215686275);--colorBlock: #02124b;--colorBlockHover: rgba(2, 18, 75, .5490196078);--colorInput: #02124b;--backgroundBlock: rgba(201, 231, 255, .6705882353);--backgroundGlobalColor: rgba(255, 255, 255, 0);--backgroundMobile: rgba(4, 28, 53, .831372549);--debugColor: #c6511b}:root.dark{--backgroundColor: rgba(31, 31, 31, .23);--lineColor: rgba(243, 243, 243, .4901960784);--lineColorHover: #a0a0a0;--lineColorActive: #dedede;--backgroundColorHumburger: rgba(62, 62, 62, .7215686275);--colorBlock: #080808;--colorBlockHover: rgba(8, 8, 8, .5490196078);--colorInput: #ddd;--backgroundBlock: rgba(193, 193, 193, .6705882353);--backgroundGlobalColor: rgba(28, 28, 28, .93);--backgroundMobile: rgba(4, 3, 3, .9215686275);--debugColor: #c6511b}:root.light{--backgroundColor: rgba(49, 49, 49, .231372549);--lineColor: rgba(0, 1, 37, .4901960784);--lineColorHover: #a0a0a0;--lineColorActive: #07002f;--backgroundColorHumburger: rgba(51, 53, 66, .6392156863);--colorBlock: #090929;--colorBlockHover: rgba(199, 198, 198, .5490196078);--colorInput: #090929;--backgroundBlock: #000000;--backgroundGlobalColor: rgba(255, 255, 255, .2509803922);--backgroundMobile: rgba(180, 178, 199, .7490196078);--debugColor: #c6511b} diff --git a/admin/assets/index-glyB1sbj.js b/admin/assets/index-Cd_NUyEa.js similarity index 77% rename from admin/assets/index-glyB1sbj.js rename to admin/assets/index-Cd_NUyEa.js index 86330c8bd..5d9072632 100644 --- a/admin/assets/index-glyB1sbj.js +++ b/admin/assets/index-Cd_NUyEa.js @@ -1,7 +1,7 @@ -import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n as B,p as G,q as us,t as V,v as vr,w as To,x as Pl,y as wr,z as $l,A as Ns,B as kl,C as Il,b as ai,D as Oo,E as ii,T as pn,F as Tl,G as Ml,H as Ll,g as Al,a as Bl,I as El,o as Ol,J as Nl,r as zl,K as li,_ as jl,L as K,M as _,N as Dl,O as k,Q as W,d as kt,R as zs,c as Qt,S as Ao,U as Bo,V as tn,W as ae,P as ve,X as Br,Y as Rr,Z as Ro,$ as Fl}from"./createSvgIcon-BQT-7-GS.js";import{aa as pR,a7 as dR,a8 as uR,a3 as fR,a9 as gR,a5 as mR,a6 as bR,ag as vR,a0 as hR,a2 as yR,ad as xR,ac as CR,ae as SR,a4 as wR,a1 as RR,ab as PR,af as $R}from"./createSvgIcon-BQT-7-GS.js";import{G as Wl,u as be,y as Ul,_ as ci,R as Er,a as pi,k as Je,c as No,i as Vn,b as Ke}from"./inheritsLoose--KnFDOw1.js";import{C as IR,E as TR,S as MR,T as LR,g as AR,d as BR}from"./inheritsLoose--KnFDOw1.js";import{i as d,a as di,R as ro}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{a as dn,u as le}from"./useTheme-DF6qfrtI.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";function Hl({styles:t,themeId:e,defaultTheme:o={}}){const r=dn(o),n=typeof t=="function"?t(e&&r[e]||r):t;return f.jsx(Wl,{styles:n})}const Vl=t=>{var r;const e={systemProps:{},otherProps:{}},o=((r=t==null?void 0:t.theme)==null?void 0:r.unstable_sxConfig)??xl;return Object.keys(t).forEach(n=>{o[n]?e.systemProps[n]=t[n]:e.otherProps[n]=t[n]}),e};function Pr(t){const{sx:e,...o}=t,{systemProps:r,otherProps:n}=Vl(o);let s;return Array.isArray(e)?s=[r,...e]:typeof e=="function"?s=(...a)=>{const i=e(...a);return yl(i)?{...r,...i}:r}:s={...r,...e},{...n,sx:s}}function Gl(t={}){const{themeId:e,defaultTheme:o,defaultClassName:r="MuiBox-root",generateClassName:n}=t,s=Cl("div",{shouldForwardProp:i=>i!=="theme"&&i!=="sx"&&i!=="as"})(Sl);return d.forwardRef(function(l,c){const p=dn(o),{className:u,component:m="div",...g}=Pr(l);return f.jsx(s,{as:m,ref:c,className:j(u,n?n(r):r),theme:e&&p[e]||p,...g})})}const fs=wl();function gs(t){const{theme:e,name:o,props:r}=t;return!e||!e.components||!e.components[o]||!e.components[o].defaultProps?r:ds(e.components[o].defaultProps,r)}function un({props:t,name:e,defaultTheme:o,themeId:r}){let n=dn(o);return r&&(n=n[r]||n),gs({theme:n,name:e,props:t})}function Kl(t,e,o,r,n){const[s,a]=d.useState(()=>n&&o?o(t).matches:r?r(t).matches:e);return be(()=>{if(!o)return;const i=o(t),l=()=>{a(i.matches)};return l(),i.addEventListener("change",l),()=>{i.removeEventListener("change",l)}},[t,o]),s}const ql={...di},ui=ql.useSyncExternalStore;function Xl(t,e,o,r,n){const s=d.useCallback(()=>e,[e]),a=d.useMemo(()=>{if(n&&o)return()=>o(t).matches;if(r!==null){const{matches:p}=r(t);return()=>p}return s},[s,t,r,n,o]),[i,l]=d.useMemo(()=>{if(o===null)return[s,()=>()=>{}];const p=o(t);return[()=>p.matches,u=>(p.addEventListener("change",u),()=>{p.removeEventListener("change",u)})]},[s,o,t]);return ui(l,i,a)}function fi(t={}){const{themeId:e}=t;return function(r,n={}){let s=Rl();s&&e&&(s=s[e]||s);const a=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:i=!1,matchMedia:l=a?window.matchMedia:null,ssrMatchMedia:c=null,noSsr:p=!1}=gs({name:"MuiUseMediaQuery",props:n,theme:s});let u=typeof r=="function"?r(s):r;return u=u.replace(/^@media( ?)/m,""),u.includes("print")&&console.warn(["MUI: You have provided a `print` query to the `useMediaQuery` hook.","Using the print media query to modify print styles can lead to unexpected results.","Consider using the `displayPrint` field in the `sx` prop instead.","More information about `displayPrint` on our docs: https://mui.com/system/display/#display-in-print."].join(` -`)),(ui!==void 0?Xl:Kl)(u,i,l,c,p)}}fi();function Gn(...t){return t.reduce((e,o)=>o==null?e:function(...n){e.apply(this,n),o.apply(this,n)},()=>{})}function $r(t,e=166){let o;function r(...n){const s=()=>{t.apply(this,n)};clearTimeout(o),o=setTimeout(s,e)}return r.clear=()=>{clearTimeout(o)},r}function mS(t,e){return()=>null}function yo(t,e){var o,r,n;return d.isValidElement(t)&&e.indexOf(t.type.muiName??((n=(r=(o=t.type)==null?void 0:o._payload)==null?void 0:r.value)==null?void 0:n.muiName))!==-1}function te(t){return t&&t.ownerDocument||document}function me(t){return te(t).defaultView||window}function bS(t,e){return()=>null}function Kn(t,e){typeof t=="function"?t(e):t&&(t.current=e)}let js=0;function _l(t){const[e,o]=d.useState(t),r=t||e;return d.useEffect(()=>{e==null&&(js+=1,o(`mui-${js}`))},[e]),r}const Yl={...di},Ds=Yl.useId;function De(t){if(Ds!==void 0){const e=Ds();return t??e}return _l(t)}function vS(t,e,o,r,n){return null}function Te({controlled:t,default:e,name:o,state:r="value"}){const{current:n}=d.useRef(t!==void 0),[s,a]=d.useState(e),i=n?t:s,l=d.useCallback(c=>{n||a(c)},[]);return[i,l]}function ee(t){const e=d.useRef(t);return be(()=>{e.current=t}),d.useRef((...o)=>(0,e.current)(...o)).current}function qt(...t){const e=d.useRef(void 0),o=d.useCallback(r=>{const n=t.map(s=>{if(s==null)return null;if(typeof s=="function"){const a=s,i=a(r);return typeof i=="function"?i:()=>{a(null)}}return s.current=r,()=>{s.current=null}});return()=>{n.forEach(s=>s==null?void 0:s())}},t);return d.useMemo(()=>t.every(r=>r==null)?null:r=>{e.current&&(e.current(),e.current=void 0),r!=null&&(e.current=o(r))},t)}const Fs={};function gi(t,e){const o=d.useRef(Fs);return o.current===Fs&&(o.current=t(e)),o}const Zl=[];function Ql(t){d.useEffect(t,Zl)}class fn{static create(){return new fn}currentId=null;start(e,o){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,o()},e)}clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)};disposeEffect=()=>this.clear}function no(){const t=gi(fn.create).current;return Ql(t.disposeEffect),t}function Ze(t){try{return t.matches(":focus-visible")}catch{}return!1}function mi(t=window){const e=t.document.documentElement.clientWidth;return t.innerWidth-e}const ms=t=>{const e=d.useRef({});return d.useEffect(()=>{e.current=t}),e.current};function bi(t){return d.Children.toArray(t).filter(e=>d.isValidElement(e))}const vi={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"};function Jl(t){return typeof t=="string"}function hi(t,e,o){return t===void 0||Jl(t)?e:{...e,ownerState:{...e.ownerState,...o}}}function Mo(t,e=[]){if(t===void 0)return{};const o={};return Object.keys(t).filter(r=>r.match(/^on[A-Z]/)&&typeof t[r]=="function"&&!e.includes(r)).forEach(r=>{o[r]=t[r]}),o}function Ws(t){if(t===void 0)return{};const e={};return Object.keys(t).filter(o=>!(o.match(/^on[A-Z]/)&&typeof t[o]=="function")).forEach(o=>{e[o]=t[o]}),e}function yi(t){const{getSlotProps:e,additionalProps:o,externalSlotProps:r,externalForwardedProps:n,className:s}=t;if(!e){const g=j(o==null?void 0:o.className,s,n==null?void 0:n.className,r==null?void 0:r.className),b={...o==null?void 0:o.style,...n==null?void 0:n.style,...r==null?void 0:r.style},v={...o,...n,...r};return g.length>0&&(v.className=g),Object.keys(b).length>0&&(v.style=b),{props:v,internalRef:void 0}}const a=Mo({...n,...r}),i=Ws(r),l=Ws(n),c=e(a),p=j(c==null?void 0:c.className,o==null?void 0:o.className,s,n==null?void 0:n.className,r==null?void 0:r.className),u={...c==null?void 0:c.style,...o==null?void 0:o.style,...n==null?void 0:n.style,...r==null?void 0:r.style},m={...c,...o,...l,...i};return p.length>0&&(m.className=p),Object.keys(u).length>0&&(m.style=u),{props:m,internalRef:c.ref}}function xi(t,e,o){return typeof t=="function"?t(e,o):t}function Ce(t){var u;const{elementType:e,externalSlotProps:o,ownerState:r,skipResolvingSlotProps:n=!1,...s}=t,a=n?{}:xi(o,r),{props:i,internalRef:l}=yi({...s,externalSlotProps:a}),c=qt(l,a==null?void 0:a.ref,(u=t.additionalProps)==null?void 0:u.ref);return hi(e,{...i,ref:c},r)}function io(t){var e;return parseInt(d.version,10)>=19?((e=t==null?void 0:t.props)==null?void 0:e.ref)||null:(t==null?void 0:t.ref)||null}const tc=us(),ec=fs("div",{name:"MuiContainer",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`maxWidth${B(String(o.maxWidth))}`],o.fixed&&e.fixed,o.disableGutters&&e.disableGutters]}}),oc=t=>un({props:t,name:"MuiContainer",defaultTheme:tc}),rc=(t,e)=>{const o=l=>V(e,l),{classes:r,fixed:n,disableGutters:s,maxWidth:a}=t,i={root:["root",a&&`maxWidth${B(String(a))}`,n&&"fixed",s&&"disableGutters"]};return G(i,o,r)};function nc(t={}){const{createStyledComponent:e=ec,useThemeProps:o=oc,componentName:r="MuiContainer"}=t,n=e(({theme:a,ownerState:i})=>({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",...!i.disableGutters&&{paddingLeft:a.spacing(2),paddingRight:a.spacing(2),[a.breakpoints.up("sm")]:{paddingLeft:a.spacing(3),paddingRight:a.spacing(3)}}}),({theme:a,ownerState:i})=>i.fixed&&Object.keys(a.breakpoints.values).reduce((l,c)=>{const p=c,u=a.breakpoints.values[p];return u!==0&&(l[a.breakpoints.up(p)]={maxWidth:`${u}${a.breakpoints.unit}`}),l},{}),({theme:a,ownerState:i})=>({...i.maxWidth==="xs"&&{[a.breakpoints.up("xs")]:{maxWidth:Math.max(a.breakpoints.values.xs,444)}},...i.maxWidth&&i.maxWidth!=="xs"&&{[a.breakpoints.up(i.maxWidth)]:{maxWidth:`${a.breakpoints.values[i.maxWidth]}${a.breakpoints.unit}`}}}));return d.forwardRef(function(i,l){const c=o(i),{className:p,component:u="div",disableGutters:m=!1,fixed:g=!1,maxWidth:b="lg",classes:v,...h}=c,y={...c,component:u,disableGutters:m,fixed:g,maxWidth:b},S=rc(y,r);return f.jsx(n,{as:u,ownerState:y,className:j(S.root,p),ref:l,...h})})}const sc=(t,e)=>t.filter(o=>e.includes(o)),Yo=(t,e,o)=>{const r=t.keys[0];Array.isArray(e)?e.forEach((n,s)=>{o((a,i)=>{s<=t.keys.length-1&&(s===0?Object.assign(a,i):a[t.up(t.keys[s])]=i)},n)}):e&&typeof e=="object"?(Object.keys(e).length>t.keys.length?t.keys:sc(t.keys,Object.keys(e))).forEach(s=>{if(t.keys.includes(s)){const a=e[s];a!==void 0&&o((i,l)=>{r===s?Object.assign(i,l):i[t.up(s)]=l},a)}}):(typeof e=="number"||typeof e=="string")&&o((n,s)=>{Object.assign(n,s)},e)};function en(t){return`--Grid-${t}Spacing`}function gn(t){return`--Grid-parent-${t}Spacing`}const Us="--Grid-columns",Vo="--Grid-parent-columns",ac=({theme:t,ownerState:e})=>{const o={};return Yo(t.breakpoints,e.size,(r,n)=>{let s={};n==="grow"&&(s={flexBasis:0,flexGrow:1,maxWidth:"100%"}),n==="auto"&&(s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof n=="number"&&(s={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${n} / var(${Vo}) - (var(${Vo}) - ${n}) * (var(${gn("column")}) / var(${Vo})))`}),r(o,s)}),o},ic=({theme:t,ownerState:e})=>{const o={};return Yo(t.breakpoints,e.offset,(r,n)=>{let s={};n==="auto"&&(s={marginLeft:"auto"}),typeof n=="number"&&(s={marginLeft:n===0?"0px":`calc(100% * ${n} / var(${Vo}) + var(${gn("column")}) * ${n} / var(${Vo}))`}),r(o,s)}),o},lc=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={[Us]:12};return Yo(t.breakpoints,e.columns,(r,n)=>{const s=n??12;r(o,{[Us]:s,"> *":{[Vo]:s}})}),o},cc=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Yo(t.breakpoints,e.rowSpacing,(r,n)=>{var a;const s=typeof n=="string"?n:(a=t.spacing)==null?void 0:a.call(t,n);r(o,{[en("row")]:s,"> *":{[gn("row")]:s}})}),o},pc=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Yo(t.breakpoints,e.columnSpacing,(r,n)=>{var a;const s=typeof n=="string"?n:(a=t.spacing)==null?void 0:a.call(t,n);r(o,{[en("column")]:s,"> *":{[gn("column")]:s}})}),o},dc=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Yo(t.breakpoints,e.direction,(r,n)=>{r(o,{flexDirection:n})}),o},uc=({ownerState:t})=>({minWidth:0,boxSizing:"border-box",...t.container&&{display:"flex",flexWrap:"wrap",...t.wrap&&t.wrap!=="wrap"&&{flexWrap:t.wrap},gap:`var(${en("row")}) var(${en("column")})`}}),fc=t=>{const e=[];return Object.entries(t).forEach(([o,r])=>{r!==!1&&r!==void 0&&e.push(`grid-${o}-${String(r)}`)}),e},gc=(t,e="xs")=>{function o(r){return r===void 0?!1:typeof r=="string"&&!Number.isNaN(Number(r))||typeof r=="number"&&r>0}if(o(t))return[`spacing-${e}-${String(t)}`];if(typeof t=="object"&&!Array.isArray(t)){const r=[];return Object.entries(t).forEach(([n,s])=>{o(s)&&r.push(`spacing-${n}-${String(s)}`)}),r}return[]},mc=t=>t===void 0?[]:typeof t=="object"?Object.entries(t).map(([e,o])=>`direction-${e}-${o}`):[`direction-xs-${String(t)}`];function bc(t,e){t.item!==void 0&&delete t.item,t.zeroMinWidth!==void 0&&delete t.zeroMinWidth,e.keys.forEach(o=>{t[o]!==void 0&&delete t[o]})}const vc=us(),hc=fs("div",{name:"MuiGrid",slot:"Root",overridesResolver:(t,e)=>e.root});function yc(t){return un({props:t,name:"MuiGrid",defaultTheme:vc})}function xc(t={}){const{createStyledComponent:e=hc,useThemeProps:o=yc,useTheme:r=dn,componentName:n="MuiGrid"}=t,s=(c,p)=>{const{container:u,direction:m,spacing:g,wrap:b,size:v}=c,h={root:["root",u&&"container",b!=="wrap"&&`wrap-xs-${String(b)}`,...mc(m),...fc(v),...u?gc(g,p.breakpoints.keys[0]):[]]};return G(h,y=>V(n,y),{})};function a(c,p,u=()=>!0){const m={};return c===null||(Array.isArray(c)?c.forEach((g,b)=>{g!==null&&u(g)&&p.keys[b]&&(m[p.keys[b]]=g)}):typeof c=="object"?Object.keys(c).forEach(g=>{const b=c[g];b!=null&&u(b)&&(m[g]=b)}):m[p.keys[0]]=c),m}const i=e(lc,pc,cc,ac,dc,uc,ic),l=d.forwardRef(function(p,u){const m=r(),g=o(p),b=Pr(g);bc(b,m.breakpoints);const{className:v,children:h,columns:y=12,container:S=!1,component:C="div",direction:x="row",wrap:w="wrap",size:P={},offset:$={},spacing:I=0,rowSpacing:A=I,columnSpacing:T=I,unstable_level:z=0,...E}=b,R=a(P,m.breakpoints,U=>U!==!1),M=a($,m.breakpoints),O=p.columns??(z?void 0:y),L=p.spacing??(z?void 0:I),F=p.rowSpacing??p.spacing??(z?void 0:A),D=p.columnSpacing??p.spacing??(z?void 0:T),N={...b,level:z,columns:O,container:S,direction:x,wrap:w,spacing:L,rowSpacing:F,columnSpacing:D,size:R,offset:M},J=s(N,m);return f.jsx(i,{ref:u,as:C,ownerState:N,className:j(J.root,v),...E,children:d.Children.map(h,U=>{var wt;return d.isValidElement(U)&&yo(U,["Grid"])&&S&&U.props.container?d.cloneElement(U,{unstable_level:((wt=U.props)==null?void 0:wt.unstable_level)??z+1}):U})})});return l.muiName="Grid",l}const Cc=us(),Sc=fs("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root});function wc(t){return un({props:t,name:"MuiStack",defaultTheme:Cc})}function Rc(t,e){const o=d.Children.toArray(t).filter(Boolean);return o.reduce((r,n,s)=>(r.push(n),s({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[t],$c=({ownerState:t,theme:e})=>{let o={display:"flex",flexDirection:"column",...vr({theme:e},To({values:t.direction,breakpoints:e.breakpoints.values}),r=>({flexDirection:r}))};if(t.spacing){const r=Pl(e),n=Object.keys(e.breakpoints.values).reduce((l,c)=>((typeof t.spacing=="object"&&t.spacing[c]!=null||typeof t.direction=="object"&&t.direction[c]!=null)&&(l[c]=!0),l),{}),s=To({values:t.direction,base:n}),a=To({values:t.spacing,base:n});typeof s=="object"&&Object.keys(s).forEach((l,c,p)=>{if(!s[l]){const m=c>0?s[p[c-1]]:"column";s[l]=m}}),o=wr(o,vr({theme:e},a,(l,c)=>t.useFlexGap?{gap:Ns(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${Pc(c?s[c]:t.direction)}`]:Ns(r,l)}}))}return o=$l(e.breakpoints,o),o};function kc(t={}){const{createStyledComponent:e=Sc,useThemeProps:o=wc,componentName:r="MuiStack"}=t,n=()=>G({root:["root"]},l=>V(r,l),{}),s=e($c);return d.forwardRef(function(l,c){const p=o(l),u=Pr(p),{component:m="div",direction:g="column",spacing:b=0,divider:v,children:h,className:y,useFlexGap:S=!1,...C}=u,x={direction:g,spacing:b,useFlexGap:S},w=n();return f.jsx(s,{as:m,ownerState:x,ref:c,className:j(w.root,y),...C,children:v?Rc(h,v):h})})}function hS(t){const{defaultProps:e={},mixins:o={},overrides:r={},palette:n={},props:s={},styleOverrides:a={},...i}=t,l={...i,components:{}};Object.keys(e).forEach(v=>{const h=l.components[v]||{};h.defaultProps=e[v],l.components[v]=h}),Object.keys(s).forEach(v=>{const h=l.components[v]||{};h.defaultProps=s[v],l.components[v]=h}),Object.keys(a).forEach(v=>{const h=l.components[v]||{};h.styleOverrides=a[v],l.components[v]=h}),Object.keys(r).forEach(v=>{const h=l.components[v]||{};h.styleOverrides=r[v],l.components[v]=h}),l.spacing=kl(t.spacing);const c=Il(t.breakpoints||{}),p=l.spacing;l.mixins={gutters:(v={})=>({paddingLeft:p(2),paddingRight:p(2),...v,[c.up("sm")]:{paddingLeft:p(3),paddingRight:p(3),...v[c.up("sm")]}}),...o};const{type:u,mode:m,...g}=n,b=m||u||"light";return l.palette={text:{hint:b==="dark"?"rgba(255, 255, 255, 0.5)":"rgba(0, 0, 0, 0.38)"},mode:b,type:b,...g},l}function yS(t,...e){return ai(wr({unstable_strictMode:!0},t),...e)}let Hs=!1;function xS(t){return Hs||(console.warn(["MUI: createStyles from @mui/material/styles is deprecated.","Please use @mui/styles/createStyles"].join(` -`)),Hs=!0),t}function Vs(t){return String(parseFloat(t)).length===String(t).length}function Ci(t){return String(t).match(/[\d.\-+]*\s*(.*)/)[1]||""}function mo(t){return parseFloat(t)}function Ic(t){return(e,o)=>{const r=Ci(e);if(r===o)return e;let n=mo(e);r!=="px"&&(r==="em"||r==="rem")&&(n=mo(e)*mo(t));let s=n;if(o!=="px")if(o==="em")s=n/mo(t);else if(o==="rem")s=n/mo(t);else return e;return parseFloat(s.toFixed(5))+o}}function Tc({size:t,grid:e}){const o=t-t%e,r=o+e;return t-o{let c=e+i*l;s!==null&&(c=s(c)),a[`@media (min-width:${l}px)`]={[t]:`${Math.round(c*1e4)/1e4}${r}`}}),a}function CS(t,e={}){const{breakpoints:o=["sm","md","lg"],disableAlign:r=!1,factor:n=2,variants:s=["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","button","overline"]}=e,a={...t};a.typography={...a.typography};const i=a.typography,l=Ic(i.htmlFontSize),c=o.map(p=>a.breakpoints.values[p]);return s.forEach(p=>{const u=i[p];if(!u)return;const m=parseFloat(l(u.fontSize,"rem"));if(m<=1)return;const g=m,b=1+(g-1)/n;let{lineHeight:v}=u;if(!Vs(v)&&!r)throw new Error(Oo(6));Vs(v)||(v=parseFloat(l(v,"rem"))/parseFloat(m));let h=null;r||(h=y=>Tc({size:y,grid:Mc({pixels:4,lineHeight:v,htmlFontSize:i.htmlFontSize})})),i[p]={...u,...Lc({cssProperty:"fontSize",min:b,max:g,unit:"rem",breakpoints:c,transform:h})}}),a}function SS({props:t,name:e}){return un({props:t,name:e,defaultTheme:ii,themeId:pn})}function wS(){throw new Error(Oo(14))}function RS(){throw new Error(Oo(15))}function PS(){throw new Error(Oo(16))}let Gs=!1;function $S(...t){return Gs||(console.warn(["MUI: The `experimental_extendTheme` has been stabilized.","","You should use `import { extendTheme } from '@mui/material/styles'`"].join(` -`)),Gs=!0),Tl(...t)}function kS(){throw new Error(Oo(19))}const Ac={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"},Bc={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"},Ec={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"},Oc={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"},Nc={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"},zc={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"},jc={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"},Dc={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"},Fc={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"},Wc={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037"},Uc={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64"},IS=Object.freeze(Object.defineProperty({__proto__:null,amber:Dc,blue:Ml,blueGrey:Uc,brown:Wc,common:Ll,cyan:Oc,deepOrange:Fc,deepPurple:Bc,green:Al,grey:Bl,indigo:Ec,lightBlue:El,lightGreen:zc,lime:jc,orange:Ol,pink:Ac,purple:Nl,red:zl,teal:Nc,yellow:Ul},Symbol.toStringTag,{value:"Module"}));function Hc(t){return f.jsx(Hl,{...t,defaultTheme:ii,themeId:pn})}function bs(t){return function(o){return f.jsx(Hc,{styles:typeof t=="function"?r=>t({theme:r,...o}):t})}}function Vc(){return Pr}function Go(t,e){if(!t)return e;if(typeof t=="function"||typeof e=="function")return n=>{const s=typeof e=="function"?e(n):e,a=typeof t=="function"?t({...n,...s}):t,i=j(n==null?void 0:n.className,s==null?void 0:s.className,a==null?void 0:a.className);return{...s,...a,...!!i&&{className:i},...(s==null?void 0:s.style)&&(a==null?void 0:a.style)&&{style:{...s.style,...a.style}},...(s==null?void 0:s.sx)&&(a==null?void 0:a.sx)&&{sx:[...Array.isArray(s.sx)?s.sx:[s.sx],...Array.isArray(a.sx)?a.sx:[a.sx]]}}};const o=e,r=j(o==null?void 0:o.className,t==null?void 0:t.className);return{...e,...t,...!!r&&{className:r},...(o==null?void 0:o.style)&&(t==null?void 0:t.style)&&{style:{...o.style,...t.style}},...(o==null?void 0:o.sx)&&(t==null?void 0:t.sx)&&{sx:[...Array.isArray(o.sx)?o.sx:[o.sx],...Array.isArray(t.sx)?t.sx:[t.sx]]}}}const TS={configure:t=>{li.configure(t)}},Ks={disabled:!1},on=ro.createContext(null);var Gc=function(e){return e.scrollTop},cr="unmounted",So="exited",wo="entering",Fo="entered",qn="exiting",Le=function(t){ci(e,t);function e(r,n){var s;s=t.call(this,r,n)||this;var a=n,i=a&&!a.isMounting?r.enter:r.appear,l;return s.appearStatus=null,r.in?i?(l=So,s.appearStatus=wo):l=Fo:r.unmountOnExit||r.mountOnEnter?l=cr:l=So,s.state={status:l},s.nextCallback=null,s}e.getDerivedStateFromProps=function(n,s){var a=n.in;return a&&s.status===cr?{status:So}:null};var o=e.prototype;return o.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},o.componentDidUpdate=function(n){var s=null;if(n!==this.props){var a=this.state.status;this.props.in?a!==wo&&a!==Fo&&(s=wo):(a===wo||a===Fo)&&(s=qn)}this.updateStatus(!1,s)},o.componentWillUnmount=function(){this.cancelNextCallback()},o.getTimeouts=function(){var n=this.props.timeout,s,a,i;return s=a=i=n,n!=null&&typeof n!="number"&&(s=n.exit,a=n.enter,i=n.appear!==void 0?n.appear:a),{exit:s,enter:a,appear:i}},o.updateStatus=function(n,s){if(n===void 0&&(n=!1),s!==null)if(this.cancelNextCallback(),s===wo){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:Er.findDOMNode(this);a&&Gc(a)}this.performEnter(n)}else this.performExit();else this.props.unmountOnExit&&this.state.status===So&&this.setState({status:cr})},o.performEnter=function(n){var s=this,a=this.props.enter,i=this.context?this.context.isMounting:n,l=this.props.nodeRef?[i]:[Er.findDOMNode(this),i],c=l[0],p=l[1],u=this.getTimeouts(),m=i?u.appear:u.enter;if(!n&&!a||Ks.disabled){this.safeSetState({status:Fo},function(){s.props.onEntered(c)});return}this.props.onEnter(c,p),this.safeSetState({status:wo},function(){s.props.onEntering(c,p),s.onTransitionEnd(m,function(){s.safeSetState({status:Fo},function(){s.props.onEntered(c,p)})})})},o.performExit=function(){var n=this,s=this.props.exit,a=this.getTimeouts(),i=this.props.nodeRef?void 0:Er.findDOMNode(this);if(!s||Ks.disabled){this.safeSetState({status:So},function(){n.props.onExited(i)});return}this.props.onExit(i),this.safeSetState({status:qn},function(){n.props.onExiting(i),n.onTransitionEnd(a.exit,function(){n.safeSetState({status:So},function(){n.props.onExited(i)})})})},o.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},o.safeSetState=function(n,s){s=this.setNextCallback(s),this.setState(n,s)},o.setNextCallback=function(n){var s=this,a=!0;return this.nextCallback=function(i){a&&(a=!1,s.nextCallback=null,n(i))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},o.onTransitionEnd=function(n,s){this.setNextCallback(s);var a=this.props.nodeRef?this.props.nodeRef.current:Er.findDOMNode(this),i=n==null&&!this.props.addEndListener;if(!a||i){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],c=l[0],p=l[1];this.props.addEndListener(c,p)}n!=null&&setTimeout(this.nextCallback,n)},o.render=function(){var n=this.state.status;if(n===cr)return null;var s=this.props,a=s.children;s.in,s.mountOnEnter,s.unmountOnExit,s.appear,s.enter,s.exit,s.timeout,s.addEndListener,s.onEnter,s.onEntering,s.onEntered,s.onExit,s.onExiting,s.onExited,s.nodeRef;var i=pi(s,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return ro.createElement(on.Provider,{value:null},typeof a=="function"?a(n,i):ro.cloneElement(ro.Children.only(a),i))},e}(ro.Component);Le.contextType=on;Le.propTypes={};function jo(){}Le.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:jo,onEntering:jo,onEntered:jo,onExit:jo,onExiting:jo,onExited:jo};Le.UNMOUNTED=cr;Le.EXITED=So;Le.ENTERING=wo;Le.ENTERED=Fo;Le.EXITING=qn;function Kc(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function vs(t,e){var o=function(s){return e&&d.isValidElement(s)?e(s):s},r=Object.create(null);return t&&d.Children.map(t,function(n){return n}).forEach(function(n){r[n.key]=o(n)}),r}function qc(t,e){t=t||{},e=e||{};function o(p){return p in e?e[p]:t[p]}var r=Object.create(null),n=[];for(var s in t)s in e?n.length&&(r[s]=n,n=[]):n.push(s);var a,i={};for(var l in e){if(r[l])for(a=0;at.scrollTop;function Ge(t,e){const{timeout:o,easing:r,style:n={}}=t;return{duration:n.transitionDuration??(typeof o=="number"?o:o[e.mode]||0),easing:n.transitionTimingFunction??(typeof r=="object"?r[e.mode]:r),delay:n.transitionDelay}}function Qc(t){return V("MuiCollapse",t)}const MS=K("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]),Jc=t=>{const{orientation:e,classes:o}=t,r={root:["root",`${e}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${e}`],wrapperInner:["wrapperInner",`${e}`]};return G(r,Qc,o)},tp=k("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.state==="entered"&&e.entered,o.state==="exited"&&!o.in&&o.collapsedSize==="0px"&&e.hidden]}})(W(({theme:t})=>({height:0,overflow:"hidden",transition:t.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:t.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:e})=>e.state==="exited"&&!e.in&&e.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),ep=k("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(t,e)=>e.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),op=k("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(t,e)=>e.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),hr=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCollapse"}),{addEndListener:n,children:s,className:a,collapsedSize:i="0px",component:l,easing:c,in:p,onEnter:u,onEntered:m,onEntering:g,onExit:b,onExited:v,onExiting:h,orientation:y="vertical",style:S,timeout:C=Dl.standard,TransitionComponent:x=Le,...w}=r,P={...r,orientation:y,collapsedSize:i},$=Jc(P),I=le(),A=no(),T=d.useRef(null),z=d.useRef(),E=typeof i=="number"?`${i}px`:i,R=y==="horizontal",M=R?"width":"height",O=d.useRef(null),L=qt(o,O),F=rt=>Y=>{if(rt){const at=O.current;Y===void 0?rt(at):rt(at,Y)}},D=()=>T.current?T.current[R?"clientWidth":"clientHeight"]:0,N=F((rt,Y)=>{T.current&&R&&(T.current.style.position="absolute"),rt.style[M]=E,u&&u(rt,Y)}),J=F((rt,Y)=>{const at=D();T.current&&R&&(T.current.style.position="");const{duration:ct,easing:st}=Ge({style:S,timeout:C,easing:c},{mode:"enter"});if(C==="auto"){const ft=I.transitions.getAutoHeightDuration(at);rt.style.transitionDuration=`${ft}ms`,z.current=ft}else rt.style.transitionDuration=typeof ct=="string"?ct:`${ct}ms`;rt.style[M]=`${at}px`,rt.style.transitionTimingFunction=st,g&&g(rt,Y)}),U=F((rt,Y)=>{rt.style[M]="auto",m&&m(rt,Y)}),wt=F(rt=>{rt.style[M]=`${D()}px`,b&&b(rt)}),vt=F(v),mt=F(rt=>{const Y=D(),{duration:at,easing:ct}=Ge({style:S,timeout:C,easing:c},{mode:"exit"});if(C==="auto"){const st=I.transitions.getAutoHeightDuration(Y);rt.style.transitionDuration=`${st}ms`,z.current=st}else rt.style.transitionDuration=typeof at=="string"?at:`${at}ms`;rt.style[M]=E,rt.style.transitionTimingFunction=ct,h&&h(rt)}),et=rt=>{C==="auto"&&A.start(z.current||0,rt),n&&n(O.current,rt)};return f.jsx(x,{in:p,onEnter:N,onEntered:U,onEntering:J,onExit:wt,onExited:vt,onExiting:mt,addEndListener:et,nodeRef:O,timeout:C==="auto"?null:C,...w,children:(rt,{ownerState:Y,...at})=>f.jsx(tp,{as:l,className:j($.root,a,{entered:$.entered,exited:!p&&E==="0px"&&$.hidden}[rt]),style:{[R?"minWidth":"minHeight"]:E,...S},ref:L,ownerState:{...P,state:rt},...at,children:f.jsx(ep,{ownerState:{...P,state:rt},className:$.wrapper,ref:T,children:f.jsx(op,{ownerState:{...P,state:rt},className:$.wrapperInner,children:s})})})})});hr&&(hr.muiSupportAuto=!0);function rp(t){return V("MuiPaper",t)}const LS=K("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"]),np=t=>{const{square:e,elevation:o,variant:r,classes:n}=t,s={root:["root",r,!e&&"rounded",r==="elevation"&&`elevation${o}`]};return G(s,rp,n)},sp=k("div",{name:"MuiPaper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],!o.square&&e.rounded,o.variant==="elevation"&&e[`elevation${o.elevation}`]]}})(W(({theme:t})=>({backgroundColor:(t.vars||t).palette.background.paper,color:(t.vars||t).palette.text.primary,transition:t.transitions.create("box-shadow"),variants:[{props:({ownerState:e})=>!e.square,style:{borderRadius:t.shape.borderRadius}},{props:{variant:"outlined"},style:{border:`1px solid ${(t.vars||t).palette.divider}`}},{props:{variant:"elevation"},style:{boxShadow:"var(--Paper-shadow)",backgroundImage:"var(--Paper-overlay)"}}]}))),Ue=d.forwardRef(function(e,o){var g;const r=_({props:e,name:"MuiPaper"}),n=le(),{className:s,component:a="div",elevation:i=1,square:l=!1,variant:c="elevation",...p}=r,u={...r,component:a,elevation:i,square:l,variant:c},m=np(u);return f.jsx(sp,{as:a,ownerState:u,className:j(m.root,s),ref:o,...p,style:{...c==="elevation"&&{"--Paper-shadow":(n.vars||n).shadows[i],...n.vars&&{"--Paper-overlay":(g=n.vars.overlays)==null?void 0:g[i]},...!n.vars&&n.palette.mode==="dark"&&{"--Paper-overlay":`linear-gradient(${kt("#fff",zs(i))}, ${kt("#fff",zs(i))})`}},...p.style}})}),Si=d.createContext({});function Q(t,e){const{className:o,elementType:r,ownerState:n,externalForwardedProps:s,internalForwardedProps:a,shouldForwardComponentProp:i=!1,...l}=e,{component:c,slots:p={[t]:void 0},slotProps:u={[t]:void 0},...m}=s,g=p[t]||r,b=xi(u[t],n),{props:{component:v,...h},internalRef:y}=yi({className:o,...l,externalForwardedProps:t==="root"?m:void 0,externalSlotProps:b}),S=qt(y,b==null?void 0:b.ref,e.ref),C=t==="root"?v||c:v,x=hi(g,{...t==="root"&&!c&&!p[t]&&a,...t!=="root"&&!p[t]&&a,...h,...C&&!i&&{as:C},...C&&i&&{component:C},ref:S},n);return[g,x]}function ap(t){return V("MuiAccordion",t)}const Or=K("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),ip=t=>{const{classes:e,square:o,expanded:r,disabled:n,disableGutters:s}=t;return G({root:["root",!o&&"rounded",r&&"expanded",n&&"disabled",!s&&"gutters"],heading:["heading"],region:["region"]},ap,e)},lp=k(Ue,{name:"MuiAccordion",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Or.region}`]:e.region},e.root,!o.square&&e.rounded,!o.disableGutters&&e.gutters]}})(W(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{position:"relative",transition:t.transitions.create(["margin"],e),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(t.vars||t).palette.divider,transition:t.transitions.create(["opacity","background-color"],e)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${Or.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${Or.disabled}`]:{backgroundColor:(t.vars||t).palette.action.disabledBackground}}}),W(({theme:t})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${Or.expanded}`]:{margin:"16px 0"}}}]}))),cp=k("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(t,e)=>e.heading})({all:"unset"}),AS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAccordion"}),{children:n,className:s,defaultExpanded:a=!1,disabled:i=!1,disableGutters:l=!1,expanded:c,onChange:p,square:u=!1,slots:m={},slotProps:g={},TransitionComponent:b,TransitionProps:v,...h}=r,[y,S]=Te({controlled:c,default:a,name:"Accordion",state:"expanded"}),C=d.useCallback(D=>{S(!y),p&&p(D,!y)},[y,p,S]),[x,...w]=d.Children.toArray(n),P=d.useMemo(()=>({expanded:y,disabled:i,disableGutters:l,toggle:C}),[y,i,l,C]),$={...r,square:u,disabled:i,disableGutters:l,expanded:y},I=ip($),A={transition:b,...m},T={transition:v,...g},z={slots:A,slotProps:T},[E,R]=Q("root",{elementType:lp,externalForwardedProps:{...z,...h},className:j(I.root,s),shouldForwardComponentProp:!0,ownerState:$,ref:o,additionalProps:{square:u}}),[M,O]=Q("heading",{elementType:cp,externalForwardedProps:z,className:I.heading,ownerState:$}),[L,F]=Q("transition",{elementType:hr,externalForwardedProps:z,ownerState:$});return f.jsxs(E,{...R,children:[f.jsx(M,{...O,children:f.jsx(Si.Provider,{value:P,children:x})}),f.jsx(L,{in:y,timeout:"auto",...F,children:f.jsx("div",{"aria-labelledby":x.props.id,id:x.props["aria-controls"],role:"region",className:I.region,children:w})})]})});function pp(t){return V("MuiAccordionActions",t)}const BS=K("MuiAccordionActions",["root","spacing"]),dp=t=>{const{classes:e,disableSpacing:o}=t;return G({root:["root",!o&&"spacing"]},pp,e)},up=k("div",{name:"MuiAccordionActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",variants:[{props:t=>!t.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),ES=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAccordionActions"}),{className:n,disableSpacing:s=!1,...a}=r,i={...r,disableSpacing:s},l=dp(i);return f.jsx(up,{className:j(l.root,n),ref:o,ownerState:i,...a})});function fp(t){return V("MuiAccordionDetails",t)}const OS=K("MuiAccordionDetails",["root"]),gp=t=>{const{classes:e}=t;return G({root:["root"]},fp,e)},mp=k("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({padding:t.spacing(1,2,2)}))),NS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAccordionDetails"}),{className:n,...s}=r,a=r,i=gp(a);return f.jsx(mp,{className:j(i.root,n),ref:o,ownerState:a,...s})});class rn{static create(){return new rn}static use(){const e=gi(rn.create).current,[o,r]=d.useState(!1);return e.shouldMount=o,e.setShouldMount=r,d.useEffect(e.mountEffect,[o]),e}constructor(){this.ref={current:null},this.mounted=null,this.didMount=!1,this.shouldMount=!1,this.setShouldMount=null}mount(){return this.mounted||(this.mounted=vp(),this.shouldMount=!0,this.setShouldMount(this.shouldMount)),this.mounted}mountEffect=()=>{this.shouldMount&&!this.didMount&&this.ref.current!==null&&(this.didMount=!0,this.mounted.resolve())};start(...e){this.mount().then(()=>{var o;return(o=this.ref.current)==null?void 0:o.start(...e)})}stop(...e){this.mount().then(()=>{var o;return(o=this.ref.current)==null?void 0:o.stop(...e)})}pulsate(...e){this.mount().then(()=>{var o;return(o=this.ref.current)==null?void 0:o.pulsate(...e)})}}function bp(){return rn.use()}function vp(){let t,e;const o=new Promise((r,n)=>{t=r,e=n});return o.resolve=t,o.reject=e,o}function hp(t){const{className:e,classes:o,pulsate:r=!1,rippleX:n,rippleY:s,rippleSize:a,in:i,onExited:l,timeout:c}=t,[p,u]=d.useState(!1),m=j(e,o.ripple,o.rippleVisible,r&&o.ripplePulsate),g={width:a,height:a,top:-(a/2)+s,left:-(a/2)+n},b=j(o.child,p&&o.childLeaving,r&&o.childPulsate);return!i&&!p&&u(!0),d.useEffect(()=>{if(!i&&l!=null){const v=setTimeout(l,c);return()=>{clearTimeout(v)}}},[l,i,c]),f.jsx("span",{className:m,style:g,children:f.jsx("span",{className:b})})}function zS(t){return V("MuiTouchRipple",t)}const Oe=K("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),Xn=550,yp=80,xp=Je` +import{j as f,e as hl,f as yl,s as xl,h as Cl,k as j,l as Sl,m as ps,u as wl,n as B,p as G,q as ds,t as V,v as br,w as Io,x as Rl,y as Sr,z as Pl,A as Os,B as $l,C as kl,b as si,D as Eo,E as ai,T as pn,F as Il,G as Tl,H as Ml,g as Ll,a as Al,I as Bl,o as El,J as Ol,r as Nl,K as ii,_ as zl,L as K,M as _,N as jl,O as k,Q as W,d as kt,R as Ns,c as Qt,S as Lo,U as Ao,V as tn,W as ae,P as ve,X as Ar,Y as wr,Z as wo,$ as Dl}from"./createSvgIcon-DMsh-YeH.js";import{aa as pR,a7 as dR,a8 as uR,a3 as fR,a9 as gR,a5 as mR,a6 as bR,ag as vR,a0 as hR,a2 as yR,ad as xR,ac as CR,ae as SR,a4 as wR,a1 as RR,ab as PR,af as $R}from"./createSvgIcon-DMsh-YeH.js";import{G as Fl,u as be,y as Wl,_ as li,R as Br,a as ci,k as Je,c as Oo,i as Hn,b as Ke}from"./inheritsLoose-DgfqekV3.js";import{C as IR,E as TR,S as MR,T as LR,g as AR,d as BR}from"./inheritsLoose-DgfqekV3.js";import{i as d,a as pi,R as ro}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{a as dn,u as le}from"./useTheme-N2j2HWMZ.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";function Ul({styles:t,themeId:e,defaultTheme:o={}}){const r=dn(o),n=typeof t=="function"?t(e&&r[e]||r):t;return f.jsx(Fl,{styles:n})}const Hl=t=>{var r;const e={systemProps:{},otherProps:{}},o=((r=t==null?void 0:t.theme)==null?void 0:r.unstable_sxConfig)??yl;return Object.keys(t).forEach(n=>{o[n]?e.systemProps[n]=t[n]:e.otherProps[n]=t[n]}),e};function Rr(t){const{sx:e,...o}=t,{systemProps:r,otherProps:n}=Hl(o);let s;return Array.isArray(e)?s=[r,...e]:typeof e=="function"?s=(...a)=>{const i=e(...a);return hl(i)?{...r,...i}:r}:s={...r,...e},{...n,sx:s}}function Vl(t={}){const{themeId:e,defaultTheme:o,defaultClassName:r="MuiBox-root",generateClassName:n}=t,s=xl("div",{shouldForwardProp:i=>i!=="theme"&&i!=="sx"&&i!=="as"})(Cl);return d.forwardRef(function(l,c){const p=dn(o),{className:u,component:m="div",...g}=Rr(l);return f.jsx(s,{as:m,ref:c,className:j(u,n?n(r):r),theme:e&&p[e]||p,...g})})}const us=Sl();function fs(t){const{theme:e,name:o,props:r}=t;return!e||!e.components||!e.components[o]||!e.components[o].defaultProps?r:ps(e.components[o].defaultProps,r)}function un({props:t,name:e,defaultTheme:o,themeId:r}){let n=dn(o);return r&&(n=n[r]||n),fs({theme:n,name:e,props:t})}function Gl(t,e,o,r,n){const[s,a]=d.useState(()=>n&&o?o(t).matches:r?r(t).matches:e);return be(()=>{if(!o)return;const i=o(t),l=()=>{a(i.matches)};return l(),i.addEventListener("change",l),()=>{i.removeEventListener("change",l)}},[t,o]),s}const Kl={...pi},di=Kl.useSyncExternalStore;function ql(t,e,o,r,n){const s=d.useCallback(()=>e,[e]),a=d.useMemo(()=>{if(n&&o)return()=>o(t).matches;if(r!==null){const{matches:p}=r(t);return()=>p}return s},[s,t,r,n,o]),[i,l]=d.useMemo(()=>{if(o===null)return[s,()=>()=>{}];const p=o(t);return[()=>p.matches,u=>(p.addEventListener("change",u),()=>{p.removeEventListener("change",u)})]},[s,o,t]);return di(l,i,a)}function ui(t={}){const{themeId:e}=t;return function(r,n={}){let s=wl();s&&e&&(s=s[e]||s);const a=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:i=!1,matchMedia:l=a?window.matchMedia:null,ssrMatchMedia:c=null,noSsr:p=!1}=fs({name:"MuiUseMediaQuery",props:n,theme:s});let u=typeof r=="function"?r(s):r;return u=u.replace(/^@media( ?)/m,""),u.includes("print")&&console.warn(["MUI: You have provided a `print` query to the `useMediaQuery` hook.","Using the print media query to modify print styles can lead to unexpected results.","Consider using the `displayPrint` field in the `sx` prop instead.","More information about `displayPrint` on our docs: https://mui.com/system/display/#display-in-print."].join(` +`)),(di!==void 0?ql:Gl)(u,i,l,c,p)}}ui();function Vn(...t){return t.reduce((e,o)=>o==null?e:function(...n){e.apply(this,n),o.apply(this,n)},()=>{})}function Pr(t,e=166){let o;function r(...n){const s=()=>{t.apply(this,n)};clearTimeout(o),o=setTimeout(s,e)}return r.clear=()=>{clearTimeout(o)},r}function mS(t,e){return()=>null}function ho(t,e){var o,r,n;return d.isValidElement(t)&&e.indexOf(t.type.muiName??((n=(r=(o=t.type)==null?void 0:o._payload)==null?void 0:r.value)==null?void 0:n.muiName))!==-1}function te(t){return t&&t.ownerDocument||document}function me(t){return te(t).defaultView||window}function bS(t,e){return()=>null}function Gn(t,e){typeof t=="function"?t(e):t&&(t.current=e)}let zs=0;function Xl(t){const[e,o]=d.useState(t),r=t||e;return d.useEffect(()=>{e==null&&(zs+=1,o(`mui-${zs}`))},[e]),r}const _l={...pi},js=_l.useId;function De(t){if(js!==void 0){const e=js();return t??e}return Xl(t)}function vS(t,e,o,r,n){return null}function Te({controlled:t,default:e,name:o,state:r="value"}){const{current:n}=d.useRef(t!==void 0),[s,a]=d.useState(e),i=n?t:s,l=d.useCallback(c=>{n||a(c)},[]);return[i,l]}function ee(t){const e=d.useRef(t);return be(()=>{e.current=t}),d.useRef((...o)=>(0,e.current)(...o)).current}function qt(...t){const e=d.useRef(void 0),o=d.useCallback(r=>{const n=t.map(s=>{if(s==null)return null;if(typeof s=="function"){const a=s,i=a(r);return typeof i=="function"?i:()=>{a(null)}}return s.current=r,()=>{s.current=null}});return()=>{n.forEach(s=>s==null?void 0:s())}},t);return d.useMemo(()=>t.every(r=>r==null)?null:r=>{e.current&&(e.current(),e.current=void 0),r!=null&&(e.current=o(r))},t)}const Ds={};function fi(t,e){const o=d.useRef(Ds);return o.current===Ds&&(o.current=t(e)),o}const Yl=[];function Zl(t){d.useEffect(t,Yl)}class fn{static create(){return new fn}currentId=null;start(e,o){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,o()},e)}clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)};disposeEffect=()=>this.clear}function no(){const t=fi(fn.create).current;return Zl(t.disposeEffect),t}function Ze(t){try{return t.matches(":focus-visible")}catch{}return!1}function gi(t=window){const e=t.document.documentElement.clientWidth;return t.innerWidth-e}const gs=t=>{const e=d.useRef({});return d.useEffect(()=>{e.current=t}),e.current};function mi(t){return d.Children.toArray(t).filter(e=>d.isValidElement(e))}const bi={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"};function Ql(t){return typeof t=="string"}function vi(t,e,o){return t===void 0||Ql(t)?e:{...e,ownerState:{...e.ownerState,...o}}}function To(t,e=[]){if(t===void 0)return{};const o={};return Object.keys(t).filter(r=>r.match(/^on[A-Z]/)&&typeof t[r]=="function"&&!e.includes(r)).forEach(r=>{o[r]=t[r]}),o}function Fs(t){if(t===void 0)return{};const e={};return Object.keys(t).filter(o=>!(o.match(/^on[A-Z]/)&&typeof t[o]=="function")).forEach(o=>{e[o]=t[o]}),e}function hi(t){const{getSlotProps:e,additionalProps:o,externalSlotProps:r,externalForwardedProps:n,className:s}=t;if(!e){const g=j(o==null?void 0:o.className,s,n==null?void 0:n.className,r==null?void 0:r.className),b={...o==null?void 0:o.style,...n==null?void 0:n.style,...r==null?void 0:r.style},v={...o,...n,...r};return g.length>0&&(v.className=g),Object.keys(b).length>0&&(v.style=b),{props:v,internalRef:void 0}}const a=To({...n,...r}),i=Fs(r),l=Fs(n),c=e(a),p=j(c==null?void 0:c.className,o==null?void 0:o.className,s,n==null?void 0:n.className,r==null?void 0:r.className),u={...c==null?void 0:c.style,...o==null?void 0:o.style,...n==null?void 0:n.style,...r==null?void 0:r.style},m={...c,...o,...l,...i};return p.length>0&&(m.className=p),Object.keys(u).length>0&&(m.style=u),{props:m,internalRef:c.ref}}function yi(t,e,o){return typeof t=="function"?t(e,o):t}function Ce(t){var u;const{elementType:e,externalSlotProps:o,ownerState:r,skipResolvingSlotProps:n=!1,...s}=t,a=n?{}:yi(o,r),{props:i,internalRef:l}=hi({...s,externalSlotProps:a}),c=qt(l,a==null?void 0:a.ref,(u=t.additionalProps)==null?void 0:u.ref);return vi(e,{...i,ref:c},r)}function io(t){var e;return parseInt(d.version,10)>=19?((e=t==null?void 0:t.props)==null?void 0:e.ref)||null:(t==null?void 0:t.ref)||null}const Jl=ds(),tc=us("div",{name:"MuiContainer",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`maxWidth${B(String(o.maxWidth))}`],o.fixed&&e.fixed,o.disableGutters&&e.disableGutters]}}),ec=t=>un({props:t,name:"MuiContainer",defaultTheme:Jl}),oc=(t,e)=>{const o=l=>V(e,l),{classes:r,fixed:n,disableGutters:s,maxWidth:a}=t,i={root:["root",a&&`maxWidth${B(String(a))}`,n&&"fixed",s&&"disableGutters"]};return G(i,o,r)};function rc(t={}){const{createStyledComponent:e=tc,useThemeProps:o=ec,componentName:r="MuiContainer"}=t,n=e(({theme:a,ownerState:i})=>({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",...!i.disableGutters&&{paddingLeft:a.spacing(2),paddingRight:a.spacing(2),[a.breakpoints.up("sm")]:{paddingLeft:a.spacing(3),paddingRight:a.spacing(3)}}}),({theme:a,ownerState:i})=>i.fixed&&Object.keys(a.breakpoints.values).reduce((l,c)=>{const p=c,u=a.breakpoints.values[p];return u!==0&&(l[a.breakpoints.up(p)]={maxWidth:`${u}${a.breakpoints.unit}`}),l},{}),({theme:a,ownerState:i})=>({...i.maxWidth==="xs"&&{[a.breakpoints.up("xs")]:{maxWidth:Math.max(a.breakpoints.values.xs,444)}},...i.maxWidth&&i.maxWidth!=="xs"&&{[a.breakpoints.up(i.maxWidth)]:{maxWidth:`${a.breakpoints.values[i.maxWidth]}${a.breakpoints.unit}`}}}));return d.forwardRef(function(i,l){const c=o(i),{className:p,component:u="div",disableGutters:m=!1,fixed:g=!1,maxWidth:b="lg",classes:v,...h}=c,y={...c,component:u,disableGutters:m,fixed:g,maxWidth:b},S=oc(y,r);return f.jsx(n,{as:u,ownerState:y,className:j(S.root,p),ref:l,...h})})}const nc=(t,e)=>t.filter(o=>e.includes(o)),_o=(t,e,o)=>{const r=t.keys[0];Array.isArray(e)?e.forEach((n,s)=>{o((a,i)=>{s<=t.keys.length-1&&(s===0?Object.assign(a,i):a[t.up(t.keys[s])]=i)},n)}):e&&typeof e=="object"?(Object.keys(e).length>t.keys.length?t.keys:nc(t.keys,Object.keys(e))).forEach(s=>{if(t.keys.includes(s)){const a=e[s];a!==void 0&&o((i,l)=>{r===s?Object.assign(i,l):i[t.up(s)]=l},a)}}):(typeof e=="number"||typeof e=="string")&&o((n,s)=>{Object.assign(n,s)},e)};function en(t){return`--Grid-${t}Spacing`}function gn(t){return`--Grid-parent-${t}Spacing`}const Ws="--Grid-columns",Ho="--Grid-parent-columns",sc=({theme:t,ownerState:e})=>{const o={};return _o(t.breakpoints,e.size,(r,n)=>{let s={};n==="grow"&&(s={flexBasis:0,flexGrow:1,maxWidth:"100%"}),n==="auto"&&(s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof n=="number"&&(s={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${n} / var(${Ho}) - (var(${Ho}) - ${n}) * (var(${gn("column")}) / var(${Ho})))`}),r(o,s)}),o},ac=({theme:t,ownerState:e})=>{const o={};return _o(t.breakpoints,e.offset,(r,n)=>{let s={};n==="auto"&&(s={marginLeft:"auto"}),typeof n=="number"&&(s={marginLeft:n===0?"0px":`calc(100% * ${n} / var(${Ho}) + var(${gn("column")}) * ${n} / var(${Ho}))`}),r(o,s)}),o},ic=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={[Ws]:12};return _o(t.breakpoints,e.columns,(r,n)=>{const s=n??12;r(o,{[Ws]:s,"> *":{[Ho]:s}})}),o},lc=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return _o(t.breakpoints,e.rowSpacing,(r,n)=>{var a;const s=typeof n=="string"?n:(a=t.spacing)==null?void 0:a.call(t,n);r(o,{[en("row")]:s,"> *":{[gn("row")]:s}})}),o},cc=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return _o(t.breakpoints,e.columnSpacing,(r,n)=>{var a;const s=typeof n=="string"?n:(a=t.spacing)==null?void 0:a.call(t,n);r(o,{[en("column")]:s,"> *":{[gn("column")]:s}})}),o},pc=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return _o(t.breakpoints,e.direction,(r,n)=>{r(o,{flexDirection:n})}),o},dc=({ownerState:t})=>({minWidth:0,boxSizing:"border-box",...t.container&&{display:"flex",flexWrap:"wrap",...t.wrap&&t.wrap!=="wrap"&&{flexWrap:t.wrap},gap:`var(${en("row")}) var(${en("column")})`}}),uc=t=>{const e=[];return Object.entries(t).forEach(([o,r])=>{r!==!1&&r!==void 0&&e.push(`grid-${o}-${String(r)}`)}),e},fc=(t,e="xs")=>{function o(r){return r===void 0?!1:typeof r=="string"&&!Number.isNaN(Number(r))||typeof r=="number"&&r>0}if(o(t))return[`spacing-${e}-${String(t)}`];if(typeof t=="object"&&!Array.isArray(t)){const r=[];return Object.entries(t).forEach(([n,s])=>{o(s)&&r.push(`spacing-${n}-${String(s)}`)}),r}return[]},gc=t=>t===void 0?[]:typeof t=="object"?Object.entries(t).map(([e,o])=>`direction-${e}-${o}`):[`direction-xs-${String(t)}`];function mc(t,e){t.item!==void 0&&delete t.item,t.zeroMinWidth!==void 0&&delete t.zeroMinWidth,e.keys.forEach(o=>{t[o]!==void 0&&delete t[o]})}const bc=ds(),vc=us("div",{name:"MuiGrid",slot:"Root",overridesResolver:(t,e)=>e.root});function hc(t){return un({props:t,name:"MuiGrid",defaultTheme:bc})}function yc(t={}){const{createStyledComponent:e=vc,useThemeProps:o=hc,useTheme:r=dn,componentName:n="MuiGrid"}=t,s=(c,p)=>{const{container:u,direction:m,spacing:g,wrap:b,size:v}=c,h={root:["root",u&&"container",b!=="wrap"&&`wrap-xs-${String(b)}`,...gc(m),...uc(v),...u?fc(g,p.breakpoints.keys[0]):[]]};return G(h,y=>V(n,y),{})};function a(c,p,u=()=>!0){const m={};return c===null||(Array.isArray(c)?c.forEach((g,b)=>{g!==null&&u(g)&&p.keys[b]&&(m[p.keys[b]]=g)}):typeof c=="object"?Object.keys(c).forEach(g=>{const b=c[g];b!=null&&u(b)&&(m[g]=b)}):m[p.keys[0]]=c),m}const i=e(ic,cc,lc,sc,pc,dc,ac),l=d.forwardRef(function(p,u){const m=r(),g=o(p),b=Rr(g);mc(b,m.breakpoints);const{className:v,children:h,columns:y=12,container:S=!1,component:C="div",direction:x="row",wrap:w="wrap",size:P={},offset:$={},spacing:I=0,rowSpacing:A=I,columnSpacing:T=I,unstable_level:z=0,...E}=b,R=a(P,m.breakpoints,U=>U!==!1),M=a($,m.breakpoints),O=p.columns??(z?void 0:y),L=p.spacing??(z?void 0:I),F=p.rowSpacing??p.spacing??(z?void 0:A),D=p.columnSpacing??p.spacing??(z?void 0:T),N={...b,level:z,columns:O,container:S,direction:x,wrap:w,spacing:L,rowSpacing:F,columnSpacing:D,size:R,offset:M},J=s(N,m);return f.jsx(i,{ref:u,as:C,ownerState:N,className:j(J.root,v),...E,children:d.Children.map(h,U=>{var wt;return d.isValidElement(U)&&ho(U,["Grid"])&&S&&U.props.container?d.cloneElement(U,{unstable_level:((wt=U.props)==null?void 0:wt.unstable_level)??z+1}):U})})});return l.muiName="Grid",l}const xc=ds(),Cc=us("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root});function Sc(t){return un({props:t,name:"MuiStack",defaultTheme:xc})}function wc(t,e){const o=d.Children.toArray(t).filter(Boolean);return o.reduce((r,n,s)=>(r.push(n),s({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[t],Pc=({ownerState:t,theme:e})=>{let o={display:"flex",flexDirection:"column",...br({theme:e},Io({values:t.direction,breakpoints:e.breakpoints.values}),r=>({flexDirection:r}))};if(t.spacing){const r=Rl(e),n=Object.keys(e.breakpoints.values).reduce((l,c)=>((typeof t.spacing=="object"&&t.spacing[c]!=null||typeof t.direction=="object"&&t.direction[c]!=null)&&(l[c]=!0),l),{}),s=Io({values:t.direction,base:n}),a=Io({values:t.spacing,base:n});typeof s=="object"&&Object.keys(s).forEach((l,c,p)=>{if(!s[l]){const m=c>0?s[p[c-1]]:"column";s[l]=m}}),o=Sr(o,br({theme:e},a,(l,c)=>t.useFlexGap?{gap:Os(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${Rc(c?s[c]:t.direction)}`]:Os(r,l)}}))}return o=Pl(e.breakpoints,o),o};function $c(t={}){const{createStyledComponent:e=Cc,useThemeProps:o=Sc,componentName:r="MuiStack"}=t,n=()=>G({root:["root"]},l=>V(r,l),{}),s=e(Pc);return d.forwardRef(function(l,c){const p=o(l),u=Rr(p),{component:m="div",direction:g="column",spacing:b=0,divider:v,children:h,className:y,useFlexGap:S=!1,...C}=u,x={direction:g,spacing:b,useFlexGap:S},w=n();return f.jsx(s,{as:m,ownerState:x,ref:c,className:j(w.root,y),...C,children:v?wc(h,v):h})})}function hS(t){const{defaultProps:e={},mixins:o={},overrides:r={},palette:n={},props:s={},styleOverrides:a={},...i}=t,l={...i,components:{}};Object.keys(e).forEach(v=>{const h=l.components[v]||{};h.defaultProps=e[v],l.components[v]=h}),Object.keys(s).forEach(v=>{const h=l.components[v]||{};h.defaultProps=s[v],l.components[v]=h}),Object.keys(a).forEach(v=>{const h=l.components[v]||{};h.styleOverrides=a[v],l.components[v]=h}),Object.keys(r).forEach(v=>{const h=l.components[v]||{};h.styleOverrides=r[v],l.components[v]=h}),l.spacing=$l(t.spacing);const c=kl(t.breakpoints||{}),p=l.spacing;l.mixins={gutters:(v={})=>({paddingLeft:p(2),paddingRight:p(2),...v,[c.up("sm")]:{paddingLeft:p(3),paddingRight:p(3),...v[c.up("sm")]}}),...o};const{type:u,mode:m,...g}=n,b=m||u||"light";return l.palette={text:{hint:b==="dark"?"rgba(255, 255, 255, 0.5)":"rgba(0, 0, 0, 0.38)"},mode:b,type:b,...g},l}function yS(t,...e){return si(Sr({unstable_strictMode:!0},t),...e)}let Us=!1;function xS(t){return Us||(console.warn(["MUI: createStyles from @mui/material/styles is deprecated.","Please use @mui/styles/createStyles"].join(` +`)),Us=!0),t}function Hs(t){return String(parseFloat(t)).length===String(t).length}function xi(t){return String(t).match(/[\d.\-+]*\s*(.*)/)[1]||""}function go(t){return parseFloat(t)}function kc(t){return(e,o)=>{const r=xi(e);if(r===o)return e;let n=go(e);r!=="px"&&(r==="em"||r==="rem")&&(n=go(e)*go(t));let s=n;if(o!=="px")if(o==="em")s=n/go(t);else if(o==="rem")s=n/go(t);else return e;return parseFloat(s.toFixed(5))+o}}function Ic({size:t,grid:e}){const o=t-t%e,r=o+e;return t-o{let c=e+i*l;s!==null&&(c=s(c)),a[`@media (min-width:${l}px)`]={[t]:`${Math.round(c*1e4)/1e4}${r}`}}),a}function CS(t,e={}){const{breakpoints:o=["sm","md","lg"],disableAlign:r=!1,factor:n=2,variants:s=["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","button","overline"]}=e,a={...t};a.typography={...a.typography};const i=a.typography,l=kc(i.htmlFontSize),c=o.map(p=>a.breakpoints.values[p]);return s.forEach(p=>{const u=i[p];if(!u)return;const m=parseFloat(l(u.fontSize,"rem"));if(m<=1)return;const g=m,b=1+(g-1)/n;let{lineHeight:v}=u;if(!Hs(v)&&!r)throw new Error(Eo(6));Hs(v)||(v=parseFloat(l(v,"rem"))/parseFloat(m));let h=null;r||(h=y=>Ic({size:y,grid:Tc({pixels:4,lineHeight:v,htmlFontSize:i.htmlFontSize})})),i[p]={...u,...Mc({cssProperty:"fontSize",min:b,max:g,unit:"rem",breakpoints:c,transform:h})}}),a}function SS({props:t,name:e}){return un({props:t,name:e,defaultTheme:ai,themeId:pn})}function wS(){throw new Error(Eo(14))}function RS(){throw new Error(Eo(15))}function PS(){throw new Error(Eo(16))}let Vs=!1;function $S(...t){return Vs||(console.warn(["MUI: The `experimental_extendTheme` has been stabilized.","","You should use `import { extendTheme } from '@mui/material/styles'`"].join(` +`)),Vs=!0),Il(...t)}function kS(){throw new Error(Eo(19))}const Lc={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"},Ac={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"},Bc={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"},Ec={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"},Oc={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"},Nc={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"},zc={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"},jc={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"},Dc={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"},Fc={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037"},Wc={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64"},IS=Object.freeze(Object.defineProperty({__proto__:null,amber:jc,blue:Tl,blueGrey:Wc,brown:Fc,common:Ml,cyan:Ec,deepOrange:Dc,deepPurple:Ac,green:Ll,grey:Al,indigo:Bc,lightBlue:Bl,lightGreen:Nc,lime:zc,orange:El,pink:Lc,purple:Ol,red:Nl,teal:Oc,yellow:Wl},Symbol.toStringTag,{value:"Module"}));function Uc(t){return f.jsx(Ul,{...t,defaultTheme:ai,themeId:pn})}function ms(t){return function(o){return f.jsx(Uc,{styles:typeof t=="function"?r=>t({theme:r,...o}):t})}}function Hc(){return Rr}function Vo(t,e){if(!t)return e;if(typeof t=="function"||typeof e=="function")return n=>{const s=typeof e=="function"?e(n):e,a=typeof t=="function"?t({...n,...s}):t,i=j(n==null?void 0:n.className,s==null?void 0:s.className,a==null?void 0:a.className);return{...s,...a,...!!i&&{className:i},...(s==null?void 0:s.style)&&(a==null?void 0:a.style)&&{style:{...s.style,...a.style}},...(s==null?void 0:s.sx)&&(a==null?void 0:a.sx)&&{sx:[...Array.isArray(s.sx)?s.sx:[s.sx],...Array.isArray(a.sx)?a.sx:[a.sx]]}}};const o=e,r=j(o==null?void 0:o.className,t==null?void 0:t.className);return{...e,...t,...!!r&&{className:r},...(o==null?void 0:o.style)&&(t==null?void 0:t.style)&&{style:{...o.style,...t.style}},...(o==null?void 0:o.sx)&&(t==null?void 0:t.sx)&&{sx:[...Array.isArray(o.sx)?o.sx:[o.sx],...Array.isArray(t.sx)?t.sx:[t.sx]]}}}const TS={configure:t=>{ii.configure(t)}},Gs={disabled:!1},on=ro.createContext(null);var Vc=function(e){return e.scrollTop},lr="unmounted",Co="exited",So="entering",Do="entered",Kn="exiting",Le=function(t){li(e,t);function e(r,n){var s;s=t.call(this,r,n)||this;var a=n,i=a&&!a.isMounting?r.enter:r.appear,l;return s.appearStatus=null,r.in?i?(l=Co,s.appearStatus=So):l=Do:r.unmountOnExit||r.mountOnEnter?l=lr:l=Co,s.state={status:l},s.nextCallback=null,s}e.getDerivedStateFromProps=function(n,s){var a=n.in;return a&&s.status===lr?{status:Co}:null};var o=e.prototype;return o.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},o.componentDidUpdate=function(n){var s=null;if(n!==this.props){var a=this.state.status;this.props.in?a!==So&&a!==Do&&(s=So):(a===So||a===Do)&&(s=Kn)}this.updateStatus(!1,s)},o.componentWillUnmount=function(){this.cancelNextCallback()},o.getTimeouts=function(){var n=this.props.timeout,s,a,i;return s=a=i=n,n!=null&&typeof n!="number"&&(s=n.exit,a=n.enter,i=n.appear!==void 0?n.appear:a),{exit:s,enter:a,appear:i}},o.updateStatus=function(n,s){if(n===void 0&&(n=!1),s!==null)if(this.cancelNextCallback(),s===So){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:Br.findDOMNode(this);a&&Vc(a)}this.performEnter(n)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Co&&this.setState({status:lr})},o.performEnter=function(n){var s=this,a=this.props.enter,i=this.context?this.context.isMounting:n,l=this.props.nodeRef?[i]:[Br.findDOMNode(this),i],c=l[0],p=l[1],u=this.getTimeouts(),m=i?u.appear:u.enter;if(!n&&!a||Gs.disabled){this.safeSetState({status:Do},function(){s.props.onEntered(c)});return}this.props.onEnter(c,p),this.safeSetState({status:So},function(){s.props.onEntering(c,p),s.onTransitionEnd(m,function(){s.safeSetState({status:Do},function(){s.props.onEntered(c,p)})})})},o.performExit=function(){var n=this,s=this.props.exit,a=this.getTimeouts(),i=this.props.nodeRef?void 0:Br.findDOMNode(this);if(!s||Gs.disabled){this.safeSetState({status:Co},function(){n.props.onExited(i)});return}this.props.onExit(i),this.safeSetState({status:Kn},function(){n.props.onExiting(i),n.onTransitionEnd(a.exit,function(){n.safeSetState({status:Co},function(){n.props.onExited(i)})})})},o.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},o.safeSetState=function(n,s){s=this.setNextCallback(s),this.setState(n,s)},o.setNextCallback=function(n){var s=this,a=!0;return this.nextCallback=function(i){a&&(a=!1,s.nextCallback=null,n(i))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},o.onTransitionEnd=function(n,s){this.setNextCallback(s);var a=this.props.nodeRef?this.props.nodeRef.current:Br.findDOMNode(this),i=n==null&&!this.props.addEndListener;if(!a||i){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],c=l[0],p=l[1];this.props.addEndListener(c,p)}n!=null&&setTimeout(this.nextCallback,n)},o.render=function(){var n=this.state.status;if(n===lr)return null;var s=this.props,a=s.children;s.in,s.mountOnEnter,s.unmountOnExit,s.appear,s.enter,s.exit,s.timeout,s.addEndListener,s.onEnter,s.onEntering,s.onEntered,s.onExit,s.onExiting,s.onExited,s.nodeRef;var i=ci(s,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return ro.createElement(on.Provider,{value:null},typeof a=="function"?a(n,i):ro.cloneElement(ro.Children.only(a),i))},e}(ro.Component);Le.contextType=on;Le.propTypes={};function zo(){}Le.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:zo,onEntering:zo,onEntered:zo,onExit:zo,onExiting:zo,onExited:zo};Le.UNMOUNTED=lr;Le.EXITED=Co;Le.ENTERING=So;Le.ENTERED=Do;Le.EXITING=Kn;function Gc(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function bs(t,e){var o=function(s){return e&&d.isValidElement(s)?e(s):s},r=Object.create(null);return t&&d.Children.map(t,function(n){return n}).forEach(function(n){r[n.key]=o(n)}),r}function Kc(t,e){t=t||{},e=e||{};function o(p){return p in e?e[p]:t[p]}var r=Object.create(null),n=[];for(var s in t)s in e?n.length&&(r[s]=n,n=[]):n.push(s);var a,i={};for(var l in e){if(r[l])for(a=0;at.scrollTop;function Ge(t,e){const{timeout:o,easing:r,style:n={}}=t;return{duration:n.transitionDuration??(typeof o=="number"?o:o[e.mode]||0),easing:n.transitionTimingFunction??(typeof r=="object"?r[e.mode]:r),delay:n.transitionDelay}}function Zc(t){return V("MuiCollapse",t)}const MS=K("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]),Qc=t=>{const{orientation:e,classes:o}=t,r={root:["root",`${e}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${e}`],wrapperInner:["wrapperInner",`${e}`]};return G(r,Zc,o)},Jc=k("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.state==="entered"&&e.entered,o.state==="exited"&&!o.in&&o.collapsedSize==="0px"&&e.hidden]}})(W(({theme:t})=>({height:0,overflow:"hidden",transition:t.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:t.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:e})=>e.state==="exited"&&!e.in&&e.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),tp=k("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(t,e)=>e.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),ep=k("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(t,e)=>e.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),vr=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCollapse"}),{addEndListener:n,children:s,className:a,collapsedSize:i="0px",component:l,easing:c,in:p,onEnter:u,onEntered:m,onEntering:g,onExit:b,onExited:v,onExiting:h,orientation:y="vertical",style:S,timeout:C=jl.standard,TransitionComponent:x=Le,...w}=r,P={...r,orientation:y,collapsedSize:i},$=Qc(P),I=le(),A=no(),T=d.useRef(null),z=d.useRef(),E=typeof i=="number"?`${i}px`:i,R=y==="horizontal",M=R?"width":"height",O=d.useRef(null),L=qt(o,O),F=rt=>Y=>{if(rt){const at=O.current;Y===void 0?rt(at):rt(at,Y)}},D=()=>T.current?T.current[R?"clientWidth":"clientHeight"]:0,N=F((rt,Y)=>{T.current&&R&&(T.current.style.position="absolute"),rt.style[M]=E,u&&u(rt,Y)}),J=F((rt,Y)=>{const at=D();T.current&&R&&(T.current.style.position="");const{duration:ct,easing:st}=Ge({style:S,timeout:C,easing:c},{mode:"enter"});if(C==="auto"){const ft=I.transitions.getAutoHeightDuration(at);rt.style.transitionDuration=`${ft}ms`,z.current=ft}else rt.style.transitionDuration=typeof ct=="string"?ct:`${ct}ms`;rt.style[M]=`${at}px`,rt.style.transitionTimingFunction=st,g&&g(rt,Y)}),U=F((rt,Y)=>{rt.style[M]="auto",m&&m(rt,Y)}),wt=F(rt=>{rt.style[M]=`${D()}px`,b&&b(rt)}),vt=F(v),mt=F(rt=>{const Y=D(),{duration:at,easing:ct}=Ge({style:S,timeout:C,easing:c},{mode:"exit"});if(C==="auto"){const st=I.transitions.getAutoHeightDuration(Y);rt.style.transitionDuration=`${st}ms`,z.current=st}else rt.style.transitionDuration=typeof at=="string"?at:`${at}ms`;rt.style[M]=E,rt.style.transitionTimingFunction=ct,h&&h(rt)}),et=rt=>{C==="auto"&&A.start(z.current||0,rt),n&&n(O.current,rt)};return f.jsx(x,{in:p,onEnter:N,onEntered:U,onEntering:J,onExit:wt,onExited:vt,onExiting:mt,addEndListener:et,nodeRef:O,timeout:C==="auto"?null:C,...w,children:(rt,{ownerState:Y,...at})=>f.jsx(Jc,{as:l,className:j($.root,a,{entered:$.entered,exited:!p&&E==="0px"&&$.hidden}[rt]),style:{[R?"minWidth":"minHeight"]:E,...S},ref:L,ownerState:{...P,state:rt},...at,children:f.jsx(tp,{ownerState:{...P,state:rt},className:$.wrapper,ref:T,children:f.jsx(ep,{ownerState:{...P,state:rt},className:$.wrapperInner,children:s})})})})});vr&&(vr.muiSupportAuto=!0);function op(t){return V("MuiPaper",t)}const LS=K("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"]),rp=t=>{const{square:e,elevation:o,variant:r,classes:n}=t,s={root:["root",r,!e&&"rounded",r==="elevation"&&`elevation${o}`]};return G(s,op,n)},np=k("div",{name:"MuiPaper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],!o.square&&e.rounded,o.variant==="elevation"&&e[`elevation${o.elevation}`]]}})(W(({theme:t})=>({backgroundColor:(t.vars||t).palette.background.paper,color:(t.vars||t).palette.text.primary,transition:t.transitions.create("box-shadow"),variants:[{props:({ownerState:e})=>!e.square,style:{borderRadius:t.shape.borderRadius}},{props:{variant:"outlined"},style:{border:`1px solid ${(t.vars||t).palette.divider}`}},{props:{variant:"elevation"},style:{boxShadow:"var(--Paper-shadow)",backgroundImage:"var(--Paper-overlay)"}}]}))),Ue=d.forwardRef(function(e,o){var g;const r=_({props:e,name:"MuiPaper"}),n=le(),{className:s,component:a="div",elevation:i=1,square:l=!1,variant:c="elevation",...p}=r,u={...r,component:a,elevation:i,square:l,variant:c},m=rp(u);return f.jsx(np,{as:a,ownerState:u,className:j(m.root,s),ref:o,...p,style:{...c==="elevation"&&{"--Paper-shadow":(n.vars||n).shadows[i],...n.vars&&{"--Paper-overlay":(g=n.vars.overlays)==null?void 0:g[i]},...!n.vars&&n.palette.mode==="dark"&&{"--Paper-overlay":`linear-gradient(${kt("#fff",Ns(i))}, ${kt("#fff",Ns(i))})`}},...p.style}})}),Ci=d.createContext({});function Q(t,e){const{className:o,elementType:r,ownerState:n,externalForwardedProps:s,internalForwardedProps:a,shouldForwardComponentProp:i=!1,...l}=e,{component:c,slots:p={[t]:void 0},slotProps:u={[t]:void 0},...m}=s,g=p[t]||r,b=yi(u[t],n),{props:{component:v,...h},internalRef:y}=hi({className:o,...l,externalForwardedProps:t==="root"?m:void 0,externalSlotProps:b}),S=qt(y,b==null?void 0:b.ref,e.ref),C=t==="root"?v||c:v,x=vi(g,{...t==="root"&&!c&&!p[t]&&a,...t!=="root"&&!p[t]&&a,...h,...C&&!i&&{as:C},...C&&i&&{component:C},ref:S},n);return[g,x]}function sp(t){return V("MuiAccordion",t)}const Er=K("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),ap=t=>{const{classes:e,square:o,expanded:r,disabled:n,disableGutters:s}=t;return G({root:["root",!o&&"rounded",r&&"expanded",n&&"disabled",!s&&"gutters"],heading:["heading"],region:["region"]},sp,e)},ip=k(Ue,{name:"MuiAccordion",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Er.region}`]:e.region},e.root,!o.square&&e.rounded,!o.disableGutters&&e.gutters]}})(W(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{position:"relative",transition:t.transitions.create(["margin"],e),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(t.vars||t).palette.divider,transition:t.transitions.create(["opacity","background-color"],e)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${Er.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${Er.disabled}`]:{backgroundColor:(t.vars||t).palette.action.disabledBackground}}}),W(({theme:t})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${Er.expanded}`]:{margin:"16px 0"}}}]}))),lp=k("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(t,e)=>e.heading})({all:"unset"}),AS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAccordion"}),{children:n,className:s,defaultExpanded:a=!1,disabled:i=!1,disableGutters:l=!1,expanded:c,onChange:p,square:u=!1,slots:m={},slotProps:g={},TransitionComponent:b,TransitionProps:v,...h}=r,[y,S]=Te({controlled:c,default:a,name:"Accordion",state:"expanded"}),C=d.useCallback(D=>{S(!y),p&&p(D,!y)},[y,p,S]),[x,...w]=d.Children.toArray(n),P=d.useMemo(()=>({expanded:y,disabled:i,disableGutters:l,toggle:C}),[y,i,l,C]),$={...r,square:u,disabled:i,disableGutters:l,expanded:y},I=ap($),A={transition:b,...m},T={transition:v,...g},z={slots:A,slotProps:T},[E,R]=Q("root",{elementType:ip,externalForwardedProps:{...z,...h},className:j(I.root,s),shouldForwardComponentProp:!0,ownerState:$,ref:o,additionalProps:{square:u}}),[M,O]=Q("heading",{elementType:lp,externalForwardedProps:z,className:I.heading,ownerState:$}),[L,F]=Q("transition",{elementType:vr,externalForwardedProps:z,ownerState:$});return f.jsxs(E,{...R,children:[f.jsx(M,{...O,children:f.jsx(Ci.Provider,{value:P,children:x})}),f.jsx(L,{in:y,timeout:"auto",...F,children:f.jsx("div",{"aria-labelledby":x.props.id,id:x.props["aria-controls"],role:"region",className:I.region,children:w})})]})});function cp(t){return V("MuiAccordionActions",t)}const BS=K("MuiAccordionActions",["root","spacing"]),pp=t=>{const{classes:e,disableSpacing:o}=t;return G({root:["root",!o&&"spacing"]},cp,e)},dp=k("div",{name:"MuiAccordionActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",variants:[{props:t=>!t.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),ES=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAccordionActions"}),{className:n,disableSpacing:s=!1,...a}=r,i={...r,disableSpacing:s},l=pp(i);return f.jsx(dp,{className:j(l.root,n),ref:o,ownerState:i,...a})});function up(t){return V("MuiAccordionDetails",t)}const OS=K("MuiAccordionDetails",["root"]),fp=t=>{const{classes:e}=t;return G({root:["root"]},up,e)},gp=k("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({padding:t.spacing(1,2,2)}))),NS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAccordionDetails"}),{className:n,...s}=r,a=r,i=fp(a);return f.jsx(gp,{className:j(i.root,n),ref:o,ownerState:a,...s})});class rn{static create(){return new rn}static use(){const e=fi(rn.create).current,[o,r]=d.useState(!1);return e.shouldMount=o,e.setShouldMount=r,d.useEffect(e.mountEffect,[o]),e}constructor(){this.ref={current:null},this.mounted=null,this.didMount=!1,this.shouldMount=!1,this.setShouldMount=null}mount(){return this.mounted||(this.mounted=bp(),this.shouldMount=!0,this.setShouldMount(this.shouldMount)),this.mounted}mountEffect=()=>{this.shouldMount&&!this.didMount&&this.ref.current!==null&&(this.didMount=!0,this.mounted.resolve())};start(...e){this.mount().then(()=>{var o;return(o=this.ref.current)==null?void 0:o.start(...e)})}stop(...e){this.mount().then(()=>{var o;return(o=this.ref.current)==null?void 0:o.stop(...e)})}pulsate(...e){this.mount().then(()=>{var o;return(o=this.ref.current)==null?void 0:o.pulsate(...e)})}}function mp(){return rn.use()}function bp(){let t,e;const o=new Promise((r,n)=>{t=r,e=n});return o.resolve=t,o.reject=e,o}function vp(t){const{className:e,classes:o,pulsate:r=!1,rippleX:n,rippleY:s,rippleSize:a,in:i,onExited:l,timeout:c}=t,[p,u]=d.useState(!1),m=j(e,o.ripple,o.rippleVisible,r&&o.ripplePulsate),g={width:a,height:a,top:-(a/2)+s,left:-(a/2)+n},b=j(o.child,p&&o.childLeaving,r&&o.childPulsate);return!i&&!p&&u(!0),d.useEffect(()=>{if(!i&&l!=null){const v=setTimeout(l,c);return()=>{clearTimeout(v)}}},[l,i,c]),f.jsx("span",{className:m,style:g,children:f.jsx("span",{className:b})})}function zS(t){return V("MuiTouchRipple",t)}const Oe=K("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),qn=550,hp=80,yp=Je` 0% { transform: scale(0); opacity: 0.1; @@ -11,7 +11,7 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a transform: scale(1); opacity: 0.3; } -`,Cp=Je` +`,xp=Je` 0% { opacity: 1; } @@ -19,7 +19,7 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a 100% { opacity: 0; } -`,Sp=Je` +`,Cp=Je` 0% { transform: scale(1); } @@ -31,15 +31,15 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a 100% { transform: scale(1); } -`,wp=k("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),Rp=k(hp,{name:"MuiTouchRipple",slot:"Ripple"})` +`,Sp=k("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),wp=k(vp,{name:"MuiTouchRipple",slot:"Ripple"})` opacity: 0; position: absolute; &.${Oe.rippleVisible} { opacity: 0.3; transform: scale(1); - animation-name: ${xp}; - animation-duration: ${Xn}ms; + animation-name: ${yp}; + animation-duration: ${qn}ms; animation-timing-function: ${({theme:t})=>t.transitions.easing.easeInOut}; } @@ -58,8 +58,8 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a & .${Oe.childLeaving} { opacity: 0; - animation-name: ${Cp}; - animation-duration: ${Xn}ms; + animation-name: ${xp}; + animation-duration: ${qn}ms; animation-timing-function: ${({theme:t})=>t.transitions.easing.easeInOut}; } @@ -68,13 +68,13 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a /* @noflip */ left: 0px; top: 0; - animation-name: ${Sp}; + animation-name: ${Cp}; animation-duration: 2500ms; animation-timing-function: ${({theme:t})=>t.transitions.easing.easeInOut}; animation-iteration-count: infinite; animation-delay: 200ms; } -`,Pp=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTouchRipple"}),{center:n=!1,classes:s={},className:a,...i}=r,[l,c]=d.useState([]),p=d.useRef(0),u=d.useRef(null);d.useEffect(()=>{u.current&&(u.current(),u.current=null)},[l]);const m=d.useRef(!1),g=no(),b=d.useRef(null),v=d.useRef(null),h=d.useCallback(x=>{const{pulsate:w,rippleX:P,rippleY:$,rippleSize:I,cb:A}=x;c(T=>[...T,f.jsx(Rp,{classes:{ripple:j(s.ripple,Oe.ripple),rippleVisible:j(s.rippleVisible,Oe.rippleVisible),ripplePulsate:j(s.ripplePulsate,Oe.ripplePulsate),child:j(s.child,Oe.child),childLeaving:j(s.childLeaving,Oe.childLeaving),childPulsate:j(s.childPulsate,Oe.childPulsate)},timeout:Xn,pulsate:w,rippleX:P,rippleY:$,rippleSize:I},p.current)]),p.current+=1,u.current=A},[s]),y=d.useCallback((x={},w={},P=()=>{})=>{const{pulsate:$=!1,center:I=n||w.pulsate,fakeElement:A=!1}=w;if((x==null?void 0:x.type)==="mousedown"&&m.current){m.current=!1;return}(x==null?void 0:x.type)==="touchstart"&&(m.current=!0);const T=A?null:v.current,z=T?T.getBoundingClientRect():{width:0,height:0,left:0,top:0};let E,R,M;if(I||x===void 0||x.clientX===0&&x.clientY===0||!x.clientX&&!x.touches)E=Math.round(z.width/2),R=Math.round(z.height/2);else{const{clientX:O,clientY:L}=x.touches&&x.touches.length>0?x.touches[0]:x;E=Math.round(O-z.left),R=Math.round(L-z.top)}if(I)M=Math.sqrt((2*z.width**2+z.height**2)/3),M%2===0&&(M+=1);else{const O=Math.max(Math.abs((T?T.clientWidth:0)-E),E)*2+2,L=Math.max(Math.abs((T?T.clientHeight:0)-R),R)*2+2;M=Math.sqrt(O**2+L**2)}x!=null&&x.touches?b.current===null&&(b.current=()=>{h({pulsate:$,rippleX:E,rippleY:R,rippleSize:M,cb:P})},g.start(yp,()=>{b.current&&(b.current(),b.current=null)})):h({pulsate:$,rippleX:E,rippleY:R,rippleSize:M,cb:P})},[n,h,g]),S=d.useCallback(()=>{y({},{pulsate:!0})},[y]),C=d.useCallback((x,w)=>{if(g.clear(),(x==null?void 0:x.type)==="touchend"&&b.current){b.current(),b.current=null,g.start(0,()=>{C(x,w)});return}b.current=null,c(P=>P.length>0?P.slice(1):P),u.current=w},[g]);return d.useImperativeHandle(o,()=>({pulsate:S,start:y,stop:C}),[S,y,C]),f.jsx(wp,{className:j(Oe.root,s.root,a),ref:v,...i,children:f.jsx(hs,{component:null,exit:!0,children:l})})});function $p(t){return V("MuiButtonBase",t)}const kp=K("MuiButtonBase",["root","disabled","focusVisible"]),Ip=t=>{const{disabled:e,focusVisible:o,focusVisibleClassName:r,classes:n}=t,a=G({root:["root",e&&"disabled",o&&"focusVisible"]},$p,n);return o&&r&&(a.root+=` ${r}`),a},Tp=k("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(t,e)=>e.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"},[`&.${kp.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),ue=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiButtonBase"}),{action:n,centerRipple:s=!1,children:a,className:i,component:l="button",disabled:c=!1,disableRipple:p=!1,disableTouchRipple:u=!1,focusRipple:m=!1,focusVisibleClassName:g,LinkComponent:b="a",onBlur:v,onClick:h,onContextMenu:y,onDragLeave:S,onFocus:C,onFocusVisible:x,onKeyDown:w,onKeyUp:P,onMouseDown:$,onMouseLeave:I,onMouseUp:A,onTouchEnd:T,onTouchMove:z,onTouchStart:E,tabIndex:R=0,TouchRippleProps:M,touchRippleRef:O,type:L,...F}=r,D=d.useRef(null),N=bp(),J=qt(N.ref,O),[U,wt]=d.useState(!1);c&&U&&wt(!1),d.useImperativeHandle(n,()=>({focusVisible:()=>{wt(!0),D.current.focus()}}),[]);const vt=N.shouldMount&&!p&&!c;d.useEffect(()=>{U&&m&&!p&&N.pulsate()},[p,m,U,N]);const mt=eo(N,"start",$,u),et=eo(N,"stop",y,u),rt=eo(N,"stop",S,u),Y=eo(N,"stop",A,u),at=eo(N,"stop",nt=>{U&&nt.preventDefault(),I&&I(nt)},u),ct=eo(N,"start",E,u),st=eo(N,"stop",T,u),ft=eo(N,"stop",z,u),Z=eo(N,"stop",nt=>{Ze(nt.target)||wt(!1),v&&v(nt)},!1),pt=ee(nt=>{D.current||(D.current=nt.currentTarget),Ze(nt.target)&&(wt(!0),x&&x(nt)),C&&C(nt)}),it=()=>{const nt=D.current;return l&&l!=="button"&&!(nt.tagName==="A"&&nt.href)},ht=ee(nt=>{m&&!nt.repeat&&U&&nt.key===" "&&N.stop(nt,()=>{N.start(nt)}),nt.target===nt.currentTarget&&it()&&nt.key===" "&&nt.preventDefault(),w&&w(nt),nt.target===nt.currentTarget&&it()&&nt.key==="Enter"&&!c&&(nt.preventDefault(),h&&h(nt))}),Mt=ee(nt=>{m&&nt.key===" "&&U&&!nt.defaultPrevented&&N.stop(nt,()=>{N.pulsate(nt)}),P&&P(nt),h&&nt.target===nt.currentTarget&&it()&&nt.key===" "&&!nt.defaultPrevented&&h(nt)});let tt=l;tt==="button"&&(F.href||F.to)&&(tt=b);const ot={};tt==="button"?(ot.type=L===void 0?"button":L,ot.disabled=c):(!F.href&&!F.to&&(ot.role="button"),c&&(ot["aria-disabled"]=c));const dt=qt(o,D),St={...r,centerRipple:s,component:l,disabled:c,disableRipple:p,disableTouchRipple:u,focusRipple:m,tabIndex:R,focusVisible:U},gt=Ip(St);return f.jsxs(Tp,{as:tt,className:j(gt.root,i),ownerState:St,onBlur:Z,onClick:h,onContextMenu:et,onFocus:pt,onKeyDown:ht,onKeyUp:Mt,onMouseDown:mt,onMouseLeave:at,onMouseUp:Y,onDragLeave:rt,onTouchEnd:st,onTouchMove:ft,onTouchStart:ct,ref:dt,tabIndex:c?-1:R,type:L,...ot,...F,children:[a,vt?f.jsx(Pp,{ref:J,center:s,...M}):null]})});function eo(t,e,o,r=!1){return ee(n=>(o&&o(n),r||t[e](n),!0))}function Mp(t){return V("MuiAccordionSummary",t)}const Uo=K("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),Lp=t=>{const{classes:e,expanded:o,disabled:r,disableGutters:n}=t;return G({root:["root",o&&"expanded",r&&"disabled",!n&&"gutters"],focusVisible:["focusVisible"],content:["content",o&&"expanded",!n&&"contentGutters"],expandIconWrapper:["expandIconWrapper",o&&"expanded"]},Mp,e)},Ap=k(ue,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{display:"flex",width:"100%",minHeight:48,padding:t.spacing(0,2),transition:t.transitions.create(["min-height","background-color"],e),[`&.${Uo.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${Uo.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},[`&:hover:not(.${Uo.disabled})`]:{cursor:"pointer"},variants:[{props:o=>!o.disableGutters,style:{[`&.${Uo.expanded}`]:{minHeight:64}}}]}})),Bp=k("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(t,e)=>e.content})(W(({theme:t})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest}),[`&.${Uo.expanded}`]:{margin:"20px 0"}}}]}))),Ep=k("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(t,e)=>e.expandIconWrapper})(W(({theme:t})=>({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),[`&.${Uo.expanded}`]:{transform:"rotate(180deg)"}}))),jS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAccordionSummary"}),{children:n,className:s,expandIcon:a,focusVisibleClassName:i,onClick:l,slots:c,slotProps:p,...u}=r,{disabled:m=!1,disableGutters:g,expanded:b,toggle:v}=d.useContext(Si),h=T=>{v&&v(T),l&&l(T)},y={...r,expanded:b,disabled:m,disableGutters:g},S=Lp(y),C={slots:c,slotProps:p},[x,w]=Q("root",{ref:o,shouldForwardComponentProp:!0,className:j(S.root,s),elementType:Ap,externalForwardedProps:{...C,...u},ownerState:y,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:m,"aria-expanded":b,focusVisibleClassName:j(S.focusVisible,i)},getSlotProps:T=>({...T,onClick:z=>{var E;(E=T.onClick)==null||E.call(T,z),h(z)}})}),[P,$]=Q("content",{className:S.content,elementType:Bp,externalForwardedProps:C,ownerState:y}),[I,A]=Q("expandIconWrapper",{className:S.expandIconWrapper,elementType:Ep,externalForwardedProps:C,ownerState:y});return f.jsxs(x,{...w,children:[f.jsx(P,{...$,children:n}),a&&f.jsx(I,{...A,children:a})]})});function Op(t){return typeof t.main=="string"}function Np(t,e=[]){if(!Op(t))return!1;for(const o of e)if(!t.hasOwnProperty(o)||typeof t[o]!="string")return!1;return!0}function jt(t=[]){return([,e])=>e&&Np(e,t)}function zp(t){return V("MuiAlert",t)}const qs=K("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);function jp(t){return V("MuiCircularProgress",t)}const DS=K("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]),uo=44,_n=Je` +`,Rp=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTouchRipple"}),{center:n=!1,classes:s={},className:a,...i}=r,[l,c]=d.useState([]),p=d.useRef(0),u=d.useRef(null);d.useEffect(()=>{u.current&&(u.current(),u.current=null)},[l]);const m=d.useRef(!1),g=no(),b=d.useRef(null),v=d.useRef(null),h=d.useCallback(x=>{const{pulsate:w,rippleX:P,rippleY:$,rippleSize:I,cb:A}=x;c(T=>[...T,f.jsx(wp,{classes:{ripple:j(s.ripple,Oe.ripple),rippleVisible:j(s.rippleVisible,Oe.rippleVisible),ripplePulsate:j(s.ripplePulsate,Oe.ripplePulsate),child:j(s.child,Oe.child),childLeaving:j(s.childLeaving,Oe.childLeaving),childPulsate:j(s.childPulsate,Oe.childPulsate)},timeout:qn,pulsate:w,rippleX:P,rippleY:$,rippleSize:I},p.current)]),p.current+=1,u.current=A},[s]),y=d.useCallback((x={},w={},P=()=>{})=>{const{pulsate:$=!1,center:I=n||w.pulsate,fakeElement:A=!1}=w;if((x==null?void 0:x.type)==="mousedown"&&m.current){m.current=!1;return}(x==null?void 0:x.type)==="touchstart"&&(m.current=!0);const T=A?null:v.current,z=T?T.getBoundingClientRect():{width:0,height:0,left:0,top:0};let E,R,M;if(I||x===void 0||x.clientX===0&&x.clientY===0||!x.clientX&&!x.touches)E=Math.round(z.width/2),R=Math.round(z.height/2);else{const{clientX:O,clientY:L}=x.touches&&x.touches.length>0?x.touches[0]:x;E=Math.round(O-z.left),R=Math.round(L-z.top)}if(I)M=Math.sqrt((2*z.width**2+z.height**2)/3),M%2===0&&(M+=1);else{const O=Math.max(Math.abs((T?T.clientWidth:0)-E),E)*2+2,L=Math.max(Math.abs((T?T.clientHeight:0)-R),R)*2+2;M=Math.sqrt(O**2+L**2)}x!=null&&x.touches?b.current===null&&(b.current=()=>{h({pulsate:$,rippleX:E,rippleY:R,rippleSize:M,cb:P})},g.start(hp,()=>{b.current&&(b.current(),b.current=null)})):h({pulsate:$,rippleX:E,rippleY:R,rippleSize:M,cb:P})},[n,h,g]),S=d.useCallback(()=>{y({},{pulsate:!0})},[y]),C=d.useCallback((x,w)=>{if(g.clear(),(x==null?void 0:x.type)==="touchend"&&b.current){b.current(),b.current=null,g.start(0,()=>{C(x,w)});return}b.current=null,c(P=>P.length>0?P.slice(1):P),u.current=w},[g]);return d.useImperativeHandle(o,()=>({pulsate:S,start:y,stop:C}),[S,y,C]),f.jsx(Sp,{className:j(Oe.root,s.root,a),ref:v,...i,children:f.jsx(vs,{component:null,exit:!0,children:l})})});function Pp(t){return V("MuiButtonBase",t)}const $p=K("MuiButtonBase",["root","disabled","focusVisible"]),kp=t=>{const{disabled:e,focusVisible:o,focusVisibleClassName:r,classes:n}=t,a=G({root:["root",e&&"disabled",o&&"focusVisible"]},Pp,n);return o&&r&&(a.root+=` ${r}`),a},Ip=k("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(t,e)=>e.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"},[`&.${$p.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),ue=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiButtonBase"}),{action:n,centerRipple:s=!1,children:a,className:i,component:l="button",disabled:c=!1,disableRipple:p=!1,disableTouchRipple:u=!1,focusRipple:m=!1,focusVisibleClassName:g,LinkComponent:b="a",onBlur:v,onClick:h,onContextMenu:y,onDragLeave:S,onFocus:C,onFocusVisible:x,onKeyDown:w,onKeyUp:P,onMouseDown:$,onMouseLeave:I,onMouseUp:A,onTouchEnd:T,onTouchMove:z,onTouchStart:E,tabIndex:R=0,TouchRippleProps:M,touchRippleRef:O,type:L,...F}=r,D=d.useRef(null),N=mp(),J=qt(N.ref,O),[U,wt]=d.useState(!1);c&&U&&wt(!1),d.useImperativeHandle(n,()=>({focusVisible:()=>{wt(!0),D.current.focus()}}),[]);const vt=N.shouldMount&&!p&&!c;d.useEffect(()=>{U&&m&&!p&&N.pulsate()},[p,m,U,N]);const mt=eo(N,"start",$,u),et=eo(N,"stop",y,u),rt=eo(N,"stop",S,u),Y=eo(N,"stop",A,u),at=eo(N,"stop",nt=>{U&&nt.preventDefault(),I&&I(nt)},u),ct=eo(N,"start",E,u),st=eo(N,"stop",T,u),ft=eo(N,"stop",z,u),Z=eo(N,"stop",nt=>{Ze(nt.target)||wt(!1),v&&v(nt)},!1),pt=ee(nt=>{D.current||(D.current=nt.currentTarget),Ze(nt.target)&&(wt(!0),x&&x(nt)),C&&C(nt)}),it=()=>{const nt=D.current;return l&&l!=="button"&&!(nt.tagName==="A"&&nt.href)},ht=ee(nt=>{m&&!nt.repeat&&U&&nt.key===" "&&N.stop(nt,()=>{N.start(nt)}),nt.target===nt.currentTarget&&it()&&nt.key===" "&&nt.preventDefault(),w&&w(nt),nt.target===nt.currentTarget&&it()&&nt.key==="Enter"&&!c&&(nt.preventDefault(),h&&h(nt))}),Mt=ee(nt=>{m&&nt.key===" "&&U&&!nt.defaultPrevented&&N.stop(nt,()=>{N.pulsate(nt)}),P&&P(nt),h&&nt.target===nt.currentTarget&&it()&&nt.key===" "&&!nt.defaultPrevented&&h(nt)});let tt=l;tt==="button"&&(F.href||F.to)&&(tt=b);const ot={};tt==="button"?(ot.type=L===void 0?"button":L,ot.disabled=c):(!F.href&&!F.to&&(ot.role="button"),c&&(ot["aria-disabled"]=c));const dt=qt(o,D),St={...r,centerRipple:s,component:l,disabled:c,disableRipple:p,disableTouchRipple:u,focusRipple:m,tabIndex:R,focusVisible:U},gt=kp(St);return f.jsxs(Ip,{as:tt,className:j(gt.root,i),ownerState:St,onBlur:Z,onClick:h,onContextMenu:et,onFocus:pt,onKeyDown:ht,onKeyUp:Mt,onMouseDown:mt,onMouseLeave:at,onMouseUp:Y,onDragLeave:rt,onTouchEnd:st,onTouchMove:ft,onTouchStart:ct,ref:dt,tabIndex:c?-1:R,type:L,...ot,...F,children:[a,vt?f.jsx(Rp,{ref:J,center:s,...M}):null]})});function eo(t,e,o,r=!1){return ee(n=>(o&&o(n),r||t[e](n),!0))}function Tp(t){return V("MuiAccordionSummary",t)}const Wo=K("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),Mp=t=>{const{classes:e,expanded:o,disabled:r,disableGutters:n}=t;return G({root:["root",o&&"expanded",r&&"disabled",!n&&"gutters"],focusVisible:["focusVisible"],content:["content",o&&"expanded",!n&&"contentGutters"],expandIconWrapper:["expandIconWrapper",o&&"expanded"]},Tp,e)},Lp=k(ue,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{display:"flex",width:"100%",minHeight:48,padding:t.spacing(0,2),transition:t.transitions.create(["min-height","background-color"],e),[`&.${Wo.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${Wo.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},[`&:hover:not(.${Wo.disabled})`]:{cursor:"pointer"},variants:[{props:o=>!o.disableGutters,style:{[`&.${Wo.expanded}`]:{minHeight:64}}}]}})),Ap=k("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(t,e)=>e.content})(W(({theme:t})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest}),[`&.${Wo.expanded}`]:{margin:"20px 0"}}}]}))),Bp=k("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(t,e)=>e.expandIconWrapper})(W(({theme:t})=>({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),[`&.${Wo.expanded}`]:{transform:"rotate(180deg)"}}))),jS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAccordionSummary"}),{children:n,className:s,expandIcon:a,focusVisibleClassName:i,onClick:l,slots:c,slotProps:p,...u}=r,{disabled:m=!1,disableGutters:g,expanded:b,toggle:v}=d.useContext(Ci),h=T=>{v&&v(T),l&&l(T)},y={...r,expanded:b,disabled:m,disableGutters:g},S=Mp(y),C={slots:c,slotProps:p},[x,w]=Q("root",{ref:o,shouldForwardComponentProp:!0,className:j(S.root,s),elementType:Lp,externalForwardedProps:{...C,...u},ownerState:y,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:m,"aria-expanded":b,focusVisibleClassName:j(S.focusVisible,i)},getSlotProps:T=>({...T,onClick:z=>{var E;(E=T.onClick)==null||E.call(T,z),h(z)}})}),[P,$]=Q("content",{className:S.content,elementType:Ap,externalForwardedProps:C,ownerState:y}),[I,A]=Q("expandIconWrapper",{className:S.expandIconWrapper,elementType:Bp,externalForwardedProps:C,ownerState:y});return f.jsxs(x,{...w,children:[f.jsx(P,{...$,children:n}),a&&f.jsx(I,{...A,children:a})]})});function Ep(t){return typeof t.main=="string"}function Op(t,e=[]){if(!Ep(t))return!1;for(const o of e)if(!t.hasOwnProperty(o)||typeof t[o]!="string")return!1;return!0}function jt(t=[]){return([,e])=>e&&Op(e,t)}function Np(t){return V("MuiAlert",t)}const Ks=K("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);function zp(t){return V("MuiCircularProgress",t)}const DS=K("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]),uo=44,Xn=Je` 0% { transform: rotate(0deg); } @@ -82,7 +82,7 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a 100% { transform: rotate(360deg); } -`,Yn=Je` +`,_n=Je` 0% { stroke-dasharray: 1px, 200px; stroke-dashoffset: 0; @@ -97,12 +97,12 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a stroke-dasharray: 1px, 200px; stroke-dashoffset: -126px; } -`,Dp=typeof _n!="string"?No` - animation: ${_n} 1.4s linear infinite; - `:null,Fp=typeof Yn!="string"?No` - animation: ${Yn} 1.4s ease-in-out infinite; - `:null,Wp=t=>{const{classes:e,variant:o,color:r,disableShrink:n}=t,s={root:["root",o,`color${B(r)}`],svg:["svg"],circle:["circle",`circle${B(o)}`,n&&"circleDisableShrink"]};return G(s,jp,e)},Up=k("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`color${B(o.color)}`]]}})(W(({theme:t})=>({display:"inline-block",variants:[{props:{variant:"determinate"},style:{transition:t.transitions.create("transform")}},{props:{variant:"indeterminate"},style:Dp||{animation:`${_n} 1.4s linear infinite`}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}}))]}))),Hp=k("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(t,e)=>e.svg})({display:"block"}),Vp=k("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.circle,e[`circle${B(o.variant)}`],o.disableShrink&&e.circleDisableShrink]}})(W(({theme:t})=>({stroke:"currentColor",variants:[{props:{variant:"determinate"},style:{transition:t.transitions.create("stroke-dashoffset")}},{props:{variant:"indeterminate"},style:{strokeDasharray:"80px, 200px",strokeDashoffset:0}},{props:({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink,style:Fp||{animation:`${Yn} 1.4s ease-in-out infinite`}}]}))),wi=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCircularProgress"}),{className:n,color:s="primary",disableShrink:a=!1,size:i=40,style:l,thickness:c=3.6,value:p=0,variant:u="indeterminate",...m}=r,g={...r,color:s,disableShrink:a,size:i,thickness:c,value:p,variant:u},b=Wp(g),v={},h={},y={};if(u==="determinate"){const S=2*Math.PI*((uo-c)/2);v.strokeDasharray=S.toFixed(3),y["aria-valuenow"]=Math.round(p),v.strokeDashoffset=`${((100-p)/100*S).toFixed(3)}px`,h.transform="rotate(-90deg)"}return f.jsx(Up,{className:j(b.root,n),style:{width:i,height:i,...h,...l},ownerState:g,ref:o,role:"progressbar",...y,...m,children:f.jsx(Hp,{className:b.svg,ownerState:g,viewBox:`${uo/2} ${uo/2} ${uo} ${uo}`,children:f.jsx(Vp,{className:b.circle,style:v,ownerState:g,cx:uo,cy:uo,r:(uo-c)/2,fill:"none",strokeWidth:c})})})});function Gp(t){return V("MuiIconButton",t)}const Xs=K("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge","loading","loadingIndicator","loadingWrapper"]),Kp=t=>{const{classes:e,disabled:o,color:r,edge:n,size:s,loading:a}=t,i={root:["root",a&&"loading",o&&"disabled",r!=="default"&&`color${B(r)}`,n&&`edge${B(n)}`,`size${B(s)}`],loadingIndicator:["loadingIndicator"],loadingWrapper:["loadingWrapper"]};return G(i,Gp,e)},qp=k(ue,{name:"MuiIconButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.loading&&e.loading,o.color!=="default"&&e[`color${B(o.color)}`],o.edge&&e[`edge${B(o.edge)}`],e[`size${B(o.size)}`]]}})(W(({theme:t})=>({textAlign:"center",flex:"0 0 auto",fontSize:t.typography.pxToRem(24),padding:8,borderRadius:"50%",color:(t.vars||t).palette.action.active,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),variants:[{props:e=>!e.disableRipple,style:{"--IconButton-hoverBg":t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.action.active,t.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}}]})),W(({theme:t})=>({variants:[{props:{color:"inherit"},style:{color:"inherit"}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}})),...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{"--IconButton-hoverBg":t.vars?`rgba(${(t.vars||t).palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt((t.vars||t).palette[e].main,t.palette.action.hoverOpacity)}})),{props:{size:"small"},style:{padding:5,fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{padding:12,fontSize:t.typography.pxToRem(28)}}],[`&.${Xs.disabled}`]:{backgroundColor:"transparent",color:(t.vars||t).palette.action.disabled},[`&.${Xs.loading}`]:{color:"transparent"}}))),Xp=k("span",{name:"MuiIconButton",slot:"LoadingIndicator",overridesResolver:(t,e)=>e.loadingIndicator})(({theme:t})=>({display:"none",position:"absolute",visibility:"visible",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:(t.vars||t).palette.action.disabled,variants:[{props:{loading:!0},style:{display:"flex"}}]})),ko=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiIconButton"}),{edge:n=!1,children:s,className:a,color:i="default",disabled:l=!1,disableFocusRipple:c=!1,size:p="medium",id:u,loading:m=null,loadingIndicator:g,...b}=r,v=De(u),h=g??f.jsx(wi,{"aria-labelledby":v,color:"inherit",size:16}),y={...r,edge:n,color:i,disabled:l,disableFocusRipple:c,loading:m,loadingIndicator:h,size:p},S=Kp(y);return f.jsxs(qp,{id:m?v:u,className:j(S.root,a),centerRipple:!0,focusRipple:!c,disabled:l||m,ref:o,...b,ownerState:y,children:[typeof m=="boolean"&&f.jsx("span",{className:S.loadingWrapper,style:{display:"contents"},children:f.jsx(Xp,{className:S.loadingIndicator,ownerState:y,children:m&&h})}),s]})}),_p=Qt(f.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),Yp=Qt(f.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),Zp=Qt(f.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),Qp=Qt(f.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),Ri=Qt(f.jsx("path",{d:"M19 6.41L17.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"),Jp=t=>{const{variant:e,color:o,severity:r,classes:n}=t,s={root:["root",`color${B(o||r)}`,`${e}${B(o||r)}`,`${e}`],icon:["icon"],message:["message"],action:["action"]};return G(s,zp,n)},td=k(Ue,{name:"MuiAlert",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`${o.variant}${B(o.color||o.severity)}`]]}})(W(({theme:t})=>{const e=t.palette.mode==="light"?Ao:Bo,o=t.palette.mode==="light"?Bo:Ao;return{...t.typography.body2,backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter(jt(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert[`${r}Color`]:e(t.palette[r].light,.6),backgroundColor:t.vars?t.vars.palette.Alert[`${r}StandardBg`]:o(t.palette[r].light,.9),[`& .${qs.icon}`]:t.vars?{color:t.vars.palette.Alert[`${r}IconColor`]}:{color:t.palette[r].main}}})),...Object.entries(t.palette).filter(jt(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert[`${r}Color`]:e(t.palette[r].light,.6),border:`1px solid ${(t.vars||t).palette[r].light}`,[`& .${qs.icon}`]:t.vars?{color:t.vars.palette.Alert[`${r}IconColor`]}:{color:t.palette[r].main}}})),...Object.entries(t.palette).filter(jt(["dark"])).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:{fontWeight:t.typography.fontWeightMedium,...t.vars?{color:t.vars.palette.Alert[`${r}FilledColor`],backgroundColor:t.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:t.palette.mode==="dark"?t.palette[r].dark:t.palette[r].main,color:t.palette.getContrastText(t.palette[r].main)}}}))]}})),ed=k("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(t,e)=>e.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),od=k("div",{name:"MuiAlert",slot:"Message",overridesResolver:(t,e)=>e.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),rd=k("div",{name:"MuiAlert",slot:"Action",overridesResolver:(t,e)=>e.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),_s={success:f.jsx(_p,{fontSize:"inherit"}),warning:f.jsx(Yp,{fontSize:"inherit"}),error:f.jsx(Zp,{fontSize:"inherit"}),info:f.jsx(Qp,{fontSize:"inherit"})},FS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAlert"}),{action:n,children:s,className:a,closeText:i="Close",color:l,components:c={},componentsProps:p={},icon:u,iconMapping:m=_s,onClose:g,role:b="alert",severity:v="success",slotProps:h={},slots:y={},variant:S="standard",...C}=r,x={...r,color:l,severity:v,variant:S,colorSeverity:l||v},w=Jp(x),P={slots:{closeButton:c.CloseButton,closeIcon:c.CloseIcon,...y},slotProps:{...p,...h}},[$,I]=Q("root",{ref:o,shouldForwardComponentProp:!0,className:j(w.root,a),elementType:td,externalForwardedProps:{...P,...C},ownerState:x,additionalProps:{role:b,elevation:0}}),[A,T]=Q("icon",{className:w.icon,elementType:ed,externalForwardedProps:P,ownerState:x}),[z,E]=Q("message",{className:w.message,elementType:od,externalForwardedProps:P,ownerState:x}),[R,M]=Q("action",{className:w.action,elementType:rd,externalForwardedProps:P,ownerState:x}),[O,L]=Q("closeButton",{elementType:ko,externalForwardedProps:P,ownerState:x}),[F,D]=Q("closeIcon",{elementType:Ri,externalForwardedProps:P,ownerState:x});return f.jsxs($,{...I,children:[u!==!1?f.jsx(A,{...T,children:u||m[v]||_s[v]}):null,f.jsx(z,{...E,children:s}),n!=null?f.jsx(R,{...M,children:n}):null,n==null&&g?f.jsx(R,{...M,children:f.jsx(O,{size:"small","aria-label":i,title:i,color:"inherit",onClick:g,...L,children:f.jsx(F,{fontSize:"small",...D})})}):null]})});function nd(t){return V("MuiTypography",t)}const nn=K("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]),sd={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},ad=Vc(),id=t=>{const{align:e,gutterBottom:o,noWrap:r,paragraph:n,variant:s,classes:a}=t,i={root:["root",s,t.align!=="inherit"&&`align${B(e)}`,o&&"gutterBottom",r&&"noWrap",n&&"paragraph"]};return G(i,nd,a)},ld=k("span",{name:"MuiTypography",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.variant&&e[o.variant],o.align!=="inherit"&&e[`align${B(o.align)}`],o.noWrap&&e.noWrap,o.gutterBottom&&e.gutterBottom,o.paragraph&&e.paragraph]}})(W(({theme:t})=>{var e;return{margin:0,variants:[{props:{variant:"inherit"},style:{font:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}},...Object.entries(t.typography).filter(([o,r])=>o!=="inherit"&&r&&typeof r=="object").map(([o,r])=>({props:{variant:o},style:r})),...Object.entries(t.palette).filter(jt()).map(([o])=>({props:{color:o},style:{color:(t.vars||t).palette[o].main}})),...Object.entries(((e=t.palette)==null?void 0:e.text)||{}).filter(([,o])=>typeof o=="string").map(([o])=>({props:{color:`text${B(o)}`},style:{color:(t.vars||t).palette.text[o]}})),{props:({ownerState:o})=>o.align!=="inherit",style:{textAlign:"var(--Typography-textAlign)"}},{props:({ownerState:o})=>o.noWrap,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},{props:({ownerState:o})=>o.gutterBottom,style:{marginBottom:"0.35em"}},{props:({ownerState:o})=>o.paragraph,style:{marginBottom:16}}]}})),Ys={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},he=d.forwardRef(function(e,o){const{color:r,...n}=_({props:e,name:"MuiTypography"}),s=!sd[r],a=ad({...n,...s&&{color:r}}),{align:i="inherit",className:l,component:c,gutterBottom:p=!1,noWrap:u=!1,paragraph:m=!1,variant:g="body1",variantMapping:b=Ys,...v}=a,h={...a,align:i,color:r,className:l,component:c,gutterBottom:p,noWrap:u,paragraph:m,variant:g,variantMapping:b},y=c||(m?"p":b[g]||Ys[g])||"span",S=id(h);return f.jsx(ld,{as:y,ref:o,className:j(S.root,l),...v,ownerState:h,style:{...i!=="inherit"&&{"--Typography-textAlign":i},...v.style}})});function cd(t){return V("MuiAlertTitle",t)}const WS=K("MuiAlertTitle",["root"]),pd=t=>{const{classes:e}=t;return G({root:["root"]},cd,e)},dd=k(he,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({fontWeight:t.typography.fontWeightMedium,marginTop:-2}))),US=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAlertTitle"}),{className:n,...s}=r,a=r,i=pd(a);return f.jsx(dd,{gutterBottom:!0,component:"div",ownerState:a,ref:o,className:j(i.root,n),...s})});function ud(t){return V("MuiAppBar",t)}const HS=K("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]),fd=t=>{const{color:e,position:o,classes:r}=t,n={root:["root",`color${B(e)}`,`position${B(o)}`]};return G(n,ud,r)},Zs=(t,e)=>t?`${t==null?void 0:t.replace(")","")}, ${e})`:e,gd=k(Ue,{name:"MuiAppBar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${B(o.position)}`],e[`color${B(o.color)}`]]}})(W(({theme:t})=>({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,variants:[{props:{position:"fixed"},style:{position:"fixed",zIndex:(t.vars||t).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}}},{props:{position:"absolute"},style:{position:"absolute",zIndex:(t.vars||t).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"sticky"},style:{position:"sticky",zIndex:(t.vars||t).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":t.vars?t.vars.palette.AppBar.defaultBg:t.palette.grey[100],"--AppBar-color":t.vars?t.vars.palette.text.primary:t.palette.getContrastText(t.palette.grey[100]),...t.applyStyles("dark",{"--AppBar-background":t.vars?t.vars.palette.AppBar.defaultBg:t.palette.grey[900],"--AppBar-color":t.vars?t.vars.palette.text.primary:t.palette.getContrastText(t.palette.grey[900])})}},...Object.entries(t.palette).filter(jt(["contrastText"])).map(([e])=>({props:{color:e},style:{"--AppBar-background":(t.vars??t).palette[e].main,"--AppBar-color":(t.vars??t).palette[e].contrastText}})),{props:e=>e.enableColorOnDark===!0&&!["inherit","transparent"].includes(e.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)"}},{props:e=>e.enableColorOnDark===!1&&!["inherit","transparent"].includes(e.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...t.applyStyles("dark",{backgroundColor:t.vars?Zs(t.vars.palette.AppBar.darkBg,"var(--AppBar-background)"):null,color:t.vars?Zs(t.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)",...t.applyStyles("dark",{backgroundImage:"none"})}}]}))),VS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAppBar"}),{className:n,color:s="primary",enableColorOnDark:a=!1,position:i="fixed",...l}=r,c={...r,color:s,position:i,enableColorOnDark:a},p=fd(c);return f.jsx(gd,{square:!0,component:"header",ownerState:c,elevation:4,className:j(p.root,n,i==="fixed"&&"mui-fixed"),ref:o,...l})});function Qs(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function md(t={}){const{ignoreAccents:e=!0,ignoreCase:o=!0,limit:r,matchFrom:n="any",stringify:s,trim:a=!1}=t;return(i,{inputValue:l,getOptionLabel:c})=>{let p=a?l.trim():l;o&&(p=p.toLowerCase()),e&&(p=Qs(p));const u=p?i.filter(m=>{let g=(s||c)(m);return o&&(g=g.toLowerCase()),e&&(g=Qs(g)),n==="start"?g.startsWith(p):g.includes(p)}):i;return typeof r=="number"?u.slice(0,r):u}}const bd=md(),Js=5,vd=t=>{var e;return t.current!==null&&((e=t.current.parentElement)==null?void 0:e.contains(document.activeElement))},hd=[];function ta(t,e,o){if(e||t==null)return"";const r=o(t);return typeof r=="string"?r:""}function yd(t){const{unstable_isActiveElementInListbox:e=vd,unstable_classNamePrefix:o="Mui",autoComplete:r=!1,autoHighlight:n=!1,autoSelect:s=!1,blurOnSelect:a=!1,clearOnBlur:i=!t.freeSolo,clearOnEscape:l=!1,componentName:c="useAutocomplete",defaultValue:p=t.multiple?hd:null,disableClearable:u=!1,disableCloseOnSelect:m=!1,disabled:g,disabledItemsFocusable:b=!1,disableListWrap:v=!1,filterOptions:h=bd,filterSelectedOptions:y=!1,freeSolo:S=!1,getOptionDisabled:C,getOptionKey:x,getOptionLabel:w=X=>X.label??X,groupBy:P,handleHomeEndKeys:$=!t.freeSolo,id:I,includeInputInList:A=!1,inputValue:T,isOptionEqualToValue:z=(X,H)=>X===H,multiple:E=!1,onChange:R,onClose:M,onHighlightChange:O,onInputChange:L,onOpen:F,open:D,openOnFocus:N=!1,options:J,readOnly:U=!1,selectOnFocus:wt=!t.freeSolo,value:vt}=t,mt=De(I);let et=w;et=X=>{const H=w(X);return typeof H!="string"?String(H):H};const rt=d.useRef(!1),Y=d.useRef(!0),at=d.useRef(null),ct=d.useRef(null),[st,ft]=d.useState(null),[Z,pt]=d.useState(-1),it=n?0:-1,ht=d.useRef(it),Mt=d.useRef(ta(p??vt,E,et)).current,[tt,ot]=Te({controlled:vt,default:p,name:c}),[dt,St]=Te({controlled:T,default:Mt,name:c,state:"inputValue"}),[gt,nt]=d.useState(!1),Tt=d.useCallback((X,H,Rt)=>{if(!(E?tt.length!(y&&(E?tt:[tt]).some(H=>H!==null&&z(X,H)))),{inputValue:$t&<?"":dt,getOptionLabel:et}):[],Ct=ms({filteredOptions:ut,value:tt,inputValue:dt});d.useEffect(()=>{const X=tt!==Ct.value;gt&&!X||S&&!X||Tt(null,tt,"reset")},[tt,Tt,gt,Ct.value,S]);const Ut=At&&ut.length>0&&!U,Et=ee(X=>{X===-1?at.current.focus():st.querySelector(`[data-tag-index="${X}"]`).focus()});d.useEffect(()=>{E&&Z>tt.length-1&&(pt(-1),Et(-1))},[tt,E,Z,Et]);function Gt(X,H){if(!ct.current||X<0||X>=ut.length)return-1;let Rt=X;for(;;){const Ot=ct.current.querySelector(`[data-option-index="${Rt}"]`),Ht=b?!1:!Ot||Ot.disabled||Ot.getAttribute("aria-disabled")==="true";if(Ot&&Ot.hasAttribute("tabindex")&&!Ht)return Rt;if(H==="next"?Rt=(Rt+1)%ut.length:Rt=(Rt-1+ut.length)%ut.length,Rt===X)return-1}}const xt=ee(({event:X,index:H,reason:Rt})=>{if(ht.current=H,H===-1?at.current.removeAttribute("aria-activedescendant"):at.current.setAttribute("aria-activedescendant",`${mt}-option-${H}`),O&&["mouse","keyboard","touch"].includes(Rt)&&O(X,H===-1?null:ut[H],Rt),!ct.current)return;const Ot=ct.current.querySelector(`[role="option"].${o}-focused`);Ot&&(Ot.classList.remove(`${o}-focused`),Ot.classList.remove(`${o}-focusVisible`));let Ht=ct.current;if(ct.current.getAttribute("role")!=="listbox"&&(Ht=ct.current.parentElement.querySelector('[role="listbox"]')),!Ht)return;if(H===-1){Ht.scrollTop=0;return}const Yt=ct.current.querySelector(`[data-option-index="${H}"]`);if(Yt&&(Yt.classList.add(`${o}-focused`),Rt==="keyboard"&&Yt.classList.add(`${o}-focusVisible`),Ht.scrollHeight>Ht.clientHeight&&Rt!=="mouse"&&Rt!=="touch")){const se=Yt,Ae=Ht.clientHeight+Ht.scrollTop,Pn=se.offsetTop+se.offsetHeight;Pn>Ae?Ht.scrollTop=Pn-Ht.clientHeight:se.offsetTop-se.offsetHeight*(P?1.3:0){if(!It)return;const Yt=Gt((()=>{const se=ut.length-1;if(H==="reset")return it;if(H==="start")return 0;if(H==="end")return se;const Ae=ht.current+H;return Ae<0?Ae===-1&&A?-1:v&&ht.current!==-1||Math.abs(H)>1?0:se:Ae>se?Ae===se+1&&A?-1:v||Math.abs(H)>1?se:0:Ae})(),Rt);if(xt({index:Yt,reason:Ot,event:X}),r&&H!=="reset")if(Yt===-1)at.current.value=dt;else{const se=et(ut[Yt]);at.current.value=se,se.toLowerCase().indexOf(dt.toLowerCase())===0&&dt.length>0&&at.current.setSelectionRange(dt.length,se.length)}}),Xt=()=>{const X=(H,Rt)=>{const Ot=H?et(H):"",Ht=Rt?et(Rt):"";return Ot===Ht};if(ht.current!==-1&&Ct.filteredOptions&&Ct.filteredOptions.length!==ut.length&&Ct.inputValue===dt&&(E?tt.length===Ct.value.length&&Ct.value.every((H,Rt)=>et(tt[Rt])===et(H)):X(Ct.value,tt))){const H=Ct.filteredOptions[ht.current];if(H)return ut.findIndex(Rt=>et(Rt)===et(H))}return-1},oe=d.useCallback(()=>{if(!It)return;const X=Xt();if(X!==-1){ht.current=X;return}const H=E?tt[0]:tt;if(ut.length===0||H==null){Bt({diff:"reset"});return}if(ct.current){if(H!=null){const Rt=ut[ht.current];if(E&&Rt&&tt.findIndex(Ht=>z(Rt,Ht))!==-1)return;const Ot=ut.findIndex(Ht=>z(Ht,H));Ot===-1?Bt({diff:"reset"}):xt({index:Ot});return}if(ht.current>=ut.length-1){xt({index:ut.length-1});return}xt({index:ht.current})}},[ut.length,E?!1:tt,y,Bt,xt,It,dt,E]),fe=ee(X=>{Kn(ct,X),X&&oe()});d.useEffect(()=>{oe()},[oe]);const ie=X=>{At||(q(!0),bt(!0),F&&F(X))},Pe=(X,H)=>{At&&(q(!1),M&&M(X,H))},Vt=(X,H,Rt,Ot)=>{if(E){if(tt.length===H.length&&tt.every((Ht,Yt)=>Ht===H[Yt]))return}else if(tt===H)return;R&&R(X,H,Rt,Ot),ot(H)},_t=d.useRef(!1),ce=(X,H,Rt="selectOption",Ot="options")=>{let Ht=Rt,Yt=H;if(E){Yt=Array.isArray(tt)?tt.slice():[];const se=Yt.findIndex(Ae=>z(H,Ae));se===-1?Yt.push(H):Ot!=="freeSolo"&&(Yt.splice(se,1),Ht="removeOption")}Tt(X,Yt,Ht),Vt(X,Yt,Ht,{option:H}),!m&&(!X||!X.ctrlKey&&!X.metaKey)&&Pe(X,Ht),(a===!0||a==="touch"&&_t.current||a==="mouse"&&!_t.current)&&at.current.blur()};function $e(X,H){if(X===-1)return-1;let Rt=X;for(;;){if(H==="next"&&Rt===tt.length||H==="previous"&&Rt===-1)return-1;const Ot=st.querySelector(`[data-tag-index="${Rt}"]`);if(!Ot||!Ot.hasAttribute("tabindex")||Ot.disabled||Ot.getAttribute("aria-disabled")==="true")Rt+=H==="next"?1:-1;else return Rt}}const pe=(X,H)=>{if(!E)return;dt===""&&Pe(X,"toggleInput");let Rt=Z;Z===-1?dt===""&&H==="previous"&&(Rt=tt.length-1):(Rt+=H==="next"?1:-1,Rt<0&&(Rt=0),Rt===tt.length&&(Rt=-1)),Rt=$e(Rt,H),pt(Rt),Et(Rt)},Lt=X=>{rt.current=!0,St(""),L&&L(X,"","clear"),Vt(X,E?[]:null,"clear")},ge=X=>H=>{if(X.onKeyDown&&X.onKeyDown(H),!H.defaultMuiPrevented&&(Z!==-1&&!["ArrowLeft","ArrowRight"].includes(H.key)&&(pt(-1),Et(-1)),H.which!==229))switch(H.key){case"Home":It&&$&&(H.preventDefault(),Bt({diff:"start",direction:"next",reason:"keyboard",event:H}));break;case"End":It&&$&&(H.preventDefault(),Bt({diff:"end",direction:"previous",reason:"keyboard",event:H}));break;case"PageUp":H.preventDefault(),Bt({diff:-Js,direction:"previous",reason:"keyboard",event:H}),ie(H);break;case"PageDown":H.preventDefault(),Bt({diff:Js,direction:"next",reason:"keyboard",event:H}),ie(H);break;case"ArrowDown":H.preventDefault(),Bt({diff:1,direction:"next",reason:"keyboard",event:H}),ie(H);break;case"ArrowUp":H.preventDefault(),Bt({diff:-1,direction:"previous",reason:"keyboard",event:H}),ie(H);break;case"ArrowLeft":pe(H,"previous");break;case"ArrowRight":pe(H,"next");break;case"Enter":if(ht.current!==-1&&It){const Rt=ut[ht.current],Ot=C?C(Rt):!1;if(H.preventDefault(),Ot)return;ce(H,Rt,"selectOption"),r&&at.current.setSelectionRange(at.current.value.length,at.current.value.length)}else S&&dt!==""&&$t===!1&&(E&&H.preventDefault(),ce(H,dt,"createOption","freeSolo"));break;case"Escape":It?(H.preventDefault(),H.stopPropagation(),Pe(H,"escape")):l&&(dt!==""||E&&tt.length>0)&&(H.preventDefault(),H.stopPropagation(),Lt(H));break;case"Backspace":if(E&&!U&&dt===""&&tt.length>0){const Rt=Z===-1?tt.length-1:Z,Ot=tt.slice();Ot.splice(Rt,1),Vt(H,Ot,"removeOption",{option:tt[Rt]})}break;case"Delete":if(E&&!U&&dt===""&&tt.length>0&&Z!==-1){const Rt=Z,Ot=tt.slice();Ot.splice(Rt,1),Vt(H,Ot,"removeOption",{option:tt[Rt]})}break}},yt=X=>{nt(!0),N&&!rt.current&&ie(X)},Pt=X=>{if(e(ct)){at.current.focus();return}nt(!1),Y.current=!0,rt.current=!1,s&&ht.current!==-1&&It?ce(X,ut[ht.current],"blur"):s&&S&&dt!==""?ce(X,dt,"blur","freeSolo"):i&&Tt(X,tt,"blur"),Pe(X,"blur")},Dt=X=>{const H=X.target.value;dt!==H&&(St(H),bt(!1),L&&L(X,H,"input")),H===""?!u&&!E&&Vt(X,null,"clear"):ie(X)},Ft=X=>{const H=Number(X.currentTarget.getAttribute("data-option-index"));ht.current!==H&&xt({event:X,index:H,reason:"mouse"})},Zt=X=>{xt({event:X,index:Number(X.currentTarget.getAttribute("data-option-index")),reason:"touch"}),_t.current=!0},Se=X=>{const H=Number(X.currentTarget.getAttribute("data-option-index"));ce(X,ut[H],"selectOption"),_t.current=!1},Ve=X=>H=>{const Rt=tt.slice();Rt.splice(X,1),Vt(H,Rt,"removeOption",{option:tt[X]})},to=X=>{At?Pe(X,"toggleInput"):ie(X)},co=X=>{X.currentTarget.contains(X.target)&&X.target.getAttribute("id")!==mt&&X.preventDefault()},ne=X=>{X.currentTarget.contains(X.target)&&(at.current.focus(),wt&&Y.current&&at.current.selectionEnd-at.current.selectionStart===0&&at.current.select(),Y.current=!1)},de=X=>{!g&&(dt===""||!At)&&to(X)};let qe=S&&dt.length>0;qe=qe||(E?tt.length>0:tt!==null);let Mr=ut;return P&&(Mr=ut.reduce((X,H,Rt)=>{const Ot=P(H);return X.length>0&&X[X.length-1].group===Ot?X[X.length-1].options.push(H):X.push({key:Rt,index:Rt,group:Ot,options:[H]}),X},[])),g&>&&Pt(),{getRootProps:(X={})=>({...X,onKeyDown:ge(X),onMouseDown:co,onClick:ne}),getInputLabelProps:()=>({id:`${mt}-label`,htmlFor:mt}),getInputProps:()=>({id:mt,value:dt,onBlur:Pt,onFocus:yt,onChange:Dt,onMouseDown:de,"aria-activedescendant":It?"":null,"aria-autocomplete":r?"both":"list","aria-controls":Ut?`${mt}-listbox`:void 0,"aria-expanded":Ut,autoComplete:"off",ref:at,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:g}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:Lt}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:to}),getTagProps:({index:X})=>({key:X,"data-tag-index":X,tabIndex:-1,...!U&&{onDelete:Ve(X)}}),getListboxProps:()=>({role:"listbox",id:`${mt}-listbox`,"aria-labelledby":`${mt}-label`,ref:fe,onMouseDown:X=>{X.preventDefault()}}),getOptionProps:({index:X,option:H})=>{const Rt=(E?tt:[tt]).some(Ht=>Ht!=null&&z(H,Ht)),Ot=C?C(H):!1;return{key:(x==null?void 0:x(H))??et(H),tabIndex:-1,role:"option",id:`${mt}-option-${X}`,onMouseMove:Ft,onClick:Se,onTouchStart:Zt,"data-option-index":X,"aria-disabled":Ot,"aria-selected":Rt}},id:mt,inputValue:dt,value:tt,dirty:qe,expanded:It&&st,popupOpen:It,focused:gt||Z!==-1,anchorEl:st,setAnchorEl:ft,focusedTag:Z,groupedOptions:Mr}}var we="top",Fe="bottom",We="right",Re="left",ys="auto",kr=[we,Fe,We,Re],Ko="start",yr="end",xd="clippingParents",Pi="viewport",Jo="popper",Cd="reference",ea=kr.reduce(function(t,e){return t.concat([e+"-"+Ko,e+"-"+yr])},[]),$i=[].concat(kr,[ys]).reduce(function(t,e){return t.concat([e,e+"-"+Ko,e+"-"+yr])},[]),Sd="beforeRead",wd="read",Rd="afterRead",Pd="beforeMain",$d="main",kd="afterMain",Id="beforeWrite",Td="write",Md="afterWrite",Ld=[Sd,wd,Rd,Pd,$d,kd,Id,Td,Md];function Qe(t){return t?(t.nodeName||"").toLowerCase():null}function Me(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Eo(t){var e=Me(t).Element;return t instanceof e||t instanceof Element}function ze(t){var e=Me(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function xs(t){if(typeof ShadowRoot>"u")return!1;var e=Me(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Ad(t){var e=t.state;Object.keys(e.elements).forEach(function(o){var r=e.styles[o]||{},n=e.attributes[o]||{},s=e.elements[o];!ze(s)||!Qe(s)||(Object.assign(s.style,r),Object.keys(n).forEach(function(a){var i=n[a];i===!1?s.removeAttribute(a):s.setAttribute(a,i===!0?"":i)}))})}function Bd(t){var e=t.state,o={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,o.popper),e.styles=o,e.elements.arrow&&Object.assign(e.elements.arrow.style,o.arrow),function(){Object.keys(e.elements).forEach(function(r){var n=e.elements[r],s=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:o[r]),i=a.reduce(function(l,c){return l[c]="",l},{});!ze(n)||!Qe(n)||(Object.assign(n.style,i),Object.keys(s).forEach(function(l){n.removeAttribute(l)}))})}}const Ed={name:"applyStyles",enabled:!0,phase:"write",fn:Ad,effect:Bd,requires:["computeStyles"]};function Ye(t){return t.split("-")[0]}var Lo=Math.max,sn=Math.min,qo=Math.round;function Zn(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function ki(){return!/^((?!chrome|android).)*safari/i.test(Zn())}function Xo(t,e,o){e===void 0&&(e=!1),o===void 0&&(o=!1);var r=t.getBoundingClientRect(),n=1,s=1;e&&ze(t)&&(n=t.offsetWidth>0&&qo(r.width)/t.offsetWidth||1,s=t.offsetHeight>0&&qo(r.height)/t.offsetHeight||1);var a=Eo(t)?Me(t):window,i=a.visualViewport,l=!ki()&&o,c=(r.left+(l&&i?i.offsetLeft:0))/n,p=(r.top+(l&&i?i.offsetTop:0))/s,u=r.width/n,m=r.height/s;return{width:u,height:m,top:p,right:c+u,bottom:p+m,left:c,x:c,y:p}}function Cs(t){var e=Xo(t),o=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-o)<=1&&(o=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:o,height:r}}function Ii(t,e){var o=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(o&&xs(o)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ao(t){return Me(t).getComputedStyle(t)}function Od(t){return["table","td","th"].indexOf(Qe(t))>=0}function xo(t){return((Eo(t)?t.ownerDocument:t.document)||window.document).documentElement}function bn(t){return Qe(t)==="html"?t:t.assignedSlot||t.parentNode||(xs(t)?t.host:null)||xo(t)}function oa(t){return!ze(t)||ao(t).position==="fixed"?null:t.offsetParent}function Nd(t){var e=/firefox/i.test(Zn()),o=/Trident/i.test(Zn());if(o&&ze(t)){var r=ao(t);if(r.position==="fixed")return null}var n=bn(t);for(xs(n)&&(n=n.host);ze(n)&&["html","body"].indexOf(Qe(n))<0;){var s=ao(n);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||e&&s.willChange==="filter"||e&&s.filter&&s.filter!=="none")return n;n=n.parentNode}return null}function Ir(t){for(var e=Me(t),o=oa(t);o&&Od(o)&&ao(o).position==="static";)o=oa(o);return o&&(Qe(o)==="html"||Qe(o)==="body"&&ao(o).position==="static")?e:o||Nd(t)||e}function Ss(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function ur(t,e,o){return Lo(t,sn(e,o))}function zd(t,e,o){var r=ur(t,e,o);return r>o?o:r}function Ti(){return{top:0,right:0,bottom:0,left:0}}function Mi(t){return Object.assign({},Ti(),t)}function Li(t,e){return e.reduce(function(o,r){return o[r]=t,o},{})}var jd=function(e,o){return e=typeof e=="function"?e(Object.assign({},o.rects,{placement:o.placement})):e,Mi(typeof e!="number"?e:Li(e,kr))};function Dd(t){var e,o=t.state,r=t.name,n=t.options,s=o.elements.arrow,a=o.modifiersData.popperOffsets,i=Ye(o.placement),l=Ss(i),c=[Re,We].indexOf(i)>=0,p=c?"height":"width";if(!(!s||!a)){var u=jd(n.padding,o),m=Cs(s),g=l==="y"?we:Re,b=l==="y"?Fe:We,v=o.rects.reference[p]+o.rects.reference[l]-a[l]-o.rects.popper[p],h=a[l]-o.rects.reference[l],y=Ir(s),S=y?l==="y"?y.clientHeight||0:y.clientWidth||0:0,C=v/2-h/2,x=u[g],w=S-m[p]-u[b],P=S/2-m[p]/2+C,$=ur(x,P,w),I=l;o.modifiersData[r]=(e={},e[I]=$,e.centerOffset=$-P,e)}}function Fd(t){var e=t.state,o=t.options,r=o.element,n=r===void 0?"[data-popper-arrow]":r;n!=null&&(typeof n=="string"&&(n=e.elements.popper.querySelector(n),!n)||Ii(e.elements.popper,n)&&(e.elements.arrow=n))}const Wd={name:"arrow",enabled:!0,phase:"main",fn:Dd,effect:Fd,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function _o(t){return t.split("-")[1]}var Ud={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Hd(t,e){var o=t.x,r=t.y,n=e.devicePixelRatio||1;return{x:qo(o*n)/n||0,y:qo(r*n)/n||0}}function ra(t){var e,o=t.popper,r=t.popperRect,n=t.placement,s=t.variation,a=t.offsets,i=t.position,l=t.gpuAcceleration,c=t.adaptive,p=t.roundOffsets,u=t.isFixed,m=a.x,g=m===void 0?0:m,b=a.y,v=b===void 0?0:b,h=typeof p=="function"?p({x:g,y:v}):{x:g,y:v};g=h.x,v=h.y;var y=a.hasOwnProperty("x"),S=a.hasOwnProperty("y"),C=Re,x=we,w=window;if(c){var P=Ir(o),$="clientHeight",I="clientWidth";if(P===Me(o)&&(P=xo(o),ao(P).position!=="static"&&i==="absolute"&&($="scrollHeight",I="scrollWidth")),P=P,n===we||(n===Re||n===We)&&s===yr){x=Fe;var A=u&&P===w&&w.visualViewport?w.visualViewport.height:P[$];v-=A-r.height,v*=l?1:-1}if(n===Re||(n===we||n===Fe)&&s===yr){C=We;var T=u&&P===w&&w.visualViewport?w.visualViewport.width:P[I];g-=T-r.width,g*=l?1:-1}}var z=Object.assign({position:i},c&&Ud),E=p===!0?Hd({x:g,y:v},Me(o)):{x:g,y:v};if(g=E.x,v=E.y,l){var R;return Object.assign({},z,(R={},R[x]=S?"0":"",R[C]=y?"0":"",R.transform=(w.devicePixelRatio||1)<=1?"translate("+g+"px, "+v+"px)":"translate3d("+g+"px, "+v+"px, 0)",R))}return Object.assign({},z,(e={},e[x]=S?v+"px":"",e[C]=y?g+"px":"",e.transform="",e))}function Vd(t){var e=t.state,o=t.options,r=o.gpuAcceleration,n=r===void 0?!0:r,s=o.adaptive,a=s===void 0?!0:s,i=o.roundOffsets,l=i===void 0?!0:i,c={placement:Ye(e.placement),variation:_o(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,ra(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,ra(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Gd={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Vd,data:{}};var Nr={passive:!0};function Kd(t){var e=t.state,o=t.instance,r=t.options,n=r.scroll,s=n===void 0?!0:n,a=r.resize,i=a===void 0?!0:a,l=Me(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&c.forEach(function(p){p.addEventListener("scroll",o.update,Nr)}),i&&l.addEventListener("resize",o.update,Nr),function(){s&&c.forEach(function(p){p.removeEventListener("scroll",o.update,Nr)}),i&&l.removeEventListener("resize",o.update,Nr)}}const qd={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Kd,data:{}};var Xd={left:"right",right:"left",bottom:"top",top:"bottom"};function Qr(t){return t.replace(/left|right|bottom|top/g,function(e){return Xd[e]})}var _d={start:"end",end:"start"};function na(t){return t.replace(/start|end/g,function(e){return _d[e]})}function ws(t){var e=Me(t),o=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:o,scrollTop:r}}function Rs(t){return Xo(xo(t)).left+ws(t).scrollLeft}function Yd(t,e){var o=Me(t),r=xo(t),n=o.visualViewport,s=r.clientWidth,a=r.clientHeight,i=0,l=0;if(n){s=n.width,a=n.height;var c=ki();(c||!c&&e==="fixed")&&(i=n.offsetLeft,l=n.offsetTop)}return{width:s,height:a,x:i+Rs(t),y:l}}function Zd(t){var e,o=xo(t),r=ws(t),n=(e=t.ownerDocument)==null?void 0:e.body,s=Lo(o.scrollWidth,o.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),a=Lo(o.scrollHeight,o.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),i=-r.scrollLeft+Rs(t),l=-r.scrollTop;return ao(n||o).direction==="rtl"&&(i+=Lo(o.clientWidth,n?n.clientWidth:0)-s),{width:s,height:a,x:i,y:l}}function Ps(t){var e=ao(t),o=e.overflow,r=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(o+n+r)}function Ai(t){return["html","body","#document"].indexOf(Qe(t))>=0?t.ownerDocument.body:ze(t)&&Ps(t)?t:Ai(bn(t))}function fr(t,e){var o;e===void 0&&(e=[]);var r=Ai(t),n=r===((o=t.ownerDocument)==null?void 0:o.body),s=Me(r),a=n?[s].concat(s.visualViewport||[],Ps(r)?r:[]):r,i=e.concat(a);return n?i:i.concat(fr(bn(a)))}function Qn(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Qd(t,e){var o=Xo(t,!1,e==="fixed");return o.top=o.top+t.clientTop,o.left=o.left+t.clientLeft,o.bottom=o.top+t.clientHeight,o.right=o.left+t.clientWidth,o.width=t.clientWidth,o.height=t.clientHeight,o.x=o.left,o.y=o.top,o}function sa(t,e,o){return e===Pi?Qn(Yd(t,o)):Eo(e)?Qd(e,o):Qn(Zd(xo(t)))}function Jd(t){var e=fr(bn(t)),o=["absolute","fixed"].indexOf(ao(t).position)>=0,r=o&&ze(t)?Ir(t):t;return Eo(r)?e.filter(function(n){return Eo(n)&&Ii(n,r)&&Qe(n)!=="body"}):[]}function tu(t,e,o,r){var n=e==="clippingParents"?Jd(t):[].concat(e),s=[].concat(n,[o]),a=s[0],i=s.reduce(function(l,c){var p=sa(t,c,r);return l.top=Lo(p.top,l.top),l.right=sn(p.right,l.right),l.bottom=sn(p.bottom,l.bottom),l.left=Lo(p.left,l.left),l},sa(t,a,r));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Bi(t){var e=t.reference,o=t.element,r=t.placement,n=r?Ye(r):null,s=r?_o(r):null,a=e.x+e.width/2-o.width/2,i=e.y+e.height/2-o.height/2,l;switch(n){case we:l={x:a,y:e.y-o.height};break;case Fe:l={x:a,y:e.y+e.height};break;case We:l={x:e.x+e.width,y:i};break;case Re:l={x:e.x-o.width,y:i};break;default:l={x:e.x,y:e.y}}var c=n?Ss(n):null;if(c!=null){var p=c==="y"?"height":"width";switch(s){case Ko:l[c]=l[c]-(e[p]/2-o[p]/2);break;case yr:l[c]=l[c]+(e[p]/2-o[p]/2);break}}return l}function xr(t,e){e===void 0&&(e={});var o=e,r=o.placement,n=r===void 0?t.placement:r,s=o.strategy,a=s===void 0?t.strategy:s,i=o.boundary,l=i===void 0?xd:i,c=o.rootBoundary,p=c===void 0?Pi:c,u=o.elementContext,m=u===void 0?Jo:u,g=o.altBoundary,b=g===void 0?!1:g,v=o.padding,h=v===void 0?0:v,y=Mi(typeof h!="number"?h:Li(h,kr)),S=m===Jo?Cd:Jo,C=t.rects.popper,x=t.elements[b?S:m],w=tu(Eo(x)?x:x.contextElement||xo(t.elements.popper),l,p,a),P=Xo(t.elements.reference),$=Bi({reference:P,element:C,placement:n}),I=Qn(Object.assign({},C,$)),A=m===Jo?I:P,T={top:w.top-A.top+y.top,bottom:A.bottom-w.bottom+y.bottom,left:w.left-A.left+y.left,right:A.right-w.right+y.right},z=t.modifiersData.offset;if(m===Jo&&z){var E=z[n];Object.keys(T).forEach(function(R){var M=[We,Fe].indexOf(R)>=0?1:-1,O=[we,Fe].indexOf(R)>=0?"y":"x";T[R]+=E[O]*M})}return T}function eu(t,e){e===void 0&&(e={});var o=e,r=o.placement,n=o.boundary,s=o.rootBoundary,a=o.padding,i=o.flipVariations,l=o.allowedAutoPlacements,c=l===void 0?$i:l,p=_o(r),u=p?i?ea:ea.filter(function(b){return _o(b)===p}):kr,m=u.filter(function(b){return c.indexOf(b)>=0});m.length===0&&(m=u);var g=m.reduce(function(b,v){return b[v]=xr(t,{placement:v,boundary:n,rootBoundary:s,padding:a})[Ye(v)],b},{});return Object.keys(g).sort(function(b,v){return g[b]-g[v]})}function ou(t){if(Ye(t)===ys)return[];var e=Qr(t);return[na(t),e,na(e)]}function ru(t){var e=t.state,o=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var n=o.mainAxis,s=n===void 0?!0:n,a=o.altAxis,i=a===void 0?!0:a,l=o.fallbackPlacements,c=o.padding,p=o.boundary,u=o.rootBoundary,m=o.altBoundary,g=o.flipVariations,b=g===void 0?!0:g,v=o.allowedAutoPlacements,h=e.options.placement,y=Ye(h),S=y===h,C=l||(S||!b?[Qr(h)]:ou(h)),x=[h].concat(C).reduce(function(mt,et){return mt.concat(Ye(et)===ys?eu(e,{placement:et,boundary:p,rootBoundary:u,padding:c,flipVariations:b,allowedAutoPlacements:v}):et)},[]),w=e.rects.reference,P=e.rects.popper,$=new Map,I=!0,A=x[0],T=0;T=0,O=M?"width":"height",L=xr(e,{placement:z,boundary:p,rootBoundary:u,altBoundary:m,padding:c}),F=M?R?We:Re:R?Fe:we;w[O]>P[O]&&(F=Qr(F));var D=Qr(F),N=[];if(s&&N.push(L[E]<=0),i&&N.push(L[F]<=0,L[D]<=0),N.every(function(mt){return mt})){A=z,I=!1;break}$.set(z,N)}if(I)for(var J=b?3:1,U=function(et){var rt=x.find(function(Y){var at=$.get(Y);if(at)return at.slice(0,et).every(function(ct){return ct})});if(rt)return A=rt,"break"},wt=J;wt>0;wt--){var vt=U(wt);if(vt==="break")break}e.placement!==A&&(e.modifiersData[r]._skip=!0,e.placement=A,e.reset=!0)}}const nu={name:"flip",enabled:!0,phase:"main",fn:ru,requiresIfExists:["offset"],data:{_skip:!1}};function aa(t,e,o){return o===void 0&&(o={x:0,y:0}),{top:t.top-e.height-o.y,right:t.right-e.width+o.x,bottom:t.bottom-e.height+o.y,left:t.left-e.width-o.x}}function ia(t){return[we,We,Fe,Re].some(function(e){return t[e]>=0})}function su(t){var e=t.state,o=t.name,r=e.rects.reference,n=e.rects.popper,s=e.modifiersData.preventOverflow,a=xr(e,{elementContext:"reference"}),i=xr(e,{altBoundary:!0}),l=aa(a,r),c=aa(i,n,s),p=ia(l),u=ia(c);e.modifiersData[o]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}const au={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:su};function iu(t,e,o){var r=Ye(t),n=[Re,we].indexOf(r)>=0?-1:1,s=typeof o=="function"?o(Object.assign({},e,{placement:t})):o,a=s[0],i=s[1];return a=a||0,i=(i||0)*n,[Re,We].indexOf(r)>=0?{x:i,y:a}:{x:a,y:i}}function lu(t){var e=t.state,o=t.options,r=t.name,n=o.offset,s=n===void 0?[0,0]:n,a=$i.reduce(function(p,u){return p[u]=iu(u,e.rects,s),p},{}),i=a[e.placement],l=i.x,c=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[r]=a}const cu={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:lu};function pu(t){var e=t.state,o=t.name;e.modifiersData[o]=Bi({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const du={name:"popperOffsets",enabled:!0,phase:"read",fn:pu,data:{}};function uu(t){return t==="x"?"y":"x"}function fu(t){var e=t.state,o=t.options,r=t.name,n=o.mainAxis,s=n===void 0?!0:n,a=o.altAxis,i=a===void 0?!1:a,l=o.boundary,c=o.rootBoundary,p=o.altBoundary,u=o.padding,m=o.tether,g=m===void 0?!0:m,b=o.tetherOffset,v=b===void 0?0:b,h=xr(e,{boundary:l,rootBoundary:c,padding:u,altBoundary:p}),y=Ye(e.placement),S=_o(e.placement),C=!S,x=Ss(y),w=uu(x),P=e.modifiersData.popperOffsets,$=e.rects.reference,I=e.rects.popper,A=typeof v=="function"?v(Object.assign({},e.rects,{placement:e.placement})):v,T=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),z=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,E={x:0,y:0};if(P){if(s){var R,M=x==="y"?we:Re,O=x==="y"?Fe:We,L=x==="y"?"height":"width",F=P[x],D=F+h[M],N=F-h[O],J=g?-I[L]/2:0,U=S===Ko?$[L]:I[L],wt=S===Ko?-I[L]:-$[L],vt=e.elements.arrow,mt=g&&vt?Cs(vt):{width:0,height:0},et=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Ti(),rt=et[M],Y=et[O],at=ur(0,$[L],mt[L]),ct=C?$[L]/2-J-at-rt-T.mainAxis:U-at-rt-T.mainAxis,st=C?-$[L]/2+J+at+Y+T.mainAxis:wt+at+Y+T.mainAxis,ft=e.elements.arrow&&Ir(e.elements.arrow),Z=ft?x==="y"?ft.clientTop||0:ft.clientLeft||0:0,pt=(R=z==null?void 0:z[x])!=null?R:0,it=F+ct-pt-Z,ht=F+st-pt,Mt=ur(g?sn(D,it):D,F,g?Lo(N,ht):N);P[x]=Mt,E[x]=Mt-F}if(i){var tt,ot=x==="x"?we:Re,dt=x==="x"?Fe:We,St=P[w],gt=w==="y"?"height":"width",nt=St+h[ot],Tt=St-h[dt],At=[we,Re].indexOf(y)!==-1,q=(tt=z==null?void 0:z[w])!=null?tt:0,lt=At?nt:St-$[gt]-I[gt]-q+T.altAxis,bt=At?St+$[gt]+I[gt]-q-T.altAxis:Tt,$t=g&&At?zd(lt,St,bt):ur(g?lt:nt,St,g?bt:Tt);P[w]=$t,E[w]=$t-St}e.modifiersData[r]=E}}const gu={name:"preventOverflow",enabled:!0,phase:"main",fn:fu,requiresIfExists:["offset"]};function mu(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function bu(t){return t===Me(t)||!ze(t)?ws(t):mu(t)}function vu(t){var e=t.getBoundingClientRect(),o=qo(e.width)/t.offsetWidth||1,r=qo(e.height)/t.offsetHeight||1;return o!==1||r!==1}function hu(t,e,o){o===void 0&&(o=!1);var r=ze(e),n=ze(e)&&vu(e),s=xo(e),a=Xo(t,n,o),i={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!o)&&((Qe(e)!=="body"||Ps(s))&&(i=bu(e)),ze(e)?(l=Xo(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=Rs(s))),{x:a.left+i.scrollLeft-l.x,y:a.top+i.scrollTop-l.y,width:a.width,height:a.height}}function yu(t){var e=new Map,o=new Set,r=[];t.forEach(function(s){e.set(s.name,s)});function n(s){o.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(i){if(!o.has(i)){var l=e.get(i);l&&n(l)}}),r.push(s)}return t.forEach(function(s){o.has(s.name)||n(s)}),r}function xu(t){var e=yu(t);return Ld.reduce(function(o,r){return o.concat(e.filter(function(n){return n.phase===r}))},[])}function Cu(t){var e;return function(){return e||(e=new Promise(function(o){Promise.resolve().then(function(){e=void 0,o(t())})})),e}}function Su(t){var e=t.reduce(function(o,r){var n=o[r.name];return o[r.name]=n?Object.assign({},n,r,{options:Object.assign({},n.options,r.options),data:Object.assign({},n.data,r.data)}):r,o},{});return Object.keys(e).map(function(o){return e[o]})}var la={placement:"bottom",modifiers:[],strategy:"absolute"};function ca(){for(var t=arguments.length,e=new Array(t),o=0;o{s||i($u(n)||document.body)},[n,s]),be(()=>{if(a&&!s)return Kn(o,a),()=>{Kn(o,null)}},[o,a,s]),s){if(d.isValidElement(r)){const c={ref:l};return d.cloneElement(r,c)}return r}return a&&Vn.createPortal(r,a)});function ku(t){return V("MuiPopper",t)}K("MuiPopper",["root"]);function Iu(t,e){if(e==="ltr")return t;switch(t){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 t}}function Jn(t){return typeof t=="function"?t():t}function Tu(t){return t.nodeType!==void 0}const Mu=t=>{const{classes:e}=t;return G({root:["root"]},ku,e)},Lu={},Au=d.forwardRef(function(e,o){const{anchorEl:r,children:n,direction:s,disablePortal:a,modifiers:i,open:l,placement:c,popperOptions:p,popperRef:u,slotProps:m={},slots:g={},TransitionProps:b,ownerState:v,...h}=e,y=d.useRef(null),S=qt(y,o),C=d.useRef(null),x=qt(C,u),w=d.useRef(x);be(()=>{w.current=x},[x]),d.useImperativeHandle(u,()=>C.current,[]);const P=Iu(c,s),[$,I]=d.useState(P),[A,T]=d.useState(Jn(r));d.useEffect(()=>{C.current&&C.current.forceUpdate()}),d.useEffect(()=>{r&&T(Jn(r))},[r]),be(()=>{if(!A||!l)return;const O=D=>{I(D.placement)};let L=[{name:"preventOverflow",options:{altBoundary:a}},{name:"flip",options:{altBoundary:a}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:D})=>{O(D)}}];i!=null&&(L=L.concat(i)),p&&p.modifiers!=null&&(L=L.concat(p.modifiers));const F=Pu(A,y.current,{placement:P,...p,modifiers:L});return w.current(F),()=>{F.destroy(),w.current(null)}},[A,a,i,l,p,P]);const z={placement:$};b!==null&&(z.TransitionProps=b);const E=Mu(e),R=g.root??"div",M=Ce({elementType:R,externalSlotProps:m.root,externalForwardedProps:h,additionalProps:{role:"tooltip",ref:S},ownerState:e,className:E.root});return f.jsx(R,{...M,children:typeof n=="function"?n(z):n})}),Bu=d.forwardRef(function(e,o){const{anchorEl:r,children:n,container:s,direction:a="ltr",disablePortal:i=!1,keepMounted:l=!1,modifiers:c,open:p,placement:u="bottom",popperOptions:m=Lu,popperRef:g,style:b,transition:v=!1,slotProps:h={},slots:y={},...S}=e,[C,x]=d.useState(!0),w=()=>{x(!1)},P=()=>{x(!0)};if(!l&&!p&&(!v||C))return null;let $;if(s)$=s;else if(r){const T=Jn(r);$=T&&Tu(T)?te(T).body:te(null).body}const I=!p&&l&&(!v||C)?"none":void 0,A=v?{in:p,onEnter:w,onExited:P}:void 0;return f.jsx(Ei,{disablePortal:i,container:$,children:f.jsx(Au,{anchorEl:r,direction:a,disablePortal:i,modifiers:c,ref:o,open:v?!C:p,placement:u,popperOptions:m,popperRef:g,slotProps:h,slots:y,...S,style:{position:"fixed",top:0,left:0,display:I,...b},TransitionProps:A,children:n})})}),Eu=k(Bu,{name:"MuiPopper",slot:"Root",overridesResolver:(t,e)=>e.root})({}),vn=d.forwardRef(function(e,o){const r=Ke(),n=_({props:e,name:"MuiPopper"}),{anchorEl:s,component:a,components:i,componentsProps:l,container:c,disablePortal:p,keepMounted:u,modifiers:m,open:g,placement:b,popperOptions:v,popperRef:h,transition:y,slots:S,slotProps:C,...x}=n,w=(S==null?void 0:S.root)??(i==null?void 0:i.Root),P={anchorEl:s,container:c,disablePortal:p,keepMounted:u,modifiers:m,open:g,placement:b,popperOptions:v,popperRef:h,transition:y,...x};return f.jsx(Eu,{as:a,direction:r?"rtl":"ltr",slots:{root:w},slotProps:C??l,...P,ref:o})});function Ou(t){return V("MuiListSubheader",t)}const GS=K("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]),Nu=t=>{const{classes:e,color:o,disableGutters:r,inset:n,disableSticky:s}=t,a={root:["root",o!=="default"&&`color${B(o)}`,!r&&"gutters",n&&"inset",!s&&"sticky"]};return G(a,Ou,e)},zu=k("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color!=="default"&&e[`color${B(o.color)}`],!o.disableGutters&&e.gutters,o.inset&&e.inset,!o.disableSticky&&e.sticky]}})(W(({theme:t})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(t.vars||t).palette.text.secondary,fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(t.vars||t).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.inset,style:{paddingLeft:72}},{props:({ownerState:e})=>!e.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(t.vars||t).palette.background.paper}}]}))),ts=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListSubheader"}),{className:n,color:s="default",component:a="li",disableGutters:i=!1,disableSticky:l=!1,inset:c=!1,...p}=r,u={...r,color:s,component:a,disableGutters:i,disableSticky:l,inset:c},m=Nu(u);return f.jsx(zu,{as:a,className:j(m.root,n),ref:o,ownerState:u,...p})});ts&&(ts.muiSkipListHighlight=!0);const ju=Qt(f.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 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 12 17 15.59z"}),"Cancel");function Du(t){return V("MuiChip",t)}const Wt=K("MuiChip",["root","sizeSmall","sizeMedium","colorDefault","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),Fu=t=>{const{classes:e,disabled:o,size:r,color:n,iconColor:s,onDelete:a,clickable:i,variant:l}=t,c={root:["root",l,o&&"disabled",`size${B(r)}`,`color${B(n)}`,i&&"clickable",i&&`clickableColor${B(n)}`,a&&"deletable",a&&`deletableColor${B(n)}`,`${l}${B(n)}`],label:["label",`label${B(r)}`],avatar:["avatar",`avatar${B(r)}`,`avatarColor${B(n)}`],icon:["icon",`icon${B(r)}`,`iconColor${B(s)}`],deleteIcon:["deleteIcon",`deleteIcon${B(r)}`,`deleteIconColor${B(n)}`,`deleteIcon${B(l)}Color${B(n)}`]};return G(c,Du,e)},Wu=k("div",{name:"MuiChip",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{color:r,iconColor:n,clickable:s,onDelete:a,size:i,variant:l}=o;return[{[`& .${Wt.avatar}`]:e.avatar},{[`& .${Wt.avatar}`]:e[`avatar${B(i)}`]},{[`& .${Wt.avatar}`]:e[`avatarColor${B(r)}`]},{[`& .${Wt.icon}`]:e.icon},{[`& .${Wt.icon}`]:e[`icon${B(i)}`]},{[`& .${Wt.icon}`]:e[`iconColor${B(n)}`]},{[`& .${Wt.deleteIcon}`]:e.deleteIcon},{[`& .${Wt.deleteIcon}`]:e[`deleteIcon${B(i)}`]},{[`& .${Wt.deleteIcon}`]:e[`deleteIconColor${B(r)}`]},{[`& .${Wt.deleteIcon}`]:e[`deleteIcon${B(l)}Color${B(r)}`]},e.root,e[`size${B(i)}`],e[`color${B(r)}`],s&&e.clickable,s&&r!=="default"&&e[`clickableColor${B(r)})`],a&&e.deletable,a&&r!=="default"&&e[`deletableColor${B(r)}`],e[l],e[`${l}${B(r)}`]]}})(W(({theme:t})=>{const e=t.palette.mode==="light"?t.palette.grey[700]:t.palette.grey[300];return{maxWidth:"100%",fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(t.vars||t).palette.text.primary,backgroundColor:(t.vars||t).palette.action.selected,borderRadius:32/2,whiteSpace:"nowrap",transition:t.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${Wt.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${Wt.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:t.vars?t.vars.palette.Chip.defaultAvatarColor:e,fontSize:t.typography.pxToRem(12)},[`& .${Wt.avatarColorPrimary}`]:{color:(t.vars||t).palette.primary.contrastText,backgroundColor:(t.vars||t).palette.primary.dark},[`& .${Wt.avatarColorSecondary}`]:{color:(t.vars||t).palette.secondary.contrastText,backgroundColor:(t.vars||t).palette.secondary.dark},[`& .${Wt.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:t.typography.pxToRem(10)},[`& .${Wt.icon}`]:{marginLeft:5,marginRight:-6},[`& .${Wt.deleteIcon}`]:{WebkitTapHighlightColor:"transparent",color:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / 0.26)`:kt(t.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / 0.4)`:kt(t.palette.text.primary,.4)}},variants:[{props:{size:"small"},style:{height:24,[`& .${Wt.icon}`]:{fontSize:18,marginLeft:4,marginRight:-4},[`& .${Wt.deleteIcon}`]:{fontSize:16,marginRight:4,marginLeft:-4}}},...Object.entries(t.palette).filter(jt(["contrastText"])).map(([o])=>({props:{color:o},style:{backgroundColor:(t.vars||t).palette[o].main,color:(t.vars||t).palette[o].contrastText,[`& .${Wt.deleteIcon}`]:{color:t.vars?`rgba(${t.vars.palette[o].contrastTextChannel} / 0.7)`:kt(t.palette[o].contrastText,.7),"&:hover, &:active":{color:(t.vars||t).palette[o].contrastText}}}})),{props:o=>o.iconColor===o.color,style:{[`& .${Wt.icon}`]:{color:t.vars?t.vars.palette.Chip.defaultIconColor:e}}},{props:o=>o.iconColor===o.color&&o.color!=="default",style:{[`& .${Wt.icon}`]:{color:"inherit"}}},{props:{onDelete:!0},style:{[`&.${Wt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}}},...Object.entries(t.palette).filter(jt(["dark"])).map(([o])=>({props:{color:o,onDelete:!0},style:{[`&.${Wt.focusVisible}`]:{background:(t.vars||t).palette[o].dark}}})),{props:{clickable:!0},style:{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity)},[`&.${Wt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)},"&:active":{boxShadow:(t.vars||t).shadows[1]}}},...Object.entries(t.palette).filter(jt(["dark"])).map(([o])=>({props:{color:o,clickable:!0},style:{[`&:hover, &.${Wt.focusVisible}`]:{backgroundColor:(t.vars||t).palette[o].dark}}})),{props:{variant:"outlined"},style:{backgroundColor:"transparent",border:t.vars?`1px solid ${t.vars.palette.Chip.defaultBorder}`:`1px solid ${t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[700]}`,[`&.${Wt.clickable}:hover`]:{backgroundColor:(t.vars||t).palette.action.hover},[`&.${Wt.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`& .${Wt.avatar}`]:{marginLeft:4},[`& .${Wt.avatarSmall}`]:{marginLeft:2},[`& .${Wt.icon}`]:{marginLeft:4},[`& .${Wt.iconSmall}`]:{marginLeft:2},[`& .${Wt.deleteIcon}`]:{marginRight:5},[`& .${Wt.deleteIconSmall}`]:{marginRight:3}}},...Object.entries(t.palette).filter(jt()).map(([o])=>({props:{variant:"outlined",color:o},style:{color:(t.vars||t).palette[o].main,border:`1px solid ${t.vars?`rgba(${t.vars.palette[o].mainChannel} / 0.7)`:kt(t.palette[o].main,.7)}`,[`&.${Wt.clickable}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette[o].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[o].main,t.palette.action.hoverOpacity)},[`&.${Wt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette[o].mainChannel} / ${t.vars.palette.action.focusOpacity})`:kt(t.palette[o].main,t.palette.action.focusOpacity)},[`& .${Wt.deleteIcon}`]:{color:t.vars?`rgba(${t.vars.palette[o].mainChannel} / 0.7)`:kt(t.palette[o].main,.7),"&:hover, &:active":{color:(t.vars||t).palette[o].main}}}}))]}})),Uu=k("span",{name:"MuiChip",slot:"Label",overridesResolver:(t,e)=>{const{ownerState:o}=t,{size:r}=o;return[e.label,e[`label${B(r)}`]]}})({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap",variants:[{props:{variant:"outlined"},style:{paddingLeft:11,paddingRight:11}},{props:{size:"small"},style:{paddingLeft:8,paddingRight:8}},{props:{size:"small",variant:"outlined"},style:{paddingLeft:7,paddingRight:7}}]});function pa(t){return t.key==="Backspace"||t.key==="Delete"}const Hu=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiChip"}),{avatar:n,className:s,clickable:a,color:i="default",component:l,deleteIcon:c,disabled:p=!1,icon:u,label:m,onClick:g,onDelete:b,onKeyDown:v,onKeyUp:h,size:y="medium",variant:S="filled",tabIndex:C,skipFocusWhenDisabled:x=!1,...w}=r,P=d.useRef(null),$=qt(P,o),I=N=>{N.stopPropagation(),b&&b(N)},A=N=>{N.currentTarget===N.target&&pa(N)&&N.preventDefault(),v&&v(N)},T=N=>{N.currentTarget===N.target&&b&&pa(N)&&b(N),h&&h(N)},z=a!==!1&&g?!0:a,E=z||b?ue:l||"div",R={...r,component:E,disabled:p,size:y,color:i,iconColor:d.isValidElement(u)&&u.props.color||i,onDelete:!!b,clickable:z,variant:S},M=Fu(R),O=E===ue?{component:l||"div",focusVisibleClassName:M.focusVisible,...b&&{disableRipple:!0}}:{};let L=null;b&&(L=c&&d.isValidElement(c)?d.cloneElement(c,{className:j(c.props.className,M.deleteIcon),onClick:I}):f.jsx(ju,{className:j(M.deleteIcon),onClick:I}));let F=null;n&&d.isValidElement(n)&&(F=d.cloneElement(n,{className:j(M.avatar,n.props.className)}));let D=null;return u&&d.isValidElement(u)&&(D=d.cloneElement(u,{className:j(M.icon,u.props.className)})),f.jsxs(Wu,{as:E,className:j(M.root,s),disabled:z&&p?!0:void 0,onClick:g,onKeyDown:A,onKeyUp:T,ref:$,tabIndex:x&&p?-1:C,ownerState:R,...O,...w,children:[F||D,f.jsx(Uu,{className:j(M.label),ownerState:R,children:m}),L]})});function zr(t){return parseInt(t,10)||0}const Vu={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function Gu(t){for(const e in t)return!1;return!0}function da(t){return Gu(t)||t.outerHeightStyle===0&&!t.overflowing}const Ku=d.forwardRef(function(e,o){const{onChange:r,maxRows:n,minRows:s=1,style:a,value:i,...l}=e,{current:c}=d.useRef(i!=null),p=d.useRef(null),u=qt(o,p),m=d.useRef(null),g=d.useRef(null),b=d.useCallback(()=>{const C=p.current,x=g.current;if(!C||!x)return;const P=me(C).getComputedStyle(C);if(P.width==="0px")return{outerHeightStyle:0,overflowing:!1};x.style.width=P.width,x.value=C.value||e.placeholder||"x",x.value.slice(-1)===` -`&&(x.value+=" ");const $=P.boxSizing,I=zr(P.paddingBottom)+zr(P.paddingTop),A=zr(P.borderBottomWidth)+zr(P.borderTopWidth),T=x.scrollHeight;x.value="x";const z=x.scrollHeight;let E=T;s&&(E=Math.max(Number(s)*z,E)),n&&(E=Math.min(Number(n)*z,E)),E=Math.max(E,z);const R=E+($==="border-box"?I+A:0),M=Math.abs(E-T)<=1;return{outerHeightStyle:R,overflowing:M}},[n,s,e.placeholder]),v=ee(()=>{const C=p.current,x=b();if(!C||!x||da(x))return!1;const w=x.outerHeightStyle;return m.current!=null&&m.current!==w}),h=d.useCallback(()=>{const C=p.current,x=b();if(!C||!x||da(x))return;const w=x.outerHeightStyle;m.current!==w&&(m.current=w,C.style.height=`${w}px`),C.style.overflow=x.overflowing?"hidden":""},[b]),y=d.useRef(-1);be(()=>{const C=$r(h),x=p==null?void 0:p.current;if(!x)return;const w=me(x);w.addEventListener("resize",C);let P;return typeof ResizeObserver<"u"&&(P=new ResizeObserver(()=>{v()&&(P.unobserve(x),cancelAnimationFrame(y.current),h(),y.current=requestAnimationFrame(()=>{P.observe(x)}))}),P.observe(x)),()=>{C.clear(),cancelAnimationFrame(y.current),w.removeEventListener("resize",C),P&&P.disconnect()}},[b,h,v]),be(()=>{h()});const S=C=>{c||h(),r&&r(C)};return f.jsxs(d.Fragment,{children:[f.jsx("textarea",{value:i,onChange:S,ref:u,rows:s,style:a,...l}),f.jsx("textarea",{"aria-hidden":!0,className:e.className,readOnly:!0,ref:g,tabIndex:-1,style:{...Vu.shadow,...a,paddingTop:0,paddingBottom:0}})]})});function so(t){return typeof t=="string"}function lo({props:t,states:e,muiFormControl:o}){return e.reduce((r,n)=>(r[n]=t[n],o&&typeof t[n]>"u"&&(r[n]=o[n]),r),{})}const hn=d.createContext(void 0);function He(){return d.useContext(hn)}function ua(t){return t!=null&&!(Array.isArray(t)&&t.length===0)}function an(t,e=!1){return t&&(ua(t.value)&&t.value!==""||e&&ua(t.defaultValue)&&t.defaultValue!=="")}function qu(t){return t.startAdornment}function Xu(t){return V("MuiInputBase",t)}const ke=K("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]);var fa;const yn=(t,e)=>{const{ownerState:o}=t;return[e.root,o.formControl&&e.formControl,o.startAdornment&&e.adornedStart,o.endAdornment&&e.adornedEnd,o.error&&e.error,o.size==="small"&&e.sizeSmall,o.multiline&&e.multiline,o.color&&e[`color${B(o.color)}`],o.fullWidth&&e.fullWidth,o.hiddenLabel&&e.hiddenLabel]},xn=(t,e)=>{const{ownerState:o}=t;return[e.input,o.size==="small"&&e.inputSizeSmall,o.multiline&&e.inputMultiline,o.type==="search"&&e.inputTypeSearch,o.startAdornment&&e.inputAdornedStart,o.endAdornment&&e.inputAdornedEnd,o.hiddenLabel&&e.inputHiddenLabel]},_u=t=>{const{classes:e,color:o,disabled:r,error:n,endAdornment:s,focused:a,formControl:i,fullWidth:l,hiddenLabel:c,multiline:p,readOnly:u,size:m,startAdornment:g,type:b}=t,v={root:["root",`color${B(o)}`,r&&"disabled",n&&"error",l&&"fullWidth",a&&"focused",i&&"formControl",m&&m!=="medium"&&`size${B(m)}`,p&&"multiline",g&&"adornedStart",s&&"adornedEnd",c&&"hiddenLabel",u&&"readOnly"],input:["input",r&&"disabled",b==="search"&&"inputTypeSearch",p&&"inputMultiline",m==="small"&&"inputSizeSmall",c&&"inputHiddenLabel",g&&"inputAdornedStart",s&&"inputAdornedEnd",u&&"readOnly"]};return G(v,Xu,e)},Cn=k("div",{name:"MuiInputBase",slot:"Root",overridesResolver:yn})(W(({theme:t})=>({...t.typography.body1,color:(t.vars||t).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${ke.disabled}`]:{color:(t.vars||t).palette.text.disabled,cursor:"default"},variants:[{props:({ownerState:e})=>e.multiline,style:{padding:"4px 0 5px"}},{props:({ownerState:e,size:o})=>e.multiline&&o==="small",style:{paddingTop:1}},{props:({ownerState:e})=>e.fullWidth,style:{width:"100%"}}]}))),Sn=k("input",{name:"MuiInputBase",slot:"Input",overridesResolver:xn})(W(({theme:t})=>{const e=t.palette.mode==="light",o={color:"currentColor",...t.vars?{opacity:t.vars.opacity.inputPlaceholder}:{opacity:e?.42:.5},transition:t.transitions.create("opacity",{duration:t.transitions.duration.shorter})},r={opacity:"0 !important"},n=t.vars?{opacity:t.vars.opacity.inputPlaceholder}:{opacity:e?.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":o,"&::-moz-placeholder":o,"&::-ms-input-placeholder":o,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${ke.formControl} &`]:{"&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&::-ms-input-placeholder":r,"&:focus::-webkit-input-placeholder":n,"&:focus::-moz-placeholder":n,"&:focus::-ms-input-placeholder":n},[`&.${ke.disabled}`]:{opacity:1,WebkitTextFillColor:(t.vars||t).palette.text.disabled},variants:[{props:({ownerState:s})=>!s.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:s})=>s.multiline,style:{height:"auto",resize:"none",padding:0,paddingTop:0}},{props:{type:"search"},style:{MozAppearance:"textfield"}}]}})),ga=bs({"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}),wn=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiInputBase"}),{"aria-describedby":n,autoComplete:s,autoFocus:a,className:i,color:l,components:c={},componentsProps:p={},defaultValue:u,disabled:m,disableInjectingGlobalStyles:g,endAdornment:b,error:v,fullWidth:h=!1,id:y,inputComponent:S="input",inputProps:C={},inputRef:x,margin:w,maxRows:P,minRows:$,multiline:I=!1,name:A,onBlur:T,onChange:z,onClick:E,onFocus:R,onKeyDown:M,onKeyUp:O,placeholder:L,readOnly:F,renderSuffix:D,rows:N,size:J,slotProps:U={},slots:wt={},startAdornment:vt,type:mt="text",value:et,...rt}=r,Y=C.value!=null?C.value:et,{current:at}=d.useRef(Y!=null),ct=d.useRef(),st=d.useCallback(Ct=>{},[]),ft=qt(ct,x,C.ref,st),[Z,pt]=d.useState(!1),it=He(),ht=lo({props:r,muiFormControl:it,states:["color","disabled","error","hiddenLabel","size","required","filled"]});ht.focused=it?it.focused:Z,d.useEffect(()=>{!it&&m&&Z&&(pt(!1),T&&T())},[it,m,Z,T]);const Mt=it&&it.onFilled,tt=it&&it.onEmpty,ot=d.useCallback(Ct=>{an(Ct)?Mt&&Mt():tt&&tt()},[Mt,tt]);be(()=>{at&&ot({value:Y})},[Y,ot,at]);const dt=Ct=>{R&&R(Ct),C.onFocus&&C.onFocus(Ct),it&&it.onFocus?it.onFocus(Ct):pt(!0)},St=Ct=>{T&&T(Ct),C.onBlur&&C.onBlur(Ct),it&&it.onBlur?it.onBlur(Ct):pt(!1)},gt=(Ct,...Ut)=>{if(!at){const Et=Ct.target||ct.current;if(Et==null)throw new Error(Oo(1));ot({value:Et.value})}C.onChange&&C.onChange(Ct,...Ut),z&&z(Ct,...Ut)};d.useEffect(()=>{ot(ct.current)},[]);const nt=Ct=>{ct.current&&Ct.currentTarget===Ct.target&&ct.current.focus(),E&&E(Ct)};let Tt=S,At=C;I&&Tt==="input"&&(N?At={type:void 0,minRows:N,maxRows:N,...At}:At={type:void 0,maxRows:P,minRows:$,...At},Tt=Ku);const q=Ct=>{ot(Ct.animationName==="mui-auto-fill-cancel"?ct.current:{value:"x"})};d.useEffect(()=>{it&&it.setAdornedStart(!!vt)},[it,vt]);const lt={...r,color:ht.color||"primary",disabled:ht.disabled,endAdornment:b,error:ht.error,focused:ht.focused,formControl:it,fullWidth:h,hiddenLabel:ht.hiddenLabel,multiline:I,size:ht.size,startAdornment:vt,type:mt},bt=_u(lt),$t=wt.root||c.Root||Cn,It=U.root||p.root||{},ut=wt.input||c.Input||Sn;return At={...At,...U.input??p.input},f.jsxs(d.Fragment,{children:[!g&&typeof ga=="function"&&(fa||(fa=f.jsx(ga,{}))),f.jsxs($t,{...It,ref:o,onClick:nt,...rt,...!so($t)&&{ownerState:{...lt,...It.ownerState}},className:j(bt.root,It.className,i,F&&"MuiInputBase-readOnly"),children:[vt,f.jsx(hn.Provider,{value:null,children:f.jsx(ut,{"aria-invalid":ht.error,"aria-describedby":n,autoComplete:s,autoFocus:a,defaultValue:u,disabled:ht.disabled,id:y,onAnimationStart:q,name:A,placeholder:L,readOnly:F,required:ht.required,rows:N,value:Y,onKeyDown:M,onKeyUp:O,type:mt,...At,...!so(ut)&&{as:Tt,ownerState:{...lt,...At.ownerState}},ref:ft,className:j(bt.input,At.className,F&&"MuiInputBase-readOnly"),onBlur:St,onChange:gt,onFocus:dt})}),b,D?D({...ht,startAdornment:vt}):null]})]})});function Yu(t){return V("MuiInput",t)}const bo={...ke,...K("MuiInput",["root","underline","input"])};function Zu(t){return V("MuiOutlinedInput",t)}const Ee={...ke,...K("MuiOutlinedInput",["root","notchedOutline","input"])};function Qu(t){return V("MuiFilledInput",t)}const Ie={...ke,...K("MuiFilledInput",["root","underline","input","adornedStart","adornedEnd","sizeSmall","multiline","hiddenLabel"])},$s=Qt(f.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");function Ju(t){return V("MuiAutocomplete",t)}const zt=K("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var ma,ba;const tf=t=>{const{classes:e,disablePortal:o,expanded:r,focused:n,fullWidth:s,hasClearIcon:a,hasPopupIcon:i,inputFocused:l,popupOpen:c,size:p}=t,u={root:["root",r&&"expanded",n&&"focused",s&&"fullWidth",a&&"hasClearIcon",i&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${B(p)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",c&&"popupIndicatorOpen"],popper:["popper",o&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return G(u,Ju,e)},ef=k("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{fullWidth:r,hasClearIcon:n,hasPopupIcon:s,inputFocused:a,size:i}=o;return[{[`& .${zt.tag}`]:e.tag},{[`& .${zt.tag}`]:e[`tagSize${B(i)}`]},{[`& .${zt.inputRoot}`]:e.inputRoot},{[`& .${zt.input}`]:e.input},{[`& .${zt.input}`]:a&&e.inputFocused},e.root,r&&e.fullWidth,s&&e.hasPopupIcon,n&&e.hasClearIcon]}})({[`&.${zt.focused} .${zt.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${zt.clearIndicator}`]:{visibility:"visible"}},[`& .${zt.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${zt.inputRoot}`]:{[`.${zt.hasPopupIcon}&, .${zt.hasClearIcon}&`]:{paddingRight:30},[`.${zt.hasPopupIcon}.${zt.hasClearIcon}&`]:{paddingRight:56},[`& .${zt.input}`]:{width:0,minWidth:30}},[`& .${bo.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${bo.root}.${ke.sizeSmall}`]:{[`& .${bo.input}`]:{padding:"2px 4px 3px 0"}},[`& .${Ee.root}`]:{padding:9,[`.${zt.hasPopupIcon}&, .${zt.hasClearIcon}&`]:{paddingRight:39},[`.${zt.hasPopupIcon}.${zt.hasClearIcon}&`]:{paddingRight:65},[`& .${zt.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${zt.endAdornment}`]:{right:9}},[`& .${Ee.root}.${ke.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${zt.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${Ie.root}`]:{paddingTop:19,paddingLeft:8,[`.${zt.hasPopupIcon}&, .${zt.hasClearIcon}&`]:{paddingRight:39},[`.${zt.hasPopupIcon}.${zt.hasClearIcon}&`]:{paddingRight:65},[`& .${Ie.input}`]:{padding:"7px 4px"},[`& .${zt.endAdornment}`]:{right:9}},[`& .${Ie.root}.${ke.sizeSmall}`]:{paddingBottom:1,[`& .${Ie.input}`]:{padding:"2.5px 4px"}},[`& .${ke.hiddenLabel}`]:{paddingTop:8},[`& .${Ie.root}.${ke.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${zt.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${Ie.root}.${ke.hiddenLabel}.${ke.sizeSmall}`]:{[`& .${zt.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${zt.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${zt.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${zt.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${zt.inputRoot}`]:{flexWrap:"wrap"}}}]}),of=k("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(t,e)=>e.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),rf=k(ko,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(t,e)=>e.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),nf=k(ko,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.popupIndicator,o.popupOpen&&e.popupIndicatorOpen]}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),sf=k(vn,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${zt.option}`]:e.option},e.popper,o.disablePortal&&e.popperDisablePortal]}})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),af=k(Ue,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(t,e)=>e.paper})(W(({theme:t})=>({...t.typography.body1,overflow:"auto"}))),lf=k("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(t,e)=>e.loading})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}))),cf=k("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(t,e)=>e.noOptions})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}))),pf=k("ul",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(t,e)=>e.listbox})(W(({theme:t})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${zt.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[t.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${zt.focused}`]:{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${zt.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${zt.focused}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(t.vars||t).palette.action.selected}},[`&.${zt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}}}}))),df=k(ts,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(t,e)=>e.groupLabel})(W(({theme:t})=>({backgroundColor:(t.vars||t).palette.background.paper,top:-8}))),uf=k("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(t,e)=>e.groupUl})({padding:0,[`& .${zt.option}`]:{paddingLeft:24}}),KS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAutocomplete"}),{autoComplete:n=!1,autoHighlight:s=!1,autoSelect:a=!1,blurOnSelect:i=!1,ChipProps:l,className:c,clearIcon:p=ma||(ma=f.jsx(Ri,{fontSize:"small"})),clearOnBlur:u=!r.freeSolo,clearOnEscape:m=!1,clearText:g="Clear",closeText:b="Close",componentsProps:v,defaultValue:h=r.multiple?[]:null,disableClearable:y=!1,disableCloseOnSelect:S=!1,disabled:C=!1,disabledItemsFocusable:x=!1,disableListWrap:w=!1,disablePortal:P=!1,filterOptions:$,filterSelectedOptions:I=!1,forcePopupIcon:A="auto",freeSolo:T=!1,fullWidth:z=!1,getLimitTagsText:E=Kt=>`+${Kt}`,getOptionDisabled:R,getOptionKey:M,getOptionLabel:O,isOptionEqualToValue:L,groupBy:F,handleHomeEndKeys:D=!r.freeSolo,id:N,includeInputInList:J=!1,inputValue:U,limitTags:wt=-1,ListboxComponent:vt,ListboxProps:mt,loading:et=!1,loadingText:rt="Loading…",multiple:Y=!1,noOptionsText:at="No options",onChange:ct,onClose:st,onHighlightChange:ft,onInputChange:Z,onOpen:pt,open:it,openOnFocus:ht=!1,openText:Mt="Open",options:tt,PaperComponent:ot,PopperComponent:dt,popupIcon:St=ba||(ba=f.jsx($s,{})),readOnly:gt=!1,renderGroup:nt,renderInput:Tt,renderOption:At,renderTags:q,selectOnFocus:lt=!r.freeSolo,size:bt="medium",slots:$t={},slotProps:It={},value:ut,...Ct}=r,{getRootProps:Ut,getInputProps:Et,getInputLabelProps:Gt,getPopupIndicatorProps:xt,getClearProps:Bt,getTagProps:Xt,getListboxProps:oe,getOptionProps:fe,value:ie,dirty:Pe,expanded:Vt,id:_t,popupOpen:ce,focused:$e,focusedTag:pe,anchorEl:Lt,setAnchorEl:ge,inputValue:yt,groupedOptions:Pt}=yd({...r,componentName:"Autocomplete"}),Dt=!y&&!C&&Pe&&!gt,Ft=(!T||A===!0)&&A!==!1,{onMouseDown:Zt}=Et(),{ref:Se,...Ve}=oe(),co=O||(Kt=>Kt.label??Kt),ne={...r,disablePortal:P,expanded:Vt,focused:$e,fullWidth:z,getOptionLabel:co,hasClearIcon:Dt,hasPopupIcon:Ft,inputFocused:pe===-1,popupOpen:ce,size:bt},de=tf(ne),qe={slots:{paper:ot,popper:dt,...$t},slotProps:{chip:l,listbox:mt,...v,...It}},[Mr,X]=Q("listbox",{elementType:pf,externalForwardedProps:qe,ownerState:ne,className:de.listbox,additionalProps:Ve,ref:Se}),[H,Rt]=Q("paper",{elementType:Ue,externalForwardedProps:qe,ownerState:ne,className:de.paper}),[Ot,Ht]=Q("popper",{elementType:vn,externalForwardedProps:qe,ownerState:ne,className:de.popper,additionalProps:{disablePortal:P,style:{width:Lt?Lt.clientWidth:null},role:"presentation",anchorEl:Lt,open:ce}});let Yt;if(Y&&ie.length>0){const Kt=Xe=>({className:de.tag,disabled:C,...Xt(Xe)});q?Yt=q(ie,Kt,ne):Yt=ie.map((Xe,po)=>{const{key:Qo,...hl}=Kt({index:po});return f.jsx(Hu,{label:co(Xe),size:bt,...hl,...qe.slotProps.chip},Qo)})}if(wt>-1&&Array.isArray(Yt)){const Kt=Yt.length-wt;!$e&&Kt>0&&(Yt=Yt.splice(0,wt),Yt.push(f.jsx("span",{className:de.tag,children:E(Kt)},Yt.length)))}const Ae=nt||(Kt=>f.jsxs("li",{children:[f.jsx(df,{className:de.groupLabel,ownerState:ne,component:"div",children:Kt.group}),f.jsx(uf,{className:de.groupUl,ownerState:ne,children:Kt.children})]},Kt.key)),vl=At||((Kt,Xe)=>{const{key:po,...Qo}=Kt;return f.jsx("li",{...Qo,children:co(Xe)},po)}),Os=(Kt,Xe)=>{const po=fe({option:Kt,index:Xe});return vl({...po,className:de.option},Kt,{selected:po["aria-selected"],index:Xe,inputValue:yt},ne)},Lr=qe.slotProps.clearIndicator,Ar=qe.slotProps.popupIndicator;return f.jsxs(d.Fragment,{children:[f.jsx(ef,{ref:o,className:j(de.root,c),ownerState:ne,...Ut(Ct),children:Tt({id:_t,disabled:C,fullWidth:!0,size:bt==="small"?"small":void 0,InputLabelProps:Gt(),InputProps:{ref:ge,className:de.inputRoot,startAdornment:Yt,onMouseDown:Kt=>{Kt.target===Kt.currentTarget&&Zt(Kt)},...(Dt||Ft)&&{endAdornment:f.jsxs(of,{className:de.endAdornment,ownerState:ne,children:[Dt?f.jsx(rf,{...Bt(),"aria-label":g,title:g,ownerState:ne,...Lr,className:j(de.clearIndicator,Lr==null?void 0:Lr.className),children:p}):null,Ft?f.jsx(nf,{...xt(),disabled:C,"aria-label":ce?b:Mt,title:ce?b:Mt,ownerState:ne,...Ar,className:j(de.popupIndicator,Ar==null?void 0:Ar.className),children:St}):null]})}},inputProps:{className:de.input,disabled:C,readOnly:gt,...Et()}})}),Lt?f.jsx(sf,{as:Ot,...Ht,children:f.jsxs(af,{as:H,...Rt,children:[et&&Pt.length===0?f.jsx(lf,{className:de.loading,ownerState:ne,children:rt}):null,Pt.length===0&&!T&&!et?f.jsx(cf,{className:de.noOptions,ownerState:ne,role:"presentation",onMouseDown:Kt=>{Kt.preventDefault()},children:at}):null,Pt.length>0?f.jsx(Mr,{as:vt,...X,children:Pt.map((Kt,Xe)=>F?Ae({key:Kt.key,group:Kt.group,children:Kt.options.map((po,Qo)=>Os(po,Kt.index+Qo))}):Os(Kt,Xe))}):null]})}):null]})}),ff=Qt(f.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function gf(t){return V("MuiAvatar",t)}const mf=K("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]),bf=t=>{const{classes:e,variant:o,colorDefault:r}=t;return G({root:["root",o,r&&"colorDefault"],img:["img"],fallback:["fallback"]},gf,e)},vf=k("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],o.colorDefault&&e.colorDefault]}})(W(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:{color:(t.vars||t).palette.background.default,...t.vars?{backgroundColor:t.vars.palette.Avatar.defaultBg}:{backgroundColor:t.palette.grey[400],...t.applyStyles("dark",{backgroundColor:t.palette.grey[600]})}}}]}))),hf=k("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(t,e)=>e.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),yf=k(ff,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(t,e)=>e.fallback})({width:"75%",height:"75%"});function xf({crossOrigin:t,referrerPolicy:e,src:o,srcSet:r}){const[n,s]=d.useState(!1);return d.useEffect(()=>{if(!o&&!r)return;s(!1);let a=!0;const i=new Image;return i.onload=()=>{a&&s("loaded")},i.onerror=()=>{a&&s("error")},i.crossOrigin=t,i.referrerPolicy=e,i.src=o,r&&(i.srcset=r),()=>{a=!1}},[t,e,o,r]),n}const Cf=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAvatar"}),{alt:n,children:s,className:a,component:i="div",slots:l={},slotProps:c={},imgProps:p,sizes:u,src:m,srcSet:g,variant:b="circular",...v}=r;let h=null;const y={...r,component:i,variant:b},S=xf({...p,...typeof c.img=="function"?c.img(y):c.img,src:m,srcSet:g}),C=m||g,x=C&&S!=="error";y.colorDefault=!x,delete y.ownerState;const w=bf(y),[P,$]=Q("img",{className:w.img,elementType:hf,externalForwardedProps:{slots:l,slotProps:{img:{...p,...c.img}}},additionalProps:{alt:n,src:m,srcSet:g,sizes:u},ownerState:y});return x?h=f.jsx(P,{...$}):s||s===0?h=s:C&&n?h=n[0]:h=f.jsx(yf,{ownerState:y,className:w.fallback}),f.jsx(vf,{as:i,className:j(w.root,a),ref:o,...v,ownerState:y,children:h})});function Sf(t){return V("MuiAvatarGroup",t)}const wf=K("MuiAvatarGroup",["root","avatar"]),$n={small:-16,medium:-8},Rf=t=>{const{classes:e}=t;return G({root:["root"],avatar:["avatar"]},Sf,e)},Pf=k("div",{name:"MuiAvatarGroup",slot:"Root",overridesResolver:(t,e)=>[{[`& .${wf.avatar}`]:e.avatar},e.root]})(W(({theme:t})=>({display:"flex",flexDirection:"row-reverse",[`& .${mf.root}`]:{border:`2px solid ${(t.vars||t).palette.background.default}`,boxSizing:"content-box",marginLeft:"var(--AvatarGroup-spacing, -8px)","&:last-child":{marginLeft:0}}}))),qS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAvatarGroup"}),{children:n,className:s,component:a="div",componentsProps:i,max:l=5,renderSurplus:c,slotProps:p={},slots:u={},spacing:m="medium",total:g,variant:b="circular",...v}=r;let h=l<2?2:l;const y={...r,max:l,spacing:m,component:a,variant:b},S=Rf(y),C=d.Children.toArray(n).filter(E=>d.isValidElement(E)),x=g||C.length;x===h&&(h+=1),h=Math.min(x+1,h);const w=Math.min(C.length,h-1),P=Math.max(x-h,x-w,0),$=c?c(P):`+${P}`;let I;y.spacing&&$n[y.spacing]!==void 0?I=$n[y.spacing]:y.spacing===0?I=0:I=-y.spacing||$n.medium;const A={slots:u,slotProps:{surplus:p.additionalAvatar??(i==null?void 0:i.additionalAvatar),...i,...p}},[T,z]=Q("surplus",{elementType:Cf,externalForwardedProps:A,className:S.avatar,ownerState:y,additionalProps:{variant:b}});return f.jsxs(Pf,{as:a,ownerState:y,className:j(S.root,s),ref:o,...v,style:{"--AvatarGroup-spacing":`${I}px`,...v.style},children:[P?f.jsx(T,{...z,children:$}):null,C.slice(0,w).reverse().map(E=>d.cloneElement(E,{className:j(E.props.className,S.avatar),variant:E.props.variant||b}))]})}),$f={entering:{opacity:1},entered:{opacity:1}},es=d.forwardRef(function(e,o){const r=le(),n={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:a=!0,children:i,easing:l,in:c,onEnter:p,onEntered:u,onEntering:m,onExit:g,onExited:b,onExiting:v,style:h,timeout:y=n,TransitionComponent:S=Le,...C}=e,x=d.useRef(null),w=qt(x,io(i),o),P=M=>O=>{if(M){const L=x.current;O===void 0?M(L):M(L,O)}},$=P(m),I=P((M,O)=>{mn(M);const L=Ge({style:h,timeout:y,easing:l},{mode:"enter"});M.style.webkitTransition=r.transitions.create("opacity",L),M.style.transition=r.transitions.create("opacity",L),p&&p(M,O)}),A=P(u),T=P(v),z=P(M=>{const O=Ge({style:h,timeout:y,easing:l},{mode:"exit"});M.style.webkitTransition=r.transitions.create("opacity",O),M.style.transition=r.transitions.create("opacity",O),g&&g(M)}),E=P(b),R=M=>{s&&s(x.current,M)};return f.jsx(S,{appear:a,in:c,nodeRef:x,onEnter:I,onEntered:A,onEntering:$,onExit:z,onExited:E,onExiting:T,addEndListener:R,timeout:y,...C,children:(M,{ownerState:O,...L})=>d.cloneElement(i,{style:{opacity:0,visibility:M==="exited"&&!c?"hidden":void 0,...$f[M],...h,...i.props.style},ref:w,...L})})});function kf(t){return V("MuiBackdrop",t)}const XS=K("MuiBackdrop",["root","invisible"]),If=t=>{const{classes:e,invisible:o}=t;return G({root:["root",o&&"invisible"]},kf,e)},Tf=k("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.invisible&&e.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"}}]}),Oi=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiBackdrop"}),{children:n,className:s,component:a="div",invisible:i=!1,open:l,components:c={},componentsProps:p={},slotProps:u={},slots:m={},TransitionComponent:g,transitionDuration:b,...v}=r,h={...r,component:a,invisible:i},y=If(h),S={transition:g,root:c.Root,...m},C={...p,...u},x={slots:S,slotProps:C},[w,P]=Q("root",{elementType:Tf,externalForwardedProps:x,className:j(y.root,s),ownerState:h}),[$,I]=Q("transition",{elementType:es,externalForwardedProps:x,ownerState:h});return f.jsx($,{in:l,timeout:b,...v,...I,children:f.jsx(w,{"aria-hidden":!0,...P,classes:y,ref:o,children:n})})});function Mf(t){const{badgeContent:e,invisible:o=!1,max:r=99,showZero:n=!1}=t,s=ms({badgeContent:e,max:r});let a=o;o===!1&&e===0&&!n&&(a=!0);const{badgeContent:i,max:l=r}=a?s:t,c=i&&Number(i)>l?`${l}+`:i;return{badgeContent:i,invisible:a,max:l,displayValue:c}}function Lf(t){return V("MuiBadge",t)}const fo=K("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"]),kn=10,In=4,Af=t=>{const{color:e,anchorOrigin:o,invisible:r,overlap:n,variant:s,classes:a={}}=t,i={root:["root"],badge:["badge",s,r&&"invisible",`anchorOrigin${B(o.vertical)}${B(o.horizontal)}`,`anchorOrigin${B(o.vertical)}${B(o.horizontal)}${B(n)}`,`overlap${B(n)}`,e!=="default"&&`color${B(e)}`]};return G(i,Lf,a)},Bf=k("span",{name:"MuiBadge",slot:"Root",overridesResolver:(t,e)=>e.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),Ef=k("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.badge,e[o.variant],e[`anchorOrigin${B(o.anchorOrigin.vertical)}${B(o.anchorOrigin.horizontal)}${B(o.overlap)}`],o.color!=="default"&&e[`color${B(o.color)}`],o.invisible&&e.invisible]}})(W(({theme:t})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(12),minWidth:kn*2,lineHeight:1,padding:"0 6px",height:kn*2,borderRadius:kn,zIndex:1,transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.enteringScreen}),variants:[...Object.entries(t.palette).filter(jt(["contrastText"])).map(([e])=>({props:{color:e},style:{backgroundColor:(t.vars||t).palette[e].main,color:(t.vars||t).palette[e].contrastText}})),{props:{variant:"dot"},style:{borderRadius:In,height:In*2,minWidth:In*2,padding:0}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.leavingScreen})}}]})));function va(t){return{vertical:(t==null?void 0:t.vertical)??"top",horizontal:(t==null?void 0:t.horizontal)??"right"}}const _S=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiBadge"}),{anchorOrigin:n,className:s,classes:a,component:i,components:l={},componentsProps:c={},children:p,overlap:u="rectangular",color:m="default",invisible:g=!1,max:b=99,badgeContent:v,slots:h,slotProps:y,showZero:S=!1,variant:C="standard",...x}=r,{badgeContent:w,invisible:P,max:$,displayValue:I}=Mf({max:b,invisible:g,badgeContent:v,showZero:S}),A=ms({anchorOrigin:va(n),color:m,overlap:u,variant:C,badgeContent:v}),T=P||w==null&&C!=="dot",{color:z=m,overlap:E=u,anchorOrigin:R,variant:M=C}=T?A:r,O=va(R),L=M!=="dot"?I:void 0,F={...r,badgeContent:w,invisible:T,max:$,displayValue:L,showZero:S,anchorOrigin:O,color:z,overlap:E,variant:M},D=Af(F),N={slots:{root:(h==null?void 0:h.root)??l.Root,badge:(h==null?void 0:h.badge)??l.Badge},slotProps:{root:(y==null?void 0:y.root)??c.root,badge:(y==null?void 0:y.badge)??c.badge}},[J,U]=Q("root",{elementType:Bf,externalForwardedProps:{...N,...x},ownerState:F,className:j(D.root,s),ref:o,additionalProps:{as:i}}),[wt,vt]=Q("badge",{elementType:Ef,externalForwardedProps:N,ownerState:F,className:D.badge});return f.jsxs(J,{...U,children:[p,f.jsx(wt,{...vt,children:L})]})});function Of(t){return V("MuiBottomNavigation",t)}const YS=K("MuiBottomNavigation",["root"]),Nf=t=>{const{classes:e}=t;return G({root:["root"]},Of,e)},zf=k("div",{name:"MuiBottomNavigation",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({display:"flex",justifyContent:"center",height:56,backgroundColor:(t.vars||t).palette.background.paper}))),ZS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiBottomNavigation"}),{children:n,className:s,component:a="div",onChange:i,showLabels:l=!1,value:c,...p}=r,u={...r,component:a,showLabels:l},m=Nf(u);return f.jsx(zf,{as:a,className:j(m.root,s),ref:o,ownerState:u,...p,children:d.Children.map(n,(g,b)=>{if(!d.isValidElement(g))return null;const v=g.props.value===void 0?b:g.props.value;return d.cloneElement(g,{selected:v===c,showLabel:g.props.showLabel!==void 0?g.props.showLabel:l,value:v,onChange:i})})})});function jf(t){return V("MuiBottomNavigationAction",t)}const Ni=K("MuiBottomNavigationAction",["root","iconOnly","selected","label"]),Df=t=>{const{classes:e,showLabel:o,selected:r}=t;return G({root:["root",!o&&!r&&"iconOnly",r&&"selected"],label:["label",!o&&!r&&"iconOnly",r&&"selected"]},jf,e)},Ff=k(ue,{name:"MuiBottomNavigationAction",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.showLabel&&!o.selected&&e.iconOnly]}})(W(({theme:t})=>({transition:t.transitions.create(["color","padding-top"],{duration:t.transitions.duration.short}),padding:"0px 12px",minWidth:80,maxWidth:168,color:(t.vars||t).palette.text.secondary,flexDirection:"column",flex:"1",[`&.${Ni.selected}`]:{color:(t.vars||t).palette.primary.main},variants:[{props:({showLabel:e,selected:o})=>!e&&!o,style:{paddingTop:14}},{props:({showLabel:e,selected:o,label:r})=>!e&&!o&&!r,style:{paddingTop:0}}]}))),Wf=k("span",{name:"MuiBottomNavigationAction",slot:"Label",overridesResolver:(t,e)=>e.label})(W(({theme:t})=>({fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(12),opacity:1,transition:"font-size 0.2s, opacity 0.2s",transitionDelay:"0.1s",[`&.${Ni.selected}`]:{fontSize:t.typography.pxToRem(14)},variants:[{props:({showLabel:e,selected:o})=>!e&&!o,style:{opacity:0,transitionDelay:"0s"}}]}))),QS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiBottomNavigationAction"}),{className:n,icon:s,label:a,onChange:i,onClick:l,selected:c,showLabel:p,value:u,slots:m={},slotProps:g={},...b}=r,v=r,h=Df(v),y=$=>{i&&i($,u),l&&l($)},S={slots:m,slotProps:g},[C,x]=Q("root",{elementType:Ff,externalForwardedProps:{...S,...b},shouldForwardComponentProp:!0,ownerState:v,ref:o,className:j(h.root,n),additionalProps:{focusRipple:!0},getSlotProps:$=>({...$,onClick:I=>{var A;(A=$.onClick)==null||A.call($,I),y(I)}})}),[w,P]=Q("label",{elementType:Wf,externalForwardedProps:S,ownerState:v,className:h.label});return f.jsxs(C,{...x,children:[s,f.jsx(w,{...P,children:a})]})}),Uf=K("MuiBox",["root"]),Hf=ai(),JS=Gl({themeId:pn,defaultTheme:Hf,defaultClassName:Uf.root,generateClassName:li.generate}),Vf=Qt(f.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"),Gf=k(ue)(W(({theme:t})=>({display:"flex",marginLeft:`calc(${t.spacing(1)} * 0.5)`,marginRight:`calc(${t.spacing(1)} * 0.5)`,...t.palette.mode==="light"?{backgroundColor:t.palette.grey[100],color:t.palette.grey[700]}:{backgroundColor:t.palette.grey[700],color:t.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{...t.palette.mode==="light"?{backgroundColor:t.palette.grey[200]}:{backgroundColor:t.palette.grey[600]}},"&:active":{boxShadow:t.shadows[0],...t.palette.mode==="light"?{backgroundColor:tn(t.palette.grey[200],.12)}:{backgroundColor:tn(t.palette.grey[600],.12)}}}))),Kf=k(Vf)({width:24,height:16});function qf(t){const{slots:e={},slotProps:o={},...r}=t,n=t;return f.jsx("li",{children:f.jsx(Gf,{focusRipple:!0,...r,ownerState:n,children:f.jsx(Kf,{as:e.CollapsedIcon,ownerState:n,...o.collapsedIcon})})})}function Xf(t){return V("MuiBreadcrumbs",t)}const _f=K("MuiBreadcrumbs",["root","ol","li","separator"]),Yf=t=>{const{classes:e}=t;return G({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},Xf,e)},Zf=k(he,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(t,e)=>[{[`& .${_f.li}`]:e.li},e.root]})({}),Qf=k("ol",{name:"MuiBreadcrumbs",slot:"Ol",overridesResolver:(t,e)=>e.ol})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),Jf=k("li",{name:"MuiBreadcrumbs",slot:"Separator",overridesResolver:(t,e)=>e.separator})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function tg(t,e,o,r){return t.reduce((n,s,a)=>(a{const I=()=>{h(!0);const A=x.current.querySelector("a[href],button,[tabindex]");A&&A.focus()};return u+p>=$.length?$:[...$.slice(0,u),f.jsx(qf,{"aria-label":c,slots:{CollapsedIcon:i.CollapsedIcon},slotProps:{collapsedIcon:C},onClick:I},"ellipsis"),...$.slice($.length-p,$.length)]},P=d.Children.toArray(n).filter($=>d.isValidElement($)).map(($,I)=>f.jsx("li",{className:S.li,children:$},`child-${I}`));return f.jsx(Zf,{ref:o,component:a,color:"textSecondary",className:j(S.root,s),ownerState:y,...b,children:f.jsx(Qf,{className:S.ol,ref:x,ownerState:y,children:tg(v||m&&P.length<=m?P:w(P),S.separator,g,y)})})});function eg(t){return V("MuiButton",t)}const Co=K("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","loading","loadingWrapper","loadingIconPlaceholder","loadingIndicator","loadingPositionCenter","loadingPositionStart","loadingPositionEnd"]),zi=d.createContext({}),ji=d.createContext(void 0),og=t=>{const{color:e,disableElevation:o,fullWidth:r,size:n,variant:s,loading:a,loadingPosition:i,classes:l}=t,c={root:["root",a&&"loading",s,`${s}${B(e)}`,`size${B(n)}`,`${s}Size${B(n)}`,`color${B(e)}`,o&&"disableElevation",r&&"fullWidth",a&&`loadingPosition${B(i)}`],startIcon:["icon","startIcon",`iconSize${B(n)}`],endIcon:["icon","endIcon",`iconSize${B(n)}`],loadingIndicator:["loadingIndicator"],loadingWrapper:["loadingWrapper"]},p=G(c,eg,l);return{...l,...p}},Di=[{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}}}],rg=k(ue,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`${o.variant}${B(o.color)}`],e[`size${B(o.size)}`],e[`${o.variant}Size${B(o.size)}`],o.color==="inherit"&&e.colorInherit,o.disableElevation&&e.disableElevation,o.fullWidth&&e.fullWidth,o.loading&&e.loading]}})(W(({theme:t})=>{const e=t.palette.mode==="light"?t.palette.grey[300]:t.palette.grey[800],o=t.palette.mode==="light"?t.palette.grey.A100:t.palette.grey[700];return{...t.typography.button,minWidth:64,padding:"6px 16px",border:0,borderRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create(["background-color","box-shadow","border-color","color"],{duration:t.transitions.duration.short}),"&:hover":{textDecoration:"none"},[`&.${Co.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:{variant:"contained"},style:{color:"var(--variant-containedColor)",backgroundColor:"var(--variant-containedBg)",boxShadow:(t.vars||t).shadows[2],"&:hover":{boxShadow:(t.vars||t).shadows[4],"@media (hover: none)":{boxShadow:(t.vars||t).shadows[2]}},"&:active":{boxShadow:(t.vars||t).shadows[8]},[`&.${Co.focusVisible}`]:{boxShadow:(t.vars||t).shadows[6]},[`&.${Co.disabled}`]:{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).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)",[`&.${Co.disabled}`]:{border:`1px solid ${(t.vars||t).palette.action.disabledBackground}`}}},{props:{variant:"text"},style:{padding:"6px 8px",color:"var(--variant-textColor)",backgroundColor:"var(--variant-textBg)"}},...Object.entries(t.palette).filter(jt()).map(([r])=>({props:{color:r},style:{"--variant-textColor":(t.vars||t).palette[r].main,"--variant-outlinedColor":(t.vars||t).palette[r].main,"--variant-outlinedBorder":t.vars?`rgba(${t.vars.palette[r].mainChannel} / 0.5)`:kt(t.palette[r].main,.5),"--variant-containedColor":(t.vars||t).palette[r].contrastText,"--variant-containedBg":(t.vars||t).palette[r].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(t.vars||t).palette[r].dark,"--variant-textBg":t.vars?`rgba(${t.vars.palette[r].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[r].main,t.palette.action.hoverOpacity),"--variant-outlinedBorder":(t.vars||t).palette[r].main,"--variant-outlinedBg":t.vars?`rgba(${t.vars.palette[r].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[r].main,t.palette.action.hoverOpacity)}}}})),{props:{color:"inherit"},style:{color:"inherit",borderColor:"currentColor","--variant-containedBg":t.vars?t.vars.palette.Button.inheritContainedBg:e,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":t.vars?t.vars.palette.Button.inheritContainedHoverBg:o,"--variant-textBg":t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.text.primary,t.palette.action.hoverOpacity),"--variant-outlinedBg":t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.text.primary,t.palette.action.hoverOpacity)}}}},{props:{size:"small",variant:"text"},style:{padding:"4px 5px",fontSize:t.typography.pxToRem(13)}},{props:{size:"large",variant:"text"},style:{padding:"8px 11px",fontSize:t.typography.pxToRem(15)}},{props:{size:"small",variant:"outlined"},style:{padding:"3px 9px",fontSize:t.typography.pxToRem(13)}},{props:{size:"large",variant:"outlined"},style:{padding:"7px 21px",fontSize:t.typography.pxToRem(15)}},{props:{size:"small",variant:"contained"},style:{padding:"4px 10px",fontSize:t.typography.pxToRem(13)}},{props:{size:"large",variant:"contained"},style:{padding:"8px 22px",fontSize:t.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${Co.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${Co.disabled}`]:{boxShadow:"none"}}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{loadingPosition:"center"},style:{transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),[`&.${Co.loading}`]:{color:"transparent"}}}]}})),ng=k("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.startIcon,o.loading&&e.startIconLoadingStart,e[`iconSize${B(o.size)}`]]}})(({theme:t})=>({display:"inherit",marginRight:8,marginLeft:-4,variants:[{props:{size:"small"},style:{marginLeft:-2}},{props:{loadingPosition:"start",loading:!0},style:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}},{props:{loadingPosition:"start",loading:!0,fullWidth:!0},style:{marginRight:-8}},...Di]})),sg=k("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.endIcon,o.loading&&e.endIconLoadingEnd,e[`iconSize${B(o.size)}`]]}})(({theme:t})=>({display:"inherit",marginRight:-4,marginLeft:8,variants:[{props:{size:"small"},style:{marginRight:-2}},{props:{loadingPosition:"end",loading:!0},style:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}},{props:{loadingPosition:"end",loading:!0,fullWidth:!0},style:{marginLeft:-8}},...Di]})),ag=k("span",{name:"MuiButton",slot:"LoadingIndicator",overridesResolver:(t,e)=>e.loadingIndicator})(({theme:t})=>({display:"none",position:"absolute",visibility:"visible",variants:[{props:{loading:!0},style:{display:"flex"}},{props:{loadingPosition:"start"},style:{left:14}},{props:{loadingPosition:"start",size:"small"},style:{left:10}},{props:{variant:"text",loadingPosition:"start"},style:{left:6}},{props:{loadingPosition:"center"},style:{left:"50%",transform:"translate(-50%)",color:(t.vars||t).palette.action.disabled}},{props:{loadingPosition:"end"},style:{right:14}},{props:{loadingPosition:"end",size:"small"},style:{right:10}},{props:{variant:"text",loadingPosition:"end"},style:{right:6}},{props:{loadingPosition:"start",fullWidth:!0},style:{position:"relative",left:-10}},{props:{loadingPosition:"end",fullWidth:!0},style:{position:"relative",right:-10}}]})),ha=k("span",{name:"MuiButton",slot:"LoadingIconPlaceholder",overridesResolver:(t,e)=>e.loadingIconPlaceholder})({display:"inline-block",width:"1em",height:"1em"}),ew=d.forwardRef(function(e,o){const r=d.useContext(zi),n=d.useContext(ji),s=ds(r,e),a=_({props:s,name:"MuiButton"}),{children:i,color:l="primary",component:c="button",className:p,disabled:u=!1,disableElevation:m=!1,disableFocusRipple:g=!1,endIcon:b,focusVisibleClassName:v,fullWidth:h=!1,id:y,loading:S=null,loadingIndicator:C,loadingPosition:x="center",size:w="medium",startIcon:P,type:$,variant:I="text",...A}=a,T=De(y),z=C??f.jsx(wi,{"aria-labelledby":T,color:"inherit",size:16}),E={...a,color:l,component:c,disabled:u,disableElevation:m,disableFocusRipple:g,fullWidth:h,loading:S,loadingIndicator:z,loadingPosition:x,size:w,type:$,variant:I},R=og(E),M=(P||S&&x==="start")&&f.jsx(ng,{className:R.startIcon,ownerState:E,children:P||f.jsx(ha,{className:R.loadingIconPlaceholder,ownerState:E})}),O=(b||S&&x==="end")&&f.jsx(sg,{className:R.endIcon,ownerState:E,children:b||f.jsx(ha,{className:R.loadingIconPlaceholder,ownerState:E})}),L=n||"",F=typeof S=="boolean"?f.jsx("span",{className:R.loadingWrapper,style:{display:"contents"},children:S&&f.jsx(ag,{className:R.loadingIndicator,ownerState:E,children:z})}):null;return f.jsxs(rg,{ownerState:E,className:j(r.className,R.root,p,L),component:c,disabled:u||S,focusRipple:!g,focusVisibleClassName:j(R.focusVisible,v),ref:o,type:$,id:S?T:y,...A,classes:R,children:[M,x!=="end"&&F,i,x==="end"&&F,O]})});function ig(t){return V("MuiButtonGroup",t)}const Nt=K("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","horizontal","vertical","colorPrimary","colorSecondary","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]),lg=(t,e)=>{const{ownerState:o}=t;return[{[`& .${Nt.grouped}`]:e.grouped},{[`& .${Nt.grouped}`]:e[`grouped${B(o.orientation)}`]},{[`& .${Nt.grouped}`]:e[`grouped${B(o.variant)}`]},{[`& .${Nt.grouped}`]:e[`grouped${B(o.variant)}${B(o.orientation)}`]},{[`& .${Nt.grouped}`]:e[`grouped${B(o.variant)}${B(o.color)}`]},{[`& .${Nt.firstButton}`]:e.firstButton},{[`& .${Nt.lastButton}`]:e.lastButton},{[`& .${Nt.middleButton}`]:e.middleButton},e.root,e[o.variant],o.disableElevation===!0&&e.disableElevation,o.fullWidth&&e.fullWidth,o.orientation==="vertical"&&e.vertical]},cg=t=>{const{classes:e,color:o,disabled:r,disableElevation:n,fullWidth:s,orientation:a,variant:i}=t,l={root:["root",i,a,s&&"fullWidth",n&&"disableElevation",`color${B(o)}`],grouped:["grouped",`grouped${B(a)}`,`grouped${B(i)}`,`grouped${B(i)}${B(a)}`,`grouped${B(i)}${B(o)}`,r&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return G(l,ig,e)},pg=k("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:lg})(W(({theme:t})=>({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius,variants:[{props:{variant:"contained"},style:{boxShadow:(t.vars||t).shadows[2]}},{props:{disableElevation:!0},style:{boxShadow:"none"}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${Nt.lastButton},& .${Nt.middleButton}`]:{borderTopRightRadius:0,borderTopLeftRadius:0},[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderBottomRightRadius:0,borderBottomLeftRadius:0}}},{props:{orientation:"horizontal"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${Nt.lastButton},& .${Nt.middleButton}`]:{borderTopLeftRadius:0,borderBottomLeftRadius:0}}},{props:{variant:"text",orientation:"horizontal"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderRight:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${Nt.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},{props:{variant:"text",orientation:"vertical"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderBottom:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${Nt.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},...Object.entries(t.palette).filter(jt()).flatMap(([e])=>[{props:{variant:"text",color:e},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.5)`:kt(t.palette[e].main,.5)}}}]),{props:{variant:"outlined",orientation:"horizontal"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderRightColor:"transparent","&:hover":{borderRightColor:"currentColor"}},[`& .${Nt.lastButton},& .${Nt.middleButton}`]:{marginLeft:-1}}},{props:{variant:"outlined",orientation:"vertical"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderBottomColor:"transparent","&:hover":{borderBottomColor:"currentColor"}},[`& .${Nt.lastButton},& .${Nt.middleButton}`]:{marginTop:-1}}},{props:{variant:"contained",orientation:"horizontal"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderRight:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${Nt.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},{props:{variant:"contained",orientation:"vertical"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderBottom:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${Nt.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},...Object.entries(t.palette).filter(jt(["dark"])).map(([e])=>({props:{variant:"contained",color:e},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderColor:(t.vars||t).palette[e].dark}}}))],[`& .${Nt.grouped}`]:{minWidth:40,boxShadow:"none",props:{variant:"contained"},style:{"&:hover":{boxShadow:"none"}}}}))),ow=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiButtonGroup"}),{children:n,className:s,color:a="primary",component:i="div",disabled:l=!1,disableElevation:c=!1,disableFocusRipple:p=!1,disableRipple:u=!1,fullWidth:m=!1,orientation:g="horizontal",size:b="medium",variant:v="outlined",...h}=r,y={...r,color:a,component:i,disabled:l,disableElevation:c,disableFocusRipple:p,disableRipple:u,fullWidth:m,orientation:g,size:b,variant:v},S=cg(y),C=d.useMemo(()=>({className:S.grouped,color:a,disabled:l,disableElevation:c,disableFocusRipple:p,disableRipple:u,fullWidth:m,size:b,variant:v}),[a,l,c,p,u,m,b,v,S.grouped]),x=bi(n),w=x.length,P=$=>{const I=$===0,A=$===w-1;return I&&A?"":I?S.firstButton:A?S.lastButton:S.middleButton};return f.jsx(pg,{as:i,role:"group",className:j(S.root,s),ref:o,ownerState:y,...h,children:f.jsx(zi.Provider,{value:C,children:x.map(($,I)=>f.jsx(ji.Provider,{value:P(I),children:$},I))})})});function dg(t){return V("MuiCard",t)}const rw=K("MuiCard",["root"]),ug=t=>{const{classes:e}=t;return G({root:["root"]},dg,e)},fg=k(Ue,{name:"MuiCard",slot:"Root",overridesResolver:(t,e)=>e.root})({overflow:"hidden"}),nw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCard"}),{className:n,raised:s=!1,...a}=r,i={...r,raised:s},l=ug(i);return f.jsx(fg,{className:j(l.root,n),elevation:s?8:void 0,ref:o,ownerState:i,...a})});function gg(t){return V("MuiCardActionArea",t)}const Tn=K("MuiCardActionArea",["root","focusVisible","focusHighlight"]),mg=t=>{const{classes:e}=t;return G({root:["root"],focusHighlight:["focusHighlight"]},gg,e)},bg=k(ue,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",[`&:hover .${Tn.focusHighlight}`]:{opacity:(t.vars||t).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${Tn.focusVisible} .${Tn.focusHighlight}`]:{opacity:(t.vars||t).palette.action.focusOpacity}}))),vg=k("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(t,e)=>e.focusHighlight})(W(({theme:t})=>({overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:t.transitions.create("opacity",{duration:t.transitions.duration.short})}))),sw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardActionArea"}),{children:n,className:s,focusVisibleClassName:a,slots:i={},slotProps:l={},...c}=r,p=r,u=mg(p),m={slots:i,slotProps:l},[g,b]=Q("root",{elementType:bg,externalForwardedProps:{...m,...c},shouldForwardComponentProp:!0,ownerState:p,ref:o,className:j(u.root,s),additionalProps:{focusVisibleClassName:j(a,u.focusVisible)}}),[v,h]=Q("focusHighlight",{elementType:vg,externalForwardedProps:m,ownerState:p,ref:o,className:u.focusHighlight});return f.jsxs(g,{...b,children:[n,f.jsx(v,{...h})]})});function hg(t){return V("MuiCardActions",t)}const aw=K("MuiCardActions",["root","spacing"]),yg=t=>{const{classes:e,disableSpacing:o}=t;return G({root:["root",!o&&"spacing"]},hg,e)},xg=k("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,variants:[{props:{disableSpacing:!1},style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),iw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardActions"}),{disableSpacing:n=!1,className:s,...a}=r,i={...r,disableSpacing:n},l=yg(i);return f.jsx(xg,{className:j(l.root,s),ownerState:i,ref:o,...a})});function Cg(t){return V("MuiCardContent",t)}const lw=K("MuiCardContent",["root"]),Sg=t=>{const{classes:e}=t;return G({root:["root"]},Cg,e)},wg=k("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:16,"&:last-child":{paddingBottom:24}}),cw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardContent"}),{className:n,component:s="div",...a}=r,i={...r,component:s},l=Sg(i);return f.jsx(wg,{as:s,className:j(l.root,n),ownerState:i,ref:o,...a})});function Rg(t){return V("MuiCardHeader",t)}const ln=K("MuiCardHeader",["root","avatar","action","content","title","subheader"]),Pg=t=>{const{classes:e}=t;return G({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},Rg,e)},$g=k("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(t,e)=>[{[`& .${ln.title}`]:e.title},{[`& .${ln.subheader}`]:e.subheader},e.root]})({display:"flex",alignItems:"center",padding:16}),kg=k("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(t,e)=>e.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),Ig=k("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(t,e)=>e.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),Tg=k("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(t,e)=>e.content})({flex:"1 1 auto",[`.${nn.root}:where(& .${ln.title})`]:{display:"block"},[`.${nn.root}:where(& .${ln.subheader})`]:{display:"block"}}),pw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardHeader"}),{action:n,avatar:s,component:a="div",disableTypography:i=!1,subheader:l,subheaderTypographyProps:c,title:p,titleTypographyProps:u,slots:m={},slotProps:g={},...b}=r,v={...r,component:a,disableTypography:i},h=Pg(v),y={slots:m,slotProps:{title:u,subheader:c,...g}};let S=p;const[C,x]=Q("title",{className:h.title,elementType:he,externalForwardedProps:y,ownerState:v,additionalProps:{variant:s?"body2":"h5",component:"span"}});S!=null&&S.type!==he&&!i&&(S=f.jsx(C,{...x,children:S}));let w=l;const[P,$]=Q("subheader",{className:h.subheader,elementType:he,externalForwardedProps:y,ownerState:v,additionalProps:{variant:s?"body2":"body1",color:"textSecondary",component:"span"}});w!=null&&w.type!==he&&!i&&(w=f.jsx(P,{...$,children:w}));const[I,A]=Q("root",{ref:o,className:h.root,elementType:$g,externalForwardedProps:{...y,...b,component:a},ownerState:v}),[T,z]=Q("avatar",{className:h.avatar,elementType:kg,externalForwardedProps:y,ownerState:v}),[E,R]=Q("content",{className:h.content,elementType:Tg,externalForwardedProps:y,ownerState:v}),[M,O]=Q("action",{className:h.action,elementType:Ig,externalForwardedProps:y,ownerState:v});return f.jsxs(I,{...A,children:[s&&f.jsx(T,{...z,children:s}),f.jsxs(E,{...R,children:[S,w]}),n&&f.jsx(M,{...O,children:n})]})});function Mg(t){return V("MuiCardMedia",t)}const dw=K("MuiCardMedia",["root","media","img"]),Lg=t=>{const{classes:e,isMediaComponent:o,isImageComponent:r}=t;return G({root:["root",o&&"media",r&&"img"]},Mg,e)},Ag=k("div",{name:"MuiCardMedia",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{isMediaComponent:r,isImageComponent:n}=o;return[e.root,r&&e.media,n&&e.img]}})({display:"block",backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",variants:[{props:{isMediaComponent:!0},style:{width:"100%"}},{props:{isImageComponent:!0},style:{objectFit:"cover"}}]}),Bg=["video","audio","picture","iframe","img"],Eg=["picture","img"],uw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardMedia"}),{children:n,className:s,component:a="div",image:i,src:l,style:c,...p}=r,u=Bg.includes(a),m=!u&&i?{backgroundImage:`url("${i}")`,...c}:c,g={...r,component:a,isMediaComponent:u,isImageComponent:Eg.includes(a)},b=Lg(g);return f.jsx(Ag,{className:j(b.root,s),as:a,role:!u&&i?"img":void 0,ref:o,style:m,ownerState:g,src:u?i||l:void 0,...p,children:n})});function Og(t){return V("PrivateSwitchBase",t)}K("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const Ng=t=>{const{classes:e,checked:o,disabled:r,edge:n}=t,s={root:["root",o&&"checked",r&&"disabled",n&&`edge${B(n)}`],input:["input"]};return G(s,Og,e)},zg=k(ue)({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:t,ownerState:e})=>t==="start"&&e.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:t,ownerState:e})=>t==="end"&&e.size!=="small",style:{marginRight:-12}}]}),jg=k("input",{shouldForwardProp:ae})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),ks=d.forwardRef(function(e,o){const{autoFocus:r,checked:n,checkedIcon:s,defaultChecked:a,disabled:i,disableFocusRipple:l=!1,edge:c=!1,icon:p,id:u,inputProps:m,inputRef:g,name:b,onBlur:v,onChange:h,onFocus:y,readOnly:S,required:C=!1,tabIndex:x,type:w,value:P,slots:$={},slotProps:I={},...A}=e,[T,z]=Te({controlled:n,default:!!a,name:"SwitchBase",state:"checked"}),E=He(),R=et=>{y&&y(et),E&&E.onFocus&&E.onFocus(et)},M=et=>{v&&v(et),E&&E.onBlur&&E.onBlur(et)},O=et=>{if(et.nativeEvent.defaultPrevented)return;const rt=et.target.checked;z(rt),h&&h(et,rt)};let L=i;E&&typeof L>"u"&&(L=E.disabled);const F=w==="checkbox"||w==="radio",D={...e,checked:T,disabled:L,disableFocusRipple:l,edge:c},N=Ng(D),J={slots:$,slotProps:{input:m,...I}},[U,wt]=Q("root",{ref:o,elementType:zg,className:N.root,shouldForwardComponentProp:!0,externalForwardedProps:{...J,component:"span",...A},getSlotProps:et=>({...et,onFocus:rt=>{var Y;(Y=et.onFocus)==null||Y.call(et,rt),R(rt)},onBlur:rt=>{var Y;(Y=et.onBlur)==null||Y.call(et,rt),M(rt)}}),ownerState:D,additionalProps:{centerRipple:!0,focusRipple:!l,disabled:L,role:void 0,tabIndex:null}}),[vt,mt]=Q("input",{ref:g,elementType:jg,className:N.input,externalForwardedProps:J,getSlotProps:et=>({onChange:rt=>{var Y;(Y=et.onChange)==null||Y.call(et,rt),O(rt)}}),ownerState:D,additionalProps:{autoFocus:r,checked:n,defaultChecked:a,disabled:L,id:F?u:void 0,name:b,readOnly:S,required:C,tabIndex:x,type:w,...w==="checkbox"&&P===void 0?{}:{value:P}}});return f.jsxs(U,{...wt,children:[f.jsx(vt,{...mt}),T?s:p]})}),Dg=Qt(f.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"),Fg=Qt(f.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"),Wg=Qt(f.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 Ug(t){return V("MuiCheckbox",t)}const Mn=K("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),Hg=t=>{const{classes:e,indeterminate:o,color:r,size:n}=t,s={root:["root",o&&"indeterminate",`color${B(r)}`,`size${B(n)}`]},a=G(s,Ug,e);return{...e,...a}},Vg=k(ks,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.indeterminate&&e.indeterminate,e[`size${B(o.size)}`],o.color!=="default"&&e[`color${B(o.color)}`]]}})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.action.active,t.palette.action.hoverOpacity)}}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[e].main,t.palette.action.hoverOpacity)}}})),...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{[`&.${Mn.checked}, &.${Mn.indeterminate}`]:{color:(t.vars||t).palette[e].main},[`&.${Mn.disabled}`]:{color:(t.vars||t).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),Gg=f.jsx(Fg,{}),Kg=f.jsx(Dg,{}),qg=f.jsx(Wg,{}),fw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCheckbox"}),{checkedIcon:n=Gg,color:s="primary",icon:a=Kg,indeterminate:i=!1,indeterminateIcon:l=qg,inputProps:c,size:p="medium",disableRipple:u=!1,className:m,slots:g={},slotProps:b={},...v}=r,h=i?l:a,y=i?l:n,S={...r,disableRipple:u,color:s,indeterminate:i,size:p},C=Hg(S),x=b.input??c,[w,P]=Q("root",{ref:o,elementType:Vg,className:j(C.root,m),shouldForwardComponentProp:!0,externalForwardedProps:{slots:g,slotProps:b,...v},ownerState:S,additionalProps:{type:"checkbox",icon:d.cloneElement(h,{fontSize:h.props.fontSize??p}),checkedIcon:d.cloneElement(y,{fontSize:y.props.fontSize??p}),disableRipple:u,slots:g,slotProps:{input:Go(typeof x=="function"?x(S):x,{"data-indeterminate":i})}}});return f.jsx(w,{...P,classes:C})});function ya(t){return t.substring(2).toLowerCase()}function Xg(t,e){return e.documentElement.clientWidth(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const p=qt(io(e),i),u=ee(b=>{const v=c.current;c.current=!1;const h=te(i.current);if(!l.current||!i.current||"clientX"in b&&Xg(b,h))return;if(a.current){a.current=!1;return}let y;b.composedPath?y=b.composedPath().includes(i.current):y=!h.documentElement.contains(b.target)||i.current.contains(b.target),!y&&(o||!v)&&n(b)}),m=b=>v=>{c.current=!0;const h=e.props[b];h&&h(v)},g={ref:p};return s!==!1&&(g[s]=m(s)),d.useEffect(()=>{if(s!==!1){const b=ya(s),v=te(i.current),h=()=>{a.current=!0};return v.addEventListener(b,u),v.addEventListener("touchmove",h),()=>{v.removeEventListener(b,u),v.removeEventListener("touchmove",h)}}},[u,s]),r!==!1&&(g[r]=m(r)),d.useEffect(()=>{if(r!==!1){const b=ya(r),v=te(i.current);return v.addEventListener(b,u),()=>{v.removeEventListener(b,u)}}},[u,r]),d.cloneElement(e,g)}const gw=nc({createStyledComponent:k("div",{name:"MuiContainer",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`maxWidth${B(String(o.maxWidth))}`],o.fixed&&e.fixed,o.disableGutters&&e.disableGutters]}}),useThemeProps:t=>_({props:t,name:"MuiContainer"})});function mw(t){return V("MuiContainer",t)}const bw=K("MuiContainer",["root","disableGutters","fixed","maxWidthXs","maxWidthSm","maxWidthMd","maxWidthLg","maxWidthXl"]),os=typeof bs({})=="function",Fi=(t,e)=>({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%",...e&&!t.vars&&{colorScheme:t.palette.mode}}),Wi=t=>({color:(t.vars||t).palette.text.primary,...t.typography.body1,backgroundColor:(t.vars||t).palette.background.default,"@media print":{backgroundColor:(t.vars||t).palette.common.white}}),Ui=(t,e=!1)=>{var s,a;const o={};e&&t.colorSchemes&&typeof t.getColorSchemeSelector=="function"&&Object.entries(t.colorSchemes).forEach(([i,l])=>{var p,u;const c=t.getColorSchemeSelector(i);c.startsWith("@")?o[c]={":root":{colorScheme:(p=l.palette)==null?void 0:p.mode}}:o[c.replace(/\s*&/,"")]={colorScheme:(u=l.palette)==null?void 0:u.mode}});let r={html:Fi(t,e),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:t.typography.fontWeightBold},body:{margin:0,...Wi(t),"&::backdrop":{backgroundColor:(t.vars||t).palette.background.default}},...o};const n=(a=(s=t.components)==null?void 0:s.MuiCssBaseline)==null?void 0:a.styleOverrides;return n&&(r=[r,n]),r},Jr="mui-ecs",Yg=t=>{const e=Ui(t,!1),o=Array.isArray(e)?e[0]:e;return!t.vars&&o&&(o.html[`:root:has(${Jr})`]={colorScheme:t.palette.mode}),t.colorSchemes&&Object.entries(t.colorSchemes).forEach(([r,n])=>{var a,i;const s=t.getColorSchemeSelector(r);s.startsWith("@")?o[s]={[`:root:not(:has(.${Jr}))`]:{colorScheme:(a=n.palette)==null?void 0:a.mode}}:o[s.replace(/\s*&/,"")]={[`&:not(:has(.${Jr}))`]:{colorScheme:(i=n.palette)==null?void 0:i.mode}}}),e},Zg=bs(os?({theme:t,enableColorScheme:e})=>Ui(t,e):({theme:t})=>Yg(t));function vw(t){const e=_({props:t,name:"MuiCssBaseline"}),{children:o,enableColorScheme:r=!1}=e;return f.jsxs(d.Fragment,{children:[os&&f.jsx(Zg,{enableColorScheme:r}),!os&&!r&&f.jsx("span",{className:Jr,style:{display:"none"}}),o]})}const Qg={track:"#2b2b2b",thumb:"#6b6b6b",active:"#959595"};function hw(t=Qg){return{scrollbarColor:`${t.thumb} ${t.track}`,"&::-webkit-scrollbar, & *::-webkit-scrollbar":{backgroundColor:t.track},"&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb":{borderRadius:8,backgroundColor:t.thumb,minHeight:24,border:`3px solid ${t.track}`},"&::-webkit-scrollbar-thumb:focus, & *::-webkit-scrollbar-thumb:focus":{backgroundColor:t.active},"&::-webkit-scrollbar-thumb:active, & *::-webkit-scrollbar-thumb:active":{backgroundColor:t.active},"&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover":{backgroundColor:t.active},"&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner":{backgroundColor:t.track}}}function Jg(t){const e=te(t);return e.body===t?me(t).innerWidth>e.documentElement.clientWidth:t.scrollHeight>t.clientHeight}function gr(t,e){e?t.setAttribute("aria-hidden","true"):t.removeAttribute("aria-hidden")}function xa(t){return parseInt(me(t).getComputedStyle(t).paddingRight,10)||0}function tm(t){const o=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].includes(t.tagName),r=t.tagName==="INPUT"&&t.getAttribute("type")==="hidden";return o||r}function Ca(t,e,o,r,n){const s=[e,o,...r];[].forEach.call(t.children,a=>{const i=!s.includes(a),l=!tm(a);i&&l&&gr(a,n)})}function Ln(t,e){let o=-1;return t.some((r,n)=>e(r)?(o=n,!0):!1),o}function em(t,e){const o=[],r=t.container;if(!e.disableScrollLock){if(Jg(r)){const a=mi(me(r));o.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${xa(r)+a}px`;const i=te(r).querySelectorAll(".mui-fixed");[].forEach.call(i,l=>{o.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${xa(l)+a}px`})}let s;if(r.parentNode instanceof DocumentFragment)s=te(r).body;else{const a=r.parentElement,i=me(r);s=(a==null?void 0:a.nodeName)==="HTML"&&i.getComputedStyle(a).overflowY==="scroll"?a:r}o.push({value:s.style.overflow,property:"overflow",el:s},{value:s.style.overflowX,property:"overflow-x",el:s},{value:s.style.overflowY,property:"overflow-y",el:s}),s.style.overflow="hidden"}return()=>{o.forEach(({value:s,el:a,property:i})=>{s?a.style.setProperty(i,s):a.style.removeProperty(i)})}}function om(t){const e=[];return[].forEach.call(t.children,o=>{o.getAttribute("aria-hidden")==="true"&&e.push(o)}),e}class rm{constructor(){this.modals=[],this.containers=[]}add(e,o){let r=this.modals.indexOf(e);if(r!==-1)return r;r=this.modals.length,this.modals.push(e),e.modalRef&&gr(e.modalRef,!1);const n=om(o);Ca(o,e.mount,e.modalRef,n,!0);const s=Ln(this.containers,a=>a.container===o);return s!==-1?(this.containers[s].modals.push(e),r):(this.containers.push({modals:[e],container:o,restore:null,hiddenSiblings:n}),r)}mount(e,o){const r=Ln(this.containers,s=>s.modals.includes(e)),n=this.containers[r];n.restore||(n.restore=em(n,o))}remove(e,o=!0){const r=this.modals.indexOf(e);if(r===-1)return r;const n=Ln(this.containers,a=>a.modals.includes(e)),s=this.containers[n];if(s.modals.splice(s.modals.indexOf(e),1),this.modals.splice(r,1),s.modals.length===0)s.restore&&s.restore(),e.modalRef&&gr(e.modalRef,o),Ca(s.container,e.mount,e.modalRef,s.hiddenSiblings,!1),this.containers.splice(n,1);else{const a=s.modals[s.modals.length-1];a.modalRef&&gr(a.modalRef,!1)}return r}isTopModal(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}const nm=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function sm(t){const e=parseInt(t.getAttribute("tabindex")||"",10);return Number.isNaN(e)?t.contentEditable==="true"||(t.nodeName==="AUDIO"||t.nodeName==="VIDEO"||t.nodeName==="DETAILS")&&t.getAttribute("tabindex")===null?0:t.tabIndex:e}function am(t){if(t.tagName!=="INPUT"||t.type!=="radio"||!t.name)return!1;const e=r=>t.ownerDocument.querySelector(`input[type="radio"]${r}`);let o=e(`[name="${t.name}"]:checked`);return o||(o=e(`[name="${t.name}"]`)),o!==t}function im(t){return!(t.disabled||t.tagName==="INPUT"&&t.type==="hidden"||am(t))}function lm(t){const e=[],o=[];return Array.from(t.querySelectorAll(nm)).forEach((r,n)=>{const s=sm(r);s===-1||!im(r)||(s===0?e.push(r):o.push({documentOrder:n,tabIndex:s,node:r}))}),o.sort((r,n)=>r.tabIndex===n.tabIndex?r.documentOrder-n.documentOrder:r.tabIndex-n.tabIndex).map(r=>r.node).concat(e)}function cm(){return!0}function pm(t){const{children:e,disableAutoFocus:o=!1,disableEnforceFocus:r=!1,disableRestoreFocus:n=!1,getTabbable:s=lm,isEnabled:a=cm,open:i}=t,l=d.useRef(!1),c=d.useRef(null),p=d.useRef(null),u=d.useRef(null),m=d.useRef(null),g=d.useRef(!1),b=d.useRef(null),v=qt(io(e),b),h=d.useRef(null);d.useEffect(()=>{!i||!b.current||(g.current=!o)},[o,i]),d.useEffect(()=>{if(!i||!b.current)return;const C=te(b.current);return b.current.contains(C.activeElement)||(b.current.hasAttribute("tabIndex")||b.current.setAttribute("tabIndex","-1"),g.current&&b.current.focus()),()=>{n||(u.current&&u.current.focus&&(l.current=!0,u.current.focus()),u.current=null)}},[i]),d.useEffect(()=>{if(!i||!b.current)return;const C=te(b.current),x=$=>{h.current=$,!(r||!a()||$.key!=="Tab")&&C.activeElement===b.current&&$.shiftKey&&(l.current=!0,p.current&&p.current.focus())},w=()=>{var A,T;const $=b.current;if($===null)return;if(!C.hasFocus()||!a()||l.current){l.current=!1;return}if($.contains(C.activeElement)||r&&C.activeElement!==c.current&&C.activeElement!==p.current)return;if(C.activeElement!==m.current)m.current=null;else if(m.current!==null)return;if(!g.current)return;let I=[];if((C.activeElement===c.current||C.activeElement===p.current)&&(I=s(b.current)),I.length>0){const z=!!((A=h.current)!=null&&A.shiftKey&&((T=h.current)==null?void 0:T.key)==="Tab"),E=I[0],R=I[I.length-1];typeof E!="string"&&typeof R!="string"&&(z?R.focus():E.focus())}else $.focus()};C.addEventListener("focusin",w),C.addEventListener("keydown",x,!0);const P=setInterval(()=>{C.activeElement&&C.activeElement.tagName==="BODY"&&w()},50);return()=>{clearInterval(P),C.removeEventListener("focusin",w),C.removeEventListener("keydown",x,!0)}},[o,r,n,a,i,s]);const y=C=>{u.current===null&&(u.current=C.relatedTarget),g.current=!0,m.current=C.target;const x=e.props.onFocus;x&&x(C)},S=C=>{u.current===null&&(u.current=C.relatedTarget),g.current=!0};return f.jsxs(d.Fragment,{children:[f.jsx("div",{tabIndex:i?0:-1,onFocus:S,ref:c,"data-testid":"sentinelStart"}),d.cloneElement(e,{ref:v,onFocus:y}),f.jsx("div",{tabIndex:i?0:-1,onFocus:S,ref:p,"data-testid":"sentinelEnd"})]})}function dm(t){return typeof t=="function"?t():t}function um(t){return t?t.props.hasOwnProperty("in"):!1}const Sa=()=>{},jr=new rm;function fm(t){const{container:e,disableEscapeKeyDown:o=!1,disableScrollLock:r=!1,closeAfterTransition:n=!1,onTransitionEnter:s,onTransitionExited:a,children:i,onClose:l,open:c,rootRef:p}=t,u=d.useRef({}),m=d.useRef(null),g=d.useRef(null),b=qt(g,p),[v,h]=d.useState(!c),y=um(i);let S=!0;(t["aria-hidden"]==="false"||t["aria-hidden"]===!1)&&(S=!1);const C=()=>te(m.current),x=()=>(u.current.modalRef=g.current,u.current.mount=m.current,u.current),w=()=>{jr.mount(x(),{disableScrollLock:r}),g.current&&(g.current.scrollTop=0)},P=ee(()=>{const O=dm(e)||C().body;jr.add(x(),O),g.current&&w()}),$=()=>jr.isTopModal(x()),I=ee(O=>{m.current=O,O&&(c&&$()?w():g.current&&gr(g.current,S))}),A=d.useCallback(()=>{jr.remove(x(),S)},[S]);d.useEffect(()=>()=>{A()},[A]),d.useEffect(()=>{c?P():(!y||!n)&&A()},[c,A,y,n,P]);const T=O=>L=>{var F;(F=O.onKeyDown)==null||F.call(O,L),!(L.key!=="Escape"||L.which===229||!$())&&(o||(L.stopPropagation(),l&&l(L,"escapeKeyDown")))},z=O=>L=>{var F;(F=O.onClick)==null||F.call(O,L),L.target===L.currentTarget&&l&&l(L,"backdropClick")};return{getRootProps:(O={})=>{const L=Mo(t);delete L.onTransitionEnter,delete L.onTransitionExited;const F={...L,...O};return{role:"presentation",...F,onKeyDown:T(F),ref:b}},getBackdropProps:(O={})=>{const L=O;return{"aria-hidden":!0,...L,onClick:z(L),open:c}},getTransitionProps:()=>{const O=()=>{h(!1),s&&s()},L=()=>{h(!0),a&&a(),n&&A()};return{onEnter:Gn(O,(i==null?void 0:i.props.onEnter)??Sa),onExited:Gn(L,(i==null?void 0:i.props.onExited)??Sa)}},rootRef:b,portalRef:I,isTopModal:$,exited:v,hasTransition:y}}function gm(t){return V("MuiModal",t)}const yw=K("MuiModal",["root","hidden","backdrop"]),mm=t=>{const{open:e,exited:o,classes:r}=t;return G({root:["root",!e&&o&&"hidden"],backdrop:["backdrop"]},gm,r)},bm=k("div",{name:"MuiModal",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.open&&o.exited&&e.hidden]}})(W(({theme:t})=>({position:"fixed",zIndex:(t.vars||t).zIndex.modal,right:0,bottom:0,top:0,left:0,variants:[{props:({ownerState:e})=>!e.open&&e.exited,style:{visibility:"hidden"}}]}))),vm=k(Oi,{name:"MuiModal",slot:"Backdrop",overridesResolver:(t,e)=>e.backdrop})({zIndex:-1}),Is=d.forwardRef(function(e,o){const r=_({name:"MuiModal",props:e}),{BackdropComponent:n=vm,BackdropProps:s,classes:a,className:i,closeAfterTransition:l=!1,children:c,container:p,component:u,components:m={},componentsProps:g={},disableAutoFocus:b=!1,disableEnforceFocus:v=!1,disableEscapeKeyDown:h=!1,disablePortal:y=!1,disableRestoreFocus:S=!1,disableScrollLock:C=!1,hideBackdrop:x=!1,keepMounted:w=!1,onBackdropClick:P,onClose:$,onTransitionEnter:I,onTransitionExited:A,open:T,slotProps:z={},slots:E={},theme:R,...M}=r,O={...r,closeAfterTransition:l,disableAutoFocus:b,disableEnforceFocus:v,disableEscapeKeyDown:h,disablePortal:y,disableRestoreFocus:S,disableScrollLock:C,hideBackdrop:x,keepMounted:w},{getRootProps:L,getBackdropProps:F,getTransitionProps:D,portalRef:N,isTopModal:J,exited:U,hasTransition:wt}=fm({...O,rootRef:o}),vt={...O,exited:U},mt=mm(vt),et={};if(c.props.tabIndex===void 0&&(et.tabIndex="-1"),wt){const{onEnter:ft,onExited:Z}=D();et.onEnter=ft,et.onExited=Z}const rt={slots:{root:m.Root,backdrop:m.Backdrop,...E},slotProps:{...g,...z}},[Y,at]=Q("root",{ref:o,elementType:bm,externalForwardedProps:{...rt,...M,component:u},getSlotProps:L,ownerState:vt,className:j(i,mt==null?void 0:mt.root,!vt.open&&vt.exited&&(mt==null?void 0:mt.hidden))}),[ct,st]=Q("backdrop",{ref:s==null?void 0:s.ref,elementType:n,externalForwardedProps:rt,shouldForwardComponentProp:!0,additionalProps:s,getSlotProps:ft=>F({...ft,onClick:Z=>{P&&P(Z),ft!=null&&ft.onClick&&ft.onClick(Z)}}),className:j(s==null?void 0:s.className,mt==null?void 0:mt.backdrop),ownerState:vt});return!w&&!T&&(!wt||U)?null:f.jsx(Ei,{ref:N,container:p,disablePortal:y,children:f.jsxs(Y,{...at,children:[!x&&n?f.jsx(ct,{...st}):null,f.jsx(pm,{disableEnforceFocus:v,disableAutoFocus:b,disableRestoreFocus:S,isEnabled:J,open:T,children:d.cloneElement(c,et)})]})})});function hm(t){return V("MuiDialog",t)}const An=K("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),Hi=d.createContext({}),ym=k(Oi,{name:"MuiDialog",slot:"Backdrop",overrides:(t,e)=>e.backdrop})({zIndex:-1}),xm=t=>{const{classes:e,scroll:o,maxWidth:r,fullWidth:n,fullScreen:s}=t,a={root:["root"],container:["container",`scroll${B(o)}`],paper:["paper",`paperScroll${B(o)}`,`paperWidth${B(String(r))}`,n&&"paperFullWidth",s&&"paperFullScreen"]};return G(a,hm,e)},Cm=k(Is,{name:"MuiDialog",slot:"Root",overridesResolver:(t,e)=>e.root})({"@media print":{position:"absolute !important"}}),Sm=k("div",{name:"MuiDialog",slot:"Container",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.container,e[`scroll${B(o.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"}}}]}),wm=k(Ue,{name:"MuiDialog",slot:"Paper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.paper,e[`scrollPaper${B(o.scroll)}`],e[`paperWidth${B(String(o.maxWidth))}`],o.fullWidth&&e.paperFullWidth,o.fullScreen&&e.paperFullScreen]}})(W(({theme:t})=>({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:e})=>!e.maxWidth,style:{maxWidth:"calc(100% - 64px)"}},{props:{maxWidth:"xs"},style:{maxWidth:t.breakpoints.unit==="px"?Math.max(t.breakpoints.values.xs,444):`max(${t.breakpoints.values.xs}${t.breakpoints.unit}, 444px)`,[`&.${An.paperScrollBody}`]:{[t.breakpoints.down(Math.max(t.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}}},...Object.keys(t.breakpoints.values).filter(e=>e!=="xs").map(e=>({props:{maxWidth:e},style:{maxWidth:`${t.breakpoints.values[e]}${t.breakpoints.unit}`,[`&.${An.paperScrollBody}`]:{[t.breakpoints.down(t.breakpoints.values[e]+32*2)]:{maxWidth:"calc(100% - 64px)"}}}})),{props:({ownerState:e})=>e.fullWidth,style:{width:"calc(100% - 64px)"}},{props:({ownerState:e})=>e.fullScreen,style:{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${An.paperScrollBody}`]:{margin:0,maxWidth:"100%"}}}]}))),xw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialog"}),n=le(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{"aria-describedby":a,"aria-labelledby":i,"aria-modal":l=!0,BackdropComponent:c,BackdropProps:p,children:u,className:m,disableEscapeKeyDown:g=!1,fullScreen:b=!1,fullWidth:v=!1,maxWidth:h="sm",onBackdropClick:y,onClick:S,onClose:C,open:x,PaperComponent:w=Ue,PaperProps:P={},scroll:$="paper",slots:I={},slotProps:A={},TransitionComponent:T=es,transitionDuration:z=s,TransitionProps:E,...R}=r,M={...r,disableEscapeKeyDown:g,fullScreen:b,fullWidth:v,maxWidth:h,scroll:$},O=xm(M),L=d.useRef(),F=it=>{L.current=it.target===it.currentTarget},D=it=>{S&&S(it),L.current&&(L.current=null,y&&y(it),C&&C(it,"backdropClick"))},N=De(i),J=d.useMemo(()=>({titleId:N}),[N]),U={transition:T,...I},wt={transition:E,paper:P,backdrop:p,...A},vt={slots:U,slotProps:wt},[mt,et]=Q("root",{elementType:Cm,shouldForwardComponentProp:!0,externalForwardedProps:vt,ownerState:M,className:j(O.root,m),ref:o}),[rt,Y]=Q("backdrop",{elementType:ym,shouldForwardComponentProp:!0,externalForwardedProps:vt,ownerState:M}),[at,ct]=Q("paper",{elementType:wm,shouldForwardComponentProp:!0,externalForwardedProps:vt,ownerState:M,className:j(O.paper,P.className)}),[st,ft]=Q("container",{elementType:Sm,externalForwardedProps:vt,ownerState:M,className:j(O.container)}),[Z,pt]=Q("transition",{elementType:es,externalForwardedProps:vt,ownerState:M,additionalProps:{appear:!0,in:x,timeout:z,role:"presentation"}});return f.jsx(mt,{closeAfterTransition:!0,slots:{backdrop:rt},slotProps:{backdrop:{transitionDuration:z,as:c,...Y}},disableEscapeKeyDown:g,onClose:C,open:x,onClick:D,...et,...R,children:f.jsx(Z,{...pt,children:f.jsx(st,{onMouseDown:F,...ft,children:f.jsx(at,{as:w,elevation:24,role:"dialog","aria-describedby":a,"aria-labelledby":N,"aria-modal":l,...ct,children:f.jsx(Hi.Provider,{value:J,children:u})})})})})});function Rm(t){return V("MuiDialogActions",t)}const Cw=K("MuiDialogActions",["root","spacing"]),Pm=t=>{const{classes:e,disableSpacing:o}=t;return G({root:["root",!o&&"spacing"]},Rm,e)},$m=k("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto",variants:[{props:({ownerState:t})=>!t.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),Sw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialogActions"}),{className:n,disableSpacing:s=!1,...a}=r,i={...r,disableSpacing:s},l=Pm(i);return f.jsx($m,{className:j(l.root,n),ownerState:i,ref:o,...a})});function km(t){return V("MuiDialogContent",t)}const ww=K("MuiDialogContent",["root","dividers"]);function Im(t){return V("MuiDialogTitle",t)}const Tm=K("MuiDialogTitle",["root"]),Mm=t=>{const{classes:e,dividers:o}=t;return G({root:["root",o&&"dividers"]},km,e)},Lm=k("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.dividers&&e.dividers]}})(W(({theme:t})=>({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px",variants:[{props:({ownerState:e})=>e.dividers,style:{padding:"16px 24px",borderTop:`1px solid ${(t.vars||t).palette.divider}`,borderBottom:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>!e.dividers,style:{[`.${Tm.root} + &`]:{paddingTop:0}}}]}))),Rw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialogContent"}),{className:n,dividers:s=!1,...a}=r,i={...r,dividers:s},l=Mm(i);return f.jsx(Lm,{className:j(l.root,n),ownerState:i,ref:o,...a})});function Am(t){return V("MuiDialogContentText",t)}const Pw=K("MuiDialogContentText",["root"]),Bm=t=>{const{classes:e}=t,r=G({root:["root"]},Am,e);return{...e,...r}},Em=k(he,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(t,e)=>e.root})({}),$w=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialogContentText"}),{children:n,className:s,...a}=r,i=Bm(a);return f.jsx(Em,{component:"p",variant:"body1",color:"textSecondary",ref:o,ownerState:a,className:j(i.root,s),...r,classes:i})}),Om=t=>{const{classes:e}=t;return G({root:["root"]},Im,e)},Nm=k(he,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:"16px 24px",flex:"0 0 auto"}),kw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialogTitle"}),{className:n,id:s,...a}=r,i=r,l=Om(i),{titleId:c=s}=d.useContext(Hi);return f.jsx(Nm,{component:"h2",className:j(l.root,n),ownerState:i,ref:o,variant:"h6",id:s??c,...a})});function zm(t){return V("MuiDivider",t)}const wa=K("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),jm=t=>{const{absolute:e,children:o,classes:r,flexItem:n,light:s,orientation:a,textAlign:i,variant:l}=t;return G({root:["root",e&&"absolute",l,s&&"light",a==="vertical"&&"vertical",n&&"flexItem",o&&"withChildren",o&&a==="vertical"&&"withChildrenVertical",i==="right"&&a!=="vertical"&&"textAlignRight",i==="left"&&a!=="vertical"&&"textAlignLeft"],wrapper:["wrapper",a==="vertical"&&"wrapperVertical"]},zm,r)},Dm=k("div",{name:"MuiDivider",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.absolute&&e.absolute,e[o.variant],o.light&&e.light,o.orientation==="vertical"&&e.vertical,o.flexItem&&e.flexItem,o.children&&e.withChildren,o.children&&o.orientation==="vertical"&&e.withChildrenVertical,o.textAlign==="right"&&o.orientation!=="vertical"&&e.textAlignRight,o.textAlign==="left"&&o.orientation!=="vertical"&&e.textAlignLeft]}})(W(({theme:t})=>({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(t.vars||t).palette.divider,borderBottomWidth:"thin",variants:[{props:{absolute:!0},style:{position:"absolute",bottom:0,left:0,width:"100%"}},{props:{light:!0},style:{borderColor:t.vars?`rgba(${t.vars.palette.dividerChannel} / 0.08)`:kt(t.palette.divider,.08)}},{props:{variant:"inset"},style:{marginLeft:72}},{props:{variant:"middle",orientation:"horizontal"},style:{marginLeft:t.spacing(2),marginRight:t.spacing(2)}},{props:{variant:"middle",orientation:"vertical"},style:{marginTop:t.spacing(1),marginBottom:t.spacing(1)}},{props:{orientation:"vertical"},style:{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"}},{props:{flexItem:!0},style:{alignSelf:"stretch",height:"auto"}},{props:({ownerState:e})=>!!e.children,style:{display:"flex",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}}},{props:({ownerState:e})=>e.children&&e.orientation!=="vertical",style:{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(t.vars||t).palette.divider}`,borderTopStyle:"inherit"}}},{props:({ownerState:e})=>e.orientation==="vertical"&&e.children,style:{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(t.vars||t).palette.divider}`,borderLeftStyle:"inherit"}}},{props:({ownerState:e})=>e.textAlign==="right"&&e.orientation!=="vertical",style:{"&::before":{width:"90%"},"&::after":{width:"10%"}}},{props:({ownerState:e})=>e.textAlign==="left"&&e.orientation!=="vertical",style:{"&::before":{width:"10%"},"&::after":{width:"90%"}}}]}))),Fm=k("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.wrapper,o.orientation==="vertical"&&e.wrapperVertical]}})(W(({theme:t})=>({display:"inline-block",paddingLeft:`calc(${t.spacing(1)} * 1.2)`,paddingRight:`calc(${t.spacing(1)} * 1.2)`,whiteSpace:"nowrap",variants:[{props:{orientation:"vertical"},style:{paddingTop:`calc(${t.spacing(1)} * 1.2)`,paddingBottom:`calc(${t.spacing(1)} * 1.2)`}}]}))),Ra=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDivider"}),{absolute:n=!1,children:s,className:a,orientation:i="horizontal",component:l=s||i==="vertical"?"div":"hr",flexItem:c=!1,light:p=!1,role:u=l!=="hr"?"separator":void 0,textAlign:m="center",variant:g="fullWidth",...b}=r,v={...r,absolute:n,component:l,flexItem:c,light:p,orientation:i,role:u,textAlign:m,variant:g},h=jm(v);return f.jsx(Dm,{as:l,className:j(h.root,a),role:u,ref:o,ownerState:v,"aria-orientation":u==="separator"&&(l!=="hr"||i==="vertical")?i:void 0,...b,children:s?f.jsx(Fm,{className:h.wrapper,ownerState:v,children:s}):null})});Ra&&(Ra.muiSkipListHighlight=!0);function Wm(t,e,o){const r=e.getBoundingClientRect(),n=o&&o.getBoundingClientRect(),s=me(e);let a;if(e.fakeTransform)a=e.fakeTransform;else{const c=s.getComputedStyle(e);a=c.getPropertyValue("-webkit-transform")||c.getPropertyValue("transform")}let i=0,l=0;if(a&&a!=="none"&&typeof a=="string"){const c=a.split("(")[1].split(")")[0].split(",");i=parseInt(c[4],10),l=parseInt(c[5],10)}return t==="left"?n?`translateX(${n.right+i-r.left}px)`:`translateX(${s.innerWidth+i-r.left}px)`:t==="right"?n?`translateX(-${r.right-n.left-i}px)`:`translateX(-${r.left+r.width-i}px)`:t==="up"?n?`translateY(${n.bottom+l-r.top}px)`:`translateY(${s.innerHeight+l-r.top}px)`:n?`translateY(-${r.top-n.top+r.height-l}px)`:`translateY(-${r.top+r.height-l}px)`}function Um(t){return typeof t=="function"?t():t}function Dr(t,e,o){const r=Um(o),n=Wm(t,e,r);n&&(e.style.webkitTransform=n,e.style.transform=n)}const Hm=d.forwardRef(function(e,o){const r=le(),n={enter:r.transitions.easing.easeOut,exit:r.transitions.easing.sharp},s={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:a,appear:i=!0,children:l,container:c,direction:p="down",easing:u=n,in:m,onEnter:g,onEntered:b,onEntering:v,onExit:h,onExited:y,onExiting:S,style:C,timeout:x=s,TransitionComponent:w=Le,...P}=e,$=d.useRef(null),I=qt(io(l),$,o),A=D=>N=>{D&&(N===void 0?D($.current):D($.current,N))},T=A((D,N)=>{Dr(p,D,c),mn(D),g&&g(D,N)}),z=A((D,N)=>{const J=Ge({timeout:x,style:C,easing:u},{mode:"enter"});D.style.webkitTransition=r.transitions.create("-webkit-transform",{...J}),D.style.transition=r.transitions.create("transform",{...J}),D.style.webkitTransform="none",D.style.transform="none",v&&v(D,N)}),E=A(b),R=A(S),M=A(D=>{const N=Ge({timeout:x,style:C,easing:u},{mode:"exit"});D.style.webkitTransition=r.transitions.create("-webkit-transform",N),D.style.transition=r.transitions.create("transform",N),Dr(p,D,c),h&&h(D)}),O=A(D=>{D.style.webkitTransition="",D.style.transition="",y&&y(D)}),L=D=>{a&&a($.current,D)},F=d.useCallback(()=>{$.current&&Dr(p,$.current,c)},[p,c]);return d.useEffect(()=>{if(m||p==="down"||p==="right")return;const D=$r(()=>{$.current&&Dr(p,$.current,c)}),N=me($.current);return N.addEventListener("resize",D),()=>{D.clear(),N.removeEventListener("resize",D)}},[p,m,c]),d.useEffect(()=>{m||F()},[m,F]),f.jsx(w,{nodeRef:$,onEnter:T,onEntered:E,onEntering:z,onExit:M,onExited:O,onExiting:R,addEndListener:L,appear:i,in:m,timeout:x,...P,children:(D,{ownerState:N,...J})=>d.cloneElement(l,{ref:I,style:{visibility:D==="exited"&&!m?"hidden":void 0,...C,...l.props.style},...J})})});function Vm(t){return V("MuiDrawer",t)}const Iw=K("MuiDrawer",["root","docked","paper","anchorLeft","anchorRight","anchorTop","anchorBottom","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]),Vi=(t,e)=>{const{ownerState:o}=t;return[e.root,(o.variant==="permanent"||o.variant==="persistent")&&e.docked,e.modal]},Gm=t=>{const{classes:e,anchor:o,variant:r}=t,n={root:["root",`anchor${B(o)}`],docked:[(r==="permanent"||r==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${B(o)}`,r!=="temporary"&&`paperAnchorDocked${B(o)}`]};return G(n,Vm,e)},Km=k(Is,{name:"MuiDrawer",slot:"Root",overridesResolver:Vi})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.drawer}))),qm=k("div",{shouldForwardProp:ae,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:Vi})({flex:"0 0 auto"}),Xm=k(Ue,{name:"MuiDrawer",slot:"Paper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.paper,e[`paperAnchor${B(o.anchor)}`],o.variant!=="temporary"&&e[`paperAnchorDocked${B(o.anchor)}`]]}})(W(({theme:t})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(t.vars||t).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,variants:[{props:{anchor:"left"},style:{left:0}},{props:{anchor:"top"},style:{top:0,left:0,right:0,height:"auto",maxHeight:"100%"}},{props:{anchor:"right"},style:{right:0}},{props:{anchor:"bottom"},style:{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"}},{props:({ownerState:e})=>e.anchor==="left"&&e.variant!=="temporary",style:{borderRight:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="top"&&e.variant!=="temporary",style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="right"&&e.variant!=="temporary",style:{borderLeft:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="bottom"&&e.variant!=="temporary",style:{borderTop:`1px solid ${(t.vars||t).palette.divider}`}}]}))),Gi={left:"right",right:"left",top:"down",bottom:"up"};function Po(t){return["left","right"].includes(t)}function pr({direction:t},e){return t==="rtl"&&Po(e)?Gi[e]:e}const _m=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDrawer"}),n=le(),s=Ke(),a={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{anchor:i="left",BackdropProps:l,children:c,className:p,elevation:u=16,hideBackdrop:m=!1,ModalProps:{BackdropProps:g,...b}={},onClose:v,open:h=!1,PaperProps:y={},SlideProps:S,TransitionComponent:C,transitionDuration:x=a,variant:w="temporary",slots:P={},slotProps:$={},...I}=r,A=d.useRef(!1);d.useEffect(()=>{A.current=!0},[]);const T=pr({direction:s?"rtl":"ltr"},i),E={...r,anchor:i,elevation:u,open:h,variant:w,...I},R=Gm(E),M={slots:{transition:C,...P},slotProps:{paper:y,transition:S,...$,backdrop:Go($.backdrop||{...l,...g},{transitionDuration:x})}},[O,L]=Q("root",{ref:o,elementType:Km,className:j(R.root,R.modal,p),shouldForwardComponentProp:!0,ownerState:E,externalForwardedProps:{...M,...I,...b},additionalProps:{open:h,onClose:v,hideBackdrop:m,slots:{backdrop:M.slots.backdrop},slotProps:{backdrop:M.slotProps.backdrop}}}),[F,D]=Q("paper",{elementType:Xm,shouldForwardComponentProp:!0,className:j(R.paper,y.className),ownerState:E,externalForwardedProps:M,additionalProps:{elevation:w==="temporary"?u:0,square:!0}}),[N,J]=Q("docked",{elementType:qm,ref:o,className:j(R.root,R.docked,p),ownerState:E,externalForwardedProps:M,additionalProps:I}),[U,wt]=Q("transition",{elementType:Hm,ownerState:E,externalForwardedProps:M,additionalProps:{in:h,direction:Gi[T],timeout:x,appear:A.current}}),vt=f.jsx(F,{...D,children:c});if(w==="permanent")return f.jsx(N,{...J,children:vt});const mt=f.jsx(U,{...wt,children:vt});return w==="persistent"?f.jsx(N,{...J,children:mt}):f.jsx(O,{...L,children:mt})});function Ym(t){return V("MuiFab",t)}const Pa=K("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),Zm=t=>{const{color:e,variant:o,classes:r,size:n}=t,s={root:["root",o,`size${B(n)}`,e==="inherit"?"colorInherit":e]},a=G(s,Ym,r);return{...r,...a}},Qm=k(ue,{name:"MuiFab",slot:"Root",shouldForwardProp:t=>ae(t)||t==="classes",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${B(o.size)}`],o.color==="inherit"&&e.colorInherit,e[B(o.size)],e[o.color]]}})(W(({theme:t})=>{var e,o;return{...t.typography.button,minHeight:36,transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(t.vars||t).zIndex.fab,boxShadow:(t.vars||t).shadows[6],"&:active":{boxShadow:(t.vars||t).shadows[12]},color:t.vars?t.vars.palette.text.primary:(o=(e=t.palette).getContrastText)==null?void 0:o.call(e,t.palette.grey[300]),backgroundColor:(t.vars||t).palette.grey[300],"&:hover":{backgroundColor:(t.vars||t).palette.grey.A100,"@media (hover: none)":{backgroundColor:(t.vars||t).palette.grey[300]},textDecoration:"none"},[`&.${Pa.focusVisible}`]:{boxShadow:(t.vars||t).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"}}]}}),W(({theme:t})=>({variants:[...Object.entries(t.palette).filter(jt(["dark","contrastText"])).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].contrastText,backgroundColor:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:(t.vars||t).palette[e].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[e].main}}}}))]})),W(({theme:t})=>({[`&.${Pa.disabled}`]:{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).palette.action.disabledBackground}}))),Ki=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFab"}),{children:n,className:s,color:a="default",component:i="button",disabled:l=!1,disableFocusRipple:c=!1,focusVisibleClassName:p,size:u="large",variant:m="circular",...g}=r,b={...r,color:a,component:i,disabled:l,disableFocusRipple:c,size:u,variant:m},v=Zm(b);return f.jsx(Qm,{className:j(v.root,s),component:i,disabled:l,focusRipple:!c,focusVisibleClassName:j(v.focusVisible,p),ownerState:b,ref:o,...g,classes:v,children:n})}),Jm=t=>{const{classes:e,disableUnderline:o,startAdornment:r,endAdornment:n,size:s,hiddenLabel:a,multiline:i}=t,l={root:["root",!o&&"underline",r&&"adornedStart",n&&"adornedEnd",s==="small"&&`size${B(s)}`,a&&"hiddenLabel",i&&"multiline"],input:["input"]},c=G(l,Qu,e);return{...e,...c}},tb=k(Cn,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[...yn(t,e),!o.disableUnderline&&e.underline]}})(W(({theme:t})=>{const e=t.palette.mode==="light",o=e?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",r=e?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",n=e?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",s=e?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return{position:"relative",backgroundColor:t.vars?t.vars.palette.FilledInput.bg:r,borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),"&:hover":{backgroundColor:t.vars?t.vars.palette.FilledInput.hoverBg:n,"@media (hover: none)":{backgroundColor:t.vars?t.vars.palette.FilledInput.bg:r}},[`&.${Ie.focused}`]:{backgroundColor:t.vars?t.vars.palette.FilledInput.bg:r},[`&.${Ie.disabled}`]:{backgroundColor:t.vars?t.vars.palette.FilledInput.disabledBg:s},variants:[{props:({ownerState:a})=>!a.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ie.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ie.error}`]:{"&::before, &::after":{borderBottomColor:(t.vars||t).palette.error.main}},"&::before":{borderBottom:`1px solid ${t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / ${t.vars.opacity.inputUnderline})`:o}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:t.transitions.create("border-bottom-color",{duration:t.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ie.disabled}, .${Ie.error}):before`]:{borderBottom:`1px solid ${(t.vars||t).palette.text.primary}`},[`&.${Ie.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(t.palette).filter(jt()).map(([a])=>{var i;return{props:{disableUnderline:!1,color:a},style:{"&::after":{borderBottom:`2px solid ${(i=(t.vars||t).palette[a])==null?void 0:i.main}`}}}}),{props:({ownerState:a})=>a.startAdornment,style:{paddingLeft:12}},{props:({ownerState:a})=>a.endAdornment,style:{paddingRight:12}},{props:({ownerState:a})=>a.multiline,style:{padding:"25px 12px 8px"}},{props:({ownerState:a,size:i})=>a.multiline&&i==="small",style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:a})=>a.multiline&&a.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:a})=>a.multiline&&a.hiddenLabel&&a.size==="small",style:{paddingTop:8,paddingBottom:9}}]}})),eb=k(Sn,{name:"MuiFilledInput",slot:"Input",overridesResolver:xn})(W(({theme:t})=>({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12,...!t.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:t.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:t.palette.mode==="light"?null:"#fff",caretColor:t.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},...t.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[t.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:e})=>e.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:e})=>e.startAdornment,style:{paddingLeft:0}},{props:({ownerState:e})=>e.endAdornment,style:{paddingRight:0}},{props:({ownerState:e})=>e.hiddenLabel&&e.size==="small",style:{paddingTop:8,paddingBottom:9}},{props:({ownerState:e})=>e.multiline,style:{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0}}]}))),Ts=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFilledInput"}),{disableUnderline:n=!1,components:s={},componentsProps:a,fullWidth:i=!1,hiddenLabel:l,inputComponent:c="input",multiline:p=!1,slotProps:u,slots:m={},type:g="text",...b}=r,v={...r,disableUnderline:n,fullWidth:i,inputComponent:c,multiline:p,type:g},h=Jm(r),y={root:{ownerState:v},input:{ownerState:v}},S=u??a?wr(y,u??a):y,C=m.root??s.Root??tb,x=m.input??s.Input??eb;return f.jsx(wn,{slots:{root:C,input:x},slotProps:S,fullWidth:i,inputComponent:c,multiline:p,ref:o,type:g,...b,classes:h})});Ts.muiName="Input";function ob(t){return V("MuiFormControl",t)}const Tw=K("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]),rb=t=>{const{classes:e,margin:o,fullWidth:r}=t,n={root:["root",o!=="none"&&`margin${B(o)}`,r&&"fullWidth"]};return G(n,ob,e)},nb=k("div",{name:"MuiFormControl",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`margin${B(o.margin)}`],o.fullWidth&&e.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%"}}]}),sb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormControl"}),{children:n,className:s,color:a="primary",component:i="div",disabled:l=!1,error:c=!1,focused:p,fullWidth:u=!1,hiddenLabel:m=!1,margin:g="none",required:b=!1,size:v="medium",variant:h="outlined",...y}=r,S={...r,color:a,component:i,disabled:l,error:c,fullWidth:u,hiddenLabel:m,margin:g,required:b,size:v,variant:h},C=rb(S),[x,w]=d.useState(()=>{let O=!1;return n&&d.Children.forEach(n,L=>{if(!yo(L,["Input","Select"]))return;const F=yo(L,["Select"])?L.props.input:L;F&&qu(F.props)&&(O=!0)}),O}),[P,$]=d.useState(()=>{let O=!1;return n&&d.Children.forEach(n,L=>{yo(L,["Input","Select"])&&(an(L.props,!0)||an(L.props.inputProps,!0))&&(O=!0)}),O}),[I,A]=d.useState(!1);l&&I&&A(!1);const T=p!==void 0&&!l?p:I;let z;d.useRef(!1);const E=d.useCallback(()=>{$(!0)},[]),R=d.useCallback(()=>{$(!1)},[]),M=d.useMemo(()=>({adornedStart:x,setAdornedStart:w,color:a,disabled:l,error:c,filled:P,focused:T,fullWidth:u,hiddenLabel:m,size:v,onBlur:()=>{A(!1)},onFocus:()=>{A(!0)},onEmpty:R,onFilled:E,registerEffect:z,required:b,variant:h}),[x,a,l,c,P,T,u,m,z,R,E,b,v,h]);return f.jsx(hn.Provider,{value:M,children:f.jsx(nb,{as:i,ownerState:S,className:j(C.root,s),ref:o,...y,children:n})})});function ab(t){return V("MuiFormControlLabel",t)}const dr=K("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),ib=t=>{const{classes:e,disabled:o,labelPlacement:r,error:n,required:s}=t,a={root:["root",o&&"disabled",`labelPlacement${B(r)}`,n&&"error",s&&"required"],label:["label",o&&"disabled"],asterisk:["asterisk",n&&"error"]};return G(a,ab,e)},lb=k("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${dr.label}`]:e.label},e.root,e[`labelPlacement${B(o.labelPlacement)}`]]}})(W(({theme:t})=>({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${dr.disabled}`]:{cursor:"default"},[`& .${dr.label}`]:{[`&.${dr.disabled}`]:{color:(t.vars||t).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:e})=>e==="start"||e==="top"||e==="bottom",style:{marginLeft:16}}]}))),cb=k("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(t,e)=>e.asterisk})(W(({theme:t})=>({[`&.${dr.error}`]:{color:(t.vars||t).palette.error.main}}))),Mw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormControlLabel"}),{checked:n,className:s,componentsProps:a={},control:i,disabled:l,disableTypography:c,inputRef:p,label:u,labelPlacement:m="end",name:g,onChange:b,required:v,slots:h={},slotProps:y={},value:S,...C}=r,x=He(),w=l??i.props.disabled??(x==null?void 0:x.disabled),P=v??i.props.required,$={disabled:w,required:P};["checked","name","onChange","value","inputRef"].forEach(O=>{typeof i.props[O]>"u"&&typeof r[O]<"u"&&($[O]=r[O])});const I=lo({props:r,muiFormControl:x,states:["error"]}),A={...r,disabled:w,labelPlacement:m,required:P,error:I.error},T=ib(A),z={slots:h,slotProps:{...a,...y}},[E,R]=Q("typography",{elementType:he,externalForwardedProps:z,ownerState:A});let M=u;return M!=null&&M.type!==he&&!c&&(M=f.jsx(E,{component:"span",...R,className:j(T.label,R==null?void 0:R.className),children:M})),f.jsxs(lb,{className:j(T.root,s),ownerState:A,ref:o,...C,children:[d.cloneElement(i,$),P?f.jsxs("div",{children:[M,f.jsxs(cb,{ownerState:A,"aria-hidden":!0,className:T.asterisk,children:[" ","*"]})]}):M]})});function pb(t){return V("MuiFormGroup",t)}const Lw=K("MuiFormGroup",["root","row","error"]),db=t=>{const{classes:e,row:o,error:r}=t;return G({root:["root",o&&"row",r&&"error"]},pb,e)},ub=k("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.row&&e.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),fb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormGroup"}),{className:n,row:s=!1,...a}=r,i=He(),l=lo({props:r,muiFormControl:i,states:["error"]}),c={...r,row:s,error:l.error},p=db(c);return f.jsx(ub,{className:j(p.root,n),ownerState:c,ref:o,...a})});function gb(t){return V("MuiFormHelperText",t)}const $a=K("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var ka;const mb=t=>{const{classes:e,contained:o,size:r,disabled:n,error:s,filled:a,focused:i,required:l}=t,c={root:["root",n&&"disabled",s&&"error",r&&`size${B(r)}`,o&&"contained",i&&"focused",a&&"filled",l&&"required"]};return G(c,gb,e)},bb=k("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.size&&e[`size${B(o.size)}`],o.contained&&e.contained,o.filled&&e.filled]}})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,...t.typography.caption,textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${$a.disabled}`]:{color:(t.vars||t).palette.text.disabled},[`&.${$a.error}`]:{color:(t.vars||t).palette.error.main},variants:[{props:{size:"small"},style:{marginTop:4}},{props:({ownerState:e})=>e.contained,style:{marginLeft:14,marginRight:14}}]}))),vb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormHelperText"}),{children:n,className:s,component:a="p",disabled:i,error:l,filled:c,focused:p,margin:u,required:m,variant:g,...b}=r,v=He(),h=lo({props:r,muiFormControl:v,states:["variant","size","disabled","error","filled","focused","required"]}),y={...r,component:a,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 y.ownerState;const S=mb(y);return f.jsx(bb,{as:a,className:j(S.root,s),ref:o,...b,ownerState:y,children:n===" "?ka||(ka=f.jsx("span",{className:"notranslate","aria-hidden":!0,children:"​"})):n})});function hb(t){return V("MuiFormLabel",t)}const mr=K("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),yb=t=>{const{classes:e,color:o,focused:r,disabled:n,error:s,filled:a,required:i}=t,l={root:["root",`color${B(o)}`,n&&"disabled",s&&"error",a&&"filled",r&&"focused",i&&"required"],asterisk:["asterisk",s&&"error"]};return G(l,hb,e)},xb=k("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color==="secondary"&&e.colorSecondary,o.filled&&e.filled]}})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,...t.typography.body1,lineHeight:"1.4375em",padding:0,position:"relative",variants:[...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{[`&.${mr.focused}`]:{color:(t.vars||t).palette[e].main}}})),{props:{},style:{[`&.${mr.disabled}`]:{color:(t.vars||t).palette.text.disabled},[`&.${mr.error}`]:{color:(t.vars||t).palette.error.main}}}]}))),Cb=k("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(t,e)=>e.asterisk})(W(({theme:t})=>({[`&.${mr.error}`]:{color:(t.vars||t).palette.error.main}}))),Sb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormLabel"}),{children:n,className:s,color:a,component:i="label",disabled:l,error:c,filled:p,focused:u,required:m,...g}=r,b=He(),v=lo({props:r,muiFormControl:b,states:["color","required","focused","disabled","error","filled"]}),h={...r,color:v.color||"primary",component:i,disabled:v.disabled,error:v.error,filled:v.filled,focused:v.focused,required:v.required},y=yb(h);return f.jsxs(xb,{as:i,ownerState:h,className:j(y.root,s),ref:o,...g,children:[n,v.required&&f.jsxs(Cb,{ownerState:h,"aria-hidden":!0,className:y.asterisk,children:[" ","*"]})]})}),Ia=d.createContext();function wb(t){return V("MuiGrid",t)}const Rb=[0,1,2,3,4,5,6,7,8,9,10],Pb=["column-reverse","column","row-reverse","row"],$b=["nowrap","wrap-reverse","wrap"],tr=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Cr=K("MuiGrid",["root","container","item","zeroMinWidth",...Rb.map(t=>`spacing-xs-${t}`),...Pb.map(t=>`direction-xs-${t}`),...$b.map(t=>`wrap-xs-${t}`),...tr.map(t=>`grid-xs-${t}`),...tr.map(t=>`grid-sm-${t}`),...tr.map(t=>`grid-md-${t}`),...tr.map(t=>`grid-lg-${t}`),...tr.map(t=>`grid-xl-${t}`)]);function kb({theme:t,ownerState:e}){let o;return t.breakpoints.keys.reduce((r,n)=>{let s={};if(e[n]&&(o=e[n]),!o)return r;if(o===!0)s={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(o==="auto")s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const a=To({values:e.columns,breakpoints:t.breakpoints.values}),i=typeof a=="object"?a[n]:a;if(i==null)return r;const l=`${Math.round(o/i*1e8)/1e6}%`;let c={};if(e.container&&e.item&&e.columnSpacing!==0){const p=t.spacing(e.columnSpacing);if(p!=="0px"){const u=`calc(${l} + ${p})`;c={flexBasis:u,maxWidth:u}}}s={flexBasis:l,flexGrow:0,maxWidth:l,...c}}return t.breakpoints.values[n]===0?Object.assign(r,s):r[t.breakpoints.up(n)]=s,r},{})}function Ib({theme:t,ownerState:e}){const o=To({values:e.direction,breakpoints:t.breakpoints.values});return vr({theme:t},o,r=>{const n={flexDirection:r};return r.startsWith("column")&&(n[`& > .${Cr.item}`]={maxWidth:"none"}),n})}function qi({breakpoints:t,values:e}){let o="";Object.keys(e).forEach(n=>{o===""&&e[n]!==0&&(o=n)});const r=Object.keys(t).sort((n,s)=>t[n]-t[s]);return r.slice(0,r.indexOf(o))}function Tb({theme:t,ownerState:e}){const{container:o,rowSpacing:r}=e;let n={};if(o&&r!==0){const s=To({values:r,breakpoints:t.breakpoints.values});let a;typeof s=="object"&&(a=qi({breakpoints:t.breakpoints.values,values:s})),n=vr({theme:t},s,(i,l)=>{const c=t.spacing(i);return c!=="0px"?{marginTop:`calc(-1 * ${c})`,[`& > .${Cr.item}`]:{paddingTop:c}}:a!=null&&a.includes(l)?{}:{marginTop:0,[`& > .${Cr.item}`]:{paddingTop:0}}})}return n}function Mb({theme:t,ownerState:e}){const{container:o,columnSpacing:r}=e;let n={};if(o&&r!==0){const s=To({values:r,breakpoints:t.breakpoints.values});let a;typeof s=="object"&&(a=qi({breakpoints:t.breakpoints.values,values:s})),n=vr({theme:t},s,(i,l)=>{const c=t.spacing(i);if(c!=="0px"){const p=`calc(-1 * ${c})`;return{width:`calc(100% + ${c})`,marginLeft:p,[`& > .${Cr.item}`]:{paddingLeft:c}}}return a!=null&&a.includes(l)?{}:{width:"100%",marginLeft:0,[`& > .${Cr.item}`]:{paddingLeft:0}}})}return n}function Lb(t,e,o={}){if(!t||t<=0)return[];if(typeof t=="string"&&!Number.isNaN(Number(t))||typeof t=="number")return[o[`spacing-xs-${String(t)}`]];const r=[];return e.forEach(n=>{const s=t[n];Number(s)>0&&r.push(o[`spacing-${n}-${String(s)}`])}),r}const Ab=k("div",{name:"MuiGrid",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{container:r,direction:n,item:s,spacing:a,wrap:i,zeroMinWidth:l,breakpoints:c}=o;let p=[];r&&(p=Lb(a,c,e));const u=[];return c.forEach(m=>{const g=o[m];g&&u.push(e[`grid-${m}-${String(g)}`])}),[e.root,r&&e.container,s&&e.item,l&&e.zeroMinWidth,...p,n!=="row"&&e[`direction-xs-${String(n)}`],i!=="wrap"&&e[`wrap-xs-${String(i)}`],...u]}})(({ownerState:t})=>({boxSizing:"border-box",...t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},...t.item&&{margin:0},...t.zeroMinWidth&&{minWidth:0},...t.wrap!=="wrap"&&{flexWrap:t.wrap}}),Ib,Tb,Mb,kb);function Bb(t,e){if(!t||t<=0)return[];if(typeof t=="string"&&!Number.isNaN(Number(t))||typeof t=="number")return[`spacing-xs-${String(t)}`];const o=[];return e.forEach(r=>{const n=t[r];if(Number(n)>0){const s=`spacing-${r}-${String(n)}`;o.push(s)}}),o}const Eb=t=>{const{classes:e,container:o,direction:r,item:n,spacing:s,wrap:a,zeroMinWidth:i,breakpoints:l}=t;let c=[];o&&(c=Bb(s,l));const p=[];l.forEach(m=>{const g=t[m];g&&p.push(`grid-${m}-${String(g)}`)});const u={root:["root",o&&"container",n&&"item",i&&"zeroMinWidth",...c,r!=="row"&&`direction-xs-${String(r)}`,a!=="wrap"&&`wrap-xs-${String(a)}`,...p]};return G(u,wb,e)},Aw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiGrid"}),{breakpoints:n}=le(),s=Pr(r),{className:a,columns:i,columnSpacing:l,component:c="div",container:p=!1,direction:u="row",item:m=!1,rowSpacing:g,spacing:b=0,wrap:v="wrap",zeroMinWidth:h=!1,...y}=s,S=g||b,C=l||b,x=d.useContext(Ia),w=p?i||12:x,P={},$={...y};n.keys.forEach(T=>{y[T]!=null&&(P[T]=y[T],delete $[T])});const I={...s,columns:w,container:p,direction:u,item:m,rowSpacing:S,columnSpacing:C,wrap:v,zeroMinWidth:h,spacing:b,...P,breakpoints:n.keys},A=Eb(I);return f.jsx(Ia.Provider,{value:w,children:f.jsx(Ab,{ownerState:I,className:j(A.root,a),as:c,ref:o,...$})})}),Bw=xc({createStyledComponent:k("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.container&&e.container]}}),componentName:"MuiGrid2",useThemeProps:t=>_({props:t,name:"MuiGrid2"}),useTheme:le});function Ew(t){return V("MuiGrid2",t)}const Ob=[0,1,2,3,4,5,6,7,8,9,10],Nb=["column-reverse","column","row-reverse","row"],zb=["nowrap","wrap-reverse","wrap"],er=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Ow=K("MuiGrid2",["root","container",...Ob.map(t=>`spacing-xs-${t}`),...Nb.map(t=>`direction-xs-${t}`),...zb.map(t=>`wrap-xs-${t}`),...er.map(t=>`grid-xs-${t}`),...er.map(t=>`grid-sm-${t}`),...er.map(t=>`grid-md-${t}`),...er.map(t=>`grid-lg-${t}`),...er.map(t=>`grid-xl-${t}`)]);function rs(t){return`scale(${t}, ${t**2})`}const jb={entering:{opacity:1,transform:rs(1)},entered:{opacity:1,transform:"none"}},Bn=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),Sr=d.forwardRef(function(e,o){const{addEndListener:r,appear:n=!0,children:s,easing:a,in:i,onEnter:l,onEntered:c,onEntering:p,onExit:u,onExited:m,onExiting:g,style:b,timeout:v="auto",TransitionComponent:h=Le,...y}=e,S=no(),C=d.useRef(),x=le(),w=d.useRef(null),P=qt(w,io(s),o),$=O=>L=>{if(O){const F=w.current;L===void 0?O(F):O(F,L)}},I=$(p),A=$((O,L)=>{mn(O);const{duration:F,delay:D,easing:N}=Ge({style:b,timeout:v,easing:a},{mode:"enter"});let J;v==="auto"?(J=x.transitions.getAutoHeightDuration(O.clientHeight),C.current=J):J=F,O.style.transition=[x.transitions.create("opacity",{duration:J,delay:D}),x.transitions.create("transform",{duration:Bn?J:J*.666,delay:D,easing:N})].join(","),l&&l(O,L)}),T=$(c),z=$(g),E=$(O=>{const{duration:L,delay:F,easing:D}=Ge({style:b,timeout:v,easing:a},{mode:"exit"});let N;v==="auto"?(N=x.transitions.getAutoHeightDuration(O.clientHeight),C.current=N):N=L,O.style.transition=[x.transitions.create("opacity",{duration:N,delay:F}),x.transitions.create("transform",{duration:Bn?N:N*.666,delay:Bn?F:F||N*.333,easing:D})].join(","),O.style.opacity=0,O.style.transform=rs(.75),u&&u(O)}),R=$(m),M=O=>{v==="auto"&&S.start(C.current||0,O),r&&r(w.current,O)};return f.jsx(h,{appear:n,in:i,nodeRef:w,onEnter:A,onEntered:T,onEntering:I,onExit:E,onExited:R,onExiting:z,addEndListener:M,timeout:v==="auto"?null:v,...y,children:(O,{ownerState:L,...F})=>d.cloneElement(s,{style:{opacity:0,transform:rs(.75),visibility:O==="exited"&&!i?"hidden":void 0,...jb[O],...b,...s.props.style},ref:P,...F})})});Sr&&(Sr.muiSupportAuto=!0);const Db=fi({themeId:pn}),vo=["xs","sm","md","lg","xl"],Fb=(t,e,o=!0)=>o?vo.indexOf(t)<=vo.indexOf(e):vo.indexOf(t)o?vo.indexOf(e)<=vo.indexOf(t):vo.indexOf(e)e=>{const{withTheme:o=!1,noSSR:r=!1,initialWidth:n}=t;function s(a){const i=le(),l=a.theme||i,{initialWidth:c,width:p,...u}=gs({theme:l,name:"MuiWithWidth",props:a}),[m,g]=d.useState(!1);be(()=>{g(!0)},[]);const v=l.breakpoints.keys.slice().reverse().reduce((y,S)=>{const C=Db(l.breakpoints.up(S));return!y&&C?S:y},null),h={width:p||(m||r?v:void 0)||c||n,...o?{theme:l}:{},...u};return h.width===void 0?null:f.jsx(e,{...h})}return s};function Xi(t){const{children:e,only:o,width:r}=t,n=le();let s=!0;if(o)if(Array.isArray(o))for(let a=0;a{const{classes:e,breakpoints:o}=t,r={root:["root",...o.map(({breakpoint:n,dir:s})=>s==="only"?`${s}${B(n)}`:`${n}${B(s)}`)]};return G(r,Vb,e)},Kb=k("div",{name:"PrivateHiddenCss",slot:"Root"})(({theme:t,ownerState:e})=>{const o={display:"none"};return{...e.breakpoints.map(({breakpoint:r,dir:n})=>n==="only"?{[t.breakpoints.only(r)]:o}:n==="up"?{[t.breakpoints.up(r)]:o}:{[t.breakpoints.down(r)]:o}).reduce((r,n)=>(Object.keys(n).forEach(s=>{r[s]=n[s]}),r),{})}});function qb(t){const{children:e,className:o,only:r,...n}=t,s=le(),a=[];for(let c=0;c{a.push({breakpoint:p,dir:"only"})});const i={...t,breakpoints:a},l=Gb(i);return f.jsx(Kb,{className:j(l.root,o),ownerState:i,children:e})}function Nw(t){const{implementation:e="js",lgDown:o=!1,lgUp:r=!1,mdDown:n=!1,mdUp:s=!1,smDown:a=!1,smUp:i=!1,xlDown:l=!1,xlUp:c=!1,xsDown:p=!1,xsUp:u=!1,...m}=t;return e==="js"?f.jsx(Hb,{lgDown:o,lgUp:r,mdDown:n,mdUp:s,smDown:a,smUp:i,xlDown:l,xlUp:c,xsDown:p,xsUp:u,...m}):f.jsx(qb,{lgDown:o,lgUp:r,mdDown:n,mdUp:s,smDown:a,smUp:i,xlDown:l,xlUp:c,xsDown:p,xsUp:u,...m})}function Xb(t){return V("MuiIcon",t)}const zw=K("MuiIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]),_b=t=>{const{color:e,fontSize:o,classes:r}=t,n={root:["root",e!=="inherit"&&`color${B(e)}`,`fontSize${B(o)}`]};return G(n,Xb,r)},Yb=k("span",{name:"MuiIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color!=="inherit"&&e[`color${B(o.color)}`],e[`fontSize${B(o.fontSize)}`]]}})(W(({theme:t})=>({userSelect:"none",width:"1em",height:"1em",overflow:"hidden",display:"inline-block",textAlign:"center",flexShrink:0,variants:[{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:t.typography.pxToRem(20)}},{props:{fontSize:"medium"},style:{fontSize:t.typography.pxToRem(24)}},{props:{fontSize:"large"},style:{fontSize:t.typography.pxToRem(36)}},{props:{color:"action"},style:{color:(t.vars||t).palette.action.active}},{props:{color:"disabled"},style:{color:(t.vars||t).palette.action.disabled}},{props:{color:"inherit"},style:{color:void 0}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}}))]}))),Zb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiIcon"}),{baseClassName:n="material-icons",className:s,color:a="inherit",component:i="span",fontSize:l="medium",...c}=r,p={...r,baseClassName:n,color:a,component:i,fontSize:l},u=_b(p);return f.jsx(Yb,{as:i,className:j(n,"notranslate",u.root,s),ownerState:p,"aria-hidden":!0,ref:o,...c})});Zb.muiName="Icon";function Qb(t){return V("MuiImageList",t)}const jw=K("MuiImageList",["root","masonry","quilted","standard","woven"]),_i=d.createContext({}),Jb=t=>{const{classes:e,variant:o}=t;return G({root:["root",o]},Qb,e)},tv=k("ul",{name:"MuiImageList",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant]]}})({display:"grid",overflowY:"auto",listStyle:"none",padding:0,WebkitOverflowScrolling:"touch",variants:[{props:{variant:"masonry"},style:{display:"block"}}]}),Dw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiImageList"}),{children:n,className:s,cols:a=2,component:i="ul",rowHeight:l="auto",gap:c=4,style:p,variant:u="standard",...m}=r,g=d.useMemo(()=>({rowHeight:l,gap:c,variant:u}),[l,c,u]),b=u==="masonry"?{columnCount:a,columnGap:c,...p}:{gridTemplateColumns:`repeat(${a}, 1fr)`,gap:c,...p},v={...r,component:i,gap:c,rowHeight:l,variant:u},h=Jb(v);return f.jsx(tv,{as:i,className:j(h.root,h[u],s),ref:o,style:b,ownerState:v,...m,children:f.jsx(_i.Provider,{value:g,children:n})})});function ev(t){return V("MuiImageListItem",t)}const En=K("MuiImageListItem",["root","img","standard","woven","masonry","quilted"]),ov=t=>{const{classes:e,variant:o}=t;return G({root:["root",o],img:["img"]},ev,e)},rv=k("li",{name:"MuiImageListItem",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${En.img}`]:e.img},e.root,e[o.variant]]}})({display:"block",position:"relative",[`& .${En.img}`]:{objectFit:"cover",width:"100%",height:"100%",display:"block"},variants:[{props:{variant:"standard"},style:{display:"flex",flexDirection:"column"}},{props:{variant:"woven"},style:{height:"100%",alignSelf:"center","&:nth-of-type(even)":{height:"70%"}}},{props:{variant:"standard"},style:{[`& .${En.img}`]:{height:"auto",flexGrow:1}}}]}),Fw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiImageListItem"}),{children:n,className:s,cols:a=1,component:i="li",rows:l=1,style:c,...p}=r,{rowHeight:u="auto",gap:m,variant:g}=d.useContext(_i);let b="auto";g==="woven"?b=void 0:u!=="auto"&&(b=u*l+m*(l-1));const v={...r,cols:a,component:i,gap:m,rowHeight:u,rows:l,variant:g},h=ov(v);return f.jsx(rv,{as:i,className:j(h.root,h[g],s),ref:o,style:{height:b,gridColumnEnd:g!=="masonry"?`span ${a}`:void 0,gridRowEnd:g!=="masonry"?`span ${l}`:void 0,marginBottom:g==="masonry"?m:void 0,breakInside:g==="masonry"?"avoid":void 0,...c},ownerState:v,...p,children:d.Children.map(n,y=>d.isValidElement(y)?y.type==="img"||yo(y,["Image"])?d.cloneElement(y,{className:j(h.img,y.props.className)}):y:null)})});function nv(t){return V("MuiImageListItemBar",t)}const Ww=K("MuiImageListItemBar",["root","positionBottom","positionTop","positionBelow","actionPositionLeft","actionPositionRight","titleWrap","titleWrapBottom","titleWrapTop","titleWrapBelow","titleWrapActionPosLeft","titleWrapActionPosRight","title","subtitle","actionIcon","actionIconActionPosLeft","actionIconActionPosRight"]),sv=t=>{const{classes:e,position:o,actionIcon:r,actionPosition:n}=t,s={root:["root",`position${B(o)}`,`actionPosition${B(n)}`],titleWrap:["titleWrap",`titleWrap${B(o)}`,r&&`titleWrapActionPos${B(n)}`],title:["title"],subtitle:["subtitle"],actionIcon:["actionIcon",`actionIconActionPos${B(n)}`]};return G(s,nv,e)},av=k("div",{name:"MuiImageListItemBar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${B(o.position)}`]]}})(W(({theme:t})=>({position:"absolute",left:0,right:0,background:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",fontFamily:t.typography.fontFamily,variants:[{props:{position:"bottom"},style:{bottom:0}},{props:{position:"top"},style:{top:0}},{props:{position:"below"},style:{position:"relative",background:"transparent",alignItems:"normal"}}]}))),iv=k("div",{name:"MuiImageListItemBar",slot:"TitleWrap",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.titleWrap,e[`titleWrap${B(o.position)}`],o.actionIcon&&e[`titleWrapActionPos${B(o.actionPosition)}`]]}})(W(({theme:t})=>({flexGrow:1,padding:"12px 16px",color:(t.vars||t).palette.common.white,overflow:"hidden",variants:[{props:{position:"below"},style:{padding:"6px 0 12px",color:"inherit"}},{props:({ownerState:e})=>e.actionIcon&&e.actionPosition==="left",style:{paddingLeft:0}},{props:({ownerState:e})=>e.actionIcon&&e.actionPosition==="right",style:{paddingRight:0}}]}))),lv=k("div",{name:"MuiImageListItemBar",slot:"Title",overridesResolver:(t,e)=>e.title})(W(({theme:t})=>({fontSize:t.typography.pxToRem(16),lineHeight:"24px",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),cv=k("div",{name:"MuiImageListItemBar",slot:"Subtitle",overridesResolver:(t,e)=>e.subtitle})(W(({theme:t})=>({fontSize:t.typography.pxToRem(12),lineHeight:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),pv=k("div",{name:"MuiImageListItemBar",slot:"ActionIcon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.actionIcon,e[`actionIconActionPos${B(o.actionPosition)}`]]}})({variants:[{props:{actionPosition:"left"},style:{order:-1}}]}),Uw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiImageListItemBar"}),{actionIcon:n,actionPosition:s="right",className:a,subtitle:i,title:l,position:c="bottom",...p}=r,u={...r,position:c,actionPosition:s},m=sv(u);return f.jsxs(av,{ownerState:u,className:j(m.root,a),ref:o,...p,children:[f.jsxs(iv,{ownerState:u,className:m.titleWrap,children:[f.jsx(lv,{className:m.title,children:l}),i?f.jsx(cv,{className:m.subtitle,children:i}):null]}),n?f.jsx(pv,{ownerState:u,className:m.actionIcon,children:n}):null]})}),dv=t=>{const{classes:e,disableUnderline:o}=t,n=G({root:["root",!o&&"underline"],input:["input"]},Yu,e);return{...e,...n}},uv=k(Cn,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiInput",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[...yn(t,e),!o.disableUnderline&&e.underline]}})(W(({theme:t})=>{let o=t.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return t.vars&&(o=`rgba(${t.vars.palette.common.onBackgroundChannel} / ${t.vars.opacity.inputUnderline})`),{position:"relative",variants:[{props:({ownerState:r})=>r.formControl,style:{"label + &":{marginTop:16}}},{props:({ownerState:r})=>!r.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${bo.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${bo.error}`]:{"&::before, &::after":{borderBottomColor:(t.vars||t).palette.error.main}},"&::before":{borderBottom:`1px solid ${o}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:t.transitions.create("border-bottom-color",{duration:t.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${bo.disabled}, .${bo.error}):before`]:{borderBottom:`2px solid ${(t.vars||t).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${o}`}},[`&.${bo.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(t.palette).filter(jt()).map(([r])=>({props:{color:r,disableUnderline:!1},style:{"&::after":{borderBottom:`2px solid ${(t.vars||t).palette[r].main}`}}}))]}})),fv=k(Sn,{name:"MuiInput",slot:"Input",overridesResolver:xn})({}),Rn=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiInput"}),{disableUnderline:n=!1,components:s={},componentsProps:a,fullWidth:i=!1,inputComponent:l="input",multiline:c=!1,slotProps:p,slots:u={},type:m="text",...g}=r,b=dv(r),h={root:{ownerState:{disableUnderline:n}}},y=p??a?wr(p??a,h):h,S=u.root??s.Root??uv,C=u.input??s.Input??fv;return f.jsx(wn,{slots:{root:S,input:C},slotProps:y,fullWidth:i,inputComponent:l,multiline:c,ref:o,type:m,...g,classes:b})});Rn.muiName="Input";function gv(t){return V("MuiInputAdornment",t)}const Ta=K("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]);var Ma;const mv=(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${B(o.position)}`],o.disablePointerEvents===!0&&e.disablePointerEvents,e[o.variant]]},bv=t=>{const{classes:e,disablePointerEvents:o,hiddenLabel:r,position:n,size:s,variant:a}=t,i={root:["root",o&&"disablePointerEvents",n&&`position${B(n)}`,a,r&&"hiddenLabel",s&&`size${B(s)}`]};return G(i,gv,e)},vv=k("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:mv})(W(({theme:t})=>({display:"flex",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(t.vars||t).palette.action.active,variants:[{props:{variant:"filled"},style:{[`&.${Ta.positionStart}&:not(.${Ta.hiddenLabel})`]:{marginTop:16}}},{props:{position:"start"},style:{marginRight:8}},{props:{position:"end"},style:{marginLeft:8}},{props:{disablePointerEvents:!0},style:{pointerEvents:"none"}}]}))),Hw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiInputAdornment"}),{children:n,className:s,component:a="div",disablePointerEvents:i=!1,disableTypography:l=!1,position:c,variant:p,...u}=r,m=He()||{};let g=p;p&&m.variant,m&&!g&&(g=m.variant);const b={...r,hiddenLabel:m.hiddenLabel,size:m.size,disablePointerEvents:i,position:c,variant:g},v=bv(b);return f.jsx(hn.Provider,{value:null,children:f.jsx(vv,{as:a,ownerState:b,className:j(v.root,s),ref:o,...u,children:typeof n=="string"&&!l?f.jsx(he,{color:"textSecondary",children:n}):f.jsxs(d.Fragment,{children:[c==="start"?Ma||(Ma=f.jsx("span",{className:"notranslate","aria-hidden":!0,children:"​"})):null,n]})})})});function hv(t){return V("MuiInputLabel",t)}const Vw=K("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]),yv=t=>{const{classes:e,formControl:o,size:r,shrink:n,disableAnimation:s,variant:a,required:i}=t,l={root:["root",o&&"formControl",!s&&"animated",n&&"shrink",r&&r!=="normal"&&`size${B(r)}`,a],asterisk:[i&&"asterisk"]},c=G(l,hv,e);return{...e,...c}},xv=k(Sb,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${mr.asterisk}`]:e.asterisk},e.root,o.formControl&&e.formControl,o.size==="small"&&e.sizeSmall,o.shrink&&e.shrink,!o.disableAnimation&&e.animated,o.focused&&e.focused,e[o.variant]]}})(W(({theme:t})=>({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",variants:[{props:({ownerState:e})=>e.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:e})=>e.shrink,style:{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"}},{props:({ownerState:e})=>!e.disableAnimation,style:{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.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:e,ownerState:o})=>e==="filled"&&o.shrink,style:{userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"}},{props:({variant:e,ownerState:o,size:r})=>e==="filled"&&o.shrink&&r==="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:e,ownerState:o})=>e==="outlined"&&o.shrink,style:{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}}]}))),Cv=d.forwardRef(function(e,o){const r=_({name:"MuiInputLabel",props:e}),{disableAnimation:n=!1,margin:s,shrink:a,variant:i,className:l,...c}=r,p=He();let u=a;typeof u>"u"&&p&&(u=p.filled||p.focused||p.adornedStart);const m=lo({props:r,muiFormControl:p,states:["size","variant","required","focused"]}),g={...r,disableAnimation:n,formControl:p,shrink:u,size:m.size,variant:m.variant,required:m.required,focused:m.focused},b=yv(g);return f.jsx(xv,{"data-shrink":u,ref:o,className:j(b.root,l),...c,ownerState:g,classes:b})});function Sv(t){return V("MuiLinearProgress",t)}const Gw=K("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","bar1","bar2","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]),ns=4,ss=Je` +`,jp=typeof Xn!="string"?Oo` + animation: ${Xn} 1.4s linear infinite; + `:null,Dp=typeof _n!="string"?Oo` + animation: ${_n} 1.4s ease-in-out infinite; + `:null,Fp=t=>{const{classes:e,variant:o,color:r,disableShrink:n}=t,s={root:["root",o,`color${B(r)}`],svg:["svg"],circle:["circle",`circle${B(o)}`,n&&"circleDisableShrink"]};return G(s,zp,e)},Wp=k("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`color${B(o.color)}`]]}})(W(({theme:t})=>({display:"inline-block",variants:[{props:{variant:"determinate"},style:{transition:t.transitions.create("transform")}},{props:{variant:"indeterminate"},style:jp||{animation:`${Xn} 1.4s linear infinite`}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}}))]}))),Up=k("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(t,e)=>e.svg})({display:"block"}),Hp=k("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.circle,e[`circle${B(o.variant)}`],o.disableShrink&&e.circleDisableShrink]}})(W(({theme:t})=>({stroke:"currentColor",variants:[{props:{variant:"determinate"},style:{transition:t.transitions.create("stroke-dashoffset")}},{props:{variant:"indeterminate"},style:{strokeDasharray:"80px, 200px",strokeDashoffset:0}},{props:({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink,style:Dp||{animation:`${_n} 1.4s ease-in-out infinite`}}]}))),Si=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCircularProgress"}),{className:n,color:s="primary",disableShrink:a=!1,size:i=40,style:l,thickness:c=3.6,value:p=0,variant:u="indeterminate",...m}=r,g={...r,color:s,disableShrink:a,size:i,thickness:c,value:p,variant:u},b=Fp(g),v={},h={},y={};if(u==="determinate"){const S=2*Math.PI*((uo-c)/2);v.strokeDasharray=S.toFixed(3),y["aria-valuenow"]=Math.round(p),v.strokeDashoffset=`${((100-p)/100*S).toFixed(3)}px`,h.transform="rotate(-90deg)"}return f.jsx(Wp,{className:j(b.root,n),style:{width:i,height:i,...h,...l},ownerState:g,ref:o,role:"progressbar",...y,...m,children:f.jsx(Up,{className:b.svg,ownerState:g,viewBox:`${uo/2} ${uo/2} ${uo} ${uo}`,children:f.jsx(Hp,{className:b.circle,style:v,ownerState:g,cx:uo,cy:uo,r:(uo-c)/2,fill:"none",strokeWidth:c})})})});function Vp(t){return V("MuiIconButton",t)}const qs=K("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge","loading","loadingIndicator","loadingWrapper"]),Gp=t=>{const{classes:e,disabled:o,color:r,edge:n,size:s,loading:a}=t,i={root:["root",a&&"loading",o&&"disabled",r!=="default"&&`color${B(r)}`,n&&`edge${B(n)}`,`size${B(s)}`],loadingIndicator:["loadingIndicator"],loadingWrapper:["loadingWrapper"]};return G(i,Vp,e)},Kp=k(ue,{name:"MuiIconButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.loading&&e.loading,o.color!=="default"&&e[`color${B(o.color)}`],o.edge&&e[`edge${B(o.edge)}`],e[`size${B(o.size)}`]]}})(W(({theme:t})=>({textAlign:"center",flex:"0 0 auto",fontSize:t.typography.pxToRem(24),padding:8,borderRadius:"50%",color:(t.vars||t).palette.action.active,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),variants:[{props:e=>!e.disableRipple,style:{"--IconButton-hoverBg":t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.action.active,t.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}}]})),W(({theme:t})=>({variants:[{props:{color:"inherit"},style:{color:"inherit"}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}})),...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{"--IconButton-hoverBg":t.vars?`rgba(${(t.vars||t).palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt((t.vars||t).palette[e].main,t.palette.action.hoverOpacity)}})),{props:{size:"small"},style:{padding:5,fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{padding:12,fontSize:t.typography.pxToRem(28)}}],[`&.${qs.disabled}`]:{backgroundColor:"transparent",color:(t.vars||t).palette.action.disabled},[`&.${qs.loading}`]:{color:"transparent"}}))),qp=k("span",{name:"MuiIconButton",slot:"LoadingIndicator",overridesResolver:(t,e)=>e.loadingIndicator})(({theme:t})=>({display:"none",position:"absolute",visibility:"visible",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:(t.vars||t).palette.action.disabled,variants:[{props:{loading:!0},style:{display:"flex"}}]})),$o=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiIconButton"}),{edge:n=!1,children:s,className:a,color:i="default",disabled:l=!1,disableFocusRipple:c=!1,size:p="medium",id:u,loading:m=null,loadingIndicator:g,...b}=r,v=De(u),h=g??f.jsx(Si,{"aria-labelledby":v,color:"inherit",size:16}),y={...r,edge:n,color:i,disabled:l,disableFocusRipple:c,loading:m,loadingIndicator:h,size:p},S=Gp(y);return f.jsxs(Kp,{id:m?v:u,className:j(S.root,a),centerRipple:!0,focusRipple:!c,disabled:l||m,ref:o,...b,ownerState:y,children:[typeof m=="boolean"&&f.jsx("span",{className:S.loadingWrapper,style:{display:"contents"},children:f.jsx(qp,{className:S.loadingIndicator,ownerState:y,children:m&&h})}),s]})}),Xp=Qt(f.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),_p=Qt(f.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),Yp=Qt(f.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),Zp=Qt(f.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),wi=Qt(f.jsx("path",{d:"M19 6.41L17.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"),Qp=t=>{const{variant:e,color:o,severity:r,classes:n}=t,s={root:["root",`color${B(o||r)}`,`${e}${B(o||r)}`,`${e}`],icon:["icon"],message:["message"],action:["action"]};return G(s,Np,n)},Jp=k(Ue,{name:"MuiAlert",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`${o.variant}${B(o.color||o.severity)}`]]}})(W(({theme:t})=>{const e=t.palette.mode==="light"?Lo:Ao,o=t.palette.mode==="light"?Ao:Lo;return{...t.typography.body2,backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter(jt(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert[`${r}Color`]:e(t.palette[r].light,.6),backgroundColor:t.vars?t.vars.palette.Alert[`${r}StandardBg`]:o(t.palette[r].light,.9),[`& .${Ks.icon}`]:t.vars?{color:t.vars.palette.Alert[`${r}IconColor`]}:{color:t.palette[r].main}}})),...Object.entries(t.palette).filter(jt(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert[`${r}Color`]:e(t.palette[r].light,.6),border:`1px solid ${(t.vars||t).palette[r].light}`,[`& .${Ks.icon}`]:t.vars?{color:t.vars.palette.Alert[`${r}IconColor`]}:{color:t.palette[r].main}}})),...Object.entries(t.palette).filter(jt(["dark"])).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:{fontWeight:t.typography.fontWeightMedium,...t.vars?{color:t.vars.palette.Alert[`${r}FilledColor`],backgroundColor:t.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:t.palette.mode==="dark"?t.palette[r].dark:t.palette[r].main,color:t.palette.getContrastText(t.palette[r].main)}}}))]}})),td=k("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(t,e)=>e.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),ed=k("div",{name:"MuiAlert",slot:"Message",overridesResolver:(t,e)=>e.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),od=k("div",{name:"MuiAlert",slot:"Action",overridesResolver:(t,e)=>e.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),Xs={success:f.jsx(Xp,{fontSize:"inherit"}),warning:f.jsx(_p,{fontSize:"inherit"}),error:f.jsx(Yp,{fontSize:"inherit"}),info:f.jsx(Zp,{fontSize:"inherit"})},FS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAlert"}),{action:n,children:s,className:a,closeText:i="Close",color:l,components:c={},componentsProps:p={},icon:u,iconMapping:m=Xs,onClose:g,role:b="alert",severity:v="success",slotProps:h={},slots:y={},variant:S="standard",...C}=r,x={...r,color:l,severity:v,variant:S,colorSeverity:l||v},w=Qp(x),P={slots:{closeButton:c.CloseButton,closeIcon:c.CloseIcon,...y},slotProps:{...p,...h}},[$,I]=Q("root",{ref:o,shouldForwardComponentProp:!0,className:j(w.root,a),elementType:Jp,externalForwardedProps:{...P,...C},ownerState:x,additionalProps:{role:b,elevation:0}}),[A,T]=Q("icon",{className:w.icon,elementType:td,externalForwardedProps:P,ownerState:x}),[z,E]=Q("message",{className:w.message,elementType:ed,externalForwardedProps:P,ownerState:x}),[R,M]=Q("action",{className:w.action,elementType:od,externalForwardedProps:P,ownerState:x}),[O,L]=Q("closeButton",{elementType:$o,externalForwardedProps:P,ownerState:x}),[F,D]=Q("closeIcon",{elementType:wi,externalForwardedProps:P,ownerState:x});return f.jsxs($,{...I,children:[u!==!1?f.jsx(A,{...T,children:u||m[v]||Xs[v]}):null,f.jsx(z,{...E,children:s}),n!=null?f.jsx(R,{...M,children:n}):null,n==null&&g?f.jsx(R,{...M,children:f.jsx(O,{size:"small","aria-label":i,title:i,color:"inherit",onClick:g,...L,children:f.jsx(F,{fontSize:"small",...D})})}):null]})});function rd(t){return V("MuiTypography",t)}const nn=K("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]),nd={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},sd=Hc(),ad=t=>{const{align:e,gutterBottom:o,noWrap:r,paragraph:n,variant:s,classes:a}=t,i={root:["root",s,t.align!=="inherit"&&`align${B(e)}`,o&&"gutterBottom",r&&"noWrap",n&&"paragraph"]};return G(i,rd,a)},id=k("span",{name:"MuiTypography",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.variant&&e[o.variant],o.align!=="inherit"&&e[`align${B(o.align)}`],o.noWrap&&e.noWrap,o.gutterBottom&&e.gutterBottom,o.paragraph&&e.paragraph]}})(W(({theme:t})=>{var e;return{margin:0,variants:[{props:{variant:"inherit"},style:{font:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}},...Object.entries(t.typography).filter(([o,r])=>o!=="inherit"&&r&&typeof r=="object").map(([o,r])=>({props:{variant:o},style:r})),...Object.entries(t.palette).filter(jt()).map(([o])=>({props:{color:o},style:{color:(t.vars||t).palette[o].main}})),...Object.entries(((e=t.palette)==null?void 0:e.text)||{}).filter(([,o])=>typeof o=="string").map(([o])=>({props:{color:`text${B(o)}`},style:{color:(t.vars||t).palette.text[o]}})),{props:({ownerState:o})=>o.align!=="inherit",style:{textAlign:"var(--Typography-textAlign)"}},{props:({ownerState:o})=>o.noWrap,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},{props:({ownerState:o})=>o.gutterBottom,style:{marginBottom:"0.35em"}},{props:({ownerState:o})=>o.paragraph,style:{marginBottom:16}}]}})),_s={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},he=d.forwardRef(function(e,o){const{color:r,...n}=_({props:e,name:"MuiTypography"}),s=!nd[r],a=sd({...n,...s&&{color:r}}),{align:i="inherit",className:l,component:c,gutterBottom:p=!1,noWrap:u=!1,paragraph:m=!1,variant:g="body1",variantMapping:b=_s,...v}=a,h={...a,align:i,color:r,className:l,component:c,gutterBottom:p,noWrap:u,paragraph:m,variant:g,variantMapping:b},y=c||(m?"p":b[g]||_s[g])||"span",S=ad(h);return f.jsx(id,{as:y,ref:o,className:j(S.root,l),...v,ownerState:h,style:{...i!=="inherit"&&{"--Typography-textAlign":i},...v.style}})});function ld(t){return V("MuiAlertTitle",t)}const WS=K("MuiAlertTitle",["root"]),cd=t=>{const{classes:e}=t;return G({root:["root"]},ld,e)},pd=k(he,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({fontWeight:t.typography.fontWeightMedium,marginTop:-2}))),US=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAlertTitle"}),{className:n,...s}=r,a=r,i=cd(a);return f.jsx(pd,{gutterBottom:!0,component:"div",ownerState:a,ref:o,className:j(i.root,n),...s})});function dd(t){return V("MuiAppBar",t)}const HS=K("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]),ud=t=>{const{color:e,position:o,classes:r}=t,n={root:["root",`color${B(e)}`,`position${B(o)}`]};return G(n,dd,r)},Ys=(t,e)=>t?`${t==null?void 0:t.replace(")","")}, ${e})`:e,fd=k(Ue,{name:"MuiAppBar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${B(o.position)}`],e[`color${B(o.color)}`]]}})(W(({theme:t})=>({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,variants:[{props:{position:"fixed"},style:{position:"fixed",zIndex:(t.vars||t).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}}},{props:{position:"absolute"},style:{position:"absolute",zIndex:(t.vars||t).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"sticky"},style:{position:"sticky",zIndex:(t.vars||t).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":t.vars?t.vars.palette.AppBar.defaultBg:t.palette.grey[100],"--AppBar-color":t.vars?t.vars.palette.text.primary:t.palette.getContrastText(t.palette.grey[100]),...t.applyStyles("dark",{"--AppBar-background":t.vars?t.vars.palette.AppBar.defaultBg:t.palette.grey[900],"--AppBar-color":t.vars?t.vars.palette.text.primary:t.palette.getContrastText(t.palette.grey[900])})}},...Object.entries(t.palette).filter(jt(["contrastText"])).map(([e])=>({props:{color:e},style:{"--AppBar-background":(t.vars??t).palette[e].main,"--AppBar-color":(t.vars??t).palette[e].contrastText}})),{props:e=>e.enableColorOnDark===!0&&!["inherit","transparent"].includes(e.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)"}},{props:e=>e.enableColorOnDark===!1&&!["inherit","transparent"].includes(e.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...t.applyStyles("dark",{backgroundColor:t.vars?Ys(t.vars.palette.AppBar.darkBg,"var(--AppBar-background)"):null,color:t.vars?Ys(t.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)",...t.applyStyles("dark",{backgroundImage:"none"})}}]}))),VS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAppBar"}),{className:n,color:s="primary",enableColorOnDark:a=!1,position:i="fixed",...l}=r,c={...r,color:s,position:i,enableColorOnDark:a},p=ud(c);return f.jsx(fd,{square:!0,component:"header",ownerState:c,elevation:4,className:j(p.root,n,i==="fixed"&&"mui-fixed"),ref:o,...l})});function Zs(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function gd(t={}){const{ignoreAccents:e=!0,ignoreCase:o=!0,limit:r,matchFrom:n="any",stringify:s,trim:a=!1}=t;return(i,{inputValue:l,getOptionLabel:c})=>{let p=a?l.trim():l;o&&(p=p.toLowerCase()),e&&(p=Zs(p));const u=p?i.filter(m=>{let g=(s||c)(m);return o&&(g=g.toLowerCase()),e&&(g=Zs(g)),n==="start"?g.startsWith(p):g.includes(p)}):i;return typeof r=="number"?u.slice(0,r):u}}const md=gd(),bd=5,vd=t=>{var e;return t.current!==null&&((e=t.current.parentElement)==null?void 0:e.contains(document.activeElement))},hd=[];function Qs(t,e,o){if(e||t==null)return"";const r=o(t);return typeof r=="string"?r:""}function yd(t){const{unstable_isActiveElementInListbox:e=vd,unstable_classNamePrefix:o="Mui",autoComplete:r=!1,autoHighlight:n=!1,autoSelect:s=!1,blurOnSelect:a=!1,clearOnBlur:i=!t.freeSolo,clearOnEscape:l=!1,componentName:c="useAutocomplete",defaultValue:p=t.multiple?hd:null,disableClearable:u=!1,disableCloseOnSelect:m=!1,disabled:g,disabledItemsFocusable:b=!1,disableListWrap:v=!1,filterOptions:h=md,filterSelectedOptions:y=!1,freeSolo:S=!1,getOptionDisabled:C,getOptionKey:x,getOptionLabel:w=X=>X.label??X,groupBy:P,handleHomeEndKeys:$=!t.freeSolo,id:I,includeInputInList:A=!1,inputValue:T,isOptionEqualToValue:z=(X,H)=>X===H,multiple:E=!1,onChange:R,onClose:M,onHighlightChange:O,onInputChange:L,onOpen:F,open:D,openOnFocus:N=!1,options:J,readOnly:U=!1,selectOnFocus:wt=!t.freeSolo,value:vt}=t,mt=De(I);let et=w;et=X=>{const H=w(X);return typeof H!="string"?String(H):H};const rt=d.useRef(!1),Y=d.useRef(!0),at=d.useRef(null),ct=d.useRef(null),[st,ft]=d.useState(null),[Z,pt]=d.useState(-1),it=n?0:-1,ht=d.useRef(it),Mt=d.useRef(Qs(p??vt,E,et)).current,[tt,ot]=Te({controlled:vt,default:p,name:c}),[dt,St]=Te({controlled:T,default:Mt,name:c,state:"inputValue"}),[gt,nt]=d.useState(!1),Tt=d.useCallback((X,H,Rt)=>{if(!(E?tt.length!(y&&(E?tt:[tt]).some(H=>H!==null&&z(X,H)))),{inputValue:$t&<?"":dt,getOptionLabel:et}):[],Ct=gs({filteredOptions:ut,value:tt,inputValue:dt});d.useEffect(()=>{const X=tt!==Ct.value;gt&&!X||S&&!X||Tt(null,tt,"reset")},[tt,Tt,gt,Ct.value,S]);const Ut=At&&ut.length>0&&!U,Et=ee(X=>{X===-1?at.current.focus():st.querySelector(`[data-tag-index="${X}"]`).focus()});d.useEffect(()=>{E&&Z>tt.length-1&&(pt(-1),Et(-1))},[tt,E,Z,Et]);function Gt(X,H){if(!ct.current||X<0||X>=ut.length)return-1;let Rt=X;for(;;){const Ot=ct.current.querySelector(`[data-option-index="${Rt}"]`),Ht=b?!1:!Ot||Ot.disabled||Ot.getAttribute("aria-disabled")==="true";if(Ot&&Ot.hasAttribute("tabindex")&&!Ht)return Rt;if(H==="next"?Rt=(Rt+1)%ut.length:Rt=(Rt-1+ut.length)%ut.length,Rt===X)return-1}}const xt=ee(({event:X,index:H,reason:Rt})=>{if(ht.current=H,H===-1?at.current.removeAttribute("aria-activedescendant"):at.current.setAttribute("aria-activedescendant",`${mt}-option-${H}`),O&&["mouse","keyboard","touch"].includes(Rt)&&O(X,H===-1?null:ut[H],Rt),!ct.current)return;const Ot=ct.current.querySelector(`[role="option"].${o}-focused`);Ot&&(Ot.classList.remove(`${o}-focused`),Ot.classList.remove(`${o}-focusVisible`));let Ht=ct.current;if(ct.current.getAttribute("role")!=="listbox"&&(Ht=ct.current.parentElement.querySelector('[role="listbox"]')),!Ht)return;if(H===-1){Ht.scrollTop=0;return}const Yt=ct.current.querySelector(`[data-option-index="${H}"]`);if(Yt&&(Yt.classList.add(`${o}-focused`),Rt==="keyboard"&&Yt.classList.add(`${o}-focusVisible`),Ht.scrollHeight>Ht.clientHeight&&Rt!=="mouse"&&Rt!=="touch")){const se=Yt,Ae=Ht.clientHeight+Ht.scrollTop,Pn=se.offsetTop+se.offsetHeight;Pn>Ae?Ht.scrollTop=Pn-Ht.clientHeight:se.offsetTop-se.offsetHeight*(P?1.3:0){if(!It)return;const Yt=Gt((()=>{const se=ut.length-1;if(H==="reset")return it;if(H==="start")return 0;if(H==="end")return se;const Ae=ht.current+H;return Ae<0?Ae===-1&&A?-1:v&&ht.current!==-1||Math.abs(H)>1?0:se:Ae>se?Ae===se+1&&A?-1:v||Math.abs(H)>1?se:0:Ae})(),Rt);if(xt({index:Yt,reason:Ot,event:X}),r&&H!=="reset")if(Yt===-1)at.current.value=dt;else{const se=et(ut[Yt]);at.current.value=se,se.toLowerCase().indexOf(dt.toLowerCase())===0&&dt.length>0&&at.current.setSelectionRange(dt.length,se.length)}}),Xt=()=>{const X=(H,Rt)=>{const Ot=H?et(H):"",Ht=Rt?et(Rt):"";return Ot===Ht};if(ht.current!==-1&&Ct.filteredOptions&&Ct.filteredOptions.length!==ut.length&&Ct.inputValue===dt&&(E?tt.length===Ct.value.length&&Ct.value.every((H,Rt)=>et(tt[Rt])===et(H)):X(Ct.value,tt))){const H=Ct.filteredOptions[ht.current];if(H)return ut.findIndex(Rt=>et(Rt)===et(H))}return-1},oe=d.useCallback(()=>{if(!It)return;const X=Xt();if(X!==-1){ht.current=X;return}const H=E?tt[0]:tt;if(ut.length===0||H==null){Bt({diff:"reset"});return}if(ct.current){if(H!=null){const Rt=ut[ht.current];if(E&&Rt&&tt.findIndex(Ht=>z(Rt,Ht))!==-1)return;const Ot=ut.findIndex(Ht=>z(Ht,H));Ot===-1?Bt({diff:"reset"}):xt({index:Ot});return}if(ht.current>=ut.length-1){xt({index:ut.length-1});return}xt({index:ht.current})}},[ut.length,E?!1:tt,y,Bt,xt,It,dt,E]),fe=ee(X=>{Gn(ct,X),X&&oe()});d.useEffect(()=>{oe()},[oe]);const ie=X=>{At||(q(!0),bt(!0),F&&F(X))},Pe=(X,H)=>{At&&(q(!1),M&&M(X,H))},Vt=(X,H,Rt,Ot)=>{if(E){if(tt.length===H.length&&tt.every((Ht,Yt)=>Ht===H[Yt]))return}else if(tt===H)return;R&&R(X,H,Rt,Ot),ot(H)},_t=d.useRef(!1),ce=(X,H,Rt="selectOption",Ot="options")=>{let Ht=Rt,Yt=H;if(E){Yt=Array.isArray(tt)?tt.slice():[];const se=Yt.findIndex(Ae=>z(H,Ae));se===-1?Yt.push(H):Ot!=="freeSolo"&&(Yt.splice(se,1),Ht="removeOption")}Tt(X,Yt,Ht),Vt(X,Yt,Ht,{option:H}),!m&&(!X||!X.ctrlKey&&!X.metaKey)&&Pe(X,Ht),(a===!0||a==="touch"&&_t.current||a==="mouse"&&!_t.current)&&at.current.blur()};function $e(X,H){if(X===-1)return-1;let Rt=X;for(;;){if(H==="next"&&Rt===tt.length||H==="previous"&&Rt===-1)return-1;const Ot=st.querySelector(`[data-tag-index="${Rt}"]`);if(!Ot||!Ot.hasAttribute("tabindex")||Ot.disabled||Ot.getAttribute("aria-disabled")==="true")Rt+=H==="next"?1:-1;else return Rt}}const pe=(X,H)=>{if(!E)return;dt===""&&Pe(X,"toggleInput");let Rt=Z;Z===-1?dt===""&&H==="previous"&&(Rt=tt.length-1):(Rt+=H==="next"?1:-1,Rt<0&&(Rt=0),Rt===tt.length&&(Rt=-1)),Rt=$e(Rt,H),pt(Rt),Et(Rt)},Lt=X=>{rt.current=!0,St(""),L&&L(X,"","clear"),Vt(X,E?[]:null,"clear")},ge=X=>H=>{if(X.onKeyDown&&X.onKeyDown(H),!H.defaultMuiPrevented&&(Z!==-1&&!["ArrowLeft","ArrowRight"].includes(H.key)&&(pt(-1),Et(-1)),H.which!==229))switch(H.key){case"Home":It&&$&&(H.preventDefault(),Bt({diff:"start",direction:"next",reason:"keyboard",event:H}));break;case"End":It&&$&&(H.preventDefault(),Bt({diff:"end",direction:"previous",reason:"keyboard",event:H}));break;case"PageUp":H.preventDefault(),Bt({diff:-5,direction:"previous",reason:"keyboard",event:H}),ie(H);break;case"PageDown":H.preventDefault(),Bt({diff:bd,direction:"next",reason:"keyboard",event:H}),ie(H);break;case"ArrowDown":H.preventDefault(),Bt({diff:1,direction:"next",reason:"keyboard",event:H}),ie(H);break;case"ArrowUp":H.preventDefault(),Bt({diff:-1,direction:"previous",reason:"keyboard",event:H}),ie(H);break;case"ArrowLeft":pe(H,"previous");break;case"ArrowRight":pe(H,"next");break;case"Enter":if(ht.current!==-1&&It){const Rt=ut[ht.current],Ot=C?C(Rt):!1;if(H.preventDefault(),Ot)return;ce(H,Rt,"selectOption"),r&&at.current.setSelectionRange(at.current.value.length,at.current.value.length)}else S&&dt!==""&&$t===!1&&(E&&H.preventDefault(),ce(H,dt,"createOption","freeSolo"));break;case"Escape":It?(H.preventDefault(),H.stopPropagation(),Pe(H,"escape")):l&&(dt!==""||E&&tt.length>0)&&(H.preventDefault(),H.stopPropagation(),Lt(H));break;case"Backspace":if(E&&!U&&dt===""&&tt.length>0){const Rt=Z===-1?tt.length-1:Z,Ot=tt.slice();Ot.splice(Rt,1),Vt(H,Ot,"removeOption",{option:tt[Rt]})}break;case"Delete":if(E&&!U&&dt===""&&tt.length>0&&Z!==-1){const Rt=Z,Ot=tt.slice();Ot.splice(Rt,1),Vt(H,Ot,"removeOption",{option:tt[Rt]})}break}},yt=X=>{nt(!0),N&&!rt.current&&ie(X)},Pt=X=>{if(e(ct)){at.current.focus();return}nt(!1),Y.current=!0,rt.current=!1,s&&ht.current!==-1&&It?ce(X,ut[ht.current],"blur"):s&&S&&dt!==""?ce(X,dt,"blur","freeSolo"):i&&Tt(X,tt,"blur"),Pe(X,"blur")},Dt=X=>{const H=X.target.value;dt!==H&&(St(H),bt(!1),L&&L(X,H,"input")),H===""?!u&&!E&&Vt(X,null,"clear"):ie(X)},Ft=X=>{const H=Number(X.currentTarget.getAttribute("data-option-index"));ht.current!==H&&xt({event:X,index:H,reason:"mouse"})},Zt=X=>{xt({event:X,index:Number(X.currentTarget.getAttribute("data-option-index")),reason:"touch"}),_t.current=!0},Se=X=>{const H=Number(X.currentTarget.getAttribute("data-option-index"));ce(X,ut[H],"selectOption"),_t.current=!1},Ve=X=>H=>{const Rt=tt.slice();Rt.splice(X,1),Vt(H,Rt,"removeOption",{option:tt[X]})},to=X=>{At?Pe(X,"toggleInput"):ie(X)},co=X=>{X.currentTarget.contains(X.target)&&X.target.getAttribute("id")!==mt&&X.preventDefault()},ne=X=>{X.currentTarget.contains(X.target)&&(at.current.focus(),wt&&Y.current&&at.current.selectionEnd-at.current.selectionStart===0&&at.current.select(),Y.current=!1)},de=X=>{!g&&(dt===""||!At)&&to(X)};let qe=S&&dt.length>0;qe=qe||(E?tt.length>0:tt!==null);let Tr=ut;return P&&(Tr=ut.reduce((X,H,Rt)=>{const Ot=P(H);return X.length>0&&X[X.length-1].group===Ot?X[X.length-1].options.push(H):X.push({key:Rt,index:Rt,group:Ot,options:[H]}),X},[])),g&>&&Pt(),{getRootProps:(X={})=>({...X,onKeyDown:ge(X),onMouseDown:co,onClick:ne}),getInputLabelProps:()=>({id:`${mt}-label`,htmlFor:mt}),getInputProps:()=>({id:mt,value:dt,onBlur:Pt,onFocus:yt,onChange:Dt,onMouseDown:de,"aria-activedescendant":It?"":null,"aria-autocomplete":r?"both":"list","aria-controls":Ut?`${mt}-listbox`:void 0,"aria-expanded":Ut,autoComplete:"off",ref:at,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:g}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:Lt}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:to}),getTagProps:({index:X})=>({key:X,"data-tag-index":X,tabIndex:-1,...!U&&{onDelete:Ve(X)}}),getListboxProps:()=>({role:"listbox",id:`${mt}-listbox`,"aria-labelledby":`${mt}-label`,ref:fe,onMouseDown:X=>{X.preventDefault()}}),getOptionProps:({index:X,option:H})=>{const Rt=(E?tt:[tt]).some(Ht=>Ht!=null&&z(H,Ht)),Ot=C?C(H):!1;return{key:(x==null?void 0:x(H))??et(H),tabIndex:-1,role:"option",id:`${mt}-option-${X}`,onMouseMove:Ft,onClick:Se,onTouchStart:Zt,"data-option-index":X,"aria-disabled":Ot,"aria-selected":Rt}},id:mt,inputValue:dt,value:tt,dirty:qe,expanded:It&&st,popupOpen:It,focused:gt||Z!==-1,anchorEl:st,setAnchorEl:ft,focusedTag:Z,groupedOptions:Tr}}var we="top",Fe="bottom",We="right",Re="left",hs="auto",$r=[we,Fe,We,Re],Go="start",hr="end",xd="clippingParents",Ri="viewport",Qo="popper",Cd="reference",Js=$r.reduce(function(t,e){return t.concat([e+"-"+Go,e+"-"+hr])},[]),Pi=[].concat($r,[hs]).reduce(function(t,e){return t.concat([e,e+"-"+Go,e+"-"+hr])},[]),Sd="beforeRead",wd="read",Rd="afterRead",Pd="beforeMain",$d="main",kd="afterMain",Id="beforeWrite",Td="write",Md="afterWrite",Ld=[Sd,wd,Rd,Pd,$d,kd,Id,Td,Md];function Qe(t){return t?(t.nodeName||"").toLowerCase():null}function Me(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Bo(t){var e=Me(t).Element;return t instanceof e||t instanceof Element}function ze(t){var e=Me(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function ys(t){if(typeof ShadowRoot>"u")return!1;var e=Me(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}function Ad(t){var e=t.state;Object.keys(e.elements).forEach(function(o){var r=e.styles[o]||{},n=e.attributes[o]||{},s=e.elements[o];!ze(s)||!Qe(s)||(Object.assign(s.style,r),Object.keys(n).forEach(function(a){var i=n[a];i===!1?s.removeAttribute(a):s.setAttribute(a,i===!0?"":i)}))})}function Bd(t){var e=t.state,o={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,o.popper),e.styles=o,e.elements.arrow&&Object.assign(e.elements.arrow.style,o.arrow),function(){Object.keys(e.elements).forEach(function(r){var n=e.elements[r],s=e.attributes[r]||{},a=Object.keys(e.styles.hasOwnProperty(r)?e.styles[r]:o[r]),i=a.reduce(function(l,c){return l[c]="",l},{});!ze(n)||!Qe(n)||(Object.assign(n.style,i),Object.keys(s).forEach(function(l){n.removeAttribute(l)}))})}}const Ed={name:"applyStyles",enabled:!0,phase:"write",fn:Ad,effect:Bd,requires:["computeStyles"]};function Ye(t){return t.split("-")[0]}var Mo=Math.max,sn=Math.min,Ko=Math.round;function Yn(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function $i(){return!/^((?!chrome|android).)*safari/i.test(Yn())}function qo(t,e,o){e===void 0&&(e=!1),o===void 0&&(o=!1);var r=t.getBoundingClientRect(),n=1,s=1;e&&ze(t)&&(n=t.offsetWidth>0&&Ko(r.width)/t.offsetWidth||1,s=t.offsetHeight>0&&Ko(r.height)/t.offsetHeight||1);var a=Bo(t)?Me(t):window,i=a.visualViewport,l=!$i()&&o,c=(r.left+(l&&i?i.offsetLeft:0))/n,p=(r.top+(l&&i?i.offsetTop:0))/s,u=r.width/n,m=r.height/s;return{width:u,height:m,top:p,right:c+u,bottom:p+m,left:c,x:c,y:p}}function xs(t){var e=qo(t),o=t.offsetWidth,r=t.offsetHeight;return Math.abs(e.width-o)<=1&&(o=e.width),Math.abs(e.height-r)<=1&&(r=e.height),{x:t.offsetLeft,y:t.offsetTop,width:o,height:r}}function ki(t,e){var o=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(o&&ys(o)){var r=e;do{if(r&&t.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ao(t){return Me(t).getComputedStyle(t)}function Od(t){return["table","td","th"].indexOf(Qe(t))>=0}function yo(t){return((Bo(t)?t.ownerDocument:t.document)||window.document).documentElement}function bn(t){return Qe(t)==="html"?t:t.assignedSlot||t.parentNode||(ys(t)?t.host:null)||yo(t)}function ta(t){return!ze(t)||ao(t).position==="fixed"?null:t.offsetParent}function Nd(t){var e=/firefox/i.test(Yn()),o=/Trident/i.test(Yn());if(o&&ze(t)){var r=ao(t);if(r.position==="fixed")return null}var n=bn(t);for(ys(n)&&(n=n.host);ze(n)&&["html","body"].indexOf(Qe(n))<0;){var s=ao(n);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||e&&s.willChange==="filter"||e&&s.filter&&s.filter!=="none")return n;n=n.parentNode}return null}function kr(t){for(var e=Me(t),o=ta(t);o&&Od(o)&&ao(o).position==="static";)o=ta(o);return o&&(Qe(o)==="html"||Qe(o)==="body"&&ao(o).position==="static")?e:o||Nd(t)||e}function Cs(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function dr(t,e,o){return Mo(t,sn(e,o))}function zd(t,e,o){var r=dr(t,e,o);return r>o?o:r}function Ii(){return{top:0,right:0,bottom:0,left:0}}function Ti(t){return Object.assign({},Ii(),t)}function Mi(t,e){return e.reduce(function(o,r){return o[r]=t,o},{})}var jd=function(e,o){return e=typeof e=="function"?e(Object.assign({},o.rects,{placement:o.placement})):e,Ti(typeof e!="number"?e:Mi(e,$r))};function Dd(t){var e,o=t.state,r=t.name,n=t.options,s=o.elements.arrow,a=o.modifiersData.popperOffsets,i=Ye(o.placement),l=Cs(i),c=[Re,We].indexOf(i)>=0,p=c?"height":"width";if(!(!s||!a)){var u=jd(n.padding,o),m=xs(s),g=l==="y"?we:Re,b=l==="y"?Fe:We,v=o.rects.reference[p]+o.rects.reference[l]-a[l]-o.rects.popper[p],h=a[l]-o.rects.reference[l],y=kr(s),S=y?l==="y"?y.clientHeight||0:y.clientWidth||0:0,C=v/2-h/2,x=u[g],w=S-m[p]-u[b],P=S/2-m[p]/2+C,$=dr(x,P,w),I=l;o.modifiersData[r]=(e={},e[I]=$,e.centerOffset=$-P,e)}}function Fd(t){var e=t.state,o=t.options,r=o.element,n=r===void 0?"[data-popper-arrow]":r;n!=null&&(typeof n=="string"&&(n=e.elements.popper.querySelector(n),!n)||ki(e.elements.popper,n)&&(e.elements.arrow=n))}const Wd={name:"arrow",enabled:!0,phase:"main",fn:Dd,effect:Fd,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Xo(t){return t.split("-")[1]}var Ud={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Hd(t,e){var o=t.x,r=t.y,n=e.devicePixelRatio||1;return{x:Ko(o*n)/n||0,y:Ko(r*n)/n||0}}function ea(t){var e,o=t.popper,r=t.popperRect,n=t.placement,s=t.variation,a=t.offsets,i=t.position,l=t.gpuAcceleration,c=t.adaptive,p=t.roundOffsets,u=t.isFixed,m=a.x,g=m===void 0?0:m,b=a.y,v=b===void 0?0:b,h=typeof p=="function"?p({x:g,y:v}):{x:g,y:v};g=h.x,v=h.y;var y=a.hasOwnProperty("x"),S=a.hasOwnProperty("y"),C=Re,x=we,w=window;if(c){var P=kr(o),$="clientHeight",I="clientWidth";if(P===Me(o)&&(P=yo(o),ao(P).position!=="static"&&i==="absolute"&&($="scrollHeight",I="scrollWidth")),P=P,n===we||(n===Re||n===We)&&s===hr){x=Fe;var A=u&&P===w&&w.visualViewport?w.visualViewport.height:P[$];v-=A-r.height,v*=l?1:-1}if(n===Re||(n===we||n===Fe)&&s===hr){C=We;var T=u&&P===w&&w.visualViewport?w.visualViewport.width:P[I];g-=T-r.width,g*=l?1:-1}}var z=Object.assign({position:i},c&&Ud),E=p===!0?Hd({x:g,y:v},Me(o)):{x:g,y:v};if(g=E.x,v=E.y,l){var R;return Object.assign({},z,(R={},R[x]=S?"0":"",R[C]=y?"0":"",R.transform=(w.devicePixelRatio||1)<=1?"translate("+g+"px, "+v+"px)":"translate3d("+g+"px, "+v+"px, 0)",R))}return Object.assign({},z,(e={},e[x]=S?v+"px":"",e[C]=y?g+"px":"",e.transform="",e))}function Vd(t){var e=t.state,o=t.options,r=o.gpuAcceleration,n=r===void 0?!0:r,s=o.adaptive,a=s===void 0?!0:s,i=o.roundOffsets,l=i===void 0?!0:i,c={placement:Ye(e.placement),variation:Xo(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,ea(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,ea(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Gd={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Vd,data:{}};var Or={passive:!0};function Kd(t){var e=t.state,o=t.instance,r=t.options,n=r.scroll,s=n===void 0?!0:n,a=r.resize,i=a===void 0?!0:a,l=Me(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&c.forEach(function(p){p.addEventListener("scroll",o.update,Or)}),i&&l.addEventListener("resize",o.update,Or),function(){s&&c.forEach(function(p){p.removeEventListener("scroll",o.update,Or)}),i&&l.removeEventListener("resize",o.update,Or)}}const qd={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Kd,data:{}};var Xd={left:"right",right:"left",bottom:"top",top:"bottom"};function Qr(t){return t.replace(/left|right|bottom|top/g,function(e){return Xd[e]})}var _d={start:"end",end:"start"};function oa(t){return t.replace(/start|end/g,function(e){return _d[e]})}function Ss(t){var e=Me(t),o=e.pageXOffset,r=e.pageYOffset;return{scrollLeft:o,scrollTop:r}}function ws(t){return qo(yo(t)).left+Ss(t).scrollLeft}function Yd(t,e){var o=Me(t),r=yo(t),n=o.visualViewport,s=r.clientWidth,a=r.clientHeight,i=0,l=0;if(n){s=n.width,a=n.height;var c=$i();(c||!c&&e==="fixed")&&(i=n.offsetLeft,l=n.offsetTop)}return{width:s,height:a,x:i+ws(t),y:l}}function Zd(t){var e,o=yo(t),r=Ss(t),n=(e=t.ownerDocument)==null?void 0:e.body,s=Mo(o.scrollWidth,o.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),a=Mo(o.scrollHeight,o.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),i=-r.scrollLeft+ws(t),l=-r.scrollTop;return ao(n||o).direction==="rtl"&&(i+=Mo(o.clientWidth,n?n.clientWidth:0)-s),{width:s,height:a,x:i,y:l}}function Rs(t){var e=ao(t),o=e.overflow,r=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(o+n+r)}function Li(t){return["html","body","#document"].indexOf(Qe(t))>=0?t.ownerDocument.body:ze(t)&&Rs(t)?t:Li(bn(t))}function ur(t,e){var o;e===void 0&&(e=[]);var r=Li(t),n=r===((o=t.ownerDocument)==null?void 0:o.body),s=Me(r),a=n?[s].concat(s.visualViewport||[],Rs(r)?r:[]):r,i=e.concat(a);return n?i:i.concat(ur(bn(a)))}function Zn(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Qd(t,e){var o=qo(t,!1,e==="fixed");return o.top=o.top+t.clientTop,o.left=o.left+t.clientLeft,o.bottom=o.top+t.clientHeight,o.right=o.left+t.clientWidth,o.width=t.clientWidth,o.height=t.clientHeight,o.x=o.left,o.y=o.top,o}function ra(t,e,o){return e===Ri?Zn(Yd(t,o)):Bo(e)?Qd(e,o):Zn(Zd(yo(t)))}function Jd(t){var e=ur(bn(t)),o=["absolute","fixed"].indexOf(ao(t).position)>=0,r=o&&ze(t)?kr(t):t;return Bo(r)?e.filter(function(n){return Bo(n)&&ki(n,r)&&Qe(n)!=="body"}):[]}function tu(t,e,o,r){var n=e==="clippingParents"?Jd(t):[].concat(e),s=[].concat(n,[o]),a=s[0],i=s.reduce(function(l,c){var p=ra(t,c,r);return l.top=Mo(p.top,l.top),l.right=sn(p.right,l.right),l.bottom=sn(p.bottom,l.bottom),l.left=Mo(p.left,l.left),l},ra(t,a,r));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Ai(t){var e=t.reference,o=t.element,r=t.placement,n=r?Ye(r):null,s=r?Xo(r):null,a=e.x+e.width/2-o.width/2,i=e.y+e.height/2-o.height/2,l;switch(n){case we:l={x:a,y:e.y-o.height};break;case Fe:l={x:a,y:e.y+e.height};break;case We:l={x:e.x+e.width,y:i};break;case Re:l={x:e.x-o.width,y:i};break;default:l={x:e.x,y:e.y}}var c=n?Cs(n):null;if(c!=null){var p=c==="y"?"height":"width";switch(s){case Go:l[c]=l[c]-(e[p]/2-o[p]/2);break;case hr:l[c]=l[c]+(e[p]/2-o[p]/2);break}}return l}function yr(t,e){e===void 0&&(e={});var o=e,r=o.placement,n=r===void 0?t.placement:r,s=o.strategy,a=s===void 0?t.strategy:s,i=o.boundary,l=i===void 0?xd:i,c=o.rootBoundary,p=c===void 0?Ri:c,u=o.elementContext,m=u===void 0?Qo:u,g=o.altBoundary,b=g===void 0?!1:g,v=o.padding,h=v===void 0?0:v,y=Ti(typeof h!="number"?h:Mi(h,$r)),S=m===Qo?Cd:Qo,C=t.rects.popper,x=t.elements[b?S:m],w=tu(Bo(x)?x:x.contextElement||yo(t.elements.popper),l,p,a),P=qo(t.elements.reference),$=Ai({reference:P,element:C,placement:n}),I=Zn(Object.assign({},C,$)),A=m===Qo?I:P,T={top:w.top-A.top+y.top,bottom:A.bottom-w.bottom+y.bottom,left:w.left-A.left+y.left,right:A.right-w.right+y.right},z=t.modifiersData.offset;if(m===Qo&&z){var E=z[n];Object.keys(T).forEach(function(R){var M=[We,Fe].indexOf(R)>=0?1:-1,O=[we,Fe].indexOf(R)>=0?"y":"x";T[R]+=E[O]*M})}return T}function eu(t,e){e===void 0&&(e={});var o=e,r=o.placement,n=o.boundary,s=o.rootBoundary,a=o.padding,i=o.flipVariations,l=o.allowedAutoPlacements,c=l===void 0?Pi:l,p=Xo(r),u=p?i?Js:Js.filter(function(b){return Xo(b)===p}):$r,m=u.filter(function(b){return c.indexOf(b)>=0});m.length===0&&(m=u);var g=m.reduce(function(b,v){return b[v]=yr(t,{placement:v,boundary:n,rootBoundary:s,padding:a})[Ye(v)],b},{});return Object.keys(g).sort(function(b,v){return g[b]-g[v]})}function ou(t){if(Ye(t)===hs)return[];var e=Qr(t);return[oa(t),e,oa(e)]}function ru(t){var e=t.state,o=t.options,r=t.name;if(!e.modifiersData[r]._skip){for(var n=o.mainAxis,s=n===void 0?!0:n,a=o.altAxis,i=a===void 0?!0:a,l=o.fallbackPlacements,c=o.padding,p=o.boundary,u=o.rootBoundary,m=o.altBoundary,g=o.flipVariations,b=g===void 0?!0:g,v=o.allowedAutoPlacements,h=e.options.placement,y=Ye(h),S=y===h,C=l||(S||!b?[Qr(h)]:ou(h)),x=[h].concat(C).reduce(function(mt,et){return mt.concat(Ye(et)===hs?eu(e,{placement:et,boundary:p,rootBoundary:u,padding:c,flipVariations:b,allowedAutoPlacements:v}):et)},[]),w=e.rects.reference,P=e.rects.popper,$=new Map,I=!0,A=x[0],T=0;T=0,O=M?"width":"height",L=yr(e,{placement:z,boundary:p,rootBoundary:u,altBoundary:m,padding:c}),F=M?R?We:Re:R?Fe:we;w[O]>P[O]&&(F=Qr(F));var D=Qr(F),N=[];if(s&&N.push(L[E]<=0),i&&N.push(L[F]<=0,L[D]<=0),N.every(function(mt){return mt})){A=z,I=!1;break}$.set(z,N)}if(I)for(var J=b?3:1,U=function(et){var rt=x.find(function(Y){var at=$.get(Y);if(at)return at.slice(0,et).every(function(ct){return ct})});if(rt)return A=rt,"break"},wt=J;wt>0;wt--){var vt=U(wt);if(vt==="break")break}e.placement!==A&&(e.modifiersData[r]._skip=!0,e.placement=A,e.reset=!0)}}const nu={name:"flip",enabled:!0,phase:"main",fn:ru,requiresIfExists:["offset"],data:{_skip:!1}};function na(t,e,o){return o===void 0&&(o={x:0,y:0}),{top:t.top-e.height-o.y,right:t.right-e.width+o.x,bottom:t.bottom-e.height+o.y,left:t.left-e.width-o.x}}function sa(t){return[we,We,Fe,Re].some(function(e){return t[e]>=0})}function su(t){var e=t.state,o=t.name,r=e.rects.reference,n=e.rects.popper,s=e.modifiersData.preventOverflow,a=yr(e,{elementContext:"reference"}),i=yr(e,{altBoundary:!0}),l=na(a,r),c=na(i,n,s),p=sa(l),u=sa(c);e.modifiersData[o]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}const au={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:su};function iu(t,e,o){var r=Ye(t),n=[Re,we].indexOf(r)>=0?-1:1,s=typeof o=="function"?o(Object.assign({},e,{placement:t})):o,a=s[0],i=s[1];return a=a||0,i=(i||0)*n,[Re,We].indexOf(r)>=0?{x:i,y:a}:{x:a,y:i}}function lu(t){var e=t.state,o=t.options,r=t.name,n=o.offset,s=n===void 0?[0,0]:n,a=Pi.reduce(function(p,u){return p[u]=iu(u,e.rects,s),p},{}),i=a[e.placement],l=i.x,c=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[r]=a}const cu={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:lu};function pu(t){var e=t.state,o=t.name;e.modifiersData[o]=Ai({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const du={name:"popperOffsets",enabled:!0,phase:"read",fn:pu,data:{}};function uu(t){return t==="x"?"y":"x"}function fu(t){var e=t.state,o=t.options,r=t.name,n=o.mainAxis,s=n===void 0?!0:n,a=o.altAxis,i=a===void 0?!1:a,l=o.boundary,c=o.rootBoundary,p=o.altBoundary,u=o.padding,m=o.tether,g=m===void 0?!0:m,b=o.tetherOffset,v=b===void 0?0:b,h=yr(e,{boundary:l,rootBoundary:c,padding:u,altBoundary:p}),y=Ye(e.placement),S=Xo(e.placement),C=!S,x=Cs(y),w=uu(x),P=e.modifiersData.popperOffsets,$=e.rects.reference,I=e.rects.popper,A=typeof v=="function"?v(Object.assign({},e.rects,{placement:e.placement})):v,T=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),z=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,E={x:0,y:0};if(P){if(s){var R,M=x==="y"?we:Re,O=x==="y"?Fe:We,L=x==="y"?"height":"width",F=P[x],D=F+h[M],N=F-h[O],J=g?-I[L]/2:0,U=S===Go?$[L]:I[L],wt=S===Go?-I[L]:-$[L],vt=e.elements.arrow,mt=g&&vt?xs(vt):{width:0,height:0},et=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Ii(),rt=et[M],Y=et[O],at=dr(0,$[L],mt[L]),ct=C?$[L]/2-J-at-rt-T.mainAxis:U-at-rt-T.mainAxis,st=C?-$[L]/2+J+at+Y+T.mainAxis:wt+at+Y+T.mainAxis,ft=e.elements.arrow&&kr(e.elements.arrow),Z=ft?x==="y"?ft.clientTop||0:ft.clientLeft||0:0,pt=(R=z==null?void 0:z[x])!=null?R:0,it=F+ct-pt-Z,ht=F+st-pt,Mt=dr(g?sn(D,it):D,F,g?Mo(N,ht):N);P[x]=Mt,E[x]=Mt-F}if(i){var tt,ot=x==="x"?we:Re,dt=x==="x"?Fe:We,St=P[w],gt=w==="y"?"height":"width",nt=St+h[ot],Tt=St-h[dt],At=[we,Re].indexOf(y)!==-1,q=(tt=z==null?void 0:z[w])!=null?tt:0,lt=At?nt:St-$[gt]-I[gt]-q+T.altAxis,bt=At?St+$[gt]+I[gt]-q-T.altAxis:Tt,$t=g&&At?zd(lt,St,bt):dr(g?lt:nt,St,g?bt:Tt);P[w]=$t,E[w]=$t-St}e.modifiersData[r]=E}}const gu={name:"preventOverflow",enabled:!0,phase:"main",fn:fu,requiresIfExists:["offset"]};function mu(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function bu(t){return t===Me(t)||!ze(t)?Ss(t):mu(t)}function vu(t){var e=t.getBoundingClientRect(),o=Ko(e.width)/t.offsetWidth||1,r=Ko(e.height)/t.offsetHeight||1;return o!==1||r!==1}function hu(t,e,o){o===void 0&&(o=!1);var r=ze(e),n=ze(e)&&vu(e),s=yo(e),a=qo(t,n,o),i={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!o)&&((Qe(e)!=="body"||Rs(s))&&(i=bu(e)),ze(e)?(l=qo(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=ws(s))),{x:a.left+i.scrollLeft-l.x,y:a.top+i.scrollTop-l.y,width:a.width,height:a.height}}function yu(t){var e=new Map,o=new Set,r=[];t.forEach(function(s){e.set(s.name,s)});function n(s){o.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(i){if(!o.has(i)){var l=e.get(i);l&&n(l)}}),r.push(s)}return t.forEach(function(s){o.has(s.name)||n(s)}),r}function xu(t){var e=yu(t);return Ld.reduce(function(o,r){return o.concat(e.filter(function(n){return n.phase===r}))},[])}function Cu(t){var e;return function(){return e||(e=new Promise(function(o){Promise.resolve().then(function(){e=void 0,o(t())})})),e}}function Su(t){var e=t.reduce(function(o,r){var n=o[r.name];return o[r.name]=n?Object.assign({},n,r,{options:Object.assign({},n.options,r.options),data:Object.assign({},n.data,r.data)}):r,o},{});return Object.keys(e).map(function(o){return e[o]})}var aa={placement:"bottom",modifiers:[],strategy:"absolute"};function ia(){for(var t=arguments.length,e=new Array(t),o=0;o{s||i($u(n)||document.body)},[n,s]),be(()=>{if(a&&!s)return Gn(o,a),()=>{Gn(o,null)}},[o,a,s]),s){if(d.isValidElement(r)){const c={ref:l};return d.cloneElement(r,c)}return r}return a&&Hn.createPortal(r,a)});function ku(t){return V("MuiPopper",t)}K("MuiPopper",["root"]);function Iu(t,e){if(e==="ltr")return t;switch(t){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 t}}function Qn(t){return typeof t=="function"?t():t}function Tu(t){return t.nodeType!==void 0}const Mu=t=>{const{classes:e}=t;return G({root:["root"]},ku,e)},Lu={},Au=d.forwardRef(function(e,o){const{anchorEl:r,children:n,direction:s,disablePortal:a,modifiers:i,open:l,placement:c,popperOptions:p,popperRef:u,slotProps:m={},slots:g={},TransitionProps:b,ownerState:v,...h}=e,y=d.useRef(null),S=qt(y,o),C=d.useRef(null),x=qt(C,u),w=d.useRef(x);be(()=>{w.current=x},[x]),d.useImperativeHandle(u,()=>C.current,[]);const P=Iu(c,s),[$,I]=d.useState(P),[A,T]=d.useState(Qn(r));d.useEffect(()=>{C.current&&C.current.forceUpdate()}),d.useEffect(()=>{r&&T(Qn(r))},[r]),be(()=>{if(!A||!l)return;const O=D=>{I(D.placement)};let L=[{name:"preventOverflow",options:{altBoundary:a}},{name:"flip",options:{altBoundary:a}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:D})=>{O(D)}}];i!=null&&(L=L.concat(i)),p&&p.modifiers!=null&&(L=L.concat(p.modifiers));const F=Pu(A,y.current,{placement:P,...p,modifiers:L});return w.current(F),()=>{F.destroy(),w.current(null)}},[A,a,i,l,p,P]);const z={placement:$};b!==null&&(z.TransitionProps=b);const E=Mu(e),R=g.root??"div",M=Ce({elementType:R,externalSlotProps:m.root,externalForwardedProps:h,additionalProps:{role:"tooltip",ref:S},ownerState:e,className:E.root});return f.jsx(R,{...M,children:typeof n=="function"?n(z):n})}),Bu=d.forwardRef(function(e,o){const{anchorEl:r,children:n,container:s,direction:a="ltr",disablePortal:i=!1,keepMounted:l=!1,modifiers:c,open:p,placement:u="bottom",popperOptions:m=Lu,popperRef:g,style:b,transition:v=!1,slotProps:h={},slots:y={},...S}=e,[C,x]=d.useState(!0),w=()=>{x(!1)},P=()=>{x(!0)};if(!l&&!p&&(!v||C))return null;let $;if(s)$=s;else if(r){const T=Qn(r);$=T&&Tu(T)?te(T).body:te(null).body}const I=!p&&l&&(!v||C)?"none":void 0,A=v?{in:p,onEnter:w,onExited:P}:void 0;return f.jsx(Bi,{disablePortal:i,container:$,children:f.jsx(Au,{anchorEl:r,direction:a,disablePortal:i,modifiers:c,ref:o,open:v?!C:p,placement:u,popperOptions:m,popperRef:g,slotProps:h,slots:y,...S,style:{position:"fixed",top:0,left:0,display:I,...b},TransitionProps:A,children:n})})}),Eu=k(Bu,{name:"MuiPopper",slot:"Root",overridesResolver:(t,e)=>e.root})({}),vn=d.forwardRef(function(e,o){const r=Ke(),n=_({props:e,name:"MuiPopper"}),{anchorEl:s,component:a,components:i,componentsProps:l,container:c,disablePortal:p,keepMounted:u,modifiers:m,open:g,placement:b,popperOptions:v,popperRef:h,transition:y,slots:S,slotProps:C,...x}=n,w=(S==null?void 0:S.root)??(i==null?void 0:i.Root),P={anchorEl:s,container:c,disablePortal:p,keepMounted:u,modifiers:m,open:g,placement:b,popperOptions:v,popperRef:h,transition:y,...x};return f.jsx(Eu,{as:a,direction:r?"rtl":"ltr",slots:{root:w},slotProps:C??l,...P,ref:o})});function Ou(t){return V("MuiListSubheader",t)}const GS=K("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]),Nu=t=>{const{classes:e,color:o,disableGutters:r,inset:n,disableSticky:s}=t,a={root:["root",o!=="default"&&`color${B(o)}`,!r&&"gutters",n&&"inset",!s&&"sticky"]};return G(a,Ou,e)},zu=k("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color!=="default"&&e[`color${B(o.color)}`],!o.disableGutters&&e.gutters,o.inset&&e.inset,!o.disableSticky&&e.sticky]}})(W(({theme:t})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(t.vars||t).palette.text.secondary,fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(t.vars||t).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.inset,style:{paddingLeft:72}},{props:({ownerState:e})=>!e.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(t.vars||t).palette.background.paper}}]}))),Jn=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListSubheader"}),{className:n,color:s="default",component:a="li",disableGutters:i=!1,disableSticky:l=!1,inset:c=!1,...p}=r,u={...r,color:s,component:a,disableGutters:i,disableSticky:l,inset:c},m=Nu(u);return f.jsx(zu,{as:a,className:j(m.root,n),ref:o,ownerState:u,...p})});Jn&&(Jn.muiSkipListHighlight=!0);const ju=Qt(f.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 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 12 17 15.59z"}),"Cancel");function Du(t){return V("MuiChip",t)}const Wt=K("MuiChip",["root","sizeSmall","sizeMedium","colorDefault","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),Fu=t=>{const{classes:e,disabled:o,size:r,color:n,iconColor:s,onDelete:a,clickable:i,variant:l}=t,c={root:["root",l,o&&"disabled",`size${B(r)}`,`color${B(n)}`,i&&"clickable",i&&`clickableColor${B(n)}`,a&&"deletable",a&&`deletableColor${B(n)}`,`${l}${B(n)}`],label:["label",`label${B(r)}`],avatar:["avatar",`avatar${B(r)}`,`avatarColor${B(n)}`],icon:["icon",`icon${B(r)}`,`iconColor${B(s)}`],deleteIcon:["deleteIcon",`deleteIcon${B(r)}`,`deleteIconColor${B(n)}`,`deleteIcon${B(l)}Color${B(n)}`]};return G(c,Du,e)},Wu=k("div",{name:"MuiChip",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{color:r,iconColor:n,clickable:s,onDelete:a,size:i,variant:l}=o;return[{[`& .${Wt.avatar}`]:e.avatar},{[`& .${Wt.avatar}`]:e[`avatar${B(i)}`]},{[`& .${Wt.avatar}`]:e[`avatarColor${B(r)}`]},{[`& .${Wt.icon}`]:e.icon},{[`& .${Wt.icon}`]:e[`icon${B(i)}`]},{[`& .${Wt.icon}`]:e[`iconColor${B(n)}`]},{[`& .${Wt.deleteIcon}`]:e.deleteIcon},{[`& .${Wt.deleteIcon}`]:e[`deleteIcon${B(i)}`]},{[`& .${Wt.deleteIcon}`]:e[`deleteIconColor${B(r)}`]},{[`& .${Wt.deleteIcon}`]:e[`deleteIcon${B(l)}Color${B(r)}`]},e.root,e[`size${B(i)}`],e[`color${B(r)}`],s&&e.clickable,s&&r!=="default"&&e[`clickableColor${B(r)})`],a&&e.deletable,a&&r!=="default"&&e[`deletableColor${B(r)}`],e[l],e[`${l}${B(r)}`]]}})(W(({theme:t})=>{const e=t.palette.mode==="light"?t.palette.grey[700]:t.palette.grey[300];return{maxWidth:"100%",fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(t.vars||t).palette.text.primary,backgroundColor:(t.vars||t).palette.action.selected,borderRadius:32/2,whiteSpace:"nowrap",transition:t.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${Wt.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${Wt.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:t.vars?t.vars.palette.Chip.defaultAvatarColor:e,fontSize:t.typography.pxToRem(12)},[`& .${Wt.avatarColorPrimary}`]:{color:(t.vars||t).palette.primary.contrastText,backgroundColor:(t.vars||t).palette.primary.dark},[`& .${Wt.avatarColorSecondary}`]:{color:(t.vars||t).palette.secondary.contrastText,backgroundColor:(t.vars||t).palette.secondary.dark},[`& .${Wt.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:t.typography.pxToRem(10)},[`& .${Wt.icon}`]:{marginLeft:5,marginRight:-6},[`& .${Wt.deleteIcon}`]:{WebkitTapHighlightColor:"transparent",color:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / 0.26)`:kt(t.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / 0.4)`:kt(t.palette.text.primary,.4)}},variants:[{props:{size:"small"},style:{height:24,[`& .${Wt.icon}`]:{fontSize:18,marginLeft:4,marginRight:-4},[`& .${Wt.deleteIcon}`]:{fontSize:16,marginRight:4,marginLeft:-4}}},...Object.entries(t.palette).filter(jt(["contrastText"])).map(([o])=>({props:{color:o},style:{backgroundColor:(t.vars||t).palette[o].main,color:(t.vars||t).palette[o].contrastText,[`& .${Wt.deleteIcon}`]:{color:t.vars?`rgba(${t.vars.palette[o].contrastTextChannel} / 0.7)`:kt(t.palette[o].contrastText,.7),"&:hover, &:active":{color:(t.vars||t).palette[o].contrastText}}}})),{props:o=>o.iconColor===o.color,style:{[`& .${Wt.icon}`]:{color:t.vars?t.vars.palette.Chip.defaultIconColor:e}}},{props:o=>o.iconColor===o.color&&o.color!=="default",style:{[`& .${Wt.icon}`]:{color:"inherit"}}},{props:{onDelete:!0},style:{[`&.${Wt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}}},...Object.entries(t.palette).filter(jt(["dark"])).map(([o])=>({props:{color:o,onDelete:!0},style:{[`&.${Wt.focusVisible}`]:{background:(t.vars||t).palette[o].dark}}})),{props:{clickable:!0},style:{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity)},[`&.${Wt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)},"&:active":{boxShadow:(t.vars||t).shadows[1]}}},...Object.entries(t.palette).filter(jt(["dark"])).map(([o])=>({props:{color:o,clickable:!0},style:{[`&:hover, &.${Wt.focusVisible}`]:{backgroundColor:(t.vars||t).palette[o].dark}}})),{props:{variant:"outlined"},style:{backgroundColor:"transparent",border:t.vars?`1px solid ${t.vars.palette.Chip.defaultBorder}`:`1px solid ${t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[700]}`,[`&.${Wt.clickable}:hover`]:{backgroundColor:(t.vars||t).palette.action.hover},[`&.${Wt.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`& .${Wt.avatar}`]:{marginLeft:4},[`& .${Wt.avatarSmall}`]:{marginLeft:2},[`& .${Wt.icon}`]:{marginLeft:4},[`& .${Wt.iconSmall}`]:{marginLeft:2},[`& .${Wt.deleteIcon}`]:{marginRight:5},[`& .${Wt.deleteIconSmall}`]:{marginRight:3}}},...Object.entries(t.palette).filter(jt()).map(([o])=>({props:{variant:"outlined",color:o},style:{color:(t.vars||t).palette[o].main,border:`1px solid ${t.vars?`rgba(${t.vars.palette[o].mainChannel} / 0.7)`:kt(t.palette[o].main,.7)}`,[`&.${Wt.clickable}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette[o].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[o].main,t.palette.action.hoverOpacity)},[`&.${Wt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette[o].mainChannel} / ${t.vars.palette.action.focusOpacity})`:kt(t.palette[o].main,t.palette.action.focusOpacity)},[`& .${Wt.deleteIcon}`]:{color:t.vars?`rgba(${t.vars.palette[o].mainChannel} / 0.7)`:kt(t.palette[o].main,.7),"&:hover, &:active":{color:(t.vars||t).palette[o].main}}}}))]}})),Uu=k("span",{name:"MuiChip",slot:"Label",overridesResolver:(t,e)=>{const{ownerState:o}=t,{size:r}=o;return[e.label,e[`label${B(r)}`]]}})({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap",variants:[{props:{variant:"outlined"},style:{paddingLeft:11,paddingRight:11}},{props:{size:"small"},style:{paddingLeft:8,paddingRight:8}},{props:{size:"small",variant:"outlined"},style:{paddingLeft:7,paddingRight:7}}]});function la(t){return t.key==="Backspace"||t.key==="Delete"}const Hu=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiChip"}),{avatar:n,className:s,clickable:a,color:i="default",component:l,deleteIcon:c,disabled:p=!1,icon:u,label:m,onClick:g,onDelete:b,onKeyDown:v,onKeyUp:h,size:y="medium",variant:S="filled",tabIndex:C,skipFocusWhenDisabled:x=!1,...w}=r,P=d.useRef(null),$=qt(P,o),I=N=>{N.stopPropagation(),b&&b(N)},A=N=>{N.currentTarget===N.target&&la(N)&&N.preventDefault(),v&&v(N)},T=N=>{N.currentTarget===N.target&&b&&la(N)&&b(N),h&&h(N)},z=a!==!1&&g?!0:a,E=z||b?ue:l||"div",R={...r,component:E,disabled:p,size:y,color:i,iconColor:d.isValidElement(u)&&u.props.color||i,onDelete:!!b,clickable:z,variant:S},M=Fu(R),O=E===ue?{component:l||"div",focusVisibleClassName:M.focusVisible,...b&&{disableRipple:!0}}:{};let L=null;b&&(L=c&&d.isValidElement(c)?d.cloneElement(c,{className:j(c.props.className,M.deleteIcon),onClick:I}):f.jsx(ju,{className:j(M.deleteIcon),onClick:I}));let F=null;n&&d.isValidElement(n)&&(F=d.cloneElement(n,{className:j(M.avatar,n.props.className)}));let D=null;return u&&d.isValidElement(u)&&(D=d.cloneElement(u,{className:j(M.icon,u.props.className)})),f.jsxs(Wu,{as:E,className:j(M.root,s),disabled:z&&p?!0:void 0,onClick:g,onKeyDown:A,onKeyUp:T,ref:$,tabIndex:x&&p?-1:C,ownerState:R,...O,...w,children:[F||D,f.jsx(Uu,{className:j(M.label),ownerState:R,children:m}),L]})});function Nr(t){return parseInt(t,10)||0}const Vu={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function Gu(t){for(const e in t)return!1;return!0}function ca(t){return Gu(t)||t.outerHeightStyle===0&&!t.overflowing}const Ku=d.forwardRef(function(e,o){const{onChange:r,maxRows:n,minRows:s=1,style:a,value:i,...l}=e,{current:c}=d.useRef(i!=null),p=d.useRef(null),u=qt(o,p),m=d.useRef(null),g=d.useRef(null),b=d.useCallback(()=>{const C=p.current,x=g.current;if(!C||!x)return;const P=me(C).getComputedStyle(C);if(P.width==="0px")return{outerHeightStyle:0,overflowing:!1};x.style.width=P.width,x.value=C.value||e.placeholder||"x",x.value.slice(-1)===` +`&&(x.value+=" ");const $=P.boxSizing,I=Nr(P.paddingBottom)+Nr(P.paddingTop),A=Nr(P.borderBottomWidth)+Nr(P.borderTopWidth),T=x.scrollHeight;x.value="x";const z=x.scrollHeight;let E=T;s&&(E=Math.max(Number(s)*z,E)),n&&(E=Math.min(Number(n)*z,E)),E=Math.max(E,z);const R=E+($==="border-box"?I+A:0),M=Math.abs(E-T)<=1;return{outerHeightStyle:R,overflowing:M}},[n,s,e.placeholder]),v=ee(()=>{const C=p.current,x=b();if(!C||!x||ca(x))return!1;const w=x.outerHeightStyle;return m.current!=null&&m.current!==w}),h=d.useCallback(()=>{const C=p.current,x=b();if(!C||!x||ca(x))return;const w=x.outerHeightStyle;m.current!==w&&(m.current=w,C.style.height=`${w}px`),C.style.overflow=x.overflowing?"hidden":""},[b]),y=d.useRef(-1);be(()=>{const C=Pr(h),x=p==null?void 0:p.current;if(!x)return;const w=me(x);w.addEventListener("resize",C);let P;return typeof ResizeObserver<"u"&&(P=new ResizeObserver(()=>{v()&&(P.unobserve(x),cancelAnimationFrame(y.current),h(),y.current=requestAnimationFrame(()=>{P.observe(x)}))}),P.observe(x)),()=>{C.clear(),cancelAnimationFrame(y.current),w.removeEventListener("resize",C),P&&P.disconnect()}},[b,h,v]),be(()=>{h()});const S=C=>{c||h(),r&&r(C)};return f.jsxs(d.Fragment,{children:[f.jsx("textarea",{value:i,onChange:S,ref:u,rows:s,style:a,...l}),f.jsx("textarea",{"aria-hidden":!0,className:e.className,readOnly:!0,ref:g,tabIndex:-1,style:{...Vu.shadow,...a,paddingTop:0,paddingBottom:0}})]})});function so(t){return typeof t=="string"}function lo({props:t,states:e,muiFormControl:o}){return e.reduce((r,n)=>(r[n]=t[n],o&&typeof t[n]>"u"&&(r[n]=o[n]),r),{})}const hn=d.createContext(void 0);function He(){return d.useContext(hn)}function pa(t){return t!=null&&!(Array.isArray(t)&&t.length===0)}function an(t,e=!1){return t&&(pa(t.value)&&t.value!==""||e&&pa(t.defaultValue)&&t.defaultValue!=="")}function qu(t){return t.startAdornment}function Xu(t){return V("MuiInputBase",t)}const ke=K("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]);var da;const yn=(t,e)=>{const{ownerState:o}=t;return[e.root,o.formControl&&e.formControl,o.startAdornment&&e.adornedStart,o.endAdornment&&e.adornedEnd,o.error&&e.error,o.size==="small"&&e.sizeSmall,o.multiline&&e.multiline,o.color&&e[`color${B(o.color)}`],o.fullWidth&&e.fullWidth,o.hiddenLabel&&e.hiddenLabel]},xn=(t,e)=>{const{ownerState:o}=t;return[e.input,o.size==="small"&&e.inputSizeSmall,o.multiline&&e.inputMultiline,o.type==="search"&&e.inputTypeSearch,o.startAdornment&&e.inputAdornedStart,o.endAdornment&&e.inputAdornedEnd,o.hiddenLabel&&e.inputHiddenLabel]},_u=t=>{const{classes:e,color:o,disabled:r,error:n,endAdornment:s,focused:a,formControl:i,fullWidth:l,hiddenLabel:c,multiline:p,readOnly:u,size:m,startAdornment:g,type:b}=t,v={root:["root",`color${B(o)}`,r&&"disabled",n&&"error",l&&"fullWidth",a&&"focused",i&&"formControl",m&&m!=="medium"&&`size${B(m)}`,p&&"multiline",g&&"adornedStart",s&&"adornedEnd",c&&"hiddenLabel",u&&"readOnly"],input:["input",r&&"disabled",b==="search"&&"inputTypeSearch",p&&"inputMultiline",m==="small"&&"inputSizeSmall",c&&"inputHiddenLabel",g&&"inputAdornedStart",s&&"inputAdornedEnd",u&&"readOnly"]};return G(v,Xu,e)},Cn=k("div",{name:"MuiInputBase",slot:"Root",overridesResolver:yn})(W(({theme:t})=>({...t.typography.body1,color:(t.vars||t).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${ke.disabled}`]:{color:(t.vars||t).palette.text.disabled,cursor:"default"},variants:[{props:({ownerState:e})=>e.multiline,style:{padding:"4px 0 5px"}},{props:({ownerState:e,size:o})=>e.multiline&&o==="small",style:{paddingTop:1}},{props:({ownerState:e})=>e.fullWidth,style:{width:"100%"}}]}))),Sn=k("input",{name:"MuiInputBase",slot:"Input",overridesResolver:xn})(W(({theme:t})=>{const e=t.palette.mode==="light",o={color:"currentColor",...t.vars?{opacity:t.vars.opacity.inputPlaceholder}:{opacity:e?.42:.5},transition:t.transitions.create("opacity",{duration:t.transitions.duration.shorter})},r={opacity:"0 !important"},n=t.vars?{opacity:t.vars.opacity.inputPlaceholder}:{opacity:e?.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":o,"&::-moz-placeholder":o,"&::-ms-input-placeholder":o,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${ke.formControl} &`]:{"&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&::-ms-input-placeholder":r,"&:focus::-webkit-input-placeholder":n,"&:focus::-moz-placeholder":n,"&:focus::-ms-input-placeholder":n},[`&.${ke.disabled}`]:{opacity:1,WebkitTextFillColor:(t.vars||t).palette.text.disabled},variants:[{props:({ownerState:s})=>!s.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:s})=>s.multiline,style:{height:"auto",resize:"none",padding:0,paddingTop:0}},{props:{type:"search"},style:{MozAppearance:"textfield"}}]}})),ua=ms({"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}),wn=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiInputBase"}),{"aria-describedby":n,autoComplete:s,autoFocus:a,className:i,color:l,components:c={},componentsProps:p={},defaultValue:u,disabled:m,disableInjectingGlobalStyles:g,endAdornment:b,error:v,fullWidth:h=!1,id:y,inputComponent:S="input",inputProps:C={},inputRef:x,margin:w,maxRows:P,minRows:$,multiline:I=!1,name:A,onBlur:T,onChange:z,onClick:E,onFocus:R,onKeyDown:M,onKeyUp:O,placeholder:L,readOnly:F,renderSuffix:D,rows:N,size:J,slotProps:U={},slots:wt={},startAdornment:vt,type:mt="text",value:et,...rt}=r,Y=C.value!=null?C.value:et,{current:at}=d.useRef(Y!=null),ct=d.useRef(),st=d.useCallback(Ct=>{},[]),ft=qt(ct,x,C.ref,st),[Z,pt]=d.useState(!1),it=He(),ht=lo({props:r,muiFormControl:it,states:["color","disabled","error","hiddenLabel","size","required","filled"]});ht.focused=it?it.focused:Z,d.useEffect(()=>{!it&&m&&Z&&(pt(!1),T&&T())},[it,m,Z,T]);const Mt=it&&it.onFilled,tt=it&&it.onEmpty,ot=d.useCallback(Ct=>{an(Ct)?Mt&&Mt():tt&&tt()},[Mt,tt]);be(()=>{at&&ot({value:Y})},[Y,ot,at]);const dt=Ct=>{R&&R(Ct),C.onFocus&&C.onFocus(Ct),it&&it.onFocus?it.onFocus(Ct):pt(!0)},St=Ct=>{T&&T(Ct),C.onBlur&&C.onBlur(Ct),it&&it.onBlur?it.onBlur(Ct):pt(!1)},gt=(Ct,...Ut)=>{if(!at){const Et=Ct.target||ct.current;if(Et==null)throw new Error(Eo(1));ot({value:Et.value})}C.onChange&&C.onChange(Ct,...Ut),z&&z(Ct,...Ut)};d.useEffect(()=>{ot(ct.current)},[]);const nt=Ct=>{ct.current&&Ct.currentTarget===Ct.target&&ct.current.focus(),E&&E(Ct)};let Tt=S,At=C;I&&Tt==="input"&&(N?At={type:void 0,minRows:N,maxRows:N,...At}:At={type:void 0,maxRows:P,minRows:$,...At},Tt=Ku);const q=Ct=>{ot(Ct.animationName==="mui-auto-fill-cancel"?ct.current:{value:"x"})};d.useEffect(()=>{it&&it.setAdornedStart(!!vt)},[it,vt]);const lt={...r,color:ht.color||"primary",disabled:ht.disabled,endAdornment:b,error:ht.error,focused:ht.focused,formControl:it,fullWidth:h,hiddenLabel:ht.hiddenLabel,multiline:I,size:ht.size,startAdornment:vt,type:mt},bt=_u(lt),$t=wt.root||c.Root||Cn,It=U.root||p.root||{},ut=wt.input||c.Input||Sn;return At={...At,...U.input??p.input},f.jsxs(d.Fragment,{children:[!g&&typeof ua=="function"&&(da||(da=f.jsx(ua,{}))),f.jsxs($t,{...It,ref:o,onClick:nt,...rt,...!so($t)&&{ownerState:{...lt,...It.ownerState}},className:j(bt.root,It.className,i,F&&"MuiInputBase-readOnly"),children:[vt,f.jsx(hn.Provider,{value:null,children:f.jsx(ut,{"aria-invalid":ht.error,"aria-describedby":n,autoComplete:s,autoFocus:a,defaultValue:u,disabled:ht.disabled,id:y,onAnimationStart:q,name:A,placeholder:L,readOnly:F,required:ht.required,rows:N,value:Y,onKeyDown:M,onKeyUp:O,type:mt,...At,...!so(ut)&&{as:Tt,ownerState:{...lt,...At.ownerState}},ref:ft,className:j(bt.input,At.className,F&&"MuiInputBase-readOnly"),onBlur:St,onChange:gt,onFocus:dt})}),b,D?D({...ht,startAdornment:vt}):null]})]})});function Yu(t){return V("MuiInput",t)}const mo={...ke,...K("MuiInput",["root","underline","input"])};function Zu(t){return V("MuiOutlinedInput",t)}const Ee={...ke,...K("MuiOutlinedInput",["root","notchedOutline","input"])};function Qu(t){return V("MuiFilledInput",t)}const Ie={...ke,...K("MuiFilledInput",["root","underline","input","adornedStart","adornedEnd","sizeSmall","multiline","hiddenLabel"])},Ps=Qt(f.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");function Ju(t){return V("MuiAutocomplete",t)}const zt=K("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var fa,ga;const tf=t=>{const{classes:e,disablePortal:o,expanded:r,focused:n,fullWidth:s,hasClearIcon:a,hasPopupIcon:i,inputFocused:l,popupOpen:c,size:p}=t,u={root:["root",r&&"expanded",n&&"focused",s&&"fullWidth",a&&"hasClearIcon",i&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${B(p)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",c&&"popupIndicatorOpen"],popper:["popper",o&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return G(u,Ju,e)},ef=k("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{fullWidth:r,hasClearIcon:n,hasPopupIcon:s,inputFocused:a,size:i}=o;return[{[`& .${zt.tag}`]:e.tag},{[`& .${zt.tag}`]:e[`tagSize${B(i)}`]},{[`& .${zt.inputRoot}`]:e.inputRoot},{[`& .${zt.input}`]:e.input},{[`& .${zt.input}`]:a&&e.inputFocused},e.root,r&&e.fullWidth,s&&e.hasPopupIcon,n&&e.hasClearIcon]}})({[`&.${zt.focused} .${zt.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${zt.clearIndicator}`]:{visibility:"visible"}},[`& .${zt.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${zt.inputRoot}`]:{[`.${zt.hasPopupIcon}&, .${zt.hasClearIcon}&`]:{paddingRight:30},[`.${zt.hasPopupIcon}.${zt.hasClearIcon}&`]:{paddingRight:56},[`& .${zt.input}`]:{width:0,minWidth:30}},[`& .${mo.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${mo.root}.${ke.sizeSmall}`]:{[`& .${mo.input}`]:{padding:"2px 4px 3px 0"}},[`& .${Ee.root}`]:{padding:9,[`.${zt.hasPopupIcon}&, .${zt.hasClearIcon}&`]:{paddingRight:39},[`.${zt.hasPopupIcon}.${zt.hasClearIcon}&`]:{paddingRight:65},[`& .${zt.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${zt.endAdornment}`]:{right:9}},[`& .${Ee.root}.${ke.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${zt.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${Ie.root}`]:{paddingTop:19,paddingLeft:8,[`.${zt.hasPopupIcon}&, .${zt.hasClearIcon}&`]:{paddingRight:39},[`.${zt.hasPopupIcon}.${zt.hasClearIcon}&`]:{paddingRight:65},[`& .${Ie.input}`]:{padding:"7px 4px"},[`& .${zt.endAdornment}`]:{right:9}},[`& .${Ie.root}.${ke.sizeSmall}`]:{paddingBottom:1,[`& .${Ie.input}`]:{padding:"2.5px 4px"}},[`& .${ke.hiddenLabel}`]:{paddingTop:8},[`& .${Ie.root}.${ke.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${zt.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${Ie.root}.${ke.hiddenLabel}.${ke.sizeSmall}`]:{[`& .${zt.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${zt.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${zt.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${zt.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${zt.inputRoot}`]:{flexWrap:"wrap"}}}]}),of=k("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(t,e)=>e.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),rf=k($o,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(t,e)=>e.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),nf=k($o,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.popupIndicator,o.popupOpen&&e.popupIndicatorOpen]}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),sf=k(vn,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${zt.option}`]:e.option},e.popper,o.disablePortal&&e.popperDisablePortal]}})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),af=k(Ue,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(t,e)=>e.paper})(W(({theme:t})=>({...t.typography.body1,overflow:"auto"}))),lf=k("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(t,e)=>e.loading})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}))),cf=k("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(t,e)=>e.noOptions})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}))),pf=k("ul",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(t,e)=>e.listbox})(W(({theme:t})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${zt.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[t.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${zt.focused}`]:{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${zt.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${zt.focused}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(t.vars||t).palette.action.selected}},[`&.${zt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}}}}))),df=k(Jn,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(t,e)=>e.groupLabel})(W(({theme:t})=>({backgroundColor:(t.vars||t).palette.background.paper,top:-8}))),uf=k("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(t,e)=>e.groupUl})({padding:0,[`& .${zt.option}`]:{paddingLeft:24}}),KS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAutocomplete"}),{autoComplete:n=!1,autoHighlight:s=!1,autoSelect:a=!1,blurOnSelect:i=!1,ChipProps:l,className:c,clearIcon:p=fa||(fa=f.jsx(wi,{fontSize:"small"})),clearOnBlur:u=!r.freeSolo,clearOnEscape:m=!1,clearText:g="Clear",closeText:b="Close",componentsProps:v,defaultValue:h=r.multiple?[]:null,disableClearable:y=!1,disableCloseOnSelect:S=!1,disabled:C=!1,disabledItemsFocusable:x=!1,disableListWrap:w=!1,disablePortal:P=!1,filterOptions:$,filterSelectedOptions:I=!1,forcePopupIcon:A="auto",freeSolo:T=!1,fullWidth:z=!1,getLimitTagsText:E=Kt=>`+${Kt}`,getOptionDisabled:R,getOptionKey:M,getOptionLabel:O,isOptionEqualToValue:L,groupBy:F,handleHomeEndKeys:D=!r.freeSolo,id:N,includeInputInList:J=!1,inputValue:U,limitTags:wt=-1,ListboxComponent:vt,ListboxProps:mt,loading:et=!1,loadingText:rt="Loading…",multiple:Y=!1,noOptionsText:at="No options",onChange:ct,onClose:st,onHighlightChange:ft,onInputChange:Z,onOpen:pt,open:it,openOnFocus:ht=!1,openText:Mt="Open",options:tt,PaperComponent:ot,PopperComponent:dt,popupIcon:St=ga||(ga=f.jsx(Ps,{})),readOnly:gt=!1,renderGroup:nt,renderInput:Tt,renderOption:At,renderTags:q,selectOnFocus:lt=!r.freeSolo,size:bt="medium",slots:$t={},slotProps:It={},value:ut,...Ct}=r,{getRootProps:Ut,getInputProps:Et,getInputLabelProps:Gt,getPopupIndicatorProps:xt,getClearProps:Bt,getTagProps:Xt,getListboxProps:oe,getOptionProps:fe,value:ie,dirty:Pe,expanded:Vt,id:_t,popupOpen:ce,focused:$e,focusedTag:pe,anchorEl:Lt,setAnchorEl:ge,inputValue:yt,groupedOptions:Pt}=yd({...r,componentName:"Autocomplete"}),Dt=!y&&!C&&Pe&&!gt,Ft=(!T||A===!0)&&A!==!1,{onMouseDown:Zt}=Et(),{ref:Se,...Ve}=oe(),co=O||(Kt=>Kt.label??Kt),ne={...r,disablePortal:P,expanded:Vt,focused:$e,fullWidth:z,getOptionLabel:co,hasClearIcon:Dt,hasPopupIcon:Ft,inputFocused:pe===-1,popupOpen:ce,size:bt},de=tf(ne),qe={slots:{paper:ot,popper:dt,...$t},slotProps:{chip:l,listbox:mt,...v,...It}},[Tr,X]=Q("listbox",{elementType:pf,externalForwardedProps:qe,ownerState:ne,className:de.listbox,additionalProps:Ve,ref:Se}),[H,Rt]=Q("paper",{elementType:Ue,externalForwardedProps:qe,ownerState:ne,className:de.paper}),[Ot,Ht]=Q("popper",{elementType:vn,externalForwardedProps:qe,ownerState:ne,className:de.popper,additionalProps:{disablePortal:P,style:{width:Lt?Lt.clientWidth:null},role:"presentation",anchorEl:Lt,open:ce}});let Yt;if(Y&&ie.length>0){const Kt=Xe=>({className:de.tag,disabled:C,...Xt(Xe)});q?Yt=q(ie,Kt,ne):Yt=ie.map((Xe,po)=>{const{key:Zo,...vl}=Kt({index:po});return f.jsx(Hu,{label:co(Xe),size:bt,...vl,...qe.slotProps.chip},Zo)})}if(wt>-1&&Array.isArray(Yt)){const Kt=Yt.length-wt;!$e&&Kt>0&&(Yt=Yt.splice(0,wt),Yt.push(f.jsx("span",{className:de.tag,children:E(Kt)},Yt.length)))}const Ae=nt||(Kt=>f.jsxs("li",{children:[f.jsx(df,{className:de.groupLabel,ownerState:ne,component:"div",children:Kt.group}),f.jsx(uf,{className:de.groupUl,ownerState:ne,children:Kt.children})]},Kt.key)),bl=At||((Kt,Xe)=>{const{key:po,...Zo}=Kt;return f.jsx("li",{...Zo,children:co(Xe)},po)}),Es=(Kt,Xe)=>{const po=fe({option:Kt,index:Xe});return bl({...po,className:de.option},Kt,{selected:po["aria-selected"],index:Xe,inputValue:yt},ne)},Mr=qe.slotProps.clearIndicator,Lr=qe.slotProps.popupIndicator;return f.jsxs(d.Fragment,{children:[f.jsx(ef,{ref:o,className:j(de.root,c),ownerState:ne,...Ut(Ct),children:Tt({id:_t,disabled:C,fullWidth:!0,size:bt==="small"?"small":void 0,InputLabelProps:Gt(),InputProps:{ref:ge,className:de.inputRoot,startAdornment:Yt,onMouseDown:Kt=>{Kt.target===Kt.currentTarget&&Zt(Kt)},...(Dt||Ft)&&{endAdornment:f.jsxs(of,{className:de.endAdornment,ownerState:ne,children:[Dt?f.jsx(rf,{...Bt(),"aria-label":g,title:g,ownerState:ne,...Mr,className:j(de.clearIndicator,Mr==null?void 0:Mr.className),children:p}):null,Ft?f.jsx(nf,{...xt(),disabled:C,"aria-label":ce?b:Mt,title:ce?b:Mt,ownerState:ne,...Lr,className:j(de.popupIndicator,Lr==null?void 0:Lr.className),children:St}):null]})}},inputProps:{className:de.input,disabled:C,readOnly:gt,...Et()}})}),Lt?f.jsx(sf,{as:Ot,...Ht,children:f.jsxs(af,{as:H,...Rt,children:[et&&Pt.length===0?f.jsx(lf,{className:de.loading,ownerState:ne,children:rt}):null,Pt.length===0&&!T&&!et?f.jsx(cf,{className:de.noOptions,ownerState:ne,role:"presentation",onMouseDown:Kt=>{Kt.preventDefault()},children:at}):null,Pt.length>0?f.jsx(Tr,{as:vt,...X,children:Pt.map((Kt,Xe)=>F?Ae({key:Kt.key,group:Kt.group,children:Kt.options.map((po,Zo)=>Es(po,Kt.index+Zo))}):Es(Kt,Xe))}):null]})}):null]})}),ff=Qt(f.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function gf(t){return V("MuiAvatar",t)}const mf=K("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]),bf=t=>{const{classes:e,variant:o,colorDefault:r}=t;return G({root:["root",o,r&&"colorDefault"],img:["img"],fallback:["fallback"]},gf,e)},vf=k("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],o.colorDefault&&e.colorDefault]}})(W(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:{color:(t.vars||t).palette.background.default,...t.vars?{backgroundColor:t.vars.palette.Avatar.defaultBg}:{backgroundColor:t.palette.grey[400],...t.applyStyles("dark",{backgroundColor:t.palette.grey[600]})}}}]}))),hf=k("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(t,e)=>e.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),yf=k(ff,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(t,e)=>e.fallback})({width:"75%",height:"75%"});function xf({crossOrigin:t,referrerPolicy:e,src:o,srcSet:r}){const[n,s]=d.useState(!1);return d.useEffect(()=>{if(!o&&!r)return;s(!1);let a=!0;const i=new Image;return i.onload=()=>{a&&s("loaded")},i.onerror=()=>{a&&s("error")},i.crossOrigin=t,i.referrerPolicy=e,i.src=o,r&&(i.srcset=r),()=>{a=!1}},[t,e,o,r]),n}const Cf=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAvatar"}),{alt:n,children:s,className:a,component:i="div",slots:l={},slotProps:c={},imgProps:p,sizes:u,src:m,srcSet:g,variant:b="circular",...v}=r;let h=null;const y={...r,component:i,variant:b},S=xf({...p,...typeof c.img=="function"?c.img(y):c.img,src:m,srcSet:g}),C=m||g,x=C&&S!=="error";y.colorDefault=!x,delete y.ownerState;const w=bf(y),[P,$]=Q("img",{className:w.img,elementType:hf,externalForwardedProps:{slots:l,slotProps:{img:{...p,...c.img}}},additionalProps:{alt:n,src:m,srcSet:g,sizes:u},ownerState:y});return x?h=f.jsx(P,{...$}):s||s===0?h=s:C&&n?h=n[0]:h=f.jsx(yf,{ownerState:y,className:w.fallback}),f.jsx(vf,{as:i,className:j(w.root,a),ref:o,...v,ownerState:y,children:h})});function Sf(t){return V("MuiAvatarGroup",t)}const wf=K("MuiAvatarGroup",["root","avatar"]),$n={small:-16,medium:-8},Rf=t=>{const{classes:e}=t;return G({root:["root"],avatar:["avatar"]},Sf,e)},Pf=k("div",{name:"MuiAvatarGroup",slot:"Root",overridesResolver:(t,e)=>[{[`& .${wf.avatar}`]:e.avatar},e.root]})(W(({theme:t})=>({display:"flex",flexDirection:"row-reverse",[`& .${mf.root}`]:{border:`2px solid ${(t.vars||t).palette.background.default}`,boxSizing:"content-box",marginLeft:"var(--AvatarGroup-spacing, -8px)","&:last-child":{marginLeft:0}}}))),qS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiAvatarGroup"}),{children:n,className:s,component:a="div",componentsProps:i,max:l=5,renderSurplus:c,slotProps:p={},slots:u={},spacing:m="medium",total:g,variant:b="circular",...v}=r;let h=l<2?2:l;const y={...r,max:l,spacing:m,component:a,variant:b},S=Rf(y),C=d.Children.toArray(n).filter(E=>d.isValidElement(E)),x=g||C.length;x===h&&(h+=1),h=Math.min(x+1,h);const w=Math.min(C.length,h-1),P=Math.max(x-h,x-w,0),$=c?c(P):`+${P}`;let I;y.spacing&&$n[y.spacing]!==void 0?I=$n[y.spacing]:y.spacing===0?I=0:I=-y.spacing||$n.medium;const A={slots:u,slotProps:{surplus:p.additionalAvatar??(i==null?void 0:i.additionalAvatar),...i,...p}},[T,z]=Q("surplus",{elementType:Cf,externalForwardedProps:A,className:S.avatar,ownerState:y,additionalProps:{variant:b}});return f.jsxs(Pf,{as:a,ownerState:y,className:j(S.root,s),ref:o,...v,style:{"--AvatarGroup-spacing":`${I}px`,...v.style},children:[P?f.jsx(T,{...z,children:$}):null,C.slice(0,w).reverse().map(E=>d.cloneElement(E,{className:j(E.props.className,S.avatar),variant:E.props.variant||b}))]})}),$f={entering:{opacity:1},entered:{opacity:1}},ts=d.forwardRef(function(e,o){const r=le(),n={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:a=!0,children:i,easing:l,in:c,onEnter:p,onEntered:u,onEntering:m,onExit:g,onExited:b,onExiting:v,style:h,timeout:y=n,TransitionComponent:S=Le,...C}=e,x=d.useRef(null),w=qt(x,io(i),o),P=M=>O=>{if(M){const L=x.current;O===void 0?M(L):M(L,O)}},$=P(m),I=P((M,O)=>{mn(M);const L=Ge({style:h,timeout:y,easing:l},{mode:"enter"});M.style.webkitTransition=r.transitions.create("opacity",L),M.style.transition=r.transitions.create("opacity",L),p&&p(M,O)}),A=P(u),T=P(v),z=P(M=>{const O=Ge({style:h,timeout:y,easing:l},{mode:"exit"});M.style.webkitTransition=r.transitions.create("opacity",O),M.style.transition=r.transitions.create("opacity",O),g&&g(M)}),E=P(b),R=M=>{s&&s(x.current,M)};return f.jsx(S,{appear:a,in:c,nodeRef:x,onEnter:I,onEntered:A,onEntering:$,onExit:z,onExited:E,onExiting:T,addEndListener:R,timeout:y,...C,children:(M,{ownerState:O,...L})=>d.cloneElement(i,{style:{opacity:0,visibility:M==="exited"&&!c?"hidden":void 0,...$f[M],...h,...i.props.style},ref:w,...L})})});function kf(t){return V("MuiBackdrop",t)}const XS=K("MuiBackdrop",["root","invisible"]),If=t=>{const{classes:e,invisible:o}=t;return G({root:["root",o&&"invisible"]},kf,e)},Tf=k("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.invisible&&e.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"}}]}),Ei=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiBackdrop"}),{children:n,className:s,component:a="div",invisible:i=!1,open:l,components:c={},componentsProps:p={},slotProps:u={},slots:m={},TransitionComponent:g,transitionDuration:b,...v}=r,h={...r,component:a,invisible:i},y=If(h),S={transition:g,root:c.Root,...m},C={...p,...u},x={slots:S,slotProps:C},[w,P]=Q("root",{elementType:Tf,externalForwardedProps:x,className:j(y.root,s),ownerState:h}),[$,I]=Q("transition",{elementType:ts,externalForwardedProps:x,ownerState:h});return f.jsx($,{in:l,timeout:b,...v,...I,children:f.jsx(w,{"aria-hidden":!0,...P,classes:y,ref:o,children:n})})});function Mf(t){const{badgeContent:e,invisible:o=!1,max:r=99,showZero:n=!1}=t,s=gs({badgeContent:e,max:r});let a=o;o===!1&&e===0&&!n&&(a=!0);const{badgeContent:i,max:l=r}=a?s:t,c=i&&Number(i)>l?`${l}+`:i;return{badgeContent:i,invisible:a,max:l,displayValue:c}}function Lf(t){return V("MuiBadge",t)}const fo=K("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"]),kn=10,In=4,Af=t=>{const{color:e,anchorOrigin:o,invisible:r,overlap:n,variant:s,classes:a={}}=t,i={root:["root"],badge:["badge",s,r&&"invisible",`anchorOrigin${B(o.vertical)}${B(o.horizontal)}`,`anchorOrigin${B(o.vertical)}${B(o.horizontal)}${B(n)}`,`overlap${B(n)}`,e!=="default"&&`color${B(e)}`]};return G(i,Lf,a)},Bf=k("span",{name:"MuiBadge",slot:"Root",overridesResolver:(t,e)=>e.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),Ef=k("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.badge,e[o.variant],e[`anchorOrigin${B(o.anchorOrigin.vertical)}${B(o.anchorOrigin.horizontal)}${B(o.overlap)}`],o.color!=="default"&&e[`color${B(o.color)}`],o.invisible&&e.invisible]}})(W(({theme:t})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(12),minWidth:kn*2,lineHeight:1,padding:"0 6px",height:kn*2,borderRadius:kn,zIndex:1,transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.enteringScreen}),variants:[...Object.entries(t.palette).filter(jt(["contrastText"])).map(([e])=>({props:{color:e},style:{backgroundColor:(t.vars||t).palette[e].main,color:(t.vars||t).palette[e].contrastText}})),{props:{variant:"dot"},style:{borderRadius:In,height:In*2,minWidth:In*2,padding:0}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${fo.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.leavingScreen})}}]})));function ma(t){return{vertical:(t==null?void 0:t.vertical)??"top",horizontal:(t==null?void 0:t.horizontal)??"right"}}const _S=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiBadge"}),{anchorOrigin:n,className:s,classes:a,component:i,components:l={},componentsProps:c={},children:p,overlap:u="rectangular",color:m="default",invisible:g=!1,max:b=99,badgeContent:v,slots:h,slotProps:y,showZero:S=!1,variant:C="standard",...x}=r,{badgeContent:w,invisible:P,max:$,displayValue:I}=Mf({max:b,invisible:g,badgeContent:v,showZero:S}),A=gs({anchorOrigin:ma(n),color:m,overlap:u,variant:C,badgeContent:v}),T=P||w==null&&C!=="dot",{color:z=m,overlap:E=u,anchorOrigin:R,variant:M=C}=T?A:r,O=ma(R),L=M!=="dot"?I:void 0,F={...r,badgeContent:w,invisible:T,max:$,displayValue:L,showZero:S,anchorOrigin:O,color:z,overlap:E,variant:M},D=Af(F),N={slots:{root:(h==null?void 0:h.root)??l.Root,badge:(h==null?void 0:h.badge)??l.Badge},slotProps:{root:(y==null?void 0:y.root)??c.root,badge:(y==null?void 0:y.badge)??c.badge}},[J,U]=Q("root",{elementType:Bf,externalForwardedProps:{...N,...x},ownerState:F,className:j(D.root,s),ref:o,additionalProps:{as:i}}),[wt,vt]=Q("badge",{elementType:Ef,externalForwardedProps:N,ownerState:F,className:D.badge});return f.jsxs(J,{...U,children:[p,f.jsx(wt,{...vt,children:L})]})});function Of(t){return V("MuiBottomNavigation",t)}const YS=K("MuiBottomNavigation",["root"]),Nf=t=>{const{classes:e}=t;return G({root:["root"]},Of,e)},zf=k("div",{name:"MuiBottomNavigation",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({display:"flex",justifyContent:"center",height:56,backgroundColor:(t.vars||t).palette.background.paper}))),ZS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiBottomNavigation"}),{children:n,className:s,component:a="div",onChange:i,showLabels:l=!1,value:c,...p}=r,u={...r,component:a,showLabels:l},m=Nf(u);return f.jsx(zf,{as:a,className:j(m.root,s),ref:o,ownerState:u,...p,children:d.Children.map(n,(g,b)=>{if(!d.isValidElement(g))return null;const v=g.props.value===void 0?b:g.props.value;return d.cloneElement(g,{selected:v===c,showLabel:g.props.showLabel!==void 0?g.props.showLabel:l,value:v,onChange:i})})})});function jf(t){return V("MuiBottomNavigationAction",t)}const Oi=K("MuiBottomNavigationAction",["root","iconOnly","selected","label"]),Df=t=>{const{classes:e,showLabel:o,selected:r}=t;return G({root:["root",!o&&!r&&"iconOnly",r&&"selected"],label:["label",!o&&!r&&"iconOnly",r&&"selected"]},jf,e)},Ff=k(ue,{name:"MuiBottomNavigationAction",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.showLabel&&!o.selected&&e.iconOnly]}})(W(({theme:t})=>({transition:t.transitions.create(["color","padding-top"],{duration:t.transitions.duration.short}),padding:"0px 12px",minWidth:80,maxWidth:168,color:(t.vars||t).palette.text.secondary,flexDirection:"column",flex:"1",[`&.${Oi.selected}`]:{color:(t.vars||t).palette.primary.main},variants:[{props:({showLabel:e,selected:o})=>!e&&!o,style:{paddingTop:14}},{props:({showLabel:e,selected:o,label:r})=>!e&&!o&&!r,style:{paddingTop:0}}]}))),Wf=k("span",{name:"MuiBottomNavigationAction",slot:"Label",overridesResolver:(t,e)=>e.label})(W(({theme:t})=>({fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(12),opacity:1,transition:"font-size 0.2s, opacity 0.2s",transitionDelay:"0.1s",[`&.${Oi.selected}`]:{fontSize:t.typography.pxToRem(14)},variants:[{props:({showLabel:e,selected:o})=>!e&&!o,style:{opacity:0,transitionDelay:"0s"}}]}))),QS=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiBottomNavigationAction"}),{className:n,icon:s,label:a,onChange:i,onClick:l,selected:c,showLabel:p,value:u,slots:m={},slotProps:g={},...b}=r,v=r,h=Df(v),y=$=>{i&&i($,u),l&&l($)},S={slots:m,slotProps:g},[C,x]=Q("root",{elementType:Ff,externalForwardedProps:{...S,...b},shouldForwardComponentProp:!0,ownerState:v,ref:o,className:j(h.root,n),additionalProps:{focusRipple:!0},getSlotProps:$=>({...$,onClick:I=>{var A;(A=$.onClick)==null||A.call($,I),y(I)}})}),[w,P]=Q("label",{elementType:Wf,externalForwardedProps:S,ownerState:v,className:h.label});return f.jsxs(C,{...x,children:[s,f.jsx(w,{...P,children:a})]})}),Uf=K("MuiBox",["root"]),Hf=si(),JS=Vl({themeId:pn,defaultTheme:Hf,defaultClassName:Uf.root,generateClassName:ii.generate}),Vf=Qt(f.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"),Gf=k(ue)(W(({theme:t})=>({display:"flex",marginLeft:`calc(${t.spacing(1)} * 0.5)`,marginRight:`calc(${t.spacing(1)} * 0.5)`,...t.palette.mode==="light"?{backgroundColor:t.palette.grey[100],color:t.palette.grey[700]}:{backgroundColor:t.palette.grey[700],color:t.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{...t.palette.mode==="light"?{backgroundColor:t.palette.grey[200]}:{backgroundColor:t.palette.grey[600]}},"&:active":{boxShadow:t.shadows[0],...t.palette.mode==="light"?{backgroundColor:tn(t.palette.grey[200],.12)}:{backgroundColor:tn(t.palette.grey[600],.12)}}}))),Kf=k(Vf)({width:24,height:16});function qf(t){const{slots:e={},slotProps:o={},...r}=t,n=t;return f.jsx("li",{children:f.jsx(Gf,{focusRipple:!0,...r,ownerState:n,children:f.jsx(Kf,{as:e.CollapsedIcon,ownerState:n,...o.collapsedIcon})})})}function Xf(t){return V("MuiBreadcrumbs",t)}const _f=K("MuiBreadcrumbs",["root","ol","li","separator"]),Yf=t=>{const{classes:e}=t;return G({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},Xf,e)},Zf=k(he,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(t,e)=>[{[`& .${_f.li}`]:e.li},e.root]})({}),Qf=k("ol",{name:"MuiBreadcrumbs",slot:"Ol",overridesResolver:(t,e)=>e.ol})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),Jf=k("li",{name:"MuiBreadcrumbs",slot:"Separator",overridesResolver:(t,e)=>e.separator})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function tg(t,e,o,r){return t.reduce((n,s,a)=>(a{const I=()=>{h(!0);const A=x.current.querySelector("a[href],button,[tabindex]");A&&A.focus()};return u+p>=$.length?$:[...$.slice(0,u),f.jsx(qf,{"aria-label":c,slots:{CollapsedIcon:i.CollapsedIcon},slotProps:{collapsedIcon:C},onClick:I},"ellipsis"),...$.slice($.length-p,$.length)]},P=d.Children.toArray(n).filter($=>d.isValidElement($)).map(($,I)=>f.jsx("li",{className:S.li,children:$},`child-${I}`));return f.jsx(Zf,{ref:o,component:a,color:"textSecondary",className:j(S.root,s),ownerState:y,...b,children:f.jsx(Qf,{className:S.ol,ref:x,ownerState:y,children:tg(v||m&&P.length<=m?P:w(P),S.separator,g,y)})})});function eg(t){return V("MuiButton",t)}const xo=K("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","loading","loadingWrapper","loadingIconPlaceholder","loadingIndicator","loadingPositionCenter","loadingPositionStart","loadingPositionEnd"]),Ni=d.createContext({}),zi=d.createContext(void 0),og=t=>{const{color:e,disableElevation:o,fullWidth:r,size:n,variant:s,loading:a,loadingPosition:i,classes:l}=t,c={root:["root",a&&"loading",s,`${s}${B(e)}`,`size${B(n)}`,`${s}Size${B(n)}`,`color${B(e)}`,o&&"disableElevation",r&&"fullWidth",a&&`loadingPosition${B(i)}`],startIcon:["icon","startIcon",`iconSize${B(n)}`],endIcon:["icon","endIcon",`iconSize${B(n)}`],loadingIndicator:["loadingIndicator"],loadingWrapper:["loadingWrapper"]},p=G(c,eg,l);return{...l,...p}},ji=[{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}}}],rg=k(ue,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`${o.variant}${B(o.color)}`],e[`size${B(o.size)}`],e[`${o.variant}Size${B(o.size)}`],o.color==="inherit"&&e.colorInherit,o.disableElevation&&e.disableElevation,o.fullWidth&&e.fullWidth,o.loading&&e.loading]}})(W(({theme:t})=>{const e=t.palette.mode==="light"?t.palette.grey[300]:t.palette.grey[800],o=t.palette.mode==="light"?t.palette.grey.A100:t.palette.grey[700];return{...t.typography.button,minWidth:64,padding:"6px 16px",border:0,borderRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create(["background-color","box-shadow","border-color","color"],{duration:t.transitions.duration.short}),"&:hover":{textDecoration:"none"},[`&.${xo.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:{variant:"contained"},style:{color:"var(--variant-containedColor)",backgroundColor:"var(--variant-containedBg)",boxShadow:(t.vars||t).shadows[2],"&:hover":{boxShadow:(t.vars||t).shadows[4],"@media (hover: none)":{boxShadow:(t.vars||t).shadows[2]}},"&:active":{boxShadow:(t.vars||t).shadows[8]},[`&.${xo.focusVisible}`]:{boxShadow:(t.vars||t).shadows[6]},[`&.${xo.disabled}`]:{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).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)",[`&.${xo.disabled}`]:{border:`1px solid ${(t.vars||t).palette.action.disabledBackground}`}}},{props:{variant:"text"},style:{padding:"6px 8px",color:"var(--variant-textColor)",backgroundColor:"var(--variant-textBg)"}},...Object.entries(t.palette).filter(jt()).map(([r])=>({props:{color:r},style:{"--variant-textColor":(t.vars||t).palette[r].main,"--variant-outlinedColor":(t.vars||t).palette[r].main,"--variant-outlinedBorder":t.vars?`rgba(${t.vars.palette[r].mainChannel} / 0.5)`:kt(t.palette[r].main,.5),"--variant-containedColor":(t.vars||t).palette[r].contrastText,"--variant-containedBg":(t.vars||t).palette[r].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(t.vars||t).palette[r].dark,"--variant-textBg":t.vars?`rgba(${t.vars.palette[r].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[r].main,t.palette.action.hoverOpacity),"--variant-outlinedBorder":(t.vars||t).palette[r].main,"--variant-outlinedBg":t.vars?`rgba(${t.vars.palette[r].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[r].main,t.palette.action.hoverOpacity)}}}})),{props:{color:"inherit"},style:{color:"inherit",borderColor:"currentColor","--variant-containedBg":t.vars?t.vars.palette.Button.inheritContainedBg:e,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":t.vars?t.vars.palette.Button.inheritContainedHoverBg:o,"--variant-textBg":t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.text.primary,t.palette.action.hoverOpacity),"--variant-outlinedBg":t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.text.primary,t.palette.action.hoverOpacity)}}}},{props:{size:"small",variant:"text"},style:{padding:"4px 5px",fontSize:t.typography.pxToRem(13)}},{props:{size:"large",variant:"text"},style:{padding:"8px 11px",fontSize:t.typography.pxToRem(15)}},{props:{size:"small",variant:"outlined"},style:{padding:"3px 9px",fontSize:t.typography.pxToRem(13)}},{props:{size:"large",variant:"outlined"},style:{padding:"7px 21px",fontSize:t.typography.pxToRem(15)}},{props:{size:"small",variant:"contained"},style:{padding:"4px 10px",fontSize:t.typography.pxToRem(13)}},{props:{size:"large",variant:"contained"},style:{padding:"8px 22px",fontSize:t.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${xo.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${xo.disabled}`]:{boxShadow:"none"}}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{loadingPosition:"center"},style:{transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),[`&.${xo.loading}`]:{color:"transparent"}}}]}})),ng=k("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.startIcon,o.loading&&e.startIconLoadingStart,e[`iconSize${B(o.size)}`]]}})(({theme:t})=>({display:"inherit",marginRight:8,marginLeft:-4,variants:[{props:{size:"small"},style:{marginLeft:-2}},{props:{loadingPosition:"start",loading:!0},style:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}},{props:{loadingPosition:"start",loading:!0,fullWidth:!0},style:{marginRight:-8}},...ji]})),sg=k("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.endIcon,o.loading&&e.endIconLoadingEnd,e[`iconSize${B(o.size)}`]]}})(({theme:t})=>({display:"inherit",marginRight:-4,marginLeft:8,variants:[{props:{size:"small"},style:{marginRight:-2}},{props:{loadingPosition:"end",loading:!0},style:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}},{props:{loadingPosition:"end",loading:!0,fullWidth:!0},style:{marginLeft:-8}},...ji]})),ag=k("span",{name:"MuiButton",slot:"LoadingIndicator",overridesResolver:(t,e)=>e.loadingIndicator})(({theme:t})=>({display:"none",position:"absolute",visibility:"visible",variants:[{props:{loading:!0},style:{display:"flex"}},{props:{loadingPosition:"start"},style:{left:14}},{props:{loadingPosition:"start",size:"small"},style:{left:10}},{props:{variant:"text",loadingPosition:"start"},style:{left:6}},{props:{loadingPosition:"center"},style:{left:"50%",transform:"translate(-50%)",color:(t.vars||t).palette.action.disabled}},{props:{loadingPosition:"end"},style:{right:14}},{props:{loadingPosition:"end",size:"small"},style:{right:10}},{props:{variant:"text",loadingPosition:"end"},style:{right:6}},{props:{loadingPosition:"start",fullWidth:!0},style:{position:"relative",left:-10}},{props:{loadingPosition:"end",fullWidth:!0},style:{position:"relative",right:-10}}]})),ba=k("span",{name:"MuiButton",slot:"LoadingIconPlaceholder",overridesResolver:(t,e)=>e.loadingIconPlaceholder})({display:"inline-block",width:"1em",height:"1em"}),ew=d.forwardRef(function(e,o){const r=d.useContext(Ni),n=d.useContext(zi),s=ps(r,e),a=_({props:s,name:"MuiButton"}),{children:i,color:l="primary",component:c="button",className:p,disabled:u=!1,disableElevation:m=!1,disableFocusRipple:g=!1,endIcon:b,focusVisibleClassName:v,fullWidth:h=!1,id:y,loading:S=null,loadingIndicator:C,loadingPosition:x="center",size:w="medium",startIcon:P,type:$,variant:I="text",...A}=a,T=De(y),z=C??f.jsx(Si,{"aria-labelledby":T,color:"inherit",size:16}),E={...a,color:l,component:c,disabled:u,disableElevation:m,disableFocusRipple:g,fullWidth:h,loading:S,loadingIndicator:z,loadingPosition:x,size:w,type:$,variant:I},R=og(E),M=(P||S&&x==="start")&&f.jsx(ng,{className:R.startIcon,ownerState:E,children:P||f.jsx(ba,{className:R.loadingIconPlaceholder,ownerState:E})}),O=(b||S&&x==="end")&&f.jsx(sg,{className:R.endIcon,ownerState:E,children:b||f.jsx(ba,{className:R.loadingIconPlaceholder,ownerState:E})}),L=n||"",F=typeof S=="boolean"?f.jsx("span",{className:R.loadingWrapper,style:{display:"contents"},children:S&&f.jsx(ag,{className:R.loadingIndicator,ownerState:E,children:z})}):null;return f.jsxs(rg,{ownerState:E,className:j(r.className,R.root,p,L),component:c,disabled:u||S,focusRipple:!g,focusVisibleClassName:j(R.focusVisible,v),ref:o,type:$,id:S?T:y,...A,classes:R,children:[M,x!=="end"&&F,i,x==="end"&&F,O]})});function ig(t){return V("MuiButtonGroup",t)}const Nt=K("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","horizontal","vertical","colorPrimary","colorSecondary","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]),lg=(t,e)=>{const{ownerState:o}=t;return[{[`& .${Nt.grouped}`]:e.grouped},{[`& .${Nt.grouped}`]:e[`grouped${B(o.orientation)}`]},{[`& .${Nt.grouped}`]:e[`grouped${B(o.variant)}`]},{[`& .${Nt.grouped}`]:e[`grouped${B(o.variant)}${B(o.orientation)}`]},{[`& .${Nt.grouped}`]:e[`grouped${B(o.variant)}${B(o.color)}`]},{[`& .${Nt.firstButton}`]:e.firstButton},{[`& .${Nt.lastButton}`]:e.lastButton},{[`& .${Nt.middleButton}`]:e.middleButton},e.root,e[o.variant],o.disableElevation===!0&&e.disableElevation,o.fullWidth&&e.fullWidth,o.orientation==="vertical"&&e.vertical]},cg=t=>{const{classes:e,color:o,disabled:r,disableElevation:n,fullWidth:s,orientation:a,variant:i}=t,l={root:["root",i,a,s&&"fullWidth",n&&"disableElevation",`color${B(o)}`],grouped:["grouped",`grouped${B(a)}`,`grouped${B(i)}`,`grouped${B(i)}${B(a)}`,`grouped${B(i)}${B(o)}`,r&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return G(l,ig,e)},pg=k("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:lg})(W(({theme:t})=>({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius,variants:[{props:{variant:"contained"},style:{boxShadow:(t.vars||t).shadows[2]}},{props:{disableElevation:!0},style:{boxShadow:"none"}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${Nt.lastButton},& .${Nt.middleButton}`]:{borderTopRightRadius:0,borderTopLeftRadius:0},[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderBottomRightRadius:0,borderBottomLeftRadius:0}}},{props:{orientation:"horizontal"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${Nt.lastButton},& .${Nt.middleButton}`]:{borderTopLeftRadius:0,borderBottomLeftRadius:0}}},{props:{variant:"text",orientation:"horizontal"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderRight:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${Nt.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},{props:{variant:"text",orientation:"vertical"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderBottom:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${Nt.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},...Object.entries(t.palette).filter(jt()).flatMap(([e])=>[{props:{variant:"text",color:e},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.5)`:kt(t.palette[e].main,.5)}}}]),{props:{variant:"outlined",orientation:"horizontal"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderRightColor:"transparent","&:hover":{borderRightColor:"currentColor"}},[`& .${Nt.lastButton},& .${Nt.middleButton}`]:{marginLeft:-1}}},{props:{variant:"outlined",orientation:"vertical"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderBottomColor:"transparent","&:hover":{borderBottomColor:"currentColor"}},[`& .${Nt.lastButton},& .${Nt.middleButton}`]:{marginTop:-1}}},{props:{variant:"contained",orientation:"horizontal"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderRight:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${Nt.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},{props:{variant:"contained",orientation:"vertical"},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderBottom:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${Nt.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},...Object.entries(t.palette).filter(jt(["dark"])).map(([e])=>({props:{variant:"contained",color:e},style:{[`& .${Nt.firstButton},& .${Nt.middleButton}`]:{borderColor:(t.vars||t).palette[e].dark}}}))],[`& .${Nt.grouped}`]:{minWidth:40,boxShadow:"none",props:{variant:"contained"},style:{"&:hover":{boxShadow:"none"}}}}))),ow=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiButtonGroup"}),{children:n,className:s,color:a="primary",component:i="div",disabled:l=!1,disableElevation:c=!1,disableFocusRipple:p=!1,disableRipple:u=!1,fullWidth:m=!1,orientation:g="horizontal",size:b="medium",variant:v="outlined",...h}=r,y={...r,color:a,component:i,disabled:l,disableElevation:c,disableFocusRipple:p,disableRipple:u,fullWidth:m,orientation:g,size:b,variant:v},S=cg(y),C=d.useMemo(()=>({className:S.grouped,color:a,disabled:l,disableElevation:c,disableFocusRipple:p,disableRipple:u,fullWidth:m,size:b,variant:v}),[a,l,c,p,u,m,b,v,S.grouped]),x=mi(n),w=x.length,P=$=>{const I=$===0,A=$===w-1;return I&&A?"":I?S.firstButton:A?S.lastButton:S.middleButton};return f.jsx(pg,{as:i,role:"group",className:j(S.root,s),ref:o,ownerState:y,...h,children:f.jsx(Ni.Provider,{value:C,children:x.map(($,I)=>f.jsx(zi.Provider,{value:P(I),children:$},I))})})});function dg(t){return V("MuiCard",t)}const rw=K("MuiCard",["root"]),ug=t=>{const{classes:e}=t;return G({root:["root"]},dg,e)},fg=k(Ue,{name:"MuiCard",slot:"Root",overridesResolver:(t,e)=>e.root})({overflow:"hidden"}),nw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCard"}),{className:n,raised:s=!1,...a}=r,i={...r,raised:s},l=ug(i);return f.jsx(fg,{className:j(l.root,n),elevation:s?8:void 0,ref:o,ownerState:i,...a})});function gg(t){return V("MuiCardActionArea",t)}const Tn=K("MuiCardActionArea",["root","focusVisible","focusHighlight"]),mg=t=>{const{classes:e}=t;return G({root:["root"],focusHighlight:["focusHighlight"]},gg,e)},bg=k(ue,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",[`&:hover .${Tn.focusHighlight}`]:{opacity:(t.vars||t).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${Tn.focusVisible} .${Tn.focusHighlight}`]:{opacity:(t.vars||t).palette.action.focusOpacity}}))),vg=k("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(t,e)=>e.focusHighlight})(W(({theme:t})=>({overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:t.transitions.create("opacity",{duration:t.transitions.duration.short})}))),sw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardActionArea"}),{children:n,className:s,focusVisibleClassName:a,slots:i={},slotProps:l={},...c}=r,p=r,u=mg(p),m={slots:i,slotProps:l},[g,b]=Q("root",{elementType:bg,externalForwardedProps:{...m,...c},shouldForwardComponentProp:!0,ownerState:p,ref:o,className:j(u.root,s),additionalProps:{focusVisibleClassName:j(a,u.focusVisible)}}),[v,h]=Q("focusHighlight",{elementType:vg,externalForwardedProps:m,ownerState:p,ref:o,className:u.focusHighlight});return f.jsxs(g,{...b,children:[n,f.jsx(v,{...h})]})});function hg(t){return V("MuiCardActions",t)}const aw=K("MuiCardActions",["root","spacing"]),yg=t=>{const{classes:e,disableSpacing:o}=t;return G({root:["root",!o&&"spacing"]},hg,e)},xg=k("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,variants:[{props:{disableSpacing:!1},style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),iw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardActions"}),{disableSpacing:n=!1,className:s,...a}=r,i={...r,disableSpacing:n},l=yg(i);return f.jsx(xg,{className:j(l.root,s),ownerState:i,ref:o,...a})});function Cg(t){return V("MuiCardContent",t)}const lw=K("MuiCardContent",["root"]),Sg=t=>{const{classes:e}=t;return G({root:["root"]},Cg,e)},wg=k("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:16,"&:last-child":{paddingBottom:24}}),cw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardContent"}),{className:n,component:s="div",...a}=r,i={...r,component:s},l=Sg(i);return f.jsx(wg,{as:s,className:j(l.root,n),ownerState:i,ref:o,...a})});function Rg(t){return V("MuiCardHeader",t)}const ln=K("MuiCardHeader",["root","avatar","action","content","title","subheader"]),Pg=t=>{const{classes:e}=t;return G({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},Rg,e)},$g=k("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(t,e)=>[{[`& .${ln.title}`]:e.title},{[`& .${ln.subheader}`]:e.subheader},e.root]})({display:"flex",alignItems:"center",padding:16}),kg=k("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(t,e)=>e.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),Ig=k("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(t,e)=>e.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),Tg=k("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(t,e)=>e.content})({flex:"1 1 auto",[`.${nn.root}:where(& .${ln.title})`]:{display:"block"},[`.${nn.root}:where(& .${ln.subheader})`]:{display:"block"}}),pw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardHeader"}),{action:n,avatar:s,component:a="div",disableTypography:i=!1,subheader:l,subheaderTypographyProps:c,title:p,titleTypographyProps:u,slots:m={},slotProps:g={},...b}=r,v={...r,component:a,disableTypography:i},h=Pg(v),y={slots:m,slotProps:{title:u,subheader:c,...g}};let S=p;const[C,x]=Q("title",{className:h.title,elementType:he,externalForwardedProps:y,ownerState:v,additionalProps:{variant:s?"body2":"h5",component:"span"}});S!=null&&S.type!==he&&!i&&(S=f.jsx(C,{...x,children:S}));let w=l;const[P,$]=Q("subheader",{className:h.subheader,elementType:he,externalForwardedProps:y,ownerState:v,additionalProps:{variant:s?"body2":"body1",color:"textSecondary",component:"span"}});w!=null&&w.type!==he&&!i&&(w=f.jsx(P,{...$,children:w}));const[I,A]=Q("root",{ref:o,className:h.root,elementType:$g,externalForwardedProps:{...y,...b,component:a},ownerState:v}),[T,z]=Q("avatar",{className:h.avatar,elementType:kg,externalForwardedProps:y,ownerState:v}),[E,R]=Q("content",{className:h.content,elementType:Tg,externalForwardedProps:y,ownerState:v}),[M,O]=Q("action",{className:h.action,elementType:Ig,externalForwardedProps:y,ownerState:v});return f.jsxs(I,{...A,children:[s&&f.jsx(T,{...z,children:s}),f.jsxs(E,{...R,children:[S,w]}),n&&f.jsx(M,{...O,children:n})]})});function Mg(t){return V("MuiCardMedia",t)}const dw=K("MuiCardMedia",["root","media","img"]),Lg=t=>{const{classes:e,isMediaComponent:o,isImageComponent:r}=t;return G({root:["root",o&&"media",r&&"img"]},Mg,e)},Ag=k("div",{name:"MuiCardMedia",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{isMediaComponent:r,isImageComponent:n}=o;return[e.root,r&&e.media,n&&e.img]}})({display:"block",backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",variants:[{props:{isMediaComponent:!0},style:{width:"100%"}},{props:{isImageComponent:!0},style:{objectFit:"cover"}}]}),Bg=["video","audio","picture","iframe","img"],Eg=["picture","img"],uw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCardMedia"}),{children:n,className:s,component:a="div",image:i,src:l,style:c,...p}=r,u=Bg.includes(a),m=!u&&i?{backgroundImage:`url("${i}")`,...c}:c,g={...r,component:a,isMediaComponent:u,isImageComponent:Eg.includes(a)},b=Lg(g);return f.jsx(Ag,{className:j(b.root,s),as:a,role:!u&&i?"img":void 0,ref:o,style:m,ownerState:g,src:u?i||l:void 0,...p,children:n})});function Og(t){return V("PrivateSwitchBase",t)}K("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const Ng=t=>{const{classes:e,checked:o,disabled:r,edge:n}=t,s={root:["root",o&&"checked",r&&"disabled",n&&`edge${B(n)}`],input:["input"]};return G(s,Og,e)},zg=k(ue)({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:t,ownerState:e})=>t==="start"&&e.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:t,ownerState:e})=>t==="end"&&e.size!=="small",style:{marginRight:-12}}]}),jg=k("input",{shouldForwardProp:ae})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),$s=d.forwardRef(function(e,o){const{autoFocus:r,checked:n,checkedIcon:s,defaultChecked:a,disabled:i,disableFocusRipple:l=!1,edge:c=!1,icon:p,id:u,inputProps:m,inputRef:g,name:b,onBlur:v,onChange:h,onFocus:y,readOnly:S,required:C=!1,tabIndex:x,type:w,value:P,slots:$={},slotProps:I={},...A}=e,[T,z]=Te({controlled:n,default:!!a,name:"SwitchBase",state:"checked"}),E=He(),R=et=>{y&&y(et),E&&E.onFocus&&E.onFocus(et)},M=et=>{v&&v(et),E&&E.onBlur&&E.onBlur(et)},O=et=>{if(et.nativeEvent.defaultPrevented)return;const rt=et.target.checked;z(rt),h&&h(et,rt)};let L=i;E&&typeof L>"u"&&(L=E.disabled);const F=w==="checkbox"||w==="radio",D={...e,checked:T,disabled:L,disableFocusRipple:l,edge:c},N=Ng(D),J={slots:$,slotProps:{input:m,...I}},[U,wt]=Q("root",{ref:o,elementType:zg,className:N.root,shouldForwardComponentProp:!0,externalForwardedProps:{...J,component:"span",...A},getSlotProps:et=>({...et,onFocus:rt=>{var Y;(Y=et.onFocus)==null||Y.call(et,rt),R(rt)},onBlur:rt=>{var Y;(Y=et.onBlur)==null||Y.call(et,rt),M(rt)}}),ownerState:D,additionalProps:{centerRipple:!0,focusRipple:!l,disabled:L,role:void 0,tabIndex:null}}),[vt,mt]=Q("input",{ref:g,elementType:jg,className:N.input,externalForwardedProps:J,getSlotProps:et=>({onChange:rt=>{var Y;(Y=et.onChange)==null||Y.call(et,rt),O(rt)}}),ownerState:D,additionalProps:{autoFocus:r,checked:n,defaultChecked:a,disabled:L,id:F?u:void 0,name:b,readOnly:S,required:C,tabIndex:x,type:w,...w==="checkbox"&&P===void 0?{}:{value:P}}});return f.jsxs(U,{...wt,children:[f.jsx(vt,{...mt}),T?s:p]})}),Dg=Qt(f.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"),Fg=Qt(f.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"),Wg=Qt(f.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 Ug(t){return V("MuiCheckbox",t)}const Mn=K("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),Hg=t=>{const{classes:e,indeterminate:o,color:r,size:n}=t,s={root:["root",o&&"indeterminate",`color${B(r)}`,`size${B(n)}`]},a=G(s,Ug,e);return{...e,...a}},Vg=k($s,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.indeterminate&&e.indeterminate,e[`size${B(o.size)}`],o.color!=="default"&&e[`color${B(o.color)}`]]}})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.action.active,t.palette.action.hoverOpacity)}}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[e].main,t.palette.action.hoverOpacity)}}})),...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{[`&.${Mn.checked}, &.${Mn.indeterminate}`]:{color:(t.vars||t).palette[e].main},[`&.${Mn.disabled}`]:{color:(t.vars||t).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),Gg=f.jsx(Fg,{}),Kg=f.jsx(Dg,{}),qg=f.jsx(Wg,{}),fw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiCheckbox"}),{checkedIcon:n=Gg,color:s="primary",icon:a=Kg,indeterminate:i=!1,indeterminateIcon:l=qg,inputProps:c,size:p="medium",disableRipple:u=!1,className:m,slots:g={},slotProps:b={},...v}=r,h=i?l:a,y=i?l:n,S={...r,disableRipple:u,color:s,indeterminate:i,size:p},C=Hg(S),x=b.input??c,[w,P]=Q("root",{ref:o,elementType:Vg,className:j(C.root,m),shouldForwardComponentProp:!0,externalForwardedProps:{slots:g,slotProps:b,...v},ownerState:S,additionalProps:{type:"checkbox",icon:d.cloneElement(h,{fontSize:h.props.fontSize??p}),checkedIcon:d.cloneElement(y,{fontSize:y.props.fontSize??p}),disableRipple:u,slots:g,slotProps:{input:Vo(typeof x=="function"?x(S):x,{"data-indeterminate":i})}}});return f.jsx(w,{...P,classes:C})});function va(t){return t.substring(2).toLowerCase()}function Xg(t,e){return e.documentElement.clientWidth(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const p=qt(io(e),i),u=ee(b=>{const v=c.current;c.current=!1;const h=te(i.current);if(!l.current||!i.current||"clientX"in b&&Xg(b,h))return;if(a.current){a.current=!1;return}let y;b.composedPath?y=b.composedPath().includes(i.current):y=!h.documentElement.contains(b.target)||i.current.contains(b.target),!y&&(o||!v)&&n(b)}),m=b=>v=>{c.current=!0;const h=e.props[b];h&&h(v)},g={ref:p};return s!==!1&&(g[s]=m(s)),d.useEffect(()=>{if(s!==!1){const b=va(s),v=te(i.current),h=()=>{a.current=!0};return v.addEventListener(b,u),v.addEventListener("touchmove",h),()=>{v.removeEventListener(b,u),v.removeEventListener("touchmove",h)}}},[u,s]),r!==!1&&(g[r]=m(r)),d.useEffect(()=>{if(r!==!1){const b=va(r),v=te(i.current);return v.addEventListener(b,u),()=>{v.removeEventListener(b,u)}}},[u,r]),d.cloneElement(e,g)}const gw=rc({createStyledComponent:k("div",{name:"MuiContainer",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`maxWidth${B(String(o.maxWidth))}`],o.fixed&&e.fixed,o.disableGutters&&e.disableGutters]}}),useThemeProps:t=>_({props:t,name:"MuiContainer"})});function mw(t){return V("MuiContainer",t)}const bw=K("MuiContainer",["root","disableGutters","fixed","maxWidthXs","maxWidthSm","maxWidthMd","maxWidthLg","maxWidthXl"]),es=typeof ms({})=="function",Di=(t,e)=>({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%",...e&&!t.vars&&{colorScheme:t.palette.mode}}),Fi=t=>({color:(t.vars||t).palette.text.primary,...t.typography.body1,backgroundColor:(t.vars||t).palette.background.default,"@media print":{backgroundColor:(t.vars||t).palette.common.white}}),Wi=(t,e=!1)=>{var s,a;const o={};e&&t.colorSchemes&&typeof t.getColorSchemeSelector=="function"&&Object.entries(t.colorSchemes).forEach(([i,l])=>{var p,u;const c=t.getColorSchemeSelector(i);c.startsWith("@")?o[c]={":root":{colorScheme:(p=l.palette)==null?void 0:p.mode}}:o[c.replace(/\s*&/,"")]={colorScheme:(u=l.palette)==null?void 0:u.mode}});let r={html:Di(t,e),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:t.typography.fontWeightBold},body:{margin:0,...Fi(t),"&::backdrop":{backgroundColor:(t.vars||t).palette.background.default}},...o};const n=(a=(s=t.components)==null?void 0:s.MuiCssBaseline)==null?void 0:a.styleOverrides;return n&&(r=[r,n]),r},Jr="mui-ecs",Yg=t=>{const e=Wi(t,!1),o=Array.isArray(e)?e[0]:e;return!t.vars&&o&&(o.html[`:root:has(${Jr})`]={colorScheme:t.palette.mode}),t.colorSchemes&&Object.entries(t.colorSchemes).forEach(([r,n])=>{var a,i;const s=t.getColorSchemeSelector(r);s.startsWith("@")?o[s]={[`:root:not(:has(.${Jr}))`]:{colorScheme:(a=n.palette)==null?void 0:a.mode}}:o[s.replace(/\s*&/,"")]={[`&:not(:has(.${Jr}))`]:{colorScheme:(i=n.palette)==null?void 0:i.mode}}}),e},Zg=ms(es?({theme:t,enableColorScheme:e})=>Wi(t,e):({theme:t})=>Yg(t));function vw(t){const e=_({props:t,name:"MuiCssBaseline"}),{children:o,enableColorScheme:r=!1}=e;return f.jsxs(d.Fragment,{children:[es&&f.jsx(Zg,{enableColorScheme:r}),!es&&!r&&f.jsx("span",{className:Jr,style:{display:"none"}}),o]})}const Qg={track:"#2b2b2b",thumb:"#6b6b6b",active:"#959595"};function hw(t=Qg){return{scrollbarColor:`${t.thumb} ${t.track}`,"&::-webkit-scrollbar, & *::-webkit-scrollbar":{backgroundColor:t.track},"&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb":{borderRadius:8,backgroundColor:t.thumb,minHeight:24,border:`3px solid ${t.track}`},"&::-webkit-scrollbar-thumb:focus, & *::-webkit-scrollbar-thumb:focus":{backgroundColor:t.active},"&::-webkit-scrollbar-thumb:active, & *::-webkit-scrollbar-thumb:active":{backgroundColor:t.active},"&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover":{backgroundColor:t.active},"&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner":{backgroundColor:t.track}}}function Jg(t){const e=te(t);return e.body===t?me(t).innerWidth>e.documentElement.clientWidth:t.scrollHeight>t.clientHeight}function fr(t,e){e?t.setAttribute("aria-hidden","true"):t.removeAttribute("aria-hidden")}function ha(t){return parseInt(me(t).getComputedStyle(t).paddingRight,10)||0}function tm(t){const o=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].includes(t.tagName),r=t.tagName==="INPUT"&&t.getAttribute("type")==="hidden";return o||r}function ya(t,e,o,r,n){const s=[e,o,...r];[].forEach.call(t.children,a=>{const i=!s.includes(a),l=!tm(a);i&&l&&fr(a,n)})}function Ln(t,e){let o=-1;return t.some((r,n)=>e(r)?(o=n,!0):!1),o}function em(t,e){const o=[],r=t.container;if(!e.disableScrollLock){if(Jg(r)){const a=gi(me(r));o.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${ha(r)+a}px`;const i=te(r).querySelectorAll(".mui-fixed");[].forEach.call(i,l=>{o.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${ha(l)+a}px`})}let s;if(r.parentNode instanceof DocumentFragment)s=te(r).body;else{const a=r.parentElement,i=me(r);s=(a==null?void 0:a.nodeName)==="HTML"&&i.getComputedStyle(a).overflowY==="scroll"?a:r}o.push({value:s.style.overflow,property:"overflow",el:s},{value:s.style.overflowX,property:"overflow-x",el:s},{value:s.style.overflowY,property:"overflow-y",el:s}),s.style.overflow="hidden"}return()=>{o.forEach(({value:s,el:a,property:i})=>{s?a.style.setProperty(i,s):a.style.removeProperty(i)})}}function om(t){const e=[];return[].forEach.call(t.children,o=>{o.getAttribute("aria-hidden")==="true"&&e.push(o)}),e}class rm{constructor(){this.modals=[],this.containers=[]}add(e,o){let r=this.modals.indexOf(e);if(r!==-1)return r;r=this.modals.length,this.modals.push(e),e.modalRef&&fr(e.modalRef,!1);const n=om(o);ya(o,e.mount,e.modalRef,n,!0);const s=Ln(this.containers,a=>a.container===o);return s!==-1?(this.containers[s].modals.push(e),r):(this.containers.push({modals:[e],container:o,restore:null,hiddenSiblings:n}),r)}mount(e,o){const r=Ln(this.containers,s=>s.modals.includes(e)),n=this.containers[r];n.restore||(n.restore=em(n,o))}remove(e,o=!0){const r=this.modals.indexOf(e);if(r===-1)return r;const n=Ln(this.containers,a=>a.modals.includes(e)),s=this.containers[n];if(s.modals.splice(s.modals.indexOf(e),1),this.modals.splice(r,1),s.modals.length===0)s.restore&&s.restore(),e.modalRef&&fr(e.modalRef,o),ya(s.container,e.mount,e.modalRef,s.hiddenSiblings,!1),this.containers.splice(n,1);else{const a=s.modals[s.modals.length-1];a.modalRef&&fr(a.modalRef,!1)}return r}isTopModal(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}const nm=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function sm(t){const e=parseInt(t.getAttribute("tabindex")||"",10);return Number.isNaN(e)?t.contentEditable==="true"||(t.nodeName==="AUDIO"||t.nodeName==="VIDEO"||t.nodeName==="DETAILS")&&t.getAttribute("tabindex")===null?0:t.tabIndex:e}function am(t){if(t.tagName!=="INPUT"||t.type!=="radio"||!t.name)return!1;const e=r=>t.ownerDocument.querySelector(`input[type="radio"]${r}`);let o=e(`[name="${t.name}"]:checked`);return o||(o=e(`[name="${t.name}"]`)),o!==t}function im(t){return!(t.disabled||t.tagName==="INPUT"&&t.type==="hidden"||am(t))}function lm(t){const e=[],o=[];return Array.from(t.querySelectorAll(nm)).forEach((r,n)=>{const s=sm(r);s===-1||!im(r)||(s===0?e.push(r):o.push({documentOrder:n,tabIndex:s,node:r}))}),o.sort((r,n)=>r.tabIndex===n.tabIndex?r.documentOrder-n.documentOrder:r.tabIndex-n.tabIndex).map(r=>r.node).concat(e)}function cm(){return!0}function pm(t){const{children:e,disableAutoFocus:o=!1,disableEnforceFocus:r=!1,disableRestoreFocus:n=!1,getTabbable:s=lm,isEnabled:a=cm,open:i}=t,l=d.useRef(!1),c=d.useRef(null),p=d.useRef(null),u=d.useRef(null),m=d.useRef(null),g=d.useRef(!1),b=d.useRef(null),v=qt(io(e),b),h=d.useRef(null);d.useEffect(()=>{!i||!b.current||(g.current=!o)},[o,i]),d.useEffect(()=>{if(!i||!b.current)return;const C=te(b.current);return b.current.contains(C.activeElement)||(b.current.hasAttribute("tabIndex")||b.current.setAttribute("tabIndex","-1"),g.current&&b.current.focus()),()=>{n||(u.current&&u.current.focus&&(l.current=!0,u.current.focus()),u.current=null)}},[i]),d.useEffect(()=>{if(!i||!b.current)return;const C=te(b.current),x=$=>{h.current=$,!(r||!a()||$.key!=="Tab")&&C.activeElement===b.current&&$.shiftKey&&(l.current=!0,p.current&&p.current.focus())},w=()=>{var A,T;const $=b.current;if($===null)return;if(!C.hasFocus()||!a()||l.current){l.current=!1;return}if($.contains(C.activeElement)||r&&C.activeElement!==c.current&&C.activeElement!==p.current)return;if(C.activeElement!==m.current)m.current=null;else if(m.current!==null)return;if(!g.current)return;let I=[];if((C.activeElement===c.current||C.activeElement===p.current)&&(I=s(b.current)),I.length>0){const z=!!((A=h.current)!=null&&A.shiftKey&&((T=h.current)==null?void 0:T.key)==="Tab"),E=I[0],R=I[I.length-1];typeof E!="string"&&typeof R!="string"&&(z?R.focus():E.focus())}else $.focus()};C.addEventListener("focusin",w),C.addEventListener("keydown",x,!0);const P=setInterval(()=>{C.activeElement&&C.activeElement.tagName==="BODY"&&w()},50);return()=>{clearInterval(P),C.removeEventListener("focusin",w),C.removeEventListener("keydown",x,!0)}},[o,r,n,a,i,s]);const y=C=>{u.current===null&&(u.current=C.relatedTarget),g.current=!0,m.current=C.target;const x=e.props.onFocus;x&&x(C)},S=C=>{u.current===null&&(u.current=C.relatedTarget),g.current=!0};return f.jsxs(d.Fragment,{children:[f.jsx("div",{tabIndex:i?0:-1,onFocus:S,ref:c,"data-testid":"sentinelStart"}),d.cloneElement(e,{ref:v,onFocus:y}),f.jsx("div",{tabIndex:i?0:-1,onFocus:S,ref:p,"data-testid":"sentinelEnd"})]})}function dm(t){return typeof t=="function"?t():t}function um(t){return t?t.props.hasOwnProperty("in"):!1}const xa=()=>{},zr=new rm;function fm(t){const{container:e,disableEscapeKeyDown:o=!1,disableScrollLock:r=!1,closeAfterTransition:n=!1,onTransitionEnter:s,onTransitionExited:a,children:i,onClose:l,open:c,rootRef:p}=t,u=d.useRef({}),m=d.useRef(null),g=d.useRef(null),b=qt(g,p),[v,h]=d.useState(!c),y=um(i);let S=!0;(t["aria-hidden"]==="false"||t["aria-hidden"]===!1)&&(S=!1);const C=()=>te(m.current),x=()=>(u.current.modalRef=g.current,u.current.mount=m.current,u.current),w=()=>{zr.mount(x(),{disableScrollLock:r}),g.current&&(g.current.scrollTop=0)},P=ee(()=>{const O=dm(e)||C().body;zr.add(x(),O),g.current&&w()}),$=()=>zr.isTopModal(x()),I=ee(O=>{m.current=O,O&&(c&&$()?w():g.current&&fr(g.current,S))}),A=d.useCallback(()=>{zr.remove(x(),S)},[S]);d.useEffect(()=>()=>{A()},[A]),d.useEffect(()=>{c?P():(!y||!n)&&A()},[c,A,y,n,P]);const T=O=>L=>{var F;(F=O.onKeyDown)==null||F.call(O,L),!(L.key!=="Escape"||L.which===229||!$())&&(o||(L.stopPropagation(),l&&l(L,"escapeKeyDown")))},z=O=>L=>{var F;(F=O.onClick)==null||F.call(O,L),L.target===L.currentTarget&&l&&l(L,"backdropClick")};return{getRootProps:(O={})=>{const L=To(t);delete L.onTransitionEnter,delete L.onTransitionExited;const F={...L,...O};return{role:"presentation",...F,onKeyDown:T(F),ref:b}},getBackdropProps:(O={})=>{const L=O;return{"aria-hidden":!0,...L,onClick:z(L),open:c}},getTransitionProps:()=>{const O=()=>{h(!1),s&&s()},L=()=>{h(!0),a&&a(),n&&A()};return{onEnter:Vn(O,(i==null?void 0:i.props.onEnter)??xa),onExited:Vn(L,(i==null?void 0:i.props.onExited)??xa)}},rootRef:b,portalRef:I,isTopModal:$,exited:v,hasTransition:y}}function gm(t){return V("MuiModal",t)}const yw=K("MuiModal",["root","hidden","backdrop"]),mm=t=>{const{open:e,exited:o,classes:r}=t;return G({root:["root",!e&&o&&"hidden"],backdrop:["backdrop"]},gm,r)},bm=k("div",{name:"MuiModal",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.open&&o.exited&&e.hidden]}})(W(({theme:t})=>({position:"fixed",zIndex:(t.vars||t).zIndex.modal,right:0,bottom:0,top:0,left:0,variants:[{props:({ownerState:e})=>!e.open&&e.exited,style:{visibility:"hidden"}}]}))),vm=k(Ei,{name:"MuiModal",slot:"Backdrop",overridesResolver:(t,e)=>e.backdrop})({zIndex:-1}),ks=d.forwardRef(function(e,o){const r=_({name:"MuiModal",props:e}),{BackdropComponent:n=vm,BackdropProps:s,classes:a,className:i,closeAfterTransition:l=!1,children:c,container:p,component:u,components:m={},componentsProps:g={},disableAutoFocus:b=!1,disableEnforceFocus:v=!1,disableEscapeKeyDown:h=!1,disablePortal:y=!1,disableRestoreFocus:S=!1,disableScrollLock:C=!1,hideBackdrop:x=!1,keepMounted:w=!1,onBackdropClick:P,onClose:$,onTransitionEnter:I,onTransitionExited:A,open:T,slotProps:z={},slots:E={},theme:R,...M}=r,O={...r,closeAfterTransition:l,disableAutoFocus:b,disableEnforceFocus:v,disableEscapeKeyDown:h,disablePortal:y,disableRestoreFocus:S,disableScrollLock:C,hideBackdrop:x,keepMounted:w},{getRootProps:L,getBackdropProps:F,getTransitionProps:D,portalRef:N,isTopModal:J,exited:U,hasTransition:wt}=fm({...O,rootRef:o}),vt={...O,exited:U},mt=mm(vt),et={};if(c.props.tabIndex===void 0&&(et.tabIndex="-1"),wt){const{onEnter:ft,onExited:Z}=D();et.onEnter=ft,et.onExited=Z}const rt={slots:{root:m.Root,backdrop:m.Backdrop,...E},slotProps:{...g,...z}},[Y,at]=Q("root",{ref:o,elementType:bm,externalForwardedProps:{...rt,...M,component:u},getSlotProps:L,ownerState:vt,className:j(i,mt==null?void 0:mt.root,!vt.open&&vt.exited&&(mt==null?void 0:mt.hidden))}),[ct,st]=Q("backdrop",{ref:s==null?void 0:s.ref,elementType:n,externalForwardedProps:rt,shouldForwardComponentProp:!0,additionalProps:s,getSlotProps:ft=>F({...ft,onClick:Z=>{P&&P(Z),ft!=null&&ft.onClick&&ft.onClick(Z)}}),className:j(s==null?void 0:s.className,mt==null?void 0:mt.backdrop),ownerState:vt});return!w&&!T&&(!wt||U)?null:f.jsx(Bi,{ref:N,container:p,disablePortal:y,children:f.jsxs(Y,{...at,children:[!x&&n?f.jsx(ct,{...st}):null,f.jsx(pm,{disableEnforceFocus:v,disableAutoFocus:b,disableRestoreFocus:S,isEnabled:J,open:T,children:d.cloneElement(c,et)})]})})});function hm(t){return V("MuiDialog",t)}const An=K("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),Ui=d.createContext({}),ym=k(Ei,{name:"MuiDialog",slot:"Backdrop",overrides:(t,e)=>e.backdrop})({zIndex:-1}),xm=t=>{const{classes:e,scroll:o,maxWidth:r,fullWidth:n,fullScreen:s}=t,a={root:["root"],container:["container",`scroll${B(o)}`],paper:["paper",`paperScroll${B(o)}`,`paperWidth${B(String(r))}`,n&&"paperFullWidth",s&&"paperFullScreen"]};return G(a,hm,e)},Cm=k(ks,{name:"MuiDialog",slot:"Root",overridesResolver:(t,e)=>e.root})({"@media print":{position:"absolute !important"}}),Sm=k("div",{name:"MuiDialog",slot:"Container",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.container,e[`scroll${B(o.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"}}}]}),wm=k(Ue,{name:"MuiDialog",slot:"Paper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.paper,e[`scrollPaper${B(o.scroll)}`],e[`paperWidth${B(String(o.maxWidth))}`],o.fullWidth&&e.paperFullWidth,o.fullScreen&&e.paperFullScreen]}})(W(({theme:t})=>({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:e})=>!e.maxWidth,style:{maxWidth:"calc(100% - 64px)"}},{props:{maxWidth:"xs"},style:{maxWidth:t.breakpoints.unit==="px"?Math.max(t.breakpoints.values.xs,444):`max(${t.breakpoints.values.xs}${t.breakpoints.unit}, 444px)`,[`&.${An.paperScrollBody}`]:{[t.breakpoints.down(Math.max(t.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}}},...Object.keys(t.breakpoints.values).filter(e=>e!=="xs").map(e=>({props:{maxWidth:e},style:{maxWidth:`${t.breakpoints.values[e]}${t.breakpoints.unit}`,[`&.${An.paperScrollBody}`]:{[t.breakpoints.down(t.breakpoints.values[e]+32*2)]:{maxWidth:"calc(100% - 64px)"}}}})),{props:({ownerState:e})=>e.fullWidth,style:{width:"calc(100% - 64px)"}},{props:({ownerState:e})=>e.fullScreen,style:{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${An.paperScrollBody}`]:{margin:0,maxWidth:"100%"}}}]}))),xw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialog"}),n=le(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{"aria-describedby":a,"aria-labelledby":i,"aria-modal":l=!0,BackdropComponent:c,BackdropProps:p,children:u,className:m,disableEscapeKeyDown:g=!1,fullScreen:b=!1,fullWidth:v=!1,maxWidth:h="sm",onBackdropClick:y,onClick:S,onClose:C,open:x,PaperComponent:w=Ue,PaperProps:P={},scroll:$="paper",slots:I={},slotProps:A={},TransitionComponent:T=ts,transitionDuration:z=s,TransitionProps:E,...R}=r,M={...r,disableEscapeKeyDown:g,fullScreen:b,fullWidth:v,maxWidth:h,scroll:$},O=xm(M),L=d.useRef(),F=it=>{L.current=it.target===it.currentTarget},D=it=>{S&&S(it),L.current&&(L.current=null,y&&y(it),C&&C(it,"backdropClick"))},N=De(i),J=d.useMemo(()=>({titleId:N}),[N]),U={transition:T,...I},wt={transition:E,paper:P,backdrop:p,...A},vt={slots:U,slotProps:wt},[mt,et]=Q("root",{elementType:Cm,shouldForwardComponentProp:!0,externalForwardedProps:vt,ownerState:M,className:j(O.root,m),ref:o}),[rt,Y]=Q("backdrop",{elementType:ym,shouldForwardComponentProp:!0,externalForwardedProps:vt,ownerState:M}),[at,ct]=Q("paper",{elementType:wm,shouldForwardComponentProp:!0,externalForwardedProps:vt,ownerState:M,className:j(O.paper,P.className)}),[st,ft]=Q("container",{elementType:Sm,externalForwardedProps:vt,ownerState:M,className:j(O.container)}),[Z,pt]=Q("transition",{elementType:ts,externalForwardedProps:vt,ownerState:M,additionalProps:{appear:!0,in:x,timeout:z,role:"presentation"}});return f.jsx(mt,{closeAfterTransition:!0,slots:{backdrop:rt},slotProps:{backdrop:{transitionDuration:z,as:c,...Y}},disableEscapeKeyDown:g,onClose:C,open:x,onClick:D,...et,...R,children:f.jsx(Z,{...pt,children:f.jsx(st,{onMouseDown:F,...ft,children:f.jsx(at,{as:w,elevation:24,role:"dialog","aria-describedby":a,"aria-labelledby":N,"aria-modal":l,...ct,children:f.jsx(Ui.Provider,{value:J,children:u})})})})})});function Rm(t){return V("MuiDialogActions",t)}const Cw=K("MuiDialogActions",["root","spacing"]),Pm=t=>{const{classes:e,disableSpacing:o}=t;return G({root:["root",!o&&"spacing"]},Rm,e)},$m=k("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto",variants:[{props:({ownerState:t})=>!t.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),Sw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialogActions"}),{className:n,disableSpacing:s=!1,...a}=r,i={...r,disableSpacing:s},l=Pm(i);return f.jsx($m,{className:j(l.root,n),ownerState:i,ref:o,...a})});function km(t){return V("MuiDialogContent",t)}const ww=K("MuiDialogContent",["root","dividers"]);function Im(t){return V("MuiDialogTitle",t)}const Tm=K("MuiDialogTitle",["root"]),Mm=t=>{const{classes:e,dividers:o}=t;return G({root:["root",o&&"dividers"]},km,e)},Lm=k("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.dividers&&e.dividers]}})(W(({theme:t})=>({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px",variants:[{props:({ownerState:e})=>e.dividers,style:{padding:"16px 24px",borderTop:`1px solid ${(t.vars||t).palette.divider}`,borderBottom:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>!e.dividers,style:{[`.${Tm.root} + &`]:{paddingTop:0}}}]}))),Rw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialogContent"}),{className:n,dividers:s=!1,...a}=r,i={...r,dividers:s},l=Mm(i);return f.jsx(Lm,{className:j(l.root,n),ownerState:i,ref:o,...a})});function Am(t){return V("MuiDialogContentText",t)}const Pw=K("MuiDialogContentText",["root"]),Bm=t=>{const{classes:e}=t,r=G({root:["root"]},Am,e);return{...e,...r}},Em=k(he,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(t,e)=>e.root})({}),$w=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialogContentText"}),{children:n,className:s,...a}=r,i=Bm(a);return f.jsx(Em,{component:"p",variant:"body1",color:"textSecondary",ref:o,ownerState:a,className:j(i.root,s),...r,classes:i})}),Om=t=>{const{classes:e}=t;return G({root:["root"]},Im,e)},Nm=k(he,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:"16px 24px",flex:"0 0 auto"}),kw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDialogTitle"}),{className:n,id:s,...a}=r,i=r,l=Om(i),{titleId:c=s}=d.useContext(Ui);return f.jsx(Nm,{component:"h2",className:j(l.root,n),ownerState:i,ref:o,variant:"h6",id:s??c,...a})});function zm(t){return V("MuiDivider",t)}const Ca=K("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),jm=t=>{const{absolute:e,children:o,classes:r,flexItem:n,light:s,orientation:a,textAlign:i,variant:l}=t;return G({root:["root",e&&"absolute",l,s&&"light",a==="vertical"&&"vertical",n&&"flexItem",o&&"withChildren",o&&a==="vertical"&&"withChildrenVertical",i==="right"&&a!=="vertical"&&"textAlignRight",i==="left"&&a!=="vertical"&&"textAlignLeft"],wrapper:["wrapper",a==="vertical"&&"wrapperVertical"]},zm,r)},Dm=k("div",{name:"MuiDivider",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.absolute&&e.absolute,e[o.variant],o.light&&e.light,o.orientation==="vertical"&&e.vertical,o.flexItem&&e.flexItem,o.children&&e.withChildren,o.children&&o.orientation==="vertical"&&e.withChildrenVertical,o.textAlign==="right"&&o.orientation!=="vertical"&&e.textAlignRight,o.textAlign==="left"&&o.orientation!=="vertical"&&e.textAlignLeft]}})(W(({theme:t})=>({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(t.vars||t).palette.divider,borderBottomWidth:"thin",variants:[{props:{absolute:!0},style:{position:"absolute",bottom:0,left:0,width:"100%"}},{props:{light:!0},style:{borderColor:t.vars?`rgba(${t.vars.palette.dividerChannel} / 0.08)`:kt(t.palette.divider,.08)}},{props:{variant:"inset"},style:{marginLeft:72}},{props:{variant:"middle",orientation:"horizontal"},style:{marginLeft:t.spacing(2),marginRight:t.spacing(2)}},{props:{variant:"middle",orientation:"vertical"},style:{marginTop:t.spacing(1),marginBottom:t.spacing(1)}},{props:{orientation:"vertical"},style:{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"}},{props:{flexItem:!0},style:{alignSelf:"stretch",height:"auto"}},{props:({ownerState:e})=>!!e.children,style:{display:"flex",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}}},{props:({ownerState:e})=>e.children&&e.orientation!=="vertical",style:{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(t.vars||t).palette.divider}`,borderTopStyle:"inherit"}}},{props:({ownerState:e})=>e.orientation==="vertical"&&e.children,style:{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(t.vars||t).palette.divider}`,borderLeftStyle:"inherit"}}},{props:({ownerState:e})=>e.textAlign==="right"&&e.orientation!=="vertical",style:{"&::before":{width:"90%"},"&::after":{width:"10%"}}},{props:({ownerState:e})=>e.textAlign==="left"&&e.orientation!=="vertical",style:{"&::before":{width:"10%"},"&::after":{width:"90%"}}}]}))),Fm=k("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.wrapper,o.orientation==="vertical"&&e.wrapperVertical]}})(W(({theme:t})=>({display:"inline-block",paddingLeft:`calc(${t.spacing(1)} * 1.2)`,paddingRight:`calc(${t.spacing(1)} * 1.2)`,whiteSpace:"nowrap",variants:[{props:{orientation:"vertical"},style:{paddingTop:`calc(${t.spacing(1)} * 1.2)`,paddingBottom:`calc(${t.spacing(1)} * 1.2)`}}]}))),Sa=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDivider"}),{absolute:n=!1,children:s,className:a,orientation:i="horizontal",component:l=s||i==="vertical"?"div":"hr",flexItem:c=!1,light:p=!1,role:u=l!=="hr"?"separator":void 0,textAlign:m="center",variant:g="fullWidth",...b}=r,v={...r,absolute:n,component:l,flexItem:c,light:p,orientation:i,role:u,textAlign:m,variant:g},h=jm(v);return f.jsx(Dm,{as:l,className:j(h.root,a),role:u,ref:o,ownerState:v,"aria-orientation":u==="separator"&&(l!=="hr"||i==="vertical")?i:void 0,...b,children:s?f.jsx(Fm,{className:h.wrapper,ownerState:v,children:s}):null})});Sa&&(Sa.muiSkipListHighlight=!0);function Wm(t,e,o){const r=e.getBoundingClientRect(),n=o&&o.getBoundingClientRect(),s=me(e);let a;if(e.fakeTransform)a=e.fakeTransform;else{const c=s.getComputedStyle(e);a=c.getPropertyValue("-webkit-transform")||c.getPropertyValue("transform")}let i=0,l=0;if(a&&a!=="none"&&typeof a=="string"){const c=a.split("(")[1].split(")")[0].split(",");i=parseInt(c[4],10),l=parseInt(c[5],10)}return t==="left"?n?`translateX(${n.right+i-r.left}px)`:`translateX(${s.innerWidth+i-r.left}px)`:t==="right"?n?`translateX(-${r.right-n.left-i}px)`:`translateX(-${r.left+r.width-i}px)`:t==="up"?n?`translateY(${n.bottom+l-r.top}px)`:`translateY(${s.innerHeight+l-r.top}px)`:n?`translateY(-${r.top-n.top+r.height-l}px)`:`translateY(-${r.top+r.height-l}px)`}function Um(t){return typeof t=="function"?t():t}function jr(t,e,o){const r=Um(o),n=Wm(t,e,r);n&&(e.style.webkitTransform=n,e.style.transform=n)}const Hm=d.forwardRef(function(e,o){const r=le(),n={enter:r.transitions.easing.easeOut,exit:r.transitions.easing.sharp},s={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:a,appear:i=!0,children:l,container:c,direction:p="down",easing:u=n,in:m,onEnter:g,onEntered:b,onEntering:v,onExit:h,onExited:y,onExiting:S,style:C,timeout:x=s,TransitionComponent:w=Le,...P}=e,$=d.useRef(null),I=qt(io(l),$,o),A=D=>N=>{D&&(N===void 0?D($.current):D($.current,N))},T=A((D,N)=>{jr(p,D,c),mn(D),g&&g(D,N)}),z=A((D,N)=>{const J=Ge({timeout:x,style:C,easing:u},{mode:"enter"});D.style.webkitTransition=r.transitions.create("-webkit-transform",{...J}),D.style.transition=r.transitions.create("transform",{...J}),D.style.webkitTransform="none",D.style.transform="none",v&&v(D,N)}),E=A(b),R=A(S),M=A(D=>{const N=Ge({timeout:x,style:C,easing:u},{mode:"exit"});D.style.webkitTransition=r.transitions.create("-webkit-transform",N),D.style.transition=r.transitions.create("transform",N),jr(p,D,c),h&&h(D)}),O=A(D=>{D.style.webkitTransition="",D.style.transition="",y&&y(D)}),L=D=>{a&&a($.current,D)},F=d.useCallback(()=>{$.current&&jr(p,$.current,c)},[p,c]);return d.useEffect(()=>{if(m||p==="down"||p==="right")return;const D=Pr(()=>{$.current&&jr(p,$.current,c)}),N=me($.current);return N.addEventListener("resize",D),()=>{D.clear(),N.removeEventListener("resize",D)}},[p,m,c]),d.useEffect(()=>{m||F()},[m,F]),f.jsx(w,{nodeRef:$,onEnter:T,onEntered:E,onEntering:z,onExit:M,onExited:O,onExiting:R,addEndListener:L,appear:i,in:m,timeout:x,...P,children:(D,{ownerState:N,...J})=>d.cloneElement(l,{ref:I,style:{visibility:D==="exited"&&!m?"hidden":void 0,...C,...l.props.style},...J})})});function Vm(t){return V("MuiDrawer",t)}const Iw=K("MuiDrawer",["root","docked","paper","anchorLeft","anchorRight","anchorTop","anchorBottom","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]),Hi=(t,e)=>{const{ownerState:o}=t;return[e.root,(o.variant==="permanent"||o.variant==="persistent")&&e.docked,e.modal]},Gm=t=>{const{classes:e,anchor:o,variant:r}=t,n={root:["root",`anchor${B(o)}`],docked:[(r==="permanent"||r==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${B(o)}`,r!=="temporary"&&`paperAnchorDocked${B(o)}`]};return G(n,Vm,e)},Km=k(ks,{name:"MuiDrawer",slot:"Root",overridesResolver:Hi})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.drawer}))),qm=k("div",{shouldForwardProp:ae,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:Hi})({flex:"0 0 auto"}),Xm=k(Ue,{name:"MuiDrawer",slot:"Paper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.paper,e[`paperAnchor${B(o.anchor)}`],o.variant!=="temporary"&&e[`paperAnchorDocked${B(o.anchor)}`]]}})(W(({theme:t})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(t.vars||t).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,variants:[{props:{anchor:"left"},style:{left:0}},{props:{anchor:"top"},style:{top:0,left:0,right:0,height:"auto",maxHeight:"100%"}},{props:{anchor:"right"},style:{right:0}},{props:{anchor:"bottom"},style:{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"}},{props:({ownerState:e})=>e.anchor==="left"&&e.variant!=="temporary",style:{borderRight:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="top"&&e.variant!=="temporary",style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="right"&&e.variant!=="temporary",style:{borderLeft:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="bottom"&&e.variant!=="temporary",style:{borderTop:`1px solid ${(t.vars||t).palette.divider}`}}]}))),Vi={left:"right",right:"left",top:"down",bottom:"up"};function Ro(t){return["left","right"].includes(t)}function cr({direction:t},e){return t==="rtl"&&Ro(e)?Vi[e]:e}const _m=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiDrawer"}),n=le(),s=Ke(),a={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{anchor:i="left",BackdropProps:l,children:c,className:p,elevation:u=16,hideBackdrop:m=!1,ModalProps:{BackdropProps:g,...b}={},onClose:v,open:h=!1,PaperProps:y={},SlideProps:S,TransitionComponent:C,transitionDuration:x=a,variant:w="temporary",slots:P={},slotProps:$={},...I}=r,A=d.useRef(!1);d.useEffect(()=>{A.current=!0},[]);const T=cr({direction:s?"rtl":"ltr"},i),E={...r,anchor:i,elevation:u,open:h,variant:w,...I},R=Gm(E),M={slots:{transition:C,...P},slotProps:{paper:y,transition:S,...$,backdrop:Vo($.backdrop||{...l,...g},{transitionDuration:x})}},[O,L]=Q("root",{ref:o,elementType:Km,className:j(R.root,R.modal,p),shouldForwardComponentProp:!0,ownerState:E,externalForwardedProps:{...M,...I,...b},additionalProps:{open:h,onClose:v,hideBackdrop:m,slots:{backdrop:M.slots.backdrop},slotProps:{backdrop:M.slotProps.backdrop}}}),[F,D]=Q("paper",{elementType:Xm,shouldForwardComponentProp:!0,className:j(R.paper,y.className),ownerState:E,externalForwardedProps:M,additionalProps:{elevation:w==="temporary"?u:0,square:!0}}),[N,J]=Q("docked",{elementType:qm,ref:o,className:j(R.root,R.docked,p),ownerState:E,externalForwardedProps:M,additionalProps:I}),[U,wt]=Q("transition",{elementType:Hm,ownerState:E,externalForwardedProps:M,additionalProps:{in:h,direction:Vi[T],timeout:x,appear:A.current}}),vt=f.jsx(F,{...D,children:c});if(w==="permanent")return f.jsx(N,{...J,children:vt});const mt=f.jsx(U,{...wt,children:vt});return w==="persistent"?f.jsx(N,{...J,children:mt}):f.jsx(O,{...L,children:mt})});function Ym(t){return V("MuiFab",t)}const wa=K("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),Zm=t=>{const{color:e,variant:o,classes:r,size:n}=t,s={root:["root",o,`size${B(n)}`,e==="inherit"?"colorInherit":e]},a=G(s,Ym,r);return{...r,...a}},Qm=k(ue,{name:"MuiFab",slot:"Root",shouldForwardProp:t=>ae(t)||t==="classes",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${B(o.size)}`],o.color==="inherit"&&e.colorInherit,e[B(o.size)],e[o.color]]}})(W(({theme:t})=>{var e,o;return{...t.typography.button,minHeight:36,transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(t.vars||t).zIndex.fab,boxShadow:(t.vars||t).shadows[6],"&:active":{boxShadow:(t.vars||t).shadows[12]},color:t.vars?t.vars.palette.text.primary:(o=(e=t.palette).getContrastText)==null?void 0:o.call(e,t.palette.grey[300]),backgroundColor:(t.vars||t).palette.grey[300],"&:hover":{backgroundColor:(t.vars||t).palette.grey.A100,"@media (hover: none)":{backgroundColor:(t.vars||t).palette.grey[300]},textDecoration:"none"},[`&.${wa.focusVisible}`]:{boxShadow:(t.vars||t).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"}}]}}),W(({theme:t})=>({variants:[...Object.entries(t.palette).filter(jt(["dark","contrastText"])).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].contrastText,backgroundColor:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:(t.vars||t).palette[e].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[e].main}}}}))]})),W(({theme:t})=>({[`&.${wa.disabled}`]:{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).palette.action.disabledBackground}}))),Gi=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFab"}),{children:n,className:s,color:a="default",component:i="button",disabled:l=!1,disableFocusRipple:c=!1,focusVisibleClassName:p,size:u="large",variant:m="circular",...g}=r,b={...r,color:a,component:i,disabled:l,disableFocusRipple:c,size:u,variant:m},v=Zm(b);return f.jsx(Qm,{className:j(v.root,s),component:i,disabled:l,focusRipple:!c,focusVisibleClassName:j(v.focusVisible,p),ownerState:b,ref:o,...g,classes:v,children:n})}),Jm=t=>{const{classes:e,disableUnderline:o,startAdornment:r,endAdornment:n,size:s,hiddenLabel:a,multiline:i}=t,l={root:["root",!o&&"underline",r&&"adornedStart",n&&"adornedEnd",s==="small"&&`size${B(s)}`,a&&"hiddenLabel",i&&"multiline"],input:["input"]},c=G(l,Qu,e);return{...e,...c}},tb=k(Cn,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[...yn(t,e),!o.disableUnderline&&e.underline]}})(W(({theme:t})=>{const e=t.palette.mode==="light",o=e?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",r=e?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",n=e?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",s=e?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return{position:"relative",backgroundColor:t.vars?t.vars.palette.FilledInput.bg:r,borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),"&:hover":{backgroundColor:t.vars?t.vars.palette.FilledInput.hoverBg:n,"@media (hover: none)":{backgroundColor:t.vars?t.vars.palette.FilledInput.bg:r}},[`&.${Ie.focused}`]:{backgroundColor:t.vars?t.vars.palette.FilledInput.bg:r},[`&.${Ie.disabled}`]:{backgroundColor:t.vars?t.vars.palette.FilledInput.disabledBg:s},variants:[{props:({ownerState:a})=>!a.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ie.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ie.error}`]:{"&::before, &::after":{borderBottomColor:(t.vars||t).palette.error.main}},"&::before":{borderBottom:`1px solid ${t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / ${t.vars.opacity.inputUnderline})`:o}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:t.transitions.create("border-bottom-color",{duration:t.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ie.disabled}, .${Ie.error}):before`]:{borderBottom:`1px solid ${(t.vars||t).palette.text.primary}`},[`&.${Ie.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(t.palette).filter(jt()).map(([a])=>{var i;return{props:{disableUnderline:!1,color:a},style:{"&::after":{borderBottom:`2px solid ${(i=(t.vars||t).palette[a])==null?void 0:i.main}`}}}}),{props:({ownerState:a})=>a.startAdornment,style:{paddingLeft:12}},{props:({ownerState:a})=>a.endAdornment,style:{paddingRight:12}},{props:({ownerState:a})=>a.multiline,style:{padding:"25px 12px 8px"}},{props:({ownerState:a,size:i})=>a.multiline&&i==="small",style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:a})=>a.multiline&&a.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:a})=>a.multiline&&a.hiddenLabel&&a.size==="small",style:{paddingTop:8,paddingBottom:9}}]}})),eb=k(Sn,{name:"MuiFilledInput",slot:"Input",overridesResolver:xn})(W(({theme:t})=>({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12,...!t.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:t.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:t.palette.mode==="light"?null:"#fff",caretColor:t.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},...t.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[t.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:e})=>e.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:e})=>e.startAdornment,style:{paddingLeft:0}},{props:({ownerState:e})=>e.endAdornment,style:{paddingRight:0}},{props:({ownerState:e})=>e.hiddenLabel&&e.size==="small",style:{paddingTop:8,paddingBottom:9}},{props:({ownerState:e})=>e.multiline,style:{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0}}]}))),Is=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFilledInput"}),{disableUnderline:n=!1,components:s={},componentsProps:a,fullWidth:i=!1,hiddenLabel:l,inputComponent:c="input",multiline:p=!1,slotProps:u,slots:m={},type:g="text",...b}=r,v={...r,disableUnderline:n,fullWidth:i,inputComponent:c,multiline:p,type:g},h=Jm(r),y={root:{ownerState:v},input:{ownerState:v}},S=u??a?Sr(y,u??a):y,C=m.root??s.Root??tb,x=m.input??s.Input??eb;return f.jsx(wn,{slots:{root:C,input:x},slotProps:S,fullWidth:i,inputComponent:c,multiline:p,ref:o,type:g,...b,classes:h})});Is.muiName="Input";function ob(t){return V("MuiFormControl",t)}const Tw=K("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]),rb=t=>{const{classes:e,margin:o,fullWidth:r}=t,n={root:["root",o!=="none"&&`margin${B(o)}`,r&&"fullWidth"]};return G(n,ob,e)},nb=k("div",{name:"MuiFormControl",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`margin${B(o.margin)}`],o.fullWidth&&e.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%"}}]}),sb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormControl"}),{children:n,className:s,color:a="primary",component:i="div",disabled:l=!1,error:c=!1,focused:p,fullWidth:u=!1,hiddenLabel:m=!1,margin:g="none",required:b=!1,size:v="medium",variant:h="outlined",...y}=r,S={...r,color:a,component:i,disabled:l,error:c,fullWidth:u,hiddenLabel:m,margin:g,required:b,size:v,variant:h},C=rb(S),[x,w]=d.useState(()=>{let O=!1;return n&&d.Children.forEach(n,L=>{if(!ho(L,["Input","Select"]))return;const F=ho(L,["Select"])?L.props.input:L;F&&qu(F.props)&&(O=!0)}),O}),[P,$]=d.useState(()=>{let O=!1;return n&&d.Children.forEach(n,L=>{ho(L,["Input","Select"])&&(an(L.props,!0)||an(L.props.inputProps,!0))&&(O=!0)}),O}),[I,A]=d.useState(!1);l&&I&&A(!1);const T=p!==void 0&&!l?p:I;let z;d.useRef(!1);const E=d.useCallback(()=>{$(!0)},[]),R=d.useCallback(()=>{$(!1)},[]),M=d.useMemo(()=>({adornedStart:x,setAdornedStart:w,color:a,disabled:l,error:c,filled:P,focused:T,fullWidth:u,hiddenLabel:m,size:v,onBlur:()=>{A(!1)},onFocus:()=>{A(!0)},onEmpty:R,onFilled:E,registerEffect:z,required:b,variant:h}),[x,a,l,c,P,T,u,m,z,R,E,b,v,h]);return f.jsx(hn.Provider,{value:M,children:f.jsx(nb,{as:i,ownerState:S,className:j(C.root,s),ref:o,...y,children:n})})});function ab(t){return V("MuiFormControlLabel",t)}const pr=K("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),ib=t=>{const{classes:e,disabled:o,labelPlacement:r,error:n,required:s}=t,a={root:["root",o&&"disabled",`labelPlacement${B(r)}`,n&&"error",s&&"required"],label:["label",o&&"disabled"],asterisk:["asterisk",n&&"error"]};return G(a,ab,e)},lb=k("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${pr.label}`]:e.label},e.root,e[`labelPlacement${B(o.labelPlacement)}`]]}})(W(({theme:t})=>({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${pr.disabled}`]:{cursor:"default"},[`& .${pr.label}`]:{[`&.${pr.disabled}`]:{color:(t.vars||t).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:e})=>e==="start"||e==="top"||e==="bottom",style:{marginLeft:16}}]}))),cb=k("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(t,e)=>e.asterisk})(W(({theme:t})=>({[`&.${pr.error}`]:{color:(t.vars||t).palette.error.main}}))),Mw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormControlLabel"}),{checked:n,className:s,componentsProps:a={},control:i,disabled:l,disableTypography:c,inputRef:p,label:u,labelPlacement:m="end",name:g,onChange:b,required:v,slots:h={},slotProps:y={},value:S,...C}=r,x=He(),w=l??i.props.disabled??(x==null?void 0:x.disabled),P=v??i.props.required,$={disabled:w,required:P};["checked","name","onChange","value","inputRef"].forEach(O=>{typeof i.props[O]>"u"&&typeof r[O]<"u"&&($[O]=r[O])});const I=lo({props:r,muiFormControl:x,states:["error"]}),A={...r,disabled:w,labelPlacement:m,required:P,error:I.error},T=ib(A),z={slots:h,slotProps:{...a,...y}},[E,R]=Q("typography",{elementType:he,externalForwardedProps:z,ownerState:A});let M=u;return M!=null&&M.type!==he&&!c&&(M=f.jsx(E,{component:"span",...R,className:j(T.label,R==null?void 0:R.className),children:M})),f.jsxs(lb,{className:j(T.root,s),ownerState:A,ref:o,...C,children:[d.cloneElement(i,$),P?f.jsxs("div",{children:[M,f.jsxs(cb,{ownerState:A,"aria-hidden":!0,className:T.asterisk,children:[" ","*"]})]}):M]})});function pb(t){return V("MuiFormGroup",t)}const Lw=K("MuiFormGroup",["root","row","error"]),db=t=>{const{classes:e,row:o,error:r}=t;return G({root:["root",o&&"row",r&&"error"]},pb,e)},ub=k("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.row&&e.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),fb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormGroup"}),{className:n,row:s=!1,...a}=r,i=He(),l=lo({props:r,muiFormControl:i,states:["error"]}),c={...r,row:s,error:l.error},p=db(c);return f.jsx(ub,{className:j(p.root,n),ownerState:c,ref:o,...a})});function gb(t){return V("MuiFormHelperText",t)}const Ra=K("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var Pa;const mb=t=>{const{classes:e,contained:o,size:r,disabled:n,error:s,filled:a,focused:i,required:l}=t,c={root:["root",n&&"disabled",s&&"error",r&&`size${B(r)}`,o&&"contained",i&&"focused",a&&"filled",l&&"required"]};return G(c,gb,e)},bb=k("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.size&&e[`size${B(o.size)}`],o.contained&&e.contained,o.filled&&e.filled]}})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,...t.typography.caption,textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${Ra.disabled}`]:{color:(t.vars||t).palette.text.disabled},[`&.${Ra.error}`]:{color:(t.vars||t).palette.error.main},variants:[{props:{size:"small"},style:{marginTop:4}},{props:({ownerState:e})=>e.contained,style:{marginLeft:14,marginRight:14}}]}))),vb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormHelperText"}),{children:n,className:s,component:a="p",disabled:i,error:l,filled:c,focused:p,margin:u,required:m,variant:g,...b}=r,v=He(),h=lo({props:r,muiFormControl:v,states:["variant","size","disabled","error","filled","focused","required"]}),y={...r,component:a,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 y.ownerState;const S=mb(y);return f.jsx(bb,{as:a,className:j(S.root,s),ref:o,...b,ownerState:y,children:n===" "?Pa||(Pa=f.jsx("span",{className:"notranslate","aria-hidden":!0,children:"​"})):n})});function hb(t){return V("MuiFormLabel",t)}const gr=K("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),yb=t=>{const{classes:e,color:o,focused:r,disabled:n,error:s,filled:a,required:i}=t,l={root:["root",`color${B(o)}`,n&&"disabled",s&&"error",a&&"filled",r&&"focused",i&&"required"],asterisk:["asterisk",s&&"error"]};return G(l,hb,e)},xb=k("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color==="secondary"&&e.colorSecondary,o.filled&&e.filled]}})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,...t.typography.body1,lineHeight:"1.4375em",padding:0,position:"relative",variants:[...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{[`&.${gr.focused}`]:{color:(t.vars||t).palette[e].main}}})),{props:{},style:{[`&.${gr.disabled}`]:{color:(t.vars||t).palette.text.disabled},[`&.${gr.error}`]:{color:(t.vars||t).palette.error.main}}}]}))),Cb=k("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(t,e)=>e.asterisk})(W(({theme:t})=>({[`&.${gr.error}`]:{color:(t.vars||t).palette.error.main}}))),Sb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiFormLabel"}),{children:n,className:s,color:a,component:i="label",disabled:l,error:c,filled:p,focused:u,required:m,...g}=r,b=He(),v=lo({props:r,muiFormControl:b,states:["color","required","focused","disabled","error","filled"]}),h={...r,color:v.color||"primary",component:i,disabled:v.disabled,error:v.error,filled:v.filled,focused:v.focused,required:v.required},y=yb(h);return f.jsxs(xb,{as:i,ownerState:h,className:j(y.root,s),ref:o,...g,children:[n,v.required&&f.jsxs(Cb,{ownerState:h,"aria-hidden":!0,className:y.asterisk,children:[" ","*"]})]})}),$a=d.createContext();function wb(t){return V("MuiGrid",t)}const Rb=[0,1,2,3,4,5,6,7,8,9,10],Pb=["column-reverse","column","row-reverse","row"],$b=["nowrap","wrap-reverse","wrap"],Jo=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],xr=K("MuiGrid",["root","container","item","zeroMinWidth",...Rb.map(t=>`spacing-xs-${t}`),...Pb.map(t=>`direction-xs-${t}`),...$b.map(t=>`wrap-xs-${t}`),...Jo.map(t=>`grid-xs-${t}`),...Jo.map(t=>`grid-sm-${t}`),...Jo.map(t=>`grid-md-${t}`),...Jo.map(t=>`grid-lg-${t}`),...Jo.map(t=>`grid-xl-${t}`)]);function kb({theme:t,ownerState:e}){let o;return t.breakpoints.keys.reduce((r,n)=>{let s={};if(e[n]&&(o=e[n]),!o)return r;if(o===!0)s={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(o==="auto")s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const a=Io({values:e.columns,breakpoints:t.breakpoints.values}),i=typeof a=="object"?a[n]:a;if(i==null)return r;const l=`${Math.round(o/i*1e8)/1e6}%`;let c={};if(e.container&&e.item&&e.columnSpacing!==0){const p=t.spacing(e.columnSpacing);if(p!=="0px"){const u=`calc(${l} + ${p})`;c={flexBasis:u,maxWidth:u}}}s={flexBasis:l,flexGrow:0,maxWidth:l,...c}}return t.breakpoints.values[n]===0?Object.assign(r,s):r[t.breakpoints.up(n)]=s,r},{})}function Ib({theme:t,ownerState:e}){const o=Io({values:e.direction,breakpoints:t.breakpoints.values});return br({theme:t},o,r=>{const n={flexDirection:r};return r.startsWith("column")&&(n[`& > .${xr.item}`]={maxWidth:"none"}),n})}function Ki({breakpoints:t,values:e}){let o="";Object.keys(e).forEach(n=>{o===""&&e[n]!==0&&(o=n)});const r=Object.keys(t).sort((n,s)=>t[n]-t[s]);return r.slice(0,r.indexOf(o))}function Tb({theme:t,ownerState:e}){const{container:o,rowSpacing:r}=e;let n={};if(o&&r!==0){const s=Io({values:r,breakpoints:t.breakpoints.values});let a;typeof s=="object"&&(a=Ki({breakpoints:t.breakpoints.values,values:s})),n=br({theme:t},s,(i,l)=>{const c=t.spacing(i);return c!=="0px"?{marginTop:`calc(-1 * ${c})`,[`& > .${xr.item}`]:{paddingTop:c}}:a!=null&&a.includes(l)?{}:{marginTop:0,[`& > .${xr.item}`]:{paddingTop:0}}})}return n}function Mb({theme:t,ownerState:e}){const{container:o,columnSpacing:r}=e;let n={};if(o&&r!==0){const s=Io({values:r,breakpoints:t.breakpoints.values});let a;typeof s=="object"&&(a=Ki({breakpoints:t.breakpoints.values,values:s})),n=br({theme:t},s,(i,l)=>{const c=t.spacing(i);if(c!=="0px"){const p=`calc(-1 * ${c})`;return{width:`calc(100% + ${c})`,marginLeft:p,[`& > .${xr.item}`]:{paddingLeft:c}}}return a!=null&&a.includes(l)?{}:{width:"100%",marginLeft:0,[`& > .${xr.item}`]:{paddingLeft:0}}})}return n}function Lb(t,e,o={}){if(!t||t<=0)return[];if(typeof t=="string"&&!Number.isNaN(Number(t))||typeof t=="number")return[o[`spacing-xs-${String(t)}`]];const r=[];return e.forEach(n=>{const s=t[n];Number(s)>0&&r.push(o[`spacing-${n}-${String(s)}`])}),r}const Ab=k("div",{name:"MuiGrid",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{container:r,direction:n,item:s,spacing:a,wrap:i,zeroMinWidth:l,breakpoints:c}=o;let p=[];r&&(p=Lb(a,c,e));const u=[];return c.forEach(m=>{const g=o[m];g&&u.push(e[`grid-${m}-${String(g)}`])}),[e.root,r&&e.container,s&&e.item,l&&e.zeroMinWidth,...p,n!=="row"&&e[`direction-xs-${String(n)}`],i!=="wrap"&&e[`wrap-xs-${String(i)}`],...u]}})(({ownerState:t})=>({boxSizing:"border-box",...t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},...t.item&&{margin:0},...t.zeroMinWidth&&{minWidth:0},...t.wrap!=="wrap"&&{flexWrap:t.wrap}}),Ib,Tb,Mb,kb);function Bb(t,e){if(!t||t<=0)return[];if(typeof t=="string"&&!Number.isNaN(Number(t))||typeof t=="number")return[`spacing-xs-${String(t)}`];const o=[];return e.forEach(r=>{const n=t[r];if(Number(n)>0){const s=`spacing-${r}-${String(n)}`;o.push(s)}}),o}const Eb=t=>{const{classes:e,container:o,direction:r,item:n,spacing:s,wrap:a,zeroMinWidth:i,breakpoints:l}=t;let c=[];o&&(c=Bb(s,l));const p=[];l.forEach(m=>{const g=t[m];g&&p.push(`grid-${m}-${String(g)}`)});const u={root:["root",o&&"container",n&&"item",i&&"zeroMinWidth",...c,r!=="row"&&`direction-xs-${String(r)}`,a!=="wrap"&&`wrap-xs-${String(a)}`,...p]};return G(u,wb,e)},Aw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiGrid"}),{breakpoints:n}=le(),s=Rr(r),{className:a,columns:i,columnSpacing:l,component:c="div",container:p=!1,direction:u="row",item:m=!1,rowSpacing:g,spacing:b=0,wrap:v="wrap",zeroMinWidth:h=!1,...y}=s,S=g||b,C=l||b,x=d.useContext($a),w=p?i||12:x,P={},$={...y};n.keys.forEach(T=>{y[T]!=null&&(P[T]=y[T],delete $[T])});const I={...s,columns:w,container:p,direction:u,item:m,rowSpacing:S,columnSpacing:C,wrap:v,zeroMinWidth:h,spacing:b,...P,breakpoints:n.keys},A=Eb(I);return f.jsx($a.Provider,{value:w,children:f.jsx(Ab,{ownerState:I,className:j(A.root,a),as:c,ref:o,...$})})}),Bw=yc({createStyledComponent:k("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.container&&e.container]}}),componentName:"MuiGrid2",useThemeProps:t=>_({props:t,name:"MuiGrid2"}),useTheme:le});function Ew(t){return V("MuiGrid2",t)}const Ob=[0,1,2,3,4,5,6,7,8,9,10],Nb=["column-reverse","column","row-reverse","row"],zb=["nowrap","wrap-reverse","wrap"],tr=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Ow=K("MuiGrid2",["root","container",...Ob.map(t=>`spacing-xs-${t}`),...Nb.map(t=>`direction-xs-${t}`),...zb.map(t=>`wrap-xs-${t}`),...tr.map(t=>`grid-xs-${t}`),...tr.map(t=>`grid-sm-${t}`),...tr.map(t=>`grid-md-${t}`),...tr.map(t=>`grid-lg-${t}`),...tr.map(t=>`grid-xl-${t}`)]);function os(t){return`scale(${t}, ${t**2})`}const jb={entering:{opacity:1,transform:os(1)},entered:{opacity:1,transform:"none"}},Bn=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),Cr=d.forwardRef(function(e,o){const{addEndListener:r,appear:n=!0,children:s,easing:a,in:i,onEnter:l,onEntered:c,onEntering:p,onExit:u,onExited:m,onExiting:g,style:b,timeout:v="auto",TransitionComponent:h=Le,...y}=e,S=no(),C=d.useRef(),x=le(),w=d.useRef(null),P=qt(w,io(s),o),$=O=>L=>{if(O){const F=w.current;L===void 0?O(F):O(F,L)}},I=$(p),A=$((O,L)=>{mn(O);const{duration:F,delay:D,easing:N}=Ge({style:b,timeout:v,easing:a},{mode:"enter"});let J;v==="auto"?(J=x.transitions.getAutoHeightDuration(O.clientHeight),C.current=J):J=F,O.style.transition=[x.transitions.create("opacity",{duration:J,delay:D}),x.transitions.create("transform",{duration:Bn?J:J*.666,delay:D,easing:N})].join(","),l&&l(O,L)}),T=$(c),z=$(g),E=$(O=>{const{duration:L,delay:F,easing:D}=Ge({style:b,timeout:v,easing:a},{mode:"exit"});let N;v==="auto"?(N=x.transitions.getAutoHeightDuration(O.clientHeight),C.current=N):N=L,O.style.transition=[x.transitions.create("opacity",{duration:N,delay:F}),x.transitions.create("transform",{duration:Bn?N:N*.666,delay:Bn?F:F||N*.333,easing:D})].join(","),O.style.opacity=0,O.style.transform=os(.75),u&&u(O)}),R=$(m),M=O=>{v==="auto"&&S.start(C.current||0,O),r&&r(w.current,O)};return f.jsx(h,{appear:n,in:i,nodeRef:w,onEnter:A,onEntered:T,onEntering:I,onExit:E,onExited:R,onExiting:z,addEndListener:M,timeout:v==="auto"?null:v,...y,children:(O,{ownerState:L,...F})=>d.cloneElement(s,{style:{opacity:0,transform:os(.75),visibility:O==="exited"&&!i?"hidden":void 0,...jb[O],...b,...s.props.style},ref:P,...F})})});Cr&&(Cr.muiSupportAuto=!0);const Db=ui({themeId:pn}),bo=["xs","sm","md","lg","xl"],Fb=(t,e,o=!0)=>o?bo.indexOf(t)<=bo.indexOf(e):bo.indexOf(t)o?bo.indexOf(e)<=bo.indexOf(t):bo.indexOf(e)e=>{const{withTheme:o=!1,noSSR:r=!1,initialWidth:n}=t;function s(a){const i=le(),l=a.theme||i,{initialWidth:c,width:p,...u}=fs({theme:l,name:"MuiWithWidth",props:a}),[m,g]=d.useState(!1);be(()=>{g(!0)},[]);const v=l.breakpoints.keys.slice().reverse().reduce((y,S)=>{const C=Db(l.breakpoints.up(S));return!y&&C?S:y},null),h={width:p||(m||r?v:void 0)||c||n,...o?{theme:l}:{},...u};return h.width===void 0?null:f.jsx(e,{...h})}return s};function qi(t){const{children:e,only:o,width:r}=t,n=le();let s=!0;if(o)if(Array.isArray(o))for(let a=0;a{const{classes:e,breakpoints:o}=t,r={root:["root",...o.map(({breakpoint:n,dir:s})=>s==="only"?`${s}${B(n)}`:`${n}${B(s)}`)]};return G(r,Vb,e)},Kb=k("div",{name:"PrivateHiddenCss",slot:"Root"})(({theme:t,ownerState:e})=>{const o={display:"none"};return{...e.breakpoints.map(({breakpoint:r,dir:n})=>n==="only"?{[t.breakpoints.only(r)]:o}:n==="up"?{[t.breakpoints.up(r)]:o}:{[t.breakpoints.down(r)]:o}).reduce((r,n)=>(Object.keys(n).forEach(s=>{r[s]=n[s]}),r),{})}});function qb(t){const{children:e,className:o,only:r,...n}=t,s=le(),a=[];for(let c=0;c{a.push({breakpoint:p,dir:"only"})});const i={...t,breakpoints:a},l=Gb(i);return f.jsx(Kb,{className:j(l.root,o),ownerState:i,children:e})}function Nw(t){const{implementation:e="js",lgDown:o=!1,lgUp:r=!1,mdDown:n=!1,mdUp:s=!1,smDown:a=!1,smUp:i=!1,xlDown:l=!1,xlUp:c=!1,xsDown:p=!1,xsUp:u=!1,...m}=t;return e==="js"?f.jsx(Hb,{lgDown:o,lgUp:r,mdDown:n,mdUp:s,smDown:a,smUp:i,xlDown:l,xlUp:c,xsDown:p,xsUp:u,...m}):f.jsx(qb,{lgDown:o,lgUp:r,mdDown:n,mdUp:s,smDown:a,smUp:i,xlDown:l,xlUp:c,xsDown:p,xsUp:u,...m})}function Xb(t){return V("MuiIcon",t)}const zw=K("MuiIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]),_b=t=>{const{color:e,fontSize:o,classes:r}=t,n={root:["root",e!=="inherit"&&`color${B(e)}`,`fontSize${B(o)}`]};return G(n,Xb,r)},Yb=k("span",{name:"MuiIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color!=="inherit"&&e[`color${B(o.color)}`],e[`fontSize${B(o.fontSize)}`]]}})(W(({theme:t})=>({userSelect:"none",width:"1em",height:"1em",overflow:"hidden",display:"inline-block",textAlign:"center",flexShrink:0,variants:[{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:t.typography.pxToRem(20)}},{props:{fontSize:"medium"},style:{fontSize:t.typography.pxToRem(24)}},{props:{fontSize:"large"},style:{fontSize:t.typography.pxToRem(36)}},{props:{color:"action"},style:{color:(t.vars||t).palette.action.active}},{props:{color:"disabled"},style:{color:(t.vars||t).palette.action.disabled}},{props:{color:"inherit"},style:{color:void 0}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}}))]}))),Zb=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiIcon"}),{baseClassName:n="material-icons",className:s,color:a="inherit",component:i="span",fontSize:l="medium",...c}=r,p={...r,baseClassName:n,color:a,component:i,fontSize:l},u=_b(p);return f.jsx(Yb,{as:i,className:j(n,"notranslate",u.root,s),ownerState:p,"aria-hidden":!0,ref:o,...c})});Zb.muiName="Icon";function Qb(t){return V("MuiImageList",t)}const jw=K("MuiImageList",["root","masonry","quilted","standard","woven"]),Xi=d.createContext({}),Jb=t=>{const{classes:e,variant:o}=t;return G({root:["root",o]},Qb,e)},tv=k("ul",{name:"MuiImageList",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant]]}})({display:"grid",overflowY:"auto",listStyle:"none",padding:0,WebkitOverflowScrolling:"touch",variants:[{props:{variant:"masonry"},style:{display:"block"}}]}),Dw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiImageList"}),{children:n,className:s,cols:a=2,component:i="ul",rowHeight:l="auto",gap:c=4,style:p,variant:u="standard",...m}=r,g=d.useMemo(()=>({rowHeight:l,gap:c,variant:u}),[l,c,u]),b=u==="masonry"?{columnCount:a,columnGap:c,...p}:{gridTemplateColumns:`repeat(${a}, 1fr)`,gap:c,...p},v={...r,component:i,gap:c,rowHeight:l,variant:u},h=Jb(v);return f.jsx(tv,{as:i,className:j(h.root,h[u],s),ref:o,style:b,ownerState:v,...m,children:f.jsx(Xi.Provider,{value:g,children:n})})});function ev(t){return V("MuiImageListItem",t)}const En=K("MuiImageListItem",["root","img","standard","woven","masonry","quilted"]),ov=t=>{const{classes:e,variant:o}=t;return G({root:["root",o],img:["img"]},ev,e)},rv=k("li",{name:"MuiImageListItem",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${En.img}`]:e.img},e.root,e[o.variant]]}})({display:"block",position:"relative",[`& .${En.img}`]:{objectFit:"cover",width:"100%",height:"100%",display:"block"},variants:[{props:{variant:"standard"},style:{display:"flex",flexDirection:"column"}},{props:{variant:"woven"},style:{height:"100%",alignSelf:"center","&:nth-of-type(even)":{height:"70%"}}},{props:{variant:"standard"},style:{[`& .${En.img}`]:{height:"auto",flexGrow:1}}}]}),Fw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiImageListItem"}),{children:n,className:s,cols:a=1,component:i="li",rows:l=1,style:c,...p}=r,{rowHeight:u="auto",gap:m,variant:g}=d.useContext(Xi);let b="auto";g==="woven"?b=void 0:u!=="auto"&&(b=u*l+m*(l-1));const v={...r,cols:a,component:i,gap:m,rowHeight:u,rows:l,variant:g},h=ov(v);return f.jsx(rv,{as:i,className:j(h.root,h[g],s),ref:o,style:{height:b,gridColumnEnd:g!=="masonry"?`span ${a}`:void 0,gridRowEnd:g!=="masonry"?`span ${l}`:void 0,marginBottom:g==="masonry"?m:void 0,breakInside:g==="masonry"?"avoid":void 0,...c},ownerState:v,...p,children:d.Children.map(n,y=>d.isValidElement(y)?y.type==="img"||ho(y,["Image"])?d.cloneElement(y,{className:j(h.img,y.props.className)}):y:null)})});function nv(t){return V("MuiImageListItemBar",t)}const Ww=K("MuiImageListItemBar",["root","positionBottom","positionTop","positionBelow","actionPositionLeft","actionPositionRight","titleWrap","titleWrapBottom","titleWrapTop","titleWrapBelow","titleWrapActionPosLeft","titleWrapActionPosRight","title","subtitle","actionIcon","actionIconActionPosLeft","actionIconActionPosRight"]),sv=t=>{const{classes:e,position:o,actionIcon:r,actionPosition:n}=t,s={root:["root",`position${B(o)}`,`actionPosition${B(n)}`],titleWrap:["titleWrap",`titleWrap${B(o)}`,r&&`titleWrapActionPos${B(n)}`],title:["title"],subtitle:["subtitle"],actionIcon:["actionIcon",`actionIconActionPos${B(n)}`]};return G(s,nv,e)},av=k("div",{name:"MuiImageListItemBar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${B(o.position)}`]]}})(W(({theme:t})=>({position:"absolute",left:0,right:0,background:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",fontFamily:t.typography.fontFamily,variants:[{props:{position:"bottom"},style:{bottom:0}},{props:{position:"top"},style:{top:0}},{props:{position:"below"},style:{position:"relative",background:"transparent",alignItems:"normal"}}]}))),iv=k("div",{name:"MuiImageListItemBar",slot:"TitleWrap",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.titleWrap,e[`titleWrap${B(o.position)}`],o.actionIcon&&e[`titleWrapActionPos${B(o.actionPosition)}`]]}})(W(({theme:t})=>({flexGrow:1,padding:"12px 16px",color:(t.vars||t).palette.common.white,overflow:"hidden",variants:[{props:{position:"below"},style:{padding:"6px 0 12px",color:"inherit"}},{props:({ownerState:e})=>e.actionIcon&&e.actionPosition==="left",style:{paddingLeft:0}},{props:({ownerState:e})=>e.actionIcon&&e.actionPosition==="right",style:{paddingRight:0}}]}))),lv=k("div",{name:"MuiImageListItemBar",slot:"Title",overridesResolver:(t,e)=>e.title})(W(({theme:t})=>({fontSize:t.typography.pxToRem(16),lineHeight:"24px",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),cv=k("div",{name:"MuiImageListItemBar",slot:"Subtitle",overridesResolver:(t,e)=>e.subtitle})(W(({theme:t})=>({fontSize:t.typography.pxToRem(12),lineHeight:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),pv=k("div",{name:"MuiImageListItemBar",slot:"ActionIcon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.actionIcon,e[`actionIconActionPos${B(o.actionPosition)}`]]}})({variants:[{props:{actionPosition:"left"},style:{order:-1}}]}),Uw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiImageListItemBar"}),{actionIcon:n,actionPosition:s="right",className:a,subtitle:i,title:l,position:c="bottom",...p}=r,u={...r,position:c,actionPosition:s},m=sv(u);return f.jsxs(av,{ownerState:u,className:j(m.root,a),ref:o,...p,children:[f.jsxs(iv,{ownerState:u,className:m.titleWrap,children:[f.jsx(lv,{className:m.title,children:l}),i?f.jsx(cv,{className:m.subtitle,children:i}):null]}),n?f.jsx(pv,{ownerState:u,className:m.actionIcon,children:n}):null]})}),dv=t=>{const{classes:e,disableUnderline:o}=t,n=G({root:["root",!o&&"underline"],input:["input"]},Yu,e);return{...e,...n}},uv=k(Cn,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiInput",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[...yn(t,e),!o.disableUnderline&&e.underline]}})(W(({theme:t})=>{let o=t.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return t.vars&&(o=`rgba(${t.vars.palette.common.onBackgroundChannel} / ${t.vars.opacity.inputUnderline})`),{position:"relative",variants:[{props:({ownerState:r})=>r.formControl,style:{"label + &":{marginTop:16}}},{props:({ownerState:r})=>!r.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${mo.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${mo.error}`]:{"&::before, &::after":{borderBottomColor:(t.vars||t).palette.error.main}},"&::before":{borderBottom:`1px solid ${o}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:t.transitions.create("border-bottom-color",{duration:t.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${mo.disabled}, .${mo.error}):before`]:{borderBottom:`2px solid ${(t.vars||t).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${o}`}},[`&.${mo.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(t.palette).filter(jt()).map(([r])=>({props:{color:r,disableUnderline:!1},style:{"&::after":{borderBottom:`2px solid ${(t.vars||t).palette[r].main}`}}}))]}})),fv=k(Sn,{name:"MuiInput",slot:"Input",overridesResolver:xn})({}),Rn=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiInput"}),{disableUnderline:n=!1,components:s={},componentsProps:a,fullWidth:i=!1,inputComponent:l="input",multiline:c=!1,slotProps:p,slots:u={},type:m="text",...g}=r,b=dv(r),h={root:{ownerState:{disableUnderline:n}}},y=p??a?Sr(p??a,h):h,S=u.root??s.Root??uv,C=u.input??s.Input??fv;return f.jsx(wn,{slots:{root:S,input:C},slotProps:y,fullWidth:i,inputComponent:l,multiline:c,ref:o,type:m,...g,classes:b})});Rn.muiName="Input";function gv(t){return V("MuiInputAdornment",t)}const ka=K("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]);var Ia;const mv=(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${B(o.position)}`],o.disablePointerEvents===!0&&e.disablePointerEvents,e[o.variant]]},bv=t=>{const{classes:e,disablePointerEvents:o,hiddenLabel:r,position:n,size:s,variant:a}=t,i={root:["root",o&&"disablePointerEvents",n&&`position${B(n)}`,a,r&&"hiddenLabel",s&&`size${B(s)}`]};return G(i,gv,e)},vv=k("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:mv})(W(({theme:t})=>({display:"flex",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(t.vars||t).palette.action.active,variants:[{props:{variant:"filled"},style:{[`&.${ka.positionStart}&:not(.${ka.hiddenLabel})`]:{marginTop:16}}},{props:{position:"start"},style:{marginRight:8}},{props:{position:"end"},style:{marginLeft:8}},{props:{disablePointerEvents:!0},style:{pointerEvents:"none"}}]}))),Hw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiInputAdornment"}),{children:n,className:s,component:a="div",disablePointerEvents:i=!1,disableTypography:l=!1,position:c,variant:p,...u}=r,m=He()||{};let g=p;p&&m.variant,m&&!g&&(g=m.variant);const b={...r,hiddenLabel:m.hiddenLabel,size:m.size,disablePointerEvents:i,position:c,variant:g},v=bv(b);return f.jsx(hn.Provider,{value:null,children:f.jsx(vv,{as:a,ownerState:b,className:j(v.root,s),ref:o,...u,children:typeof n=="string"&&!l?f.jsx(he,{color:"textSecondary",children:n}):f.jsxs(d.Fragment,{children:[c==="start"?Ia||(Ia=f.jsx("span",{className:"notranslate","aria-hidden":!0,children:"​"})):null,n]})})})});function hv(t){return V("MuiInputLabel",t)}const Vw=K("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]),yv=t=>{const{classes:e,formControl:o,size:r,shrink:n,disableAnimation:s,variant:a,required:i}=t,l={root:["root",o&&"formControl",!s&&"animated",n&&"shrink",r&&r!=="normal"&&`size${B(r)}`,a],asterisk:[i&&"asterisk"]},c=G(l,hv,e);return{...e,...c}},xv=k(Sb,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${gr.asterisk}`]:e.asterisk},e.root,o.formControl&&e.formControl,o.size==="small"&&e.sizeSmall,o.shrink&&e.shrink,!o.disableAnimation&&e.animated,o.focused&&e.focused,e[o.variant]]}})(W(({theme:t})=>({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",variants:[{props:({ownerState:e})=>e.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:e})=>e.shrink,style:{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"}},{props:({ownerState:e})=>!e.disableAnimation,style:{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.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:e,ownerState:o})=>e==="filled"&&o.shrink,style:{userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"}},{props:({variant:e,ownerState:o,size:r})=>e==="filled"&&o.shrink&&r==="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:e,ownerState:o})=>e==="outlined"&&o.shrink,style:{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}}]}))),Cv=d.forwardRef(function(e,o){const r=_({name:"MuiInputLabel",props:e}),{disableAnimation:n=!1,margin:s,shrink:a,variant:i,className:l,...c}=r,p=He();let u=a;typeof u>"u"&&p&&(u=p.filled||p.focused||p.adornedStart);const m=lo({props:r,muiFormControl:p,states:["size","variant","required","focused"]}),g={...r,disableAnimation:n,formControl:p,shrink:u,size:m.size,variant:m.variant,required:m.required,focused:m.focused},b=yv(g);return f.jsx(xv,{"data-shrink":u,ref:o,className:j(b.root,l),...c,ownerState:g,classes:b})});function Sv(t){return V("MuiLinearProgress",t)}const Gw=K("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","bar1","bar2","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]),rs=4,ns=Je` 0% { left: -35%; right: 100%; @@ -117,9 +117,9 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a left: 100%; right: -90%; } -`,wv=typeof ss!="string"?No` - animation: ${ss} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - `:null,as=Je` +`,wv=typeof ns!="string"?Oo` + animation: ${ns} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; + `:null,ss=Je` 0% { left: -200%; right: 100%; @@ -134,9 +134,9 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a left: 107%; right: -8%; } -`,Rv=typeof as!="string"?No` - animation: ${as} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; - `:null,is=Je` +`,Rv=typeof ss!="string"?Oo` + animation: ${ss} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; + `:null,as=Je` 0% { opacity: 1; background-position: 0 -23px; @@ -151,9 +151,9 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a opacity: 1; background-position: -200px -23px; } -`,Pv=typeof is!="string"?No` - animation: ${is} 3s infinite linear; - `:null,$v=t=>{const{classes:e,variant:o,color:r}=t,n={root:["root",`color${B(r)}`,o],dashed:["dashed",`dashedColor${B(r)}`],bar1:["bar","bar1",`barColor${B(r)}`,(o==="indeterminate"||o==="query")&&"bar1Indeterminate",o==="determinate"&&"bar1Determinate",o==="buffer"&&"bar1Buffer"],bar2:["bar","bar2",o!=="buffer"&&`barColor${B(r)}`,o==="buffer"&&`color${B(r)}`,(o==="indeterminate"||o==="query")&&"bar2Indeterminate",o==="buffer"&&"bar2Buffer"]};return G(n,Sv,e)},Ms=(t,e)=>t.vars?t.vars.palette.LinearProgress[`${e}Bg`]:t.palette.mode==="light"?Bo(t.palette[e].main,.62):Ao(t.palette[e].main,.5),kv=k("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`color${B(o.color)}`],e[o.variant]]}})(W(({theme:t})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{backgroundColor:Ms(t,e)}})),{props:({ownerState:e})=>e.color==="inherit"&&e.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)"}}]}))),Iv=k("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.dashed,e[`dashedColor${B(o.color)}`]]}})(W(({theme:t})=>({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(t.palette).filter(jt()).map(([e])=>{const o=Ms(t,e);return{props:{color:e},style:{backgroundImage:`radial-gradient(${o} 0%, ${o} 16%, transparent 42%)`}}})]})),Pv||{animation:`${is} 3s infinite linear`}),Tv=k("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.bar,e.bar1,e[`barColor${B(o.color)}`],(o.variant==="indeterminate"||o.variant==="query")&&e.bar1Indeterminate,o.variant==="determinate"&&e.bar1Determinate,o.variant==="buffer"&&e.bar1Buffer]}})(W(({theme:t})=>({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(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{backgroundColor:(t.vars||t).palette[e].main}})),{props:{variant:"determinate"},style:{transition:`transform .${ns}s linear`}},{props:{variant:"buffer"},style:{zIndex:1,transition:`transform .${ns}s linear`}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:{width:"auto"}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:wv||{animation:`${ss} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),Mv=k("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.bar,e.bar2,e[`barColor${B(o.color)}`],(o.variant==="indeterminate"||o.variant==="query")&&e.bar2Indeterminate,o.variant==="buffer"&&e.bar2Buffer]}})(W(({theme:t})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{"--LinearProgressBar2-barColor":(t.vars||t).palette[e].main}})),{props:({ownerState:e})=>e.variant!=="buffer"&&e.color!=="inherit",style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:e})=>e.variant!=="buffer"&&e.color==="inherit",style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,variant:"buffer"},style:{backgroundColor:Ms(t,e),transition:`transform .${ns}s linear`}})),{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:{width:"auto"}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:Rv||{animation:`${as} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),Lv=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiLinearProgress"}),{className:n,color:s="primary",value:a,valueBuffer:i,variant:l="indeterminate",...c}=r,p={...r,color:s,variant:l},u=$v(p),m=Ke(),g={},b={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&a!==void 0){g["aria-valuenow"]=Math.round(a),g["aria-valuemin"]=0,g["aria-valuemax"]=100;let v=a-100;m&&(v=-v),b.bar1.transform=`translateX(${v}%)`}if(l==="buffer"&&i!==void 0){let v=(i||0)-100;m&&(v=-v),b.bar2.transform=`translateX(${v}%)`}return f.jsxs(kv,{className:j(u.root,n),ownerState:p,role:"progressbar",...g,ref:o,...c,children:[l==="buffer"?f.jsx(Iv,{className:u.dashed,ownerState:p}):null,f.jsx(Tv,{className:u.bar1,ownerState:p,style:b.bar1}),l==="determinate"?null:f.jsx(Mv,{className:u.bar2,ownerState:p,style:b.bar2})]})});function Av(t){return V("MuiLink",t)}const Bv=K("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),Ev=({theme:t,ownerState:e})=>{const o=e.color,r=Br(t,`palette.${o}.main`,!1)||Br(t,`palette.${o}`,!1)||e.color,n=Br(t,`palette.${o}.mainChannel`)||Br(t,`palette.${o}Channel`);return"vars"in t&&n?`rgba(${n} / 0.4)`:kt(r,.4)},La={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},Ov=t=>{const{classes:e,component:o,focusVisible:r,underline:n}=t,s={root:["root",`underline${B(n)}`,o==="button"&&"button",r&&"focusVisible"]};return G(s,Av,e)},Nv=k(he,{name:"MuiLink",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`underline${B(o.underline)}`],o.component==="button"&&e.button]}})(W(({theme:t})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:e,ownerState:o})=>e==="always"&&o.color!=="inherit",style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{underline:"always",color:e},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.4)`:kt(t.palette[e].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette.text.primaryChannel} / 0.4)`:kt(t.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette.text.secondaryChannel} / 0.4)`:kt(t.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(t.vars||t).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Bv.focusVisible}`]:{outline:"auto"}}}]}))),Kw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiLink"}),n=le(),{className:s,color:a="primary",component:i="a",onBlur:l,onFocus:c,TypographyClasses:p,underline:u="always",variant:m="inherit",sx:g,...b}=r,[v,h]=d.useState(!1),y=w=>{Ze(w.target)||h(!1),l&&l(w)},S=w=>{Ze(w.target)&&h(!0),c&&c(w)},C={...r,color:a,component:i,focusVisible:v,underline:u,variant:m},x=Ov(C);return f.jsx(Nv,{color:a,className:j(x.root,s),classes:p,component:i,onBlur:y,onFocus:S,ref:o,ownerState:C,variant:m,...b,sx:[...La[a]===void 0?[{color:a}]:[],...Array.isArray(g)?g:[g]],style:{...b.style,...u==="always"&&a!=="inherit"&&!La[a]&&{"--Link-underlineColor":Ev({theme:n,ownerState:C})}}})}),je=d.createContext({});function zv(t){return V("MuiList",t)}const qw=K("MuiList",["root","padding","dense","subheader"]),jv=t=>{const{classes:e,disablePadding:o,dense:r,subheader:n}=t;return G({root:["root",!o&&"padding",r&&"dense",n&&"subheader"]},zv,e)},Dv=k("ul",{name:"MuiList",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disablePadding&&e.padding,o.dense&&e.dense,o.subheader&&e.subheader]}})({listStyle:"none",margin:0,padding:0,position:"relative",variants:[{props:({ownerState:t})=>!t.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:t})=>t.subheader,style:{paddingTop:0}}]}),Fv=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiList"}),{children:n,className:s,component:a="ul",dense:i=!1,disablePadding:l=!1,subheader:c,...p}=r,u=d.useMemo(()=>({dense:i}),[i]),m={...r,component:a,dense:i,disablePadding:l},g=jv(m);return f.jsx(je.Provider,{value:u,children:f.jsxs(Dv,{as:a,className:j(g.root,s),ref:o,ownerState:m,...p,children:[c,n]})})});function Wv(t){return V("MuiListItem",t)}const Xw=K("MuiListItem",["root","container","dense","alignItemsFlexStart","divider","gutters","padding","secondaryAction"]);function Uv(t){return V("MuiListItemButton",t)}const Wo=K("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]),Hv=(t,e)=>{const{ownerState:o}=t;return[e.root,o.dense&&e.dense,o.alignItems==="flex-start"&&e.alignItemsFlexStart,o.divider&&e.divider,!o.disableGutters&&e.gutters]},Vv=t=>{const{alignItems:e,classes:o,dense:r,disabled:n,disableGutters:s,divider:a,selected:i}=t,c=G({root:["root",r&&"dense",!s&&"gutters",a&&"divider",n&&"disabled",e==="flex-start"&&"alignItemsFlexStart",i&&"selected"]},Uv,o);return{...o,...c}},Gv=k(ue,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:Hv})(W(({theme:t})=>({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:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Wo.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${Wo.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}},[`&.${Wo.selected}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity)}},[`&.${Wo.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${Wo.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:({ownerState:e})=>e.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.dense,style:{paddingTop:4,paddingBottom:4}}]}))),_w=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemButton"}),{alignItems:n="center",autoFocus:s=!1,component:a="div",children:i,dense:l=!1,disableGutters:c=!1,divider:p=!1,focusVisibleClassName:u,selected:m=!1,className:g,...b}=r,v=d.useContext(je),h=d.useMemo(()=>({dense:l||v.dense||!1,alignItems:n,disableGutters:c}),[n,v.dense,l,c]),y=d.useRef(null);be(()=>{s&&y.current&&y.current.focus()},[s]);const S={...r,alignItems:n,dense:h.dense,disableGutters:c,divider:p,selected:m},C=Vv(S),x=qt(y,o);return f.jsx(je.Provider,{value:h,children:f.jsx(Gv,{ref:x,href:b.href||b.to,component:(b.href||b.to)&&a==="div"?"button":a,focusVisibleClassName:j(C.focusVisible,u),ownerState:S,className:j(C.root,g),...b,classes:C,children:i})})});function Kv(t){return V("MuiListItemSecondaryAction",t)}const Yw=K("MuiListItemSecondaryAction",["root","disableGutters"]),qv=t=>{const{disableGutters:e,classes:o}=t;return G({root:["root",e&&"disableGutters"]},Kv,o)},Xv=k("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.disableGutters&&e.disableGutters]}})({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)",variants:[{props:({ownerState:t})=>t.disableGutters,style:{right:0}}]}),Yi=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemSecondaryAction"}),{className:n,...s}=r,a=d.useContext(je),i={...r,disableGutters:a.disableGutters},l=qv(i);return f.jsx(Xv,{className:j(l.root,n),ownerState:i,ref:o,...s})});Yi.muiName="ListItemSecondaryAction";const _v=(t,e)=>{const{ownerState:o}=t;return[e.root,o.dense&&e.dense,o.alignItems==="flex-start"&&e.alignItemsFlexStart,o.divider&&e.divider,!o.disableGutters&&e.gutters,!o.disablePadding&&e.padding,o.hasSecondaryAction&&e.secondaryAction]},Yv=t=>{const{alignItems:e,classes:o,dense:r,disableGutters:n,disablePadding:s,divider:a,hasSecondaryAction:i}=t;return G({root:["root",r&&"dense",!n&&"gutters",!s&&"padding",a&&"divider",e==="flex-start"&&"alignItemsFlexStart",i&&"secondaryAction"],container:["container"]},Wv,o)},Zv=k("div",{name:"MuiListItem",slot:"Root",overridesResolver:_v})(W(({theme:t})=>({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left",variants:[{props:({ownerState:e})=>!e.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:e})=>!e.disablePadding&&e.dense,style:{paddingTop:4,paddingBottom:4}},{props:({ownerState:e})=>!e.disablePadding&&!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>!e.disablePadding&&!!e.secondaryAction,style:{paddingRight:48}},{props:({ownerState:e})=>!!e.secondaryAction,style:{[`& > .${Wo.root}`]:{paddingRight:48}}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:e})=>e.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:e})=>e.button,style:{transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}}},{props:({ownerState:e})=>e.hasSecondaryAction,style:{paddingRight:48}}]}))),Qv=k("li",{name:"MuiListItem",slot:"Container",overridesResolver:(t,e)=>e.container})({position:"relative"}),Zw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItem"}),{alignItems:n="center",children:s,className:a,component:i,components:l={},componentsProps:c={},ContainerComponent:p="li",ContainerProps:{className:u,...m}={},dense:g=!1,disableGutters:b=!1,disablePadding:v=!1,divider:h=!1,secondaryAction:y,slotProps:S={},slots:C={},...x}=r,w=d.useContext(je),P=d.useMemo(()=>({dense:g||w.dense||!1,alignItems:n,disableGutters:b}),[n,w.dense,g,b]),$=d.useRef(null),I=d.Children.toArray(s),A=I.length&&yo(I[I.length-1],["ListItemSecondaryAction"]),T={...r,alignItems:n,dense:P.dense,disableGutters:b,disablePadding:v,divider:h,hasSecondaryAction:A},z=Yv(T),E=qt($,o),R=C.root||l.Root||Zv,M=S.root||c.root||{},O={className:j(z.root,M.className,a),...x};let L=i||"li";return A?(L=!O.component&&!i?"div":L,p==="li"&&(L==="li"?L="div":O.component==="li"&&(O.component="div")),f.jsx(je.Provider,{value:P,children:f.jsxs(Qv,{as:p,className:j(z.container,u),ref:E,ownerState:T,...m,children:[f.jsx(R,{...M,...!so(R)&&{as:L,ownerState:{...T,...M.ownerState}},...O,children:I}),I.pop()]})})):f.jsx(je.Provider,{value:P,children:f.jsxs(R,{...M,as:L,ref:E,...!so(R)&&{ownerState:{...T,...M.ownerState}},...O,children:[I,y&&f.jsx(Yi,{children:y})]})})});function Jv(t){return V("MuiListItemAvatar",t)}const Qw=K("MuiListItemAvatar",["root","alignItemsFlexStart"]),th=t=>{const{alignItems:e,classes:o}=t;return G({root:["root",e==="flex-start"&&"alignItemsFlexStart"]},Jv,o)},eh=k("div",{name:"MuiListItemAvatar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.alignItems==="flex-start"&&e.alignItemsFlexStart]}})({minWidth:56,flexShrink:0,variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}),Jw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemAvatar"}),{className:n,...s}=r,a=d.useContext(je),i={...r,alignItems:a.alignItems},l=th(i);return f.jsx(eh,{className:j(l.root,n),ownerState:i,ref:o,...s})});function oh(t){return V("MuiListItemIcon",t)}const Aa=K("MuiListItemIcon",["root","alignItemsFlexStart"]),rh=t=>{const{alignItems:e,classes:o}=t;return G({root:["root",e==="flex-start"&&"alignItemsFlexStart"]},oh,o)},nh=k("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.alignItems==="flex-start"&&e.alignItemsFlexStart]}})(W(({theme:t})=>({minWidth:56,color:(t.vars||t).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),t1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemIcon"}),{className:n,...s}=r,a=d.useContext(je),i={...r,alignItems:a.alignItems},l=rh(i);return f.jsx(nh,{className:j(l.root,n),ownerState:i,ref:o,...s})});function sh(t){return V("MuiListItemText",t)}const Ho=K("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),ah=t=>{const{classes:e,inset:o,primary:r,secondary:n,dense:s}=t;return G({root:["root",o&&"inset",s&&"dense",r&&n&&"multiline"],primary:["primary"],secondary:["secondary"]},sh,e)},ih=k("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Ho.primary}`]:e.primary},{[`& .${Ho.secondary}`]:e.secondary},e.root,o.inset&&e.inset,o.primary&&o.secondary&&e.multiline,o.dense&&e.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${nn.root}:where(& .${Ho.primary})`]:{display:"block"},[`.${nn.root}:where(& .${Ho.secondary})`]:{display:"block"},variants:[{props:({ownerState:t})=>t.primary&&t.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:t})=>t.inset,style:{paddingLeft:56}}]}),e1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemText"}),{children:n,className:s,disableTypography:a=!1,inset:i=!1,primary:l,primaryTypographyProps:c,secondary:p,secondaryTypographyProps:u,slots:m={},slotProps:g={},...b}=r,{dense:v}=d.useContext(je);let h=l??n,y=p;const S={...r,disableTypography:a,inset:i,primary:!!h,secondary:!!y,dense:v},C=ah(S),x={slots:m,slotProps:{primary:c,secondary:u,...g}},[w,P]=Q("root",{className:j(C.root,s),elementType:ih,externalForwardedProps:{...x,...b},ownerState:S,ref:o}),[$,I]=Q("primary",{className:C.primary,elementType:he,externalForwardedProps:x,ownerState:S}),[A,T]=Q("secondary",{className:C.secondary,elementType:he,externalForwardedProps:x,ownerState:S});return h!=null&&h.type!==he&&!a&&(h=f.jsx($,{variant:v?"body2":"body1",component:I!=null&&I.variant?void 0:"span",...I,children:h})),y!=null&&y.type!==he&&!a&&(y=f.jsx(A,{variant:"body2",color:"textSecondary",...T,children:y})),f.jsxs(w,{...P,children:[h,y]})});function On(t,e,o){return t===e?t.firstChild:e&&e.nextElementSibling?e.nextElementSibling:o?null:t.firstChild}function Ba(t,e,o){return t===e?o?t.firstChild:t.lastChild:e&&e.previousElementSibling?e.previousElementSibling:o?null:t.lastChild}function Zi(t,e){if(e===void 0)return!0;let o=t.innerText;return o===void 0&&(o=t.textContent),o=o.trim().toLowerCase(),o.length===0?!1:e.repeating?o[0]===e.keys[0]:o.startsWith(e.keys.join(""))}function or(t,e,o,r,n,s){let a=!1,i=n(t,e,e?o:!1);for(;i;){if(i===t.firstChild){if(a)return!1;a=!0}const l=r?!1:i.disabled||i.getAttribute("aria-disabled")==="true";if(!i.hasAttribute("tabindex")||!Zi(i,s)||l)i=n(t,i,o);else return i.focus(),!0}return!1}const lh=d.forwardRef(function(e,o){const{actions:r,autoFocus:n=!1,autoFocusItem:s=!1,children:a,className:i,disabledItemsFocusable:l=!1,disableListWrap:c=!1,onKeyDown:p,variant:u="selectedMenu",...m}=e,g=d.useRef(null),b=d.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});be(()=>{n&&g.current.focus()},[n]),d.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(C,{direction:x})=>{const w=!g.current.style.width;if(C.clientHeight{const x=g.current,w=C.key;if(C.ctrlKey||C.metaKey||C.altKey){p&&p(C);return}const $=te(x).activeElement;if(w==="ArrowDown")C.preventDefault(),or(x,$,c,l,On);else if(w==="ArrowUp")C.preventDefault(),or(x,$,c,l,Ba);else if(w==="Home")C.preventDefault(),or(x,null,c,l,On);else if(w==="End")C.preventDefault(),or(x,null,c,l,Ba);else if(w.length===1){const I=b.current,A=w.toLowerCase(),T=performance.now();I.keys.length>0&&(T-I.lastTime>500?(I.keys=[],I.repeating=!0,I.previousKeyMatched=!0):I.repeating&&A!==I.keys[0]&&(I.repeating=!1)),I.lastTime=T,I.keys.push(A);const z=$&&!I.repeating&&Zi($,I);I.previousKeyMatched&&(z||or(x,$,!1,l,On,I))?C.preventDefault():I.previousKeyMatched=!1}p&&p(C)},h=qt(g,o);let y=-1;d.Children.forEach(a,(C,x)=>{if(!d.isValidElement(C)){y===x&&(y+=1,y>=a.length&&(y=-1));return}C.props.disabled||(u==="selectedMenu"&&C.props.selected||y===-1)&&(y=x),y===x&&(C.props.disabled||C.props.muiSkipListHighlight||C.type.muiSkipListHighlight)&&(y+=1,y>=a.length&&(y=-1))});const S=d.Children.map(a,(C,x)=>{if(x===y){const w={};return s&&(w.autoFocus=!0),C.props.tabIndex===void 0&&u==="selectedMenu"&&(w.tabIndex=0),d.cloneElement(C,w)}return C});return f.jsx(Fv,{role:"menu",ref:h,className:i,onKeyDown:v,tabIndex:n?0:-1,...m,children:S})});function ch(t){return V("MuiPopover",t)}const o1=K("MuiPopover",["root","paper"]);function Ea(t,e){let o=0;return typeof e=="number"?o=e:e==="center"?o=t.height/2:e==="bottom"&&(o=t.height),o}function Oa(t,e){let o=0;return typeof e=="number"?o=e:e==="center"?o=t.width/2:e==="right"&&(o=t.width),o}function Na(t){return[t.horizontal,t.vertical].map(e=>typeof e=="number"?`${e}px`:e).join(" ")}function Fr(t){return typeof t=="function"?t():t}const ph=t=>{const{classes:e}=t;return G({root:["root"],paper:["paper"]},ch,e)},dh=k(Is,{name:"MuiPopover",slot:"Root",overridesResolver:(t,e)=>e.root})({}),Qi=k(Ue,{name:"MuiPopover",slot:"Paper",overridesResolver:(t,e)=>e.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),uh=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiPopover"}),{action:n,anchorEl:s,anchorOrigin:a={vertical:"top",horizontal:"left"},anchorPosition:i,anchorReference:l="anchorEl",children:c,className:p,container:u,elevation:m=8,marginThreshold:g=16,open:b,PaperProps:v={},slots:h={},slotProps:y={},transformOrigin:S={vertical:"top",horizontal:"left"},TransitionComponent:C,transitionDuration:x="auto",TransitionProps:w={},disableScrollLock:P=!1,...$}=r,I=d.useRef(),A={...r,anchorOrigin:a,anchorReference:l,elevation:m,marginThreshold:g,transformOrigin:S,TransitionComponent:C,transitionDuration:x,TransitionProps:w},T=ph(A),z=d.useCallback(()=>{if(l==="anchorPosition")return i;const st=Fr(s),Z=(st&&st.nodeType===1?st:te(I.current).body).getBoundingClientRect();return{top:Z.top+Ea(Z,a.vertical),left:Z.left+Oa(Z,a.horizontal)}},[s,a.horizontal,a.vertical,i,l]),E=d.useCallback(st=>({vertical:Ea(st,S.vertical),horizontal:Oa(st,S.horizontal)}),[S.horizontal,S.vertical]),R=d.useCallback(st=>{const ft={width:st.offsetWidth,height:st.offsetHeight},Z=E(ft);if(l==="none")return{top:null,left:null,transformOrigin:Na(Z)};const pt=z();let it=pt.top-Z.vertical,ht=pt.left-Z.horizontal;const Mt=it+ft.height,tt=ht+ft.width,ot=me(Fr(s)),dt=ot.innerHeight-g,St=ot.innerWidth-g;if(g!==null&&itdt){const gt=Mt-dt;it-=gt,Z.vertical+=gt}if(g!==null&&htSt){const gt=tt-St;ht-=gt,Z.horizontal+=gt}return{top:`${Math.round(it)}px`,left:`${Math.round(ht)}px`,transformOrigin:Na(Z)}},[s,l,z,E,g]),[M,O]=d.useState(b),L=d.useCallback(()=>{const st=I.current;if(!st)return;const ft=R(st);ft.top!==null&&st.style.setProperty("top",ft.top),ft.left!==null&&(st.style.left=ft.left),st.style.transformOrigin=ft.transformOrigin,O(!0)},[R]);d.useEffect(()=>(P&&window.addEventListener("scroll",L),()=>window.removeEventListener("scroll",L)),[s,P,L]);const F=()=>{L()},D=()=>{O(!1)};d.useEffect(()=>{b&&L()}),d.useImperativeHandle(n,()=>b?{updatePosition:()=>{L()}}:null,[b,L]),d.useEffect(()=>{if(!b)return;const st=$r(()=>{L()}),ft=me(Fr(s));return ft.addEventListener("resize",st),()=>{st.clear(),ft.removeEventListener("resize",st)}},[s,b,L]);let N=x;const J={slots:{transition:C,...h},slotProps:{transition:w,paper:v,...y}},[U,wt]=Q("transition",{elementType:Sr,externalForwardedProps:J,ownerState:A,getSlotProps:st=>({...st,onEntering:(ft,Z)=>{var pt;(pt=st.onEntering)==null||pt.call(st,ft,Z),F()},onExited:ft=>{var Z;(Z=st.onExited)==null||Z.call(st,ft),D()}}),additionalProps:{appear:!0,in:b}});x==="auto"&&!U.muiSupportAuto&&(N=void 0);const vt=u||(s?te(Fr(s)).body:void 0),[mt,{slots:et,slotProps:rt,...Y}]=Q("root",{ref:o,elementType:dh,externalForwardedProps:{...J,...$},shouldForwardComponentProp:!0,additionalProps:{slots:{backdrop:h.backdrop},slotProps:{backdrop:Go(typeof y.backdrop=="function"?y.backdrop(A):y.backdrop,{invisible:!0})},container:vt,open:b},ownerState:A,className:j(T.root,p)}),[at,ct]=Q("paper",{ref:I,className:T.paper,elementType:Qi,externalForwardedProps:J,shouldForwardComponentProp:!0,additionalProps:{elevation:m,style:M?void 0:{opacity:0}},ownerState:A});return f.jsx(mt,{...Y,...!so(mt)&&{slots:et,slotProps:rt,disableScrollLock:P},children:f.jsx(U,{...wt,timeout:N,children:f.jsx(at,{...ct,children:c})})})});function fh(t){return V("MuiMenu",t)}const r1=K("MuiMenu",["root","paper","list"]),gh={vertical:"top",horizontal:"right"},mh={vertical:"top",horizontal:"left"},bh=t=>{const{classes:e}=t;return G({root:["root"],paper:["paper"],list:["list"]},fh,e)},vh=k(uh,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(t,e)=>e.root})({}),hh=k(Qi,{name:"MuiMenu",slot:"Paper",overridesResolver:(t,e)=>e.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),yh=k(lh,{name:"MuiMenu",slot:"List",overridesResolver:(t,e)=>e.list})({outline:0}),xh=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiMenu"}),{autoFocus:n=!0,children:s,className:a,disableAutoFocusItem:i=!1,MenuListProps:l={},onClose:c,open:p,PaperProps:u={},PopoverClasses:m,transitionDuration:g="auto",TransitionProps:{onEntering:b,...v}={},variant:h="selectedMenu",slots:y={},slotProps:S={},...C}=r,x=Ke(),w={...r,autoFocus:n,disableAutoFocusItem:i,MenuListProps:l,onEntering:b,PaperProps:u,transitionDuration:g,TransitionProps:v,variant:h},P=bh(w),$=n&&!i&&p,I=d.useRef(null),A=(N,J)=>{I.current&&I.current.adjustStyleForScrollbar(N,{direction:x?"rtl":"ltr"}),b&&b(N,J)},T=N=>{N.key==="Tab"&&(N.preventDefault(),c&&c(N,"tabKeyDown"))};let z=-1;d.Children.map(s,(N,J)=>{d.isValidElement(N)&&(N.props.disabled||(h==="selectedMenu"&&N.props.selected||z===-1)&&(z=J))});const E={slots:y,slotProps:{list:l,transition:v,paper:u,...S}},R=Ce({elementType:y.root,externalSlotProps:S.root,ownerState:w,className:[P.root,a]}),[M,O]=Q("paper",{className:P.paper,elementType:hh,externalForwardedProps:E,shouldForwardComponentProp:!0,ownerState:w}),[L,F]=Q("list",{className:j(P.list,l.className),elementType:yh,shouldForwardComponentProp:!0,externalForwardedProps:E,getSlotProps:N=>({...N,onKeyDown:J=>{var U;T(J),(U=N.onKeyDown)==null||U.call(N,J)}}),ownerState:w}),D=typeof E.slotProps.transition=="function"?E.slotProps.transition(w):E.slotProps.transition;return f.jsx(vh,{onClose:c,anchorOrigin:{vertical:"bottom",horizontal:x?"right":"left"},transformOrigin:x?gh:mh,slots:{root:y.root,paper:M,backdrop:y.backdrop,...y.transition&&{transition:y.transition}},slotProps:{root:R,paper:O,backdrop:typeof S.backdrop=="function"?S.backdrop(w):S.backdrop,transition:{...D,onEntering:(...N)=>{var J;A(...N),(J=D==null?void 0:D.onEntering)==null||J.call(D,...N)}}},open:p,ref:o,transitionDuration:g,ownerState:w,...C,classes:m,children:f.jsx(L,{actions:I,autoFocus:n&&(z===-1||i),autoFocusItem:$,variant:h,...F,children:s})})});function Ch(t){return V("MuiMenuItem",t)}const rr=K("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),Sh=(t,e)=>{const{ownerState:o}=t;return[e.root,o.dense&&e.dense,o.divider&&e.divider,!o.disableGutters&&e.gutters]},wh=t=>{const{disabled:e,dense:o,divider:r,disableGutters:n,selected:s,classes:a}=t,l=G({root:["root",o&&"dense",e&&"disabled",!n&&"gutters",r&&"divider",s&&"selected"]},Ch,a);return{...a,...l}},Rh=k(ue,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:Sh})(W(({theme:t})=>({...t.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:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${rr.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${rr.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}},[`&.${rr.selected}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity)}},[`&.${rr.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${rr.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},[`& + .${wa.root}`]:{marginTop:t.spacing(1),marginBottom:t.spacing(1)},[`& + .${wa.inset}`]:{marginLeft:52},[`& .${Ho.root}`]:{marginTop:0,marginBottom:0},[`& .${Ho.inset}`]:{paddingLeft:36},[`& .${Aa.root}`]:{minWidth:36},variants:[{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:e})=>!e.dense,style:{[t.breakpoints.up("sm")]:{minHeight:"auto"}}},{props:({ownerState:e})=>e.dense,style:{minHeight:32,paddingTop:4,paddingBottom:4,...t.typography.body2,[`& .${Aa.root} svg`]:{fontSize:"1.25rem"}}}]}))),Ph=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiMenuItem"}),{autoFocus:n=!1,component:s="li",dense:a=!1,divider:i=!1,disableGutters:l=!1,focusVisibleClassName:c,role:p="menuitem",tabIndex:u,className:m,...g}=r,b=d.useContext(je),v=d.useMemo(()=>({dense:a||b.dense||!1,disableGutters:l}),[b.dense,a,l]),h=d.useRef(null);be(()=>{n&&h.current&&h.current.focus()},[n]);const y={...r,dense:v.dense,divider:i,disableGutters:l},S=wh(r),C=qt(h,o);let x;return r.disabled||(x=u!==void 0?u:-1),f.jsx(je.Provider,{value:v,children:f.jsx(Rh,{ref:C,role:p,tabIndex:x,component:s,focusVisibleClassName:j(S.focusVisible,c),className:j(S.root,m),...g,ownerState:y,classes:S})})});function $h(t){return V("MuiMobileStepper",t)}const n1=K("MuiMobileStepper",["root","positionBottom","positionTop","positionStatic","dots","dot","dotActive","progress"]),kh=t=>{const{classes:e,position:o}=t,r={root:["root",`position${B(o)}`],dots:["dots"],dot:["dot"],dotActive:["dotActive"],progress:["progress"]};return G(r,$h,e)},Ih=k(Ue,{name:"MuiMobileStepper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${B(o.position)}`]]}})(W(({theme:t})=>({display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",background:(t.vars||t).palette.background.default,padding:8,variants:[{props:({position:e})=>e==="top"||e==="bottom",style:{position:"fixed",left:0,right:0,zIndex:(t.vars||t).zIndex.mobileStepper}},{props:{position:"top"},style:{top:0}},{props:{position:"bottom"},style:{bottom:0}}]}))),Th=k("div",{name:"MuiMobileStepper",slot:"Dots",overridesResolver:(t,e)=>e.dots})({variants:[{props:{variant:"dots"},style:{display:"flex",flexDirection:"row"}}]}),Mh=k("div",{name:"MuiMobileStepper",slot:"Dot",shouldForwardProp:t=>Rr(t)&&t!=="dotActive",overridesResolver:(t,e)=>{const{dotActive:o}=t;return[e.dot,o&&e.dotActive]}})(W(({theme:t})=>({variants:[{props:{variant:"dots"},style:{transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),backgroundColor:(t.vars||t).palette.action.disabled,borderRadius:"50%",width:8,height:8,margin:"0 2px"}},{props:{variant:"dots",dotActive:!0},style:{backgroundColor:(t.vars||t).palette.primary.main}}]}))),Lh=k(Lv,{name:"MuiMobileStepper",slot:"Progress",overridesResolver:(t,e)=>e.progress})({variants:[{props:{variant:"progress"},style:{width:"50%"}}]}),s1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiMobileStepper"}),{activeStep:n=0,backButton:s,className:a,LinearProgressProps:i,nextButton:l,position:c="bottom",steps:p,variant:u="dots",slots:m={},slotProps:g={},...b}=r,v={...r,activeStep:n,position:c,variant:u};let h;u==="progress"&&(p===1?h=100:h=Math.ceil(n/(p-1)*100));const y=kh(v),S={slots:m,slotProps:{progress:i,...g}},[C,x]=Q("root",{ref:o,elementType:Ih,shouldForwardComponentProp:!0,className:j(y.root,a),externalForwardedProps:{...S,...b},ownerState:v,additionalProps:{square:!0,elevation:0}}),[w,P]=Q("dots",{className:y.dots,elementType:Th,externalForwardedProps:S,ownerState:v}),[$,I]=Q("dot",{elementType:Mh,externalForwardedProps:S,ownerState:v}),[A,T]=Q("progress",{className:y.progress,elementType:Lh,shouldForwardComponentProp:!0,externalForwardedProps:S,ownerState:v,additionalProps:{value:h,variant:"determinate"}});return f.jsxs(C,{...x,children:[s,u==="text"&&f.jsxs(d.Fragment,{children:[n+1," / ",p]}),u==="dots"&&f.jsx(w,{...P,children:[...new Array(p)].map((z,E)=>f.jsx($,{...I,className:j(y.dot,I.className,E===n&&y.dotActive),dotActive:E===n},E))}),u==="progress"&&f.jsx(A,{...T}),l]})});function Ji(t){return V("MuiNativeSelect",t)}const Ls=K("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),Ah=t=>{const{classes:e,variant:o,disabled:r,multiple:n,open:s,error:a}=t,i={select:["select",o,r&&"disabled",n&&"multiple",a&&"error"],icon:["icon",`icon${B(o)}`,s&&"iconOpen",r&&"disabled"]};return G(i,Ji,e)},tl=k("select")(({theme:t})=>({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{borderRadius:0},[`&.${Ls.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},variants:[{props:({ownerState:e})=>e.variant!=="filled"&&e.variant!=="outlined",style:{"&&&":{paddingRight:24,minWidth:16}}},{props:{variant:"filled"},style:{"&&&":{paddingRight:32}}},{props:{variant:"outlined"},style:{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}}]})),Bh=k(tl,{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:ae,overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.select,e[o.variant],o.error&&e.error,{[`&.${Ls.multiple}`]:e.multiple}]}})({}),el=k("svg")(({theme:t})=>({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${Ls.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:({ownerState:e})=>e.open,style:{transform:"rotate(180deg)"}},{props:{variant:"filled"},style:{right:7}},{props:{variant:"outlined"},style:{right:7}}]})),Eh=k(el,{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,o.variant&&e[`icon${B(o.variant)}`],o.open&&e.iconOpen]}})({}),ol=d.forwardRef(function(e,o){const{className:r,disabled:n,error:s,IconComponent:a,inputRef:i,variant:l="standard",...c}=e,p={...e,disabled:n,variant:l,error:s},u=Ah(p);return f.jsxs(d.Fragment,{children:[f.jsx(Bh,{ownerState:p,className:j(u.select,r),disabled:n,ref:i||o,...c}),e.multiple?null:f.jsx(Eh,{as:a,ownerState:p,className:u.icon})]})}),Oh=t=>{const{classes:e}=t;return G({root:["root"]},Ji,e)},Nh=f.jsx(Rn,{}),zh=d.forwardRef(function(e,o){const r=_({name:"MuiNativeSelect",props:e}),{className:n,children:s,classes:a={},IconComponent:i=$s,input:l=Nh,inputProps:c,variant:p,...u}=r,m=He(),g=lo({props:r,muiFormControl:m,states:["variant"]}),b={...r,classes:a},v=Oh(b),{root:h,...y}=a;return f.jsx(d.Fragment,{children:d.cloneElement(l,{inputComponent:ol,inputProps:{children:s,classes:y,IconComponent:i,variant:g.variant,type:void 0,...c,...l?l.props.inputProps:{}},ref:o,...u,className:j(v.root,l.props.className,n)})})});zh.muiName="Select";function jh(t){const{children:e,defer:o=!1,fallback:r=null}=t,[n,s]=d.useState(!1);return be(()=>{o||s(!0)},[o]),d.useEffect(()=>{o&&s(!0)},[o]),n?e:r}var za;const Dh=k("fieldset",{shouldForwardProp:ae})({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%"}),Fh=k("legend",{shouldForwardProp:ae})(W(({theme:t})=>({float:"unset",width:"auto",overflow:"hidden",variants:[{props:({ownerState:e})=>!e.withLabel,style:{padding:0,lineHeight:"11px",transition:t.transitions.create("width",{duration:150,easing:t.transitions.easing.easeOut})}},{props:({ownerState:e})=>e.withLabel,style:{display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:t.transitions.create("max-width",{duration:50,easing:t.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}}},{props:({ownerState:e})=>e.withLabel&&e.notched,style:{maxWidth:"100%",transition:t.transitions.create("max-width",{duration:100,easing:t.transitions.easing.easeOut,delay:50})}}]})));function Wh(t){const{children:e,classes:o,className:r,label:n,notched:s,...a}=t,i=n!=null&&n!=="",l={...t,notched:s,withLabel:i};return f.jsx(Dh,{"aria-hidden":!0,className:r,ownerState:l,...a,children:f.jsx(Fh,{ownerState:l,children:i?f.jsx("span",{children:n}):za||(za=f.jsx("span",{className:"notranslate","aria-hidden":!0,children:"​"}))})})}const Uh=t=>{const{classes:e}=t,r=G({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},Zu,e);return{...e,...r}},Hh=k(Cn,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:yn})(W(({theme:t})=>{const e=t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{position:"relative",borderRadius:(t.vars||t).shape.borderRadius,[`&:hover .${Ee.notchedOutline}`]:{borderColor:(t.vars||t).palette.text.primary},"@media (hover: none)":{[`&:hover .${Ee.notchedOutline}`]:{borderColor:t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:e}},[`&.${Ee.focused} .${Ee.notchedOutline}`]:{borderWidth:2},variants:[...Object.entries(t.palette).filter(jt()).map(([o])=>({props:{color:o},style:{[`&.${Ee.focused} .${Ee.notchedOutline}`]:{borderColor:(t.vars||t).palette[o].main}}})),{props:{},style:{[`&.${Ee.error} .${Ee.notchedOutline}`]:{borderColor:(t.vars||t).palette.error.main},[`&.${Ee.disabled} .${Ee.notchedOutline}`]:{borderColor:(t.vars||t).palette.action.disabled}}},{props:({ownerState:o})=>o.startAdornment,style:{paddingLeft:14}},{props:({ownerState:o})=>o.endAdornment,style:{paddingRight:14}},{props:({ownerState:o})=>o.multiline,style:{padding:"16.5px 14px"}},{props:({ownerState:o,size:r})=>o.multiline&&r==="small",style:{padding:"8.5px 14px"}}]}})),Vh=k(Wh,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(t,e)=>e.notchedOutline})(W(({theme:t})=>{const e=t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:e}})),Gh=k(Sn,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:xn})(W(({theme:t})=>({padding:"16.5px 14px",...!t.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:t.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:t.palette.mode==="light"?null:"#fff",caretColor:t.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},...t.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[t.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:e})=>e.multiline,style:{padding:0}},{props:({ownerState:e})=>e.startAdornment,style:{paddingLeft:0}},{props:({ownerState:e})=>e.endAdornment,style:{paddingRight:0}}]}))),As=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiOutlinedInput"}),{components:n={},fullWidth:s=!1,inputComponent:a="input",label:i,multiline:l=!1,notched:c,slots:p={},slotProps:u={},type:m="text",...g}=r,b=Uh(r),v=He(),h=lo({props:r,muiFormControl:v,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),y={...r,color:h.color||"primary",disabled:h.disabled,error:h.error,focused:h.focused,formControl:v,fullWidth:s,hiddenLabel:h.hiddenLabel,multiline:l,size:h.size,type:m},S=p.root??n.Root??Hh,C=p.input??n.Input??Gh,[x,w]=Q("notchedOutline",{elementType:Vh,className:b.notchedOutline,shouldForwardComponentProp:!0,ownerState:y,externalForwardedProps:{slots:p,slotProps:u},additionalProps:{label:i!=null&&i!==""&&h.required?f.jsxs(d.Fragment,{children:[i," ","*"]}):i}});return f.jsx(wn,{slots:{root:S,input:C},slotProps:u,renderSuffix:P=>f.jsx(x,{...w,notched:typeof c<"u"?c:!!(P.startAdornment||P.filled||P.focused)}),fullWidth:s,inputComponent:a,multiline:l,ref:o,type:m,...g,classes:{...b,notchedOutline:null}})});As.muiName="Input";function Kh(t){return V("MuiPagination",t)}const a1=K("MuiPagination",["root","ul","outlined","text"]);function qh(t={}){const{boundaryCount:e=1,componentName:o="usePagination",count:r=1,defaultPage:n=1,disabled:s=!1,hideNextButton:a=!1,hidePrevButton:i=!1,onChange:l,page:c,showFirstButton:p=!1,showLastButton:u=!1,siblingCount:m=1,...g}=t,[b,v]=Te({controlled:c,default:n,name:o,state:"page"}),h=(A,T)=>{c||v(T),l&&l(A,T)},y=(A,T)=>{const z=T-A+1;return Array.from({length:z},(E,R)=>A+R)},S=y(1,Math.min(e,r)),C=y(Math.max(r-e+1,e+1),r),x=Math.max(Math.min(b-m,r-e-m*2-1),e+2),w=Math.min(Math.max(b+m,e+m*2+2),r-e-1),P=[...p?["first"]:[],...i?[]:["previous"],...S,...x>e+2?["start-ellipsis"]:e+1e?[r-e]:[],...C,...a?[]:["next"],...u?["last"]:[]],$=A=>{switch(A){case"first":return 1;case"previous":return b-1;case"next":return b+1;case"last":return r;default:return null}};return{items:P.map(A=>typeof A=="number"?{onClick:T=>{h(T,A)},type:"page",page:A,selected:A===b,disabled:s,"aria-current":A===b?"page":void 0}:{onClick:T=>{h(T,$(A))},type:A,page:$(A),selected:!1,disabled:s||!A.includes("ellipsis")&&(A==="next"||A==="last"?b>=r:b<=1)}),...g}}function Xh(t){return V("MuiPaginationItem",t)}const ye=K("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon","colorPrimary","colorSecondary"]),rl=Qt(f.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),nl=Qt(f.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage"),_h=Qt(f.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),Yh=Qt(f.jsx("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),sl=(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${B(o.size)}`],o.variant==="text"&&e[`text${B(o.color)}`],o.variant==="outlined"&&e[`outlined${B(o.color)}`],o.shape==="rounded"&&e.rounded,o.type==="page"&&e.page,(o.type==="start-ellipsis"||o.type==="end-ellipsis")&&e.ellipsis,(o.type==="previous"||o.type==="next")&&e.previousNext,(o.type==="first"||o.type==="last")&&e.firstLast]},Zh=t=>{const{classes:e,color:o,disabled:r,selected:n,size:s,shape:a,type:i,variant:l}=t,c={root:["root",`size${B(s)}`,l,a,o!=="standard"&&`color${B(o)}`,o!=="standard"&&`${l}${B(o)}`,r&&"disabled",n&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[i]],icon:["icon"]};return G(c,Xh,e)},Qh=k("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:sl})(W(({theme:t})=>({...t.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(t.vars||t).palette.text.primary,height:"auto",[`&.${ye.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:{size:"small"},style:{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:t.typography.pxToRem(15)}}]}))),Jh=k(ue,{name:"MuiPaginationItem",slot:"Root",overridesResolver:sl})(W(({theme:t})=>({...t.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(t.vars||t).palette.text.primary,[`&.${ye.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${ye.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},transition:t.transitions.create(["color","background-color"],{duration:t.transitions.duration.short}),"&:hover":{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ye.selected}`]:{backgroundColor:(t.vars||t).palette.action.selected,"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(t.vars||t).palette.action.selected}},[`&.${ye.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)},[`&.${ye.disabled}`]:{opacity:1,color:(t.vars||t).palette.action.disabled,backgroundColor:(t.vars||t).palette.action.selected}},variants:[{props:{size:"small"},style:{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:t.typography.pxToRem(15)}},{props:{shape:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:{variant:"outlined"},style:{border:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${ye.selected}`]:{[`&.${ye.disabled}`]:{borderColor:(t.vars||t).palette.action.disabledBackground,color:(t.vars||t).palette.action.disabled}}}},{props:{variant:"text"},style:{[`&.${ye.selected}`]:{[`&.${ye.disabled}`]:{color:(t.vars||t).palette.action.disabled}}}},...Object.entries(t.palette).filter(jt(["dark","contrastText"])).map(([e])=>({props:{variant:"text",color:e},style:{[`&.${ye.selected}`]:{color:(t.vars||t).palette[e].contrastText,backgroundColor:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:(t.vars||t).palette[e].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[e].main}},[`&.${ye.focusVisible}`]:{backgroundColor:(t.vars||t).palette[e].dark},[`&.${ye.disabled}`]:{color:(t.vars||t).palette.action.disabled}}}})),...Object.entries(t.palette).filter(jt(["light"])).map(([e])=>({props:{variant:"outlined",color:e},style:{[`&.${ye.selected}`]:{color:(t.vars||t).palette[e].main,border:`1px solid ${t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.5)`:kt(t.palette[e].main,.5)}`,backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.activatedOpacity})`:kt(t.palette[e].main,t.palette.action.activatedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.activatedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette[e].main,t.palette.action.activatedOpacity+t.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ye.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.activatedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette[e].main,t.palette.action.activatedOpacity+t.palette.action.focusOpacity)}}}}))]}))),ty=k("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:(t,e)=>e.icon})(W(({theme:t})=>({fontSize:t.typography.pxToRem(20),margin:"0 -8px",variants:[{props:{size:"small"},style:{fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:t.typography.pxToRem(22)}}]}))),ey=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiPaginationItem"}),{className:n,color:s="standard",component:a,components:i={},disabled:l=!1,page:c,selected:p=!1,shape:u="circular",size:m="medium",slots:g={},slotProps:b={},type:v="page",variant:h="text",...y}=r,S={...r,color:s,disabled:l,selected:p,shape:u,size:m,type:v,variant:h},C=Ke(),x=Zh(S),w={slots:{previous:g.previous??i.previous,next:g.next??i.next,first:g.first??i.first,last:g.last??i.last},slotProps:b},[P,$]=Q("previous",{elementType:_h,externalForwardedProps:w,ownerState:S}),[I,A]=Q("next",{elementType:Yh,externalForwardedProps:w,ownerState:S}),[T,z]=Q("first",{elementType:rl,externalForwardedProps:w,ownerState:S}),[E,R]=Q("last",{elementType:nl,externalForwardedProps:w,ownerState:S}),M=C?{previous:"next",next:"previous",first:"last",last:"first"}[v]:v,O={previous:P,next:I,first:T,last:E}[M],L={previous:$,next:A,first:z,last:R}[M];return v==="start-ellipsis"||v==="end-ellipsis"?f.jsx(Qh,{ref:o,ownerState:S,className:j(x.root,n),children:"…"}):f.jsxs(Jh,{ref:o,ownerState:S,component:a,disabled:l,className:j(x.root,n),...y,children:[v==="page"&&c,O?f.jsx(ty,{...L,className:x.icon,as:O}):null]})}),oy=t=>{const{classes:e,variant:o}=t;return G({root:["root",o],ul:["ul"]},Kh,e)},ry=k("nav",{name:"MuiPagination",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant]]}})({}),ny=k("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:(t,e)=>e.ul})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function sy(t,e,o){return t==="page"?`${o?"":"Go to "}page ${e}`:`Go to ${t} page`}const i1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiPagination"}),{boundaryCount:n=1,className:s,color:a="standard",count:i=1,defaultPage:l=1,disabled:c=!1,getItemAriaLabel:p=sy,hideNextButton:u=!1,hidePrevButton:m=!1,onChange:g,page:b,renderItem:v=T=>f.jsx(ey,{...T}),shape:h="circular",showFirstButton:y=!1,showLastButton:S=!1,siblingCount:C=1,size:x="medium",variant:w="text",...P}=r,{items:$}=qh({...r,componentName:"Pagination"}),I={...r,boundaryCount:n,color:a,count:i,defaultPage:l,disabled:c,getItemAriaLabel:p,hideNextButton:u,hidePrevButton:m,renderItem:v,shape:h,showFirstButton:y,showLastButton:S,siblingCount:C,size:x,variant:w},A=oy(I);return f.jsx(ry,{"aria-label":"pagination navigation",className:j(A.root,s),ownerState:I,ref:o,...P,children:f.jsx(ny,{className:A.ul,ownerState:I,children:$.map((T,z)=>f.jsx("li",{children:v({...T,color:a,"aria-label":p(T.type,T.page,T.selected),shape:h,size:x,variant:w})},z))})})}),ay=Qt(f.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"),iy=Qt(f.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"),ly=k("span",{shouldForwardProp:ae})({position:"relative",display:"flex"}),cy=k(ay)({transform:"scale(1)"}),py=k(iy)(W(({theme:t})=>({left:0,position:"absolute",transform:"scale(0)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeIn,duration:t.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:"scale(1)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeOut,duration:t.transitions.duration.shortest})}}]})));function al(t){const{checked:e=!1,classes:o={},fontSize:r}=t,n={...t,checked:e};return f.jsxs(ly,{className:o.root,ownerState:n,children:[f.jsx(cy,{fontSize:r,className:o.background,ownerState:n}),f.jsx(py,{fontSize:r,className:o.dot,ownerState:n})]})}const il=d.createContext(void 0);function dy(){return d.useContext(il)}function uy(t){return V("MuiRadio",t)}const ja=K("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),fy=t=>{const{classes:e,color:o,size:r}=t,n={root:["root",`color${B(o)}`,r!=="medium"&&`size${B(r)}`]};return{...e,...G(n,uy,e)}},gy=k(ks,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiRadio",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.size!=="medium"&&e[`size${B(o.size)}`],e[`color${B(o.color)}`]]}})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,[`&.${ja.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:{color:"default",disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.action.active,t.palette.action.hoverOpacity)}}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[e].main,t.palette.action.hoverOpacity)}}})),...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,disabled:!1},style:{[`&.${ja.checked}`]:{color:(t.vars||t).palette[e].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]})));function my(t,e){return typeof e=="object"&&e!==null?t===e:String(t)===String(e)}const by=f.jsx(al,{checked:!0}),vy=f.jsx(al,{}),l1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiRadio"}),{checked:n,checkedIcon:s=by,color:a="primary",icon:i=vy,name:l,onChange:c,size:p="medium",className:u,disabled:m,disableRipple:g=!1,slots:b={},slotProps:v={},inputProps:h,...y}=r,S=He();let C=m;S&&typeof C>"u"&&(C=S.disabled),C??=!1;const x={...r,disabled:C,disableRipple:g,color:a,size:p},w=fy(x),P=dy();let $=n;const I=Gn(c,P&&P.onChange);let A=l;P&&(typeof $>"u"&&($=my(P.value,r.value)),typeof A>"u"&&(A=P.name));const T=v.input??h,[z,E]=Q("root",{ref:o,elementType:gy,className:j(w.root,u),shouldForwardComponentProp:!0,externalForwardedProps:{slots:b,slotProps:v,...y},getSlotProps:R=>({...R,onChange:(M,...O)=>{var L;(L=R.onChange)==null||L.call(R,M,...O),I(M,...O)}}),ownerState:x,additionalProps:{type:"radio",icon:d.cloneElement(i,{fontSize:i.props.fontSize??p}),checkedIcon:d.cloneElement(s,{fontSize:s.props.fontSize??p}),disabled:C,name:A,checked:$,slots:b,slotProps:{input:typeof T=="function"?T(x):T}}});return f.jsx(z,{...E,classes:w})});function hy(t){return V("MuiRadioGroup",t)}const c1=K("MuiRadioGroup",["root","row","error"]),yy=t=>{const{classes:e,row:o,error:r}=t;return G({root:["root",o&&"row",r&&"error"]},hy,e)},p1=d.forwardRef(function(e,o){const{actions:r,children:n,className:s,defaultValue:a,name:i,onChange:l,value:c,...p}=e,u=d.useRef(null),m=yy(e),[g,b]=Te({controlled:c,default:a,name:"RadioGroup"});d.useImperativeHandle(r,()=>({focus:()=>{let S=u.current.querySelector("input:not(:disabled):checked");S||(S=u.current.querySelector("input:not(:disabled)")),S&&S.focus()}}),[]);const v=qt(o,u),h=De(i),y=d.useMemo(()=>({name:h,onChange(S){b(S.target.value),l&&l(S,S.target.value)},value:g}),[h,l,b,g]);return f.jsx(il.Provider,{value:y,children:f.jsx(fb,{role:"radiogroup",ref:v,className:j(m.root,s),...p,children:n})})}),xy=Qt(f.jsx("path",{d:"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"}),"Star"),Cy=Qt(f.jsx("path",{d:"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"}),"StarBorder");function Sy(t){return V("MuiRating",t)}const nr=K("MuiRating",["root","sizeSmall","sizeMedium","sizeLarge","readOnly","disabled","focusVisible","visuallyHidden","pristine","label","labelEmptyValueActive","icon","iconEmpty","iconFilled","iconHover","iconFocus","iconActive","decimal"]);function wy(t){const e=t.toString().split(".")[1];return e?e.length:0}function Nn(t,e){if(t==null)return t;const o=Math.round(t/e)*e;return Number(o.toFixed(wy(e)))}const Ry=t=>{const{classes:e,size:o,readOnly:r,disabled:n,emptyValueFocused:s,focusVisible:a}=t,i={root:["root",`size${B(o)}`,n&&"disabled",a&&"focusVisible",r&&"readOnly"],label:["label","pristine"],labelEmptyValue:[s&&"labelEmptyValueActive"],icon:["icon"],iconEmpty:["iconEmpty"],iconFilled:["iconFilled"],iconHover:["iconHover"],iconFocus:["iconFocus"],iconActive:["iconActive"],decimal:["decimal"],visuallyHidden:["visuallyHidden"]};return G(i,Sy,e)},Py=k("span",{name:"MuiRating",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${nr.visuallyHidden}`]:e.visuallyHidden},e.root,e[`size${B(o.size)}`],o.readOnly&&e.readOnly]}})(W(({theme:t})=>({display:"inline-flex",position:"relative",fontSize:t.typography.pxToRem(24),color:"#faaf00",cursor:"pointer",textAlign:"left",width:"min-content",WebkitTapHighlightColor:"transparent",[`&.${nr.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${nr.focusVisible} .${nr.iconActive}`]:{outline:"1px solid #999"},[`& .${nr.visuallyHidden}`]:vi,variants:[{props:{size:"small"},style:{fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:t.typography.pxToRem(30)}},{props:({ownerState:e})=>e.readOnly,style:{pointerEvents:"none"}}]}))),ll=k("label",{name:"MuiRating",slot:"Label",overridesResolver:({ownerState:t},e)=>[e.label,t.emptyValueFocused&&e.labelEmptyValueActive]})({cursor:"inherit",variants:[{props:({ownerState:t})=>t.emptyValueFocused,style:{top:0,bottom:0,position:"absolute",outline:"1px solid #999",width:"100%"}}]}),$y=k("span",{name:"MuiRating",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,o.iconEmpty&&e.iconEmpty,o.iconFilled&&e.iconFilled,o.iconHover&&e.iconHover,o.iconFocus&&e.iconFocus,o.iconActive&&e.iconActive]}})(W(({theme:t})=>({display:"flex",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),pointerEvents:"none",variants:[{props:({ownerState:e})=>e.iconActive,style:{transform:"scale(1.2)"}},{props:({ownerState:e})=>e.iconEmpty,style:{color:(t.vars||t).palette.action.disabled}}]}))),ky=k("span",{name:"MuiRating",slot:"Decimal",shouldForwardProp:t=>Rr(t)&&t!=="iconActive",overridesResolver:(t,e)=>{const{iconActive:o}=t;return[e.decimal,o&&e.iconActive]}})({position:"relative",variants:[{props:({iconActive:t})=>t,style:{transform:"scale(1.2)"}}]});function Iy(t){const{value:e,...o}=t;return f.jsx("span",{...o})}function Da(t){const{classes:e,disabled:o,emptyIcon:r,focus:n,getLabelText:s,highlightSelectedOnly:a,hover:i,icon:l,IconContainerComponent:c,isActive:p,itemValue:u,labelProps:m,name:g,onBlur:b,onChange:v,onClick:h,onFocus:y,readOnly:S,ownerState:C,ratingValue:x,ratingValueRounded:w,slots:P={},slotProps:$={}}=t,I=a?u===x:u<=x,A=u<=i,T=u<=n,z=u===w,E=`${g}-${De()}`,R={slots:P,slotProps:$},[M,O]=Q("icon",{elementType:$y,className:j(e.icon,I?e.iconFilled:e.iconEmpty,A&&e.iconHover,T&&e.iconFocus,p&&e.iconActive),externalForwardedProps:R,ownerState:{...C,iconEmpty:!I,iconFilled:I,iconHover:A,iconFocus:T,iconActive:p},additionalProps:{value:u},internalForwardedProps:{as:c}}),[L,F]=Q("label",{elementType:ll,externalForwardedProps:R,ownerState:{...C,emptyValueFocused:void 0},additionalProps:{style:m==null?void 0:m.style,htmlFor:E}}),D=f.jsx(M,{...O,children:r&&!I?r:l});return S?f.jsx("span",{...m,children:D}):f.jsxs(d.Fragment,{children:[f.jsxs(L,{...F,children:[D,f.jsx("span",{className:e.visuallyHidden,children:s(u)})]}),f.jsx("input",{className:e.visuallyHidden,onFocus:y,onBlur:b,onChange:v,onClick:h,disabled:o,value:u,id:E,type:"radio",name:g,checked:z})]})}const Ty=f.jsx(xy,{fontSize:"inherit"}),My=f.jsx(Cy,{fontSize:"inherit"});function Ly(t){return`${t||"0"} Star${t!==1?"s":""}`}const d1=d.forwardRef(function(e,o){const r=_({name:"MuiRating",props:e}),{component:n="span",className:s,defaultValue:a=null,disabled:i=!1,emptyIcon:l=My,emptyLabelText:c="Empty",getLabelText:p=Ly,highlightSelectedOnly:u=!1,icon:m=Ty,IconContainerComponent:g=Iy,max:b=5,name:v,onChange:h,onChangeActive:y,onMouseLeave:S,onMouseMove:C,precision:x=1,readOnly:w=!1,size:P="medium",value:$,slots:I={},slotProps:A={},...T}=r,z=De(v),[E,R]=Te({controlled:$,default:a,name:"Rating"}),M=Nn(E,x),O=Ke(),[{hover:L,focus:F},D]=d.useState({hover:-1,focus:-1});let N=M;L!==-1&&(N=L),F!==-1&&(N=F);const[J,U]=d.useState(!1),wt=d.useRef(),vt=qt(wt,o),mt=gt=>{C&&C(gt);const nt=wt.current,{right:Tt,left:At,width:q}=nt.getBoundingClientRect();let lt;O?lt=(Tt-gt.clientX)/q:lt=(gt.clientX-At)/q;let bt=Nn(b*lt+x/2,x);bt=Ro(bt,x,b),D($t=>$t.hover===bt&&$t.focus===bt?$t:{hover:bt,focus:bt}),U(!1),y&&L!==bt&&y(gt,bt)},et=gt=>{S&&S(gt);const nt=-1;D({hover:nt,focus:nt}),y&&L!==nt&&y(gt,nt)},rt=gt=>{let nt=gt.target.value===""?null:parseFloat(gt.target.value);L!==-1&&(nt=L),R(nt),h&&h(gt,nt)},Y=gt=>{gt.clientX===0&>.clientY===0||(D({hover:-1,focus:-1}),R(null),h&&parseFloat(gt.target.value)===M&&h(gt,null))},at=gt=>{Ze(gt.target)&&U(!0);const nt=parseFloat(gt.target.value);D(Tt=>({hover:Tt.hover,focus:nt}))},ct=gt=>{if(L!==-1)return;Ze(gt.target)||U(!1);const nt=-1;D(Tt=>({hover:Tt.hover,focus:nt}))},[st,ft]=d.useState(!1),Z={...r,component:n,defaultValue:a,disabled:i,emptyIcon:l,emptyLabelText:c,emptyValueFocused:st,focusVisible:J,getLabelText:p,icon:m,IconContainerComponent:g,max:b,precision:x,readOnly:w,size:P},pt=Ry(Z),it={slots:I,slotProps:A},[ht,Mt]=Q("root",{ref:vt,className:j(pt.root,s),elementType:Py,externalForwardedProps:{...it,...T,component:n},getSlotProps:gt=>({...gt,onMouseMove:nt=>{var Tt;mt(nt),(Tt=gt.onMouseMove)==null||Tt.call(gt,nt)},onMouseLeave:nt=>{var Tt;et(nt),(Tt=gt.onMouseLeave)==null||Tt.call(gt,nt)}}),ownerState:Z,additionalProps:{role:w?"img":null,"aria-label":w?p(N):null}}),[tt,ot]=Q("label",{className:j(pt.label,pt.labelEmptyValue),elementType:ll,externalForwardedProps:it,ownerState:Z}),[dt,St]=Q("decimal",{className:pt.decimal,elementType:ky,externalForwardedProps:it,ownerState:Z});return f.jsxs(ht,{...Mt,children:[Array.from(new Array(b)).map((gt,nt)=>{const Tt=nt+1,At={classes:pt,disabled:i,emptyIcon:l,focus:F,getLabelText:p,highlightSelectedOnly:u,hover:L,icon:m,IconContainerComponent:g,name:z,onBlur:ct,onChange:rt,onClick:Y,onFocus:at,ratingValue:N,ratingValueRounded:M,readOnly:w,ownerState:Z,slots:I,slotProps:A},q=Tt===Math.ceil(N)&&(L!==-1||F!==-1);if(x<1){const lt=Array.from(new Array(1/x));return d.createElement(dt,{...St,key:Tt,className:j(St.className,q&&pt.iconActive),iconActive:q},lt.map((bt,$t)=>{const It=Nn(Tt-1+($t+1)*x,x);return f.jsx(Da,{...At,isActive:!1,itemValue:It,labelProps:{style:lt.length-1===$t?{}:{width:It===N?`${($t+1)*x*100}%`:"0%",overflow:"hidden",position:"absolute"}}},It)}))}return f.jsx(Da,{...At,isActive:q,itemValue:Tt},Tt)}),!w&&!i&&f.jsxs(tt,{...ot,children:[f.jsx("input",{className:pt.visuallyHidden,value:"",id:`${z}-empty`,type:"radio",name:z,checked:M==null,onFocus:()=>ft(!0),onBlur:()=>ft(!1),onChange:rt}),f.jsx("span",{className:pt.visuallyHidden,children:c})]})]})});function Ay(t){return V("MuiScopedCssBaseline",t)}const u1=K("MuiScopedCssBaseline",["root"]),By=t=>{const{classes:e}=t;return G({root:["root"]},Ay,e)},Ey=k("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>{const e={};return t.colorSchemes&&Object.entries(t.colorSchemes).forEach(([o,r])=>{var s,a;const n=t.getColorSchemeSelector(o);n.startsWith("@")?e[n]={colorScheme:(s=r.palette)==null?void 0:s.mode}:e[`&${n.replace(/\s*&/,"")}`]={colorScheme:(a=r.palette)==null?void 0:a.mode}}),{...Fi(t,!1),...Wi(t),"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:t.typography.fontWeightBold},variants:[{props:{enableColorScheme:!0},style:t.vars?e:{colorScheme:t.palette.mode}}]}})),f1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiScopedCssBaseline"}),{className:n,component:s="div",enableColorScheme:a,...i}=r,l={...r,component:s},c=By(l);return f.jsx(Ey,{as:s,className:j(c.root,n),ref:o,ownerState:l,...i})});function cl(t){return V("MuiSelect",t)}const sr=K("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var Fa;const Oy=k(tl,{name:"MuiSelect",slot:"Select",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`&.${sr.select}`]:e.select},{[`&.${sr.select}`]:e[o.variant]},{[`&.${sr.error}`]:e.error},{[`&.${sr.multiple}`]:e.multiple}]}})({[`&.${sr.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),Ny=k(el,{name:"MuiSelect",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,o.variant&&e[`icon${B(o.variant)}`],o.open&&e.iconOpen]}})({}),zy=k("input",{shouldForwardProp:t=>Rr(t)&&t!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(t,e)=>e.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function Wa(t,e){return typeof e=="object"&&e!==null?t===e:String(t)===String(e)}function jy(t){return t==null||typeof t=="string"&&!t.trim()}const Dy=t=>{const{classes:e,variant:o,disabled:r,multiple:n,open:s,error:a}=t,i={select:["select",o,r&&"disabled",n&&"multiple",a&&"error"],icon:["icon",`icon${B(o)}`,s&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return G(i,cl,e)},Fy=d.forwardRef(function(e,o){var Gt;const{"aria-describedby":r,"aria-label":n,autoFocus:s,autoWidth:a,children:i,className:l,defaultOpen:c,defaultValue:p,disabled:u,displayEmpty:m,error:g=!1,IconComponent:b,inputRef:v,labelId:h,MenuProps:y={},multiple:S,name:C,onBlur:x,onChange:w,onClose:P,onFocus:$,onOpen:I,open:A,readOnly:T,renderValue:z,required:E,SelectDisplayProps:R={},tabIndex:M,type:O,value:L,variant:F="standard",...D}=e,[N,J]=Te({controlled:L,default:p,name:"Select"}),[U,wt]=Te({controlled:A,default:c,name:"Select"}),vt=d.useRef(null),mt=d.useRef(null),[et,rt]=d.useState(null),{current:Y}=d.useRef(A!=null),[at,ct]=d.useState(),st=qt(o,v),ft=d.useCallback(xt=>{mt.current=xt,xt&&rt(xt)},[]),Z=et==null?void 0:et.parentNode;d.useImperativeHandle(st,()=>({focus:()=>{mt.current.focus()},node:vt.current,value:N}),[N]),d.useEffect(()=>{c&&U&&et&&!Y&&(ct(a?null:Z.clientWidth),mt.current.focus())},[et,a]),d.useEffect(()=>{s&&mt.current.focus()},[s]),d.useEffect(()=>{if(!h)return;const xt=te(mt.current).getElementById(h);if(xt){const Bt=()=>{getSelection().isCollapsed&&mt.current.focus()};return xt.addEventListener("click",Bt),()=>{xt.removeEventListener("click",Bt)}}},[h]);const pt=(xt,Bt)=>{xt?I&&I(Bt):P&&P(Bt),Y||(ct(a?null:Z.clientWidth),wt(xt))},it=xt=>{xt.button===0&&(xt.preventDefault(),mt.current.focus(),pt(!0,xt))},ht=xt=>{pt(!1,xt)},Mt=d.Children.toArray(i),tt=xt=>{const Bt=Mt.find(Xt=>Xt.props.value===xt.target.value);Bt!==void 0&&(J(Bt.props.value),w&&w(xt,Bt))},ot=xt=>Bt=>{let Xt;if(Bt.currentTarget.hasAttribute("tabindex")){if(S){Xt=Array.isArray(N)?N.slice():[];const oe=N.indexOf(xt.props.value);oe===-1?Xt.push(xt.props.value):Xt.splice(oe,1)}else Xt=xt.props.value;if(xt.props.onClick&&xt.props.onClick(Bt),N!==Xt&&(J(Xt),w)){const oe=Bt.nativeEvent||Bt,fe=new oe.constructor(oe.type,oe);Object.defineProperty(fe,"target",{writable:!0,value:{value:Xt,name:C}}),w(fe,xt)}S||pt(!1,Bt)}},dt=xt=>{T||[" ","ArrowUp","ArrowDown","Enter"].includes(xt.key)&&(xt.preventDefault(),pt(!0,xt))},St=et!==null&&U,gt=xt=>{!St&&x&&(Object.defineProperty(xt,"target",{writable:!0,value:{value:N,name:C}}),x(xt))};delete D["aria-invalid"];let nt,Tt;const At=[];let q=!1;(an({value:N})||m)&&(z?nt=z(N):q=!0);const lt=Mt.map(xt=>{if(!d.isValidElement(xt))return null;let Bt;if(S){if(!Array.isArray(N))throw new Error(Oo(2));Bt=N.some(Xt=>Wa(Xt,xt.props.value)),Bt&&q&&At.push(xt.props.children)}else Bt=Wa(N,xt.props.value),Bt&&q&&(Tt=xt.props.children);return d.cloneElement(xt,{"aria-selected":Bt?"true":"false",onClick:ot(xt),onKeyUp:Xt=>{Xt.key===" "&&Xt.preventDefault(),xt.props.onKeyUp&&xt.props.onKeyUp(Xt)},role:"option",selected:Bt,value:void 0,"data-value":xt.props.value})});q&&(S?At.length===0?nt=null:nt=At.reduce((xt,Bt,Xt)=>(xt.push(Bt),Xt{const{classes:e}=t,r=G({root:["root"]},cl,e);return{...e,...r}},Bs={name:"MuiSelect",overridesResolver:(t,e)=>e.root,shouldForwardProp:t=>ae(t)&&t!=="variant",slot:"Root"},Uy=k(Rn,Bs)(""),Hy=k(As,Bs)(""),Vy=k(Ts,Bs)(""),Es=d.forwardRef(function(e,o){const r=_({name:"MuiSelect",props:e}),{autoWidth:n=!1,children:s,classes:a={},className:i,defaultOpen:l=!1,displayEmpty:c=!1,IconComponent:p=$s,id:u,input:m,inputProps:g,label:b,labelId:v,MenuProps:h,multiple:y=!1,native:S=!1,onClose:C,onOpen:x,open:w,renderValue:P,SelectDisplayProps:$,variant:I="outlined",...A}=r,T=S?ol:Fy,z=He(),E=lo({props:r,muiFormControl:z,states:["variant","error"]}),R=E.variant||I,M={...r,variant:R,classes:a},O=Wy(M),{root:L,...F}=O,D=m||{standard:f.jsx(Uy,{ownerState:M}),outlined:f.jsx(Hy,{label:b,ownerState:M}),filled:f.jsx(Vy,{ownerState:M})}[R],N=qt(o,io(D));return f.jsx(d.Fragment,{children:d.cloneElement(D,{inputComponent:T,inputProps:{children:s,error:E.error,IconComponent:p,variant:R,type:void 0,multiple:y,...S?{id:u}:{autoWidth:n,defaultOpen:l,displayEmpty:c,labelId:v,MenuProps:h,onClose:C,onOpen:x,open:w,renderValue:P,SelectDisplayProps:{id:u,...$}},...g,classes:g?wr(F,g.classes):F,...m?m.props.inputProps:{}},...(y&&S||c)&&R==="outlined"?{notched:!0}:{},ref:N,className:j(D.props.className,i,O.root),...!m&&{variant:R},...A})})});Es.muiName="Select";function Gy(t){return V("MuiSkeleton",t)}const g1=K("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]),Ky=t=>{const{classes:e,variant:o,animation:r,hasChildren:n,width:s,height:a}=t;return G({root:["root",o,r,n&&"withChildren",n&&!s&&"fitContent",n&&!a&&"heightAuto"]},Gy,e)},ls=Je` +`,Pv=typeof as!="string"?Oo` + animation: ${as} 3s infinite linear; + `:null,$v=t=>{const{classes:e,variant:o,color:r}=t,n={root:["root",`color${B(r)}`,o],dashed:["dashed",`dashedColor${B(r)}`],bar1:["bar","bar1",`barColor${B(r)}`,(o==="indeterminate"||o==="query")&&"bar1Indeterminate",o==="determinate"&&"bar1Determinate",o==="buffer"&&"bar1Buffer"],bar2:["bar","bar2",o!=="buffer"&&`barColor${B(r)}`,o==="buffer"&&`color${B(r)}`,(o==="indeterminate"||o==="query")&&"bar2Indeterminate",o==="buffer"&&"bar2Buffer"]};return G(n,Sv,e)},Ts=(t,e)=>t.vars?t.vars.palette.LinearProgress[`${e}Bg`]:t.palette.mode==="light"?Ao(t.palette[e].main,.62):Lo(t.palette[e].main,.5),kv=k("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`color${B(o.color)}`],e[o.variant]]}})(W(({theme:t})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{backgroundColor:Ts(t,e)}})),{props:({ownerState:e})=>e.color==="inherit"&&e.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)"}}]}))),Iv=k("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.dashed,e[`dashedColor${B(o.color)}`]]}})(W(({theme:t})=>({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(t.palette).filter(jt()).map(([e])=>{const o=Ts(t,e);return{props:{color:e},style:{backgroundImage:`radial-gradient(${o} 0%, ${o} 16%, transparent 42%)`}}})]})),Pv||{animation:`${as} 3s infinite linear`}),Tv=k("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.bar,e.bar1,e[`barColor${B(o.color)}`],(o.variant==="indeterminate"||o.variant==="query")&&e.bar1Indeterminate,o.variant==="determinate"&&e.bar1Determinate,o.variant==="buffer"&&e.bar1Buffer]}})(W(({theme:t})=>({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(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{backgroundColor:(t.vars||t).palette[e].main}})),{props:{variant:"determinate"},style:{transition:`transform .${rs}s linear`}},{props:{variant:"buffer"},style:{zIndex:1,transition:`transform .${rs}s linear`}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:{width:"auto"}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:wv||{animation:`${ns} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),Mv=k("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.bar,e.bar2,e[`barColor${B(o.color)}`],(o.variant==="indeterminate"||o.variant==="query")&&e.bar2Indeterminate,o.variant==="buffer"&&e.bar2Buffer]}})(W(({theme:t})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{"--LinearProgressBar2-barColor":(t.vars||t).palette[e].main}})),{props:({ownerState:e})=>e.variant!=="buffer"&&e.color!=="inherit",style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:e})=>e.variant!=="buffer"&&e.color==="inherit",style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,variant:"buffer"},style:{backgroundColor:Ts(t,e),transition:`transform .${rs}s linear`}})),{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:{width:"auto"}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:Rv||{animation:`${ss} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),Lv=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiLinearProgress"}),{className:n,color:s="primary",value:a,valueBuffer:i,variant:l="indeterminate",...c}=r,p={...r,color:s,variant:l},u=$v(p),m=Ke(),g={},b={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&a!==void 0){g["aria-valuenow"]=Math.round(a),g["aria-valuemin"]=0,g["aria-valuemax"]=100;let v=a-100;m&&(v=-v),b.bar1.transform=`translateX(${v}%)`}if(l==="buffer"&&i!==void 0){let v=(i||0)-100;m&&(v=-v),b.bar2.transform=`translateX(${v}%)`}return f.jsxs(kv,{className:j(u.root,n),ownerState:p,role:"progressbar",...g,ref:o,...c,children:[l==="buffer"?f.jsx(Iv,{className:u.dashed,ownerState:p}):null,f.jsx(Tv,{className:u.bar1,ownerState:p,style:b.bar1}),l==="determinate"?null:f.jsx(Mv,{className:u.bar2,ownerState:p,style:b.bar2})]})});function Av(t){return V("MuiLink",t)}const Bv=K("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),Ev=({theme:t,ownerState:e})=>{const o=e.color,r=Ar(t,`palette.${o}.main`,!1)||Ar(t,`palette.${o}`,!1)||e.color,n=Ar(t,`palette.${o}.mainChannel`)||Ar(t,`palette.${o}Channel`);return"vars"in t&&n?`rgba(${n} / 0.4)`:kt(r,.4)},Ta={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},Ov=t=>{const{classes:e,component:o,focusVisible:r,underline:n}=t,s={root:["root",`underline${B(n)}`,o==="button"&&"button",r&&"focusVisible"]};return G(s,Av,e)},Nv=k(he,{name:"MuiLink",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`underline${B(o.underline)}`],o.component==="button"&&e.button]}})(W(({theme:t})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:e,ownerState:o})=>e==="always"&&o.color!=="inherit",style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{underline:"always",color:e},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.4)`:kt(t.palette[e].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette.text.primaryChannel} / 0.4)`:kt(t.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette.text.secondaryChannel} / 0.4)`:kt(t.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(t.vars||t).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Bv.focusVisible}`]:{outline:"auto"}}}]}))),Kw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiLink"}),n=le(),{className:s,color:a="primary",component:i="a",onBlur:l,onFocus:c,TypographyClasses:p,underline:u="always",variant:m="inherit",sx:g,...b}=r,[v,h]=d.useState(!1),y=w=>{Ze(w.target)||h(!1),l&&l(w)},S=w=>{Ze(w.target)&&h(!0),c&&c(w)},C={...r,color:a,component:i,focusVisible:v,underline:u,variant:m},x=Ov(C);return f.jsx(Nv,{color:a,className:j(x.root,s),classes:p,component:i,onBlur:y,onFocus:S,ref:o,ownerState:C,variant:m,...b,sx:[...Ta[a]===void 0?[{color:a}]:[],...Array.isArray(g)?g:[g]],style:{...b.style,...u==="always"&&a!=="inherit"&&!Ta[a]&&{"--Link-underlineColor":Ev({theme:n,ownerState:C})}}})}),je=d.createContext({});function zv(t){return V("MuiList",t)}const qw=K("MuiList",["root","padding","dense","subheader"]),jv=t=>{const{classes:e,disablePadding:o,dense:r,subheader:n}=t;return G({root:["root",!o&&"padding",r&&"dense",n&&"subheader"]},zv,e)},Dv=k("ul",{name:"MuiList",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disablePadding&&e.padding,o.dense&&e.dense,o.subheader&&e.subheader]}})({listStyle:"none",margin:0,padding:0,position:"relative",variants:[{props:({ownerState:t})=>!t.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:t})=>t.subheader,style:{paddingTop:0}}]}),Fv=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiList"}),{children:n,className:s,component:a="ul",dense:i=!1,disablePadding:l=!1,subheader:c,...p}=r,u=d.useMemo(()=>({dense:i}),[i]),m={...r,component:a,dense:i,disablePadding:l},g=jv(m);return f.jsx(je.Provider,{value:u,children:f.jsxs(Dv,{as:a,className:j(g.root,s),ref:o,ownerState:m,...p,children:[c,n]})})});function Wv(t){return V("MuiListItem",t)}const Xw=K("MuiListItem",["root","container","dense","alignItemsFlexStart","divider","gutters","padding","secondaryAction"]);function Uv(t){return V("MuiListItemButton",t)}const Fo=K("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]),Hv=(t,e)=>{const{ownerState:o}=t;return[e.root,o.dense&&e.dense,o.alignItems==="flex-start"&&e.alignItemsFlexStart,o.divider&&e.divider,!o.disableGutters&&e.gutters]},Vv=t=>{const{alignItems:e,classes:o,dense:r,disabled:n,disableGutters:s,divider:a,selected:i}=t,c=G({root:["root",r&&"dense",!s&&"gutters",a&&"divider",n&&"disabled",e==="flex-start"&&"alignItemsFlexStart",i&&"selected"]},Uv,o);return{...o,...c}},Gv=k(ue,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:Hv})(W(({theme:t})=>({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:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Fo.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${Fo.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}},[`&.${Fo.selected}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity)}},[`&.${Fo.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${Fo.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:({ownerState:e})=>e.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.dense,style:{paddingTop:4,paddingBottom:4}}]}))),_w=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemButton"}),{alignItems:n="center",autoFocus:s=!1,component:a="div",children:i,dense:l=!1,disableGutters:c=!1,divider:p=!1,focusVisibleClassName:u,selected:m=!1,className:g,...b}=r,v=d.useContext(je),h=d.useMemo(()=>({dense:l||v.dense||!1,alignItems:n,disableGutters:c}),[n,v.dense,l,c]),y=d.useRef(null);be(()=>{s&&y.current&&y.current.focus()},[s]);const S={...r,alignItems:n,dense:h.dense,disableGutters:c,divider:p,selected:m},C=Vv(S),x=qt(y,o);return f.jsx(je.Provider,{value:h,children:f.jsx(Gv,{ref:x,href:b.href||b.to,component:(b.href||b.to)&&a==="div"?"button":a,focusVisibleClassName:j(C.focusVisible,u),ownerState:S,className:j(C.root,g),...b,classes:C,children:i})})});function Kv(t){return V("MuiListItemSecondaryAction",t)}const Yw=K("MuiListItemSecondaryAction",["root","disableGutters"]),qv=t=>{const{disableGutters:e,classes:o}=t;return G({root:["root",e&&"disableGutters"]},Kv,o)},Xv=k("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.disableGutters&&e.disableGutters]}})({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)",variants:[{props:({ownerState:t})=>t.disableGutters,style:{right:0}}]}),_i=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemSecondaryAction"}),{className:n,...s}=r,a=d.useContext(je),i={...r,disableGutters:a.disableGutters},l=qv(i);return f.jsx(Xv,{className:j(l.root,n),ownerState:i,ref:o,...s})});_i.muiName="ListItemSecondaryAction";const _v=(t,e)=>{const{ownerState:o}=t;return[e.root,o.dense&&e.dense,o.alignItems==="flex-start"&&e.alignItemsFlexStart,o.divider&&e.divider,!o.disableGutters&&e.gutters,!o.disablePadding&&e.padding,o.hasSecondaryAction&&e.secondaryAction]},Yv=t=>{const{alignItems:e,classes:o,dense:r,disableGutters:n,disablePadding:s,divider:a,hasSecondaryAction:i}=t;return G({root:["root",r&&"dense",!n&&"gutters",!s&&"padding",a&&"divider",e==="flex-start"&&"alignItemsFlexStart",i&&"secondaryAction"],container:["container"]},Wv,o)},Zv=k("div",{name:"MuiListItem",slot:"Root",overridesResolver:_v})(W(({theme:t})=>({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left",variants:[{props:({ownerState:e})=>!e.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:e})=>!e.disablePadding&&e.dense,style:{paddingTop:4,paddingBottom:4}},{props:({ownerState:e})=>!e.disablePadding&&!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>!e.disablePadding&&!!e.secondaryAction,style:{paddingRight:48}},{props:({ownerState:e})=>!!e.secondaryAction,style:{[`& > .${Fo.root}`]:{paddingRight:48}}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:e})=>e.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:e})=>e.button,style:{transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}}},{props:({ownerState:e})=>e.hasSecondaryAction,style:{paddingRight:48}}]}))),Qv=k("li",{name:"MuiListItem",slot:"Container",overridesResolver:(t,e)=>e.container})({position:"relative"}),Zw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItem"}),{alignItems:n="center",children:s,className:a,component:i,components:l={},componentsProps:c={},ContainerComponent:p="li",ContainerProps:{className:u,...m}={},dense:g=!1,disableGutters:b=!1,disablePadding:v=!1,divider:h=!1,secondaryAction:y,slotProps:S={},slots:C={},...x}=r,w=d.useContext(je),P=d.useMemo(()=>({dense:g||w.dense||!1,alignItems:n,disableGutters:b}),[n,w.dense,g,b]),$=d.useRef(null),I=d.Children.toArray(s),A=I.length&&ho(I[I.length-1],["ListItemSecondaryAction"]),T={...r,alignItems:n,dense:P.dense,disableGutters:b,disablePadding:v,divider:h,hasSecondaryAction:A},z=Yv(T),E=qt($,o),R=C.root||l.Root||Zv,M=S.root||c.root||{},O={className:j(z.root,M.className,a),...x};let L=i||"li";return A?(L=!O.component&&!i?"div":L,p==="li"&&(L==="li"?L="div":O.component==="li"&&(O.component="div")),f.jsx(je.Provider,{value:P,children:f.jsxs(Qv,{as:p,className:j(z.container,u),ref:E,ownerState:T,...m,children:[f.jsx(R,{...M,...!so(R)&&{as:L,ownerState:{...T,...M.ownerState}},...O,children:I}),I.pop()]})})):f.jsx(je.Provider,{value:P,children:f.jsxs(R,{...M,as:L,ref:E,...!so(R)&&{ownerState:{...T,...M.ownerState}},...O,children:[I,y&&f.jsx(_i,{children:y})]})})});function Jv(t){return V("MuiListItemAvatar",t)}const Qw=K("MuiListItemAvatar",["root","alignItemsFlexStart"]),th=t=>{const{alignItems:e,classes:o}=t;return G({root:["root",e==="flex-start"&&"alignItemsFlexStart"]},Jv,o)},eh=k("div",{name:"MuiListItemAvatar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.alignItems==="flex-start"&&e.alignItemsFlexStart]}})({minWidth:56,flexShrink:0,variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}),Jw=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemAvatar"}),{className:n,...s}=r,a=d.useContext(je),i={...r,alignItems:a.alignItems},l=th(i);return f.jsx(eh,{className:j(l.root,n),ownerState:i,ref:o,...s})});function oh(t){return V("MuiListItemIcon",t)}const Ma=K("MuiListItemIcon",["root","alignItemsFlexStart"]),rh=t=>{const{alignItems:e,classes:o}=t;return G({root:["root",e==="flex-start"&&"alignItemsFlexStart"]},oh,o)},nh=k("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.alignItems==="flex-start"&&e.alignItemsFlexStart]}})(W(({theme:t})=>({minWidth:56,color:(t.vars||t).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),t1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemIcon"}),{className:n,...s}=r,a=d.useContext(je),i={...r,alignItems:a.alignItems},l=rh(i);return f.jsx(nh,{className:j(l.root,n),ownerState:i,ref:o,...s})});function sh(t){return V("MuiListItemText",t)}const Uo=K("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),ah=t=>{const{classes:e,inset:o,primary:r,secondary:n,dense:s}=t;return G({root:["root",o&&"inset",s&&"dense",r&&n&&"multiline"],primary:["primary"],secondary:["secondary"]},sh,e)},ih=k("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Uo.primary}`]:e.primary},{[`& .${Uo.secondary}`]:e.secondary},e.root,o.inset&&e.inset,o.primary&&o.secondary&&e.multiline,o.dense&&e.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${nn.root}:where(& .${Uo.primary})`]:{display:"block"},[`.${nn.root}:where(& .${Uo.secondary})`]:{display:"block"},variants:[{props:({ownerState:t})=>t.primary&&t.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:t})=>t.inset,style:{paddingLeft:56}}]}),e1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiListItemText"}),{children:n,className:s,disableTypography:a=!1,inset:i=!1,primary:l,primaryTypographyProps:c,secondary:p,secondaryTypographyProps:u,slots:m={},slotProps:g={},...b}=r,{dense:v}=d.useContext(je);let h=l??n,y=p;const S={...r,disableTypography:a,inset:i,primary:!!h,secondary:!!y,dense:v},C=ah(S),x={slots:m,slotProps:{primary:c,secondary:u,...g}},[w,P]=Q("root",{className:j(C.root,s),elementType:ih,externalForwardedProps:{...x,...b},ownerState:S,ref:o}),[$,I]=Q("primary",{className:C.primary,elementType:he,externalForwardedProps:x,ownerState:S}),[A,T]=Q("secondary",{className:C.secondary,elementType:he,externalForwardedProps:x,ownerState:S});return h!=null&&h.type!==he&&!a&&(h=f.jsx($,{variant:v?"body2":"body1",component:I!=null&&I.variant?void 0:"span",...I,children:h})),y!=null&&y.type!==he&&!a&&(y=f.jsx(A,{variant:"body2",color:"textSecondary",...T,children:y})),f.jsxs(w,{...P,children:[h,y]})});function On(t,e,o){return t===e?t.firstChild:e&&e.nextElementSibling?e.nextElementSibling:o?null:t.firstChild}function La(t,e,o){return t===e?o?t.firstChild:t.lastChild:e&&e.previousElementSibling?e.previousElementSibling:o?null:t.lastChild}function Yi(t,e){if(e===void 0)return!0;let o=t.innerText;return o===void 0&&(o=t.textContent),o=o.trim().toLowerCase(),o.length===0?!1:e.repeating?o[0]===e.keys[0]:o.startsWith(e.keys.join(""))}function er(t,e,o,r,n,s){let a=!1,i=n(t,e,e?o:!1);for(;i;){if(i===t.firstChild){if(a)return!1;a=!0}const l=r?!1:i.disabled||i.getAttribute("aria-disabled")==="true";if(!i.hasAttribute("tabindex")||!Yi(i,s)||l)i=n(t,i,o);else return i.focus(),!0}return!1}const lh=d.forwardRef(function(e,o){const{actions:r,autoFocus:n=!1,autoFocusItem:s=!1,children:a,className:i,disabledItemsFocusable:l=!1,disableListWrap:c=!1,onKeyDown:p,variant:u="selectedMenu",...m}=e,g=d.useRef(null),b=d.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});be(()=>{n&&g.current.focus()},[n]),d.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(C,{direction:x})=>{const w=!g.current.style.width;if(C.clientHeight{const x=g.current,w=C.key;if(C.ctrlKey||C.metaKey||C.altKey){p&&p(C);return}const $=te(x).activeElement;if(w==="ArrowDown")C.preventDefault(),er(x,$,c,l,On);else if(w==="ArrowUp")C.preventDefault(),er(x,$,c,l,La);else if(w==="Home")C.preventDefault(),er(x,null,c,l,On);else if(w==="End")C.preventDefault(),er(x,null,c,l,La);else if(w.length===1){const I=b.current,A=w.toLowerCase(),T=performance.now();I.keys.length>0&&(T-I.lastTime>500?(I.keys=[],I.repeating=!0,I.previousKeyMatched=!0):I.repeating&&A!==I.keys[0]&&(I.repeating=!1)),I.lastTime=T,I.keys.push(A);const z=$&&!I.repeating&&Yi($,I);I.previousKeyMatched&&(z||er(x,$,!1,l,On,I))?C.preventDefault():I.previousKeyMatched=!1}p&&p(C)},h=qt(g,o);let y=-1;d.Children.forEach(a,(C,x)=>{if(!d.isValidElement(C)){y===x&&(y+=1,y>=a.length&&(y=-1));return}C.props.disabled||(u==="selectedMenu"&&C.props.selected||y===-1)&&(y=x),y===x&&(C.props.disabled||C.props.muiSkipListHighlight||C.type.muiSkipListHighlight)&&(y+=1,y>=a.length&&(y=-1))});const S=d.Children.map(a,(C,x)=>{if(x===y){const w={};return s&&(w.autoFocus=!0),C.props.tabIndex===void 0&&u==="selectedMenu"&&(w.tabIndex=0),d.cloneElement(C,w)}return C});return f.jsx(Fv,{role:"menu",ref:h,className:i,onKeyDown:v,tabIndex:n?0:-1,...m,children:S})});function ch(t){return V("MuiPopover",t)}const o1=K("MuiPopover",["root","paper"]);function Aa(t,e){let o=0;return typeof e=="number"?o=e:e==="center"?o=t.height/2:e==="bottom"&&(o=t.height),o}function Ba(t,e){let o=0;return typeof e=="number"?o=e:e==="center"?o=t.width/2:e==="right"&&(o=t.width),o}function Ea(t){return[t.horizontal,t.vertical].map(e=>typeof e=="number"?`${e}px`:e).join(" ")}function Dr(t){return typeof t=="function"?t():t}const ph=t=>{const{classes:e}=t;return G({root:["root"],paper:["paper"]},ch,e)},dh=k(ks,{name:"MuiPopover",slot:"Root",overridesResolver:(t,e)=>e.root})({}),Zi=k(Ue,{name:"MuiPopover",slot:"Paper",overridesResolver:(t,e)=>e.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),uh=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiPopover"}),{action:n,anchorEl:s,anchorOrigin:a={vertical:"top",horizontal:"left"},anchorPosition:i,anchorReference:l="anchorEl",children:c,className:p,container:u,elevation:m=8,marginThreshold:g=16,open:b,PaperProps:v={},slots:h={},slotProps:y={},transformOrigin:S={vertical:"top",horizontal:"left"},TransitionComponent:C,transitionDuration:x="auto",TransitionProps:w={},disableScrollLock:P=!1,...$}=r,I=d.useRef(),A={...r,anchorOrigin:a,anchorReference:l,elevation:m,marginThreshold:g,transformOrigin:S,TransitionComponent:C,transitionDuration:x,TransitionProps:w},T=ph(A),z=d.useCallback(()=>{if(l==="anchorPosition")return i;const st=Dr(s),Z=(st&&st.nodeType===1?st:te(I.current).body).getBoundingClientRect();return{top:Z.top+Aa(Z,a.vertical),left:Z.left+Ba(Z,a.horizontal)}},[s,a.horizontal,a.vertical,i,l]),E=d.useCallback(st=>({vertical:Aa(st,S.vertical),horizontal:Ba(st,S.horizontal)}),[S.horizontal,S.vertical]),R=d.useCallback(st=>{const ft={width:st.offsetWidth,height:st.offsetHeight},Z=E(ft);if(l==="none")return{top:null,left:null,transformOrigin:Ea(Z)};const pt=z();let it=pt.top-Z.vertical,ht=pt.left-Z.horizontal;const Mt=it+ft.height,tt=ht+ft.width,ot=me(Dr(s)),dt=ot.innerHeight-g,St=ot.innerWidth-g;if(g!==null&&itdt){const gt=Mt-dt;it-=gt,Z.vertical+=gt}if(g!==null&&htSt){const gt=tt-St;ht-=gt,Z.horizontal+=gt}return{top:`${Math.round(it)}px`,left:`${Math.round(ht)}px`,transformOrigin:Ea(Z)}},[s,l,z,E,g]),[M,O]=d.useState(b),L=d.useCallback(()=>{const st=I.current;if(!st)return;const ft=R(st);ft.top!==null&&st.style.setProperty("top",ft.top),ft.left!==null&&(st.style.left=ft.left),st.style.transformOrigin=ft.transformOrigin,O(!0)},[R]);d.useEffect(()=>(P&&window.addEventListener("scroll",L),()=>window.removeEventListener("scroll",L)),[s,P,L]);const F=()=>{L()},D=()=>{O(!1)};d.useEffect(()=>{b&&L()}),d.useImperativeHandle(n,()=>b?{updatePosition:()=>{L()}}:null,[b,L]),d.useEffect(()=>{if(!b)return;const st=Pr(()=>{L()}),ft=me(Dr(s));return ft.addEventListener("resize",st),()=>{st.clear(),ft.removeEventListener("resize",st)}},[s,b,L]);let N=x;const J={slots:{transition:C,...h},slotProps:{transition:w,paper:v,...y}},[U,wt]=Q("transition",{elementType:Cr,externalForwardedProps:J,ownerState:A,getSlotProps:st=>({...st,onEntering:(ft,Z)=>{var pt;(pt=st.onEntering)==null||pt.call(st,ft,Z),F()},onExited:ft=>{var Z;(Z=st.onExited)==null||Z.call(st,ft),D()}}),additionalProps:{appear:!0,in:b}});x==="auto"&&!U.muiSupportAuto&&(N=void 0);const vt=u||(s?te(Dr(s)).body:void 0),[mt,{slots:et,slotProps:rt,...Y}]=Q("root",{ref:o,elementType:dh,externalForwardedProps:{...J,...$},shouldForwardComponentProp:!0,additionalProps:{slots:{backdrop:h.backdrop},slotProps:{backdrop:Vo(typeof y.backdrop=="function"?y.backdrop(A):y.backdrop,{invisible:!0})},container:vt,open:b},ownerState:A,className:j(T.root,p)}),[at,ct]=Q("paper",{ref:I,className:T.paper,elementType:Zi,externalForwardedProps:J,shouldForwardComponentProp:!0,additionalProps:{elevation:m,style:M?void 0:{opacity:0}},ownerState:A});return f.jsx(mt,{...Y,...!so(mt)&&{slots:et,slotProps:rt,disableScrollLock:P},children:f.jsx(U,{...wt,timeout:N,children:f.jsx(at,{...ct,children:c})})})});function fh(t){return V("MuiMenu",t)}const r1=K("MuiMenu",["root","paper","list"]),gh={vertical:"top",horizontal:"right"},mh={vertical:"top",horizontal:"left"},bh=t=>{const{classes:e}=t;return G({root:["root"],paper:["paper"],list:["list"]},fh,e)},vh=k(uh,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(t,e)=>e.root})({}),hh=k(Zi,{name:"MuiMenu",slot:"Paper",overridesResolver:(t,e)=>e.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),yh=k(lh,{name:"MuiMenu",slot:"List",overridesResolver:(t,e)=>e.list})({outline:0}),xh=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiMenu"}),{autoFocus:n=!0,children:s,className:a,disableAutoFocusItem:i=!1,MenuListProps:l={},onClose:c,open:p,PaperProps:u={},PopoverClasses:m,transitionDuration:g="auto",TransitionProps:{onEntering:b,...v}={},variant:h="selectedMenu",slots:y={},slotProps:S={},...C}=r,x=Ke(),w={...r,autoFocus:n,disableAutoFocusItem:i,MenuListProps:l,onEntering:b,PaperProps:u,transitionDuration:g,TransitionProps:v,variant:h},P=bh(w),$=n&&!i&&p,I=d.useRef(null),A=(N,J)=>{I.current&&I.current.adjustStyleForScrollbar(N,{direction:x?"rtl":"ltr"}),b&&b(N,J)},T=N=>{N.key==="Tab"&&(N.preventDefault(),c&&c(N,"tabKeyDown"))};let z=-1;d.Children.map(s,(N,J)=>{d.isValidElement(N)&&(N.props.disabled||(h==="selectedMenu"&&N.props.selected||z===-1)&&(z=J))});const E={slots:y,slotProps:{list:l,transition:v,paper:u,...S}},R=Ce({elementType:y.root,externalSlotProps:S.root,ownerState:w,className:[P.root,a]}),[M,O]=Q("paper",{className:P.paper,elementType:hh,externalForwardedProps:E,shouldForwardComponentProp:!0,ownerState:w}),[L,F]=Q("list",{className:j(P.list,l.className),elementType:yh,shouldForwardComponentProp:!0,externalForwardedProps:E,getSlotProps:N=>({...N,onKeyDown:J=>{var U;T(J),(U=N.onKeyDown)==null||U.call(N,J)}}),ownerState:w}),D=typeof E.slotProps.transition=="function"?E.slotProps.transition(w):E.slotProps.transition;return f.jsx(vh,{onClose:c,anchorOrigin:{vertical:"bottom",horizontal:x?"right":"left"},transformOrigin:x?gh:mh,slots:{root:y.root,paper:M,backdrop:y.backdrop,...y.transition&&{transition:y.transition}},slotProps:{root:R,paper:O,backdrop:typeof S.backdrop=="function"?S.backdrop(w):S.backdrop,transition:{...D,onEntering:(...N)=>{var J;A(...N),(J=D==null?void 0:D.onEntering)==null||J.call(D,...N)}}},open:p,ref:o,transitionDuration:g,ownerState:w,...C,classes:m,children:f.jsx(L,{actions:I,autoFocus:n&&(z===-1||i),autoFocusItem:$,variant:h,...F,children:s})})});function Ch(t){return V("MuiMenuItem",t)}const or=K("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),Sh=(t,e)=>{const{ownerState:o}=t;return[e.root,o.dense&&e.dense,o.divider&&e.divider,!o.disableGutters&&e.gutters]},wh=t=>{const{disabled:e,dense:o,divider:r,disableGutters:n,selected:s,classes:a}=t,l=G({root:["root",o&&"dense",e&&"disabled",!n&&"gutters",r&&"divider",s&&"selected"]},Ch,a);return{...a,...l}},Rh=k(ue,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:Sh})(W(({theme:t})=>({...t.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:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${or.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${or.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}},[`&.${or.selected}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity)}},[`&.${or.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${or.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},[`& + .${Ca.root}`]:{marginTop:t.spacing(1),marginBottom:t.spacing(1)},[`& + .${Ca.inset}`]:{marginLeft:52},[`& .${Uo.root}`]:{marginTop:0,marginBottom:0},[`& .${Uo.inset}`]:{paddingLeft:36},[`& .${Ma.root}`]:{minWidth:36},variants:[{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:e})=>!e.dense,style:{[t.breakpoints.up("sm")]:{minHeight:"auto"}}},{props:({ownerState:e})=>e.dense,style:{minHeight:32,paddingTop:4,paddingBottom:4,...t.typography.body2,[`& .${Ma.root} svg`]:{fontSize:"1.25rem"}}}]}))),Ph=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiMenuItem"}),{autoFocus:n=!1,component:s="li",dense:a=!1,divider:i=!1,disableGutters:l=!1,focusVisibleClassName:c,role:p="menuitem",tabIndex:u,className:m,...g}=r,b=d.useContext(je),v=d.useMemo(()=>({dense:a||b.dense||!1,disableGutters:l}),[b.dense,a,l]),h=d.useRef(null);be(()=>{n&&h.current&&h.current.focus()},[n]);const y={...r,dense:v.dense,divider:i,disableGutters:l},S=wh(r),C=qt(h,o);let x;return r.disabled||(x=u!==void 0?u:-1),f.jsx(je.Provider,{value:v,children:f.jsx(Rh,{ref:C,role:p,tabIndex:x,component:s,focusVisibleClassName:j(S.focusVisible,c),className:j(S.root,m),...g,ownerState:y,classes:S})})});function $h(t){return V("MuiMobileStepper",t)}const n1=K("MuiMobileStepper",["root","positionBottom","positionTop","positionStatic","dots","dot","dotActive","progress"]),kh=t=>{const{classes:e,position:o}=t,r={root:["root",`position${B(o)}`],dots:["dots"],dot:["dot"],dotActive:["dotActive"],progress:["progress"]};return G(r,$h,e)},Ih=k(Ue,{name:"MuiMobileStepper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${B(o.position)}`]]}})(W(({theme:t})=>({display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",background:(t.vars||t).palette.background.default,padding:8,variants:[{props:({position:e})=>e==="top"||e==="bottom",style:{position:"fixed",left:0,right:0,zIndex:(t.vars||t).zIndex.mobileStepper}},{props:{position:"top"},style:{top:0}},{props:{position:"bottom"},style:{bottom:0}}]}))),Th=k("div",{name:"MuiMobileStepper",slot:"Dots",overridesResolver:(t,e)=>e.dots})({variants:[{props:{variant:"dots"},style:{display:"flex",flexDirection:"row"}}]}),Mh=k("div",{name:"MuiMobileStepper",slot:"Dot",shouldForwardProp:t=>wr(t)&&t!=="dotActive",overridesResolver:(t,e)=>{const{dotActive:o}=t;return[e.dot,o&&e.dotActive]}})(W(({theme:t})=>({variants:[{props:{variant:"dots"},style:{transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),backgroundColor:(t.vars||t).palette.action.disabled,borderRadius:"50%",width:8,height:8,margin:"0 2px"}},{props:{variant:"dots",dotActive:!0},style:{backgroundColor:(t.vars||t).palette.primary.main}}]}))),Lh=k(Lv,{name:"MuiMobileStepper",slot:"Progress",overridesResolver:(t,e)=>e.progress})({variants:[{props:{variant:"progress"},style:{width:"50%"}}]}),s1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiMobileStepper"}),{activeStep:n=0,backButton:s,className:a,LinearProgressProps:i,nextButton:l,position:c="bottom",steps:p,variant:u="dots",slots:m={},slotProps:g={},...b}=r,v={...r,activeStep:n,position:c,variant:u};let h;u==="progress"&&(p===1?h=100:h=Math.ceil(n/(p-1)*100));const y=kh(v),S={slots:m,slotProps:{progress:i,...g}},[C,x]=Q("root",{ref:o,elementType:Ih,shouldForwardComponentProp:!0,className:j(y.root,a),externalForwardedProps:{...S,...b},ownerState:v,additionalProps:{square:!0,elevation:0}}),[w,P]=Q("dots",{className:y.dots,elementType:Th,externalForwardedProps:S,ownerState:v}),[$,I]=Q("dot",{elementType:Mh,externalForwardedProps:S,ownerState:v}),[A,T]=Q("progress",{className:y.progress,elementType:Lh,shouldForwardComponentProp:!0,externalForwardedProps:S,ownerState:v,additionalProps:{value:h,variant:"determinate"}});return f.jsxs(C,{...x,children:[s,u==="text"&&f.jsxs(d.Fragment,{children:[n+1," / ",p]}),u==="dots"&&f.jsx(w,{...P,children:[...new Array(p)].map((z,E)=>f.jsx($,{...I,className:j(y.dot,I.className,E===n&&y.dotActive),dotActive:E===n},E))}),u==="progress"&&f.jsx(A,{...T}),l]})});function Qi(t){return V("MuiNativeSelect",t)}const Ms=K("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),Ah=t=>{const{classes:e,variant:o,disabled:r,multiple:n,open:s,error:a}=t,i={select:["select",o,r&&"disabled",n&&"multiple",a&&"error"],icon:["icon",`icon${B(o)}`,s&&"iconOpen",r&&"disabled"]};return G(i,Qi,e)},Ji=k("select")(({theme:t})=>({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{borderRadius:0},[`&.${Ms.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},variants:[{props:({ownerState:e})=>e.variant!=="filled"&&e.variant!=="outlined",style:{"&&&":{paddingRight:24,minWidth:16}}},{props:{variant:"filled"},style:{"&&&":{paddingRight:32}}},{props:{variant:"outlined"},style:{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}}]})),Bh=k(Ji,{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:ae,overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.select,e[o.variant],o.error&&e.error,{[`&.${Ms.multiple}`]:e.multiple}]}})({}),tl=k("svg")(({theme:t})=>({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${Ms.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:({ownerState:e})=>e.open,style:{transform:"rotate(180deg)"}},{props:{variant:"filled"},style:{right:7}},{props:{variant:"outlined"},style:{right:7}}]})),Eh=k(tl,{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,o.variant&&e[`icon${B(o.variant)}`],o.open&&e.iconOpen]}})({}),el=d.forwardRef(function(e,o){const{className:r,disabled:n,error:s,IconComponent:a,inputRef:i,variant:l="standard",...c}=e,p={...e,disabled:n,variant:l,error:s},u=Ah(p);return f.jsxs(d.Fragment,{children:[f.jsx(Bh,{ownerState:p,className:j(u.select,r),disabled:n,ref:i||o,...c}),e.multiple?null:f.jsx(Eh,{as:a,ownerState:p,className:u.icon})]})}),Oh=t=>{const{classes:e}=t;return G({root:["root"]},Qi,e)},Nh=f.jsx(Rn,{}),zh=d.forwardRef(function(e,o){const r=_({name:"MuiNativeSelect",props:e}),{className:n,children:s,classes:a={},IconComponent:i=Ps,input:l=Nh,inputProps:c,variant:p,...u}=r,m=He(),g=lo({props:r,muiFormControl:m,states:["variant"]}),b={...r,classes:a},v=Oh(b),{root:h,...y}=a;return f.jsx(d.Fragment,{children:d.cloneElement(l,{inputComponent:el,inputProps:{children:s,classes:y,IconComponent:i,variant:g.variant,type:void 0,...c,...l?l.props.inputProps:{}},ref:o,...u,className:j(v.root,l.props.className,n)})})});zh.muiName="Select";function jh(t){const{children:e,defer:o=!1,fallback:r=null}=t,[n,s]=d.useState(!1);return be(()=>{o||s(!0)},[o]),d.useEffect(()=>{o&&s(!0)},[o]),n?e:r}var Oa;const Dh=k("fieldset",{shouldForwardProp:ae})({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%"}),Fh=k("legend",{shouldForwardProp:ae})(W(({theme:t})=>({float:"unset",width:"auto",overflow:"hidden",variants:[{props:({ownerState:e})=>!e.withLabel,style:{padding:0,lineHeight:"11px",transition:t.transitions.create("width",{duration:150,easing:t.transitions.easing.easeOut})}},{props:({ownerState:e})=>e.withLabel,style:{display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:t.transitions.create("max-width",{duration:50,easing:t.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}}},{props:({ownerState:e})=>e.withLabel&&e.notched,style:{maxWidth:"100%",transition:t.transitions.create("max-width",{duration:100,easing:t.transitions.easing.easeOut,delay:50})}}]})));function Wh(t){const{children:e,classes:o,className:r,label:n,notched:s,...a}=t,i=n!=null&&n!=="",l={...t,notched:s,withLabel:i};return f.jsx(Dh,{"aria-hidden":!0,className:r,ownerState:l,...a,children:f.jsx(Fh,{ownerState:l,children:i?f.jsx("span",{children:n}):Oa||(Oa=f.jsx("span",{className:"notranslate","aria-hidden":!0,children:"​"}))})})}const Uh=t=>{const{classes:e}=t,r=G({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},Zu,e);return{...e,...r}},Hh=k(Cn,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:yn})(W(({theme:t})=>{const e=t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{position:"relative",borderRadius:(t.vars||t).shape.borderRadius,[`&:hover .${Ee.notchedOutline}`]:{borderColor:(t.vars||t).palette.text.primary},"@media (hover: none)":{[`&:hover .${Ee.notchedOutline}`]:{borderColor:t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:e}},[`&.${Ee.focused} .${Ee.notchedOutline}`]:{borderWidth:2},variants:[...Object.entries(t.palette).filter(jt()).map(([o])=>({props:{color:o},style:{[`&.${Ee.focused} .${Ee.notchedOutline}`]:{borderColor:(t.vars||t).palette[o].main}}})),{props:{},style:{[`&.${Ee.error} .${Ee.notchedOutline}`]:{borderColor:(t.vars||t).palette.error.main},[`&.${Ee.disabled} .${Ee.notchedOutline}`]:{borderColor:(t.vars||t).palette.action.disabled}}},{props:({ownerState:o})=>o.startAdornment,style:{paddingLeft:14}},{props:({ownerState:o})=>o.endAdornment,style:{paddingRight:14}},{props:({ownerState:o})=>o.multiline,style:{padding:"16.5px 14px"}},{props:({ownerState:o,size:r})=>o.multiline&&r==="small",style:{padding:"8.5px 14px"}}]}})),Vh=k(Wh,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(t,e)=>e.notchedOutline})(W(({theme:t})=>{const e=t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:t.vars?`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:e}})),Gh=k(Sn,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:xn})(W(({theme:t})=>({padding:"16.5px 14px",...!t.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:t.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:t.palette.mode==="light"?null:"#fff",caretColor:t.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},...t.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[t.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:e})=>e.multiline,style:{padding:0}},{props:({ownerState:e})=>e.startAdornment,style:{paddingLeft:0}},{props:({ownerState:e})=>e.endAdornment,style:{paddingRight:0}}]}))),Ls=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiOutlinedInput"}),{components:n={},fullWidth:s=!1,inputComponent:a="input",label:i,multiline:l=!1,notched:c,slots:p={},slotProps:u={},type:m="text",...g}=r,b=Uh(r),v=He(),h=lo({props:r,muiFormControl:v,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),y={...r,color:h.color||"primary",disabled:h.disabled,error:h.error,focused:h.focused,formControl:v,fullWidth:s,hiddenLabel:h.hiddenLabel,multiline:l,size:h.size,type:m},S=p.root??n.Root??Hh,C=p.input??n.Input??Gh,[x,w]=Q("notchedOutline",{elementType:Vh,className:b.notchedOutline,shouldForwardComponentProp:!0,ownerState:y,externalForwardedProps:{slots:p,slotProps:u},additionalProps:{label:i!=null&&i!==""&&h.required?f.jsxs(d.Fragment,{children:[i," ","*"]}):i}});return f.jsx(wn,{slots:{root:S,input:C},slotProps:u,renderSuffix:P=>f.jsx(x,{...w,notched:typeof c<"u"?c:!!(P.startAdornment||P.filled||P.focused)}),fullWidth:s,inputComponent:a,multiline:l,ref:o,type:m,...g,classes:{...b,notchedOutline:null}})});Ls.muiName="Input";function Kh(t){return V("MuiPagination",t)}const a1=K("MuiPagination",["root","ul","outlined","text"]);function qh(t={}){const{boundaryCount:e=1,componentName:o="usePagination",count:r=1,defaultPage:n=1,disabled:s=!1,hideNextButton:a=!1,hidePrevButton:i=!1,onChange:l,page:c,showFirstButton:p=!1,showLastButton:u=!1,siblingCount:m=1,...g}=t,[b,v]=Te({controlled:c,default:n,name:o,state:"page"}),h=(A,T)=>{c||v(T),l&&l(A,T)},y=(A,T)=>{const z=T-A+1;return Array.from({length:z},(E,R)=>A+R)},S=y(1,Math.min(e,r)),C=y(Math.max(r-e+1,e+1),r),x=Math.max(Math.min(b-m,r-e-m*2-1),e+2),w=Math.min(Math.max(b+m,e+m*2+2),r-e-1),P=[...p?["first"]:[],...i?[]:["previous"],...S,...x>e+2?["start-ellipsis"]:e+1e?[r-e]:[],...C,...a?[]:["next"],...u?["last"]:[]],$=A=>{switch(A){case"first":return 1;case"previous":return b-1;case"next":return b+1;case"last":return r;default:return null}};return{items:P.map(A=>typeof A=="number"?{onClick:T=>{h(T,A)},type:"page",page:A,selected:A===b,disabled:s,"aria-current":A===b?"page":void 0}:{onClick:T=>{h(T,$(A))},type:A,page:$(A),selected:!1,disabled:s||!A.includes("ellipsis")&&(A==="next"||A==="last"?b>=r:b<=1)}),...g}}function Xh(t){return V("MuiPaginationItem",t)}const ye=K("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon","colorPrimary","colorSecondary"]),ol=Qt(f.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),rl=Qt(f.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage"),_h=Qt(f.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),Yh=Qt(f.jsx("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),nl=(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${B(o.size)}`],o.variant==="text"&&e[`text${B(o.color)}`],o.variant==="outlined"&&e[`outlined${B(o.color)}`],o.shape==="rounded"&&e.rounded,o.type==="page"&&e.page,(o.type==="start-ellipsis"||o.type==="end-ellipsis")&&e.ellipsis,(o.type==="previous"||o.type==="next")&&e.previousNext,(o.type==="first"||o.type==="last")&&e.firstLast]},Zh=t=>{const{classes:e,color:o,disabled:r,selected:n,size:s,shape:a,type:i,variant:l}=t,c={root:["root",`size${B(s)}`,l,a,o!=="standard"&&`color${B(o)}`,o!=="standard"&&`${l}${B(o)}`,r&&"disabled",n&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[i]],icon:["icon"]};return G(c,Xh,e)},Qh=k("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:nl})(W(({theme:t})=>({...t.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(t.vars||t).palette.text.primary,height:"auto",[`&.${ye.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:{size:"small"},style:{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:t.typography.pxToRem(15)}}]}))),Jh=k(ue,{name:"MuiPaginationItem",slot:"Root",overridesResolver:nl})(W(({theme:t})=>({...t.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(t.vars||t).palette.text.primary,[`&.${ye.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${ye.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},transition:t.transitions.create(["color","background-color"],{duration:t.transitions.duration.short}),"&:hover":{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ye.selected}`]:{backgroundColor:(t.vars||t).palette.action.selected,"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(t.vars||t).palette.action.selected}},[`&.${ye.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)},[`&.${ye.disabled}`]:{opacity:1,color:(t.vars||t).palette.action.disabled,backgroundColor:(t.vars||t).palette.action.selected}},variants:[{props:{size:"small"},style:{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:t.typography.pxToRem(15)}},{props:{shape:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:{variant:"outlined"},style:{border:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${ye.selected}`]:{[`&.${ye.disabled}`]:{borderColor:(t.vars||t).palette.action.disabledBackground,color:(t.vars||t).palette.action.disabled}}}},{props:{variant:"text"},style:{[`&.${ye.selected}`]:{[`&.${ye.disabled}`]:{color:(t.vars||t).palette.action.disabled}}}},...Object.entries(t.palette).filter(jt(["dark","contrastText"])).map(([e])=>({props:{variant:"text",color:e},style:{[`&.${ye.selected}`]:{color:(t.vars||t).palette[e].contrastText,backgroundColor:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:(t.vars||t).palette[e].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[e].main}},[`&.${ye.focusVisible}`]:{backgroundColor:(t.vars||t).palette[e].dark},[`&.${ye.disabled}`]:{color:(t.vars||t).palette.action.disabled}}}})),...Object.entries(t.palette).filter(jt(["light"])).map(([e])=>({props:{variant:"outlined",color:e},style:{[`&.${ye.selected}`]:{color:(t.vars||t).palette[e].main,border:`1px solid ${t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.5)`:kt(t.palette[e].main,.5)}`,backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.activatedOpacity})`:kt(t.palette[e].main,t.palette.action.activatedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.activatedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette[e].main,t.palette.action.activatedOpacity+t.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ye.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.activatedOpacity} + ${t.vars.palette.action.focusOpacity}))`:kt(t.palette[e].main,t.palette.action.activatedOpacity+t.palette.action.focusOpacity)}}}}))]}))),ty=k("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:(t,e)=>e.icon})(W(({theme:t})=>({fontSize:t.typography.pxToRem(20),margin:"0 -8px",variants:[{props:{size:"small"},style:{fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:t.typography.pxToRem(22)}}]}))),ey=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiPaginationItem"}),{className:n,color:s="standard",component:a,components:i={},disabled:l=!1,page:c,selected:p=!1,shape:u="circular",size:m="medium",slots:g={},slotProps:b={},type:v="page",variant:h="text",...y}=r,S={...r,color:s,disabled:l,selected:p,shape:u,size:m,type:v,variant:h},C=Ke(),x=Zh(S),w={slots:{previous:g.previous??i.previous,next:g.next??i.next,first:g.first??i.first,last:g.last??i.last},slotProps:b},[P,$]=Q("previous",{elementType:_h,externalForwardedProps:w,ownerState:S}),[I,A]=Q("next",{elementType:Yh,externalForwardedProps:w,ownerState:S}),[T,z]=Q("first",{elementType:ol,externalForwardedProps:w,ownerState:S}),[E,R]=Q("last",{elementType:rl,externalForwardedProps:w,ownerState:S}),M=C?{previous:"next",next:"previous",first:"last",last:"first"}[v]:v,O={previous:P,next:I,first:T,last:E}[M],L={previous:$,next:A,first:z,last:R}[M];return v==="start-ellipsis"||v==="end-ellipsis"?f.jsx(Qh,{ref:o,ownerState:S,className:j(x.root,n),children:"…"}):f.jsxs(Jh,{ref:o,ownerState:S,component:a,disabled:l,className:j(x.root,n),...y,children:[v==="page"&&c,O?f.jsx(ty,{...L,className:x.icon,as:O}):null]})}),oy=t=>{const{classes:e,variant:o}=t;return G({root:["root",o],ul:["ul"]},Kh,e)},ry=k("nav",{name:"MuiPagination",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant]]}})({}),ny=k("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:(t,e)=>e.ul})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function sy(t,e,o){return t==="page"?`${o?"":"Go to "}page ${e}`:`Go to ${t} page`}const i1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiPagination"}),{boundaryCount:n=1,className:s,color:a="standard",count:i=1,defaultPage:l=1,disabled:c=!1,getItemAriaLabel:p=sy,hideNextButton:u=!1,hidePrevButton:m=!1,onChange:g,page:b,renderItem:v=T=>f.jsx(ey,{...T}),shape:h="circular",showFirstButton:y=!1,showLastButton:S=!1,siblingCount:C=1,size:x="medium",variant:w="text",...P}=r,{items:$}=qh({...r,componentName:"Pagination"}),I={...r,boundaryCount:n,color:a,count:i,defaultPage:l,disabled:c,getItemAriaLabel:p,hideNextButton:u,hidePrevButton:m,renderItem:v,shape:h,showFirstButton:y,showLastButton:S,siblingCount:C,size:x,variant:w},A=oy(I);return f.jsx(ry,{"aria-label":"pagination navigation",className:j(A.root,s),ownerState:I,ref:o,...P,children:f.jsx(ny,{className:A.ul,ownerState:I,children:$.map((T,z)=>f.jsx("li",{children:v({...T,color:a,"aria-label":p(T.type,T.page,T.selected),shape:h,size:x,variant:w})},z))})})}),ay=Qt(f.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"),iy=Qt(f.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"),ly=k("span",{shouldForwardProp:ae})({position:"relative",display:"flex"}),cy=k(ay)({transform:"scale(1)"}),py=k(iy)(W(({theme:t})=>({left:0,position:"absolute",transform:"scale(0)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeIn,duration:t.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:"scale(1)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeOut,duration:t.transitions.duration.shortest})}}]})));function sl(t){const{checked:e=!1,classes:o={},fontSize:r}=t,n={...t,checked:e};return f.jsxs(ly,{className:o.root,ownerState:n,children:[f.jsx(cy,{fontSize:r,className:o.background,ownerState:n}),f.jsx(py,{fontSize:r,className:o.dot,ownerState:n})]})}const al=d.createContext(void 0);function dy(){return d.useContext(al)}function uy(t){return V("MuiRadio",t)}const Na=K("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),fy=t=>{const{classes:e,color:o,size:r}=t,n={root:["root",`color${B(o)}`,r!=="medium"&&`size${B(r)}`]};return{...e,...G(n,uy,e)}},gy=k($s,{shouldForwardProp:t=>ae(t)||t==="classes",name:"MuiRadio",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.size!=="medium"&&e[`size${B(o.size)}`],e[`color${B(o.color)}`]]}})(W(({theme:t})=>({color:(t.vars||t).palette.text.secondary,[`&.${Na.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:{color:"default",disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.action.active,t.palette.action.hoverOpacity)}}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[e].main,t.palette.action.hoverOpacity)}}})),...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,disabled:!1},style:{[`&.${Na.checked}`]:{color:(t.vars||t).palette[e].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]})));function my(t,e){return typeof e=="object"&&e!==null?t===e:String(t)===String(e)}const by=f.jsx(sl,{checked:!0}),vy=f.jsx(sl,{}),l1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiRadio"}),{checked:n,checkedIcon:s=by,color:a="primary",icon:i=vy,name:l,onChange:c,size:p="medium",className:u,disabled:m,disableRipple:g=!1,slots:b={},slotProps:v={},inputProps:h,...y}=r,S=He();let C=m;S&&typeof C>"u"&&(C=S.disabled),C??=!1;const x={...r,disabled:C,disableRipple:g,color:a,size:p},w=fy(x),P=dy();let $=n;const I=Vn(c,P&&P.onChange);let A=l;P&&(typeof $>"u"&&($=my(P.value,r.value)),typeof A>"u"&&(A=P.name));const T=v.input??h,[z,E]=Q("root",{ref:o,elementType:gy,className:j(w.root,u),shouldForwardComponentProp:!0,externalForwardedProps:{slots:b,slotProps:v,...y},getSlotProps:R=>({...R,onChange:(M,...O)=>{var L;(L=R.onChange)==null||L.call(R,M,...O),I(M,...O)}}),ownerState:x,additionalProps:{type:"radio",icon:d.cloneElement(i,{fontSize:i.props.fontSize??p}),checkedIcon:d.cloneElement(s,{fontSize:s.props.fontSize??p}),disabled:C,name:A,checked:$,slots:b,slotProps:{input:typeof T=="function"?T(x):T}}});return f.jsx(z,{...E,classes:w})});function hy(t){return V("MuiRadioGroup",t)}const c1=K("MuiRadioGroup",["root","row","error"]),yy=t=>{const{classes:e,row:o,error:r}=t;return G({root:["root",o&&"row",r&&"error"]},hy,e)},p1=d.forwardRef(function(e,o){const{actions:r,children:n,className:s,defaultValue:a,name:i,onChange:l,value:c,...p}=e,u=d.useRef(null),m=yy(e),[g,b]=Te({controlled:c,default:a,name:"RadioGroup"});d.useImperativeHandle(r,()=>({focus:()=>{let S=u.current.querySelector("input:not(:disabled):checked");S||(S=u.current.querySelector("input:not(:disabled)")),S&&S.focus()}}),[]);const v=qt(o,u),h=De(i),y=d.useMemo(()=>({name:h,onChange(S){b(S.target.value),l&&l(S,S.target.value)},value:g}),[h,l,b,g]);return f.jsx(al.Provider,{value:y,children:f.jsx(fb,{role:"radiogroup",ref:v,className:j(m.root,s),...p,children:n})})}),xy=Qt(f.jsx("path",{d:"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"}),"Star"),Cy=Qt(f.jsx("path",{d:"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"}),"StarBorder");function Sy(t){return V("MuiRating",t)}const rr=K("MuiRating",["root","sizeSmall","sizeMedium","sizeLarge","readOnly","disabled","focusVisible","visuallyHidden","pristine","label","labelEmptyValueActive","icon","iconEmpty","iconFilled","iconHover","iconFocus","iconActive","decimal"]);function wy(t){const e=t.toString().split(".")[1];return e?e.length:0}function Nn(t,e){if(t==null)return t;const o=Math.round(t/e)*e;return Number(o.toFixed(wy(e)))}const Ry=t=>{const{classes:e,size:o,readOnly:r,disabled:n,emptyValueFocused:s,focusVisible:a}=t,i={root:["root",`size${B(o)}`,n&&"disabled",a&&"focusVisible",r&&"readOnly"],label:["label","pristine"],labelEmptyValue:[s&&"labelEmptyValueActive"],icon:["icon"],iconEmpty:["iconEmpty"],iconFilled:["iconFilled"],iconHover:["iconHover"],iconFocus:["iconFocus"],iconActive:["iconActive"],decimal:["decimal"],visuallyHidden:["visuallyHidden"]};return G(i,Sy,e)},Py=k("span",{name:"MuiRating",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${rr.visuallyHidden}`]:e.visuallyHidden},e.root,e[`size${B(o.size)}`],o.readOnly&&e.readOnly]}})(W(({theme:t})=>({display:"inline-flex",position:"relative",fontSize:t.typography.pxToRem(24),color:"#faaf00",cursor:"pointer",textAlign:"left",width:"min-content",WebkitTapHighlightColor:"transparent",[`&.${rr.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${rr.focusVisible} .${rr.iconActive}`]:{outline:"1px solid #999"},[`& .${rr.visuallyHidden}`]:bi,variants:[{props:{size:"small"},style:{fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:t.typography.pxToRem(30)}},{props:({ownerState:e})=>e.readOnly,style:{pointerEvents:"none"}}]}))),il=k("label",{name:"MuiRating",slot:"Label",overridesResolver:({ownerState:t},e)=>[e.label,t.emptyValueFocused&&e.labelEmptyValueActive]})({cursor:"inherit",variants:[{props:({ownerState:t})=>t.emptyValueFocused,style:{top:0,bottom:0,position:"absolute",outline:"1px solid #999",width:"100%"}}]}),$y=k("span",{name:"MuiRating",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,o.iconEmpty&&e.iconEmpty,o.iconFilled&&e.iconFilled,o.iconHover&&e.iconHover,o.iconFocus&&e.iconFocus,o.iconActive&&e.iconActive]}})(W(({theme:t})=>({display:"flex",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),pointerEvents:"none",variants:[{props:({ownerState:e})=>e.iconActive,style:{transform:"scale(1.2)"}},{props:({ownerState:e})=>e.iconEmpty,style:{color:(t.vars||t).palette.action.disabled}}]}))),ky=k("span",{name:"MuiRating",slot:"Decimal",shouldForwardProp:t=>wr(t)&&t!=="iconActive",overridesResolver:(t,e)=>{const{iconActive:o}=t;return[e.decimal,o&&e.iconActive]}})({position:"relative",variants:[{props:({iconActive:t})=>t,style:{transform:"scale(1.2)"}}]});function Iy(t){const{value:e,...o}=t;return f.jsx("span",{...o})}function za(t){const{classes:e,disabled:o,emptyIcon:r,focus:n,getLabelText:s,highlightSelectedOnly:a,hover:i,icon:l,IconContainerComponent:c,isActive:p,itemValue:u,labelProps:m,name:g,onBlur:b,onChange:v,onClick:h,onFocus:y,readOnly:S,ownerState:C,ratingValue:x,ratingValueRounded:w,slots:P={},slotProps:$={}}=t,I=a?u===x:u<=x,A=u<=i,T=u<=n,z=u===w,E=`${g}-${De()}`,R={slots:P,slotProps:$},[M,O]=Q("icon",{elementType:$y,className:j(e.icon,I?e.iconFilled:e.iconEmpty,A&&e.iconHover,T&&e.iconFocus,p&&e.iconActive),externalForwardedProps:R,ownerState:{...C,iconEmpty:!I,iconFilled:I,iconHover:A,iconFocus:T,iconActive:p},additionalProps:{value:u},internalForwardedProps:{as:c}}),[L,F]=Q("label",{elementType:il,externalForwardedProps:R,ownerState:{...C,emptyValueFocused:void 0},additionalProps:{style:m==null?void 0:m.style,htmlFor:E}}),D=f.jsx(M,{...O,children:r&&!I?r:l});return S?f.jsx("span",{...m,children:D}):f.jsxs(d.Fragment,{children:[f.jsxs(L,{...F,children:[D,f.jsx("span",{className:e.visuallyHidden,children:s(u)})]}),f.jsx("input",{className:e.visuallyHidden,onFocus:y,onBlur:b,onChange:v,onClick:h,disabled:o,value:u,id:E,type:"radio",name:g,checked:z})]})}const Ty=f.jsx(xy,{fontSize:"inherit"}),My=f.jsx(Cy,{fontSize:"inherit"});function Ly(t){return`${t||"0"} Star${t!==1?"s":""}`}const d1=d.forwardRef(function(e,o){const r=_({name:"MuiRating",props:e}),{component:n="span",className:s,defaultValue:a=null,disabled:i=!1,emptyIcon:l=My,emptyLabelText:c="Empty",getLabelText:p=Ly,highlightSelectedOnly:u=!1,icon:m=Ty,IconContainerComponent:g=Iy,max:b=5,name:v,onChange:h,onChangeActive:y,onMouseLeave:S,onMouseMove:C,precision:x=1,readOnly:w=!1,size:P="medium",value:$,slots:I={},slotProps:A={},...T}=r,z=De(v),[E,R]=Te({controlled:$,default:a,name:"Rating"}),M=Nn(E,x),O=Ke(),[{hover:L,focus:F},D]=d.useState({hover:-1,focus:-1});let N=M;L!==-1&&(N=L),F!==-1&&(N=F);const[J,U]=d.useState(!1),wt=d.useRef(),vt=qt(wt,o),mt=gt=>{C&&C(gt);const nt=wt.current,{right:Tt,left:At,width:q}=nt.getBoundingClientRect();let lt;O?lt=(Tt-gt.clientX)/q:lt=(gt.clientX-At)/q;let bt=Nn(b*lt+x/2,x);bt=wo(bt,x,b),D($t=>$t.hover===bt&&$t.focus===bt?$t:{hover:bt,focus:bt}),U(!1),y&&L!==bt&&y(gt,bt)},et=gt=>{S&&S(gt);const nt=-1;D({hover:nt,focus:nt}),y&&L!==nt&&y(gt,nt)},rt=gt=>{let nt=gt.target.value===""?null:parseFloat(gt.target.value);L!==-1&&(nt=L),R(nt),h&&h(gt,nt)},Y=gt=>{gt.clientX===0&>.clientY===0||(D({hover:-1,focus:-1}),R(null),h&&parseFloat(gt.target.value)===M&&h(gt,null))},at=gt=>{Ze(gt.target)&&U(!0);const nt=parseFloat(gt.target.value);D(Tt=>({hover:Tt.hover,focus:nt}))},ct=gt=>{if(L!==-1)return;Ze(gt.target)||U(!1);const nt=-1;D(Tt=>({hover:Tt.hover,focus:nt}))},[st,ft]=d.useState(!1),Z={...r,component:n,defaultValue:a,disabled:i,emptyIcon:l,emptyLabelText:c,emptyValueFocused:st,focusVisible:J,getLabelText:p,icon:m,IconContainerComponent:g,max:b,precision:x,readOnly:w,size:P},pt=Ry(Z),it={slots:I,slotProps:A},[ht,Mt]=Q("root",{ref:vt,className:j(pt.root,s),elementType:Py,externalForwardedProps:{...it,...T,component:n},getSlotProps:gt=>({...gt,onMouseMove:nt=>{var Tt;mt(nt),(Tt=gt.onMouseMove)==null||Tt.call(gt,nt)},onMouseLeave:nt=>{var Tt;et(nt),(Tt=gt.onMouseLeave)==null||Tt.call(gt,nt)}}),ownerState:Z,additionalProps:{role:w?"img":null,"aria-label":w?p(N):null}}),[tt,ot]=Q("label",{className:j(pt.label,pt.labelEmptyValue),elementType:il,externalForwardedProps:it,ownerState:Z}),[dt,St]=Q("decimal",{className:pt.decimal,elementType:ky,externalForwardedProps:it,ownerState:Z});return f.jsxs(ht,{...Mt,children:[Array.from(new Array(b)).map((gt,nt)=>{const Tt=nt+1,At={classes:pt,disabled:i,emptyIcon:l,focus:F,getLabelText:p,highlightSelectedOnly:u,hover:L,icon:m,IconContainerComponent:g,name:z,onBlur:ct,onChange:rt,onClick:Y,onFocus:at,ratingValue:N,ratingValueRounded:M,readOnly:w,ownerState:Z,slots:I,slotProps:A},q=Tt===Math.ceil(N)&&(L!==-1||F!==-1);if(x<1){const lt=Array.from(new Array(1/x));return d.createElement(dt,{...St,key:Tt,className:j(St.className,q&&pt.iconActive),iconActive:q},lt.map((bt,$t)=>{const It=Nn(Tt-1+($t+1)*x,x);return f.jsx(za,{...At,isActive:!1,itemValue:It,labelProps:{style:lt.length-1===$t?{}:{width:It===N?`${($t+1)*x*100}%`:"0%",overflow:"hidden",position:"absolute"}}},It)}))}return f.jsx(za,{...At,isActive:q,itemValue:Tt},Tt)}),!w&&!i&&f.jsxs(tt,{...ot,children:[f.jsx("input",{className:pt.visuallyHidden,value:"",id:`${z}-empty`,type:"radio",name:z,checked:M==null,onFocus:()=>ft(!0),onBlur:()=>ft(!1),onChange:rt}),f.jsx("span",{className:pt.visuallyHidden,children:c})]})]})});function Ay(t){return V("MuiScopedCssBaseline",t)}const u1=K("MuiScopedCssBaseline",["root"]),By=t=>{const{classes:e}=t;return G({root:["root"]},Ay,e)},Ey=k("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>{const e={};return t.colorSchemes&&Object.entries(t.colorSchemes).forEach(([o,r])=>{var s,a;const n=t.getColorSchemeSelector(o);n.startsWith("@")?e[n]={colorScheme:(s=r.palette)==null?void 0:s.mode}:e[`&${n.replace(/\s*&/,"")}`]={colorScheme:(a=r.palette)==null?void 0:a.mode}}),{...Di(t,!1),...Fi(t),"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:t.typography.fontWeightBold},variants:[{props:{enableColorScheme:!0},style:t.vars?e:{colorScheme:t.palette.mode}}]}})),f1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiScopedCssBaseline"}),{className:n,component:s="div",enableColorScheme:a,...i}=r,l={...r,component:s},c=By(l);return f.jsx(Ey,{as:s,className:j(c.root,n),ref:o,ownerState:l,...i})});function ll(t){return V("MuiSelect",t)}const nr=K("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var ja;const Oy=k(Ji,{name:"MuiSelect",slot:"Select",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`&.${nr.select}`]:e.select},{[`&.${nr.select}`]:e[o.variant]},{[`&.${nr.error}`]:e.error},{[`&.${nr.multiple}`]:e.multiple}]}})({[`&.${nr.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),Ny=k(tl,{name:"MuiSelect",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,o.variant&&e[`icon${B(o.variant)}`],o.open&&e.iconOpen]}})({}),zy=k("input",{shouldForwardProp:t=>wr(t)&&t!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(t,e)=>e.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function Da(t,e){return typeof e=="object"&&e!==null?t===e:String(t)===String(e)}function jy(t){return t==null||typeof t=="string"&&!t.trim()}const Dy=t=>{const{classes:e,variant:o,disabled:r,multiple:n,open:s,error:a}=t,i={select:["select",o,r&&"disabled",n&&"multiple",a&&"error"],icon:["icon",`icon${B(o)}`,s&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return G(i,ll,e)},Fy=d.forwardRef(function(e,o){var Gt;const{"aria-describedby":r,"aria-label":n,autoFocus:s,autoWidth:a,children:i,className:l,defaultOpen:c,defaultValue:p,disabled:u,displayEmpty:m,error:g=!1,IconComponent:b,inputRef:v,labelId:h,MenuProps:y={},multiple:S,name:C,onBlur:x,onChange:w,onClose:P,onFocus:$,onOpen:I,open:A,readOnly:T,renderValue:z,required:E,SelectDisplayProps:R={},tabIndex:M,type:O,value:L,variant:F="standard",...D}=e,[N,J]=Te({controlled:L,default:p,name:"Select"}),[U,wt]=Te({controlled:A,default:c,name:"Select"}),vt=d.useRef(null),mt=d.useRef(null),[et,rt]=d.useState(null),{current:Y}=d.useRef(A!=null),[at,ct]=d.useState(),st=qt(o,v),ft=d.useCallback(xt=>{mt.current=xt,xt&&rt(xt)},[]),Z=et==null?void 0:et.parentNode;d.useImperativeHandle(st,()=>({focus:()=>{mt.current.focus()},node:vt.current,value:N}),[N]),d.useEffect(()=>{c&&U&&et&&!Y&&(ct(a?null:Z.clientWidth),mt.current.focus())},[et,a]),d.useEffect(()=>{s&&mt.current.focus()},[s]),d.useEffect(()=>{if(!h)return;const xt=te(mt.current).getElementById(h);if(xt){const Bt=()=>{getSelection().isCollapsed&&mt.current.focus()};return xt.addEventListener("click",Bt),()=>{xt.removeEventListener("click",Bt)}}},[h]);const pt=(xt,Bt)=>{xt?I&&I(Bt):P&&P(Bt),Y||(ct(a?null:Z.clientWidth),wt(xt))},it=xt=>{xt.button===0&&(xt.preventDefault(),mt.current.focus(),pt(!0,xt))},ht=xt=>{pt(!1,xt)},Mt=d.Children.toArray(i),tt=xt=>{const Bt=Mt.find(Xt=>Xt.props.value===xt.target.value);Bt!==void 0&&(J(Bt.props.value),w&&w(xt,Bt))},ot=xt=>Bt=>{let Xt;if(Bt.currentTarget.hasAttribute("tabindex")){if(S){Xt=Array.isArray(N)?N.slice():[];const oe=N.indexOf(xt.props.value);oe===-1?Xt.push(xt.props.value):Xt.splice(oe,1)}else Xt=xt.props.value;if(xt.props.onClick&&xt.props.onClick(Bt),N!==Xt&&(J(Xt),w)){const oe=Bt.nativeEvent||Bt,fe=new oe.constructor(oe.type,oe);Object.defineProperty(fe,"target",{writable:!0,value:{value:Xt,name:C}}),w(fe,xt)}S||pt(!1,Bt)}},dt=xt=>{T||[" ","ArrowUp","ArrowDown","Enter"].includes(xt.key)&&(xt.preventDefault(),pt(!0,xt))},St=et!==null&&U,gt=xt=>{!St&&x&&(Object.defineProperty(xt,"target",{writable:!0,value:{value:N,name:C}}),x(xt))};delete D["aria-invalid"];let nt,Tt;const At=[];let q=!1;(an({value:N})||m)&&(z?nt=z(N):q=!0);const lt=Mt.map(xt=>{if(!d.isValidElement(xt))return null;let Bt;if(S){if(!Array.isArray(N))throw new Error(Eo(2));Bt=N.some(Xt=>Da(Xt,xt.props.value)),Bt&&q&&At.push(xt.props.children)}else Bt=Da(N,xt.props.value),Bt&&q&&(Tt=xt.props.children);return d.cloneElement(xt,{"aria-selected":Bt?"true":"false",onClick:ot(xt),onKeyUp:Xt=>{Xt.key===" "&&Xt.preventDefault(),xt.props.onKeyUp&&xt.props.onKeyUp(Xt)},role:"option",selected:Bt,value:void 0,"data-value":xt.props.value})});q&&(S?At.length===0?nt=null:nt=At.reduce((xt,Bt,Xt)=>(xt.push(Bt),Xt{const{classes:e}=t,r=G({root:["root"]},ll,e);return{...e,...r}},As={name:"MuiSelect",overridesResolver:(t,e)=>e.root,shouldForwardProp:t=>ae(t)&&t!=="variant",slot:"Root"},Uy=k(Rn,As)(""),Hy=k(Ls,As)(""),Vy=k(Is,As)(""),Bs=d.forwardRef(function(e,o){const r=_({name:"MuiSelect",props:e}),{autoWidth:n=!1,children:s,classes:a={},className:i,defaultOpen:l=!1,displayEmpty:c=!1,IconComponent:p=Ps,id:u,input:m,inputProps:g,label:b,labelId:v,MenuProps:h,multiple:y=!1,native:S=!1,onClose:C,onOpen:x,open:w,renderValue:P,SelectDisplayProps:$,variant:I="outlined",...A}=r,T=S?el:Fy,z=He(),E=lo({props:r,muiFormControl:z,states:["variant","error"]}),R=E.variant||I,M={...r,variant:R,classes:a},O=Wy(M),{root:L,...F}=O,D=m||{standard:f.jsx(Uy,{ownerState:M}),outlined:f.jsx(Hy,{label:b,ownerState:M}),filled:f.jsx(Vy,{ownerState:M})}[R],N=qt(o,io(D));return f.jsx(d.Fragment,{children:d.cloneElement(D,{inputComponent:T,inputProps:{children:s,error:E.error,IconComponent:p,variant:R,type:void 0,multiple:y,...S?{id:u}:{autoWidth:n,defaultOpen:l,displayEmpty:c,labelId:v,MenuProps:h,onClose:C,onOpen:x,open:w,renderValue:P,SelectDisplayProps:{id:u,...$}},...g,classes:g?Sr(F,g.classes):F,...m?m.props.inputProps:{}},...(y&&S||c)&&R==="outlined"?{notched:!0}:{},ref:N,className:j(D.props.className,i,O.root),...!m&&{variant:R},...A})})});Bs.muiName="Select";function Gy(t){return V("MuiSkeleton",t)}const g1=K("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]),Ky=t=>{const{classes:e,variant:o,animation:r,hasChildren:n,width:s,height:a}=t;return G({root:["root",o,r,n&&"withChildren",n&&!s&&"fitContent",n&&!a&&"heightAuto"]},Gy,e)},is=Je` 0% { opacity: 1; } @@ -165,7 +165,7 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a 100% { opacity: 1; } -`,cs=Je` +`,ls=Je` 0% { transform: translateX(-100%); } @@ -178,16 +178,16 @@ import{j as f,e as yl,f as xl,s as Cl,h as Sl,k as j,l as wl,m as ds,u as Rl,n a 100% { transform: translateX(100%); } -`,qy=typeof ls!="string"?No` - animation: ${ls} 2s ease-in-out 0.5s infinite; - `:null,Xy=typeof cs!="string"?No` +`,qy=typeof is!="string"?Oo` + animation: ${is} 2s ease-in-out 0.5s infinite; + `:null,Xy=typeof ls!="string"?Oo` &::after { - animation: ${cs} 2s linear 0.5s infinite; + animation: ${ls} 2s linear 0.5s infinite; } - `:null,_y=k("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],o.animation!==!1&&e[o.animation],o.hasChildren&&e.withChildren,o.hasChildren&&!o.width&&e.fitContent,o.hasChildren&&!o.height&&e.heightAuto]}})(W(({theme:t})=>{const e=Ci(t.shape.borderRadius)||"px",o=mo(t.shape.borderRadius);return{display:"block",backgroundColor:t.vars?t.vars.palette.Skeleton.bg:kt(t.palette.text.primary,t.palette.mode==="light"?.11:.13),height:"1.2em",variants:[{props:{variant:"text"},style:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${o}${e}/${Math.round(o/.6*10)/10}${e}`,"&:empty:before":{content:'"\\00a0"'}}},{props:{variant:"circular"},style:{borderRadius:"50%"}},{props:{variant:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:({ownerState:r})=>r.hasChildren,style:{"& > *":{visibility:"hidden"}}},{props:({ownerState:r})=>r.hasChildren&&!r.width,style:{maxWidth:"fit-content"}},{props:({ownerState:r})=>r.hasChildren&&!r.height,style:{height:"auto"}},{props:{animation:"pulse"},style:qy||{animation:`${ls} 2s ease-in-out 0.5s infinite`}},{props:{animation:"wave"},style:{position:"relative",overflow:"hidden",WebkitMaskImage:"-webkit-radial-gradient(white, black)","&::after":{background:`linear-gradient( + `:null,_y=k("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],o.animation!==!1&&e[o.animation],o.hasChildren&&e.withChildren,o.hasChildren&&!o.width&&e.fitContent,o.hasChildren&&!o.height&&e.heightAuto]}})(W(({theme:t})=>{const e=xi(t.shape.borderRadius)||"px",o=go(t.shape.borderRadius);return{display:"block",backgroundColor:t.vars?t.vars.palette.Skeleton.bg:kt(t.palette.text.primary,t.palette.mode==="light"?.11:.13),height:"1.2em",variants:[{props:{variant:"text"},style:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${o}${e}/${Math.round(o/.6*10)/10}${e}`,"&:empty:before":{content:'"\\00a0"'}}},{props:{variant:"circular"},style:{borderRadius:"50%"}},{props:{variant:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:({ownerState:r})=>r.hasChildren,style:{"& > *":{visibility:"hidden"}}},{props:({ownerState:r})=>r.hasChildren&&!r.width,style:{maxWidth:"fit-content"}},{props:({ownerState:r})=>r.hasChildren&&!r.height,style:{height:"auto"}},{props:{animation:"pulse"},style:qy||{animation:`${is} 2s ease-in-out 0.5s infinite`}},{props:{animation:"wave"},style:{position:"relative",overflow:"hidden",WebkitMaskImage:"-webkit-radial-gradient(white, black)","&::after":{background:`linear-gradient( 90deg, transparent, ${(t.vars||t).palette.action.hover}, transparent - )`,content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}}},{props:{animation:"wave"},style:Xy||{"&::after":{animation:`${cs} 2s linear 0.5s infinite`}}}]}})),m1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSkeleton"}),{animation:n="pulse",className:s,component:a="span",height:i,style:l,variant:c="text",width:p,...u}=r,m={...r,animation:n,component:a,variant:c,hasChildren:!!u.children},g=Ky(m);return f.jsx(_y,{as:a,ref:o,className:j(g.root,s),ownerState:m,...u,style:{width:p,height:i,...l}})});function Yy(t,e,o=(r,n)=>r===n){return t.length===e.length&&t.every((r,n)=>o(r,e[n]))}const Zy=2;function Do(t,e,o,r,n){return o===1?Math.min(t+e,n):Math.max(t-e,r)}function pl(t,e){return t-e}function Ua(t,e){const{index:o}=t.reduce((r,n,s)=>{const a=Math.abs(e-n);return r===null||a({left:`${t}%`}),leap:t=>({width:`${t}%`})},"horizontal-reverse":{offset:t=>({right:`${t}%`}),leap:t=>({width:`${t}%`})},vertical:{offset:t=>({bottom:`${t}%`}),leap:t=>({height:`${t}%`})}},ox=t=>t;let Vr;function Va(){return Vr===void 0&&(typeof CSS<"u"&&typeof CSS.supports=="function"?Vr=CSS.supports("touch-action","none"):Vr=!0),Vr}function rx(t){const{"aria-labelledby":e,defaultValue:o,disabled:r=!1,disableSwap:n=!1,isRtl:s=!1,marks:a=!1,max:i=100,min:l=0,name:c,onChange:p,onChangeCommitted:u,orientation:m="horizontal",rootRef:g,scale:b=ox,step:v=1,shiftStep:h=10,tabIndex:y,value:S}=t,C=d.useRef(void 0),[x,w]=d.useState(-1),[P,$]=d.useState(-1),[I,A]=d.useState(!1),T=d.useRef(0),z=d.useRef(null),[E,R]=Te({controlled:S,default:o??l,name:"Slider"}),M=p&&((q,lt,bt)=>{const $t=q.nativeEvent||q,It=new $t.constructor($t.type,$t);Object.defineProperty(It,"target",{writable:!0,value:{value:lt,name:c}}),z.current=lt,p(It,lt,bt)}),O=Array.isArray(E);let L=O?E.slice().sort(pl):[E];L=L.map(q=>q==null?l:Ro(q,l,i));const F=a===!0&&v!==null?[...Array(Math.floor((i-l)/v)+1)].map((q,lt)=>({value:l+v*lt})):a||[],D=F.map(q=>q.value),[N,J]=d.useState(-1),U=d.useRef(null),wt=qt(g,U),vt=q=>lt=>{var $t;const bt=Number(lt.currentTarget.getAttribute("data-index"));Ze(lt.target)&&J(bt),$(bt),($t=q==null?void 0:q.onFocus)==null||$t.call(q,lt)},mt=q=>lt=>{var bt;Ze(lt.target)||J(-1),$(-1),(bt=q==null?void 0:q.onBlur)==null||bt.call(q,lt)},et=(q,lt)=>{const bt=Number(q.currentTarget.getAttribute("data-index")),$t=L[bt],It=D.indexOf($t);let ut=lt;if(F&&v==null){const Ct=D[D.length-1];ut>=Ct?ut=Ct:ut<=D[0]?ut=D[0]:ut=ut<$t?D[It-1]:D[It+1]}if(ut=Ro(ut,l,i),O){n&&(ut=Ro(ut,L[bt-1]||-1/0,L[bt+1]||1/0));const Ct=ut;ut=Ha({values:L,newValue:ut,index:bt});let Ut=bt;n||(Ut=ut.indexOf(Ct)),Ur({sliderRef:U,activeIndex:Ut})}R(ut),J(bt),M&&!Hr(ut,E)&&M(q,ut,bt),u&&u(q,z.current??ut)},rt=q=>lt=>{var bt;if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"].includes(lt.key)){lt.preventDefault();const $t=Number(lt.currentTarget.getAttribute("data-index")),It=L[$t];let ut=null;if(v!=null){const Ct=lt.shiftKey?h:v;switch(lt.key){case"ArrowUp":ut=Do(It,Ct,1,l,i);break;case"ArrowRight":ut=Do(It,Ct,s?-1:1,l,i);break;case"ArrowDown":ut=Do(It,Ct,-1,l,i);break;case"ArrowLeft":ut=Do(It,Ct,s?1:-1,l,i);break;case"PageUp":ut=Do(It,h,1,l,i);break;case"PageDown":ut=Do(It,h,-1,l,i);break;case"Home":ut=l;break;case"End":ut=i;break}}else if(F){const Ct=D[D.length-1],Ut=D.indexOf(It),Et=[s?"ArrowRight":"ArrowLeft","ArrowDown","PageDown","Home"],Gt=[s?"ArrowLeft":"ArrowRight","ArrowUp","PageUp","End"];Et.includes(lt.key)?Ut===0?ut=D[0]:ut=D[Ut-1]:Gt.includes(lt.key)&&(Ut===D.length-1?ut=Ct:ut=D[Ut+1])}ut!=null&&et(lt,ut)}(bt=q==null?void 0:q.onKeyDown)==null||bt.call(q,lt)};be(()=>{var q;r&&U.current.contains(document.activeElement)&&((q=document.activeElement)==null||q.blur())},[r]),r&&x!==-1&&w(-1),r&&N!==-1&&J(-1);const Y=q=>lt=>{var bt;(bt=q.onChange)==null||bt.call(q,lt),et(lt,lt.target.valueAsNumber)},at=d.useRef(void 0);let ct=m;s&&m==="horizontal"&&(ct+="-reverse");const st=({finger:q,move:lt=!1})=>{const{current:bt}=U,{width:$t,height:It,bottom:ut,left:Ct}=bt.getBoundingClientRect();let Ut;ct.startsWith("vertical")?Ut=(ut-q.y)/It:Ut=(q.x-Ct)/$t,ct.includes("-reverse")&&(Ut=1-Ut);let Et;if(Et=Qy(Ut,l,i),v)Et=tx(Et,v,l);else{const xt=Ua(D,Et);Et=D[xt]}Et=Ro(Et,l,i);let Gt=0;if(O){lt?Gt=at.current:Gt=Ua(L,Et),n&&(Et=Ro(Et,L[Gt-1]||-1/0,L[Gt+1]||1/0));const xt=Et;Et=Ha({values:L,newValue:Et,index:Gt}),n&<||(Gt=Et.indexOf(xt),at.current=Gt)}return{newValue:Et,activeIndex:Gt}},ft=ee(q=>{const lt=Wr(q,C);if(!lt)return;if(T.current+=1,q.type==="mousemove"&&q.buttons===0){Z(q);return}const{newValue:bt,activeIndex:$t}=st({finger:lt,move:!0});Ur({sliderRef:U,activeIndex:$t,setActive:w}),R(bt),!I&&T.current>Zy&&A(!0),M&&!Hr(bt,E)&&M(q,bt,$t)}),Z=ee(q=>{const lt=Wr(q,C);if(A(!1),!lt)return;const{newValue:bt}=st({finger:lt,move:!0});w(-1),q.type==="touchend"&&$(-1),u&&u(q,z.current??bt),C.current=void 0,it()}),pt=ee(q=>{if(r)return;Va()||q.preventDefault();const lt=q.changedTouches[0];lt!=null&&(C.current=lt.identifier);const bt=Wr(q,C);if(bt!==!1){const{newValue:It,activeIndex:ut}=st({finger:bt});Ur({sliderRef:U,activeIndex:ut,setActive:w}),R(It),M&&!Hr(It,E)&&M(q,It,ut)}T.current=0;const $t=te(U.current);$t.addEventListener("touchmove",ft,{passive:!0}),$t.addEventListener("touchend",Z,{passive:!0})}),it=d.useCallback(()=>{const q=te(U.current);q.removeEventListener("mousemove",ft),q.removeEventListener("mouseup",Z),q.removeEventListener("touchmove",ft),q.removeEventListener("touchend",Z)},[Z,ft]);d.useEffect(()=>{const{current:q}=U;return q.addEventListener("touchstart",pt,{passive:Va()}),()=>{q.removeEventListener("touchstart",pt),it()}},[it,pt]),d.useEffect(()=>{r&&it()},[r,it]);const ht=q=>lt=>{var It;if((It=q.onMouseDown)==null||It.call(q,lt),r||lt.defaultPrevented||lt.button!==0)return;lt.preventDefault();const bt=Wr(lt,C);if(bt!==!1){const{newValue:ut,activeIndex:Ct}=st({finger:bt});Ur({sliderRef:U,activeIndex:Ct,setActive:w}),R(ut),M&&!Hr(ut,E)&&M(lt,ut,Ct)}T.current=0;const $t=te(U.current);$t.addEventListener("mousemove",ft,{passive:!0}),$t.addEventListener("mouseup",Z)},Mt=cn(O?L[0]:l,l,i),tt=cn(L[L.length-1],l,i)-Mt,ot=(q={})=>{const lt=Mo(q),bt={onMouseDown:ht(lt||{})},$t={...lt,...bt};return{...q,ref:wt,...$t}},dt=q=>lt=>{var $t;($t=q.onMouseOver)==null||$t.call(q,lt);const bt=Number(lt.currentTarget.getAttribute("data-index"));$(bt)},St=q=>lt=>{var bt;(bt=q.onMouseLeave)==null||bt.call(q,lt),$(-1)},gt=(q={})=>{const lt=Mo(q),bt={onMouseOver:dt(lt||{}),onMouseLeave:St(lt||{})};return{...q,...lt,...bt}},nt=q=>({pointerEvents:x!==-1&&x!==q?"none":void 0});let Tt;return m==="vertical"&&(Tt=s?"vertical-rl":"vertical-lr"),{active:x,axis:ct,axisProps:ex,dragging:I,focusedThumbIndex:N,getHiddenInputProps:(q={})=>{const lt=Mo(q),bt={onChange:Y(lt||{}),onFocus:vt(lt||{}),onBlur:mt(lt||{}),onKeyDown:rt(lt||{})},$t={...lt,...bt};return{tabIndex:y,"aria-labelledby":e,"aria-orientation":m,"aria-valuemax":b(i),"aria-valuemin":b(l),name:c,type:"range",min:t.min,max:t.max,step:t.step===null&&t.marks?"any":t.step??void 0,disabled:r,...q,...$t,style:{...vi,direction:s?"rtl":"ltr",width:"100%",height:"100%",writingMode:Tt}}},getRootProps:ot,getThumbProps:gt,marks:F,open:P,range:O,rootRef:wt,trackLeap:tt,trackOffset:Mt,values:L,getThumbStyle:nt}}const nx=t=>!t||!so(t);function sx(t){return V("MuiSlider",t)}const Ne=K("MuiSlider",["root","active","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","disabled","dragging","focusVisible","mark","markActive","marked","markLabel","markLabelActive","rail","sizeSmall","thumb","thumbColorPrimary","thumbColorSecondary","thumbColorError","thumbColorSuccess","thumbColorInfo","thumbColorWarning","track","trackInverted","trackFalse","thumbSizeSmall","valueLabel","valueLabelOpen","valueLabelCircle","valueLabelLabel","vertical"]),ax=t=>{const{open:e}=t;return{offset:j(e&&Ne.valueLabelOpen),circle:Ne.valueLabelCircle,label:Ne.valueLabelLabel}};function ix(t){const{children:e,className:o,value:r}=t,n=ax(t);return e?d.cloneElement(e,{className:j(e.props.className)},f.jsxs(d.Fragment,{children:[e.props.children,f.jsx("span",{className:j(n.offset,o),"aria-hidden":!0,children:f.jsx("span",{className:n.circle,children:f.jsx("span",{className:n.label,children:r})})})]})):null}function Ga(t){return t}const lx=k("span",{name:"MuiSlider",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`color${B(o.color)}`],o.size!=="medium"&&e[`size${B(o.size)}`],o.marked&&e.marked,o.orientation==="vertical"&&e.vertical,o.track==="inverted"&&e.trackInverted,o.track===!1&&e.trackFalse]}})(W(({theme:t})=>({borderRadius:12,boxSizing:"content-box",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",WebkitTapHighlightColor:"transparent","@media print":{colorAdjust:"exact"},[`&.${Ne.disabled}`]:{pointerEvents:"none",cursor:"default",color:(t.vars||t).palette.grey[400]},[`&.${Ne.dragging}`]:{[`& .${Ne.thumb}, & .${Ne.track}`]:{transition:"none"}},variants:[...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}})),{props:{orientation:"horizontal"},style:{height:4,width:"100%",padding:"13px 0","@media (pointer: coarse)":{padding:"20px 0"}}},{props:{orientation:"horizontal",size:"small"},style:{height:2}},{props:{orientation:"horizontal",marked:!0},style:{marginBottom:20}},{props:{orientation:"vertical"},style:{height:"100%",width:4,padding:"0 13px","@media (pointer: coarse)":{padding:"0 20px"}}},{props:{orientation:"vertical",size:"small"},style:{width:2}},{props:{orientation:"vertical",marked:!0},style:{marginRight:44}}]}))),cx=k("span",{name:"MuiSlider",slot:"Rail",overridesResolver:(t,e)=>e.rail})({display:"block",position:"absolute",borderRadius:"inherit",backgroundColor:"currentColor",opacity:.38,variants:[{props:{orientation:"horizontal"},style:{width:"100%",height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{height:"100%",width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:"inverted"},style:{opacity:1}}]}),px=k("span",{name:"MuiSlider",slot:"Track",overridesResolver:(t,e)=>e.track})(W(({theme:t})=>({display:"block",position:"absolute",borderRadius:"inherit",border:"1px solid currentColor",backgroundColor:"currentColor",transition:t.transitions.create(["left","width","bottom","height"],{duration:t.transitions.duration.shortest}),variants:[{props:{size:"small"},style:{border:"none"}},{props:{orientation:"horizontal"},style:{height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:!1},style:{display:"none"}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,track:"inverted"},style:{...t.vars?{backgroundColor:t.vars.palette.Slider[`${e}Track`],borderColor:t.vars.palette.Slider[`${e}Track`]}:{backgroundColor:Bo(t.palette[e].main,.62),borderColor:Bo(t.palette[e].main,.62),...t.applyStyles("dark",{backgroundColor:Ao(t.palette[e].main,.5)}),...t.applyStyles("dark",{borderColor:Ao(t.palette[e].main,.5)})}}}))]}))),dx=k("span",{name:"MuiSlider",slot:"Thumb",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.thumb,e[`thumbColor${B(o.color)}`],o.size!=="medium"&&e[`thumbSize${B(o.size)}`]]}})(W(({theme:t})=>({position:"absolute",width:20,height:20,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",transition:t.transitions.create(["box-shadow","left","bottom"],{duration:t.transitions.duration.shortest}),"&::before":{position:"absolute",content:'""',borderRadius:"inherit",width:"100%",height:"100%",boxShadow:(t.vars||t).shadows[2]},"&::after":{position:"absolute",content:'""',borderRadius:"50%",width:42,height:42,top:"50%",left:"50%",transform:"translate(-50%, -50%)"},[`&.${Ne.disabled}`]:{"&:hover":{boxShadow:"none"}},variants:[{props:{size:"small"},style:{width:12,height:12,"&::before":{boxShadow:"none"}}},{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-50%, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 50%)"}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{[`&:hover, &.${Ne.focusVisible}`]:{...t.vars?{boxShadow:`0px 0px 0px 8px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 8px ${kt(t.palette[e].main,.16)}`},"@media (hover: none)":{boxShadow:"none"}},[`&.${Ne.active}`]:{...t.vars?{boxShadow:`0px 0px 0px 14px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 14px ${kt(t.palette[e].main,.16)}`}}}}))]}))),ux=k(ix,{name:"MuiSlider",slot:"ValueLabel",overridesResolver:(t,e)=>e.valueLabel})(W(({theme:t})=>({zIndex:1,whiteSpace:"nowrap",...t.typography.body2,fontWeight:500,transition:t.transitions.create(["transform"],{duration:t.transitions.duration.shortest}),position:"absolute",backgroundColor:(t.vars||t).palette.grey[600],borderRadius:2,color:(t.vars||t).palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",padding:"0.25rem 0.75rem",variants:[{props:{orientation:"horizontal"},style:{transform:"translateY(-100%) scale(0)",top:"-10px",transformOrigin:"bottom center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, 50%) rotate(45deg)",backgroundColor:"inherit",bottom:0,left:"50%"},[`&.${Ne.valueLabelOpen}`]:{transform:"translateY(-100%) scale(1)"}}},{props:{orientation:"vertical"},style:{transform:"translateY(-50%) scale(0)",right:"30px",top:"50%",transformOrigin:"right center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, -50%) rotate(45deg)",backgroundColor:"inherit",right:-8,top:"50%"},[`&.${Ne.valueLabelOpen}`]:{transform:"translateY(-50%) scale(1)"}}},{props:{size:"small"},style:{fontSize:t.typography.pxToRem(12),padding:"0.25rem 0.5rem"}},{props:{orientation:"vertical",size:"small"},style:{right:"20px"}}]}))),fx=k("span",{name:"MuiSlider",slot:"Mark",shouldForwardProp:t=>Rr(t)&&t!=="markActive",overridesResolver:(t,e)=>{const{markActive:o}=t;return[e.mark,o&&e.markActive]}})(W(({theme:t})=>({position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor",variants:[{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-1px, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 1px)"}},{props:{markActive:!0},style:{backgroundColor:(t.vars||t).palette.background.paper,opacity:.8}}]}))),gx=k("span",{name:"MuiSlider",slot:"MarkLabel",shouldForwardProp:t=>Rr(t)&&t!=="markLabelActive",overridesResolver:(t,e)=>e.markLabel})(W(({theme:t})=>({...t.typography.body2,color:(t.vars||t).palette.text.secondary,position:"absolute",whiteSpace:"nowrap",variants:[{props:{orientation:"horizontal"},style:{top:30,transform:"translateX(-50%)","@media (pointer: coarse)":{top:40}}},{props:{orientation:"vertical"},style:{left:36,transform:"translateY(50%)","@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(t.vars||t).palette.text.primary}}]}))),mx=t=>{const{disabled:e,dragging:o,marked:r,orientation:n,track:s,classes:a,color:i,size:l}=t,c={root:["root",e&&"disabled",o&&"dragging",r&&"marked",n==="vertical"&&"vertical",s==="inverted"&&"trackInverted",s===!1&&"trackFalse",i&&`color${B(i)}`,l&&`size${B(l)}`],rail:["rail"],track:["track"],mark:["mark"],markActive:["markActive"],markLabel:["markLabel"],markLabelActive:["markLabelActive"],valueLabel:["valueLabel"],thumb:["thumb",e&&"disabled",l&&`thumbSize${B(l)}`,i&&`thumbColor${B(i)}`],active:["active"],disabled:["disabled"],focusVisible:["focusVisible"]};return G(c,sx,a)},bx=({children:t})=>t,b1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSlider"}),n=Ke(),{"aria-label":s,"aria-valuetext":a,"aria-labelledby":i,component:l="span",components:c={},componentsProps:p={},color:u="primary",classes:m,className:g,disableSwap:b=!1,disabled:v=!1,getAriaLabel:h,getAriaValueText:y,marks:S=!1,max:C=100,min:x=0,name:w,onChange:P,onChangeCommitted:$,orientation:I="horizontal",shiftStep:A=10,size:T="medium",step:z=1,scale:E=Ga,slotProps:R,slots:M,tabIndex:O,track:L="normal",value:F,valueLabelDisplay:D="off",valueLabelFormat:N=Ga,...J}=r,U={...r,isRtl:n,max:C,min:x,classes:m,disabled:v,disableSwap:b,orientation:I,marks:S,color:u,size:T,step:z,shiftStep:A,scale:E,track:L,valueLabelDisplay:D,valueLabelFormat:N},{axisProps:wt,getRootProps:vt,getHiddenInputProps:mt,getThumbProps:et,open:rt,active:Y,axis:at,focusedThumbIndex:ct,range:st,dragging:ft,marks:Z,values:pt,trackOffset:it,trackLeap:ht,getThumbStyle:Mt}=rx({...U,rootRef:o});U.marked=Z.length>0&&Z.some(Vt=>Vt.label),U.dragging=ft,U.focusedThumbIndex=ct;const tt=mx(U),ot=(M==null?void 0:M.root)??c.Root??lx,dt=(M==null?void 0:M.rail)??c.Rail??cx,St=(M==null?void 0:M.track)??c.Track??px,gt=(M==null?void 0:M.thumb)??c.Thumb??dx,nt=(M==null?void 0:M.valueLabel)??c.ValueLabel??ux,Tt=(M==null?void 0:M.mark)??c.Mark??fx,At=(M==null?void 0:M.markLabel)??c.MarkLabel??gx,q=(M==null?void 0:M.input)??c.Input??"input",lt=(R==null?void 0:R.root)??p.root,bt=(R==null?void 0:R.rail)??p.rail,$t=(R==null?void 0:R.track)??p.track,It=(R==null?void 0:R.thumb)??p.thumb,ut=(R==null?void 0:R.valueLabel)??p.valueLabel,Ct=(R==null?void 0:R.mark)??p.mark,Ut=(R==null?void 0:R.markLabel)??p.markLabel,Et=(R==null?void 0:R.input)??p.input,Gt=Ce({elementType:ot,getSlotProps:vt,externalSlotProps:lt,externalForwardedProps:J,additionalProps:{...nx(ot)&&{as:l}},ownerState:{...U,...lt==null?void 0:lt.ownerState},className:[tt.root,g]}),xt=Ce({elementType:dt,externalSlotProps:bt,ownerState:U,className:tt.rail}),Bt=Ce({elementType:St,externalSlotProps:$t,additionalProps:{style:{...wt[at].offset(it),...wt[at].leap(ht)}},ownerState:{...U,...$t==null?void 0:$t.ownerState},className:tt.track}),Xt=Ce({elementType:gt,getSlotProps:et,externalSlotProps:It,ownerState:{...U,...It==null?void 0:It.ownerState},className:tt.thumb}),oe=Ce({elementType:nt,externalSlotProps:ut,ownerState:{...U,...ut==null?void 0:ut.ownerState},className:tt.valueLabel}),fe=Ce({elementType:Tt,externalSlotProps:Ct,ownerState:U,className:tt.mark}),ie=Ce({elementType:At,externalSlotProps:Ut,ownerState:U,className:tt.markLabel}),Pe=Ce({elementType:q,getSlotProps:mt,externalSlotProps:Et,ownerState:U});return f.jsxs(ot,{...Gt,children:[f.jsx(dt,{...xt}),f.jsx(St,{...Bt}),Z.filter(Vt=>Vt.value>=x&&Vt.value<=C).map((Vt,_t)=>{const ce=cn(Vt.value,x,C),$e=wt[at].offset(ce);let pe;return L===!1?pe=pt.includes(Vt.value):pe=L==="normal"&&(st?Vt.value>=pt[0]&&Vt.value<=pt[pt.length-1]:Vt.value<=pt[0])||L==="inverted"&&(st?Vt.value<=pt[0]||Vt.value>=pt[pt.length-1]:Vt.value>=pt[0]),f.jsxs(d.Fragment,{children:[f.jsx(Tt,{"data-index":_t,...fe,...!so(Tt)&&{markActive:pe},style:{...$e,...fe.style},className:j(fe.className,pe&&tt.markActive)}),Vt.label!=null?f.jsx(At,{"aria-hidden":!0,"data-index":_t,...ie,...!so(At)&&{markLabelActive:pe},style:{...$e,...ie.style},className:j(tt.markLabel,ie.className,pe&&tt.markLabelActive),children:Vt.label}):null]},_t)}),pt.map((Vt,_t)=>{const ce=cn(Vt,x,C),$e=wt[at].offset(ce),pe=D==="off"?bx:nt;return f.jsx(pe,{...!so(pe)&&{valueLabelFormat:N,valueLabelDisplay:D,value:typeof N=="function"?N(E(Vt),_t):N,index:_t,open:rt===_t||Y===_t||D==="on",disabled:v},...oe,children:f.jsx(gt,{"data-index":_t,...Xt,className:j(tt.thumb,Xt.className,Y===_t&&tt.active,ct===_t&&tt.focusVisible),style:{...$e,...Mt(_t),...Xt.style},children:f.jsx(q,{"data-index":_t,"aria-label":h?h(_t):s,"aria-valuenow":E(Vt),"aria-labelledby":i,"aria-valuetext":y?y(E(Vt),_t):a,value:pt[_t],...Pe})})},_t)})]})});function vx(t={}){const{autoHideDuration:e=null,disableWindowBlurListener:o=!1,onClose:r,open:n,resumeHideDuration:s}=t,a=no();d.useEffect(()=>{if(!n)return;function y(S){S.defaultPrevented||S.key==="Escape"&&(r==null||r(S,"escapeKeyDown"))}return document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y)}},[n,r]);const i=ee((y,S)=>{r==null||r(y,S)}),l=ee(y=>{!r||y==null||a.start(y,()=>{i(null,"timeout")})});d.useEffect(()=>(n&&l(e),a.clear),[n,e,l,a]);const c=y=>{r==null||r(y,"clickaway")},p=a.clear,u=d.useCallback(()=>{e!=null&&l(s??e*.5)},[e,s,l]),m=y=>S=>{const C=y.onBlur;C==null||C(S),u()},g=y=>S=>{const C=y.onFocus;C==null||C(S),p()},b=y=>S=>{const C=y.onMouseEnter;C==null||C(S),p()},v=y=>S=>{const C=y.onMouseLeave;C==null||C(S),u()};return d.useEffect(()=>{if(!o&&n)return window.addEventListener("focus",u),window.addEventListener("blur",p),()=>{window.removeEventListener("focus",u),window.removeEventListener("blur",p)}},[o,n,u,p]),{getRootProps:(y={})=>{const S={...Mo(t),...Mo(y)};return{role:"presentation",...y,...S,onBlur:m(S),onFocus:g(S),onMouseEnter:b(S),onMouseLeave:v(S)}},onClickAway:c}}function hx(t){return V("MuiSnackbarContent",t)}const v1=K("MuiSnackbarContent",["root","message","action"]),yx=t=>{const{classes:e}=t;return G({root:["root"],action:["action"],message:["message"]},hx,e)},xx=k(Ue,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>{const e=t.palette.mode==="light"?.8:.98,o=tn(t.palette.background.default,e);return{...t.typography.body2,color:t.vars?t.vars.palette.SnackbarContent.color:t.palette.getContrastText(o),backgroundColor:t.vars?t.vars.palette.SnackbarContent.bg:o,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,flexGrow:1,[t.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}}})),Cx=k("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(t,e)=>e.message})({padding:"8px 0"}),Sx=k("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(t,e)=>e.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),wx=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSnackbarContent"}),{action:n,className:s,message:a,role:i="alert",...l}=r,c=r,p=yx(c);return f.jsxs(xx,{role:i,square:!0,elevation:6,className:j(p.root,s),ownerState:c,ref:o,...l,children:[f.jsx(Cx,{className:p.message,ownerState:c,children:a}),n?f.jsx(Sx,{className:p.action,ownerState:c,children:n}):null]})});function Rx(t){return V("MuiSnackbar",t)}const h1=K("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]),Px=t=>{const{classes:e,anchorOrigin:o}=t,r={root:["root",`anchorOrigin${B(o.vertical)}${B(o.horizontal)}`]};return G(r,Rx,e)},$x=k("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`anchorOrigin${B(o.anchorOrigin.vertical)}${B(o.anchorOrigin.horizontal)}`]]}})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center",variants:[{props:({ownerState:e})=>e.anchorOrigin.vertical==="top",style:{top:8,[t.breakpoints.up("sm")]:{top:24}}},{props:({ownerState:e})=>e.anchorOrigin.vertical!=="top",style:{bottom:8,[t.breakpoints.up("sm")]:{bottom:24}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="left",style:{justifyContent:"flex-start",[t.breakpoints.up("sm")]:{left:24,right:"auto"}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="right",style:{justifyContent:"flex-end",[t.breakpoints.up("sm")]:{right:24,left:"auto"}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="center",style:{[t.breakpoints.up("sm")]:{left:"50%",right:"auto",transform:"translateX(-50%)"}}}]}))),y1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSnackbar"}),n=le(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{action:a,anchorOrigin:{vertical:i,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:p,className:u,ClickAwayListenerProps:m,ContentProps:g,disableWindowBlurListener:b=!1,message:v,onBlur:h,onClose:y,onFocus:S,onMouseEnter:C,onMouseLeave:x,open:w,resumeHideDuration:P,slots:$={},slotProps:I={},TransitionComponent:A,transitionDuration:T=s,TransitionProps:{onEnter:z,onExited:E,...R}={},...M}=r,O={...r,anchorOrigin:{vertical:i,horizontal:l},autoHideDuration:c,disableWindowBlurListener:b,TransitionComponent:A,transitionDuration:T},L=Px(O),{getRootProps:F,onClickAway:D}=vx({...O}),[N,J]=d.useState(!0),U=pt=>{J(!0),E&&E(pt)},wt=(pt,it)=>{J(!1),z&&z(pt,it)},vt={slots:{transition:A,...$},slotProps:{content:g,clickAwayListener:m,transition:R,...I}},[mt,et]=Q("root",{ref:o,className:[L.root,u],elementType:$x,getSlotProps:F,externalForwardedProps:{...vt,...M},ownerState:O}),[rt,{ownerState:Y,...at}]=Q("clickAwayListener",{elementType:_g,externalForwardedProps:vt,getSlotProps:pt=>({onClickAway:(...it)=>{var ht;(ht=pt.onClickAway)==null||ht.call(pt,...it),D(...it)}}),ownerState:O}),[ct,st]=Q("content",{elementType:wx,shouldForwardComponentProp:!0,externalForwardedProps:vt,additionalProps:{message:v,action:a},ownerState:O}),[ft,Z]=Q("transition",{elementType:Sr,externalForwardedProps:vt,getSlotProps:pt=>({onEnter:(...it)=>{var ht;(ht=pt.onEnter)==null||ht.call(pt,...it),wt(...it)},onExited:(...it)=>{var ht;(ht=pt.onExited)==null||ht.call(pt,...it),U(...it)}}),additionalProps:{appear:!0,in:w,timeout:T,direction:i==="top"?"down":"up"},ownerState:O});return!w&&N?null:f.jsx(rt,{...at,...$.clickAwayListener&&{ownerState:Y},children:f.jsx(mt,{...et,children:f.jsx(ft,{...Z,children:p||f.jsx(ct,{...st})})})})}),kx={entering:{transform:"none"},entered:{transform:"none"}},Ix=d.forwardRef(function(e,o){const r=le(),n={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:a=!0,children:i,easing:l,in:c,onEnter:p,onEntered:u,onEntering:m,onExit:g,onExited:b,onExiting:v,style:h,timeout:y=n,TransitionComponent:S=Le,...C}=e,x=d.useRef(null),w=qt(x,io(i),o),P=M=>O=>{if(M){const L=x.current;O===void 0?M(L):M(L,O)}},$=P(m),I=P((M,O)=>{mn(M);const L=Ge({style:h,timeout:y,easing:l},{mode:"enter"});M.style.webkitTransition=r.transitions.create("transform",L),M.style.transition=r.transitions.create("transform",L),p&&p(M,O)}),A=P(u),T=P(v),z=P(M=>{const O=Ge({style:h,timeout:y,easing:l},{mode:"exit"});M.style.webkitTransition=r.transitions.create("transform",O),M.style.transition=r.transitions.create("transform",O),g&&g(M)}),E=P(b),R=M=>{s&&s(x.current,M)};return f.jsx(S,{appear:a,in:c,nodeRef:x,onEnter:I,onEntered:A,onEntering:$,onExit:z,onExited:E,onExiting:T,addEndListener:R,timeout:y,...C,children:(M,{ownerState:O,...L})=>d.cloneElement(i,{style:{transform:"scale(0)",visibility:M==="exited"&&!c?"hidden":void 0,...kx[M],...h,...i.props.style},ref:w,...L})})});function Tx(t){return V("MuiSpeedDial",t)}const Gr=K("MuiSpeedDial",["root","fab","directionUp","directionDown","directionLeft","directionRight","actions","actionsClosed"]),Mx=t=>{const{classes:e,open:o,direction:r}=t,n={root:["root",`direction${B(r)}`],fab:["fab"],actions:["actions",!o&&"actionsClosed"]};return G(n,Tx,e)};function ar(t){if(t==="up"||t==="down")return"vertical";if(t==="right"||t==="left")return"horizontal"}const go=32,Kr=16,Lx=k("div",{name:"MuiSpeedDial",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`direction${B(o.direction)}`]]}})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.speedDial,display:"flex",alignItems:"center",pointerEvents:"none",variants:[{props:{direction:"up"},style:{flexDirection:"column-reverse",[`& .${Gr.actions}`]:{flexDirection:"column-reverse",marginBottom:-go,paddingBottom:Kr+go}}},{props:{direction:"down"},style:{flexDirection:"column",[`& .${Gr.actions}`]:{flexDirection:"column",marginTop:-go,paddingTop:Kr+go}}},{props:{direction:"left"},style:{flexDirection:"row-reverse",[`& .${Gr.actions}`]:{flexDirection:"row-reverse",marginRight:-go,paddingRight:Kr+go}}},{props:{direction:"right"},style:{flexDirection:"row",[`& .${Gr.actions}`]:{flexDirection:"row",marginLeft:-go,paddingLeft:Kr+go}}}]}))),Ax=k(Ki,{name:"MuiSpeedDial",slot:"Fab",overridesResolver:(t,e)=>e.fab})({pointerEvents:"auto"}),Bx=k("div",{name:"MuiSpeedDial",slot:"Actions",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.actions,!o.open&&e.actionsClosed]}})({display:"flex",pointerEvents:"auto",variants:[{props:({ownerState:t})=>!t.open,style:{transition:"top 0s linear 0.2s",pointerEvents:"none"}}]}),x1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSpeedDial"}),n=le(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{ariaLabel:a,FabProps:{ref:i,...l}={},children:c,className:p,direction:u="up",hidden:m=!1,icon:g,onBlur:b,onClose:v,onFocus:h,onKeyDown:y,onMouseEnter:S,onMouseLeave:C,onOpen:x,open:w,openIcon:P,slots:$={},slotProps:I={},TransitionComponent:A,TransitionProps:T,transitionDuration:z=s,...E}=r,[R,M]=Te({controlled:w,default:!1,name:"SpeedDial",state:"open"}),O={...r,open:R,direction:u},L=Mx(O),F=no(),D=d.useRef(0),N=d.useRef(),J=d.useRef([]);J.current=[J.current[0]];const U=d.useCallback(ot=>{J.current[0]=ot},[]),wt=qt(i,U),vt=(ot,dt)=>St=>{J.current[ot+1]=St,dt&&dt(St)},mt=ot=>{y&&y(ot);const dt=ot.key.replace("Arrow","").toLowerCase(),{current:St=dt}=N;if(ot.key==="Escape"){M(!1),J.current[0].focus(),v&&v(ot,"escapeKeyDown");return}if(ar(dt)===ar(St)&&ar(dt)!==void 0){ot.preventDefault();const gt=dt===St?1:-1,nt=Ro(D.current+gt,0,J.current.length-1);J.current[nt].focus(),D.current=nt,N.current=St}};d.useEffect(()=>{R||(D.current=0,N.current=void 0)},[R]);const et=ot=>{ot.type==="mouseleave"&&C&&C(ot),ot.type==="blur"&&b&&b(ot),F.clear(),ot.type==="blur"?F.start(0,()=>{M(!1),v&&v(ot,"blur")}):(M(!1),v&&v(ot,"mouseLeave"))},rt=ot=>{l.onClick&&l.onClick(ot),F.clear(),R?(M(!1),v&&v(ot,"toggle")):(M(!0),x&&x(ot,"toggle"))},Y=ot=>{ot.type==="mouseenter"&&S&&S(ot),ot.type==="focus"&&h&&h(ot),F.clear(),R||F.start(0,()=>{M(!0),x&&x(ot,{focus:"focus",mouseenter:"mouseEnter"}[ot.type])})},at=a.replace(/^[^a-z]+|[^\w:.-]+/gi,""),ct=d.Children.toArray(c).filter(ot=>d.isValidElement(ot)),st=ct.map((ot,dt)=>{const{FabProps:{ref:St,...gt}={},tooltipPlacement:nt}=ot.props,Tt=nt||(ar(u)==="vertical"?"left":"top");return d.cloneElement(ot,{FabProps:{...gt,ref:vt(dt,St)},delay:30*(R?dt:ct.length-dt),open:R,tooltipPlacement:Tt,id:`${at}-action-${dt}`})}),ft={transition:A,...$},Z={transition:T,...I},pt={slots:ft,slotProps:Z},[it,ht]=Q("root",{elementType:Lx,externalForwardedProps:{...pt,...E},ownerState:O,ref:o,className:j(L.root,p),additionalProps:{role:"presentation"},getSlotProps:ot=>({...ot,onKeyDown:dt=>{var St;(St=ot.onKeyDown)==null||St.call(ot,dt),mt(dt)},onBlur:dt=>{var St;(St=ot.onBlur)==null||St.call(ot,dt),et(dt)},onFocus:dt=>{var St;(St=ot.onFocus)==null||St.call(ot,dt),Y(dt)},onMouseEnter:dt=>{var St;(St=ot.onMouseEnter)==null||St.call(ot,dt),Y(dt)},onMouseLeave:dt=>{var St;(St=ot.onMouseLeave)==null||St.call(ot,dt),et(dt)}})}),[Mt,tt]=Q("transition",{elementType:Ix,externalForwardedProps:pt,ownerState:O});return f.jsxs(it,{...ht,children:[f.jsx(Mt,{in:!m,timeout:z,unmountOnExit:!0,...tt,children:f.jsx(Ax,{color:"primary","aria-label":a,"aria-haspopup":"true","aria-expanded":R,"aria-controls":`${at}-actions`,...l,onClick:rt,className:j(L.fab,l.className),ref:wt,ownerState:O,children:d.isValidElement(g)&&yo(g,["SpeedDialIcon"])?d.cloneElement(g,{open:R}):g})}),f.jsx(Bx,{id:`${at}-actions`,role:"menu","aria-orientation":ar(u),className:j(L.actions,!R&&L.actionsClosed),ownerState:O,children:st})]})});function Ex(t){return V("MuiTooltip",t)}const re=K("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]);function Ox(t){return Math.round(t*1e5)/1e5}const Nx=t=>{const{classes:e,disableInteractive:o,arrow:r,touch:n,placement:s}=t,a={popper:["popper",!o&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",n&&"touch",`tooltipPlacement${B(s.split("-")[0])}`],arrow:["arrow"]};return G(a,Ex,e)},zx=k(vn,{name:"MuiTooltip",slot:"Popper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.popper,!o.disableInteractive&&e.popperInteractive,o.arrow&&e.popperArrow,!o.open&&e.popperClose]}})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState:e})=>!e.disableInteractive,style:{pointerEvents:"auto"}},{props:({open:e})=>!e,style:{pointerEvents:"none"}},{props:({ownerState:e})=>e.arrow,style:{[`&[data-popper-placement*="bottom"] .${re.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${re.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${re.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${re.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState:e})=>e.arrow&&!e.isRtl,style:{[`&[data-popper-placement*="right"] .${re.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!!e.isRtl,style:{[`&[data-popper-placement*="right"] .${re.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!e.isRtl,style:{[`&[data-popper-placement*="left"] .${re.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!!e.isRtl,style:{[`&[data-popper-placement*="left"] .${re.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),jx=k("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.tooltip,o.touch&&e.touch,o.arrow&&e.tooltipArrow,e[`tooltipPlacement${B(o.placement.split("-")[0])}`]]}})(W(({theme:t})=>({backgroundColor:t.vars?t.vars.palette.Tooltip.bg:kt(t.palette.grey[700],.92),borderRadius:(t.vars||t).shape.borderRadius,color:(t.vars||t).palette.common.white,fontFamily:t.typography.fontFamily,padding:"4px 8px",fontSize:t.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:t.typography.fontWeightMedium,[`.${re.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${re.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${re.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${re.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState:e})=>e.arrow,style:{position:"relative",margin:0}},{props:({ownerState:e})=>e.touch,style:{padding:"8px 16px",fontSize:t.typography.pxToRem(14),lineHeight:`${Ox(16/14)}em`,fontWeight:t.typography.fontWeightRegular}},{props:({ownerState:e})=>!e.isRtl,style:{[`.${re.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${re.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState:e})=>!e.isRtl&&e.touch,style:{[`.${re.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${re.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState:e})=>!!e.isRtl,style:{[`.${re.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${re.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState:e})=>!!e.isRtl&&e.touch,style:{[`.${re.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${re.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState:e})=>e.touch,style:{[`.${re.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState:e})=>e.touch,style:{[`.${re.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),Dx=k("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(t,e)=>e.arrow})(W(({theme:t})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:t.vars?t.vars.palette.Tooltip.bg:kt(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}})));let qr=!1;const Ka=new fn;let ir={x:0,y:0};function Xr(t,e){return(o,...r)=>{e&&e(o,...r),t(o,...r)}}const Fx=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTooltip"}),{arrow:n=!1,children:s,classes:a,components:i={},componentsProps:l={},describeChild:c=!1,disableFocusListener:p=!1,disableHoverListener:u=!1,disableInteractive:m=!1,disableTouchListener:g=!1,enterDelay:b=100,enterNextDelay:v=0,enterTouchDelay:h=700,followCursor:y=!1,id:S,leaveDelay:C=0,leaveTouchDelay:x=1500,onClose:w,onOpen:P,open:$,placement:I="bottom",PopperComponent:A,PopperProps:T={},slotProps:z={},slots:E={},title:R,TransitionComponent:M,TransitionProps:O,...L}=r,F=d.isValidElement(s)?s:f.jsx("span",{children:s}),D=le(),N=Ke(),[J,U]=d.useState(),[wt,vt]=d.useState(null),mt=d.useRef(!1),et=m||y,rt=no(),Y=no(),at=no(),ct=no(),[st,ft]=Te({controlled:$,default:!1,name:"Tooltip",state:"open"});let Z=st;const pt=De(S),it=d.useRef(),ht=ee(()=>{it.current!==void 0&&(document.body.style.WebkitUserSelect=it.current,it.current=void 0),ct.clear()});d.useEffect(()=>ht,[ht]);const Mt=Lt=>{Ka.clear(),qr=!0,ft(!0),P&&!Z&&P(Lt)},tt=ee(Lt=>{Ka.start(800+C,()=>{qr=!1}),ft(!1),w&&Z&&w(Lt),rt.start(D.transitions.duration.shortest,()=>{mt.current=!1})}),ot=Lt=>{mt.current&&Lt.type!=="touchstart"||(J&&J.removeAttribute("title"),Y.clear(),at.clear(),b||qr&&v?Y.start(qr?v:b,()=>{Mt(Lt)}):Mt(Lt))},dt=Lt=>{Y.clear(),at.start(C,()=>{tt(Lt)})},[,St]=d.useState(!1),gt=Lt=>{Ze(Lt.target)||(St(!1),dt(Lt))},nt=Lt=>{J||U(Lt.currentTarget),Ze(Lt.target)&&(St(!0),ot(Lt))},Tt=Lt=>{mt.current=!0;const ge=F.props;ge.onTouchStart&&ge.onTouchStart(Lt)},At=Lt=>{Tt(Lt),at.clear(),rt.clear(),ht(),it.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",ct.start(h,()=>{document.body.style.WebkitUserSelect=it.current,ot(Lt)})},q=Lt=>{F.props.onTouchEnd&&F.props.onTouchEnd(Lt),ht(),at.start(x,()=>{tt(Lt)})};d.useEffect(()=>{if(!Z)return;function Lt(ge){ge.key==="Escape"&&tt(ge)}return document.addEventListener("keydown",Lt),()=>{document.removeEventListener("keydown",Lt)}},[tt,Z]);const lt=qt(io(F),U,o);!R&&R!==0&&(Z=!1);const bt=d.useRef(),$t=Lt=>{const ge=F.props;ge.onMouseMove&&ge.onMouseMove(Lt),ir={x:Lt.clientX,y:Lt.clientY},bt.current&&bt.current.update()},It={},ut=typeof R=="string";c?(It.title=!Z&&ut&&!u?R:null,It["aria-describedby"]=Z?pt:null):(It["aria-label"]=ut?R:null,It["aria-labelledby"]=Z&&!ut?pt:null);const Ct={...It,...L,...F.props,className:j(L.className,F.props.className),onTouchStart:Tt,ref:lt,...y?{onMouseMove:$t}:{}},Ut={};g||(Ct.onTouchStart=At,Ct.onTouchEnd=q),u||(Ct.onMouseOver=Xr(ot,Ct.onMouseOver),Ct.onMouseLeave=Xr(dt,Ct.onMouseLeave),et||(Ut.onMouseOver=ot,Ut.onMouseLeave=dt)),p||(Ct.onFocus=Xr(nt,Ct.onFocus),Ct.onBlur=Xr(gt,Ct.onBlur),et||(Ut.onFocus=nt,Ut.onBlur=gt));const Et={...r,isRtl:N,arrow:n,disableInteractive:et,placement:I,PopperComponentProp:A,touch:mt.current},Gt=typeof z.popper=="function"?z.popper(Et):z.popper,xt=d.useMemo(()=>{var ge,yt;let Lt=[{name:"arrow",enabled:!!wt,options:{element:wt,padding:4}}];return(ge=T.popperOptions)!=null&&ge.modifiers&&(Lt=Lt.concat(T.popperOptions.modifiers)),(yt=Gt==null?void 0:Gt.popperOptions)!=null&&yt.modifiers&&(Lt=Lt.concat(Gt.popperOptions.modifiers)),{...T.popperOptions,...Gt==null?void 0:Gt.popperOptions,modifiers:Lt}},[wt,T.popperOptions,Gt==null?void 0:Gt.popperOptions]),Bt=Nx(Et),Xt=typeof z.transition=="function"?z.transition(Et):z.transition,oe={slots:{popper:i.Popper,transition:i.Transition??M,tooltip:i.Tooltip,arrow:i.Arrow,...E},slotProps:{arrow:z.arrow??l.arrow,popper:{...T,...Gt??l.popper},tooltip:z.tooltip??l.tooltip,transition:{...O,...Xt??l.transition}}},[fe,ie]=Q("popper",{elementType:zx,externalForwardedProps:oe,ownerState:Et,className:j(Bt.popper,T==null?void 0:T.className)}),[Pe,Vt]=Q("transition",{elementType:Sr,externalForwardedProps:oe,ownerState:Et}),[_t,ce]=Q("tooltip",{elementType:jx,className:Bt.tooltip,externalForwardedProps:oe,ownerState:Et}),[$e,pe]=Q("arrow",{elementType:Dx,className:Bt.arrow,externalForwardedProps:oe,ownerState:Et,ref:vt});return f.jsxs(d.Fragment,{children:[d.cloneElement(F,Ct),f.jsx(fe,{as:A??vn,placement:I,anchorEl:y?{getBoundingClientRect:()=>({top:ir.y,left:ir.x,right:ir.x,bottom:ir.y,width:0,height:0})}:J,popperRef:bt,open:J?Z:!1,id:pt,transition:!0,...Ut,...ie,popperOptions:xt,children:({TransitionProps:Lt})=>f.jsx(Pe,{timeout:D.transitions.duration.shorter,...Lt,...Vt,children:f.jsxs(_t,{...ce,children:[R,n?f.jsx($e,{...pe}):null]})})})]})});function Wx(t){return V("MuiSpeedDialAction",t)}const _r=K("MuiSpeedDialAction",["fab","fabClosed","staticTooltip","staticTooltipClosed","staticTooltipLabel","tooltipPlacementLeft","tooltipPlacementRight"]),Ux=t=>{const{open:e,tooltipPlacement:o,classes:r}=t,n={fab:["fab",!e&&"fabClosed"],staticTooltip:["staticTooltip",`tooltipPlacement${B(o)}`,!e&&"staticTooltipClosed"],staticTooltipLabel:["staticTooltipLabel"]};return G(n,Wx,r)},Hx=k(Ki,{name:"MuiSpeedDialAction",slot:"Fab",skipVariantsResolver:!1,overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.fab,!o.open&&e.fabClosed]}})(W(({theme:t})=>({margin:8,color:(t.vars||t).palette.text.secondary,backgroundColor:(t.vars||t).palette.background.paper,"&:hover":{backgroundColor:t.vars?t.vars.palette.SpeedDialAction.fabHoverBg:tn(t.palette.background.paper,.15)},transition:`${t.transitions.create("transform",{duration:t.transitions.duration.shorter})}, opacity 0.8s`,opacity:1,variants:[{props:({ownerState:e})=>!e.open,style:{opacity:0,transform:"scale(0)"}}]}))),Vx=k("span",{name:"MuiSpeedDialAction",slot:"StaticTooltip",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.staticTooltip,!o.open&&e.staticTooltipClosed,e[`tooltipPlacement${B(o.tooltipPlacement)}`]]}})(W(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",[`& .${_r.staticTooltipLabel}`]:{transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.shorter}),opacity:1},variants:[{props:({ownerState:e})=>!e.open,style:{[`& .${_r.staticTooltipLabel}`]:{opacity:0,transform:"scale(0.5)"}}},{props:{tooltipPlacement:"left"},style:{[`& .${_r.staticTooltipLabel}`]:{transformOrigin:"100% 50%",right:"100%",marginRight:8}}},{props:{tooltipPlacement:"right"},style:{[`& .${_r.staticTooltipLabel}`]:{transformOrigin:"0% 50%",left:"100%",marginLeft:8}}}]}))),Gx=k("span",{name:"MuiSpeedDialAction",slot:"StaticTooltipLabel",overridesResolver:(t,e)=>e.staticTooltipLabel})(W(({theme:t})=>({position:"absolute",...t.typography.body1,backgroundColor:(t.vars||t).palette.background.paper,borderRadius:(t.vars||t).shape.borderRadius,boxShadow:(t.vars||t).shadows[1],color:(t.vars||t).palette.text.secondary,padding:"4px 16px",wordBreak:"keep-all"}))),C1=d.forwardRef(function(e,o){var D;const r=_({props:e,name:"MuiSpeedDialAction"}),{className:n,delay:s=0,FabProps:a={},icon:i,id:l,open:c,TooltipClasses:p,tooltipOpen:u=!1,tooltipPlacement:m="left",tooltipTitle:g,slots:b={},slotProps:v={},...h}=r,y={...r,tooltipPlacement:m},S=Ux(y),C={slots:b,slotProps:{fab:a,...v,tooltip:Go(typeof v.tooltip=="function"?v.tooltip(y):v.tooltip,{title:g,open:u,placement:m,classes:p})}},[x,w]=d.useState((D=C.slotProps.tooltip)==null?void 0:D.open),P=()=>{w(!1)},$=()=>{w(!0)},I={transitionDelay:`${s}ms`},[A,T]=Q("fab",{elementType:Hx,externalForwardedProps:C,ownerState:y,shouldForwardComponentProp:!0,className:j(S.fab,n),additionalProps:{style:I,tabIndex:-1,role:"menuitem",size:"small"}}),[z,E]=Q("tooltip",{elementType:Fx,externalForwardedProps:C,shouldForwardComponentProp:!0,ref:o,additionalProps:{id:l},ownerState:y,getSlotProps:N=>({...N,onClose:J=>{var U;(U=N.onClose)==null||U.call(N,J),P()},onOpen:J=>{var U;(U=N.onOpen)==null||U.call(N,J),$()}})}),[R,M]=Q("staticTooltip",{elementType:Vx,externalForwardedProps:C,ownerState:y,ref:o,className:S.staticTooltip,additionalProps:{id:l}}),[O,L]=Q("staticTooltipLabel",{elementType:Gx,externalForwardedProps:C,ownerState:y,className:S.staticTooltipLabel,additionalProps:{style:I,id:`${l}-label`}}),F=f.jsx(A,{...T,children:i});return E.open?f.jsxs(R,{...M,...h,children:[f.jsx(O,{...L,children:E.title}),d.cloneElement(F,{"aria-labelledby":`${l}-label`})]}):(!c&&x&&w(!1),f.jsx(z,{...E,title:E.title,open:c&&x,placement:E.placement,classes:E.classes,...h,children:F}))}),Kx=Qt(f.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");function qx(t){return V("MuiSpeedDialIcon",t)}const _e=K("MuiSpeedDialIcon",["root","icon","iconOpen","iconWithOpenIconOpen","openIcon","openIconOpen"]),Xx=t=>{const{classes:e,open:o,openIcon:r}=t;return G({root:["root"],icon:["icon",o&&"iconOpen",r&&o&&"iconWithOpenIconOpen"],openIcon:["openIcon",o&&"openIconOpen"]},qx,e)},_x=k("span",{name:"MuiSpeedDialIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${_e.icon}`]:e.icon},{[`& .${_e.icon}`]:o.open&&e.iconOpen},{[`& .${_e.icon}`]:o.open&&o.openIcon&&e.iconWithOpenIconOpen},{[`& .${_e.openIcon}`]:e.openIcon},{[`& .${_e.openIcon}`]:o.open&&e.openIconOpen},e.root]}})(W(({theme:t})=>({height:24,[`& .${_e.icon}`]:{transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.short})},[`& .${_e.openIcon}`]:{position:"absolute",transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.short}),opacity:0,transform:"rotate(-45deg)"},variants:[{props:({ownerState:e})=>e.open,style:{[`& .${_e.icon}`]:{transform:"rotate(45deg)"}}},{props:({ownerState:e})=>e.open&&e.openIcon,style:{[`& .${_e.icon}`]:{opacity:0}}},{props:({ownerState:e})=>e.open,style:{[`& .${_e.openIcon}`]:{transform:"rotate(0deg)",opacity:1}}}]}))),Yx=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSpeedDialIcon"}),{className:n,icon:s,open:a,openIcon:i,...l}=r,c=r,p=Xx(c);function u(m,g){return d.isValidElement(m)?d.cloneElement(m,{className:g}):m}return f.jsxs(_x,{className:j(p.root,n),ref:o,ownerState:c,...l,children:[i?u(i,p.openIcon):null,s?u(s,p.icon):f.jsx(Kx,{className:p.icon})]})});Yx.muiName="SpeedDialIcon";const S1=kc({createStyledComponent:k("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root}),useThemeProps:t=>_({props:t,name:"MuiStack"})}),w1=K("MuiStack",["root"]),zo=d.createContext({});function R1(){return d.useContext(zo)}const Zo=d.createContext({});function P1(){return d.useContext(Zo)}function Zx(t){return V("MuiStep",t)}const $1=K("MuiStep",["root","horizontal","vertical","alternativeLabel","completed"]),Qx=t=>{const{classes:e,orientation:o,alternativeLabel:r,completed:n}=t;return G({root:["root",o,r&&"alternativeLabel",n&&"completed"]},Zx,e)},Jx=k("div",{name:"MuiStep",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.completed&&e.completed]}})({variants:[{props:{orientation:"horizontal"},style:{paddingLeft:8,paddingRight:8}},{props:{alternativeLabel:!0},style:{flex:1,position:"relative"}}]}),k1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStep"}),{active:n,children:s,className:a,component:i="div",completed:l,disabled:c,expanded:p=!1,index:u,last:m,...g}=r,{activeStep:b,connector:v,alternativeLabel:h,orientation:y,nonLinear:S}=d.useContext(zo);let[C=!1,x=!1,w=!1]=[n,l,c];b===u?C=n!==void 0?n:!0:!S&&b>u?x=l!==void 0?l:!0:!S&&b({index:u,last:m,expanded:p,icon:u+1,active:C,completed:x,disabled:w}),[u,m,p,C,x,w]),$={...r,active:C,orientation:y,alternativeLabel:h,completed:x,disabled:w,expanded:p,component:i},I=Qx($),A=f.jsxs(Jx,{as:i,className:j(I.root,a),ref:o,ownerState:$,...g,children:[v&&h&&u!==0?v:null,s]});return f.jsx(Zo.Provider,{value:P,children:v&&!h&&u!==0?f.jsxs(d.Fragment,{children:[v,A]}):A})}),t0=Qt(f.jsx("path",{d:"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"}),"CheckCircle"),e0=Qt(f.jsx("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning");function o0(t){return V("MuiStepIcon",t)}const zn=K("MuiStepIcon",["root","active","completed","error","text"]);var qa;const r0=t=>{const{classes:e,active:o,completed:r,error:n}=t;return G({root:["root",o&&"active",r&&"completed",n&&"error"],text:["text"]},o0,e)},jn=k(Fl,{name:"MuiStepIcon",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),color:(t.vars||t).palette.text.disabled,[`&.${zn.completed}`]:{color:(t.vars||t).palette.primary.main},[`&.${zn.active}`]:{color:(t.vars||t).palette.primary.main},[`&.${zn.error}`]:{color:(t.vars||t).palette.error.main}}))),n0=k("text",{name:"MuiStepIcon",slot:"Text",overridesResolver:(t,e)=>e.text})(W(({theme:t})=>({fill:(t.vars||t).palette.primary.contrastText,fontSize:t.typography.caption.fontSize,fontFamily:t.typography.fontFamily}))),s0=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepIcon"}),{active:n=!1,className:s,completed:a=!1,error:i=!1,icon:l,...c}=r,p={...r,active:n,completed:a,error:i},u=r0(p);if(typeof l=="number"||typeof l=="string"){const m=j(s,u.root);return i?f.jsx(jn,{as:e0,className:m,ref:o,ownerState:p,...c}):a?f.jsx(jn,{as:t0,className:m,ref:o,ownerState:p,...c}):f.jsxs(jn,{className:m,ref:o,ownerState:p,...c,children:[qa||(qa=f.jsx("circle",{cx:"12",cy:"12",r:"12"})),f.jsx(n0,{className:u.text,x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",ownerState:p,children:l})]})}return l});function a0(t){return V("MuiStepLabel",t)}const ho=K("MuiStepLabel",["root","horizontal","vertical","label","active","completed","error","disabled","iconContainer","alternativeLabel","labelContainer"]),i0=t=>{const{classes:e,orientation:o,active:r,completed:n,error:s,disabled:a,alternativeLabel:i}=t;return G({root:["root",o,s&&"error",a&&"disabled",i&&"alternativeLabel"],label:["label",r&&"active",n&&"completed",s&&"error",a&&"disabled",i&&"alternativeLabel"],iconContainer:["iconContainer",r&&"active",n&&"completed",s&&"error",a&&"disabled",i&&"alternativeLabel"],labelContainer:["labelContainer",i&&"alternativeLabel"]},a0,e)},l0=k("span",{name:"MuiStepLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation]]}})({display:"flex",alignItems:"center",[`&.${ho.alternativeLabel}`]:{flexDirection:"column"},[`&.${ho.disabled}`]:{cursor:"default"},variants:[{props:{orientation:"vertical"},style:{textAlign:"left",padding:"8px 0"}}]}),c0=k("span",{name:"MuiStepLabel",slot:"Label",overridesResolver:(t,e)=>e.label})(W(({theme:t})=>({...t.typography.body2,display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),[`&.${ho.active}`]:{color:(t.vars||t).palette.text.primary,fontWeight:500},[`&.${ho.completed}`]:{color:(t.vars||t).palette.text.primary,fontWeight:500},[`&.${ho.alternativeLabel}`]:{marginTop:16},[`&.${ho.error}`]:{color:(t.vars||t).palette.error.main}}))),p0=k("span",{name:"MuiStepLabel",slot:"IconContainer",overridesResolver:(t,e)=>e.iconContainer})({flexShrink:0,display:"flex",paddingRight:8,[`&.${ho.alternativeLabel}`]:{paddingRight:0}}),d0=k("span",{name:"MuiStepLabel",slot:"LabelContainer",overridesResolver:(t,e)=>e.labelContainer})(W(({theme:t})=>({width:"100%",color:(t.vars||t).palette.text.secondary,[`&.${ho.alternativeLabel}`]:{textAlign:"center"}}))),dl=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepLabel"}),{children:n,className:s,componentsProps:a={},error:i=!1,icon:l,optional:c,slots:p={},slotProps:u={},StepIconComponent:m,StepIconProps:g,...b}=r,{alternativeLabel:v,orientation:h}=d.useContext(zo),{active:y,disabled:S,completed:C,icon:x}=d.useContext(Zo),w=l||x;let P=m;w&&!P&&(P=s0);const $={...r,active:y,alternativeLabel:v,completed:C,disabled:S,error:i,orientation:h},I=i0($),A={slots:p,slotProps:{stepIcon:g,...a,...u}},[T,z]=Q("root",{elementType:l0,externalForwardedProps:{...A,...b},ownerState:$,ref:o,className:j(I.root,s)}),[E,R]=Q("label",{elementType:c0,externalForwardedProps:A,ownerState:$}),[M,O]=Q("stepIcon",{elementType:P,externalForwardedProps:A,ownerState:$});return f.jsxs(T,{...z,children:[w||M?f.jsx(p0,{className:I.iconContainer,ownerState:$,children:f.jsx(M,{completed:C,active:y,error:i,icon:w,...O})}):null,f.jsxs(d0,{className:I.labelContainer,ownerState:$,children:[n?f.jsx(E,{...R,className:j(I.label,R==null?void 0:R.className),children:n}):null,c]})]})});dl.muiName="StepLabel";function u0(t){return V("MuiStepButton",t)}const Xa=K("MuiStepButton",["root","horizontal","vertical","touchRipple"]),f0=t=>{const{classes:e,orientation:o}=t;return G({root:["root",o],touchRipple:["touchRipple"]},u0,e)},g0=k(ue,{name:"MuiStepButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Xa.touchRipple}`]:e.touchRipple},e.root,e[o.orientation]]}})({width:"100%",padding:"24px 16px",margin:"-24px -16px",boxSizing:"content-box",[`& .${Xa.touchRipple}`]:{color:"rgba(0, 0, 0, 0.3)"},variants:[{props:{orientation:"vertical"},style:{justifyContent:"flex-start",padding:"8px",margin:"-8px"}}]}),I1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepButton"}),{children:n,className:s,icon:a,optional:i,...l}=r,{disabled:c,active:p}=d.useContext(Zo),{orientation:u}=d.useContext(zo),m={...r,orientation:u},g=f0(m),b={icon:a,optional:i},v=yo(n,["StepLabel"])?d.cloneElement(n,b):f.jsx(dl,{...b,children:n});return f.jsx(g0,{focusRipple:!0,disabled:c,TouchRippleProps:{className:g.touchRipple},className:j(g.root,s),ref:o,ownerState:m,"aria-current":p?"step":void 0,...l,children:v})});function m0(t){return V("MuiStepConnector",t)}const T1=K("MuiStepConnector",["root","horizontal","vertical","alternativeLabel","active","completed","disabled","line","lineHorizontal","lineVertical"]),b0=t=>{const{classes:e,orientation:o,alternativeLabel:r,active:n,completed:s,disabled:a}=t,i={root:["root",o,r&&"alternativeLabel",n&&"active",s&&"completed",a&&"disabled"],line:["line",`line${B(o)}`]};return G(i,m0,e)},v0=k("div",{name:"MuiStepConnector",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.completed&&e.completed]}})({flex:"1 1 auto",variants:[{props:{orientation:"vertical"},style:{marginLeft:12}},{props:{alternativeLabel:!0},style:{position:"absolute",top:12,left:"calc(-50% + 20px)",right:"calc(50% + 20px)"}}]}),h0=k("span",{name:"MuiStepConnector",slot:"Line",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.line,e[`line${B(o.orientation)}`]]}})(W(({theme:t})=>{const e=t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600];return{display:"block",borderColor:t.vars?t.vars.palette.StepConnector.border:e,variants:[{props:{orientation:"horizontal"},style:{borderTopStyle:"solid",borderTopWidth:1}},{props:{orientation:"vertical"},style:{borderLeftStyle:"solid",borderLeftWidth:1,minHeight:24}}]}})),y0=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepConnector"}),{className:n,...s}=r,{alternativeLabel:a,orientation:i="horizontal"}=d.useContext(zo),{active:l,disabled:c,completed:p}=d.useContext(Zo),u={...r,alternativeLabel:a,orientation:i,active:l,completed:p,disabled:c},m=b0(u);return f.jsx(v0,{className:j(m.root,n),ref:o,ownerState:u,...s,children:f.jsx(h0,{className:m.line,ownerState:u})})});function x0(t){return V("MuiStepContent",t)}const M1=K("MuiStepContent",["root","last","transition"]),C0=t=>{const{classes:e,last:o}=t;return G({root:["root",o&&"last"],transition:["transition"]},x0,e)},S0=k("div",{name:"MuiStepContent",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.last&&e.last]}})(W(({theme:t})=>({marginLeft:12,paddingLeft:20,paddingRight:8,borderLeft:t.vars?`1px solid ${t.vars.palette.StepContent.border}`:`1px solid ${t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600]}`,variants:[{props:{last:!0},style:{borderLeft:"none"}}]}))),w0=k(hr,{name:"MuiStepContent",slot:"Transition",overridesResolver:(t,e)=>e.transition})({}),L1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepContent"}),{children:n,className:s,TransitionComponent:a=hr,transitionDuration:i="auto",TransitionProps:l,slots:c={},slotProps:p={},...u}=r,{orientation:m}=d.useContext(zo),{active:g,last:b,expanded:v}=d.useContext(Zo),h={...r,last:b},y=C0(h);let S=i;i==="auto"&&!a.muiSupportAuto&&(S=void 0);const C={slots:c,slotProps:{transition:l,...p}},[x,w]=Q("transition",{elementType:w0,externalForwardedProps:C,ownerState:h,className:y.transition,additionalProps:{in:g||v,timeout:S,unmountOnExit:!0}});return f.jsx(S0,{className:j(y.root,s),ref:o,ownerState:h,...u,children:f.jsx(x,{as:a,...w,children:n})})});function R0(t){return V("MuiStepper",t)}const A1=K("MuiStepper",["root","horizontal","vertical","nonLinear","alternativeLabel"]),P0=t=>{const{orientation:e,nonLinear:o,alternativeLabel:r,classes:n}=t;return G({root:["root",e,o&&"nonLinear",r&&"alternativeLabel"]},R0,n)},$0=k("div",{name:"MuiStepper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.nonLinear&&e.nonLinear]}})({display:"flex",variants:[{props:{orientation:"horizontal"},style:{flexDirection:"row",alignItems:"center"}},{props:{orientation:"vertical"},style:{flexDirection:"column"}},{props:{alternativeLabel:!0},style:{alignItems:"flex-start"}}]}),k0=f.jsx(y0,{}),B1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepper"}),{activeStep:n=0,alternativeLabel:s=!1,children:a,className:i,component:l="div",connector:c=k0,nonLinear:p=!1,orientation:u="horizontal",...m}=r,g={...r,nonLinear:p,alternativeLabel:s,orientation:u,component:l},b=P0(g),v=d.Children.toArray(a).filter(Boolean),h=v.map((S,C)=>d.cloneElement(S,{index:C,last:C+1===v.length,...S.props})),y=d.useMemo(()=>({activeStep:n,alternativeLabel:s,connector:c,nonLinear:p,orientation:u}),[n,s,c,p,u]);return f.jsx(zo.Provider,{value:y,children:f.jsx($0,{as:l,ownerState:g,className:j(b.root,i),ref:o,...m,children:h})})}),I0=k("div",{shouldForwardProp:ae})(W(({theme:t})=>({position:"fixed",top:0,left:0,bottom:0,zIndex:t.zIndex.drawer-1,variants:[{props:{anchor:"left"},style:{right:"auto"}},{props:{anchor:"right"},style:{left:"auto",right:0}},{props:{anchor:"top"},style:{bottom:"auto",right:0}},{props:{anchor:"bottom"},style:{top:"auto",bottom:0,right:0}}]}))),T0=d.forwardRef(function(e,o){const{anchor:r,classes:n={},className:s,width:a,style:i,...l}=e,c=e;return f.jsx(I0,{className:j("PrivateSwipeArea-root",n.root,n[`anchor${B(r)}`],s),ref:o,style:{[Po(r)?"width":"height"]:a,...i},ownerState:c,...l})}),Yr=3,Dn=20;let oo=null;function Fn(t,e,o){return t==="right"?o.body.offsetWidth-e[0].pageX:e[0].pageX}function Wn(t,e,o){return t==="bottom"?o.innerHeight-e[0].clientY:e[0].clientY}function lr(t,e){return t?e.clientWidth:e.clientHeight}function _a(t,e,o,r){return Math.min(Math.max(o?e-t:r+e-t,0),r)}function M0(t,e){const o=[];for(;t&&t!==e.parentElement;){const r=me(e).getComputedStyle(t);r.getPropertyValue("position")==="absolute"||r.getPropertyValue("overflow-x")==="hidden"||(t.clientWidth>0&&t.scrollWidth>t.clientWidth||t.clientHeight>0&&t.scrollHeight>t.clientHeight)&&o.push(t),t=t.parentElement}return o}function L0({domTreeShapes:t,start:e,current:o,anchor:r}){const n={scrollPosition:{x:"scrollLeft",y:"scrollTop"},scrollLength:{x:"scrollWidth",y:"scrollHeight"},clientLength:{x:"clientWidth",y:"clientHeight"}};return t.some(s=>{let a=o>=e;(r==="top"||r==="left")&&(a=!a);const i=r==="left"||r==="right"?"x":"y",l=Math.round(s[n.scrollPosition[i]]),c=l>0,p=l+s[n.clientLength[i]]{N.current=null},[S]);const J=d.useCallback((Y,at={})=>{const{mode:ct=null,changeTransition:st=!0}=at,ft=pr(n,a),Z=["right","bottom"].includes(ft)?1:-1,pt=Po(a),it=pt?`translate(${Z*Y}px, 0)`:`translate(0, ${Z*Y}px)`,ht=L.current.style;ht.webkitTransform=it,ht.transform=it;let Mt="";if(ct&&(Mt=n.transitions.create("all",Ge({easing:void 0,style:void 0,timeout:P},{mode:ct}))),st&&(ht.webkitTransition=Mt,ht.transition=Mt),!i&&!p){const tt=O.current.style;tt.opacity=1-Y/lr(pt,L.current),st&&(tt.webkitTransition=Mt,tt.transition=Mt)}},[a,i,p,n,P]),U=ee(Y=>{if(!D.current)return;if(oo=null,D.current=!1,Vn.flushSync(()=>{E(!1)}),!R.current.isSwiping){R.current.isSwiping=null;return}R.current.isSwiping=null;const at=pr(n,a),ct=Po(a);let st;ct?st=Fn(at,Y.changedTouches,te(Y.currentTarget)):st=Wn(at,Y.changedTouches,me(Y.currentTarget));const ft=ct?R.current.startX:R.current.startY,Z=lr(ct,L.current),pt=_a(st,ft,S,Z),it=pt/Z;if(Math.abs(R.current.velocity)>g&&(N.current=Math.abs((Z-pt)/R.current.velocity)*1e3),S){R.current.velocity>g||it>u?h():J(0,{mode:"exit"});return}R.current.velocity<-g||1-it>u?y():J(lr(ct,L.current),{mode:"enter"})}),wt=(Y=!1)=>{if(!z){(Y||!(l&&m))&&Vn.flushSync(()=>{E(!0)});const at=Po(a);!S&&L.current&&J(lr(at,L.current)+(l?15:-Dn),{changeTransition:!1}),R.current.velocity=0,R.current.lastTime=null,R.current.lastTranslate=null,R.current.paperHit=!1,D.current=!0}},vt=ee(Y=>{if(!L.current||!D.current||oo!==null&&oo!==R.current)return;wt(!0);const at=pr(n,a),ct=Po(a),st=Fn(at,Y.touches,te(Y.currentTarget)),ft=Wn(at,Y.touches,me(Y.currentTarget));if(S&&L.current.contains(Y.target)&&oo===null){const Mt=M0(Y.target,L.current);if(L0({domTreeShapes:Mt,start:ct?R.current.startX:R.current.startY,current:ct?st:ft,anchor:a})){oo=!0;return}oo=R.current}if(R.current.isSwiping==null){const Mt=Math.abs(st-R.current.startX),tt=Math.abs(ft-R.current.startY),ot=ct?Mt>tt&&Mt>Yr:tt>Mt&&tt>Yr;if(ot&&Y.cancelable&&Y.preventDefault(),ot===!0||(ct?tt>Yr:Mt>Yr)){if(R.current.isSwiping=ot,!ot){U(Y);return}R.current.startX=st,R.current.startY=ft,!l&&!S&&(ct?R.current.startX-=Dn:R.current.startY-=Dn)}}if(!R.current.isSwiping)return;const Z=lr(ct,L.current);let pt=ct?R.current.startX:R.current.startY;S&&!R.current.paperHit&&(pt=Math.min(pt,Z));const it=_a(ct?st:ft,pt,S,Z);if(S)if(R.current.paperHit)it===0&&(R.current.startX=st,R.current.startY=ft);else if(ct?st{var Z;if(Y.defaultPrevented||Y.defaultMuiPrevented||S&&(p||!O.current.contains(Y.target))&&!L.current.contains(Y.target))return;const at=pr(n,a),ct=Po(a),st=Fn(at,Y.touches,te(Y.currentTarget)),ft=Wn(at,Y.touches,me(Y.currentTarget));if(!S){if(c||!(Y.target===M.current||(Z=L.current)!=null&&Z.contains(Y.target)&&(typeof m=="function"?m(Y,M.current,L.current):m)))return;if(ct){if(st>w)return}else if(ft>w)return}Y.defaultMuiPrevented=!0,oo=null,R.current.startX=st,R.current.startY=ft,wt()});d.useEffect(()=>{if($==="temporary"){const Y=te(L.current);return Y.addEventListener("touchstart",mt),Y.addEventListener("touchmove",vt,{passive:!S}),Y.addEventListener("touchend",U),()=>{Y.removeEventListener("touchstart",mt),Y.removeEventListener("touchmove",vt,{passive:!S}),Y.removeEventListener("touchend",U)}}},[$,S,mt,vt,U]),d.useEffect(()=>()=>{oo===R.current&&(oo=null)},[]),d.useEffect(()=>{S||E(!1)},[S]);const[et,rt]=Q("swipeArea",{ref:M,elementType:T0,ownerState:r,externalForwardedProps:{slots:I,slotProps:{swipeArea:x,...A}},additionalProps:{width:w,anchor:a}});return f.jsxs(d.Fragment,{children:[f.jsx(_m,{open:$==="temporary"&&z?!0:S,variant:$,ModalProps:{BackdropProps:{...b,ref:O},...$==="temporary"&&{keepMounted:!0},...v},hideBackdrop:p,anchor:a,transitionDuration:N.current||P,onClose:h,ref:o,slots:I,slotProps:{...A,backdrop:Go(A.backdrop??b,{ref:O}),paper:Go(A.paper??C,{style:{pointerEvents:$==="temporary"&&!S&&!m?"none":""},ref:F})},...T}),!c&&$==="temporary"&&f.jsx(jh,{children:f.jsx(et,{...rt})})]})});function B0(t){return V("MuiSwitch",t)}const xe=K("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),E0=t=>{const{classes:e,edge:o,size:r,color:n,checked:s,disabled:a}=t,i={root:["root",o&&`edge${B(o)}`,`size${B(r)}`],switchBase:["switchBase",`color${B(n)}`,s&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=G(i,B0,e);return{...e,...l}},O0=k("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.edge&&e[`edge${B(o.edge)}`],e[`size${B(o.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,[`& .${xe.thumb}`]:{width:16,height:16},[`& .${xe.switchBase}`]:{padding:4,[`&.${xe.checked}`]:{transform:"translateX(16px)"}}}}]}),N0=k(ks,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.switchBase,{[`& .${xe.input}`]:e.input},o.color!=="default"&&e[`color${B(o.color)}`]]}})(W(({theme:t})=>({position:"absolute",top:0,left:0,zIndex:1,color:t.vars?t.vars.palette.Switch.defaultColor:`${t.palette.mode==="light"?t.palette.common.white:t.palette.grey[300]}`,transition:t.transitions.create(["left","transform"],{duration:t.transitions.duration.shortest}),[`&.${xe.checked}`]:{transform:"translateX(20px)"},[`&.${xe.disabled}`]:{color:t.vars?t.vars.palette.Switch.defaultDisabledColor:`${t.palette.mode==="light"?t.palette.grey[100]:t.palette.grey[600]}`},[`&.${xe.checked} + .${xe.track}`]:{opacity:.5},[`&.${xe.disabled} + .${xe.track}`]:{opacity:t.vars?t.vars.opacity.switchTrackDisabled:`${t.palette.mode==="light"?.12:.2}`},[`& .${xe.input}`]:{left:"-100%",width:"300%"}})),W(({theme:t})=>({"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(t.palette).filter(jt(["light"])).map(([e])=>({props:{color:e},style:{[`&.${xe.checked}`]:{color:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[e].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${xe.disabled}`]:{color:t.vars?t.vars.palette.Switch[`${e}DisabledColor`]:`${t.palette.mode==="light"?Bo(t.palette[e].main,.62):Ao(t.palette[e].main,.55)}`}},[`&.${xe.checked} + .${xe.track}`]:{backgroundColor:(t.vars||t).palette[e].main}}}))]}))),z0=k("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(t,e)=>e.track})(W(({theme:t})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:t.vars?t.vars.palette.common.onBackground:`${t.palette.mode==="light"?t.palette.common.black:t.palette.common.white}`,opacity:t.vars?t.vars.opacity.switchTrack:`${t.palette.mode==="light"?.38:.3}`}))),j0=k("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(t,e)=>e.thumb})(W(({theme:t})=>({boxShadow:(t.vars||t).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}))),O1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSwitch"}),{className:n,color:s="primary",edge:a=!1,size:i="medium",sx:l,slots:c={},slotProps:p={},...u}=r,m={...r,color:s,edge:a,size:i},g=E0(m),b={slots:c,slotProps:p},[v,h]=Q("root",{className:j(g.root,n),elementType:O0,externalForwardedProps:b,ownerState:m,additionalProps:{sx:l}}),[y,S]=Q("thumb",{className:g.thumb,elementType:j0,externalForwardedProps:b,ownerState:m}),C=f.jsx(y,{...S}),[x,w]=Q("track",{className:g.track,elementType:z0,externalForwardedProps:b,ownerState:m});return f.jsxs(v,{...h,children:[f.jsx(N0,{type:"checkbox",icon:C,checkedIcon:C,ref:o,ownerState:m,...u,classes:{...g,root:g.switchBase},slots:{...c.switchBase&&{root:c.switchBase},...c.input&&{input:c.input}},slotProps:{...p.switchBase&&{root:typeof p.switchBase=="function"?p.switchBase(m):p.switchBase},...p.input&&{input:typeof p.input=="function"?p.input(m):p.input}}}),f.jsx(x,{...w})]})});function D0(t){return V("MuiTab",t)}const Be=K("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper","icon"]),F0=t=>{const{classes:e,textColor:o,fullWidth:r,wrapped:n,icon:s,label:a,selected:i,disabled:l}=t,c={root:["root",s&&a&&"labelIcon",`textColor${B(o)}`,r&&"fullWidth",n&&"wrapped",i&&"selected",l&&"disabled"],icon:["iconWrapper","icon"]};return G(c,D0,e)},W0=k(ue,{name:"MuiTab",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.label&&o.icon&&e.labelIcon,e[`textColor${B(o.textColor)}`],o.fullWidth&&e.fullWidth,o.wrapped&&e.wrapped,{[`& .${Be.iconWrapper}`]:e.iconWrapper},{[`& .${Be.icon}`]:e.icon}]}})(W(({theme:t})=>({...t.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:e})=>e.label&&(e.iconPosition==="top"||e.iconPosition==="bottom"),style:{flexDirection:"column"}},{props:({ownerState:e})=>e.label&&e.iconPosition!=="top"&&e.iconPosition!=="bottom",style:{flexDirection:"row"}},{props:({ownerState:e})=>e.icon&&e.label,style:{minHeight:72,paddingTop:9,paddingBottom:9}},{props:({ownerState:e,iconPosition:o})=>e.icon&&e.label&&o==="top",style:{[`& > .${Be.icon}`]:{marginBottom:6}}},{props:({ownerState:e,iconPosition:o})=>e.icon&&e.label&&o==="bottom",style:{[`& > .${Be.icon}`]:{marginTop:6}}},{props:({ownerState:e,iconPosition:o})=>e.icon&&e.label&&o==="start",style:{[`& > .${Be.icon}`]:{marginRight:t.spacing(1)}}},{props:({ownerState:e,iconPosition:o})=>e.icon&&e.label&&o==="end",style:{[`& > .${Be.icon}`]:{marginLeft:t.spacing(1)}}},{props:{textColor:"inherit"},style:{color:"inherit",opacity:.6,[`&.${Be.selected}`]:{opacity:1},[`&.${Be.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity}}},{props:{textColor:"primary"},style:{color:(t.vars||t).palette.text.secondary,[`&.${Be.selected}`]:{color:(t.vars||t).palette.primary.main},[`&.${Be.disabled}`]:{color:(t.vars||t).palette.text.disabled}}},{props:{textColor:"secondary"},style:{color:(t.vars||t).palette.text.secondary,[`&.${Be.selected}`]:{color:(t.vars||t).palette.secondary.main},[`&.${Be.disabled}`]:{color:(t.vars||t).palette.text.disabled}}},{props:({ownerState:e})=>e.fullWidth,style:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"}},{props:({ownerState:e})=>e.wrapped,style:{fontSize:t.typography.pxToRem(12)}}]}))),N1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTab"}),{className:n,disabled:s=!1,disableFocusRipple:a=!1,fullWidth:i,icon:l,iconPosition:c="top",indicator:p,label:u,onChange:m,onClick:g,onFocus:b,selected:v,selectionFollowsFocus:h,textColor:y="inherit",value:S,wrapped:C=!1,...x}=r,w={...r,disabled:s,disableFocusRipple:a,selected:v,icon:!!l,iconPosition:c,label:!!u,fullWidth:i,textColor:y,wrapped:C},P=F0(w),$=l&&u&&d.isValidElement(l)?d.cloneElement(l,{className:j(P.icon,l.props.className)}):l,I=T=>{!v&&m&&m(T,S),g&&g(T)},A=T=>{h&&!v&&m&&m(T,S),b&&b(T)};return f.jsxs(W0,{focusRipple:!a,className:j(P.root,n),ref:o,role:"tab","aria-selected":v,disabled:s,onClick:I,onFocus:A,ownerState:w,tabIndex:v?0:-1,...x,children:[c==="top"||c==="start"?f.jsxs(d.Fragment,{children:[$,u]}):f.jsxs(d.Fragment,{children:[u,$]}),p]})}),ul=d.createContext();function U0(t){return V("MuiTable",t)}const z1=K("MuiTable",["root","stickyHeader"]),H0=t=>{const{classes:e,stickyHeader:o}=t;return G({root:["root",o&&"stickyHeader"]},U0,e)},V0=k("table",{name:"MuiTable",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.stickyHeader&&e.stickyHeader]}})(W(({theme:t})=>({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...t.typography.body2,padding:t.spacing(2),color:(t.vars||t).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:({ownerState:e})=>e.stickyHeader,style:{borderCollapse:"separate"}}]}))),Ya="table",j1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTable"}),{className:n,component:s=Ya,padding:a="normal",size:i="medium",stickyHeader:l=!1,...c}=r,p={...r,component:s,padding:a,size:i,stickyHeader:l},u=H0(p),m=d.useMemo(()=>({padding:a,size:i,stickyHeader:l}),[a,i,l]);return f.jsx(ul.Provider,{value:m,children:f.jsx(V0,{as:s,role:s===Ya?null:"table",ref:o,className:j(u.root,n),ownerState:p,...c})})}),Tr=d.createContext();function G0(t){return V("MuiTableBody",t)}const D1=K("MuiTableBody",["root"]),K0=t=>{const{classes:e}=t;return G({root:["root"]},G0,e)},q0=k("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-row-group"}),X0={variant:"body"},Za="tbody",F1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableBody"}),{className:n,component:s=Za,...a}=r,i={...r,component:s},l=K0(i);return f.jsx(Tr.Provider,{value:X0,children:f.jsx(q0,{className:j(l.root,n),as:s,ref:o,role:s===Za?null:"rowgroup",ownerState:i,...a})})});function _0(t){return V("MuiTableCell",t)}const Y0=K("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),Z0=t=>{const{classes:e,variant:o,align:r,padding:n,size:s,stickyHeader:a}=t,i={root:["root",o,a&&"stickyHeader",r!=="inherit"&&`align${B(r)}`,n!=="normal"&&`padding${B(n)}`,`size${B(s)}`]};return G(i,_0,e)},Q0=k("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${B(o.size)}`],o.padding!=="normal"&&e[`padding${B(o.padding)}`],o.align!=="inherit"&&e[`align${B(o.align)}`],o.stickyHeader&&e.stickyHeader]}})(W(({theme:t})=>({...t.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:t.vars?`1px solid ${t.vars.palette.TableCell.border}`:`1px solid - ${t.palette.mode==="light"?Bo(kt(t.palette.divider,1),.88):Ao(kt(t.palette.divider,1),.68)}`,textAlign:"left",padding:16,variants:[{props:{variant:"head"},style:{color:(t.vars||t).palette.text.primary,lineHeight:t.typography.pxToRem(24),fontWeight:t.typography.fontWeightMedium}},{props:{variant:"body"},style:{color:(t.vars||t).palette.text.primary}},{props:{variant:"footer"},style:{color:(t.vars||t).palette.text.secondary,lineHeight:t.typography.pxToRem(21),fontSize:t.typography.pxToRem(12)}},{props:{size:"small"},style:{padding:"6px 16px",[`&.${Y0.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:e})=>e.stickyHeader,style:{position:"sticky",top:0,zIndex:2,backgroundColor:(t.vars||t).palette.background.default}}]}))),ps=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableCell"}),{align:n="inherit",className:s,component:a,padding:i,scope:l,size:c,sortDirection:p,variant:u,...m}=r,g=d.useContext(ul),b=d.useContext(Tr),v=b&&b.variant==="head";let h;a?h=a:h=v?"th":"td";let y=l;h==="td"?y=void 0:!y&&v&&(y="col");const S=u||b&&b.variant,C={...r,align:n,component:h,padding:i||(g&&g.padding?g.padding:"normal"),size:c||(g&&g.size?g.size:"medium"),sortDirection:p,stickyHeader:S==="head"&&g&&g.stickyHeader,variant:S},x=Z0(C);let w=null;return p&&(w=p==="asc"?"ascending":"descending"),f.jsx(Q0,{as:h,ref:o,className:j(x.root,s),"aria-sort":w,scope:y,ownerState:C,...m})});function J0(t){return V("MuiTableContainer",t)}const W1=K("MuiTableContainer",["root"]),tC=t=>{const{classes:e}=t;return G({root:["root"]},J0,e)},eC=k("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(t,e)=>e.root})({width:"100%",overflowX:"auto"}),U1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableContainer"}),{className:n,component:s="div",...a}=r,i={...r,component:s},l=tC(i);return f.jsx(eC,{ref:o,as:s,className:j(l.root,n),ownerState:i,...a})});function oC(t){return V("MuiTableFooter",t)}const H1=K("MuiTableFooter",["root"]),rC=t=>{const{classes:e}=t;return G({root:["root"]},oC,e)},nC=k("tfoot",{name:"MuiTableFooter",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-footer-group"}),sC={variant:"footer"},Qa="tfoot",V1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableFooter"}),{className:n,component:s=Qa,...a}=r,i={...r,component:s},l=rC(i);return f.jsx(Tr.Provider,{value:sC,children:f.jsx(nC,{as:s,className:j(l.root,n),ref:o,role:s===Qa?null:"rowgroup",ownerState:i,...a})})});function aC(t){return V("MuiTableHead",t)}const G1=K("MuiTableHead",["root"]),iC=t=>{const{classes:e}=t;return G({root:["root"]},aC,e)},lC=k("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-header-group"}),cC={variant:"head"},Ja="thead",K1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableHead"}),{className:n,component:s=Ja,...a}=r,i={...r,component:s},l=iC(i);return f.jsx(Tr.Provider,{value:cC,children:f.jsx(lC,{as:s,className:j(l.root,n),ref:o,role:s===Ja?null:"rowgroup",ownerState:i,...a})})});function pC(t){return V("MuiToolbar",t)}const q1=K("MuiToolbar",["root","gutters","regular","dense"]),dC=t=>{const{classes:e,disableGutters:o,variant:r}=t;return G({root:["root",!o&&"gutters",r]},pC,e)},uC=k("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableGutters&&e.gutters,e[o.variant]]}})(W(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",variants:[{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:t.spacing(2),paddingRight:t.spacing(2),[t.breakpoints.up("sm")]:{paddingLeft:t.spacing(3),paddingRight:t.spacing(3)}}},{props:{variant:"dense"},style:{minHeight:48}},{props:{variant:"regular"},style:t.mixins.toolbar}]}))),fC=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiToolbar"}),{className:n,component:s="div",disableGutters:a=!1,variant:i="regular",...l}=r,c={...r,component:s,disableGutters:a,variant:i},p=dC(c);return f.jsx(uC,{as:s,className:j(p.root,n),ref:o,ownerState:c,...l})}),fl=Qt(f.jsx("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),gl=Qt(f.jsx("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight"),gC=d.forwardRef(function(e,o){const{backIconButtonProps:r,count:n,disabled:s=!1,getItemAriaLabel:a,nextIconButtonProps:i,onPageChange:l,page:c,rowsPerPage:p,showFirstButton:u,showLastButton:m,slots:g={},slotProps:b={},...v}=e,h=Ke(),y=U=>{l(U,0)},S=U=>{l(U,c-1)},C=U=>{l(U,c+1)},x=U=>{l(U,Math.max(0,Math.ceil(n/p)-1))},w=g.firstButton??ko,P=g.lastButton??ko,$=g.nextButton??ko,I=g.previousButton??ko,A=g.firstButtonIcon??rl,T=g.lastButtonIcon??nl,z=g.nextButtonIcon??gl,E=g.previousButtonIcon??fl,R=h?P:w,M=h?$:I,O=h?I:$,L=h?w:P,F=h?b.lastButton:b.firstButton,D=h?b.nextButton:b.previousButton,N=h?b.previousButton:b.nextButton,J=h?b.firstButton:b.lastButton;return f.jsxs("div",{ref:o,...v,children:[u&&f.jsx(R,{onClick:y,disabled:s||c===0,"aria-label":a("first",c),title:a("first",c),...F,children:h?f.jsx(T,{...b.lastButtonIcon}):f.jsx(A,{...b.firstButtonIcon})}),f.jsx(M,{onClick:S,disabled:s||c===0,color:"inherit","aria-label":a("previous",c),title:a("previous",c),...D??r,children:h?f.jsx(z,{...b.nextButtonIcon}):f.jsx(E,{...b.previousButtonIcon})}),f.jsx(O,{onClick:C,disabled:s||(n!==-1?c>=Math.ceil(n/p)-1:!1),color:"inherit","aria-label":a("next",c),title:a("next",c),...N??i,children:h?f.jsx(E,{...b.previousButtonIcon}):f.jsx(z,{...b.nextButtonIcon})}),m&&f.jsx(L,{onClick:x,disabled:s||c>=Math.ceil(n/p)-1,"aria-label":a("last",c),title:a("last",c),...J,children:h?f.jsx(A,{...b.firstButtonIcon}):f.jsx(T,{...b.lastButtonIcon})})]})});function mC(t){return V("MuiTablePagination",t)}const br=K("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]);var ti;const bC=k(ps,{name:"MuiTablePagination",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({overflow:"auto",color:(t.vars||t).palette.text.primary,fontSize:t.typography.pxToRem(14),"&:last-child":{padding:0}}))),vC=k(fC,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:(t,e)=>({[`& .${br.actions}`]:e.actions,...e.toolbar})})(W(({theme:t})=>({minHeight:52,paddingRight:2,[`${t.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[t.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${br.actions}`]:{flexShrink:0,marginLeft:20}}))),hC=k("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:(t,e)=>e.spacer})({flex:"1 1 100%"}),yC=k("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:(t,e)=>e.selectLabel})(W(({theme:t})=>({...t.typography.body2,flexShrink:0}))),xC=k(Es,{name:"MuiTablePagination",slot:"Select",overridesResolver:(t,e)=>({[`& .${br.selectIcon}`]:e.selectIcon,[`& .${br.select}`]:e.select,...e.input,...e.selectRoot})})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${br.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),CC=k(Ph,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:(t,e)=>e.menuItem})({}),SC=k("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:(t,e)=>e.displayedRows})(W(({theme:t})=>({...t.typography.body2,flexShrink:0})));function wC({from:t,to:e,count:o}){return`${t}–${e} of ${o!==-1?o:`more than ${e}`}`}function RC(t){return`Go to ${t} page`}const PC=t=>{const{classes:e}=t;return G({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},mC,e)},X1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTablePagination"}),{ActionsComponent:n=gC,backIconButtonProps:s,colSpan:a,component:i=ps,count:l,disabled:c=!1,getItemAriaLabel:p=RC,labelDisplayedRows:u=wC,labelRowsPerPage:m="Rows per page:",nextIconButtonProps:g,onPageChange:b,onRowsPerPageChange:v,page:h,rowsPerPage:y,rowsPerPageOptions:S=[10,25,50,100],SelectProps:C={},showFirstButton:x=!1,showLastButton:w=!1,slotProps:P={},slots:$={},...I}=r,A=r,T=PC(A),z=(P==null?void 0:P.select)??C,E=z.native?"option":CC;let R;(i===ps||i==="td")&&(R=a||1e3);const M=De(z.id),O=De(z.labelId),L=()=>l===-1?(h+1)*y:y===-1?l:Math.min(l,(h+1)*y),F={slots:$,slotProps:P},[D,N]=Q("root",{ref:o,className:T.root,elementType:bC,externalForwardedProps:{...F,component:i,...I},ownerState:A,additionalProps:{colSpan:R}}),[J,U]=Q("toolbar",{className:T.toolbar,elementType:vC,externalForwardedProps:F,ownerState:A}),[wt,vt]=Q("spacer",{className:T.spacer,elementType:hC,externalForwardedProps:F,ownerState:A}),[mt,et]=Q("selectLabel",{className:T.selectLabel,elementType:yC,externalForwardedProps:F,ownerState:A,additionalProps:{id:O}}),[rt,Y]=Q("select",{className:T.select,elementType:xC,externalForwardedProps:F,ownerState:A}),[at,ct]=Q("menuItem",{className:T.menuItem,elementType:E,externalForwardedProps:F,ownerState:A}),[st,ft]=Q("displayedRows",{className:T.displayedRows,elementType:SC,externalForwardedProps:F,ownerState:A});return f.jsx(D,{...N,children:f.jsxs(J,{...U,children:[f.jsx(wt,{...vt}),S.length>1&&f.jsx(mt,{...et,children:m}),S.length>1&&f.jsx(rt,{variant:"standard",...!z.variant&&{input:ti||(ti=f.jsx(wn,{}))},value:y,onChange:v,id:M,labelId:O,...z,classes:{...z.classes,root:j(T.input,T.selectRoot,(z.classes||{}).root),select:j(T.select,(z.classes||{}).select),icon:j(T.selectIcon,(z.classes||{}).icon)},disabled:c,...Y,children:S.map(Z=>d.createElement(at,{...ct,key:Z.label?Z.label:Z,value:Z.value?Z.value:Z},Z.label?Z.label:Z))}),f.jsx(st,{...ft,children:u({from:l===0?0:h*y+1,to:L(),count:l===-1?-1:l,page:h})}),f.jsx(n,{className:T.actions,backIconButtonProps:s,count:l,nextIconButtonProps:g,onPageChange:b,page:h,rowsPerPage:y,showFirstButton:x,showLastButton:w,slotProps:P.actions,slots:$.actions,getItemAriaLabel:p,disabled:c})]})})});function $C(t){return V("MuiTableRow",t)}const ei=K("MuiTableRow",["root","selected","hover","head","footer"]),kC=t=>{const{classes:e,selected:o,hover:r,head:n,footer:s}=t;return G({root:["root",o&&"selected",r&&"hover",n&&"head",s&&"footer"]},$C,e)},IC=k("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.head&&e.head,o.footer&&e.footer]}})(W(({theme:t})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${ei.hover}:hover`]:{backgroundColor:(t.vars||t).palette.action.hover},[`&.${ei.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity)}}}))),oi="tr",_1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableRow"}),{className:n,component:s=oi,hover:a=!1,selected:i=!1,...l}=r,c=d.useContext(Tr),p={...r,component:s,hover:a,selected:i,head:c&&c.variant==="head",footer:c&&c.variant==="footer"},u=kC(p);return f.jsx(IC,{as:s,ref:o,className:j(u.root,n),role:s===oi?null:"row",ownerState:p,...l})}),TC=Qt(f.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward");function MC(t){return V("MuiTableSortLabel",t)}const Un=K("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc","directionDesc","directionAsc"]),LC=t=>{const{classes:e,direction:o,active:r}=t,n={root:["root",r&&"active",`direction${B(o)}`],icon:["icon",`iconDirection${B(o)}`]};return G(n,MC,e)},AC=k(ue,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.active&&e.active]}})(W(({theme:t})=>({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:(t.vars||t).palette.text.secondary},"&:hover":{color:(t.vars||t).palette.text.secondary,[`& .${Un.icon}`]:{opacity:.5}},[`&.${Un.active}`]:{color:(t.vars||t).palette.text.primary,[`& .${Un.icon}`]:{opacity:1,color:(t.vars||t).palette.text.secondary}}}))),BC=k("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,e[`iconDirection${B(o.direction)}`]]}})(W(({theme:t})=>({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:t.transitions.create(["opacity","transform"],{duration:t.transitions.duration.shorter}),userSelect:"none",variants:[{props:{direction:"desc"},style:{transform:"rotate(0deg)"}},{props:{direction:"asc"},style:{transform:"rotate(180deg)"}}]}))),Y1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableSortLabel"}),{active:n=!1,children:s,className:a,direction:i="asc",hideSortIcon:l=!1,IconComponent:c=TC,slots:p={},slotProps:u={},...m}=r,g={...r,active:n,direction:i,hideSortIcon:l,IconComponent:c},b=LC(g),v={slots:p,slotProps:u},[h,y]=Q("root",{elementType:AC,externalForwardedProps:v,ownerState:g,className:j(b.root,a),ref:o}),[S,C]=Q("icon",{elementType:BC,externalForwardedProps:v,ownerState:g,className:b.icon});return f.jsxs(h,{disableRipple:!0,component:"span",...y,...m,children:[s,l&&!n?null:f.jsx(S,{as:c,...C})]})});function EC(t){return(1+Math.sin(Math.PI*t-Math.PI/2))/2}function OC(t,e,o,r={},n=()=>{}){const{ease:s=EC,duration:a=300}=r;let i=null;const l=e[t];let c=!1;const p=()=>{c=!0},u=m=>{if(c){n(new Error("Animation cancelled"));return}i===null&&(i=m);const g=Math.min(1,(m-i)/a);if(e[t]=s(g)*(o-l)+l,g>=1){requestAnimationFrame(()=>{n(null)});return}requestAnimationFrame(u)};return l===o?(n(new Error("Element already at target position")),p):(requestAnimationFrame(u),p)}const NC={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function zC(t){const{onChange:e,...o}=t,r=d.useRef(),n=d.useRef(null),s=()=>{r.current=n.current.offsetHeight-n.current.clientHeight};return be(()=>{const a=$r(()=>{const l=r.current;s(),l!==r.current&&e(r.current)}),i=me(n.current);return i.addEventListener("resize",a),()=>{a.clear(),i.removeEventListener("resize",a)}},[e]),d.useEffect(()=>{s(),e(r.current)},[e]),f.jsx("div",{style:NC,...o,ref:n})}function jC(t){return V("MuiTabScrollButton",t)}const DC=K("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),FC=t=>{const{classes:e,orientation:o,disabled:r}=t;return G({root:["root",o,r&&"disabled"]},jC,e)},WC=k(ue,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.orientation&&e[o.orientation]]}})({width:40,flexShrink:0,opacity:.8,[`&.${DC.disabled}`]:{opacity:0},variants:[{props:{orientation:"vertical"},style:{width:"100%",height:40,"& svg":{transform:"var(--TabScrollButton-svgRotate)"}}}]}),UC=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTabScrollButton"}),{className:n,slots:s={},slotProps:a={},direction:i,orientation:l,disabled:c,...p}=r,u=Ke(),m={isRtl:u,...r},g=FC(m),b=s.StartScrollButtonIcon??fl,v=s.EndScrollButtonIcon??gl,h=Ce({elementType:b,externalSlotProps:a.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m}),y=Ce({elementType:v,externalSlotProps:a.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m});return f.jsx(WC,{component:"div",className:j(g.root,n),ref:o,role:null,ownerState:m,tabIndex:null,...p,style:{...p.style,...l==="vertical"&&{"--TabScrollButton-svgRotate":`rotate(${u?-90:90}deg)`}},children:i==="left"?f.jsx(b,{...h}):f.jsx(v,{...y})})});function HC(t){return V("MuiTabs",t)}const Hn=K("MuiTabs",["root","vertical","list","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),ri=(t,e)=>t===e?t.firstChild:e&&e.nextElementSibling?e.nextElementSibling:t.firstChild,ni=(t,e)=>t===e?t.lastChild:e&&e.previousElementSibling?e.previousElementSibling:t.lastChild,Zr=(t,e,o)=>{let r=!1,n=o(t,e);for(;n;){if(n===t.firstChild){if(r)return;r=!0}const s=n.disabled||n.getAttribute("aria-disabled")==="true";if(!n.hasAttribute("tabindex")||s)n=o(t,n);else{n.focus();return}}},VC=t=>{const{vertical:e,fixed:o,hideScrollbar:r,scrollableX:n,scrollableY:s,centered:a,scrollButtonsHideMobile:i,classes:l}=t;return G({root:["root",e&&"vertical"],scroller:["scroller",o&&"fixed",r&&"hideScrollbar",n&&"scrollableX",s&&"scrollableY"],list:["list","flexContainer",e&&"flexContainerVertical",e&&"vertical",a&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",i&&"scrollButtonsHideMobile"],scrollableX:[n&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]},HC,l)},GC=k("div",{name:"MuiTabs",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Hn.scrollButtons}`]:e.scrollButtons},{[`& .${Hn.scrollButtons}`]:o.scrollButtonsHideMobile&&e.scrollButtonsHideMobile},e.root,o.vertical&&e.vertical]}})(W(({theme:t})=>({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex",variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:"column"}},{props:({ownerState:e})=>e.scrollButtonsHideMobile,style:{[`& .${Hn.scrollButtons}`]:{[t.breakpoints.down("sm")]:{display:"none"}}}}]}))),KC=k("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.scroller,o.fixed&&e.fixed,o.hideScrollbar&&e.hideScrollbar,o.scrollableX&&e.scrollableX,o.scrollableY&&e.scrollableY]}})({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap",variants:[{props:({ownerState:t})=>t.fixed,style:{overflowX:"hidden",width:"100%"}},{props:({ownerState:t})=>t.hideScrollbar,style:{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}},{props:({ownerState:t})=>t.scrollableX,style:{overflowX:"auto",overflowY:"hidden"}},{props:({ownerState:t})=>t.scrollableY,style:{overflowY:"auto",overflowX:"hidden"}}]}),qC=k("div",{name:"MuiTabs",slot:"List",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.list,e.flexContainer,o.vertical&&e.flexContainerVertical,o.centered&&e.centered]}})({display:"flex",variants:[{props:({ownerState:t})=>t.vertical,style:{flexDirection:"column"}},{props:({ownerState:t})=>t.centered,style:{justifyContent:"center"}}]}),XC=k("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(t,e)=>e.indicator})(W(({theme:t})=>({position:"absolute",height:2,bottom:0,width:"100%",transition:t.transitions.create(),variants:[{props:{indicatorColor:"primary"},style:{backgroundColor:(t.vars||t).palette.primary.main}},{props:{indicatorColor:"secondary"},style:{backgroundColor:(t.vars||t).palette.secondary.main}},{props:({ownerState:e})=>e.vertical,style:{height:"100%",width:2,right:0}}]}))),_C=k(zC)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),si={},Z1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTabs"}),n=le(),s=Ke(),{"aria-label":a,"aria-labelledby":i,action:l,centered:c=!1,children:p,className:u,component:m="div",allowScrollButtonsMobile:g=!1,indicatorColor:b="primary",onChange:v,orientation:h="horizontal",ScrollButtonComponent:y,scrollButtons:S="auto",selectionFollowsFocus:C,slots:x={},slotProps:w={},TabIndicatorProps:P={},TabScrollButtonProps:$={},textColor:I="primary",value:A,variant:T="standard",visibleScrollbar:z=!1,...E}=r,R=T==="scrollable",M=h==="vertical",O=M?"scrollTop":"scrollLeft",L=M?"top":"left",F=M?"bottom":"right",D=M?"clientHeight":"clientWidth",N=M?"height":"width",J={...r,component:m,allowScrollButtonsMobile:g,indicatorColor:b,orientation:h,vertical:M,scrollButtons:S,textColor:I,variant:T,visibleScrollbar:z,fixed:!R,hideScrollbar:R&&!z,scrollableX:R&&!M,scrollableY:R&&M,centered:c&&!R,scrollButtonsHideMobile:!g},U=VC(J),wt=Ce({elementType:x.StartScrollButtonIcon,externalSlotProps:w.startScrollButtonIcon,ownerState:J}),vt=Ce({elementType:x.EndScrollButtonIcon,externalSlotProps:w.endScrollButtonIcon,ownerState:J}),[mt,et]=d.useState(!1),[rt,Y]=d.useState(si),[at,ct]=d.useState(!1),[st,ft]=d.useState(!1),[Z,pt]=d.useState(!1),[it,ht]=d.useState({overflow:"hidden",scrollbarWidth:0}),Mt=new Map,tt=d.useRef(null),ot=d.useRef(null),dt={slots:x,slotProps:{indicator:P,scrollButton:$,...w}},St=()=>{const yt=tt.current;let Pt;if(yt){const Ft=yt.getBoundingClientRect();Pt={clientWidth:yt.clientWidth,scrollLeft:yt.scrollLeft,scrollTop:yt.scrollTop,scrollWidth:yt.scrollWidth,top:Ft.top,bottom:Ft.bottom,left:Ft.left,right:Ft.right}}let Dt;if(yt&&A!==!1){const Ft=ot.current.children;if(Ft.length>0){const Zt=Ft[Mt.get(A)];Dt=Zt?Zt.getBoundingClientRect():null}}return{tabsMeta:Pt,tabMeta:Dt}},gt=ee(()=>{const{tabsMeta:yt,tabMeta:Pt}=St();let Dt=0,Ft;M?(Ft="top",Pt&&yt&&(Dt=Pt.top-yt.top+yt.scrollTop)):(Ft=s?"right":"left",Pt&&yt&&(Dt=(s?-1:1)*(Pt[Ft]-yt[Ft]+yt.scrollLeft)));const Zt={[Ft]:Dt,[N]:Pt?Pt[N]:0};if(typeof rt[Ft]!="number"||typeof rt[N]!="number")Y(Zt);else{const Se=Math.abs(rt[Ft]-Zt[Ft]),Ve=Math.abs(rt[N]-Zt[N]);(Se>=1||Ve>=1)&&Y(Zt)}}),nt=(yt,{animation:Pt=!0}={})=>{Pt?OC(O,tt.current,yt,{duration:n.transitions.duration.standard}):tt.current[O]=yt},Tt=yt=>{let Pt=tt.current[O];M?Pt+=yt:Pt+=yt*(s?-1:1),nt(Pt)},At=()=>{const yt=tt.current[D];let Pt=0;const Dt=Array.from(ot.current.children);for(let Ft=0;Ftyt){Ft===0&&(Pt=yt);break}Pt+=Zt[D]}return Pt},q=()=>{Tt(-1*At())},lt=()=>{Tt(At())},[bt,{onChange:$t,...It}]=Q("scrollbar",{className:j(U.scrollableX,U.hideScrollbar),elementType:_C,shouldForwardComponentProp:!0,externalForwardedProps:dt,ownerState:J}),ut=d.useCallback(yt=>{$t==null||$t(yt),ht({overflow:null,scrollbarWidth:yt})},[$t]),[Ct,Ut]=Q("scrollButtons",{className:j(U.scrollButtons,$.className),elementType:UC,externalForwardedProps:dt,ownerState:J,additionalProps:{orientation:h,slots:{StartScrollButtonIcon:x.startScrollButtonIcon||x.StartScrollButtonIcon,EndScrollButtonIcon:x.endScrollButtonIcon||x.EndScrollButtonIcon},slotProps:{startScrollButtonIcon:wt,endScrollButtonIcon:vt}}}),Et=()=>{const yt={};yt.scrollbarSizeListener=R?f.jsx(bt,{...It,onChange:ut}):null;const Dt=R&&(S==="auto"&&(at||st)||S===!0);return yt.scrollButtonStart=Dt?f.jsx(Ct,{direction:s?"right":"left",onClick:q,disabled:!at,...Ut}):null,yt.scrollButtonEnd=Dt?f.jsx(Ct,{direction:s?"left":"right",onClick:lt,disabled:!st,...Ut}):null,yt},Gt=ee(yt=>{const{tabsMeta:Pt,tabMeta:Dt}=St();if(!(!Dt||!Pt)){if(Dt[L]Pt[F]){const Ft=Pt[O]+(Dt[F]-Pt[F]);nt(Ft,{animation:yt})}}}),xt=ee(()=>{R&&S!==!1&&pt(!Z)});d.useEffect(()=>{const yt=$r(()=>{tt.current&>()});let Pt;const Dt=Se=>{Se.forEach(Ve=>{Ve.removedNodes.forEach(to=>{Pt==null||Pt.unobserve(to)}),Ve.addedNodes.forEach(to=>{Pt==null||Pt.observe(to)})}),yt(),xt()},Ft=me(tt.current);Ft.addEventListener("resize",yt);let Zt;return typeof ResizeObserver<"u"&&(Pt=new ResizeObserver(yt),Array.from(ot.current.children).forEach(Se=>{Pt.observe(Se)})),typeof MutationObserver<"u"&&(Zt=new MutationObserver(Dt),Zt.observe(ot.current,{childList:!0})),()=>{yt.clear(),Ft.removeEventListener("resize",yt),Zt==null||Zt.disconnect(),Pt==null||Pt.disconnect()}},[gt,xt]),d.useEffect(()=>{const yt=Array.from(ot.current.children),Pt=yt.length;if(typeof IntersectionObserver<"u"&&Pt>0&&R&&S!==!1){const Dt=yt[0],Ft=yt[Pt-1],Zt={root:tt.current,threshold:.99},Se=ne=>{ct(!ne[0].isIntersecting)},Ve=new IntersectionObserver(Se,Zt);Ve.observe(Dt);const to=ne=>{ft(!ne[0].isIntersecting)},co=new IntersectionObserver(to,Zt);return co.observe(Ft),()=>{Ve.disconnect(),co.disconnect()}}},[R,S,Z,p==null?void 0:p.length]),d.useEffect(()=>{et(!0)},[]),d.useEffect(()=>{gt()}),d.useEffect(()=>{Gt(si!==rt)},[Gt,rt]),d.useImperativeHandle(l,()=>({updateIndicator:gt,updateScrollButtons:xt}),[gt,xt]);const[Bt,Xt]=Q("indicator",{className:j(U.indicator,P.className),elementType:XC,externalForwardedProps:dt,ownerState:J,additionalProps:{style:rt}}),oe=f.jsx(Bt,{...Xt});let fe=0;const ie=d.Children.map(p,yt=>{if(!d.isValidElement(yt))return null;const Pt=yt.props.value===void 0?fe:yt.props.value;Mt.set(Pt,fe);const Dt=Pt===A;return fe+=1,d.cloneElement(yt,{fullWidth:T==="fullWidth",indicator:Dt&&!mt&&oe,selected:Dt,selectionFollowsFocus:C,onChange:v,textColor:I,value:Pt,...fe===1&&A===!1&&!yt.props.tabIndex?{tabIndex:0}:{}})}),Pe=yt=>{if(yt.altKey||yt.shiftKey||yt.ctrlKey||yt.metaKey)return;const Pt=ot.current,Dt=te(Pt).activeElement;if(Dt.getAttribute("role")!=="tab")return;let Zt=h==="horizontal"?"ArrowLeft":"ArrowUp",Se=h==="horizontal"?"ArrowRight":"ArrowDown";switch(h==="horizontal"&&s&&(Zt="ArrowRight",Se="ArrowLeft"),yt.key){case Zt:yt.preventDefault(),Zr(Pt,Dt,ni);break;case Se:yt.preventDefault(),Zr(Pt,Dt,ri);break;case"Home":yt.preventDefault(),Zr(Pt,null,ri);break;case"End":yt.preventDefault(),Zr(Pt,null,ni);break}},Vt=Et(),[_t,ce]=Q("root",{ref:o,className:j(U.root,u),elementType:GC,externalForwardedProps:{...dt,...E,component:m},ownerState:J}),[$e,pe]=Q("scroller",{ref:tt,className:U.scroller,elementType:KC,externalForwardedProps:dt,ownerState:J,additionalProps:{style:{overflow:it.overflow,[M?`margin${s?"Left":"Right"}`:"marginBottom"]:z?void 0:-it.scrollbarWidth}}}),[Lt,ge]=Q("list",{ref:ot,className:j(U.list,U.flexContainer),elementType:qC,externalForwardedProps:dt,ownerState:J,getSlotProps:yt=>({...yt,onKeyDown:Pt=>{var Dt;Pe(Pt),(Dt=yt.onKeyDown)==null||Dt.call(yt,Pt)}})});return f.jsxs(_t,{...ce,children:[Vt.scrollButtonStart,Vt.scrollbarSizeListener,f.jsxs($e,{...pe,children:[f.jsx(Lt,{"aria-label":a,"aria-labelledby":i,"aria-orientation":h==="vertical"?"vertical":null,role:"tablist",...ge,children:ie}),mt&&oe]}),Vt.scrollButtonEnd]})});function YC(t){return V("MuiTextField",t)}const Q1=K("MuiTextField",["root"]),ZC={standard:Rn,filled:Ts,outlined:As},QC=t=>{const{classes:e}=t;return G({root:["root"]},YC,e)},JC=k(sb,{name:"MuiTextField",slot:"Root",overridesResolver:(t,e)=>e.root})({}),J1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTextField"}),{autoComplete:n,autoFocus:s=!1,children:a,className:i,color:l="primary",defaultValue:c,disabled:p=!1,error:u=!1,FormHelperTextProps:m,fullWidth:g=!1,helperText:b,id:v,InputLabelProps:h,inputProps:y,InputProps:S,inputRef:C,label:x,maxRows:w,minRows:P,multiline:$=!1,name:I,onBlur:A,onChange:T,onFocus:z,placeholder:E,required:R=!1,rows:M,select:O=!1,SelectProps:L,slots:F={},slotProps:D={},type:N,value:J,variant:U="outlined",...wt}=r,vt={...r,autoFocus:s,color:l,disabled:p,error:u,fullWidth:g,multiline:$,required:R,select:O,variant:U},mt=QC(vt),et=De(v),rt=b&&et?`${et}-helper-text`:void 0,Y=x&&et?`${et}-label`:void 0,at=ZC[U],ct={slots:F,slotProps:{input:S,inputLabel:h,htmlInput:y,formHelperText:m,select:L,...D}},st={},ft=ct.slotProps.inputLabel;U==="outlined"&&(ft&&typeof ft.shrink<"u"&&(st.notched=ft.shrink),st.label=x),O&&((!L||!L.native)&&(st.id=void 0),st["aria-describedby"]=void 0);const[Z,pt]=Q("root",{elementType:JC,shouldForwardComponentProp:!0,externalForwardedProps:{...ct,...wt},ownerState:vt,className:j(mt.root,i),ref:o,additionalProps:{disabled:p,error:u,fullWidth:g,required:R,color:l,variant:U}}),[it,ht]=Q("input",{elementType:at,externalForwardedProps:ct,additionalProps:st,ownerState:vt}),[Mt,tt]=Q("inputLabel",{elementType:Cv,externalForwardedProps:ct,ownerState:vt}),[ot,dt]=Q("htmlInput",{elementType:"input",externalForwardedProps:ct,ownerState:vt}),[St,gt]=Q("formHelperText",{elementType:vb,externalForwardedProps:ct,ownerState:vt}),[nt,Tt]=Q("select",{elementType:Es,externalForwardedProps:ct,ownerState:vt}),At=f.jsx(it,{"aria-describedby":rt,autoComplete:n,autoFocus:s,defaultValue:c,fullWidth:g,multiline:$,name:I,rows:M,maxRows:w,minRows:P,type:N,value:J,id:et,inputRef:C,onBlur:A,onChange:T,onFocus:z,placeholder:E,inputProps:dt,slots:{input:F.htmlInput?ot:void 0},...ht});return f.jsxs(Z,{...pt,children:[x!=null&&x!==""&&f.jsx(Mt,{htmlFor:et,id:Y,...tt,children:x}),O?f.jsx(nt,{"aria-describedby":rt,id:et,labelId:Y,value:J,input:At,...Tt,children:a}):At,b&&f.jsx(St,{id:rt,...gt,children:b})]})});function tS(t){return V("MuiToggleButton",t)}const Io=K("MuiToggleButton",["root","disabled","selected","standard","primary","secondary","sizeSmall","sizeMedium","sizeLarge","fullWidth"]),ml=d.createContext({}),bl=d.createContext(void 0);function eS(t,e){return e===void 0||t===void 0?!1:Array.isArray(e)?e.includes(t):t===e}const oS=t=>{const{classes:e,fullWidth:o,selected:r,disabled:n,size:s,color:a}=t,i={root:["root",r&&"selected",n&&"disabled",o&&"fullWidth",`size${B(s)}`,a]};return G(i,tS,e)},rS=k(ue,{name:"MuiToggleButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`size${B(o.size)}`]]}})(W(({theme:t})=>({...t.typography.button,borderRadius:(t.vars||t).shape.borderRadius,padding:11,border:`1px solid ${(t.vars||t).palette.divider}`,color:(t.vars||t).palette.action.active,[`&.${Io.disabled}`]:{color:(t.vars||t).palette.action.disabled,border:`1px solid ${(t.vars||t).palette.action.disabledBackground}`},"&:hover":{textDecoration:"none",backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.text.primary,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{color:"standard"},style:{[`&.${Io.selected}`]:{color:(t.vars||t).palette.text.primary,backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.text.primary,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.text.primary,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.text.primary,t.palette.action.selectedOpacity)}}}}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{[`&.${Io.selected}`]:{color:(t.vars||t).palette[e].main,backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette[e].main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette[e].main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette[e].main,t.palette.action.selectedOpacity)}}}}})),{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{padding:7,fontSize:t.typography.pxToRem(13)}},{props:{size:"large"},style:{padding:15,fontSize:t.typography.pxToRem(15)}}]}))),tR=d.forwardRef(function(e,o){const{value:r,...n}=d.useContext(ml),s=d.useContext(bl),a=ds({...n,selected:eS(e.value,r)},e),i=_({props:a,name:"MuiToggleButton"}),{children:l,className:c,color:p="standard",disabled:u=!1,disableFocusRipple:m=!1,fullWidth:g=!1,onChange:b,onClick:v,selected:h,size:y="medium",value:S,...C}=i,x={...i,color:p,disabled:u,disableFocusRipple:m,fullWidth:g,size:y},w=oS(x),P=I=>{v&&(v(I,S),I.defaultPrevented)||b&&b(I,S)},$=s||"";return f.jsx(rS,{className:j(n.className,w.root,c,$),disabled:u,focusRipple:!m,ref:o,onClick:P,onChange:b,value:S,ownerState:x,"aria-pressed":h,...C,children:l})});function nS(t){return V("MuiToggleButtonGroup",t)}const Jt=K("MuiToggleButtonGroup",["root","selected","horizontal","vertical","disabled","grouped","groupedHorizontal","groupedVertical","fullWidth","firstButton","lastButton","middleButton"]),sS=t=>{const{classes:e,orientation:o,fullWidth:r,disabled:n}=t,s={root:["root",o,r&&"fullWidth"],grouped:["grouped",`grouped${B(o)}`,n&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return G(s,nS,e)},aS=k("div",{name:"MuiToggleButtonGroup",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Jt.grouped}`]:e.grouped},{[`& .${Jt.grouped}`]:e[`grouped${B(o.orientation)}`]},{[`& .${Jt.firstButton}`]:e.firstButton},{[`& .${Jt.lastButton}`]:e.lastButton},{[`& .${Jt.middleButton}`]:e.middleButton},e.root,o.orientation==="vertical"&&e.vertical,o.fullWidth&&e.fullWidth]}})(W(({theme:t})=>({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius,variants:[{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${Jt.grouped}`]:{[`&.${Jt.selected} + .${Jt.grouped}.${Jt.selected}`]:{borderTop:0,marginTop:0}},[`& .${Jt.firstButton},& .${Jt.middleButton}`]:{borderBottomLeftRadius:0,borderBottomRightRadius:0},[`& .${Jt.lastButton},& .${Jt.middleButton}`]:{marginTop:-1,borderTop:"1px solid transparent",borderTopLeftRadius:0,borderTopRightRadius:0},[`& .${Jt.lastButton}.${Io.disabled},& .${Jt.middleButton}.${Io.disabled}`]:{borderTop:"1px solid transparent"}}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"horizontal"},style:{[`& .${Jt.grouped}`]:{[`&.${Jt.selected} + .${Jt.grouped}.${Jt.selected}`]:{borderLeft:0,marginLeft:0}},[`& .${Jt.firstButton},& .${Jt.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${Jt.lastButton},& .${Jt.middleButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent",borderTopLeftRadius:0,borderBottomLeftRadius:0},[`& .${Jt.lastButton}.${Io.disabled},& .${Jt.middleButton}.${Io.disabled}`]:{borderLeft:"1px solid transparent"}}}]}))),eR=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiToggleButtonGroup"}),{children:n,className:s,color:a="standard",disabled:i=!1,exclusive:l=!1,fullWidth:c=!1,onChange:p,orientation:u="horizontal",size:m="medium",value:g,...b}=r,v={...r,disabled:i,fullWidth:c,orientation:u,size:m},h=sS(v),y=d.useCallback(($,I)=>{if(!p)return;const A=g&&g.indexOf(I);let T;g&&A>=0?(T=g.slice(),T.splice(A,1)):T=g?g.concat(I):[I],p($,T)},[p,g]),S=d.useCallback(($,I)=>{p&&p($,g===I?null:I)},[p,g]),C=d.useMemo(()=>({className:h.grouped,onChange:l?S:y,value:g,size:m,fullWidth:c,color:a,disabled:i}),[h.grouped,l,S,y,g,m,c,a,i]),x=bi(n),w=x.length,P=$=>{const I=$===0,A=$===w-1;return I&&A?"":I?h.firstButton:A?h.lastButton:h.middleButton};return f.jsx(aS,{role:"group",className:j(h.root,s),ref:o,ownerState:v,...b,children:f.jsx(ml.Provider,{value:C,children:x.map(($,I)=>f.jsx(bl.Provider,{value:P(I),children:$},I))})})});function iS(t,e){const{disableHysteresis:o=!1,threshold:r=100,target:n}=e,s=t.current;return n&&(t.current=n.pageYOffset!==void 0?n.pageYOffset:n.scrollTop),!o&&s!==void 0&&t.currentr}const lS=typeof window<"u"?window:null;function oR(t={}){const{getTrigger:e=iS,target:o=lS,...r}=t,n=d.useRef(),[s,a]=d.useState(()=>e(n,r));return d.useEffect(()=>{if(o===null)return a(!1);const i=()=>{a(e(n,{target:o,...r}))};return i(),o.addEventListener("scroll",i,{passive:!0}),()=>{o.removeEventListener("scroll",i,{passive:!0})}},[o,e,JSON.stringify(r)]),s}const rR="6.4.12",nR=6,sR=4,aR=12,iR=void 0;export{AS as Accordion,ES as AccordionActions,NS as AccordionDetails,jS as AccordionSummary,FS as Alert,US as AlertTitle,VS as AppBar,KS as Autocomplete,Cf as Avatar,qS as AvatarGroup,Oi as Backdrop,_S as Badge,ZS as BottomNavigation,QS as BottomNavigationAction,JS as Box,tw as Breadcrumbs,ew as Button,ue as ButtonBase,ow as ButtonGroup,ji as ButtonGroupButtonContext,zi as ButtonGroupContext,nw as Card,sw as CardActionArea,iw as CardActions,cw as CardContent,pw as CardHeader,uw as CardMedia,fw as Checkbox,Hu as Chip,wi as CircularProgress,_g as ClickAwayListener,hr as Collapse,gw as Container,vw as CssBaseline,IR as CssVarsProvider,xw as Dialog,Sw as DialogActions,Rw as DialogContent,$w as DialogContentText,kw as DialogTitle,Ra as Divider,_m as Drawer,TR as Experimental_CssVarsProvider,Ki as Fab,es as Fade,Ts as FilledInput,sb as FormControl,Mw as FormControlLabel,fb as FormGroup,vb as FormHelperText,Sb as FormLabel,xb as FormLabelRoot,Hc as GlobalStyles,Aw as Grid,Bw as Grid2,Sr as Grow,Nw as Hidden,Zb as Icon,ko as IconButton,Dw as ImageList,Fw as ImageListItem,Uw as ImageListItemBar,Rn as Input,Hw as InputAdornment,wn as InputBase,Cv as InputLabel,Lv as LinearProgress,Kw as Link,Fv as List,Zw as ListItem,Jw as ListItemAvatar,_w as ListItemButton,t1 as ListItemIcon,Yi as ListItemSecondaryAction,e1 as ListItemText,ts as ListSubheader,xh as Menu,Ph as MenuItem,lh as MenuList,s1 as MobileStepper,Is as Modal,rm as ModalManager,zh as NativeSelect,jh as NoSsr,As as OutlinedInput,i1 as Pagination,ey as PaginationItem,Ue as Paper,uh as Popover,Qi as PopoverPaper,dh as PopoverRoot,vn as Popper,Ei as Portal,l1 as Radio,p1 as RadioGroup,d1 as Rating,f1 as ScopedCssBaseline,Es as Select,m1 as Skeleton,Hm as Slide,b1 as Slider,fx as SliderMark,gx as SliderMarkLabel,cx as SliderRail,lx as SliderRoot,dx as SliderThumb,px as SliderTrack,ux as SliderValueLabel,y1 as Snackbar,wx as SnackbarContent,x1 as SpeedDial,C1 as SpeedDialAction,Yx as SpeedDialIcon,S1 as Stack,k1 as Step,I1 as StepButton,y0 as StepConnector,L1 as StepContent,Zo as StepContext,s0 as StepIcon,dl as StepLabel,B1 as Stepper,zo as StepperContext,MR as StyledEngineProvider,Fl as SvgIcon,E1 as SwipeableDrawer,O1 as Switch,pn as THEME_ID,N1 as Tab,UC as TabScrollButton,j1 as Table,F1 as TableBody,ps as TableCell,U1 as TableContainer,V1 as TableFooter,K1 as TableHead,X1 as TablePagination,_1 as TableRow,Y1 as TableSortLabel,Z1 as Tabs,J1 as TextField,Ku as TextareaAutosize,LR as ThemeProvider,tR as ToggleButton,eR as ToggleButtonGroup,fC as Toolbar,Fx as Tooltip,he as Typography,pm as Unstable_TrapFocus,Ix as Zoom,BS as accordionActionsClasses,Or as accordionClasses,OS as accordionDetailsClasses,Uo as accordionSummaryClasses,hS as adaptV4Theme,qs as alertClasses,WS as alertTitleClasses,kt as alpha,HS as appBarClasses,zt as autocompleteClasses,mf as avatarClasses,wf as avatarGroupClasses,XS as backdropClasses,fo as badgeClasses,Ni as bottomNavigationActionClasses,YS as bottomNavigationClasses,Uf as boxClasses,_f as breadcrumbsClasses,kp as buttonBaseClasses,Co as buttonClasses,Nt as buttonGroupClasses,B as capitalize,Tn as cardActionAreaClasses,aw as cardActionsClasses,rw as cardClasses,lw as cardContentClasses,ln as cardHeaderClasses,dw as cardMediaClasses,Mn as checkboxClasses,Wt as chipClasses,DS as circularProgressClasses,MS as collapseClasses,IS as colors,bw as containerClasses,Gn as createChainedFunction,pR as createColorScheme,md as createFilterOptions,dR as createMuiTheme,xS as createStyles,Qt as createSvgIcon,ai as createTheme,uR as createTransitions,No as css,hw as darkScrollbar,Ao as darken,$r as debounce,fR as decomposeColor,mS as deprecatedPropType,Cw as dialogActionsClasses,An as dialogClasses,ww as dialogContentClasses,Pw as dialogContentTextClasses,Tm as dialogTitleClasses,wa as dividerClasses,Iw as drawerClasses,Dl as duration,gR as easing,tn as emphasize,k as experimentalStyled,$S as experimental_extendTheme,kS as experimental_sx,Tl as extendTheme,Pa as fabClasses,Ie as filledInputClasses,Tw as formControlClasses,dr as formControlLabelClasses,Lw as formGroupClasses,$a as formHelperTextClasses,mr as formLabelClasses,V as generateUtilityClass,K as generateUtilityClasses,pp as getAccordionActionsUtilityClass,fp as getAccordionDetailsUtilityClass,Mp as getAccordionSummaryUtilityClass,ap as getAccordionUtilityClass,cd as getAlertTitleUtilityClass,zp as getAlertUtilityClass,ud as getAppBarUtilityClass,Ju as getAutocompleteUtilityClass,Sf as getAvatarGroupUtilityClass,gf as getAvatarUtilityClass,kf as getBackdropUtilityClass,Lf as getBadgeUtilityClass,jf as getBottomNavigationActionUtilityClass,Of as getBottomNavigationUtilityClass,Xf as getBreadcrumbsUtilityClass,$p as getButtonBaseUtilityClass,ig as getButtonGroupUtilityClass,eg as getButtonUtilityClass,gg as getCardActionAreaUtilityClass,hg as getCardActionsUtilityClass,Cg as getCardContentUtilityClass,Rg as getCardHeaderUtilityClass,Mg as getCardMediaUtilityClass,dg as getCardUtilityClass,Ug as getCheckboxUtilityClass,Du as getChipUtilityClass,jp as getCircularProgressUtilityClass,Qc as getCollapseUtilityClass,mw as getContainerUtilityClass,mR as getContrastRatio,Rm as getDialogActionsUtilityClass,Am as getDialogContentTextUtilityClass,km as getDialogContentUtilityClass,Im as getDialogTitleUtilityClass,hm as getDialogUtilityClass,zm as getDividerUtilityClass,Vm as getDrawerUtilityClass,Ym as getFabUtilityClass,Qu as getFilledInputUtilityClass,ab as getFormControlLabelUtilityClasses,ob as getFormControlUtilityClasses,pb as getFormGroupUtilityClass,gb as getFormHelperTextUtilityClasses,hb as getFormLabelUtilityClasses,Ew as getGrid2UtilityClass,Gp as getIconButtonUtilityClass,Xb as getIconUtilityClass,nv as getImageListItemBarUtilityClass,ev as getImageListItemUtilityClass,Qb as getImageListUtilityClass,AR as getInitColorSchemeScript,gv as getInputAdornmentUtilityClass,Xu as getInputBaseUtilityClass,hv as getInputLabelUtilityClasses,Yu as getInputUtilityClass,Sv as getLinearProgressUtilityClass,Av as getLinkUtilityClass,Jv as getListItemAvatarUtilityClass,Uv as getListItemButtonUtilityClass,oh as getListItemIconUtilityClass,Kv as getListItemSecondaryActionClassesUtilityClass,sh as getListItemTextUtilityClass,Wv as getListItemUtilityClass,Ou as getListSubheaderUtilityClass,zv as getListUtilityClass,bR as getLuminance,Ch as getMenuItemUtilityClass,fh as getMenuUtilityClass,$h as getMobileStepperUtilityClass,gm as getModalUtilityClass,Ji as getNativeSelectUtilityClasses,Oa as getOffsetLeft,Ea as getOffsetTop,Zu as getOutlinedInputUtilityClass,zs as getOverlayAlpha,Xh as getPaginationItemUtilityClass,Kh as getPaginationUtilityClass,rp as getPaperUtilityClass,ch as getPopoverUtilityClass,ku as getPopperUtilityClass,hy as getRadioGroupUtilityClass,uy as getRadioUtilityClass,Sy as getRatingUtilityClass,Ay as getScopedCssBaselineUtilityClass,cl as getSelectUtilityClasses,Gy as getSkeletonUtilityClass,sx as getSliderUtilityClass,hx as getSnackbarContentUtilityClass,Rx as getSnackbarUtilityClass,Wx as getSpeedDialActionUtilityClass,qx as getSpeedDialIconUtilityClass,Tx as getSpeedDialUtilityClass,u0 as getStepButtonUtilityClass,m0 as getStepConnectorUtilityClass,x0 as getStepContentUtilityClass,o0 as getStepIconUtilityClass,a0 as getStepLabelUtilityClass,Zx as getStepUtilityClass,R0 as getStepperUtilityClass,vR as getSvgIconUtilityClass,B0 as getSwitchUtilityClass,jC as getTabScrollButtonUtilityClass,D0 as getTabUtilityClass,G0 as getTableBodyUtilityClass,_0 as getTableCellUtilityClass,J0 as getTableContainerUtilityClass,oC as getTableFooterUtilityClass,aC as getTableHeadUtilityClass,mC as getTablePaginationUtilityClass,$C as getTableRowUtilityClass,MC as getTableSortLabelUtilityClass,U0 as getTableUtilityClass,HC as getTabsUtilityClass,YC as getTextFieldUtilityClass,nS as getToggleButtonGroupUtilityClass,tS as getToggleButtonUtilityClass,pC as getToolbarUtilityClass,Ex as getTooltipUtilityClass,zS as getTouchRippleUtilityClass,nd as getTypographyUtilityClass,Ow as grid2Classes,hR as hexToRgb,yR as hslToRgb,Xs as iconButtonClasses,zw as iconClasses,jw as imageListClasses,Ww as imageListItemBarClasses,En as imageListItemClasses,Ta as inputAdornmentClasses,ke as inputBaseClasses,bo as inputClasses,Vw as inputLabelClasses,yo as isMuiElement,Je as keyframes,Bo as lighten,Gw as linearProgressClasses,Bv as linkClasses,qw as listClasses,Qw as listItemAvatarClasses,Wo as listItemButtonClasses,Xw as listItemClasses,Aa as listItemIconClasses,Yw as listItemSecondaryActionClasses,Ho as listItemTextClasses,GS as listSubheaderClasses,nR as major,wS as makeStyles,r1 as menuClasses,rr as menuItemClasses,Go as mergeSlotProps,sR as minor,n1 as mobileStepperClasses,yw as modalClasses,Ls as nativeSelectClasses,Ee as outlinedInputClasses,te as ownerDocument,me as ownerWindow,a1 as paginationClasses,ye as paginationItemClasses,LS as paperClasses,aR as patch,o1 as popoverClasses,iR as prerelease,xR as private_createMixins,CR as private_createTypography,SR as private_excludeVariablesFromRoot,ja as radioClasses,c1 as radioGroupClasses,nr as ratingClasses,wR as recomposeColor,bS as requirePropFactory,CS as responsiveFontSizes,RR as rgbToHex,u1 as scopedCssBaselineClasses,sr as selectClasses,Kn as setRef,PR as shouldSkipGeneratingVar,g1 as skeletonClasses,Ne as sliderClasses,h1 as snackbarClasses,v1 as snackbarContentClasses,_r as speedDialActionClasses,Gr as speedDialClasses,_e as speedDialIconClasses,w1 as stackClasses,Xa as stepButtonClasses,$1 as stepClasses,T1 as stepConnectorClasses,M1 as stepContentClasses,zn as stepIconClasses,ho as stepLabelClasses,A1 as stepperClasses,k as styled,$R as svgIconClasses,xe as switchClasses,Be as tabClasses,DC as tabScrollButtonClasses,D1 as tableBodyClasses,Y0 as tableCellClasses,z1 as tableClasses,W1 as tableContainerClasses,H1 as tableFooterClasses,G1 as tableHeadClasses,br as tablePaginationClasses,ei as tableRowClasses,Un as tableSortLabelClasses,Hn as tabsClasses,Q1 as textFieldClasses,Io as toggleButtonClasses,Jt as toggleButtonGroupClasses,q1 as toolbarClasses,re as tooltipClasses,Oe as touchRippleClasses,nn as typographyClasses,TS as unstable_ClassNameGenerator,G as unstable_composeClasses,Il as unstable_createBreakpoints,yS as unstable_createMuiStrictModeTheme,Ci as unstable_getUnit,W as unstable_memoTheme,mo as unstable_toUnitless,be as unstable_useEnhancedEffect,De as unstable_useId,vS as unsupportedProp,yd as useAutocomplete,BR as useColorScheme,Te as useControlled,ee as useEventCallback,qt as useForkRef,He as useFormControl,Db as useMediaQuery,qh as usePagination,dy as useRadioGroup,oR as useScrollTrigger,P1 as useStepContext,R1 as useStepperContext,le as useTheme,SS as useThemeProps,rR as version,RS as withStyles,PS as withTheme}; + )`,content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}}},{props:{animation:"wave"},style:Xy||{"&::after":{animation:`${ls} 2s linear 0.5s infinite`}}}]}})),m1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSkeleton"}),{animation:n="pulse",className:s,component:a="span",height:i,style:l,variant:c="text",width:p,...u}=r,m={...r,animation:n,component:a,variant:c,hasChildren:!!u.children},g=Ky(m);return f.jsx(_y,{as:a,ref:o,className:j(g.root,s),ownerState:m,...u,style:{width:p,height:i,...l}})});function Yy(t,e,o=(r,n)=>r===n){return t.length===e.length&&t.every((r,n)=>o(r,e[n]))}const Zy=2;function jo(t,e,o,r,n){return o===1?Math.min(t+e,n):Math.max(t-e,r)}function cl(t,e){return t-e}function Fa(t,e){const{index:o}=t.reduce((r,n,s)=>{const a=Math.abs(e-n);return r===null||a({left:`${t}%`}),leap:t=>({width:`${t}%`})},"horizontal-reverse":{offset:t=>({right:`${t}%`}),leap:t=>({width:`${t}%`})},vertical:{offset:t=>({bottom:`${t}%`}),leap:t=>({height:`${t}%`})}},ox=t=>t;let Hr;function Ua(){return Hr===void 0&&(typeof CSS<"u"&&typeof CSS.supports=="function"?Hr=CSS.supports("touch-action","none"):Hr=!0),Hr}function rx(t){const{"aria-labelledby":e,defaultValue:o,disabled:r=!1,disableSwap:n=!1,isRtl:s=!1,marks:a=!1,max:i=100,min:l=0,name:c,onChange:p,onChangeCommitted:u,orientation:m="horizontal",rootRef:g,scale:b=ox,step:v=1,shiftStep:h=10,tabIndex:y,value:S}=t,C=d.useRef(void 0),[x,w]=d.useState(-1),[P,$]=d.useState(-1),[I,A]=d.useState(!1),T=d.useRef(0),z=d.useRef(null),[E,R]=Te({controlled:S,default:o??l,name:"Slider"}),M=p&&((q,lt,bt)=>{const $t=q.nativeEvent||q,It=new $t.constructor($t.type,$t);Object.defineProperty(It,"target",{writable:!0,value:{value:lt,name:c}}),z.current=lt,p(It,lt,bt)}),O=Array.isArray(E);let L=O?E.slice().sort(cl):[E];L=L.map(q=>q==null?l:wo(q,l,i));const F=a===!0&&v!==null?[...Array(Math.floor((i-l)/v)+1)].map((q,lt)=>({value:l+v*lt})):a||[],D=F.map(q=>q.value),[N,J]=d.useState(-1),U=d.useRef(null),wt=qt(g,U),vt=q=>lt=>{var $t;const bt=Number(lt.currentTarget.getAttribute("data-index"));Ze(lt.target)&&J(bt),$(bt),($t=q==null?void 0:q.onFocus)==null||$t.call(q,lt)},mt=q=>lt=>{var bt;Ze(lt.target)||J(-1),$(-1),(bt=q==null?void 0:q.onBlur)==null||bt.call(q,lt)},et=(q,lt)=>{const bt=Number(q.currentTarget.getAttribute("data-index")),$t=L[bt],It=D.indexOf($t);let ut=lt;if(F&&v==null){const Ct=D[D.length-1];ut>=Ct?ut=Ct:ut<=D[0]?ut=D[0]:ut=ut<$t?D[It-1]:D[It+1]}if(ut=wo(ut,l,i),O){n&&(ut=wo(ut,L[bt-1]||-1/0,L[bt+1]||1/0));const Ct=ut;ut=Wa({values:L,newValue:ut,index:bt});let Ut=bt;n||(Ut=ut.indexOf(Ct)),Wr({sliderRef:U,activeIndex:Ut})}R(ut),J(bt),M&&!Ur(ut,E)&&M(q,ut,bt),u&&u(q,z.current??ut)},rt=q=>lt=>{var bt;if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"].includes(lt.key)){lt.preventDefault();const $t=Number(lt.currentTarget.getAttribute("data-index")),It=L[$t];let ut=null;if(v!=null){const Ct=lt.shiftKey?h:v;switch(lt.key){case"ArrowUp":ut=jo(It,Ct,1,l,i);break;case"ArrowRight":ut=jo(It,Ct,s?-1:1,l,i);break;case"ArrowDown":ut=jo(It,Ct,-1,l,i);break;case"ArrowLeft":ut=jo(It,Ct,s?1:-1,l,i);break;case"PageUp":ut=jo(It,h,1,l,i);break;case"PageDown":ut=jo(It,h,-1,l,i);break;case"Home":ut=l;break;case"End":ut=i;break}}else if(F){const Ct=D[D.length-1],Ut=D.indexOf(It),Et=[s?"ArrowRight":"ArrowLeft","ArrowDown","PageDown","Home"],Gt=[s?"ArrowLeft":"ArrowRight","ArrowUp","PageUp","End"];Et.includes(lt.key)?Ut===0?ut=D[0]:ut=D[Ut-1]:Gt.includes(lt.key)&&(Ut===D.length-1?ut=Ct:ut=D[Ut+1])}ut!=null&&et(lt,ut)}(bt=q==null?void 0:q.onKeyDown)==null||bt.call(q,lt)};be(()=>{var q;r&&U.current.contains(document.activeElement)&&((q=document.activeElement)==null||q.blur())},[r]),r&&x!==-1&&w(-1),r&&N!==-1&&J(-1);const Y=q=>lt=>{var bt;(bt=q.onChange)==null||bt.call(q,lt),et(lt,lt.target.valueAsNumber)},at=d.useRef(void 0);let ct=m;s&&m==="horizontal"&&(ct+="-reverse");const st=({finger:q,move:lt=!1})=>{const{current:bt}=U,{width:$t,height:It,bottom:ut,left:Ct}=bt.getBoundingClientRect();let Ut;ct.startsWith("vertical")?Ut=(ut-q.y)/It:Ut=(q.x-Ct)/$t,ct.includes("-reverse")&&(Ut=1-Ut);let Et;if(Et=Qy(Ut,l,i),v)Et=tx(Et,v,l);else{const xt=Fa(D,Et);Et=D[xt]}Et=wo(Et,l,i);let Gt=0;if(O){lt?Gt=at.current:Gt=Fa(L,Et),n&&(Et=wo(Et,L[Gt-1]||-1/0,L[Gt+1]||1/0));const xt=Et;Et=Wa({values:L,newValue:Et,index:Gt}),n&<||(Gt=Et.indexOf(xt),at.current=Gt)}return{newValue:Et,activeIndex:Gt}},ft=ee(q=>{const lt=Fr(q,C);if(!lt)return;if(T.current+=1,q.type==="mousemove"&&q.buttons===0){Z(q);return}const{newValue:bt,activeIndex:$t}=st({finger:lt,move:!0});Wr({sliderRef:U,activeIndex:$t,setActive:w}),R(bt),!I&&T.current>Zy&&A(!0),M&&!Ur(bt,E)&&M(q,bt,$t)}),Z=ee(q=>{const lt=Fr(q,C);if(A(!1),!lt)return;const{newValue:bt}=st({finger:lt,move:!0});w(-1),q.type==="touchend"&&$(-1),u&&u(q,z.current??bt),C.current=void 0,it()}),pt=ee(q=>{if(r)return;Ua()||q.preventDefault();const lt=q.changedTouches[0];lt!=null&&(C.current=lt.identifier);const bt=Fr(q,C);if(bt!==!1){const{newValue:It,activeIndex:ut}=st({finger:bt});Wr({sliderRef:U,activeIndex:ut,setActive:w}),R(It),M&&!Ur(It,E)&&M(q,It,ut)}T.current=0;const $t=te(U.current);$t.addEventListener("touchmove",ft,{passive:!0}),$t.addEventListener("touchend",Z,{passive:!0})}),it=d.useCallback(()=>{const q=te(U.current);q.removeEventListener("mousemove",ft),q.removeEventListener("mouseup",Z),q.removeEventListener("touchmove",ft),q.removeEventListener("touchend",Z)},[Z,ft]);d.useEffect(()=>{const{current:q}=U;return q.addEventListener("touchstart",pt,{passive:Ua()}),()=>{q.removeEventListener("touchstart",pt),it()}},[it,pt]),d.useEffect(()=>{r&&it()},[r,it]);const ht=q=>lt=>{var It;if((It=q.onMouseDown)==null||It.call(q,lt),r||lt.defaultPrevented||lt.button!==0)return;lt.preventDefault();const bt=Fr(lt,C);if(bt!==!1){const{newValue:ut,activeIndex:Ct}=st({finger:bt});Wr({sliderRef:U,activeIndex:Ct,setActive:w}),R(ut),M&&!Ur(ut,E)&&M(lt,ut,Ct)}T.current=0;const $t=te(U.current);$t.addEventListener("mousemove",ft,{passive:!0}),$t.addEventListener("mouseup",Z)},Mt=cn(O?L[0]:l,l,i),tt=cn(L[L.length-1],l,i)-Mt,ot=(q={})=>{const lt=To(q),bt={onMouseDown:ht(lt||{})},$t={...lt,...bt};return{...q,ref:wt,...$t}},dt=q=>lt=>{var $t;($t=q.onMouseOver)==null||$t.call(q,lt);const bt=Number(lt.currentTarget.getAttribute("data-index"));$(bt)},St=q=>lt=>{var bt;(bt=q.onMouseLeave)==null||bt.call(q,lt),$(-1)},gt=(q={})=>{const lt=To(q),bt={onMouseOver:dt(lt||{}),onMouseLeave:St(lt||{})};return{...q,...lt,...bt}},nt=q=>({pointerEvents:x!==-1&&x!==q?"none":void 0});let Tt;return m==="vertical"&&(Tt=s?"vertical-rl":"vertical-lr"),{active:x,axis:ct,axisProps:ex,dragging:I,focusedThumbIndex:N,getHiddenInputProps:(q={})=>{const lt=To(q),bt={onChange:Y(lt||{}),onFocus:vt(lt||{}),onBlur:mt(lt||{}),onKeyDown:rt(lt||{})},$t={...lt,...bt};return{tabIndex:y,"aria-labelledby":e,"aria-orientation":m,"aria-valuemax":b(i),"aria-valuemin":b(l),name:c,type:"range",min:t.min,max:t.max,step:t.step===null&&t.marks?"any":t.step??void 0,disabled:r,...q,...$t,style:{...bi,direction:s?"rtl":"ltr",width:"100%",height:"100%",writingMode:Tt}}},getRootProps:ot,getThumbProps:gt,marks:F,open:P,range:O,rootRef:wt,trackLeap:tt,trackOffset:Mt,values:L,getThumbStyle:nt}}const nx=t=>!t||!so(t);function sx(t){return V("MuiSlider",t)}const Ne=K("MuiSlider",["root","active","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","disabled","dragging","focusVisible","mark","markActive","marked","markLabel","markLabelActive","rail","sizeSmall","thumb","thumbColorPrimary","thumbColorSecondary","thumbColorError","thumbColorSuccess","thumbColorInfo","thumbColorWarning","track","trackInverted","trackFalse","thumbSizeSmall","valueLabel","valueLabelOpen","valueLabelCircle","valueLabelLabel","vertical"]),ax=t=>{const{open:e}=t;return{offset:j(e&&Ne.valueLabelOpen),circle:Ne.valueLabelCircle,label:Ne.valueLabelLabel}};function ix(t){const{children:e,className:o,value:r}=t,n=ax(t);return e?d.cloneElement(e,{className:j(e.props.className)},f.jsxs(d.Fragment,{children:[e.props.children,f.jsx("span",{className:j(n.offset,o),"aria-hidden":!0,children:f.jsx("span",{className:n.circle,children:f.jsx("span",{className:n.label,children:r})})})]})):null}function Ha(t){return t}const lx=k("span",{name:"MuiSlider",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`color${B(o.color)}`],o.size!=="medium"&&e[`size${B(o.size)}`],o.marked&&e.marked,o.orientation==="vertical"&&e.vertical,o.track==="inverted"&&e.trackInverted,o.track===!1&&e.trackFalse]}})(W(({theme:t})=>({borderRadius:12,boxSizing:"content-box",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",WebkitTapHighlightColor:"transparent","@media print":{colorAdjust:"exact"},[`&.${Ne.disabled}`]:{pointerEvents:"none",cursor:"default",color:(t.vars||t).palette.grey[400]},[`&.${Ne.dragging}`]:{[`& .${Ne.thumb}, & .${Ne.track}`]:{transition:"none"}},variants:[...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}})),{props:{orientation:"horizontal"},style:{height:4,width:"100%",padding:"13px 0","@media (pointer: coarse)":{padding:"20px 0"}}},{props:{orientation:"horizontal",size:"small"},style:{height:2}},{props:{orientation:"horizontal",marked:!0},style:{marginBottom:20}},{props:{orientation:"vertical"},style:{height:"100%",width:4,padding:"0 13px","@media (pointer: coarse)":{padding:"0 20px"}}},{props:{orientation:"vertical",size:"small"},style:{width:2}},{props:{orientation:"vertical",marked:!0},style:{marginRight:44}}]}))),cx=k("span",{name:"MuiSlider",slot:"Rail",overridesResolver:(t,e)=>e.rail})({display:"block",position:"absolute",borderRadius:"inherit",backgroundColor:"currentColor",opacity:.38,variants:[{props:{orientation:"horizontal"},style:{width:"100%",height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{height:"100%",width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:"inverted"},style:{opacity:1}}]}),px=k("span",{name:"MuiSlider",slot:"Track",overridesResolver:(t,e)=>e.track})(W(({theme:t})=>({display:"block",position:"absolute",borderRadius:"inherit",border:"1px solid currentColor",backgroundColor:"currentColor",transition:t.transitions.create(["left","width","bottom","height"],{duration:t.transitions.duration.shortest}),variants:[{props:{size:"small"},style:{border:"none"}},{props:{orientation:"horizontal"},style:{height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:!1},style:{display:"none"}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e,track:"inverted"},style:{...t.vars?{backgroundColor:t.vars.palette.Slider[`${e}Track`],borderColor:t.vars.palette.Slider[`${e}Track`]}:{backgroundColor:Ao(t.palette[e].main,.62),borderColor:Ao(t.palette[e].main,.62),...t.applyStyles("dark",{backgroundColor:Lo(t.palette[e].main,.5)}),...t.applyStyles("dark",{borderColor:Lo(t.palette[e].main,.5)})}}}))]}))),dx=k("span",{name:"MuiSlider",slot:"Thumb",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.thumb,e[`thumbColor${B(o.color)}`],o.size!=="medium"&&e[`thumbSize${B(o.size)}`]]}})(W(({theme:t})=>({position:"absolute",width:20,height:20,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",transition:t.transitions.create(["box-shadow","left","bottom"],{duration:t.transitions.duration.shortest}),"&::before":{position:"absolute",content:'""',borderRadius:"inherit",width:"100%",height:"100%",boxShadow:(t.vars||t).shadows[2]},"&::after":{position:"absolute",content:'""',borderRadius:"50%",width:42,height:42,top:"50%",left:"50%",transform:"translate(-50%, -50%)"},[`&.${Ne.disabled}`]:{"&:hover":{boxShadow:"none"}},variants:[{props:{size:"small"},style:{width:12,height:12,"&::before":{boxShadow:"none"}}},{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-50%, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 50%)"}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{[`&:hover, &.${Ne.focusVisible}`]:{...t.vars?{boxShadow:`0px 0px 0px 8px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 8px ${kt(t.palette[e].main,.16)}`},"@media (hover: none)":{boxShadow:"none"}},[`&.${Ne.active}`]:{...t.vars?{boxShadow:`0px 0px 0px 14px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 14px ${kt(t.palette[e].main,.16)}`}}}}))]}))),ux=k(ix,{name:"MuiSlider",slot:"ValueLabel",overridesResolver:(t,e)=>e.valueLabel})(W(({theme:t})=>({zIndex:1,whiteSpace:"nowrap",...t.typography.body2,fontWeight:500,transition:t.transitions.create(["transform"],{duration:t.transitions.duration.shortest}),position:"absolute",backgroundColor:(t.vars||t).palette.grey[600],borderRadius:2,color:(t.vars||t).palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",padding:"0.25rem 0.75rem",variants:[{props:{orientation:"horizontal"},style:{transform:"translateY(-100%) scale(0)",top:"-10px",transformOrigin:"bottom center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, 50%) rotate(45deg)",backgroundColor:"inherit",bottom:0,left:"50%"},[`&.${Ne.valueLabelOpen}`]:{transform:"translateY(-100%) scale(1)"}}},{props:{orientation:"vertical"},style:{transform:"translateY(-50%) scale(0)",right:"30px",top:"50%",transformOrigin:"right center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, -50%) rotate(45deg)",backgroundColor:"inherit",right:-8,top:"50%"},[`&.${Ne.valueLabelOpen}`]:{transform:"translateY(-50%) scale(1)"}}},{props:{size:"small"},style:{fontSize:t.typography.pxToRem(12),padding:"0.25rem 0.5rem"}},{props:{orientation:"vertical",size:"small"},style:{right:"20px"}}]}))),fx=k("span",{name:"MuiSlider",slot:"Mark",shouldForwardProp:t=>wr(t)&&t!=="markActive",overridesResolver:(t,e)=>{const{markActive:o}=t;return[e.mark,o&&e.markActive]}})(W(({theme:t})=>({position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor",variants:[{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-1px, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 1px)"}},{props:{markActive:!0},style:{backgroundColor:(t.vars||t).palette.background.paper,opacity:.8}}]}))),gx=k("span",{name:"MuiSlider",slot:"MarkLabel",shouldForwardProp:t=>wr(t)&&t!=="markLabelActive",overridesResolver:(t,e)=>e.markLabel})(W(({theme:t})=>({...t.typography.body2,color:(t.vars||t).palette.text.secondary,position:"absolute",whiteSpace:"nowrap",variants:[{props:{orientation:"horizontal"},style:{top:30,transform:"translateX(-50%)","@media (pointer: coarse)":{top:40}}},{props:{orientation:"vertical"},style:{left:36,transform:"translateY(50%)","@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(t.vars||t).palette.text.primary}}]}))),mx=t=>{const{disabled:e,dragging:o,marked:r,orientation:n,track:s,classes:a,color:i,size:l}=t,c={root:["root",e&&"disabled",o&&"dragging",r&&"marked",n==="vertical"&&"vertical",s==="inverted"&&"trackInverted",s===!1&&"trackFalse",i&&`color${B(i)}`,l&&`size${B(l)}`],rail:["rail"],track:["track"],mark:["mark"],markActive:["markActive"],markLabel:["markLabel"],markLabelActive:["markLabelActive"],valueLabel:["valueLabel"],thumb:["thumb",e&&"disabled",l&&`thumbSize${B(l)}`,i&&`thumbColor${B(i)}`],active:["active"],disabled:["disabled"],focusVisible:["focusVisible"]};return G(c,sx,a)},bx=({children:t})=>t,b1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSlider"}),n=Ke(),{"aria-label":s,"aria-valuetext":a,"aria-labelledby":i,component:l="span",components:c={},componentsProps:p={},color:u="primary",classes:m,className:g,disableSwap:b=!1,disabled:v=!1,getAriaLabel:h,getAriaValueText:y,marks:S=!1,max:C=100,min:x=0,name:w,onChange:P,onChangeCommitted:$,orientation:I="horizontal",shiftStep:A=10,size:T="medium",step:z=1,scale:E=Ha,slotProps:R,slots:M,tabIndex:O,track:L="normal",value:F,valueLabelDisplay:D="off",valueLabelFormat:N=Ha,...J}=r,U={...r,isRtl:n,max:C,min:x,classes:m,disabled:v,disableSwap:b,orientation:I,marks:S,color:u,size:T,step:z,shiftStep:A,scale:E,track:L,valueLabelDisplay:D,valueLabelFormat:N},{axisProps:wt,getRootProps:vt,getHiddenInputProps:mt,getThumbProps:et,open:rt,active:Y,axis:at,focusedThumbIndex:ct,range:st,dragging:ft,marks:Z,values:pt,trackOffset:it,trackLeap:ht,getThumbStyle:Mt}=rx({...U,rootRef:o});U.marked=Z.length>0&&Z.some(Vt=>Vt.label),U.dragging=ft,U.focusedThumbIndex=ct;const tt=mx(U),ot=(M==null?void 0:M.root)??c.Root??lx,dt=(M==null?void 0:M.rail)??c.Rail??cx,St=(M==null?void 0:M.track)??c.Track??px,gt=(M==null?void 0:M.thumb)??c.Thumb??dx,nt=(M==null?void 0:M.valueLabel)??c.ValueLabel??ux,Tt=(M==null?void 0:M.mark)??c.Mark??fx,At=(M==null?void 0:M.markLabel)??c.MarkLabel??gx,q=(M==null?void 0:M.input)??c.Input??"input",lt=(R==null?void 0:R.root)??p.root,bt=(R==null?void 0:R.rail)??p.rail,$t=(R==null?void 0:R.track)??p.track,It=(R==null?void 0:R.thumb)??p.thumb,ut=(R==null?void 0:R.valueLabel)??p.valueLabel,Ct=(R==null?void 0:R.mark)??p.mark,Ut=(R==null?void 0:R.markLabel)??p.markLabel,Et=(R==null?void 0:R.input)??p.input,Gt=Ce({elementType:ot,getSlotProps:vt,externalSlotProps:lt,externalForwardedProps:J,additionalProps:{...nx(ot)&&{as:l}},ownerState:{...U,...lt==null?void 0:lt.ownerState},className:[tt.root,g]}),xt=Ce({elementType:dt,externalSlotProps:bt,ownerState:U,className:tt.rail}),Bt=Ce({elementType:St,externalSlotProps:$t,additionalProps:{style:{...wt[at].offset(it),...wt[at].leap(ht)}},ownerState:{...U,...$t==null?void 0:$t.ownerState},className:tt.track}),Xt=Ce({elementType:gt,getSlotProps:et,externalSlotProps:It,ownerState:{...U,...It==null?void 0:It.ownerState},className:tt.thumb}),oe=Ce({elementType:nt,externalSlotProps:ut,ownerState:{...U,...ut==null?void 0:ut.ownerState},className:tt.valueLabel}),fe=Ce({elementType:Tt,externalSlotProps:Ct,ownerState:U,className:tt.mark}),ie=Ce({elementType:At,externalSlotProps:Ut,ownerState:U,className:tt.markLabel}),Pe=Ce({elementType:q,getSlotProps:mt,externalSlotProps:Et,ownerState:U});return f.jsxs(ot,{...Gt,children:[f.jsx(dt,{...xt}),f.jsx(St,{...Bt}),Z.filter(Vt=>Vt.value>=x&&Vt.value<=C).map((Vt,_t)=>{const ce=cn(Vt.value,x,C),$e=wt[at].offset(ce);let pe;return L===!1?pe=pt.includes(Vt.value):pe=L==="normal"&&(st?Vt.value>=pt[0]&&Vt.value<=pt[pt.length-1]:Vt.value<=pt[0])||L==="inverted"&&(st?Vt.value<=pt[0]||Vt.value>=pt[pt.length-1]:Vt.value>=pt[0]),f.jsxs(d.Fragment,{children:[f.jsx(Tt,{"data-index":_t,...fe,...!so(Tt)&&{markActive:pe},style:{...$e,...fe.style},className:j(fe.className,pe&&tt.markActive)}),Vt.label!=null?f.jsx(At,{"aria-hidden":!0,"data-index":_t,...ie,...!so(At)&&{markLabelActive:pe},style:{...$e,...ie.style},className:j(tt.markLabel,ie.className,pe&&tt.markLabelActive),children:Vt.label}):null]},_t)}),pt.map((Vt,_t)=>{const ce=cn(Vt,x,C),$e=wt[at].offset(ce),pe=D==="off"?bx:nt;return f.jsx(pe,{...!so(pe)&&{valueLabelFormat:N,valueLabelDisplay:D,value:typeof N=="function"?N(E(Vt),_t):N,index:_t,open:rt===_t||Y===_t||D==="on",disabled:v},...oe,children:f.jsx(gt,{"data-index":_t,...Xt,className:j(tt.thumb,Xt.className,Y===_t&&tt.active,ct===_t&&tt.focusVisible),style:{...$e,...Mt(_t),...Xt.style},children:f.jsx(q,{"data-index":_t,"aria-label":h?h(_t):s,"aria-valuenow":E(Vt),"aria-labelledby":i,"aria-valuetext":y?y(E(Vt),_t):a,value:pt[_t],...Pe})})},_t)})]})});function vx(t={}){const{autoHideDuration:e=null,disableWindowBlurListener:o=!1,onClose:r,open:n,resumeHideDuration:s}=t,a=no();d.useEffect(()=>{if(!n)return;function y(S){S.defaultPrevented||S.key==="Escape"&&(r==null||r(S,"escapeKeyDown"))}return document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y)}},[n,r]);const i=ee((y,S)=>{r==null||r(y,S)}),l=ee(y=>{!r||y==null||a.start(y,()=>{i(null,"timeout")})});d.useEffect(()=>(n&&l(e),a.clear),[n,e,l,a]);const c=y=>{r==null||r(y,"clickaway")},p=a.clear,u=d.useCallback(()=>{e!=null&&l(s??e*.5)},[e,s,l]),m=y=>S=>{const C=y.onBlur;C==null||C(S),u()},g=y=>S=>{const C=y.onFocus;C==null||C(S),p()},b=y=>S=>{const C=y.onMouseEnter;C==null||C(S),p()},v=y=>S=>{const C=y.onMouseLeave;C==null||C(S),u()};return d.useEffect(()=>{if(!o&&n)return window.addEventListener("focus",u),window.addEventListener("blur",p),()=>{window.removeEventListener("focus",u),window.removeEventListener("blur",p)}},[o,n,u,p]),{getRootProps:(y={})=>{const S={...To(t),...To(y)};return{role:"presentation",...y,...S,onBlur:m(S),onFocus:g(S),onMouseEnter:b(S),onMouseLeave:v(S)}},onClickAway:c}}function hx(t){return V("MuiSnackbarContent",t)}const v1=K("MuiSnackbarContent",["root","message","action"]),yx=t=>{const{classes:e}=t;return G({root:["root"],action:["action"],message:["message"]},hx,e)},xx=k(Ue,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>{const e=t.palette.mode==="light"?.8:.98,o=tn(t.palette.background.default,e);return{...t.typography.body2,color:t.vars?t.vars.palette.SnackbarContent.color:t.palette.getContrastText(o),backgroundColor:t.vars?t.vars.palette.SnackbarContent.bg:o,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,flexGrow:1,[t.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}}})),Cx=k("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(t,e)=>e.message})({padding:"8px 0"}),Sx=k("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(t,e)=>e.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),wx=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSnackbarContent"}),{action:n,className:s,message:a,role:i="alert",...l}=r,c=r,p=yx(c);return f.jsxs(xx,{role:i,square:!0,elevation:6,className:j(p.root,s),ownerState:c,ref:o,...l,children:[f.jsx(Cx,{className:p.message,ownerState:c,children:a}),n?f.jsx(Sx,{className:p.action,ownerState:c,children:n}):null]})});function Rx(t){return V("MuiSnackbar",t)}const h1=K("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]),Px=t=>{const{classes:e,anchorOrigin:o}=t,r={root:["root",`anchorOrigin${B(o.vertical)}${B(o.horizontal)}`]};return G(r,Rx,e)},$x=k("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`anchorOrigin${B(o.anchorOrigin.vertical)}${B(o.anchorOrigin.horizontal)}`]]}})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center",variants:[{props:({ownerState:e})=>e.anchorOrigin.vertical==="top",style:{top:8,[t.breakpoints.up("sm")]:{top:24}}},{props:({ownerState:e})=>e.anchorOrigin.vertical!=="top",style:{bottom:8,[t.breakpoints.up("sm")]:{bottom:24}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="left",style:{justifyContent:"flex-start",[t.breakpoints.up("sm")]:{left:24,right:"auto"}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="right",style:{justifyContent:"flex-end",[t.breakpoints.up("sm")]:{right:24,left:"auto"}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="center",style:{[t.breakpoints.up("sm")]:{left:"50%",right:"auto",transform:"translateX(-50%)"}}}]}))),y1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSnackbar"}),n=le(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{action:a,anchorOrigin:{vertical:i,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:p,className:u,ClickAwayListenerProps:m,ContentProps:g,disableWindowBlurListener:b=!1,message:v,onBlur:h,onClose:y,onFocus:S,onMouseEnter:C,onMouseLeave:x,open:w,resumeHideDuration:P,slots:$={},slotProps:I={},TransitionComponent:A,transitionDuration:T=s,TransitionProps:{onEnter:z,onExited:E,...R}={},...M}=r,O={...r,anchorOrigin:{vertical:i,horizontal:l},autoHideDuration:c,disableWindowBlurListener:b,TransitionComponent:A,transitionDuration:T},L=Px(O),{getRootProps:F,onClickAway:D}=vx({...O}),[N,J]=d.useState(!0),U=pt=>{J(!0),E&&E(pt)},wt=(pt,it)=>{J(!1),z&&z(pt,it)},vt={slots:{transition:A,...$},slotProps:{content:g,clickAwayListener:m,transition:R,...I}},[mt,et]=Q("root",{ref:o,className:[L.root,u],elementType:$x,getSlotProps:F,externalForwardedProps:{...vt,...M},ownerState:O}),[rt,{ownerState:Y,...at}]=Q("clickAwayListener",{elementType:_g,externalForwardedProps:vt,getSlotProps:pt=>({onClickAway:(...it)=>{var ht;(ht=pt.onClickAway)==null||ht.call(pt,...it),D(...it)}}),ownerState:O}),[ct,st]=Q("content",{elementType:wx,shouldForwardComponentProp:!0,externalForwardedProps:vt,additionalProps:{message:v,action:a},ownerState:O}),[ft,Z]=Q("transition",{elementType:Cr,externalForwardedProps:vt,getSlotProps:pt=>({onEnter:(...it)=>{var ht;(ht=pt.onEnter)==null||ht.call(pt,...it),wt(...it)},onExited:(...it)=>{var ht;(ht=pt.onExited)==null||ht.call(pt,...it),U(...it)}}),additionalProps:{appear:!0,in:w,timeout:T,direction:i==="top"?"down":"up"},ownerState:O});return!w&&N?null:f.jsx(rt,{...at,...$.clickAwayListener&&{ownerState:Y},children:f.jsx(mt,{...et,children:f.jsx(ft,{...Z,children:p||f.jsx(ct,{...st})})})})}),kx={entering:{transform:"none"},entered:{transform:"none"}},Ix=d.forwardRef(function(e,o){const r=le(),n={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:a=!0,children:i,easing:l,in:c,onEnter:p,onEntered:u,onEntering:m,onExit:g,onExited:b,onExiting:v,style:h,timeout:y=n,TransitionComponent:S=Le,...C}=e,x=d.useRef(null),w=qt(x,io(i),o),P=M=>O=>{if(M){const L=x.current;O===void 0?M(L):M(L,O)}},$=P(m),I=P((M,O)=>{mn(M);const L=Ge({style:h,timeout:y,easing:l},{mode:"enter"});M.style.webkitTransition=r.transitions.create("transform",L),M.style.transition=r.transitions.create("transform",L),p&&p(M,O)}),A=P(u),T=P(v),z=P(M=>{const O=Ge({style:h,timeout:y,easing:l},{mode:"exit"});M.style.webkitTransition=r.transitions.create("transform",O),M.style.transition=r.transitions.create("transform",O),g&&g(M)}),E=P(b),R=M=>{s&&s(x.current,M)};return f.jsx(S,{appear:a,in:c,nodeRef:x,onEnter:I,onEntered:A,onEntering:$,onExit:z,onExited:E,onExiting:T,addEndListener:R,timeout:y,...C,children:(M,{ownerState:O,...L})=>d.cloneElement(i,{style:{transform:"scale(0)",visibility:M==="exited"&&!c?"hidden":void 0,...kx[M],...h,...i.props.style},ref:w,...L})})});function Tx(t){return V("MuiSpeedDial",t)}const Vr=K("MuiSpeedDial",["root","fab","directionUp","directionDown","directionLeft","directionRight","actions","actionsClosed"]),Mx=t=>{const{classes:e,open:o,direction:r}=t,n={root:["root",`direction${B(r)}`],fab:["fab"],actions:["actions",!o&&"actionsClosed"]};return G(n,Tx,e)};function sr(t){if(t==="up"||t==="down")return"vertical";if(t==="right"||t==="left")return"horizontal"}const Gr=32,Kr=16,Lx=k("div",{name:"MuiSpeedDial",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`direction${B(o.direction)}`]]}})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.speedDial,display:"flex",alignItems:"center",pointerEvents:"none",variants:[{props:{direction:"up"},style:{flexDirection:"column-reverse",[`& .${Vr.actions}`]:{flexDirection:"column-reverse",marginBottom:-32,paddingBottom:Kr+Gr}}},{props:{direction:"down"},style:{flexDirection:"column",[`& .${Vr.actions}`]:{flexDirection:"column",marginTop:-32,paddingTop:Kr+Gr}}},{props:{direction:"left"},style:{flexDirection:"row-reverse",[`& .${Vr.actions}`]:{flexDirection:"row-reverse",marginRight:-32,paddingRight:Kr+Gr}}},{props:{direction:"right"},style:{flexDirection:"row",[`& .${Vr.actions}`]:{flexDirection:"row",marginLeft:-32,paddingLeft:Kr+Gr}}}]}))),Ax=k(Gi,{name:"MuiSpeedDial",slot:"Fab",overridesResolver:(t,e)=>e.fab})({pointerEvents:"auto"}),Bx=k("div",{name:"MuiSpeedDial",slot:"Actions",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.actions,!o.open&&e.actionsClosed]}})({display:"flex",pointerEvents:"auto",variants:[{props:({ownerState:t})=>!t.open,style:{transition:"top 0s linear 0.2s",pointerEvents:"none"}}]}),x1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSpeedDial"}),n=le(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{ariaLabel:a,FabProps:{ref:i,...l}={},children:c,className:p,direction:u="up",hidden:m=!1,icon:g,onBlur:b,onClose:v,onFocus:h,onKeyDown:y,onMouseEnter:S,onMouseLeave:C,onOpen:x,open:w,openIcon:P,slots:$={},slotProps:I={},TransitionComponent:A,TransitionProps:T,transitionDuration:z=s,...E}=r,[R,M]=Te({controlled:w,default:!1,name:"SpeedDial",state:"open"}),O={...r,open:R,direction:u},L=Mx(O),F=no(),D=d.useRef(0),N=d.useRef(),J=d.useRef([]);J.current=[J.current[0]];const U=d.useCallback(ot=>{J.current[0]=ot},[]),wt=qt(i,U),vt=(ot,dt)=>St=>{J.current[ot+1]=St,dt&&dt(St)},mt=ot=>{y&&y(ot);const dt=ot.key.replace("Arrow","").toLowerCase(),{current:St=dt}=N;if(ot.key==="Escape"){M(!1),J.current[0].focus(),v&&v(ot,"escapeKeyDown");return}if(sr(dt)===sr(St)&&sr(dt)!==void 0){ot.preventDefault();const gt=dt===St?1:-1,nt=wo(D.current+gt,0,J.current.length-1);J.current[nt].focus(),D.current=nt,N.current=St}};d.useEffect(()=>{R||(D.current=0,N.current=void 0)},[R]);const et=ot=>{ot.type==="mouseleave"&&C&&C(ot),ot.type==="blur"&&b&&b(ot),F.clear(),ot.type==="blur"?F.start(0,()=>{M(!1),v&&v(ot,"blur")}):(M(!1),v&&v(ot,"mouseLeave"))},rt=ot=>{l.onClick&&l.onClick(ot),F.clear(),R?(M(!1),v&&v(ot,"toggle")):(M(!0),x&&x(ot,"toggle"))},Y=ot=>{ot.type==="mouseenter"&&S&&S(ot),ot.type==="focus"&&h&&h(ot),F.clear(),R||F.start(0,()=>{M(!0),x&&x(ot,{focus:"focus",mouseenter:"mouseEnter"}[ot.type])})},at=a.replace(/^[^a-z]+|[^\w:.-]+/gi,""),ct=d.Children.toArray(c).filter(ot=>d.isValidElement(ot)),st=ct.map((ot,dt)=>{const{FabProps:{ref:St,...gt}={},tooltipPlacement:nt}=ot.props,Tt=nt||(sr(u)==="vertical"?"left":"top");return d.cloneElement(ot,{FabProps:{...gt,ref:vt(dt,St)},delay:30*(R?dt:ct.length-dt),open:R,tooltipPlacement:Tt,id:`${at}-action-${dt}`})}),ft={transition:A,...$},Z={transition:T,...I},pt={slots:ft,slotProps:Z},[it,ht]=Q("root",{elementType:Lx,externalForwardedProps:{...pt,...E},ownerState:O,ref:o,className:j(L.root,p),additionalProps:{role:"presentation"},getSlotProps:ot=>({...ot,onKeyDown:dt=>{var St;(St=ot.onKeyDown)==null||St.call(ot,dt),mt(dt)},onBlur:dt=>{var St;(St=ot.onBlur)==null||St.call(ot,dt),et(dt)},onFocus:dt=>{var St;(St=ot.onFocus)==null||St.call(ot,dt),Y(dt)},onMouseEnter:dt=>{var St;(St=ot.onMouseEnter)==null||St.call(ot,dt),Y(dt)},onMouseLeave:dt=>{var St;(St=ot.onMouseLeave)==null||St.call(ot,dt),et(dt)}})}),[Mt,tt]=Q("transition",{elementType:Ix,externalForwardedProps:pt,ownerState:O});return f.jsxs(it,{...ht,children:[f.jsx(Mt,{in:!m,timeout:z,unmountOnExit:!0,...tt,children:f.jsx(Ax,{color:"primary","aria-label":a,"aria-haspopup":"true","aria-expanded":R,"aria-controls":`${at}-actions`,...l,onClick:rt,className:j(L.fab,l.className),ref:wt,ownerState:O,children:d.isValidElement(g)&&ho(g,["SpeedDialIcon"])?d.cloneElement(g,{open:R}):g})}),f.jsx(Bx,{id:`${at}-actions`,role:"menu","aria-orientation":sr(u),className:j(L.actions,!R&&L.actionsClosed),ownerState:O,children:st})]})});function Ex(t){return V("MuiTooltip",t)}const re=K("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]);function Ox(t){return Math.round(t*1e5)/1e5}const Nx=t=>{const{classes:e,disableInteractive:o,arrow:r,touch:n,placement:s}=t,a={popper:["popper",!o&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",n&&"touch",`tooltipPlacement${B(s.split("-")[0])}`],arrow:["arrow"]};return G(a,Ex,e)},zx=k(vn,{name:"MuiTooltip",slot:"Popper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.popper,!o.disableInteractive&&e.popperInteractive,o.arrow&&e.popperArrow,!o.open&&e.popperClose]}})(W(({theme:t})=>({zIndex:(t.vars||t).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState:e})=>!e.disableInteractive,style:{pointerEvents:"auto"}},{props:({open:e})=>!e,style:{pointerEvents:"none"}},{props:({ownerState:e})=>e.arrow,style:{[`&[data-popper-placement*="bottom"] .${re.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${re.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${re.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${re.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState:e})=>e.arrow&&!e.isRtl,style:{[`&[data-popper-placement*="right"] .${re.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!!e.isRtl,style:{[`&[data-popper-placement*="right"] .${re.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!e.isRtl,style:{[`&[data-popper-placement*="left"] .${re.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!!e.isRtl,style:{[`&[data-popper-placement*="left"] .${re.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),jx=k("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.tooltip,o.touch&&e.touch,o.arrow&&e.tooltipArrow,e[`tooltipPlacement${B(o.placement.split("-")[0])}`]]}})(W(({theme:t})=>({backgroundColor:t.vars?t.vars.palette.Tooltip.bg:kt(t.palette.grey[700],.92),borderRadius:(t.vars||t).shape.borderRadius,color:(t.vars||t).palette.common.white,fontFamily:t.typography.fontFamily,padding:"4px 8px",fontSize:t.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:t.typography.fontWeightMedium,[`.${re.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${re.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${re.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${re.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState:e})=>e.arrow,style:{position:"relative",margin:0}},{props:({ownerState:e})=>e.touch,style:{padding:"8px 16px",fontSize:t.typography.pxToRem(14),lineHeight:`${Ox(16/14)}em`,fontWeight:t.typography.fontWeightRegular}},{props:({ownerState:e})=>!e.isRtl,style:{[`.${re.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${re.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState:e})=>!e.isRtl&&e.touch,style:{[`.${re.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${re.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState:e})=>!!e.isRtl,style:{[`.${re.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${re.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState:e})=>!!e.isRtl&&e.touch,style:{[`.${re.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${re.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState:e})=>e.touch,style:{[`.${re.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState:e})=>e.touch,style:{[`.${re.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),Dx=k("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(t,e)=>e.arrow})(W(({theme:t})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:t.vars?t.vars.palette.Tooltip.bg:kt(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}})));let qr=!1;const Va=new fn;let ar={x:0,y:0};function Xr(t,e){return(o,...r)=>{e&&e(o,...r),t(o,...r)}}const Fx=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTooltip"}),{arrow:n=!1,children:s,classes:a,components:i={},componentsProps:l={},describeChild:c=!1,disableFocusListener:p=!1,disableHoverListener:u=!1,disableInteractive:m=!1,disableTouchListener:g=!1,enterDelay:b=100,enterNextDelay:v=0,enterTouchDelay:h=700,followCursor:y=!1,id:S,leaveDelay:C=0,leaveTouchDelay:x=1500,onClose:w,onOpen:P,open:$,placement:I="bottom",PopperComponent:A,PopperProps:T={},slotProps:z={},slots:E={},title:R,TransitionComponent:M,TransitionProps:O,...L}=r,F=d.isValidElement(s)?s:f.jsx("span",{children:s}),D=le(),N=Ke(),[J,U]=d.useState(),[wt,vt]=d.useState(null),mt=d.useRef(!1),et=m||y,rt=no(),Y=no(),at=no(),ct=no(),[st,ft]=Te({controlled:$,default:!1,name:"Tooltip",state:"open"});let Z=st;const pt=De(S),it=d.useRef(),ht=ee(()=>{it.current!==void 0&&(document.body.style.WebkitUserSelect=it.current,it.current=void 0),ct.clear()});d.useEffect(()=>ht,[ht]);const Mt=Lt=>{Va.clear(),qr=!0,ft(!0),P&&!Z&&P(Lt)},tt=ee(Lt=>{Va.start(800+C,()=>{qr=!1}),ft(!1),w&&Z&&w(Lt),rt.start(D.transitions.duration.shortest,()=>{mt.current=!1})}),ot=Lt=>{mt.current&&Lt.type!=="touchstart"||(J&&J.removeAttribute("title"),Y.clear(),at.clear(),b||qr&&v?Y.start(qr?v:b,()=>{Mt(Lt)}):Mt(Lt))},dt=Lt=>{Y.clear(),at.start(C,()=>{tt(Lt)})},[,St]=d.useState(!1),gt=Lt=>{Ze(Lt.target)||(St(!1),dt(Lt))},nt=Lt=>{J||U(Lt.currentTarget),Ze(Lt.target)&&(St(!0),ot(Lt))},Tt=Lt=>{mt.current=!0;const ge=F.props;ge.onTouchStart&&ge.onTouchStart(Lt)},At=Lt=>{Tt(Lt),at.clear(),rt.clear(),ht(),it.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",ct.start(h,()=>{document.body.style.WebkitUserSelect=it.current,ot(Lt)})},q=Lt=>{F.props.onTouchEnd&&F.props.onTouchEnd(Lt),ht(),at.start(x,()=>{tt(Lt)})};d.useEffect(()=>{if(!Z)return;function Lt(ge){ge.key==="Escape"&&tt(ge)}return document.addEventListener("keydown",Lt),()=>{document.removeEventListener("keydown",Lt)}},[tt,Z]);const lt=qt(io(F),U,o);!R&&R!==0&&(Z=!1);const bt=d.useRef(),$t=Lt=>{const ge=F.props;ge.onMouseMove&&ge.onMouseMove(Lt),ar={x:Lt.clientX,y:Lt.clientY},bt.current&&bt.current.update()},It={},ut=typeof R=="string";c?(It.title=!Z&&ut&&!u?R:null,It["aria-describedby"]=Z?pt:null):(It["aria-label"]=ut?R:null,It["aria-labelledby"]=Z&&!ut?pt:null);const Ct={...It,...L,...F.props,className:j(L.className,F.props.className),onTouchStart:Tt,ref:lt,...y?{onMouseMove:$t}:{}},Ut={};g||(Ct.onTouchStart=At,Ct.onTouchEnd=q),u||(Ct.onMouseOver=Xr(ot,Ct.onMouseOver),Ct.onMouseLeave=Xr(dt,Ct.onMouseLeave),et||(Ut.onMouseOver=ot,Ut.onMouseLeave=dt)),p||(Ct.onFocus=Xr(nt,Ct.onFocus),Ct.onBlur=Xr(gt,Ct.onBlur),et||(Ut.onFocus=nt,Ut.onBlur=gt));const Et={...r,isRtl:N,arrow:n,disableInteractive:et,placement:I,PopperComponentProp:A,touch:mt.current},Gt=typeof z.popper=="function"?z.popper(Et):z.popper,xt=d.useMemo(()=>{var ge,yt;let Lt=[{name:"arrow",enabled:!!wt,options:{element:wt,padding:4}}];return(ge=T.popperOptions)!=null&&ge.modifiers&&(Lt=Lt.concat(T.popperOptions.modifiers)),(yt=Gt==null?void 0:Gt.popperOptions)!=null&&yt.modifiers&&(Lt=Lt.concat(Gt.popperOptions.modifiers)),{...T.popperOptions,...Gt==null?void 0:Gt.popperOptions,modifiers:Lt}},[wt,T.popperOptions,Gt==null?void 0:Gt.popperOptions]),Bt=Nx(Et),Xt=typeof z.transition=="function"?z.transition(Et):z.transition,oe={slots:{popper:i.Popper,transition:i.Transition??M,tooltip:i.Tooltip,arrow:i.Arrow,...E},slotProps:{arrow:z.arrow??l.arrow,popper:{...T,...Gt??l.popper},tooltip:z.tooltip??l.tooltip,transition:{...O,...Xt??l.transition}}},[fe,ie]=Q("popper",{elementType:zx,externalForwardedProps:oe,ownerState:Et,className:j(Bt.popper,T==null?void 0:T.className)}),[Pe,Vt]=Q("transition",{elementType:Cr,externalForwardedProps:oe,ownerState:Et}),[_t,ce]=Q("tooltip",{elementType:jx,className:Bt.tooltip,externalForwardedProps:oe,ownerState:Et}),[$e,pe]=Q("arrow",{elementType:Dx,className:Bt.arrow,externalForwardedProps:oe,ownerState:Et,ref:vt});return f.jsxs(d.Fragment,{children:[d.cloneElement(F,Ct),f.jsx(fe,{as:A??vn,placement:I,anchorEl:y?{getBoundingClientRect:()=>({top:ar.y,left:ar.x,right:ar.x,bottom:ar.y,width:0,height:0})}:J,popperRef:bt,open:J?Z:!1,id:pt,transition:!0,...Ut,...ie,popperOptions:xt,children:({TransitionProps:Lt})=>f.jsx(Pe,{timeout:D.transitions.duration.shorter,...Lt,...Vt,children:f.jsxs(_t,{...ce,children:[R,n?f.jsx($e,{...pe}):null]})})})]})});function Wx(t){return V("MuiSpeedDialAction",t)}const _r=K("MuiSpeedDialAction",["fab","fabClosed","staticTooltip","staticTooltipClosed","staticTooltipLabel","tooltipPlacementLeft","tooltipPlacementRight"]),Ux=t=>{const{open:e,tooltipPlacement:o,classes:r}=t,n={fab:["fab",!e&&"fabClosed"],staticTooltip:["staticTooltip",`tooltipPlacement${B(o)}`,!e&&"staticTooltipClosed"],staticTooltipLabel:["staticTooltipLabel"]};return G(n,Wx,r)},Hx=k(Gi,{name:"MuiSpeedDialAction",slot:"Fab",skipVariantsResolver:!1,overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.fab,!o.open&&e.fabClosed]}})(W(({theme:t})=>({margin:8,color:(t.vars||t).palette.text.secondary,backgroundColor:(t.vars||t).palette.background.paper,"&:hover":{backgroundColor:t.vars?t.vars.palette.SpeedDialAction.fabHoverBg:tn(t.palette.background.paper,.15)},transition:`${t.transitions.create("transform",{duration:t.transitions.duration.shorter})}, opacity 0.8s`,opacity:1,variants:[{props:({ownerState:e})=>!e.open,style:{opacity:0,transform:"scale(0)"}}]}))),Vx=k("span",{name:"MuiSpeedDialAction",slot:"StaticTooltip",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.staticTooltip,!o.open&&e.staticTooltipClosed,e[`tooltipPlacement${B(o.tooltipPlacement)}`]]}})(W(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",[`& .${_r.staticTooltipLabel}`]:{transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.shorter}),opacity:1},variants:[{props:({ownerState:e})=>!e.open,style:{[`& .${_r.staticTooltipLabel}`]:{opacity:0,transform:"scale(0.5)"}}},{props:{tooltipPlacement:"left"},style:{[`& .${_r.staticTooltipLabel}`]:{transformOrigin:"100% 50%",right:"100%",marginRight:8}}},{props:{tooltipPlacement:"right"},style:{[`& .${_r.staticTooltipLabel}`]:{transformOrigin:"0% 50%",left:"100%",marginLeft:8}}}]}))),Gx=k("span",{name:"MuiSpeedDialAction",slot:"StaticTooltipLabel",overridesResolver:(t,e)=>e.staticTooltipLabel})(W(({theme:t})=>({position:"absolute",...t.typography.body1,backgroundColor:(t.vars||t).palette.background.paper,borderRadius:(t.vars||t).shape.borderRadius,boxShadow:(t.vars||t).shadows[1],color:(t.vars||t).palette.text.secondary,padding:"4px 16px",wordBreak:"keep-all"}))),C1=d.forwardRef(function(e,o){var D;const r=_({props:e,name:"MuiSpeedDialAction"}),{className:n,delay:s=0,FabProps:a={},icon:i,id:l,open:c,TooltipClasses:p,tooltipOpen:u=!1,tooltipPlacement:m="left",tooltipTitle:g,slots:b={},slotProps:v={},...h}=r,y={...r,tooltipPlacement:m},S=Ux(y),C={slots:b,slotProps:{fab:a,...v,tooltip:Vo(typeof v.tooltip=="function"?v.tooltip(y):v.tooltip,{title:g,open:u,placement:m,classes:p})}},[x,w]=d.useState((D=C.slotProps.tooltip)==null?void 0:D.open),P=()=>{w(!1)},$=()=>{w(!0)},I={transitionDelay:`${s}ms`},[A,T]=Q("fab",{elementType:Hx,externalForwardedProps:C,ownerState:y,shouldForwardComponentProp:!0,className:j(S.fab,n),additionalProps:{style:I,tabIndex:-1,role:"menuitem",size:"small"}}),[z,E]=Q("tooltip",{elementType:Fx,externalForwardedProps:C,shouldForwardComponentProp:!0,ref:o,additionalProps:{id:l},ownerState:y,getSlotProps:N=>({...N,onClose:J=>{var U;(U=N.onClose)==null||U.call(N,J),P()},onOpen:J=>{var U;(U=N.onOpen)==null||U.call(N,J),$()}})}),[R,M]=Q("staticTooltip",{elementType:Vx,externalForwardedProps:C,ownerState:y,ref:o,className:S.staticTooltip,additionalProps:{id:l}}),[O,L]=Q("staticTooltipLabel",{elementType:Gx,externalForwardedProps:C,ownerState:y,className:S.staticTooltipLabel,additionalProps:{style:I,id:`${l}-label`}}),F=f.jsx(A,{...T,children:i});return E.open?f.jsxs(R,{...M,...h,children:[f.jsx(O,{...L,children:E.title}),d.cloneElement(F,{"aria-labelledby":`${l}-label`})]}):(!c&&x&&w(!1),f.jsx(z,{...E,title:E.title,open:c&&x,placement:E.placement,classes:E.classes,...h,children:F}))}),Kx=Qt(f.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");function qx(t){return V("MuiSpeedDialIcon",t)}const _e=K("MuiSpeedDialIcon",["root","icon","iconOpen","iconWithOpenIconOpen","openIcon","openIconOpen"]),Xx=t=>{const{classes:e,open:o,openIcon:r}=t;return G({root:["root"],icon:["icon",o&&"iconOpen",r&&o&&"iconWithOpenIconOpen"],openIcon:["openIcon",o&&"openIconOpen"]},qx,e)},_x=k("span",{name:"MuiSpeedDialIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${_e.icon}`]:e.icon},{[`& .${_e.icon}`]:o.open&&e.iconOpen},{[`& .${_e.icon}`]:o.open&&o.openIcon&&e.iconWithOpenIconOpen},{[`& .${_e.openIcon}`]:e.openIcon},{[`& .${_e.openIcon}`]:o.open&&e.openIconOpen},e.root]}})(W(({theme:t})=>({height:24,[`& .${_e.icon}`]:{transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.short})},[`& .${_e.openIcon}`]:{position:"absolute",transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.short}),opacity:0,transform:"rotate(-45deg)"},variants:[{props:({ownerState:e})=>e.open,style:{[`& .${_e.icon}`]:{transform:"rotate(45deg)"}}},{props:({ownerState:e})=>e.open&&e.openIcon,style:{[`& .${_e.icon}`]:{opacity:0}}},{props:({ownerState:e})=>e.open,style:{[`& .${_e.openIcon}`]:{transform:"rotate(0deg)",opacity:1}}}]}))),Yx=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSpeedDialIcon"}),{className:n,icon:s,open:a,openIcon:i,...l}=r,c=r,p=Xx(c);function u(m,g){return d.isValidElement(m)?d.cloneElement(m,{className:g}):m}return f.jsxs(_x,{className:j(p.root,n),ref:o,ownerState:c,...l,children:[i?u(i,p.openIcon):null,s?u(s,p.icon):f.jsx(Kx,{className:p.icon})]})});Yx.muiName="SpeedDialIcon";const S1=$c({createStyledComponent:k("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root}),useThemeProps:t=>_({props:t,name:"MuiStack"})}),w1=K("MuiStack",["root"]),No=d.createContext({});function R1(){return d.useContext(No)}const Yo=d.createContext({});function P1(){return d.useContext(Yo)}function Zx(t){return V("MuiStep",t)}const $1=K("MuiStep",["root","horizontal","vertical","alternativeLabel","completed"]),Qx=t=>{const{classes:e,orientation:o,alternativeLabel:r,completed:n}=t;return G({root:["root",o,r&&"alternativeLabel",n&&"completed"]},Zx,e)},Jx=k("div",{name:"MuiStep",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.completed&&e.completed]}})({variants:[{props:{orientation:"horizontal"},style:{paddingLeft:8,paddingRight:8}},{props:{alternativeLabel:!0},style:{flex:1,position:"relative"}}]}),k1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStep"}),{active:n,children:s,className:a,component:i="div",completed:l,disabled:c,expanded:p=!1,index:u,last:m,...g}=r,{activeStep:b,connector:v,alternativeLabel:h,orientation:y,nonLinear:S}=d.useContext(No);let[C=!1,x=!1,w=!1]=[n,l,c];b===u?C=n!==void 0?n:!0:!S&&b>u?x=l!==void 0?l:!0:!S&&b({index:u,last:m,expanded:p,icon:u+1,active:C,completed:x,disabled:w}),[u,m,p,C,x,w]),$={...r,active:C,orientation:y,alternativeLabel:h,completed:x,disabled:w,expanded:p,component:i},I=Qx($),A=f.jsxs(Jx,{as:i,className:j(I.root,a),ref:o,ownerState:$,...g,children:[v&&h&&u!==0?v:null,s]});return f.jsx(Yo.Provider,{value:P,children:v&&!h&&u!==0?f.jsxs(d.Fragment,{children:[v,A]}):A})}),t0=Qt(f.jsx("path",{d:"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"}),"CheckCircle"),e0=Qt(f.jsx("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning");function o0(t){return V("MuiStepIcon",t)}const zn=K("MuiStepIcon",["root","active","completed","error","text"]);var Ga;const r0=t=>{const{classes:e,active:o,completed:r,error:n}=t;return G({root:["root",o&&"active",r&&"completed",n&&"error"],text:["text"]},o0,e)},jn=k(Dl,{name:"MuiStepIcon",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),color:(t.vars||t).palette.text.disabled,[`&.${zn.completed}`]:{color:(t.vars||t).palette.primary.main},[`&.${zn.active}`]:{color:(t.vars||t).palette.primary.main},[`&.${zn.error}`]:{color:(t.vars||t).palette.error.main}}))),n0=k("text",{name:"MuiStepIcon",slot:"Text",overridesResolver:(t,e)=>e.text})(W(({theme:t})=>({fill:(t.vars||t).palette.primary.contrastText,fontSize:t.typography.caption.fontSize,fontFamily:t.typography.fontFamily}))),s0=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepIcon"}),{active:n=!1,className:s,completed:a=!1,error:i=!1,icon:l,...c}=r,p={...r,active:n,completed:a,error:i},u=r0(p);if(typeof l=="number"||typeof l=="string"){const m=j(s,u.root);return i?f.jsx(jn,{as:e0,className:m,ref:o,ownerState:p,...c}):a?f.jsx(jn,{as:t0,className:m,ref:o,ownerState:p,...c}):f.jsxs(jn,{className:m,ref:o,ownerState:p,...c,children:[Ga||(Ga=f.jsx("circle",{cx:"12",cy:"12",r:"12"})),f.jsx(n0,{className:u.text,x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",ownerState:p,children:l})]})}return l});function a0(t){return V("MuiStepLabel",t)}const vo=K("MuiStepLabel",["root","horizontal","vertical","label","active","completed","error","disabled","iconContainer","alternativeLabel","labelContainer"]),i0=t=>{const{classes:e,orientation:o,active:r,completed:n,error:s,disabled:a,alternativeLabel:i}=t;return G({root:["root",o,s&&"error",a&&"disabled",i&&"alternativeLabel"],label:["label",r&&"active",n&&"completed",s&&"error",a&&"disabled",i&&"alternativeLabel"],iconContainer:["iconContainer",r&&"active",n&&"completed",s&&"error",a&&"disabled",i&&"alternativeLabel"],labelContainer:["labelContainer",i&&"alternativeLabel"]},a0,e)},l0=k("span",{name:"MuiStepLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation]]}})({display:"flex",alignItems:"center",[`&.${vo.alternativeLabel}`]:{flexDirection:"column"},[`&.${vo.disabled}`]:{cursor:"default"},variants:[{props:{orientation:"vertical"},style:{textAlign:"left",padding:"8px 0"}}]}),c0=k("span",{name:"MuiStepLabel",slot:"Label",overridesResolver:(t,e)=>e.label})(W(({theme:t})=>({...t.typography.body2,display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),[`&.${vo.active}`]:{color:(t.vars||t).palette.text.primary,fontWeight:500},[`&.${vo.completed}`]:{color:(t.vars||t).palette.text.primary,fontWeight:500},[`&.${vo.alternativeLabel}`]:{marginTop:16},[`&.${vo.error}`]:{color:(t.vars||t).palette.error.main}}))),p0=k("span",{name:"MuiStepLabel",slot:"IconContainer",overridesResolver:(t,e)=>e.iconContainer})({flexShrink:0,display:"flex",paddingRight:8,[`&.${vo.alternativeLabel}`]:{paddingRight:0}}),d0=k("span",{name:"MuiStepLabel",slot:"LabelContainer",overridesResolver:(t,e)=>e.labelContainer})(W(({theme:t})=>({width:"100%",color:(t.vars||t).palette.text.secondary,[`&.${vo.alternativeLabel}`]:{textAlign:"center"}}))),pl=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepLabel"}),{children:n,className:s,componentsProps:a={},error:i=!1,icon:l,optional:c,slots:p={},slotProps:u={},StepIconComponent:m,StepIconProps:g,...b}=r,{alternativeLabel:v,orientation:h}=d.useContext(No),{active:y,disabled:S,completed:C,icon:x}=d.useContext(Yo),w=l||x;let P=m;w&&!P&&(P=s0);const $={...r,active:y,alternativeLabel:v,completed:C,disabled:S,error:i,orientation:h},I=i0($),A={slots:p,slotProps:{stepIcon:g,...a,...u}},[T,z]=Q("root",{elementType:l0,externalForwardedProps:{...A,...b},ownerState:$,ref:o,className:j(I.root,s)}),[E,R]=Q("label",{elementType:c0,externalForwardedProps:A,ownerState:$}),[M,O]=Q("stepIcon",{elementType:P,externalForwardedProps:A,ownerState:$});return f.jsxs(T,{...z,children:[w||M?f.jsx(p0,{className:I.iconContainer,ownerState:$,children:f.jsx(M,{completed:C,active:y,error:i,icon:w,...O})}):null,f.jsxs(d0,{className:I.labelContainer,ownerState:$,children:[n?f.jsx(E,{...R,className:j(I.label,R==null?void 0:R.className),children:n}):null,c]})]})});pl.muiName="StepLabel";function u0(t){return V("MuiStepButton",t)}const Ka=K("MuiStepButton",["root","horizontal","vertical","touchRipple"]),f0=t=>{const{classes:e,orientation:o}=t;return G({root:["root",o],touchRipple:["touchRipple"]},u0,e)},g0=k(ue,{name:"MuiStepButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Ka.touchRipple}`]:e.touchRipple},e.root,e[o.orientation]]}})({width:"100%",padding:"24px 16px",margin:"-24px -16px",boxSizing:"content-box",[`& .${Ka.touchRipple}`]:{color:"rgba(0, 0, 0, 0.3)"},variants:[{props:{orientation:"vertical"},style:{justifyContent:"flex-start",padding:"8px",margin:"-8px"}}]}),I1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepButton"}),{children:n,className:s,icon:a,optional:i,...l}=r,{disabled:c,active:p}=d.useContext(Yo),{orientation:u}=d.useContext(No),m={...r,orientation:u},g=f0(m),b={icon:a,optional:i},v=ho(n,["StepLabel"])?d.cloneElement(n,b):f.jsx(pl,{...b,children:n});return f.jsx(g0,{focusRipple:!0,disabled:c,TouchRippleProps:{className:g.touchRipple},className:j(g.root,s),ref:o,ownerState:m,"aria-current":p?"step":void 0,...l,children:v})});function m0(t){return V("MuiStepConnector",t)}const T1=K("MuiStepConnector",["root","horizontal","vertical","alternativeLabel","active","completed","disabled","line","lineHorizontal","lineVertical"]),b0=t=>{const{classes:e,orientation:o,alternativeLabel:r,active:n,completed:s,disabled:a}=t,i={root:["root",o,r&&"alternativeLabel",n&&"active",s&&"completed",a&&"disabled"],line:["line",`line${B(o)}`]};return G(i,m0,e)},v0=k("div",{name:"MuiStepConnector",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.completed&&e.completed]}})({flex:"1 1 auto",variants:[{props:{orientation:"vertical"},style:{marginLeft:12}},{props:{alternativeLabel:!0},style:{position:"absolute",top:12,left:"calc(-50% + 20px)",right:"calc(50% + 20px)"}}]}),h0=k("span",{name:"MuiStepConnector",slot:"Line",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.line,e[`line${B(o.orientation)}`]]}})(W(({theme:t})=>{const e=t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600];return{display:"block",borderColor:t.vars?t.vars.palette.StepConnector.border:e,variants:[{props:{orientation:"horizontal"},style:{borderTopStyle:"solid",borderTopWidth:1}},{props:{orientation:"vertical"},style:{borderLeftStyle:"solid",borderLeftWidth:1,minHeight:24}}]}})),y0=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepConnector"}),{className:n,...s}=r,{alternativeLabel:a,orientation:i="horizontal"}=d.useContext(No),{active:l,disabled:c,completed:p}=d.useContext(Yo),u={...r,alternativeLabel:a,orientation:i,active:l,completed:p,disabled:c},m=b0(u);return f.jsx(v0,{className:j(m.root,n),ref:o,ownerState:u,...s,children:f.jsx(h0,{className:m.line,ownerState:u})})});function x0(t){return V("MuiStepContent",t)}const M1=K("MuiStepContent",["root","last","transition"]),C0=t=>{const{classes:e,last:o}=t;return G({root:["root",o&&"last"],transition:["transition"]},x0,e)},S0=k("div",{name:"MuiStepContent",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.last&&e.last]}})(W(({theme:t})=>({marginLeft:12,paddingLeft:20,paddingRight:8,borderLeft:t.vars?`1px solid ${t.vars.palette.StepContent.border}`:`1px solid ${t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600]}`,variants:[{props:{last:!0},style:{borderLeft:"none"}}]}))),w0=k(vr,{name:"MuiStepContent",slot:"Transition",overridesResolver:(t,e)=>e.transition})({}),L1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepContent"}),{children:n,className:s,TransitionComponent:a=vr,transitionDuration:i="auto",TransitionProps:l,slots:c={},slotProps:p={},...u}=r,{orientation:m}=d.useContext(No),{active:g,last:b,expanded:v}=d.useContext(Yo),h={...r,last:b},y=C0(h);let S=i;i==="auto"&&!a.muiSupportAuto&&(S=void 0);const C={slots:c,slotProps:{transition:l,...p}},[x,w]=Q("transition",{elementType:w0,externalForwardedProps:C,ownerState:h,className:y.transition,additionalProps:{in:g||v,timeout:S,unmountOnExit:!0}});return f.jsx(S0,{className:j(y.root,s),ref:o,ownerState:h,...u,children:f.jsx(x,{as:a,...w,children:n})})});function R0(t){return V("MuiStepper",t)}const A1=K("MuiStepper",["root","horizontal","vertical","nonLinear","alternativeLabel"]),P0=t=>{const{orientation:e,nonLinear:o,alternativeLabel:r,classes:n}=t;return G({root:["root",e,o&&"nonLinear",r&&"alternativeLabel"]},R0,n)},$0=k("div",{name:"MuiStepper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.nonLinear&&e.nonLinear]}})({display:"flex",variants:[{props:{orientation:"horizontal"},style:{flexDirection:"row",alignItems:"center"}},{props:{orientation:"vertical"},style:{flexDirection:"column"}},{props:{alternativeLabel:!0},style:{alignItems:"flex-start"}}]}),k0=f.jsx(y0,{}),B1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiStepper"}),{activeStep:n=0,alternativeLabel:s=!1,children:a,className:i,component:l="div",connector:c=k0,nonLinear:p=!1,orientation:u="horizontal",...m}=r,g={...r,nonLinear:p,alternativeLabel:s,orientation:u,component:l},b=P0(g),v=d.Children.toArray(a).filter(Boolean),h=v.map((S,C)=>d.cloneElement(S,{index:C,last:C+1===v.length,...S.props})),y=d.useMemo(()=>({activeStep:n,alternativeLabel:s,connector:c,nonLinear:p,orientation:u}),[n,s,c,p,u]);return f.jsx(No.Provider,{value:y,children:f.jsx($0,{as:l,ownerState:g,className:j(b.root,i),ref:o,...m,children:h})})}),I0=k("div",{shouldForwardProp:ae})(W(({theme:t})=>({position:"fixed",top:0,left:0,bottom:0,zIndex:t.zIndex.drawer-1,variants:[{props:{anchor:"left"},style:{right:"auto"}},{props:{anchor:"right"},style:{left:"auto",right:0}},{props:{anchor:"top"},style:{bottom:"auto",right:0}},{props:{anchor:"bottom"},style:{top:"auto",bottom:0,right:0}}]}))),T0=d.forwardRef(function(e,o){const{anchor:r,classes:n={},className:s,width:a,style:i,...l}=e,c=e;return f.jsx(I0,{className:j("PrivateSwipeArea-root",n.root,n[`anchor${B(r)}`],s),ref:o,style:{[Ro(r)?"width":"height"]:a,...i},ownerState:c,...l})}),Yr=3,qa=20;let oo=null;function Dn(t,e,o){return t==="right"?o.body.offsetWidth-e[0].pageX:e[0].pageX}function Fn(t,e,o){return t==="bottom"?o.innerHeight-e[0].clientY:e[0].clientY}function ir(t,e){return t?e.clientWidth:e.clientHeight}function Xa(t,e,o,r){return Math.min(Math.max(o?e-t:r+e-t,0),r)}function M0(t,e){const o=[];for(;t&&t!==e.parentElement;){const r=me(e).getComputedStyle(t);r.getPropertyValue("position")==="absolute"||r.getPropertyValue("overflow-x")==="hidden"||(t.clientWidth>0&&t.scrollWidth>t.clientWidth||t.clientHeight>0&&t.scrollHeight>t.clientHeight)&&o.push(t),t=t.parentElement}return o}function L0({domTreeShapes:t,start:e,current:o,anchor:r}){const n={scrollPosition:{x:"scrollLeft",y:"scrollTop"},scrollLength:{x:"scrollWidth",y:"scrollHeight"},clientLength:{x:"clientWidth",y:"clientHeight"}};return t.some(s=>{let a=o>=e;(r==="top"||r==="left")&&(a=!a);const i=r==="left"||r==="right"?"x":"y",l=Math.round(s[n.scrollPosition[i]]),c=l>0,p=l+s[n.clientLength[i]]{N.current=null},[S]);const J=d.useCallback((Y,at={})=>{const{mode:ct=null,changeTransition:st=!0}=at,ft=cr(n,a),Z=["right","bottom"].includes(ft)?1:-1,pt=Ro(a),it=pt?`translate(${Z*Y}px, 0)`:`translate(0, ${Z*Y}px)`,ht=L.current.style;ht.webkitTransform=it,ht.transform=it;let Mt="";if(ct&&(Mt=n.transitions.create("all",Ge({easing:void 0,style:void 0,timeout:P},{mode:ct}))),st&&(ht.webkitTransition=Mt,ht.transition=Mt),!i&&!p){const tt=O.current.style;tt.opacity=1-Y/ir(pt,L.current),st&&(tt.webkitTransition=Mt,tt.transition=Mt)}},[a,i,p,n,P]),U=ee(Y=>{if(!D.current)return;if(oo=null,D.current=!1,Hn.flushSync(()=>{E(!1)}),!R.current.isSwiping){R.current.isSwiping=null;return}R.current.isSwiping=null;const at=cr(n,a),ct=Ro(a);let st;ct?st=Dn(at,Y.changedTouches,te(Y.currentTarget)):st=Fn(at,Y.changedTouches,me(Y.currentTarget));const ft=ct?R.current.startX:R.current.startY,Z=ir(ct,L.current),pt=Xa(st,ft,S,Z),it=pt/Z;if(Math.abs(R.current.velocity)>g&&(N.current=Math.abs((Z-pt)/R.current.velocity)*1e3),S){R.current.velocity>g||it>u?h():J(0,{mode:"exit"});return}R.current.velocity<-g||1-it>u?y():J(ir(ct,L.current),{mode:"enter"})}),wt=(Y=!1)=>{if(!z){(Y||!(l&&m))&&Hn.flushSync(()=>{E(!0)});const at=Ro(a);!S&&L.current&&J(ir(at,L.current)+(l?15:-20),{changeTransition:!1}),R.current.velocity=0,R.current.lastTime=null,R.current.lastTranslate=null,R.current.paperHit=!1,D.current=!0}},vt=ee(Y=>{if(!L.current||!D.current||oo!==null&&oo!==R.current)return;wt(!0);const at=cr(n,a),ct=Ro(a),st=Dn(at,Y.touches,te(Y.currentTarget)),ft=Fn(at,Y.touches,me(Y.currentTarget));if(S&&L.current.contains(Y.target)&&oo===null){const Mt=M0(Y.target,L.current);if(L0({domTreeShapes:Mt,start:ct?R.current.startX:R.current.startY,current:ct?st:ft,anchor:a})){oo=!0;return}oo=R.current}if(R.current.isSwiping==null){const Mt=Math.abs(st-R.current.startX),tt=Math.abs(ft-R.current.startY),ot=ct?Mt>tt&&Mt>Yr:tt>Mt&&tt>Yr;if(ot&&Y.cancelable&&Y.preventDefault(),ot===!0||(ct?tt>Yr:Mt>Yr)){if(R.current.isSwiping=ot,!ot){U(Y);return}R.current.startX=st,R.current.startY=ft,!l&&!S&&(ct?R.current.startX-=qa:R.current.startY-=qa)}}if(!R.current.isSwiping)return;const Z=ir(ct,L.current);let pt=ct?R.current.startX:R.current.startY;S&&!R.current.paperHit&&(pt=Math.min(pt,Z));const it=Xa(ct?st:ft,pt,S,Z);if(S)if(R.current.paperHit)it===0&&(R.current.startX=st,R.current.startY=ft);else if(ct?st{var Z;if(Y.defaultPrevented||Y.defaultMuiPrevented||S&&(p||!O.current.contains(Y.target))&&!L.current.contains(Y.target))return;const at=cr(n,a),ct=Ro(a),st=Dn(at,Y.touches,te(Y.currentTarget)),ft=Fn(at,Y.touches,me(Y.currentTarget));if(!S){if(c||!(Y.target===M.current||(Z=L.current)!=null&&Z.contains(Y.target)&&(typeof m=="function"?m(Y,M.current,L.current):m)))return;if(ct){if(st>w)return}else if(ft>w)return}Y.defaultMuiPrevented=!0,oo=null,R.current.startX=st,R.current.startY=ft,wt()});d.useEffect(()=>{if($==="temporary"){const Y=te(L.current);return Y.addEventListener("touchstart",mt),Y.addEventListener("touchmove",vt,{passive:!S}),Y.addEventListener("touchend",U),()=>{Y.removeEventListener("touchstart",mt),Y.removeEventListener("touchmove",vt,{passive:!S}),Y.removeEventListener("touchend",U)}}},[$,S,mt,vt,U]),d.useEffect(()=>()=>{oo===R.current&&(oo=null)},[]),d.useEffect(()=>{S||E(!1)},[S]);const[et,rt]=Q("swipeArea",{ref:M,elementType:T0,ownerState:r,externalForwardedProps:{slots:I,slotProps:{swipeArea:x,...A}},additionalProps:{width:w,anchor:a}});return f.jsxs(d.Fragment,{children:[f.jsx(_m,{open:$==="temporary"&&z?!0:S,variant:$,ModalProps:{BackdropProps:{...b,ref:O},...$==="temporary"&&{keepMounted:!0},...v},hideBackdrop:p,anchor:a,transitionDuration:N.current||P,onClose:h,ref:o,slots:I,slotProps:{...A,backdrop:Vo(A.backdrop??b,{ref:O}),paper:Vo(A.paper??C,{style:{pointerEvents:$==="temporary"&&!S&&!m?"none":""},ref:F})},...T}),!c&&$==="temporary"&&f.jsx(jh,{children:f.jsx(et,{...rt})})]})});function B0(t){return V("MuiSwitch",t)}const xe=K("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),E0=t=>{const{classes:e,edge:o,size:r,color:n,checked:s,disabled:a}=t,i={root:["root",o&&`edge${B(o)}`,`size${B(r)}`],switchBase:["switchBase",`color${B(n)}`,s&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=G(i,B0,e);return{...e,...l}},O0=k("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.edge&&e[`edge${B(o.edge)}`],e[`size${B(o.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,[`& .${xe.thumb}`]:{width:16,height:16},[`& .${xe.switchBase}`]:{padding:4,[`&.${xe.checked}`]:{transform:"translateX(16px)"}}}}]}),N0=k($s,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.switchBase,{[`& .${xe.input}`]:e.input},o.color!=="default"&&e[`color${B(o.color)}`]]}})(W(({theme:t})=>({position:"absolute",top:0,left:0,zIndex:1,color:t.vars?t.vars.palette.Switch.defaultColor:`${t.palette.mode==="light"?t.palette.common.white:t.palette.grey[300]}`,transition:t.transitions.create(["left","transform"],{duration:t.transitions.duration.shortest}),[`&.${xe.checked}`]:{transform:"translateX(20px)"},[`&.${xe.disabled}`]:{color:t.vars?t.vars.palette.Switch.defaultDisabledColor:`${t.palette.mode==="light"?t.palette.grey[100]:t.palette.grey[600]}`},[`&.${xe.checked} + .${xe.track}`]:{opacity:.5},[`&.${xe.disabled} + .${xe.track}`]:{opacity:t.vars?t.vars.opacity.switchTrackDisabled:`${t.palette.mode==="light"?.12:.2}`},[`& .${xe.input}`]:{left:"-100%",width:"300%"}})),W(({theme:t})=>({"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(t.palette).filter(jt(["light"])).map(([e])=>({props:{color:e},style:{[`&.${xe.checked}`]:{color:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette[e].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${xe.disabled}`]:{color:t.vars?t.vars.palette.Switch[`${e}DisabledColor`]:`${t.palette.mode==="light"?Ao(t.palette[e].main,.62):Lo(t.palette[e].main,.55)}`}},[`&.${xe.checked} + .${xe.track}`]:{backgroundColor:(t.vars||t).palette[e].main}}}))]}))),z0=k("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(t,e)=>e.track})(W(({theme:t})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:t.vars?t.vars.palette.common.onBackground:`${t.palette.mode==="light"?t.palette.common.black:t.palette.common.white}`,opacity:t.vars?t.vars.opacity.switchTrack:`${t.palette.mode==="light"?.38:.3}`}))),j0=k("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(t,e)=>e.thumb})(W(({theme:t})=>({boxShadow:(t.vars||t).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}))),O1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiSwitch"}),{className:n,color:s="primary",edge:a=!1,size:i="medium",sx:l,slots:c={},slotProps:p={},...u}=r,m={...r,color:s,edge:a,size:i},g=E0(m),b={slots:c,slotProps:p},[v,h]=Q("root",{className:j(g.root,n),elementType:O0,externalForwardedProps:b,ownerState:m,additionalProps:{sx:l}}),[y,S]=Q("thumb",{className:g.thumb,elementType:j0,externalForwardedProps:b,ownerState:m}),C=f.jsx(y,{...S}),[x,w]=Q("track",{className:g.track,elementType:z0,externalForwardedProps:b,ownerState:m});return f.jsxs(v,{...h,children:[f.jsx(N0,{type:"checkbox",icon:C,checkedIcon:C,ref:o,ownerState:m,...u,classes:{...g,root:g.switchBase},slots:{...c.switchBase&&{root:c.switchBase},...c.input&&{input:c.input}},slotProps:{...p.switchBase&&{root:typeof p.switchBase=="function"?p.switchBase(m):p.switchBase},...p.input&&{input:typeof p.input=="function"?p.input(m):p.input}}}),f.jsx(x,{...w})]})});function D0(t){return V("MuiTab",t)}const Be=K("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper","icon"]),F0=t=>{const{classes:e,textColor:o,fullWidth:r,wrapped:n,icon:s,label:a,selected:i,disabled:l}=t,c={root:["root",s&&a&&"labelIcon",`textColor${B(o)}`,r&&"fullWidth",n&&"wrapped",i&&"selected",l&&"disabled"],icon:["iconWrapper","icon"]};return G(c,D0,e)},W0=k(ue,{name:"MuiTab",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.label&&o.icon&&e.labelIcon,e[`textColor${B(o.textColor)}`],o.fullWidth&&e.fullWidth,o.wrapped&&e.wrapped,{[`& .${Be.iconWrapper}`]:e.iconWrapper},{[`& .${Be.icon}`]:e.icon}]}})(W(({theme:t})=>({...t.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:e})=>e.label&&(e.iconPosition==="top"||e.iconPosition==="bottom"),style:{flexDirection:"column"}},{props:({ownerState:e})=>e.label&&e.iconPosition!=="top"&&e.iconPosition!=="bottom",style:{flexDirection:"row"}},{props:({ownerState:e})=>e.icon&&e.label,style:{minHeight:72,paddingTop:9,paddingBottom:9}},{props:({ownerState:e,iconPosition:o})=>e.icon&&e.label&&o==="top",style:{[`& > .${Be.icon}`]:{marginBottom:6}}},{props:({ownerState:e,iconPosition:o})=>e.icon&&e.label&&o==="bottom",style:{[`& > .${Be.icon}`]:{marginTop:6}}},{props:({ownerState:e,iconPosition:o})=>e.icon&&e.label&&o==="start",style:{[`& > .${Be.icon}`]:{marginRight:t.spacing(1)}}},{props:({ownerState:e,iconPosition:o})=>e.icon&&e.label&&o==="end",style:{[`& > .${Be.icon}`]:{marginLeft:t.spacing(1)}}},{props:{textColor:"inherit"},style:{color:"inherit",opacity:.6,[`&.${Be.selected}`]:{opacity:1},[`&.${Be.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity}}},{props:{textColor:"primary"},style:{color:(t.vars||t).palette.text.secondary,[`&.${Be.selected}`]:{color:(t.vars||t).palette.primary.main},[`&.${Be.disabled}`]:{color:(t.vars||t).palette.text.disabled}}},{props:{textColor:"secondary"},style:{color:(t.vars||t).palette.text.secondary,[`&.${Be.selected}`]:{color:(t.vars||t).palette.secondary.main},[`&.${Be.disabled}`]:{color:(t.vars||t).palette.text.disabled}}},{props:({ownerState:e})=>e.fullWidth,style:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"}},{props:({ownerState:e})=>e.wrapped,style:{fontSize:t.typography.pxToRem(12)}}]}))),N1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTab"}),{className:n,disabled:s=!1,disableFocusRipple:a=!1,fullWidth:i,icon:l,iconPosition:c="top",indicator:p,label:u,onChange:m,onClick:g,onFocus:b,selected:v,selectionFollowsFocus:h,textColor:y="inherit",value:S,wrapped:C=!1,...x}=r,w={...r,disabled:s,disableFocusRipple:a,selected:v,icon:!!l,iconPosition:c,label:!!u,fullWidth:i,textColor:y,wrapped:C},P=F0(w),$=l&&u&&d.isValidElement(l)?d.cloneElement(l,{className:j(P.icon,l.props.className)}):l,I=T=>{!v&&m&&m(T,S),g&&g(T)},A=T=>{h&&!v&&m&&m(T,S),b&&b(T)};return f.jsxs(W0,{focusRipple:!a,className:j(P.root,n),ref:o,role:"tab","aria-selected":v,disabled:s,onClick:I,onFocus:A,ownerState:w,tabIndex:v?0:-1,...x,children:[c==="top"||c==="start"?f.jsxs(d.Fragment,{children:[$,u]}):f.jsxs(d.Fragment,{children:[u,$]}),p]})}),dl=d.createContext();function U0(t){return V("MuiTable",t)}const z1=K("MuiTable",["root","stickyHeader"]),H0=t=>{const{classes:e,stickyHeader:o}=t;return G({root:["root",o&&"stickyHeader"]},U0,e)},V0=k("table",{name:"MuiTable",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.stickyHeader&&e.stickyHeader]}})(W(({theme:t})=>({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...t.typography.body2,padding:t.spacing(2),color:(t.vars||t).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:({ownerState:e})=>e.stickyHeader,style:{borderCollapse:"separate"}}]}))),_a="table",j1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTable"}),{className:n,component:s=_a,padding:a="normal",size:i="medium",stickyHeader:l=!1,...c}=r,p={...r,component:s,padding:a,size:i,stickyHeader:l},u=H0(p),m=d.useMemo(()=>({padding:a,size:i,stickyHeader:l}),[a,i,l]);return f.jsx(dl.Provider,{value:m,children:f.jsx(V0,{as:s,role:s===_a?null:"table",ref:o,className:j(u.root,n),ownerState:p,...c})})}),Ir=d.createContext();function G0(t){return V("MuiTableBody",t)}const D1=K("MuiTableBody",["root"]),K0=t=>{const{classes:e}=t;return G({root:["root"]},G0,e)},q0=k("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-row-group"}),X0={variant:"body"},Ya="tbody",F1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableBody"}),{className:n,component:s=Ya,...a}=r,i={...r,component:s},l=K0(i);return f.jsx(Ir.Provider,{value:X0,children:f.jsx(q0,{className:j(l.root,n),as:s,ref:o,role:s===Ya?null:"rowgroup",ownerState:i,...a})})});function _0(t){return V("MuiTableCell",t)}const Y0=K("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),Z0=t=>{const{classes:e,variant:o,align:r,padding:n,size:s,stickyHeader:a}=t,i={root:["root",o,a&&"stickyHeader",r!=="inherit"&&`align${B(r)}`,n!=="normal"&&`padding${B(n)}`,`size${B(s)}`]};return G(i,_0,e)},Q0=k("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${B(o.size)}`],o.padding!=="normal"&&e[`padding${B(o.padding)}`],o.align!=="inherit"&&e[`align${B(o.align)}`],o.stickyHeader&&e.stickyHeader]}})(W(({theme:t})=>({...t.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:t.vars?`1px solid ${t.vars.palette.TableCell.border}`:`1px solid + ${t.palette.mode==="light"?Ao(kt(t.palette.divider,1),.88):Lo(kt(t.palette.divider,1),.68)}`,textAlign:"left",padding:16,variants:[{props:{variant:"head"},style:{color:(t.vars||t).palette.text.primary,lineHeight:t.typography.pxToRem(24),fontWeight:t.typography.fontWeightMedium}},{props:{variant:"body"},style:{color:(t.vars||t).palette.text.primary}},{props:{variant:"footer"},style:{color:(t.vars||t).palette.text.secondary,lineHeight:t.typography.pxToRem(21),fontSize:t.typography.pxToRem(12)}},{props:{size:"small"},style:{padding:"6px 16px",[`&.${Y0.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:e})=>e.stickyHeader,style:{position:"sticky",top:0,zIndex:2,backgroundColor:(t.vars||t).palette.background.default}}]}))),cs=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableCell"}),{align:n="inherit",className:s,component:a,padding:i,scope:l,size:c,sortDirection:p,variant:u,...m}=r,g=d.useContext(dl),b=d.useContext(Ir),v=b&&b.variant==="head";let h;a?h=a:h=v?"th":"td";let y=l;h==="td"?y=void 0:!y&&v&&(y="col");const S=u||b&&b.variant,C={...r,align:n,component:h,padding:i||(g&&g.padding?g.padding:"normal"),size:c||(g&&g.size?g.size:"medium"),sortDirection:p,stickyHeader:S==="head"&&g&&g.stickyHeader,variant:S},x=Z0(C);let w=null;return p&&(w=p==="asc"?"ascending":"descending"),f.jsx(Q0,{as:h,ref:o,className:j(x.root,s),"aria-sort":w,scope:y,ownerState:C,...m})});function J0(t){return V("MuiTableContainer",t)}const W1=K("MuiTableContainer",["root"]),tC=t=>{const{classes:e}=t;return G({root:["root"]},J0,e)},eC=k("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(t,e)=>e.root})({width:"100%",overflowX:"auto"}),U1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableContainer"}),{className:n,component:s="div",...a}=r,i={...r,component:s},l=tC(i);return f.jsx(eC,{ref:o,as:s,className:j(l.root,n),ownerState:i,...a})});function oC(t){return V("MuiTableFooter",t)}const H1=K("MuiTableFooter",["root"]),rC=t=>{const{classes:e}=t;return G({root:["root"]},oC,e)},nC=k("tfoot",{name:"MuiTableFooter",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-footer-group"}),sC={variant:"footer"},Za="tfoot",V1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableFooter"}),{className:n,component:s=Za,...a}=r,i={...r,component:s},l=rC(i);return f.jsx(Ir.Provider,{value:sC,children:f.jsx(nC,{as:s,className:j(l.root,n),ref:o,role:s===Za?null:"rowgroup",ownerState:i,...a})})});function aC(t){return V("MuiTableHead",t)}const G1=K("MuiTableHead",["root"]),iC=t=>{const{classes:e}=t;return G({root:["root"]},aC,e)},lC=k("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-header-group"}),cC={variant:"head"},Qa="thead",K1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableHead"}),{className:n,component:s=Qa,...a}=r,i={...r,component:s},l=iC(i);return f.jsx(Ir.Provider,{value:cC,children:f.jsx(lC,{as:s,className:j(l.root,n),ref:o,role:s===Qa?null:"rowgroup",ownerState:i,...a})})});function pC(t){return V("MuiToolbar",t)}const q1=K("MuiToolbar",["root","gutters","regular","dense"]),dC=t=>{const{classes:e,disableGutters:o,variant:r}=t;return G({root:["root",!o&&"gutters",r]},pC,e)},uC=k("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableGutters&&e.gutters,e[o.variant]]}})(W(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",variants:[{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:t.spacing(2),paddingRight:t.spacing(2),[t.breakpoints.up("sm")]:{paddingLeft:t.spacing(3),paddingRight:t.spacing(3)}}},{props:{variant:"dense"},style:{minHeight:48}},{props:{variant:"regular"},style:t.mixins.toolbar}]}))),fC=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiToolbar"}),{className:n,component:s="div",disableGutters:a=!1,variant:i="regular",...l}=r,c={...r,component:s,disableGutters:a,variant:i},p=dC(c);return f.jsx(uC,{as:s,className:j(p.root,n),ref:o,ownerState:c,...l})}),ul=Qt(f.jsx("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),fl=Qt(f.jsx("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight"),gC=d.forwardRef(function(e,o){const{backIconButtonProps:r,count:n,disabled:s=!1,getItemAriaLabel:a,nextIconButtonProps:i,onPageChange:l,page:c,rowsPerPage:p,showFirstButton:u,showLastButton:m,slots:g={},slotProps:b={},...v}=e,h=Ke(),y=U=>{l(U,0)},S=U=>{l(U,c-1)},C=U=>{l(U,c+1)},x=U=>{l(U,Math.max(0,Math.ceil(n/p)-1))},w=g.firstButton??$o,P=g.lastButton??$o,$=g.nextButton??$o,I=g.previousButton??$o,A=g.firstButtonIcon??ol,T=g.lastButtonIcon??rl,z=g.nextButtonIcon??fl,E=g.previousButtonIcon??ul,R=h?P:w,M=h?$:I,O=h?I:$,L=h?w:P,F=h?b.lastButton:b.firstButton,D=h?b.nextButton:b.previousButton,N=h?b.previousButton:b.nextButton,J=h?b.firstButton:b.lastButton;return f.jsxs("div",{ref:o,...v,children:[u&&f.jsx(R,{onClick:y,disabled:s||c===0,"aria-label":a("first",c),title:a("first",c),...F,children:h?f.jsx(T,{...b.lastButtonIcon}):f.jsx(A,{...b.firstButtonIcon})}),f.jsx(M,{onClick:S,disabled:s||c===0,color:"inherit","aria-label":a("previous",c),title:a("previous",c),...D??r,children:h?f.jsx(z,{...b.nextButtonIcon}):f.jsx(E,{...b.previousButtonIcon})}),f.jsx(O,{onClick:C,disabled:s||(n!==-1?c>=Math.ceil(n/p)-1:!1),color:"inherit","aria-label":a("next",c),title:a("next",c),...N??i,children:h?f.jsx(E,{...b.previousButtonIcon}):f.jsx(z,{...b.nextButtonIcon})}),m&&f.jsx(L,{onClick:x,disabled:s||c>=Math.ceil(n/p)-1,"aria-label":a("last",c),title:a("last",c),...J,children:h?f.jsx(A,{...b.firstButtonIcon}):f.jsx(T,{...b.lastButtonIcon})})]})});function mC(t){return V("MuiTablePagination",t)}const mr=K("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]);var Ja;const bC=k(cs,{name:"MuiTablePagination",slot:"Root",overridesResolver:(t,e)=>e.root})(W(({theme:t})=>({overflow:"auto",color:(t.vars||t).palette.text.primary,fontSize:t.typography.pxToRem(14),"&:last-child":{padding:0}}))),vC=k(fC,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:(t,e)=>({[`& .${mr.actions}`]:e.actions,...e.toolbar})})(W(({theme:t})=>({minHeight:52,paddingRight:2,[`${t.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[t.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${mr.actions}`]:{flexShrink:0,marginLeft:20}}))),hC=k("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:(t,e)=>e.spacer})({flex:"1 1 100%"}),yC=k("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:(t,e)=>e.selectLabel})(W(({theme:t})=>({...t.typography.body2,flexShrink:0}))),xC=k(Bs,{name:"MuiTablePagination",slot:"Select",overridesResolver:(t,e)=>({[`& .${mr.selectIcon}`]:e.selectIcon,[`& .${mr.select}`]:e.select,...e.input,...e.selectRoot})})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${mr.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),CC=k(Ph,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:(t,e)=>e.menuItem})({}),SC=k("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:(t,e)=>e.displayedRows})(W(({theme:t})=>({...t.typography.body2,flexShrink:0})));function wC({from:t,to:e,count:o}){return`${t}–${e} of ${o!==-1?o:`more than ${e}`}`}function RC(t){return`Go to ${t} page`}const PC=t=>{const{classes:e}=t;return G({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},mC,e)},X1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTablePagination"}),{ActionsComponent:n=gC,backIconButtonProps:s,colSpan:a,component:i=cs,count:l,disabled:c=!1,getItemAriaLabel:p=RC,labelDisplayedRows:u=wC,labelRowsPerPage:m="Rows per page:",nextIconButtonProps:g,onPageChange:b,onRowsPerPageChange:v,page:h,rowsPerPage:y,rowsPerPageOptions:S=[10,25,50,100],SelectProps:C={},showFirstButton:x=!1,showLastButton:w=!1,slotProps:P={},slots:$={},...I}=r,A=r,T=PC(A),z=(P==null?void 0:P.select)??C,E=z.native?"option":CC;let R;(i===cs||i==="td")&&(R=a||1e3);const M=De(z.id),O=De(z.labelId),L=()=>l===-1?(h+1)*y:y===-1?l:Math.min(l,(h+1)*y),F={slots:$,slotProps:P},[D,N]=Q("root",{ref:o,className:T.root,elementType:bC,externalForwardedProps:{...F,component:i,...I},ownerState:A,additionalProps:{colSpan:R}}),[J,U]=Q("toolbar",{className:T.toolbar,elementType:vC,externalForwardedProps:F,ownerState:A}),[wt,vt]=Q("spacer",{className:T.spacer,elementType:hC,externalForwardedProps:F,ownerState:A}),[mt,et]=Q("selectLabel",{className:T.selectLabel,elementType:yC,externalForwardedProps:F,ownerState:A,additionalProps:{id:O}}),[rt,Y]=Q("select",{className:T.select,elementType:xC,externalForwardedProps:F,ownerState:A}),[at,ct]=Q("menuItem",{className:T.menuItem,elementType:E,externalForwardedProps:F,ownerState:A}),[st,ft]=Q("displayedRows",{className:T.displayedRows,elementType:SC,externalForwardedProps:F,ownerState:A});return f.jsx(D,{...N,children:f.jsxs(J,{...U,children:[f.jsx(wt,{...vt}),S.length>1&&f.jsx(mt,{...et,children:m}),S.length>1&&f.jsx(rt,{variant:"standard",...!z.variant&&{input:Ja||(Ja=f.jsx(wn,{}))},value:y,onChange:v,id:M,labelId:O,...z,classes:{...z.classes,root:j(T.input,T.selectRoot,(z.classes||{}).root),select:j(T.select,(z.classes||{}).select),icon:j(T.selectIcon,(z.classes||{}).icon)},disabled:c,...Y,children:S.map(Z=>d.createElement(at,{...ct,key:Z.label?Z.label:Z,value:Z.value?Z.value:Z},Z.label?Z.label:Z))}),f.jsx(st,{...ft,children:u({from:l===0?0:h*y+1,to:L(),count:l===-1?-1:l,page:h})}),f.jsx(n,{className:T.actions,backIconButtonProps:s,count:l,nextIconButtonProps:g,onPageChange:b,page:h,rowsPerPage:y,showFirstButton:x,showLastButton:w,slotProps:P.actions,slots:$.actions,getItemAriaLabel:p,disabled:c})]})})});function $C(t){return V("MuiTableRow",t)}const ti=K("MuiTableRow",["root","selected","hover","head","footer"]),kC=t=>{const{classes:e,selected:o,hover:r,head:n,footer:s}=t;return G({root:["root",o&&"selected",r&&"hover",n&&"head",s&&"footer"]},$C,e)},IC=k("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.head&&e.head,o.footer&&e.footer]}})(W(({theme:t})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${ti.hover}:hover`]:{backgroundColor:(t.vars||t).palette.action.hover},[`&.${ti.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.primary.main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity)}}}))),ei="tr",_1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableRow"}),{className:n,component:s=ei,hover:a=!1,selected:i=!1,...l}=r,c=d.useContext(Ir),p={...r,component:s,hover:a,selected:i,head:c&&c.variant==="head",footer:c&&c.variant==="footer"},u=kC(p);return f.jsx(IC,{as:s,ref:o,className:j(u.root,n),role:s===ei?null:"row",ownerState:p,...l})}),TC=Qt(f.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward");function MC(t){return V("MuiTableSortLabel",t)}const Wn=K("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc","directionDesc","directionAsc"]),LC=t=>{const{classes:e,direction:o,active:r}=t,n={root:["root",r&&"active",`direction${B(o)}`],icon:["icon",`iconDirection${B(o)}`]};return G(n,MC,e)},AC=k(ue,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.active&&e.active]}})(W(({theme:t})=>({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:(t.vars||t).palette.text.secondary},"&:hover":{color:(t.vars||t).palette.text.secondary,[`& .${Wn.icon}`]:{opacity:.5}},[`&.${Wn.active}`]:{color:(t.vars||t).palette.text.primary,[`& .${Wn.icon}`]:{opacity:1,color:(t.vars||t).palette.text.secondary}}}))),BC=k("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,e[`iconDirection${B(o.direction)}`]]}})(W(({theme:t})=>({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:t.transitions.create(["opacity","transform"],{duration:t.transitions.duration.shorter}),userSelect:"none",variants:[{props:{direction:"desc"},style:{transform:"rotate(0deg)"}},{props:{direction:"asc"},style:{transform:"rotate(180deg)"}}]}))),Y1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTableSortLabel"}),{active:n=!1,children:s,className:a,direction:i="asc",hideSortIcon:l=!1,IconComponent:c=TC,slots:p={},slotProps:u={},...m}=r,g={...r,active:n,direction:i,hideSortIcon:l,IconComponent:c},b=LC(g),v={slots:p,slotProps:u},[h,y]=Q("root",{elementType:AC,externalForwardedProps:v,ownerState:g,className:j(b.root,a),ref:o}),[S,C]=Q("icon",{elementType:BC,externalForwardedProps:v,ownerState:g,className:b.icon});return f.jsxs(h,{disableRipple:!0,component:"span",...y,...m,children:[s,l&&!n?null:f.jsx(S,{as:c,...C})]})});function EC(t){return(1+Math.sin(Math.PI*t-Math.PI/2))/2}function OC(t,e,o,r={},n=()=>{}){const{ease:s=EC,duration:a=300}=r;let i=null;const l=e[t];let c=!1;const p=()=>{c=!0},u=m=>{if(c){n(new Error("Animation cancelled"));return}i===null&&(i=m);const g=Math.min(1,(m-i)/a);if(e[t]=s(g)*(o-l)+l,g>=1){requestAnimationFrame(()=>{n(null)});return}requestAnimationFrame(u)};return l===o?(n(new Error("Element already at target position")),p):(requestAnimationFrame(u),p)}const NC={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function zC(t){const{onChange:e,...o}=t,r=d.useRef(),n=d.useRef(null),s=()=>{r.current=n.current.offsetHeight-n.current.clientHeight};return be(()=>{const a=Pr(()=>{const l=r.current;s(),l!==r.current&&e(r.current)}),i=me(n.current);return i.addEventListener("resize",a),()=>{a.clear(),i.removeEventListener("resize",a)}},[e]),d.useEffect(()=>{s(),e(r.current)},[e]),f.jsx("div",{style:NC,...o,ref:n})}function jC(t){return V("MuiTabScrollButton",t)}const DC=K("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),FC=t=>{const{classes:e,orientation:o,disabled:r}=t;return G({root:["root",o,r&&"disabled"]},jC,e)},WC=k(ue,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.orientation&&e[o.orientation]]}})({width:40,flexShrink:0,opacity:.8,[`&.${DC.disabled}`]:{opacity:0},variants:[{props:{orientation:"vertical"},style:{width:"100%",height:40,"& svg":{transform:"var(--TabScrollButton-svgRotate)"}}}]}),UC=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTabScrollButton"}),{className:n,slots:s={},slotProps:a={},direction:i,orientation:l,disabled:c,...p}=r,u=Ke(),m={isRtl:u,...r},g=FC(m),b=s.StartScrollButtonIcon??ul,v=s.EndScrollButtonIcon??fl,h=Ce({elementType:b,externalSlotProps:a.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m}),y=Ce({elementType:v,externalSlotProps:a.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m});return f.jsx(WC,{component:"div",className:j(g.root,n),ref:o,role:null,ownerState:m,tabIndex:null,...p,style:{...p.style,...l==="vertical"&&{"--TabScrollButton-svgRotate":`rotate(${u?-90:90}deg)`}},children:i==="left"?f.jsx(b,{...h}):f.jsx(v,{...y})})});function HC(t){return V("MuiTabs",t)}const Un=K("MuiTabs",["root","vertical","list","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),oi=(t,e)=>t===e?t.firstChild:e&&e.nextElementSibling?e.nextElementSibling:t.firstChild,ri=(t,e)=>t===e?t.lastChild:e&&e.previousElementSibling?e.previousElementSibling:t.lastChild,Zr=(t,e,o)=>{let r=!1,n=o(t,e);for(;n;){if(n===t.firstChild){if(r)return;r=!0}const s=n.disabled||n.getAttribute("aria-disabled")==="true";if(!n.hasAttribute("tabindex")||s)n=o(t,n);else{n.focus();return}}},VC=t=>{const{vertical:e,fixed:o,hideScrollbar:r,scrollableX:n,scrollableY:s,centered:a,scrollButtonsHideMobile:i,classes:l}=t;return G({root:["root",e&&"vertical"],scroller:["scroller",o&&"fixed",r&&"hideScrollbar",n&&"scrollableX",s&&"scrollableY"],list:["list","flexContainer",e&&"flexContainerVertical",e&&"vertical",a&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",i&&"scrollButtonsHideMobile"],scrollableX:[n&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]},HC,l)},GC=k("div",{name:"MuiTabs",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Un.scrollButtons}`]:e.scrollButtons},{[`& .${Un.scrollButtons}`]:o.scrollButtonsHideMobile&&e.scrollButtonsHideMobile},e.root,o.vertical&&e.vertical]}})(W(({theme:t})=>({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex",variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:"column"}},{props:({ownerState:e})=>e.scrollButtonsHideMobile,style:{[`& .${Un.scrollButtons}`]:{[t.breakpoints.down("sm")]:{display:"none"}}}}]}))),KC=k("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.scroller,o.fixed&&e.fixed,o.hideScrollbar&&e.hideScrollbar,o.scrollableX&&e.scrollableX,o.scrollableY&&e.scrollableY]}})({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap",variants:[{props:({ownerState:t})=>t.fixed,style:{overflowX:"hidden",width:"100%"}},{props:({ownerState:t})=>t.hideScrollbar,style:{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}},{props:({ownerState:t})=>t.scrollableX,style:{overflowX:"auto",overflowY:"hidden"}},{props:({ownerState:t})=>t.scrollableY,style:{overflowY:"auto",overflowX:"hidden"}}]}),qC=k("div",{name:"MuiTabs",slot:"List",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.list,e.flexContainer,o.vertical&&e.flexContainerVertical,o.centered&&e.centered]}})({display:"flex",variants:[{props:({ownerState:t})=>t.vertical,style:{flexDirection:"column"}},{props:({ownerState:t})=>t.centered,style:{justifyContent:"center"}}]}),XC=k("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(t,e)=>e.indicator})(W(({theme:t})=>({position:"absolute",height:2,bottom:0,width:"100%",transition:t.transitions.create(),variants:[{props:{indicatorColor:"primary"},style:{backgroundColor:(t.vars||t).palette.primary.main}},{props:{indicatorColor:"secondary"},style:{backgroundColor:(t.vars||t).palette.secondary.main}},{props:({ownerState:e})=>e.vertical,style:{height:"100%",width:2,right:0}}]}))),_C=k(zC)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),ni={},Z1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTabs"}),n=le(),s=Ke(),{"aria-label":a,"aria-labelledby":i,action:l,centered:c=!1,children:p,className:u,component:m="div",allowScrollButtonsMobile:g=!1,indicatorColor:b="primary",onChange:v,orientation:h="horizontal",ScrollButtonComponent:y,scrollButtons:S="auto",selectionFollowsFocus:C,slots:x={},slotProps:w={},TabIndicatorProps:P={},TabScrollButtonProps:$={},textColor:I="primary",value:A,variant:T="standard",visibleScrollbar:z=!1,...E}=r,R=T==="scrollable",M=h==="vertical",O=M?"scrollTop":"scrollLeft",L=M?"top":"left",F=M?"bottom":"right",D=M?"clientHeight":"clientWidth",N=M?"height":"width",J={...r,component:m,allowScrollButtonsMobile:g,indicatorColor:b,orientation:h,vertical:M,scrollButtons:S,textColor:I,variant:T,visibleScrollbar:z,fixed:!R,hideScrollbar:R&&!z,scrollableX:R&&!M,scrollableY:R&&M,centered:c&&!R,scrollButtonsHideMobile:!g},U=VC(J),wt=Ce({elementType:x.StartScrollButtonIcon,externalSlotProps:w.startScrollButtonIcon,ownerState:J}),vt=Ce({elementType:x.EndScrollButtonIcon,externalSlotProps:w.endScrollButtonIcon,ownerState:J}),[mt,et]=d.useState(!1),[rt,Y]=d.useState(ni),[at,ct]=d.useState(!1),[st,ft]=d.useState(!1),[Z,pt]=d.useState(!1),[it,ht]=d.useState({overflow:"hidden",scrollbarWidth:0}),Mt=new Map,tt=d.useRef(null),ot=d.useRef(null),dt={slots:x,slotProps:{indicator:P,scrollButton:$,...w}},St=()=>{const yt=tt.current;let Pt;if(yt){const Ft=yt.getBoundingClientRect();Pt={clientWidth:yt.clientWidth,scrollLeft:yt.scrollLeft,scrollTop:yt.scrollTop,scrollWidth:yt.scrollWidth,top:Ft.top,bottom:Ft.bottom,left:Ft.left,right:Ft.right}}let Dt;if(yt&&A!==!1){const Ft=ot.current.children;if(Ft.length>0){const Zt=Ft[Mt.get(A)];Dt=Zt?Zt.getBoundingClientRect():null}}return{tabsMeta:Pt,tabMeta:Dt}},gt=ee(()=>{const{tabsMeta:yt,tabMeta:Pt}=St();let Dt=0,Ft;M?(Ft="top",Pt&&yt&&(Dt=Pt.top-yt.top+yt.scrollTop)):(Ft=s?"right":"left",Pt&&yt&&(Dt=(s?-1:1)*(Pt[Ft]-yt[Ft]+yt.scrollLeft)));const Zt={[Ft]:Dt,[N]:Pt?Pt[N]:0};if(typeof rt[Ft]!="number"||typeof rt[N]!="number")Y(Zt);else{const Se=Math.abs(rt[Ft]-Zt[Ft]),Ve=Math.abs(rt[N]-Zt[N]);(Se>=1||Ve>=1)&&Y(Zt)}}),nt=(yt,{animation:Pt=!0}={})=>{Pt?OC(O,tt.current,yt,{duration:n.transitions.duration.standard}):tt.current[O]=yt},Tt=yt=>{let Pt=tt.current[O];M?Pt+=yt:Pt+=yt*(s?-1:1),nt(Pt)},At=()=>{const yt=tt.current[D];let Pt=0;const Dt=Array.from(ot.current.children);for(let Ft=0;Ftyt){Ft===0&&(Pt=yt);break}Pt+=Zt[D]}return Pt},q=()=>{Tt(-1*At())},lt=()=>{Tt(At())},[bt,{onChange:$t,...It}]=Q("scrollbar",{className:j(U.scrollableX,U.hideScrollbar),elementType:_C,shouldForwardComponentProp:!0,externalForwardedProps:dt,ownerState:J}),ut=d.useCallback(yt=>{$t==null||$t(yt),ht({overflow:null,scrollbarWidth:yt})},[$t]),[Ct,Ut]=Q("scrollButtons",{className:j(U.scrollButtons,$.className),elementType:UC,externalForwardedProps:dt,ownerState:J,additionalProps:{orientation:h,slots:{StartScrollButtonIcon:x.startScrollButtonIcon||x.StartScrollButtonIcon,EndScrollButtonIcon:x.endScrollButtonIcon||x.EndScrollButtonIcon},slotProps:{startScrollButtonIcon:wt,endScrollButtonIcon:vt}}}),Et=()=>{const yt={};yt.scrollbarSizeListener=R?f.jsx(bt,{...It,onChange:ut}):null;const Dt=R&&(S==="auto"&&(at||st)||S===!0);return yt.scrollButtonStart=Dt?f.jsx(Ct,{direction:s?"right":"left",onClick:q,disabled:!at,...Ut}):null,yt.scrollButtonEnd=Dt?f.jsx(Ct,{direction:s?"left":"right",onClick:lt,disabled:!st,...Ut}):null,yt},Gt=ee(yt=>{const{tabsMeta:Pt,tabMeta:Dt}=St();if(!(!Dt||!Pt)){if(Dt[L]Pt[F]){const Ft=Pt[O]+(Dt[F]-Pt[F]);nt(Ft,{animation:yt})}}}),xt=ee(()=>{R&&S!==!1&&pt(!Z)});d.useEffect(()=>{const yt=Pr(()=>{tt.current&>()});let Pt;const Dt=Se=>{Se.forEach(Ve=>{Ve.removedNodes.forEach(to=>{Pt==null||Pt.unobserve(to)}),Ve.addedNodes.forEach(to=>{Pt==null||Pt.observe(to)})}),yt(),xt()},Ft=me(tt.current);Ft.addEventListener("resize",yt);let Zt;return typeof ResizeObserver<"u"&&(Pt=new ResizeObserver(yt),Array.from(ot.current.children).forEach(Se=>{Pt.observe(Se)})),typeof MutationObserver<"u"&&(Zt=new MutationObserver(Dt),Zt.observe(ot.current,{childList:!0})),()=>{yt.clear(),Ft.removeEventListener("resize",yt),Zt==null||Zt.disconnect(),Pt==null||Pt.disconnect()}},[gt,xt]),d.useEffect(()=>{const yt=Array.from(ot.current.children),Pt=yt.length;if(typeof IntersectionObserver<"u"&&Pt>0&&R&&S!==!1){const Dt=yt[0],Ft=yt[Pt-1],Zt={root:tt.current,threshold:.99},Se=ne=>{ct(!ne[0].isIntersecting)},Ve=new IntersectionObserver(Se,Zt);Ve.observe(Dt);const to=ne=>{ft(!ne[0].isIntersecting)},co=new IntersectionObserver(to,Zt);return co.observe(Ft),()=>{Ve.disconnect(),co.disconnect()}}},[R,S,Z,p==null?void 0:p.length]),d.useEffect(()=>{et(!0)},[]),d.useEffect(()=>{gt()}),d.useEffect(()=>{Gt(ni!==rt)},[Gt,rt]),d.useImperativeHandle(l,()=>({updateIndicator:gt,updateScrollButtons:xt}),[gt,xt]);const[Bt,Xt]=Q("indicator",{className:j(U.indicator,P.className),elementType:XC,externalForwardedProps:dt,ownerState:J,additionalProps:{style:rt}}),oe=f.jsx(Bt,{...Xt});let fe=0;const ie=d.Children.map(p,yt=>{if(!d.isValidElement(yt))return null;const Pt=yt.props.value===void 0?fe:yt.props.value;Mt.set(Pt,fe);const Dt=Pt===A;return fe+=1,d.cloneElement(yt,{fullWidth:T==="fullWidth",indicator:Dt&&!mt&&oe,selected:Dt,selectionFollowsFocus:C,onChange:v,textColor:I,value:Pt,...fe===1&&A===!1&&!yt.props.tabIndex?{tabIndex:0}:{}})}),Pe=yt=>{if(yt.altKey||yt.shiftKey||yt.ctrlKey||yt.metaKey)return;const Pt=ot.current,Dt=te(Pt).activeElement;if(Dt.getAttribute("role")!=="tab")return;let Zt=h==="horizontal"?"ArrowLeft":"ArrowUp",Se=h==="horizontal"?"ArrowRight":"ArrowDown";switch(h==="horizontal"&&s&&(Zt="ArrowRight",Se="ArrowLeft"),yt.key){case Zt:yt.preventDefault(),Zr(Pt,Dt,ri);break;case Se:yt.preventDefault(),Zr(Pt,Dt,oi);break;case"Home":yt.preventDefault(),Zr(Pt,null,oi);break;case"End":yt.preventDefault(),Zr(Pt,null,ri);break}},Vt=Et(),[_t,ce]=Q("root",{ref:o,className:j(U.root,u),elementType:GC,externalForwardedProps:{...dt,...E,component:m},ownerState:J}),[$e,pe]=Q("scroller",{ref:tt,className:U.scroller,elementType:KC,externalForwardedProps:dt,ownerState:J,additionalProps:{style:{overflow:it.overflow,[M?`margin${s?"Left":"Right"}`:"marginBottom"]:z?void 0:-it.scrollbarWidth}}}),[Lt,ge]=Q("list",{ref:ot,className:j(U.list,U.flexContainer),elementType:qC,externalForwardedProps:dt,ownerState:J,getSlotProps:yt=>({...yt,onKeyDown:Pt=>{var Dt;Pe(Pt),(Dt=yt.onKeyDown)==null||Dt.call(yt,Pt)}})});return f.jsxs(_t,{...ce,children:[Vt.scrollButtonStart,Vt.scrollbarSizeListener,f.jsxs($e,{...pe,children:[f.jsx(Lt,{"aria-label":a,"aria-labelledby":i,"aria-orientation":h==="vertical"?"vertical":null,role:"tablist",...ge,children:ie}),mt&&oe]}),Vt.scrollButtonEnd]})});function YC(t){return V("MuiTextField",t)}const Q1=K("MuiTextField",["root"]),ZC={standard:Rn,filled:Is,outlined:Ls},QC=t=>{const{classes:e}=t;return G({root:["root"]},YC,e)},JC=k(sb,{name:"MuiTextField",slot:"Root",overridesResolver:(t,e)=>e.root})({}),J1=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiTextField"}),{autoComplete:n,autoFocus:s=!1,children:a,className:i,color:l="primary",defaultValue:c,disabled:p=!1,error:u=!1,FormHelperTextProps:m,fullWidth:g=!1,helperText:b,id:v,InputLabelProps:h,inputProps:y,InputProps:S,inputRef:C,label:x,maxRows:w,minRows:P,multiline:$=!1,name:I,onBlur:A,onChange:T,onFocus:z,placeholder:E,required:R=!1,rows:M,select:O=!1,SelectProps:L,slots:F={},slotProps:D={},type:N,value:J,variant:U="outlined",...wt}=r,vt={...r,autoFocus:s,color:l,disabled:p,error:u,fullWidth:g,multiline:$,required:R,select:O,variant:U},mt=QC(vt),et=De(v),rt=b&&et?`${et}-helper-text`:void 0,Y=x&&et?`${et}-label`:void 0,at=ZC[U],ct={slots:F,slotProps:{input:S,inputLabel:h,htmlInput:y,formHelperText:m,select:L,...D}},st={},ft=ct.slotProps.inputLabel;U==="outlined"&&(ft&&typeof ft.shrink<"u"&&(st.notched=ft.shrink),st.label=x),O&&((!L||!L.native)&&(st.id=void 0),st["aria-describedby"]=void 0);const[Z,pt]=Q("root",{elementType:JC,shouldForwardComponentProp:!0,externalForwardedProps:{...ct,...wt},ownerState:vt,className:j(mt.root,i),ref:o,additionalProps:{disabled:p,error:u,fullWidth:g,required:R,color:l,variant:U}}),[it,ht]=Q("input",{elementType:at,externalForwardedProps:ct,additionalProps:st,ownerState:vt}),[Mt,tt]=Q("inputLabel",{elementType:Cv,externalForwardedProps:ct,ownerState:vt}),[ot,dt]=Q("htmlInput",{elementType:"input",externalForwardedProps:ct,ownerState:vt}),[St,gt]=Q("formHelperText",{elementType:vb,externalForwardedProps:ct,ownerState:vt}),[nt,Tt]=Q("select",{elementType:Bs,externalForwardedProps:ct,ownerState:vt}),At=f.jsx(it,{"aria-describedby":rt,autoComplete:n,autoFocus:s,defaultValue:c,fullWidth:g,multiline:$,name:I,rows:M,maxRows:w,minRows:P,type:N,value:J,id:et,inputRef:C,onBlur:A,onChange:T,onFocus:z,placeholder:E,inputProps:dt,slots:{input:F.htmlInput?ot:void 0},...ht});return f.jsxs(Z,{...pt,children:[x!=null&&x!==""&&f.jsx(Mt,{htmlFor:et,id:Y,...tt,children:x}),O?f.jsx(nt,{"aria-describedby":rt,id:et,labelId:Y,value:J,input:At,...Tt,children:a}):At,b&&f.jsx(St,{id:rt,...gt,children:b})]})});function tS(t){return V("MuiToggleButton",t)}const ko=K("MuiToggleButton",["root","disabled","selected","standard","primary","secondary","sizeSmall","sizeMedium","sizeLarge","fullWidth"]),gl=d.createContext({}),ml=d.createContext(void 0);function eS(t,e){return e===void 0||t===void 0?!1:Array.isArray(e)?e.includes(t):t===e}const oS=t=>{const{classes:e,fullWidth:o,selected:r,disabled:n,size:s,color:a}=t,i={root:["root",r&&"selected",n&&"disabled",o&&"fullWidth",`size${B(s)}`,a]};return G(i,tS,e)},rS=k(ue,{name:"MuiToggleButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`size${B(o.size)}`]]}})(W(({theme:t})=>({...t.typography.button,borderRadius:(t.vars||t).shape.borderRadius,padding:11,border:`1px solid ${(t.vars||t).palette.divider}`,color:(t.vars||t).palette.action.active,[`&.${ko.disabled}`]:{color:(t.vars||t).palette.action.disabled,border:`1px solid ${(t.vars||t).palette.action.disabledBackground}`},"&:hover":{textDecoration:"none",backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:kt(t.palette.text.primary,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{color:"standard"},style:{[`&.${ko.selected}`]:{color:(t.vars||t).palette.text.primary,backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.text.primary,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette.text.primary,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette.text.primary,t.palette.action.selectedOpacity)}}}}},...Object.entries(t.palette).filter(jt()).map(([e])=>({props:{color:e},style:{[`&.${ko.selected}`]:{color:(t.vars||t).palette[e].main,backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette[e].main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:kt(t.palette[e].main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.selectedOpacity})`:kt(t.palette[e].main,t.palette.action.selectedOpacity)}}}}})),{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{padding:7,fontSize:t.typography.pxToRem(13)}},{props:{size:"large"},style:{padding:15,fontSize:t.typography.pxToRem(15)}}]}))),tR=d.forwardRef(function(e,o){const{value:r,...n}=d.useContext(gl),s=d.useContext(ml),a=ps({...n,selected:eS(e.value,r)},e),i=_({props:a,name:"MuiToggleButton"}),{children:l,className:c,color:p="standard",disabled:u=!1,disableFocusRipple:m=!1,fullWidth:g=!1,onChange:b,onClick:v,selected:h,size:y="medium",value:S,...C}=i,x={...i,color:p,disabled:u,disableFocusRipple:m,fullWidth:g,size:y},w=oS(x),P=I=>{v&&(v(I,S),I.defaultPrevented)||b&&b(I,S)},$=s||"";return f.jsx(rS,{className:j(n.className,w.root,c,$),disabled:u,focusRipple:!m,ref:o,onClick:P,onChange:b,value:S,ownerState:x,"aria-pressed":h,...C,children:l})});function nS(t){return V("MuiToggleButtonGroup",t)}const Jt=K("MuiToggleButtonGroup",["root","selected","horizontal","vertical","disabled","grouped","groupedHorizontal","groupedVertical","fullWidth","firstButton","lastButton","middleButton"]),sS=t=>{const{classes:e,orientation:o,fullWidth:r,disabled:n}=t,s={root:["root",o,r&&"fullWidth"],grouped:["grouped",`grouped${B(o)}`,n&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return G(s,nS,e)},aS=k("div",{name:"MuiToggleButtonGroup",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Jt.grouped}`]:e.grouped},{[`& .${Jt.grouped}`]:e[`grouped${B(o.orientation)}`]},{[`& .${Jt.firstButton}`]:e.firstButton},{[`& .${Jt.lastButton}`]:e.lastButton},{[`& .${Jt.middleButton}`]:e.middleButton},e.root,o.orientation==="vertical"&&e.vertical,o.fullWidth&&e.fullWidth]}})(W(({theme:t})=>({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius,variants:[{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${Jt.grouped}`]:{[`&.${Jt.selected} + .${Jt.grouped}.${Jt.selected}`]:{borderTop:0,marginTop:0}},[`& .${Jt.firstButton},& .${Jt.middleButton}`]:{borderBottomLeftRadius:0,borderBottomRightRadius:0},[`& .${Jt.lastButton},& .${Jt.middleButton}`]:{marginTop:-1,borderTop:"1px solid transparent",borderTopLeftRadius:0,borderTopRightRadius:0},[`& .${Jt.lastButton}.${ko.disabled},& .${Jt.middleButton}.${ko.disabled}`]:{borderTop:"1px solid transparent"}}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"horizontal"},style:{[`& .${Jt.grouped}`]:{[`&.${Jt.selected} + .${Jt.grouped}.${Jt.selected}`]:{borderLeft:0,marginLeft:0}},[`& .${Jt.firstButton},& .${Jt.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${Jt.lastButton},& .${Jt.middleButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent",borderTopLeftRadius:0,borderBottomLeftRadius:0},[`& .${Jt.lastButton}.${ko.disabled},& .${Jt.middleButton}.${ko.disabled}`]:{borderLeft:"1px solid transparent"}}}]}))),eR=d.forwardRef(function(e,o){const r=_({props:e,name:"MuiToggleButtonGroup"}),{children:n,className:s,color:a="standard",disabled:i=!1,exclusive:l=!1,fullWidth:c=!1,onChange:p,orientation:u="horizontal",size:m="medium",value:g,...b}=r,v={...r,disabled:i,fullWidth:c,orientation:u,size:m},h=sS(v),y=d.useCallback(($,I)=>{if(!p)return;const A=g&&g.indexOf(I);let T;g&&A>=0?(T=g.slice(),T.splice(A,1)):T=g?g.concat(I):[I],p($,T)},[p,g]),S=d.useCallback(($,I)=>{p&&p($,g===I?null:I)},[p,g]),C=d.useMemo(()=>({className:h.grouped,onChange:l?S:y,value:g,size:m,fullWidth:c,color:a,disabled:i}),[h.grouped,l,S,y,g,m,c,a,i]),x=mi(n),w=x.length,P=$=>{const I=$===0,A=$===w-1;return I&&A?"":I?h.firstButton:A?h.lastButton:h.middleButton};return f.jsx(aS,{role:"group",className:j(h.root,s),ref:o,ownerState:v,...b,children:f.jsx(gl.Provider,{value:C,children:x.map(($,I)=>f.jsx(ml.Provider,{value:P(I),children:$},I))})})});function iS(t,e){const{disableHysteresis:o=!1,threshold:r=100,target:n}=e,s=t.current;return n&&(t.current=n.pageYOffset!==void 0?n.pageYOffset:n.scrollTop),!o&&s!==void 0&&t.currentr}const lS=typeof window<"u"?window:null;function oR(t={}){const{getTrigger:e=iS,target:o=lS,...r}=t,n=d.useRef(),[s,a]=d.useState(()=>e(n,r));return d.useEffect(()=>{if(o===null)return a(!1);const i=()=>{a(e(n,{target:o,...r}))};return i(),o.addEventListener("scroll",i,{passive:!0}),()=>{o.removeEventListener("scroll",i,{passive:!0})}},[o,e,JSON.stringify(r)]),s}const rR="6.4.12",nR=6,sR=4,aR=12,iR=void 0;export{AS as Accordion,ES as AccordionActions,NS as AccordionDetails,jS as AccordionSummary,FS as Alert,US as AlertTitle,VS as AppBar,KS as Autocomplete,Cf as Avatar,qS as AvatarGroup,Ei as Backdrop,_S as Badge,ZS as BottomNavigation,QS as BottomNavigationAction,JS as Box,tw as Breadcrumbs,ew as Button,ue as ButtonBase,ow as ButtonGroup,zi as ButtonGroupButtonContext,Ni as ButtonGroupContext,nw as Card,sw as CardActionArea,iw as CardActions,cw as CardContent,pw as CardHeader,uw as CardMedia,fw as Checkbox,Hu as Chip,Si as CircularProgress,_g as ClickAwayListener,vr as Collapse,gw as Container,vw as CssBaseline,IR as CssVarsProvider,xw as Dialog,Sw as DialogActions,Rw as DialogContent,$w as DialogContentText,kw as DialogTitle,Sa as Divider,_m as Drawer,TR as Experimental_CssVarsProvider,Gi as Fab,ts as Fade,Is as FilledInput,sb as FormControl,Mw as FormControlLabel,fb as FormGroup,vb as FormHelperText,Sb as FormLabel,xb as FormLabelRoot,Uc as GlobalStyles,Aw as Grid,Bw as Grid2,Cr as Grow,Nw as Hidden,Zb as Icon,$o as IconButton,Dw as ImageList,Fw as ImageListItem,Uw as ImageListItemBar,Rn as Input,Hw as InputAdornment,wn as InputBase,Cv as InputLabel,Lv as LinearProgress,Kw as Link,Fv as List,Zw as ListItem,Jw as ListItemAvatar,_w as ListItemButton,t1 as ListItemIcon,_i as ListItemSecondaryAction,e1 as ListItemText,Jn as ListSubheader,xh as Menu,Ph as MenuItem,lh as MenuList,s1 as MobileStepper,ks as Modal,rm as ModalManager,zh as NativeSelect,jh as NoSsr,Ls as OutlinedInput,i1 as Pagination,ey as PaginationItem,Ue as Paper,uh as Popover,Zi as PopoverPaper,dh as PopoverRoot,vn as Popper,Bi as Portal,l1 as Radio,p1 as RadioGroup,d1 as Rating,f1 as ScopedCssBaseline,Bs as Select,m1 as Skeleton,Hm as Slide,b1 as Slider,fx as SliderMark,gx as SliderMarkLabel,cx as SliderRail,lx as SliderRoot,dx as SliderThumb,px as SliderTrack,ux as SliderValueLabel,y1 as Snackbar,wx as SnackbarContent,x1 as SpeedDial,C1 as SpeedDialAction,Yx as SpeedDialIcon,S1 as Stack,k1 as Step,I1 as StepButton,y0 as StepConnector,L1 as StepContent,Yo as StepContext,s0 as StepIcon,pl as StepLabel,B1 as Stepper,No as StepperContext,MR as StyledEngineProvider,Dl as SvgIcon,E1 as SwipeableDrawer,O1 as Switch,pn as THEME_ID,N1 as Tab,UC as TabScrollButton,j1 as Table,F1 as TableBody,cs as TableCell,U1 as TableContainer,V1 as TableFooter,K1 as TableHead,X1 as TablePagination,_1 as TableRow,Y1 as TableSortLabel,Z1 as Tabs,J1 as TextField,Ku as TextareaAutosize,LR as ThemeProvider,tR as ToggleButton,eR as ToggleButtonGroup,fC as Toolbar,Fx as Tooltip,he as Typography,pm as Unstable_TrapFocus,Ix as Zoom,BS as accordionActionsClasses,Er as accordionClasses,OS as accordionDetailsClasses,Wo as accordionSummaryClasses,hS as adaptV4Theme,Ks as alertClasses,WS as alertTitleClasses,kt as alpha,HS as appBarClasses,zt as autocompleteClasses,mf as avatarClasses,wf as avatarGroupClasses,XS as backdropClasses,fo as badgeClasses,Oi as bottomNavigationActionClasses,YS as bottomNavigationClasses,Uf as boxClasses,_f as breadcrumbsClasses,$p as buttonBaseClasses,xo as buttonClasses,Nt as buttonGroupClasses,B as capitalize,Tn as cardActionAreaClasses,aw as cardActionsClasses,rw as cardClasses,lw as cardContentClasses,ln as cardHeaderClasses,dw as cardMediaClasses,Mn as checkboxClasses,Wt as chipClasses,DS as circularProgressClasses,MS as collapseClasses,IS as colors,bw as containerClasses,Vn as createChainedFunction,pR as createColorScheme,gd as createFilterOptions,dR as createMuiTheme,xS as createStyles,Qt as createSvgIcon,si as createTheme,uR as createTransitions,Oo as css,hw as darkScrollbar,Lo as darken,Pr as debounce,fR as decomposeColor,mS as deprecatedPropType,Cw as dialogActionsClasses,An as dialogClasses,ww as dialogContentClasses,Pw as dialogContentTextClasses,Tm as dialogTitleClasses,Ca as dividerClasses,Iw as drawerClasses,jl as duration,gR as easing,tn as emphasize,k as experimentalStyled,$S as experimental_extendTheme,kS as experimental_sx,Il as extendTheme,wa as fabClasses,Ie as filledInputClasses,Tw as formControlClasses,pr as formControlLabelClasses,Lw as formGroupClasses,Ra as formHelperTextClasses,gr as formLabelClasses,V as generateUtilityClass,K as generateUtilityClasses,cp as getAccordionActionsUtilityClass,up as getAccordionDetailsUtilityClass,Tp as getAccordionSummaryUtilityClass,sp as getAccordionUtilityClass,ld as getAlertTitleUtilityClass,Np as getAlertUtilityClass,dd as getAppBarUtilityClass,Ju as getAutocompleteUtilityClass,Sf as getAvatarGroupUtilityClass,gf as getAvatarUtilityClass,kf as getBackdropUtilityClass,Lf as getBadgeUtilityClass,jf as getBottomNavigationActionUtilityClass,Of as getBottomNavigationUtilityClass,Xf as getBreadcrumbsUtilityClass,Pp as getButtonBaseUtilityClass,ig as getButtonGroupUtilityClass,eg as getButtonUtilityClass,gg as getCardActionAreaUtilityClass,hg as getCardActionsUtilityClass,Cg as getCardContentUtilityClass,Rg as getCardHeaderUtilityClass,Mg as getCardMediaUtilityClass,dg as getCardUtilityClass,Ug as getCheckboxUtilityClass,Du as getChipUtilityClass,zp as getCircularProgressUtilityClass,Zc as getCollapseUtilityClass,mw as getContainerUtilityClass,mR as getContrastRatio,Rm as getDialogActionsUtilityClass,Am as getDialogContentTextUtilityClass,km as getDialogContentUtilityClass,Im as getDialogTitleUtilityClass,hm as getDialogUtilityClass,zm as getDividerUtilityClass,Vm as getDrawerUtilityClass,Ym as getFabUtilityClass,Qu as getFilledInputUtilityClass,ab as getFormControlLabelUtilityClasses,ob as getFormControlUtilityClasses,pb as getFormGroupUtilityClass,gb as getFormHelperTextUtilityClasses,hb as getFormLabelUtilityClasses,Ew as getGrid2UtilityClass,Vp as getIconButtonUtilityClass,Xb as getIconUtilityClass,nv as getImageListItemBarUtilityClass,ev as getImageListItemUtilityClass,Qb as getImageListUtilityClass,AR as getInitColorSchemeScript,gv as getInputAdornmentUtilityClass,Xu as getInputBaseUtilityClass,hv as getInputLabelUtilityClasses,Yu as getInputUtilityClass,Sv as getLinearProgressUtilityClass,Av as getLinkUtilityClass,Jv as getListItemAvatarUtilityClass,Uv as getListItemButtonUtilityClass,oh as getListItemIconUtilityClass,Kv as getListItemSecondaryActionClassesUtilityClass,sh as getListItemTextUtilityClass,Wv as getListItemUtilityClass,Ou as getListSubheaderUtilityClass,zv as getListUtilityClass,bR as getLuminance,Ch as getMenuItemUtilityClass,fh as getMenuUtilityClass,$h as getMobileStepperUtilityClass,gm as getModalUtilityClass,Qi as getNativeSelectUtilityClasses,Ba as getOffsetLeft,Aa as getOffsetTop,Zu as getOutlinedInputUtilityClass,Ns as getOverlayAlpha,Xh as getPaginationItemUtilityClass,Kh as getPaginationUtilityClass,op as getPaperUtilityClass,ch as getPopoverUtilityClass,ku as getPopperUtilityClass,hy as getRadioGroupUtilityClass,uy as getRadioUtilityClass,Sy as getRatingUtilityClass,Ay as getScopedCssBaselineUtilityClass,ll as getSelectUtilityClasses,Gy as getSkeletonUtilityClass,sx as getSliderUtilityClass,hx as getSnackbarContentUtilityClass,Rx as getSnackbarUtilityClass,Wx as getSpeedDialActionUtilityClass,qx as getSpeedDialIconUtilityClass,Tx as getSpeedDialUtilityClass,u0 as getStepButtonUtilityClass,m0 as getStepConnectorUtilityClass,x0 as getStepContentUtilityClass,o0 as getStepIconUtilityClass,a0 as getStepLabelUtilityClass,Zx as getStepUtilityClass,R0 as getStepperUtilityClass,vR as getSvgIconUtilityClass,B0 as getSwitchUtilityClass,jC as getTabScrollButtonUtilityClass,D0 as getTabUtilityClass,G0 as getTableBodyUtilityClass,_0 as getTableCellUtilityClass,J0 as getTableContainerUtilityClass,oC as getTableFooterUtilityClass,aC as getTableHeadUtilityClass,mC as getTablePaginationUtilityClass,$C as getTableRowUtilityClass,MC as getTableSortLabelUtilityClass,U0 as getTableUtilityClass,HC as getTabsUtilityClass,YC as getTextFieldUtilityClass,nS as getToggleButtonGroupUtilityClass,tS as getToggleButtonUtilityClass,pC as getToolbarUtilityClass,Ex as getTooltipUtilityClass,zS as getTouchRippleUtilityClass,rd as getTypographyUtilityClass,Ow as grid2Classes,hR as hexToRgb,yR as hslToRgb,qs as iconButtonClasses,zw as iconClasses,jw as imageListClasses,Ww as imageListItemBarClasses,En as imageListItemClasses,ka as inputAdornmentClasses,ke as inputBaseClasses,mo as inputClasses,Vw as inputLabelClasses,ho as isMuiElement,Je as keyframes,Ao as lighten,Gw as linearProgressClasses,Bv as linkClasses,qw as listClasses,Qw as listItemAvatarClasses,Fo as listItemButtonClasses,Xw as listItemClasses,Ma as listItemIconClasses,Yw as listItemSecondaryActionClasses,Uo as listItemTextClasses,GS as listSubheaderClasses,nR as major,wS as makeStyles,r1 as menuClasses,or as menuItemClasses,Vo as mergeSlotProps,sR as minor,n1 as mobileStepperClasses,yw as modalClasses,Ms as nativeSelectClasses,Ee as outlinedInputClasses,te as ownerDocument,me as ownerWindow,a1 as paginationClasses,ye as paginationItemClasses,LS as paperClasses,aR as patch,o1 as popoverClasses,iR as prerelease,xR as private_createMixins,CR as private_createTypography,SR as private_excludeVariablesFromRoot,Na as radioClasses,c1 as radioGroupClasses,rr as ratingClasses,wR as recomposeColor,bS as requirePropFactory,CS as responsiveFontSizes,RR as rgbToHex,u1 as scopedCssBaselineClasses,nr as selectClasses,Gn as setRef,PR as shouldSkipGeneratingVar,g1 as skeletonClasses,Ne as sliderClasses,h1 as snackbarClasses,v1 as snackbarContentClasses,_r as speedDialActionClasses,Vr as speedDialClasses,_e as speedDialIconClasses,w1 as stackClasses,Ka as stepButtonClasses,$1 as stepClasses,T1 as stepConnectorClasses,M1 as stepContentClasses,zn as stepIconClasses,vo as stepLabelClasses,A1 as stepperClasses,k as styled,$R as svgIconClasses,xe as switchClasses,Be as tabClasses,DC as tabScrollButtonClasses,D1 as tableBodyClasses,Y0 as tableCellClasses,z1 as tableClasses,W1 as tableContainerClasses,H1 as tableFooterClasses,G1 as tableHeadClasses,mr as tablePaginationClasses,ti as tableRowClasses,Wn as tableSortLabelClasses,Un as tabsClasses,Q1 as textFieldClasses,ko as toggleButtonClasses,Jt as toggleButtonGroupClasses,q1 as toolbarClasses,re as tooltipClasses,Oe as touchRippleClasses,nn as typographyClasses,TS as unstable_ClassNameGenerator,G as unstable_composeClasses,kl as unstable_createBreakpoints,yS as unstable_createMuiStrictModeTheme,xi as unstable_getUnit,W as unstable_memoTheme,go as unstable_toUnitless,be as unstable_useEnhancedEffect,De as unstable_useId,vS as unsupportedProp,yd as useAutocomplete,BR as useColorScheme,Te as useControlled,ee as useEventCallback,qt as useForkRef,He as useFormControl,Db as useMediaQuery,qh as usePagination,dy as useRadioGroup,oR as useScrollTrigger,P1 as useStepContext,R1 as useStepperContext,le as useTheme,SS as useThemeProps,rR as version,RS as withStyles,PS as withTheme}; diff --git a/admin/assets/index-CuCs5aLs.js b/admin/assets/index-CuCs5aLs.js deleted file mode 100644 index f28df6500..000000000 --- a/admin/assets/index-CuCs5aLs.js +++ /dev/null @@ -1,5 +0,0 @@ -import{a as Kt,i as Yt}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import{R as K,i as b}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{c as J,j as X,P as w}from"./createSvgIcon-BQT-7-GS.js";import{g as Jt}from"./_commonjsHelpers-Cpj98o6Y.js";var yt={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},at=K.createContext&&K.createContext(yt),Xt=["attr","size","title"];function Qt(e,t){if(e==null)return{};var i=Zt(e,t),n,l;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(l=0;l=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Zt(e,t){if(e==null)return{};var i={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;i[n]=e[n]}return i}function be(){return be=Object.assign?Object.assign.bind():function(e){for(var t=1;tK.createElement(t.tag,we({key:i},t.attr),xt(t.child)))}function p(e){return t=>K.createElement(ia,be({attr:we({},e.attr)},t),xt(e.child))}function ia(e){var t=i=>{var{attr:n,size:l,title:o}=e,c=Qt(e,Xt),s=l||i.size||"1em",u;return i.className&&(u=i.className),e.className&&(u=(u?u+" ":"")+e.className),K.createElement("svg",be({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},i.attr,n,c,{className:u,style:we(we({color:e.color||i.color},i.style),e.style),height:s,width:s,xmlns:"http://www.w3.org/2000/svg"}),o&&K.createElement("title",null,o),e.children)};return at!==void 0?K.createElement(at.Consumer,null,i=>t(i)):t(yt)}function hi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 8h-2.81a5.985 5.985 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"},child:[]}]})(e)}function gi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z",clipRule:"evenodd"},child:[]},{tag:"path",attr:{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.4z"},child:[]}]})(e)}function yi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"},child:[]}]})(e)}function xi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(e)}function bi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(e)}function wi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M21 4H11l-1-3H3c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h8l1 3h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7 16c-2.76 0-5-2.24-5-5s2.24-5 5-5c1.35 0 2.48.5 3.35 1.3L9.03 8.57c-.38-.36-1.04-.78-2.03-.78-1.74 0-3.15 1.44-3.15 3.21S5.26 14.21 7 14.21c2.01 0 2.84-1.44 2.92-2.41H7v-1.71h4.68c.07.31.12.61.12 1.02C11.8 13.97 9.89 16 7 16zm6.17-5.42h3.7c-.43 1.25-1.11 2.43-2.05 3.47-.31-.35-.6-.72-.86-1.1l-.79-2.37zm8.33 9.92c0 .55-.45 1-1 1H14l2-2.5-1.04-3.1 3.1 3.1.92-.92-3.3-3.25.02-.02c1.13-1.25 1.93-2.69 2.4-4.22H20v-1.3h-4.53V8h-1.29v1.29h-1.44L11.46 5.5h9.04c.55 0 1 .45 1 1v14z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0zm0 0h24v24H0z"},child:[]}]})(e)}function Si(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14a2 2 0 0 0-2-2zM11 16l4-4-4-4v3H1v2h10v3z"},child:[]}]})(e)}function Ti(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"},child:[]}]})(e)}function Ri(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15zM14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z"},child:[]}]})(e)}function Ei(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},child:[]}]})(e)}function zi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3z"},child:[]}]})(e)}function Oi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"},child:[]}]})(e)}function Mi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"},child:[]}]})(e)}function ki(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"},child:[]}]})(e)}function $i(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(e)}function Ai(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"},child:[]}]})(e)}function Ii(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.54 5.54 13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92 1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10 1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"12",r:"3"},child:[]}]})(e)}function qi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},child:[]}]})(e)}function Ni(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8 5v14l11-7z"},child:[]}]})(e)}function Ci(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 10h11v2H3zM3 6h11v2H3zM3 14h7v2H3zM20.59 11.93l-4.25 4.24-2.12-2.12-1.41 1.41L16.34 19 22 13.34z"},child:[]}]})(e)}function _i(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 13h14v-2H5v2zm-2 4h14v-2H3v2zM7 7v2h14V7H7z"},child:[]}]})(e)}function Di(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77a4.504 4.504 0 0 1-1.09-3.69l-2.03-.68A2.997 2.997 0 0 1 0 9.5c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68a4.468 4.468 0 0 1 3.22-2.32V5.91A3.018 3.018 0 0 1 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68a4.49 4.49 0 0 1-1.09 3.69l1.41 1.77c.38-.18.79-.27 1.23-.27 1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0L8.4 18.2z"},child:[]}]})(e)}function ji(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"},child:[]}]})(e)}function Li(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 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-2zm0 16H8V7h11v14z"},child:[]}]})(e)}function Bi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"},child:[]}]})(e)}function Hi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z"},child:[]}]})(e)}function Pi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17 6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z"},child:[]}]})(e)}function Ui(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(e)}function Fi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3.27 5 2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z"},child:[]}]})(e)}function Vi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.56 8.94 7.62 0 6.21 1.41l2.38 2.38-5.15 5.15a1.49 1.49 0 0 0 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10 10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"},child:[]}]})(e)}function Wi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15 16v1.26l-6-3v-3.17L11.7 8H16V2h-6v4.9L7.3 10H3v6h5l7 3.5V22h6v-6z"},child:[]}]})(e)}function Gi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z"},child:[]}]})(e)}function Ki(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{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-2zm-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3v2z"},child:[]}]})(e)}function Yi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z"},child:[]}]})(e)}function Ji(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m17 16-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"},child:[]}]})(e)}function Xi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6z"},child:[]}]})(e)}function Qi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"},child:[]}]})(e)}function Zi(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10a2.5 2.5 0 0 0 2.5-2.5c0-.61-.23-1.2-.64-1.67a.528.528 0 0 1-.13-.33c0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9zm5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9zM5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5zm6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5z"},child:[]}]})(e)}function en(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z"},child:[]}]})(e)}function tn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"},child:[]}]})(e)}function an(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"},child:[]}]})(e)}function nn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"},child:[]}]})(e)}function rn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"},child:[]}]})(e)}function ln(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 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 12 17 15.59z"},child:[]}]})(e)}function on(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"},child:[]}]})(e)}function cn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{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"},child:[]}]})(e)}function pn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"},child:[]}]})(e)}function sn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"},child:[]}]})(e)}function dn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17.65 6.35A7.958 7.958 0 0 0 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.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},child:[]}]})(e)}function un(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"},child:[]}]})(e)}function mn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"},child:[]}]})(e)}function fn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"19",r:"2"},child:[]},{tag:"path",attr:{d:"M10 3h4v12h-4z"},child:[]}]})(e)}function vn(e){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(e)}const{loadShare:na}=Yt,{initPromise:ra}=Kt,la=ra.then(e=>na("@mui/material",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),oa=await la.then(e=>e());var hn=oa;function gn(e){return p({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"},child:[]}]})(e)}function yn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z"},child:[]}]})(e)}function xn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"},child:[]}]})(e)}function bn(e){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"},child:[]}]})(e)}function wn(e){return p({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"},child:[]}]})(e)}function Sn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"},child:[]}]})(e)}function Tn(e){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z"},child:[]}]})(e)}function Rn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z"},child:[]}]})(e)}function En(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z"},child:[]}]})(e)}function zn(e){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function On(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"},child:[]}]})(e)}function Mn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"},child:[]}]})(e)}function kn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},child:[]}]})(e)}function $n(e){return p({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"},child:[]}]})(e)}function An(e){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function In(e){return p({attr:{viewBox:"0 0 416 512"},child:[{tag:"path",attr:{d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"},child:[]}]})(e)}function qn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"},child:[]}]})(e)}function Nn(e){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"},child:[]}]})(e)}function Cn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"},child:[]}]})(e)}function _n(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"},child:[]}]})(e)}function Dn(e){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"},child:[]}]})(e)}function jn(e){return p({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"},child:[]}]})(e)}function Ln(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(e)}function Bn(e){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(e)}function Hn(e){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"},child:[]}]})(e)}function Pn(e){return p({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"},child:[]}]})(e)}const Un=J(X.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"),Fn=J(X.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),Vn=J(X.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"}),"Clear"),Wn=J(X.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"),Gn=J(X.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"),Kn=J(X.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"),Yn=J(X.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language"),Jn=J(X.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 nt=function(){return nt=Object.assign||function(t){for(var i,n=1,l=arguments.length;n0?l:`./${e.name}`;return typeof n.path!="string"&&rt(n,"path",o),rt(n,"relativePath",o),n}function pa(e){const{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){const n=t.split(".").pop().toLowerCase(),l=ca.get(n);l&&Object.defineProperty(e,"type",{value:l,writable:!1,configurable:!1,enumerable:!0})}return e}function rt(e,t,i){Object.defineProperty(e,t,{value:i,writable:!1,configurable:!1,enumerable:!0})}const sa=[".DS_Store","Thumbs.db"];function da(e){return te(this,void 0,void 0,function*(){return Se(e)&&ua(e.dataTransfer)?ha(e.dataTransfer,e.type):ma(e)?fa(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?va(e):[]})}function ua(e){return Se(e)}function ma(e){return Se(e)&&Se(e.target)}function Se(e){return typeof e=="object"&&e!==null}function fa(e){return Le(e.target.files).map(t=>ce(t))}function va(e){return te(this,void 0,void 0,function*(){return(yield Promise.all(e.map(i=>i.getFile()))).map(i=>ce(i))})}function ha(e,t){return te(this,void 0,void 0,function*(){if(e.items){const i=Le(e.items).filter(l=>l.kind==="file");if(t!=="drop")return i;const n=yield Promise.all(i.map(ga));return lt(bt(n))}return lt(Le(e.files).map(i=>ce(i)))})}function lt(e){return e.filter(t=>sa.indexOf(t.name)===-1)}function Le(e){if(e===null)return[];const t=[];for(let i=0;i[...t,...Array.isArray(i)?bt(i):[i]],[])}function ot(e,t){return te(this,void 0,void 0,function*(){var i;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){const o=yield e.getAsFileSystemHandle();if(o===null)throw new Error(`${e} is not a File`);if(o!==void 0){const c=yield o.getFile();return c.handle=o,ce(c)}}const n=e.getAsFile();if(!n)throw new Error(`${e} is not a File`);return ce(n,(i=t==null?void 0:t.fullPath)!==null&&i!==void 0?i:void 0)})}function ya(e){return te(this,void 0,void 0,function*(){return e.isDirectory?wt(e):xa(e)})}function wt(e){const t=e.createReader();return new Promise((i,n)=>{const l=[];function o(){t.readEntries(c=>te(this,void 0,void 0,function*(){if(c.length){const s=Promise.all(c.map(ya));l.push(s),o()}else try{const s=yield Promise.all(l);i(s)}catch(s){n(s)}}),c=>{n(c)})}o()})}function xa(e){return te(this,void 0,void 0,function*(){return new Promise((t,i)=>{e.file(n=>{const l=ce(n,e.fullPath);t(l)},n=>{i(n)})})})}var De=function(e,t){if(e&&t){var i=Array.isArray(t)?t:t.split(",");if(i.length===0)return!0;var n=e.name||"",l=(e.type||"").toLowerCase(),o=l.replace(/\/.*$/,"");return i.some(function(c){var s=c.trim().toLowerCase();return s.charAt(0)==="."?n.toLowerCase().endsWith(s):s.endsWith("/*")?o===s.replace(/\/.*$/,""):l===s})}return!0};function ct(e){return Sa(e)||wa(e)||Tt(e)||ba()}function ba(){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 wa(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Sa(e){if(Array.isArray(e))return Be(e)}function pt(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),i.push.apply(i,n)}return i}function st(e){for(var t=1;te.length)&&(t=e.length);for(var i=0,n=new Array(t);i0&&arguments[0]!==void 0?arguments[0]:"",i=t.split(","),n=i.length>1?"one of ".concat(i.join(", ")):i[0];return{code:Oa,message:"File type must be ".concat(n)}},dt=function(t){return{code:Ma,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},ut=function(t){return{code:ka,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},Ia={code:$a,message:"Too many files"};function Rt(e,t){var i=e.type==="application/x-moz-file"||za(e,t);return[i,i?null:Aa(t)]}function Et(e,t,i){if(ee(e.size))if(ee(t)&&ee(i)){if(e.size>i)return[!1,dt(i)];if(e.sizei)return[!1,dt(i)]}return[!0,null]}function ee(e){return e!=null}function qa(e){var t=e.files,i=e.accept,n=e.minSize,l=e.maxSize,o=e.multiple,c=e.maxFiles,s=e.validator;return!o&&t.length>1||o&&c>=1&&t.length>c?!1:t.every(function(u){var S=Rt(u,i),v=de(S,1),h=v[0],E=Et(u,n,l),$=de(E,1),A=$[0],N=s?s(u):null;return h&&A&&!N})}function Te(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function xe(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 mt(e){e.preventDefault()}function Na(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function Ca(e){return e.indexOf("Edge/")!==-1}function _a(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return Na(e)||Ca(e)}function L(){for(var e=arguments.length,t=new Array(e),i=0;i1?l-1:0),c=1;ce.length)&&(t=e.length);for(var i=0,n=new Array(t);i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Za(e,t){if(e==null)return{};var i={},n=Object.keys(e),l,o;for(o=0;o=0)&&(i[l]=e[l]);return i}var Fe=b.forwardRef(function(e,t){var i=e.children,n=Re(e,Pa),l=ei(n),o=l.open,c=Re(l,Ua);return b.useImperativeHandle(t,function(){return{open:o}},[o]),K.createElement(b.Fragment,null,i(R(R({},c),{},{open:o})))});Fe.displayName="Dropzone";var kt={disabled:!1,getFilesFromEvent:da,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};Fe.defaultProps=kt;Fe.propTypes={children:w.func,accept:w.objectOf(w.arrayOf(w.string)),multiple:w.bool,preventDropOnDocument:w.bool,noClick:w.bool,noKeyboard:w.bool,noDrag:w.bool,noDragEventsBubbling:w.bool,minSize:w.number,maxSize:w.number,maxFiles:w.number,disabled:w.bool,getFilesFromEvent:w.func,onFileDialogCancel:w.func,onFileDialogOpen:w.func,useFsAccessApi:w.bool,autoFocus:w.bool,onDragEnter:w.func,onDragLeave:w.func,onDragOver:w.func,onDrop:w.func,onDropAccepted:w.func,onDropRejected:w.func,onError:w.func,validator:w.func};var Ue={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function ei(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=R(R({},kt),e),i=t.accept,n=t.disabled,l=t.getFilesFromEvent,o=t.maxSize,c=t.minSize,s=t.multiple,u=t.maxFiles,S=t.onDragEnter,v=t.onDragLeave,h=t.onDragOver,E=t.onDrop,$=t.onDropAccepted,A=t.onDropRejected,N=t.onFileDialogCancel,P=t.onFileDialogOpen,g=t.useFsAccessApi,U=t.autoFocus,T=t.preventDropOnDocument,x=t.noClick,f=t.noKeyboard,I=t.noDrag,M=t.noDragEventsBubbling,F=t.onError,j=t.validator,V=b.useMemo(function(){return La(i)},[i]),ae=b.useMemo(function(){return ja(i)},[i]),ie=b.useMemo(function(){return typeof P=="function"?P:vt},[P]),ue=b.useMemo(function(){return typeof N=="function"?N:vt},[N]),q=b.useRef(null),D=b.useRef(null),Pt=b.useReducer(ti,Ue),Ve=je(Pt,2),Me=Ve[0],C=Ve[1],Ut=Me.isFocused,We=Me.isFileDialogActive,me=b.useRef(typeof window<"u"&&window.isSecureContext&&g&&Da()),Ge=function(){!me.current&&We&&setTimeout(function(){if(D.current){var m=D.current.files;m.length||(C({type:"closeDialog"}),ue())}},300)};b.useEffect(function(){return window.addEventListener("focus",Ge,!1),function(){window.removeEventListener("focus",Ge,!1)}},[D,We,ue,me]);var ne=b.useRef([]),Ke=function(m){q.current&&q.current.contains(m.target)||(m.preventDefault(),ne.current=[])};b.useEffect(function(){return T&&(document.addEventListener("dragover",mt,!1),document.addEventListener("drop",Ke,!1)),function(){T&&(document.removeEventListener("dragover",mt),document.removeEventListener("drop",Ke))}},[q,T]),b.useEffect(function(){return!n&&U&&q.current&&q.current.focus(),function(){}},[q,U,n]);var Q=b.useCallback(function(d){F?F(d):console.error(d)},[F]),Ye=b.useCallback(function(d){d.preventDefault(),d.persist(),ge(d),ne.current=[].concat(Wa(ne.current),[d.target]),xe(d)&&Promise.resolve(l(d)).then(function(m){if(!(Te(d)&&!M)){var z=m.length,O=z>0&&qa({files:m,accept:V,minSize:c,maxSize:o,multiple:s,maxFiles:u,validator:j}),_=z>0&&!O;C({isDragAccept:O,isDragReject:_,isDragActive:!0,type:"setDraggedFiles"}),S&&S(d)}}).catch(function(m){return Q(m)})},[l,S,Q,M,V,c,o,s,u,j]),Je=b.useCallback(function(d){d.preventDefault(),d.persist(),ge(d);var m=xe(d);if(m&&d.dataTransfer)try{d.dataTransfer.dropEffect="copy"}catch{}return m&&h&&h(d),!1},[h,M]),Xe=b.useCallback(function(d){d.preventDefault(),d.persist(),ge(d);var m=ne.current.filter(function(O){return q.current&&q.current.contains(O)}),z=m.indexOf(d.target);z!==-1&&m.splice(z,1),ne.current=m,!(m.length>0)&&(C({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),xe(d)&&v&&v(d))},[q,v,M]),fe=b.useCallback(function(d,m){var z=[],O=[];d.forEach(function(_){var se=Rt(_,V),oe=je(se,2),$e=oe[0],Ae=oe[1],Ie=Et(_,c,o),ye=je(Ie,2),qe=ye[0],Ne=ye[1],Ce=j?j(_):null;if($e&&qe&&!Ce)z.push(_);else{var _e=[Ae,Ne];Ce&&(_e=_e.concat(Ce)),O.push({file:_,errors:_e.filter(function(Gt){return Gt})})}}),(!s&&z.length>1||s&&u>=1&&z.length>u)&&(z.forEach(function(_){O.push({file:_,errors:[Ia]})}),z.splice(0)),C({acceptedFiles:z,fileRejections:O,isDragReject:O.length>0,type:"setFiles"}),E&&E(z,O,m),O.length>0&&A&&A(O,m),z.length>0&&$&&$(z,m)},[C,s,V,c,o,u,E,$,A,j]),ve=b.useCallback(function(d){d.preventDefault(),d.persist(),ge(d),ne.current=[],xe(d)&&Promise.resolve(l(d)).then(function(m){Te(d)&&!M||fe(m,d)}).catch(function(m){return Q(m)}),C({type:"reset"})},[l,fe,Q,M]),re=b.useCallback(function(){if(me.current){C({type:"openDialog"}),ie();var d={multiple:s,types:ae};window.showOpenFilePicker(d).then(function(m){return l(m)}).then(function(m){fe(m,null),C({type:"closeDialog"})}).catch(function(m){Ba(m)?(ue(m),C({type:"closeDialog"})):Ha(m)?(me.current=!1,D.current?(D.current.value=null,D.current.click()):Q(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."))):Q(m)});return}D.current&&(C({type:"openDialog"}),ie(),D.current.value=null,D.current.click())},[C,ie,ue,g,fe,Q,ae,s]),Qe=b.useCallback(function(d){!q.current||!q.current.isEqualNode(d.target)||(d.key===" "||d.key==="Enter"||d.keyCode===32||d.keyCode===13)&&(d.preventDefault(),re())},[q,re]),Ze=b.useCallback(function(){C({type:"focus"})},[]),et=b.useCallback(function(){C({type:"blur"})},[]),tt=b.useCallback(function(){x||(_a()?setTimeout(re,0):re())},[x,re]),le=function(m){return n?null:m},ke=function(m){return f?null:le(m)},he=function(m){return I?null:le(m)},ge=function(m){M&&m.stopPropagation()},Ft=b.useMemo(function(){return function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},m=d.refKey,z=m===void 0?"ref":m,O=d.role,_=d.onKeyDown,se=d.onFocus,oe=d.onBlur,$e=d.onClick,Ae=d.onDragEnter,Ie=d.onDragOver,ye=d.onDragLeave,qe=d.onDrop,Ne=Re(d,Fa);return R(R(Pe({onKeyDown:ke(L(_,Qe)),onFocus:ke(L(se,Ze)),onBlur:ke(L(oe,et)),onClick:le(L($e,tt)),onDragEnter:he(L(Ae,Ye)),onDragOver:he(L(Ie,Je)),onDragLeave:he(L(ye,Xe)),onDrop:he(L(qe,ve)),role:typeof O=="string"&&O!==""?O:"presentation"},z,q),!n&&!f?{tabIndex:0}:{}),Ne)}},[q,Qe,Ze,et,tt,Ye,Je,Xe,ve,f,I,n]),Vt=b.useCallback(function(d){d.stopPropagation()},[]),Wt=b.useMemo(function(){return function(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},m=d.refKey,z=m===void 0?"ref":m,O=d.onChange,_=d.onClick,se=Re(d,Va),oe=Pe({accept:V,multiple:s,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:le(L(O,ve)),onClick:le(L(_,Vt)),tabIndex:-1},z,D);return R(R({},oe),se)}},[D,i,s,ve,n]);return R(R({},Me),{},{isFocused:Ut&&!n,getRootProps:Ft,getInputProps:Wt,rootRef:q,inputRef:D,open:le(re)})}function ti(e,t){switch(t.type){case"focus":return R(R({},e),{},{isFocused:!0});case"blur":return R(R({},e),{},{isFocused:!1});case"openDialog":return R(R({},Ue),{},{isFileDialogActive:!0});case"closeDialog":return R(R({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return R(R({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return R(R({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case"reset":return R({},Ue);default:return e}}function vt(){}var $t={},ze={},Y={};Object.defineProperty(Y,"__esModule",{value:!0});Y.StateType=Y.Types=void 0;var ht;(function(e){e.unknown="unknown",e.airCondition="airCondition",e.blind="blind",e.blindButtons="blindButtons",e.button="button",e.buttonSensor="buttonSensor",e.camera="camera",e.chart="chart",e.cie="cie",e.ct="ct",e.dimmer="dimmer",e.door="door",e.fireAlarm="fireAlarm",e.floodAlarm="floodAlarm",e.gate="gate",e.hue="hue",e.humidity="humidity",e.illuminance="illuminance",e.image="image",e.info="info",e.instance="instance",e.light="light",e.location="location",e.locationOne="locationOne",e.lock="lock",e.media="media",e.motion="motion",e.rgb="rgb",e.rgbSingle="rgbSingle",e.rgbwSingle="rgbwSingle",e.slider="slider",e.socket="socket",e.temperature="temperature",e.thermostat="thermostat",e.vacuumCleaner="vacuumCleaner",e.volume="volume",e.volumeGroup="volumeGroup",e.warning="warning",e.weatherCurrent="weatherCurrent",e.weatherForecast="weatherForecast",e.window="window",e.windowTilt="windowTilt"})(ht||(Y.Types=ht={}));var gt;(function(e){e.Number="number",e.String="string",e.Boolean="boolean"})(gt||(Y.StateType=gt={}));var k={};Object.defineProperty(k,"__esModule",{value:!0});k.checkEnum=At;k.roleOrEnum=pe;k.roleOrEnumLight=ai;k.roleOrEnumBlind=ii;k.roleOrEnumGate=ni;k.roleOrEnumWindow=ri;k.roleOrEnumDoor=li;k.getEnums=oi;k.getAllStatesInChannel=ci;k.getAllStatesInDevice=pi;k.getObjectsBelowId=Bt;k.getFunctionEnums=si;k.getParentId=di;function At(e,t){let i=!1;return e&&e.forEach(n=>{const l=n.lastIndexOf(".");l!==-1&&(n=n.substring(l+1));for(const o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&t[o].find(c=>c.test(n)))return i=!0,!1}),i}function pe(e,t,i,n){return e.common.role&&(i!=null&&i.includes(e.common.role))?!0:At(t,n)}const It={en:[/lights?/i,/lamps?/i,/ceilings?/i],de:[/licht(er)?/i,/lampen?/i,/beleuchtung(en)?/i],ru:[/свет/i,/ламп[аы]/i,/торшеры?/,/подсветк[аи]/i,/лампочк[аи]/i,/светильники?/i]},qt=["switch.light","dimmer","value.dimmer","level.dimmer","sensor.light","state.light"];function ai(e,t){return pe(e,t,qt,It)}const Ee={en:[/blinds?/i,/windows?/i,/shutters?/i],de:[/rollladen?/i,/fenstern?/i,/beschattung(en)?/i,/jalousien?/i],ru:[/ставни/i,/рольставни/i,/окна|окно/,/жалюзи/i]},Nt=["blind","level.blind","value.blind","action.stop","button.stop","button.stop.blind","button.open.blind","button.close.blind","level.tilt","value.tilt","button.tilt.open","button.tilt.close","button.tilt.stop"];function ii(e,t){return pe(e,t,Nt,Ee)}const Ct={en:[/gates?/i],de:[/^toren$/i,/^tor$/i],ru:[/ворота/i]},_t=["gate","value.gate","switch.gate","action.stop","button.stop"];function ni(e,t){return pe(e,t,_t,Ct)}const Dt=["window","state.window","sensor.window","value.window"];function ri(e,t){return pe(e,t,Dt,Ee)}const jt={en:[/doors?/i,/gates?/i,/wickets?/i,/entry|entries/i],de:[/^türe?/i,/^tuere?/i,/^tore?$/i,/einfahrt(en)?/i,/pforten?/i],ru:[/двери|дверь/i,/ворота/i,/калитка|калитки/,/въезды?/i,/входы?/i]},Lt=["door","state.door","sensor.door"];function li(e,t){return pe(e,t,Lt,jt)}function oi(){return{door:{roles:Lt,words:jt},window:{roles:Dt,words:Ee},blind:{roles:Nt,words:Ee},gate:{roles:_t,words:Ct},light:{roles:qt,words:It}}}function ci(e,t){const i=[],n=new RegExp(`^${t.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+$`);return e.forEach(l=>n.test(l)&&i.push(l)),i}function pi(e,t){const i=[],n=new RegExp(`^${t.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+\\.[^.]+$`);return e.forEach(l=>n.test(l)&&i.push(l)),i}function Bt(e,t){const i=[];t+=".";let n=0,l=e.length-1,o=-1;for(;n<=l;){const c=Math.floor((n+l)/2);e[c]=e.length)return i;for(let c=o;c{t[c].common.members.includes(i)&&o.push(c)}),!o.length&&((l=t[i])===null||l===void 0?void 0:l.type)==="state"){const c=(0,G.getParentId)(i);t[c]&&(t[c].type==="channel"||t[c].type==="device")&&this.enums.forEach(s=>{t[s].common.members.includes(c)&&o.push(s)})}return o.length?o:null}static copyState(t,i){const n=i||JSON.parse(JSON.stringify(t));return n.original=t.original||t,"enums"in t&&t.enums&&(n.enums=t.enums),"role"in t&&t.role&&(n.role=t.role),"channelRole"in t&&t.channelRole&&(n.channelRole=t.channelRole),n}_testOneState(t){var i,n,l,o,c,s;const u=t.objects,S=t.pattern,v=t.state,h=t.channelStates,E=t.usedIds,$=t.usedInCurrentDevice,A=t.ignoreIndicators,N=t.ignoreEnums,P=t.sortedKeys;let g=t.result,U=!1;for(const T of h)if(!(v.name==="COVER"&&(g!=null&&g.states.find(x=>x.id&&x.name==="COVER")))){if(v.indicator&&A){const f=T.split(".").pop()||"";if(f&&A.includes(f))continue}if((v.indicator||!$.includes(T)&&(v.notSingle||!E.includes(T)))&&this._applyPattern(u,T,v,N,P)){if(g||(g=JSON.parse(JSON.stringify(W.patterns[S])),t.result=g,g==null||g.states.forEach((x,f)=>H.copyState(W.patterns[S].states[f],x))),g.states.find(({id:x})=>x===T))U=!0;else for(const x of g.states)if(x.name===v.name){if(x.id){let f;t.favorId&&(T===t.favorId?f=!0:x.id===t.favorId&&(f=!1));const I=(l=(n=(i=u[x.id])===null||i===void 0?void 0:i.common)===null||n===void 0?void 0:n.role)!==null&&l!==void 0?l:"",M=(s=(c=(o=u[T])===null||o===void 0?void 0:o.common)===null||c===void 0?void 0:c.role)!==null&&s!==void 0?s:"",F=x.defaultRole;if(F&&f===void 0&&(M===F?f=!0:I===F&&(f=!1)),f===void 0){const j=M.split("."),V=j.length,ae=I.split("."),ie=ae.length;M===""||j[0]==="state"&&ae[0]!=="state"?f=!1:j[0]!=="state"&&ae[0]==="state"||V>ie?f=!0:V1)){for(const x of h)if(x!==T&&(v.indicator||!$.includes(x)&&(v.notSingle||!E.includes(x)))&&this._applyPattern(u,x,v,N,P))if(v.indicator||$.push(x),Array.isArray(v)){const f=H.copyState(v[0]);f.id=x,g.states.push(f)}else{const f=H.copyState(v);f.id=x,g.states.push(f)}}}}return U}static findParentChannelOrDevice(t,i){if(!t[i])return;const n=i.split("."),l=i;if(t[i].type==="state"&&(n.pop(),i=n.join(".")),n.length<=2)return i;const o=t[i];if((o==null?void 0:o.type)==="device")return i;n.pop();const c=n.join("."),s=t[c];if(!s)return o?i:l;if(s.type==="device"||n.length<=2)return c;if(o.type==="channel")return i;n.pop();const u=n.join("."),S=t[u];return!S||S.type!=="device"&&S.type!=="channel"?c:u}static getChannelOrDeviceStates(t,i,n,l=!1){var o;const c=(o=t[i])===null||o===void 0?void 0:o.type;switch(c){case void 0:return[...(0,G.getObjectsBelowId)(n,i)];case"state":case"channel":case"device":case"folder":if(l&&c!=="device"){const s=H.findParentChannelOrDevice(t,i);return s?[...(0,G.getObjectsBelowId)(n,s)]:[i]}return c!=="state"?[...(0,G.getObjectsBelowId)(n,i)]:[i];default:return[i]}}static patternIsAllowed(t,i,n){if(!t)return!1;if(Array.isArray(t.type)){for(let l=0;l{const o=t.indexOf(n),c=t.indexOf(l);if(o===-1||c===-1)return;const s=t.splice(o,1);t.splice(c,0,...s)}),t}_detectNext(t){var i,n,l,o;const{objects:c,id:s,_usedIdsOptional:u=[],ignoreIndicators:S,prioritizedTypes:v,detectParent:h,allowedTypes:E,excludedTypes:$,_keysOptional:A}=t;let{_patternList:N}=t;t._usedIdsOptional=u;const P=H.getChannelOrDeviceStates(c,s,A||[],h);if(!(!((i=c[s])===null||i===void 0)&&i.common)&&!P.length)return null;if(t._checkedPatterns=(n=t._checkedPatterns)!==null&&n!==void 0?n:[],!N){const T=Object.keys(W.patterns).filter(x=>H.patternIsAllowed(W.patterns[x],E,$));N=v?this.sortTypes(T,v):T,t._patternList=N}const g={objects:c,channelStates:P,usedIds:u,ignoreIndicators:S||[],pattern:Z.Types.unknown,usedInCurrentDevice:[],state:{},ignoreEnums:!!t.ignoreEnums,sortedKeys:A,favorId:t.detectParent?void 0:s},U=(l=c[s])===null||l===void 0?void 0:l.type;for(const T of N){if(t._checkedPatterns.includes(T))continue;t._checkedPatterns.push(T),delete g.result,g.pattern=T,g.usedInCurrentDevice=[];for(const f of W.patterns[T].states){let I=!1;if(g.state=f,this._testOneState(g)&&(I=!0),f.required&&!I){delete g.result;break}}if(!H.allRequiredStatesFound(g))continue;g.usedInCurrentDevice.forEach(f=>u.push(f));let x;if(U!=="device"){const f=(o=H.findParentChannelOrDevice(c,s))!==null&&o!==void 0?o:s;if(c[f]&&(c[f].type==="channel"||c[f].type==="device")){x=(0,G.getObjectsBelowId)(A,f);for(const I of x)g.result.states.forEach((M,F)=>{!M.id&&(M.indicator||M.searchInParent)&&!M.noDeviceDetection&&this._applyPattern(c,I,M.original,!!t.ignoreEnums,g.sortedKeys)&&g.result&&(g.result.states[F].id=I)})}}if(g.result.states.forEach(f=>H.cleanState(f,g.objects)),t.limitTypesToOneOf){for(const f of t.limitTypesToOneOf)if(f.includes(T))for(const I of f)I===T||t._checkedPatterns.includes(I)||t._checkedPatterns.push(I)}return g.result}return null}detect(t){var i;const{objects:n,id:l,ignoreCache:o,detectAllPossibleDevices:c}=t;let{_keysOptional:s,_usedIdsOptional:u}=t;if(!o&&this.cache[l]){const{allowedTypes:h=[],excludedTypes:E=[]}=t;if(!h.length&&!E.length)return this.cache[l];const $=this.cache[l].filter(({type:A})=>h.includes(A)&&!E.includes(A));if($.length)return $}s?t._keysOptionalSorted||s.sort():(s=Object.keys(n),s.sort(),t._keysOptional=s),u&&!t.detectParent&&(u=[],t._usedIdsOptional=u),t.ignoreEnums===void 0&&((i=t.allowedTypes)===null||i===void 0?void 0:i.length)===1&&(t.ignoreEnums=!0),c&&(t.excludedTypes||(t.excludedTypes=[]),t.excludedTypes.includes(Z.Types.info)||t.excludedTypes.push(Z.Types.info)),t._checkedPatterns=[];const S=[];let v;for(;v=this._detectNext(t);)S.push(v),t.detectAllPossibleDevices&&(t._usedIdsOptional=[]);return this.cache[l]=S.length?S:null,this.cache[l]}static getPatterns(){const t={};return Object.keys(W.patterns).forEach(i=>{const n=JSON.parse(JSON.stringify(W.patterns[i]));n.states.forEach((l,o)=>{const c=W.patterns[i].states[o];c.role&&(n.states[o].role=c.role.toString()),c.enums&&(n.states[o].enums=!0)}),t[i]=n}),t}};ze.ChannelDetector=Ht;Ht.getEnums=G.getEnums;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.StateType=e.Types=void 0;const t=ze;e.default=t.ChannelDetector;var i=Y;Object.defineProperty(e,"Types",{enumerable:!0,get:function(){return i.Types}}),Object.defineProperty(e,"StateType",{enumerable:!0,get:function(){return i.StateType}})})($t);const Xn=Jt($t);export{Xi as $,wi as A,ln as B,Vn as C,Fe as D,Yi as E,zn as F,Kn as G,on as H,Fn as I,dn as J,nn as K,Yn as L,qi as M,an as N,rn as O,Ai as P,Xn as Q,$t as R,Jn as S,_i as T,Ci as U,Ui as V,Bi as W,yi as X,En as Y,yn as Z,nt as _,Un as a,gn as a0,gi as a1,Mi as a2,tn as a3,pn as a4,ei as a5,p as a6,Ii as a7,Di as a8,Wi as a9,Ti as aA,en as aB,$i as aC,fn as aD,Ji as aa,Hn as ab,Ri as ac,Bn as ad,jn as ae,qn as af,Vi as ag,Nn as ah,vn as ai,Cn as aj,An as ak,$n as al,kn as am,Pn as an,Mn as ao,Sn as ap,_n as aq,In as ar,Pi as as,ki as at,Hi as au,wn as av,Dn as aw,Ln as ax,bn as ay,xn as az,Gn as b,Wn as c,Ni as d,bi as e,Si as f,On as g,Tn as h,hn as i,Rn as j,Zi as k,Li as l,hi as m,Fi as n,cn as o,sn as p,ji as q,Ki as r,Ei as s,zi as t,Qi as u,mn as v,un as w,Gi as x,xi as y,Oi as z}; diff --git a/admin/assets/index-DUBaHZ92.css b/admin/assets/index-DUBaHZ92.css new file mode 100644 index 000000000..a52a1402a --- /dev/null +++ b/admin/assets/index-DUBaHZ92.css @@ -0,0 +1 @@ +._wrapperRules_nnott_1{background:linear-gradient(0deg,var(--backgroundGlobalColor),var(--backgroundGlobalColor)),url(./back-CXiqI7Po.jpg);background-repeat:no-repeat;background-size:cover;height:100%;display:flex}._rootWrapper_nnott_9{display:flex;width:100%}._addClass_nnott_14{flex-direction:column;height:auto;overflow:auto}@media screen and (max-width: 835px){._rootWrapper_nnott_9{flex-direction:column;height:auto;overflow:auto}}._switchesItem_10ls3_1{max-width:200px;width:auto;display:flex;margin:5px 0;padding:12px 0;align-items:center;border:1px solid rgba(255,255,255,0);transition:all .7s;color:var(--colorInput)}._switchesItem_10ls3_1 span{overflow:hidden;text-overflow:ellipsis;width:100%;margin-left:15px;color:var(--lineColorActive);white-space:nowrap}._switchesItem_10ls3_1:hover,._switchesItemActive_10ls3_28{border:1px solid var(--lineColor);color:var(--lineColorHover);border-radius:6px;background:var(--backgroundColor);cursor:pointer}._iconTheme_10ls3_36{width:30px!important;height:30px!important;margin-left:5px}._iconTheme_10ls3_36 *{color:var(--lineColorActive)!important}._cardStyle_8rq8v_1{cursor:pointer;position:relative;min-width:200px;width:calc(100% - 72px);height:fit-content;min-height:70px;display:flex;padding:10px;margin:23px 12px 4px;align-items:center;background:#ffffff6b;border-radius:4px;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}._cardStyleActive_8rq8v_17{width:300px;z-index:100}._controlMenu_8rq8v_22{display:flex;position:absolute;right:-31px;width:30px;height:100%;transition:opacity .5s}._closeBtn_8rq8v_31{width:20px;height:20px;border-radius:20px;position:relative;z-index:1;margin:5px auto;cursor:pointer}._closeBtn_8rq8v_31:before{content:"+";color:#f7060684;position:absolute;z-index:2;transform:rotate(45deg);font-size:30px;line-height:1;top:-6px;left:2px;transition:all .3s cubic-bezier(.77,0,.2,.85)}._closeBtn_8rq8v_31:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;background:var(--backgroundColorHumburger);z-index:1;transition:all .3s cubic-bezier(.77,0,.2,.85);transform:scale(.01)}._closeBtn_8rq8v_31:hover:after{transform:scale(1)}._closeBtn_8rq8v_31:hover:before{transform:scale(.8) rotate(45deg);color:#fff}._isDelete_8rq8v_73{height:0;min-height:0;overflow:hidden;padding:0 10px;margin:0 12px;transition:all .25s;background:#fff;opacity:.8;box-shadow:0 0 10px #6accff}@media screen and (max-width: 835px){._controlMenu_8rq8v_22{opacity:1!important}}._drag_mobile_8rq8v_90{display:none}@media screen and (max-width: 600px){._drag_mobile_8rq8v_90{display:flex;width:30px;height:20px;background:repeating-linear-gradient(180deg,var(--lineColorActive),var(--lineColorActive) 4px,var(--backgroundColorHumburger) 4px,var(--backgroundColorHumburger) 8px);border:1px solid var(--lineColorActive);border-radius:5px 0 0;position:absolute;top:0;left:0;cursor:pointer}}._border_wrpm3_1{border-left:1px solid var(--lineColor);border-right:1px solid var(--lineColor)}._emptyBlockStyle_wrpm3_6{cursor:pointer;width:auto;background:#ffffff1f;display:flex;margin:10px 40px 10px 10px;align-items:center;border-radius:4px}._emptyBlock_wrpm3_6{padding:10px;margin-top:10px;animation:_marginTop_wrpm3_1 .12s}._selectOnChange_wrpm3_22{margin-left:12px;color:var(--lineColor)!important;width:calc(100% - 42px)}._selectOnChangeHelp_wrpm3_28{color:var(--lineColor);vertical-align:middle;cursor:pointer}._selectOnChangeHelpIcon_wrpm3_34{color:var(--lineColor)}@keyframes _marginTop_wrpm3_1{0%{padding:0;margin-top:70px;height:0}to{padding:10px;margin-top:10px}}._emptyBlockNone_wrpm3_49{height:0;animation:none;transition:height .02s}._mainBlockItemRules_wrpm3_55{display:flex;flex:1 3;flex-direction:column;transition:all .5s;z-index:9;overflow:auto}._mainBlockItemRules_wrpm3_55 ._nameBlockItems_wrpm3_63{color:var(--lineColor);margin-top:10px;width:100%;display:flex;height:fit-content;justify-content:center;align-items:center}._contentBlockItem_wrpm3_73{height:100%;display:flex;flex-direction:column;overflow:auto;transition:height .3s,background .5s}._wrapperMargin_wrpm3_81{margin:auto 0;display:flex;flex-direction:column}._contentHeightOn_wrpm3_87{animation:_heightBlock_wrpm3_1 .3s}@keyframes _heightBlock_wrpm3_1{0%{height:0}to{height:100%}}._contentHeightOff_wrpm3_99{height:0;overflow:hidden;animation:none}._cardAdd_wrpm3_105{display:flex;align-items:center;text-align:center;margin:0 10px;width:100%;color:var(--lineColor)}._cardAdd_wrpm3_105:after,._cardAdd_wrpm3_105:before{content:"";flex:1;border-bottom:1px solid}._cardAdd_wrpm3_105:after{margin-left:.25em}._cardAdd_wrpm3_105:before{margin-right:.25em}._blockCardAdd_wrpm3_125{display:flex;padding:0 10px 6px;align-items:center;color:#fff;cursor:pointer}._blockCardAdd_wrpm3_125 *{color:#ffffffb3}._addClassOverflow_wrpm3_136{overflow:initial}._addClassHeight_wrpm3_140{min-height:300px}@media screen and (max-width: 835px){._mainBlockItemRules_wrpm3_55{overflow:initial}._contentBlockItem_wrpm3_73{min-height:300px}._contentHeightOff_wrpm3_99{min-height:0;transition:min-height .3s}._contentHeightOn_wrpm3_87{transition:min-height .3s}._border_wrpm3_1{border-left:initial;border-right:initial}}._drag_7xfhc_1{width:32px;height:22px;position:absolute;top:23px;left:12px;z-index:1;cursor:pointer}._root_7xfhc_11{position:relative}._menuRules_1qqcb_1{width:200px;display:flex;flex-direction:column;background:var(--backgroundColor);border-right:1px solid var(--lineColor);padding:10px;opacity:1;overflow-x:hidden;transition:width .5s,opacity .2s,padding .5s,background .2s,border-right .2s}._switchesRenderWrapper_1qqcb_13{overflow-x:hidden;overflow-y:auto;direction:rtl}._switchesRenderWrapper_1qqcb_13 span{direction:ltr}._menuOff_1qqcb_22{width:0;opacity:0;padding:0}._menuTitle_1qqcb_28{display:flex;align-items:center;text-align:center;color:var(--lineColor);white-space:nowrap;transition:color .2s}._menuTitle_1qqcb_28:after,._menuTitle_1qqcb_28:before{content:"";flex:1;border-bottom:1px solid}._marginAuto_1qqcb_42{margin-top:auto;margin-bottom:20px}._inputWidth_1qqcb_47{margin-top:0!important;margin-bottom:5px!important}._menuWrapper_1qqcb_52{display:flex;height:100%}._hamburgerWrapper_1qqcb_57{position:absolute;width:32px;height:26px;background:var(--backgroundColorHumburger);border-radius:0 5px 5px 0;display:flex;justify-content:center;padding-top:10px;left:221px;top:30px;border:1px solid var(--lineColor);cursor:pointer;transition:left .5s,border-radius .7s,width .7s,height .7s,background .2s,border .2s;z-index:10}._hamburgerOff_1qqcb_74{left:20px;padding-top:12px;border-radius:20px;width:40px;height:28px}._nothingFound_1qqcb_82{color:var(--lineColor);margin:16px;font-size:21px;transition:color .2s}._resetSearch_1qqcb_89{font-weight:700;color:var(--lineColor);cursor:pointer;margin:10px 0;transition:color .3s,font-size .3s}._resetSearch_1qqcb_89:hover{color:var(--lineColorHover);font-size:22px}._controlPanel_1qqcb_101{display:flex;align-items:center;width:200px}._controlPanel_1qqcb_101 button{width:33.3333333333%;min-width:auto;color:var(--lineColor);transition:color .2s}._controlPanel_1qqcb_101 ._controlPanelAppBar_1qqcb_112{background:none;box-shadow:none}._controlPanel_1qqcb_101 [class*=Mui-selected]{color:var(--lineColorActive)!important}._controlPanel_1qqcb_101 [class*=MuiTabs-indicator]{background-color:var(--lineColorActive)}._controlPanel_1qqcb_101 [class*=Mui-disabled]{color:#210025cc!important}._addClassMenu_1qqcb_126{position:absolute;z-index:12;top:0}._addClassBackground_1qqcb_132{background:var(--backgroundMobile)}._addClassPosition_1qqcb_136{position:sticky;top:0;left:0;z-index:2222}@media screen and (max-width: 1035px){._menuWrapper_1qqcb_52{position:absolute;z-index:12;top:0}._menuRules_1qqcb_1{background:var(--backgroundMobile)}}@media screen and (max-width: 835px){._menuRules_1qqcb_1{position:sticky;top:0;left:0;z-index:2222}}._menu_wrapper_hqnsm_1{outline:0;outline-offset:0;margin-top:12px;cursor:pointer}._hamburgerMenu_hqnsm_8,._hamburgerMenu_hqnsm_8:after,._hamburgerMenu_hqnsm_8:before{width:20px;height:2px}._hamburgerMenu_hqnsm_8{position:relative;transform:translateY(7px);background:var(--lineColorActive);transition:all 0ms .3s}._hamburgerMenu_hqnsm_8._animate_hqnsm_21{background:#dfbdec00}._hamburgerMenu_hqnsm_8:before{content:"";position:absolute;left:0;bottom:7px;background:var(--lineColorActive);transition:bottom .3s .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1)}._hamburgerMenu_hqnsm_8:after{content:"";position:absolute;left:0;top:7px;background:var(--lineColorActive);transition:top .3s .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1)}._hamburgerMenu_hqnsm_8._animate_hqnsm_21:after{top:0;transform:rotate(45deg);transition:top .3s cubic-bezier(.23,1,.32,1),transform .3s .3s cubic-bezier(.23,1,.32,1)}._hamburgerMenu_hqnsm_8._animate_hqnsm_21:before{bottom:0;transform:rotate(-45deg);transition:bottom .3s cubic-bezier(.23,1,.32,1),transform .3s .3s cubic-bezier(.23,1,.32,1)}._menu_conatiner_wrapper_hqnsm_55{display:none}:root.blue{--backgroundColor: rgba(48, 82, 129, .231372549);--lineColor: rgba(76, 170, 244, .4901960784);--lineColorHover: #ccceff;--lineColorActive: #4caaf4;--backgroundColorHumburger: rgba(67, 106, 147, .7215686275);--colorBlock: #02124b;--colorBlockHover: rgba(2, 18, 75, .5490196078);--colorInput: #02124b;--backgroundBlock: rgba(201, 231, 255, .6705882353);--backgroundGlobalColor: rgba(255, 255, 255, 0);--backgroundMobile: rgba(4, 28, 53, .831372549);--debugColor: #c6511b}:root.colored{--backgroundColor: rgba(48, 82, 129, .231372549);--lineColor: rgba(76, 170, 244, .4901960784);--lineColorHover: #ccceff;--lineColorActive: #4caaf4;--backgroundColorHumburger: rgba(67, 106, 147, .7215686275);--colorBlock: #02124b;--colorBlockHover: rgba(2, 18, 75, .5490196078);--colorInput: #02124b;--backgroundBlock: rgba(201, 231, 255, .6705882353);--backgroundGlobalColor: rgba(255, 255, 255, 0);--backgroundMobile: rgba(4, 28, 53, .831372549);--debugColor: #c6511b}:root.dark{--backgroundColor: rgba(31, 31, 31, .23);--lineColor: rgba(243, 243, 243, .4901960784);--lineColorHover: #a0a0a0;--lineColorActive: #dedede;--backgroundColorHumburger: rgba(62, 62, 62, .7215686275);--colorBlock: #080808;--colorBlockHover: rgba(8, 8, 8, .5490196078);--colorInput: #ddd;--backgroundBlock: rgba(193, 193, 193, .6705882353);--backgroundGlobalColor: rgba(28, 28, 28, .93);--backgroundMobile: rgba(4, 3, 3, .9215686275);--debugColor: #c6511b}:root.light{--backgroundColor: rgba(49, 49, 49, .231372549);--lineColor: rgba(0, 1, 37, .4901960784);--lineColorHover: #a0a0a0;--lineColorActive: #07002f;--backgroundColorHumburger: rgba(51, 53, 66, .6392156863);--colorBlock: #090929;--colorBlockHover: rgba(199, 198, 198, .5490196078);--colorInput: #090929;--backgroundBlock: #000000;--backgroundGlobalColor: rgba(255, 255, 255, .2509803922);--backgroundMobile: rgba(180, 178, 199, .7490196078);--debugColor: #c6511b} diff --git a/admin/assets/index-Dm1jc4t6.js b/admin/assets/index-Dm1jc4t6.js new file mode 100644 index 000000000..30ba212d3 --- /dev/null +++ b/admin/assets/index-Dm1jc4t6.js @@ -0,0 +1 @@ +import{g as ae}from"./_commonjsHelpers-Cpj98o6Y.js";var Y={},M={},O={};Object.defineProperty(O,"__esModule",{value:!0});O.StateType=O.Types=void 0;var F;(function(i){i.unknown="unknown",i.airCondition="airCondition",i.blind="blind",i.blindButtons="blindButtons",i.button="button",i.buttonSensor="buttonSensor",i.camera="camera",i.chart="chart",i.cie="cie",i.ct="ct",i.dimmer="dimmer",i.door="door",i.fireAlarm="fireAlarm",i.floodAlarm="floodAlarm",i.gate="gate",i.hue="hue",i.humidity="humidity",i.illuminance="illuminance",i.image="image",i.info="info",i.instance="instance",i.light="light",i.location="location",i.locationOne="locationOne",i.lock="lock",i.media="media",i.motion="motion",i.rgb="rgb",i.rgbSingle="rgbSingle",i.rgbwSingle="rgbwSingle",i.slider="slider",i.socket="socket",i.temperature="temperature",i.thermostat="thermostat",i.vacuumCleaner="vacuumCleaner",i.volume="volume",i.volumeGroup="volumeGroup",i.warning="warning",i.weatherCurrent="weatherCurrent",i.weatherForecast="weatherForecast",i.window="window",i.windowTilt="windowTilt"})(F||(O.Types=F={}));var x;(function(i){i.Number="number",i.String="string",i.Boolean="boolean"})(x||(O.StateType=x={}));var b={};Object.defineProperty(b,"__esModule",{value:!0});b.checkEnum=V;b.roleOrEnum=B;b.roleOrEnumLight=le;b.roleOrEnumBlind=ie;b.roleOrEnumGate=ne;b.roleOrEnumWindow=oe;b.roleOrEnumDoor=ue;b.getEnums=se;b.getAllStatesInChannel=de;b.getAllStatesInDevice=fe;b.getObjectsBelowId=te;b.getFunctionEnums=ce;b.getParentId=me;function V(i,r){let l=!1;return i&&i.forEach(a=>{const o=a.lastIndexOf(".");o!==-1&&(a=a.substring(o+1));for(const u in r)if(Object.prototype.hasOwnProperty.call(r,u)&&r[u].find(n=>n.test(a)))return l=!0,!1}),l}function B(i,r,l,a){return i.common.role&&(l!=null&&l.includes(i.common.role))?!0:V(r,a)}const K={en:[/lights?/i,/lamps?/i,/ceilings?/i],de:[/licht(er)?/i,/lampen?/i,/beleuchtung(en)?/i],ru:[/свет/i,/ламп[аы]/i,/торшеры?/,/подсветк[аи]/i,/лампочк[аи]/i,/светильники?/i]},j=["switch.light","dimmer","value.dimmer","level.dimmer","sensor.light","state.light"];function le(i,r){return B(i,r,j,K)}const D={en:[/blinds?/i,/windows?/i,/shutters?/i],de:[/rollladen?/i,/fenstern?/i,/beschattung(en)?/i,/jalousien?/i],ru:[/ставни/i,/рольставни/i,/окна|окно/,/жалюзи/i]},J=["blind","level.blind","value.blind","action.stop","button.stop","button.stop.blind","button.open.blind","button.close.blind","level.tilt","value.tilt","button.tilt.open","button.tilt.close","button.tilt.stop"];function ie(i,r){return B(i,r,J,D)}const X={en:[/gates?/i],de:[/^toren$/i,/^tor$/i],ru:[/ворота/i]},z=["gate","value.gate","switch.gate","action.stop","button.stop"];function ne(i,r){return B(i,r,z,X)}const Q=["window","state.window","sensor.window","value.window"];function oe(i,r){return B(i,r,Q,D)}const Z={en:[/doors?/i,/gates?/i,/wickets?/i,/entry|entries/i],de:[/^türe?/i,/^tuere?/i,/^tore?$/i,/einfahrt(en)?/i,/pforten?/i],ru:[/двери|дверь/i,/ворота/i,/калитка|калитки/,/въезды?/i,/входы?/i]},ee=["door","state.door","sensor.door"];function ue(i,r){return B(i,r,ee,Z)}function se(){return{door:{roles:ee,words:Z},window:{roles:Q,words:D},blind:{roles:J,words:D},gate:{roles:z,words:X},light:{roles:j,words:K}}}function de(i,r){const l=[],a=new RegExp(`^${r.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+$`);return i.forEach(o=>a.test(o)&&l.push(o)),l}function fe(i,r){const l=[],a=new RegExp(`^${r.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+\\.[^.]+$`);return i.forEach(o=>a.test(o)&&l.push(o)),l}function te(i,r){const l=[];r+=".";let a=0,o=i.length-1,u=-1;for(;a<=o;){const n=Math.floor((a+o)/2);i[n]=i.length)return l;for(let n=u;n{r[n].common.members.includes(l)&&u.push(n)}),!u.length&&((o=r[l])===null||o===void 0?void 0:o.type)==="state"){const n=(0,q.getParentId)(l);r[n]&&(r[n].type==="channel"||r[n].type==="device")&&this.enums.forEach(d=>{r[d].common.members.includes(n)&&u.push(d)})}return u.length?u:null}static copyState(r,l){const a=l||JSON.parse(JSON.stringify(r));return a.original=r.original||r,"enums"in r&&r.enums&&(a.enums=r.enums),"role"in r&&r.role&&(a.role=r.role),"channelRole"in r&&r.channelRole&&(a.channelRole=r.channelRole),a}_testOneState(r){var l,a,o,u,n,d;const m=r.objects,w=r.pattern,y=r.state,S=r.channelStates,h=r.usedIds,$=r.usedInCurrentDevice,E=r.ignoreIndicators,A=r.ignoreEnums,_=r.sortedKeys;let c=r.result,C=!1;for(const T of S)if(!(y.name==="COVER"&&(c!=null&&c.states.find(p=>p.id&&p.name==="COVER")))){if(y.indicator&&E){const s=T.split(".").pop()||"";if(s&&E.includes(s))continue}if((y.indicator||!$.includes(T)&&(y.notSingle||!h.includes(T)))&&this._applyPattern(m,T,y,A,_)){if(c||(c=JSON.parse(JSON.stringify(I.patterns[w])),r.result=c,c==null||c.states.forEach((p,s)=>g.copyState(I.patterns[w].states[s],p))),c.states.find(({id:p})=>p===T))C=!0;else for(const p of c.states)if(p.name===y.name){if(p.id){let s;r.favorId&&(T===r.favorId?s=!0:p.id===r.favorId&&(s=!1));const v=(o=(a=(l=m[p.id])===null||l===void 0?void 0:l.common)===null||a===void 0?void 0:a.role)!==null&&o!==void 0?o:"",N=(d=(n=(u=m[T])===null||u===void 0?void 0:u.common)===null||n===void 0?void 0:n.role)!==null&&d!==void 0?d:"",P=p.defaultRole;if(P&&s===void 0&&(N===P?s=!0:v===P&&(s=!1)),s===void 0){const L=N.split("."),H=L.length,W=v.split("."),G=W.length;N===""||L[0]==="state"&&W[0]!=="state"?s=!1:L[0]!=="state"&&W[0]==="state"||H>G?s=!0:H1)){for(const p of S)if(p!==T&&(y.indicator||!$.includes(p)&&(y.notSingle||!h.includes(p)))&&this._applyPattern(m,p,y,A,_))if(y.indicator||$.push(p),Array.isArray(y)){const s=g.copyState(y[0]);s.id=p,c.states.push(s)}else{const s=g.copyState(y);s.id=p,c.states.push(s)}}}}return C}static findParentChannelOrDevice(r,l){if(!r[l])return;const a=l.split("."),o=l;if(r[l].type==="state"&&(a.pop(),l=a.join(".")),a.length<=2)return l;const u=r[l];if((u==null?void 0:u.type)==="device")return l;a.pop();const n=a.join("."),d=r[n];if(!d)return u?l:o;if(d.type==="device"||a.length<=2)return n;if(u.type==="channel")return l;a.pop();const m=a.join("."),w=r[m];return!w||w.type!=="device"&&w.type!=="channel"?n:m}static getChannelOrDeviceStates(r,l,a,o=!1){var u;const n=(u=r[l])===null||u===void 0?void 0:u.type;switch(n){case void 0:return[...(0,q.getObjectsBelowId)(a,l)];case"state":case"channel":case"device":case"folder":if(o&&n!=="device"){const d=g.findParentChannelOrDevice(r,l);return d?[...(0,q.getObjectsBelowId)(a,d)]:[l]}return n!=="state"?[...(0,q.getObjectsBelowId)(a,l)]:[l];default:return[l]}}static patternIsAllowed(r,l,a){if(!r)return!1;if(Array.isArray(r.type)){for(let o=0;o{const u=r.indexOf(a),n=r.indexOf(o);if(u===-1||n===-1)return;const d=r.splice(u,1);r.splice(n,0,...d)}),r}_detectNext(r){var l,a,o,u;const{objects:n,id:d,_usedIdsOptional:m=[],ignoreIndicators:w,prioritizedTypes:y,detectParent:S,allowedTypes:h,excludedTypes:$,_keysOptional:E}=r;let{_patternList:A}=r;r._usedIdsOptional=m;const _=g.getChannelOrDeviceStates(n,d,E||[],S);if(!(!((l=n[d])===null||l===void 0)&&l.common)&&!_.length)return null;if(r._checkedPatterns=(a=r._checkedPatterns)!==null&&a!==void 0?a:[],!A){const T=Object.keys(I.patterns).filter(p=>g.patternIsAllowed(I.patterns[p],h,$));A=y?this.sortTypes(T,y):T,r._patternList=A}const c={objects:n,channelStates:_,usedIds:m,ignoreIndicators:w||[],pattern:U.Types.unknown,usedInCurrentDevice:[],state:{},ignoreEnums:!!r.ignoreEnums,sortedKeys:E,favorId:r.detectParent?void 0:d},C=(o=n[d])===null||o===void 0?void 0:o.type;for(const T of A){if(r._checkedPatterns.includes(T))continue;r._checkedPatterns.push(T),delete c.result,c.pattern=T,c.usedInCurrentDevice=[];for(const s of I.patterns[T].states){let v=!1;if(c.state=s,this._testOneState(c)&&(v=!0),s.required&&!v){delete c.result;break}}if(!g.allRequiredStatesFound(c))continue;c.usedInCurrentDevice.forEach(s=>m.push(s));let p;if(C!=="device"){const s=(u=g.findParentChannelOrDevice(n,d))!==null&&u!==void 0?u:d;if(n[s]&&(n[s].type==="channel"||n[s].type==="device")){p=(0,q.getObjectsBelowId)(E,s);for(const v of p)c.result.states.forEach((N,P)=>{!N.id&&(N.indicator||N.searchInParent)&&!N.noDeviceDetection&&this._applyPattern(n,v,N.original,!!r.ignoreEnums,c.sortedKeys)&&c.result&&(c.result.states[P].id=v)})}}if(c.result.states.forEach(s=>g.cleanState(s,c.objects)),r.limitTypesToOneOf){for(const s of r.limitTypesToOneOf)if(s.includes(T))for(const v of s)v===T||r._checkedPatterns.includes(v)||r._checkedPatterns.push(v)}return c.result}return null}detect(r){var l;const{objects:a,id:o,ignoreCache:u,detectAllPossibleDevices:n}=r;let{_keysOptional:d,_usedIdsOptional:m}=r;if(!u&&this.cache[o]){const{allowedTypes:S=[],excludedTypes:h=[]}=r;if(!S.length&&!h.length)return this.cache[o];const $=this.cache[o].filter(({type:E})=>S.includes(E)&&!h.includes(E));if($.length)return $}d?r._keysOptionalSorted||d.sort():(d=Object.keys(a),d.sort(),r._keysOptional=d),m&&!r.detectParent&&(m=[],r._usedIdsOptional=m),r.ignoreEnums===void 0&&((l=r.allowedTypes)===null||l===void 0?void 0:l.length)===1&&(r.ignoreEnums=!0),n&&(r.excludedTypes||(r.excludedTypes=[]),r.excludedTypes.includes(U.Types.info)||r.excludedTypes.push(U.Types.info)),r._checkedPatterns=[];const w=[];let y;for(;y=this._detectNext(r);)w.push(y),r.detectAllPossibleDevices&&(r._usedIdsOptional=[]);return this.cache[o]=w.length?w:null,this.cache[o]}static getPatterns(){const r={};return Object.keys(I.patterns).forEach(l=>{const a=JSON.parse(JSON.stringify(I.patterns[l]));a.states.forEach((o,u)=>{const n=I.patterns[l].states[u];n.role&&(a.states[u].role=n.role.toString()),n.enums&&(a.states[u].enums=!0)}),r[l]=a}),r}};M.ChannelDetector=re;re.getEnums=q.getEnums;(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.StateType=i.Types=void 0;const r=M;i.default=r.ChannelDetector;var l=O;Object.defineProperty(i,"Types",{enumerable:!0,get:function(){return l.Types}}),Object.defineProperty(i,"StateType",{enumerable:!0,get:function(){return l.StateType}})})(Y);const ye=ae(Y);export{ye as C,Y as t}; diff --git a/admin/assets/index-Dr_ZFwru.css b/admin/assets/index-Dr_ZFwru.css new file mode 100644 index 000000000..3299f06b8 --- /dev/null +++ b/admin/assets/index-Dr_ZFwru.css @@ -0,0 +1 @@ +html{width:100%;height:100%}.Light.visGutter{background:#dadada!important}.Dark.visGutter{background:#1e1e1e!important}body{overflow:hidden;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100%}.iobVerticalSplitter .layout-pane-primary{overflow:hidden!important}#root{width:100%;height:100%}#___reactour>div:first-of-type{opacity:.4}.layout-pane-primary{height:100%}.blocklyToolboxDiv{left:0!important;width:180px;top:0!important;height:100%!important}.no-underline:before{border-bottom:0!important}.monaco-aria-container{top:0}.iobVerticalSplitter .layout-pane-primary{overflow:hidden}.monacoCurrentLine{background:#59fd8c}.monacoCurrentLineDark{background:#165b2c}.monacoCurrentFullLine{background:#cbffdc;opacity:.7}.monacoCurrentFullLineDark{background:#0e3b1f;opacity:.7}.monacoBreakPointDark{background:maroon;border-radius:50%;width:16px!important;height:16px!important;margin-left:4px}.monacoBreakPoint{background:#d71a1a;border-radius:50%;width:16px!important;height:16px!important;margin-left:4px}@keyframes _fadeIn_15el3_1{0%{opacity:0}1%{opacity:0}to{opacity:1}}._cardStyle_15el3_12{cursor:pointer;position:relative;min-width:200px;width:calc(100% - 72px);height:fit-content;min-height:70px;display:flex;padding:10px;margin:23px 12px 4px;align-items:center;background:var(--backgroundBlock);border-radius:4px;box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}._nameCard_15el3_28{margin-top:0;font-size:19px;color:var(--colorBlock);font-weight:500}._cardStyleActive_15el3_35{width:300px;z-index:100}._iconThemCard_15el3_40{width:40px!important;height:40px!important;margin-left:5px}._iconThemCard_15el3_40 *{color:var(--colorBlock)!important}._iconThemCardSelectable_15el3_49{cursor:pointer}._iconHelp_15el3_53{color:var(--colorBlock)!important;position:absolute!important;top:0;right:5px}._inputCard_15el3_60{margin-top:10px!important}._blockName_15el3_64{margin-left:10px;width:100%;display:flex;flex-direction:column;position:relative}._controlMenu_15el3_72{display:flex;position:absolute;right:-31px;width:30px;height:100%;transition:opacity .5s}._closeBtn_15el3_81{width:20px;height:20px;border-radius:20px;position:relative;z-index:1;margin:5px auto;cursor:pointer}._closeBtn_15el3_81:before{content:"+";color:#f7060684;position:absolute;z-index:2;transform:rotate(45deg);font-size:30px;line-height:1;top:-6px;left:2px;transition:all .3s cubic-bezier(.77,0,.2,.85)}._closeBtn_15el3_81:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;background:#994e9e7d;z-index:1;transition:all .3s cubic-bezier(.77,0,.2,.85);transform:scale(.01)}._closeBtn_15el3_81:hover:after{transform:scale(1)}._closeBtn_15el3_81:hover:before{transform:scale(.8) rotate(45deg);color:#fff}._controlMenuTop_15el3_123{display:flex;position:absolute;left:0;width:100%;overflow:hidden;transition:opacity .5s,height .5s,top .5s}._debugInfo_15el3_132{font-size:12px;font-style:italic;color:var(--debugColor);position:absolute;display:flex;opacity:0;animation:_fadeIn_15el3_1 .3s ease-out}._tagCard_15el3_142{text-align:center;color:var(--lineColorActive);min-width:100px;padding:2px 2px 0;height:22px;background:var(--backgroundColorHumburger);border-radius:5px 5px 0 0;position:relative;margin-left:auto;margin-right:8px;cursor:pointer;border-top:1px solid var(--lineColor);border-left:1px solid var(--lineColor);border-right:1px solid var(--lineColor);font-size:12px}._displayFlex_15el3_161{display:flex;align-items:center}._blockMarginTop_15el3_166,._nameBlock_15el3_167{margin-top:7px}._frontText_15el3_171{margin-right:7px;min-width:80px;display:inline-table}._backText_15el3_177{margin-left:7px}._iconTag_15el3_181{font-size:40px;color:var(--colorBlock);display:flex;align-items:center;min-width:40px;margin-bottom:10px;margin-left:12px}._displayItalic_15el3_191{font-style:italic;font-size:11px;margin-top:0}._root_1dr6a_1{color:var(--colorBlock)!important;border-color:var(--colorBlock)!important}._root_1dr6a_1:hover{border-color:var(--colorBlockHover)!important;color:var(--colorBlockHover)!important;background-color:inherit!important}._square_1dr6a_11{min-width:auto!important;padding:6px 16px!important}._icon_1dr6a_16{width:24px;height:24px}._root_1ucda_1 *{color:var(--colorBlock)!important}._root_19roy_1{background:var(--backgroundColorHumburger);border-radius:5px;margin-top:0!important;margin-bottom:0!important}._root_19roy_1 *{color:var(--colorInput)!important}._root_19roy_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_19roy_1 [class*=MuiInput-underline] :after{border-bottom-color:var(--lineColor)!important}._root_19roy_1:hover [class*=MuiOutlinedInput-notchedOutline],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline]:hover,._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline] [class*=Mui-focused],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline] [class*=Mui-disabled]{border-color:var(--lineColor)!important}._modalContentWrapper_587ci_1{margin:20px 0;padding:0 35px;overflow-x:hidden;min-width:320px}._modalButtonBlock_587ci_8{display:flex;justify-content:flex-end;margin-top:20px;flex-flow:wrap;border-top:1px solid var(--lineColorActive);border-color:var(--lineColorActive);background:var(--backgroundColorHumburger);border-radius:3px}._modalButtonBlock_587ci_8 button{color:var(--lineColorActive)!important;flex:1}._modalButtonBlockTwo_587ci_23{justify-content:space-around;flex-flow:wrap-reverse;position:sticky;bottom:0}._modalButtonBlockTwo_587ci_23 button{margin:5px}._modalWrapper_587ci_33 [class*="MuiPaper-root MuiDialog-paper MuiPaper-elevation24 MuiDialog-paperScrollPaper MuiDialog-paperWidthXl MuiPaper-elevation24 MuiPaper-rounded"]{background-color:#f6f6f6}._modalDialog_587ci_40{min-width:400px}._close_587ci_44{position:absolute;right:-14px;top:-16px;width:32px;height:32px;opacity:.9;cursor:pointer;transition:all .6s ease}._close_587ci_44:hover{transform:rotate(90deg)}._close_587ci_44:before{position:absolute;left:15px;content:"";height:33px;width:4px;background-color:#ff4f4f;transform:rotate(45deg)}._close_587ci_44:after{position:absolute;left:15px;content:"";height:33px;width:4px;background-color:#ff4f4f;transform:rotate(-45deg)}@media screen and (max-width: 460px){._modalContentWrapper_587ci_1{min-width:auto}}._root_15mo1_1{margin-top:0!important;margin-bottom:0!important;max-width:440px}._root_15mo1_1 *,._root_15mo1_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_15mo1_1 [class*=MuiInput-underline]:after{border-bottom-color:var(--lineColor)!important}._root_15mo1_1 [class*=MuiInput-underline]:before{border-bottom-color:var(--lineColor)!important}._root_15mo1_1 [class*=MuiInput-underline]:hover:before{border-bottom-color:var(--lineColor)!important}._root_1gt4d_1{color:var(--lineColorActive)!important;height:8px!important}._root_1gt4d_1 [class*=MuiSlider-rail],._root_1gt4d_1 [class*=MuiSlider-track]{height:8px!important;border-radius:4px}._root_1gt4d_1 [class*=MuiSlider-valueLabel]{left:calc(-50% + 4px)}._root_1gt4d_1 [class*=MuiSlider-thumb]{height:24px;width:24px;background-color:var(--colorBlock);border:2px solid currentColor;margin-top:-8px;margin-left:-12px}._root_1gt4d_1 [class*=MuiSlider-thumb]:focus,._root_1gt4d_1 [class*=MuiSlider-thumb]:hover,._root_1gt4d_1 [class*=MuiSlider-thumb][class*=MuiSlider-active]{box-shadow:inherit!important}._root_1gt4d_1 ._mark_1gt4d_27{background-color:#0000!important}._root_rzul6_1 *{color:var(--colorBlock)!important}._root_rzul6_1 [class*=Mui-checked]{color:var(--lineColor)!important}._root_rzul6_1 [class*=Mui-checked]+[class*=MuiSwitch-track]{background-color:var(--lineColor)!important}._root_135pm_1{margin-top:0!important;margin-bottom:0!important}._root_135pm_1 *,._root_135pm_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_135pm_1 [class*=MuiInput-underline]:after{border-bottom-color:var(--lineColor)!important}._root_135pm_1 [class*=MuiInput-underline]:before{border-bottom-color:var(--lineColor)!important}._root_135pm_1 [class*=MuiInput-underline]:hover:before{border-bottom-color:var(--lineColor)!important} diff --git a/admin/assets/index-D12hwRdg.js b/admin/assets/index-cbk_CvPb.js similarity index 95% rename from admin/assets/index-D12hwRdg.js rename to admin/assets/index-cbk_CvPb.js index febf1447d..f9a962516 100644 --- a/admin/assets/index-D12hwRdg.js +++ b/admin/assets/index-cbk_CvPb.js @@ -1,4 +1,4 @@ -import{c as U,j as Q,o as Pe,a as YM,b as vM,d as bM,P as S}from"./createSvgIcon-BQT-7-GS.js";import{i as f,R as M}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{i as j,S as cn,c as Ne,I as Oe,b as nt,L as uL,D as NN,C as LN,a5 as lL,a6 as Z,a7 as NL,a8 as LL,a9 as gL,aa as jL,P as QM,ab as yL,ac as TL,ad as dL,ae as DL,af as hL,ag as UM,ah as zL,ai as wL,aj as CL,ak as IL,al as pL,am as AL,an as mL,ao as OL,ap as EL,R as B,aq as fL,ar as xL,as as _L,at as $M,au as PM,av as SL,aw as WM,V as kL,ax as YL,ay as vL,az as bL,aA as BM,aB as QL,aC as UL,aD as $L,G as PL,a as Pi}from"./index-CuCs5aLs.js";import{c as ir,g as WL}from"./_commonjsHelpers-Cpj98o6Y.js";import{u as BL}from"./useTheme-DF6qfrtI.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";const un=U(Q.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add"),JL=U(Q.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack"),RL=U(Q.jsx("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight"),FL=U(Q.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"),GL=U([Q.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"),Q.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"),HL=U(Q.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"),VL=U(Q.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"),ZL=U(Q.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"),XL=U(Q.jsx("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness4"),KL=U(Q.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 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6"}),"Brightness5"),ca=U(Q.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"),qL=U(Q.jsx("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4"}),"Brightness7"),eg=U(Q.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"),tg=U(Q.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"),ua=U(Q.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"),sg=U(Q.jsx("path",{d:"m20.71 5.63-2.34-2.34a.996.996 0 0 0-1.41 0l-3.12 3.12-1.93-1.91-1.41 1.41 1.42 1.42L3 16.25V21h4.75l8.92-8.92 1.42 1.42 1.41-1.41-1.92-1.92 3.12-3.12c.4-.4.4-1.03.01-1.42M6.92 19 5 17.08l8.06-8.06 1.92 1.92z"}),"Colorize"),ig=U(Q.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"),rg=U(Q.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"),gN=U(Q.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"),og=U(Q.jsx("path",{d:"M17 15h2V7c0-1.1-.9-2-2-2H9v2h8zM7 17V1H5v4H1v2h4v10c0 1.1.9 2 2 2h10v4h2v-4h4v-2z"}),"Crop"),ng=U(Q.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"),Kr=U(Q.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"),ag=U(Q.jsx("path",{d:"M18.41 5.8 17.2 4.59c-.78-.78-2.05-.78-2.83 0l-2.68 2.68L3 15.96V20h4.04l8.74-8.74 2.63-2.63c.79-.78.79-2.05 0-2.83M6.21 18H5v-1.21l8.66-8.66 1.21 1.21zM11 20l4-4h6v4z"}),"DriveFileRenameOutline"),mi=U(Q.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"),Mg=U(Q.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"),cg=U(Q.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),ug=U(Q.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"),lg=U(Q.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"),Ng=U(Q.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"),Lg=U(Q.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"),gg=U(Q.jsx("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic"),jg=U(Q.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"),la=U(Q.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"),jN=U(Q.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"),yg=U(Q.jsx("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn"),yN=U(Q.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"),Tg=U(Q.jsx("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List"),dg=U(Q.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"),Dg=U(Q.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"),hg=U(Q.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"),zg=U(Q.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),Na=U(Q.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"),wg=U(Q.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"}),"Photo"),Sr=U(Q.jsx("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish"),TN=U(Q.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"),La=U(Q.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"),Cg=U(Q.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"),ln=U(Q.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"),kr=U(Q.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"),Ig=U(Q.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"),ga=U(Q.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"),pg=U(Q.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields"),Ag=U(Q.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-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFileOutlined"),mg=U(Q.jsx("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom"),Og=U(Q.jsx("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop"),Eg=U(Q.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"),fg=U(Q.jsx("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),xg=U(Q.jsx("path",{d:"M4 15h16v-2H4zm0 4h16v-2H4zm0-8h16V9H4zm0-6v2h16V5z"}),"ViewHeadline"),_g=U(Q.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"),Sg=U(Q.jsx("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility"),kg=U(Q.jsx("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning"),Qs=U(Q.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"),rr=U(Q.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"),Oo=11/23/100;function JM(s){const e={r:0,g:0,b:0};if(s.length===7)e.r=parseInt(s.substring(1,3),16),e.g=parseInt(s.substring(3,5),16),e.b=parseInt(s.substring(5,7),16);else if(s.length===4){const t=s[1],i=s[2],r=s[3];e.r=parseInt(t+t,16),e.g=parseInt(i+i,16),e.b=parseInt(r+r,16)}return e}function Yg(s){return`#${Math.round(s.r).toString(16)}${Math.round(s.g).toString(16)}${Math.round(s.b).toString(16)}`}function vg(s,e,t){const i=JM(s),r=JM(e);return i.r+=r.r*(.05+Oo*(t-1)),i.g+=r.g*(.05+Oo*(t-1)),i.b+=r.b*(.05+Oo*(t-1)),Yg(i)}function RM(s,e){const t={};for(let i=1;i<=24;i++)t[`elevation${i}`]={backgroundColor:vg(s,e,i)};return t}function bg(s,e){var n,a,c,l,N,u,L,g,y,T,d;let t,i;s==="dark"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[200],"&:hover":{color:Pe[100]}}},MuiPaper:RM("#121212","#fff")},t={name:s,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):s==="blue"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[400],"&:hover":{color:Pe[300]}}}},t={name:s,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):s==="colored"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[200],"&:hover":{color:Pe[100]}}},MuiPaper:RM("#151d21","#fff")},t={name:s,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):s==="PT"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[400],"&:hover":{color:Pe[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):s==="DX"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#a9a9a9"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[400],"&:hover":{color:Pe[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#F5F5F7"},secondary:{main:"#a9a9a9"},expert:"#BD1B24",text:{primary:"#007AFE",secondary:"#007AFE",disabled:"#007AFEAA"}}}):(i={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[400],"&:hover":{color:Pe[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),t.toolbar={height:48},t.saveToolbar={background:(a=(n=t.palette)==null?void 0:n.primary)==null?void 0:a.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:YM[300],dark:YM[400]});const r=vM(t),o=r.palette;return vM(r,{...e||void 0,components:{...i,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(c=o.grey)==null?void 0:c[300],color:o.getContrastText&&((l=o.grey)!=null&&l[300])?o.getContrastText(o.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(N=o.text)==null?void 0:N.primary,borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(u=o.action)==null?void 0:u.disabledBackground}`},"&:hover":{borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:bM(((L=o.text)==null?void 0:L.primary)||"",((g=o.action)==null?void 0:g.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(y=o.text)==null?void 0:y.primary,"&:hover":{backgroundColor:bM(((T=o.text)==null?void 0:T.primary)||"",((d=o.action)==null?void 0:d.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function Qg(){let s,e;const t=new Promise((i,r)=>{s=i,e=r});return t.resolve=s,t.reject=e,t}function Nn(s){return(s==null?void 0:s.rows.map(e=>e.value).filter(e=>!!e))??[]}function Tt(s){return s!=null&&s.startsWith("system.host.")||(s=`system.host.${s}`),s}function ui(s){return s!=null&&s.startsWith("system.host.")&&(s=s.substring(12)),s}function FM(s){return new Promise(e=>{setTimeout(e,s)})}function or(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}var rt;(function(s){s[s.CONNECTING=0]="CONNECTING",s[s.CONNECTED=1]="CONNECTED",s[s.OBJECTS_LOADED=2]="OBJECTS_LOADED",s[s.READY=3]="READY"})(rt||(rt={}));var Ie;(function(s){s.PERMISSION_ERROR="permissionError",s.NOT_CONNECTED="notConnectedError",s.TIMEOUT="timeout",s.NOT_ADMIN="Allowed only in admin",s.NOT_SUPPORTED="Not supported"})(Ie||(Ie={}));const W3e=Ie.PERMISSION_ERROR;Ie.NOT_CONNECTED;const Ug=["material","echarts","vis"];class ze{constructor(e){this.props=this.applyDefaultProps(e),this.connId=`${this.props.name?`${this.props.name}-`:""}${Math.round(Math.random()*1e6).toString().padStart(6,"0")}`,this.waitForSocketLib().then(()=>this.startSocket()).catch(t=>{alert(`Socket connection could not be initialized: ${t}`)})}applyDefaultProps(e){return{...e,protocol:e.protocol||window.location.protocol,host:e.host||window.location.hostname,port:e.port||(window.location.port==="3000"?8081:window.location.port),ioTimeout:Math.max(e.ioTimeout||2e4,2e4),cmdTimeout:Math.max(e.cmdTimeout||5e3,5e3),admin5only:e.admin5only||!1,autoSubscribes:e.autoSubscribes??[],autoSubscribeLog:e.autoSubscribeLog??!1,doNotLoadACL:e.doNotLoadACL??!0,doNotLoadAllObjects:e.doNotLoadAllObjects??!0}}props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};statesSubscribes={};filesSubscribes={};objectsSubscribes={};objects={};states={};acl=null;isSecure=!1;onReadyDone=!1;onConnectionHandlers=[];onLogHandlers=[];onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;onError(e){(this.props.onError??console.error)(e)}_socket;_waitForSocketPromise;_waitForFirstConnectionPromise=Qg();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return window.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(typeof window.io>"u"&&typeof window.iob>"u")if(typeof window.registerSocketOnLoad=="function")window.registerSocketOnLoad(()=>e());else{for(let i=1;i<=30;i++){if(window.io||window.iob)return e();await FM(100)}t(new Error("Socket library could not be loaded!"))}else e()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let e=this.props.host,t=this.props.port,i=(this.props.protocol||window.location.protocol).replace(":",""),r=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")r="";else{if(window.socketUrl){const a=new URL(window.socketUrl);e=a.hostname,t=a.port,i=a.protocol.replace(":","")}const n=r.lastIndexOf("/");if(n!==-1&&(r=r.substring(0,n+1)),ze.isWeb()){const a=r.split("/");a.length>2&&(a.pop(),a.pop(),Ug.includes(a[a.length-1])&&a.pop(),r=a.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${i}://${e}:${t}`:`${i}://${e}`;return this._socket=(window.io||window.iob).connect(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/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",n=>{window.addEventListener("storage",this.onAccessTokenUpdated);const a=ze.readTokens();if(a&&!a.owner){const c=Date.now();this.saveTokens({access_token:a.access_token,refresh_token:a.refresh_token,expires_in:Math.round((a.expires_in.getTime()-c)/1e3),refresh_token_expires_in:Math.round((a.refresh_token_expires_in.getTime()-c)/1e3),token_type:"Bearer"},a.stayLoggedIn)}this.onReadyDone=!1,n!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(c=>{const[l,N,u]=c.version.split(".");parseInt(l,10)*1e4+parseInt(N,10)*100+parseInt(u,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(g,y)=>this.onPreConnect(g,y))}).catch(c=>this.onError({message:c.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(c,l)=>{this.onPreConnect(c,l)})}),this._socket.on("reconnect",()=>{var n,a;this.onReadyDone=!1,(a=(n=this.props).onProgress)==null||a.call(n,rt.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(c=>c(!0)))}),this._socket.on("disconnect",()=>{var n,a;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(a=(n=this.props).onProgress)==null||a.call(n,rt.CONNECTING),this.onConnectionHandlers.forEach(c=>c(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",n=>{var a,c;(c=(a=this.props).onLog)==null||c.call(a,n),this.onLogHandlers.forEach(l=>l(n))}),this._socket.on("error",n=>{let a;n==null?a="":typeof n.toString=="function"?a=n.toString():(a=JSON.stringify(n),console.error(`Received strange error: ${a}`)),a.includes("User not authorized")?this.authenticate():a.includes("websocket error")?(console.error(`Socket Error => reload: ${n}`),window.location.reload()):console.error(`Socket Error: ${n}`)}),this._socket.on("connect_error",n=>console.error(`Connect error: ${n}`)),this._socket.on("permissionError",n=>this.onError({message:"no permission",operation:n.operation,type:n.type,id:n.id||""})),this._socket.on("objectChange",(n,a)=>{setTimeout(()=>this.objectChange(n,a),0)}),this._socket.on("stateChange",(n,a)=>{setTimeout(()=>this.stateChange(n,a),0)}),this._socket.on("im",(n,a,c)=>{setTimeout(()=>this.instanceMessage(n,a,c),0)}),this._socket.on("fileChange",(n,a,c)=>{setTimeout(()=>this.fileChange(n,a,c),0)}),this._socket.on("cmdStdout",(n,a)=>{var c;(c=this.onCmdStdoutHandler)==null||c.call(this,n,a)}),this._socket.on("cmdStderr",(n,a)=>{var c;(c=this.onCmdStderrHandler)==null||c.call(this,n,a)}),this._socket.on("cmdExit",(n,a)=>{var c;(c=this.onCmdExitHandler)==null||c.call(this,n,a)}),Promise.resolve()}onPreConnect(e,t){var i,r;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?this.loadData().catch(o=>console.error(`Cannot load data: ${o}`)):(r=(i=this.props).onProgress)==null||r.call(i,rt.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(o=>o(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=window.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=window.localStorage.getItem("iob_tokens")),!e)return null;const[i,r,o,n,a]=e.split(";"),c=new Date(r);return c.getTime(){if(e.key==="iob_tokens"){const t=ze.readTokens();t&&(console.log(`Tab ${this.connId} received updated token: ${t.access_token}`),this.updateTokenExpiration(t.access_token))}};updateTokenExpiration(e){this.lastAccessToken!==e&&(this.lastAccessToken=e,this._socket.emit("updateTokenExpiration",e,(t,i)=>{t?(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token: ${t}`),window.location.reload()):i?console.log(`[UPDATE/${new Date().toISOString()}] server accepted new token: ${e}`):(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token`),window.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>window.location.reload(),500);return}t||!e.owner||e.owner===this.connId?(console.log(`[REFRESH/${new Date().toISOString()}] claim ownership of the token`),this.acquireTokenLock()?(console.log(`[REFRESH/${new Date().toISOString()}] refreshing token`),fetch("./oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`grant_type=refresh_token&refresh_token=${e.refresh_token}&client_id=ioBroker&stayloggedin=${e.stayLoggedIn}`}).then(i=>{if(i.ok)return i.json();throw new Error("Cannot refresh access token")}).then(i=>{if(i.access_token)console.log(`[REFRESH/${new Date().toISOString()}] received new token: ${i.access_token}`),this.saveTokens(i,e.stayLoggedIn),this.releaseTokenLock(),this.updateTokenExpiration(i.access_token);else throw new Error("Cannot get access token")}).catch(i=>{console.warn(`[REFRESH/${new Date().toISOString()}] cannot refresh token: ${i}`),this.releaseTokenLock(),this.deleteTokens(e.stayLoggedIn),console.error(i),window.location.reload()})):(console.log(`[REFRESH/${new Date().toISOString()}] Someone else is updating the token, so wait for the next check`),this.checkAccessTokenExpire())):this.lastAccessToken!==e.access_token&&this.updateTokenExpiration(e.access_token)}acquireTokenLock(){const e=Date.now(),t=localStorage.getItem("iob_token_semaphore");if(t)try{const r=JSON.parse(t);if(e{r?(console.log(`[TOKEN/${new Date().toISOString()}] Token will be prolonged`),this.refreshTokens(e,i)):(console.log(`[TOKEN/${new Date().toISOString()}] Token will not be prolonged. Reloading the page`),setTimeout(()=>window.location.reload(),Date.now()>t?500:t-Date.now()))})):(console.log(`[TOKEN/${new Date().toISOString()}] No tokenTimeoutHandler defined. Prolonging the token`),this.refreshTokens(e,i))):this.lastAccessToken!==e.access_token?(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token, but we will inform the server about new token`),this.refreshTokens(e)):(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token and the token did not change. Check in 3 seconds if the owner updated the token`),this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},3e3)):(console.log(`[TOKEN/${new Date().toISOString()}] We do not have a refresh token, so we need to reauthenticate`),setTimeout(()=>window.location.reload(),Date.now()>t?500:t-Date.now()))}else this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},t-Date.now()-3e4>12e4?12e4:t-Date.now()-3e4)}}}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!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:(e,t)=>{this._socket.emit("getUserPermissions",(i,r)=>{i?t(i):e(r||null)})}})}async loadData(){if(this.loaded)return;const e=10;for(let t=1;t<=e;t++){if(this.doLoadData().catch(i=>console.error(`Cannot load data: ${i}`)),this.loaded)return;await FM(ze.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,i,r,o,n,a,c,l;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(N){this.onError(`Cannot read user permissions: ${N}`);return}try{this.props.admin5only&&!ze.isWeb()&&(!window.vendorPrefix||window.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(N){this.onError(`Cannot read system config: ${N}`);return}this._systemConfig&&(this.systemLang=(e=this._systemConfig.common)==null?void 0:e.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)),(i=(t=this.props).onLanguage)==null||i.call(t,this.systemLang),this.loaded=!0,(o=(r=this.props).onProgress)==null||o.call(r,rt.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(a=(n=this.props).onProgress)==null||a.call(n,rt.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(c=this.props).onReady)==null||l.call(c,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.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${encodeURIComponent(window.location.search+window.location.hash)}`}async subscribeState(...e){let t,i,r;e.length===3?[t,i,r]=e:([t,r]=e,i=!1);let o;if(Array.isArray(t)?o=t:o=[t],typeof r!="function")throw new Error("The state change handler must be a function!");const n=[];for(let a=0;aa.includes("*"))){let a;for(let c=0;cconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const a=await(ze.isWeb()?this.getStates(o):this.getForeignStates(o));if(a)for(const[c,l]of Object.entries(a)){const N=r(c,l);N instanceof Promise&&N.catch(u=>console.error(`Cannot call state change handler: ${u}`))}}catch(a){console.error(`Cannot getState "${o.join(", ")}": ${a.message}`);return}}async subscribeStateAsync(e,t){return this.subscribeState(e,t)}unsubscribeState(e,t){var o;let i;Array.isArray(e)?i=e:i=[e];const r=[];for(let n=0;n{try{const N=l(e,t,i);N instanceof Promise&&N.catch(u=>console.error(`Cannot call object change handler: ${u}`))}catch(N){console.error(`Error by callback of objectChange: ${N}`)}});if(r){const a=(n=(o=this.props).onObjectChange)==null?void 0:n.call(o,e,t);a instanceof Promise&&a.catch(c=>console.error(`Cannot call object change handler: ${c}`))}}stateChange(e,t){for(const i of Object.values(this.statesSubscribes))if(i.reg.test(e))for(const r of i.cbs)try{const o=r(e,t??null);o instanceof Promise&&o.catch(n=>console.error(`Cannot call state change handler: ${n}`))}catch(o){console.error(`Error by callback of stateChanged: ${o}`)}}instanceMessage(e,t,i){var r;(r=this._instanceSubscriptions[t])==null||r.forEach(o=>{if(o.messageType===e){const n=o.callback(i,t,e);n instanceof Promise&&n.catch(a=>console.error(`Cannot call instance message handler: ${a}`))}})}fileChange(e,t,i){for(const r of Object.values(this.filesSubscribes))if(r.regId.test(e)&&r.regFilePattern.test(t))for(const o of r.cbs)try{o(e,t,i)}catch(n){console.error(`Error by callback of fileChange: ${n}`)}}async subscribeFiles(e,t,i){if(typeof i!="function")throw new Error("The state change handler must be a function!");let r;Array.isArray(t)?r=t:r=[t];const o=[];for(let n=0;n{const u={elapsed:!1,clearTimeout:()=>{}};let L;i!==!1&&(L=setTimeout(()=>{u.elapsed=!0,r==null||r(),e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(Ie.TIMEOUT))},i??this.props.cmdTimeout),u.clearTimeout=()=>{clearTimeout(L)});try{await a(l,N,u)}catch(g){e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(g.toString()))}});return e&&(this._promises[e]=c),c}resetCache(e,t){t?Object.keys(this._promises).filter(i=>i.startsWith(e)).forEach(i=>{delete this._promises[i]}):delete this._promises[e]}getStates(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getStates",e,(r,o)=>{this.states=o??{},r?i(r):t(this.states)})}})}getState(e){return this.request({commandTimeout:!1,executor:(t,i)=>{if(e&&e===this.ignoreState){t(this.simStates[e]||{val:null,ack:!0});return}this._socket.emit("getState",e,(r,o)=>{r?i(r):t(o)})}})}getBinaryState(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getBinaryState",e,(r,o)=>{r?i(r):t(o)})}})}setBinaryState(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("setBinaryState",e,t,o=>{o?r(o):i()})}})}setState(e,t,i){return typeof i=="boolean"&&(t={val:t,ack:i}),this.request({commandTimeout:!1,executor:(r,o)=>{if(e&&e===this.ignoreState){let n;if(typeof i=="boolean"||typeof t=="object"&&t.val!==void 0?n=t:n={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=n,this.statesSubscribes[e])for(const a of this.statesSubscribes[e].cbs)try{const c=a(e,n);c instanceof Promise&&c.catch(l=>console.error(`Cannot call state change handler: ${l}`))}catch(c){console.error(`Error by callback of stateChanged: ${c}`)}r();return}this._socket.emit("setState",e,t,n=>{n?o(n):r()})}})}getObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{if(!e&&this.objects){i(this.objects);return}this._socket.emit(ze.isWeb()?"getObjects":"getAllObjects",(o,n)=>{var a,c;t||(c=(a=this.props).onProgress)==null||c.call(a,rt.OBJECTS_LOADED),o?r(o):(this.objects=n??{},i(this.objects))})}})}getObjectsById(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjects",e,(r,o)=>{r?i(r):t(o)})}})}_subscribe(e){var t,i;if(e&&!this.subscribed){this.subscribed=!0,(t=this.props.autoSubscribes)!=null&&t.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("subscribeObjects",r),Object.keys(this.objectsSubscribes).forEach(o=>this._socket.emit("subscribeObjects",o)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("subscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[n,a]=o.split("$%$");this._socket.emit("subscribeFiles",n,a)})}else if(!e&&this.subscribed){this.subscribed=!1,(i=this.props.autoSubscribes)!=null&&i.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("unsubscribeObjects",r),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("unsubscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[n,a]=o.split("$%$");this._socket.emit("unsubscribeFiles",n,a)})}}requireLog(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("requireLog",e,r=>{r?i(r):t()})}})}delObject(e,t=!1){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("delObject",e,{maintenance:t},o=>{o?r(o):i()})}})}delObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("delObjects",e,{maintenance:t},o=>{o?r(o):i()})}})}setObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("setObject",e,t,o=>{o?r(o):i()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(e){return this.request({commandTimeout:!1,executor:(t,i)=>{if(e&&e===this.ignoreState){t({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",e,(r,o)=>{r?i(r):t(o)})}})}sendTo(e,t,i){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendTo",e,t,i,o=>{r(o)})}})}extendObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("extendObject",e,t,o=>{o?r(o):i()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(e){this.onLogHandlers.includes(e)||this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){this.onConnectionHandlers.includes(e)||this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return this.request({cacheKey:`enums_${e||"all"}`,forceUpdate:t,commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:e?`enum.${e}.香`:"enum.香"},(o,n)=>{if(o)r(o);else{const a={};if(n)for(let c=0;c{i=i||"",r=r||"香",this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(a,c)=>{if(a)n(a);else{const l={};if(c&&c.rows)for(let N=0;N{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(i,r)=>{var o;i?t(i):e((o=r.rows)==null?void 0:o.map(n=>n.value).filter(n=>!!n))})}})}readDir(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("readDir",e,t,(o,n)=>{o?r(o):i(n)})}})}readFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit(i?"readFile64":"readFile",e,t,(n,a,c)=>{n?o(n):r({file:a,mimeType:c})})}})}writeFile64(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{if(typeof i=="string")this._socket.emit("writeFile",e,t,i,n=>{n?o(n):r()});else{const n=btoa(new Uint8Array(i).reduce((a,c)=>a+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,a=>{a?o(a):r()})}}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFile",e,t,o=>{o?r(o):i()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o?r(o):i()})}})}rename(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,i,n=>{n?o(n):r()})}})}renameFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,i,n=>{n?o(n):r()})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,a)=>{e=Tt(e),this._socket.emit("cmdExec",e,i,t,c=>{a.elapsed||(a.clearTimeout(),c?n(c):o())})}})}getSystemConfig(e){return this.request({cacheKey:"systemConfig",forceUpdate:e,commandTimeout:!1,executor:async t=>{let i=await this.getObject("system.config");i??={},i.common??={},i.native??={},t(i)}})}getCompactSystemConfig(e){return this.request({cacheKey:"systemConfigCommon",forceUpdate:e,commandTimeout:!1,requireAdmin:!0,executor:(t,i)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>{r?i(r):(o??={},o.common??={},o.native??={},t(o))})}})}getForeignStates(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>{r?i(r):t(o??{})})}})}getForeignObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,n)=>{o?r(o):i(n)})}})}setSystemConfig(e){return this.setObject("system.config",e)}getRawSocket(){return this._socket}getHistory(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getHistory",e,t,(o,n)=>{o?r(o):i(n)})}})}getHistoryEx(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getHistory",e,t,(o,n,a,c)=>{o?r(o):i({values:n,sessionId:c,step:a})})}})}getIpAddresses(e,t){return e=Tt(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObject(e);i((r==null?void 0:r.common.address)??[])}})}getVersion(e){return this.request({cacheKey:"version",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getVersion",(r,o,n)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?i(r):t({version:o,serverName:n})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getAdapterName",(i,r)=>{i?t(i):e(r)})}})}fileExists(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("fileExists",e,t,(o,n)=>{o?r(o):i(!!n)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:e=>{this._socket.emit("authEnabled",(t,i)=>{e(i)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async e=>{var i;const t=await this.getObject("system.meta.uuid");e((i=t==null?void 0:t.native)==null?void 0:i.uuid)}})}checkFeatureSupported(e,t){return this.request({cacheKey:`supportedFeatures_${e}`,forceUpdate:t,commandTimeout:!1,executor:(i,r)=>{this._socket.emit("checkFeatureSupported",e,(o,n)=>{o?r(o):i(n)})}})}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e=e||"",this.request({cacheKey:`instances_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=e?`system.adapter.${e}.`:"system.adapter.",o=`${r}香`,n=await this.getObjectViewSystem("instance",r,o),a=Object.values(n);i(e?a.filter(c=>c.common.name===e):a)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=e,e=""),e=e||"",this.request({cacheKey:`adapter_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObjectViewSystem("adapter",`system.adapter.${e||""}`,`system.adapter.${e||"香"}`),o=Object.values(r);i(e?o.filter(n=>n.common.name===e):o)}})}getGroups(e){return this.request({cacheKey:"groups",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?i(r):t(Nn(o))})}})}logout(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("logout",i=>{i?t(i):e(null)})}})}subscribeOnInstance(e,t,i,r){return this.request({commandTimeout:!1,executor:(o,n)=>{this._socket.emit("clientSubscribe",e,t,i,(a,c)=>{a?n(a):c&&(c.error?n(c.error):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]=this._instanceSubscriptions[e]||[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(c)))})}})}unsubscribeFromInstance(e,t,i){var n;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const a=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(a!=null&&a!==-1){r=!0;const c=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===c)||o.push(this.request({commandTimeout:!1,executor:(N,u)=>{this._socket.emit("clientUnsubscribe",e,t,(L,g)=>L?u(L):N(g))}}))}}while(r&&(!i||!t));return o.length?Promise.all(o).then(a=>!!a.find(c=>c)):Promise.resolve(!1)}log(e,t){return e?this.request({commandTimeout:!1,executor:i=>(this._socket.emit("log",e,t),i(null))}):Promise.resolve(null)}setStateToIgnore(e){this.ignoreState=e}}function $g(s,e){if(!e)return;let t;if(e.length<700&&(e.indexOf("/")!==-1||e.indexOf("\\")!==-1))if(s.toLowerCase().includes("private"))t="private";else if(e.toLowerCase().includes("private"))t="private";else if(s.toLowerCase().includes("public"))t="public";else if(e.toLowerCase().includes("public"))t="public";else if(s.toLowerCase().includes("chain"))t="chained";else if(e.toLowerCase().includes("chain"))t="chained";else return;else t=e.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||e.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",t==="public"&&e.split("-----END CERTIFICATE-----").filter(r=>r.replace(/\r\n|\r|\n/,"").trim()).length>1&&(t="chained");return{name:s,type:t}}function Pg(s){var i,r,o,n;const e=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],t=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((r=(i=s.native)==null?void 0:i.hardware)!=null&&r.networkInterfaces){const a=(n=(o=s.native)==null?void 0:o.hardware)==null?void 0:n.networkInterfaces;Object.keys(a).forEach(c=>{a[c].forEach(l=>{l.family!=="IPv6"?e.push({name:`[${l.family}] ${l.address} - ${c}`,address:l.address,family:"ipv4"}):t.push({name:`[${l.family}] ${l.address} - ${c}`,address:l.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class B3e extends ze{constructor(e){super(e)}request(e){return super.request({requireAdmin:!0,...e})}getCertificates(e){return this.request({cacheKey:"cert",forceUpdate:e,commandTimeout:!1,executor:async t=>{var r;const i=await this.getObject("system.certificates");(r=i==null?void 0:i.native)!=null&&r.certificates?t(Object.entries(i.native.certificates).map(([o,n])=>$g(o,n)).filter(o=>!!o)):t([])}})}getLogs(e,t=200){return this.request({commandTimeout:!1,executor:i=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>{i(r)})}})}upgradeAdapterWithWebserver(e,t){return this.request({commandTimeout:!1,executor:i=>{this._socket.emit("sendToHost",e,"upgradeAdapterWithWebserver",t,r=>{i(r)})}})}upgradeController(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("sendToHost",e,"upgradeController",{version:t,adminInstance:i},n=>{const a=n;a.error?o(a.error):r(a.result)})}})}updateLicenses(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("updateLicenses",e,t,(o,n)=>{o?r(o):i(n)})}})}upgradeOsPackages(e,t,i){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendToHost",e,"upgradeOsPackages",{packages:t,restart:!!i},o=>{r(o)})}})}getLogsFiles(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("readLogs",e,(r,o)=>{r&&i(r),t(o)})}})}delLogs(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>{r&&i(r),t()})}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFile",e,t,o=>{o&&r(o),i()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o&&r(o),i()})}})}rename(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,i,n=>{n&&o(n),r()})}})}renameFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,i,n=>{n&&o(n),r()})}})}getHosts(e){return this.request({cacheKey:"hosts",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?i(r):t(Nn(o))})}})}getUsers(e){return this.request({cacheKey:"users",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?i(r):t(Nn(o))})}})}renameGroup(e,t,i){return this.request({commandTimeout:!1,executor:async r=>{const o=await this.getGroups(!0),n=o.filter(c=>c._id.startsWith(`${e}.`));for(const c of n){const l=c._id,N=t+c._id.substring(e.length);c._id=N,await this.setObject(N,c),await this.delObject(l)}const a=o.find(c=>c._id===e);if(a){const c=a._id;a._id=t,i!==void 0&&(a.common??={},a.common.name=i),await this.setObject(t,a),await this.delObject(c)}r()}})}getHostInfo(e,t,i){return e=Tt(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getHostInfo"'):a?r(a):o('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,i){return e=Tt(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getHostInfoShort"'):a?r(a):o('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,i,r){return this.request({cacheKey:`repository_${e}`,forceUpdate:i,commandTimeout:r,executor:(o,n,a)=>{this._socket.emit("sendToHost",e,"getRepository",t,c=>{a.elapsed||(a.clearTimeout(),c===Ie.PERMISSION_ERROR?n('May not read "getRepository"'):c?o(c):n('Cannot read "getRepository"'))})}})}getInstalled(e,t,i){return e=Tt(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getInstalled",null,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getInstalled"'):a?r(a):o('Cannot read "getInstalled"'))})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,a)=>{e=Tt(e),this._socket.emit("cmdExec",e,i,t,c=>{a.elapsed||(a.clearTimeout(),c&&n(c),o())})}})}readBaseSettings(e){return e=ui(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(t,i,r)=>{this._socket.emit("sendToHost",e,"readBaseSettings",null,o=>{r.elapsed||(r.clearTimeout(),o===Ie.PERMISSION_ERROR?i('May not read "BaseSettings"'):o?o.error?i(new Error(o.error)):t(o):i('Cannot read "BaseSettings"'))})}})}writeBaseSettings(e,t){return e=ui(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"writeBaseSettings",t,n=>{o.elapsed||(o.clearTimeout(),n===Ie.PERMISSION_ERROR?r('May not write "BaseSettings"'):n?i(n):r('Cannot write "BaseSettings"'))})}})}restartController(e){return e=ui(e),this.request({executor:(t,i,r)=>{this._socket.emit("sendToHost",e,"restartController",null,()=>{r.elapsed||(r.clearTimeout(),t(!0))})}})}getDiagData(e,t){return e=ui(e),this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"getDiagData",t,n=>{o.elapsed||(o.clearTimeout(),i(n||null))})}})}changePassword(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("changePassword",e,t,n=>{o.elapsed||(o.clearTimeout(),n&&r(n),i())})}})}getIpAddresses(e,t){return e=Tt(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObject(e);i((r==null?void 0:r.common.address)??[])}})}getHostByIp(e,t){return e=ui(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(i,r,o)=>{this._socket.emit("getHostByIp",e,(n,a)=>{if(o.elapsed)return;o.clearTimeout();const{IPs4:c,IPs6:l}=Pg(a);i([...c,...l])})}})}encrypt(e){return this.request({executor:(t,i,r)=>{this._socket.emit("encrypt",e,(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}decrypt(e){return this.request({executor:(t,i,r)=>{this._socket.emit("decrypt",e,(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}chmodFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chmodFile",e,t,i,(a,c)=>{n.elapsed||(n.clearTimeout(),a&&o(a),r(c))})}})}chownFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chownFile",e,t,i,(a,c)=>{n.elapsed||(n.clearTimeout(),a&&o(a),r(c))})}})}getNotifications(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},n=>{o.elapsed||(o.clearTimeout(),i(n))})}})}clearNotifications(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},n=>{o.elapsed||(o.clearTimeout(),i(n))})}})}getIsEasyModeStrict(){return this.request({executor:(e,t,i)=>{this._socket.emit("getIsEasyModeStrict",(r,o)=>{i.elapsed||(i.clearTimeout(),r&&t(r),e(!!o))})}})}getEasyMode(){return this.request({executor:(e,t,i)=>{this._socket.emit("getEasyMode",(r,o)=>{i.elapsed||(i.clearTimeout(),r?t(new Error(r)):e(o))})}})}getRatings(e){return this.request({executor:(t,i,r)=>{this._socket.emit("getRatings",!!e,(o,n)=>{r.elapsed||(r.clearTimeout(),o?i(new Error(o)):t(n))})}})}getCurrentSession(e){const t=new AbortController;return this.request({commandTimeout:e||5e3,onTimeout:()=>{t.abort()},executor:async(i,r,o)=>{try{const n=await fetch("./session",{signal:t.signal});if(o.elapsed)return;o.clearTimeout();const a=await n.json();i(a)}catch(n){r(`getCurrentSession: ${n}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(e,t,i)=>{this._socket.emit("getCurrentInstance",(r,o)=>{i.elapsed||(i.clearTimeout(),r?t(r):e(o))})}})}getAdapterInstances(e,t){let i;return typeof e=="boolean"?(t=e,i=""):i=e||"",this.request({cacheKey:`instances_${i}`,forceUpdate:t,executor:(r,o,n)=>{this._socket.emit("getAdapterInstances",i,(a,c)=>{n.elapsed||(n.clearTimeout(),a&&o(a),r(c))})}})}getAdapters(e,t){let i;return typeof e=="boolean"?(t=e,i=""):i=e||"",this.request({cacheKey:`adapter_${i}`,forceUpdate:t,executor:(r,o,n)=>{this._socket.emit("getAdapters",i,(a,c)=>{n.elapsed||(n.clearTimeout(),a&&o(a),r(c))})}})}getCompactAdapters(e){return this.request({cacheKey:"compactAdapters",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactAdapters",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getAdaptersResetCache(e){e=e??"",this.resetCache(`adapter_${e}`),this.resetCache("compactAdapters")}getCompactInstances(e){return this.request({cacheKey:"compactInstances",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactInstances",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getAdapterInstancesResetCache(e){e=e??"",this.resetCache(`instances_${e}`),this.resetCache("compactInstances")}getCompactInstalled(e,t,i){return e=Tt(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactInstalled",e,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getCompactInstalled"'):a?r(a):o('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(e){e?(this.resetCache(`installedCompact_${e}`),this.resetCache(`installed_${e}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(e,t,i){return e=Tt(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactRepository",e,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getCompactRepository"'):a?r(a):o('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(e){e?(this.resetCache(`repositoryCompact_${e}`),this.resetCache(`repository_${e}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(e){return this.request({cacheKey:"hostsCompact",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactHosts",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getCompactSystemRepositories(e){return this.request({cacheKey:"repositoriesCompact",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactSystemRepositories",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}}const X=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Xt="9.29.0",ie=globalThis;function qr(){return eo(ie),ie}function eo(s){const e=s.__SENTRY__=s.__SENTRY__||{};return e.version=e.version||Xt,e[Xt]=e[Xt]||{}}function to(s,e,t=ie){const i=t.__SENTRY__=t.__SENTRY__||{},r=i[Xt]=i[Xt]||{};return r[s]||(r[s]=e())}const dN=Object.prototype.toString;function ja(s){switch(dN.call(s)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return bt(s,Error)}}function Vs(s,e){return dN.call(s)===`[object ${e}]`}function DN(s){return Vs(s,"ErrorEvent")}function GM(s){return Vs(s,"DOMError")}function Wg(s){return Vs(s,"DOMException")}function ht(s){return Vs(s,"String")}function ya(s){return typeof s=="object"&&s!==null&&"__sentry_template_string__"in s&&"__sentry_template_values__"in s}function Ta(s){return s===null||ya(s)||typeof s!="object"&&typeof s!="function"}function _i(s){return Vs(s,"Object")}function so(s){return typeof Event<"u"&&bt(s,Event)}function Bg(s){return typeof Element<"u"&&bt(s,Element)}function Jg(s){return Vs(s,"RegExp")}function io(s){return!!(s!=null&&s.then&&typeof s.then=="function")}function Rg(s){return _i(s)&&"nativeEvent"in s&&"preventDefault"in s&&"stopPropagation"in s}function bt(s,e){try{return s instanceof e}catch{return!1}}function hN(s){return!!(typeof s=="object"&&s!==null&&(s.__isVue||s._isVue))}function Fg(s){return typeof Request<"u"&&bt(s,Request)}const da=ie,Gg=80;function zN(s,e={}){if(!s)return"";try{let t=s;const i=5,r=[];let o=0,n=0;const a=" > ",c=a.length;let l;const N=Array.isArray(e)?e:e.keyAttrs,u=!Array.isArray(e)&&e.maxStringLength||Gg;for(;t&&o++1&&n+r.length*c+l.length>=u));)r.push(l),n+=l.length,t=t.parentNode;return r.reverse().join(a)}catch{return""}}function Hg(s,e){const t=s,i=[];if(!(t!=null&&t.tagName))return"";if(da.HTMLElement&&t instanceof HTMLElement&&t.dataset){if(t.dataset.sentryComponent)return t.dataset.sentryComponent;if(t.dataset.sentryElement)return t.dataset.sentryElement}i.push(t.tagName.toLowerCase());const r=e!=null&&e.length?e.filter(n=>t.getAttribute(n)).map(n=>[n,t.getAttribute(n)]):null;if(r!=null&&r.length)r.forEach(n=>{i.push(`[${n[0]}="${n[1]}"]`)});else{t.id&&i.push(`#${t.id}`);const n=t.className;if(n&&ht(n)){const a=n.split(/\s+/);for(const c of a)i.push(`.${c}`)}}const o=["aria-label","type","name","title","alt"];for(const n of o){const a=t.getAttribute(n);a&&i.push(`[${n}="${a}"]`)}return i.join("")}function Da(){try{return da.document.location.href}catch{return""}}function Vg(s){if(!da.HTMLElement)return null;let e=s;const t=5;for(let i=0;i{const o=Yr[r];t[r]=e[r],e[r]=o});try{return s()}finally{i.forEach(r=>{e[r]=t[r]})}}function Xg(){let s=!1;const e={enable:()=>{s=!0},disable:()=>{s=!1},isEnabled:()=>s};return X?Ln.forEach(t=>{e[t]=(...i)=>{s&&Zs(()=>{ie.console[t](`${Zg}[${t}]:`,...i)})}}):Ln.forEach(t=>{e[t]=()=>{}}),e}const R=to("logger",Xg);function vr(s,e=0){return typeof s!="string"||e===0||s.length<=e?s:`${s.slice(0,e)}...`}function HM(s,e){if(!Array.isArray(s))return"";const t=[];for(let i=0;iKg(s,i,t))}function Ue(s,e,t){if(!(e in s))return;const i=s[e];if(typeof i!="function")return;const r=t(i);typeof r=="function"&&wN(r,i);try{s[e]=r}catch{X&&R.log(`Failed to replace method "${e}" in object`,s)}}function Kt(s,e,t){try{Object.defineProperty(s,e,{value:t,writable:!0,configurable:!0})}catch{X&&R.log(`Failed to add non-enumerable property "${e}" to object`,s)}}function wN(s,e){try{const t=e.prototype||{};s.prototype=e.prototype=t,Kt(s,"__sentry_original__",e)}catch{}}function ha(s){return s.__sentry_original__}function CN(s){if(ja(s))return{message:s.message,name:s.name,stack:s.stack,...ZM(s)};if(so(s)){const e={type:s.type,target:VM(s.target),currentTarget:VM(s.currentTarget),...ZM(s)};return typeof CustomEvent<"u"&&bt(s,CustomEvent)&&(e.detail=s.detail),e}else return s}function VM(s){try{return Bg(s)?zN(s):Object.prototype.toString.call(s)}catch{return""}}function ZM(s){if(typeof s=="object"&&s!==null){const e={};for(const t in s)Object.prototype.hasOwnProperty.call(s,t)&&(e[t]=s[t]);return e}else return{}}function qg(s,e=40){const t=Object.keys(CN(s));t.sort();const i=t[0];if(!i)return"[object has no keys]";if(i.length>=e)return vr(i,e);for(let r=t.length;r>0;r--){const o=t.slice(0,r).join(", ");if(!(o.length>e))return r===t.length?o:vr(o,e)}return""}function ej(){const s=ie;return s.crypto||s.msCrypto}function Je(s=ej()){let e=()=>Math.random()*16;try{if(s!=null&&s.randomUUID)return s.randomUUID().replace(/-/g,"");s!=null&&s.getRandomValues&&(e=()=>{const t=new Uint8Array(1);return s.getRandomValues(t),t[0]})}catch{}return("10000000100040008000"+1e11).replace(/[018]/g,t=>(t^(e()&15)>>t/4).toString(16))}function IN(s){var e,t;return(t=(e=s.exception)==null?void 0:e.values)==null?void 0:t[0]}function Vt(s){const{message:e,event_id:t}=s;if(e)return e;const i=IN(s);return i?i.type&&i.value?`${i.type}: ${i.value}`:i.type||i.value||t||"":t||""}function gn(s,e,t){const i=s.exception=s.exception||{},r=i.values=i.values||[],o=r[0]=r[0]||{};o.value||(o.value=e||""),o.type||(o.type="Error")}function Rs(s,e){const t=IN(s);if(!t)return;const i={type:"generic",handled:!0},r=t.mechanism;if(t.mechanism={...i,...r,...e},e&&"data"in e){const o={...r==null?void 0:r.data,...e.data};t.mechanism.data=o}}function XM(s){if(tj(s))return!0;try{Kt(s,"__sentry_captured__",!0)}catch{}return!1}function tj(s){try{return s.__sentry_captured__}catch{}}const pN=1e3;function Wi(){return Date.now()/pN}function sj(){const{performance:s}=ie;if(!(s!=null&&s.now))return Wi;const e=Date.now()-s.now(),t=s.timeOrigin==null?e:s.timeOrigin;return()=>(t+s.now())/pN}const zt=sj();function ij(s){const e=zt(),t={sid:Je(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>oj(t)};return s&&Fs(t,s),t}function Fs(s,e={}){if(e.user&&(!s.ipAddress&&e.user.ip_address&&(s.ipAddress=e.user.ip_address),!s.did&&!e.did&&(s.did=e.user.id||e.user.email||e.user.username)),s.timestamp=e.timestamp||zt(),e.abnormal_mechanism&&(s.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(s.ignoreDuration=e.ignoreDuration),e.sid&&(s.sid=e.sid.length===32?e.sid:Je()),e.init!==void 0&&(s.init=e.init),!s.did&&e.did&&(s.did=`${e.did}`),typeof e.started=="number"&&(s.started=e.started),s.ignoreDuration)s.duration=void 0;else if(typeof e.duration=="number")s.duration=e.duration;else{const t=s.timestamp-s.started;s.duration=t>=0?t:0}e.release&&(s.release=e.release),e.environment&&(s.environment=e.environment),!s.ipAddress&&e.ipAddress&&(s.ipAddress=e.ipAddress),!s.userAgent&&e.userAgent&&(s.userAgent=e.userAgent),typeof e.errors=="number"&&(s.errors=e.errors),e.status&&(s.status=e.status)}function rj(s,e){let t={};s.status==="ok"&&(t={status:"exited"}),Fs(s,t)}function oj(s){return{sid:`${s.sid}`,init:s.init,started:new Date(s.started*1e3).toISOString(),timestamp:new Date(s.timestamp*1e3).toISOString(),status:s.status,errors:s.errors,did:typeof s.did=="number"||typeof s.did=="string"?`${s.did}`:void 0,duration:s.duration,abnormal_mechanism:s.abnormal_mechanism,attrs:{release:s.release,environment:s.environment,ip_address:s.ipAddress,user_agent:s.userAgent}}}function Bi(s,e,t=2){if(!e||typeof e!="object"||t<=0)return e;if(s&&Object.keys(e).length===0)return s;const i={...s};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[r]=Bi(i[r],e[r],t-1));return i}const jn="_sentrySpan";function KM(s,e){e?Kt(s,jn,e):delete s[jn]}function qM(s){return s[jn]}function ec(){return Je()}function AN(){return Je().substring(16)}const nj=100;class wt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:ec(),sampleRand:Math.random()}}clone(){const e=new wt;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,KM(e,qM(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&Fs(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this._tags={...this._tags,[e]:t},this._notifyScopeListeners(),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const t=typeof e=="function"?e(this):e,i=t instanceof wt?t.getScopeData():_i(t)?e:void 0,{tags:r,extra:o,user:n,contexts:a,level:c,fingerprint:l=[],propagationContext:N}=i||{};return this._tags={...this._tags,...r},this._extra={...this._extra,...o},this._contexts={...this._contexts,...a},n&&Object.keys(n).length&&(this._user=n),c&&(this._level=c),l.length&&(this._fingerprint=l),N&&(this._propagationContext=N),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._session=void 0,KM(this,void 0),this._attachments=[],this.setPropagationContext({traceId:ec(),sampleRand:Math.random()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){var o;const i=typeof t=="number"?t:nj;if(i<=0)return this;const r={timestamp:Wi(),...e,message:e.message?vr(e.message,2048):e.message};return this._breadcrumbs.push(r),this._breadcrumbs.length>i&&(this._breadcrumbs=this._breadcrumbs.slice(-i),(o=this._client)==null||o.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),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:qM(this)}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=Bi(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){const i=(t==null?void 0:t.event_id)||Je();if(!this._client)return R.warn("No client configured on scope - will not capture exception!"),i;const r=new Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:r,...t,event_id:i},this),i}captureMessage(e,t,i){const r=(i==null?void 0:i.event_id)||Je();if(!this._client)return R.warn("No client configured on scope - will not capture message!"),r;const o=new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:o,...i,event_id:r},this),r}captureEvent(e,t){const i=(t==null?void 0:t.event_id)||Je();return this._client?(this._client.captureEvent(e,{...t,event_id:i},this),i):(R.warn("No client configured on scope - will not capture event!"),i)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function aj(){return to("defaultCurrentScope",()=>new wt)}function Mj(){return to("defaultIsolationScope",()=>new wt)}class cj{constructor(e,t){let i;e?i=e:i=new wt;let r;t?r=t:r=new wt,this._stack=[{scope:i}],this._isolationScope=r}withScope(e){const t=this._pushScope();let i;try{i=e(t)}catch(r){throw this._popScope(),r}return io(i)?i.then(r=>(this._popScope(),r),r=>{throw this._popScope(),r}):(this._popScope(),i)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function Gs(){const s=qr(),e=eo(s);return e.stack=e.stack||new cj(aj(),Mj())}function uj(s){return Gs().withScope(s)}function lj(s,e){const t=Gs();return t.withScope(()=>(t.getStackTop().scope=s,e(s)))}function tc(s){return Gs().withScope(()=>s(Gs().getIsolationScope()))}function Nj(){return{withIsolationScope:tc,withScope:uj,withSetScope:lj,withSetIsolationScope:(s,e)=>tc(e),getCurrentScope:()=>Gs().getScope(),getIsolationScope:()=>Gs().getIsolationScope()}}function za(s){const e=eo(s);return e.acs?e.acs:Nj()}function Ct(){const s=qr();return za(s).getCurrentScope()}function Ji(){const s=qr();return za(s).getIsolationScope()}function Lj(){return to("globalScope",()=>new wt)}function gj(...s){const e=qr(),t=za(e);if(s.length===2){const[i,r]=s;return i?t.withSetScope(i,r):t.withScope(r)}return t.withScope(s[0])}function Ee(){return Ct().getClient()}function jj(s){const e=s.getPropagationContext(),{traceId:t,parentSpanId:i,propagationSpanId:r}=e,o={trace_id:t,span_id:r||AN()};return i&&(o.parent_span_id=i),o}const yj="sentry.source",Tj="sentry.sample_rate",dj="sentry.previous_trace_sample_rate",Dj="sentry.op",hj="sentry.origin",mN="sentry.profile_id",ON="sentry.exclusive_time",zj=0,wj=1,Cj="_sentryScope",Ij="_sentryIsolationScope";function EN(s){return{scope:s[Cj],isolationScope:s[Ij]}}function pj(s){if(typeof s=="boolean")return Number(s);const e=typeof s=="string"?parseFloat(s):s;if(!(typeof e!="number"||isNaN(e)||e<0||e>1))return e}const Aj="sentry-",mj=/^sentry-/;function Oj(s){const e=Ej(s);if(!e)return;const t=Object.entries(e).reduce((i,[r,o])=>{if(r.match(mj)){const n=r.slice(Aj.length);i[n]=o}return i},{});if(Object.keys(t).length>0)return t}function Ej(s){if(!(!s||!ht(s)&&!Array.isArray(s)))return Array.isArray(s)?s.reduce((e,t)=>{const i=sc(t);return Object.entries(i).forEach(([r,o])=>{e[r]=o}),e},{}):sc(s)}function sc(s){return s.split(",").map(e=>e.split("=").map(t=>{try{return decodeURIComponent(t.trim())}catch{return}})).reduce((e,[t,i])=>(t&&i&&(e[t]=i),e),{})}const fN=1;let ic=!1;function fj(s){const{spanId:e,traceId:t,isRemote:i}=s.spanContext(),r=i?e:wa(s).parent_span_id,o=EN(s).scope,n=i?(o==null?void 0:o.getPropagationContext().propagationSpanId)||AN():e;return{parent_span_id:r,span_id:n,trace_id:t}}function xj(s){if(s&&s.length>0)return s.map(({context:{spanId:e,traceId:t,traceFlags:i,...r},attributes:o})=>({span_id:e,trace_id:t,sampled:i===fN,attributes:o,...r}))}function rc(s){return typeof s=="number"?oc(s):Array.isArray(s)?s[0]+s[1]/1e9:s instanceof Date?oc(s.getTime()):zt()}function oc(s){return s>9999999999?s/1e3:s}function wa(s){var i;if(Sj(s))return s.getSpanJSON();const{spanId:e,traceId:t}=s.spanContext();if(_j(s)){const{attributes:r,startTime:o,name:n,endTime:a,status:c,links:l}=s,N="parentSpanId"in s?s.parentSpanId:"parentSpanContext"in s?(i=s.parentSpanContext)==null?void 0:i.spanId:void 0;return{span_id:e,trace_id:t,data:r,description:n,parent_span_id:N,start_timestamp:rc(o),timestamp:rc(a)||void 0,status:Yj(c),op:r[Dj],origin:r[hj],links:xj(l)}}return{span_id:e,trace_id:t,start_timestamp:0,data:{}}}function _j(s){const e=s;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function Sj(s){return typeof s.getSpanJSON=="function"}function kj(s){const{traceFlags:e}=s.spanContext();return e===fN}function Yj(s){if(!(!s||s.code===zj))return s.code===wj?"ok":s.message||"unknown_error"}const vj="_sentryRootSpan";function xN(s){return s[vj]||s}function nc(){ic||(Zs(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.")}),ic=!0)}const _N=50,qt="?",ac=/\(error: (.*)\)/,Mc=/captureMessage|captureException/;function SN(...s){const e=s.sort((t,i)=>t[0]-i[0]).map(t=>t[1]);return(t,i=0,r=0)=>{const o=[],n=t.split(` +import{c as U,j as Q,o as Pe,a as YM,b as vM,d as bM,P as S}from"./createSvgIcon-DMsh-YeH.js";import{i as f,R as M}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{i as j,c as Ne,C as Oe,a as nt,S as uL,Q as NN,b as LN,Y as lL,Z,$ as NL,a0 as LL,a1 as gL,a2 as jL,a3 as QM,a4 as yL,a5 as TL,a6 as dL,a7 as DL,a8 as hL,a9 as UM,aa as zL,ab as wL,ac as CL,ad as IL,ae as pL,af as AL,ag as mL,ah as OL,ai as EL,aj as fL,ak as xL,al as _L,am as $M,an as PM,ao as SL,ap as WM,D as kL,aq as YL,ar as vL,as as bL,at as BM,au as QL,av as UL,aw as $L,T as PL,I as Pi}from"./index-f32XoI0M.js";import{I as cn}from"./Save-BSBgRX7g.js";import{c as ir,g as WL}from"./_commonjsHelpers-Cpj98o6Y.js";import{u as BL}from"./useTheme-N2j2HWMZ.js";import{t as B}from"./index-Dm1jc4t6.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";const un=U(Q.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add"),JL=U(Q.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack"),RL=U(Q.jsx("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight"),FL=U(Q.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"),GL=U([Q.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"),Q.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"),HL=U(Q.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"),VL=U(Q.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"),ZL=U(Q.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"),XL=U(Q.jsx("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness4"),KL=U(Q.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 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6"}),"Brightness5"),ca=U(Q.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"),qL=U(Q.jsx("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4"}),"Brightness7"),eg=U(Q.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"),tg=U(Q.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"),ua=U(Q.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"),sg=U(Q.jsx("path",{d:"m20.71 5.63-2.34-2.34a.996.996 0 0 0-1.41 0l-3.12 3.12-1.93-1.91-1.41 1.41 1.42 1.42L3 16.25V21h4.75l8.92-8.92 1.42 1.42 1.41-1.41-1.92-1.92 3.12-3.12c.4-.4.4-1.03.01-1.42M6.92 19 5 17.08l8.06-8.06 1.92 1.92z"}),"Colorize"),ig=U(Q.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"),rg=U(Q.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"),gN=U(Q.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"),og=U(Q.jsx("path",{d:"M17 15h2V7c0-1.1-.9-2-2-2H9v2h8zM7 17V1H5v4H1v2h4v10c0 1.1.9 2 2 2h10v4h2v-4h4v-2z"}),"Crop"),ng=U(Q.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"),Kr=U(Q.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"),ag=U(Q.jsx("path",{d:"M18.41 5.8 17.2 4.59c-.78-.78-2.05-.78-2.83 0l-2.68 2.68L3 15.96V20h4.04l8.74-8.74 2.63-2.63c.79-.78.79-2.05 0-2.83M6.21 18H5v-1.21l8.66-8.66 1.21 1.21zM11 20l4-4h6v4z"}),"DriveFileRenameOutline"),mi=U(Q.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"),Mg=U(Q.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"),cg=U(Q.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),ug=U(Q.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"),lg=U(Q.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"),Ng=U(Q.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"),Lg=U(Q.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"),gg=U(Q.jsx("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic"),jg=U(Q.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"),la=U(Q.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"),jN=U(Q.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"),yg=U(Q.jsx("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn"),yN=U(Q.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"),Tg=U(Q.jsx("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List"),dg=U(Q.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"),Dg=U(Q.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"),hg=U(Q.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"),zg=U(Q.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),Na=U(Q.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"),wg=U(Q.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"}),"Photo"),Sr=U(Q.jsx("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish"),TN=U(Q.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"),La=U(Q.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"),Cg=U(Q.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"),ln=U(Q.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"),kr=U(Q.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"),Ig=U(Q.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"),ga=U(Q.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"),pg=U(Q.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields"),Ag=U(Q.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-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFileOutlined"),mg=U(Q.jsx("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom"),Og=U(Q.jsx("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop"),Eg=U(Q.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"),fg=U(Q.jsx("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),xg=U(Q.jsx("path",{d:"M4 15h16v-2H4zm0 4h16v-2H4zm0-8h16V9H4zm0-6v2h16V5z"}),"ViewHeadline"),_g=U(Q.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"),Sg=U(Q.jsx("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility"),kg=U(Q.jsx("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning"),Qs=U(Q.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"),rr=U(Q.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"),Oo=11/23/100;function JM(s){const e={r:0,g:0,b:0};if(s.length===7)e.r=parseInt(s.substring(1,3),16),e.g=parseInt(s.substring(3,5),16),e.b=parseInt(s.substring(5,7),16);else if(s.length===4){const t=s[1],i=s[2],r=s[3];e.r=parseInt(t+t,16),e.g=parseInt(i+i,16),e.b=parseInt(r+r,16)}return e}function Yg(s){return`#${Math.round(s.r).toString(16)}${Math.round(s.g).toString(16)}${Math.round(s.b).toString(16)}`}function vg(s,e,t){const i=JM(s),r=JM(e);return i.r+=r.r*(.05+Oo*(t-1)),i.g+=r.g*(.05+Oo*(t-1)),i.b+=r.b*(.05+Oo*(t-1)),Yg(i)}function RM(s,e){const t={};for(let i=1;i<=24;i++)t[`elevation${i}`]={backgroundColor:vg(s,e,i)};return t}function bg(s,e){var n,a,c,l,N,u,L,g,y,T,d;let t,i;s==="dark"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[200],"&:hover":{color:Pe[100]}}},MuiPaper:RM("#121212","#fff")},t={name:s,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):s==="blue"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[400],"&:hover":{color:Pe[300]}}}},t={name:s,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):s==="colored"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[200],"&:hover":{color:Pe[100]}}},MuiPaper:RM("#151d21","#fff")},t={name:s,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):s==="PT"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[400],"&:hover":{color:Pe[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):s==="DX"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#a9a9a9"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[400],"&:hover":{color:Pe[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#F5F5F7"},secondary:{main:"#a9a9a9"},expert:"#BD1B24",text:{primary:"#007AFE",secondary:"#007AFE",disabled:"#007AFEAA"}}}):(i={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:Pe[400],"&:hover":{color:Pe[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),t.toolbar={height:48},t.saveToolbar={background:(a=(n=t.palette)==null?void 0:n.primary)==null?void 0:a.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:YM[300],dark:YM[400]});const r=vM(t),o=r.palette;return vM(r,{...e||void 0,components:{...i,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(c=o.grey)==null?void 0:c[300],color:o.getContrastText&&((l=o.grey)!=null&&l[300])?o.getContrastText(o.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(N=o.text)==null?void 0:N.primary,borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(u=o.action)==null?void 0:u.disabledBackground}`},"&:hover":{borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:bM(((L=o.text)==null?void 0:L.primary)||"",((g=o.action)==null?void 0:g.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(y=o.text)==null?void 0:y.primary,"&:hover":{backgroundColor:bM(((T=o.text)==null?void 0:T.primary)||"",((d=o.action)==null?void 0:d.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function Qg(){let s,e;const t=new Promise((i,r)=>{s=i,e=r});return t.resolve=s,t.reject=e,t}function Nn(s){return(s==null?void 0:s.rows.map(e=>e.value).filter(e=>!!e))??[]}function Tt(s){return s!=null&&s.startsWith("system.host.")||(s=`system.host.${s}`),s}function ui(s){return s!=null&&s.startsWith("system.host.")&&(s=s.substring(12)),s}function FM(s){return new Promise(e=>{setTimeout(e,s)})}function or(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}var rt;(function(s){s[s.CONNECTING=0]="CONNECTING",s[s.CONNECTED=1]="CONNECTED",s[s.OBJECTS_LOADED=2]="OBJECTS_LOADED",s[s.READY=3]="READY"})(rt||(rt={}));var Ie;(function(s){s.PERMISSION_ERROR="permissionError",s.NOT_CONNECTED="notConnectedError",s.TIMEOUT="timeout",s.NOT_ADMIN="Allowed only in admin",s.NOT_SUPPORTED="Not supported"})(Ie||(Ie={}));const J3e=Ie.PERMISSION_ERROR;Ie.NOT_CONNECTED;const Ug=["material","echarts","vis"];class ze{constructor(e){this.props=this.applyDefaultProps(e),this.connId=`${this.props.name?`${this.props.name}-`:""}${Math.round(Math.random()*1e6).toString().padStart(6,"0")}`,this.waitForSocketLib().then(()=>this.startSocket()).catch(t=>{alert(`Socket connection could not be initialized: ${t}`)})}applyDefaultProps(e){return{...e,protocol:e.protocol||window.location.protocol,host:e.host||window.location.hostname,port:e.port||(window.location.port==="3000"?8081:window.location.port),ioTimeout:Math.max(e.ioTimeout||2e4,2e4),cmdTimeout:Math.max(e.cmdTimeout||5e3,5e3),admin5only:e.admin5only||!1,autoSubscribes:e.autoSubscribes??[],autoSubscribeLog:e.autoSubscribeLog??!1,doNotLoadACL:e.doNotLoadACL??!0,doNotLoadAllObjects:e.doNotLoadAllObjects??!0}}props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};statesSubscribes={};filesSubscribes={};objectsSubscribes={};objects={};states={};acl=null;isSecure=!1;onReadyDone=!1;onConnectionHandlers=[];onLogHandlers=[];onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;onError(e){(this.props.onError??console.error)(e)}_socket;_waitForSocketPromise;_waitForFirstConnectionPromise=Qg();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return window.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(typeof window.io>"u"&&typeof window.iob>"u")if(typeof window.registerSocketOnLoad=="function")window.registerSocketOnLoad(()=>e());else{for(let i=1;i<=30;i++){if(window.io||window.iob)return e();await FM(100)}t(new Error("Socket library could not be loaded!"))}else e()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let e=this.props.host,t=this.props.port,i=(this.props.protocol||window.location.protocol).replace(":",""),r=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")r="";else{if(window.socketUrl){const a=new URL(window.socketUrl);e=a.hostname,t=a.port,i=a.protocol.replace(":","")}const n=r.lastIndexOf("/");if(n!==-1&&(r=r.substring(0,n+1)),ze.isWeb()){const a=r.split("/");a.length>2&&(a.pop(),a.pop(),Ug.includes(a[a.length-1])&&a.pop(),r=a.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${i}://${e}:${t}`:`${i}://${e}`;return this._socket=(window.io||window.iob).connect(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/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",n=>{window.addEventListener("storage",this.onAccessTokenUpdated);const a=ze.readTokens();if(a&&!a.owner){const c=Date.now();this.saveTokens({access_token:a.access_token,refresh_token:a.refresh_token,expires_in:Math.round((a.expires_in.getTime()-c)/1e3),refresh_token_expires_in:Math.round((a.refresh_token_expires_in.getTime()-c)/1e3),token_type:"Bearer"},a.stayLoggedIn)}this.onReadyDone=!1,n!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(c=>{const[l,N,u]=c.version.split(".");parseInt(l,10)*1e4+parseInt(N,10)*100+parseInt(u,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(g,y)=>this.onPreConnect(g,y))}).catch(c=>this.onError({message:c.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(c,l)=>{this.onPreConnect(c,l)})}),this._socket.on("reconnect",()=>{var n,a;this.onReadyDone=!1,(a=(n=this.props).onProgress)==null||a.call(n,rt.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(c=>c(!0)))}),this._socket.on("disconnect",()=>{var n,a;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(a=(n=this.props).onProgress)==null||a.call(n,rt.CONNECTING),this.onConnectionHandlers.forEach(c=>c(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",n=>{var a,c;(c=(a=this.props).onLog)==null||c.call(a,n),this.onLogHandlers.forEach(l=>l(n))}),this._socket.on("error",n=>{let a;n==null?a="":typeof n.toString=="function"?a=n.toString():(a=JSON.stringify(n),console.error(`Received strange error: ${a}`)),a.includes("User not authorized")?this.authenticate():a.includes("websocket error")?(console.error(`Socket Error => reload: ${n}`),window.location.reload()):console.error(`Socket Error: ${n}`)}),this._socket.on("connect_error",n=>console.error(`Connect error: ${n}`)),this._socket.on("permissionError",n=>this.onError({message:"no permission",operation:n.operation,type:n.type,id:n.id||""})),this._socket.on("objectChange",(n,a)=>{setTimeout(()=>this.objectChange(n,a),0)}),this._socket.on("stateChange",(n,a)=>{setTimeout(()=>this.stateChange(n,a),0)}),this._socket.on("im",(n,a,c)=>{setTimeout(()=>this.instanceMessage(n,a,c),0)}),this._socket.on("fileChange",(n,a,c)=>{setTimeout(()=>this.fileChange(n,a,c),0)}),this._socket.on("cmdStdout",(n,a)=>{var c;(c=this.onCmdStdoutHandler)==null||c.call(this,n,a)}),this._socket.on("cmdStderr",(n,a)=>{var c;(c=this.onCmdStderrHandler)==null||c.call(this,n,a)}),this._socket.on("cmdExit",(n,a)=>{var c;(c=this.onCmdExitHandler)==null||c.call(this,n,a)}),Promise.resolve()}onPreConnect(e,t){var i,r;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?this.loadData().catch(o=>console.error(`Cannot load data: ${o}`)):(r=(i=this.props).onProgress)==null||r.call(i,rt.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(o=>o(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=window.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=window.localStorage.getItem("iob_tokens")),!e)return null;const[i,r,o,n,a]=e.split(";"),c=new Date(r);return c.getTime(){if(e.key==="iob_tokens"){const t=ze.readTokens();t&&(console.log(`Tab ${this.connId} received updated token: ${t.access_token}`),this.updateTokenExpiration(t.access_token))}};updateTokenExpiration(e){this.lastAccessToken!==e&&(this.lastAccessToken=e,this._socket.emit("updateTokenExpiration",e,(t,i)=>{t?(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token: ${t}`),window.location.reload()):i?console.log(`[UPDATE/${new Date().toISOString()}] server accepted new token: ${e}`):(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token`),window.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>window.location.reload(),500);return}t||!e.owner||e.owner===this.connId?(console.log(`[REFRESH/${new Date().toISOString()}] claim ownership of the token`),this.acquireTokenLock()?(console.log(`[REFRESH/${new Date().toISOString()}] refreshing token`),fetch("./oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`grant_type=refresh_token&refresh_token=${e.refresh_token}&client_id=ioBroker&stayloggedin=${e.stayLoggedIn}`}).then(i=>{if(i.ok)return i.json();throw new Error("Cannot refresh access token")}).then(i=>{if(i.access_token)console.log(`[REFRESH/${new Date().toISOString()}] received new token: ${i.access_token}`),this.saveTokens(i,e.stayLoggedIn),this.releaseTokenLock(),this.updateTokenExpiration(i.access_token);else throw new Error("Cannot get access token")}).catch(i=>{console.warn(`[REFRESH/${new Date().toISOString()}] cannot refresh token: ${i}`),this.releaseTokenLock(),this.deleteTokens(e.stayLoggedIn),console.error(i),window.location.reload()})):(console.log(`[REFRESH/${new Date().toISOString()}] Someone else is updating the token, so wait for the next check`),this.checkAccessTokenExpire())):this.lastAccessToken!==e.access_token&&this.updateTokenExpiration(e.access_token)}acquireTokenLock(){const e=Date.now(),t=localStorage.getItem("iob_token_semaphore");if(t)try{const r=JSON.parse(t);if(e{r?(console.log(`[TOKEN/${new Date().toISOString()}] Token will be prolonged`),this.refreshTokens(e,i)):(console.log(`[TOKEN/${new Date().toISOString()}] Token will not be prolonged. Reloading the page`),setTimeout(()=>window.location.reload(),Date.now()>t?500:t-Date.now()))})):(console.log(`[TOKEN/${new Date().toISOString()}] No tokenTimeoutHandler defined. Prolonging the token`),this.refreshTokens(e,i))):this.lastAccessToken!==e.access_token?(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token, but we will inform the server about new token`),this.refreshTokens(e)):(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token and the token did not change. Check in 3 seconds if the owner updated the token`),this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},3e3)):(console.log(`[TOKEN/${new Date().toISOString()}] We do not have a refresh token, so we need to reauthenticate`),setTimeout(()=>window.location.reload(),Date.now()>t?500:t-Date.now()))}else this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},t-Date.now()-3e4>12e4?12e4:t-Date.now()-3e4)}}}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!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:(e,t)=>{this._socket.emit("getUserPermissions",(i,r)=>{i?t(i):e(r||null)})}})}async loadData(){if(this.loaded)return;const e=10;for(let t=1;t<=e;t++){if(this.doLoadData().catch(i=>console.error(`Cannot load data: ${i}`)),this.loaded)return;await FM(ze.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,i,r,o,n,a,c,l;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(N){this.onError(`Cannot read user permissions: ${N}`);return}try{this.props.admin5only&&!ze.isWeb()&&(!window.vendorPrefix||window.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(N){this.onError(`Cannot read system config: ${N}`);return}this._systemConfig&&(this.systemLang=(e=this._systemConfig.common)==null?void 0:e.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)),(i=(t=this.props).onLanguage)==null||i.call(t,this.systemLang),this.loaded=!0,(o=(r=this.props).onProgress)==null||o.call(r,rt.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(a=(n=this.props).onProgress)==null||a.call(n,rt.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(c=this.props).onReady)==null||l.call(c,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.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${encodeURIComponent(window.location.search+window.location.hash)}`}async subscribeState(...e){let t,i,r;e.length===3?[t,i,r]=e:([t,r]=e,i=!1);let o;if(Array.isArray(t)?o=t:o=[t],typeof r!="function")throw new Error("The state change handler must be a function!");const n=[];for(let a=0;aa.includes("*"))){let a;for(let c=0;cconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const a=await(ze.isWeb()?this.getStates(o):this.getForeignStates(o));if(a)for(const[c,l]of Object.entries(a)){const N=r(c,l);N instanceof Promise&&N.catch(u=>console.error(`Cannot call state change handler: ${u}`))}}catch(a){console.error(`Cannot getState "${o.join(", ")}": ${a.message}`);return}}async subscribeStateAsync(e,t){return this.subscribeState(e,t)}unsubscribeState(e,t){var o;let i;Array.isArray(e)?i=e:i=[e];const r=[];for(let n=0;n{try{const N=l(e,t,i);N instanceof Promise&&N.catch(u=>console.error(`Cannot call object change handler: ${u}`))}catch(N){console.error(`Error by callback of objectChange: ${N}`)}});if(r){const a=(n=(o=this.props).onObjectChange)==null?void 0:n.call(o,e,t);a instanceof Promise&&a.catch(c=>console.error(`Cannot call object change handler: ${c}`))}}stateChange(e,t){for(const i of Object.values(this.statesSubscribes))if(i.reg.test(e))for(const r of i.cbs)try{const o=r(e,t??null);o instanceof Promise&&o.catch(n=>console.error(`Cannot call state change handler: ${n}`))}catch(o){console.error(`Error by callback of stateChanged: ${o}`)}}instanceMessage(e,t,i){var r;(r=this._instanceSubscriptions[t])==null||r.forEach(o=>{if(o.messageType===e){const n=o.callback(i,t,e);n instanceof Promise&&n.catch(a=>console.error(`Cannot call instance message handler: ${a}`))}})}fileChange(e,t,i){for(const r of Object.values(this.filesSubscribes))if(r.regId.test(e)&&r.regFilePattern.test(t))for(const o of r.cbs)try{o(e,t,i)}catch(n){console.error(`Error by callback of fileChange: ${n}`)}}async subscribeFiles(e,t,i){if(typeof i!="function")throw new Error("The state change handler must be a function!");let r;Array.isArray(t)?r=t:r=[t];const o=[];for(let n=0;n{const u={elapsed:!1,clearTimeout:()=>{}};let L;i!==!1&&(L=setTimeout(()=>{u.elapsed=!0,r==null||r(),e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(Ie.TIMEOUT))},i??this.props.cmdTimeout),u.clearTimeout=()=>{clearTimeout(L)});try{await a(l,N,u)}catch(g){e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(g.toString()))}});return e&&(this._promises[e]=c),c}resetCache(e,t){t?Object.keys(this._promises).filter(i=>i.startsWith(e)).forEach(i=>{delete this._promises[i]}):delete this._promises[e]}getStates(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getStates",e,(r,o)=>{this.states=o??{},r?i(r):t(this.states)})}})}getState(e){return this.request({commandTimeout:!1,executor:(t,i)=>{if(e&&e===this.ignoreState){t(this.simStates[e]||{val:null,ack:!0});return}this._socket.emit("getState",e,(r,o)=>{r?i(r):t(o)})}})}getBinaryState(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getBinaryState",e,(r,o)=>{r?i(r):t(o)})}})}setBinaryState(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("setBinaryState",e,t,o=>{o?r(o):i()})}})}setState(e,t,i){return typeof i=="boolean"&&(t={val:t,ack:i}),this.request({commandTimeout:!1,executor:(r,o)=>{if(e&&e===this.ignoreState){let n;if(typeof i=="boolean"||typeof t=="object"&&t.val!==void 0?n=t:n={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=n,this.statesSubscribes[e])for(const a of this.statesSubscribes[e].cbs)try{const c=a(e,n);c instanceof Promise&&c.catch(l=>console.error(`Cannot call state change handler: ${l}`))}catch(c){console.error(`Error by callback of stateChanged: ${c}`)}r();return}this._socket.emit("setState",e,t,n=>{n?o(n):r()})}})}getObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{if(!e&&this.objects){i(this.objects);return}this._socket.emit(ze.isWeb()?"getObjects":"getAllObjects",(o,n)=>{var a,c;t||(c=(a=this.props).onProgress)==null||c.call(a,rt.OBJECTS_LOADED),o?r(o):(this.objects=n??{},i(this.objects))})}})}getObjectsById(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjects",e,(r,o)=>{r?i(r):t(o)})}})}_subscribe(e){var t,i;if(e&&!this.subscribed){this.subscribed=!0,(t=this.props.autoSubscribes)!=null&&t.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("subscribeObjects",r),Object.keys(this.objectsSubscribes).forEach(o=>this._socket.emit("subscribeObjects",o)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("subscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[n,a]=o.split("$%$");this._socket.emit("subscribeFiles",n,a)})}else if(!e&&this.subscribed){this.subscribed=!1,(i=this.props.autoSubscribes)!=null&&i.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("unsubscribeObjects",r),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("unsubscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[n,a]=o.split("$%$");this._socket.emit("unsubscribeFiles",n,a)})}}requireLog(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("requireLog",e,r=>{r?i(r):t()})}})}delObject(e,t=!1){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("delObject",e,{maintenance:t},o=>{o?r(o):i()})}})}delObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("delObjects",e,{maintenance:t},o=>{o?r(o):i()})}})}setObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("setObject",e,t,o=>{o?r(o):i()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(e){return this.request({commandTimeout:!1,executor:(t,i)=>{if(e&&e===this.ignoreState){t({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",e,(r,o)=>{r?i(r):t(o)})}})}sendTo(e,t,i){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendTo",e,t,i,o=>{r(o)})}})}extendObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("extendObject",e,t,o=>{o?r(o):i()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(e){this.onLogHandlers.includes(e)||this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){this.onConnectionHandlers.includes(e)||this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return this.request({cacheKey:`enums_${e||"all"}`,forceUpdate:t,commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:e?`enum.${e}.香`:"enum.香"},(o,n)=>{if(o)r(o);else{const a={};if(n)for(let c=0;c{i=i||"",r=r||"香",this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(a,c)=>{if(a)n(a);else{const l={};if(c&&c.rows)for(let N=0;N{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(i,r)=>{var o;i?t(i):e((o=r.rows)==null?void 0:o.map(n=>n.value).filter(n=>!!n))})}})}readDir(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("readDir",e,t,(o,n)=>{o?r(o):i(n)})}})}readFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit(i?"readFile64":"readFile",e,t,(n,a,c)=>{n?o(n):r({file:a,mimeType:c})})}})}writeFile64(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{if(typeof i=="string")this._socket.emit("writeFile",e,t,i,n=>{n?o(n):r()});else{const n=btoa(new Uint8Array(i).reduce((a,c)=>a+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,a=>{a?o(a):r()})}}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFile",e,t,o=>{o?r(o):i()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o?r(o):i()})}})}rename(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,i,n=>{n?o(n):r()})}})}renameFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,i,n=>{n?o(n):r()})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,a)=>{e=Tt(e),this._socket.emit("cmdExec",e,i,t,c=>{a.elapsed||(a.clearTimeout(),c?n(c):o())})}})}getSystemConfig(e){return this.request({cacheKey:"systemConfig",forceUpdate:e,commandTimeout:!1,executor:async t=>{let i=await this.getObject("system.config");i??={},i.common??={},i.native??={},t(i)}})}getCompactSystemConfig(e){return this.request({cacheKey:"systemConfigCommon",forceUpdate:e,commandTimeout:!1,requireAdmin:!0,executor:(t,i)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>{r?i(r):(o??={},o.common??={},o.native??={},t(o))})}})}getForeignStates(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>{r?i(r):t(o??{})})}})}getForeignObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,n)=>{o?r(o):i(n)})}})}setSystemConfig(e){return this.setObject("system.config",e)}getRawSocket(){return this._socket}getHistory(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getHistory",e,t,(o,n)=>{o?r(o):i(n)})}})}getHistoryEx(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getHistory",e,t,(o,n,a,c)=>{o?r(o):i({values:n,sessionId:c,step:a})})}})}getIpAddresses(e,t){return e=Tt(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObject(e);i((r==null?void 0:r.common.address)??[])}})}getVersion(e){return this.request({cacheKey:"version",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getVersion",(r,o,n)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?i(r):t({version:o,serverName:n})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getAdapterName",(i,r)=>{i?t(i):e(r)})}})}fileExists(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("fileExists",e,t,(o,n)=>{o?r(o):i(!!n)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:e=>{this._socket.emit("authEnabled",(t,i)=>{e(i)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async e=>{var i;const t=await this.getObject("system.meta.uuid");e((i=t==null?void 0:t.native)==null?void 0:i.uuid)}})}checkFeatureSupported(e,t){return this.request({cacheKey:`supportedFeatures_${e}`,forceUpdate:t,commandTimeout:!1,executor:(i,r)=>{this._socket.emit("checkFeatureSupported",e,(o,n)=>{o?r(o):i(n)})}})}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e=e||"",this.request({cacheKey:`instances_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=e?`system.adapter.${e}.`:"system.adapter.",o=`${r}香`,n=await this.getObjectViewSystem("instance",r,o),a=Object.values(n);i(e?a.filter(c=>c.common.name===e):a)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=e,e=""),e=e||"",this.request({cacheKey:`adapter_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObjectViewSystem("adapter",`system.adapter.${e||""}`,`system.adapter.${e||"香"}`),o=Object.values(r);i(e?o.filter(n=>n.common.name===e):o)}})}getGroups(e){return this.request({cacheKey:"groups",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?i(r):t(Nn(o))})}})}logout(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("logout",i=>{i?t(i):e(null)})}})}subscribeOnInstance(e,t,i,r){return this.request({commandTimeout:!1,executor:(o,n)=>{this._socket.emit("clientSubscribe",e,t,i,(a,c)=>{a?n(a):c&&(c.error?n(c.error):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]=this._instanceSubscriptions[e]||[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(c)))})}})}unsubscribeFromInstance(e,t,i){var n;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const a=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(a!=null&&a!==-1){r=!0;const c=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===c)||o.push(this.request({commandTimeout:!1,executor:(N,u)=>{this._socket.emit("clientUnsubscribe",e,t,(L,g)=>L?u(L):N(g))}}))}}while(r&&(!i||!t));return o.length?Promise.all(o).then(a=>!!a.find(c=>c)):Promise.resolve(!1)}log(e,t){return e?this.request({commandTimeout:!1,executor:i=>(this._socket.emit("log",e,t),i(null))}):Promise.resolve(null)}setStateToIgnore(e){this.ignoreState=e}}function $g(s,e){if(!e)return;let t;if(e.length<700&&(e.indexOf("/")!==-1||e.indexOf("\\")!==-1))if(s.toLowerCase().includes("private"))t="private";else if(e.toLowerCase().includes("private"))t="private";else if(s.toLowerCase().includes("public"))t="public";else if(e.toLowerCase().includes("public"))t="public";else if(s.toLowerCase().includes("chain"))t="chained";else if(e.toLowerCase().includes("chain"))t="chained";else return;else t=e.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||e.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",t==="public"&&e.split("-----END CERTIFICATE-----").filter(r=>r.replace(/\r\n|\r|\n/,"").trim()).length>1&&(t="chained");return{name:s,type:t}}function Pg(s){var i,r,o,n;const e=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],t=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((r=(i=s.native)==null?void 0:i.hardware)!=null&&r.networkInterfaces){const a=(n=(o=s.native)==null?void 0:o.hardware)==null?void 0:n.networkInterfaces;Object.keys(a).forEach(c=>{a[c].forEach(l=>{l.family!=="IPv6"?e.push({name:`[${l.family}] ${l.address} - ${c}`,address:l.address,family:"ipv4"}):t.push({name:`[${l.family}] ${l.address} - ${c}`,address:l.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class R3e extends ze{constructor(e){super(e)}request(e){return super.request({requireAdmin:!0,...e})}getCertificates(e){return this.request({cacheKey:"cert",forceUpdate:e,commandTimeout:!1,executor:async t=>{var r;const i=await this.getObject("system.certificates");(r=i==null?void 0:i.native)!=null&&r.certificates?t(Object.entries(i.native.certificates).map(([o,n])=>$g(o,n)).filter(o=>!!o)):t([])}})}getLogs(e,t=200){return this.request({commandTimeout:!1,executor:i=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>{i(r)})}})}upgradeAdapterWithWebserver(e,t){return this.request({commandTimeout:!1,executor:i=>{this._socket.emit("sendToHost",e,"upgradeAdapterWithWebserver",t,r=>{i(r)})}})}upgradeController(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("sendToHost",e,"upgradeController",{version:t,adminInstance:i},n=>{const a=n;a.error?o(a.error):r(a.result)})}})}updateLicenses(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("updateLicenses",e,t,(o,n)=>{o?r(o):i(n)})}})}upgradeOsPackages(e,t,i){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendToHost",e,"upgradeOsPackages",{packages:t,restart:!!i},o=>{r(o)})}})}getLogsFiles(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("readLogs",e,(r,o)=>{r&&i(r),t(o)})}})}delLogs(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>{r&&i(r),t()})}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFile",e,t,o=>{o&&r(o),i()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o&&r(o),i()})}})}rename(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,i,n=>{n&&o(n),r()})}})}renameFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,i,n=>{n&&o(n),r()})}})}getHosts(e){return this.request({cacheKey:"hosts",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?i(r):t(Nn(o))})}})}getUsers(e){return this.request({cacheKey:"users",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?i(r):t(Nn(o))})}})}renameGroup(e,t,i){return this.request({commandTimeout:!1,executor:async r=>{const o=await this.getGroups(!0),n=o.filter(c=>c._id.startsWith(`${e}.`));for(const c of n){const l=c._id,N=t+c._id.substring(e.length);c._id=N,await this.setObject(N,c),await this.delObject(l)}const a=o.find(c=>c._id===e);if(a){const c=a._id;a._id=t,i!==void 0&&(a.common??={},a.common.name=i),await this.setObject(t,a),await this.delObject(c)}r()}})}getHostInfo(e,t,i){return e=Tt(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getHostInfo"'):a?r(a):o('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,i){return e=Tt(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getHostInfoShort"'):a?r(a):o('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,i,r){return this.request({cacheKey:`repository_${e}`,forceUpdate:i,commandTimeout:r,executor:(o,n,a)=>{this._socket.emit("sendToHost",e,"getRepository",t,c=>{a.elapsed||(a.clearTimeout(),c===Ie.PERMISSION_ERROR?n('May not read "getRepository"'):c?o(c):n('Cannot read "getRepository"'))})}})}getInstalled(e,t,i){return e=Tt(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getInstalled",null,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getInstalled"'):a?r(a):o('Cannot read "getInstalled"'))})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,a)=>{e=Tt(e),this._socket.emit("cmdExec",e,i,t,c=>{a.elapsed||(a.clearTimeout(),c&&n(c),o())})}})}readBaseSettings(e){return e=ui(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(t,i,r)=>{this._socket.emit("sendToHost",e,"readBaseSettings",null,o=>{r.elapsed||(r.clearTimeout(),o===Ie.PERMISSION_ERROR?i('May not read "BaseSettings"'):o?o.error?i(new Error(o.error)):t(o):i('Cannot read "BaseSettings"'))})}})}writeBaseSettings(e,t){return e=ui(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"writeBaseSettings",t,n=>{o.elapsed||(o.clearTimeout(),n===Ie.PERMISSION_ERROR?r('May not write "BaseSettings"'):n?i(n):r('Cannot write "BaseSettings"'))})}})}restartController(e){return e=ui(e),this.request({executor:(t,i,r)=>{this._socket.emit("sendToHost",e,"restartController",null,()=>{r.elapsed||(r.clearTimeout(),t(!0))})}})}getDiagData(e,t){return e=ui(e),this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"getDiagData",t,n=>{o.elapsed||(o.clearTimeout(),i(n||null))})}})}changePassword(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("changePassword",e,t,n=>{o.elapsed||(o.clearTimeout(),n&&r(n),i())})}})}getIpAddresses(e,t){return e=Tt(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObject(e);i((r==null?void 0:r.common.address)??[])}})}getHostByIp(e,t){return e=ui(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(i,r,o)=>{this._socket.emit("getHostByIp",e,(n,a)=>{if(o.elapsed)return;o.clearTimeout();const{IPs4:c,IPs6:l}=Pg(a);i([...c,...l])})}})}encrypt(e){return this.request({executor:(t,i,r)=>{this._socket.emit("encrypt",e,(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}decrypt(e){return this.request({executor:(t,i,r)=>{this._socket.emit("decrypt",e,(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}chmodFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chmodFile",e,t,i,(a,c)=>{n.elapsed||(n.clearTimeout(),a&&o(a),r(c))})}})}chownFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chownFile",e,t,i,(a,c)=>{n.elapsed||(n.clearTimeout(),a&&o(a),r(c))})}})}getNotifications(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},n=>{o.elapsed||(o.clearTimeout(),i(n))})}})}clearNotifications(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},n=>{o.elapsed||(o.clearTimeout(),i(n))})}})}getIsEasyModeStrict(){return this.request({executor:(e,t,i)=>{this._socket.emit("getIsEasyModeStrict",(r,o)=>{i.elapsed||(i.clearTimeout(),r&&t(r),e(!!o))})}})}getEasyMode(){return this.request({executor:(e,t,i)=>{this._socket.emit("getEasyMode",(r,o)=>{i.elapsed||(i.clearTimeout(),r?t(new Error(r)):e(o))})}})}getRatings(e){return this.request({executor:(t,i,r)=>{this._socket.emit("getRatings",!!e,(o,n)=>{r.elapsed||(r.clearTimeout(),o?i(new Error(o)):t(n))})}})}getCurrentSession(e){const t=new AbortController;return this.request({commandTimeout:e||5e3,onTimeout:()=>{t.abort()},executor:async(i,r,o)=>{try{const n=await fetch("./session",{signal:t.signal});if(o.elapsed)return;o.clearTimeout();const a=await n.json();i(a)}catch(n){r(`getCurrentSession: ${n}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(e,t,i)=>{this._socket.emit("getCurrentInstance",(r,o)=>{i.elapsed||(i.clearTimeout(),r?t(r):e(o))})}})}getAdapterInstances(e,t){let i;return typeof e=="boolean"?(t=e,i=""):i=e||"",this.request({cacheKey:`instances_${i}`,forceUpdate:t,executor:(r,o,n)=>{this._socket.emit("getAdapterInstances",i,(a,c)=>{n.elapsed||(n.clearTimeout(),a&&o(a),r(c))})}})}getAdapters(e,t){let i;return typeof e=="boolean"?(t=e,i=""):i=e||"",this.request({cacheKey:`adapter_${i}`,forceUpdate:t,executor:(r,o,n)=>{this._socket.emit("getAdapters",i,(a,c)=>{n.elapsed||(n.clearTimeout(),a&&o(a),r(c))})}})}getCompactAdapters(e){return this.request({cacheKey:"compactAdapters",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactAdapters",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getAdaptersResetCache(e){e=e??"",this.resetCache(`adapter_${e}`),this.resetCache("compactAdapters")}getCompactInstances(e){return this.request({cacheKey:"compactInstances",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactInstances",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getAdapterInstancesResetCache(e){e=e??"",this.resetCache(`instances_${e}`),this.resetCache("compactInstances")}getCompactInstalled(e,t,i){return e=Tt(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactInstalled",e,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getCompactInstalled"'):a?r(a):o('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(e){e?(this.resetCache(`installedCompact_${e}`),this.resetCache(`installed_${e}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(e,t,i){return e=Tt(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactRepository",e,a=>{n.elapsed||(n.clearTimeout(),a===Ie.PERMISSION_ERROR?o('May not read "getCompactRepository"'):a?r(a):o('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(e){e?(this.resetCache(`repositoryCompact_${e}`),this.resetCache(`repository_${e}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(e){return this.request({cacheKey:"hostsCompact",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactHosts",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getCompactSystemRepositories(e){return this.request({cacheKey:"repositoriesCompact",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactSystemRepositories",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}}const X=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Xt="9.30.0",ie=globalThis;function qr(){return eo(ie),ie}function eo(s){const e=s.__SENTRY__=s.__SENTRY__||{};return e.version=e.version||Xt,e[Xt]=e[Xt]||{}}function to(s,e,t=ie){const i=t.__SENTRY__=t.__SENTRY__||{},r=i[Xt]=i[Xt]||{};return r[s]||(r[s]=e())}const dN=Object.prototype.toString;function ja(s){switch(dN.call(s)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return bt(s,Error)}}function Vs(s,e){return dN.call(s)===`[object ${e}]`}function DN(s){return Vs(s,"ErrorEvent")}function GM(s){return Vs(s,"DOMError")}function Wg(s){return Vs(s,"DOMException")}function ht(s){return Vs(s,"String")}function ya(s){return typeof s=="object"&&s!==null&&"__sentry_template_string__"in s&&"__sentry_template_values__"in s}function Ta(s){return s===null||ya(s)||typeof s!="object"&&typeof s!="function"}function _i(s){return Vs(s,"Object")}function so(s){return typeof Event<"u"&&bt(s,Event)}function Bg(s){return typeof Element<"u"&&bt(s,Element)}function Jg(s){return Vs(s,"RegExp")}function io(s){return!!(s!=null&&s.then&&typeof s.then=="function")}function Rg(s){return _i(s)&&"nativeEvent"in s&&"preventDefault"in s&&"stopPropagation"in s}function bt(s,e){try{return s instanceof e}catch{return!1}}function hN(s){return!!(typeof s=="object"&&s!==null&&(s.__isVue||s._isVue))}function Fg(s){return typeof Request<"u"&&bt(s,Request)}const da=ie,Gg=80;function zN(s,e={}){if(!s)return"";try{let t=s;const i=5,r=[];let o=0,n=0;const a=" > ",c=a.length;let l;const N=Array.isArray(e)?e:e.keyAttrs,u=!Array.isArray(e)&&e.maxStringLength||Gg;for(;t&&o++1&&n+r.length*c+l.length>=u));)r.push(l),n+=l.length,t=t.parentNode;return r.reverse().join(a)}catch{return""}}function Hg(s,e){const t=s,i=[];if(!(t!=null&&t.tagName))return"";if(da.HTMLElement&&t instanceof HTMLElement&&t.dataset){if(t.dataset.sentryComponent)return t.dataset.sentryComponent;if(t.dataset.sentryElement)return t.dataset.sentryElement}i.push(t.tagName.toLowerCase());const r=e!=null&&e.length?e.filter(n=>t.getAttribute(n)).map(n=>[n,t.getAttribute(n)]):null;if(r!=null&&r.length)r.forEach(n=>{i.push(`[${n[0]}="${n[1]}"]`)});else{t.id&&i.push(`#${t.id}`);const n=t.className;if(n&&ht(n)){const a=n.split(/\s+/);for(const c of a)i.push(`.${c}`)}}const o=["aria-label","type","name","title","alt"];for(const n of o){const a=t.getAttribute(n);a&&i.push(`[${n}="${a}"]`)}return i.join("")}function Da(){try{return da.document.location.href}catch{return""}}function Vg(s){if(!da.HTMLElement)return null;let e=s;const t=5;for(let i=0;i{const o=Yr[r];t[r]=e[r],e[r]=o});try{return s()}finally{i.forEach(r=>{e[r]=t[r]})}}function Xg(){let s=!1;const e={enable:()=>{s=!0},disable:()=>{s=!1},isEnabled:()=>s};return X?Ln.forEach(t=>{e[t]=(...i)=>{s&&Zs(()=>{ie.console[t](`${Zg}[${t}]:`,...i)})}}):Ln.forEach(t=>{e[t]=()=>{}}),e}const R=to("logger",Xg);function vr(s,e=0){return typeof s!="string"||e===0||s.length<=e?s:`${s.slice(0,e)}...`}function HM(s,e){if(!Array.isArray(s))return"";const t=[];for(let i=0;iKg(s,i,t))}function Ue(s,e,t){if(!(e in s))return;const i=s[e];if(typeof i!="function")return;const r=t(i);typeof r=="function"&&wN(r,i);try{s[e]=r}catch{X&&R.log(`Failed to replace method "${e}" in object`,s)}}function Kt(s,e,t){try{Object.defineProperty(s,e,{value:t,writable:!0,configurable:!0})}catch{X&&R.log(`Failed to add non-enumerable property "${e}" to object`,s)}}function wN(s,e){try{const t=e.prototype||{};s.prototype=e.prototype=t,Kt(s,"__sentry_original__",e)}catch{}}function ha(s){return s.__sentry_original__}function CN(s){if(ja(s))return{message:s.message,name:s.name,stack:s.stack,...ZM(s)};if(so(s)){const e={type:s.type,target:VM(s.target),currentTarget:VM(s.currentTarget),...ZM(s)};return typeof CustomEvent<"u"&&bt(s,CustomEvent)&&(e.detail=s.detail),e}else return s}function VM(s){try{return Bg(s)?zN(s):Object.prototype.toString.call(s)}catch{return""}}function ZM(s){if(typeof s=="object"&&s!==null){const e={};for(const t in s)Object.prototype.hasOwnProperty.call(s,t)&&(e[t]=s[t]);return e}else return{}}function qg(s,e=40){const t=Object.keys(CN(s));t.sort();const i=t[0];if(!i)return"[object has no keys]";if(i.length>=e)return vr(i,e);for(let r=t.length;r>0;r--){const o=t.slice(0,r).join(", ");if(!(o.length>e))return r===t.length?o:vr(o,e)}return""}function ej(){const s=ie;return s.crypto||s.msCrypto}function Je(s=ej()){let e=()=>Math.random()*16;try{if(s!=null&&s.randomUUID)return s.randomUUID().replace(/-/g,"");s!=null&&s.getRandomValues&&(e=()=>{const t=new Uint8Array(1);return s.getRandomValues(t),t[0]})}catch{}return("10000000100040008000"+1e11).replace(/[018]/g,t=>(t^(e()&15)>>t/4).toString(16))}function IN(s){var e,t;return(t=(e=s.exception)==null?void 0:e.values)==null?void 0:t[0]}function Vt(s){const{message:e,event_id:t}=s;if(e)return e;const i=IN(s);return i?i.type&&i.value?`${i.type}: ${i.value}`:i.type||i.value||t||"":t||""}function gn(s,e,t){const i=s.exception=s.exception||{},r=i.values=i.values||[],o=r[0]=r[0]||{};o.value||(o.value=e||""),o.type||(o.type="Error")}function Rs(s,e){const t=IN(s);if(!t)return;const i={type:"generic",handled:!0},r=t.mechanism;if(t.mechanism={...i,...r,...e},e&&"data"in e){const o={...r==null?void 0:r.data,...e.data};t.mechanism.data=o}}function XM(s){if(tj(s))return!0;try{Kt(s,"__sentry_captured__",!0)}catch{}return!1}function tj(s){try{return s.__sentry_captured__}catch{}}const pN=1e3;function Wi(){return Date.now()/pN}function sj(){const{performance:s}=ie;if(!(s!=null&&s.now))return Wi;const e=Date.now()-s.now(),t=s.timeOrigin==null?e:s.timeOrigin;return()=>(t+s.now())/pN}const zt=sj();function ij(s){const e=zt(),t={sid:Je(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>oj(t)};return s&&Fs(t,s),t}function Fs(s,e={}){if(e.user&&(!s.ipAddress&&e.user.ip_address&&(s.ipAddress=e.user.ip_address),!s.did&&!e.did&&(s.did=e.user.id||e.user.email||e.user.username)),s.timestamp=e.timestamp||zt(),e.abnormal_mechanism&&(s.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(s.ignoreDuration=e.ignoreDuration),e.sid&&(s.sid=e.sid.length===32?e.sid:Je()),e.init!==void 0&&(s.init=e.init),!s.did&&e.did&&(s.did=`${e.did}`),typeof e.started=="number"&&(s.started=e.started),s.ignoreDuration)s.duration=void 0;else if(typeof e.duration=="number")s.duration=e.duration;else{const t=s.timestamp-s.started;s.duration=t>=0?t:0}e.release&&(s.release=e.release),e.environment&&(s.environment=e.environment),!s.ipAddress&&e.ipAddress&&(s.ipAddress=e.ipAddress),!s.userAgent&&e.userAgent&&(s.userAgent=e.userAgent),typeof e.errors=="number"&&(s.errors=e.errors),e.status&&(s.status=e.status)}function rj(s,e){let t={};s.status==="ok"&&(t={status:"exited"}),Fs(s,t)}function oj(s){return{sid:`${s.sid}`,init:s.init,started:new Date(s.started*1e3).toISOString(),timestamp:new Date(s.timestamp*1e3).toISOString(),status:s.status,errors:s.errors,did:typeof s.did=="number"||typeof s.did=="string"?`${s.did}`:void 0,duration:s.duration,abnormal_mechanism:s.abnormal_mechanism,attrs:{release:s.release,environment:s.environment,ip_address:s.ipAddress,user_agent:s.userAgent}}}function Bi(s,e,t=2){if(!e||typeof e!="object"||t<=0)return e;if(s&&Object.keys(e).length===0)return s;const i={...s};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(i[r]=Bi(i[r],e[r],t-1));return i}const jn="_sentrySpan";function KM(s,e){e?Kt(s,jn,e):delete s[jn]}function qM(s){return s[jn]}function ec(){return Je()}function AN(){return Je().substring(16)}const nj=100;class wt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:ec(),sampleRand:Math.random()}}clone(){const e=new wt;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,KM(e,qM(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&Fs(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this._tags={...this._tags,[e]:t},this._notifyScopeListeners(),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const t=typeof e=="function"?e(this):e,i=t instanceof wt?t.getScopeData():_i(t)?e:void 0,{tags:r,extra:o,user:n,contexts:a,level:c,fingerprint:l=[],propagationContext:N}=i||{};return this._tags={...this._tags,...r},this._extra={...this._extra,...o},this._contexts={...this._contexts,...a},n&&Object.keys(n).length&&(this._user=n),c&&(this._level=c),l.length&&(this._fingerprint=l),N&&(this._propagationContext=N),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._session=void 0,KM(this,void 0),this._attachments=[],this.setPropagationContext({traceId:ec(),sampleRand:Math.random()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){var o;const i=typeof t=="number"?t:nj;if(i<=0)return this;const r={timestamp:Wi(),...e,message:e.message?vr(e.message,2048):e.message};return this._breadcrumbs.push(r),this._breadcrumbs.length>i&&(this._breadcrumbs=this._breadcrumbs.slice(-i),(o=this._client)==null||o.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),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:qM(this)}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=Bi(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){const i=(t==null?void 0:t.event_id)||Je();if(!this._client)return R.warn("No client configured on scope - will not capture exception!"),i;const r=new Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:r,...t,event_id:i},this),i}captureMessage(e,t,i){const r=(i==null?void 0:i.event_id)||Je();if(!this._client)return R.warn("No client configured on scope - will not capture message!"),r;const o=new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:o,...i,event_id:r},this),r}captureEvent(e,t){const i=(t==null?void 0:t.event_id)||Je();return this._client?(this._client.captureEvent(e,{...t,event_id:i},this),i):(R.warn("No client configured on scope - will not capture event!"),i)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function aj(){return to("defaultCurrentScope",()=>new wt)}function Mj(){return to("defaultIsolationScope",()=>new wt)}class cj{constructor(e,t){let i;e?i=e:i=new wt;let r;t?r=t:r=new wt,this._stack=[{scope:i}],this._isolationScope=r}withScope(e){const t=this._pushScope();let i;try{i=e(t)}catch(r){throw this._popScope(),r}return io(i)?i.then(r=>(this._popScope(),r),r=>{throw this._popScope(),r}):(this._popScope(),i)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function Gs(){const s=qr(),e=eo(s);return e.stack=e.stack||new cj(aj(),Mj())}function uj(s){return Gs().withScope(s)}function lj(s,e){const t=Gs();return t.withScope(()=>(t.getStackTop().scope=s,e(s)))}function tc(s){return Gs().withScope(()=>s(Gs().getIsolationScope()))}function Nj(){return{withIsolationScope:tc,withScope:uj,withSetScope:lj,withSetIsolationScope:(s,e)=>tc(e),getCurrentScope:()=>Gs().getScope(),getIsolationScope:()=>Gs().getIsolationScope()}}function za(s){const e=eo(s);return e.acs?e.acs:Nj()}function Ct(){const s=qr();return za(s).getCurrentScope()}function Ji(){const s=qr();return za(s).getIsolationScope()}function Lj(){return to("globalScope",()=>new wt)}function gj(...s){const e=qr(),t=za(e);if(s.length===2){const[i,r]=s;return i?t.withSetScope(i,r):t.withScope(r)}return t.withScope(s[0])}function Ee(){return Ct().getClient()}function jj(s){const e=s.getPropagationContext(),{traceId:t,parentSpanId:i,propagationSpanId:r}=e,o={trace_id:t,span_id:r||AN()};return i&&(o.parent_span_id=i),o}const yj="sentry.source",Tj="sentry.sample_rate",dj="sentry.previous_trace_sample_rate",Dj="sentry.op",hj="sentry.origin",mN="sentry.profile_id",ON="sentry.exclusive_time",zj=0,wj=1,Cj="_sentryScope",Ij="_sentryIsolationScope";function EN(s){return{scope:s[Cj],isolationScope:s[Ij]}}function pj(s){if(typeof s=="boolean")return Number(s);const e=typeof s=="string"?parseFloat(s):s;if(!(typeof e!="number"||isNaN(e)||e<0||e>1))return e}const Aj="sentry-",mj=/^sentry-/;function Oj(s){const e=Ej(s);if(!e)return;const t=Object.entries(e).reduce((i,[r,o])=>{if(r.match(mj)){const n=r.slice(Aj.length);i[n]=o}return i},{});if(Object.keys(t).length>0)return t}function Ej(s){if(!(!s||!ht(s)&&!Array.isArray(s)))return Array.isArray(s)?s.reduce((e,t)=>{const i=sc(t);return Object.entries(i).forEach(([r,o])=>{e[r]=o}),e},{}):sc(s)}function sc(s){return s.split(",").map(e=>e.split("=").map(t=>{try{return decodeURIComponent(t.trim())}catch{return}})).reduce((e,[t,i])=>(t&&i&&(e[t]=i),e),{})}const fN=1;let ic=!1;function fj(s){const{spanId:e,traceId:t,isRemote:i}=s.spanContext(),r=i?e:wa(s).parent_span_id,o=EN(s).scope,n=i?(o==null?void 0:o.getPropagationContext().propagationSpanId)||AN():e;return{parent_span_id:r,span_id:n,trace_id:t}}function xj(s){if(s&&s.length>0)return s.map(({context:{spanId:e,traceId:t,traceFlags:i,...r},attributes:o})=>({span_id:e,trace_id:t,sampled:i===fN,attributes:o,...r}))}function rc(s){return typeof s=="number"?oc(s):Array.isArray(s)?s[0]+s[1]/1e9:s instanceof Date?oc(s.getTime()):zt()}function oc(s){return s>9999999999?s/1e3:s}function wa(s){var i;if(Sj(s))return s.getSpanJSON();const{spanId:e,traceId:t}=s.spanContext();if(_j(s)){const{attributes:r,startTime:o,name:n,endTime:a,status:c,links:l}=s,N="parentSpanId"in s?s.parentSpanId:"parentSpanContext"in s?(i=s.parentSpanContext)==null?void 0:i.spanId:void 0;return{span_id:e,trace_id:t,data:r,description:n,parent_span_id:N,start_timestamp:rc(o),timestamp:rc(a)||void 0,status:Yj(c),op:r[Dj],origin:r[hj],links:xj(l)}}return{span_id:e,trace_id:t,start_timestamp:0,data:{}}}function _j(s){const e=s;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function Sj(s){return typeof s.getSpanJSON=="function"}function kj(s){const{traceFlags:e}=s.spanContext();return e===fN}function Yj(s){if(!(!s||s.code===zj))return s.code===wj?"ok":s.message||"unknown_error"}const vj="_sentryRootSpan";function xN(s){return s[vj]||s}function nc(){ic||(Zs(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.")}),ic=!0)}const _N=50,qt="?",ac=/\(error: (.*)\)/,Mc=/captureMessage|captureException/;function SN(...s){const e=s.sort((t,i)=>t[0]-i[0]).map(t=>t[1]);return(t,i=0,r=0)=>{const o=[],n=t.split(` `);for(let a=i;a1024)continue;const l=ac.test(c)?c.replace(ac,"$1"):c;if(!l.match(/\S*Error: /)){for(const N of e){const u=N(l);if(u){o.push(u);break}}if(o.length>=_N+r)break}}return Qj(o.slice(r))}}function bj(s){return Array.isArray(s)?SN(...s):s}function Qj(s){if(!s.length)return[];const e=Array.from(s);return/sentryWrapped/.test(nr(e).function||"")&&e.pop(),e.reverse(),Mc.test(nr(e).function||"")&&(e.pop(),Mc.test(nr(e).function||"")&&e.pop()),e.slice(0,_N).map(t=>({...t,filename:t.filename||nr(e).filename,function:t.function||qt}))}function nr(s){return s[s.length-1]||{}}const Eo="";function Qt(s){try{return!s||typeof s!="function"?Eo:s.name||Eo}catch{return Eo}}function cc(s){const e=s.exception;if(e){const t=[];try{return e.values.forEach(i=>{i.stacktrace.frames&&t.push(...i.stacktrace.frames)}),t}catch{return}}}const Ar={},uc={};function rs(s,e){Ar[s]=Ar[s]||[],Ar[s].push(e)}function os(s,e){if(!uc[s]){uc[s]=!0;try{e()}catch(t){X&&R.error(`Error while instrumenting ${s}`,t)}}}function Ke(s,e){const t=s&&Ar[s];if(t)for(const i of t)try{i(e)}catch(r){X&&R.error(`Error while triggering instrumentation handler. Type: ${s} Name: ${Qt(i)} @@ -320,7 +320,7 @@ body { background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0)); background: linear-gradient(to top, #000, rgba(0,0,0,0)); } - `),M.createElement("div",{style:N.white,className:"saturation-white"},M.createElement("div",{style:N.black,className:"saturation-black"}),M.createElement("div",{style:N.pointer},this.props.pointer?M.createElement(this.props.pointer,this.props):M.createElement("div",{style:N.circle}))))}}]),e}(f.PureComponent||f.Component);function $2e(s,e){for(var t=-1,i=s==null?0:s.length;++t=0,o=!t&&r&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return o?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(i=this.toRgbString()),e==="prgb"&&(i=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(i=this.toHexString()),e==="hex3"&&(i=this.toHexString(!0)),e==="hex4"&&(i=this.toHex8String(!0)),e==="hex8"&&(i=this.toHex8String()),e==="name"&&(i=this.toName()),e==="hsl"&&(i=this.toHslString()),e==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return $(this.toString())},_applyModification:function(e,t){var i=e.apply(null,[this].concat([].slice.call(t)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(ome,arguments)},brighten:function(){return this._applyModification(nme,arguments)},darken:function(){return this._applyModification(ame,arguments)},desaturate:function(){return this._applyModification(sme,arguments)},saturate:function(){return this._applyModification(ime,arguments)},greyscale:function(){return this._applyModification(rme,arguments)},spin:function(){return this._applyModification(Mme,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(lme,arguments)},complement:function(){return this._applyCombination(cme,arguments)},monochromatic:function(){return this._applyCombination(Nme,arguments)},splitcomplement:function(){return this._applyCombination(ume,arguments)},triad:function(){return this._applyCombination(Fu,[3])},tetrad:function(){return this._applyCombination(Fu,[4])}};$.fromRatio=function(s,e){if(Gr(s)=="object"){var t={};for(var i in s)s.hasOwnProperty(i)&&(i==="a"?t[i]=s[i]:t[i]=zi(s[i]));s=t}return $(s,e)};function X2e(s){var e={r:0,g:0,b:0},t=1,i=null,r=null,o=null,n=!1,a=!1;return typeof s=="string"&&(s=Tme(s)),Gr(s)=="object"&&(Nt(s.r)&&Nt(s.g)&&Nt(s.b)?(e=K2e(s.r,s.g,s.b),n=!0,a=String(s.r).substr(-1)==="%"?"prgb":"rgb"):Nt(s.h)&&Nt(s.s)&&Nt(s.v)?(i=zi(s.s),r=zi(s.v),e=eme(s.h,i,r),n=!0,a="hsv"):Nt(s.h)&&Nt(s.s)&&Nt(s.l)&&(i=zi(s.s),o=zi(s.l),e=q2e(s.h,i,o),n=!0,a="hsl"),s.hasOwnProperty("a")&&(t=s.a)),t=r4(t),{ok:n,format:s.format||a,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}function K2e(s,e,t){return{r:Me(s,255)*255,g:Me(e,255)*255,b:Me(t,255)*255}}function Wu(s,e,t){s=Me(s,255),e=Me(e,255),t=Me(t,255);var i=Math.max(s,e,t),r=Math.min(s,e,t),o,n,a=(i+r)/2;if(i==r)o=n=0;else{var c=i-r;switch(n=a>.5?c/(2-i-r):c/(i+r),i){case s:o=(e-t)/c+(e1&&(u-=1),u<1/6?l+(N-l)*6*u:u<1/2?N:u<2/3?l+(N-l)*(2/3-u)*6:l}if(e===0)i=r=o=t;else{var a=t<.5?t*(1+e):t+e-t*e,c=2*t-a;i=n(c,a,s+1/3),r=n(c,a,s),o=n(c,a,s-1/3)}return{r:i*255,g:r*255,b:o*255}}function Bu(s,e,t){s=Me(s,255),e=Me(e,255),t=Me(t,255);var i=Math.max(s,e,t),r=Math.min(s,e,t),o,n,a=i,c=i-r;if(n=i===0?0:c/i,i==r)o=0;else{switch(i){case s:o=(e-t)/c+(e>1)+720)%360;--e;)i.h=(i.h+r)%360,o.push($(i));return o}function Nme(s,e){e=e||6;for(var t=$(s).toHsv(),i=t.h,r=t.s,o=t.v,n=[],a=1/e;e--;)n.push($({h:i,s:r,v:o})),o=(o+a)%1;return n}$.mix=function(s,e,t){t=t===0?0:t||50;var i=$(s).toRgb(),r=$(e).toRgb(),o=t/100,n={r:(r.r-i.r)*o+i.r,g:(r.g-i.g)*o+i.g,b:(r.b-i.b)*o+i.b,a:(r.a-i.a)*o+i.a};return $(n)};$.readability=function(s,e){var t=$(s),i=$(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)};$.isReadable=function(s,e,t){var i=$.readability(s,e),r,o;switch(o=!1,r=dme(t),r.level+r.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7;break}return o};$.mostReadable=function(s,e,t){var i=null,r=0,o,n,a,c;t=t||{},n=t.includeFallbackColors,a=t.level,c=t.size;for(var l=0;lr&&(r=o,i=$(e[l]));return $.isReadable(s,i,{level:a,size:c})||!n?i:(t.includeFallbackColors=!1,$.mostReadable(s,["#fff","#000"],t))};var Yn=$.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"},Lme=$.hexNames=gme(Yn);function gme(s){var e={};for(var t in s)s.hasOwnProperty(t)&&(e[s[t]]=t);return e}function r4(s){return s=parseFloat(s),(isNaN(s)||s<0||s>1)&&(s=1),s}function Me(s,e){jme(s)&&(s="100%");var t=yme(s);return s=Math.min(e,Math.max(0,parseFloat(s))),t&&(s=parseInt(s*e,10)/100),Math.abs(s-e)<1e-6?1:s%e/parseFloat(e)}function wo(s){return Math.min(1,Math.max(0,s))}function Qe(s){return parseInt(s,16)}function jme(s){return typeof s=="string"&&s.indexOf(".")!=-1&&parseFloat(s)===1}function yme(s){return typeof s=="string"&&s.indexOf("%")!=-1}function Xe(s){return s.length==1?"0"+s:""+s}function zi(s){return s<=1&&(s=s*100+"%"),s}function o4(s){return Math.round(parseFloat(s)*255).toString(16)}function Gu(s){return Qe(s)/255}var Ze=function(){var s="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",t="(?:"+e+")|(?:"+s+")",i="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",r="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+r),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+r),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+r),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 Nt(s){return!!Ze.CSS_UNIT.exec(s)}function Tme(s){s=s.replace(V2e,"").replace(Z2e,"").toLowerCase();var e=!1;if(Yn[s])s=Yn[s],e=!0;else if(s=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t;return(t=Ze.rgb.exec(s))?{r:t[1],g:t[2],b:t[3]}:(t=Ze.rgba.exec(s))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=Ze.hsl.exec(s))?{h:t[1],s:t[2],l:t[3]}:(t=Ze.hsla.exec(s))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=Ze.hsv.exec(s))?{h:t[1],s:t[2],v:t[3]}:(t=Ze.hsva.exec(s))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=Ze.hex8.exec(s))?{r:Qe(t[1]),g:Qe(t[2]),b:Qe(t[3]),a:Gu(t[4]),format:e?"name":"hex8"}:(t=Ze.hex6.exec(s))?{r:Qe(t[1]),g:Qe(t[2]),b:Qe(t[3]),format:e?"name":"hex"}:(t=Ze.hex4.exec(s))?{r:Qe(t[1]+""+t[1]),g:Qe(t[2]+""+t[2]),b:Qe(t[3]+""+t[3]),a:Gu(t[4]+""+t[4]),format:e?"name":"hex8"}:(t=Ze.hex3.exec(s))?{r:Qe(t[1]+""+t[1]),g:Qe(t[2]+""+t[2]),b:Qe(t[3]+""+t[3]),format:e?"name":"hex"}:!1}function dme(s){var e,t;return s=s||{level:"AA",size:"small"},e=(s.level||"AA").toUpperCase(),t=(s.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),t!=="small"&&t!=="large"&&(t="small"),{level:e,size:t}}var Hu=function(e){var t=["r","g","b","a","h","s","l","v"],i=0,r=0;return H2e(t,function(o){if(e[o]&&(i+=1,isNaN(e[o])||(r+=1),o==="s"||o==="l")){var n=/^\d+%$/;n.test(e[o])&&(r+=1)}}),i===r?e:!1},wi=function(e,t){var i=e.hex?$(e.hex):$(e),r=i.toHsl(),o=i.toHsv(),n=i.toRgb(),a=i.toHex();r.s===0&&(r.h=t||0,o.h=t||0);var c=a==="000000"&&n.a===0;return{hsl:r,hex:c?"transparent":"#"+a,rgb:n,hsv:o,oldHue:e.h||t||r.h,source:e.source}},Wt=function(e){if(e==="transparent")return!0;var t=String(e).charAt(0)==="#"?1:0;return e.length!==4+t&&e.length<7+t&&$(e).isValid()},eM=function(e){if(!e)return"#fff";var t=wi(e);if(t.hex==="transparent")return"rgba(0,0,0,0.4)";var i=(t.rgb.r*299+t.rgb.g*587+t.rgb.b*114)/1e3;return i>=128?"#000":"#fff"},Go=function(e,t){var i=e.replace("°","");return $(t+" ("+i+")")._ok},Li=Object.assign||function(s){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(i){Ame(r,i);function r(){var o,n,a,c;pme(this,r);for(var l=arguments.length,N=Array(l),u=0;ua))return!1;var l=o.get(s),N=o.get(e);if(l&&N)return l==e&&N==s;var u=-1,L=!0,g=t&Qme?new Hr:void 0;for(o.set(s,e),o.set(e,s);++u=0||Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i]);return t}var gr=24,KOe=j4.default=function(s){var e=s.fill,t=e===void 0?"currentColor":e,i=s.width,r=i===void 0?gr:i,o=s.height,n=o===void 0?gr:o,a=s.style,c=a===void 0?{}:a,l=XOe(s,["fill","width","height","style"]);return Nl.default.createElement("svg",ll({viewBox:"0 0 "+gr+" "+gr,style:ll({fill:t,width:r,height:n},c)},l),Nl.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"}))},qOe=function(){function s(e,t){for(var i=0;i1&&(r.a=1),i.props.onChange({h:i.props.hsl.h,s:i.props.hsl.s,l:i.props.hsl.l,a:Math.round(r.a*100)/100,source:"rgb"},o)):(r.h||r.s||r.l)&&(typeof r.s=="string"&&r.s.includes("%")&&(r.s=r.s.replace("%","")),typeof r.l=="string"&&r.l.includes("%")&&(r.l=r.l.replace("%","")),r.s==1?r.s=.01:r.l==1&&(r.l=.01),i.props.onChange({h:r.h||i.props.hsl.h,s:Number(ul(r.s)?i.props.hsl.s:r.s),l:Number(ul(r.l)?i.props.hsl.l:r.l),source:"hsl"},o))},i.showHighlight=function(r){r.currentTarget.style.background="#eee"},i.hideHighlight=function(r){r.currentTarget.style.background="transparent"},t.hsl.a!==1&&t.view==="hex"?i.state={view:"rgb"}:i.state={view:t.view},i}return qOe(e,[{key:"render",value:function(){var i=this,r=F({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),o=void 0;return this.state.view==="hex"?o=M.createElement("div",{style:r.fields,className:"flexbox-fix"},M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?o=M.createElement("div",{style:r.fields,className:"flexbox-fix"},M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),M.createElement("div",{style:r.alpha},M.createElement(K,{style:{input:r.input,label:r.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(o=M.createElement("div",{style:r.fields,className:"flexbox-fix"},M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),M.createElement("div",{style:r.alpha},M.createElement(K,{style:{input:r.input,label:r.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),M.createElement("div",{style:r.wrap,className:"flexbox-fix"},o,M.createElement("div",{style:r.toggle},M.createElement("div",{style:r.icon,onClick:this.toggleViews,ref:function(a){return i.icon=a}},M.createElement(KOe,{style:r.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(i,r){return i.hsl.a!==1&&r.view==="hex"?{view:"rgb"}:null}}]),e}(M.Component);y4.defaultProps={view:"hex"};var Ll=function(){var e=F({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 M.createElement("div",{style:e.picker})},iEe=function(){var e=F({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return M.createElement("div",{style:e.picker})},nM=function(e){var t=e.width,i=e.onChange,r=e.disableAlpha,o=e.rgb,n=e.hsl,a=e.hsv,c=e.hex,l=e.renderers,N=e.styles,u=N===void 0?{}:N,L=e.className,g=L===void 0?"":L,y=e.defaultView,T=F(ve({default:{picker:{width:t,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("+o.r+", "+o.g+", "+o.b+", "+o.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:r});return M.createElement("div",{style:T.picker,className:"chrome-picker "+g},M.createElement("div",{style:T.saturation},M.createElement(zo,{style:T.Saturation,hsl:n,hsv:a,pointer:iEe,onChange:i})),M.createElement("div",{style:T.body},M.createElement("div",{style:T.controls,className:"flexbox-fix"},M.createElement("div",{style:T.color},M.createElement("div",{style:T.swatch},M.createElement("div",{style:T.active}),M.createElement(ri,{renderers:l}))),M.createElement("div",{style:T.toggles},M.createElement("div",{style:T.hue},M.createElement(oi,{style:T.Hue,hsl:n,pointer:Ll,onChange:i})),M.createElement("div",{style:T.alpha},M.createElement(Fa,{style:T.Alpha,rgb:o,hsl:n,pointer:Ll,renderers:l,onChange:i})))),M.createElement(y4,{rgb:o,hsl:n,hex:c,view:y,onChange:i,disableAlpha:r})))};nM.propTypes={width:S.oneOfType([S.string,S.number]),disableAlpha:S.bool,styles:S.object,defaultView:S.oneOf(["hex","rgb","hsl"])};nM.defaultProps={width:225,disableAlpha:!1,styles:{}};const rEe=be(nM);var oEe=function(e){var t=e.color,i=e.onClick,r=i===void 0?function(){}:i,o=e.onSwatchHover,n=e.active,a=F({default:{color:{background:t,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:eM(t),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:n,"color-#FFFFFF":t==="#FFFFFF",transparent:t==="transparent"});return M.createElement(ls,{style:a.color,color:t,onClick:r,onHover:o,focusStyle:{boxShadow:"0 0 4px "+t}},M.createElement("div",{style:a.dot}))},nEe=function(e){var t=e.hex,i=e.rgb,r=e.onChange,o=F({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:t},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"}}}),n=function(c,l){c.r||c.g||c.b?r({r:c.r||i.r,g:c.g||i.g,b:c.b||i.b,source:"rgb"},l):r({hex:c.hex,source:"hex"},l)};return M.createElement("div",{style:o.fields,className:"flexbox-fix"},M.createElement("div",{style:o.active}),M.createElement(K,{style:{wrap:o.HEXwrap,input:o.HEXinput,label:o.HEXlabel},label:"hex",value:t,onChange:n}),M.createElement(K,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"r",value:i.r,onChange:n}),M.createElement(K,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"g",value:i.g,onChange:n}),M.createElement(K,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"b",value:i.b,onChange:n}))},aM=function(e){var t=e.onChange,i=e.onSwatchHover,r=e.colors,o=e.hex,n=e.rgb,a=e.styles,c=a===void 0?{}:a,l=e.className,N=l===void 0?"":l,u=F(ve({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},c)),L=function(y,T){y.hex?Wt(y.hex)&&t({hex:y.hex,source:"hex"},T):t(y,T)};return M.createElement(er,{style:u.Compact,styles:c},M.createElement("div",{style:u.compact,className:"compact-picker "+N},M.createElement("div",null,Ns(r,function(g){return M.createElement(oEe,{key:g,color:g,active:g.toLowerCase()===o,onClick:L,onSwatchHover:i})}),M.createElement("div",{style:u.clear})),M.createElement(nEe,{hex:o,rgb:n,onChange:L})))};aM.propTypes={colors:S.arrayOf(S.string),styles:S.object};aM.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:{}};be(aM);var aEe=function(e){var t=e.hover,i=e.color,r=e.onClick,o=e.onSwatchHover,n={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},a=F({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:n}},{hover:t});return M.createElement("div",{style:a.swatch},M.createElement(ls,{color:i,onClick:r,onHover:o,focusStyle:n}))};const MEe=Ra(aEe);var MM=function(e){var t=e.width,i=e.colors,r=e.onChange,o=e.onSwatchHover,n=e.triangle,a=e.styles,c=a===void 0?{}:a,l=e.className,N=l===void 0?"":l,u=F(ve({default:{card:{width:t,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)"}}},c),{"hide-triangle":n==="hide","top-left-triangle":n==="top-left","top-right-triangle":n==="top-right","bottom-left-triangle":n==="bottom-left","bottom-right-triangle":n==="bottom-right"}),L=function(y,T){return r({hex:y,source:"hex"},T)};return M.createElement("div",{style:u.card,className:"github-picker "+N},M.createElement("div",{style:u.triangleShadow}),M.createElement("div",{style:u.triangle}),Ns(i,function(g){return M.createElement(MEe,{color:g,key:g,onClick:L,onSwatchHover:o})}))};MM.propTypes={width:S.oneOfType([S.string,S.number]),colors:S.arrayOf(S.string),triangle:S.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:S.object};MM.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};be(MM);var cEe=function(e){var t=e.direction,i=F({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:t==="vertical"});return M.createElement("div",{style:i.picker})},uEe=Object.assign||function(s){for(var e=1;e.5});return M.createElement("div",{style:i.picker})},gEe=function(){var e=F({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 M.createElement("div",{style:e.pointer},M.createElement("div",{style:e.left},M.createElement("div",{style:e.leftInside})),M.createElement("div",{style:e.right},M.createElement("div",{style:e.rightInside})))},gl=function(e){var t=e.onClick,i=e.label,r=e.children,o=e.active,n=F({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:o});return M.createElement("div",{style:n.button,onClick:t},i||r)},jEe=function(e){var t=e.rgb,i=e.currentColor,r=F({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+t.r+","+t.g+", "+t.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:i,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return M.createElement("div",null,M.createElement("div",{style:r.label},"new"),M.createElement("div",{style:r.swatches},M.createElement("div",{style:r.new}),M.createElement("div",{style:r.current})),M.createElement("div",{style:r.label},"current"))},yEe=function(){function s(e,t){for(var i=0;i100&&(N.a=100),N.a/=100,t({h:r.h,s:r.s,l:r.l,a:N.a,source:"rgb"},u))};return M.createElement("div",{style:a.fields,className:"flexbox-fix"},M.createElement("div",{style:a.double},M.createElement(K,{style:{input:a.input,label:a.label},label:"hex",value:o.replace("#",""),onChange:c})),M.createElement("div",{style:a.single},M.createElement(K,{style:{input:a.input,label:a.label},label:"r",value:i.r,onChange:c,dragLabel:"true",dragMax:"255"})),M.createElement("div",{style:a.single},M.createElement(K,{style:{input:a.input,label:a.label},label:"g",value:i.g,onChange:c,dragLabel:"true",dragMax:"255"})),M.createElement("div",{style:a.single},M.createElement(K,{style:{input:a.input,label:a.label},label:"b",value:i.b,onChange:c,dragLabel:"true",dragMax:"255"})),M.createElement("div",{style:a.alpha},M.createElement(K,{style:{input:a.input,label:a.label},label:"a",value:Math.round(i.a*100),onChange:c,dragLabel:"true",dragMax:"100"})))},zEe=Object.assign||function(s){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i]);return t}var jr=24,OEe=d4.default=function(s){var e=s.fill,t=e===void 0?"currentColor":e,i=s.width,r=i===void 0?jr:i,o=s.height,n=o===void 0?jr:o,a=s.style,c=a===void 0?{}:a,l=mEe(s,["fill","width","height","style"]);return yl.default.createElement("svg",jl({viewBox:"0 0 "+jr+" "+jr,style:jl({fill:t,width:r,height:n},c)},l),yl.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},EEe=function(e){var t=e.color,i=e.onClick,r=i===void 0?function(){}:i,o=e.onSwatchHover,n=e.first,a=e.last,c=e.active,l=F({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:t,marginBottom:"1px"},check:{color:eM(t),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:n,last:a,active:c,"color-#FFFFFF":t==="#FFFFFF",transparent:t==="transparent"});return M.createElement(ls,{color:t,style:l.color,onClick:r,onHover:o,focusStyle:{boxShadow:"0 0 4px "+t}},M.createElement("div",{style:l.check},M.createElement(OEe,null)))},fEe=function(e){var t=e.onClick,i=e.onSwatchHover,r=e.group,o=e.active,n=F({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return M.createElement("div",{style:n.group},Ns(r,function(a,c){return M.createElement(EEe,{key:a,color:a,active:a.toLowerCase()===o,first:c===0,last:c===r.length-1,onClick:t,onSwatchHover:i})}))},LM=function(e){var t=e.width,i=e.height,r=e.onChange,o=e.onSwatchHover,n=e.colors,a=e.hex,c=e.styles,l=c===void 0?{}:c,N=e.className,u=N===void 0?"":N,L=F(ve({default:{picker:{width:t,height:i},overflow:{height:i,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},l)),g=function(T,d){return r({hex:T,source:"hex"},d)};return M.createElement("div",{style:L.picker,className:"swatches-picker "+u},M.createElement(er,null,M.createElement("div",{style:L.overflow},M.createElement("div",{style:L.body},Ns(n,function(y){return M.createElement(fEe,{key:y.toString(),group:y,active:a,onClick:g,onSwatchHover:o})}),M.createElement("div",{style:L.clear})))))};LM.propTypes={width:S.oneOfType([S.string,S.number]),height:S.oneOfType([S.string,S.number]),colors:S.arrayOf(S.arrayOf(S.string)),styles:S.object};LM.defaultProps={width:320,height:240,colors:[[zs[900],zs[700],zs[500],zs[300],zs[100]],[ws[900],ws[700],ws[500],ws[300],ws[100]],[Cs[900],Cs[700],Cs[500],Cs[300],Cs[100]],[Is[900],Is[700],Is[500],Is[300],Is[100]],[ps[900],ps[700],ps[500],ps[300],ps[100]],[As[900],As[700],As[500],As[300],As[100]],[ms[900],ms[700],ms[500],ms[300],ms[100]],[Os[900],Os[700],Os[500],Os[300],Os[100]],[Es[900],Es[700],Es[500],Es[300],Es[100]],["#194D33",Ci[700],Ci[500],Ci[300],Ci[100]],[fs[900],fs[700],fs[500],fs[300],fs[100]],[xs[900],xs[700],xs[500],xs[300],xs[100]],[_s[900],_s[700],_s[500],_s[300],_s[100]],[Ss[900],Ss[700],Ss[500],Ss[300],Ss[100]],[ks[900],ks[700],ks[500],ks[300],ks[100]],[Ys[900],Ys[700],Ys[500],Ys[300],Ys[100]],[vs[900],vs[700],vs[500],vs[300],vs[100]],[bs[900],bs[700],bs[500],bs[300],bs[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};be(LM);var gM=function(e){var t=e.onChange,i=e.onSwatchHover,r=e.hex,o=e.colors,n=e.width,a=e.triangle,c=e.styles,l=c===void 0?{}:c,N=e.className,u=N===void 0?"":N,L=F(ve({default:{card:{width:n,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},l),{"hide-triangle":a==="hide","top-left-triangle":a==="top-left","top-right-triangle":a==="top-right"}),g=function(T,d){Wt(T)&&t({hex:T,source:"hex"},d)};return M.createElement("div",{style:L.card,className:"twitter-picker "+u},M.createElement("div",{style:L.triangleShadow}),M.createElement("div",{style:L.triangle}),M.createElement("div",{style:L.body},Ns(o,function(y,T){return M.createElement(ls,{key:T,color:y,hex:y,style:L.swatch,onClick:g,onHover:i,focusStyle:{boxShadow:"0 0 4px "+y}})}),M.createElement("div",{style:L.hash},"#"),M.createElement(K,{label:null,style:{input:L.input},value:r.replace("#",""),onChange:g}),M.createElement("div",{style:L.clear})))};gM.propTypes={width:S.oneOfType([S.string,S.number]),triangle:S.oneOf(["hide","top-left","top-right"]),colors:S.arrayOf(S.string),styles:S.object};gM.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};be(gM);var jM=function(e){var t=F({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return M.createElement("div",{style:t.picker})};jM.propTypes={hsl:S.shape({h:S.number,s:S.number,l:S.number,a:S.number})};jM.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var yM=function(e){var t=F({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return M.createElement("div",{style:t.picker})};yM.propTypes={hsl:S.shape({h:S.number,s:S.number,l:S.number,a:S.number})};yM.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var xEe=function(e){var t=e.onChange,i=e.rgb,r=e.hsl,o=e.hex,n=e.hsv,a=function(g,y){if(g.hex)Wt(g.hex)&&t({hex:g.hex,source:"hex"},y);else if(g.rgb){var T=g.rgb.split(",");Go(g.rgb,"rgb")&&t({r:T[0],g:T[1],b:T[2],a:1,source:"rgb"},y)}else if(g.hsv){var d=g.hsv.split(",");Go(g.hsv,"hsv")&&(d[2]=d[2].replace("%",""),d[1]=d[1].replace("%",""),d[0]=d[0].replace("°",""),d[1]==1?d[1]=.01:d[2]==1&&(d[2]=.01),t({h:Number(d[0]),s:Number(d[1]),v:Number(d[2]),source:"hsv"},y))}else if(g.hsl){var z=g.hsl.split(",");Go(g.hsl,"hsl")&&(z[2]=z[2].replace("%",""),z[1]=z[1].replace("%",""),z[0]=z[0].replace("°",""),u[1]==1?u[1]=.01:u[2]==1&&(u[2]=.01),t({h:Number(z[0]),s:Number(z[1]),v:Number(z[2]),source:"hsl"},y))}},c=F({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),l=i.r+", "+i.g+", "+i.b,N=Math.round(r.h)+"°, "+Math.round(r.s*100)+"%, "+Math.round(r.l*100)+"%",u=Math.round(n.h)+"°, "+Math.round(n.s*100)+"%, "+Math.round(n.v*100)+"%";return M.createElement("div",{style:c.wrap,className:"flexbox-fix"},M.createElement("div",{style:c.fields},M.createElement("div",{style:c.double},M.createElement(K,{style:{input:c.input,label:c.label},label:"hex",value:o,onChange:a})),M.createElement("div",{style:c.column},M.createElement("div",{style:c.single},M.createElement(K,{style:{input:c.input2,label:c.label2},label:"rgb",value:l,onChange:a})),M.createElement("div",{style:c.single},M.createElement(K,{style:{input:c.input2,label:c.label2},label:"hsv",value:u,onChange:a})),M.createElement("div",{style:c.single},M.createElement(K,{style:{input:c.input2,label:c.label2},label:"hsl",value:N,onChange:a})))))},TM=function(e){var t=e.width,i=e.onChange,r=e.rgb,o=e.hsl,n=e.hsv,a=e.hex,c=e.header,l=e.styles,N=l===void 0?{}:l,u=e.className,L=u===void 0?"":u,g=F(ve({default:{picker:{width:t,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+r.r+", "+r.g+", "+r.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},N));return M.createElement("div",{style:g.picker,className:"google-picker "+L},M.createElement("div",{style:g.head},c),M.createElement("div",{style:g.swatch}),M.createElement("div",{style:g.saturation},M.createElement(zo,{hsl:o,hsv:n,pointer:jM,onChange:i})),M.createElement("div",{style:g.body},M.createElement("div",{style:g.controls,className:"flexbox-fix"},M.createElement("div",{style:g.hue},M.createElement(oi,{style:g.Hue,hsl:o,radius:"4px",pointer:yM,onChange:i}))),M.createElement(xEe,{rgb:r,hsl:o,hex:a,hsv:n,onChange:i})))};TM.propTypes={width:S.oneOfType([S.string,S.number]),styles:S.object,header:S.string};TM.defaultProps={width:652,styles:{},header:"Color picker"};be(TM);const He={color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{mt:"16px",p:"5px",backgroundColor:"background.paper",borderRadius:"1px",boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{"& .MuiPaper-root":{textAlign:"right",backgroundColor:"#00000000",boxShadow:"none"}},popoverList:{padding:0},closeButton:s=>({backgroundColor:`${s.palette.background.paper} !important`,borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:`${s.palette.secondary.main} !important`}}),textDense:{mt:0,mb:0},iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}};class Ii extends f.Component{constructor(e){super(e),this.state={displayColorPicker:!1,color:this.props.value||this.props.color||"",anchorEl:null}}handleClick=e=>{this.setState({displayColorPicker:!this.state.displayColorPicker,anchorEl:this.state.displayColorPicker?null:e.currentTarget})};handleClose=()=>{this.setState({displayColorPicker:!1,anchorEl:null})};static getColor(e,t){if(e&&typeof e=="object"){const i=e;if(i.rgb)return t?`#${i.rgb.r.toString(16).padStart(2,"0")}${i.rgb.g.toString(16).padStart(2,"0")}${i.rgb.b.toString(16).padStart(2,"0")}`:`rgba(${i.rgb.r},${i.rgb.g},${i.rgb.b},${i.rgb.a})`;const r=e;return t?`#${r.r.toString(16).padStart(2,"0")}${r.g.toString(16).padStart(2,"0")}${r.b.toString(16).padStart(2,"0")}`:`rgba(${r.r},${r.g},${r.b},${r.a})`}return typeof e=="string"?t?Ii.rgb2hex(e||""):e||"":""}static rgb2hex(e){const t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(t){const i=parseInt(t[1],10).toString(16).padStart(2,"0"),r=parseInt(t[2],10).toString(16).padStart(2,"0"),o=parseInt(t[3],10).toString(16).padStart(2,"0");return(t==null?void 0:t.length)===4?`#${i}${r}${o}`:e}return e}handleChange=e=>{this.setState({color:e},()=>this.props.onChange&&this.props.onChange(Ii.getColor(e)))};componentDidUpdate(e,t){const i=Ii.getColor(this.props.color||this.props.value||"");i!==t.color&&this.setState({color:i})}renderCustomPalette(){return this.props.customPalette?M.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(e=>M.createElement(j.Button,{style:He.button,key:e,onClick:()=>{this.handleChange(e),setTimeout(()=>this.handleClose(),300)}},M.createElement("div",{style:{...He.iconButton,background:e}})))):null}render(){var i;const e={...this.props.style||{}};e.position="relative";const{color:t}=this.state;return M.createElement(j.Box,{component:"div",style:e,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:M.createElement(j.TextField,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",label:this.props.label||this.props.name,value:t||"",margin:"dense",sx:{"&.MuiFormControl-root":He.textDense,width:t?"calc(100% - 80px)":"calc(100% - 56px)",mr:t?void 0:1},onChange:r=>this.handleChange(r.target.value)}),!this.props.noInputField&&t?M.createElement(j.IconButton,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?He.delButton:void 0},M.createElement(nt,null)):null,M.createElement(j.Box,{component:"div",onClick:r=>!this.props.disabled&&this.handleClick(r),title:h.t("ra_Select color"),sx:{...He.swatch,...this.props.disabled?He.swatchDisabled:void 0,background:t?void 0:"transparent",border:t?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField||!(this.props.label||this.props.name)?0:void 0}},M.createElement("div",{style:{...He.color,background:Ii.getColor(t),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?M.createElement(j.Menu,{sx:{...He.popover,"&. MuiMenu-list":He.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},M.createElement(rEe,{color:this.state.color||void 0,onChangeComplete:r=>this.handleChange(r.rgb),styles:{default:{picker:{backgroundColor:((i=this.props.theme)==null?void 0:i.palette.background.paper)||"#888"}}}}),t&&this.props.noInputField?M.createElement(j.IconButton,{sx:He.closeButton,onClick:()=>this.handleChange("")},M.createElement(nt,null)):null,M.createElement(j.IconButton,{sx:He.closeButton,onClick:()=>this.handleClose()},M.createElement(Ne,null)),this.renderCustomPalette()):null)}}var D4={exports:{}};(function(s,e){(function(i,r){s.exports=r()})(globalThis,()=>(()=>{var t={949:(n,a,c)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CronParser=void 0;var l=c(515),N=function(){function u(L,g,y){g===void 0&&(g=!0),y===void 0&&(y=!1),this.expression=L,this.dayOfWeekStartIndexZero=g,this.monthStartIndexZero=y}return u.prototype.parse=function(){var L,g,y=(L=this.expression)!==null&&L!==void 0?L:"";if(y==="@reboot")return g=["@reboot","","","","","",""],g;if(y.startsWith("@")){var T=this.parseSpecial(this.expression);g=this.extractParts(T)}else g=this.extractParts(this.expression);return this.normalize(g),this.validate(g),g},u.prototype.parseSpecial=function(L){var g={"@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 * * * *","@reboot":"@reboot"},y=g[L];if(!y)throw new Error("Unknown special expression.");return y},u.prototype.extractParts=function(L){if(!this.expression)throw new Error("cron expression is empty");for(var g=L.trim().split(/[ ]+/),y=0;y7)throw new Error("Expression has ".concat(g.length," parts; too many!"));return g},u.prototype.normalize=function(L){var g=this;if(L[3]=L[3].replace("?","*"),L[5]=L[5].replace("?","*"),L[2]=L[2].replace("?","*"),L[0].indexOf("0/")==0&&(L[0]=L[0].replace("0/","*/")),L[1].indexOf("0/")==0&&(L[1]=L[1].replace("0/","*/")),L[2].indexOf("0/")==0&&(L[2]=L[2].replace("0/","*/")),L[3].indexOf("1/")==0&&(L[3]=L[3].replace("1/","*/")),L[4].indexOf("1/")==0&&(L[4]=L[4].replace("1/","*/")),L[6].indexOf("1/")==0&&(L[6]=L[6].replace("1/","*/")),L[5]=L[5].replace(/(^\d)|([^#/\s]\d)/g,function(A){var D=A.replace(/\D/,""),p=D;return g.dayOfWeekStartIndexZero?D=="7"&&(p="0"):p=(parseInt(D)-1).toString(),A.replace(D,p)}),L[5]=="L"&&(L[5]="6"),L[3]=="?"&&(L[3]="*"),L[3].indexOf("W")>-1&&(L[3].indexOf(",")>-1||L[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 y={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var T in y)L[5]=L[5].replace(new RegExp(T,"gi"),y[T].toString());L[4]=L[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(A){var D=A.replace(/\D/,""),p=D;return g.monthStartIndexZero&&(p=(parseInt(D)+1).toString()),A.replace(D,p)});var d={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 z in d)L[4]=L[4].replace(new RegExp(z,"gi"),d[z].toString());L[0]=="0"&&(L[0]=""),!/\*|\-|\,|\//.test(L[2])&&(/\*|\//.test(L[1])||/\*|\//.test(L[0]))&&(L[2]+="-".concat(L[2]));for(var I=0;I-1&&!/^\*|\-|\,/.test(L[I])){var C=null;switch(I){case 4:C="12";break;case 5:C="6";break;case 6:C="9999";break;default:C=null;break}if(C!==null){var m=L[I].split("/");L[I]="".concat(m[0],"-").concat(C,"/").concat(m[1])}}},u.prototype.validate=function(L){var g="0-9,\\-*/";this.validateOnlyExpectedCharactersFound(L[0],g),this.validateOnlyExpectedCharactersFound(L[1],g),this.validateOnlyExpectedCharactersFound(L[2],g),this.validateOnlyExpectedCharactersFound(L[3],"0-9,\\-*/LW"),this.validateOnlyExpectedCharactersFound(L[4],g),this.validateOnlyExpectedCharactersFound(L[5],"0-9,\\-*/L#"),this.validateOnlyExpectedCharactersFound(L[6],g),this.validateAnyRanges(L)},u.prototype.validateAnyRanges=function(L){l.default.secondRange(L[0]),l.default.minuteRange(L[1]),l.default.hourRange(L[2]),l.default.dayOfMonthRange(L[3]),l.default.monthRange(L[4],this.monthStartIndexZero),l.default.dayOfWeekRange(L[5],this.dayOfWeekStartIndexZero)},u.prototype.validateOnlyExpectedCharactersFound=function(L,g){var y=L.match(new RegExp("[^".concat(g,"]+"),"gi"));if(y&&y.length)throw new Error("Expression contains invalid values: '".concat(y.toString(),"'"))},u}();a.CronParser=N},333:(n,a,c)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ExpressionDescriptor=void 0;var l=c(823),N=c(949),u=function(){function L(g,y){if(this.expression=g,this.options=y,this.expressionParts=new Array(5),!this.options.locale&&L.defaultLocale&&(this.options.locale=L.defaultLocale),!L.locales[this.options.locale]){var T=Object.keys(L.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(T,"'.")),this.options.locale=T}this.i18n=L.locales[this.options.locale],y.use24HourTimeFormat===void 0&&(y.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return L.toString=function(g,y){var T=y===void 0?{}:y,d=T.throwExceptionOnParseError,z=d===void 0?!0:d,I=T.verbose,C=I===void 0?!1:I,m=T.dayOfWeekStartIndexZero,A=m===void 0?!0:m,D=T.monthStartIndexZero,p=D===void 0?!1:D,_=T.use24HourTimeFormat,x=T.locale,P=x===void 0?null:x,v={throwExceptionOnParseError:z,verbose:C,dayOfWeekStartIndexZero:A,monthStartIndexZero:p,use24HourTimeFormat:_,locale:P};v.tzOffset&&console.warn("'tzOffset' option has been deprecated and is no longer supported.");var ee=new L(g,v);return ee.getFullDescription()},L.initialize=function(g,y){y===void 0&&(y="en"),L.specialCharacters=["/","-",",","*"],L.defaultLocale=y,g.load(L.locales)},L.prototype.getFullDescription=function(){var g,y,T="";try{var d=new N.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=d.parse(),this.expressionParts[0]==="@reboot")return((y=(g=this.i18n).atReboot)===null||y===void 0?void 0:y.call(g))||"Run once, at startup";var z=this.getTimeOfDayDescription(),I=this.getDayOfMonthDescription(),C=this.getMonthDescription(),m=this.getDayOfWeekDescription(),A=this.getYearDescription();T+=z+I+m+C+A,T=this.transformVerbosity(T,!!this.options.verbose),T=T.charAt(0).toLocaleUpperCase()+T.substr(1)}catch(D){if(!this.options.throwExceptionOnParseError)T=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(D)}return T},L.prototype.getTimeOfDayDescription=function(){var g=this.expressionParts[0],y=this.expressionParts[1],T=this.expressionParts[2],d="";if(!l.StringUtilities.containsAny(y,L.specialCharacters)&&!l.StringUtilities.containsAny(T,L.specialCharacters)&&!l.StringUtilities.containsAny(g,L.specialCharacters))d+=this.i18n.atSpace()+this.formatTime(T,y,g);else if(!g&&y.indexOf("-")>-1&&!(y.indexOf(",")>-1)&&!(y.indexOf("/")>-1)&&!l.StringUtilities.containsAny(T,L.specialCharacters)){var z=y.split("-");d+=l.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(T,z[0],""),this.formatTime(T,z[1],""))}else if(!g&&T.indexOf(",")>-1&&T.indexOf("-")==-1&&T.indexOf("/")==-1&&!l.StringUtilities.containsAny(y,L.specialCharacters)){var I=T.split(",");d+=this.i18n.at();for(var C=0;C-1?I=d.substring(0,d.indexOf("#")):d.indexOf("L")>-1&&(I=I.replace("L",""));var C=parseInt(I),m=g.i18n.daysOfTheWeekInCase?g.i18n.daysOfTheWeekInCase(z)[C]:y[C];if(d.indexOf("#")>-1){var A=null,D=d.substring(d.indexOf("#")+1),p=d.substring(0,d.indexOf("#"));switch(D){case"1":A=g.i18n.first(p);break;case"2":A=g.i18n.second(p);break;case"3":A=g.i18n.third(p);break;case"4":A=g.i18n.fourth(p);break;case"5":A=g.i18n.fifth(p);break}m=A+" "+m}return m},function(d){return parseInt(d)==1?"":l.StringUtilities.format(g.i18n.commaEveryX0DaysOfTheWeek(d),d)},function(d){var z=d.substring(0,d.indexOf("-")),I=g.expressionParts[3]!="*";return I?g.i18n.commaAndX0ThroughX1(z):g.i18n.commaX0ThroughX1(z)},function(d){var z=null;if(d.indexOf("#")>-1){var I=d.substring(d.indexOf("#")+1),C=d.substring(0,d.indexOf("#"));z=g.i18n.commaOnThe(I,C).trim()+g.i18n.spaceX0OfTheMonth()}else if(d.indexOf("L")>-1)z=g.i18n.commaOnTheLastX0OfTheMonth(d.replace("L",""));else{var m=g.expressionParts[3]!="*";z=m?g.i18n.commaAndOnX0():g.i18n.commaOnlyOnX0(d)}return z}),T},L.prototype.getMonthDescription=function(){var g=this,y=this.i18n.monthsOfTheYear(),T=this.getSegmentDescription(this.expressionParts[4],"",function(d,z){return z&&g.i18n.monthsOfTheYearInCase?g.i18n.monthsOfTheYearInCase(z)[parseInt(d)-1]:y[parseInt(d)-1]},function(d){return parseInt(d)==1?"":l.StringUtilities.format(g.i18n.commaEveryX0Months(d),d)},function(d){return g.i18n.commaMonthX0ThroughMonthX1()||g.i18n.commaX0ThroughX1()},function(d){return g.i18n.commaOnlyInMonthX0?g.i18n.commaOnlyInMonthX0():g.i18n.commaOnlyInX0()});return T},L.prototype.getDayOfMonthDescription=function(){var g=this,y=null,T=this.expressionParts[3];switch(T){case"L":y=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":y=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var d=T.match(/(\d{1,2}W)|(W\d{1,2})/);if(d){var z=parseInt(d[0].replace("W","")),I=z==1?this.i18n.firstWeekday():l.StringUtilities.format(this.i18n.weekdayNearestDayX0(),z.toString());y=l.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),I);break}else{var C=T.match(/L-(\d{1,2})/);if(C){var m=C[1];y=l.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(m),m);break}else{if(T=="*"&&this.expressionParts[5]!="*")return"";y=this.getSegmentDescription(T,this.i18n.commaEveryDay(),function(A){return A=="L"?g.i18n.lastDay():g.i18n.dayX0?l.StringUtilities.format(g.i18n.dayX0(),A):A},function(A){return A=="1"?g.i18n.commaEveryDay():g.i18n.commaEveryX0Days(A)},function(A){return g.i18n.commaBetweenDayX0AndX1OfTheMonth(A)},function(A){return g.i18n.commaOnDayX0OfTheMonth(A)})}break}}return y},L.prototype.getYearDescription=function(){var g=this,y=this.getSegmentDescription(this.expressionParts[6],"",function(T){return/^\d+$/.test(T)?new Date(parseInt(T),1).getFullYear().toString():T},function(T){return l.StringUtilities.format(g.i18n.commaEveryX0Years(T),T)},function(T){return g.i18n.commaYearX0ThroughYearX1()||g.i18n.commaX0ThroughX1()},function(T){return g.i18n.commaOnlyInYearX0?g.i18n.commaOnlyInYearX0():g.i18n.commaOnlyInX0()});return y},L.prototype.getSegmentDescription=function(g,y,T,d,z,I){var C=null,m=g.indexOf("/")>-1,A=g.indexOf("-")>-1,D=g.indexOf(",")>-1;if(!g)C="";else if(g==="*")C=y;else if(!m&&!A&&!D)C=l.StringUtilities.format(I(g),T(g));else if(D){for(var p=g.split(","),_="",x=0;x0&&p.length>2&&(_+=",",x0&&p.length>1&&(x==p.length-1||p.length==2)&&(_+="".concat(this.i18n.spaceAnd()," ")),p[x].indexOf("/")>-1||p[x].indexOf("-")>-1){var P=p[x].indexOf("-")>-1&&p[x].indexOf("/")==-1,v=this.getSegmentDescription(p[x],y,T,d,P?this.i18n.commaX0ThroughX1:z,I);P&&(v=v.replace(", ","")),_+=v}else m?_+=this.getSegmentDescription(p[x],y,T,d,z,I):_+=T(p[x]);m?C=_:C=l.StringUtilities.format(I(g),_)}else if(m){var p=g.split("/");if(C=l.StringUtilities.format(d(p[1]),p[1]),p[0].indexOf("-")>-1){var ee=this.generateRangeSegmentDescription(p[0],z,T);ee.indexOf(", ")!=0&&(C+=", "),C+=ee}else if(p[0].indexOf("*")==-1){var ue=l.StringUtilities.format(I(p[0]),T(p[0]));ue=ue.replace(", ",""),C+=l.StringUtilities.format(this.i18n.commaStartingX0(),ue)}}else A&&(C=this.generateRangeSegmentDescription(g,z,T));return C},L.prototype.generateRangeSegmentDescription=function(g,y,T){var d="",z=g.split("-"),I=T(z[0],1),C=T(z[1],2),m=y(g);return d+=l.StringUtilities.format(m,I,C),d},L.prototype.formatTime=function(g,y,T){var d=0,z=0,I=parseInt(g)+d,C=parseInt(y)+z;C>=60?(C-=60,I+=1):C<0&&(C+=60,I-=1),I>=24?I=I-24:I<0&&(I=24+I);var m="",A=!1;this.options.use24HourTimeFormat||(A=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),m=A?"".concat(this.getPeriod(I)," "):" ".concat(this.getPeriod(I)),I>12&&(I-=12),I===0&&(I=12));var D="";return T&&(D=":".concat(("00"+T).substring(T.length))),"".concat(A?m:"").concat(("00"+I.toString()).substring(I.toString().length),":").concat(("00"+C.toString()).substring(C.toString().length)).concat(D).concat(A?"":m)},L.prototype.transformVerbosity=function(g,y){if(!y&&(g=g.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),g=g.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),g=g.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),g=g.replace(/\, ?$/,""),this.i18n.conciseVerbosityReplacements))for(var T=0,d=Object.entries(this.i18n.conciseVerbosityReplacements());T=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},L.locales={},L}();a.ExpressionDescriptor=u},747:(n,a,c)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.enLocaleLoader=void 0;var l=c(486),N=function(){function u(){}return u.prototype.load=function(L){L.en=new l.en},u}();a.enLocaleLoader=N},486:(n,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.en=void 0;var c=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!1},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occurred when generating the expression description. Check the cron expression syntax."},l.prototype.everyMinute=function(){return"every minute"},l.prototype.everyHour=function(){return"every hour"},l.prototype.atSpace=function(){return"At "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},l.prototype.at=function(){return"At"},l.prototype.spaceAnd=function(){return" and"},l.prototype.everySecond=function(){return"every second"},l.prototype.everyX0Seconds=function(){return"every %s seconds"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},l.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},l.prototype.everyX0Minutes=function(){return"every %s minutes"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},l.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},l.prototype.everyX0Hours=function(){return"every %s hours"},l.prototype.betweenX0AndX1=function(){return"between %s and %s"},l.prototype.atX0=function(){return"at %s"},l.prototype.commaEveryDay=function(){return", every day"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},l.prototype.commaX0ThroughX1=function(){return", %s through %s"},l.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},l.prototype.first=function(){return"first"},l.prototype.second=function(){return"second"},l.prototype.third=function(){return"third"},l.prototype.fourth=function(){return"fourth"},l.prototype.fifth=function(){return"fifth"},l.prototype.commaOnThe=function(){return", on the "},l.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},l.prototype.lastDay=function(){return"the last day"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},l.prototype.commaOnlyOnX0=function(){return", only on %s"},l.prototype.commaAndOnX0=function(){return", and on %s"},l.prototype.commaEveryX0Months=function(){return", every %s months"},l.prototype.commaOnlyInX0=function(){return", only in %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},l.prototype.firstWeekday=function(){return"first weekday"},l.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},l.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},l.prototype.commaEveryX0Days=function(){return", every %s days"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},l.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},l.prototype.commaEveryHour=function(){return", every hour"},l.prototype.commaEveryX0Years=function(){return", every %s years"},l.prototype.commaStartingX0=function(){return", starting %s"},l.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},l.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},l.prototype.atReboot=function(){return"Run once, at startup"},l}();a.en=c},515:(n,a)=>{Object.defineProperty(a,"__esModule",{value:!0});function c(N,u){if(!N)throw new Error(u)}var l=function(){function N(){}return N.secondRange=function(u){for(var L=u.split(","),g=0;g=0&&y<=59,"seconds part must be >= 0 and <= 59")}},N.minuteRange=function(u){for(var L=u.split(","),g=0;g=0&&y<=59,"minutes part must be >= 0 and <= 59")}},N.hourRange=function(u){for(var L=u.split(","),g=0;g=0&&y<=23,"hours part must be >= 0 and <= 23")}},N.dayOfMonthRange=function(u){for(var L=u.split(","),g=0;g=1&&y<=31,"DOM part must be >= 1 and <= 31")}},N.monthRange=function(u,L){for(var g=u.split(","),y=0;y=1&&T<=12,L?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},N.dayOfWeekRange=function(u,L){for(var g=u.split(","),y=0;y=0&&T<=6,L?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},N}();a.default=l},823:(n,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.StringUtilities=void 0;var c=function(){function l(){}return l.format=function(N){for(var u=[],L=1;L-1})},l}();a.StringUtilities=c}},i={};function r(n){var a=i[n];if(a!==void 0)return a.exports;var c=i[n]={exports:{}};return t[n](c,c.exports,r),c.exports}var o={};return(()=>{var n=o;Object.defineProperty(n,"__esModule",{value:!0}),n.toString=void 0;var a=r(333),c=r(747);a.ExpressionDescriptor.initialize(new c.enLocaleLoader),n.default=a.ExpressionDescriptor;var l=a.ExpressionDescriptor.toString;n.toString=l})(),o})())})(D4);var lt=D4.exports;const _Ee=WL(lt);var SEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.fr=void 0;var N=function(){function u(){}return u.prototype.conciseVerbosityReplacements=function(){return{"de le":"du"}},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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en générant la description de l'expression cron. Vérifiez sa syntaxe."},u.prototype.everyMinute=function(){return"toutes les minutes"},u.prototype.everyHour=function(){return"toutes les heures"},u.prototype.atSpace=function(){return"À "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},u.prototype.at=function(){return"À"},u.prototype.spaceAnd=function(){return" et"},u.prototype.everySecond=function(){return"toutes les secondes"},u.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s après la minute"},u.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes après la minute"},u.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s après l'heure"},u.prototype.atX0MinutesPastTheHour=function(){return"%s minutes après l'heure"},u.prototype.everyX0Hours=function(){return"toutes les %s heures"},u.prototype.betweenX0AndX1=function(){return"de %s à %s"},u.prototype.atX0=function(){return"%s"},u.prototype.commaEveryDay=function(){return", tous les jours"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},u.prototype.commaX0ThroughX1=function(){return", de %s à %s"},u.prototype.commaAndX0ThroughX1=function(){return", et de %s à %s"},u.prototype.first=function(){return"premier"},u.prototype.second=function(){return"second"},u.prototype.third=function(){return"troisième"},u.prototype.fourth=function(){return"quatrième"},u.prototype.fifth=function(){return"cinquième"},u.prototype.commaOnThe=function(){return", le "},u.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},u.prototype.lastDay=function(){return"le dernier jour"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},u.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},u.prototype.commaAndOnX0=function(){return", et %s"},u.prototype.commaEveryX0Months=function(){return", tous les %s mois"},u.prototype.commaOnlyInX0=function(){return", uniquement en %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},u.prototype.firstWeekday=function(){return"premier jour ouvrable"},u.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},u.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},u.prototype.commaEveryX0Days=function(){return", tous les %s jours"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},u.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},u.prototype.commaEveryHour=function(){return", chaque heure"},u.prototype.commaEveryX0Years=function(){return", tous les %s ans"},u.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},u.prototype.commaStartingX0=function(){return", à partir de %s"},u.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},u.prototype.monthsOfTheYear=function(){return["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},u}();return l.fr=N,c().locales.fr=new N,n})())})(SEe);var kEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.es=void 0;var N=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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurrió un error mientras se generaba la descripción de la expresión. Revise la sintaxis de la expresión de cron."},u.prototype.at=function(){return"A las"},u.prototype.atSpace=function(){return"A las "},u.prototype.atX0=function(){return"a las %s"},u.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},u.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},u.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los días %s y %s del mes"},u.prototype.commaEveryDay=function(){return", cada día"},u.prototype.commaEveryX0Days=function(){return", cada %s días"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s días de la semana"},u.prototype.commaEveryX0Months=function(){return", cada %s meses"},u.prototype.commaOnDayX0OfTheMonth=function(){return", el día %s del mes"},u.prototype.commaOnlyInX0=function(){return", sólo en %s"},u.prototype.commaOnlyOnX0=function(){return", sólo el %s"},u.prototype.commaAndOnX0=function(){return", y el %s"},u.prototype.commaOnThe=function(){return", en el "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el último día del mes"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el último día de la semana del mes"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s días antes del último día del mes"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el último %s del mes"},u.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},u.prototype.commaX0ThroughX1=function(){return", de %s a %s"},u.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},u.prototype.everyHour=function(){return"cada hora"},u.prototype.everyMinute=function(){return"cada minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},u.prototype.everySecond=function(){return"cada segundo"},u.prototype.everyX0Hours=function(){return"cada %s horas"},u.prototype.everyX0Minutes=function(){return"cada %s minutos"},u.prototype.everyX0Seconds=function(){return"cada %s segundos"},u.prototype.fifth=function(){return"quinto"},u.prototype.first=function(){return"primero"},u.prototype.firstWeekday=function(){return"primer día de la semana"},u.prototype.fourth=function(){return"cuarto"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},u.prototype.second=function(){return"segundo"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},u.prototype.spaceAnd=function(){return" y"},u.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},u.prototype.lastDay=function(){return"el último día"},u.prototype.third=function(){return"tercer"},u.prototype.weekdayNearestDayX0=function(){return"día de la semana más próximo al %s"},u.prototype.commaEveryX0Years=function(){return", cada %s años"},u.prototype.commaStartingX0=function(){return", comenzando %s"},u.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},u.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},u}();return l.es=N,c().locales.es=new N,n})())})(kEe);var YEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.de=void 0;var N=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"jede Minute"},u.prototype.everyHour=function(){return"jede Stunde"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. Überprüfen Sie die Syntax des Cron-Ausdrucks."},u.prototype.atSpace=function(){return"Um "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},u.prototype.at=function(){return"Um"},u.prototype.spaceAnd=function(){return" und"},u.prototype.everySecond=function(){return"Jede Sekunde"},u.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},u.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},u.prototype.everyX0Minutes=function(){return"alle %s Minuten"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},u.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},u.prototype.everyX0Hours=function(){return"alle %s Stunden"},u.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},u.prototype.atX0=function(){return"um %s"},u.prototype.commaEveryDay=function(){return", jeden Tag"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},u.prototype.commaX0ThroughX1=function(){return", %s bis %s"},u.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},u.prototype.first=function(){return"ersten"},u.prototype.second=function(){return"zweiten"},u.prototype.third=function(){return"dritten"},u.prototype.fourth=function(){return"vierten"},u.prototype.fifth=function(){return"fünften"},u.prototype.commaOnThe=function(){return", am "},u.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},u.prototype.lastDay=function(){return"der letzte Tag"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},u.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},u.prototype.commaAndOnX0=function(){return", und jeden %s"},u.prototype.commaEveryX0Months=function(){return", alle %s Monate"},u.prototype.commaOnlyInX0=function(){return", nur im %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},u.prototype.firstWeekday=function(){return"ersten Werktag"},u.prototype.weekdayNearestDayX0=function(){return"Werktag am nächsten zum %s Tag"},u.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},u.prototype.commaEveryX0Days=function(){return", alle %s Tage"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},u.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},u.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},u.prototype.commaStartingX0=function(){return", beginnend %s"},u.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},u.prototype.monthsOfTheYear=function(){return["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},u}();return l.de=N,c().locales.de=new N,n})())})(YEe);var vEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.it=void 0;var N=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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"È verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},u.prototype.at=function(){return"Alle"},u.prototype.atSpace=function(){return"Alle "},u.prototype.atX0=function(){return"alle %s"},u.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},u.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},u.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},u.prototype.commaEveryDay=function(){return", ogni giorno"},u.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},u.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},u.prototype.commaEveryX0Years=function(){return", ogni %s anni"},u.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},u.prototype.commaOnlyInX0=function(){return", solo in %s"},u.prototype.commaOnlyOnX0=function(){return", solo il %s"},u.prototype.commaAndOnX0=function(){return", e il %s"},u.prototype.commaOnThe=function(){return", il "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},u.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},u.prototype.commaX0ThroughX1=function(){return", %s al %s"},u.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},u.prototype.everyHour=function(){return"ogni ora"},u.prototype.everyMinute=function(){return"ogni minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},u.prototype.everySecond=function(){return"ogni secondo"},u.prototype.everyX0Hours=function(){return"ogni %s ore"},u.prototype.everyX0Minutes=function(){return"ogni %s minuti"},u.prototype.everyX0Seconds=function(){return"ogni %s secondi"},u.prototype.fifth=function(){return"quinto"},u.prototype.first=function(){return"primo"},u.prototype.firstWeekday=function(){return"primo giorno della settimana"},u.prototype.fourth=function(){return"quarto"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},u.prototype.second=function(){return"secondo"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},u.prototype.spaceAnd=function(){return" e"},u.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},u.prototype.lastDay=function(){return"l'ultimo giorno"},u.prototype.third=function(){return"terzo"},u.prototype.weekdayNearestDayX0=function(){return"giorno della settimana più vicino al %s"},u.prototype.commaStartingX0=function(){return", a partire %s"},u.prototype.daysOfTheWeek=function(){return["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},u.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},u}();return l.it=N,c().locales.it=new N,n})())})(vEe);var bEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:g=>{g.exports=t}},r={};function o(g){var y=r[g];if(y!==void 0)return y.exports;var T=r[g]={exports:{}};return i[g](T,T.exports,o),T.exports}o.n=g=>{var y=g&&g.__esModule?()=>g.default:()=>g;return o.d(y,{a:y}),y},o.d=(g,y)=>{for(var T in y)o.o(y,T)&&!o.o(g,T)&&Object.defineProperty(g,T,{enumerable:!0,get:y[T]})},o.o=(g,y)=>Object.prototype.hasOwnProperty.call(g,y),o.r=g=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(g,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(g,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.ru=void 0;var N=function(g,y){var T=Number(g);return T!==void 0?y[T%100>4&&T%100<20?2:[2,0,1,1,1,2][T%10<5?Math.abs(T)%10:5]]:y[2]},u=function(g,y){var T=Number(g);return T!==void 0?y[T===0?0:T===1||T===2||T===4?1:2]:y[1]},L=function(){function g(){}return g.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},g.prototype.atX0MinutesPastTheHourGt20=function(){return null},g.prototype.commaMonthX0ThroughMonthX1=function(){return null},g.prototype.commaYearX0ThroughYearX1=function(){return null},g.prototype.use24HourTimeFormatByDefault=function(){return!0},g.prototype.everyMinute=function(){return"каждую минуту"},g.prototype.everyHour=function(){return"каждый час"},g.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Произошла ошибка во время генерации описания выражения. Проверьте синтаксис крон-выражения."},g.prototype.atSpace=function(){return"В "},g.prototype.everyMinuteBetweenX0AndX1=function(){return"Каждую минуту с %s по %s"},g.prototype.at=function(){return"В"},g.prototype.spaceAnd=function(){return" и"},g.prototype.everySecond=function(){return"каждую секунду"},g.prototype.everyX0Seconds=function(y){return N(y,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},g.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},g.prototype.atX0SecondsPastTheMinute=function(y){return N(y,["в %s секунду","в %s секунды","в %s секунд"])},g.prototype.everyX0Minutes=function(y){return N(y,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},g.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},g.prototype.atX0MinutesPastTheHour=function(y){return N(y,["в %s минуту","в %s минуты","в %s минут"])},g.prototype.everyX0Hours=function(y){return N(y,["каждый %s час","каждые %s часа","каждые %s часов"])},g.prototype.betweenX0AndX1=function(){return"с %s по %s"},g.prototype.atX0=function(){return"в %s"},g.prototype.commaEveryDay=function(){return", каждый день"},g.prototype.commaEveryX0DaysOfTheWeek=function(y){return N(y,["",", каждые %s дня недели",", каждые %s дней недели"])},g.prototype.commaX0ThroughX1=function(y){return y&&(y[0]=="2"||y[0]=="3")?", со %s по %s":", с %s по %s"},g.prototype.commaAndX0ThroughX1=function(y){return y&&(y[0]=="2"||y[0]=="3")?" и со %s по %s":" и с %s по %s"},g.prototype.first=function(y){return u(y,["первое","первый","первую"])},g.prototype.second=function(y){return u(y,["второе","второй","вторую"])},g.prototype.third=function(y){return u(y,["третье","третий","третью"])},g.prototype.fourth=function(y){return u(y,["четвертое","четвертый","четвертую"])},g.prototype.fifth=function(y){return u(y,["пятое","пятый","пятую"])},g.prototype.commaOnThe=function(y){return y==="2"?", во ":", в "},g.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},g.prototype.lastDay=function(){return"последний день"},g.prototype.commaOnTheLastX0OfTheMonth=function(y){return u(y,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},g.prototype.commaOnlyOnX0=function(y){return y&&y[0]==="2"?", только во %s":", только в %s"},g.prototype.commaAndOnX0=function(){return", и %s"},g.prototype.commaEveryX0Months=function(y){return N(y,[""," каждые %s месяца"," каждые %s месяцев"])},g.prototype.commaOnlyInMonthX0=function(){return", только %s"},g.prototype.commaOnlyInX0=function(){return", только в %s"},g.prototype.commaOnTheLastDayOfTheMonth=function(){return", в последний день месяца"},g.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в последний будний день месяца"},g.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(y){return N(y,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},g.prototype.firstWeekday=function(){return"первый будний день"},g.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},g.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},g.prototype.commaEveryX0Days=function(y){return N(y,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},g.prototype.commaBetweenDayX0AndX1OfTheMonth=function(y){return y&&y.substring(0,y.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},g.prototype.commaOnDayX0OfTheMonth=function(y){return y&&y[0]=="2"?", во %s число месяца":", в %s число месяца"},g.prototype.commaEveryX0Years=function(y){return N(y,[", каждый %s год",", каждые %s года",", каждые %s лет"])},g.prototype.commaStartingX0=function(){return", начало %s"},g.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},g.prototype.daysOfTheWeekInCase=function(y){return y===void 0&&(y=2),y==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},g.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},g.prototype.monthsOfTheYearInCase=function(y){return y==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},g}();return l.ru=L,c().locales.ru=new L,n})())})(bEe);var QEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.zh_CN=void 0;var N=function(){function u(){}return u.prototype.setPeriodBeforeTime=function(){return!0},u.prototype.pm=function(){return"下午"},u.prototype.am=function(){return"上午"},u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return", 从%s年至%s年"},u.prototype.use24HourTimeFormatByDefault=function(){return!1},u.prototype.everyMinute=function(){return"每分钟"},u.prototype.everyHour=function(){return"每小时"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"生成表达式描述时发生了错误,请检查cron表达式语法。"},u.prototype.atSpace=function(){return"在"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"在 %s 至 %s 之间的每分钟"},u.prototype.at=function(){return"在"},u.prototype.spaceAnd=function(){return" 和"},u.prototype.everySecond=function(){return"每秒"},u.prototype.everyX0Seconds=function(){return"每隔 %s 秒"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"在一分钟后的第 %s 到 %s 秒"},u.prototype.atX0SecondsPastTheMinute=function(){return"在一分钟后的第 %s 秒"},u.prototype.everyX0Minutes=function(){return"每隔 %s 分钟"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"在整点后的第 %s 到 %s 分钟"},u.prototype.atX0MinutesPastTheHour=function(){return"在整点后的第 %s 分钟"},u.prototype.everyX0Hours=function(){return"每隔 %s 小时"},u.prototype.betweenX0AndX1=function(){return"在 %s 和 %s 之间"},u.prototype.atX0=function(){return"在%s"},u.prototype.commaEveryDay=function(){return", 每天"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", 每周的每 %s 天"},u.prototype.commaX0ThroughX1=function(){return", %s至%s"},u.prototype.commaAndX0ThroughX1=function(){return", 和%s至%s"},u.prototype.first=function(){return"第一个"},u.prototype.second=function(){return"第二个"},u.prototype.third=function(){return"第三个"},u.prototype.fourth=function(){return"第四个"},u.prototype.fifth=function(){return"第五个"},u.prototype.commaOnThe=function(){return", 限每月的"},u.prototype.spaceX0OfTheMonth=function(){return"%s"},u.prototype.lastDay=function(){return"本月最后一天"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", 限每月的最后一个%s"},u.prototype.commaOnlyOnX0=function(){return", 仅%s"},u.prototype.commaAndOnX0=function(){return", 或者为%s"},u.prototype.commaEveryX0Months=function(){return", 每隔 %s 个月"},u.prototype.commaOnlyInX0=function(){return", 仅限%s"},u.prototype.commaOnlyInMonthX0=function(){return", 仅于%s份"},u.prototype.commaOnlyInYearX0=function(){return", 仅于 %s 年"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", 限每月的最后一天"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", 限每月的最后一个工作日"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", 限每月最后%s天"},u.prototype.firstWeekday=function(){return"第一个工作日"},u.prototype.weekdayNearestDayX0=function(){return"最接近 %s 号的工作日"},u.prototype.commaOnTheX0OfTheMonth=function(){return", 限每月的%s"},u.prototype.commaEveryX0Days=function(){return", 每隔 %s 天"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", 限每月的 %s 至 %s 之间"},u.prototype.commaOnDayX0OfTheMonth=function(){return", 限每月%s"},u.prototype.commaEveryX0Years=function(){return", 每隔 %s 年"},u.prototype.commaStartingX0=function(){return", %s开始"},u.prototype.dayX0=function(){return" %s 号"},u.prototype.daysOfTheWeek=function(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},u.prototype.monthsOfTheYear=function(){return["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},u}();return l.zh_CN=N,c().locales.zh_CN=new N,n})())})(QEe);var UEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.uk=void 0;var N=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"щохвилини"},u.prototype.everyHour=function(){return"щогодини"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"ВІдбулася помилка підчас генерації опису. Перевірта правильність написання cron виразу."},u.prototype.atSpace=function(){return"О "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Щохвилини між %s та %s"},u.prototype.at=function(){return"О"},u.prototype.spaceAnd=function(){return" та"},u.prototype.everySecond=function(){return"Щосекунди"},u.prototype.everyX0Seconds=function(){return"кожні %s секунд"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"з %s по %s секунду"},u.prototype.atX0SecondsPastTheMinute=function(){return"о %s секунді"},u.prototype.everyX0Minutes=function(){return"кожні %s хвилин"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"з %s по %s хвилину"},u.prototype.atX0MinutesPastTheHour=function(){return"о %s хвилині"},u.prototype.everyX0Hours=function(){return"кожні %s годин"},u.prototype.betweenX0AndX1=function(){return"між %s та %s"},u.prototype.atX0=function(){return"о %s"},u.prototype.commaEveryDay=function(){return", щоденно"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", кожен %s день тижня"},u.prototype.commaX0ThroughX1=function(){return", %s по %s"},u.prototype.commaAndX0ThroughX1=function(){return", та %s по %s"},u.prototype.first=function(){return"перший"},u.prototype.second=function(){return"другий"},u.prototype.third=function(){return"третій"},u.prototype.fourth=function(){return"четвертий"},u.prototype.fifth=function(){return"п'ятий"},u.prototype.commaOnThe=function(){return", в "},u.prototype.spaceX0OfTheMonth=function(){return" %s місяця"},u.prototype.lastDay=function(){return"останній день"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", в останній %s місяця"},u.prototype.commaOnlyOnX0=function(){return", тільки в %s"},u.prototype.commaAndOnX0=function(){return", і в %s"},u.prototype.commaEveryX0Months=function(){return", кожен %s місяць"},u.prototype.commaOnlyInX0=function(){return", тільки в %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", в останній день місяця"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в останній будень місяця"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s днів до останнього дня місяця"},u.prototype.firstWeekday=function(){return"перший будень"},u.prototype.weekdayNearestDayX0=function(){return"будень найближчий до %s дня"},u.prototype.commaOnTheX0OfTheMonth=function(){return", в %s місяця"},u.prototype.commaEveryX0Days=function(){return", кожен %s день"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", між %s та %s днями місяця"},u.prototype.commaOnDayX0OfTheMonth=function(){return", на %s день місяця"},u.prototype.commaEveryX0Years=function(){return", кожні %s роки"},u.prototype.commaStartingX0=function(){return", початок %s"},u.prototype.daysOfTheWeek=function(){return["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"]},u.prototype.monthsOfTheYear=function(){return["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},u}();return l.uk=N,c().locales.uk=new N,n})())})(UEe);var $Ee={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.pt_BR=void 0;var N=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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descrição da expressão Cron."},u.prototype.at=function(){return"às"},u.prototype.atSpace=function(){return"às "},u.prototype.atX0=function(){return"Às %s"},u.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},u.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},u.prototype.betweenX0AndX1=function(){return"entre %s e %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do mês"},u.prototype.commaEveryDay=function(){return", a cada dia"},u.prototype.commaEveryX0Days=function(){return", a cada %s dias"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},u.prototype.commaEveryX0Months=function(){return", a cada %s meses"},u.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do mês"},u.prototype.commaOnlyInX0=function(L){return L&&L.length>1&&L[1]==="-"?"somente %s":", somente em %s"},u.prototype.commaOnlyOnX0=function(L){return L&&L.length>1&&L[1]==="-"?", somente %s":", somente de %s"},u.prototype.commaAndOnX0=function(){return", e de %s"},u.prototype.commaOnThe=function(L,g){return g==="6"||g==="0"?", no":", na "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", no último dia do mês"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no último dia da semana do mês"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do último dia do mês"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", na última %s do mês"},u.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do mês"},u.prototype.commaX0ThroughX1=function(){return", de %s a %s"},u.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},u.prototype.everyHour=function(){return"a cada hora"},u.prototype.everyMinute=function(){return"a cada minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},u.prototype.everySecond=function(){return"a cada segundo"},u.prototype.everyX0Hours=function(){return"a cada %s horas"},u.prototype.everyX0Minutes=function(){return"a cada %s minutos"},u.prototype.everyX0Seconds=function(){return"a cada %s segundos"},u.prototype.fifth=function(L){return L==="6"||L==="0"?"quinto":"quinta"},u.prototype.first=function(L){return L==="6"||L==="0"?"primeiro":"primeira"},u.prototype.firstWeekday=function(){return"primeiro dia da semana"},u.prototype.fourth=function(L){return L==="6"||L==="0"?"quarto":"quarta"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s até %s de cada hora"},u.prototype.second=function(L){return L==="6"||L==="0"?"segundo":"segunda"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s até %s de cada minuto"},u.prototype.spaceAnd=function(){return" e"},u.prototype.spaceX0OfTheMonth=function(){return" %s do mês"},u.prototype.lastDay=function(){return"o último dia"},u.prototype.third=function(L){return L==="6"||L==="0"?"terceiro":"terceira"},u.prototype.weekdayNearestDayX0=function(){return"dia da semana mais próximo do dia %s"},u.prototype.commaEveryX0Years=function(){return", a cada %s anos"},u.prototype.commaStartingX0=function(){return", iniciando %s"},u.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},u.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},u}();return l.pt_BR=N,c().locales.pt_BR=new N,n})())})($Ee);var PEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.pl=void 0;var N=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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wystąpił błąd podczas generowania opisu wyrażenia cron. Sprawdź składnię wyrażenia cron."},u.prototype.at=function(){return"O"},u.prototype.atSpace=function(){return"O "},u.prototype.atX0=function(){return"o %s"},u.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},u.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},u.prototype.betweenX0AndX1=function(){return"od %s do %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesiąca"},u.prototype.commaEveryDay=function(){return", co dzień"},u.prototype.commaEveryX0Days=function(){return", co %s dni"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},u.prototype.commaEveryX0Months=function(){return", co %s miesięcy"},u.prototype.commaEveryX0Years=function(){return", co %s lat"},u.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesiąca"},u.prototype.commaOnlyInX0=function(){return", tylko %s"},u.prototype.commaOnlyOnX0=function(){return", tylko %s"},u.prototype.commaAndOnX0=function(){return", i %s"},u.prototype.commaOnThe=function(){return", "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzień miesiąca"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzień roboczy miesiąca"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesiąca"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesiąca"},u.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesiąca"},u.prototype.commaX0ThroughX1=function(){return", od %s do %s"},u.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},u.prototype.everyHour=function(){return"co godzinę"},u.prototype.everyMinute=function(){return"co minutę"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minutę od %s do %s"},u.prototype.everySecond=function(){return"co sekundę"},u.prototype.everyX0Hours=function(){return"co %s godzin"},u.prototype.everyX0Minutes=function(){return"co %s minut"},u.prototype.everyX0Seconds=function(){return"co %s sekund"},u.prototype.fifth=function(){return"piąty"},u.prototype.first=function(){return"pierwszy"},u.prototype.firstWeekday=function(){return"pierwszy dzień roboczy"},u.prototype.fourth=function(){return"czwarty"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},u.prototype.second=function(){return"drugi"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},u.prototype.spaceAnd=function(){return" i"},u.prototype.spaceX0OfTheMonth=function(){return" %s miesiąca"},u.prototype.lastDay=function(){return"ostatni dzień"},u.prototype.third=function(){return"trzeci"},u.prototype.weekdayNearestDayX0=function(){return"dzień roboczy najbliższy %s-ego dnia"},u.prototype.commaStartingX0=function(){return", startowy %s"},u.prototype.daysOfTheWeek=function(){return["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},u.prototype.monthsOfTheYear=function(){return["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},u}();return l.pl=N,c().locales.pl=new N,n})())})(PEe);function h4(s,e){return _Ee.toString(s,{locale:e})}const xe={mainDiv:{width:"100%",height:"100%"},periodSelect:{display:"block",width:250},tabContent:{padding:20,height:"calc(100% - 240px)",overflow:"auto"},numberButton:{padding:4,minWidth:40,margin:5},appBar:{color:"white"},warning:{marginLeft:16,color:"red",fontSize:12}},WEe=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],BEe=["January","February","March","April","May","June","July","August","September","October","November","December"];function Tl(s,e){const t=[];if(s==="*"){if(e===24||e===60||e===7)for(let r=0;r1){const n=parseInt(o[1],10);for(let a=parseInt(o[0],10);a<=n;a++)t.push(a)}else t.push(parseInt(i[r],10))}t.sort();for(let r=t.length-1;r>=0;r--)t[r]===t[r+1]&&t.splice(r+1,1);return t}function dl(s,e){if(typeof s!="object"&&(s=[s]),s.length===e)return"*";const t=[];if(!s.length)return"-";s=s.map(o=>parseInt(o,10)),s.sort((o,n)=>o-n);let i=s[0],r=s[0];for(let o=1;othis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(e){e=e.replace(/['"]/g,"").trim();const t=e.split(" ").map(r=>r.trim());let i;return t.length===6?i={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",dates:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:i={seconds:!1,minutes:t[0]||"*",hours:t[1]||"*",dates:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},i}static state2cron(e){let t=`${e.minutes} ${e.hours} ${e.dates} ${e.months} ${e.dow}`;return e.seconds!==!1&&(t=`${e.seconds} ${t}`),t}recalcCron(){const e=kt.state2cron(this.state);e!==this.state.cron&&this.setState({cron:e},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(e,t,i){if(e===!0)this.setCronAttr(t,"*");else if(e===!1)i===60||i===24?this.setCronAttr(t,"0"):this.setCronAttr(t,"1");else{const r=Tl(this.state[t],i),o=r.indexOf(e);o!==-1?r.splice(o,1):(r.push(e),r.sort()),this.setCronAttr(t,dl(r,i))}}getDigitsSelector(e,t){let i=[];if(t===7)i=[1,2,3,4,5,6,0];else if(t===60||t===24)for(let o=0;othis.onToggle(!1,e,t)},h.t("ra_Deselect all")),M.createElement(j.Button,{key:"addall",variant:"contained",style:xe.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,t)},h.t("ra_Select all")),M.createElement("div",{key:"all"},i.map(o=>[t===7&&o===4||t===12&&o===7||t===31&&!((o-1)%10)||t===60&&o&&!(o%10)||t===24&&o&&!(o%6)?M.createElement("div",{key:`allInner${o}`,style:{width:"100%"}}):null,M.createElement(j.Button,{key:`_${o}`,variant:r.indexOf(o)!==-1?"contained":"outlined",style:xe.numberButton,color:r.indexOf(o)!==-1?"secondary":"primary",onClick:()=>this.onToggle(o,e,t)},t===7?h.t(WEe[o]):t===12?BEe[o-1]:o)]))]}getPeriodsTab(e,t){const i=this.state[e];let r=i==="*",o=i==null?!1:i.toString().includes("/"),n;if(this.state.modes[e]===null){n=r?"every":o?"everyN":"specific";const c=JSON.parse(JSON.stringify(this.state.modes));return c[e]=n,setTimeout(()=>this.setState({modes:c},()=>this.recalcCron()),100),null}r=this.state.modes[e]==="every",o=this.state.modes[e]==="everyN",n=this.state.modes[e];let a=1;return o&&i&&(a=parseInt(i.replace("*/",""),10)||1),M.createElement("div",null,M.createElement(j.Select,{variant:"standard",style:{...xe.periodSelect,verticalAlign:"bottom"},value:n,onChange:c=>{const l=JSON.parse(JSON.stringify(this.state.modes));if(l[e]=c.target.value,c.target.value==="every")this.setCronAttr(e,"*",l);else if(c.target.value==="everyN"){const N=parseInt((this.state[e]||"").toString().replace("*/",""),10)||1;this.setCronAttr(e,`*/${N}`,l)}else if(c.target.value==="specific"){let N=parseInt((this.state[e]||"").toString().split(",")[0],10)||0;!N&&(e==="months"||e==="dates")&&(N=1),this.setCronAttr(e,dl(N,t),l)}}},M.createElement(j.MenuItem,{key:"every",value:"every"},h.t(`sc_every_${e}`)),M.createElement(j.MenuItem,{key:"everyN",value:"everyN"},h.t(`sc_everyN_${e}`)),M.createElement(j.MenuItem,{key:"specific",value:"specific"},h.t(`sc_specific_${e}`))),o&&M.createElement(j.TextField,{variant:"standard",key:"interval",label:h.t(`sc_${e}`),value:a,slotProps:{htmlInput:{min:1,max:t},inputLabel:{shrink:!0}},onChange:c=>{this.setState({[e]:`*/${c.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!r&&!o&&this.getDigitsSelector(e,t))}static convertCronToText(e,t){return e.split(" ").includes("-")?h.t("ra_Invalid CRON"):h4(e,t)}setCronAttr(e,t,i){i?e==="seconds"?this.setState({seconds:t,modes:i},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t,modes:i},()=>this.recalcCron()):e==="hours"?this.setState({hours:t,modes:i},()=>this.recalcCron()):e==="dates"?this.setState({dates:t,modes:i},()=>this.recalcCron()):e==="months"?this.setState({months:t,modes:i},()=>this.recalcCron()):e==="dow"?this.setState({dow:t,modes:i},()=>this.recalcCron()):this.setState({modes:i},()=>this.recalcCron()):e==="seconds"?this.setState({seconds:t},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t},()=>this.recalcCron()):e==="hours"?this.setState({hours:t},()=>this.recalcCron()):e==="dates"?this.setState({dates:t},()=>this.recalcCron()):e==="months"?this.setState({months:t},()=>this.recalcCron()):e==="dow"&&this.setState({dow:t},()=>this.recalcCron())}render(){const e=this.state.seconds!==!1?this.state.tab:this.state.tab+1,t=this.state.minutes==="*"||this.state.minutes==="*/1",i=this.state.seconds==="*"||this.state.seconds==="*/1";return M.createElement("div",{style:xe.mainDiv},M.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},M.createElement(j.TextField,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),M.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},kt.convertCronToText(this.state.cron,this.props.language||"en"),M.createElement("span",{style:xe.warning},i?h.t("ra_warning_every_second"):t?h.t("ra_warning_every_minute"):"")),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{checked:!!this.state.seconds,onChange:r=>this.setState({seconds:r.target.checked?"*":!1},()=>this.recalcCron())}),label:h.t("ra_use seconds")}),M.createElement(j.AppBar,{position:"static",sx:{"&.MuiAppBar-root":xe.appBar},color:"secondary"},M.createElement(j.Tabs,{value:this.state.tab,style:xe.appBar,color:"secondary",onChange:(r,o)=>this.setState({tab:o})},this.state.seconds!==!1&&M.createElement(j.Tab,{id:"sc_seconds",label:h.t("sc_seconds")}),M.createElement(j.Tab,{id:"minutes",label:h.t("sc_minutes")}),M.createElement(j.Tab,{id:"hours",label:h.t("sc_hours")}),M.createElement(j.Tab,{id:"dates",label:h.t("sc_dates")}),M.createElement(j.Tab,{id:"months",label:h.t("sc_months")}),M.createElement(j.Tab,{id:"dow",label:h.t("sc_dows")}))),e===0&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("seconds",60)),e===1&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("minutes",60)),e===2&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("hours",24)),e===3&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("dates",31)),e===4&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("months",12)),e===5&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("dow",7)))}}const gs={modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:8,top:8},languageButtonActive:s=>({color:s.palette.primary.main})};function J3e(s){const{open:e,toggleTranslation:t,noTranslation:i,title:r,fullWidth:o,help:n,maxWidth:a,progress:c,icon:l,applyDisabled:N,applyButton:u,onClose:L,children:g,titleButtonApply:y,titleButtonClose:T,onApply:d,textInput:z,defaultValue:I,overflowHidden:C}=s,[m,A]=f.useState(I||"");f.useEffect(()=>{A(I||"")},[I]);let D=null;return l&&(D=l),M.createElement(j.Dialog,{open:e,maxWidth:a||"md",fullWidth:!!o,disableEscapeKeyDown:!1,onClose:L,sx:{"& .MuiDialog-paper":gs.modalDialog}},r&&M.createElement(j.DialogTitle,null,l?M.createElement(D,{style:gs.titleIcon}):null,r,h.getLanguage()!=="en"&&t?M.createElement(j.IconButton,{size:"large",sx:O.getStyle(s.theme,gs.languageButton,i&&gs.languageButtonActive),onClick:()=>t(),title:h.t("Disable/Enable translation")},M.createElement(uL,null)):null),M.createElement(j.DialogContent,{style:{...gs.content,...C?gs.overflowHidden:void 0,paddingTop:8}},z&&M.createElement(j.TextField,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:m,onChange:p=>A(p.target.value)}),g,n?M.createElement("div",null,n):null),M.createElement(j.DialogActions,null,u!==!1&&M.createElement(j.Button,{startIcon:M.createElement(Oe,null),disabled:c||N&&I===m,onClick:()=>d(z?m:""),variant:"contained",color:"primary"},h.t(y||"ra_Ok")),M.createElement(j.Button,{color:"grey",onClick:L,disabled:c,variant:"contained",startIcon:M.createElement(Ne,null)},h.t(T||"ra_Cancel"))))}function JEe(){const s=BL();return[...s.breakpoints.keys].reverse().reduce((t,i)=>{const r=j.useMediaQuery(s.breakpoints.up(i));return!t&&r?i:t},null)||"xs"}function Io(){return s=>function(t){const i=JEe();return M.createElement(s,{...t,width:i})}}function REe(s){const[e,t]=M.useState(s.input||s.value||""),[i,r]=M.useState("");return M.createElement(j.Dialog,{open:!0,onClose:()=>s.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:s.fullWidth!==void 0?s.fullWidth:!1},M.createElement(j.DialogTitle,{id:"form-dialog-title"},s.titleText),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,null,s.promptText),M.createElement(j.TextField,{variant:"standard",autoFocus:!0,margin:"dense",error:!!i,helperText:i===!0||!i?"":i,value:e,label:s.labelText||"",type:s.type||"text",onKeyUp:o=>o.code==="Enter"&&e&&s.onClose(e),onChange:o=>{let n="";s.verify&&(n=!s.verify(o.target.value)),s.rule?t(s.rule(o.target.value)):t(o.target.value),r(n)},fullWidth:!0})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",disabled:!e||!!i,onClick:()=>s.onClose(e),color:"primary",startIcon:M.createElement(Oe,null)},s.applyText||h.t("ra_Ok")),M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>s.onClose(null),startIcon:M.createElement(Ne,null)},s.cancelText||h.t("ra_Cancel"))))}const FEe=Io()(REe);function $n(s){return M.createElement("svg",{onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 486 486",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:s.className,style:s.style},M.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"}),M.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"}))}function Ws(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 650 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}function fr(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 650 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}function dM(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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 GEe=s=>typeof s!="string"?{}:s.split(/ ?; ?/).reduce((e,t)=>{const[i,r]=t.split(/ ?: ?/).map((o,n)=>n===0?o.replace(/\s+/g,""):o.trim());if(i&&r){const o=i.replace(/(\w)-(\w)/g,(a,c,l)=>`${c}${l.toUpperCase()}`);let n=r.trim();Number.isNaN(Number(r))||(n=Number(r)),e[i.startsWith("-")?i:o]=n}return e},{});function HEe(s=6){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let t="";for(let i=s;i>0;--i)t+=e[Math.round(Math.random()*(e.length-1))];return t}var VEe=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],Dl={"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 ZEe(s,e){var o;const{key:t,level:i,...r}=e;switch(s.nodeType){case 1:return f.createElement(KEe(s.nodeName),XEe(s,t),hl(s.childNodes,i,r));case 3:{const n=((o=s.nodeValue)==null?void 0:o.toString())??"";if(!r.allowWhiteSpaces&&/^\s+$/.test(n)&&!/[\u00A0\u202F]/.test(n))return null;if(!s.parentNode)return n;const a=s.parentNode.nodeName.toLowerCase();return VEe.includes(a)?(/\S/.test(n)&&console.warn(`A textNode is not allowed inside '${a}'. Your text "${n}" will be ignored`),null):n}case 8:return null;case 11:return hl(s.childNodes,i,e);default:return null}}function XEe(s,e){const t={key:e};if(s instanceof Element){const i=s.getAttribute("class");i&&(t.className=i),[...s.attributes].forEach(r=>{switch(r.name){case"class":break;case"style":t[r.name]=GEe(r.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":t[Dl[r.name]||r.name]=!0;break;default:t[Dl[r.name]||r.name]=r.value}})}return t}function hl(s,e,t){const i=[...s].map((r,o)=>Vr(r,{...t,index:o,level:e+1})).filter(Boolean);return i.length?i:null}function KEe(s){return/[a-z]+[A-Z]+[a-z]+/.test(s)?s:s.toLowerCase()}function z4(s,e={}){return typeof s=="string"?qEe(s,e):s instanceof Node?Vr(s,e):null}function Vr(s,e={}){if(!s||!(s instanceof Node))return null;const{actions:t=[],index:i=0,level:r=0,randomKey:o}=e;let n=s,a=`${r}-${i}`;const c=[];return o&&r===0&&(a=`${HEe()}-${a}`),Array.isArray(t)&&t.forEach(l=>{l.condition(n,a,r)&&(typeof l.pre=="function"&&(n=l.pre(n,a,r),n instanceof Node||(n=s)),typeof l.post=="function"&&c.push(l.post(n,a,r)))}),c.length?c:ZEe(n,{key:a,level:r,...e})}function qEe(s,e={}){if(!s||typeof s!="string")return null;const{includeAllNodes:t=!1,nodeOnly:i=!1,selector:r="body > *",type:o="text/html"}=e;try{const a=new DOMParser().parseFromString(s,o);if(t){const{childNodes:l}=a.body;return i?l:[...l].map(N=>Vr(N,e))}const c=a.querySelector(r)||a.body.childNodes[0];if(!(c instanceof Node))throw new TypeError("Error parsing input");return i?c:Vr(c,e)}catch{}return null}var efe=Object.defineProperty,tfe=(s,e,t)=>e in s?efe(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,yr=(s,e,t)=>tfe(s,typeof e!="symbol"?e+"":e,t),zl="react-inlinesvg",sfe=10,se={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function ife(s){return s[Math.floor(Math.random()*s.length)]}function pi(){var s;return!!(typeof window<"u"&&((s=window.document)!=null&&s.createElement))}function rfe(){return Mfe()&&typeof window<"u"&&window!==null}function ofe(s,...e){const t={};for(const i in s)({}).hasOwnProperty.call(s,i)&&(e.includes(i)||(t[i]=s[i]));return t}function nfe(s){const e="abcdefghijklmnopqrstuvwxyz",i=`${e}${e.toUpperCase()}1234567890`;let r="";for(let o=0;o299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(o=>r.includes(o)))throw new Error(`Content type isn't valid: ${r}`);return t.text()}function afe(s=1){return new Promise(e=>{setTimeout(e,s*1e3)})}function Mfe(){if(!document)return!1;const s=document.createElement("div");s.innerHTML="";const e=s.firstChild;return!!e&&e.namespaceURI==="http://www.w3.org/2000/svg"}var cfe=class{constructor(){yr(this,"cacheApi"),yr(this,"cacheStore"),yr(this,"subscribers",[]),yr(this,"isReady",!1),this.cacheStore=new Map;let s=zl,e=!1;pi()&&(s=window.REACT_INLINESVG_CACHE_NAME??zl,e=!!window.REACT_INLINESVG_PERSISTENT_CACHE&&"caches"in window),e?caches.open(s).then(t=>{this.cacheApi=t}).catch(t=>{console.error(`Failed to open cache: ${t.message}`),this.cacheApi=void 0}).finally(()=>{this.isReady=!0;const t=[...this.subscribers];this.subscribers.length=0,t.forEach(i=>{try{i()}catch(r){console.error(`Error in CacheStore subscriber callback: ${r.message}`)}})}):this.isReady=!0}onReady(s){this.isReady?s():this.subscribers.push(s)}async get(s,e){var t;return await(this.cacheApi?this.fetchAndAddToPersistentCache(s,e):this.fetchAndAddToInternalCache(s,e)),((t=this.cacheStore.get(s))==null?void 0:t.content)??""}set(s,e){this.cacheStore.set(s,e)}isCached(s){var e;return((e=this.cacheStore.get(s))==null?void 0:e.status)===se.LOADED}async fetchAndAddToInternalCache(s,e){const t=this.cacheStore.get(s);if((t==null?void 0:t.status)===se.LOADING){await this.handleLoading(s,async()=>{this.cacheStore.set(s,{content:"",status:se.IDLE}),await this.fetchAndAddToInternalCache(s,e)});return}if(!(t!=null&&t.content)){this.cacheStore.set(s,{content:"",status:se.LOADING});try{const i=await w4(s,e);this.cacheStore.set(s,{content:i,status:se.LOADED})}catch(i){throw this.cacheStore.set(s,{content:"",status:se.FAILED}),i}}}async fetchAndAddToPersistentCache(s,e){var r,o,n;const t=this.cacheStore.get(s);if((t==null?void 0:t.status)===se.LOADED)return;if((t==null?void 0:t.status)===se.LOADING){await this.handleLoading(s,async()=>{this.cacheStore.set(s,{content:"",status:se.IDLE}),await this.fetchAndAddToPersistentCache(s,e)});return}this.cacheStore.set(s,{content:"",status:se.LOADING});const i=await((r=this.cacheApi)==null?void 0:r.match(s));if(i){const a=await i.text();this.cacheStore.set(s,{content:a,status:se.LOADED});return}try{await((o=this.cacheApi)==null?void 0:o.add(new Request(s,e)));const a=await((n=this.cacheApi)==null?void 0:n.match(s)),c=await(a==null?void 0:a.text())??"";this.cacheStore.set(s,{content:c,status:se.LOADED})}catch(a){throw this.cacheStore.set(s,{content:"",status:se.FAILED}),a}}async handleLoading(s,e){var t;for(let i=0;i({[s]:e}))}async delete(s){this.cacheApi&&await this.cacheApi.delete(s),this.cacheStore.delete(s)}async clear(){if(this.cacheApi){const s=await this.cacheApi.keys();await Promise.allSettled(s.map(e=>this.cacheApi.delete(e)))}this.cacheStore.clear()}};function wl(s){const e=f.useRef(void 0);return f.useEffect(()=>{e.current=s}),e.current}function ufe(s){const{baseURL:e,content:t,description:i,handleError:r,hash:o,preProcessor:n,title:a,uniquifyIDs:c=!1}=s;try{const l=lfe(t,n),N=z4(l,{nodeOnly:!0});if(!N||!(N instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const u=C4(N,{baseURL:e,hash:o,uniquifyIDs:c});if(i){const L=u.querySelector("desc");L!=null&&L.parentNode&&L.parentNode.removeChild(L);const g=document.createElementNS("http://www.w3.org/2000/svg","desc");g.innerHTML=i,u.prepend(g)}if(typeof a<"u"){const L=u.querySelector("title");if(L!=null&&L.parentNode&&L.parentNode.removeChild(L),a){const g=document.createElementNS("http://www.w3.org/2000/svg","title");g.innerHTML=a,u.prepend(g)}}return u}catch(l){return r(l)}}function lfe(s,e){return e?e(s):s}function C4(s,e){const{baseURL:t="",hash:i,uniquifyIDs:r}=e,o=["id","href","xlink:href","xlink:role","xlink:arcrole"],n=["href","xlink:href"],a=(c,l)=>n.includes(c)&&(l?!l.includes("#"):!1);return r&&[...s.children].forEach(c=>{var l;if((l=c.attributes)!=null&&l.length){const N=Object.values(c.attributes).map(u=>{const L=u,g=/url\((.*?)\)/.exec(u.value);return g!=null&&g[1]&&(L.value=u.value.replace(g[0],`url(${t}${g[1]}__${i})`)),L});o.forEach(u=>{const L=N.find(g=>g.name===u);L&&!a(u,L.value)&&(L.value=`${L.value}__${i}`)})}return c.children.length?C4(c,e):c}),s}var Us;function Nfe(s){const{cacheRequests:e=!0,children:t=null,description:i,fetchOptions:r,innerRef:o,loader:n=null,onError:a,onLoad:c,src:l,title:N,uniqueHash:u}=s,[L,g]=f.useReducer((G,H)=>({...G,...H}),{content:"",element:null,isCached:e&&Us.isCached(s.src),status:se.IDLE}),{content:y,element:T,isCached:d,status:z}=L,I=wl(s),C=wl(L),m=f.useRef(u??nfe(8)),A=f.useRef(!1),D=f.useRef(!1),p=f.useCallback(G=>{A.current&&(g({status:G.message==="Browser does not support SVG"?se.UNSUPPORTED:se.FAILED}),a==null||a(G))},[a]),_=f.useCallback((G,H=!1)=>{A.current&&g({content:G,isCached:H,status:se.LOADED})},[]),x=f.useCallback(async()=>{const G=await w4(l,r);_(G)},[r,_,l]),P=f.useCallback(()=>{try{const G=ufe({...s,handleError:p,hash:m.current,content:y}),H=z4(G);if(!H||!f.isValidElement(H))throw new Error("Could not convert the src to a React element");g({element:H,status:se.READY})}catch(G){p(G)}},[y,p,s]),v=f.useCallback(async()=>{const G=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(l);let H;if(G?H=G[1]?window.atob(G[2]):decodeURIComponent(G[2]):l.includes("{A.current&&g({content:"",element:null,isCached:!1,status:se.LOADING})},[]);f.useEffect(()=>{if(A.current=!0,!(!pi()||D.current)){try{if(z===se.IDLE){if(!rfe())throw new Error("Browser does not support SVG");if(!l)throw new Error("Missing src");ee()}}catch(G){p(G)}return D.current=!0,()=>{A.current=!1}}},[]),f.useEffect(()=>{if(!(!pi()||!I)&&I.src!==l){if(!l){p(new Error("Missing src"));return}ee()}},[p,ee,I,l]),f.useEffect(()=>{z===se.LOADED&&P()},[z,P]),f.useEffect(()=>{!pi()||!I||I.src!==l||(I.title!==N||I.description!==i)&&P()},[i,P,I,l,N]),f.useEffect(()=>{if(C)switch(z){case se.LOADING:{C.status!==se.LOADING&&v();break}case se.LOADED:{C.status!==se.LOADED&&P();break}case se.READY:{C.status!==se.READY&&(c==null||c(l,d));break}}},[v,P,d,c,C,l,z]);const ue=ofe(s,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return pi()?T?f.cloneElement(T,{ref:o,...ue}):[se.UNSUPPORTED,se.FAILED].includes(z)?t:n:n}function Pn(s){Us||(Us=new cfe);const{loader:e}=s,[t,i]=f.useState(Us.isReady);return f.useEffect(()=>{t||Us.onReady(()=>{i(!0)})},[t]),t?M.createElement(Nfe,{...s}):e}function Lfe(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("path",{fill:"currentColor",d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"}))}function R3e(s){let e;const t=s==null?void 0:s._id;return t?(t.startsWith("_design/")||t==="system"?e=M.createElement(kr,{className:"iconOwn"}):t==="0_userdata"||t==="0_userdata.0"?e=M.createElement(wg,{className:"iconOwn"}):t==="alias"||t==="alias.0"?e=M.createElement(Lfe,{className:"iconOwn"}):t==="system.adapter"?e=M.createElement(kr,{className:"iconOwn"}):t==="system.group"?e=M.createElement(ga,{className:"iconOwn"}):t==="system.user"?e=M.createElement(Na,{className:"iconOwn"}):t==="system.host"?e=M.createElement(La,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?e=M.createElement(Qs,{className:"iconOwn"}):t.endsWith(".info")?e=M.createElement(la,{className:"iconOwn"}):(s==null?void 0:s.type)==="meta"&&(e=M.createElement(Kr,{className:"iconOwn"})),e||null):null}function F3e(s,e){e=e||".";let t="";const i=s==null?void 0:s.common;if(i){const r=i.icon;if(r)if(r.startsWith("data:image/"))t=r;else if(r.includes(".")){let o;s.type==="instance"||s.type==="adapter"?t=`${e}/adapter/${i.name}/${r}`:s._id&&s._id.startsWith("system.adapter.")?(o=s._id.split(".",3),r[0]==="/"?o[2]+=r:o[2]+=`/${r}`,t=`${e}/adapter/${o[2]}`):(o=s._id.split(".",2),r[0]==="/"?o[0]+=r:o[0]+=`/${r}`,t=`${e}/adapter/${o[0]}`)}else return null}return t||null}const gfe=window.location.hostname.endsWith("iobroker.in"),Cl=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);function me(s){var e,t,i;if(s.src){if(typeof s.src=="string"){if(s.src.length<3)return s.sx?M.createElement(j.Box,{component:"span",sx:s.sx,title:s.title||void 0,style:{height:27,marginTop:-8,...s.styleUTF8||s.style},className:O.clsx(s.className,"iconOwn")},s.src):M.createElement("span",{title:s.title||void 0,style:{height:27,marginTop:-8,...s.styleUTF8||s.style},className:O.clsx(s.className,"iconOwn")},s.src);if(s.src.startsWith("data:image/svg"))return M.createElement(Pn,{title:s.title||void 0,src:s.src,className:O.clsx(s.className,"iconOwn"),width:((e=s.style)==null?void 0:e.width)||28,height:((t=s.style)==null?void 0:t.height)||((i=s.style)==null?void 0:i.width)||28,style:s.style||void 0});if(gfe&&!s.src.startsWith("http://")&&!s.src.startsWith("https://")){let r=s.src;return r.startsWith("./")?r=Cl+r.substring(2):r.startsWith("/")||(r=Cl+r),s.sx?M.createElement(j.Box,{component:"img",sx:s.sx,title:s.title||void 0,style:s.style||void 0,className:O.clsx(s.className,"iconOwn"),src:`https://remote-files.iobroker.in${r}`,alt:s.alt||void 0,ref:s.ref,onError:o=>s.onError&&s.onError(o)}):M.createElement("img",{title:s.title||void 0,style:s.style||void 0,className:O.clsx(s.className,"iconOwn"),src:`https://remote-files.iobroker.in${r}`,alt:s.alt||void 0,ref:s.ref,onError:o=>s.onError&&s.onError(o)})}return s.sx?M.createElement(j.Box,{component:"img",sx:s.sx,title:s.title||void 0,style:s.style||void 0,className:O.clsx(s.className,"iconOwn"),src:s.src,alt:s.alt||void 0,ref:s.ref,onError:s.onError}):M.createElement("img",{title:s.title||void 0,style:s.style||void 0,className:O.clsx(s.className,"iconOwn"),src:s.src,alt:s.alt||void 0,ref:s.ref,onError:s.onError})}return s.src}return null}const Bt={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"}},we={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 Il(s,e){let t="";const i=new Uint8Array((s==null?void 0:s.data)||s),r=i.byteLength;for(let o=0;o{let o="";r.file!==void 0&&(o=r.file);const n={copyPossible:this.state.copyPossible,ext:this.state.ext};if(o.type==="Buffer")if(i.toLowerCase().endsWith(".json5")){n.ext="json5",n.copyPossible=!0;try{o=atob(Il(o,!0))}catch{console.error("Cannot convert base64 to string"),o=""}}else{const a=O.detectMimeType(Il(o));a&&(n.ext=a,n.copyPossible=we.code.includes(a)||we.txt.includes(a))}n.copyPossible&&(n.ext&&we.txt.includes(n.ext)?(n.text=o,n.editingValue=o):n.ext&&we.code.includes(n.ext)&&(n.code=o,n.editingValue=o)),this.setState(n)}).catch(r=>window.alert(`Cannot read file: ${r}`))}}componentDidMount(){this.readFile();const e=this.props.href.split("/");e.splice(0,2);const t=e[0],i=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,i,this.onFileChanged).catch(r=>window.alert(`Cannot subscribe on file: ${r}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);const e=this.props.href.split("/");e.splice(0,2);const t=e[0],i=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,i,this.onFileChanged).catch(r=>window.alert(`Cannot subscribe on file: ${r}`))}onFileChanged=(e,t,i)=>{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,i===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))};getEditorOrViewer(){return M.createElement(j.TextField,{variant:"standard",style:Bt.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&we.images.includes(this.state.ext)?this.state.imgError?M.createElement(dM,{style:{...Bt.img,...this.props.getStyleBackgroundImage()}}):M.createElement(me,{onError:e=>{e.target.onerror=null,this.setState({imgError:!0})},style:{...Bt.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&we.audio.includes(this.state.ext)?M.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},M.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&we.video.includes(this.state.ext)?M.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},M.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},M.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 M.createElement(j.Dialog,{sx:{"&.MuiDialog-scrollPaper":Bt.dialog,"& .MuiDialog-paper":Bt.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},M.createElement("div",{style:Bt.dialogTitle},M.createElement(j.DialogTitle,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&we.images.includes(this.state.ext)&&M.createElement("div",null,M.createElement(j.IconButton,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},M.createElement(ca,null)))),M.createElement(j.DialogContent,{style:Bt.content},this.getContent()),M.createElement(j.DialogActions,null,this.state.copyPossible?M.createElement(j.Button,{color:"grey",onClick:e=>{e.stopPropagation(),e.preventDefault(),O.copyToClipboard(this.state.text||this.state.code||"")},startIcon:M.createElement(rg,null)},this.props.t("Copy content")):null,this.state.editing?M.createElement(j.Button,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:M.createElement(cn,null)},this.props.t("Save")):null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:M.createElement(Ne,null)},this.props.t("Close"))))}}const yfe=Io()(jfe),js=32,Lt=32,Tr=120,pl=64,Al="Not found",dr={all:jN,images:jg,code:ua,txt:Lg,audio:FL,video:Eg},Y={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 8px)",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 ${pl}px`},itemTile:s=>({position:"relative",userSelect:"none",cursor:"pointer",height:Tr,width:pl,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:s.palette.secondary.light,color:O.invertColor(s.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:s=>({width:"100%",height:Tr-32-16-8,display:"block",pl:1,color:s.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:s=>({position:"absolute",top:22,left:18,zIndex:1,color:(s.palette.mode==="dark","#FFF")}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:Tr-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:Tr-32-16-8,display:"block",objectFit:"contain"},itemSelected:s=>({background:s.palette.primary.main,color:O.invertColor(s.palette.primary.main,!0)}),itemTable:s=>({userSelect:"none",cursor:"pointer",height:js,display:"inline-flex",lineHeight:`${js}px`,"&:hover":{background:s.palette.secondary.light,color:O.invertColor(s.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:s=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:s.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:s=>({display:"inline-block",width:Lt,height:js,minWidth:Lt,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${Lt/2}px`,"&:hover":{backgroundColor:s.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:s.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:Lt,height:js,minWidth:Lt,padding:0},itemAclButtonTable:{width:Lt,height:js,minWidth:Lt,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:Lt,height:js,minWidth:Lt,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:s=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:s.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:s=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:s.palette.secondary.main,color:s.palette.secondary.contrastText,borderRadius:"4px 4px 0 0"}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:s=>({pl:"2px",pr:"2px",cursor:"pointer",color:"white","&:hover":{backgroundColor:s.palette.primary.main,color:s.palette.primary.contrastText}}),pathDivBreadcrumbSelected:{color:"#FFF"},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:s=>({color:s.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},mt="0_userdata.0";function ys(s){const e=(s||"").split("/");return e.length&&e.pop(),e.join("/")}function Vo(s){const e=O.getFileExtension(s);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const te="Table",Zo="Tile";function ml(s,e){return s.folder&&e.folder?s.name>e.name?1:s.namee.name?1:s.name{var l;return c.startsWith(`${this.limitToPath}/`)||c===this.limitToPath||((l=this.limitToPath)==null?void 0:l.startsWith(`${c}/`))}))}catch{i=[]}let r;this.props.showViewTypeButton?r=this.localStorage.getItem("files.viewType")||te:r=te;let o=this.props.selected||this.localStorage.getItem("files.selected")||mt,n;if(e.restrictToFolder){o=e.restrictToFolder,n=e.restrictToFolder;const c=e.restrictToFolder.split("/");i=[];let l="";for(let N=0;N{if(this.state.viewType===te&&!this.findItem(this.state.selected)){const t=this.state.selected.split("/");for(;t.length&&!this.findItem(t.join("/"));)t.pop();let i;t.length?i=t.join("/"):i=mt,this.setState({selected:i,path:i,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){const e=document.getElementById(this.state.selected);e==null||e.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(e=>console.error(`Cannot load folders: ${e}`)),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(e=>e&&clearTimeout(e)),this._tempTimeout={}}browseFoldersCb(e,t,i){if(!(e!=null&&e.length))i(t);else{const r=e.shift();r?this.browseFolder(r,t).catch(o=>console.error(`Cannot read folder ${r}: ${o.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(e,t,i),0)}):setTimeout(()=>this.browseFoldersCb(e,t,i),0)}}browseFolders(e,t){let i;return t?i=t:(i={},Object.keys(this.state.folders).forEach(r=>i[r]=this.state.folders[r])),e!=null&&e.length?new Promise(r=>{this.browseFoldersCb(e,i,r)}):Promise.resolve(i)}readDirSerial(e,t){return new Promise((i,r)=>{this.browseList&&(this.browseList.push({resolve:i,reject:r,adapter:e,relPath:t}),this.browseListRunning||this.processBrowseList())})}processBrowseList(e=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(t=>{if(this.browseList){const i=this.browseList.shift();if(i){const r=i.resolve;i.resolve=null,i.reject=null,i.adapter=null,i.relPath=null,r&&r(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(t=>{if(this.browseList){const i=this.browseList.shift();if(i){const r=i.reject;i.resolve=null,i.reject=null,i.adapter=null,i.relPath=null,r&&r(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(e,t,i,r){let o;if(t?o=t:(o={},Object.keys(this.state.folders).forEach(u=>{o[u]=this.state.folders[u]})),o[e]&&!r)return i?Promise.resolve(o):new Promise((u,L)=>{Promise.all(o[e].filter(g=>g.folder).map(g=>this.browseFolder(g.id,o,!0).catch(()=>{}))).then(()=>u(o)).catch(g=>L(new Error(g)))});if(!e||e==="/"){try{let u=await this.props.socket.readMetaItems();const L=[];let g=null;if(this.state.restrictToFolder){const T=this.state.restrictToFolder.split("/")[0];u=u.filter(d=>d._id===T)}else this.state.expertMode||(u=u.filter(T=>!T._id.endsWith(".admin")));const y=u.findIndex(T=>T._id==="system.meta.uuid");if(y!==-1&&u.splice(y,1),u.forEach(T=>{if(this.limitToObjectID&&this.limitToObjectID!==T._id)return;const d={id:T._id,name:T._id,title:T.common&&T.common.name||T._id,meta:!0,from:T.from,ts:T.ts,color:T.common&&T.common.color,icon:T.common&&T.common.icon,folder:!0,acl:T.acl,level:0};d.id===mt?g=d:L.push(d)}),L.sort((T,d)=>T.id>d.id?1:T.idT.folder).map(T=>this.browseFolder(T.id,o,!0).catch(()=>{}))).then(()=>o)}catch(u){const L=u;this.initialReadFinished&&window.alert(`Cannot read meta items: ${L.message}`),o[e||"/"]=[]}return o}const n=e.split("/"),a=n.length,c=n.shift(),l=n.join("/");let N;try{N=await this.readDirSerial(c||"",l)}catch(u){if(u==="Not exists"&&c==="0_userdata.0")N=[];else throw u}try{const u=[];if(N.forEach(L=>{var y;const g={id:`${e}/${L.file}`,ext:O.getFileExtension(L.file),folder:L.isDir,name:L.file,size:(y=L.stats)==null?void 0:y.size,modified:L.modifiedAt,acl:L.acl,level:a};this.state.restrictToFolder?(g.folder&&(g.id.startsWith(`${this.state.restrictToFolder}/`)||g.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${g.id}/`))||g.id.startsWith(`${this.state.restrictToFolder}/`))&&u.push(g):this.limitToPath?(g.folder&&(g.id.startsWith(`${this.limitToPath}/`)||g.id===this.limitToPath||this.limitToPath.startsWith(`${g.id}/`))||g.id.startsWith(`${this.limitToPath}/`))&&u.push(g):u.push(g)}),u.sort(ml),o[e]=u,!i)return Promise.all(u.filter(L=>L.folder).map(L=>this.browseFolder(L.id,o,!0))).then(()=>o)}catch(u){const L=u;this.initialReadFinished&&window.alert(`Cannot read ${c}${l?`/${l}`:""}: ${L==null?void 0:L.message}`),o[e]=[]}return o}toggleFolder(e,t){t==null||t.stopPropagation();const i=[...this.state.expanded],r=i.indexOf(e.id);r===-1?(i.push(e.id),i.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(i)),e.temp?this.setState({expanded:i}):this.browseFolder(e.id).then(o=>this.setState({expanded:i,folders:o})).catch(o=>window.alert(o===Al?this.props.t('ra_Cannot find "%s"',e.id):this.props.t('ra_Cannot read "%s"',e.id)))):(i.splice(r,1),this.localStorage.setItem("files.expanded",JSON.stringify(i)),this.setState({expanded:i}))}onFileChange=(e,t,i)=>{const r=`${e}/${t}`,o=r.lastIndexOf("/"),n=r.substring(0,o);console.log(`File changed ${r}[${i}]`),this.state.folders[n]&&(this._tempTimeout[n]&&clearTimeout(this._tempTimeout[n]),this._tempTimeout[n]=setTimeout(()=>{delete this._tempTimeout[n],this.browseFolder(n,null,!1,!0).then(a=>this.setState({folders:a})).catch(a=>console.error(`Cannot read folder: ${a.message}`))},300))};changeFolder(e,t){var r;e==null||e.stopPropagation(),this.lastSelect=Date.now();let i=t||ys(this.state.currentDir);if(i==="/"&&(i=""),this.state.viewType==="Tile"&&((r=this.refFileDiv.current)!=null&&r.scrollTop)&&(this.scrollPositions[this.state.currentDir]=this.refFileDiv.current.scrollTop),this.localStorage.setItem("files.currentDir",i),t&&e&&(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)){this.setState({selected:i});return}if(i&&!this.state.folders[i]){this.browseFolder(i).then(o=>this.setState({folders:o,path:i,currentDir:i,selected:i,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(o=>console.error(`Cannot read folder: ${o.message}`));return}this.setState({currentDir:i,selected:i,path:i,pathFocus:!1},()=>{if(this.props.onSelect&&this.props.onSelect(""),this.state.viewType==="Tile"&&this.scrollPositions[this.state.currentDir]){const o=this.scrollPositions[this.state.currentDir];delete this.scrollPositions[this.state.currentDir],this.refFileDiv.current&&(this.refFileDiv.current.scrollTop=o)}})}select(e,t,i){t&&t.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",e),this.setState({selected:e,path:e,pathFocus:!1},()=>{if(this.props.onSelect){const r=O.getFileExtension(e);(!this.props.filterFiles||r&&this.props.filterFiles.includes(r))&&(!this.state.filterByType||r&&we[this.state.filterByType].includes(r))?this.props.onSelect(e,!1,!!this.state.folders[e]):this.props.onSelect("")}i&&i()})}getText(e){if(e)return typeof e=="object"?e[this.props.lang]||e.en||void 0:e}renderFolder(e,t){var c;if(this.state.filterEmpty&&!((c=this.state.folders[e.id])!=null&&c.length)&&e.id!==mt&&!e.temp)return null;const i=t?fr:Ws,r=this.state.viewType===te?e.level*this.levelPadding:0,o=e.name===mt,n=o||e.name==="vis.0"||e.name==="vis-2.0",a=O.getStyle(this.props.theme,Y[`itemFolderIcon${this.state.viewType}`],n&&Y.specialFolder);return M.createElement(j.Box,{component:"div",key:e.id,id:e.id,style:this.state.viewType===te?{marginLeft:r,width:`calc(100% - ${r}px`}:void 0,onClick:l=>this.state.viewType===te?this.select(e.id,l):this.changeFolder(l,e.id),onDoubleClick:l=>this.state.viewType===te&&this.toggleFolder(e,l),title:this.getText(e.title),className:"browserItem",sx:O.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFolder${this.state.viewType}`],this.state.selected===e.id?Y.itemSelected:{},e.temp?Y.itemFolderTemp:{})},M.createElement(i,{style:a,onClick:this.state.viewType===te?l=>this.toggleFolder(e,l):void 0}),M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,Y[`itemName${this.state.viewType}`],Y[`itemNameFolder${this.state.viewType}`])},o?this.props.t("ra_User files"):e.name),M.createElement(j.Box,{component:"div",style:Y[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===te&&this.state.folders[e.id]?this.state.folders[e.id].length:""),M.createElement(j.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===te&&this.props.expertMode?this.formatAcl(e.acl):null),this.state.viewType===te&&this.props.expertMode?M.createElement(j.Box,{component:"div",sx:{...Y.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===te&&this.props.allowDownload?M.createElement("div",{style:Y[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===te&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?M.createElement(j.IconButton,{"aria-label":"delete",onClick:l=>{l.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:Y[`itemDeleteButton${this.state.viewType}`],size:"large"},M.createElement(nt,{fontSize:"small"})):this.state.viewType===te&&this.props.allowDelete?M.createElement(j.Box,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return M.createElement(j.Box,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:e=>this.changeFolder(e),title:this.props.t("ra_Back to %s",ys(this.state.currentDir)),className:"browserItem",sx:O.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFolder${this.state.viewType}`])},M.createElement(Ws,{style:O.getStyle(this.props.theme,Y[`itemFolderIcon${this.state.viewType}`])}),M.createElement(JL,{sx:Y.itemFolderIconBack}),M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,Y[`itemName${this.state.viewType}`],Y[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(e){return M.createElement("div",{style:Y[`itemSize${this.state.viewType}`]},e||e===0?O.formatBytes(e):"")}formatAcl(e){const t=e?e.permissions||e.file:0;let i;return t?i=t.toString(16).padStart(3,"0"):i="",M.createElement("div",{style:Y[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?M.createElement(j.IconButton,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:Y[`itemAclButton${this.state.viewType}`]},i||"---"):i||"---")}getFileIcon(e){switch(e){case"json":case"json5":return M.createElement(HL,{style:Y[`itemIcon${this.state.viewType}`]});case"css":return M.createElement(VL,{style:Y[`itemIcon${this.state.viewType}`]});case"js":case"ts":return M.createElement(ua,{style:Y[`itemIcon${this.state.viewType}`]});case"html":case"md":return M.createElement(Kr,{style:Y[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return M.createElement(hg,{style:Y[`itemIcon${this.state.viewType}`]});default:return M.createElement(jN,{style:Y[`itemIcon${this.state.viewType}`]})}}static getEditFile(e){switch(e){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":return!0;default:return!1}}setStateBackgroundImage=()=>{const e=["light","dark","colored","delete"];this.setState(({backgroundImage:t})=>t&&e.indexOf(t)!==-1&&e.length-1!==e.indexOf(t)?(this.localStorage.setItem("files.backgroundImage",e[e.indexOf(t)+1]),{backgroundImage:e[e.indexOf(t)+1]}):(this.localStorage.setItem("files.backgroundImage",e[0]),{backgroundImage:e[0]}))};getStyleBackgroundImage=()=>{switch(this.state.backgroundImage){case"light":return Y.backgroundImageLight;case"dark":return Y.backgroundImageDark;case"colored":return Y.backgroundImageColored;case"delete":return null;default:return null}};renderFile(e){const t=this.state.viewType===te?e.level*this.levelPadding:0,i=O.getFileExtension(e.name);return M.createElement(j.Box,{component:"div",key:e.id,id:e.id,onDoubleClick:r=>{r.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&we[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:i})},onClick:r=>this.select(e.id,r),style:this.state.viewType===te?{marginLeft:t,width:`calc(100% - ${t}px)`}:void 0,className:"browserItem",sx:O.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFile${this.state.viewType}`],this.state.selected===e.id?Y.itemSelected:void 0)},i&&we.images.includes(i)?this.state.fileErrors.includes(e.id)?M.createElement(dM,{style:{...Y[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...Y[`itemNoImage${this.state.viewType}`]}}):M.createElement(me,{onError:r=>{r.target.onerror=null;const o=[...this.state.fileErrors];o.includes(e.id)||(o.push(e.id),this.setState({fileErrors:o}))},style:{...Y[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+e.id,alt:e.name}):this.getFileIcon(i),M.createElement(j.Box,{component:"div",sx:Y[`itemName${this.state.viewType}`]},e.name),M.createElement(j.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(e.size)),M.createElement(j.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===te&&this.props.expertMode?this.formatAcl(e.acl):null),M.createElement(j.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===te&&this.props.expertMode&&DM.getEditFile(i)?M.createElement(j.IconButton,{"aria-label":"edit",onClick:r=>{r.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&we[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:i})},sx:Y.itemDeleteButtonTable,size:"large"},M.createElement(mi,{fontSize:"small"})):M.createElement(j.Box,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===te&&this.props.allowDownload?M.createElement(j.Box,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:Y.itemDownloadButtonTable,tabIndex:0,download:e.id,href:this.imagePrefix+e.id,onClick:r=>r.stopPropagation()},M.createElement(Cg,null)):null,this.state.viewType===te&&this.props.allowDelete&&e.id!=="vis.0/"&&e.id!=="vis-2.0/"&&e.id!==mt?M.createElement(j.IconButton,{"aria-label":"delete",onClick:r=>{r.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:Y[`itemDeleteButton${this.state.viewType}`],size:"large"},M.createElement(nt,{fontSize:"small"})):this.state.viewType===te&&this.props.allowDelete?M.createElement(j.Box,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(e){var t;if((t=this.state.folders)!=null&&t[e]){if(this.state.viewType===Zo){const r=[];return e&&e!=="/"&&r.push(this.renderBackFolder()),this.state.folders[e].forEach(o=>{o.folder?r.push(this.renderFolder(o)):(!this.props.filterFiles||o.ext&&this.props.filterFiles.includes(o.ext))&&(!this.state.filterByType||o.ext&&we[this.state.filterByType].includes(o.ext))&&r.push(this.renderFile(o))}),r}const i=[];return this.state.folders[e].forEach(r=>{if(r.folder){const o=this.state.expanded.includes(r.id),n=this.renderFolder(r,o);if(Array.isArray(n)?n.forEach(a=>i.push(a)):i.push(n),this.state.folders[r.id]&&o){const a=this.renderItems(r.id);Array.isArray(a)?a.forEach(c=>i.push(c)):i.push(a)}}else(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&we[this.state.filterByType].includes(r.ext))&&i.push(this.renderFile(r))}),i}return M.createElement("div",{style:{position:"relative"}},M.createElement(j.CircularProgress,{key:e,color:"secondary",size:24}),M.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){const e=this.props.showTypeSelector?dr[this.state.filterByType||"all"]||dr.all:null,t=this.findFirstFolder(this.state.selected);return M.createElement(j.Toolbar,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?M.createElement(j.IconButton,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...Y.menuButton,...this.state.restrictToFolder?Y.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},M.createElement(Ng,{fontSize:"small"})):null,this.props.showExpertButton?M.createElement(j.IconButton,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...Y.menuButton,...this.state.expertMode?Y.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},M.createElement($n,null)):null,this.props.showViewTypeButton?M.createElement(j.IconButton,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:Y.menuButton,"aria-label":"view mode",onClick:()=>{const i=this.state.viewType===te?Zo:te;this.localStorage.setItem("files.viewType",i);let r=this.state.selected;Vo(r)&&(r=ys(r)),this.setState({viewType:i,currentDir:r},()=>{this.state.viewType===te&&this.scrollToSelected()})},size:"small"},this.state.viewType!==te?M.createElement(Tg,{fontSize:"small"}):M.createElement(_g,{fontSize:"small"})):null,M.createElement(j.IconButton,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:Y.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"},M.createElement(lg,{fontSize:"small"})),M.createElement(j.IconButton,{edge:"start",title:this.props.t("ra_Reload files"),style:Y.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},M.createElement(TN,{fontSize:"small"})),this.props.allowCreateFolder?M.createElement(j.IconButton,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:Y.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},M.createElement(gN,{fontSize:"small"})):null,this.props.allowUpload?M.createElement(j.IconButton,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:Y.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},M.createElement(Sr,{fontSize:"small"})):null,this.props.showTypeSelector&&e?M.createElement(j.Tooltip,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:Y.tooltip}}},M.createElement(j.IconButton,{size:"small",onClick:i=>this.setState({showTypesMenu:i.target})},M.createElement(e,{fontSize:"small"}))):null,this.state.showTypesMenu?M.createElement(j.Menu,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(dr).map(i=>{const r=dr[i];return M.createElement(j.MenuItem,{key:i,selected:this.state.filterByType===i,onClick:()=>{i==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",i),this.setState({filterByType:i,showTypesMenu:null}))}},M.createElement(j.ListItemIcon,null,M.createElement(r,{fontSize:"small"})),M.createElement(j.ListItemText,null,this.props.t(`ra_fileType_${i}`)))})):null,M.createElement(j.Tooltip,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:Y.tooltip}}},M.createElement(j.IconButton,{color:"inherit",edge:"start",style:Y.menuButton,onClick:this.setStateBackgroundImage,size:"small"},M.createElement(ca,{fontSize:"small"}))),this.state.viewType!==te&&this.props.allowDelete?M.createElement(j.Tooltip,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:Y.tooltip}}},M.createElement("span",null,M.createElement(j.IconButton,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===mt,color:"inherit",edge:"start",style:Y.menuButton,onClick:i=>{i.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},M.createElement(nt,{fontSize:"small"})))):null)}findItem(e,t){if(t=t||this.state.folders,!t)return null;const i=e.split("/");i.pop();const r=i.join("/")||"/";return t[r]&&t[r].find(o=>o.id===e)||null}renderInputDialog(){if(this.state.addFolder){const e=this.findFirstFolder(this.state.selected);return e?M.createElement(FEe,{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:t=>this.state.folders[e].find(i=>i.name===t)?"":this.props.t("ra_Duplicate name"),onClose:t=>{if(t){const i={};Object.keys(this.state.folders).forEach(a=>i[a]=this.state.folders[a]);const r=this.findItem(e),o=`${e}/${t}`;i[e].push({id:o,level:((r==null?void 0:r.level)||0)+1,name:t,folder:!0,temp:!0}),i[e].sort(ml),i[o]=[];const n=[...this.state.expanded];n.includes(e)||(n.push(e),n.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(n)),this.setState({addFolder:!1,folders:i,expanded:n},()=>this.select(o))}else this.setState({addFolder:!1})},replace:t=>t.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;const e=window.document.getElementsByClassName("browserItem");for(let t=0;tthis.setState({uploadFile:!1})},M.createElement(Ne,null)),M.createElement(NN,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:e=>{let t=e.length;e.forEach(i=>{const r=new FileReader;r.onabort=()=>console.log("file reading was aborted"),r.onerror=()=>console.log("file reading has failed"),r.onload=()=>{const o=this.findFirstFolder(this.state.selected);if(!o)window.alert(this.props.t("ra_Invalid parent folder!"));else{const n=`${o}/${i.name}`;this.uploadFile(n,r.result).then(()=>{--t||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){const a=[...this.state.expanded];a.includes(o)||(a.push(o),a.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(a))),this.setState({expanded:a},()=>this.select(n))}else setTimeout(()=>this.browseFolder(o,null,!1,!0).then(a=>{const c=[...this.state.expanded];c.includes(o)||(c.push(o),c.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(c))),this.setState({folders:a,expanded:c},()=>this.select(n))}),500)})})}},r.readAsArrayBuffer(i)})}},({getRootProps:e,getInputProps:t})=>M.createElement("div",{style:{...Y.uploadDiv,...this.state.uploadFile==="dragging"?Y.uploadDivDragging:void 0},...e()},M.createElement("input",{...t()}),M.createElement(j.Box,{component:"div",sx:Y.uploadCenterDiv},M.createElement("div",{style:Y.uploadCenterTextAndIcon},M.createElement(Sr,{style:Y.uploadCenterIcon}),M.createElement("div",{style:Y.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(e){const t=this.findItem(e);if(t!=null&&t.folder)return(this.state.folders[e]?Promise.all(this.state.folders[e].map(o=>this.deleteRecursive(o.id))):Promise.resolve()).then(()=>{if(t.level>=1){const o=e.split("/"),n=o.shift();this.props.socket.deleteFolder(n||"",o.join("/")).then(()=>{const a=JSON.parse(JSON.stringify(this.state.folders));delete a[t.id];const c=ys(t.id),l=a[c];if(l){const N=l.findIndex(u=>u.id===t.id);N!==-1&&l.splice(N,1),this.select(c,null,()=>this.setState({folders:a}))}})}});const i=e.split("/"),r=i.shift();return i.length?this.props.socket.deleteFile(r||"",i.join("/")).catch(o=>window.alert(`Cannot delete file: ${o}`)):Promise.resolve()}deleteItem(e){e=e||this.state.deleteItem,this.state.suppressDeleteConfirm&&(this.suppressDeleteConfirm=Date.now()+6e4*5),this.setState({deleteItem:"",suppressDeleteConfirm:!1},()=>this.deleteRecursive(e).then(()=>{const t={},i=this.state.expanded.indexOf(e);if(i!==-1){const r=[...this.state.expanded];r.splice(i,1),this.localStorage.setItem("files.expanded",JSON.stringify(r)),t.expanded=r}if(this.state.selected===e){const r=this.state.selected.split("/");r.pop(),t.selected=r.join("/")}if(this.supportSubscribes)this.setState(t);else{const r=this.findFirstFolder(e),o={};Object.keys(this.state.folders).forEach(n=>{n!==r&&!n.startsWith(`${r}/`)&&(o[n]=this.state.folders[n])}),t.folders=o,this.setState(t,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],o).then(n=>this.setState({folders:n})).catch(n=>console.error(n))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?M.createElement(j.Dialog,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},M.createElement(j.DialogTitle,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,null,this.props.t("ra_Are you sure?")),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{checked:this.state.suppressDeleteConfirm,onChange:()=>{this.setState({suppressDeleteConfirm:!this.state.suppressDeleteConfirm})}}),label:this.props.t("ra_no confirm for 5 mins")})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),M.createElement(j.Button,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const e=this.props.FileViewer||yfe;return this.state.viewer?M.createElement(e,{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?M.createElement(r0,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(e){this.cacheFolders||=JSON.parse(JSON.stringify(this.state.folders));let t;e.forEach(i=>{const r=this.findItem(i.id,this.cacheFolders);r&&JSON.stringify(r.acl)!==JSON.stringify(i.acl)&&(r.acl=i.acl,t=!0)}),t&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;const i=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:i})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let e=this.state.path;Vo(this.state.path)&&(e=ys(this.state.path)),new Promise(t=>{this.state.folders[e]?t(!0):this.browseFolder(e).then(i=>this.setState({folders:i},()=>t(!0))).catch(i=>this.setState({errorText:i===Al?this.props.t('ra_Cannot find "%s"',e):this.props.t('ra_Cannot read "%s"',e)}))}).then(t=>t&&this.setState({selected:this.state.path,currentDir:e,pathFocus:!1})).catch(t=>console.error(t))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){const e=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),t=[];return M.createElement(j.Breadcrumbs,{style:{paddingLeft:8,color:"#FFF"}},e.map((i,r)=>{i&&t.push(i);const o=t.join("/");return rthis.changeFolder(n,o||"/")},i||this.props.t("ra_Root")):M.createElement("div",{style:Y.pathDivBreadcrumbSelected,key:`${this.state.selected}_${r}`,onClick:()=>this.setState({pathFocus:!0})},i)}))}renderPath(){return M.createElement(j.Box,{component:"div",key:"path",sx:Y.pathDiv},this.state.pathFocus?M.createElement(j.Input,{value:this.state.path,onKeyDown:e=>{e.key==="Enter"?this.changeToPath():e.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:M.createElement(j.IconButton,{size:"small",onClick:()=>this.changeToPath()},M.createElement(yg,null)),onBlur:()=>this.changeToPath(),onChange:e=>this.setState({path:e.target.value}),style:Y.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(e=>console.error(`Cannot load folders: ${e}`))})},300)),M.createElement("div",{style:{...Y.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===Zo?this.renderPath():null,M.createElement("div",{style:{...Y.filesDiv,...Y[`filesDiv${this.state.viewType}`]},onClick:e=>{this.state.viewType!==te&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(e,this.state.currentDir||"/"):e.stopPropagation())},id:"dev",ref:this.refFileDiv},this.state.viewType===te?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==te?M.createElement("div",{style:Y.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())):M.createElement(j.LinearProgress,null)}}const Tfe=Io()(DM),dfe="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIC0xMjAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDcyIDBoLTQ2NGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxOTJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGgzMnYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQwYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDI4OHYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQwYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDMyYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTE5MmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tMzkyIDIyNGgtMjR2LTE2aDI0em0zNDQgMGgtMjR2LTE2aDI0em00MC0zMmgtNDQ4di0xNzZoNDQ4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjU2IDE3NmMzNS4zNDc2NTYgMCA2NC0yOC42NTIzNDQgNjQtNjRzLTI4LjY1MjM0NC02NC02NC02NC02NCAyOC42NTIzNDQtNjQgNjRjLjAzOTA2MiAzNS4zMjgxMjUgMjguNjcxODc1IDYzLjk2MDkzOCA2NCA2NHptLTgtMTExLjI4MTI1djE1LjI4MTI1aDE2di0xNS4yODEyNWMyNC42MDU0NjkgNC4xNjAxNTYgNDEuOTE3OTY5IDI2LjQ3NjU2MiAzOS44MzIwMzEgNTEuMzQzNzUtMi4wODU5MzcgMjQuODY3MTg4LTIyLjg3ODkwNiA0My45ODQzNzUtNDcuODMyMDMxIDQzLjk4NDM3NXMtNDUuNzQ2MDk0LTE5LjExNzE4Ny00Ny44MzIwMzEtNDMuOTg0Mzc1Yy0yLjA4NTkzOC0yNC44NjcxODggMTUuMjI2NTYyLTQ3LjE4MzU5NCAzOS44MzIwMzEtNTEuMzQzNzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjAgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYwIDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNjQgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNjQgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzY4IDE3NmMxNi4wOTM3NS4wMTk1MzEgMjkuNjg3NS0xMS45Mzc1IDMxLjcxODc1LTI3LjkwNjI1IDIuMDM1MTU2LTE1Ljk2NDg0NC04LjEzMjgxMi0zMC45NDUzMTItMjMuNzE4NzUtMzQuOTU3MDMxdi0xNy4xMzY3MTloLTE2djE3LjEzNjcxOWMtMTUuNTg1OTM4IDQuMDExNzE5LTI1Ljc1MzkwNiAxOC45OTIxODctMjMuNzE4NzUgMzQuOTU3MDMxIDIuMDMxMjUgMTUuOTY4NzUgMTUuNjI1IDI3LjkyNTc4MSAzMS43MTg3NSAyNy45MDYyNXptMC00OGM4LjgzNTkzOCAwIDE2IDcuMTY0MDYyIDE2IDE2cy03LjE2NDA2MiAxNi0xNiAxNi0xNi03LjE2NDA2Mi0xNi0xNiA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im02NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDggMTEyaDMyYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTMyYy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDh6bTgtNjRoMTZ2MTZoLTE2em0wIDMyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMiAxMzZjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MzIgMTY4YzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Dfe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTUwNy41NDYgMTA1LjEyNWMwLTEuMDQ0LS4yMDUtMi4wOTEtLjY0Ny0zLjA3MmwtNDMuOTMtOTcuNjNjLTEuMjEtMi42OTItMy44ODgtNC40MjMtNi44MzktNC40MjNoLTE4Mi42M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgyMy44MTJ2ODIuNjNoLTgyLjYyNXYtODIuNjNoMjMuODEzYzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xODIuNjNjLTIuOTUxIDAtNS42MjkgMS43MzEtNi44NCA0LjQyM2wtNDMuOTMgOTcuNjNjLS40NDEuOTgxLS42NDYgMi4wMjgtLjY0NyAzLjA3MmgtLjAxNXYxMi4yMDNjMCAyOS41MTQgMjIuODI3IDUzLjc4IDUxLjc1MSA1Ni4xMTJsMzEuODY1IDU4LjQxOWgtNC4wMDdjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTYuNjMzYy4wMDUgMCAuMDEuMDAxLjAxNS4wMDFzLjAxMS0uMDAxLjAxNi0uMDAxaDE2LjYxOGM0LjE0MyAwIDcuNS0zLjM1NyA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTIuMTg5bC0zMi40NTYtNTkuNTAzYzE1Ljc1LTMuNDEzIDI5LjA1Ny0xMy40MzMgMzYuODc5LTI3LjAwMyA5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM3LjgyMiAxMy41NzEgMjEuMTI5IDIzLjU5MSAzNi44NzkgMjcuMDAzbC0zMi40NTYgNTkuNTAzaC0xMi4xODhjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTYuNjE4Yy4wMDUgMCAuMDExLjAwMS4wMTYuMDAxcy4wMS0uMDAxLjAxNS0uMDAxaDE2LjYzM2M0LjE0MyAwIDcuNS0zLjM1NyA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNC4wMDdsMzEuODY1LTU4LjQxOWMyOC45MjQtMi4zMzIgNTEuNzUxLTI2LjU5OCA1MS43NTEtNTYuMTEydi0xMi4yMDN6bS0xOS4wODUtNy40OTVoLTc4LjUyM3YtODIuNjNoNDEuMzQzem0tOTMuNTIzLTgyLjYzdjgyLjYzaC04Mi42MjV2LTgyLjYzem0tMTk1LjI1IDgyLjYzaC04Mi42MjV2LTgyLjYzaDgyLjYyNXptLTEzOC45NjgtODIuNjNoNDEuMzQzdjgyLjYzaC03OC41MjR6bS4wMzQgMTQzLjY0MWMtLjAxMSAwLS4wMjEtLjAwMS0uMDMyLS4wMDEtMjIuNzY3LS4wMTUtNDEuMjg1LTE4LjU0Mi00MS4yODUtNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjMCAyMi43NzgtMTguNTMxIDQxLjMxLTQxLjMwOCA0MS4zMTN6bTk3LjYyMSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjYyNSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMtLjAwMSAyMi43NzgtMTguNTM0IDQxLjMxMi00MS4zMTMgNDEuMzEyem05Ny42MjUgMGMtMjIuNzc5IDAtNDEuMzEyLTE4LjUzMy00MS4zMTItNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjMCAyMi43NzgtMTguNTM0IDQxLjMxMi00MS4zMTMgNDEuMzEyem05Ny42NDgtLjAwMWMtLjAwNSAwLS4wMDkgMC0uMDE0IDAtLjAwMyAwLS4wMDYgMC0uMDA5IDAtMjIuNzc5IDAtNDEuMzEyLTE4LjUzMy00MS4zMTItNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjLS4wMDEgMjIuNzcyLTE4LjUyMSA0MS4zLTQxLjI5IDQxLjMxMnoiLz4KICAgIDwvZz4KPC9zdmc+",hfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOC41MzYgNTA4LjUzNiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ5OC41MzYgMzQ0LjMyMWgtMTcuMjk4Yy40MzQtMTcuNjcyLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjI5OGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OTdjMCAyNC42MDEgMTUuNzEyIDQ1LjU5NiAzNy42MjUgNTMuNDk0bC0xMS42MDEgMTEuNjAxYy0xMS4wODYgMTEuMDg2LTI1LjgyNiAxNy4xOTEtNDEuNTAzIDE3LjE5MS0zMi4zNjQgMC01OC42OTMtMjYuMzMtNTguNjkzLTU4LjY5M3YtNjYuNjRjMzYuMDg4IDEuMjY2IDU3Ljg0Ni0yMi4zOSA4MS4xNDktNDUuNjk0IDI4LjUxNy0zLjAyNCA1MC44MDktMjcuMjE2IDUwLjgwOS01Ni41MjJ2LTI1LjY5OGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC0xNy4yOThjLjQzNC0xNy42NzEtMTAuMjY3LTM0LjIxMi0yOS41NDctMzQuMjEycy0yOS45ODIgMTYuNTQtMjkuNTQ3IDM0LjIxMmgtMTcuM2MtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OThjMCAyNC42MDEgMTUuNzExIDQ1LjU5NiAzNy42MjUgNTMuNDk0bC0xMS42MDEgMTEuNjAxYy0xMS4wODYgMTEuMDg2LTI1LjgyNiAxNy4xOTEtNDEuNTAzIDE3LjE5MS0zMi4zNjQgMC01OC42OTMtMjYuMzMtNTguNjkzLTU4LjY5NCAwLTI1Ljg5NSAwLTUxLjc5MSAwLTc3LjY4NmgyMi43MTZjMTIuMjg1IDAgMTguNzI2IDE1LjUzIDEwLjAzMyAyNC4yMjEtOS4xMjIgOS4xMjEgNS4wMiAyMy4yNjQgMTQuMTQyIDE0LjE0MyA2LjQ1OC02LjQ1NyAxMC4wMTQtMTUuMDQyIDEwLjAxNC0yNC4xNzUgMC0xOC44NTItMTUuMzM3LTM0LjE4OC0zNC4xODktMzQuMTg4aC0yMi43MTZ2LTE4LjgyNGMyNi4yNTctNS4wNDMgNDYuMTYxLTI4LjE3NSA0Ni4xNjEtNTUuODgxdi0yMC44NTFjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMzYuOTE0di0yNC4yMzZoMzYuOTE0YzEyLjg0IDAgMTIuODU5LTIwIDAtMjBoLTkzLjgyOGMtMTIuODQgMC0xMi44NTkgMjAgMCAyMGgzNi45MTR2MjQuMjM1aC0zNi45MTRjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjAuODUxYzAgMjguMjMzIDIwLjY2OSA1MS43MTkgNDcuNjY3IDU2LjE1MXYxOC41NTVoLTIyLjcxNmMtMTguODUyIDAtMzQuMTg5IDE1LjMzNy0zNC4xODkgMzQuMTg4IDAgOS4xMzIgMy41NTYgMTcuNzE3IDEwLjAxNCAyNC4xNzUgOS4xMjEgOS4xMjEgMjMuMjYzLTUuMDIxIDE0LjE0My0xNC4xNDMtOC42ODUtOC42ODQtMi4yNjQtMjQuMjIxIDEwLjAzMy0yNC4yMjFoMjIuNzE2djc3LjY4NmMwIDMyLjM2NC0yNi4zMyA1OC42OTQtNTguNjk0IDU4LjY5NC0xNS42NzcgMC0zMC40MTctNi4xMDUtNDEuNTAyLTE3LjE5MWwtMTEuMjE4LTExLjIxOGMyMi41LTcuNTc1IDM4Ljc1Ni0yOC44NTYgMzguNzU2LTUzLjg3N3YtMjUuNjk4YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5OGMuNDM0LTE3LjY3MS0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4zYy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5OGMwIDI4LjcwNyAyMS4zOTQgNTIuNDk4IDQ5LjA3MyA1Ni4zbDIyLjkzNyAyMi45MzdjMTUuMTY0IDE1LjE2MyAzNi4wMSAyMy40ODYgNTcuNDMzIDIzLjAwM3Y2Ni42MTRjMCAzMi4zNjQtMjYuMzMgNTguNjkzLTU4LjY5MyA1OC42OTMtMTUuNjc3IDAtMzAuNDE3LTYuMTA1LTQxLjUwMi0xNy4xOTFsLTExLjYwMi0xMS42MDJjMjEuOTE0LTcuODk4IDM3LjYyNS0yOC44OTIgMzcuNjI1LTUzLjQ5NHYtMjUuNjk3YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5N2MuNDM0LTE3LjY3Mi0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4yOTljLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjUuNjk3YzAgMjkuMzA1IDIyLjI5MiA1My40OTcgNTAuODA4IDU2LjUyMWwyMi43MTcgMjIuNzE2YzE0Ljg2MyAxNC44NjMgMzQuNjI1IDIzLjA0OCA1NS42NDUgMjMuMDQ4IDQzLjM5MiAwIDc4LjY5My0zNS4zMDIgNzguNjkzLTc4LjY5M3YtNjkuNjU3YzE0LjQyNi00LjE2NCAyNy4xNjEtMTIuMzQyIDM2LjkwNS0yMy4yNTd2MjAuNTIyYzAgMTIuODQgMjAgMTIuODU5IDIwIDB2LTIwLjUyMmM5LjUyIDEwLjY2MyAyMS44ODkgMTguNzIzIDM1LjkwNSAyMi45NzJ2NjkuOTQ2YzAgNDMuMzkyIDM1LjMwMiA3OC42OTMgNzguNjkzIDc4LjY5MyAyMS4wMiAwIDQwLjc4MS04LjE4NiA1NS42NDUtMjMuMDQ4bDIyLjcxNi0yMi43MTZjMjguNTE2LTMuMDI1IDUwLjgwOC0yNy4yMTYgNTAuODA4LTU2LjUyMXYtMjUuNjk3Yy4wMDEtNS41MjQtNC40NzYtMTAuMDAxLTkuOTk5LTEwLjAwMXptLTExMi4yOTgtMTQ5LjkyN2MwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY0aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk4YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTh6bS0zMjYuOTE0LTI0LjY2NGMwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY0aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk4YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTh6bS0xMDQuODEyIDEyMC41OTljMC0xMi4zMTMgMTkuMDk1LTEyLjMxMyAxOS4wOTUgMHY0LjY2NWgtMTkuMDk1em00Ni4zOTIgMjQuNjY0djE1LjY5N2MwIDIwLjMxNi0xNi41MjkgMzYuODQ1LTM2Ljg0NSAzNi44NDVzLTM2Ljg0NS0xNi41MjgtMzYuODQ1LTM2Ljg0NXYtMTUuNjk3em0xMjMuNDExLTI3OC4zNjR2LTEwLjg1MWg3My44Mjh2MTAuODUxYzAgNDcuNTk2LTczLjgyOCA0Ny41OTYtNzMuODI4IDB6bTIyNS4wNDIgMjUzLjdjMC0xMi4zMTMgMTkuMDk1LTEyLjMxMyAxOS4wOTUgMHY0LjY2NWgtMTkuMDk1em00Ni4zOTMgMjQuNjY0djE1LjY5N2MwIDIwLjMxNi0xNi41MjkgMzYuODQ1LTM2Ljg0NSAzNi44NDVzLTM2Ljg0NS0xNi41MjktMzYuODQ1LTM2Ljg0NXYtMTUuNjk3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yODEuMjA2IDQ0MS44NDctMTYuNDM4LTkuNDl2LTIxLjY0NWMwLTEyLjg0LTIwLTEyLjg1OS0yMCAwdjIxLjYxOWwtMTYuNDgzIDkuNTE2Yy0zLjA5NCAxLjc4Ni01IDUuMDg3LTUgOC42NnYyNC43OGMwIDMuNTczIDEuOTA2IDYuODc0IDUgOC42NmwyMS40NiAxMi4zOWMzLjA2NyAxLjc3MSA2LjkzMyAxLjc3MSAxMCAwbDIxLjQ2LTEyLjM5YzMuMDk0LTEuNzg2IDUtNS4wODcgNS04LjY2di0yNC43OGMuMDAxLTMuNTczLTEuOTA1LTYuODc0LTQuOTk5LTguNjZ6bS0xNSAyNy42NjctMTEuNDYgNi42MTctMTEuNDYtNi42MTd2LTEzLjIzM2wxMS40Ni02LjYxNyAxMS40NiA2LjYxN3oiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ1LjUzNSAzNzQuMTgzYzEuNjM1IDMuOTI0IDUuNzE2IDYuNDY2IDkuOTY4IDYuMTM4IDQuMTY5LS4zMjIgNy43NzgtMy4yNzIgOC44OTctNy4zMDMgMi4zNjQtOC41MTMtNy4xOTEtMTUuNzU5LTE0Ljc3My0xMS4yMzUtNC4yMTQgMi41MTQtNS45NDUgNy44OC00LjA5MiAxMi40eiIvPgogICAgPC9nPgo8L3N2Zz4=",zfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtOSAxN2M0LjQxMSAwIDgtMy41ODkgOC04IDAtMS4yNTYtLjI5OS0yLjQ0MS0uODE4LTMuNTAxIDEuMTAzLTEuNTQ4IDIuODk4LTIuNDk5IDQuODE4LTIuNDk5IDIuODQgMCA1LjI3OCAyLjA2NCA1Ljc5OSA0LjgzMS0uMTkuMTA1LS4zNzUuMjE4LS41NTQuMzQyLTEuMjI0LS43NDctMi42MzYtMS4xNzMtNC4wNzQtMS4xNzNoLS4xNzF2MmguMTcxYy44OTYgMCAxLjc4LjIyMSAyLjU4LjYxNS0uMDgzLjEwOS0uMTcxLjIxMS0uMjQ4LjMyNmwtLjMzNi41MDQgMS42NjQgMS4xMDkuMzM2LS41MDRjLjg1Ny0xLjI4MyAyLjI5LTIuMDUgMy44MzMtMi4wNSAxLjEwMyAwIDIgLjg5NyAyIDJzLS44OTcgMi0yIDJoLTdjLTEuMTAzIDAtMi0uODk3LTItMmgtMmMwIDIuMjA2IDEuNzk0IDQgNCA0aDI1YzIuMjA2IDAgNC0xLjc5NCA0LTRzLTEuNzk0LTQtNC00Yy0uNDczIDAtLjkzNS4wNi0xLjM4Ny4xNTctMS4xNTktMy42MjMtNC41NDItNi4xNTctOC40My02LjE1Ny0zLjU0OSAwLTYuNzQ2IDIuMTA3LTguMTQ0IDUuMzY5bC0uMjc3LjY0NmMtLjM1Ni4wMTMtLjcwNi4wNTUtMS4wNS4xMjMtLjgyLTMuNTQyLTQuMDIzLTYuMTM4LTcuNzEyLTYuMTM4LTIuMzEyIDAtNC40ODggMS4wMzQtNS45NzggMi43NTEtMS40NjctMS42ODItMy42Mi0yLjc1MS02LjAyMi0yLjc1MS00LjQxMSAwLTggMy41ODktOCA4czMuNTg5IDggOCA4em0yOS4xODMtMTRjMy4wNDcgMCA1LjY3NiAyLjAxNyA2LjU0MSA0Ljg3Ny0uMTYzLjA5My0uMzI1LjE4OC0uNDc5LjI5NS0xLjIyNS0uNzQ2LTIuNjM2LTEuMTcyLTQuMDc0LTEuMTcyaC0uMTcxdjJoLjE3MWMuODk1IDAgMS43OC4yMjEgMi41OC42MTUtLjA4My4xMDktLjE3MS4yMTEtLjI0OC4zMjZsLS4zMzYuNTA0IDEuNjY0IDEuMTA5LjMzNi0uNTA0Yy44NTctMS4yODMgMi4yOS0yLjA1IDMuODMzLTIuMDUgMS4xMDMgMCAyIC44OTcgMiAycy0uODk3IDItMiAyaC0xNC41NTZjLjM0NC0uNTkxLjU1Ni0xLjI2OC41NTYtMiAwLTEuNTcxLS45MTgtMi45MTktMi4yMzgtMy41NzNsLjExNi0uMjdjMS4wODItMi41MjUgMy41NTctNC4xNTcgNi4zMDUtNC4xNTd6bS0yOS4xODMgMGMzLjMwOSAwIDYgMi42OTEgNiA2cy0yLjY5MSA2LTYgNi02LTIuNjkxLTYtNiAyLjY5MS02IDYtNnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTcgMzd2LTQuNWw0LTN2LTIuNWgtMnYxLjVsLTIgMS41di01aC0ydjdsLTItMS41di0xLjVoLTJ2Mi41bDQgM3YyLjVoLTEwdi02LjVsNC0zdi0yLjVoLTJ2MS41bC0yIDEuNXYtNC41ODZsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny40MTRsLTItMS41di0xLjVoLTJ2Mi41bDQgM3Y0LjVoLTE0di0xLjI3OWwuNDk2LS4xNjVjMy4yOTItMS4wOTggNS41MDQtNC4xNjYgNS41MDQtNy42MzYgMC0yLjE0OS0uODM3LTQuMTcxLTIuMzU3LTUuNjkxbC00LjY0My00LjY0My0zLjgyNSAzLjgyNWMtLjM5LS44MDItLjg5Ni0xLjU0Ni0xLjUzMi0yLjE4M2wtNC42NDMtNC42NDItNC42NDMgNC42NDNjLTEuNTIgMS41Mi0yLjM1NyAzLjU0Mi0yLjM1NyA1LjY5MSAwIDMuNDcgMi4yMTIgNi41MzggNS41MDMgNy42MzVsLjQ5Ny4xNjV2NC4yOGgtMTYuMjgxbC40OSAxLjk1OWMzLjUzOSAxNC4xNTUgMTYuMjAxIDI0LjA0MSAzMC43OTEgMjQuMDQxczI3LjI1Mi05Ljg4NiAzMC43OTEtMjQuMDQxbC40OS0xLjk1OXptLTI3LjM2NCA2LjI1OCAxLjE0NSAxLjcxN2MuMTQzLjIxNC4yMTkuNDY0LjIxOS43MjIgMCAuNzE5LS41ODQgMS4zMDMtMS4zMDMgMS4zMDNoLTE1LjM5NGMtLjcxOSAwLTEuMzAzLS41ODQtMS4zMDMtMS4zMDMgMC0uMjU4LjA3Ni0uNTA4LjIxOS0uNzIzbDEuMTQ2LTEuNzE4Yy40MTUtLjYyNC42MzUtMS4zNTEuNjM1LTIuMTAxIDAtLjc3LS4yNDYtMS41MjUtLjY4MS0yLjE1NWgxNS4zNjJjLS40MzUuNjMxLS42ODEgMS4zODUtLjY4MSAyLjE1NSAwIC43NS4yMiAxLjQ3Ny42MzYgMi4xMDN6bS0xLjYzNi0yMi44NDQgMy4yMjkgMy4yMjljMS4xNDIgMS4xNDIgMS43NzEgMi42NjIgMS43NzEgNC4yNzcgMCAyLjU1Ny0xLjYwNCA0LjgxNy00IDUuNjgxdi0xLjE4NmwyLjcwNy0yLjcwNy0xLjQxNC0xLjQxNC0xLjI5MyAxLjI5MnYtMi4xNzJsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny4wMTRjLTIuMzk2LS44NjMtNC0zLjEyMi00LTUuNjggMC0xLjYxNS42MjktMy4xMzUgMS43NzEtNC4yNzd6bS0xNSA0LjUwNmMwLTEuNjE1LjYyOS0zLjEzNSAxLjc3MS00LjI3N2wzLjIyOS0zLjIyOSAzLjIyOSAzLjIyOWMuNjY2LjY2NiAxLjE1MyAxLjQ4MSAxLjQ0OSAyLjM3MS0xLjA4NCAxLjQtMS42NzggMy4xMDYtMS42NzggNC45MDYgMCAuNDY0LjA0Ni45MTguMTIyIDEuMzY0LS42MDkuNTgxLTEuMzI5IDEuMDM0LTIuMTIyIDEuMzE5di02LjNsMS44MzItMi43NDgtMS42NjQtMS4xMDktMS4zMjMgMS45ODUtMS4xMzgtMS4xMzgtMS40MTQgMS40MTQgMS43MDcgMS43MDd2Mi4xNzJsLTEuMjkzLTEuMjkzLTEuNDE0IDEuNDE0IDIuNzA3IDIuNzA3djEuMTg2Yy0yLjM5Ni0uODYzLTQtMy4xMjItNC01LjY4em02IDcuODAxLjQ5Ni0uMTY1Yy44MjUtLjI3NSAxLjU4OS0uNjk2IDIuMjgxLTEuMjE2LjkxNiAxLjk0OCAyLjU4NiAzLjUwMiA0LjcyNiA0LjIxNWwuNDk3LjE2NXYxLjI4aC04em0tNy40MTQgNi4yNzkuODkuODljLjMzMy4zMzMuNTI0Ljc5NS41MjQgMS4yNjUgMCAuMzU0LS4xMDQuNjk4LS4zLjk5M2wtMS4xNDUgMS43MTdjLS4zNjMuNTQ0LS41NTUgMS4xNzgtLjU1NSAxLjgzMiAwIDEuODIyIDEuNDgxIDMuMzAzIDMuMzAzIDMuMzAzaDE1LjM5NWMxLjgyMSAwIDMuMzAyLTEuNDgxIDMuMzAyLTMuMzAzIDAtLjY1NC0uMTkyLTEuMjg4LS41NTUtMS44MzJsLTEuMTQ1LTEuNzE2Yy0uMTk2LS4yOTUtLjMtLjYzOS0uMy0uOTk0IDAtLjQ3MS4xOTEtLjkzMy41MjQtMS4yNjZsLjg5LS44OWg2LjgzNmMtLjE2LjM4NS0uMjUuODA2LS4yNSAxLjI0NyAwIDEuNDkyIDEuMDExIDIuNzg4IDIuNDU5IDMuMTQ5bDQuMjIgMS4wNTVjLjc3OC4xOTYgMS4zMjEuODkxIDEuMzIxIDEuNjkzIDAgLjcxNy0uNDMgMS4zNTMtMS4wOTYgMS42MThsLTYuMjc1IDIuNTExYy0xLjU5Ny42MzktMi42MjkgMi4xNjMtMi42MjkgMy44ODIgMCAxLjQ5Ni44MDcgMi44ODggMi4xMDcgMy42M2wyLjcxNSAxLjU1MWMtMy4wMDQgMS4wNDktNi4yMTUgMS42MjEtOS41MzcgMS42NTNsLTUuMDg2LTMuMzkxYy0uMTI0LS4wODItLjE5OS0uMjIxLS4xOTktLjM3MSAwLS4yMTkuMTU3LS40MDQuMzc0LS40NGwzLjQzNS0uNTcyYzEuMjY5LS4yMTMgMi4xOTEtMS4zMDIgMi4xOTEtMi41OSAwLTEuNDQ3LTEuMTc3LTIuNjI0LTIuNjI0LTIuNjI0aC0yMC42MDVjLTIuOTg5LTMuMzY3LTUuMjU2LTcuNDMtNi40ODYtMTJ6bTE0LjUwMyAyMC4yNjIgMi4yMyAxLjQ4N2MtNi4zMjktLjc4NC0xMi4xMDUtMy41NDgtMTYuNjA3LTcuNzQ5aDE4LjY2NGMuMzQ0IDAgLjYyNC4yOC42MjQuNjI0IDAgLjMwNy0uMjE5LjU2NS0uNTIxLjYxNmwtMy40MzQuNTcyYy0xLjE4NS4xOTgtMi4wNDUgMS4yMTItMi4wNDUgMi40MTQgMCAuODE5LjQwNyAxLjU4MSAxLjA4OSAyLjAzNnptMTguMTAzLS44NzUtNC4wOTMtMi4zMzljLS42NzgtLjM4OC0xLjA5OS0xLjExMy0xLjA5OS0xLjg5NCAwLS44OTcuNTM5LTEuNjkyIDEuMzcyLTIuMDI1bDYuMjc1LTIuNTExYzEuNDI5LS41NzEgMi4zNTMtMS45MzUgMi4zNTMtMy40NzUgMC0xLjcyMS0xLjE2Ni0zLjIxNC0yLjgzNS0zLjYzMmwtNC4yMi0xLjA1NWMtLjU1Ny0uMTQtLjk0NS0uNjM3LS45NDUtMS4yMSAwLS42ODcuNTU5LTEuMjQ2IDEuMjQ2LTEuMjQ2aDE4LjQ2OGMtMi4zNzYgOC44MjgtOC41NjUgMTUuODE0LTE2LjUyMiAxOS4zODd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDE3aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzkgMjFoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00MyAxN2gydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3IDE5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTEgMjNoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im01MSAxN2gydjJoLTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",wfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiID4KPGcgZmlsbD0iY3VycmVudENvbG9yIj4KCTxwYXRoIGQ9Ik01MTEuOTc2LDQxNi4wNjNjLTAuMDA1LTAuMDc1LTAuMDA0LTAuMTQ5LTAuMDExLTAuMjI0Yy0wLjAyNy0wLjI5Ny0wLjA3LTAuNTg4LTAuMTMxLTAuODczCgkJYy0wLjAwNi0wLjAyOC0wLjAxNS0wLjA1Ni0wLjAyMi0wLjA4NGMtMC4wNTktMC4yNjItMC4xMzItMC41MTgtMC4yMTgtMC43NjhjLTAuMDIzLTAuMDY3LTAuMDQ4LTAuMTMyLTAuMDczLTAuMTk4CgkJYy0wLjA4NC0wLjIyNy0wLjE3OS0wLjQ0OC0wLjI4NC0wLjY2M2MtMC4wMTgtMC4wMzgtMC4wMy0wLjA3Ny0wLjA0OS0wLjExNWwtNDAuMTEyLTc5LjExOFY3My43MgoJCWMwLTguMDA2LTYuNTEzLTE0LjUxOS0xNC41MTktMTQuNTE5SDU1LjQ0MWMtOC4wMDYsMC0xNC41MTksNi41MTMtMTQuNTE5LDE0LjUxOXYyNjAuMjk4TDAuODExLDQxMy4xMzcKCQljLTAuMDE5LDAuMDM4LTAuMDMxLDAuMDc3LTAuMDQ5LDAuMTE1Yy0wLjEwNSwwLjIxNS0wLjE5OSwwLjQzNi0wLjI4NCwwLjY2MmMtMC4wMjUsMC4wNjYtMC4wNSwwLjEzMi0wLjA3MywwLjE5OQoJCWMtMC4wODUsMC4yNTEtMC4xNTksMC41MDgtMC4yMTgsMC43N2MtMC4wMDYsMC4wMjctMC4wMTUsMC4wNTQtMC4wMjEsMC4wODFjLTAuMDYxLDAuMjg2LTAuMTA0LDAuNTc3LTAuMTMxLDAuODc0CgkJYy0wLjAwNywwLjA3NC0wLjAwNywwLjE0OS0wLjAxMSwwLjIyM0MwLjAxNCw0MTYuMjE3LDAsNDE2LjM3MSwwLDQxNi41Mjl2MTkuMDI2YzAsOS41MDksNy43MzUsMTcuMjQ0LDE3LjI0NCwxNy4yNDRoNDc3LjUxMgoJCWM5LjUwOSwwLDE3LjI0NC03LjczNSwxNy4yNDQtMTcuMjQ0di0xOS4wMjZDNTEyLDQxNi4zNzEsNTExLjk4Niw0MTYuMjE3LDUxMS45NzYsNDE2LjA2M3ogTTU1LjkyMyw3NC4yMDNoNDAwLjE1NHYyNTQuMTA5CgkJSDU1LjkyM1Y3NC4yMDN6IE01My4wMjksMzQzLjMxMUg0NTguOTdsMzMuMzE4LDY1LjcxN2gtMTY0Ljc4bC04LjI3MS0yOS45ODljLTEuNjg0LTYuMTA1LTcuMjgyLTEwLjM2OS0xMy42MTUtMTAuMzY5aC05OS4yNDYKCQljLTYuMzMzLDAtMTEuOTMyLDQuMjY0LTEzLjYxNSwxMC4zNjhsLTguMjcxLDI5Ljk5SDE5LjcxMUw1My4wMjksMzQzLjMxMXogTTMxMS45NDgsNDA5LjAyOUgyMDAuMDUybDYuOTkzLTI1LjM1OGg5Ny45MQoJCUwzMTEuOTQ4LDQwOS4wMjl6IE00OTcsNDM1LjU1NGMwLDEuMjM3LTEuMDA3LDIuMjQ0LTIuMjQ0LDIuMjQ0SDE3LjI0NGMtMS4yMzcsMC0yLjI0NC0xLjAwNy0yLjI0NC0yLjI0NHYtMTEuNTI2aDQ4MlY0MzUuNTU0eiIKCQkvPgoJPHBhdGggZD0iTTQzMi41NzcsMjEzLjc1NmMtNC4xNDMsMC03LjUsMy4zNTctNy41LDcuNXY3Ni4wNTVIODYuOTIzdi03Ni4wNTVjMC00LjE0My0zLjM1Ny03LjUtNy41LTcuNQoJCQljLTQuMTQzLDAtNy41LDMuMzU3LTcuNSw3LjV2NzkuMjk0YzAsNi40ODUsNS4yNzUsMTEuNzYxLDExLjc2MSwxMS43NjFoMzQ0LjYzM2M2LjQ4NSwwLDExLjc2MS01LjI3NSwxMS43NjEtMTEuNzYxdi03OS4yOTQKCQkJQzQ0MC4wNzcsMjE3LjExNSw0MzYuNzIsMjEzLjc1Niw0MzIuNTc3LDIxMy43NTZ6Ii8+Cgk8cGF0aCBkPSJNNDI4LjMxNiw5MC4yMDNIODMuNjg0Yy02LjQ4NSwwLTExLjc2MSw1LjI3NS0xMS43NjEsMTEuNzYxdjc5LjI5NGMwLDQuMTQzLDMuMzU3LDcuNSw3LjUsNy41YzQuMTQzLDAsNy41LTMuMzU3LDcuNS03LjUKCQkJdi03Ni4wNTVoMzM4LjE1NHY3Ni4wNTVjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNXM3LjUtMy4zNTcsNy41LTcuNXYtNzkuMjk0QzQ0MC4wNzcsOTUuNDc3LDQzNC44MDIsOTAuMjAzLDQyOC4zMTYsOTAuMjAzeiIvPgo8L2c+Cjwvc3ZnPgo=",Cfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTE2NC4zOTkgMjA1Ljg3MmM0LjA5OS42NjQgOC4yMDYtMS4yNzMgMTAuMjg0LTQuOTFsNjAtMTA1YzEuNzY5LTMuMDk1IDEuNzU2LTYuODk3LS4wMzMtOS45OHMtNS4wODUtNC45ODEtOC42NDktNC45ODFoLTM2LjY4MmwtMTMuNDg2LTcyLjgyMWMtLjc3Mi00LjE2OS00LjA4OS03LjM5OC04LjI3Ny04LjA1OC00LjE4NS0uNjYtOC4zMzcgMS4zOTQtMTAuMzUzIDUuMTIzbC02MCAxMTFjLTEuNjc1IDMuMDk5LTEuNTk3IDYuODUxLjIwOCA5Ljg3NiAxLjgwNCAzLjAyNSA1LjA2NiA0Ljg3OSA4LjU4OSA0Ljg3OWgzNi44MDJsMTMuMzkzIDY2Ljk2MWMuODE3IDQuMDkgNC4wODggNy4yNDIgOC4yMDQgNy45MTF6bS0xMy4zOTktOTQuODcxaC0yOC4yMjhsMzguNTU0LTcxLjMyMyA5Ljg0MSA1My4xNDRjLjg3OCA0Ljc0IDUuMDEzIDguMTc5IDkuODMzIDguMTc5aDI3Ljc2OWwtMzguMiA2Ni44NS05Ljc2My00OC44MTFjLS45MzUtNC42NzQtNS4wMzktOC4wMzktOS44MDYtOC4wMzl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwIDQ1OS4wMDFjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoMjZjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzgtMTAtMTAtMTBoLTU2di02OGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY2OGgtNDB2LTIyM2g0MHY2NWMwIDUuNTIzIDQuNDc4IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi03NWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHYyMzNoLTQwdi0xNzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTB2MTczaC00MHYtMTEzYzAtNS41MjMtNC40NzgtMTAtMTAtMTBoLTYwYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwdjExM2gtNzN2LTQ0OWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHYyNmgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDN6bTI1Ni0xNjNoNDB2MTYzaC00MHptLTEyMCA2MGg0MHYxMDNoLTQweiIvPgogICAgICAgIDxwYXRoIGQ9Im00MzYgMTQ2LjAwMWM1LjUyMiAwIDEwLTQuNDc3IDEwLTEwdi02MGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgzNS44NTdsLTEwMCAxMDBoLTU1Ljg1N2MtMi42NTIgMC01LjE5NSAxLjA1NC03LjA3MSAyLjkyOWwtOTAgOTBjLTMuOTA1IDMuOTA1LTMuOTA1IDEwLjIzNyAwIDE0LjE0MyAzLjkwNyAzLjkwNSAxMC4yMzYgMy45MDQgMTQuMTQzIDBsODcuMDcxLTg3LjA3MWg1NS44NTdjMi42NTIgMCA1LjE5NS0xLjA1NCA3LjA3MS0yLjkyOWwxMDIuOTI5LTEwMi45M3YzNS44NTdjMCA1LjUyNCA0LjQ3OCAxMC4wMDEgMTAgMTAuMDAxeiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjQzNiIgY3k9IjM0Ni4wMDEiIHI9IjEwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Ife="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHJlY3QgeD0iMjE2IiB5PSI4OC40ODkiIHdpZHRoPSI4MCIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjIxNiIgeT0iNjIuNDg5IiB3aWR0aD0iODAiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cGF0aCBkPSJNMzAsNTIuNDk0djkuMjg1Yy0yLjM0Ny0wLjgzMi00Ljg3Mi0xLjI4NS03LjUtMS4yODVjLTEyLjQwNiwwLTIyLjUsMTAuMDkzLTIyLjUsMjIuNWMwLDEyLjQwNywxMC4wOTQsMjIuNSwyMi41LDIyLjUKCQkJYzIuNjI4LDAsNS4xNTMtMC40NTMsNy41LTEuMjg1djM1NS4yOThoNy41YzguNjk5LDAsMTMuMzU0LTIuODE5LDE3LjA5NS01LjA4NWMyLjg5OS0xLjc1NSw0LjgxNC0yLjkxNSw5LjMyNS0yLjkxNQoJCQljNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1YzguNjk4LDAsMTMuMzU0LTIuODE5LDE3LjA5NC01LjA4NQoJCQljMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjItMi45MTVjNC41MDksMCw2LjQyNCwxLjE2LDkuMzIxLDIuOTE1YzMuNzQsMi4yNjYsOC4zOTUsNS4wODUsMTcuMDkzLDUuMDg1CgkJCXMxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIxLTIuOTE1YzQuNTEsMCw2LjQyNSwxLjE2LDkuMzIyLDIuOTE1CgkJCWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTN2LTQwN0gzMHogTTIyLjUsOTAuNDk0Yy00LjEzNiwwLTcuNS0zLjM2NC03LjUtNy41YzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjUKCQkJczcuNSwzLjM2NCw3LjUsNy41QzMwLDg3LjEzLDI2LjYzNiw5MC40OTQsMjIuNSw5MC40OTR6IE0xODguNSw0NDIuNjY0Yy0wLjU4NS0wLjMyNS0xLjE3OS0wLjY4NS0xLjgyMS0xLjA3NAoJCQljLTMuMzM5LTIuMDIyLTcuNDA3LTQuNDg2LTE0LjQyOS00Ljk5MVYyMjYuNTU1aC0xNXYyMTIuNDMxYy0xLjgyNCwwLjgyNy0zLjM1NSwxLjc1NS00Ljc1OCwyLjYwNAoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOAoJCQljLTIuNzM0LTEuMDA1LTYuMDk3LTEuNzI2LTEwLjQ5NC0xLjcyNmMtMS42MzgsMC0zLjEzMywwLjEtNC41MDYsMC4yNzh2LTIxNi43OWgtMTV2MjIyLjk4OGMtMS44NDksMC45NTEtMy43MzgsMS41MjUtNi45MSwxLjUyNQoJCQljLTMuODQzLDAtNS44MDItMC44NDItOC4wOS0yLjE3NlYxNDEuOTk0aC0xNXYyOTQuNjYxYy0xLjA0MS0wLjA5Ni0yLjE0OC0wLjE0OC0zLjMzLTAuMTQ4Yy04LjY5OSwwLTEzLjM1NCwyLjgxOS0xNy4wOTUsNS4wODUKCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFoNDYuMjVWNDQyLjY2NHoiLz4KICAgICAgICA8cmVjdCB4PSIxNTcuMjUiIHk9IjEzNi45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSI2NiIvPgogICAgICAgIDxyZWN0IHg9IjE1Ny4yNSIgeT0iMTExLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSI4Ni45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9Ijk3LjI1IiB5PSIxMzAuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iNjYiLz4KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iODAuOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTA1Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHJlY3QgeD0iNDM1Ljc1IiB5PSIxMTMuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSI0MzUuNzUiIHk9IjEzOC45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSI2NiIvPgogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iODguOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjE1NS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjM3NS43NSIgeT0iODAuOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEwNS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjM3NS43NSIgeT0iMTMwLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ4OS41LDYwLjQ5NGMtMi42MjgsMC01LjE1MywwLjQ1My03LjUsMS4yODV2LTkuMjg1SDMwOC41djQwNy4wMTNoNy41YzguNjk5LDAsMTMuMzU0LTIuODE5LDE3LjA5NS01LjA4NQoJCQljMi44OTktMS43NTUsNC44MTQtMi45MTUsOS4zMjUtMi45MTVjNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1CgkJCWM4LjY5OCwwLDEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjItMi45MTVjNC41MDksMCw2LjQyNCwxLjE2LDkuMzIxLDIuOTE1CgkJCWMzLjc0LDIuMjY2LDguMzk1LDUuMDg1LDE3LjA5Myw1LjA4NXMxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIxLTIuOTE1CgkJCWM0LjUxLDAsNi40MjUsMS4xNiw5LjMyMiwyLjkxNWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTNWMTA0LjIwOGMyLjM0NywwLjgzMiw0Ljg3MiwxLjI4NSw3LjUsMS4yODUKCQkJYzEyLjQwNiwwLDIyLjUtMTAuMDkzLDIyLjUtMjIuNUM1MTIsNzAuNTg1LDUwMS45MDYsNjAuNDk0LDQ4OS41LDYwLjQ5NHogTTQ2Nyw0NDIuNjY0Yy0wLjU4NS0wLjMyNS0xLjE3OS0wLjY4NS0xLjgyMS0xLjA3NAoJCQljLTMuMzM5LTIuMDIyLTcuNDA3LTQuNDg2LTE0LjQyOS00Ljk5MVYyMjYuNTU1aC0xNXYyMTIuNDMxYy0xLjgyNCwwLjgyNy0zLjM1NSwxLjc1NS00Ljc1OCwyLjYwNAoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOAoJCQljLTIuNzM0LTEuMDA1LTYuMDk3LTEuNzI2LTEwLjQ5NC0xLjcyNmMtMS42MzgsMC0zLjEzMywwLjEtNC41MDYsMC4yNzh2LTI1MC43OWgtMTV2MjU2Ljk4OGMtMS44NDksMC45NTEtMy43MzgsMS41MjUtNi45MSwxLjUyNQoJCQljLTMuODQzLDAtNS44MDItMC44NDItOC4wOS0yLjE3NlYxNDEuOTk0aC0xNXYyOTQuNjYxYy0xLjA0MS0wLjA5Ni0yLjE0OC0wLjE0OC0zLjMzLTAuMTQ4Yy04LjY5OSwwLTEzLjM1NCwyLjgxOS0xNy4wOTUsNS4wODUKCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFINDY3VjQ0Mi42NjR6IE00ODkuNSw5MC40OTRjLTQuMTM2LDAtNy41LTMuMzY0LTcuNS03LjUKCQkJYzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjVzNy41LDMuMzY0LDcuNSw3LjVDNDk3LDg3LjEzLDQ5My42MzYsOTAuNDk0LDQ4OS41LDkwLjQ5NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",pfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDIgMTJjMi4yMDYgMCA0LTEuNzk0IDQtNHMtMS43OTQtNC00LTQtNCAxLjc5NC00IDQgMS43OTQgNCA0IDR6bTItNGMwIDEuMTAzLS44OTcgMi0yIDJzLTItLjg5Ny0yLTJjMC0uMTc4LjAzMS0uMzQ3LjA3NS0uNTExbDEuMjE4IDEuMjE4IDEuNDE0LTEuNDE0LTEuMjE4LTEuMjE4Yy4xNjQtLjA0NC4zMzMtLjA3NS41MTEtLjA3NSAxLjEwMyAwIDIgLjg5NyAyIDJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyIDRjLTIuMjA2IDAtNCAxLjc5NC00IDRzMS43OTQgNCA0IDQgNC0xLjc5NCA0LTQtMS43OTQtNC00LTR6bTAgNmMtMS4xMDMgMC0yLS44OTctMi0ycy44OTctMiAyLTJjLjE3OCAwIC4zNDcuMDMxLjUxMS4wNzVsLTEuMjE4IDEuMjE4IDEuNDE0IDEuNDE0IDEuMjE4LTEuMjE4Yy4wNDQuMTY0LjA3NS4zMzMuMDc1LjUxMSAwIDEuMTAzLS44OTcgMi0yIDJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUxIDEyaDJjMS42NTQgMCAzLTEuMzQ2IDMtM3MtMS4zNDYtMy0zLTNoLTJjLTEuNjU0IDAtMyAxLjM0Ni0zIDNzMS4zNDYgMyAzIDN6bTAtNGgyYy41NTEgMCAxIC40NDkgMSAxcy0uNDQ5IDEtMSAxaC0yYy0uNTUxIDAtMS0uNDQ5LTEtMXMuNDQ5LTEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMyA2aC0yYy0xLjY1NCAwLTMgMS4zNDYtMyAzczEuMzQ2IDMgMyAzaDJjMS42NTQgMCAzLTEuMzQ2IDMtM3MtMS4zNDYtMy0zLTN6bTAgNGgtMmMtLjU1MSAwLTEtLjQ0OS0xLTFzLjQ0OS0xIDEtMWgyYy41NTEgMCAxIC40NDkgMSAxcy0uNDQ5IDEtMSAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im02Mi45OTcgNThjMC0uMTYzLS4wMzctLjMyNi0uMTE3LS40NzRsLTIuODgtNS4zNDl2LTM4LjE3Ny0xMGMwLTEuNjU0LTEuMzQ2LTMtMy0zaC01MGMtMS42NTQgMC0zIDEuMzQ2LTMgM3YxMCAzOC4xNzdsLTIuODggNS4zNDljLS4wOC4xNDgtLjExNy4zMTEtLjExNy40NzRoLS4wMDN2MmMwIDEuNjU0IDEuMzQ2IDMgMyAzaDU2YzEuNjU0IDAgMy0xLjM0NiAzLTN2LTJ6bS02Ljk5Ny0xMy4yNTF2LTI5Ljc0OWgydjMzLjQ2M3ptLTQxLjkzMS0yLjc0OWMuMTg5IDEuNTAyLjc5MiAyLjg3NSAxLjY5NSA0aC0yLjc2NHYtNHptMzYuOTMxIDB2NGgtMi43NjVjLjkwNC0xLjEyNSAxLjUwNy0yLjQ5OCAxLjY5NS00em0tNS42OSA0aC0uMzF2LTIuMzgyYy40MDItLjQ2LjctMS4wMDkuODU4LTEuNjE4aDIuMDUyYy0uMjgyIDEuNjY2LTEuMjQ2IDMuMTAxLTIuNiA0em0tOC4zMS0xLjY5di0yLjMxaDEuMTQyYy40NDcgMS43MjEgMiAzIDMuODU4IDMgLjM0NyAwIC42NzgtLjA1OCAxLS4xNDJ2MS4xNDJoLTQuMzFjLS42Ny0uNDQ1LTEuMjQ1LTEuMDItMS42OS0xLjY5em0zLjI3OC00LjMxYy4zNDctLjU5NS45ODUtMSAxLjcyMi0xczEuMzc1LjQwNSAxLjcyMiAxem0yLjcyMiAydi43MjJjLS4yOTUuMTcyLS42MzQuMjc4LTEgLjI3OC0uNzM3IDAtMS4zNzUtLjQwNS0xLjcyMi0xem0yLjg1OC0yYy0uNDQ3LTEuNzIxLTItMy0zLjg1OC0zcy0zLjQxMSAxLjI3OS0zLjg1OCAzaC0yLjA1MmMuNDc4LTIuODMzIDIuOTQyLTUgNS45MS01czUuNDMxIDIuMTY3IDUuOTEgNXptLTExLjcyNS03LjA4NGMuNTEzLTIuNzkyIDIuOTU5LTQuOTE2IDUuODk3LTQuOTE2IDEuNjEgMCAzLjA2NS42MzEgNC4xNDMgMS42Ni0uOTczLS40MjMtMi4wNDYtLjY2LTMuMTczLS42Ni0yLjkxOCAwLTUuNDY5IDEuNTc2LTYuODY3IDMuOTE2em0uODY3IDQuMDg0YzAtMy4zMDkgMi42OTEtNiA2LTYgMi4zMzUgMCA0LjM1NyAxLjM0MyA1LjM0OCAzLjI5NC0xLjI1My0uODE1LTIuNzQ1LTEuMjk0LTQuMzQ4LTEuMjk0LTMuMDA0IDAtNS42MjQgMS42NjctNi45OTIgNC4xMjItLjAwMS0uMDQxLS4wMDgtLjA4MS0uMDA4LS4xMjJ6bS0uOTMxIDVjLjEyOSAxLjAyNy40NDkgMS45OTYuOTMxIDIuODY0djEuMTM2aC02di0xLjEzNmMuNDgyLS44NjkuODAyLTEuODM3LjkzMS0yLjg2NHptLTEzLjA2OSA0di0xLjE0MmMuMzIyLjA4NC42NTMuMTQyIDEgLjE0MiAxLjg1OCAwIDMuNDExLTEuMjc5IDMuODU4LTNoMS4xNDJ2Mi4zMWMtLjQ0NS42Ny0xLjAyIDEuMjQ1LTEuNjkgMS42OXptMC00aDIuNzIyYy0uMzQ3LjU5NS0uOTg1IDEtMS43MjIgMS0uMzY2IDAtLjcwNS0uMTA2LTEtLjI3OHptLS43MjItMmMuMzQ3LS41OTUuOTg1LTEgMS43MjItMXMxLjM3NS40MDUgMS43MjIgMXptOC43MTQtMi44NzhjLTEuMzY4LTIuNDU1LTMuOTg4LTQuMTIyLTYuOTkyLTQuMTIyLTEuNjAzIDAtMy4wOTUuNDc5LTQuMzQ4IDEuMjk0Ljk5MS0xLjk1MSAzLjAxMy0zLjI5NCA1LjM0OC0zLjI5NCAzLjMwOSAwIDYgMi42OTEgNiA2IDAgLjA0MS0uMDA3LjA4MS0uMDA4LjEyMnptLTUuOTkyLTguMTIyYy0xLjEwNiAwLTIuMTYuMjI2LTMuMTE5LjYzNCAxLjA3Ni0xLjAxNSAyLjUyMi0xLjYzNCA0LjExOS0xLjYzNCAyLjk2MSAwIDUuNDIyIDIuMTU4IDUuOTA3IDQuOTgzLTEuMzg4LTIuMzc4LTMuOTYxLTMuOTgzLTYuOTA3LTMuOTgzem0tMSA2YzIuOTY3IDAgNS40MzEgMi4xNjcgNS45MSA1aC0yLjA1MmMtLjQ0Ny0xLjcyMS0yLTMtMy44NTgtM3MtMy40MTEgMS4yNzktMy44NTggM2gtMi4wNTJjLjQ3OS0yLjgzMyAyLjk0My01IDUuOTEtNXptLTMuODU4IDdjLjE1OC42MDkuNDU2IDEuMTU3Ljg1OCAxLjYxOHYyLjM4MmgtLjMxYy0xLjM1NC0uODk5LTIuMzE5LTIuMzM0LTIuNi00em0tNS4xNDIgNmg1LjEzNmMuMjc4LjE1NC41NjcuMjkuODY0LjQxMXYzLjU4OWgtNnptOCAuOTMxYy4zMjguMDQxLjY2MS4wNjkgMSAuMDY5IDEuNDAxIDAgMi43MTgtLjM2NCAzLjg2NC0xaDEuMTM2djRoLTZ6bTgtLjkzMWg2djRoLTZ6bTggMGgxLjEzNmMxLjE0Ny42MzYgMi40NjMgMSAzLjg2NCAxIC4zMzkgMCAuNjcyLS4wMjggMS0uMDY5djMuMDY5aC02em04IC40MTFjLjI5Ny0uMTIxLjU4Ni0uMjU3Ljg2NC0uNDExaDUuMTM2djRoLTZ6bTcuOTY4LTcuNTcyLjAxOS0uMDAzLTIuNzc0LTE2LjY0M2MtLjIxMi0xLjI3MS0xLjMwMS0yLjE5My0yLjU4OS0yLjE5My0xLjQ0NyAwLTIuNjI0IDEuMTc3LTIuNjI0IDIuNjI0djEuMzc2aDJ2LTEuMzc2YzAtLjM0NC4yOC0uNjI0LjYyNC0uNjI0LjMwNyAwIC41NjUuMjE5LjYxNi41MjFsMi41OCAxNS40NzloLS44ODljLS4xMjktMS4wMy0uNDUxLTItLjkzNC0yLjg3IDAtLjA0NC4wMDMtLjA4Ni4wMDMtLjEzIDAtMS40Mi0uMzc2LTIuNzUxLTEuMDI3LTMuOTA4LS40NTctNC4wNTQtMy44NDEtNy4wOTItNy45NDMtNy4wOTItNC40MTEgMC04IDMuNTg5LTggOCAwIDEuMzczLjM2NCAyLjcxMyAxLjAzMSAzLjkwNC4wODIuNzIxLjI2MSAxLjQyNS41MzIgMi4wOTZoLTMuMTg3Yy4yNjMtLjY1LjQ0Mi0xLjMzLjUyNy0yLjAyOC42OTItMS4yMDggMS4wNjctMi41NzQgMS4wNjctMy45NzIgMC00LjQxMS0zLjU4OS04LTgtOC00LjA4IDAtNy40NDggMy4wMDYtNy45MzQgNy4wMjctLjY3NCAxLjE3Mi0xLjA2NiAyLjUyNi0xLjA2NiAzLjk3MyAwIC4wNDQuMDAzLjA4Ni4wMDQuMTMtLjQ4NC44Ny0uODA1IDEuODQtLjkzNSAyLjg3aC0uODg5bDIuNTgtMTUuNDc5Yy4wNTEtLjMwMi4zMDktLjUyMS42MTYtLjUyMS4zNDQgMCAuNjI0LjI4LjYyNC42MjR2MS4zNzZoMnYtMS4zNzZjMC0xLjQ0Ny0xLjE3Ny0yLjYyNC0yLjYyNC0yLjYyNC0xLjI4OCAwLTIuMzc3LjkyMi0yLjU4OCAyLjE5MmwtMi43NzQgMTYuNjQ0LjAxOS4wMDNjLS4wMS4wNTQtLjAzMy4xMDQtLjAzMy4xNjF2M2gtMXYtMjNoNDR2MjNoLTF2LTNjMC0uMDU3LS4wMjMtLjEwNy0uMDMyLS4xNjF6bTEuMDMyLTI1LjgzOXY0aC00NHYtNHptLTIwLTJoLTR2LTRjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptLTI4LTljMC0uNTUxLjQ0OS0xIDEtMWg1MGMuNTUxIDAgMSAuNDQ5IDEgMXY5aC0yMnYtNGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY0aC0yMnptMCAxMWgydjI5Ljc0OWwtMiAzLjcxNHptMy41OTcgMzFoMS40MDN2N2MwIC41NTMuNDQ4IDEgMSAxaDQwYy41NTIgMCAxLS40NDcgMS0xdi03aDEuNDAzbDUuOTIzIDExaC01Ni42NTJ6bTUwLjQwMyAxNWgtNTZjLS41NTEgMC0xLS40NDgtMS0xdi0xaDU4djFjMCAuNTUyLS40NDkgMS0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyIDE2aDR2MmgtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggMTZoNHYyaC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMSA5aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+",Afe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMTMuMjA2IDEwNi4yNjVoLTEzLjYyM3YtODYuMjhhMS43NDkgMS43NDkgMCAwIDAgLTEuNTU0LTEuNzM4bC00Ni01LjE5MmExLjc1IDEuNzUgMCAwIDAgLTEuOTQ2IDEuNzM5djMuNDQxaC0xOS45MTZhMS43NSAxLjc1IDAgMCAwIC0xLjc1IDEuNzV2ODYuMjhoLTEzLjYyM2ExLjc1IDEuNzUgMCAxIDAgMCAzLjVoMzUuMjg5djMuNDQxYTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzUgMS42MSAxLjYxIDAgMCAwIC4yLS4wMTFsNDUuOS01LjE4aDE1LjI3NmExLjc1IDEuNzUgMCAwIDAgMC0zLjV6bS04MS4yODktODQuNTNoMTguMTY2djQuNWgtMTEuOTE3YTEuNzUgMS43NSAwIDAgMCAtMS43NSAxLjc1djc4LjI4aC00LjV6bTggODQuNTN2LTc2LjUzaDEwLjE2NnY3Ni41M3ptMTMuNjY2LTg5LjUxMyA0Mi41IDQuOHY4NC45bC00Mi41IDQuOHoiLz4KICAgICAgICA8cGF0aCBkPSJtNjEuMTI1IDU4Ljc5MmE1LjIwOCA1LjIwOCAwIDEgMCA1LjIwOCA1LjIwOCA1LjIxNCA1LjIxNCAwIDAgMCAtNS4yMDgtNS4yMDh6bTAgNi45MTZhMS43MDggMS43MDggMCAxIDEgMS43MDgtMS43MDggMS43MSAxLjcxIDAgMCAxIC0xLjcwOCAxLjcwOHoiLz4KICAgIDwvZz4KPC9zdmc+",mfe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQwMS4wNjcsMEgxMTAuOTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2NDk0LjkzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDI5MC4xMzMKCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y4LjUzM0M0MDkuNiwzLjgxNCw0MDUuNzc3LDAsNDAxLjA2NywweiBNMzkyLjUzMyw0OTQuOTMzSDExOS40NjdWMTcuMDY3aDI3My4wNjdWNDk0LjkzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzY2LjkzMywzNC4xMzNIMTQ1LjA2N2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjQ2MC44YzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjIxLjg2NwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzdi00NjAuOEMzNzUuNDY3LDM3Ljk0OCwzNzEuNjQ0LDM0LjEzMywzNjYuOTMzLDM0LjEzM3ogTTM1OC40LDQ5NC45MzNIMTUzLjZWNTEuMmgyMDQuOFY0OTQuOTMzegoJCQkiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDY4LjI2N2MtNDcuMDUzLDAtODUuMzMzLDM4LjI4MS04NS4zMzMsODUuMzMzdjguNTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTUzLjYKCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxNTMuNkMzNDEuMzMzLDEwNi41NDcsMzAzLjA1Myw2OC4yNjcsMjU2LDY4LjI2N3ogTTE4Ny43MzMsMTUzLjYKCQkJYzAtMzcuNjQxLDMwLjYyNi02OC4yNjcsNjguMjY3LTY4LjI2N2MzNy42NDEsMCw2OC4yNjcsMzAuNjI2LDY4LjI2Nyw2OC4yNjdIMTg3LjczM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywxODcuNzMzSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczMwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjE5Ni4yNjdDMjQ3LjQ2NywxOTEuNTQ4LDI0My42NDQsMTg3LjczMywyMzguOTMzLDE4Ny43MzN6IE0yMzAuNCwzMDcuMmgtNDIuNjY3VjIwNC44SDIzMC40CgkJCVYzMDcuMnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzMyLjgsMTg3LjczM2gtNTkuNzMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDMzMi44CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMTk2LjI2N0MzNDEuMzMzLDE5MS41NDgsMzM3LjUxLDE4Ny43MzMsMzMyLjgsMTg3LjczM3ogTTMyNC4yNjcsMzA3LjJIMjgxLjZWMjA0LjhoNDIuNjY3VjMwNy4yCgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNDEuMzMzSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczMwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjM0OS44NjdDMjQ3LjQ2NywzNDUuMTQ4LDI0My42NDQsMzQxLjMzMywyMzguOTMzLDM0MS4zMzN6IE0yMzAuNCw0NjAuOGgtNDIuNjY3VjM1OC40SDIzMC40CgkJCVY0NjAuOHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzMyLjgsMzQxLjMzM2gtNTkuNzMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDMzMi44CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzQ5Ljg2N0MzNDEuMzMzLDM0NS4xNDgsMzM3LjUxLDM0MS4zMzMsMzMyLjgsMzQxLjMzM3ogTTMyNC4yNjcsNDYwLjhIMjgxLjZWMzU4LjRoNDIuNjY3VjQ2MC44CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDY4LjI2N2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjg1LjMzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODE0LDguNTMzLTguNTMzVjc2LjgKCQkJQzI2NC41MzMsNzIuMDgxLDI2MC43MSw2OC4yNjcsMjU2LDY4LjI2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzIwLjQzNSw5Ny42OThjLTMuMzI4LTMuMzM2LTguNzMtMy4zMzYtMTIuMDY2LDBMMjQ5Ljk2NywxNTYuMWMtMy4zMzcsMy4zMzctMy4zMzcsOC43MywwLDEyLjA2NgoJCQljMS42NjQsMS42NjQsMy44NDksMi41LDYuMDMzLDIuNWMyLjE4NSwwLDQuMzY5LTAuODM2LDYuMDMzLTIuNWw1OC40MDItNTguNDAyQzMyMy43NzIsMTA2LjQyOCwzMjMuNzcyLDEwMS4wMzUsMzIwLjQzNSw5Ny42OTh6IgogICAgICAgIC8+CiAgICAgICAgPHBhdGggZD0iTTI2Mi4wMzMsMTU2LjFMMjAzLjYzMSw5Ny42OWMtMy4zMjgtMy4zMzctOC43My0zLjMzNy0xMi4wNjYsMGMtMy4zMzcsMy4zMzYtMy4zMzcsOC43MywwLDEyLjA2Nmw1OC40MDIsNTguNDExCgkJCWMxLjY2NCwxLjY2NCwzLjg0OSwyLjUsNi4wMzMsMi41YzIuMTg1LDAsNC4zNjktMC44MzYsNi4wMzMtMi41QzI2NS4zNywxNjQuODMsMjY1LjM3LDE1OS40MzcsMjYyLjAzMywxNTYuMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNTkuNzMzLDQ5NC45MzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM0MwLDUwOC4xODYsMy44MjMsNTEyLDguNTMzLDUxMmg1MS4yCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNjguMjY3LDQ5OC43NDgsNjQuNDQ0LDQ5NC45MzMsNTkuNzMzLDQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsNDk0LjkzM2gtMTAyLjRjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDEwMi40CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNTEyLDQ5OC43NDgsNTA4LjE3Nyw0OTQuOTMzLDUwMy40NjcsNDk0LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Ofe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjBhOTYgOTYgMCAxIDAgOTYgOTYgOTYuMTA4IDk2LjEwOCAwIDAgMCAtOTYtOTZ6bTAgMTc2YTgwIDgwIDAgMSAxIDgwLTgwIDgwLjA5MSA4MC4wOTEgMCAwIDEgLTgwIDgweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTI4YTEyOCAxMjggMCAxIDAgMTI4IDEyOCAxMjguMTQ1IDEyOC4xNDUgMCAwIDAgLTEyOC0xMjh6bTAgMjQwYTExMiAxMTIgMCAxIDEgMTEyLTExMiAxMTIuMTI3IDExMi4xMjcgMCAwIDEgLTExMiAxMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzMiA0ODh2LTQ2NGE4IDggMCAwIDAgLTgtOGgtMzM2YTggOCAwIDAgMCAtOCA4djQ2NGE4IDggMCAwIDAgOCA4aDMzNmE4IDggMCAwIDAgOC04em0tMzM2LTM3NmgzMjB2MzA0aC0zMjB6bTk2LTgwaDE0NHY0MGE4IDggMCAwIDAgOCA4aDcydjE2aC0yMjR6bTIyNCAzMmgtNjR2LTMyaDY0em0tMjQwLTMydjY0aC04MHYtNjR6bS04MCA0NDh2LTQ4aDMyMHY0OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4IDQwYTI0IDI0IDAgMSAwIDI0IDI0IDI0LjAyNyAyNC4wMjcgMCAwIDAgLTI0LTI0em0wIDMyYTggOCAwIDEgMSA4LTggOC4wMDkgOC4wMDkgMCAwIDEgLTggOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTEyIDU2aDQ4djE2aC00OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg4IDQwaDMydjE2aC0zMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg4IDcyaDMydjE2aC0zMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjcyIDIwMGE4IDggMCAwIDAgLTE2IDBjMCA2LjM3My0yLjQxNyA5LjE5MS02LjA3NCAxMy40NTgtNC40MjYgNS4xNTktOS45MjYgMTEuNTgtOS45MjYgMjMuODcyczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTMtNi4wNzQgMTMuNDYxYy00LjQyNiA1LjE1OS05LjkyNiAxMS41ODEtOS45MjYgMjMuODc0YTggOCAwIDAgMCAxNiAwYzAtNi4zNzUgMi40MTctOS4xOTQgNi4wNzQtMTMuNDYyIDQuNDIzLTUuMTU5IDkuOTI2LTExLjU4IDkuOTI2LTIzLjg3M3MtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXMyLjQxNy05LjE5MSA2LjA3NC0xMy40NThjNC40MjYtNS4xNTkgOS45MjYtMTEuNTggOS45MjYtMjMuODcyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOTYgMjM3LjMzYzAtNi4zNzMgMi40MTctOS4xOTIgNi4wNzUtMTMuNDYuODEyLS45NDcgMS42MjMtMS45IDIuNDA3LTIuODc4YTggOCAwIDAgMCAtMTIuNS05Ljk4NGMtLjY2OC44MzYtMS4zNjEgMS42NDEtMi4wNTMgMi40NDktNC40MjkgNS4xNTktOS45MjkgMTEuNTgxLTkuOTI5IDIzLjg3M3M1LjUgMTguNzE0IDkuOTI2IDIzLjg3M2MzLjY1NyA0LjI2OCA2LjA3NCA3LjA4NyA2LjA3NCAxMy40NjJzLTIuNDE3IDkuMTk0LTYuMDc1IDEzLjQ2MmMtLjgxMy45NDktMS42MjUgMS45LTIuNDA5IDIuODgxYTggOCAwIDAgMCAxMi41IDkuOTg0Yy42NjgtLjgzNyAxLjM2Mi0xLjY0NCAyLjA1NC0yLjQ1MiA0LjQzLTUuMTYgOS45My0xMS41ODIgOS45My0yMy44NzVzLTUuNS0xOC43MTUtOS45MjYtMjMuODc0Yy0zLjY1Ny00LjI2OC02LjA3NC03LjA5MS02LjA3NC0xMy40NjF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxNiAyMzcuMzNjMC02LjM3MyAyLjQxNy05LjE5MiA2LjA3NS0xMy40Ni44MTItLjk0NyAxLjYyMy0xLjkgMi40MDctMi44NzhhOCA4IDAgMCAwIC0xMi41LTkuOTg0Yy0uNjY4LjgzNi0xLjM2MSAxLjY0MS0yLjA1MyAyLjQ0OS00LjQyOSA1LjE1OS05LjkyOSAxMS41ODEtOS45MjkgMjMuODczczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTQtNi4wNzUgMTMuNDYyYy0uODEzLjk0OS0xLjYyNSAxLjktMi40MDkgMi44ODFhOCA4IDAgMCAwIDEyLjUgOS45ODRjLjY2OC0uODM3IDEuMzYyLTEuNjQ0IDIuMDU0LTIuNDUyIDQuNDMtNS4xNiA5LjkzLTExLjU4MiA5LjkzLTIzLjg3NXMtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXoiLz4KICAgIDwvZz4KPC9zdmc+",Efe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3Ni4wNjUgNDc2LjA2NSI+CjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+Cgk8cGF0aCBkPSJNNDMyLjU1OCwxNzIuMDJDNDE5LjMwMyw2NC41ODcsMzIxLjQ2Ni0xMS43NiwyMTQuMDMzLDEuNDk1UzMwLjI1MywxMTIuNTg3LDQzLjUwOCwyMjAuMDIKCQljMTEuMDA4LDg5LjIyMiw4MS4zMDMsMTU5LjUxNywxNzAuNTI1LDE3MC41MjV2MzcuNTJoLTU2Yy0xMy4yNTUsMC0yNCwxMC43NDUtMjQsMjR2MjRoMjA4di0yNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTU2CgkJdi0zNy41MkMzNjkuNDY2LDM3Ny4yOSw0NDUuODEzLDI3OS40NTMsNDMyLjU1OCwxNzIuMDJ6IE0zMTguMDMzLDQ0NC4wNjVjNC40MTgsMCw4LDMuNTgyLDgsOHY4aC0xNzZ2LThjMC00LjQxOCwzLjU4Mi04LDgtOAoJCUgzMTguMDMzeiBNMjMwLjAzMyw0MjguMDY1di0zMmgxNnYzMkgyMzAuMDMzeiBNMjM4LjAzMywzNzYuMDY1Yy05OS40MTEsMC0xODAtODAuNTg5LTE4MC0xODAKCQljMC4xMTUtOTkuMzY0LDgwLjYzNi0xNzkuODg1LDE4MC0xODBjOTkuNDExLDAsMTgwLDgwLjU4OSwxODAsMTgwUzMzNy40NDQsMzc2LjA2NSwyMzguMDMzLDM3Ni4wNjV6Ii8+Cgk8cGF0aCBkPSJNNDA2LjAzMywyMTIuMDY1di0xNmMwLTQuNDE4LTMuNTgyLTgtOC04aC05My41MzZjMzkuOC0yNy44MzIsNDkuNTAyLTgyLjY1OCwyMS42Ny0xMjIuNDU4CgkJYy0xNi40NjctMjMuNTQ4LTQzLjQtMzcuNTY1LTcyLjEzNC0zNy41NDJoLTE2Yy00LjQxOCwwLTgsMy41ODItOCw4djkzLjUzNmMtMjcuODMyLTM5LjgtODIuNjU4LTQ5LjUwMi0xMjIuNDU4LTIxLjY3CgkJYy0yMy41NDgsMTYuNDY3LTM3LjU2NSw0My40LTM3LjU0Miw3Mi4xMzR2MTZjMCw0LjQxOCwzLjU4Miw4LDgsOGg5My41MzZjLTIzLjQ2NSwxNi40NzgtMzcuNDYzLDQzLjMyOC0zNy41MzYsNzIKCQljMC4wNTcsNDguNTc3LDM5LjQyMyw4Ny45NDMsODgsODhoMTZjNC40MTgsMCw4LTMuNTgyLDgtOHYtOTMuNTM2YzI3LjgzMiwzOS44LDgyLjY1OCw0OS41MDIsMTIyLjQ1OCwyMS42NwoJCUMzOTIuMDM4LDI2Ny43MzMsNDA2LjA1NiwyNDAuOCw0MDYuMDMzLDIxMi4wNjV6IE0yNDYuMDMzLDQ0LjA2NWg4YzM5Ljc2NCwwLjA1NSw3MS45NTUsMzIuMzM2LDcxLjksNzIuMQoJCWMtMC4wNDMsMzEuMTctMjAuMTM4LDU4Ljc3Mi00OS43ODgsNjguMzg4Yy00LjIwMi0xNC4wNTItMTUuNzU4LTI0LjY3Ny0zMC4xMTItMjcuNjg4VjQ0LjA2NXogTTg2LjAzMywxODguMDY1di04CgkJYzAuMDczLTM5Ljc2NCwzMi4zNjgtNzEuOTQsNzIuMTMzLTcxLjg2N2MzMS4xNDgsMC4wNTcsNTguNzI3LDIwLjEzOCw2OC4zNDcsNDkuNzYzYy0xNC4wNDcsNC4yMDMtMjQuNjY4LDE1Ljc1NS0yNy42OCwzMC4xMDQKCQlIODYuMDMzeiBNMjMwLjAzMywzNDguMDY1aC04Yy0zOS43NjQtMC4wNTUtNzEuOTU1LTMyLjMzNi03MS45LTcyLjFjMC4wNDMtMzEuMTcsMjAuMTM4LTU4Ljc3Miw0OS43ODgtNjguMzg4CgkJYzQuMjAyLDE0LjA1MiwxNS43NTgsMjQuNjc3LDMwLjExMiwyNy42ODhWMzQ4LjA2NXogTTIzOC4wMzMsMjIwLjA2NWMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNAoJCXMyNCwxMC43NDUsMjQsMjRTMjUxLjI4NywyMjAuMDY1LDIzOC4wMzMsMjIwLjA2NXogTTMxNy45LDI4My45MzJjLTMxLjE0OC0wLjA1Ny01OC43MjctMjAuMTM4LTY4LjM0Ny00OS43NjMKCQljMTQuMDQ3LTQuMjAzLDI0LjY2OC0xNS43NTUsMjcuNjgtMzAuMTA0aDExMi44djhDMzg5Ljk1OSwyNTEuODMsMzU3LjY2NCwyODQuMDA2LDMxNy45LDI4My45MzJ6Ii8+CjwvZz4KPC9zdmc+Cg==",ffe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuOTk5LDEyNi4wMDFoLTAuMDI3YzYuMjkyLTguMzYyLDEwLjAyNy0xOC43NTIsMTAuMDI3LTMwYzAtMjcuNTctMjIuNDMtNTAuMDAxLTUwLTUwLjAwMQoJCXMtNTAuMDAxLDIyLjQzLTUwLjAwMSw1MC4wMDFjMCwxMS4yNDgsMy43MzYsMjEuNjM4LDEwLjAyNywzMGgtMC4wMjdjLTUuNTIyLDAtMTAsNC40NzctMTAsMTB2MzUuNTQ1CgkJYy0xMS4zMjgtNy4yMzMtMjMuMTI4LTEzLjY1OC0zNS4zMzQtMTkuMjQxdi0xNi4zMDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHMtMTAsNC40NzctMTAsMTB2OC4wMzcKCQljLTMuMzY5LTEuMjQ3LTYuNzY0LTIuNDM4LTEwLjE4Ni0zLjU2MmMtOC4yOTEtMi43MjMtMTYuNjgzLTUuMDUyLTI1LjE0Ni03LjAxMXYtMjAuODMzYzAtNS41MjMtNC40NzgtMTAtMTAtMTAKCQljLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTYuOTMyYy0xMS42OC0xLjg0OS0yMy40NzQtMi45NzQtMzUuMzMyLTMuMzgxVjk2LjAwMWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwCgkJdjMwLjE4M2MtMTEuODU5LDAuNDA3LTIzLjY1MywxLjUzMi0zNS4zMzMsMy4zODF2LTE2LjkzMmMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjIwLjgzMwoJCWMtOC40NjIsMS45NTktMTYuODUyLDQuMjg3LTI1LjE0Miw3LjAwOWMtMy40MjQsMS4xMjQtNi44MTksMi4zMTYtMTAuMTkxLDMuNTYzdi04LjAzN2MwLTUuNTIzLTQuNDc3LTEwLTEwLTEwCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE2LjMwNGMtMTIuMjA1LDUuNTgzLTI0LjAwNCwxMi4wMDctMzUuMzM0LDE5LjI0di0zNS41NDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMC4wMjcKCQljNi4yOTMtOC4zNjIsMTAuMDI3LTE4Ljc1MiwxMC4wMjctMzBjMC0yNy41Ny0yMi40My01MC01MC01MHMtNTAsMjIuNDMtNTAsNTBjMCwxMS4yNDgsMy43MzQsMjEuNjM4LDEwLjAyNywzMEgxMAoJCWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYzMTkuOTk5YzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDBoNDBoMzEuMDMzYzUuNTIyLDAsMTAtNC40NzcsMTAtMTBjMC01LjUyMi00LjQ3OC0xMC0xMC0xMEgxMDAKCQl2LTIwLjAwMWgzMTEuOTk4djIwLjAwMWgtMjEuMDMzYy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMzEuMDMzaDQwLjAwMWg0MGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwCgkJVjEzNi4wMDFDNTExLjk5OSwxMzAuNDc3LDUwNy41MjEsMTI2LjAwMSw1MDEuOTk5LDEyNi4wMDF6IE04MCw0NDUuOTk5SDUwSDIwVjE0Ni4wMDFoMjB2NDEuODk4YzAsNS41MjMsNC40NzcsMTAsMTAsMTAKCQlzMTAtNC40NzcsMTAtMTB2LTQxLjg5OGgyMFY0NDUuOTk5eiBNNTAsMTI2LjAwMWMtMTYuNTQzLDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1Ny0zMCwzMC0zMGMxNi41NDMsMCwzMCwxMy40NTgsMzAsMzAKCQlTNjYuNTQzLDEyNi4wMDEsNTAsMTI2LjAwMXogTTEzNS4zMzQsNDA1Ljk5OEgxMDBWMTk1LjYyOWMxMS4zMTgtOC4wMiwyMy4xMjYtMTUuMDk1LDM1LjMzNC0yMS4yMThWNDA1Ljk5OHogTTE5MC42NjcsNDA2CgkJaC0zNS4zMzNWMTY1LjM4NGMxMS41LTQuNjMsMjMuMjk4LTguNDQ5LDM1LjMzMy0xMS40MzdWNDA2eiBNMjQ2LDQwNmgtMzUuMzMzVjE0OS43ODdjMTEuNjE0LTEuOTU4LDIzLjQwOS0zLjE2OCwzNS4zMzMtMy41OTkKCQlWNDA2eiBNMzAxLjMzMiw0MDUuOTk4SDI2NnYtMjU5LjgxYzExLjkyNCwwLjQzMSwyMy43MTcsMS42NDEsMzUuMzMyLDMuNTk5VjQwNS45OTh6IE0zNTYuNjY0LDQwNS45OTloLTM1LjMzMlYxNTMuOTQ4CgkJYzEyLjAzNSwyLjk4OCwyMy44MzIsNi44MDcsMzUuMzMyLDExLjQzOFY0MDUuOTk5eiBNNDExLjk5OCw0MDUuOTk4aC0zNS4zMzRWMTc0LjQxMmMxMi4yMDksNi4xMjMsMjQuMDE3LDEzLjIsMzUuMzM0LDIxLjIyCgkJVjQwNS45OTh6IE00OTEuOTk5LDQ0NS45OTloLTMwaC0zMC4wMDFWMTQ2LjAwMWgyMC4wMDF2NDEuODk4YzAsNS41MjMsNC40NzgsMTAsMTAsMTBjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtNDEuODk4aDIwCgkJVjQ0NS45OTl6IE00NjEuOTk5LDEyNi4wMDFjLTE2LjU0MiwwLTMwLjAwMS0xMy40NTgtMzAuMDAxLTMwYzAtMTYuNTQzLDEzLjQ1OS0zMC4wMDEsMzAuMDAxLTMwLjAwMQoJCWMxNi41NDIsMCwzMCwxMy40NTgsMzAsMzAuMDAxQzQ5MS45OTksMTEyLjU0Miw0NzguNTQxLDEyNi4wMDEsNDYxLjk5OSwxMjYuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNTAsNDQ1Ljk5OWgtMC4yMzZjLTUuNTIzLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMEgxNTBjNS41MjMsMCwxMC00LjQ3NywxMC0xMAoJCUMxNjAsNDUwLjQ3NywxNTUuNTIzLDQ0NS45OTksMTUwLDQ0NS45OTl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2Mi4yMzQsNDQ1Ljk5OWgtMC4yMzdjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3OCwxMCwxMCwxMGgwLjIzN2M1LjUyMywwLDEwLTQuNDc3LDEwLTEwCgkJQzM3Mi4yMzQsNDUwLjQ3NywzNjcuNzU4LDQ0NS45OTksMzYyLjIzNCw0NDUuOTk5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MCwyMDYuNjMxYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjAuMjM1YzAsNS41MjMsNC40NzcsMTAsMTAsMTBzMTAtNC40NzcsMTAtMTB2LTAuMjM1CgkJQzYwLDIxMS4xMDgsNTUuNTIzLDIwNi42MzEsNTAsMjA2LjYzMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDYxLjk5OSwyMDYuNjMxYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjAuMjM1YzAsNS41MjMsNC40NzgsMTAsMTAsMTBjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtMC4yMzUKCQlDNDcxLjk5OSwyMTEuMTA4LDQ2Ny41MjEsMjA2LjYzMSw0NjEuOTk5LDIwNi42MzF6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",xfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDQuMDA1LDEwOC4wMDNjLTEzLjI1NSwwLTI0LDEwLjc0NS0yNCwyNGMwLDQuNDE4LDMuNTgyLDgsOCw4czgtMy41ODIsOC04czMuNTgyLTgsOC04czgtMy41ODIsOC04CgkJCVMxMDguNDIzLDEwOC4wMDMsMTA0LjAwNSwxMDguMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zODUuMzU3LDc2LjExNWwtMjgwLTQ4Yy0wLjQ0Ny0wLjA3My0wLjg5OS0wLjExMS0xLjM1Mi0wLjExMkM0Ni42MTIsMjcuOTU2LDAuMDQ3LDc0LjQ0NCwwLDEzMS44MzcKCQkJYy0wLjAyNiwzMS4wNTksMTMuODQzLDYwLjUwMSwzNy44MDUsODAuMjYxbDU4LjQ0LDIzMy44NDhjMC44OTIsMy41NTksNC4wOTEsNi4wNTYsNy43Niw2LjA1Nmg2NAoJCQljNC40MTgsMC4wMDgsOC4wMDctMy41NjYsOC4wMTUtNy45ODVjMC0wLjE3MS0wLjAwNS0wLjM0MS0wLjAxNS0wLjUxMWwtMTMuNi0yMTcuNGwyMjIuOTItMzguMjE2CgkJCWMzLjg1NC0wLjY0NSw2LjY3OS0zLjk4LDYuNjgtNy44ODh2LTk2QzM5Mi4wMDcsODAuMTA1LDM4OS4xOTksNzYuNzczLDM4NS4zNTcsNzYuMTE1eiBNMTEwLjI1Myw0MzYuMDAzTDU3LjYwNSwyMjUuMTcxCgkJCWMwLjUwNCwwLjI0OCwxLjA0LDAuNDE2LDEuNTQ0LDAuNjY0YzIuNTc2LDEuMjMyLDUuMTg5LDIuMzUyLDcuODQsMy4zNmMwLjc0NCwwLjI4LDEuNDY0LDAuNiwyLjIwOCwwLjg2NAoJCQljMy4zMTksMS4xNzQsNi42OTcsMi4xNzUsMTAuMTIsM2MwLjgsMC4xOTIsMS42LDAuMzI4LDIuNCwwLjUwNGMyLjc2OCwwLjU5Miw1LjU2NSwxLjA3Nyw4LjM5MiwxLjQ1NgoJCQljMS4wMDgsMC4xMjgsMi4wMTYsMC4yNjQsMy4wMjQsMC4zNjhjMy42MTEsMC4zOSw3LjI0LDAuNTk2LDEwLjg3MiwwLjYxNmMwLjQ1My0wLjAwMSwwLjkwNS0wLjAzOSwxLjM1Mi0wLjExMmw0MS4yMTYtNy4wODgKCQkJbDEyLjkyLDIwNy4ySDExMC4yNTN6IE0zNDQuMDA1LDE3OC43MzlsLTIzOC4wODgsNDAuOGwtMi41NzYsMC40NjRjLTQ4LjM2Ny0wLjMwNC04Ny4zOTktMzkuNjMyLTg3LjMzNi04OAoJCQljMC4wNTUtNDguMzIsMzkuMDE4LTg3LjU3OSw4Ny4zMzYtODhsMjQwLjY2NCw0MS4yNjRWMTc4LjczOXogTTM3Ni4wMDUsMTczLjI1OWwtMTYsMi43NDR2LTg4bDE2LDIuNzQ0VjE3My4yNTl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwNC4wMDUsNzYuMDAzYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2CgkJCUMxNjAuMDA1LDEwMS4wNzUsMTM0LjkzMyw3Ni4wMDMsMTA0LjAwNSw3Ni4wMDN6IE0xMDQuMDA1LDE3Mi4wMDNjLTIyLjA5MSwwLTQwLTE3LjkwOS00MC00MGMwLjAyNi0yMi4wOCwxNy45Mi0zOS45NzQsNDAtNDAKCQkJYzIyLjA5MSwwLDQwLDE3LjkwOSw0MCw0MFMxMjYuMDk3LDE3Mi4wMDMsMTA0LjAwNSwxNzIuMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNDEuOTMzLDQxMS41MjNsLTkuNjY0LTE1NS4wMjRjLTAuMjc2LTQuNDE4LTQuMDgyLTcuNzc2LTguNS03LjVjLTQuNDE4LDAuMjc2LTcuNzc2LDQuMDgyLTcuNSw4LjVsOS42NjQsMTU1CgkJCWMwLjI2Myw0LjIyNywzLjc3Myw3LjUxNiw4LjAwOCw3LjUwNGMwLjE2OCwwLDAuMzM2LDAsMC41MDQsMEMxMzguODU0LDQxOS43MjgsMTQyLjIwNyw0MTUuOTMyLDE0MS45MzMsNDExLjUyM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDcyLjAwNSwxMjQuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsMTI0LjAwMyw0NzIuMDA1LDEyNC4wMDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ3Mi4wMDUsMTU2LjAwM2gtNDhjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoNDhjNC40MTgsMCw4LTMuNTgyLDgtOFM0NzYuNDIzLDE1Ni4wMDMsNDcyLjAwNSwxNTYuMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NzIuMDA1LDkyLjAwM2gtNDhjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoNDhjNC40MTgsMCw4LTMuNTgyLDgtOFM0NzYuNDIzLDkyLjAwMyw0NzIuMDA1LDkyLjAwM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",_fe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00OC40NTcsNzcuMjI3YTguMDYzLDguMDYzLDAsMCwwLTEwLjQsMTIuMzI1djYuOTI3YTUuMjczLDUuMjczLDAsMCwwLDEwLjU0NSwwVjg5LjU1M2E4LjA2Myw4LjA2MywwLDAsMC0uMTQ2LTEyLjMyNlpNNDUuODc0LDg3LjI0YTEuNzUsMS43NSwwLDAsMC0uNzcxLDEuNDUxdjcuNzg3YTEuNzczLDEuNzczLDAsMCwxLTMuNTQ1LDBWODguNjkxYTEuNzQ3LDEuNzQ3LDAsMCwwLS43NzMtMS40NTFBNC41NjYsNC41NjYsMCwwLDEsNDIuNCw3OC45NzhhNC44NzYsNC44NzYsMCwwLDEsLjk0LS4wOTIsNC41LDQuNSwwLDAsMSwyLjg5MywxLjA0MSw0LjU2Miw0LjU2MiwwLDAsMS0uMzU2LDcuMzEzWiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDUuMjI4LDQ0LjY2Myw2NS41OCw0My4zNlYxOS41MTRhNS4zNyw1LjM3LDAsMCwwLTUuMzYzLTUuMzY0SDI2LjQ0M2E1LjM3LDUuMzcsMCwwLDAtNS4zNjMsNS4zNjR2ODguOTcyYTUuMzcsNS4zNywwLDAsMCw1LjM2Myw1LjM2NEg2MC4yMTdhNS4zNyw1LjM3LDAsMCwwLDUuMzYzLTUuMzY0VjU5LjhsMzkuNjQ4LTEuM2ExLjc1LDEuNzUsMCwwLDAsMS42OTItMS43NDlWNDYuNDEyQTEuNzUsMS43NSwwLDAsMCwxMDUuMjI4LDQ0LjY2M1pNNjIuMDgsMTA4LjQ4NmExLjg2NiwxLjg2NiwwLDAsMS0xLjg2MywxLjg2NEgyNi40NDNhMS44NjYsMS44NjYsMCwwLDEtMS44NjMtMS44NjRWMTkuNTE0YTEuODY2LDEuODY2LDAsMCwxLDEuODYzLTEuODY0SDYwLjIxN2ExLjg2NiwxLjg2NiwwLDAsMSwxLjg2MywxLjg2NFY0My4yNDVsLTYuMjY3LS4yMDZhMTUuMTI3LDE1LjEyNywwLDEsMCwwLDE3LjA4Nmw2LjI2NC0uMjA2Wk00NC4zOSw2MC41aDBMNTEsNjAuMjg0YTExLjYxMiwxMS42MTIsMCwxLDEsLjA0LTE3LjRsLTYuNjQ5LS4yMTloLS4wNThBOC45Miw4LjkyLDAsMSwwLDQ0LjM5LDYwLjVabTU5LjAzLTUuNDQyLTM5LjU4NywxLjNoLS4wMDhMNDQuMzM0LDU3YTUuNDIsNS40MiwwLDAsMS0uMDI3LTEwLjg0bDU5LjExMywxLjk0M1oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Sfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuMzQsMTE3LjMzNmMtNS45MDYsMC0xMC42ODgsNC43NzMtMTAuNjg4LDEwLjY2NHY4NS4zMzVINDY5LjM0di0yMS4zMzZjMC0yMy41MjMtMTkuMTU2LTQyLjY2My00Mi42ODgtNDIuNjYzCgkJYy0xMi43MTgsMC0yNC4xNTUsNS42MDktMzEuOTk5LDE0LjQ5MWMtNy44MTItOC44ODItMTkuMjUtMTQuNDkxLTMyLTE0LjQ5MWMtMTIuNzE4LDAtMjQuMTU1LDUuNjA5LTMxLjk5OSwxNC40OTEKCQljLTcuODEyLTguODgyLTE5LjI1LTE0LjQ5MS0zMi0xNC40OTFjLTEyLjcxOSwwLTI0LjE1Niw1LjYwOS0zMS45OTIsMTQuNDkxYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxCgkJYy0xMi43MjYsMC0yNC4xNzEsNS42MDktMzIsMTQuNDkxYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xMi43MjYsMC0yNC4xNzEsNS42MDktMzIsMTQuNDkxCgkJYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xOS44MzUsMC0zNi41NywxMy42MTYtNDEuMzIsMzEuOTk5SDMyYy01Ljg5MSwwLTEwLjY2NCw0Ljc3My0xMC42NjQsMTAuNjY0djIxLjMzNkgxMC42NjQKCQlDNC43NzMsMjEzLjMzNSwwLDIxOC4xMDgsMCwyMjMuOTk5czQuNzczLDEwLjY2NCwxMC42NjQsMTAuNjY0aDEwLjY3MnYyMS4zMzZjMCw1Ljg5MSw0Ljc3MywxMC42NjQsMTAuNjY0LDEwLjY2NGgzMnYyMDIuNjc4CgkJYzAsMjMuNTE2LDE5LjE0MSw0Mi42NTYsNDIuNjY0LDQyLjY1NmMxMi43NDIsMCwyNC4xOC01LjYyNSwzMi0xNC41YzcuODI4LDguODc1LDE5LjI3MywxNC41LDMyLDE0LjUKCQljMTIuNzQyLDAsMjQuMTgtNS42MjUsMzItMTQuNWM3LjgyOCw4Ljg3NSwxOS4yNzMsMTQuNSwzMiwxNC41YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjUKCQljNy44MzYsOC44NzUsMTkuMjczLDE0LjUsMzEuOTkyLDE0LjVjMTIuNzUsMCwyNC4xODgtNS42MjUsMzItMTQuNWM3Ljg0NCw4Ljg3NSwxOS4yODEsMTQuNSwzMS45OTksMTQuNQoJCWMxMi43NSwwLDI0LjE4OC01LjYyNSwzMi0xNC41YzcuODQ0LDguODc1LDE5LjI4MSwxNC41LDMxLjk5OSwxNC41YzIzLjUzMSwwLDQyLjY4OC0xOS4xNDEsNDIuNjg4LTQyLjY1NlYyMzQuNjYzaDMyCgkJYzUuODc1LDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRWMTI4QzUxMS45OTYsMTIyLjEwOSw1MDcuMjE1LDExNy4zMzYsNTAxLjM0LDExNy4zMzZ6IE02NCwyNDUuMzM1SDQyLjY2NHYtNDIuNjcySDY0VjI0NS4zMzUKCQl6IE0xMjcuOTk5LDQ2OS4zNDFjMCwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMjU1Ljk5OXYtNjQKCQljMC0xMS43NTgsOS41Ny0yMS4zMzYsMjEuMzI4LTIxLjMzNmMxMS43NzMsMCwyMS4zMzYsOS41NzgsMjEuMzM2LDIxLjMzNlY0NjkuMzQxeiBNMTkxLjk5OSw0NjkuMzQxCgkJYy0wLjAwMSwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2CgkJYzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6IE0yNTUuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzM2LDIxLjMxMgoJCWMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2YzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6CgkJIE0zMTkuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzUsMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5CgkJYzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2YzExLjc4MSwwLDIxLjM0NCw5LjU3OCwyMS4zNDQsMjEuMzM2VjQ2OS4zNDF6IE0zODMuOTk3LDQ2OS4zNDEKCQljMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzQ5LDAtMjEuMzEyLTkuNTYyLTIxLjMxMi0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU2Mi0yMS4zMzYsMjEuMzEyLTIxLjMzNgoJCWMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNNDQ3Ljk5Niw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjM0NCwyMS4zMTIKCQljLTExLjc0OSwwLTIxLjMxMi05LjU2Mi0yMS4zMTItMjEuMzEyVjE5MS45OTljMC0xMS43NTgsOS41NjItMjEuMzM2LDIxLjMxMi0yMS4zMzZjMTEuNzgxLDAsMjEuMzQ0LDkuNTc4LDIxLjM0NCwyMS4zMzZWNDY5LjM0MQoJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzU2Ljg3MSwxMDMuNjcyYy0xLjMxMi00LjUzOS0wLjUtNy44NDQsMi42ODgtMTEuMDU1YzguNjU2LTguNjk1LDExLjUzMS0xOS45ODQsOC4wNjItMzEuODEyCgkJCWMtMi4zMTItNy45MzgtNi44MTItMTMuNTQ3LTcuMzc1LTE0LjI1Yy0wLjAzMSwwLTAuMDMxLTAuMDA4LTAuMDMxLTAuMDA4di0wLjAxNWMtMS45NjktMi4zNTktNC45MDYtMy44NjctOC4yMTktMy44NjcKCQkJYy01Ljg5LDAtMTAuNjU1LDQuNzgxLTEwLjY1NSwxMC42NzJjMCwyLjU4NiwwLjkwNiw0Ljk2MSwyLjQzOCw2LjgwNWMwLjAzMSwwLjAyMywyLjI4MSwyLjkzOCwzLjM3NSw2LjY1NgoJCQljMS4yNjYsNC4zNjcsMC40NjksNy41ODYtMi43MTksMTAuNzY2Yy04LjYyNSw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc4LDMxLjk5OGMyLjMyOCw4LjEwMiw2LjgyOCwxMy44MzYsNy4zMjgsMTQuNDY5di0wLjAwOAoJCQljMS45NjksMi40MjIsNC45NTMsMy45NzcsOC4zMTIsMy45NzdjNS44OTEsMCwxMC42NTYtNC43NzMsMTAuNjU2LTEwLjY2NGMwLTIuNTM5LTAuODc1LTQuODY3LTIuMzQ0LTYuNjk1CgkJCUMzNjAuMjc4LDExMC42MSwzNTcuOTY1LDEwNy41NTUsMzU2Ljg3MSwxMDMuNjcyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNjguNjU2LDk2LjYxYy0yLjQ2MS05LjgzNi0wLjQ5Mi0xOC4xOTUsNi0yNS41NDdjMTEuNDA2LTEyLjg5MSwxNS4wMzEtMjguNjk1LDEwLjUtNDUuNzI2CgkJCWMtMy4xODgtMTEuOTM4LTkuMzEyLTIwLjIyNy0xMC0yMS4xMzNWNC4yMmMtMS45NjktMi41NTUtNS4wMjMtNC4yMTktOC40OTItNC4yMTljLTUuODkzLDAtMTAuNjY2LDQuNzczLTEwLjY2NiwxMC42NjQKCQkJYzAsMi40MTQsMC44MDUsNC42MzMsMi4xNTYsNi40MTRoLTAuMDE2YzAuMDQ3LDAuMDYyLDQuNDkyLDYuMTA5LDYuNTQ3LDE0LjMyYzIuNDUzLDkuODI3LDAuNDg0LDE4LjE4Ny02LjAxNiwyNS41MzgKCQkJYy0xMS4zOSwxMi44OTEtMTUuMDE1LDI4LjY5Ni0xMC40ODMsNDUuNzI3YzMuMTcyLDExLjkzOCw5LjMwNSwyMC4yMjcsOS45ODQsMjEuMTMzbDAuMDE2LTAuMDE2CgkJCWMxLjk0NSwyLjU3LDUuMDE2LDQuMjE5LDguNDc3LDQuMjE5YzUuODk4LDAsMTAuNjgtNC43NzMsMTAuNjgtMTAuNjY0YzAtMi40MTQtMC44MTItNC42MzMtMi4xNTYtNi40MTQKCQkJQzI3NS4xNCwxMTAuODYsMjcwLjY5NSwxMDQuODEzLDI2OC42NTYsOTYuNjF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE4OS42NCwxMTAuNjQxYy0wLjAyMy0wLjAzMS0yLjMyOC0zLjA4Ni0zLjQ0NS02Ljk2OWMtMS4zMDUtNC41MzktMC41LTcuODQ0LDIuNjk1LTExLjA1NQoJCQljOC42NjQtOC42OTUsMTEuNTIzLTE5Ljk4NCw4LjA2Mi0zMS44MTJjLTIuMzItNy45MzgtNi43ODktMTMuNTMxLTcuMzkxLTE0LjI1YzAsMCwwLTAuMDA4LTAuMDA4LTAuMDA4bC0wLjAwOC0wLjAyM3YwLjAwOAoJCQljLTEuOTYxLTIuMzU5LTQuOTA2LTMuODY3LTguMjExLTMuODY3Yy01Ljg5MSwwLTEwLjY3Miw0Ljc4MS0xMC42NzIsMTAuNjcyYzAsMi41ODYsMC45MjIsNC45NjEsMi40NTMsNi44MDUKCQkJYzAuMDIzLDAuMDIzLDIuMjczLDIuOTM4LDMuMzU5LDYuNjU2YzEuMjgxLDQuMzY3LDAuNDY5LDcuNTg2LTIuNzAzLDEwLjc2NmMtOC42NCw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc3LDMxLjk5OAoJCQljMi4zMjgsOC4xMDIsNi44MjgsMTMuODM2LDcuMzM2LDE0LjQ2OXYtMC4wMDhjMS45NjEsMi40MjIsNC45NDUsMy45NzcsOC4zMDUsMy45NzdjNS44OTEsMCwxMC42NjQtNC43NzMsMTAuNjY0LTEwLjY2NAoJCQljMC0yLjUzOS0wLjg5MS00Ljg2Ny0yLjM2Ny02LjY5NUgxODkuNjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",kfe="PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIC0xIDQ5NiA0OTUiIHdpZHRoPSI0OTZwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ4OCAzMjAuNWgtNDB2LTMyYzAtMi4xMjg5MDYtLjgzOTg0NC00LjE2MDE1Ni0yLjM0Mzc1LTUuNjU2MjVsLTEyMC0xMjBjLTEuNDk2MDk0LTEuNTAzOTA2LTMuNTI3MzQ0LTIuMzQzNzUtNS42NTYyNS0yLjM0Mzc1aC0xNnYtMTUyYzAtNC40MjU3ODEtMy41NzQyMTktOC04LThoLTk2Yy00LjQyNTc4MSAwLTggMy41NzQyMTktOCA4djE1MmgtMjRjLTIuMTI4OTA2IDAtNC4xNjAxNTYuODM5ODQ0LTUuNjU2MjUgMi4zNDM3NWwtMTIwIDEyMGMtMS41MDM5MDYgMS40OTYwOTQtMi4zNDM3NSAzLjUyNzM0NC0yLjM0Mzc1IDUuNjU2MjV2MzJoLTMyYy00LjQyNTc4MSAwLTggMy41NzQyMTktOCA4djQ4YzAgNC40MjU3ODEgMy41NzQyMTkgOCA4IDhoNDgwYzQuNDI1NzgxIDAgOC0zLjU3NDIxOSA4LTh2LTQ4YzAtNC40MjU3ODEtMy41NzQyMTktOC04LTh6bS0yODAtMzA0aDgwdjE5MmgtODB6bS0xNTIgMjc1LjMxMjUgMTE1LjMxMjUtMTE1LjMxMjVoMjAuNjg3NXY0MGMwIDQuNDI1NzgxIDMuNTc0MjE5IDggOCA4aDk2YzQuNDI1NzgxIDAgOC0zLjU3NDIxOSA4LTh2LTQwaDEyLjY4NzVsMTE1LjMxMjUgMTE1LjMxMjV2MjguNjg3NWgtMzc2em00MjQgNzYuNjg3NWgtNDY0di0zMmg0NjR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNzkuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjI3LjMxMjUgNDQwLjVjLTIuMTM2NzE5LTIuMTQ0NTMxLTMuMzEyNS00Ljk3NjU2Mi0zLjMxMjUtOHMxLjE3NTc4MS01Ljg1NTQ2OSAzLjMxMjUtOGwxMC4zNDM3NS0xMC4zNDM3NS0xMS4zMTI1LTExLjMxMjUtMTAuMzQzNzUgMTAuMzQzNzVjLTUuMTYwMTU2IDUuMTYwMTU2LTggMTIuMDE1NjI1LTggMTkuMzEyNXMyLjgzOTg0NCAxNC4xNjAxNTYgOCAxOS4zMTI1bDQuNjg3NSA0LjY4NzVjMi4xMzY3MTkgMi4xNDQ1MzEgMy4zMTI1IDQuOTc2NTYyIDMuMzEyNSA4cy0xLjE3NTc4MSA1Ljg1NTQ2OS0zLjMxMjUgOGwtMTAuMzQzNzUgMTAuMzQzNzUgMTEuMzEyNSAxMS4zMTI1IDEwLjM0Mzc1LTEwLjM0Mzc1YzUuMTYwMTU2LTUuMTYwMTU2IDgtMTIuMDE1NjI1IDgtMTkuMzEyNXMtMi44Mzk4NDQtMTQuMTYwMTU2LTgtMTkuMzEyNXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI3NS4zMTI1IDQ0MC41Yy0yLjEzNjcxOS0yLjE0NDUzMS0zLjMxMjUtNC45NzY1NjItMy4zMTI1LThzMS4xNzU3ODEtNS44NTU0NjkgMy4zMTI1LThsMTAuMzQzNzUtMTAuMzQzNzUtMTEuMzEyNS0xMS4zMTI1LTEwLjM0Mzc1IDEwLjM0Mzc1Yy01LjE2MDE1NiA1LjE2MDE1Ni04IDEyLjAxNTYyNS04IDE5LjMxMjVzMi44Mzk4NDQgMTQuMTYwMTU2IDggMTkuMzEyNWw0LjY4NzUgNC42ODc1YzIuMTM2NzE5IDIuMTQ0NTMxIDMuMzEyNSA0Ljk3NjU2MiAzLjMxMjUgOHMtMS4xNzU3ODEgNS44NTU0NjktMy4zMTI1IDhsLTEwLjM0Mzc1IDEwLjM0Mzc1IDExLjMxMjUgMTEuMzEyNSAxMC4zNDM3NS0xMC4zNDM3NWM1LjE2MDE1Ni01LjE2MDE1NiA4LTEyLjAxNTYyNSA4LTE5LjMxMjVzLTIuODM5ODQ0LTE0LjE2MDE1Ni04LTE5LjMxMjV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjMuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzg0IDI4OC41aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAyODguNWgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAgMjg4LjVoMTZ2MTZoLTE2em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Yfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDUgNTEyLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0zMjcuMTU5LDIuNzY2Yy00LjA2My0zLjY4OC0xMC4yNS0zLjY4OC0xNC4zMTMsMGMtNC42NDIsNC4xODYtMTEwLjg4OSwxMDEuMjkyLTE2MC4yMjgsMjEzLjgzOQoJCQkJYy01LjMxOC0xLjg2Ny0xMS40NC0zLjI2Ni0xOS4zNTUtMy4yNjZjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2CgkJCQljLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3CgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWMxMiwwLDE3LjU2MywzLjg2NSwyNC42MDQsOC43NgoJCQkJYzguMDUyLDUuNjA0LDE4LjA4MywxMi41NzMsMzYuNzcxLDEyLjU3M2MxOC42NzcsMCwyOC43MDgtNi45NjksMzYuNzcxLTEyLjU3M2M3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NgoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzMKCQkJCWMtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTExLjIwOCwwLTE2LjgyMy0zLjQxOS0yMy4yNDItNy44NTRjNDAuMTIxLTkyLjY2MSwxMjMuNjYxLTE3Ny40NjYsMTQ4LjYwNy0yMDEuNDkKCQkJCWMzMy4yMTksMzIuMDEsMTcwLjY2NywxNzEuODY1LDE3MC42NjcsMjk0LjY3N2MwLDk0LjEwNC03Ni41NjMsMTcwLjY2Ny0xNzAuNjY3LDE3MC42NjdjLTQyLjQ3NywwLTgyLjY2OS0xNS44MjItMTEzLjc4LTQzLjc1OAoJCQkJYzExLjU0Mi0yLjEzOCwxOC45OTQtNy4xNzcsMjUuMTg2LTExLjQ4MmM3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NmM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3CgkJCQlzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzYKCQkJCWMtMTIsMC0xNy41NjMtMy44NjUtMjQuNTk0LTguNzZjLTguMDYzLTUuNjA0LTE4LjA5NC0xMi41NzMtMzYuNzgxLTEyLjU3M2MtMTguNjc3LDAtMjguNjk4LDYuOTY5LTM2Ljc1LDEyLjU3MwoJCQkJYy03LjAzMSw0Ljg5Ni0xMi41ODMsOC43Ni0yNC41NzMsOC43NmMtMTEuOTY5LDAtMTcuNTIxLTMuODY1LTI0LjU0Mi04Ljc1Yy04LjA0Mi01LjYwNC0xOC4wNjMtMTIuNTgzLTM2LjcyOS0xMi41ODMKCQkJCWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzUKCQkJCWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODNjMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NQoJCQkJYzEyLDAsMTcuNTYzLDMuODY1LDI0LjYwNCw4Ljc2YzQuMzQ1LDMuMDIzLDkuNDE0LDYuMzU1LDE1Ljk2MSw4Ljg2NWMzNi42LDQyLjk5Niw4OS42NTUsNjcuNzA4LDE0Ni4xNzQsNjcuNzA4CgkJCQljMTA1Ljg2NSwwLDE5Mi04Ni4xMzUsMTkyLTE5MkM1MTIuMDAzLDE3MS42NDEsMzM0LjcwMSw5LjU4OSwzMjcuMTU5LDIuNzY2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMC42NjksMzYyLjY3MmMxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzUKCQkJCWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzQuNzczLDM2Mi42NzIsMTAuNjY5LDM2Mi42NzJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEzMy4yNjMsMzQxLjMzOWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMiwwLDE3LjU2MywzLjg2NSwyNC41OTQsOC43NgoJCQkJYzguMDYzLDUuNjA0LDE4LjA5NCwxMi41NzMsMzYuNzgxLDEyLjU3M2MxOC42NzcsMCwyOC43MDgtNi45NjksMzYuNzcxLTEyLjU3M2M3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NgoJCQkJYzEyLjE5OCwwLDE4LjQwNiwzLjk2OSwyNi4yNSw4Ljk5YzkuMDUyLDUuNzgxLDE5LjMxMywxMi4zNDQsMzcuNzUsMTIuMzQ0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcKCQkJCWMwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xMi4xOTgsMC0xOC40MDYtMy45NjktMjYuMjUtOC45OWMtOS4wNTItNS43ODEtMTkuMzEzLTEyLjM0NC0zNy43NS0xMi4zNDQKCQkJCWMtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU5NCw4Ljc2LTI0LjU4Myw4Ljc2Yy0xMiwwLTE3LjU2My0zLjg2NS0yNC42MDQtOC43NgoJCQkJQzE2MS45ODIsMzQ4LjMwNywxNTEuOTUxLDM0MS4zMzksMTMzLjI2MywzNDEuMzM5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMzMuMjYzLDI3Ny4zMzljLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2CgkJCQljLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3CgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3CgkJCQlDMTQzLjkzLDI4Mi4xMDksMTM5LjE1OSwyNzcuMzM5LDEzMy4yNjMsMjc3LjMzOXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjMxLjQwOSwzMDcuNDMyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NQoJCQkJYzguMDQyLDUuNjA0LDE4LjA2MywxMi41ODMsMzYuNzI5LDEyLjU4M2MxOC42NzcsMCwyOC43MDgtNi45NzksMzYuNzYtMTIuNTgzYzcuMDMxLTQuODg1LDEyLjU4My04Ljc1LDI0LjU2My04Ljc1CgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42NzcsMC0yOC42OTgsNi45NjktMzYuNzUsMTIuNTczCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4MwoJCQkJYy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjcKCQkJCXM0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N0MyMTMuMzE1LDMyMC4wMDUsMjIzLjM0NiwzMTMuMDM2LDIzMS40MDksMzA3LjQzMnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",vfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MTIgMTYzLjg3YzAtMTMuOS01LjQxMi0yNi45NjEtMTUuMjMzLTM2Ljc3LTkuODE1LTkuODI4LTIyLjg3Ni0xNS4yNC0zNi43NzYtMTUuMjRoLTgwLjk3Yy0yNi43MDUgMC00OC40My0yMS43MjYtNDguNDMtNDguNDMgMC0xMi45MzggNS4wMzctMjUuMTAxIDE0LjE4NC0zNC4yNDcgOS4xNDQtOS4xNDYgMjEuMzA3LTE0LjE4MyAzNC4yNDUtMTQuMTgzaDEyNS40OGM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtMTI1LjQ4Yy0xNi45NDUgMC0zMi44NzQgNi41OTctNDQuODUzIDE4LjU3Ny0xMS45NzkgMTEuOTc5LTE4LjU3NyAyNy45MDgtMTguNTc3IDQ0Ljg1MyAwIDM0Ljk3NSAyOC40NTUgNjMuNDMgNjMuNDMgNjMuNDNoODAuOTdjOS44OSAwIDE5LjE4MiAzLjg1IDI2LjE2OSAxMC44NDcgNi45OTEgNi45ODIgMTAuODQxIDE2LjI3MyAxMC44NDEgMjYuMTYzIDAgOC42MzctMy4wMzggMTcuMDQ0LTguNTU3IDIzLjY3NGwtMjIuMzA1IDI2LjgyMmMtNy44ODQtMi43MjUtMTYuOTg5LS45NzItMjMuMjgyIDUuMzExbC05LjA1OCA5LjA1OGMtMjAuMzItLjQyLTQzLjA5OCAzLjk0LTYyLjgyMSA3LjQyNy00LjA3OS43MjEtNi44MDEgNC42MTMtNi4wNzkgOC42OTEuNzIxIDQuMDc5IDQuNjEzIDYuNzk5IDguNjkxIDYuMDc5IDE4Ljk0Mi0zLjM1IDM4LjM5Mi01Ljc2OCA1Ny44MDktNy4xODUgNy42ODEtLjU2NiAxNC44MzMgNC4zOTMgMTYuOTg1IDExLjc4IDEuODI3IDYuMjcgNDcuMDI3IDE2MC4xNjcgNDguNTMzIDE2Ni41NzUuNDk4IDIuMTE5LS43MzggMy42Ni0yLjkxMiAzLjY2LTIyLjc4NiAwLTQxLjA0MiAxNS42Ni00OC40NjQgMzYuNDg4aC0zMjAuMzcxYy00LjE0MiAwLTcuNSAzLjM1Ny03LjUgNy41czMuMzU4IDcuNSA3LjUgNy41aDMyNy43ODdjNS40NDUgMCA5Ljg3NSA0LjQzIDkuODc1IDkuODc1cy00LjQzMSA5Ljg3NS05Ljg3NiA5Ljg3NWgtNDM2LjkwNmMzLjI2NS0xMS4zOTEgMTMuNzc1LTE5Ljc1IDI2LjItMTkuNzVoNTIuOTE5YzQuMTQyIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC00NC45NDRjNjIuNDYyLTExMS41OTggMTcxLjkwMy0xNzcuMDI3IDI5NC43NzgtMjA1LjQ4NiA0LjAzNS0uOTM1IDYuNTQ5LTQuOTYzIDUuNjE0LTguOTk5LS45MzQtNC4wMzUtNC45NjQtNi41NDktOC45OTktNS42MTQtNzEuNjMyIDE2LjU5OS0xNDMuNTkzIDQ3LjA1MS0yMDEuNDczIDkyLjYwNmwtMTAuMDcxLTEwLjA3Yy04LjYzNS04Ljc1Mi0yMy4xNTktOC42NzgtMzEuODI2LS4wMS04LjYzMSA4LjYzMi04LjcyOCAyMy4xNjYgMCAzMS44MDdsOC4wNTEgOC4wNTFjLTI5LjQ2NyAyOC45NTktNTQuMTAyIDYyLjMyLTc0LjA0MiA5OC45Mi0xOC40ODcgNC41MDItMzIuMjU2IDIxLjE5MS0zMi4yNTYgNDEuMDQ1IDAgNC4xNDMgMy4zNTggNy41IDcuNSA3LjVoNDQ1LjQ1NWMxMy43MTYgMCAyNC44NzUtMTEuMTU5IDI0Ljg3NS0yNC44NzUgMC0xMC43NS02Ljg1NS0xOS45MjctMTYuNDI0LTIzLjM5NSA1LjI2My0xMy41NzMgMTcuOTAzLTIyLjk2OSAzMi41OTgtMjIuOTY5IDExLjQ4MyAwIDIwLjMwMi0xMS40MDEgMTcuNDExLTIyLjUxLS4wMTgtLjA3MS0uMDM4LS4xNDItLjA1OC0uMjExbC00NS44NTctMTU3LjM5MSA5LjE2My05LjE1NmM3LjM1OS03LjMwMyA4LjY0NC0xOS4wOTMgMy4xOTctMjcuNzYybDIyLjExNS0yNi41OTNjNy43NTQtOS4zMTggMTIuMDI1LTIxLjEzMiAxMi4wMjUtMzMuMjY4em0tNDAzLjE0NiAxNzEuNDEzYzEuNDItMS40MjEgMy4zMDUtMi4yMDMgNS4zMDctMi4yMDMgMS45OTkgMCAzLjg3Ny43NzkgNS4yOTYgMi4yMDRsOS4wMTQgOS4wMTRjLTMuODI1IDMuMjQzLTcuNTgyIDYuNTUxLTExLjI3NCA5LjkyMmwtOC4zNDQtOC4zNDRjLTIuOTItMi45Mi0yLjkyLTcuNjcyLjAwMS0xMC41OTN6bTM1NS4yMDUtOTQuMzk4LTMuOTg2IDMuOTgzYy0yLjQ5Ni00LjQ2MS02LjAzNy04LjIwMy0xMC4yMzMtMTAuOTYxbDMuNjE5LTMuNjE5YzIuOTI2LTIuOTIgNy42OC0yLjkyMiAxMC41OTgtLjAwNCAxLjQyMSAxLjQyMSAyLjIwMyAzLjMwMiAyLjIwMyA1LjI5NyAwIDItLjc4MiAzLjg4NS0yLjIwMSA1LjMwNHptLTIxNS43NjUgOTQuNzY0Yy0xMy44MjQgNy42NTMtMjIuNDEyIDIyLjIzNS0yMi40MTIgMzguMDU2IDAgMTEuOTg3IDUuMDE5IDIzLjU2MyAxMy43NzEgMzEuNzU4IDguMDY2IDcuNTUzIDE4Ljc4OCAxMS43NTYgMjkuNzg2IDExLjc1NS45NCAwIDE1MS4wOC05LjgzOCAxNTEuMDgtOS44MzggNi45MTEtLjQ1NCAxMy4yMjUtMy45MTYgMTcuMzIyLTkuNDk4IDQuMDk2LTUuNTc5IDUuNTA3LTEyLjYzNyAzLjg3Mi0xOS4zNjJsLTE5LjUzOC04MC4zMjNjLTMuMDE3LTEyLjQwNC0xNS4xODMtMjAuMDEzLTI3LjY5My0xNy4zMjktMzAuMDk0IDYuNDY2LTU5Ljc4NyAxNS41OTQtODguMjU2IDI3LjEzLTE5Ljc2OCA4LjAxLTM5LjI1OSAxNy4zMTMtNTcuOTMyIDI3LjY1MXptMTA3LjI2NiA2MC45NjktNjcuNDMgNC40MzN2LTE3LjY4MWMwLS4yMzguMjAyLS40NC40NC0uNDRoNjYuNTVjLjI0MyAwIC40NC4xOTcuNDQuNDR6bTQyLjA3MS0xMDEuMDg1Yy42MTMtLjEzMiAxLjIyMy0uMTk1IDEuODIzLS4xOTUgMy44MTQgMCA3LjIxIDIuNTU5IDguMTQ1IDYuNDAzbDE5LjUzOCA4MC4zMjNjLjU5NSAyLjQ0Ni4xMDIgNC45MTEtMS4zODggNi45NC0xLjQ5MiAyLjAzMi0zLjY5OSAzLjI0Mi02LjIxNSAzLjQwOGwtNDguOTc0IDMuMjE5di0xMi4yNjFjMC04LjUxNC02LjkyNi0xNS40NC0xNS40NC0xNS40NGgtNjYuNTVjLTguNTE0IDAtMTUuNDQgNi45MjctMTUuNDQgMTUuNDR2MTguNjY3bC0xLjg1LjEyMmMtNy45NTcuNTE4LTE1LjU1Mi0yLjE5Mi0yMS4zNzUtNy42NDUtNS44MTktNS40NDktOS4wMjQtMTIuODM5LTkuMDI0LTIwLjgwOSAwLTEwLjM2NyA1LjYyNC0xOS45MjEgMTQuNjc3LTI0LjkzMyAxOC4xNDgtMTAuMDQ3IDM3LjA5LTE5LjA4OCA1Ni4zMDEtMjYuODczIDI3LjY2Ni0xMS4yMTEgNTYuNTI1LTIwLjA4MyA4NS43NzItMjYuMzY2eiIvPgogICAgPC9nPgo8L3N2Zz4=",bfe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQzNS4yIDMyNC4yNjdoLTEwLjkwNmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY3Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTIzMi43NzJjLTE0LjEzOCAwLTI1LjYtMTEuNDYyLTI1LjYtMjUuNnMxMS40NjItMjUuNiAyNS42LTI1LjZoMzYuNTA2YzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2g2Mi4xMDZjMTQuMTM4IDAgMjUuNi0xMS40NjIgMjUuNi0yNS42cy0xMS40NjItMjUuNi0yNS42LTI1LjZoLTYyLjEwNmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY2Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTM2LjUwNmMtNDIuNDE1IDAtNzYuOCAzNC4zODUtNzYuOCA3Ni44czM0LjM4NSA3Ni44IDc2LjggNzYuOGgyMzIuNzcyYzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2gxMC45MDdjMTQuMTM4IDAgMjUuNiAxMS40NjIgMjUuNiAyNS42cy0xMS40NjIgMjUuNi0yNS42IDI1LjZoLTMwOS41NzJjLTMuMDI0LTUuMjYzLTguNjI0LTguNTE1LTE0LjY5NC04LjUzM3YtMTcuMDY3YzAtOS40MjYtNy42NDEtMTcuMDY3LTE3LjA2Ny0xNy4wNjdoLTE3LjA2N2MtOS40MjYgMC0xNy4wNjcgNy42NDEtMTcuMDY3IDE3LjA2N3YxNy4wNjdjLTYuMDcuMDE4LTExLjY3IDMuMjctMTQuNjk0IDguNTMzaC0xOS40MzljLTE0LjEzOCAwLTI1LjYgMTEuNDYyLTI1LjYgMjUuNnMxMS40NjIgMjUuNiAyNS42IDI1LjZoMTkuNDM5YzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2gzMDkuNTczYzQyLjQxNSAwIDc2LjgtMzQuMzg1IDc2LjgtNzYuOHMtMzQuMzg1LTc2LjgtNzYuOC03Ni44em0tNTkuNzMzLTI1LjZoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tNzYuOC01MS4yYzAgNC43MTMtMy44MjEgOC41MzMtOC41MzMgOC41MzNoLTU5LjczNHYtMTcuMDY3aDU5LjczM2M0LjcxMyAwIDguNTM0IDMuODIxIDguNTM0IDguNTM0em0tMTE5LjQ2Ny01MS4yaDE3LjA2N3YxNy4wNjdoLTE3LjA2N3ptLTguNTMzIDM0LjEzM2g0Mi42Njd2MzQuMTMzaC01MS4ydi0zNC4xMzN6bS0xMTkuNDY3IDY4LjI2N2MuMDM4LTMyLjk3NCAyNi43NTktNTkuNjk2IDU5LjczMy01OS43MzNoMzQuMTMzdjE3LjA2NmgtMzQuMTMzYy0yMy41NjQgMC00Mi42NjcgMTkuMTAzLTQyLjY2NyA0Mi42NjdzMTkuMTAzIDQyLjY2NyA0Mi42NjcgNDIuNjY3aDIzMC40djE3LjA2NmgtMjMwLjRjLTMyLjk3NC0uMDM4LTU5LjY5NS0yNi43NTktNTkuNzMzLTU5LjczM3ptMzA3LjIgNjguMjY2di0zNC4xMzNoNTEuMnYzNC4xMzN6bS0yODEuNiAzNC4xMzRoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tNTkuNzMzIDUxLjJjMC00LjcxMyAzLjgyMS04LjUzMyA4LjUzMy04LjUzM2gxNy4wNjd2MTcuMDY2aC0xNy4wNjdjLTQuNzEzIDAtOC41MzMtMy44Mi04LjUzMy04LjUzM3ptNDIuNjY2IDE3LjA2NnYtMzQuMTMzaDUxLjJ2MzQuMTMzem0zNzUuNDY3LTguNTMzaC0zMDcuMnYtMTcuMDY3aDMwNy4yYzIzLjU2NCAwIDQyLjY2Ny0xOS4xMDMgNDIuNjY3LTQyLjY2N3MtMTkuMTAzLTQyLjY2Ny00Mi42NjctNDIuNjY3aC04LjUzM3YtMTcuMDY3aDguNTMzYzMyLjk5IDAgNTkuNzMzIDI2Ljc0NCA1OS43MzMgNTkuNzMzcy0yNi43NDMgNTkuNzM1LTU5LjczMyA1OS43MzV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4Ny43MzMgMTYyLjEzM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xODcuNzMzIDExMC45MzNjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44MjEtOC41MzMtOC41MzMtOC41MzMtNC43MTMgMC04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMyAzLjgyMSA4LjUzMyA4LjUzMyA4LjUzM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTg3LjczMyA1OS43MzNjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44MjEtOC41MzMtOC41MzMtOC41MzMtNC43MTMgMC04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMyAzLjgyMSA4LjUzMyA4LjUzMyA4LjUzM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTU0Ljc0MyAxNTcuODY3YzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjkuMTQzIDExMy40OTNjMS41MTMgMi42NjIgNC4zMzcgNC4zMDkgNy4zOTkgNC4zMTZzNS44OTMtMS42MjggNy40MTgtNC4yODMgMS41MTEtNS45MjQtLjAzOC04LjU2NmwtOC41MzMtMTQuNzhjLTEuNTEzLTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwMy41NDMgNjkuMTg4YzIuMzcyIDQuMDQ3IDcuNTY2IDUuNDIgMTEuNjI4IDMuMDc0IDQuMDYyLTIuMzQ1IDUuNDctNy41MyAzLjE1MS0xMS42MDhsLTguNTMzLTE0Ljc4OGMtMS41MTMtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjA5LjA2NyAxNjAuOTljNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43OGMtMi4zNTggNC4wODEtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjM0LjY2NyAxMTYuNjUxYzQuMDgxIDIuMzU2IDkuMy45NTggMTEuNjU3LTMuMTIzbDguNTMzLTE0Ljc4YzEuNTQ5LTIuNjQyIDEuNTYzLTUuOTExLjAzOC04LjU2NnMtNC4zNTYtNC4yOS03LjQxOC00LjI4My01Ljg4NiAxLjY1NC03LjM5OSA0LjMxNmwtOC41MzMgMTQuNzhjLTIuMzU4IDQuMDgtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjYwLjI2NyA3Mi4zMTFjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzg4YzEuNTQ5LTIuNjQyIDEuNTYzLTUuOTExLjAzOC04LjU2NnMtNC4zNTYtNC4yOS03LjQxOC00LjI4My01Ljg4NiAxLjY1NC03LjM5OSA0LjMxNmwtOC41MzMgMTQuNzg4Yy0yLjM1OCA0LjA4MS0uOTYgOS4zIDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzg0IDI3My4wNjdjNC43MTMgMCA4LjUzMy0zLjgyIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMjIxLjg2N2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMTcwLjY2N2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNTEuMDEgMjY4LjhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzhjLTEuNTE0LTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyNS40MSAyMjQuNDI3YzEuNTE0IDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxNC0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOTkuODEgMTgwLjEyMmMyLjM3MiA0LjA0NyA3LjU2NiA1LjQyIDExLjYyOCAzLjA3NCA0LjA2Mi0yLjM0NSA1LjQ3LTcuNTMgMy4xNTEtMTEuNjA4bC04LjUzMy0xNC43ODhjLTEuNTEzLTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNS4zMzMgMjcxLjkyM2M0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4LTQuMDYyLTIuMzQ1LTkuMjU2LS45NzItMTEuNjI4IDMuMDc0bC04LjUzMyAxNC43OGMtMi4zNTcgNC4wODItLjk1OSA5LjMwMSAzLjEyMiAxMS42NTd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzMC45MzMgMjI3LjU4NGM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4cy05LjI1Ni0uOTcyLTExLjYyOCAzLjA3NGwtOC41MzMgMTQuNzhjLTIuMzU3IDQuMDgyLS45NTkgOS4zMDEgMy4xMjIgMTEuNjU3eiIvPgogICAgICAgIDxwYXRoIGQ9Im00NTYuNTMzIDE4My4yNDVjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzg4YzIuMzE4LTQuMDc4LjkxMS05LjI2Mi0zLjE1MS0xMS42MDgtNC4wNjItMi4zNDUtOS4yNTYtLjk3Mi0xMS42MjggMy4wNzRsLTguNTMzIDE0Ljc4OGMtMi4zNTcgNC4wODItLjk1OSA5LjMgMy4xMjIgMTEuNjU3eiIvPgogICAgPC9nPgo8L3N2Zz4=",Qfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDIgNTEyLjAwMiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTM5OC41ODkgMjQ2LjM0MmMtNjQuNjY2LTE3LjMyOC0xMTUuNjAxLTY4LjI2NC0xMzIuOTI5LTEzMi45MjktMS4xNzEtNC4zNzItNS4xMzMtNy40MTItOS42NTktNy40MTJzLTguNDg4IDMuMDQtOS42NTkgNy40MTJjLTE3LjMyOCA2NC42NjYtNjguMjYzIDExNS42MDEtMTMyLjkyOSAxMzIuOTI5LTQuMzcyIDEuMTcxLTcuNDEyIDUuMTMzLTcuNDEyIDkuNjU5czMuMDQgOC40ODggNy40MTIgOS42NTljNjQuNjY2IDE3LjMyOSAxMTUuNjAxIDY4LjI2NCAxMzIuOTI5IDEzMi45MjkgMS4xNzEgNC4zNzIgNS4xMzMgNy40MTIgOS42NTkgNy40MTJzOC40ODgtMy4wNCA5LjY1OS03LjQxMmMxNy4zMjgtNjQuNjY1IDY4LjI2NC0xMTUuNjAxIDEzMi45MjktMTMyLjkyOSA0LjM3Mi0xLjE3MSA3LjQxMi01LjEzMyA3LjQxMi05LjY1OXMtMy4wNC04LjQ4OC03LjQxMi05LjY1OXptLTE0Mi41ODggMTE5LjE3NmMtMjEuMDM5LTQ5LjA5Ni02MC40Mi04OC40NzgtMTA5LjUxNi0xMDkuNTE3IDQ5LjA5Ni0yMS4wMzkgODguNDc4LTYwLjQyIDEwOS41MTYtMTA5LjUxNyAyMS4wMzkgNDkuMDk3IDYwLjQyIDg4LjQ3OCAxMDkuNTE3IDEwOS41MTctNDkuMDk3IDIxLjAzOS04OC40NzggNjAuNDItMTA5LjUxNyAxMDkuNTE3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjQuMDM2IDIwMC40NThjLTEuODg2LTIuNTQ1LTQuODY3LTQuMDQ3LTguMDM1LTQuMDQ3cy02LjE0OSAxLjUwMS04LjAzNSA0LjA0N2MtMTMuNDE2IDE4LjEwNy0yOS40IDM0LjA5MS00Ny41MDggNDcuNTA4LTIuNTQ1IDEuODg2LTQuMDQ3IDQuODY3LTQuMDQ3IDguMDM1czEuNTAxIDYuMTQ5IDQuMDQ3IDguMDM1YzE4LjEwOCAxMy40MTYgMzQuMDkyIDI5LjQgNDcuNTA4IDQ3LjUwOCAxLjg4NiAyLjU0NSA0Ljg2NyA0LjA0NyA4LjAzNSA0LjA0N3M2LjE0OS0xLjUwMSA4LjAzNS00LjA0N2MxMy40MTYtMTguMTA4IDI5LjQtMzQuMDkyIDQ3LjUwOC00Ny41MDggMi41NDUtMS44ODYgNC4wNDctNC44NjcgNC4wNDctOC4wMzVzLTEuNTAxLTYuMTQ5LTQuMDQ3LTguMDM1Yy0xOC4xMDgtMTMuNDE3LTM0LjA5Mi0yOS40MDEtNDcuNTA4LTQ3LjUwOHptLTguMDM1IDg4LjkwOWMtMTAuMDQtMTIuMTYyLTIxLjIwNC0yMy4zMjYtMzMuMzY2LTMzLjM2NiAxMi4xNjMtMTAuMDQgMjMuMzI2LTIxLjIwNCAzMy4zNjYtMzMuMzY2IDEwLjA0IDEyLjE2MyAyMS4yMDQgMjMuMzI2IDMzLjM2NiAzMy4zNjYtMTIuMTYyIDEwLjA0LTIzLjMyNiAyMS4yMDQtMzMuMzY2IDMzLjM2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjU2LjAwMSA3NS45OTljNS41MjMgMCAxMC00LjQ3NyAxMC0xMHYtNTUuOTk5YzAtNS41MjMtNC40NzctMTAtMTAtMTBzLTEwIDQuNDc3LTEwIDEwdjU1Ljk5OWMwIDUuNTIzIDQuNDc3IDEwIDEwIDEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTQuNTc5IDEyOC43MjFjMS45NTMgMS45NTMgNC41MTIgMi45MjkgNy4wNzEgMi45MjlzNS4xMTktLjk3NiA3LjA3MS0yLjkyOWMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNsLTM5LjU5Ny0zOS41OThjLTMuOTA1LTMuOTA1LTEwLjIzNy0zLjkwNS0xNC4xNDMgMHMtMy45MDUgMTAuMjM3IDAgMTQuMTQzeiIvPgogICAgICAgIDxwYXRoIGQ9Im03NiAyNTYuMDAxYzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTU2Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU2YzUuNTIyIDAgMTAtNC40NzcgMTAtMTB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExNC41NzkgMzgzLjI4MS0zOS41OTggMzkuNTk4Yy0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDMgMS45NTMgMS45NTMgNC41MTIgMi45MjkgNy4wNzEgMi45MjlzNS4xMTktLjk3NiA3LjA3MS0yLjkyOWwzOS41OTgtMzkuNTk4YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3MtMTAuMjM3LTMuOTA2LTE0LjE0MiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMDAxIDQzNi4wMDNjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2NTUuOTk5YzAgNS41MjMgNC40NzcgMTAgMTAgMTBzMTAtNC40NzcgMTAtMTB2LTU1Ljk5OWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTcuNDI0IDM4My4yODFjLTMuOTA1LTMuOTA0LTEwLjIzNi0zLjkwNC0xNC4xNDMgMC0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDNsMzkuNTk3IDM5LjU5OGMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc3IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3oiLz4KICAgICAgICA8cGF0aCBkPSJtNTAyLjAwMiAyNDYuMDAxaC01NS45OTljLTUuNTIzIDAtMTAgNC40NzctMTAgMTBzNC40NzcgMTAgMTAgMTBoNTUuOTk5YzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTAuMzUzIDEzMS42NDljMi41NTkgMCA1LjExOS0uOTc2IDcuMDcxLTIuOTI5bDM5LjU5Ny0zOS41OThjMy45MDUtMy45MDUgMy45MDUtMTAuMjM3IDAtMTQuMTQzcy0xMC4yMzctMy45MDUtMTQuMTQzIDBsLTM5LjU5NyAzOS41OThjLTMuOTA1IDMuOTA1LTMuOTA1IDEwLjIzNyAwIDE0LjE0MyAxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MiAyLjkyOXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYxLjg2OCAzOC43MzVjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMSA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xM2wtLjAwMy0uMDA3Yy0yLjE3NS01LjA3Ni04LjA1MS03LjQyMy0xMy4xMjktNS4yNDktNS4wNzYgMi4xNzUtNy40MjYgOC4wNTgtNS4yNSAxMy4xMzQgMS42MjUgMy43OTIgNS4zMTYgNi4wNjMgOS4xOTYgNi4wNjN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2OS44NDQgNzQuMTMxIDEzLjA1NCAzMS41MTRjMS41OTUgMy44NTEgNS4zMTggNi4xNzUgOS4yNDMgNi4xNzUgMS4yNzUgMCAyLjU3Mi0uMjQ1IDMuODIzLS43NjQgNS4xMDItMi4xMTQgNy41MjUtNy45NjMgNS40MTItMTMuMDY2bC0xMy4wNTQtMzEuNTE0Yy0yLjExNC01LjEwMy03Ljk2My03LjUyNy0xMy4wNjYtNS40MTJzLTcuNTI2IDcuOTY0LTUuNDEyIDEzLjA2N3oiLz4KICAgICAgICA8cGF0aCBkPSJtMjQuNTQyIDE3MC45NDNjMS4zNTcuNjI2IDIuNzgyLjkyMyA0LjE4NC45MjMgMy43OCAwIDcuMzk4LTIuMTU0IDkuMDg2LTUuODEyIDIuMzE0LTUuMDE0LjEyNS0xMC45NTYtNC44ODktMTMuMjdsLS4wMDYtLjAwM2MtNS4wMTMtMi4zMTUtMTAuOTUyLS4xMjUtMTMuMjY3IDQuODkxLTIuMzE2IDUuMDE0LS4xMjMgMTAuOTU2IDQuODkyIDEzLjI3MXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjYuNDc3IDE4OC4zMjEgMzEuNTE1IDEzLjA1NGMxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2IDIuMTE0LTUuMTAzLS4zMS0xMC45NTItNS40MTItMTMuMDY1bC0zMS41MTYtMTMuMDU0Yy01LjEwMS0yLjExMy0xMC45NTIuMzEtMTMuMDY1IDUuNDEyLTIuMTE0IDUuMTAyLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwNS42NDUgMzI5LjEwNGM1LjEwMy0yLjExMyA3LjUyNi03Ljk2MyA1LjQxMi0xMy4wNjUtMi4xMTMtNS4xMDMtNy45NjQtNy41MjctMTMuMDY1LTUuNDEybC0zMS41MTQgMTMuMDU0Yy01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjUgMS41OTUgMy44NTIgNS4zMTggNi4xNzYgOS4yNDMgNi4xNzYgMS4yNzUgMCAyLjU3Mi0uMjQ1IDMuODIzLS43NjR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI0Ljc5MyAzNDAuOTQ3LS4wMDcuMDAzYy01LjA3NiAyLjE3NS03LjQyNCA4LjA1My01LjI0OSAxMy4xMjkgMS42MjUgMy43OTIgNS4zMTcgNi4wNjIgOS4xOTggNi4wNjIgMS4zMTUgMCAyLjY1Mi0uMjYxIDMuOTM2LS44MTIgNS4wNzctMi4xNzUgNy40MjgtOC4wNTQgNS4yNTItMTMuMTMxLTIuMTc0LTUuMDc1LTguMDUzLTcuNDI2LTEzLjEzLTUuMjUxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjYuMDU0IDQ3NC4xOWMtNS4wMTUtMi4zMTUtMTAuOTU2LS4xMjUtMTMuMjcgNC44ODlsLS4wMDMuMDA2Yy0yLjMxNCA1LjAxNC0uMTI0IDEwLjk1MyA0Ljg5MSAxMy4yNjcgMS4zNTYuNjI2IDIuNzguOTIyIDQuMTgyLjkyMiAzLjc4MSAwIDcuNDAxLTIuMTU2IDkuMDg5LTUuODE0IDIuMzE0LTUuMDE0LjEyNS0xMC45NTUtNC44ODktMTMuMjd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE5NS45NjMgNDAwLjk0NWMtNS4xMDEtMi4xMTQtMTAuOTUyLjMxLTEzLjA2NSA1LjQxMmwtMTMuMDU0IDMxLjUxNWMtMi4xMTQgNS4xMDMuMzEgMTAuOTUyIDUuNDEyIDEzLjA2NSAxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2bDEzLjA1NC0zMS41MTVjMi4xMTMtNS4xMDItLjMxMS0xMC45NTItNS40MTMtMTMuMDY1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNDYuMTk5IDQ3NC4wNzhjLTUuMDc2IDIuMTc1LTcuNDI4IDguMDU0LTUuMjUyIDEzLjEzbC4wMDMuMDA3YzEuNjI1IDMuNzkxIDUuMzE0IDYuMDYgOS4xOTIgNi4wNiAxLjMxNSAwIDIuNjUxLS4yNjEgMy45MzctLjgxMiA1LjA3Ni0yLjE3NSA3LjQyNi04LjA1OCA1LjI1LTEzLjEzNC0yLjE3NC01LjA3Ni04LjA1MS03LjQyNi0xMy4xMy01LjI1MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQyLjE1OCA0MzcuODcxLTEzLjA1NC0zMS41MTRjLTIuMTE0LTUuMTAzLTcuOTY1LTcuNTI3LTEzLjA2NS01LjQxMi01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjVsMTMuMDU0IDMxLjUxNGMxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NCA1LjEwMi0yLjExMiA3LjUyNS03Ljk2MiA1LjQxMS0xMy4wNjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4Ny4yMDggMzQwLjk0N2MtNS4wNzYtMi4xNzctMTAuOTU1LjE3Ny0xMy4xMyA1LjI1Mi0yLjE3NiA1LjA3Ny4xNzYgMTAuOTU2IDUuMjUyIDEzLjEzMWwuMDA2LjAwM2MxLjI4NS41NSAyLjYxOS44MTEgMy45MzMuODExIDMuODc5IDAgNy41NjktMi4yNzIgOS4xOTQtNi4wNjQgMi4xNzctNS4wNzctLjE3OC0xMC45NTctNS4yNTUtMTMuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NDUuNTI1IDMyMy42ODEtMzEuNTE0LTEzLjA1NGMtNS4xMDItMi4xMTMtMTAuOTUxLjMxLTEzLjA2NSA1LjQxMnMuMzEgMTAuOTUyIDUuNDEyIDEzLjA2NWwzMS41MTQgMTMuMDU0YzEuMjUyLjUxOSAyLjU0OC43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzYgMi4xMTMtNS4xMDItLjMxMS0xMC45NTItNS40MTMtMTMuMDY1eiIvPgogICAgICAgIDxwYXRoIGQ9Im00ODMuMjc0IDE3MS44NjZjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMWwuMDA3LS4wMDNjNS4wNzYtMi4xNzUgNy40MjQtOC4wNTMgNS4yNDktMTMuMTI5cy04LjA2LTcuNDI3LTEzLjEzNC01LjI1Yy01LjA3NyAyLjE3NS03LjQyOCA4LjA1NC01LjI1MiAxMy4xMzEgMS42MjUgMy43OTEgNS4zMTYgNi4wNjIgOS4xOTYgNi4wNjJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNi4zNTcgMTgyLjg5N2MtNS4xMDMgMi4xMTMtNy41MjYgNy45NjMtNS40MTIgMTMuMDY1IDEuNTk1IDMuODUyIDUuMzE4IDYuMTc2IDkuMjQzIDYuMTc2IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0bDMxLjUxNC0xMy4wNTRjNS4xMDMtMi4xMTMgNy41MjYtNy45NjMgNS40MTItMTMuMDY1LTIuMTE0LTUuMTAzLTcuOTYzLTcuNTI3LTEzLjA2Ni01LjQxMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQ2LjE5OSAzNy45MjNjMS4yODUuNTUxIDIuNjIxLjgxMSAzLjkzNS44MTEgMy44OCAwIDcuNTcxLTIuMjcxIDkuMTk2LTYuMDYzbC4wMDMtLjAwN2MyLjE3Ni01LjA3Ni0uMTc3LTEwLjk1Mi01LjI1My0xMy4xMjctNS4wNzQtMi4xNzYtMTAuOTU3LjE3OS0xMy4xMzIgNS4yNTYtMi4xNzcgNS4wNzYuMTc1IDEwLjk1NSA1LjI1MSAxMy4xM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMzE2LjAzOSAxMTEuMDU3YzEuMjUxLjUxOSAyLjU0Ny43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzZsMTMuMDU0LTMxLjUxNGMyLjExNC01LjEwMy0uMzEtMTAuOTUzLTUuNDEyLTEzLjA2Ni01LjEwMS0yLjExNC0xMC45NTEuMzEtMTMuMDY1IDUuNDEybC0xMy4wNTQgMzEuNTE0Yy0yLjExNSA1LjEwMi4zMDkgMTAuOTUyIDUuNDExIDEzLjA2NnoiLz4KICAgIDwvZz4KPC9zdmc+",Ufe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0yNDAuMDAzLDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThWOGMwLTQuNDE4LTMuNTgyLTgtOC04cy04LDMuNTgyLTgsOHYzMkMyMzIuMDAzLDQ0LjQxOCwyMzUuNTg0LDQ4LDI0MC4wMDMsNDh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0MS4wNzUsMzYuNjU2bDE2LDI3LjcwNGMyLjE4NCwzLjg0MSw3LjA2OCw1LjE4NCwxMC45MDksM3M1LjE4NC03LjA2OCwzLTEwLjkwOWMtMC4wMTctMC4wMzEtMC4wMzUtMC4wNjEtMC4wNTMtMC4wOTIKCQkJCWwtMTYtMjcuNzA0Yy0yLjE4NC0zLjg0MS03LjA2OC01LjE4NC0xMC45MDktM2MtMy44NDEsMi4xODQtNS4xODQsNy4wNjgtMywxMC45MDlDMTQxLjAzOSwzNi41OTUsMTQxLjA1NywzNi42MjYsMTQxLjA3NSwzNi42NTYKCQkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuNTY3LDEwNi44NzVjMC4wMywwLjAxOCwwLjA2MSwwLjAzNSwwLjA5MiwwLjA1M2wyNy43MDQsMTZjMy44MTIsMi4yMzQsOC43MTMsMC45NTYsMTAuOTQ3LTIuODU2CgkJCQljMi4yMzQtMy44MTIsMC45NTYtOC43MTMtMi44NTYtMTAuOTQ3Yy0wLjAzLTAuMDE4LTAuMDYxLTAuMDM1LTAuMDkyLTAuMDUzbC0yNy43MDQtMTZjLTMuODEyLTIuMjM0LTguNzEzLTAuOTU2LTEwLjk0NywyLjg1NgoJCQkJQzcxLjQ3Nyw5OS43MzksNzIuNzU1LDEwNC42NDEsNzYuNTY3LDEwNi44NzV6Ii8+CiAgICAgICAgPHBhdGggZD0iTTk2LjAwMywxOTJjMC00LjQxOC0zLjU4Mi04LTgtOGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJDOTIuNDIxLDIwMCw5Ni4wMDMsMTk2LjQxOCw5Ni4wMDMsMTkyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDQuNDU2LDI2MS4wMThjLTAuMDMxLDAuMDE4LTAuMDYyLDAuMDM2LTAuMDkzLDAuMDU0bC0yNy43MDQsMTZjLTMuODQxLDIuMTgzLTUuMTg1LDcuMDY3LTMuMDAyLDEwLjkwOAoJCQkJYzIuMTgzLDMuODQxLDcuMDY3LDUuMTg1LDEwLjkwOCwzLjAwMmMwLjAzMS0wLjAxOCwwLjA2Mi0wLjAzNiwwLjA5My0wLjA1NGwyNy43MDQtMTZjMy44NDEtMi4xODMsNS4xODUtNy4wNjcsMy4wMDItMTAuOTA4CgkJCQlDMTEzLjE4MSwyNjAuMTc5LDEwOC4yOTcsMjU4LjgzNSwxMDQuNDU2LDI2MS4wMTh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQwMy40NCwyNzcuMTI2Yy0wLjAzMS0wLjAxOC0wLjA2Mi0wLjAzNi0wLjA5My0wLjA1NGwtMjcuNzA0LTE2Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQKCQkJCWMtMi4yMzUsMy44MTEtMC45NTcsOC43MTMsMi44NTQsMTAuOTQ4YzAuMDMxLDAuMDE4LDAuMDYyLDAuMDM2LDAuMDkzLDAuMDU0bDI3LjcwNCwxNmMzLjgxMSwyLjIzNSw4LjcxMywwLjk1NywxMC45NDgtMi44NTQKCQkJCUM0MDguNTI5LDI4NC4yNjIsNDA3LjI1MSwyNzkuMzYxLDQwMy40NCwyNzcuMTI2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjQuMDAzLDE4NGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM0MjguNDIxLDE4NCw0MjQuMDAzLDE4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzcxLjY1MSwxMjRjMS40MDQsMCwyLjc4NC0wLjM3LDQtMS4wNzJsMjcuNzA0LTE2YzMuODQxLTIuMTg0LDUuMTg0LTcuMDY4LDMtMTAuOTA5cy03LjA2OC01LjE4NC0xMC45MDktMwoJCQkJYy0wLjAzMSwwLjAxNy0wLjA2MSwwLjAzNS0wLjA5MiwwLjA1M2wtMjcuNzA0LDE2Yy0zLjgyNiwyLjIwOS01LjEzNyw3LjEwMi0yLjkyOCwxMC45MjgKCQkJCUMzNjYuMTUyLDEyMi40NzUsMzY4Ljc5MywxMjQsMzcxLjY1MSwxMjR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTMxMS45OTMsNjcuMjkxYzAuMDAzLDAuMDAyLDAuMDA2LDAuMDA0LDAuMDA5LDAuMDA1YzMuODI3LDIuMjA3LDguNzIsMC44OTQsMTAuOTI3LTIuOTM0CgkJCQljMC0wLjAwMSwwLjAwMS0wLjAwMiwwLjAwMS0wLjAwMmwxNi0yNy43MDRjMi4yMzUtMy44MTEsMC45NTctOC43MTMtMi44NTQtMTAuOTQ4Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQKCQkJCWMtMC4wMTgsMC4wMzEtMC4wMzYsMC4wNjItMC4wNTQsMC4wOTNsLTE2LDI3LjcwNEMzMDYuODYyLDYwLjE4NCwzMDguMTY5LDY1LjA3OCwzMTEuOTkzLDY3LjI5MXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LjAwMywzMjBjNC40MTgsMCw4LTMuNTgyLDgtOHYtODhoMTZjMTcuNjczLDAsMzItMTQuMzI3LDMyLTMycy0xNC4zMjctMzItMzItMzJjLTE3LjY3MywwLTMyLDE0LjMyNy0zMiwzMnYxNmgtMTYKCQkJCXYtMTZjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiwxNC4zMjctMzIsMzJzMTQuMzI3LDMyLDMyLDMyaDE2djg4YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LTh2LTg4aDE2djg4CgkJCQlDMjQ4LjAwMywzMTYuNDE4LDI1MS41ODQsMzIwLDI1Ni4wMDMsMzIweiBNMjY0LjAwMywxOTJjMC04LjgzNyw3LjE2My0xNiwxNi0xNnMxNiw3LjE2MywxNiwxNnMtNy4xNjMsMTYtMTYsMTZoLTE2VjE5MnoKCQkJCSBNMjE2LjAwMywyMDhoLTE2Yy04LjgzNywwLTE2LTcuMTYzLTE2LTE2czcuMTYzLTE2LDE2LTE2czE2LDcuMTYzLDE2LDE2VjIwOHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjQ2LjIxOSw2NC4xNTJjLTcwLjYxMS0zLjM5Mi0xMzAuNjAzLDUxLjA5OS0xMzMuOTk1LDEyMS43MWMtMS45NDMsNDAuNDMyLDE1LjM1NCw3OS40LDQ2LjY0MywxMDUuMDgyCgkJCQljNS42MzksNC40MTcsOC45OTQsMTEuMTM1LDkuMTM2LDE4LjI5NlYzMjhjMC4wNDIsMTAuMTM0LDYuNDQ1LDE5LjE1LDE2LDIyLjUyOFYzNjBjMC4wMjEsNS45MjMsMi4yNDUsMTEuNjI3LDYuMjQsMTYKCQkJCWMtOC4zMiw5LjA0NC04LjMyLDIyLjk1NiwwLDMyYy04Ljg5NCw5Ljc1LTguMiwyNC44NjQsMS41NSwzMy43NThjNC40MjksNC4wNCwxMC4yMTUsNi4yNjgsMTYuMjEsNi4yNDIKCQkJCWM0LjMwNiwwLjExMyw3Ljg4OS0zLjI4Nyw4LjAwMS03LjU5M2MwLjA0NC0xLjY4LTAuNDU2LTMuMzMtMS40MjUtNC43MDNjLTAuMjUzLTAuNDg5LTAuNTUzLTAuOTUzLTAuODk2LTEuMzg0CgkJCQljLTAuNjU4LTAuNjAyLTEuNDA5LTEuMDk0LTIuMjI0LTEuNDU2Yy0wLjIzMi0wLjEyLTAuNDY0LTAuMjE2LTAuNzA0LTAuMzEyYy0wLjgxLTAuMjk1LTEuNjU5LTAuNDY1LTIuNTItMC41MDQKCQkJCWMtMC4wOCwwLTAuMTUyLTAuMDQ4LTAuMjMyLTAuMDQ4Yy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMgoJCQkJYy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMmMtNC40MTgsMC04LTMuNTgyLTgtOHYtOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04CgkJCQlzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LTMuNTgyLTgtOHYtMTguNzZjLTAuMTMxLTExLjk2Mi01LjY0LTIzLjIzLTE1LTMwLjY4Yy00Ny43ODgtMzkuMjc0LTU0LjY4OS0xMDkuODUyLTE1LjQxNS0xNTcuNjQKCQkJCWMyMi40NjYtMjcuMzM2LDU2LjUyOC00Mi40NDgsOTEuODcxLTQwLjc2YzU5LjEwNywzLjUxNiwxMDUuNTM2LDUxLjk1NywxMDYuNTQ0LDExMS4xNmMwLjI4NywzNC4wNTItMTUuMDI0LDY2LjM2My00MS41Niw4Ny43MDQKCQkJCWMtOS4yOSw3LjY1Mi0xNC42MDIsMTkuMTA5LTE0LjQ0LDMxLjE0NFYzMjhjMCw0LjQxOC0zLjU4Miw4LTgsOGgtMjRjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMTZ2OAoJCQkJYzAsNC40MTgtMy41ODIsOC04LDhoLThjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoOGM0LjQxOCwwLDgsMy41ODIsOCw4cy0zLjU4Miw4LTgsOGgtOGMtNC40MTgsMC04LDMuNTgyLTgsOAoJCQkJczMuNTgyLDgsOCw4aDhjNC40MTgsMCw4LDMuNTgyLDgsOHMtMy41ODIsOC04LDhoLTQwYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMwLjYzMgoJCQkJYy00LjQxNywxMi40OTctMTguMTI5LDE5LjA0Ny0zMC42MjYsMTQuNjNjLTMuODI2LTEuMzUyLTcuMjQ2LTMuNjUzLTkuOTQyLTYuNjg2Yy0yLjkzOC0zLjMtNy45OTYtMy41OTQtMTEuMjk2LTAuNjU2CgkJCQljLTMuMywyLjkzOC0zLjU5NCw3Ljk5Ni0wLjY1NiwxMS4yOTZjMTQuNjMxLDE2LjQ4NywzOS44NTcsMTcuOTkyLDU2LjM0NCwzLjM2MmM2LjgxLTYuMDQzLDExLjM0OS0xNC4yMzIsMTIuODY0LTIzLjIxCgkJCQljMTIuNTI5LTMuOTE2LDE5LjUxMS0xNy4yNDcsMTUuNTk2LTI5Ljc3NmMtMS4wNC0zLjMyOS0yLjgwMS02LjM4OC01LjE1Ni04Ljk2YzguMzItOS4wNDQsOC4zMi0yMi45NTYsMC0zMgoJCQkJYzMuOTk1LTQuMzczLDYuMjE5LTEwLjA3Nyw2LjI0LTE2di05LjQ3MmM5LjU1NS0zLjM3OCwxNS45NTgtMTIuMzk0LDE2LTIyLjUyOHYtMTcuODMyYy0wLjEwNy03LjE4NywzLjAwNy0xNC4wNDYsOC40ODgtMTguNjk2CgkJCQljMzAuMzQ0LTI0LjM5NSw0Ny44NS02MS4zMzksNDcuNTEyLTEwMC4yNzJDMzY2Ljg0NywxMjMuNTMyLDMxMy43NzcsNjguMTY5LDI0Ni4yMTksNjQuMTUyeiIvPgogICAgPC9nPgo8L3N2Zz4K",$fe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjU1Ljk5OSwwYy03OS4wNDQsMC0xNDMuMzUyLDY0LjMwOC0xNDMuMzUyLDE0My4zNTN2NzAuMTkzYzAsNC43OCwzLjg3OSw4LjY1Niw4LjY1OSw4LjY1Nmg0OC4wNTcKCQkJYzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzYzAtNDIuOTk4LDM0Ljk4MS03Ny45OCw3Ny45NzktNzcuOThzNzcuOTc5LDM0Ljk4Miw3Ny45NzksNzcuOTh2NzAuMTkzCgkJCWMwLDQuNzgsMy44OCw4LjY1Niw4LjY2MSw4LjY1Nmg0OC4wNTdjNC43OCwwLDguNjU2LTMuODc2LDguNjU2LTguNjU2di03MC4xOTNDMzk5LjM1Miw2NC4zMDgsMzM1LjA0NCwwLDI1NS45OTksMHoKCQkJIE0zODIuMDQsMjA0Ljg5aC0zMC43NDh2LTYxLjUzN2MwLTUyLjU0NC00Mi43NDgtOTUuMjkyLTk1LjI5MS05NS4yOTJzLTk1LjI5MSw0Mi43NDgtOTUuMjkxLDk1LjI5MnY2MS41MzdoLTMwLjc0OHYtNjEuNTM3CgkJCWMwLTY5LjQ5OSw1Ni41NC0xMjYuMDQsMTI2LjAzOC0xMjYuMDRjNjkuNDk5LDAsMTI2LjA0LDU2LjU0MSwxMjYuMDQsMTI2LjA0VjIwNC44OXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDEwLjYzLDIwNC44OUgxMDEuMzcxYy0yMC41MDUsMC0zNy4xODgsMTYuNjgzLTM3LjE4OCwzNy4xODh2MjMyLjczNGMwLDIwLjUwNSwxNi42ODMsMzcuMTg4LDM3LjE4OCwzNy4xODhINDEwLjYzCgkJCWMyMC41MDUsMCwzNy4xODctMTYuNjgzLDM3LjE4Ny0zNy4xODlWMjQyLjA3OEM0NDcuODE3LDIyMS41NzMsNDMxLjEzNSwyMDQuODksNDEwLjYzLDIwNC44OXogTTQzMC41MDUsNDc0LjgxMQoJCQljMCwxMC45Ni04LjkxNiwxOS44NzYtMTkuODc1LDE5Ljg3NkgxMDEuMzcxYy0xMC45NiwwLTE5Ljg3Ni04LjkxNi0xOS44NzYtMTkuODc2VjI0Mi4wNzhjMC0xMC45Niw4LjkxNi0xOS44NzYsMTkuODc2LTE5Ljg3NgoJCQlINDEwLjYzYzEwLjk1OSwwLDE5Ljg3NSw4LjkxNiwxOS44NzUsMTkuODc2VjQ3NC44MTF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI4NS4xMSwzNjkuNzgxYzEwLjExMy04LjUyMSwxNS45OTgtMjAuOTc4LDE1Ljk5OC0zNC4zNjVjMC0yNC44NzMtMjAuMjM2LTQ1LjEwOS00NS4xMDktNDUuMTA5CgkJCWMtMjQuODc0LDAtNDUuMTEsMjAuMjM2LTQ1LjExLDQ1LjEwOWMwLDEzLjM4Nyw1Ljg4NSwyNS44NDQsMTYsMzQuMzY3bC05LjczMSw0Ni4zNjJjLTAuNTM1LDIuNTU0LDAuMTA4LDUuMjExLDEuNzUyLDcuMjM2CgkJCWMxLjY0NSwyLjAyMyw0LjExMywzLjIsNi43MiwzLjJoNjAuNzM4YzIuNjA4LDAsNS4wNzYtMS4xNzYsNi43MTktMy4yYzEuNjQzLTIuMDI2LDIuMjg2LTQuNjgzLDEuNzUxLTcuMjM0TDI4NS4xMSwzNjkuNzgxegoJCQkgTTI3MC44NTEsMzU4LjgyYy0zLjA0LDEuOTM2LTQuNTY1LDUuNTUzLTMuODI0LDkuMDgxbDguNjgsNDEuMzY2aC0zOS40MTVsOC42ODItNDEuMzYzYzAuNzQtMy41MjktMC43ODItNy4xNDYtMy44MjQtOS4wODEKCQkJYy04LjEwOC01LjE2LTEyLjk0OC0xMy45MTEtMTIuOTQ4LTIzLjQwNmMwLTE1LjMyNywxMi40NjktMjcuNzk2LDI3Ljc5Ny0yNy43OTZjMTUuMzI3LDAsMjcuNzk2LDEyLjQ2OSwyNy43OTYsMjcuNzk2CgkJCUMyODMuNzk3LDM0NC45MTQsMjc4Ljk1NywzNTMuNjYzLDI3MC44NTEsMzU4LjgyeiIvPgogICAgPC9nPgo8L3N2Zz4K",Pfe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDk0LjkzMzU5NCAwaC00NzcuODY3MTg4Yy05LjQyMTg3NS4wMDc4MTI1LTE3LjA1ODU5MzUgNy42NDQ1MzEtMTcuMDY2NDA2IDE3LjA2NjQwNnY1OS43MzQzNzVjLjAwNzgxMjUgOS40MjE4NzUgNy42NDQ1MzEgMTcuMDU0Njg4IDE3LjA2NjQwNiAxNy4wNjY0MDdoMTAuODk0NTMybC0yNi44MzU5MzggNDYuOTY0ODQzYy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE5NTMxIDEuNTI3MzQ0IDIuNjI4OTA3IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTMgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA2IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45Njg3NWMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODgyODEzLjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYyODkwNyA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY0ODQ0Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjMyODEyIDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNTM5MDZoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY0ODQ0Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjMyODEzIDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45Njg3NWMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODgyODEzLjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYyODkwNiA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoNDk0LjkyOTY4OGMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDk0IDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY4NzVoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MTcxODcgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYyODkwNiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45NjQ4NDRoMTkuNDI1NzgyYzMuMDQyOTY4LS4wMDM5MDYgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNTM5MDYgMS41MjczNDQtMi42Mjg5MDYgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY0ODQ0aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDkzIDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY4NzVoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYxNzE4NyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjI4OTA2IDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2NDg0NGgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYyMTA5MyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjMyODEyIDEuNTM1MTU2LTUuODc4OTA2LjAyNzM0NC04LjUxOTUzMWwtMjYuODM1OTM4LTQ2Ljk2NDg0M2gxMC44OTQ1MzJjOS40MjE4NzUtLjAxMTcxOSAxNy4wNTQ2ODctNy42NDQ1MzIgMTcuMDY2NDA2LTE3LjA2NjQwN3YtNTkuNzM0Mzc1Yy0uMDExNzE5LTkuNDIxODc1LTcuNjQ0NTMxLTE3LjA1NDY4NzItMTcuMDY2NDA2LTE3LjA2NjQwNnptLTQ0Ny4zMTY0MDYgOTMuODY3MTg4aDQ2LjI1djQyLjY2Nzk2OGgtNzAuNjI4OTA3em0zMTkuMzE2NDA2IDB2NDIuNjY3OTY4aC0yMjEuODY3MTg4di00Mi42Njc5Njh6bTY4LjI2NTYyNSAwdjQyLjY2Nzk2OGgtMTcuMDY2NDA3di00Mi42Njc5Njh6bS0yOTAuMTMyODEzIDM0MS4zMzIwMzF2LTQyLjY2NDA2M2gyMjEuODY3MTg4djQyLjY2NDA2M3ptMjIxLjg2NzE4OCAxNy4wNjY0MDZ2NDIuNjY3OTY5aC0yMjEuODY3MTg4di00Mi42Njc5Njl6bTAtMjU2aC0yMjEuODY3MTg4di00Mi42NjQwNjNoMjIxLjg2NzE4OHptMTcuMDY2NDA2LTQyLjY2NDA2M2gxNy4wNjY0MDZ2NDIuNjY0MDYzaC0xNy4wNjY0MDZ6bS0yMzguOTMzNTk0IDE2Mi4xMzI4MTN2LTQyLjY2Nzk2OWgyMjEuODY3MTg4djQyLjY2Nzk2OXptMjIxLjg2NzE4OCAxNy4wNjY0MDZ2NDIuNjY0MDYzaC0yMjEuODY3MTg4di00Mi42NjQwNjN6bS0yMjEuODY3MTg4LTc2LjgwMDc4MXYtNDIuNjY3OTY5aDIyMS44NjcxODh2NDIuNjY3OTY5em0tMTcuMDY2NDA2LTU5LjczNDM3NWgtMTcuMDY2NDA2di00Mi42NjQwNjNoMTcuMDY2NDA2em0wIDE3LjA2NjQwNnY0Mi42Njc5NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY5em0wIDU5LjczNDM3NXY0Mi42Njc5NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY5em0wIDU5LjczNDM3NXY0Mi42NjQwNjNoLTE3LjA2NjQwNnYtNDIuNjY0MDYzem0wIDU5LjczNDM3NXY0Mi42NjQwNjNoLTE3LjA2NjQwNnYtNDIuNjY0MDYzem0yNTYgMGgxNy4wNjY0MDZ2NDIuNjY0MDYzaC0xNy4wNjY0MDZ6bTAtMTcuMDcwMzEydi00Mi42NjQwNjNoMTcuMDY2NDA2djQyLjY2NDA2M3ptMC01OS43MzA0Njl2LTQyLjY2Nzk2OWgxNy4wNjY0MDZ2NDIuNjY3OTY5em0wLTU5LjczNDM3NXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTM0LjEzMjgxMi00Mi42Njc5NjloMTcuMDY2NDA3djQyLjY2Nzk2OWgtMTcuMDY2NDA3em0wLTE3LjA2NjQwNnYtNDIuNjY0MDYzaDE3LjA2NjQwN3Y0Mi42NjQwNjN6bS0xNy4wNjY0MDYtNTkuNzMwNDY5aC0xNy4wNjY0MDZ2LTQyLjY2Nzk2OGgxNy4wNjY0MDZ6bS0yNzMuMDY2NDA2IDBoLTE3LjA2NjQwNnYtNDIuNjY3OTY4aDE3LjA2NjQwNnptLTgwLjM4MjgxMiAxNy4wNjY0MDZoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzMwNDY5aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em0wIDU5LjczNDM3NWg0Ni4yNXY0Mi42Njc5NjloLTcwLjYyODkwN3ptMCA1OS43MzQzNzVoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzM0Mzc1aDQ2LjI1djQyLjY2NDA2M2gtNzAuNjI4OTA3em0wIDU5LjczMDQ2OWg0Ni4yNXY0Mi42Njc5NjloLTcwLjYyODkwN3ptNjMuMzE2NDA2IDQyLjY2Nzk2OXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTI3My4wNjY0MDYgMHYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTEwNC43NTc4MTIgMGgtNzAuNjI1di00Mi42Njc5NjloNDYuMjV6bTAtNTkuNzM0Mzc1aC03MC42MjV2LTQyLjY2NDA2M2g0Ni4yNXptMC01OS43MzQzNzVoLTcwLjYyNXYtNDIuNjY0MDYzaDQ2LjI1em0wLTU5LjczMDQ2OWgtNzAuNjI1di00Mi42Njc5NjloMTcuMDY2NDA3djE3LjA2NjQwNmMwIDQuNzE0ODQ0IDMuODIwMzEyIDguNTM1MTU3IDguNTM1MTU2IDguNTM1MTU3IDQuNzEwOTM3IDAgOC41MzEyNS0zLjgyMDMxMyA4LjUzMTI1LTguNTM1MTU3di0xNy4wNjY0MDZoMTIuMTE3MTg3em0wLTU5LjczNDM3NWgtMzYuNDkyMTg3di00Mi42Njc5NjloMTIuMTE3MTg3em0wLTU5LjczNDM3NWgtMzYuNDkyMTg3di00Mi42NjQwNjNoMTIuMTE3MTg3em0wLTU5LjczMDQ2OWgtMzYuNDkyMTg3di00Mi42Njc5NjhoMTIuMTE3MTg3em0tMTkuNDI1NzgxLTU5LjczNDM3NWgtNDUyLjI2NTYyNXYtNTkuNzM0Mzc1aDQ3Ny44NjcxODhsLjAwNzgxMiA1OS43MzQzNzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im01OS43MzQzNzUgNDIuNjY3OTY5aC0xNy4wNjY0MDZjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDE3LjA2NjQwNmM0LjcxMDkzNyAwIDguNTMxMjUtMy44MjAzMTMgOC41MzEyNS04LjUzNTE1NiAwLTQuNzEwOTM4LTMuODIwMzEzLTguNTMxMjUtOC41MzEyNS04LjUzMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ1LjA2NjQwNiA0Mi42Njc5NjloLTUxLjE5OTIxOGMtNC43MTQ4NDQgMC04LjUzNTE1NyAzLjgyMDMxMi04LjUzNTE1NyA4LjUzMTI1IDAgNC43MTQ4NDMgMy44MjAzMTMgOC41MzUxNTYgOC41MzUxNTcgOC41MzUxNTZoNTEuMTk5MjE4YzQuNzE0ODQ0IDAgOC41MzUxNTYtMy44MjAzMTMgOC41MzUxNTYtOC41MzUxNTYgMC00LjcxMDkzOC0zLjgyMDMxMi04LjUzMTI1LTguNTM1MTU2LTguNTMxMjV6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",Wfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yMzQgMjQzLjc4M2MtLjk1MSAwLTEuODY4LjE0MS0yLjczOS4zODlsLS4wMDItLjAwNy0yOC43MjIgOC4xODdjLTUuMzExIDEuNTE0LTguMzkgNy4wNDctNi44NzYgMTIuMzU4IDEuMjUzIDQuMzk2IDUuMjU4IDcuMjYxIDkuNjEyIDcuMjYxLjkwNyAwIDEuODMtLjEyNSAyLjc0Ni0uMzg1bDE1Ljk4MS00LjU1NHYzNS40MmwtMTI0IDM1LjM0NXYtMzUuNDJsMjEuNDY0LTYuMTE4YzUuMzExLTEuNTE0IDguMzktNy4wNDcgNi44NzYtMTIuMzU4cy03LjA0NS04LjM4Ny0xMi4zNTgtNi44NzZsLTI4LjcyMyA4LjE4Ny4wMDEuMDA3Yy00LjE4OSAxLjE5My03LjI2IDUuMDM5LTcuMjYgOS42MXYxMjcuMTk5Yy04LjM2My02LjI5My0xOC43NTItMTAuMDI4LTMwLTEwLjAyOC0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDA2bDEyNC0zNS4zNDV2NTcuNzMzYy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xNjcuMTcyYzAtNS41MjMtNC40NzctMTAtMTAtMTB6bS0xODQgMjQ4LjIxN2MtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xNDQtNDEuMDQ1Yy0xNi41NDIgMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU4LTMwIDMwLTMwIDMwIDEzLjQ1OCAzMCAzMC0xMy40NTggMzAtMzAgMzB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUwOC4wMTMgMi4wMWMtMi41MTEtMS44ODktNS43NjMtMi40ODctOC43ODItMS42MTlsLTEwNC40MDggMzAuMDg5Yy00LjI4MiAxLjIzNC03LjIzMSA1LjE1Mi03LjIzMSA5LjYwOXYxMjcuMTk5Yy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDNsOTcuMTc3LTI4LjAwNWM0LjI4Mi0xLjIzNCA3LjIzMS01LjE1MiA3LjIzMS05LjYwOXYtNTYuMjE3YzAtMy4xNDItMS40NzctNi4xMDEtMy45ODctNy45OXptLTE1MC40MjEgMjM1LjI1MWMtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xMzQuNDA4LTE3OC41NjktODQuNDA4IDI0LjMyNXYtMzUuNDAzbDg0LjQwOC0yNC4zMjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3MS41OTEgMzQ4Ljc2Mi00OC4yODgtNy4wMTctMjEuNTk1LTQzLjc1NmMtMS42ODUtMy40MTMtNS4xNjEtNS41NzQtOC45NjctNS41NzRzLTcuMjgzIDIuMTYxLTguOTY3IDUuNTc0bC0yMS41OTUgNDMuNzU2LTQ4LjI4OCA3LjAxN2MtMy43NjcuNTQ3LTYuODk2IDMuMTg2LTguMDczIDYuODA2cy0uMTk1IDcuNTk0IDIuNTMxIDEwLjI1MWwzNC45NDEgMzQuMDYtOC4yNDkgNDguMDkzYy0uNjQ0IDMuNzUxLjg5OCA3LjU0MyAzLjk3OCA5Ljc4MSAzLjA3OSAyLjIzNiA3LjE2MiAyLjUzMiAxMC41MzEuNzYxbDQzLjE5LTIyLjcwNyA0My4xOSAyMi43MDZjMS40NjMuNzcgMy4wNjEgMS4xNDkgNC42NTIgMS4xNDkgMi4wNzMgMCA0LjEzNy0uNjQ0IDUuODc5LTEuOTEgMy4wOC0yLjIzNyA0LjYyMi02LjAyOSAzLjk3OC05Ljc4MWwtOC4yNDktNDguMDkzIDM0Ljk0MS0zNC4wNmMyLjcyNi0yLjY1NyAzLjcwNy02LjYzMSAyLjUzMS0xMC4yNTFzLTQuMzA0LTYuMjU4LTguMDcxLTYuODA1em0tNDcuMTI0IDQwLjQ2NGMtMi4zNTcgMi4yOTctMy40MzMgNS42MDctMi44NzYgOC44NTFsNS43MTIgMzMuMzA0LTI5LjkwOS0xNS43MjRjLTIuOTEzLTEuNTMyLTYuMzkzLTEuNTMyLTkuMzA3IDBsLTI5LjkwOSAxNS43MjQgNS43MTItMzMuMzA0Yy41NTctMy4yNDQtLjUxOS02LjU1NC0yLjg3Ni04Ljg1MWwtMjQuMTk2LTIzLjU4NiAzMy40MzktNC44NTljMy4yNTctLjQ3MyA2LjA3My0yLjUxOSA3LjUyOS01LjQ3bDE0Ljk1NS0zMC4zMDEgMTQuOTU0IDMwLjMwMWMxLjQ1NyAyLjk1MSA0LjI3MiA0Ljk5NyA3LjUyOSA1LjQ3bDMzLjQzOSA0Ljg1OXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIuNjIgOTAuNzA2LTYuNjIgMzguNTkzYy0uNjQ0IDMuNzUxLjg5OCA3LjU0MyAzLjk3OCA5Ljc4MSAzLjA3OSAyLjIzNyA3LjE2MyAyLjUzMyAxMC41MzEuNzYxbDM0LjY1OC0xOC4yMjEgMzQuNjU5IDE4LjIyMWMxLjQ2My43NjkgMy4wNjEgMS4xNDggNC42NTIgMS4xNDggMi4wNzMgMCA0LjEzNy0uNjQ0IDUuODc5LTEuOTEgMy4wOC0yLjIzOCA0LjYyMi02LjAyOSAzLjk3OC05Ljc4MWwtNi42Mi0zOC41OTMgMjguMDQtMjcuMzMxYzIuNzI2LTIuNjU3IDMuNzA3LTYuNjMxIDIuNTMxLTEwLjI1MXMtNC4zMDYtNi4yNTgtOC4wNzMtNi44MDZsLTM4Ljc1LTUuNjMxLTE3LjMyOC0zNS4xMTJjLTEuNjg0LTMuNDEzLTUuMTYtNS41NzQtOC45NjctNS41NzRzLTcuMjgzIDIuMTYxLTguOTY3IDUuNTc0bC0xNy4zMjkgMzUuMTEzLTM4Ljc1IDUuNjMxYy0zLjc2Ny41NDctNi44OTYgMy4xODYtOC4wNzMgNi44MDZzLS4xOTUgNy41OTQgMi41MzEgMTAuMjUxem0yNC4zMy0zMC45ODNjMy4yNTctLjQ3MyA2LjA3My0yLjUxOSA3LjUyOS01LjQ3bDEwLjY4OC0yMS42NTcgMTAuNjg4IDIxLjY1N2MxLjQ1NyAyLjk1MSA0LjI3MiA0Ljk5NyA3LjUyOSA1LjQ3bDIzLjkgMy40NzMtMTcuMjkyIDE2Ljg1OGMtMi4zNTcgMi4yOTgtMy40MzMgNS42MDgtMi44NzYgOC44NTJsNC4wODMgMjMuODA0LTIxLjM3Ny0xMS4yMzhjLTEuNDU3LS43NjYtMy4wNTUtMS4xNDktNC42NTMtMS4xNDktMS41OTkgMC0zLjE5Ny4zODMtNC42NTMgMS4xNDlsLTIxLjM3NyAxMS4yMzggNC4wODMtMjMuODA0Yy41NTctMy4yNDQtLjUxOS02LjU1NC0yLjg3Ni04Ljg1MmwtMTcuMjk2LTE2Ljg1OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjM0IDg2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzQgMTU2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzQgMTI2LjMwNmgtMTBjLTUuNTIzIDAtMTAgNC40NzctMTAgMTBzNC40NzcgMTAgMTAgMTBoMTBjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE5NCAxNDYuMzA2aDEwYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEwaC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYyIDI4NC4zMWMyLjYzIDAgNS4yMS0xLjA3IDcuMDctMi45M3MyLjkzLTQuNDQgMi45My03LjA3YzAtMi42NC0xLjA3LTUuMjEtMi45My03LjA4LTEuODYtMS44Ni00LjQ0LTIuOTItNy4wNy0yLjkycy01LjIxIDEuMDYtNy4wNyAyLjkyYy0xLjg2IDEuODctMi45MyA0LjQ0LTIuOTMgNy4wOCAwIDIuNjMgMS4wNyA1LjIxIDIuOTMgNy4wN3M0LjQ0IDIuOTMgNy4wNyAyLjkzeiIvPgogICAgPC9nPgo8L3N2Zz4=",Bfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwNS40IDUwNS40Ij4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQzNy4xLDIzMy40NWMxNC44LTEwLjQsMjQuNi0yNy43LDI0LjYtNDcuMmMwLTMxLjktMjUuOC01Ny43LTU3LjctNTcuN2MtMzEuOSwwLTU3LjcsMjUuOC01Ny43LDU3LjcKCQkJYzAsMTkuNSw5LjcsMzYuOCwyNC42LDQ3LjJjLTEyLjcsNC40LTI0LjMsMTEuMi0zNC4xLDIwYy0xMy41LTExLjUtMjkuNC0yMC4zLTQ2LjgtMjUuNWMyMS4xLTEyLjgsMzUuMy0zNi4xLDM1LjMtNjIuNgoJCQljMC00MC40LTMyLjctNzMuMS03My4xLTczLjFjLTQwLjQsMC03My4xLDMyLjgtNzMuMSw3My4xYzAsMjYuNSwxNC4xLDQ5LjgsMzUuMyw2Mi42Yy0xNy4yLDUuMi0zMi45LDEzLjktNDYuMywyNS4yCgkJCWMtOS44LTguNi0yMS4yLTE1LjMtMzMuNy0xOS42YzE0LjgtMTAuNCwyNC42LTI3LjcsMjQuNi00Ny4yYzAtMzEuOS0yNS44LTU3LjctNTcuNy01Ny43cy01Ny43LDI1LjgtNTcuNyw1Ny43CgkJCWMwLDE5LjUsOS43LDM2LjgsMjQuNiw0Ny4yQzI4LjUsMjQ3LjI1LDAsMjg0Ljk1LDAsMzI5LjI1djYuNmMwLDAuMiwwLjIsMC40LDAuNCwwLjRoMTIyLjNjLTAuNyw1LjUtMS4xLDExLjItMS4xLDE2Ljl2Ni44CgkJCWMwLDI5LjQsMjMuOCw1My4yLDUzLjIsNTMuMmgxNTVjMjkuNCwwLDUzLjItMjMuOCw1My4yLTUzLjJ2LTYuOGMwLTUuNy0wLjQtMTEuNC0xLjEtMTYuOUg1MDVjMC4yLDAsMC40LTAuMiwwLjQtMC40di02LjYKCQkJQzUwNS4yLDI4NC44NSw0NzYuOCwyNDcuMTUsNDM3LjEsMjMzLjQ1eiBNMzYyLjMsMTg2LjE1YzAtMjMsMTguNy00MS43LDQxLjctNDEuN3M0MS43LDE4LjcsNDEuNyw0MS43CgkJCWMwLDIyLjctMTguMyw0MS4yLTQwLjksNDEuN2MtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzM4MC41LDIyNy40NSwzNjIuMywyMDguOTUsMzYyLjMsMTg2LjE1eiBNMTk0LjksMTY1LjM1CgkJCWMwLTMxLjUsMjUuNi01Ny4xLDU3LjEtNTcuMXM1Ny4xLDI1LjYsNTcuMSw1Ny4xYzAsMzAuNC0yMy45LDU1LjMtNTMuOCw1N2MtMS4xLDAtMi4yLDAtMy4zLDBjLTEuMSwwLTIuMiwwLTMuMywwCgkJCUMyMTguOCwyMjAuNjUsMTk0LjksMTk1Ljc1LDE5NC45LDE2NS4zNXogTTU5LjMsMTg2LjE1YzAtMjMsMTguNy00MS43LDQxLjctNDEuN3M0MS43LDE4LjcsNDEuNyw0MS43YzAsMjIuNy0xOC4zLDQxLjItNDAuOSw0MS43CgkJCWMtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzc3LjYsMjI3LjQ1LDU5LjMsMjA4Ljk1LDU5LjMsMTg2LjE1eiBNMTI1LjUsMzIwLjE1SDE2LjJjNC41LTQyLjYsNDAuNS03Niw4NC4yLTc2LjMKCQkJYzAuMiwwLDAuNCwwLDAuNiwwczAuNCwwLDAuNiwwYzIwLjgsMC4xLDM5LjgsNy44LDU0LjUsMjAuM0MxNDEuNywyNzkuNzUsMTMxLDI5OC45NSwxMjUuNSwzMjAuMTV6IE0zNjYuOCwzNTkuOTUKCQkJYzAsMjAuNS0xNi43LDM3LjItMzcuMiwzNy4yaC0xNTVjLTIwLjUsMC0zNy4yLTE2LjctMzcuMi0zNy4ydi02LjhjMC02Mi4xLDQ5LjYtMTEyLjksMTExLjMtMTE0LjdjMS4xLDAuMSwyLjMsMC4xLDMuNCwwLjEKCQkJczIuMywwLDMuNC0wLjFjNjEuNywxLjgsMTExLjMsNTIuNiwxMTEuMywxMTQuN1YzNTkuOTV6IE0zNzguNywzMjAuMTVjLTUuNS0yMS4xLTE2LTQwLTMwLjMtNTUuNmMxNC44LTEyLjgsMzQtMjAuNSw1NS0yMC43CgkJCWMwLjIsMCwwLjQsMCwwLjYsMHMwLjQsMCwwLjYsMGM0My43LDAuMyw3OS43LDMzLjcsODQuMiw3Ni4zSDM3OC43eiIvPgogICAgPC9nPgo8L3N2Zz4K",Jfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNjcuMDQzIDE3MC40MTRjLTEwLjUxNi0uMzY1LTIwLjAxNi01LjA0Ny0yNi43NDktMTMuMTgxLTQuOTE0LTUuOTM3LTEzLjkzOC01LjkyNS0xOC44NDIgMC0xNC41OTcgMTcuNjM3LTQxLjQ2MiAxNy42MDYtNTYuMDMxIDAtNC45NzMtNi4wMDctMTQuMDA1LTUuODQyLTE4Ljg0MyAwLTE0LjU5MiAxNy42MzMtNDEuNDU1IDE3LjYxMy01Ni4wMzEtLjAwMS00LjkyMi01Ljk0NS0xMy45NDUtNS45MTUtMTguODQxIDAtNi43MzMgOC4xMzUtMTYuMjMzIDEyLjgxNi0yNi43NDkgMTMuMTgyLTQuMTQuMTQ0LTcuMzc5IDMuNjE2LTcuMjM0IDcuNzU2LjE0NCA0LjE0IDMuNTk0IDcuMzcxIDcuNzU2IDcuMjM1IDEzLjU2Ni0uNDcyIDI2LjM4Ni02LjMyOCAzNS42NDYtMTYuMTg3IDIwLjI3NiAyMS42MjkgNTQuNTY5IDIxLjY1NyA3NC44NzUuMDAxIDIwLjI3OCAyMS42MjkgNTQuNTcxIDIxLjY1NCA3NC44NzQtLjAwMSA5LjI2MiA5Ljg1OSAyMi4wOCAxNS43MTUgMzUuNjQ3IDE2LjE4NyA0LjEyMS4xNDkgNy42MTMtMy4wOTUgNy43NTYtNy4yMzUuMTQ1LTQuMTQtMy4wOTQtNy42MTItNy4yMzQtNy43NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjc4MiAxMDcuN2MtOC4wODItMS43MDMtMTUuMTY3LTYtMjAuNDg3LTEyLjQyNy00LjkxNC01LjkzNy0xMy45MzgtNS45MjUtMTguODQyIDAtMTQuNTk3IDE3LjYzNy00MS40NjIgMTcuNjA2LTU2LjAzMSAwLTQuOTczLTYuMDA3LTE0LjAwNS01Ljg0Mi0xOC44NDMgMC0xNC41OTIgMTcuNjMzLTQxLjQ1NSAxNy42MTMtNTYuMDMxLS4wMDEtNC45MjItNS45NDUtMTMuOTQ1LTUuOTE1LTE4Ljg0MSAwLTUuMzIgNi40MjctMTIuNDA0IDEwLjcyNS0yMC40ODYgMTIuNDI4LTQuMDU0Ljg1NC02LjY0NyA0LjgzMi01Ljc5MyA4Ljg4NXM0Ljg0IDYuNjQ3IDguODg1IDUuNzkyYzEwLjM4My0yLjE4OCAxOS41OTItNy4zOSAyNi44MTYtMTUuMTE3IDIwLjI4MiAyMS42MzEgNTQuNTcyIDIxLjY0OCA3NC44NzItLjAwMSAyMC4yNzYgMjEuNjI2IDU0LjU2NyAyMS42NTYgNzQuODcxLjAwMiA3LjIyNiA3LjcyNyAxNi40MzYgMTIuOTMgMjYuODE4IDE1LjExNiA0LjA0OC44NTUgOC4wMy0xLjc0IDguODg1LTUuNzkzLjg1My00LjA1My0xLjc0MS04LjAzMS01Ljc5My04Ljg4NHoiLz4KICAgICAgICA8cGF0aCBkPSJtNTQuOTg1IDQyOS4yNzNoMTY5LjczMnY2OS41NzljMCA3LjI1IDUuODk4IDEzLjE0OCAxMy4xNDkgMTMuMTQ4aDI1LjE5MmM3LjI1IDAgMTMuMTQ4LTUuODk4IDEzLjE0OC0xMy4xNDh2LTEuNDY0aDc0LjE5OXYxLjQ2NGMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtNjkuNTc5aDU1LjExOWMyNC4xMjEgMCA0My4wODEtMjAuODg2IDQwLjY1Ny00NC45NTYtLjAwNC0uMDQtLjAwOC0uMDgtLjAxMy0uMTJsLTEzLjAzNS0xMTEuNTY3Yy0uNDgxLTQuMTE0LTQuMjE1LTcuMDYyLTguMzE5LTYuNTc5LTQuMTE0LjQ4MS03LjA2IDQuMjA2LTYuNTc5IDguMzJsMTMuMDMgMTExLjUwM2MxLjQ2IDE0LjgzMy0xMC4wOTQgMjguMzk4LTI1LjczOCAyOC4zOThoLTU1LjExOXYtMTkuMDU4aDQ0LjkzN2M5LjQ3IDAgMTYuODgtOC4xOTEgMTUuOTM1LTE3LjYxNi0uMDA1LS4wNDMtLjAxLS4wODYtLjAxNS0uMTI5bC0zOC43NTYtMzI5LjA3NGMtLjg2MS04LjE3OS03LjY5NS0xNC4zMzctMTUuOTI3LTE0LjMzN2gtMTM0LjU3MWMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxMzQuNTcxYy41MjMgMCAuOTU3LjM5MyAxLjAxLjkxNC4wMDQuMDQyLjAwOS4wODMuMDE0LjEyNWwzOC43NSAzMjkuMDM0Yy4wMTkuMjc1LS4wNzQuNTQ3LS4yNi43NTEtLjE5MS4yMTItLjQ2Ni4zMzMtLjc1Mi4zMzNoLTQ0LjkzN3YtMjIuODkyYzAtMzkuNDc3LTMyLjI1Ni03MC4zNDQtNzAuMzQ1LTcwLjM0NC0yNi43NzggMC01MC45NDcgMTUuMTg5LTYyLjgzOSAzOC43NDQtMTIuMDA4LTIzLjc3Mi0zNi43MjUtMzkuMjUtNjQuMjA2LTM4LjczMS0zNy43LjcwOS02OC45ODggMzEuNTkzLTY4Ljk4OCA3MC4zMzJ2MjIuODkyaC03MC4zNTJjLS4yODYgMC0uNTYtLjEyMi0uNzUzLS4zMzUtLjE4NS0uMjA0LS4yNzctLjQ3Ni0uMjU5LS43NTFsMzguNzUyLTMyOS4wMzJjLjAwNS0uMDQyLjAxLS4wODQuMDE0LS4xMjcuMDUzLS41Mi40ODYtLjkxMiAxLjAxLS45MTJoMTM0LjU3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMzQuNTdjLTguMjMzIDAtMTUuMDY3IDYuMTYtMTUuOTI3IDE0LjMzOWwtMzguNzU3IDMyOS4wNzNjLS4wMDUuMDQzLS4wMS4wODYtLjAxNS4xMjktLjk0NiA5LjQyMiA2LjQ2NCAxNy42MTYgMTUuOTM1IDE3LjYxNmgxNTkuNTUxdjE5LjA1OGgtMTY5LjczMmMtMTQuODUyIDAtMjcuMjc5LTEyLjc4Mi0yNS43MzktMjguMzk5bDQwLjYwOS0zNDcuNDgzYy4wMDUtLjA0LjAwOS0uMDguMDEzLS4xMTkgMS4zMzYtMTMuMjY4IDEyLjM5OS0yMy4yNzMgMjUuNzM0LTIzLjI3M2gzMjAuNzk4YzEzLjMzNSAwIDI0LjM5NyAxMC4wMDUgMjUuNzMzIDIzLjI3Mi4wMDQuMDQuMDA4LjA4LjAxMy4xMmwyMy40ODcgMjAwLjk3OWMuNDgxIDQuMTE1IDQuMjE3IDcuMDYzIDguMzE5IDYuNTc5IDQuMTE0LS40OCA3LjA2LTQuMjA2IDYuNTc5LTguMzJsLTIzLjQ4LTIwMC45MjJjLTIuMTM4LTIwLjkzMi0xOS42MDMtMzYuNzA4LTQwLjY1MS0zNi43MDhoLTMyMC43OThjLTIxLjA0OSAwLTM4LjUxNiAxNS43NzctNDAuNjUyIDM2LjcxbC00MC42MSAzNDcuNDg4Yy0uMDA1LjA0LS4wMDkuMDgtLjAxMy4xMi0yLjQxNSAyMy45OTkgMTYuNDY2IDQ0Ljk1NSA0MC42NTggNDQuOTU1em0yNTcuNzEzLTcxLjMwMmMwLTEwLjMyNSA4LjEyMi0xOS4yODkgMTguNS0xOS40ODMgMTAuNjgyLS4yMDQgMTkuMjA5IDguNDkxIDE5LjIwOSAxOC44MzZ2MjIuODkyaC0zNy43MDl6bS0zNi40OTEgNzEuMzAyaDc0LjE5OXYxOS4wNThoLTc0LjE5OXptNzguMjE1LTM0LjA1OGM1LjU2OSAwIDEwLjAxNCA0LjgxOCA5LjQ4NCAxMC40My0uNDczIDQuODg0LTQuNTkgOC42MjctOS40ODQgOC42MjdoLTc4LjIxNXYtMTkuMDU4YzI2LjExMi4wMDEgNTIuMTY3LjAwMSA3OC4yMTUuMDAxem0tNzguMjE1IDY4LjExNmg3OC4yMTVjNS41MzcgMCAxMC4wMTYgNC43OTYgOS40ODQgMTAuNDMtLjQ3MiA0Ljg3NC00LjU4NyA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1em0xMTAuNjkgMzMuNjY5aC0yMS40OXYtMi4yMTNjMTguMDE0LTkuMTI3IDE4LjA1NC0zNC43MDggMC00My44NTV2LTI0LjI2YzE4LjA5OC05LjE3IDE3Ljk2OC0zNC43NTIgMC00My44NTV2LTI1LjQ5M2MwLTIwLjQ4Ni0xOC4yMDItMzYuNTE3LTM4Ljc5NC0zMy40OS0xNi4zNTMgMi40LTI4LjkxNSAxNi41MjYtMjguOTE1IDMzLjQ5djIyLjg5MmgtMjEuNDl2LTIxLjgzN2MwLTMwLjU1MiAyNC40Ni01Ni4wOTQgNTQuODIyLTU2LjM4NiAzMS4yMTgtLjI2MiA1NS44NjcgMjUuMDU4IDU1Ljg2NyA1NS4zMzF6bS0yMzYuMzc3LTExNi43ODV2LTIxLjgzOGMwLTMyLjIyNCAyNi42OTYtNTcuNTgzIDU3LjU4OS01Ni4zNDIgMjkuNDgzIDEuMjA0IDUzLjA5OSAyNS41MDMgNTMuMDk5IDU1LjI4N3YxMzkuNjc3aC0yMS40OWMwLTE0LjQxOCAwLTEyMS4wNjMgMC0xMzkuNjc3IDAtMTcuOTUtMTQuMDY1LTMyLjgwNC0zMS45MTUtMzMuNzk1LTE5LjI3Ni0xLjA5Ni0zNS43OTMgMTQuMjYxLTM1Ljc5MyAzMy43OTV2MjIuODkyaC0yMS40OXptMzYuNDkgMHYtMjIuMjQ1YzAtOS40MjUgNi43NjItMTcuNzI0IDE1Ljg3Ny0xOS4yNDMgMTEuNjM5LTEuODUyIDIxLjgzIDcuMjM3IDIxLjgzIDE4LjU5NnYyMi44OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Rfe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAxNjBoLTMydi04MGMwLTguODIyLTcuMTc4LTE2LTE2LTE2aC0zMnYtNDBjMC0xMy4yMzMtMTAuNzY3LTI0LTI0LTI0aC0yMjRjLTEzLjIzMyAwLTI0IDEwLjc2Ny0yNCAyNHY0MGgtMzJjLTguODIyIDAtMTYgNy4xNzgtMTYgMTZ2ODBoLTMyYy0yMi4wNTYgMC00MCAxNy45NDQtNDAgNDB2MTc2YzAgMjIuMDU2IDE3Ljk0NCA0MCA0MCA0MGg4MHY3MmMwIDEzLjIzMyAxMC43NjcgMjQgMjQgMjRoMjI0YzEzLjIzMyAwIDI0LTEwLjc2NyAyNC0yNHYtNzJoODBjMjIuMDU2IDAgNDAtMTcuOTQ0IDQwLTQwdi0xNzZjMC0yMi4wNTYtMTcuOTQ0LTQwLTQwLTQwem0tNDgtODB2ODBoLTMydi04MHptLTI4OC01NmMwLTQuNDExIDMuNTg5LTggOC04aDIyNGM0LjQxMSAwIDggMy41ODkgOCA4djEzNmgtMjQwYzAtMS42MzUgMC0xMzAuMjExIDAtMTM2em0tNDggNTZoMzJ2ODBoLTMyem0yODggNDA4YzAgNC40MTEtMy41ODkgOC04IDhoLTIyNGMtNC40MTEgMC04LTMuNTg5LTgtOHYtMTM2aDI0MHptMTIwLTExMmMwIDEzLjIzMy0xMC43NjcgMjQtMjQgMjRoLTgwdi00OGgxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOGMtMjguNjU3IDAtMjkwLjg4MyAwLTMwNCAwLTQuNDE4IDAtOCAzLjU4Mi04IDhzMy41ODIgOCA4IDhoMTZ2NDhoLTgwYy0xMy4yMzMgMC0yNC0xMC43NjctMjQtMjR2LTE3NmMwLTEzLjIzMyAxMC43NjctMjQgMjQtMjRoNDMyYzEzLjIzMyAwIDI0IDEwLjc2NyAyNCAyNHoiLz4KICAgICAgICA8cGF0aCBkPSJtNDU2IDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTIgMTkyYy0xMy4yMzMgMC0yNCAxMC43NjctMjQgMjRzMTAuNzY3IDI0IDI0IDI0IDI0LTEwLjc2NyAyNC0yNC0xMC43NjctMjQtMjQtMjR6bTAgMzJjLTQuNDExIDAtOC0zLjU4OS04LThzMy41ODktOCA4LTggOCAzLjU4OSA4IDgtMy41ODkgOC04IDh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCAzNzZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCA0MTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCA0NTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Ffe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NzMuNTc0IDI1Mi40MzJoLTczLjE4NHYtNDMuNzYxYzAtMTEuNDczLTkuMzM0LTIwLjgwNy0yMC44MDctMjAuODA3LTkuODg2IDAtMzQuMjk1IDAtNDQuMzAyIDB2LTE3Ljg0MWMwLTEyLjM5OS0xMC4wODctMjIuNDg2LTIyLjQ4Ni0yMi40ODZoLTE3LjU5NWwxNC43MjQtNDcuNTM1YzE2Ljc1OS42OTIgMzAuNTM5LTEyLjc1IDMwLjUzOS0yOS4yODQgMC0xNi4xNjQtMTMuMTUxLTI5LjMxNS0yOS4zMTUtMjkuMzE1LTI5LjI2OCAwLTQwLjQ1NSAzOC41MS0xNS41NDEgNTQuMTU0bC0xNi4xMDEgNTEuOTc5aC0zMC4xMzNjLTEwLjU3NiAwLTE5LjgzMSA3LjUxNC0yMi4wMDYgMTcuODY2LS4xMDYuNTA3LS4xNiAxLjAyNC0uMTYgMS41NDJ2MjAuOTE5aC0zOC4xNDZ2LTE4LjgwMWMwLTguNjczLTcuMDU3LTE1LjczLTE1LjczLTE1LjczaC0xLjM3OXYtMTkuNTcyYzkuNDY5LS4yMDMgMTcuMTEzLTcuOTUzIDE3LjExMy0xNy40N3YtMTUuNjE2YzAtOS41MTctNy42NDQtMTcuMjY3LTE3LjExMy0xNy40N3YtNDMuNjk5YzAtMjEuNjk1LTE3LjY1LTM5LjM0Ni0zOS4zNDYtMzkuMzQ2aC01MS42NzdjLTQuMTQgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NXMzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg1MS42NzhjMTMuNDI5IDAgMjQuMzU1IDEwLjkyNiAyNC4zNTUgMjQuMzU1djQzLjY4MmgtMzcuOTU3di0yMi41ODRjMC00LjE0LTMuMzU2LTcuNDk1LTcuNDk1LTcuNDk1aC05Ni4ydi0zNy45NTdoMzUuNjM4YzQuMTQgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NXMtMy4zNTUtNy40OTUtNy40OTUtNy40OTVoLTQzLjEzM2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djUyLjk0N2MwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoOTYuMnYxNS4xMDljLTkuNDY4LjIwMy0xNy4xMTIgNy45NTQtMTcuMTEyIDE3LjQ3djE1LjYxNmMwIDkuNTE2IDcuNjQ0IDE3LjI2NyAxNy4xMTIgMTcuNDd2MTkuNTcyaC0xLjM3OWMtOC42NzMgMC0xNS43MyA3LjA1Ny0xNS43MyAxNS43M3YxOC44MDFoLTIyLjU1NWMtMTEuNDczIDAtMjAuODA3IDkuMzM0LTIwLjgwNyAyMC44MDd2Mi40ODlsLTMzLjQwMiA3LjU4OWMtMy40MTMuNzc1LTUuODM1IDMuODA5LTUuODM1IDcuMzA5djEwNy4yNDNjMCAzLjQ5OSAyLjQyMSA2LjUzMyA1LjgzMyA3LjMwOGwzMy40MDQgNy41OTh2Mi40ODdjMCAxMS40NzMgOS4zMzQgMjAuODA3IDIwLjgwNyAyMC44MDdoNi40MjR2MjcuNzk5aC0xNS4xMjdjLTQuMTQgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NSAwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoMzMzLjg0OWMxLjM3OCAwIDIuNDk4IDEuMTIxIDIuNDk4IDIuNDk4djI1LjUyYy0xNS44MzYtMi44My0zMi40MTguMTAzLTQ2LjcwNyA4LjgxMS0xNi43NTQgMTAuMjExLTM3LjU3IDEwLjIxMi01NC4zMjQgMC0yMS41NjctMTMuMTQ0LTQ4LjM2MS0xMy4xNDUtNjkuOTI4IDAtMTYuNzU0IDEwLjIxMS0zNy41NyAxMC4yMTItNTQuMzI0IDAtMjEuNTY3LTEzLjE0NC00OC4zNjEtMTMuMTQ1LTY5LjkyOCAwLTE2Ljc1NCAxMC4yMTItMzcuNTcgMTAuMjEyLTU0LjMyNCAwbC0yNy40NjktMTYuNzQydi0yMC4wODdoMTAuNjc2YzQuMTQgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NXMtMy4zNTYtNy40OTUtNy40OTUtNy40OTVoLTE4LjE3MmMtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djk3LjU0OWMwIDQuMTM5IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDQ5Ny4wMDljNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1IDAtODguNTA2IDAtMTE4LjAwOSAwLTIxMy40ODcuMDAxLTIxLjE4OC0xNy4yMzctMzguNDI2LTM4LjQyNS0zOC40MjZ6bS0xNjIuNDI1LTE5Ni4wMzdjNy44OTggMCAxNC4zMjUgNi40MjYgMTQuMzI1IDE0LjMyNHMtNi40MjYgMTQuMzI1LTE0LjMyNSAxNC4zMjVjLTcuODk4IDAtMTQuMzI0LTYuNDI2LTE0LjMyNC0xNC4zMjVzNi40MjYtMTQuMzI0IDE0LjMyNC0xNC4zMjR6bS0yNjcuNjA0IDI3Ni40NC0yNC4yNDctNS41MTV2LTk1LjI3N2wyNC4yNDctNS41MDl6bTE5OC42NTMtMTY0Ljk3NGMuOTQ3LTMuMTI1IDMuODY3LTUuMzMzIDcuMTc2LTUuMzMzaDYzLjQyYzQuMTMzIDAgNy40OTUgMy4zNjIgNy40OTUgNy40OTV2MTcuODQxaC03OC4wOTF6bS0xNDAuMzA1LTUxLjU2OXYtMTUuNjE2YzAtMS4zNzggMS4xMjEtMi40OTggMi40OTgtMi40OThoNjcuMTg1YzEuMzc4IDAgMi40OTggMS4xMjEgMi40OTggMi40OTh2MTUuNjE2YzAgMS4zNzgtMS4xMjEgMi40OTgtMi40OTggMi40OThoLTY3LjE4NWMtMS4zNzcuMDAxLTIuNDk4LTEuMTItMi40OTgtMi40OTh6bTU1LjA2OSAxNy40ODl2MTkuNTUzaC0zNy45NTd2LTE5LjU1M3ptLTU1LjA2NiAzNS4yODNjMC0uNDA3LjMzMi0uNzM5LjczOS0uNzM5aDcwLjY5NmMuNDA3IDAgLjczOS4zMzIuNzM5LjczOXYxOC44MDFoLTcyLjE3NXYtMTguODAxem0tLjAwMyAzMy43OTFoMjQwLjE0OHYxNTMuNjU2aC0yNDAuMTQ4em0tMzcuNTQyIDE1My42NTZjLTMuMjA3IDAtNS44MTYtMi42MDktNS44MTYtNS44MTZ2LTE0Mi4wMjNjMC0zLjIwNyAyLjYwOS01LjgxNiA1LjgxNi01LjgxNmgyMi41NTF2MTUzLjY1NmMtNS4yMTEtLjAwMS0xNy40ODgtLjAwMS0yMi41NTEtLjAwMXptMjk5LjM3MiA0Mi43OWgtMjc3Ljk1N3YtMjcuNzk5aDI3Ny45NTZ2MjcuNzk5em03LjQ5NS00Mi43OTRjLS4wMjkgMC0uMDU4LjAwNC0uMDg3LjAwNGgtMTQuMDk5di0xNTMuNjU2aDIyLjU1MWMzLjIwNyAwIDUuODE2IDIuNjA5IDUuODE2IDUuODE2djE0Mi4wMjRjMCAzLjIwNy0yLjYwOSA1LjgxNi01LjgxNiA1LjgxNmgtOC4yNzhjLS4wMjkgMC0uMDU4LS4wMDQtLjA4Ny0uMDA0em0xMjUuNzkxIDE0MC4zNDNjLTkuMzc5IDAtNDcxLjEwNyAwLTQ4Mi4wMTkgMHYtNDQuOTE2bDE5LjY2NyAxMS45ODdjMjEuNTY3IDEzLjE0NSA0OC4zNjEgMTMuMTQ1IDY5LjkyOCAwIDE2Ljc1NC0xMC4yMTEgMzcuNTctMTAuMjEyIDU0LjMyNCAwIDIxLjU2OCAxMy4xNDUgNDguMzYxIDEzLjE0NSA2OS45MjggMCAxNi43NTQtMTAuMjExIDM3LjU3LTEwLjIxMiA1NC4zMjQgMCAyMS41NjggMTMuMTQ1IDQ4LjM2MSAxMy4xNDUgNjkuOTI4IDAgMTcuMDk3LTEwLjQyMSAzNy45NDEtOS45ODYgNTQuMzI0IDAgMjEuNTY3IDEzLjE0NCA0OC4zNjIgMTMuMTQ0IDY5LjkyOCAwbDE5LjY2Ny0xMS45ODdjLjAwMSAxMC41NTYuMDAxIDIyLjM4LjAwMSA0NC45MTZ6bTAtNjIuNDcyYy0yOS43ODkgMTguMTU2LTMwLjM1MyAxOC44MzYtMzYuNTI3IDIxLjEzMnYtNDQuMjU3YzAtNC4xMzktMy4zNTYtNy40OTUtNy40OTUtNy40OTVzLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djQ3LjQyN2MtMTkuNDcyIDEuMTcyLTI4Ljk4NC03LjY4OC0zOC41MDYtMTEuODM2di0zMC4wNTRjMC05LjY0My03Ljg0Ni0xNy40ODktMTcuNDg5LTE3LjQ4OWgtMTAuNzgzdi0yNy43OTljMTMuMzQyIDAgMjEuNjc2LTEwLjA0OSAyMS42NzYtMjAuODA3di0zMS43NTVoNDUuMTAydjYyLjMzMWMwIDQuMTM5IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1czcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1di02OS44MjZjMC00LjEzOS0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NWgtNTIuNTk3di0zNi41MjdoNzMuMTg0YzEyLjkyMyAwIDIzLjQzNiAxMC41MTMgMjMuNDM2IDIzLjQzNXYxNDMuNTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxMS4wMjQgMjI3LjE1M2gtNzkuNzI2Yy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTAuMDdjMCA0LjE0IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDc5LjcyNmM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTkwLjA3Yy4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6bS03LjQ5NSA5MC4wN2gtNjQuNzM1di03NS4wNzloNjQuNzM1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTIuNjM1IDI0MC45N2gtNjQuNTA1Yy00LjEzOSAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1IDAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg2NC41MDVjNC4xMzkgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NS4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMxMi42MzUgMjcyLjE4OGgtNjQuNTA1Yy00LjEzOSAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1czMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDY0LjUwNWM0LjEzOSAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1NS03LjQ5NS03LjQ5NS03LjQ5NXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAzMDMuNDA2aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjEuODk5IDI4Ny4xNzloNy41NDhsLTIuOTA0IDcuNDMyYy0xLjUwNyAzLjg1NS4zOTcgOC4yMDIgNC4yNTMgOS43MDkuODk2LjM1IDEuODE5LjUxNiAyLjcyNi41MTYgMi45OTcgMCA1LjgyNi0xLjgwOSA2Ljk4My00Ljc2OWw2LjktMTcuNjU1Yy45MDItMi4zMDcuNjA2LTQuOTEtLjc5MS02Ljk1NXMtMy43MTMtMy4yNjgtNi4xOS0zLjI2OGgtNy41NDhsMi45MDQtNy40MzJjMS41MDctMy44NTUtLjM5Ny04LjIwMi00LjI1My05LjcwOS0zLjg1NS0xLjUwOS04LjIwMy4zOTYtOS43MDkgNC4yNTNsLTYuOSAxNy42NTVjLS45MDIgMi4zMDctLjYwNiA0LjkxLjc5MSA2Ljk1NSAxLjM5NiAyLjA0NCAzLjcxMyAzLjI2OCA2LjE5IDMuMjY4eiIvPgogICAgPC9nPgo8L3N2Zz4=",Gfe="PHN2ZyB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTk0LjcyNyA3My43MDhhNi43NSA2Ljc1IDAgMSAwIDYuNzUgNi43NSA2Ljc1NiA2Ljc1NiAwIDAgMCAtNi43NS02Ljc1em0wIDEwYTMuMjUgMy4yNSAwIDEgMSAzLjI1LTMuMjUgMy4yNTQgMy4yNTQgMCAwIDEgLTMuMjUgMy4yNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNzMuMDgxIDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU3IDYuNzU3IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjY0Ljk2NiIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9Ijc3LjU5MSIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjkwLjIxNiIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjEwMi44NDEiIGN5PSI0OC4wMjEiIHI9IjMiLz4KICAgICAgICA8cGF0aCBkPSJtMTIxLjUgMzMuNWgtMTE1YTEuNzUxIDEuNzUxIDAgMCAwIC0xLjc1IDEuNzV2NTcuNWExLjc1MSAxLjc1MSAwIDAgMCAxLjc1IDEuNzVoMTUuOTQydjguMjVhMS43NTEgMS43NTEgMCAwIDAgMS43NSAxLjc1aDEwYTEuNzUgMS43NSAwIDAgMCAxLjc1LTEuNzV2LTguMjVoNTYuMTE2djguMjVhMS43NSAxLjc1IDAgMCAwIDEuNzUgMS43NWgxMGExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTguMjVoMTUuOTQyYTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUtMS43NXYtNTcuNWExLjc1MSAxLjc1MSAwIDAgMCAtMS43NS0xLjc1em0tODkuMDU4IDY3LjVoLTYuNXYtNi41aDYuNXptNjkuNjE2IDBoLTYuNXYtNi41aDYuNXptMTcuNjkyLTEwaC0xMTEuNXYtNTRoMTExLjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA3NC4yNWExMC4yNSAxMC4yNSAwIDEgMCAtMTAuMjUtMTAuMjUgMTAuMjYxIDEwLjI2MSAwIDAgMCAxMC4yNSAxMC4yNXptLTEuNzUtMTYuNzYydjQuMDEyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtNC4wMTJhNi43NSA2Ljc1IDAgMSAxIC0zLjUgMHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIuNjkyIDQ5Ljk1OGExLjc0OSAxLjc0OSAwIDAgMCAxLjc1LTEuNzV2LTNhMS43NSAxLjc1IDAgMCAwIC0zLjUgMHYzYTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM4Ljc5MiA1MS4zNTNhMS43NSAxLjc1IDAgMCAwIDIuMzM3LS44MTZsMS4zLTIuN2ExLjc1IDEuNzUgMCAwIDAgLTMuMTUyLTEuNTJsLTEuMyAyLjdhMS43NSAxLjc1IDAgMCAwIC44MTUgMi4zMzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1LjA1MiA1NS45MTlhMS43NDggMS43NDggMCAwIDAgMS4wODgtLjM4bDIuMzQ4LTEuODY4YTEuNzUgMS43NSAwIDAgMCAtMi4xNzktMi43MzlsLTIuMzQ4IDEuODY4YTEuNzUgMS43NSAwIDAgMCAxLjA5MSAzLjEyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNC4yNTYgNTAuNTM3YTEuNzUgMS43NSAwIDEgMCAzLjE1Mi0xLjUyMWwtMS4zLTIuN2ExLjc1IDEuNzUgMCAwIDAgLTMuMTUyIDEuNTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2LjkgNTMuNjcxIDIuMzQ5IDEuODY4YTEuNzUgMS43NSAwIDAgMCAyLjE3OC0yLjc0bC0yLjM0OC0xLjg2N2ExLjc1IDEuNzUgMCAxIDAgLTIuMTc5IDIuNzM5eiIvPgogICAgICAgIDxwYXRoIGQ9Im01OC44MDggNzAuMjkyaDUwLjE5MmExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTEwYTEuNzUgMS43NSAwIDAgMCAtMS43NS0xLjc1aC01MC4xOTJhMS43NDkgMS43NDkgMCAwIDAgLTEuNzUgMS43NXYxMGExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1em0xLjc1LTEwaDQ2LjY5MnY2LjVoLTQ2LjY5MnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYuMTM1IDg3LjIwOGgzMy4xMTVhMS43NSAxLjc1IDAgMCAwIDAtMy41aC0zMy4xMTVhMS43NSAxLjc1IDAgMCAwIDAgMy41eiIvPgogICAgPC9nPgo8L3N2Zz4=",Hfe="PHN2ZyBoZWlnaHQ9IjYwMHB0IiB2aWV3Qm94PSItNDUgLTE5IDYwMCA2MDAuMDAxIiB3aWR0aD0iNjAwcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTguMjE0ODQ0IDBoLTUwLjk3NjU2M2MtMTguMTk1MzEyLjAyNzM0MzgtMzIuOTMzNTkzIDE0Ljc2OTUzMS0zMi45NjQ4NDMgMzIuOTY0ODQ0djI0Ljg3MTA5NGgtMTQ0LjgyNDIxOWMtNjEuNDM3NS4wOTM3NS0xMTIuMjUzOTA3IDQ3Ljg3MTA5My0xMTYuMTMyODEzIDEwOS4xODc1aC0zOS4wNjY0MDZjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40Njg3NS05Ljk4ODI4MSA5Ljk4ODI4MXYzMC41MTE3MTloLTEwLjI4NTE1N2MtMy43MDcwMzEgMC03LjEwNTQ2OCAyLjA0Njg3NC04LjgzNTkzNyA1LjMyODEyNGwtODUuNzY5NTMxIDE2Mi41NTQ2ODhjLTEuNjM2NzE5IDMuMDk3NjU2LTEuNTMxMjUgNi44MjQyMTkuMjc3MzQ0IDkuODI0MjE5IDEuODA4NTkzIDMgNS4wNTA3ODEgNC44MjgxMjUgOC41NTQ2ODcgNC44MjgxMjVoMTA4LjEyMTA5NGMuMTc1NzgxIDMuOTU3MDMxLjY3NTc4MSA3Ljg4NjcxOCAxLjQ5NjA5MyAxMS43NjE3MTggNy41NzAzMTMgMzUuMDU0Njg4IDM4LjU1ODU5NCA2MC4wOTM3NSA3NC40MjU3ODIgNjAuMTI1IDM1Ljg3MTA5NC4wMzUxNTcgNjYuOTAyMzQ0LTI0Ljk0OTIxOCA3NC41MzUxNTYtNTkuOTk2MDkzLjg0Mzc1LTMuOTEwMTU3IDEuMzY3MTg4LTcuODkwNjI1IDEuNTUwNzgxLTExLjg5NDUzMWgxMDguMTM2NzE5YzMuNSAwIDYuNzUtMS44MzIwMzIgOC41NTQ2ODgtNC44MzIwMzIgMS44MDg1OTMtMyAxLjkxNzk2OC02LjcyNjU2Mi4yNzczNDMtOS44MjAzMTJsLTg1Ljc2OTUzMS0xNjIuNTQ2ODc1Yy0xLjczMDQ2OS0zLjI4OTA2My01LjE0NDUzMS01LjMzOTg0NC04Ljg1OTM3NS01LjMzMjAzMWgtMTAuMjYxNzE5di0zMC41MTE3MTljMC01LjUxOTUzMS00LjQ3MjY1Ni05Ljk4ODI4MS05Ljk4ODI4MS05Ljk4ODI4MWgtNDQuNTM1MTU2YzIuMTQwNjI1LTIyLjQ3MjY1NyAyMC45ODgyODEtMzkuNjQ0NTMyIDQzLjU2MjUtMzkuNjk5MjE5aDE0NC44MDQ2ODd2MjguMTYwMTU2Yy4wMzUxNTYgMTguMTkxNDA2IDE0Ljc3NzM0NCAzMi45MzM1OTQgMzIuOTY4NzUgMzIuOTYwOTM3aDUwLjk4MDQ2OWM1LjUxNTYyNSAwIDkuOTg4MjgxLTQuNDY0ODQzIDkuOTg4MjgxLTkuOTg4Mjgxdi0xNjguNDY4NzVjMC01LjUxMTcxOS00LjQ2NDg0NC05Ljk4MDQ2ODUtOS45NzY1NjItOS45ODgyODF6bS0yNTAuOTE3OTY5IDM5Ny42MzI4MTJjLTUuNTY2NDA2IDI1LjkzMzU5NC0yOC41MDc4MTMgNDQuNDUzMTI2LTU1LjAzMTI1IDQ0LjQyMTg3Ni0yNi41MzEyNS0uMDI3MzQ0LTQ5LjQyNTc4MS0xOC41OTc2NTctNTQuOTMzNTk0LTQ0LjU0Njg3Ni0uNTU0Njg3LTIuNDUzMTI0LS45MjU3ODEtNC45NDkyMTgtMS4xMjEwOTMtNy40NTMxMjRoMTEyLjIzNDM3NGMtLjE5OTIxOCAyLjU1MDc4MS0uNTg1OTM3IDUuMDgyMDMxLTEuMTQ4NDM3IDcuNTc4MTI0em0xMTIuNjA1NDY5LTI3LjU3NDIxOGgtMTAxLjM5NDUzMmMtLjA2NjQwNiAwLS4xMzY3MTggMC0uMjAzMTI0IDBoLTEzMS45NjA5MzhjLS4wNzAzMTIgMC0uMTM2NzE5IDAtLjIwNzAzMSAwaC0xMDEuMzk0NTMxbDc1LjI1MzkwNi0xNDIuNTU0Njg4aDE4NC42ODM1OTR6bS05OS40NzI2NTYtMTYyLjUzNTE1NmgtMTM2LjE5MTQwN3YtMjAuNTE5NTMyaDEzNi4xOTE0MDd6bTguOTk2MDkzLTEwMC4xODM1OTRjLTMzLjUzNTE1Ni4yNzM0MzctNjEuMjQ2MDkzIDI2LjIzODI4MS02My42OTUzMTIgNTkuNjgzNTk0aC0zMi40MzM1OTRjMy44NDc2NTYtNTAuMjczNDM4IDQ1LjczMDQ2OS04OS4xMjUgOTYuMTUyMzQ0LTg5LjE4NzVoMTQ0LjgwNDY4N3YyOS41MDM5MDZ6bTIxOC43Njk1MzEgNjEuMTQwNjI1aC00MC45ODQzNzRjLTcuMTY3OTY5LS4wMTk1MzEtMTIuOTcyNjU3LTUuODI0MjE5LTEyLjk5MjE4OC0xMi45ODgyODF2LTEyMi41MDc4MTNjLjAxOTUzMS03LjE2MDE1NiA1LjgyNDIxOS0xMi45NjQ4NDQgMTIuOTkyMTg4LTEyLjk4NDM3NWg0MC45ODQzNzR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im05MC41MTU2MjUgNDE1Ljk5MjE4OGMwLTUuNTE1NjI2LTQuNDcyNjU2LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4MjgyaC02MS4zOTg0MzhjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40NzI2NTYtOS45ODgyODEgOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NiA5Ljk5MjE4NyA5Ljk4ODI4MSA5Ljk5MjE4N2g2MS4zOTg0MzhjNS41MTU2MjUgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTExNy41MzkwNjIgNDcyLjY3MTg3NS00MC4wNzAzMTIgMzcuNzQ2MDk0Yy0yLjY0MDYyNSAyLjQzMzU5My0zLjc3MzQzOCA2LjEwMTU2Mi0yLjk1NzAzMSA5LjU5NzY1Ni44MTI1IDMuNTAzOTA2IDMuNDQxNDA2IDYuMjk2ODc1IDYuODg2NzE5IDcuMzE2NDA2IDMuNDQ1MzEyIDEuMDIzNDM4IDcuMTc1NzgxLjExNzE4OCA5Ljc2NTYyNC0yLjM3NWw0MC4wNzAzMTMtMzcuNzM4MjgxYzIuNjQwNjI1LTIuNDMzNTk0IDMuNzY5NTMxLTYuMTAxNTYyIDIuOTU3MDMxLTkuNjA1NDY5LS44MTY0MDYtMy40OTYwOTMtMy40NDUzMTItNi4yOTI5NjktNi44ODY3MTgtNy4zMTY0MDYtMy40NDkyMTktMS4wMTk1MzEtNy4xNzU3ODItLjExMzI4MS05Ljc2NTYyNiAyLjM3NXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM2NS41NDY4NzUgNDA2LjAwMzkwNmgtNjEuMzkwNjI1Yy01LjUxOTUzMSAwLTkuOTkyMTg4IDQuNDcyNjU2LTkuOTkyMTg4IDkuOTg4MjgyIDAgNS41MTk1MzEgNC40NzI2NTcgOS45OTIxODcgOS45OTIxODggOS45OTIxODdoNjEuMzkwNjI1YzUuNTE5NTMxIDAgOS45ODgyODEtNC40NzI2NTYgOS45ODgyODEtOS45OTIxODcgMC01LjUxNTYyNi00LjQ2ODc1LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4Mjgyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY3LjA0Njg3NSA0NzIuNjcxODc1Yy0yLjU4OTg0NC0yLjQ4ODI4MS02LjMxNjQwNi0zLjM5NDUzMS05Ljc2NTYyNS0yLjM3NS0zLjQ0NTMxMiAxLjAyMzQzNy02LjA3NDIxOSAzLjgyMDMxMy02Ljg4NjcxOSA3LjMxNjQwNi0uODE2NDA2IDMuNTAzOTA3LjMxNjQwNyA3LjE3MTg3NSAyLjk1MzEyNSA5LjYwNTQ2OWw0MC4wNjI1IDM3LjcyMjY1NmMyLjU4OTg0NCAyLjQ5MjE4OCA2LjMxNjQwNiAzLjQwMjM0NCA5Ljc2NTYyNSAyLjM3NSAzLjQ0MTQwNy0xLjAxOTUzMSA2LjA3MDMxMy0zLjgxMjUgNi44ODY3MTktNy4zMTY0MDYuODEyNS0zLjQ5NjA5NC0uMzE2NDA2LTcuMTY0MDYyLTIuOTU3MDMxLTkuNjAxNTYyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTkyLjI3MzQzOCA0OTAuOTMzNTk0Yy01LjUxNTYyNiAwLTkuOTg4MjgyIDQuNDcyNjU2LTkuOTg4MjgyIDkuOTkyMTg3djUwLjg0NzY1N2MwIC4yNDYwOTMtLjAyMzQzNy41MDM5MDYtLjAyMzQzNy43MzgyODEgMCA1LjUxNTYyNSA0LjQ3MjY1NiA5Ljk4ODI4MSA5Ljk4ODI4MSA5Ljk4ODI4MS40MjU3ODEtLjAwMzkwNi44NTU0NjktLjAyNzM0NCAxLjI3NzM0NC0uMDg1OTM4IDQuOTkyMTg3LS42Mjg5MDYgOC43MzgyODEtNC44Nzg5MDYgOC43MzgyODEtOS45MDYyNXYtNTEuNTgyMDMxYzAtNS41MTk1MzEtNC40NzI2NTYtOS45OTIxODctOS45OTIxODctOS45OTIxODd6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",Vfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NzguNTExLDg4LjYyMkM0MDMuNjk0LDY5LjIyMywzMjguNDM3LDM5LjAxNywyNjAuODc4LDEuMjY5Yy0zLjAzLTEuNjkyLTYuNzIzLTEuNjkzLTkuNzU1LDAKCQkJQzE4MS42MjEsNDAuMDk5LDExMC40MzIsNjguNjcyLDMzLjQ4OSw4OC42MjNjLTQuNDEsMS4xNDQtNy40OSw1LjEyNC03LjQ5LDkuNjh2MTEwLjM5NGMwLDExMy41MzUsNTUuMjkyLDE4OC42MzksMTAxLjY3OCwyMzEuNjUKCQkJYzQ5Ljc1Nyw0Ni4xMzgsMTA3LjQ2LDcxLjY1NSwxMjguMzI0LDcxLjY1NWMyMC44NjQsMCw3OC41NjctMjUuNTE3LDEyOC4zMjQtNzEuNjU1CgkJCWM0Ni4zODQtNDMuMDExLDEwMS42NzgtMTE4LjExNCwxMDEuNjc4LTIzMS42NVY5OC4zMDJDNDg2LjAwMiw5My43NDYsNDgyLjkyMiw4OS43NjYsNDc4LjUxMSw4OC42MjJ6IE0zNzAuNzI2LDQyNS42NzgKCQkJYy0yNy41NTcsMjUuNTUzLTU0LjMzNiw0MS42ODUtNzEuOTUsNTAuNzE4Yy0yMi4zMTksMTEuNDQ3LTM3LjgxLDE1LjYwMy00Mi43NzYsMTUuNjAzYy00Ljk2NiwwLTIwLjQ1Ni00LjE1NS00Mi43NzYtMTUuNjAzCgkJCWMtMTcuNjEyLTkuMDMzLTQ0LjM5Mi0yNS4xNjUtNzEuOTUtNTAuNzE4Yy00My40NjQtNDAuMzAzLTk1LjI3Ni0xMTAuNjYzLTk1LjI3Ni0yMTYuOTgzVjEwNi4wMDgKCQkJYzczLjk2NC0xOS44LDE0Mi44MDEtNDcuNTIzLDIxMC4wMDMtODQuNTc0YzY1LjQ5OCwzNi4wNTksMTM3LjgyNyw2NS4xODUsMjEwLDg0LjU3MXYxMDIuNjloMC4wMDEKCQkJQzQ2Ni4wMDEsMzE1LjAxNSw0MTQuMTksMzg1LjM3NSwzNzAuNzI2LDQyNS42Nzh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ0My43OTMsMTE1LjM2OGMtNjMuMzM2LTE4LjQxMy0xMjQuOTM2LTQzLjQyNC0xODMuMDg3LTc0LjMzN2MtMi45MzgtMS41NjMtNi40NjEtMS41Ni05LjM5NywwLjAwNgoJCQlDMTkzLjA2OSw3Mi4wNzksMTMxLjQ3LDk3LjA5NCw2OC4yMiwxMTUuMzg3Yy00LjI3NywxLjIzNy03LjIyMiw1LjE1My03LjIyMiw5LjYwNnY4My43MDJjMCwzOS4wNzcsNy40MDUsNzYuMTYxLDIyLjAwOCwxMTAuMjIyCgkJCWMxNC41MywzMy44OTEsMzYuMjAxLDY0LjgyLDY0LjQwOSw5MS45MzNjMjAuMTc1LDE5LjM5LDQzLjQ2OSwzNi40NzcsNjcuMzY3LDQ5LjQxM2M0LjI4MiwyLjMxOCwyNi4zMDUsMTQuMDAzLDM5LjQwMiwxNi40MjEKCQkJYzAuNiwwLjExLDEuMjA3LDAuMTY2LDEuODE1LDAuMTY2YzAuNjA4LDAsMS4yMTUtMC4wNTYsMS44MTUtMC4xNjZjMTMuMDk3LTIuNDE4LDM1LjEyLTE0LjEwMywzOS40MDItMTYuNDIxCgkJCWMyMy44OTUtMTIuOTM2LDQ3LjE5LTMwLjAyMyw2Ny4zNjctNDkuNDEzYzI4LjIwOC0yNy4xMTEsNDkuODc4LTU4LjA0MSw2NC40MDktOTEuOTMzYzE0LjYwMy0zNC4wNiwyMi4wMDgtNzEuMTQ0LDIyLjAwOC0xMTAuMjIyCgkJCXYtODMuNzI0QzQ1MS4wMDEsMTIwLjUyNCw0NDguMDYzLDExNi42MTEsNDQzLjc5MywxMTUuMzY4eiBNNDMxLjAwMSwyMDguNjk1YzAsNzMuMzc2LTI3LjAwOCwxMzYuNTM4LTgwLjI3NiwxODcuNzM0CgkJCWMtMTguODk4LDE4LjE2Mi00MC42OTMsMzQuMTUzLTYzLjAyOSw0Ni4yNDVjLTEwLjE2Nyw1LjUwMy0yMy44OTIsMTEuOTE5LTMxLjY5NywxMy45MzRjLTcuODA1LTIuMDE1LTIxLjUzLTguNDMxLTMxLjY5Ni0xMy45MzQKCQkJYy0yMi4zMzctMTIuMDkzLTQ0LjEzMi0yOC4wODQtNjMuMDI5LTQ2LjI0NWMtNTMuMjY3LTUxLjE5NS04MC4yNzYtMTE0LjM1OS04MC4yNzYtMTg3LjczNFYxMzIuNDgKCQkJYzYwLjM1NC0xNy45NjksMTE5LjE3Mi00MS45MzEsMTc1LjAxOS03MS4zMDZjNTUuNzU3LDI5LjI1MSwxMTQuNTY5LDUzLjIwNCwxNzQuOTgzLDcxLjI3NFYyMDguNjk1eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNzMuMDI3LDM1OC4zMDVsLTAuMi0wLjIxNWMtMy43MDEtNC4wNTUtOS45ODctNC4zNjctMTQuMDczLTAuNjg5Yy00LjEwNSwzLjY5NC00LjQzOCwxMC4wMTctMC43NDQsMTQuMTIybDAuMiwwLjIxNQoJCQljMS45NzEsMi4xNTgsNC42NzMsMy4yNTYsNy4zODcsMy4yNTZjMi4zODMsMCw0Ljc3NS0wLjg0OCw2LjY4Ni0yLjU2N0MxNzYuMzg4LDM2OC43MzMsMTc2LjcyMSwzNjIuNDA5LDE3My4wMjcsMzU4LjMwNXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjI2Ljk2Myw0MDMuNjk1Yy0xMi4wNDYtNy42MDItMjMuNjQ1LTE2LjM2NC0zNC40NzMtMjYuMDQ0Yy00LjExNy0zLjY4Mi0xMC40MzktMy4zMjctMTQuMTIsMC43OQoJCQljLTMuNjgsNC4xMTgtMy4zMjYsMTAuNDM5LDAuNzkyLDE0LjEyYzExLjY1MywxMC40MTgsMjQuMTQ1LDE5Ljg1NCwzNy4xMjksMjguMDQ4YzEuNjU3LDEuMDQ1LDMuNTAyLDEuNTQ0LDUuMzI3LDEuNTQ0CgkJCWMzLjMxOCwwLDYuNTY0LTEuNjUsOC40NjYtNC42NjRDMjMzLjAzMiw0MTIuODE4LDIzMS42MzUsNDA2LjY0MiwyMjYuOTYzLDQwMy42OTV6Ii8+CiAgICAgICAgPHBhdGggZD0iTTMwOC44OTgsMjA5LjA3N3YtMzIuOTIxYzAtMjkuMTY4LTIzLjczLTUyLjg5OC01Mi45LTUyLjg5OGMtMjkuMTY4LDAtNTIuODk4LDIzLjczLTUyLjg5OCw1Mi44OTh2MzIuOTIxCgkJCWMtMTEuODk4LDAuNDI5LTIxLjQ0NywxMC4yMzUtMjEuNDQ3LDIyLjIzNnY3Ni43NjljLTAuMDAxLDEyLjI3Myw5Ljk4NCwyMi4yNTcsMjIuMjU3LDIyLjI1N0gzMDguMDkKCQkJYzEyLjI3MywwLDIyLjI1OC05Ljk4NCwyMi4yNTgtMjIuMjU3di03Ni43NjlDMzMwLjM0OCwyMTkuMzExLDMyMC43OTgsMjA5LjUwNCwzMDguODk4LDIwOS4wNzd6IE0yMjMuMDk5LDE3Ni4xNTYKCQkJYzAtMTguMTQsMTQuNzU5LTMyLjg5OCwzMi45LTMyLjg5OGMxOC4xNCwwLDMyLjg5OCwxNC43NTgsMzIuODk4LDMyLjg5OHYzMi45aC02NS43OTlWMTc2LjE1NnogTTMxMC4zNDcsMzA4LjA4MwoJCQljMCwxLjIyNC0xLjAzNCwyLjI1Ny0yLjI1OCwyLjI1N0gyMDMuOTA4Yy0xLjIyNCwwLTIuMjU4LTEuMDMzLTIuMjU4LTIuMjU3di03Ni43NjloMC4wMDFjMC0xLjIyNCwxLjAzNC0yLjI1NywyLjI1OC0yLjI1N2g5LjE4OQoJCQloODUuNzk5aDkuMTkyYzEuMjI0LDAsMi4yNTgsMS4wMzMsMi4yNTgsMi4yNTdWMzA4LjA4M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI0OS42NGMtNy43MDEsMC0xMy45ODIsNi4yODEtMTMuOTgyLDEzLjk4MmMwLDMuNzg2LDEuNTIzLDcuMjI1LDMuOTgyLDkuNzQ2djkuNzg3YzAsNS41MjIsNC40NzcsMTAsMTAsMTAKCQkJYzUuNTIzLDAsMTAtNC40NzgsMTAtMTB2LTkuNzg3YzIuNDU5LTIuNTIyLDMuOTgyLTUuOTYsMy45ODItOS43NDZDMjY5Ljk4MiwyNTUuOTIxLDI2My43MDEsMjQ5LjY0LDI1NiwyNDkuNjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Zfe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDk2Ljg4MjgxMiAwaC00ODEuNzY1NjI0Yy04LjM0NzY1NyAwLTE1LjExNzE4OCA2Ljc2OTUzMS0xNS4xMTcxODggMTUuMTE3MTg4djQ4MS43NjU2MjRjMCA4LjM0NzY1NyA2Ljc2OTUzMSAxNS4xMTcxODggMTUuMTE3MTg4IDE1LjExNzE4OGg0ODEuNzY1NjI0YzguMzQ3NjU3IDAgMTUuMTE3MTg4LTYuNzY5NTMxIDE1LjExNzE4OC0xNS4xMTcxODh2LTQ4MS43NjU2MjRjMC04LjM0NzY1Ny02Ljc2OTUzMS0xNS4xMTcxODgtMTUuMTE3MTg4LTE1LjExNzE4OHptLTQwNi4xNzU3ODEgNDIxLjI5Mjk2OXYtODguNjk1MzEzaDExOS4wNzQyMTl2ODguNjk1MzEzem0tNjAuNDcyNjU2LTM5MS4wNTg1OTRoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0wIDYwLjQ3MjY1Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTM1Mi44Mzk4NDQtNTguNDUzMTI1djI4LjIxODc1aC0yNTQuMTQ4NDM4di0yOC4yMTg3NXptLTI1NC4xNDg0MzggMjM5Ljg3MTA5NGgyNTQuMTUyMzQ0djMwLjIzODI4MWgtMjU0LjE1MjM0NHptMC0zMC4yMzQzNzV2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptMC02MC40NzI2NTZ2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptMC02MC40NzI2NTd2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptLTk4LjY5MTQwNiAzMC4yMzQzNzZoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0wIDYwLjQ3MjY1Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMzgzLjA3ODEyNSAwaDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptNjguNDUzMTI1LTMwLjIzNDM3NWgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1NmgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1N2gtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1NmgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0tMjQxLjc1IDI3Mi4xMjVoMzAuMjM4Mjgxdjg4LjY5NTMxM2gtMzAuMjM4Mjgxem02MC40NzY1NjMgMGgxMjAuODAwNzgxdjg4LjY5NTMxM2gtMTIwLjgwMDc4MXptLTI3MC4yNTc4MTMgMTQ5LjE2Nzk2OXYtMTQ5LjE2Nzk2OWgzMC4yMzgyODF2MTAzLjgxMjVjMCA4LjM0NzY1NiA2Ljc2OTUzMiAxNS4xMTcxODggMTUuMTE3MTg4IDE1LjExNzE4OGgzNjAuODIwMzEyYzguMzQ3NjU2IDAgMTUuMTE3MTg4LTYuNzY5NTMyIDE1LjExNzE4OC0xNS4xMTcxODh2LTEwMy44MTI1aDMwLjIzODI4MXYxNDkuMTY3OTY5em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Xfe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0yIDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTM0OC4yNDYwOTQgMzc2Ljc4NTE1NmMtMy4yNS0yLjYwNTQ2OC03Ljk5MjE4OC0yLjA4MjAzMS0xMC41OTc2NTYgMS4xNjQwNjNsLTI4Ljk0OTIxOSAzNi4wOTM3NWMtMy45ODQzNzUgNC45Njg3NS0uMzY3MTg4IDEyLjI1NzgxMiA1Ljg3NSAxMi4yNTc4MTIgMi4yMTA5MzcgMCA0LjM5ODQzNy0uOTY4NzUgNS44ODY3MTktMi44MjQyMTlsMjguOTQ5MjE4LTM2LjA5Mzc1YzIuNjA1NDY5LTMuMjUgMi4wODU5MzgtNy45OTIxODctMS4xNjQwNjItMTAuNTk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzkwLjM1OTM3NSAzNTguNzM4MjgxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg3LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzOCAwIDQuMzk4NDM4LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOGwyOC45NDkyMTktMzYuMDkzNzVjMi42MDU0NjgtMy4yNDYwOTQgMi4wODU5MzctNy45OTIxODgtMS4xNjQwNjMtMTAuNTk3NjU3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTExLjc1IDQyMi4wNTA3ODFjMi4xMDkzNzUgMCA0LjIwNzAzMS0uODc4OTA2IDUuNjk5MjE5LTIuNTk3NjU2bDM5LjYxMzI4MS00NS42NDQ1MzFjMi43MzA0NjktMy4xNDQ1MzIgMi4zOTQ1MzEtNy45MDYyNS0uNzUtMTAuNjMyODEzLTMuMTQ0NTMxLTIuNzMwNDY5LTcuOTEwMTU2LTIuMzk0NTMxLTEwLjYzNjcxOS43NWwtMzkuNjE3MTg3IDQ1LjY0NDUzMWMtNC4yNTM5MDYgNC45MDIzNDQtLjY5NTMxMyAxMi40ODA0NjkgNS42OTE0MDYgMTIuNDgwNDY5em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTk2LjYyMTA5NCAzNzYuNzg1MTU2Yy0zLjI1LTIuNjA1NDY4LTcuOTk2MDk0LTIuMDgyMDMxLTEwLjYwMTU2MyAxLjE2NDA2M2wtMTQuNDcyNjU2IDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5NjA5NCAxLjE2NDA2MyAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjUgOC4wMTE3MTggMi4wNjI1IDEwLjU5NzY1Ni0xLjE2NDA2MmwxNC40NzY1NjItMTguMDQ2ODc2YzIuNjA1NDY5LTMuMjUgMi4wODIwMzItNy45OTIxODctMS4xNjQwNjItMTAuNTk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDM3Ljk5MjE4OCAzOTQuODMyMDMxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NyAxLjE2NDA2M2wtMTQuNDc2NTYyIDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjYwMTU2My0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA1NDY5LTMuMjQ2MDk0IDIuMDgyMDMxLTcuOTkyMTg4LTEuMTY0MDYyLTEwLjU5NzY1N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTExNi40NzI2NTYgMzYyLjk4NDM3NWMtMy4yNS0yLjYwNTQ2OS03Ljk5MjE4Ny0yLjA4MjAzMS0xMC41OTc2NTYgMS4xNjQwNjNsLTE0LjQ3NjU2MiAxOC4wNTA3ODFjLTIuNjA1NDY5IDMuMjQ2MDkzLTIuMDgyMDMyIDcuOTkyMTg3IDEuMTY0MDYyIDEwLjU5NzY1NiAzLjI2OTUzMSAyLjYyMTA5NCA4LjAxMTcxOSAyLjA2MjUgMTAuNTk3NjU2LTEuMTY0MDYzbDE0LjQ3MjY1Ni0xOC4wNDY4NzRjMi42MDkzNzYtMy4yNSAyLjA4NTkzOC03Ljk5NjA5NC0xLjE2MDE1Ni0xMC42MDE1NjN6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im01MDQuNDYwOTM4IDBjLTE3LjI1MzkwNyAwLTQ2Ni41OTM3NSAwLTQ5Ni45MjE4NzYgMC00LjE2MDE1NiAwLTcuNTM5MDYyIDMuMzY3MTg4LTcuNTM5MDYyIDcuNTM5MDYydjQ5My44NjcxODhjMCA0LjE3MTg3NSAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MiA3LjUzOTA2Mmg0MjIuMjEwOTM4YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNjcxODcgNy41MzkwNjItNy41MzkwNjIgMC00LjE2NDA2Mi0zLjM3ODkwNi03LjU0Mjk2OS03LjUzOTA2Mi03LjU0Mjk2OWgtNDE0LjY3MTg3NXYtMTQzLjg4MjgxMmgxNC4zNjcxODd2OTAuOTU3MDMxYzAgNC4xNjQwNjIgMy4zNzUgNy41MzkwNjIgNy41MzkwNjMgNy41MzkwNjJoMTI2LjQwMjM0NGM0LjE2MDE1NiAwIDcuNTM5MDYyLTMuMzc1IDcuNTM5MDYyLTcuNTM5MDYyIDAtNC4xNjAxNTYtMy4zNzg5MDYtNy41MzkwNjItNy41MzkwNjItNy41MzkwNjJoLTExOC44NjMyODF2LTgzLjQxNzk2OWgxNC41MzkwNjJ2MjYuMTIxMDkzYzAgNC4xNjQwNjMgMy4zNzUgNy41MzkwNjMgNy41MzkwNjIgNy41MzkwNjMgNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM3NSA3LjUzOTA2My03LjUzOTA2M3YtMjYuMTIxMDkzaDE1My43MTA5Mzd2ODMuNDE3OTY5aC0zNC4zMDg1OTNjLTQuMTYwMTU3IDAtNy41MzkwNjMgMy4zNzg5MDYtNy41MzkwNjMgNy41MzkwNjIgMCA0LjE2NDA2MiAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MyA3LjUzOTA2MmgyODEuNDcyNjU2YzQuMTY0MDYzIDAgNy41MzkwNjMtMy4zNzUgNy41MzkwNjMtNy41MzkwNjJ2LTkwLjk1NzAzMWgxNC4zNjcxODd2MTQzLjg4MjgxMmgtMzcuMDE1NjI1Yy00LjE2MDE1NiAwLTcuNTM5MDYyIDMuMzc4OTA3LTcuNTM5MDYyIDcuNTQyOTY5IDAgNC4xNzE4NzUgMy4zNzg5MDYgNy41MzkwNjIgNy41MzkwNjIgNy41MzkwNjJoNDQuNTU0Njg4YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNjcxODcgNy41MzkwNjItNy41MzkwNjIgMC01My44NjMyODEgMC00MzcuNDk2MDk0IDAtNDkzLjg2NzE4OCAwLTQuMTcxODc0LTMuMzc4OTA2LTcuNTM5MDYyLTcuNTM5MDYyLTcuNTM5MDYyem0tNDQ1LjM5ODQzOCAzMzQuOTAyMzQ0Yy0xMy43MTQ4NDQgMC0zMC4wNTg1OTQgMC00My45ODQzNzUgMCAwLTkuNTUwNzgyIDAtMTYuMjU3ODEzIDAtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2Mmg0My45ODQzNzV6bTAtNDEuODcxMDk0aC00My45ODQzNzV2LTI2Ljc3NzM0M2g0My45ODQzNzV6bTAtNDEuODU5Mzc0Yy05LjcwMzEyNSAwLTMzLjkxNzk2OSAwLTQzLjk4NDM3NSAwdi0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMTUuMDc4MTI1LTI2Ljc4MTI1aDM2My43MTg3NXYyNi43ODEyNWgtMzYzLjcxODc1em0wIDgzLjcxODc1aDI4OS4zMDA3ODFjNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM2NzE4NyA3LjUzOTA2My03LjUzOTA2MyAwLTQuMTYwMTU2LTMuMzc1LTcuNTM5MDYyLTcuNTM5MDYzLTcuNTM5MDYyLTEuMjM0Mzc1IDAtMjgyLjk0MTQwNiAwLTI4OS4zMDA3ODEgMHYtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1aC00NC4yNTc4MTNjLTQuMTY0MDYyIDAtNy41MzkwNjIgMy4zNzg5MDYtNy41MzkwNjIgNy41MzkwNjIgMCA0LjE3MTg3NiAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MiA3LjUzOTA2M2g0NC4yNTc4MTN2MjYuNzg5MDYzYy0xMS42MjUgMC0zNTQuNDkyMTg3IDAtMzYzLjcxODc1IDB6bTAgNDEuODcxMDk0aDM2My43MTg3NXYyNi43NzczNDNoLTM2My43MTg3NXptMCA0MS44NTkzNzVoMzYzLjcxODc1djI2Ljc4OTA2MmgtMzYzLjcxODc1em0wIDQxLjg2NzE4N2gzNjMuNzE4NzV2MjYuNzgxMjVoLTM2My43MTg3NXptMCA0MS44NTkzNzVoMzYzLjcxODc1djI2Ljc4OTA2M2gtMzYzLjcxODc1em0wIDY4LjY0ODQzOHYtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1Yy0zNS42MTcxODcgMC0zMjYuOTUzMTI1IDAtMzYzLjcxODc1IDB6bTM5My4zMzU5MzcgOTguNDk2MDk0aC0xODMuMzI4MTI0di00MC42Njc5NjljMC00LjE2NDA2My0zLjM3NS03LjUzOTA2My03LjUzOTA2My03LjUzOTA2M3MtNy41MzkwNjMgMy4zNzUtNy41MzkwNjMgNy41MzkwNjN2NDAuNjY3OTY5aC0yNi4xNDA2MjR2LTgzLjQxNDA2M2gyNi4xNDA2MjR2MTIuNTg1OTM3YzAgNC4xNjc5NjkgMy4zNzUgNy41MzkwNjMgNy41MzkwNjMgNy41MzkwNjNzNy41MzkwNjMtMy4zNzEwOTQgNy41MzkwNjMtNy41MzkwNjN2LTEyLjU4OTg0M2gxNTMuNzEwOTM3djI2LjEyMTA5M2MwIDQuMTY0MDYzIDMuMzc1IDcuNTM5MDYzIDcuNTM5MDYzIDcuNTM5MDYzIDQuMTY0MDYyIDAgNy41MzkwNjItMy4zNzUgNy41MzkwNjItNy41MzkwNjN2LTI2LjEyMTA5M2gxNC41MzkwNjJ6bTI5LjQ0NTMxMy05OC40OTYwOTRjLTEzLjc4OTA2MyAwLTI5Ljg2NzE4NyAwLTQzLjk4NDM3NSAwdi0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYyaDQzLjk4NDM3NXptMC00MS44NzEwOTRoLTQzLjk4NDM3NXYtMjYuNzc3MzQzaDQzLjk4NDM3NXptMC00MS44NTkzNzRoLTQzLjk4NDM3NXYtMjYuNzg5MDYzaDQzLjk4NDM3NXptMC00MS44NjcxODhoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",Kfe="PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01Ni44MzggMWgtNDkuNjc2Yy0zLjM5OCAwLTYuMTYyIDIuNzY0LTYuMTYyIDYuMTYyIDAgLjY2NS4xMDYgMS4zMi4zMTYgMS45NDlsLjU1OCAxLjY3NmMuODQxIDIuNTIgMy4xOSA0LjIxMyA1Ljg0NyA0LjIxM2g0LjM4NGwxLjUwNiAxMy41NTJjLjI4MiAyLjUzNiAyLjQxOCA0LjQ0OCA0Ljk2OSA0LjQ0OGgyNi44NGMyLjU1MSAwIDQuNjg4LTEuOTEyIDQuOTY5LTQuNDQ4bDEuNTA2LTEzLjU1Mmg0LjM4NGMyLjY1NyAwIDUuMDA2LTEuNjkzIDUuODQ2LTQuMjE0bC41NTgtMS42NzRjLjIxMS0uNjMuMzE3LTEuMjg1LjMxNy0xLjk1IDAtMy4zOTgtMi43NjQtNi4xNjItNi4xNjItNi4xNjJ6bS0zMi44MzggMzBoLTR2LThjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptMTAgMGgtNHYtOGMwLTEuMTAzLjg5Ny0yIDItMnMyIC44OTcgMiAyem0xMCAwaC00di04YzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTQuNDAyLTIuNjY4Yy0uMTQ3IDEuMzI0LTEuMTM4IDIuMzYzLTIuNDAyIDIuNjExdi03Ljk0M2MwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY4aC0ydi04YzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0djhoLTJ2LThjMC0yLjIwNi0xLjc5NC00LTQtNHMtNCAxLjc5NC00IDR2Ny45NDJjLTEuMjY0LS4yNDgtMi4yNTQtMS4yODctMi40MDItMi42MTFsLTEuNDgxLTEzLjMzMWgzNS43NjZ6bTEyLjM4NC0xOS44NTMtLjU1OCAxLjY3NWMtLjU2NyAxLjcwMi0yLjE1NCAyLjg0Ni0zLjk0OSAyLjg0NmgtNDguNTU4Yy0xLjc5NCAwLTMuMzgxLTEuMTQ0LTMuOTQ5LTIuODQ2bC0uNTU4LTEuNjc2Yy0uMTQyLS40MjQtLjIxNC0uODY3LS4yMTQtMS4zMTYgMC0yLjI5NSAxLjg2Ny00LjE2MiA0LjE2Mi00LjE2Mmg0OS42NzZjMi4yOTUgMCA0LjE2MiAxLjg2NyA0LjE2MiA0LjE2MiAwIC40NDktLjA3Mi44OTItLjIxNCAxLjMxN3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTUgNWgtNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJoNmMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yem0tNiA0di0yaDZsLjAwMSAyeiIvPgogICAgICAgIDxwYXRoIGQ9Im01MSA1aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDcgNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDVoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NyA5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTEgOWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDloMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NCA0MHYtMWgtMWMtLjExOSAwLTEuNzk5LjA0Mi0zLjE3OSAyLjAzNS0uMDQ2LS4wNjMtLjA5Mi0uMTMxLS4xMzgtLjE5My0uOTAzLTEuMjMtMS42ODMtMi4yOTMtMS42ODMtNC44NDJ2LTFoLTFjLS4xMzkgMC0yLjg5My4wNTctNC42MjQgMy4yNzgtMi4wNTMtMy4yMjMtNS4zMjgtMy4yNzgtNS4zNzYtMy4yNzhoLTF2MWMwIDIuNTU5LS43ODQgMy42MzMtMS42OTIgNC44NzctLjA0LjA1NS0uMDguMTE0LS4xMi4xNjktMS4zODMtMi4wMDQtMy4wNjktMi4wNDYtMy4xODgtMi4wNDZoLTF2MWMwIDIuNTQzLS45OTUgMy44MzMtMi4xNDcgNS4zMjctMS4zMzcgMS43MzMtMi44NTMgMy42OTctMi44NTMgNy42NzMgMCA2LjA3NSAzLjkyNSAxMCAxMCAxMGgxNGM2LjA3NSAwIDEwLTMuOTI1IDEwLTEwIDAtMy45NzYtMS41MTYtNS45NC0yLjg1My03LjY3My0xLjE1Mi0xLjQ5NC0yLjE0Ny0yLjc4NC0yLjE0Ny01LjMyN3ptLTE5IDE3YzAtMi4zOTYgMS4zNTgtMy43MTkgMi42NzItNSAuODUxLS44MyAxLjcyNC0xLjY4IDIuMTE1LTIuNzczLjU2LjMxIDEuMjEzIDEuMDQzIDEuMjEzIDIuNzczdjNoMnYtMWMwLTEuOTg2IDEuMjM5LTIuNjYgMi4xNDctMi44ODcuMzU1IDEuMzA0IDEuMjk1IDIuMjQ0IDIuMTQ2IDMuMDk0LjkxNi45MTYgMS43MDcgMS43MDcgMS43MDcgMi43OTMgMCAxLjM4My0xLjQ2MyA0LTcgNHMtNy0yLjYxNy03LTR6bTE0IDRoLS4xMDJjMS41NjItMS4yOCAyLjEwMi0yLjg5OSAyLjEwMi00IDAtMS45MTQtMS4yMTgtMy4xMzItMi4yOTMtNC4yMDctLjkxNi0uOTE2LTEuNzA3LTEuNzA3LTEuNzA3LTIuNzkzdi0xaC0xYy0uODkyIDAtMi4xOTMuMjc4LTMuMjQ1IDEuMDg5LS42ODItMi4zOTUtMi42MjgtMy4wODktMy43NTUtMy4wODloLTF2MWMwIC44NDUtLjY1NSAxLjUyNi0xLjcyNCAyLjU2OC0xLjQ2IDEuNDIzLTMuMjc2IDMuMTkzLTMuMjc2IDYuNDMyIDAgMS4xMDEuNTQgMi43MiAyLjEwMiA0aC0uMTAyYy0zLjg2OCAwLTgtMi4xMDItOC04IDAtMy4yOTQgMS4xODMtNC44MjggMi40MzYtNi40NTIgMS4wNTUtMS4zNjcgMi4xMzktMi43NzIgMi40NjUtNS4wODQuODkxLjczOSAyLjA5OSAyLjY0MiAyLjA5OSA3LjUzNmgyYzAtMi41Ni0uMzIzLTQuNDYxLS44MDMtNS44NzguMjI4LS4zNjYuNDY5LS43MTMuNzI2LTEuMDY2Ljg0Ni0xLjE1OSAxLjc5MS0yLjQ1MyAyLjAyMy00Ljg3OSAxLjQ1Ni40NTMgNC4wNTQgMi4wNjkgNC4wNTQgNy44MjNoMmMwLTEuNjMtLjE5MS0yLjk5LS41MDYtNC4xMzIuNjM3LTIuMjczIDEuNzYxLTMuMjE4IDIuNTY3LTMuNjAxLjIzOCAyLjM0NiAxLjEzNyAzLjU3IDIuMDEgNC43NTkuMjYyLjM1Ny41MDcuNzA4LjczOCAxLjA4LS40ODMgMS40MTgtLjgwOSAzLjMyNC0uODA5IDUuODk0aDJjMC00LjkwNiAxLjIxNC02LjgwNyAyLjA5OC03LjU0Mi4zMjUgMi4zMTUgMS40MTEgMy43MjIgMi40NjYgNS4wOSAxLjI1MyAxLjYyNCAyLjQzNiAzLjE1OCAyLjQzNiA2LjQ1MiAwIDUuODk4LTQuMTMyIDgtOCA4eiIvPgogICAgPC9nPgo8L3N2Zz4=",qfe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQ2NywwSDQ1QzIwLjE4NywwLDAsMjAuMTg3LDAsNDV2NDIyYzAsMjQuODEzLDIwLjE4Nyw0NSw0NSw0NWg0MjJjMjQuODEzLDAsNDUtMjAuMTg3LDQ1LTQ1VjQ1CgkJCUM1MTIsMjAuMTg3LDQ5MS44MTMsMCw0NjcsMHogTTQ4Miw0NjdjMCw4LjI3MS02LjcyOSwxNS0xNSwxNUg0NWMtOC4yNzEsMC0xNS02LjcyOS0xNS0xNVY0NWMwLTguMjcxLDYuNzI5LTE1LDE1LTE1aDQyMgoJCQljOC4yNzEsMCwxNSw2LjcyOSwxNSwxNVY0Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI1Niw4MWMtOTYuNDk1LDAtMTc1LDc4LjUwNS0xNzUsMTc1czc4LjUwNSwxNzUsMTc1LDE3NXMxNzUtNzguNTA1LDE3NS0xNzVTMzUyLjQ5NSw4MSwyNTYsODF6IE0yNTYsNDAxCgkJCWMtNzkuOTUzLDAtMTQ1LTY1LjA0Ny0xNDUtMTQ1czY1LjA0Ny0xNDUsMTQ1LTE0NXMxNDUsNjUuMDQ3LDE0NSwxNDVTMzM1Ljk1Myw0MDEsMjU2LDQwMXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTg3LDIxNmMtMjIuMDU2LDAtNDAsMTcuOTQ0LTQwLDQwYzAsMjIuMDU2LDE3Ljk0NCw0MCw0MCw0MGMyMi4wNTYsMCw0MC0xNy45NDQsNDAtNDBDMjI3LDIzMy45NDQsMjA5LjA1NiwyMTYsMTg3LDIxNnoKCQkJIE0xODcsMjY2Yy01LjUxNCwwLTEwLTQuNDg2LTEwLTEwYzAtNS41MTQsNC40ODYtMTAsMTAtMTBjNS41MTQsMCwxMCw0LjQ4NiwxMCwxMEMxOTcsMjYxLjUxNCwxOTIuNTE0LDI2NiwxODcsMjY2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMjUsMjE2Yy0yMi4wNTYsMC00MCwxNy45NDQtNDAsNDBjMCwyMi4wNTYsMTcuOTQ0LDQwLDQwLDQwYzIyLjA1NiwwLDQwLTE3Ljk0NCw0MC00MEMzNjUsMjMzLjk0NCwzNDcuMDU2LDIxNiwzMjUsMjE2egoJCQkgTTMyNSwyNjZjLTUuNTE0LDAtMTAtNC40ODYtMTAtMTBjMC01LjUxNCw0LjQ4Ni0xMCwxMC0xMGM1LjUxNCwwLDEwLDQuNDg2LDEwLDEwQzMzNSwyNjEuNTE0LDMzMC41MTQsMjY2LDMyNSwyNjZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",exe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMzYwLDBIMTIwQzk3LjkyLDAuMDI2LDgwLjAyNiwxNy45Miw4MCw0MHYzNjhjMC4wMjQsMTkuMDAxLDEzLjM4OSwzNS4zNzMsMzIsMzkuMlY0ODBoNDh2LTMyaDE2MHYzMmg0OHYtMzIuOAoJCQljMTguNjExLTMuODI3LDMxLjk3Ni0yMC4xOTksMzItMzkuMlY0MEMzOTkuOTc0LDE3LjkyLDM4Mi4wOCwwLjAyNiwzNjAsMHogTTE0NCw0NjRoLTE2di0xNmgxNlY0NjR6IE0zNTIsNDY0aC0xNnYtMTZoMTZWNDY0egoJCQkgTTM4NCw0MDhjMCwxMy4yNTUtMTAuNzQ1LDI0LTI0LDI0SDEyMGMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0VjQwYzAtMTMuMjU1LDEwLjc0NS0yNCwyNC0yNGgyNDBjMTMuMjU1LDAsMjQsMTAuNzQ1LDI0LDI0VjQwOAoJCQl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCwxNjBjLTcwLjY5MiwwLTEyOCw1Ny4zMDgtMTI4LDEyOGMwLjA4NCw3MC42NTgsNTcuMzQyLDEyNy45MTYsMTI4LDEyOGM3MC42OTIsMCwxMjgtNTcuMzA4LDEyOC0xMjgKCQkJUzMxMC42OTIsMTYwLDI0MCwxNjB6IE0yNDAsNDAwYy02MS44NTYsMC0xMTItNTAuMTQ0LTExMi0xMTJjMC4wNjYtNjEuODI4LDUwLjE3Mi0xMTEuOTM0LDExMi0xMTJjNjEuODU2LDAsMTEyLDUwLjE0NCwxMTIsMTEyCgkJCVMzMDEuODU2LDQwMCwyNDAsNDAweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNDAsMTkyYy01My4wMTksMC05Niw0Mi45ODEtOTYsOTZjMC4wNTcsNTIuOTk2LDQzLjAwNCw5NS45NDMsOTYsOTZjNTMuMDE5LDAsOTYtNDIuOTgxLDk2LTk2UzI5My4wMTksMTkyLDI0MCwxOTJ6CgkJCSBNMjQwLDM2OGMtNDQuMTgzLDAtODAtMzUuODE3LTgwLTgwYzAuMDQ5LTQ0LjE2MywzNS44MzctNzkuOTUyLDgwLTgwYzQ0LjE4MywwLDgwLDM1LjgxNyw4MCw4MEMzMjAsMzMyLjE4MywyODQuMTgzLDM2OCwyNDAsMzY4CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjQwLDMyYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2CgkJCUMyOTYsNTcuMDcyLDI3MC45MjgsMzIsMjQwLDMyeiBNMjQwLDEyOGMtMjIuMDkxLDAtNDAtMTcuOTA5LTQwLTQwYzAuMDI2LTIyLjA4LDE3LjkyLTM5Ljk3NCw0MC00MGMyMi4wOTEsMCw0MCwxNy45MDksNDAsNDAKCQkJUzI2Mi4wOTEsMTI4LDI0MCwxMjh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCw2NGMtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0czEwLjc0NSwyNCwyNCwyNHMyNC0xMC43NDUsMjQtMjRTMjUzLjI1NSw2NCwyNDAsNjR6IE0yNDAsOTZjLTQuNDE4LDAtOC0zLjU4Mi04LTgKCQkJczMuNTgyLTgsOC04czgsMy41ODIsOCw4UzI0NC40MTgsOTYsMjQwLDk2eiIvPgogICAgICAgIDxyZWN0IHg9IjExMiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPgogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPgogICAgICAgIDxyZWN0IHg9IjExMiIgeT0iNDAwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz4KICAgICAgICA8cmVjdCB4PSIzNTIiIHk9IjQwMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCwyNDhjLTIyLjA5MSwwLTQwLDE3LjkwOS00MCw0MGMwLjAyNiwyMi4wOCwxNy45MiwzOS45NzQsNDAsNDBjMjIuMDkxLDAsNDAtMTcuOTA5LDQwLTQwCgkJCUMyODAsMjY1LjkwOSwyNjIuMDkxLDI0OCwyNDAsMjQ4eiBNMjQwLDMxMmMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNHMyNCwxMC43NDUsMjQsMjRTMjUzLjI1NSwzMTIsMjQwLDMxMnoiLz4KICAgICAgICA8cGF0aCBkPSJNNDgsMjgwSDE2Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThTNTIuNDE4LDI4MCw0OCwyODB6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUzLjY1NiwyMjYuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNjktOC4yNDMtMi45ODEtMTEuMzEyLDAuMTk3Yy0yLjk5NCwzLjEtMi45OTQsOC4wMTUsMCwxMS4xMTVsMjQsMjQKCQkJYzMuMTc4LDMuMDY5LDguMjQzLDIuOTgxLDExLjMxMi0wLjE5N0M1Ni42NSwyMzQuMzU5LDU2LjY1LDIyOS40NDQsNTMuNjU2LDIyNi4zNDR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUzLjQ2LDMzOC4zNDRjLTMuMS0yLjk5NS04LjAxNi0yLjk5NS0xMS4xMTYsMGwtMjQsMjRjLTMuMTc4LDMuMDctMy4yNjYsOC4xMzQtMC4xOTYsMTEuMzEyczguMTM0LDMuMjY2LDExLjMxMiwwLjE5NgoJCQljMC4wNjctMC4wNjQsMC4xMzItMC4xMywwLjE5Ni0wLjE5NmwyNC0yNEM1Ni43MjYsMzQ2LjQ3OCw1Ni42MzgsMzQxLjQxNCw1My40NiwzMzguMzQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjQsMjgwaC0zMmMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGgzMmM0LjQxOCwwLDgtMy41ODIsOC04UzQ2OC40MTgsMjgwLDQ2NCwyODB6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ2MS40NiwyMDIuMzQ0Yy0zLjEtMi45OTQtOC4wMTUtMi45OTQtMTEuMTE2LDBsLTI0LDI0Yy0zLjEyNCwzLjEyNS0zLjEyMyw4LjE5LDAuMDAyLDExLjMxNAoJCQljMS41LDEuNDk5LDMuNTM0LDIuMzQyLDUuNjU0LDIuMzQyYzIuMTIyLDAsNC4xNTYtMC44NDQsNS42NTYtMi4zNDRsMjQtMjRDNDY0LjcyNiwyMTAuNDc4LDQ2NC42MzgsMjA1LjQxNCw0NjEuNDYsMjAyLjM0NHoiLz4KICAgICAgICA8cGF0aCBkPSJNNDYxLjY1NiwzNjIuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNy04LjI0Mi0yLjk4Mi0xMS4zMTIsMC4xOTZjLTIuOTk1LDMuMS0yLjk5NSw4LjAxNiwwLDExLjExNmwyNCwyNAoJCQljMy4xNzgsMy4wNyw4LjI0MiwyLjk4MiwxMS4zMTItMC4xOTZDNDY0LjY1MSwzNzAuMzYsNDY0LjY1MSwzNjUuNDQ0LDQ2MS42NTYsMzYyLjM0NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",txe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTEyIDU2LjE2NDA2MmMwLTEyLjc5Njg3NC0xMC40MDYyNS0yMy4yMDMxMjQtMjMuMjAzMTI1LTIzLjIwMzEyNGgtNDkuOTY4NzV2LTE1LjA0Njg3NmMwLTkuODc4OTA2LTguMDM1MTU2LTE3LjkxNDA2Mi0xNy45MTQwNjMtMTcuOTE0MDYyaC0xMDMuMDg5ODQzYy05Ljg3ODkwNyAwLTE3LjkxNDA2MyA4LjAzOTA2Mi0xNy45MTQwNjMgMTcuOTE0MDYydjE1LjA0Njg3NmgtODcuODE2NDA2di0xNS4wNDY4NzZjMC05Ljg3ODkwNi04LjAzOTA2Mi0xNy45MTQwNjItMTcuOTE3OTY5LTE3LjkxNDA2MmgtMTAzLjA4OTg0M2MtOS44Nzg5MDcgMC0xNy45MTQwNjMgOC4wMzkwNjItMTcuOTE0MDYzIDE3LjkxNDA2MnYxNS4wNDY4NzZoLTQ5Ljk2ODc1Yy0xMi43OTY4NzUgMC0yMy4yMDMxMjUgMTAuNDA2MjUtMjMuMjAzMTI1IDIzLjIwMzEyNHY0OS41YzAgNi4wNTA3ODIgMi4zMjgxMjUgMTEuNTYyNSA2LjEzNjcxOSAxNS42OTkyMTktMy44MDg1OTQgNC4xMzI4MTMtNi4xMzY3MTkgOS42NDg0MzgtNi4xMzY3MTkgMTUuNjk5MjE5djMwNS44MDg1OTRjMCAxMi43OTI5NjggMTAuNDA2MjUgMjMuMjAzMTI1IDIzLjIwMzEyNSAyMy4yMDMxMjVoMi4zNzg5MDZ2MjIuNDUzMTI1YzAgMTIuNzgxMjUgMTAuMzk4NDM4IDIzLjE3NTc4MSAyMy4xNzk2ODggMjMuMTc1NzgxaDIzMi42MTcxODdjNC4xNDQ1MzIgMCA3LjUwMzkwNi0zLjM1OTM3NSA3LjUwMzkwNi03LjUgMC00LjE0NDUzMS0zLjM1OTM3NC03LjUwMzkwNi03LjUwMzkwNi03LjUwMzkwNmgtMjMyLjYxNzE4N2MtNC41MDc4MTMgMC04LjE3MTg3NS0zLjY2Nzk2OS04LjE3MTg3NS04LjE3MTg3NXYtMjIuNDUzMTI1aDQzMC44MjAzMTJ2MjIuNDUzMTI1YzAgNC41MDc4MTItMy42NjQwNjIgOC4xNzE4NzUtOC4xNzE4NzUgOC4xNzE4NzVoLTE0Ny4xMjVjLTQuMTQ4NDM3IDAtNy41MDM5MDYgMy4zNTkzNzUtNy41MDM5MDYgNy41MDM5MDYgMCA0LjE0MDYyNSAzLjM1NTQ2OSA3LjUgNy41MDM5MDYgNy41aDE0Ny4xMjVjMTIuNzgxMjUgMCAyMy4xNzk2ODgtMTAuMzk0NTMxIDIzLjE3OTY4OC0yMy4xNzU3ODF2LTIyLjQ1MzEyNWgyLjM3ODkwNmMxMi43OTI5NjkgMCAyMy4yMDMxMjUtMTAuNDEwMTU3IDIzLjIwMzEyNS0yMy4yMDMxMjV2LTMwNS44MDg1OTRjMC02LjA1MDc4MS0yLjMzMjAzMS0xMS41NjY0MDYtNi4xMzY3MTktMTUuNjk5MjE5IDMuODA0Njg4LTQuMTM2NzE5IDYuMTM2NzE5LTkuNjQ4NDM3IDYuMTM2NzE5LTE1LjY5OTIxOXptLTE5Ny4wODU5MzgtMzguMjVjMC0xLjYwNTQ2OCAxLjMwNDY4OC0yLjkwNjI1IDIuOTEwMTU3LTIuOTA2MjVoMTAzLjA4OTg0M2MxLjYwNTQ2OSAwIDIuOTEwMTU3IDEuMzA0Njg4IDIuOTEwMTU3IDIuOTA2MjV2MTUuMDQ2ODc2aC0xMDguOTEwMTU3em0tMjI2LjczODI4MSAwYzAtMS42MDU0NjggMS4zMDQ2ODgtMi45MDYyNSAyLjkxMDE1Ny0yLjkwNjI1aDEwMy4wODk4NDNjMS42MDU0NjkgMCAyLjkxMDE1NyAxLjMwNDY4OCAyLjkxMDE1NyAyLjkwNjI1djE1LjA0Njg3NmgtMTA4LjkxMDE1N3ptNDA4LjgxNjQwNyA0MjQuOTU3MDMyYzAgNC41MTk1MzEtMy42NzU3ODIgOC4xOTkyMTgtOC4xOTUzMTMgOC4xOTkyMThoLTQ2NS41OTM3NWMtNC41MTk1MzEgMC04LjE5NTMxMy0zLjY3OTY4Ny04LjE5NTMxMy04LjE5OTIxOHYtMzA1LjgwODU5NGMwLTQuNTE5NTMxIDMuNjc1NzgyLTguMTk5MjE5IDguMTk1MzEzLTguMTk5MjE5aDQ2NS41OTM3NWM0LjUyMzQzNyAwIDguMTk1MzEzIDMuNjc5Njg4IDguMTk1MzEzIDguMTk5MjE5em0wLTMzNy4yMDcwMzJjMCA0LjUxOTUzMi0zLjY3NTc4MiA4LjE5NTMxMy04LjE5NTMxMyA4LjE5NTMxM2gtNDY1LjU5Mzc1Yy00LjUxOTUzMSAwLTguMTk1MzEzLTMuNjc1NzgxLTguMTk1MzEzLTguMTk1MzEzdi00OS41YzAtNC41MjM0MzcgMy42NzU3ODItOC4xOTkyMTggOC4xOTUzMTMtOC4xOTkyMThoNDY1LjU5Mzc1YzQuNTE5NTMxIDAgOC4xOTUzMTMgMy42NzU3ODEgOC4xOTUzMTMgOC4xOTkyMTh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDYuMDk3NjU2IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE4IDExLjU1NDY4Ny0yNS43NjE3MTggMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzYxNzE4IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU4NTk0LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg4IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOCAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3OS4xNjc5NjkgNTUuMTUyMzQ0Yy0xNC4yMDcwMzEgMC0yNS43NjE3MTkgMTEuNTU0Njg3LTI1Ljc2MTcxOSAyNS43NTc4MTIgMCAxNC4yMDcwMzIgMTEuNTU0Njg4IDI1Ljc2MTcxOSAyNS43NjE3MTkgMjUuNzYxNzE5IDE0LjIwMzEyNSAwIDI1Ljc1NzgxMi0xMS41NTQ2ODcgMjUuNzU3ODEyLTI1Ljc2MTcxOSAwLTE0LjIwMzEyNS0xMS41NTQ2ODctMjUuNzU3ODEyLTI1Ljc1NzgxMi0yNS43NTc4MTJ6bTAgMzYuNTE1NjI1Yy01LjkzMzU5NCAwLTEwLjc1NzgxMy00LjgyNDIxOS0xMC43NTc4MTMtMTAuNzUzOTA3IDAtNS45Mjk2ODcgNC44MjQyMTktMTAuNzU3ODEyIDEwLjc1NzgxMy0xMC43NTc4MTIgNS45Mjk2ODcgMCAxMC43NTM5MDYgNC44MjgxMjUgMTAuNzUzOTA2IDEwLjc1NzgxMiAwIDUuOTI5Njg4LTQuODI0MjE5IDEwLjc1MzkwNy0xMC43NTM5MDYgMTAuNzUzOTA3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzMyLjgzMjAzMSA1NS4xNTIzNDRjLTE0LjIwMzEyNSAwLTI1Ljc1NzgxMiAxMS41NTQ2ODctMjUuNzU3ODEyIDI1Ljc1NzgxMiAwIDE0LjIwNzAzMiAxMS41NTQ2ODcgMjUuNzYxNzE5IDI1Ljc1NzgxMiAyNS43NjE3MTkgMTQuMjA3MDMxIDAgMjUuNzYxNzE5LTExLjU1NDY4NyAyNS43NjE3MTktMjUuNzYxNzE5IDAtMTQuMjAzMTI1LTExLjU1NDY4OC0yNS43NTc4MTItMjUuNzYxNzE5LTI1Ljc1NzgxMnptMCAzNi41MTU2MjVjLTUuOTI5Njg3IDAtMTAuNzUzOTA2LTQuODI0MjE5LTEwLjc1MzkwNi0xMC43NTM5MDcgMC01LjkyOTY4NyA0LjgyNDIxOS0xMC43NTc4MTIgMTAuNzUzOTA2LTEwLjc1NzgxMiA1LjkzMzU5NCAwIDEwLjc1NzgxMyA0LjgyODEyNSAxMC43NTc4MTMgMTAuNzU3ODEyIDAgNS45Mjk2ODgtNC44MjQyMTkgMTAuNzUzOTA3LTEwLjc1NzgxMyAxMC43NTM5MDd6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDUuOTAyMzQ0IDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1ODU5NCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTgtMTEuNTU0Njg3IDI1Ljc2MTcxOC0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NjE3MTgtMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODggMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE4LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzNC43NDIxODggMTcxLjkzNzVoLTIxOC4xNDg0MzhjLTQuMTQ0NTMxIDAtNy41MDM5MDYgMy4zNTkzNzUtNy41MDM5MDYgNy41IDAgNC4xNDQ1MzEgMy4zNTkzNzUgNy41MDM5MDYgNy41MDM5MDYgNy41MDM5MDZoMjE4LjE0ODQzOGMxLjQzNzUgMCAyLjYwNTQ2OCAxLjE3MTg3NSAyLjYwNTQ2OCAyLjYwOTM3NXYxOS44NTE1NjNjMCAxLjQzNzUtMS4xNjc5NjggMi42MDkzNzUtMi42MDU0NjggMi42MDkzNzVoLTM1Ny40ODQzNzZjLTEuNDM3NSAwLTIuNjA1NDY4LTEuMTcxODc1LTIuNjA1NDY4LTIuNjA5Mzc1di0xOS44NTE1NjNjMC0xLjQzNzUgMS4xNjc5NjgtMi42MDkzNzUgMi42MDU0NjgtMi42MDkzNzVoMTA0LjI2OTUzMmM0LjE0NDUzMSAwIDcuNTAzOTA2LTMuMzU5Mzc1IDcuNTAzOTA2LTcuNTAzOTA2IDAtNC4xNDA2MjUtMy4zNTkzNzUtNy41LTcuNTAzOTA2LTcuNWgtMTA0LjI2OTUzMmMtOS43MTA5MzcgMC0xNy42MDkzNzQgNy44OTg0MzgtMTcuNjA5Mzc0IDE3LjYxMzI4MXYxOS44NTE1NjNjMCA5LjcxMDkzNyA3Ljg5ODQzNyAxNy42MTMyODEgMTcuNjA5Mzc0IDE3LjYxMzI4MWgxMC4wMzUxNTd2MTY2LjQ2NDg0NGMwIDE0LjI3NzM0MyAxMS42MTcxODcgMjUuODk0NTMxIDI1Ljg5NDUzMSAyNS44OTQ1MzFoMjg1LjYyNWMxNC4yNzczNDQgMCAyNS44OTQ1MzEtMTEuNjE3MTg4IDI1Ljg5NDUzMS0yNS44OTQ1MzF2LTE2Ni40NjQ4NDRoMTAuMDM1MTU3YzkuNzEwOTM3IDAgMTcuNjEzMjgxLTcuODk4NDM3IDE3LjYxMzI4MS0xNy42MTMyODF2LTE5Ljg1MTU2M2MwLTkuNzEwOTM3LTcuOTAyMzQ0LTE3LjYxMzI4MS0xNy42MTMyODEtMTcuNjEzMjgxem0tMjUuMDQyOTY5IDIyMS41NDI5NjljMCA2LjAwMzkwNi00Ljg4MjgxMyAxMC44ODY3MTktMTAuODg2NzE5IDEwLjg4NjcxOWgtMjg1LjYyNWMtNi4wMDM5MDYgMC0xMC44OTA2MjUtNC44ODI4MTMtMTAuODkwNjI1LTEwLjg4NjcxOXYtMTY2LjQ2NDg0NGgzMDcuNDAyMzQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyLjU0Mjk2OSAyOTQuODU5Mzc1YzIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNiA1LjUyMzQzNy0yLjQyMTg3NWwyMy4wMTE3MTktMjUuMDE1NjI1YzIuODA4NTk0LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDYtMTAuNjAxNTYzLTMuMDUwNzgxLTIuODA0Njg3LTcuNzkyOTY5LTIuNjA5Mzc0LTEwLjYwMTU2My40NDE0MDdsLTIzLjAxMTcxOCAyNS4wMTU2MjVjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA5Mzc2IDcuNzkyOTY4LjQ0MTQwNiAxMC42MDE1NjIgMS40NDE0MDYgMS4zMjQyMTkgMy4yNjE3MTggMS45ODA0NjkgNS4wNzgxMjUgMS45ODA0Njl6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNTQuMTg3NSAzMjQuMTM2NzE5YzEuNDQxNDA2IDEuMzI4MTI1IDMuMjYxNzE5IDEuOTgwNDY5IDUuMDc4MTI1IDEuOTgwNDY5IDIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNyA1LjUyMzQzNy0yLjQyMTg3Nmw0Ny4zMTY0MDctNTEuNDI5Njg3YzIuODA0Njg3LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDctMTAuNjA1NDY5LTMuMDUwNzgxLTIuODA0Njg3LTcuNzk2ODc0LTIuNjA1NDY4LTEwLjYwMTU2Mi40NDE0MDZsLTQ3LjMxNjQwNiA1MS40MzM1OTRjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA1NDY5IDcuNzk2ODc1LjQ0MTQwNiAxMC42MDE1NjN6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",sxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMjIuMjUgMTcuMjY2aC0xMTYuNWE1Ljc1NiA1Ljc1NiAwIDAgMCAtNS43NSA1Ljc1djY3Ljk5NGE1Ljc1NyA1Ljc1NyAwIDAgMCA1Ljc1IDUuNzVoOS44ODNsLTMuMDY4IDQuNDRhNi4wNzkgNi4wNzkgMCAwIDAgMTAgNi45MTJsNy44NDctMTEuMzUyaDY3LjE3Nmw3Ljg0NCAxMS4zNTFhNi4wNzkgNi4wNzkgMCAwIDAgMTAtNi45MTJsLTMuMDY4LTQuNDM5aDkuODgzYTUuNzU3IDUuNzU3IDAgMCAwIDUuNzUzLTUuNzV2LTY3Ljk5NGE1Ljc1NiA1Ljc1NiAwIDAgMCAtNS43NS01Ljc1em0tMTAyLjU2MSA4OC44NTZhMi41ODIgMi41ODIgMCAwIDEgLTIuMTIyIDEuMTEyIDIuNTggMi41OCAwIDAgMSAtMi4xMjMtNC4wNDZsNC40NDMtNi40MjhoNi4yNzF6bTkyLjg2Ny0yLjkzNGEyLjU4IDIuNTggMCAwIDEgLTIuMTIzIDQuMDQ2IDIuNTg1IDIuNTg1IDAgMCAxIC0yLjEyMy0xLjExMmwtNi40NjgtOS4zNjJoNi4yNzF6bTExLjk0NC0xMi4xNzhhMi4yNTMgMi4yNTMgMCAwIDEgLTIuMjUgMi4yNWgtMTE2LjVhMi4yNTMgMi4yNTMgMCAwIDEgLTIuMjUtMi4yNXYtNjcuOTk0YTIuMjUzIDIuMjUzIDAgMCAxIDIuMjUtMi4yNWgxMTYuNWEyLjI1MyAyLjI1MyAwIDAgMSAyLjI1IDIuMjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExOC4yNSAyNS4yNjZoLTEwOC41YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1IDEuNzV2NTkuOTk0YTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzVoMTA4LjVhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtNTkuOTk0YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1LTEuNzV6bS0xLjc1IDU5Ljk5NGgtMTA1di01Ni40OTRoMTA1eiIvPgogICAgICAgIDxwYXRoIGQ9Im00MS4zNzUgNDcuOTIyaDcuM3YxOS45MzJhMS43NSAxLjc1IDAgMCAwIDMuNSAwdi0xOS45MzJoNy4zYTEuNzUgMS43NSAwIDAgMCAwLTMuNWgtMTguMWExLjc1IDEuNzUgMCAwIDAgMCAzLjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTc1Ljk2MyA2OC41MjdhMS43NDkgMS43NDkgMCAwIDAgMy4yMyAwbDkuMDQ3LTIxLjY4MWExLjc1IDEuNzUgMCAxIDAgLTMuMjMtMS4zNDZsLTcuNDMyIDE3LjgwOS03LjQzMi0xNy44MDlhMS43NSAxLjc1IDAgMSAwIC0zLjIzIDEuMzQ4eiIvPgogICAgPC9nPgo8L3N2Zz4=",ixe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTksMkg1QTMsMywwLDAsMCwyLDVWNTlhMywzLDAsMCwwLDMsM0g1OWEzLDMsMCwwLDAsMy0zVjVBMywzLDAsMCwwLDU5LDJabTEsNTdhMSwxLDAsMCwxLTEsMUg1YTEsMSwwLDAsMS0xLTFWNUExLDEsMCwwLDEsNSw0SDU5YTEsMSwwLDAsMSwxLDFaIi8+CiAgICAgICAgPHBhdGggZD0iTTMyLDZBMjYsMjYsMCwxLDAsNTgsMzIsMjYuMDI5LDI2LjAyOSwwLDAsMCwzMiw2Wm0wLDUwQTI0LDI0LDAsMSwxLDU2LDMyLDI0LjAyOCwyNC4wMjgsMCwwLDEsMzIsNTZaIi8+CiAgICAgICAgPHBhdGggZD0iTTMyLDEwQTIyLDIyLDAsMSwwLDU0LDMyLDIyLjAyNSwyMi4wMjUsMCwwLDAsMzIsMTBabTEwLjE3NSw0LjgxM2MyLjQ2OSw5LjU1LTMuNjEzLDEyLjktNi40MjgsMTMuOTExYTUsNSwwLDAsMC0xLjY1LTEuMjQ3LDExLjM3NCwxMS4zNzQsMCwwLDAsMy4zMTEtNi43OTRjLjI0OS0yLjg0NS0uNzktNS43MDYtMy4wNS04LjUzMUExOS44MjQsMTkuODI0LDAsMCwxLDQyLjE3NSwxNC44MTNaTTM1LDMyYTMsMywwLDEsMS0zLTNBMywzLDAsMCwxLDM1LDMyWk0zMS41ODYsMTIuMDIxYzIuNzY3LDIuODczLDQuMDY2LDUuNzIyLDMuODMxLDguNDdhMTAuMSwxMC4xLDAsMCwxLTMuNzg0LDYuNTMsMTkuNjUyLDE5LjY1MiwwLDAsMC05LjU4NS0xMi4zNDRBMTkuODM4LDE5LjgzOCwwLDAsMSwzMS41ODYsMTIuMDIxWk0yMC4xMiwxNS45NDhhMTcuNjU3LDE3LjY1NywwLDAsMSw5LjU5MiwxMS42MzMsNC45NTEsNC45NTEsMCwwLDAtLjk1Ny42NDcsMTguODg2LDE4Ljg4NiwwLDAsMC0xNC4zMzgtNS43NTJBMjAuMTI2LDIwLjEyNiwwLDAsMSwyMC4xMiwxNS45NDhaTTEyLDMyYTE5Ljg3LDE5Ljg3LDAsMCwxLDEuNDQyLTcuNDE2QTE2LjM4NSwxNi4zODUsMCwwLDEsMjUuODE2LDI4LjI2YTEzLjc5LDEzLjc5LDAsMCwwLTguMDY0LDEuMjkxQTEyLjY0NCwxMi42NDQsMCwwLDAsMTIuMzExLDM1LjQsMTkuOTEzLDE5LjkxMywwLDAsMSwxMiwzMlptMS4xNjQsNi42NmMxLjEzLTMuNTI5LDIuOTgyLTYsNS41Mi03LjM0YTEyLjY0MywxMi42NDMsMCwwLDEsOC41NjEtLjc4N0E0LjkxOSw0LjkxOSwwLDAsMCwyNywzMmMwLC4xMDkuMDI1LjIxMS4wMzIuMzE4LTIuMDA4LjkxNS03Ljk2MSw0LjQyLTguOSwxNC4wNjNBMjAuMDM0LDIwLjAzNCwwLDAsMSwxMy4xNjQsMzguNjZabTYuODc4LDkuMzMzYy4zNjQtOS4yNzksNS41NjMtMTIuNzQzLDcuNTMxLTEzLjcxOWE1LDUsMCwwLDAsMS4wNjUsMS40Yy0uOTU4LDIuNjA5LTIuODUzLDkuNzkxLDIuMTA4LDE2LjI2MUExOS44NTYsMTkuODU2LDAsMCwxLDIwLjA0Miw0Ny45OTNaTTMzLjM4MSw1MS45M2MtNS40LTUuNzMzLTMuOTItMTIuNDk1LTIuOTg4LTE1LjIxOUE0LjkyOSw0LjkyOSwwLDAsMCwzMiwzN2MuMDgxLDAsLjE1Ni0uMDIuMjM1LS4wMjQuNiwzLjA0OSwyLjgyOSw5LjIyMywxMS4xMTEsMTEuNDc1QTE5Ljg1NiwxOS44NTYsMCwwLDEsMzMuMzgxLDUxLjkzWm0xMS45NjYtNS4wNzhjLTguNDQxLTEuNjE3LTEwLjYyMy03LjI5Mi0xMS4xNzQtMTAuMzdhNS4wMDYsNS4wMDYsMCwwLDAsMS4wODQtLjcxOWMxLjg2OCwxLjksNi4yMTUsNS42MzMsMTEuNTIyLDUuNjMzYTExLjIwOCwxMS4yMDgsMCwwLDAsMy4wODUtLjQ1NUEyMC4wNjksMjAuMDY5LDAsMCwxLDQ1LjM0Nyw0Ni44NTJaTTUyLDMyYTE5LjksMTkuOSwwLDAsMS0xLjA3NCw2LjQxNGMtNi41MDcsMy4xMi0xMi40NjItMi4xODQtMTQuNDM4LTQuMjUxYTQuOTI3LDQuOTI3LDAsMCwwLC4zNjktMS4wMjUsMTYuNiwxNi42LDAsMCwwLDEuNzg5LjA5NCwxOC4zMjgsMTguMzI4LDAsMCwwLDEyLjkyNi01LjMzOUEyMCwyMCwwLDAsMSw1MiwzMlptLTE1LjA4OC0uODY4YTQuNzQ1LDQuNzQ1LDAsMCwwLS4xNzMtLjY1YzIuOTI2LTEuMTU1LDkuMjM0LTQuNzY2LDcuODE3LTE0LjAyOGEyMC4wNTcsMjAuMDU3LDAsMCwxLDYuMzk0LDkuMkExNi4zNDQsMTYuMzQ0LDAsMCwxLDM2LjkxMiwzMS4xMzJaIi8+CiAgICAgICAgPHBhdGggZD0iTTksMTJBMywzLDAsMSwwLDYsOSwzLDMsMCwwLDAsOSwxMlpNOSw4QTEsMSwwLDEsMSw4LDksMSwxLDAsMCwxLDksOFoiLz4KICAgICAgICA8cGF0aCBkPSJNNTUsNmEzLDMsMCwxLDAsMywzQTMsMywwLDAsMCw1NSw2Wm0wLDRhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsNTUsMTBaIi8+CiAgICAgICAgPHBhdGggZD0iTTEyLDU1YTMsMywwLDAsMC0zLTMsMi45NjYsMi45NjYsMCwwLDAtMSwuMTg0VjQ1SDZWNTVhMywzLDAsMCwwLDMsM2g2VjU2SDExLjgxNkEyLjk2NiwyLjk2NiwwLDAsMCwxMiw1NVpNOSw1NmExLDEsMCwxLDEsMS0xQTEsMSwwLDAsMSw5LDU2WiIvPgogICAgICAgIDxwYXRoIGQ9Ik01Niw1Mi4xODRBMi45NjYsMi45NjYsMCwwLDAsNTUsNTJhMywzLDAsMCwwLTMsMywyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDV2Mkg1NWEzLDMsMCwwLDAsMy0zVjQ5SDU2Wk01NSw1NmExLDEsMCwxLDEsMS0xQTEsMSwwLDAsMSw1NSw1NloiLz4KICAgICAgICA8cmVjdCB4PSIxNyIgeT0iNTYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgIDwvZz4KPC9zdmc+Cg==",rxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQyOC42MDcgNDI4LjYwNyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00MjMuNzczLDM0My44NzFMNDIzLjc3MywzNDMuODcxYy02LjYxNy00LjU5OS0xMi40NC0xMC4yNDYtMTcuMjQxLTE2LjcxOGMtMTEuNDk0LTEzLjA2MS0yNi4xMjItMjkuMjU3LTUzLjI5LTI5LjI1NwoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUKCQkJCWMtMTAuOTcxLTEyLjUzOS0yNS42LTI5Ljc4LTUzLjI5LTI5Ljc4Yy0yNy42OSwwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhjLTEyLjAxNiwxNC4xMDYtMTkuODUzLDIyLjQ2NS0zNy42MTYsMjIuNDY1CgkJCQlzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1Yy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyCgkJCQljLTIuNTk3LDUuMTk0LTAuNDkyLDExLjUwOSw0LjcwMiwxNC4xMDZjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgKCQkJCXM0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1czI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1CgkJCQljMTAuOTcxLDEyLjUzOSwyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4YzI3LjY5LDAsNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUKCQkJCUM0MzAuMDgyLDM1My41OTQsNDI4LjY3OSwzNDcuMDQ1LDQyMy43NzMsMzQzLjg3MXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDIzLjc3MywyNjUuNTAzTDQyMy43NzMsMjY1LjUwM2MtNi42MTctNC41OTktMTIuNDQtMTAuMjQ2LTE3LjI0MS0xNi43MThjLTExLjQ5NC0xMy4wNjEtMjYuMTIyLTI5LjI1Ny01My4yOS0yOS4yNTcKCQkJCWMtMjcuMTY3LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1CgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQoJCQkJcy0yNi42NDUtOS45MjctMzcuNjE2LTIyLjQ2NWMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMgoJCQkJcy0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzEwLjk3MSwxMi41MzksMjUuNiwyOS43OCw1My4yOSwyOS43OGMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjUKCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NWM0LjkwNSwzLjE3NCwxMS40NTUsMS43NzEsMTQuNjI5LTMuMTM1CgkJCQlDNDMwLjA4MiwyNzUuMjI3LDQyOC42NzksMjY4LjY3Nyw0MjMuNzczLDI2NS41MDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQyMy43NzMsMTgxLjkxMUw0MjMuNzczLDE4MS45MTFjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3CgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhzLTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVzLTI1LjYtMjkuNzgtNTMuMjktMjkuNzgKCQkJCWMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUKCQkJCWMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMmMtMi41OTcsNS4xOTQtMC40OTIsMTEuNTA5LDQuNzAyLDE0LjEwNgoJCQkJYzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4czQxLjI3My0xNS42NzMsNTMuMjktMjkuNzgKCQkJCWMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NXMyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQljMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4czE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUKCQkJCUM0MzAuMDgyLDE5MS42MzUsNDI4LjY3OSwxODUuMDg1LDQyMy43NzMsMTgxLjkxMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNS44MTQsODIuMTI0YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzEwLjk3MSwxMi41MzksMjUuNiwyOS43OCw1My4yOSwyOS43OGMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjUKCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NmM0LjkwNSwzLjE3NCwxMS40NTUsMS43NywxNC42MjktMy4xMzUKCQkJCWMzLjE3NC00LjkwNSwxLjc3MS0xMS40NTUtMy4xMzUtMTQuNjI5aDBjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3CgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhjLTEyLjAxNiwxNC4xMDYtMTkuODUzLDIyLjQ2NS0zNy42MTYsMjIuNDY1cy0yNi42NDUtOS45MjctMzcuNjE2LTIyLjQ2NQoJCQkJYy0xMC45NzEtMTIuNTM5LTI1LjYtMjkuNzgtNTMuMjktMjkuNzhjLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjUKCQkJCVM1My44OCw5OS44ODcsNDIuOTA4LDg3LjM0OGMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMgoJCQkJUzAuNjIxLDc5LjUyNyw1LjgxNCw4Mi4xMjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",oxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwOCA1MDgiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cmVjdCB4PSIxMzkuMyIgd2lkdGg9IjE2LjQiIGhlaWdodD0iMzguMiIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTA0LjEsMjEuNCA4OC45LDI3LjcgOTgsNDkuOCAxMTMuMiw0My41IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNy41LDg5LjQgMjEuMywxMDQuNiA0My4zLDExMy43IDQ5LjUsOTguNSAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTkwLjksMjEuNCAxODEuOCw0My41IDE5Ni45LDQ5LjggMjA2LDI3LjcgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQzLjMsMTgyLjcgMjEuMywxOTEuOCAyNy41LDIwNyA0OS41LDE5Ny45IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNjcuNCw4OS40IDI0NS40LDk4LjUgMjUxLjcsMTEzLjcgMjczLjcsMTA0LjYgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjI0NiwzNy42IDIxOS4xLDY0LjYgMjMwLjcsNzYuMyAyNTcuNiw0OS4yIAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2NC4zLDIyMC4xIDM3LjQsMjQ3LjEgNDksMjU4LjggNzUuOSwyMzEuNyAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTQuMywxNDAgMCwxNDAgMCwxNTYuNCAxNC4zLDE1Ni40IDM4LjEsMTU2LjQgMzguMSwxNDAgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjU5LjEsNDcuNyA0OSwzNy42IDM3LjQsNDkuMiA2NC4zLDc2LjMgNzUuOSw2NC42IAkJIi8+CiAgICAgICAgPHBhdGggZD0iTTMxOS41LDE3Mi45djE2LjVjNDkuNywwLDkwLjEsNDAuNiw5MC4xLDkwLjZINDI2QzQyNi4xLDIyMC45LDM3OC4zLDE3Mi45LDMxOS41LDE3Mi45eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjYuMSwyOTUuNWMwLjYtNS42LDAuOS0xMC42LDAuOS0xNS42YzAtODEuNy02Ni4yLTE0OC4yLTE0Ny41LTE0OC4yYy0yOC40LDAtNTUuNSw4LjItNzguNywyM2MwLjItMi4yLDAuNS00LjMsMC41LTYuNQoJCQljMC01Mi00Mi4xLTk0LjMtOTMuOC05NC4zcy05My44LDQyLjMtOTMuOCw5NC4zYzAsMzAuNiwxNC45LDU5LjEsMzkuNSw3Ni43Yy0xNS40LDE3LjItMjUuNSwzOS4zLTI3LjMsNjMuNwoJCQljLTM3LDQtNjUuOCwzNS41LTY1LjgsNzMuN2MwLDQwLjksMzMuMSw3NC4xLDczLjcsNzQuMWgzNjAuNWM0MC43LDAsNzMuNy0zMy4yLDczLjctNzQuMUM1MDgsMzMzLjcsNDkxLjQsMzA3LjcsNDY2LjEsMjk1LjV6CgkJCSBNNzAsMTQ4LjJjMC00Mi45LDM0LjctNzcuOCw3Ny40LTc3LjhjNDIuNywwLDc3LjQsMzQuOSw3Ny40LDc3LjhjMCw2LjktMC45LDEzLjktMi43LDIwLjZjLTguMyw3LjQtMTUuNywxNS41LTIyLjEsMjQuNAoJCQljLTMzLjEtOS4xLTY4LjctMS4zLTk0LjksMjAuMUM4My4zLDE5OSw3MCwxNzQuNSw3MCwxNDguMnogTTQzNC4zLDQxOS45SDczLjdjLTMxLjYsMC01Ny40LTI1LjktNTcuNC01Ny42CgkJCWMwLTMxLjgsMjUuNy01Ny42LDU3LjQtNTcuNmg4LjJ2LTguMmMwLTQ5LjksNDAuNC05MC42LDkwLjEtOTAuNmMxNC40LDAsMzQuNyw2LjgsMzQuNyw2LjhzMzguNy02NC40LDExMi44LTY0LjQKCQkJYzcyLjMsMCwxMzEuMSw1OS4xLDEzMS4xLDEzMS43YzAsMTMuOS0yLjYsMjYuMS0yLjYsMjYuMWw2LjIsMi4zYzIyLjMsOC40LDM3LjMsMzAuMSwzNy4zLDUzLjkKCQkJQzQ5MS42LDM5NCw0NjUuOSw0MTkuOSw0MzQuMyw0MTkuOXoiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9Ijg4LjQsNDU1LjIgNDcuNSw0OTYuNCA1OS4xLDUwOCAxMDAsNDY2LjggCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE3OC42LDQ1NS4yIDEzNy42LDQ5Ni40IDE0OS4yLDUwOCAxOTAuMSw0NjYuOCAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjY4LjcsNDU1LjIgMjI3LjcsNDk2LjQgMjM5LjMsNTA4IDI4MC4zLDQ2Ni44IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIzNTguOCw0NTUuMiAzMTcuOSw0OTYuNCAzMjkuNCw1MDggMzcwLjQsNDY2LjggCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQ0OC45LDQ1NS4yIDQwOCw0OTYuNCA0MTkuNiw1MDggNDYwLjUsNDY2LjggCQkiLz4KICAgIDwvZz4KPC9zdmc+Cg==",nxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjEgNTVoLTV2LTQ0YTMuMDA5IDMuMDA5IDAgMCAwIDMtM3YtNWExIDEgMCAwIDAgLTEtMWgtNTJhMSAxIDAgMCAwIC0xIDF2NWEzLjAwOSAzLjAwOSAwIDAgMCAzIDN2NDRoLTVhMSAxIDAgMCAwIC0xIDF2NWExIDEgMCAwIDAgMSAxaDU4YTEgMSAwIDAgMCAxLTF2LTVhMSAxIDAgMCAwIC0xLTF6bS01NC00N3YtNGg1MHY0YTEgMSAwIDAgMSAtMSAxaC00OGExIDEgMCAwIDEgLTEtMXptNDcgM3Y0NGgtNDR2LTQ0em02IDQ5aC01NnYtM2g1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTIgMTJoLTQwYTEgMSAwIDAgMCAtMSAxdjQwYTEgMSAwIDAgMCAxIDFoNDBhMSAxIDAgMCAwIDEtMXYtNDBhMSAxIDAgMCAwIC0xLTF6bS0yMSA0MGgtMTh2LTE5aDE4em0wLTIxaC0xOHYtMTdoMTh6bTIwIDIxaC0xOHYtMTloMTh6bTAtMjFoLTE4di0xN2gxOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTUuMTcyIDE4aDUuNjU3djJoLTUuNjU3eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcwNyAtLjcwNyAuNzA3IC43MDcgLTguMTYzIDE4LjI5MykiLz4KICAgICAgICA8cGF0aCBkPSJtMTQuMTM2IDIwLjVoMTIuNzI4djJoLTEyLjcyOHoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC05LjE5OCAyMC43OTMpIi8+CiAgICA8L2c+Cjwvc3ZnPg==",axe={"Alarm Systems":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSItMzEgMCA1MTEgNTExLjk5OTk4IiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yMzUuMzI4MTI1IDExOS4xNjc5NjljMjAuODM5ODQ0IDguMDU4NTkzIDM1LjY0NDUzMSAyMS4xNDg0MzcgNDQuNjMyODEzIDQxLjUwMzkwNiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzEuNjg3NSAxMjguNTg1OTM4YzE4Ljk4MDQ2OSA3LjMzOTg0MyAzMS4zODI4MTIgMTguODMyMDMxIDM5LjAzNTE1NiAzNi4xNjQwNjIgMS42Njc5NjkgMy43NzM0MzggNS4zNjMyODIgNi4wMjM0MzggOS4yNDIxODggNi4wMjM0MzggMS4zNjMyODEgMCAyLjc0NjA5NC0uMjc3MzQ0IDQuMDcwMzEyLS44NjMyODIgNS4xMDU0NjktMi4yNTM5MDYgNy40MTQwNjMtOC4yMTQ4NDQgNS4xNjAxNTYtMTMuMzE2NDA2LTkuODIwMzEyLTIyLjI1LTI2LjI1LTM3LjU3NDIxOS01MC4yMjY1NjItNDYuODQzNzUtNS4xOTkyMTktMi4wMTE3MTktMTEuMDQ2ODc1LjU3NDIxOS0xMy4wNTg1OTQgNS43NzczNDQtMi4wMTE3MTggNS4yMDMxMjUuNTc4MTI1IDExLjA0Njg3NSA1Ljc3NzM0NCAxMy4wNTg1OTR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDcuMTA1NDY5IDIzNy44MTI1YzIwLjA4OTg0MyAwIDM2LjQzNzUtMTYuMzQzNzUgMzYuNDM3NS0zNi40MzM1OTQgMC0yMC4wOTM3NS0xNi4zNDc2NTctMzYuNDM3NS0zNi40Mzc1LTM2LjQzNzUtMjAuMDg5ODQ0IDAtMzYuNDM3NSAxNi4zNDM3NS0zNi40Mzc1IDM2LjQzNzUgMCAyMC4wODk4NDQgMTYuMzQ3NjU2IDM2LjQzMzU5NCAzNi40Mzc1IDM2LjQzMzU5NHptMC01Mi42NzU3ODFjOC45NTMxMjUgMCAxNi4yNDIxODcgNy4yODUxNTYgMTYuMjQyMTg3IDE2LjI0MjE4NyAwIDguOTUzMTI1LTcuMjg5MDYyIDE2LjIzODI4Mi0xNi4yNDIxODcgMTYuMjM4MjgyLTguOTU3MDMxIDAtMTYuMjQyMTg4LTcuMjg1MTU3LTE2LjI0MjE4OC0xNi4yMzgyODIgMC04Ljk1NzAzMSA3LjI4NTE1Ny0xNi4yNDIxODcgMTYuMjQyMTg4LTE2LjI0MjE4N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM5MC4xNzk2ODggMTQ3LjAxNTYyNWMzLjc2NTYyNCAwIDcuMzk4NDM3LS41NzQyMTkgMTAuODIwMzEyLTEuNjM2NzE5bDcuMzM5ODQ0IDkuODcxMDk0YzEzLjk0MTQwNiAxOC43NSAyMS42MjEwOTQgNDEuOTQ1MzEyIDIxLjYyMTA5NCA2NS4zMTI1djU5LjE1MjM0NGMwIDUuNTc4MTI1IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2IDUuNTc0MjE4IDAgMTAuMDk3NjU2LTQuNTE5NTMxIDEwLjA5NzY1Ni0xMC4wOTc2NTZ2LTU5LjE1MjM0NGMwLTI3LjY3NTc4MS05LjA5Mzc1LTU1LjE1MjM0NC0yNS42MDkzNzUtNzcuMzU5Mzc1bC02LjY3NTc4MS04Ljk4MDQ2OWM1LjQ0OTIxOC02LjM2NzE4NyA4Ljc0NjA5NC0xNC42MjUgOC43NDYwOTQtMjMuNjQwNjI1IDAtMjAuMDkzNzUtMTYuMzQzNzUtMzYuNDM3NS0zNi40Mzc1LTM2LjQzNzUtMjAuMDg5ODQ0IDAtMzYuNDMzNTk0IDE2LjM0Mzc1LTM2LjQzMzU5NCAzNi40Mzc1IDAgMjAuMDg5ODQ0IDE2LjM0Mzc1IDM2LjQzMzU5NCAzNi40MzM1OTQgMzYuNDMzNTk0em0wLTUyLjY3NTc4MWM4Ljk1NzAzMSAwIDE2LjI0MjE4NyA3LjI4NTE1NiAxNi4yNDIxODcgMTYuMjQyMTg3IDAgOC45NTMxMjUtNy4yODUxNTYgMTYuMjQyMTg4LTE2LjI0MjE4NyAxNi4yNDIxODgtOC45NTMxMjYgMC0xNi4yNDIxODgtNy4yODkwNjMtMTYuMjQyMTg4LTE2LjI0MjE4OCAwLTguOTU3MDMxIDcuMjg5MDYyLTE2LjI0MjE4NyAxNi4yNDIxODgtMTYuMjQyMTg3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjA1ODU5NCAzNDkuMDUwNzgxYy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU3djYzLjMyMDMxMmMwIDE0LjIzMDQ2OS0xMS41NzgxMjYgMjUuODA4NTk0LTI1LjgwODU5NCAyNS44MDg1OTRoLTQ0LjU5NzY1NnYtMzMuNDI5Njg4YzAtNS41NzgxMjUtNC41MTk1MzItMTAuMDk3NjU2LTEwLjA5Mzc1LTEwLjA5NzY1NmgtNDIuMjY1NjI2di0xMTIuNDUzMTI1YzIxLjg1NTQ2OS0yNC4wMzUxNTYgMzUuMTkxNDA3LTU1Ljk0OTIxOSAzNS4xOTE0MDctOTAuOTE3OTY5IDAtNzQuNTk3NjU2LTYwLjY4NzUtMTM1LjI4NTE1Ni0xMzUuMjgxMjUtMTM1LjI4NTE1NnMtMTM1LjI4MTI1IDYwLjY4NzUtMTM1LjI4MTI1IDEzNS4yODUxNTZjMCAzMy4xMDU0NjkgMTEuOTU3MDMxIDYzLjQ2NDg0NCAzMS43NzczNDMgODcuMDAzOTA2djIxMy41MTk1MzJjMCA1LjU3ODEyNSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU3IDEwLjA5NzY1NmgyMzUuNzYxNzE5YzUuNTc0MjE4IDAgMTAuMDkzNzUtNC41MTk1MzEgMTAuMDkzNzUtMTAuMDk3NjU2di0zMy40Mjk2ODhoNDQuNTk3NjU2YzI1LjM2NzE4NyAwIDQ2LjAwMzkwNi0yMC42MzY3MTggNDYuMDAzOTA2LTQ2LjAwMzkwNnYtNjMuMzIwMzEyYzAtNS41NzgxMjYtNC41MjM0MzgtMTAuMDk3NjU3LTEwLjA5NzY1Ni0xMC4wOTc2NTd6bS0yMzIuOTUzMTI1LTI2Mi43NjE3MTljNjMuNDU3MDMxIDAgMTE1LjA4NTkzNyA1MS42Mjg5MDcgMTE1LjA4NTkzNyAxMTUuMDg5ODQ0IDAgNjMuNDU3MDMyLTUxLjYyODkwNiAxMTUuMDg1OTM4LTExNS4wODU5MzcgMTE1LjA4NTkzOC02My40NjA5MzggMC0xMTUuMDg1OTM4LTUxLjYyODkwNi0xMTUuMDg1OTM4LTExNS4wODU5MzggMC02My40NjA5MzcgNTEuNjI1LTExNS4wODk4NDQgMTE1LjA4NTkzOC0xMTUuMDg5ODQ0em0tODMuMzA4NTk0IDIyMS42MDE1NjNjMjIuOTgwNDY5IDE4LjAxNTYyNSA1MS45MTAxNTYgMjguNzY5NTMxIDgzLjMwODU5NCAyOC43Njk1MzEgMjkuODYzMjgxIDAgNTcuNDkyMTg3LTkuNzM0Mzc1IDc5Ljg5NDUzMS0yNi4xODc1djE4MS4zMzIwMzJoLTE2My4yMDMxMjV6bTIxNS41NjY0MDYgMTgzLjkxNDA2M2gtMzIuMTY3OTY5di02Ni44NTkzNzZoMzIuMTY3OTY5em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ4LjE2MDE1NiAzNzcuNzg5MDYyaDE3LjkyNTc4MmM1LjU3NDIxOCAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MjM0MzgtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTE3LjkyNTc4MmMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTk4LjE0NDUzMSAzNzcuNzg5MDYyaDE3LjkyMTg3NWM1LjU3NDIxOSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MjM0MzctMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTE3LjkyMTg3NWMtNS41NzgxMjUgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTE5NTMxIDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY2LjA0Njg3NSAzNTcuNTkzNzVoLTE3LjkyMTg3NWMtNS41NzQyMTkgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDE3LjkyMTg3NWM1LjU3ODEyNSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDguMTYwMTU2IDQyMC42NzU3ODFoNjcuOTA2MjVjNS41NzQyMTkgMCAxMC4wOTc2NTYtNC41MTk1MzEgMTAuMDk3NjU2LTEwLjA5NzY1NnMtNC41MjM0MzctMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTY3LjkwNjI1Yy01LjU3NDIxOCAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2czQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4LjEyNSA0NDMuMTU2MjVoLTk5Ljk2NDg0NGMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDk5Ljk2NDg0NGM1LjU3NDIxOSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDYuMzU1NDY5IDQwLjEzNjcxOWMxLjg0Mzc1IDMuMzIwMzEyIDUuMjg1MTU2IDUuMTkxNDA2IDguODMyMDMxIDUuMTkxNDA2IDEuNjYwMTU2IDAgMy4zNDM3NS0uNDE0MDYzIDQuODk4NDM4LTEuMjc3MzQ0IDQuODc1LTIuNzEwOTM3IDYuNjI1LTguODU5Mzc1IDMuOTE0MDYyLTEzLjczNDM3NWwtMTMuOTg0Mzc1LTI1LjEyODkwNmMtMi43MTA5MzctNC44NzEwOTQtOC44NTkzNzUtNi42MjUtMTMuNzM0Mzc1LTMuOTEwMTU2LTQuODcxMDk0IDIuNzEwOTM3LTYuNjI1IDguODU5Mzc1LTMuOTE0MDYyIDEzLjczNDM3NXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTYzLjE0NDUzMSA4My4wMTU2MjUtMjYuMDU0Njg3LTE1LjAzOTA2M2MtNC44MzIwMzItMi43ODkwNjItMTEuMDAzOTA2LTEuMTMyODEyLTEzLjc5Mjk2OSAzLjY5NTMxM3MtMS4xMzI4MTMgMTEuMDAzOTA2IDMuNjk1MzEzIDEzLjc5Mjk2OWwyNi4wNTQ2ODcgMTUuMDQyOTY4YzEuNTg5ODQ0LjkxNzk2OSAzLjMyODEyNSAxLjM1MTU2MyA1LjAzOTA2MyAxLjM1MTU2MyAzLjQ4ODI4MSAwIDYuODgyODEyLTEuODA4NTk0IDguNzUzOTA2LTUuMDQ2ODc1IDIuNzg5MDYyLTQuODMyMDMxIDEuMTMyODEyLTExLjAwNzgxMi0zLjY5NTMxMy0xMy43OTY4NzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MS4xMTMyODEgMTQ2LjIxMDkzOC0zMC4wODU5MzctMS4yODEyNWMtNS41ODIwMzItLjI1LTEwLjI4MTI1IDQuMDg5ODQzLTEwLjUxOTUzMiA5LjY2MDE1Ni0uMjM0Mzc0IDUuNTcwMzEyIDQuMDg5ODQ0IDEwLjI4MTI1IDkuNjYwMTU3IDEwLjUxNTYyNWwzMC4wODU5MzcgMS4yODEyNWMuMTQ0NTMyLjAwNzgxMi4yOTI5NjkuMDA3ODEyLjQzNzUuMDA3ODEyIDUuMzc4OTA2IDAgOS44NTE1NjMtNC4yNDIxODcgMTAuMDc4MTI1LTkuNjY3OTY5LjIzODI4MS01LjU3MDMxMi00LjA4NTkzNy0xMC4yNzczNDMtOS42NTYyNS0xMC41MTU2MjR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yODMuNjQwNjI1IDE5OC42MjUuMTIxMDk0LjI5Njg3NWMxLjU4OTg0MyAzLjkyNTc4MSA1LjM2NzE4NyA2LjMwNDY4NyA5LjM1OTM3NSA2LjMwNDY4NyAxLjI2MTcxOCAwIDIuNTQ2ODc1LS4yMzgyODEgMy43ODkwNjItLjc0MjE4NyA1LjE2Nzk2OS0yLjA5Mzc1IDcuNjYwMTU2LTcuOTgwNDY5IDUuNTY2NDA2LTEzLjE0ODQzN2wtLjEyMTA5My0uMjk2ODc2Yy0yLjA5Mzc1LTUuMTY3OTY4LTcuOTgwNDY5LTcuNjU2MjUtMTMuMTQ4NDM4LTUuNTYyNXMtNy42NjAxNTYgNy45ODA0NjktNS41NjY0MDYgMTMuMTQ4NDM4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQ5LjM2NzE4OCAzMTUuNjY3OTY5Yy0yLjA3ODEyNi01LjE3MTg3NS03Ljk2NDg0NC03LjY3OTY4OC0xMy4xMzY3MTktNS42MDE1NjMtNS4xNzE4NzUgMi4wODIwMzItNy42Nzk2ODggNy45NjA5MzgtNS42MDE1NjMgMTMuMTM2NzE5bC4xMTcxODguMjkyOTY5YzEuNTg1OTM3IDMuOTQxNDA2IDUuMzcxMDk0IDYuMzM1OTM3IDkuMzc1IDYuMzM1OTM3IDEuMjUzOTA2IDAgMi41MjczNDQtLjIzNDM3NSAzLjc2MTcxOC0uNzM0Mzc1IDUuMTc1NzgyLTIuMDc4MTI1IDcuNjgzNTk0LTcuOTYwOTM3IDUuNjAxNTYzLTEzLjEzMjgxMnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Amplifier:dfe,Awnings:Dfe,"Battery Status":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zOTQuMDYzIDM5MS45OTZjLTkuMTk4LTUuMjktMTguMzczLTEwLjYyMy0yNy41NTgtMTUuOTM3IDUuMDAyLTExLjc2OSAxMC4xOTQtMjMuOTAyIDE0LjkwMy0zNi4wNTMgMS44MDktNC42NjcgMS4xODktOS45MTEtMS42NTUtMTQuMDI4LTUuNzc2LTguMzYxLTE2Ljg2My04Ljg1NS0yNC4zNDQtMS43NC0xOS42NjEgMTguNy0zOS4wODUgMzctNTguNjUyIDU1LjUzNy0zLjc3NSAzLjU3Ny01LjYzOSA4LjQzNC01LjExIDEzLjMyNy41MjMgNC44NDYgMy4zMzkgOS4xNDQgNy43MjUgMTEuNzkyIDkuMzQ1IDUuNjQxIDE4Ljc2MSAxMC45NTUgMjguMDk4IDE2LjI5MS00LjY0NCAxMC45NTEtMTAuMzcyIDI0LjI0Ni0xNC45MiAzNi4wMDItMi44ODcgNy40NjIuNDIxIDE1Ljc0NCA3LjY5MyAxOS4yNjQgNS43MTQgMi43NjYgMTIuMjggMi4yMTEgMTguMjk5LTMuNDgzIDE5LjM0NC0xOC4zIDM5LjM0My0zNy4yMTQgNTguNjctNTUuNTQ3IDMuODE4LTMuNjIyIDUuNjc0LTguNTEyIDUuMDktMTMuNDE2LS41OTEtNC45NjItMy41OTQtOS4zMzgtOC4yMzktMTIuMDA5em0tNy4xNzQgMTQuNTRjLTE1LjYzNCAxNC44MzItNTguOTQ5IDU2Ljk3My02MC4xMDkgNTYuNDEyLS4xMTgtLjA1Ny0uMzA2LS4xNzgtLjI0LS4zNDkgNS4xNzktMTMuNTI2IDExLjYzNS0yOC4yNzIgMTYuOTE4LTQwLjczMiAxLjQ5My0zLjUyMi45MDctOC4yOC0zLjc2OC0xMC45Ny0xMC44NC02LjIzNy0yMS43OTEtMTIuMzU0LTMyLjU2NC0xOC44NDUtLjgwMi0uNDgzLS43NjctLjcxLS4wNTEtMS4zODggMjAuODc0LTE5Ljc3OSA1Ny45NTktNTUuMzExIDU5LjgwMy01Ni40NTkuMzk2LjA4NC41NDQuMjk5LjU0NS4zODQtNS4zMDcgMTMuNjg0LTExLjIxMyAyNy4zMDUtMTYuOSA0MC43MzktMS43OTQgNC4yMzctLjI5MyA4LjY0OSAzLjczOSAxMC45OCA0LjM5OSAyLjU0IDguNzk2IDUuMDg3IDEzLjE5MSA3LjYzNCA2LjM3NCAzLjY5MyAxMi43NDggNy4zODcgMTkuMTM0IDExLjA1OSAxLjEwNi42MzUgMS4xMzYuNzQ0LjMwMiAxLjUzNXptLTgxLjc4NC0yMDguNGgtMjAxLjQ2Yy0xMC4yNzMgMC0xOC42MzEgOC4zMy0xOC42MzEgMTguNTY5djQ0LjI3NmMwIDEwLjIzOSA4LjM1NyAxOC41NjkgMTguNjMxIDE4LjU2OWgyMDEuNDYxYzEwLjI3MyAwIDE4LjYzMS04LjMzIDE4LjYzMS0xOC41Njl2LTQ0LjI3NmMtLjAwMS0xMC4yMzktOC4zNTgtMTguNTY5LTE4LjYzMi0xOC41Njl6bTMuNjMxIDYyLjg0NWMwIDEuOTY4LTEuNjI5IDMuNTY5LTMuNjMxIDMuNTY5aC0yMDEuNDZjLTIuMDAyIDAtMy42MzEtMS42MDEtMy42MzEtMy41Njl2LTQ0LjI3NmMwLTEuOTY4IDEuNjI5LTMuNTY5IDMuNjMxLTMuNTY5aDIwMS40NjFjMi4wMDIgMCAzLjYzMSAxLjYwMSAzLjYzMSAzLjU2OXY0NC4yNzZ6bTE1LTE0My44OThjMC0xMC4yMzktOC4zNTctMTguNTY5LTE4LjYzMS0xOC41NjloLTIwMS40NmMtMTAuMjczIDAtMTguNjMxIDguMzMtMTguNjMxIDE4LjU2OXY0NC4yNzZjMCAxMC4yMzkgOC4zNTcgMTguNTY5IDE4LjYzMSAxOC41NjloMjAxLjQ2MWMxMC4yNzMgMCAxOC42MzEtOC4zMyAxOC42MzEtMTguNTY5di00NC4yNzZ6bS0xNSA0NC4yNzdjMCAxLjk2OC0xLjYyOSAzLjU2OS0zLjYzMSAzLjU2OWgtMjAxLjQ2Yy0yLjAwMiAwLTMuNjMxLTEuNjAxLTMuNjMxLTMuNTY5di00NC4yNzZjMC0xLjk2OCAxLjYyOS0zLjU2OSAzLjYzMS0zLjU2OWgyMDEuNDYxYzIuMDAyIDAgMy42MzEgMS42MDEgMy42MzEgMy41Njl2NDQuMjc2em0zOC4yNDcgMTIzLjg1N2MtMTguNjUzIDAtMzYuMjY2IDQuNTI5LTUxLjgwMyAxMi41NDJoLTE5MS41MzVjLTEwLjI3MiAwLTE4LjYzIDguMzMxLTE4LjYzIDE4LjU3djQ0LjI3YzAgMTAuMjM5IDguMzU3IDE4LjU3IDE4LjYzIDE4LjU3aDEzMS42MjFjLTEuMDk2IDYuMzE4LTEuNjczIDEyLjgxMi0xLjY3MyAxOS40MzggMCAyNC4yNDMgNy42NTEgNDYuNzI5IDIwLjY2IDY1LjE4MmgtMTUwLjYwOGMtMi4wMDIgMC0zLjYzLTEuNjAyLTMuNjMtMy41N3YtNDQuMjdjMC0xLjk2OSAxLjYyOC0zLjU3IDMuNjMtMy41N2gxMDcuNjQxYzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMDcuNjQxYy0xMC4yNzIgMC0xOC42MyA4LjMzMS0xOC42MyAxOC41N3Y0NC4yN2MwIDEwLjIzOSA4LjM1NyAxOC41NyAxOC42MyAxOC41N2gxNjMuMjM3YzcuMDcgNy4wNjMgMTUuMDY1IDEzLjE5OSAyMy43ODUgMTguMjFoLTE5OC4yNDJjLTE0LjIyNyAwLTI1LjgtMTEuNTc0LTI1LjgtMjUuOHYtMzY1LjA4OWMwLTE0LjIyNiAxMS41NzMtMjUuOCAyNS44LTI1LjhoMjIzLjljMTQuMjI3IDAgMjUuOCAxMS41NzQgMjUuOCAyNS44djE1Ni42NGMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0xNTYuNjRjMC0yMi40OTctMTguMzAzLTQwLjgtNDAuOC00MC44aC00MC4wNjd2LTM1LjYxMWMwLTE2LjM3Ni0xMy4zMjMtMjkuNjk5LTI5LjY5OS0yOS42OTloLTg0LjM2N2MtMTYuMzc2IDAtMjkuNjk5IDEzLjMyMy0yOS42OTkgMjkuNjk5djM1LjYxMWgtNDAuMDY4Yy0yMi40OTcgMC00MC44IDE4LjMwMy00MC44IDQwLjh2MzY1LjA5YzAgMjIuNDk3IDE4LjMwMyA0MC44IDQwLjggNDAuOGgyMjMuOWMzLjg5MiAwIDcuNzMxLS41NTMgMTEuNDQyLTEuNjM2IDYuMjQ4IDEuMDcxIDEyLjY2NyAxLjYzNiAxOS4yMTYgMS42MzYgNjIuNTI0IDAgMTEzLjM5Mi01MC44NjcgMTEzLjM5Mi0xMTMuMzkyIDAtNjIuNTI0LTUwLjg2Ny0xMTMuMzkxLTExMy4zOTItMTEzLjM5MXptLTE5OS40OTEtMjU1LjUxOGMwLTguMTA1IDYuNTk0LTE0LjY5OSAxNC42OTktMTQuNjk5aDg0LjM2N2M4LjEwNSAwIDE0LjY5OSA2LjU5NCAxNC42OTkgMTQuNjk5djM1LjYxMWgtMTEzLjc2NXptLTQzLjg0NyAzMzQuNDcxYy0yLjAwMiAwLTMuNjMtMS42MDItMy42My0zLjU3di00NC4yN2MwLTEuOTY5IDEuNjI4LTMuNTcgMy42My0zLjU3aDE2OS4zNDFjLTE1LjY2NiAxMy41MjEtMjcuNiAzMS4yNS0zNC4wNDEgNTEuNDF6bTI0My4zMzggMTMyLjgzYy01NC4yNTMgMC05OC4zOTItNDQuMTM4LTk4LjM5Mi05OC4zOTIgMC01NC4yNTMgNDQuMTM5LTk4LjM5MSA5OC4zOTItOTguMzkxczk4LjM5MiA0NC4xMzggOTguMzkyIDk4LjM5MWMwIDU0LjI1NC00NC4xMzkgOTguMzkyLTk4LjM5MiA5OC4zOTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Ceiling Spotlights":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDc0IDc0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDYuNDQgNGgtMi45N2ExIDEgMCAwIDEgMC0yaDIuOTdhMSAxIDAgMCAxIDAgMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNjguNjQgMTAuMzhoLTYzLjI4YTEgMSAwIDAgMSAtMS0xdi02LjM4YTEgMSAwIDAgMSAxLTFoMjEuMmExIDEgMCAwIDEgMCAyaC0yMC4ydjQuMzhoNjEuMjh2LTQuMzhoLTE0LjJhMSAxIDAgMCAxIDAtMmgxNS4yYTEgMSAwIDAgMSAxIDF2Ni4zOGExIDEgMCAwIDEgLTEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYuNDcgNGgtMi45MWExIDEgMCAwIDEgMC0yaDIuOTFhMSAxIDAgMCAxIDAgMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcgNTEuMjA3YTEgMSAwIDAgMSAtMS0xdi00MC44MjhhMSAxIDAgMSAxIDIgMHY0MC44MjhhMSAxIDAgMCAxIC0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ2Ljc3MSA2Ny4wN2gtMTkuNTQyYTEgMSAwIDAgMSAtLjk3Ny0xLjIxNWwzLjQ5LTE1Ljg1NWExIDEgMCAwIDEgLjk3Ny0uNzg1aDEyLjU2MmExIDEgMCAwIDEgLjk3Ny43ODVsMy40OSAxNS44NmExIDEgMCAwIDEgLS45NzcgMS4yMTV6bS0xOC4zLTJoMTcuMDU2bC0zLjA0OS0xMy44NmgtMTAuOTU2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyA3MmE1LjkzNiA1LjkzNiAwIDAgMSAtNS45My01LjkzIDEgMSAwIDAgMSAyIDAgMy45MyAzLjkzIDAgMCAwIDcuODYgMCAxIDEgMCAwIDEgMiAwIDUuOTM2IDUuOTM2IDAgMCAxIC01LjkzIDUuOTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTYwLjQxNiAzNS4xMTRhMSAxIDAgMCAxIC0xLTF2LTI0LjczNWExIDEgMCAwIDEgMiAwdjI0LjczNWExIDEgMCAwIDEgLTEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjkuNiA1MC4wMjZoLTE4LjM3YTEgMSAwIDAgMSAtLjk3Ni0xLjIxNWwzLjI4LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgwOWExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgybC0yLjgzOS0xMi45MDloLTEwLjJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTYwLjQxNiA1NC42NmE1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQtNS42MzQgMSAxIDAgMSAxIDIgMCAzLjYzNCAzLjYzNCAwIDEgMCA3LjI2OCAwIDEgMSAwIDEgMSAyIDAgNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0IDUuNjM0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMy41ODQgMzUuMTE0YTEgMSAwIDAgMSAtMS0xdi0yNC43MzVhMSAxIDAgMCAxIDIgMHYyNC43MzVhMSAxIDAgMCAxIC0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyLjc3IDUwLjAyNmgtMTguMzdhMSAxIDAgMCAxIC0uOTc2LTEuMjE1bDMuMjc2LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgxMmExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgxbC0yLjgzOS0xMi45MDloLTEwLjIwM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTMuNTg0IDU0LjY2YTUuNjQxIDUuNjQxIDAgMCAxIC01LjYzNC01LjYzNCAxIDEgMCAwIDEgMiAwIDMuNjM0IDMuNjM0IDAgMCAwIDcuMjY4IDAgMSAxIDAgMCAxIDIgMCA1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQgNS42MzR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Chandelier:hfe,Climate:zfe,"Coffee Makers":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NjYgMTExLjk5NmgtNDkuNzE5bC0xMDkuMjE1LTQ2LjM2MSA0Ljg4OS01NC43NDZjLjI1LTIuNzk2LS42ODctNS41NjgtMi41ODItNy42MzktMS44OTQtMi4wNy00LjU3Mi0zLjI1LTcuMzc4LTMuMjVoLTYwYy0yLjgwNyAwLTUuNDg0IDEuMTgtNy4zNzkgMy4yNS0xLjg5NSAyLjA3MS0yLjgzMSA0Ljg0My0yLjU4MiA3LjYzOWw0Ljg5OCA1NC44NTQtMTA0Ljc5NSA0Ni4yNTNoLTI2LjEzN2MtMzguNTk4IDAtNzAgMzEuNDAyLTcwIDcwdjY5Ljk5N2MwIDE2LjU0MiAxMy40NTggMzAgMzAgMzBzMzAtMTMuNDU4IDMwLTMwdi02OS45OTdjMC01LjQyIDQuNTgtMTAgMTAtMTBoMjYuOTE1bDIxLjQ4MyAxMjEuNzM4YzEuOTI3IDEwLjkyMyA5LjkwNCAxOC4yNjMgMTkuODQ4IDE4LjI2M3Y0MC4wMDNjLTkuNjUyIDAtMTcuMjE3IDYuODAyLTE5Ljc0NCAxNy43NTFsLTMwLjAwMSAxMzBjLS42ODUgMi45NjkuMDIxIDYuMDg5IDEuOTE4IDguNDc0czQuNzc4IDMuNzc0IDcuODI2IDMuNzc0aDI4MGMzLjA0NyAwIDUuOTI5LTEuMzkgNy44MjYtMy43NzQgMS44OTctMi4zODUgMi42MDQtNS41MDUgMS45MTgtOC40NzRsLTMwLjAwMS0xMzBjLTIuNTI1LTEwLjk0OS0xMC4wOTEtMTcuNzUxLTE5Ljc0My0xNy43NTF2LTQwLjAwMmM5Ljk0NCAwIDE3LjkyLTcuMzM5IDE5Ljg0Ny0xOC4yNjJsMTQuMzgxLTgxLjQ5MiA2NC4wNTYtNTUuMjM2YzIuMjAzLTEuODk5IDMuNDctNC42NjUgMy40Ny03LjU3M3YtMjcuNDM4Yy4wMDEtNS41MjQtNC40NzctMTAuMDAxLTkuOTk5LTEwLjAwMXptLTE3NC45MzgtOTEuOTk2LTMuNzUgNDEuOTk2aC0zMC42MzRsLTMuNzUxLTQxLjk5NnptLTQxLjQyMyA2MS45OTZoNDQuNzg1bDcwLjY3MiAzMGgtMTgzLjQyOHptLTE0My42MzkgNzAuMDAxYy0xNi41NDIgMC0zMCAxMy40NTgtMzAgMzB2NjkuOTk3YzAgNS41MTQtNC40ODYgMTAtMTAgMTBzLTEwLTQuNDg2LTEwLTEwdi02OS45OTdjMC0yNy41NyAyMi40My01MCA1MC01MGgxOS44NTZsMy41MyAyMHptNjguMDk0IDEzOC4yNjMtMjcuOTI5LTE1OC4yNjRoNjIuNzYybDIuNTI4IDM1LjgxN2MuMzcyIDUuMjcgNC43NjIgOS4yOTYgOS45NjUgOS4yOTYuMjM2IDAgLjQ3NS0uMDA4LjcxNC0uMDI1IDUuNTA5LS4zODkgOS42Ni01LjE3IDkuMjcxLTEwLjY3OWwtMi40MjktMzQuNDA5aDkwLjUzOWwtMTEuMjk1IDE2MC4wMDJoLTY3Ljk0OWwtMi41MjktMzUuODE3Yy0uMzg5LTUuNTA5LTUuMTY2LTkuNjYxLTEwLjY3OS05LjI3MS01LjUwOS4zODktOS42NiA1LjE3LTkuMjcxIDEwLjY3OWwyLjQyOSAzNC40MDloLTQ1LjUxOGMtLjE5OS0uMzIxLS40NjMtLjkxNC0uNjA5LTEuNzM4em0tLjEwMyA4My45ODhjLjI1OS0xLjEyNS42MS0xLjg1Ny44NTMtMi4yNDloNDUuMzZsLTExLjA3NyAxMjBoLTYyLjMxem0xMzQuMjEyLTIuMjQ4IDExLjA3NyAxMjBoLTkwLjA2OWwxMS4wNzctMTIwem02Ni4yOTcgMi4yNDggMjcuMTc1IDExNy43NTJoLTYyLjMxbC0xMS4wNzctMTIwaDQ1LjM2Yy4yNDMuMzkxLjU5MyAxLjEyMy44NTIgMi4yNDh6bS0yMC4yNTUtMjIuMjQ4aC0xNTkuOTk4di00MC4wMDJoMTU5Ljk5OHptMjAuMTUxLTYxLjc0Yy0uMTQ2LjgyNC0uNDA5IDEuNDE3LS42MDggMS43MzdoLTQ1LjUxOGwxMS4yOTUtMTYwLjAwMWg2Mi43NjJsLTEyLjkzNyA3My4zMDljMCAuMDAxIDAgLjAwMi0uMDAxLjAwM3ptODEuNjA0LTE0NS40MDctNDIuMDI5IDM2LjI0MiA4LjY2NS00OS4wOTloMzMuMzY0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMjQuNTk5IDIyMS45OTdjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBoLS4wMDdjLTUuNTIzIDAtOS45OTYgNC40NzctOS45OTYgMTBzNC40OCAxMCAxMC4wMDMgMTB6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Cold Water":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3NSA0NzUiID4KPGcgZmlsbD0iY3VycmVudENvbG9yIj4KCTxwYXRoIGQ9Ik00MzguNDEzLDM0My4xODhDNDI4LjA1OSwzMzUuMDg1LDQxNS4xNzQsMzI1LDM5MC44MzUsMzI1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3NywxOC4xODgKCQlDMzM0LjQ5NiwzNTAuMDQ1LDMyOC4xNjUsMzU1LDMxNC4xNywzNTVjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzQzI3NC43MjksMzM1LjA4NSwyNjEuODQ0LDMyNSwyMzcuNTA2LDMyNQoJCWMtMjQuMzM5LDAtMzcuMjI0LDEwLjA4NS00Ny41NzgsMTguMTg4QzE4MS4xNjYsMzUwLjA0NSwxNzQuODM0LDM1NSwxNjAuODQsMzU1Yy0xMy45OTYsMC0yMC4zMjctNC45NTUtMjkuMDktMTEuODEzCgkJQzEyMS4zOTUsMzM1LjA4NCwxMDguNTA5LDMyNSw4NC4xNywzMjVjLTI0LjMzOSwwLTM3LjIyNSwxMC4wODQtNDcuNTc5LDE4LjE4OEMyNy44MjgsMzUwLjA0NSwyMS40OTYsMzU1LDcuNSwzNTV2MzAKCQljMjQuMzM5LDAsMzcuMjI1LTEwLjA4NCw0Ny41NzktMTguMTg4QzYzLjg0MiwzNTkuOTU1LDcwLjE3NCwzNTUsODQuMTcsMzU1YzEzLjk5NiwwLDIwLjMyNyw0Ljk1NSwyOS4wOTEsMTEuODEzCgkJQzEyMy42MTUsMzc0LjkxNiwxMzYuNSwzODUsMTYwLjg0LDM4NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg0LDQ3LjU3OC0xOC4xODhDMjE3LjE4LDM1OS45NTUsMjIzLjUxMSwzNTUsMjM3LjUwNiwzNTUKCQljMTMuOTk0LDAsMjAuMzI1LDQuOTU1LDI5LjA4NywxMS44MTNDMjc2Ljk0NywzNzQuOTE1LDI4OS44MzMsMzg1LDMxNC4xNywzODVjMjQuMzM4LDAsMzcuMjI0LTEwLjA4NSw0Ny41NzctMTguMTg4CgkJQzM3MC41MSwzNTkuOTU1LDM3Ni44NDEsMzU1LDM5MC44MzUsMzU1YzEzLjk5NSwwLDIwLjMyNSw0Ljk1NSwyOS4wODgsMTEuODEzQzQzMC4yNzcsMzc0LjkxNSw0NDMuMTYyLDM4NSw0NjcuNSwzODV2LTMwCgkJQzQ1My41MDYsMzU1LDQ0Ny4xNzUsMzUwLjA0NSw0MzguNDEzLDM0My4xODh6Ii8+Cgk8cGF0aCBkPSJNMzkwLjgzNSw0MTVjLTI0LjMzOCwwLTM3LjIyNCwxMC4wODUtNDcuNTc3LDE4LjE4OEMzMzQuNDk2LDQ0MC4wNDUsMzI4LjE2NSw0NDUsMzE0LjE3LDQ0NQoJCWMtMTMuOTk0LDAtMjAuMzI1LTQuOTU1LTI5LjA4Ny0xMS44MTNDMjc0LjcyOSw0MjUuMDg1LDI2MS44NDQsNDE1LDIzNy41MDYsNDE1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3OCwxOC4xODgKCQlDMTgxLjE2Niw0NDAuMDQ1LDE3NC44MzQsNDQ1LDE2MC44NCw0NDVjLTEzLjk5NiwwLTIwLjMyNy00Ljk1NS0yOS4wOS0xMS44MTNDMTIxLjM5NSw0MjUuMDg0LDEwOC41MDksNDE1LDg0LjE3LDQxNQoJCWMtMjQuMzM5LDAtMzcuMjI1LDEwLjA4NC00Ny41NzksMTguMTg4QzI3LjgyOCw0NDAuMDQ1LDIxLjQ5Niw0NDUsNy41LDQ0NXYzMGMyNC4zMzksMCwzNy4yMjUtMTAuMDg0LDQ3LjU3OS0xOC4xODgKCQlDNjMuODQyLDQ0OS45NTUsNzAuMTc0LDQ0NSw4NC4xNyw0NDVjMTMuOTk2LDAsMjAuMzI3LDQuOTU1LDI5LjA5MSwxMS44MTNDMTIzLjYxNSw0NjQuOTE2LDEzNi41LDQ3NSwxNjAuODQsNDc1CgkJYzI0LjMzOCwwLDM3LjIyNC0xMC4wODQsNDcuNTc4LTE4LjE4OEMyMTcuMTgsNDQ5Ljk1NSwyMjMuNTExLDQ0NSwyMzcuNTA2LDQ0NWMxMy45OTQsMCwyMC4zMjUsNC45NTUsMjkuMDg3LDExLjgxMwoJCUMyNzYuOTQ3LDQ2NC45MTUsMjg5LjgzMyw0NzUsMzE0LjE3LDQ3NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg1LDQ3LjU3Ny0xOC4xODhDMzcwLjUxLDQ0OS45NTUsMzc2Ljg0MSw0NDUsMzkwLjgzNSw0NDUKCQljMTMuOTk1LDAsMjAuMzI1LDQuOTU1LDI5LjA4OCwxMS44MTNDNDMwLjI3Nyw0NjQuOTE1LDQ0My4xNjIsNDc1LDQ2Ny41LDQ3NXYtMzBjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzCgkJQzQyOC4wNTksNDI1LjA4NSw0MTUuMTc0LDQxNSwzOTAuODM1LDQxNXoiLz4KCTxwb2x5Z29uIHBvaW50cz0iMTg0LjM3OCwyNTguMzIzIDIyMi41LDIzNi4zMTMgMjIyLjUsMjgwLjMzMyAyNTIuNSwyODAuMzMzIDI1Mi41LDIzNi4zMTMgMjkwLjYyMiwyNTguMzIzIDMwNS42MjIsMjMyLjM0MwoJCTI2Ny41LDIxMC4zMzMgMzA1LjYyMiwxODguMzIzIDI5MC42MjIsMTYyLjM0MyAyNTIuNSwxODQuMzUzIDI1Mi41LDE0MC4zMzMgMjIyLjUsMTQwLjMzMyAyMjIuNSwxODQuMzUzIDE4NC4zNzgsMTYyLjM0MwoJCTE2OS4zNzgsMTg4LjMyMyAyMDcuNSwyMTAuMzMzIDE2OS4zNzgsMjMyLjM0MyAJCQkiLz4KCTxwb2x5Z29uIHBvaW50cz0iMjQuMDk1LDExNy45OSA2Mi4yMTYsOTUuOTggNjIuMjE2LDE0MCA5Mi4yMTYsMTQwIDkyLjIxNiw5NS45OCAxMzAuMzM4LDExNy45OSAxNDUuMzM4LDkyLjAxIDEwNy4yMTYsNzAKCQkxNDUuMzM4LDQ3Ljk5IDEzMC4zMzgsMjIuMDEgOTIuMjE2LDQ0LjAyIDkyLjIxNiwwIDYyLjIxNiwwIDYyLjIxNiw0NC4wMiAyNC4wOTUsMjIuMDEgOS4wOTUsNDcuOTkgNDcuMjE3LDcwIDkuMDk1LDkyLjAxCgkJIi8+Cgk8cG9seWdvbiBwb2ludHM9IjM0NC42NjIsMTE3Ljk5IDM4Mi43ODQsOTUuOTggMzgyLjc4NCwxNDAgNDEyLjc4NCwxNDAgNDEyLjc4NCw5NS45OCA0NTAuOTA1LDExNy45OSA0NjUuOTA1LDkyLjAxIDQyNy43ODMsNzAKCQk0NjUuOTA1LDQ3Ljk5IDQ1MC45MDUsMjIuMDEgNDEyLjc4NCw0NC4wMiA0MTIuNzg0LDAgMzgyLjc4NCwwIDM4Mi43ODQsNDQuMDIgMzQ0LjY2MiwyMi4wMSAzMjkuNjYyLDQ3Ljk5IDM2Ny43ODQsNzAKCQkzMjkuNjYyLDkyLjAxIAkJCSIvPgo8L2c+Cjwvc3ZnPgo=",Computer:wfe,Consumption:Cfe,Curtains:Ife,Dishwashers:pfe,Doors:Afe,Doorstep:mfe,Dryer:Ofe,Fan:Efe,"Floor Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNzcuMDE4IDEwNC40LTU0Ljg2MS05My40MTZjLTMuOTgtNi43NzUtMTEuMzM0LTEwLjk4NC0xOS4xOTEtMTAuOTg0aC05MS42NTVjLTcuNjk3IDAtMTQuOTczIDQuMDc5LTE4Ljk4NyAxMC42NDRsLTU3LjEzNSA5My40MTRjLTkuMDU1IDE0LjgwMyAxLjYyNiAzMy44NyAxOC45ODcgMzMuODdoMjguMTgyYzIuMjIyIDMzLjQ1MiAyNi44MDggNjAuODg0IDU4LjkxNiA2Ny40MS0uMjc0IDEuODI2LS4xODQtMTMuNTEtLjE4NCAyMTcuMTk1aC0zNy40ODRjLTExLjg5OCAwLTIxLjU3OSA5LjY4LTIxLjU3OSAyMS41Nzl2NDYuMzFjMCAxMS44OTggOS42OCAyMS41NzkgMjEuNTc5IDIxLjU3OWgxMDQuNzljMTEuODk5IDAgMjEuNTc5LTkuNjggMjEuNTc5LTIxLjU3OXYtNDYuMzFjMC0xMS44OTgtOS42OC0yMS41NzktMjEuNTc5LTIxLjU3OWgtMzcuNDg0YzAtMjMwLjc2Ni4wOS0yMTUuMzctLjE4NC0yMTcuMTk1IDIyLjAyNS00LjQ3NiA0MC41MDUtMTguNzk1IDUwLjY2Ni0zOC4xNDF2MzcuNjMxYzAgOC4yMzUgNi42NzYgMTQuOTExIDE0LjkxMSAxNC45MTFzMTQuOTExLTYuNjc2IDE0LjkxMS0xNC45MTF2LTY2LjloNi42MWMxNy4xNjYgMCAyNy44OTMtMTguNzA4IDE5LjE5Mi0zMy41Mjh6bS03Ni44NjYgMzc3Ljc3OGgtODguMzAydi0yOS44MjJoODguMzAyem0tODQuNTk5LTQ1Mi4zNTZoODMuMDgzbDQ1Ljk3NCA3OC4yODRjLTcuMDYxIDAtMTY5LjkwMyAwLTE3Ni45MzggMHptNDAuNDQ3IDE0Ny4xNzJjLTIyLjU5NSAwLTQxLjI2Ny0xNy4xMTctNDMuNzI5LTM5LjA2Nmg4Ny40NThjLTIuNDYyIDIxLjk0OS0yMS4xMzQgMzkuMDY2LTQzLjcyOSAzOS4wNjZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Garage Doors":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDcyLDY0YzQuNDE4LDAsOC0zLjU4Miw4LThWOGMwLTQuNDE4LTMuNTgyLTgtOC04SDhDMy41ODIsMCwwLDMuNTgyLDAsOHY0OGMwLDQuNDE4LDMuNTgyLDgsOCw4aDE2djQwMEg4CgkJYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ2NGM0LjQxOCwwLDgtMy41ODIsOC04cy0zLjU4Mi04LTgtOGgtMTZWNjRINDcyeiBNNDA4LDQ2NEg3MnYtNDhoMzM2VjQ2NHogTTQwOCw0MDBINzJ2LTQ4CgkJaDMzNlY0MDB6IE00MDgsMzM2SDcydi00OGgzMzZWMzM2eiBNNDA4LDI3Mkg3MnYtNDhoMzM2VjI3MnogTTQwOCwyMDhINzJ2LTQ4aDMzNlYyMDh6IE00MDgsMTQ0SDcyVjk2aDMzNlYxNDR6IE00NDAsNDY0aC0xNlY4OAoJCWMwLTQuNDE4LTMuNTgyLTgtOC04SDY0Yy00LjQxOCwwLTgsMy41ODItOCw4djM3Nkg0MFY2NGg0MDBWNDY0eiBNMTYsNDhWMTZoNDQ4djMySDE2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTYsNDU2aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LDMuNTgyLTgsOFMyMTEuNTgyLDQ1NiwyMTYsNDU2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Gates:ffe,Hairdryer:xfe,Handle:_fe,"Hanging Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im05My41MjUgMzU5Ljc3MWgxMDcuODg1djQuMTI5YTUzLjA3MiA1My4wNzIgMCAxIDAgMTA2LjE0NCAwdi00LjEyNGgxMTAuOTIxYTYgNiAwIDAgMCA2LTZjMC04Mi4wMTUtNTguOTEzLTE1MC41MTgtMTM2LjY0LTE2NS40NDR2LTIwLjMxOWEzMS44ODMgMzEuODgzIDAgMCAwIC0yNS44MzUtMzEuMjZ2LTEyMC43NTNhNiA2IDAgMCAwIC0xMiAwdjEyMC43NTNhMzEuODgzIDMxLjg4MyAwIDAgMCAtMjUuODM1IDMxLjI2djIwLjMxNGMtNzcuNzI3IDE0LjkyNi0xMzYuNjQgODMuNDI5LTEzNi42NCAxNjUuNDQ0YTYgNiAwIDAgMCA2IDZ6bTIwMi4wMjkgNC4xMjlhNDEuMDcyIDQxLjA3MiAwIDEgMSAtODIuMTQ0IDB2LTQuMTI0aDgyLjE0NHptLTM5LjU1NC0yMTUuNzIyYTE5Ljg1MSAxOS44NTEgMCAwIDEgMTkuMTggMTQuODY4aC0zOC4zNmExOS44NTEgMTkuODUxIDAgMCAxIDE5LjE4LTE0Ljg2OHptLTE5LjgzNSAyNi44NjhoMzkuNjd2MTEuNDI0YTE2OC4yODggMTY4LjI4OCAwIDAgMCAtMzkuNjcgMHptMTkuODM1IDIyLjI1NGM4NC4yNzQgMCAxNTMuMiA2Ni45NiAxNTYuMzYxIDE1MC40NzRoLTMxMi43MjJjMy4xNjEtODMuNTE3IDcyLjA4Ny0xNTAuNDc0IDE1Ni4zNjEtMTUwLjQ3NHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjUwIDQ1NS41MDh2NDAuNDkyYTYgNiAwIDAgMCAxMiAwdi00MC40OTJhNiA2IDAgMCAwIC0xMiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDMuNDIyIDQzMS40ODhhNiA2IDAgMCAwIC0uMDc1IDguNDg1bDI4LjM0NCAyOC44NTFhNiA2IDAgMCAwIDguNTYxLTguNDFsLTI4LjM0NC0yOC44NTFhNiA2IDAgMCAwIC04LjQ4Ni0uMDc1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAuMDkyIDQzMS41NjMtMjguMzQ0IDI4Ljg1MWE2IDYgMCAwIDAgOC41NjEgOC40MWwyOC4zNDQtMjguODUxYTYgNiAwIDAgMCAtOC41NjEtOC40MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTg2Ljc1IDIzNi44MWExNjguNzMxIDE2OC43MzEgMCAwIDAgLTQ1LjkyNyA0OC4xNDMgNiA2IDAgMSAwIDEwLjE0MSA2LjQxNyAxNTYuNzgxIDE1Ni43ODEgMCAwIDEgNDIuNjc3LTQ0LjczNiA2IDYgMCAwIDAgLTYuODkxLTkuODI0eiIvPgogICAgPC9nPgo8L3N2Zz4=",Heater:Sfe,Hoods:kfe,"Hot Water":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMCA1MTAiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTUgMjQxLjkwMmMtMTguMjIzIDAtMzMuMzU4LTUuOTM3LTQ1LjA5Mi0xNy42MnYtMTQ5LjM1NGMwLTQxLjMxNS0zMy42MTMtNzQuOTI4LTc0LjkyOS03NC45MjhzLTc0LjkyOCAzMy42MTMtNzQuOTI4IDc0LjkyOHYxNDkuMzk1Yy0yNC4yNTQgMjQuMTA3LTY5LjQ3NiAyNC40MTUtOTMuNjYzLTMuODAzLTUuOTgxLTYuOTc4LTE2Ljc5My02Ljk4Mi0yMi43NzcgMC0yNC41ODYgMjguNjg1LTcyLjUzOCAyOC43OTgtOTcuMjIzIDAtNi4zMjItNy4zNzgtMTcuODY3LTYuODY3LTIzLjUzNy45NjMtLjE0OC4yMDQtMTUuNjg4IDIwLjQxOC00Ny44NTIgMjAuNDE4LTguMjg0IDAtMTUgNi43MTYtMTUgMTVzNi43MTYgMTUgMTUgMTVjMjguNjMyIDAgNDguNDg5LTExLjI4IDYwLjAyNy0yMC42MjQgMzMuNDQ3IDI3LjYxNSA4Ni41MTIgMjcuNjI1IDExOS45NzMtLjAyMiAzMC4xOTEgMjQuOTQ0IDc0LjM2MiAyNi4xNzkgMTA1LjA1MiA5Ljk1N3Y0MC40NzFjLTI3Ljk4NCAyMy4xMzEtNDMuODExIDU3Ljg3OC00Mi42NTggOTQuNDUzIDEuOTc0IDYyLjcyOCA1My43NDMgMTEzLjg2NCAxMTcuNTg2IDExMy44NjQgNjQuODcxIDAgMTE3LjY0Ny01Mi43NzYgMTE3LjY0Ny0xMTcuNjQ2IDAtMzUuMDctMTUuODM3LTY4LjQwNi00Mi43MTktOTAuNjY2di00MC40OTdjMTMuMzI1IDcuMDUyIDI4LjUxNyAxMC43MSA0NS4wOTIgMTAuNzEgOC4yODQgMCAxNS02LjcxNiAxNS0xNXMtNi43MTUtMTQuOTk5LTE0Ljk5OS0xNC45OTl6bS0xMjAuMDItMjExLjkwMmMyNC43NzMgMCA0NC45MjggMjAuMTU1IDQ0LjkyOCA0NC45Mjh2MTQ5LjUzN2MtOC4zMTQgOC4yMTEtMTguMzI3IDEzLjU1MS0yOS45MjkgMTUuOTUzdi0xNDMuOTU3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVzLTE1IDYuNzE2LTE1IDE1djE0My45NDdjLTExLjYwMy0yLjQwOS0yMS42MTUtNy43NTktMjkuOTI4LTE1Ljk4M3YtMTQ5LjQ5N2MuMDAxLTI0Ljc3MyAyMC4xNTYtNDQuOTI4IDQ0LjkyOS00NC45Mjh6bS0uMDAxIDM0My41MDRjMTAuNTMyIDAgMTkuMTAxIDguNTY4IDE5LjEwMSAxOS4xcy04LjU2OCAxOS4xLTE5LjEwMSAxOS4xYy0xMC41MzEgMC0xOS4xLTguNTY4LTE5LjEtMTkuMXM4LjU2OS0xOS4xIDE5LjEtMTkuMXptODcuNjQ4IDE4Ljg1YzAgNDguMzI5LTM5LjMxOCA4Ny42NDYtODcuNjQ3IDg3LjY0Ni00Ni44MzEgMC04Ni4xMjktMzguMDQ0LTg3LjYwMi04NC44MDgtLjkyLTI5LjIxOCAxMi43MDQtNTYuODc1IDM2LjQ0My03My45ODEgMy45MTItMi44MTkgNi4yMy03LjM0NyA2LjIzLTEyLjE2OXYtNDcuNzc0YzkuMTQ4IDQuODIgMTkuMTc3IDguMDMzIDI5LjkyOCA5LjU2OHY3NS4wMmMtMTkuNzU4IDYuMzU1LTM0LjEgMjQuOTA1LTM0LjEgNDYuNzQ4IDAgMjcuMDc0IDIyLjAyNiA0OS4xIDQ5LjEgNDkuMXM0OS4xMDEtMjIuMDI2IDQ5LjEwMS00OS4xYzAtMjEuODQzLTE0LjM0Mi00MC4zOTMtMzQuMTAxLTQ2Ljc0OHYtNzUuMDE0YzEwLjc1LTEuNTMxIDIwLjc4LTQuNzM4IDI5LjkyOS05LjU1MnY0Ny43NTNjMCA0LjgyMiAyLjMxOCA5LjM1MSA2LjIzIDEyLjE2OSAyMi44NDggMTYuNDYzIDM2LjQ4OSA0My4wNTkgMzYuNDg5IDcxLjE0MnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc4LjE5IDMwOC4zMzJjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNzMuODU3IDM3OS4xMTdjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjQuODYzIDE1NC4xNDNjLTUuODU4IDUuODU4LTUuODU4IDE1LjM1NSAwIDIxLjIxMyA1Ljg1NyA1Ljg1NyAxNS4zNTUgNS44NTggMjEuMjEzIDAgMjEuMDQ2LTIxLjA0NiAyMS4wNDYtNTUuMjkxIDAtNzYuMzM4LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ny01Ljg1OC0xNS4zNTUtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzQ5IDkuMzQ5IDkuMzQ5IDI0LjU2MSAwIDMzLjkxMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTQyLjI1MSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcxIDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjE5LjYzOSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcgOS4zNzEgOS4zNzMgMjQuNTM5IDAgMzMuOTEyeiIvPgogICAgPC9nPgo8L3N2Zz4=",Humidity:Yfe,Iron:vfe,Irrigation:bfe,"Led Strip":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMTYgMThhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2IDI2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNiA0MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgNTBhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2IDU4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNiAzNGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTIgNjJoOGExIDEgMCAwIDAgMS0xdi00OWg2djQxYTEgMSAwIDAgMCAuMjkzLjcwN2w4IDhhMSAxIDAgMCAwIC43MDcuMjkzaDhhMSAxIDAgMCAwIC43MDctLjI5M2w4LThhMSAxIDAgMCAwIC4yOTMtLjcwN3YtNTBhMSAxIDAgMCAwIC0xLTFoLThhMSAxIDAgMCAwIC0xIDF2NDloLTZ2LTQ5YTEgMSAwIDAgMCAtMS0xaC0xNmExIDEgMCAwIDAgLS43MDcuMjkzbC04IDhhMSAxIDAgMCAwIC0uMjkzLjcwN3Y1MGExIDEgMCAwIDAgMSAxem0zMy0xM3YtNDVoNnY0OC41ODZsLTYgNnptLTggNWg2djZoLTZ6bS04LTV2LTQ1aDZ2NTQuNTg2bC02LTZ6bS04LTQ1aDZ2NmgtNnptLTggNTF2LTQzLjU4Nmw2LTZ2NTQuNTg2aC02eiIvPgogICAgICAgIDxwYXRoIGQ9Im00OCA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggNDRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4IDI4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im00OCAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggMTJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4IDM2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMiA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgNDRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDI4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMiAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgMTJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDM2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMyA2aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzkgNTZoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00IDMxaDV2MmgtNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNiAyNWgydjVoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNiAtLjggLjggLjYgLTE5LjIgMTYuNikiLz4KICAgICAgICA8cGF0aCBkPSJtNC41IDM1LjVoNXYyaC01eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjggLS42IC42IC44IC0yMC41MDUgMTEuNTA1KSIvPgogICAgICAgIDxwYXRoIGQ9Im01NSAzMWg1djJoLTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU0LjUgMjYuNWg1djJoLTV6IiB0cmFuc2Zvcm09Im1hdHJpeCguOCAtLjYgLjYgLjggLTUuMDk4IDM5LjcxMikiLz4KICAgICAgICA8cGF0aCBkPSJtNTYgMzRoMnY1aC0yeiIgdHJhbnNmb3JtPSJtYXRyaXgoLjYgLS44IC44IC42IC02LjQgNjAuMikiLz4KICAgIDwvZz4KPC9zdmc+",Light:Qfe,Lightings:Ufe,Lock:$fe,Louvre:Pfe,"Mowing Machine":"PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NyA1NGM1LjUxNCAwIDEwLTQuNDg2IDEwLTEwcy00LjQ4Ni0xMC0xMC0xMC0xMCA0LjQ4Ni0xMCAxMCA0LjQ4NiAxMCAxMCAxMHptLTcuOTMxLTExYy4xODMtMS40NTguNzU5LTIuNzkyIDEuNjE5LTMuODk4bDEuMzYyIDEuMzYzIDEuNDE0LTEuNDE0LTEuMzYyLTEuMzYyYzEuMTA2LS44NiAyLjQ0LTEuNDM2IDMuODk4LTEuNjE5djEuOTNoMnYtMS45MzFjMS40NTguMTgzIDIuNzkyLjc1OSAzLjg5OCAxLjYxOWwtMS4zNjIgMS4zNjIgMS40MTQgMS40MTQgMS4zNjItMS4zNjNjLjg2IDEuMTA2IDEuNDM2IDIuNDQgMS42MTkgMy44OThoLTEuOTMxdjJoMS45MzFjLS4xODMgMS40NTgtLjc1OSAyLjc5Mi0xLjYxOSAzLjg5OGwtMS4zNjItMS4zNjMtMS40MTQgMS40MTQgMS4zNjIgMS4zNjJjLTEuMTA2Ljg2LTIuNDQgMS40MzYtMy44OTggMS42MTl2LTEuOTI5aC0ydjEuOTMxYy0xLjQ1OC0uMTgzLTIuNzkyLS43NTktMy44OTgtMS42MTlsMS4zNjItMS4zNjItMS40MTQtMS40MTQtMS4zNjIgMS4zNjNjLS44Ni0xLjEwNi0xLjQzNi0yLjQ0LTEuNjE5LTMuODk4aDEuOTMxdi0yaC0xLjkzMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNTcgMjFoLTI0Ljk4Yy0xLjUxMSAwLTIuOTg0LjQyNi00LjI2MiAxLjIyOWwtMjIuMDIxIDEzLjg2NmMtMi4zNCAxLjQ3My0zLjczNyA0LjAwNS0zLjczNyA2Ljc2OXY2LjEzNmMwIC41NTMuNDQ4IDEgMSAxaDMzLjA4OGMuMzQxIDAgLjY1OC0uMTc0Ljg0Mi0uNDYuMTg0LS4yODcuMjA5LS42NDcuMDY3LS45NTctLjc1LTEuNjM1LTEuMDgtMy4zODctLjk3OS01LjIwOC4zMDktNS41OTEgNC45MzYtMTAuMTQ1IDEwLjUzNS0xMC4zNjYgMy4wMjgtLjExNiA1Ljg5Mi45NjcgOC4wNjkgMy4wNiAyLjE3OCAyLjA5MyAzLjM3OCA0LjkxIDMuMzc4IDcuOTMxIDAgLjU1My40NDggMSAxIDFoM2MuNTUyIDAgMS0uNDQ3IDEtMXYtMTdjMC0zLjMwOS0yLjY5MS02LTYtNnptLTI4LjE3NyAyLjkyM2MuOTU5LS42MDQgMi4wNjQtLjkyMyAzLjE5Ny0uOTIzaDEwLjM3bC04LjM5MSA1LjAzNXYtLjAzNWgtMTEuNjUxem0tMjIuMDIgMTMuODY0IDEyLjM2OC03Ljc4N2gxMS41NTJsLTE4LjIzMyAxMC45NGMtMS4xNTcuNjk0LTIuNDggMS4wNi0zLjgyNyAxLjA2aC00LjU5NmMuMjQ4LTEuNzI4IDEuMjI5LTMuMjYzIDIuNzM2LTQuMjEzem01NC4xOTcgNS4yMTNoLTEuMDM4Yy0uMjM5LTMuMTg4LTEuNjIzLTYuMTMyLTMuOTU1LTguMzc0LTIuNTczLTIuNDczLTUuOTYzLTMuNzUtOS41MzQtMy42MTUtNi4xOS4yNDUtMTEuMzc0IDQuOTctMTIuMzE3IDEwLjk4OWgtMTcuMTU2djJoMTcuMDEzYy4wMDIgMS4zNjEuMjAyIDIuNzE1LjYxNSA0aC0zMC42Mjh2LTRoNC42NjNjMS43MDkgMCAzLjM4OS0uNDY1IDQuODU2LTEuMzQ1bDMyLjc1OC0xOS42NTVoMTAuNzIzYzIuMjA2IDAgNCAxLjc5NCA0IDR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3IDQ4YzIuMjA2IDAgNC0xLjc5NCA0LTRzLTEuNzk0LTQtNC00LTQgMS43OTQtNCA0IDEuNzk0IDQgNCA0em0wLTZjMS4xMDMgMCAyIC44OTcgMiAycy0uODk3IDItMiAyLTItLjg5Ny0yLTIgLjg5Ny0yIDItMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNi42NTEgMTUuNjM1Yy0xLjc1NyAyLjEyNS0xLjQ1OCA1LjI4Mi42NjcgNy4wNGw0LjYyNCAzLjgyM2MuMTg3LjE1NC40MTIuMjI5LjYzNy4yMjkuMjg4IDAgLjU3My0uMTI0Ljc3MS0uMzYyIDEuNzU3LTIuMTI1IDEuNDU4LTUuMjgyLS42NjctNy4wNGwtNC42MjQtMy44MjNjLS40MjYtLjM1Mi0xLjA1Ni0uMjkyLTEuNDA4LjEzM3ptNS42NjIgOC41NzYtMy43MjEtMy4wNzdjLTEuMDA0LS44MzEtMS4zMjktMi4xODUtLjkwNS0zLjM0NWwzLjcyMSAzLjA3N2MxLjAwNS44MzEgMS4zMjkgMi4xODUuOTA1IDMuMzQ1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMS40NDUgOS4yMjktNC42MjQgMy44MjNjLTIuMTI1IDEuNzU4LTIuNDI0IDQuOTE2LS42NjcgNy4wNC4xOTguMjM5LjQ4My4zNjIuNzcxLjM2Mi4yMjUgMCAuNDUtLjA3NS42MzctLjIyOWw0LjYyNC0zLjgyM2MyLjEyNS0xLjc1NyAyLjQyNC00LjkxNS42NjctNy4wNC0uMzUyLS40MjQtLjk4My0uNDg0LTEuNDA4LS4xMzN6bS0uNTMzIDUuNjMyLTMuNzIyIDMuMDc4Yy0uMTUyLS40MTUtLjIxMS0uODYzLS4xNjgtMS4zMTYuMDc2LS43OTguNDU4LTEuNTE5IDEuMDc1LTIuMDI5bDMuNzIxLTMuMDc3Yy40MjMgMS4xNi4wOTkgMi41MTMtLjkwNiAzLjM0NHoiLz4KICAgIDwvZz4KPC9zdmc+",Music:Wfe,"Outdoor Blinds":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NTcgMGgtNDAyYy0zMC4zMjcgMC01NSAyNC42NzMtNTUgNTV2NDU3aDQzMnYtNDA4LjAzNWM3LjUwNyAzLjg0OCAxNiA2LjAzNSAyNSA2LjAzNSAzMC4zMjcgMCA1NS0yNC42NzMgNTUtNTVzLTI0LjY3My01NS01NS01NXptLTQwMiAzMGgzNTMuMDM1Yy0zLjg0OCA3LjUwNy02LjAzNSAxNi02LjAzNSAyNXY3aC0zNzJ2LTdjMC0xMy43ODUgMTEuMjE1LTI1IDI1LTI1em0tMjUgMjcydi0zMGgzNzJ2MzB6bTM3MiAzMHYzMGgtMzcydi0zMHptLTM3Mi05MHYtMzBoMzcydjMwem0wLTYwdi0zMGgzNzJ2MzB6bTAtNjB2LTMwaDM3MnYzMHptMCAzNjB2LTkwaDM3MnY5MHptNDI3LTQwMmMtMTMuNzg1IDAtMjUtMTEuMjE1LTI1LTI1czExLjIxNS0yNSAyNS0yNSAyNSAxMS4yMTUgMjUgMjUtMTEuMjE1IDI1LTI1IDI1eiIvPgogICAgICAgIDxwYXRoIGQ9Im02MCA0MjJoMzB2MzBoLTMweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNDIgNDIyaDMwdjMwaC0zMHoiLz4KICAgIDwvZz4KPC9zdmc+",People:Bfe,Pool:Jfe,"Power Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMTIgM2MtLjI3NiAwLS41LS4yMjQtLjUtLjV2LTJjMC0uMjc2LjIyNC0uNS41LS41cy41LjIyNC41LjV2MmMwIC4yNzYtLjIyNC41LS41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4LjcxOCA1Ljc4MmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMy41IDEyLjVoLTJjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgyYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMjAuMTMyIDIwLjYzMmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDZsLTEuNDE0LTEuNDE0Yy0uMTk1LS4xOTUtLjE5NS0uNTEyIDAtLjcwN3MuNTEyLS4xOTUuNzA3IDBsMS40MTQgMS40MTRjLjE5NS4xOTUuMTk1LjUxMiAwIC43MDctLjA5Ny4wOTctLjIyNS4xNDYtLjM1My4xNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyIDI0Yy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMy44NjggMjAuNjMyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0Ni0uMTk1LS4xOTUtLjE5NS0uNTEyIDAtLjcwN2wxLjQxNC0xLjQxNGMuMTk1LS4xOTUuNTEyLS4xOTUuNzA3IDBzLjE5NS41MTIgMCAuNzA3bC0xLjQxNCAxLjQxNGMtLjA5Ny4wOTctLjIyNS4xNDYtLjM1My4xNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIuNSAxMi41aC0yYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXMuMjI0LS41LjUtLjVoMmMuMjc2IDAgLjUuMjI0LjUuNXMtLjIyNC41LS41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUuMjgyIDUuNzgyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTMtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk4LjA5Ny0uMjI2LjE0Ni0uMzU0LjE0NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTAuNTczIDIwYy0uMDU5IDAtLjExNy0uMDEtLjE3NS0uMDMxLS4yMTktLjA4Mi0uMzUyLS4zMDQtLjMyMS0uNTM0bC44NTMtNi40MzVoLTMuNDNjLS4xODkgMC0uMzYyLS4xMDctLjQ0Ny0uMjc2cy0uMDY3LS4zNzIuMDQ3LS41MjRsNi04Yy4xMzktLjE4Ni4zODYtLjI1Mi41OTctLjE2LjIxMi4wOTEuMzM1LjMxNC4yOTcuNTQybC0uOTA0IDUuNDE4aDMuNDFjLjE4NCAwIC4zNTMuMTAxLjQ0LjI2M3MuMDc4LjM1OC0uMDIyLjUxM2wtNS45MjcgOWMtLjA5NS4xNDMtLjI1NC4yMjQtLjQxOC4yMjR6bS0yLjA3My04aDNjLjE0NSAwIC4yODEuMDYzLjM3Ni4xNzEuMDk1LjEwNy4xMzkuMjUyLjEyLjM5NWwtLjY0MSA0LjgzOCA0LjIxNy02LjQwNGgtMy4wNzJjLS4xNDcgMC0uMjg2LS4wNjQtLjM4Mi0uMTc3LS4wOTUtLjExMi0uMTM2LS4yNjEtLjExMS0uNDA1bC42NjMtMy45Nzh6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Printer:Rfe,Pump:Ffe,Receiver:Gfe,Sconces:Hfe,Security:Vfe,Shading:Zfe,Shutters:Xfe,SmokeDetector:Kfe,Sockets:qfe,Speaker:exe,Stove:txe,"Table Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im05Ny41IDIyMC4zNjEtMTUuOTE0IDE1LjkxNGE2IDYgMCAxIDAgOC40ODQgOC40ODZsMTUuOTE1LTE1LjkxNWE2IDYgMCAxIDAgLTguNDg0LTguNDg1eiIvPgogICAgICAgIDxwYXRoIGQ9Im05NS41MSAxMTdhNiA2IDAgMCAwIDQuMjQzLTEwLjI0MmwtMTUuOTE0LTE1LjkxNWE2IDYgMCAwIDAgLTguNDg2IDguNDg2bDE1LjkxNCAxNS45MTRhNS45NzggNS45NzggMCAwIDAgNC4yNDMgMS43NTd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIzNS41IDI0Mi41MDgtMTUuOTEtMTUuOTE0YTYgNiAwIDAgMCAtOC40ODYgOC40ODVsMTUuOTE0IDE1LjkxNWE2IDYgMCAwIDAgOC40ODYtOC40ODZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTg2LjgyNiAxNzFhNiA2IDAgMCAwIC02LTZoLTI0LjgzN2E2IDYgMCAwIDAgMCAxMmgyNC44MzdhNiA2IDAgMCAwIDYtNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTU1IDIzOS41MjFhNiA2IDAgMCAwIC02IDZ2MjQuODM2YTYgNiAwIDAgMCAxMiAwdi0yNC44MzZhNiA2IDAgMCAwIC02LTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzOC44NTIgNDUxLjk2OWE0MS44MzcgNDEuODM3IDAgMCAwIC00MS4xNjYtMzUuOTY5aC0yOC42ODZ2LTMyNi42ODRhNjkuMzA5IDY5LjMwOSAwIDAgMCAtMTIxLjctNDUuMzgyIDU2LjAyMiA1Ni4wMjIgMCAwIDAgLTQ4LjcwOSA2LjM0OWwtODEuNTE5IDU0LjA2OGE2IDYgMCAwIDAgLS45MjUgOS4yNDJsMjMuNDIyIDIzLjQyMy0xLjQ0MiAxLjQ0MmEzNS4xODggMzUuMTg4IDAgMCAwIDQ5Ljc2MyA0OS43NjNsMS40NDItMS40NDIgMjMuNDIyIDIzLjQyMWE2IDYgMCAwIDAgNC4yNDYgMS43NTljLjIgMCAuNC0uMDEuNi0uMDNhNiA2IDAgMCAwIDQuNC0yLjY1NGw1NC4wNjctODEuNTE5YTU2LjA4OCA1Ni4wODggMCAwIDAgMy40ODgtNTUuNjU2IDI2LjM4NiAyNi4zODYgMCAwIDEgNDYuNDQ1IDE3LjIxNnYzMjYuNjg0aC0yOS4xODJhNDIgNDIgMCAwIDAgLTQxLjM0MyAzNi4wNzYgMjYuNCAyNi40IDAgMCAwIC0yMi40NzUgMjUuOTU2djcuOTY4YTYuMjgyIDYuMjgyIDAgMCAwIDYuMzE5IDZoMjE2LjY5MmE1Ljk5MiA1Ljk5MiAwIDAgMCA1Ljk4OS02di03Ljk2OGEyNi4yNDcgMjYuMjQ3IDAgMCAwIC0yMy4xNDgtMjYuMDYzem0tMjU5LjQ1Mi0yNzIuMjM0YTIzLjE4OCAyMy4xODggMCAwIDEgLTMyLjc5My0zMi43OTJsMS40NDMtMS40NDMgMzIuNzkzIDMyLjc5M3ptMzYuNjQ4IDE2Ljc5NC04Ni4yMy04Ni4yMjkgMTguMDkzLTEyIDgwLjE0IDgwLjE0em01MC4wMTItNzUuNC0zMS4yNDYgNDcuMTEtNzYuNy03Ni43MDUgNDcuMTEtMzEuMjQ2YTQzLjg5NCA0My44OTQgMCAwIDEgNjAuODQgNjAuODQxem0zMy41MjgtNzAuMjcyYTM4LjI1MiAzOC4yNTIgMCAwIDAgLTI2LjY4OCAxMC44MjMgNTQuNjIgNTQuNjIgMCAwIDAgLTE0LjE4Ni0xMi40MzUgNTcuMzEgNTcuMzEgMCAwIDEgOTguMjg2IDQwLjA3MXYzMjYuNjg0aC0xOXYtMzI2LjY4NGEzOC40NjEgMzguNDYxIDAgMCAwIC0zOC40MDktMzguNDY0em0tMi43NyAzNzcuMTQzaDEwMC44NjhjMTQuMjU5IDAgMjYuMTk1IDExIDI4Ljk3NiAyNGgtMTU4LjgxOWMyLjc4MS0xMyAxNC43MTYtMjQgMjguOTc1LTI0em0xNTMuMTgyIDUyaC0yMDV2LTEuOTY4YTE0LjMyIDE0LjMyIDAgMCAxIDE0LjMxOS0xNC4wMzJoMTc2LjY5MmExNC4wMzQgMTQuMDM0IDAgMCAxIDEzLjk4OSAxNC4wMzJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMwNSAzODEuMDMxYTYgNiAwIDAgMCAxMiAwdi03NS44MDZhNiA2IDAgMCAwIC0xMiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTEgMjkwLjg0NGE2IDYgMCAwIDAgNi02di00LjgzNGE2IDYgMCAwIDAgLTEyIDB2NC44MzRhNiA2IDAgMCAwIDYgNnoiLz4KICAgIDwvZz4KPC9zdmc+","Temperature Sensors":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTM1MiwzODUuNDA2VjUzLjMzM0MzNTIsMjMuOTI3LDMyOC4wNzMsMCwyOTguNjY3LDBzLTUzLjMzMywyMy45MjctNTMuMzMzLDUzLjMzM3YzMzIuMDczCgkJCQlDMjMxLjcxOSwzOTkuMzY1LDIyNCw0MTguMDMxLDIyNCw0MzcuMzMzQzIyNCw0NzguNSwyNTcuNSw1MTIsMjk4LjY2Nyw1MTJjNDEuMTY3LDAsNzQuNjY3LTMzLjUsNzQuNjY3LTc0LjY2NwoJCQkJQzM3My4zMzMsNDE4LjAzMSwzNjUuNjE1LDM5OS4zNjUsMzUyLDM4NS40MDZ6IE0yOTguNjY3LDQ5MC42NjdjLTI5LjQwNiwwLTUzLjMzMy0yMy45MjctNTMuMzMzLTUzLjMzMwoJCQkJYzAtMTUuMTA0LDYuMzIzLTI5LjEyNSwxNy44MTMtMzkuNDY5YzIuMjQtMi4wMzEsMy41MjEtNC45MDYsMy41MjEtNy45MjdWNTMuMzMzYzAtMTcuNjQ2LDE0LjM1NC0zMiwzMi0zMgoJCQkJYzE3LjY0NiwwLDMyLDE0LjM1NCwzMiwzMnYzMzYuNjA0YzAsMy4wMjEsMS4yODEsNS44OTYsMy41MjEsNy45MjdDMzQ1LjY3Nyw0MDguMjA4LDM1Miw0MjIuMjI5LDM1Miw0MzcuMzMzCgkJCQlDMzUyLDQ2Ni43NCwzMjguMDczLDQ5MC42NjcsMjk4LjY2Nyw0OTAuNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDkuMzMzLDQwNy4yOThWMjI0YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42Njd2MTgzLjI5OAoJCQkJYy0xMi4zODksNC40MTgtMjEuMzMzLDE2LjE0Ny0yMS4zMzMsMzAuMDM1YzAsMTcuNjQ2LDE0LjM1NCwzMiwzMiwzMmMxNy42NDYsMCwzMi0xNC4zNTQsMzItMzIKCQkJCUMzMzAuNjY3LDQyMy40NDUsMzIxLjcyMyw0MTEuNzE2LDMwOS4zMzMsNDA3LjI5OHogTTI5OC42NjcsNDQ4Yy01Ljg4NSwwLTEwLjY2Ny00Ljc4MS0xMC42NjctMTAuNjY3CgkJCQljMC01Ljg4NSw0Ljc4MS0xMC42NjcsMTAuNjY3LTEwLjY2N2M1Ljg4NSwwLDEwLjY2Nyw0Ljc4MSwxMC42NjcsMTAuNjY3QzMwOS4zMzMsNDQzLjIxOSwzMDQuNTUyLDQ0OCwyOTguNjY3LDQ0OHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywzNDEuMzMzaC02NGMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDY0CgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzQ2LjEwNCwyMTkuMjI5LDM0MS4zMzMsMjEzLjMzMywzNDEuMzMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDI5OC42NjdIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzAzLjQzOCwyMTkuMjI5LDI5OC42NjcsMjEzLjMzMywyOTguNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDI1NkgxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMKCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwyNjAuNzcxLDIxOS4yMjksMjU2LDIxMy4zMzMsMjU2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDIzNC42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0CgkJCQljLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdTMTQzLjQzOCwyMzQuNjY3LDE0OS4zMzMsMjM0LjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTQ5LjMzMywxMDYuNjY3aDY0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3aC02NAoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMTA2LjY2NywxNDkuMzMzLDEwNi42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTcwLjY2N0gxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMKCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwxNzUuNDM4LDIxOS4yMjksMTcwLjY2NywyMTMuMzMzLDE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTI4SDE5MmMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDIxLjMzMwoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDEzMi43NzEsMjE5LjIyOSwxMjgsMjEzLjMzMywxMjh6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Tv:sxe,"Vacuum Cleaner":"PHN2ZyB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ0MCA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOC0uMDI3MzQ0LTIyLjA4MjAzMS0xNy45MTc5NjktMzkuOTcyNjU2LTQwLTQwLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LThjMzAuOTE0MDYyLjAzNTE1NiA1NS45NjQ4NDQgMjUuMDg1OTM4IDU2IDU2IDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzLTMuNTgyMDMxLTgtOC04LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04YzEzLjI1MzkwNiAwIDI0IDEwLjc0NjA5NCAyNCAyNCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04LS4wNDY4NzUtMzkuNzQ2MDk0LTMyLjI1MzkwNi03MS45NTMxMjUtNzItNzItNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOHMzLjU4MjAzMS04IDgtOGM0OC41NzgxMjUuMDU4NTkzOCA4Ny45NDE0MDYgMzkuNDIxODc1IDg4IDg4IDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOCAuMDM1MTU2LTMwLjkxNDA2MiAyNS4wODU5MzgtNTUuOTY0ODQ0IDU2LTU2IDQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4Yy0yMi4wODIwMzEuMDI3MzQ0LTM5Ljk3MjY1NiAxNy45MTc5NjktNDAgNDAgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IDAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOC04IDMuNTgyMDMxLTggOC0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LTggLjA1ODU5MzgtNDguNTc4MTI1IDM5LjQyMTg3NS04Ny45NDE0MDYyIDg4LTg4IDQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4Yy0zOS43NDYwOTQuMDQ2ODc1LTcxLjk1MzEyNSAzMi4yNTM5MDYtNzIgNzIgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0MCA0MTZjMjYuNTA3ODEyIDAgNDgtMjEuNDkyMTg4IDQ4LTQ4cy0yMS40OTIxODgtNDgtNDgtNDgtNDggMjEuNDkyMTg4LTQ4IDQ4Yy4wMjczNDQgMjYuNSAyMS41IDQ3Ljk3MjY1NiA0OCA0OHptMC04MGMxNy42NzE4NzUgMCAzMiAxNC4zMjgxMjUgMzIgMzJzLTE0LjMyODEyNSAzMi0zMiAzMi0zMi0xNC4zMjgxMjUtMzItMzIgMTQuMzI4MTI1LTMyIDMyLTMyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQwIDE4NGMxMy4yNTM5MDYgMCAyNC0xMC43NDYwOTQgMjQtMjRzLTEwLjc0NjA5NC0yNC0yNC0yNC0yNCAxMC43NDYwOTQtMjQgMjQgMTAuNzQ2MDk0IDI0IDI0IDI0em0wLTMyYzQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzE3Ljk0NTMxMiAxNTJ2LjA0Njg3NWguMDU0Njg4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE1Mmg0OHYxNmgtNDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yODAgMTUyaDQ4djE2aC00OHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0MCA0OGMtMTAxLjI2NTYyNS0uMDExNzE5LTE4OC45NDUzMTIgNzAuMzMyMDMxLTIxMC44OTA2MjUgMTY5LjE4NzUtMjEuOTQ1MzEzIDk4Ljg1OTM3NSAyNy43MzQzNzUgMTk5LjY5MTQwNiAxMTkuNDkyMTg3IDI0Mi41MzEyNSA1Ny45MjU3ODIgMjcuMDM1MTU2IDEyNC44NTE1NjMgMjcuMDM1MTU2IDE4Mi43ODEyNSAwIDkxLjc1NzgxMy00Mi44MzU5MzggMTQxLjQzMzU5NC0xNDMuNjY0MDYyIDExOS40OTIxODgtMjQyLjUyMzQzOC0yMS45NDE0MDYtOTguODU1NDY4LTEwOS42MTMyODEtMTY5LjE5OTIxOC0yMTAuODc1LTE2OS4xOTUzMTJ6bTAgMTZjMTA3LjI4NTE1Ni4xMzI4MTIgMTk1LjM5ODQzOCA4NC44MDQ2ODggMTk5LjgwMDc4MSAxOTJoLTE2Yy00LjU4MjAzMS05OC4xNzk2ODgtODUuNTE1NjI1LTE3NS40MjE4NzUtMTgzLjgwMDc4MS0xNzUuNDIxODc1cy0xNzkuMjE4NzUgNzcuMjQyMTg3LTE4My44MDA3ODEgMTc1LjQyMTg3NWgtMTZjNC40MDIzNDMtMTA3LjE5NTMxMiA5Mi41MTU2MjUtMTkxLjg2NzE4OCAxOTkuODAwNzgxLTE5MnptMjkuMTEzMjgxIDI0NS40OTYwOTRjMzAuNjgzNTk0IDExLjk4ODI4MSA1MC44ODI4MTMgNDEuNTU4NTk0IDUwLjg4NjcxOSA3NC41MDM5MDZ2MjcuNjQwNjI1Yy00OS44Nzg5MDYgMjcuMTQ0NTMxLTExMC4xMjEwOTQgMjcuMTQ0NTMxLTE2MCAwdi0yNy42NDA2MjVjLjAwMzkwNi0yNi40Mjk2ODggMTMuMDYyNS01MS4xNTIzNDQgMzQuODg2NzE5LTY2LjA1NDY4OCAyMS44MjgxMjUtMTQuOTA2MjUgNDkuNjA5Mzc1LTE4LjA2NjQwNiA3NC4yMjY1NjItOC40NDkyMTh6bTY2Ljg4NjcxOSA3NC41MDM5MDZjMC01My4wMTk1MzEtNDIuOTgwNDY5LTk2LTk2LTk2cy05NiA0Mi45ODA0NjktOTYgOTZ2MTcuNzM0Mzc1Yy0zOC44NjMyODEtMjYuOTgwNDY5LTY0LjUwNzgxMi02OS4xMzI4MTMtNzAuNjAxNTYyLTExNi4wNDY4NzUtNi4wOTc2NTctNDYuOTE3OTY5IDcuOTI1NzgxLTk0LjIyMjY1NiAzOC42MDE1NjItMTMwLjIzODI4MXYzNi41NTA3ODFjLjAyNzM0NCAyMi4wODIwMzEgMTcuOTE3OTY5IDM5Ljk3MjY1NiA0MCA0MGgxNzZjMjIuMDgyMDMxLS4wMjczNDQgMzkuOTcyNjU2LTE3LjkxNzk2OSA0MC00MHYtMzYuNTUwNzgxYzMwLjY3NTc4MSAzNi4wMTU2MjUgNDQuNjk5MjE5IDgzLjMyMDMxMiAzOC42MDE1NjIgMTMwLjIzODI4MS02LjA5Mzc1IDQ2LjkxNDA2Mi0zMS43MzgyODEgODkuMDY2NDA2LTcwLjYwMTU2MiAxMTYuMDQ2ODc1em0tMjA4LTI0NC44NjMyODFjNjMuNTg5ODQ0LTU3LjUxNTYyNSAxNjAuNDEwMTU2LTU3LjUxNTYyNSAyMjQgMHY1Mi44NjMyODFjMCAxMy4yNTM5MDYtMTAuNzQ2MDk0IDI0LTI0IDI0aC0xNzZjLTEzLjI1MzkwNiAwLTI0LTEwLjc0NjA5NC0yNC0yNHptLTg3LjcxMDkzOCAxMzIuODYzMjgxaDE2YzIuODM1OTM4IDYxLjAzOTA2MiAzNS42NzE4NzYgMTE2LjcyMjY1NiA4Ny43MTA5MzggMTQ4Ljc1MzkwNnYxOC42NDQ1MzJjLTYxLjQzNzUtMzMuODUxNTYzLTEwMC43NTM5MDYtOTcuMzEyNS0xMDMuNzEwOTM4LTE2Ny4zOTg0Mzh6bTExOS43MTA5MzggMTc1LjI0NjA5NHYtMTcuNjQ0NTMyYzUwLjUwMzkwNiAyNC41NjI1IDEwOS40OTYwOTQgMjQuNTYyNSAxNjAgMHYxNy42NzE4NzZjLTUwLjk5NjA5NCAyMi4zMzU5MzctMTA5LjAwMzkwNiAyMi4zMzU5MzctMTYwIDB6bTE3Ni03Ljg0NzY1NnYtMTguNjQ0NTMyYzUyLjA0Mjk2OS0zMi4wMjczNDQgODQuODg2NzE5LTg3LjcxMDkzNyA4Ny43MjY1NjItMTQ4Ljc1MzkwNmgxNmMtMi45NjA5MzcgNzAuMDg5ODQ0LTQyLjI4NTE1NiAxMzMuNTUwNzgxLTEwMy43MjY1NjIgMTY3LjM5ODQzOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Ventilation:ixe,"Washing Machines":"PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIDAgNDk2IDQ5NiIgd2lkdGg9IjQ5NnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDg4IDBoLTQwMGMtNC40MjU3ODEgMC04IDMuNTg1OTM4LTggOHYyOTYuODMyMDMxYy0yLjYwMTU2Mi0uNTI3MzQzLTUuMjczNDM4LS44MzIwMzEtOC0uODMyMDMxLTIyLjA1NDY4OCAwLTQwIDE3Ljk0NTMxMi00MCA0MHYuMTY3OTY5Yy03LjgyNDIxOSA1Ljg4NjcxOS0xMy4xNTIzNDQgMTQuMzk4NDM3LTE1LjEyMTA5NCAyMy44MzIwMzFoLTguODc4OTA2Yy00LjQyNTc4MSAwLTggMy41ODU5MzgtOCA4djMyYzAgNC40MTQwNjIgMy41NzQyMTkgOCA4IDhoOHYyNGMwIDMwLjg3ODkwNiAyNS4xMjg5MDYgNTYgNTYgNTZoNDE2YzQuNDI1NzgxIDAgOC0zLjU4NTkzOCA4LTh2LTQ4MGMwLTQuNDE0MDYyLTMuNTc0MjE5LTgtOC04em0tOCAxNnY4MGgtMzg0di04MHptLTQzNS42NTYyNSAzMzkuMTc1NzgxYzIuODM5ODQ0LTEuNjAxNTYyIDQuNDMzNTk0LTQuNzYxNzE5IDQuMDE1NjI1LThsLS4xMjg5MDYtLjkyOTY4N2MtLjEwMTU2My0uNzM0Mzc1LS4yMzA0NjktMS40Njg3NS0uMjMwNDY5LTIuMjQ2MDk0IDAtMTMuMjMwNDY5IDEwLjc2OTUzMS0yNCAyNC0yNCA4LjQ0OTIxOSAwIDE2LjEyMTA5NCA0LjQwNjI1IDIwLjUyNzM0NCAxMS44MDA3ODEgMS4xOTkyMTggMi4wMTU2MjUgMy4yMzQzNzUgMy40MDYyNSA1LjU1MDc4MSAzLjc5Mjk2OSAyLjMyODEyNS4zOTg0MzggNC42OTkyMTktLjI2NTYyNSA2LjQ5NjA5NC0xLjc5Mjk2OSAzLjEyMTA5My0yLjY0ODQzNyA4LjMyMDMxMi01LjgwMDc4MSAxNS40MjU3ODEtNS44MDA3ODEgOC41NTg1OTQgMCAxNi41MzUxNTYgNC43MjY1NjIgMjAuODE2NDA2IDEyLjMzNTkzOCAxLjY2NDA2MyAyLjk3NjU2MiA1LjA1NDY4OCA0LjU1ODU5MyA4LjM4MjgxMyAzLjk2MDkzNyA4LjM1MTU2Mi0xLjQ4ODI4MSAxNi45MDYyNSA0LjI0NjA5NCAxOC40OTYwOTMgMTIuNzQyMTg3LjU3MDMxMyAzLjAzOTA2MyAyLjgzOTg0NCA1LjQ4ODI4MiA1LjgzOTg0NCA2LjI3MzQzOCAzLjAxNTYyNS44MDA3ODEgNi4xNjc5NjktLjIzNDM3NSA4LjE2Nzk2OS0yLjYwOTM3NSA0LjYxNzE4Ny01LjUyNzM0NCAxMS4yODkwNjMtOC43MDMxMjUgMTguMjk2ODc1LTguNzAzMTI1IDEwLjQxNDA2MiAwIDE5LjIxNDg0NCA2LjcxMDkzOCAyMi41MjczNDQgMTZoLTE4OC45MjU3ODJjMS45NDE0MDctNS4yOTY4NzUgNS42MDU0NjktOS45Mzc1IDEwLjc0MjE4OC0xMi44MjQyMTl6bTEwNy42NTYyNS03NS4xNzU3ODFjMC03NC45OTIxODggNjEuMDA3ODEyLTEzNiAxMzYtMTM2czEzNiA2MS4wMDc4MTIgMTM2IDEzNi02MS4wMDc4MTIgMTM2LTEzNiAxMzZjLTExLjI4OTA2MiAwLTIyLjMyODEyNS0xLjUxOTUzMS0zMy4wNzgxMjUtNC4yMTQ4NDQuNjI4OTA2LTEuMTQ0NTMxIDEuMDc4MTI1LTIuMzk0NTMxIDEuMDc4MTI1LTMuNzg1MTU2di0xMi4zMzU5MzhjMTAuMzY3MTg4IDIuODYzMjgyIDIxLjA3ODEyNSA0LjMzNTkzOCAzMiA0LjMzNTkzOCA2Ni4xNjc5NjkgMCAxMjAtNTMuODMyMDMxIDEyMC0xMjBzLTUzLjgzMjAzMS0xMjAtMTIwLTEyMC0xMjAgNTMuODMyMDMxLTEyMCAxMjBjMCAyMS4wODk4NDQgNS40ODA0NjkgNDEuNDMzNTk0IDE1LjgyNDIxOSA1OS41MDM5MDYtMS43OTI5NjkuODA4NTk0LTMuNTM1MTU3IDEuNzI2NTYzLTUuMTkxNDA3IDIuODAwNzgyLTQuMDU4NTkzLTYuMTEzMjgyLTEwLjE1MjM0My0xMC42MzI4MTMtMTcuMjA3MDMxLTEyLjgyNDIxOS02LjE2Nzk2OS0xNS43NjE3MTktOS40MjU3ODEtMzIuMzU5Mzc1LTkuNDI1NzgxLTQ5LjQ4MDQ2OXptNDguNDY0ODQ0IDU2LjA0Njg3NWMtNi4zNjcxODgtOS45MTAxNTYtMTEtMjAuNzAzMTI1LTEzLjY3OTY4OC0zMi4wNDY4NzVoNS4yMTQ4NDRjNy4yODkwNjIgMCAxNC4xNTIzNDQtMi44Mzk4NDQgMTkuMzEyNS04bDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGMxMC4zMjgxMjUgMTAuMzEyNSAyOC4yOTY4NzUgMTAuMzIwMzEyIDM4LjYyNSAwbDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGMxMC4zMjgxMjUgMTAuMzEyNSAyOC4yOTY4NzUgMTAuMzIwMzEyIDM4LjYyNSAwbDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGM1LjE2Nzk2OSA1LjE2MDE1NiAxMi4wMjM0MzggOCAxOS4zMTI1IDhoNS4wOTc2NTZjLTEwLjg4MjgxMiA0NS43OTI5NjktNTIuMDI3MzQ0IDgwLTEwMS4wOTc2NTYgODAtMTAuOTc2NTYyIDAtMjEuNjk1MzEyLTEuNzkyOTY5LTMyLTUuMTI4OTA2di0yLjg3MTA5NGMwLTQuNDE0MDYyLTMuNTc0MjE5LTgtOC04aC04LjgwODU5NGMtMy42ODc1LTE4LjA4OTg0NC0xOS42MjUtMzEuNzI2NTYyLTM4LjcyNjU2Mi0zMS45NTMxMjV6bS0xNi40NjQ4NDQtNTYuMDQ2ODc1YzAtNTcuMzQzNzUgNDYuNjU2MjUtMTA0IDEwNC0xMDRzMTA0IDQ2LjY1NjI1IDEwNCAxMDRjMCAyLjcwMzEyNS0uMTk5MjE5IDUuMzUxNTYyLS40MDYyNSA4aC03LjU5Mzc1Yy0zLjAyMzQzOCAwLTUuODU1NDY5LTEuMTc1NzgxLTgtMy4zMTI1bC00LjY4NzUtNC42ODc1Yy0xMC4zMjgxMjUtMTAuMzEyNS0yOC4yOTY4NzUtMTAuMzIwMzEyLTM4LjYyNSAwbC00LjY4NzUgNC42Nzk2ODhjLTQuMjgxMjUgNC4yODEyNS0xMS43MTg3NSA0LjI4MTI1LTE2IDBsLTQuNjg3NS00LjY3OTY4OGMtMTAuMzI4MTI1LTEwLjMxMjUtMjguMjk2ODc1LTEwLjMyMDMxMi0zOC42MjUgMGwtNC42ODc1IDQuNjc5Njg4Yy00LjI4MTI1IDQuMjgxMjUtMTEuNzE4NzUgNC4yODEyNS0xNiAwbC00LjY4NzUtNC42Nzk2ODhjLTEwLjMyODEyNS0xMC4zMTI1LTI4LjI5Njg3NS0xMC4zMjAzMTItMzguNjI1IDBsLTQuNjg3NSA0LjY3OTY4OGMtMi4xNDQ1MzEgMi4xNDQ1MzEtNC45NzY1NjIgMy4zMjAzMTItOCAzLjMyMDMxMmgtNy42OTUzMTJjLS4xOTkyMTktMi42NDg0MzgtLjMwNDY4OC01LjMyMDMxMi0uMzA0Njg4LTh6bS0xNjggMTA0aDIyNHYxNmgtMjI0em0xNjAgOTZoLTEwNGMtMjIuMDU0Njg4IDAtNDAtMTcuOTQ1MzEyLTQwLTQwdi0yNGgxOTJ2MjRjMCAyMi4wNTQ2ODgtMTcuOTQ1MzEyIDQwLTQwIDQwem00Ny4xMTMyODEgMGMxMC40MDYyNS0xMC4xNzU3ODEgMTYuODg2NzE5LTI0LjMzNTkzOCAxNi44ODY3MTktNDB2LTE1Ljg3MTA5NGMxNS40MjU3ODEgNS4xNDQ1MzIgMzEuNTAzOTA2IDcuODcxMDk0IDQ4IDcuODcxMDk0IDgzLjgxNjQwNiAwIDE1Mi02OC4xODM1OTQgMTUyLTE1MnMtNjguMTgzNTk0LTE1Mi0xNTItMTUyLTE1MiA2OC4xODM1OTQtMTUyIDE1MmMwIDEzLjAxNTYyNSAxLjgwMDc4MSAyNS43MzQzNzUgNS4wMDc4MTIgMzguMTEzMjgxLTYuMjIyNjU2LTMuOTA2MjUtMTMuNDY0ODQzLTYuMTEzMjgxLTIxLjAwNzgxMi02LjExMzI4MS02LjUzNTE1NiAwLTEzIDEuNjcxODc1LTE4Ljc4NTE1NiA0LjgxNjQwNi0xLjU4OTg0NC0xLjcyNjU2Mi0zLjM3NS0zLjIxNDg0NC01LjIxNDg0NC00LjYyNXYtMjAwLjE5MTQwNmgzODR2MzY4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTM2IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjAwIDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY0IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQ4IDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ0OCAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDE2IDMyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM4NCA2NGgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzUyIDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=","Water Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yNjguOTkgMTg3LjQ5OWMtNS43NTEtOS45NTktMjAuMTk2LTEwLjAxNi0yNS45NzkgMC0yMS44MSA0MC42MTEtMzIuMDExIDQ4LjA2MS0zMi4wMTEgNjcuNTAxIDAgMjQuODEzIDIwLjE4NyA0NSA0NSA0NXM0NS0yMC4xODcgNDUtNDVjMC0xOS40NTgtMTAuNDg2LTI3LjQyMS0zMi4wMS02Ny41MDF6bS0xMi45OSA4Mi41MDFjLTguMjcxIDAtMTUtNi43MjktMTUtMTUgMC02LjY4NyAzLjA0Mi04LjIxNSAxNS0zMC4wMDUgMTEuOTc0IDIxLjgxOCAxNSAyMy4zMTggMTUgMzAuMDA1IDAgOC4yNzEtNi43MjkgMTUtMTUgMTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNiAwaC0zMDBjLTguNzY5IDAtMTUuNjc2IDcuNTAyLTE0Ljk0OCAxNi4yNDZsMzAgMzYwYy42NDggNy43NzQgNy4xNDcgMTMuNzU0IDE0Ljk0OCAxMy43NTRoNzV2MzJoLTE1Yy0xMy4zMTggMC0yMC4wNDggMTYuMTY1LTEwLjYwNiAyNS42MDZsNjAgNjBjNS44NTcgNS44NTggMTUuMzU1IDUuODU5IDIxLjIxMyAwbDYwLTYwYzkuNDE3LTkuNDE3IDIuNzQ1LTI1LjYwNi0xMC42MDctMjUuNjA2aC0xNXYtMzJoNzVjNy44MDEgMCAxNC4zLTUuOTggMTQuOTQ4LTEzLjc1NGwzMC0zNjBjLjcyOC04LjczOS02LjE3NC0xNi4yNDYtMTQuOTQ4LTE2LjI0NnptLTE2LjMwMiAzMC01LjM0NiA2NC4xNDdjLTIxLjc2OCA4LjM0My0zNS44NzEgMjUuODUzLTUzLjM1MiAyNS44NTMtMjIuNzE3IDAtNDAuNDIzLTMwLTc1LTMwLTM0LjcyNyAwLTUyLjE3NiAzMC03NSAzMC0xNy40ODUgMC0zMS41NTYtMTcuNDk5LTUzLjM1Mi0yNS44NTNsLTUuMzQ2LTY0LjE0N3ptLTI3LjUgMzMwaC03Ni4xOThjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NjJjMCA2LjQzMiA0LjA0OCAxMS45MTkgOS43MzYgMTQuMDVsLTI0LjczNiAyNC43MzctMjQuNzM2LTI0LjczNmM1LjY4OC0yLjEzMSA5LjczNi03LjYxOCA5LjczNi0xNC4wNXYtNjJjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtNzYuMTk4bC0xOS4yMDgtMjMwLjUwMmMxNC4zMTUgOS4xNTMgMjkuMDc2IDIwLjUwMSA1MC40MDYgMjAuNTAxIDM0LjcyNyAwIDUyLjE3Ni0zMCA3NS0zMCAyMi43MTcgMCA0MC40MjMgMzAgNzUgMzAgMjEuMDE5IDAgMzUuNDQ5LTEwLjkzNyA1MC40MDYtMjAuNTAyeiIvPgogICAgPC9nPgo8L3N2Zz4=","Water Heater":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTY3LDE4NS4zMjV2MjgxYTM1LjU0MSwzNS41NDEsMCwwLDAsMzUuNDY5LDM1LjYzMUwzMTkuMDYsNTAyaC4wMDZBMzUuODkxLDM1Ljg5MSwwLDAsMCwzNTUsNDY2LjM2OVY0NjRoNjAuNjJjMzQuODM3LDAsNjMuMzgtMjcuODcsNjMuMzgtNjIuNzE1VjE4OS43M2MwLTM0Ljg0NC0yOC41NDMtNjIuNzMtNjMuMzgtNjIuNzNIMzU1di05LjY4OWMwLS4wNzQtLjE2LS4xNDYtLjE2Mi0uMjE5cy0uMDY1LS4xMTQtLjA2NS0uMTg3QTYyLjA0NCw2Mi4wNDQsMCwwLDAsMjkyLjc2Myw1NUgyMTlWNDRoMTcuODI4QzI0NS42NSw0NCwyNTMsMzcuMiwyNTMsMjguMzc0VjI2YTE2LjE2NywxNi4xNjcsMCwwLDAtMTYuMTcyLTE2SDE4OS43MDZBMTUuNzcsMTUuNzcsMCwwLDAsMTc0LDI2djIuMzc0QTE1LjQ1NCwxNS40NTQsMCwwLDAsMTg5LjcwNiw0NEgyMDdWNTVIMTMzLjc3MUMxMDEuNSw1NSw3NC45MjQsODAsNzIuMSwxMTFIMzkuMmE2LjA1Niw2LjA1NiwwLDAsMC01LjIsOC45MjlaTTM1NSwxNjFoNjAuNjJBMjguNTgxLDI4LjU4MSwwLDAsMSw0NDQsMTg5LjczVjQwMS4yODVBMjguNTY4LDI4LjU2OCwwLDAsMSw0MTUuNjIsNDMwSDM1NVptMCwyODFoNjAuNjJBNDAuNTgxLDQwLjU4MSwwLDAsMCw0NTYsNDAxLjI4NVYxODkuNzNBNDAuNTk0LDQwLjU5NCwwLDAsMCw0MTUuNjIsMTQ5SDM1NVYxMzloNjAuNjJjMjguMjIxLDAsNTEuMzgsMjIuNSw1MS4zOCw1MC43M1Y0MDEuMjg1QzQ2Nyw0MjkuNTEzLDQ0My44NDEsNDUyLDQxNS42Miw0NTJIMzU1Wm0tMTIsMjQuMzY5QTIzLjg5MSwyMy44OTEsMCwwLDEsMzE5LjA2Niw0OTBoMGwtMjE2LjU5MS0uMDQxQTIzLjUyNywyMy41MjcsMCwwLDEsNzksNDY2LjMyOFY0NTIuNTdsMjY0LC4wNDlaTTE5MCwzMmE0LDQsMCwwLDEtNC00VjI2YTQsNCwwLDAsMSw0LTRoNDdhNCw0LDAsMCwxLDQsNHYyYTQsNCwwLDAsMS00LDRaTTEzMy43NzEsNjdIMjkyLjc2M2E0OS44MjksNDkuODI5LDAsMCwxLDQ5LjU3Niw0NEg4NC4yQTQ5LjgzLDQ5LjgzLDAsMCwxLDEzMy43NzEsNjdaTTM0MywxMjNWNDQwLjYxOUw3OSw0NDAuNTdWMTgzLjlhNi44NTMsNi44NTMsMCwwLDAtLjgtMi44NTFMNDguOTM0LDEyM1oiLz4KICAgICAgICA8cGF0aCBkPSJNMjAzLDM4OC40NDNBMzUuMDE3LDM1LjAxNywwLDAsMCwyMzgsMzUzLjZWMjM2Ljg0NGEzNSwzNSwwLDAsMC03MCwwVjM1My42QTM1LjAxNywzNS4wMTcsMCwwLDAsMjAzLDM4OC40NDNabS0yMy0xNTEuNmEyMywyMywwLDAsMSw0NiwwVjI4OUgxODBaTTE4MCwzMDFoNDZ2NTIuNmEyMywyMywwLDAsMS00NiwwWiIvPgogICAgICAgIDxwYXRoIGQ9Ik05OSwzMTQuOTEzYTYsNiwwLDAsMCw2LTZWMjMzLjEwNmE2LDYsMCwwLDAtMTIsMHY3NS44MDdBNiw2LDAsMCwwLDk5LDMxNC45MTNaIi8+CiAgICAgICAgPHBhdGggZD0iTTk5LDIxOC43MjZhNiw2LDAsMCwwLDYtNnYtNC44MzRhNiw2LDAsMCwwLTEyLDB2NC44MzRBNiw2LDAsMCwwLDk5LDIxOC43MjZaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=",Water:rxe,Weather:oxe,Window:nxe},Mxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTA0IDQ4LjAxNTYyNWgtNDk2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTktOC04di0zMi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OTZjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHYzMi4wMTU2MjVjMCA0LjQyNTc4MS0zLjU3NDIxOSA4LTggOHptLTQ4OC0xNmg0ODB2LTE2LjAxNTYyNWgtNDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQwIDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDk2IDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00NzIgMTg0LjEyODkwNmgtNDMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcxLjk4NDM3NSAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMjIuMDU4NTk0IDE3LjkzNzUtNDAgMzkuOTkyMTg3LTQwIDQuNDIxODc2IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNCA4LTggOC0xMy4yMjI2NTYgMC0yMy45OTIxODcgMTAuNzY1NjI1LTIzLjk5MjE4NyAyNCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTc5Ljk4NDM3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTIwLjAwNzgxMiAxMjguMTI4OTA2aC0xNi4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAzMTI1YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjM0Mzc1LTEwLjc2OTUzMS0yNC0yMy45OTIxODgtMjQtNC40MjE4NzQgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI2LTggOC04IDIyLjA1NDY4OCAwIDM5Ljk5MjE4OCAxNy45NDE0MDYgMzkuOTkyMTg4IDQwIDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xODMuOTg0Mzc1IDEzOC45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDIuODM5ODQ0YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LTggNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOHY0Mi44Mzk4NDRjMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzIgODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIwMCA5Ni4xMjg5MDZoLTE2LjAxNTYyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAxNTYyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNDcuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI4MC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOC00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggMTMuMjM0Mzc1IDAgMjQgMTAuNzY1NjI1IDI0IDI0IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzIuMTY3OTY5IDI2NC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQ3Ljk4NDM3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djQ3Ljk4NDM3NWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1Ni4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZjLTQuNDIxODc1IDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzI4LjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2aC04MC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg4MC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41ODIwMzEgOC04LjAwNzgxMyA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjY0LjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOHYtNDhjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djQ4YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjE5OTIxOSAyMTYuMTQ0NTMxaC00OC4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ4LjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMi4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",cxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2Mi43ODcgMzYyLjc4NyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0yNjAuOTQ1LDE0NC45NzljLTIuNjY3LDAtNS4xMzMsMS40MTYtNi40NzcsMy43MTlsLTQ3LjQ4NCw4MS4zMzNjLTEuMzU0LDIuMzE5LTEuMzY1LDUuMTg2LTAuMDI3LDcuNTE2CgkJYzEuMzM3LDIuMzI5LDMuODE4LDMuNzY2LDYuNTA0LDMuNzY2aDk0Ljk2OGMyLjY4NiwwLDUuMTY3LTEuNDM3LDYuNTA0LTMuNzY2YzEuMzM4LTIuMzMsMS4zMjctNS4xOTYtMC4wMjctNy41MTZsLTQ3LjQ4My04MS4zMzMKCQlDMjY2LjA3OCwxNDYuMzk1LDI2My42MTIsMTQ0Ljk3OSwyNjAuOTQ1LDE0NC45Nzl6IE0yMjYuNTI0LDIyNi4zMTJsMzQuNDIxLTU4Ljk1OGwzNC40Miw1OC45NThIMjI2LjUyNHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzU1LjI4NywyNTQuNjloLTE3NS42Mmw4MS4yNzgtMTM5LjIxOGw2Mi45MjYsMTA3Ljc4M2MyLjA4OCwzLjU3OCw2LjY4Myw0Ljc4NCwxMC4yNTgsMi42OTYKCQljMy41NzctMi4wODgsNC43ODQtNi42ODEsMi42OTUtMTAuMjU4TDI2Ny40MjIsOTYuODE1Yy0wLjAyMS0wLjAzNi0wLjA0OC0wLjA2Ny0wLjA2OS0wLjEwM2MtMC4xMjYtMC4yMDgtMC4yNjItMC40MDgtMC40MDctMC42MDMKCQljLTAuMDQ0LTAuMDU5LTAuMDg2LTAuMTE4LTAuMTMxLTAuMTc2Yy0wLjE4My0wLjIzLTAuMzc2LTAuNDUxLTAuNTg0LTAuNjU4Yy0wLjAyNC0wLjAyNC0wLjA1MS0wLjA0NS0wLjA3Ni0wLjA2OQoJCWMtMC4xODYtMC4xOC0wLjM4My0wLjM0OS0wLjU4Ny0wLjUwOWMtMC4wNjUtMC4wNTEtMC4xMzItMC4xLTAuMTk5LTAuMTQ4Yy0wLjE4Ny0wLjEzNy0wLjM3OS0wLjI2NC0wLjU3OC0wLjM4NAoJCWMtMC4wNTUtMC4wMzMtMC4xMDgtMC4wNjgtMC4xNjQtMC4xYy0wLjI2MS0wLjE0Ny0wLjUzLTAuMjgyLTAuODA5LTAuMzk3Yy0wLjAxMS0wLjAwNC0wLjAyMi0wLjAwOC0wLjAzMy0wLjAxMgoJCWMtMC4yNi0wLjEwNi0wLjUyOC0wLjE5Ni0wLjgwMi0wLjI3M2MtMC4wNzMtMC4wMjEtMC4xNDYtMC4wMzgtMC4yMi0wLjA1NmMtMC4yMjItMC4wNTUtMC40NDctMC4xLTAuNjc3LTAuMTM1CgkJYy0wLjA3OS0wLjAxMi0wLjE1Ny0wLjAyNi0wLjIzNi0wLjAzNmMtMC4yOTctMC4wMzYtMC41OTgtMC4wNi0wLjkwNi0wLjA2SDEwMS44NDJjLTIuNjY3LDAtNS4xMzMsMS40MTYtNi40NzcsMy43MTkKCQlMMS4wMjMsMjU4LjQwOGMtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTZjMS4zMzcsMi4zMjksMy44MTgsMy43NjYsNi41MDQsMy43NjZoODYuNTM4YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDEKCQlzMC4wMTUtMC4wMDEsMC4wMjMtMC4wMDFoMzUuODg5YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDFzMC4wMTUtMC4wMDEsMC4wMjMtMC4wMDFoMzYuNTg2aDE4OC42ODQKCQljNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNVMzNTkuNDMsMjU0LjY5LDM1NS4yODcsMjU0LjY5eiBNMTYyLjI5OCwyNTQuNjloLTE5LjI2M2w2OS40My0xMTkuNDcKCQljMi4wODEtMy41ODIsMC44NjUtOC4xNzItMi43MTYtMTAuMjUzYy0zLjU4LTIuMDgzLTguMTczLTAuODY2LTEwLjI1MywyLjcxNmwtNzMuODEsMTI3LjAwN0gxMDcuMWw4NS4xOTItMTQ2LjU5NGg1NS41OQoJCUwxNjIuMjk4LDI1NC42OXogTTEwNi4xNDcsMTA4LjA5NmgzNC4wOTFMNzQuNzg5LDIyMC43MTdjLTIuMDgxLDMuNTgyLTAuODY1LDguMTcyLDIuNzE2LDEwLjI1MwoJCWMxLjE4NiwwLjY4OSwyLjQ4MiwxLjAxNywzLjc2MiwxLjAxN2MyLjU4NCwwLDUuMS0xLjMzNyw2LjQ5MS0zLjczM2w2OS44My0xMjAuMTU4aDE3LjM1Nkw4OS43NTEsMjU0LjY5SDIwLjU2M0wxMDYuMTQ3LDEwOC4wOTZ6IgogICAgICAgIC8+CiAgICA8L2c+Cjwvc3ZnPgo=",uxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTYuNzA0IDI3Mi4wODZoLTgxLjcwNHYtODguMDczYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djg4LjA3M2gtMTV2LTE5My43MWMwLTguMjQ5LTYuNzExLTE0Ljk1OS0xNC45NTktMTQuOTU5aC05MS41ODJjLTguMjQ4IDAtMTQuOTU5IDYuNzEtMTQuOTU5IDE0Ljk1OXYxOTMuNzFoLTE1di0xOTMuNzFjMC04LjI0OS02LjcxMS0xNC45NTktMTQuOTU5LTE0Ljk1OWgtOTEuNTgyYy04LjI0OCAwLTE0Ljk1OSA2LjcxLTE0Ljk1OSAxNC45NTl2MTkzLjcxaC0xNXYtMjIzLjY2OWgyODh2MTAwLjU5NmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0xMDAuNTk2aDMuMjA0YzguNDM1IDAgMTUuMjk2LTYuODgzIDE1LjI5Ni0xNS4zNDR2LTE3LjczYzAtOC40Ni02Ljg2MS0xNS4zNDMtMTUuMjk2LTE1LjM0M2gtMzI0LjQwOGMtOC40MzUgMC0xNS4yOTYgNi44ODMtMTUuMjk2IDE1LjM0NHYxNy43M2MwIDguNDYgNi44NjEgMTUuMzQ0IDE1LjI5NiAxNS4zNDRoMy4yMDR2MjIzLjY2OWgtODEuNzA0Yy04LjQzNS0uMDAxLTE1LjI5NiA2Ljg2MS0xNS4yOTYgMTUuMjk1djE3LjYyMmMwIDguNDM1IDYuODYxIDE1LjI5NiAxNS4yOTYgMTUuMjk2aC41djE0My40ODZoLS41Yy04LjQzNSAwLTE1LjI5NiA2Ljg2Mi0xNS4yOTYgMTUuMjk2djE3LjYyMmMwIDguNDM0IDYuODYxIDE1LjI5NiAxNS4yOTYgMTUuMjk2aDIyMy4yMDRjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTIyMy4yMDRjLS4xNjMgMC0uMjk2LS4xMzMtLjI5Ni0uMjk2di0xNy42MjJjMC0uMTYzLjEzMy0uMjk2LjI5Ni0uMjk2aDQ4MS40MDhjLjE2MyAwIC4yOTYuMTMzLjI5Ni4yOTZ2MTcuNjIyYzAgLjE2My0uMTMzLjI5Ni0uMjk2LjI5NmgtMjIzLjIwNGMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgyMjMuMjA0YzguNDM1IDAgMTUuMjk2LTYuODYyIDE1LjI5Ni0xNS4yOTZ2LTE3LjYyMmMwLTguNDM0LTYuODYxLTE1LjI5Ni0xNS4yOTYtMTUuMjk2aC0uNXYtMTQzLjQ4NmguNWM4LjQzNSAwIDE1LjI5Ni02Ljg2MiAxNS4yOTYtMTUuMjk2di0xNy42MjJjMC04LjQzNC02Ljg2MS0xNS4yOTYtMTUuMjk2LTE1LjI5NnptLTQwMy4yMDQtMjM5LjAxMnYtMTcuNzNjMC0uMjEyLjE1My0uMzQ0LjI5Ni0uMzQ0aDMyNC40MDhjLjE0MyAwIC4yOTYuMTMxLjI5Ni4zNDR2MTcuNzNjMCAuMjEyLS4xNTMuMzQ0LS4yOTYuMzQ0LTE1LjM2NyAwLTMwOS4wNTEgMC0zMjQuNDA4IDAtLjE0My0uMDAxLS4yOTYtLjEzMi0uMjk2LS4zNDR6bTE4NC45NTkgNDUuMzQzIDkxLjU0MS0uMDQxdjE5My43MWgtOTEuNTAyem0tMTM2LjUgMCA5MS41NDEtLjA0MXYxOTMuNzFoLTkxLjUwMnptMzM5LjI0NSAzODQuODE3aC00NTAuNDA4di0xNDIuOTM0aDQ1MC40MDh6bTE1Ljc5Ni0xNTguMjNjMCAuMTY0LS4xMzMuMjk2LS4yOTYuMjk2LTIuODI0IDAtNDcxLjE1MyAwLTQ4MS40MDggMC0uMTYzIDAtLjI5Ni0uMTMzLS4yOTYtLjI5NnYtMTcuNjIyYzAtLjE2My4xMzMtLjI5Ni4yOTYtLjI5Nmg0ODEuNDA4Yy4xNjMgMCAuMjk2LjEzMy4yOTYuMjk2eiIvPgogICAgICAgIDxwYXRoIGQ9Im02Ny42NTUgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjktNy4xMzMgMTUuOS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzMtMTUuOTAxLTE1LjktMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NiAwIC45LjQwNC45LjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTM5LjQwNiA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjMCA4Ljc2OCA3LjEzNCAxNS45MDEgMTUuOTAxIDE1LjkwMXptLS45MDEtODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45MDEtLjkwMWgxOC45ODljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45ODljLS40OTcgMC0uOTAxLS40MDQtLjkwMS0uOTAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMTAuNzk2IDQ0Mi43MDRoMTguOTljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTljLTguNzY4IDAtMTUuOSA3LjEzMy0xNS45IDE1LjkwMXY2OS41MmMwIDguNzY4IDcuMTMyIDE1LjkwMSAxNS45IDE1LjkwMXptLS45LTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOS0uOTAxaDE4Ljk5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTljLS40OTYgMC0uOS0uNDA0LS45LS45MDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI4Mi41NDcgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzU0LjEzMSA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjLS4wMDEgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAyLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDI1LjUyMSA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjMCA4Ljc2OCA3LjEzNCAxNS45MDEgMTUuOTAxIDE1LjkwMXptLS45MDEtODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45MDEtLjkwMWgxOC45ODljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45ODljLS40OTcgMC0uOTAxLS40MDQtLjkwMS0uOTAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTYuNDExIDEwNy4yNjhjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDIzLjUxMiAyMy41MTJjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQyLjYwNCA5Mi44MzJjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDExLjc1NiAxMS43NTZjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4KICAgIDwvZz4KPC9zdmc+",lxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00MTMuOTA3IDBjLTU0LjEwNCAwLTk4LjEyMiA0NC4wMDUtOTguMTIyIDk4LjA5NnY0My41ODJzLTY5LjgzMS0zNi45MTItNzEuMDY1LTM3LjU5M2MtOS41NDQtNS4yNjYtMTIuMTg1LTUuMjY3LTIxLjczMSAwLTEuMjM0LjY4MS0xMzYuMTQxIDcxLjk1OC0xMzYuMTQxIDcxLjk1OC0xMS40MzcgNi4wMTctMTMuMDQ1IDcuNzQ1LTE3Ljg3OCAxNS43ODMtLjc4OCAxLjMxMS02NS42OTggMTA0LjIzLTY1LjY5OCAxMDQuMjMtMy4xNzUgNS4wMjMtNC4wNzcgMTAuOTYyLTIuNTM5IDE2LjcyMiAxLjYxNyA2LjA1NiA1Ljg0IDExLjI2OSAxMS41NzcgMTQuMjk1IDMuNjQ2IDEuOTMgNy41ODIgMi44NSAxMS40NjUgMi44NSA2LjIwMiAwIDEyLjI1NS0yLjM1OCAxNi43NDUtNi42ODh2NjUuMDQ0YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTg3LjU0MXM0OS4xMzQtNzcuODU1IDQ5LjY1Mi03OC42ODJjMi4zMzQtMy43MjkgMy4zMjgtNS4yODMgNC40OTYtNi4zMTggMS4zMzMtMS4xODEgMy42NjUtMi40NjQgOC42NjUtNS4xMDdsMTEzLjAwMi01OS42NDljLjgwMS0uNDI1IDEuNDktLjgwMyAyLjA5My0xLjEzMy4xNDEtLjA3Ny4yODUtLjE1Ni40MjgtLjIzNC4xNDMuMDc4LjI4Ny4xNTcuNDI4LjIzNC42MDMuMzMxIDEuMjkyLjcwOCAyLjEwOSAxLjE0MiAwIDAgMTE4LjE5MyA2Mi40MTMgMTE5LjY0MiA2My4zMS44NjkuNTM4IDEuNTA5Ljk5NSAyLjAwOSAxLjQzOCAxLjE2NyAxLjAzNSAyLjE2MiAyLjU4OSA0LjQ5NiA2LjMxOC41MTguODI3IDQ5LjY1MSA3OC42ODEgNDkuNjUxIDc4LjY4MXYxNjAuNzE2aC04NC45MjF2LTEwNC4zNGgxMi42MjVjNy42NTIgMCAxMy44NzgtNi4yMjYgMTMuODc4LTEzLjg3OHYtMjEuNDNjMC03LjY1Mi02LjIyNi0xMy44NzgtMTMuODc4LTEzLjg3OGgtODUuMTIyYy00LjE0MiAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU4IDcuNSA3LjUgNy41aDg0djE5LjE4NmgtMjA5Ljgxdi0xOS4xODZoOTEuMmM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtOTIuMzIyYy03LjY1MiAwLTEzLjg3OCA2LjIyNi0xMy44NzggMTMuODc4djIxLjQzYzAgNy42NTIgNi4yMjYgMTMuODc4IDEzLjg3OCAxMy44NzhoMTIuNjI1djEwNC4zMzloLTg0Ljk0N3YtMzguNTYzYzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djc2LjUzNmMwIDYuOTM0IDUuNjQxIDEyLjU3NCAxMi41NzQgMTIuNTc0aDQ0NS45MDdjNy4xNjcgMCAxMi45OTktNS44MzIgMTIuOTk5LTEyLjk5OXYtNDAwLjkwNWMuMDAxLTU0LjA5MS00NC4wMDQtOTguMDk2LTk4LjA5Mi05OC4wOTZ6bS0yNzMuNDQgNDk3aC04NC45NDh2LTIwLjU0Nmg4NC45NDd2MjAuNTQ2em0xNTkuNzgzLTEzOS44ODYtNjYuMzgyIDU5Ljg0NS02Ni4zODItNTkuODQ1em0tMTQ0Ljc4MyA5LjM1OSA2Ny4yMDEgNjAuNTg0LTY3LjIwMSA2MC41ODR6bTEyLjAyIDEzMC41MjcgNjYuMzgyLTU5Ljg0NSA2Ni4zODEgNTkuODQ1em0xNDQuNzgzLTkuMzU5LTY3LjIwMS02MC41ODQgNjcuMjAxLTYwLjU4NHptOTkuOTE5IDkuMzU5aC04NC45MTl2LTIwLjU0Nmg4NC45MTl6bTUzLjQ0NS0xOTguODIzYy0uMzQ3LS43Mi0uNzMzLTEuNDI3LTEuMTY2LTIuMTE3bC01MS45NDUtODIuMjY2aDg0LjQ3N3Y4NC4zODN6bS0xMzQuODQ4LTIwMC4wODFjMC00NS44MTkgMzcuMjg4LTgzLjA5NiA4My4xMjItODMuMDk2IDQ1LjgxNiAwIDgzLjA5MiAzNy4yNzYgODMuMDkyIDgzLjA5NnYxLjI4N2gtMTY2LjIxNHptMCAxNi4yODdoMTY2LjIxNHY4NC40MTJoLTkzLjk0OXMtMy41MjMtNS42NTYtNC4zMTItNi45NjZjLTQuODMxLTguMDM2LTYuNDQtOS43NjYtMTcuODY4LTE1Ljc3OGwtNTAuMDg2LTI2LjQ1di0zNS4yMTh6bTk1LjI0NiAxODAuMTc3cy01MC4yNzUtNzkuNjU2LTUwLjc4LTgwLjQ2M2MtNC43OTktNy42NjUtNi41MTQtOS44MjUtMTMuMjgxLTEzLjY5Mi0uNTIxLS4yOTctMTE5LjkyOS02My40MDgtMTIwLjQ4Mi02My43MTEtNS4xMDEtMi43OTUtNy44NDctMy4zMi0xMi4wNjctMS41NzItLjAzNy4wMTUtLjA3Ni4wMzQtLjExMy4wNS0uNjE2LjI1OS0xMTcuOTg1IDYyLjE5Ny0xMTcuOTg1IDYyLjE5Ny0xMS43MjcgNi4yLTEyLjk2MSA3LjI5NS0xOC44NjggMTYuNzI5LS41MDUuODA3LTUwLjc4IDgwLjQ2My01MC43OCA4MC40NjMtLjAxLjAxNi0uMDE2LjAzMy0uMDI2LjA0OWwtMTAuMjk0IDE2LjMxYy0yLjM3NSAzLjc2Ny03Ljg4NSA1LjA5Ni0xMi4wMzkgMi44OTQtMi4wNi0xLjA4Ni0zLjU1Mi0yLjg3My00LjA5My00LjkwMS0uMzE2LTEuMTg0LS40NDYtMi45ODQuNzI5LTQuODQzIDAgMCA2NS4wMzctMTAzLjEyNCA2NS44NzItMTA0LjUxMiAzLjQ0OC01LjczNCAzLjQ0OC01LjczNCAxMi4wMTctMTAuMjQzIDAgMCAxMzkuMTkzLTczLjYzOSAxNDAuMDEyLTc0LjAxMy44Mi4zNzQgMTQwLjAxMiA3NC4wMTMgMTQwLjAxMiA3NC4wMTMuMDAzLjAwMi4wMDcuMDA0LjAxMS4wMDYgOC41NTkgNC41MDIgOC41NTkgNC41MDIgMTIuMDA3IDEwLjIzOC44MzQgMS4zODggMS44MTYgMy4wMiAzLjA1OCA0Ljk4N2w2Mi44MzMgOTkuNTA5YzEuMTY4IDEuODYgMS4wMzQgMy42NjkuNzE2IDQuODU5LS41NDQgMi4wMzItMi4wMzIgMy44Mi00LjA3MiA0Ljg5OS00LjIyNiAyLjIzMS05LjY0NS45MjQtMTIuMDY5LTIuODk2bC0xMC4yOTItMTYuMzA3Yy0uMDEtLjAxNy0uMDE2LS4wMzUtLjAyNi0uMDV6bTcwLjk2OCAyMDIuNDRoLTY5LjgxMXYtODQuNDExaDY5LjgxMXptLTY5LjgxMS05OS40MTF2LTc0LjM4OWM3LjMxMyA3LjA0MiAxOC43NjMgOC44NzQgMjguMjM4IDMuODc1IDUuNi0yLjk2NSA5Ljc0Ni04LjAxNiAxMS40MzgtMTMuODk3aDMwLjEzNXY4NC40MTJoLTY5LjgxMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg1LjI2MiAyMzcuODczYzAtMjguMzQ3LTIzLjA2Mi01MS40MDktNTEuNDA4LTUxLjQwOS0yOC4zMzEgMC01MS4zNzkgMjMuMDYyLTUxLjM3OSA1MS40MDlzMjMuMDQ5IDUxLjQwOSA1MS4zNzkgNTEuNDA5YzI4LjM0Ny0uMDAxIDUxLjQwOC0yMy4wNjMgNTEuNDA4LTUxLjQwOXptLTg3Ljc4NyAwYzAtMjAuMDc2IDE2LjMyLTM2LjQwOSAzNi4zNzktMzYuNDA5IDIwLjA3NSAwIDM2LjQwOCAxNi4zMzMgMzYuNDA4IDM2LjQwOXMtMTYuMzMzIDM2LjQwOS0zNi40MDggMzYuNDA5Yy0yMC4wNTktLjAwMS0zNi4zNzktMTYuMzM0LTM2LjM3OS0zNi40MDl6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Nxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTIuOTk1IDE2Ni40ODktMzEuOTk1LTIzLjk5NnYtMTEyLjQ5M2M4LjI4NCAwIDE1LTYuNzE2IDE1LTE1cy02LjcxNi0xNS0xNS0xNWgtOTBjLTguMjg0IDAtMTUgNi43MTYtMTUgMTVzNi43MTYgMTUgMTUgMTV2NDQuOTkybC04OC4wMDktNjYuMDA2Yy0xNS44OTMtMTEuOTA0LTM4LjA5LTExLjkwNS01My45ODkuMDA1bC0yMDkuOTk5IDE1Ny41Yy0xOS44NTMgMTQuODkzLTIzLjg5MSA0My4xNTUtOS4wMDEgNjMuMDA0IDcuMjIgOS42MiAxNy43NTIgMTUuODUzIDI5LjY1NyAxNy41NSAyLjE1Ny4zMDggNC4zMS40NiA2LjQ1LjQ1OSA1LjEwOSAwIDEwLjEzLS44NzYgMTQuODkxLTIuNTY0djI1Mi4wNmMwIDguMjg0IDYuNzE2IDE1IDE1IDE1aDM2MGM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di0yNTIuMDY4YzQuNzYzIDEuNjg1IDkuODAzIDIuNTYgMTQuOTc4IDIuNTYgMTQuMSAwIDI3LjU2NS02LjcyOSAzNi4wMjItMTggMTQuODg4LTE5Ljg0NiAxMC44NDktNDguMTA4LTkuMDA1LTYzLjAwM3ptLTkxLjk5NS0xMzYuNDg5aDMwdjg5Ljk5MmwtMzAtMjIuNXptLTEyMCAyNzJoLTUwdi05Mmg1MHptMzAgMHYtMTA3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVoLTgwYy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djEwN2gtMTA5Ljk5OXYtNzcuMDA0bDE2NC45OTktMTIzLjc1MiAxNjUgMTIzLjc1M3Y3Ny4wMDN6bS0yMTkuOTk5IDMwaDIwOS45OTl2MzBoLTQ1Yy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djQ1aC00NWMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXY0NWgtOTB6bTExOS45OTkgMTUwdi0zMGg0NWM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di00NWg0NWM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di00NWg5MHYxNTB6bTI2Ny4wMDItMjcwLjUxMWMtMi44NjMgMy44MTUtNy4yNDUgNi4wMDQtMTIuMDI0IDYuMDA0LTMuMjYgMC02LjM2NS0xLjAzNi04Ljk3OS0yLjk5NmwtMTkxLjk5OS0xNDQuMDAzYy01LjMzMy00LTEyLjY2Ny00LTE4IDBsLTE5Mi4wMDggMTQ0LjAwOWMtMy4xOTMgMi4zOTctNy4xMzYgMy40MDgtMTEuMDk4IDIuODQyLTMuOTczLS41NjYtNy40ODgtMi42NDctOS44OTYtNS44NTYtNC45NjEtNi42MTQtMy42MTItMTYuMDM1IDMuMDA2LTIxbDIwOS45OTEtMTU3LjQ5MmMyLjY1Mi0xLjk4NyA1LjgzLTIuOTc5IDkuMDA3LTIuOTc5IDMuMTc1IDAgNi4zNDkuOTkyIDguOTk2IDIuOTc0bDIwOS45OTYgMTU3LjQ5N2M2LjYyIDQuOTY2IDcuOTY5IDE0LjM4NiAzLjAwOCAyMXoiLz4KICAgIDwvZz4KPC9zdmc+",Lxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDg1LjQsMjcyLjA2N2gtOC41MzN2LTE3OS4yYzAtNDIuNjY3LTM0LjEzMy03Ni44LTc2LjgtNzYuOGMtMzcuNzcsMC02NC45MzUsMjguMDA2LTY3Ljk3NCw2OS4wNDEKCQkJCWMtMTkuODI5LDMuNzQ4LTM0LjQyNiwyMC44MjYtMzQuNDI2LDQxLjg5MmMwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNoNjguMjY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzMwoJCQkJYzAtMjAuODMzLTE0LjI3NC0zNy43NjktMzMuNzY3LTQxLjc2N2MyLjU1LTI3LjExNiwxOC44MzYtNTIuMSw1MC44MzQtNTIuMWMzMy4yOCwwLDU5LjczMywyNi40NTMsNTkuNzMzLDU5LjczM3YxNzkuMkgyMDIuOTc1CgkJCQljLTMuODYtMTkuNjgxLTIwLjg3OC0zNC4xMzMtNDEuODQxLTM0LjEzM2MtOC41MzMtMTAuMjQtMjAuNDgtMTcuMDY3LTM0LjEzMy0xNy4wNjdjLTE2LjIxMywwLTMwLjcyLDkuMzg3LTM3LjU0NywyMy4wNAoJCQkJYy02LjgyNy0zLjQxMy0xNC41MDctNS45NzMtMjIuMTg3LTUuOTczYy0yMC45NjMsMC0zNy45ODEsMTQuNDUyLTQxLjg0MSwzNC4xMzNIMjQuNmMtMTQuNTA3LDAtMjUuNiwxMS4wOTMtMjUuNiwyNS42CgkJCQljMCwxNC41MDcsMTEuMDkzLDI1LjYsMjUuNiwyNS42aDEwLjI1NWwyMy4wMjUsOTEuMzA3YzYuODI3LDI2LjQ1MywzMC43Miw0NS4yMjcsNTguMDI3LDQ1LjIyN2g2LjgyN2wtMTEuMDkzLDIyLjE4NwoJCQkJYy0yLjU2LDQuMjY3LTAuODUzLDkuMzg3LDMuNDEzLDExLjA5M2MwLjg1MywwLjg1MywyLjU2LDAuODUzLDMuNDEzLDAuODUzYzMuNDEzLDAsNS45NzMtMS43MDcsNy42OC00LjI2N0wxNDEuMDgsNDU5LjhoMjM2LjgKCQkJCWwxNC41MDcsMjkuMDEzYzEuNzA3LDMuNDEzLDQuMjY3LDUuMTIsNy42OCw1LjEyYzEuNzA3LDAsMi41NiwwLDMuNDEzLTEuNzA3YzMuNDEzLTEuNzA3LDUuMTItNi44MjcsMy40MTMtMTEuMDkzCgkJCQlsLTEwLjY4OS0yMS4zNzljMjYuNDE5LTAuOTM4LDQ5LjI2Ni0xOS4zOSw1NS45MTYtNDQuMzI4bDIzLjI0LTkyLjE2aDEwLjA0YzE0LjUwNywwLDI1LjYtMTEuMDkzLDI1LjYtMjUuNgoJCQkJQzUxMSwyODMuMTYsNDk5LjkwNywyNzIuMDY3LDQ4NS40LDI3Mi4wNjd6IE0zNjUuMDgsMTE4LjQ2N2gtNDguNjRjMy40MTMtMTAuMjQsMTMuNjUzLTE3LjA2NywyNC43NDctMTcuMDY3CgkJCQlTMzYxLjY2NywxMDguMjI3LDM2NS4wOCwxMTguNDY3eiBNNjcuMjY3LDI1NWM3LjY4LDAsMTQuNTA3LDMuNDEzLDIwLjQ4LDkuMzg3YzEuNzA3LDIuNTYsNS4xMiwzLjQxMyw4LjUzMywyLjU2CgkJCQlzNS4xMi0zLjQxMyw1Ljk3My02LjgyN2MyLjU2LTEyLjgsMTIuOC0yMi4xODcsMjUuNi0yMi4xODdjOS4zODcsMCwxNy45Miw0LjI2NywyMi4xODcsMTIuOGMxLjcwNywzLjQxMyw1Ljk3Myw1LjEyLDkuMzg3LDQuMjY3CgkJCQljMC44NTMsMCwxLjcwNywwLDIuNTYsMGMxMS4wOTMsMCwyMC40OCw2LjgyNywyMy44OTMsMTcuMDY3SDQzLjM3M0M0Ni43ODcsMjYxLjgyNyw1Ni4xNzMsMjU1LDY3LjI2NywyNTV6IE00MzYuNzYsNDEwLjMwNwoJCQkJYy01LjEyLDE4Ljc3My0yMi4xODcsMzIuNDI3LTQxLjgxMywzMi40MjdIMTE2Ljc2Yy0xOS42MjcsMC0zNi42OTMtMTMuNjUzLTQxLjgxMy0zMi40MjdsLTIyLjE4Ny04Ny4wNGg0MDQuNDhMNDM2Ljc2LDQxMC4zMDd6CgkJCQkgTTQ4NS40LDMwNi4yaC0xNy4wNjdINDEuNjY3SDI0LjZjLTUuMTIsMC04LjUzMy0zLjQxMy04LjUzMy04LjUzM3MzLjQxMy04LjUzMyw4LjUzMy04LjUzM2g4LjUzM2gxNjIuMTMzSDQ4NS40CgkJCQljNS4xMiwwLDguNTMzLDMuNDEzLDguNTMzLDguNTMzUzQ5MC41MiwzMDYuMiw0ODUuNCwzMDYuMnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcKCQkJCUMyOTcuNjY3LDE3MC41MiwzMDEuMDgsMTczLjkzMywzMDYuMiwxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDYuMiwyMTMuMTg3YzUuMTIsMCw4LjUzMy00LjI2Nyw4LjUzMy04LjUzM3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y5LjM4NwoJCQkJQzI5Ny42NjcsMjA5Ljc3MywzMDEuMDgsMjEzLjE4NywzMDYuMiwyMTMuMTg3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDYuMiwyNDYuNDY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y0LjI2NwoJCQkJQzI5Ny42NjcsMjQzLjA1MywzMDEuMDgsMjQ2LjQ2NywzMDYuMiwyNDYuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNDAuMzMzLDE3My45MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCWMtNS4xMiwwLTguNTMzLDMuNDEzLTguNTMzLDguNTMzdjQuMjY3QzMzMS44LDE3MC41MiwzMzUuMjEzLDE3My45MzMsMzQwLjMzMywxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMzEuOCwyMDQuNjUzYzAsNS4xMiwzLjQxMyw4LjUzMyw4LjUzMyw4LjUzM2M1LjEyLDAsOC41MzMtNC4yNjcsOC41MzMtOC41MzN2LTkuMzg3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzMwoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjA0LjY1M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzMxLjgsMjM3LjkzM2MwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCWMtNS4xMiwwLTguNTMzLDMuNDEzLTguNTMzLDguNTMzVjIzNy45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM3NC40NjcsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcKCQkJCUMzNjUuOTMzLDE3MC41MiwzNjkuMzQ3LDE3My45MzMsMzc0LjQ2NywxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuOTMzLDIwNC42NTNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzUzM4MywyMDguOTIsMzgzLDIwNC42NTN2LTkuMzg3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzMwoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMDQuNjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuOTMzLDIzNy45MzNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCXMtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjM3LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",gxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00OTYsMzQ0aC04VjI4MGEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMyVjExMmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDg4YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJWMjQ4YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJ2NjRIMTZhOCw4LDAsMCwwLTgsOHYzMmE4LDgsMCwwLDAsOCw4aDh2MzJhOCw4LDAsMCwwLDgsOEg1NmE3Ljk5LDcuOTksMCwwLDAsNy44NC02LjQzTDcwLjU2LDM5Mkg0NDEuNDRsNi43MiwzMy41N0E3Ljk5LDcuOTksMCwwLDAsNDU2LDQzMmgyNGE4LDgsMCwwLDAsOC04VjM5Mmg4YTgsOCwwLDAsMCw4LThWMzUyQTgsOCwwLDAsMCw0OTYsMzQ0Wk03MiwxMTJBMTYuMDIxLDE2LjAyMSwwLDAsMSw4OCw5Nkg0MjRhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNiwxNlYyNDhINDI0VjIxNmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDI5NmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLDMydjMySDI0OFYyMTZhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMi0zMkgxMjBhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMnYzMkg3MlpNNDA4LDIxNnYzMkgyODBWMjE2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZoOTZBMTYuMDIxLDE2LjAyMSwwLDAsMSw0MDgsMjE2Wm0tMTc2LDB2MzJIMTA0VjIxNmExNi4wMjEsMTYuMDIxLDAsMCwxLDE2LTE2aDk2QTE2LjAyMSwxNi4wMjEsMCwwLDEsMjMyLDIxNlpNNDAsMjgwYTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZINDU2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYsMTZ2NjRINDBabTkuNDQsMTM2SDQwVjM5Mkg1NC4yNFpNNDcyLDQxNmgtOS40NGwtNC44LTI0SDQ3MlptMTYtNDBIMjRWMzYwSDQ4OFoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",jxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NS4zOTMgNDUuMzkzIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQzLjUxOCwxMi43MDlMMjUuMTc4LDAuNzI4Yy0xLjUxMS0wLjk3OC0zLjQ1OC0wLjk2OC00Ljk2LDAuMDIxTDEuODU5LDEyLjcxOWMtMS4xNCwwLjc1MS0xLjQ1NSwyLjI4NC0wLjcwNSwzLjQyNAoJCQljMC43NTEsMS4xNCwyLjI4MywxLjQ1NiwzLjQyNCwwLjcwNEwyMi43MTUsNS4wMjFMNDAuODMsMTYuODU3YzAuNDE2LDAuMjY5LDAuODgxLDAuMzk2LDEuMzQxLDAuMzk2CgkJCWMwLjgxMiwwLDEuNjA0LTAuMzk3LDIuMDc3LTEuMTI3QzQ0Ljk5LDE0Ljk4LDQ0LjY2MiwxMy40NTIsNDMuNTE4LDEyLjcwOXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzguODc5LDI3LjYxNmMtMC4xNTEtMC44NjUtMC45MDMtMS41MDUtMS43OC0xLjUwNWgtMS4wMDhsLTAuMzgzLTMuOTg3Yy0wLjQwOS00LjI2NC0zLjk0OC03LjQ5LTguMjMyLTcuNDlIMTcuOTIKCQkJYy00LjI4NSwwLTcuODIzLDMuMjI3LTguMjMzLDcuNDlsLTAuMzgyLDMuOTg3SDguMjk2Yy0wLjg3OCwwLTEuNjI5LDAuNjQtMS43ODIsMS41MDVsLTEuNSw4LjUwNAoJCQljLTAuMTg2LDEuMDU0LDAuMTEyLDIuMTM5LDAuOCwyLjk1N2MwLjY2MiwwLjc4OCwxLjYzNywxLjI1OCwyLjY1NywxLjI5M3YxLjQxMmMwLDEuOTk5LDEuNjAyLDMuNjEsMy42MDMsMy42MWgxLjEzOAoJCQljMS45OTksMCwzLjYyNS0xLjYxMSwzLjYyNS0zLjYxdi0xLjM4OWgxMS43MzJ2MS4zODZjMCwyLDEuNjEzLDMuNjEzLDMuNjEyLDMuNjEzaDEuMTM5YzEuOTk5LDAsMy42MTQtMS42MTMsMy42MTQtMy42MTNWNDAuMzcKCQkJYzEuMDItMC4wMzUsMS45ODktMC41MDEsMi42NDktMS4yODhjMC42ODgtMC44MiwwLjk4Mi0xLjg5OSwwLjc5OC0yLjk1NUwzOC44NzksMjcuNjE2eiBNMTEuNjQyLDM3LjExMwoJCQljLTEuNjg3LDAtMy4wNTUtMS4zNjctMy4wNTUtMy4wNTZjMC0xLjY4OSwxLjM2OC0zLjA1NywzLjA1NS0zLjA1N2MxLjY4OCwwLDMuMDU3LDEuMzY3LDMuMDU3LDMuMDU3CgkJCUMxNC42OTksMzUuNzQ2LDEzLjMzLDM3LjExMywxMS42NDIsMzcuMTEzeiBNMTIuNDA0LDI2LjExMWwwLjM1My0zLjY3OGMwLjI1Ny0yLjY3NCwyLjQ3Ni00LjY4OCw1LjE2My00LjY4OGgwLjU1MXYxLjE1NgoJCQljMCwxLjAwMywwLjc5NywxLjgwMiwxLjc5OSwxLjgwMmg0Ljg1NmMxLjAwMiwwLDEuODEzLTAuNzk5LDEuODEzLTEuODAydi0xLjE1NWgwLjUzN2MyLjY4NywwLDQuOTA2LDIuMDE0LDUuMTYyLDQuNjg4CgkJCWwwLjM1NCwzLjY3OEwxMi40MDQsMjYuMTExTDEyLjQwNCwyNi4xMTF6IE0zMy43NSwzNy4xMTNjLTEuNjg3LDAtMy4wNTUtMS4zNjctMy4wNTUtMy4wNTZjMC0xLjY4OSwxLjM2OC0zLjA1NywzLjA1NS0zLjA1NwoJCQljMS42ODgsMCwzLjA1NywxLjM2NywzLjA1NywzLjA1N0MzNi44MDcsMzUuNzQ2LDM1LjQzOCwzNy4xMTMsMzMuNzUsMzcuMTEzeiIvPgogICAgPC9nPgo8L3N2Zz4K",yxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDk0LjU5NCwzOTQuMjM3aC0xOS40NjFjMTIuOTU0LTE5LjU0MywyMC41MTItNDIuOTU4LDIwLjUxMi02OC4xMDljMC02OC4xNTctNTUuNDQ5LTEyMy42MDYtMTIzLjYwNi0xMjMuNjA2CgkJCWMtNy4xNzEsMC0xNC4yLDAuNjIyLTIxLjA0LDEuNzk5YzE3Ljg1My0yMS40MzUsMjguNjA4LTQ4Ljk3OSwyOC42MDgtNzguOTlDMzc5LjYwNiw1Ny4xNzQsMzI0LjE1NywxLjcyNCwyNTYsMS43MjQKCQkJYy02OC4xNTcsMC0xMjMuNjA2LDU1LjQ0OS0xMjMuNjA2LDEyMy42MDZjMCwzMC4wMTIsMTAuNzU1LDU3LjU1NSwyOC42MDgsNzguOTljLTYuODQtMS4xNzgtMTMuODY5LTEuNzk5LTIxLjA0LTEuNzk5CgkJCWMtNjguMTU3LDAtMTIzLjYwNiw1NS40NDktMTIzLjYwNiwxMjMuNjA2YzAsMjUuMTUxLDcuNTU4LDQ4LjU2NywyMC41MTIsNjguMTA5SDE3LjQwNkwwLDUxMC4yNzZoOTMuMjk0bDE1LjEzNS0yMC4xODFoNjMuMDY0CgkJCWwxNS4xMzUsMjAuMTgxaDEzOC43NDJsMTUuMTM1LTIwLjE4MWg2My4wNjRsMTUuMTM1LDIwLjE4MUg1MTJMNDk0LjU5NCwzOTQuMjM3eiBNNDY5LjUxOSwzNzMuNjdsLTEzLjE0Mi03LjU4OAoJCQljNC43MzYtOS45NTgsNy43Ni0yMC44ODEsOC42ODgtMzIuMzg3aDE1LjE3NUM0NzkuMjU0LDM0Ny45NDgsNDc1LjUwMywzNjEuNDUsNDY5LjUxOSwzNzMuNjd6IE00MDkuODc3LDM5NC41MzN2LTEzNi44MQoJCQljMjQuMDQ1LDEzLjM1NCw0MC4zNjEsMzkuMDA1LDQwLjM2MSw2OC40MDVTNDMzLjkyMiwzODEuMTc4LDQwOS44NzcsMzk0LjUzM3ogTTQxOS41ODEsNDIzLjYwOAoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMNDE5LjU4MSw0MjMuNjA4eiBNNDQ4Ljc4NywzNzkuMTc2CgkJCWwxMy4xNDgsNy41OTFjLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzQzNC4zMzYsMzk2LjQ2NCw0NDIuMzc1LDM4OC40MjUsNDQ4Ljc4NywzNzkuMTc2egoJCQkgTTQ4MC4yNDEsMzE4LjU2aC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEM0NzUuNTAzLDI5MC44MDUsNDc5LjI1NCwzMDQuMzA3LDQ4MC4yNDEsMzE4LjU2egoJCQkgTTQzMi42NzgsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTkKCQkJTDQzMi42NzgsMjM2LjIzMXogTTQxMS45OTQsMjQxLjc4OWMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4di0xNS4xNzZjMTQuMjUyLDAuOTg3LDI3Ljc1NCw0LjczOCwzOS45NzQsMTAuNzIyCgkJCUw0MTEuOTk0LDI0MS43ODl6IE0zOTQuNzQyLDI1MS4zdjE0OS42NTVjLTcuMTg5LDIuMTg2LTE0LjgxLDMuMzcyLTIyLjcwMywzLjM3MmMtNy44OTQsMC0xNS41MTQtMS4xODctMjIuNzAzLTMuMzcyVjI1MS4zCgkJCWM3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMzc5LjkzMiwyNDcuOTI4LDM4Ny41NTIsMjQ5LjExNCwzOTQuNzQyLDI1MS4zeiBNMTc3LjgsMzk0LjUzM3YtMTM2LjgxCgkJCWMyNC4wNDUsMTMuMzU0LDQwLjM2MSwzOS4wMDUsNDAuMzYxLDY4LjQwNVMyMDEuODQ1LDM4MS4xNzgsMTc3LjgsMzk0LjUzM3ogTTE4Ny41MDQsNDIzLjYwOAoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMMTg3LjUwNCw0MjMuNjA4eiBNMjgyLjE0MiwyNjUuNDg4CgkJCWM3Ljc5NC0xMS41MTcsMTcuNzQtMjEuNDYzLDI5LjI1Ni0yOS4yNTZsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OUwyODIuMTQyLDI2NS40ODh6IE0yODcuNywyODYuMTczCgkJCWMtNC43MzYsOS45NTgtNy43NiwyMC44ODEtOC42ODgsMzIuMzg3aC0xNS4xNzVjMC45ODctMTQuMjUzLDQuNzM3LTI3Ljc1NCwxMC43MjItMzkuOTc1TDI4Ny43LDI4Ni4xNzN6IE0zMTYuNjQsMjE1LjIyNwoJCQlsLTcuNTkxLTEzLjE0OGM5LjI0OS02LjQxMiwxNy4yODctMTQuNDUsMjMuNjk5LTIzLjY5OWwxMy4xNDgsNy41OTFDMzM4LjEwMywxOTcuNDg3LDMyOC4xNTcsMjA3LjQzMywzMTYuNjQsMjE1LjIyN3oKCQkJIE0yOTMuODM5LDE5My43MzZWNTYuOTI1QzMxNy44ODQsNzAuMjgsMzM0LjIsOTUuOTMsMzM0LjIsMTI1LjMzMVMzMTcuODg0LDE4MC4zODEsMjkzLjgzOSwxOTMuNzM2eiBNMjk1Ljk1NSwyMDkuNjY5CgkJCWw3LjU4NywxMy4xNDJjLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVDMjc1LjA3NCwyMTcuNDMsMjg1Ljk5NiwyMTQuNDA3LDI5NS45NTUsMjA5LjY2OXogTTI3Ny4wNCwyNDcuMTM4CgkJCWMtOC45NTEsMTAuNzQ3LTE2LjExOSwyMy4wMjgtMjEuMDQsMzYuMzg5Yy00LjkyMS0xMy4zNjEtMTIuMDg5LTI1LjY0MS0yMS4wNC0zNi4zODljNi44NCwxLjE3OCwxMy44NjksMS43OTksMjEuMDQsMS43OTkKCQkJQzI2My4xNzEsMjQ4LjkzNywyNzAuMiwyNDguMzE1LDI3Ny4wNCwyNDcuMTM4eiBNMjQ4LjE2NCwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4CgkJCUMyNDMuNDI2LDI5MC44MDUsMjQ3LjE3NywzMDQuMzA3LDI0OC4xNjQsMzE4LjU2eiBNMjQ4LjQzMSwyMzMuNTMzYy0xNC4yNTItMC45ODctMjcuNzU0LTQuNzM4LTM5Ljk3NC0xMC43MjJsNy41ODctMTMuMTQyCgkJCWM5Ljk1OCw0LjczNiwyMC44ODEsNy43NiwzMi4zODcsOC42ODhWMjMzLjUzM3ogTTIxOC4xNjEsMTkzLjczNmMtMjQuMDQ1LTEzLjM1NC00MC4zNjEtMzkuMDA1LTQwLjM2MS02OC40MDUKCQkJYzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDVWMTkzLjczNnogTTE3OS4yNTEsMTc4LjM3OWM2LjQxMiw5LjI0OSwxNC40NSwxNy4yODcsMjMuNjk5LDIzLjY5OWwtNy41OTEsMTMuMTQ4CgkJCWMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2TDE3OS4yNTEsMTc4LjM3OXogTTIwMC42MDEsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTYKCQkJbC0xMy4xNDgsNy41OTFjLTYuNDEyLTkuMjQ5LTE0LjQ1LTE3LjI4Ny0yMy42OTktMjMuNjk5TDIwMC42MDEsMjM2LjIzMXogTTIxNi43MSwzNzkuMTc2bDEzLjE0OCw3LjU5MQoJCQljLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzIwMi4yNTksMzk2LjQ2NCwyMTAuMjk4LDM4OC40MjUsMjE2LjcxLDM3OS4xNzZ6IE0yMjQuMywzNjYuMDgyCgkJCWM0LjczNi05Ljk1OCw3Ljc2LTIwLjg4MSw4LjY4OC0zMi4zODdoMTUuMTc1Yy0wLjk4NywxNC4yNTMtNC43MzcsMjcuNzU0LTEwLjcyMiwzOS45NzVMMjI0LjMsMzY2LjA4MnogTTI1NiwzNjguNzI5CgkJCWMzLjMzMiw5LjA0NSw3LjY5NywxNy41OTMsMTIuOTQ0LDI1LjUwOGgtMjUuODg4QzI0OC4zMDMsMzg2LjMyMSwyNTIuNjY4LDM3Ny43NzQsMjU2LDM2OC43Mjl6IE0yNjMuODM2LDMzMy42OTVoMTUuMTc1CgkJCWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N2wtMTMuMTQyLDcuNTg4QzI2OC41NzQsMzYxLjQ1LDI2NC44MjMsMzQ3Ljk0OCwyNjMuODM2LDMzMy42OTV6IE0yOTUuMjksMzc5LjE3NgoJCQljNi40MTIsOS4yNDksMTQuNDUsMTcuMjg3LDIzLjY5OSwyMy42OTlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2TDI5NS4yOSwzNzkuMTc2egoJCQkgTTI5My44MzksMzI2LjEyOGMwLTI5LjQsMTYuMzE2LTU1LjA1MSw0MC4zNjEtNjguNDA1djEzNi44MUMzMTAuMTU1LDM4MS4xNzgsMjkzLjgzOSwzNTUuNTI4LDI5My44MzksMzI2LjEyOHogTTMzMi4wODQsNDEwLjQ2NgoJCQljOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDMzMi4wODQsNDEwLjQ2NnogTTM2NC40NzEsMjE3LjkyNVYyMzMuMQoJCQljLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDJDMzM2LjcxNiwyMjIuNjYzLDM1MC4yMTgsMjE4LjkxMiwzNjQuNDcxLDIxNy45MjV6IE0zNTMuNDgsMTcyLjg3MwoJCQlsLTEzLjE0Mi03LjU4OGM0LjczNi05Ljk1OCw3Ljc2LTIwLjg4MSw4LjY4OC0zMi4zODdoMTUuMTc1QzM2My4yMTYsMTQ3LjE1MSwzNTkuNDY1LDE2MC42NTMsMzUzLjQ4LDE3Mi44NzN6IE0zNjQuMjAyLDExNy43NjMKCQkJaC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEMzNTkuNDY1LDkwLjAwOCwzNjMuMjE2LDEwMy41MSwzNjQuMjAyLDExNy43NjN6IE0zMTYuNjQsMzUuNDM0CgkJCWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTlMMzE2LjY0LDM1LjQzNHogTTI5NS45NTYsNDAuOTkyCgkJCWMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4VjE3LjEyOGMxNC4yNTIsMC45ODcsMjcuNzU0LDQuNzM4LDM5Ljk3NCwxMC43MjJMMjk1Ljk1Niw0MC45OTJ6IE0yNzguNzAzLDUwLjUwM3YxNDkuNjU1CgkJCWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWNTAuNTAzYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3MgoJCQlDMjYzLjg5NCw0Ny4xMzEsMjcxLjUxNCw0OC4zMTcsMjc4LjcwMyw1MC41MDN6IE0yNDguNDMyLDE3LjEyOHYxNS4xNzVjLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDIKCQkJQzIyMC42NzgsMjEuODY2LDIzNC4xOCwxOC4xMTUsMjQ4LjQzMiwxNy4xMjh6IE0xOTUuMzYsMzUuNDM0bDcuNTkxLDEzLjE0OGMtOS4yNDksNi40MTItMTcuMjg3LDE0LjQ1LTIzLjY5OSwyMy42OTkKCQkJbC0xMy4xNDgtNy41OTFDMTczLjg5Nyw1My4xNzQsMTgzLjg0Myw0My4yMjgsMTk1LjM2LDM1LjQzNHogTTE1OC41Miw3Ny43ODhsMTMuMTQyLDcuNTg4Yy00LjczNiw5Ljk1OC03Ljc2LDIwLjg4MS04LjY4OCwzMi4zODcKCQkJaC0xNS4xNzVDMTQ4Ljc4NSwxMDMuNTEsMTUyLjUzNSw5MC4wMDgsMTU4LjUyLDc3Ljc4OHogTTE1OC41MiwxNzIuODczYy01Ljk4NC0xMi4yMi05LjczNS0yNS43MjItMTAuNzIyLTM5Ljk3NWgxNS4xNzUKCQkJYzAuOTI3LDExLjUwNiwzLjk1MSwyMi40MjksOC42ODgsMzIuMzg3TDE1OC41MiwxNzIuODczeiBNMTg3LjUwNCwyMjguNjQ3bC03LjU4NywxMy4xNDJjLTkuOTU4LTQuNzM2LTIwLjg4MS03Ljc2LTMyLjM4Ny04LjY4OAoJCQl2LTE1LjE3NkMxNjEuNzgyLDIxOC45MTIsMTc1LjI4NCwyMjIuNjY0LDE4Ny41MDQsMjI4LjY0N3ogTTE2Mi42NjUsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyCgkJCWMtNy44OTQsMC0xNS41MTQtMS4xODctMjIuNzAzLTMuMzcyVjI1MS4zYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3MkMxNDcuODU1LDI0Ny45MjgsMTU1LjQ3NSwyNDkuMTE0LDE2Mi42NjUsMjUxLjN6CgkJCSBNNjEuNzYyLDMyNi4xMjhjMC0yOS40LDE2LjMxNi01NS4wNTEsNDAuMzYxLTY4LjQwNXYxMzYuODFDNzguMDc4LDM4MS4xNzgsNjEuNzYyLDM1NS41MjgsNjEuNzYyLDMyNi4xMjh6IE04Ni45MTMsNDAyLjg3NgoJCQlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2bDEzLjE0OC03LjU5MUM2OS42MjUsMzg4LjQyNSw3Ny42NjQsMzk2LjQ2NCw4Ni45MTMsNDAyLjg3NnoKCQkJIE0xMDAuMDA3LDQxMC40NjZjOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDEwMC4wMDcsNDEwLjQ2NnoKCQkJIE0xMzIuMzk0LDIxNy45MjVWMjMzLjFjLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDJDMTA0LjYzOSwyMjIuNjYzLDExOC4xNDEsMjE4LjkxMiwxMzIuMzk0LDIxNy45MjUKCQkJeiBNNzkuMzIyLDIzNi4yMzFsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OWwtMTMuMTQ4LTcuNTkxCgkJCUM1Ny44NTksMjUzLjk3MSw2Ny44MDUsMjQ0LjAyNSw3OS4zMjIsMjM2LjIzMXogTTQyLjQ4MSwyNzguNTg1bDEzLjE0Miw3LjU4OGMtNC43MzYsOS45NTgtNy43NiwyMC44ODEtOC42ODgsMzIuMzg3SDMxLjc1OQoJCQlDMzIuNzQ2LDMwNC4zMDcsMzYuNDk3LDI5MC44MDUsNDIuNDgxLDI3OC41ODV6IE0zMS43NTksMzMzLjY5NWgxNS4xNzVjMC45MjcsMTEuNTA2LDMuOTUxLDIyLjQyOSw4LjY4OCwzMi4zODdMNDIuNDgsMzczLjY3CgkJCUMzNi40OTcsMzYxLjQ1LDMyLjc0NiwzNDcuOTQ4LDMxLjc1OSwzMzMuNjk1eiBNNDI2LjI3NCw0OTUuMTRsLTE1LjEzNS0yMC4xODFoLTc4LjJsLTE1LjEzNSwyMC4xODFIMTk0LjE5N2wtMTUuMTM1LTIwLjE4MQoJCQloLTc4LjJMODUuNzI2LDQ5NS4xNEgxNy41NzVsMTIuODY1LTg1Ljc2OGgxOC4yM2MyMi42MiwyNC43ODYsNTUuMTcxLDQwLjM2MSw5MS4yOTEsNDAuMzYxczY4LjY3MS0xNS41NzUsOTEuMjkxLTQwLjM2MWg0OS40OTQKCQkJYzIyLjYyLDI0Ljc4Niw1NS4xNzEsNDAuMzYxLDkxLjI5MSw0MC4zNjFzNjguNjcxLTE1LjU3NSw5MS4yOTEtNDAuMzYxaDE4LjIzbDEyLjg2NSw4NS43NjhINDI2LjI3NHoiLz4KICAgICAgICA8cmVjdCB4PSIzMDUuOTQ4IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjE5MC45MTkiIHk9IjExNi43NTUiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMjQ4LjQzMyIgeT0iMTExLjIwNSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI2NS43OTkiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+CiAgICAgICAgPHJlY3QgeD0iMjQ4LjQzMyIgeT0iMTcxLjc0NyIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSI0MjEuOTg2IiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjMwNi45NTciIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMzY0LjQ3MiIgeT0iMzEyLjAwMiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIzNjQuNDcyIiB5PSIyNjYuNTk2IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjMwLjI3MSIvPgogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTg5LjkxIiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9Ijc0Ljg4IiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTMyLjM5NSIgeT0iMjY2LjU5NiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIzMC4yNzEiLz4KICAgICAgICA8cmVjdCB4PSIxMzIuMzk1IiB5PSIzNzIuNTQ0IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjQ2MS4zODciIHk9IjQ3MC44ODEiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTg4OSAtMC4xNDgzIDAuMTQ4MyAwLjk4ODkgLTY1Ljc3MiA3NC44NDExKSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjQ1Ni4yMSIgeT0iNDMxLjkzNSIgdHJhbnNmb3JtPSJtYXRyaXgoMC45ODg5IC0wLjE0ODMgMC4xNDgzIDAuOTg4OSAtNjAuNzE5OSA3My42OTAzKSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjI0LjE0NSIvPgogICAgICAgIDxyZWN0IHg9IjI0OC40MzMiIHk9IjQ2NC44NyIgd2lkdGg9IjQ1LjQwNiIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyMTguMTYyIiB5PSI0NjQuODciIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMjYzLjU2OSIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyMzMuMjk4IiB5PSI0MjQuNTA5IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjM2LjEyNyIgeT0iNDM2LjQ2MSIgdHJhbnNmb3JtPSJtYXRyaXgoMC4xNDgzIC0wLjk4ODkgMC45ODg5IDAuMTQ4MyAtMzk4LjA2NzUgNDI1Ljg0MjcpIgogICAgICAgICAgICAgIHdpZHRoPSIyNC4xNDUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMzUuNDY4IiB5PSI0NzAuODYiIHRyYW5zZm9ybT0ibWF0cml4KDAuMTQ4MyAtMC45ODg5IDAuOTg4OSAwLjE0ODMgLTQzNi40ODM4IDQ1MC4wMzI1KSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgPC9nPgo8L3N2Zz4K",Txe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik02MSwyMUgzYTEsMSwwLDAsMCwwLDJINjFhMSwxLDAsMCwwLDAtMloiLz4KICAgICAgICA8cGF0aCBkPSJNNjEsMkg0OWExLDEsMCwwLDAtMSwxVjE3SDQ2di0uNzY0YTEwLjUzMywxMC41MzMsMCwwLDAtMS4xLTQuNjgzQTguNTIyLDguNTIyLDAsMCwxLDQ0LDcuNzY0VjNhMSwxLDAsMCwwLTEtMUgzOWExLDEsMCwwLDAtMSwxVjcuNzY0YTguNTIyLDguNTIyLDAsMCwxLS45LDMuNzg5Yy0uMDM5LjA4LS4wNjcuMTY1LS4xLjI0Ni0uMDM4LS4wODEtLjA2Ni0uMTY2LS4xLS4yNDZBOC41MjIsOC41MjIsMCwwLDEsMzYsNy43NjRWM2ExLDEsMCwwLDAtMS0xSDMxYTEsMSwwLDAsMC0xLDFWNy43NjRhOC41MjIsOC41MjIsMCwwLDEtLjg5NSwzLjc4OUExMC41MzMsMTAuNTMzLDAsMCwwLDI4LDE2LjIzNlYxN0gxOFYxMC40MTRhMi4zOTQsMi4zOTQsMCwwLDEsLjcwNy0xLjcwNkE0LjM4NSw0LjM4NSwwLDAsMCwyMCw1LjU4NlY0aDJWNS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMjQsMTAuNDE0VjE0YTEsMSwwLDAsMCwyLDBWMTAuNDE0YTQuMzg1LDQuMzg1LDAsMCwwLTEuMjkzLTMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDI0LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxOWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC41MTUsNC41MTUsMCwwLDAsMTcsNy42NDlhNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDE2LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxMWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC4zODUsNC4zODUsMCwwLDAsOCwxMC40MTRWMTdIM2ExLDEsMCwwLDAsMCwySDYxYTEsMSwwLDAsMCwwLTJINTBWMTRINjBhMSwxLDAsMCwwLDIsMFYzQTEsMSwwLDAsMCw2MSwyWk00Miw0VjdINDBWNFpNMTAuNzA3LDguNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDEyLDUuNTg2VjRoMlY1LjU4NmE0LjM4NSw0LjM4NSwwLDAsMCwxLjI5MywzLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwxNiwxMC40MTRWMTJIMTBWMTAuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDEwLjcwNyw4LjcwOFpNMTAsMTRoNnYzSDEwWm0yMCwyLjIzNmE4LjUyMiw4LjUyMiwwLDAsMSwuODk1LTMuNzg5QTEwLjUzMywxMC41MzMsMCwwLDAsMzIsNy43NjRWNGgyVjcuNzY0YTEwLjUzMywxMC41MzMsMCwwLDAsMS4xLDQuNjgzLDguNTIyLDguNTIyLDAsMCwxLC45LDMuNzg5VjE3SDMwWk0zOCwxN3YtLjc2NGE4LjUyMiw4LjUyMiwwLDAsMSwuOS0zLjc4OUExMC41NDEsMTAuNTQxLDAsMCwwLDM5LjkyNCw5aDIuMTUyYTEwLjU0MSwxMC41NDEsMCwwLDAsMS4wMjksMy40NDcsOC41MjIsOC41MjIsMCwwLDEsLjksMy43ODlWMTdaTTYwLDRWNkg1MFY0Wk01MCwxMlY4SDYwdjRaIi8+CiAgICAgICAgPHBhdGggZD0iTTYxLDQ0SDNhMSwxLDAsMCwwLDAsMkg2MFY2MEg0NlY0OWExLDEsMCwwLDAtMiwwVjYwSDQyVjUzYTEsMSwwLDAsMC0xLTFIMjZhMSwxLDAsMCwwLTEsMXY3SDIyVjQ5YTEsMSwwLDAsMC0xLTFINWExLDEsMCwwLDAtMSwxVjYwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsMS0xVjQ1QTEsMSwwLDAsMCw2MSw0NFpNNDAsNTZIMzdWNTRoM1ptLTUsMEgzMlY1NGgzWm0tNS0ydjJIMjdWNTRaTTIwLDUyLjM4MmEzLjk0NywzLjk0NywwLDAsMC02LDBWNTBoNlpNMTksNTVhMiwyLDAsMSwxLTItMkEyLDIsMCwwLDEsMTksNTVaTTYsNTRoNnYySDZabTYtNHYySDZWNTBaTTYsNThoNnYySDZabTgsMlY1Ny42MThhMy45NDcsMy45NDcsMCwwLDAsNiwwVjYwWm0xMy0yaDN2MkgyN1ptNSwwaDN2MkgzMlptNSwyVjU4aDN2MloiLz4KICAgICAgICA8cGF0aCBkPSJNNTcsNTZhMSwxLDAsMCwwLDEtMVY1MWExLDEsMCwwLDAtMS0xSDQ5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxWm0tNy00aDZ2Mkg1MFoiLz4KICAgICAgICA8cGF0aCBkPSJNNjAsMjkuMTg0VjI2YTEsMSwwLDAsMC0xLTFINTVhMSwxLDAsMCwwLTEsMXYzLjE4NEEzLDMsMCwwLDAsNTIsMzJ2N2EyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDlWMzRhMSwxLDAsMCwwLDAtMkg0MWExLDEsMCwwLDAsMCwydjZIMzhWMzFhMSwxLDAsMCwwLTEtMUgyNWExLDEsMCwwLDAtMSwxdjlIMjJWMzlhMSwxLDAsMCwwLTIsMHYxSDE0VjMzLjQxNGEyLjM5NCwyLjM5NCwwLDAsMSwuNzA3LTEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDE2LDI4LjU4NlYyN2gydjEuNTg2YTQuMzg1LDQuMzg1LDAsMCwwLDEuMjkzLDMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDIwLDMzLjQxNFYzNWExLDEsMCwwLDAsMiwwVjMzLjQxNGE0LjM4NSw0LjM4NSwwLDAsMC0xLjI5My0zLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwyMCwyOC41ODZWMjZhMSwxLDAsMCwwLTEtMUgxNWExLDEsMCwwLDAtMSwxdjIuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDYsNC41MTUsNC41MTUsMCwwLDAtLjI5My4zNTcsNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDEyLDI4LjU4NlYyNmExLDEsMCwwLDAtMS0xSDdhMSwxLDAsMCwwLTEsMXYyLjU4NmEyLjM5NCwyLjM5NCwwLDAsMS0uNzA3LDEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDQsMzMuNDE0VjQwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsLjctMS43MTNBMi45NjQsMi45NjQsMCwwLDAsNjIsMzlWMzJBMywzLDAsMCwwLDYwLDI5LjE4NFpNNi43MDcsMzEuNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDgsMjguNTg2VjI3aDJ2MS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMTIsMzMuNDE0VjM1SDZWMzMuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDYuNzA3LDMxLjcwOFpNNiwzN2g2djNINlpNNTYsMjdoMnYySDU2Wm0tMSw0aDRhMSwxLDAsMCwxLDEsMXYzSDU0VjMyQTEsMSwwLDAsMSw1NSwzMVpNMzYsMzZIMzJWMzJoNFptLTYtNHYySDI2VjMyWm0tNCw0aDR2NEgyNlptNiw0VjM4aDR2MlptMTEsMFYzNGg0djZabTEyLDBhMSwxLDAsMCwxLTEtMVYzN2g2djJhMSwxLDAsMCwxLTEsMVoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",dxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTA0IDQ4LjAxNTYyNWgtNDk2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTktOC04di0zMi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OTZjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHYzMi4wMTU2MjVjMCA0LjQyNTc4MS0zLjU3NDIxOSA4LTggOHptLTQ4OC0xNmg0ODB2LTE2LjAxNTYyNWgtNDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQwIDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDk2IDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00NzIgMTg0LjEyODkwNmgtNDMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcxLjk4NDM3NSAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMjIuMDU4NTk0IDE3LjkzNzUtNDAgMzkuOTkyMTg3LTQwIDQuNDIxODc2IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNCA4LTggOC0xMy4yMjI2NTYgMC0yMy45OTIxODcgMTAuNzY1NjI1LTIzLjk5MjE4NyAyNCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTc5Ljk4NDM3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTIwLjAwNzgxMiAxMjguMTI4OTA2aC0xNi4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAzMTI1YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjM0Mzc1LTEwLjc2OTUzMS0yNC0yMy45OTIxODgtMjQtNC40MjE4NzQgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI2LTggOC04IDIyLjA1NDY4OCAwIDM5Ljk5MjE4OCAxNy45NDE0MDYgMzkuOTkyMTg4IDQwIDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xODMuOTg0Mzc1IDEzOC45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDIuODM5ODQ0YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LTggNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOHY0Mi44Mzk4NDRjMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzIgODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIwMCA5Ni4xMjg5MDZoLTE2LjAxNTYyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAxNTYyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNDcuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI4MC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOC00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggMTMuMjM0Mzc1IDAgMjQgMTAuNzY1NjI1IDI0IDI0IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzIuMTY3OTY5IDI2NC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQ3Ljk4NDM3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djQ3Ljk4NDM3NWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1Ni4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZjLTQuNDIxODc1IDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzI4LjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2aC04MC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg4MC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41ODIwMzEgOC04LjAwNzgxMyA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjY0LjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOHYtNDhjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djQ4YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjE5OTIxOSAyMTYuMTQ0NTMxaC00OC4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ4LjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMi4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Dxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K",hxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNzMgNTEyLjI3MyIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTUwNy44OTEgMjM4LjM5OWMtNi43MjMtMzUuODgxLTIxLjg1My02Ni45MDUtNDMuNzU1LTg5LjcxOC05Ljg0NS0xMC4yNTMtMjEuNDU2LTE5Ljc1LTM0LjUxNC0yOC4yMjctMTQuOTQtOS42OTktMzIuMTkyLTE4LjQzOC01NC4yOTMtMjcuNTAzLTkuNjg0LTMuOTcyLTE5LjM3NS03LjYzNy0yOC40MDYtMTEuMDA1LTE0LjY0Mi01LjQ2LTMwLjA2NC0xMC45NTgtNDUuODQzLTE2LjMzNy01LjQyNy0xLjg1MS0xMC45MjEtMy42MDYtMTYuMjM0LTUuMzAzLTguNTA1LTIuNzE3LTE3LjMtNS41MjctMjUuNzcxLTguNzIxLTUuMjI0LTEuOTctNy40MjYtMy40NjQtOC4zMjEtNC4yNTguMDQ2LS4wNTYuMDk2LS4xMTUuMTUxLS4xNzcgNC4wNDgtNC42MTUgMjcuNjAzLTIzLjEwNSA0MS41MDEtMzMuNjc3IDIuNTYyLTEuOTQ5IDMuNTk1LTUuMzE1IDIuNTY2LTguMzY1cy0zLjg4OS01LjEwNC03LjEwNy01LjEwNGwtMTU0LjA1Mi0uMDA0Yy0xLjMyMSAwLTIuNjE5LjM0OS0zLjc2MiAxLjAxMi0xNy4yODIgMTAuMDIxLTMxLjYyMyAyNS43OS0zOS4zNDYgNDMuMjYyLTguOTQ2IDIwLjI0LTkuMDE2IDQxLjQyNS0uMjAyIDYxLjI2MyAxMi4wNyAyNy4xNjcgMzcuNTY3IDQyLjIzNyA2MC4wNjMgNTUuNTMzIDUuODcgMy40NjkgMTEuNDE0IDYuNzQ2IDE2LjY1NSAxMC4xNjcgMy4wOTUgMi4wMiA2LjI3MyA0LjAwMyA5LjM0NyA1LjkyMiAxMS41NDUgNy4yMDggMjIuNDUgMTQuMDE2IDMxLjE2NyAyMy42MDQgOC45ODEgOS44NzcgMTEuNjkzIDIyLjUwMSA3Ljg0MiAzNi41MDctOC45NDggMzIuNTQ0LTM1LjU0NCA2MS43ODEtNTkuMDA5IDg3LjU3Ni00LjM0MiA0Ljc3My04LjQ0MiA5LjI4MS0xMi40MDkgMTMuNzc2LTExLjEwNyAxMi41ODctMjcuMzkzIDMwLjg5LTQ0LjYzNCA1MC4yNjctNTYuODY5IDYzLjkxNC05NC40MTUgMTA2LjIyOS05OCAxMTEuODQ2LTEuNDc0IDIuMzA5LTEuNTcxIDUuMjM4LS4yNTQgNy42NCAxLjMxNiAyLjQwMiAzLjgzOCAzLjg5NSA2LjU3NyAzLjg5NWw0NDYuMzE2LjAwM2guMDAxYzMuMjUxIDAgNi4xMzItMi4wOTQgNy4xMzUtNS4xODcgMTEuNjU5LTM1Ljk2IDIyLjIxMi03Mi4yMzIgMzUuMjgzLTEyMS4yODMgMTUuNTkxLTU4LjUxNSAxOS4xODUtMTA1LjM1NCAxMS4zMDgtMTQ3LjQwNHptLTI1LjgwMyAxNDMuNTQzYy0xMi4zNyA0Ni40Mi0yMi40NjQgODEuMzA1LTMzLjM4NSAxMTUuMzMxbC0yNi45NC0uMDAyYzEuMjg4LTMuOTQ4IDIuNTczLTcuOTAzIDMuODYxLTExLjg0MiAxMS41OC0zNS40MSAyMi44NzctNzAuOTI1IDMyLjUwNC0xMDYuODg4IDEuNTM1LTUuNzQgMy4xMjItMTEuNjc0IDQuNjctMTcuNjQ1IDEuMDQtNC4wMDktMS4zNjgtOC4xMDMtNS4zNzgtOS4xNDItNC4wMDktMS4wMzgtOC4xMDIgMS4zNjktOS4xNDIgNS4zNzgtMS41MzMgNS45MTQtMy4xMTMgMTEuODItNC42NDEgMTcuNTMxLTkuNDM5IDM1LjI3NS0yMC43OTcgNzEuMDI1LTMyLjI3IDEwNi4xMDQtMS43OTcgNS40OTMtMy41OTUgMTAuOTkyLTUuMzg5IDE2LjUwNGgtMTU3Ljk3OGMtLjQzMi0xLjg1OC0xLjU2Ny0zLjU1My0zLjMwOS00LjY0OS0zLjUwNC0yLjIwNi04LjEzNi0xLjE1Mi0xMC4zNDIgMi4zNTMtLjQ5NS43ODYtLjk3MyAxLjU0Mi0xLjQ0OSAyLjI5NmgtMTU2LjIzNGMyNC40NzMtMzAuNTUxIDkxLjg5Ny0xMTIuMDczIDEyNC4yMzgtMTQ4LjcyNCAxNy4yNC0xOS41MzcgMzEuMzY4LTM4LjcyNiA0MS45OTQtNTcuMDMzIDE3LjU5OC0zMC4zMTkgMjQuNTY3LTU2Ljc2NSAyMC43MTYtNzguNjAxLTguMjczLTQ2LjkwOS00NS4xMjctNjUuNzY0LTc3LjY0My04Mi4zOTgtMy40MzktMS43NTktNi45OTUtMy41NzktMTAuNDA3LTUuMzc1bC0uNjA5LS4zMjFjLTMuNjYzLTEuOTMzLTguMi0uNTMtMTAuMTMzIDMuMTMzcy0uNTMgOC4yIDMuMTMzIDEwLjEzM2wuNjE2LjMyNWMzLjQ5NiAxLjg0IDcuMDkxIDMuNjggMTAuNTY4IDUuNDU4IDMyLjI1NyAxNi41MDIgNjIuNzI2IDMyLjA5IDY5LjcwMyA3MS42NSAzLjIyIDE4LjI1Ni0zLjE0NSA0MS4yOTEtMTguOTE3IDY4LjQ2Ni05Ljk4OSAxNy4yMS0yMy45MTQgMzYuMTA0LTQwLjI2OCA1NC42MzgtMzUuMjg2IDM5Ljk4OC0xMTYuMDk4IDEzNy44MzgtMTMyLjA1NiAxNTguNjQ4aC0zMy44NWMxNy44ODItMjAuNzUzIDU2Ljc0NC02NC40MjggODYuOTgxLTk4LjQxMSAxNy4yNTItMTkuMzg5IDMzLjU0Ny0zNy43MDIgNDQuNjc1LTUwLjMxMyAzLjg5Mi00LjQxIDcuOTU2LTguODc4IDEyLjI1OC0xMy42MDcgMjQuNTk3LTI3LjA0IDUyLjQ3Ni01Ny42ODggNjIuMzc1LTkzLjY5MyA1LjIwNy0xOC45MzkgMS4yMjctMzYuOS0xMS4yMDctNTAuNTc1LTE2LjQyMy0xOC4wNjItMzkuODYzLTMwLjIzNy02MC42MzUtNDIuNTE0LTIxLjU2NS0xMi43NDYtNDMuODY0LTI1LjkyNi01My45ODctNDguNzEtMTUuMDIzLTMzLjgxNSA0LjM2Ni02Ny43MTggMzEuNjY3LTg0LjQ0N2gxMy42MzljLTIwLjU1NyAxNS4wNzQtMzIuNTY4IDMwLjMwNS0zNi40OTQgNDYuMTk1LTMuMTgzIDEyLjg4Mi0uODEzIDI1Ljc1NiA3LjA0NSAzOC4yNjUgNC4zMjQgNi44ODMgOS45MDQgMTMuMTEyIDE3LjA1OCAxOS4wNDIgMy4xODggMi42NDMgNy45MTYgMi4yMDEgMTAuNTYxLS45ODggMi42NDMtMy4xODkgMi4yMDEtNy45MTctLjk4OC0xMC41NjEtNS45MDktNC44OTgtMTAuNDY1LTkuOTU5LTEzLjkyOS0xNS40NzItNS42ODgtOS4wNTYtNy4zODQtMTcuNzg2LTUuMTg1LTI2LjY4OCAzLjk3OS0xNi4xMDMgMjAuNTY4LTMyLjg1MSA0OS4zMTQtNDkuNzkzaDUwLjcxNWMtMTMuMzA2IDEwLjQ3OS0yOC4xMDUgMjQuNzc1LTI0LjA5NSA0Mi4zNTMgMy45NzkgMTcuNDQxIDI0LjE3NyAyNy4xNzkgMzkuMTc4IDMzLjQ3MiAxOS41NTggOC4yMDUgMzkuODM1IDE0LjcyIDU5LjQ0NSAyMS4wMjEgMzIuMDg4IDEwLjMxIDY1LjI2OSAyMC45NzEgOTUuMDAzIDM5LjEzNyAzMy45MzQgMjAuNzMxIDU1LjUxOCA1MS4xNTggNjIuNDIgODcuOTg5IDQuNDc4IDIzLjg5NiAzLjQyNiA1MC42MzQtMy4zMTEgODQuMTUybC0uMTA3LjUzNmMtLjgxNCA0LjA2MiAxLjgxOCA4LjAxNCA1Ljg4IDguODI4LjQ5OC4xLjk5My4xNDcgMS40ODEuMTQ3IDMuNTAxIDAgNi42MzItMi40NjQgNy4zNDYtNi4wMjhsLjEwNi0uNTMyYzcuMTI4LTM1LjQ2MiA4LjE5MS02NC4wMTggMy4zNDktODkuODY3LTcuNzA3LTQxLjEyMy0zMS42ODYtNzUuMDItNjkuMzQ0LTk4LjAyNi0zMS4yNjItMTkuMDk5LTY1LjMwOS0zMC4wMzktOTguMjM0LTQwLjYxOC0xOS4zMDctNi4yMDMtMzkuMjcxLTEyLjYxOC01OC4yMy0yMC41NzItNS43ODctMi40MjktMTAuNzEyLTQuOTEyLTE1LjA1Ny03LjU5LTUuNDY0LTMuMzY4LTEzLjcyMS04LjQ1Ny0xNS4zMDItMTUuMzg4LTIuNTc5LTExLjMwOSAxNC4zMy0yMy45OTggMjUuNTItMzIuMzk1IDMuMjE2LTIuNDE0IDYuMTA2LTQuNTg1IDguNDczLTYuNjE3IDAgMCAxMy43ODkgMCAxMy43ODcuMDAyLTkuODkyIDcuNzg2LTM0LjE1NiAxOS43MzMtMzAuMTc0IDM1LjY1MyAxLjk5OCA3Ljk4NiAxMC42ODggMTIuMTkxIDE4LjAzNSAxNC45NjIgMTMuOTgxIDUuMjcyIDI4LjMyNCA5LjM2NyA0Mi40NTYgMTQuMTg2IDE1LjY0NCA1LjMzNSAzMC45MzMgMTAuNzgzIDQ1LjQ0MiAxNi4xOTUgOC45MTMgMy4zMjUgMTguNDcgNi45MzggMjcuOTU3IDEwLjgyOSAyMS4yMTQgOC43MDEgMzcuNjc5IDE3LjAyOCA1MS44MTYgMjYuMjA2IDEyLjA5NCA3Ljg1MiAyMi44MTMgMTYuNjExIDMxLjg2MSAyNi4wMzUgMTkuODc1IDIwLjcwMSAzMy42NDggNDkuMDg4IDM5LjgzMSA4Mi4wOTEgNy40NTEgMzkuNzcxIDMuOTM3IDg0LjUwNS0xMS4wNTggMTQwLjc4MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQ0LjM2NSAxOTkuNDA3YzEuNDYxIDIuMDczIDMuNzggMy4xOCA2LjEzOCAzLjE4IDEuNDkyIDAgMy0uNDQ0IDQuMzEzLTEuMzcgMy4zODYtMi4zODYgNC4xOTYtNy4wNjUgMS44MTEtMTAuNDUxLTQuMTA5LTUuODMxLTguODExLTExLjI5My0xMy45NzMtMTYuMjMzLTIuOTkzLTIuODY1LTcuNzQxLTIuNzYtMTAuNjA0LjIzMi0yLjg2NCAyLjk5My0yLjc2MSA3Ljc0LjIzMiAxMC42MDQgNC40NjUgNC4yNzQgOC41MzEgOC45OTcgMTIuMDgzIDE0LjAzOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjU1LjA4MyAxMjIuNTE4LS40NzMtLjI0NmMtNS43NzYtMi45OTMtMTEuNTQ1LTUuOTgzLTE3LjMzNC04Ljk0NS0zLjY4NC0xLjg4My04LjIwNi0uNDI2LTEwLjA5MyAzLjI2Mi0xLjg4NiAzLjY4OC0uNDI2IDguMjA2IDMuMjYyIDEwLjA5MyA1Ljc2NSAyLjk0OSAxMS41MTEgNS45MjcgMTcuMjYzIDguOTA4bC40NzMuMjQ1YzEuMTA0LjU3MiAyLjI4My44NDMgMy40NDUuODQzIDIuNzEyIDAgNS4zMzEtMS40NzYgNi42NjUtNC4wNSAxLjkwNi0zLjY3OC40Ny04LjIwNC0zLjIwOC0xMC4xMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc5LjY4MyA1Ny41ODRjMS43NDQtNS41MSA0LjcxOS0xMC4xOTYgOC4xNjMtMTIuODU2IDMuMjc4LTIuNTMyIDMuODgyLTcuMjQyIDEuMzUxLTEwLjUyLTIuNTM0LTMuMjc5LTcuMjQ0LTMuODgyLTEwLjUyMS0xLjM1MS01Ljg4OSA0LjU0OS0xMC42MSAxMS43MjQtMTMuMjkzIDIwLjIwMS0xLjI1IDMuOTQ5LjkzOCA4LjE2NCA0Ljg4NyA5LjQxNC43NTMuMjM4IDEuNTE1LjM1MiAyLjI2NS4zNTIgMy4xODItLjAwMSA2LjEzNi0yLjA0MyA3LjE0OC01LjI0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDEuMTM2IDk1LjkwM2MtNi43NTEtMy4zMTQtMTEuNDI0LTYuMjY4LTE1LjE1Mi05LjU3Ni0zLjA5OC0yLjc1LTcuODM4LTIuNDY2LTEwLjU4OC42MzEtMi43NSAzLjA5OC0yLjQ2NyA3LjgzOC42MzEgMTAuNTg4IDQuNzc5IDQuMjQyIDEwLjQ4NCA3Ljg4OCAxOC40OTkgMTEuODIyIDEuMDYzLjUyMiAyLjE5Ljc2OSAzLjMuNzY5IDIuNzcgMCA1LjQzNS0xLjU0MiA2LjczOC00LjE5NiAxLjgyNS0zLjcxOC4yOS04LjIxMi0zLjQyOC0xMC4wMzh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI3NS44NTUgNDQxLjI3NmMtMy41NTMtMi4xMjYtOC4xNTktLjk3Mi0xMC4yODcgMi41ODMtMy40OTQgNS44MzUtNi45NDkgMTEuNTc2LTEwLjMwNiAxNy4xMjItMi4xNDUgMy41NDMtMS4wMTEgOC4xNTUgMi41MzMgMTAuMjk5IDEuMjE1LjczNSAyLjU1NCAxLjA4NSAzLjg3NyAxLjA4NSAyLjUzNyAwIDUuMDE0LTEuMjg4IDYuNDIzLTMuNjE4IDMuMzY4LTUuNTY1IDYuODM3LTExLjMyNyAxMC4zNDMtMTcuMTgzIDIuMTI3LTMuNTU0Ljk3MS04LjE2LTIuNTgzLTEwLjI4OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzY0Ljg2NCAyMjQuMTUyYy00LjA2Ny43ODYtNi43MjcgNC43Mi01Ljk0IDguNzg3LjkxIDQuNzEzIDEuMzcyIDkuNDY4IDEuMzcyIDE0LjEzMiAwIC4zNTgtLjAwMy43MTYtLjAwOSAxLjA5LS4wMTUuOTc2LS4wNDQgMS45NDctLjA4NyAyLjkxNS0uMTg3IDQuMTM4IDMuMDE4IDcuNjQzIDcuMTU1IDcuODI5LjExNS4wMDUuMjI5LjAwOC4zNDMuMDA4IDMuOTg2IDAgNy4zMDYtMy4xNCA3LjQ4Ni03LjE2My4wNTEtMS4xMTcuMDg0LTIuMjM5LjEwMS0zLjM1LjAwOC0uNDQzLjAxMS0uODg3LjAxMS0xLjMzIDAtNS42MTctLjU1NC0xMS4zMy0xLjY0NS0xNi45NzgtLjc4Ny00LjA2Ny00LjcyOC02LjcyNS04Ljc4Ny01Ljk0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDYuMjU0IDM4OS40ODFjLTMuNTgyLTIuMDczLTguMTcyLS44NTMtMTAuMjQ5IDIuNzMxLTMuMjMyIDUuNTgyLTYuNjA2IDExLjM3LTEwLjA2MiAxNy4yNjEtMi4wOTYgMy41NzMtLjg5NyA4LjE2OCAyLjY3NiAxMC4yNjQgMS4xOTIuNjk5IDIuNDk4IDEuMDMxIDMuNzg3IDEuMDMxIDIuNTc0IDAgNS4wOC0xLjMyNiA2LjQ3Ny0zLjcwNyAzLjQ2OS01LjkxNSA2Ljg1Ni0xMS43MjggMTAuMTAzLTE3LjMzMiAyLjA3Ni0zLjU4My44NTItOC4xNzEtMi43MzItMTAuMjQ4eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjEuOTI5IDI4My4zMTRjLTMuODgzLTEuNDQ2LTguMjAxLjUzLTkuNjQ2IDQuNDEzLTIuMDkxIDUuNjE5LTQuNTkyIDExLjQwNC03LjY0NiAxNy42ODYtMS44MTEgMy43MjUtLjI1OSA4LjIxMyAzLjQ2NiAxMC4wMjQgMS4wNTcuNTE0IDIuMTc0Ljc1NiAzLjI3My43NTYgMi43ODEgMCA1LjQ1NC0xLjU1MyA2Ljc1MS00LjIyMyAzLjI2Ni02LjcxOCA1Ljk1Mi0xMi45MzcgOC4yMTQtMTkuMDExIDEuNDQ1LTMuODgyLS41My04LjItNC40MTItOS42NDV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzNS45MiAzMzcuMjc1Yy0zLjU4NS0yLjA3NS04LjE3My0uODUyLTEwLjI0OSAyLjczMy0zLjEwOSA1LjM3Mi02LjYzNCAxMS40Ni05Ljk3NSAxNy41MTctMiAzLjYyNy0uNjgyIDguMTg5IDIuOTQ1IDEwLjE5IDEuMTQ4LjYzMyAyLjM5MS45MzQgMy42MTUuOTM0IDIuNjQ0IDAgNS4yMDctMS40MDEgNi41NzQtMy44NzkgMy4yNjYtNS45MiA2Ljc0OS0xMS45MzggOS44MjItMTcuMjQ3IDIuMDc3LTMuNTg1Ljg1Mi04LjE3Mi0yLjczMi0xMC4yNDh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMwOC4wMDEgMTUxLjQwMmMtMy4yMTgtMS44MzgtNi40NzQtMy43NjMtOS42MjEtNS42MjQtMi41MzEtMS40OTYtNS4wNTktMi45OS03LjYtNC40NjEtMy41ODYtMi4wNzUtOC4xNzQtLjg1Mi0xMC4yNDggMi43MzMtMi4wNzYgMy41ODQtLjg1MyA4LjE3MyAyLjczMiAxMC4yNDkgMi41MDEgMS40NDggNC45OSAyLjkxOSA3LjQ4MiA0LjM5MyAzLjE5NCAxLjg4OCA2LjQ5OCAzLjg0MSA5LjgxMyA1LjczNSAxLjE3NC42NyAyLjQ1Mi45ODkgMy43MTQuOTg5IDIuNjA0IDAgNS4xMzUtMS4zNTggNi41MTktMy43ODEgMi4wNTYtMy41OTcuODA2LTguMTc4LTIuNzkxLTEwLjIzM3oiLz4KICAgIDwvZz4KPC9zdmc+",zxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cmVjdCB4PSIxODguNjMyIiB5PSIyNTYiIHdpZHRoPSIzNS45MyIgaGVpZ2h0PSIxNy45NjUiLz4KICAgICAgICA8cGF0aCBkPSJNNDQxLjkxNyw0NzEuNTc5bDE2LjAzOS04OC4yMTljMC40ODItMi42MjMtMC4yMjgtNS4zMTYtMS45MzktNy4zNmMtMS43MDItMi4wNDQtNC4yMjgtMy4yMjgtNi44OTUtMy4yMjhoLTg5LjgyNQoJCQljLTIuNjY3LDAtNS4xOTMsMS4xODQtNi44OTUsMy4yMjhjLTEuNzExLDIuMDQ0LTIuNDIxLDQuNzM3LTEuOTM5LDcuMzZsMTYuMDM5LDg4LjIxOUgyNjAuNDkxVjMxLjQzOQoJCQljMC00Ljk2NS00LjAxOC04Ljk4Mi04Ljk4Mi04Ljk4Mkg1My44OTVjLTQuOTY1LDAtOC45ODIsNC4wMTgtOC45ODIsOC45ODJ2NDQwLjE0SDB2MTcuOTY1aDUzLjg5NWgxOTcuNjE0aDEyNS43NTRoNTMuODk1SDUxMgoJCQl2LTE3Ljk2NUg0NDEuOTE3eiBNMjQyLjUyNiw0NzEuNTc5SDYyLjg3N1Y0MC40MjFoMTc5LjY0OVY0NzEuNTc5eiBNNDIzLjY1OCw0NzEuNTc5aC0zOC44OTVsLTE0LjcwMi04MC44NDJoNjguMjk4CgkJCUw0MjMuNjU4LDQ3MS41Nzl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ1OC4xMDUsNzYuMzUxYy0yNy40NTYsMC00NC40ODksMTIuNDk2LTUzLjg5NSwyNS4xOTVjLTkuNDA4LTEyLjY5OS0yNi40MzktMjUuMTk1LTUzLjg5NS0yNS4xOTUKCQkJYy00Ljk2NSwwLTguOTgyLDQuMDE4LTguOTgyLDguOTgyYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJjMzMuNzU0LDAsNDMuMjcyLDIzLjMwNyw0NC45MTIsMjguMjQ2djIzMi4yNDYKCQkJYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJzOC45ODItNC4wMTgsOC45ODItOC45ODJWMTIyLjU3MmMxLjU0NC00LjY4LDEwLjk4Ny0yOC4yNTcsNDQuOTEyLTI4LjI1NwoJCQljNC45NjUsMCw4Ljk4Mi00LjAxOCw4Ljk4Mi04Ljk4MkM0NjcuMDg4LDgwLjM2OCw0NjMuMDcsNzYuMzUxLDQ1OC4xMDUsNzYuMzUxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDExOS4yNjNjLTE1LjU1My0xNS41NTMtMzYuODQyLTIyLjM3Ny01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5NgoJCQljLTQuNTc5LDE4Ljc3MiwyLjIzNyw0MC4wOTcsMTcuNzk4LDU1LjY2N2MxMi4zNiwxMi4zNiwyOC4zNiwxOS4yMDIsNDMuODE2LDE5LjIwMmM0LjAwOSwwLDcuOTgyLTAuNDY1LDExLjg1MS0xLjQwNAoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwxNTYuMTU4LDM4MS4zOTUsMTM0LjgzMywzNjUuODMzLDExOS4yNjN6IE0zNjcuMDA5LDE2NC45MDMKCQkJYy0xMS4xNTgsMC40MzktMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NzksMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcKCQkJQzM2Mi40NzQsMTQxLjMxNiwzNjcuNTcsMTUzLjcwMiwzNjcuMDA5LDE2NC45MDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2NS44MzMsMjAwLjEwNWMtMTUuNTUzLTE1LjU1My0zNi44NDItMjIuMzY5LTU1LjY2Ny0xNy43OThjLTMuMjU0LDAuNzk4LTUuNzk4LDMuMzQyLTYuNTk2LDYuNTk2CgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0CgkJCWMzLjI1NS0wLjc5OCw1Ljc5OC0zLjM0Miw2LjU5Ni02LjU5NkMzODguMjExLDIzNywzODEuMzk1LDIxNS42NzYsMzY1LjgzMywyMDAuMTA1eiBNMzY3LjAwOSwyNDUuNzQ2CgkJCWMtMTEuMTU4LDAuNDkxLTIzLjU5Ni00LjU0NC0zMi45MzktMTMuODc3Yy05LjM0Mi05LjM1MS0xNC40MzktMjEuNzM3LTEzLjg3Ny0zMi45MzljMTEuMTIzLTAuNTM1LDIzLjU4OCw0LjUzNSwzMi45MzksMTMuODc3CgkJCUMzNjIuNDc0LDIyMi4xNTgsMzY3LjU3LDIzNC41NDQsMzY3LjAwOSwyNDUuNzQ2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDI4MC45NDdjLTE1LjU1My0xNS41NjEtMzYuODQyLTIyLjM2OS01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5NgoJCQljLTQuNTc5LDE4Ljc3MiwyLjIzNyw0MC4wOTcsMTcuNzk4LDU1LjY2N2MxMi4zNiwxMi4zNiwyOC4zNiwxOS4yMDIsNDMuODE2LDE5LjIwMmM0LjAwOSwwLDcuOTgyLTAuNDY1LDExLjg1MS0xLjQwNAoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwzMTcuODQyLDM4MS4zOTUsMjk2LjUxOCwzNjUuODMzLDI4MC45NDd6IE0zNjcuMDA5LDMyNi41ODgKCQkJYy0xMS4xNTgsMC40NDctMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NywyMy41ODgsNC41MzUsMzIuOTM5LDEzLjg3NwoJCQlDMzYyLjQ3NCwzMDMsMzY3LjU3LDMxNS4zODYsMzY3LjAwOSwzMjYuNTg4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDkuMzg2LDEwOC4wNjFjLTAuNzk4LTMuMjU0LTMuMzQyLTUuNzk4LTYuNTk2LTYuNTk2Yy0xOC43ODktNC41Ny00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OAoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjgsMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0CgkJCWMxNS40NjUsMCwzMS40NjUtNi44NDIsNDMuODI1LTE5LjIwMkM1MDcuMTQ5LDE0OC4xNTgsNTEzLjk2NSwxMjYuODMzLDUwOS4zODYsMTA4LjA2MXogTTQ3OC44ODYsMTUxLjAyNgoJCQljLTkuMzUxLDkuMzQyLTIxLjg3NywxNC4zMjUtMzIuOTM5LDEzLjg3N2MtMC41NjEtMTEuMjAyLDQuNTM1LTIzLjU4OCwxMy44NzctMzIuOTM5YzkuMzUxLTkuMzQyLDIxLjc5OC0xNC40NDcsMzIuOTM5LTEzLjg3NwoJCQlDNDkzLjMyNSwxMjkuMjg5LDQ4OC4yMjgsMTQxLjY3NSw0NzguODg2LDE1MS4wMjZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwOS4zODYsMTg4LjkwM2MtMC43OTgtMy4yNTQtMy4zNDItNS43OTgtNi41OTYtNi41OTZjLTE4Ljc4OS00LjU3OS00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OAoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjksMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0CgkJCWMxNS40NjUsMCwzMS40NjUtNi44NDIsNDMuODI1LTE5LjIwMkM1MDcuMTQ5LDIyOSw1MTMuOTY1LDIwNy42NzYsNTA5LjM4NiwxODguOTAzeiBNNDc4Ljg4NiwyMzEuODY4CgkJCWMtOS4zNTEsOS4zMzMtMjEuODc3LDE0LjM2OC0zMi45MzksMTMuODc3Yy0wLjU2MS0xMS4yMDIsNC41MzUtMjMuNTg4LDEzLjg3Ny0zMi45MzljOS4zNTEtOS4zNDIsMjEuNzk4LTE0LjQwMywzMi45MzktMTMuODc3CgkJCUM0OTMuMzI1LDIxMC4xMzIsNDg4LjIyOCwyMjIuNTE3LDQ3OC44ODYsMjMxLjg2OHoiLz4KICAgICAgICA8cGF0aCBkPSJNNTA5LjM4NiwyNjkuNzQ2Yy0wLjc5OC0zLjI1NC0zLjM0Mi01Ljc5OC02LjU5Ni02LjU5NmMtMTguNzg5LTQuNTc5LTQwLjEwNSwyLjIzNy01NS42NjcsMTcuNzk4CgkJCWMtMTUuNTYxLDE1LjU3LTIyLjM3NywzNi44OTUtMTcuNzk4LDU1LjY2N2MwLjc5OCwzLjI1NSwzLjM0Miw1Ljc5OCw2LjU5Niw2LjU5NmMzLjg2OSwwLjkzOSw3LjgzMywxLjQwNCwxMS44NDIsMS40MDQKCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMzA5Ljg0Miw1MTMuOTY1LDI4OC41MTgsNTA5LjM4NiwyNjkuNzQ2eiBNNDc4Ljg4NiwzMTIuNzEKCQkJYy05LjM1MSw5LjM0Mi0yMS44NzcsMTQuMzMzLTMyLjkzOSwxMy44NzdjLTAuNTYxLTExLjIwMiw0LjUzNS0yMy41ODgsMTMuODc3LTMyLjkzOWM5LjM1MS05LjM0MiwyMS43OTgtMTQuNDQ3LDMyLjkzOS0xMy44NzcKCQkJQzQ5My4zMjUsMjkwLjk3NCw0ODguMjI4LDMwMy4zNiw0NzguODg2LDMxMi43MXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",wxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDIzMC41NjZoMjMyLjEzNWMyMi40MDUgMCA0MC42MzQtMTguMjI4IDQwLjYzNC00MC42MzN2LTE0OS4zYy0uMDAxLTIyLjQwNS0xOC4yMjktNDAuNjMzLTQwLjYzNS00MC42MzNoLTIzMi4xMzRjLTIyLjQwNSAwLTQwLjYzNCAxOC4yMjgtNDAuNjM0IDQwLjYzM3YxNDkuMjk5YzAgMjIuNDA2IDE4LjIyOCA0MC42MzQgNDAuNjM0IDQwLjYzNHptLTI1LjYzNC0xODkuOTMzYzAtMTQuMTM0IDExLjQ5OS0yNS42MzMgMjUuNjM0LTI1LjYzM2gyMzIuMTM1YzE0LjEzNSAwIDI1LjYzNCAxMS40OTkgMjUuNjM0IDI1LjYzM3YxNDkuMjk5YzAgMTQuMTM0LTExLjQ5OSAyNS42MzMtMjUuNjM0IDI1LjYzM2gtMjMyLjEzNWMtMTQuMTM1IDAtMjUuNjM0LTExLjQ5OS0yNS42MzQtMjUuNjMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDUuMTEgMTY0LjgxM2MxMC40MjMgMi4wODEgMTguODUgMTAuMTggMjAuOTcgMjAuMTU3IDEuNTM2IDcuMjIyIDguMDIyIDEyLjQ2MyAxNS40MjIgMTIuNDYzaDE0OC45NDdjNy40OCAwIDEzLjk4LTUuMzEgMTUuNDU1LTEyLjYyNCAyLjExNS0xMC40ODIgMTAuNTc2LTE4LjkzNiAyMS4wNTItMjEuMDM4IDcuMzA4LTEuNDY2IDEyLjYxMS03Ljk2NSAxMi42MTEtMTUuNDU0di02Ni4wNjdjMC03LjQ4NC01LjMxMS0xMy45ODUtMTIuNjI3LTE1LjQ1Ny0xMC40NzItMi4xMDctMTguOTI1LTEwLjU2My0yMS4wMzYtMjEuMDQxLTEuNDc1LTcuMzEyLTcuOTY3LTEyLjYxOC0xNS40MzktMTIuNjE4aC0xNDguOTcxYy03LjM5NSAwLTEzLjg3OCA1LjI0Mi0xNS40MTQgMTIuNDY1LTIuMTE4IDkuOTY5LTEwLjU0IDE4LjA2Ny0yMC45NTUgMjAuMTUzLTcuMzU1IDEuNDcyLTEyLjY5MiA3Ljk3OS0xMi42OTIgMTUuNDd2NjguMTI1YzAgNy40OTQgNS4zMzEgMTMuOTk5IDEyLjY3NyAxNS40NjZ6bTIuMzIzLTgzLjU5MmMwLS4zNzQuMjYyLS42ODcuNjM4LS43NjIgMTYuMjAzLTMuMjQ0IDI5LjMzNy0xNiAzMi42ODItMzEuNzQxLjA3My0uMzQ0LjM3OC0uNTg1Ljc0Mi0uNTg1aDE0OC45NzJjLjM1NyAwIC42NjYuMjQ1LjczMy41ODMgMy4yOSAxNi4zMjUgMTYuNDY0IDI5LjQ5OSAzMi43ODIgMzIuNzgyLjM0LjA2OC41ODYuMzg1LjU4Ni43NTJ2NjYuMDY3YzAgLjM2MS0uMjQxLjY4My0uNTYxLjc0Ny0xNi4zMjYgMy4yNzQtMjkuNTEgMTYuNDQ3LTMyLjgwNiAzMi43NzgtLjA2OS4zNDItLjM4Ni41OTEtLjc1Mi41OTFoLTE0OC45NDdjLS4zNjIgMC0uNjc4LS4yNDYtLjc1LS41ODItMy4zNDctMTUuNzUyLTE2LjQ5LTI4LjUxMS0zMi43MDUtMzEuNzQ4LS4zNTctLjA3MS0uNjE0LS4zODktLjYxNC0uNzU3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNzIuMDY3IDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU4IDcuNSA3LjUgNy41eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDE5OS41MDNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXYtNC4xNDJjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NC4xNDJjMCA0LjE0MyAzLjM1NyA3LjUgNy41IDcuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcyLjA2NyAxODAuMzYyYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41djQuMTQyYzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTQuMTQyYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4OS43MzMgMTY0LjFoNDkuN2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNS42MzNoMTcuMzVjMi42IDAgNS4wMTQtMS4zNDYgNi4zOC0zLjU1N3MxLjQ5MS00Ljk3Mi4zMjgtNy4yOTdsLTI0Ljg1LTQ5LjdjLTEuMjcxLTIuNTQxLTMuODY3LTQuMTQ2LTYuNzA4LTQuMTQ2cy01LjQzOCAxLjYwNS02LjcwOCA0LjE0NmwtMTQuNDkzIDI4Ljk4N2gtMjguNDk4Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41djQ5LjdjLS4wMDEgNC4xNDIgMy4zNTcgNy41IDcuNDk5IDcuNXptNDkuNzAxLTczLjU2MyAxMi43MTUgMjUuNDNoLTI1LjQzem0tNDIuMjAxIDIzLjg2M2gxMy40OThsLTIuODU2IDUuNzEzYy0xLjE2MyAyLjMyNS0xLjAzOCA1LjA4Ni4zMjggNy4yOTdzMy43OCAzLjU1NyA2LjM4IDMuNTU3aDE3LjM1MXYxOC4xMzNoLTM0Ljd2LTM0Ljd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMxMy45ODMgMTQ3LjUzM2MxNy44MzggMCAzMi4zNS0xNC41MTIgMzIuMzUtMzIuMzUgMC0xNy44MzctMTQuNTEyLTMyLjM1LTMyLjM1LTMyLjM1cy0zMi4zNTEgMTQuNTEyLTMyLjM1MSAzMi4zNWMuMDAxIDE3LjgzOCAxNC41MTQgMzIuMzUgMzIuMzUxIDMyLjM1em0wLTQ5LjY5OWM5LjU2NiAwIDE3LjM1IDcuNzgzIDE3LjM1IDE3LjM1cy03Ljc4MyAxNy4zNS0xNy4zNSAxNy4zNS0xNy4zNTEtNy43ODMtMTcuMzUxLTE3LjM1Yy4wMDEtOS41NjcgNy43ODQtMTcuMzUgMTcuMzUxLTE3LjM1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzAuODY3IDI0OC41Yy04LjU0NyAwLTE1LjUgNi45NTMtMTUuNSAxNS41djE3LjEzM2MwIDguNTQ3IDYuOTUzIDE1LjUgMTUuNSAxNS41aDUwLjI2NmM4LjU0NyAwIDE1LjUtNi45NTMgMTUuNS0xNS41di0xNy4xMzNjMC04LjU0Ny02Ljk1My0xNS41LTE1LjUtMTUuNXptNTAuNzY2IDE1LjV2MTcuMTMzYzAgLjI3Ni0uMjI1LjUtLjUuNWgtNTAuMjY2Yy0uMjc1IDAtLjUtLjIyNC0uNS0uNXYtMTcuMTMzYzAtLjI3Ni4yMjUtLjUuNS0uNWg1MC4yNjZjLjI3NSAwIC41LjIyNC41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ5Ni41IDQ2My44NjdoLTE3LjY3MmMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi04LjI4NGMwLTEwLjY1Mi02Ljk1OS0xOS43MDQtMTYuNTY3LTIyLjg2NHYtMTM2LjUwNWM5LjYwOC0zLjE2IDE2LjU2Ny0xMi4yMTIgMTYuNTY3LTIyLjg2NHYtOC4yODRjMC04LjcwMy03LjA4MS0xNS43ODMtMTUuNzg0LTE1Ljc4M2gtMi41NjJjMS4xNDMtMi44IDEuNzc5LTUuODYgMS43NzktOS4wNjcgMC0xMy4yNy0xMC43OTYtMjQuMDY2LTI0LjA2Ni0yNC4wNjZzLTI0LjA2NiAxMC43OTYtMjQuMDY2IDI0LjA2NmMwIDMuMjA3LjYzNSA2LjI2NiAxLjc3OSA5LjA2N2gtMi41NjNjLTguNzAzIDAtMTUuNzgzIDcuMDgxLTE1Ljc4MyAxNS43ODN2OC4yODRjMCAxMC41MTggNi43ODYgMTkuNDc2IDE2LjIwNyAyMi43NDEtMTguNjE2IDE4LjQzOC00MC4wMzcgMzMuMzUxLTYzLjczNCA0NC4zMzctMy43NTggMS43NDItNS4zOTMgNi4yMDEtMy42NSA5Ljk1OCAxLjI3IDIuNzM3IDMuOTc4IDQuMzQ4IDYuODEgNC4zNDggMS4wNTYgMCAyLjEyOS0uMjI0IDMuMTQ5LS42OTggMjEuMDU4LTkuNzYyIDQwLjQyNy0yMi40MzIgNTcuNzg2LTM3Ljc1NHYyMy43MTJjLTQ1LjQxIDM1LjQ5NS0xMDAuMDE0IDU0LjI0Ny0xNTguMTY3IDU0LjI0Ny01OC4xNDggMC0xMTIuNzU2LTE4Ljc1My0xNTguMTY3LTU0LjI0OXYtMjMuNjljNDMuNzY0IDM4LjY5IDk5LjI4IDU5LjgwNSAxNTguMTY3IDU5LjgwNSAyMy41OTIgMCA0Ni45MTMtMy40NDEgNjkuMzE0LTEwLjIyOCAzLjk2NC0xLjIwMSA2LjIwNC01LjM4OCA1LjAwMy05LjM1My0xLjIwMS0zLjk2NC01LjM4OS02LjIwNy05LjM1My01LjAwMy0yMC45ODkgNi4zNTktNDIuODQ3IDkuNTgzLTY0Ljk2NCA5LjU4My01OS41NzIgMC0xMTUuNDYyLTIzLjA3LTE1Ny44MDItNjUuMDE4IDkuNDE5LTMuMjY3IDE2LjIwMi0xMi4yMjQgMTYuMjAyLTIyLjc0di04LjI4NGMwLTguNzAzLTcuMDgtMTUuNzgzLTE1Ljc4My0xNS43ODNoLTIuNTYzYzEuMTQzLTIuOCAxLjc3OS01Ljg2IDEuNzc5LTkuMDY3IDAtMTMuMjctMTAuNzk2LTI0LjA2Ni0yNC4wNjYtMjQuMDY2cy0yNC4wNyAxMC43OTgtMjQuMDcgMjQuMDY4YzAgMy4yMDcuNjM2IDYuMjY2IDEuNzc5IDkuMDY3aC0yLjU2MmMtOC43MDMgMC0xNS43ODQgNy4wODEtMTUuNzg0IDE1Ljc4M3Y4LjI4NGMwIDEwLjY1MiA2Ljk1OSAxOS43MDQgMTYuNTY3IDIyLjg2NHYxMzYuNTA2Yy05LjYwOCAzLjE2LTE2LjU2NyAxMi4yMTItMTYuNTY3IDIyLjg2NHY4LjI4NGMwIC4yNjQuMDI3LjUyMi4wNC43ODNoLTE3LjY3M2MtOC41NDcgMC0xNS41IDYuOTUzLTE1LjUgMTUuNXYxNy4xMzJjMCA4LjU0NyA2Ljk1MyAxNS41IDE1LjUgMTUuNWg1OS44MzNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTU5LjgzM2MtLjI3NSAwLS41LS4yMjQtLjUtLjV2LTE3LjEzM2MwLS4yNzYuMjI1LS41LjUtLjVoNDgxYy4yNzUgMCAuNS4yMjQuNS41djE3LjEzM2MwIC4yNzYtLjIyNS41LS41LjVoLTM5MS4xNjdjLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMzkxLjE2N2M4LjU0NyAwIDE1LjUtNi45NTMgMTUuNS0xNS41di0xNy4xMzNjMC04LjU0Ny02Ljk1My0xNS41LTE1LjUtMTUuNXptLTY3LjMzMy0xNjQuNTc3Yy4xNjEtLjg3OC4xNTgtMS43NzguMDA1LTIuNjU2aDE4LjEyOHYxOC4xMzNoLTE4LjEzM3ptMCA0My45MDRjLjAxMi0uMjM5LjAxMi0uNDc5IDAtLjcxOXYtMTIuNzA5aDE4LjEzM3YxMDAuOTY3aC0xOC4xMzN6bTAtMTAzLjc2MWMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY2LTkuMDY2czkuMDY2IDQuMDY3IDkuMDY2IDkuMDY2LTQuMDY3IDkuMDY3LTkuMDY2IDkuMDY3LTkuMDY2LTQuMDY3LTkuMDY2LTkuMDY3em0tMTYuNTY3IDI0Ljg1YzAtLjQzMi4zNTItLjc4My43ODMtLjc4M2g0OS43Yy40MzMgMCAuNzg0LjM1Mi43ODQuNzgzdjguMjg0YzAgNC45OTktNC4wNjcgOS4wNjYtOS4wNjcgOS4wNjZoLTMzLjEzM2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY2em0tMTU2LjYgMTQ0LjE3NmM1Ny42NDggMCAxMTIuMDA3LTE3LjQyMiAxNTguMTY3LTUwLjUxNHY3My45OTFjLTkuNjA4IDMuMTYtMTYuNTY3IDEyLjIxMi0xNi41NjcgMjIuODY0djguMjg0YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMjgzLjI3OWMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi04LjI4NGMwLTEwLjY1Mi02Ljk1OS0xOS43MDQtMTYuNTY3LTIyLjg2NHYtNzMuOTkyYzQ2LjE2MSAzMy4wOTIgMTAwLjUyMyA1MC41MTUgMTU4LjE2NiA1MC41MTV6bS0xNzMuMTY3LTExMC43ODljLS4wMTIuMjQ3LS4wMTIuNDk1IDAgLjc0MnYxNi4zNTVoLTE4LjEzM3YtMTguMTMzaDE4LjEzM3ptLTE4LjEzMyAzMi4wOTdoMTguMTMzdjEwMC45NjdoLTE4LjEzM3ptMC05MC4zMzRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ni05LjA2NnM5LjA2NiA0LjA2NyA5LjA2NiA5LjA2Ni00LjA2NyA5LjA2Ny05LjA2NiA5LjA2Ny05LjA2Ni00LjA2Ny05LjA2Ni05LjA2N3ptLTE2LjU2NyAyNC44NWMwLS40MzIuMzUyLS43ODMuNzg0LS43ODNoNDkuN2MuNDMyIDAgLjc4My4zNTIuNzgzLjc4M3Y4LjI4NGMwIDQuOTk5LTQuMDY3IDkuMDY2LTkuMDY3IDkuMDY2aC0zMy4xMzNjLTUgMC05LjA2Ny00LjA2Ny05LjA2Ny05LjA2NnptLjc4NCAxOTkuNTg0Yy0uNDMzIDAtLjc4NC0uMzUyLS43ODQtLjc4M3YtOC4yODRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ny05LjA2NmgzMy4xMzNjNSAwIDkuMDY3IDQuMDY3IDkuMDY3IDkuMDY2djguMjg0YzAgLjQzMi0uMzUyLjc4My0uNzgzLjc4M3ptMzY0LjQ2NiAwYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtOC4yODRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ny05LjA2NmgzMy4xMzNjNSAwIDkuMDY3IDQuMDY3IDkuMDY3IDkuMDY2djguMjg0YzAgLjQzMi0uMzUyLjc4My0uNzg0Ljc4M3oiLz4KICAgIDwvZz4KPC9zdmc+",Cxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDc0LjYwOCw4MC40MzlsLTIzMi04MGMtMS42OS0wLjU4My0zLjUyNi0wLjU4My01LjIxNiwwbC0yMzIsODBDMi4xNjYsODEuNTUxLDAuMDAxLDg0LjU4NywwLDg3Ljk5OXYzODQKCQkJYzAsNC40MTgsMy41ODIsOCw4LDhoNDBjNC40MTgsMCw4LTMuNTgyLDgtOHYtMjQ4aDM2OHYyNDhjMCw0LjQxOCwzLjU4Miw4LDgsOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04di0zODQKCQkJQzQ3OS45OTksODQuNTg3LDQ3Ny44MzQsODEuNTUxLDQ3NC42MDgsODAuNDM5eiBNNDAsMjE1Ljk5OXYyNDhIMTZ2LTMwNGgyNFYyMTUuOTk5eiBNNDI0LDIwNy45OTlINTZ2LTE2aDM2OFYyMDcuOTk5egoJCQkgTTQyNCwxNzUuOTk5SDU2di0xNmgzNjhWMTc1Ljk5OXogTTQ2NCw0NjMuOTk5aC0yNHYtMzA0aDI0VjQ2My45OTl6IE00NjQsMTQzLjk5OUgxNlY5My43MDNsMjI0LTc3LjI0bDIyNCw3Ny4yNFYxNDMuOTk5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zOTUuNTc2LDM0NC43OTlsLTI5LjYtMTQuOGwtMjYuNC01Mi44Yy00LjA2MS04LjEyNS0xMi4zODEtMTMuMjQyLTIxLjQ2NC0xMy4ySDE2MS44ODgKCQkJYy05LjA5OC0wLjAzLTE3LjQyMSw1LjExNC0yMS40NjQsMTMuMjY0bC0yNi40LDUyLjhsLTI5LjYsMTQuOGMtMi43MDUsMS4zNTItNC40MTYsNC4xMTItNC40MjQsNy4xMzZ2MTEyYzAsOC44MzcsNy4xNjMsMTYsMTYsMTYKCQkJaDMyYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTI0aDE5MnYyNGMwLDguODM3LDcuMTYzLDE2LDE2LDE2aDMyYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTExMgoJCQlDNDAwLjAxNywzNDguOTUyLDM5OC4zMDEsMzQ2LjE2LDM5NS41NzYsMzQ0Ljc5OXogTTE1NC43MzYsMjg0LjQyM2MxLjM0NS0yLjcxOCw0LjExOS00LjQzNCw3LjE1Mi00LjQyNGgxNTYuMjI0CgkJCWMzLjAzMy0wLjAxLDUuODA3LDEuNzA2LDcuMTUyLDQuNDI0bDIxLjc5Miw0My41NzZIMTMyLjk0NEwxNTQuNzM2LDI4NC40MjN6IE0xMjgsNDYzLjk5OUg5NnYtMjRoMzJWNDYzLjk5OXogTTM4NCw0NjMuOTk5aC0zMgoJCQl2LTI0aDMyVjQ2My45OTl6IE0zODQsNDIzLjk5OUgxMzZIOTZ2LTY3LjA1NmwyNS44ODgtMTIuOTQ0aDIzNi4yMjRMMzg0LDM1Ni45NDNWNDIzLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzE2OCwzNjcuMTYyLDE2MC44MzcsMzU5Ljk5OSwxNTIsMzU5Ljk5OXogTTE1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzM2OCwzNjcuMTYyLDM2MC44MzcsMzU5Ljk5OSwzNTIsMzU5Ljk5OXogTTM1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjgwLDM1OS45OTloLTgwYy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoODBjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzI5NiwzNjcuMTYyLDI4OC44MzcsMzU5Ljk5OSwyODAsMzU5Ljk5OXogTTI4MCwzOTEuOTk5aC04MHYtMTZoODBWMzkxLjk5OXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Ixe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMS45NzggNTExLjk3OCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjIzLjI0OGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0xNi42OTZjMC0xMi41NTcgMTAuMjE2LTIyLjc3MyAyMi43NzItMjIuNzczaDE1LjM5MmM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTUuMzkyYy0yMC44MjggMC0zNy43NzIgMTYuOTQ1LTM3Ljc3MiAzNy43NzN2MTYuNjk2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjgxLjE4N2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNC43NDZjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MjQuNzQ2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE1Ny44NTYgMjA4Ljg2djM2LjMzOWMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0zNi4zMzljMC0zLjI5NCAyLjc5Ni02LjA3OCA2LjEwNS02LjA3OGgxMy4yMzdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzLjIzN2MtMTEuNjM3IDAtMjEuMTA1IDkuNDU1LTIxLjEwNSAyMS4wNzh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyOC4xODEgMjExLjQzYzIuOTQyIDEuOTY0IDYuMzgyIDIuOTYzIDkuODg5IDIuOTYzIDIuNDQyIDAgNC45MTktLjQ4NSA3LjI4Mi0xLjQ2N2wyNC43Ni0xMC4yNTUgNjMuNTk1IDQuOTA2IDQuNjYxIDE2LjEyMWMxLjYxOSA1LjYwMSA1LjU5NiAxMC4wNzQgMTEuMTk3IDEyLjU5NSAzLjE0OCAxLjQxNyA2LjU5MSAyLjEyNCAxMC4wNDEgMi4xMjQgMy42NTMgMCA3LjMxNi0uNzkzIDEwLjY0NC0yLjM3NGwxMTcuMjkxLTU1LjcyOWM2LjQ2OS0zLjA3NCAxMS40MjUtOS4wMSAxMy4yNTgtMTUuODggMS41ODItNS45MzIuNjI5LTExLjgzNS0yLjY4NC0xNi42MTlsLTIzLjYzOS0zNC4xNjRjMTcuNzYzLTIwLjQ2MiAyMS45NDEtNDkuNTk1IDEwLjEyNy03NC40NjEtMTYuMjcyLTM0LjIwMS01Ny4zMzItNDguNzk3LTkxLjUxLTMyLjU1LTI2LjE4MSAxMi40MzUtNDEuNTkyIDQwLjAwOC0zOC45MSA2OC40NThsLTMzLjc2NiAxNi4wNDJjLS4wMDEgMC0uMDAxIDAtLjAwMSAwLTEwLjcyNSA1LjA5Ni0xNS4zOTEgMTcuMjgxLTExLjYxMSAzMC4zMTVsOC43NDUgMzAuMjQyaC00Ny4xNTdsLTI1LjA1NS0xMC4zNzdjLTUuNzYzLTIuMzcxLTEyLjE3OS0xLjc5My0xNy4xNjcgMS41NDYtNC43MTMgMy4xNTctNy40MTYgOC4yMjEtNy40MTYgMTMuODkzdjQwLjc2MWMtLjAwMiA1LjY5MSAyLjcwNiAxMC43NiA3LjQyNiAxMy45MXptMjU3LjYtNTUuMDc3Yy43OSAxLjE0Ljk2NiAyLjU1OC41MjQgNC4yMTQtLjY5MiAyLjU5My0yLjczNCA1LjAyNi01LjIwMiA2LjE5OWwtMTE3LjI5MSA1NS43MjhjLTIuNDcgMS4xNzMtNS42NDYgMS4yMjEtOC4wOTEuMTItMS41NjUtLjcwNC0yLjU1Ni0xLjc0MS0yLjk0My0zLjA4M2wtMjIuMzc2LTc3LjM4NSAxMDkuNTQyLTUyLjA0em0tODYuMjUyLTEzNi4xNjJjLjAwMSAwIC4wMDItLjAwMS4wMDMtLjAwMSAyNi43MTYtMTIuNzAzIDU4LjgwNi0xLjI4OCA3MS41MjQgMjUuNDQyIDguNjY0IDE4LjIzNyA2LjMzIDM5LjQxNy01LjQ2MyA1NS4xNzNsLS4wMjQtLjAyNi0yOC4wMDItNDAuNDdjLTcuNzI5LTExLjE2LTIwLjEzNS0xNS4yNDEtMzAuODY4LTEwLjE1N2wtMzcuODAzIDE3Ljk1OC0uMDEyLjAwM2MuMjE3LTIwLjE5IDExLjg5OS0zOS4wMTkgMzAuNjQ1LTQ3LjkyMnptLTcyLjY3NiA4NC40OTggODYuMjczLTQwLjk4NGM0Ljc1LTIuMjUxIDkuNDkyIDEuMzY2IDEyLjEwNyA1LjE0M2w2LjA2MiA4Ljc2LTEwNS4xMTUgNDkuOTM3LTIuOTY3LTEwLjI2MmMtMS4yNzgtNC40MDQtMS4wOS0xMC4zNDYgMy42NC0xMi41OTR6bS01MC40NTMgNjIuMDA5aDQ1LjQ3OGw3LjM2NSAyNS40OS01Mi44NDMtNC4wNzd6bS00MC42NDctOS45MzhjMC0uMzk1LjA3OS0uOTcyLjc2NS0xLjQzMS4yMDQtLjEzNy43NzEtLjQ1NSAxLjYxMy0uNDU1LjQyNyAwIC45MjQuMDgyIDEuNDguMzExbDIxLjc4OCA5LjAyNHYyNS44MzRsLTIxLjc5NyA5LjAyN2MtMS42NjUuNjk0LTIuNzkyLjA4NS0zLjA5Ni0uMTE4LS42NjgtLjQ0Ni0uNzU0LS45OTktLjc1NC0xLjQzMXYtNDAuNzYxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTcuOTYgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xOTAuOTIgNDY4LjI3N2MtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyNy03LjY3OC0yLjkyNy0xMC42MDcuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDcuOTU3IDQ2NC40NzljLTIuOTI5IDIuOTI5LTIuOTI5IDcuNjc4IDAgMTAuNjA2bC4wMjguMDI4YzEuNDYyIDEuNDYxIDMuMzcxIDIuMTkgNS4yODMgMi4xOSAxLjkyIDAgMy44NDItLjczNiA1LjMxLTIuMjA0IDIuOTI5LTIuOTI5IDIuOTE1LTcuNjkyLS4wMTQtMTAuNjIxLTIuOTMtMi45MjgtNy42NzgtMi45MjgtMTAuNjA3LjAwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjIyMiA0ODEuMTAyYzEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOS03LjY3OC0yLjkyOS0xMC42MDcgMHMtMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjIgMy4zNzEgMi4xOTEgNS4yODMgMi4xOTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3MC43ODQgNDA5LjM4NWMyMi43MTMtMi4yNzggNDEuMTkxLTIyLjc5MiA0MS4xOTEtNDUuNzI5di0yOC43NDNjMC0zLjcwOS0xLjU0OS03LjIzNC00LjI0OC05LjY3MS0yLjY5Mi0yLjQzMS02LjM1Mi0zLjYwOS0xMC4wMS0zLjIzM2wtMjguODEgMi44OTJjLTkuOTIzIDEuMDEtMTkuMDM3IDUuNTAyLTI2LjE1MSAxMi4xNTJsLjA2My01LjE1NGMwLTIyLjkwMy0xOC4zMzctNDMuMjY2LTQxLjA1NC00NS41NzhsLTI4Ljc4My0yLjg5Yy0zLjY4Ny0uMzc5LTcuMzM0LjgwMi0xMC4wMjUgMy4yMzItMi42OTkgMi40MzgtNC4yNDggNS45NjItNC4yNDggOS42NzF2MjguNzQzYzAgMjIuOTAzIDE4LjQ3MyA0My40MTcgNDEuMTg1IDQ1LjcyOWwyNy44NjMgMi44MTR2NTMuOTk2aC01NC41MTljLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTE5LjMwNGMyLjQ0NCAwIDQuNDM0IDEuOTc2IDQuNDM0IDQuNDA1djQ1LjUyM2MwIDIuNDAzLTIuMDMgNC40MzQtNC40MzQgNC40MzRoLTQ3My4xMzRjLTIuMzg4IDAtNC40MDUtMi4wMy00LjQwNS00LjQzNHYtNDUuNTIzYzAtMi4zODggMi4wMTgtNC40MDUgNC40MDUtNC40MDVoMzE5LjE5MmM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNzUuMTI2di0xNS4zOTdsMjguMDU3LTIuODMzYzIyLjcxMy0yLjI3OCA0MS4xOS0yMi43OTIgNDEuMTktNDUuNzI5di0yOC43NDNjMC0zLjcwNS0xLjU1Mi03LjIyOS00LjI1Ny05LjY2OS0yLjctMi40MzUtNi4zNTktMy42MTItMTAuMDAxLTMuMjM1bC0yOC44MSAyLjg5MmMtOS45MzQgMS4wMTEtMTkuMDU4IDUuNTA3LTI2LjE4IDEyLjE2MyAwIDAgLjE5OS00LjQyOS4xOTktNS4wMTMgMC0yMi45MDctMTguNDc0LTQzLjQyLTQxLjE5LTQ1LjcyOWwtMjguNzc2LTIuODljLTMuNjY2LS4zNzUtNy4zMDguNzk2LTkuOTk3IDMuMjIyLTIuNzA0IDIuNDM5LTQuMjU1IDUuOTY3LTQuMjU1IDkuNjgxdjI4Ljc0M2MwIDIyLjkwMyAxOC40NzQgNDMuNDE3IDQxLjE4NiA0NS43MjlsMjcuODM0IDIuODEzdjUzLjk5NmgtMTY0LjI1M3YtMTUuMzk4bDI4LjAyNi0yLjgzMmMyMi43MTMtMi4yNzQgNDEuMTkxLTIyLjc4OSA0MS4xOTEtNDUuNzI5di0yOC43NDNjMC0zLjcxMy0xLjU1MS03LjI0Mi00LjI1NS05LjY4MS0yLjY4OS0yLjQyNi02LjMzMy0zLjYwNC05Ljk3NS0zLjIyNGwtMjguODEgMi44OTJjLTkuOTM0IDEuMDExLTE5LjA1OCA1LjUwNy0yNi4xNzkgMTIuMTYyIDAgMCAuMTk4LTQuNDMuMTk4LTUuMDEyIDAtMjIuOTAzLTE4LjQ3NC00My40MTctNDEuMTktNDUuNzI5bC0yOC43NzYtMi44OWMtMy42Ni0uMzc0LTcuMzA2Ljc5NS05Ljk5NyAzLjIyMi0yLjcwNCAyLjQzOS00LjI1NSA1Ljk2OC00LjI1NSA5LjY4MXYyOC43NDNjMCAyMi45MDMgMTguNDc0IDQzLjQxNyA0MS4xODYgNDUuNzI5bDI3LjgzNSAyLjgxM3YzMS43OTUgMjIuMjAxaC00OS44MTJjLTEwLjcgMC0xOS40MDUgOC43MDUtMTkuNDA1IDE5LjQwNXY0NS41MjNjMCAxMC43MTYgOC43MDUgMTkuNDM0IDE5LjQwNSAxOS40MzRoNDczLjEzNGMxMC43MTYgMCAxOS40MzQtOC43MTggMTkuNDM0LTE5LjQzNHYtNDUuNTIzYzAtMTAuNy04LjcxOC0xOS40MDUtMTkuNDM0LTE5LjQwNWgtNDkuNzg1di0xNS4zOTh6bS0yOC4wMjgtMzguNzU2YzAtMTUuMTcxIDEyLjY3Mi0yOS4yNzkgMjcuNjYtMzAuODA1bDI2LjU1OS0yLjY2NnYyNi40OThjMCAxNS4xOTItMTIuNjggMjkuMjk5LTI3LjY5MyAzMC44MDVsLTE1LjQxNSAxLjU1OCAxOS4wNjktMjEuMDk3YzIuNzc3LTMuMDczIDIuNTM3LTcuODE2LS41MzUtMTAuNTkzLTMuMDcyLTIuNzc1LTcuODE0LTIuNTM5LTEwLjU5NC41MzVsLTE5LjA1MSAyMS4wNzd6bS0xNS0yMy40NTctMTguODgtMjAuODg4Yy0yLjc3OS0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41Mi0uNTM1IDEwLjU5M2wxOS4wNjcgMjEuMDk2LTE1LjQwOC0xLjU1NmMtMTUuMDE0LTEuNTI4LTI3LjY5OC0xNS42MzUtMjcuNjk4LTMwLjgwNXYtMjYuNDk3bDI2LjU0OCAyLjY2NmMxNS4wMTUgMS41MjggMjcuNSAxNS42MzUgMjcuNSAzMC44MDV6bS0xNjQuMjgyIDIzLjQ1N2MwLTE1LjE3IDEyLjY4NS0yOS4yNzcgMjcuNjg4LTMwLjgwNWwyNi41NTktMi42NjZ2MjYuNDk4YzAgMTUuMTkyLTEyLjY3OSAyOS4yOTktMjcuNjkyIDMwLjgwNWwtMTUuNDE0IDEuNTU3IDE5LjA2OC0yMS4wOTZjMi43NzctMy4wNzMgMi41MzctNy44MTYtLjUzNS0xMC41OTMtMy4wNzItMi43NzUtNy44MTQtMi41MzktMTAuNTk0LjUzNWwtMTkuMDc5IDIxLjEwOHYtMTUuMzQzem0tNDQuOTgtMzQuMjg2IDE5LjA2OSAyMS4wOTctMTUuNDA5LTEuNTU3Yy0xNS4wMTUtMS41MjgtMjcuNjk5LTE1LjYzNS0yNy42OTktMzAuODA1di0yNi40OTVsMjYuNTIxIDIuNjYzYzE1LjAxNSAxLjUyNiAyNy40OTkgMTUuNjMzIDI3LjQ5OSAzMC44MDV2MTUuMDkxbC0xOC44NTItMjAuODU3Yy0yLjc3OC0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41Mi0uNTM1IDEwLjU5M3ptLTEzNC4yNzMgMzQuMjg2YzAtMTUuMTcgMTIuNjg1LTI5LjI3NyAyNy42ODgtMzAuODA1bDI2LjUzLTIuNjYzdjI2LjQ5NWMwIDE1LjE5NS0xMi42NzkgMjkuMzAxLTI3LjY5MiAzMC44MDVsLTE1LjQwNSAxLjU1NyAxOS4wODMtMjEuMDk0YzIuNzc5LTMuMDcyIDIuNTQyLTcuODE0LS41My0xMC41OTMtMy4wNjgtMi43NzgtNy44MTMtMi41NDItMTAuNTkzLjUzbC0xOS4wODEgMjEuMDkxem0tNDQuOTgxLTM0LjI4NiAxOS4wNjkgMjEuMDk3LTE1LjQwOS0xLjU1OGMtMTUuMDE1LTEuNTI4LTI3LjY5OS0xNS42MzUtMjcuNjk5LTMwLjgwNXYtMjYuNDk1bDI2LjUyIDIuNjYzYzE1LjAxNSAxLjUyOCAyNy41MDEgMTUuNjM1IDI3LjUwMSAzMC44MDV2MTUuMDkybC0xOC44NTMtMjAuODU4Yy0yLjc3OS0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41MjEtLjUzNSAxMC41OTR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",pxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yNi42MjIgMTUxLjc0MWgxMC44djM1LjY4MWMwIDExLjEyNSA5LjA1MSAyMC4xNzUgMjAuMTc1IDIwLjE3NWgxNC44MTRjNC43OTkgMCA5LjIwOC0xLjY5MSAxMi42NzUtNC41IDMuNDY3IDIuODA5IDcuODc1IDQuNSAxMi42NzUgNC41aDE0LjgxNGMxMS4xMjQgMCAyMC4xNzUtOS4wNSAyMC4xNzUtMjAuMTc1di0zOS45NGgyMC4xMzl2MTg1LjExNWgtMjMuNDU3Yy0xMC45MzggMC0xOS44MzcgOC44OTgtMTkuODM3IDE5LjgzNnYzNy4zMjRjMCA5Ljk2OCA3LjM5OCAxOC4yMTkgMTYuOTg4IDE5LjYwOHY4Ny41NzZjMCA4LjMwNCA2Ljc1NSAxNS4wNTkgMTUuMDU5IDE1LjA1OWgzMC4zMzVjOC4zMDQgMCAxNS4wNTktNi43NTUgMTUuMDU5LTE1LjA1OXYtNTMuODQ0aDUxLjQ2NGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWMtOS43NjUgMC04NS43ODUgMC05Ni45MTcgMHYtMTguNTAzaDIyOC44MzR2MTguNTAzYy0xMS4xMzcgMC04Ny4yMTcgMC05Ni45MTcgMC00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDUxLjQ2NXY1My44NDRjMCA4LjMwNCA2Ljc1NSAxNS4wNTkgMTUuMDU5IDE1LjA1OWgzMC4zMzRjOC4zMDQgMCAxNS4wNi02Ljc1NSAxNS4wNi0xNS4wNTkgMC0xMC4xNTQgMC03Ny4wMzYgMC04Ny41NzYgOS41OS0xLjM4OSAxNi45ODgtOS42NCAxNi45ODgtMTkuNjA4di0zNy4zMjRjMC0xMC45MzgtOC44OTgtMTkuODM2LTE5LjgzNy0xOS44MzZoLTIzLjQ1N3YtNzUuMDU4YzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djc1LjA1OGgtMjUuMTY0YzAtMjEuNzEzIDAtMTYyLjkxMiAwLTE4NS4xMTVoMjUuMTY0djc1LjA1OGMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di03NS4wNThoMjAuMTM5djM5Ljk0YzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1aDE0LjgxNGM0Ljc5OSAwIDkuMjA4LTEuNjkxIDEyLjY3NS00LjUgMy40NjcgMi44MDkgNy44NzUgNC41IDEyLjY3NCA0LjVoMTQuODE1YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTM1LjY4MWgxMC44YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTE0LjgxNGMwLTExLjEyNS05LjA1MS0yMC4xNzUtMjAuMTc1LTIwLjE3NWgtMTAuOHYtMzUuNjgxYzAtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTVjLTQuNzk5IDAtOS4yMDcgMS42OTEtMTIuNjc0IDQuNS0zLjQ2Ny0yLjgwOS03Ljg3NS00LjUtMTIuNjc1LTQuNWgtMTQuODE0Yy0xMS4xMjQgMC0yMC4xNzUgOS4wNS0yMC4xNzUgMjAuMTc0djM5Ljk0MWgtMjAuMTM5di04MC42NjNjLS4wMDEtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTRjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzR2NTAuNTM0aC05NS44OTZ2LTUwLjUzNGMwLTExLjEyNC05LjA1LTIwLjE3NC0yMC4xNzQtMjAuMTc0aC0xNC44MTVjLTExLjEyNCAwLTIwLjE3NCA5LjA1LTIwLjE3NCAyMC4xNzR2ODAuNjYzaC0yMC4xMzl2LTM5Ljk0MWMwLTExLjEyNC05LjA1MS0yMC4xNzQtMjAuMTc1LTIwLjE3NGgtMTQuODE0Yy00Ljc5OSAwLTkuMjA4IDEuNjkxLTEyLjY3NSA0LjUtMy40NjctMi44MDktNy44NzUtNC41LTEyLjY3NS00LjVoLTE0LjgxNGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NHYzNS42ODFoLTEwLjhjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzV2MTQuODE0YzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1em0xNDEuMjY3LTQuMjZoMjUuMTYzdjE4NS4xMTVoLTI1LjE2M3ptNDAuMTYzIDY4LjcxMmg5NS44OTZ2NzYuOTAxaC05NS44OTZ6bTk1Ljg5NS0xNWgtOTUuODk2di0yMy41ODNoOTUuODk2em0tMTMxLjkxOSAyNDEuOTA0LS4wNTEgNTMuOTAzLTMwLjM5My0uMDM5YzAtLjAwMS0uMDAxLS4wMDgtLjAwMS0uMDJ2LTUzLjg0NHptMTk4LjMyOSA1My45MDMtMzAuMzkzLS4wNTl2LTUzLjg0NGgzMC40NDV6bTEyLjIxMS0xNDkuNDAzYzIuNjY3IDAgNC44MzcgMi4xNjkgNC44MzcgNC44MzZ2MzcuMzI0YzAgMi42NjctMi4xNyA0LjgzNi00LjgzNyA0LjgzNi0xMy4yMDIgMC0yNDEuMjU2IDAtMjUzLjEzNyAwLTIuNjY3IDAtNC44MzctMi4xNjktNC44MzctNC44MzZ2LTM3LjMyNGMwLTIuNjY3IDIuMTctNC44MzYgNC44MzctNC44MzZ6bS0xNzQuNTE2LTE1di0yNC41MDNoOTUuODk2djI0LjUwM3ptOTUuODk1LTE2OS45ODdoLTk1Ljg5NnYtMTUuMTI4aDk1Ljg5NnptLTExNS45NzctMzAuMTI5di0xNi42NDVoMTM2LjA2djE2LjY0NWMtNC42NTMgMC0xMzAuNDExIDAtMTM2LjA2IDB6bTI5Ny40MDgtMjAuOTA0YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NXYxNC44MTRjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xMC44di0yNS4xNjR6bS00NS43OS01NS44NTVoMTQuODE1YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NHYxMjYuNTI2YzAgMi44MDUtMi4zNyA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE1Yy0yLjgwNSAwLTUuMTc0LTIuMzctNS4xNzQtNS4xNzV2LTEyNi41MjZjMC0yLjgwNSAyLjM2OS01LjE3NCA1LjE3NC01LjE3NHptLTQ1LjMzOCA1LjE3NGMwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzRoMTQuODE0YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NHYxMjYuNTI2YzAgMi44MDUtMi4zNyA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1IDAtMi45MDQgMC0xMjIuNjAyIDAtMTI2LjUyNnptLTE1IDcxLjU4NWMtMTMuNDYzIDAtMjUuMTg2IDAtNDAuMjIxIDB2LTE2LjY0NWg0MC4yMjF6bS02MC4zMDMtMTEyLjMwN2MwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzRoMTQuODE0YzIuODU0IDAgNS4xNzUgMi4zMjEgNS4xNzUgNS4xNzR2ODAuNjYzYy05LjEwNiAwLTE2LjA1OCAwLTI1LjE2NCAwIDAtOS4zNzMgMC03MC44ODUgMC04MC42NjN6bS0xNSA2NS41MzR2MTUuMTI4aC05NS44OTZ2LTE1LjEyOHptLTEzNi4wNTgtNjUuNTM0YzAtMi44MDUgMi4zNjktNS4xNzQgNS4xNzQtNS4xNzRoMTQuODE1YzIuODA1IDAgNS4xNzQgMi4zNyA1LjE3NCA1LjE3NHY4MC42NjNjLTkuMTA0IDAtMTYuMDM5IDAtMjUuMTYzIDB6bTUuMDgxIDk1LjY2M3YxNi42NDVjLTE1LjI3MyAwLTI2LjQ2IDAtNDAuMjIgMHYtMTYuNjQ1em0tNzUuMjA5LTYwLjExNWgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjg1NC0yLjMyMSA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjgwNSAwLTUuMTc1LTIuMzctNS4xNzUtNS4xNzV2LTEyNi41MjZjMC0yLjgwNSAyLjM3LTUuMTc0IDUuMTc1LTUuMTc0em0tNDUuMzM5IDUuMTc0YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjg1NC0yLjMyMSA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1IDAtNS42NzkgMC0xMjAuODI3IDAtMTI2LjUyNnptLTMwLjk3NSA1NS44NTZjMC0yLjg1NCAyLjMyMS01LjE3NSA1LjE3NS01LjE3NWgxMC44djI1LjE2NGgtMTAuOGMtMi44NTQgMC01LjE3NS0yLjMyMS01LjE3NS01LjE3NXoiLz4KICAgIDwvZz4KPC9zdmc+",Axe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDcyLDI4MGgtMTZWMTY2LjRjMC0xMi05LjYtMjIuNC0yMi40LTIyLjRoLTRjLTEyLDAtMjIuNCw5LjYtMjIuNCwyMi40VjI4MGgtMjR2LTE2YzAtMTMuNi0xMC40LTI0LTI0LTI0SDEyMAoJCQljLTEzLjYsMC0yNCwxMC40LTI0LDI0djE2SDcyVjE2Ni40YzAtMTItOS42LTIyLjQtMjIuNC0yMi40aC0zLjJjLTEyLjgsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwSDhjLTQuOCwwLTgsMy4yLTgsOHMzLjIsOCw4LDhoOAoJCQl2MTQ0YzAsNC44LDMuMiw4LDgsOGg4djhjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtOGgzODR2OGMwLDQuOCwzLjIsOCw4LDhzOC0zLjIsOC04di04aDhjNC44LDAsOC0zLjIsOC04VjI5Nmg4CgkJCWM0LjgsMCw4LTMuMiw4LThTNDc2LjgsMjgwLDQ3MiwyODB6IE00MzAuNCwxNjBoNGMzLjIsMCw2LjQsMi40LDYuNCw2LjRWMjgwaC0xNlYxNjYuNEg0MjRDNDI0LDE2My4yLDQyNi40LDE2MCw0MzAuNCwxNjB6CgkJCSBNMTEyLDI2NGMwLTQuOCwzLjItOCw4LThoMjQwYzQuOCwwLDgsMy4yLDgsOHYxNkgxMTJWMjY0eiBNNDAsMTY2LjRjMC00LDIuNC02LjQsNi40LTYuNGg0YzMuMiwwLDUuNiwyLjQsNS42LDYuNFYyODBINDBWMTY2LjR6CgkJCSBNMjMyLDQzMkgzMnYtNjRoMjAwVjQzMnogTTQ0OCw0MzJIMjQ4di02NGgyMDBWNDMyeiBNNDQ4LDM1MkgzMnYtNTZoNDE2VjM1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjA4LDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzIxNiwzODcuMiwyMTIuOCwzODQsMjA4LDM4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjcyLDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzI4MCwzODcuMiwyNzYuOCwzODQsMjcyLDM4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzg0LDE2SDk2Yy00LjgsMC04LDMuMi04LDh2MTYwYzAsNC44LDMuMiw4LDgsOGgyODhjNC44LDAsOC0zLjIsOC04VjI0QzM5MiwxOS4yLDM4OC44LDE2LDM4NCwxNnogTTM3NiwxNzZIMTA0VjMyaDI3MgoJCQlWMTc2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMTQ0aC04Yy00LjgsMC04LDMuMi04LDhzMy4yLDgsOCw4aDhjNC44LDAsOC0zLjIsOC04UzM1Ni44LDE0NCwzNTIsMTQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNTcuNiw1MC40Yy0zLjItMy4yLTgtMy4yLTExLjIsMGwtMjQsMjRjLTMuMiwzLjItMy4yLDgsMCwxMS4yYzMuMiwzLjIsOCwzLjIsMTEuMiwwbDI0LTI0CgkJCUMxNjAuOCw1OC40LDE2MC44LDUzLjYsMTU3LjYsNTAuNHoiLz4KICAgICAgICA8cGF0aCBkPSJNMTk3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTU2LDU2Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGw1Ni01NgoJCQlDMjAwLjgsNTguNCwyMDAuOCw1My42LDE5Ny42LDUwLjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",mxe="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDcyIDk2aC0xNDRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MTg0aC0xNzZ2LTI0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTI0djE2aDE2djE2aC0zMnYtMzJoLTE2djMyaC0zMnYtMTZoMTZ2LTE2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYyNGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MTc2YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDY0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTM2OGMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tMTM2IDE2aDEyOHY5NmgtMTI4em0tMTYgMjI0aC0xNDR2LTMyaDE0NHptLTMwNC0zMmgxNDR2MzJoLTE0NHptMCA0OGgxNDR2MTEyaC0xNDR6bTE2MCAwaDY0djExMmgtNjR6bTgwIDBoNjR2MTEyaC02NHptODAgMTEydi0yNDBoMTI4djI0MHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAxNDRoMTZ2MzJoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzUyIDI1NmgxNnYzMmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00OCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im04MCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTIgMzIwYzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ0IDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTggMTUyaDE2MGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGMwLTIuMTIxMDk0LS44NDM3NS00LjE1NjI1LTIuMzQzNzUtNS42NTYyNWwtMzItMzJjLTEuNS0xLjUtMy41MzUxNTYtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTh2LTcyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djcyaC04Yy0yLjEyMTA5NCAwLTQuMTU2MjUuODQzNzUtNS42NTYyNSAyLjM0Mzc1bC0zMiAzMmMtMS41IDEuNS0yLjM0Mzc1IDMuNTM1MTU2LTIuMzQzNzUgNS42NTYyNXYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em01Ni0xMzZoNDh2NjRoLTQ4em0tNDggMTA3LjMxMjUgMjcuMzEyNS0yNy4zMTI1aDg5LjM3NWwyNy4zMTI1IDI3LjMxMjV2MTIuNjg3NWgtMTQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTM2IDM2OGgtOTZjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di02NGMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tOCA2NGgtODB2LTQ4aDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjMyIDMxMmgzMnYxNmgtMzJ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDggMzkyaDE2djMyaC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI3MiAzOTJoMTZ2MzJoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTkyIDIwMGg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi0xNTMuMTM2NzE5aC0xNnYxNTMuMTM2NzE5Yy0xNC4wODU5MzggMy42MzY3MTktMjMuOTQ1MzEyIDE2LjMxNjQwNi0yNCAzMC44NjMyODF2OGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em0yNC0zMmM4LjgzNTkzOCAwIDE2IDcuMTY0MDYyIDE2IDE2aC0zMmMwLTguODM1OTM4IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4IDEzNmg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi04OS4xMzY3MTloLTE2djg5LjEzNjcxOWMtMTQuMDg1OTM4IDMuNjM2NzE5LTIzLjk0NTMxMiAxNi4zMTY0MDYtMjQgMzAuODYzMjgxdjhjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptMjQtMzJjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNmgtMzJjMC04LjgzNTkzOCA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Oxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MTAuNDE3IDIzMy4yMjUtNTguNjQ0LTExNy4yNzljLTE1LjkzOS0zMS44NzctNDcuOTc4LTUxLjY4LTgzLjYyLTUxLjY4LTguNTg2IDAtMTYuOTg0IDEuMTg4LTI1LjAzMiAzLjQzNy4xMDUtMS40ODkuMTc4LTIuOTg4LjE3OC00LjUwMyAwLTM0Ljg0OS0yOC4zNTEtNjMuMi02My4yLTYzLjJzLTYzLjIgMjguMzUyLTYzLjIgNjMuMmMwIDMwLjk5MyAyMi40MzIgNTYuODI4IDUxLjkwOSA2Mi4xNjlsLTYxLjM2NiA2MS40N2MtNi44NzUgNi44ODYtMjEuODcxIDI3LjgyLTEwLjMzMyA1NC40Ni0xLjcwNS0uMTkxLTMuNDIxLS4yOTktNS4xNDQtLjI5OS0yMy4wODcgMC00Mi4zMzYgMTYuNjktNDYuMzUxIDM4LjYzNS03Ljc0LTQuMTQ0LTE2LjU3My02LjUwMS0yNS45NDktNi41MDEtMzAuNDE5IDAtNTUuMTY3IDI0Ljc0OC01NS4xNjcgNTUuMTY3IDAgOS4wNjMgMi4yMTEgMTcuNjE1IDYuMSAyNS4xNjdoLTQwLjU5OHYtMzM4LjQ2OGMwLTguMjg0LTYuNzE2LTE1LTE1LTE1cy0xNSA2LjcxNi0xNSAxNXY0ODJjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXMxNS02LjcxNiAxNS0xNXYtNDkuMjY3aDMwNi41NjNjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtNjQuMjY3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVoLTM2LjQxMmMzLjI3NC04LjM5NSAzLjIxNC0xNS4yNjMgMy4yMTQtMTguMiAyOC40NjkgMCA0OC4yLTIyLjA5OCA0OC4yLTQ3LjEzMyAwLTI1Ljk4OS0yMS4xNDQtNDcuMTMzLTQ3LjEzMy00Ny4xMzNoLTEyLjMwNGw1NS45MDQtNTYuMDg2IDUzLjczNiAxMDYuNzc3LS4xMDMgMjA1LjMwMWMtLjAwMiAzLjk3OSAxLjU3OCA3Ljc5NiA0LjM5MSAxMC42MTEgMi44MTMgMi44MTQgNi42MyA0LjM5NiAxMC42MDkgNC4zOTZoODAuMzM1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTI1Ny4wNjZjMC0yLjMyOS0uNTQyLTQuNjI1LTEuNTgzLTYuNzA4em0tMjYzLjUxNy0xNzAuMDI1YzAtMTguMzA3IDE0Ljg5NC0zMy4yIDMzLjItMzMuMnMzMy4yIDE0Ljg5NCAzMy4yIDMzLjItMTQuODk0IDMzLjItMzMuMiAzMy4yYy0xOC4zMDcgMC0zMy4yLTE0Ljg5My0zMy4yLTMzLjJ6bS0xMjcuMjMzIDIzOS45MzNjMTMuODc3IDAgMjUuMTY3IDExLjI5IDI1LjE2NyAyNS4xNjdzLTExLjI5IDI1LjE2Ny0yNS4xNjcgMjUuMTY3LTI1LjE2Ny0xMS4yOS0yNS4xNjctMjUuMTY3IDExLjI5LTI1LjE2NyAyNS4xNjctMjUuMTY3em0yMDEuODk2IDgwLjMzNHYzNC4yNjdoLTI5MS41NjN2LTM0LjI2N3ptLTE3LjEzLTExMi40NjdjOS40NDcgMCAxNy4xMzMgNy42ODYgMTcuMTMzIDE3LjEzMyAwIDkuNTgzLTcuODE0IDE3LjEzMy0xNy4xMzMgMTcuMTMzaC0xNi4wNjdjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTYuMDY3YzAgOS41ODMtNy44MTQgMTcuMTMzLTE3LjEzMyAxNy4xMzNoLTY0LjI2N2MtOS40NDcgMC0xNy4xMzMtNy42ODYtMTcuMTMzLTE3LjEzM3YtNDguMmMwLTkuNDQ3IDcuNjg2LTE3LjEzMyAxNy4xMzMtMTcuMTMzIDkuMjk3IDAgMTcuMTMzIDcuNTI2IDE3LjEzMyAxNy4xMzN2MTYuMDY3YzAgOC4yODQgNi43MTYgMTUgMTUgMTVzMTUtNi43MTYgMTUtMTV2LTE2LjA2N2MwLTkuNDI5IDcuNjE2LTE3LjEzMyAxNy4xMzMtMTcuMTMzem0xNzcuNTY3IDIxMWgtNTAuMzI2bC4wOTctMTkzLjg1OWMuMDAxLTIuMzQ0LS41NDctNC42NTYtMS42MDEtNi43NWwtNjQuNjg1LTEyOC41MzNjLTIuMTY3LTQuMzA1LTYuMjY5LTcuMzA2LTExLjAyNy04LjA2OC00Ljc2MS0uNzYyLTkuNTk0LjgxLTEyLjk5NSA0LjIyMmwtODYuNDU4IDg2LjczOWMtNy4yNjMgNy4yOTEtMTkuMTE1IDYuODA3LTI2LjMwOC0uMzg2LTcuMzgxLTcuMzgxLTcuNzI4LTE5LjYxMS0uMDIyLTI3LjMyOWw5NS4yNy05NS40MzFjMTEuNzk5LTExLjgyNSAyNy41LTE4LjMzNyA0NC4yMTctMTguMzM3IDI0LjE5OSAwIDQ1Ljk1NSAxMy40NDggNTYuNzc5IDM1LjA5N2w1Ny4wNTkgMTE0LjEwOXoiLz4KICAgIDwvZz4KPC9zdmc+",Exe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTkyLjU0NSwxODUuMDljNTEuMDI5LDAsOTIuNTQ1LTQxLjUxNiw5Mi41NDUtOTIuNTQ1UzE0My41NzQsMCw5Mi41NDUsMFMwLDQxLjUxNiwwLDkyLjU0NSAgICBTNDEuNTE2LDE4NS4wOSw5Mi41NDUsMTg1LjA5eiBNOTIuNTQ1LDIwYzQwLjAwMSwwLDcyLjU0NSwzMi41NDQsNzIuNTQ1LDcyLjU0NXMtMzIuNTQ0LDcyLjU0NS03Mi41NDUsNzIuNTQ1ICAgIFMyMCwxMzIuNTQ2LDIwLDkyLjU0NVM1Mi41NDQsMjAsOTIuNTQ1LDIweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDAuNTAxLDExNC41MjZjMS45NTIsMS45NDUsNC41MDYsMi45MTcsNy4wNiwyLjkxN2MyLjU2NCwwLDUuMTMtMC45OCw3LjA4My0yLjk0ICAgIGMzLjg5OC0zLjkxMiwzLjg4OC0xMC4yNDQtMC4wMjMtMTQuMTQzbC0xMi4wMDgtMTEuOTY4VjQ0YzAtNS41MjItNC40NzgtMTAtMTAtMTBzLTEwLDQuNDc4LTEwLDEwdjQ4LjU0NSAgICBjMCwyLjY1OCwxLjA1OSw1LjIwNywyLjk0LDcuMDgzTDEwMC41MDEsMTE0LjUyNnoiLz4KICAgICAgICA8cGF0aCBkPSJNNTAyLDMzMmgtNjEuNTQ3Yy04LjQ2LTEyLjAzNC0yMS4xNzItMjAuNTU4LTM1LjY3MS0yMy43MjhsLTQzLjk2NC05LjYxMyAgICBjMTcuOTkxLTEyLjEzNCwyOS44NDctMzIuNzAyLDI5Ljg0Ny01NS45ODh2LTI0LjQxN3YtMTEuMjk3di0yLjU0MmMwLTM3LjIxMi0zMC4yNzQtNjcuNDg2LTY3LjQ4Ni02Ny40ODYgICAgcy02Ny40ODYsMzAuMjc0LTY3LjQ4Niw2Ny40ODZ2Mi41NDJ2MTEuMjk3djI0LjQxN2MwLDIzLjI1NiwxMS44MjUsNDMuODAzLDI5Ljc3OCw1NS45NDNsLTQzLjkzNiw5LjYzOSAgICBjLTEuODc3LDAuNDEyLTMuNzIyLDAuOTE3LTUuNTM1LDEuNTAyVjIyN2MwLTUuNTIyLTQuNDc4LTEwLTEwLTEwaC02OGMtNS41MjIsMC0xMCw0LjQ3OC0xMCwxMHM0LjQ3OCwxMCwxMCwxMGg1OHYxNDBoLTY4di01MCAgICBjMC0xNi41NDItMTMuNDU4LTMwLTMwLTMwcy0zMCwxMy40NTgtMzAsMzB2NTBIMjBWMjM3aDU4YzUuNTIyLDAsMTAtNC40NzgsMTAtMTBzLTQuNDc4LTEwLTEwLTEwSDEwYy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjE2MCAgICBjMCw1LjUyMiw0LjQ3OCwxMCwxMCwxMGg3OHYxOWgtMWMtMTcuMDk0LDAtMzEsMTMuOTA2LTMxLDMxdjVIMTBjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTB2NDBjMCw1LjUyMiw0LjQ3OCwxMCwxMCwxMGg0OTIgICAgYzUuNTIyLDAsMTAtNC40NzgsMTAtMTB2LTQwdi00MHYtNDB2LTQwQzUxMiwzMzYuNDc4LDUwNy41MjIsMzMyLDUwMiwzMzJ6IE00NDEuMTc5LDQ1MkgzODR2LTIwaDEwOHYyMEg0NDEuMTc5eiBNNDkyLDQxMkgzODQgICAgdi0yMGgxMDhWNDEyeiBNNDkyLDM3MkgzODR2LTIwaDUwLjg3NGMwLjAzLDAsMC4wNiwwLjAwNiwwLjA4OSwwLjAwNmMwLjAzMSwwLDAuMDYzLTAuMDA2LDAuMDk0LTAuMDA2SDQ5MlYzNzJ6IE0yNzUuNjkyLDIwNC40MTYgICAgYzAtMjYuMTg0LDIxLjMwMy00Ny40ODYsNDcuNDg2LTQ3LjQ4NmMyNC45MzMsMCw0NS40MzksMTkuMzE0LDQ3LjM0Miw0My43NjdsLTIzLjI0Ni0xMy42NTcgICAgYy00LjIxMS0yLjQ3NS05LjU5My0xLjU0NC0xMi43MywyLjE5OWMtMTAuMTI2LDEyLjA4NS0yNC45NzcsMTkuMDE3LTQwLjc0NCwxOS4wMTdoLTE4LjEwN3YtMS4yOTdWMjA0LjQxNnogTTI3NS42OTIsMjI4LjI1NSAgICBIMjkzLjhjMTguODI1LDAsMzYuNy03LjE3OSw1MC4yMDUtMTkuOTRsMjYuNjYsMTUuNjYzdjE4LjY5NGMwLDI2LjE4NC0yMS4zMDMsNDcuNDg2LTQ3LjQ4Niw0Ny40ODZzLTQ3LjQ4Ni0yMS4zMDMtNDcuNDg2LTQ3LjQ4NiAgICBWMjI4LjI1NXogTTMzOC44NDQsMzA4LjMwM2wtMTUuODE1LDQyLjI5NGwtMTUuODQ0LTQyLjM3YzUuMTMsMS4yNTIsMTAuNDgzLDEuOTMxLDE1Ljk5MywxLjkzMSAgICBDMzI4LjU3MiwzMTAuMTU4LDMzMy44MTMsMzA5LjUwNCwzMzguODQ0LDMwOC4zMDN6IE0yMjYsMzk3YzUuNTIyLDAsMTAtNC40NzgsMTAtMTB2LTU1LjYyM2MzLjA4NS0xLjYyNiw2LjM3NC0yLjgzMiw5LjgyLTMuNTg4ICAgIGw0My43NC05LjU5NmwyNC4xMDMsNjQuNDU3YzEuNDYxLDMuOTA3LDUuMTk0LDYuNDk3LDkuMzY2LDYuNDk3czcuOTA1LTIuNTksOS4zNjYtNi40OThsMjQuMTA0LTY0LjQ2MWw0NC4wMTEsOS42MjMgICAgYzMuODYzLDAuODQ0LDcuNTI5LDIuMjc0LDEwLjkwMiw0LjE4OEgzNzRjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTB2NDB2NDB2MzBIMjE1LjE3OXYtNTVIMjI2eiBNMTk1LjE3OSwzOTd2NTVIMTgwdi01ICAgIGMwLTE3LjA5NC0xMy45MDYtMzEtMzEtMzFoLTF2LTE5SDE5NS4xNzl6IE0xMDgsMzI3YzAtNS41MTQsNC40ODYtMTAsMTAtMTBzMTAsNC40ODYsMTAsMTB2ODloLTIwVjMyN3ogTTc2LDQ0NyAgICBjMC02LjA2NSw0LjkzNS0xMSwxMS0xMWgxMWg0MGgxMWM2LjA2NSwwLDExLDQuOTM1LDExLDExdjVINzZWNDQ3eiBNNDkyLDQ5MkgyMHYtMjBoNDcyVjQ5MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzLDIxOS45M2MtMS44NiwxLjg2LTIuOTMsNC40NC0yLjkzLDcuMDdzMS4wNjksNS4yMSwyLjkzLDcuMDY5YzEuODYsMS44Niw0LjQ0LDIuOTMxLDcuMDcsMi45MzEgICAgczUuMjEtMS4wNyw3LjA2OS0yLjkzMUMxMjYuOTMsMjMyLjIxLDEyOCwyMjkuNjMsMTI4LDIyN3MtMS4wNy01LjIxLTIuOTMxLTcuMDdjLTEuODU5LTEuODYtNC40MzktMi45My03LjA2OS0yLjkzICAgIFMxMTIuNzksMjE4LjA2OSwxMTAuOTMsMjE5LjkzeiIvPgogICAgPC9nPgo8L3N2Zz4K",fxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTUsMzUuOTM1YzQuNDkzLS41NTUsOC00LjgsOC05LjkzNSwwLTQuODg1LTMuNTM1LTE5LTktMTlzLTksMTQuMTE1LTksMTljMCw1LjEzOCwzLjUwNyw5LjM4LDgsOS45MzVWNDJINDkuOTQ5YTkuOTc4LDkuOTc4LDAsMCwwLTE0LjQ0MS03LjkyMmwtMS42LTIuNTEzTDMyLjM4OCwyN0gzNi41YTEuNSwxLjUsMCwwLDEsMCwzSDM2djJoLjVhMy41LDMuNSwwLDAsMCwwLTdIMzFhMSwxLDAsMCwwLS45NDgsMS4zMTZMMzEuNjEzLDMxSDIwVjI5aDNhMSwxLDAsMCwwLDEtMSw1LDUsMCwwLDAtMTAsMCwxLDEsMCwwLDAsMSwxaDN2Mi42NzVsLTEuOTY0LDIuN2E5Ljk5MSw5Ljk5MSwwLDEsMCw0LjUxLDExLjYwNiwzLjk4NSwzLjk4NSwwLDEsMCw2LjQyNS00LjYzNGw1LjUyMS04LjI4MywxLjMyOSwyLjA4OUE5Ljk5NSw5Ljk5NSwwLDEsMCw0OS45NDksNDRINjNWNDJINTVaTTQ3LDI2YzAtNS4wNjcsMy42NjEtMTcsNy0xN3M3LDExLjkzMyw3LDE3YzAsNC4wMjItMi42MTQsNy4zNTEtNiw3LjkwOVYxOC41MzVsMi41NTUtMS43LTEuMTEtMS42NjQtMywyQTEsMSwwLDAsMCw1MywxOHY3bC0yLjQtMS44LTEuMiwxLjZMNTMsMjcuNXY2LjQwOUM0OS42MTQsMzMuMzUxLDQ3LDMwLjAyMiw0NywyNlpNMTksMjVhMy4wMDYsMy4wMDYsMCwwLDEsMi44MjksMkgxNi4xNzFBMy4wMDYsMy4wMDYsMCwwLDEsMTksMjVabTUsMTVhMy44MzYsMy44MzYsMCwwLDAtLjU2LjA1N0wyMC41LDMzaDkuNjMybC00LjgyNSw3LjIzN0EzLjk2OCwzLjk2OCwwLDAsMCwyNCw0MFpNMTEsNTFhOCw4LDAsMSwxLDMuODU3LTE1bC0zLjAxMSw0LjE0QTIuOTYsMi45NiwwLDAsMCwxMSw0MGEzLDMsMCwxLDAsMi43MzgsNC4yMTRsNS4xLjM5MkE4LjAxNCw4LjAxNCwwLDAsMSwxMSw1MVptNy45OC04LjM4OS01LjEtLjM5MmEzLjAwNSwzLjAwNSwwLDAsMC0uNDE0LS45MTZsMy00LjEyNUE3Ljk2OSw3Ljk2OSwwLDAsMSwxOC45OCw0Mi42MTFaTTEyLDQzYTEsMSwwLDEsMS0xLTFBMSwxLDAsMCwxLDEyLDQzWm04Ljg3OS0xLjQ3MmE5Ljk2OCw5Ljk2OCwwLDAsMC0zLjIyOC01Ljk3NGwxLjExMS0xLjUyNywyLjgzMiw2LjhBNC4wMzIsNC4wMzIsMCwwLDAsMjAuODc5LDQxLjUyOFpNMjQsNDZhMiwyLDAsMSwxLDItMkEyLDIsMCwwLDEsMjQsNDZabTE2LDVhOCw4LDAsMCwxLTUuMS0xNC4xNTZsMi43NDgsNC4zMTlBMi45NjYsMi45NjYsMCwwLDAsMzcsNDNhMywzLDAsMSwwLDMtMywyLjk2MywyLjk2MywwLDAsMC0uNjcxLjA4MmwtMi43NDEtNC4zMDdBOCw4LDAsMSwxLDQwLDUxWm0wLTlhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsNDAsNDJaIi8+CiAgICAgICAgPHBhdGggZD0iTTcsMThhNCw0LDAsMCwwLDIuNzg4LTEuMTM5LDUuNjMzLDUuNjMzLDAsMCwwLDMuOTYxLS41NDVBMy45NTQsMy45NTQsMCwwLDAsMTcsMThhNCw0LDAsMSwwLS4wODMtOCw2LDYsMCwwLDAtMTEuOS41MzhBMy45OTIsMy45OTIsMCwwLDAsNywxOFptLS42NTMtNS44NzdhMSwxLDAsMCwwLC42Ny0uOTc3QS42LjYsMCwwLDAsNywxMWE0LDQsMCwwLDEsOC0uMDQxYzAsLjAzMy0uMDE4LjE1Mi0uMDIuMTg1YTEsMSwwLDAsMCwxLjMzOS45ODZBMS45NywxLjk3LDAsMCwxLDE3LDEyYTIsMiwwLDEsMS0xLjksMi41NzMsMSwxLDAsMCwwLTEuNTg5LS40ODcsMy44LDMuOCwwLDAsMS0zLjc1MS42OTMsMSwxLDAsMCwwLTEuMTI5LjM3MiwxLjk5NCwxLjk5NCwwLDEsMS0yLjI4Mi0zLjAyOFoiLz4KICAgICAgICA8cmVjdCB4PSIxIiB5PSI1NSIgd2lkdGg9IjYyIiBoZWlnaHQ9IjIiLz4KICAgIDwvZz4KPC9zdmc+Cg==",xxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xNjguOTkyIDI3Ny41OTFjMC0yNi41NTEtMjEuNjAxLTQ4LjE1MS00OC4xNTEtNDguMTUxcy00OC4xNTEgMjEuNjAxLTQ4LjE1MSA0OC4xNTEgMjEuNjAxIDQ4LjE1IDQ4LjE1MSA0OC4xNSA0OC4xNTEtMjEuNiA0OC4xNTEtNDguMTV6bS04MS4zMDMgMGMwLTE4LjI3OSAxNC44NzItMzMuMTUxIDMzLjE1MS0zMy4xNTFzMzMuMTUxIDE0Ljg3MiAzMy4xNTEgMzMuMTUxLTE0Ljg3MiAzMy4xNS0zMy4xNTEgMzMuMTUtMzMuMTUxLTE0Ljg3MS0zMy4xNTEtMzMuMTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3OS4yNzIgNDYyaC0zNC4wNjJsLTM5LjE1OC0zNi42NjdjLTMuMDIzLTIuODMxLTcuNzctMi42NzUtMTAuNjAxLjM0OXMtMi42NzUgNy43Ny4zNDkgMTAuNjAxbDQxLjMyMSAzOC42OTJjMS4zOSAxLjMwMiAzLjIyMiAyLjAyNSA1LjEyNiAyLjAyNWgzNy4wMjRjOS43NzUgMCAxNy43MjggNy45NTMgMTcuNzI4IDE3LjcyOXYyLjI3MWgtNjAuODQ0Yy0yLjE0OCAwLTQuMjYxLS43MDMtNS45ODEtMS45ODZsLTE4OC40OTItMTc4LjkxNHYtMjQuMTMybDEzMi4yMDcgMTIzLjc5NmMzLjAyMyAyLjgzMSA3Ljc3IDIuNjc1IDEwLjYwMS0uMzQ5czIuNjc1LTcuNzctLjM0OS0xMC42MDFsLTE0Mi40NTktMTMzLjM5NnYtMi40NThjMC04LjI4NC02Ljc0LTE1LjAyNC0xNS4wMjUtMTUuMDI0aC0xMi41NDh2LTQyLjc4NmgxMS40MzhjNi41MzYgMCAxMi4zOC0zLjkwMSAxNC44ODYtOS45MzggMi41MDctNi4wMzcgMS4xNDUtMTIuOTMtMy40NzEtMTcuNTZsLTEwNC43MDYtMTA1LjAzNmMtMS4xNjgtMS4xNzItMi40ODctMi4xMzgtMy45MS0yLjg4OXYtMTAuODY5aDUwLjE0OGM4Ljk1OSAwIDE2LjI0OC03LjI4OSAxNi4yNDgtMTYuMjQ4di0yNS4yMTNjMC04Ljk1OS03LjI4OS0xNi4yNDgtMTYuMjQ4LTE2LjI0OGgtNTAuMTY2Yy0uMTg0LTMuOTc4LTMuNDU4LTcuMTQ5LTcuNDgyLTcuMTQ5LTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjV2NjguMjIzYy0xLjQyNy43NTEtMi43NDkgMS43MTktMy45MiAyLjg5NGwtNDAuMDE1IDQwLjE0Yy0yLjkyNSAyLjkzNC0yLjkxNyA3LjY4Mi4wMTcgMTAuNjA2IDIuOTMzIDIuOTIzIDcuNjgxIDIuOTE3IDEwLjYwNi0uMDE3bDQwLjAxNi00MC4xNDFjLjI3MS0uMjcxLjU3OS0uMzI4Ljc5MS0uMzI4LjIxMSAwIC41MjEuMDU3Ljc5Mi4zMjlsMTA0LjcwNSAxMDUuMDM1Yy4xNTcuMTU4LjUyNy41MjkuMjQgMS4yMTktLjI4Ni42ODktLjgwOS42ODktMS4wMzIuNjg5aC0yMDkuNDFjLS4yMjQgMC0uNzQ3IDAtMS4wMzMtLjY4OXMuMDg0LTEuMDYxLjI0MS0xLjIxOWw0My41MjEtNDMuNjU4YzIuOTI1LTIuOTM0IDIuOTE3LTcuNjgzLS4wMTctMTAuNjA2LTIuOTM0LTIuOTI1LTcuNjgzLTIuOTE4LTEwLjYwNi4wMTdsLTQzLjUyMSA0My42NTdjLTQuNjE1IDQuNjMtNS45NzggMTEuNTIyLTMuNDcyIDE3LjU2MSAyLjUwNyA2LjAzNyA4LjM1IDkuOTM4IDE0Ljg4NyA5LjkzOGgxMS40Mzh2NjkuNDQ0YzAgNC4xNDMgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU3IDcuNS03LjV2LTY5LjQ0NGgxNTYuNTM1djEzMi44ODJoLTE1Ni41MzZ2LTMzLjQ1MmMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTctNy41IDcuNXYxODYuNDJoLTIwLjA3M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWg0OTdjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXYtOS43NzFjMC0xOC4wNDctMTQuNjgyLTMyLjcyOS0zMi43MjgtMzIuNzI5em0tMjk5LjUzLTQzOC42MDN2MjUuMjEzYzAgLjY4OC0uNTYgMS4yNDgtMS4yNDggMS4yNDhoLTUwLjE0OHYtMjcuNzA5aDUwLjE0OGMuNjg5IDAgMS4yNDguNTYgMS4yNDggMS4yNDh6bTE2Ny4xOTYgNDEzLjI5MSA2My41NDEgNjAuMzEyaC02My41NDF6bS0xNSA2MC4zMTJoLTYwLjgxMXYtMTMyLjI3bDYwLjgxMSA1Ny43MnptLTc1LjgxLTE0Ni41MDh2MTQ2LjUwOGgtNDIuMDJ2LTE1Ni45NDJoMTIuNTQ4YzQuOTM5IDAgOS4zMTYtMi40MDYgMTIuMDU2LTYuMDk2em0tMjkuNDQ2LTgxLjUzMi0uMDEyIDU2LjA5N3MtLjAwNC4wMDEtLjAxNC4wMDFoLTEyLjU0OHYtNTYuMTEzem0tMjcuNTc0IDIyOC4wNGgtMzcuMTV2LTEzNy45NjloMzcuMTV6bS0xMDQuMzg0LTYxLjQ4NGg1Mi4yMzR2MjEuNDM2aC01Mi4yMzR6bTUyLjIzNC0xNWgtNTIuMjM0di0yMS40MzZoNTIuMjM0em0tNTIuMjM0IDUxLjQzNWg1Mi4yMzR2MjUuMDQ5aC01Mi4yMzR6bTUyLjIzNC0xMTIuOTJ2MjUuMDQ5aC01Mi4yMzR2LTI1LjA0OXptLTEwNC4zODUgMGgzNy4xNXYxMzcuOTY5aC0zNy4xNXoiLz4KICAgIDwvZz4KPC9zdmc+",_xe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNjcuMDQzIDE3MC40MTRjLTEwLjUxNi0uMzY1LTIwLjAxNi01LjA0Ny0yNi43NDktMTMuMTgxLTQuOTE0LTUuOTM3LTEzLjkzOC01LjkyNS0xOC44NDIgMC0xNC41OTcgMTcuNjM3LTQxLjQ2MiAxNy42MDYtNTYuMDMxIDAtNC45NzMtNi4wMDctMTQuMDA1LTUuODQyLTE4Ljg0MyAwLTE0LjU5MiAxNy42MzMtNDEuNDU1IDE3LjYxMy01Ni4wMzEtLjAwMS00LjkyMi01Ljk0NS0xMy45NDUtNS45MTUtMTguODQxIDAtNi43MzMgOC4xMzUtMTYuMjMzIDEyLjgxNi0yNi43NDkgMTMuMTgyLTQuMTQuMTQ0LTcuMzc5IDMuNjE2LTcuMjM0IDcuNzU2LjE0NCA0LjE0IDMuNTk0IDcuMzcxIDcuNzU2IDcuMjM1IDEzLjU2Ni0uNDcyIDI2LjM4Ni02LjMyOCAzNS42NDYtMTYuMTg3IDIwLjI3NiAyMS42MjkgNTQuNTY5IDIxLjY1NyA3NC44NzUuMDAxIDIwLjI3OCAyMS42MjkgNTQuNTcxIDIxLjY1NCA3NC44NzQtLjAwMSA5LjI2MiA5Ljg1OSAyMi4wOCAxNS43MTUgMzUuNjQ3IDE2LjE4NyA0LjEyMS4xNDkgNy42MTMtMy4wOTUgNy43NTYtNy4yMzUuMTQ1LTQuMTQtMy4wOTQtNy42MTItNy4yMzQtNy43NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjc4MiAxMDcuN2MtOC4wODItMS43MDMtMTUuMTY3LTYtMjAuNDg3LTEyLjQyNy00LjkxNC01LjkzNy0xMy45MzgtNS45MjUtMTguODQyIDAtMTQuNTk3IDE3LjYzNy00MS40NjIgMTcuNjA2LTU2LjAzMSAwLTQuOTczLTYuMDA3LTE0LjAwNS01Ljg0Mi0xOC44NDMgMC0xNC41OTIgMTcuNjMzLTQxLjQ1NSAxNy42MTMtNTYuMDMxLS4wMDEtNC45MjItNS45NDUtMTMuOTQ1LTUuOTE1LTE4Ljg0MSAwLTUuMzIgNi40MjctMTIuNDA0IDEwLjcyNS0yMC40ODYgMTIuNDI4LTQuMDU0Ljg1NC02LjY0NyA0LjgzMi01Ljc5MyA4Ljg4NXM0Ljg0IDYuNjQ3IDguODg1IDUuNzkyYzEwLjM4My0yLjE4OCAxOS41OTItNy4zOSAyNi44MTYtMTUuMTE3IDIwLjI4MiAyMS42MzEgNTQuNTcyIDIxLjY0OCA3NC44NzItLjAwMSAyMC4yNzYgMjEuNjI2IDU0LjU2NyAyMS42NTYgNzQuODcxLjAwMiA3LjIyNiA3LjcyNyAxNi40MzYgMTIuOTMgMjYuODE4IDE1LjExNiA0LjA0OC44NTUgOC4wMy0xLjc0IDguODg1LTUuNzkzLjg1My00LjA1My0xLjc0MS04LjAzMS01Ljc5My04Ljg4NHoiLz4KICAgICAgICA8cGF0aCBkPSJtNTQuOTg1IDQyOS4yNzNoMTY5LjczMnY2OS41NzljMCA3LjI1IDUuODk4IDEzLjE0OCAxMy4xNDkgMTMuMTQ4aDI1LjE5MmM3LjI1IDAgMTMuMTQ4LTUuODk4IDEzLjE0OC0xMy4xNDh2LTEuNDY0aDc0LjE5OXYxLjQ2NGMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtNjkuNTc5aDU1LjExOWMyNC4xMjEgMCA0My4wODEtMjAuODg2IDQwLjY1Ny00NC45NTYtLjAwNC0uMDQtLjAwOC0uMDgtLjAxMy0uMTJsLTEzLjAzNS0xMTEuNTY3Yy0uNDgxLTQuMTE0LTQuMjE1LTcuMDYyLTguMzE5LTYuNTc5LTQuMTE0LjQ4MS03LjA2IDQuMjA2LTYuNTc5IDguMzJsMTMuMDMgMTExLjUwM2MxLjQ2IDE0LjgzMy0xMC4wOTQgMjguMzk4LTI1LjczOCAyOC4zOThoLTU1LjExOXYtMTkuMDU4aDQ0LjkzN2M5LjQ3IDAgMTYuODgtOC4xOTEgMTUuOTM1LTE3LjYxNi0uMDA1LS4wNDMtLjAxLS4wODYtLjAxNS0uMTI5bC0zOC43NTYtMzI5LjA3NGMtLjg2MS04LjE3OS03LjY5NS0xNC4zMzctMTUuOTI3LTE0LjMzN2gtMTM0LjU3MWMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxMzQuNTcxYy41MjMgMCAuOTU3LjM5MyAxLjAxLjkxNC4wMDQuMDQyLjAwOS4wODMuMDE0LjEyNWwzOC43NSAzMjkuMDM0Yy4wMTkuMjc1LS4wNzQuNTQ3LS4yNi43NTEtLjE5MS4yMTItLjQ2Ni4zMzMtLjc1Mi4zMzNoLTQ0LjkzN3YtMjIuODkyYzAtMzkuNDc3LTMyLjI1Ni03MC4zNDQtNzAuMzQ1LTcwLjM0NC0yNi43NzggMC01MC45NDcgMTUuMTg5LTYyLjgzOSAzOC43NDQtMTIuMDA4LTIzLjc3Mi0zNi43MjUtMzkuMjUtNjQuMjA2LTM4LjczMS0zNy43LjcwOS02OC45ODggMzEuNTkzLTY4Ljk4OCA3MC4zMzJ2MjIuODkyaC03MC4zNTJjLS4yODYgMC0uNTYtLjEyMi0uNzUzLS4zMzUtLjE4NS0uMjA0LS4yNzctLjQ3Ni0uMjU5LS43NTFsMzguNzUyLTMyOS4wMzJjLjAwNS0uMDQyLjAxLS4wODQuMDE0LS4xMjcuMDUzLS41Mi40ODYtLjkxMiAxLjAxLS45MTJoMTM0LjU3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMzQuNTdjLTguMjMzIDAtMTUuMDY3IDYuMTYtMTUuOTI3IDE0LjMzOWwtMzguNzU3IDMyOS4wNzNjLS4wMDUuMDQzLS4wMS4wODYtLjAxNS4xMjktLjk0NiA5LjQyMiA2LjQ2NCAxNy42MTYgMTUuOTM1IDE3LjYxNmgxNTkuNTUxdjE5LjA1OGgtMTY5LjczMmMtMTQuODUyIDAtMjcuMjc5LTEyLjc4Mi0yNS43MzktMjguMzk5bDQwLjYwOS0zNDcuNDgzYy4wMDUtLjA0LjAwOS0uMDguMDEzLS4xMTkgMS4zMzYtMTMuMjY4IDEyLjM5OS0yMy4yNzMgMjUuNzM0LTIzLjI3M2gzMjAuNzk4YzEzLjMzNSAwIDI0LjM5NyAxMC4wMDUgMjUuNzMzIDIzLjI3Mi4wMDQuMDQuMDA4LjA4LjAxMy4xMmwyMy40ODcgMjAwLjk3OWMuNDgxIDQuMTE1IDQuMjE3IDcuMDYzIDguMzE5IDYuNTc5IDQuMTE0LS40OCA3LjA2LTQuMjA2IDYuNTc5LTguMzJsLTIzLjQ4LTIwMC45MjJjLTIuMTM4LTIwLjkzMi0xOS42MDMtMzYuNzA4LTQwLjY1MS0zNi43MDhoLTMyMC43OThjLTIxLjA0OSAwLTM4LjUxNiAxNS43NzctNDAuNjUyIDM2LjcxbC00MC42MSAzNDcuNDg4Yy0uMDA1LjA0LS4wMDkuMDgtLjAxMy4xMi0yLjQxNSAyMy45OTkgMTYuNDY2IDQ0Ljk1NSA0MC42NTggNDQuOTU1em0yNTcuNzEzLTcxLjMwMmMwLTEwLjMyNSA4LjEyMi0xOS4yODkgMTguNS0xOS40ODMgMTAuNjgyLS4yMDQgMTkuMjA5IDguNDkxIDE5LjIwOSAxOC44MzZ2MjIuODkyaC0zNy43MDl6bS0zNi40OTEgNzEuMzAyaDc0LjE5OXYxOS4wNThoLTc0LjE5OXptNzguMjE1LTM0LjA1OGM1LjU2OSAwIDEwLjAxNCA0LjgxOCA5LjQ4NCAxMC40My0uNDczIDQuODg0LTQuNTkgOC42MjctOS40ODQgOC42MjdoLTc4LjIxNXYtMTkuMDU4YzI2LjExMi4wMDEgNTIuMTY3LjAwMSA3OC4yMTUuMDAxem0tNzguMjE1IDY4LjExNmg3OC4yMTVjNS41MzcgMCAxMC4wMTYgNC43OTYgOS40ODQgMTAuNDMtLjQ3MiA0Ljg3NC00LjU4NyA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1em0xMTAuNjkgMzMuNjY5aC0yMS40OXYtMi4yMTNjMTguMDE0LTkuMTI3IDE4LjA1NC0zNC43MDggMC00My44NTV2LTI0LjI2YzE4LjA5OC05LjE3IDE3Ljk2OC0zNC43NTIgMC00My44NTV2LTI1LjQ5M2MwLTIwLjQ4Ni0xOC4yMDItMzYuNTE3LTM4Ljc5NC0zMy40OS0xNi4zNTMgMi40LTI4LjkxNSAxNi41MjYtMjguOTE1IDMzLjQ5djIyLjg5MmgtMjEuNDl2LTIxLjgzN2MwLTMwLjU1MiAyNC40Ni01Ni4wOTQgNTQuODIyLTU2LjM4NiAzMS4yMTgtLjI2MiA1NS44NjcgMjUuMDU4IDU1Ljg2NyA1NS4zMzF6bS0yMzYuMzc3LTExNi43ODV2LTIxLjgzOGMwLTMyLjIyNCAyNi42OTYtNTcuNTgzIDU3LjU4OS01Ni4zNDIgMjkuNDgzIDEuMjA0IDUzLjA5OSAyNS41MDMgNTMuMDk5IDU1LjI4N3YxMzkuNjc3aC0yMS40OWMwLTE0LjQxOCAwLTEyMS4wNjMgMC0xMzkuNjc3IDAtMTcuOTUtMTQuMDY1LTMyLjgwNC0zMS45MTUtMzMuNzk1LTE5LjI3Ni0xLjA5Ni0zNS43OTMgMTQuMjYxLTM1Ljc5MyAzMy43OTV2MjIuODkyaC0yMS40OXptMzYuNDkgMHYtMjIuMjQ1YzAtOS40MjUgNi43NjItMTcuNzI0IDE1Ljg3Ny0xOS4yNDMgMTEuNjM5LTEuODUyIDIxLjgzIDcuMjM3IDIxLjgzIDE4LjU5NnYyMi44OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Sxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjE2LDI1MkgxMTZjLTUuNTEsMC0xMCw0LjQ5LTEwLDEwczQuNDksMTAsMTAsMTBoMTAwYzUuNTEsMCwxMC00LjQ5LDEwLTEwUzIyMS41MSwyNTIsMjE2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1MmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMHMxMC00LjQ5LDEwLTEwUzI2MS41MSwyNTIsMjU2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzk2LDI1MkgyOTZjLTUuNTEsMC0xMCw0LjQ5LTEwLDEwczQuNDksMTAsMTAsMTBoMTAwYzUuNTEsMCwxMC00LjQ5LDEwLTEwUzQwMS41MSwyNTIsMzk2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjg2LDEwN2gtNjBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NjBjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg2MGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi02MAoJCQlDMjk2LDExMS40NzcsMjkxLjUyMywxMDcsMjg2LDEwN3ogTTI3NiwxNjdoLTQwdi00MGg0MFYxNjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMiw0OTJoLTEzVjIzM2MwLTYyLjIzNy0yNC4yMzYtMTIwLjc0OC02OC4yNDQtMTY0Ljc1NkMzNzYuNzQ4LDI0LjIzNiwzMTguMjM3LDAsMjU2LDBTMTM1LjI1MiwyNC4yMzYsOTEuMjQ0LDY4LjI0NAoJCQlTMjMsMTcwLjc2MywyMywyMzN2MjU5SDEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwczQuNDc3LDEwLDEwLDEwaDQ5MmM1LjUyMywwLDEwLTQuNDc3LDEwLTEwUzUwNy41MjMsNDkyLDUwMiw0OTJ6IE0zODYsNDkySDEyNgoJCQl2LTIwaDI2MFY0OTJ6IE0zODYsNDUySDEyNnYtMjBoMjYwVjQ1MnogTTM4Niw0MTJIMTI2di0yMGgyNjBWNDEyeiBNMzg2LDM3MkgxMjZ2LTIwaDI2MFYzNzJ6IE0zODYsMzMySDEyNnYtMjBoMjYwVjMzMnoKCQkJIE00MjksNDkyaC0yM1YzMDJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMEgxMTZjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTkwSDgzVjIzM2MwLTk1LjY2OCw3Ny4zODMtMTczLjUsMTcyLjUtMTczLjUKCQkJQzM1MS4xNjgsNTkuNSw0MjksMTM3LjMzMiw0MjksMjMzVjQ5MnogTTQ2OSw0OTJoLTIwVjIzM2MwLTEwNi42OTYtODYuODA0LTE5My41LTE5My41LTE5My41CgkJCWMtNTEuNjM5LDAtMTAwLjA2MywyMC4xMzctMTM2LjM1Miw1Ni43MDJDODIuOTQsMTMyLjY4NCw2MywxODEuMjY3LDYzLDIzM3YyNTlINDNWMjMzYzAtMTE3LjQ0OSw5NS41NTEtMjEzLDIxMy0yMTMKCQkJczIxMyw5NS41NTEsMjEzLDIxM1Y0OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",kxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MDguNTQxIDIxOC4zODQtMTYyLjUwNy0yMDMuMTM0Yy03Ljc1My05LjY5Mi0xOS4zMTgtMTUuMjUtMzEuNzI5LTE1LjI1aC04My4xNTVjLTguNzAzIDAtMTUuNzgzIDcuMDgtMTUuNzgzIDE1Ljc4M3YxNi41NjdjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDMzLjkxN3YxMTcuNTMzaC0zMC42MzJsLTEyMC4zMzQtMTUwLjQxNmMtNy43NTMtOS42OTEtMTkuMzE4LTE1LjI1LTMxLjcyOS0xNS4yNWgtNjYuNTg5Yy04LjcwMyAwLTE1Ljc4MyA3LjA4LTE1Ljc4MyAxNS43ODN2MTYuNTY3YzAgOC43MDMgNy4wOCAxNS43ODMgMTUuNzgzIDE1Ljc4M2gxNy4zNXYxMTcuNTMzaC0xNy4zNWMtOC43MDMuMDAxLTE1Ljc4MyA3LjA4MS0xNS43ODMgMTUuNzg0djMwNi40ODNjMCAxMy4yNzEgMTAuNzk2IDI0LjA2NyAyNC4wNjcgMjQuMDY3aDQ3Mi4xNWM4LjcwMyAwIDE1Ljc4My03LjA4IDE1Ljc4My0xNS43ODN2LTc0LjU1LTE0My4yODktNTAuMTM0YzAtMy41NzEtMS4yMjgtNy4wNzMtMy40NTktOS44NnptLTYyLjAyNCAxOTUuNzgzYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtNzQuNTUtMTIxLjkwOGwxOC4xMzQgMjIuNjY3djE3NC41NzR6bS0yMzEuOTM0IDBjLS40MzIgMC0uNzg0LS4zNTItLjc4NC0uNzgzdi02Ny4wNWgxOC4xMzN2NjcuODMzem0tNjYuMjY2LTgyLjgzNGMtLjQzMiAwLS43ODQtLjM1Mi0uNzg0LS43ODR2LTY3LjA0OWgxOC4xMzN2NjcuODMzem0tNjYuMjY3LTgyLjgzM2MtLjQzMiAwLS43ODMtLjM1Mi0uNzgzLS43ODN2LTY3LjA1aDE4LjEzM3Y2Ny44MzN6bTgzLjYxNi05MS43NDF2OC45MDhoLTE4LjEzM3YtMzEuNTc0em02Ni4yNjcgODIuODMzdjguOTA4aC0xOC4xMzN2LTMxLjU3NHptODEuMjY3IDguMTI1di0xOTYuNDI4Yy4wNzIuMDg0LjE1Mi4xNi4yMjIuMjQ3bDE3LjkxMSAyMi4zODl2MTc0LjU3NWgtMTcuMzVjLS40MzEgMC0uNzgzLS4zNTItLjc4My0uNzgzem0xMTcuNTMzIDUwLjQ4M2gtMTguMTMzdi0xMjIuNjkxbDE4LjEzNCAyMi42Njd2MTAwLjAyNHptLTE4LjEzMyAxNWgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bS0xNSAxOC4xMzNoLTE3LjM1Yy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4NHYtNzQuNTQ5LTEyMS45MDhsMTguMTMzIDIyLjY2NnptLTMzLjEzMy0xMTUuOTY2aC0xOC4xMzR2LTEyMi42OTFsMTguMTM0IDIyLjY2N3ptLTE4LjEzNCAxNWgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bTE4LjEzNCAzMy4xMzN2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzg0aC04NC40NHYtNTIuOTU1LTE0Ljg3OXptLTk5LjQwMSAxNy41MDl2MTAwLjAyNGgtMTguMTMzdi0xMjIuNjkxbDUuMDg2IDYuMzU3em0tMTUwLjY2Ni0xODguMzMzIDE4LjEzMyAyMi42Njd2MTAwLjAyNGgtMTguMTMzem0zMy4xMzMgODcuOTkxaDE4LjEzM3Y2Ny44MzNoLTE4LjEzM3ptMzMuMTMzLTUuMTU4IDE4LjEzMyAyMi42Njd2MTAwLjAyNGgtMTguMTMzem0zMy4xMzQgODcuOTkxaDE4LjEzM3Y2Ny44MzNoLTE4LjEzM3ptLTExNC40LTk3LjgzM2gtMTguMTMzdi0xMTQuMzc4Yy4wNzMuMDg0LjE1Mi4xNi4yMjIuMjQ3bDE3LjkxMSAyMi4zOXptMTUgNjQuN2gxOC4xMzN2MTguMTMzaC0xOC4xMzN6bTY2LjI2NiA4Mi44MzNoMTguMTM0djE4LjEzM2gtMTguMTMzdi0xOC4xMzN6bTY2LjI2NyA4Mi44MzNoMTguMTMzdjE4LjEzM2gtMTguMTMzem0zMy4xMzMtNDkuN2gxNTAuNjY3djY3LjA1YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMTUwLjcwN3ptMjA3LjMxNi03Ny4zNDYgOS42MTggMTIuMDIydjEwMC4wMjRoLTE4LjEzM3YtMTIyLjY5em0tOC41MTUgMTI3LjA0NmgxOC4xMzN2MTguMTMzaC0xOC4xMzN6bS0yNDguNS0zNjMuNjgzdi0xNi41NjdjMC0uNDMyLjM1Mi0uNzgzLjc4My0uNzgzaDgzLjE1NWM3LjgzIDAgMTUuMTI1IDMuNTA2IDIwLjAxNyA5LjYybDE2Mi41MDcgMjAzLjEzNGMwIC4wMDEuMDAxLjAwMS4wMDIuMDAyLjEwOS4xMzcuMTcuMzExLjE3LjQ4OHYyOC43NTNsLTE3MS44NjYtMjE0LjgzMWMtNC41OTMtNS43NC0xMS40NDItOS4wMzItMTguNzkzLTkuMDMyaC0uNjQyLTc0LjU1Yy0uNDMyLS4wMDEtLjc4My0uMzUyLS43ODMtLjc4NHptNjcuODMzIDE1Ljc4M3Y4NC40aC0xOC4xMzR2LTg0LjR6bS0xOC4xMzQgOTkuNGgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bTE4LjEzNCAzMy4xMzR2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0xOC4xNzR2LTIwLjI1NmMwLTMuNTctMS4yMjgtNy4wNzItMy40NTgtOS44NTkgMC0uMDAxIDAtLjAwMSAwLS4wMDFsLTMwLjE3NC0zNy43MThoNTEuNzY2em0tMjgzLjItMTQ4LjMxN3YtMTYuNTY3YzAtLjQzMS4zNTItLjc4My43ODMtLjc4M2g2Ni41ODhjNy44MyAwIDE1LjEyNSAzLjUwNiAyMC4wMTYgOS42MmwxNjIuNTA4IDIwMy4xMzRjLjExLjEzOC4xNzEuMzEzLjE3MS40OXYyOC43NTRsLTE3MS44NjUtMjE0LjgzMmMtNC41OTItNS43NC0xMS40NDItOS4wMzMtMTguNzkzLTkuMDMzaC0uNjQyLTU3Ljk4M2MtLjQzMSAwLS43ODMtLjM1MS0uNzgzLS43ODN6bTUxLjI2NyAxNS43ODN2ODQuNGgtMTguMTM0di04NC40em0tMTguMTM0IDk5LjRoMTguMTMzdjE4LjEzM2gtMTguMTMzem0tMjQuMDY2IDM0OS40NjdjLTUgMC05LjA2Ny00LjA2Ny05LjA2Ny05LjA2N3YtMzA2LjQ4M2MwLS40MzIuMzUyLS43ODQuNzgzLS43ODRoNTAuNDgzdjY3LjA1YzAgOC43MDMgNy4wOCAxNS43ODMgMTUuNzgzIDE1Ljc4M2g1MC40ODN2NjcuMDVjMCA4LjcwMyA3LjA4MSAxNS43ODQgMTUuNzg0IDE1Ljc4NGg1MC40ODR2NjcuMDVjMCA4LjcwMyA3LjA4MSAxNS43ODMgMTUuNzg0IDE1Ljc4M2g1MC40ODN2NjcuMDVjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzaC0yNDAuMjE3em00NzIuOTMzLS43ODNjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzaC0yMTYuMTljLjAxMy0uMjYxLjA0LS41MTkuMDQtLjc4M3YtNjcuMDVoMjE2LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+",Yxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuOTk4LDMwLjU5OGgtMTUyYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjQwLjAwM2MwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDIwLjAwMXY3NC43OTRoLTE5MAoJCQkJYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjQwLjAwMmMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwSDIwMHY3NC43OTZIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAxYzAsNS41MjMsNC40NzcsMTAsMTAsMTAKCQkJCWgxMy45OTZWNDcxLjRjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGgxODEuNzZjMi4yNTYsMCw0LjQ0NS0wLjc2Myw2LjIxMy0yLjE2NWwyODYuMjQzLTIyNi45NzIKCQkJCWMyLjM5Mi0xLjg5NiwzLjc4Ni00Ljc4MiwzLjc4Ni03LjgzNVY4MC42MDFWNDAuNTk4QzUxMS45OTgsMzUuMDc1LDUwNy41MjIsMzAuNTk4LDUwMS45OTgsMzAuNTk4eiBNMTg5Ljk5OSwyMDUuMzk3di0yMC4wMDIKCQkJCWgxODB2MjAuMDAySDE4OS45OTl6IE0yMCwzNDAuMTk0di0yMC4wMDFoMTgwdjIwLjAwMUgyMHogTTQ5MS45OTgsMTA5Ljg3OWgtNDEuMDM1Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwCgkJCQljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg0MS4wMzV2MTA5LjcxNUwyMTIuMjcxLDQ2MS40SDQzLjk5NnYtNjIuMjUzaDQxLjAzNmM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwcy00LjQ3OC0xMC0xMC0xMEg0My45OTYKCQkJCXYtMTguOTUzSDIxMGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi00MC4wMDF2LTg0Ljc5NmgxNTkuOTk5YzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTQwLjAwMlY5MC42MDFoMTAxLjk5OVYxMDkuODc5egoJCQkJIE00OTEuOTk4LDcwLjYwMWgtMTMyVjUwLjU5OGgxMzJWNzAuNjAxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMTQsMzc5LjE0NGgtMC4yMzZjLTUuNTI0LDAtMTAsNC40NzctMTAsMTBzNC40NzYsMTAsMTAsMTBIMTE0YzUuNTIyLDAsMTAtNC40NzcsMTAtMTBTMTE5LjUyMiwzNzkuMTQ0LDExNCwzNzkuMTQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjEuOTk4LDEyOS44OGgwLjIzNWM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwcy00LjQ3OC0xMC0xMC0xMGgtMC4yMzVjLTUuNTIzLDAtMTAsNC40NzctMTAsMTAKCQkJCVM0MTYuNDc1LDEyOS44OCw0MjEuOTk4LDEyOS44OHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",vxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNS41MTggNjRoMi45ODZjLjU1MyAwIDEtLjQ0NyAxLTF2LTIuMDIxaDQ0Ljk5MnYyLjAyMWMwIC41NTMuNDQ3IDEgMSAxaDNjLjU1MyAwIDEtLjQ0NyAxLTF2LTYwLjVjMC0xLjM3OC0xLjEyMS0yLjUtMi41LTIuNXMtMi41IDEuMTIyLTIuNSAyLjV2MTUuNTA0aC0yLjk5OHYtMTMuOTk2YzAtLjU1Mi0uNDQ3LTEtMS0xaC0xNS45OTZjLS41NTMgMC0xIC40NDgtMSAxdjEzLjk5NWgtMy4wMDJ2LTEzLjk5NWMwLS41NTItLjQ0Ny0xLTEtMWgtMTUuOTk2Yy0uNTUzIDAtMSAuNDQ4LTEgMXYxMy45OTVoLTN2LTE1LjUwM2MwLTEuMzc4LTEuMTIxLTIuNS0yLjUtMi41cy0yLjUgMS4xMjItMi41IDIuNWwuMDE0IDYwLjVjMCAuNTUzLjQ0NyAxIDEgMXptNTAuOTc4LTYxLjVjMC0uMjc2LjIyNS0uNS41LS41cy41LjIyNC41LjV2NTkuNWgtMXptLTE0Ljk5OCAyLjUwOGgyLjAwMnYxLjAwOGgtMi4wMDJ6bS01Ljk5NiAwaDMuOTk2djIuMDA4YzAgLjU1Mi40NDcgMSAxIDFoNC4wMDJjLjU1MyAwIDEtLjQ0OCAxLTF2LTIuMDA4aDMuOTk4djEyLjk5NWgtMTMuOTk2em0tMTUuMDAyIDBoMnYxLjAwOGgtMnptLTUuOTk2IDBoMy45OTZ2Mi4wMDhjMCAuNTUyLjQ0NyAxIDEgMWg0Yy41NTMgMCAxLS40NDggMS0xdi0yLjAwOGg0djEyLjk5NWgtMTMuOTk2em0tNSAxNC45OTVoNCAxNS45OTYgNS4wMDIgMTUuOTk2IDMuOTk4djFoLTQ0Ljk5MnptMCAzaDQ0Ljk5MnYxMy45NzFoLTIuOTk2di0xMC45OWMwLS41NTItLjQ0Ny0xLTEtMWgtMzdjLS41NTMgMC0xIC40NDgtMSAxdjEwLjk5MWgtMi45OTZ6bTE5Ljk5NiA2Ljk4MWg1Yy41NTMgMCAxLS40NDggMS0xdi0yaDE0djkuOTkxaC0zNXYtOS45OTFoMTR2MmMwIC41NTIuNDQ3IDEgMSAxem0xLTJ2LTFoM3Yxem0tMjAuOTk2IDEwLjk5MWgzLjk5NiAzNyAzLjk5NnYxLjAwMmgtNDQuOTkyem0wIDMuMDAyaDQ0Ljk5MnYxNGgtMi45OTR2LTExLjk5YzAtLjU1My0uNDQ3LTEtMS0xaC0xNC4wMDJjLS41NTMgMC0xIC40NDctMSAxdjExLjk5aC0yLjk5NHYtOC45ODhjMC0uNTUzLS40NDctMS0xLTFoLTYuOTk0Yy0uMDA0IDAtLjAwNi0uMDAyLS4wMS0uMDAycy0uMDA2LjAwMi0uMDEuMDAyaC0zLjk4MmMtLjAwNCAwLS4wMDYtLjAwMi0uMDEtLjAwMnMtLjAwNi4wMDItLjAxLjAwMmgtNi45ODZjLS41NTMgMC0xIC40NDctMSAxdjguOTg4aC0zem0zMS45OTYgNi4wMTdoNC4wMDJjLjU1MyAwIDEtLjQ0NyAxLTF2LTIuMDA4aDN2MTAuOTloLTEyLjAwMnYtMTAuOTloM3YyLjAwOGMwIC41NTMuNDQ3IDEgMSAxem0xLTJ2LTEuMDA4aDIuMDAydjEuMDA4em0tMjIgNWg0LjAwMmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMDZoNS4wMDR2Ny45ODhoLTE2LjAwMnYtNy45ODhoNC45OTZ2Mi4wMDZjMCAuNTUzLjQ0NyAxIDEgMXptMS0ydi0xLjAwNmgyLjAwMnYxLjAwNnptLTExLjk5NiA4Ljk4M2g0IDE4LjAwMiA0Ljk5NCAxNC4wMDIgMy45OTR2MS4wMDJoLTQ0Ljk5MnptLTIuNS01NS45NzdjLjI3NSAwIC41LjIyNC41LjV2NTkuNWgtLjk4NmwtLjAxNC01OS41YzAtLjI3Ni4yMjUtLjUuNS0uNXoiLz4KICAgIDwvZz4KPC9zdmc+",bxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjMgM3YtMmgtMzFjLS41NTMgMC0xIC40NDctMSAxdjhjMCAuNTUzLjQ0NyAxIDEgMWgxdjUwaC0zMnYyaDMzIDQgOCA0IDEzdi0yaC0xMnYtNWgxMnYtMmgtMTMtNC0zdi0yaDIwdi0yaC0yMWMtLjU1MyAwLTEgLjQ0Ny0xIDF2NGMwIC41NTMuNDQ3IDEgMSAxaDN2NWgtNnYtNTBoMjR2LTJoLTI1LTQtMXYtNnptLTE2IDUzaDJ2NWgtMnptLTEwLTQ1djUwaC0ydi01MHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjEgMzJjMC0yLjExOC0uNTAxLTQuMjM4LTEuNDQ3LTYuMTMxbC0uNjU4LTEuMzE2Yy0uMzQtLjY3OC0xLjQ0OS0uNjc4LTEuNzg5IDBsLS42NTggMS4zMTZjLS45NDcgMS44OTMtMS40NDggNC4wMTMtMS40NDggNi4xMzEgMCAuMjQxLjAyOS40ODEuMDQyLjcyMi0uNjQ2LS40ODMtMS4zODMtLjgzNy0yLjE3Mi0xLjAzNGwtMi42MjgtLjY1N2MtLjMzOC0uMDg3LS43MDEuMDE1LS45NDkuMjYzcy0uMzQ5LjYwOC0uMjYzLjk0OWwuNjU3IDIuNjI5Yy4yNjkgMS4wNzMuODIzIDIuMDU1IDEuNjA1IDIuODM2Ljc4MS43ODIgMS43NjMgMS4zMzcgMi44MzYgMS42MDVoLjAwMWwuNjcyLjE2OC0xLjI1LjYyNS44OTUgMS43ODkgMi41NTQtMS4yNzd2Mi4zODJoLTdjLS41NTMgMC0xIC40NDctMSAxdjRjMCAuNTUzLjQ0NyAxIDEgMWgxLjA5NWwuOTEgOS4xYy4wNTEuNTEuNDgxLjkuOTk1LjloMTBjLjUxNCAwIC45NDQtLjM5Ljk5NS0uOWwuOTEtOS4xaDEuMDk1Yy41NTMgMCAxLS40NDcgMS0xdi00YzAtLjU1My0uNDQ3LTEtMS0xaC03di0yLjM4MmwyLjU1MyAxLjI3Ni44OTUtMS43ODktMS4yNS0uNjI1LjY3Mi0uMTY4aC4wMDFjMS4wNzMtLjI2OSAyLjA1NS0uODIzIDIuODM2LTEuNjA1Ljc4Mi0uNzgxIDEuMzM3LTEuNzYzIDEuNjA1LTIuODM3bC42NTctMi42MjhjLjA4Ni0uMzQxLS4wMTUtLjcwMS0uMjYzLS45NDlzLS42MDktLjM1LS45NDktLjI2M2wtMi42MjkuNjU3Yy0uNzg4LjE5Ny0xLjUyNS41NTEtMi4xNzEgMS4wMzQuMDE0LS4yNC4wNDMtLjQ4LjA0My0uNzIxem0xLjA5NSAyNWgtOC4xODlsLS44LThoOS43OXptMi45MDUtMTBoLTE0di0yaDE0em0tNy0xOS43MzRjLjY1NSAxLjQ4NSAxIDMuMTEgMSA0LjczNHMtLjM0NSAzLjI0OS0xIDQuNzM0Yy0uNjU1LTEuNDg1LTEtMy4xMS0xLTQuNzM0cy4zNDUtMy4yNDkgMS00LjczNHptLTUuMjkzIDkuMDI3Yy0uNTI1LS41MjUtLjg5OC0xLjE4Ni0xLjA4LTEuOTA3bC0uMjUyLTEuMDExIDEuMDEuMjUyYy43MjMuMTgyIDEuMzgzLjU1NSAxLjkwOCAxLjA4cy44OTggMS4xODYgMS4wOCAxLjkwN2wuMjUyIDEuMDExLTEuMDEtLjI1MmMtLjcyMi0uMTgyLTEuMzgzLS41NTUtMS45MDgtMS4wOHptMTAuOTA3LTIuNjY2IDEuMDExLS4yNTItLjI1MiAxLjAxYy0uMTgyLjcyMy0uNTU1IDEuMzgzLTEuMDggMS45MDhzLTEuMTg2Ljg5OC0xLjkwOCAxLjA4bC0xLjAxLjI1Mi4yNTItMS4wMWMuMTgyLS43MjMuNTU1LTEuMzgzIDEuMDgtMS45MDhzMS4xODYtLjg5OCAxLjkwNy0xLjA4eiIvPgogICAgICAgIDxwYXRoIGQ9Im01IDE1aDEzYzIuNzU3IDAgNS0yLjI0MyA1LTVzLTIuMjQzLTUtNS01Yy0uNDM4IDAtLjg3Ny4wNjEtMS4zMDMuMTgtLjc2Ni0yLjQ1NS0zLjAyMy00LjE4LTUuNjk3LTQuMTgtMy4zMDkgMC02IDIuNjkxLTYgNi0yLjIwNiAwLTQgMS43OTQtNCA0czEuNzk0IDQgNCA0em0wLTZjLjI3IDAgLjUzMy4wNTQuNzgzLjE2LjM1Mi4xNDcuNzU2LjA4NSAxLjA0My0uMTYzLjI4OC0uMjQ4LjQxMS0uNjM5LjMxNy0xLjAwNy0uMDk4LS4zNzctLjE0My0uNjkyLS4xNDMtLjk5IDAtMi4yMDYgMS43OTQtNCA0LTQgMi4wODEgMCAzLjc4NCAxLjU3NCAzLjk2MSAzLjY2Mi4wMjguMzQ1LjIzMy42NDguNTQuODA2LjMwOC4xNTguNjc1LjE0NS45Ny0uMDMyLjQ4My0uMjkuOTk3LS40MzYgMS41MjktLjQzNiAxLjY1NCAwIDMgMS4zNDYgMyAzcy0xLjM0NiAzLTMgM2gtMTNjLTEuMTAzIDAtMi0uODk3LTItMnMuODk3LTIgMi0yeiIvPgogICAgPC9nPgo8L3N2Zz4=",Qxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTEsNTdINDguNDE0bC0uODc5LS44NzlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEtNS4xMTJDNTEuMTUzLDQ4LjU4Nyw1NS42MDcsNDEuOTM0LDU1Ljk1NywzNEg1NmExLDEsMCwwLDAsMS0xVjMwYTEsMSwwLDAsMC0xLTFINTIuNDY0YTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMtNEg1N2ExLDEsMCwwLDAsMS0xVjRhMSwxLDAsMCwwLTEtMUg0Ni44NDFBMTIuNywxMi43LDAsMCwwLDMzLjE1OSwzSDIzYTEsMSwwLDAsMC0xLDFWMjRhMSwxLDAsMCwwLDEsMWgyLjg2M2ExOS41ODIsMTkuNTgyLDAsMCwwLDEuNjczLDRIMjRhMSwxLDAsMCwwLTEsMXYzYTEsMSwwLDAsMCwxLDFoLjA0M2MuMzUsNy45MzQsNC44LDE0LjU4NywxMC44OTMsMTcuMDA5YTguNTg3LDguNTg3LDAsMCwxLTIuNDcxLDUuMTEyTDMxLjU4Niw1N0gyOWExLDEsMCwwLDAtMSwxdjRhMSwxLDAsMCwwLDEsMUg1MWExLDEsMCwwLDAsMS0xVjU4QTEsMSwwLDAsMCw1MSw1N1pNNTYsNVYyM0g1NC42MTFBMjEuNDQ3LDIxLjQ0NywwLDAsMCw1NSwxOSwxOS40OTMsMTkuNDkzLDAsMCwwLDQ5LjQwNyw1Wk0yNCwyM1Y1aDYuNTkzQTE5LjQ5MywxOS40OTMsMCwwLDAsMjUsMTlhMjEuNDQ3LDIxLjQ0NywwLDAsMCwuMzg5LDRabTMtNGMwLTguODIyLDUuODMyLTE2LDEzLTE2czEzLDcuMTc4LDEzLDE2YTE4LjQwNywxOC40MDcsMCwwLDEtMi44NzIsMTBINDcuNjgyQTE2LDE2LDAsMCwwLDUxLDE5YzAtNy43Mi00LjkzNS0xNC0xMS0xNFMyOSwxMS4yOCwyOSwxOWExNiwxNiwwLDAsMCwzLjMxOCwxMEgyOS44NzJBMTguNDA3LDE4LjQwNywwLDAsMSwyNywxOVptOC4wNjEsMTBBMTMuMzA4LDEzLjMwOCwwLDAsMSwzMSwxOWMwLTYuNjE3LDQuMDM3LTEyLDktMTJzOSw1LjM4Myw5LDEyYTEzLjMwOCwxMy4zMDgsMCwwLDEtNC4wNjEsMTBaTTI1LDMxSDU1djFIMjVabTEuMDQyLDNINTMuOTU4QzUzLjUyOCw0Mi45MDgsNDcuNDQyLDUwLDQwLDUwUzI2LjQ3Miw0Mi45MDgsMjYuMDQyLDM0Wk0zNi44NjQsNTEuNjI5YTEzLjQ0LDEzLjQ0LDAsMCwwLDYuMjcyLDBBMTAuNTM5LDEwLjUzOSwwLDAsMCw0NS42MzYsNTdIMzQuMzY0QTEwLjUzOSwxMC41MzksMCwwLDAsMzYuODY0LDUxLjYyOVpNNTAsNjFIMzBWNTlINTBaIi8+CiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgICAgICA8cGF0aCBkPSJNMjMsNTdoLS4wOEE3LjAxLDcuMDEsMCwwLDAsMTksNTEuNjg1VjQ4YTEsMSwwLDAsMC0xLTFIMTdWMjYuODE2YTMsMywwLDEsMC0yLDBWNDdIMTRhMSwxLDAsMCwwLTEsMXYzLjY4NUE3LjAxLDcuMDEsMCwwLDAsOS4wOCw1N0g5YTMsMywwLDAsMCwwLDZIMjNhMywzLDAsMCwwLDAtNlpNMTYsMjNhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsMTYsMjNaTTE1LDQ5aDJ2Mi4wOGE2LjI5LDYuMjksMCwwLDAtMiwwWm0xLDRhNS4wMDYsNS4wMDYsMCwwLDEsNSw1SDExQTUuMDA2LDUuMDA2LDAsMCwxLDE2LDUzWm03LDhIOWExLDEsMCwwLDEsMC0yLDEsMSwwLDAsMCwxLDFIMjJhMSwxLDAsMCwwLDEtMSwxLDEsMCwwLDEsMCwyWiIvPgogICAgICAgIDxwYXRoIGQ9Ik04LDE1YTEsMSwwLDAsMCwxLTEsNS4wMDYsNS4wMDYsMCwwLDEsNS01LDEsMSwwLDAsMCwwLTJBNS4wMDYsNS4wMDYsMCwwLDEsOSwyLDEsMSwwLDAsMCw3LDIsNS4wMDYsNS4wMDYsMCwwLDEsMiw3LDEsMSwwLDAsMCwyLDlhNS4wMDYsNS4wMDYsMCwwLDEsNSw1QTEsMSwwLDAsMCw4LDE1Wk01LjYsOEE3LjA2Niw3LjA2NiwwLDAsMCw4LDUuNiw3LjA2Niw3LjA2NiwwLDAsMCwxMC40LDgsNy4wNjYsNy4wNjYsMCwwLDAsOCwxMC40LDcuMDY2LDcuMDY2LDAsMCwwLDUuNiw4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4KICAgICAgICA8cGF0aCBkPSJNNjIsNDhhMywzLDAsMCwxLTMtMywxLDEsMCwwLDAtMiwwLDMsMywwLDAsMS0zLDMsMSwxLDAsMCwwLDAsMiwzLDMsMCwwLDEsMywzLDEsMSwwLDAsMCwyLDAsMywzLDAsMCwxLDMtMywxLDEsMCwwLDAsMC0yWm0tNCwyYTUuMDE3LDUuMDE3LDAsMCwwLTEtMSw1LjAxNyw1LjAxNywwLDAsMCwxLTEsNS4wMTcsNS4wMTcsMCwwLDAsMSwxQTUuMDE3LDUuMDE3LDAsMCwwLDU4LDUwWiIvPgogICAgPC9nPgo8L3N2Zz4K",Uxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOSA1MDkiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNTkuMiAwdjg5LjhoLTg5LjgwMXY4OS44aC04OS44djg5LjhoLTg5Ljc5OXY4OS44aC04OS44djE0OS44aDUwOXYtNTA5em0xMTkuOCA0NzloLTQ0OXYtODkuOGg4OS44di04OS44aDg5Ljh2LTg5LjhoODkuOHYtODkuOGg4OS44di04OS44aDg5Ljh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTY4LjQ0OCAxNzYuOTU2IDk0LjA0MS05NC4wNC0zLjYyOSA0My4wNjYgMjkuODk1IDIuNTE5IDguNTYyLTEwMS42MjYtMTAxLjYyNyA4LjU2MiAyLjUxOCAyOS44OTQgNDMuMDY4LTMuNjI4LTk0LjA0MSA5NC4wNHoiLz4KICAgIDwvZz4KPC9zdmc+",$xe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y0Mi42NjcKCQkJQzI0Ny40NjcsMzcuOTU2LDI0My42NDQsMzQuMTMzLDIzOC45MzMsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NzcuODY3LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjc2LjhjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzUzQ4Ni40LDgxLjUxLDQ4Ni40LDc2LjhWNDIuNjY3CgkJCUM0ODYuNCwzNy45NTYsNDgyLjU3NywzNC4xMzMsNDc3Ljg2NywzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE3OS4yLDBIOC41MzNDMy44MjMsMCwwLDMuODIzLDAsOC41MzN2NDk0LjkzM0MwLDUwOC4xNzcsMy44MjMsNTEyLDguNTMzLDUxMkgxNzkuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMKCQkJVjguNTMzQzE4Ny43MzMsMy44MjMsMTgzLjkxLDAsMTc5LjIsMHogTTE3MC42NjcsNDk0LjkzM2gtMTUzLjZWMTcuMDY3aDE1My42VjQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMzU4LjRIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxMzYuNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3CgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzY2LjkzM0M1MTIsMzYyLjIyMyw1MDguMTc3LDM1OC40LDUwMy40NjcsMzU4LjR6IE00OTQuOTMzLDQ5NC45MzNoLTMwNy4yVjM3NS40NjdoMzA3LjIKCQkJVjQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2NwoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjguNTMzQzUxMiwzLjgyMyw1MDguMTc3LDAsNTAzLjQ2NywweiBNNDk0LjkzMywzNC4xMzNoLTMwNy4yVjE3LjA2N2gzMDcuMlYzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEzNi41MzMsMjQ3LjQ2N2gtMjUuNmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDI1LjZjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVMxNDEuMjQ0LDI0Ny40NjcsMTM2LjUzMywyNDcuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMzLDI0Ny40NjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YyNS42YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YyNTYKCQkJQzExOS40NjcsMjUxLjI5LDExNS42NDQsMjQ3LjQ2NywxMTAuOTMzLDI0Ny40Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsNDE4LjEzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDUxLjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVMzNzEuNjQ0LDQxOC4xMzMsMzY2LjkzMyw0MTguMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNDEuMzMzLDQxOC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxNy4wNjdjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCXYtMTcuMDY3QzM0OS44NjcsNDIxLjk1NiwzNDYuMDQ0LDQxOC4xMzMsMzQxLjMzMyw0MTguMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yCgkJCUMyOTguNjY3LDM3Ljk1NiwyOTQuODQ0LDM0LjEzMywyOTAuMTMzLDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywxMTkuNDY3Yy00NS45MzUsMC03Ni44LDE3LjE0My03Ni44LDQyLjY2N1YxNzkuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTcuMDY3djc2LjgKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcKCQkJQzM2Ni45MzMsMTM2LjYxLDMzNi4wNjgsMTE5LjQ2NywyOTAuMTMzLDExOS40Njd6IE0zNDkuODY3LDE3MC42NjdIMzMyLjhjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZIMjU2di03Ni44CgkJCWMwLTQuNzEtMy44MjMtOC41MzMtOC41MzMtOC41MzNIMjMwLjR2LTguNTMzYzAtMTIuNDA3LDIwLjkzMi0yNS42LDU5LjczMy0yNS42czU5LjczMywxMy4xOTMsNTkuNzMzLDI1LjZWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzQ5Ljg2NywxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNwoJCQljMCw0LjAxMSwyLjc5LDcuNDc1LDYuNzA3LDguMzM3YzE5LjI1MSw0LjIxNSwzMS42OTMsMTMuMTY3LDMxLjY5MywyMi44MDF2OC41MzNIMzMyLjhjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2NwoJCQlDNDI2LjY2NywxMzYuNjEsMzk1LjgwMiwxMTkuNDY3LDM0OS44NjcsMTE5LjQ2N3ogTTQwOS42LDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcKCQkJSDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3YzAtOS44MTMtNC43MzYtMTguNTc3LTEzLjM4LTI1LjU1N2MzNi40MzcsMC44MDIsNTYuMDQ3LDEzLjU0Miw1Ni4wNDcsMjUuNTU3CgkJCVYxNzAuNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MDkuNiwxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNwoJCQljMCw0LjAxMSwyLjc5LDcuNDc1LDYuNzA3LDguMzM3YzE5LjI1MSw0LjIxNSwzMS42OTMsMTMuMTY3LDMxLjY5MywyMi44MDF2OC41MzNoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjg1LjMzMwoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3CgkJCUM0ODYuNCwxMzYuNjEsNDU1LjUzNSwxMTkuNDY3LDQwOS42LDExOS40Njd6IE00NjkuMzMzLDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcKCQkJaDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1NwoJCQlWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMwoJCQljMCw0LjcwMi0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzYzE0LjExNCwwLDI1LjYtMTEuNDg2LDI1LjYtMjUuNgoJCQlTMzA0LjI0Nyw4NS4zMzMsMjkwLjEzMyw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM1OC40LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yCgkJCUMzNjYuOTMzLDM3Ljk1NiwzNjMuMTEsMzQuMTMzLDM1OC40LDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzU4LjQsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMKCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYKCQkJUzM3Mi41MTQsODUuMzMzLDM1OC40LDg1LjMzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDNDM1LjIsMzcuOTU2LDQzMS4zNzcsMzQuMTMzLDQyNi42NjcsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjYuNjY3LDg1LjMzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcwMiwwLDguNTMzLDMuODMxLDguNTMzLDguNTMzCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42CgkJCVM0NDAuNzgxLDg1LjMzMyw0MjYuNjY3LDg1LjMzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDg2LjQsMzI0LjI2N0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzA3LjIKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YzMzIuOEM0OTQuOTMzLDMyOC4wOSw0OTEuMTEsMzI0LjI2Nyw0ODYuNCwzMjQuMjY3eiBNNDc3Ljg2NywzNTguNEgxODcuNzMzdi0xNy4wNjdoMjkwLjEzMwoJCQlWMzU4LjR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ2OS4zMzMsMzkyLjUzM2gtMjU2Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2NjguMjY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNTYKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNjguMjY3QzQ3Ny44NjcsMzk2LjM1Niw0NzQuMDQ0LDM5Mi41MzMsNDY5LjMzMywzOTIuNTMzeiBNNDYwLjgsNDYwLjhIMjIxLjg2N3YtNTEuMkg0NjAuOAoJCQlWNDYwLjh6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Pxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTUuNzU4IDYxLTEuNTY5LTUuNTdjNC4wNTMtMi4yMDQgNi44MTEtNi41MDEgNi44MTEtMTEuNDN2LTFjMS4xMDMgMCAyLS44OTcgMi0ydi0yYzAtMS4xMDMtLjg5Ny0yLTItMnYtMTBjMS4xMDMgMCAyLS44OTcgMi0ydi0yYzAtMS4xMDMtLjg5Ny0yLTItMmgtMjZjLTEuMTAzIDAtMiAuODk3LTIgMnYyYzAgMS4xMDMuODk3IDIgMiAydjEwYy0xLjEwMyAwLTIgLjg5Ny0yIDJ2MmMwIDEuMTAzLjg5NyAyIDIgMnYxYzAgNC45MjkgMi43NTggOS4yMjYgNi44MTEgMTEuNDNsLTEuNTY5IDUuNTdoLTEzLjM0M2MtLjQ2NS0yLjI3OS0yLjQ4NC00LTQuODk5LTRoLTF2LTkuMDAzYzQuNjkzLTEuOTYzIDgtNi42IDgtMTEuOTk3di03aC0xOHYtNGg0djJoMnYtMmMwLTEuMTAzLS44OTctMi0yLTJoLTYtMS0xYy0xLjEwMyAwLTIgLjg5Ny0yIDJ2NGgtMnY3YzAgNS4zOTcgMy4zMDcgMTAuMDM0IDggMTEuOTk3djkuMDAzaC0xYy0yLjQxNCAwLTQuNDM0IDEuNzIxLTQuODk5IDRoLTUuMTAxdjJoNjR2LTJ6bS0yMC43NTktMzhoMjYuMDAxdjJoLTI2em0yLjAwMSA4aDR2LTJoLTR2LTJoMjJ2MTBoLTIyem0tMi4wMDEgOGgyNi4wMDF2MmgtMjZ6bTIuMDAxIDV2LTFoMjJ2MWMwIDYuMDY1LTQuOTM1IDExLTExIDExcy0xMS00LjkzNS0xMS0xMXptNi42NjEgMTIuMjRjMS4zNi40ODMgMi44MTYuNzYgNC4zMzkuNzZzMi45NzktLjI3NyA0LjMzOS0uNzZsMS4zNCA0Ljc2aC0xMS4zNTh6bS0zNi42NjEtMzEuMjRoMSAxdjRoLTJ6bTIwIDZ2MmgtMjJ2LTJ6bS0yMiA1di0xaDIydjFjMCA2LjA2NS00LjkzNSAxMS0xMSAxMXMtMTEtNC45MzUtMTEtMTF6bTggMTIuNjM3Yy45NjUuMjI5IDEuOTY2LjM2MyAzIC4zNjNzMi4wMzUtLjEzNCAzLS4zNjN2OC4zNjNoLTZ6bS0zIDEwLjM2M2gxMmMxLjMwMiAwIDIuNDAyLjgzOSAyLjgxNiAyaC0xNy42MzJjLjQxNC0xLjE2MSAxLjUxNC0yIDIuODE2LTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQgMjFoMjRjMS42NTQgMCAzLTEuMzQ2IDMtM3YtMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM2gtMjRjLTEuNjU0IDAtMyAxLjM0Ni0zIDN2MTRjMCAxLjY1NCAxLjM0NiAzIDMgM3ptLTEtMTdjMC0uNTUxLjQ0OC0xIDEtMWgyNGMuNTUyIDAgMSAuNDQ5IDEgMXYxNGMwIC41NTEtLjQ0OCAxLTEgMWgtMjRjLS41NTIgMC0xLS40NDktMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMCAyLjUxNWgydjE2Ljk3MWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC00LjU1NiAxMSkiLz4KICAgICAgICA8cGF0aCBkPSJtMjAgMi41MTVoMnYxNi45NzFoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzA3IC0uNzA3IC43MDcgLjcwNyAtMS42MjcgMTguMDcxKSIvPgogICAgICAgIDxwYXRoIGQ9Im0zNSA5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzUgMTNoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyAxMWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzIDExaDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDUgM2gydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1IDdoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDMgNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDEzaDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTUgMTdoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im01NyAxNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUzIDE1aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+",Wxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTEsNTdINDguNDE0bC0uODc5LS44NzlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEtNS4xMTJDNTEuMTUzLDQ4LjU4Nyw1NS42MDcsNDEuOTM0LDU1Ljk1NywzNEg1NmExLDEsMCwwLDAsMS0xVjMwYTEsMSwwLDAsMC0xLTFINTIuNDY0YTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMtNEg1N2ExLDEsMCwwLDAsMS0xVjRhMSwxLDAsMCwwLTEtMUg0Ni44NDFBMTIuNywxMi43LDAsMCwwLDMzLjE1OSwzSDIzYTEsMSwwLDAsMC0xLDFWMjRhMSwxLDAsMCwwLDEsMWgyLjg2M2ExOS41ODIsMTkuNTgyLDAsMCwwLDEuNjczLDRIMjRhMSwxLDAsMCwwLTEsMXYzYTEsMSwwLDAsMCwxLDFoLjA0M2MuMzUsNy45MzQsNC44LDE0LjU4NywxMC44OTMsMTcuMDA5YTguNTg3LDguNTg3LDAsMCwxLTIuNDcxLDUuMTEyTDMxLjU4Niw1N0gyOWExLDEsMCwwLDAtMSwxdjRhMSwxLDAsMCwwLDEsMUg1MWExLDEsMCwwLDAsMS0xVjU4QTEsMSwwLDAsMCw1MSw1N1pNNTYsNVYyM0g1NC42MTFBMjEuNDQ3LDIxLjQ0NywwLDAsMCw1NSwxOSwxOS40OTMsMTkuNDkzLDAsMCwwLDQ5LjQwNyw1Wk0yNCwyM1Y1aDYuNTkzQTE5LjQ5MywxOS40OTMsMCwwLDAsMjUsMTlhMjEuNDQ3LDIxLjQ0NywwLDAsMCwuMzg5LDRabTMtNGMwLTguODIyLDUuODMyLTE2LDEzLTE2czEzLDcuMTc4LDEzLDE2YTE4LjQwNywxOC40MDcsMCwwLDEtMi44NzIsMTBINDcuNjgyQTE2LDE2LDAsMCwwLDUxLDE5YzAtNy43Mi00LjkzNS0xNC0xMS0xNFMyOSwxMS4yOCwyOSwxOWExNiwxNiwwLDAsMCwzLjMxOCwxMEgyOS44NzJBMTguNDA3LDE4LjQwNywwLDAsMSwyNywxOVptOC4wNjEsMTBBMTMuMzA4LDEzLjMwOCwwLDAsMSwzMSwxOWMwLTYuNjE3LDQuMDM3LTEyLDktMTJzOSw1LjM4Myw5LDEyYTEzLjMwOCwxMy4zMDgsMCwwLDEtNC4wNjEsMTBaTTI1LDMxSDU1djFIMjVabTEuMDQyLDNINTMuOTU4QzUzLjUyOCw0Mi45MDgsNDcuNDQyLDUwLDQwLDUwUzI2LjQ3Miw0Mi45MDgsMjYuMDQyLDM0Wk0zNi44NjQsNTEuNjI5YTEzLjQ0LDEzLjQ0LDAsMCwwLDYuMjcyLDBBMTAuNTM5LDEwLjUzOSwwLDAsMCw0NS42MzYsNTdIMzQuMzY0QTEwLjUzOSwxMC41MzksMCwwLDAsMzYuODY0LDUxLjYyOVpNNTAsNjFIMzBWNTlINTBaIi8+CiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgICAgICA8cGF0aCBkPSJNMjMsNTdoLS4wOEE3LjAxLDcuMDEsMCwwLDAsMTksNTEuNjg1VjQ4YTEsMSwwLDAsMC0xLTFIMTdWMjYuODE2YTMsMywwLDEsMC0yLDBWNDdIMTRhMSwxLDAsMCwwLTEsMXYzLjY4NUE3LjAxLDcuMDEsMCwwLDAsOS4wOCw1N0g5YTMsMywwLDAsMCwwLDZIMjNhMywzLDAsMCwwLDAtNlpNMTYsMjNhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsMTYsMjNaTTE1LDQ5aDJ2Mi4wOGE2LjI5LDYuMjksMCwwLDAtMiwwWm0xLDRhNS4wMDYsNS4wMDYsMCwwLDEsNSw1SDExQTUuMDA2LDUuMDA2LDAsMCwxLDE2LDUzWm03LDhIOWExLDEsMCwwLDEsMC0yLDEsMSwwLDAsMCwxLDFIMjJhMSwxLDAsMCwwLDEtMSwxLDEsMCwwLDEsMCwyWiIvPgogICAgICAgIDxwYXRoIGQ9Ik04LDE1YTEsMSwwLDAsMCwxLTEsNS4wMDYsNS4wMDYsMCwwLDEsNS01LDEsMSwwLDAsMCwwLTJBNS4wMDYsNS4wMDYsMCwwLDEsOSwyLDEsMSwwLDAsMCw3LDIsNS4wMDYsNS4wMDYsMCwwLDEsMiw3LDEsMSwwLDAsMCwyLDlhNS4wMDYsNS4wMDYsMCwwLDEsNSw1QTEsMSwwLDAsMCw4LDE1Wk01LjYsOEE3LjA2Niw3LjA2NiwwLDAsMCw4LDUuNiw3LjA2Niw3LjA2NiwwLDAsMCwxMC40LDgsNy4wNjYsNy4wNjYsMCwwLDAsOCwxMC40LDcuMDY2LDcuMDY2LDAsMCwwLDUuNiw4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4KICAgICAgICA8cGF0aCBkPSJNNjIsNDhhMywzLDAsMCwxLTMtMywxLDEsMCwwLDAtMiwwLDMsMywwLDAsMS0zLDMsMSwxLDAsMCwwLDAsMiwzLDMsMCwwLDEsMywzLDEsMSwwLDAsMCwyLDAsMywzLDAsMCwxLDMtMywxLDEsMCwwLDAsMC0yWm0tNCwyYTUuMDE3LDUuMDE3LDAsMCwwLTEtMSw1LjAxNyw1LjAxNywwLDAsMCwxLTEsNS4wMTcsNS4wMTcsMCwwLDAsMSwxQTUuMDE3LDUuMDE3LDAsMCwwLDU4LDUwWiIvPgogICAgPC9nPgo8L3N2Zz4K",Bxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWNzYuOGMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWNDIuNjY3CgkJCUMyNDcuNDY3LDM3Ljk1NiwyNDMuNjQ0LDM0LjEzMywyMzguOTMzLDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDc3Ljg2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1M0ODYuNCw4MS41MSw0ODYuNCw3Ni44VjQyLjY2NwoJCQlDNDg2LjQsMzcuOTU2LDQ4Mi41NzcsMzQuMTMzLDQ3Ny44NjcsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNzkuMiwwSDguNTMzQzMuODIzLDAsMCwzLjgyMywwLDguNTMzdjQ5NC45MzNDMCw1MDguMTc3LDMuODIzLDUxMiw4LjUzMyw1MTJIMTc5LjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVY4LjUzM0MxODcuNzMzLDMuODIzLDE4My45MSwwLDE3OS4yLDB6IE0xNzAuNjY3LDQ5NC45MzNoLTE1My42VjE3LjA2N2gxNTMuNlY0OTQuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDM1OC40SDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTM2LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2NwoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjM2Ni45MzNDNTEyLDM2Mi4yMjMsNTA4LjE3NywzNTguNCw1MDMuNDY3LDM1OC40eiBNNDk0LjkzMyw0OTQuOTMzaC0zMDcuMlYzNzUuNDY3aDMwNy4yCgkJCVY0OTQuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDBIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMyNC4yNjcKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y4LjUzM0M1MTIsMy44MjMsNTA4LjE3NywwLDUwMy40NjcsMHogTTQ5NC45MzMsMzQuMTMzaC0zMDcuMlYxNy4wNjdoMzA3LjJWMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMzYuNTMzLDI0Ny40NjdoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNS42YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQlTMTQxLjI0NCwyNDcuNDY3LDEzNi41MzMsMjQ3LjQ2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzMywyNDcuNDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MjUuNmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWMjU2CgkJCUMxMTkuNDY3LDI1MS4yOSwxMTUuNjQ0LDI0Ny40NjcsMTEwLjkzMywyNDcuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjYuOTMzLDQxOC4xMzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1MS4yYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQlTMzcxLjY0NCw0MTguMTMzLDM2Ni45MzMsNDE4LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzQxLjMzMyw0MTguMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTcuMDY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQl2LTE3LjA2N0MzNDkuODY3LDQyMS45NTYsMzQ2LjA0NCw0MTguMTMzLDM0MS4zMzMsNDE4LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDMjk4LjY2NywzNy45NTYsMjk0Ljg0NCwzNC4xMzMsMjkwLjEzMywzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsMTE5LjQ2N2MtNDUuOTM1LDAtNzYuOCwxNy4xNDMtNzYuOCw0Mi42NjdWMTc5LjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDE3LjA2N3Y3Ni44CgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNIMzMyLjhjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44SDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3CgkJCUMzNjYuOTMzLDEzNi42MSwzMzYuMDY4LDExOS40NjcsMjkwLjEzMywxMTkuNDY3eiBNMzQ5Ljg2NywxNzAuNjY3SDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWMjU2SDI1NnYtNzYuOAoJCQljMC00LjcxLTMuODIzLTguNTMzLTguNTMzLTguNTMzSDIzMC40di04LjUzM2MwLTEyLjQwNywyMC45MzItMjUuNiw1OS43MzMtMjUuNnM1OS43MzMsMTMuMTkzLDU5LjczMywyNS42VjE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM0OS44NjcsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcKCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzSDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTkuNzMzYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNzYuOGgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcKCQkJQzQyNi42NjcsMTM2LjYxLDM5NS44MDIsMTE5LjQ2NywzNDkuODY3LDExOS40Njd6IE00MDkuNiwxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3CgkJCUgzNTguNGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1NwoJCQlWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDA5LjYsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcKCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzaC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2NwoJCQlDNDg2LjQsMTM2LjYxLDQ1NS41MzUsMTE5LjQ2Nyw0MDkuNiwxMTkuNDY3eiBNNDY5LjMzMywxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3CgkJCWgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcKCQkJVjE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMKCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYKCQkJUzMwNC4yNDcsODUuMzMzLDI5MC4xMzMsODUuMzMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCwzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDMzY2LjkzMywzNy45NTYsMzYzLjExLDM0LjEzMywzNTguNCwzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM1OC40LDg1LjMzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcwMiwwLDguNTMzLDMuODMxLDguNTMzLDguNTMzCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42CgkJCVMzNzIuNTE0LDg1LjMzMywzNTguNCw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQyNi42NjcsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2NTEuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTUxLjIKCQkJQzQzNS4yLDM3Ljk1Niw0MzEuMzc3LDM0LjEzMyw0MjYuNjY3LDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2Nyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMwoJCQljMCw0LjcwMi0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzYzE0LjExNCwwLDI1LjYtMTEuNDg2LDI1LjYtMjUuNgoJCQlTNDQwLjc4MSw4NS4zMzMsNDI2LjY2Nyw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ4Ni40LDMyNC4yNjdIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMwNy4yCgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzMyLjhDNDk0LjkzMywzMjguMDksNDkxLjExLDMyNC4yNjcsNDg2LjQsMzI0LjI2N3ogTTQ3Ny44NjcsMzU4LjRIMTg3LjczM3YtMTcuMDY3aDI5MC4xMzMKCQkJVjM1OC40eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjkuMzMzLDM5Mi41MzNoLTI1NmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjY4LjI2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjU2CgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTY4LjI2N0M0NzcuODY3LDM5Ni4zNTYsNDc0LjA0NCwzOTIuNTMzLDQ2OS4zMzMsMzkyLjUzM3ogTTQ2MC44LDQ2MC44SDIyMS44Njd2LTUxLjJINDYwLjgKCQkJVjQ2MC44eiIvPgogICAgPC9nPgo8L3N2Zz4K",Jxe="PHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTE5NC44MzYgNThoLTExOS4zMjhjLTI0LjQ0NSAwLTQ0LjMzNiAxOS44ODktNDQuMzM2IDQ0LjMzNnYxMTkuMzI4YzAgMjQuNDQ3IDE5Ljg5MSA0NC4zMzYgNDQuMzM2IDQ0LjMzNmgxMTkuMzI4YzI0LjQ0NSAwIDQ0LjMzNi0xOS44ODkgNDQuMzM2LTQ0LjMzNnYtMTE5LjMyOGMwLTI0LjQ0Ny0xOS44OTEtNDQuMzM2LTQ0LjMzNi00NC4zMzZ6bTM2LjMzNiAxNjMuNjY0YzAgMjAuMDM1LTE2LjMwMSAzNi4zMzYtMzYuMzM2IDM2LjMzNmgtMTE5LjMyOGMtMjAuMDM1IDAtMzYuMzM2LTE2LjMwMS0zNi4zMzYtMzYuMzM2di0xMTkuMzI4YzAtMjAuMDM1IDE2LjMwMS0zNi4zMzYgMzYuMzM2LTM2LjMzNmgxMTkuMzI4YzIwLjAzNSAwIDM2LjMzNiAxNi4zMDEgMzYuMzM2IDM2LjMzNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA3NGMtNDkuNjI1IDAtOTAgNDAuMzczLTkwIDkwczQwLjM3NSA5MCA5MCA5MCA5MC00MC4zNzMgOTAtOTAtNDAuMzc1LTkwLTkwLTkwem0wIDE3MmMtNDUuMjE1IDAtODItMzYuNzg1LTgyLTgyczM2Ljc4NS04MiA4Mi04MiA4MiAzNi43ODUgODIgODItMzYuNzg1IDgyLTgyIDgyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzUuMTcyIDkwYy00MC44MDUgMC03NCAzMy4xOTUtNzQgNzRzMzMuMTk1IDc0IDc0IDc0IDc0LTMzLjE5NSA3NC03NC0zMy4xOTUtNzQtNzQtNzR6bTAgMTQwYy0zNi4zOTEgMC02Ni0yOS42MDctNjYtNjZzMjkuNjA5LTY2IDY2LTY2IDY2IDI5LjYwNyA2NiA2Ni0yOS42MSA2Ni02NiA2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtNzkuMTcyIDEzOHYzMmMwIDIuMjA5IDEuNzg5IDQgNCA0aDEwNGMyLjIxMSAwIDQtMS43OTEgNC00di0zMmMwLTIuMjA5LTEuNzg5LTQtNC00aC0xMDRjLTIuMjExIDAtNCAxLjc5MS00IDR6bTggNGg5NnYyNGgtOTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExNy4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyOS4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE0NS4xNzIgMTUxLjQ3Yy0yLjUwMiAwLTQuNTMgMi4wMjgtNC41MyA0LjUzIDAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTMgMi41MDEgMCA0LjUzLTIuMDI4IDQuNTMtNC41My0uMDAxLTIuNTAyLTIuMDI5LTQuNTMtNC41My00LjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNTMuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjE5OS4xNzIiIGN5PSIzOCIgcj0iNCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzkuMTcyIDQ2Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyczUuMzgzIDEyIDEyIDEyIDEyLTUuMzgzIDEyLTEyLTUuMzgzLTEyLTEyLTEyem0wIDE2Yy0yLjIwNyAwLTQtMS43OTUtNC00czEuNzkzLTQgNC00IDQgMS43OTUgNCA0LTEuNzkzIDQtNCA0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjQuODI4IDExMCAyLjgyOC0yLjgyOGMxLjU2Mi0xLjU2MiAxLjU2Mi00LjA5NCAwLTUuNjU2cy00LjA5NC0xLjU2Mi01LjY1NiAwbC0yLjgyOCAyLjgyOC0yLjgyOC0yLjgyOGMtMS41NjItMS41NjItNC4wOTQtMS41NjItNS42NTYgMHMtMS41NjIgNC4wOTQgMCA1LjY1NmwyLjgyOCAyLjgyOC0yLjgyOCAyLjgyOGMtMS41NjIgMS41NjItMS41NjIgNC4wOTQgMCA1LjY1Ni43ODEuNzgxIDEuODA1IDEuMTcyIDIuODI4IDEuMTcyczIuMDQ3LS4zOTEgMi44MjgtMS4xNzJsMi44MjgtMi44MjggMi44MjggMi44MjhjLjc4MS43ODEgMS44MDUgMS4xNzIgMi44MjggMS4xNzJzMi4wNDctLjM5MSAyLjgyOC0xLjE3MmMxLjU2Mi0xLjU2MiAxLjU2Mi00LjA5NCAwLTUuNjU2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuMTcyIDE5NGgtNC45MzRsNS44NTktOS43NjhjMS4xMzctMS44OTUuNTIzLTQuMzUyLTEuMzcxLTUuNDg4LTEuODk4LTEuMTM3LTQuMzUyLS41MjEtNS40ODggMS4zNzFsLTkuNDk2IDE1LjgyNmMtLjc0MiAxLjIzNi0uNzYyIDIuNzc1LS4wNTEgNC4wMjlzMi4wMzkgMi4wMjkgMy40OCAyLjAyOWg1LjUyN2wtNS4xMDUgMTAuMjExYy0uOTg4IDEuOTc3LS4xODggNC4zNzkgMS43ODkgNS4zNjcuNTc0LjI4NyAxLjE4NC40MjIgMS43ODUuNDIyIDEuNDY5IDAgMi44NzktLjgwOSAzLjU4Mi0yLjIxMWw4LTE2Yy42MjEtMS4yNC41NTUtMi43MTMtLjE3Ni0zLjg5My0uNzI5LTEuMTc2LTIuMDE0LTEuODk1LTMuNDAxLTEuODk1eiIvPgogICAgICAgIDxwYXRoIGQ9Im05NS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDcuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTE5LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEzMS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjMuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc1LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Rxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMi41IDUxMi41IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsNDE4LjVjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjV2NzguNWMwLDkuNjczLDE1LDkuNjczLDE1LDBWNDI2QzUxMi4yNSw0MjEuODU4LDUwOC44OTMsNDE4LjUsNTA0Ljc1LDQxOC41eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsMjQ5LjM1NWgtNTguODk0di0yNy4wNDNoMTguMDExYzEwLjk2NCwwLDE5Ljg4My04LjkxOSwxOS44ODMtMTkuODgzVjE5Ljg4NEM0ODMuNzUsOC45Miw0NzQuODMxLDAsNDYzLjg2NywwICAgSDE4NC4wNTljLTEwLjk2NCwwLTE5Ljg4Myw4LjkyLTE5Ljg4MywxOS44ODR2MjYuOTI5YzAsOS42NzMsMTUsOS42NzMsMTUsMFYxOS44ODRjMC0yLjY5MywyLjE5LTQuODg0LDQuODgzLTQuODg0aDI3OS44MDkgICBjMi42OTIsMCw0Ljg4MywyLjE5MSw0Ljg4Myw0Ljg4NHYxNDUuNDI5aC0yMi44OTRWODUuNDA2YzAtMi40NzUtMS4yMjEtNC43OS0zLjI2My02LjE4OGMtMi4wNDEtMS4zOTgtNC42NDEtMS42OTktNi45NDktMC44MDUgICBjLTEuOTYyLDAuNzYxLTQzLjM0LDE3LjY1OS01Mi4xNDYsODYuODk5SDE3OS4xNzZ2LTc5LjVjMC05LjY3My0xNS05LjY3My0xNSwwdjExNi42MTdjMCwxMC45NjQsOC45MTksMTkuODgzLDE5Ljg4MywxOS44ODMgICBoMTAwLjc0NnYyNy4wNDNIMTE0LjUxNmMxNi42MTItMTYuNTk0LDE4LjIzNC00Mi44NzEsMTguMjM0LTY0Ljk0OWMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41aC00MC41di0xNC4xNTkgICBjMjQuMDYsNS4xMTQsNTAuMjg4LTE0LjYxNiw0OS45NjctMzkuNjQ1Yy0wLjA0My0zLjM1Mi0wLjQ1OS02Ljc1OC0zLjU1Ni04LjgwM2MtMTQuMjQ2LTkuNDAzLTMzLjg2Ni01LjQ4NS00Ni40MTEsNC43ODN2LTEzLjUyOSAgIGMyMS40MzMtMTQuNzkzLDIzLjAyNS00OS42MjksMi40MjktNjUuODg5Yy0yLjA3NS0xLjYzOC00LjM3MS0zLjE5Ny02LjgzNC00LjIwMWMtMTAuNTcxLTQuMzE2LTIyLjE5MSwxNC41MTMtMjQuNzEsMjEuNzgxICAgYy01Ljk1MSwxNy4xNzQtMC41NjgsMzYuOTI2LDE0LjExNCw0Ny44MjR2MTMuOTMxYy05LjYyNy03LjgzMy0yMi4yLTExLjY5Ni0zNC40ODMtOS4yMzZjLTUuMDc2LDEuMDE3LTEzLjk3MSwzLjMxNC0xNS4wNzgsOS40NjcgICBjLTQuNzU4LDI2LjQ3NiwyNS4yMzUsNDguNjQzLDQ5LjU2Miw0My41Mzl2MTQuMTM3aC00My41Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41YzAsMjIuMDQ3LDEuMTk2LDQ4LjM1NywxNy44MDYsNjQuOTQ5SDcuNzUgICBjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjVWNTA0LjVjMCw5LjY3MywxNSw5LjY3MywxNSwwdi0zNWgxMzUuNXYzNWMwLDkuNjczLDE1LDkuNjczLDE1LDB2LTE5MWgyNjUuMjE1ICAgYzAuMDM5LDIuNjEzLDAuMjg5LDE2LjY4OCwwLjMyLDIwLjkwNkgzMDQuMzU2Yy0yOS42NTEsMC01MS42Miw3LjcxOC02NS4yOTgsMjIuOTM5Yy0xNi40MjIsMTguMjc0LTE0LjI2LDQwLjQyNi0xNC4xNTksNDEuMzU5ICAgYzAuNDA4LDMuODExLDMuNjI0LDYuNzAxLDcuNDU3LDYuNzAxaDk2Ljg5NHYxMy41aC0yOS41Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMjkuNVY0OTdoLTk2Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMTAwLjgyNSAgIGMwLjgzMiwwLjMxOCwxLjczMSwwLjUsMi42NzUsMC41czEuODQzLTAuMTgyLDIuNjc1LTAuNUg0NDAuMjVjOS42NzMsMCw5LjY3My0xNSwwLTE1aC05NnYtOTEuNTk0aDUwLjEwNiAgIGMxNy4yMTgsMCwyOS42NjQtNC4xNTEsMzguMDUyLTEyLjY5YzE0LjY5OS0xNC45NjUsMTQuMjUxLTQwLjAyMiwxMy42ODQtNzEuNzQ3Yy0wLjA0NC0yLjQ1NC0wLjA4Ny00Ljk1LTAuMTI1LTcuNDdoNTEuMjgzVjM4NCAgIGMwLDkuNjczLDE1LDkuNjczLDE1LDBWMjU2Ljg1NUM1MTIuMjUsMjUyLjcxMyw1MDguODkzLDI0OS4zNTUsNTA0Ljc1LDI0OS4zNTV6IE05Ny4yNzYsMTI4LjQ5NiAgIGM5LjY1Mi02LjEyNCwxOC4wNDktNC42ODEsMjIuNDIxLTMuMTM3Yy0xLjMyLDE1LjU0Ny0yMC4yMjEsMjYuODYtMzQuNjY4LDIxLjk2M0M4NS42MzUsMTQyLjUxMSw4OC4wNzcsMTM0LjMzMiw5Ny4yNzYsMTI4LjQ5NnogICAgTTQ3LjQyNCwxNDQuMDk3Yy02LjM3Mi00LjA0My0xMS43OTItMTEuMDA1LTEyLjQ5My0xOC43NDJjMTUuMDItNS4yOCwzMi42ODMsNi40MTgsMzQuNjQsMjEuOTY3ICAgQzYyLjI4NiwxNDkuNzkyLDUzLjgxLDE0OC4xNDgsNDcuNDI0LDE0NC4wOTd6IE03Ny42MzcsNTEuMTY5YzEyLjU2LDkuNTU0LDExLjk5NywzMS4zNTktMC4wNDQsNDEuMDU0ICAgYy0zLjcxNS0zLjA1NS05LjMxOS05LjQ4MS05LjMxOS0yMC40NDFDNjguMjczLDYwLjM1Miw3My45OTEsNTQuMDM1LDc3LjYzNyw1MS4xNjl6IE0zMy44NTYsMTkxLjkwNmg4My43ODEgICBjLTEuMjcsNDAuNTE1LTEzLjM2Miw1Ni41LTQxLjg4OCw1Ni41QzQ2LjgzMiwyNDguNDA3LDM1LjA3MiwyMzIuOTM2LDMzLjg1NiwxOTEuOTA2eiBNNDIxLjcwNywzODIuMjA1ICAgYy01LjQyMSw1LjUxOS0xNC4zNjcsOC4yMDEtMjcuMzUxLDguMjAxSDI0MC4wMTNjMC42OTQtNS45ODgsMy4wMDYtMTUuMDI2LDEwLjIwMy0yMy4wMzUgICBjMTAuNzEyLTExLjkyMSwyOC45MjctMTcuOTY1LDU0LjE0MS0xNy45NjVoMTI2LjczNkM0MzAuNDczLDM2NC4xMDUsNDI4LjI1MSwzNzUuNTQzLDQyMS43MDcsMzgyLjIwNXogTTQ2OC43NSwxODAuMzEzdjIyLjExNyAgIGMwLDIuNjkzLTIuMTksNC44ODMtNC44ODMsNC44ODNoLTE4LjAxMXYtMjdINDY4Ljc1eiBNNDE5LjEyNiwxMTEuMzU4YzQuMDg0LTUuMzk1LDguMTktOS40MSwxMS43My0xMi4zMjJ2MTg3Ljg2MyAgIGMtMy41MjgtMy4wMjMtNy42MDQtNy4xNDYtMTEuNjU5LTEyLjYyMmMtMTQuNjE1LTE5LjczOS0yMi4zNDEtNDguMDQ5LTIyLjM0MS04MS44NzIgICBDMzk2Ljg1NiwxNTguNjMyLDQwNC41NTgsMTMwLjYwNiw0MTkuMTI2LDExMS4zNTh6IE0zODMuODczLDIyMi4zMTNjMS40MzIsMTAuMDk1LDMuNTUzLDE5LjA3Nyw2LjEzOCwyNy4wNDNoLTI2Ljg5di0yNy4wNDMgICBIMzgzLjg3M3ogTTE3OS4xNzYsMjAyLjQyOXYtMjIuMTE3aDIwMi45OTNjLTAuNDY5LDguOTkyLTAuNDE1LDE4LjAxNSwwLjE2OSwyN0gxODQuMDU5ICAgQzE4MS4zNjYsMjA3LjMxMywxNzkuMTc2LDIwNS4xMjIsMTc5LjE3NiwyMDIuNDI5eiBNMjk5LjgwNSwyMjIuMzEzaDQ4LjMxNnYyNy4wNDNoLTQ4LjMxNlYyMjIuMzEzeiBNMzk1LjkwMSwyNjQuMzU1ICAgYzcuODE1LDE2LjcsMTcuNTE2LDI3LjQ4OCwyNS4zNjUsMzQuMTQ1SDE1LjI1di0zNC4xNDVIMzk1LjkwMXogTTE1LjI1LDQ1NC41di02M2gxMzUuNXY2M0gxNS4yNXogTTE1MC43NSwzNzYuNUgxNS4yNXYtNjNoMTM1LjUgICBWMzc2LjV6IE00NDUuODU2LDI5OC41di0zNC4xNDVoNTEuMzk0VjI5OC41SDQ0NS44NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTU0Ljc1LDM1Mi41aDU3YzkuNjczLDAsOS42NzMtMTUsMC0xNWgtNTdDNDUuMDc3LDMzNy41LDQ1LjA3NywzNTIuNSw1NC43NSwzNTIuNXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTExLjc1LDQxNS41aC01N2MtOS42NzMsMC05LjY3MywxNSwwLDE1aDU3QzEyMS40MjMsNDMwLjUsMTIxLjQyMyw0MTUuNSwxMTEuNzUsNDE1LjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Fxe={Anteroom:Mxe,Attic:cxe,Balcony:uxe,Barn:lxe,Basement:Nxe,Bathroom:Lxe,Bedroom:gxe,"Boiler Room":"PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSItMyAwIDQ4MCA0ODAiIHdpZHRoPSI0ODBwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTIzNC45Njg3NSA2NGMtMTMuMjUzOTA2IDAtMjQgMTAuNzQ2MDk0LTI0IDI0czEwLjc0NjA5NCAyNCAyNCAyNCAyNC0xMC43NDYwOTQgMjQtMjQtMTAuNzQ2MDk0LTI0LTI0LTI0em0wIDMyYy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04czMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzA2Ljk2ODc1IDE2MGgtMTQ0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoMTQ0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS04IDY0aC0xMjh2LTQ4aDEyOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE4Ni45Njg3NSAxOTJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjE4Ljk2ODc1IDE5MmgzMnYxNmgtMzJ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEzOC45Njg3NSA3MnYzMmgxNnYtMjRoMTZ2LTE2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ2Ni45Njg3NSAwaC0zMmMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxOTJjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOGgtNTZ2LTU2aDI0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTQ4YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTI0di0xNmMtLjAyNzM0NC0yMi4wODIwMzEtMTcuOTIxODc1LTM5Ljk3MjY1Ni00MC00MGgtMTZ2LTE2aC0xNnYxNmgtMTcuNzYxNzE5bC02LjQ4MDQ2OS0yNS45Mzc1Yy0uODg2NzE4LTMuNTYyNS00LjA4NTkzNy02LjA2MjUtNy43NTc4MTItNi4wNjI1aC00OGMtMy42NzE4NzUgMC02Ljg3MTA5NCAyLjUtNy43NjE3MTkgNi4wNjI1bC02LjQ4MDQ2OSAyNS45Mzc1aC0xNy43NTc4MTJ2LTE2aC0xNnYxNmgtMTZjLTIyLjA4MjAzMS4wMjczNDQtMzkuOTcyNjU2IDE3LjkxNzk2OS00MCA0MHY1NmgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGgyNHYyMjRoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djMyYzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTQxLjcxMDkzOGMxMi4zNzEwOTQgNi4zNzUgMjYuMDgyMDMxIDkuNzAzMTI2IDQwIDkuNzEwOTM4aDh2MjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGg4YzEzLjkxNDA2Mi0uMDA3ODEyIDI3LjYyODkwNi0zLjMzNTkzOCA0MC05LjcxMDkzOHY0MS43MTA5MzhoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djMyYzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTE3Nmg1NmMzMC45MTAxNTYtLjAzOTA2MiA1NS45NjA5MzgtMjUuMDg5ODQ0IDU2LTU2di0xOTJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOHptLTg4IDEwNHYzMmgtMTZ2LTMyem0tMTYxLjc1MzkwNi04OGgzNS41MDM5MDZsNCAxNmgtNDMuNTAzOTA2em0tOTQuMjQ2MDk0IDU2YzAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNGgxNzZjMTMuMjUzOTA2IDAgMjQgMTAuNzQ2MDk0IDI0IDI0djU2aC0yMjR6bS0zMiAxMjB2LTQ4aDE2djQ4em04MCAyNzJoLTgwdi0xNmg4MHptLTMyLTMyaC0xNnYtNjkuNTU4NTk0YzQuNTM1MTU2IDYuNDg0Mzc1IDkuOTE0MDYyIDEyLjMzMjAzMiAxNiAxNy4zOTA2MjV6bTExMi0xNmgtMzJ2LTE2aDMyem0xMjggNDhoLTgwdi0xNmg4MHptLTMyLTMyaC0xNnYtNTIuMTY3OTY5YzYuMDgyMDMxLTUuMDU4NTkzIDExLjQ2NDg0NC0xMC45MDYyNSAxNi0xNy4zOTA2MjV6bTAtMTIwYy0uMDQyOTY5IDM5Ljc0NjA5NC0zMi4yNTM5MDYgNzEuOTU3MDMxLTcyIDcyaC04MGMtMzkuNzQ2MDk0LS4wNDI5NjktNzEuOTU3MDMxLTMyLjI1MzkwNi03Mi03MnYtMTY4aDIyNHptMTEyLTExMmMtLjAyNzM0NCAyMi4wODIwMzEtMTcuOTIxODc1IDM5Ljk3MjY1Ni00MCA0MGgtNTZ2LTE2aDU2YzEzLjI1MzkwNiAwIDI0LTEwLjc0NjA5NCAyNC0yNHYtMTg0aDE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNTYuNjI1IDUzLjY1NjI1IDEwLjM0Mzc1LTEwLjM0Mzc1IDE4LjM0Mzc1IDE4LjM0Mzc1IDExLjMxMjUtMTEuMzEyNS0yNC0yNGMtMy4xMjUtMy4xMjEwOTQtOC4xODc1LTMuMTIxMDk0LTExLjMxMjUgMGwtMTAuOTM3NSAxMC45Mzc1LTM0LjM5ODQzOC0yNy41MjczNDQtMTAuMDA3ODEyIDEyLjQ5MjE4OCA0MCAzMmMzLjE4MzU5NCAyLjU1MDc4MSA3Ljc3MzQzOCAyLjI5Mjk2OCAxMC42NTYyNS0uNTg5ODQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMCA4Ny40MzM1OTQgNDAgMTZjMi45NzI2NTYgMS4xODM1OTQgNi4zNjMyODEuNDg0Mzc1IDguNjI1LTEuNzc3MzQ0bDExLjkxNzk2OS0xMS45MjE4NzUgMjYuODQ3NjU2IDEzLjQ2NDg0NCA3LjE1MjM0NC0xNC4zMjAzMTMtMzItMTZjLTMuMDc4MTI1LTEuNTM1MTU2LTYuNzk2ODc1LS45Mjk2ODctOS4yMzA0NjkgMS41MDM5MDZsLTEyLjI3MzQzOCAxMi4yMjY1NjMtMzUuMTAxNTYyLTE0LjA0Mjk2OXptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Carport:jxe,Cellar:yxe,Chamber:Txe,Corridor:dxe,"Dining Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K","Dining Room":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Dining:Dxe,"Dressing Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTcuMDA0IDI3Ni4xNjljMC00LjEzOSAzLjM3NC03LjUxMiA3LjUxMi03LjUxMnM3LjQ4MyAzLjM3MyA3LjQ4MyA3LjUxMnYxMzcuMzQgMzkuOTk3YzAgNC4xMzktMy4zNDUgNy40ODMtNy40ODMgNy40ODNoLTQ5Ny4wMDRjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODMgMC0xMjQuNzU0IDAtMjQ5LjUzNiAwLTM3NC4yOTEgMC03Ljc2NyAzLjE3NS0xNC44MjUgOC4yNzctMTkuOTI4IDUuMTAzLTUuMTAzIDEyLjE2MS04LjI3NyAxOS45MjgtOC4yNzdoMTI0LjI0NGM3LjkwOSAwIDE1LjM2NCAzLjMxNiAyMC43MjIgOS4wOTkgNS4zNTctNS43ODMgMTIuODEyLTkuMDk5IDIwLjcyMi05LjA5OWgxMjQuMjQzYzcuODgxIDAgMTUuMzY0IDMuMzE2IDIwLjY5MyA5LjA5OSA1LjM1OC01Ljc4MyAxMi44MTMtOS4wOTkgMjAuNzIyLTkuMDk5aDEyNC4yNDRjNy43NjcgMCAxNC44MjYgMy4xNzUgMTkuOTI4IDguMjc3IDUuMTAyIDUuMTAzIDguMjc3IDEyLjE2MSA4LjI3NyAxOS45Mjh2MjUuNjI1IDEzNy4zNGMwIDQuMTM5LTMuMzQ1IDcuNTEyLTcuNDgzIDcuNTEyLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJ2LTEyOS44NTVoLTY3LjgzNXYxMi45MjZsNDYuODMgMjMuODM5YzQuMTk1IDIuMTI2IDcuMTE1IDUuNzU1IDguNDQ3IDkuODk0IDEuMzYgNC4xMzkgMS4xMzQgOC43ODctLjk5MiAxMi45NTQtMS40NDYgMi44MzUtMy42NTcgNS4xNTktNi4yOTMgNi43NzUtMi42NjQgMS42NDQtNS43MjYgMi41MjMtOC44NzIgMi41MjNoLTMuMzQ1djk1LjYxM2MwIDQuMTM5LTMuMzQ1IDcuNDg0LTcuNDg0IDcuNDg0aC03MS4xNWMtNC4xMzkgMC03LjQ4My0zLjM0NS03LjQ4My03LjQ4NHYtMzQuNTU0YzAtNC4xNjcgMy4zNDUtNy41MTIgNy40ODMtNy41MTIgNC4xMzkgMCA3LjUxMiAzLjM0NSA3LjUxMiA3LjUxMnYyNy4wNDNoNTYuMTI3di04OC4xMDJoLTU2LjEyN3YyNy4wNzFjMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnMtNy40ODMtMy4zNzMtNy40ODMtNy41MTJ2LTI3LjA3MWgtMy4zNDVjLTQuNzA2IDAtOC45NTctMS44OTktMTIuMDE5LTQuOTg5LTMuMDktMy4wNjEtNC45ODktNy4zMTMtNC45ODktMTIuMDE5IDAtMy4zNDUuOTkyLTYuNTIgMi42OTMtOS4xNTYgMS43MjktMi42NjQgNC4xMzktNC44MTkgNi45NzQtNi4xOGw0Ni4wMzUtMjMuNDQzdi0xMy4xMjRoLTY3LjgzNHYyOTMuNzAxaDE1MC42NjN2LTEyOS44NTd6bS03My44NDMtMTM3LjE5OWMtLjgyMi0uNTEtMS42NzItLjUxLTIuNDk1IDBsLTQ1LjcyMyAyMy4zMDFjLS45MDcuMzQtMS40NzQuOTM2LTEuNDc0IDEuOTU2IDAgMS4xMDUuOTA3IDIuMDEzIDIuMDEzIDIuMDEzaDkyLjgwN2MuNzkzIDAgMS40NDYtLjM5NyAxLjc4Ni0xLjEwNS41MS0uOTkyLjE0Mi0yLjE4My0uODc4LTIuNjkzbC0xNS4zMzYtNy44MjNjLTkuMDQzLTQuNTkzLTE4LjA1Ny05LjE1OC0zMC43LTE1LjY0OXptLTE2NS44LS4wODVjLS43MDktLjQyNS0xLjQ3NC0uNDI1LTIuMjQgMGwtNDUuODY1IDIzLjM4NmMtLjg3OS4zNC0xLjQ0Ni45MzYtMS40NDYgMS45NTYgMCAxLjEwNS45MDcgMi4wMTMgMi4wMTMgMi4wMTNoOTIuODA3Yy43OTQgMCAxLjQ0Ni0uMzk3IDEuNzg2LTEuMTA1LjUxLS45OTIuMTQyLTIuMTgzLS44NzktMi42OTMtMTUuMzkyLTcuODI0LTMwLjgxMi0xNS42NDgtNDYuMTc2LTIzLjU1N3ptLTIxMS42NjYtMjYuNTZjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODRzMy4zNzMtNy41MTIgNy41MTItNy41MTJoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNzQgNy41MTIgNy41MTIgMCA0LjEzOS0zLjM3MyA3LjQ4NC03LjUxMiA3LjQ4NHptMCAxMDEuOTM0Yy00LjEzOSAwLTcuNTEyLTMuMzczLTcuNTEyLTcuNTEyczMuMzczLTcuNDgzIDcuNTEyLTcuNDgzaDg5LjI5MmM0LjEzOCAwIDcuNTEyIDMuMzQ1IDcuNTEyIDcuNDgzIDAgNC4xMzktMy4zNzMgNy41MTItNy41MTIgNy41MTJ6bTAtMzMuOTg4Yy00LjEzOSAwLTcuNTEyLTMuMzQ1LTcuNTEyLTcuNDgzczMuMzczLTcuNTEyIDcuNTEyLTcuNTEyaDg5LjI5MmM0LjEzOCAwIDcuNTEyIDMuMzczIDcuNTEyIDcuNTEycy0zLjM3MyA3LjQ4My03LjUxMiA3LjQ4M3ptMC0zMy45NTljLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJzMy4zNzMtNy40ODMgNy41MTItNy40ODNoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNDUgNy41MTIgNy40ODMgMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnptMjAyLjgyMi0yMC44NjN2LTEzLjEyNGgtNjcuODM0djEyOS44NTdjMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnMtNy41MTItMy4zNzMtNy41MTItNy41MTJ2LTE2Mi45NjdjMC0zLjYyOC0xLjQ3NC02LjkxNy0zLjg4My05LjMyNi0yLjM4MS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNi0zLjg4NGgtMTI0LjI0NGMtMy42MjggMC02LjkxNyAxLjUwMi05LjMyNyAzLjg4NC0yLjM4MSAyLjQwOS0zLjg4MyA1LjY5Ny0zLjg4MyA5LjMyNnYxOTIuMzYxaDE1LjMwOGM2LjA5NCAwIDExLjU5NCAyLjQ2NiAxNS41OSA2LjQ2NCAzLjk5NyAzLjk5NyA2LjQ5MiA5LjUyNSA2LjQ5MiAxNS41OXYyMy4zMDFjMCA2LjA2Ny0yLjQ5NSAxMS41OTQtNi40OTIgMTUuNTkxcy05LjQ5NiA2LjQ2My0xNS41OSA2LjQ2M2gtMTUuMzA4djEwNy4wMDloMTUwLjY2M3YtMTY5LjgyNWMwLTQuMTM5IDMuMzc0LTcuNTEyIDcuNTEyLTcuNTEyczcuNTEyIDMuMzczIDcuNTEyIDcuNTEydjEyOS44NTZoMTUwLjY2M3YtMjkzLjdoLTY3LjgzNHYxMi45MjZsNDYuNjMgMjMuNzI2YzQuMTY3IDIuMTI2IDcuMiA1LjUyOCA4LjY0NiAxMC4wMDcgMi40NjYgNy41NjgtLjUzOSAxNS41OS03LjI4NSAxOS43MjktMi42NjQgMS42NDQtNS43NTQgMi41MjMtOC44NzIgMi41MjNoLTkyLjgwN2MtNC43MDYgMC04Ljk1OC0xLjg5OS0xMi4wNDctNC45ODktMy4wNjEtMy4wNjEtNC45Ni03LjMxMy00Ljk2LTEyLjAxOSAwLTMuMzQ1Ljk5Mi02LjUyIDIuNjkzLTkuMTU2IDEuNzAxLTIuNjY0IDQuMTEtNC44MTkgNi45NzMtNi4xOHptLTIzMy41MjEgMTcyLjMyaDYuMDk0YzQuMTM5IDAgNy41MTIgMy4zNzMgNy41MTIgNy41MTJzLTMuMzczIDcuNTEyLTcuNTEyIDcuNTEyaC02LjA5NHYxMS4xOThoMTUuMzA4YzEuOTU2IDAgMy43MTMtLjc5NCA0Ljk4OS0yLjA2OSAxLjI3Ni0xLjMwNSAyLjA5OC0zLjA2MSAyLjA5OC00Ljk5di0yMy4zMDJjMC0xLjkyOC0uODIyLTMuNjg1LTIuMDk4LTQuOTg5LTEuMjc1LTEuMjc2LTMuMDMzLTIuMDY5LTQuOTg5LTIuMDY5aC0xNS4zMDh6bTMzMS4zNDUtMjE4LjU1NHYxOC4xMTNoMTUwLjY2M3YtMTguMTEzYzAtMy42MjgtMS40NzQtNi45MTctMy44ODMtOS4zMjYtMi40MDktMi4zODEtNS42OTgtMy44ODQtOS4zMjctMy44ODRoLTEyNC4yNDNjLTMuNjI4IDAtNi45MTcgMS41MDItOS4zMjYgMy44ODQtMi40MSAyLjQxLTMuODg0IDUuNjk4LTMuODg0IDkuMzI2em0tMTY1LjY1OCAxOC4xMTRoMTUwLjY2M3YtMTguMTE0YzAtMy42MjgtMS41MDItNi45MTctMy44ODMtOS4zMjYtMi40MS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNy0zLjg4NGgtMTI0LjI0M2MtMy42MjkgMC02Ljk0NSAxLjUwMi05LjMyNyAzLjg4NC0yLjQxIDIuNDA5LTMuODgzIDUuNjk3LTMuODgzIDkuMzI2em0zMTYuMzIxIDMyMy42OTJoLTMxNi4zMjF2MjQuOTczaDMxNi4zMjJ2LTI0Ljk3M3oiLz4KICAgIDwvZz4KPC9zdmc+",Driveway:hxe,Entrance:zxe,"Equipment Room":"PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC00IDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTMwMy4wOTM3NSAxNzQuMjVjMy4zOTQ1MzEgMi4zNzg5MDYgOC4wNzAzMTIgMS41NTA3ODEgMTAuNDQ1MzEyLTEuODM5ODQ0bDE1Ljk1MzEyNi0yMi43ODkwNjJjMi4zNzg5MDYtMy4zOTQ1MzIgMS41NTQ2ODctOC4wNzAzMTMtMS44Mzk4NDQtMTAuNDQ1MzEzLTMuMzk0NTMyLTIuMzc1LTguMDcwMzEzLTEuNTUwNzgxLTEwLjQ0NTMxMyAxLjg0Mzc1bC0xNS45NTcwMzEgMjIuNzg1MTU3Yy0yLjM3NSAzLjM5NDUzMS0xLjU1MDc4MSA4LjA3MDMxMiAxLjg0Mzc1IDEwLjQ0NTMxMnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM0MS42NzE4NzUgMTU1Ljk4NDM3NS01LjQxNzk2OSAyNy4yODUxNTZjLS45MTc5NjggNC42NDA2MjUgMi42MzI4MTMgOC45NjA5MzggNy4zNjcxODggOC45NjA5MzggMy41MDc4MTIgMCA2LjY0MDYyNS0yLjQ3MjY1NyA3LjM0NzY1Ni02LjAzOTA2M2w1LjQxNDA2Mi0yNy4yODkwNjJjLjgwODU5NC00LjA2MjUtMS44MzIwMzEtOC4wMTE3MTktNS44OTQ1MzEtOC44MTY0MDYtNC4wNjY0MDYtLjgwNDY4OC04LjAxMTcxOSAxLjgzMjAzMS04LjgxNjQwNiA1Ljg5ODQzN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTMwOS41ODk4NDQgMTIxLjQ0OTIxOWMtMi4xNDQ1MzItMy41NDI5NjktNi43NTc4MTMtNC42NzE4NzUtMTAuMzAwNzgyLTIuNTI3MzQ0bC0yMy43ODkwNjIgMTQuNDIxODc1Yy0zLjU0Mjk2OSAyLjE0ODQzOC00LjY3MTg3NSA2Ljc2MTcxOS0yLjUyNzM0NCAxMC4zMDQ2ODggMi4xNTIzNDQgMy41NDI5NjggNi43NjU2MjUgNC42Njc5NjggMTAuMzA0Njg4IDIuNTIzNDM3bDIzLjc4OTA2Mi0xNC40MTc5NjljMy41NDI5NjktMi4xNDg0MzcgNC42NzE4NzUtNi43NjE3MTggMi41MjM0MzgtMTAuMzA0Njg3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtODMuNjUyMzQ0IDE1Mi4xNzk2ODhjMi43NTc4MTIgMS4zNTkzNzQgNi4xMTMyODEgMS40MDYyNSA4Ljk2ODc1IDAgNy0zLjQ1MzEyNiAyOS44MzU5MzctMTYuNTA3ODEzIDI5LjgzNTkzNy0zOS40NjQ4NDQgMC0xOC4yMDMxMjUtMjEuMjE0ODQzLTI3LjA2NjQwNi0zNC4zMTI1LTE2LjA3NDIxOS01LjA2MjUtNC4yNjE3MTktMTEuOTQxNDA2LTUuODkwNjI1LTE4Ljc1MzkwNi00LjA4OTg0NC05LjMxNjQwNiAyLjQ1NzAzMS0xNS41NzAzMTMgMTAuNTYyNS0xNS41NzAzMTMgMjAuMTY0MDYzIDAgMjMuMDE1NjI1IDIyLjg0Mzc1IDM2LjAzMTI1IDI5LjgzMjAzMiAzOS40NjQ4NDR6bS0zLjc3NzM0NC00Mi4zNjcxODhjMS4zOTg0MzggMi40Njg3NSA0LjQ2ODc1IDQuNjI1IDguMDIzNDM4IDQuNzEwOTM4IDMuNTgyMDMxLjExMzI4MSA2Ljk3MjY1Ni0yLjA0Njg3NiA4LjQ2MDkzNy00LjY1MjM0NCAzLjA1NDY4Ny01LjM1NTQ2OSAxMS4wOTc2NTYtMy4xNDQ1MzIgMTEuMDk3NjU2IDIuODQ3NjU2IDAgMTIuNjkxNDA2LTEzLjM5NDUzMSAyMS41NjY0MDYtMTkuMzI0MjE5IDI0Ljg3NS01LjkyOTY4Ny0zLjI5Mjk2OS0xOS4zMTI1LTEyLjE0NDUzMS0xOS4zMTI1LTI0Ljg3NSAwLTYuMDQyOTY5IDguMDg1OTM4LTguMTMyODEyIDExLjA1NDY4OC0yLjkwNjI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMDMuNjE3MTg4aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDA2MjYtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzQtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMzAuMDI3MzQ0aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDQ1MzItMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTU0NjgtNy41IDcuNSAwIDQuMTQwNjI1IDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxNTYuNDM3NWgyOS42MzY3MTljNC4xNDQ1MzEgMCA3LjUtMy4zNTU0NjkgNy41LTcuNXMtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTU0NjktNy41IDcuNXMzLjM1NTQ2OSA3LjUgNy41IDcuNXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NS43Njk1MzEgMTUuMDA3ODEyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY4IDcuNS03LjUgMC00LjE0NDUzMS0zLjM1NTQ2OS03LjQ5OTk5OTUtNy41LTcuNDk5OTk5NWgtNzMuNzEwOTM3Yy0uMTE3MTg4IDAtLjIzMDQ2OS4wMTE3MTg3LS4zNDc2NTYuMDE1NjI1LTIuNDk2MDk0LS4xMjg5MDY1LTUgLjk4NDM3NDUtNi41MzkwNjMgMy4xODM1OTM1bC0yNS44OTA2MjUgMzYuOTcyNjU3LTMyLjgzOTg0NC0yMi45OTYwOTRjLTE3LjM3MTA5NC0xMi4xNjQwNjMtMzguOTAyMzQ0LTE2LjI4OTA2My01OS41OTM3NS0xMS41MzkwNjNsLTIuNTk3NjU2LTEuODIwMzEyYy05LjU4OTg0NC02LjcxMDkzOC0yMi44MTY0MDYtNC4zNDc2NTctMjkuNSA1LjE5OTIxOWwtNS45Njg3NSA4LjUyMzQzN2MtNi42OTUzMTIgOS41NjI1LTQuMzYzMjgxIDIyLjgwMDc4MSA1LjIwMzEyNSAyOS40OTYwOTRsMi4wNDY4NzUgMS40MzM1OTNjLTYuODU5Mzc1IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDgyMDMyIDUzLjE3OTY4OCAzNy4yMzgyODJsNC4xOTE0MDYgMi45MzM1OTRjLTYuODUxNTYzIDMwLjU3MDMxMiAyNi44MDQ2ODcgNTQuMTE3MTg3IDUzLjE3NTc4MSAzNy4yMzgyODFsNC4xOTUzMTMgMi45MzM1OTNjLTYuODU5Mzc2IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDc4MTI2IDUzLjE3NTc4MSAzNy4yMzQzNzZsMi4wNTQ2ODcgMS40NDE0MDZjOS41NjY0MDYgNi42OTUzMTIgMjIuODAwNzgyIDQuMzYzMjgxIDI5LjQ5NjA5NC01LjIwMzEyNWw1Ljk2ODc1LTguNTIzNDM4YzYuNjk1MzEyLTkuNTYyNSA0LjM2MzI4MS0yMi44MDA3ODEtNS4xOTkyMTktMjkuNDk2MDkzbC0zLjI3MzQzNy0yLjI5Mjk2OWMtMi42MTMyODItMjEuMDY2NDA3LTEzLjg1NTQ2OS0zOS44ODY3MTktMzEuMjI2NTYzLTUyLjA1NDY4OGwtMzAuMTk5MjE5LTIxLjE0MDYyNSAyMy42NTIzNDQtMzMuNzc3MzQ0em0tMjE1LjQ1NzAzMSA0My40NzI2NTcgMjQuNjIxMDk0IDE3LjI0MjE4N2MtMTEuNzk2ODc1IDIuNzkyOTY5LTIzLjIyMjY1Ni01LjIzNDM3NS0yNC42MjEwOTQtMTcuMjQyMTg3em01Ny4zNjcxODggNDAuMTY3OTY5IDI0LjYyNSAxNy4yNDIxODdjLTExLjc2OTUzMiAyLjc5Njg3NS0yMy4yMjI2NTctNS4yMDcwMzEtMjQuNjI1LTE3LjI0MjE4N3ptNTcuMzcxMDkzIDQwLjE3MTg3NGMxNC45MTc5NjkgMTAuNDQ1MzEzIDkuNzc3MzQ0IDYuODQzNzUgMjQuNjI1IDE3LjI0MjE4OC0xMS43NzM0MzcgMi43OTY4NzUtMjMuMjIyNjU2LTUuMjE0ODQ0LTI0LjYyNS0xNy4yNDIxODh6bTY0LjEyODkwNyA2LjM0Mzc1LTUuOTY4NzUgOC41MjM0MzhjLTEuOTUzMTI2IDIuNzg5MDYyLTUuODEyNSAzLjQ3MjY1Ni04LjYwNTQ2OSAxLjUxOTUzMS0yLjQxMDE1Ny0xLjY4NzUtMTY5Ljg1OTM3NS0xMTguOTQxNDA2LTE3Mi4wMTk1MzEtMTIwLjQ0OTIxOS0yLjc2OTUzMi0xLjk0MTQwNi0zLjQ1NzAzMi01LjgzMjAzMS0xLjUxNTYyNi04LjYwNTQ2OGw1Ljk2ODc1LTguNTIzNDM4YzEuOTQ5MjE5LTIuNzgxMjUgNS44NDM3NS0zLjQ0OTIxOCA4LjYwNTQ2OS0xLjUxNTYyNWwxNzIuMDE5NTMxIDEyMC40NDUzMTNjMi43NzM0MzggMS45NDE0MDYgMy40NTcwMzIgNS44MzU5MzcgMS41MTU2MjYgOC42MDU0Njh6bS0xNC45MDIzNDQtMzYuMjg5MDYyYy03Ljg5NDUzMi01LjUzMTI1LTEyNS4wNDY4NzUtODcuNTU4NTk0LTEyOC43MTA5MzgtOTAuMTI1IDExLjQ3MjY1Ni4zNTE1NjIgMjIuNjcxODc1IDQgMzIuMjczNDM4IDEwLjcyMjY1Nmw3NS4zMjQyMTggNTIuNzQyMTg4YzkuNTk3NjU3IDYuNzIyNjU2IDE2Ljg1OTM3NiAxNiAyMS4xMTMyODIgMjYuNjYwMTU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDkwLjgyMDMxMiAzMTAuNTE1NjI1aC0yMTcuMzIwMzEyYy00LjE0NDUzMSAwLTcuNSAzLjM1OTM3NS03LjUgNy41IDAgNC4xNDQ1MzEgMy4zNTU0NjkgNy41MDM5MDYgNy41IDcuNTAzOTA2aDIxNy4zMjAzMTJjMy40MDYyNSAwIDYuMTc5Njg4IDIuNzY5NTMxIDYuMTc5Njg4IDYuMTc1NzgxdjEzLjY3OTY4OGMwIDMuNDA2MjUtMi43NzM0MzggNi4xNzk2ODgtNi4xNzk2ODggNi4xNzk2ODgtMy40NDUzMTIgMC00NjMuNjA5Mzc0IDAtNDY5LjY0MDYyNCAwLTMuNDA2MjUgMC02LjE3OTY4OC0yLjc2OTUzMi02LjE3OTY4OC02LjE3OTY4OHYtMTMuNjc5Njg4YzAtMy40MDYyNSAyLjc3MzQzOC02LjE3NTc4MSA2LjE3OTY4OC02LjE3NTc4MWgyMTcuMzIwMzEyYzQuMTQ0NTMxIDAgNy41LTMuMzU5Mzc1IDcuNS03LjUwMzkwNiAwLTQuMTQwNjI1LTMuMzU1NDY5LTcuNS03LjUtNy41aC04NS4zNTU0NjljLjU5NzY1Ny0xLjk1MzEyNS45MjU3ODEtNC4wMjczNDQuOTI1NzgxLTYuMTc1Nzgxdi0xMy42Nzk2ODhjMC0xMS42Nzk2ODctOS41LTIxLjE3OTY4Ny0yMS4xNzk2ODctMjEuMTc5Njg3aC0xMTEuNzEwOTM3Yy0xMS42Nzk2ODggMC0yMS4xNzk2ODggOS41LTIxLjE3OTY4OCAyMS4xNzk2ODd2MTMuNjc5Njg4YzAgNS4yMTQ4NDQgMS45MDIzNDQgOS45ODQzNzUgNS4wMzkwNjIgMTMuNjc5Njg3LTMuMTM2NzE4IDMuNjkxNDA3LTUuMDM5MDYyIDguNDY0ODQ0LTUuMDM5MDYyIDEzLjY3NTc4MXYxMy42Nzk2ODhjMCAxMS4zMjgxMjUgOC45NDUzMTIgMjAuNTc4MTI1IDIwLjEzNjcxOSAyMS4xMjg5MDZ2Ni42MDkzNzVjMCAxMS42Nzk2ODggOS41MDM5MDYgMjEuMTc5Njg4IDIxLjE3OTY4NyAyMS4xNzk2ODhoMjAuNzE0ODQ0djk1LjE0MDYyNWMwIDcuODc4OTA2IDYuNDEwMTU2IDE0LjI4OTA2MiAxNC4yOTI5NjkgMTQuMjg5MDYyaDE0LjE1MjM0M2M3Ljg3ODkwNyAwIDE0LjI5Mjk2OS02LjQxMDE1NiAxNC4yOTI5NjktMTQuMjg5MDYydi05NS4xNDA2MjVoMzAyLjQ2MDkzOHY5NS4xNDA2MjVjMCA3Ljg3ODkwNiA2LjQxMDE1NiAxNC4yODkwNjIgMTQuMjkyOTY5IDE0LjI4OTA2MmgxNC4xNTIzNDNjNy44ODI4MTMgMCAxNC4yOTI5NjktNi40MTAxNTYgMTQuMjkyOTY5LTE0LjI4OTA2MnYtOTUuMTQwNjI1aDIwLjcxMDkzOGMxMS42Nzk2ODcgMCAyMS4xNzk2ODctOS41IDIxLjE3OTY4Ny0yMS4xNzk2ODh2LTYuNjA5Mzc1YzExLjE5NTMxMy0uNTUwNzgxIDIwLjE0MDYyNS05LjgwMDc4MSAyMC4xNDA2MjUtMjEuMTI4OTA2di0xMy42Nzk2ODhjMC0xMS42NzU3ODEtOS41LTIxLjE3OTY4Ny0yMS4xNzk2ODgtMjEuMTc5Njg3em0tNDc1LjgyMDMxMi0xOS44NTU0NjljMC0zLjQwNjI1IDIuNzczNDM4LTYuMTc5Njg3IDYuMTc5Njg4LTYuMTc5Njg3aDExMS43MTA5MzdjMy40MDYyNSAwIDYuMTc5Njg3IDIuNzczNDM3IDYuMTc5Njg3IDYuMTc5Njg3djEzLjY3OTY4OGMwIDMuNDA2MjUtMi43NzM0MzcgNi4xNzk2ODctNi4xNzk2ODcgNi4xNzk2ODdoLTExMS43MTA5MzdjLTMuNDA2MjUgMC02LjE3OTY4OC0yLjc3MzQzNy02LjE3OTY4OC02LjE3OTY4N3ptNzQuNzY1NjI1IDE5OC4wNjI1aC0xMi43MzQzNzV2LTk0LjQyOTY4N2gxMi43MzQzNzV6bTM0NS4yMDMxMjUgMGgtMTIuNzM4Mjgxdi05NC40Mjk2ODdoMTIuNzM4Mjgxem00MS44OTA2MjUtMTE1LjYwOTM3NWMwIDMuNDA2MjUtMi43Njk1MzEgNi4xNzk2ODgtNi4xNzk2ODcgNi4xNzk2ODgtMTMuNzE0ODQ0IDAtNDE1LjAzNTE1NyAwLTQyOS4zNjMyODIgMC0zLjQwNjI1IDAtNi4xNzk2ODctMi43NzM0MzgtNi4xNzk2ODctNi4xNzk2ODh2LTYuNTU4NTkzaDQ0MS43MjI2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMjguOTYwOTM4IDExMi41MjczNDRjNC4xNDQ1MzEgMCA3LjUtMy4zNTkzNzUgNy41LTcuNXYtNDEuMTM2NzE5YzAtMTYuMzE2NDA2LTEzLjI3MzQzOC0yOS41OTM3NS0yOS41ODk4NDQtMjkuNTkzNzVoLTE3Ny4yODEyNWMtMTYuMzE2NDA2IDAtMjkuNTg5ODQ0IDEzLjI3MzQzNy0yOS41ODk4NDQgMjkuNTkzNzV2MTE3LjI3NzM0NGMwIDE2LjMxNjQwNiAxMy4yNzM0MzggMjkuNTg5ODQzIDI5LjU4OTg0NCAyOS41ODk4NDNoMTc3LjI4MTI1YzE2LjMxNjQwNiAwIDI5LjU5Mzc1LTEzLjI3MzQzNyAyOS41OTM3NS0yOS41ODk4NDN2LTQxLjE0MDYyNWMwLTQuMTQwNjI1LTMuMzU5Mzc1LTcuNS03LjUwMzkwNi03LjUtNC4xNDA2MjYgMC03LjUgMy4zNTkzNzUtNy41IDcuNXY0MS4xNDA2MjVjMCA4LjA0Mjk2OS02LjU0Njg3NiAxNC41ODk4NDMtMTQuNTg5ODQ0IDE0LjU4OTg0M2gtMTc3LjI4MTI1Yy04LjA0Mjk2OSAwLTE0LjU4OTg0NC02LjU0Njg3NC0xNC41ODk4NDQtMTQuNTg5ODQzdi0xMTcuMjc3MzQ0YzAtOC4wNDY4NzUgNi41NDY4NzUtMTQuNTkzNzUgMTQuNTg5ODQ0LTE0LjU5Mzc1aDE3Ny4yODEyNWM4LjA0Mjk2OCAwIDE0LjU4OTg0NCA2LjU0Njg3NSAxNC41ODk4NDQgMTQuNTkzNzV2NDEuMTM2NzE5YzAgNC4xNDA2MjUgMy4zNTkzNzQgNy41IDcuNSA3LjV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNC43NzM0MzggNjEuNTcwMzEyYy00LjE0NDUzMiAwLTcuNSAzLjM1OTM3Ni03LjUgNy41djEwNi45MTQwNjNjMCA0LjE0NDUzMSAzLjM1NTQ2OCA3LjUgNy41IDcuNWgxNjYuOTE0MDYyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY5IDcuNS03LjV2LTEwNi45MTQwNjNjMC00LjE0MDYyNC0zLjM1NTQ2OS03LjUtNy41LTcuNXptMTU5LjQxNDA2MiAxMDYuOTE0MDYzaC0xNTEuOTE0MDYydi05MS45MTQwNjNoMTUxLjkxNDA2MnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==","Front Yard":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMTI2LjQ5LDM2Ljk0N2MtMzEuNTc5LDAtNTcuMjcsMjUuNjkxLTU3LjI3LDU3LjI3YzAsMzEuNTc5LDI1LjY5MSw1Ny4yNyw1Ny4yNyw1Ny4yN2MzMS41NzgsMCw1Ny4yNy0yNS42OTEsNTcuMjctNTcuMjcKCQkJQzE4My43NjEsNjIuNjM4LDE1OC4wNywzNi45NDcsMTI2LjQ5LDM2Ljk0N3ogTTEyNi40OSwxMzEuNDg3Yy0yMC41NTEsMC0zNy4yNy0xNi43MTktMzcuMjctMzcuMjcKCQkJYzAtMjAuNTUxLDE2LjcxOS0zNy4yNywzNy4yNy0zNy4yN2MyMC41NSwwLDM3LjI3LDE2LjcxOSwzNy4yNywzNy4yN0MxNjMuNzYxLDExNC43NjgsMTQ3LjA0MiwxMzEuNDg3LDEyNi40OSwxMzEuNDg3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMFYxMEMxMzYuNDksNC40NzcsMTMyLjAxNCwwLDEyNi40OSwweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMTU2LjA5N2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMTIuMzM4CgkJCUMxMzYuNDksMTYwLjU3NCwxMzIuMDE0LDE1Ni4wOTcsMTI2LjQ5LDE1Ni4wOTd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMC43MDgsODQuMjE3SDE5OC4zN2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgxMi4zMzhjNS41MjMsMCwxMC00LjQ3NywxMC0xMAoJCQlTMjE2LjIzLDg0LjIxNywyMTAuNzA4LDg0LjIxN3oiLz4KICAgICAgICA8cGF0aCBkPSJNNTQuNjEsODQuMjE3SDQyLjI3MmMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgxMi4zMzljNS41MjMsMCwxMC00LjQ3Nyw5Ljk5OS0xMAoJCQlDNjQuNjEsODguNjk0LDYwLjEzNCw4NC4yMTcsNTQuNjEsODQuMjE3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMDAuOTc3LDE5LjcyOWMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwbC05Ljg3Nyw5Ljg3N2MtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzCgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOWMyLjU1OSwwLDUuMTE5LTAuOTc2LDcuMDcxLTIuOTI5bDkuODc3LTkuODc3QzIwNC44ODMsMjkuOTY2LDIwNC44ODMsMjMuNjM0LDIwMC45NzcsMTkuNzI5CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuMDIzLDE0NC42ODVjLTMuOTA2LTMuOTA1LTEwLjIzOC0zLjkwNS0xNC4xNDMsMGwtOS44NzcsOS44NzdjLTMuOTA1LDMuOTA2LTMuOTA1LDEwLjIzOCwwLDE0LjE0MwoJCQljMS45NTIsMS45NTMsNC41MTIsMi45MjksNy4wNzEsMi45MjlzNS4xMTktMC45NzYsNy4wNzItMi45MjlsOS44NzctOS44NzdDNzkuOTI4LDE1NC45MjIsNzkuOTI4LDE0OC41OSw3Ni4wMjMsMTQ0LjY4NXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuMDIxLDI5LjYwNmwtOS44NzctOS44NzdjLTMuOTA1LTMuOTA1LTEwLjIzNy0zLjkwNS0xNC4xNDIsMGMtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzbDkuODc3LDkuODc3CgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOXM1LjExOS0wLjk3Niw3LjA3MS0yLjkyOUM3OS45MjcsMzkuODQzLDc5LjkyNywzMy41MTEsNzYuMDIxLDI5LjYwNnoiLz4KICAgICAgICA8cGF0aCBkPSJNNDU5LjU0LDQ2OC4zODljLTAuMTI5LTAuNjQtMC4zMi0xLjI3LTAuNTctMS44N2MtMC4yNS0wLjYtMC41Ni0xLjE4LTAuOTItMS43MmMtMC4zNi0wLjU1LTAuNzgtMS4wNi0xLjI0LTEuNTMKCQkJYy0wLjQ2LTAuNDYtMC45Ny0wLjg3LTEuNTItMS4yNGMtMC41NC0wLjM2LTEuMTItMC42Ny0xLjczLTAuOTJjLTAuNTk5LTAuMjUtMS4yMjktMC40NC0xLjg3LTAuNTdjLTEuMjktMC4yNi0yLjYyLTAuMjYtMy45MDksMAoJCQljLTAuNjMxLDAuMTMtMS4yNjEsMC4zMi0xLjg3LDAuNTdjLTAuNjAxLDAuMjUtMS4xODEsMC41Ni0xLjcyMSwwLjkyYy0wLjU1LDAuMzctMS4wNiwwLjc4LTEuNTIsMS4yNAoJCQljLTAuNDYsMC40Ny0wLjg4LDAuOTgtMS4yNSwxLjUzYy0wLjM2LDAuNTQtMC42NywxLjEyLTAuOTIsMS43MmMtMC4yNSwwLjYtMC40NCwxLjIzLTAuNTcsMS44NwoJCQljLTAuMTMsMC42NTEtMC4xOSwxLjMwMS0wLjE5LDEuOTYxYzAsMC42NSwwLjA2LDEuMzEsMC4xOSwxLjk1YzAuMTMsMC42NCwwLjMyLDEuMjcsMC41NywxLjg3YzAuMjUsMC42LDAuNTYsMS4xOCwwLjkyLDEuNzMKCQkJYzAuMzcsMC41NCwwLjc5LDEuMDYsMS4yNSwxLjUyYzAuNDYsMC40NiwwLjk3LDAuODgsMS41MiwxLjI0YzAuNTQsMC4zNiwxLjEyLDAuNjcsMS43MjEsMC45MmMwLjYwOSwwLjI1LDEuMjM5LDAuNDQsMS44NywwLjU3CgkJCWMwLjY1LDAuMTMsMS4zMSwwLjIsMS45NiwwLjJjMC42NSwwLDEuMzEtMC4wNywxLjk0OS0wLjJjMC42NDEtMC4xMywxLjI3LTAuMzIsMS44Ny0wLjU3YzAuNjEtMC4yNSwxLjE5LTAuNTYsMS43My0wLjkyCgkJCWMwLjU1LTAuMzYsMS4wNi0wLjc4LDEuNTItMS4yNGMwLjQ2LTAuNDYsMC44OC0wLjk4LDEuMjQtMS41MmMwLjM2MS0wLjU1LDAuNjctMS4xMywwLjkyLTEuNzNjMC4yNS0wLjYsMC40NC0xLjIzLDAuNTctMS44NwoJCQlzMC4yLTEuMywwLjItMS45NUM0NTkuNzQsNDY5LjY4OSw0NTkuNjcsNDY5LjAzOSw0NTkuNTQsNDY4LjM4OXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDA5LjczOSw0NjAuMzQ2SDYyLjEzOGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgzNDcuNmM1LjUyMywwLDEwLTQuNDc3LDEwLjAwMS0xMAoJCQlDNDE5LjczOSw0NjQuODIzLDQxNS4yNjEsNDYwLjM0Niw0MDkuNzM5LDQ2MC4zNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMS41NjMsNDI3LjkzMWgtNi44MDljLTMuODA2LTIxLjMxMi0yMi40NzYtMzcuNTQtNDQuODY0LTM3LjU0Yy0zLjMsMC02LjU5MSwwLjM2Mi05LjgwMywxLjA2N1YyOTMuMjkKCQkJYzM2LjQ4Mi00LjkwMiw2NC43MDQtMzYuMjM2LDY0LjcwNC03NC4wMzdjMC0xOS43MDktNy43ODEtMzguNTMxLTIxLjUyNC01Mi40NjRjMC4xODYtMS44MTQsMC4yNzgtMy42NDEsMC4yNzgtNS40NjgKCQkJYzAtMjkuNDc3LTIzLjk4MS01My40NTgtNTMuNDU4LTUzLjQ1OGMtMjkuNDc3LDAtNTMuNDU4LDIzLjk4Mi01My40NTgsNTMuNDU4YzAsMS44MjcsMC4wOTMsMy42NTMsMC4yNzcsNS40NjcKCQkJYy0xMy43NDEsMTMuOTM0LTIxLjUyMywzMi43NTYtMjEuNTIzLDUyLjQ2NWMwLDM3LjgwMiwyOC4yMjMsNjkuMTM2LDY0LjcwNCw3NC4wMzd2ODkuNjJjLTQuNjg1LTEuNjMyLTkuNzE2LTIuNTItMTQuOTUxLTIuNTIKCQkJYy0yNS4xMjksMC00NS41NzMsMjAuNDQ0LTQ1LjU3Myw0NS41NzR2MS45NjhoLTguNTA2di0zNS4xM2gwLjAwMWM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi00M2MwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC0wLjAwMQoJCQl2LTQ3LjMyOWMwLTIuODQ0LTEuMjExLTUuNTUzLTMuMzMtNy40NUwzMTYuMjcsMjQ2Ljg2Yy0zLjc5Ny0zLjM5OS05LjU0My0zLjM5OS0xMy4zNCwwbC0yNC43ODcsMjIuMTkxbC0yNC43ODgtMjIuMTkxCgkJCWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMGwtMjQuNzg4LDIyLjE5MWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTktOS41NDMtMy4zOTktMTMuMzQsMC4wMDFsLTI0Ljc4NywyMi4xOTEKCQkJbC0yNC43ODgtMjIuMTkxYy0zLjc5Ny0zLjM5OC05LjU0My0zLjM5OC0xMy4zNCwwTDg5LjM5OCwyNjkuMDVMNjQuNjEsMjQ2Ljg1OWMtMy43OTYtMy4zOTktOS41NDMtMy4zOTktMTMuMzQtMC4wMDEKCQkJbC0zMS40NTgsMjguMTYzYy0yLjExOSwxLjg5Ny0zLjMzLDQuNjA2LTMuMzMsNy40NTF2NDcuMzI5aC0wLjAwMWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHY0M2MwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDAuMDAxCgkJCXYzNS4xM2gtNi4wNDRjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBWNTAyYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDkxLjEyM2M1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi02NC4wNjkKCQkJQzUxMS41NjMsNDMyLjQwOCw1MDcuMDg1LDQyNy45MzEsNTAxLjU2Myw0MjcuOTMxeiBNNDQ5Ljg5LDQxMC4zOTFjMTEuMjk2LDAsMjAuOTA1LDcuMzYyLDI0LjI4MSwxNy41NGgtMjMuNDYydi0xLjk2OAoJCQljMC01LjQ0MS0wLjk1OS0xMC42NjItMi43MTYtMTUuNTA0QzQ0OC42Miw0MTAuNDE0LDQ0OS4yNTMsNDEwLjM5MSw0NDkuODksNDEwLjM5MXogTTQyMC4wODcsMTg1LjU3NHYzMy4xMThsLTEwLjQwNy0xMC40MDcKCQkJYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBjLTMuOTA1LDMuOTA1LTMuOTA1LDEwLjIzNywwLDE0LjE0M2wyMy4yNTcsMjMuMjU3YzAuNDA3LDAuNDA2LDAuODM5LDAuNzcsMS4yOTMsMS4wOTEKCQkJdjI2LjI2NWMtMjUuNDA1LTQuNzEyLTQ0LjcwNC0yNy4wMzktNDQuNzA0LTUzLjc4OWMwLTE1LjgxNiw2Ljg0NS0zMC44NTQsMTguNzc4LTQxLjI1NmMyLjc0LTIuMzg4LDMuOTY5LTYuMDc1LDMuMjA5LTkuNjI5CgkJCWMtMC40OTItMi4yOTktMC43NDEtNC42Ny0wLjc0MS03LjA0N2MwLTE4LjQ0OSwxNS4wMDktMzMuNDU4LDMzLjQ1OC0zMy40NThjMTguNDQ5LDAsMzMuNDU4LDE1LjAwOSwzMy40NTgsMzMuNDU4CgkJCWMwLDIuMzc4LTAuMjQ5LDQuNzQ4LTAuNzQxLDcuMDQ1Yy0wLjc2MiwzLjU1NSwwLjQ2Nyw3LjI0MywzLjIwOCw5LjYzMmMxMS45MzUsMTAuNDAzLDE4Ljc3OSwyNS40NCwxOC43NzksNDEuMjU2CgkJCWMwLDI2Ljc1LTE5LjI5OSw0OS4wNzYtNDQuNzA0LDUzLjc4OHYtMjYuMjY1YzAuNDUzLTAuMzIyLDAuODg3LTAuNjg1LDEuMjkzLTEuMDkxbDIzLjI1Ny0yMy4yNTcKCQkJYzMuOTA1LTMuOTA1LDMuOTA1LTEwLjIzNywwLTE0LjE0M2MtMy45MDYtMy45MDQtMTAuMjM2LTMuOTA0LTE0LjE0MywwbC0xMC40MDcsMTAuNDA3di0zMy4xMThjMC01LjUyMy00LjQ3OC0xMC0xMC0xMAoJCQlDNDI0LjU2NCwxNzUuNTc0LDQyMC4wODcsMTgwLjA1MSw0MjAuMDg3LDE4NS41NzR6IE0zNzkuNTYzLDQyNS45NjNjMC0xNC4xMDIsMTEuNDcyLTI1LjU3NCwyNS41NzMtMjUuNTc0CgkJCWMxNC4xMDIsMCwyNS41NzMsMTEuNDcyLDI1LjU3MywyNS41NzR2MS45NjhoLTUxLjE0NlY0MjUuOTYzeiBNMjg4LjE0MywyODYuOTQxbDIxLjQ1Ny0xOS4yMWwyMS40NTcsMTkuMjFWMzI5LjhoLTQyLjkxNFYyODYuOTQxCgkJCXogTTIyNS4yMjcsMjg2Ljk0MWwyMS40NTgtMTkuMjFsMjEuNDU3LDE5LjIxVjMyOS44aC00Mi45MTVWMjg2Ljk0MXogTTE2Mi4zMTMsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44aC00Mi45MTUKCQkJVjI4Ni45NDF6IE05OS4zOTgsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44SDk5LjM5OFYyODYuOTQxeiBNMzYuNDgzLDI4Ni45NDFsMjEuNDU3LTE5LjIxbDIxLjQ1NywxOS4yMVYzMjkuOAoJCQlIMzYuNDgzVjI4Ni45NDF6IE0yNi40ODIsMzQ5LjgwMWgzMTQuNTc1djIzSDI2LjQ4MlYzNDkuODAxeiBNMzMxLjA1NywzOTIuODAxdjM1LjEzaC00Mi45MTR2LTM1LjEzSDMzMS4wNTd6IE0yNjguMTQzLDM5Mi44MDEKCQkJdjM1LjEzaC00Mi45MTV2LTM1LjEzSDI2OC4xNDN6IE0yMDUuMjI3LDM5Mi44MDF2MzUuMTNoLTQyLjkxNXYtMzUuMTNIMjA1LjIyN3ogTTE0Mi4zMTMsMzkyLjgwMXYzNS4xM0g5OS4zOTh2LTM1LjEzSDE0Mi4zMTN6CgkJCSBNNzkuMzk4LDM5Mi44MDF2MzUuMTNIMzYuNDgzdi0zNS4xM0g3OS4zOTh6IE0yMC40MzgsNDkydi00NC4wNjloNDcxLjEyM1Y0OTJIMjAuNDM4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNzguNDg3LDEyNy44NDNjLTAuNTU2LDAtMS4xMTIsMC4wMTEtMS42NjgsMC4wMzNjLTcuNTQzLTE0LjQyLTIyLjUxOS0yMy45MjMtMzguODk0LTIzLjkyMwoJCQljLTIwLjU4NywwLTM4LjA0NywxNC42ODMtNDIuNzczLDM0LjM0NmMtMTkuNzgzLDEuOTMtMzUuMzA5LDE5LjAwMS0zNS4zMDksMzkuNzA3YzAsMjEuOTk0LDE3LjUxNywzOS44ODcsMzkuMDQ4LDM5Ljg4N2g3OS41OTYKCQkJYzI0LjI4NSwwLDQ0LjA0MS0yMC4xOTgsNDQuMDQxLTQ1LjAyNUMzMjIuNTI3LDE0OC4wNDEsMzAyLjc3MSwxMjcuODQzLDI3OC40ODcsMTI3Ljg0M3ogTTI3OC40ODcsMTk3Ljg5M2gtNzkuNTk2CgkJCWMtMTAuNTAzLDAtMTkuMDQ4LTguOTIxLTE5LjA0OC0xOS44ODdjMC0xMC45NjcsOC41NDUtMTkuODg4LDE5LjA0OC0xOS44ODhjMS4wNTYsMCwyLjE0OCwwLjA5OSwzLjI0NCwwLjI5NgoJCQljMi44OTMsMC41MTYsNS44Ny0wLjI2Nyw4LjEzNS0yLjE0MWMyLjI2NS0xLjg3NSwzLjU5LTQuNjUyLDMuNjIzLTcuNTkyYzAuMTUzLTEzLjYzNSwxMC45MzMtMjQuNzI4LDI0LjAzMi0yNC43MjgKCQkJYzEwLjYzOCwwLDE5Ljg3Nyw3LjEwOCwyMi45ODgsMTcuNjg5YzEuNTExLDUuMTM1LDYuNzk0LDguMTczLDExLjk5NCw2Ljg4NmMxLjgzOC0wLjQ1NCwzLjcxNS0wLjY4NCw1LjU4LTAuNjg0CgkJCWMxMy4yNTYsMCwyNC4wNDEsMTEuMjI2LDI0LjA0MSwyNS4wMjVDMzAyLjUyNywxODYuNjY3LDI5MS43NDMsMTk3Ljg5MywyNzguNDg3LDE5Ny44OTN6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Gallery:wxe,Garage:Cxe,Garden:Ixe,"Ground Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBzdHJva2U9IiIgZD0iTTQ3Ny40NDQsNDcxLjAzNGgtMy44MzNjLTMuNjc5LTE0LjQzNS0xNS45MjYtMjUuMzU2LTMwLjg1OS0yNy4yNDFWMzA4LjU4N2gyLjEzOGM5LjkxNywwLDE3Ljk4NS04LjA2OCwxNy45ODUtMTcuOTg2CgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNAoJCQljMC0wLjAzMy0wLjAwNS0wLjA2NS0wLjAwNS0wLjA5OGMtMC4wMDEtMC4wOTgtMC4wMDktMC4xOTYtMC4wMTUtMC4yOTRjLTAuMDA5LTAuMTcxLTAuMDIxLTAuMzQyLTAuMDQyLTAuNTEKCQkJYy0wLjAxMS0wLjA4OS0wLjAyNi0wLjE3Ny0wLjA0MS0wLjI2NmMtMC4wMjktMC4xODMtMC4wNjUtMC4zNjQtMC4xMDgtMC41NDJjLTAuMDEtMC4wNC0wLjAxNC0wLjA4MS0wLjAyNC0wLjEyMUw0NDYuMTIzLDI1LjQyCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQKCQkJSDMzNS4zNzJMMjkyLjM0NywyOS43aDQ1Ljg2NmM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3YzAtNC4wMjUtMy4yNjItNy4yODctNy4yODctNy4yODdoLTU1LjU5NmwtMC45MjYtMS4zODcKCQkJQzI3NS45NDgsNS4xMzcsMjY2LjM0MiwwLDI1NS45OTcsMGMtMTAuMzQ1LDAtMTkuOTUsNS4xMzYtMjUuNjk0LDEzLjczOWwtMC45MjcsMS4zODhINzkuMTc4CgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyCgkJCWMtMC4wMTQsMC4wODktMC4wMywwLjE3Ny0wLjA0MSwwLjI2NmMtMC4wMjEsMC4xNjgtMC4wMzMsMC4zMzgtMC4wNDIsMC41MWMtMC4wMDUsMC4wOTgtMC4wMTQsMC4xOTYtMC4wMTUsMC4yOTQKCQkJYzAsMC4wMzMtMC4wMDUsMC4wNjUtMC4wMDUsMC4wOTh2MTQuOTA0YzAsNy4xOTcsNS44NTUsMTMuMDUyLDEzLjA1MiwxMy4wNTJoOS44MTV2MTQzLjIzM2gtMi4xMzgKCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3CgkJCXM3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtNDYuNjk2aDM0NC4zNjR2MTI5LjMxMWMtMC4wNTUtMC4wMzItMC4xMTMtMC4wNi0wLjE2OS0wLjA5MmMtMC43MTQtMC40MTUtMS40MzktMC44MS0yLjE3Ni0xLjE4MgoJCQljLTAuMTQ0LTAuMDczLTAuMjkxLTAuMTM5LTAuNDM1LTAuMjFjLTAuNjE0LTAuMzAyLTEuMjM1LTAuNTg4LTEuODYzLTAuODU5Yy0wLjIxMy0wLjA5Mi0wLjQyNS0wLjE4My0wLjYzOS0wLjI3MgoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2CgkJCWMtMC4yMTktMC4wNjItMC40NC0wLjExOC0wLjY2LTAuMTc2Yy0wLjY0Mi0wLjE2OS0xLjI4OS0wLjMyMy0xLjk0LTAuNDYyYy0wLjE4OC0wLjA0LTAuMzc1LTAuMDg1LTAuNTY0LTAuMTIzCgkJCWMtMC44MTItMC4xNjItMS42MjktMC4zLTIuNDUxLTAuNDE0Yy0wLjE3OC0wLjAyNS0wLjM1OC0wLjA0Mi0wLjUzNy0wLjA2NGMtMC42NzEtMC4wODQtMS4zNDUtMC4xNTItMi4wMjItMC4yMDQKCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUKCQkJYy0wLjg0Ni0wLjAyLTEuNjg0LDAuMDAxLTIuNTE2LDAuMDQ2Yy0wLjE5NSwwLjAxMS0wLjM4NywwLjAzNC0wLjU4MSwwLjA0OGMtMC42MzYsMC4wNDctMS4yNjgsMC4xMDctMS44OTQsMC4xOQoJCQljLTAuMjMsMC4wMzEtMC40NTgsMC4wNzEtMC42ODYsMC4xMDdjLTAuNTg2LDAuMDkyLTEuMTY4LDAuMTk3LTEuNzQ0LDAuMzIxYy0wLjIzNCwwLjA1LTAuNDY1LDAuMTA0LTAuNjk3LDAuMTU5CgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQKCQkJYy0wLjE3MSwwLjA2Ny0wLjM0NSwwLjEyNy0wLjUxNSwwLjE5N2MtMC43MDUsMC4yOS0xLjM5OSwwLjYwMi0yLjA3OSwwLjk0MWMtMC4wMjgsMC4wMTQtMC4wNTgsMC4wMjYtMC4wODYsMC4wNAoJCQljLTAuNzMzLDAuMzY5LTEuNDUsMC43NjYtMi4xNSwxLjE5Yy0wLjA2NiwwLjA0LTAuMTI5LDAuMDg2LTAuMTk1LDAuMTI3Yy0wLjYsMC4zNy0xLjE4NywwLjc1OS0xLjc2LDEuMTY5CgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQoJCQljLTAuMzkxLDAuMzQ1LTAuNzc0LDAuNjk4LTEuMTQ4LDEuMDYzYy0wLjIwMSwwLjE5Ni0wLjQwMSwwLjM5NC0wLjU5NywwLjU5NmMtMC4zNjUsMC4zNzYtMC43MTcsMC43NjMtMS4wNjQsMS4xNTgKCQkJYy0wLjE3OCwwLjIwMy0wLjM1OSwwLjQwNC0wLjUzMywwLjYxMmMtMC4zNjcsMC40NDEtMC43MTcsMC44OTctMS4wNiwxLjM1OWMtMC4xMzEsMC4xNzYtMC4yNjksMC4zNDYtMC4zOTYsMC41MjUKCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkKCQkJYy03LjEzNSwwLTEyLjkzOSw1LjgwNS0xMi45MzksMTIuOTM5djEyNC44NTNoLTYwLjYzOWMtMC4xODgtMC40NjktMC4zOTktMC45MjUtMC42MDUtMS4zODMKCQkJYy0wLjA4OC0wLjE5NC0wLjE2Ni0wLjM5NC0wLjI1Ni0wLjU4NmMtMC4zNTMtMC43NDktMC43MjgtMS40ODMtMS4xMjgtMi4yMDJjLTAuMDc1LTAuMTM1LTAuMTYtMC4yNjMtMC4yMzYtMC4zOTcKCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQKCQkJYy0wLjE4My0wLjI0NS0wLjM3Mi0wLjQ4NC0wLjU2Mi0wLjcyNGMtMC4zMi0wLjQwNS0wLjY0Ni0wLjgwMy0wLjk4Mi0xLjE5M2MtMC4yMDItMC4yMzQtMC40MDUtMC40NjctMC42MTItMC42OTUKCQkJYy0wLjM1Mi0wLjM4OC0wLjcxNC0wLjc2Ni0xLjA4MS0xLjEzOGMtMC4yMDUtMC4yMDctMC40MDctMC40MTctMC42MTYtMC42MmMtMC40MTktMC40MDUtMC44NTItMC43OTQtMS4yOS0xLjE3OAoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDEKCQkJYy0wLjU4OC0wLjQyNi0xLjE4OC0wLjgzNi0xLjgwMS0xLjIyNmMtMC4yMjUtMC4xNDQtMC40NTgtMC4yNzYtMC42ODYtMC40MTRjLTAuNDY3LTAuMjgzLTAuOTM4LTAuNTYyLTEuNDE4LTAuODI0CgkJCWMtMC4yNy0wLjE0OC0wLjU0NS0wLjI4Ny0wLjgxOS0wLjQyOGMtMC40NTYtMC4yMzQtMC45MTYtMC40NjEtMS4zODMtMC42NzZjLTAuMjktMC4xMzQtMC41ODEtMC4yNjQtMC44NzUtMC4zOTEKCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQKCQkJYy0wLjI1Ni0wLjA3Ny0wLjUwOC0wLjE2Mi0wLjc2Ni0wLjIzM2MtMC44LTAuMjIxLTEuNjA4LTAuNDIxLTIuNDI4LTAuNTg4Yy0wLjUyNy0wLjcxOC0xLjA3NC0xLjQxOC0xLjYzNy0yLjA5OQoJCQljLTAuMTkzLTAuMjMzLTAuMzk4LTAuNDUyLTAuNTk1LTAuNjgxYy0wLjM3OC0wLjQ0LTAuNzU0LTAuODgyLTEuMTQ3LTEuMzA2Yy0wLjI0Ni0wLjI2NS0wLjUwNS0wLjUxNC0wLjc1Ny0wLjc3MgoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQoJCQljLTAuMzAxLTAuMjU3LTAuNjE0LTAuNDk4LTAuOTIxLTAuNzQ3Yy0wLjM2OC0wLjI5OC0wLjczMi0wLjYtMS4xMDgtMC44ODZjLTAuMzIyLTAuMjQ0LTAuNjU0LTAuNDcyLTAuOTgxLTAuNzA3CgkJCWMtMC4zNzYtMC4yNy0wLjc0OS0wLjU0NC0xLjEzMy0wLjgwMWMtMC4zMzktMC4yMjctMC42ODctMC40MzktMS4wMzEtMC42NTdjLTAuMzg3LTAuMjQ1LTAuNzcxLTAuNDkzLTEuMTY0LTAuNzI1CgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQKCQkJYy0wLjQwNi0wLjE5NS0wLjgxMS0wLjM5My0xLjIyNC0wLjU3NmMtMC4zOC0wLjE2OS0wLjc2NS0wLjMyMy0xLjE1LTAuNDgyYy0wLjQxNy0wLjE3MS0wLjgzMi0wLjM0NC0xLjI1NS0wLjUwMwoJCQljLTAuMzg5LTAuMTQ3LTAuNzg0LTAuMjgtMS4xNzgtMC40MTZjLTAuNDI3LTAuMTQ3LTAuODU0LTAuMjk2LTEuMjg2LTAuNDNjLTAuMzk4LTAuMTI0LTAuODAxLTAuMjM2LTEuMjA0LTAuMzQ5CgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5CgkJCWMtMC40MTQtMC4wNzgtMC44MzEtMC4xNDUtMS4yNDgtMC4yMTJjLTAuNDUzLTAuMDcyLTAuOTA1LTAuMTQzLTEuMzYxLTAuMjAyYy0wLjQyLTAuMDU0LTAuODQyLTAuMDk4LTEuMjY0LTAuMTQxCgkJCWMtMC40Ni0wLjA0Ny0wLjkyMS0wLjA5LTEuMzg1LTAuMTIyYy0wLjQyNC0wLjAzLTAuODUtMC4wNTEtMS4yNzYtMC4wNjljLTAuMjY5LTAuMDEyLTAuNTM0LTAuMDM2LTAuODA0LTAuMDQzdi0yOS44NTEKCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyCgkJCWMtMTEuMjk0LDAtMjAuNDgzLDkuMTg5LTIwLjQ4MywyMC40ODNzOS4xODksMjAuNDgzLDIwLjQ4MywyMC40ODNoNDQyLjg5NGMxMS4yOTQsMCwyMC40ODMtOS4xODksMjAuNDgzLTIwLjQ4MwoJCQlDNDk3LjkyNyw0ODAuMjIzLDQ4OC43MzgsNDcxLjAzNCw0NzcuNDQ0LDQ3MS4wMzR6IE0yMzkuMzMzLDI2LjQ2YzAtMC4wMDEsMC4wMDEtMC4wMDEsMC4wMDEtMC4wMDFsMy4wODktNC42MjcKCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1MwoJCQljLTIuMzU4LTMuNTMxLTYuMy01LjYzOS0xMC41NDYtNS42MzljLTQuMjQ2LDAtOC4xODksMi4xMDgtMTAuNTQ2LDUuNjM5TDE5OS4zNDcsOTQuMTRoLTUuMjAybDguNzc4LTEzLjE0OEwyMzkuMzMzLDI2LjQ2egoJCQkgTTI5NS4xMjQsOTQuMTRIMjE2Ljg3bDM5LjEyNy01OC42MDRMMjk1LjEyNCw5NC4xNHogTTc5LjgxNiwyOS43aDEzOS44MzFMMjA5LjUxLDQ0Ljg4M0wxNzYuNjIyLDk0LjE0SDYzLjA4MUw3OS44MTYsMjkuN3oKCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQKCQkJYy0xLjg4MSwwLTMuNDEyLTEuNTMxLTMuNDEyLTMuNDEzYzAtMS44ODEsMS41My0zLjQxMiwzLjQxMi0zLjQxMkg0NDQuODljMS44ODEsMCwzLjQxMiwxLjUzMSwzLjQxMiwzLjQxMgoJCQljMCwxLjg4Mi0xLjUzLDMuNDEzLTMuNDEyLDMuNDEzSDY3LjEwNHogTTM2MC40MTYsNDcwLjg5M2MwLjMxNy0wLjE4NywwLjYzOC0wLjM2OCwwLjk2Ny0wLjUzNQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4CgkJCWMwLjI3Mi0wLjA5OCwwLjU0Ny0wLjE4NywwLjgyNC0wLjI3MWMwLjIwMS0wLjA2LDAuNDAyLTAuMTIxLDAuNjA1LTAuMTc0YzAuMjc2LTAuMDcyLDAuNTU2LTAuMTMyLDAuODM2LTAuMTkKCQkJYzAuMjA3LTAuMDQzLDAuNDExLTAuMDkxLDAuNjItMC4xMjZjMC4zNTYtMC4wNiwwLjcxOC0wLjEwMiwxLjA4MS0wLjEzOWMwLjE3Ni0wLjAxOCwwLjM1Mi0wLjAzOSwwLjUyOS0wLjA1MgoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYKCQkJYzAuNTcyLDAuMDY1LDEuMTQ2LDAuMTU1LDEuNzE5LDAuMjc5YzMuNTA5LDAuNzU2LDcuMDQ3LTEuMTU1LDguMzM3LTQuNTA3YzQuMDkyLTEwLjYzOSwxNC40OTYtMTcuNzg3LDI1Ljg5MS0xNy43ODcKCQkJYzcuOTUsMCwxNS41MzMsMy40MjgsMjAuODA2LDkuNDA2YzAuMjEsMC4yMzgsMC40MzMsMC40NiwwLjY2OSwwLjY2NmMwLjAxMywwLjAxMSwwLjAyOCwwLjAyLDAuMDQxLDAuMDMyCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxCgkJCUMzNjAuMjUsNDcwLjk4NSwzNjAuMzM0LDQ3MC45NDIsMzYwLjQxNiw0NzAuODkzeiBNMjkxLjAzOCwzNDcuODE1djEyMy4yMTloLTcwLjA4MlYzNDcuODE1SDI5MS4wMzh6IE03Ny43OTcsNDQ1LjM1MgoJCQljMC43NjctMC4xMjEsMS41MzYtMC4yMTUsMi4zMDUtMC4yNzljMC4wNjYtMC4wMDUsMC4xMzItMC4wMDksMC4xOTgtMC4wMTRjMC43ODQtMC4wNiwxLjU2Ny0wLjA5NiwyLjM0My0wLjA5NgoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNgoJCQljMC4xMTUsMC4wMiwwLjIzLDAuMDQxLDAuMzQ1LDAuMDYzYzAuNSwwLjA5NywwLjk5NSwwLjIwOCwxLjQ4MywwLjMzOGMwLjA2MywwLjAxNywwLjEyNSwwLjAzNywwLjE4OSwwLjA1NQoJCQljMC40NDQsMC4xMjMsMC44ODEsMC4yNjEsMS4zMTMsMC40MTFjMC4wOTksMC4wMzQsMC4xOTksMC4wNjcsMC4yOTgsMC4xMDNjMC40NjcsMC4xNjksMC45MjcsMC4zNTMsMS4zNzksMC41NTMKCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYKCQkJYzAuNDMxLDAuMjM2LDAuODUyLDAuNDg4LDEuMjY1LDAuNzUyYzAuMDk0LDAuMDYsMC4xODcsMC4xMjIsMC4yOCwwLjE4NGMwLjM4OCwwLjI1NywwLjc2OSwwLjUyMywxLjEzOSwwLjgwMwoJCQljMC4wMzIsMC4wMjQsMC4wNjYsMC4wNDcsMC4wOTgsMC4wNzJjMC4zOTIsMC4zLDAuNzcsMC42MTcsMS4xNDEsMC45NDNjMC4wODcsMC4wNzcsMC4xNzQsMC4xNTQsMC4yNiwwLjIzMgoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQoJCQljMC4wNzIsMC4wODYsMC4xNDUsMC4xNzIsMC4yMTYsMC4yNmMwLjA1MywwLjA2NiwwLjEwMSwwLjEzNiwwLjE1NCwwLjIwMkg1Mi4xODFDNTQuMjI5LDQ1Ny44NjgsNjQuNjQzLDQ0Ny40MzksNzcuNzk3LDQ0NS4zNTJ6CgkJCSBNNDc3LjQ0NCw0OTcuNDI3SDM0LjU1Yy0zLjI1OSwwLTUuOTEtMi42NTEtNS45MS01LjkxYzAtMy4yNTksMi42NTEtNS45MSw1LjkxLTUuOTFoNDQyLjg5NGMzLjI1OSwwLDUuOTEsMi42NTEsNS45MSw1LjkxCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiAgZD0iTTE4Ni4yMTMsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODgsNy4yODdoODYuNzljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgIGQ9Ik0yOTkuNjY4LDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU1Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0NgoJCQloLTMuMzM4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAuMDAxLDQuMDI0LDMuMjYzLDcuMjg3LDcuMjg3LDcuMjg3aDg2Ljc5MWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3CgkJCUMzMDYuOTU1LDIzNC44MzUsMzAzLjY5MywyMzEuNTcyLDI5OS42NjgsMjMxLjU3MnogTTI4MS43NTgsMjMxLjU3M2gtNTAuOTd2LTYxLjU1NGg1MC45N1YyMzEuNTczeiIvPgogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiICBkPSJNNDEyLjU3MiwyMzEuNTcyaC0zLjMzOHYtNjUuNzQ2YzAtNS43MjQtNC42NTctMTAuMzgtMTAuMzc5LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDNDE5Ljg1OSwyMzQuODM1LDQxNi41OTcsMjMxLjU3Miw0MTIuNTcyLDIzMS41NzJ6IE0zOTQuNjYxLDIzMS41NzNoLTUwLjk3di02MS41NTRoNTAuOTdWMjMxLjU3M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTgyLjgxMyw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTUsNC41MjktMTAuMDk1LDEwLjA5NXY2MC4wNDUKCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0aDU5LjUwNGg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3CgkJCUMxOTAuMSw0MTcuMDk1LDE4Ni44MzgsNDEzLjgzMywxODIuODEzLDQxMy44MzN6IE0xNjcuNzEyLDQxMy44MzNoLTQ0LjkzMXYtNTUuNTY3aDQ0LjkzMVY0MTMuODMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MDQuMzE0LDQxMy44MzNoLTAuNTI4di02MC4wNDVjMC01LjU2Ni00LjUyOS0xMC4wOTUtMTAuMDk1LTEwLjA5NWgtNTMuODg2Yy01LjU2NiwwLTEwLjA5Niw0LjUyOS0xMC4wOTYsMTAuMDk1djYwLjA0NQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRIMzk2LjVoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDNDExLjYwMSw0MTcuMDk1LDQwOC4zMzksNDEzLjgzMyw0MDQuMzE0LDQxMy44MzN6IE0zODkuMjEzLDQxMy44MzNoLTQ0LjkzMnYtNTUuNTY3aDQ0LjkzMlY0MTMuODMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNzYuNTQ1LDQwNS4wODljLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MTIuNjNjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4NwoJCQljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtMTIuNjNDMjgzLjgzMiw0MDguMzUyLDI4MC41Nyw0MDUuMDg5LDI3Ni41NDUsNDA1LjA4OXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==","Guest Bathroom":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjMuNjE4IDYyLTIuNzE4LTUuNDQ3YTEgMSAwIDAgMCAtLjktLjU1M2gtMXYtMzBoM3YtMmgtM3YtMTlhNS4wMDYgNS4wMDYgMCAwIDAgLTUtNWgtMTRhNS4wMDYgNS4wMDYgMCAwIDAgLTUgNXYxYTMgMyAwIDAgMCAtMyAzdjFoLTVhMyAzIDAgMCAwIC0zIDN2MmExIDEgMCAwIDAgMSAxaDE1di0yaC0xNHYtMWExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MWgtNHYyaDVhMSAxIDAgMCAwIDEtMXYtMmEzIDMgMCAwIDAgLTMtM2gtNXYtMWEzIDMgMCAwIDAgLTMtM3YtMWEzIDMgMCAwIDEgMy0zaDE0YTMgMyAwIDAgMSAzIDN2MTloLTV2Mmg1djE0aC0zdi0yaC0ydjZoMnYtMmgzdjE0aC0xYTEgMSAwIDAgMCAtLjkuNTUzbC0yLjcxOCA1LjQ0N2gtNTIuMzgydjJoNjR2LTJ6bS0yNS42MTgtNTN2MWgtNHYtMWExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXptMTguNjE4IDQ5aDIuNzY0bDIgNGgtNi43NjR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI5IDE4aDJ2NGgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjkgMjRoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOSAzNGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDM0aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjkgMjhoMnY0aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMyAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzIDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzMgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00MSAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQxIDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDEgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyAxOGgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDI0aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcgMjhoMnY0aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NSAzNGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1IDE4aDJ2NGgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDUgMjRoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NSAyOGgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQxIDE4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzMgMThoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNSAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI1IDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjUgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNSAxOGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIgMzcuOTg3djE5LjAxM2ExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTE5LjFsMi0uMDEzdjIuMTEzaDJ2LTZoLTJ2MS44ODJsLTE4LjAwNi4xMTguMDEyIDJ6bTIgMTIuMDEzaDEwdjFoLTEwem0wIDZ2LTNoMTB2M3ptMTAtOGgtMTB2LTEwLjAyNmwxMC0uMDY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMCAyOWM0LjQ4NiAwIDgtNS4yNzEgOC0xMnMtMy41MTQtMTItOC0xMi04IDUuMjcxLTggMTIgMy41MTQgMTIgOCAxMnptMC0yMmMzLjI1MiAwIDYgNC41NzkgNiAxMHMtMi43NDggMTAtNiAxMC02LTQuNTc5LTYtMTAgMi43NDgtMTAgNi0xMHoiLz4KICAgICAgICA8cGF0aCBkPSJtNS4wOTUgMTMuNWg3LjgxdjJoLTcuODF6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzY4IC0uNjQgLjY0IC43NjggLTcuMTk3IDkuMTIyKSIvPgogICAgICAgIDxwYXRoIGQ9Im03LjA5NSAxOC41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtOS45MzQgMTEuNTYyKSIvPgogICAgPC9nPgo8L3N2Zz4=","Guest Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NTYsMzI4YTQwLjAzNyw0MC4wMzcsMCwwLDAtOCwuODA0OTNWMTQ0YTcuOTc1MjIsNy45NzUyMiwwLDAsMC0yLjM0MzgxLTUuNjU3NDcsMTQuNjQ1MzUsMTQuNjQ1MzUsMCwwLDEsMC0yMC42ODUwNkE3Ljk3NTIyLDcuOTc1MjIsMCwwLDAsNDQ4LDExMlY4OGg0MGE3Ljk5OTQ2LDcuOTk5NDYsMCwwLDAsNi45NDU4LTExLjk2ODc1bC0zMi01NkE3Ljk5ODYzLDcuOTk4NjMsMCwwLDAsNDU2LDE2SDM4NGE3Ljk5ODYzLDcuOTk4NjMsMCwwLDAtNi45NDU4LDQuMDMxMjVsLTMyLDU2QTcuOTk5NDYsNy45OTk0NiwwLDAsMCwzNTIsODhoNDB2MjRhNy45NzUyMiw3Ljk3NTIyLDAsMCwwLDIuMzQzODEsNS42NTc0NywxNC42NDUzNSwxNC42NDUzNSwwLDAsMSwwLDIwLjY4NTA2QTcuOTc1MjIsNy45NzUyMiwwLDAsMCwzOTIsMTQ0VjMyMEgzMTJWMjg4aDI0YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMjQ4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMzEyVjIxNmg0OGE4LjAwMDA4LDguMDAwMDgsMCwwLDAsOC04VjExMmE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04SDIwOGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOCw4djk2YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LDhoNDh2MjRIMjA1LjQxNjA4bC0xMy42MDU1My0zNC4wMTQ2NS00Ljk3NDEyLTM5Ljc5M0E1Ni41MzE0OCw1Ni41MzE0OCwwLDAsMCwxODQsMTU0LjI2VjgwQTY0LDY0LDAsMCwwLDU2LDgwdjUyLjgyODYxQTU2LjA0MTkzLDU2LjA0MTkzLDAsMCwwLDMzLjU5NDI0LDE2MS45MTlsLTE3LjE4MzYsNTEuNTUwNzhhNy45OTgsNy45OTgsMCwwLDAtLjE3MTg3LDQuNDcwN2w1LjU5MTM3LDIyLjM2NTQ4QTcuOTk3NDUsNy45OTc0NSwwLDAsMCwxNiwyNDhWNDg4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LDhINDg4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMzY4QTQwLjA0NTUyLDQwLjA0NTUyLDAsMCwwLDQ1NiwzMjhabTI0LDQwdjU2SDQzMlYzNjhhMjQsMjQsMCwwLDEsNDgsMFpNMjY0LDQyNFY0MDBhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgtOEg0MDhhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgsOHYyNFpNOTYsNDI0VjQwMGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOC04SDI0MGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOCw4djI0Wm0zMjAtODB2MzMuMzc2MjJBMjMuODgyMTIsMjMuODgyMTIsMCwwLDAsNDA4LDM3NkgyNzJhMjMuOTAxMTEsMjMuOTAxMTEsMCwwLDAtMTYsNi4xMzA4NkEyMy45MDExMSwyMy45MDExMSwwLDAsMCwyNDAsMzc2SDEwNGEyMy44ODIxMiwyMy44ODIxMiwwLDAsMC04LDEuMzc2MjJWMzQ0YTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LThINDA4QTguMDA5MTcsOC4wMDkxNywwLDAsMSw0MTYsMzQ0Wm0xMC40NTE3Mi0yMDhINDEzLjU0ODI4YTMwLjg0MzUxLDMwLjg0MzUxLDAsMCwwLDAtMTZoMTIuOTAzNDRBMzAuODQzNTEsMzAuODQzNTEsMCwwLDAsNDI2LjQ1MTcyLDEzNlpNMzg4LjY0MjU4LDMyaDYyLjcxNDg0bDIyLjg1Njk0LDQwSDM2NS43ODU2NFpNNDMyLDg4djE2SDQwOFY4OFptLTI0LDY0aDI0VjMzNi4wMjJjLS4zNjYzMy4yNzU2NC0uNzI0MTguNTYyLTEuMDgwNjkuODQ5NjFBMjQuMDQzNjksMjQuMDQzNjksMCwwLDAsNDA4LDMyMFpNMjk2LDMyMEgxMDRhMjQuMDQzNjksMjQuMDQzNjksMCwwLDAtMjIuOTE5MzEsMTYuODcxNThBMzkuOSwzOS45LDAsMCwwLDMyLDMzNi4wMjJWMjg4SDI5NlptMzItNDhIMzJWMjU2SDMyOFpNNzIsMjQwSDY0VjIyNS41NDFsNy4zMTY4OS0xOC4yOTJMNzIsMjA5LjI5Nzg1Wm04OC0uMDAwMjQuMDAwMjQuMDAwMjRIMTYwWk0yMTYsMjAwVjEyMEgzNTJ2ODBIMzEyVjE2OGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04SDI2NGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOCw4djMyWm01Ni0yNGgyNHY2NEgyNzJaTTEyMCwzMmE0OC4wNTQsNDguMDU0LDAsMCwxLDQ4LDQ4djUwLjg1MzUyYTU2LjcyNTYyLDU2LjcyNTYyLDAsMCwwLTcuOTE5OTItNS43MzUzNmwtMTEuNDQxNjUtNi44NjVBMzEuNzk0MDUsMzEuNzk0MDUsMCwwLDAsMTUyLDEwNFY4MGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04aC02LjExMTMzYTIwLjgzMDUzLDIwLjgzMDUzLDAsMCwxLTE4LjczMzQtMTEuNTc4MTIsOC4wMDA2NCw4LjAwMDY0LDAsMCwwLTEyLjgxMi0yLjA3OTExbC0xNiwxNkE4LjAwMDc2LDguMDAwNzYsMCwwLDAsODgsODB2MjRhMzEuODAxODgsMzEuODAxODgsMCwwLDAsMi43NTc1MSwxMi45NzExOUw3MiwxMjUuMDFWODBBNDguMDU0LDQ4LjA1NCwwLDAsMSwxMjAsMzJabTE2LDcyYTE2LDE2LDAsMCwxLTMyLDBWODMuMzEzNDhsNi45NDY3OC02Ljk0NjI5QTM2LjY5ODE2LDM2LjY5ODE2LDAsMCwwLDEzNiw4Ny45NTMxMlptLTM0Ljc3MTkxLDI1Ljg5MjA5YTMxLjkxNjEzLDMxLjkxNjEzLDAsMCwwLDM2LjcwNDQ3LjU5NzE3bDEuMjM3MTguNzQyNDNMMTIwLDE1NS4xOTMzNmwtMTkuODY2MjctMjQuODMyMjhaTTQ4Ljc3MywxNjYuOTc5NDlBNDAuMDM1MzgsNDAuMDM1MzgsMCwwLDEsNzAuOTYzODcsMTQyLjg2MjNsMTMuOTExNjItNS45NjE5MSwyOC44Nzc0NCwzNi4wOTY2OGE3Ljk5OTQzLDcuOTk5NDMsMCwwLDAsMTIuNDk0MTQsMEwxNTIuOTksMTM5LjU2ODM2YTM5LjcyNzc5LDM5LjcyNzc5LDAsMCwxLDE3Ljk2OTQ4LDI4LjYwODRsNS4xMDI1NCw0MC44MTU0M2E3Ljk4MjgxLDcuOTgyODEsMCwwLDAsLjUxMDI2LDEuOTc4NTFMMTg4LjE4MzU5LDI0MEgxODBsLTIwLTI2LjY2N1YyMDEuODA2NjRhNTAuODIzMzgsNTAuODIzMzgsMCwwLDAsMS45MzI2Mi0zNy4zMDc2MmwtMi4zNDMyNi03LjAyOTI5LTE1LjE3ODcyLDUuMDYwNTQsMi4zNDMyNyw3LjAyOTNhMzQuOTU1MTMsMzQuOTU1MTMsMCwwLDEtMS45MDkxOCwyNi44NjIzMUE3Ljk5OTM0LDcuOTk5MzQsMCwwLDAsMTQ0LDIwMHY0MEg4OFYyMDhhOC4wMDY0Myw4LjAwNjQzLDAsMCwwLS40MTA2NC0yLjUzMDI3bC04LTI0YTguMDAwMDksOC4wMDAwOSwwLDAsMC0xNS4wMTcwOS0uNDQwNDNsLTE2LDQwQTcuOTk3MjMsNy45OTcyMywwLDAsMCw0OCwyMjR2MTZIMzguMjQ2MDlsLTUuOTE5OTItMjMuNjgwNjZaTTMyLDM2OGEyNCwyNCwwLDAsMSw0OCwwdjU2SDMyWk00ODAsNDgwSDMyVjQ0MEg0ODBaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=",Gym:pxe,Hall:Axe,"Home Theater":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSIxIC00NCA1MTEuOTk4OTkgNTExIiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgPHBhdGggZD0ibTI4Mi41MTk1MzEgMzMzLjk4ODI4MWMtNC4xNzE4NzUgMC03LjU0Njg3NSAzLjM3ODkwNy03LjU0Njg3NSA3LjU0Njg3NSAwIDQuMTY3OTY5IDMuMzc1IDcuNTQ2ODc1IDcuNTQ2ODc1IDcuNTQ2ODc1aDExNC4zMzk4NDRjNy4wODIwMzEgMCAxMi44NDM3NS01Ljc2MTcxOSAxMi44NDM3NS0xMi44NDc2NTZ2LTE5MS45Mjk2ODdjMC03LjA4MjAzMi01Ljc2MTcxOS0xMi44NDc2NTctMTIuODQzNzUtMTIuODQ3NjU3aC0yODEuNzE4NzVjLTcuMDgyMDMxIDAtMTIuODQzNzUgNS43NjU2MjUtMTIuODQzNzUgMTIuODQ3NjU3djE5MS45Mjk2ODdjMCA3LjA4NTkzNyA1Ljc2MTcxOSAxMi44NDc2NTYgMTIuODQzNzUgMTIuODQ3NjU2aDEzNy4xOTE0MDZjNC4xNjc5NjkgMCA3LjU0Njg3NS0zLjM3ODkwNiA3LjU0Njg3NS03LjU0Njg3NSAwLTQuMTY3OTY4LTMuMzc4OTA2LTcuNTQ2ODc1LTcuNTQ2ODc1LTcuNTQ2ODc1aC0xMzQuOTQ1MzEydi0xODcuNDM3NWgyNzcuMjI2NTYydjE4Ny40Mzc1em0wIDAiLz4KICAgIDxwYXRoIGQ9Im00OS4yNjE3MTkgODIuNzQyMTg4YzE1LjU4MjAzMSAwIDI4LjI2MTcxOS0xMi42Nzk2ODggMjguMjYxNzE5LTI4LjI1MzkwNyAwLTE1LjU4NTkzNy0xMi42Nzk2ODgtMjguMjYxNzE5LTI4LjI2MTcxOS0yOC4yNjE3MTktMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjYxNzE5IDAgMTUuNTc0MjE5IDEyLjY3NTc4MiAyOC4yNTM5MDcgMjguMjUzOTA3IDI4LjI1MzkwN3ptMC00MS40MjU3ODJjNy4yNjE3MTkgMCAxMy4xNjc5NjkgNS45MDYyNSAxMy4xNjc5NjkgMTMuMTcxODc1IDAgNy4yNTM5MDctNS45MDYyNSAxMy4xNjAxNTctMTMuMTY3OTY5IDEzLjE2MDE1Ny03LjI1MzkwNyAwLTEzLjE2MDE1Ny01LjkwNjI1LTEzLjE2MDE1Ny0xMy4xNjAxNTcgMC03LjI2NTYyNSA1LjkwNjI1LTEzLjE3MTg3NSAxMy4xNjAxNTctMTMuMTcxODc1em0wIDAiLz4KICAgIDxwYXRoIGQ9Im00NjIuNzM4MjgxLjVjLTI3LjE2NDA2MiAwLTQ5LjI2OTUzMSAyMi4xMDU0NjktNDkuMjY5NTMxIDQ5LjI2OTUzMXY1Ni4zMDQ2ODhjLTUuNjUyMzQ0LTEuMzY3MTg4LTYuMDQyOTY5LS41MzUxNTctNTQuMzMyMDMxLS43NzczNDQtNC4xNjQwNjMgMC03LjU0Mjk2OSAzLjM4MjgxMy03LjU0Mjk2OSA3LjU0Njg3NXMzLjM3ODkwNiA3LjU0Njg3NSA3LjU0Mjk2OSA3LjU0Njg3NWg0Ny43MjI2NTZjNy43MzA0NjkgMCAxMy45MTQwNjMgNi4zMDQ2ODcgMTMuOTE0MDYzIDEzLjkxNDA2M3YyMTEuOTMzNTkzYzAgNy42NjQwNjMtNi4yNDYwOTQgMTMuOTE0MDYzLTEzLjkxNDA2MyAxMy45MTQwNjMtNTkuNDE3OTY5IDAtMjMxLjU1NDY4NyAwLTMwMS43MTg3NSAwLTcuNjY3OTY5IDAtMTMuOTE0MDYzLTYuMjUtMTMuOTE0MDYzLTEzLjkxNDA2MyAwLTEwLjc0NjA5MyAwLTIwNC41ODk4NDMgMC0yMTEuOTMzNTkzIDAtNS4yNzM0MzggMi45NTcwMzItOS44Nzg5MDcgNy4zMDQ2ODgtMTIuMjQ2MDk0IDUuODQzNzUtMy4xNzU3ODItNC4yNDIxODgtMS4wNDY4NzUgMjMwLjQyMTg3NS0xLjY2Nzk2OSA0LjE3NTc4MSAwIDcuNTQ2ODc1LTMuMzgyODEzIDcuNTQ2ODc1LTcuNTQ2ODc1cy0zLjM3MTA5NC03LjU0Njg3NS03LjU0Njg3NS03LjU0Njg3NWMtMjM2LjM1MTU2My4yNzM0MzctMjI0LjU1MDc4MS0uNjQ0NTMxLTIzMC40MjE4NzUuNzc3MzQ0di01Ni4zMDQ2ODhjMC0yNy4xNjQwNjItMjIuMTA1NDY5LTQ5LjI2OTUzMS00OS4yNjk1MzEtNDkuMjY5NTMxLTIyLjc2OTUzMSAwLTQyLjQ0OTIxOSAxNS40MzM1OTQtNDcuODYzMjgxIDM3LjUyNzM0NC0uOTg0Mzc2IDQuMDU0Njg3IDEuNSA4LjE0MDYyNSA1LjU0Mjk2OCA5LjEyNSA0LjA0Njg3NS45ODgyODEgOC4xMjg5MDYtMS40ODgyODIgOS4xMjUtNS41MzEyNSAzLjc0NjA5NC0xNS4zMjQyMTkgMTcuMzk4NDM4LTI2LjAzMTI1IDMzLjE5NTMxMy0yNi4wMzEyNSAxOC44NDM3NSAwIDM0LjE3NTc4MSAxNS4zMzU5MzcgMzQuMTc1NzgxIDM0LjE3OTY4N3Y2NS4zMTY0MDdjLTMuMTEzMjgxIDMuNTExNzE4LTUuMzkwNjI1IDcuNzczNDM3LTYuNTExNzE5IDEyLjQ4MDQ2OC0yLjY3MTg3NS0xMi44MjQyMTgtMTQuMDU4NTkzLTIyLjQ4ODI4MS0yNy42NjQwNjItMjIuNDg4MjgxLTE1LjU3ODEyNSAwLTI4LjI1MzkwNyAxMi42Nzk2ODctMjguMjUzOTA3IDI4LjI1NzgxMyAwIDE1LjU3ODEyNCAxMi42NzU3ODIgMjguMjU3ODEyIDI4LjI1MzkwNyAyOC4yNTc4MTIgMTIuNTM1MTU2IDAgMjMuMTg3NS04LjIxMDkzOCAyNi44NzEwOTMtMTkuNTMxMjV2NjEuMzk4NDM4Yy0zLjY4MzU5My0xMS4zMjAzMTMtMTQuMzM1OTM3LTE5LjUyNzM0NC0yNi44NzEwOTMtMTkuNTI3MzQ0LTE1LjU3ODEyNSAwLTI4LjI1MzkwNyAxMi42NzU3ODEtMjguMjUzOTA3IDI4LjI1MzkwNiAwIDE1LjU4MjAzMSAxMi42NzU3ODIgMjguMjU3ODEyIDI4LjI1MzkwNyAyOC4yNTc4MTIgMTIuNTM1MTU2IDAgMjMuMTg3NS04LjIwNzAzMSAyNi44NzEwOTMtMTkuNTMxMjV2NjEuNDAyMzQ0Yy0zLjY4MzU5My0xMS4zMjQyMTgtMTQuMzM1OTM3LTE5LjUzMTI1LTI2Ljg3MTA5My0xOS41MzEyNS0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc1NzgyLTI4LjI1MzkwNyAyOC4yNTM5MDYgMCAxNS41ODIwMzIgMTIuNjc1NzgyIDI4LjI1NzgxMyAyOC4yNTM5MDcgMjguMjU3ODEzIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMDcwMzEgMjYuODcxMDkzLTE5LjUzMTI1djE3LjA4OTg0NGMtMjAuMTA1NDY4IDI1LjUzMTI1LTYxLjAzOTA2MiAxMS4xMjUtNjEuMDM5MDYyLTIxLjA5NzY1N3YtMjI1Ljg0Mzc1YzAtNC4xNzU3ODEtMy4zODI4MTItNy41NDY4NzQtNy41NDY4NzUtNy41NDY4NzQtNC4xNzU3ODEgMC03LjU0Njg3NSAzLjM3MTA5My03LjU0Njg3NSA3LjU0Njg3NHYyMjUuODQzNzVjMCAyNC42MDE1NjMgMTguMTIxMDk0IDQ1LjA1MDc4MiA0MS43MTg3NSA0OC42OTUzMTN2NjIuNTI3MzQ0aC0xOC45NjQ4NDRjLTQuMTY3OTY4IDAtNy41NDY4NzUgMy4zNzg5MDYtNy41NDY4NzUgNy41NDY4NzUgMCA0LjE2Nzk2OCAzLjM3ODkwNyA3LjU0Njg3NSA3LjU0Njg3NSA3LjU0Njg3NWg1My4wMTk1MzJjNC4xNjc5NjggMCA3LjU0Njg3NC0zLjM3ODkwNyA3LjU0Njg3NC03LjU0Njg3NSAwLTQuMTY3OTY5LTMuMzc4OTA2LTcuNTQ2ODc1LTcuNTQ2ODc0LTcuNTQ2ODc1aC0xOC45NjQ4NDR2LTYyLjUzMTI1YzcuMDQyOTY4LTEuMDg1OTM4IDEzLjU5NzY1Ni0zLjY2Nzk2OSAxOS4zMjQyMTgtNy40MTAxNTd2OS4xOTkyMTljMCAxNS45ODQzNzUgMTMuMDE5NTMyIDI5LjAwMzkwNyAyOS4wMDc4MTMgMjkuMDAzOTA3aDQ1LjgyMDMxM3YzNS44OTg0MzdjMCA2LjI4OTA2MyA1LjEwOTM3NCAxMS40MTAxNTYgMTEuMzk4NDM3IDExLjQxMDE1NmgyMS4xMjg5MDZjNi4yODkwNjMgMCAxMS4zOTg0MzgtNS4xMjEwOTMgMTEuMzk4NDM4LTExLjQxMDE1NnYtMzUuODk4NDM3aDEyMi4yMjY1NjJ2MzUuODk4NDM3YzAgNi4yODkwNjMgNS4xMDkzNzUgMTEuNDEwMTU2IDExLjM5ODQzOCAxMS40MTAxNTZoMjEuMTI4OTA2YzYuMjg5MDYzIDAgMTEuMzk4NDM3LTUuMTIxMDkzIDExLjM5ODQzNy0xMS40MTAxNTZ2LTM1Ljg5ODQzN2g0NS44MjAzMTNjMTUuOTg4MjgxIDAgMjkuMDA3ODEzLTEzLjAxOTUzMiAyOS4wMDc4MTMtMjkuMDAzOTA3di05LjE5OTIxOWM1LjcyNjU2MiAzLjc0MjE4OCAxMi4yODEyNSA2LjMyNDIxOSAxOS4zMjQyMTggNy40MTAxNTd2NjIuNTMxMjVoLTE4Ljk2NDg0NGMtNC4xNjc5NjggMC03LjU0Njg3NCAzLjM3ODkwNi03LjU0Njg3NCA3LjU0Njg3NSAwIDQuMTY3OTY4IDMuMzc4OTA2IDcuNTQ2ODc1IDcuNTQ2ODc0IDcuNTQ2ODc1aDUzLjAxOTUzMmM0LjE2Nzk2OCAwIDcuNTQ2ODc1LTMuMzc4OTA3IDcuNTQ2ODc1LTcuNTQ2ODc1IDAtNC4xNjc5NjktMy4zNzg5MDctNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVoLTE4Ljk2NDg0NHYtNjIuNTI3MzQ0YzIzLjU5NzY1Ni0zLjY0NDUzMSA0MS43MTg3NS0yNC4wOTM3NSA0MS43MTg3NS00OC42OTUzMTN2LTI0NS45ODgyODFjMC0yNy4xNjQwNjItMjIuMDkzNzUtNDkuMjY5NTMxLTQ5LjI2MTcxOS00OS4yNjk1MzF6bS00MTMuNDc2NTYyIDE0NmMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY0MDYyIDAtNy4yNTc4MTMgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY0MDYzLTEzLjE2NDA2MyA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjMgMCA3LjI1NzgxMi01LjkwNjI1IDEzLjE2NDA2Mi0xMy4xNjQwNjIgMTMuMTY0MDYyem0wIDc4Ljg1NTQ2OWMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY3OTY5IDAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYzLTEzLjE2NDA2MiA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjIgMTMuMTY3OTY5em0wIDc4Ljg1MTU2MmMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY3OTY5IDAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYzLTEzLjE2NDA2MiA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjIgMTMuMTY3OTY5em0xMzAuNTM1MTU2IDEwMy4yNTM5MDdoLTEzLjc0NjA5NHYtMzIuMjE4NzVoMTMuNzQ2MDk0em0xNjYuMTUyMzQ0IDBoLTEzLjc0NjA5NHYtMzIuMjE4NzVoMTMuNzQ2MDk0em0xNTAuOTU3MDMxLTExMS43MDMxMjZjMCAzMi4yMzgyODItNDAuOTQxNDA2IDQ2LjYyMTA5NC02MS4wMzkwNjIgMjEuMDk3NjU3di0xNy4wODU5MzhjMy42ODM1OTMgMTEuMzIwMzEzIDE0LjMzNTkzNyAxOS41MjczNDQgMjYuODcxMDkzIDE5LjUyNzM0NCAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTc4MTMgMC0xNS41NzgxMjQtMTIuNjc1NzgyLTI4LjI1MzkwNi0yOC4yNTM5MDctMjguMjUzOTA2LTEyLjUzNTE1NiAwLTIzLjE4MzU5MyA4LjIwNzAzMi0yNi44NzEwOTMgMTkuNTI3MzQ0di02MS4zOTQ1MzFjMy42ODM1OTMgMTEuMzIwMzEyIDE0LjMzNTkzNyAxOS41MjczNDMgMjYuODcxMDkzIDE5LjUyNzM0MyAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTc4MTIgMC0xNS41NzgxMjUtMTIuNjc1NzgyLTI4LjI1MzkwNi0yOC4yNTM5MDctMjguMjUzOTA2LTEyLjUzNTE1NiAwLTIzLjE4MzU5MyA4LjIwNzAzMS0yNi44NzEwOTMgMTkuNTI3MzQ0di02MS4zOTg0MzhjMy42ODM1OTMgMTEuMzI0MjE5IDE0LjMzNTkzNyAxOS41MzEyNSAyNi44NzEwOTMgMTkuNTMxMjUgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEyIDAtMTUuNTc4MTI2LTEyLjY3NTc4Mi0yOC4yNTM5MDctMjguMjUzOTA3LTI4LjI1MzkwNy0xMy42MDU0NjkgMC0yNC45OTIxODcgOS42NjAxNTctMjcuNjY0MDYyIDIyLjQ4NDM3NS0xLjEyMTA5NC00LjcwNzAzMS0zLjM5ODQzOC04Ljk2ODc1LTYuNTExNzE5LTEyLjQ3NjU2MnYtNjUuMzIwMzEzYzAtMTguODQzNzUgMTUuMzMyMDMxLTM0LjE3OTY4NyAzNC4xNzk2ODgtMzQuMTc5Njg3IDE4Ljg0Mzc1IDAgMzQuMTY3OTY4IDE1LjMzNTkzNyAzNC4xNjc5NjggMzQuMTc5Njg3djI0NS45ODgyODF6bS00Ny4zMzIwMzEtNC43MTg3NWMwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2Mi0xMy4xNjQwNjIgNy4yNTc4MTMgMCAxMy4xNjQwNjMgNS45MDYyNSAxMy4xNjQwNjMgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYzIDEzLjE2Nzk2OS03LjI1NzgxMiAwLTEzLjE2NDA2Mi01LjkwNjI1LTEzLjE2NDA2Mi0xMy4xNjc5Njl6bTAtNzguODUxNTYyYzAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYyLTEzLjE2NDA2MiA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwNjI1IDEzLjE2NDA2MyAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjMgMTMuMTY3OTY5LTcuMjU3ODEyIDAtMTMuMTY0MDYyLTUuOTA2MjUtMTMuMTY0MDYyLTEzLjE2Nzk2OXptMC03OC44NTE1NjJjMC03LjI1NzgxMyA1LjkwNjI1LTEzLjE2NDA2MyAxMy4xNjQwNjItMTMuMTY0MDYzIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTA2MjUgMTMuMTY0MDYzIDEzLjE2NDA2MyAwIDcuMjU3ODEyLTUuOTA2MjUgMTMuMTY0MDYyLTEzLjE2NDA2MyAxMy4xNjQwNjItNy4yNTc4MTIgMC0xMy4xNjQwNjItNS45MDYyNS0xMy4xNjQwNjItMTMuMTY0MDYyem0wIDAiLz4KICAgIDxwYXRoIGQ9Im00NjIuNzM4MjgxIDI2LjIyNjU2MmMtMTUuNTgyMDMxIDAtMjguMjU3ODEyIDEyLjY3NTc4Mi0yOC4yNTc4MTIgMjguMjU3ODEzIDAgMTUuNTc4MTI1IDEyLjY3NTc4MSAyOC4yNTM5MDYgMjguMjU3ODEyIDI4LjI1MzkwNiAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTM5MDYgMC0xNS41ODIwMzEtMTIuNjc1NzgyLTI4LjI1NzgxMy0yOC4yNTM5MDctMjguMjU3ODEzem0wIDQxLjQyMTg3NmMtNy4yNjE3MTkgMC0xMy4xNjc5NjktNS45MDYyNS0xMy4xNjc5NjktMTMuMTY0MDYzIDAtNy4yNjE3MTkgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY3OTY5LTEzLjE2NDA2MyA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwMjM0NCAxMy4xNjQwNjMgMTMuMTY0MDYzIDAgNy4yNTc4MTMtNS45MDYyNSAxMy4xNjQwNjMtMTMuMTY0MDYzIDEzLjE2NDA2M3ptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Kitchen:mxe,"Laundry Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjEgMmgtNThjLS41NTIgMC0xIC40NDgtMSAxdjU4YzAgLjU1Mi40NDggMSAxIDFoNThjLjU1MiAwIDEtLjQ0OCAxLTF2LTU4YzAtLjU1Mi0uNDQ4LTEtMS0xem0tMSA2aC00di0yYzAtLjU1Mi0uNDQ4LTEtMS0xaC02Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyaC0zYy0uNTUyIDAtMSAuNDQ4LTEgMXY5aC0ydi0xNGgxOHptLTEyLjE0MiAzMS0xLjY5Mi0xMWg5LjY2OWwtMS42OTIgMTF6bTEuMTQyLTEzYzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTguNzU5LjM0OWMtLjE5LS4yMjItLjQ2Ny0uMzQ5LS43NTktLjM0OWgtMmMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNGgtMmMtLjI5MiAwLS41NjkuMTI3LS43NTkuMzQ5cy0uMjc0LjUxNS0uMjI5LjgwM2wxLjgyMyAxMS44NDhoLTMuODM1di0xOWgxOHYxOWgtMy44MzVsMS44MjMtMTEuODQ4Yy4wNDUtLjI4OC0uMDM5LS41ODItLjIyOS0uODAzem0tNy43NTktMTcuMzQ5di0yaDR2MTFoLTR6bS0yIDloLTJ2LThoMnptOCAwdi04aDR2OHptLTE2LTE0djE0aC0ydi0xMGMwLS41NTItLjQ0OC0xLTEtMWgtNmMtLjU1MiAwLTEgLjQ0OC0xIDF2MTBoLTJ2LTdjMC0uMjY1LS4xMDUtLjUyLS4yOTMtLjcwN2wtMS43MDctMS43MDd2LTIuNTg2YzAtLjU1Mi0uNDQ4LTEtMS0xaC00Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyLjU4NmwtMS43MDcgMS43MDdjLS4xODguMTg3LS4yOTMuNDQyLS4yOTMuNzA3djdoLTJ2LTEwYzAtLjU1Mi0uNDQ4LTEtMS0xaC04Yy0uNTUyIDAtMSAuNDQ4LTEgMXYxMGgtMnYtMTR6bS00IDE0aC00di05aDR6bS0xMS43MDctOC4yOTMgMS43MDcgMS43MDd2Ni41ODZoLTZ2LTYuNTg2bDEuNzA3LTEuNzA3Yy4xODgtLjE4Ny4yOTMtLjQ0Mi4yOTMtLjcwN3YtMmgydjJjMCAuMjY1LjEwNS41Mi4yOTMuNzA3em0tMTAuMjkzIDguMjkzaC02di05aDZ6bS0xMCAyaDM2djQwaC0zNnptNDUgMjhoLTJ2LTFoMnptLTMgMmg0LjY0OWw0LjM1MSAzLjQ4djYuNTJoLTl6bTExIDEwdi03YzAtLjMwNC0uMTM4LS41OTEtLjM3NS0uNzgxbC01LTRjLS4xNzgtLjE0Mi0uMzk4LS4yMTktLjYyNS0uMjE5di0yYzAtLjU1Mi0uNDQ4LTEtMS0xaC00Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyYy0uNTUyIDAtMSAuNDQ4LTEgMXYxMWgtMnYtMTloMTh2MTl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDIyaC0zMGMtLjU1MiAwLTEgLjQ0OC0xIDF2MzRjMCAuNTUyLjQ0OCAxIDEgMWgzMGMuNTUyIDAgMS0uNDQ4IDEtMXYtMzRjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDJ2NWgtMjh2LTV6bS0yOCAzMnYtMjVoMjh2MjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyIDMzYy02LjA2NSAwLTExIDQuOTM1LTExIDExczQuOTM1IDExIDExIDExIDExLTQuOTM1IDExLTExLTQuOTM1LTExLTExLTExem0wIDIwYy00Ljk2MiAwLTktNC4wMzgtOS05czQuMDM4LTkgOS05IDkgNC4wMzggOSA5LTQuMDM4IDktOSA5eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNi4xOTkgNDguMjg2IDEuMzk5IDEuNDI5Yy42NzctLjY2MyAxLjIyNi0xLjQzMiAxLjYzMS0yLjI4NmwtMS44MDctLjg1N2MtLjMwMy42MzktLjcxNCAxLjIxNi0xLjIyMyAxLjcxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjIgMzZ2MmMzLjMwOSAwIDYgMi42OTEgNiA2aDJjMC00LjQxMS0zLjU4OS04LTgtOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTAgMjVoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNCAyNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDI1aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+","Living Area":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTQuNSAyNzcuNjY3aC01LjV2LTM2LjVjMC0xNS4xNjQtMTIuMzM2LTI3LjUtMjcuNS0yNy41aC0xMTBjLTcuODc1IDAtMTQuOTgyIDMuMzMyLTIwIDguNjU1LTUuMDE4LTUuMzIyLTEyLjEyNS04LjY1NS0yMC04LjY1NWgtMTEwYy03Ljg3NSAwLTE0Ljk4MiAzLjMzMi0yMCA4LjY1NS01LjAxOC01LjMyMi0xMi4xMjUtOC42NTUtMjAtOC42NTVoLTQwLjVjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoNDAuNWM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djc3LjAxOGMtMy43NTMtMS45MjQtOC0zLjAxOC0xMi41LTMuMDE4aC0xMDEuNXYtMjBjMC05LjY0OS03Ljg1MS0xNy41LTE3LjUtMTcuNWgtMy41di0zNi41YzAtNi44OTMgNS42MDctMTIuNSAxMi41LTEyLjVoMzQuNWM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtMzQuNWMtMTUuMTY0IDAtMjcuNSAxMi4zMzYtMjcuNSAyNy41djM2LjVoLTYuNWMtOS42NDkgMC0xNy41IDcuODUxLTE3LjUgMTcuNXY0Mi41YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTQyLjVjMC0xLjM3OCAxLjEyMi0yLjUgMi41LTIuNWgyNWMxLjM3OCAwIDIuNSAxLjEyMiAyLjUgMi41djE0MC41aC0yNy41Yy0xLjM3OCAwLTIuNS0xLjEyMi0yLjUtMi41di02MC41YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djYwLjVjMCA5LjY0OSA3Ljg1MSAxNy41IDE3LjUgMTcuNWgyNy41djE0LjY2N2MwIDYuODkzIDUuNjA3IDEyLjUgMTIuNSAxMi41aDI1YzYuODkzIDAgMTIuNS01LjYwNyAxMi41LTEyLjV2LTE0LjY2N2gzMjJ2MTQuNjY3YzAgNi44OTMgNS42MDcgMTIuNSAxMi41IDEyLjVoMjVjNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtMTQuNjY3aDI3LjVjOS42NDkgMCAxNy41LTcuODUxIDE3LjUtMTcuNXYtMTM4YzAtOS42NS03Ljg1MS0xNy41LTE3LjUtMTcuNXptLTE0My00OWgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXYzNi41aC00LjVjLTkuNjQ5IDAtMTcuNSA3Ljg1MS0xNy41IDE3LjV2MjBoLTEwMC41Yy00LjUgMC04Ljc0NyAxLjA5My0xMi41IDMuMDE4di03Ny4wMThjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNXptLTI5MS41IDIwN3YtMTVoMzI2YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0zMjZ2LTE1LjVoMTAxLjVjNy44NzUgMCAxNC45ODItMy4zMzIgMjAtOC42NTUgNS4wMTggNS4zMjIgMTIuMTI1IDguNjU1IDIwIDguNjU1aDExMGM3Ljg3NSAwIDE0Ljk4Mi0zLjMzMiAyMC04LjY1NSA1LjAxOCA1LjMyMiAxMi4xMjUgOC42NTUgMjAgOC42NTVoMTAwLjV2MTUuNWgtMzFjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoMzF2MTV6bTM5Mi02MC41aC0xMDAuNWMtNi44OTMgMC0xMi41LTUuNjA3LTEyLjUtMTIuNXYtMjBjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgxMDAuNXptLTEyOC0xMi41YzAgNi44OTMtNS42MDcgMTIuNS0xMi41IDEyLjVoLTExMGMtNi44OTMgMC0xMi41LTUuNjA3LTEyLjUtMTIuNXYtMjBjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXptLTEyMi41LTEzNGgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXY3Ny4wMThjLTMuNzUzLTEuOTI0LTgtMy4wMTgtMTIuNS0zLjAxOGgtMTEwYy00LjUgMC04Ljc0NyAxLjA5My0xMi41IDMuMDE4di03Ny4wMThjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNXptLTQwIDEwMS41YzYuODkzIDAgMTIuNSA1LjYwNyAxMi41IDEyLjV2MjBjMCA2Ljg5My01LjYwNyAxMi41LTEyLjUgMTIuNWgtMTAxLjV2LTQ1em0tODEuNSAxMzIuNjY2aC0yMHYtMTIuMTY3aDIwem0zNTIgMHYtMTIuMTY3aDIwdjEyLjE2N3ptNjUtMjkuNjY2YzAgMS4zNzgtMS4xMjIgMi41LTIuNSAyLjVoLTI3LjV2LTE0MC41YzAtMS4zNzggMS4xMjItMi41IDIuNS0yLjVoMjVjMS4zNzggMCAyLjUgMS4xMjIgMi41IDIuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAuNDkgMTMwLjE2N2gxMTIuMDJjNi44ODcgMCAxMi40OS01LjYwMyAxMi40OS0xMi40OXYtMTYuNTQ5YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djE0LjAzOWgtMTA3di02NmgxMDd2MTYuOTYxYzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTE5LjQ3MmMwLTYuODg3LTUuNjAzLTEyLjQ5LTEyLjQ5LTEyLjQ5aC0xMTIuMDJjLTYuODg3IDAtMTIuNDkgNS42MDMtMTIuNDkgMTIuNDl2NzEuMDIxYzAgNi44ODYgNS42MDMgMTIuNDkgMTIuNDkgMTIuNDl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIzMS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM4MS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwMC4yMzIgMjQ3LjIxNWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjhjNy4zNDkgNC44MjggMTMuNTIyIDExLjAwMiAxOC4zNTEgMTguMzUxIDEuMzg3IDIuMTEgMy43NDMgMy4zODEgNi4yNjggMy4zODFzNC44ODEtMS4yNzEgNi4yNjgtMy4zODFjNC44MjgtNy4zNDkgMTEuMDAyLTEzLjUyMiAxOC4zNTEtMTguMzUxIDIuMTEtMS4zODcgMy4zODEtMy43NDMgMy4zODEtNi4yNjhzLTEuMjcxLTQuODgxLTMuMzgxLTYuMjY4Yy03LjM0OS00LjgyOC0xMy41MjItMTEuMDAyLTE4LjM1MS0xOC4zNTEtMS4zODctMi4xMS0zLjc0My0zLjM4MS02LjI2OC0zLjM4MXMtNC44ODEgMS4yNy02LjI2OCAzLjM4MXptMTQuMzQ0IDI0LjYxOGMtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTQgNS41ODMtNS4xODkgOC4wNzYtOC4wNzYgMi40OTQgMi44ODggNS4xODkgNS41ODMgOC4wNzYgOC4wNzZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Living Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NzMsMzMxLjkxNlYyNzMuNjQ4QTM5LjcxLDM5LjcxLDAsMCwwLDQzMy4zMjgsMjM0SDM3NlYxNzBoNDQuMDA5YTYuMjg5LDYuMjg5LDAsMCwwLDUuNzQ3LTguMDJMNDA0LjgzMSw5Mi4yNDhBNS45NzYsNS45NzYsMCwwLDAsMzk5LjA4NCw4OEgzNDAuOTE2YTUuOTMyLDUuOTMyLDAsMCwwLTUuNzQ3LDQuMkwzMTQuMjQ0LDE2MS45MmE2LjM3Miw2LjM3MiwwLDAsMCwuOTM0LDUuNDgzLDYuMTc2LDYuMTc2LDAsMCwwLDQuODEzLDIuNkgzNjR2NjRIODguNjc1QTM5LjcxMywzOS43MTMsMCwwLDAsNDksMjczLjY0OHY1OC4yNjhhMzkuNDE3LDM5LjQxNywwLDAsMC0zNywzOS41NTZWNDYzLjFhNS45MTUsNS45MTUsMCwwLDAsNiw1LjlIMzV2MzBhNi4yNDYsNi4yNDYsMCwwLDAsNi4yOCw2aDY3Ljg2N0E1Ljg3Nyw1Ljg3NywwLDAsMCwxMTUsNDk5VjQ2OUg0MDd2MzBhNS44NzksNS44NzksMCwwLDAsNS44NTUsNmg2Ny44NjlBNi4yNDMsNi4yNDMsMCwwLDAsNDg3LDQ5OVY0NjloMTdhNS45MTMsNS45MTMsMCwwLDAsNi01LjlWMzcxLjQ3MkEzOS40MTcsMzkuNDE3LDAsMCwwLDQ3MywzMzEuOTE2Wk0zNDUuMzgxLDEwMGg0OS4yMzhsMTcuMzI2LDU4aC04My44OVpNODguNjc1LDI0Nkg0MzMuMzI4QTI3LjcsMjcuNywwLDAsMSw0NjEsMjczLjY0OHY1OS4zYTM5Ljg1NCwzOS44NTQsMCwwLDAtMzAsMzguNTI2VjM5MEg5MVYzNzEuNDcyYTM5Ljg1NCwzOS44NTQsMCwwLDAtMzAtMzguNTI2di01OS4zQTI3LjcsMjcuNywwLDAsMSw4OC42NzUsMjQ2Wk0xMDMsNDkzSDQ3VjQ2OWg1NlptMzcyLDBINDE5VjQ2OWg1NlptMjMtMzZIMjRWMzcxLjQ3MmEyNy41LDI3LjUsMCwxLDEsNTUsMFYzOTUuOGE2LjQ0OCw2LjQ0OCwwLDAsMCw2LjMxLDYuMkg0MzYuNjkzQTYuNDQ1LDYuNDQ1LDAsMCwwLDQ0MywzOTUuOFYzNzEuNDcyYTI3LjUsMjcuNSwwLDEsMSw1NSwwWiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTQsMjAzLjIzOFY1Ni42MjZBNS42NCw1LjY0LDAsMCwwLDIwOC4wNjIsNTFoLTUzLjkyTDExMi4yNzIsOC45NDRhNS43MzcsNS43MzcsMCwwLDAtOC40ODQuMDQ3TDYxLjkxOSw1MUg4YTUuNjkzLDUuNjkzLDAsMCwwLTYsNS42MjZWMjAzLjIzOEE1LjgsNS44LDAsMCwwLDgsMjA5SDIwOC4wNjJBNS43NDksNS43NDksMCwwLDAsMjE0LDIwMy4yMzhaTTE3NCwxMzEuOGwtNDIuMjMsMTkuNjg2TDgwLjM2NSwxMTYuNDQzYTYuMjQ1LDYuMjQ1LDAsMCwwLTcuMTMxLjE2M0w0MSwxNDAuNjg2Vjg3SDE3NFpNNDEsMTU1LjY4OWwzNi4wNjItMjYuOTExLDUwLjg4NSwzNC41NDJhNi4xNyw2LjE3LDAsMCwwLDMuNDI3LDEuMDM5LDUuMTY5LDUuMTY5LDAsMCwwLDIuMzMyLS41NTdMMTc0LDE0NS4wMjVWMTczSDQxWk0xNzguMTU1LDc1SDM3LjY4OUwyMy4yNDMsNjNIMTkyLjVaTTI5LDg0LjA5MVYxNzYuMkwxNCwxODkuOTI4VjcwLjQ3M1pNMzcuNywxODVIMTc4LjE0bDEzLjc2NywxMkgyMy44MzVaTTE4NiwxNzYuMjFWODQuMDc4bDE2LTEzLjlWMTkwLjIyNlpNMTA4LjAzLDIxLjg1OSwxMzcuMTcyLDUxSDc4Ljg4OVoiLz4KICAgICAgICA8cGF0aCBkPSJNMTI4LjM3NCwxMzMuMmEyMC4yMTQsMjAuMjE0LDAsMSwwLTIwLjIxNC0yMC4yMTRBMjAuMjM2LDIwLjIzNiwwLDAsMCwxMjguMzc0LDEzMy4yWm0wLTI4LjQyN2E4LjIxNCw4LjIxNCwwLDEsMS04LjIxNCw4LjIxM0E4LjIyMyw4LjIyMywwLDAsMSwxMjguMzc0LDEwNC43NjhaIi8+CiAgICAgICAgPHBhdGggZD0iTTM0OC43ODcsMzA4LjQ0YTIyLjA4NywyMi4wODcsMCwwLDAsMCwyMS42NjJsLTguNDc5LDguNDc5YTYsNiwwLDEsMCw4LjQ4NCw4LjQ4NWw4LjQ3OS04LjQ4YTIyLjA5LDIyLjA5LDAsMCwwLDIxLjY2MiwwbDguNDc4LDguNDc5YTYsNiwwLDAsMCw4LjQ4Ni04LjQ4NWwtOC40ODctOC40ODhhMjIuMjExLDIyLjIxMSwwLDAsMCwwLTIxLjY0NGw4LjQ4Ny04LjQ4OGE2LDYsMCwwLDAtOC40ODYtOC40ODVsLTguNDc4LDguNDc5YTIyLjA5MiwyMi4wOTIsMCwwLDAtMjEuNjYxLDBsLTguNDgtOC40NzlhNiw2LDAsMSwwLTguNDg0LDguNDg1Wm0xOS4zMTYuNjc4YTEwLjE1NiwxMC4xNTYsMCwxLDEtNy4xNzksMi45NzRBMTAuMDgzLDEwLjA4MywwLDAsMSwzNjguMSwzMDkuMTE4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMzguNzg3LDMwOC40NGEyMi4wODcsMjIuMDg3LDAsMCwwLDAsMjEuNjYybC04LjQ3OSw4LjQ3OWE2LDYsMCwxLDAsOC40ODQsOC40ODVsOC40NzktOC40OGEyMi4wOSwyMi4wOSwwLDAsMCwyMS42NjIsMGw4LjQ3OCw4LjQ3OWE2LDYsMCwwLDAsOC40ODYtOC40ODVsLTguNDg3LTguNDg4YTIyLjIxMSwyMi4yMTEsMCwwLDAsMC0yMS42NDRsOC40ODctOC40ODhhNiw2LDAsMCwwLTguNDg2LTguNDg1bC04LjQ3OCw4LjQ3OWEyMi4wOTIsMjIuMDkyLDAsMCwwLTIxLjY2MSwwbC04LjQ4LTguNDc5YTYsNiwwLDEsMC04LjQ4NCw4LjQ4NVptMTkuMzE2LjY3OGExMC4xNTYsMTAuMTU2LDAsMSwxLTcuMTc5LDIuOTc0QTEwLjA4MywxMC4wODMsMCwwLDEsMjU4LjEsMzA5LjExOFoiLz4KICAgICAgICA8cGF0aCBkPSJNMTI4Ljc4NywzMDguNDRhMjIuMDg3LDIyLjA4NywwLDAsMCwwLDIxLjY2MmwtOC40NzksOC40NzlhNiw2LDAsMSwwLDguNDg0LDguNDg1bDguNDc5LTguNDhhMjIuMDksMjIuMDksMCwwLDAsMjEuNjYyLDBsOC40NzgsOC40NzlhNiw2LDAsMCwwLDguNDg2LTguNDg1bC04LjQ4Ny04LjQ4OGEyMi4yMTEsMjIuMjExLDAsMCwwLDAtMjEuNjQ0bDguNDg3LTguNDg4YTYsNiwwLDAsMC04LjQ4Ni04LjQ4NWwtOC40NzgsOC40NzlhMjIuMDkyLDIyLjA5MiwwLDAsMC0yMS42NjEsMGwtOC40OC04LjQ3OWE2LDYsMCwxLDAtOC40ODQsOC40ODVabTE5LjMxNi42NzhhMTAuMTU2LDEwLjE1NiwwLDEsMS03LjE3OSwyLjk3NEExMC4wODMsMTAuMDgzLDAsMCwxLDE0OC4xLDMwOS4xMThaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=","Locker Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMjMgNGgtMTVjLTIuMjA5MTM5IDAtNCAxLjc5MDg2MS00IDR2MzRjMCAyLjIwOTEzOSAxLjc5MDg2MSA0IDQgNGg2Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC02Yy0xLjEwNDU2OTUgMC0yLS44OTU0MzA1LTItMnYtMzRjMC0xLjEwNDU2OTUuODk1NDMwNS0yIDItMmgxNWMxLjEwNDU2OTUgMCAyIC44OTU0MzA1IDIgMnYxMi4wNWMwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTEyLjA1YzAtMi4yMDkxMzktMS43OTA4NjEtNC00LTR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExIDEyaDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExIDE2aDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxIDE5YzAtLjU1MjI4NDctLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDFoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im05IDM1Yy0uNTUyMjg0NzUgMC0xIC40NDc3MTUzLTEgMXY1YzAgLjU1MjI4NDcuNDQ3NzE1MjUgMSAxIDFoM2MuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtMnYtNGMwLS41NTIyODQ3LS40NDc3MTUyNS0xLTEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNTIgMGgtMTVjLTIuOTEyMjE0Mi4wMDE4MDY5MS01LjU5MzQwMDggMS41ODYwMDUxOC03IDQuMTM2LTEuNDA2NTk5Mi0yLjU0OTk5NDgyLTQuMDg3Nzg1OC00LjEzNDE5MzA5LTctNC4xMzZoLTE1Yy00LjQxNjIyMTkyLjAwNDk1OTg4LTcuOTk1MDQwMTIgMy41ODM3NzgwOC04IDh2MzRjLjAwNDk1OTg4IDQuNDE2MjIxOSAzLjU4Mzc3ODA4IDcuOTk1MDQwMSA4IDhoNmMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtNmMtMy4zMTIzMzc1Ny0uMDAzMzA3NC01Ljk5NjY5MjYyLTIuNjg3NjYyNC02LTZ2LTM0Yy4wMDMzMDczOC0zLjMxMjMzNzU3IDIuNjg3NjYyNDMtNS45OTY2OTI2MiA2LTZoMTVjMy4zMTIzMzc2LjAwMzMwNzM4IDUuOTk2NjkyNiAyLjY4NzY2MjQzIDYgNnYxMmMwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTEyYy4wMDMzMDc0LTMuMzEyMzM3NTcgMi42ODc2NjI0LTUuOTk2NjkyNjIgNi02aDE1YzMuMzEyMzM3Ni4wMDMzMDczOCA1Ljk5NjY5MjYgMi42ODc2NjI0MyA2IDZ2MzRjLS4wMDMzMDc0IDMuMzEyMzM3Ni0yLjY4NzY2MjQgNS45OTY2OTI2LTYgNmgtNmMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMWg2YzQuNDE2MjIxOS0uMDA0OTU5OSA3Ljk5NTA0MDEtMy41ODM3NzgxIDgtOHYtMzRjLS4wMDQ5NTk5LTQuNDE2MjIxOTItMy41ODM3NzgxLTcuOTk1MDQwMTItOC04eiIvPgogICAgICAgIDxwYXRoIGQ9Im00NiA0Nmg2YzIuMjA5MTM5IDAgNC0xLjc5MDg2MSA0LTR2LTM0YzAtMi4yMDkxMzktMS43OTA4NjEtNC00LTRoLTE1Yy0yLjIwOTEzOSAwLTQgMS43OTA4NjEtNCA0djEyLjA1YzAgLjU1MjI4NDcuNDQ3NzE1MyAxIDEgMXMxLS40NDc3MTUzIDEtMXYtMTIuMDVjMC0xLjEwNDU2OTUuODk1NDMwNS0yIDItMmgxNWMxLjEwNDU2OTUgMCAyIC44OTU0MzA1IDIgMnYzNGMwIDEuMTA0NTY5NS0uODk1NDMwNSAyLTIgMmgtNmMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMTJoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMTZoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMjBoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDkgMjd2M2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTNjMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMXMtMSAuNDQ3NzE1My0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI3IDIzYy0zLjg2NDE2NTcuMDA0NDA4Ni02Ljk5NTU5MTQgMy4xMzU4MzQzLTcgN3Y2Yy0xLjY1Njg1NDIgMC0zIDEuMzQzMTQ1OC0zIDN2MThjMCAxLjY1Njg1NDIgMS4zNDMxNDU4IDMgMyAzaDIwYzEuNjU2ODU0MiAwIDMtMS4zNDMxNDU4IDMtM3YtMThjMC0xLjY1Njg1NDItMS4zNDMxNDU4LTMtMy0zdi02Yy0uMDA0NDA4Ni0zLjg2NDE2NTctMy4xMzU4MzQzLTYuOTk1NTkxNC03LTd6bTE0IDE2djE4YzAgLjU1MjI4NDctLjQ0NzcxNTMgMS0xIDFoLTIwYy0uNTUyMjg0NyAwLTEtLjQ0NzcxNTMtMS0xdi0xOGMwLS41NTIyODQ3LjQ0NzcxNTMtMSAxLTFoMjBjLjU1MjI4NDcgMCAxIC40NDc3MTUzIDEgMXptLTctM2gtOHYtNmMwLS41NTIyODQ3LjQ0NzcxNTMtMSAxLTFoNmMuNTUyMjg0NyAwIDEgLjQ0NzcxNTMgMSAxem00LTZ2NmgtMnYtNmMwLTEuNjU2ODU0Mi0xLjM0MzE0NTgtMy0zLTNoLTZjLTEuNjU2ODU0MiAwLTMgMS4zNDMxNDU4LTMgM3Y2aC0ydi02Yy4wMDMzMDYxLTIuNzYwMDUzMiAyLjIzOTk0NjgtNC45OTY2OTM5IDUtNWg2YzIuNzYwMDUzMi4wMDMzMDYxIDQuOTk2NjkzOSAyLjIzOTk0NjggNSA1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMS4yMTMgNDEuMTQ0Yy0xLjUwNDE3Mi0uMzY5MzcyNy0zLjA5NDY0MjYtLjAyNTYwNjgtNC4zMTIuOTMyLTEuMjE3ODgzNC45NjE4MTM0LTEuOTIwMTI3NSAyLjQzNDYwODktMS45MDA3NDAzIDMuOTg2MzY1Ny4wMTkzODcxIDEuNTUxNzU2OC43NTgyMDc2IDMuMDA2NTQ4MSAxLjk5OTc0MDMgMy45Mzc2MzQzdjNjMCAxLjY1Njg1NDIgMS4zNDMxNDU4IDMgMyAzczMtMS4zNDMxNDU4IDMtM3YtM2MxLjU0NDUxMDctMS4xNTY5NTQ0IDIuMjg1MzQ5Mi0zLjA5OTQ1NTcgMS45MDM1MTkxLTQuOTkxMDg1Mi0uMzgxODMwMS0xLjg5MTYyOTYtMS44MTgxNTg3LTMuMzk0NjY0My0zLjY5MDUxOTEtMy44NjE5MTQ4em0uNTg3IDcuMjU2Yy0uNDk3MTQ3OS4zNTc2MDY2LS43OTQyNDAxLjkzMDYyMzItLjggMS41NDN2My4wNTdjMCAuNTUyMjg0Ny0uNDQ3NzE1MyAxLTEgMXMtMS0uNDQ3NzE1My0xLTF2LTMuMDgxYy0uMDA1NzA4Mi0uNjAyMDUyMi0uMjk5NDI1OS0xLjE2NDk0OTItLjc5LTEuNTE0LTEuMDM1MDU1My0uNzcxNzg3Mi0xLjQ2MDIxNjQtMi4xMTkyNTA3LTEuMDU1NTM2NC0zLjM0NTMxMzFzMS41NDg0MjEtMi4wNTU2ODY3IDIuODM5NTM2NC0yLjA1OTY4NjljLjI1NTAzMDkuMDAwNTA4NS41MDkxMTQ0LjAzMTA1MjIuNzU3LjA5MSAxLjA1NTg2OC4yNjMyNDYxIDEuODgyOTA3IDEuMDgzMzc3MiAyLjE1NSAyLjEzNy4zMTMzNzQ2IDEuMTgzOTY5NS0uMTI0NDE2NSAyLjQzOTU1MTItMS4xMDYgMy4xNzJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Nursery:Oxe,Office:Exe,Outdoors:fxe,Playroom:xxe,Pool:_xe,"Rear Wall":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2Nyw4LjUzM0gzODRjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3YxMTkuNDY3VjI1NnY1MS4yaC02OS43MzVjMC45NDgtMi42NzEsMS40NjgtNS41NDIsMS40NjgtOC41MzMKCQkJCWMwLTE0LjExNC0xMS40ODYtMjUuNi0yNS42LTI1LjZoLTE3LjA2N1YyNTZoODUuMzMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxMTAuOTMzYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzMKCQkJCUgxNjIuMTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTM2LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDg1LjMzM3YxNy4wNjdIMjMwLjQKCQkJCWMtMTQuMTE0LDAtMjUuNiwxMS40ODYtMjUuNiwyNS42YzAsMi45OTEsMC41MjEsNS44NjIsMS40NjgsOC41MzNoLTY5LjczNVYyNTZWMTM2LjUzM1YxNy4wNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzMwoJCQkJSDguNTMzQzMuODIzLDguNTMzLDAsMTIuMzQ4LDAsMTcuMDY3djExOS40NjdWMjU2djExOS40Njd2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDEyOGgyNTZoMTE5LjQ2NwoJCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YzNzUuNDY3VjI1NlYxMzYuNTMzVjE3LjA2N0M1MTIsMTIuMzQ4LDUwOC4xNzcsOC41MzMsNTAzLjQ2Nyw4LjUzM3ogTTE3MC42NjcsMTUzLjZoMTcwLjY2NwoJCQkJdjUxLjJIMTcwLjY2N1YxNTMuNnogTTM0MS4zMzMsMTE5LjQ2N3YxNy4wNjdIMTcwLjY2N3YtMTcuMDY3SDM0MS4zMzN6IE0xNzAuNjY3LDIyMS44NjdoMTcwLjY2N3YxNy4wNjdIMTcwLjY2N1YyMjEuODY3egoJCQkJIE0zNzUuNDY3LDQ4Ni40SDI2NC41MzN2LTkzLjg2N2g1MS4yaDU5LjczM1Y0ODYuNHogTTMwNy4yLDM3NS40NjdIMjA0LjhWMzU4LjRoMTAyLjRWMzc1LjQ2N3ogTTQ5NC45MzMsMjQ3LjQ2N2gtMTcuMDY3VjE3OS4yCgkJCQljMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM2gtMjUuNmgtMjUuNmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjY4LjI2N2gtMTcuMDY3di0xMDIuNGgxMDIuNFYyNDcuNDY3egoJCQkJIE00MjYuNjY3LDI0Ny40Njd2LTU5LjczM2g4LjUzM3Y1OS43MzNINDI2LjY2N3ogTTQ1Mi4yNjcsMTg3LjczM2g4LjUzM3Y1OS43MzNoLTguNTMzVjE4Ny43MzN6IE0zOTIuNTMzLDMxNS43MzN2LTUxLjJoMjUuNgoJCQkJaDI1LjZoMjUuNmgyNS42djEwMi40aC0xMDIuNFYzMTUuNzMzeiBNMzkyLjUzMywyNS42aDEwMi40VjEyOGgtMTAyLjRWMjUuNnogTTIyMS44NjcsMjk4LjY2N2MwLTQuNzEsMy44MzEtOC41MzMsOC41MzMtOC41MzMKCQkJCWg1MS4yYzQuNzAyLDAsOC41MzMsMy44MjMsOC41MzMsOC41MzNzLTMuODMxLDguNTMzLTguNTMzLDguNTMzaC01MS4yQzIyNS42OTgsMzA3LjIsMjIxLjg2NywzMDMuMzc3LDIyMS44NjcsMjk4LjY2N3oKCQkJCSBNMjMwLjQsMzI0LjI2N2g1MS4yaDkzLjg2N3Y1MS4yaC01MS4yVjM1OC40YzAtOS40MTItNy42NTQtMTcuMDY3LTE3LjA2Ny0xNy4wNjdIMjA0LjhjLTkuNDEyLDAtMTcuMDY3LDcuNjU0LTE3LjA2NywxNy4wNjcKCQkJCXYxNy4wNjdoLTUxLjJ2LTUxLjJIMjMwLjR6IE01MS4yLDMzMi44aDM0LjEzM3Y4LjUzM0g1MS4yVjMzMi44eiBNODUuMzMzLDMxNS43MzNINTEuMlYzMDcuMmgzNC4xMzNWMzE1LjczM3ogTTUxLjIsMzU4LjQKCQkJCWgzNC4xMzN2OC41MzNINTEuMlYzNTguNHogTTEwMi40LDM0OS44Njd2LTI1LjZ2LTI1LjZjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzCgkJCQl2MjUuNnYyNS42djE3LjA2N0gxNy4wNjd2LTEwMi40aDEwMi40djUxLjJ2NTEuMkgxMDIuNFYzNDkuODY3eiBNNTkuNzMzLDExMC45MzNINzYuOFYxMjhINTkuNzMzVjExMC45MzN6IE01MS4yLDE0NS4wNjdoMzQuMTMzCgkJCQloMzQuMTMzdjEwMi40aC0xMDIuNHYtMTAyLjRINTEuMnogTTE3LjA2NywyNS42aDEwMi40VjEyOGgtMjUuNnYtMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzMwoJCQkJYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTguNTMzSDUxLjJoLTguNTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1YxMjgKCQkJCWgtMjUuNlYyNS42eiBNMTcuMDY3LDM4NGgyNS42aDUxLjJoMjUuNnYxMDIuNGgtMTAyLjRWMzg0eiBNMTM2LjUzMywzOTIuNTMzaDU5LjczM2g1MS4yVjQ4Ni40SDEzNi41MzNWMzkyLjUzM3ogTTQ5NC45MzMsNDg2LjQKCQkJCWgtMTcuMDY3di02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjcKCQkJCWMwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjgxNC04LjUzMyw4LjUzM1Y0ODYuNGgtOC41MzN2LTY4LjI2N2MwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzCgkJCQlzLTguNTMzLDMuODE0LTguNTMzLDguNTMzVjQ4Ni40aC0xNy4wNjdWMzg0aDEwMi40VjQ4Ni40eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjEuODY3LDQwOS42SDIwNC44Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoOC41MzN2OC41MzMKCQkJCWMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM3YtMTcuMDY3QzIzMC40LDQxMy40MTQsMjI2LjU3Nyw0MDkuNiwyMjEuODY3LDQwOS42eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDcuMiw0MDkuNmgtMTcuMDY3Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDM1LjJjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgxNCw4LjUzMy04LjUzMwoJCQkJdi04LjUzM2g4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNTMzExLjkxLDQwOS42LDMwNy4yLDQwOS42eiIvPgogICAgPC9nPgo8L3N2Zz4K","Second Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBzdHJva2U9IiIgZD0iTTQ3Ny40NDQsNDcxLjAzNGgtMy44MzNjLTMuNjc5LTE0LjQzNS0xNS45MjYtMjUuMzU2LTMwLjg1OS0yNy4yNDFWMzA4LjU4N2gyLjEzOGM5LjkxNywwLDE3Ljk4NS04LjA2OCwxNy45ODUtMTcuOTg2CgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNAoJCQljMC0wLjAzMy0wLjAwNS0wLjA2NS0wLjAwNS0wLjA5OGMtMC4wMDEtMC4wOTgtMC4wMDktMC4xOTYtMC4wMTUtMC4yOTRjLTAuMDA5LTAuMTcxLTAuMDIxLTAuMzQyLTAuMDQyLTAuNTEKCQkJYy0wLjAxMS0wLjA4OS0wLjAyNi0wLjE3Ny0wLjA0MS0wLjI2NmMtMC4wMjktMC4xODMtMC4wNjUtMC4zNjQtMC4xMDgtMC41NDJjLTAuMDEtMC4wNC0wLjAxNC0wLjA4MS0wLjAyNC0wLjEyMUw0NDYuMTIzLDI1LjQyCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQKCQkJSDMzNS4zNzJMMjkyLjM0NywyOS43aDQ1Ljg2NmM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3YzAtNC4wMjUtMy4yNjItNy4yODctNy4yODctNy4yODdoLTU1LjU5NmwtMC45MjYtMS4zODcKCQkJQzI3NS45NDgsNS4xMzcsMjY2LjM0MiwwLDI1NS45OTcsMGMtMTAuMzQ1LDAtMTkuOTUsNS4xMzYtMjUuNjk0LDEzLjczOWwtMC45MjcsMS4zODhINzkuMTc4CgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyCgkJCWMtMC4wMTQsMC4wODktMC4wMywwLjE3Ny0wLjA0MSwwLjI2NmMtMC4wMjEsMC4xNjgtMC4wMzMsMC4zMzgtMC4wNDIsMC41MWMtMC4wMDUsMC4wOTgtMC4wMTQsMC4xOTYtMC4wMTUsMC4yOTQKCQkJYzAsMC4wMzMtMC4wMDUsMC4wNjUtMC4wMDUsMC4wOTh2MTQuOTA0YzAsNy4xOTcsNS44NTUsMTMuMDUyLDEzLjA1MiwxMy4wNTJoOS44MTV2MTQzLjIzM2gtMi4xMzgKCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3CgkJCXM3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtNDYuNjk2aDM0NC4zNjR2MTI5LjMxMWMtMC4wNTUtMC4wMzItMC4xMTMtMC4wNi0wLjE2OS0wLjA5MmMtMC43MTQtMC40MTUtMS40MzktMC44MS0yLjE3Ni0xLjE4MgoJCQljLTAuMTQ0LTAuMDczLTAuMjkxLTAuMTM5LTAuNDM1LTAuMjFjLTAuNjE0LTAuMzAyLTEuMjM1LTAuNTg4LTEuODYzLTAuODU5Yy0wLjIxMy0wLjA5Mi0wLjQyNS0wLjE4My0wLjYzOS0wLjI3MgoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2CgkJCWMtMC4yMTktMC4wNjItMC40NC0wLjExOC0wLjY2LTAuMTc2Yy0wLjY0Mi0wLjE2OS0xLjI4OS0wLjMyMy0xLjk0LTAuNDYyYy0wLjE4OC0wLjA0LTAuMzc1LTAuMDg1LTAuNTY0LTAuMTIzCgkJCWMtMC44MTItMC4xNjItMS42MjktMC4zLTIuNDUxLTAuNDE0Yy0wLjE3OC0wLjAyNS0wLjM1OC0wLjA0Mi0wLjUzNy0wLjA2NGMtMC42NzEtMC4wODQtMS4zNDUtMC4xNTItMi4wMjItMC4yMDQKCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUKCQkJYy0wLjg0Ni0wLjAyLTEuNjg0LDAuMDAxLTIuNTE2LDAuMDQ2Yy0wLjE5NSwwLjAxMS0wLjM4NywwLjAzNC0wLjU4MSwwLjA0OGMtMC42MzYsMC4wNDctMS4yNjgsMC4xMDctMS44OTQsMC4xOQoJCQljLTAuMjMsMC4wMzEtMC40NTgsMC4wNzEtMC42ODYsMC4xMDdjLTAuNTg2LDAuMDkyLTEuMTY4LDAuMTk3LTEuNzQ0LDAuMzIxYy0wLjIzNCwwLjA1LTAuNDY1LDAuMTA0LTAuNjk3LDAuMTU5CgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQKCQkJYy0wLjE3MSwwLjA2Ny0wLjM0NSwwLjEyNy0wLjUxNSwwLjE5N2MtMC43MDUsMC4yOS0xLjM5OSwwLjYwMi0yLjA3OSwwLjk0MWMtMC4wMjgsMC4wMTQtMC4wNTgsMC4wMjYtMC4wODYsMC4wNAoJCQljLTAuNzMzLDAuMzY5LTEuNDUsMC43NjYtMi4xNSwxLjE5Yy0wLjA2NiwwLjA0LTAuMTI5LDAuMDg2LTAuMTk1LDAuMTI3Yy0wLjYsMC4zNy0xLjE4NywwLjc1OS0xLjc2LDEuMTY5CgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQoJCQljLTAuMzkxLDAuMzQ1LTAuNzc0LDAuNjk4LTEuMTQ4LDEuMDYzYy0wLjIwMSwwLjE5Ni0wLjQwMSwwLjM5NC0wLjU5NywwLjU5NmMtMC4zNjUsMC4zNzYtMC43MTcsMC43NjMtMS4wNjQsMS4xNTgKCQkJYy0wLjE3OCwwLjIwMy0wLjM1OSwwLjQwNC0wLjUzMywwLjYxMmMtMC4zNjcsMC40NDEtMC43MTcsMC44OTctMS4wNiwxLjM1OWMtMC4xMzEsMC4xNzYtMC4yNjksMC4zNDYtMC4zOTYsMC41MjUKCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkKCQkJYy03LjEzNSwwLTEyLjkzOSw1LjgwNS0xMi45MzksMTIuOTM5djEyNC44NTNoLTYwLjYzOWMtMC4xODgtMC40NjktMC4zOTktMC45MjUtMC42MDUtMS4zODMKCQkJYy0wLjA4OC0wLjE5NC0wLjE2Ni0wLjM5NC0wLjI1Ni0wLjU4NmMtMC4zNTMtMC43NDktMC43MjgtMS40ODMtMS4xMjgtMi4yMDJjLTAuMDc1LTAuMTM1LTAuMTYtMC4yNjMtMC4yMzYtMC4zOTcKCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQKCQkJYy0wLjE4My0wLjI0NS0wLjM3Mi0wLjQ4NC0wLjU2Mi0wLjcyNGMtMC4zMi0wLjQwNS0wLjY0Ni0wLjgwMy0wLjk4Mi0xLjE5M2MtMC4yMDItMC4yMzQtMC40MDUtMC40NjctMC42MTItMC42OTUKCQkJYy0wLjM1Mi0wLjM4OC0wLjcxNC0wLjc2Ni0xLjA4MS0xLjEzOGMtMC4yMDUtMC4yMDctMC40MDctMC40MTctMC42MTYtMC42MmMtMC40MTktMC40MDUtMC44NTItMC43OTQtMS4yOS0xLjE3OAoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDEKCQkJYy0wLjU4OC0wLjQyNi0xLjE4OC0wLjgzNi0xLjgwMS0xLjIyNmMtMC4yMjUtMC4xNDQtMC40NTgtMC4yNzYtMC42ODYtMC40MTRjLTAuNDY3LTAuMjgzLTAuOTM4LTAuNTYyLTEuNDE4LTAuODI0CgkJCWMtMC4yNy0wLjE0OC0wLjU0NS0wLjI4Ny0wLjgxOS0wLjQyOGMtMC40NTYtMC4yMzQtMC45MTYtMC40NjEtMS4zODMtMC42NzZjLTAuMjktMC4xMzQtMC41ODEtMC4yNjQtMC44NzUtMC4zOTEKCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQKCQkJYy0wLjI1Ni0wLjA3Ny0wLjUwOC0wLjE2Mi0wLjc2Ni0wLjIzM2MtMC44LTAuMjIxLTEuNjA4LTAuNDIxLTIuNDI4LTAuNTg4Yy0wLjUyNy0wLjcxOC0xLjA3NC0xLjQxOC0xLjYzNy0yLjA5OQoJCQljLTAuMTkzLTAuMjMzLTAuMzk4LTAuNDUyLTAuNTk1LTAuNjgxYy0wLjM3OC0wLjQ0LTAuNzU0LTAuODgyLTEuMTQ3LTEuMzA2Yy0wLjI0Ni0wLjI2NS0wLjUwNS0wLjUxNC0wLjc1Ny0wLjc3MgoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQoJCQljLTAuMzAxLTAuMjU3LTAuNjE0LTAuNDk4LTAuOTIxLTAuNzQ3Yy0wLjM2OC0wLjI5OC0wLjczMi0wLjYtMS4xMDgtMC44ODZjLTAuMzIyLTAuMjQ0LTAuNjU0LTAuNDcyLTAuOTgxLTAuNzA3CgkJCWMtMC4zNzYtMC4yNy0wLjc0OS0wLjU0NC0xLjEzMy0wLjgwMWMtMC4zMzktMC4yMjctMC42ODctMC40MzktMS4wMzEtMC42NTdjLTAuMzg3LTAuMjQ1LTAuNzcxLTAuNDkzLTEuMTY0LTAuNzI1CgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQKCQkJYy0wLjQwNi0wLjE5NS0wLjgxMS0wLjM5My0xLjIyNC0wLjU3NmMtMC4zOC0wLjE2OS0wLjc2NS0wLjMyMy0xLjE1LTAuNDgyYy0wLjQxNy0wLjE3MS0wLjgzMi0wLjM0NC0xLjI1NS0wLjUwMwoJCQljLTAuMzg5LTAuMTQ3LTAuNzg0LTAuMjgtMS4xNzgtMC40MTZjLTAuNDI3LTAuMTQ3LTAuODU0LTAuMjk2LTEuMjg2LTAuNDNjLTAuMzk4LTAuMTI0LTAuODAxLTAuMjM2LTEuMjA0LTAuMzQ5CgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5CgkJCWMtMC40MTQtMC4wNzgtMC44MzEtMC4xNDUtMS4yNDgtMC4yMTJjLTAuNDUzLTAuMDcyLTAuOTA1LTAuMTQzLTEuMzYxLTAuMjAyYy0wLjQyLTAuMDU0LTAuODQyLTAuMDk4LTEuMjY0LTAuMTQxCgkJCWMtMC40Ni0wLjA0Ny0wLjkyMS0wLjA5LTEuMzg1LTAuMTIyYy0wLjQyNC0wLjAzLTAuODUtMC4wNTEtMS4yNzYtMC4wNjljLTAuMjY5LTAuMDEyLTAuNTM0LTAuMDM2LTAuODA0LTAuMDQzdi0yOS44NTEKCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyCgkJCWMtMTEuMjk0LDAtMjAuNDgzLDkuMTg5LTIwLjQ4MywyMC40ODNzOS4xODksMjAuNDgzLDIwLjQ4MywyMC40ODNoNDQyLjg5NGMxMS4yOTQsMCwyMC40ODMtOS4xODksMjAuNDgzLTIwLjQ4MwoJCQlDNDk3LjkyNyw0ODAuMjIzLDQ4OC43MzgsNDcxLjAzNCw0NzcuNDQ0LDQ3MS4wMzR6IE0yMzkuMzMzLDI2LjQ2YzAtMC4wMDEsMC4wMDEtMC4wMDEsMC4wMDEtMC4wMDFsMy4wODktNC42MjcKCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1MwoJCQljLTIuMzU4LTMuNTMxLTYuMy01LjYzOS0xMC41NDYtNS42MzljLTQuMjQ2LDAtOC4xODksMi4xMDgtMTAuNTQ2LDUuNjM5TDE5OS4zNDcsOTQuMTRoLTUuMjAybDguNzc4LTEzLjE0OEwyMzkuMzMzLDI2LjQ2egoJCQkgTTI5NS4xMjQsOTQuMTRIMjE2Ljg3bDM5LjEyNy01OC42MDRMMjk1LjEyNCw5NC4xNHogTTc5LjgxNiwyOS43aDEzOS44MzFMMjA5LjUxLDQ0Ljg4M0wxNzYuNjIyLDk0LjE0SDYzLjA4MUw3OS44MTYsMjkuN3oKCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQKCQkJYy0xLjg4MSwwLTMuNDEyLTEuNTMxLTMuNDEyLTMuNDEzYzAtMS44ODEsMS41My0zLjQxMiwzLjQxMi0zLjQxMkg0NDQuODljMS44ODEsMCwzLjQxMiwxLjUzMSwzLjQxMiwzLjQxMgoJCQljMCwxLjg4Mi0xLjUzLDMuNDEzLTMuNDEyLDMuNDEzSDY3LjEwNHogTTM2MC40MTYsNDcwLjg5M2MwLjMxNy0wLjE4NywwLjYzOC0wLjM2OCwwLjk2Ny0wLjUzNQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4CgkJCWMwLjI3Mi0wLjA5OCwwLjU0Ny0wLjE4NywwLjgyNC0wLjI3MWMwLjIwMS0wLjA2LDAuNDAyLTAuMTIxLDAuNjA1LTAuMTc0YzAuMjc2LTAuMDcyLDAuNTU2LTAuMTMyLDAuODM2LTAuMTkKCQkJYzAuMjA3LTAuMDQzLDAuNDExLTAuMDkxLDAuNjItMC4xMjZjMC4zNTYtMC4wNiwwLjcxOC0wLjEwMiwxLjA4MS0wLjEzOWMwLjE3Ni0wLjAxOCwwLjM1Mi0wLjAzOSwwLjUyOS0wLjA1MgoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYKCQkJYzAuNTcyLDAuMDY1LDEuMTQ2LDAuMTU1LDEuNzE5LDAuMjc5YzMuNTA5LDAuNzU2LDcuMDQ3LTEuMTU1LDguMzM3LTQuNTA3YzQuMDkyLTEwLjYzOSwxNC40OTYtMTcuNzg3LDI1Ljg5MS0xNy43ODcKCQkJYzcuOTUsMCwxNS41MzMsMy40MjgsMjAuODA2LDkuNDA2YzAuMjEsMC4yMzgsMC40MzMsMC40NiwwLjY2OSwwLjY2NmMwLjAxMywwLjAxMSwwLjAyOCwwLjAyLDAuMDQxLDAuMDMyCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxCgkJCUMzNjAuMjUsNDcwLjk4NSwzNjAuMzM0LDQ3MC45NDIsMzYwLjQxNiw0NzAuODkzeiBNMjkxLjAzOCwzNDcuODE1djEyMy4yMTloLTcwLjA4MlYzNDcuODE1SDI5MS4wMzh6IE03Ny43OTcsNDQ1LjM1MgoJCQljMC43NjctMC4xMjEsMS41MzYtMC4yMTUsMi4zMDUtMC4yNzljMC4wNjYtMC4wMDUsMC4xMzItMC4wMDksMC4xOTgtMC4wMTRjMC43ODQtMC4wNiwxLjU2Ny0wLjA5NiwyLjM0My0wLjA5NgoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNgoJCQljMC4xMTUsMC4wMiwwLjIzLDAuMDQxLDAuMzQ1LDAuMDYzYzAuNSwwLjA5NywwLjk5NSwwLjIwOCwxLjQ4MywwLjMzOGMwLjA2MywwLjAxNywwLjEyNSwwLjAzNywwLjE4OSwwLjA1NQoJCQljMC40NDQsMC4xMjMsMC44ODEsMC4yNjEsMS4zMTMsMC40MTFjMC4wOTksMC4wMzQsMC4xOTksMC4wNjcsMC4yOTgsMC4xMDNjMC40NjcsMC4xNjksMC45MjcsMC4zNTMsMS4zNzksMC41NTMKCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYKCQkJYzAuNDMxLDAuMjM2LDAuODUyLDAuNDg4LDEuMjY1LDAuNzUyYzAuMDk0LDAuMDYsMC4xODcsMC4xMjIsMC4yOCwwLjE4NGMwLjM4OCwwLjI1NywwLjc2OSwwLjUyMywxLjEzOSwwLjgwMwoJCQljMC4wMzIsMC4wMjQsMC4wNjYsMC4wNDcsMC4wOTgsMC4wNzJjMC4zOTIsMC4zLDAuNzcsMC42MTcsMS4xNDEsMC45NDNjMC4wODcsMC4wNzcsMC4xNzQsMC4xNTQsMC4yNiwwLjIzMgoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQoJCQljMC4wNzIsMC4wODYsMC4xNDUsMC4xNzIsMC4yMTYsMC4yNmMwLjA1MywwLjA2NiwwLjEwMSwwLjEzNiwwLjE1NCwwLjIwMkg1Mi4xODFDNTQuMjI5LDQ1Ny44NjgsNjQuNjQzLDQ0Ny40MzksNzcuNzk3LDQ0NS4zNTJ6CgkJCSBNNDc3LjQ0NCw0OTcuNDI3SDM0LjU1Yy0zLjI1OSwwLTUuOTEtMi42NTEtNS45MS01LjkxYzAtMy4yNTksMi42NTEtNS45MSw1LjkxLTUuOTFoNDQyLjg5NGMzLjI1OSwwLDUuOTEsMi42NTEsNS45MSw1LjkxCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4KICAgICAgICA8cGF0aCAgZD0iTTE4Ni4yMTMsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODgsNy4yODdoODYuNzljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5OS42NjgsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTVjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzMwNi45NTUsMjM0LjgzNSwzMDMuNjkzLDIzMS41NzIsMjk5LjY2OCwyMzEuNTcyeiBNMjgxLjc1OCwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQxMi41NzIsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM3OS0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0NgoJCQloLTMuMzM4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzQxOS44NTksMjM0LjgzNSw0MTYuNTk3LDIzMS41NzIsNDEyLjU3MiwyMzEuNTcyeiBNMzk0LjY2MSwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTE4Mi44MTMsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk1LDQuNTI5LTEwLjA5NSwxMC4wOTV2NjAuMDQ1CgkJCWgtMC41MjhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNSwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g3LjgxNGg1OS41MDRoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkwLjEsNDE3LjA5NSwxODYuODM4LDQxMy44MzMsMTgyLjgxMyw0MTMuODMzeiBNMTY3LjcxMiw0MTMuODMzaC00NC45MzF2LTU1LjU2N2g0NC45MzFWNDEzLjgzM3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiBkPSJNNDA0LjMxNCw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTYsNC41MjktMTAuMDk2LDEwLjA5NXY2MC4wNDUKCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0SDM5Ni41aDcuODE0YzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzQxMS42MDEsNDE3LjA5NSw0MDguMzM5LDQxMy44MzMsNDA0LjMxNCw0MTMuODMzeiBNMzg5LjIxMyw0MTMuODMzaC00NC45MzJ2LTU1LjU2N2g0NC45MzJWNDEzLjgzM3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiBkPSJNMjc2LjU0NSw0MDUuMDg5Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3djEyLjYzYzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODcKCQkJYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODd2LTEyLjYzQzI4My44MzIsNDA4LjM1MiwyODAuNTcsNDA1LjA4OSwyNzYuNTQ1LDQwNS4wODl6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Shed:Sxe,"Sleeping Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDU2LDIyNGMtMTQuMTMzLDAtMjQsNi4zMDEtMjQsMTUuMzJ2MjcuNTA1QzQxOS4zMzMsMjQxLjc5MywzOTkuODUsMjI0LDM3NiwyMjRIMTUyYy00LjQxNy0wLjAwMS03Ljk5OSwzLjU3OS04LDcuOTk2CgkJCWMwLDAuMDAxLDAsMC4wMDMsMCwwLjAwNHY0OC4wNjdjMC4wNDUtMTMuMDUyLTUuMjAxLTI2LjA3NS0xNS41ODYtMzUuNTgzYy0xOS41NTItMTcuOTAyLTQ5LjkxNS0xNi41NjQtNjcuODE2LDIuOTg5CgkJCWMtMTYuNzY0LDE4LjMwOS0xNi44MDEsNDYuMzgtMC4wODYsNjQuNzM0Yy00LjYxMiwwLjUwOC04Ljk2OCwyLjM4LTEyLjUxMiw1LjM3NVYxMTUuMTk5QzQ4LDEwNC40MzQsMzcuNDYxLDk2LDI0LDk2CgkJCXMtMjQsOC40MzQtMjQsMTkuMTk5djM0NS42MDJDMCw0NzEuNTY2LDEwLjUzOSw0ODAsMjQsNDgwczI0LTguNDM0LDI0LTE5LjE5OVY0MDhoMzg0djU2LjY4YzAsOS4wMTksOS44NjcsMTUuMzIsMjQsMTUuMzIKCQkJczI0LTYuMzAxLDI0LTE1LjMyVjIzOS4zMkM0ODAsMjMwLjMwMSw0NzAuMTMzLDIyNCw0NTYsMjI0eiBNMzIsNDYwLjgwMWMtMC4wODYsMC42NTYtMi43NzMsMy4xOTktOCwzLjE5OQoJCQljLTUuMjUsMC03LjkyMi0yLjU0My04LTMuMTk5VjExNS4xOTljMC4wNzgtMC42NTYsMi43NS0zLjE5OSw4LTMuMTk5YzUuMjI3LDAsNy45MTQsMi41NDMsOCwzLjE5OVY0NjAuODAxeiBNMTYwLDI0MGgyMTYKCQkJYzMwLjE3MiwwLDUzLjE3Miw0NC45MjYsNTUuNzU4LDg4SDE2MFYyNDB6IE0xNDQsMjgwLjA4M3YzOC41NmMtMy40NTItMy4zNTMtNy44NDgtNS41NjYtMTIuNTk3LTYuMzQyCgkJCUMxMzkuNzkzLDMwMy4xMzcsMTQzLjk1NiwyOTEuNiwxNDQsMjgwLjA4M3ogTTk2LDI0OGMxNy42NzMsMCwzMiwxNC4zMjcsMzIsMzJjMCwxNy42NzMtMTQuMzI3LDMyLTMyLDMycy0zMi0xNC4zMjctMzItMzIKCQkJQzY0LjAxOSwyNjIuMzM1LDc4LjMzNSwyNDguMDE5LDk2LDI0OHogTTQzMiwzOTJINDh2LTQ4LjAyM2M0LjE2My0wLjMyOCw3LjM3NC0zLjgwMSw3LjM3NS03Ljk3NwoJCQljLTAuMDc3LTQuMzMxLDMuMzY0LTcuOTA5LDcuNjk1LThoNjQuNjFjNC4zMzEsMC4wOTEsNy43NzIsMy42NjksNy42OTUsOGMtMC4wMDEsNC40MTcsMy41NzksNy45OTksNy45OTYsOAoJCQljMC4wMDEsMCwwLjAwMywwLDAuMDA0LDBINDMyVjM5MnogTTQ2NCw0NjIuNTk0Yy01LjE2OSwxLjg3NS0xMC44MzEsMS44NzUtMTYsMFYyNDEuNDA2YzUuMTY5LTEuODc1LDEwLjgzMS0xLjg3NSwxNiwwVjQ2Mi41OTR6IgogICAgICAgIC8+CiAgICAgICAgPHBhdGggZD0iTTEzNy4wNzgsMTc2bDI5LjA3LTM0Ljg3OWMxLjk4Ni0yLjM4NiwyLjQxMy01LjcwNSwxLjA5NC04LjUxNmMtMS4zMTYtMi44MS00LjEzOS00LjYwNS03LjI0Mi00LjYwNWgtNDh2MTZoMzAuOTIyCgkJCWwtMjkuMDcsMzQuODc5Yy0yLjgyNywzLjM5OC0yLjM2NCw4LjQ0NCwxLjAzNCwxMS4yN2MxLjQzNywxLjE5NSwzLjI0NiwxLjg1LDUuMTE0LDEuODUxaDQ4di0xNkgxMzcuMDc4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjQuMzU5LDEzNmw0NS45NTMtNTkuMDljMS44NzctMi40MTEsMi4yMTctNS42ODEsMC44NzUtOC40MjZjLTEuMzQ0LTIuNzQzLTQuMTMyLTQuNDgzLTcuMTg4LTQuNDg0aC02NHYxNmg0Ny42NDEKCQkJbC00NS45NTMsNTkuMDljLTIuNzE0LDMuNDg0LTIuMDg5LDguNTA5LDEuMzk2LDExLjIyM2MxLjQwNSwxLjA5NCwzLjEzNiwxLjY4OCw0LjkxNywxLjY4OGg2NHYtMTZIMjI0LjM1OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzI4LDk2bDYyLjM5OC04My4xOTljMi42NTItMy41MzMsMS45MzktOC41NDYtMS41OTQtMTEuMTk5QzM4Ny40MTksMC41NjIsMzg1LjczMywwLDM4NCwwaC03MnYxNmg1NmwtNjIuMzk4LDgzLjE5OQoJCQljLTEuODE4LDIuNDI0LTIuMTEyLDUuNjY4LTAuNzU4LDguMzc5QzMwNi4yLDExMC4yODgsMzA4Ljk3LDExMiwzMTIsMTEyaDgwVjk2SDMyOHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Stairway:kxe,Stairwell:Yxe,Storeroom:vxe,"Summer House":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xNzMuODMyLDIyNS4yNjNoLTQzLjAzOWMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXY2MC4xMzRjMCw0LjE0MiwzLjM1Nyw3LjUsNy41LDcuNWg0My4wMzljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNQoJCQl2LTYwLjEzNEMxODEuMzMyLDIyOC42MjIsMTc3Ljk3NCwyMjUuMjYzLDE3My44MzIsMjI1LjI2M3ogTTE2Ni4zMzEsMjg1LjM5N2gtMjguMDM4di00NS4xMzNoMjguMDM4VjI4NS4zOTd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ1OS4xMjcsMjAxLjE5M2MzLjMxNCwyLjI3OCw4LjA5MSwxLjQ3MSwxMC40My0xLjkzMmMwLDAsMjMuMDA5LTMzLjQ2OSwyMy4wMjktMzMuNDk4CgkJCWMyLjMxNS0zLjM2OCwxLjQyOC04LjEyMS0xLjkzMi0xMC40MzFMMjcxLjc2Myw0Ljg2MWMtOS40MjktNi40OC0yMi4wOTctNi40ODEtMzEuNTI2LDBjMCwwLTEzOS43NjIsOTYuMDc3LTE0MC4yNzMsOTYuNDI4CgkJCWMtNy45MTEsNS40MzgsMC40MjksMTcuOTEsOC40OTcsMTIuMzYzbDE0MC4yNzQtOTYuNDI5YzQuMzQ3LTIuOTg3LDEwLjE4Ny0yLjk4NywxNC41MzEtMC4wMDFsMjEyLjcwOSwxNDYuMjI0bC0xNC41MzEsMjEuMTM3CgkJCWMwLDAtMjAxLjE0My0xMzguMjcyLTIwMS4xOTUtMTM4LjMwOGMtMi40OTUtMS43MTUtNS45OTktMS43MTgtOC40OTgtMC4wMDFMNTAuNTU3LDE4NC41ODNsLTE0LjUzLTIxLjEzNwoJCQljMCwwLDQ3LjExNy0zMi4zOSw0Ny4yODktMzIuNTA5YzcuODA3LTUuMzY2LTAuNDE2LTE3LjkxNy04LjQ5OC0xMi4zNjJjMCwwLTUzLjMwMSwzNi42NC01My40NzEsMzYuNzU3CgkJCWMtMy4zNzQsMi4zMi00LjI0MSw3LjA3MS0xLjkzMywxMC40MzFsMjEuNzA5LDMxLjU3OXYzMDcuMTU2YzAsNC4xNDIsMy4zNTgsNy41LDcuNSw3LjVIMjU2YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVWMzk1Ljk3MQoJCQlINDAyLjY0djEwOC41MjhjMCw0LjE0MiwzLjM1OCw3LjUsNy41MDEsNy41aDMwLjQ4OGM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41VjM5NS45NzFoMjMuNzY5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjV2LTMwLjQ4NwoJCQljMC00LjE0My0zLjM1OC03LjUtNy41LTcuNWgtMjMuNzY5di01Ny4yNTloMjMuNzY5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjV2LTMwLjQ4OGMwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC0yMy43Njl2LTU0LjEwMwoJCQlMNDU5LjEyNywyMDEuMTkzeiBNNDE3LjY0MSwxODYuODc2aDE1LjQ4N3Y2MC44NThoLTE1LjQ4N1YxODYuODc2eiBNMjU2LDYxLjU1NmwzOS4wNzUsMjYuODYxaC03OC4xNDlMMjU2LDYxLjU1NnoKCQkJIE01Ni4xMjUsMjcwLjMzMmgzOC4zOTl2NTMuMDU1YzAsNC4xNDEsMy4zNTgsNy41LDcuNSw3LjVIMjAyLjZjNC4xNDIsMCw3LjUwMS0zLjM1OCw3LjUwMS03LjV2LTUzLjA1NWgzOC4zOTh2NjguNDU2SDU2LjEyNQoJCQlWMjcwLjMzMnogTTEwOS41MjUsMzE1Ljg4NlYyMDkuNzc3aDg1LjU3NXYxMDYuMTA5SDEwOS41MjV6IE05NC41MjQsNDk2Ljk5OEg1Ni4xMjV2LTU5Ljc1NGgzOC4zOTlWNDk2Ljk5OHogTTE2Ni4zMzEsNDk2Ljk5NwoJCQloLTI4LjAzOHYtODUuNzgzaDI4LjAzOFY0OTYuOTk3eiBNMTk1LjA5OSw0OTYuOTk3aC0xMy43Njd2LTkzLjI4M2MwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC00My4wMzkKCQkJYy00LjE0MiwwLTcuNTAxLDMuMzU4LTcuNTAxLDcuNXY5My4yODNoLTEzLjc2OFYzODAuNzI3aDg1LjU3NVY0OTYuOTk3eiBNMjQ4LjQ5OSw0OTYuOTk4SDIxMC4xdi01OS43NTRoMzguMzk4VjQ5Ni45OTh6CgkJCSBNMjQ4LjUsNDIyLjI0NGgtMzguMzk5di00OS4wMThjLTAuMDAxLTQuMTQyLTMuMzU5LTcuNS03LjUwMi03LjVIMTAyLjAyNGMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNTAxdjQ5LjAxOEg1Ni4xMjV2LTY4LjQ1NgoJCQlIMjQ4LjVWNDIyLjI0NHogTTI0OC41LDI1NS4yMjVjMCwwLjAwMywwLDAuMDA2LDAsMC4wMXYwLjA5NmgtMzguMzk5di01My4wNTVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNUgxMDIuMDI0CgkJCWMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXY1My4wNTVINTYuMTI1di01Ni4zNzNsMTcuNjYzLTEyLjE0M2MwLjI5NywwLjAzNiwwLjU5NywwLjA2LDAuOTA0LDAuMDZIMjQ4LjVWMjU1LjIyNXoKCQkJIE05NS41MjMsMTcxLjg3NWw5OS41ODEtNjguNDU2aDEyMS43OTNsOTkuNTgxLDY4LjQ1NmgtNi4zMzZIOTUuNTIzeiBNNDAyLjY0LDE4Ni44NzZ2NjAuODU4SDI2My41MDF2LTYwLjg1OEg0MDIuNjR6CgkJCSBNMjYzLjUwMSwyOTMuMjIzaDE1LjQ4NnY1Ny4yNTloLTE1LjQ4NlYyOTMuMjIzeiBNNDMzLjEyOCw0OTYuOTk4aC0xNS40ODdWMzk1Ljk3MWgxNS40ODdWNDk2Ljk5OHogTTQ2NC4zOTcsMzY1LjQ4NHYxNS40ODYKCQkJSDI2My41MDF2LTE1LjQ4Nkg0NjQuMzk3eiBNMjkzLjk4OCwzNTAuNDgydi01Ny4yNTloMTUuNDg3djU3LjI1OUgyOTMuOTg4eiBNMzI0LjQ3NiwzNTAuNDgydi01Ny4yNTloMTYuMzM3djU3LjI1OUgzMjQuNDc2egoJCQkgTTM1NS44MTQsMzUwLjQ4MnYtNTcuMjU5aDE1LjQ4N3Y1Ny4yNTlIMzU1LjgxNHogTTM4Ni4zMDIsMzUwLjQ4MnYtNTcuMjU5aDE2LjMzN3Y1Ny4yNTlIMzg2LjMwMnogTTQxNy42NDEsMzUwLjQ4MnYtNTcuMjU5CgkJCWgxNS40ODd2NTcuMjU5SDQxNy42NDF6IE00NjQuMzk3LDI2Mi43MzV2MTUuNDg3SDI2My41MDF2LTE1LjQ4N0g0NjQuMzk3eiIvPgogICAgPC9nPgo8L3N2Zz4K","Swimming Pool":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Ny43MzMgMTg3LjczMyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xODcuNTk5LDE1MS40NThMMTUzLjQ2NSwzMy4xODZjLTAuNDIyLTEuNDYxLTEuNzU4LTIuNDY2LTMuMjc5LTIuNDY2SDM3LjU0N2MtMS41MjEsMC0yLjg1NywxLjAwNS0zLjI3OSwyLjQ2NgoJCQlMMC4xMzUsMTUxLjQ1OEMwLjA0NCwxNTEuNzY1LDAsMTUyLjA4NSwwLDE1Mi40MDV2MjUuMDg4YzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNIMTg0LjMyCgkJCWMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzdi0yNS4wODhDMTg3LjczMywxNTIuMDg1LDE4Ny42ODcsMTUxLjc2NSwxODcuNTk5LDE1MS40NTh6IE0xODAuOTA3LDE3NC4wOEg2LjgyN3YtMjEuMTkyCgkJCUw0MC4xMTUsMzcuNTQ3SDE0Ny42MmwzMy4yODcsMTE1LjM0MlYxNzQuMDh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTc4LjUwNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNzMy40MTMtMS41MjksMy40MTMtMy40MTN2LTUxLjIKCQkJQzgxLjkyLDguMzU2LDgwLjM5MSw2LjgyNyw3OC41MDcsNi44Mjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsNi44MjdjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTN2NTEuMmMwLDEuODg0LDEuNTI5LDMuNDEzLDMuNDEzLDMuNDEzYzEuODg0LDAsMy40MTMtMS41MjksMy40MTMtMy40MTMKCQkJdi01MS4yQzExMi42NCw4LjM1NiwxMTEuMTExLDYuODI3LDEwOS4yMjcsNi44Mjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsMTcuMDY3aC0zMC43MmMtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3MxLjUyOSwzLjQxMywzLjQxMywzLjQxM2gzMC43MmMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzCgkJCVMxMTEuMTExLDE3LjA2NywxMDkuMjI3LDE3LjA2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNywzMC43MmgtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMwoJCQlTMTExLjExMSwzMC43MiwxMDkuMjI3LDMwLjcyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDkuMjI3LDQ0LjM3M2gtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMwoJCQlTMTExLjExMSw0NC4zNzMsMTA5LjIyNyw0NC4zNzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE2My43ODksMTQ2LjE3OWwtMTcuNTE2LTk4Ljk4N2MtMC4yODgtMS42My0xLjcwNS0yLjgxOC0zLjM2LTIuODE4SDQ4LjMyOGMtMS42MTMsMC0zLjAwNSwxLjEyNi0zLjM0LDIuNzAzCgkJCWwtMjEuMDE5LDk4Ljk4N2MtMC4yMTMsMS4wMDcsMC4wMzgsMi4wNTcsMC42ODYsMi44NTdjMC42NDksMC44LDEuNjIxLDEuMjY1LDIuNjUyLDEuMjY1aDEzMy4xMmMxLjAwOSwwLDEuOTY2LTAuNDQ3LDIuNjE2LTEuMjE5CgkJCUMxNjMuNjkxLDE0OC4xOTUsMTYzLjk2NSwxNDcuMTc0LDE2My43ODksMTQ2LjE3OXogTTMxLjUyLDE0My4zNkw1MS4wODksNTEuMmg4OC45NThsMTYuMzA5LDkyLjE2SDMxLjUyeiIvPgogICAgPC9nPgo8L3N2Zz4K",Terrace:bxe,Toilet:Qxe,Upstairs:Uxe,Wardrobe:$xe,Washroom:Pxe,Wc:Wxe,Windscreen:Bxe,Workshop:Jxe,Workspace:Rxe},Gxe=[{_id:"hood",name:{en:"Hood",ru:"Вытяжка",de:"Abzugshaube",fr:"Capot",it:"Cappe",nl:"Hood",pl:"Okapy",pt:"Hood",es:"Campana","zh-cn":"抽油烟机"},icon:"Hoods.svg"},{_id:"alarm_system",name:{en:"Alarm System",ru:"Сигнализация",de:"Alarmanlage",fr:"Systèmes D'Alarme",it:"Sistemi Di Allarme",nl:"Alarm Systems",pl:"Systemy Alarmowe",pt:"Sistemas De Alarme",es:"Sistemas De Alarma","zh-cn":"报警系统"},icon:"Alarm Systems.svg"},{_id:"battery_status",name:{en:"Battery Status",ru:"Заряд батареи",de:"Batteriestatus",fr:"État De La Batterie",it:"Stato Della Batteria",nl:"Batterij Status",pl:"Stan Baterii",pt:"Estado Da Bateria",es:"Estado De La Batería","zh-cn":"电池状态"},icon:"Battery Status.svg"},{_id:"lighting",name:{en:"Lighting",ru:"Светильник",de:"Beleuchtung",fr:"Éclairages",it:"Illuminazione",nl:"Verlichting",pl:"Oprawy Oświetleniowe",pt:"Iluminações",es:"Iluminaciones","zh-cn":"照明"},icon:"Lightings.svg"},{_id:"shading",name:{en:"Shading",ru:"Затенение",de:"Beschattungen",fr:"Ombres",it:"Ombreggiatura",nl:"Shading",pl:"Zacienienie",pt:"Shading",es:"Sombreado","zh-cn":"底纹"},icon:"Shading.svg"},{_id:"irrigation",name:{en:"Irrigation",ru:"Орошение",de:"Bewässerung",fr:"Irrigation",it:"Irrigazione",nl:"Irrigatie",pl:"Nawadnianie",pt:"Irrigação",es:"Irrigación","zh-cn":"灌溉"},icon:"Irrigation.svg"},{_id:"iron",name:{en:"Iron",ru:"Утюг",de:"Bügeleisen",fr:"Le Fer",it:"Ferro",nl:"Ijzer",pl:"Żelazo",pt:"Ferro",es:"Hierro","zh-cn":"铁"},icon:"Iron.svg"},{_id:"computer",name:{en:"Computer",ru:"Компьютер",de:"Rechner",fr:"L'Ordinateur",it:"Computer",nl:"Computer",pl:"Komputer",pt:"Computador",es:"Ordenador","zh-cn":"电脑"},icon:"Computer.svg"},{_id:"ceiling_spotlight",name:{en:"Ceiling Spotlight",ru:"Потолочный прожектор",de:"Deckenspot",fr:"Plafond Spotlight",it:"Faretti A Soffitto",nl:"Plafond Spotlight",pl:"Reflektory Sufitowe",pt:"Tecto Foco",es:"Focos De Techo","zh-cn":"天花射灯"},icon:"Ceiling Spotlights.svg"},{_id:"printer",name:{en:"Printer",de:"Drucker",ru:"Принтер",pt:"Impressora",nl:"Printer",fr:"Imprimante",it:"Stampante",es:"Impresora",pl:"Drukarka","zh-cn":"打印机"},icon:"Printer.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"window",name:{en:"Window",ru:"Окно",de:"Fenster",fr:"La Fenêtre",it:"Finestra",nl:"Venster",pl:"Okno",pt:"Janela",es:"Ventana","zh-cn":"窗户"},icon:"Window.svg"},{_id:"garage_door",name:{en:"Garage Door",ru:"Гаражные Ворота",de:"Garagentor",fr:"Portes De Garage",it:"Garage Door",nl:"Garage Door",pl:"Bramy Garażowe",pt:"Portas De Garagem",es:"Las Puertas De Garaje","zh-cn":"车库门"},icon:"Garage Doors.svg"},{_id:"hairdryer",name:{en:"Hairdryer",ru:"Фен",de:"Haartrockner",fr:"Sèche-Cheveux",it:"Asciugacapelli",nl:"Haardroger",pl:"Suszarka Do Włosów",pt:"Secador De Cabelo",es:"Secador De Pelo","zh-cn":"电吹风"},icon:"Hairdryer.svg"},{_id:"hanging_lamp",name:{en:"Hanging Lamp",ru:"Подвесной светильник",de:"Hängelampe",fr:"Lampes Suspendues",it:"Lampade A Sospensione",nl:"Opknoping Lampen",pl:"Lampy Wiszące",pt:"Lâmpadas De Suspensão",es:"Lámparas Colgantes","zh-cn":"挂灯"},icon:"Hanging Lamps.svg"},{_id:"doorstep",name:{en:"Enterance",ru:"Входная дверь",de:"Haustür",fr:"Seuil De Porte",it:"Gradino Della Porta",nl:"Drempel",pl:"Próg",pt:"Porta",es:"Peldaño","zh-cn":"门阶"},icon:"Doorstep.svg"},{_id:"hot_water",name:{en:"Hot Water",ru:"Горячая вода",de:"Heißwasser",fr:"Eau Chaude",it:"Acqua Calda",nl:"Heet Water",pl:"Gorąca Woda",pt:"Água Quente",es:"Agua Caliente","zh-cn":"热水"},icon:"Hot Water.svg"},{_id:"heating",name:{en:"Heating",ru:"Отопление",de:"Heizung",fr:"Chauffe-Eau",it:"Riscaldatore",nl:"Verwarmer",pl:"Podgrzewacz",pt:"Aquecedor",es:"Calentador","zh-cn":"加热器"},icon:"Heater.svg"},{_id:"stove",name:{en:"Stove",ru:"Печь",de:"Herd",fr:"Le Fourneau",it:"Stufa",nl:"Fornuis",pl:"Kuchenka",pt:"Forno",es:"Cocina","zh-cn":"火炉"},icon:"Stove.svg"},{_id:"louvre",name:{en:"Louvre",ru:"Жалюзи",de:"Jalousie",fr:"Persienne",it:"Persiana Di Ventilazione",nl:"Louvre",pl:"Żaluzja",pt:"Trapeira",es:"Lumbrera","zh-cn":"卢浮宫"},icon:"Louvre.svg"},{_id:"coffee_maker",name:{en:"Coffee Maker",ru:"Кофеварка",de:"Kaffemaschine",fr:"Cafetière",it:"Macchine Da Caffè",nl:"Koffie Maker",pl:"Ekspresy Do Kawy",pt:"Cafeteira",es:"Cafetera","zh-cn":"咖啡壶"},icon:"Coffee Makers.svg"},{_id:"cold_water",name:{en:"Cold Water",ru:"Холодная вода",de:"Kaltwasser",fr:"Eau Froide",it:"Acqua Fredda",nl:"Koud Water",pl:"Zimna Woda",pt:"Água Fria",es:"Agua Fría","zh-cn":"冷水"},icon:"Cold Water.svg"},{_id:"climate",name:{en:"Climate",ru:"Климат",de:"Klima",fr:"Climat",it:"Clima",nl:"Klimaat",pl:"Klimat",pt:"Clima",es:"Clima","zh-cn":"气候"},icon:"Climate.svg"},{_id:"speaker",name:{en:"Speaker",ru:"Звуковая система",de:"Lautsprecher",fr:"Orateur",it:"Altoparlante",nl:"Spreker",pl:"Głośnik",pt:"Palestrante",es:"Altavoz","zh-cn":"扬声器"},icon:"Speaker.svg"},{_id:"led_strip",name:{en:"Led Strip",ru:"Светодиодная лента",de:"LED Leiste",fr:"Led Strip",it:"Led Strip",nl:"Loden Strip",pl:"Pasek Ledowy",pt:"Led Faixa",es:"Tira Llevada","zh-cn":"灯带"},icon:"Led Strip.svg"},{_id:"light",name:{en:"Light",ru:"Свет",de:"Licht",fr:"Lumière",it:"Leggero",nl:"Licht",pl:"Lekki",pt:"Luz",es:"Luz","zh-cn":"光"},icon:"Light.svg"},{_id:"fan",name:{en:"Fan",ru:"Вентилятор",de:"Lüfter",fr:"Ventilateur",it:"Fan",nl:"Ventilator",pl:"Wentylator",pt:"Ventilador",es:"Ventilador","zh-cn":"扇子"},icon:"Fan.svg"},{_id:"humidity",name:{en:"Humidity",ru:"Влажность",de:"Luftfeuchtigkeit",fr:"Humidité",it:"Umidità",nl:"Vochtigheid",pl:"Wilgotność",pt:"Umidade",es:"Humedad","zh-cn":"湿度"},icon:"Humidity.svg"},{_id:"ventilation",name:{en:"Ventilation",ru:"Вентиляция",de:"Lüftung",fr:"Ventilation",it:"Ventilazione",nl:"Ventilatie",pl:"Wentylacja",pt:"Ventilação",es:"Ventilación","zh-cn":"通风"},icon:"Ventilation.svg"},{_id:"chandelier",name:{en:"Chandelier",ru:"Люстра",de:"Kronleuchter",fr:"Lustre",it:"Lampadario",nl:"Kroonluchter",pl:"Żyrandol",pt:"Lustre",es:"Candelabro","zh-cn":"枝形吊灯"},icon:"Chandelier.svg"},{_id:"awning",name:{en:"Awning",ru:"Маркиза",de:"Markise",fr:"Auvents",it:"Tende",nl:"Luifels",pl:"Okrycia",pt:"Toldos",es:"Toldos","zh-cn":"遮阳篷"},icon:"Awnings.svg"},{_id:"music",name:{en:"Music",ru:"Музыка",de:"Musik",fr:"Musique",it:"Musica",nl:"Muziek",pl:"Muzyka",pt:"Música",es:"Música","zh-cn":"音乐"},icon:"Music.svg"},{_id:"people",name:{en:"People",ru:"Люди",de:"Personen",fr:"Gens",it:"Persone",nl:"Mensen",pl:"Ludzie",pt:"Pessoas",es:"Personas","zh-cn":"人们"},icon:"People.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"pump",name:{en:"Pump",ru:"Насос",de:"Pumpe",fr:"Pompe",it:"Pompa",nl:"Pomp",pl:"Pompa",pt:"Bombear",es:"Bomba","zh-cn":"泵"},icon:"Pump.svg"},{_id:"outdoor_blinds",name:{en:"Outdoor Blinds",ru:"Внещгте жалюзи",de:"Raffstore",fr:"Volets",it:"Tende Da Esterni",nl:"Outdoor Blinds",pl:"Rolety Zewnętrzne",pt:"Estores Exteriores",es:"Persianas Exteriores","zh-cn":"室外百叶窗"},icon:"Outdoor Blinds.svg"},{_id:"mowing_machine",name:{en:"Mowing Machine",ru:"Газонокосилка",de:"Rasenmäher",fr:"Machine De Fauchage",it:"Macchina Di Falciatura",nl:"Maaimachine",pl:"Kosiarka",pt:"Roçada Máquina",es:"Segadora","zh-cn":"割草机"},icon:"Mowing Machine.svg"},{_id:"receiver",name:{en:"Receiver",ru:"Приставка",de:"Receiver",fr:"Destinataire",it:"Ricevitore",nl:"Ontvanger",pl:"Odbiorca",pt:"Recebedor",es:"Receptor","zh-cn":"接收者"},icon:"Receiver.svg"},{_id:"shutters",name:{en:"Shutters",ru:"Ставни",de:"Rollladen",fr:"Volets",it:"Persiane",nl:"Shutters",pl:"Żaluzje",pt:"Persianas",es:"Persianas","zh-cn":"百叶窗"},icon:"Shutters.svg"},{_id:"smoke_detector",name:{en:"Smoke detector",de:"Rauchmelder",ru:"Детектор дыма",pt:"Detector de fumaça",nl:"Rookdetector",fr:"Détecteur de fumée",it:"Rilevatore di fumo",es:"Detector de humo",pl:"Wykrywacz dymu","zh-cn":"烟雾探测器"},icon:"SmokeDetector.svg"},{_id:"lock",name:{en:"Lock",ru:"Замок",de:"Schloß",fr:"Fermer À Clé",it:"Serratura",nl:"Slot",pl:"Zamek",pt:"Trancar",es:"Cerrar Con Llave","zh-cn":"锁"},icon:"Lock.svg"},{_id:"security",name:{en:"Security",ru:"Безопасность",de:"Sicherheit",fr:"Sécurité",it:"Sicurezza",nl:"Veiligheid",pl:"Bezpieczeństwo",pt:"Segurança",es:"Seguridad","zh-cn":"安全"},icon:"Security.svg"},{_id:"dishwasher",name:{en:"Dishwasher",ru:"Посудомоечная машина",de:"Spülmaschine",fr:"Lave-Vaisselles",it:"Lavastoviglie",nl:"Vaatwassers",pl:"Zmywarki",pt:"Máquinas De Lavar Louça",es:"Lavaplatos","zh-cn":"洗碗机"},icon:"Dishwashers.svg"},{_id:"vacuum_cleaner",name:{en:"Vacuum Cleaner",ru:"Пылесос",de:"Staubsauger",fr:"Aspirateur",it:"Aspirapolvere",nl:"Stofzuiger",pl:"Odkurzacz",pt:"Aspirador De Pó",es:"Aspiradora","zh-cn":"吸尘器"},icon:"Vacuum Cleaner.svg"},{_id:"socket",name:{en:"Socket",ru:"Розетка",de:"Steckdose",fr:"Prise",it:"Socket",nl:"Socket",pl:"Gniazdka",pt:"Tomada",es:"Zócalo","zh-cn":"套接字"},icon:"Sockets.svg"},{_id:"floor_lamp",name:{en:"Floor Lamp",ru:"Торшер",de:"Stehlampe",fr:"Lampes Pour Plancher",it:"Lampade A Stelo",nl:"Vloerlampen",pl:"Lampy Podłogowe",pt:"Lâmpadas Chão",es:"Lámparas De Pie","zh-cn":"落地灯"},icon:"Floor Lamps.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"temperature_sensor",name:{en:"Temperature Sensor",ru:"Температурный датчик",de:"Temperatur-Sensor",fr:"Capteur De Température",it:"Sensori Di Temperatura",nl:"Temperatuursensor",pl:"Czujniki Temperatury",pt:"Sensores De Temperatura",es:"Sensores De Temperatura","zh-cn":"温度传感器"},icon:"Temperature Sensors.svg"},{_id:"table_lamp",name:{en:"Table Lamp",ru:"Настольная лампа",de:"Tischlampe",fr:"Lampe De Chevet",it:"Lampade Da Tavolo",nl:"Tafellampen",pl:"Lampy Stołowe",pt:"Lâmpadas De Mesa",es:"Lámparas De Mesa","zh-cn":"台灯"},icon:"Table Lamps.svg"},{_id:"gate",name:{en:"Gate",ru:"Ворота",de:"Tor",fr:"Porte",it:"Gate",nl:"Gate",pl:"Bramy",pt:"Portões",es:"Puertas","zh-cn":"盖茨"},icon:"Gates.svg"},{_id:"dryer",name:{en:"Dryer",ru:"Сушилка",de:"Trockner",fr:"Séchoir",it:"Asciugatrice",nl:"Droger",pl:"Suszarka",pt:"Secador",es:"Secadora","zh-cn":"烘干机"},icon:"Dryer.svg"},{_id:"door",name:{en:"Door",ru:"Дверь",de:"Tür",fr:"Des Portes",it:"Porte",nl:"Deuren",pl:"Drzwi",pt:"Portas",es:"Puertas","zh-cn":"门"},icon:"Doors.svg"},{_id:"tv",name:{en:"Tv",ru:"Телевизор",de:"TV",fr:"La Télé",it:"Tv",nl:"Tv",pl:"Telewizja",pt:"Televisão",es:"Televisor","zh-cn":"电视"},icon:"Tv.svg"},{_id:"consumption",name:{en:"Consumption",ru:"Потребление",de:"Verbrauch",fr:"Consommation",it:"Consumo",nl:"Consumptie",pl:"Konsumpcja",pt:"Consumo",es:"Consumo","zh-cn":"消费"},icon:"Consumption.svg"},{_id:"amplifier",name:{en:"Amplifier",ru:"Усилитель звука",de:"Verstärker",fr:"Amplificateur",it:"Amplificatore",nl:"Versterker",pl:"Wzmacniacz",pt:"Amplificador",es:"Amplificador","zh-cn":"放大器"},icon:"Amplifier.svg"},{_id:"curtains",name:{en:"Curtains",ru:"Шторы",de:"Vorhänge",fr:"Des Rideaux",it:"Le Tende",nl:"Gordijnen",pl:"Zasłony",pt:"Cortinas",es:"Cortinas","zh-cn":"窗帘"},icon:"Curtains.svg"},{_id:"sconce",name:{en:"Sconce",ru:"Настенный светильник",de:"Wandlampe",fr:"Sconce",it:"Sconce",nl:"Sconce",pl:"Kinkiety",pt:"Arandelas",es:"Los Apliques","zh-cn":"壁灯"},icon:"Sconces.svg"},{_id:"washing_machine",name:{en:"Washing Machine",ru:"Стиральная машина",de:"Waschmaschine",fr:"Machines À Laver",it:"Lavatrici",nl:"Wasmachines",pl:"Pralki",pt:"Máquinas De Lavar Roupas",es:"Lavadoras","zh-cn":"洗衣机"},icon:"Washing Machines.svg"},{_id:"water",name:{en:"Water",ru:"Вода",de:"Wasser",fr:"L'Eau",it:"Acqua",nl:"Water",pl:"Woda",pt:"Água",es:"Agua","zh-cn":"水"},icon:"Water.svg"},{_id:"water_heater",name:{en:"Water Heater",ru:"Нагреватель воды",de:"Wasserkocher",fr:"Chauffe-Eau",it:"Scaldabagno",nl:"Waterkoker",pl:"Podgrzewacz Wody",pt:"Aquecedor De Água",es:"Calentador De Agua","zh-cn":"热水器"},icon:"Water Heater.svg"},{_id:"water_consumption",name:{en:"Water Consumption",ru:"Потребление воды",de:"Wasserverbrauch",fr:"Consommation D'Eau",it:"Consumo D'Acqua",nl:"Waterverbruik",pl:"Konsumpcja Wody",pt:"Consumo De Água",es:"Consumo De Agua","zh-cn":"耗水量"},icon:"Water Consumption.svg"},{_id:"weather",name:{en:"Weather",ru:"Погода",de:"Wetter",fr:"La Météo",it:"Tempo Metereologico",nl:"Weer",pl:"Pogoda",pt:"Clima",es:"Tiempo","zh-cn":"天气"},icon:"Weather.svg"}],Hxe=[{_id:"storeroom",name:{en:"Storeroom",ru:"Кладовая",de:"Abstellraum",fr:"Débarras",it:"Dispensa",nl:"Bergplaats",pl:"Magazyn",pt:"Despensa",es:"Trastero","zh-cn":"库房"},icon:"Storeroom.svg"},{_id:"second_floor",name:{en:"Second floor",ru:"Второй этаж",de:"Erster OG",pt:"Primeiro andar",nl:"Eerste verdieping",fr:"Premier étage",it:"Primo piano",es:"Primer piso",pl:"Pierwsze piętro","zh-cn":"第一层"},icon:"Second Floor.svg"},{_id:"dressing_room",name:{en:"Dressing Room",ru:"Гардеробная",de:"Ankleide",fr:"Vestiaire",it:"Camerino",nl:"Kleedkamer",pl:"Przebieralnia",pt:"Provador",es:"Vestidor","zh-cn":"更衣室"},icon:"Dressing Room.svg"},{_id:"workspace",name:{en:"Workspace",ru:"Рабочая Среда",de:"Arbeitszimmer",fr:"Espace De Travail",it:"Area Di Lavoro",nl:"Workspace",pl:"Workspace",pt:"Área De Trabalho",es:"Espacio De Trabajo","zh-cn":"工作区"},icon:"Workspace.svg"},{_id:"driveway",name:{en:"Driveway",ru:"Дорога",de:"Auffahrt",fr:"Allée",it:"Viale",nl:"Pad",pl:"Podjazd",pt:"Entrada Da Garagem",es:"Entrada De Coches","zh-cn":"车道"},icon:"Driveway.svg"},{_id:"outdoors",name:{en:"Outdoors",ru:"На Улице",de:"Außenbereich",fr:"En Plein Air",it:"All'Aperto",nl:"Buitenshuis",pl:"Na Dworze",pt:"Ao Ar Livre",es:"Al Aire Libre","zh-cn":"户外"},icon:"Outdoors.svg"},{_id:"bathroom",name:{en:"Bathroom",ru:"Ванная Комната",de:"Badezimmer",fr:"Salle De Bains",it:"Bagno",nl:"Badkamer",pl:"Łazienka",pt:"Banheiro",es:"Baño","zh-cn":"浴室"},icon:"Bathroom.svg"},{_id:"balcony",name:{en:"Balcony",ru:"Балкон",de:"Balkon",fr:"Balcon",it:"Balcone",nl:"Balkon",pl:"Balkon",pt:"Sacada",es:"Balcón","zh-cn":"阳台"},icon:"Balcony.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"carport",name:{en:"Carport",ru:"Навес",de:"Carport",fr:"Carport",it:"Posto Auto Coperto",nl:"Carport",pl:"Wiata",pt:"Telheiro",es:"Cochera","zh-cn":"车棚"},icon:"Carport.svg"},{_id:"attic",name:{en:"Attic",ru:"Чердак",de:"Dachgeschoss",fr:"Grenier",it:"Attico",nl:"Zolder",pl:"Poddasze",pt:"Sótão",es:"Ático","zh-cn":"阁楼"},icon:"Attic.svg"},{_id:"hall",name:{en:"Hall",ru:"Зал",de:"Diele",fr:"Salle",it:"Sala",nl:"Hal",pl:"Sala",pt:"Corredor",es:"Sala","zh-cn":"大厅"},icon:"Hall.svg"},{_id:"entrance",name:{en:"Entrance",ru:"Вход",de:"Eingang",fr:"Entrée",it:"Ingresso",nl:"Ingang",pl:"Wejście",pt:"Entrada",es:"Entrada","zh-cn":"入口"},icon:"Entrance.svg"},{_id:"ground_floor",name:{en:"Ground Floor",ru:"Первый Этаж",de:"Erdgeschoss",fr:"Rez-De-Chaussée",it:"Piano Terra",nl:"Begane Grond",pl:"Parter",pt:"Térreo",es:"Planta Baja","zh-cn":"一楼"},icon:"Ground Floor.svg"},{_id:"dining_area",name:{en:"Dining Area",ru:"Столовая",de:"Essbereich",fr:"Salle À Manger",it:"Zona Pranzo",nl:"Eethoek",pl:"Jadalnia",pt:"Área De Refeições",es:"Comedor","zh-cn":"用餐区"},icon:"Dining Area.svg"},{_id:"dining_room",name:{en:"Dining Room",ru:"Столовая",de:"Esszimmer",fr:"Salle À Manger",it:"Sala Da Pranzo",nl:"Eetkamer",pl:"Jadalnia",pt:"Sala De Jantar",es:"Comedor","zh-cn":"饭厅"},icon:"Dining Room.svg"},{_id:"gym",name:{en:"Gym",ru:"Спортзал",de:"Fitnessraum",fr:"Gym",it:"Palestra",nl:"Sportschool",pl:"Siłownia",pt:"Ginásio",es:"Gimnasio","zh-cn":"健身房"},icon:"Gym.svg"},{_id:"gallery",name:{en:"Gallery",ru:"Галерея",de:"Galerie",fr:"Galerie",it:"Galleria",nl:"Galerij",pl:"Galeria",pt:"Galeria",es:"Galería","zh-cn":"画廊"},icon:"Gallery.svg"},{_id:"garage",name:{en:"Garage",ru:"Гараж",de:"Garage",fr:"Garage",it:"Box Auto",nl:"Garage",pl:"Garaż",pt:"Garagem",es:"Garaje","zh-cn":"车库"},icon:"Garage.svg"},{_id:"wardrobe",name:{en:"Wardrobe",ru:"Гардероб",de:"Garderobe",fr:"Penderie",it:"Armadio",nl:"Garderobe",pl:"Szafa",pt:"Guarda Roupa",es:"Armario","zh-cn":"衣柜"},icon:"Wardrobe.svg"},{_id:"garden",name:{en:"Garden",ru:"Сад",de:"Garten",fr:"Jardin",it:"Giardino",nl:"Tuin",pl:"Ogród",pt:"Jardim",es:"Jardín","zh-cn":"花园"},icon:"Garden.svg"},{_id:"summer_house",name:{en:"Summer House",ru:"Дача",de:"Gartenhaus",fr:"Maison D'Été",it:"Casa Estiva",nl:"Zomerhuis",pl:"Domek Letniskowy",pt:"Summer House",es:"Casa De Verano","zh-cn":"凉亭"},icon:"Summer House.svg"},{_id:"guest_bathroom",name:{en:"Guest Bathroom",ru:"Гостевая Комната",de:"Gäste-WC",fr:"Salle De Bains Invité",it:"Guest Bathroom",nl:"Gastenbadkamer",pl:"Łazienka Gościnna",pt:"Banheiro De Hóspedes",es:"Baño De Visitas","zh-cn":"客用浴室"},icon:"Guest Bathroom.svg"},{_id:"guest_room",name:{en:"Guest Room",ru:"Гостевая Комната",de:"Gästezimmer",fr:"Chambre D'Amis",it:"Stanza Degli Ospiti",nl:"Guest Room",pl:"Pokój Gościnny",pt:"Quarto De Hóspedes",es:"Habitación De Huéspedes","zh-cn":"客房"},icon:"Guest Room.svg"},{_id:"laundry_room",name:{en:"Laundry Room",ru:"Прачечная",de:"Hauswirtschaftsraum",fr:"Buanderie",it:"Lavanderia",nl:"Wasruimte",pl:"Pralnia",pt:"Lavandaria",es:"Cuarto De Lavado","zh-cn":"洗衣房"},icon:"Laundry Room.svg"},{_id:"home_theater",name:{en:"Home Theater",ru:"Домашний Театр",de:"Heimkino",fr:"Cinéma Maison",it:"Home Theater",nl:"Thuisbioscoop",pl:"Kino Domowe",pt:"Cinema Em Casa",es:"Cine En Casa","zh-cn":"家庭电影院"},icon:"Home Theater.svg"},{_id:"boiler_room",name:{en:"Boiler Room",ru:"Бойлерная",de:"Heizungsraum",fr:"Chaufferie",it:"Locale Caldaia",nl:"Boiler Room",pl:"Kotłownia",pt:"Sala Da Caldeira",es:"Sala De Calderas","zh-cn":"锅炉房"},icon:"Boiler Room.svg"},{_id:"chamber",name:{en:"Chamber",ru:"Камера",de:"Kammer",fr:"Chambre",it:"Camera",nl:"Kamer",pl:"Izba",pt:"Câmara",es:"Cámara","zh-cn":"商会"},icon:"Chamber.svg"},{_id:"basement,_cellar",name:{en:"Basement, Cellar",ru:"Подвал, Погреб",de:"Keller",fr:"Sous-Sol, Cave",it:"Taverna, Cantina",nl:"Kelder, Kelder",pl:"Piwnica, Piwnica",pt:"Porão, Adega",es:"Sótano, Bodega","zh-cn":"地下室,地窖"},icon:"Basement.svg"},{_id:"nursery",name:{en:"Nursery",ru:"Питомник",de:"Kinderzimmer",fr:"Garderie",it:"Asilo",nl:"Kinderkamer",pl:"Żłobek",pt:"Berçário",es:"Guardería","zh-cn":"苗圃"},icon:"Nursery.svg"},{_id:"corridor",name:{en:"Corridor",ru:"Коридор",de:"Korridor",fr:"Couloir",it:"Corridoio",nl:"Gang",pl:"Korytarz",pt:"Corredor",es:"Corredor","zh-cn":"走廊"},icon:"Corridor.svg"},{_id:"kitchen",name:{en:"Kitchen",ru:"Кухня",de:"Küche",fr:"Cuisine",it:"Cucina",nl:"Keuken",pl:"Kuchnia",pt:"Cozinha",es:"Cocina","zh-cn":"厨房"},icon:"Kitchen.svg"},{_id:"upstairs",name:{en:"Upstairs",ru:"Вверх По Лестнице",de:"Obergeschoss",fr:"En Haut",it:"Di Sopra",nl:"Boven",pl:"Na Górę",pt:"Andar De Cima",es:"Piso Superior","zh-cn":"楼上"},icon:"Upstairs.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"rear_wall",name:{en:"Rear Wall",ru:"Задняя Стенка",de:"Rückwand",fr:"Paroi Arrière",it:"Parete Posteriore",nl:"Achterwand",pl:"Tylna Ściana",pt:"Parede Traseira",es:"Pared Posterior","zh-cn":"后墙"},icon:"Rear Wall.svg"},{_id:"barn",name:{en:"Barn",ru:"Амбар",de:"Scheune",fr:"Grange",it:"Fienile",nl:"Schuur",pl:"Stodoła",pt:"Celeiro",es:"Granero","zh-cn":"谷仓"},icon:"Barn.svg"},{_id:"sleeping_area",name:{en:"Sleeping Area",ru:"Спальное Место",de:"Schlafbereich",fr:"Coin Montagne",it:"Area Sleeping",nl:"Sleeping Area",pl:"Powierzchnia Spania",pt:"Sleeping Area",es:"Área De Dormir","zh-cn":"睡眠区"},icon:"Sleeping Area.svg"},{_id:"bedroom",name:{en:"Bedroom",ru:"Спальная Комната",de:"Schlafzimmer",fr:"Chambre",it:"Camera Da Letto",nl:"Slaapkamer",pl:"Sypialnia",pt:"Quarto",es:"Cuarto","zh-cn":"卧室"},icon:"Bedroom.svg"},{_id:"shed",name:{en:"Shed",ru:"Сбрасывать",de:"Schuppen",fr:"Hangar",it:"Capannone",nl:"Schuur",pl:"Budka",pt:"Cabana",es:"Cobertizo","zh-cn":"棚"},icon:"Shed.svg"},{_id:"swimming_pool",name:{en:"Swimming Pool",ru:"Плавательный Бассейн",de:"Schwimmbad",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"游泳池"},icon:"Swimming Pool.svg"},{_id:"dining",name:{en:"Dining",ru:"Обеденный",de:"Speis",fr:"À Manger",it:"Cenare",nl:"Dining",pl:"Jadalnia",pt:"Jantar",es:"Comida","zh-cn":"用餐"},icon:"Dining.svg"},{_id:"playroom",name:{en:"Playroom",ru:"Игровая Комната",de:"Spielzimmer",fr:"Salle De Jeux",it:"Stanza Dei Giochi",nl:"Speelkamer",pl:"Pokój Zabaw",pt:"Sala De Jogos",es:"Cuarto De Jugar","zh-cn":"游戏室"},icon:"Playroom.svg"},{_id:"stairway",name:{en:"Stairway",ru:"Лестница",de:"Treppe",fr:"Escalier",it:"Scala",nl:"Trap",pl:"Klatka Schodowa",pt:"Escada",es:"Escalera","zh-cn":"楼梯"},icon:"Stairway.svg"},{_id:"equipment_room",name:{en:"Equipment Room",ru:"Оборудование Номера",de:"Technikraum",fr:"Salle D'Équipement",it:"Stanza Degli Attrezzi",nl:"Technische Ruimte",pl:"Wyposażenie Pokoi",pt:"Sala De Equipamentos",es:"Cuarto De Equipos","zh-cn":"机房"},icon:"Equipment Room.svg"},{_id:"terrace",name:{en:"Terrace",ru:"Терраса",de:"Terrasse",fr:"Terrasse",it:"Terrazza",nl:"Terras",pl:"Taras",pt:"Terraço",es:"Terraza","zh-cn":"阳台"},icon:"Terrace.svg"},{_id:"toilet",name:{en:"Toilet",ru:"Туалет",de:"Toilette",fr:"Toilette",it:"Gabinetto",nl:"Toilet",pl:"Toaleta",pt:"Banheiro",es:"Inodoro","zh-cn":"洗手间"},icon:"Toilet.svg"},{_id:"stairwell",name:{en:"Stairwell",ru:"Лестничная клетка",de:"Treppenhaus",fr:"Cage D'Escalier",it:"Tromba Delle Scale",nl:"Trappenhuis",pl:"Klatka Schodowa",pt:"Caixa De Escada",es:"Hueco De Escalera","zh-cn":"楼梯间"},icon:"Stairwell.svg"},{_id:"locker_room",name:{en:"Locker Room",ru:"Камера Хранения",de:"Umkleideraum",fr:"Vestiaire",it:"Spogliatoio",nl:"Kleedkamer",pl:"Szatnia",pt:"Vestiário",es:"Vestuario","zh-cn":"更衣室"},icon:"Locker Room.svg"},{_id:"basement",name:{en:"Basement",ru:"Подвал",de:"Untergeschoss",fr:"Sous-Sol",it:"Seminterrato",nl:"Kelder",pl:"Piwnica",pt:"Porão",es:"Sótano","zh-cn":"地下室"},icon:"Basement.svg"},{_id:"front_yard",name:{en:"Front Yard",ru:"Передний Двор",de:"Vorgarten",fr:"Front Yard",it:"Cortile",nl:"Voortuin",pl:"Podwórko",pt:"Jardim Da Frente",es:"Patio Delantero","zh-cn":"前院"},icon:"Front Yard.svg"},{_id:"anteroom",name:{en:"Anteroom",ru:"Передняя",de:"Vorraum",fr:"Antichambre",it:"Anticamera",nl:"Voorkamer",pl:"Przedpokój",pt:"Ante-Sala",es:"Antesala","zh-cn":"接待室"},icon:"Anteroom.svg"},{_id:"washroom",name:{en:"Washroom",ru:"Уборная",de:"Waschraum",fr:"Toilettes",it:"Bagno",nl:"Waskamer",pl:"Umywalnia",pt:"Banheiro",es:"Baño","zh-cn":"卫生间"},icon:"Washroom.svg"},{_id:"wc",name:{en:"Wc",ru:"Туалет",de:"WC",fr:"Toilettes",it:"Bagno",nl:"Wc",pl:"Toaleta",pt:"Banheiro",es:"Wc","zh-cn":"厕所"},icon:"Wc.svg"},{_id:"workshop",name:{en:"Workshop",ru:"Мастерская",de:"Werkstatt",fr:"Atelier",it:"Laboratorio",nl:"Werkplaats",pl:"Warsztat",pt:"Oficina",es:"Taller","zh-cn":"作坊"},icon:"Workshop.svg"},{_id:"windscreen",name:{en:"Windscreen",ru:"Ветровое Стекло",de:"Windfang",fr:"Pare-Brise",it:"Parabrezza",nl:"Voorruit",pl:"Szyba Przednia",pt:"Pára-Brisas",es:"Parabrisas","zh-cn":"风档"},icon:"Windscreen.svg"},{_id:"living_area",name:{en:"Living Area",ru:"Жилая Площадь",de:"Wohnbereich",fr:"Salon",it:"Zona Giorno",nl:"Living Area",pl:"Powierzchnia Mieszkalna",pt:"Sala-De-Estar",es:"Sala De Estar","zh-cn":"生活区域"},icon:"Living Area.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"}];class Vxe extends f.Component{constructor(e){super(e),this.state={opened:!1,names:[],filter:"",icons:null,loading:!1,isAnyName:!1}}loadAllIcons(){this.state.loading||this.state.icons||this.setState({loading:!0},()=>{const e=[],t=[];if(this.props.icons){const i=this.props.icons.map((r,o)=>{let n;if(typeof r=="object"){if(n=r.icon||r.src||r.href||"",t[o]=typeof r.name=="object"?r.name[this.props.lang]||r.name.en||r._id||"":r.name||"",!t[o]){const a=n.split(".");a.pop(),t[o]=a[a.length-1]}}else n=r;return n?n.startsWith("data:")?(e[o]=n,Promise.resolve()):O.getSvg(n).then(a=>e[o]=a):Promise.resolve()});Promise.all(i).catch(r=>console.error(r)).then(()=>this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)}))}else{let i=this.props.onlyRooms||!this.props.onlyRooms&&!this.props.onlyDevices?Hxe:null;if(i&&(i.forEach(r=>{r.name&&typeof r.name=="object"&&(r.name=r.name[this.props.lang]||r.name.en||r._id),r.name=r.name||r._id}),i=i.filter((r,o)=>!(i!=null&&i.find((n,a)=>o!==a&&n.icon===r.icon&&n.name===r.name))),i.forEach((r,o)=>{t[o]=r.name,e[o]=`data:image/svg+xml;base64,${Fxe[r.icon.replace(/\.svg$/,"")]}`})),i=this.props.onlyDevices||!this.props.onlyRooms&&!this.props.onlyDevices?Gxe:null,i){const r=e.length;i&&i.forEach(o=>{o.name&&typeof o.name=="object"&&(o.name=o.name[this.props.lang]||o.name.en||o._id),o.name=o.name||o._id}),i=i.filter((o,n)=>!(i!=null&&i.find((a,c)=>n!==c&&a.icon===o.icon&&a.name===o.name))),i.forEach((o,n)=>{t[n+r]=o.name,e[n+r]=`data:image/svg+xml;base64,${axe[o.icon.replace(/\.svg$/,"")]}`})}this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)})}})}render(){return this.state.loading?M.createElement(j.CircularProgress,null):M.createElement(M.Fragment,null,M.createElement(j.Button,{color:"grey",variant:"outlined",title:this.props.t("ra_Select predefined icon"),onClick:()=>this.setState({opened:!0},()=>this.loadAllIcons()),style:{minWidth:40,marginRight:8}},"..."),this.state.opened?M.createElement(j.Dialog,{onClose:()=>this.setState({opened:!1}),open:!0},M.createElement(j.DialogTitle,null,this.props.t("ra_Select predefined icon"),this.state.isAnyName?M.createElement(j.TextField,{variant:"standard",margin:"dense",style:{marginLeft:20},value:this.state.filter,onChange:e=>this.setState({filter:e.target.value.toLowerCase()}),placeholder:this.props.t("ra_Filter"),slotProps:{input:{endAdornment:this.state.filter?M.createElement(j.IconButton,{tabIndex:-1,size:"small",onClick:()=>this.setState({filter:""})},M.createElement(LN,null)):void 0}}}):null),M.createElement(j.DialogContent,null,M.createElement("div",{style:{width:"100%",textAlign:"center"}},this.state.icons&&this.state.icons.map((e,t)=>!this.state.filter||this.state.names[t]&&this.state.names[t].toLowerCase().includes(this.state.filter)?M.createElement(j.Tooltip,{title:this.state.names[t]||"",key:t,slotProps:{popper:{sx:{pointerEvents:"none"}}}},M.createElement(j.IconButton,{onClick:()=>this.setState({opened:!1},()=>{const i=this.props.onSelect||this.props.onChange;i&&i(e)}),size:"large"},M.createElement(me,{src:e,alt:t.toString(),style:{width:32,height:32,borderRadius:5}}))):null))),M.createElement(j.DialogActions,null,M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({opened:!1}),startIcon:M.createElement(Ne,null)},this.props.t("ra_Close")))):null)}}const Ot={formContainer:{display:"flex",justifyContent:"left",alignItems:"center"},formControl:{display:"flex",padding:24,flexGrow:1e3},divContainer:{width:64,height:32,whiteSpace:"nowrap",lineHeight:"32px",marginRight:8},dragField:{textAlign:"center",display:"table",minHeight:90,width:"calc(100% - 60px)",border:"2px dashed #777",borderRadius:10,padding:4},formIcon:{margin:10,opacity:.6},text:{display:"table-cell",verticalAlign:"middle"}};function G3e(s){var a,c,l,N;const e=s.icon,t=s.onChange,i=f.useCallback(u=>{const L=new FileReader;L.addEventListener("load",()=>t(L.result),!1),u[0]&&L.readAsDataURL(u[0])},[t]),{getRootProps:r,getInputProps:o,isDragActive:n}=lL({onDrop:i});return M.createElement("div",{style:Ot.formContainer},e?M.createElement(e,{style:Ot.formIcon}):null,M.createElement(j.FormControl,{variant:"standard",style:{...Ot.formControl,padding:3}},M.createElement(j.InputLabel,{shrink:!0,sx:(a=s.customStyles)!=null&&a.label?{"&.MuiInputLabel-root":s.customStyles.label}:void 0,classes:{root:(c=s.customClasses)==null?void 0:c.label}},s.label),M.createElement("div",{style:Ot.formContainer},s.value?M.createElement("div",{style:Ot.divContainer},M.createElement(me,{style:{...s.previewStyle,...((l=s.customStyles)==null?void 0:l.icon)||void 0},src:s.value,className:O.clsx(s.previewClassName,(N=s.customClasses)==null?void 0:N.icon)}),!s.disabled&&M.createElement(j.IconButton,{style:{verticalAlign:"top"},title:h.t("ra_Clear icon"),size:"small",onClick:()=>s.onChange("")},M.createElement(LN,null))):!s.disabled&&M.createElement(Vxe,{icons:s.icons,onlyRooms:s.onlyRooms,onlyDevices:s.onlyDevices,onSelect:u=>s.onChange(u),t:h.t,lang:h.getLanguage()}),!s.disabled&&M.createElement("div",{...r(),style:{...Ot.dragField,...n?{backgroundColor:"rgba(0, 255, 0, 0.1)"}:{cursor:"pointer"}}},M.createElement("input",{...o()}),n?M.createElement("span",{style:Ot.text},h.t("ra_Drop the files here...")):M.createElement("span",{style:Ot.text},h.t("ra_Drag 'n' drop some files here, or click to select files"))))))}function Zxe(s){const e=document.createElement("div");e.innerHTML=s;const t=e.firstElementChild;return t!=null&&t.remove?t.remove():t&&e.removeChild(t),e.remove(),t}function Xxe(s){const e={};if(!s)return e;for(let t,i=0;io[1].toUpperCase()),e[t]=s[i].value}return e}class xr extends f.Component{svg;static REMOTE_SERVER=window.location.hostname.includes("iobroker.in");static REMOTE_PREFIX=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);constructor(e){var t;super(e),this.state={svg:!!((t=this.props.src)!=null&&t.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(e,t){var o;const i={};let r=!1;return e&&t&&e.src!==t.src&&(i.src=e.src,i.svg=(o=e.src)==null?void 0:o.startsWith("data:"),i.created=!1,r=!0),e&&t&&e.color!==t.color&&(i.color=e.color,i.created=!1,r=!0),e&&t&&e.showError!==t.showError&&(i.showError=e.showError,r=!0),r?i:null}getSvgFromData(e){const t="data:image/svg+xml;base64,";if(!e.startsWith(t))return null;e=e.substring(t.length);try{e=atob(e);const i=Zxe(e),r=i.innerHTML,o=Xxe(i.attributes);return i.remove(),M.createElement(j.Box,{component:"svg",sx:this.props.sx,className:this.props.className,style:this.state.color?{color:this.state.color}:void 0,...o,dangerouslySetInnerHTML:{__html:r}})}catch{}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 M.createElement(dM,{className:this.props.className});if(xr.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let e=(this.props.imagePrefix||"")+this.state.src;return e.startsWith("./")?e=xr.REMOTE_PREFIX+e.substring(2):e.startsWith("/")||(e=xr.REMOTE_PREFIX+e),M.createElement(j.Box,{component:"img",sx:this.props.sx,className:this.props.className,src:`https://remote-files.iobroker.in${e}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return M.createElement(j.Box,{component:"img",sx:this.props.sx,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}}function Kxe(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z"},child:[]}]})(s)}function qxe(s){return Z({attr:{t:"1569683928793",viewBox:"0 0 1024 1024",version:"1.1"},child:[{tag:"path",attr:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]}]})(s)}function e_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"},child:[]}]})(s)}function t_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z"},child:[]}]})(s)}function s_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z"},child:[]}]})(s)}function i_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z"},child:[]}]})(s)}function r_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"},child:[]}]})(s)}function o_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"},child:[]}]})(s)}function n_e(s){return Z({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M24 5.25v13a.75.75 0 0 1-1.136.643L16.5 15.075v2.175A1.75 1.75 0 0 1 14.75 19h-13A1.75 1.75 0 0 1 0 17.25v-11C0 5.284.784 4.5 1.75 4.5h13c.966 0 1.75.784 1.75 1.75v2.175l6.364-3.818A.75.75 0 0 1 24 5.25Zm-9 1a.25.25 0 0 0-.25-.25h-13a.25.25 0 0 0-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 0 0 .25-.25v-11Zm1.5 7.075 6 3.6V6.575l-6 3.6Z"},child:[]}]})(s)}function Ol(s){return Z({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M3.89,17.6c0-0.99,0.31-1.88,0.93-2.65s1.41-1.27,2.38-1.49c0.26-1.17,0.85-2.14,1.78-2.88c0.93-0.75,2-1.12,3.22-1.12 + `),M.createElement("div",{style:N.white,className:"saturation-white"},M.createElement("div",{style:N.black,className:"saturation-black"}),M.createElement("div",{style:N.pointer},this.props.pointer?M.createElement(this.props.pointer,this.props):M.createElement("div",{style:N.circle}))))}}]),e}(f.PureComponent||f.Component);function $2e(s,e){for(var t=-1,i=s==null?0:s.length;++t=0,o=!t&&r&&(e==="hex"||e==="hex6"||e==="hex3"||e==="hex4"||e==="hex8"||e==="name");return o?e==="name"&&this._a===0?this.toName():this.toRgbString():(e==="rgb"&&(i=this.toRgbString()),e==="prgb"&&(i=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(i=this.toHexString()),e==="hex3"&&(i=this.toHexString(!0)),e==="hex4"&&(i=this.toHex8String(!0)),e==="hex8"&&(i=this.toHex8String()),e==="name"&&(i=this.toName()),e==="hsl"&&(i=this.toHslString()),e==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},clone:function(){return $(this.toString())},_applyModification:function(e,t){var i=e.apply(null,[this].concat([].slice.call(t)));return this._r=i._r,this._g=i._g,this._b=i._b,this.setAlpha(i._a),this},lighten:function(){return this._applyModification(ome,arguments)},brighten:function(){return this._applyModification(nme,arguments)},darken:function(){return this._applyModification(ame,arguments)},desaturate:function(){return this._applyModification(sme,arguments)},saturate:function(){return this._applyModification(ime,arguments)},greyscale:function(){return this._applyModification(rme,arguments)},spin:function(){return this._applyModification(Mme,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(lme,arguments)},complement:function(){return this._applyCombination(cme,arguments)},monochromatic:function(){return this._applyCombination(Nme,arguments)},splitcomplement:function(){return this._applyCombination(ume,arguments)},triad:function(){return this._applyCombination(Fu,[3])},tetrad:function(){return this._applyCombination(Fu,[4])}};$.fromRatio=function(s,e){if(Gr(s)=="object"){var t={};for(var i in s)s.hasOwnProperty(i)&&(i==="a"?t[i]=s[i]:t[i]=zi(s[i]));s=t}return $(s,e)};function X2e(s){var e={r:0,g:0,b:0},t=1,i=null,r=null,o=null,n=!1,a=!1;return typeof s=="string"&&(s=Tme(s)),Gr(s)=="object"&&(Nt(s.r)&&Nt(s.g)&&Nt(s.b)?(e=K2e(s.r,s.g,s.b),n=!0,a=String(s.r).substr(-1)==="%"?"prgb":"rgb"):Nt(s.h)&&Nt(s.s)&&Nt(s.v)?(i=zi(s.s),r=zi(s.v),e=eme(s.h,i,r),n=!0,a="hsv"):Nt(s.h)&&Nt(s.s)&&Nt(s.l)&&(i=zi(s.s),o=zi(s.l),e=q2e(s.h,i,o),n=!0,a="hsl"),s.hasOwnProperty("a")&&(t=s.a)),t=r4(t),{ok:n,format:s.format||a,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}function K2e(s,e,t){return{r:Me(s,255)*255,g:Me(e,255)*255,b:Me(t,255)*255}}function Wu(s,e,t){s=Me(s,255),e=Me(e,255),t=Me(t,255);var i=Math.max(s,e,t),r=Math.min(s,e,t),o,n,a=(i+r)/2;if(i==r)o=n=0;else{var c=i-r;switch(n=a>.5?c/(2-i-r):c/(i+r),i){case s:o=(e-t)/c+(e1&&(u-=1),u<1/6?l+(N-l)*6*u:u<1/2?N:u<2/3?l+(N-l)*(2/3-u)*6:l}if(e===0)i=r=o=t;else{var a=t<.5?t*(1+e):t+e-t*e,c=2*t-a;i=n(c,a,s+1/3),r=n(c,a,s),o=n(c,a,s-1/3)}return{r:i*255,g:r*255,b:o*255}}function Bu(s,e,t){s=Me(s,255),e=Me(e,255),t=Me(t,255);var i=Math.max(s,e,t),r=Math.min(s,e,t),o,n,a=i,c=i-r;if(n=i===0?0:c/i,i==r)o=0;else{switch(i){case s:o=(e-t)/c+(e>1)+720)%360;--e;)i.h=(i.h+r)%360,o.push($(i));return o}function Nme(s,e){e=e||6;for(var t=$(s).toHsv(),i=t.h,r=t.s,o=t.v,n=[],a=1/e;e--;)n.push($({h:i,s:r,v:o})),o=(o+a)%1;return n}$.mix=function(s,e,t){t=t===0?0:t||50;var i=$(s).toRgb(),r=$(e).toRgb(),o=t/100,n={r:(r.r-i.r)*o+i.r,g:(r.g-i.g)*o+i.g,b:(r.b-i.b)*o+i.b,a:(r.a-i.a)*o+i.a};return $(n)};$.readability=function(s,e){var t=$(s),i=$(e);return(Math.max(t.getLuminance(),i.getLuminance())+.05)/(Math.min(t.getLuminance(),i.getLuminance())+.05)};$.isReadable=function(s,e,t){var i=$.readability(s,e),r,o;switch(o=!1,r=dme(t),r.level+r.size){case"AAsmall":case"AAAlarge":o=i>=4.5;break;case"AAlarge":o=i>=3;break;case"AAAsmall":o=i>=7;break}return o};$.mostReadable=function(s,e,t){var i=null,r=0,o,n,a,c;t=t||{},n=t.includeFallbackColors,a=t.level,c=t.size;for(var l=0;lr&&(r=o,i=$(e[l]));return $.isReadable(s,i,{level:a,size:c})||!n?i:(t.includeFallbackColors=!1,$.mostReadable(s,["#fff","#000"],t))};var Yn=$.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"},Lme=$.hexNames=gme(Yn);function gme(s){var e={};for(var t in s)s.hasOwnProperty(t)&&(e[s[t]]=t);return e}function r4(s){return s=parseFloat(s),(isNaN(s)||s<0||s>1)&&(s=1),s}function Me(s,e){jme(s)&&(s="100%");var t=yme(s);return s=Math.min(e,Math.max(0,parseFloat(s))),t&&(s=parseInt(s*e,10)/100),Math.abs(s-e)<1e-6?1:s%e/parseFloat(e)}function wo(s){return Math.min(1,Math.max(0,s))}function Qe(s){return parseInt(s,16)}function jme(s){return typeof s=="string"&&s.indexOf(".")!=-1&&parseFloat(s)===1}function yme(s){return typeof s=="string"&&s.indexOf("%")!=-1}function Xe(s){return s.length==1?"0"+s:""+s}function zi(s){return s<=1&&(s=s*100+"%"),s}function o4(s){return Math.round(parseFloat(s)*255).toString(16)}function Gu(s){return Qe(s)/255}var Ze=function(){var s="[-\\+]?\\d+%?",e="[-\\+]?\\d*\\.\\d+%?",t="(?:"+e+")|(?:"+s+")",i="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",r="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+i),rgba:new RegExp("rgba"+r),hsl:new RegExp("hsl"+i),hsla:new RegExp("hsla"+r),hsv:new RegExp("hsv"+i),hsva:new RegExp("hsva"+r),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 Nt(s){return!!Ze.CSS_UNIT.exec(s)}function Tme(s){s=s.replace(V2e,"").replace(Z2e,"").toLowerCase();var e=!1;if(Yn[s])s=Yn[s],e=!0;else if(s=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t;return(t=Ze.rgb.exec(s))?{r:t[1],g:t[2],b:t[3]}:(t=Ze.rgba.exec(s))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=Ze.hsl.exec(s))?{h:t[1],s:t[2],l:t[3]}:(t=Ze.hsla.exec(s))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=Ze.hsv.exec(s))?{h:t[1],s:t[2],v:t[3]}:(t=Ze.hsva.exec(s))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=Ze.hex8.exec(s))?{r:Qe(t[1]),g:Qe(t[2]),b:Qe(t[3]),a:Gu(t[4]),format:e?"name":"hex8"}:(t=Ze.hex6.exec(s))?{r:Qe(t[1]),g:Qe(t[2]),b:Qe(t[3]),format:e?"name":"hex"}:(t=Ze.hex4.exec(s))?{r:Qe(t[1]+""+t[1]),g:Qe(t[2]+""+t[2]),b:Qe(t[3]+""+t[3]),a:Gu(t[4]+""+t[4]),format:e?"name":"hex8"}:(t=Ze.hex3.exec(s))?{r:Qe(t[1]+""+t[1]),g:Qe(t[2]+""+t[2]),b:Qe(t[3]+""+t[3]),format:e?"name":"hex"}:!1}function dme(s){var e,t;return s=s||{level:"AA",size:"small"},e=(s.level||"AA").toUpperCase(),t=(s.size||"small").toLowerCase(),e!=="AA"&&e!=="AAA"&&(e="AA"),t!=="small"&&t!=="large"&&(t="small"),{level:e,size:t}}var Hu=function(e){var t=["r","g","b","a","h","s","l","v"],i=0,r=0;return H2e(t,function(o){if(e[o]&&(i+=1,isNaN(e[o])||(r+=1),o==="s"||o==="l")){var n=/^\d+%$/;n.test(e[o])&&(r+=1)}}),i===r?e:!1},wi=function(e,t){var i=e.hex?$(e.hex):$(e),r=i.toHsl(),o=i.toHsv(),n=i.toRgb(),a=i.toHex();r.s===0&&(r.h=t||0,o.h=t||0);var c=a==="000000"&&n.a===0;return{hsl:r,hex:c?"transparent":"#"+a,rgb:n,hsv:o,oldHue:e.h||t||r.h,source:e.source}},Wt=function(e){if(e==="transparent")return!0;var t=String(e).charAt(0)==="#"?1:0;return e.length!==4+t&&e.length<7+t&&$(e).isValid()},eM=function(e){if(!e)return"#fff";var t=wi(e);if(t.hex==="transparent")return"rgba(0,0,0,0.4)";var i=(t.rgb.r*299+t.rgb.g*587+t.rgb.b*114)/1e3;return i>=128?"#000":"#fff"},Go=function(e,t){var i=e.replace("°","");return $(t+" ("+i+")")._ok},Li=Object.assign||function(s){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:"span";return function(i){Ame(r,i);function r(){var o,n,a,c;pme(this,r);for(var l=arguments.length,N=Array(l),u=0;ua))return!1;var l=o.get(s),N=o.get(e);if(l&&N)return l==e&&N==s;var u=-1,L=!0,g=t&Qme?new Hr:void 0;for(o.set(s,e),o.set(e,s);++u=0||Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i]);return t}var gr=24,KOe=j4.default=function(s){var e=s.fill,t=e===void 0?"currentColor":e,i=s.width,r=i===void 0?gr:i,o=s.height,n=o===void 0?gr:o,a=s.style,c=a===void 0?{}:a,l=XOe(s,["fill","width","height","style"]);return Nl.default.createElement("svg",ll({viewBox:"0 0 "+gr+" "+gr,style:ll({fill:t,width:r,height:n},c)},l),Nl.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"}))},qOe=function(){function s(e,t){for(var i=0;i1&&(r.a=1),i.props.onChange({h:i.props.hsl.h,s:i.props.hsl.s,l:i.props.hsl.l,a:Math.round(r.a*100)/100,source:"rgb"},o)):(r.h||r.s||r.l)&&(typeof r.s=="string"&&r.s.includes("%")&&(r.s=r.s.replace("%","")),typeof r.l=="string"&&r.l.includes("%")&&(r.l=r.l.replace("%","")),r.s==1?r.s=.01:r.l==1&&(r.l=.01),i.props.onChange({h:r.h||i.props.hsl.h,s:Number(ul(r.s)?i.props.hsl.s:r.s),l:Number(ul(r.l)?i.props.hsl.l:r.l),source:"hsl"},o))},i.showHighlight=function(r){r.currentTarget.style.background="#eee"},i.hideHighlight=function(r){r.currentTarget.style.background="transparent"},t.hsl.a!==1&&t.view==="hex"?i.state={view:"rgb"}:i.state={view:t.view},i}return qOe(e,[{key:"render",value:function(){var i=this,r=F({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),o=void 0;return this.state.view==="hex"?o=M.createElement("div",{style:r.fields,className:"flexbox-fix"},M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"hex",value:this.props.hex,onChange:this.handleChange}))):this.state.view==="rgb"?o=M.createElement("div",{style:r.fields,className:"flexbox-fix"},M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),M.createElement("div",{style:r.alpha},M.createElement(K,{style:{input:r.input,label:r.label},label:"a",value:this.props.rgb.a,arrowOffset:.01,onChange:this.handleChange}))):this.state.view==="hsl"&&(o=M.createElement("div",{style:r.fields,className:"flexbox-fix"},M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),M.createElement("div",{style:r.field},M.createElement(K,{style:{input:r.input,label:r.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),M.createElement("div",{style:r.alpha},M.createElement(K,{style:{input:r.input,label:r.label},label:"a",value:this.props.hsl.a,arrowOffset:.01,onChange:this.handleChange})))),M.createElement("div",{style:r.wrap,className:"flexbox-fix"},o,M.createElement("div",{style:r.toggle},M.createElement("div",{style:r.icon,onClick:this.toggleViews,ref:function(a){return i.icon=a}},M.createElement(KOe,{style:r.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))))}}],[{key:"getDerivedStateFromProps",value:function(i,r){return i.hsl.a!==1&&r.view==="hex"?{view:"rgb"}:null}}]),e}(M.Component);y4.defaultProps={view:"hex"};var Ll=function(){var e=F({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 M.createElement("div",{style:e.picker})},iEe=function(){var e=F({default:{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return M.createElement("div",{style:e.picker})},nM=function(e){var t=e.width,i=e.onChange,r=e.disableAlpha,o=e.rgb,n=e.hsl,a=e.hsv,c=e.hex,l=e.renderers,N=e.styles,u=N===void 0?{}:N,L=e.className,g=L===void 0?"":L,y=e.defaultView,T=F(ve({default:{picker:{width:t,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("+o.r+", "+o.g+", "+o.b+", "+o.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:r});return M.createElement("div",{style:T.picker,className:"chrome-picker "+g},M.createElement("div",{style:T.saturation},M.createElement(zo,{style:T.Saturation,hsl:n,hsv:a,pointer:iEe,onChange:i})),M.createElement("div",{style:T.body},M.createElement("div",{style:T.controls,className:"flexbox-fix"},M.createElement("div",{style:T.color},M.createElement("div",{style:T.swatch},M.createElement("div",{style:T.active}),M.createElement(ri,{renderers:l}))),M.createElement("div",{style:T.toggles},M.createElement("div",{style:T.hue},M.createElement(oi,{style:T.Hue,hsl:n,pointer:Ll,onChange:i})),M.createElement("div",{style:T.alpha},M.createElement(Fa,{style:T.Alpha,rgb:o,hsl:n,pointer:Ll,renderers:l,onChange:i})))),M.createElement(y4,{rgb:o,hsl:n,hex:c,view:y,onChange:i,disableAlpha:r})))};nM.propTypes={width:S.oneOfType([S.string,S.number]),disableAlpha:S.bool,styles:S.object,defaultView:S.oneOf(["hex","rgb","hsl"])};nM.defaultProps={width:225,disableAlpha:!1,styles:{}};const rEe=be(nM);var oEe=function(e){var t=e.color,i=e.onClick,r=i===void 0?function(){}:i,o=e.onSwatchHover,n=e.active,a=F({default:{color:{background:t,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:eM(t),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:n,"color-#FFFFFF":t==="#FFFFFF",transparent:t==="transparent"});return M.createElement(ls,{style:a.color,color:t,onClick:r,onHover:o,focusStyle:{boxShadow:"0 0 4px "+t}},M.createElement("div",{style:a.dot}))},nEe=function(e){var t=e.hex,i=e.rgb,r=e.onChange,o=F({default:{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:t},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"}}}),n=function(c,l){c.r||c.g||c.b?r({r:c.r||i.r,g:c.g||i.g,b:c.b||i.b,source:"rgb"},l):r({hex:c.hex,source:"hex"},l)};return M.createElement("div",{style:o.fields,className:"flexbox-fix"},M.createElement("div",{style:o.active}),M.createElement(K,{style:{wrap:o.HEXwrap,input:o.HEXinput,label:o.HEXlabel},label:"hex",value:t,onChange:n}),M.createElement(K,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"r",value:i.r,onChange:n}),M.createElement(K,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"g",value:i.g,onChange:n}),M.createElement(K,{style:{wrap:o.RGBwrap,input:o.RGBinput,label:o.RGBlabel},label:"b",value:i.b,onChange:n}))},aM=function(e){var t=e.onChange,i=e.onSwatchHover,r=e.colors,o=e.hex,n=e.rgb,a=e.styles,c=a===void 0?{}:a,l=e.className,N=l===void 0?"":l,u=F(ve({default:{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},c)),L=function(y,T){y.hex?Wt(y.hex)&&t({hex:y.hex,source:"hex"},T):t(y,T)};return M.createElement(er,{style:u.Compact,styles:c},M.createElement("div",{style:u.compact,className:"compact-picker "+N},M.createElement("div",null,Ns(r,function(g){return M.createElement(oEe,{key:g,color:g,active:g.toLowerCase()===o,onClick:L,onSwatchHover:i})}),M.createElement("div",{style:u.clear})),M.createElement(nEe,{hex:o,rgb:n,onChange:L})))};aM.propTypes={colors:S.arrayOf(S.string),styles:S.object};aM.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:{}};be(aM);var aEe=function(e){var t=e.hover,i=e.color,r=e.onClick,o=e.onSwatchHover,n={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"},a=F({default:{swatch:{width:"25px",height:"25px",fontSize:"0"}},hover:{swatch:n}},{hover:t});return M.createElement("div",{style:a.swatch},M.createElement(ls,{color:i,onClick:r,onHover:o,focusStyle:n}))};const MEe=Ra(aEe);var MM=function(e){var t=e.width,i=e.colors,r=e.onChange,o=e.onSwatchHover,n=e.triangle,a=e.styles,c=a===void 0?{}:a,l=e.className,N=l===void 0?"":l,u=F(ve({default:{card:{width:t,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)"}}},c),{"hide-triangle":n==="hide","top-left-triangle":n==="top-left","top-right-triangle":n==="top-right","bottom-left-triangle":n==="bottom-left","bottom-right-triangle":n==="bottom-right"}),L=function(y,T){return r({hex:y,source:"hex"},T)};return M.createElement("div",{style:u.card,className:"github-picker "+N},M.createElement("div",{style:u.triangleShadow}),M.createElement("div",{style:u.triangle}),Ns(i,function(g){return M.createElement(MEe,{color:g,key:g,onClick:L,onSwatchHover:o})}))};MM.propTypes={width:S.oneOfType([S.string,S.number]),colors:S.arrayOf(S.string),triangle:S.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:S.object};MM.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};be(MM);var cEe=function(e){var t=e.direction,i=F({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:t==="vertical"});return M.createElement("div",{style:i.picker})},uEe=Object.assign||function(s){for(var e=1;e.5});return M.createElement("div",{style:i.picker})},gEe=function(){var e=F({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 M.createElement("div",{style:e.pointer},M.createElement("div",{style:e.left},M.createElement("div",{style:e.leftInside})),M.createElement("div",{style:e.right},M.createElement("div",{style:e.rightInside})))},gl=function(e){var t=e.onClick,i=e.label,r=e.children,o=e.active,n=F({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:o});return M.createElement("div",{style:n.button,onClick:t},i||r)},jEe=function(e){var t=e.rgb,i=e.currentColor,r=F({default:{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+t.r+","+t.g+", "+t.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:i,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return M.createElement("div",null,M.createElement("div",{style:r.label},"new"),M.createElement("div",{style:r.swatches},M.createElement("div",{style:r.new}),M.createElement("div",{style:r.current})),M.createElement("div",{style:r.label},"current"))},yEe=function(){function s(e,t){for(var i=0;i100&&(N.a=100),N.a/=100,t({h:r.h,s:r.s,l:r.l,a:N.a,source:"rgb"},u))};return M.createElement("div",{style:a.fields,className:"flexbox-fix"},M.createElement("div",{style:a.double},M.createElement(K,{style:{input:a.input,label:a.label},label:"hex",value:o.replace("#",""),onChange:c})),M.createElement("div",{style:a.single},M.createElement(K,{style:{input:a.input,label:a.label},label:"r",value:i.r,onChange:c,dragLabel:"true",dragMax:"255"})),M.createElement("div",{style:a.single},M.createElement(K,{style:{input:a.input,label:a.label},label:"g",value:i.g,onChange:c,dragLabel:"true",dragMax:"255"})),M.createElement("div",{style:a.single},M.createElement(K,{style:{input:a.input,label:a.label},label:"b",value:i.b,onChange:c,dragLabel:"true",dragMax:"255"})),M.createElement("div",{style:a.alpha},M.createElement(K,{style:{input:a.input,label:a.label},label:"a",value:Math.round(i.a*100),onChange:c,dragLabel:"true",dragMax:"100"})))},zEe=Object.assign||function(s){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i]);return t}var jr=24,OEe=d4.default=function(s){var e=s.fill,t=e===void 0?"currentColor":e,i=s.width,r=i===void 0?jr:i,o=s.height,n=o===void 0?jr:o,a=s.style,c=a===void 0?{}:a,l=mEe(s,["fill","width","height","style"]);return yl.default.createElement("svg",jl({viewBox:"0 0 "+jr+" "+jr,style:jl({fill:t,width:r,height:n},c)},l),yl.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))},EEe=function(e){var t=e.color,i=e.onClick,r=i===void 0?function(){}:i,o=e.onSwatchHover,n=e.first,a=e.last,c=e.active,l=F({default:{color:{width:"40px",height:"24px",cursor:"pointer",background:t,marginBottom:"1px"},check:{color:eM(t),marginLeft:"8px",display:"none"}},first:{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},last:{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},active:{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},transparent:{check:{color:"#333"}}},{first:n,last:a,active:c,"color-#FFFFFF":t==="#FFFFFF",transparent:t==="transparent"});return M.createElement(ls,{color:t,style:l.color,onClick:r,onHover:o,focusStyle:{boxShadow:"0 0 4px "+t}},M.createElement("div",{style:l.check},M.createElement(OEe,null)))},fEe=function(e){var t=e.onClick,i=e.onSwatchHover,r=e.group,o=e.active,n=F({default:{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return M.createElement("div",{style:n.group},Ns(r,function(a,c){return M.createElement(EEe,{key:a,color:a,active:a.toLowerCase()===o,first:c===0,last:c===r.length-1,onClick:t,onSwatchHover:i})}))},LM=function(e){var t=e.width,i=e.height,r=e.onChange,o=e.onSwatchHover,n=e.colors,a=e.hex,c=e.styles,l=c===void 0?{}:c,N=e.className,u=N===void 0?"":N,L=F(ve({default:{picker:{width:t,height:i},overflow:{height:i,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},l)),g=function(T,d){return r({hex:T,source:"hex"},d)};return M.createElement("div",{style:L.picker,className:"swatches-picker "+u},M.createElement(er,null,M.createElement("div",{style:L.overflow},M.createElement("div",{style:L.body},Ns(n,function(y){return M.createElement(fEe,{key:y.toString(),group:y,active:a,onClick:g,onSwatchHover:o})}),M.createElement("div",{style:L.clear})))))};LM.propTypes={width:S.oneOfType([S.string,S.number]),height:S.oneOfType([S.string,S.number]),colors:S.arrayOf(S.arrayOf(S.string)),styles:S.object};LM.defaultProps={width:320,height:240,colors:[[zs[900],zs[700],zs[500],zs[300],zs[100]],[ws[900],ws[700],ws[500],ws[300],ws[100]],[Cs[900],Cs[700],Cs[500],Cs[300],Cs[100]],[Is[900],Is[700],Is[500],Is[300],Is[100]],[ps[900],ps[700],ps[500],ps[300],ps[100]],[As[900],As[700],As[500],As[300],As[100]],[ms[900],ms[700],ms[500],ms[300],ms[100]],[Os[900],Os[700],Os[500],Os[300],Os[100]],[Es[900],Es[700],Es[500],Es[300],Es[100]],["#194D33",Ci[700],Ci[500],Ci[300],Ci[100]],[fs[900],fs[700],fs[500],fs[300],fs[100]],[xs[900],xs[700],xs[500],xs[300],xs[100]],[_s[900],_s[700],_s[500],_s[300],_s[100]],[Ss[900],Ss[700],Ss[500],Ss[300],Ss[100]],[ks[900],ks[700],ks[500],ks[300],ks[100]],[Ys[900],Ys[700],Ys[500],Ys[300],Ys[100]],[vs[900],vs[700],vs[500],vs[300],vs[100]],[bs[900],bs[700],bs[500],bs[300],bs[100]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};be(LM);var gM=function(e){var t=e.onChange,i=e.onSwatchHover,r=e.hex,o=e.colors,n=e.width,a=e.triangle,c=e.styles,l=c===void 0?{}:c,N=e.className,u=N===void 0?"":N,L=F(ve({default:{card:{width:n,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},l),{"hide-triangle":a==="hide","top-left-triangle":a==="top-left","top-right-triangle":a==="top-right"}),g=function(T,d){Wt(T)&&t({hex:T,source:"hex"},d)};return M.createElement("div",{style:L.card,className:"twitter-picker "+u},M.createElement("div",{style:L.triangleShadow}),M.createElement("div",{style:L.triangle}),M.createElement("div",{style:L.body},Ns(o,function(y,T){return M.createElement(ls,{key:T,color:y,hex:y,style:L.swatch,onClick:g,onHover:i,focusStyle:{boxShadow:"0 0 4px "+y}})}),M.createElement("div",{style:L.hash},"#"),M.createElement(K,{label:null,style:{input:L.input},value:r.replace("#",""),onChange:g}),M.createElement("div",{style:L.clear})))};gM.propTypes={width:S.oneOfType([S.string,S.number]),triangle:S.oneOf(["hide","top-left","top-right"]),colors:S.arrayOf(S.string),styles:S.object};gM.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};be(gM);var jM=function(e){var t=F({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(e.hsl.h)+", "+Math.round(e.hsl.s*100)+"%, "+Math.round(e.hsl.l*100)+"%)"}}});return M.createElement("div",{style:t.picker})};jM.propTypes={hsl:S.shape({h:S.number,s:S.number,l:S.number,a:S.number})};jM.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var yM=function(e){var t=F({default:{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(e.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return M.createElement("div",{style:t.picker})};yM.propTypes={hsl:S.shape({h:S.number,s:S.number,l:S.number,a:S.number})};yM.defaultProps={hsl:{a:1,h:249.94,l:.2,s:.5}};var xEe=function(e){var t=e.onChange,i=e.rgb,r=e.hsl,o=e.hex,n=e.hsv,a=function(g,y){if(g.hex)Wt(g.hex)&&t({hex:g.hex,source:"hex"},y);else if(g.rgb){var T=g.rgb.split(",");Go(g.rgb,"rgb")&&t({r:T[0],g:T[1],b:T[2],a:1,source:"rgb"},y)}else if(g.hsv){var d=g.hsv.split(",");Go(g.hsv,"hsv")&&(d[2]=d[2].replace("%",""),d[1]=d[1].replace("%",""),d[0]=d[0].replace("°",""),d[1]==1?d[1]=.01:d[2]==1&&(d[2]=.01),t({h:Number(d[0]),s:Number(d[1]),v:Number(d[2]),source:"hsv"},y))}else if(g.hsl){var z=g.hsl.split(",");Go(g.hsl,"hsl")&&(z[2]=z[2].replace("%",""),z[1]=z[1].replace("%",""),z[0]=z[0].replace("°",""),u[1]==1?u[1]=.01:u[2]==1&&(u[2]=.01),t({h:Number(z[0]),s:Number(z[1]),v:Number(z[2]),source:"hsl"},y))}},c=F({default:{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}}),l=i.r+", "+i.g+", "+i.b,N=Math.round(r.h)+"°, "+Math.round(r.s*100)+"%, "+Math.round(r.l*100)+"%",u=Math.round(n.h)+"°, "+Math.round(n.s*100)+"%, "+Math.round(n.v*100)+"%";return M.createElement("div",{style:c.wrap,className:"flexbox-fix"},M.createElement("div",{style:c.fields},M.createElement("div",{style:c.double},M.createElement(K,{style:{input:c.input,label:c.label},label:"hex",value:o,onChange:a})),M.createElement("div",{style:c.column},M.createElement("div",{style:c.single},M.createElement(K,{style:{input:c.input2,label:c.label2},label:"rgb",value:l,onChange:a})),M.createElement("div",{style:c.single},M.createElement(K,{style:{input:c.input2,label:c.label2},label:"hsv",value:u,onChange:a})),M.createElement("div",{style:c.single},M.createElement(K,{style:{input:c.input2,label:c.label2},label:"hsl",value:N,onChange:a})))))},TM=function(e){var t=e.width,i=e.onChange,r=e.rgb,o=e.hsl,n=e.hsv,a=e.hex,c=e.header,l=e.styles,N=l===void 0?{}:l,u=e.className,L=u===void 0?"":u,g=F(ve({default:{picker:{width:t,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+r.r+", "+r.g+", "+r.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},N));return M.createElement("div",{style:g.picker,className:"google-picker "+L},M.createElement("div",{style:g.head},c),M.createElement("div",{style:g.swatch}),M.createElement("div",{style:g.saturation},M.createElement(zo,{hsl:o,hsv:n,pointer:jM,onChange:i})),M.createElement("div",{style:g.body},M.createElement("div",{style:g.controls,className:"flexbox-fix"},M.createElement("div",{style:g.hue},M.createElement(oi,{style:g.Hue,hsl:o,radius:"4px",pointer:yM,onChange:i}))),M.createElement(xEe,{rgb:r,hsl:o,hex:a,hsv:n,onChange:i})))};TM.propTypes={width:S.oneOfType([S.string,S.number]),styles:S.object,header:S.string};TM.defaultProps={width:652,styles:{},header:"Color picker"};be(TM);const He={color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{mt:"16px",p:"5px",backgroundColor:"background.paper",borderRadius:"1px",boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{"& .MuiPaper-root":{textAlign:"right",backgroundColor:"#00000000",boxShadow:"none"}},popoverList:{padding:0},closeButton:s=>({backgroundColor:`${s.palette.background.paper} !important`,borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:`${s.palette.secondary.main} !important`}}),textDense:{mt:0,mb:0},iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}};class Ii extends f.Component{constructor(e){super(e),this.state={displayColorPicker:!1,color:this.props.value||this.props.color||"",anchorEl:null}}handleClick=e=>{this.setState({displayColorPicker:!this.state.displayColorPicker,anchorEl:this.state.displayColorPicker?null:e.currentTarget})};handleClose=()=>{this.setState({displayColorPicker:!1,anchorEl:null})};static getColor(e,t){if(e&&typeof e=="object"){const i=e;if(i.rgb)return t?`#${i.rgb.r.toString(16).padStart(2,"0")}${i.rgb.g.toString(16).padStart(2,"0")}${i.rgb.b.toString(16).padStart(2,"0")}`:`rgba(${i.rgb.r},${i.rgb.g},${i.rgb.b},${i.rgb.a})`;const r=e;return t?`#${r.r.toString(16).padStart(2,"0")}${r.g.toString(16).padStart(2,"0")}${r.b.toString(16).padStart(2,"0")}`:`rgba(${r.r},${r.g},${r.b},${r.a})`}return typeof e=="string"?t?Ii.rgb2hex(e||""):e||"":""}static rgb2hex(e){const t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(t){const i=parseInt(t[1],10).toString(16).padStart(2,"0"),r=parseInt(t[2],10).toString(16).padStart(2,"0"),o=parseInt(t[3],10).toString(16).padStart(2,"0");return(t==null?void 0:t.length)===4?`#${i}${r}${o}`:e}return e}handleChange=e=>{this.setState({color:e},()=>this.props.onChange&&this.props.onChange(Ii.getColor(e)))};componentDidUpdate(e,t){const i=Ii.getColor(this.props.color||this.props.value||"");i!==t.color&&this.setState({color:i})}renderCustomPalette(){return this.props.customPalette?M.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(e=>M.createElement(j.Button,{style:He.button,key:e,onClick:()=>{this.handleChange(e),setTimeout(()=>this.handleClose(),300)}},M.createElement("div",{style:{...He.iconButton,background:e}})))):null}render(){var i;const e={...this.props.style||{}};e.position="relative";const{color:t}=this.state;return M.createElement(j.Box,{component:"div",style:e,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:M.createElement(j.TextField,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",label:this.props.label||this.props.name,value:t||"",margin:"dense",sx:{"&.MuiFormControl-root":He.textDense,width:t?"calc(100% - 80px)":"calc(100% - 56px)",mr:t?void 0:1},onChange:r=>this.handleChange(r.target.value)}),!this.props.noInputField&&t?M.createElement(j.IconButton,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?He.delButton:void 0},M.createElement(nt,null)):null,M.createElement(j.Box,{component:"div",onClick:r=>!this.props.disabled&&this.handleClick(r),title:h.t("ra_Select color"),sx:{...He.swatch,...this.props.disabled?He.swatchDisabled:void 0,background:t?void 0:"transparent",border:t?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField||!(this.props.label||this.props.name)?0:void 0}},M.createElement("div",{style:{...He.color,background:Ii.getColor(t),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?M.createElement(j.Menu,{sx:{...He.popover,"&. MuiMenu-list":He.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},M.createElement(rEe,{color:this.state.color||void 0,onChangeComplete:r=>this.handleChange(r.rgb),styles:{default:{picker:{backgroundColor:((i=this.props.theme)==null?void 0:i.palette.background.paper)||"#888"}}}}),t&&this.props.noInputField?M.createElement(j.IconButton,{sx:He.closeButton,onClick:()=>this.handleChange("")},M.createElement(nt,null)):null,M.createElement(j.IconButton,{sx:He.closeButton,onClick:()=>this.handleClose()},M.createElement(Ne,null)),this.renderCustomPalette()):null)}}var D4={exports:{}};(function(s,e){(function(i,r){s.exports=r()})(globalThis,()=>(()=>{var t={949:(n,a,c)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CronParser=void 0;var l=c(515),N=function(){function u(L,g,y){g===void 0&&(g=!0),y===void 0&&(y=!1),this.expression=L,this.dayOfWeekStartIndexZero=g,this.monthStartIndexZero=y}return u.prototype.parse=function(){var L,g,y=(L=this.expression)!==null&&L!==void 0?L:"";if(y==="@reboot")return g=["@reboot","","","","","",""],g;if(y.startsWith("@")){var T=this.parseSpecial(this.expression);g=this.extractParts(T)}else g=this.extractParts(this.expression);return this.normalize(g),this.validate(g),g},u.prototype.parseSpecial=function(L){var g={"@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 * * * *","@reboot":"@reboot"},y=g[L];if(!y)throw new Error("Unknown special expression.");return y},u.prototype.extractParts=function(L){if(!this.expression)throw new Error("cron expression is empty");for(var g=L.trim().split(/[ ]+/),y=0;y7)throw new Error("Expression has ".concat(g.length," parts; too many!"));return g},u.prototype.normalize=function(L){var g=this;if(L[3]=L[3].replace("?","*"),L[5]=L[5].replace("?","*"),L[2]=L[2].replace("?","*"),L[0].indexOf("0/")==0&&(L[0]=L[0].replace("0/","*/")),L[1].indexOf("0/")==0&&(L[1]=L[1].replace("0/","*/")),L[2].indexOf("0/")==0&&(L[2]=L[2].replace("0/","*/")),L[3].indexOf("1/")==0&&(L[3]=L[3].replace("1/","*/")),L[4].indexOf("1/")==0&&(L[4]=L[4].replace("1/","*/")),L[6].indexOf("1/")==0&&(L[6]=L[6].replace("1/","*/")),L[5]=L[5].replace(/(^\d)|([^#/\s]\d)/g,function(A){var D=A.replace(/\D/,""),p=D;return g.dayOfWeekStartIndexZero?D=="7"&&(p="0"):p=(parseInt(D)-1).toString(),A.replace(D,p)}),L[5]=="L"&&(L[5]="6"),L[3]=="?"&&(L[3]="*"),L[3].indexOf("W")>-1&&(L[3].indexOf(",")>-1||L[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 y={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var T in y)L[5]=L[5].replace(new RegExp(T,"gi"),y[T].toString());L[4]=L[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(A){var D=A.replace(/\D/,""),p=D;return g.monthStartIndexZero&&(p=(parseInt(D)+1).toString()),A.replace(D,p)});var d={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 z in d)L[4]=L[4].replace(new RegExp(z,"gi"),d[z].toString());L[0]=="0"&&(L[0]=""),!/\*|\-|\,|\//.test(L[2])&&(/\*|\//.test(L[1])||/\*|\//.test(L[0]))&&(L[2]+="-".concat(L[2]));for(var I=0;I-1&&!/^\*|\-|\,/.test(L[I])){var C=null;switch(I){case 4:C="12";break;case 5:C="6";break;case 6:C="9999";break;default:C=null;break}if(C!==null){var m=L[I].split("/");L[I]="".concat(m[0],"-").concat(C,"/").concat(m[1])}}},u.prototype.validate=function(L){var g="0-9,\\-*/";this.validateOnlyExpectedCharactersFound(L[0],g),this.validateOnlyExpectedCharactersFound(L[1],g),this.validateOnlyExpectedCharactersFound(L[2],g),this.validateOnlyExpectedCharactersFound(L[3],"0-9,\\-*/LW"),this.validateOnlyExpectedCharactersFound(L[4],g),this.validateOnlyExpectedCharactersFound(L[5],"0-9,\\-*/L#"),this.validateOnlyExpectedCharactersFound(L[6],g),this.validateAnyRanges(L)},u.prototype.validateAnyRanges=function(L){l.default.secondRange(L[0]),l.default.minuteRange(L[1]),l.default.hourRange(L[2]),l.default.dayOfMonthRange(L[3]),l.default.monthRange(L[4],this.monthStartIndexZero),l.default.dayOfWeekRange(L[5],this.dayOfWeekStartIndexZero)},u.prototype.validateOnlyExpectedCharactersFound=function(L,g){var y=L.match(new RegExp("[^".concat(g,"]+"),"gi"));if(y&&y.length)throw new Error("Expression contains invalid values: '".concat(y.toString(),"'"))},u}();a.CronParser=N},333:(n,a,c)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ExpressionDescriptor=void 0;var l=c(823),N=c(949),u=function(){function L(g,y){if(this.expression=g,this.options=y,this.expressionParts=new Array(5),!this.options.locale&&L.defaultLocale&&(this.options.locale=L.defaultLocale),!L.locales[this.options.locale]){var T=Object.keys(L.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(T,"'.")),this.options.locale=T}this.i18n=L.locales[this.options.locale],y.use24HourTimeFormat===void 0&&(y.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return L.toString=function(g,y){var T=y===void 0?{}:y,d=T.throwExceptionOnParseError,z=d===void 0?!0:d,I=T.verbose,C=I===void 0?!1:I,m=T.dayOfWeekStartIndexZero,A=m===void 0?!0:m,D=T.monthStartIndexZero,p=D===void 0?!1:D,_=T.use24HourTimeFormat,x=T.locale,P=x===void 0?null:x,v={throwExceptionOnParseError:z,verbose:C,dayOfWeekStartIndexZero:A,monthStartIndexZero:p,use24HourTimeFormat:_,locale:P};v.tzOffset&&console.warn("'tzOffset' option has been deprecated and is no longer supported.");var ee=new L(g,v);return ee.getFullDescription()},L.initialize=function(g,y){y===void 0&&(y="en"),L.specialCharacters=["/","-",",","*"],L.defaultLocale=y,g.load(L.locales)},L.prototype.getFullDescription=function(){var g,y,T="";try{var d=new N.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=d.parse(),this.expressionParts[0]==="@reboot")return((y=(g=this.i18n).atReboot)===null||y===void 0?void 0:y.call(g))||"Run once, at startup";var z=this.getTimeOfDayDescription(),I=this.getDayOfMonthDescription(),C=this.getMonthDescription(),m=this.getDayOfWeekDescription(),A=this.getYearDescription();T+=z+I+m+C+A,T=this.transformVerbosity(T,!!this.options.verbose),T=T.charAt(0).toLocaleUpperCase()+T.substr(1)}catch(D){if(!this.options.throwExceptionOnParseError)T=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(D)}return T},L.prototype.getTimeOfDayDescription=function(){var g=this.expressionParts[0],y=this.expressionParts[1],T=this.expressionParts[2],d="";if(!l.StringUtilities.containsAny(y,L.specialCharacters)&&!l.StringUtilities.containsAny(T,L.specialCharacters)&&!l.StringUtilities.containsAny(g,L.specialCharacters))d+=this.i18n.atSpace()+this.formatTime(T,y,g);else if(!g&&y.indexOf("-")>-1&&!(y.indexOf(",")>-1)&&!(y.indexOf("/")>-1)&&!l.StringUtilities.containsAny(T,L.specialCharacters)){var z=y.split("-");d+=l.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(T,z[0],""),this.formatTime(T,z[1],""))}else if(!g&&T.indexOf(",")>-1&&T.indexOf("-")==-1&&T.indexOf("/")==-1&&!l.StringUtilities.containsAny(y,L.specialCharacters)){var I=T.split(",");d+=this.i18n.at();for(var C=0;C-1?I=d.substring(0,d.indexOf("#")):d.indexOf("L")>-1&&(I=I.replace("L",""));var C=parseInt(I),m=g.i18n.daysOfTheWeekInCase?g.i18n.daysOfTheWeekInCase(z)[C]:y[C];if(d.indexOf("#")>-1){var A=null,D=d.substring(d.indexOf("#")+1),p=d.substring(0,d.indexOf("#"));switch(D){case"1":A=g.i18n.first(p);break;case"2":A=g.i18n.second(p);break;case"3":A=g.i18n.third(p);break;case"4":A=g.i18n.fourth(p);break;case"5":A=g.i18n.fifth(p);break}m=A+" "+m}return m},function(d){return parseInt(d)==1?"":l.StringUtilities.format(g.i18n.commaEveryX0DaysOfTheWeek(d),d)},function(d){var z=d.substring(0,d.indexOf("-")),I=g.expressionParts[3]!="*";return I?g.i18n.commaAndX0ThroughX1(z):g.i18n.commaX0ThroughX1(z)},function(d){var z=null;if(d.indexOf("#")>-1){var I=d.substring(d.indexOf("#")+1),C=d.substring(0,d.indexOf("#"));z=g.i18n.commaOnThe(I,C).trim()+g.i18n.spaceX0OfTheMonth()}else if(d.indexOf("L")>-1)z=g.i18n.commaOnTheLastX0OfTheMonth(d.replace("L",""));else{var m=g.expressionParts[3]!="*";z=m?g.i18n.commaAndOnX0():g.i18n.commaOnlyOnX0(d)}return z}),T},L.prototype.getMonthDescription=function(){var g=this,y=this.i18n.monthsOfTheYear(),T=this.getSegmentDescription(this.expressionParts[4],"",function(d,z){return z&&g.i18n.monthsOfTheYearInCase?g.i18n.monthsOfTheYearInCase(z)[parseInt(d)-1]:y[parseInt(d)-1]},function(d){return parseInt(d)==1?"":l.StringUtilities.format(g.i18n.commaEveryX0Months(d),d)},function(d){return g.i18n.commaMonthX0ThroughMonthX1()||g.i18n.commaX0ThroughX1()},function(d){return g.i18n.commaOnlyInMonthX0?g.i18n.commaOnlyInMonthX0():g.i18n.commaOnlyInX0()});return T},L.prototype.getDayOfMonthDescription=function(){var g=this,y=null,T=this.expressionParts[3];switch(T){case"L":y=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":y=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var d=T.match(/(\d{1,2}W)|(W\d{1,2})/);if(d){var z=parseInt(d[0].replace("W","")),I=z==1?this.i18n.firstWeekday():l.StringUtilities.format(this.i18n.weekdayNearestDayX0(),z.toString());y=l.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),I);break}else{var C=T.match(/L-(\d{1,2})/);if(C){var m=C[1];y=l.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(m),m);break}else{if(T=="*"&&this.expressionParts[5]!="*")return"";y=this.getSegmentDescription(T,this.i18n.commaEveryDay(),function(A){return A=="L"?g.i18n.lastDay():g.i18n.dayX0?l.StringUtilities.format(g.i18n.dayX0(),A):A},function(A){return A=="1"?g.i18n.commaEveryDay():g.i18n.commaEveryX0Days(A)},function(A){return g.i18n.commaBetweenDayX0AndX1OfTheMonth(A)},function(A){return g.i18n.commaOnDayX0OfTheMonth(A)})}break}}return y},L.prototype.getYearDescription=function(){var g=this,y=this.getSegmentDescription(this.expressionParts[6],"",function(T){return/^\d+$/.test(T)?new Date(parseInt(T),1).getFullYear().toString():T},function(T){return l.StringUtilities.format(g.i18n.commaEveryX0Years(T),T)},function(T){return g.i18n.commaYearX0ThroughYearX1()||g.i18n.commaX0ThroughX1()},function(T){return g.i18n.commaOnlyInYearX0?g.i18n.commaOnlyInYearX0():g.i18n.commaOnlyInX0()});return y},L.prototype.getSegmentDescription=function(g,y,T,d,z,I){var C=null,m=g.indexOf("/")>-1,A=g.indexOf("-")>-1,D=g.indexOf(",")>-1;if(!g)C="";else if(g==="*")C=y;else if(!m&&!A&&!D)C=l.StringUtilities.format(I(g),T(g));else if(D){for(var p=g.split(","),_="",x=0;x0&&p.length>2&&(_+=",",x0&&p.length>1&&(x==p.length-1||p.length==2)&&(_+="".concat(this.i18n.spaceAnd()," ")),p[x].indexOf("/")>-1||p[x].indexOf("-")>-1){var P=p[x].indexOf("-")>-1&&p[x].indexOf("/")==-1,v=this.getSegmentDescription(p[x],y,T,d,P?this.i18n.commaX0ThroughX1:z,I);P&&(v=v.replace(", ","")),_+=v}else m?_+=this.getSegmentDescription(p[x],y,T,d,z,I):_+=T(p[x]);m?C=_:C=l.StringUtilities.format(I(g),_)}else if(m){var p=g.split("/");if(C=l.StringUtilities.format(d(p[1]),p[1]),p[0].indexOf("-")>-1){var ee=this.generateRangeSegmentDescription(p[0],z,T);ee.indexOf(", ")!=0&&(C+=", "),C+=ee}else if(p[0].indexOf("*")==-1){var ue=l.StringUtilities.format(I(p[0]),T(p[0]));ue=ue.replace(", ",""),C+=l.StringUtilities.format(this.i18n.commaStartingX0(),ue)}}else A&&(C=this.generateRangeSegmentDescription(g,z,T));return C},L.prototype.generateRangeSegmentDescription=function(g,y,T){var d="",z=g.split("-"),I=T(z[0],1),C=T(z[1],2),m=y(g);return d+=l.StringUtilities.format(m,I,C),d},L.prototype.formatTime=function(g,y,T){var d=0,z=0,I=parseInt(g)+d,C=parseInt(y)+z;C>=60?(C-=60,I+=1):C<0&&(C+=60,I-=1),I>=24?I=I-24:I<0&&(I=24+I);var m="",A=!1;this.options.use24HourTimeFormat||(A=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),m=A?"".concat(this.getPeriod(I)," "):" ".concat(this.getPeriod(I)),I>12&&(I-=12),I===0&&(I=12));var D="";return T&&(D=":".concat(("00"+T).substring(T.length))),"".concat(A?m:"").concat(("00"+I.toString()).substring(I.toString().length),":").concat(("00"+C.toString()).substring(C.toString().length)).concat(D).concat(A?"":m)},L.prototype.transformVerbosity=function(g,y){if(!y&&(g=g.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),g=g.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),g=g.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),g=g.replace(/\, ?$/,""),this.i18n.conciseVerbosityReplacements))for(var T=0,d=Object.entries(this.i18n.conciseVerbosityReplacements());T=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},L.locales={},L}();a.ExpressionDescriptor=u},747:(n,a,c)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.enLocaleLoader=void 0;var l=c(486),N=function(){function u(){}return u.prototype.load=function(L){L.en=new l.en},u}();a.enLocaleLoader=N},486:(n,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.en=void 0;var c=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!1},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occurred when generating the expression description. Check the cron expression syntax."},l.prototype.everyMinute=function(){return"every minute"},l.prototype.everyHour=function(){return"every hour"},l.prototype.atSpace=function(){return"At "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},l.prototype.at=function(){return"At"},l.prototype.spaceAnd=function(){return" and"},l.prototype.everySecond=function(){return"every second"},l.prototype.everyX0Seconds=function(){return"every %s seconds"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},l.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},l.prototype.everyX0Minutes=function(){return"every %s minutes"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},l.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},l.prototype.everyX0Hours=function(){return"every %s hours"},l.prototype.betweenX0AndX1=function(){return"between %s and %s"},l.prototype.atX0=function(){return"at %s"},l.prototype.commaEveryDay=function(){return", every day"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},l.prototype.commaX0ThroughX1=function(){return", %s through %s"},l.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},l.prototype.first=function(){return"first"},l.prototype.second=function(){return"second"},l.prototype.third=function(){return"third"},l.prototype.fourth=function(){return"fourth"},l.prototype.fifth=function(){return"fifth"},l.prototype.commaOnThe=function(){return", on the "},l.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},l.prototype.lastDay=function(){return"the last day"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},l.prototype.commaOnlyOnX0=function(){return", only on %s"},l.prototype.commaAndOnX0=function(){return", and on %s"},l.prototype.commaEveryX0Months=function(){return", every %s months"},l.prototype.commaOnlyInX0=function(){return", only in %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},l.prototype.firstWeekday=function(){return"first weekday"},l.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},l.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},l.prototype.commaEveryX0Days=function(){return", every %s days"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},l.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},l.prototype.commaEveryHour=function(){return", every hour"},l.prototype.commaEveryX0Years=function(){return", every %s years"},l.prototype.commaStartingX0=function(){return", starting %s"},l.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},l.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},l.prototype.atReboot=function(){return"Run once, at startup"},l}();a.en=c},515:(n,a)=>{Object.defineProperty(a,"__esModule",{value:!0});function c(N,u){if(!N)throw new Error(u)}var l=function(){function N(){}return N.secondRange=function(u){for(var L=u.split(","),g=0;g=0&&y<=59,"seconds part must be >= 0 and <= 59")}},N.minuteRange=function(u){for(var L=u.split(","),g=0;g=0&&y<=59,"minutes part must be >= 0 and <= 59")}},N.hourRange=function(u){for(var L=u.split(","),g=0;g=0&&y<=23,"hours part must be >= 0 and <= 23")}},N.dayOfMonthRange=function(u){for(var L=u.split(","),g=0;g=1&&y<=31,"DOM part must be >= 1 and <= 31")}},N.monthRange=function(u,L){for(var g=u.split(","),y=0;y=1&&T<=12,L?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},N.dayOfWeekRange=function(u,L){for(var g=u.split(","),y=0;y=0&&T<=6,L?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},N}();a.default=l},823:(n,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.StringUtilities=void 0;var c=function(){function l(){}return l.format=function(N){for(var u=[],L=1;L-1})},l}();a.StringUtilities=c}},i={};function r(n){var a=i[n];if(a!==void 0)return a.exports;var c=i[n]={exports:{}};return t[n](c,c.exports,r),c.exports}var o={};return(()=>{var n=o;Object.defineProperty(n,"__esModule",{value:!0}),n.toString=void 0;var a=r(333),c=r(747);a.ExpressionDescriptor.initialize(new c.enLocaleLoader),n.default=a.ExpressionDescriptor;var l=a.ExpressionDescriptor.toString;n.toString=l})(),o})())})(D4);var lt=D4.exports;const _Ee=WL(lt);var SEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.fr=void 0;var N=function(){function u(){}return u.prototype.conciseVerbosityReplacements=function(){return{"de le":"du"}},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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en générant la description de l'expression cron. Vérifiez sa syntaxe."},u.prototype.everyMinute=function(){return"toutes les minutes"},u.prototype.everyHour=function(){return"toutes les heures"},u.prototype.atSpace=function(){return"À "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},u.prototype.at=function(){return"À"},u.prototype.spaceAnd=function(){return" et"},u.prototype.everySecond=function(){return"toutes les secondes"},u.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s après la minute"},u.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes après la minute"},u.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s après l'heure"},u.prototype.atX0MinutesPastTheHour=function(){return"%s minutes après l'heure"},u.prototype.everyX0Hours=function(){return"toutes les %s heures"},u.prototype.betweenX0AndX1=function(){return"de %s à %s"},u.prototype.atX0=function(){return"%s"},u.prototype.commaEveryDay=function(){return", tous les jours"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},u.prototype.commaX0ThroughX1=function(){return", de %s à %s"},u.prototype.commaAndX0ThroughX1=function(){return", et de %s à %s"},u.prototype.first=function(){return"premier"},u.prototype.second=function(){return"second"},u.prototype.third=function(){return"troisième"},u.prototype.fourth=function(){return"quatrième"},u.prototype.fifth=function(){return"cinquième"},u.prototype.commaOnThe=function(){return", le "},u.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},u.prototype.lastDay=function(){return"le dernier jour"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},u.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},u.prototype.commaAndOnX0=function(){return", et %s"},u.prototype.commaEveryX0Months=function(){return", tous les %s mois"},u.prototype.commaOnlyInX0=function(){return", uniquement en %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},u.prototype.firstWeekday=function(){return"premier jour ouvrable"},u.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},u.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},u.prototype.commaEveryX0Days=function(){return", tous les %s jours"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},u.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},u.prototype.commaEveryHour=function(){return", chaque heure"},u.prototype.commaEveryX0Years=function(){return", tous les %s ans"},u.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},u.prototype.commaStartingX0=function(){return", à partir de %s"},u.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},u.prototype.monthsOfTheYear=function(){return["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},u}();return l.fr=N,c().locales.fr=new N,n})())})(SEe);var kEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.es=void 0;var N=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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurrió un error mientras se generaba la descripción de la expresión. Revise la sintaxis de la expresión de cron."},u.prototype.at=function(){return"A las"},u.prototype.atSpace=function(){return"A las "},u.prototype.atX0=function(){return"a las %s"},u.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},u.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},u.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los días %s y %s del mes"},u.prototype.commaEveryDay=function(){return", cada día"},u.prototype.commaEveryX0Days=function(){return", cada %s días"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s días de la semana"},u.prototype.commaEveryX0Months=function(){return", cada %s meses"},u.prototype.commaOnDayX0OfTheMonth=function(){return", el día %s del mes"},u.prototype.commaOnlyInX0=function(){return", sólo en %s"},u.prototype.commaOnlyOnX0=function(){return", sólo el %s"},u.prototype.commaAndOnX0=function(){return", y el %s"},u.prototype.commaOnThe=function(){return", en el "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el último día del mes"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el último día de la semana del mes"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s días antes del último día del mes"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el último %s del mes"},u.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},u.prototype.commaX0ThroughX1=function(){return", de %s a %s"},u.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},u.prototype.everyHour=function(){return"cada hora"},u.prototype.everyMinute=function(){return"cada minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},u.prototype.everySecond=function(){return"cada segundo"},u.prototype.everyX0Hours=function(){return"cada %s horas"},u.prototype.everyX0Minutes=function(){return"cada %s minutos"},u.prototype.everyX0Seconds=function(){return"cada %s segundos"},u.prototype.fifth=function(){return"quinto"},u.prototype.first=function(){return"primero"},u.prototype.firstWeekday=function(){return"primer día de la semana"},u.prototype.fourth=function(){return"cuarto"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},u.prototype.second=function(){return"segundo"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},u.prototype.spaceAnd=function(){return" y"},u.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},u.prototype.lastDay=function(){return"el último día"},u.prototype.third=function(){return"tercer"},u.prototype.weekdayNearestDayX0=function(){return"día de la semana más próximo al %s"},u.prototype.commaEveryX0Years=function(){return", cada %s años"},u.prototype.commaStartingX0=function(){return", comenzando %s"},u.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},u.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},u}();return l.es=N,c().locales.es=new N,n})())})(kEe);var YEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.de=void 0;var N=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"jede Minute"},u.prototype.everyHour=function(){return"jede Stunde"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. Überprüfen Sie die Syntax des Cron-Ausdrucks."},u.prototype.atSpace=function(){return"Um "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},u.prototype.at=function(){return"Um"},u.prototype.spaceAnd=function(){return" und"},u.prototype.everySecond=function(){return"Jede Sekunde"},u.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},u.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},u.prototype.everyX0Minutes=function(){return"alle %s Minuten"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},u.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},u.prototype.everyX0Hours=function(){return"alle %s Stunden"},u.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},u.prototype.atX0=function(){return"um %s"},u.prototype.commaEveryDay=function(){return", jeden Tag"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},u.prototype.commaX0ThroughX1=function(){return", %s bis %s"},u.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},u.prototype.first=function(){return"ersten"},u.prototype.second=function(){return"zweiten"},u.prototype.third=function(){return"dritten"},u.prototype.fourth=function(){return"vierten"},u.prototype.fifth=function(){return"fünften"},u.prototype.commaOnThe=function(){return", am "},u.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},u.prototype.lastDay=function(){return"der letzte Tag"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},u.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},u.prototype.commaAndOnX0=function(){return", und jeden %s"},u.prototype.commaEveryX0Months=function(){return", alle %s Monate"},u.prototype.commaOnlyInX0=function(){return", nur im %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},u.prototype.firstWeekday=function(){return"ersten Werktag"},u.prototype.weekdayNearestDayX0=function(){return"Werktag am nächsten zum %s Tag"},u.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},u.prototype.commaEveryX0Days=function(){return", alle %s Tage"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},u.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},u.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},u.prototype.commaStartingX0=function(){return", beginnend %s"},u.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},u.prototype.monthsOfTheYear=function(){return["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},u}();return l.de=N,c().locales.de=new N,n})())})(YEe);var vEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.it=void 0;var N=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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"È verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},u.prototype.at=function(){return"Alle"},u.prototype.atSpace=function(){return"Alle "},u.prototype.atX0=function(){return"alle %s"},u.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},u.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},u.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},u.prototype.commaEveryDay=function(){return", ogni giorno"},u.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},u.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},u.prototype.commaEveryX0Years=function(){return", ogni %s anni"},u.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},u.prototype.commaOnlyInX0=function(){return", solo in %s"},u.prototype.commaOnlyOnX0=function(){return", solo il %s"},u.prototype.commaAndOnX0=function(){return", e il %s"},u.prototype.commaOnThe=function(){return", il "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},u.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},u.prototype.commaX0ThroughX1=function(){return", %s al %s"},u.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},u.prototype.everyHour=function(){return"ogni ora"},u.prototype.everyMinute=function(){return"ogni minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},u.prototype.everySecond=function(){return"ogni secondo"},u.prototype.everyX0Hours=function(){return"ogni %s ore"},u.prototype.everyX0Minutes=function(){return"ogni %s minuti"},u.prototype.everyX0Seconds=function(){return"ogni %s secondi"},u.prototype.fifth=function(){return"quinto"},u.prototype.first=function(){return"primo"},u.prototype.firstWeekday=function(){return"primo giorno della settimana"},u.prototype.fourth=function(){return"quarto"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},u.prototype.second=function(){return"secondo"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},u.prototype.spaceAnd=function(){return" e"},u.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},u.prototype.lastDay=function(){return"l'ultimo giorno"},u.prototype.third=function(){return"terzo"},u.prototype.weekdayNearestDayX0=function(){return"giorno della settimana più vicino al %s"},u.prototype.commaStartingX0=function(){return", a partire %s"},u.prototype.daysOfTheWeek=function(){return["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},u.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},u}();return l.it=N,c().locales.it=new N,n})())})(vEe);var bEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:g=>{g.exports=t}},r={};function o(g){var y=r[g];if(y!==void 0)return y.exports;var T=r[g]={exports:{}};return i[g](T,T.exports,o),T.exports}o.n=g=>{var y=g&&g.__esModule?()=>g.default:()=>g;return o.d(y,{a:y}),y},o.d=(g,y)=>{for(var T in y)o.o(y,T)&&!o.o(g,T)&&Object.defineProperty(g,T,{enumerable:!0,get:y[T]})},o.o=(g,y)=>Object.prototype.hasOwnProperty.call(g,y),o.r=g=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(g,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(g,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.ru=void 0;var N=function(g,y){var T=Number(g);return T!==void 0?y[T%100>4&&T%100<20?2:[2,0,1,1,1,2][T%10<5?Math.abs(T)%10:5]]:y[2]},u=function(g,y){var T=Number(g);return T!==void 0?y[T===0?0:T===1||T===2||T===4?1:2]:y[1]},L=function(){function g(){}return g.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},g.prototype.atX0MinutesPastTheHourGt20=function(){return null},g.prototype.commaMonthX0ThroughMonthX1=function(){return null},g.prototype.commaYearX0ThroughYearX1=function(){return null},g.prototype.use24HourTimeFormatByDefault=function(){return!0},g.prototype.everyMinute=function(){return"каждую минуту"},g.prototype.everyHour=function(){return"каждый час"},g.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Произошла ошибка во время генерации описания выражения. Проверьте синтаксис крон-выражения."},g.prototype.atSpace=function(){return"В "},g.prototype.everyMinuteBetweenX0AndX1=function(){return"Каждую минуту с %s по %s"},g.prototype.at=function(){return"В"},g.prototype.spaceAnd=function(){return" и"},g.prototype.everySecond=function(){return"каждую секунду"},g.prototype.everyX0Seconds=function(y){return N(y,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},g.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},g.prototype.atX0SecondsPastTheMinute=function(y){return N(y,["в %s секунду","в %s секунды","в %s секунд"])},g.prototype.everyX0Minutes=function(y){return N(y,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},g.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},g.prototype.atX0MinutesPastTheHour=function(y){return N(y,["в %s минуту","в %s минуты","в %s минут"])},g.prototype.everyX0Hours=function(y){return N(y,["каждый %s час","каждые %s часа","каждые %s часов"])},g.prototype.betweenX0AndX1=function(){return"с %s по %s"},g.prototype.atX0=function(){return"в %s"},g.prototype.commaEveryDay=function(){return", каждый день"},g.prototype.commaEveryX0DaysOfTheWeek=function(y){return N(y,["",", каждые %s дня недели",", каждые %s дней недели"])},g.prototype.commaX0ThroughX1=function(y){return y&&(y[0]=="2"||y[0]=="3")?", со %s по %s":", с %s по %s"},g.prototype.commaAndX0ThroughX1=function(y){return y&&(y[0]=="2"||y[0]=="3")?" и со %s по %s":" и с %s по %s"},g.prototype.first=function(y){return u(y,["первое","первый","первую"])},g.prototype.second=function(y){return u(y,["второе","второй","вторую"])},g.prototype.third=function(y){return u(y,["третье","третий","третью"])},g.prototype.fourth=function(y){return u(y,["четвертое","четвертый","четвертую"])},g.prototype.fifth=function(y){return u(y,["пятое","пятый","пятую"])},g.prototype.commaOnThe=function(y){return y==="2"?", во ":", в "},g.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},g.prototype.lastDay=function(){return"последний день"},g.prototype.commaOnTheLastX0OfTheMonth=function(y){return u(y,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},g.prototype.commaOnlyOnX0=function(y){return y&&y[0]==="2"?", только во %s":", только в %s"},g.prototype.commaAndOnX0=function(){return", и %s"},g.prototype.commaEveryX0Months=function(y){return N(y,[""," каждые %s месяца"," каждые %s месяцев"])},g.prototype.commaOnlyInMonthX0=function(){return", только %s"},g.prototype.commaOnlyInX0=function(){return", только в %s"},g.prototype.commaOnTheLastDayOfTheMonth=function(){return", в последний день месяца"},g.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в последний будний день месяца"},g.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(y){return N(y,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},g.prototype.firstWeekday=function(){return"первый будний день"},g.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},g.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},g.prototype.commaEveryX0Days=function(y){return N(y,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},g.prototype.commaBetweenDayX0AndX1OfTheMonth=function(y){return y&&y.substring(0,y.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},g.prototype.commaOnDayX0OfTheMonth=function(y){return y&&y[0]=="2"?", во %s число месяца":", в %s число месяца"},g.prototype.commaEveryX0Years=function(y){return N(y,[", каждый %s год",", каждые %s года",", каждые %s лет"])},g.prototype.commaStartingX0=function(){return", начало %s"},g.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},g.prototype.daysOfTheWeekInCase=function(y){return y===void 0&&(y=2),y==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},g.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},g.prototype.monthsOfTheYearInCase=function(y){return y==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},g}();return l.ru=L,c().locales.ru=new L,n})())})(bEe);var QEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.zh_CN=void 0;var N=function(){function u(){}return u.prototype.setPeriodBeforeTime=function(){return!0},u.prototype.pm=function(){return"下午"},u.prototype.am=function(){return"上午"},u.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},u.prototype.atX0MinutesPastTheHourGt20=function(){return null},u.prototype.commaMonthX0ThroughMonthX1=function(){return null},u.prototype.commaYearX0ThroughYearX1=function(){return", 从%s年至%s年"},u.prototype.use24HourTimeFormatByDefault=function(){return!1},u.prototype.everyMinute=function(){return"每分钟"},u.prototype.everyHour=function(){return"每小时"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"生成表达式描述时发生了错误,请检查cron表达式语法。"},u.prototype.atSpace=function(){return"在"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"在 %s 至 %s 之间的每分钟"},u.prototype.at=function(){return"在"},u.prototype.spaceAnd=function(){return" 和"},u.prototype.everySecond=function(){return"每秒"},u.prototype.everyX0Seconds=function(){return"每隔 %s 秒"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"在一分钟后的第 %s 到 %s 秒"},u.prototype.atX0SecondsPastTheMinute=function(){return"在一分钟后的第 %s 秒"},u.prototype.everyX0Minutes=function(){return"每隔 %s 分钟"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"在整点后的第 %s 到 %s 分钟"},u.prototype.atX0MinutesPastTheHour=function(){return"在整点后的第 %s 分钟"},u.prototype.everyX0Hours=function(){return"每隔 %s 小时"},u.prototype.betweenX0AndX1=function(){return"在 %s 和 %s 之间"},u.prototype.atX0=function(){return"在%s"},u.prototype.commaEveryDay=function(){return", 每天"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", 每周的每 %s 天"},u.prototype.commaX0ThroughX1=function(){return", %s至%s"},u.prototype.commaAndX0ThroughX1=function(){return", 和%s至%s"},u.prototype.first=function(){return"第一个"},u.prototype.second=function(){return"第二个"},u.prototype.third=function(){return"第三个"},u.prototype.fourth=function(){return"第四个"},u.prototype.fifth=function(){return"第五个"},u.prototype.commaOnThe=function(){return", 限每月的"},u.prototype.spaceX0OfTheMonth=function(){return"%s"},u.prototype.lastDay=function(){return"本月最后一天"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", 限每月的最后一个%s"},u.prototype.commaOnlyOnX0=function(){return", 仅%s"},u.prototype.commaAndOnX0=function(){return", 或者为%s"},u.prototype.commaEveryX0Months=function(){return", 每隔 %s 个月"},u.prototype.commaOnlyInX0=function(){return", 仅限%s"},u.prototype.commaOnlyInMonthX0=function(){return", 仅于%s份"},u.prototype.commaOnlyInYearX0=function(){return", 仅于 %s 年"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", 限每月的最后一天"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", 限每月的最后一个工作日"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", 限每月最后%s天"},u.prototype.firstWeekday=function(){return"第一个工作日"},u.prototype.weekdayNearestDayX0=function(){return"最接近 %s 号的工作日"},u.prototype.commaOnTheX0OfTheMonth=function(){return", 限每月的%s"},u.prototype.commaEveryX0Days=function(){return", 每隔 %s 天"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", 限每月的 %s 至 %s 之间"},u.prototype.commaOnDayX0OfTheMonth=function(){return", 限每月%s"},u.prototype.commaEveryX0Years=function(){return", 每隔 %s 年"},u.prototype.commaStartingX0=function(){return", %s开始"},u.prototype.dayX0=function(){return" %s 号"},u.prototype.daysOfTheWeek=function(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},u.prototype.monthsOfTheYear=function(){return["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},u}();return l.zh_CN=N,c().locales.zh_CN=new N,n})())})(QEe);var UEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.uk=void 0;var N=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"щохвилини"},u.prototype.everyHour=function(){return"щогодини"},u.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"ВІдбулася помилка підчас генерації опису. Перевірта правильність написання cron виразу."},u.prototype.atSpace=function(){return"О "},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Щохвилини між %s та %s"},u.prototype.at=function(){return"О"},u.prototype.spaceAnd=function(){return" та"},u.prototype.everySecond=function(){return"Щосекунди"},u.prototype.everyX0Seconds=function(){return"кожні %s секунд"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"з %s по %s секунду"},u.prototype.atX0SecondsPastTheMinute=function(){return"о %s секунді"},u.prototype.everyX0Minutes=function(){return"кожні %s хвилин"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"з %s по %s хвилину"},u.prototype.atX0MinutesPastTheHour=function(){return"о %s хвилині"},u.prototype.everyX0Hours=function(){return"кожні %s годин"},u.prototype.betweenX0AndX1=function(){return"між %s та %s"},u.prototype.atX0=function(){return"о %s"},u.prototype.commaEveryDay=function(){return", щоденно"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", кожен %s день тижня"},u.prototype.commaX0ThroughX1=function(){return", %s по %s"},u.prototype.commaAndX0ThroughX1=function(){return", та %s по %s"},u.prototype.first=function(){return"перший"},u.prototype.second=function(){return"другий"},u.prototype.third=function(){return"третій"},u.prototype.fourth=function(){return"четвертий"},u.prototype.fifth=function(){return"п'ятий"},u.prototype.commaOnThe=function(){return", в "},u.prototype.spaceX0OfTheMonth=function(){return" %s місяця"},u.prototype.lastDay=function(){return"останній день"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", в останній %s місяця"},u.prototype.commaOnlyOnX0=function(){return", тільки в %s"},u.prototype.commaAndOnX0=function(){return", і в %s"},u.prototype.commaEveryX0Months=function(){return", кожен %s місяць"},u.prototype.commaOnlyInX0=function(){return", тільки в %s"},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", в останній день місяця"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в останній будень місяця"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s днів до останнього дня місяця"},u.prototype.firstWeekday=function(){return"перший будень"},u.prototype.weekdayNearestDayX0=function(){return"будень найближчий до %s дня"},u.prototype.commaOnTheX0OfTheMonth=function(){return", в %s місяця"},u.prototype.commaEveryX0Days=function(){return", кожен %s день"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", між %s та %s днями місяця"},u.prototype.commaOnDayX0OfTheMonth=function(){return", на %s день місяця"},u.prototype.commaEveryX0Years=function(){return", кожні %s роки"},u.prototype.commaStartingX0=function(){return", початок %s"},u.prototype.daysOfTheWeek=function(){return["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"]},u.prototype.monthsOfTheYear=function(){return["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},u}();return l.uk=N,c().locales.uk=new N,n})())})(UEe);var $Ee={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.pt_BR=void 0;var N=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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descrição da expressão Cron."},u.prototype.at=function(){return"às"},u.prototype.atSpace=function(){return"às "},u.prototype.atX0=function(){return"Às %s"},u.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},u.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},u.prototype.betweenX0AndX1=function(){return"entre %s e %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do mês"},u.prototype.commaEveryDay=function(){return", a cada dia"},u.prototype.commaEveryX0Days=function(){return", a cada %s dias"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},u.prototype.commaEveryX0Months=function(){return", a cada %s meses"},u.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do mês"},u.prototype.commaOnlyInX0=function(L){return L&&L.length>1&&L[1]==="-"?"somente %s":", somente em %s"},u.prototype.commaOnlyOnX0=function(L){return L&&L.length>1&&L[1]==="-"?", somente %s":", somente de %s"},u.prototype.commaAndOnX0=function(){return", e de %s"},u.prototype.commaOnThe=function(L,g){return g==="6"||g==="0"?", no":", na "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", no último dia do mês"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no último dia da semana do mês"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do último dia do mês"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", na última %s do mês"},u.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do mês"},u.prototype.commaX0ThroughX1=function(){return", de %s a %s"},u.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},u.prototype.everyHour=function(){return"a cada hora"},u.prototype.everyMinute=function(){return"a cada minuto"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},u.prototype.everySecond=function(){return"a cada segundo"},u.prototype.everyX0Hours=function(){return"a cada %s horas"},u.prototype.everyX0Minutes=function(){return"a cada %s minutos"},u.prototype.everyX0Seconds=function(){return"a cada %s segundos"},u.prototype.fifth=function(L){return L==="6"||L==="0"?"quinto":"quinta"},u.prototype.first=function(L){return L==="6"||L==="0"?"primeiro":"primeira"},u.prototype.firstWeekday=function(){return"primeiro dia da semana"},u.prototype.fourth=function(L){return L==="6"||L==="0"?"quarto":"quarta"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s até %s de cada hora"},u.prototype.second=function(L){return L==="6"||L==="0"?"segundo":"segunda"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s até %s de cada minuto"},u.prototype.spaceAnd=function(){return" e"},u.prototype.spaceX0OfTheMonth=function(){return" %s do mês"},u.prototype.lastDay=function(){return"o último dia"},u.prototype.third=function(L){return L==="6"||L==="0"?"terceiro":"terceira"},u.prototype.weekdayNearestDayX0=function(){return"dia da semana mais próximo do dia %s"},u.prototype.commaEveryX0Years=function(){return", a cada %s anos"},u.prototype.commaStartingX0=function(){return", iniciando %s"},u.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},u.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},u}();return l.pt_BR=N,c().locales.pt_BR=new N,n})())})($Ee);var PEe={exports:{}};(function(s,e){(function(i,r){s.exports=r(lt)})(globalThis,t=>(()=>{var i={93:u=>{u.exports=t}},r={};function o(u){var L=r[u];if(L!==void 0)return L.exports;var g=r[u]={exports:{}};return i[u](g,g.exports,o),g.exports}o.n=u=>{var L=u&&u.__esModule?()=>u.default:()=>u;return o.d(L,{a:L}),L},o.d=(u,L)=>{for(var g in L)o.o(L,g)&&!o.o(u,g)&&Object.defineProperty(u,g,{enumerable:!0,get:L[g]})},o.o=(u,L)=>Object.prototype.hasOwnProperty.call(u,L),o.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var n={};o.r(n);var a=o(93),c=o.n(a),l=n;Object.defineProperty(l,"__esModule",{value:!0}),l.pl=void 0;var N=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.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wystąpił błąd podczas generowania opisu wyrażenia cron. Sprawdź składnię wyrażenia cron."},u.prototype.at=function(){return"O"},u.prototype.atSpace=function(){return"O "},u.prototype.atX0=function(){return"o %s"},u.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},u.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},u.prototype.betweenX0AndX1=function(){return"od %s do %s"},u.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesiąca"},u.prototype.commaEveryDay=function(){return", co dzień"},u.prototype.commaEveryX0Days=function(){return", co %s dni"},u.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},u.prototype.commaEveryX0Months=function(){return", co %s miesięcy"},u.prototype.commaEveryX0Years=function(){return", co %s lat"},u.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesiąca"},u.prototype.commaOnlyInX0=function(){return", tylko %s"},u.prototype.commaOnlyOnX0=function(){return", tylko %s"},u.prototype.commaAndOnX0=function(){return", i %s"},u.prototype.commaOnThe=function(){return", "},u.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzień miesiąca"},u.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzień roboczy miesiąca"},u.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesiąca"},u.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesiąca"},u.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesiąca"},u.prototype.commaX0ThroughX1=function(){return", od %s do %s"},u.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},u.prototype.everyHour=function(){return"co godzinę"},u.prototype.everyMinute=function(){return"co minutę"},u.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minutę od %s do %s"},u.prototype.everySecond=function(){return"co sekundę"},u.prototype.everyX0Hours=function(){return"co %s godzin"},u.prototype.everyX0Minutes=function(){return"co %s minut"},u.prototype.everyX0Seconds=function(){return"co %s sekund"},u.prototype.fifth=function(){return"piąty"},u.prototype.first=function(){return"pierwszy"},u.prototype.firstWeekday=function(){return"pierwszy dzień roboczy"},u.prototype.fourth=function(){return"czwarty"},u.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},u.prototype.second=function(){return"drugi"},u.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},u.prototype.spaceAnd=function(){return" i"},u.prototype.spaceX0OfTheMonth=function(){return" %s miesiąca"},u.prototype.lastDay=function(){return"ostatni dzień"},u.prototype.third=function(){return"trzeci"},u.prototype.weekdayNearestDayX0=function(){return"dzień roboczy najbliższy %s-ego dnia"},u.prototype.commaStartingX0=function(){return", startowy %s"},u.prototype.daysOfTheWeek=function(){return["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},u.prototype.monthsOfTheYear=function(){return["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},u}();return l.pl=N,c().locales.pl=new N,n})())})(PEe);function h4(s,e){return _Ee.toString(s,{locale:e})}const xe={mainDiv:{width:"100%",height:"100%"},periodSelect:{display:"block",width:250},tabContent:{padding:20,height:"calc(100% - 240px)",overflow:"auto"},numberButton:{padding:4,minWidth:40,margin:5},appBar:{color:"white"},warning:{marginLeft:16,color:"red",fontSize:12}},WEe=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],BEe=["January","February","March","April","May","June","July","August","September","October","November","December"];function Tl(s,e){const t=[];if(s==="*"){if(e===24||e===60||e===7)for(let r=0;r1){const n=parseInt(o[1],10);for(let a=parseInt(o[0],10);a<=n;a++)t.push(a)}else t.push(parseInt(i[r],10))}t.sort();for(let r=t.length-1;r>=0;r--)t[r]===t[r+1]&&t.splice(r+1,1);return t}function dl(s,e){if(typeof s!="object"&&(s=[s]),s.length===e)return"*";const t=[];if(!s.length)return"-";s=s.map(o=>parseInt(o,10)),s.sort((o,n)=>o-n);let i=s[0],r=s[0];for(let o=1;othis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(e){e=e.replace(/['"]/g,"").trim();const t=e.split(" ").map(r=>r.trim());let i;return t.length===6?i={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",dates:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:i={seconds:!1,minutes:t[0]||"*",hours:t[1]||"*",dates:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},i}static state2cron(e){let t=`${e.minutes} ${e.hours} ${e.dates} ${e.months} ${e.dow}`;return e.seconds!==!1&&(t=`${e.seconds} ${t}`),t}recalcCron(){const e=kt.state2cron(this.state);e!==this.state.cron&&this.setState({cron:e},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(e,t,i){if(e===!0)this.setCronAttr(t,"*");else if(e===!1)i===60||i===24?this.setCronAttr(t,"0"):this.setCronAttr(t,"1");else{const r=Tl(this.state[t],i),o=r.indexOf(e);o!==-1?r.splice(o,1):(r.push(e),r.sort()),this.setCronAttr(t,dl(r,i))}}getDigitsSelector(e,t){let i=[];if(t===7)i=[1,2,3,4,5,6,0];else if(t===60||t===24)for(let o=0;othis.onToggle(!1,e,t)},h.t("ra_Deselect all")),M.createElement(j.Button,{key:"addall",variant:"contained",style:xe.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,t)},h.t("ra_Select all")),M.createElement("div",{key:"all"},i.map(o=>[t===7&&o===4||t===12&&o===7||t===31&&!((o-1)%10)||t===60&&o&&!(o%10)||t===24&&o&&!(o%6)?M.createElement("div",{key:`allInner${o}`,style:{width:"100%"}}):null,M.createElement(j.Button,{key:`_${o}`,variant:r.indexOf(o)!==-1?"contained":"outlined",style:xe.numberButton,color:r.indexOf(o)!==-1?"secondary":"primary",onClick:()=>this.onToggle(o,e,t)},t===7?h.t(WEe[o]):t===12?BEe[o-1]:o)]))]}getPeriodsTab(e,t){const i=this.state[e];let r=i==="*",o=i==null?!1:i.toString().includes("/"),n;if(this.state.modes[e]===null){n=r?"every":o?"everyN":"specific";const c=JSON.parse(JSON.stringify(this.state.modes));return c[e]=n,setTimeout(()=>this.setState({modes:c},()=>this.recalcCron()),100),null}r=this.state.modes[e]==="every",o=this.state.modes[e]==="everyN",n=this.state.modes[e];let a=1;return o&&i&&(a=parseInt(i.replace("*/",""),10)||1),M.createElement("div",null,M.createElement(j.Select,{variant:"standard",style:{...xe.periodSelect,verticalAlign:"bottom"},value:n,onChange:c=>{const l=JSON.parse(JSON.stringify(this.state.modes));if(l[e]=c.target.value,c.target.value==="every")this.setCronAttr(e,"*",l);else if(c.target.value==="everyN"){const N=parseInt((this.state[e]||"").toString().replace("*/",""),10)||1;this.setCronAttr(e,`*/${N}`,l)}else if(c.target.value==="specific"){let N=parseInt((this.state[e]||"").toString().split(",")[0],10)||0;!N&&(e==="months"||e==="dates")&&(N=1),this.setCronAttr(e,dl(N,t),l)}}},M.createElement(j.MenuItem,{key:"every",value:"every"},h.t(`sc_every_${e}`)),M.createElement(j.MenuItem,{key:"everyN",value:"everyN"},h.t(`sc_everyN_${e}`)),M.createElement(j.MenuItem,{key:"specific",value:"specific"},h.t(`sc_specific_${e}`))),o&&M.createElement(j.TextField,{variant:"standard",key:"interval",label:h.t(`sc_${e}`),value:a,slotProps:{htmlInput:{min:1,max:t},inputLabel:{shrink:!0}},onChange:c=>{this.setState({[e]:`*/${c.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!r&&!o&&this.getDigitsSelector(e,t))}static convertCronToText(e,t){return e.split(" ").includes("-")?h.t("ra_Invalid CRON"):h4(e,t)}setCronAttr(e,t,i){i?e==="seconds"?this.setState({seconds:t,modes:i},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t,modes:i},()=>this.recalcCron()):e==="hours"?this.setState({hours:t,modes:i},()=>this.recalcCron()):e==="dates"?this.setState({dates:t,modes:i},()=>this.recalcCron()):e==="months"?this.setState({months:t,modes:i},()=>this.recalcCron()):e==="dow"?this.setState({dow:t,modes:i},()=>this.recalcCron()):this.setState({modes:i},()=>this.recalcCron()):e==="seconds"?this.setState({seconds:t},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t},()=>this.recalcCron()):e==="hours"?this.setState({hours:t},()=>this.recalcCron()):e==="dates"?this.setState({dates:t},()=>this.recalcCron()):e==="months"?this.setState({months:t},()=>this.recalcCron()):e==="dow"&&this.setState({dow:t},()=>this.recalcCron())}render(){const e=this.state.seconds!==!1?this.state.tab:this.state.tab+1,t=this.state.minutes==="*"||this.state.minutes==="*/1",i=this.state.seconds==="*"||this.state.seconds==="*/1";return M.createElement("div",{style:xe.mainDiv},M.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},M.createElement(j.TextField,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),M.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},kt.convertCronToText(this.state.cron,this.props.language||"en"),M.createElement("span",{style:xe.warning},i?h.t("ra_warning_every_second"):t?h.t("ra_warning_every_minute"):"")),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{checked:!!this.state.seconds,onChange:r=>this.setState({seconds:r.target.checked?"*":!1},()=>this.recalcCron())}),label:h.t("ra_use seconds")}),M.createElement(j.AppBar,{position:"static",sx:{"&.MuiAppBar-root":xe.appBar},color:"secondary"},M.createElement(j.Tabs,{value:this.state.tab,style:xe.appBar,color:"secondary",onChange:(r,o)=>this.setState({tab:o})},this.state.seconds!==!1&&M.createElement(j.Tab,{id:"sc_seconds",label:h.t("sc_seconds")}),M.createElement(j.Tab,{id:"minutes",label:h.t("sc_minutes")}),M.createElement(j.Tab,{id:"hours",label:h.t("sc_hours")}),M.createElement(j.Tab,{id:"dates",label:h.t("sc_dates")}),M.createElement(j.Tab,{id:"months",label:h.t("sc_months")}),M.createElement(j.Tab,{id:"dow",label:h.t("sc_dows")}))),e===0&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("seconds",60)),e===1&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("minutes",60)),e===2&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("hours",24)),e===3&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("dates",31)),e===4&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("months",12)),e===5&&M.createElement("div",{style:xe.tabContent},this.getPeriodsTab("dow",7)))}}const gs={modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:8,top:8},languageButtonActive:s=>({color:s.palette.primary.main})};function F3e(s){const{open:e,toggleTranslation:t,noTranslation:i,title:r,fullWidth:o,help:n,maxWidth:a,progress:c,icon:l,applyDisabled:N,applyButton:u,onClose:L,children:g,titleButtonApply:y,titleButtonClose:T,onApply:d,textInput:z,defaultValue:I,overflowHidden:C}=s,[m,A]=f.useState(I||"");f.useEffect(()=>{A(I||"")},[I]);let D=null;return l&&(D=l),M.createElement(j.Dialog,{open:e,maxWidth:a||"md",fullWidth:!!o,disableEscapeKeyDown:!1,onClose:L,sx:{"& .MuiDialog-paper":gs.modalDialog}},r&&M.createElement(j.DialogTitle,null,l?M.createElement(D,{style:gs.titleIcon}):null,r,h.getLanguage()!=="en"&&t?M.createElement(j.IconButton,{size:"large",sx:O.getStyle(s.theme,gs.languageButton,i&&gs.languageButtonActive),onClick:()=>t(),title:h.t("Disable/Enable translation")},M.createElement(uL,null)):null),M.createElement(j.DialogContent,{style:{...gs.content,...C?gs.overflowHidden:void 0,paddingTop:8}},z&&M.createElement(j.TextField,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:m,onChange:p=>A(p.target.value)}),g,n?M.createElement("div",null,n):null),M.createElement(j.DialogActions,null,u!==!1&&M.createElement(j.Button,{startIcon:M.createElement(Oe,null),disabled:c||N&&I===m,onClick:()=>d(z?m:""),variant:"contained",color:"primary"},h.t(y||"ra_Ok")),M.createElement(j.Button,{color:"grey",onClick:L,disabled:c,variant:"contained",startIcon:M.createElement(Ne,null)},h.t(T||"ra_Cancel"))))}function JEe(){const s=BL();return[...s.breakpoints.keys].reverse().reduce((t,i)=>{const r=j.useMediaQuery(s.breakpoints.up(i));return!t&&r?i:t},null)||"xs"}function Io(){return s=>function(t){const i=JEe();return M.createElement(s,{...t,width:i})}}function REe(s){const[e,t]=M.useState(s.input||s.value||""),[i,r]=M.useState("");return M.createElement(j.Dialog,{open:!0,onClose:()=>s.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:s.fullWidth!==void 0?s.fullWidth:!1},M.createElement(j.DialogTitle,{id:"form-dialog-title"},s.titleText),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,null,s.promptText),M.createElement(j.TextField,{variant:"standard",autoFocus:!0,margin:"dense",error:!!i,helperText:i===!0||!i?"":i,value:e,label:s.labelText||"",type:s.type||"text",onKeyUp:o=>o.code==="Enter"&&e&&s.onClose(e),onChange:o=>{let n="";s.verify&&(n=!s.verify(o.target.value)),s.rule?t(s.rule(o.target.value)):t(o.target.value),r(n)},fullWidth:!0})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",disabled:!e||!!i,onClick:()=>s.onClose(e),color:"primary",startIcon:M.createElement(Oe,null)},s.applyText||h.t("ra_Ok")),M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>s.onClose(null),startIcon:M.createElement(Ne,null)},s.cancelText||h.t("ra_Cancel"))))}const FEe=Io()(REe);function $n(s){return M.createElement("svg",{onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 486 486",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:s.className,style:s.style},M.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"}),M.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"}))}function Ws(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 650 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}function fr(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 650 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}function dM(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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 GEe=s=>typeof s!="string"?{}:s.split(/ ?; ?/).reduce((e,t)=>{const[i,r]=t.split(/ ?: ?/).map((o,n)=>n===0?o.replace(/\s+/g,""):o.trim());if(i&&r){const o=i.replace(/(\w)-(\w)/g,(a,c,l)=>`${c}${l.toUpperCase()}`);let n=r.trim();Number.isNaN(Number(r))||(n=Number(r)),e[i.startsWith("-")?i:o]=n}return e},{});function HEe(s=6){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let t="";for(let i=s;i>0;--i)t+=e[Math.round(Math.random()*(e.length-1))];return t}var VEe=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],Dl={"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 ZEe(s,e){var o;const{key:t,level:i,...r}=e;switch(s.nodeType){case 1:return f.createElement(KEe(s.nodeName),XEe(s,t),hl(s.childNodes,i,r));case 3:{const n=((o=s.nodeValue)==null?void 0:o.toString())??"";if(!r.allowWhiteSpaces&&/^\s+$/.test(n)&&!/[\u00A0\u202F]/.test(n))return null;if(!s.parentNode)return n;const a=s.parentNode.nodeName.toLowerCase();return VEe.includes(a)?(/\S/.test(n)&&console.warn(`A textNode is not allowed inside '${a}'. Your text "${n}" will be ignored`),null):n}case 8:return null;case 11:return hl(s.childNodes,i,e);default:return null}}function XEe(s,e){const t={key:e};if(s instanceof Element){const i=s.getAttribute("class");i&&(t.className=i),[...s.attributes].forEach(r=>{switch(r.name){case"class":break;case"style":t[r.name]=GEe(r.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":t[Dl[r.name]||r.name]=!0;break;default:t[Dl[r.name]||r.name]=r.value}})}return t}function hl(s,e,t){const i=[...s].map((r,o)=>Vr(r,{...t,index:o,level:e+1})).filter(Boolean);return i.length?i:null}function KEe(s){return/[a-z]+[A-Z]+[a-z]+/.test(s)?s:s.toLowerCase()}function z4(s,e={}){return typeof s=="string"?qEe(s,e):s instanceof Node?Vr(s,e):null}function Vr(s,e={}){if(!s||!(s instanceof Node))return null;const{actions:t=[],index:i=0,level:r=0,randomKey:o}=e;let n=s,a=`${r}-${i}`;const c=[];return o&&r===0&&(a=`${HEe()}-${a}`),Array.isArray(t)&&t.forEach(l=>{l.condition(n,a,r)&&(typeof l.pre=="function"&&(n=l.pre(n,a,r),n instanceof Node||(n=s)),typeof l.post=="function"&&c.push(l.post(n,a,r)))}),c.length?c:ZEe(n,{key:a,level:r,...e})}function qEe(s,e={}){if(!s||typeof s!="string")return null;const{includeAllNodes:t=!1,nodeOnly:i=!1,selector:r="body > *",type:o="text/html"}=e;try{const a=new DOMParser().parseFromString(s,o);if(t){const{childNodes:l}=a.body;return i?l:[...l].map(N=>Vr(N,e))}const c=a.querySelector(r)||a.body.childNodes[0];if(!(c instanceof Node))throw new TypeError("Error parsing input");return i?c:Vr(c,e)}catch{}return null}var efe=Object.defineProperty,tfe=(s,e,t)=>e in s?efe(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,yr=(s,e,t)=>tfe(s,typeof e!="symbol"?e+"":e,t),zl="react-inlinesvg",sfe=10,se={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function ife(s){return s[Math.floor(Math.random()*s.length)]}function pi(){var s;return!!(typeof window<"u"&&((s=window.document)!=null&&s.createElement))}function rfe(){return Mfe()&&typeof window<"u"&&window!==null}function ofe(s,...e){const t={};for(const i in s)({}).hasOwnProperty.call(s,i)&&(e.includes(i)||(t[i]=s[i]));return t}function nfe(s){const e="abcdefghijklmnopqrstuvwxyz",i=`${e}${e.toUpperCase()}1234567890`;let r="";for(let o=0;o299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(o=>r.includes(o)))throw new Error(`Content type isn't valid: ${r}`);return t.text()}function afe(s=1){return new Promise(e=>{setTimeout(e,s*1e3)})}function Mfe(){if(!document)return!1;const s=document.createElement("div");s.innerHTML="";const e=s.firstChild;return!!e&&e.namespaceURI==="http://www.w3.org/2000/svg"}var cfe=class{constructor(){yr(this,"cacheApi"),yr(this,"cacheStore"),yr(this,"subscribers",[]),yr(this,"isReady",!1),this.cacheStore=new Map;let s=zl,e=!1;pi()&&(s=window.REACT_INLINESVG_CACHE_NAME??zl,e=!!window.REACT_INLINESVG_PERSISTENT_CACHE&&"caches"in window),e?caches.open(s).then(t=>{this.cacheApi=t}).catch(t=>{console.error(`Failed to open cache: ${t.message}`),this.cacheApi=void 0}).finally(()=>{this.isReady=!0;const t=[...this.subscribers];this.subscribers.length=0,t.forEach(i=>{try{i()}catch(r){console.error(`Error in CacheStore subscriber callback: ${r.message}`)}})}):this.isReady=!0}onReady(s){this.isReady?s():this.subscribers.push(s)}async get(s,e){var t;return await(this.cacheApi?this.fetchAndAddToPersistentCache(s,e):this.fetchAndAddToInternalCache(s,e)),((t=this.cacheStore.get(s))==null?void 0:t.content)??""}set(s,e){this.cacheStore.set(s,e)}isCached(s){var e;return((e=this.cacheStore.get(s))==null?void 0:e.status)===se.LOADED}async fetchAndAddToInternalCache(s,e){const t=this.cacheStore.get(s);if((t==null?void 0:t.status)===se.LOADING){await this.handleLoading(s,async()=>{this.cacheStore.set(s,{content:"",status:se.IDLE}),await this.fetchAndAddToInternalCache(s,e)});return}if(!(t!=null&&t.content)){this.cacheStore.set(s,{content:"",status:se.LOADING});try{const i=await w4(s,e);this.cacheStore.set(s,{content:i,status:se.LOADED})}catch(i){throw this.cacheStore.set(s,{content:"",status:se.FAILED}),i}}}async fetchAndAddToPersistentCache(s,e){var r,o,n;const t=this.cacheStore.get(s);if((t==null?void 0:t.status)===se.LOADED)return;if((t==null?void 0:t.status)===se.LOADING){await this.handleLoading(s,async()=>{this.cacheStore.set(s,{content:"",status:se.IDLE}),await this.fetchAndAddToPersistentCache(s,e)});return}this.cacheStore.set(s,{content:"",status:se.LOADING});const i=await((r=this.cacheApi)==null?void 0:r.match(s));if(i){const a=await i.text();this.cacheStore.set(s,{content:a,status:se.LOADED});return}try{await((o=this.cacheApi)==null?void 0:o.add(new Request(s,e)));const a=await((n=this.cacheApi)==null?void 0:n.match(s)),c=await(a==null?void 0:a.text())??"";this.cacheStore.set(s,{content:c,status:se.LOADED})}catch(a){throw this.cacheStore.set(s,{content:"",status:se.FAILED}),a}}async handleLoading(s,e){var t;for(let i=0;i({[s]:e}))}async delete(s){this.cacheApi&&await this.cacheApi.delete(s),this.cacheStore.delete(s)}async clear(){if(this.cacheApi){const s=await this.cacheApi.keys();await Promise.allSettled(s.map(e=>this.cacheApi.delete(e)))}this.cacheStore.clear()}};function wl(s){const e=f.useRef(void 0);return f.useEffect(()=>{e.current=s}),e.current}function ufe(s){const{baseURL:e,content:t,description:i,handleError:r,hash:o,preProcessor:n,title:a,uniquifyIDs:c=!1}=s;try{const l=lfe(t,n),N=z4(l,{nodeOnly:!0});if(!N||!(N instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const u=C4(N,{baseURL:e,hash:o,uniquifyIDs:c});if(i){const L=u.querySelector("desc");L!=null&&L.parentNode&&L.parentNode.removeChild(L);const g=document.createElementNS("http://www.w3.org/2000/svg","desc");g.innerHTML=i,u.prepend(g)}if(typeof a<"u"){const L=u.querySelector("title");if(L!=null&&L.parentNode&&L.parentNode.removeChild(L),a){const g=document.createElementNS("http://www.w3.org/2000/svg","title");g.innerHTML=a,u.prepend(g)}}return u}catch(l){return r(l)}}function lfe(s,e){return e?e(s):s}function C4(s,e){const{baseURL:t="",hash:i,uniquifyIDs:r}=e,o=["id","href","xlink:href","xlink:role","xlink:arcrole"],n=["href","xlink:href"],a=(c,l)=>n.includes(c)&&(l?!l.includes("#"):!1);return r&&[...s.children].forEach(c=>{var l;if((l=c.attributes)!=null&&l.length){const N=Object.values(c.attributes).map(u=>{const L=u,g=/url\((.*?)\)/.exec(u.value);return g!=null&&g[1]&&(L.value=u.value.replace(g[0],`url(${t}${g[1]}__${i})`)),L});o.forEach(u=>{const L=N.find(g=>g.name===u);L&&!a(u,L.value)&&(L.value=`${L.value}__${i}`)})}return c.children.length?C4(c,e):c}),s}var Us;function Nfe(s){const{cacheRequests:e=!0,children:t=null,description:i,fetchOptions:r,innerRef:o,loader:n=null,onError:a,onLoad:c,src:l,title:N,uniqueHash:u}=s,[L,g]=f.useReducer((G,H)=>({...G,...H}),{content:"",element:null,isCached:e&&Us.isCached(s.src),status:se.IDLE}),{content:y,element:T,isCached:d,status:z}=L,I=wl(s),C=wl(L),m=f.useRef(u??nfe(8)),A=f.useRef(!1),D=f.useRef(!1),p=f.useCallback(G=>{A.current&&(g({status:G.message==="Browser does not support SVG"?se.UNSUPPORTED:se.FAILED}),a==null||a(G))},[a]),_=f.useCallback((G,H=!1)=>{A.current&&g({content:G,isCached:H,status:se.LOADED})},[]),x=f.useCallback(async()=>{const G=await w4(l,r);_(G)},[r,_,l]),P=f.useCallback(()=>{try{const G=ufe({...s,handleError:p,hash:m.current,content:y}),H=z4(G);if(!H||!f.isValidElement(H))throw new Error("Could not convert the src to a React element");g({element:H,status:se.READY})}catch(G){p(G)}},[y,p,s]),v=f.useCallback(async()=>{const G=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(l);let H;if(G?H=G[1]?window.atob(G[2]):decodeURIComponent(G[2]):l.includes("{A.current&&g({content:"",element:null,isCached:!1,status:se.LOADING})},[]);f.useEffect(()=>{if(A.current=!0,!(!pi()||D.current)){try{if(z===se.IDLE){if(!rfe())throw new Error("Browser does not support SVG");if(!l)throw new Error("Missing src");ee()}}catch(G){p(G)}return D.current=!0,()=>{A.current=!1}}},[]),f.useEffect(()=>{if(!(!pi()||!I)&&I.src!==l){if(!l){p(new Error("Missing src"));return}ee()}},[p,ee,I,l]),f.useEffect(()=>{z===se.LOADED&&P()},[z,P]),f.useEffect(()=>{!pi()||!I||I.src!==l||(I.title!==N||I.description!==i)&&P()},[i,P,I,l,N]),f.useEffect(()=>{if(C)switch(z){case se.LOADING:{C.status!==se.LOADING&&v();break}case se.LOADED:{C.status!==se.LOADED&&P();break}case se.READY:{C.status!==se.READY&&(c==null||c(l,d));break}}},[v,P,d,c,C,l,z]);const ue=ofe(s,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return pi()?T?f.cloneElement(T,{ref:o,...ue}):[se.UNSUPPORTED,se.FAILED].includes(z)?t:n:n}function Pn(s){Us||(Us=new cfe);const{loader:e}=s,[t,i]=f.useState(Us.isReady);return f.useEffect(()=>{t||Us.onReady(()=>{i(!0)})},[t]),t?M.createElement(Nfe,{...s}):e}function Lfe(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("path",{fill:"currentColor",d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"}))}function G3e(s){let e;const t=s==null?void 0:s._id;return t?(t.startsWith("_design/")||t==="system"?e=M.createElement(kr,{className:"iconOwn"}):t==="0_userdata"||t==="0_userdata.0"?e=M.createElement(wg,{className:"iconOwn"}):t==="alias"||t==="alias.0"?e=M.createElement(Lfe,{className:"iconOwn"}):t==="system.adapter"?e=M.createElement(kr,{className:"iconOwn"}):t==="system.group"?e=M.createElement(ga,{className:"iconOwn"}):t==="system.user"?e=M.createElement(Na,{className:"iconOwn"}):t==="system.host"?e=M.createElement(La,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?e=M.createElement(Qs,{className:"iconOwn"}):t.endsWith(".info")?e=M.createElement(la,{className:"iconOwn"}):(s==null?void 0:s.type)==="meta"&&(e=M.createElement(Kr,{className:"iconOwn"})),e||null):null}function H3e(s,e){e=e||".";let t="";const i=s==null?void 0:s.common;if(i){const r=i.icon;if(r)if(r.startsWith("data:image/"))t=r;else if(r.includes(".")){let o;s.type==="instance"||s.type==="adapter"?t=`${e}/adapter/${i.name}/${r}`:s._id&&s._id.startsWith("system.adapter.")?(o=s._id.split(".",3),r[0]==="/"?o[2]+=r:o[2]+=`/${r}`,t=`${e}/adapter/${o[2]}`):(o=s._id.split(".",2),r[0]==="/"?o[0]+=r:o[0]+=`/${r}`,t=`${e}/adapter/${o[0]}`)}else return null}return t||null}const gfe=window.location.hostname.endsWith("iobroker.in"),Cl=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);function me(s){var e,t,i;if(s.src){if(typeof s.src=="string"){if(s.src.length<3)return s.sx?M.createElement(j.Box,{component:"span",sx:s.sx,title:s.title||void 0,style:{height:27,marginTop:-8,...s.styleUTF8||s.style},className:O.clsx(s.className,"iconOwn")},s.src):M.createElement("span",{title:s.title||void 0,style:{height:27,marginTop:-8,...s.styleUTF8||s.style},className:O.clsx(s.className,"iconOwn")},s.src);if(s.src.startsWith("data:image/svg"))return M.createElement(Pn,{title:s.title||void 0,src:s.src,className:O.clsx(s.className,"iconOwn"),width:((e=s.style)==null?void 0:e.width)||28,height:((t=s.style)==null?void 0:t.height)||((i=s.style)==null?void 0:i.width)||28,style:s.style||void 0});if(gfe&&!s.src.startsWith("http://")&&!s.src.startsWith("https://")){let r=s.src;return r.startsWith("./")?r=Cl+r.substring(2):r.startsWith("/")||(r=Cl+r),s.sx?M.createElement(j.Box,{component:"img",sx:s.sx,title:s.title||void 0,style:s.style||void 0,className:O.clsx(s.className,"iconOwn"),src:`https://remote-files.iobroker.in${r}`,alt:s.alt||void 0,ref:s.ref,onError:o=>s.onError&&s.onError(o)}):M.createElement("img",{title:s.title||void 0,style:s.style||void 0,className:O.clsx(s.className,"iconOwn"),src:`https://remote-files.iobroker.in${r}`,alt:s.alt||void 0,ref:s.ref,onError:o=>s.onError&&s.onError(o)})}return s.sx?M.createElement(j.Box,{component:"img",sx:s.sx,title:s.title||void 0,style:s.style||void 0,className:O.clsx(s.className,"iconOwn"),src:s.src,alt:s.alt||void 0,ref:s.ref,onError:s.onError}):M.createElement("img",{title:s.title||void 0,style:s.style||void 0,className:O.clsx(s.className,"iconOwn"),src:s.src,alt:s.alt||void 0,ref:s.ref,onError:s.onError})}return s.src}return null}const Bt={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"}},we={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 Il(s,e){let t="";const i=new Uint8Array((s==null?void 0:s.data)||s),r=i.byteLength;for(let o=0;o{let o="";r.file!==void 0&&(o=r.file);const n={copyPossible:this.state.copyPossible,ext:this.state.ext};if(o.type==="Buffer")if(i.toLowerCase().endsWith(".json5")){n.ext="json5",n.copyPossible=!0;try{o=atob(Il(o,!0))}catch{console.error("Cannot convert base64 to string"),o=""}}else{const a=O.detectMimeType(Il(o));a&&(n.ext=a,n.copyPossible=we.code.includes(a)||we.txt.includes(a))}n.copyPossible&&(n.ext&&we.txt.includes(n.ext)?(n.text=o,n.editingValue=o):n.ext&&we.code.includes(n.ext)&&(n.code=o,n.editingValue=o)),this.setState(n)}).catch(r=>window.alert(`Cannot read file: ${r}`))}}componentDidMount(){this.readFile();const e=this.props.href.split("/");e.splice(0,2);const t=e[0],i=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,i,this.onFileChanged).catch(r=>window.alert(`Cannot subscribe on file: ${r}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);const e=this.props.href.split("/");e.splice(0,2);const t=e[0],i=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,i,this.onFileChanged).catch(r=>window.alert(`Cannot subscribe on file: ${r}`))}onFileChanged=(e,t,i)=>{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,i===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))};getEditorOrViewer(){return M.createElement(j.TextField,{variant:"standard",style:Bt.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&we.images.includes(this.state.ext)?this.state.imgError?M.createElement(dM,{style:{...Bt.img,...this.props.getStyleBackgroundImage()}}):M.createElement(me,{onError:e=>{e.target.onerror=null,this.setState({imgError:!0})},style:{...Bt.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&we.audio.includes(this.state.ext)?M.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},M.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&we.video.includes(this.state.ext)?M.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},M.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},M.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 M.createElement(j.Dialog,{sx:{"&.MuiDialog-scrollPaper":Bt.dialog,"& .MuiDialog-paper":Bt.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},M.createElement("div",{style:Bt.dialogTitle},M.createElement(j.DialogTitle,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&we.images.includes(this.state.ext)&&M.createElement("div",null,M.createElement(j.IconButton,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},M.createElement(ca,null)))),M.createElement(j.DialogContent,{style:Bt.content},this.getContent()),M.createElement(j.DialogActions,null,this.state.copyPossible?M.createElement(j.Button,{color:"grey",onClick:e=>{e.stopPropagation(),e.preventDefault(),O.copyToClipboard(this.state.text||this.state.code||"")},startIcon:M.createElement(rg,null)},this.props.t("Copy content")):null,this.state.editing?M.createElement(j.Button,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:M.createElement(cn,null)},this.props.t("Save")):null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:M.createElement(Ne,null)},this.props.t("Close"))))}}const yfe=Io()(jfe),js=32,Lt=32,Tr=120,pl=64,Al="Not found",dr={all:jN,images:jg,code:ua,txt:Lg,audio:FL,video:Eg},Y={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 8px)",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 ${pl}px`},itemTile:s=>({position:"relative",userSelect:"none",cursor:"pointer",height:Tr,width:pl,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:s.palette.secondary.light,color:O.invertColor(s.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:s=>({width:"100%",height:Tr-32-16-8,display:"block",pl:1,color:s.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:s=>({position:"absolute",top:22,left:18,zIndex:1,color:(s.palette.mode==="dark","#FFF")}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:Tr-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:Tr-32-16-8,display:"block",objectFit:"contain"},itemSelected:s=>({background:s.palette.primary.main,color:O.invertColor(s.palette.primary.main,!0)}),itemTable:s=>({userSelect:"none",cursor:"pointer",height:js,display:"inline-flex",lineHeight:`${js}px`,"&:hover":{background:s.palette.secondary.light,color:O.invertColor(s.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:s=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:s.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:s=>({display:"inline-block",width:Lt,height:js,minWidth:Lt,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${Lt/2}px`,"&:hover":{backgroundColor:s.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:s.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:Lt,height:js,minWidth:Lt,padding:0},itemAclButtonTable:{width:Lt,height:js,minWidth:Lt,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:Lt,height:js,minWidth:Lt,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:s=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:s.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:s=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:s.palette.secondary.main,color:s.palette.secondary.contrastText,borderRadius:"4px 4px 0 0"}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:s=>({pl:"2px",pr:"2px",cursor:"pointer",color:"white","&:hover":{backgroundColor:s.palette.primary.main,color:s.palette.primary.contrastText}}),pathDivBreadcrumbSelected:{color:"#FFF"},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:s=>({color:s.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},mt="0_userdata.0";function ys(s){const e=(s||"").split("/");return e.length&&e.pop(),e.join("/")}function Vo(s){const e=O.getFileExtension(s);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const te="Table",Zo="Tile";function ml(s,e){return s.folder&&e.folder?s.name>e.name?1:s.namee.name?1:s.name{var l;return c.startsWith(`${this.limitToPath}/`)||c===this.limitToPath||((l=this.limitToPath)==null?void 0:l.startsWith(`${c}/`))}))}catch{i=[]}let r;this.props.showViewTypeButton?r=this.localStorage.getItem("files.viewType")||te:r=te;let o=this.props.selected||this.localStorage.getItem("files.selected")||mt,n;if(e.restrictToFolder){o=e.restrictToFolder,n=e.restrictToFolder;const c=e.restrictToFolder.split("/");i=[];let l="";for(let N=0;N{if(this.state.viewType===te&&!this.findItem(this.state.selected)){const t=this.state.selected.split("/");for(;t.length&&!this.findItem(t.join("/"));)t.pop();let i;t.length?i=t.join("/"):i=mt,this.setState({selected:i,path:i,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){const e=document.getElementById(this.state.selected);e==null||e.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(e=>console.error(`Cannot load folders: ${e}`)),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(e=>e&&clearTimeout(e)),this._tempTimeout={}}browseFoldersCb(e,t,i){if(!(e!=null&&e.length))i(t);else{const r=e.shift();r?this.browseFolder(r,t).catch(o=>console.error(`Cannot read folder ${r}: ${o.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(e,t,i),0)}):setTimeout(()=>this.browseFoldersCb(e,t,i),0)}}browseFolders(e,t){let i;return t?i=t:(i={},Object.keys(this.state.folders).forEach(r=>i[r]=this.state.folders[r])),e!=null&&e.length?new Promise(r=>{this.browseFoldersCb(e,i,r)}):Promise.resolve(i)}readDirSerial(e,t){return new Promise((i,r)=>{this.browseList&&(this.browseList.push({resolve:i,reject:r,adapter:e,relPath:t}),this.browseListRunning||this.processBrowseList())})}processBrowseList(e=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(t=>{if(this.browseList){const i=this.browseList.shift();if(i){const r=i.resolve;i.resolve=null,i.reject=null,i.adapter=null,i.relPath=null,r&&r(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(t=>{if(this.browseList){const i=this.browseList.shift();if(i){const r=i.reject;i.resolve=null,i.reject=null,i.adapter=null,i.relPath=null,r&&r(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(e,t,i,r){let o;if(t?o=t:(o={},Object.keys(this.state.folders).forEach(u=>{o[u]=this.state.folders[u]})),o[e]&&!r)return i?Promise.resolve(o):new Promise((u,L)=>{Promise.all(o[e].filter(g=>g.folder).map(g=>this.browseFolder(g.id,o,!0).catch(()=>{}))).then(()=>u(o)).catch(g=>L(new Error(g)))});if(!e||e==="/"){try{let u=await this.props.socket.readMetaItems();const L=[];let g=null;if(this.state.restrictToFolder){const T=this.state.restrictToFolder.split("/")[0];u=u.filter(d=>d._id===T)}else this.state.expertMode||(u=u.filter(T=>!T._id.endsWith(".admin")));const y=u.findIndex(T=>T._id==="system.meta.uuid");if(y!==-1&&u.splice(y,1),u.forEach(T=>{if(this.limitToObjectID&&this.limitToObjectID!==T._id)return;const d={id:T._id,name:T._id,title:T.common&&T.common.name||T._id,meta:!0,from:T.from,ts:T.ts,color:T.common&&T.common.color,icon:T.common&&T.common.icon,folder:!0,acl:T.acl,level:0};d.id===mt?g=d:L.push(d)}),L.sort((T,d)=>T.id>d.id?1:T.idT.folder).map(T=>this.browseFolder(T.id,o,!0).catch(()=>{}))).then(()=>o)}catch(u){const L=u;this.initialReadFinished&&window.alert(`Cannot read meta items: ${L.message}`),o[e||"/"]=[]}return o}const n=e.split("/"),a=n.length,c=n.shift(),l=n.join("/");let N;try{N=await this.readDirSerial(c||"",l)}catch(u){if(u==="Not exists"&&c==="0_userdata.0")N=[];else throw u}try{const u=[];if(N.forEach(L=>{var y;const g={id:`${e}/${L.file}`,ext:O.getFileExtension(L.file),folder:L.isDir,name:L.file,size:(y=L.stats)==null?void 0:y.size,modified:L.modifiedAt,acl:L.acl,level:a};this.state.restrictToFolder?(g.folder&&(g.id.startsWith(`${this.state.restrictToFolder}/`)||g.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${g.id}/`))||g.id.startsWith(`${this.state.restrictToFolder}/`))&&u.push(g):this.limitToPath?(g.folder&&(g.id.startsWith(`${this.limitToPath}/`)||g.id===this.limitToPath||this.limitToPath.startsWith(`${g.id}/`))||g.id.startsWith(`${this.limitToPath}/`))&&u.push(g):u.push(g)}),u.sort(ml),o[e]=u,!i)return Promise.all(u.filter(L=>L.folder).map(L=>this.browseFolder(L.id,o,!0))).then(()=>o)}catch(u){const L=u;this.initialReadFinished&&window.alert(`Cannot read ${c}${l?`/${l}`:""}: ${L==null?void 0:L.message}`),o[e]=[]}return o}toggleFolder(e,t){t==null||t.stopPropagation();const i=[...this.state.expanded],r=i.indexOf(e.id);r===-1?(i.push(e.id),i.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(i)),e.temp?this.setState({expanded:i}):this.browseFolder(e.id).then(o=>this.setState({expanded:i,folders:o})).catch(o=>window.alert(o===Al?this.props.t('ra_Cannot find "%s"',e.id):this.props.t('ra_Cannot read "%s"',e.id)))):(i.splice(r,1),this.localStorage.setItem("files.expanded",JSON.stringify(i)),this.setState({expanded:i}))}onFileChange=(e,t,i)=>{const r=`${e}/${t}`,o=r.lastIndexOf("/"),n=r.substring(0,o);console.log(`File changed ${r}[${i}]`),this.state.folders[n]&&(this._tempTimeout[n]&&clearTimeout(this._tempTimeout[n]),this._tempTimeout[n]=setTimeout(()=>{delete this._tempTimeout[n],this.browseFolder(n,null,!1,!0).then(a=>this.setState({folders:a})).catch(a=>console.error(`Cannot read folder: ${a.message}`))},300))};changeFolder(e,t){var r;e==null||e.stopPropagation(),this.lastSelect=Date.now();let i=t||ys(this.state.currentDir);if(i==="/"&&(i=""),this.state.viewType==="Tile"&&((r=this.refFileDiv.current)!=null&&r.scrollTop)&&(this.scrollPositions[this.state.currentDir]=this.refFileDiv.current.scrollTop),this.localStorage.setItem("files.currentDir",i),t&&e&&(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)){this.setState({selected:i});return}if(i&&!this.state.folders[i]){this.browseFolder(i).then(o=>this.setState({folders:o,path:i,currentDir:i,selected:i,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(o=>console.error(`Cannot read folder: ${o.message}`));return}this.setState({currentDir:i,selected:i,path:i,pathFocus:!1},()=>{if(this.props.onSelect&&this.props.onSelect(""),this.state.viewType==="Tile"&&this.scrollPositions[this.state.currentDir]){const o=this.scrollPositions[this.state.currentDir];delete this.scrollPositions[this.state.currentDir],this.refFileDiv.current&&(this.refFileDiv.current.scrollTop=o)}})}select(e,t,i){t&&t.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",e),this.setState({selected:e,path:e,pathFocus:!1},()=>{if(this.props.onSelect){const r=O.getFileExtension(e);(!this.props.filterFiles||r&&this.props.filterFiles.includes(r))&&(!this.state.filterByType||r&&we[this.state.filterByType].includes(r))?this.props.onSelect(e,!1,!!this.state.folders[e]):this.props.onSelect("")}i&&i()})}getText(e){if(e)return typeof e=="object"?e[this.props.lang]||e.en||void 0:e}renderFolder(e,t){var c;if(this.state.filterEmpty&&!((c=this.state.folders[e.id])!=null&&c.length)&&e.id!==mt&&!e.temp)return null;const i=t?fr:Ws,r=this.state.viewType===te?e.level*this.levelPadding:0,o=e.name===mt,n=o||e.name==="vis.0"||e.name==="vis-2.0",a=O.getStyle(this.props.theme,Y[`itemFolderIcon${this.state.viewType}`],n&&Y.specialFolder);return M.createElement(j.Box,{component:"div",key:e.id,id:e.id,style:this.state.viewType===te?{marginLeft:r,width:`calc(100% - ${r}px`}:void 0,onClick:l=>this.state.viewType===te?this.select(e.id,l):this.changeFolder(l,e.id),onDoubleClick:l=>this.state.viewType===te&&this.toggleFolder(e,l),title:this.getText(e.title),className:"browserItem",sx:O.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFolder${this.state.viewType}`],this.state.selected===e.id?Y.itemSelected:{},e.temp?Y.itemFolderTemp:{})},M.createElement(i,{style:a,onClick:this.state.viewType===te?l=>this.toggleFolder(e,l):void 0}),M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,Y[`itemName${this.state.viewType}`],Y[`itemNameFolder${this.state.viewType}`])},o?this.props.t("ra_User files"):e.name),M.createElement(j.Box,{component:"div",style:Y[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===te&&this.state.folders[e.id]?this.state.folders[e.id].length:""),M.createElement(j.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===te&&this.props.expertMode?this.formatAcl(e.acl):null),this.state.viewType===te&&this.props.expertMode?M.createElement(j.Box,{component:"div",sx:{...Y.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===te&&this.props.allowDownload?M.createElement("div",{style:Y[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===te&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?M.createElement(j.IconButton,{"aria-label":"delete",onClick:l=>{l.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:Y[`itemDeleteButton${this.state.viewType}`],size:"large"},M.createElement(nt,{fontSize:"small"})):this.state.viewType===te&&this.props.allowDelete?M.createElement(j.Box,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return M.createElement(j.Box,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:e=>this.changeFolder(e),title:this.props.t("ra_Back to %s",ys(this.state.currentDir)),className:"browserItem",sx:O.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFolder${this.state.viewType}`])},M.createElement(Ws,{style:O.getStyle(this.props.theme,Y[`itemFolderIcon${this.state.viewType}`])}),M.createElement(JL,{sx:Y.itemFolderIconBack}),M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,Y[`itemName${this.state.viewType}`],Y[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(e){return M.createElement("div",{style:Y[`itemSize${this.state.viewType}`]},e||e===0?O.formatBytes(e):"")}formatAcl(e){const t=e?e.permissions||e.file:0;let i;return t?i=t.toString(16).padStart(3,"0"):i="",M.createElement("div",{style:Y[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?M.createElement(j.IconButton,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:Y[`itemAclButton${this.state.viewType}`]},i||"---"):i||"---")}getFileIcon(e){switch(e){case"json":case"json5":return M.createElement(HL,{style:Y[`itemIcon${this.state.viewType}`]});case"css":return M.createElement(VL,{style:Y[`itemIcon${this.state.viewType}`]});case"js":case"ts":return M.createElement(ua,{style:Y[`itemIcon${this.state.viewType}`]});case"html":case"md":return M.createElement(Kr,{style:Y[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return M.createElement(hg,{style:Y[`itemIcon${this.state.viewType}`]});default:return M.createElement(jN,{style:Y[`itemIcon${this.state.viewType}`]})}}static getEditFile(e){switch(e){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":return!0;default:return!1}}setStateBackgroundImage=()=>{const e=["light","dark","colored","delete"];this.setState(({backgroundImage:t})=>t&&e.indexOf(t)!==-1&&e.length-1!==e.indexOf(t)?(this.localStorage.setItem("files.backgroundImage",e[e.indexOf(t)+1]),{backgroundImage:e[e.indexOf(t)+1]}):(this.localStorage.setItem("files.backgroundImage",e[0]),{backgroundImage:e[0]}))};getStyleBackgroundImage=()=>{switch(this.state.backgroundImage){case"light":return Y.backgroundImageLight;case"dark":return Y.backgroundImageDark;case"colored":return Y.backgroundImageColored;case"delete":return null;default:return null}};renderFile(e){const t=this.state.viewType===te?e.level*this.levelPadding:0,i=O.getFileExtension(e.name);return M.createElement(j.Box,{component:"div",key:e.id,id:e.id,onDoubleClick:r=>{r.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&we[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:i})},onClick:r=>this.select(e.id,r),style:this.state.viewType===te?{marginLeft:t,width:`calc(100% - ${t}px)`}:void 0,className:"browserItem",sx:O.getStyle(this.props.theme,Y[`item${this.state.viewType}`],Y[`itemFile${this.state.viewType}`],this.state.selected===e.id?Y.itemSelected:void 0)},i&&we.images.includes(i)?this.state.fileErrors.includes(e.id)?M.createElement(dM,{style:{...Y[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...Y[`itemNoImage${this.state.viewType}`]}}):M.createElement(me,{onError:r=>{r.target.onerror=null;const o=[...this.state.fileErrors];o.includes(e.id)||(o.push(e.id),this.setState({fileErrors:o}))},style:{...Y[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+e.id,alt:e.name}):this.getFileIcon(i),M.createElement(j.Box,{component:"div",sx:Y[`itemName${this.state.viewType}`]},e.name),M.createElement(j.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(e.size)),M.createElement(j.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===te&&this.props.expertMode?this.formatAcl(e.acl):null),M.createElement(j.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===te&&this.props.expertMode&&DM.getEditFile(i)?M.createElement(j.IconButton,{"aria-label":"edit",onClick:r=>{r.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&we[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:i})},sx:Y.itemDeleteButtonTable,size:"large"},M.createElement(mi,{fontSize:"small"})):M.createElement(j.Box,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===te&&this.props.allowDownload?M.createElement(j.Box,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:Y.itemDownloadButtonTable,tabIndex:0,download:e.id,href:this.imagePrefix+e.id,onClick:r=>r.stopPropagation()},M.createElement(Cg,null)):null,this.state.viewType===te&&this.props.allowDelete&&e.id!=="vis.0/"&&e.id!=="vis-2.0/"&&e.id!==mt?M.createElement(j.IconButton,{"aria-label":"delete",onClick:r=>{r.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:Y[`itemDeleteButton${this.state.viewType}`],size:"large"},M.createElement(nt,{fontSize:"small"})):this.state.viewType===te&&this.props.allowDelete?M.createElement(j.Box,{component:"div",sx:Y[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(e){var t;if((t=this.state.folders)!=null&&t[e]){if(this.state.viewType===Zo){const r=[];return e&&e!=="/"&&r.push(this.renderBackFolder()),this.state.folders[e].forEach(o=>{o.folder?r.push(this.renderFolder(o)):(!this.props.filterFiles||o.ext&&this.props.filterFiles.includes(o.ext))&&(!this.state.filterByType||o.ext&&we[this.state.filterByType].includes(o.ext))&&r.push(this.renderFile(o))}),r}const i=[];return this.state.folders[e].forEach(r=>{if(r.folder){const o=this.state.expanded.includes(r.id),n=this.renderFolder(r,o);if(Array.isArray(n)?n.forEach(a=>i.push(a)):i.push(n),this.state.folders[r.id]&&o){const a=this.renderItems(r.id);Array.isArray(a)?a.forEach(c=>i.push(c)):i.push(a)}}else(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&we[this.state.filterByType].includes(r.ext))&&i.push(this.renderFile(r))}),i}return M.createElement("div",{style:{position:"relative"}},M.createElement(j.CircularProgress,{key:e,color:"secondary",size:24}),M.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){const e=this.props.showTypeSelector?dr[this.state.filterByType||"all"]||dr.all:null,t=this.findFirstFolder(this.state.selected);return M.createElement(j.Toolbar,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?M.createElement(j.IconButton,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...Y.menuButton,...this.state.restrictToFolder?Y.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},M.createElement(Ng,{fontSize:"small"})):null,this.props.showExpertButton?M.createElement(j.IconButton,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...Y.menuButton,...this.state.expertMode?Y.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},M.createElement($n,null)):null,this.props.showViewTypeButton?M.createElement(j.IconButton,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:Y.menuButton,"aria-label":"view mode",onClick:()=>{const i=this.state.viewType===te?Zo:te;this.localStorage.setItem("files.viewType",i);let r=this.state.selected;Vo(r)&&(r=ys(r)),this.setState({viewType:i,currentDir:r},()=>{this.state.viewType===te&&this.scrollToSelected()})},size:"small"},this.state.viewType!==te?M.createElement(Tg,{fontSize:"small"}):M.createElement(_g,{fontSize:"small"})):null,M.createElement(j.IconButton,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:Y.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"},M.createElement(lg,{fontSize:"small"})),M.createElement(j.IconButton,{edge:"start",title:this.props.t("ra_Reload files"),style:Y.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},M.createElement(TN,{fontSize:"small"})),this.props.allowCreateFolder?M.createElement(j.IconButton,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:Y.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},M.createElement(gN,{fontSize:"small"})):null,this.props.allowUpload?M.createElement(j.IconButton,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:Y.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},M.createElement(Sr,{fontSize:"small"})):null,this.props.showTypeSelector&&e?M.createElement(j.Tooltip,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:Y.tooltip}}},M.createElement(j.IconButton,{size:"small",onClick:i=>this.setState({showTypesMenu:i.target})},M.createElement(e,{fontSize:"small"}))):null,this.state.showTypesMenu?M.createElement(j.Menu,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(dr).map(i=>{const r=dr[i];return M.createElement(j.MenuItem,{key:i,selected:this.state.filterByType===i,onClick:()=>{i==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",i),this.setState({filterByType:i,showTypesMenu:null}))}},M.createElement(j.ListItemIcon,null,M.createElement(r,{fontSize:"small"})),M.createElement(j.ListItemText,null,this.props.t(`ra_fileType_${i}`)))})):null,M.createElement(j.Tooltip,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:Y.tooltip}}},M.createElement(j.IconButton,{color:"inherit",edge:"start",style:Y.menuButton,onClick:this.setStateBackgroundImage,size:"small"},M.createElement(ca,{fontSize:"small"}))),this.state.viewType!==te&&this.props.allowDelete?M.createElement(j.Tooltip,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:Y.tooltip}}},M.createElement("span",null,M.createElement(j.IconButton,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===mt,color:"inherit",edge:"start",style:Y.menuButton,onClick:i=>{i.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},M.createElement(nt,{fontSize:"small"})))):null)}findItem(e,t){if(t=t||this.state.folders,!t)return null;const i=e.split("/");i.pop();const r=i.join("/")||"/";return t[r]&&t[r].find(o=>o.id===e)||null}renderInputDialog(){if(this.state.addFolder){const e=this.findFirstFolder(this.state.selected);return e?M.createElement(FEe,{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:t=>this.state.folders[e].find(i=>i.name===t)?"":this.props.t("ra_Duplicate name"),onClose:t=>{if(t){const i={};Object.keys(this.state.folders).forEach(a=>i[a]=this.state.folders[a]);const r=this.findItem(e),o=`${e}/${t}`;i[e].push({id:o,level:((r==null?void 0:r.level)||0)+1,name:t,folder:!0,temp:!0}),i[e].sort(ml),i[o]=[];const n=[...this.state.expanded];n.includes(e)||(n.push(e),n.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(n)),this.setState({addFolder:!1,folders:i,expanded:n},()=>this.select(o))}else this.setState({addFolder:!1})},replace:t=>t.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;const e=window.document.getElementsByClassName("browserItem");for(let t=0;tthis.setState({uploadFile:!1})},M.createElement(Ne,null)),M.createElement(NN,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:e=>{let t=e.length;e.forEach(i=>{const r=new FileReader;r.onabort=()=>console.log("file reading was aborted"),r.onerror=()=>console.log("file reading has failed"),r.onload=()=>{const o=this.findFirstFolder(this.state.selected);if(!o)window.alert(this.props.t("ra_Invalid parent folder!"));else{const n=`${o}/${i.name}`;this.uploadFile(n,r.result).then(()=>{--t||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){const a=[...this.state.expanded];a.includes(o)||(a.push(o),a.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(a))),this.setState({expanded:a},()=>this.select(n))}else setTimeout(()=>this.browseFolder(o,null,!1,!0).then(a=>{const c=[...this.state.expanded];c.includes(o)||(c.push(o),c.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(c))),this.setState({folders:a,expanded:c},()=>this.select(n))}),500)})})}},r.readAsArrayBuffer(i)})}},({getRootProps:e,getInputProps:t})=>M.createElement("div",{style:{...Y.uploadDiv,...this.state.uploadFile==="dragging"?Y.uploadDivDragging:void 0},...e()},M.createElement("input",{...t()}),M.createElement(j.Box,{component:"div",sx:Y.uploadCenterDiv},M.createElement("div",{style:Y.uploadCenterTextAndIcon},M.createElement(Sr,{style:Y.uploadCenterIcon}),M.createElement("div",{style:Y.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(e){const t=this.findItem(e);if(t!=null&&t.folder)return(this.state.folders[e]?Promise.all(this.state.folders[e].map(o=>this.deleteRecursive(o.id))):Promise.resolve()).then(()=>{if(t.level>=1){const o=e.split("/"),n=o.shift();this.props.socket.deleteFolder(n||"",o.join("/")).then(()=>{const a=JSON.parse(JSON.stringify(this.state.folders));delete a[t.id];const c=ys(t.id),l=a[c];if(l){const N=l.findIndex(u=>u.id===t.id);N!==-1&&l.splice(N,1),this.select(c,null,()=>this.setState({folders:a}))}})}});const i=e.split("/"),r=i.shift();return i.length?this.props.socket.deleteFile(r||"",i.join("/")).catch(o=>window.alert(`Cannot delete file: ${o}`)):Promise.resolve()}deleteItem(e){e=e||this.state.deleteItem,this.state.suppressDeleteConfirm&&(this.suppressDeleteConfirm=Date.now()+6e4*5),this.setState({deleteItem:"",suppressDeleteConfirm:!1},()=>this.deleteRecursive(e).then(()=>{const t={},i=this.state.expanded.indexOf(e);if(i!==-1){const r=[...this.state.expanded];r.splice(i,1),this.localStorage.setItem("files.expanded",JSON.stringify(r)),t.expanded=r}if(this.state.selected===e){const r=this.state.selected.split("/");r.pop(),t.selected=r.join("/")}if(this.supportSubscribes)this.setState(t);else{const r=this.findFirstFolder(e),o={};Object.keys(this.state.folders).forEach(n=>{n!==r&&!n.startsWith(`${r}/`)&&(o[n]=this.state.folders[n])}),t.folders=o,this.setState(t,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],o).then(n=>this.setState({folders:n})).catch(n=>console.error(n))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?M.createElement(j.Dialog,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},M.createElement(j.DialogTitle,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,null,this.props.t("ra_Are you sure?")),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{checked:this.state.suppressDeleteConfirm,onChange:()=>{this.setState({suppressDeleteConfirm:!this.state.suppressDeleteConfirm})}}),label:this.props.t("ra_no confirm for 5 mins")})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),M.createElement(j.Button,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const e=this.props.FileViewer||yfe;return this.state.viewer?M.createElement(e,{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?M.createElement(r0,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(e){this.cacheFolders||=JSON.parse(JSON.stringify(this.state.folders));let t;e.forEach(i=>{const r=this.findItem(i.id,this.cacheFolders);r&&JSON.stringify(r.acl)!==JSON.stringify(i.acl)&&(r.acl=i.acl,t=!0)}),t&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;const i=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:i})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let e=this.state.path;Vo(this.state.path)&&(e=ys(this.state.path)),new Promise(t=>{this.state.folders[e]?t(!0):this.browseFolder(e).then(i=>this.setState({folders:i},()=>t(!0))).catch(i=>this.setState({errorText:i===Al?this.props.t('ra_Cannot find "%s"',e):this.props.t('ra_Cannot read "%s"',e)}))}).then(t=>t&&this.setState({selected:this.state.path,currentDir:e,pathFocus:!1})).catch(t=>console.error(t))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){const e=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),t=[];return M.createElement(j.Breadcrumbs,{style:{paddingLeft:8,color:"#FFF"}},e.map((i,r)=>{i&&t.push(i);const o=t.join("/");return rthis.changeFolder(n,o||"/")},i||this.props.t("ra_Root")):M.createElement("div",{style:Y.pathDivBreadcrumbSelected,key:`${this.state.selected}_${r}`,onClick:()=>this.setState({pathFocus:!0})},i)}))}renderPath(){return M.createElement(j.Box,{component:"div",key:"path",sx:Y.pathDiv},this.state.pathFocus?M.createElement(j.Input,{value:this.state.path,onKeyDown:e=>{e.key==="Enter"?this.changeToPath():e.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:M.createElement(j.IconButton,{size:"small",onClick:()=>this.changeToPath()},M.createElement(yg,null)),onBlur:()=>this.changeToPath(),onChange:e=>this.setState({path:e.target.value}),style:Y.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(e=>console.error(`Cannot load folders: ${e}`))})},300)),M.createElement("div",{style:{...Y.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===Zo?this.renderPath():null,M.createElement("div",{style:{...Y.filesDiv,...Y[`filesDiv${this.state.viewType}`]},onClick:e=>{this.state.viewType!==te&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(e,this.state.currentDir||"/"):e.stopPropagation())},id:"dev",ref:this.refFileDiv},this.state.viewType===te?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==te?M.createElement("div",{style:Y.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())):M.createElement(j.LinearProgress,null)}}const Tfe=Io()(DM),dfe="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIC0xMjAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDcyIDBoLTQ2NGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxOTJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGgzMnYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQwYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDI4OHYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQwYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDMyYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTE5MmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tMzkyIDIyNGgtMjR2LTE2aDI0em0zNDQgMGgtMjR2LTE2aDI0em00MC0zMmgtNDQ4di0xNzZoNDQ4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjU2IDE3NmMzNS4zNDc2NTYgMCA2NC0yOC42NTIzNDQgNjQtNjRzLTI4LjY1MjM0NC02NC02NC02NC02NCAyOC42NTIzNDQtNjQgNjRjLjAzOTA2MiAzNS4zMjgxMjUgMjguNjcxODc1IDYzLjk2MDkzOCA2NCA2NHptLTgtMTExLjI4MTI1djE1LjI4MTI1aDE2di0xNS4yODEyNWMyNC42MDU0NjkgNC4xNjAxNTYgNDEuOTE3OTY5IDI2LjQ3NjU2MiAzOS44MzIwMzEgNTEuMzQzNzUtMi4wODU5MzcgMjQuODY3MTg4LTIyLjg3ODkwNiA0My45ODQzNzUtNDcuODMyMDMxIDQzLjk4NDM3NXMtNDUuNzQ2MDk0LTE5LjExNzE4Ny00Ny44MzIwMzEtNDMuOTg0Mzc1Yy0yLjA4NTkzOC0yNC44NjcxODggMTUuMjI2NTYyLTQ3LjE4MzU5NCAzOS44MzIwMzEtNTEuMzQzNzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjAgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYwIDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNjQgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNjQgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzY4IDE3NmMxNi4wOTM3NS4wMTk1MzEgMjkuNjg3NS0xMS45Mzc1IDMxLjcxODc1LTI3LjkwNjI1IDIuMDM1MTU2LTE1Ljk2NDg0NC04LjEzMjgxMi0zMC45NDUzMTItMjMuNzE4NzUtMzQuOTU3MDMxdi0xNy4xMzY3MTloLTE2djE3LjEzNjcxOWMtMTUuNTg1OTM4IDQuMDExNzE5LTI1Ljc1MzkwNiAxOC45OTIxODctMjMuNzE4NzUgMzQuOTU3MDMxIDIuMDMxMjUgMTUuOTY4NzUgMTUuNjI1IDI3LjkyNTc4MSAzMS43MTg3NSAyNy45MDYyNXptMC00OGM4LjgzNTkzOCAwIDE2IDcuMTY0MDYyIDE2IDE2cy03LjE2NDA2MiAxNi0xNiAxNi0xNi03LjE2NDA2Mi0xNi0xNiA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im02NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDggMTEyaDMyYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTMyYy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDh6bTgtNjRoMTZ2MTZoLTE2em0wIDMyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMiAxMzZjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MzIgMTY4YzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Dfe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTUwNy41NDYgMTA1LjEyNWMwLTEuMDQ0LS4yMDUtMi4wOTEtLjY0Ny0zLjA3MmwtNDMuOTMtOTcuNjNjLTEuMjEtMi42OTItMy44ODgtNC40MjMtNi44MzktNC40MjNoLTE4Mi42M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgyMy44MTJ2ODIuNjNoLTgyLjYyNXYtODIuNjNoMjMuODEzYzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xODIuNjNjLTIuOTUxIDAtNS42MjkgMS43MzEtNi44NCA0LjQyM2wtNDMuOTMgOTcuNjNjLS40NDEuOTgxLS42NDYgMi4wMjgtLjY0NyAzLjA3MmgtLjAxNXYxMi4yMDNjMCAyOS41MTQgMjIuODI3IDUzLjc4IDUxLjc1MSA1Ni4xMTJsMzEuODY1IDU4LjQxOWgtNC4wMDdjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTYuNjMzYy4wMDUgMCAuMDEuMDAxLjAxNS4wMDFzLjAxMS0uMDAxLjAxNi0uMDAxaDE2LjYxOGM0LjE0MyAwIDcuNS0zLjM1NyA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTIuMTg5bC0zMi40NTYtNTkuNTAzYzE1Ljc1LTMuNDEzIDI5LjA1Ny0xMy40MzMgMzYuODc5LTI3LjAwMyA5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM3LjgyMiAxMy41NzEgMjEuMTI5IDIzLjU5MSAzNi44NzkgMjcuMDAzbC0zMi40NTYgNTkuNTAzaC0xMi4xODhjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTYuNjE4Yy4wMDUgMCAuMDExLjAwMS4wMTYuMDAxcy4wMS0uMDAxLjAxNS0uMDAxaDE2LjYzM2M0LjE0MyAwIDcuNS0zLjM1NyA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNC4wMDdsMzEuODY1LTU4LjQxOWMyOC45MjQtMi4zMzIgNTEuNzUxLTI2LjU5OCA1MS43NTEtNTYuMTEydi0xMi4yMDN6bS0xOS4wODUtNy40OTVoLTc4LjUyM3YtODIuNjNoNDEuMzQzem0tOTMuNTIzLTgyLjYzdjgyLjYzaC04Mi42MjV2LTgyLjYzem0tMTk1LjI1IDgyLjYzaC04Mi42MjV2LTgyLjYzaDgyLjYyNXptLTEzOC45NjgtODIuNjNoNDEuMzQzdjgyLjYzaC03OC41MjR6bS4wMzQgMTQzLjY0MWMtLjAxMSAwLS4wMjEtLjAwMS0uMDMyLS4wMDEtMjIuNzY3LS4wMTUtNDEuMjg1LTE4LjU0Mi00MS4yODUtNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjMCAyMi43NzgtMTguNTMxIDQxLjMxLTQxLjMwOCA0MS4zMTN6bTk3LjYyMSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjYyNSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMtLjAwMSAyMi43NzgtMTguNTM0IDQxLjMxMi00MS4zMTMgNDEuMzEyem05Ny42MjUgMGMtMjIuNzc5IDAtNDEuMzEyLTE4LjUzMy00MS4zMTItNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjMCAyMi43NzgtMTguNTM0IDQxLjMxMi00MS4zMTMgNDEuMzEyem05Ny42NDgtLjAwMWMtLjAwNSAwLS4wMDkgMC0uMDE0IDAtLjAwMyAwLS4wMDYgMC0uMDA5IDAtMjIuNzc5IDAtNDEuMzEyLTE4LjUzMy00MS4zMTItNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjLS4wMDEgMjIuNzcyLTE4LjUyMSA0MS4zLTQxLjI5IDQxLjMxMnoiLz4KICAgIDwvZz4KPC9zdmc+",hfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOC41MzYgNTA4LjUzNiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ5OC41MzYgMzQ0LjMyMWgtMTcuMjk4Yy40MzQtMTcuNjcyLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjI5OGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OTdjMCAyNC42MDEgMTUuNzEyIDQ1LjU5NiAzNy42MjUgNTMuNDk0bC0xMS42MDEgMTEuNjAxYy0xMS4wODYgMTEuMDg2LTI1LjgyNiAxNy4xOTEtNDEuNTAzIDE3LjE5MS0zMi4zNjQgMC01OC42OTMtMjYuMzMtNTguNjkzLTU4LjY5M3YtNjYuNjRjMzYuMDg4IDEuMjY2IDU3Ljg0Ni0yMi4zOSA4MS4xNDktNDUuNjk0IDI4LjUxNy0zLjAyNCA1MC44MDktMjcuMjE2IDUwLjgwOS01Ni41MjJ2LTI1LjY5OGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC0xNy4yOThjLjQzNC0xNy42NzEtMTAuMjY3LTM0LjIxMi0yOS41NDctMzQuMjEycy0yOS45ODIgMTYuNTQtMjkuNTQ3IDM0LjIxMmgtMTcuM2MtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OThjMCAyNC42MDEgMTUuNzExIDQ1LjU5NiAzNy42MjUgNTMuNDk0bC0xMS42MDEgMTEuNjAxYy0xMS4wODYgMTEuMDg2LTI1LjgyNiAxNy4xOTEtNDEuNTAzIDE3LjE5MS0zMi4zNjQgMC01OC42OTMtMjYuMzMtNTguNjkzLTU4LjY5NCAwLTI1Ljg5NSAwLTUxLjc5MSAwLTc3LjY4NmgyMi43MTZjMTIuMjg1IDAgMTguNzI2IDE1LjUzIDEwLjAzMyAyNC4yMjEtOS4xMjIgOS4xMjEgNS4wMiAyMy4yNjQgMTQuMTQyIDE0LjE0MyA2LjQ1OC02LjQ1NyAxMC4wMTQtMTUuMDQyIDEwLjAxNC0yNC4xNzUgMC0xOC44NTItMTUuMzM3LTM0LjE4OC0zNC4xODktMzQuMTg4aC0yMi43MTZ2LTE4LjgyNGMyNi4yNTctNS4wNDMgNDYuMTYxLTI4LjE3NSA0Ni4xNjEtNTUuODgxdi0yMC44NTFjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMzYuOTE0di0yNC4yMzZoMzYuOTE0YzEyLjg0IDAgMTIuODU5LTIwIDAtMjBoLTkzLjgyOGMtMTIuODQgMC0xMi44NTkgMjAgMCAyMGgzNi45MTR2MjQuMjM1aC0zNi45MTRjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjAuODUxYzAgMjguMjMzIDIwLjY2OSA1MS43MTkgNDcuNjY3IDU2LjE1MXYxOC41NTVoLTIyLjcxNmMtMTguODUyIDAtMzQuMTg5IDE1LjMzNy0zNC4xODkgMzQuMTg4IDAgOS4xMzIgMy41NTYgMTcuNzE3IDEwLjAxNCAyNC4xNzUgOS4xMjEgOS4xMjEgMjMuMjYzLTUuMDIxIDE0LjE0My0xNC4xNDMtOC42ODUtOC42ODQtMi4yNjQtMjQuMjIxIDEwLjAzMy0yNC4yMjFoMjIuNzE2djc3LjY4NmMwIDMyLjM2NC0yNi4zMyA1OC42OTQtNTguNjk0IDU4LjY5NC0xNS42NzcgMC0zMC40MTctNi4xMDUtNDEuNTAyLTE3LjE5MWwtMTEuMjE4LTExLjIxOGMyMi41LTcuNTc1IDM4Ljc1Ni0yOC44NTYgMzguNzU2LTUzLjg3N3YtMjUuNjk4YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5OGMuNDM0LTE3LjY3MS0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4zYy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5OGMwIDI4LjcwNyAyMS4zOTQgNTIuNDk4IDQ5LjA3MyA1Ni4zbDIyLjkzNyAyMi45MzdjMTUuMTY0IDE1LjE2MyAzNi4wMSAyMy40ODYgNTcuNDMzIDIzLjAwM3Y2Ni42MTRjMCAzMi4zNjQtMjYuMzMgNTguNjkzLTU4LjY5MyA1OC42OTMtMTUuNjc3IDAtMzAuNDE3LTYuMTA1LTQxLjUwMi0xNy4xOTFsLTExLjYwMi0xMS42MDJjMjEuOTE0LTcuODk4IDM3LjYyNS0yOC44OTIgMzcuNjI1LTUzLjQ5NHYtMjUuNjk3YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5N2MuNDM0LTE3LjY3Mi0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4yOTljLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjUuNjk3YzAgMjkuMzA1IDIyLjI5MiA1My40OTcgNTAuODA4IDU2LjUyMWwyMi43MTcgMjIuNzE2YzE0Ljg2MyAxNC44NjMgMzQuNjI1IDIzLjA0OCA1NS42NDUgMjMuMDQ4IDQzLjM5MiAwIDc4LjY5My0zNS4zMDIgNzguNjkzLTc4LjY5M3YtNjkuNjU3YzE0LjQyNi00LjE2NCAyNy4xNjEtMTIuMzQyIDM2LjkwNS0yMy4yNTd2MjAuNTIyYzAgMTIuODQgMjAgMTIuODU5IDIwIDB2LTIwLjUyMmM5LjUyIDEwLjY2MyAyMS44ODkgMTguNzIzIDM1LjkwNSAyMi45NzJ2NjkuOTQ2YzAgNDMuMzkyIDM1LjMwMiA3OC42OTMgNzguNjkzIDc4LjY5MyAyMS4wMiAwIDQwLjc4MS04LjE4NiA1NS42NDUtMjMuMDQ4bDIyLjcxNi0yMi43MTZjMjguNTE2LTMuMDI1IDUwLjgwOC0yNy4yMTYgNTAuODA4LTU2LjUyMXYtMjUuNjk3Yy4wMDEtNS41MjQtNC40NzYtMTAuMDAxLTkuOTk5LTEwLjAwMXptLTExMi4yOTgtMTQ5LjkyN2MwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY0aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk4YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTh6bS0zMjYuOTE0LTI0LjY2NGMwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY0aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk4YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTh6bS0xMDQuODEyIDEyMC41OTljMC0xMi4zMTMgMTkuMDk1LTEyLjMxMyAxOS4wOTUgMHY0LjY2NWgtMTkuMDk1em00Ni4zOTIgMjQuNjY0djE1LjY5N2MwIDIwLjMxNi0xNi41MjkgMzYuODQ1LTM2Ljg0NSAzNi44NDVzLTM2Ljg0NS0xNi41MjgtMzYuODQ1LTM2Ljg0NXYtMTUuNjk3em0xMjMuNDExLTI3OC4zNjR2LTEwLjg1MWg3My44Mjh2MTAuODUxYzAgNDcuNTk2LTczLjgyOCA0Ny41OTYtNzMuODI4IDB6bTIyNS4wNDIgMjUzLjdjMC0xMi4zMTMgMTkuMDk1LTEyLjMxMyAxOS4wOTUgMHY0LjY2NWgtMTkuMDk1em00Ni4zOTMgMjQuNjY0djE1LjY5N2MwIDIwLjMxNi0xNi41MjkgMzYuODQ1LTM2Ljg0NSAzNi44NDVzLTM2Ljg0NS0xNi41MjktMzYuODQ1LTM2Ljg0NXYtMTUuNjk3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yODEuMjA2IDQ0MS44NDctMTYuNDM4LTkuNDl2LTIxLjY0NWMwLTEyLjg0LTIwLTEyLjg1OS0yMCAwdjIxLjYxOWwtMTYuNDgzIDkuNTE2Yy0zLjA5NCAxLjc4Ni01IDUuMDg3LTUgOC42NnYyNC43OGMwIDMuNTczIDEuOTA2IDYuODc0IDUgOC42NmwyMS40NiAxMi4zOWMzLjA2NyAxLjc3MSA2LjkzMyAxLjc3MSAxMCAwbDIxLjQ2LTEyLjM5YzMuMDk0LTEuNzg2IDUtNS4wODcgNS04LjY2di0yNC43OGMuMDAxLTMuNTczLTEuOTA1LTYuODc0LTQuOTk5LTguNjZ6bS0xNSAyNy42NjctMTEuNDYgNi42MTctMTEuNDYtNi42MTd2LTEzLjIzM2wxMS40Ni02LjYxNyAxMS40NiA2LjYxN3oiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ1LjUzNSAzNzQuMTgzYzEuNjM1IDMuOTI0IDUuNzE2IDYuNDY2IDkuOTY4IDYuMTM4IDQuMTY5LS4zMjIgNy43NzgtMy4yNzIgOC44OTctNy4zMDMgMi4zNjQtOC41MTMtNy4xOTEtMTUuNzU5LTE0Ljc3My0xMS4yMzUtNC4yMTQgMi41MTQtNS45NDUgNy44OC00LjA5MiAxMi40eiIvPgogICAgPC9nPgo8L3N2Zz4=",zfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtOSAxN2M0LjQxMSAwIDgtMy41ODkgOC04IDAtMS4yNTYtLjI5OS0yLjQ0MS0uODE4LTMuNTAxIDEuMTAzLTEuNTQ4IDIuODk4LTIuNDk5IDQuODE4LTIuNDk5IDIuODQgMCA1LjI3OCAyLjA2NCA1Ljc5OSA0LjgzMS0uMTkuMTA1LS4zNzUuMjE4LS41NTQuMzQyLTEuMjI0LS43NDctMi42MzYtMS4xNzMtNC4wNzQtMS4xNzNoLS4xNzF2MmguMTcxYy44OTYgMCAxLjc4LjIyMSAyLjU4LjYxNS0uMDgzLjEwOS0uMTcxLjIxMS0uMjQ4LjMyNmwtLjMzNi41MDQgMS42NjQgMS4xMDkuMzM2LS41MDRjLjg1Ny0xLjI4MyAyLjI5LTIuMDUgMy44MzMtMi4wNSAxLjEwMyAwIDIgLjg5NyAyIDJzLS44OTcgMi0yIDJoLTdjLTEuMTAzIDAtMi0uODk3LTItMmgtMmMwIDIuMjA2IDEuNzk0IDQgNCA0aDI1YzIuMjA2IDAgNC0xLjc5NCA0LTRzLTEuNzk0LTQtNC00Yy0uNDczIDAtLjkzNS4wNi0xLjM4Ny4xNTctMS4xNTktMy42MjMtNC41NDItNi4xNTctOC40My02LjE1Ny0zLjU0OSAwLTYuNzQ2IDIuMTA3LTguMTQ0IDUuMzY5bC0uMjc3LjY0NmMtLjM1Ni4wMTMtLjcwNi4wNTUtMS4wNS4xMjMtLjgyLTMuNTQyLTQuMDIzLTYuMTM4LTcuNzEyLTYuMTM4LTIuMzEyIDAtNC40ODggMS4wMzQtNS45NzggMi43NTEtMS40NjctMS42ODItMy42Mi0yLjc1MS02LjAyMi0yLjc1MS00LjQxMSAwLTggMy41ODktOCA4czMuNTg5IDggOCA4em0yOS4xODMtMTRjMy4wNDcgMCA1LjY3NiAyLjAxNyA2LjU0MSA0Ljg3Ny0uMTYzLjA5My0uMzI1LjE4OC0uNDc5LjI5NS0xLjIyNS0uNzQ2LTIuNjM2LTEuMTcyLTQuMDc0LTEuMTcyaC0uMTcxdjJoLjE3MWMuODk1IDAgMS43OC4yMjEgMi41OC42MTUtLjA4My4xMDktLjE3MS4yMTEtLjI0OC4zMjZsLS4zMzYuNTA0IDEuNjY0IDEuMTA5LjMzNi0uNTA0Yy44NTctMS4yODMgMi4yOS0yLjA1IDMuODMzLTIuMDUgMS4xMDMgMCAyIC44OTcgMiAycy0uODk3IDItMiAyaC0xNC41NTZjLjM0NC0uNTkxLjU1Ni0xLjI2OC41NTYtMiAwLTEuNTcxLS45MTgtMi45MTktMi4yMzgtMy41NzNsLjExNi0uMjdjMS4wODItMi41MjUgMy41NTctNC4xNTcgNi4zMDUtNC4xNTd6bS0yOS4xODMgMGMzLjMwOSAwIDYgMi42OTEgNiA2cy0yLjY5MSA2LTYgNi02LTIuNjkxLTYtNiAyLjY5MS02IDYtNnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTcgMzd2LTQuNWw0LTN2LTIuNWgtMnYxLjVsLTIgMS41di01aC0ydjdsLTItMS41di0xLjVoLTJ2Mi41bDQgM3YyLjVoLTEwdi02LjVsNC0zdi0yLjVoLTJ2MS41bC0yIDEuNXYtNC41ODZsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny40MTRsLTItMS41di0xLjVoLTJ2Mi41bDQgM3Y0LjVoLTE0di0xLjI3OWwuNDk2LS4xNjVjMy4yOTItMS4wOTggNS41MDQtNC4xNjYgNS41MDQtNy42MzYgMC0yLjE0OS0uODM3LTQuMTcxLTIuMzU3LTUuNjkxbC00LjY0My00LjY0My0zLjgyNSAzLjgyNWMtLjM5LS44MDItLjg5Ni0xLjU0Ni0xLjUzMi0yLjE4M2wtNC42NDMtNC42NDItNC42NDMgNC42NDNjLTEuNTIgMS41Mi0yLjM1NyAzLjU0Mi0yLjM1NyA1LjY5MSAwIDMuNDcgMi4yMTIgNi41MzggNS41MDMgNy42MzVsLjQ5Ny4xNjV2NC4yOGgtMTYuMjgxbC40OSAxLjk1OWMzLjUzOSAxNC4xNTUgMTYuMjAxIDI0LjA0MSAzMC43OTEgMjQuMDQxczI3LjI1Mi05Ljg4NiAzMC43OTEtMjQuMDQxbC40OS0xLjk1OXptLTI3LjM2NCA2LjI1OCAxLjE0NSAxLjcxN2MuMTQzLjIxNC4yMTkuNDY0LjIxOS43MjIgMCAuNzE5LS41ODQgMS4zMDMtMS4zMDMgMS4zMDNoLTE1LjM5NGMtLjcxOSAwLTEuMzAzLS41ODQtMS4zMDMtMS4zMDMgMC0uMjU4LjA3Ni0uNTA4LjIxOS0uNzIzbDEuMTQ2LTEuNzE4Yy40MTUtLjYyNC42MzUtMS4zNTEuNjM1LTIuMTAxIDAtLjc3LS4yNDYtMS41MjUtLjY4MS0yLjE1NWgxNS4zNjJjLS40MzUuNjMxLS42ODEgMS4zODUtLjY4MSAyLjE1NSAwIC43NS4yMiAxLjQ3Ny42MzYgMi4xMDN6bS0xLjYzNi0yMi44NDQgMy4yMjkgMy4yMjljMS4xNDIgMS4xNDIgMS43NzEgMi42NjIgMS43NzEgNC4yNzcgMCAyLjU1Ny0xLjYwNCA0LjgxNy00IDUuNjgxdi0xLjE4NmwyLjcwNy0yLjcwNy0xLjQxNC0xLjQxNC0xLjI5MyAxLjI5MnYtMi4xNzJsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny4wMTRjLTIuMzk2LS44NjMtNC0zLjEyMi00LTUuNjggMC0xLjYxNS42MjktMy4xMzUgMS43NzEtNC4yNzd6bS0xNSA0LjUwNmMwLTEuNjE1LjYyOS0zLjEzNSAxLjc3MS00LjI3N2wzLjIyOS0zLjIyOSAzLjIyOSAzLjIyOWMuNjY2LjY2NiAxLjE1MyAxLjQ4MSAxLjQ0OSAyLjM3MS0xLjA4NCAxLjQtMS42NzggMy4xMDYtMS42NzggNC45MDYgMCAuNDY0LjA0Ni45MTguMTIyIDEuMzY0LS42MDkuNTgxLTEuMzI5IDEuMDM0LTIuMTIyIDEuMzE5di02LjNsMS44MzItMi43NDgtMS42NjQtMS4xMDktMS4zMjMgMS45ODUtMS4xMzgtMS4xMzgtMS40MTQgMS40MTQgMS43MDcgMS43MDd2Mi4xNzJsLTEuMjkzLTEuMjkzLTEuNDE0IDEuNDE0IDIuNzA3IDIuNzA3djEuMTg2Yy0yLjM5Ni0uODYzLTQtMy4xMjItNC01LjY4em02IDcuODAxLjQ5Ni0uMTY1Yy44MjUtLjI3NSAxLjU4OS0uNjk2IDIuMjgxLTEuMjE2LjkxNiAxLjk0OCAyLjU4NiAzLjUwMiA0LjcyNiA0LjIxNWwuNDk3LjE2NXYxLjI4aC04em0tNy40MTQgNi4yNzkuODkuODljLjMzMy4zMzMuNTI0Ljc5NS41MjQgMS4yNjUgMCAuMzU0LS4xMDQuNjk4LS4zLjk5M2wtMS4xNDUgMS43MTdjLS4zNjMuNTQ0LS41NTUgMS4xNzgtLjU1NSAxLjgzMiAwIDEuODIyIDEuNDgxIDMuMzAzIDMuMzAzIDMuMzAzaDE1LjM5NWMxLjgyMSAwIDMuMzAyLTEuNDgxIDMuMzAyLTMuMzAzIDAtLjY1NC0uMTkyLTEuMjg4LS41NTUtMS44MzJsLTEuMTQ1LTEuNzE2Yy0uMTk2LS4yOTUtLjMtLjYzOS0uMy0uOTk0IDAtLjQ3MS4xOTEtLjkzMy41MjQtMS4yNjZsLjg5LS44OWg2LjgzNmMtLjE2LjM4NS0uMjUuODA2LS4yNSAxLjI0NyAwIDEuNDkyIDEuMDExIDIuNzg4IDIuNDU5IDMuMTQ5bDQuMjIgMS4wNTVjLjc3OC4xOTYgMS4zMjEuODkxIDEuMzIxIDEuNjkzIDAgLjcxNy0uNDMgMS4zNTMtMS4wOTYgMS42MThsLTYuMjc1IDIuNTExYy0xLjU5Ny42MzktMi42MjkgMi4xNjMtMi42MjkgMy44ODIgMCAxLjQ5Ni44MDcgMi44ODggMi4xMDcgMy42M2wyLjcxNSAxLjU1MWMtMy4wMDQgMS4wNDktNi4yMTUgMS42MjEtOS41MzcgMS42NTNsLTUuMDg2LTMuMzkxYy0uMTI0LS4wODItLjE5OS0uMjIxLS4xOTktLjM3MSAwLS4yMTkuMTU3LS40MDQuMzc0LS40NGwzLjQzNS0uNTcyYzEuMjY5LS4yMTMgMi4xOTEtMS4zMDIgMi4xOTEtMi41OSAwLTEuNDQ3LTEuMTc3LTIuNjI0LTIuNjI0LTIuNjI0aC0yMC42MDVjLTIuOTg5LTMuMzY3LTUuMjU2LTcuNDMtNi40ODYtMTJ6bTE0LjUwMyAyMC4yNjIgMi4yMyAxLjQ4N2MtNi4zMjktLjc4NC0xMi4xMDUtMy41NDgtMTYuNjA3LTcuNzQ5aDE4LjY2NGMuMzQ0IDAgLjYyNC4yOC42MjQuNjI0IDAgLjMwNy0uMjE5LjU2NS0uNTIxLjYxNmwtMy40MzQuNTcyYy0xLjE4NS4xOTgtMi4wNDUgMS4yMTItMi4wNDUgMi40MTQgMCAuODE5LjQwNyAxLjU4MSAxLjA4OSAyLjAzNnptMTguMTAzLS44NzUtNC4wOTMtMi4zMzljLS42NzgtLjM4OC0xLjA5OS0xLjExMy0xLjA5OS0xLjg5NCAwLS44OTcuNTM5LTEuNjkyIDEuMzcyLTIuMDI1bDYuMjc1LTIuNTExYzEuNDI5LS41NzEgMi4zNTMtMS45MzUgMi4zNTMtMy40NzUgMC0xLjcyMS0xLjE2Ni0zLjIxNC0yLjgzNS0zLjYzMmwtNC4yMi0xLjA1NWMtLjU1Ny0uMTQtLjk0NS0uNjM3LS45NDUtMS4yMSAwLS42ODcuNTU5LTEuMjQ2IDEuMjQ2LTEuMjQ2aDE4LjQ2OGMtMi4zNzYgOC44MjgtOC41NjUgMTUuODE0LTE2LjUyMiAxOS4zODd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDE3aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzkgMjFoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00MyAxN2gydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3IDE5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTEgMjNoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im01MSAxN2gydjJoLTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",wfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiID4KPGcgZmlsbD0iY3VycmVudENvbG9yIj4KCTxwYXRoIGQ9Ik01MTEuOTc2LDQxNi4wNjNjLTAuMDA1LTAuMDc1LTAuMDA0LTAuMTQ5LTAuMDExLTAuMjI0Yy0wLjAyNy0wLjI5Ny0wLjA3LTAuNTg4LTAuMTMxLTAuODczCgkJYy0wLjAwNi0wLjAyOC0wLjAxNS0wLjA1Ni0wLjAyMi0wLjA4NGMtMC4wNTktMC4yNjItMC4xMzItMC41MTgtMC4yMTgtMC43NjhjLTAuMDIzLTAuMDY3LTAuMDQ4LTAuMTMyLTAuMDczLTAuMTk4CgkJYy0wLjA4NC0wLjIyNy0wLjE3OS0wLjQ0OC0wLjI4NC0wLjY2M2MtMC4wMTgtMC4wMzgtMC4wMy0wLjA3Ny0wLjA0OS0wLjExNWwtNDAuMTEyLTc5LjExOFY3My43MgoJCWMwLTguMDA2LTYuNTEzLTE0LjUxOS0xNC41MTktMTQuNTE5SDU1LjQ0MWMtOC4wMDYsMC0xNC41MTksNi41MTMtMTQuNTE5LDE0LjUxOXYyNjAuMjk4TDAuODExLDQxMy4xMzcKCQljLTAuMDE5LDAuMDM4LTAuMDMxLDAuMDc3LTAuMDQ5LDAuMTE1Yy0wLjEwNSwwLjIxNS0wLjE5OSwwLjQzNi0wLjI4NCwwLjY2MmMtMC4wMjUsMC4wNjYtMC4wNSwwLjEzMi0wLjA3MywwLjE5OQoJCWMtMC4wODUsMC4yNTEtMC4xNTksMC41MDgtMC4yMTgsMC43N2MtMC4wMDYsMC4wMjctMC4wMTUsMC4wNTQtMC4wMjEsMC4wODFjLTAuMDYxLDAuMjg2LTAuMTA0LDAuNTc3LTAuMTMxLDAuODc0CgkJYy0wLjAwNywwLjA3NC0wLjAwNywwLjE0OS0wLjAxMSwwLjIyM0MwLjAxNCw0MTYuMjE3LDAsNDE2LjM3MSwwLDQxNi41Mjl2MTkuMDI2YzAsOS41MDksNy43MzUsMTcuMjQ0LDE3LjI0NCwxNy4yNDRoNDc3LjUxMgoJCWM5LjUwOSwwLDE3LjI0NC03LjczNSwxNy4yNDQtMTcuMjQ0di0xOS4wMjZDNTEyLDQxNi4zNzEsNTExLjk4Niw0MTYuMjE3LDUxMS45NzYsNDE2LjA2M3ogTTU1LjkyMyw3NC4yMDNoNDAwLjE1NHYyNTQuMTA5CgkJSDU1LjkyM1Y3NC4yMDN6IE01My4wMjksMzQzLjMxMUg0NTguOTdsMzMuMzE4LDY1LjcxN2gtMTY0Ljc4bC04LjI3MS0yOS45ODljLTEuNjg0LTYuMTA1LTcuMjgyLTEwLjM2OS0xMy42MTUtMTAuMzY5aC05OS4yNDYKCQljLTYuMzMzLDAtMTEuOTMyLDQuMjY0LTEzLjYxNSwxMC4zNjhsLTguMjcxLDI5Ljk5SDE5LjcxMUw1My4wMjksMzQzLjMxMXogTTMxMS45NDgsNDA5LjAyOUgyMDAuMDUybDYuOTkzLTI1LjM1OGg5Ny45MQoJCUwzMTEuOTQ4LDQwOS4wMjl6IE00OTcsNDM1LjU1NGMwLDEuMjM3LTEuMDA3LDIuMjQ0LTIuMjQ0LDIuMjQ0SDE3LjI0NGMtMS4yMzcsMC0yLjI0NC0xLjAwNy0yLjI0NC0yLjI0NHYtMTEuNTI2aDQ4MlY0MzUuNTU0eiIKCQkvPgoJPHBhdGggZD0iTTQzMi41NzcsMjEzLjc1NmMtNC4xNDMsMC03LjUsMy4zNTctNy41LDcuNXY3Ni4wNTVIODYuOTIzdi03Ni4wNTVjMC00LjE0My0zLjM1Ny03LjUtNy41LTcuNQoJCQljLTQuMTQzLDAtNy41LDMuMzU3LTcuNSw3LjV2NzkuMjk0YzAsNi40ODUsNS4yNzUsMTEuNzYxLDExLjc2MSwxMS43NjFoMzQ0LjYzM2M2LjQ4NSwwLDExLjc2MS01LjI3NSwxMS43NjEtMTEuNzYxdi03OS4yOTQKCQkJQzQ0MC4wNzcsMjE3LjExNSw0MzYuNzIsMjEzLjc1Niw0MzIuNTc3LDIxMy43NTZ6Ii8+Cgk8cGF0aCBkPSJNNDI4LjMxNiw5MC4yMDNIODMuNjg0Yy02LjQ4NSwwLTExLjc2MSw1LjI3NS0xMS43NjEsMTEuNzYxdjc5LjI5NGMwLDQuMTQzLDMuMzU3LDcuNSw3LjUsNy41YzQuMTQzLDAsNy41LTMuMzU3LDcuNS03LjUKCQkJdi03Ni4wNTVoMzM4LjE1NHY3Ni4wNTVjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNXM3LjUtMy4zNTcsNy41LTcuNXYtNzkuMjk0QzQ0MC4wNzcsOTUuNDc3LDQzNC44MDIsOTAuMjAzLDQyOC4zMTYsOTAuMjAzeiIvPgo8L2c+Cjwvc3ZnPgo=",Cfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTE2NC4zOTkgMjA1Ljg3MmM0LjA5OS42NjQgOC4yMDYtMS4yNzMgMTAuMjg0LTQuOTFsNjAtMTA1YzEuNzY5LTMuMDk1IDEuNzU2LTYuODk3LS4wMzMtOS45OHMtNS4wODUtNC45ODEtOC42NDktNC45ODFoLTM2LjY4MmwtMTMuNDg2LTcyLjgyMWMtLjc3Mi00LjE2OS00LjA4OS03LjM5OC04LjI3Ny04LjA1OC00LjE4NS0uNjYtOC4zMzcgMS4zOTQtMTAuMzUzIDUuMTIzbC02MCAxMTFjLTEuNjc1IDMuMDk5LTEuNTk3IDYuODUxLjIwOCA5Ljg3NiAxLjgwNCAzLjAyNSA1LjA2NiA0Ljg3OSA4LjU4OSA0Ljg3OWgzNi44MDJsMTMuMzkzIDY2Ljk2MWMuODE3IDQuMDkgNC4wODggNy4yNDIgOC4yMDQgNy45MTF6bS0xMy4zOTktOTQuODcxaC0yOC4yMjhsMzguNTU0LTcxLjMyMyA5Ljg0MSA1My4xNDRjLjg3OCA0Ljc0IDUuMDEzIDguMTc5IDkuODMzIDguMTc5aDI3Ljc2OWwtMzguMiA2Ni44NS05Ljc2My00OC44MTFjLS45MzUtNC42NzQtNS4wMzktOC4wMzktOS44MDYtOC4wMzl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwIDQ1OS4wMDFjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoMjZjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzgtMTAtMTAtMTBoLTU2di02OGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY2OGgtNDB2LTIyM2g0MHY2NWMwIDUuNTIzIDQuNDc4IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi03NWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHYyMzNoLTQwdi0xNzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTB2MTczaC00MHYtMTEzYzAtNS41MjMtNC40NzgtMTAtMTAtMTBoLTYwYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwdjExM2gtNzN2LTQ0OWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHYyNmgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDN6bTI1Ni0xNjNoNDB2MTYzaC00MHptLTEyMCA2MGg0MHYxMDNoLTQweiIvPgogICAgICAgIDxwYXRoIGQ9Im00MzYgMTQ2LjAwMWM1LjUyMiAwIDEwLTQuNDc3IDEwLTEwdi02MGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgzNS44NTdsLTEwMCAxMDBoLTU1Ljg1N2MtMi42NTIgMC01LjE5NSAxLjA1NC03LjA3MSAyLjkyOWwtOTAgOTBjLTMuOTA1IDMuOTA1LTMuOTA1IDEwLjIzNyAwIDE0LjE0MyAzLjkwNyAzLjkwNSAxMC4yMzYgMy45MDQgMTQuMTQzIDBsODcuMDcxLTg3LjA3MWg1NS44NTdjMi42NTIgMCA1LjE5NS0xLjA1NCA3LjA3MS0yLjkyOWwxMDIuOTI5LTEwMi45M3YzNS44NTdjMCA1LjUyNCA0LjQ3OCAxMC4wMDEgMTAgMTAuMDAxeiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjQzNiIgY3k9IjM0Ni4wMDEiIHI9IjEwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Ife="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHJlY3QgeD0iMjE2IiB5PSI4OC40ODkiIHdpZHRoPSI4MCIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjIxNiIgeT0iNjIuNDg5IiB3aWR0aD0iODAiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cGF0aCBkPSJNMzAsNTIuNDk0djkuMjg1Yy0yLjM0Ny0wLjgzMi00Ljg3Mi0xLjI4NS03LjUtMS4yODVjLTEyLjQwNiwwLTIyLjUsMTAuMDkzLTIyLjUsMjIuNWMwLDEyLjQwNywxMC4wOTQsMjIuNSwyMi41LDIyLjUKCQkJYzIuNjI4LDAsNS4xNTMtMC40NTMsNy41LTEuMjg1djM1NS4yOThoNy41YzguNjk5LDAsMTMuMzU0LTIuODE5LDE3LjA5NS01LjA4NWMyLjg5OS0xLjc1NSw0LjgxNC0yLjkxNSw5LjMyNS0yLjkxNQoJCQljNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1YzguNjk4LDAsMTMuMzU0LTIuODE5LDE3LjA5NC01LjA4NQoJCQljMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjItMi45MTVjNC41MDksMCw2LjQyNCwxLjE2LDkuMzIxLDIuOTE1YzMuNzQsMi4yNjYsOC4zOTUsNS4wODUsMTcuMDkzLDUuMDg1CgkJCXMxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIxLTIuOTE1YzQuNTEsMCw2LjQyNSwxLjE2LDkuMzIyLDIuOTE1CgkJCWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTN2LTQwN0gzMHogTTIyLjUsOTAuNDk0Yy00LjEzNiwwLTcuNS0zLjM2NC03LjUtNy41YzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjUKCQkJczcuNSwzLjM2NCw3LjUsNy41QzMwLDg3LjEzLDI2LjYzNiw5MC40OTQsMjIuNSw5MC40OTR6IE0xODguNSw0NDIuNjY0Yy0wLjU4NS0wLjMyNS0xLjE3OS0wLjY4NS0xLjgyMS0xLjA3NAoJCQljLTMuMzM5LTIuMDIyLTcuNDA3LTQuNDg2LTE0LjQyOS00Ljk5MVYyMjYuNTU1aC0xNXYyMTIuNDMxYy0xLjgyNCwwLjgyNy0zLjM1NSwxLjc1NS00Ljc1OCwyLjYwNAoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOAoJCQljLTIuNzM0LTEuMDA1LTYuMDk3LTEuNzI2LTEwLjQ5NC0xLjcyNmMtMS42MzgsMC0zLjEzMywwLjEtNC41MDYsMC4yNzh2LTIxNi43OWgtMTV2MjIyLjk4OGMtMS44NDksMC45NTEtMy43MzgsMS41MjUtNi45MSwxLjUyNQoJCQljLTMuODQzLDAtNS44MDItMC44NDItOC4wOS0yLjE3NlYxNDEuOTk0aC0xNXYyOTQuNjYxYy0xLjA0MS0wLjA5Ni0yLjE0OC0wLjE0OC0zLjMzLTAuMTQ4Yy04LjY5OSwwLTEzLjM1NCwyLjgxOS0xNy4wOTUsNS4wODUKCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFoNDYuMjVWNDQyLjY2NHoiLz4KICAgICAgICA8cmVjdCB4PSIxNTcuMjUiIHk9IjEzNi45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSI2NiIvPgogICAgICAgIDxyZWN0IHg9IjE1Ny4yNSIgeT0iMTExLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSI4Ni45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9Ijk3LjI1IiB5PSIxMzAuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iNjYiLz4KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iODAuOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTA1Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHJlY3QgeD0iNDM1Ljc1IiB5PSIxMTMuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSI0MzUuNzUiIHk9IjEzOC45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSI2NiIvPgogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iODguOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjE1NS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjM3NS43NSIgeT0iODAuOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEwNS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjM3NS43NSIgeT0iMTMwLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ4OS41LDYwLjQ5NGMtMi42MjgsMC01LjE1MywwLjQ1My03LjUsMS4yODV2LTkuMjg1SDMwOC41djQwNy4wMTNoNy41YzguNjk5LDAsMTMuMzU0LTIuODE5LDE3LjA5NS01LjA4NQoJCQljMi44OTktMS43NTUsNC44MTQtMi45MTUsOS4zMjUtMi45MTVjNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1CgkJCWM4LjY5OCwwLDEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjItMi45MTVjNC41MDksMCw2LjQyNCwxLjE2LDkuMzIxLDIuOTE1CgkJCWMzLjc0LDIuMjY2LDguMzk1LDUuMDg1LDE3LjA5Myw1LjA4NXMxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIxLTIuOTE1CgkJCWM0LjUxLDAsNi40MjUsMS4xNiw5LjMyMiwyLjkxNWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTNWMTA0LjIwOGMyLjM0NywwLjgzMiw0Ljg3MiwxLjI4NSw3LjUsMS4yODUKCQkJYzEyLjQwNiwwLDIyLjUtMTAuMDkzLDIyLjUtMjIuNUM1MTIsNzAuNTg1LDUwMS45MDYsNjAuNDk0LDQ4OS41LDYwLjQ5NHogTTQ2Nyw0NDIuNjY0Yy0wLjU4NS0wLjMyNS0xLjE3OS0wLjY4NS0xLjgyMS0xLjA3NAoJCQljLTMuMzM5LTIuMDIyLTcuNDA3LTQuNDg2LTE0LjQyOS00Ljk5MVYyMjYuNTU1aC0xNXYyMTIuNDMxYy0xLjgyNCwwLjgyNy0zLjM1NSwxLjc1NS00Ljc1OCwyLjYwNAoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOAoJCQljLTIuNzM0LTEuMDA1LTYuMDk3LTEuNzI2LTEwLjQ5NC0xLjcyNmMtMS42MzgsMC0zLjEzMywwLjEtNC41MDYsMC4yNzh2LTI1MC43OWgtMTV2MjU2Ljk4OGMtMS44NDksMC45NTEtMy43MzgsMS41MjUtNi45MSwxLjUyNQoJCQljLTMuODQzLDAtNS44MDItMC44NDItOC4wOS0yLjE3NlYxNDEuOTk0aC0xNXYyOTQuNjYxYy0xLjA0MS0wLjA5Ni0yLjE0OC0wLjE0OC0zLjMzLTAuMTQ4Yy04LjY5OSwwLTEzLjM1NCwyLjgxOS0xNy4wOTUsNS4wODUKCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFINDY3VjQ0Mi42NjR6IE00ODkuNSw5MC40OTRjLTQuMTM2LDAtNy41LTMuMzY0LTcuNS03LjUKCQkJYzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjVzNy41LDMuMzY0LDcuNSw3LjVDNDk3LDg3LjEzLDQ5My42MzYsOTAuNDk0LDQ4OS41LDkwLjQ5NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",pfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDIgMTJjMi4yMDYgMCA0LTEuNzk0IDQtNHMtMS43OTQtNC00LTQtNCAxLjc5NC00IDQgMS43OTQgNCA0IDR6bTItNGMwIDEuMTAzLS44OTcgMi0yIDJzLTItLjg5Ny0yLTJjMC0uMTc4LjAzMS0uMzQ3LjA3NS0uNTExbDEuMjE4IDEuMjE4IDEuNDE0LTEuNDE0LTEuMjE4LTEuMjE4Yy4xNjQtLjA0NC4zMzMtLjA3NS41MTEtLjA3NSAxLjEwMyAwIDIgLjg5NyAyIDJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyIDRjLTIuMjA2IDAtNCAxLjc5NC00IDRzMS43OTQgNCA0IDQgNC0xLjc5NCA0LTQtMS43OTQtNC00LTR6bTAgNmMtMS4xMDMgMC0yLS44OTctMi0ycy44OTctMiAyLTJjLjE3OCAwIC4zNDcuMDMxLjUxMS4wNzVsLTEuMjE4IDEuMjE4IDEuNDE0IDEuNDE0IDEuMjE4LTEuMjE4Yy4wNDQuMTY0LjA3NS4zMzMuMDc1LjUxMSAwIDEuMTAzLS44OTcgMi0yIDJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUxIDEyaDJjMS42NTQgMCAzLTEuMzQ2IDMtM3MtMS4zNDYtMy0zLTNoLTJjLTEuNjU0IDAtMyAxLjM0Ni0zIDNzMS4zNDYgMyAzIDN6bTAtNGgyYy41NTEgMCAxIC40NDkgMSAxcy0uNDQ5IDEtMSAxaC0yYy0uNTUxIDAtMS0uNDQ5LTEtMXMuNDQ5LTEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMyA2aC0yYy0xLjY1NCAwLTMgMS4zNDYtMyAzczEuMzQ2IDMgMyAzaDJjMS42NTQgMCAzLTEuMzQ2IDMtM3MtMS4zNDYtMy0zLTN6bTAgNGgtMmMtLjU1MSAwLTEtLjQ0OS0xLTFzLjQ0OS0xIDEtMWgyYy41NTEgMCAxIC40NDkgMSAxcy0uNDQ5IDEtMSAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im02Mi45OTcgNThjMC0uMTYzLS4wMzctLjMyNi0uMTE3LS40NzRsLTIuODgtNS4zNDl2LTM4LjE3Ny0xMGMwLTEuNjU0LTEuMzQ2LTMtMy0zaC01MGMtMS42NTQgMC0zIDEuMzQ2LTMgM3YxMCAzOC4xNzdsLTIuODggNS4zNDljLS4wOC4xNDgtLjExNy4zMTEtLjExNy40NzRoLS4wMDN2MmMwIDEuNjU0IDEuMzQ2IDMgMyAzaDU2YzEuNjU0IDAgMy0xLjM0NiAzLTN2LTJ6bS02Ljk5Ny0xMy4yNTF2LTI5Ljc0OWgydjMzLjQ2M3ptLTQxLjkzMS0yLjc0OWMuMTg5IDEuNTAyLjc5MiAyLjg3NSAxLjY5NSA0aC0yLjc2NHYtNHptMzYuOTMxIDB2NGgtMi43NjVjLjkwNC0xLjEyNSAxLjUwNy0yLjQ5OCAxLjY5NS00em0tNS42OSA0aC0uMzF2LTIuMzgyYy40MDItLjQ2LjctMS4wMDkuODU4LTEuNjE4aDIuMDUyYy0uMjgyIDEuNjY2LTEuMjQ2IDMuMTAxLTIuNiA0em0tOC4zMS0xLjY5di0yLjMxaDEuMTQyYy40NDcgMS43MjEgMiAzIDMuODU4IDMgLjM0NyAwIC42NzgtLjA1OCAxLS4xNDJ2MS4xNDJoLTQuMzFjLS42Ny0uNDQ1LTEuMjQ1LTEuMDItMS42OS0xLjY5em0zLjI3OC00LjMxYy4zNDctLjU5NS45ODUtMSAxLjcyMi0xczEuMzc1LjQwNSAxLjcyMiAxem0yLjcyMiAydi43MjJjLS4yOTUuMTcyLS42MzQuMjc4LTEgLjI3OC0uNzM3IDAtMS4zNzUtLjQwNS0xLjcyMi0xem0yLjg1OC0yYy0uNDQ3LTEuNzIxLTItMy0zLjg1OC0zcy0zLjQxMSAxLjI3OS0zLjg1OCAzaC0yLjA1MmMuNDc4LTIuODMzIDIuOTQyLTUgNS45MS01czUuNDMxIDIuMTY3IDUuOTEgNXptLTExLjcyNS03LjA4NGMuNTEzLTIuNzkyIDIuOTU5LTQuOTE2IDUuODk3LTQuOTE2IDEuNjEgMCAzLjA2NS42MzEgNC4xNDMgMS42Ni0uOTczLS40MjMtMi4wNDYtLjY2LTMuMTczLS42Ni0yLjkxOCAwLTUuNDY5IDEuNTc2LTYuODY3IDMuOTE2em0uODY3IDQuMDg0YzAtMy4zMDkgMi42OTEtNiA2LTYgMi4zMzUgMCA0LjM1NyAxLjM0MyA1LjM0OCAzLjI5NC0xLjI1My0uODE1LTIuNzQ1LTEuMjk0LTQuMzQ4LTEuMjk0LTMuMDA0IDAtNS42MjQgMS42NjctNi45OTIgNC4xMjItLjAwMS0uMDQxLS4wMDgtLjA4MS0uMDA4LS4xMjJ6bS0uOTMxIDVjLjEyOSAxLjAyNy40NDkgMS45OTYuOTMxIDIuODY0djEuMTM2aC02di0xLjEzNmMuNDgyLS44NjkuODAyLTEuODM3LjkzMS0yLjg2NHptLTEzLjA2OSA0di0xLjE0MmMuMzIyLjA4NC42NTMuMTQyIDEgLjE0MiAxLjg1OCAwIDMuNDExLTEuMjc5IDMuODU4LTNoMS4xNDJ2Mi4zMWMtLjQ0NS42Ny0xLjAyIDEuMjQ1LTEuNjkgMS42OXptMC00aDIuNzIyYy0uMzQ3LjU5NS0uOTg1IDEtMS43MjIgMS0uMzY2IDAtLjcwNS0uMTA2LTEtLjI3OHptLS43MjItMmMuMzQ3LS41OTUuOTg1LTEgMS43MjItMXMxLjM3NS40MDUgMS43MjIgMXptOC43MTQtMi44NzhjLTEuMzY4LTIuNDU1LTMuOTg4LTQuMTIyLTYuOTkyLTQuMTIyLTEuNjAzIDAtMy4wOTUuNDc5LTQuMzQ4IDEuMjk0Ljk5MS0xLjk1MSAzLjAxMy0zLjI5NCA1LjM0OC0zLjI5NCAzLjMwOSAwIDYgMi42OTEgNiA2IDAgLjA0MS0uMDA3LjA4MS0uMDA4LjEyMnptLTUuOTkyLTguMTIyYy0xLjEwNiAwLTIuMTYuMjI2LTMuMTE5LjYzNCAxLjA3Ni0xLjAxNSAyLjUyMi0xLjYzNCA0LjExOS0xLjYzNCAyLjk2MSAwIDUuNDIyIDIuMTU4IDUuOTA3IDQuOTgzLTEuMzg4LTIuMzc4LTMuOTYxLTMuOTgzLTYuOTA3LTMuOTgzem0tMSA2YzIuOTY3IDAgNS40MzEgMi4xNjcgNS45MSA1aC0yLjA1MmMtLjQ0Ny0xLjcyMS0yLTMtMy44NTgtM3MtMy40MTEgMS4yNzktMy44NTggM2gtMi4wNTJjLjQ3OS0yLjgzMyAyLjk0My01IDUuOTEtNXptLTMuODU4IDdjLjE1OC42MDkuNDU2IDEuMTU3Ljg1OCAxLjYxOHYyLjM4MmgtLjMxYy0xLjM1NC0uODk5LTIuMzE5LTIuMzM0LTIuNi00em0tNS4xNDIgNmg1LjEzNmMuMjc4LjE1NC41NjcuMjkuODY0LjQxMXYzLjU4OWgtNnptOCAuOTMxYy4zMjguMDQxLjY2MS4wNjkgMSAuMDY5IDEuNDAxIDAgMi43MTgtLjM2NCAzLjg2NC0xaDEuMTM2djRoLTZ6bTgtLjkzMWg2djRoLTZ6bTggMGgxLjEzNmMxLjE0Ny42MzYgMi40NjMgMSAzLjg2NCAxIC4zMzkgMCAuNjcyLS4wMjggMS0uMDY5djMuMDY5aC02em04IC40MTFjLjI5Ny0uMTIxLjU4Ni0uMjU3Ljg2NC0uNDExaDUuMTM2djRoLTZ6bTcuOTY4LTcuNTcyLjAxOS0uMDAzLTIuNzc0LTE2LjY0M2MtLjIxMi0xLjI3MS0xLjMwMS0yLjE5My0yLjU4OS0yLjE5My0xLjQ0NyAwLTIuNjI0IDEuMTc3LTIuNjI0IDIuNjI0djEuMzc2aDJ2LTEuMzc2YzAtLjM0NC4yOC0uNjI0LjYyNC0uNjI0LjMwNyAwIC41NjUuMjE5LjYxNi41MjFsMi41OCAxNS40NzloLS44ODljLS4xMjktMS4wMy0uNDUxLTItLjkzNC0yLjg3IDAtLjA0NC4wMDMtLjA4Ni4wMDMtLjEzIDAtMS40Mi0uMzc2LTIuNzUxLTEuMDI3LTMuOTA4LS40NTctNC4wNTQtMy44NDEtNy4wOTItNy45NDMtNy4wOTItNC40MTEgMC04IDMuNTg5LTggOCAwIDEuMzczLjM2NCAyLjcxMyAxLjAzMSAzLjkwNC4wODIuNzIxLjI2MSAxLjQyNS41MzIgMi4wOTZoLTMuMTg3Yy4yNjMtLjY1LjQ0Mi0xLjMzLjUyNy0yLjAyOC42OTItMS4yMDggMS4wNjctMi41NzQgMS4wNjctMy45NzIgMC00LjQxMS0zLjU4OS04LTgtOC00LjA4IDAtNy40NDggMy4wMDYtNy45MzQgNy4wMjctLjY3NCAxLjE3Mi0xLjA2NiAyLjUyNi0xLjA2NiAzLjk3MyAwIC4wNDQuMDAzLjA4Ni4wMDQuMTMtLjQ4NC44Ny0uODA1IDEuODQtLjkzNSAyLjg3aC0uODg5bDIuNTgtMTUuNDc5Yy4wNTEtLjMwMi4zMDktLjUyMS42MTYtLjUyMS4zNDQgMCAuNjI0LjI4LjYyNC42MjR2MS4zNzZoMnYtMS4zNzZjMC0xLjQ0Ny0xLjE3Ny0yLjYyNC0yLjYyNC0yLjYyNC0xLjI4OCAwLTIuMzc3LjkyMi0yLjU4OCAyLjE5MmwtMi43NzQgMTYuNjQ0LjAxOS4wMDNjLS4wMS4wNTQtLjAzMy4xMDQtLjAzMy4xNjF2M2gtMXYtMjNoNDR2MjNoLTF2LTNjMC0uMDU3LS4wMjMtLjEwNy0uMDMyLS4xNjF6bTEuMDMyLTI1LjgzOXY0aC00NHYtNHptLTIwLTJoLTR2LTRjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptLTI4LTljMC0uNTUxLjQ0OS0xIDEtMWg1MGMuNTUxIDAgMSAuNDQ5IDEgMXY5aC0yMnYtNGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY0aC0yMnptMCAxMWgydjI5Ljc0OWwtMiAzLjcxNHptMy41OTcgMzFoMS40MDN2N2MwIC41NTMuNDQ4IDEgMSAxaDQwYy41NTIgMCAxLS40NDcgMS0xdi03aDEuNDAzbDUuOTIzIDExaC01Ni42NTJ6bTUwLjQwMyAxNWgtNTZjLS41NTEgMC0xLS40NDgtMS0xdi0xaDU4djFjMCAuNTUyLS40NDkgMS0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyIDE2aDR2MmgtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggMTZoNHYyaC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMSA5aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+",Afe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMTMuMjA2IDEwNi4yNjVoLTEzLjYyM3YtODYuMjhhMS43NDkgMS43NDkgMCAwIDAgLTEuNTU0LTEuNzM4bC00Ni01LjE5MmExLjc1IDEuNzUgMCAwIDAgLTEuOTQ2IDEuNzM5djMuNDQxaC0xOS45MTZhMS43NSAxLjc1IDAgMCAwIC0xLjc1IDEuNzV2ODYuMjhoLTEzLjYyM2ExLjc1IDEuNzUgMCAxIDAgMCAzLjVoMzUuMjg5djMuNDQxYTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzUgMS42MSAxLjYxIDAgMCAwIC4yLS4wMTFsNDUuOS01LjE4aDE1LjI3NmExLjc1IDEuNzUgMCAwIDAgMC0zLjV6bS04MS4yODktODQuNTNoMTguMTY2djQuNWgtMTEuOTE3YTEuNzUgMS43NSAwIDAgMCAtMS43NSAxLjc1djc4LjI4aC00LjV6bTggODQuNTN2LTc2LjUzaDEwLjE2NnY3Ni41M3ptMTMuNjY2LTg5LjUxMyA0Mi41IDQuOHY4NC45bC00Mi41IDQuOHoiLz4KICAgICAgICA8cGF0aCBkPSJtNjEuMTI1IDU4Ljc5MmE1LjIwOCA1LjIwOCAwIDEgMCA1LjIwOCA1LjIwOCA1LjIxNCA1LjIxNCAwIDAgMCAtNS4yMDgtNS4yMDh6bTAgNi45MTZhMS43MDggMS43MDggMCAxIDEgMS43MDgtMS43MDggMS43MSAxLjcxIDAgMCAxIC0xLjcwOCAxLjcwOHoiLz4KICAgIDwvZz4KPC9zdmc+",mfe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQwMS4wNjcsMEgxMTAuOTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2NDk0LjkzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDI5MC4xMzMKCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y4LjUzM0M0MDkuNiwzLjgxNCw0MDUuNzc3LDAsNDAxLjA2NywweiBNMzkyLjUzMyw0OTQuOTMzSDExOS40NjdWMTcuMDY3aDI3My4wNjdWNDk0LjkzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzY2LjkzMywzNC4xMzNIMTQ1LjA2N2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjQ2MC44YzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjIxLjg2NwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzdi00NjAuOEMzNzUuNDY3LDM3Ljk0OCwzNzEuNjQ0LDM0LjEzMywzNjYuOTMzLDM0LjEzM3ogTTM1OC40LDQ5NC45MzNIMTUzLjZWNTEuMmgyMDQuOFY0OTQuOTMzegoJCQkiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDY4LjI2N2MtNDcuMDUzLDAtODUuMzMzLDM4LjI4MS04NS4zMzMsODUuMzMzdjguNTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTUzLjYKCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxNTMuNkMzNDEuMzMzLDEwNi41NDcsMzAzLjA1Myw2OC4yNjcsMjU2LDY4LjI2N3ogTTE4Ny43MzMsMTUzLjYKCQkJYzAtMzcuNjQxLDMwLjYyNi02OC4yNjcsNjguMjY3LTY4LjI2N2MzNy42NDEsMCw2OC4yNjcsMzAuNjI2LDY4LjI2Nyw2OC4yNjdIMTg3LjczM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywxODcuNzMzSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczMwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjE5Ni4yNjdDMjQ3LjQ2NywxOTEuNTQ4LDI0My42NDQsMTg3LjczMywyMzguOTMzLDE4Ny43MzN6IE0yMzAuNCwzMDcuMmgtNDIuNjY3VjIwNC44SDIzMC40CgkJCVYzMDcuMnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzMyLjgsMTg3LjczM2gtNTkuNzMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDMzMi44CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMTk2LjI2N0MzNDEuMzMzLDE5MS41NDgsMzM3LjUxLDE4Ny43MzMsMzMyLjgsMTg3LjczM3ogTTMyNC4yNjcsMzA3LjJIMjgxLjZWMjA0LjhoNDIuNjY3VjMwNy4yCgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNDEuMzMzSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczMwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjM0OS44NjdDMjQ3LjQ2NywzNDUuMTQ4LDI0My42NDQsMzQxLjMzMywyMzguOTMzLDM0MS4zMzN6IE0yMzAuNCw0NjAuOGgtNDIuNjY3VjM1OC40SDIzMC40CgkJCVY0NjAuOHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzMyLjgsMzQxLjMzM2gtNTkuNzMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDMzMi44CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzQ5Ljg2N0MzNDEuMzMzLDM0NS4xNDgsMzM3LjUxLDM0MS4zMzMsMzMyLjgsMzQxLjMzM3ogTTMyNC4yNjcsNDYwLjhIMjgxLjZWMzU4LjRoNDIuNjY3VjQ2MC44CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDY4LjI2N2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjg1LjMzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODE0LDguNTMzLTguNTMzVjc2LjgKCQkJQzI2NC41MzMsNzIuMDgxLDI2MC43MSw2OC4yNjcsMjU2LDY4LjI2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzIwLjQzNSw5Ny42OThjLTMuMzI4LTMuMzM2LTguNzMtMy4zMzYtMTIuMDY2LDBMMjQ5Ljk2NywxNTYuMWMtMy4zMzcsMy4zMzctMy4zMzcsOC43MywwLDEyLjA2NgoJCQljMS42NjQsMS42NjQsMy44NDksMi41LDYuMDMzLDIuNWMyLjE4NSwwLDQuMzY5LTAuODM2LDYuMDMzLTIuNWw1OC40MDItNTguNDAyQzMyMy43NzIsMTA2LjQyOCwzMjMuNzcyLDEwMS4wMzUsMzIwLjQzNSw5Ny42OTh6IgogICAgICAgIC8+CiAgICAgICAgPHBhdGggZD0iTTI2Mi4wMzMsMTU2LjFMMjAzLjYzMSw5Ny42OWMtMy4zMjgtMy4zMzctOC43My0zLjMzNy0xMi4wNjYsMGMtMy4zMzcsMy4zMzYtMy4zMzcsOC43MywwLDEyLjA2Nmw1OC40MDIsNTguNDExCgkJCWMxLjY2NCwxLjY2NCwzLjg0OSwyLjUsNi4wMzMsMi41YzIuMTg1LDAsNC4zNjktMC44MzYsNi4wMzMtMi41QzI2NS4zNywxNjQuODMsMjY1LjM3LDE1OS40MzcsMjYyLjAzMywxNTYuMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNTkuNzMzLDQ5NC45MzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM0MwLDUwOC4xODYsMy44MjMsNTEyLDguNTMzLDUxMmg1MS4yCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNjguMjY3LDQ5OC43NDgsNjQuNDQ0LDQ5NC45MzMsNTkuNzMzLDQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsNDk0LjkzM2gtMTAyLjRjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDEwMi40CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNTEyLDQ5OC43NDgsNTA4LjE3Nyw0OTQuOTMzLDUwMy40NjcsNDk0LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Ofe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjBhOTYgOTYgMCAxIDAgOTYgOTYgOTYuMTA4IDk2LjEwOCAwIDAgMCAtOTYtOTZ6bTAgMTc2YTgwIDgwIDAgMSAxIDgwLTgwIDgwLjA5MSA4MC4wOTEgMCAwIDEgLTgwIDgweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTI4YTEyOCAxMjggMCAxIDAgMTI4IDEyOCAxMjguMTQ1IDEyOC4xNDUgMCAwIDAgLTEyOC0xMjh6bTAgMjQwYTExMiAxMTIgMCAxIDEgMTEyLTExMiAxMTIuMTI3IDExMi4xMjcgMCAwIDEgLTExMiAxMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzMiA0ODh2LTQ2NGE4IDggMCAwIDAgLTgtOGgtMzM2YTggOCAwIDAgMCAtOCA4djQ2NGE4IDggMCAwIDAgOCA4aDMzNmE4IDggMCAwIDAgOC04em0tMzM2LTM3NmgzMjB2MzA0aC0zMjB6bTk2LTgwaDE0NHY0MGE4IDggMCAwIDAgOCA4aDcydjE2aC0yMjR6bTIyNCAzMmgtNjR2LTMyaDY0em0tMjQwLTMydjY0aC04MHYtNjR6bS04MCA0NDh2LTQ4aDMyMHY0OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4IDQwYTI0IDI0IDAgMSAwIDI0IDI0IDI0LjAyNyAyNC4wMjcgMCAwIDAgLTI0LTI0em0wIDMyYTggOCAwIDEgMSA4LTggOC4wMDkgOC4wMDkgMCAwIDEgLTggOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTEyIDU2aDQ4djE2aC00OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg4IDQwaDMydjE2aC0zMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg4IDcyaDMydjE2aC0zMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjcyIDIwMGE4IDggMCAwIDAgLTE2IDBjMCA2LjM3My0yLjQxNyA5LjE5MS02LjA3NCAxMy40NTgtNC40MjYgNS4xNTktOS45MjYgMTEuNTgtOS45MjYgMjMuODcyczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTMtNi4wNzQgMTMuNDYxYy00LjQyNiA1LjE1OS05LjkyNiAxMS41ODEtOS45MjYgMjMuODc0YTggOCAwIDAgMCAxNiAwYzAtNi4zNzUgMi40MTctOS4xOTQgNi4wNzQtMTMuNDYyIDQuNDIzLTUuMTU5IDkuOTI2LTExLjU4IDkuOTI2LTIzLjg3M3MtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXMyLjQxNy05LjE5MSA2LjA3NC0xMy40NThjNC40MjYtNS4xNTkgOS45MjYtMTEuNTggOS45MjYtMjMuODcyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOTYgMjM3LjMzYzAtNi4zNzMgMi40MTctOS4xOTIgNi4wNzUtMTMuNDYuODEyLS45NDcgMS42MjMtMS45IDIuNDA3LTIuODc4YTggOCAwIDAgMCAtMTIuNS05Ljk4NGMtLjY2OC44MzYtMS4zNjEgMS42NDEtMi4wNTMgMi40NDktNC40MjkgNS4xNTktOS45MjkgMTEuNTgxLTkuOTI5IDIzLjg3M3M1LjUgMTguNzE0IDkuOTI2IDIzLjg3M2MzLjY1NyA0LjI2OCA2LjA3NCA3LjA4NyA2LjA3NCAxMy40NjJzLTIuNDE3IDkuMTk0LTYuMDc1IDEzLjQ2MmMtLjgxMy45NDktMS42MjUgMS45LTIuNDA5IDIuODgxYTggOCAwIDAgMCAxMi41IDkuOTg0Yy42NjgtLjgzNyAxLjM2Mi0xLjY0NCAyLjA1NC0yLjQ1MiA0LjQzLTUuMTYgOS45My0xMS41ODIgOS45My0yMy44NzVzLTUuNS0xOC43MTUtOS45MjYtMjMuODc0Yy0zLjY1Ny00LjI2OC02LjA3NC03LjA5MS02LjA3NC0xMy40NjF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxNiAyMzcuMzNjMC02LjM3MyAyLjQxNy05LjE5MiA2LjA3NS0xMy40Ni44MTItLjk0NyAxLjYyMy0xLjkgMi40MDctMi44NzhhOCA4IDAgMCAwIC0xMi41LTkuOTg0Yy0uNjY4LjgzNi0xLjM2MSAxLjY0MS0yLjA1MyAyLjQ0OS00LjQyOSA1LjE1OS05LjkyOSAxMS41ODEtOS45MjkgMjMuODczczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTQtNi4wNzUgMTMuNDYyYy0uODEzLjk0OS0xLjYyNSAxLjktMi40MDkgMi44ODFhOCA4IDAgMCAwIDEyLjUgOS45ODRjLjY2OC0uODM3IDEuMzYyLTEuNjQ0IDIuMDU0LTIuNDUyIDQuNDMtNS4xNiA5LjkzLTExLjU4MiA5LjkzLTIzLjg3NXMtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXoiLz4KICAgIDwvZz4KPC9zdmc+",Efe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3Ni4wNjUgNDc2LjA2NSI+CjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+Cgk8cGF0aCBkPSJNNDMyLjU1OCwxNzIuMDJDNDE5LjMwMyw2NC41ODcsMzIxLjQ2Ni0xMS43NiwyMTQuMDMzLDEuNDk1UzMwLjI1MywxMTIuNTg3LDQzLjUwOCwyMjAuMDIKCQljMTEuMDA4LDg5LjIyMiw4MS4zMDMsMTU5LjUxNywxNzAuNTI1LDE3MC41MjV2MzcuNTJoLTU2Yy0xMy4yNTUsMC0yNCwxMC43NDUtMjQsMjR2MjRoMjA4di0yNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTU2CgkJdi0zNy41MkMzNjkuNDY2LDM3Ny4yOSw0NDUuODEzLDI3OS40NTMsNDMyLjU1OCwxNzIuMDJ6IE0zMTguMDMzLDQ0NC4wNjVjNC40MTgsMCw4LDMuNTgyLDgsOHY4aC0xNzZ2LThjMC00LjQxOCwzLjU4Mi04LDgtOAoJCUgzMTguMDMzeiBNMjMwLjAzMyw0MjguMDY1di0zMmgxNnYzMkgyMzAuMDMzeiBNMjM4LjAzMywzNzYuMDY1Yy05OS40MTEsMC0xODAtODAuNTg5LTE4MC0xODAKCQljMC4xMTUtOTkuMzY0LDgwLjYzNi0xNzkuODg1LDE4MC0xODBjOTkuNDExLDAsMTgwLDgwLjU4OSwxODAsMTgwUzMzNy40NDQsMzc2LjA2NSwyMzguMDMzLDM3Ni4wNjV6Ii8+Cgk8cGF0aCBkPSJNNDA2LjAzMywyMTIuMDY1di0xNmMwLTQuNDE4LTMuNTgyLTgtOC04aC05My41MzZjMzkuOC0yNy44MzIsNDkuNTAyLTgyLjY1OCwyMS42Ny0xMjIuNDU4CgkJYy0xNi40NjctMjMuNTQ4LTQzLjQtMzcuNTY1LTcyLjEzNC0zNy41NDJoLTE2Yy00LjQxOCwwLTgsMy41ODItOCw4djkzLjUzNmMtMjcuODMyLTM5LjgtODIuNjU4LTQ5LjUwMi0xMjIuNDU4LTIxLjY3CgkJYy0yMy41NDgsMTYuNDY3LTM3LjU2NSw0My40LTM3LjU0Miw3Mi4xMzR2MTZjMCw0LjQxOCwzLjU4Miw4LDgsOGg5My41MzZjLTIzLjQ2NSwxNi40NzgtMzcuNDYzLDQzLjMyOC0zNy41MzYsNzIKCQljMC4wNTcsNDguNTc3LDM5LjQyMyw4Ny45NDMsODgsODhoMTZjNC40MTgsMCw4LTMuNTgyLDgtOHYtOTMuNTM2YzI3LjgzMiwzOS44LDgyLjY1OCw0OS41MDIsMTIyLjQ1OCwyMS42NwoJCUMzOTIuMDM4LDI2Ny43MzMsNDA2LjA1NiwyNDAuOCw0MDYuMDMzLDIxMi4wNjV6IE0yNDYuMDMzLDQ0LjA2NWg4YzM5Ljc2NCwwLjA1NSw3MS45NTUsMzIuMzM2LDcxLjksNzIuMQoJCWMtMC4wNDMsMzEuMTctMjAuMTM4LDU4Ljc3Mi00OS43ODgsNjguMzg4Yy00LjIwMi0xNC4wNTItMTUuNzU4LTI0LjY3Ny0zMC4xMTItMjcuNjg4VjQ0LjA2NXogTTg2LjAzMywxODguMDY1di04CgkJYzAuMDczLTM5Ljc2NCwzMi4zNjgtNzEuOTQsNzIuMTMzLTcxLjg2N2MzMS4xNDgsMC4wNTcsNTguNzI3LDIwLjEzOCw2OC4zNDcsNDkuNzYzYy0xNC4wNDcsNC4yMDMtMjQuNjY4LDE1Ljc1NS0yNy42OCwzMC4xMDQKCQlIODYuMDMzeiBNMjMwLjAzMywzNDguMDY1aC04Yy0zOS43NjQtMC4wNTUtNzEuOTU1LTMyLjMzNi03MS45LTcyLjFjMC4wNDMtMzEuMTcsMjAuMTM4LTU4Ljc3Miw0OS43ODgtNjguMzg4CgkJYzQuMjAyLDE0LjA1MiwxNS43NTgsMjQuNjc3LDMwLjExMiwyNy42ODhWMzQ4LjA2NXogTTIzOC4wMzMsMjIwLjA2NWMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNAoJCXMyNCwxMC43NDUsMjQsMjRTMjUxLjI4NywyMjAuMDY1LDIzOC4wMzMsMjIwLjA2NXogTTMxNy45LDI4My45MzJjLTMxLjE0OC0wLjA1Ny01OC43MjctMjAuMTM4LTY4LjM0Ny00OS43NjMKCQljMTQuMDQ3LTQuMjAzLDI0LjY2OC0xNS43NTUsMjcuNjgtMzAuMTA0aDExMi44djhDMzg5Ljk1OSwyNTEuODMsMzU3LjY2NCwyODQuMDA2LDMxNy45LDI4My45MzJ6Ii8+CjwvZz4KPC9zdmc+Cg==",ffe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuOTk5LDEyNi4wMDFoLTAuMDI3YzYuMjkyLTguMzYyLDEwLjAyNy0xOC43NTIsMTAuMDI3LTMwYzAtMjcuNTctMjIuNDMtNTAuMDAxLTUwLTUwLjAwMQoJCXMtNTAuMDAxLDIyLjQzLTUwLjAwMSw1MC4wMDFjMCwxMS4yNDgsMy43MzYsMjEuNjM4LDEwLjAyNywzMGgtMC4wMjdjLTUuNTIyLDAtMTAsNC40NzctMTAsMTB2MzUuNTQ1CgkJYy0xMS4zMjgtNy4yMzMtMjMuMTI4LTEzLjY1OC0zNS4zMzQtMTkuMjQxdi0xNi4zMDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHMtMTAsNC40NzctMTAsMTB2OC4wMzcKCQljLTMuMzY5LTEuMjQ3LTYuNzY0LTIuNDM4LTEwLjE4Ni0zLjU2MmMtOC4yOTEtMi43MjMtMTYuNjgzLTUuMDUyLTI1LjE0Ni03LjAxMXYtMjAuODMzYzAtNS41MjMtNC40NzgtMTAtMTAtMTAKCQljLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTYuOTMyYy0xMS42OC0xLjg0OS0yMy40NzQtMi45NzQtMzUuMzMyLTMuMzgxVjk2LjAwMWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwCgkJdjMwLjE4M2MtMTEuODU5LDAuNDA3LTIzLjY1MywxLjUzMi0zNS4zMzMsMy4zODF2LTE2LjkzMmMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjIwLjgzMwoJCWMtOC40NjIsMS45NTktMTYuODUyLDQuMjg3LTI1LjE0Miw3LjAwOWMtMy40MjQsMS4xMjQtNi44MTksMi4zMTYtMTAuMTkxLDMuNTYzdi04LjAzN2MwLTUuNTIzLTQuNDc3LTEwLTEwLTEwCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE2LjMwNGMtMTIuMjA1LDUuNTgzLTI0LjAwNCwxMi4wMDctMzUuMzM0LDE5LjI0di0zNS41NDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMC4wMjcKCQljNi4yOTMtOC4zNjIsMTAuMDI3LTE4Ljc1MiwxMC4wMjctMzBjMC0yNy41Ny0yMi40My01MC01MC01MHMtNTAsMjIuNDMtNTAsNTBjMCwxMS4yNDgsMy43MzQsMjEuNjM4LDEwLjAyNywzMEgxMAoJCWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYzMTkuOTk5YzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDBoNDBoMzEuMDMzYzUuNTIyLDAsMTAtNC40NzcsMTAtMTBjMC01LjUyMi00LjQ3OC0xMC0xMC0xMEgxMDAKCQl2LTIwLjAwMWgzMTEuOTk4djIwLjAwMWgtMjEuMDMzYy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMzEuMDMzaDQwLjAwMWg0MGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwCgkJVjEzNi4wMDFDNTExLjk5OSwxMzAuNDc3LDUwNy41MjEsMTI2LjAwMSw1MDEuOTk5LDEyNi4wMDF6IE04MCw0NDUuOTk5SDUwSDIwVjE0Ni4wMDFoMjB2NDEuODk4YzAsNS41MjMsNC40NzcsMTAsMTAsMTAKCQlzMTAtNC40NzcsMTAtMTB2LTQxLjg5OGgyMFY0NDUuOTk5eiBNNTAsMTI2LjAwMWMtMTYuNTQzLDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1Ny0zMCwzMC0zMGMxNi41NDMsMCwzMCwxMy40NTgsMzAsMzAKCQlTNjYuNTQzLDEyNi4wMDEsNTAsMTI2LjAwMXogTTEzNS4zMzQsNDA1Ljk5OEgxMDBWMTk1LjYyOWMxMS4zMTgtOC4wMiwyMy4xMjYtMTUuMDk1LDM1LjMzNC0yMS4yMThWNDA1Ljk5OHogTTE5MC42NjcsNDA2CgkJaC0zNS4zMzNWMTY1LjM4NGMxMS41LTQuNjMsMjMuMjk4LTguNDQ5LDM1LjMzMy0xMS40MzdWNDA2eiBNMjQ2LDQwNmgtMzUuMzMzVjE0OS43ODdjMTEuNjE0LTEuOTU4LDIzLjQwOS0zLjE2OCwzNS4zMzMtMy41OTkKCQlWNDA2eiBNMzAxLjMzMiw0MDUuOTk4SDI2NnYtMjU5LjgxYzExLjkyNCwwLjQzMSwyMy43MTcsMS42NDEsMzUuMzMyLDMuNTk5VjQwNS45OTh6IE0zNTYuNjY0LDQwNS45OTloLTM1LjMzMlYxNTMuOTQ4CgkJYzEyLjAzNSwyLjk4OCwyMy44MzIsNi44MDcsMzUuMzMyLDExLjQzOFY0MDUuOTk5eiBNNDExLjk5OCw0MDUuOTk4aC0zNS4zMzRWMTc0LjQxMmMxMi4yMDksNi4xMjMsMjQuMDE3LDEzLjIsMzUuMzM0LDIxLjIyCgkJVjQwNS45OTh6IE00OTEuOTk5LDQ0NS45OTloLTMwaC0zMC4wMDFWMTQ2LjAwMWgyMC4wMDF2NDEuODk4YzAsNS41MjMsNC40NzgsMTAsMTAsMTBjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtNDEuODk4aDIwCgkJVjQ0NS45OTl6IE00NjEuOTk5LDEyNi4wMDFjLTE2LjU0MiwwLTMwLjAwMS0xMy40NTgtMzAuMDAxLTMwYzAtMTYuNTQzLDEzLjQ1OS0zMC4wMDEsMzAuMDAxLTMwLjAwMQoJCWMxNi41NDIsMCwzMCwxMy40NTgsMzAsMzAuMDAxQzQ5MS45OTksMTEyLjU0Miw0NzguNTQxLDEyNi4wMDEsNDYxLjk5OSwxMjYuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNTAsNDQ1Ljk5OWgtMC4yMzZjLTUuNTIzLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMEgxNTBjNS41MjMsMCwxMC00LjQ3NywxMC0xMAoJCUMxNjAsNDUwLjQ3NywxNTUuNTIzLDQ0NS45OTksMTUwLDQ0NS45OTl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2Mi4yMzQsNDQ1Ljk5OWgtMC4yMzdjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3OCwxMCwxMCwxMGgwLjIzN2M1LjUyMywwLDEwLTQuNDc3LDEwLTEwCgkJQzM3Mi4yMzQsNDUwLjQ3NywzNjcuNzU4LDQ0NS45OTksMzYyLjIzNCw0NDUuOTk5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MCwyMDYuNjMxYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjAuMjM1YzAsNS41MjMsNC40NzcsMTAsMTAsMTBzMTAtNC40NzcsMTAtMTB2LTAuMjM1CgkJQzYwLDIxMS4xMDgsNTUuNTIzLDIwNi42MzEsNTAsMjA2LjYzMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDYxLjk5OSwyMDYuNjMxYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjAuMjM1YzAsNS41MjMsNC40NzgsMTAsMTAsMTBjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtMC4yMzUKCQlDNDcxLjk5OSwyMTEuMTA4LDQ2Ny41MjEsMjA2LjYzMSw0NjEuOTk5LDIwNi42MzF6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",xfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDQuMDA1LDEwOC4wMDNjLTEzLjI1NSwwLTI0LDEwLjc0NS0yNCwyNGMwLDQuNDE4LDMuNTgyLDgsOCw4czgtMy41ODIsOC04czMuNTgyLTgsOC04czgtMy41ODIsOC04CgkJCVMxMDguNDIzLDEwOC4wMDMsMTA0LjAwNSwxMDguMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zODUuMzU3LDc2LjExNWwtMjgwLTQ4Yy0wLjQ0Ny0wLjA3My0wLjg5OS0wLjExMS0xLjM1Mi0wLjExMkM0Ni42MTIsMjcuOTU2LDAuMDQ3LDc0LjQ0NCwwLDEzMS44MzcKCQkJYy0wLjAyNiwzMS4wNTksMTMuODQzLDYwLjUwMSwzNy44MDUsODAuMjYxbDU4LjQ0LDIzMy44NDhjMC44OTIsMy41NTksNC4wOTEsNi4wNTYsNy43Niw2LjA1Nmg2NAoJCQljNC40MTgsMC4wMDgsOC4wMDctMy41NjYsOC4wMTUtNy45ODVjMC0wLjE3MS0wLjAwNS0wLjM0MS0wLjAxNS0wLjUxMWwtMTMuNi0yMTcuNGwyMjIuOTItMzguMjE2CgkJCWMzLjg1NC0wLjY0NSw2LjY3OS0zLjk4LDYuNjgtNy44ODh2LTk2QzM5Mi4wMDcsODAuMTA1LDM4OS4xOTksNzYuNzczLDM4NS4zNTcsNzYuMTE1eiBNMTEwLjI1Myw0MzYuMDAzTDU3LjYwNSwyMjUuMTcxCgkJCWMwLjUwNCwwLjI0OCwxLjA0LDAuNDE2LDEuNTQ0LDAuNjY0YzIuNTc2LDEuMjMyLDUuMTg5LDIuMzUyLDcuODQsMy4zNmMwLjc0NCwwLjI4LDEuNDY0LDAuNiwyLjIwOCwwLjg2NAoJCQljMy4zMTksMS4xNzQsNi42OTcsMi4xNzUsMTAuMTIsM2MwLjgsMC4xOTIsMS42LDAuMzI4LDIuNCwwLjUwNGMyLjc2OCwwLjU5Miw1LjU2NSwxLjA3Nyw4LjM5MiwxLjQ1NgoJCQljMS4wMDgsMC4xMjgsMi4wMTYsMC4yNjQsMy4wMjQsMC4zNjhjMy42MTEsMC4zOSw3LjI0LDAuNTk2LDEwLjg3MiwwLjYxNmMwLjQ1My0wLjAwMSwwLjkwNS0wLjAzOSwxLjM1Mi0wLjExMmw0MS4yMTYtNy4wODgKCQkJbDEyLjkyLDIwNy4ySDExMC4yNTN6IE0zNDQuMDA1LDE3OC43MzlsLTIzOC4wODgsNDAuOGwtMi41NzYsMC40NjRjLTQ4LjM2Ny0wLjMwNC04Ny4zOTktMzkuNjMyLTg3LjMzNi04OAoJCQljMC4wNTUtNDguMzIsMzkuMDE4LTg3LjU3OSw4Ny4zMzYtODhsMjQwLjY2NCw0MS4yNjRWMTc4LjczOXogTTM3Ni4wMDUsMTczLjI1OWwtMTYsMi43NDR2LTg4bDE2LDIuNzQ0VjE3My4yNTl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwNC4wMDUsNzYuMDAzYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2CgkJCUMxNjAuMDA1LDEwMS4wNzUsMTM0LjkzMyw3Ni4wMDMsMTA0LjAwNSw3Ni4wMDN6IE0xMDQuMDA1LDE3Mi4wMDNjLTIyLjA5MSwwLTQwLTE3LjkwOS00MC00MGMwLjAyNi0yMi4wOCwxNy45Mi0zOS45NzQsNDAtNDAKCQkJYzIyLjA5MSwwLDQwLDE3LjkwOSw0MCw0MFMxMjYuMDk3LDE3Mi4wMDMsMTA0LjAwNSwxNzIuMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNDEuOTMzLDQxMS41MjNsLTkuNjY0LTE1NS4wMjRjLTAuMjc2LTQuNDE4LTQuMDgyLTcuNzc2LTguNS03LjVjLTQuNDE4LDAuMjc2LTcuNzc2LDQuMDgyLTcuNSw4LjVsOS42NjQsMTU1CgkJCWMwLjI2Myw0LjIyNywzLjc3Myw3LjUxNiw4LjAwOCw3LjUwNGMwLjE2OCwwLDAuMzM2LDAsMC41MDQsMEMxMzguODU0LDQxOS43MjgsMTQyLjIwNyw0MTUuOTMyLDE0MS45MzMsNDExLjUyM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDcyLjAwNSwxMjQuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsMTI0LjAwMyw0NzIuMDA1LDEyNC4wMDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ3Mi4wMDUsMTU2LjAwM2gtNDhjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoNDhjNC40MTgsMCw4LTMuNTgyLDgtOFM0NzYuNDIzLDE1Ni4wMDMsNDcyLjAwNSwxNTYuMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NzIuMDA1LDkyLjAwM2gtNDhjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoNDhjNC40MTgsMCw4LTMuNTgyLDgtOFM0NzYuNDIzLDkyLjAwMyw0NzIuMDA1LDkyLjAwM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",_fe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00OC40NTcsNzcuMjI3YTguMDYzLDguMDYzLDAsMCwwLTEwLjQsMTIuMzI1djYuOTI3YTUuMjczLDUuMjczLDAsMCwwLDEwLjU0NSwwVjg5LjU1M2E4LjA2Myw4LjA2MywwLDAsMC0uMTQ2LTEyLjMyNlpNNDUuODc0LDg3LjI0YTEuNzUsMS43NSwwLDAsMC0uNzcxLDEuNDUxdjcuNzg3YTEuNzczLDEuNzczLDAsMCwxLTMuNTQ1LDBWODguNjkxYTEuNzQ3LDEuNzQ3LDAsMCwwLS43NzMtMS40NTFBNC41NjYsNC41NjYsMCwwLDEsNDIuNCw3OC45NzhhNC44NzYsNC44NzYsMCwwLDEsLjk0LS4wOTIsNC41LDQuNSwwLDAsMSwyLjg5MywxLjA0MSw0LjU2Miw0LjU2MiwwLDAsMS0uMzU2LDcuMzEzWiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDUuMjI4LDQ0LjY2Myw2NS41OCw0My4zNlYxOS41MTRhNS4zNyw1LjM3LDAsMCwwLTUuMzYzLTUuMzY0SDI2LjQ0M2E1LjM3LDUuMzcsMCwwLDAtNS4zNjMsNS4zNjR2ODguOTcyYTUuMzcsNS4zNywwLDAsMCw1LjM2Myw1LjM2NEg2MC4yMTdhNS4zNyw1LjM3LDAsMCwwLDUuMzYzLTUuMzY0VjU5LjhsMzkuNjQ4LTEuM2ExLjc1LDEuNzUsMCwwLDAsMS42OTItMS43NDlWNDYuNDEyQTEuNzUsMS43NSwwLDAsMCwxMDUuMjI4LDQ0LjY2M1pNNjIuMDgsMTA4LjQ4NmExLjg2NiwxLjg2NiwwLDAsMS0xLjg2MywxLjg2NEgyNi40NDNhMS44NjYsMS44NjYsMCwwLDEtMS44NjMtMS44NjRWMTkuNTE0YTEuODY2LDEuODY2LDAsMCwxLDEuODYzLTEuODY0SDYwLjIxN2ExLjg2NiwxLjg2NiwwLDAsMSwxLjg2MywxLjg2NFY0My4yNDVsLTYuMjY3LS4yMDZhMTUuMTI3LDE1LjEyNywwLDEsMCwwLDE3LjA4Nmw2LjI2NC0uMjA2Wk00NC4zOSw2MC41aDBMNTEsNjAuMjg0YTExLjYxMiwxMS42MTIsMCwxLDEsLjA0LTE3LjRsLTYuNjQ5LS4yMTloLS4wNThBOC45Miw4LjkyLDAsMSwwLDQ0LjM5LDYwLjVabTU5LjAzLTUuNDQyLTM5LjU4NywxLjNoLS4wMDhMNDQuMzM0LDU3YTUuNDIsNS40MiwwLDAsMS0uMDI3LTEwLjg0bDU5LjExMywxLjk0M1oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Sfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuMzQsMTE3LjMzNmMtNS45MDYsMC0xMC42ODgsNC43NzMtMTAuNjg4LDEwLjY2NHY4NS4zMzVINDY5LjM0di0yMS4zMzZjMC0yMy41MjMtMTkuMTU2LTQyLjY2My00Mi42ODgtNDIuNjYzCgkJYy0xMi43MTgsMC0yNC4xNTUsNS42MDktMzEuOTk5LDE0LjQ5MWMtNy44MTItOC44ODItMTkuMjUtMTQuNDkxLTMyLTE0LjQ5MWMtMTIuNzE4LDAtMjQuMTU1LDUuNjA5LTMxLjk5OSwxNC40OTEKCQljLTcuODEyLTguODgyLTE5LjI1LTE0LjQ5MS0zMi0xNC40OTFjLTEyLjcxOSwwLTI0LjE1Niw1LjYwOS0zMS45OTIsMTQuNDkxYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxCgkJYy0xMi43MjYsMC0yNC4xNzEsNS42MDktMzIsMTQuNDkxYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xMi43MjYsMC0yNC4xNzEsNS42MDktMzIsMTQuNDkxCgkJYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xOS44MzUsMC0zNi41NywxMy42MTYtNDEuMzIsMzEuOTk5SDMyYy01Ljg5MSwwLTEwLjY2NCw0Ljc3My0xMC42NjQsMTAuNjY0djIxLjMzNkgxMC42NjQKCQlDNC43NzMsMjEzLjMzNSwwLDIxOC4xMDgsMCwyMjMuOTk5czQuNzczLDEwLjY2NCwxMC42NjQsMTAuNjY0aDEwLjY3MnYyMS4zMzZjMCw1Ljg5MSw0Ljc3MywxMC42NjQsMTAuNjY0LDEwLjY2NGgzMnYyMDIuNjc4CgkJYzAsMjMuNTE2LDE5LjE0MSw0Mi42NTYsNDIuNjY0LDQyLjY1NmMxMi43NDIsMCwyNC4xOC01LjYyNSwzMi0xNC41YzcuODI4LDguODc1LDE5LjI3MywxNC41LDMyLDE0LjUKCQljMTIuNzQyLDAsMjQuMTgtNS42MjUsMzItMTQuNWM3LjgyOCw4Ljg3NSwxOS4yNzMsMTQuNSwzMiwxNC41YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjUKCQljNy44MzYsOC44NzUsMTkuMjczLDE0LjUsMzEuOTkyLDE0LjVjMTIuNzUsMCwyNC4xODgtNS42MjUsMzItMTQuNWM3Ljg0NCw4Ljg3NSwxOS4yODEsMTQuNSwzMS45OTksMTQuNQoJCWMxMi43NSwwLDI0LjE4OC01LjYyNSwzMi0xNC41YzcuODQ0LDguODc1LDE5LjI4MSwxNC41LDMxLjk5OSwxNC41YzIzLjUzMSwwLDQyLjY4OC0xOS4xNDEsNDIuNjg4LTQyLjY1NlYyMzQuNjYzaDMyCgkJYzUuODc1LDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRWMTI4QzUxMS45OTYsMTIyLjEwOSw1MDcuMjE1LDExNy4zMzYsNTAxLjM0LDExNy4zMzZ6IE02NCwyNDUuMzM1SDQyLjY2NHYtNDIuNjcySDY0VjI0NS4zMzUKCQl6IE0xMjcuOTk5LDQ2OS4zNDFjMCwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMjU1Ljk5OXYtNjQKCQljMC0xMS43NTgsOS41Ny0yMS4zMzYsMjEuMzI4LTIxLjMzNmMxMS43NzMsMCwyMS4zMzYsOS41NzgsMjEuMzM2LDIxLjMzNlY0NjkuMzQxeiBNMTkxLjk5OSw0NjkuMzQxCgkJYy0wLjAwMSwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2CgkJYzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6IE0yNTUuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzM2LDIxLjMxMgoJCWMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2YzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6CgkJIE0zMTkuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzUsMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5CgkJYzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2YzExLjc4MSwwLDIxLjM0NCw5LjU3OCwyMS4zNDQsMjEuMzM2VjQ2OS4zNDF6IE0zODMuOTk3LDQ2OS4zNDEKCQljMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzQ5LDAtMjEuMzEyLTkuNTYyLTIxLjMxMi0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU2Mi0yMS4zMzYsMjEuMzEyLTIxLjMzNgoJCWMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNNDQ3Ljk5Niw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjM0NCwyMS4zMTIKCQljLTExLjc0OSwwLTIxLjMxMi05LjU2Mi0yMS4zMTItMjEuMzEyVjE5MS45OTljMC0xMS43NTgsOS41NjItMjEuMzM2LDIxLjMxMi0yMS4zMzZjMTEuNzgxLDAsMjEuMzQ0LDkuNTc4LDIxLjM0NCwyMS4zMzZWNDY5LjM0MQoJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzU2Ljg3MSwxMDMuNjcyYy0xLjMxMi00LjUzOS0wLjUtNy44NDQsMi42ODgtMTEuMDU1YzguNjU2LTguNjk1LDExLjUzMS0xOS45ODQsOC4wNjItMzEuODEyCgkJCWMtMi4zMTItNy45MzgtNi44MTItMTMuNTQ3LTcuMzc1LTE0LjI1Yy0wLjAzMSwwLTAuMDMxLTAuMDA4LTAuMDMxLTAuMDA4di0wLjAxNWMtMS45NjktMi4zNTktNC45MDYtMy44NjctOC4yMTktMy44NjcKCQkJYy01Ljg5LDAtMTAuNjU1LDQuNzgxLTEwLjY1NSwxMC42NzJjMCwyLjU4NiwwLjkwNiw0Ljk2MSwyLjQzOCw2LjgwNWMwLjAzMSwwLjAyMywyLjI4MSwyLjkzOCwzLjM3NSw2LjY1NgoJCQljMS4yNjYsNC4zNjcsMC40NjksNy41ODYtMi43MTksMTAuNzY2Yy04LjYyNSw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc4LDMxLjk5OGMyLjMyOCw4LjEwMiw2LjgyOCwxMy44MzYsNy4zMjgsMTQuNDY5di0wLjAwOAoJCQljMS45NjksMi40MjIsNC45NTMsMy45NzcsOC4zMTIsMy45NzdjNS44OTEsMCwxMC42NTYtNC43NzMsMTAuNjU2LTEwLjY2NGMwLTIuNTM5LTAuODc1LTQuODY3LTIuMzQ0LTYuNjk1CgkJCUMzNjAuMjc4LDExMC42MSwzNTcuOTY1LDEwNy41NTUsMzU2Ljg3MSwxMDMuNjcyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNjguNjU2LDk2LjYxYy0yLjQ2MS05LjgzNi0wLjQ5Mi0xOC4xOTUsNi0yNS41NDdjMTEuNDA2LTEyLjg5MSwxNS4wMzEtMjguNjk1LDEwLjUtNDUuNzI2CgkJCWMtMy4xODgtMTEuOTM4LTkuMzEyLTIwLjIyNy0xMC0yMS4xMzNWNC4yMmMtMS45NjktMi41NTUtNS4wMjMtNC4yMTktOC40OTItNC4yMTljLTUuODkzLDAtMTAuNjY2LDQuNzczLTEwLjY2NiwxMC42NjQKCQkJYzAsMi40MTQsMC44MDUsNC42MzMsMi4xNTYsNi40MTRoLTAuMDE2YzAuMDQ3LDAuMDYyLDQuNDkyLDYuMTA5LDYuNTQ3LDE0LjMyYzIuNDUzLDkuODI3LDAuNDg0LDE4LjE4Ny02LjAxNiwyNS41MzgKCQkJYy0xMS4zOSwxMi44OTEtMTUuMDE1LDI4LjY5Ni0xMC40ODMsNDUuNzI3YzMuMTcyLDExLjkzOCw5LjMwNSwyMC4yMjcsOS45ODQsMjEuMTMzbDAuMDE2LTAuMDE2CgkJCWMxLjk0NSwyLjU3LDUuMDE2LDQuMjE5LDguNDc3LDQuMjE5YzUuODk4LDAsMTAuNjgtNC43NzMsMTAuNjgtMTAuNjY0YzAtMi40MTQtMC44MTItNC42MzMtMi4xNTYtNi40MTQKCQkJQzI3NS4xNCwxMTAuODYsMjcwLjY5NSwxMDQuODEzLDI2OC42NTYsOTYuNjF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE4OS42NCwxMTAuNjQxYy0wLjAyMy0wLjAzMS0yLjMyOC0zLjA4Ni0zLjQ0NS02Ljk2OWMtMS4zMDUtNC41MzktMC41LTcuODQ0LDIuNjk1LTExLjA1NQoJCQljOC42NjQtOC42OTUsMTEuNTIzLTE5Ljk4NCw4LjA2Mi0zMS44MTJjLTIuMzItNy45MzgtNi43ODktMTMuNTMxLTcuMzkxLTE0LjI1YzAsMCwwLTAuMDA4LTAuMDA4LTAuMDA4bC0wLjAwOC0wLjAyM3YwLjAwOAoJCQljLTEuOTYxLTIuMzU5LTQuOTA2LTMuODY3LTguMjExLTMuODY3Yy01Ljg5MSwwLTEwLjY3Miw0Ljc4MS0xMC42NzIsMTAuNjcyYzAsMi41ODYsMC45MjIsNC45NjEsMi40NTMsNi44MDUKCQkJYzAuMDIzLDAuMDIzLDIuMjczLDIuOTM4LDMuMzU5LDYuNjU2YzEuMjgxLDQuMzY3LDAuNDY5LDcuNTg2LTIuNzAzLDEwLjc2NmMtOC42NCw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc3LDMxLjk5OAoJCQljMi4zMjgsOC4xMDIsNi44MjgsMTMuODM2LDcuMzM2LDE0LjQ2OXYtMC4wMDhjMS45NjEsMi40MjIsNC45NDUsMy45NzcsOC4zMDUsMy45NzdjNS44OTEsMCwxMC42NjQtNC43NzMsMTAuNjY0LTEwLjY2NAoJCQljMC0yLjUzOS0wLjg5MS00Ljg2Ny0yLjM2Ny02LjY5NUgxODkuNjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",kfe="PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIC0xIDQ5NiA0OTUiIHdpZHRoPSI0OTZwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ4OCAzMjAuNWgtNDB2LTMyYzAtMi4xMjg5MDYtLjgzOTg0NC00LjE2MDE1Ni0yLjM0Mzc1LTUuNjU2MjVsLTEyMC0xMjBjLTEuNDk2MDk0LTEuNTAzOTA2LTMuNTI3MzQ0LTIuMzQzNzUtNS42NTYyNS0yLjM0Mzc1aC0xNnYtMTUyYzAtNC40MjU3ODEtMy41NzQyMTktOC04LThoLTk2Yy00LjQyNTc4MSAwLTggMy41NzQyMTktOCA4djE1MmgtMjRjLTIuMTI4OTA2IDAtNC4xNjAxNTYuODM5ODQ0LTUuNjU2MjUgMi4zNDM3NWwtMTIwIDEyMGMtMS41MDM5MDYgMS40OTYwOTQtMi4zNDM3NSAzLjUyNzM0NC0yLjM0Mzc1IDUuNjU2MjV2MzJoLTMyYy00LjQyNTc4MSAwLTggMy41NzQyMTktOCA4djQ4YzAgNC40MjU3ODEgMy41NzQyMTkgOCA4IDhoNDgwYzQuNDI1NzgxIDAgOC0zLjU3NDIxOSA4LTh2LTQ4YzAtNC40MjU3ODEtMy41NzQyMTktOC04LTh6bS0yODAtMzA0aDgwdjE5MmgtODB6bS0xNTIgMjc1LjMxMjUgMTE1LjMxMjUtMTE1LjMxMjVoMjAuNjg3NXY0MGMwIDQuNDI1NzgxIDMuNTc0MjE5IDggOCA4aDk2YzQuNDI1NzgxIDAgOC0zLjU3NDIxOSA4LTh2LTQwaDEyLjY4NzVsMTE1LjMxMjUgMTE1LjMxMjV2MjguNjg3NWgtMzc2em00MjQgNzYuNjg3NWgtNDY0di0zMmg0NjR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNzkuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjI3LjMxMjUgNDQwLjVjLTIuMTM2NzE5LTIuMTQ0NTMxLTMuMzEyNS00Ljk3NjU2Mi0zLjMxMjUtOHMxLjE3NTc4MS01Ljg1NTQ2OSAzLjMxMjUtOGwxMC4zNDM3NS0xMC4zNDM3NS0xMS4zMTI1LTExLjMxMjUtMTAuMzQzNzUgMTAuMzQzNzVjLTUuMTYwMTU2IDUuMTYwMTU2LTggMTIuMDE1NjI1LTggMTkuMzEyNXMyLjgzOTg0NCAxNC4xNjAxNTYgOCAxOS4zMTI1bDQuNjg3NSA0LjY4NzVjMi4xMzY3MTkgMi4xNDQ1MzEgMy4zMTI1IDQuOTc2NTYyIDMuMzEyNSA4cy0xLjE3NTc4MSA1Ljg1NTQ2OS0zLjMxMjUgOGwtMTAuMzQzNzUgMTAuMzQzNzUgMTEuMzEyNSAxMS4zMTI1IDEwLjM0Mzc1LTEwLjM0Mzc1YzUuMTYwMTU2LTUuMTYwMTU2IDgtMTIuMDE1NjI1IDgtMTkuMzEyNXMtMi44Mzk4NDQtMTQuMTYwMTU2LTgtMTkuMzEyNXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI3NS4zMTI1IDQ0MC41Yy0yLjEzNjcxOS0yLjE0NDUzMS0zLjMxMjUtNC45NzY1NjItMy4zMTI1LThzMS4xNzU3ODEtNS44NTU0NjkgMy4zMTI1LThsMTAuMzQzNzUtMTAuMzQzNzUtMTEuMzEyNS0xMS4zMTI1LTEwLjM0Mzc1IDEwLjM0Mzc1Yy01LjE2MDE1NiA1LjE2MDE1Ni04IDEyLjAxNTYyNS04IDE5LjMxMjVzMi44Mzk4NDQgMTQuMTYwMTU2IDggMTkuMzEyNWw0LjY4NzUgNC42ODc1YzIuMTM2NzE5IDIuMTQ0NTMxIDMuMzEyNSA0Ljk3NjU2MiAzLjMxMjUgOHMtMS4xNzU3ODEgNS44NTU0NjktMy4zMTI1IDhsLTEwLjM0Mzc1IDEwLjM0Mzc1IDExLjMxMjUgMTEuMzEyNSAxMC4zNDM3NS0xMC4zNDM3NWM1LjE2MDE1Ni01LjE2MDE1NiA4LTEyLjAxNTYyNSA4LTE5LjMxMjVzLTIuODM5ODQ0LTE0LjE2MDE1Ni04LTE5LjMxMjV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjMuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzg0IDI4OC41aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAyODguNWgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAgMjg4LjVoMTZ2MTZoLTE2em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Yfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDUgNTEyLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0zMjcuMTU5LDIuNzY2Yy00LjA2My0zLjY4OC0xMC4yNS0zLjY4OC0xNC4zMTMsMGMtNC42NDIsNC4xODYtMTEwLjg4OSwxMDEuMjkyLTE2MC4yMjgsMjEzLjgzOQoJCQkJYy01LjMxOC0xLjg2Ny0xMS40NC0zLjI2Ni0xOS4zNTUtMy4yNjZjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2CgkJCQljLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3CgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWMxMiwwLDE3LjU2MywzLjg2NSwyNC42MDQsOC43NgoJCQkJYzguMDUyLDUuNjA0LDE4LjA4MywxMi41NzMsMzYuNzcxLDEyLjU3M2MxOC42NzcsMCwyOC43MDgtNi45NjksMzYuNzcxLTEyLjU3M2M3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NgoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzMKCQkJCWMtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTExLjIwOCwwLTE2LjgyMy0zLjQxOS0yMy4yNDItNy44NTRjNDAuMTIxLTkyLjY2MSwxMjMuNjYxLTE3Ny40NjYsMTQ4LjYwNy0yMDEuNDkKCQkJCWMzMy4yMTksMzIuMDEsMTcwLjY2NywxNzEuODY1LDE3MC42NjcsMjk0LjY3N2MwLDk0LjEwNC03Ni41NjMsMTcwLjY2Ny0xNzAuNjY3LDE3MC42NjdjLTQyLjQ3NywwLTgyLjY2OS0xNS44MjItMTEzLjc4LTQzLjc1OAoJCQkJYzExLjU0Mi0yLjEzOCwxOC45OTQtNy4xNzcsMjUuMTg2LTExLjQ4MmM3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NmM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3CgkJCQlzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzYKCQkJCWMtMTIsMC0xNy41NjMtMy44NjUtMjQuNTk0LTguNzZjLTguMDYzLTUuNjA0LTE4LjA5NC0xMi41NzMtMzYuNzgxLTEyLjU3M2MtMTguNjc3LDAtMjguNjk4LDYuOTY5LTM2Ljc1LDEyLjU3MwoJCQkJYy03LjAzMSw0Ljg5Ni0xMi41ODMsOC43Ni0yNC41NzMsOC43NmMtMTEuOTY5LDAtMTcuNTIxLTMuODY1LTI0LjU0Mi04Ljc1Yy04LjA0Mi01LjYwNC0xOC4wNjMtMTIuNTgzLTM2LjcyOS0xMi41ODMKCQkJCWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzUKCQkJCWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODNjMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NQoJCQkJYzEyLDAsMTcuNTYzLDMuODY1LDI0LjYwNCw4Ljc2YzQuMzQ1LDMuMDIzLDkuNDE0LDYuMzU1LDE1Ljk2MSw4Ljg2NWMzNi42LDQyLjk5Niw4OS42NTUsNjcuNzA4LDE0Ni4xNzQsNjcuNzA4CgkJCQljMTA1Ljg2NSwwLDE5Mi04Ni4xMzUsMTkyLTE5MkM1MTIuMDAzLDE3MS42NDEsMzM0LjcwMSw5LjU4OSwzMjcuMTU5LDIuNzY2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMC42NjksMzYyLjY3MmMxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzUKCQkJCWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzQuNzczLDM2Mi42NzIsMTAuNjY5LDM2Mi42NzJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEzMy4yNjMsMzQxLjMzOWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMiwwLDE3LjU2MywzLjg2NSwyNC41OTQsOC43NgoJCQkJYzguMDYzLDUuNjA0LDE4LjA5NCwxMi41NzMsMzYuNzgxLDEyLjU3M2MxOC42NzcsMCwyOC43MDgtNi45NjksMzYuNzcxLTEyLjU3M2M3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NgoJCQkJYzEyLjE5OCwwLDE4LjQwNiwzLjk2OSwyNi4yNSw4Ljk5YzkuMDUyLDUuNzgxLDE5LjMxMywxMi4zNDQsMzcuNzUsMTIuMzQ0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcKCQkJCWMwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xMi4xOTgsMC0xOC40MDYtMy45NjktMjYuMjUtOC45OWMtOS4wNTItNS43ODEtMTkuMzEzLTEyLjM0NC0zNy43NS0xMi4zNDQKCQkJCWMtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU5NCw4Ljc2LTI0LjU4Myw4Ljc2Yy0xMiwwLTE3LjU2My0zLjg2NS0yNC42MDQtOC43NgoJCQkJQzE2MS45ODIsMzQ4LjMwNywxNTEuOTUxLDM0MS4zMzksMTMzLjI2MywzNDEuMzM5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMzMuMjYzLDI3Ny4zMzljLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2CgkJCQljLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3CgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3CgkJCQlDMTQzLjkzLDI4Mi4xMDksMTM5LjE1OSwyNzcuMzM5LDEzMy4yNjMsMjc3LjMzOXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjMxLjQwOSwzMDcuNDMyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NQoJCQkJYzguMDQyLDUuNjA0LDE4LjA2MywxMi41ODMsMzYuNzI5LDEyLjU4M2MxOC42NzcsMCwyOC43MDgtNi45NzksMzYuNzYtMTIuNTgzYzcuMDMxLTQuODg1LDEyLjU4My04Ljc1LDI0LjU2My04Ljc1CgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42NzcsMC0yOC42OTgsNi45NjktMzYuNzUsMTIuNTczCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4MwoJCQkJYy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjcKCQkJCXM0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N0MyMTMuMzE1LDMyMC4wMDUsMjIzLjM0NiwzMTMuMDM2LDIzMS40MDksMzA3LjQzMnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",vfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MTIgMTYzLjg3YzAtMTMuOS01LjQxMi0yNi45NjEtMTUuMjMzLTM2Ljc3LTkuODE1LTkuODI4LTIyLjg3Ni0xNS4yNC0zNi43NzYtMTUuMjRoLTgwLjk3Yy0yNi43MDUgMC00OC40My0yMS43MjYtNDguNDMtNDguNDMgMC0xMi45MzggNS4wMzctMjUuMTAxIDE0LjE4NC0zNC4yNDcgOS4xNDQtOS4xNDYgMjEuMzA3LTE0LjE4MyAzNC4yNDUtMTQuMTgzaDEyNS40OGM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtMTI1LjQ4Yy0xNi45NDUgMC0zMi44NzQgNi41OTctNDQuODUzIDE4LjU3Ny0xMS45NzkgMTEuOTc5LTE4LjU3NyAyNy45MDgtMTguNTc3IDQ0Ljg1MyAwIDM0Ljk3NSAyOC40NTUgNjMuNDMgNjMuNDMgNjMuNDNoODAuOTdjOS44OSAwIDE5LjE4MiAzLjg1IDI2LjE2OSAxMC44NDcgNi45OTEgNi45ODIgMTAuODQxIDE2LjI3MyAxMC44NDEgMjYuMTYzIDAgOC42MzctMy4wMzggMTcuMDQ0LTguNTU3IDIzLjY3NGwtMjIuMzA1IDI2LjgyMmMtNy44ODQtMi43MjUtMTYuOTg5LS45NzItMjMuMjgyIDUuMzExbC05LjA1OCA5LjA1OGMtMjAuMzItLjQyLTQzLjA5OCAzLjk0LTYyLjgyMSA3LjQyNy00LjA3OS43MjEtNi44MDEgNC42MTMtNi4wNzkgOC42OTEuNzIxIDQuMDc5IDQuNjEzIDYuNzk5IDguNjkxIDYuMDc5IDE4Ljk0Mi0zLjM1IDM4LjM5Mi01Ljc2OCA1Ny44MDktNy4xODUgNy42ODEtLjU2NiAxNC44MzMgNC4zOTMgMTYuOTg1IDExLjc4IDEuODI3IDYuMjcgNDcuMDI3IDE2MC4xNjcgNDguNTMzIDE2Ni41NzUuNDk4IDIuMTE5LS43MzggMy42Ni0yLjkxMiAzLjY2LTIyLjc4NiAwLTQxLjA0MiAxNS42Ni00OC40NjQgMzYuNDg4aC0zMjAuMzcxYy00LjE0MiAwLTcuNSAzLjM1Ny03LjUgNy41czMuMzU4IDcuNSA3LjUgNy41aDMyNy43ODdjNS40NDUgMCA5Ljg3NSA0LjQzIDkuODc1IDkuODc1cy00LjQzMSA5Ljg3NS05Ljg3NiA5Ljg3NWgtNDM2LjkwNmMzLjI2NS0xMS4zOTEgMTMuNzc1LTE5Ljc1IDI2LjItMTkuNzVoNTIuOTE5YzQuMTQyIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC00NC45NDRjNjIuNDYyLTExMS41OTggMTcxLjkwMy0xNzcuMDI3IDI5NC43NzgtMjA1LjQ4NiA0LjAzNS0uOTM1IDYuNTQ5LTQuOTYzIDUuNjE0LTguOTk5LS45MzQtNC4wMzUtNC45NjQtNi41NDktOC45OTktNS42MTQtNzEuNjMyIDE2LjU5OS0xNDMuNTkzIDQ3LjA1MS0yMDEuNDczIDkyLjYwNmwtMTAuMDcxLTEwLjA3Yy04LjYzNS04Ljc1Mi0yMy4xNTktOC42NzgtMzEuODI2LS4wMS04LjYzMSA4LjYzMi04LjcyOCAyMy4xNjYgMCAzMS44MDdsOC4wNTEgOC4wNTFjLTI5LjQ2NyAyOC45NTktNTQuMTAyIDYyLjMyLTc0LjA0MiA5OC45Mi0xOC40ODcgNC41MDItMzIuMjU2IDIxLjE5MS0zMi4yNTYgNDEuMDQ1IDAgNC4xNDMgMy4zNTggNy41IDcuNSA3LjVoNDQ1LjQ1NWMxMy43MTYgMCAyNC44NzUtMTEuMTU5IDI0Ljg3NS0yNC44NzUgMC0xMC43NS02Ljg1NS0xOS45MjctMTYuNDI0LTIzLjM5NSA1LjI2My0xMy41NzMgMTcuOTAzLTIyLjk2OSAzMi41OTgtMjIuOTY5IDExLjQ4MyAwIDIwLjMwMi0xMS40MDEgMTcuNDExLTIyLjUxLS4wMTgtLjA3MS0uMDM4LS4xNDItLjA1OC0uMjExbC00NS44NTctMTU3LjM5MSA5LjE2My05LjE1NmM3LjM1OS03LjMwMyA4LjY0NC0xOS4wOTMgMy4xOTctMjcuNzYybDIyLjExNS0yNi41OTNjNy43NTQtOS4zMTggMTIuMDI1LTIxLjEzMiAxMi4wMjUtMzMuMjY4em0tNDAzLjE0NiAxNzEuNDEzYzEuNDItMS40MjEgMy4zMDUtMi4yMDMgNS4zMDctMi4yMDMgMS45OTkgMCAzLjg3Ny43NzkgNS4yOTYgMi4yMDRsOS4wMTQgOS4wMTRjLTMuODI1IDMuMjQzLTcuNTgyIDYuNTUxLTExLjI3NCA5LjkyMmwtOC4zNDQtOC4zNDRjLTIuOTItMi45Mi0yLjkyLTcuNjcyLjAwMS0xMC41OTN6bTM1NS4yMDUtOTQuMzk4LTMuOTg2IDMuOTgzYy0yLjQ5Ni00LjQ2MS02LjAzNy04LjIwMy0xMC4yMzMtMTAuOTYxbDMuNjE5LTMuNjE5YzIuOTI2LTIuOTIgNy42OC0yLjkyMiAxMC41OTgtLjAwNCAxLjQyMSAxLjQyMSAyLjIwMyAzLjMwMiAyLjIwMyA1LjI5NyAwIDItLjc4MiAzLjg4NS0yLjIwMSA1LjMwNHptLTIxNS43NjUgOTQuNzY0Yy0xMy44MjQgNy42NTMtMjIuNDEyIDIyLjIzNS0yMi40MTIgMzguMDU2IDAgMTEuOTg3IDUuMDE5IDIzLjU2MyAxMy43NzEgMzEuNzU4IDguMDY2IDcuNTUzIDE4Ljc4OCAxMS43NTYgMjkuNzg2IDExLjc1NS45NCAwIDE1MS4wOC05LjgzOCAxNTEuMDgtOS44MzggNi45MTEtLjQ1NCAxMy4yMjUtMy45MTYgMTcuMzIyLTkuNDk4IDQuMDk2LTUuNTc5IDUuNTA3LTEyLjYzNyAzLjg3Mi0xOS4zNjJsLTE5LjUzOC04MC4zMjNjLTMuMDE3LTEyLjQwNC0xNS4xODMtMjAuMDEzLTI3LjY5My0xNy4zMjktMzAuMDk0IDYuNDY2LTU5Ljc4NyAxNS41OTQtODguMjU2IDI3LjEzLTE5Ljc2OCA4LjAxLTM5LjI1OSAxNy4zMTMtNTcuOTMyIDI3LjY1MXptMTA3LjI2NiA2MC45NjktNjcuNDMgNC40MzN2LTE3LjY4MWMwLS4yMzguMjAyLS40NC40NC0uNDRoNjYuNTVjLjI0MyAwIC40NC4xOTcuNDQuNDR6bTQyLjA3MS0xMDEuMDg1Yy42MTMtLjEzMiAxLjIyMy0uMTk1IDEuODIzLS4xOTUgMy44MTQgMCA3LjIxIDIuNTU5IDguMTQ1IDYuNDAzbDE5LjUzOCA4MC4zMjNjLjU5NSAyLjQ0Ni4xMDIgNC45MTEtMS4zODggNi45NC0xLjQ5MiAyLjAzMi0zLjY5OSAzLjI0Mi02LjIxNSAzLjQwOGwtNDguOTc0IDMuMjE5di0xMi4yNjFjMC04LjUxNC02LjkyNi0xNS40NC0xNS40NC0xNS40NGgtNjYuNTVjLTguNTE0IDAtMTUuNDQgNi45MjctMTUuNDQgMTUuNDR2MTguNjY3bC0xLjg1LjEyMmMtNy45NTcuNTE4LTE1LjU1Mi0yLjE5Mi0yMS4zNzUtNy42NDUtNS44MTktNS40NDktOS4wMjQtMTIuODM5LTkuMDI0LTIwLjgwOSAwLTEwLjM2NyA1LjYyNC0xOS45MjEgMTQuNjc3LTI0LjkzMyAxOC4xNDgtMTAuMDQ3IDM3LjA5LTE5LjA4OCA1Ni4zMDEtMjYuODczIDI3LjY2Ni0xMS4yMTEgNTYuNTI1LTIwLjA4MyA4NS43NzItMjYuMzY2eiIvPgogICAgPC9nPgo8L3N2Zz4=",bfe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQzNS4yIDMyNC4yNjdoLTEwLjkwNmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY3Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTIzMi43NzJjLTE0LjEzOCAwLTI1LjYtMTEuNDYyLTI1LjYtMjUuNnMxMS40NjItMjUuNiAyNS42LTI1LjZoMzYuNTA2YzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2g2Mi4xMDZjMTQuMTM4IDAgMjUuNi0xMS40NjIgMjUuNi0yNS42cy0xMS40NjItMjUuNi0yNS42LTI1LjZoLTYyLjEwNmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY2Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTM2LjUwNmMtNDIuNDE1IDAtNzYuOCAzNC4zODUtNzYuOCA3Ni44czM0LjM4NSA3Ni44IDc2LjggNzYuOGgyMzIuNzcyYzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2gxMC45MDdjMTQuMTM4IDAgMjUuNiAxMS40NjIgMjUuNiAyNS42cy0xMS40NjIgMjUuNi0yNS42IDI1LjZoLTMwOS41NzJjLTMuMDI0LTUuMjYzLTguNjI0LTguNTE1LTE0LjY5NC04LjUzM3YtMTcuMDY3YzAtOS40MjYtNy42NDEtMTcuMDY3LTE3LjA2Ny0xNy4wNjdoLTE3LjA2N2MtOS40MjYgMC0xNy4wNjcgNy42NDEtMTcuMDY3IDE3LjA2N3YxNy4wNjdjLTYuMDcuMDE4LTExLjY3IDMuMjctMTQuNjk0IDguNTMzaC0xOS40MzljLTE0LjEzOCAwLTI1LjYgMTEuNDYyLTI1LjYgMjUuNnMxMS40NjIgMjUuNiAyNS42IDI1LjZoMTkuNDM5YzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2gzMDkuNTczYzQyLjQxNSAwIDc2LjgtMzQuMzg1IDc2LjgtNzYuOHMtMzQuMzg1LTc2LjgtNzYuOC03Ni44em0tNTkuNzMzLTI1LjZoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tNzYuOC01MS4yYzAgNC43MTMtMy44MjEgOC41MzMtOC41MzMgOC41MzNoLTU5LjczNHYtMTcuMDY3aDU5LjczM2M0LjcxMyAwIDguNTM0IDMuODIxIDguNTM0IDguNTM0em0tMTE5LjQ2Ny01MS4yaDE3LjA2N3YxNy4wNjdoLTE3LjA2N3ptLTguNTMzIDM0LjEzM2g0Mi42Njd2MzQuMTMzaC01MS4ydi0zNC4xMzN6bS0xMTkuNDY3IDY4LjI2N2MuMDM4LTMyLjk3NCAyNi43NTktNTkuNjk2IDU5LjczMy01OS43MzNoMzQuMTMzdjE3LjA2NmgtMzQuMTMzYy0yMy41NjQgMC00Mi42NjcgMTkuMTAzLTQyLjY2NyA0Mi42NjdzMTkuMTAzIDQyLjY2NyA0Mi42NjcgNDIuNjY3aDIzMC40djE3LjA2NmgtMjMwLjRjLTMyLjk3NC0uMDM4LTU5LjY5NS0yNi43NTktNTkuNzMzLTU5LjczM3ptMzA3LjIgNjguMjY2di0zNC4xMzNoNTEuMnYzNC4xMzN6bS0yODEuNiAzNC4xMzRoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tNTkuNzMzIDUxLjJjMC00LjcxMyAzLjgyMS04LjUzMyA4LjUzMy04LjUzM2gxNy4wNjd2MTcuMDY2aC0xNy4wNjdjLTQuNzEzIDAtOC41MzMtMy44Mi04LjUzMy04LjUzM3ptNDIuNjY2IDE3LjA2NnYtMzQuMTMzaDUxLjJ2MzQuMTMzem0zNzUuNDY3LTguNTMzaC0zMDcuMnYtMTcuMDY3aDMwNy4yYzIzLjU2NCAwIDQyLjY2Ny0xOS4xMDMgNDIuNjY3LTQyLjY2N3MtMTkuMTAzLTQyLjY2Ny00Mi42NjctNDIuNjY3aC04LjUzM3YtMTcuMDY3aDguNTMzYzMyLjk5IDAgNTkuNzMzIDI2Ljc0NCA1OS43MzMgNTkuNzMzcy0yNi43NDMgNTkuNzM1LTU5LjczMyA1OS43MzV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4Ny43MzMgMTYyLjEzM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xODcuNzMzIDExMC45MzNjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44MjEtOC41MzMtOC41MzMtOC41MzMtNC43MTMgMC04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMyAzLjgyMSA4LjUzMyA4LjUzMyA4LjUzM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTg3LjczMyA1OS43MzNjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44MjEtOC41MzMtOC41MzMtOC41MzMtNC43MTMgMC04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMyAzLjgyMSA4LjUzMyA4LjUzMyA4LjUzM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTU0Ljc0MyAxNTcuODY3YzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjkuMTQzIDExMy40OTNjMS41MTMgMi42NjIgNC4zMzcgNC4zMDkgNy4zOTkgNC4zMTZzNS44OTMtMS42MjggNy40MTgtNC4yODMgMS41MTEtNS45MjQtLjAzOC04LjU2NmwtOC41MzMtMTQuNzhjLTEuNTEzLTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwMy41NDMgNjkuMTg4YzIuMzcyIDQuMDQ3IDcuNTY2IDUuNDIgMTEuNjI4IDMuMDc0IDQuMDYyLTIuMzQ1IDUuNDctNy41MyAzLjE1MS0xMS42MDhsLTguNTMzLTE0Ljc4OGMtMS41MTMtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjA5LjA2NyAxNjAuOTljNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43OGMtMi4zNTggNC4wODEtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjM0LjY2NyAxMTYuNjUxYzQuMDgxIDIuMzU2IDkuMy45NTggMTEuNjU3LTMuMTIzbDguNTMzLTE0Ljc4YzEuNTQ5LTIuNjQyIDEuNTYzLTUuOTExLjAzOC04LjU2NnMtNC4zNTYtNC4yOS03LjQxOC00LjI4My01Ljg4NiAxLjY1NC03LjM5OSA0LjMxNmwtOC41MzMgMTQuNzhjLTIuMzU4IDQuMDgtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjYwLjI2NyA3Mi4zMTFjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzg4YzEuNTQ5LTIuNjQyIDEuNTYzLTUuOTExLjAzOC04LjU2NnMtNC4zNTYtNC4yOS03LjQxOC00LjI4My01Ljg4NiAxLjY1NC03LjM5OSA0LjMxNmwtOC41MzMgMTQuNzg4Yy0yLjM1OCA0LjA4MS0uOTYgOS4zIDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzg0IDI3My4wNjdjNC43MTMgMCA4LjUzMy0zLjgyIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMjIxLjg2N2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMTcwLjY2N2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNTEuMDEgMjY4LjhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzhjLTEuNTE0LTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyNS40MSAyMjQuNDI3YzEuNTE0IDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxNC0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOTkuODEgMTgwLjEyMmMyLjM3MiA0LjA0NyA3LjU2NiA1LjQyIDExLjYyOCAzLjA3NCA0LjA2Mi0yLjM0NSA1LjQ3LTcuNTMgMy4xNTEtMTEuNjA4bC04LjUzMy0xNC43ODhjLTEuNTEzLTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNS4zMzMgMjcxLjkyM2M0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4LTQuMDYyLTIuMzQ1LTkuMjU2LS45NzItMTEuNjI4IDMuMDc0bC04LjUzMyAxNC43OGMtMi4zNTcgNC4wODItLjk1OSA5LjMwMSAzLjEyMiAxMS42NTd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzMC45MzMgMjI3LjU4NGM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4cy05LjI1Ni0uOTcyLTExLjYyOCAzLjA3NGwtOC41MzMgMTQuNzhjLTIuMzU3IDQuMDgyLS45NTkgOS4zMDEgMy4xMjIgMTEuNjU3eiIvPgogICAgICAgIDxwYXRoIGQ9Im00NTYuNTMzIDE4My4yNDVjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzg4YzIuMzE4LTQuMDc4LjkxMS05LjI2Mi0zLjE1MS0xMS42MDgtNC4wNjItMi4zNDUtOS4yNTYtLjk3Mi0xMS42MjggMy4wNzRsLTguNTMzIDE0Ljc4OGMtMi4zNTcgNC4wODItLjk1OSA5LjMgMy4xMjIgMTEuNjU3eiIvPgogICAgPC9nPgo8L3N2Zz4=",Qfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDIgNTEyLjAwMiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTM5OC41ODkgMjQ2LjM0MmMtNjQuNjY2LTE3LjMyOC0xMTUuNjAxLTY4LjI2NC0xMzIuOTI5LTEzMi45MjktMS4xNzEtNC4zNzItNS4xMzMtNy40MTItOS42NTktNy40MTJzLTguNDg4IDMuMDQtOS42NTkgNy40MTJjLTE3LjMyOCA2NC42NjYtNjguMjYzIDExNS42MDEtMTMyLjkyOSAxMzIuOTI5LTQuMzcyIDEuMTcxLTcuNDEyIDUuMTMzLTcuNDEyIDkuNjU5czMuMDQgOC40ODggNy40MTIgOS42NTljNjQuNjY2IDE3LjMyOSAxMTUuNjAxIDY4LjI2NCAxMzIuOTI5IDEzMi45MjkgMS4xNzEgNC4zNzIgNS4xMzMgNy40MTIgOS42NTkgNy40MTJzOC40ODgtMy4wNCA5LjY1OS03LjQxMmMxNy4zMjgtNjQuNjY1IDY4LjI2NC0xMTUuNjAxIDEzMi45MjktMTMyLjkyOSA0LjM3Mi0xLjE3MSA3LjQxMi01LjEzMyA3LjQxMi05LjY1OXMtMy4wNC04LjQ4OC03LjQxMi05LjY1OXptLTE0Mi41ODggMTE5LjE3NmMtMjEuMDM5LTQ5LjA5Ni02MC40Mi04OC40NzgtMTA5LjUxNi0xMDkuNTE3IDQ5LjA5Ni0yMS4wMzkgODguNDc4LTYwLjQyIDEwOS41MTYtMTA5LjUxNyAyMS4wMzkgNDkuMDk3IDYwLjQyIDg4LjQ3OCAxMDkuNTE3IDEwOS41MTctNDkuMDk3IDIxLjAzOS04OC40NzggNjAuNDItMTA5LjUxNyAxMDkuNTE3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjQuMDM2IDIwMC40NThjLTEuODg2LTIuNTQ1LTQuODY3LTQuMDQ3LTguMDM1LTQuMDQ3cy02LjE0OSAxLjUwMS04LjAzNSA0LjA0N2MtMTMuNDE2IDE4LjEwNy0yOS40IDM0LjA5MS00Ny41MDggNDcuNTA4LTIuNTQ1IDEuODg2LTQuMDQ3IDQuODY3LTQuMDQ3IDguMDM1czEuNTAxIDYuMTQ5IDQuMDQ3IDguMDM1YzE4LjEwOCAxMy40MTYgMzQuMDkyIDI5LjQgNDcuNTA4IDQ3LjUwOCAxLjg4NiAyLjU0NSA0Ljg2NyA0LjA0NyA4LjAzNSA0LjA0N3M2LjE0OS0xLjUwMSA4LjAzNS00LjA0N2MxMy40MTYtMTguMTA4IDI5LjQtMzQuMDkyIDQ3LjUwOC00Ny41MDggMi41NDUtMS44ODYgNC4wNDctNC44NjcgNC4wNDctOC4wMzVzLTEuNTAxLTYuMTQ5LTQuMDQ3LTguMDM1Yy0xOC4xMDgtMTMuNDE3LTM0LjA5Mi0yOS40MDEtNDcuNTA4LTQ3LjUwOHptLTguMDM1IDg4LjkwOWMtMTAuMDQtMTIuMTYyLTIxLjIwNC0yMy4zMjYtMzMuMzY2LTMzLjM2NiAxMi4xNjMtMTAuMDQgMjMuMzI2LTIxLjIwNCAzMy4zNjYtMzMuMzY2IDEwLjA0IDEyLjE2MyAyMS4yMDQgMjMuMzI2IDMzLjM2NiAzMy4zNjYtMTIuMTYyIDEwLjA0LTIzLjMyNiAyMS4yMDQtMzMuMzY2IDMzLjM2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjU2LjAwMSA3NS45OTljNS41MjMgMCAxMC00LjQ3NyAxMC0xMHYtNTUuOTk5YzAtNS41MjMtNC40NzctMTAtMTAtMTBzLTEwIDQuNDc3LTEwIDEwdjU1Ljk5OWMwIDUuNTIzIDQuNDc3IDEwIDEwIDEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTQuNTc5IDEyOC43MjFjMS45NTMgMS45NTMgNC41MTIgMi45MjkgNy4wNzEgMi45MjlzNS4xMTktLjk3NiA3LjA3MS0yLjkyOWMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNsLTM5LjU5Ny0zOS41OThjLTMuOTA1LTMuOTA1LTEwLjIzNy0zLjkwNS0xNC4xNDMgMHMtMy45MDUgMTAuMjM3IDAgMTQuMTQzeiIvPgogICAgICAgIDxwYXRoIGQ9Im03NiAyNTYuMDAxYzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTU2Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU2YzUuNTIyIDAgMTAtNC40NzcgMTAtMTB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExNC41NzkgMzgzLjI4MS0zOS41OTggMzkuNTk4Yy0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDMgMS45NTMgMS45NTMgNC41MTIgMi45MjkgNy4wNzEgMi45MjlzNS4xMTktLjk3NiA3LjA3MS0yLjkyOWwzOS41OTgtMzkuNTk4YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3MtMTAuMjM3LTMuOTA2LTE0LjE0MiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMDAxIDQzNi4wMDNjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2NTUuOTk5YzAgNS41MjMgNC40NzcgMTAgMTAgMTBzMTAtNC40NzcgMTAtMTB2LTU1Ljk5OWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTcuNDI0IDM4My4yODFjLTMuOTA1LTMuOTA0LTEwLjIzNi0zLjkwNC0xNC4xNDMgMC0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDNsMzkuNTk3IDM5LjU5OGMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc3IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3oiLz4KICAgICAgICA8cGF0aCBkPSJtNTAyLjAwMiAyNDYuMDAxaC01NS45OTljLTUuNTIzIDAtMTAgNC40NzctMTAgMTBzNC40NzcgMTAgMTAgMTBoNTUuOTk5YzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTAuMzUzIDEzMS42NDljMi41NTkgMCA1LjExOS0uOTc2IDcuMDcxLTIuOTI5bDM5LjU5Ny0zOS41OThjMy45MDUtMy45MDUgMy45MDUtMTAuMjM3IDAtMTQuMTQzcy0xMC4yMzctMy45MDUtMTQuMTQzIDBsLTM5LjU5NyAzOS41OThjLTMuOTA1IDMuOTA1LTMuOTA1IDEwLjIzNyAwIDE0LjE0MyAxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MiAyLjkyOXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYxLjg2OCAzOC43MzVjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMSA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xM2wtLjAwMy0uMDA3Yy0yLjE3NS01LjA3Ni04LjA1MS03LjQyMy0xMy4xMjktNS4yNDktNS4wNzYgMi4xNzUtNy40MjYgOC4wNTgtNS4yNSAxMy4xMzQgMS42MjUgMy43OTIgNS4zMTYgNi4wNjMgOS4xOTYgNi4wNjN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2OS44NDQgNzQuMTMxIDEzLjA1NCAzMS41MTRjMS41OTUgMy44NTEgNS4zMTggNi4xNzUgOS4yNDMgNi4xNzUgMS4yNzUgMCAyLjU3Mi0uMjQ1IDMuODIzLS43NjQgNS4xMDItMi4xMTQgNy41MjUtNy45NjMgNS40MTItMTMuMDY2bC0xMy4wNTQtMzEuNTE0Yy0yLjExNC01LjEwMy03Ljk2My03LjUyNy0xMy4wNjYtNS40MTJzLTcuNTI2IDcuOTY0LTUuNDEyIDEzLjA2N3oiLz4KICAgICAgICA8cGF0aCBkPSJtMjQuNTQyIDE3MC45NDNjMS4zNTcuNjI2IDIuNzgyLjkyMyA0LjE4NC45MjMgMy43OCAwIDcuMzk4LTIuMTU0IDkuMDg2LTUuODEyIDIuMzE0LTUuMDE0LjEyNS0xMC45NTYtNC44ODktMTMuMjdsLS4wMDYtLjAwM2MtNS4wMTMtMi4zMTUtMTAuOTUyLS4xMjUtMTMuMjY3IDQuODkxLTIuMzE2IDUuMDE0LS4xMjMgMTAuOTU2IDQuODkyIDEzLjI3MXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjYuNDc3IDE4OC4zMjEgMzEuNTE1IDEzLjA1NGMxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2IDIuMTE0LTUuMTAzLS4zMS0xMC45NTItNS40MTItMTMuMDY1bC0zMS41MTYtMTMuMDU0Yy01LjEwMS0yLjExMy0xMC45NTIuMzEtMTMuMDY1IDUuNDEyLTIuMTE0IDUuMTAyLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwNS42NDUgMzI5LjEwNGM1LjEwMy0yLjExMyA3LjUyNi03Ljk2MyA1LjQxMi0xMy4wNjUtMi4xMTMtNS4xMDMtNy45NjQtNy41MjctMTMuMDY1LTUuNDEybC0zMS41MTQgMTMuMDU0Yy01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjUgMS41OTUgMy44NTIgNS4zMTggNi4xNzYgOS4yNDMgNi4xNzYgMS4yNzUgMCAyLjU3Mi0uMjQ1IDMuODIzLS43NjR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI0Ljc5MyAzNDAuOTQ3LS4wMDcuMDAzYy01LjA3NiAyLjE3NS03LjQyNCA4LjA1My01LjI0OSAxMy4xMjkgMS42MjUgMy43OTIgNS4zMTcgNi4wNjIgOS4xOTggNi4wNjIgMS4zMTUgMCAyLjY1Mi0uMjYxIDMuOTM2LS44MTIgNS4wNzctMi4xNzUgNy40MjgtOC4wNTQgNS4yNTItMTMuMTMxLTIuMTc0LTUuMDc1LTguMDUzLTcuNDI2LTEzLjEzLTUuMjUxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjYuMDU0IDQ3NC4xOWMtNS4wMTUtMi4zMTUtMTAuOTU2LS4xMjUtMTMuMjcgNC44ODlsLS4wMDMuMDA2Yy0yLjMxNCA1LjAxNC0uMTI0IDEwLjk1MyA0Ljg5MSAxMy4yNjcgMS4zNTYuNjI2IDIuNzguOTIyIDQuMTgyLjkyMiAzLjc4MSAwIDcuNDAxLTIuMTU2IDkuMDg5LTUuODE0IDIuMzE0LTUuMDE0LjEyNS0xMC45NTUtNC44ODktMTMuMjd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE5NS45NjMgNDAwLjk0NWMtNS4xMDEtMi4xMTQtMTAuOTUyLjMxLTEzLjA2NSA1LjQxMmwtMTMuMDU0IDMxLjUxNWMtMi4xMTQgNS4xMDMuMzEgMTAuOTUyIDUuNDEyIDEzLjA2NSAxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2bDEzLjA1NC0zMS41MTVjMi4xMTMtNS4xMDItLjMxMS0xMC45NTItNS40MTMtMTMuMDY1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNDYuMTk5IDQ3NC4wNzhjLTUuMDc2IDIuMTc1LTcuNDI4IDguMDU0LTUuMjUyIDEzLjEzbC4wMDMuMDA3YzEuNjI1IDMuNzkxIDUuMzE0IDYuMDYgOS4xOTIgNi4wNiAxLjMxNSAwIDIuNjUxLS4yNjEgMy45MzctLjgxMiA1LjA3Ni0yLjE3NSA3LjQyNi04LjA1OCA1LjI1LTEzLjEzNC0yLjE3NC01LjA3Ni04LjA1MS03LjQyNi0xMy4xMy01LjI1MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQyLjE1OCA0MzcuODcxLTEzLjA1NC0zMS41MTRjLTIuMTE0LTUuMTAzLTcuOTY1LTcuNTI3LTEzLjA2NS01LjQxMi01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjVsMTMuMDU0IDMxLjUxNGMxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NCA1LjEwMi0yLjExMiA3LjUyNS03Ljk2MiA1LjQxMS0xMy4wNjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4Ny4yMDggMzQwLjk0N2MtNS4wNzYtMi4xNzctMTAuOTU1LjE3Ny0xMy4xMyA1LjI1Mi0yLjE3NiA1LjA3Ny4xNzYgMTAuOTU2IDUuMjUyIDEzLjEzMWwuMDA2LjAwM2MxLjI4NS41NSAyLjYxOS44MTEgMy45MzMuODExIDMuODc5IDAgNy41NjktMi4yNzIgOS4xOTQtNi4wNjQgMi4xNzctNS4wNzctLjE3OC0xMC45NTctNS4yNTUtMTMuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NDUuNTI1IDMyMy42ODEtMzEuNTE0LTEzLjA1NGMtNS4xMDItMi4xMTMtMTAuOTUxLjMxLTEzLjA2NSA1LjQxMnMuMzEgMTAuOTUyIDUuNDEyIDEzLjA2NWwzMS41MTQgMTMuMDU0YzEuMjUyLjUxOSAyLjU0OC43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzYgMi4xMTMtNS4xMDItLjMxMS0xMC45NTItNS40MTMtMTMuMDY1eiIvPgogICAgICAgIDxwYXRoIGQ9Im00ODMuMjc0IDE3MS44NjZjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMWwuMDA3LS4wMDNjNS4wNzYtMi4xNzUgNy40MjQtOC4wNTMgNS4yNDktMTMuMTI5cy04LjA2LTcuNDI3LTEzLjEzNC01LjI1Yy01LjA3NyAyLjE3NS03LjQyOCA4LjA1NC01LjI1MiAxMy4xMzEgMS42MjUgMy43OTEgNS4zMTYgNi4wNjIgOS4xOTYgNi4wNjJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNi4zNTcgMTgyLjg5N2MtNS4xMDMgMi4xMTMtNy41MjYgNy45NjMtNS40MTIgMTMuMDY1IDEuNTk1IDMuODUyIDUuMzE4IDYuMTc2IDkuMjQzIDYuMTc2IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0bDMxLjUxNC0xMy4wNTRjNS4xMDMtMi4xMTMgNy41MjYtNy45NjMgNS40MTItMTMuMDY1LTIuMTE0LTUuMTAzLTcuOTYzLTcuNTI3LTEzLjA2Ni01LjQxMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQ2LjE5OSAzNy45MjNjMS4yODUuNTUxIDIuNjIxLjgxMSAzLjkzNS44MTEgMy44OCAwIDcuNTcxLTIuMjcxIDkuMTk2LTYuMDYzbC4wMDMtLjAwN2MyLjE3Ni01LjA3Ni0uMTc3LTEwLjk1Mi01LjI1My0xMy4xMjctNS4wNzQtMi4xNzYtMTAuOTU3LjE3OS0xMy4xMzIgNS4yNTYtMi4xNzcgNS4wNzYuMTc1IDEwLjk1NSA1LjI1MSAxMy4xM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMzE2LjAzOSAxMTEuMDU3YzEuMjUxLjUxOSAyLjU0Ny43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzZsMTMuMDU0LTMxLjUxNGMyLjExNC01LjEwMy0uMzEtMTAuOTUzLTUuNDEyLTEzLjA2Ni01LjEwMS0yLjExNC0xMC45NTEuMzEtMTMuMDY1IDUuNDEybC0xMy4wNTQgMzEuNTE0Yy0yLjExNSA1LjEwMi4zMDkgMTAuOTUyIDUuNDExIDEzLjA2NnoiLz4KICAgIDwvZz4KPC9zdmc+",Ufe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0yNDAuMDAzLDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThWOGMwLTQuNDE4LTMuNTgyLTgtOC04cy04LDMuNTgyLTgsOHYzMkMyMzIuMDAzLDQ0LjQxOCwyMzUuNTg0LDQ4LDI0MC4wMDMsNDh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0MS4wNzUsMzYuNjU2bDE2LDI3LjcwNGMyLjE4NCwzLjg0MSw3LjA2OCw1LjE4NCwxMC45MDksM3M1LjE4NC03LjA2OCwzLTEwLjkwOWMtMC4wMTctMC4wMzEtMC4wMzUtMC4wNjEtMC4wNTMtMC4wOTIKCQkJCWwtMTYtMjcuNzA0Yy0yLjE4NC0zLjg0MS03LjA2OC01LjE4NC0xMC45MDktM2MtMy44NDEsMi4xODQtNS4xODQsNy4wNjgtMywxMC45MDlDMTQxLjAzOSwzNi41OTUsMTQxLjA1NywzNi42MjYsMTQxLjA3NSwzNi42NTYKCQkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuNTY3LDEwNi44NzVjMC4wMywwLjAxOCwwLjA2MSwwLjAzNSwwLjA5MiwwLjA1M2wyNy43MDQsMTZjMy44MTIsMi4yMzQsOC43MTMsMC45NTYsMTAuOTQ3LTIuODU2CgkJCQljMi4yMzQtMy44MTIsMC45NTYtOC43MTMtMi44NTYtMTAuOTQ3Yy0wLjAzLTAuMDE4LTAuMDYxLTAuMDM1LTAuMDkyLTAuMDUzbC0yNy43MDQtMTZjLTMuODEyLTIuMjM0LTguNzEzLTAuOTU2LTEwLjk0NywyLjg1NgoJCQkJQzcxLjQ3Nyw5OS43MzksNzIuNzU1LDEwNC42NDEsNzYuNTY3LDEwNi44NzV6Ii8+CiAgICAgICAgPHBhdGggZD0iTTk2LjAwMywxOTJjMC00LjQxOC0zLjU4Mi04LTgtOGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJDOTIuNDIxLDIwMCw5Ni4wMDMsMTk2LjQxOCw5Ni4wMDMsMTkyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDQuNDU2LDI2MS4wMThjLTAuMDMxLDAuMDE4LTAuMDYyLDAuMDM2LTAuMDkzLDAuMDU0bC0yNy43MDQsMTZjLTMuODQxLDIuMTgzLTUuMTg1LDcuMDY3LTMuMDAyLDEwLjkwOAoJCQkJYzIuMTgzLDMuODQxLDcuMDY3LDUuMTg1LDEwLjkwOCwzLjAwMmMwLjAzMS0wLjAxOCwwLjA2Mi0wLjAzNiwwLjA5My0wLjA1NGwyNy43MDQtMTZjMy44NDEtMi4xODMsNS4xODUtNy4wNjcsMy4wMDItMTAuOTA4CgkJCQlDMTEzLjE4MSwyNjAuMTc5LDEwOC4yOTcsMjU4LjgzNSwxMDQuNDU2LDI2MS4wMTh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQwMy40NCwyNzcuMTI2Yy0wLjAzMS0wLjAxOC0wLjA2Mi0wLjAzNi0wLjA5My0wLjA1NGwtMjcuNzA0LTE2Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQKCQkJCWMtMi4yMzUsMy44MTEtMC45NTcsOC43MTMsMi44NTQsMTAuOTQ4YzAuMDMxLDAuMDE4LDAuMDYyLDAuMDM2LDAuMDkzLDAuMDU0bDI3LjcwNCwxNmMzLjgxMSwyLjIzNSw4LjcxMywwLjk1NywxMC45NDgtMi44NTQKCQkJCUM0MDguNTI5LDI4NC4yNjIsNDA3LjI1MSwyNzkuMzYxLDQwMy40NCwyNzcuMTI2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjQuMDAzLDE4NGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM0MjguNDIxLDE4NCw0MjQuMDAzLDE4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzcxLjY1MSwxMjRjMS40MDQsMCwyLjc4NC0wLjM3LDQtMS4wNzJsMjcuNzA0LTE2YzMuODQxLTIuMTg0LDUuMTg0LTcuMDY4LDMtMTAuOTA5cy03LjA2OC01LjE4NC0xMC45MDktMwoJCQkJYy0wLjAzMSwwLjAxNy0wLjA2MSwwLjAzNS0wLjA5MiwwLjA1M2wtMjcuNzA0LDE2Yy0zLjgyNiwyLjIwOS01LjEzNyw3LjEwMi0yLjkyOCwxMC45MjgKCQkJCUMzNjYuMTUyLDEyMi40NzUsMzY4Ljc5MywxMjQsMzcxLjY1MSwxMjR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTMxMS45OTMsNjcuMjkxYzAuMDAzLDAuMDAyLDAuMDA2LDAuMDA0LDAuMDA5LDAuMDA1YzMuODI3LDIuMjA3LDguNzIsMC44OTQsMTAuOTI3LTIuOTM0CgkJCQljMC0wLjAwMSwwLjAwMS0wLjAwMiwwLjAwMS0wLjAwMmwxNi0yNy43MDRjMi4yMzUtMy44MTEsMC45NTctOC43MTMtMi44NTQtMTAuOTQ4Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQKCQkJCWMtMC4wMTgsMC4wMzEtMC4wMzYsMC4wNjItMC4wNTQsMC4wOTNsLTE2LDI3LjcwNEMzMDYuODYyLDYwLjE4NCwzMDguMTY5LDY1LjA3OCwzMTEuOTkzLDY3LjI5MXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LjAwMywzMjBjNC40MTgsMCw4LTMuNTgyLDgtOHYtODhoMTZjMTcuNjczLDAsMzItMTQuMzI3LDMyLTMycy0xNC4zMjctMzItMzItMzJjLTE3LjY3MywwLTMyLDE0LjMyNy0zMiwzMnYxNmgtMTYKCQkJCXYtMTZjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiwxNC4zMjctMzIsMzJzMTQuMzI3LDMyLDMyLDMyaDE2djg4YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LTh2LTg4aDE2djg4CgkJCQlDMjQ4LjAwMywzMTYuNDE4LDI1MS41ODQsMzIwLDI1Ni4wMDMsMzIweiBNMjY0LjAwMywxOTJjMC04LjgzNyw3LjE2My0xNiwxNi0xNnMxNiw3LjE2MywxNiwxNnMtNy4xNjMsMTYtMTYsMTZoLTE2VjE5MnoKCQkJCSBNMjE2LjAwMywyMDhoLTE2Yy04LjgzNywwLTE2LTcuMTYzLTE2LTE2czcuMTYzLTE2LDE2LTE2czE2LDcuMTYzLDE2LDE2VjIwOHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjQ2LjIxOSw2NC4xNTJjLTcwLjYxMS0zLjM5Mi0xMzAuNjAzLDUxLjA5OS0xMzMuOTk1LDEyMS43MWMtMS45NDMsNDAuNDMyLDE1LjM1NCw3OS40LDQ2LjY0MywxMDUuMDgyCgkJCQljNS42MzksNC40MTcsOC45OTQsMTEuMTM1LDkuMTM2LDE4LjI5NlYzMjhjMC4wNDIsMTAuMTM0LDYuNDQ1LDE5LjE1LDE2LDIyLjUyOFYzNjBjMC4wMjEsNS45MjMsMi4yNDUsMTEuNjI3LDYuMjQsMTYKCQkJCWMtOC4zMiw5LjA0NC04LjMyLDIyLjk1NiwwLDMyYy04Ljg5NCw5Ljc1LTguMiwyNC44NjQsMS41NSwzMy43NThjNC40MjksNC4wNCwxMC4yMTUsNi4yNjgsMTYuMjEsNi4yNDIKCQkJCWM0LjMwNiwwLjExMyw3Ljg4OS0zLjI4Nyw4LjAwMS03LjU5M2MwLjA0NC0xLjY4LTAuNDU2LTMuMzMtMS40MjUtNC43MDNjLTAuMjUzLTAuNDg5LTAuNTUzLTAuOTUzLTAuODk2LTEuMzg0CgkJCQljLTAuNjU4LTAuNjAyLTEuNDA5LTEuMDk0LTIuMjI0LTEuNDU2Yy0wLjIzMi0wLjEyLTAuNDY0LTAuMjE2LTAuNzA0LTAuMzEyYy0wLjgxLTAuMjk1LTEuNjU5LTAuNDY1LTIuNTItMC41MDQKCQkJCWMtMC4wOCwwLTAuMTUyLTAuMDQ4LTAuMjMyLTAuMDQ4Yy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMgoJCQkJYy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMmMtNC40MTgsMC04LTMuNTgyLTgtOHYtOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04CgkJCQlzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LTMuNTgyLTgtOHYtMTguNzZjLTAuMTMxLTExLjk2Mi01LjY0LTIzLjIzLTE1LTMwLjY4Yy00Ny43ODgtMzkuMjc0LTU0LjY4OS0xMDkuODUyLTE1LjQxNS0xNTcuNjQKCQkJCWMyMi40NjYtMjcuMzM2LDU2LjUyOC00Mi40NDgsOTEuODcxLTQwLjc2YzU5LjEwNywzLjUxNiwxMDUuNTM2LDUxLjk1NywxMDYuNTQ0LDExMS4xNmMwLjI4NywzNC4wNTItMTUuMDI0LDY2LjM2My00MS41Niw4Ny43MDQKCQkJCWMtOS4yOSw3LjY1Mi0xNC42MDIsMTkuMTA5LTE0LjQ0LDMxLjE0NFYzMjhjMCw0LjQxOC0zLjU4Miw4LTgsOGgtMjRjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMTZ2OAoJCQkJYzAsNC40MTgtMy41ODIsOC04LDhoLThjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoOGM0LjQxOCwwLDgsMy41ODIsOCw4cy0zLjU4Miw4LTgsOGgtOGMtNC40MTgsMC04LDMuNTgyLTgsOAoJCQkJczMuNTgyLDgsOCw4aDhjNC40MTgsMCw4LDMuNTgyLDgsOHMtMy41ODIsOC04LDhoLTQwYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMwLjYzMgoJCQkJYy00LjQxNywxMi40OTctMTguMTI5LDE5LjA0Ny0zMC42MjYsMTQuNjNjLTMuODI2LTEuMzUyLTcuMjQ2LTMuNjUzLTkuOTQyLTYuNjg2Yy0yLjkzOC0zLjMtNy45OTYtMy41OTQtMTEuMjk2LTAuNjU2CgkJCQljLTMuMywyLjkzOC0zLjU5NCw3Ljk5Ni0wLjY1NiwxMS4yOTZjMTQuNjMxLDE2LjQ4NywzOS44NTcsMTcuOTkyLDU2LjM0NCwzLjM2MmM2LjgxLTYuMDQzLDExLjM0OS0xNC4yMzIsMTIuODY0LTIzLjIxCgkJCQljMTIuNTI5LTMuOTE2LDE5LjUxMS0xNy4yNDcsMTUuNTk2LTI5Ljc3NmMtMS4wNC0zLjMyOS0yLjgwMS02LjM4OC01LjE1Ni04Ljk2YzguMzItOS4wNDQsOC4zMi0yMi45NTYsMC0zMgoJCQkJYzMuOTk1LTQuMzczLDYuMjE5LTEwLjA3Nyw2LjI0LTE2di05LjQ3MmM5LjU1NS0zLjM3OCwxNS45NTgtMTIuMzk0LDE2LTIyLjUyOHYtMTcuODMyYy0wLjEwNy03LjE4NywzLjAwNy0xNC4wNDYsOC40ODgtMTguNjk2CgkJCQljMzAuMzQ0LTI0LjM5NSw0Ny44NS02MS4zMzksNDcuNTEyLTEwMC4yNzJDMzY2Ljg0NywxMjMuNTMyLDMxMy43NzcsNjguMTY5LDI0Ni4yMTksNjQuMTUyeiIvPgogICAgPC9nPgo8L3N2Zz4K",$fe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjU1Ljk5OSwwYy03OS4wNDQsMC0xNDMuMzUyLDY0LjMwOC0xNDMuMzUyLDE0My4zNTN2NzAuMTkzYzAsNC43OCwzLjg3OSw4LjY1Niw4LjY1OSw4LjY1Nmg0OC4wNTcKCQkJYzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzYzAtNDIuOTk4LDM0Ljk4MS03Ny45OCw3Ny45NzktNzcuOThzNzcuOTc5LDM0Ljk4Miw3Ny45NzksNzcuOTh2NzAuMTkzCgkJCWMwLDQuNzgsMy44OCw4LjY1Niw4LjY2MSw4LjY1Nmg0OC4wNTdjNC43OCwwLDguNjU2LTMuODc2LDguNjU2LTguNjU2di03MC4xOTNDMzk5LjM1Miw2NC4zMDgsMzM1LjA0NCwwLDI1NS45OTksMHoKCQkJIE0zODIuMDQsMjA0Ljg5aC0zMC43NDh2LTYxLjUzN2MwLTUyLjU0NC00Mi43NDgtOTUuMjkyLTk1LjI5MS05NS4yOTJzLTk1LjI5MSw0Mi43NDgtOTUuMjkxLDk1LjI5MnY2MS41MzdoLTMwLjc0OHYtNjEuNTM3CgkJCWMwLTY5LjQ5OSw1Ni41NC0xMjYuMDQsMTI2LjAzOC0xMjYuMDRjNjkuNDk5LDAsMTI2LjA0LDU2LjU0MSwxMjYuMDQsMTI2LjA0VjIwNC44OXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDEwLjYzLDIwNC44OUgxMDEuMzcxYy0yMC41MDUsMC0zNy4xODgsMTYuNjgzLTM3LjE4OCwzNy4xODh2MjMyLjczNGMwLDIwLjUwNSwxNi42ODMsMzcuMTg4LDM3LjE4OCwzNy4xODhINDEwLjYzCgkJCWMyMC41MDUsMCwzNy4xODctMTYuNjgzLDM3LjE4Ny0zNy4xODlWMjQyLjA3OEM0NDcuODE3LDIyMS41NzMsNDMxLjEzNSwyMDQuODksNDEwLjYzLDIwNC44OXogTTQzMC41MDUsNDc0LjgxMQoJCQljMCwxMC45Ni04LjkxNiwxOS44NzYtMTkuODc1LDE5Ljg3NkgxMDEuMzcxYy0xMC45NiwwLTE5Ljg3Ni04LjkxNi0xOS44NzYtMTkuODc2VjI0Mi4wNzhjMC0xMC45Niw4LjkxNi0xOS44NzYsMTkuODc2LTE5Ljg3NgoJCQlINDEwLjYzYzEwLjk1OSwwLDE5Ljg3NSw4LjkxNiwxOS44NzUsMTkuODc2VjQ3NC44MTF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI4NS4xMSwzNjkuNzgxYzEwLjExMy04LjUyMSwxNS45OTgtMjAuOTc4LDE1Ljk5OC0zNC4zNjVjMC0yNC44NzMtMjAuMjM2LTQ1LjEwOS00NS4xMDktNDUuMTA5CgkJCWMtMjQuODc0LDAtNDUuMTEsMjAuMjM2LTQ1LjExLDQ1LjEwOWMwLDEzLjM4Nyw1Ljg4NSwyNS44NDQsMTYsMzQuMzY3bC05LjczMSw0Ni4zNjJjLTAuNTM1LDIuNTU0LDAuMTA4LDUuMjExLDEuNzUyLDcuMjM2CgkJCWMxLjY0NSwyLjAyMyw0LjExMywzLjIsNi43MiwzLjJoNjAuNzM4YzIuNjA4LDAsNS4wNzYtMS4xNzYsNi43MTktMy4yYzEuNjQzLTIuMDI2LDIuMjg2LTQuNjgzLDEuNzUxLTcuMjM0TDI4NS4xMSwzNjkuNzgxegoJCQkgTTI3MC44NTEsMzU4LjgyYy0zLjA0LDEuOTM2LTQuNTY1LDUuNTUzLTMuODI0LDkuMDgxbDguNjgsNDEuMzY2aC0zOS40MTVsOC42ODItNDEuMzYzYzAuNzQtMy41MjktMC43ODItNy4xNDYtMy44MjQtOS4wODEKCQkJYy04LjEwOC01LjE2LTEyLjk0OC0xMy45MTEtMTIuOTQ4LTIzLjQwNmMwLTE1LjMyNywxMi40NjktMjcuNzk2LDI3Ljc5Ny0yNy43OTZjMTUuMzI3LDAsMjcuNzk2LDEyLjQ2OSwyNy43OTYsMjcuNzk2CgkJCUMyODMuNzk3LDM0NC45MTQsMjc4Ljk1NywzNTMuNjYzLDI3MC44NTEsMzU4LjgyeiIvPgogICAgPC9nPgo8L3N2Zz4K",Pfe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDk0LjkzMzU5NCAwaC00NzcuODY3MTg4Yy05LjQyMTg3NS4wMDc4MTI1LTE3LjA1ODU5MzUgNy42NDQ1MzEtMTcuMDY2NDA2IDE3LjA2NjQwNnY1OS43MzQzNzVjLjAwNzgxMjUgOS40MjE4NzUgNy42NDQ1MzEgMTcuMDU0Njg4IDE3LjA2NjQwNiAxNy4wNjY0MDdoMTAuODk0NTMybC0yNi44MzU5MzggNDYuOTY0ODQzYy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE5NTMxIDEuNTI3MzQ0IDIuNjI4OTA3IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTMgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA2IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45Njg3NWMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODgyODEzLjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYyODkwNyA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY0ODQ0Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjMyODEyIDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNTM5MDZoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY0ODQ0Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjMyODEzIDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45Njg3NWMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODgyODEzLjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYyODkwNiA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoNDk0LjkyOTY4OGMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDk0IDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY4NzVoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MTcxODcgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYyODkwNiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45NjQ4NDRoMTkuNDI1NzgyYzMuMDQyOTY4LS4wMDM5MDYgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNTM5MDYgMS41MjczNDQtMi42Mjg5MDYgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY0ODQ0aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDkzIDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY4NzVoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYxNzE4NyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjI4OTA2IDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2NDg0NGgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYyMTA5MyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjMyODEyIDEuNTM1MTU2LTUuODc4OTA2LjAyNzM0NC04LjUxOTUzMWwtMjYuODM1OTM4LTQ2Ljk2NDg0M2gxMC44OTQ1MzJjOS40MjE4NzUtLjAxMTcxOSAxNy4wNTQ2ODctNy42NDQ1MzIgMTcuMDY2NDA2LTE3LjA2NjQwN3YtNTkuNzM0Mzc1Yy0uMDExNzE5LTkuNDIxODc1LTcuNjQ0NTMxLTE3LjA1NDY4NzItMTcuMDY2NDA2LTE3LjA2NjQwNnptLTQ0Ny4zMTY0MDYgOTMuODY3MTg4aDQ2LjI1djQyLjY2Nzk2OGgtNzAuNjI4OTA3em0zMTkuMzE2NDA2IDB2NDIuNjY3OTY4aC0yMjEuODY3MTg4di00Mi42Njc5Njh6bTY4LjI2NTYyNSAwdjQyLjY2Nzk2OGgtMTcuMDY2NDA3di00Mi42Njc5Njh6bS0yOTAuMTMyODEzIDM0MS4zMzIwMzF2LTQyLjY2NDA2M2gyMjEuODY3MTg4djQyLjY2NDA2M3ptMjIxLjg2NzE4OCAxNy4wNjY0MDZ2NDIuNjY3OTY5aC0yMjEuODY3MTg4di00Mi42Njc5Njl6bTAtMjU2aC0yMjEuODY3MTg4di00Mi42NjQwNjNoMjIxLjg2NzE4OHptMTcuMDY2NDA2LTQyLjY2NDA2M2gxNy4wNjY0MDZ2NDIuNjY0MDYzaC0xNy4wNjY0MDZ6bS0yMzguOTMzNTk0IDE2Mi4xMzI4MTN2LTQyLjY2Nzk2OWgyMjEuODY3MTg4djQyLjY2Nzk2OXptMjIxLjg2NzE4OCAxNy4wNjY0MDZ2NDIuNjY0MDYzaC0yMjEuODY3MTg4di00Mi42NjQwNjN6bS0yMjEuODY3MTg4LTc2LjgwMDc4MXYtNDIuNjY3OTY5aDIyMS44NjcxODh2NDIuNjY3OTY5em0tMTcuMDY2NDA2LTU5LjczNDM3NWgtMTcuMDY2NDA2di00Mi42NjQwNjNoMTcuMDY2NDA2em0wIDE3LjA2NjQwNnY0Mi42Njc5NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY5em0wIDU5LjczNDM3NXY0Mi42Njc5NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY5em0wIDU5LjczNDM3NXY0Mi42NjQwNjNoLTE3LjA2NjQwNnYtNDIuNjY0MDYzem0wIDU5LjczNDM3NXY0Mi42NjQwNjNoLTE3LjA2NjQwNnYtNDIuNjY0MDYzem0yNTYgMGgxNy4wNjY0MDZ2NDIuNjY0MDYzaC0xNy4wNjY0MDZ6bTAtMTcuMDcwMzEydi00Mi42NjQwNjNoMTcuMDY2NDA2djQyLjY2NDA2M3ptMC01OS43MzA0Njl2LTQyLjY2Nzk2OWgxNy4wNjY0MDZ2NDIuNjY3OTY5em0wLTU5LjczNDM3NXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTM0LjEzMjgxMi00Mi42Njc5NjloMTcuMDY2NDA3djQyLjY2Nzk2OWgtMTcuMDY2NDA3em0wLTE3LjA2NjQwNnYtNDIuNjY0MDYzaDE3LjA2NjQwN3Y0Mi42NjQwNjN6bS0xNy4wNjY0MDYtNTkuNzMwNDY5aC0xNy4wNjY0MDZ2LTQyLjY2Nzk2OGgxNy4wNjY0MDZ6bS0yNzMuMDY2NDA2IDBoLTE3LjA2NjQwNnYtNDIuNjY3OTY4aDE3LjA2NjQwNnptLTgwLjM4MjgxMiAxNy4wNjY0MDZoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzMwNDY5aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em0wIDU5LjczNDM3NWg0Ni4yNXY0Mi42Njc5NjloLTcwLjYyODkwN3ptMCA1OS43MzQzNzVoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzM0Mzc1aDQ2LjI1djQyLjY2NDA2M2gtNzAuNjI4OTA3em0wIDU5LjczMDQ2OWg0Ni4yNXY0Mi42Njc5NjloLTcwLjYyODkwN3ptNjMuMzE2NDA2IDQyLjY2Nzk2OXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTI3My4wNjY0MDYgMHYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTEwNC43NTc4MTIgMGgtNzAuNjI1di00Mi42Njc5NjloNDYuMjV6bTAtNTkuNzM0Mzc1aC03MC42MjV2LTQyLjY2NDA2M2g0Ni4yNXptMC01OS43MzQzNzVoLTcwLjYyNXYtNDIuNjY0MDYzaDQ2LjI1em0wLTU5LjczMDQ2OWgtNzAuNjI1di00Mi42Njc5NjloMTcuMDY2NDA3djE3LjA2NjQwNmMwIDQuNzE0ODQ0IDMuODIwMzEyIDguNTM1MTU3IDguNTM1MTU2IDguNTM1MTU3IDQuNzEwOTM3IDAgOC41MzEyNS0zLjgyMDMxMyA4LjUzMTI1LTguNTM1MTU3di0xNy4wNjY0MDZoMTIuMTE3MTg3em0wLTU5LjczNDM3NWgtMzYuNDkyMTg3di00Mi42Njc5NjloMTIuMTE3MTg3em0wLTU5LjczNDM3NWgtMzYuNDkyMTg3di00Mi42NjQwNjNoMTIuMTE3MTg3em0wLTU5LjczMDQ2OWgtMzYuNDkyMTg3di00Mi42Njc5NjhoMTIuMTE3MTg3em0tMTkuNDI1NzgxLTU5LjczNDM3NWgtNDUyLjI2NTYyNXYtNTkuNzM0Mzc1aDQ3Ny44NjcxODhsLjAwNzgxMiA1OS43MzQzNzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im01OS43MzQzNzUgNDIuNjY3OTY5aC0xNy4wNjY0MDZjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDE3LjA2NjQwNmM0LjcxMDkzNyAwIDguNTMxMjUtMy44MjAzMTMgOC41MzEyNS04LjUzNTE1NiAwLTQuNzEwOTM4LTMuODIwMzEzLTguNTMxMjUtOC41MzEyNS04LjUzMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ1LjA2NjQwNiA0Mi42Njc5NjloLTUxLjE5OTIxOGMtNC43MTQ4NDQgMC04LjUzNTE1NyAzLjgyMDMxMi04LjUzNTE1NyA4LjUzMTI1IDAgNC43MTQ4NDMgMy44MjAzMTMgOC41MzUxNTYgOC41MzUxNTcgOC41MzUxNTZoNTEuMTk5MjE4YzQuNzE0ODQ0IDAgOC41MzUxNTYtMy44MjAzMTMgOC41MzUxNTYtOC41MzUxNTYgMC00LjcxMDkzOC0zLjgyMDMxMi04LjUzMTI1LTguNTM1MTU2LTguNTMxMjV6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",Wfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yMzQgMjQzLjc4M2MtLjk1MSAwLTEuODY4LjE0MS0yLjczOS4zODlsLS4wMDItLjAwNy0yOC43MjIgOC4xODdjLTUuMzExIDEuNTE0LTguMzkgNy4wNDctNi44NzYgMTIuMzU4IDEuMjUzIDQuMzk2IDUuMjU4IDcuMjYxIDkuNjEyIDcuMjYxLjkwNyAwIDEuODMtLjEyNSAyLjc0Ni0uMzg1bDE1Ljk4MS00LjU1NHYzNS40MmwtMTI0IDM1LjM0NXYtMzUuNDJsMjEuNDY0LTYuMTE4YzUuMzExLTEuNTE0IDguMzktNy4wNDcgNi44NzYtMTIuMzU4cy03LjA0NS04LjM4Ny0xMi4zNTgtNi44NzZsLTI4LjcyMyA4LjE4Ny4wMDEuMDA3Yy00LjE4OSAxLjE5My03LjI2IDUuMDM5LTcuMjYgOS42MXYxMjcuMTk5Yy04LjM2My02LjI5My0xOC43NTItMTAuMDI4LTMwLTEwLjAyOC0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDA2bDEyNC0zNS4zNDV2NTcuNzMzYy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xNjcuMTcyYzAtNS41MjMtNC40NzctMTAtMTAtMTB6bS0xODQgMjQ4LjIxN2MtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xNDQtNDEuMDQ1Yy0xNi41NDIgMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU4LTMwIDMwLTMwIDMwIDEzLjQ1OCAzMCAzMC0xMy40NTggMzAtMzAgMzB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUwOC4wMTMgMi4wMWMtMi41MTEtMS44ODktNS43NjMtMi40ODctOC43ODItMS42MTlsLTEwNC40MDggMzAuMDg5Yy00LjI4MiAxLjIzNC03LjIzMSA1LjE1Mi03LjIzMSA5LjYwOXYxMjcuMTk5Yy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDNsOTcuMTc3LTI4LjAwNWM0LjI4Mi0xLjIzNCA3LjIzMS01LjE1MiA3LjIzMS05LjYwOXYtNTYuMjE3YzAtMy4xNDItMS40NzctNi4xMDEtMy45ODctNy45OXptLTE1MC40MjEgMjM1LjI1MWMtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xMzQuNDA4LTE3OC41NjktODQuNDA4IDI0LjMyNXYtMzUuNDAzbDg0LjQwOC0yNC4zMjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3MS41OTEgMzQ4Ljc2Mi00OC4yODgtNy4wMTctMjEuNTk1LTQzLjc1NmMtMS42ODUtMy40MTMtNS4xNjEtNS41NzQtOC45NjctNS41NzRzLTcuMjgzIDIuMTYxLTguOTY3IDUuNTc0bC0yMS41OTUgNDMuNzU2LTQ4LjI4OCA3LjAxN2MtMy43NjcuNTQ3LTYuODk2IDMuMTg2LTguMDczIDYuODA2cy0uMTk1IDcuNTk0IDIuNTMxIDEwLjI1MWwzNC45NDEgMzQuMDYtOC4yNDkgNDguMDkzYy0uNjQ0IDMuNzUxLjg5OCA3LjU0MyAzLjk3OCA5Ljc4MSAzLjA3OSAyLjIzNiA3LjE2MiAyLjUzMiAxMC41MzEuNzYxbDQzLjE5LTIyLjcwNyA0My4xOSAyMi43MDZjMS40NjMuNzcgMy4wNjEgMS4xNDkgNC42NTIgMS4xNDkgMi4wNzMgMCA0LjEzNy0uNjQ0IDUuODc5LTEuOTEgMy4wOC0yLjIzNyA0LjYyMi02LjAyOSAzLjk3OC05Ljc4MWwtOC4yNDktNDguMDkzIDM0Ljk0MS0zNC4wNmMyLjcyNi0yLjY1NyAzLjcwNy02LjYzMSAyLjUzMS0xMC4yNTFzLTQuMzA0LTYuMjU4LTguMDcxLTYuODA1em0tNDcuMTI0IDQwLjQ2NGMtMi4zNTcgMi4yOTctMy40MzMgNS42MDctMi44NzYgOC44NTFsNS43MTIgMzMuMzA0LTI5LjkwOS0xNS43MjRjLTIuOTEzLTEuNTMyLTYuMzkzLTEuNTMyLTkuMzA3IDBsLTI5LjkwOSAxNS43MjQgNS43MTItMzMuMzA0Yy41NTctMy4yNDQtLjUxOS02LjU1NC0yLjg3Ni04Ljg1MWwtMjQuMTk2LTIzLjU4NiAzMy40MzktNC44NTljMy4yNTctLjQ3MyA2LjA3My0yLjUxOSA3LjUyOS01LjQ3bDE0Ljk1NS0zMC4zMDEgMTQuOTU0IDMwLjMwMWMxLjQ1NyAyLjk1MSA0LjI3MiA0Ljk5NyA3LjUyOSA1LjQ3bDMzLjQzOSA0Ljg1OXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIuNjIgOTAuNzA2LTYuNjIgMzguNTkzYy0uNjQ0IDMuNzUxLjg5OCA3LjU0MyAzLjk3OCA5Ljc4MSAzLjA3OSAyLjIzNyA3LjE2MyAyLjUzMyAxMC41MzEuNzYxbDM0LjY1OC0xOC4yMjEgMzQuNjU5IDE4LjIyMWMxLjQ2My43NjkgMy4wNjEgMS4xNDggNC42NTIgMS4xNDggMi4wNzMgMCA0LjEzNy0uNjQ0IDUuODc5LTEuOTEgMy4wOC0yLjIzOCA0LjYyMi02LjAyOSAzLjk3OC05Ljc4MWwtNi42Mi0zOC41OTMgMjguMDQtMjcuMzMxYzIuNzI2LTIuNjU3IDMuNzA3LTYuNjMxIDIuNTMxLTEwLjI1MXMtNC4zMDYtNi4yNTgtOC4wNzMtNi44MDZsLTM4Ljc1LTUuNjMxLTE3LjMyOC0zNS4xMTJjLTEuNjg0LTMuNDEzLTUuMTYtNS41NzQtOC45NjctNS41NzRzLTcuMjgzIDIuMTYxLTguOTY3IDUuNTc0bC0xNy4zMjkgMzUuMTEzLTM4Ljc1IDUuNjMxYy0zLjc2Ny41NDctNi44OTYgMy4xODYtOC4wNzMgNi44MDZzLS4xOTUgNy41OTQgMi41MzEgMTAuMjUxem0yNC4zMy0zMC45ODNjMy4yNTctLjQ3MyA2LjA3My0yLjUxOSA3LjUyOS01LjQ3bDEwLjY4OC0yMS42NTcgMTAuNjg4IDIxLjY1N2MxLjQ1NyAyLjk1MSA0LjI3MiA0Ljk5NyA3LjUyOSA1LjQ3bDIzLjkgMy40NzMtMTcuMjkyIDE2Ljg1OGMtMi4zNTcgMi4yOTgtMy40MzMgNS42MDgtMi44NzYgOC44NTJsNC4wODMgMjMuODA0LTIxLjM3Ny0xMS4yMzhjLTEuNDU3LS43NjYtMy4wNTUtMS4xNDktNC42NTMtMS4xNDktMS41OTkgMC0zLjE5Ny4zODMtNC42NTMgMS4xNDlsLTIxLjM3NyAxMS4yMzggNC4wODMtMjMuODA0Yy41NTctMy4yNDQtLjUxOS02LjU1NC0yLjg3Ni04Ljg1MmwtMTcuMjk2LTE2Ljg1OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjM0IDg2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzQgMTU2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzQgMTI2LjMwNmgtMTBjLTUuNTIzIDAtMTAgNC40NzctMTAgMTBzNC40NzcgMTAgMTAgMTBoMTBjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE5NCAxNDYuMzA2aDEwYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEwaC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYyIDI4NC4zMWMyLjYzIDAgNS4yMS0xLjA3IDcuMDctMi45M3MyLjkzLTQuNDQgMi45My03LjA3YzAtMi42NC0xLjA3LTUuMjEtMi45My03LjA4LTEuODYtMS44Ni00LjQ0LTIuOTItNy4wNy0yLjkycy01LjIxIDEuMDYtNy4wNyAyLjkyYy0xLjg2IDEuODctMi45MyA0LjQ0LTIuOTMgNy4wOCAwIDIuNjMgMS4wNyA1LjIxIDIuOTMgNy4wN3M0LjQ0IDIuOTMgNy4wNyAyLjkzeiIvPgogICAgPC9nPgo8L3N2Zz4=",Bfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwNS40IDUwNS40Ij4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQzNy4xLDIzMy40NWMxNC44LTEwLjQsMjQuNi0yNy43LDI0LjYtNDcuMmMwLTMxLjktMjUuOC01Ny43LTU3LjctNTcuN2MtMzEuOSwwLTU3LjcsMjUuOC01Ny43LDU3LjcKCQkJYzAsMTkuNSw5LjcsMzYuOCwyNC42LDQ3LjJjLTEyLjcsNC40LTI0LjMsMTEuMi0zNC4xLDIwYy0xMy41LTExLjUtMjkuNC0yMC4zLTQ2LjgtMjUuNWMyMS4xLTEyLjgsMzUuMy0zNi4xLDM1LjMtNjIuNgoJCQljMC00MC40LTMyLjctNzMuMS03My4xLTczLjFjLTQwLjQsMC03My4xLDMyLjgtNzMuMSw3My4xYzAsMjYuNSwxNC4xLDQ5LjgsMzUuMyw2Mi42Yy0xNy4yLDUuMi0zMi45LDEzLjktNDYuMywyNS4yCgkJCWMtOS44LTguNi0yMS4yLTE1LjMtMzMuNy0xOS42YzE0LjgtMTAuNCwyNC42LTI3LjcsMjQuNi00Ny4yYzAtMzEuOS0yNS44LTU3LjctNTcuNy01Ny43cy01Ny43LDI1LjgtNTcuNyw1Ny43CgkJCWMwLDE5LjUsOS43LDM2LjgsMjQuNiw0Ny4yQzI4LjUsMjQ3LjI1LDAsMjg0Ljk1LDAsMzI5LjI1djYuNmMwLDAuMiwwLjIsMC40LDAuNCwwLjRoMTIyLjNjLTAuNyw1LjUtMS4xLDExLjItMS4xLDE2Ljl2Ni44CgkJCWMwLDI5LjQsMjMuOCw1My4yLDUzLjIsNTMuMmgxNTVjMjkuNCwwLDUzLjItMjMuOCw1My4yLTUzLjJ2LTYuOGMwLTUuNy0wLjQtMTEuNC0xLjEtMTYuOUg1MDVjMC4yLDAsMC40LTAuMiwwLjQtMC40di02LjYKCQkJQzUwNS4yLDI4NC44NSw0NzYuOCwyNDcuMTUsNDM3LjEsMjMzLjQ1eiBNMzYyLjMsMTg2LjE1YzAtMjMsMTguNy00MS43LDQxLjctNDEuN3M0MS43LDE4LjcsNDEuNyw0MS43CgkJCWMwLDIyLjctMTguMyw0MS4yLTQwLjksNDEuN2MtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzM4MC41LDIyNy40NSwzNjIuMywyMDguOTUsMzYyLjMsMTg2LjE1eiBNMTk0LjksMTY1LjM1CgkJCWMwLTMxLjUsMjUuNi01Ny4xLDU3LjEtNTcuMXM1Ny4xLDI1LjYsNTcuMSw1Ny4xYzAsMzAuNC0yMy45LDU1LjMtNTMuOCw1N2MtMS4xLDAtMi4yLDAtMy4zLDBjLTEuMSwwLTIuMiwwLTMuMywwCgkJCUMyMTguOCwyMjAuNjUsMTk0LjksMTk1Ljc1LDE5NC45LDE2NS4zNXogTTU5LjMsMTg2LjE1YzAtMjMsMTguNy00MS43LDQxLjctNDEuN3M0MS43LDE4LjcsNDEuNyw0MS43YzAsMjIuNy0xOC4zLDQxLjItNDAuOSw0MS43CgkJCWMtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzc3LjYsMjI3LjQ1LDU5LjMsMjA4Ljk1LDU5LjMsMTg2LjE1eiBNMTI1LjUsMzIwLjE1SDE2LjJjNC41LTQyLjYsNDAuNS03Niw4NC4yLTc2LjMKCQkJYzAuMiwwLDAuNCwwLDAuNiwwczAuNCwwLDAuNiwwYzIwLjgsMC4xLDM5LjgsNy44LDU0LjUsMjAuM0MxNDEuNywyNzkuNzUsMTMxLDI5OC45NSwxMjUuNSwzMjAuMTV6IE0zNjYuOCwzNTkuOTUKCQkJYzAsMjAuNS0xNi43LDM3LjItMzcuMiwzNy4yaC0xNTVjLTIwLjUsMC0zNy4yLTE2LjctMzcuMi0zNy4ydi02LjhjMC02Mi4xLDQ5LjYtMTEyLjksMTExLjMtMTE0LjdjMS4xLDAuMSwyLjMsMC4xLDMuNCwwLjEKCQkJczIuMywwLDMuNC0wLjFjNjEuNywxLjgsMTExLjMsNTIuNiwxMTEuMywxMTQuN1YzNTkuOTV6IE0zNzguNywzMjAuMTVjLTUuNS0yMS4xLTE2LTQwLTMwLjMtNTUuNmMxNC44LTEyLjgsMzQtMjAuNSw1NS0yMC43CgkJCWMwLjIsMCwwLjQsMCwwLjYsMHMwLjQsMCwwLjYsMGM0My43LDAuMyw3OS43LDMzLjcsODQuMiw3Ni4zSDM3OC43eiIvPgogICAgPC9nPgo8L3N2Zz4K",Jfe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNjcuMDQzIDE3MC40MTRjLTEwLjUxNi0uMzY1LTIwLjAxNi01LjA0Ny0yNi43NDktMTMuMTgxLTQuOTE0LTUuOTM3LTEzLjkzOC01LjkyNS0xOC44NDIgMC0xNC41OTcgMTcuNjM3LTQxLjQ2MiAxNy42MDYtNTYuMDMxIDAtNC45NzMtNi4wMDctMTQuMDA1LTUuODQyLTE4Ljg0MyAwLTE0LjU5MiAxNy42MzMtNDEuNDU1IDE3LjYxMy01Ni4wMzEtLjAwMS00LjkyMi01Ljk0NS0xMy45NDUtNS45MTUtMTguODQxIDAtNi43MzMgOC4xMzUtMTYuMjMzIDEyLjgxNi0yNi43NDkgMTMuMTgyLTQuMTQuMTQ0LTcuMzc5IDMuNjE2LTcuMjM0IDcuNzU2LjE0NCA0LjE0IDMuNTk0IDcuMzcxIDcuNzU2IDcuMjM1IDEzLjU2Ni0uNDcyIDI2LjM4Ni02LjMyOCAzNS42NDYtMTYuMTg3IDIwLjI3NiAyMS42MjkgNTQuNTY5IDIxLjY1NyA3NC44NzUuMDAxIDIwLjI3OCAyMS42MjkgNTQuNTcxIDIxLjY1NCA3NC44NzQtLjAwMSA5LjI2MiA5Ljg1OSAyMi4wOCAxNS43MTUgMzUuNjQ3IDE2LjE4NyA0LjEyMS4xNDkgNy42MTMtMy4wOTUgNy43NTYtNy4yMzUuMTQ1LTQuMTQtMy4wOTQtNy42MTItNy4yMzQtNy43NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjc4MiAxMDcuN2MtOC4wODItMS43MDMtMTUuMTY3LTYtMjAuNDg3LTEyLjQyNy00LjkxNC01LjkzNy0xMy45MzgtNS45MjUtMTguODQyIDAtMTQuNTk3IDE3LjYzNy00MS40NjIgMTcuNjA2LTU2LjAzMSAwLTQuOTczLTYuMDA3LTE0LjAwNS01Ljg0Mi0xOC44NDMgMC0xNC41OTIgMTcuNjMzLTQxLjQ1NSAxNy42MTMtNTYuMDMxLS4wMDEtNC45MjItNS45NDUtMTMuOTQ1LTUuOTE1LTE4Ljg0MSAwLTUuMzIgNi40MjctMTIuNDA0IDEwLjcyNS0yMC40ODYgMTIuNDI4LTQuMDU0Ljg1NC02LjY0NyA0LjgzMi01Ljc5MyA4Ljg4NXM0Ljg0IDYuNjQ3IDguODg1IDUuNzkyYzEwLjM4My0yLjE4OCAxOS41OTItNy4zOSAyNi44MTYtMTUuMTE3IDIwLjI4MiAyMS42MzEgNTQuNTcyIDIxLjY0OCA3NC44NzItLjAwMSAyMC4yNzYgMjEuNjI2IDU0LjU2NyAyMS42NTYgNzQuODcxLjAwMiA3LjIyNiA3LjcyNyAxNi40MzYgMTIuOTMgMjYuODE4IDE1LjExNiA0LjA0OC44NTUgOC4wMy0xLjc0IDguODg1LTUuNzkzLjg1My00LjA1My0xLjc0MS04LjAzMS01Ljc5My04Ljg4NHoiLz4KICAgICAgICA8cGF0aCBkPSJtNTQuOTg1IDQyOS4yNzNoMTY5LjczMnY2OS41NzljMCA3LjI1IDUuODk4IDEzLjE0OCAxMy4xNDkgMTMuMTQ4aDI1LjE5MmM3LjI1IDAgMTMuMTQ4LTUuODk4IDEzLjE0OC0xMy4xNDh2LTEuNDY0aDc0LjE5OXYxLjQ2NGMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtNjkuNTc5aDU1LjExOWMyNC4xMjEgMCA0My4wODEtMjAuODg2IDQwLjY1Ny00NC45NTYtLjAwNC0uMDQtLjAwOC0uMDgtLjAxMy0uMTJsLTEzLjAzNS0xMTEuNTY3Yy0uNDgxLTQuMTE0LTQuMjE1LTcuMDYyLTguMzE5LTYuNTc5LTQuMTE0LjQ4MS03LjA2IDQuMjA2LTYuNTc5IDguMzJsMTMuMDMgMTExLjUwM2MxLjQ2IDE0LjgzMy0xMC4wOTQgMjguMzk4LTI1LjczOCAyOC4zOThoLTU1LjExOXYtMTkuMDU4aDQ0LjkzN2M5LjQ3IDAgMTYuODgtOC4xOTEgMTUuOTM1LTE3LjYxNi0uMDA1LS4wNDMtLjAxLS4wODYtLjAxNS0uMTI5bC0zOC43NTYtMzI5LjA3NGMtLjg2MS04LjE3OS03LjY5NS0xNC4zMzctMTUuOTI3LTE0LjMzN2gtMTM0LjU3MWMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxMzQuNTcxYy41MjMgMCAuOTU3LjM5MyAxLjAxLjkxNC4wMDQuMDQyLjAwOS4wODMuMDE0LjEyNWwzOC43NSAzMjkuMDM0Yy4wMTkuMjc1LS4wNzQuNTQ3LS4yNi43NTEtLjE5MS4yMTItLjQ2Ni4zMzMtLjc1Mi4zMzNoLTQ0LjkzN3YtMjIuODkyYzAtMzkuNDc3LTMyLjI1Ni03MC4zNDQtNzAuMzQ1LTcwLjM0NC0yNi43NzggMC01MC45NDcgMTUuMTg5LTYyLjgzOSAzOC43NDQtMTIuMDA4LTIzLjc3Mi0zNi43MjUtMzkuMjUtNjQuMjA2LTM4LjczMS0zNy43LjcwOS02OC45ODggMzEuNTkzLTY4Ljk4OCA3MC4zMzJ2MjIuODkyaC03MC4zNTJjLS4yODYgMC0uNTYtLjEyMi0uNzUzLS4zMzUtLjE4NS0uMjA0LS4yNzctLjQ3Ni0uMjU5LS43NTFsMzguNzUyLTMyOS4wMzJjLjAwNS0uMDQyLjAxLS4wODQuMDE0LS4xMjcuMDUzLS41Mi40ODYtLjkxMiAxLjAxLS45MTJoMTM0LjU3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMzQuNTdjLTguMjMzIDAtMTUuMDY3IDYuMTYtMTUuOTI3IDE0LjMzOWwtMzguNzU3IDMyOS4wNzNjLS4wMDUuMDQzLS4wMS4wODYtLjAxNS4xMjktLjk0NiA5LjQyMiA2LjQ2NCAxNy42MTYgMTUuOTM1IDE3LjYxNmgxNTkuNTUxdjE5LjA1OGgtMTY5LjczMmMtMTQuODUyIDAtMjcuMjc5LTEyLjc4Mi0yNS43MzktMjguMzk5bDQwLjYwOS0zNDcuNDgzYy4wMDUtLjA0LjAwOS0uMDguMDEzLS4xMTkgMS4zMzYtMTMuMjY4IDEyLjM5OS0yMy4yNzMgMjUuNzM0LTIzLjI3M2gzMjAuNzk4YzEzLjMzNSAwIDI0LjM5NyAxMC4wMDUgMjUuNzMzIDIzLjI3Mi4wMDQuMDQuMDA4LjA4LjAxMy4xMmwyMy40ODcgMjAwLjk3OWMuNDgxIDQuMTE1IDQuMjE3IDcuMDYzIDguMzE5IDYuNTc5IDQuMTE0LS40OCA3LjA2LTQuMjA2IDYuNTc5LTguMzJsLTIzLjQ4LTIwMC45MjJjLTIuMTM4LTIwLjkzMi0xOS42MDMtMzYuNzA4LTQwLjY1MS0zNi43MDhoLTMyMC43OThjLTIxLjA0OSAwLTM4LjUxNiAxNS43NzctNDAuNjUyIDM2LjcxbC00MC42MSAzNDcuNDg4Yy0uMDA1LjA0LS4wMDkuMDgtLjAxMy4xMi0yLjQxNSAyMy45OTkgMTYuNDY2IDQ0Ljk1NSA0MC42NTggNDQuOTU1em0yNTcuNzEzLTcxLjMwMmMwLTEwLjMyNSA4LjEyMi0xOS4yODkgMTguNS0xOS40ODMgMTAuNjgyLS4yMDQgMTkuMjA5IDguNDkxIDE5LjIwOSAxOC44MzZ2MjIuODkyaC0zNy43MDl6bS0zNi40OTEgNzEuMzAyaDc0LjE5OXYxOS4wNThoLTc0LjE5OXptNzguMjE1LTM0LjA1OGM1LjU2OSAwIDEwLjAxNCA0LjgxOCA5LjQ4NCAxMC40My0uNDczIDQuODg0LTQuNTkgOC42MjctOS40ODQgOC42MjdoLTc4LjIxNXYtMTkuMDU4YzI2LjExMi4wMDEgNTIuMTY3LjAwMSA3OC4yMTUuMDAxem0tNzguMjE1IDY4LjExNmg3OC4yMTVjNS41MzcgMCAxMC4wMTYgNC43OTYgOS40ODQgMTAuNDMtLjQ3MiA0Ljg3NC00LjU4NyA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1em0xMTAuNjkgMzMuNjY5aC0yMS40OXYtMi4yMTNjMTguMDE0LTkuMTI3IDE4LjA1NC0zNC43MDggMC00My44NTV2LTI0LjI2YzE4LjA5OC05LjE3IDE3Ljk2OC0zNC43NTIgMC00My44NTV2LTI1LjQ5M2MwLTIwLjQ4Ni0xOC4yMDItMzYuNTE3LTM4Ljc5NC0zMy40OS0xNi4zNTMgMi40LTI4LjkxNSAxNi41MjYtMjguOTE1IDMzLjQ5djIyLjg5MmgtMjEuNDl2LTIxLjgzN2MwLTMwLjU1MiAyNC40Ni01Ni4wOTQgNTQuODIyLTU2LjM4NiAzMS4yMTgtLjI2MiA1NS44NjcgMjUuMDU4IDU1Ljg2NyA1NS4zMzF6bS0yMzYuMzc3LTExNi43ODV2LTIxLjgzOGMwLTMyLjIyNCAyNi42OTYtNTcuNTgzIDU3LjU4OS01Ni4zNDIgMjkuNDgzIDEuMjA0IDUzLjA5OSAyNS41MDMgNTMuMDk5IDU1LjI4N3YxMzkuNjc3aC0yMS40OWMwLTE0LjQxOCAwLTEyMS4wNjMgMC0xMzkuNjc3IDAtMTcuOTUtMTQuMDY1LTMyLjgwNC0zMS45MTUtMzMuNzk1LTE5LjI3Ni0xLjA5Ni0zNS43OTMgMTQuMjYxLTM1Ljc5MyAzMy43OTV2MjIuODkyaC0yMS40OXptMzYuNDkgMHYtMjIuMjQ1YzAtOS40MjUgNi43NjItMTcuNzI0IDE1Ljg3Ny0xOS4yNDMgMTEuNjM5LTEuODUyIDIxLjgzIDcuMjM3IDIxLjgzIDE4LjU5NnYyMi44OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Rfe="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAxNjBoLTMydi04MGMwLTguODIyLTcuMTc4LTE2LTE2LTE2aC0zMnYtNDBjMC0xMy4yMzMtMTAuNzY3LTI0LTI0LTI0aC0yMjRjLTEzLjIzMyAwLTI0IDEwLjc2Ny0yNCAyNHY0MGgtMzJjLTguODIyIDAtMTYgNy4xNzgtMTYgMTZ2ODBoLTMyYy0yMi4wNTYgMC00MCAxNy45NDQtNDAgNDB2MTc2YzAgMjIuMDU2IDE3Ljk0NCA0MCA0MCA0MGg4MHY3MmMwIDEzLjIzMyAxMC43NjcgMjQgMjQgMjRoMjI0YzEzLjIzMyAwIDI0LTEwLjc2NyAyNC0yNHYtNzJoODBjMjIuMDU2IDAgNDAtMTcuOTQ0IDQwLTQwdi0xNzZjMC0yMi4wNTYtMTcuOTQ0LTQwLTQwLTQwem0tNDgtODB2ODBoLTMydi04MHptLTI4OC01NmMwLTQuNDExIDMuNTg5LTggOC04aDIyNGM0LjQxMSAwIDggMy41ODkgOCA4djEzNmgtMjQwYzAtMS42MzUgMC0xMzAuMjExIDAtMTM2em0tNDggNTZoMzJ2ODBoLTMyem0yODggNDA4YzAgNC40MTEtMy41ODkgOC04IDhoLTIyNGMtNC40MTEgMC04LTMuNTg5LTgtOHYtMTM2aDI0MHptMTIwLTExMmMwIDEzLjIzMy0xMC43NjcgMjQtMjQgMjRoLTgwdi00OGgxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOGMtMjguNjU3IDAtMjkwLjg4MyAwLTMwNCAwLTQuNDE4IDAtOCAzLjU4Mi04IDhzMy41ODIgOCA4IDhoMTZ2NDhoLTgwYy0xMy4yMzMgMC0yNC0xMC43NjctMjQtMjR2LTE3NmMwLTEzLjIzMyAxMC43NjctMjQgMjQtMjRoNDMyYzEzLjIzMyAwIDI0IDEwLjc2NyAyNCAyNHoiLz4KICAgICAgICA8cGF0aCBkPSJtNDU2IDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTIgMTkyYy0xMy4yMzMgMC0yNCAxMC43NjctMjQgMjRzMTAuNzY3IDI0IDI0IDI0IDI0LTEwLjc2NyAyNC0yNC0xMC43NjctMjQtMjQtMjR6bTAgMzJjLTQuNDExIDAtOC0zLjU4OS04LThzMy41ODktOCA4LTggOCAzLjU4OSA4IDgtMy41ODkgOC04IDh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCAzNzZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCA0MTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCA0NTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Ffe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NzMuNTc0IDI1Mi40MzJoLTczLjE4NHYtNDMuNzYxYzAtMTEuNDczLTkuMzM0LTIwLjgwNy0yMC44MDctMjAuODA3LTkuODg2IDAtMzQuMjk1IDAtNDQuMzAyIDB2LTE3Ljg0MWMwLTEyLjM5OS0xMC4wODctMjIuNDg2LTIyLjQ4Ni0yMi40ODZoLTE3LjU5NWwxNC43MjQtNDcuNTM1YzE2Ljc1OS42OTIgMzAuNTM5LTEyLjc1IDMwLjUzOS0yOS4yODQgMC0xNi4xNjQtMTMuMTUxLTI5LjMxNS0yOS4zMTUtMjkuMzE1LTI5LjI2OCAwLTQwLjQ1NSAzOC41MS0xNS41NDEgNTQuMTU0bC0xNi4xMDEgNTEuOTc5aC0zMC4xMzNjLTEwLjU3NiAwLTE5LjgzMSA3LjUxNC0yMi4wMDYgMTcuODY2LS4xMDYuNTA3LS4xNiAxLjAyNC0uMTYgMS41NDJ2MjAuOTE5aC0zOC4xNDZ2LTE4LjgwMWMwLTguNjczLTcuMDU3LTE1LjczLTE1LjczLTE1LjczaC0xLjM3OXYtMTkuNTcyYzkuNDY5LS4yMDMgMTcuMTEzLTcuOTUzIDE3LjExMy0xNy40N3YtMTUuNjE2YzAtOS41MTctNy42NDQtMTcuMjY3LTE3LjExMy0xNy40N3YtNDMuNjk5YzAtMjEuNjk1LTE3LjY1LTM5LjM0Ni0zOS4zNDYtMzkuMzQ2aC01MS42NzdjLTQuMTQgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NXMzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg1MS42NzhjMTMuNDI5IDAgMjQuMzU1IDEwLjkyNiAyNC4zNTUgMjQuMzU1djQzLjY4MmgtMzcuOTU3di0yMi41ODRjMC00LjE0LTMuMzU2LTcuNDk1LTcuNDk1LTcuNDk1aC05Ni4ydi0zNy45NTdoMzUuNjM4YzQuMTQgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NXMtMy4zNTUtNy40OTUtNy40OTUtNy40OTVoLTQzLjEzM2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djUyLjk0N2MwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoOTYuMnYxNS4xMDljLTkuNDY4LjIwMy0xNy4xMTIgNy45NTQtMTcuMTEyIDE3LjQ3djE1LjYxNmMwIDkuNTE2IDcuNjQ0IDE3LjI2NyAxNy4xMTIgMTcuNDd2MTkuNTcyaC0xLjM3OWMtOC42NzMgMC0xNS43MyA3LjA1Ny0xNS43MyAxNS43M3YxOC44MDFoLTIyLjU1NWMtMTEuNDczIDAtMjAuODA3IDkuMzM0LTIwLjgwNyAyMC44MDd2Mi40ODlsLTMzLjQwMiA3LjU4OWMtMy40MTMuNzc1LTUuODM1IDMuODA5LTUuODM1IDcuMzA5djEwNy4yNDNjMCAzLjQ5OSAyLjQyMSA2LjUzMyA1LjgzMyA3LjMwOGwzMy40MDQgNy41OTh2Mi40ODdjMCAxMS40NzMgOS4zMzQgMjAuODA3IDIwLjgwNyAyMC44MDdoNi40MjR2MjcuNzk5aC0xNS4xMjdjLTQuMTQgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NSAwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoMzMzLjg0OWMxLjM3OCAwIDIuNDk4IDEuMTIxIDIuNDk4IDIuNDk4djI1LjUyYy0xNS44MzYtMi44My0zMi40MTguMTAzLTQ2LjcwNyA4LjgxMS0xNi43NTQgMTAuMjExLTM3LjU3IDEwLjIxMi01NC4zMjQgMC0yMS41NjctMTMuMTQ0LTQ4LjM2MS0xMy4xNDUtNjkuOTI4IDAtMTYuNzU0IDEwLjIxMS0zNy41NyAxMC4yMTItNTQuMzI0IDAtMjEuNTY3LTEzLjE0NC00OC4zNjEtMTMuMTQ1LTY5LjkyOCAwLTE2Ljc1NCAxMC4yMTItMzcuNTcgMTAuMjEyLTU0LjMyNCAwbC0yNy40NjktMTYuNzQydi0yMC4wODdoMTAuNjc2YzQuMTQgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NXMtMy4zNTYtNy40OTUtNy40OTUtNy40OTVoLTE4LjE3MmMtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djk3LjU0OWMwIDQuMTM5IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDQ5Ny4wMDljNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1IDAtODguNTA2IDAtMTE4LjAwOSAwLTIxMy40ODcuMDAxLTIxLjE4OC0xNy4yMzctMzguNDI2LTM4LjQyNS0zOC40MjZ6bS0xNjIuNDI1LTE5Ni4wMzdjNy44OTggMCAxNC4zMjUgNi40MjYgMTQuMzI1IDE0LjMyNHMtNi40MjYgMTQuMzI1LTE0LjMyNSAxNC4zMjVjLTcuODk4IDAtMTQuMzI0LTYuNDI2LTE0LjMyNC0xNC4zMjVzNi40MjYtMTQuMzI0IDE0LjMyNC0xNC4zMjR6bS0yNjcuNjA0IDI3Ni40NC0yNC4yNDctNS41MTV2LTk1LjI3N2wyNC4yNDctNS41MDl6bTE5OC42NTMtMTY0Ljk3NGMuOTQ3LTMuMTI1IDMuODY3LTUuMzMzIDcuMTc2LTUuMzMzaDYzLjQyYzQuMTMzIDAgNy40OTUgMy4zNjIgNy40OTUgNy40OTV2MTcuODQxaC03OC4wOTF6bS0xNDAuMzA1LTUxLjU2OXYtMTUuNjE2YzAtMS4zNzggMS4xMjEtMi40OTggMi40OTgtMi40OThoNjcuMTg1YzEuMzc4IDAgMi40OTggMS4xMjEgMi40OTggMi40OTh2MTUuNjE2YzAgMS4zNzgtMS4xMjEgMi40OTgtMi40OTggMi40OThoLTY3LjE4NWMtMS4zNzcuMDAxLTIuNDk4LTEuMTItMi40OTgtMi40OTh6bTU1LjA2OSAxNy40ODl2MTkuNTUzaC0zNy45NTd2LTE5LjU1M3ptLTU1LjA2NiAzNS4yODNjMC0uNDA3LjMzMi0uNzM5LjczOS0uNzM5aDcwLjY5NmMuNDA3IDAgLjczOS4zMzIuNzM5LjczOXYxOC44MDFoLTcyLjE3NXYtMTguODAxem0tLjAwMyAzMy43OTFoMjQwLjE0OHYxNTMuNjU2aC0yNDAuMTQ4em0tMzcuNTQyIDE1My42NTZjLTMuMjA3IDAtNS44MTYtMi42MDktNS44MTYtNS44MTZ2LTE0Mi4wMjNjMC0zLjIwNyAyLjYwOS01LjgxNiA1LjgxNi01LjgxNmgyMi41NTF2MTUzLjY1NmMtNS4yMTEtLjAwMS0xNy40ODgtLjAwMS0yMi41NTEtLjAwMXptMjk5LjM3MiA0Mi43OWgtMjc3Ljk1N3YtMjcuNzk5aDI3Ny45NTZ2MjcuNzk5em03LjQ5NS00Mi43OTRjLS4wMjkgMC0uMDU4LjAwNC0uMDg3LjAwNGgtMTQuMDk5di0xNTMuNjU2aDIyLjU1MWMzLjIwNyAwIDUuODE2IDIuNjA5IDUuODE2IDUuODE2djE0Mi4wMjRjMCAzLjIwNy0yLjYwOSA1LjgxNi01LjgxNiA1LjgxNmgtOC4yNzhjLS4wMjkgMC0uMDU4LS4wMDQtLjA4Ny0uMDA0em0xMjUuNzkxIDE0MC4zNDNjLTkuMzc5IDAtNDcxLjEwNyAwLTQ4Mi4wMTkgMHYtNDQuOTE2bDE5LjY2NyAxMS45ODdjMjEuNTY3IDEzLjE0NSA0OC4zNjEgMTMuMTQ1IDY5LjkyOCAwIDE2Ljc1NC0xMC4yMTEgMzcuNTctMTAuMjEyIDU0LjMyNCAwIDIxLjU2OCAxMy4xNDUgNDguMzYxIDEzLjE0NSA2OS45MjggMCAxNi43NTQtMTAuMjExIDM3LjU3LTEwLjIxMiA1NC4zMjQgMCAyMS41NjggMTMuMTQ1IDQ4LjM2MSAxMy4xNDUgNjkuOTI4IDAgMTcuMDk3LTEwLjQyMSAzNy45NDEtOS45ODYgNTQuMzI0IDAgMjEuNTY3IDEzLjE0NCA0OC4zNjIgMTMuMTQ0IDY5LjkyOCAwbDE5LjY2Ny0xMS45ODdjLjAwMSAxMC41NTYuMDAxIDIyLjM4LjAwMSA0NC45MTZ6bTAtNjIuNDcyYy0yOS43ODkgMTguMTU2LTMwLjM1MyAxOC44MzYtMzYuNTI3IDIxLjEzMnYtNDQuMjU3YzAtNC4xMzktMy4zNTYtNy40OTUtNy40OTUtNy40OTVzLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djQ3LjQyN2MtMTkuNDcyIDEuMTcyLTI4Ljk4NC03LjY4OC0zOC41MDYtMTEuODM2di0zMC4wNTRjMC05LjY0My03Ljg0Ni0xNy40ODktMTcuNDg5LTE3LjQ4OWgtMTAuNzgzdi0yNy43OTljMTMuMzQyIDAgMjEuNjc2LTEwLjA0OSAyMS42NzYtMjAuODA3di0zMS43NTVoNDUuMTAydjYyLjMzMWMwIDQuMTM5IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1czcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1di02OS44MjZjMC00LjEzOS0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NWgtNTIuNTk3di0zNi41MjdoNzMuMTg0YzEyLjkyMyAwIDIzLjQzNiAxMC41MTMgMjMuNDM2IDIzLjQzNXYxNDMuNTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxMS4wMjQgMjI3LjE1M2gtNzkuNzI2Yy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTAuMDdjMCA0LjE0IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDc5LjcyNmM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTkwLjA3Yy4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6bS03LjQ5NSA5MC4wN2gtNjQuNzM1di03NS4wNzloNjQuNzM1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTIuNjM1IDI0MC45N2gtNjQuNTA1Yy00LjEzOSAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1IDAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg2NC41MDVjNC4xMzkgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NS4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMxMi42MzUgMjcyLjE4OGgtNjQuNTA1Yy00LjEzOSAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1czMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDY0LjUwNWM0LjEzOSAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1NS03LjQ5NS03LjQ5NS03LjQ5NXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAzMDMuNDA2aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjEuODk5IDI4Ny4xNzloNy41NDhsLTIuOTA0IDcuNDMyYy0xLjUwNyAzLjg1NS4zOTcgOC4yMDIgNC4yNTMgOS43MDkuODk2LjM1IDEuODE5LjUxNiAyLjcyNi41MTYgMi45OTcgMCA1LjgyNi0xLjgwOSA2Ljk4My00Ljc2OWw2LjktMTcuNjU1Yy45MDItMi4zMDcuNjA2LTQuOTEtLjc5MS02Ljk1NXMtMy43MTMtMy4yNjgtNi4xOS0zLjI2OGgtNy41NDhsMi45MDQtNy40MzJjMS41MDctMy44NTUtLjM5Ny04LjIwMi00LjI1My05LjcwOS0zLjg1NS0xLjUwOS04LjIwMy4zOTYtOS43MDkgNC4yNTNsLTYuOSAxNy42NTVjLS45MDIgMi4zMDctLjYwNiA0LjkxLjc5MSA2Ljk1NSAxLjM5NiAyLjA0NCAzLjcxMyAzLjI2OCA2LjE5IDMuMjY4eiIvPgogICAgPC9nPgo8L3N2Zz4=",Gfe="PHN2ZyB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTk0LjcyNyA3My43MDhhNi43NSA2Ljc1IDAgMSAwIDYuNzUgNi43NSA2Ljc1NiA2Ljc1NiAwIDAgMCAtNi43NS02Ljc1em0wIDEwYTMuMjUgMy4yNSAwIDEgMSAzLjI1LTMuMjUgMy4yNTQgMy4yNTQgMCAwIDEgLTMuMjUgMy4yNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNzMuMDgxIDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU3IDYuNzU3IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjY0Ljk2NiIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9Ijc3LjU5MSIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjkwLjIxNiIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjEwMi44NDEiIGN5PSI0OC4wMjEiIHI9IjMiLz4KICAgICAgICA8cGF0aCBkPSJtMTIxLjUgMzMuNWgtMTE1YTEuNzUxIDEuNzUxIDAgMCAwIC0xLjc1IDEuNzV2NTcuNWExLjc1MSAxLjc1MSAwIDAgMCAxLjc1IDEuNzVoMTUuOTQydjguMjVhMS43NTEgMS43NTEgMCAwIDAgMS43NSAxLjc1aDEwYTEuNzUgMS43NSAwIDAgMCAxLjc1LTEuNzV2LTguMjVoNTYuMTE2djguMjVhMS43NSAxLjc1IDAgMCAwIDEuNzUgMS43NWgxMGExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTguMjVoMTUuOTQyYTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUtMS43NXYtNTcuNWExLjc1MSAxLjc1MSAwIDAgMCAtMS43NS0xLjc1em0tODkuMDU4IDY3LjVoLTYuNXYtNi41aDYuNXptNjkuNjE2IDBoLTYuNXYtNi41aDYuNXptMTcuNjkyLTEwaC0xMTEuNXYtNTRoMTExLjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA3NC4yNWExMC4yNSAxMC4yNSAwIDEgMCAtMTAuMjUtMTAuMjUgMTAuMjYxIDEwLjI2MSAwIDAgMCAxMC4yNSAxMC4yNXptLTEuNzUtMTYuNzYydjQuMDEyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtNC4wMTJhNi43NSA2Ljc1IDAgMSAxIC0zLjUgMHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIuNjkyIDQ5Ljk1OGExLjc0OSAxLjc0OSAwIDAgMCAxLjc1LTEuNzV2LTNhMS43NSAxLjc1IDAgMCAwIC0zLjUgMHYzYTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM4Ljc5MiA1MS4zNTNhMS43NSAxLjc1IDAgMCAwIDIuMzM3LS44MTZsMS4zLTIuN2ExLjc1IDEuNzUgMCAwIDAgLTMuMTUyLTEuNTJsLTEuMyAyLjdhMS43NSAxLjc1IDAgMCAwIC44MTUgMi4zMzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1LjA1MiA1NS45MTlhMS43NDggMS43NDggMCAwIDAgMS4wODgtLjM4bDIuMzQ4LTEuODY4YTEuNzUgMS43NSAwIDAgMCAtMi4xNzktMi43MzlsLTIuMzQ4IDEuODY4YTEuNzUgMS43NSAwIDAgMCAxLjA5MSAzLjEyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNC4yNTYgNTAuNTM3YTEuNzUgMS43NSAwIDEgMCAzLjE1Mi0xLjUyMWwtMS4zLTIuN2ExLjc1IDEuNzUgMCAwIDAgLTMuMTUyIDEuNTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2LjkgNTMuNjcxIDIuMzQ5IDEuODY4YTEuNzUgMS43NSAwIDAgMCAyLjE3OC0yLjc0bC0yLjM0OC0xLjg2N2ExLjc1IDEuNzUgMCAxIDAgLTIuMTc5IDIuNzM5eiIvPgogICAgICAgIDxwYXRoIGQ9Im01OC44MDggNzAuMjkyaDUwLjE5MmExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTEwYTEuNzUgMS43NSAwIDAgMCAtMS43NS0xLjc1aC01MC4xOTJhMS43NDkgMS43NDkgMCAwIDAgLTEuNzUgMS43NXYxMGExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1em0xLjc1LTEwaDQ2LjY5MnY2LjVoLTQ2LjY5MnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYuMTM1IDg3LjIwOGgzMy4xMTVhMS43NSAxLjc1IDAgMCAwIDAtMy41aC0zMy4xMTVhMS43NSAxLjc1IDAgMCAwIDAgMy41eiIvPgogICAgPC9nPgo8L3N2Zz4=",Hfe="PHN2ZyBoZWlnaHQ9IjYwMHB0IiB2aWV3Qm94PSItNDUgLTE5IDYwMCA2MDAuMDAxIiB3aWR0aD0iNjAwcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTguMjE0ODQ0IDBoLTUwLjk3NjU2M2MtMTguMTk1MzEyLjAyNzM0MzgtMzIuOTMzNTkzIDE0Ljc2OTUzMS0zMi45NjQ4NDMgMzIuOTY0ODQ0djI0Ljg3MTA5NGgtMTQ0LjgyNDIxOWMtNjEuNDM3NS4wOTM3NS0xMTIuMjUzOTA3IDQ3Ljg3MTA5My0xMTYuMTMyODEzIDEwOS4xODc1aC0zOS4wNjY0MDZjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40Njg3NS05Ljk4ODI4MSA5Ljk4ODI4MXYzMC41MTE3MTloLTEwLjI4NTE1N2MtMy43MDcwMzEgMC03LjEwNTQ2OCAyLjA0Njg3NC04LjgzNTkzNyA1LjMyODEyNGwtODUuNzY5NTMxIDE2Mi41NTQ2ODhjLTEuNjM2NzE5IDMuMDk3NjU2LTEuNTMxMjUgNi44MjQyMTkuMjc3MzQ0IDkuODI0MjE5IDEuODA4NTkzIDMgNS4wNTA3ODEgNC44MjgxMjUgOC41NTQ2ODcgNC44MjgxMjVoMTA4LjEyMTA5NGMuMTc1NzgxIDMuOTU3MDMxLjY3NTc4MSA3Ljg4NjcxOCAxLjQ5NjA5MyAxMS43NjE3MTggNy41NzAzMTMgMzUuMDU0Njg4IDM4LjU1ODU5NCA2MC4wOTM3NSA3NC40MjU3ODIgNjAuMTI1IDM1Ljg3MTA5NC4wMzUxNTcgNjYuOTAyMzQ0LTI0Ljk0OTIxOCA3NC41MzUxNTYtNTkuOTk2MDkzLjg0Mzc1LTMuOTEwMTU3IDEuMzY3MTg4LTcuODkwNjI1IDEuNTUwNzgxLTExLjg5NDUzMWgxMDguMTM2NzE5YzMuNSAwIDYuNzUtMS44MzIwMzIgOC41NTQ2ODgtNC44MzIwMzIgMS44MDg1OTMtMyAxLjkxNzk2OC02LjcyNjU2Mi4yNzczNDMtOS44MjAzMTJsLTg1Ljc2OTUzMS0xNjIuNTQ2ODc1Yy0xLjczMDQ2OS0zLjI4OTA2My01LjE0NDUzMS01LjMzOTg0NC04Ljg1OTM3NS01LjMzMjAzMWgtMTAuMjYxNzE5di0zMC41MTE3MTljMC01LjUxOTUzMS00LjQ3MjY1Ni05Ljk4ODI4MS05Ljk4ODI4MS05Ljk4ODI4MWgtNDQuNTM1MTU2YzIuMTQwNjI1LTIyLjQ3MjY1NyAyMC45ODgyODEtMzkuNjQ0NTMyIDQzLjU2MjUtMzkuNjk5MjE5aDE0NC44MDQ2ODd2MjguMTYwMTU2Yy4wMzUxNTYgMTguMTkxNDA2IDE0Ljc3NzM0NCAzMi45MzM1OTQgMzIuOTY4NzUgMzIuOTYwOTM3aDUwLjk4MDQ2OWM1LjUxNTYyNSAwIDkuOTg4MjgxLTQuNDY0ODQzIDkuOTg4MjgxLTkuOTg4Mjgxdi0xNjguNDY4NzVjMC01LjUxMTcxOS00LjQ2NDg0NC05Ljk4MDQ2ODUtOS45NzY1NjItOS45ODgyODF6bS0yNTAuOTE3OTY5IDM5Ny42MzI4MTJjLTUuNTY2NDA2IDI1LjkzMzU5NC0yOC41MDc4MTMgNDQuNDUzMTI2LTU1LjAzMTI1IDQ0LjQyMTg3Ni0yNi41MzEyNS0uMDI3MzQ0LTQ5LjQyNTc4MS0xOC41OTc2NTctNTQuOTMzNTk0LTQ0LjU0Njg3Ni0uNTU0Njg3LTIuNDUzMTI0LS45MjU3ODEtNC45NDkyMTgtMS4xMjEwOTMtNy40NTMxMjRoMTEyLjIzNDM3NGMtLjE5OTIxOCAyLjU1MDc4MS0uNTg1OTM3IDUuMDgyMDMxLTEuMTQ4NDM3IDcuNTc4MTI0em0xMTIuNjA1NDY5LTI3LjU3NDIxOGgtMTAxLjM5NDUzMmMtLjA2NjQwNiAwLS4xMzY3MTggMC0uMjAzMTI0IDBoLTEzMS45NjA5MzhjLS4wNzAzMTIgMC0uMTM2NzE5IDAtLjIwNzAzMSAwaC0xMDEuMzk0NTMxbDc1LjI1MzkwNi0xNDIuNTU0Njg4aDE4NC42ODM1OTR6bS05OS40NzI2NTYtMTYyLjUzNTE1NmgtMTM2LjE5MTQwN3YtMjAuNTE5NTMyaDEzNi4xOTE0MDd6bTguOTk2MDkzLTEwMC4xODM1OTRjLTMzLjUzNTE1Ni4yNzM0MzctNjEuMjQ2MDkzIDI2LjIzODI4MS02My42OTUzMTIgNTkuNjgzNTk0aC0zMi40MzM1OTRjMy44NDc2NTYtNTAuMjczNDM4IDQ1LjczMDQ2OS04OS4xMjUgOTYuMTUyMzQ0LTg5LjE4NzVoMTQ0LjgwNDY4N3YyOS41MDM5MDZ6bTIxOC43Njk1MzEgNjEuMTQwNjI1aC00MC45ODQzNzRjLTcuMTY3OTY5LS4wMTk1MzEtMTIuOTcyNjU3LTUuODI0MjE5LTEyLjk5MjE4OC0xMi45ODgyODF2LTEyMi41MDc4MTNjLjAxOTUzMS03LjE2MDE1NiA1LjgyNDIxOS0xMi45NjQ4NDQgMTIuOTkyMTg4LTEyLjk4NDM3NWg0MC45ODQzNzR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im05MC41MTU2MjUgNDE1Ljk5MjE4OGMwLTUuNTE1NjI2LTQuNDcyNjU2LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4MjgyaC02MS4zOTg0MzhjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40NzI2NTYtOS45ODgyODEgOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NiA5Ljk5MjE4NyA5Ljk4ODI4MSA5Ljk5MjE4N2g2MS4zOTg0MzhjNS41MTU2MjUgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTExNy41MzkwNjIgNDcyLjY3MTg3NS00MC4wNzAzMTIgMzcuNzQ2MDk0Yy0yLjY0MDYyNSAyLjQzMzU5My0zLjc3MzQzOCA2LjEwMTU2Mi0yLjk1NzAzMSA5LjU5NzY1Ni44MTI1IDMuNTAzOTA2IDMuNDQxNDA2IDYuMjk2ODc1IDYuODg2NzE5IDcuMzE2NDA2IDMuNDQ1MzEyIDEuMDIzNDM4IDcuMTc1NzgxLjExNzE4OCA5Ljc2NTYyNC0yLjM3NWw0MC4wNzAzMTMtMzcuNzM4MjgxYzIuNjQwNjI1LTIuNDMzNTk0IDMuNzY5NTMxLTYuMTAxNTYyIDIuOTU3MDMxLTkuNjA1NDY5LS44MTY0MDYtMy40OTYwOTMtMy40NDUzMTItNi4yOTI5NjktNi44ODY3MTgtNy4zMTY0MDYtMy40NDkyMTktMS4wMTk1MzEtNy4xNzU3ODItLjExMzI4MS05Ljc2NTYyNiAyLjM3NXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM2NS41NDY4NzUgNDA2LjAwMzkwNmgtNjEuMzkwNjI1Yy01LjUxOTUzMSAwLTkuOTkyMTg4IDQuNDcyNjU2LTkuOTkyMTg4IDkuOTg4MjgyIDAgNS41MTk1MzEgNC40NzI2NTcgOS45OTIxODcgOS45OTIxODggOS45OTIxODdoNjEuMzkwNjI1YzUuNTE5NTMxIDAgOS45ODgyODEtNC40NzI2NTYgOS45ODgyODEtOS45OTIxODcgMC01LjUxNTYyNi00LjQ2ODc1LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4Mjgyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY3LjA0Njg3NSA0NzIuNjcxODc1Yy0yLjU4OTg0NC0yLjQ4ODI4MS02LjMxNjQwNi0zLjM5NDUzMS05Ljc2NTYyNS0yLjM3NS0zLjQ0NTMxMiAxLjAyMzQzNy02LjA3NDIxOSAzLjgyMDMxMy02Ljg4NjcxOSA3LjMxNjQwNi0uODE2NDA2IDMuNTAzOTA3LjMxNjQwNyA3LjE3MTg3NSAyLjk1MzEyNSA5LjYwNTQ2OWw0MC4wNjI1IDM3LjcyMjY1NmMyLjU4OTg0NCAyLjQ5MjE4OCA2LjMxNjQwNiAzLjQwMjM0NCA5Ljc2NTYyNSAyLjM3NSAzLjQ0MTQwNy0xLjAxOTUzMSA2LjA3MDMxMy0zLjgxMjUgNi44ODY3MTktNy4zMTY0MDYuODEyNS0zLjQ5NjA5NC0uMzE2NDA2LTcuMTY0MDYyLTIuOTU3MDMxLTkuNjAxNTYyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTkyLjI3MzQzOCA0OTAuOTMzNTk0Yy01LjUxNTYyNiAwLTkuOTg4MjgyIDQuNDcyNjU2LTkuOTg4MjgyIDkuOTkyMTg3djUwLjg0NzY1N2MwIC4yNDYwOTMtLjAyMzQzNy41MDM5MDYtLjAyMzQzNy43MzgyODEgMCA1LjUxNTYyNSA0LjQ3MjY1NiA5Ljk4ODI4MSA5Ljk4ODI4MSA5Ljk4ODI4MS40MjU3ODEtLjAwMzkwNi44NTU0NjktLjAyNzM0NCAxLjI3NzM0NC0uMDg1OTM4IDQuOTkyMTg3LS42Mjg5MDYgOC43MzgyODEtNC44Nzg5MDYgOC43MzgyODEtOS45MDYyNXYtNTEuNTgyMDMxYzAtNS41MTk1MzEtNC40NzI2NTYtOS45OTIxODctOS45OTIxODctOS45OTIxODd6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",Vfe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NzguNTExLDg4LjYyMkM0MDMuNjk0LDY5LjIyMywzMjguNDM3LDM5LjAxNywyNjAuODc4LDEuMjY5Yy0zLjAzLTEuNjkyLTYuNzIzLTEuNjkzLTkuNzU1LDAKCQkJQzE4MS42MjEsNDAuMDk5LDExMC40MzIsNjguNjcyLDMzLjQ4OSw4OC42MjNjLTQuNDEsMS4xNDQtNy40OSw1LjEyNC03LjQ5LDkuNjh2MTEwLjM5NGMwLDExMy41MzUsNTUuMjkyLDE4OC42MzksMTAxLjY3OCwyMzEuNjUKCQkJYzQ5Ljc1Nyw0Ni4xMzgsMTA3LjQ2LDcxLjY1NSwxMjguMzI0LDcxLjY1NWMyMC44NjQsMCw3OC41NjctMjUuNTE3LDEyOC4zMjQtNzEuNjU1CgkJCWM0Ni4zODQtNDMuMDExLDEwMS42NzgtMTE4LjExNCwxMDEuNjc4LTIzMS42NVY5OC4zMDJDNDg2LjAwMiw5My43NDYsNDgyLjkyMiw4OS43NjYsNDc4LjUxMSw4OC42MjJ6IE0zNzAuNzI2LDQyNS42NzgKCQkJYy0yNy41NTcsMjUuNTUzLTU0LjMzNiw0MS42ODUtNzEuOTUsNTAuNzE4Yy0yMi4zMTksMTEuNDQ3LTM3LjgxLDE1LjYwMy00Mi43NzYsMTUuNjAzYy00Ljk2NiwwLTIwLjQ1Ni00LjE1NS00Mi43NzYtMTUuNjAzCgkJCWMtMTcuNjEyLTkuMDMzLTQ0LjM5Mi0yNS4xNjUtNzEuOTUtNTAuNzE4Yy00My40NjQtNDAuMzAzLTk1LjI3Ni0xMTAuNjYzLTk1LjI3Ni0yMTYuOTgzVjEwNi4wMDgKCQkJYzczLjk2NC0xOS44LDE0Mi44MDEtNDcuNTIzLDIxMC4wMDMtODQuNTc0YzY1LjQ5OCwzNi4wNTksMTM3LjgyNyw2NS4xODUsMjEwLDg0LjU3MXYxMDIuNjloMC4wMDEKCQkJQzQ2Ni4wMDEsMzE1LjAxNSw0MTQuMTksMzg1LjM3NSwzNzAuNzI2LDQyNS42Nzh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ0My43OTMsMTE1LjM2OGMtNjMuMzM2LTE4LjQxMy0xMjQuOTM2LTQzLjQyNC0xODMuMDg3LTc0LjMzN2MtMi45MzgtMS41NjMtNi40NjEtMS41Ni05LjM5NywwLjAwNgoJCQlDMTkzLjA2OSw3Mi4wNzksMTMxLjQ3LDk3LjA5NCw2OC4yMiwxMTUuMzg3Yy00LjI3NywxLjIzNy03LjIyMiw1LjE1My03LjIyMiw5LjYwNnY4My43MDJjMCwzOS4wNzcsNy40MDUsNzYuMTYxLDIyLjAwOCwxMTAuMjIyCgkJCWMxNC41MywzMy44OTEsMzYuMjAxLDY0LjgyLDY0LjQwOSw5MS45MzNjMjAuMTc1LDE5LjM5LDQzLjQ2OSwzNi40NzcsNjcuMzY3LDQ5LjQxM2M0LjI4MiwyLjMxOCwyNi4zMDUsMTQuMDAzLDM5LjQwMiwxNi40MjEKCQkJYzAuNiwwLjExLDEuMjA3LDAuMTY2LDEuODE1LDAuMTY2YzAuNjA4LDAsMS4yMTUtMC4wNTYsMS44MTUtMC4xNjZjMTMuMDk3LTIuNDE4LDM1LjEyLTE0LjEwMywzOS40MDItMTYuNDIxCgkJCWMyMy44OTUtMTIuOTM2LDQ3LjE5LTMwLjAyMyw2Ny4zNjctNDkuNDEzYzI4LjIwOC0yNy4xMTEsNDkuODc4LTU4LjA0MSw2NC40MDktOTEuOTMzYzE0LjYwMy0zNC4wNiwyMi4wMDgtNzEuMTQ0LDIyLjAwOC0xMTAuMjIyCgkJCXYtODMuNzI0QzQ1MS4wMDEsMTIwLjUyNCw0NDguMDYzLDExNi42MTEsNDQzLjc5MywxMTUuMzY4eiBNNDMxLjAwMSwyMDguNjk1YzAsNzMuMzc2LTI3LjAwOCwxMzYuNTM4LTgwLjI3NiwxODcuNzM0CgkJCWMtMTguODk4LDE4LjE2Mi00MC42OTMsMzQuMTUzLTYzLjAyOSw0Ni4yNDVjLTEwLjE2Nyw1LjUwMy0yMy44OTIsMTEuOTE5LTMxLjY5NywxMy45MzRjLTcuODA1LTIuMDE1LTIxLjUzLTguNDMxLTMxLjY5Ni0xMy45MzQKCQkJYy0yMi4zMzctMTIuMDkzLTQ0LjEzMi0yOC4wODQtNjMuMDI5LTQ2LjI0NWMtNTMuMjY3LTUxLjE5NS04MC4yNzYtMTE0LjM1OS04MC4yNzYtMTg3LjczNFYxMzIuNDgKCQkJYzYwLjM1NC0xNy45NjksMTE5LjE3Mi00MS45MzEsMTc1LjAxOS03MS4zMDZjNTUuNzU3LDI5LjI1MSwxMTQuNTY5LDUzLjIwNCwxNzQuOTgzLDcxLjI3NFYyMDguNjk1eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNzMuMDI3LDM1OC4zMDVsLTAuMi0wLjIxNWMtMy43MDEtNC4wNTUtOS45ODctNC4zNjctMTQuMDczLTAuNjg5Yy00LjEwNSwzLjY5NC00LjQzOCwxMC4wMTctMC43NDQsMTQuMTIybDAuMiwwLjIxNQoJCQljMS45NzEsMi4xNTgsNC42NzMsMy4yNTYsNy4zODcsMy4yNTZjMi4zODMsMCw0Ljc3NS0wLjg0OCw2LjY4Ni0yLjU2N0MxNzYuMzg4LDM2OC43MzMsMTc2LjcyMSwzNjIuNDA5LDE3My4wMjcsMzU4LjMwNXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjI2Ljk2Myw0MDMuNjk1Yy0xMi4wNDYtNy42MDItMjMuNjQ1LTE2LjM2NC0zNC40NzMtMjYuMDQ0Yy00LjExNy0zLjY4Mi0xMC40MzktMy4zMjctMTQuMTIsMC43OQoJCQljLTMuNjgsNC4xMTgtMy4zMjYsMTAuNDM5LDAuNzkyLDE0LjEyYzExLjY1MywxMC40MTgsMjQuMTQ1LDE5Ljg1NCwzNy4xMjksMjguMDQ4YzEuNjU3LDEuMDQ1LDMuNTAyLDEuNTQ0LDUuMzI3LDEuNTQ0CgkJCWMzLjMxOCwwLDYuNTY0LTEuNjUsOC40NjYtNC42NjRDMjMzLjAzMiw0MTIuODE4LDIzMS42MzUsNDA2LjY0MiwyMjYuOTYzLDQwMy42OTV6Ii8+CiAgICAgICAgPHBhdGggZD0iTTMwOC44OTgsMjA5LjA3N3YtMzIuOTIxYzAtMjkuMTY4LTIzLjczLTUyLjg5OC01Mi45LTUyLjg5OGMtMjkuMTY4LDAtNTIuODk4LDIzLjczLTUyLjg5OCw1Mi44OTh2MzIuOTIxCgkJCWMtMTEuODk4LDAuNDI5LTIxLjQ0NywxMC4yMzUtMjEuNDQ3LDIyLjIzNnY3Ni43NjljLTAuMDAxLDEyLjI3Myw5Ljk4NCwyMi4yNTcsMjIuMjU3LDIyLjI1N0gzMDguMDkKCQkJYzEyLjI3MywwLDIyLjI1OC05Ljk4NCwyMi4yNTgtMjIuMjU3di03Ni43NjlDMzMwLjM0OCwyMTkuMzExLDMyMC43OTgsMjA5LjUwNCwzMDguODk4LDIwOS4wNzd6IE0yMjMuMDk5LDE3Ni4xNTYKCQkJYzAtMTguMTQsMTQuNzU5LTMyLjg5OCwzMi45LTMyLjg5OGMxOC4xNCwwLDMyLjg5OCwxNC43NTgsMzIuODk4LDMyLjg5OHYzMi45aC02NS43OTlWMTc2LjE1NnogTTMxMC4zNDcsMzA4LjA4MwoJCQljMCwxLjIyNC0xLjAzNCwyLjI1Ny0yLjI1OCwyLjI1N0gyMDMuOTA4Yy0xLjIyNCwwLTIuMjU4LTEuMDMzLTIuMjU4LTIuMjU3di03Ni43NjloMC4wMDFjMC0xLjIyNCwxLjAzNC0yLjI1NywyLjI1OC0yLjI1N2g5LjE4OQoJCQloODUuNzk5aDkuMTkyYzEuMjI0LDAsMi4yNTgsMS4wMzMsMi4yNTgsMi4yNTdWMzA4LjA4M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI0OS42NGMtNy43MDEsMC0xMy45ODIsNi4yODEtMTMuOTgyLDEzLjk4MmMwLDMuNzg2LDEuNTIzLDcuMjI1LDMuOTgyLDkuNzQ2djkuNzg3YzAsNS41MjIsNC40NzcsMTAsMTAsMTAKCQkJYzUuNTIzLDAsMTAtNC40NzgsMTAtMTB2LTkuNzg3YzIuNDU5LTIuNTIyLDMuOTgyLTUuOTYsMy45ODItOS43NDZDMjY5Ljk4MiwyNTUuOTIxLDI2My43MDEsMjQ5LjY0LDI1NiwyNDkuNjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Zfe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDk2Ljg4MjgxMiAwaC00ODEuNzY1NjI0Yy04LjM0NzY1NyAwLTE1LjExNzE4OCA2Ljc2OTUzMS0xNS4xMTcxODggMTUuMTE3MTg4djQ4MS43NjU2MjRjMCA4LjM0NzY1NyA2Ljc2OTUzMSAxNS4xMTcxODggMTUuMTE3MTg4IDE1LjExNzE4OGg0ODEuNzY1NjI0YzguMzQ3NjU3IDAgMTUuMTE3MTg4LTYuNzY5NTMxIDE1LjExNzE4OC0xNS4xMTcxODh2LTQ4MS43NjU2MjRjMC04LjM0NzY1Ny02Ljc2OTUzMS0xNS4xMTcxODgtMTUuMTE3MTg4LTE1LjExNzE4OHptLTQwNi4xNzU3ODEgNDIxLjI5Mjk2OXYtODguNjk1MzEzaDExOS4wNzQyMTl2ODguNjk1MzEzem0tNjAuNDcyNjU2LTM5MS4wNTg1OTRoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0wIDYwLjQ3MjY1Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTM1Mi44Mzk4NDQtNTguNDUzMTI1djI4LjIxODc1aC0yNTQuMTQ4NDM4di0yOC4yMTg3NXptLTI1NC4xNDg0MzggMjM5Ljg3MTA5NGgyNTQuMTUyMzQ0djMwLjIzODI4MWgtMjU0LjE1MjM0NHptMC0zMC4yMzQzNzV2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptMC02MC40NzI2NTZ2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptMC02MC40NzI2NTd2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptLTk4LjY5MTQwNiAzMC4yMzQzNzZoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0wIDYwLjQ3MjY1Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMzgzLjA3ODEyNSAwaDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptNjguNDUzMTI1LTMwLjIzNDM3NWgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1NmgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1N2gtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1NmgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0tMjQxLjc1IDI3Mi4xMjVoMzAuMjM4Mjgxdjg4LjY5NTMxM2gtMzAuMjM4Mjgxem02MC40NzY1NjMgMGgxMjAuODAwNzgxdjg4LjY5NTMxM2gtMTIwLjgwMDc4MXptLTI3MC4yNTc4MTMgMTQ5LjE2Nzk2OXYtMTQ5LjE2Nzk2OWgzMC4yMzgyODF2MTAzLjgxMjVjMCA4LjM0NzY1NiA2Ljc2OTUzMiAxNS4xMTcxODggMTUuMTE3MTg4IDE1LjExNzE4OGgzNjAuODIwMzEyYzguMzQ3NjU2IDAgMTUuMTE3MTg4LTYuNzY5NTMyIDE1LjExNzE4OC0xNS4xMTcxODh2LTEwMy44MTI1aDMwLjIzODI4MXYxNDkuMTY3OTY5em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Xfe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0yIDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTM0OC4yNDYwOTQgMzc2Ljc4NTE1NmMtMy4yNS0yLjYwNTQ2OC03Ljk5MjE4OC0yLjA4MjAzMS0xMC41OTc2NTYgMS4xNjQwNjNsLTI4Ljk0OTIxOSAzNi4wOTM3NWMtMy45ODQzNzUgNC45Njg3NS0uMzY3MTg4IDEyLjI1NzgxMiA1Ljg3NSAxMi4yNTc4MTIgMi4yMTA5MzcgMCA0LjM5ODQzNy0uOTY4NzUgNS44ODY3MTktMi44MjQyMTlsMjguOTQ5MjE4LTM2LjA5Mzc1YzIuNjA1NDY5LTMuMjUgMi4wODU5MzgtNy45OTIxODctMS4xNjQwNjItMTAuNTk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzkwLjM1OTM3NSAzNTguNzM4MjgxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg3LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzOCAwIDQuMzk4NDM4LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOGwyOC45NDkyMTktMzYuMDkzNzVjMi42MDU0NjgtMy4yNDYwOTQgMi4wODU5MzctNy45OTIxODgtMS4xNjQwNjMtMTAuNTk3NjU3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTExLjc1IDQyMi4wNTA3ODFjMi4xMDkzNzUgMCA0LjIwNzAzMS0uODc4OTA2IDUuNjk5MjE5LTIuNTk3NjU2bDM5LjYxMzI4MS00NS42NDQ1MzFjMi43MzA0NjktMy4xNDQ1MzIgMi4zOTQ1MzEtNy45MDYyNS0uNzUtMTAuNjMyODEzLTMuMTQ0NTMxLTIuNzMwNDY5LTcuOTEwMTU2LTIuMzk0NTMxLTEwLjYzNjcxOS43NWwtMzkuNjE3MTg3IDQ1LjY0NDUzMWMtNC4yNTM5MDYgNC45MDIzNDQtLjY5NTMxMyAxMi40ODA0NjkgNS42OTE0MDYgMTIuNDgwNDY5em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTk2LjYyMTA5NCAzNzYuNzg1MTU2Yy0zLjI1LTIuNjA1NDY4LTcuOTk2MDk0LTIuMDgyMDMxLTEwLjYwMTU2MyAxLjE2NDA2M2wtMTQuNDcyNjU2IDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5NjA5NCAxLjE2NDA2MyAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjUgOC4wMTE3MTggMi4wNjI1IDEwLjU5NzY1Ni0xLjE2NDA2MmwxNC40NzY1NjItMTguMDQ2ODc2YzIuNjA1NDY5LTMuMjUgMi4wODIwMzItNy45OTIxODctMS4xNjQwNjItMTAuNTk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDM3Ljk5MjE4OCAzOTQuODMyMDMxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NyAxLjE2NDA2M2wtMTQuNDc2NTYyIDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjYwMTU2My0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA1NDY5LTMuMjQ2MDk0IDIuMDgyMDMxLTcuOTkyMTg4LTEuMTY0MDYyLTEwLjU5NzY1N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTExNi40NzI2NTYgMzYyLjk4NDM3NWMtMy4yNS0yLjYwNTQ2OS03Ljk5MjE4Ny0yLjA4MjAzMS0xMC41OTc2NTYgMS4xNjQwNjNsLTE0LjQ3NjU2MiAxOC4wNTA3ODFjLTIuNjA1NDY5IDMuMjQ2MDkzLTIuMDgyMDMyIDcuOTkyMTg3IDEuMTY0MDYyIDEwLjU5NzY1NiAzLjI2OTUzMSAyLjYyMTA5NCA4LjAxMTcxOSAyLjA2MjUgMTAuNTk3NjU2LTEuMTY0MDYzbDE0LjQ3MjY1Ni0xOC4wNDY4NzRjMi42MDkzNzYtMy4yNSAyLjA4NTkzOC03Ljk5NjA5NC0xLjE2MDE1Ni0xMC42MDE1NjN6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im01MDQuNDYwOTM4IDBjLTE3LjI1MzkwNyAwLTQ2Ni41OTM3NSAwLTQ5Ni45MjE4NzYgMC00LjE2MDE1NiAwLTcuNTM5MDYyIDMuMzY3MTg4LTcuNTM5MDYyIDcuNTM5MDYydjQ5My44NjcxODhjMCA0LjE3MTg3NSAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MiA3LjUzOTA2Mmg0MjIuMjEwOTM4YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNjcxODcgNy41MzkwNjItNy41MzkwNjIgMC00LjE2NDA2Mi0zLjM3ODkwNi03LjU0Mjk2OS03LjUzOTA2Mi03LjU0Mjk2OWgtNDE0LjY3MTg3NXYtMTQzLjg4MjgxMmgxNC4zNjcxODd2OTAuOTU3MDMxYzAgNC4xNjQwNjIgMy4zNzUgNy41MzkwNjIgNy41MzkwNjMgNy41MzkwNjJoMTI2LjQwMjM0NGM0LjE2MDE1NiAwIDcuNTM5MDYyLTMuMzc1IDcuNTM5MDYyLTcuNTM5MDYyIDAtNC4xNjAxNTYtMy4zNzg5MDYtNy41MzkwNjItNy41MzkwNjItNy41MzkwNjJoLTExOC44NjMyODF2LTgzLjQxNzk2OWgxNC41MzkwNjJ2MjYuMTIxMDkzYzAgNC4xNjQwNjMgMy4zNzUgNy41MzkwNjMgNy41MzkwNjIgNy41MzkwNjMgNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM3NSA3LjUzOTA2My03LjUzOTA2M3YtMjYuMTIxMDkzaDE1My43MTA5Mzd2ODMuNDE3OTY5aC0zNC4zMDg1OTNjLTQuMTYwMTU3IDAtNy41MzkwNjMgMy4zNzg5MDYtNy41MzkwNjMgNy41MzkwNjIgMCA0LjE2NDA2MiAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MyA3LjUzOTA2MmgyODEuNDcyNjU2YzQuMTY0MDYzIDAgNy41MzkwNjMtMy4zNzUgNy41MzkwNjMtNy41MzkwNjJ2LTkwLjk1NzAzMWgxNC4zNjcxODd2MTQzLjg4MjgxMmgtMzcuMDE1NjI1Yy00LjE2MDE1NiAwLTcuNTM5MDYyIDMuMzc4OTA3LTcuNTM5MDYyIDcuNTQyOTY5IDAgNC4xNzE4NzUgMy4zNzg5MDYgNy41MzkwNjIgNy41MzkwNjIgNy41MzkwNjJoNDQuNTU0Njg4YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNjcxODcgNy41MzkwNjItNy41MzkwNjIgMC01My44NjMyODEgMC00MzcuNDk2MDk0IDAtNDkzLjg2NzE4OCAwLTQuMTcxODc0LTMuMzc4OTA2LTcuNTM5MDYyLTcuNTM5MDYyLTcuNTM5MDYyem0tNDQ1LjM5ODQzOCAzMzQuOTAyMzQ0Yy0xMy43MTQ4NDQgMC0zMC4wNTg1OTQgMC00My45ODQzNzUgMCAwLTkuNTUwNzgyIDAtMTYuMjU3ODEzIDAtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2Mmg0My45ODQzNzV6bTAtNDEuODcxMDk0aC00My45ODQzNzV2LTI2Ljc3NzM0M2g0My45ODQzNzV6bTAtNDEuODU5Mzc0Yy05LjcwMzEyNSAwLTMzLjkxNzk2OSAwLTQzLjk4NDM3NSAwdi0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMTUuMDc4MTI1LTI2Ljc4MTI1aDM2My43MTg3NXYyNi43ODEyNWgtMzYzLjcxODc1em0wIDgzLjcxODc1aDI4OS4zMDA3ODFjNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM2NzE4NyA3LjUzOTA2My03LjUzOTA2MyAwLTQuMTYwMTU2LTMuMzc1LTcuNTM5MDYyLTcuNTM5MDYzLTcuNTM5MDYyLTEuMjM0Mzc1IDAtMjgyLjk0MTQwNiAwLTI4OS4zMDA3ODEgMHYtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1aC00NC4yNTc4MTNjLTQuMTY0MDYyIDAtNy41MzkwNjIgMy4zNzg5MDYtNy41MzkwNjIgNy41MzkwNjIgMCA0LjE3MTg3NiAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MiA3LjUzOTA2M2g0NC4yNTc4MTN2MjYuNzg5MDYzYy0xMS42MjUgMC0zNTQuNDkyMTg3IDAtMzYzLjcxODc1IDB6bTAgNDEuODcxMDk0aDM2My43MTg3NXYyNi43NzczNDNoLTM2My43MTg3NXptMCA0MS44NTkzNzVoMzYzLjcxODc1djI2Ljc4OTA2MmgtMzYzLjcxODc1em0wIDQxLjg2NzE4N2gzNjMuNzE4NzV2MjYuNzgxMjVoLTM2My43MTg3NXptMCA0MS44NTkzNzVoMzYzLjcxODc1djI2Ljc4OTA2M2gtMzYzLjcxODc1em0wIDY4LjY0ODQzOHYtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1Yy0zNS42MTcxODcgMC0zMjYuOTUzMTI1IDAtMzYzLjcxODc1IDB6bTM5My4zMzU5MzcgOTguNDk2MDk0aC0xODMuMzI4MTI0di00MC42Njc5NjljMC00LjE2NDA2My0zLjM3NS03LjUzOTA2My03LjUzOTA2My03LjUzOTA2M3MtNy41MzkwNjMgMy4zNzUtNy41MzkwNjMgNy41MzkwNjN2NDAuNjY3OTY5aC0yNi4xNDA2MjR2LTgzLjQxNDA2M2gyNi4xNDA2MjR2MTIuNTg1OTM3YzAgNC4xNjc5NjkgMy4zNzUgNy41MzkwNjMgNy41MzkwNjMgNy41MzkwNjNzNy41MzkwNjMtMy4zNzEwOTQgNy41MzkwNjMtNy41MzkwNjN2LTEyLjU4OTg0M2gxNTMuNzEwOTM3djI2LjEyMTA5M2MwIDQuMTY0MDYzIDMuMzc1IDcuNTM5MDYzIDcuNTM5MDYzIDcuNTM5MDYzIDQuMTY0MDYyIDAgNy41MzkwNjItMy4zNzUgNy41MzkwNjItNy41MzkwNjN2LTI2LjEyMTA5M2gxNC41MzkwNjJ6bTI5LjQ0NTMxMy05OC40OTYwOTRjLTEzLjc4OTA2MyAwLTI5Ljg2NzE4NyAwLTQzLjk4NDM3NSAwdi0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYyaDQzLjk4NDM3NXptMC00MS44NzEwOTRoLTQzLjk4NDM3NXYtMjYuNzc3MzQzaDQzLjk4NDM3NXptMC00MS44NTkzNzRoLTQzLjk4NDM3NXYtMjYuNzg5MDYzaDQzLjk4NDM3NXptMC00MS44NjcxODhoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",Kfe="PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01Ni44MzggMWgtNDkuNjc2Yy0zLjM5OCAwLTYuMTYyIDIuNzY0LTYuMTYyIDYuMTYyIDAgLjY2NS4xMDYgMS4zMi4zMTYgMS45NDlsLjU1OCAxLjY3NmMuODQxIDIuNTIgMy4xOSA0LjIxMyA1Ljg0NyA0LjIxM2g0LjM4NGwxLjUwNiAxMy41NTJjLjI4MiAyLjUzNiAyLjQxOCA0LjQ0OCA0Ljk2OSA0LjQ0OGgyNi44NGMyLjU1MSAwIDQuNjg4LTEuOTEyIDQuOTY5LTQuNDQ4bDEuNTA2LTEzLjU1Mmg0LjM4NGMyLjY1NyAwIDUuMDA2LTEuNjkzIDUuODQ2LTQuMjE0bC41NTgtMS42NzRjLjIxMS0uNjMuMzE3LTEuMjg1LjMxNy0xLjk1IDAtMy4zOTgtMi43NjQtNi4xNjItNi4xNjItNi4xNjJ6bS0zMi44MzggMzBoLTR2LThjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptMTAgMGgtNHYtOGMwLTEuMTAzLjg5Ny0yIDItMnMyIC44OTcgMiAyem0xMCAwaC00di04YzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTQuNDAyLTIuNjY4Yy0uMTQ3IDEuMzI0LTEuMTM4IDIuMzYzLTIuNDAyIDIuNjExdi03Ljk0M2MwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY4aC0ydi04YzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0djhoLTJ2LThjMC0yLjIwNi0xLjc5NC00LTQtNHMtNCAxLjc5NC00IDR2Ny45NDJjLTEuMjY0LS4yNDgtMi4yNTQtMS4yODctMi40MDItMi42MTFsLTEuNDgxLTEzLjMzMWgzNS43NjZ6bTEyLjM4NC0xOS44NTMtLjU1OCAxLjY3NWMtLjU2NyAxLjcwMi0yLjE1NCAyLjg0Ni0zLjk0OSAyLjg0NmgtNDguNTU4Yy0xLjc5NCAwLTMuMzgxLTEuMTQ0LTMuOTQ5LTIuODQ2bC0uNTU4LTEuNjc2Yy0uMTQyLS40MjQtLjIxNC0uODY3LS4yMTQtMS4zMTYgMC0yLjI5NSAxLjg2Ny00LjE2MiA0LjE2Mi00LjE2Mmg0OS42NzZjMi4yOTUgMCA0LjE2MiAxLjg2NyA0LjE2MiA0LjE2MiAwIC40NDktLjA3Mi44OTItLjIxNCAxLjMxN3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTUgNWgtNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJoNmMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yem0tNiA0di0yaDZsLjAwMSAyeiIvPgogICAgICAgIDxwYXRoIGQ9Im01MSA1aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDcgNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDVoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NyA5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTEgOWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDloMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NCA0MHYtMWgtMWMtLjExOSAwLTEuNzk5LjA0Mi0zLjE3OSAyLjAzNS0uMDQ2LS4wNjMtLjA5Mi0uMTMxLS4xMzgtLjE5My0uOTAzLTEuMjMtMS42ODMtMi4yOTMtMS42ODMtNC44NDJ2LTFoLTFjLS4xMzkgMC0yLjg5My4wNTctNC42MjQgMy4yNzgtMi4wNTMtMy4yMjMtNS4zMjgtMy4yNzgtNS4zNzYtMy4yNzhoLTF2MWMwIDIuNTU5LS43ODQgMy42MzMtMS42OTIgNC44NzctLjA0LjA1NS0uMDguMTE0LS4xMi4xNjktMS4zODMtMi4wMDQtMy4wNjktMi4wNDYtMy4xODgtMi4wNDZoLTF2MWMwIDIuNTQzLS45OTUgMy44MzMtMi4xNDcgNS4zMjctMS4zMzcgMS43MzMtMi44NTMgMy42OTctMi44NTMgNy42NzMgMCA2LjA3NSAzLjkyNSAxMCAxMCAxMGgxNGM2LjA3NSAwIDEwLTMuOTI1IDEwLTEwIDAtMy45NzYtMS41MTYtNS45NC0yLjg1My03LjY3My0xLjE1Mi0xLjQ5NC0yLjE0Ny0yLjc4NC0yLjE0Ny01LjMyN3ptLTE5IDE3YzAtMi4zOTYgMS4zNTgtMy43MTkgMi42NzItNSAuODUxLS44MyAxLjcyNC0xLjY4IDIuMTE1LTIuNzczLjU2LjMxIDEuMjEzIDEuMDQzIDEuMjEzIDIuNzczdjNoMnYtMWMwLTEuOTg2IDEuMjM5LTIuNjYgMi4xNDctMi44ODcuMzU1IDEuMzA0IDEuMjk1IDIuMjQ0IDIuMTQ2IDMuMDk0LjkxNi45MTYgMS43MDcgMS43MDcgMS43MDcgMi43OTMgMCAxLjM4My0xLjQ2MyA0LTcgNHMtNy0yLjYxNy03LTR6bTE0IDRoLS4xMDJjMS41NjItMS4yOCAyLjEwMi0yLjg5OSAyLjEwMi00IDAtMS45MTQtMS4yMTgtMy4xMzItMi4yOTMtNC4yMDctLjkxNi0uOTE2LTEuNzA3LTEuNzA3LTEuNzA3LTIuNzkzdi0xaC0xYy0uODkyIDAtMi4xOTMuMjc4LTMuMjQ1IDEuMDg5LS42ODItMi4zOTUtMi42MjgtMy4wODktMy43NTUtMy4wODloLTF2MWMwIC44NDUtLjY1NSAxLjUyNi0xLjcyNCAyLjU2OC0xLjQ2IDEuNDIzLTMuMjc2IDMuMTkzLTMuMjc2IDYuNDMyIDAgMS4xMDEuNTQgMi43MiAyLjEwMiA0aC0uMTAyYy0zLjg2OCAwLTgtMi4xMDItOC04IDAtMy4yOTQgMS4xODMtNC44MjggMi40MzYtNi40NTIgMS4wNTUtMS4zNjcgMi4xMzktMi43NzIgMi40NjUtNS4wODQuODkxLjczOSAyLjA5OSAyLjY0MiAyLjA5OSA3LjUzNmgyYzAtMi41Ni0uMzIzLTQuNDYxLS44MDMtNS44NzguMjI4LS4zNjYuNDY5LS43MTMuNzI2LTEuMDY2Ljg0Ni0xLjE1OSAxLjc5MS0yLjQ1MyAyLjAyMy00Ljg3OSAxLjQ1Ni40NTMgNC4wNTQgMi4wNjkgNC4wNTQgNy44MjNoMmMwLTEuNjMtLjE5MS0yLjk5LS41MDYtNC4xMzIuNjM3LTIuMjczIDEuNzYxLTMuMjE4IDIuNTY3LTMuNjAxLjIzOCAyLjM0NiAxLjEzNyAzLjU3IDIuMDEgNC43NTkuMjYyLjM1Ny41MDcuNzA4LjczOCAxLjA4LS40ODMgMS40MTgtLjgwOSAzLjMyNC0uODA5IDUuODk0aDJjMC00LjkwNiAxLjIxNC02LjgwNyAyLjA5OC03LjU0Mi4zMjUgMi4zMTUgMS40MTEgMy43MjIgMi40NjYgNS4wOSAxLjI1MyAxLjYyNCAyLjQzNiAzLjE1OCAyLjQzNiA2LjQ1MiAwIDUuODk4LTQuMTMyIDgtOCA4eiIvPgogICAgPC9nPgo8L3N2Zz4=",qfe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQ2NywwSDQ1QzIwLjE4NywwLDAsMjAuMTg3LDAsNDV2NDIyYzAsMjQuODEzLDIwLjE4Nyw0NSw0NSw0NWg0MjJjMjQuODEzLDAsNDUtMjAuMTg3LDQ1LTQ1VjQ1CgkJCUM1MTIsMjAuMTg3LDQ5MS44MTMsMCw0NjcsMHogTTQ4Miw0NjdjMCw4LjI3MS02LjcyOSwxNS0xNSwxNUg0NWMtOC4yNzEsMC0xNS02LjcyOS0xNS0xNVY0NWMwLTguMjcxLDYuNzI5LTE1LDE1LTE1aDQyMgoJCQljOC4yNzEsMCwxNSw2LjcyOSwxNSwxNVY0Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI1Niw4MWMtOTYuNDk1LDAtMTc1LDc4LjUwNS0xNzUsMTc1czc4LjUwNSwxNzUsMTc1LDE3NXMxNzUtNzguNTA1LDE3NS0xNzVTMzUyLjQ5NSw4MSwyNTYsODF6IE0yNTYsNDAxCgkJCWMtNzkuOTUzLDAtMTQ1LTY1LjA0Ny0xNDUtMTQ1czY1LjA0Ny0xNDUsMTQ1LTE0NXMxNDUsNjUuMDQ3LDE0NSwxNDVTMzM1Ljk1Myw0MDEsMjU2LDQwMXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTg3LDIxNmMtMjIuMDU2LDAtNDAsMTcuOTQ0LTQwLDQwYzAsMjIuMDU2LDE3Ljk0NCw0MCw0MCw0MGMyMi4wNTYsMCw0MC0xNy45NDQsNDAtNDBDMjI3LDIzMy45NDQsMjA5LjA1NiwyMTYsMTg3LDIxNnoKCQkJIE0xODcsMjY2Yy01LjUxNCwwLTEwLTQuNDg2LTEwLTEwYzAtNS41MTQsNC40ODYtMTAsMTAtMTBjNS41MTQsMCwxMCw0LjQ4NiwxMCwxMEMxOTcsMjYxLjUxNCwxOTIuNTE0LDI2NiwxODcsMjY2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMjUsMjE2Yy0yMi4wNTYsMC00MCwxNy45NDQtNDAsNDBjMCwyMi4wNTYsMTcuOTQ0LDQwLDQwLDQwYzIyLjA1NiwwLDQwLTE3Ljk0NCw0MC00MEMzNjUsMjMzLjk0NCwzNDcuMDU2LDIxNiwzMjUsMjE2egoJCQkgTTMyNSwyNjZjLTUuNTE0LDAtMTAtNC40ODYtMTAtMTBjMC01LjUxNCw0LjQ4Ni0xMCwxMC0xMGM1LjUxNCwwLDEwLDQuNDg2LDEwLDEwQzMzNSwyNjEuNTE0LDMzMC41MTQsMjY2LDMyNSwyNjZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",exe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMzYwLDBIMTIwQzk3LjkyLDAuMDI2LDgwLjAyNiwxNy45Miw4MCw0MHYzNjhjMC4wMjQsMTkuMDAxLDEzLjM4OSwzNS4zNzMsMzIsMzkuMlY0ODBoNDh2LTMyaDE2MHYzMmg0OHYtMzIuOAoJCQljMTguNjExLTMuODI3LDMxLjk3Ni0yMC4xOTksMzItMzkuMlY0MEMzOTkuOTc0LDE3LjkyLDM4Mi4wOCwwLjAyNiwzNjAsMHogTTE0NCw0NjRoLTE2di0xNmgxNlY0NjR6IE0zNTIsNDY0aC0xNnYtMTZoMTZWNDY0egoJCQkgTTM4NCw0MDhjMCwxMy4yNTUtMTAuNzQ1LDI0LTI0LDI0SDEyMGMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0VjQwYzAtMTMuMjU1LDEwLjc0NS0yNCwyNC0yNGgyNDBjMTMuMjU1LDAsMjQsMTAuNzQ1LDI0LDI0VjQwOAoJCQl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCwxNjBjLTcwLjY5MiwwLTEyOCw1Ny4zMDgtMTI4LDEyOGMwLjA4NCw3MC42NTgsNTcuMzQyLDEyNy45MTYsMTI4LDEyOGM3MC42OTIsMCwxMjgtNTcuMzA4LDEyOC0xMjgKCQkJUzMxMC42OTIsMTYwLDI0MCwxNjB6IE0yNDAsNDAwYy02MS44NTYsMC0xMTItNTAuMTQ0LTExMi0xMTJjMC4wNjYtNjEuODI4LDUwLjE3Mi0xMTEuOTM0LDExMi0xMTJjNjEuODU2LDAsMTEyLDUwLjE0NCwxMTIsMTEyCgkJCVMzMDEuODU2LDQwMCwyNDAsNDAweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNDAsMTkyYy01My4wMTksMC05Niw0Mi45ODEtOTYsOTZjMC4wNTcsNTIuOTk2LDQzLjAwNCw5NS45NDMsOTYsOTZjNTMuMDE5LDAsOTYtNDIuOTgxLDk2LTk2UzI5My4wMTksMTkyLDI0MCwxOTJ6CgkJCSBNMjQwLDM2OGMtNDQuMTgzLDAtODAtMzUuODE3LTgwLTgwYzAuMDQ5LTQ0LjE2MywzNS44MzctNzkuOTUyLDgwLTgwYzQ0LjE4MywwLDgwLDM1LjgxNyw4MCw4MEMzMjAsMzMyLjE4MywyODQuMTgzLDM2OCwyNDAsMzY4CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjQwLDMyYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2CgkJCUMyOTYsNTcuMDcyLDI3MC45MjgsMzIsMjQwLDMyeiBNMjQwLDEyOGMtMjIuMDkxLDAtNDAtMTcuOTA5LTQwLTQwYzAuMDI2LTIyLjA4LDE3LjkyLTM5Ljk3NCw0MC00MGMyMi4wOTEsMCw0MCwxNy45MDksNDAsNDAKCQkJUzI2Mi4wOTEsMTI4LDI0MCwxMjh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCw2NGMtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0czEwLjc0NSwyNCwyNCwyNHMyNC0xMC43NDUsMjQtMjRTMjUzLjI1NSw2NCwyNDAsNjR6IE0yNDAsOTZjLTQuNDE4LDAtOC0zLjU4Mi04LTgKCQkJczMuNTgyLTgsOC04czgsMy41ODIsOCw4UzI0NC40MTgsOTYsMjQwLDk2eiIvPgogICAgICAgIDxyZWN0IHg9IjExMiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPgogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPgogICAgICAgIDxyZWN0IHg9IjExMiIgeT0iNDAwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz4KICAgICAgICA8cmVjdCB4PSIzNTIiIHk9IjQwMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCwyNDhjLTIyLjA5MSwwLTQwLDE3LjkwOS00MCw0MGMwLjAyNiwyMi4wOCwxNy45MiwzOS45NzQsNDAsNDBjMjIuMDkxLDAsNDAtMTcuOTA5LDQwLTQwCgkJCUMyODAsMjY1LjkwOSwyNjIuMDkxLDI0OCwyNDAsMjQ4eiBNMjQwLDMxMmMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNHMyNCwxMC43NDUsMjQsMjRTMjUzLjI1NSwzMTIsMjQwLDMxMnoiLz4KICAgICAgICA8cGF0aCBkPSJNNDgsMjgwSDE2Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThTNTIuNDE4LDI4MCw0OCwyODB6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUzLjY1NiwyMjYuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNjktOC4yNDMtMi45ODEtMTEuMzEyLDAuMTk3Yy0yLjk5NCwzLjEtMi45OTQsOC4wMTUsMCwxMS4xMTVsMjQsMjQKCQkJYzMuMTc4LDMuMDY5LDguMjQzLDIuOTgxLDExLjMxMi0wLjE5N0M1Ni42NSwyMzQuMzU5LDU2LjY1LDIyOS40NDQsNTMuNjU2LDIyNi4zNDR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUzLjQ2LDMzOC4zNDRjLTMuMS0yLjk5NS04LjAxNi0yLjk5NS0xMS4xMTYsMGwtMjQsMjRjLTMuMTc4LDMuMDctMy4yNjYsOC4xMzQtMC4xOTYsMTEuMzEyczguMTM0LDMuMjY2LDExLjMxMiwwLjE5NgoJCQljMC4wNjctMC4wNjQsMC4xMzItMC4xMywwLjE5Ni0wLjE5NmwyNC0yNEM1Ni43MjYsMzQ2LjQ3OCw1Ni42MzgsMzQxLjQxNCw1My40NiwzMzguMzQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjQsMjgwaC0zMmMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGgzMmM0LjQxOCwwLDgtMy41ODIsOC04UzQ2OC40MTgsMjgwLDQ2NCwyODB6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ2MS40NiwyMDIuMzQ0Yy0zLjEtMi45OTQtOC4wMTUtMi45OTQtMTEuMTE2LDBsLTI0LDI0Yy0zLjEyNCwzLjEyNS0zLjEyMyw4LjE5LDAuMDAyLDExLjMxNAoJCQljMS41LDEuNDk5LDMuNTM0LDIuMzQyLDUuNjU0LDIuMzQyYzIuMTIyLDAsNC4xNTYtMC44NDQsNS42NTYtMi4zNDRsMjQtMjRDNDY0LjcyNiwyMTAuNDc4LDQ2NC42MzgsMjA1LjQxNCw0NjEuNDYsMjAyLjM0NHoiLz4KICAgICAgICA8cGF0aCBkPSJNNDYxLjY1NiwzNjIuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNy04LjI0Mi0yLjk4Mi0xMS4zMTIsMC4xOTZjLTIuOTk1LDMuMS0yLjk5NSw4LjAxNiwwLDExLjExNmwyNCwyNAoJCQljMy4xNzgsMy4wNyw4LjI0MiwyLjk4MiwxMS4zMTItMC4xOTZDNDY0LjY1MSwzNzAuMzYsNDY0LjY1MSwzNjUuNDQ0LDQ2MS42NTYsMzYyLjM0NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",txe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTEyIDU2LjE2NDA2MmMwLTEyLjc5Njg3NC0xMC40MDYyNS0yMy4yMDMxMjQtMjMuMjAzMTI1LTIzLjIwMzEyNGgtNDkuOTY4NzV2LTE1LjA0Njg3NmMwLTkuODc4OTA2LTguMDM1MTU2LTE3LjkxNDA2Mi0xNy45MTQwNjMtMTcuOTE0MDYyaC0xMDMuMDg5ODQzYy05Ljg3ODkwNyAwLTE3LjkxNDA2MyA4LjAzOTA2Mi0xNy45MTQwNjMgMTcuOTE0MDYydjE1LjA0Njg3NmgtODcuODE2NDA2di0xNS4wNDY4NzZjMC05Ljg3ODkwNi04LjAzOTA2Mi0xNy45MTQwNjItMTcuOTE3OTY5LTE3LjkxNDA2MmgtMTAzLjA4OTg0M2MtOS44Nzg5MDcgMC0xNy45MTQwNjMgOC4wMzkwNjItMTcuOTE0MDYzIDE3LjkxNDA2MnYxNS4wNDY4NzZoLTQ5Ljk2ODc1Yy0xMi43OTY4NzUgMC0yMy4yMDMxMjUgMTAuNDA2MjUtMjMuMjAzMTI1IDIzLjIwMzEyNHY0OS41YzAgNi4wNTA3ODIgMi4zMjgxMjUgMTEuNTYyNSA2LjEzNjcxOSAxNS42OTkyMTktMy44MDg1OTQgNC4xMzI4MTMtNi4xMzY3MTkgOS42NDg0MzgtNi4xMzY3MTkgMTUuNjk5MjE5djMwNS44MDg1OTRjMCAxMi43OTI5NjggMTAuNDA2MjUgMjMuMjAzMTI1IDIzLjIwMzEyNSAyMy4yMDMxMjVoMi4zNzg5MDZ2MjIuNDUzMTI1YzAgMTIuNzgxMjUgMTAuMzk4NDM4IDIzLjE3NTc4MSAyMy4xNzk2ODggMjMuMTc1NzgxaDIzMi42MTcxODdjNC4xNDQ1MzIgMCA3LjUwMzkwNi0zLjM1OTM3NSA3LjUwMzkwNi03LjUgMC00LjE0NDUzMS0zLjM1OTM3NC03LjUwMzkwNi03LjUwMzkwNi03LjUwMzkwNmgtMjMyLjYxNzE4N2MtNC41MDc4MTMgMC04LjE3MTg3NS0zLjY2Nzk2OS04LjE3MTg3NS04LjE3MTg3NXYtMjIuNDUzMTI1aDQzMC44MjAzMTJ2MjIuNDUzMTI1YzAgNC41MDc4MTItMy42NjQwNjIgOC4xNzE4NzUtOC4xNzE4NzUgOC4xNzE4NzVoLTE0Ny4xMjVjLTQuMTQ4NDM3IDAtNy41MDM5MDYgMy4zNTkzNzUtNy41MDM5MDYgNy41MDM5MDYgMCA0LjE0MDYyNSAzLjM1NTQ2OSA3LjUgNy41MDM5MDYgNy41aDE0Ny4xMjVjMTIuNzgxMjUgMCAyMy4xNzk2ODgtMTAuMzk0NTMxIDIzLjE3OTY4OC0yMy4xNzU3ODF2LTIyLjQ1MzEyNWgyLjM3ODkwNmMxMi43OTI5NjkgMCAyMy4yMDMxMjUtMTAuNDEwMTU3IDIzLjIwMzEyNS0yMy4yMDMxMjV2LTMwNS44MDg1OTRjMC02LjA1MDc4MS0yLjMzMjAzMS0xMS41NjY0MDYtNi4xMzY3MTktMTUuNjk5MjE5IDMuODA0Njg4LTQuMTM2NzE5IDYuMTM2NzE5LTkuNjQ4NDM3IDYuMTM2NzE5LTE1LjY5OTIxOXptLTE5Ny4wODU5MzgtMzguMjVjMC0xLjYwNTQ2OCAxLjMwNDY4OC0yLjkwNjI1IDIuOTEwMTU3LTIuOTA2MjVoMTAzLjA4OTg0M2MxLjYwNTQ2OSAwIDIuOTEwMTU3IDEuMzA0Njg4IDIuOTEwMTU3IDIuOTA2MjV2MTUuMDQ2ODc2aC0xMDguOTEwMTU3em0tMjI2LjczODI4MSAwYzAtMS42MDU0NjggMS4zMDQ2ODgtMi45MDYyNSAyLjkxMDE1Ny0yLjkwNjI1aDEwMy4wODk4NDNjMS42MDU0NjkgMCAyLjkxMDE1NyAxLjMwNDY4OCAyLjkxMDE1NyAyLjkwNjI1djE1LjA0Njg3NmgtMTA4LjkxMDE1N3ptNDA4LjgxNjQwNyA0MjQuOTU3MDMyYzAgNC41MTk1MzEtMy42NzU3ODIgOC4xOTkyMTgtOC4xOTUzMTMgOC4xOTkyMThoLTQ2NS41OTM3NWMtNC41MTk1MzEgMC04LjE5NTMxMy0zLjY3OTY4Ny04LjE5NTMxMy04LjE5OTIxOHYtMzA1LjgwODU5NGMwLTQuNTE5NTMxIDMuNjc1NzgyLTguMTk5MjE5IDguMTk1MzEzLTguMTk5MjE5aDQ2NS41OTM3NWM0LjUyMzQzNyAwIDguMTk1MzEzIDMuNjc5Njg4IDguMTk1MzEzIDguMTk5MjE5em0wLTMzNy4yMDcwMzJjMCA0LjUxOTUzMi0zLjY3NTc4MiA4LjE5NTMxMy04LjE5NTMxMyA4LjE5NTMxM2gtNDY1LjU5Mzc1Yy00LjUxOTUzMSAwLTguMTk1MzEzLTMuNjc1NzgxLTguMTk1MzEzLTguMTk1MzEzdi00OS41YzAtNC41MjM0MzcgMy42NzU3ODItOC4xOTkyMTggOC4xOTUzMTMtOC4xOTkyMThoNDY1LjU5Mzc1YzQuNTE5NTMxIDAgOC4xOTUzMTMgMy42NzU3ODEgOC4xOTUzMTMgOC4xOTkyMTh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDYuMDk3NjU2IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE4IDExLjU1NDY4Ny0yNS43NjE3MTggMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzYxNzE4IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU4NTk0LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg4IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOCAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3OS4xNjc5NjkgNTUuMTUyMzQ0Yy0xNC4yMDcwMzEgMC0yNS43NjE3MTkgMTEuNTU0Njg3LTI1Ljc2MTcxOSAyNS43NTc4MTIgMCAxNC4yMDcwMzIgMTEuNTU0Njg4IDI1Ljc2MTcxOSAyNS43NjE3MTkgMjUuNzYxNzE5IDE0LjIwMzEyNSAwIDI1Ljc1NzgxMi0xMS41NTQ2ODcgMjUuNzU3ODEyLTI1Ljc2MTcxOSAwLTE0LjIwMzEyNS0xMS41NTQ2ODctMjUuNzU3ODEyLTI1Ljc1NzgxMi0yNS43NTc4MTJ6bTAgMzYuNTE1NjI1Yy01LjkzMzU5NCAwLTEwLjc1NzgxMy00LjgyNDIxOS0xMC43NTc4MTMtMTAuNzUzOTA3IDAtNS45Mjk2ODcgNC44MjQyMTktMTAuNzU3ODEyIDEwLjc1NzgxMy0xMC43NTc4MTIgNS45Mjk2ODcgMCAxMC43NTM5MDYgNC44MjgxMjUgMTAuNzUzOTA2IDEwLjc1NzgxMiAwIDUuOTI5Njg4LTQuODI0MjE5IDEwLjc1MzkwNy0xMC43NTM5MDYgMTAuNzUzOTA3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzMyLjgzMjAzMSA1NS4xNTIzNDRjLTE0LjIwMzEyNSAwLTI1Ljc1NzgxMiAxMS41NTQ2ODctMjUuNzU3ODEyIDI1Ljc1NzgxMiAwIDE0LjIwNzAzMiAxMS41NTQ2ODcgMjUuNzYxNzE5IDI1Ljc1NzgxMiAyNS43NjE3MTkgMTQuMjA3MDMxIDAgMjUuNzYxNzE5LTExLjU1NDY4NyAyNS43NjE3MTktMjUuNzYxNzE5IDAtMTQuMjAzMTI1LTExLjU1NDY4OC0yNS43NTc4MTItMjUuNzYxNzE5LTI1Ljc1NzgxMnptMCAzNi41MTU2MjVjLTUuOTI5Njg3IDAtMTAuNzUzOTA2LTQuODI0MjE5LTEwLjc1MzkwNi0xMC43NTM5MDcgMC01LjkyOTY4NyA0LjgyNDIxOS0xMC43NTc4MTIgMTAuNzUzOTA2LTEwLjc1NzgxMiA1LjkzMzU5NCAwIDEwLjc1NzgxMyA0LjgyODEyNSAxMC43NTc4MTMgMTAuNzU3ODEyIDAgNS45Mjk2ODgtNC44MjQyMTkgMTAuNzUzOTA3LTEwLjc1NzgxMyAxMC43NTM5MDd6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDUuOTAyMzQ0IDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1ODU5NCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTgtMTEuNTU0Njg3IDI1Ljc2MTcxOC0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NjE3MTgtMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODggMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE4LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzNC43NDIxODggMTcxLjkzNzVoLTIxOC4xNDg0MzhjLTQuMTQ0NTMxIDAtNy41MDM5MDYgMy4zNTkzNzUtNy41MDM5MDYgNy41IDAgNC4xNDQ1MzEgMy4zNTkzNzUgNy41MDM5MDYgNy41MDM5MDYgNy41MDM5MDZoMjE4LjE0ODQzOGMxLjQzNzUgMCAyLjYwNTQ2OCAxLjE3MTg3NSAyLjYwNTQ2OCAyLjYwOTM3NXYxOS44NTE1NjNjMCAxLjQzNzUtMS4xNjc5NjggMi42MDkzNzUtMi42MDU0NjggMi42MDkzNzVoLTM1Ny40ODQzNzZjLTEuNDM3NSAwLTIuNjA1NDY4LTEuMTcxODc1LTIuNjA1NDY4LTIuNjA5Mzc1di0xOS44NTE1NjNjMC0xLjQzNzUgMS4xNjc5NjgtMi42MDkzNzUgMi42MDU0NjgtMi42MDkzNzVoMTA0LjI2OTUzMmM0LjE0NDUzMSAwIDcuNTAzOTA2LTMuMzU5Mzc1IDcuNTAzOTA2LTcuNTAzOTA2IDAtNC4xNDA2MjUtMy4zNTkzNzUtNy41LTcuNTAzOTA2LTcuNWgtMTA0LjI2OTUzMmMtOS43MTA5MzcgMC0xNy42MDkzNzQgNy44OTg0MzgtMTcuNjA5Mzc0IDE3LjYxMzI4MXYxOS44NTE1NjNjMCA5LjcxMDkzNyA3Ljg5ODQzNyAxNy42MTMyODEgMTcuNjA5Mzc0IDE3LjYxMzI4MWgxMC4wMzUxNTd2MTY2LjQ2NDg0NGMwIDE0LjI3NzM0MyAxMS42MTcxODcgMjUuODk0NTMxIDI1Ljg5NDUzMSAyNS44OTQ1MzFoMjg1LjYyNWMxNC4yNzczNDQgMCAyNS44OTQ1MzEtMTEuNjE3MTg4IDI1Ljg5NDUzMS0yNS44OTQ1MzF2LTE2Ni40NjQ4NDRoMTAuMDM1MTU3YzkuNzEwOTM3IDAgMTcuNjEzMjgxLTcuODk4NDM3IDE3LjYxMzI4MS0xNy42MTMyODF2LTE5Ljg1MTU2M2MwLTkuNzEwOTM3LTcuOTAyMzQ0LTE3LjYxMzI4MS0xNy42MTMyODEtMTcuNjEzMjgxem0tMjUuMDQyOTY5IDIyMS41NDI5NjljMCA2LjAwMzkwNi00Ljg4MjgxMyAxMC44ODY3MTktMTAuODg2NzE5IDEwLjg4NjcxOWgtMjg1LjYyNWMtNi4wMDM5MDYgMC0xMC44OTA2MjUtNC44ODI4MTMtMTAuODkwNjI1LTEwLjg4NjcxOXYtMTY2LjQ2NDg0NGgzMDcuNDAyMzQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyLjU0Mjk2OSAyOTQuODU5Mzc1YzIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNiA1LjUyMzQzNy0yLjQyMTg3NWwyMy4wMTE3MTktMjUuMDE1NjI1YzIuODA4NTk0LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDYtMTAuNjAxNTYzLTMuMDUwNzgxLTIuODA0Njg3LTcuNzkyOTY5LTIuNjA5Mzc0LTEwLjYwMTU2My40NDE0MDdsLTIzLjAxMTcxOCAyNS4wMTU2MjVjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA5Mzc2IDcuNzkyOTY4LjQ0MTQwNiAxMC42MDE1NjIgMS40NDE0MDYgMS4zMjQyMTkgMy4yNjE3MTggMS45ODA0NjkgNS4wNzgxMjUgMS45ODA0Njl6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNTQuMTg3NSAzMjQuMTM2NzE5YzEuNDQxNDA2IDEuMzI4MTI1IDMuMjYxNzE5IDEuOTgwNDY5IDUuMDc4MTI1IDEuOTgwNDY5IDIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNyA1LjUyMzQzNy0yLjQyMTg3Nmw0Ny4zMTY0MDctNTEuNDI5Njg3YzIuODA0Njg3LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDctMTAuNjA1NDY5LTMuMDUwNzgxLTIuODA0Njg3LTcuNzk2ODc0LTIuNjA1NDY4LTEwLjYwMTU2Mi40NDE0MDZsLTQ3LjMxNjQwNiA1MS40MzM1OTRjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA1NDY5IDcuNzk2ODc1LjQ0MTQwNiAxMC42MDE1NjN6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",sxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMjIuMjUgMTcuMjY2aC0xMTYuNWE1Ljc1NiA1Ljc1NiAwIDAgMCAtNS43NSA1Ljc1djY3Ljk5NGE1Ljc1NyA1Ljc1NyAwIDAgMCA1Ljc1IDUuNzVoOS44ODNsLTMuMDY4IDQuNDRhNi4wNzkgNi4wNzkgMCAwIDAgMTAgNi45MTJsNy44NDctMTEuMzUyaDY3LjE3Nmw3Ljg0NCAxMS4zNTFhNi4wNzkgNi4wNzkgMCAwIDAgMTAtNi45MTJsLTMuMDY4LTQuNDM5aDkuODgzYTUuNzU3IDUuNzU3IDAgMCAwIDUuNzUzLTUuNzV2LTY3Ljk5NGE1Ljc1NiA1Ljc1NiAwIDAgMCAtNS43NS01Ljc1em0tMTAyLjU2MSA4OC44NTZhMi41ODIgMi41ODIgMCAwIDEgLTIuMTIyIDEuMTEyIDIuNTggMi41OCAwIDAgMSAtMi4xMjMtNC4wNDZsNC40NDMtNi40MjhoNi4yNzF6bTkyLjg2Ny0yLjkzNGEyLjU4IDIuNTggMCAwIDEgLTIuMTIzIDQuMDQ2IDIuNTg1IDIuNTg1IDAgMCAxIC0yLjEyMy0xLjExMmwtNi40NjgtOS4zNjJoNi4yNzF6bTExLjk0NC0xMi4xNzhhMi4yNTMgMi4yNTMgMCAwIDEgLTIuMjUgMi4yNWgtMTE2LjVhMi4yNTMgMi4yNTMgMCAwIDEgLTIuMjUtMi4yNXYtNjcuOTk0YTIuMjUzIDIuMjUzIDAgMCAxIDIuMjUtMi4yNWgxMTYuNWEyLjI1MyAyLjI1MyAwIDAgMSAyLjI1IDIuMjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExOC4yNSAyNS4yNjZoLTEwOC41YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1IDEuNzV2NTkuOTk0YTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzVoMTA4LjVhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtNTkuOTk0YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1LTEuNzV6bS0xLjc1IDU5Ljk5NGgtMTA1di01Ni40OTRoMTA1eiIvPgogICAgICAgIDxwYXRoIGQ9Im00MS4zNzUgNDcuOTIyaDcuM3YxOS45MzJhMS43NSAxLjc1IDAgMCAwIDMuNSAwdi0xOS45MzJoNy4zYTEuNzUgMS43NSAwIDAgMCAwLTMuNWgtMTguMWExLjc1IDEuNzUgMCAwIDAgMCAzLjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTc1Ljk2MyA2OC41MjdhMS43NDkgMS43NDkgMCAwIDAgMy4yMyAwbDkuMDQ3LTIxLjY4MWExLjc1IDEuNzUgMCAxIDAgLTMuMjMtMS4zNDZsLTcuNDMyIDE3LjgwOS03LjQzMi0xNy44MDlhMS43NSAxLjc1IDAgMSAwIC0zLjIzIDEuMzQ4eiIvPgogICAgPC9nPgo8L3N2Zz4=",ixe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTksMkg1QTMsMywwLDAsMCwyLDVWNTlhMywzLDAsMCwwLDMsM0g1OWEzLDMsMCwwLDAsMy0zVjVBMywzLDAsMCwwLDU5LDJabTEsNTdhMSwxLDAsMCwxLTEsMUg1YTEsMSwwLDAsMS0xLTFWNUExLDEsMCwwLDEsNSw0SDU5YTEsMSwwLDAsMSwxLDFaIi8+CiAgICAgICAgPHBhdGggZD0iTTMyLDZBMjYsMjYsMCwxLDAsNTgsMzIsMjYuMDI5LDI2LjAyOSwwLDAsMCwzMiw2Wm0wLDUwQTI0LDI0LDAsMSwxLDU2LDMyLDI0LjAyOCwyNC4wMjgsMCwwLDEsMzIsNTZaIi8+CiAgICAgICAgPHBhdGggZD0iTTMyLDEwQTIyLDIyLDAsMSwwLDU0LDMyLDIyLjAyNSwyMi4wMjUsMCwwLDAsMzIsMTBabTEwLjE3NSw0LjgxM2MyLjQ2OSw5LjU1LTMuNjEzLDEyLjktNi40MjgsMTMuOTExYTUsNSwwLDAsMC0xLjY1LTEuMjQ3LDExLjM3NCwxMS4zNzQsMCwwLDAsMy4zMTEtNi43OTRjLjI0OS0yLjg0NS0uNzktNS43MDYtMy4wNS04LjUzMUExOS44MjQsMTkuODI0LDAsMCwxLDQyLjE3NSwxNC44MTNaTTM1LDMyYTMsMywwLDEsMS0zLTNBMywzLDAsMCwxLDM1LDMyWk0zMS41ODYsMTIuMDIxYzIuNzY3LDIuODczLDQuMDY2LDUuNzIyLDMuODMxLDguNDdhMTAuMSwxMC4xLDAsMCwxLTMuNzg0LDYuNTMsMTkuNjUyLDE5LjY1MiwwLDAsMC05LjU4NS0xMi4zNDRBMTkuODM4LDE5LjgzOCwwLDAsMSwzMS41ODYsMTIuMDIxWk0yMC4xMiwxNS45NDhhMTcuNjU3LDE3LjY1NywwLDAsMSw5LjU5MiwxMS42MzMsNC45NTEsNC45NTEsMCwwLDAtLjk1Ny42NDcsMTguODg2LDE4Ljg4NiwwLDAsMC0xNC4zMzgtNS43NTJBMjAuMTI2LDIwLjEyNiwwLDAsMSwyMC4xMiwxNS45NDhaTTEyLDMyYTE5Ljg3LDE5Ljg3LDAsMCwxLDEuNDQyLTcuNDE2QTE2LjM4NSwxNi4zODUsMCwwLDEsMjUuODE2LDI4LjI2YTEzLjc5LDEzLjc5LDAsMCwwLTguMDY0LDEuMjkxQTEyLjY0NCwxMi42NDQsMCwwLDAsMTIuMzExLDM1LjQsMTkuOTEzLDE5LjkxMywwLDAsMSwxMiwzMlptMS4xNjQsNi42NmMxLjEzLTMuNTI5LDIuOTgyLTYsNS41Mi03LjM0YTEyLjY0MywxMi42NDMsMCwwLDEsOC41NjEtLjc4N0E0LjkxOSw0LjkxOSwwLDAsMCwyNywzMmMwLC4xMDkuMDI1LjIxMS4wMzIuMzE4LTIuMDA4LjkxNS03Ljk2MSw0LjQyLTguOSwxNC4wNjNBMjAuMDM0LDIwLjAzNCwwLDAsMSwxMy4xNjQsMzguNjZabTYuODc4LDkuMzMzYy4zNjQtOS4yNzksNS41NjMtMTIuNzQzLDcuNTMxLTEzLjcxOWE1LDUsMCwwLDAsMS4wNjUsMS40Yy0uOTU4LDIuNjA5LTIuODUzLDkuNzkxLDIuMTA4LDE2LjI2MUExOS44NTYsMTkuODU2LDAsMCwxLDIwLjA0Miw0Ny45OTNaTTMzLjM4MSw1MS45M2MtNS40LTUuNzMzLTMuOTItMTIuNDk1LTIuOTg4LTE1LjIxOUE0LjkyOSw0LjkyOSwwLDAsMCwzMiwzN2MuMDgxLDAsLjE1Ni0uMDIuMjM1LS4wMjQuNiwzLjA0OSwyLjgyOSw5LjIyMywxMS4xMTEsMTEuNDc1QTE5Ljg1NiwxOS44NTYsMCwwLDEsMzMuMzgxLDUxLjkzWm0xMS45NjYtNS4wNzhjLTguNDQxLTEuNjE3LTEwLjYyMy03LjI5Mi0xMS4xNzQtMTAuMzdhNS4wMDYsNS4wMDYsMCwwLDAsMS4wODQtLjcxOWMxLjg2OCwxLjksNi4yMTUsNS42MzMsMTEuNTIyLDUuNjMzYTExLjIwOCwxMS4yMDgsMCwwLDAsMy4wODUtLjQ1NUEyMC4wNjksMjAuMDY5LDAsMCwxLDQ1LjM0Nyw0Ni44NTJaTTUyLDMyYTE5LjksMTkuOSwwLDAsMS0xLjA3NCw2LjQxNGMtNi41MDcsMy4xMi0xMi40NjItMi4xODQtMTQuNDM4LTQuMjUxYTQuOTI3LDQuOTI3LDAsMCwwLC4zNjktMS4wMjUsMTYuNiwxNi42LDAsMCwwLDEuNzg5LjA5NCwxOC4zMjgsMTguMzI4LDAsMCwwLDEyLjkyNi01LjMzOUEyMCwyMCwwLDAsMSw1MiwzMlptLTE1LjA4OC0uODY4YTQuNzQ1LDQuNzQ1LDAsMCwwLS4xNzMtLjY1YzIuOTI2LTEuMTU1LDkuMjM0LTQuNzY2LDcuODE3LTE0LjAyOGEyMC4wNTcsMjAuMDU3LDAsMCwxLDYuMzk0LDkuMkExNi4zNDQsMTYuMzQ0LDAsMCwxLDM2LjkxMiwzMS4xMzJaIi8+CiAgICAgICAgPHBhdGggZD0iTTksMTJBMywzLDAsMSwwLDYsOSwzLDMsMCwwLDAsOSwxMlpNOSw4QTEsMSwwLDEsMSw4LDksMSwxLDAsMCwxLDksOFoiLz4KICAgICAgICA8cGF0aCBkPSJNNTUsNmEzLDMsMCwxLDAsMywzQTMsMywwLDAsMCw1NSw2Wm0wLDRhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsNTUsMTBaIi8+CiAgICAgICAgPHBhdGggZD0iTTEyLDU1YTMsMywwLDAsMC0zLTMsMi45NjYsMi45NjYsMCwwLDAtMSwuMTg0VjQ1SDZWNTVhMywzLDAsMCwwLDMsM2g2VjU2SDExLjgxNkEyLjk2NiwyLjk2NiwwLDAsMCwxMiw1NVpNOSw1NmExLDEsMCwxLDEsMS0xQTEsMSwwLDAsMSw5LDU2WiIvPgogICAgICAgIDxwYXRoIGQ9Ik01Niw1Mi4xODRBMi45NjYsMi45NjYsMCwwLDAsNTUsNTJhMywzLDAsMCwwLTMsMywyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDV2Mkg1NWEzLDMsMCwwLDAsMy0zVjQ5SDU2Wk01NSw1NmExLDEsMCwxLDEsMS0xQTEsMSwwLDAsMSw1NSw1NloiLz4KICAgICAgICA8cmVjdCB4PSIxNyIgeT0iNTYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgIDwvZz4KPC9zdmc+Cg==",rxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQyOC42MDcgNDI4LjYwNyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00MjMuNzczLDM0My44NzFMNDIzLjc3MywzNDMuODcxYy02LjYxNy00LjU5OS0xMi40NC0xMC4yNDYtMTcuMjQxLTE2LjcxOGMtMTEuNDk0LTEzLjA2MS0yNi4xMjItMjkuMjU3LTUzLjI5LTI5LjI1NwoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUKCQkJCWMtMTAuOTcxLTEyLjUzOS0yNS42LTI5Ljc4LTUzLjI5LTI5Ljc4Yy0yNy42OSwwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhjLTEyLjAxNiwxNC4xMDYtMTkuODUzLDIyLjQ2NS0zNy42MTYsMjIuNDY1CgkJCQlzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1Yy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyCgkJCQljLTIuNTk3LDUuMTk0LTAuNDkyLDExLjUwOSw0LjcwMiwxNC4xMDZjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgKCQkJCXM0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1czI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1CgkJCQljMTAuOTcxLDEyLjUzOSwyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4YzI3LjY5LDAsNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUKCQkJCUM0MzAuMDgyLDM1My41OTQsNDI4LjY3OSwzNDcuMDQ1LDQyMy43NzMsMzQzLjg3MXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDIzLjc3MywyNjUuNTAzTDQyMy43NzMsMjY1LjUwM2MtNi42MTctNC41OTktMTIuNDQtMTAuMjQ2LTE3LjI0MS0xNi43MThjLTExLjQ5NC0xMy4wNjEtMjYuMTIyLTI5LjI1Ny01My4yOS0yOS4yNTcKCQkJCWMtMjcuMTY3LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1CgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQoJCQkJcy0yNi42NDUtOS45MjctMzcuNjE2LTIyLjQ2NWMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMgoJCQkJcy0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzEwLjk3MSwxMi41MzksMjUuNiwyOS43OCw1My4yOSwyOS43OGMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjUKCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NWM0LjkwNSwzLjE3NCwxMS40NTUsMS43NzEsMTQuNjI5LTMuMTM1CgkJCQlDNDMwLjA4MiwyNzUuMjI3LDQyOC42NzksMjY4LjY3Nyw0MjMuNzczLDI2NS41MDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQyMy43NzMsMTgxLjkxMUw0MjMuNzczLDE4MS45MTFjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3CgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhzLTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVzLTI1LjYtMjkuNzgtNTMuMjktMjkuNzgKCQkJCWMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUKCQkJCWMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMmMtMi41OTcsNS4xOTQtMC40OTIsMTEuNTA5LDQuNzAyLDE0LjEwNgoJCQkJYzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4czQxLjI3My0xNS42NzMsNTMuMjktMjkuNzgKCQkJCWMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NXMyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQljMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4czE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUKCQkJCUM0MzAuMDgyLDE5MS42MzUsNDI4LjY3OSwxODUuMDg1LDQyMy43NzMsMTgxLjkxMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNS44MTQsODIuMTI0YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzEwLjk3MSwxMi41MzksMjUuNiwyOS43OCw1My4yOSwyOS43OGMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjUKCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NmM0LjkwNSwzLjE3NCwxMS40NTUsMS43NywxNC42MjktMy4xMzUKCQkJCWMzLjE3NC00LjkwNSwxLjc3MS0xMS40NTUtMy4xMzUtMTQuNjI5aDBjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3CgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhjLTEyLjAxNiwxNC4xMDYtMTkuODUzLDIyLjQ2NS0zNy42MTYsMjIuNDY1cy0yNi42NDUtOS45MjctMzcuNjE2LTIyLjQ2NQoJCQkJYy0xMC45NzEtMTIuNTM5LTI1LjYtMjkuNzgtNTMuMjktMjkuNzhjLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjUKCQkJCVM1My44OCw5OS44ODcsNDIuOTA4LDg3LjM0OGMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMgoJCQkJUzAuNjIxLDc5LjUyNyw1LjgxNCw4Mi4xMjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",oxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwOCA1MDgiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cmVjdCB4PSIxMzkuMyIgd2lkdGg9IjE2LjQiIGhlaWdodD0iMzguMiIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTA0LjEsMjEuNCA4OC45LDI3LjcgOTgsNDkuOCAxMTMuMiw0My41IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNy41LDg5LjQgMjEuMywxMDQuNiA0My4zLDExMy43IDQ5LjUsOTguNSAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTkwLjksMjEuNCAxODEuOCw0My41IDE5Ni45LDQ5LjggMjA2LDI3LjcgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQzLjMsMTgyLjcgMjEuMywxOTEuOCAyNy41LDIwNyA0OS41LDE5Ny45IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNjcuNCw4OS40IDI0NS40LDk4LjUgMjUxLjcsMTEzLjcgMjczLjcsMTA0LjYgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjI0NiwzNy42IDIxOS4xLDY0LjYgMjMwLjcsNzYuMyAyNTcuNiw0OS4yIAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2NC4zLDIyMC4xIDM3LjQsMjQ3LjEgNDksMjU4LjggNzUuOSwyMzEuNyAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTQuMywxNDAgMCwxNDAgMCwxNTYuNCAxNC4zLDE1Ni40IDM4LjEsMTU2LjQgMzguMSwxNDAgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjU5LjEsNDcuNyA0OSwzNy42IDM3LjQsNDkuMiA2NC4zLDc2LjMgNzUuOSw2NC42IAkJIi8+CiAgICAgICAgPHBhdGggZD0iTTMxOS41LDE3Mi45djE2LjVjNDkuNywwLDkwLjEsNDAuNiw5MC4xLDkwLjZINDI2QzQyNi4xLDIyMC45LDM3OC4zLDE3Mi45LDMxOS41LDE3Mi45eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjYuMSwyOTUuNWMwLjYtNS42LDAuOS0xMC42LDAuOS0xNS42YzAtODEuNy02Ni4yLTE0OC4yLTE0Ny41LTE0OC4yYy0yOC40LDAtNTUuNSw4LjItNzguNywyM2MwLjItMi4yLDAuNS00LjMsMC41LTYuNQoJCQljMC01Mi00Mi4xLTk0LjMtOTMuOC05NC4zcy05My44LDQyLjMtOTMuOCw5NC4zYzAsMzAuNiwxNC45LDU5LjEsMzkuNSw3Ni43Yy0xNS40LDE3LjItMjUuNSwzOS4zLTI3LjMsNjMuNwoJCQljLTM3LDQtNjUuOCwzNS41LTY1LjgsNzMuN2MwLDQwLjksMzMuMSw3NC4xLDczLjcsNzQuMWgzNjAuNWM0MC43LDAsNzMuNy0zMy4yLDczLjctNzQuMUM1MDgsMzMzLjcsNDkxLjQsMzA3LjcsNDY2LjEsMjk1LjV6CgkJCSBNNzAsMTQ4LjJjMC00Mi45LDM0LjctNzcuOCw3Ny40LTc3LjhjNDIuNywwLDc3LjQsMzQuOSw3Ny40LDc3LjhjMCw2LjktMC45LDEzLjktMi43LDIwLjZjLTguMyw3LjQtMTUuNywxNS41LTIyLjEsMjQuNAoJCQljLTMzLjEtOS4xLTY4LjctMS4zLTk0LjksMjAuMUM4My4zLDE5OSw3MCwxNzQuNSw3MCwxNDguMnogTTQzNC4zLDQxOS45SDczLjdjLTMxLjYsMC01Ny40LTI1LjktNTcuNC01Ny42CgkJCWMwLTMxLjgsMjUuNy01Ny42LDU3LjQtNTcuNmg4LjJ2LTguMmMwLTQ5LjksNDAuNC05MC42LDkwLjEtOTAuNmMxNC40LDAsMzQuNyw2LjgsMzQuNyw2LjhzMzguNy02NC40LDExMi44LTY0LjQKCQkJYzcyLjMsMCwxMzEuMSw1OS4xLDEzMS4xLDEzMS43YzAsMTMuOS0yLjYsMjYuMS0yLjYsMjYuMWw2LjIsMi4zYzIyLjMsOC40LDM3LjMsMzAuMSwzNy4zLDUzLjkKCQkJQzQ5MS42LDM5NCw0NjUuOSw0MTkuOSw0MzQuMyw0MTkuOXoiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9Ijg4LjQsNDU1LjIgNDcuNSw0OTYuNCA1OS4xLDUwOCAxMDAsNDY2LjggCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE3OC42LDQ1NS4yIDEzNy42LDQ5Ni40IDE0OS4yLDUwOCAxOTAuMSw0NjYuOCAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjY4LjcsNDU1LjIgMjI3LjcsNDk2LjQgMjM5LjMsNTA4IDI4MC4zLDQ2Ni44IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIzNTguOCw0NTUuMiAzMTcuOSw0OTYuNCAzMjkuNCw1MDggMzcwLjQsNDY2LjggCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQ0OC45LDQ1NS4yIDQwOCw0OTYuNCA0MTkuNiw1MDggNDYwLjUsNDY2LjggCQkiLz4KICAgIDwvZz4KPC9zdmc+Cg==",nxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjEgNTVoLTV2LTQ0YTMuMDA5IDMuMDA5IDAgMCAwIDMtM3YtNWExIDEgMCAwIDAgLTEtMWgtNTJhMSAxIDAgMCAwIC0xIDF2NWEzLjAwOSAzLjAwOSAwIDAgMCAzIDN2NDRoLTVhMSAxIDAgMCAwIC0xIDF2NWExIDEgMCAwIDAgMSAxaDU4YTEgMSAwIDAgMCAxLTF2LTVhMSAxIDAgMCAwIC0xLTF6bS01NC00N3YtNGg1MHY0YTEgMSAwIDAgMSAtMSAxaC00OGExIDEgMCAwIDEgLTEtMXptNDcgM3Y0NGgtNDR2LTQ0em02IDQ5aC01NnYtM2g1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTIgMTJoLTQwYTEgMSAwIDAgMCAtMSAxdjQwYTEgMSAwIDAgMCAxIDFoNDBhMSAxIDAgMCAwIDEtMXYtNDBhMSAxIDAgMCAwIC0xLTF6bS0yMSA0MGgtMTh2LTE5aDE4em0wLTIxaC0xOHYtMTdoMTh6bTIwIDIxaC0xOHYtMTloMTh6bTAtMjFoLTE4di0xN2gxOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTUuMTcyIDE4aDUuNjU3djJoLTUuNjU3eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcwNyAtLjcwNyAuNzA3IC43MDcgLTguMTYzIDE4LjI5MykiLz4KICAgICAgICA8cGF0aCBkPSJtMTQuMTM2IDIwLjVoMTIuNzI4djJoLTEyLjcyOHoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC05LjE5OCAyMC43OTMpIi8+CiAgICA8L2c+Cjwvc3ZnPg==",axe={"Alarm Systems":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSItMzEgMCA1MTEgNTExLjk5OTk4IiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yMzUuMzI4MTI1IDExOS4xNjc5NjljMjAuODM5ODQ0IDguMDU4NTkzIDM1LjY0NDUzMSAyMS4xNDg0MzcgNDQuNjMyODEzIDQxLjUwMzkwNiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzEuNjg3NSAxMjguNTg1OTM4YzE4Ljk4MDQ2OSA3LjMzOTg0MyAzMS4zODI4MTIgMTguODMyMDMxIDM5LjAzNTE1NiAzNi4xNjQwNjIgMS42Njc5NjkgMy43NzM0MzggNS4zNjMyODIgNi4wMjM0MzggOS4yNDIxODggNi4wMjM0MzggMS4zNjMyODEgMCAyLjc0NjA5NC0uMjc3MzQ0IDQuMDcwMzEyLS44NjMyODIgNS4xMDU0NjktMi4yNTM5MDYgNy40MTQwNjMtOC4yMTQ4NDQgNS4xNjAxNTYtMTMuMzE2NDA2LTkuODIwMzEyLTIyLjI1LTI2LjI1LTM3LjU3NDIxOS01MC4yMjY1NjItNDYuODQzNzUtNS4xOTkyMTktMi4wMTE3MTktMTEuMDQ2ODc1LjU3NDIxOS0xMy4wNTg1OTQgNS43NzczNDQtMi4wMTE3MTggNS4yMDMxMjUuNTc4MTI1IDExLjA0Njg3NSA1Ljc3NzM0NCAxMy4wNTg1OTR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDcuMTA1NDY5IDIzNy44MTI1YzIwLjA4OTg0MyAwIDM2LjQzNzUtMTYuMzQzNzUgMzYuNDM3NS0zNi40MzM1OTQgMC0yMC4wOTM3NS0xNi4zNDc2NTctMzYuNDM3NS0zNi40Mzc1LTM2LjQzNzUtMjAuMDg5ODQ0IDAtMzYuNDM3NSAxNi4zNDM3NS0zNi40Mzc1IDM2LjQzNzUgMCAyMC4wODk4NDQgMTYuMzQ3NjU2IDM2LjQzMzU5NCAzNi40Mzc1IDM2LjQzMzU5NHptMC01Mi42NzU3ODFjOC45NTMxMjUgMCAxNi4yNDIxODcgNy4yODUxNTYgMTYuMjQyMTg3IDE2LjI0MjE4NyAwIDguOTUzMTI1LTcuMjg5MDYyIDE2LjIzODI4Mi0xNi4yNDIxODcgMTYuMjM4MjgyLTguOTU3MDMxIDAtMTYuMjQyMTg4LTcuMjg1MTU3LTE2LjI0MjE4OC0xNi4yMzgyODIgMC04Ljk1NzAzMSA3LjI4NTE1Ny0xNi4yNDIxODcgMTYuMjQyMTg4LTE2LjI0MjE4N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM5MC4xNzk2ODggMTQ3LjAxNTYyNWMzLjc2NTYyNCAwIDcuMzk4NDM3LS41NzQyMTkgMTAuODIwMzEyLTEuNjM2NzE5bDcuMzM5ODQ0IDkuODcxMDk0YzEzLjk0MTQwNiAxOC43NSAyMS42MjEwOTQgNDEuOTQ1MzEyIDIxLjYyMTA5NCA2NS4zMTI1djU5LjE1MjM0NGMwIDUuNTc4MTI1IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2IDUuNTc0MjE4IDAgMTAuMDk3NjU2LTQuNTE5NTMxIDEwLjA5NzY1Ni0xMC4wOTc2NTZ2LTU5LjE1MjM0NGMwLTI3LjY3NTc4MS05LjA5Mzc1LTU1LjE1MjM0NC0yNS42MDkzNzUtNzcuMzU5Mzc1bC02LjY3NTc4MS04Ljk4MDQ2OWM1LjQ0OTIxOC02LjM2NzE4NyA4Ljc0NjA5NC0xNC42MjUgOC43NDYwOTQtMjMuNjQwNjI1IDAtMjAuMDkzNzUtMTYuMzQzNzUtMzYuNDM3NS0zNi40Mzc1LTM2LjQzNzUtMjAuMDg5ODQ0IDAtMzYuNDMzNTk0IDE2LjM0Mzc1LTM2LjQzMzU5NCAzNi40Mzc1IDAgMjAuMDg5ODQ0IDE2LjM0Mzc1IDM2LjQzMzU5NCAzNi40MzM1OTQgMzYuNDMzNTk0em0wLTUyLjY3NTc4MWM4Ljk1NzAzMSAwIDE2LjI0MjE4NyA3LjI4NTE1NiAxNi4yNDIxODcgMTYuMjQyMTg3IDAgOC45NTMxMjUtNy4yODUxNTYgMTYuMjQyMTg4LTE2LjI0MjE4NyAxNi4yNDIxODgtOC45NTMxMjYgMC0xNi4yNDIxODgtNy4yODkwNjMtMTYuMjQyMTg4LTE2LjI0MjE4OCAwLTguOTU3MDMxIDcuMjg5MDYyLTE2LjI0MjE4NyAxNi4yNDIxODgtMTYuMjQyMTg3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjA1ODU5NCAzNDkuMDUwNzgxYy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU3djYzLjMyMDMxMmMwIDE0LjIzMDQ2OS0xMS41NzgxMjYgMjUuODA4NTk0LTI1LjgwODU5NCAyNS44MDg1OTRoLTQ0LjU5NzY1NnYtMzMuNDI5Njg4YzAtNS41NzgxMjUtNC41MTk1MzItMTAuMDk3NjU2LTEwLjA5Mzc1LTEwLjA5NzY1NmgtNDIuMjY1NjI2di0xMTIuNDUzMTI1YzIxLjg1NTQ2OS0yNC4wMzUxNTYgMzUuMTkxNDA3LTU1Ljk0OTIxOSAzNS4xOTE0MDctOTAuOTE3OTY5IDAtNzQuNTk3NjU2LTYwLjY4NzUtMTM1LjI4NTE1Ni0xMzUuMjgxMjUtMTM1LjI4NTE1NnMtMTM1LjI4MTI1IDYwLjY4NzUtMTM1LjI4MTI1IDEzNS4yODUxNTZjMCAzMy4xMDU0NjkgMTEuOTU3MDMxIDYzLjQ2NDg0NCAzMS43NzczNDMgODcuMDAzOTA2djIxMy41MTk1MzJjMCA1LjU3ODEyNSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU3IDEwLjA5NzY1NmgyMzUuNzYxNzE5YzUuNTc0MjE4IDAgMTAuMDkzNzUtNC41MTk1MzEgMTAuMDkzNzUtMTAuMDk3NjU2di0zMy40Mjk2ODhoNDQuNTk3NjU2YzI1LjM2NzE4NyAwIDQ2LjAwMzkwNi0yMC42MzY3MTggNDYuMDAzOTA2LTQ2LjAwMzkwNnYtNjMuMzIwMzEyYzAtNS41NzgxMjYtNC41MjM0MzgtMTAuMDk3NjU3LTEwLjA5NzY1Ni0xMC4wOTc2NTd6bS0yMzIuOTUzMTI1LTI2Mi43NjE3MTljNjMuNDU3MDMxIDAgMTE1LjA4NTkzNyA1MS42Mjg5MDcgMTE1LjA4NTkzNyAxMTUuMDg5ODQ0IDAgNjMuNDU3MDMyLTUxLjYyODkwNiAxMTUuMDg1OTM4LTExNS4wODU5MzcgMTE1LjA4NTkzOC02My40NjA5MzggMC0xMTUuMDg1OTM4LTUxLjYyODkwNi0xMTUuMDg1OTM4LTExNS4wODU5MzggMC02My40NjA5MzcgNTEuNjI1LTExNS4wODk4NDQgMTE1LjA4NTkzOC0xMTUuMDg5ODQ0em0tODMuMzA4NTk0IDIyMS42MDE1NjNjMjIuOTgwNDY5IDE4LjAxNTYyNSA1MS45MTAxNTYgMjguNzY5NTMxIDgzLjMwODU5NCAyOC43Njk1MzEgMjkuODYzMjgxIDAgNTcuNDkyMTg3LTkuNzM0Mzc1IDc5Ljg5NDUzMS0yNi4xODc1djE4MS4zMzIwMzJoLTE2My4yMDMxMjV6bTIxNS41NjY0MDYgMTgzLjkxNDA2M2gtMzIuMTY3OTY5di02Ni44NTkzNzZoMzIuMTY3OTY5em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ4LjE2MDE1NiAzNzcuNzg5MDYyaDE3LjkyNTc4MmM1LjU3NDIxOCAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MjM0MzgtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTE3LjkyNTc4MmMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTk4LjE0NDUzMSAzNzcuNzg5MDYyaDE3LjkyMTg3NWM1LjU3NDIxOSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MjM0MzctMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTE3LjkyMTg3NWMtNS41NzgxMjUgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTE5NTMxIDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY2LjA0Njg3NSAzNTcuNTkzNzVoLTE3LjkyMTg3NWMtNS41NzQyMTkgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDE3LjkyMTg3NWM1LjU3ODEyNSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDguMTYwMTU2IDQyMC42NzU3ODFoNjcuOTA2MjVjNS41NzQyMTkgMCAxMC4wOTc2NTYtNC41MTk1MzEgMTAuMDk3NjU2LTEwLjA5NzY1NnMtNC41MjM0MzctMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTY3LjkwNjI1Yy01LjU3NDIxOCAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2czQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4LjEyNSA0NDMuMTU2MjVoLTk5Ljk2NDg0NGMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDk5Ljk2NDg0NGM1LjU3NDIxOSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDYuMzU1NDY5IDQwLjEzNjcxOWMxLjg0Mzc1IDMuMzIwMzEyIDUuMjg1MTU2IDUuMTkxNDA2IDguODMyMDMxIDUuMTkxNDA2IDEuNjYwMTU2IDAgMy4zNDM3NS0uNDE0MDYzIDQuODk4NDM4LTEuMjc3MzQ0IDQuODc1LTIuNzEwOTM3IDYuNjI1LTguODU5Mzc1IDMuOTE0MDYyLTEzLjczNDM3NWwtMTMuOTg0Mzc1LTI1LjEyODkwNmMtMi43MTA5MzctNC44NzEwOTQtOC44NTkzNzUtNi42MjUtMTMuNzM0Mzc1LTMuOTEwMTU2LTQuODcxMDk0IDIuNzEwOTM3LTYuNjI1IDguODU5Mzc1LTMuOTE0MDYyIDEzLjczNDM3NXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTYzLjE0NDUzMSA4My4wMTU2MjUtMjYuMDU0Njg3LTE1LjAzOTA2M2MtNC44MzIwMzItMi43ODkwNjItMTEuMDAzOTA2LTEuMTMyODEyLTEzLjc5Mjk2OSAzLjY5NTMxM3MtMS4xMzI4MTMgMTEuMDAzOTA2IDMuNjk1MzEzIDEzLjc5Mjk2OWwyNi4wNTQ2ODcgMTUuMDQyOTY4YzEuNTg5ODQ0LjkxNzk2OSAzLjMyODEyNSAxLjM1MTU2MyA1LjAzOTA2MyAxLjM1MTU2MyAzLjQ4ODI4MSAwIDYuODgyODEyLTEuODA4NTk0IDguNzUzOTA2LTUuMDQ2ODc1IDIuNzg5MDYyLTQuODMyMDMxIDEuMTMyODEyLTExLjAwNzgxMi0zLjY5NTMxMy0xMy43OTY4NzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MS4xMTMyODEgMTQ2LjIxMDkzOC0zMC4wODU5MzctMS4yODEyNWMtNS41ODIwMzItLjI1LTEwLjI4MTI1IDQuMDg5ODQzLTEwLjUxOTUzMiA5LjY2MDE1Ni0uMjM0Mzc0IDUuNTcwMzEyIDQuMDg5ODQ0IDEwLjI4MTI1IDkuNjYwMTU3IDEwLjUxNTYyNWwzMC4wODU5MzcgMS4yODEyNWMuMTQ0NTMyLjAwNzgxMi4yOTI5NjkuMDA3ODEyLjQzNzUuMDA3ODEyIDUuMzc4OTA2IDAgOS44NTE1NjMtNC4yNDIxODcgMTAuMDc4MTI1LTkuNjY3OTY5LjIzODI4MS01LjU3MDMxMi00LjA4NTkzNy0xMC4yNzczNDMtOS42NTYyNS0xMC41MTU2MjR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yODMuNjQwNjI1IDE5OC42MjUuMTIxMDk0LjI5Njg3NWMxLjU4OTg0MyAzLjkyNTc4MSA1LjM2NzE4NyA2LjMwNDY4NyA5LjM1OTM3NSA2LjMwNDY4NyAxLjI2MTcxOCAwIDIuNTQ2ODc1LS4yMzgyODEgMy43ODkwNjItLjc0MjE4NyA1LjE2Nzk2OS0yLjA5Mzc1IDcuNjYwMTU2LTcuOTgwNDY5IDUuNTY2NDA2LTEzLjE0ODQzN2wtLjEyMTA5My0uMjk2ODc2Yy0yLjA5Mzc1LTUuMTY3OTY4LTcuOTgwNDY5LTcuNjU2MjUtMTMuMTQ4NDM4LTUuNTYyNXMtNy42NjAxNTYgNy45ODA0NjktNS41NjY0MDYgMTMuMTQ4NDM4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQ5LjM2NzE4OCAzMTUuNjY3OTY5Yy0yLjA3ODEyNi01LjE3MTg3NS03Ljk2NDg0NC03LjY3OTY4OC0xMy4xMzY3MTktNS42MDE1NjMtNS4xNzE4NzUgMi4wODIwMzItNy42Nzk2ODggNy45NjA5MzgtNS42MDE1NjMgMTMuMTM2NzE5bC4xMTcxODguMjkyOTY5YzEuNTg1OTM3IDMuOTQxNDA2IDUuMzcxMDk0IDYuMzM1OTM3IDkuMzc1IDYuMzM1OTM3IDEuMjUzOTA2IDAgMi41MjczNDQtLjIzNDM3NSAzLjc2MTcxOC0uNzM0Mzc1IDUuMTc1NzgyLTIuMDc4MTI1IDcuNjgzNTk0LTcuOTYwOTM3IDUuNjAxNTYzLTEzLjEzMjgxMnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Amplifier:dfe,Awnings:Dfe,"Battery Status":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zOTQuMDYzIDM5MS45OTZjLTkuMTk4LTUuMjktMTguMzczLTEwLjYyMy0yNy41NTgtMTUuOTM3IDUuMDAyLTExLjc2OSAxMC4xOTQtMjMuOTAyIDE0LjkwMy0zNi4wNTMgMS44MDktNC42NjcgMS4xODktOS45MTEtMS42NTUtMTQuMDI4LTUuNzc2LTguMzYxLTE2Ljg2My04Ljg1NS0yNC4zNDQtMS43NC0xOS42NjEgMTguNy0zOS4wODUgMzctNTguNjUyIDU1LjUzNy0zLjc3NSAzLjU3Ny01LjYzOSA4LjQzNC01LjExIDEzLjMyNy41MjMgNC44NDYgMy4zMzkgOS4xNDQgNy43MjUgMTEuNzkyIDkuMzQ1IDUuNjQxIDE4Ljc2MSAxMC45NTUgMjguMDk4IDE2LjI5MS00LjY0NCAxMC45NTEtMTAuMzcyIDI0LjI0Ni0xNC45MiAzNi4wMDItMi44ODcgNy40NjIuNDIxIDE1Ljc0NCA3LjY5MyAxOS4yNjQgNS43MTQgMi43NjYgMTIuMjggMi4yMTEgMTguMjk5LTMuNDgzIDE5LjM0NC0xOC4zIDM5LjM0My0zNy4yMTQgNTguNjctNTUuNTQ3IDMuODE4LTMuNjIyIDUuNjc0LTguNTEyIDUuMDktMTMuNDE2LS41OTEtNC45NjItMy41OTQtOS4zMzgtOC4yMzktMTIuMDA5em0tNy4xNzQgMTQuNTRjLTE1LjYzNCAxNC44MzItNTguOTQ5IDU2Ljk3My02MC4xMDkgNTYuNDEyLS4xMTgtLjA1Ny0uMzA2LS4xNzgtLjI0LS4zNDkgNS4xNzktMTMuNTI2IDExLjYzNS0yOC4yNzIgMTYuOTE4LTQwLjczMiAxLjQ5My0zLjUyMi45MDctOC4yOC0zLjc2OC0xMC45Ny0xMC44NC02LjIzNy0yMS43OTEtMTIuMzU0LTMyLjU2NC0xOC44NDUtLjgwMi0uNDgzLS43NjctLjcxLS4wNTEtMS4zODggMjAuODc0LTE5Ljc3OSA1Ny45NTktNTUuMzExIDU5LjgwMy01Ni40NTkuMzk2LjA4NC41NDQuMjk5LjU0NS4zODQtNS4zMDcgMTMuNjg0LTExLjIxMyAyNy4zMDUtMTYuOSA0MC43MzktMS43OTQgNC4yMzctLjI5MyA4LjY0OSAzLjczOSAxMC45OCA0LjM5OSAyLjU0IDguNzk2IDUuMDg3IDEzLjE5MSA3LjYzNCA2LjM3NCAzLjY5MyAxMi43NDggNy4zODcgMTkuMTM0IDExLjA1OSAxLjEwNi42MzUgMS4xMzYuNzQ0LjMwMiAxLjUzNXptLTgxLjc4NC0yMDguNGgtMjAxLjQ2Yy0xMC4yNzMgMC0xOC42MzEgOC4zMy0xOC42MzEgMTguNTY5djQ0LjI3NmMwIDEwLjIzOSA4LjM1NyAxOC41NjkgMTguNjMxIDE4LjU2OWgyMDEuNDYxYzEwLjI3MyAwIDE4LjYzMS04LjMzIDE4LjYzMS0xOC41Njl2LTQ0LjI3NmMtLjAwMS0xMC4yMzktOC4zNTgtMTguNTY5LTE4LjYzMi0xOC41Njl6bTMuNjMxIDYyLjg0NWMwIDEuOTY4LTEuNjI5IDMuNTY5LTMuNjMxIDMuNTY5aC0yMDEuNDZjLTIuMDAyIDAtMy42MzEtMS42MDEtMy42MzEtMy41Njl2LTQ0LjI3NmMwLTEuOTY4IDEuNjI5LTMuNTY5IDMuNjMxLTMuNTY5aDIwMS40NjFjMi4wMDIgMCAzLjYzMSAxLjYwMSAzLjYzMSAzLjU2OXY0NC4yNzZ6bTE1LTE0My44OThjMC0xMC4yMzktOC4zNTctMTguNTY5LTE4LjYzMS0xOC41NjloLTIwMS40NmMtMTAuMjczIDAtMTguNjMxIDguMzMtMTguNjMxIDE4LjU2OXY0NC4yNzZjMCAxMC4yMzkgOC4zNTcgMTguNTY5IDE4LjYzMSAxOC41NjloMjAxLjQ2MWMxMC4yNzMgMCAxOC42MzEtOC4zMyAxOC42MzEtMTguNTY5di00NC4yNzZ6bS0xNSA0NC4yNzdjMCAxLjk2OC0xLjYyOSAzLjU2OS0zLjYzMSAzLjU2OWgtMjAxLjQ2Yy0yLjAwMiAwLTMuNjMxLTEuNjAxLTMuNjMxLTMuNTY5di00NC4yNzZjMC0xLjk2OCAxLjYyOS0zLjU2OSAzLjYzMS0zLjU2OWgyMDEuNDYxYzIuMDAyIDAgMy42MzEgMS42MDEgMy42MzEgMy41Njl2NDQuMjc2em0zOC4yNDcgMTIzLjg1N2MtMTguNjUzIDAtMzYuMjY2IDQuNTI5LTUxLjgwMyAxMi41NDJoLTE5MS41MzVjLTEwLjI3MiAwLTE4LjYzIDguMzMxLTE4LjYzIDE4LjU3djQ0LjI3YzAgMTAuMjM5IDguMzU3IDE4LjU3IDE4LjYzIDE4LjU3aDEzMS42MjFjLTEuMDk2IDYuMzE4LTEuNjczIDEyLjgxMi0xLjY3MyAxOS40MzggMCAyNC4yNDMgNy42NTEgNDYuNzI5IDIwLjY2IDY1LjE4MmgtMTUwLjYwOGMtMi4wMDIgMC0zLjYzLTEuNjAyLTMuNjMtMy41N3YtNDQuMjdjMC0xLjk2OSAxLjYyOC0zLjU3IDMuNjMtMy41N2gxMDcuNjQxYzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMDcuNjQxYy0xMC4yNzIgMC0xOC42MyA4LjMzMS0xOC42MyAxOC41N3Y0NC4yN2MwIDEwLjIzOSA4LjM1NyAxOC41NyAxOC42MyAxOC41N2gxNjMuMjM3YzcuMDcgNy4wNjMgMTUuMDY1IDEzLjE5OSAyMy43ODUgMTguMjFoLTE5OC4yNDJjLTE0LjIyNyAwLTI1LjgtMTEuNTc0LTI1LjgtMjUuOHYtMzY1LjA4OWMwLTE0LjIyNiAxMS41NzMtMjUuOCAyNS44LTI1LjhoMjIzLjljMTQuMjI3IDAgMjUuOCAxMS41NzQgMjUuOCAyNS44djE1Ni42NGMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0xNTYuNjRjMC0yMi40OTctMTguMzAzLTQwLjgtNDAuOC00MC44aC00MC4wNjd2LTM1LjYxMWMwLTE2LjM3Ni0xMy4zMjMtMjkuNjk5LTI5LjY5OS0yOS42OTloLTg0LjM2N2MtMTYuMzc2IDAtMjkuNjk5IDEzLjMyMy0yOS42OTkgMjkuNjk5djM1LjYxMWgtNDAuMDY4Yy0yMi40OTcgMC00MC44IDE4LjMwMy00MC44IDQwLjh2MzY1LjA5YzAgMjIuNDk3IDE4LjMwMyA0MC44IDQwLjggNDAuOGgyMjMuOWMzLjg5MiAwIDcuNzMxLS41NTMgMTEuNDQyLTEuNjM2IDYuMjQ4IDEuMDcxIDEyLjY2NyAxLjYzNiAxOS4yMTYgMS42MzYgNjIuNTI0IDAgMTEzLjM5Mi01MC44NjcgMTEzLjM5Mi0xMTMuMzkyIDAtNjIuNTI0LTUwLjg2Ny0xMTMuMzkxLTExMy4zOTItMTEzLjM5MXptLTE5OS40OTEtMjU1LjUxOGMwLTguMTA1IDYuNTk0LTE0LjY5OSAxNC42OTktMTQuNjk5aDg0LjM2N2M4LjEwNSAwIDE0LjY5OSA2LjU5NCAxNC42OTkgMTQuNjk5djM1LjYxMWgtMTEzLjc2NXptLTQzLjg0NyAzMzQuNDcxYy0yLjAwMiAwLTMuNjMtMS42MDItMy42My0zLjU3di00NC4yN2MwLTEuOTY5IDEuNjI4LTMuNTcgMy42My0zLjU3aDE2OS4zNDFjLTE1LjY2NiAxMy41MjEtMjcuNiAzMS4yNS0zNC4wNDEgNTEuNDF6bTI0My4zMzggMTMyLjgzYy01NC4yNTMgMC05OC4zOTItNDQuMTM4LTk4LjM5Mi05OC4zOTIgMC01NC4yNTMgNDQuMTM5LTk4LjM5MSA5OC4zOTItOTguMzkxczk4LjM5MiA0NC4xMzggOTguMzkyIDk4LjM5MWMwIDU0LjI1NC00NC4xMzkgOTguMzkyLTk4LjM5MiA5OC4zOTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Ceiling Spotlights":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDc0IDc0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDYuNDQgNGgtMi45N2ExIDEgMCAwIDEgMC0yaDIuOTdhMSAxIDAgMCAxIDAgMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNjguNjQgMTAuMzhoLTYzLjI4YTEgMSAwIDAgMSAtMS0xdi02LjM4YTEgMSAwIDAgMSAxLTFoMjEuMmExIDEgMCAwIDEgMCAyaC0yMC4ydjQuMzhoNjEuMjh2LTQuMzhoLTE0LjJhMSAxIDAgMCAxIDAtMmgxNS4yYTEgMSAwIDAgMSAxIDF2Ni4zOGExIDEgMCAwIDEgLTEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYuNDcgNGgtMi45MWExIDEgMCAwIDEgMC0yaDIuOTFhMSAxIDAgMCAxIDAgMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcgNTEuMjA3YTEgMSAwIDAgMSAtMS0xdi00MC44MjhhMSAxIDAgMSAxIDIgMHY0MC44MjhhMSAxIDAgMCAxIC0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ2Ljc3MSA2Ny4wN2gtMTkuNTQyYTEgMSAwIDAgMSAtLjk3Ny0xLjIxNWwzLjQ5LTE1Ljg1NWExIDEgMCAwIDEgLjk3Ny0uNzg1aDEyLjU2MmExIDEgMCAwIDEgLjk3Ny43ODVsMy40OSAxNS44NmExIDEgMCAwIDEgLS45NzcgMS4yMTV6bS0xOC4zLTJoMTcuMDU2bC0zLjA0OS0xMy44NmgtMTAuOTU2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyA3MmE1LjkzNiA1LjkzNiAwIDAgMSAtNS45My01LjkzIDEgMSAwIDAgMSAyIDAgMy45MyAzLjkzIDAgMCAwIDcuODYgMCAxIDEgMCAwIDEgMiAwIDUuOTM2IDUuOTM2IDAgMCAxIC01LjkzIDUuOTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTYwLjQxNiAzNS4xMTRhMSAxIDAgMCAxIC0xLTF2LTI0LjczNWExIDEgMCAwIDEgMiAwdjI0LjczNWExIDEgMCAwIDEgLTEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjkuNiA1MC4wMjZoLTE4LjM3YTEgMSAwIDAgMSAtLjk3Ni0xLjIxNWwzLjI4LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgwOWExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgybC0yLjgzOS0xMi45MDloLTEwLjJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTYwLjQxNiA1NC42NmE1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQtNS42MzQgMSAxIDAgMSAxIDIgMCAzLjYzNCAzLjYzNCAwIDEgMCA3LjI2OCAwIDEgMSAwIDEgMSAyIDAgNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0IDUuNjM0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMy41ODQgMzUuMTE0YTEgMSAwIDAgMSAtMS0xdi0yNC43MzVhMSAxIDAgMCAxIDIgMHYyNC43MzVhMSAxIDAgMCAxIC0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyLjc3IDUwLjAyNmgtMTguMzdhMSAxIDAgMCAxIC0uOTc2LTEuMjE1bDMuMjc2LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgxMmExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgxbC0yLjgzOS0xMi45MDloLTEwLjIwM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTMuNTg0IDU0LjY2YTUuNjQxIDUuNjQxIDAgMCAxIC01LjYzNC01LjYzNCAxIDEgMCAwIDEgMiAwIDMuNjM0IDMuNjM0IDAgMCAwIDcuMjY4IDAgMSAxIDAgMCAxIDIgMCA1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQgNS42MzR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Chandelier:hfe,Climate:zfe,"Coffee Makers":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NjYgMTExLjk5NmgtNDkuNzE5bC0xMDkuMjE1LTQ2LjM2MSA0Ljg4OS01NC43NDZjLjI1LTIuNzk2LS42ODctNS41NjgtMi41ODItNy42MzktMS44OTQtMi4wNy00LjU3Mi0zLjI1LTcuMzc4LTMuMjVoLTYwYy0yLjgwNyAwLTUuNDg0IDEuMTgtNy4zNzkgMy4yNS0xLjg5NSAyLjA3MS0yLjgzMSA0Ljg0My0yLjU4MiA3LjYzOWw0Ljg5OCA1NC44NTQtMTA0Ljc5NSA0Ni4yNTNoLTI2LjEzN2MtMzguNTk4IDAtNzAgMzEuNDAyLTcwIDcwdjY5Ljk5N2MwIDE2LjU0MiAxMy40NTggMzAgMzAgMzBzMzAtMTMuNDU4IDMwLTMwdi02OS45OTdjMC01LjQyIDQuNTgtMTAgMTAtMTBoMjYuOTE1bDIxLjQ4MyAxMjEuNzM4YzEuOTI3IDEwLjkyMyA5LjkwNCAxOC4yNjMgMTkuODQ4IDE4LjI2M3Y0MC4wMDNjLTkuNjUyIDAtMTcuMjE3IDYuODAyLTE5Ljc0NCAxNy43NTFsLTMwLjAwMSAxMzBjLS42ODUgMi45NjkuMDIxIDYuMDg5IDEuOTE4IDguNDc0czQuNzc4IDMuNzc0IDcuODI2IDMuNzc0aDI4MGMzLjA0NyAwIDUuOTI5LTEuMzkgNy44MjYtMy43NzQgMS44OTctMi4zODUgMi42MDQtNS41MDUgMS45MTgtOC40NzRsLTMwLjAwMS0xMzBjLTIuNTI1LTEwLjk0OS0xMC4wOTEtMTcuNzUxLTE5Ljc0My0xNy43NTF2LTQwLjAwMmM5Ljk0NCAwIDE3LjkyLTcuMzM5IDE5Ljg0Ny0xOC4yNjJsMTQuMzgxLTgxLjQ5MiA2NC4wNTYtNTUuMjM2YzIuMjAzLTEuODk5IDMuNDctNC42NjUgMy40Ny03LjU3M3YtMjcuNDM4Yy4wMDEtNS41MjQtNC40NzctMTAuMDAxLTkuOTk5LTEwLjAwMXptLTE3NC45MzgtOTEuOTk2LTMuNzUgNDEuOTk2aC0zMC42MzRsLTMuNzUxLTQxLjk5NnptLTQxLjQyMyA2MS45OTZoNDQuNzg1bDcwLjY3MiAzMGgtMTgzLjQyOHptLTE0My42MzkgNzAuMDAxYy0xNi41NDIgMC0zMCAxMy40NTgtMzAgMzB2NjkuOTk3YzAgNS41MTQtNC40ODYgMTAtMTAgMTBzLTEwLTQuNDg2LTEwLTEwdi02OS45OTdjMC0yNy41NyAyMi40My01MCA1MC01MGgxOS44NTZsMy41MyAyMHptNjguMDk0IDEzOC4yNjMtMjcuOTI5LTE1OC4yNjRoNjIuNzYybDIuNTI4IDM1LjgxN2MuMzcyIDUuMjcgNC43NjIgOS4yOTYgOS45NjUgOS4yOTYuMjM2IDAgLjQ3NS0uMDA4LjcxNC0uMDI1IDUuNTA5LS4zODkgOS42Ni01LjE3IDkuMjcxLTEwLjY3OWwtMi40MjktMzQuNDA5aDkwLjUzOWwtMTEuMjk1IDE2MC4wMDJoLTY3Ljk0OWwtMi41MjktMzUuODE3Yy0uMzg5LTUuNTA5LTUuMTY2LTkuNjYxLTEwLjY3OS05LjI3MS01LjUwOS4zODktOS42NiA1LjE3LTkuMjcxIDEwLjY3OWwyLjQyOSAzNC40MDloLTQ1LjUxOGMtLjE5OS0uMzIxLS40NjMtLjkxNC0uNjA5LTEuNzM4em0tLjEwMyA4My45ODhjLjI1OS0xLjEyNS42MS0xLjg1Ny44NTMtMi4yNDloNDUuMzZsLTExLjA3NyAxMjBoLTYyLjMxem0xMzQuMjEyLTIuMjQ4IDExLjA3NyAxMjBoLTkwLjA2OWwxMS4wNzctMTIwem02Ni4yOTcgMi4yNDggMjcuMTc1IDExNy43NTJoLTYyLjMxbC0xMS4wNzctMTIwaDQ1LjM2Yy4yNDMuMzkxLjU5MyAxLjEyMy44NTIgMi4yNDh6bS0yMC4yNTUtMjIuMjQ4aC0xNTkuOTk4di00MC4wMDJoMTU5Ljk5OHptMjAuMTUxLTYxLjc0Yy0uMTQ2LjgyNC0uNDA5IDEuNDE3LS42MDggMS43MzdoLTQ1LjUxOGwxMS4yOTUtMTYwLjAwMWg2Mi43NjJsLTEyLjkzNyA3My4zMDljMCAuMDAxIDAgLjAwMi0uMDAxLjAwM3ptODEuNjA0LTE0NS40MDctNDIuMDI5IDM2LjI0MiA4LjY2NS00OS4wOTloMzMuMzY0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMjQuNTk5IDIyMS45OTdjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBoLS4wMDdjLTUuNTIzIDAtOS45OTYgNC40NzctOS45OTYgMTBzNC40OCAxMCAxMC4wMDMgMTB6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Cold Water":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3NSA0NzUiID4KPGcgZmlsbD0iY3VycmVudENvbG9yIj4KCTxwYXRoIGQ9Ik00MzguNDEzLDM0My4xODhDNDI4LjA1OSwzMzUuMDg1LDQxNS4xNzQsMzI1LDM5MC44MzUsMzI1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3NywxOC4xODgKCQlDMzM0LjQ5NiwzNTAuMDQ1LDMyOC4xNjUsMzU1LDMxNC4xNywzNTVjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzQzI3NC43MjksMzM1LjA4NSwyNjEuODQ0LDMyNSwyMzcuNTA2LDMyNQoJCWMtMjQuMzM5LDAtMzcuMjI0LDEwLjA4NS00Ny41NzgsMTguMTg4QzE4MS4xNjYsMzUwLjA0NSwxNzQuODM0LDM1NSwxNjAuODQsMzU1Yy0xMy45OTYsMC0yMC4zMjctNC45NTUtMjkuMDktMTEuODEzCgkJQzEyMS4zOTUsMzM1LjA4NCwxMDguNTA5LDMyNSw4NC4xNywzMjVjLTI0LjMzOSwwLTM3LjIyNSwxMC4wODQtNDcuNTc5LDE4LjE4OEMyNy44MjgsMzUwLjA0NSwyMS40OTYsMzU1LDcuNSwzNTV2MzAKCQljMjQuMzM5LDAsMzcuMjI1LTEwLjA4NCw0Ny41NzktMTguMTg4QzYzLjg0MiwzNTkuOTU1LDcwLjE3NCwzNTUsODQuMTcsMzU1YzEzLjk5NiwwLDIwLjMyNyw0Ljk1NSwyOS4wOTEsMTEuODEzCgkJQzEyMy42MTUsMzc0LjkxNiwxMzYuNSwzODUsMTYwLjg0LDM4NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg0LDQ3LjU3OC0xOC4xODhDMjE3LjE4LDM1OS45NTUsMjIzLjUxMSwzNTUsMjM3LjUwNiwzNTUKCQljMTMuOTk0LDAsMjAuMzI1LDQuOTU1LDI5LjA4NywxMS44MTNDMjc2Ljk0NywzNzQuOTE1LDI4OS44MzMsMzg1LDMxNC4xNywzODVjMjQuMzM4LDAsMzcuMjI0LTEwLjA4NSw0Ny41NzctMTguMTg4CgkJQzM3MC41MSwzNTkuOTU1LDM3Ni44NDEsMzU1LDM5MC44MzUsMzU1YzEzLjk5NSwwLDIwLjMyNSw0Ljk1NSwyOS4wODgsMTEuODEzQzQzMC4yNzcsMzc0LjkxNSw0NDMuMTYyLDM4NSw0NjcuNSwzODV2LTMwCgkJQzQ1My41MDYsMzU1LDQ0Ny4xNzUsMzUwLjA0NSw0MzguNDEzLDM0My4xODh6Ii8+Cgk8cGF0aCBkPSJNMzkwLjgzNSw0MTVjLTI0LjMzOCwwLTM3LjIyNCwxMC4wODUtNDcuNTc3LDE4LjE4OEMzMzQuNDk2LDQ0MC4wNDUsMzI4LjE2NSw0NDUsMzE0LjE3LDQ0NQoJCWMtMTMuOTk0LDAtMjAuMzI1LTQuOTU1LTI5LjA4Ny0xMS44MTNDMjc0LjcyOSw0MjUuMDg1LDI2MS44NDQsNDE1LDIzNy41MDYsNDE1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3OCwxOC4xODgKCQlDMTgxLjE2Niw0NDAuMDQ1LDE3NC44MzQsNDQ1LDE2MC44NCw0NDVjLTEzLjk5NiwwLTIwLjMyNy00Ljk1NS0yOS4wOS0xMS44MTNDMTIxLjM5NSw0MjUuMDg0LDEwOC41MDksNDE1LDg0LjE3LDQxNQoJCWMtMjQuMzM5LDAtMzcuMjI1LDEwLjA4NC00Ny41NzksMTguMTg4QzI3LjgyOCw0NDAuMDQ1LDIxLjQ5Niw0NDUsNy41LDQ0NXYzMGMyNC4zMzksMCwzNy4yMjUtMTAuMDg0LDQ3LjU3OS0xOC4xODgKCQlDNjMuODQyLDQ0OS45NTUsNzAuMTc0LDQ0NSw4NC4xNyw0NDVjMTMuOTk2LDAsMjAuMzI3LDQuOTU1LDI5LjA5MSwxMS44MTNDMTIzLjYxNSw0NjQuOTE2LDEzNi41LDQ3NSwxNjAuODQsNDc1CgkJYzI0LjMzOCwwLDM3LjIyNC0xMC4wODQsNDcuNTc4LTE4LjE4OEMyMTcuMTgsNDQ5Ljk1NSwyMjMuNTExLDQ0NSwyMzcuNTA2LDQ0NWMxMy45OTQsMCwyMC4zMjUsNC45NTUsMjkuMDg3LDExLjgxMwoJCUMyNzYuOTQ3LDQ2NC45MTUsMjg5LjgzMyw0NzUsMzE0LjE3LDQ3NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg1LDQ3LjU3Ny0xOC4xODhDMzcwLjUxLDQ0OS45NTUsMzc2Ljg0MSw0NDUsMzkwLjgzNSw0NDUKCQljMTMuOTk1LDAsMjAuMzI1LDQuOTU1LDI5LjA4OCwxMS44MTNDNDMwLjI3Nyw0NjQuOTE1LDQ0My4xNjIsNDc1LDQ2Ny41LDQ3NXYtMzBjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzCgkJQzQyOC4wNTksNDI1LjA4NSw0MTUuMTc0LDQxNSwzOTAuODM1LDQxNXoiLz4KCTxwb2x5Z29uIHBvaW50cz0iMTg0LjM3OCwyNTguMzIzIDIyMi41LDIzNi4zMTMgMjIyLjUsMjgwLjMzMyAyNTIuNSwyODAuMzMzIDI1Mi41LDIzNi4zMTMgMjkwLjYyMiwyNTguMzIzIDMwNS42MjIsMjMyLjM0MwoJCTI2Ny41LDIxMC4zMzMgMzA1LjYyMiwxODguMzIzIDI5MC42MjIsMTYyLjM0MyAyNTIuNSwxODQuMzUzIDI1Mi41LDE0MC4zMzMgMjIyLjUsMTQwLjMzMyAyMjIuNSwxODQuMzUzIDE4NC4zNzgsMTYyLjM0MwoJCTE2OS4zNzgsMTg4LjMyMyAyMDcuNSwyMTAuMzMzIDE2OS4zNzgsMjMyLjM0MyAJCQkiLz4KCTxwb2x5Z29uIHBvaW50cz0iMjQuMDk1LDExNy45OSA2Mi4yMTYsOTUuOTggNjIuMjE2LDE0MCA5Mi4yMTYsMTQwIDkyLjIxNiw5NS45OCAxMzAuMzM4LDExNy45OSAxNDUuMzM4LDkyLjAxIDEwNy4yMTYsNzAKCQkxNDUuMzM4LDQ3Ljk5IDEzMC4zMzgsMjIuMDEgOTIuMjE2LDQ0LjAyIDkyLjIxNiwwIDYyLjIxNiwwIDYyLjIxNiw0NC4wMiAyNC4wOTUsMjIuMDEgOS4wOTUsNDcuOTkgNDcuMjE3LDcwIDkuMDk1LDkyLjAxCgkJIi8+Cgk8cG9seWdvbiBwb2ludHM9IjM0NC42NjIsMTE3Ljk5IDM4Mi43ODQsOTUuOTggMzgyLjc4NCwxNDAgNDEyLjc4NCwxNDAgNDEyLjc4NCw5NS45OCA0NTAuOTA1LDExNy45OSA0NjUuOTA1LDkyLjAxIDQyNy43ODMsNzAKCQk0NjUuOTA1LDQ3Ljk5IDQ1MC45MDUsMjIuMDEgNDEyLjc4NCw0NC4wMiA0MTIuNzg0LDAgMzgyLjc4NCwwIDM4Mi43ODQsNDQuMDIgMzQ0LjY2MiwyMi4wMSAzMjkuNjYyLDQ3Ljk5IDM2Ny43ODQsNzAKCQkzMjkuNjYyLDkyLjAxIAkJCSIvPgo8L2c+Cjwvc3ZnPgo=",Computer:wfe,Consumption:Cfe,Curtains:Ife,Dishwashers:pfe,Doors:Afe,Doorstep:mfe,Dryer:Ofe,Fan:Efe,"Floor Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNzcuMDE4IDEwNC40LTU0Ljg2MS05My40MTZjLTMuOTgtNi43NzUtMTEuMzM0LTEwLjk4NC0xOS4xOTEtMTAuOTg0aC05MS42NTVjLTcuNjk3IDAtMTQuOTczIDQuMDc5LTE4Ljk4NyAxMC42NDRsLTU3LjEzNSA5My40MTRjLTkuMDU1IDE0LjgwMyAxLjYyNiAzMy44NyAxOC45ODcgMzMuODdoMjguMTgyYzIuMjIyIDMzLjQ1MiAyNi44MDggNjAuODg0IDU4LjkxNiA2Ny40MS0uMjc0IDEuODI2LS4xODQtMTMuNTEtLjE4NCAyMTcuMTk1aC0zNy40ODRjLTExLjg5OCAwLTIxLjU3OSA5LjY4LTIxLjU3OSAyMS41Nzl2NDYuMzFjMCAxMS44OTggOS42OCAyMS41NzkgMjEuNTc5IDIxLjU3OWgxMDQuNzljMTEuODk5IDAgMjEuNTc5LTkuNjggMjEuNTc5LTIxLjU3OXYtNDYuMzFjMC0xMS44OTgtOS42OC0yMS41NzktMjEuNTc5LTIxLjU3OWgtMzcuNDg0YzAtMjMwLjc2Ni4wOS0yMTUuMzctLjE4NC0yMTcuMTk1IDIyLjAyNS00LjQ3NiA0MC41MDUtMTguNzk1IDUwLjY2Ni0zOC4xNDF2MzcuNjMxYzAgOC4yMzUgNi42NzYgMTQuOTExIDE0LjkxMSAxNC45MTFzMTQuOTExLTYuNjc2IDE0LjkxMS0xNC45MTF2LTY2LjloNi42MWMxNy4xNjYgMCAyNy44OTMtMTguNzA4IDE5LjE5Mi0zMy41Mjh6bS03Ni44NjYgMzc3Ljc3OGgtODguMzAydi0yOS44MjJoODguMzAyem0tODQuNTk5LTQ1Mi4zNTZoODMuMDgzbDQ1Ljk3NCA3OC4yODRjLTcuMDYxIDAtMTY5LjkwMyAwLTE3Ni45MzggMHptNDAuNDQ3IDE0Ny4xNzJjLTIyLjU5NSAwLTQxLjI2Ny0xNy4xMTctNDMuNzI5LTM5LjA2Nmg4Ny40NThjLTIuNDYyIDIxLjk0OS0yMS4xMzQgMzkuMDY2LTQzLjcyOSAzOS4wNjZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Garage Doors":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDcyLDY0YzQuNDE4LDAsOC0zLjU4Miw4LThWOGMwLTQuNDE4LTMuNTgyLTgtOC04SDhDMy41ODIsMCwwLDMuNTgyLDAsOHY0OGMwLDQuNDE4LDMuNTgyLDgsOCw4aDE2djQwMEg4CgkJYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ2NGM0LjQxOCwwLDgtMy41ODIsOC04cy0zLjU4Mi04LTgtOGgtMTZWNjRINDcyeiBNNDA4LDQ2NEg3MnYtNDhoMzM2VjQ2NHogTTQwOCw0MDBINzJ2LTQ4CgkJaDMzNlY0MDB6IE00MDgsMzM2SDcydi00OGgzMzZWMzM2eiBNNDA4LDI3Mkg3MnYtNDhoMzM2VjI3MnogTTQwOCwyMDhINzJ2LTQ4aDMzNlYyMDh6IE00MDgsMTQ0SDcyVjk2aDMzNlYxNDR6IE00NDAsNDY0aC0xNlY4OAoJCWMwLTQuNDE4LTMuNTgyLTgtOC04SDY0Yy00LjQxOCwwLTgsMy41ODItOCw4djM3Nkg0MFY2NGg0MDBWNDY0eiBNMTYsNDhWMTZoNDQ4djMySDE2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTYsNDU2aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LDMuNTgyLTgsOFMyMTEuNTgyLDQ1NiwyMTYsNDU2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Gates:ffe,Hairdryer:xfe,Handle:_fe,"Hanging Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im05My41MjUgMzU5Ljc3MWgxMDcuODg1djQuMTI5YTUzLjA3MiA1My4wNzIgMCAxIDAgMTA2LjE0NCAwdi00LjEyNGgxMTAuOTIxYTYgNiAwIDAgMCA2LTZjMC04Mi4wMTUtNTguOTEzLTE1MC41MTgtMTM2LjY0LTE2NS40NDR2LTIwLjMxOWEzMS44ODMgMzEuODgzIDAgMCAwIC0yNS44MzUtMzEuMjZ2LTEyMC43NTNhNiA2IDAgMCAwIC0xMiAwdjEyMC43NTNhMzEuODgzIDMxLjg4MyAwIDAgMCAtMjUuODM1IDMxLjI2djIwLjMxNGMtNzcuNzI3IDE0LjkyNi0xMzYuNjQgODMuNDI5LTEzNi42NCAxNjUuNDQ0YTYgNiAwIDAgMCA2IDZ6bTIwMi4wMjkgNC4xMjlhNDEuMDcyIDQxLjA3MiAwIDEgMSAtODIuMTQ0IDB2LTQuMTI0aDgyLjE0NHptLTM5LjU1NC0yMTUuNzIyYTE5Ljg1MSAxOS44NTEgMCAwIDEgMTkuMTggMTQuODY4aC0zOC4zNmExOS44NTEgMTkuODUxIDAgMCAxIDE5LjE4LTE0Ljg2OHptLTE5LjgzNSAyNi44NjhoMzkuNjd2MTEuNDI0YTE2OC4yODggMTY4LjI4OCAwIDAgMCAtMzkuNjcgMHptMTkuODM1IDIyLjI1NGM4NC4yNzQgMCAxNTMuMiA2Ni45NiAxNTYuMzYxIDE1MC40NzRoLTMxMi43MjJjMy4xNjEtODMuNTE3IDcyLjA4Ny0xNTAuNDc0IDE1Ni4zNjEtMTUwLjQ3NHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjUwIDQ1NS41MDh2NDAuNDkyYTYgNiAwIDAgMCAxMiAwdi00MC40OTJhNiA2IDAgMCAwIC0xMiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDMuNDIyIDQzMS40ODhhNiA2IDAgMCAwIC0uMDc1IDguNDg1bDI4LjM0NCAyOC44NTFhNiA2IDAgMCAwIDguNTYxLTguNDFsLTI4LjM0NC0yOC44NTFhNiA2IDAgMCAwIC04LjQ4Ni0uMDc1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAuMDkyIDQzMS41NjMtMjguMzQ0IDI4Ljg1MWE2IDYgMCAwIDAgOC41NjEgOC40MWwyOC4zNDQtMjguODUxYTYgNiAwIDAgMCAtOC41NjEtOC40MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTg2Ljc1IDIzNi44MWExNjguNzMxIDE2OC43MzEgMCAwIDAgLTQ1LjkyNyA0OC4xNDMgNiA2IDAgMSAwIDEwLjE0MSA2LjQxNyAxNTYuNzgxIDE1Ni43ODEgMCAwIDEgNDIuNjc3LTQ0LjczNiA2IDYgMCAwIDAgLTYuODkxLTkuODI0eiIvPgogICAgPC9nPgo8L3N2Zz4=",Heater:Sfe,Hoods:kfe,"Hot Water":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMCA1MTAiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTUgMjQxLjkwMmMtMTguMjIzIDAtMzMuMzU4LTUuOTM3LTQ1LjA5Mi0xNy42MnYtMTQ5LjM1NGMwLTQxLjMxNS0zMy42MTMtNzQuOTI4LTc0LjkyOS03NC45MjhzLTc0LjkyOCAzMy42MTMtNzQuOTI4IDc0LjkyOHYxNDkuMzk1Yy0yNC4yNTQgMjQuMTA3LTY5LjQ3NiAyNC40MTUtOTMuNjYzLTMuODAzLTUuOTgxLTYuOTc4LTE2Ljc5My02Ljk4Mi0yMi43NzcgMC0yNC41ODYgMjguNjg1LTcyLjUzOCAyOC43OTgtOTcuMjIzIDAtNi4zMjItNy4zNzgtMTcuODY3LTYuODY3LTIzLjUzNy45NjMtLjE0OC4yMDQtMTUuNjg4IDIwLjQxOC00Ny44NTIgMjAuNDE4LTguMjg0IDAtMTUgNi43MTYtMTUgMTVzNi43MTYgMTUgMTUgMTVjMjguNjMyIDAgNDguNDg5LTExLjI4IDYwLjAyNy0yMC42MjQgMzMuNDQ3IDI3LjYxNSA4Ni41MTIgMjcuNjI1IDExOS45NzMtLjAyMiAzMC4xOTEgMjQuOTQ0IDc0LjM2MiAyNi4xNzkgMTA1LjA1MiA5Ljk1N3Y0MC40NzFjLTI3Ljk4NCAyMy4xMzEtNDMuODExIDU3Ljg3OC00Mi42NTggOTQuNDUzIDEuOTc0IDYyLjcyOCA1My43NDMgMTEzLjg2NCAxMTcuNTg2IDExMy44NjQgNjQuODcxIDAgMTE3LjY0Ny01Mi43NzYgMTE3LjY0Ny0xMTcuNjQ2IDAtMzUuMDctMTUuODM3LTY4LjQwNi00Mi43MTktOTAuNjY2di00MC40OTdjMTMuMzI1IDcuMDUyIDI4LjUxNyAxMC43MSA0NS4wOTIgMTAuNzEgOC4yODQgMCAxNS02LjcxNiAxNS0xNXMtNi43MTUtMTQuOTk5LTE0Ljk5OS0xNC45OTl6bS0xMjAuMDItMjExLjkwMmMyNC43NzMgMCA0NC45MjggMjAuMTU1IDQ0LjkyOCA0NC45Mjh2MTQ5LjUzN2MtOC4zMTQgOC4yMTEtMTguMzI3IDEzLjU1MS0yOS45MjkgMTUuOTUzdi0xNDMuOTU3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVzLTE1IDYuNzE2LTE1IDE1djE0My45NDdjLTExLjYwMy0yLjQwOS0yMS42MTUtNy43NTktMjkuOTI4LTE1Ljk4M3YtMTQ5LjQ5N2MuMDAxLTI0Ljc3MyAyMC4xNTYtNDQuOTI4IDQ0LjkyOS00NC45Mjh6bS0uMDAxIDM0My41MDRjMTAuNTMyIDAgMTkuMTAxIDguNTY4IDE5LjEwMSAxOS4xcy04LjU2OCAxOS4xLTE5LjEwMSAxOS4xYy0xMC41MzEgMC0xOS4xLTguNTY4LTE5LjEtMTkuMXM4LjU2OS0xOS4xIDE5LjEtMTkuMXptODcuNjQ4IDE4Ljg1YzAgNDguMzI5LTM5LjMxOCA4Ny42NDYtODcuNjQ3IDg3LjY0Ni00Ni44MzEgMC04Ni4xMjktMzguMDQ0LTg3LjYwMi04NC44MDgtLjkyLTI5LjIxOCAxMi43MDQtNTYuODc1IDM2LjQ0My03My45ODEgMy45MTItMi44MTkgNi4yMy03LjM0NyA2LjIzLTEyLjE2OXYtNDcuNzc0YzkuMTQ4IDQuODIgMTkuMTc3IDguMDMzIDI5LjkyOCA5LjU2OHY3NS4wMmMtMTkuNzU4IDYuMzU1LTM0LjEgMjQuOTA1LTM0LjEgNDYuNzQ4IDAgMjcuMDc0IDIyLjAyNiA0OS4xIDQ5LjEgNDkuMXM0OS4xMDEtMjIuMDI2IDQ5LjEwMS00OS4xYzAtMjEuODQzLTE0LjM0Mi00MC4zOTMtMzQuMTAxLTQ2Ljc0OHYtNzUuMDE0YzEwLjc1LTEuNTMxIDIwLjc4LTQuNzM4IDI5LjkyOS05LjU1MnY0Ny43NTNjMCA0LjgyMiAyLjMxOCA5LjM1MSA2LjIzIDEyLjE2OSAyMi44NDggMTYuNDYzIDM2LjQ4OSA0My4wNTkgMzYuNDg5IDcxLjE0MnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc4LjE5IDMwOC4zMzJjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNzMuODU3IDM3OS4xMTdjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjQuODYzIDE1NC4xNDNjLTUuODU4IDUuODU4LTUuODU4IDE1LjM1NSAwIDIxLjIxMyA1Ljg1NyA1Ljg1NyAxNS4zNTUgNS44NTggMjEuMjEzIDAgMjEuMDQ2LTIxLjA0NiAyMS4wNDYtNTUuMjkxIDAtNzYuMzM4LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ny01Ljg1OC0xNS4zNTUtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzQ5IDkuMzQ5IDkuMzQ5IDI0LjU2MSAwIDMzLjkxMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTQyLjI1MSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcxIDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjE5LjYzOSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcgOS4zNzEgOS4zNzMgMjQuNTM5IDAgMzMuOTEyeiIvPgogICAgPC9nPgo8L3N2Zz4=",Humidity:Yfe,Iron:vfe,Irrigation:bfe,"Led Strip":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMTYgMThhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2IDI2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNiA0MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgNTBhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2IDU4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNiAzNGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTIgNjJoOGExIDEgMCAwIDAgMS0xdi00OWg2djQxYTEgMSAwIDAgMCAuMjkzLjcwN2w4IDhhMSAxIDAgMCAwIC43MDcuMjkzaDhhMSAxIDAgMCAwIC43MDctLjI5M2w4LThhMSAxIDAgMCAwIC4yOTMtLjcwN3YtNTBhMSAxIDAgMCAwIC0xLTFoLThhMSAxIDAgMCAwIC0xIDF2NDloLTZ2LTQ5YTEgMSAwIDAgMCAtMS0xaC0xNmExIDEgMCAwIDAgLS43MDcuMjkzbC04IDhhMSAxIDAgMCAwIC0uMjkzLjcwN3Y1MGExIDEgMCAwIDAgMSAxem0zMy0xM3YtNDVoNnY0OC41ODZsLTYgNnptLTggNWg2djZoLTZ6bS04LTV2LTQ1aDZ2NTQuNTg2bC02LTZ6bS04LTQ1aDZ2NmgtNnptLTggNTF2LTQzLjU4Nmw2LTZ2NTQuNTg2aC02eiIvPgogICAgICAgIDxwYXRoIGQ9Im00OCA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggNDRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4IDI4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im00OCAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggMTJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4IDM2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMiA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgNDRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDI4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMiAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgMTJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDM2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMyA2aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzkgNTZoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00IDMxaDV2MmgtNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNiAyNWgydjVoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNiAtLjggLjggLjYgLTE5LjIgMTYuNikiLz4KICAgICAgICA8cGF0aCBkPSJtNC41IDM1LjVoNXYyaC01eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjggLS42IC42IC44IC0yMC41MDUgMTEuNTA1KSIvPgogICAgICAgIDxwYXRoIGQ9Im01NSAzMWg1djJoLTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU0LjUgMjYuNWg1djJoLTV6IiB0cmFuc2Zvcm09Im1hdHJpeCguOCAtLjYgLjYgLjggLTUuMDk4IDM5LjcxMikiLz4KICAgICAgICA8cGF0aCBkPSJtNTYgMzRoMnY1aC0yeiIgdHJhbnNmb3JtPSJtYXRyaXgoLjYgLS44IC44IC42IC02LjQgNjAuMikiLz4KICAgIDwvZz4KPC9zdmc+",Light:Qfe,Lightings:Ufe,Lock:$fe,Louvre:Pfe,"Mowing Machine":"PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NyA1NGM1LjUxNCAwIDEwLTQuNDg2IDEwLTEwcy00LjQ4Ni0xMC0xMC0xMC0xMCA0LjQ4Ni0xMCAxMCA0LjQ4NiAxMCAxMCAxMHptLTcuOTMxLTExYy4xODMtMS40NTguNzU5LTIuNzkyIDEuNjE5LTMuODk4bDEuMzYyIDEuMzYzIDEuNDE0LTEuNDE0LTEuMzYyLTEuMzYyYzEuMTA2LS44NiAyLjQ0LTEuNDM2IDMuODk4LTEuNjE5djEuOTNoMnYtMS45MzFjMS40NTguMTgzIDIuNzkyLjc1OSAzLjg5OCAxLjYxOWwtMS4zNjIgMS4zNjIgMS40MTQgMS40MTQgMS4zNjItMS4zNjNjLjg2IDEuMTA2IDEuNDM2IDIuNDQgMS42MTkgMy44OThoLTEuOTMxdjJoMS45MzFjLS4xODMgMS40NTgtLjc1OSAyLjc5Mi0xLjYxOSAzLjg5OGwtMS4zNjItMS4zNjMtMS40MTQgMS40MTQgMS4zNjIgMS4zNjJjLTEuMTA2Ljg2LTIuNDQgMS40MzYtMy44OTggMS42MTl2LTEuOTI5aC0ydjEuOTMxYy0xLjQ1OC0uMTgzLTIuNzkyLS43NTktMy44OTgtMS42MTlsMS4zNjItMS4zNjItMS40MTQtMS40MTQtMS4zNjIgMS4zNjNjLS44Ni0xLjEwNi0xLjQzNi0yLjQ0LTEuNjE5LTMuODk4aDEuOTMxdi0yaC0xLjkzMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNTcgMjFoLTI0Ljk4Yy0xLjUxMSAwLTIuOTg0LjQyNi00LjI2MiAxLjIyOWwtMjIuMDIxIDEzLjg2NmMtMi4zNCAxLjQ3My0zLjczNyA0LjAwNS0zLjczNyA2Ljc2OXY2LjEzNmMwIC41NTMuNDQ4IDEgMSAxaDMzLjA4OGMuMzQxIDAgLjY1OC0uMTc0Ljg0Mi0uNDYuMTg0LS4yODcuMjA5LS42NDcuMDY3LS45NTctLjc1LTEuNjM1LTEuMDgtMy4zODctLjk3OS01LjIwOC4zMDktNS41OTEgNC45MzYtMTAuMTQ1IDEwLjUzNS0xMC4zNjYgMy4wMjgtLjExNiA1Ljg5Mi45NjcgOC4wNjkgMy4wNiAyLjE3OCAyLjA5MyAzLjM3OCA0LjkxIDMuMzc4IDcuOTMxIDAgLjU1My40NDggMSAxIDFoM2MuNTUyIDAgMS0uNDQ3IDEtMXYtMTdjMC0zLjMwOS0yLjY5MS02LTYtNnptLTI4LjE3NyAyLjkyM2MuOTU5LS42MDQgMi4wNjQtLjkyMyAzLjE5Ny0uOTIzaDEwLjM3bC04LjM5MSA1LjAzNXYtLjAzNWgtMTEuNjUxem0tMjIuMDIgMTMuODY0IDEyLjM2OC03Ljc4N2gxMS41NTJsLTE4LjIzMyAxMC45NGMtMS4xNTcuNjk0LTIuNDggMS4wNi0zLjgyNyAxLjA2aC00LjU5NmMuMjQ4LTEuNzI4IDEuMjI5LTMuMjYzIDIuNzM2LTQuMjEzem01NC4xOTcgNS4yMTNoLTEuMDM4Yy0uMjM5LTMuMTg4LTEuNjIzLTYuMTMyLTMuOTU1LTguMzc0LTIuNTczLTIuNDczLTUuOTYzLTMuNzUtOS41MzQtMy42MTUtNi4xOS4yNDUtMTEuMzc0IDQuOTctMTIuMzE3IDEwLjk4OWgtMTcuMTU2djJoMTcuMDEzYy4wMDIgMS4zNjEuMjAyIDIuNzE1LjYxNSA0aC0zMC42Mjh2LTRoNC42NjNjMS43MDkgMCAzLjM4OS0uNDY1IDQuODU2LTEuMzQ1bDMyLjc1OC0xOS42NTVoMTAuNzIzYzIuMjA2IDAgNCAxLjc5NCA0IDR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3IDQ4YzIuMjA2IDAgNC0xLjc5NCA0LTRzLTEuNzk0LTQtNC00LTQgMS43OTQtNCA0IDEuNzk0IDQgNCA0em0wLTZjMS4xMDMgMCAyIC44OTcgMiAycy0uODk3IDItMiAyLTItLjg5Ny0yLTIgLjg5Ny0yIDItMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNi42NTEgMTUuNjM1Yy0xLjc1NyAyLjEyNS0xLjQ1OCA1LjI4Mi42NjcgNy4wNGw0LjYyNCAzLjgyM2MuMTg3LjE1NC40MTIuMjI5LjYzNy4yMjkuMjg4IDAgLjU3My0uMTI0Ljc3MS0uMzYyIDEuNzU3LTIuMTI1IDEuNDU4LTUuMjgyLS42NjctNy4wNGwtNC42MjQtMy44MjNjLS40MjYtLjM1Mi0xLjA1Ni0uMjkyLTEuNDA4LjEzM3ptNS42NjIgOC41NzYtMy43MjEtMy4wNzdjLTEuMDA0LS44MzEtMS4zMjktMi4xODUtLjkwNS0zLjM0NWwzLjcyMSAzLjA3N2MxLjAwNS44MzEgMS4zMjkgMi4xODUuOTA1IDMuMzQ1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMS40NDUgOS4yMjktNC42MjQgMy44MjNjLTIuMTI1IDEuNzU4LTIuNDI0IDQuOTE2LS42NjcgNy4wNC4xOTguMjM5LjQ4My4zNjIuNzcxLjM2Mi4yMjUgMCAuNDUtLjA3NS42MzctLjIyOWw0LjYyNC0zLjgyM2MyLjEyNS0xLjc1NyAyLjQyNC00LjkxNS42NjctNy4wNC0uMzUyLS40MjQtLjk4My0uNDg0LTEuNDA4LS4xMzN6bS0uNTMzIDUuNjMyLTMuNzIyIDMuMDc4Yy0uMTUyLS40MTUtLjIxMS0uODYzLS4xNjgtMS4zMTYuMDc2LS43OTguNDU4LTEuNTE5IDEuMDc1LTIuMDI5bDMuNzIxLTMuMDc3Yy40MjMgMS4xNi4wOTkgMi41MTMtLjkwNiAzLjM0NHoiLz4KICAgIDwvZz4KPC9zdmc+",Music:Wfe,"Outdoor Blinds":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NTcgMGgtNDAyYy0zMC4zMjcgMC01NSAyNC42NzMtNTUgNTV2NDU3aDQzMnYtNDA4LjAzNWM3LjUwNyAzLjg0OCAxNiA2LjAzNSAyNSA2LjAzNSAzMC4zMjcgMCA1NS0yNC42NzMgNTUtNTVzLTI0LjY3My01NS01NS01NXptLTQwMiAzMGgzNTMuMDM1Yy0zLjg0OCA3LjUwNy02LjAzNSAxNi02LjAzNSAyNXY3aC0zNzJ2LTdjMC0xMy43ODUgMTEuMjE1LTI1IDI1LTI1em0tMjUgMjcydi0zMGgzNzJ2MzB6bTM3MiAzMHYzMGgtMzcydi0zMHptLTM3Mi05MHYtMzBoMzcydjMwem0wLTYwdi0zMGgzNzJ2MzB6bTAtNjB2LTMwaDM3MnYzMHptMCAzNjB2LTkwaDM3MnY5MHptNDI3LTQwMmMtMTMuNzg1IDAtMjUtMTEuMjE1LTI1LTI1czExLjIxNS0yNSAyNS0yNSAyNSAxMS4yMTUgMjUgMjUtMTEuMjE1IDI1LTI1IDI1eiIvPgogICAgICAgIDxwYXRoIGQ9Im02MCA0MjJoMzB2MzBoLTMweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNDIgNDIyaDMwdjMwaC0zMHoiLz4KICAgIDwvZz4KPC9zdmc+",People:Bfe,Pool:Jfe,"Power Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMTIgM2MtLjI3NiAwLS41LS4yMjQtLjUtLjV2LTJjMC0uMjc2LjIyNC0uNS41LS41cy41LjIyNC41LjV2MmMwIC4yNzYtLjIyNC41LS41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4LjcxOCA1Ljc4MmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMy41IDEyLjVoLTJjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgyYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMjAuMTMyIDIwLjYzMmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDZsLTEuNDE0LTEuNDE0Yy0uMTk1LS4xOTUtLjE5NS0uNTEyIDAtLjcwN3MuNTEyLS4xOTUuNzA3IDBsMS40MTQgMS40MTRjLjE5NS4xOTUuMTk1LjUxMiAwIC43MDctLjA5Ny4wOTctLjIyNS4xNDYtLjM1My4xNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyIDI0Yy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMy44NjggMjAuNjMyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0Ni0uMTk1LS4xOTUtLjE5NS0uNTEyIDAtLjcwN2wxLjQxNC0xLjQxNGMuMTk1LS4xOTUuNTEyLS4xOTUuNzA3IDBzLjE5NS41MTIgMCAuNzA3bC0xLjQxNCAxLjQxNGMtLjA5Ny4wOTctLjIyNS4xNDYtLjM1My4xNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIuNSAxMi41aC0yYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXMuMjI0LS41LjUtLjVoMmMuMjc2IDAgLjUuMjI0LjUuNXMtLjIyNC41LS41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUuMjgyIDUuNzgyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTMtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk4LjA5Ny0uMjI2LjE0Ni0uMzU0LjE0NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTAuNTczIDIwYy0uMDU5IDAtLjExNy0uMDEtLjE3NS0uMDMxLS4yMTktLjA4Mi0uMzUyLS4zMDQtLjMyMS0uNTM0bC44NTMtNi40MzVoLTMuNDNjLS4xODkgMC0uMzYyLS4xMDctLjQ0Ny0uMjc2cy0uMDY3LS4zNzIuMDQ3LS41MjRsNi04Yy4xMzktLjE4Ni4zODYtLjI1Mi41OTctLjE2LjIxMi4wOTEuMzM1LjMxNC4yOTcuNTQybC0uOTA0IDUuNDE4aDMuNDFjLjE4NCAwIC4zNTMuMTAxLjQ0LjI2M3MuMDc4LjM1OC0uMDIyLjUxM2wtNS45MjcgOWMtLjA5NS4xNDMtLjI1NC4yMjQtLjQxOC4yMjR6bS0yLjA3My04aDNjLjE0NSAwIC4yODEuMDYzLjM3Ni4xNzEuMDk1LjEwNy4xMzkuMjUyLjEyLjM5NWwtLjY0MSA0LjgzOCA0LjIxNy02LjQwNGgtMy4wNzJjLS4xNDcgMC0uMjg2LS4wNjQtLjM4Mi0uMTc3LS4wOTUtLjExMi0uMTM2LS4yNjEtLjExMS0uNDA1bC42NjMtMy45Nzh6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Printer:Rfe,Pump:Ffe,Receiver:Gfe,Sconces:Hfe,Security:Vfe,Shading:Zfe,Shutters:Xfe,SmokeDetector:Kfe,Sockets:qfe,Speaker:exe,Stove:txe,"Table Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im05Ny41IDIyMC4zNjEtMTUuOTE0IDE1LjkxNGE2IDYgMCAxIDAgOC40ODQgOC40ODZsMTUuOTE1LTE1LjkxNWE2IDYgMCAxIDAgLTguNDg0LTguNDg1eiIvPgogICAgICAgIDxwYXRoIGQ9Im05NS41MSAxMTdhNiA2IDAgMCAwIDQuMjQzLTEwLjI0MmwtMTUuOTE0LTE1LjkxNWE2IDYgMCAwIDAgLTguNDg2IDguNDg2bDE1LjkxNCAxNS45MTRhNS45NzggNS45NzggMCAwIDAgNC4yNDMgMS43NTd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIzNS41IDI0Mi41MDgtMTUuOTEtMTUuOTE0YTYgNiAwIDAgMCAtOC40ODYgOC40ODVsMTUuOTE0IDE1LjkxNWE2IDYgMCAwIDAgOC40ODYtOC40ODZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTg2LjgyNiAxNzFhNiA2IDAgMCAwIC02LTZoLTI0LjgzN2E2IDYgMCAwIDAgMCAxMmgyNC44MzdhNiA2IDAgMCAwIDYtNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTU1IDIzOS41MjFhNiA2IDAgMCAwIC02IDZ2MjQuODM2YTYgNiAwIDAgMCAxMiAwdi0yNC44MzZhNiA2IDAgMCAwIC02LTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzOC44NTIgNDUxLjk2OWE0MS44MzcgNDEuODM3IDAgMCAwIC00MS4xNjYtMzUuOTY5aC0yOC42ODZ2LTMyNi42ODRhNjkuMzA5IDY5LjMwOSAwIDAgMCAtMTIxLjctNDUuMzgyIDU2LjAyMiA1Ni4wMjIgMCAwIDAgLTQ4LjcwOSA2LjM0OWwtODEuNTE5IDU0LjA2OGE2IDYgMCAwIDAgLS45MjUgOS4yNDJsMjMuNDIyIDIzLjQyMy0xLjQ0MiAxLjQ0MmEzNS4xODggMzUuMTg4IDAgMCAwIDQ5Ljc2MyA0OS43NjNsMS40NDItMS40NDIgMjMuNDIyIDIzLjQyMWE2IDYgMCAwIDAgNC4yNDYgMS43NTljLjIgMCAuNC0uMDEuNi0uMDNhNiA2IDAgMCAwIDQuNC0yLjY1NGw1NC4wNjctODEuNTE5YTU2LjA4OCA1Ni4wODggMCAwIDAgMy40ODgtNTUuNjU2IDI2LjM4NiAyNi4zODYgMCAwIDEgNDYuNDQ1IDE3LjIxNnYzMjYuNjg0aC0yOS4xODJhNDIgNDIgMCAwIDAgLTQxLjM0MyAzNi4wNzYgMjYuNCAyNi40IDAgMCAwIC0yMi40NzUgMjUuOTU2djcuOTY4YTYuMjgyIDYuMjgyIDAgMCAwIDYuMzE5IDZoMjE2LjY5MmE1Ljk5MiA1Ljk5MiAwIDAgMCA1Ljk4OS02di03Ljk2OGEyNi4yNDcgMjYuMjQ3IDAgMCAwIC0yMy4xNDgtMjYuMDYzem0tMjU5LjQ1Mi0yNzIuMjM0YTIzLjE4OCAyMy4xODggMCAwIDEgLTMyLjc5My0zMi43OTJsMS40NDMtMS40NDMgMzIuNzkzIDMyLjc5M3ptMzYuNjQ4IDE2Ljc5NC04Ni4yMy04Ni4yMjkgMTguMDkzLTEyIDgwLjE0IDgwLjE0em01MC4wMTItNzUuNC0zMS4yNDYgNDcuMTEtNzYuNy03Ni43MDUgNDcuMTEtMzEuMjQ2YTQzLjg5NCA0My44OTQgMCAwIDEgNjAuODQgNjAuODQxem0zMy41MjgtNzAuMjcyYTM4LjI1MiAzOC4yNTIgMCAwIDAgLTI2LjY4OCAxMC44MjMgNTQuNjIgNTQuNjIgMCAwIDAgLTE0LjE4Ni0xMi40MzUgNTcuMzEgNTcuMzEgMCAwIDEgOTguMjg2IDQwLjA3MXYzMjYuNjg0aC0xOXYtMzI2LjY4NGEzOC40NjEgMzguNDYxIDAgMCAwIC0zOC40MDktMzguNDY0em0tMi43NyAzNzcuMTQzaDEwMC44NjhjMTQuMjU5IDAgMjYuMTk1IDExIDI4Ljk3NiAyNGgtMTU4LjgxOWMyLjc4MS0xMyAxNC43MTYtMjQgMjguOTc1LTI0em0xNTMuMTgyIDUyaC0yMDV2LTEuOTY4YTE0LjMyIDE0LjMyIDAgMCAxIDE0LjMxOS0xNC4wMzJoMTc2LjY5MmExNC4wMzQgMTQuMDM0IDAgMCAxIDEzLjk4OSAxNC4wMzJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMwNSAzODEuMDMxYTYgNiAwIDAgMCAxMiAwdi03NS44MDZhNiA2IDAgMCAwIC0xMiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTEgMjkwLjg0NGE2IDYgMCAwIDAgNi02di00LjgzNGE2IDYgMCAwIDAgLTEyIDB2NC44MzRhNiA2IDAgMCAwIDYgNnoiLz4KICAgIDwvZz4KPC9zdmc+","Temperature Sensors":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTM1MiwzODUuNDA2VjUzLjMzM0MzNTIsMjMuOTI3LDMyOC4wNzMsMCwyOTguNjY3LDBzLTUzLjMzMywyMy45MjctNTMuMzMzLDUzLjMzM3YzMzIuMDczCgkJCQlDMjMxLjcxOSwzOTkuMzY1LDIyNCw0MTguMDMxLDIyNCw0MzcuMzMzQzIyNCw0NzguNSwyNTcuNSw1MTIsMjk4LjY2Nyw1MTJjNDEuMTY3LDAsNzQuNjY3LTMzLjUsNzQuNjY3LTc0LjY2NwoJCQkJQzM3My4zMzMsNDE4LjAzMSwzNjUuNjE1LDM5OS4zNjUsMzUyLDM4NS40MDZ6IE0yOTguNjY3LDQ5MC42NjdjLTI5LjQwNiwwLTUzLjMzMy0yMy45MjctNTMuMzMzLTUzLjMzMwoJCQkJYzAtMTUuMTA0LDYuMzIzLTI5LjEyNSwxNy44MTMtMzkuNDY5YzIuMjQtMi4wMzEsMy41MjEtNC45MDYsMy41MjEtNy45MjdWNTMuMzMzYzAtMTcuNjQ2LDE0LjM1NC0zMiwzMi0zMgoJCQkJYzE3LjY0NiwwLDMyLDE0LjM1NCwzMiwzMnYzMzYuNjA0YzAsMy4wMjEsMS4yODEsNS44OTYsMy41MjEsNy45MjdDMzQ1LjY3Nyw0MDguMjA4LDM1Miw0MjIuMjI5LDM1Miw0MzcuMzMzCgkJCQlDMzUyLDQ2Ni43NCwzMjguMDczLDQ5MC42NjcsMjk4LjY2Nyw0OTAuNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDkuMzMzLDQwNy4yOThWMjI0YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42Njd2MTgzLjI5OAoJCQkJYy0xMi4zODksNC40MTgtMjEuMzMzLDE2LjE0Ny0yMS4zMzMsMzAuMDM1YzAsMTcuNjQ2LDE0LjM1NCwzMiwzMiwzMmMxNy42NDYsMCwzMi0xNC4zNTQsMzItMzIKCQkJCUMzMzAuNjY3LDQyMy40NDUsMzIxLjcyMyw0MTEuNzE2LDMwOS4zMzMsNDA3LjI5OHogTTI5OC42NjcsNDQ4Yy01Ljg4NSwwLTEwLjY2Ny00Ljc4MS0xMC42NjctMTAuNjY3CgkJCQljMC01Ljg4NSw0Ljc4MS0xMC42NjcsMTAuNjY3LTEwLjY2N2M1Ljg4NSwwLDEwLjY2Nyw0Ljc4MSwxMC42NjcsMTAuNjY3QzMwOS4zMzMsNDQzLjIxOSwzMDQuNTUyLDQ0OCwyOTguNjY3LDQ0OHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywzNDEuMzMzaC02NGMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDY0CgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzQ2LjEwNCwyMTkuMjI5LDM0MS4zMzMsMjEzLjMzMywzNDEuMzMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDI5OC42NjdIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzAzLjQzOCwyMTkuMjI5LDI5OC42NjcsMjEzLjMzMywyOTguNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDI1NkgxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMKCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwyNjAuNzcxLDIxOS4yMjksMjU2LDIxMy4zMzMsMjU2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDIzNC42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0CgkJCQljLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdTMTQzLjQzOCwyMzQuNjY3LDE0OS4zMzMsMjM0LjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTQ5LjMzMywxMDYuNjY3aDY0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3aC02NAoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMTA2LjY2NywxNDkuMzMzLDEwNi42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTcwLjY2N0gxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMKCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwxNzUuNDM4LDIxOS4yMjksMTcwLjY2NywyMTMuMzMzLDE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTI4SDE5MmMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDIxLjMzMwoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDEzMi43NzEsMjE5LjIyOSwxMjgsMjEzLjMzMywxMjh6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Tv:sxe,"Vacuum Cleaner":"PHN2ZyB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ0MCA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOC0uMDI3MzQ0LTIyLjA4MjAzMS0xNy45MTc5NjktMzkuOTcyNjU2LTQwLTQwLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LThjMzAuOTE0MDYyLjAzNTE1NiA1NS45NjQ4NDQgMjUuMDg1OTM4IDU2IDU2IDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzLTMuNTgyMDMxLTgtOC04LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04YzEzLjI1MzkwNiAwIDI0IDEwLjc0NjA5NCAyNCAyNCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04LS4wNDY4NzUtMzkuNzQ2MDk0LTMyLjI1MzkwNi03MS45NTMxMjUtNzItNzItNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOHMzLjU4MjAzMS04IDgtOGM0OC41NzgxMjUuMDU4NTkzOCA4Ny45NDE0MDYgMzkuNDIxODc1IDg4IDg4IDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOCAuMDM1MTU2LTMwLjkxNDA2MiAyNS4wODU5MzgtNTUuOTY0ODQ0IDU2LTU2IDQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4Yy0yMi4wODIwMzEuMDI3MzQ0LTM5Ljk3MjY1NiAxNy45MTc5NjktNDAgNDAgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IDAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOC04IDMuNTgyMDMxLTggOC0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LTggLjA1ODU5MzgtNDguNTc4MTI1IDM5LjQyMTg3NS04Ny45NDE0MDYyIDg4LTg4IDQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4Yy0zOS43NDYwOTQuMDQ2ODc1LTcxLjk1MzEyNSAzMi4yNTM5MDYtNzIgNzIgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0MCA0MTZjMjYuNTA3ODEyIDAgNDgtMjEuNDkyMTg4IDQ4LTQ4cy0yMS40OTIxODgtNDgtNDgtNDgtNDggMjEuNDkyMTg4LTQ4IDQ4Yy4wMjczNDQgMjYuNSAyMS41IDQ3Ljk3MjY1NiA0OCA0OHptMC04MGMxNy42NzE4NzUgMCAzMiAxNC4zMjgxMjUgMzIgMzJzLTE0LjMyODEyNSAzMi0zMiAzMi0zMi0xNC4zMjgxMjUtMzItMzIgMTQuMzI4MTI1LTMyIDMyLTMyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQwIDE4NGMxMy4yNTM5MDYgMCAyNC0xMC43NDYwOTQgMjQtMjRzLTEwLjc0NjA5NC0yNC0yNC0yNC0yNCAxMC43NDYwOTQtMjQgMjQgMTAuNzQ2MDk0IDI0IDI0IDI0em0wLTMyYzQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzE3Ljk0NTMxMiAxNTJ2LjA0Njg3NWguMDU0Njg4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE1Mmg0OHYxNmgtNDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yODAgMTUyaDQ4djE2aC00OHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0MCA0OGMtMTAxLjI2NTYyNS0uMDExNzE5LTE4OC45NDUzMTIgNzAuMzMyMDMxLTIxMC44OTA2MjUgMTY5LjE4NzUtMjEuOTQ1MzEzIDk4Ljg1OTM3NSAyNy43MzQzNzUgMTk5LjY5MTQwNiAxMTkuNDkyMTg3IDI0Mi41MzEyNSA1Ny45MjU3ODIgMjcuMDM1MTU2IDEyNC44NTE1NjMgMjcuMDM1MTU2IDE4Mi43ODEyNSAwIDkxLjc1NzgxMy00Mi44MzU5MzggMTQxLjQzMzU5NC0xNDMuNjY0MDYyIDExOS40OTIxODgtMjQyLjUyMzQzOC0yMS45NDE0MDYtOTguODU1NDY4LTEwOS42MTMyODEtMTY5LjE5OTIxOC0yMTAuODc1LTE2OS4xOTUzMTJ6bTAgMTZjMTA3LjI4NTE1Ni4xMzI4MTIgMTk1LjM5ODQzOCA4NC44MDQ2ODggMTk5LjgwMDc4MSAxOTJoLTE2Yy00LjU4MjAzMS05OC4xNzk2ODgtODUuNTE1NjI1LTE3NS40MjE4NzUtMTgzLjgwMDc4MS0xNzUuNDIxODc1cy0xNzkuMjE4NzUgNzcuMjQyMTg3LTE4My44MDA3ODEgMTc1LjQyMTg3NWgtMTZjNC40MDIzNDMtMTA3LjE5NTMxMiA5Mi41MTU2MjUtMTkxLjg2NzE4OCAxOTkuODAwNzgxLTE5MnptMjkuMTEzMjgxIDI0NS40OTYwOTRjMzAuNjgzNTk0IDExLjk4ODI4MSA1MC44ODI4MTMgNDEuNTU4NTk0IDUwLjg4NjcxOSA3NC41MDM5MDZ2MjcuNjQwNjI1Yy00OS44Nzg5MDYgMjcuMTQ0NTMxLTExMC4xMjEwOTQgMjcuMTQ0NTMxLTE2MCAwdi0yNy42NDA2MjVjLjAwMzkwNi0yNi40Mjk2ODggMTMuMDYyNS01MS4xNTIzNDQgMzQuODg2NzE5LTY2LjA1NDY4OCAyMS44MjgxMjUtMTQuOTA2MjUgNDkuNjA5Mzc1LTE4LjA2NjQwNiA3NC4yMjY1NjItOC40NDkyMTh6bTY2Ljg4NjcxOSA3NC41MDM5MDZjMC01My4wMTk1MzEtNDIuOTgwNDY5LTk2LTk2LTk2cy05NiA0Mi45ODA0NjktOTYgOTZ2MTcuNzM0Mzc1Yy0zOC44NjMyODEtMjYuOTgwNDY5LTY0LjUwNzgxMi02OS4xMzI4MTMtNzAuNjAxNTYyLTExNi4wNDY4NzUtNi4wOTc2NTctNDYuOTE3OTY5IDcuOTI1NzgxLTk0LjIyMjY1NiAzOC42MDE1NjItMTMwLjIzODI4MXYzNi41NTA3ODFjLjAyNzM0NCAyMi4wODIwMzEgMTcuOTE3OTY5IDM5Ljk3MjY1NiA0MCA0MGgxNzZjMjIuMDgyMDMxLS4wMjczNDQgMzkuOTcyNjU2LTE3LjkxNzk2OSA0MC00MHYtMzYuNTUwNzgxYzMwLjY3NTc4MSAzNi4wMTU2MjUgNDQuNjk5MjE5IDgzLjMyMDMxMiAzOC42MDE1NjIgMTMwLjIzODI4MS02LjA5Mzc1IDQ2LjkxNDA2Mi0zMS43MzgyODEgODkuMDY2NDA2LTcwLjYwMTU2MiAxMTYuMDQ2ODc1em0tMjA4LTI0NC44NjMyODFjNjMuNTg5ODQ0LTU3LjUxNTYyNSAxNjAuNDEwMTU2LTU3LjUxNTYyNSAyMjQgMHY1Mi44NjMyODFjMCAxMy4yNTM5MDYtMTAuNzQ2MDk0IDI0LTI0IDI0aC0xNzZjLTEzLjI1MzkwNiAwLTI0LTEwLjc0NjA5NC0yNC0yNHptLTg3LjcxMDkzOCAxMzIuODYzMjgxaDE2YzIuODM1OTM4IDYxLjAzOTA2MiAzNS42NzE4NzYgMTE2LjcyMjY1NiA4Ny43MTA5MzggMTQ4Ljc1MzkwNnYxOC42NDQ1MzJjLTYxLjQzNzUtMzMuODUxNTYzLTEwMC43NTM5MDYtOTcuMzEyNS0xMDMuNzEwOTM4LTE2Ny4zOTg0Mzh6bTExOS43MTA5MzggMTc1LjI0NjA5NHYtMTcuNjQ0NTMyYzUwLjUwMzkwNiAyNC41NjI1IDEwOS40OTYwOTQgMjQuNTYyNSAxNjAgMHYxNy42NzE4NzZjLTUwLjk5NjA5NCAyMi4zMzU5MzctMTA5LjAwMzkwNiAyMi4zMzU5MzctMTYwIDB6bTE3Ni03Ljg0NzY1NnYtMTguNjQ0NTMyYzUyLjA0Mjk2OS0zMi4wMjczNDQgODQuODg2NzE5LTg3LjcxMDkzNyA4Ny43MjY1NjItMTQ4Ljc1MzkwNmgxNmMtMi45NjA5MzcgNzAuMDg5ODQ0LTQyLjI4NTE1NiAxMzMuNTUwNzgxLTEwMy43MjY1NjIgMTY3LjM5ODQzOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Ventilation:ixe,"Washing Machines":"PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIDAgNDk2IDQ5NiIgd2lkdGg9IjQ5NnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDg4IDBoLTQwMGMtNC40MjU3ODEgMC04IDMuNTg1OTM4LTggOHYyOTYuODMyMDMxYy0yLjYwMTU2Mi0uNTI3MzQzLTUuMjczNDM4LS44MzIwMzEtOC0uODMyMDMxLTIyLjA1NDY4OCAwLTQwIDE3Ljk0NTMxMi00MCA0MHYuMTY3OTY5Yy03LjgyNDIxOSA1Ljg4NjcxOS0xMy4xNTIzNDQgMTQuMzk4NDM3LTE1LjEyMTA5NCAyMy44MzIwMzFoLTguODc4OTA2Yy00LjQyNTc4MSAwLTggMy41ODU5MzgtOCA4djMyYzAgNC40MTQwNjIgMy41NzQyMTkgOCA4IDhoOHYyNGMwIDMwLjg3ODkwNiAyNS4xMjg5MDYgNTYgNTYgNTZoNDE2YzQuNDI1NzgxIDAgOC0zLjU4NTkzOCA4LTh2LTQ4MGMwLTQuNDE0MDYyLTMuNTc0MjE5LTgtOC04em0tOCAxNnY4MGgtMzg0di04MHptLTQzNS42NTYyNSAzMzkuMTc1NzgxYzIuODM5ODQ0LTEuNjAxNTYyIDQuNDMzNTk0LTQuNzYxNzE5IDQuMDE1NjI1LThsLS4xMjg5MDYtLjkyOTY4N2MtLjEwMTU2My0uNzM0Mzc1LS4yMzA0NjktMS40Njg3NS0uMjMwNDY5LTIuMjQ2MDk0IDAtMTMuMjMwNDY5IDEwLjc2OTUzMS0yNCAyNC0yNCA4LjQ0OTIxOSAwIDE2LjEyMTA5NCA0LjQwNjI1IDIwLjUyNzM0NCAxMS44MDA3ODEgMS4xOTkyMTggMi4wMTU2MjUgMy4yMzQzNzUgMy40MDYyNSA1LjU1MDc4MSAzLjc5Mjk2OSAyLjMyODEyNS4zOTg0MzggNC42OTkyMTktLjI2NTYyNSA2LjQ5NjA5NC0xLjc5Mjk2OSAzLjEyMTA5My0yLjY0ODQzNyA4LjMyMDMxMi01LjgwMDc4MSAxNS40MjU3ODEtNS44MDA3ODEgOC41NTg1OTQgMCAxNi41MzUxNTYgNC43MjY1NjIgMjAuODE2NDA2IDEyLjMzNTkzOCAxLjY2NDA2MyAyLjk3NjU2MiA1LjA1NDY4OCA0LjU1ODU5MyA4LjM4MjgxMyAzLjk2MDkzNyA4LjM1MTU2Mi0xLjQ4ODI4MSAxNi45MDYyNSA0LjI0NjA5NCAxOC40OTYwOTMgMTIuNzQyMTg3LjU3MDMxMyAzLjAzOTA2MyAyLjgzOTg0NCA1LjQ4ODI4MiA1LjgzOTg0NCA2LjI3MzQzOCAzLjAxNTYyNS44MDA3ODEgNi4xNjc5NjktLjIzNDM3NSA4LjE2Nzk2OS0yLjYwOTM3NSA0LjYxNzE4Ny01LjUyNzM0NCAxMS4yODkwNjMtOC43MDMxMjUgMTguMjk2ODc1LTguNzAzMTI1IDEwLjQxNDA2MiAwIDE5LjIxNDg0NCA2LjcxMDkzOCAyMi41MjczNDQgMTZoLTE4OC45MjU3ODJjMS45NDE0MDctNS4yOTY4NzUgNS42MDU0NjktOS45Mzc1IDEwLjc0MjE4OC0xMi44MjQyMTl6bTEwNy42NTYyNS03NS4xNzU3ODFjMC03NC45OTIxODggNjEuMDA3ODEyLTEzNiAxMzYtMTM2czEzNiA2MS4wMDc4MTIgMTM2IDEzNi02MS4wMDc4MTIgMTM2LTEzNiAxMzZjLTExLjI4OTA2MiAwLTIyLjMyODEyNS0xLjUxOTUzMS0zMy4wNzgxMjUtNC4yMTQ4NDQuNjI4OTA2LTEuMTQ0NTMxIDEuMDc4MTI1LTIuMzk0NTMxIDEuMDc4MTI1LTMuNzg1MTU2di0xMi4zMzU5MzhjMTAuMzY3MTg4IDIuODYzMjgyIDIxLjA3ODEyNSA0LjMzNTkzOCAzMiA0LjMzNTkzOCA2Ni4xNjc5NjkgMCAxMjAtNTMuODMyMDMxIDEyMC0xMjBzLTUzLjgzMjAzMS0xMjAtMTIwLTEyMC0xMjAgNTMuODMyMDMxLTEyMCAxMjBjMCAyMS4wODk4NDQgNS40ODA0NjkgNDEuNDMzNTk0IDE1LjgyNDIxOSA1OS41MDM5MDYtMS43OTI5NjkuODA4NTk0LTMuNTM1MTU3IDEuNzI2NTYzLTUuMTkxNDA3IDIuODAwNzgyLTQuMDU4NTkzLTYuMTEzMjgyLTEwLjE1MjM0My0xMC42MzI4MTMtMTcuMjA3MDMxLTEyLjgyNDIxOS02LjE2Nzk2OS0xNS43NjE3MTktOS40MjU3ODEtMzIuMzU5Mzc1LTkuNDI1NzgxLTQ5LjQ4MDQ2OXptNDguNDY0ODQ0IDU2LjA0Njg3NWMtNi4zNjcxODgtOS45MTAxNTYtMTEtMjAuNzAzMTI1LTEzLjY3OTY4OC0zMi4wNDY4NzVoNS4yMTQ4NDRjNy4yODkwNjIgMCAxNC4xNTIzNDQtMi44Mzk4NDQgMTkuMzEyNS04bDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGMxMC4zMjgxMjUgMTAuMzEyNSAyOC4yOTY4NzUgMTAuMzIwMzEyIDM4LjYyNSAwbDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGMxMC4zMjgxMjUgMTAuMzEyNSAyOC4yOTY4NzUgMTAuMzIwMzEyIDM4LjYyNSAwbDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGM1LjE2Nzk2OSA1LjE2MDE1NiAxMi4wMjM0MzggOCAxOS4zMTI1IDhoNS4wOTc2NTZjLTEwLjg4MjgxMiA0NS43OTI5NjktNTIuMDI3MzQ0IDgwLTEwMS4wOTc2NTYgODAtMTAuOTc2NTYyIDAtMjEuNjk1MzEyLTEuNzkyOTY5LTMyLTUuMTI4OTA2di0yLjg3MTA5NGMwLTQuNDE0MDYyLTMuNTc0MjE5LTgtOC04aC04LjgwODU5NGMtMy42ODc1LTE4LjA4OTg0NC0xOS42MjUtMzEuNzI2NTYyLTM4LjcyNjU2Mi0zMS45NTMxMjV6bS0xNi40NjQ4NDQtNTYuMDQ2ODc1YzAtNTcuMzQzNzUgNDYuNjU2MjUtMTA0IDEwNC0xMDRzMTA0IDQ2LjY1NjI1IDEwNCAxMDRjMCAyLjcwMzEyNS0uMTk5MjE5IDUuMzUxNTYyLS40MDYyNSA4aC03LjU5Mzc1Yy0zLjAyMzQzOCAwLTUuODU1NDY5LTEuMTc1NzgxLTgtMy4zMTI1bC00LjY4NzUtNC42ODc1Yy0xMC4zMjgxMjUtMTAuMzEyNS0yOC4yOTY4NzUtMTAuMzIwMzEyLTM4LjYyNSAwbC00LjY4NzUgNC42Nzk2ODhjLTQuMjgxMjUgNC4yODEyNS0xMS43MTg3NSA0LjI4MTI1LTE2IDBsLTQuNjg3NS00LjY3OTY4OGMtMTAuMzI4MTI1LTEwLjMxMjUtMjguMjk2ODc1LTEwLjMyMDMxMi0zOC42MjUgMGwtNC42ODc1IDQuNjc5Njg4Yy00LjI4MTI1IDQuMjgxMjUtMTEuNzE4NzUgNC4yODEyNS0xNiAwbC00LjY4NzUtNC42Nzk2ODhjLTEwLjMyODEyNS0xMC4zMTI1LTI4LjI5Njg3NS0xMC4zMjAzMTItMzguNjI1IDBsLTQuNjg3NSA0LjY3OTY4OGMtMi4xNDQ1MzEgMi4xNDQ1MzEtNC45NzY1NjIgMy4zMjAzMTItOCAzLjMyMDMxMmgtNy42OTUzMTJjLS4xOTkyMTktMi42NDg0MzgtLjMwNDY4OC01LjMyMDMxMi0uMzA0Njg4LTh6bS0xNjggMTA0aDIyNHYxNmgtMjI0em0xNjAgOTZoLTEwNGMtMjIuMDU0Njg4IDAtNDAtMTcuOTQ1MzEyLTQwLTQwdi0yNGgxOTJ2MjRjMCAyMi4wNTQ2ODgtMTcuOTQ1MzEyIDQwLTQwIDQwem00Ny4xMTMyODEgMGMxMC40MDYyNS0xMC4xNzU3ODEgMTYuODg2NzE5LTI0LjMzNTkzOCAxNi44ODY3MTktNDB2LTE1Ljg3MTA5NGMxNS40MjU3ODEgNS4xNDQ1MzIgMzEuNTAzOTA2IDcuODcxMDk0IDQ4IDcuODcxMDk0IDgzLjgxNjQwNiAwIDE1Mi02OC4xODM1OTQgMTUyLTE1MnMtNjguMTgzNTk0LTE1Mi0xNTItMTUyLTE1MiA2OC4xODM1OTQtMTUyIDE1MmMwIDEzLjAxNTYyNSAxLjgwMDc4MSAyNS43MzQzNzUgNS4wMDc4MTIgMzguMTEzMjgxLTYuMjIyNjU2LTMuOTA2MjUtMTMuNDY0ODQzLTYuMTEzMjgxLTIxLjAwNzgxMi02LjExMzI4MS02LjUzNTE1NiAwLTEzIDEuNjcxODc1LTE4Ljc4NTE1NiA0LjgxNjQwNi0xLjU4OTg0NC0xLjcyNjU2Mi0zLjM3NS0zLjIxNDg0NC01LjIxNDg0NC00LjYyNXYtMjAwLjE5MTQwNmgzODR2MzY4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTM2IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjAwIDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY0IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQ4IDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ0OCAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDE2IDMyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM4NCA2NGgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzUyIDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=","Water Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yNjguOTkgMTg3LjQ5OWMtNS43NTEtOS45NTktMjAuMTk2LTEwLjAxNi0yNS45NzkgMC0yMS44MSA0MC42MTEtMzIuMDExIDQ4LjA2MS0zMi4wMTEgNjcuNTAxIDAgMjQuODEzIDIwLjE4NyA0NSA0NSA0NXM0NS0yMC4xODcgNDUtNDVjMC0xOS40NTgtMTAuNDg2LTI3LjQyMS0zMi4wMS02Ny41MDF6bS0xMi45OSA4Mi41MDFjLTguMjcxIDAtMTUtNi43MjktMTUtMTUgMC02LjY4NyAzLjA0Mi04LjIxNSAxNS0zMC4wMDUgMTEuOTc0IDIxLjgxOCAxNSAyMy4zMTggMTUgMzAuMDA1IDAgOC4yNzEtNi43MjkgMTUtMTUgMTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNiAwaC0zMDBjLTguNzY5IDAtMTUuNjc2IDcuNTAyLTE0Ljk0OCAxNi4yNDZsMzAgMzYwYy42NDggNy43NzQgNy4xNDcgMTMuNzU0IDE0Ljk0OCAxMy43NTRoNzV2MzJoLTE1Yy0xMy4zMTggMC0yMC4wNDggMTYuMTY1LTEwLjYwNiAyNS42MDZsNjAgNjBjNS44NTcgNS44NTggMTUuMzU1IDUuODU5IDIxLjIxMyAwbDYwLTYwYzkuNDE3LTkuNDE3IDIuNzQ1LTI1LjYwNi0xMC42MDctMjUuNjA2aC0xNXYtMzJoNzVjNy44MDEgMCAxNC4zLTUuOTggMTQuOTQ4LTEzLjc1NGwzMC0zNjBjLjcyOC04LjczOS02LjE3NC0xNi4yNDYtMTQuOTQ4LTE2LjI0NnptLTE2LjMwMiAzMC01LjM0NiA2NC4xNDdjLTIxLjc2OCA4LjM0My0zNS44NzEgMjUuODUzLTUzLjM1MiAyNS44NTMtMjIuNzE3IDAtNDAuNDIzLTMwLTc1LTMwLTM0LjcyNyAwLTUyLjE3NiAzMC03NSAzMC0xNy40ODUgMC0zMS41NTYtMTcuNDk5LTUzLjM1Mi0yNS44NTNsLTUuMzQ2LTY0LjE0N3ptLTI3LjUgMzMwaC03Ni4xOThjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NjJjMCA2LjQzMiA0LjA0OCAxMS45MTkgOS43MzYgMTQuMDVsLTI0LjczNiAyNC43MzctMjQuNzM2LTI0LjczNmM1LjY4OC0yLjEzMSA5LjczNi03LjYxOCA5LjczNi0xNC4wNXYtNjJjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtNzYuMTk4bC0xOS4yMDgtMjMwLjUwMmMxNC4zMTUgOS4xNTMgMjkuMDc2IDIwLjUwMSA1MC40MDYgMjAuNTAxIDM0LjcyNyAwIDUyLjE3Ni0zMCA3NS0zMCAyMi43MTcgMCA0MC40MjMgMzAgNzUgMzAgMjEuMDE5IDAgMzUuNDQ5LTEwLjkzNyA1MC40MDYtMjAuNTAyeiIvPgogICAgPC9nPgo8L3N2Zz4=","Water Heater":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTY3LDE4NS4zMjV2MjgxYTM1LjU0MSwzNS41NDEsMCwwLDAsMzUuNDY5LDM1LjYzMUwzMTkuMDYsNTAyaC4wMDZBMzUuODkxLDM1Ljg5MSwwLDAsMCwzNTUsNDY2LjM2OVY0NjRoNjAuNjJjMzQuODM3LDAsNjMuMzgtMjcuODcsNjMuMzgtNjIuNzE1VjE4OS43M2MwLTM0Ljg0NC0yOC41NDMtNjIuNzMtNjMuMzgtNjIuNzNIMzU1di05LjY4OWMwLS4wNzQtLjE2LS4xNDYtLjE2Mi0uMjE5cy0uMDY1LS4xMTQtLjA2NS0uMTg3QTYyLjA0NCw2Mi4wNDQsMCwwLDAsMjkyLjc2Myw1NUgyMTlWNDRoMTcuODI4QzI0NS42NSw0NCwyNTMsMzcuMiwyNTMsMjguMzc0VjI2YTE2LjE2NywxNi4xNjcsMCwwLDAtMTYuMTcyLTE2SDE4OS43MDZBMTUuNzcsMTUuNzcsMCwwLDAsMTc0LDI2djIuMzc0QTE1LjQ1NCwxNS40NTQsMCwwLDAsMTg5LjcwNiw0NEgyMDdWNTVIMTMzLjc3MUMxMDEuNSw1NSw3NC45MjQsODAsNzIuMSwxMTFIMzkuMmE2LjA1Niw2LjA1NiwwLDAsMC01LjIsOC45MjlaTTM1NSwxNjFoNjAuNjJBMjguNTgxLDI4LjU4MSwwLDAsMSw0NDQsMTg5LjczVjQwMS4yODVBMjguNTY4LDI4LjU2OCwwLDAsMSw0MTUuNjIsNDMwSDM1NVptMCwyODFoNjAuNjJBNDAuNTgxLDQwLjU4MSwwLDAsMCw0NTYsNDAxLjI4NVYxODkuNzNBNDAuNTk0LDQwLjU5NCwwLDAsMCw0MTUuNjIsMTQ5SDM1NVYxMzloNjAuNjJjMjguMjIxLDAsNTEuMzgsMjIuNSw1MS4zOCw1MC43M1Y0MDEuMjg1QzQ2Nyw0MjkuNTEzLDQ0My44NDEsNDUyLDQxNS42Miw0NTJIMzU1Wm0tMTIsMjQuMzY5QTIzLjg5MSwyMy44OTEsMCwwLDEsMzE5LjA2Niw0OTBoMGwtMjE2LjU5MS0uMDQxQTIzLjUyNywyMy41MjcsMCwwLDEsNzksNDY2LjMyOFY0NTIuNTdsMjY0LC4wNDlaTTE5MCwzMmE0LDQsMCwwLDEtNC00VjI2YTQsNCwwLDAsMSw0LTRoNDdhNCw0LDAsMCwxLDQsNHYyYTQsNCwwLDAsMS00LDRaTTEzMy43NzEsNjdIMjkyLjc2M2E0OS44MjksNDkuODI5LDAsMCwxLDQ5LjU3Niw0NEg4NC4yQTQ5LjgzLDQ5LjgzLDAsMCwxLDEzMy43NzEsNjdaTTM0MywxMjNWNDQwLjYxOUw3OSw0NDAuNTdWMTgzLjlhNi44NTMsNi44NTMsMCwwLDAtLjgtMi44NTFMNDguOTM0LDEyM1oiLz4KICAgICAgICA8cGF0aCBkPSJNMjAzLDM4OC40NDNBMzUuMDE3LDM1LjAxNywwLDAsMCwyMzgsMzUzLjZWMjM2Ljg0NGEzNSwzNSwwLDAsMC03MCwwVjM1My42QTM1LjAxNywzNS4wMTcsMCwwLDAsMjAzLDM4OC40NDNabS0yMy0xNTEuNmEyMywyMywwLDAsMSw0NiwwVjI4OUgxODBaTTE4MCwzMDFoNDZ2NTIuNmEyMywyMywwLDAsMS00NiwwWiIvPgogICAgICAgIDxwYXRoIGQ9Ik05OSwzMTQuOTEzYTYsNiwwLDAsMCw2LTZWMjMzLjEwNmE2LDYsMCwwLDAtMTIsMHY3NS44MDdBNiw2LDAsMCwwLDk5LDMxNC45MTNaIi8+CiAgICAgICAgPHBhdGggZD0iTTk5LDIxOC43MjZhNiw2LDAsMCwwLDYtNnYtNC44MzRhNiw2LDAsMCwwLTEyLDB2NC44MzRBNiw2LDAsMCwwLDk5LDIxOC43MjZaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=",Water:rxe,Weather:oxe,Window:nxe},Mxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTA0IDQ4LjAxNTYyNWgtNDk2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTktOC04di0zMi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OTZjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHYzMi4wMTU2MjVjMCA0LjQyNTc4MS0zLjU3NDIxOSA4LTggOHptLTQ4OC0xNmg0ODB2LTE2LjAxNTYyNWgtNDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQwIDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDk2IDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00NzIgMTg0LjEyODkwNmgtNDMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcxLjk4NDM3NSAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMjIuMDU4NTk0IDE3LjkzNzUtNDAgMzkuOTkyMTg3LTQwIDQuNDIxODc2IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNCA4LTggOC0xMy4yMjI2NTYgMC0yMy45OTIxODcgMTAuNzY1NjI1LTIzLjk5MjE4NyAyNCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTc5Ljk4NDM3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTIwLjAwNzgxMiAxMjguMTI4OTA2aC0xNi4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAzMTI1YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjM0Mzc1LTEwLjc2OTUzMS0yNC0yMy45OTIxODgtMjQtNC40MjE4NzQgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI2LTggOC04IDIyLjA1NDY4OCAwIDM5Ljk5MjE4OCAxNy45NDE0MDYgMzkuOTkyMTg4IDQwIDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xODMuOTg0Mzc1IDEzOC45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDIuODM5ODQ0YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LTggNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOHY0Mi44Mzk4NDRjMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzIgODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIwMCA5Ni4xMjg5MDZoLTE2LjAxNTYyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAxNTYyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNDcuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI4MC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOC00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggMTMuMjM0Mzc1IDAgMjQgMTAuNzY1NjI1IDI0IDI0IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzIuMTY3OTY5IDI2NC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQ3Ljk4NDM3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djQ3Ljk4NDM3NWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1Ni4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZjLTQuNDIxODc1IDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzI4LjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2aC04MC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg4MC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41ODIwMzEgOC04LjAwNzgxMyA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjY0LjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOHYtNDhjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djQ4YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjE5OTIxOSAyMTYuMTQ0NTMxaC00OC4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ4LjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMi4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",cxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2Mi43ODcgMzYyLjc4NyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0yNjAuOTQ1LDE0NC45NzljLTIuNjY3LDAtNS4xMzMsMS40MTYtNi40NzcsMy43MTlsLTQ3LjQ4NCw4MS4zMzNjLTEuMzU0LDIuMzE5LTEuMzY1LDUuMTg2LTAuMDI3LDcuNTE2CgkJYzEuMzM3LDIuMzI5LDMuODE4LDMuNzY2LDYuNTA0LDMuNzY2aDk0Ljk2OGMyLjY4NiwwLDUuMTY3LTEuNDM3LDYuNTA0LTMuNzY2YzEuMzM4LTIuMzMsMS4zMjctNS4xOTYtMC4wMjctNy41MTZsLTQ3LjQ4My04MS4zMzMKCQlDMjY2LjA3OCwxNDYuMzk1LDI2My42MTIsMTQ0Ljk3OSwyNjAuOTQ1LDE0NC45Nzl6IE0yMjYuNTI0LDIyNi4zMTJsMzQuNDIxLTU4Ljk1OGwzNC40Miw1OC45NThIMjI2LjUyNHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzU1LjI4NywyNTQuNjloLTE3NS42Mmw4MS4yNzgtMTM5LjIxOGw2Mi45MjYsMTA3Ljc4M2MyLjA4OCwzLjU3OCw2LjY4Myw0Ljc4NCwxMC4yNTgsMi42OTYKCQljMy41NzctMi4wODgsNC43ODQtNi42ODEsMi42OTUtMTAuMjU4TDI2Ny40MjIsOTYuODE1Yy0wLjAyMS0wLjAzNi0wLjA0OC0wLjA2Ny0wLjA2OS0wLjEwM2MtMC4xMjYtMC4yMDgtMC4yNjItMC40MDgtMC40MDctMC42MDMKCQljLTAuMDQ0LTAuMDU5LTAuMDg2LTAuMTE4LTAuMTMxLTAuMTc2Yy0wLjE4My0wLjIzLTAuMzc2LTAuNDUxLTAuNTg0LTAuNjU4Yy0wLjAyNC0wLjAyNC0wLjA1MS0wLjA0NS0wLjA3Ni0wLjA2OQoJCWMtMC4xODYtMC4xOC0wLjM4My0wLjM0OS0wLjU4Ny0wLjUwOWMtMC4wNjUtMC4wNTEtMC4xMzItMC4xLTAuMTk5LTAuMTQ4Yy0wLjE4Ny0wLjEzNy0wLjM3OS0wLjI2NC0wLjU3OC0wLjM4NAoJCWMtMC4wNTUtMC4wMzMtMC4xMDgtMC4wNjgtMC4xNjQtMC4xYy0wLjI2MS0wLjE0Ny0wLjUzLTAuMjgyLTAuODA5LTAuMzk3Yy0wLjAxMS0wLjAwNC0wLjAyMi0wLjAwOC0wLjAzMy0wLjAxMgoJCWMtMC4yNi0wLjEwNi0wLjUyOC0wLjE5Ni0wLjgwMi0wLjI3M2MtMC4wNzMtMC4wMjEtMC4xNDYtMC4wMzgtMC4yMi0wLjA1NmMtMC4yMjItMC4wNTUtMC40NDctMC4xLTAuNjc3LTAuMTM1CgkJYy0wLjA3OS0wLjAxMi0wLjE1Ny0wLjAyNi0wLjIzNi0wLjAzNmMtMC4yOTctMC4wMzYtMC41OTgtMC4wNi0wLjkwNi0wLjA2SDEwMS44NDJjLTIuNjY3LDAtNS4xMzMsMS40MTYtNi40NzcsMy43MTkKCQlMMS4wMjMsMjU4LjQwOGMtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTZjMS4zMzcsMi4zMjksMy44MTgsMy43NjYsNi41MDQsMy43NjZoODYuNTM4YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDEKCQlzMC4wMTUtMC4wMDEsMC4wMjMtMC4wMDFoMzUuODg5YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDFzMC4wMTUtMC4wMDEsMC4wMjMtMC4wMDFoMzYuNTg2aDE4OC42ODQKCQljNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNVMzNTkuNDMsMjU0LjY5LDM1NS4yODcsMjU0LjY5eiBNMTYyLjI5OCwyNTQuNjloLTE5LjI2M2w2OS40My0xMTkuNDcKCQljMi4wODEtMy41ODIsMC44NjUtOC4xNzItMi43MTYtMTAuMjUzYy0zLjU4LTIuMDgzLTguMTczLTAuODY2LTEwLjI1MywyLjcxNmwtNzMuODEsMTI3LjAwN0gxMDcuMWw4NS4xOTItMTQ2LjU5NGg1NS41OQoJCUwxNjIuMjk4LDI1NC42OXogTTEwNi4xNDcsMTA4LjA5NmgzNC4wOTFMNzQuNzg5LDIyMC43MTdjLTIuMDgxLDMuNTgyLTAuODY1LDguMTcyLDIuNzE2LDEwLjI1MwoJCWMxLjE4NiwwLjY4OSwyLjQ4MiwxLjAxNywzLjc2MiwxLjAxN2MyLjU4NCwwLDUuMS0xLjMzNyw2LjQ5MS0zLjczM2w2OS44My0xMjAuMTU4aDE3LjM1Nkw4OS43NTEsMjU0LjY5SDIwLjU2M0wxMDYuMTQ3LDEwOC4wOTZ6IgogICAgICAgIC8+CiAgICA8L2c+Cjwvc3ZnPgo=",uxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTYuNzA0IDI3Mi4wODZoLTgxLjcwNHYtODguMDczYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djg4LjA3M2gtMTV2LTE5My43MWMwLTguMjQ5LTYuNzExLTE0Ljk1OS0xNC45NTktMTQuOTU5aC05MS41ODJjLTguMjQ4IDAtMTQuOTU5IDYuNzEtMTQuOTU5IDE0Ljk1OXYxOTMuNzFoLTE1di0xOTMuNzFjMC04LjI0OS02LjcxMS0xNC45NTktMTQuOTU5LTE0Ljk1OWgtOTEuNTgyYy04LjI0OCAwLTE0Ljk1OSA2LjcxLTE0Ljk1OSAxNC45NTl2MTkzLjcxaC0xNXYtMjIzLjY2OWgyODh2MTAwLjU5NmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0xMDAuNTk2aDMuMjA0YzguNDM1IDAgMTUuMjk2LTYuODgzIDE1LjI5Ni0xNS4zNDR2LTE3LjczYzAtOC40Ni02Ljg2MS0xNS4zNDMtMTUuMjk2LTE1LjM0M2gtMzI0LjQwOGMtOC40MzUgMC0xNS4yOTYgNi44ODMtMTUuMjk2IDE1LjM0NHYxNy43M2MwIDguNDYgNi44NjEgMTUuMzQ0IDE1LjI5NiAxNS4zNDRoMy4yMDR2MjIzLjY2OWgtODEuNzA0Yy04LjQzNS0uMDAxLTE1LjI5NiA2Ljg2MS0xNS4yOTYgMTUuMjk1djE3LjYyMmMwIDguNDM1IDYuODYxIDE1LjI5NiAxNS4yOTYgMTUuMjk2aC41djE0My40ODZoLS41Yy04LjQzNSAwLTE1LjI5NiA2Ljg2Mi0xNS4yOTYgMTUuMjk2djE3LjYyMmMwIDguNDM0IDYuODYxIDE1LjI5NiAxNS4yOTYgMTUuMjk2aDIyMy4yMDRjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTIyMy4yMDRjLS4xNjMgMC0uMjk2LS4xMzMtLjI5Ni0uMjk2di0xNy42MjJjMC0uMTYzLjEzMy0uMjk2LjI5Ni0uMjk2aDQ4MS40MDhjLjE2MyAwIC4yOTYuMTMzLjI5Ni4yOTZ2MTcuNjIyYzAgLjE2My0uMTMzLjI5Ni0uMjk2LjI5NmgtMjIzLjIwNGMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgyMjMuMjA0YzguNDM1IDAgMTUuMjk2LTYuODYyIDE1LjI5Ni0xNS4yOTZ2LTE3LjYyMmMwLTguNDM0LTYuODYxLTE1LjI5Ni0xNS4yOTYtMTUuMjk2aC0uNXYtMTQzLjQ4NmguNWM4LjQzNSAwIDE1LjI5Ni02Ljg2MiAxNS4yOTYtMTUuMjk2di0xNy42MjJjMC04LjQzNC02Ljg2MS0xNS4yOTYtMTUuMjk2LTE1LjI5NnptLTQwMy4yMDQtMjM5LjAxMnYtMTcuNzNjMC0uMjEyLjE1My0uMzQ0LjI5Ni0uMzQ0aDMyNC40MDhjLjE0MyAwIC4yOTYuMTMxLjI5Ni4zNDR2MTcuNzNjMCAuMjEyLS4xNTMuMzQ0LS4yOTYuMzQ0LTE1LjM2NyAwLTMwOS4wNTEgMC0zMjQuNDA4IDAtLjE0My0uMDAxLS4yOTYtLjEzMi0uMjk2LS4zNDR6bTE4NC45NTkgNDUuMzQzIDkxLjU0MS0uMDQxdjE5My43MWgtOTEuNTAyem0tMTM2LjUgMCA5MS41NDEtLjA0MXYxOTMuNzFoLTkxLjUwMnptMzM5LjI0NSAzODQuODE3aC00NTAuNDA4di0xNDIuOTM0aDQ1MC40MDh6bTE1Ljc5Ni0xNTguMjNjMCAuMTY0LS4xMzMuMjk2LS4yOTYuMjk2LTIuODI0IDAtNDcxLjE1MyAwLTQ4MS40MDggMC0uMTYzIDAtLjI5Ni0uMTMzLS4yOTYtLjI5NnYtMTcuNjIyYzAtLjE2My4xMzMtLjI5Ni4yOTYtLjI5Nmg0ODEuNDA4Yy4xNjMgMCAuMjk2LjEzMy4yOTYuMjk2eiIvPgogICAgICAgIDxwYXRoIGQ9Im02Ny42NTUgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjktNy4xMzMgMTUuOS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzMtMTUuOTAxLTE1LjktMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NiAwIC45LjQwNC45LjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTM5LjQwNiA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjMCA4Ljc2OCA3LjEzNCAxNS45MDEgMTUuOTAxIDE1LjkwMXptLS45MDEtODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45MDEtLjkwMWgxOC45ODljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45ODljLS40OTcgMC0uOTAxLS40MDQtLjkwMS0uOTAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMTAuNzk2IDQ0Mi43MDRoMTguOTljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTljLTguNzY4IDAtMTUuOSA3LjEzMy0xNS45IDE1LjkwMXY2OS41MmMwIDguNzY4IDcuMTMyIDE1LjkwMSAxNS45IDE1LjkwMXptLS45LTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOS0uOTAxaDE4Ljk5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTljLS40OTYgMC0uOS0uNDA0LS45LS45MDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI4Mi41NDcgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzU0LjEzMSA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjLS4wMDEgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAyLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDI1LjUyMSA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjMCA4Ljc2OCA3LjEzNCAxNS45MDEgMTUuOTAxIDE1LjkwMXptLS45MDEtODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45MDEtLjkwMWgxOC45ODljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45ODljLS40OTcgMC0uOTAxLS40MDQtLjkwMS0uOTAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTYuNDExIDEwNy4yNjhjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDIzLjUxMiAyMy41MTJjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQyLjYwNCA5Mi44MzJjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDExLjc1NiAxMS43NTZjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4KICAgIDwvZz4KPC9zdmc+",lxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00MTMuOTA3IDBjLTU0LjEwNCAwLTk4LjEyMiA0NC4wMDUtOTguMTIyIDk4LjA5NnY0My41ODJzLTY5LjgzMS0zNi45MTItNzEuMDY1LTM3LjU5M2MtOS41NDQtNS4yNjYtMTIuMTg1LTUuMjY3LTIxLjczMSAwLTEuMjM0LjY4MS0xMzYuMTQxIDcxLjk1OC0xMzYuMTQxIDcxLjk1OC0xMS40MzcgNi4wMTctMTMuMDQ1IDcuNzQ1LTE3Ljg3OCAxNS43ODMtLjc4OCAxLjMxMS02NS42OTggMTA0LjIzLTY1LjY5OCAxMDQuMjMtMy4xNzUgNS4wMjMtNC4wNzcgMTAuOTYyLTIuNTM5IDE2LjcyMiAxLjYxNyA2LjA1NiA1Ljg0IDExLjI2OSAxMS41NzcgMTQuMjk1IDMuNjQ2IDEuOTMgNy41ODIgMi44NSAxMS40NjUgMi44NSA2LjIwMiAwIDEyLjI1NS0yLjM1OCAxNi43NDUtNi42ODh2NjUuMDQ0YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTg3LjU0MXM0OS4xMzQtNzcuODU1IDQ5LjY1Mi03OC42ODJjMi4zMzQtMy43MjkgMy4zMjgtNS4yODMgNC40OTYtNi4zMTggMS4zMzMtMS4xODEgMy42NjUtMi40NjQgOC42NjUtNS4xMDdsMTEzLjAwMi01OS42NDljLjgwMS0uNDI1IDEuNDktLjgwMyAyLjA5My0xLjEzMy4xNDEtLjA3Ny4yODUtLjE1Ni40MjgtLjIzNC4xNDMuMDc4LjI4Ny4xNTcuNDI4LjIzNC42MDMuMzMxIDEuMjkyLjcwOCAyLjEwOSAxLjE0MiAwIDAgMTE4LjE5MyA2Mi40MTMgMTE5LjY0MiA2My4zMS44NjkuNTM4IDEuNTA5Ljk5NSAyLjAwOSAxLjQzOCAxLjE2NyAxLjAzNSAyLjE2MiAyLjU4OSA0LjQ5NiA2LjMxOC41MTguODI3IDQ5LjY1MSA3OC42ODEgNDkuNjUxIDc4LjY4MXYxNjAuNzE2aC04NC45MjF2LTEwNC4zNGgxMi42MjVjNy42NTIgMCAxMy44NzgtNi4yMjYgMTMuODc4LTEzLjg3OHYtMjEuNDNjMC03LjY1Mi02LjIyNi0xMy44NzgtMTMuODc4LTEzLjg3OGgtODUuMTIyYy00LjE0MiAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU4IDcuNSA3LjUgNy41aDg0djE5LjE4NmgtMjA5Ljgxdi0xOS4xODZoOTEuMmM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtOTIuMzIyYy03LjY1MiAwLTEzLjg3OCA2LjIyNi0xMy44NzggMTMuODc4djIxLjQzYzAgNy42NTIgNi4yMjYgMTMuODc4IDEzLjg3OCAxMy44NzhoMTIuNjI1djEwNC4zMzloLTg0Ljk0N3YtMzguNTYzYzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djc2LjUzNmMwIDYuOTM0IDUuNjQxIDEyLjU3NCAxMi41NzQgMTIuNTc0aDQ0NS45MDdjNy4xNjcgMCAxMi45OTktNS44MzIgMTIuOTk5LTEyLjk5OXYtNDAwLjkwNWMuMDAxLTU0LjA5MS00NC4wMDQtOTguMDk2LTk4LjA5Mi05OC4wOTZ6bS0yNzMuNDQgNDk3aC04NC45NDh2LTIwLjU0Nmg4NC45NDd2MjAuNTQ2em0xNTkuNzgzLTEzOS44ODYtNjYuMzgyIDU5Ljg0NS02Ni4zODItNTkuODQ1em0tMTQ0Ljc4MyA5LjM1OSA2Ny4yMDEgNjAuNTg0LTY3LjIwMSA2MC41ODR6bTEyLjAyIDEzMC41MjcgNjYuMzgyLTU5Ljg0NSA2Ni4zODEgNTkuODQ1em0xNDQuNzgzLTkuMzU5LTY3LjIwMS02MC41ODQgNjcuMjAxLTYwLjU4NHptOTkuOTE5IDkuMzU5aC04NC45MTl2LTIwLjU0Nmg4NC45MTl6bTUzLjQ0NS0xOTguODIzYy0uMzQ3LS43Mi0uNzMzLTEuNDI3LTEuMTY2LTIuMTE3bC01MS45NDUtODIuMjY2aDg0LjQ3N3Y4NC4zODN6bS0xMzQuODQ4LTIwMC4wODFjMC00NS44MTkgMzcuMjg4LTgzLjA5NiA4My4xMjItODMuMDk2IDQ1LjgxNiAwIDgzLjA5MiAzNy4yNzYgODMuMDkyIDgzLjA5NnYxLjI4N2gtMTY2LjIxNHptMCAxNi4yODdoMTY2LjIxNHY4NC40MTJoLTkzLjk0OXMtMy41MjMtNS42NTYtNC4zMTItNi45NjZjLTQuODMxLTguMDM2LTYuNDQtOS43NjYtMTcuODY4LTE1Ljc3OGwtNTAuMDg2LTI2LjQ1di0zNS4yMTh6bTk1LjI0NiAxODAuMTc3cy01MC4yNzUtNzkuNjU2LTUwLjc4LTgwLjQ2M2MtNC43OTktNy42NjUtNi41MTQtOS44MjUtMTMuMjgxLTEzLjY5Mi0uNTIxLS4yOTctMTE5LjkyOS02My40MDgtMTIwLjQ4Mi02My43MTEtNS4xMDEtMi43OTUtNy44NDctMy4zMi0xMi4wNjctMS41NzItLjAzNy4wMTUtLjA3Ni4wMzQtLjExMy4wNS0uNjE2LjI1OS0xMTcuOTg1IDYyLjE5Ny0xMTcuOTg1IDYyLjE5Ny0xMS43MjcgNi4yLTEyLjk2MSA3LjI5NS0xOC44NjggMTYuNzI5LS41MDUuODA3LTUwLjc4IDgwLjQ2My01MC43OCA4MC40NjMtLjAxLjAxNi0uMDE2LjAzMy0uMDI2LjA0OWwtMTAuMjk0IDE2LjMxYy0yLjM3NSAzLjc2Ny03Ljg4NSA1LjA5Ni0xMi4wMzkgMi44OTQtMi4wNi0xLjA4Ni0zLjU1Mi0yLjg3My00LjA5My00LjkwMS0uMzE2LTEuMTg0LS40NDYtMi45ODQuNzI5LTQuODQzIDAgMCA2NS4wMzctMTAzLjEyNCA2NS44NzItMTA0LjUxMiAzLjQ0OC01LjczNCAzLjQ0OC01LjczNCAxMi4wMTctMTAuMjQzIDAgMCAxMzkuMTkzLTczLjYzOSAxNDAuMDEyLTc0LjAxMy44Mi4zNzQgMTQwLjAxMiA3NC4wMTMgMTQwLjAxMiA3NC4wMTMuMDAzLjAwMi4wMDcuMDA0LjAxMS4wMDYgOC41NTkgNC41MDIgOC41NTkgNC41MDIgMTIuMDA3IDEwLjIzOC44MzQgMS4zODggMS44MTYgMy4wMiAzLjA1OCA0Ljk4N2w2Mi44MzMgOTkuNTA5YzEuMTY4IDEuODYgMS4wMzQgMy42NjkuNzE2IDQuODU5LS41NDQgMi4wMzItMi4wMzIgMy44Mi00LjA3MiA0Ljg5OS00LjIyNiAyLjIzMS05LjY0NS45MjQtMTIuMDY5LTIuODk2bC0xMC4yOTItMTYuMzA3Yy0uMDEtLjAxNy0uMDE2LS4wMzUtLjAyNi0uMDV6bTcwLjk2OCAyMDIuNDRoLTY5LjgxMXYtODQuNDExaDY5LjgxMXptLTY5LjgxMS05OS40MTF2LTc0LjM4OWM3LjMxMyA3LjA0MiAxOC43NjMgOC44NzQgMjguMjM4IDMuODc1IDUuNi0yLjk2NSA5Ljc0Ni04LjAxNiAxMS40MzgtMTMuODk3aDMwLjEzNXY4NC40MTJoLTY5LjgxMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg1LjI2MiAyMzcuODczYzAtMjguMzQ3LTIzLjA2Mi01MS40MDktNTEuNDA4LTUxLjQwOS0yOC4zMzEgMC01MS4zNzkgMjMuMDYyLTUxLjM3OSA1MS40MDlzMjMuMDQ5IDUxLjQwOSA1MS4zNzkgNTEuNDA5YzI4LjM0Ny0uMDAxIDUxLjQwOC0yMy4wNjMgNTEuNDA4LTUxLjQwOXptLTg3Ljc4NyAwYzAtMjAuMDc2IDE2LjMyLTM2LjQwOSAzNi4zNzktMzYuNDA5IDIwLjA3NSAwIDM2LjQwOCAxNi4zMzMgMzYuNDA4IDM2LjQwOXMtMTYuMzMzIDM2LjQwOS0zNi40MDggMzYuNDA5Yy0yMC4wNTktLjAwMS0zNi4zNzktMTYuMzM0LTM2LjM3OS0zNi40MDl6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Nxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTIuOTk1IDE2Ni40ODktMzEuOTk1LTIzLjk5NnYtMTEyLjQ5M2M4LjI4NCAwIDE1LTYuNzE2IDE1LTE1cy02LjcxNi0xNS0xNS0xNWgtOTBjLTguMjg0IDAtMTUgNi43MTYtMTUgMTVzNi43MTYgMTUgMTUgMTV2NDQuOTkybC04OC4wMDktNjYuMDA2Yy0xNS44OTMtMTEuOTA0LTM4LjA5LTExLjkwNS01My45ODkuMDA1bC0yMDkuOTk5IDE1Ny41Yy0xOS44NTMgMTQuODkzLTIzLjg5MSA0My4xNTUtOS4wMDEgNjMuMDA0IDcuMjIgOS42MiAxNy43NTIgMTUuODUzIDI5LjY1NyAxNy41NSAyLjE1Ny4zMDggNC4zMS40NiA2LjQ1LjQ1OSA1LjEwOSAwIDEwLjEzLS44NzYgMTQuODkxLTIuNTY0djI1Mi4wNmMwIDguMjg0IDYuNzE2IDE1IDE1IDE1aDM2MGM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di0yNTIuMDY4YzQuNzYzIDEuNjg1IDkuODAzIDIuNTYgMTQuOTc4IDIuNTYgMTQuMSAwIDI3LjU2NS02LjcyOSAzNi4wMjItMTggMTQuODg4LTE5Ljg0NiAxMC44NDktNDguMTA4LTkuMDA1LTYzLjAwM3ptLTkxLjk5NS0xMzYuNDg5aDMwdjg5Ljk5MmwtMzAtMjIuNXptLTEyMCAyNzJoLTUwdi05Mmg1MHptMzAgMHYtMTA3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVoLTgwYy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djEwN2gtMTA5Ljk5OXYtNzcuMDA0bDE2NC45OTktMTIzLjc1MiAxNjUgMTIzLjc1M3Y3Ny4wMDN6bS0yMTkuOTk5IDMwaDIwOS45OTl2MzBoLTQ1Yy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djQ1aC00NWMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXY0NWgtOTB6bTExOS45OTkgMTUwdi0zMGg0NWM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di00NWg0NWM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di00NWg5MHYxNTB6bTI2Ny4wMDItMjcwLjUxMWMtMi44NjMgMy44MTUtNy4yNDUgNi4wMDQtMTIuMDI0IDYuMDA0LTMuMjYgMC02LjM2NS0xLjAzNi04Ljk3OS0yLjk5NmwtMTkxLjk5OS0xNDQuMDAzYy01LjMzMy00LTEyLjY2Ny00LTE4IDBsLTE5Mi4wMDggMTQ0LjAwOWMtMy4xOTMgMi4zOTctNy4xMzYgMy40MDgtMTEuMDk4IDIuODQyLTMuOTczLS41NjYtNy40ODgtMi42NDctOS44OTYtNS44NTYtNC45NjEtNi42MTQtMy42MTItMTYuMDM1IDMuMDA2LTIxbDIwOS45OTEtMTU3LjQ5MmMyLjY1Mi0xLjk4NyA1LjgzLTIuOTc5IDkuMDA3LTIuOTc5IDMuMTc1IDAgNi4zNDkuOTkyIDguOTk2IDIuOTc0bDIwOS45OTYgMTU3LjQ5N2M2LjYyIDQuOTY2IDcuOTY5IDE0LjM4NiAzLjAwOCAyMXoiLz4KICAgIDwvZz4KPC9zdmc+",Lxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDg1LjQsMjcyLjA2N2gtOC41MzN2LTE3OS4yYzAtNDIuNjY3LTM0LjEzMy03Ni44LTc2LjgtNzYuOGMtMzcuNzcsMC02NC45MzUsMjguMDA2LTY3Ljk3NCw2OS4wNDEKCQkJCWMtMTkuODI5LDMuNzQ4LTM0LjQyNiwyMC44MjYtMzQuNDI2LDQxLjg5MmMwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNoNjguMjY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzMwoJCQkJYzAtMjAuODMzLTE0LjI3NC0zNy43NjktMzMuNzY3LTQxLjc2N2MyLjU1LTI3LjExNiwxOC44MzYtNTIuMSw1MC44MzQtNTIuMWMzMy4yOCwwLDU5LjczMywyNi40NTMsNTkuNzMzLDU5LjczM3YxNzkuMkgyMDIuOTc1CgkJCQljLTMuODYtMTkuNjgxLTIwLjg3OC0zNC4xMzMtNDEuODQxLTM0LjEzM2MtOC41MzMtMTAuMjQtMjAuNDgtMTcuMDY3LTM0LjEzMy0xNy4wNjdjLTE2LjIxMywwLTMwLjcyLDkuMzg3LTM3LjU0NywyMy4wNAoJCQkJYy02LjgyNy0zLjQxMy0xNC41MDctNS45NzMtMjIuMTg3LTUuOTczYy0yMC45NjMsMC0zNy45ODEsMTQuNDUyLTQxLjg0MSwzNC4xMzNIMjQuNmMtMTQuNTA3LDAtMjUuNiwxMS4wOTMtMjUuNiwyNS42CgkJCQljMCwxNC41MDcsMTEuMDkzLDI1LjYsMjUuNiwyNS42aDEwLjI1NWwyMy4wMjUsOTEuMzA3YzYuODI3LDI2LjQ1MywzMC43Miw0NS4yMjcsNTguMDI3LDQ1LjIyN2g2LjgyN2wtMTEuMDkzLDIyLjE4NwoJCQkJYy0yLjU2LDQuMjY3LTAuODUzLDkuMzg3LDMuNDEzLDExLjA5M2MwLjg1MywwLjg1MywyLjU2LDAuODUzLDMuNDEzLDAuODUzYzMuNDEzLDAsNS45NzMtMS43MDcsNy42OC00LjI2N0wxNDEuMDgsNDU5LjhoMjM2LjgKCQkJCWwxNC41MDcsMjkuMDEzYzEuNzA3LDMuNDEzLDQuMjY3LDUuMTIsNy42OCw1LjEyYzEuNzA3LDAsMi41NiwwLDMuNDEzLTEuNzA3YzMuNDEzLTEuNzA3LDUuMTItNi44MjcsMy40MTMtMTEuMDkzCgkJCQlsLTEwLjY4OS0yMS4zNzljMjYuNDE5LTAuOTM4LDQ5LjI2Ni0xOS4zOSw1NS45MTYtNDQuMzI4bDIzLjI0LTkyLjE2aDEwLjA0YzE0LjUwNywwLDI1LjYtMTEuMDkzLDI1LjYtMjUuNgoJCQkJQzUxMSwyODMuMTYsNDk5LjkwNywyNzIuMDY3LDQ4NS40LDI3Mi4wNjd6IE0zNjUuMDgsMTE4LjQ2N2gtNDguNjRjMy40MTMtMTAuMjQsMTMuNjUzLTE3LjA2NywyNC43NDctMTcuMDY3CgkJCQlTMzYxLjY2NywxMDguMjI3LDM2NS4wOCwxMTguNDY3eiBNNjcuMjY3LDI1NWM3LjY4LDAsMTQuNTA3LDMuNDEzLDIwLjQ4LDkuMzg3YzEuNzA3LDIuNTYsNS4xMiwzLjQxMyw4LjUzMywyLjU2CgkJCQlzNS4xMi0zLjQxMyw1Ljk3My02LjgyN2MyLjU2LTEyLjgsMTIuOC0yMi4xODcsMjUuNi0yMi4xODdjOS4zODcsMCwxNy45Miw0LjI2NywyMi4xODcsMTIuOGMxLjcwNywzLjQxMyw1Ljk3Myw1LjEyLDkuMzg3LDQuMjY3CgkJCQljMC44NTMsMCwxLjcwNywwLDIuNTYsMGMxMS4wOTMsMCwyMC40OCw2LjgyNywyMy44OTMsMTcuMDY3SDQzLjM3M0M0Ni43ODcsMjYxLjgyNyw1Ni4xNzMsMjU1LDY3LjI2NywyNTV6IE00MzYuNzYsNDEwLjMwNwoJCQkJYy01LjEyLDE4Ljc3My0yMi4xODcsMzIuNDI3LTQxLjgxMywzMi40MjdIMTE2Ljc2Yy0xOS42MjcsMC0zNi42OTMtMTMuNjUzLTQxLjgxMy0zMi40MjdsLTIyLjE4Ny04Ny4wNGg0MDQuNDhMNDM2Ljc2LDQxMC4zMDd6CgkJCQkgTTQ4NS40LDMwNi4yaC0xNy4wNjdINDEuNjY3SDI0LjZjLTUuMTIsMC04LjUzMy0zLjQxMy04LjUzMy04LjUzM3MzLjQxMy04LjUzMyw4LjUzMy04LjUzM2g4LjUzM2gxNjIuMTMzSDQ4NS40CgkJCQljNS4xMiwwLDguNTMzLDMuNDEzLDguNTMzLDguNTMzUzQ5MC41MiwzMDYuMiw0ODUuNCwzMDYuMnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcKCQkJCUMyOTcuNjY3LDE3MC41MiwzMDEuMDgsMTczLjkzMywzMDYuMiwxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDYuMiwyMTMuMTg3YzUuMTIsMCw4LjUzMy00LjI2Nyw4LjUzMy04LjUzM3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y5LjM4NwoJCQkJQzI5Ny42NjcsMjA5Ljc3MywzMDEuMDgsMjEzLjE4NywzMDYuMiwyMTMuMTg3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDYuMiwyNDYuNDY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y0LjI2NwoJCQkJQzI5Ny42NjcsMjQzLjA1MywzMDEuMDgsMjQ2LjQ2NywzMDYuMiwyNDYuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNDAuMzMzLDE3My45MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCWMtNS4xMiwwLTguNTMzLDMuNDEzLTguNTMzLDguNTMzdjQuMjY3QzMzMS44LDE3MC41MiwzMzUuMjEzLDE3My45MzMsMzQwLjMzMywxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMzEuOCwyMDQuNjUzYzAsNS4xMiwzLjQxMyw4LjUzMyw4LjUzMyw4LjUzM2M1LjEyLDAsOC41MzMtNC4yNjcsOC41MzMtOC41MzN2LTkuMzg3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzMwoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjA0LjY1M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzMxLjgsMjM3LjkzM2MwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCWMtNS4xMiwwLTguNTMzLDMuNDEzLTguNTMzLDguNTMzVjIzNy45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM3NC40NjcsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcKCQkJCUMzNjUuOTMzLDE3MC41MiwzNjkuMzQ3LDE3My45MzMsMzc0LjQ2NywxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuOTMzLDIwNC42NTNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzUzM4MywyMDguOTIsMzgzLDIwNC42NTN2LTkuMzg3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzMwoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMDQuNjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuOTMzLDIzNy45MzNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCXMtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjM3LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",gxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00OTYsMzQ0aC04VjI4MGEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMyVjExMmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDg4YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJWMjQ4YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJ2NjRIMTZhOCw4LDAsMCwwLTgsOHYzMmE4LDgsMCwwLDAsOCw4aDh2MzJhOCw4LDAsMCwwLDgsOEg1NmE3Ljk5LDcuOTksMCwwLDAsNy44NC02LjQzTDcwLjU2LDM5Mkg0NDEuNDRsNi43MiwzMy41N0E3Ljk5LDcuOTksMCwwLDAsNDU2LDQzMmgyNGE4LDgsMCwwLDAsOC04VjM5Mmg4YTgsOCwwLDAsMCw4LThWMzUyQTgsOCwwLDAsMCw0OTYsMzQ0Wk03MiwxMTJBMTYuMDIxLDE2LjAyMSwwLDAsMSw4OCw5Nkg0MjRhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNiwxNlYyNDhINDI0VjIxNmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDI5NmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLDMydjMySDI0OFYyMTZhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMi0zMkgxMjBhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMnYzMkg3MlpNNDA4LDIxNnYzMkgyODBWMjE2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZoOTZBMTYuMDIxLDE2LjAyMSwwLDAsMSw0MDgsMjE2Wm0tMTc2LDB2MzJIMTA0VjIxNmExNi4wMjEsMTYuMDIxLDAsMCwxLDE2LTE2aDk2QTE2LjAyMSwxNi4wMjEsMCwwLDEsMjMyLDIxNlpNNDAsMjgwYTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZINDU2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYsMTZ2NjRINDBabTkuNDQsMTM2SDQwVjM5Mkg1NC4yNFpNNDcyLDQxNmgtOS40NGwtNC44LTI0SDQ3MlptMTYtNDBIMjRWMzYwSDQ4OFoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",jxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NS4zOTMgNDUuMzkzIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQzLjUxOCwxMi43MDlMMjUuMTc4LDAuNzI4Yy0xLjUxMS0wLjk3OC0zLjQ1OC0wLjk2OC00Ljk2LDAuMDIxTDEuODU5LDEyLjcxOWMtMS4xNCwwLjc1MS0xLjQ1NSwyLjI4NC0wLjcwNSwzLjQyNAoJCQljMC43NTEsMS4xNCwyLjI4MywxLjQ1NiwzLjQyNCwwLjcwNEwyMi43MTUsNS4wMjFMNDAuODMsMTYuODU3YzAuNDE2LDAuMjY5LDAuODgxLDAuMzk2LDEuMzQxLDAuMzk2CgkJCWMwLjgxMiwwLDEuNjA0LTAuMzk3LDIuMDc3LTEuMTI3QzQ0Ljk5LDE0Ljk4LDQ0LjY2MiwxMy40NTIsNDMuNTE4LDEyLjcwOXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzguODc5LDI3LjYxNmMtMC4xNTEtMC44NjUtMC45MDMtMS41MDUtMS43OC0xLjUwNWgtMS4wMDhsLTAuMzgzLTMuOTg3Yy0wLjQwOS00LjI2NC0zLjk0OC03LjQ5LTguMjMyLTcuNDlIMTcuOTIKCQkJYy00LjI4NSwwLTcuODIzLDMuMjI3LTguMjMzLDcuNDlsLTAuMzgyLDMuOTg3SDguMjk2Yy0wLjg3OCwwLTEuNjI5LDAuNjQtMS43ODIsMS41MDVsLTEuNSw4LjUwNAoJCQljLTAuMTg2LDEuMDU0LDAuMTEyLDIuMTM5LDAuOCwyLjk1N2MwLjY2MiwwLjc4OCwxLjYzNywxLjI1OCwyLjY1NywxLjI5M3YxLjQxMmMwLDEuOTk5LDEuNjAyLDMuNjEsMy42MDMsMy42MWgxLjEzOAoJCQljMS45OTksMCwzLjYyNS0xLjYxMSwzLjYyNS0zLjYxdi0xLjM4OWgxMS43MzJ2MS4zODZjMCwyLDEuNjEzLDMuNjEzLDMuNjEyLDMuNjEzaDEuMTM5YzEuOTk5LDAsMy42MTQtMS42MTMsMy42MTQtMy42MTNWNDAuMzcKCQkJYzEuMDItMC4wMzUsMS45ODktMC41MDEsMi42NDktMS4yODhjMC42ODgtMC44MiwwLjk4Mi0xLjg5OSwwLjc5OC0yLjk1NUwzOC44NzksMjcuNjE2eiBNMTEuNjQyLDM3LjExMwoJCQljLTEuNjg3LDAtMy4wNTUtMS4zNjctMy4wNTUtMy4wNTZjMC0xLjY4OSwxLjM2OC0zLjA1NywzLjA1NS0zLjA1N2MxLjY4OCwwLDMuMDU3LDEuMzY3LDMuMDU3LDMuMDU3CgkJCUMxNC42OTksMzUuNzQ2LDEzLjMzLDM3LjExMywxMS42NDIsMzcuMTEzeiBNMTIuNDA0LDI2LjExMWwwLjM1My0zLjY3OGMwLjI1Ny0yLjY3NCwyLjQ3Ni00LjY4OCw1LjE2My00LjY4OGgwLjU1MXYxLjE1NgoJCQljMCwxLjAwMywwLjc5NywxLjgwMiwxLjc5OSwxLjgwMmg0Ljg1NmMxLjAwMiwwLDEuODEzLTAuNzk5LDEuODEzLTEuODAydi0xLjE1NWgwLjUzN2MyLjY4NywwLDQuOTA2LDIuMDE0LDUuMTYyLDQuNjg4CgkJCWwwLjM1NCwzLjY3OEwxMi40MDQsMjYuMTExTDEyLjQwNCwyNi4xMTF6IE0zMy43NSwzNy4xMTNjLTEuNjg3LDAtMy4wNTUtMS4zNjctMy4wNTUtMy4wNTZjMC0xLjY4OSwxLjM2OC0zLjA1NywzLjA1NS0zLjA1NwoJCQljMS42ODgsMCwzLjA1NywxLjM2NywzLjA1NywzLjA1N0MzNi44MDcsMzUuNzQ2LDM1LjQzOCwzNy4xMTMsMzMuNzUsMzcuMTEzeiIvPgogICAgPC9nPgo8L3N2Zz4K",yxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDk0LjU5NCwzOTQuMjM3aC0xOS40NjFjMTIuOTU0LTE5LjU0MywyMC41MTItNDIuOTU4LDIwLjUxMi02OC4xMDljMC02OC4xNTctNTUuNDQ5LTEyMy42MDYtMTIzLjYwNi0xMjMuNjA2CgkJCWMtNy4xNzEsMC0xNC4yLDAuNjIyLTIxLjA0LDEuNzk5YzE3Ljg1My0yMS40MzUsMjguNjA4LTQ4Ljk3OSwyOC42MDgtNzguOTlDMzc5LjYwNiw1Ny4xNzQsMzI0LjE1NywxLjcyNCwyNTYsMS43MjQKCQkJYy02OC4xNTcsMC0xMjMuNjA2LDU1LjQ0OS0xMjMuNjA2LDEyMy42MDZjMCwzMC4wMTIsMTAuNzU1LDU3LjU1NSwyOC42MDgsNzguOTljLTYuODQtMS4xNzgtMTMuODY5LTEuNzk5LTIxLjA0LTEuNzk5CgkJCWMtNjguMTU3LDAtMTIzLjYwNiw1NS40NDktMTIzLjYwNiwxMjMuNjA2YzAsMjUuMTUxLDcuNTU4LDQ4LjU2NywyMC41MTIsNjguMTA5SDE3LjQwNkwwLDUxMC4yNzZoOTMuMjk0bDE1LjEzNS0yMC4xODFoNjMuMDY0CgkJCWwxNS4xMzUsMjAuMTgxaDEzOC43NDJsMTUuMTM1LTIwLjE4MWg2My4wNjRsMTUuMTM1LDIwLjE4MUg1MTJMNDk0LjU5NCwzOTQuMjM3eiBNNDY5LjUxOSwzNzMuNjdsLTEzLjE0Mi03LjU4OAoJCQljNC43MzYtOS45NTgsNy43Ni0yMC44ODEsOC42ODgtMzIuMzg3aDE1LjE3NUM0NzkuMjU0LDM0Ny45NDgsNDc1LjUwMywzNjEuNDUsNDY5LjUxOSwzNzMuNjd6IE00MDkuODc3LDM5NC41MzN2LTEzNi44MQoJCQljMjQuMDQ1LDEzLjM1NCw0MC4zNjEsMzkuMDA1LDQwLjM2MSw2OC40MDVTNDMzLjkyMiwzODEuMTc4LDQwOS44NzcsMzk0LjUzM3ogTTQxOS41ODEsNDIzLjYwOAoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMNDE5LjU4MSw0MjMuNjA4eiBNNDQ4Ljc4NywzNzkuMTc2CgkJCWwxMy4xNDgsNy41OTFjLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzQzNC4zMzYsMzk2LjQ2NCw0NDIuMzc1LDM4OC40MjUsNDQ4Ljc4NywzNzkuMTc2egoJCQkgTTQ4MC4yNDEsMzE4LjU2aC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEM0NzUuNTAzLDI5MC44MDUsNDc5LjI1NCwzMDQuMzA3LDQ4MC4yNDEsMzE4LjU2egoJCQkgTTQzMi42NzgsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTkKCQkJTDQzMi42NzgsMjM2LjIzMXogTTQxMS45OTQsMjQxLjc4OWMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4di0xNS4xNzZjMTQuMjUyLDAuOTg3LDI3Ljc1NCw0LjczOCwzOS45NzQsMTAuNzIyCgkJCUw0MTEuOTk0LDI0MS43ODl6IE0zOTQuNzQyLDI1MS4zdjE0OS42NTVjLTcuMTg5LDIuMTg2LTE0LjgxLDMuMzcyLTIyLjcwMywzLjM3MmMtNy44OTQsMC0xNS41MTQtMS4xODctMjIuNzAzLTMuMzcyVjI1MS4zCgkJCWM3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMzc5LjkzMiwyNDcuOTI4LDM4Ny41NTIsMjQ5LjExNCwzOTQuNzQyLDI1MS4zeiBNMTc3LjgsMzk0LjUzM3YtMTM2LjgxCgkJCWMyNC4wNDUsMTMuMzU0LDQwLjM2MSwzOS4wMDUsNDAuMzYxLDY4LjQwNVMyMDEuODQ1LDM4MS4xNzgsMTc3LjgsMzk0LjUzM3ogTTE4Ny41MDQsNDIzLjYwOAoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMMTg3LjUwNCw0MjMuNjA4eiBNMjgyLjE0MiwyNjUuNDg4CgkJCWM3Ljc5NC0xMS41MTcsMTcuNzQtMjEuNDYzLDI5LjI1Ni0yOS4yNTZsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OUwyODIuMTQyLDI2NS40ODh6IE0yODcuNywyODYuMTczCgkJCWMtNC43MzYsOS45NTgtNy43NiwyMC44ODEtOC42ODgsMzIuMzg3aC0xNS4xNzVjMC45ODctMTQuMjUzLDQuNzM3LTI3Ljc1NCwxMC43MjItMzkuOTc1TDI4Ny43LDI4Ni4xNzN6IE0zMTYuNjQsMjE1LjIyNwoJCQlsLTcuNTkxLTEzLjE0OGM5LjI0OS02LjQxMiwxNy4yODctMTQuNDUsMjMuNjk5LTIzLjY5OWwxMy4xNDgsNy41OTFDMzM4LjEwMywxOTcuNDg3LDMyOC4xNTcsMjA3LjQzMywzMTYuNjQsMjE1LjIyN3oKCQkJIE0yOTMuODM5LDE5My43MzZWNTYuOTI1QzMxNy44ODQsNzAuMjgsMzM0LjIsOTUuOTMsMzM0LjIsMTI1LjMzMVMzMTcuODg0LDE4MC4zODEsMjkzLjgzOSwxOTMuNzM2eiBNMjk1Ljk1NSwyMDkuNjY5CgkJCWw3LjU4NywxMy4xNDJjLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVDMjc1LjA3NCwyMTcuNDMsMjg1Ljk5NiwyMTQuNDA3LDI5NS45NTUsMjA5LjY2OXogTTI3Ny4wNCwyNDcuMTM4CgkJCWMtOC45NTEsMTAuNzQ3LTE2LjExOSwyMy4wMjgtMjEuMDQsMzYuMzg5Yy00LjkyMS0xMy4zNjEtMTIuMDg5LTI1LjY0MS0yMS4wNC0zNi4zODljNi44NCwxLjE3OCwxMy44NjksMS43OTksMjEuMDQsMS43OTkKCQkJQzI2My4xNzEsMjQ4LjkzNywyNzAuMiwyNDguMzE1LDI3Ny4wNCwyNDcuMTM4eiBNMjQ4LjE2NCwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4CgkJCUMyNDMuNDI2LDI5MC44MDUsMjQ3LjE3NywzMDQuMzA3LDI0OC4xNjQsMzE4LjU2eiBNMjQ4LjQzMSwyMzMuNTMzYy0xNC4yNTItMC45ODctMjcuNzU0LTQuNzM4LTM5Ljk3NC0xMC43MjJsNy41ODctMTMuMTQyCgkJCWM5Ljk1OCw0LjczNiwyMC44ODEsNy43NiwzMi4zODcsOC42ODhWMjMzLjUzM3ogTTIxOC4xNjEsMTkzLjczNmMtMjQuMDQ1LTEzLjM1NC00MC4zNjEtMzkuMDA1LTQwLjM2MS02OC40MDUKCQkJYzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDVWMTkzLjczNnogTTE3OS4yNTEsMTc4LjM3OWM2LjQxMiw5LjI0OSwxNC40NSwxNy4yODcsMjMuNjk5LDIzLjY5OWwtNy41OTEsMTMuMTQ4CgkJCWMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2TDE3OS4yNTEsMTc4LjM3OXogTTIwMC42MDEsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTYKCQkJbC0xMy4xNDgsNy41OTFjLTYuNDEyLTkuMjQ5LTE0LjQ1LTE3LjI4Ny0yMy42OTktMjMuNjk5TDIwMC42MDEsMjM2LjIzMXogTTIxNi43MSwzNzkuMTc2bDEzLjE0OCw3LjU5MQoJCQljLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzIwMi4yNTksMzk2LjQ2NCwyMTAuMjk4LDM4OC40MjUsMjE2LjcxLDM3OS4xNzZ6IE0yMjQuMywzNjYuMDgyCgkJCWM0LjczNi05Ljk1OCw3Ljc2LTIwLjg4MSw4LjY4OC0zMi4zODdoMTUuMTc1Yy0wLjk4NywxNC4yNTMtNC43MzcsMjcuNzU0LTEwLjcyMiwzOS45NzVMMjI0LjMsMzY2LjA4MnogTTI1NiwzNjguNzI5CgkJCWMzLjMzMiw5LjA0NSw3LjY5NywxNy41OTMsMTIuOTQ0LDI1LjUwOGgtMjUuODg4QzI0OC4zMDMsMzg2LjMyMSwyNTIuNjY4LDM3Ny43NzQsMjU2LDM2OC43Mjl6IE0yNjMuODM2LDMzMy42OTVoMTUuMTc1CgkJCWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N2wtMTMuMTQyLDcuNTg4QzI2OC41NzQsMzYxLjQ1LDI2NC44MjMsMzQ3Ljk0OCwyNjMuODM2LDMzMy42OTV6IE0yOTUuMjksMzc5LjE3NgoJCQljNi40MTIsOS4yNDksMTQuNDUsMTcuMjg3LDIzLjY5OSwyMy42OTlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2TDI5NS4yOSwzNzkuMTc2egoJCQkgTTI5My44MzksMzI2LjEyOGMwLTI5LjQsMTYuMzE2LTU1LjA1MSw0MC4zNjEtNjguNDA1djEzNi44MUMzMTAuMTU1LDM4MS4xNzgsMjkzLjgzOSwzNTUuNTI4LDI5My44MzksMzI2LjEyOHogTTMzMi4wODQsNDEwLjQ2NgoJCQljOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDMzMi4wODQsNDEwLjQ2NnogTTM2NC40NzEsMjE3LjkyNVYyMzMuMQoJCQljLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDJDMzM2LjcxNiwyMjIuNjYzLDM1MC4yMTgsMjE4LjkxMiwzNjQuNDcxLDIxNy45MjV6IE0zNTMuNDgsMTcyLjg3MwoJCQlsLTEzLjE0Mi03LjU4OGM0LjczNi05Ljk1OCw3Ljc2LTIwLjg4MSw4LjY4OC0zMi4zODdoMTUuMTc1QzM2My4yMTYsMTQ3LjE1MSwzNTkuNDY1LDE2MC42NTMsMzUzLjQ4LDE3Mi44NzN6IE0zNjQuMjAyLDExNy43NjMKCQkJaC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEMzNTkuNDY1LDkwLjAwOCwzNjMuMjE2LDEwMy41MSwzNjQuMjAyLDExNy43NjN6IE0zMTYuNjQsMzUuNDM0CgkJCWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTlMMzE2LjY0LDM1LjQzNHogTTI5NS45NTYsNDAuOTkyCgkJCWMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4VjE3LjEyOGMxNC4yNTIsMC45ODcsMjcuNzU0LDQuNzM4LDM5Ljk3NCwxMC43MjJMMjk1Ljk1Niw0MC45OTJ6IE0yNzguNzAzLDUwLjUwM3YxNDkuNjU1CgkJCWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWNTAuNTAzYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3MgoJCQlDMjYzLjg5NCw0Ny4xMzEsMjcxLjUxNCw0OC4zMTcsMjc4LjcwMyw1MC41MDN6IE0yNDguNDMyLDE3LjEyOHYxNS4xNzVjLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDIKCQkJQzIyMC42NzgsMjEuODY2LDIzNC4xOCwxOC4xMTUsMjQ4LjQzMiwxNy4xMjh6IE0xOTUuMzYsMzUuNDM0bDcuNTkxLDEzLjE0OGMtOS4yNDksNi40MTItMTcuMjg3LDE0LjQ1LTIzLjY5OSwyMy42OTkKCQkJbC0xMy4xNDgtNy41OTFDMTczLjg5Nyw1My4xNzQsMTgzLjg0Myw0My4yMjgsMTk1LjM2LDM1LjQzNHogTTE1OC41Miw3Ny43ODhsMTMuMTQyLDcuNTg4Yy00LjczNiw5Ljk1OC03Ljc2LDIwLjg4MS04LjY4OCwzMi4zODcKCQkJaC0xNS4xNzVDMTQ4Ljc4NSwxMDMuNTEsMTUyLjUzNSw5MC4wMDgsMTU4LjUyLDc3Ljc4OHogTTE1OC41MiwxNzIuODczYy01Ljk4NC0xMi4yMi05LjczNS0yNS43MjItMTAuNzIyLTM5Ljk3NWgxNS4xNzUKCQkJYzAuOTI3LDExLjUwNiwzLjk1MSwyMi40MjksOC42ODgsMzIuMzg3TDE1OC41MiwxNzIuODczeiBNMTg3LjUwNCwyMjguNjQ3bC03LjU4NywxMy4xNDJjLTkuOTU4LTQuNzM2LTIwLjg4MS03Ljc2LTMyLjM4Ny04LjY4OAoJCQl2LTE1LjE3NkMxNjEuNzgyLDIxOC45MTIsMTc1LjI4NCwyMjIuNjY0LDE4Ny41MDQsMjI4LjY0N3ogTTE2Mi42NjUsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyCgkJCWMtNy44OTQsMC0xNS41MTQtMS4xODctMjIuNzAzLTMuMzcyVjI1MS4zYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3MkMxNDcuODU1LDI0Ny45MjgsMTU1LjQ3NSwyNDkuMTE0LDE2Mi42NjUsMjUxLjN6CgkJCSBNNjEuNzYyLDMyNi4xMjhjMC0yOS40LDE2LjMxNi01NS4wNTEsNDAuMzYxLTY4LjQwNXYxMzYuODFDNzguMDc4LDM4MS4xNzgsNjEuNzYyLDM1NS41MjgsNjEuNzYyLDMyNi4xMjh6IE04Ni45MTMsNDAyLjg3NgoJCQlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2bDEzLjE0OC03LjU5MUM2OS42MjUsMzg4LjQyNSw3Ny42NjQsMzk2LjQ2NCw4Ni45MTMsNDAyLjg3NnoKCQkJIE0xMDAuMDA3LDQxMC40NjZjOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDEwMC4wMDcsNDEwLjQ2NnoKCQkJIE0xMzIuMzk0LDIxNy45MjVWMjMzLjFjLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDJDMTA0LjYzOSwyMjIuNjYzLDExOC4xNDEsMjE4LjkxMiwxMzIuMzk0LDIxNy45MjUKCQkJeiBNNzkuMzIyLDIzNi4yMzFsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OWwtMTMuMTQ4LTcuNTkxCgkJCUM1Ny44NTksMjUzLjk3MSw2Ny44MDUsMjQ0LjAyNSw3OS4zMjIsMjM2LjIzMXogTTQyLjQ4MSwyNzguNTg1bDEzLjE0Miw3LjU4OGMtNC43MzYsOS45NTgtNy43NiwyMC44ODEtOC42ODgsMzIuMzg3SDMxLjc1OQoJCQlDMzIuNzQ2LDMwNC4zMDcsMzYuNDk3LDI5MC44MDUsNDIuNDgxLDI3OC41ODV6IE0zMS43NTksMzMzLjY5NWgxNS4xNzVjMC45MjcsMTEuNTA2LDMuOTUxLDIyLjQyOSw4LjY4OCwzMi4zODdMNDIuNDgsMzczLjY3CgkJCUMzNi40OTcsMzYxLjQ1LDMyLjc0NiwzNDcuOTQ4LDMxLjc1OSwzMzMuNjk1eiBNNDI2LjI3NCw0OTUuMTRsLTE1LjEzNS0yMC4xODFoLTc4LjJsLTE1LjEzNSwyMC4xODFIMTk0LjE5N2wtMTUuMTM1LTIwLjE4MQoJCQloLTc4LjJMODUuNzI2LDQ5NS4xNEgxNy41NzVsMTIuODY1LTg1Ljc2OGgxOC4yM2MyMi42MiwyNC43ODYsNTUuMTcxLDQwLjM2MSw5MS4yOTEsNDAuMzYxczY4LjY3MS0xNS41NzUsOTEuMjkxLTQwLjM2MWg0OS40OTQKCQkJYzIyLjYyLDI0Ljc4Niw1NS4xNzEsNDAuMzYxLDkxLjI5MSw0MC4zNjFzNjguNjcxLTE1LjU3NSw5MS4yOTEtNDAuMzYxaDE4LjIzbDEyLjg2NSw4NS43NjhINDI2LjI3NHoiLz4KICAgICAgICA8cmVjdCB4PSIzMDUuOTQ4IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjE5MC45MTkiIHk9IjExNi43NTUiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMjQ4LjQzMyIgeT0iMTExLjIwNSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI2NS43OTkiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+CiAgICAgICAgPHJlY3QgeD0iMjQ4LjQzMyIgeT0iMTcxLjc0NyIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSI0MjEuOTg2IiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjMwNi45NTciIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMzY0LjQ3MiIgeT0iMzEyLjAwMiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIzNjQuNDcyIiB5PSIyNjYuNTk2IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjMwLjI3MSIvPgogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTg5LjkxIiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9Ijc0Ljg4IiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTMyLjM5NSIgeT0iMjY2LjU5NiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIzMC4yNzEiLz4KICAgICAgICA8cmVjdCB4PSIxMzIuMzk1IiB5PSIzNzIuNTQ0IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjQ2MS4zODciIHk9IjQ3MC44ODEiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTg4OSAtMC4xNDgzIDAuMTQ4MyAwLjk4ODkgLTY1Ljc3MiA3NC44NDExKSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjQ1Ni4yMSIgeT0iNDMxLjkzNSIgdHJhbnNmb3JtPSJtYXRyaXgoMC45ODg5IC0wLjE0ODMgMC4xNDgzIDAuOTg4OSAtNjAuNzE5OSA3My42OTAzKSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjI0LjE0NSIvPgogICAgICAgIDxyZWN0IHg9IjI0OC40MzMiIHk9IjQ2NC44NyIgd2lkdGg9IjQ1LjQwNiIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyMTguMTYyIiB5PSI0NjQuODciIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMjYzLjU2OSIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyMzMuMjk4IiB5PSI0MjQuNTA5IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjM2LjEyNyIgeT0iNDM2LjQ2MSIgdHJhbnNmb3JtPSJtYXRyaXgoMC4xNDgzIC0wLjk4ODkgMC45ODg5IDAuMTQ4MyAtMzk4LjA2NzUgNDI1Ljg0MjcpIgogICAgICAgICAgICAgIHdpZHRoPSIyNC4xNDUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMzUuNDY4IiB5PSI0NzAuODYiIHRyYW5zZm9ybT0ibWF0cml4KDAuMTQ4MyAtMC45ODg5IDAuOTg4OSAwLjE0ODMgLTQzNi40ODM4IDQ1MC4wMzI1KSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgPC9nPgo8L3N2Zz4K",Txe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik02MSwyMUgzYTEsMSwwLDAsMCwwLDJINjFhMSwxLDAsMCwwLDAtMloiLz4KICAgICAgICA8cGF0aCBkPSJNNjEsMkg0OWExLDEsMCwwLDAtMSwxVjE3SDQ2di0uNzY0YTEwLjUzMywxMC41MzMsMCwwLDAtMS4xLTQuNjgzQTguNTIyLDguNTIyLDAsMCwxLDQ0LDcuNzY0VjNhMSwxLDAsMCwwLTEtMUgzOWExLDEsMCwwLDAtMSwxVjcuNzY0YTguNTIyLDguNTIyLDAsMCwxLS45LDMuNzg5Yy0uMDM5LjA4LS4wNjcuMTY1LS4xLjI0Ni0uMDM4LS4wODEtLjA2Ni0uMTY2LS4xLS4yNDZBOC41MjIsOC41MjIsMCwwLDEsMzYsNy43NjRWM2ExLDEsMCwwLDAtMS0xSDMxYTEsMSwwLDAsMC0xLDFWNy43NjRhOC41MjIsOC41MjIsMCwwLDEtLjg5NSwzLjc4OUExMC41MzMsMTAuNTMzLDAsMCwwLDI4LDE2LjIzNlYxN0gxOFYxMC40MTRhMi4zOTQsMi4zOTQsMCwwLDEsLjcwNy0xLjcwNkE0LjM4NSw0LjM4NSwwLDAsMCwyMCw1LjU4NlY0aDJWNS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMjQsMTAuNDE0VjE0YTEsMSwwLDAsMCwyLDBWMTAuNDE0YTQuMzg1LDQuMzg1LDAsMCwwLTEuMjkzLTMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDI0LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxOWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC41MTUsNC41MTUsMCwwLDAsMTcsNy42NDlhNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDE2LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxMWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC4zODUsNC4zODUsMCwwLDAsOCwxMC40MTRWMTdIM2ExLDEsMCwwLDAsMCwySDYxYTEsMSwwLDAsMCwwLTJINTBWMTRINjBhMSwxLDAsMCwwLDIsMFYzQTEsMSwwLDAsMCw2MSwyWk00Miw0VjdINDBWNFpNMTAuNzA3LDguNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDEyLDUuNTg2VjRoMlY1LjU4NmE0LjM4NSw0LjM4NSwwLDAsMCwxLjI5MywzLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwxNiwxMC40MTRWMTJIMTBWMTAuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDEwLjcwNyw4LjcwOFpNMTAsMTRoNnYzSDEwWm0yMCwyLjIzNmE4LjUyMiw4LjUyMiwwLDAsMSwuODk1LTMuNzg5QTEwLjUzMywxMC41MzMsMCwwLDAsMzIsNy43NjRWNGgyVjcuNzY0YTEwLjUzMywxMC41MzMsMCwwLDAsMS4xLDQuNjgzLDguNTIyLDguNTIyLDAsMCwxLC45LDMuNzg5VjE3SDMwWk0zOCwxN3YtLjc2NGE4LjUyMiw4LjUyMiwwLDAsMSwuOS0zLjc4OUExMC41NDEsMTAuNTQxLDAsMCwwLDM5LjkyNCw5aDIuMTUyYTEwLjU0MSwxMC41NDEsMCwwLDAsMS4wMjksMy40NDcsOC41MjIsOC41MjIsMCwwLDEsLjksMy43ODlWMTdaTTYwLDRWNkg1MFY0Wk01MCwxMlY4SDYwdjRaIi8+CiAgICAgICAgPHBhdGggZD0iTTYxLDQ0SDNhMSwxLDAsMCwwLDAsMkg2MFY2MEg0NlY0OWExLDEsMCwwLDAtMiwwVjYwSDQyVjUzYTEsMSwwLDAsMC0xLTFIMjZhMSwxLDAsMCwwLTEsMXY3SDIyVjQ5YTEsMSwwLDAsMC0xLTFINWExLDEsMCwwLDAtMSwxVjYwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsMS0xVjQ1QTEsMSwwLDAsMCw2MSw0NFpNNDAsNTZIMzdWNTRoM1ptLTUsMEgzMlY1NGgzWm0tNS0ydjJIMjdWNTRaTTIwLDUyLjM4MmEzLjk0NywzLjk0NywwLDAsMC02LDBWNTBoNlpNMTksNTVhMiwyLDAsMSwxLTItMkEyLDIsMCwwLDEsMTksNTVaTTYsNTRoNnYySDZabTYtNHYySDZWNTBaTTYsNThoNnYySDZabTgsMlY1Ny42MThhMy45NDcsMy45NDcsMCwwLDAsNiwwVjYwWm0xMy0yaDN2MkgyN1ptNSwwaDN2MkgzMlptNSwyVjU4aDN2MloiLz4KICAgICAgICA8cGF0aCBkPSJNNTcsNTZhMSwxLDAsMCwwLDEtMVY1MWExLDEsMCwwLDAtMS0xSDQ5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxWm0tNy00aDZ2Mkg1MFoiLz4KICAgICAgICA8cGF0aCBkPSJNNjAsMjkuMTg0VjI2YTEsMSwwLDAsMC0xLTFINTVhMSwxLDAsMCwwLTEsMXYzLjE4NEEzLDMsMCwwLDAsNTIsMzJ2N2EyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDlWMzRhMSwxLDAsMCwwLDAtMkg0MWExLDEsMCwwLDAsMCwydjZIMzhWMzFhMSwxLDAsMCwwLTEtMUgyNWExLDEsMCwwLDAtMSwxdjlIMjJWMzlhMSwxLDAsMCwwLTIsMHYxSDE0VjMzLjQxNGEyLjM5NCwyLjM5NCwwLDAsMSwuNzA3LTEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDE2LDI4LjU4NlYyN2gydjEuNTg2YTQuMzg1LDQuMzg1LDAsMCwwLDEuMjkzLDMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDIwLDMzLjQxNFYzNWExLDEsMCwwLDAsMiwwVjMzLjQxNGE0LjM4NSw0LjM4NSwwLDAsMC0xLjI5My0zLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwyMCwyOC41ODZWMjZhMSwxLDAsMCwwLTEtMUgxNWExLDEsMCwwLDAtMSwxdjIuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDYsNC41MTUsNC41MTUsMCwwLDAtLjI5My4zNTcsNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDEyLDI4LjU4NlYyNmExLDEsMCwwLDAtMS0xSDdhMSwxLDAsMCwwLTEsMXYyLjU4NmEyLjM5NCwyLjM5NCwwLDAsMS0uNzA3LDEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDQsMzMuNDE0VjQwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsLjctMS43MTNBMi45NjQsMi45NjQsMCwwLDAsNjIsMzlWMzJBMywzLDAsMCwwLDYwLDI5LjE4NFpNNi43MDcsMzEuNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDgsMjguNTg2VjI3aDJ2MS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMTIsMzMuNDE0VjM1SDZWMzMuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDYuNzA3LDMxLjcwOFpNNiwzN2g2djNINlpNNTYsMjdoMnYySDU2Wm0tMSw0aDRhMSwxLDAsMCwxLDEsMXYzSDU0VjMyQTEsMSwwLDAsMSw1NSwzMVpNMzYsMzZIMzJWMzJoNFptLTYtNHYySDI2VjMyWm0tNCw0aDR2NEgyNlptNiw0VjM4aDR2MlptMTEsMFYzNGg0djZabTEyLDBhMSwxLDAsMCwxLTEtMVYzN2g2djJhMSwxLDAsMCwxLTEsMVoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",dxe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTA0IDQ4LjAxNTYyNWgtNDk2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTktOC04di0zMi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OTZjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHYzMi4wMTU2MjVjMCA0LjQyNTc4MS0zLjU3NDIxOSA4LTggOHptLTQ4OC0xNmg0ODB2LTE2LjAxNTYyNWgtNDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQwIDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDk2IDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00NzIgMTg0LjEyODkwNmgtNDMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcxLjk4NDM3NSAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMjIuMDU4NTk0IDE3LjkzNzUtNDAgMzkuOTkyMTg3LTQwIDQuNDIxODc2IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNCA4LTggOC0xMy4yMjI2NTYgMC0yMy45OTIxODcgMTAuNzY1NjI1LTIzLjk5MjE4NyAyNCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTc5Ljk4NDM3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTIwLjAwNzgxMiAxMjguMTI4OTA2aC0xNi4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAzMTI1YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjM0Mzc1LTEwLjc2OTUzMS0yNC0yMy45OTIxODgtMjQtNC40MjE4NzQgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI2LTggOC04IDIyLjA1NDY4OCAwIDM5Ljk5MjE4OCAxNy45NDE0MDYgMzkuOTkyMTg4IDQwIDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xODMuOTg0Mzc1IDEzOC45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDIuODM5ODQ0YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LTggNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOHY0Mi44Mzk4NDRjMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzIgODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIwMCA5Ni4xMjg5MDZoLTE2LjAxNTYyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAxNTYyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNDcuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI4MC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOC00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggMTMuMjM0Mzc1IDAgMjQgMTAuNzY1NjI1IDI0IDI0IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzIuMTY3OTY5IDI2NC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQ3Ljk4NDM3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djQ3Ljk4NDM3NWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1Ni4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZjLTQuNDIxODc1IDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzI4LjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2aC04MC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg4MC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41ODIwMzEgOC04LjAwNzgxMyA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjY0LjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOHYtNDhjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djQ4YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjE5OTIxOSAyMTYuMTQ0NTMxaC00OC4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ4LjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMi4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Dxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K",hxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNzMgNTEyLjI3MyIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTUwNy44OTEgMjM4LjM5OWMtNi43MjMtMzUuODgxLTIxLjg1My02Ni45MDUtNDMuNzU1LTg5LjcxOC05Ljg0NS0xMC4yNTMtMjEuNDU2LTE5Ljc1LTM0LjUxNC0yOC4yMjctMTQuOTQtOS42OTktMzIuMTkyLTE4LjQzOC01NC4yOTMtMjcuNTAzLTkuNjg0LTMuOTcyLTE5LjM3NS03LjYzNy0yOC40MDYtMTEuMDA1LTE0LjY0Mi01LjQ2LTMwLjA2NC0xMC45NTgtNDUuODQzLTE2LjMzNy01LjQyNy0xLjg1MS0xMC45MjEtMy42MDYtMTYuMjM0LTUuMzAzLTguNTA1LTIuNzE3LTE3LjMtNS41MjctMjUuNzcxLTguNzIxLTUuMjI0LTEuOTctNy40MjYtMy40NjQtOC4zMjEtNC4yNTguMDQ2LS4wNTYuMDk2LS4xMTUuMTUxLS4xNzcgNC4wNDgtNC42MTUgMjcuNjAzLTIzLjEwNSA0MS41MDEtMzMuNjc3IDIuNTYyLTEuOTQ5IDMuNTk1LTUuMzE1IDIuNTY2LTguMzY1cy0zLjg4OS01LjEwNC03LjEwNy01LjEwNGwtMTU0LjA1Mi0uMDA0Yy0xLjMyMSAwLTIuNjE5LjM0OS0zLjc2MiAxLjAxMi0xNy4yODIgMTAuMDIxLTMxLjYyMyAyNS43OS0zOS4zNDYgNDMuMjYyLTguOTQ2IDIwLjI0LTkuMDE2IDQxLjQyNS0uMjAyIDYxLjI2MyAxMi4wNyAyNy4xNjcgMzcuNTY3IDQyLjIzNyA2MC4wNjMgNTUuNTMzIDUuODcgMy40NjkgMTEuNDE0IDYuNzQ2IDE2LjY1NSAxMC4xNjcgMy4wOTUgMi4wMiA2LjI3MyA0LjAwMyA5LjM0NyA1LjkyMiAxMS41NDUgNy4yMDggMjIuNDUgMTQuMDE2IDMxLjE2NyAyMy42MDQgOC45ODEgOS44NzcgMTEuNjkzIDIyLjUwMSA3Ljg0MiAzNi41MDctOC45NDggMzIuNTQ0LTM1LjU0NCA2MS43ODEtNTkuMDA5IDg3LjU3Ni00LjM0MiA0Ljc3My04LjQ0MiA5LjI4MS0xMi40MDkgMTMuNzc2LTExLjEwNyAxMi41ODctMjcuMzkzIDMwLjg5LTQ0LjYzNCA1MC4yNjctNTYuODY5IDYzLjkxNC05NC40MTUgMTA2LjIyOS05OCAxMTEuODQ2LTEuNDc0IDIuMzA5LTEuNTcxIDUuMjM4LS4yNTQgNy42NCAxLjMxNiAyLjQwMiAzLjgzOCAzLjg5NSA2LjU3NyAzLjg5NWw0NDYuMzE2LjAwM2guMDAxYzMuMjUxIDAgNi4xMzItMi4wOTQgNy4xMzUtNS4xODcgMTEuNjU5LTM1Ljk2IDIyLjIxMi03Mi4yMzIgMzUuMjgzLTEyMS4yODMgMTUuNTkxLTU4LjUxNSAxOS4xODUtMTA1LjM1NCAxMS4zMDgtMTQ3LjQwNHptLTI1LjgwMyAxNDMuNTQzYy0xMi4zNyA0Ni40Mi0yMi40NjQgODEuMzA1LTMzLjM4NSAxMTUuMzMxbC0yNi45NC0uMDAyYzEuMjg4LTMuOTQ4IDIuNTczLTcuOTAzIDMuODYxLTExLjg0MiAxMS41OC0zNS40MSAyMi44NzctNzAuOTI1IDMyLjUwNC0xMDYuODg4IDEuNTM1LTUuNzQgMy4xMjItMTEuNjc0IDQuNjctMTcuNjQ1IDEuMDQtNC4wMDktMS4zNjgtOC4xMDMtNS4zNzgtOS4xNDItNC4wMDktMS4wMzgtOC4xMDIgMS4zNjktOS4xNDIgNS4zNzgtMS41MzMgNS45MTQtMy4xMTMgMTEuODItNC42NDEgMTcuNTMxLTkuNDM5IDM1LjI3NS0yMC43OTcgNzEuMDI1LTMyLjI3IDEwNi4xMDQtMS43OTcgNS40OTMtMy41OTUgMTAuOTkyLTUuMzg5IDE2LjUwNGgtMTU3Ljk3OGMtLjQzMi0xLjg1OC0xLjU2Ny0zLjU1My0zLjMwOS00LjY0OS0zLjUwNC0yLjIwNi04LjEzNi0xLjE1Mi0xMC4zNDIgMi4zNTMtLjQ5NS43ODYtLjk3MyAxLjU0Mi0xLjQ0OSAyLjI5NmgtMTU2LjIzNGMyNC40NzMtMzAuNTUxIDkxLjg5Ny0xMTIuMDczIDEyNC4yMzgtMTQ4LjcyNCAxNy4yNC0xOS41MzcgMzEuMzY4LTM4LjcyNiA0MS45OTQtNTcuMDMzIDE3LjU5OC0zMC4zMTkgMjQuNTY3LTU2Ljc2NSAyMC43MTYtNzguNjAxLTguMjczLTQ2LjkwOS00NS4xMjctNjUuNzY0LTc3LjY0My04Mi4zOTgtMy40MzktMS43NTktNi45OTUtMy41NzktMTAuNDA3LTUuMzc1bC0uNjA5LS4zMjFjLTMuNjYzLTEuOTMzLTguMi0uNTMtMTAuMTMzIDMuMTMzcy0uNTMgOC4yIDMuMTMzIDEwLjEzM2wuNjE2LjMyNWMzLjQ5NiAxLjg0IDcuMDkxIDMuNjggMTAuNTY4IDUuNDU4IDMyLjI1NyAxNi41MDIgNjIuNzI2IDMyLjA5IDY5LjcwMyA3MS42NSAzLjIyIDE4LjI1Ni0zLjE0NSA0MS4yOTEtMTguOTE3IDY4LjQ2Ni05Ljk4OSAxNy4yMS0yMy45MTQgMzYuMTA0LTQwLjI2OCA1NC42MzgtMzUuMjg2IDM5Ljk4OC0xMTYuMDk4IDEzNy44MzgtMTMyLjA1NiAxNTguNjQ4aC0zMy44NWMxNy44ODItMjAuNzUzIDU2Ljc0NC02NC40MjggODYuOTgxLTk4LjQxMSAxNy4yNTItMTkuMzg5IDMzLjU0Ny0zNy43MDIgNDQuNjc1LTUwLjMxMyAzLjg5Mi00LjQxIDcuOTU2LTguODc4IDEyLjI1OC0xMy42MDcgMjQuNTk3LTI3LjA0IDUyLjQ3Ni01Ny42ODggNjIuMzc1LTkzLjY5MyA1LjIwNy0xOC45MzkgMS4yMjctMzYuOS0xMS4yMDctNTAuNTc1LTE2LjQyMy0xOC4wNjItMzkuODYzLTMwLjIzNy02MC42MzUtNDIuNTE0LTIxLjU2NS0xMi43NDYtNDMuODY0LTI1LjkyNi01My45ODctNDguNzEtMTUuMDIzLTMzLjgxNSA0LjM2Ni02Ny43MTggMzEuNjY3LTg0LjQ0N2gxMy42MzljLTIwLjU1NyAxNS4wNzQtMzIuNTY4IDMwLjMwNS0zNi40OTQgNDYuMTk1LTMuMTgzIDEyLjg4Mi0uODEzIDI1Ljc1NiA3LjA0NSAzOC4yNjUgNC4zMjQgNi44ODMgOS45MDQgMTMuMTEyIDE3LjA1OCAxOS4wNDIgMy4xODggMi42NDMgNy45MTYgMi4yMDEgMTAuNTYxLS45ODggMi42NDMtMy4xODkgMi4yMDEtNy45MTctLjk4OC0xMC41NjEtNS45MDktNC44OTgtMTAuNDY1LTkuOTU5LTEzLjkyOS0xNS40NzItNS42ODgtOS4wNTYtNy4zODQtMTcuNzg2LTUuMTg1LTI2LjY4OCAzLjk3OS0xNi4xMDMgMjAuNTY4LTMyLjg1MSA0OS4zMTQtNDkuNzkzaDUwLjcxNWMtMTMuMzA2IDEwLjQ3OS0yOC4xMDUgMjQuNzc1LTI0LjA5NSA0Mi4zNTMgMy45NzkgMTcuNDQxIDI0LjE3NyAyNy4xNzkgMzkuMTc4IDMzLjQ3MiAxOS41NTggOC4yMDUgMzkuODM1IDE0LjcyIDU5LjQ0NSAyMS4wMjEgMzIuMDg4IDEwLjMxIDY1LjI2OSAyMC45NzEgOTUuMDAzIDM5LjEzNyAzMy45MzQgMjAuNzMxIDU1LjUxOCA1MS4xNTggNjIuNDIgODcuOTg5IDQuNDc4IDIzLjg5NiAzLjQyNiA1MC42MzQtMy4zMTEgODQuMTUybC0uMTA3LjUzNmMtLjgxNCA0LjA2MiAxLjgxOCA4LjAxNCA1Ljg4IDguODI4LjQ5OC4xLjk5My4xNDcgMS40ODEuMTQ3IDMuNTAxIDAgNi42MzItMi40NjQgNy4zNDYtNi4wMjhsLjEwNi0uNTMyYzcuMTI4LTM1LjQ2MiA4LjE5MS02NC4wMTggMy4zNDktODkuODY3LTcuNzA3LTQxLjEyMy0zMS42ODYtNzUuMDItNjkuMzQ0LTk4LjAyNi0zMS4yNjItMTkuMDk5LTY1LjMwOS0zMC4wMzktOTguMjM0LTQwLjYxOC0xOS4zMDctNi4yMDMtMzkuMjcxLTEyLjYxOC01OC4yMy0yMC41NzItNS43ODctMi40MjktMTAuNzEyLTQuOTEyLTE1LjA1Ny03LjU5LTUuNDY0LTMuMzY4LTEzLjcyMS04LjQ1Ny0xNS4zMDItMTUuMzg4LTIuNTc5LTExLjMwOSAxNC4zMy0yMy45OTggMjUuNTItMzIuMzk1IDMuMjE2LTIuNDE0IDYuMTA2LTQuNTg1IDguNDczLTYuNjE3IDAgMCAxMy43ODkgMCAxMy43ODcuMDAyLTkuODkyIDcuNzg2LTM0LjE1NiAxOS43MzMtMzAuMTc0IDM1LjY1MyAxLjk5OCA3Ljk4NiAxMC42ODggMTIuMTkxIDE4LjAzNSAxNC45NjIgMTMuOTgxIDUuMjcyIDI4LjMyNCA5LjM2NyA0Mi40NTYgMTQuMTg2IDE1LjY0NCA1LjMzNSAzMC45MzMgMTAuNzgzIDQ1LjQ0MiAxNi4xOTUgOC45MTMgMy4zMjUgMTguNDcgNi45MzggMjcuOTU3IDEwLjgyOSAyMS4yMTQgOC43MDEgMzcuNjc5IDE3LjAyOCA1MS44MTYgMjYuMjA2IDEyLjA5NCA3Ljg1MiAyMi44MTMgMTYuNjExIDMxLjg2MSAyNi4wMzUgMTkuODc1IDIwLjcwMSAzMy42NDggNDkuMDg4IDM5LjgzMSA4Mi4wOTEgNy40NTEgMzkuNzcxIDMuOTM3IDg0LjUwNS0xMS4wNTggMTQwLjc4MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQ0LjM2NSAxOTkuNDA3YzEuNDYxIDIuMDczIDMuNzggMy4xOCA2LjEzOCAzLjE4IDEuNDkyIDAgMy0uNDQ0IDQuMzEzLTEuMzcgMy4zODYtMi4zODYgNC4xOTYtNy4wNjUgMS44MTEtMTAuNDUxLTQuMTA5LTUuODMxLTguODExLTExLjI5My0xMy45NzMtMTYuMjMzLTIuOTkzLTIuODY1LTcuNzQxLTIuNzYtMTAuNjA0LjIzMi0yLjg2NCAyLjk5My0yLjc2MSA3Ljc0LjIzMiAxMC42MDQgNC40NjUgNC4yNzQgOC41MzEgOC45OTcgMTIuMDgzIDE0LjAzOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjU1LjA4MyAxMjIuNTE4LS40NzMtLjI0NmMtNS43NzYtMi45OTMtMTEuNTQ1LTUuOTgzLTE3LjMzNC04Ljk0NS0zLjY4NC0xLjg4My04LjIwNi0uNDI2LTEwLjA5MyAzLjI2Mi0xLjg4NiAzLjY4OC0uNDI2IDguMjA2IDMuMjYyIDEwLjA5MyA1Ljc2NSAyLjk0OSAxMS41MTEgNS45MjcgMTcuMjYzIDguOTA4bC40NzMuMjQ1YzEuMTA0LjU3MiAyLjI4My44NDMgMy40NDUuODQzIDIuNzEyIDAgNS4zMzEtMS40NzYgNi42NjUtNC4wNSAxLjkwNi0zLjY3OC40Ny04LjIwNC0zLjIwOC0xMC4xMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc5LjY4MyA1Ny41ODRjMS43NDQtNS41MSA0LjcxOS0xMC4xOTYgOC4xNjMtMTIuODU2IDMuMjc4LTIuNTMyIDMuODgyLTcuMjQyIDEuMzUxLTEwLjUyLTIuNTM0LTMuMjc5LTcuMjQ0LTMuODgyLTEwLjUyMS0xLjM1MS01Ljg4OSA0LjU0OS0xMC42MSAxMS43MjQtMTMuMjkzIDIwLjIwMS0xLjI1IDMuOTQ5LjkzOCA4LjE2NCA0Ljg4NyA5LjQxNC43NTMuMjM4IDEuNTE1LjM1MiAyLjI2NS4zNTIgMy4xODItLjAwMSA2LjEzNi0yLjA0MyA3LjE0OC01LjI0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDEuMTM2IDk1LjkwM2MtNi43NTEtMy4zMTQtMTEuNDI0LTYuMjY4LTE1LjE1Mi05LjU3Ni0zLjA5OC0yLjc1LTcuODM4LTIuNDY2LTEwLjU4OC42MzEtMi43NSAzLjA5OC0yLjQ2NyA3LjgzOC42MzEgMTAuNTg4IDQuNzc5IDQuMjQyIDEwLjQ4NCA3Ljg4OCAxOC40OTkgMTEuODIyIDEuMDYzLjUyMiAyLjE5Ljc2OSAzLjMuNzY5IDIuNzcgMCA1LjQzNS0xLjU0MiA2LjczOC00LjE5NiAxLjgyNS0zLjcxOC4yOS04LjIxMi0zLjQyOC0xMC4wMzh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI3NS44NTUgNDQxLjI3NmMtMy41NTMtMi4xMjYtOC4xNTktLjk3Mi0xMC4yODcgMi41ODMtMy40OTQgNS44MzUtNi45NDkgMTEuNTc2LTEwLjMwNiAxNy4xMjItMi4xNDUgMy41NDMtMS4wMTEgOC4xNTUgMi41MzMgMTAuMjk5IDEuMjE1LjczNSAyLjU1NCAxLjA4NSAzLjg3NyAxLjA4NSAyLjUzNyAwIDUuMDE0LTEuMjg4IDYuNDIzLTMuNjE4IDMuMzY4LTUuNTY1IDYuODM3LTExLjMyNyAxMC4zNDMtMTcuMTgzIDIuMTI3LTMuNTU0Ljk3MS04LjE2LTIuNTgzLTEwLjI4OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzY0Ljg2NCAyMjQuMTUyYy00LjA2Ny43ODYtNi43MjcgNC43Mi01Ljk0IDguNzg3LjkxIDQuNzEzIDEuMzcyIDkuNDY4IDEuMzcyIDE0LjEzMiAwIC4zNTgtLjAwMy43MTYtLjAwOSAxLjA5LS4wMTUuOTc2LS4wNDQgMS45NDctLjA4NyAyLjkxNS0uMTg3IDQuMTM4IDMuMDE4IDcuNjQzIDcuMTU1IDcuODI5LjExNS4wMDUuMjI5LjAwOC4zNDMuMDA4IDMuOTg2IDAgNy4zMDYtMy4xNCA3LjQ4Ni03LjE2My4wNTEtMS4xMTcuMDg0LTIuMjM5LjEwMS0zLjM1LjAwOC0uNDQzLjAxMS0uODg3LjAxMS0xLjMzIDAtNS42MTctLjU1NC0xMS4zMy0xLjY0NS0xNi45NzgtLjc4Ny00LjA2Ny00LjcyOC02LjcyNS04Ljc4Ny01Ljk0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDYuMjU0IDM4OS40ODFjLTMuNTgyLTIuMDczLTguMTcyLS44NTMtMTAuMjQ5IDIuNzMxLTMuMjMyIDUuNTgyLTYuNjA2IDExLjM3LTEwLjA2MiAxNy4yNjEtMi4wOTYgMy41NzMtLjg5NyA4LjE2OCAyLjY3NiAxMC4yNjQgMS4xOTIuNjk5IDIuNDk4IDEuMDMxIDMuNzg3IDEuMDMxIDIuNTc0IDAgNS4wOC0xLjMyNiA2LjQ3Ny0zLjcwNyAzLjQ2OS01LjkxNSA2Ljg1Ni0xMS43MjggMTAuMTAzLTE3LjMzMiAyLjA3Ni0zLjU4My44NTItOC4xNzEtMi43MzItMTAuMjQ4eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjEuOTI5IDI4My4zMTRjLTMuODgzLTEuNDQ2LTguMjAxLjUzLTkuNjQ2IDQuNDEzLTIuMDkxIDUuNjE5LTQuNTkyIDExLjQwNC03LjY0NiAxNy42ODYtMS44MTEgMy43MjUtLjI1OSA4LjIxMyAzLjQ2NiAxMC4wMjQgMS4wNTcuNTE0IDIuMTc0Ljc1NiAzLjI3My43NTYgMi43ODEgMCA1LjQ1NC0xLjU1MyA2Ljc1MS00LjIyMyAzLjI2Ni02LjcxOCA1Ljk1Mi0xMi45MzcgOC4yMTQtMTkuMDExIDEuNDQ1LTMuODgyLS41My04LjItNC40MTItOS42NDV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzNS45MiAzMzcuMjc1Yy0zLjU4NS0yLjA3NS04LjE3My0uODUyLTEwLjI0OSAyLjczMy0zLjEwOSA1LjM3Mi02LjYzNCAxMS40Ni05Ljk3NSAxNy41MTctMiAzLjYyNy0uNjgyIDguMTg5IDIuOTQ1IDEwLjE5IDEuMTQ4LjYzMyAyLjM5MS45MzQgMy42MTUuOTM0IDIuNjQ0IDAgNS4yMDctMS40MDEgNi41NzQtMy44NzkgMy4yNjYtNS45MiA2Ljc0OS0xMS45MzggOS44MjItMTcuMjQ3IDIuMDc3LTMuNTg1Ljg1Mi04LjE3Mi0yLjczMi0xMC4yNDh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMwOC4wMDEgMTUxLjQwMmMtMy4yMTgtMS44MzgtNi40NzQtMy43NjMtOS42MjEtNS42MjQtMi41MzEtMS40OTYtNS4wNTktMi45OS03LjYtNC40NjEtMy41ODYtMi4wNzUtOC4xNzQtLjg1Mi0xMC4yNDggMi43MzMtMi4wNzYgMy41ODQtLjg1MyA4LjE3MyAyLjczMiAxMC4yNDkgMi41MDEgMS40NDggNC45OSAyLjkxOSA3LjQ4MiA0LjM5MyAzLjE5NCAxLjg4OCA2LjQ5OCAzLjg0MSA5LjgxMyA1LjczNSAxLjE3NC42NyAyLjQ1Mi45ODkgMy43MTQuOTg5IDIuNjA0IDAgNS4xMzUtMS4zNTggNi41MTktMy43ODEgMi4wNTYtMy41OTcuODA2LTguMTc4LTIuNzkxLTEwLjIzM3oiLz4KICAgIDwvZz4KPC9zdmc+",zxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cmVjdCB4PSIxODguNjMyIiB5PSIyNTYiIHdpZHRoPSIzNS45MyIgaGVpZ2h0PSIxNy45NjUiLz4KICAgICAgICA8cGF0aCBkPSJNNDQxLjkxNyw0NzEuNTc5bDE2LjAzOS04OC4yMTljMC40ODItMi42MjMtMC4yMjgtNS4zMTYtMS45MzktNy4zNmMtMS43MDItMi4wNDQtNC4yMjgtMy4yMjgtNi44OTUtMy4yMjhoLTg5LjgyNQoJCQljLTIuNjY3LDAtNS4xOTMsMS4xODQtNi44OTUsMy4yMjhjLTEuNzExLDIuMDQ0LTIuNDIxLDQuNzM3LTEuOTM5LDcuMzZsMTYuMDM5LDg4LjIxOUgyNjAuNDkxVjMxLjQzOQoJCQljMC00Ljk2NS00LjAxOC04Ljk4Mi04Ljk4Mi04Ljk4Mkg1My44OTVjLTQuOTY1LDAtOC45ODIsNC4wMTgtOC45ODIsOC45ODJ2NDQwLjE0SDB2MTcuOTY1aDUzLjg5NWgxOTcuNjE0aDEyNS43NTRoNTMuODk1SDUxMgoJCQl2LTE3Ljk2NUg0NDEuOTE3eiBNMjQyLjUyNiw0NzEuNTc5SDYyLjg3N1Y0MC40MjFoMTc5LjY0OVY0NzEuNTc5eiBNNDIzLjY1OCw0NzEuNTc5aC0zOC44OTVsLTE0LjcwMi04MC44NDJoNjguMjk4CgkJCUw0MjMuNjU4LDQ3MS41Nzl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ1OC4xMDUsNzYuMzUxYy0yNy40NTYsMC00NC40ODksMTIuNDk2LTUzLjg5NSwyNS4xOTVjLTkuNDA4LTEyLjY5OS0yNi40MzktMjUuMTk1LTUzLjg5NS0yNS4xOTUKCQkJYy00Ljk2NSwwLTguOTgyLDQuMDE4LTguOTgyLDguOTgyYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJjMzMuNzU0LDAsNDMuMjcyLDIzLjMwNyw0NC45MTIsMjguMjQ2djIzMi4yNDYKCQkJYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJzOC45ODItNC4wMTgsOC45ODItOC45ODJWMTIyLjU3MmMxLjU0NC00LjY4LDEwLjk4Ny0yOC4yNTcsNDQuOTEyLTI4LjI1NwoJCQljNC45NjUsMCw4Ljk4Mi00LjAxOCw4Ljk4Mi04Ljk4MkM0NjcuMDg4LDgwLjM2OCw0NjMuMDcsNzYuMzUxLDQ1OC4xMDUsNzYuMzUxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDExOS4yNjNjLTE1LjU1My0xNS41NTMtMzYuODQyLTIyLjM3Ny01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5NgoJCQljLTQuNTc5LDE4Ljc3MiwyLjIzNyw0MC4wOTcsMTcuNzk4LDU1LjY2N2MxMi4zNiwxMi4zNiwyOC4zNiwxOS4yMDIsNDMuODE2LDE5LjIwMmM0LjAwOSwwLDcuOTgyLTAuNDY1LDExLjg1MS0xLjQwNAoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwxNTYuMTU4LDM4MS4zOTUsMTM0LjgzMywzNjUuODMzLDExOS4yNjN6IE0zNjcuMDA5LDE2NC45MDMKCQkJYy0xMS4xNTgsMC40MzktMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NzksMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcKCQkJQzM2Mi40NzQsMTQxLjMxNiwzNjcuNTcsMTUzLjcwMiwzNjcuMDA5LDE2NC45MDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2NS44MzMsMjAwLjEwNWMtMTUuNTUzLTE1LjU1My0zNi44NDItMjIuMzY5LTU1LjY2Ny0xNy43OThjLTMuMjU0LDAuNzk4LTUuNzk4LDMuMzQyLTYuNTk2LDYuNTk2CgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0CgkJCWMzLjI1NS0wLjc5OCw1Ljc5OC0zLjM0Miw2LjU5Ni02LjU5NkMzODguMjExLDIzNywzODEuMzk1LDIxNS42NzYsMzY1LjgzMywyMDAuMTA1eiBNMzY3LjAwOSwyNDUuNzQ2CgkJCWMtMTEuMTU4LDAuNDkxLTIzLjU5Ni00LjU0NC0zMi45MzktMTMuODc3Yy05LjM0Mi05LjM1MS0xNC40MzktMjEuNzM3LTEzLjg3Ny0zMi45MzljMTEuMTIzLTAuNTM1LDIzLjU4OCw0LjUzNSwzMi45MzksMTMuODc3CgkJCUMzNjIuNDc0LDIyMi4xNTgsMzY3LjU3LDIzNC41NDQsMzY3LjAwOSwyNDUuNzQ2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDI4MC45NDdjLTE1LjU1My0xNS41NjEtMzYuODQyLTIyLjM2OS01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5NgoJCQljLTQuNTc5LDE4Ljc3MiwyLjIzNyw0MC4wOTcsMTcuNzk4LDU1LjY2N2MxMi4zNiwxMi4zNiwyOC4zNiwxOS4yMDIsNDMuODE2LDE5LjIwMmM0LjAwOSwwLDcuOTgyLTAuNDY1LDExLjg1MS0xLjQwNAoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwzMTcuODQyLDM4MS4zOTUsMjk2LjUxOCwzNjUuODMzLDI4MC45NDd6IE0zNjcuMDA5LDMyNi41ODgKCQkJYy0xMS4xNTgsMC40NDctMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NywyMy41ODgsNC41MzUsMzIuOTM5LDEzLjg3NwoJCQlDMzYyLjQ3NCwzMDMsMzY3LjU3LDMxNS4zODYsMzY3LjAwOSwzMjYuNTg4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDkuMzg2LDEwOC4wNjFjLTAuNzk4LTMuMjU0LTMuMzQyLTUuNzk4LTYuNTk2LTYuNTk2Yy0xOC43ODktNC41Ny00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OAoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjgsMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0CgkJCWMxNS40NjUsMCwzMS40NjUtNi44NDIsNDMuODI1LTE5LjIwMkM1MDcuMTQ5LDE0OC4xNTgsNTEzLjk2NSwxMjYuODMzLDUwOS4zODYsMTA4LjA2MXogTTQ3OC44ODYsMTUxLjAyNgoJCQljLTkuMzUxLDkuMzQyLTIxLjg3NywxNC4zMjUtMzIuOTM5LDEzLjg3N2MtMC41NjEtMTEuMjAyLDQuNTM1LTIzLjU4OCwxMy44NzctMzIuOTM5YzkuMzUxLTkuMzQyLDIxLjc5OC0xNC40NDcsMzIuOTM5LTEzLjg3NwoJCQlDNDkzLjMyNSwxMjkuMjg5LDQ4OC4yMjgsMTQxLjY3NSw0NzguODg2LDE1MS4wMjZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwOS4zODYsMTg4LjkwM2MtMC43OTgtMy4yNTQtMy4zNDItNS43OTgtNi41OTYtNi41OTZjLTE4Ljc4OS00LjU3OS00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OAoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjksMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0CgkJCWMxNS40NjUsMCwzMS40NjUtNi44NDIsNDMuODI1LTE5LjIwMkM1MDcuMTQ5LDIyOSw1MTMuOTY1LDIwNy42NzYsNTA5LjM4NiwxODguOTAzeiBNNDc4Ljg4NiwyMzEuODY4CgkJCWMtOS4zNTEsOS4zMzMtMjEuODc3LDE0LjM2OC0zMi45MzksMTMuODc3Yy0wLjU2MS0xMS4yMDIsNC41MzUtMjMuNTg4LDEzLjg3Ny0zMi45MzljOS4zNTEtOS4zNDIsMjEuNzk4LTE0LjQwMywzMi45MzktMTMuODc3CgkJCUM0OTMuMzI1LDIxMC4xMzIsNDg4LjIyOCwyMjIuNTE3LDQ3OC44ODYsMjMxLjg2OHoiLz4KICAgICAgICA8cGF0aCBkPSJNNTA5LjM4NiwyNjkuNzQ2Yy0wLjc5OC0zLjI1NC0zLjM0Mi01Ljc5OC02LjU5Ni02LjU5NmMtMTguNzg5LTQuNTc5LTQwLjEwNSwyLjIzNy01NS42NjcsMTcuNzk4CgkJCWMtMTUuNTYxLDE1LjU3LTIyLjM3NywzNi44OTUtMTcuNzk4LDU1LjY2N2MwLjc5OCwzLjI1NSwzLjM0Miw1Ljc5OCw2LjU5Niw2LjU5NmMzLjg2OSwwLjkzOSw3LjgzMywxLjQwNCwxMS44NDIsMS40MDQKCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMzA5Ljg0Miw1MTMuOTY1LDI4OC41MTgsNTA5LjM4NiwyNjkuNzQ2eiBNNDc4Ljg4NiwzMTIuNzEKCQkJYy05LjM1MSw5LjM0Mi0yMS44NzcsMTQuMzMzLTMyLjkzOSwxMy44NzdjLTAuNTYxLTExLjIwMiw0LjUzNS0yMy41ODgsMTMuODc3LTMyLjkzOWM5LjM1MS05LjM0MiwyMS43OTgtMTQuNDQ3LDMyLjkzOS0xMy44NzcKCQkJQzQ5My4zMjUsMjkwLjk3NCw0ODguMjI4LDMwMy4zNiw0NzguODg2LDMxMi43MXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",wxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDIzMC41NjZoMjMyLjEzNWMyMi40MDUgMCA0MC42MzQtMTguMjI4IDQwLjYzNC00MC42MzN2LTE0OS4zYy0uMDAxLTIyLjQwNS0xOC4yMjktNDAuNjMzLTQwLjYzNS00MC42MzNoLTIzMi4xMzRjLTIyLjQwNSAwLTQwLjYzNCAxOC4yMjgtNDAuNjM0IDQwLjYzM3YxNDkuMjk5YzAgMjIuNDA2IDE4LjIyOCA0MC42MzQgNDAuNjM0IDQwLjYzNHptLTI1LjYzNC0xODkuOTMzYzAtMTQuMTM0IDExLjQ5OS0yNS42MzMgMjUuNjM0LTI1LjYzM2gyMzIuMTM1YzE0LjEzNSAwIDI1LjYzNCAxMS40OTkgMjUuNjM0IDI1LjYzM3YxNDkuMjk5YzAgMTQuMTM0LTExLjQ5OSAyNS42MzMtMjUuNjM0IDI1LjYzM2gtMjMyLjEzNWMtMTQuMTM1IDAtMjUuNjM0LTExLjQ5OS0yNS42MzQtMjUuNjMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDUuMTEgMTY0LjgxM2MxMC40MjMgMi4wODEgMTguODUgMTAuMTggMjAuOTcgMjAuMTU3IDEuNTM2IDcuMjIyIDguMDIyIDEyLjQ2MyAxNS40MjIgMTIuNDYzaDE0OC45NDdjNy40OCAwIDEzLjk4LTUuMzEgMTUuNDU1LTEyLjYyNCAyLjExNS0xMC40ODIgMTAuNTc2LTE4LjkzNiAyMS4wNTItMjEuMDM4IDcuMzA4LTEuNDY2IDEyLjYxMS03Ljk2NSAxMi42MTEtMTUuNDU0di02Ni4wNjdjMC03LjQ4NC01LjMxMS0xMy45ODUtMTIuNjI3LTE1LjQ1Ny0xMC40NzItMi4xMDctMTguOTI1LTEwLjU2My0yMS4wMzYtMjEuMDQxLTEuNDc1LTcuMzEyLTcuOTY3LTEyLjYxOC0xNS40MzktMTIuNjE4aC0xNDguOTcxYy03LjM5NSAwLTEzLjg3OCA1LjI0Mi0xNS40MTQgMTIuNDY1LTIuMTE4IDkuOTY5LTEwLjU0IDE4LjA2Ny0yMC45NTUgMjAuMTUzLTcuMzU1IDEuNDcyLTEyLjY5MiA3Ljk3OS0xMi42OTIgMTUuNDd2NjguMTI1YzAgNy40OTQgNS4zMzEgMTMuOTk5IDEyLjY3NyAxNS40NjZ6bTIuMzIzLTgzLjU5MmMwLS4zNzQuMjYyLS42ODcuNjM4LS43NjIgMTYuMjAzLTMuMjQ0IDI5LjMzNy0xNiAzMi42ODItMzEuNzQxLjA3My0uMzQ0LjM3OC0uNTg1Ljc0Mi0uNTg1aDE0OC45NzJjLjM1NyAwIC42NjYuMjQ1LjczMy41ODMgMy4yOSAxNi4zMjUgMTYuNDY0IDI5LjQ5OSAzMi43ODIgMzIuNzgyLjM0LjA2OC41ODYuMzg1LjU4Ni43NTJ2NjYuMDY3YzAgLjM2MS0uMjQxLjY4My0uNTYxLjc0Ny0xNi4zMjYgMy4yNzQtMjkuNTEgMTYuNDQ3LTMyLjgwNiAzMi43NzgtLjA2OS4zNDItLjM4Ni41OTEtLjc1Mi41OTFoLTE0OC45NDdjLS4zNjIgMC0uNjc4LS4yNDYtLjc1LS41ODItMy4zNDctMTUuNzUyLTE2LjQ5LTI4LjUxMS0zMi43MDUtMzEuNzQ4LS4zNTctLjA3MS0uNjE0LS4zODktLjYxNC0uNzU3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNzIuMDY3IDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU4IDcuNSA3LjUgNy41eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDE5OS41MDNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXYtNC4xNDJjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NC4xNDJjMCA0LjE0MyAzLjM1NyA3LjUgNy41IDcuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcyLjA2NyAxODAuMzYyYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41djQuMTQyYzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTQuMTQyYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4OS43MzMgMTY0LjFoNDkuN2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNS42MzNoMTcuMzVjMi42IDAgNS4wMTQtMS4zNDYgNi4zOC0zLjU1N3MxLjQ5MS00Ljk3Mi4zMjgtNy4yOTdsLTI0Ljg1LTQ5LjdjLTEuMjcxLTIuNTQxLTMuODY3LTQuMTQ2LTYuNzA4LTQuMTQ2cy01LjQzOCAxLjYwNS02LjcwOCA0LjE0NmwtMTQuNDkzIDI4Ljk4N2gtMjguNDk4Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41djQ5LjdjLS4wMDEgNC4xNDIgMy4zNTcgNy41IDcuNDk5IDcuNXptNDkuNzAxLTczLjU2MyAxMi43MTUgMjUuNDNoLTI1LjQzem0tNDIuMjAxIDIzLjg2M2gxMy40OThsLTIuODU2IDUuNzEzYy0xLjE2MyAyLjMyNS0xLjAzOCA1LjA4Ni4zMjggNy4yOTdzMy43OCAzLjU1NyA2LjM4IDMuNTU3aDE3LjM1MXYxOC4xMzNoLTM0Ljd2LTM0Ljd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMxMy45ODMgMTQ3LjUzM2MxNy44MzggMCAzMi4zNS0xNC41MTIgMzIuMzUtMzIuMzUgMC0xNy44MzctMTQuNTEyLTMyLjM1LTMyLjM1LTMyLjM1cy0zMi4zNTEgMTQuNTEyLTMyLjM1MSAzMi4zNWMuMDAxIDE3LjgzOCAxNC41MTQgMzIuMzUgMzIuMzUxIDMyLjM1em0wLTQ5LjY5OWM5LjU2NiAwIDE3LjM1IDcuNzgzIDE3LjM1IDE3LjM1cy03Ljc4MyAxNy4zNS0xNy4zNSAxNy4zNS0xNy4zNTEtNy43ODMtMTcuMzUxLTE3LjM1Yy4wMDEtOS41NjcgNy43ODQtMTcuMzUgMTcuMzUxLTE3LjM1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzAuODY3IDI0OC41Yy04LjU0NyAwLTE1LjUgNi45NTMtMTUuNSAxNS41djE3LjEzM2MwIDguNTQ3IDYuOTUzIDE1LjUgMTUuNSAxNS41aDUwLjI2NmM4LjU0NyAwIDE1LjUtNi45NTMgMTUuNS0xNS41di0xNy4xMzNjMC04LjU0Ny02Ljk1My0xNS41LTE1LjUtMTUuNXptNTAuNzY2IDE1LjV2MTcuMTMzYzAgLjI3Ni0uMjI1LjUtLjUuNWgtNTAuMjY2Yy0uMjc1IDAtLjUtLjIyNC0uNS0uNXYtMTcuMTMzYzAtLjI3Ni4yMjUtLjUuNS0uNWg1MC4yNjZjLjI3NSAwIC41LjIyNC41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ5Ni41IDQ2My44NjdoLTE3LjY3MmMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi04LjI4NGMwLTEwLjY1Mi02Ljk1OS0xOS43MDQtMTYuNTY3LTIyLjg2NHYtMTM2LjUwNWM5LjYwOC0zLjE2IDE2LjU2Ny0xMi4yMTIgMTYuNTY3LTIyLjg2NHYtOC4yODRjMC04LjcwMy03LjA4MS0xNS43ODMtMTUuNzg0LTE1Ljc4M2gtMi41NjJjMS4xNDMtMi44IDEuNzc5LTUuODYgMS43NzktOS4wNjcgMC0xMy4yNy0xMC43OTYtMjQuMDY2LTI0LjA2Ni0yNC4wNjZzLTI0LjA2NiAxMC43OTYtMjQuMDY2IDI0LjA2NmMwIDMuMjA3LjYzNSA2LjI2NiAxLjc3OSA5LjA2N2gtMi41NjNjLTguNzAzIDAtMTUuNzgzIDcuMDgxLTE1Ljc4MyAxNS43ODN2OC4yODRjMCAxMC41MTggNi43ODYgMTkuNDc2IDE2LjIwNyAyMi43NDEtMTguNjE2IDE4LjQzOC00MC4wMzcgMzMuMzUxLTYzLjczNCA0NC4zMzctMy43NTggMS43NDItNS4zOTMgNi4yMDEtMy42NSA5Ljk1OCAxLjI3IDIuNzM3IDMuOTc4IDQuMzQ4IDYuODEgNC4zNDggMS4wNTYgMCAyLjEyOS0uMjI0IDMuMTQ5LS42OTggMjEuMDU4LTkuNzYyIDQwLjQyNy0yMi40MzIgNTcuNzg2LTM3Ljc1NHYyMy43MTJjLTQ1LjQxIDM1LjQ5NS0xMDAuMDE0IDU0LjI0Ny0xNTguMTY3IDU0LjI0Ny01OC4xNDggMC0xMTIuNzU2LTE4Ljc1My0xNTguMTY3LTU0LjI0OXYtMjMuNjljNDMuNzY0IDM4LjY5IDk5LjI4IDU5LjgwNSAxNTguMTY3IDU5LjgwNSAyMy41OTIgMCA0Ni45MTMtMy40NDEgNjkuMzE0LTEwLjIyOCAzLjk2NC0xLjIwMSA2LjIwNC01LjM4OCA1LjAwMy05LjM1My0xLjIwMS0zLjk2NC01LjM4OS02LjIwNy05LjM1My01LjAwMy0yMC45ODkgNi4zNTktNDIuODQ3IDkuNTgzLTY0Ljk2NCA5LjU4My01OS41NzIgMC0xMTUuNDYyLTIzLjA3LTE1Ny44MDItNjUuMDE4IDkuNDE5LTMuMjY3IDE2LjIwMi0xMi4yMjQgMTYuMjAyLTIyLjc0di04LjI4NGMwLTguNzAzLTcuMDgtMTUuNzgzLTE1Ljc4My0xNS43ODNoLTIuNTYzYzEuMTQzLTIuOCAxLjc3OS01Ljg2IDEuNzc5LTkuMDY3IDAtMTMuMjctMTAuNzk2LTI0LjA2Ni0yNC4wNjYtMjQuMDY2cy0yNC4wNyAxMC43OTgtMjQuMDcgMjQuMDY4YzAgMy4yMDcuNjM2IDYuMjY2IDEuNzc5IDkuMDY3aC0yLjU2MmMtOC43MDMgMC0xNS43ODQgNy4wODEtMTUuNzg0IDE1Ljc4M3Y4LjI4NGMwIDEwLjY1MiA2Ljk1OSAxOS43MDQgMTYuNTY3IDIyLjg2NHYxMzYuNTA2Yy05LjYwOCAzLjE2LTE2LjU2NyAxMi4yMTItMTYuNTY3IDIyLjg2NHY4LjI4NGMwIC4yNjQuMDI3LjUyMi4wNC43ODNoLTE3LjY3M2MtOC41NDcgMC0xNS41IDYuOTUzLTE1LjUgMTUuNXYxNy4xMzJjMCA4LjU0NyA2Ljk1MyAxNS41IDE1LjUgMTUuNWg1OS44MzNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTU5LjgzM2MtLjI3NSAwLS41LS4yMjQtLjUtLjV2LTE3LjEzM2MwLS4yNzYuMjI1LS41LjUtLjVoNDgxYy4yNzUgMCAuNS4yMjQuNS41djE3LjEzM2MwIC4yNzYtLjIyNS41LS41LjVoLTM5MS4xNjdjLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMzkxLjE2N2M4LjU0NyAwIDE1LjUtNi45NTMgMTUuNS0xNS41di0xNy4xMzNjMC04LjU0Ny02Ljk1My0xNS41LTE1LjUtMTUuNXptLTY3LjMzMy0xNjQuNTc3Yy4xNjEtLjg3OC4xNTgtMS43NzguMDA1LTIuNjU2aDE4LjEyOHYxOC4xMzNoLTE4LjEzM3ptMCA0My45MDRjLjAxMi0uMjM5LjAxMi0uNDc5IDAtLjcxOXYtMTIuNzA5aDE4LjEzM3YxMDAuOTY3aC0xOC4xMzN6bTAtMTAzLjc2MWMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY2LTkuMDY2czkuMDY2IDQuMDY3IDkuMDY2IDkuMDY2LTQuMDY3IDkuMDY3LTkuMDY2IDkuMDY3LTkuMDY2LTQuMDY3LTkuMDY2LTkuMDY3em0tMTYuNTY3IDI0Ljg1YzAtLjQzMi4zNTItLjc4My43ODMtLjc4M2g0OS43Yy40MzMgMCAuNzg0LjM1Mi43ODQuNzgzdjguMjg0YzAgNC45OTktNC4wNjcgOS4wNjYtOS4wNjcgOS4wNjZoLTMzLjEzM2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY2em0tMTU2LjYgMTQ0LjE3NmM1Ny42NDggMCAxMTIuMDA3LTE3LjQyMiAxNTguMTY3LTUwLjUxNHY3My45OTFjLTkuNjA4IDMuMTYtMTYuNTY3IDEyLjIxMi0xNi41NjcgMjIuODY0djguMjg0YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMjgzLjI3OWMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi04LjI4NGMwLTEwLjY1Mi02Ljk1OS0xOS43MDQtMTYuNTY3LTIyLjg2NHYtNzMuOTkyYzQ2LjE2MSAzMy4wOTIgMTAwLjUyMyA1MC41MTUgMTU4LjE2NiA1MC41MTV6bS0xNzMuMTY3LTExMC43ODljLS4wMTIuMjQ3LS4wMTIuNDk1IDAgLjc0MnYxNi4zNTVoLTE4LjEzM3YtMTguMTMzaDE4LjEzM3ptLTE4LjEzMyAzMi4wOTdoMTguMTMzdjEwMC45NjdoLTE4LjEzM3ptMC05MC4zMzRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ni05LjA2NnM5LjA2NiA0LjA2NyA5LjA2NiA5LjA2Ni00LjA2NyA5LjA2Ny05LjA2NiA5LjA2Ny05LjA2Ni00LjA2Ny05LjA2Ni05LjA2N3ptLTE2LjU2NyAyNC44NWMwLS40MzIuMzUyLS43ODMuNzg0LS43ODNoNDkuN2MuNDMyIDAgLjc4My4zNTIuNzgzLjc4M3Y4LjI4NGMwIDQuOTk5LTQuMDY3IDkuMDY2LTkuMDY3IDkuMDY2aC0zMy4xMzNjLTUgMC05LjA2Ny00LjA2Ny05LjA2Ny05LjA2NnptLjc4NCAxOTkuNTg0Yy0uNDMzIDAtLjc4NC0uMzUyLS43ODQtLjc4M3YtOC4yODRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ny05LjA2NmgzMy4xMzNjNSAwIDkuMDY3IDQuMDY3IDkuMDY3IDkuMDY2djguMjg0YzAgLjQzMi0uMzUyLjc4My0uNzgzLjc4M3ptMzY0LjQ2NiAwYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtOC4yODRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ny05LjA2NmgzMy4xMzNjNSAwIDkuMDY3IDQuMDY3IDkuMDY3IDkuMDY2djguMjg0YzAgLjQzMi0uMzUyLjc4My0uNzg0Ljc4M3oiLz4KICAgIDwvZz4KPC9zdmc+",Cxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDc0LjYwOCw4MC40MzlsLTIzMi04MGMtMS42OS0wLjU4My0zLjUyNi0wLjU4My01LjIxNiwwbC0yMzIsODBDMi4xNjYsODEuNTUxLDAuMDAxLDg0LjU4NywwLDg3Ljk5OXYzODQKCQkJYzAsNC40MTgsMy41ODIsOCw4LDhoNDBjNC40MTgsMCw4LTMuNTgyLDgtOHYtMjQ4aDM2OHYyNDhjMCw0LjQxOCwzLjU4Miw4LDgsOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04di0zODQKCQkJQzQ3OS45OTksODQuNTg3LDQ3Ny44MzQsODEuNTUxLDQ3NC42MDgsODAuNDM5eiBNNDAsMjE1Ljk5OXYyNDhIMTZ2LTMwNGgyNFYyMTUuOTk5eiBNNDI0LDIwNy45OTlINTZ2LTE2aDM2OFYyMDcuOTk5egoJCQkgTTQyNCwxNzUuOTk5SDU2di0xNmgzNjhWMTc1Ljk5OXogTTQ2NCw0NjMuOTk5aC0yNHYtMzA0aDI0VjQ2My45OTl6IE00NjQsMTQzLjk5OUgxNlY5My43MDNsMjI0LTc3LjI0bDIyNCw3Ny4yNFYxNDMuOTk5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zOTUuNTc2LDM0NC43OTlsLTI5LjYtMTQuOGwtMjYuNC01Mi44Yy00LjA2MS04LjEyNS0xMi4zODEtMTMuMjQyLTIxLjQ2NC0xMy4ySDE2MS44ODgKCQkJYy05LjA5OC0wLjAzLTE3LjQyMSw1LjExNC0yMS40NjQsMTMuMjY0bC0yNi40LDUyLjhsLTI5LjYsMTQuOGMtMi43MDUsMS4zNTItNC40MTYsNC4xMTItNC40MjQsNy4xMzZ2MTEyYzAsOC44MzcsNy4xNjMsMTYsMTYsMTYKCQkJaDMyYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTI0aDE5MnYyNGMwLDguODM3LDcuMTYzLDE2LDE2LDE2aDMyYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTExMgoJCQlDNDAwLjAxNywzNDguOTUyLDM5OC4zMDEsMzQ2LjE2LDM5NS41NzYsMzQ0Ljc5OXogTTE1NC43MzYsMjg0LjQyM2MxLjM0NS0yLjcxOCw0LjExOS00LjQzNCw3LjE1Mi00LjQyNGgxNTYuMjI0CgkJCWMzLjAzMy0wLjAxLDUuODA3LDEuNzA2LDcuMTUyLDQuNDI0bDIxLjc5Miw0My41NzZIMTMyLjk0NEwxNTQuNzM2LDI4NC40MjN6IE0xMjgsNDYzLjk5OUg5NnYtMjRoMzJWNDYzLjk5OXogTTM4NCw0NjMuOTk5aC0zMgoJCQl2LTI0aDMyVjQ2My45OTl6IE0zODQsNDIzLjk5OUgxMzZIOTZ2LTY3LjA1NmwyNS44ODgtMTIuOTQ0aDIzNi4yMjRMMzg0LDM1Ni45NDNWNDIzLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzE2OCwzNjcuMTYyLDE2MC44MzcsMzU5Ljk5OSwxNTIsMzU5Ljk5OXogTTE1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzM2OCwzNjcuMTYyLDM2MC44MzcsMzU5Ljk5OSwzNTIsMzU5Ljk5OXogTTM1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjgwLDM1OS45OTloLTgwYy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoODBjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzI5NiwzNjcuMTYyLDI4OC44MzcsMzU5Ljk5OSwyODAsMzU5Ljk5OXogTTI4MCwzOTEuOTk5aC04MHYtMTZoODBWMzkxLjk5OXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Ixe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMS45NzggNTExLjk3OCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjIzLjI0OGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0xNi42OTZjMC0xMi41NTcgMTAuMjE2LTIyLjc3MyAyMi43NzItMjIuNzczaDE1LjM5MmM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTUuMzkyYy0yMC44MjggMC0zNy43NzIgMTYuOTQ1LTM3Ljc3MiAzNy43NzN2MTYuNjk2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjgxLjE4N2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNC43NDZjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MjQuNzQ2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE1Ny44NTYgMjA4Ljg2djM2LjMzOWMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0zNi4zMzljMC0zLjI5NCAyLjc5Ni02LjA3OCA2LjEwNS02LjA3OGgxMy4yMzdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzLjIzN2MtMTEuNjM3IDAtMjEuMTA1IDkuNDU1LTIxLjEwNSAyMS4wNzh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyOC4xODEgMjExLjQzYzIuOTQyIDEuOTY0IDYuMzgyIDIuOTYzIDkuODg5IDIuOTYzIDIuNDQyIDAgNC45MTktLjQ4NSA3LjI4Mi0xLjQ2N2wyNC43Ni0xMC4yNTUgNjMuNTk1IDQuOTA2IDQuNjYxIDE2LjEyMWMxLjYxOSA1LjYwMSA1LjU5NiAxMC4wNzQgMTEuMTk3IDEyLjU5NSAzLjE0OCAxLjQxNyA2LjU5MSAyLjEyNCAxMC4wNDEgMi4xMjQgMy42NTMgMCA3LjMxNi0uNzkzIDEwLjY0NC0yLjM3NGwxMTcuMjkxLTU1LjcyOWM2LjQ2OS0zLjA3NCAxMS40MjUtOS4wMSAxMy4yNTgtMTUuODggMS41ODItNS45MzIuNjI5LTExLjgzNS0yLjY4NC0xNi42MTlsLTIzLjYzOS0zNC4xNjRjMTcuNzYzLTIwLjQ2MiAyMS45NDEtNDkuNTk1IDEwLjEyNy03NC40NjEtMTYuMjcyLTM0LjIwMS01Ny4zMzItNDguNzk3LTkxLjUxLTMyLjU1LTI2LjE4MSAxMi40MzUtNDEuNTkyIDQwLjAwOC0zOC45MSA2OC40NThsLTMzLjc2NiAxNi4wNDJjLS4wMDEgMC0uMDAxIDAtLjAwMSAwLTEwLjcyNSA1LjA5Ni0xNS4zOTEgMTcuMjgxLTExLjYxMSAzMC4zMTVsOC43NDUgMzAuMjQyaC00Ny4xNTdsLTI1LjA1NS0xMC4zNzdjLTUuNzYzLTIuMzcxLTEyLjE3OS0xLjc5My0xNy4xNjcgMS41NDYtNC43MTMgMy4xNTctNy40MTYgOC4yMjEtNy40MTYgMTMuODkzdjQwLjc2MWMtLjAwMiA1LjY5MSAyLjcwNiAxMC43NiA3LjQyNiAxMy45MXptMjU3LjYtNTUuMDc3Yy43OSAxLjE0Ljk2NiAyLjU1OC41MjQgNC4yMTQtLjY5MiAyLjU5My0yLjczNCA1LjAyNi01LjIwMiA2LjE5OWwtMTE3LjI5MSA1NS43MjhjLTIuNDcgMS4xNzMtNS42NDYgMS4yMjEtOC4wOTEuMTItMS41NjUtLjcwNC0yLjU1Ni0xLjc0MS0yLjk0My0zLjA4M2wtMjIuMzc2LTc3LjM4NSAxMDkuNTQyLTUyLjA0em0tODYuMjUyLTEzNi4xNjJjLjAwMSAwIC4wMDItLjAwMS4wMDMtLjAwMSAyNi43MTYtMTIuNzAzIDU4LjgwNi0xLjI4OCA3MS41MjQgMjUuNDQyIDguNjY0IDE4LjIzNyA2LjMzIDM5LjQxNy01LjQ2MyA1NS4xNzNsLS4wMjQtLjAyNi0yOC4wMDItNDAuNDdjLTcuNzI5LTExLjE2LTIwLjEzNS0xNS4yNDEtMzAuODY4LTEwLjE1N2wtMzcuODAzIDE3Ljk1OC0uMDEyLjAwM2MuMjE3LTIwLjE5IDExLjg5OS0zOS4wMTkgMzAuNjQ1LTQ3LjkyMnptLTcyLjY3NiA4NC40OTggODYuMjczLTQwLjk4NGM0Ljc1LTIuMjUxIDkuNDkyIDEuMzY2IDEyLjEwNyA1LjE0M2w2LjA2MiA4Ljc2LTEwNS4xMTUgNDkuOTM3LTIuOTY3LTEwLjI2MmMtMS4yNzgtNC40MDQtMS4wOS0xMC4zNDYgMy42NC0xMi41OTR6bS01MC40NTMgNjIuMDA5aDQ1LjQ3OGw3LjM2NSAyNS40OS01Mi44NDMtNC4wNzd6bS00MC42NDctOS45MzhjMC0uMzk1LjA3OS0uOTcyLjc2NS0xLjQzMS4yMDQtLjEzNy43NzEtLjQ1NSAxLjYxMy0uNDU1LjQyNyAwIC45MjQuMDgyIDEuNDguMzExbDIxLjc4OCA5LjAyNHYyNS44MzRsLTIxLjc5NyA5LjAyN2MtMS42NjUuNjk0LTIuNzkyLjA4NS0zLjA5Ni0uMTE4LS42NjgtLjQ0Ni0uNzU0LS45OTktLjc1NC0xLjQzMXYtNDAuNzYxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTcuOTYgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xOTAuOTIgNDY4LjI3N2MtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyNy03LjY3OC0yLjkyNy0xMC42MDcuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDcuOTU3IDQ2NC40NzljLTIuOTI5IDIuOTI5LTIuOTI5IDcuNjc4IDAgMTAuNjA2bC4wMjguMDI4YzEuNDYyIDEuNDYxIDMuMzcxIDIuMTkgNS4yODMgMi4xOSAxLjkyIDAgMy44NDItLjczNiA1LjMxLTIuMjA0IDIuOTI5LTIuOTI5IDIuOTE1LTcuNjkyLS4wMTQtMTAuNjIxLTIuOTMtMi45MjgtNy42NzgtMi45MjgtMTAuNjA3LjAwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjIyMiA0ODEuMTAyYzEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOS03LjY3OC0yLjkyOS0xMC42MDcgMHMtMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjIgMy4zNzEgMi4xOTEgNS4yODMgMi4xOTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3MC43ODQgNDA5LjM4NWMyMi43MTMtMi4yNzggNDEuMTkxLTIyLjc5MiA0MS4xOTEtNDUuNzI5di0yOC43NDNjMC0zLjcwOS0xLjU0OS03LjIzNC00LjI0OC05LjY3MS0yLjY5Mi0yLjQzMS02LjM1Mi0zLjYwOS0xMC4wMS0zLjIzM2wtMjguODEgMi44OTJjLTkuOTIzIDEuMDEtMTkuMDM3IDUuNTAyLTI2LjE1MSAxMi4xNTJsLjA2My01LjE1NGMwLTIyLjkwMy0xOC4zMzctNDMuMjY2LTQxLjA1NC00NS41NzhsLTI4Ljc4My0yLjg5Yy0zLjY4Ny0uMzc5LTcuMzM0LjgwMi0xMC4wMjUgMy4yMzItMi42OTkgMi40MzgtNC4yNDggNS45NjItNC4yNDggOS42NzF2MjguNzQzYzAgMjIuOTAzIDE4LjQ3MyA0My40MTcgNDEuMTg1IDQ1LjcyOWwyNy44NjMgMi44MTR2NTMuOTk2aC01NC41MTljLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTE5LjMwNGMyLjQ0NCAwIDQuNDM0IDEuOTc2IDQuNDM0IDQuNDA1djQ1LjUyM2MwIDIuNDAzLTIuMDMgNC40MzQtNC40MzQgNC40MzRoLTQ3My4xMzRjLTIuMzg4IDAtNC40MDUtMi4wMy00LjQwNS00LjQzNHYtNDUuNTIzYzAtMi4zODggMi4wMTgtNC40MDUgNC40MDUtNC40MDVoMzE5LjE5MmM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNzUuMTI2di0xNS4zOTdsMjguMDU3LTIuODMzYzIyLjcxMy0yLjI3OCA0MS4xOS0yMi43OTIgNDEuMTktNDUuNzI5di0yOC43NDNjMC0zLjcwNS0xLjU1Mi03LjIyOS00LjI1Ny05LjY2OS0yLjctMi40MzUtNi4zNTktMy42MTItMTAuMDAxLTMuMjM1bC0yOC44MSAyLjg5MmMtOS45MzQgMS4wMTEtMTkuMDU4IDUuNTA3LTI2LjE4IDEyLjE2MyAwIDAgLjE5OS00LjQyOS4xOTktNS4wMTMgMC0yMi45MDctMTguNDc0LTQzLjQyLTQxLjE5LTQ1LjcyOWwtMjguNzc2LTIuODljLTMuNjY2LS4zNzUtNy4zMDguNzk2LTkuOTk3IDMuMjIyLTIuNzA0IDIuNDM5LTQuMjU1IDUuOTY3LTQuMjU1IDkuNjgxdjI4Ljc0M2MwIDIyLjkwMyAxOC40NzQgNDMuNDE3IDQxLjE4NiA0NS43MjlsMjcuODM0IDIuODEzdjUzLjk5NmgtMTY0LjI1M3YtMTUuMzk4bDI4LjAyNi0yLjgzMmMyMi43MTMtMi4yNzQgNDEuMTkxLTIyLjc4OSA0MS4xOTEtNDUuNzI5di0yOC43NDNjMC0zLjcxMy0xLjU1MS03LjI0Mi00LjI1NS05LjY4MS0yLjY4OS0yLjQyNi02LjMzMy0zLjYwNC05Ljk3NS0zLjIyNGwtMjguODEgMi44OTJjLTkuOTM0IDEuMDExLTE5LjA1OCA1LjUwNy0yNi4xNzkgMTIuMTYyIDAgMCAuMTk4LTQuNDMuMTk4LTUuMDEyIDAtMjIuOTAzLTE4LjQ3NC00My40MTctNDEuMTktNDUuNzI5bC0yOC43NzYtMi44OWMtMy42Ni0uMzc0LTcuMzA2Ljc5NS05Ljk5NyAzLjIyMi0yLjcwNCAyLjQzOS00LjI1NSA1Ljk2OC00LjI1NSA5LjY4MXYyOC43NDNjMCAyMi45MDMgMTguNDc0IDQzLjQxNyA0MS4xODYgNDUuNzI5bDI3LjgzNSAyLjgxM3YzMS43OTUgMjIuMjAxaC00OS44MTJjLTEwLjcgMC0xOS40MDUgOC43MDUtMTkuNDA1IDE5LjQwNXY0NS41MjNjMCAxMC43MTYgOC43MDUgMTkuNDM0IDE5LjQwNSAxOS40MzRoNDczLjEzNGMxMC43MTYgMCAxOS40MzQtOC43MTggMTkuNDM0LTE5LjQzNHYtNDUuNTIzYzAtMTAuNy04LjcxOC0xOS40MDUtMTkuNDM0LTE5LjQwNWgtNDkuNzg1di0xNS4zOTh6bS0yOC4wMjgtMzguNzU2YzAtMTUuMTcxIDEyLjY3Mi0yOS4yNzkgMjcuNjYtMzAuODA1bDI2LjU1OS0yLjY2NnYyNi40OThjMCAxNS4xOTItMTIuNjggMjkuMjk5LTI3LjY5MyAzMC44MDVsLTE1LjQxNSAxLjU1OCAxOS4wNjktMjEuMDk3YzIuNzc3LTMuMDczIDIuNTM3LTcuODE2LS41MzUtMTAuNTkzLTMuMDcyLTIuNzc1LTcuODE0LTIuNTM5LTEwLjU5NC41MzVsLTE5LjA1MSAyMS4wNzd6bS0xNS0yMy40NTctMTguODgtMjAuODg4Yy0yLjc3OS0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41Mi0uNTM1IDEwLjU5M2wxOS4wNjcgMjEuMDk2LTE1LjQwOC0xLjU1NmMtMTUuMDE0LTEuNTI4LTI3LjY5OC0xNS42MzUtMjcuNjk4LTMwLjgwNXYtMjYuNDk3bDI2LjU0OCAyLjY2NmMxNS4wMTUgMS41MjggMjcuNSAxNS42MzUgMjcuNSAzMC44MDV6bS0xNjQuMjgyIDIzLjQ1N2MwLTE1LjE3IDEyLjY4NS0yOS4yNzcgMjcuNjg4LTMwLjgwNWwyNi41NTktMi42NjZ2MjYuNDk4YzAgMTUuMTkyLTEyLjY3OSAyOS4yOTktMjcuNjkyIDMwLjgwNWwtMTUuNDE0IDEuNTU3IDE5LjA2OC0yMS4wOTZjMi43NzctMy4wNzMgMi41MzctNy44MTYtLjUzNS0xMC41OTMtMy4wNzItMi43NzUtNy44MTQtMi41MzktMTAuNTk0LjUzNWwtMTkuMDc5IDIxLjEwOHYtMTUuMzQzem0tNDQuOTgtMzQuMjg2IDE5LjA2OSAyMS4wOTctMTUuNDA5LTEuNTU3Yy0xNS4wMTUtMS41MjgtMjcuNjk5LTE1LjYzNS0yNy42OTktMzAuODA1di0yNi40OTVsMjYuNTIxIDIuNjYzYzE1LjAxNSAxLjUyNiAyNy40OTkgMTUuNjMzIDI3LjQ5OSAzMC44MDV2MTUuMDkxbC0xOC44NTItMjAuODU3Yy0yLjc3OC0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41Mi0uNTM1IDEwLjU5M3ptLTEzNC4yNzMgMzQuMjg2YzAtMTUuMTcgMTIuNjg1LTI5LjI3NyAyNy42ODgtMzAuODA1bDI2LjUzLTIuNjYzdjI2LjQ5NWMwIDE1LjE5NS0xMi42NzkgMjkuMzAxLTI3LjY5MiAzMC44MDVsLTE1LjQwNSAxLjU1NyAxOS4wODMtMjEuMDk0YzIuNzc5LTMuMDcyIDIuNTQyLTcuODE0LS41My0xMC41OTMtMy4wNjgtMi43NzgtNy44MTMtMi41NDItMTAuNTkzLjUzbC0xOS4wODEgMjEuMDkxem0tNDQuOTgxLTM0LjI4NiAxOS4wNjkgMjEuMDk3LTE1LjQwOS0xLjU1OGMtMTUuMDE1LTEuNTI4LTI3LjY5OS0xNS42MzUtMjcuNjk5LTMwLjgwNXYtMjYuNDk1bDI2LjUyIDIuNjYzYzE1LjAxNSAxLjUyOCAyNy41MDEgMTUuNjM1IDI3LjUwMSAzMC44MDV2MTUuMDkybC0xOC44NTMtMjAuODU4Yy0yLjc3OS0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41MjEtLjUzNSAxMC41OTR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",pxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yNi42MjIgMTUxLjc0MWgxMC44djM1LjY4MWMwIDExLjEyNSA5LjA1MSAyMC4xNzUgMjAuMTc1IDIwLjE3NWgxNC44MTRjNC43OTkgMCA5LjIwOC0xLjY5MSAxMi42NzUtNC41IDMuNDY3IDIuODA5IDcuODc1IDQuNSAxMi42NzUgNC41aDE0LjgxNGMxMS4xMjQgMCAyMC4xNzUtOS4wNSAyMC4xNzUtMjAuMTc1di0zOS45NGgyMC4xMzl2MTg1LjExNWgtMjMuNDU3Yy0xMC45MzggMC0xOS44MzcgOC44OTgtMTkuODM3IDE5LjgzNnYzNy4zMjRjMCA5Ljk2OCA3LjM5OCAxOC4yMTkgMTYuOTg4IDE5LjYwOHY4Ny41NzZjMCA4LjMwNCA2Ljc1NSAxNS4wNTkgMTUuMDU5IDE1LjA1OWgzMC4zMzVjOC4zMDQgMCAxNS4wNTktNi43NTUgMTUuMDU5LTE1LjA1OXYtNTMuODQ0aDUxLjQ2NGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWMtOS43NjUgMC04NS43ODUgMC05Ni45MTcgMHYtMTguNTAzaDIyOC44MzR2MTguNTAzYy0xMS4xMzcgMC04Ny4yMTcgMC05Ni45MTcgMC00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDUxLjQ2NXY1My44NDRjMCA4LjMwNCA2Ljc1NSAxNS4wNTkgMTUuMDU5IDE1LjA1OWgzMC4zMzRjOC4zMDQgMCAxNS4wNi02Ljc1NSAxNS4wNi0xNS4wNTkgMC0xMC4xNTQgMC03Ny4wMzYgMC04Ny41NzYgOS41OS0xLjM4OSAxNi45ODgtOS42NCAxNi45ODgtMTkuNjA4di0zNy4zMjRjMC0xMC45MzgtOC44OTgtMTkuODM2LTE5LjgzNy0xOS44MzZoLTIzLjQ1N3YtNzUuMDU4YzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djc1LjA1OGgtMjUuMTY0YzAtMjEuNzEzIDAtMTYyLjkxMiAwLTE4NS4xMTVoMjUuMTY0djc1LjA1OGMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di03NS4wNThoMjAuMTM5djM5Ljk0YzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1aDE0LjgxNGM0Ljc5OSAwIDkuMjA4LTEuNjkxIDEyLjY3NS00LjUgMy40NjcgMi44MDkgNy44NzUgNC41IDEyLjY3NCA0LjVoMTQuODE1YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTM1LjY4MWgxMC44YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTE0LjgxNGMwLTExLjEyNS05LjA1MS0yMC4xNzUtMjAuMTc1LTIwLjE3NWgtMTAuOHYtMzUuNjgxYzAtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTVjLTQuNzk5IDAtOS4yMDcgMS42OTEtMTIuNjc0IDQuNS0zLjQ2Ny0yLjgwOS03Ljg3NS00LjUtMTIuNjc1LTQuNWgtMTQuODE0Yy0xMS4xMjQgMC0yMC4xNzUgOS4wNS0yMC4xNzUgMjAuMTc0djM5Ljk0MWgtMjAuMTM5di04MC42NjNjLS4wMDEtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTRjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzR2NTAuNTM0aC05NS44OTZ2LTUwLjUzNGMwLTExLjEyNC05LjA1LTIwLjE3NC0yMC4xNzQtMjAuMTc0aC0xNC44MTVjLTExLjEyNCAwLTIwLjE3NCA5LjA1LTIwLjE3NCAyMC4xNzR2ODAuNjYzaC0yMC4xMzl2LTM5Ljk0MWMwLTExLjEyNC05LjA1MS0yMC4xNzQtMjAuMTc1LTIwLjE3NGgtMTQuODE0Yy00Ljc5OSAwLTkuMjA4IDEuNjkxLTEyLjY3NSA0LjUtMy40NjctMi44MDktNy44NzUtNC41LTEyLjY3NS00LjVoLTE0LjgxNGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NHYzNS42ODFoLTEwLjhjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzV2MTQuODE0YzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1em0xNDEuMjY3LTQuMjZoMjUuMTYzdjE4NS4xMTVoLTI1LjE2M3ptNDAuMTYzIDY4LjcxMmg5NS44OTZ2NzYuOTAxaC05NS44OTZ6bTk1Ljg5NS0xNWgtOTUuODk2di0yMy41ODNoOTUuODk2em0tMTMxLjkxOSAyNDEuOTA0LS4wNTEgNTMuOTAzLTMwLjM5My0uMDM5YzAtLjAwMS0uMDAxLS4wMDgtLjAwMS0uMDJ2LTUzLjg0NHptMTk4LjMyOSA1My45MDMtMzAuMzkzLS4wNTl2LTUzLjg0NGgzMC40NDV6bTEyLjIxMS0xNDkuNDAzYzIuNjY3IDAgNC44MzcgMi4xNjkgNC44MzcgNC44MzZ2MzcuMzI0YzAgMi42NjctMi4xNyA0LjgzNi00LjgzNyA0LjgzNi0xMy4yMDIgMC0yNDEuMjU2IDAtMjUzLjEzNyAwLTIuNjY3IDAtNC44MzctMi4xNjktNC44MzctNC44MzZ2LTM3LjMyNGMwLTIuNjY3IDIuMTctNC44MzYgNC44MzctNC44MzZ6bS0xNzQuNTE2LTE1di0yNC41MDNoOTUuODk2djI0LjUwM3ptOTUuODk1LTE2OS45ODdoLTk1Ljg5NnYtMTUuMTI4aDk1Ljg5NnptLTExNS45NzctMzAuMTI5di0xNi42NDVoMTM2LjA2djE2LjY0NWMtNC42NTMgMC0xMzAuNDExIDAtMTM2LjA2IDB6bTI5Ny40MDgtMjAuOTA0YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NXYxNC44MTRjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xMC44di0yNS4xNjR6bS00NS43OS01NS44NTVoMTQuODE1YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NHYxMjYuNTI2YzAgMi44MDUtMi4zNyA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE1Yy0yLjgwNSAwLTUuMTc0LTIuMzctNS4xNzQtNS4xNzV2LTEyNi41MjZjMC0yLjgwNSAyLjM2OS01LjE3NCA1LjE3NC01LjE3NHptLTQ1LjMzOCA1LjE3NGMwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzRoMTQuODE0YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NHYxMjYuNTI2YzAgMi44MDUtMi4zNyA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1IDAtMi45MDQgMC0xMjIuNjAyIDAtMTI2LjUyNnptLTE1IDcxLjU4NWMtMTMuNDYzIDAtMjUuMTg2IDAtNDAuMjIxIDB2LTE2LjY0NWg0MC4yMjF6bS02MC4zMDMtMTEyLjMwN2MwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzRoMTQuODE0YzIuODU0IDAgNS4xNzUgMi4zMjEgNS4xNzUgNS4xNzR2ODAuNjYzYy05LjEwNiAwLTE2LjA1OCAwLTI1LjE2NCAwIDAtOS4zNzMgMC03MC44ODUgMC04MC42NjN6bS0xNSA2NS41MzR2MTUuMTI4aC05NS44OTZ2LTE1LjEyOHptLTEzNi4wNTgtNjUuNTM0YzAtMi44MDUgMi4zNjktNS4xNzQgNS4xNzQtNS4xNzRoMTQuODE1YzIuODA1IDAgNS4xNzQgMi4zNyA1LjE3NCA1LjE3NHY4MC42NjNjLTkuMTA0IDAtMTYuMDM5IDAtMjUuMTYzIDB6bTUuMDgxIDk1LjY2M3YxNi42NDVjLTE1LjI3MyAwLTI2LjQ2IDAtNDAuMjIgMHYtMTYuNjQ1em0tNzUuMjA5LTYwLjExNWgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjg1NC0yLjMyMSA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjgwNSAwLTUuMTc1LTIuMzctNS4xNzUtNS4xNzV2LTEyNi41MjZjMC0yLjgwNSAyLjM3LTUuMTc0IDUuMTc1LTUuMTc0em0tNDUuMzM5IDUuMTc0YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjg1NC0yLjMyMSA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1IDAtNS42NzkgMC0xMjAuODI3IDAtMTI2LjUyNnptLTMwLjk3NSA1NS44NTZjMC0yLjg1NCAyLjMyMS01LjE3NSA1LjE3NS01LjE3NWgxMC44djI1LjE2NGgtMTAuOGMtMi44NTQgMC01LjE3NS0yLjMyMS01LjE3NS01LjE3NXoiLz4KICAgIDwvZz4KPC9zdmc+",Axe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDcyLDI4MGgtMTZWMTY2LjRjMC0xMi05LjYtMjIuNC0yMi40LTIyLjRoLTRjLTEyLDAtMjIuNCw5LjYtMjIuNCwyMi40VjI4MGgtMjR2LTE2YzAtMTMuNi0xMC40LTI0LTI0LTI0SDEyMAoJCQljLTEzLjYsMC0yNCwxMC40LTI0LDI0djE2SDcyVjE2Ni40YzAtMTItOS42LTIyLjQtMjIuNC0yMi40aC0zLjJjLTEyLjgsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwSDhjLTQuOCwwLTgsMy4yLTgsOHMzLjIsOCw4LDhoOAoJCQl2MTQ0YzAsNC44LDMuMiw4LDgsOGg4djhjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtOGgzODR2OGMwLDQuOCwzLjIsOCw4LDhzOC0zLjIsOC04di04aDhjNC44LDAsOC0zLjIsOC04VjI5Nmg4CgkJCWM0LjgsMCw4LTMuMiw4LThTNDc2LjgsMjgwLDQ3MiwyODB6IE00MzAuNCwxNjBoNGMzLjIsMCw2LjQsMi40LDYuNCw2LjRWMjgwaC0xNlYxNjYuNEg0MjRDNDI0LDE2My4yLDQyNi40LDE2MCw0MzAuNCwxNjB6CgkJCSBNMTEyLDI2NGMwLTQuOCwzLjItOCw4LThoMjQwYzQuOCwwLDgsMy4yLDgsOHYxNkgxMTJWMjY0eiBNNDAsMTY2LjRjMC00LDIuNC02LjQsNi40LTYuNGg0YzMuMiwwLDUuNiwyLjQsNS42LDYuNFYyODBINDBWMTY2LjR6CgkJCSBNMjMyLDQzMkgzMnYtNjRoMjAwVjQzMnogTTQ0OCw0MzJIMjQ4di02NGgyMDBWNDMyeiBNNDQ4LDM1MkgzMnYtNTZoNDE2VjM1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjA4LDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzIxNiwzODcuMiwyMTIuOCwzODQsMjA4LDM4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjcyLDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzI4MCwzODcuMiwyNzYuOCwzODQsMjcyLDM4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzg0LDE2SDk2Yy00LjgsMC04LDMuMi04LDh2MTYwYzAsNC44LDMuMiw4LDgsOGgyODhjNC44LDAsOC0zLjIsOC04VjI0QzM5MiwxOS4yLDM4OC44LDE2LDM4NCwxNnogTTM3NiwxNzZIMTA0VjMyaDI3MgoJCQlWMTc2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMTQ0aC04Yy00LjgsMC04LDMuMi04LDhzMy4yLDgsOCw4aDhjNC44LDAsOC0zLjIsOC04UzM1Ni44LDE0NCwzNTIsMTQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNTcuNiw1MC40Yy0zLjItMy4yLTgtMy4yLTExLjIsMGwtMjQsMjRjLTMuMiwzLjItMy4yLDgsMCwxMS4yYzMuMiwzLjIsOCwzLjIsMTEuMiwwbDI0LTI0CgkJCUMxNjAuOCw1OC40LDE2MC44LDUzLjYsMTU3LjYsNTAuNHoiLz4KICAgICAgICA8cGF0aCBkPSJNMTk3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTU2LDU2Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGw1Ni01NgoJCQlDMjAwLjgsNTguNCwyMDAuOCw1My42LDE5Ny42LDUwLjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",mxe="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDcyIDk2aC0xNDRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MTg0aC0xNzZ2LTI0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTI0djE2aDE2djE2aC0zMnYtMzJoLTE2djMyaC0zMnYtMTZoMTZ2LTE2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYyNGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MTc2YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDY0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTM2OGMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tMTM2IDE2aDEyOHY5NmgtMTI4em0tMTYgMjI0aC0xNDR2LTMyaDE0NHptLTMwNC0zMmgxNDR2MzJoLTE0NHptMCA0OGgxNDR2MTEyaC0xNDR6bTE2MCAwaDY0djExMmgtNjR6bTgwIDBoNjR2MTEyaC02NHptODAgMTEydi0yNDBoMTI4djI0MHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAxNDRoMTZ2MzJoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzUyIDI1NmgxNnYzMmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00OCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im04MCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTIgMzIwYzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ0IDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTggMTUyaDE2MGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGMwLTIuMTIxMDk0LS44NDM3NS00LjE1NjI1LTIuMzQzNzUtNS42NTYyNWwtMzItMzJjLTEuNS0xLjUtMy41MzUxNTYtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTh2LTcyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djcyaC04Yy0yLjEyMTA5NCAwLTQuMTU2MjUuODQzNzUtNS42NTYyNSAyLjM0Mzc1bC0zMiAzMmMtMS41IDEuNS0yLjM0Mzc1IDMuNTM1MTU2LTIuMzQzNzUgNS42NTYyNXYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em01Ni0xMzZoNDh2NjRoLTQ4em0tNDggMTA3LjMxMjUgMjcuMzEyNS0yNy4zMTI1aDg5LjM3NWwyNy4zMTI1IDI3LjMxMjV2MTIuNjg3NWgtMTQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTM2IDM2OGgtOTZjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di02NGMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tOCA2NGgtODB2LTQ4aDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjMyIDMxMmgzMnYxNmgtMzJ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDggMzkyaDE2djMyaC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI3MiAzOTJoMTZ2MzJoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTkyIDIwMGg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi0xNTMuMTM2NzE5aC0xNnYxNTMuMTM2NzE5Yy0xNC4wODU5MzggMy42MzY3MTktMjMuOTQ1MzEyIDE2LjMxNjQwNi0yNCAzMC44NjMyODF2OGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em0yNC0zMmM4LjgzNTkzOCAwIDE2IDcuMTY0MDYyIDE2IDE2aC0zMmMwLTguODM1OTM4IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4IDEzNmg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi04OS4xMzY3MTloLTE2djg5LjEzNjcxOWMtMTQuMDg1OTM4IDMuNjM2NzE5LTIzLjk0NTMxMiAxNi4zMTY0MDYtMjQgMzAuODYzMjgxdjhjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptMjQtMzJjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNmgtMzJjMC04LjgzNTkzOCA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Oxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MTAuNDE3IDIzMy4yMjUtNTguNjQ0LTExNy4yNzljLTE1LjkzOS0zMS44NzctNDcuOTc4LTUxLjY4LTgzLjYyLTUxLjY4LTguNTg2IDAtMTYuOTg0IDEuMTg4LTI1LjAzMiAzLjQzNy4xMDUtMS40ODkuMTc4LTIuOTg4LjE3OC00LjUwMyAwLTM0Ljg0OS0yOC4zNTEtNjMuMi02My4yLTYzLjJzLTYzLjIgMjguMzUyLTYzLjIgNjMuMmMwIDMwLjk5MyAyMi40MzIgNTYuODI4IDUxLjkwOSA2Mi4xNjlsLTYxLjM2NiA2MS40N2MtNi44NzUgNi44ODYtMjEuODcxIDI3LjgyLTEwLjMzMyA1NC40Ni0xLjcwNS0uMTkxLTMuNDIxLS4yOTktNS4xNDQtLjI5OS0yMy4wODcgMC00Mi4zMzYgMTYuNjktNDYuMzUxIDM4LjYzNS03Ljc0LTQuMTQ0LTE2LjU3My02LjUwMS0yNS45NDktNi41MDEtMzAuNDE5IDAtNTUuMTY3IDI0Ljc0OC01NS4xNjcgNTUuMTY3IDAgOS4wNjMgMi4yMTEgMTcuNjE1IDYuMSAyNS4xNjdoLTQwLjU5OHYtMzM4LjQ2OGMwLTguMjg0LTYuNzE2LTE1LTE1LTE1cy0xNSA2LjcxNi0xNSAxNXY0ODJjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXMxNS02LjcxNiAxNS0xNXYtNDkuMjY3aDMwNi41NjNjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtNjQuMjY3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVoLTM2LjQxMmMzLjI3NC04LjM5NSAzLjIxNC0xNS4yNjMgMy4yMTQtMTguMiAyOC40NjkgMCA0OC4yLTIyLjA5OCA0OC4yLTQ3LjEzMyAwLTI1Ljk4OS0yMS4xNDQtNDcuMTMzLTQ3LjEzMy00Ny4xMzNoLTEyLjMwNGw1NS45MDQtNTYuMDg2IDUzLjczNiAxMDYuNzc3LS4xMDMgMjA1LjMwMWMtLjAwMiAzLjk3OSAxLjU3OCA3Ljc5NiA0LjM5MSAxMC42MTEgMi44MTMgMi44MTQgNi42MyA0LjM5NiAxMC42MDkgNC4zOTZoODAuMzM1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTI1Ny4wNjZjMC0yLjMyOS0uNTQyLTQuNjI1LTEuNTgzLTYuNzA4em0tMjYzLjUxNy0xNzAuMDI1YzAtMTguMzA3IDE0Ljg5NC0zMy4yIDMzLjItMzMuMnMzMy4yIDE0Ljg5NCAzMy4yIDMzLjItMTQuODk0IDMzLjItMzMuMiAzMy4yYy0xOC4zMDcgMC0zMy4yLTE0Ljg5My0zMy4yLTMzLjJ6bS0xMjcuMjMzIDIzOS45MzNjMTMuODc3IDAgMjUuMTY3IDExLjI5IDI1LjE2NyAyNS4xNjdzLTExLjI5IDI1LjE2Ny0yNS4xNjcgMjUuMTY3LTI1LjE2Ny0xMS4yOS0yNS4xNjctMjUuMTY3IDExLjI5LTI1LjE2NyAyNS4xNjctMjUuMTY3em0yMDEuODk2IDgwLjMzNHYzNC4yNjdoLTI5MS41NjN2LTM0LjI2N3ptLTE3LjEzLTExMi40NjdjOS40NDcgMCAxNy4xMzMgNy42ODYgMTcuMTMzIDE3LjEzMyAwIDkuNTgzLTcuODE0IDE3LjEzMy0xNy4xMzMgMTcuMTMzaC0xNi4wNjdjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTYuMDY3YzAgOS41ODMtNy44MTQgMTcuMTMzLTE3LjEzMyAxNy4xMzNoLTY0LjI2N2MtOS40NDcgMC0xNy4xMzMtNy42ODYtMTcuMTMzLTE3LjEzM3YtNDguMmMwLTkuNDQ3IDcuNjg2LTE3LjEzMyAxNy4xMzMtMTcuMTMzIDkuMjk3IDAgMTcuMTMzIDcuNTI2IDE3LjEzMyAxNy4xMzN2MTYuMDY3YzAgOC4yODQgNi43MTYgMTUgMTUgMTVzMTUtNi43MTYgMTUtMTV2LTE2LjA2N2MwLTkuNDI5IDcuNjE2LTE3LjEzMyAxNy4xMzMtMTcuMTMzem0xNzcuNTY3IDIxMWgtNTAuMzI2bC4wOTctMTkzLjg1OWMuMDAxLTIuMzQ0LS41NDctNC42NTYtMS42MDEtNi43NWwtNjQuNjg1LTEyOC41MzNjLTIuMTY3LTQuMzA1LTYuMjY5LTcuMzA2LTExLjAyNy04LjA2OC00Ljc2MS0uNzYyLTkuNTk0LjgxLTEyLjk5NSA0LjIyMmwtODYuNDU4IDg2LjczOWMtNy4yNjMgNy4yOTEtMTkuMTE1IDYuODA3LTI2LjMwOC0uMzg2LTcuMzgxLTcuMzgxLTcuNzI4LTE5LjYxMS0uMDIyLTI3LjMyOWw5NS4yNy05NS40MzFjMTEuNzk5LTExLjgyNSAyNy41LTE4LjMzNyA0NC4yMTctMTguMzM3IDI0LjE5OSAwIDQ1Ljk1NSAxMy40NDggNTYuNzc5IDM1LjA5N2w1Ny4wNTkgMTE0LjEwOXoiLz4KICAgIDwvZz4KPC9zdmc+",Exe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTkyLjU0NSwxODUuMDljNTEuMDI5LDAsOTIuNTQ1LTQxLjUxNiw5Mi41NDUtOTIuNTQ1UzE0My41NzQsMCw5Mi41NDUsMFMwLDQxLjUxNiwwLDkyLjU0NSAgICBTNDEuNTE2LDE4NS4wOSw5Mi41NDUsMTg1LjA5eiBNOTIuNTQ1LDIwYzQwLjAwMSwwLDcyLjU0NSwzMi41NDQsNzIuNTQ1LDcyLjU0NXMtMzIuNTQ0LDcyLjU0NS03Mi41NDUsNzIuNTQ1ICAgIFMyMCwxMzIuNTQ2LDIwLDkyLjU0NVM1Mi41NDQsMjAsOTIuNTQ1LDIweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDAuNTAxLDExNC41MjZjMS45NTIsMS45NDUsNC41MDYsMi45MTcsNy4wNiwyLjkxN2MyLjU2NCwwLDUuMTMtMC45OCw3LjA4My0yLjk0ICAgIGMzLjg5OC0zLjkxMiwzLjg4OC0xMC4yNDQtMC4wMjMtMTQuMTQzbC0xMi4wMDgtMTEuOTY4VjQ0YzAtNS41MjItNC40NzgtMTAtMTAtMTBzLTEwLDQuNDc4LTEwLDEwdjQ4LjU0NSAgICBjMCwyLjY1OCwxLjA1OSw1LjIwNywyLjk0LDcuMDgzTDEwMC41MDEsMTE0LjUyNnoiLz4KICAgICAgICA8cGF0aCBkPSJNNTAyLDMzMmgtNjEuNTQ3Yy04LjQ2LTEyLjAzNC0yMS4xNzItMjAuNTU4LTM1LjY3MS0yMy43MjhsLTQzLjk2NC05LjYxMyAgICBjMTcuOTkxLTEyLjEzNCwyOS44NDctMzIuNzAyLDI5Ljg0Ny01NS45ODh2LTI0LjQxN3YtMTEuMjk3di0yLjU0MmMwLTM3LjIxMi0zMC4yNzQtNjcuNDg2LTY3LjQ4Ni02Ny40ODYgICAgcy02Ny40ODYsMzAuMjc0LTY3LjQ4Niw2Ny40ODZ2Mi41NDJ2MTEuMjk3djI0LjQxN2MwLDIzLjI1NiwxMS44MjUsNDMuODAzLDI5Ljc3OCw1NS45NDNsLTQzLjkzNiw5LjYzOSAgICBjLTEuODc3LDAuNDEyLTMuNzIyLDAuOTE3LTUuNTM1LDEuNTAyVjIyN2MwLTUuNTIyLTQuNDc4LTEwLTEwLTEwaC02OGMtNS41MjIsMC0xMCw0LjQ3OC0xMCwxMHM0LjQ3OCwxMCwxMCwxMGg1OHYxNDBoLTY4di01MCAgICBjMC0xNi41NDItMTMuNDU4LTMwLTMwLTMwcy0zMCwxMy40NTgtMzAsMzB2NTBIMjBWMjM3aDU4YzUuNTIyLDAsMTAtNC40NzgsMTAtMTBzLTQuNDc4LTEwLTEwLTEwSDEwYy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjE2MCAgICBjMCw1LjUyMiw0LjQ3OCwxMCwxMCwxMGg3OHYxOWgtMWMtMTcuMDk0LDAtMzEsMTMuOTA2LTMxLDMxdjVIMTBjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTB2NDBjMCw1LjUyMiw0LjQ3OCwxMCwxMCwxMGg0OTIgICAgYzUuNTIyLDAsMTAtNC40NzgsMTAtMTB2LTQwdi00MHYtNDB2LTQwQzUxMiwzMzYuNDc4LDUwNy41MjIsMzMyLDUwMiwzMzJ6IE00NDEuMTc5LDQ1MkgzODR2LTIwaDEwOHYyMEg0NDEuMTc5eiBNNDkyLDQxMkgzODQgICAgdi0yMGgxMDhWNDEyeiBNNDkyLDM3MkgzODR2LTIwaDUwLjg3NGMwLjAzLDAsMC4wNiwwLjAwNiwwLjA4OSwwLjAwNmMwLjAzMSwwLDAuMDYzLTAuMDA2LDAuMDk0LTAuMDA2SDQ5MlYzNzJ6IE0yNzUuNjkyLDIwNC40MTYgICAgYzAtMjYuMTg0LDIxLjMwMy00Ny40ODYsNDcuNDg2LTQ3LjQ4NmMyNC45MzMsMCw0NS40MzksMTkuMzE0LDQ3LjM0Miw0My43NjdsLTIzLjI0Ni0xMy42NTcgICAgYy00LjIxMS0yLjQ3NS05LjU5My0xLjU0NC0xMi43MywyLjE5OWMtMTAuMTI2LDEyLjA4NS0yNC45NzcsMTkuMDE3LTQwLjc0NCwxOS4wMTdoLTE4LjEwN3YtMS4yOTdWMjA0LjQxNnogTTI3NS42OTIsMjI4LjI1NSAgICBIMjkzLjhjMTguODI1LDAsMzYuNy03LjE3OSw1MC4yMDUtMTkuOTRsMjYuNjYsMTUuNjYzdjE4LjY5NGMwLDI2LjE4NC0yMS4zMDMsNDcuNDg2LTQ3LjQ4Niw0Ny40ODZzLTQ3LjQ4Ni0yMS4zMDMtNDcuNDg2LTQ3LjQ4NiAgICBWMjI4LjI1NXogTTMzOC44NDQsMzA4LjMwM2wtMTUuODE1LDQyLjI5NGwtMTUuODQ0LTQyLjM3YzUuMTMsMS4yNTIsMTAuNDgzLDEuOTMxLDE1Ljk5MywxLjkzMSAgICBDMzI4LjU3MiwzMTAuMTU4LDMzMy44MTMsMzA5LjUwNCwzMzguODQ0LDMwOC4zMDN6IE0yMjYsMzk3YzUuNTIyLDAsMTAtNC40NzgsMTAtMTB2LTU1LjYyM2MzLjA4NS0xLjYyNiw2LjM3NC0yLjgzMiw5LjgyLTMuNTg4ICAgIGw0My43NC05LjU5NmwyNC4xMDMsNjQuNDU3YzEuNDYxLDMuOTA3LDUuMTk0LDYuNDk3LDkuMzY2LDYuNDk3czcuOTA1LTIuNTksOS4zNjYtNi40OThsMjQuMTA0LTY0LjQ2MWw0NC4wMTEsOS42MjMgICAgYzMuODYzLDAuODQ0LDcuNTI5LDIuMjc0LDEwLjkwMiw0LjE4OEgzNzRjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTB2NDB2NDB2MzBIMjE1LjE3OXYtNTVIMjI2eiBNMTk1LjE3OSwzOTd2NTVIMTgwdi01ICAgIGMwLTE3LjA5NC0xMy45MDYtMzEtMzEtMzFoLTF2LTE5SDE5NS4xNzl6IE0xMDgsMzI3YzAtNS41MTQsNC40ODYtMTAsMTAtMTBzMTAsNC40ODYsMTAsMTB2ODloLTIwVjMyN3ogTTc2LDQ0NyAgICBjMC02LjA2NSw0LjkzNS0xMSwxMS0xMWgxMWg0MGgxMWM2LjA2NSwwLDExLDQuOTM1LDExLDExdjVINzZWNDQ3eiBNNDkyLDQ5MkgyMHYtMjBoNDcyVjQ5MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzLDIxOS45M2MtMS44NiwxLjg2LTIuOTMsNC40NC0yLjkzLDcuMDdzMS4wNjksNS4yMSwyLjkzLDcuMDY5YzEuODYsMS44Niw0LjQ0LDIuOTMxLDcuMDcsMi45MzEgICAgczUuMjEtMS4wNyw3LjA2OS0yLjkzMUMxMjYuOTMsMjMyLjIxLDEyOCwyMjkuNjMsMTI4LDIyN3MtMS4wNy01LjIxLTIuOTMxLTcuMDdjLTEuODU5LTEuODYtNC40MzktMi45My03LjA2OS0yLjkzICAgIFMxMTIuNzksMjE4LjA2OSwxMTAuOTMsMjE5LjkzeiIvPgogICAgPC9nPgo8L3N2Zz4K",fxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTUsMzUuOTM1YzQuNDkzLS41NTUsOC00LjgsOC05LjkzNSwwLTQuODg1LTMuNTM1LTE5LTktMTlzLTksMTQuMTE1LTksMTljMCw1LjEzOCwzLjUwNyw5LjM4LDgsOS45MzVWNDJINDkuOTQ5YTkuOTc4LDkuOTc4LDAsMCwwLTE0LjQ0MS03LjkyMmwtMS42LTIuNTEzTDMyLjM4OCwyN0gzNi41YTEuNSwxLjUsMCwwLDEsMCwzSDM2djJoLjVhMy41LDMuNSwwLDAsMCwwLTdIMzFhMSwxLDAsMCwwLS45NDgsMS4zMTZMMzEuNjEzLDMxSDIwVjI5aDNhMSwxLDAsMCwwLDEtMSw1LDUsMCwwLDAtMTAsMCwxLDEsMCwwLDAsMSwxaDN2Mi42NzVsLTEuOTY0LDIuN2E5Ljk5MSw5Ljk5MSwwLDEsMCw0LjUxLDExLjYwNiwzLjk4NSwzLjk4NSwwLDEsMCw2LjQyNS00LjYzNGw1LjUyMS04LjI4MywxLjMyOSwyLjA4OUE5Ljk5NSw5Ljk5NSwwLDEsMCw0OS45NDksNDRINjNWNDJINTVaTTQ3LDI2YzAtNS4wNjcsMy42NjEtMTcsNy0xN3M3LDExLjkzMyw3LDE3YzAsNC4wMjItMi42MTQsNy4zNTEtNiw3LjkwOVYxOC41MzVsMi41NTUtMS43LTEuMTEtMS42NjQtMywyQTEsMSwwLDAsMCw1MywxOHY3bC0yLjQtMS44LTEuMiwxLjZMNTMsMjcuNXY2LjQwOUM0OS42MTQsMzMuMzUxLDQ3LDMwLjAyMiw0NywyNlpNMTksMjVhMy4wMDYsMy4wMDYsMCwwLDEsMi44MjksMkgxNi4xNzFBMy4wMDYsMy4wMDYsMCwwLDEsMTksMjVabTUsMTVhMy44MzYsMy44MzYsMCwwLDAtLjU2LjA1N0wyMC41LDMzaDkuNjMybC00LjgyNSw3LjIzN0EzLjk2OCwzLjk2OCwwLDAsMCwyNCw0MFpNMTEsNTFhOCw4LDAsMSwxLDMuODU3LTE1bC0zLjAxMSw0LjE0QTIuOTYsMi45NiwwLDAsMCwxMSw0MGEzLDMsMCwxLDAsMi43MzgsNC4yMTRsNS4xLjM5MkE4LjAxNCw4LjAxNCwwLDAsMSwxMSw1MVptNy45OC04LjM4OS01LjEtLjM5MmEzLjAwNSwzLjAwNSwwLDAsMC0uNDE0LS45MTZsMy00LjEyNUE3Ljk2OSw3Ljk2OSwwLDAsMSwxOC45OCw0Mi42MTFaTTEyLDQzYTEsMSwwLDEsMS0xLTFBMSwxLDAsMCwxLDEyLDQzWm04Ljg3OS0xLjQ3MmE5Ljk2OCw5Ljk2OCwwLDAsMC0zLjIyOC01Ljk3NGwxLjExMS0xLjUyNywyLjgzMiw2LjhBNC4wMzIsNC4wMzIsMCwwLDAsMjAuODc5LDQxLjUyOFpNMjQsNDZhMiwyLDAsMSwxLDItMkEyLDIsMCwwLDEsMjQsNDZabTE2LDVhOCw4LDAsMCwxLTUuMS0xNC4xNTZsMi43NDgsNC4zMTlBMi45NjYsMi45NjYsMCwwLDAsMzcsNDNhMywzLDAsMSwwLDMtMywyLjk2MywyLjk2MywwLDAsMC0uNjcxLjA4MmwtMi43NDEtNC4zMDdBOCw4LDAsMSwxLDQwLDUxWm0wLTlhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsNDAsNDJaIi8+CiAgICAgICAgPHBhdGggZD0iTTcsMThhNCw0LDAsMCwwLDIuNzg4LTEuMTM5LDUuNjMzLDUuNjMzLDAsMCwwLDMuOTYxLS41NDVBMy45NTQsMy45NTQsMCwwLDAsMTcsMThhNCw0LDAsMSwwLS4wODMtOCw2LDYsMCwwLDAtMTEuOS41MzhBMy45OTIsMy45OTIsMCwwLDAsNywxOFptLS42NTMtNS44NzdhMSwxLDAsMCwwLC42Ny0uOTc3QS42LjYsMCwwLDAsNywxMWE0LDQsMCwwLDEsOC0uMDQxYzAsLjAzMy0uMDE4LjE1Mi0uMDIuMTg1YTEsMSwwLDAsMCwxLjMzOS45ODZBMS45NywxLjk3LDAsMCwxLDE3LDEyYTIsMiwwLDEsMS0xLjksMi41NzMsMSwxLDAsMCwwLTEuNTg5LS40ODcsMy44LDMuOCwwLDAsMS0zLjc1MS42OTMsMSwxLDAsMCwwLTEuMTI5LjM3MiwxLjk5NCwxLjk5NCwwLDEsMS0yLjI4Mi0zLjAyOFoiLz4KICAgICAgICA8cmVjdCB4PSIxIiB5PSI1NSIgd2lkdGg9IjYyIiBoZWlnaHQ9IjIiLz4KICAgIDwvZz4KPC9zdmc+Cg==",xxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xNjguOTkyIDI3Ny41OTFjMC0yNi41NTEtMjEuNjAxLTQ4LjE1MS00OC4xNTEtNDguMTUxcy00OC4xNTEgMjEuNjAxLTQ4LjE1MSA0OC4xNTEgMjEuNjAxIDQ4LjE1IDQ4LjE1MSA0OC4xNSA0OC4xNTEtMjEuNiA0OC4xNTEtNDguMTV6bS04MS4zMDMgMGMwLTE4LjI3OSAxNC44NzItMzMuMTUxIDMzLjE1MS0zMy4xNTFzMzMuMTUxIDE0Ljg3MiAzMy4xNTEgMzMuMTUxLTE0Ljg3MiAzMy4xNS0zMy4xNTEgMzMuMTUtMzMuMTUxLTE0Ljg3MS0zMy4xNTEtMzMuMTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3OS4yNzIgNDYyaC0zNC4wNjJsLTM5LjE1OC0zNi42NjdjLTMuMDIzLTIuODMxLTcuNzctMi42NzUtMTAuNjAxLjM0OXMtMi42NzUgNy43Ny4zNDkgMTAuNjAxbDQxLjMyMSAzOC42OTJjMS4zOSAxLjMwMiAzLjIyMiAyLjAyNSA1LjEyNiAyLjAyNWgzNy4wMjRjOS43NzUgMCAxNy43MjggNy45NTMgMTcuNzI4IDE3LjcyOXYyLjI3MWgtNjAuODQ0Yy0yLjE0OCAwLTQuMjYxLS43MDMtNS45ODEtMS45ODZsLTE4OC40OTItMTc4LjkxNHYtMjQuMTMybDEzMi4yMDcgMTIzLjc5NmMzLjAyMyAyLjgzMSA3Ljc3IDIuNjc1IDEwLjYwMS0uMzQ5czIuNjc1LTcuNzctLjM0OS0xMC42MDFsLTE0Mi40NTktMTMzLjM5NnYtMi40NThjMC04LjI4NC02Ljc0LTE1LjAyNC0xNS4wMjUtMTUuMDI0aC0xMi41NDh2LTQyLjc4NmgxMS40MzhjNi41MzYgMCAxMi4zOC0zLjkwMSAxNC44ODYtOS45MzggMi41MDctNi4wMzcgMS4xNDUtMTIuOTMtMy40NzEtMTcuNTZsLTEwNC43MDYtMTA1LjAzNmMtMS4xNjgtMS4xNzItMi40ODctMi4xMzgtMy45MS0yLjg4OXYtMTAuODY5aDUwLjE0OGM4Ljk1OSAwIDE2LjI0OC03LjI4OSAxNi4yNDgtMTYuMjQ4di0yNS4yMTNjMC04Ljk1OS03LjI4OS0xNi4yNDgtMTYuMjQ4LTE2LjI0OGgtNTAuMTY2Yy0uMTg0LTMuOTc4LTMuNDU4LTcuMTQ5LTcuNDgyLTcuMTQ5LTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjV2NjguMjIzYy0xLjQyNy43NTEtMi43NDkgMS43MTktMy45MiAyLjg5NGwtNDAuMDE1IDQwLjE0Yy0yLjkyNSAyLjkzNC0yLjkxNyA3LjY4Mi4wMTcgMTAuNjA2IDIuOTMzIDIuOTIzIDcuNjgxIDIuOTE3IDEwLjYwNi0uMDE3bDQwLjAxNi00MC4xNDFjLjI3MS0uMjcxLjU3OS0uMzI4Ljc5MS0uMzI4LjIxMSAwIC41MjEuMDU3Ljc5Mi4zMjlsMTA0LjcwNSAxMDUuMDM1Yy4xNTcuMTU4LjUyNy41MjkuMjQgMS4yMTktLjI4Ni42ODktLjgwOS42ODktMS4wMzIuNjg5aC0yMDkuNDFjLS4yMjQgMC0uNzQ3IDAtMS4wMzMtLjY4OXMuMDg0LTEuMDYxLjI0MS0xLjIxOWw0My41MjEtNDMuNjU4YzIuOTI1LTIuOTM0IDIuOTE3LTcuNjgzLS4wMTctMTAuNjA2LTIuOTM0LTIuOTI1LTcuNjgzLTIuOTE4LTEwLjYwNi4wMTdsLTQzLjUyMSA0My42NTdjLTQuNjE1IDQuNjMtNS45NzggMTEuNTIyLTMuNDcyIDE3LjU2MSAyLjUwNyA2LjAzNyA4LjM1IDkuOTM4IDE0Ljg4NyA5LjkzOGgxMS40Mzh2NjkuNDQ0YzAgNC4xNDMgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU3IDcuNS03LjV2LTY5LjQ0NGgxNTYuNTM1djEzMi44ODJoLTE1Ni41MzZ2LTMzLjQ1MmMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTctNy41IDcuNXYxODYuNDJoLTIwLjA3M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWg0OTdjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXYtOS43NzFjMC0xOC4wNDctMTQuNjgyLTMyLjcyOS0zMi43MjgtMzIuNzI5em0tMjk5LjUzLTQzOC42MDN2MjUuMjEzYzAgLjY4OC0uNTYgMS4yNDgtMS4yNDggMS4yNDhoLTUwLjE0OHYtMjcuNzA5aDUwLjE0OGMuNjg5IDAgMS4yNDguNTYgMS4yNDggMS4yNDh6bTE2Ny4xOTYgNDEzLjI5MSA2My41NDEgNjAuMzEyaC02My41NDF6bS0xNSA2MC4zMTJoLTYwLjgxMXYtMTMyLjI3bDYwLjgxMSA1Ny43MnptLTc1LjgxLTE0Ni41MDh2MTQ2LjUwOGgtNDIuMDJ2LTE1Ni45NDJoMTIuNTQ4YzQuOTM5IDAgOS4zMTYtMi40MDYgMTIuMDU2LTYuMDk2em0tMjkuNDQ2LTgxLjUzMi0uMDEyIDU2LjA5N3MtLjAwNC4wMDEtLjAxNC4wMDFoLTEyLjU0OHYtNTYuMTEzem0tMjcuNTc0IDIyOC4wNGgtMzcuMTV2LTEzNy45NjloMzcuMTV6bS0xMDQuMzg0LTYxLjQ4NGg1Mi4yMzR2MjEuNDM2aC01Mi4yMzR6bTUyLjIzNC0xNWgtNTIuMjM0di0yMS40MzZoNTIuMjM0em0tNTIuMjM0IDUxLjQzNWg1Mi4yMzR2MjUuMDQ5aC01Mi4yMzR6bTUyLjIzNC0xMTIuOTJ2MjUuMDQ5aC01Mi4yMzR2LTI1LjA0OXptLTEwNC4zODUgMGgzNy4xNXYxMzcuOTY5aC0zNy4xNXoiLz4KICAgIDwvZz4KPC9zdmc+",_xe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNjcuMDQzIDE3MC40MTRjLTEwLjUxNi0uMzY1LTIwLjAxNi01LjA0Ny0yNi43NDktMTMuMTgxLTQuOTE0LTUuOTM3LTEzLjkzOC01LjkyNS0xOC44NDIgMC0xNC41OTcgMTcuNjM3LTQxLjQ2MiAxNy42MDYtNTYuMDMxIDAtNC45NzMtNi4wMDctMTQuMDA1LTUuODQyLTE4Ljg0MyAwLTE0LjU5MiAxNy42MzMtNDEuNDU1IDE3LjYxMy01Ni4wMzEtLjAwMS00LjkyMi01Ljk0NS0xMy45NDUtNS45MTUtMTguODQxIDAtNi43MzMgOC4xMzUtMTYuMjMzIDEyLjgxNi0yNi43NDkgMTMuMTgyLTQuMTQuMTQ0LTcuMzc5IDMuNjE2LTcuMjM0IDcuNzU2LjE0NCA0LjE0IDMuNTk0IDcuMzcxIDcuNzU2IDcuMjM1IDEzLjU2Ni0uNDcyIDI2LjM4Ni02LjMyOCAzNS42NDYtMTYuMTg3IDIwLjI3NiAyMS42MjkgNTQuNTY5IDIxLjY1NyA3NC44NzUuMDAxIDIwLjI3OCAyMS42MjkgNTQuNTcxIDIxLjY1NCA3NC44NzQtLjAwMSA5LjI2MiA5Ljg1OSAyMi4wOCAxNS43MTUgMzUuNjQ3IDE2LjE4NyA0LjEyMS4xNDkgNy42MTMtMy4wOTUgNy43NTYtNy4yMzUuMTQ1LTQuMTQtMy4wOTQtNy42MTItNy4yMzQtNy43NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjc4MiAxMDcuN2MtOC4wODItMS43MDMtMTUuMTY3LTYtMjAuNDg3LTEyLjQyNy00LjkxNC01LjkzNy0xMy45MzgtNS45MjUtMTguODQyIDAtMTQuNTk3IDE3LjYzNy00MS40NjIgMTcuNjA2LTU2LjAzMSAwLTQuOTczLTYuMDA3LTE0LjAwNS01Ljg0Mi0xOC44NDMgMC0xNC41OTIgMTcuNjMzLTQxLjQ1NSAxNy42MTMtNTYuMDMxLS4wMDEtNC45MjItNS45NDUtMTMuOTQ1LTUuOTE1LTE4Ljg0MSAwLTUuMzIgNi40MjctMTIuNDA0IDEwLjcyNS0yMC40ODYgMTIuNDI4LTQuMDU0Ljg1NC02LjY0NyA0LjgzMi01Ljc5MyA4Ljg4NXM0Ljg0IDYuNjQ3IDguODg1IDUuNzkyYzEwLjM4My0yLjE4OCAxOS41OTItNy4zOSAyNi44MTYtMTUuMTE3IDIwLjI4MiAyMS42MzEgNTQuNTcyIDIxLjY0OCA3NC44NzItLjAwMSAyMC4yNzYgMjEuNjI2IDU0LjU2NyAyMS42NTYgNzQuODcxLjAwMiA3LjIyNiA3LjcyNyAxNi40MzYgMTIuOTMgMjYuODE4IDE1LjExNiA0LjA0OC44NTUgOC4wMy0xLjc0IDguODg1LTUuNzkzLjg1My00LjA1My0xLjc0MS04LjAzMS01Ljc5My04Ljg4NHoiLz4KICAgICAgICA8cGF0aCBkPSJtNTQuOTg1IDQyOS4yNzNoMTY5LjczMnY2OS41NzljMCA3LjI1IDUuODk4IDEzLjE0OCAxMy4xNDkgMTMuMTQ4aDI1LjE5MmM3LjI1IDAgMTMuMTQ4LTUuODk4IDEzLjE0OC0xMy4xNDh2LTEuNDY0aDc0LjE5OXYxLjQ2NGMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtNjkuNTc5aDU1LjExOWMyNC4xMjEgMCA0My4wODEtMjAuODg2IDQwLjY1Ny00NC45NTYtLjAwNC0uMDQtLjAwOC0uMDgtLjAxMy0uMTJsLTEzLjAzNS0xMTEuNTY3Yy0uNDgxLTQuMTE0LTQuMjE1LTcuMDYyLTguMzE5LTYuNTc5LTQuMTE0LjQ4MS03LjA2IDQuMjA2LTYuNTc5IDguMzJsMTMuMDMgMTExLjUwM2MxLjQ2IDE0LjgzMy0xMC4wOTQgMjguMzk4LTI1LjczOCAyOC4zOThoLTU1LjExOXYtMTkuMDU4aDQ0LjkzN2M5LjQ3IDAgMTYuODgtOC4xOTEgMTUuOTM1LTE3LjYxNi0uMDA1LS4wNDMtLjAxLS4wODYtLjAxNS0uMTI5bC0zOC43NTYtMzI5LjA3NGMtLjg2MS04LjE3OS03LjY5NS0xNC4zMzctMTUuOTI3LTE0LjMzN2gtMTM0LjU3MWMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxMzQuNTcxYy41MjMgMCAuOTU3LjM5MyAxLjAxLjkxNC4wMDQuMDQyLjAwOS4wODMuMDE0LjEyNWwzOC43NSAzMjkuMDM0Yy4wMTkuMjc1LS4wNzQuNTQ3LS4yNi43NTEtLjE5MS4yMTItLjQ2Ni4zMzMtLjc1Mi4zMzNoLTQ0LjkzN3YtMjIuODkyYzAtMzkuNDc3LTMyLjI1Ni03MC4zNDQtNzAuMzQ1LTcwLjM0NC0yNi43NzggMC01MC45NDcgMTUuMTg5LTYyLjgzOSAzOC43NDQtMTIuMDA4LTIzLjc3Mi0zNi43MjUtMzkuMjUtNjQuMjA2LTM4LjczMS0zNy43LjcwOS02OC45ODggMzEuNTkzLTY4Ljk4OCA3MC4zMzJ2MjIuODkyaC03MC4zNTJjLS4yODYgMC0uNTYtLjEyMi0uNzUzLS4zMzUtLjE4NS0uMjA0LS4yNzctLjQ3Ni0uMjU5LS43NTFsMzguNzUyLTMyOS4wMzJjLjAwNS0uMDQyLjAxLS4wODQuMDE0LS4xMjcuMDUzLS41Mi40ODYtLjkxMiAxLjAxLS45MTJoMTM0LjU3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMzQuNTdjLTguMjMzIDAtMTUuMDY3IDYuMTYtMTUuOTI3IDE0LjMzOWwtMzguNzU3IDMyOS4wNzNjLS4wMDUuMDQzLS4wMS4wODYtLjAxNS4xMjktLjk0NiA5LjQyMiA2LjQ2NCAxNy42MTYgMTUuOTM1IDE3LjYxNmgxNTkuNTUxdjE5LjA1OGgtMTY5LjczMmMtMTQuODUyIDAtMjcuMjc5LTEyLjc4Mi0yNS43MzktMjguMzk5bDQwLjYwOS0zNDcuNDgzYy4wMDUtLjA0LjAwOS0uMDguMDEzLS4xMTkgMS4zMzYtMTMuMjY4IDEyLjM5OS0yMy4yNzMgMjUuNzM0LTIzLjI3M2gzMjAuNzk4YzEzLjMzNSAwIDI0LjM5NyAxMC4wMDUgMjUuNzMzIDIzLjI3Mi4wMDQuMDQuMDA4LjA4LjAxMy4xMmwyMy40ODcgMjAwLjk3OWMuNDgxIDQuMTE1IDQuMjE3IDcuMDYzIDguMzE5IDYuNTc5IDQuMTE0LS40OCA3LjA2LTQuMjA2IDYuNTc5LTguMzJsLTIzLjQ4LTIwMC45MjJjLTIuMTM4LTIwLjkzMi0xOS42MDMtMzYuNzA4LTQwLjY1MS0zNi43MDhoLTMyMC43OThjLTIxLjA0OSAwLTM4LjUxNiAxNS43NzctNDAuNjUyIDM2LjcxbC00MC42MSAzNDcuNDg4Yy0uMDA1LjA0LS4wMDkuMDgtLjAxMy4xMi0yLjQxNSAyMy45OTkgMTYuNDY2IDQ0Ljk1NSA0MC42NTggNDQuOTU1em0yNTcuNzEzLTcxLjMwMmMwLTEwLjMyNSA4LjEyMi0xOS4yODkgMTguNS0xOS40ODMgMTAuNjgyLS4yMDQgMTkuMjA5IDguNDkxIDE5LjIwOSAxOC44MzZ2MjIuODkyaC0zNy43MDl6bS0zNi40OTEgNzEuMzAyaDc0LjE5OXYxOS4wNThoLTc0LjE5OXptNzguMjE1LTM0LjA1OGM1LjU2OSAwIDEwLjAxNCA0LjgxOCA5LjQ4NCAxMC40My0uNDczIDQuODg0LTQuNTkgOC42MjctOS40ODQgOC42MjdoLTc4LjIxNXYtMTkuMDU4YzI2LjExMi4wMDEgNTIuMTY3LjAwMSA3OC4yMTUuMDAxem0tNzguMjE1IDY4LjExNmg3OC4yMTVjNS41MzcgMCAxMC4wMTYgNC43OTYgOS40ODQgMTAuNDMtLjQ3MiA0Ljg3NC00LjU4NyA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1em0xMTAuNjkgMzMuNjY5aC0yMS40OXYtMi4yMTNjMTguMDE0LTkuMTI3IDE4LjA1NC0zNC43MDggMC00My44NTV2LTI0LjI2YzE4LjA5OC05LjE3IDE3Ljk2OC0zNC43NTIgMC00My44NTV2LTI1LjQ5M2MwLTIwLjQ4Ni0xOC4yMDItMzYuNTE3LTM4Ljc5NC0zMy40OS0xNi4zNTMgMi40LTI4LjkxNSAxNi41MjYtMjguOTE1IDMzLjQ5djIyLjg5MmgtMjEuNDl2LTIxLjgzN2MwLTMwLjU1MiAyNC40Ni01Ni4wOTQgNTQuODIyLTU2LjM4NiAzMS4yMTgtLjI2MiA1NS44NjcgMjUuMDU4IDU1Ljg2NyA1NS4zMzF6bS0yMzYuMzc3LTExNi43ODV2LTIxLjgzOGMwLTMyLjIyNCAyNi42OTYtNTcuNTgzIDU3LjU4OS01Ni4zNDIgMjkuNDgzIDEuMjA0IDUzLjA5OSAyNS41MDMgNTMuMDk5IDU1LjI4N3YxMzkuNjc3aC0yMS40OWMwLTE0LjQxOCAwLTEyMS4wNjMgMC0xMzkuNjc3IDAtMTcuOTUtMTQuMDY1LTMyLjgwNC0zMS45MTUtMzMuNzk1LTE5LjI3Ni0xLjA5Ni0zNS43OTMgMTQuMjYxLTM1Ljc5MyAzMy43OTV2MjIuODkyaC0yMS40OXptMzYuNDkgMHYtMjIuMjQ1YzAtOS40MjUgNi43NjItMTcuNzI0IDE1Ljg3Ny0xOS4yNDMgMTEuNjM5LTEuODUyIDIxLjgzIDcuMjM3IDIxLjgzIDE4LjU5NnYyMi44OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Sxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjE2LDI1MkgxMTZjLTUuNTEsMC0xMCw0LjQ5LTEwLDEwczQuNDksMTAsMTAsMTBoMTAwYzUuNTEsMCwxMC00LjQ5LDEwLTEwUzIyMS41MSwyNTIsMjE2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1MmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMHMxMC00LjQ5LDEwLTEwUzI2MS41MSwyNTIsMjU2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzk2LDI1MkgyOTZjLTUuNTEsMC0xMCw0LjQ5LTEwLDEwczQuNDksMTAsMTAsMTBoMTAwYzUuNTEsMCwxMC00LjQ5LDEwLTEwUzQwMS41MSwyNTIsMzk2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjg2LDEwN2gtNjBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NjBjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg2MGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi02MAoJCQlDMjk2LDExMS40NzcsMjkxLjUyMywxMDcsMjg2LDEwN3ogTTI3NiwxNjdoLTQwdi00MGg0MFYxNjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMiw0OTJoLTEzVjIzM2MwLTYyLjIzNy0yNC4yMzYtMTIwLjc0OC02OC4yNDQtMTY0Ljc1NkMzNzYuNzQ4LDI0LjIzNiwzMTguMjM3LDAsMjU2LDBTMTM1LjI1MiwyNC4yMzYsOTEuMjQ0LDY4LjI0NAoJCQlTMjMsMTcwLjc2MywyMywyMzN2MjU5SDEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwczQuNDc3LDEwLDEwLDEwaDQ5MmM1LjUyMywwLDEwLTQuNDc3LDEwLTEwUzUwNy41MjMsNDkyLDUwMiw0OTJ6IE0zODYsNDkySDEyNgoJCQl2LTIwaDI2MFY0OTJ6IE0zODYsNDUySDEyNnYtMjBoMjYwVjQ1MnogTTM4Niw0MTJIMTI2di0yMGgyNjBWNDEyeiBNMzg2LDM3MkgxMjZ2LTIwaDI2MFYzNzJ6IE0zODYsMzMySDEyNnYtMjBoMjYwVjMzMnoKCQkJIE00MjksNDkyaC0yM1YzMDJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMEgxMTZjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTkwSDgzVjIzM2MwLTk1LjY2OCw3Ny4zODMtMTczLjUsMTcyLjUtMTczLjUKCQkJQzM1MS4xNjgsNTkuNSw0MjksMTM3LjMzMiw0MjksMjMzVjQ5MnogTTQ2OSw0OTJoLTIwVjIzM2MwLTEwNi42OTYtODYuODA0LTE5My41LTE5My41LTE5My41CgkJCWMtNTEuNjM5LDAtMTAwLjA2MywyMC4xMzctMTM2LjM1Miw1Ni43MDJDODIuOTQsMTMyLjY4NCw2MywxODEuMjY3LDYzLDIzM3YyNTlINDNWMjMzYzAtMTE3LjQ0OSw5NS41NTEtMjEzLDIxMy0yMTMKCQkJczIxMyw5NS41NTEsMjEzLDIxM1Y0OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",kxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MDguNTQxIDIxOC4zODQtMTYyLjUwNy0yMDMuMTM0Yy03Ljc1My05LjY5Mi0xOS4zMTgtMTUuMjUtMzEuNzI5LTE1LjI1aC04My4xNTVjLTguNzAzIDAtMTUuNzgzIDcuMDgtMTUuNzgzIDE1Ljc4M3YxNi41NjdjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDMzLjkxN3YxMTcuNTMzaC0zMC42MzJsLTEyMC4zMzQtMTUwLjQxNmMtNy43NTMtOS42OTEtMTkuMzE4LTE1LjI1LTMxLjcyOS0xNS4yNWgtNjYuNTg5Yy04LjcwMyAwLTE1Ljc4MyA3LjA4LTE1Ljc4MyAxNS43ODN2MTYuNTY3YzAgOC43MDMgNy4wOCAxNS43ODMgMTUuNzgzIDE1Ljc4M2gxNy4zNXYxMTcuNTMzaC0xNy4zNWMtOC43MDMuMDAxLTE1Ljc4MyA3LjA4MS0xNS43ODMgMTUuNzg0djMwNi40ODNjMCAxMy4yNzEgMTAuNzk2IDI0LjA2NyAyNC4wNjcgMjQuMDY3aDQ3Mi4xNWM4LjcwMyAwIDE1Ljc4My03LjA4IDE1Ljc4My0xNS43ODN2LTc0LjU1LTE0My4yODktNTAuMTM0YzAtMy41NzEtMS4yMjgtNy4wNzMtMy40NTktOS44NnptLTYyLjAyNCAxOTUuNzgzYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtNzQuNTUtMTIxLjkwOGwxOC4xMzQgMjIuNjY3djE3NC41NzR6bS0yMzEuOTM0IDBjLS40MzIgMC0uNzg0LS4zNTItLjc4NC0uNzgzdi02Ny4wNWgxOC4xMzN2NjcuODMzem0tNjYuMjY2LTgyLjgzNGMtLjQzMiAwLS43ODQtLjM1Mi0uNzg0LS43ODR2LTY3LjA0OWgxOC4xMzN2NjcuODMzem0tNjYuMjY3LTgyLjgzM2MtLjQzMiAwLS43ODMtLjM1Mi0uNzgzLS43ODN2LTY3LjA1aDE4LjEzM3Y2Ny44MzN6bTgzLjYxNi05MS43NDF2OC45MDhoLTE4LjEzM3YtMzEuNTc0em02Ni4yNjcgODIuODMzdjguOTA4aC0xOC4xMzN2LTMxLjU3NHptODEuMjY3IDguMTI1di0xOTYuNDI4Yy4wNzIuMDg0LjE1Mi4xNi4yMjIuMjQ3bDE3LjkxMSAyMi4zODl2MTc0LjU3NWgtMTcuMzVjLS40MzEgMC0uNzgzLS4zNTItLjc4My0uNzgzem0xMTcuNTMzIDUwLjQ4M2gtMTguMTMzdi0xMjIuNjkxbDE4LjEzNCAyMi42Njd2MTAwLjAyNHptLTE4LjEzMyAxNWgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bS0xNSAxOC4xMzNoLTE3LjM1Yy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4NHYtNzQuNTQ5LTEyMS45MDhsMTguMTMzIDIyLjY2NnptLTMzLjEzMy0xMTUuOTY2aC0xOC4xMzR2LTEyMi42OTFsMTguMTM0IDIyLjY2N3ptLTE4LjEzNCAxNWgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bTE4LjEzNCAzMy4xMzN2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzg0aC04NC40NHYtNTIuOTU1LTE0Ljg3OXptLTk5LjQwMSAxNy41MDl2MTAwLjAyNGgtMTguMTMzdi0xMjIuNjkxbDUuMDg2IDYuMzU3em0tMTUwLjY2Ni0xODguMzMzIDE4LjEzMyAyMi42Njd2MTAwLjAyNGgtMTguMTMzem0zMy4xMzMgODcuOTkxaDE4LjEzM3Y2Ny44MzNoLTE4LjEzM3ptMzMuMTMzLTUuMTU4IDE4LjEzMyAyMi42Njd2MTAwLjAyNGgtMTguMTMzem0zMy4xMzQgODcuOTkxaDE4LjEzM3Y2Ny44MzNoLTE4LjEzM3ptLTExNC40LTk3LjgzM2gtMTguMTMzdi0xMTQuMzc4Yy4wNzMuMDg0LjE1Mi4xNi4yMjIuMjQ3bDE3LjkxMSAyMi4zOXptMTUgNjQuN2gxOC4xMzN2MTguMTMzaC0xOC4xMzN6bTY2LjI2NiA4Mi44MzNoMTguMTM0djE4LjEzM2gtMTguMTMzdi0xOC4xMzN6bTY2LjI2NyA4Mi44MzNoMTguMTMzdjE4LjEzM2gtMTguMTMzem0zMy4xMzMtNDkuN2gxNTAuNjY3djY3LjA1YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMTUwLjcwN3ptMjA3LjMxNi03Ny4zNDYgOS42MTggMTIuMDIydjEwMC4wMjRoLTE4LjEzM3YtMTIyLjY5em0tOC41MTUgMTI3LjA0NmgxOC4xMzN2MTguMTMzaC0xOC4xMzN6bS0yNDguNS0zNjMuNjgzdi0xNi41NjdjMC0uNDMyLjM1Mi0uNzgzLjc4My0uNzgzaDgzLjE1NWM3LjgzIDAgMTUuMTI1IDMuNTA2IDIwLjAxNyA5LjYybDE2Mi41MDcgMjAzLjEzNGMwIC4wMDEuMDAxLjAwMS4wMDIuMDAyLjEwOS4xMzcuMTcuMzExLjE3LjQ4OHYyOC43NTNsLTE3MS44NjYtMjE0LjgzMWMtNC41OTMtNS43NC0xMS40NDItOS4wMzItMTguNzkzLTkuMDMyaC0uNjQyLTc0LjU1Yy0uNDMyLS4wMDEtLjc4My0uMzUyLS43ODMtLjc4NHptNjcuODMzIDE1Ljc4M3Y4NC40aC0xOC4xMzR2LTg0LjR6bS0xOC4xMzQgOTkuNGgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bTE4LjEzNCAzMy4xMzR2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0xOC4xNzR2LTIwLjI1NmMwLTMuNTctMS4yMjgtNy4wNzItMy40NTgtOS44NTkgMC0uMDAxIDAtLjAwMSAwLS4wMDFsLTMwLjE3NC0zNy43MThoNTEuNzY2em0tMjgzLjItMTQ4LjMxN3YtMTYuNTY3YzAtLjQzMS4zNTItLjc4My43ODMtLjc4M2g2Ni41ODhjNy44MyAwIDE1LjEyNSAzLjUwNiAyMC4wMTYgOS42MmwxNjIuNTA4IDIwMy4xMzRjLjExLjEzOC4xNzEuMzEzLjE3MS40OXYyOC43NTRsLTE3MS44NjUtMjE0LjgzMmMtNC41OTItNS43NC0xMS40NDItOS4wMzMtMTguNzkzLTkuMDMzaC0uNjQyLTU3Ljk4M2MtLjQzMSAwLS43ODMtLjM1MS0uNzgzLS43ODN6bTUxLjI2NyAxNS43ODN2ODQuNGgtMTguMTM0di04NC40em0tMTguMTM0IDk5LjRoMTguMTMzdjE4LjEzM2gtMTguMTMzem0tMjQuMDY2IDM0OS40NjdjLTUgMC05LjA2Ny00LjA2Ny05LjA2Ny05LjA2N3YtMzA2LjQ4M2MwLS40MzIuMzUyLS43ODQuNzgzLS43ODRoNTAuNDgzdjY3LjA1YzAgOC43MDMgNy4wOCAxNS43ODMgMTUuNzgzIDE1Ljc4M2g1MC40ODN2NjcuMDVjMCA4LjcwMyA3LjA4MSAxNS43ODQgMTUuNzg0IDE1Ljc4NGg1MC40ODR2NjcuMDVjMCA4LjcwMyA3LjA4MSAxNS43ODMgMTUuNzg0IDE1Ljc4M2g1MC40ODN2NjcuMDVjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzaC0yNDAuMjE3em00NzIuOTMzLS43ODNjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzaC0yMTYuMTljLjAxMy0uMjYxLjA0LS41MTkuMDQtLjc4M3YtNjcuMDVoMjE2LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+",Yxe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuOTk4LDMwLjU5OGgtMTUyYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjQwLjAwM2MwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDIwLjAwMXY3NC43OTRoLTE5MAoJCQkJYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjQwLjAwMmMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwSDIwMHY3NC43OTZIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAxYzAsNS41MjMsNC40NzcsMTAsMTAsMTAKCQkJCWgxMy45OTZWNDcxLjRjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGgxODEuNzZjMi4yNTYsMCw0LjQ0NS0wLjc2Myw2LjIxMy0yLjE2NWwyODYuMjQzLTIyNi45NzIKCQkJCWMyLjM5Mi0xLjg5NiwzLjc4Ni00Ljc4MiwzLjc4Ni03LjgzNVY4MC42MDFWNDAuNTk4QzUxMS45OTgsMzUuMDc1LDUwNy41MjIsMzAuNTk4LDUwMS45OTgsMzAuNTk4eiBNMTg5Ljk5OSwyMDUuMzk3di0yMC4wMDIKCQkJCWgxODB2MjAuMDAySDE4OS45OTl6IE0yMCwzNDAuMTk0di0yMC4wMDFoMTgwdjIwLjAwMUgyMHogTTQ5MS45OTgsMTA5Ljg3OWgtNDEuMDM1Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwCgkJCQljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg0MS4wMzV2MTA5LjcxNUwyMTIuMjcxLDQ2MS40SDQzLjk5NnYtNjIuMjUzaDQxLjAzNmM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwcy00LjQ3OC0xMC0xMC0xMEg0My45OTYKCQkJCXYtMTguOTUzSDIxMGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi00MC4wMDF2LTg0Ljc5NmgxNTkuOTk5YzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTQwLjAwMlY5MC42MDFoMTAxLjk5OVYxMDkuODc5egoJCQkJIE00OTEuOTk4LDcwLjYwMWgtMTMyVjUwLjU5OGgxMzJWNzAuNjAxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMTQsMzc5LjE0NGgtMC4yMzZjLTUuNTI0LDAtMTAsNC40NzctMTAsMTBzNC40NzYsMTAsMTAsMTBIMTE0YzUuNTIyLDAsMTAtNC40NzcsMTAtMTBTMTE5LjUyMiwzNzkuMTQ0LDExNCwzNzkuMTQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjEuOTk4LDEyOS44OGgwLjIzNWM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwcy00LjQ3OC0xMC0xMC0xMGgtMC4yMzVjLTUuNTIzLDAtMTAsNC40NzctMTAsMTAKCQkJCVM0MTYuNDc1LDEyOS44OCw0MjEuOTk4LDEyOS44OHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",vxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNS41MTggNjRoMi45ODZjLjU1MyAwIDEtLjQ0NyAxLTF2LTIuMDIxaDQ0Ljk5MnYyLjAyMWMwIC41NTMuNDQ3IDEgMSAxaDNjLjU1MyAwIDEtLjQ0NyAxLTF2LTYwLjVjMC0xLjM3OC0xLjEyMS0yLjUtMi41LTIuNXMtMi41IDEuMTIyLTIuNSAyLjV2MTUuNTA0aC0yLjk5OHYtMTMuOTk2YzAtLjU1Mi0uNDQ3LTEtMS0xaC0xNS45OTZjLS41NTMgMC0xIC40NDgtMSAxdjEzLjk5NWgtMy4wMDJ2LTEzLjk5NWMwLS41NTItLjQ0Ny0xLTEtMWgtMTUuOTk2Yy0uNTUzIDAtMSAuNDQ4LTEgMXYxMy45OTVoLTN2LTE1LjUwM2MwLTEuMzc4LTEuMTIxLTIuNS0yLjUtMi41cy0yLjUgMS4xMjItMi41IDIuNWwuMDE0IDYwLjVjMCAuNTUzLjQ0NyAxIDEgMXptNTAuOTc4LTYxLjVjMC0uMjc2LjIyNS0uNS41LS41cy41LjIyNC41LjV2NTkuNWgtMXptLTE0Ljk5OCAyLjUwOGgyLjAwMnYxLjAwOGgtMi4wMDJ6bS01Ljk5NiAwaDMuOTk2djIuMDA4YzAgLjU1Mi40NDcgMSAxIDFoNC4wMDJjLjU1MyAwIDEtLjQ0OCAxLTF2LTIuMDA4aDMuOTk4djEyLjk5NWgtMTMuOTk2em0tMTUuMDAyIDBoMnYxLjAwOGgtMnptLTUuOTk2IDBoMy45OTZ2Mi4wMDhjMCAuNTUyLjQ0NyAxIDEgMWg0Yy41NTMgMCAxLS40NDggMS0xdi0yLjAwOGg0djEyLjk5NWgtMTMuOTk2em0tNSAxNC45OTVoNCAxNS45OTYgNS4wMDIgMTUuOTk2IDMuOTk4djFoLTQ0Ljk5MnptMCAzaDQ0Ljk5MnYxMy45NzFoLTIuOTk2di0xMC45OWMwLS41NTItLjQ0Ny0xLTEtMWgtMzdjLS41NTMgMC0xIC40NDgtMSAxdjEwLjk5MWgtMi45OTZ6bTE5Ljk5NiA2Ljk4MWg1Yy41NTMgMCAxLS40NDggMS0xdi0yaDE0djkuOTkxaC0zNXYtOS45OTFoMTR2MmMwIC41NTIuNDQ3IDEgMSAxem0xLTJ2LTFoM3Yxem0tMjAuOTk2IDEwLjk5MWgzLjk5NiAzNyAzLjk5NnYxLjAwMmgtNDQuOTkyem0wIDMuMDAyaDQ0Ljk5MnYxNGgtMi45OTR2LTExLjk5YzAtLjU1My0uNDQ3LTEtMS0xaC0xNC4wMDJjLS41NTMgMC0xIC40NDctMSAxdjExLjk5aC0yLjk5NHYtOC45ODhjMC0uNTUzLS40NDctMS0xLTFoLTYuOTk0Yy0uMDA0IDAtLjAwNi0uMDAyLS4wMS0uMDAycy0uMDA2LjAwMi0uMDEuMDAyaC0zLjk4MmMtLjAwNCAwLS4wMDYtLjAwMi0uMDEtLjAwMnMtLjAwNi4wMDItLjAxLjAwMmgtNi45ODZjLS41NTMgMC0xIC40NDctMSAxdjguOTg4aC0zem0zMS45OTYgNi4wMTdoNC4wMDJjLjU1MyAwIDEtLjQ0NyAxLTF2LTIuMDA4aDN2MTAuOTloLTEyLjAwMnYtMTAuOTloM3YyLjAwOGMwIC41NTMuNDQ3IDEgMSAxem0xLTJ2LTEuMDA4aDIuMDAydjEuMDA4em0tMjIgNWg0LjAwMmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMDZoNS4wMDR2Ny45ODhoLTE2LjAwMnYtNy45ODhoNC45OTZ2Mi4wMDZjMCAuNTUzLjQ0NyAxIDEgMXptMS0ydi0xLjAwNmgyLjAwMnYxLjAwNnptLTExLjk5NiA4Ljk4M2g0IDE4LjAwMiA0Ljk5NCAxNC4wMDIgMy45OTR2MS4wMDJoLTQ0Ljk5MnptLTIuNS01NS45NzdjLjI3NSAwIC41LjIyNC41LjV2NTkuNWgtLjk4NmwtLjAxNC01OS41YzAtLjI3Ni4yMjUtLjUuNS0uNXoiLz4KICAgIDwvZz4KPC9zdmc+",bxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjMgM3YtMmgtMzFjLS41NTMgMC0xIC40NDctMSAxdjhjMCAuNTUzLjQ0NyAxIDEgMWgxdjUwaC0zMnYyaDMzIDQgOCA0IDEzdi0yaC0xMnYtNWgxMnYtMmgtMTMtNC0zdi0yaDIwdi0yaC0yMWMtLjU1MyAwLTEgLjQ0Ny0xIDF2NGMwIC41NTMuNDQ3IDEgMSAxaDN2NWgtNnYtNTBoMjR2LTJoLTI1LTQtMXYtNnptLTE2IDUzaDJ2NWgtMnptLTEwLTQ1djUwaC0ydi01MHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjEgMzJjMC0yLjExOC0uNTAxLTQuMjM4LTEuNDQ3LTYuMTMxbC0uNjU4LTEuMzE2Yy0uMzQtLjY3OC0xLjQ0OS0uNjc4LTEuNzg5IDBsLS42NTggMS4zMTZjLS45NDcgMS44OTMtMS40NDggNC4wMTMtMS40NDggNi4xMzEgMCAuMjQxLjAyOS40ODEuMDQyLjcyMi0uNjQ2LS40ODMtMS4zODMtLjgzNy0yLjE3Mi0xLjAzNGwtMi42MjgtLjY1N2MtLjMzOC0uMDg3LS43MDEuMDE1LS45NDkuMjYzcy0uMzQ5LjYwOC0uMjYzLjk0OWwuNjU3IDIuNjI5Yy4yNjkgMS4wNzMuODIzIDIuMDU1IDEuNjA1IDIuODM2Ljc4MS43ODIgMS43NjMgMS4zMzcgMi44MzYgMS42MDVoLjAwMWwuNjcyLjE2OC0xLjI1LjYyNS44OTUgMS43ODkgMi41NTQtMS4yNzd2Mi4zODJoLTdjLS41NTMgMC0xIC40NDctMSAxdjRjMCAuNTUzLjQ0NyAxIDEgMWgxLjA5NWwuOTEgOS4xYy4wNTEuNTEuNDgxLjkuOTk1LjloMTBjLjUxNCAwIC45NDQtLjM5Ljk5NS0uOWwuOTEtOS4xaDEuMDk1Yy41NTMgMCAxLS40NDcgMS0xdi00YzAtLjU1My0uNDQ3LTEtMS0xaC03di0yLjM4MmwyLjU1MyAxLjI3Ni44OTUtMS43ODktMS4yNS0uNjI1LjY3Mi0uMTY4aC4wMDFjMS4wNzMtLjI2OSAyLjA1NS0uODIzIDIuODM2LTEuNjA1Ljc4Mi0uNzgxIDEuMzM3LTEuNzYzIDEuNjA1LTIuODM3bC42NTctMi42MjhjLjA4Ni0uMzQxLS4wMTUtLjcwMS0uMjYzLS45NDlzLS42MDktLjM1LS45NDktLjI2M2wtMi42MjkuNjU3Yy0uNzg4LjE5Ny0xLjUyNS41NTEtMi4xNzEgMS4wMzQuMDE0LS4yNC4wNDMtLjQ4LjA0My0uNzIxem0xLjA5NSAyNWgtOC4xODlsLS44LThoOS43OXptMi45MDUtMTBoLTE0di0yaDE0em0tNy0xOS43MzRjLjY1NSAxLjQ4NSAxIDMuMTEgMSA0LjczNHMtLjM0NSAzLjI0OS0xIDQuNzM0Yy0uNjU1LTEuNDg1LTEtMy4xMS0xLTQuNzM0cy4zNDUtMy4yNDkgMS00LjczNHptLTUuMjkzIDkuMDI3Yy0uNTI1LS41MjUtLjg5OC0xLjE4Ni0xLjA4LTEuOTA3bC0uMjUyLTEuMDExIDEuMDEuMjUyYy43MjMuMTgyIDEuMzgzLjU1NSAxLjkwOCAxLjA4cy44OTggMS4xODYgMS4wOCAxLjkwN2wuMjUyIDEuMDExLTEuMDEtLjI1MmMtLjcyMi0uMTgyLTEuMzgzLS41NTUtMS45MDgtMS4wOHptMTAuOTA3LTIuNjY2IDEuMDExLS4yNTItLjI1MiAxLjAxYy0uMTgyLjcyMy0uNTU1IDEuMzgzLTEuMDggMS45MDhzLTEuMTg2Ljg5OC0xLjkwOCAxLjA4bC0xLjAxLjI1Mi4yNTItMS4wMWMuMTgyLS43MjMuNTU1LTEuMzgzIDEuMDgtMS45MDhzMS4xODYtLjg5OCAxLjkwNy0xLjA4eiIvPgogICAgICAgIDxwYXRoIGQ9Im01IDE1aDEzYzIuNzU3IDAgNS0yLjI0MyA1LTVzLTIuMjQzLTUtNS01Yy0uNDM4IDAtLjg3Ny4wNjEtMS4zMDMuMTgtLjc2Ni0yLjQ1NS0zLjAyMy00LjE4LTUuNjk3LTQuMTgtMy4zMDkgMC02IDIuNjkxLTYgNi0yLjIwNiAwLTQgMS43OTQtNCA0czEuNzk0IDQgNCA0em0wLTZjLjI3IDAgLjUzMy4wNTQuNzgzLjE2LjM1Mi4xNDcuNzU2LjA4NSAxLjA0My0uMTYzLjI4OC0uMjQ4LjQxMS0uNjM5LjMxNy0xLjAwNy0uMDk4LS4zNzctLjE0My0uNjkyLS4xNDMtLjk5IDAtMi4yMDYgMS43OTQtNCA0LTQgMi4wODEgMCAzLjc4NCAxLjU3NCAzLjk2MSAzLjY2Mi4wMjguMzQ1LjIzMy42NDguNTQuODA2LjMwOC4xNTguNjc1LjE0NS45Ny0uMDMyLjQ4My0uMjkuOTk3LS40MzYgMS41MjktLjQzNiAxLjY1NCAwIDMgMS4zNDYgMyAzcy0xLjM0NiAzLTMgM2gtMTNjLTEuMTAzIDAtMi0uODk3LTItMnMuODk3LTIgMi0yeiIvPgogICAgPC9nPgo8L3N2Zz4=",Qxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTEsNTdINDguNDE0bC0uODc5LS44NzlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEtNS4xMTJDNTEuMTUzLDQ4LjU4Nyw1NS42MDcsNDEuOTM0LDU1Ljk1NywzNEg1NmExLDEsMCwwLDAsMS0xVjMwYTEsMSwwLDAsMC0xLTFINTIuNDY0YTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMtNEg1N2ExLDEsMCwwLDAsMS0xVjRhMSwxLDAsMCwwLTEtMUg0Ni44NDFBMTIuNywxMi43LDAsMCwwLDMzLjE1OSwzSDIzYTEsMSwwLDAsMC0xLDFWMjRhMSwxLDAsMCwwLDEsMWgyLjg2M2ExOS41ODIsMTkuNTgyLDAsMCwwLDEuNjczLDRIMjRhMSwxLDAsMCwwLTEsMXYzYTEsMSwwLDAsMCwxLDFoLjA0M2MuMzUsNy45MzQsNC44LDE0LjU4NywxMC44OTMsMTcuMDA5YTguNTg3LDguNTg3LDAsMCwxLTIuNDcxLDUuMTEyTDMxLjU4Niw1N0gyOWExLDEsMCwwLDAtMSwxdjRhMSwxLDAsMCwwLDEsMUg1MWExLDEsMCwwLDAsMS0xVjU4QTEsMSwwLDAsMCw1MSw1N1pNNTYsNVYyM0g1NC42MTFBMjEuNDQ3LDIxLjQ0NywwLDAsMCw1NSwxOSwxOS40OTMsMTkuNDkzLDAsMCwwLDQ5LjQwNyw1Wk0yNCwyM1Y1aDYuNTkzQTE5LjQ5MywxOS40OTMsMCwwLDAsMjUsMTlhMjEuNDQ3LDIxLjQ0NywwLDAsMCwuMzg5LDRabTMtNGMwLTguODIyLDUuODMyLTE2LDEzLTE2czEzLDcuMTc4LDEzLDE2YTE4LjQwNywxOC40MDcsMCwwLDEtMi44NzIsMTBINDcuNjgyQTE2LDE2LDAsMCwwLDUxLDE5YzAtNy43Mi00LjkzNS0xNC0xMS0xNFMyOSwxMS4yOCwyOSwxOWExNiwxNiwwLDAsMCwzLjMxOCwxMEgyOS44NzJBMTguNDA3LDE4LjQwNywwLDAsMSwyNywxOVptOC4wNjEsMTBBMTMuMzA4LDEzLjMwOCwwLDAsMSwzMSwxOWMwLTYuNjE3LDQuMDM3LTEyLDktMTJzOSw1LjM4Myw5LDEyYTEzLjMwOCwxMy4zMDgsMCwwLDEtNC4wNjEsMTBaTTI1LDMxSDU1djFIMjVabTEuMDQyLDNINTMuOTU4QzUzLjUyOCw0Mi45MDgsNDcuNDQyLDUwLDQwLDUwUzI2LjQ3Miw0Mi45MDgsMjYuMDQyLDM0Wk0zNi44NjQsNTEuNjI5YTEzLjQ0LDEzLjQ0LDAsMCwwLDYuMjcyLDBBMTAuNTM5LDEwLjUzOSwwLDAsMCw0NS42MzYsNTdIMzQuMzY0QTEwLjUzOSwxMC41MzksMCwwLDAsMzYuODY0LDUxLjYyOVpNNTAsNjFIMzBWNTlINTBaIi8+CiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgICAgICA8cGF0aCBkPSJNMjMsNTdoLS4wOEE3LjAxLDcuMDEsMCwwLDAsMTksNTEuNjg1VjQ4YTEsMSwwLDAsMC0xLTFIMTdWMjYuODE2YTMsMywwLDEsMC0yLDBWNDdIMTRhMSwxLDAsMCwwLTEsMXYzLjY4NUE3LjAxLDcuMDEsMCwwLDAsOS4wOCw1N0g5YTMsMywwLDAsMCwwLDZIMjNhMywzLDAsMCwwLDAtNlpNMTYsMjNhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsMTYsMjNaTTE1LDQ5aDJ2Mi4wOGE2LjI5LDYuMjksMCwwLDAtMiwwWm0xLDRhNS4wMDYsNS4wMDYsMCwwLDEsNSw1SDExQTUuMDA2LDUuMDA2LDAsMCwxLDE2LDUzWm03LDhIOWExLDEsMCwwLDEsMC0yLDEsMSwwLDAsMCwxLDFIMjJhMSwxLDAsMCwwLDEtMSwxLDEsMCwwLDEsMCwyWiIvPgogICAgICAgIDxwYXRoIGQ9Ik04LDE1YTEsMSwwLDAsMCwxLTEsNS4wMDYsNS4wMDYsMCwwLDEsNS01LDEsMSwwLDAsMCwwLTJBNS4wMDYsNS4wMDYsMCwwLDEsOSwyLDEsMSwwLDAsMCw3LDIsNS4wMDYsNS4wMDYsMCwwLDEsMiw3LDEsMSwwLDAsMCwyLDlhNS4wMDYsNS4wMDYsMCwwLDEsNSw1QTEsMSwwLDAsMCw4LDE1Wk01LjYsOEE3LjA2Niw3LjA2NiwwLDAsMCw4LDUuNiw3LjA2Niw3LjA2NiwwLDAsMCwxMC40LDgsNy4wNjYsNy4wNjYsMCwwLDAsOCwxMC40LDcuMDY2LDcuMDY2LDAsMCwwLDUuNiw4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4KICAgICAgICA8cGF0aCBkPSJNNjIsNDhhMywzLDAsMCwxLTMtMywxLDEsMCwwLDAtMiwwLDMsMywwLDAsMS0zLDMsMSwxLDAsMCwwLDAsMiwzLDMsMCwwLDEsMywzLDEsMSwwLDAsMCwyLDAsMywzLDAsMCwxLDMtMywxLDEsMCwwLDAsMC0yWm0tNCwyYTUuMDE3LDUuMDE3LDAsMCwwLTEtMSw1LjAxNyw1LjAxNywwLDAsMCwxLTEsNS4wMTcsNS4wMTcsMCwwLDAsMSwxQTUuMDE3LDUuMDE3LDAsMCwwLDU4LDUwWiIvPgogICAgPC9nPgo8L3N2Zz4K",Uxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOSA1MDkiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNTkuMiAwdjg5LjhoLTg5LjgwMXY4OS44aC04OS44djg5LjhoLTg5Ljc5OXY4OS44aC04OS44djE0OS44aDUwOXYtNTA5em0xMTkuOCA0NzloLTQ0OXYtODkuOGg4OS44di04OS44aDg5Ljh2LTg5LjhoODkuOHYtODkuOGg4OS44di04OS44aDg5Ljh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTY4LjQ0OCAxNzYuOTU2IDk0LjA0MS05NC4wNC0zLjYyOSA0My4wNjYgMjkuODk1IDIuNTE5IDguNTYyLTEwMS42MjYtMTAxLjYyNyA4LjU2MiAyLjUxOCAyOS44OTQgNDMuMDY4LTMuNjI4LTk0LjA0MSA5NC4wNHoiLz4KICAgIDwvZz4KPC9zdmc+",$xe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y0Mi42NjcKCQkJQzI0Ny40NjcsMzcuOTU2LDI0My42NDQsMzQuMTMzLDIzOC45MzMsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NzcuODY3LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjc2LjhjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzUzQ4Ni40LDgxLjUxLDQ4Ni40LDc2LjhWNDIuNjY3CgkJCUM0ODYuNCwzNy45NTYsNDgyLjU3NywzNC4xMzMsNDc3Ljg2NywzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE3OS4yLDBIOC41MzNDMy44MjMsMCwwLDMuODIzLDAsOC41MzN2NDk0LjkzM0MwLDUwOC4xNzcsMy44MjMsNTEyLDguNTMzLDUxMkgxNzkuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMKCQkJVjguNTMzQzE4Ny43MzMsMy44MjMsMTgzLjkxLDAsMTc5LjIsMHogTTE3MC42NjcsNDk0LjkzM2gtMTUzLjZWMTcuMDY3aDE1My42VjQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMzU4LjRIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxMzYuNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3CgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzY2LjkzM0M1MTIsMzYyLjIyMyw1MDguMTc3LDM1OC40LDUwMy40NjcsMzU4LjR6IE00OTQuOTMzLDQ5NC45MzNoLTMwNy4yVjM3NS40NjdoMzA3LjIKCQkJVjQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2NwoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjguNTMzQzUxMiwzLjgyMyw1MDguMTc3LDAsNTAzLjQ2NywweiBNNDk0LjkzMywzNC4xMzNoLTMwNy4yVjE3LjA2N2gzMDcuMlYzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEzNi41MzMsMjQ3LjQ2N2gtMjUuNmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDI1LjZjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVMxNDEuMjQ0LDI0Ny40NjcsMTM2LjUzMywyNDcuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMzLDI0Ny40NjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YyNS42YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YyNTYKCQkJQzExOS40NjcsMjUxLjI5LDExNS42NDQsMjQ3LjQ2NywxMTAuOTMzLDI0Ny40Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsNDE4LjEzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDUxLjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVMzNzEuNjQ0LDQxOC4xMzMsMzY2LjkzMyw0MTguMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNDEuMzMzLDQxOC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxNy4wNjdjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCXYtMTcuMDY3QzM0OS44NjcsNDIxLjk1NiwzNDYuMDQ0LDQxOC4xMzMsMzQxLjMzMyw0MTguMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yCgkJCUMyOTguNjY3LDM3Ljk1NiwyOTQuODQ0LDM0LjEzMywyOTAuMTMzLDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywxMTkuNDY3Yy00NS45MzUsMC03Ni44LDE3LjE0My03Ni44LDQyLjY2N1YxNzkuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTcuMDY3djc2LjgKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcKCQkJQzM2Ni45MzMsMTM2LjYxLDMzNi4wNjgsMTE5LjQ2NywyOTAuMTMzLDExOS40Njd6IE0zNDkuODY3LDE3MC42NjdIMzMyLjhjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZIMjU2di03Ni44CgkJCWMwLTQuNzEtMy44MjMtOC41MzMtOC41MzMtOC41MzNIMjMwLjR2LTguNTMzYzAtMTIuNDA3LDIwLjkzMi0yNS42LDU5LjczMy0yNS42czU5LjczMywxMy4xOTMsNTkuNzMzLDI1LjZWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzQ5Ljg2NywxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNwoJCQljMCw0LjAxMSwyLjc5LDcuNDc1LDYuNzA3LDguMzM3YzE5LjI1MSw0LjIxNSwzMS42OTMsMTMuMTY3LDMxLjY5MywyMi44MDF2OC41MzNIMzMyLjhjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2NwoJCQlDNDI2LjY2NywxMzYuNjEsMzk1LjgwMiwxMTkuNDY3LDM0OS44NjcsMTE5LjQ2N3ogTTQwOS42LDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcKCQkJSDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3YzAtOS44MTMtNC43MzYtMTguNTc3LTEzLjM4LTI1LjU1N2MzNi40MzcsMC44MDIsNTYuMDQ3LDEzLjU0Miw1Ni4wNDcsMjUuNTU3CgkJCVYxNzAuNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MDkuNiwxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNwoJCQljMCw0LjAxMSwyLjc5LDcuNDc1LDYuNzA3LDguMzM3YzE5LjI1MSw0LjIxNSwzMS42OTMsMTMuMTY3LDMxLjY5MywyMi44MDF2OC41MzNoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjg1LjMzMwoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3CgkJCUM0ODYuNCwxMzYuNjEsNDU1LjUzNSwxMTkuNDY3LDQwOS42LDExOS40Njd6IE00NjkuMzMzLDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcKCQkJaDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1NwoJCQlWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMwoJCQljMCw0LjcwMi0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzYzE0LjExNCwwLDI1LjYtMTEuNDg2LDI1LjYtMjUuNgoJCQlTMzA0LjI0Nyw4NS4zMzMsMjkwLjEzMyw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM1OC40LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yCgkJCUMzNjYuOTMzLDM3Ljk1NiwzNjMuMTEsMzQuMTMzLDM1OC40LDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzU4LjQsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMKCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYKCQkJUzM3Mi41MTQsODUuMzMzLDM1OC40LDg1LjMzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDNDM1LjIsMzcuOTU2LDQzMS4zNzcsMzQuMTMzLDQyNi42NjcsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjYuNjY3LDg1LjMzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcwMiwwLDguNTMzLDMuODMxLDguNTMzLDguNTMzCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42CgkJCVM0NDAuNzgxLDg1LjMzMyw0MjYuNjY3LDg1LjMzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDg2LjQsMzI0LjI2N0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzA3LjIKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YzMzIuOEM0OTQuOTMzLDMyOC4wOSw0OTEuMTEsMzI0LjI2Nyw0ODYuNCwzMjQuMjY3eiBNNDc3Ljg2NywzNTguNEgxODcuNzMzdi0xNy4wNjdoMjkwLjEzMwoJCQlWMzU4LjR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ2OS4zMzMsMzkyLjUzM2gtMjU2Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2NjguMjY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNTYKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNjguMjY3QzQ3Ny44NjcsMzk2LjM1Niw0NzQuMDQ0LDM5Mi41MzMsNDY5LjMzMywzOTIuNTMzeiBNNDYwLjgsNDYwLjhIMjIxLjg2N3YtNTEuMkg0NjAuOAoJCQlWNDYwLjh6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Pxe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTUuNzU4IDYxLTEuNTY5LTUuNTdjNC4wNTMtMi4yMDQgNi44MTEtNi41MDEgNi44MTEtMTEuNDN2LTFjMS4xMDMgMCAyLS44OTcgMi0ydi0yYzAtMS4xMDMtLjg5Ny0yLTItMnYtMTBjMS4xMDMgMCAyLS44OTcgMi0ydi0yYzAtMS4xMDMtLjg5Ny0yLTItMmgtMjZjLTEuMTAzIDAtMiAuODk3LTIgMnYyYzAgMS4xMDMuODk3IDIgMiAydjEwYy0xLjEwMyAwLTIgLjg5Ny0yIDJ2MmMwIDEuMTAzLjg5NyAyIDIgMnYxYzAgNC45MjkgMi43NTggOS4yMjYgNi44MTEgMTEuNDNsLTEuNTY5IDUuNTdoLTEzLjM0M2MtLjQ2NS0yLjI3OS0yLjQ4NC00LTQuODk5LTRoLTF2LTkuMDAzYzQuNjkzLTEuOTYzIDgtNi42IDgtMTEuOTk3di03aC0xOHYtNGg0djJoMnYtMmMwLTEuMTAzLS44OTctMi0yLTJoLTYtMS0xYy0xLjEwMyAwLTIgLjg5Ny0yIDJ2NGgtMnY3YzAgNS4zOTcgMy4zMDcgMTAuMDM0IDggMTEuOTk3djkuMDAzaC0xYy0yLjQxNCAwLTQuNDM0IDEuNzIxLTQuODk5IDRoLTUuMTAxdjJoNjR2LTJ6bS0yMC43NTktMzhoMjYuMDAxdjJoLTI2em0yLjAwMSA4aDR2LTJoLTR2LTJoMjJ2MTBoLTIyem0tMi4wMDEgOGgyNi4wMDF2MmgtMjZ6bTIuMDAxIDV2LTFoMjJ2MWMwIDYuMDY1LTQuOTM1IDExLTExIDExcy0xMS00LjkzNS0xMS0xMXptNi42NjEgMTIuMjRjMS4zNi40ODMgMi44MTYuNzYgNC4zMzkuNzZzMi45NzktLjI3NyA0LjMzOS0uNzZsMS4zNCA0Ljc2aC0xMS4zNTh6bS0zNi42NjEtMzEuMjRoMSAxdjRoLTJ6bTIwIDZ2MmgtMjJ2LTJ6bS0yMiA1di0xaDIydjFjMCA2LjA2NS00LjkzNSAxMS0xMSAxMXMtMTEtNC45MzUtMTEtMTF6bTggMTIuNjM3Yy45NjUuMjI5IDEuOTY2LjM2MyAzIC4zNjNzMi4wMzUtLjEzNCAzLS4zNjN2OC4zNjNoLTZ6bS0zIDEwLjM2M2gxMmMxLjMwMiAwIDIuNDAyLjgzOSAyLjgxNiAyaC0xNy42MzJjLjQxNC0xLjE2MSAxLjUxNC0yIDIuODE2LTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQgMjFoMjRjMS42NTQgMCAzLTEuMzQ2IDMtM3YtMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM2gtMjRjLTEuNjU0IDAtMyAxLjM0Ni0zIDN2MTRjMCAxLjY1NCAxLjM0NiAzIDMgM3ptLTEtMTdjMC0uNTUxLjQ0OC0xIDEtMWgyNGMuNTUyIDAgMSAuNDQ5IDEgMXYxNGMwIC41NTEtLjQ0OCAxLTEgMWgtMjRjLS41NTIgMC0xLS40NDktMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMCAyLjUxNWgydjE2Ljk3MWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC00LjU1NiAxMSkiLz4KICAgICAgICA8cGF0aCBkPSJtMjAgMi41MTVoMnYxNi45NzFoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzA3IC0uNzA3IC43MDcgLjcwNyAtMS42MjcgMTguMDcxKSIvPgogICAgICAgIDxwYXRoIGQ9Im0zNSA5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzUgMTNoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyAxMWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzIDExaDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDUgM2gydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1IDdoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDMgNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDEzaDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTUgMTdoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im01NyAxNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUzIDE1aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+",Wxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTEsNTdINDguNDE0bC0uODc5LS44NzlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEtNS4xMTJDNTEuMTUzLDQ4LjU4Nyw1NS42MDcsNDEuOTM0LDU1Ljk1NywzNEg1NmExLDEsMCwwLDAsMS0xVjMwYTEsMSwwLDAsMC0xLTFINTIuNDY0YTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMtNEg1N2ExLDEsMCwwLDAsMS0xVjRhMSwxLDAsMCwwLTEtMUg0Ni44NDFBMTIuNywxMi43LDAsMCwwLDMzLjE1OSwzSDIzYTEsMSwwLDAsMC0xLDFWMjRhMSwxLDAsMCwwLDEsMWgyLjg2M2ExOS41ODIsMTkuNTgyLDAsMCwwLDEuNjczLDRIMjRhMSwxLDAsMCwwLTEsMXYzYTEsMSwwLDAsMCwxLDFoLjA0M2MuMzUsNy45MzQsNC44LDE0LjU4NywxMC44OTMsMTcuMDA5YTguNTg3LDguNTg3LDAsMCwxLTIuNDcxLDUuMTEyTDMxLjU4Niw1N0gyOWExLDEsMCwwLDAtMSwxdjRhMSwxLDAsMCwwLDEsMUg1MWExLDEsMCwwLDAsMS0xVjU4QTEsMSwwLDAsMCw1MSw1N1pNNTYsNVYyM0g1NC42MTFBMjEuNDQ3LDIxLjQ0NywwLDAsMCw1NSwxOSwxOS40OTMsMTkuNDkzLDAsMCwwLDQ5LjQwNyw1Wk0yNCwyM1Y1aDYuNTkzQTE5LjQ5MywxOS40OTMsMCwwLDAsMjUsMTlhMjEuNDQ3LDIxLjQ0NywwLDAsMCwuMzg5LDRabTMtNGMwLTguODIyLDUuODMyLTE2LDEzLTE2czEzLDcuMTc4LDEzLDE2YTE4LjQwNywxOC40MDcsMCwwLDEtMi44NzIsMTBINDcuNjgyQTE2LDE2LDAsMCwwLDUxLDE5YzAtNy43Mi00LjkzNS0xNC0xMS0xNFMyOSwxMS4yOCwyOSwxOWExNiwxNiwwLDAsMCwzLjMxOCwxMEgyOS44NzJBMTguNDA3LDE4LjQwNywwLDAsMSwyNywxOVptOC4wNjEsMTBBMTMuMzA4LDEzLjMwOCwwLDAsMSwzMSwxOWMwLTYuNjE3LDQuMDM3LTEyLDktMTJzOSw1LjM4Myw5LDEyYTEzLjMwOCwxMy4zMDgsMCwwLDEtNC4wNjEsMTBaTTI1LDMxSDU1djFIMjVabTEuMDQyLDNINTMuOTU4QzUzLjUyOCw0Mi45MDgsNDcuNDQyLDUwLDQwLDUwUzI2LjQ3Miw0Mi45MDgsMjYuMDQyLDM0Wk0zNi44NjQsNTEuNjI5YTEzLjQ0LDEzLjQ0LDAsMCwwLDYuMjcyLDBBMTAuNTM5LDEwLjUzOSwwLDAsMCw0NS42MzYsNTdIMzQuMzY0QTEwLjUzOSwxMC41MzksMCwwLDAsMzYuODY0LDUxLjYyOVpNNTAsNjFIMzBWNTlINTBaIi8+CiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgICAgICA8cGF0aCBkPSJNMjMsNTdoLS4wOEE3LjAxLDcuMDEsMCwwLDAsMTksNTEuNjg1VjQ4YTEsMSwwLDAsMC0xLTFIMTdWMjYuODE2YTMsMywwLDEsMC0yLDBWNDdIMTRhMSwxLDAsMCwwLTEsMXYzLjY4NUE3LjAxLDcuMDEsMCwwLDAsOS4wOCw1N0g5YTMsMywwLDAsMCwwLDZIMjNhMywzLDAsMCwwLDAtNlpNMTYsMjNhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsMTYsMjNaTTE1LDQ5aDJ2Mi4wOGE2LjI5LDYuMjksMCwwLDAtMiwwWm0xLDRhNS4wMDYsNS4wMDYsMCwwLDEsNSw1SDExQTUuMDA2LDUuMDA2LDAsMCwxLDE2LDUzWm03LDhIOWExLDEsMCwwLDEsMC0yLDEsMSwwLDAsMCwxLDFIMjJhMSwxLDAsMCwwLDEtMSwxLDEsMCwwLDEsMCwyWiIvPgogICAgICAgIDxwYXRoIGQ9Ik04LDE1YTEsMSwwLDAsMCwxLTEsNS4wMDYsNS4wMDYsMCwwLDEsNS01LDEsMSwwLDAsMCwwLTJBNS4wMDYsNS4wMDYsMCwwLDEsOSwyLDEsMSwwLDAsMCw3LDIsNS4wMDYsNS4wMDYsMCwwLDEsMiw3LDEsMSwwLDAsMCwyLDlhNS4wMDYsNS4wMDYsMCwwLDEsNSw1QTEsMSwwLDAsMCw4LDE1Wk01LjYsOEE3LjA2Niw3LjA2NiwwLDAsMCw4LDUuNiw3LjA2Niw3LjA2NiwwLDAsMCwxMC40LDgsNy4wNjYsNy4wNjYsMCwwLDAsOCwxMC40LDcuMDY2LDcuMDY2LDAsMCwwLDUuNiw4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4KICAgICAgICA8cGF0aCBkPSJNNjIsNDhhMywzLDAsMCwxLTMtMywxLDEsMCwwLDAtMiwwLDMsMywwLDAsMS0zLDMsMSwxLDAsMCwwLDAsMiwzLDMsMCwwLDEsMywzLDEsMSwwLDAsMCwyLDAsMywzLDAsMCwxLDMtMywxLDEsMCwwLDAsMC0yWm0tNCwyYTUuMDE3LDUuMDE3LDAsMCwwLTEtMSw1LjAxNyw1LjAxNywwLDAsMCwxLTEsNS4wMTcsNS4wMTcsMCwwLDAsMSwxQTUuMDE3LDUuMDE3LDAsMCwwLDU4LDUwWiIvPgogICAgPC9nPgo8L3N2Zz4K",Bxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWNzYuOGMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWNDIuNjY3CgkJCUMyNDcuNDY3LDM3Ljk1NiwyNDMuNjQ0LDM0LjEzMywyMzguOTMzLDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDc3Ljg2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1M0ODYuNCw4MS41MSw0ODYuNCw3Ni44VjQyLjY2NwoJCQlDNDg2LjQsMzcuOTU2LDQ4Mi41NzcsMzQuMTMzLDQ3Ny44NjcsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNzkuMiwwSDguNTMzQzMuODIzLDAsMCwzLjgyMywwLDguNTMzdjQ5NC45MzNDMCw1MDguMTc3LDMuODIzLDUxMiw4LjUzMyw1MTJIMTc5LjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVY4LjUzM0MxODcuNzMzLDMuODIzLDE4My45MSwwLDE3OS4yLDB6IE0xNzAuNjY3LDQ5NC45MzNoLTE1My42VjE3LjA2N2gxNTMuNlY0OTQuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDM1OC40SDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTM2LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2NwoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjM2Ni45MzNDNTEyLDM2Mi4yMjMsNTA4LjE3NywzNTguNCw1MDMuNDY3LDM1OC40eiBNNDk0LjkzMyw0OTQuOTMzaC0zMDcuMlYzNzUuNDY3aDMwNy4yCgkJCVY0OTQuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDBIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMyNC4yNjcKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y4LjUzM0M1MTIsMy44MjMsNTA4LjE3NywwLDUwMy40NjcsMHogTTQ5NC45MzMsMzQuMTMzaC0zMDcuMlYxNy4wNjdoMzA3LjJWMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMzYuNTMzLDI0Ny40NjdoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNS42YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQlTMTQxLjI0NCwyNDcuNDY3LDEzNi41MzMsMjQ3LjQ2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzMywyNDcuNDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MjUuNmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWMjU2CgkJCUMxMTkuNDY3LDI1MS4yOSwxMTUuNjQ0LDI0Ny40NjcsMTEwLjkzMywyNDcuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjYuOTMzLDQxOC4xMzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1MS4yYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQlTMzcxLjY0NCw0MTguMTMzLDM2Ni45MzMsNDE4LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzQxLjMzMyw0MTguMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTcuMDY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQl2LTE3LjA2N0MzNDkuODY3LDQyMS45NTYsMzQ2LjA0NCw0MTguMTMzLDM0MS4zMzMsNDE4LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDMjk4LjY2NywzNy45NTYsMjk0Ljg0NCwzNC4xMzMsMjkwLjEzMywzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsMTE5LjQ2N2MtNDUuOTM1LDAtNzYuOCwxNy4xNDMtNzYuOCw0Mi42NjdWMTc5LjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDE3LjA2N3Y3Ni44CgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNIMzMyLjhjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44SDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3CgkJCUMzNjYuOTMzLDEzNi42MSwzMzYuMDY4LDExOS40NjcsMjkwLjEzMywxMTkuNDY3eiBNMzQ5Ljg2NywxNzAuNjY3SDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWMjU2SDI1NnYtNzYuOAoJCQljMC00LjcxLTMuODIzLTguNTMzLTguNTMzLTguNTMzSDIzMC40di04LjUzM2MwLTEyLjQwNywyMC45MzItMjUuNiw1OS43MzMtMjUuNnM1OS43MzMsMTMuMTkzLDU5LjczMywyNS42VjE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM0OS44NjcsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcKCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzSDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTkuNzMzYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNzYuOGgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcKCQkJQzQyNi42NjcsMTM2LjYxLDM5NS44MDIsMTE5LjQ2NywzNDkuODY3LDExOS40Njd6IE00MDkuNiwxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3CgkJCUgzNTguNGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1NwoJCQlWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDA5LjYsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcKCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzaC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2NwoJCQlDNDg2LjQsMTM2LjYxLDQ1NS41MzUsMTE5LjQ2Nyw0MDkuNiwxMTkuNDY3eiBNNDY5LjMzMywxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3CgkJCWgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcKCQkJVjE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMKCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYKCQkJUzMwNC4yNDcsODUuMzMzLDI5MC4xMzMsODUuMzMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCwzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDMzY2LjkzMywzNy45NTYsMzYzLjExLDM0LjEzMywzNTguNCwzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM1OC40LDg1LjMzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcwMiwwLDguNTMzLDMuODMxLDguNTMzLDguNTMzCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42CgkJCVMzNzIuNTE0LDg1LjMzMywzNTguNCw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQyNi42NjcsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2NTEuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTUxLjIKCQkJQzQzNS4yLDM3Ljk1Niw0MzEuMzc3LDM0LjEzMyw0MjYuNjY3LDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2Nyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMwoJCQljMCw0LjcwMi0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzYzE0LjExNCwwLDI1LjYtMTEuNDg2LDI1LjYtMjUuNgoJCQlTNDQwLjc4MSw4NS4zMzMsNDI2LjY2Nyw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ4Ni40LDMyNC4yNjdIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMwNy4yCgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzMyLjhDNDk0LjkzMywzMjguMDksNDkxLjExLDMyNC4yNjcsNDg2LjQsMzI0LjI2N3ogTTQ3Ny44NjcsMzU4LjRIMTg3LjczM3YtMTcuMDY3aDI5MC4xMzMKCQkJVjM1OC40eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjkuMzMzLDM5Mi41MzNoLTI1NmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjY4LjI2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjU2CgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTY4LjI2N0M0NzcuODY3LDM5Ni4zNTYsNDc0LjA0NCwzOTIuNTMzLDQ2OS4zMzMsMzkyLjUzM3ogTTQ2MC44LDQ2MC44SDIyMS44Njd2LTUxLjJINDYwLjgKCQkJVjQ2MC44eiIvPgogICAgPC9nPgo8L3N2Zz4K",Jxe="PHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTE5NC44MzYgNThoLTExOS4zMjhjLTI0LjQ0NSAwLTQ0LjMzNiAxOS44ODktNDQuMzM2IDQ0LjMzNnYxMTkuMzI4YzAgMjQuNDQ3IDE5Ljg5MSA0NC4zMzYgNDQuMzM2IDQ0LjMzNmgxMTkuMzI4YzI0LjQ0NSAwIDQ0LjMzNi0xOS44ODkgNDQuMzM2LTQ0LjMzNnYtMTE5LjMyOGMwLTI0LjQ0Ny0xOS44OTEtNDQuMzM2LTQ0LjMzNi00NC4zMzZ6bTM2LjMzNiAxNjMuNjY0YzAgMjAuMDM1LTE2LjMwMSAzNi4zMzYtMzYuMzM2IDM2LjMzNmgtMTE5LjMyOGMtMjAuMDM1IDAtMzYuMzM2LTE2LjMwMS0zNi4zMzYtMzYuMzM2di0xMTkuMzI4YzAtMjAuMDM1IDE2LjMwMS0zNi4zMzYgMzYuMzM2LTM2LjMzNmgxMTkuMzI4YzIwLjAzNSAwIDM2LjMzNiAxNi4zMDEgMzYuMzM2IDM2LjMzNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA3NGMtNDkuNjI1IDAtOTAgNDAuMzczLTkwIDkwczQwLjM3NSA5MCA5MCA5MCA5MC00MC4zNzMgOTAtOTAtNDAuMzc1LTkwLTkwLTkwem0wIDE3MmMtNDUuMjE1IDAtODItMzYuNzg1LTgyLTgyczM2Ljc4NS04MiA4Mi04MiA4MiAzNi43ODUgODIgODItMzYuNzg1IDgyLTgyIDgyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzUuMTcyIDkwYy00MC44MDUgMC03NCAzMy4xOTUtNzQgNzRzMzMuMTk1IDc0IDc0IDc0IDc0LTMzLjE5NSA3NC03NC0zMy4xOTUtNzQtNzQtNzR6bTAgMTQwYy0zNi4zOTEgMC02Ni0yOS42MDctNjYtNjZzMjkuNjA5LTY2IDY2LTY2IDY2IDI5LjYwNyA2NiA2Ni0yOS42MSA2Ni02NiA2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtNzkuMTcyIDEzOHYzMmMwIDIuMjA5IDEuNzg5IDQgNCA0aDEwNGMyLjIxMSAwIDQtMS43OTEgNC00di0zMmMwLTIuMjA5LTEuNzg5LTQtNC00aC0xMDRjLTIuMjExIDAtNCAxLjc5MS00IDR6bTggNGg5NnYyNGgtOTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExNy4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyOS4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE0NS4xNzIgMTUxLjQ3Yy0yLjUwMiAwLTQuNTMgMi4wMjgtNC41MyA0LjUzIDAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTMgMi41MDEgMCA0LjUzLTIuMDI4IDQuNTMtNC41My0uMDAxLTIuNTAyLTIuMDI5LTQuNTMtNC41My00LjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNTMuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjE5OS4xNzIiIGN5PSIzOCIgcj0iNCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzkuMTcyIDQ2Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyczUuMzgzIDEyIDEyIDEyIDEyLTUuMzgzIDEyLTEyLTUuMzgzLTEyLTEyLTEyem0wIDE2Yy0yLjIwNyAwLTQtMS43OTUtNC00czEuNzkzLTQgNC00IDQgMS43OTUgNCA0LTEuNzkzIDQtNCA0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjQuODI4IDExMCAyLjgyOC0yLjgyOGMxLjU2Mi0xLjU2MiAxLjU2Mi00LjA5NCAwLTUuNjU2cy00LjA5NC0xLjU2Mi01LjY1NiAwbC0yLjgyOCAyLjgyOC0yLjgyOC0yLjgyOGMtMS41NjItMS41NjItNC4wOTQtMS41NjItNS42NTYgMHMtMS41NjIgNC4wOTQgMCA1LjY1NmwyLjgyOCAyLjgyOC0yLjgyOCAyLjgyOGMtMS41NjIgMS41NjItMS41NjIgNC4wOTQgMCA1LjY1Ni43ODEuNzgxIDEuODA1IDEuMTcyIDIuODI4IDEuMTcyczIuMDQ3LS4zOTEgMi44MjgtMS4xNzJsMi44MjgtMi44MjggMi44MjggMi44MjhjLjc4MS43ODEgMS44MDUgMS4xNzIgMi44MjggMS4xNzJzMi4wNDctLjM5MSAyLjgyOC0xLjE3MmMxLjU2Mi0xLjU2MiAxLjU2Mi00LjA5NCAwLTUuNjU2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuMTcyIDE5NGgtNC45MzRsNS44NTktOS43NjhjMS4xMzctMS44OTUuNTIzLTQuMzUyLTEuMzcxLTUuNDg4LTEuODk4LTEuMTM3LTQuMzUyLS41MjEtNS40ODggMS4zNzFsLTkuNDk2IDE1LjgyNmMtLjc0MiAxLjIzNi0uNzYyIDIuNzc1LS4wNTEgNC4wMjlzMi4wMzkgMi4wMjkgMy40OCAyLjAyOWg1LjUyN2wtNS4xMDUgMTAuMjExYy0uOTg4IDEuOTc3LS4xODggNC4zNzkgMS43ODkgNS4zNjcuNTc0LjI4NyAxLjE4NC40MjIgMS43ODUuNDIyIDEuNDY5IDAgMi44NzktLjgwOSAzLjU4Mi0yLjIxMWw4LTE2Yy42MjEtMS4yNC41NTUtMi43MTMtLjE3Ni0zLjg5My0uNzI5LTEuMTc2LTIuMDE0LTEuODk1LTMuNDAxLTEuODk1eiIvPgogICAgICAgIDxwYXRoIGQ9Im05NS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDcuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTE5LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEzMS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjMuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc1LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Rxe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMi41IDUxMi41IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsNDE4LjVjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjV2NzguNWMwLDkuNjczLDE1LDkuNjczLDE1LDBWNDI2QzUxMi4yNSw0MjEuODU4LDUwOC44OTMsNDE4LjUsNTA0Ljc1LDQxOC41eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsMjQ5LjM1NWgtNTguODk0di0yNy4wNDNoMTguMDExYzEwLjk2NCwwLDE5Ljg4My04LjkxOSwxOS44ODMtMTkuODgzVjE5Ljg4NEM0ODMuNzUsOC45Miw0NzQuODMxLDAsNDYzLjg2NywwICAgSDE4NC4wNTljLTEwLjk2NCwwLTE5Ljg4Myw4LjkyLTE5Ljg4MywxOS44ODR2MjYuOTI5YzAsOS42NzMsMTUsOS42NzMsMTUsMFYxOS44ODRjMC0yLjY5MywyLjE5LTQuODg0LDQuODgzLTQuODg0aDI3OS44MDkgICBjMi42OTIsMCw0Ljg4MywyLjE5MSw0Ljg4Myw0Ljg4NHYxNDUuNDI5aC0yMi44OTRWODUuNDA2YzAtMi40NzUtMS4yMjEtNC43OS0zLjI2My02LjE4OGMtMi4wNDEtMS4zOTgtNC42NDEtMS42OTktNi45NDktMC44MDUgICBjLTEuOTYyLDAuNzYxLTQzLjM0LDE3LjY1OS01Mi4xNDYsODYuODk5SDE3OS4xNzZ2LTc5LjVjMC05LjY3My0xNS05LjY3My0xNSwwdjExNi42MTdjMCwxMC45NjQsOC45MTksMTkuODgzLDE5Ljg4MywxOS44ODMgICBoMTAwLjc0NnYyNy4wNDNIMTE0LjUxNmMxNi42MTItMTYuNTk0LDE4LjIzNC00Mi44NzEsMTguMjM0LTY0Ljk0OWMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41aC00MC41di0xNC4xNTkgICBjMjQuMDYsNS4xMTQsNTAuMjg4LTE0LjYxNiw0OS45NjctMzkuNjQ1Yy0wLjA0My0zLjM1Mi0wLjQ1OS02Ljc1OC0zLjU1Ni04LjgwM2MtMTQuMjQ2LTkuNDAzLTMzLjg2Ni01LjQ4NS00Ni40MTEsNC43ODN2LTEzLjUyOSAgIGMyMS40MzMtMTQuNzkzLDIzLjAyNS00OS42MjksMi40MjktNjUuODg5Yy0yLjA3NS0xLjYzOC00LjM3MS0zLjE5Ny02LjgzNC00LjIwMWMtMTAuNTcxLTQuMzE2LTIyLjE5MSwxNC41MTMtMjQuNzEsMjEuNzgxICAgYy01Ljk1MSwxNy4xNzQtMC41NjgsMzYuOTI2LDE0LjExNCw0Ny44MjR2MTMuOTMxYy05LjYyNy03LjgzMy0yMi4yLTExLjY5Ni0zNC40ODMtOS4yMzZjLTUuMDc2LDEuMDE3LTEzLjk3MSwzLjMxNC0xNS4wNzgsOS40NjcgICBjLTQuNzU4LDI2LjQ3NiwyNS4yMzUsNDguNjQzLDQ5LjU2Miw0My41Mzl2MTQuMTM3aC00My41Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41YzAsMjIuMDQ3LDEuMTk2LDQ4LjM1NywxNy44MDYsNjQuOTQ5SDcuNzUgICBjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjVWNTA0LjVjMCw5LjY3MywxNSw5LjY3MywxNSwwdi0zNWgxMzUuNXYzNWMwLDkuNjczLDE1LDkuNjczLDE1LDB2LTE5MWgyNjUuMjE1ICAgYzAuMDM5LDIuNjEzLDAuMjg5LDE2LjY4OCwwLjMyLDIwLjkwNkgzMDQuMzU2Yy0yOS42NTEsMC01MS42Miw3LjcxOC02NS4yOTgsMjIuOTM5Yy0xNi40MjIsMTguMjc0LTE0LjI2LDQwLjQyNi0xNC4xNTksNDEuMzU5ICAgYzAuNDA4LDMuODExLDMuNjI0LDYuNzAxLDcuNDU3LDYuNzAxaDk2Ljg5NHYxMy41aC0yOS41Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMjkuNVY0OTdoLTk2Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMTAwLjgyNSAgIGMwLjgzMiwwLjMxOCwxLjczMSwwLjUsMi42NzUsMC41czEuODQzLTAuMTgyLDIuNjc1LTAuNUg0NDAuMjVjOS42NzMsMCw5LjY3My0xNSwwLTE1aC05NnYtOTEuNTk0aDUwLjEwNiAgIGMxNy4yMTgsMCwyOS42NjQtNC4xNTEsMzguMDUyLTEyLjY5YzE0LjY5OS0xNC45NjUsMTQuMjUxLTQwLjAyMiwxMy42ODQtNzEuNzQ3Yy0wLjA0NC0yLjQ1NC0wLjA4Ny00Ljk1LTAuMTI1LTcuNDdoNTEuMjgzVjM4NCAgIGMwLDkuNjczLDE1LDkuNjczLDE1LDBWMjU2Ljg1NUM1MTIuMjUsMjUyLjcxMyw1MDguODkzLDI0OS4zNTUsNTA0Ljc1LDI0OS4zNTV6IE05Ny4yNzYsMTI4LjQ5NiAgIGM5LjY1Mi02LjEyNCwxOC4wNDktNC42ODEsMjIuNDIxLTMuMTM3Yy0xLjMyLDE1LjU0Ny0yMC4yMjEsMjYuODYtMzQuNjY4LDIxLjk2M0M4NS42MzUsMTQyLjUxMSw4OC4wNzcsMTM0LjMzMiw5Ny4yNzYsMTI4LjQ5NnogICAgTTQ3LjQyNCwxNDQuMDk3Yy02LjM3Mi00LjA0My0xMS43OTItMTEuMDA1LTEyLjQ5My0xOC43NDJjMTUuMDItNS4yOCwzMi42ODMsNi40MTgsMzQuNjQsMjEuOTY3ICAgQzYyLjI4NiwxNDkuNzkyLDUzLjgxLDE0OC4xNDgsNDcuNDI0LDE0NC4wOTd6IE03Ny42MzcsNTEuMTY5YzEyLjU2LDkuNTU0LDExLjk5NywzMS4zNTktMC4wNDQsNDEuMDU0ICAgYy0zLjcxNS0zLjA1NS05LjMxOS05LjQ4MS05LjMxOS0yMC40NDFDNjguMjczLDYwLjM1Miw3My45OTEsNTQuMDM1LDc3LjYzNyw1MS4xNjl6IE0zMy44NTYsMTkxLjkwNmg4My43ODEgICBjLTEuMjcsNDAuNTE1LTEzLjM2Miw1Ni41LTQxLjg4OCw1Ni41QzQ2LjgzMiwyNDguNDA3LDM1LjA3MiwyMzIuOTM2LDMzLjg1NiwxOTEuOTA2eiBNNDIxLjcwNywzODIuMjA1ICAgYy01LjQyMSw1LjUxOS0xNC4zNjcsOC4yMDEtMjcuMzUxLDguMjAxSDI0MC4wMTNjMC42OTQtNS45ODgsMy4wMDYtMTUuMDI2LDEwLjIwMy0yMy4wMzUgICBjMTAuNzEyLTExLjkyMSwyOC45MjctMTcuOTY1LDU0LjE0MS0xNy45NjVoMTI2LjczNkM0MzAuNDczLDM2NC4xMDUsNDI4LjI1MSwzNzUuNTQzLDQyMS43MDcsMzgyLjIwNXogTTQ2OC43NSwxODAuMzEzdjIyLjExNyAgIGMwLDIuNjkzLTIuMTksNC44ODMtNC44ODMsNC44ODNoLTE4LjAxMXYtMjdINDY4Ljc1eiBNNDE5LjEyNiwxMTEuMzU4YzQuMDg0LTUuMzk1LDguMTktOS40MSwxMS43My0xMi4zMjJ2MTg3Ljg2MyAgIGMtMy41MjgtMy4wMjMtNy42MDQtNy4xNDYtMTEuNjU5LTEyLjYyMmMtMTQuNjE1LTE5LjczOS0yMi4zNDEtNDguMDQ5LTIyLjM0MS04MS44NzIgICBDMzk2Ljg1NiwxNTguNjMyLDQwNC41NTgsMTMwLjYwNiw0MTkuMTI2LDExMS4zNTh6IE0zODMuODczLDIyMi4zMTNjMS40MzIsMTAuMDk1LDMuNTUzLDE5LjA3Nyw2LjEzOCwyNy4wNDNoLTI2Ljg5di0yNy4wNDMgICBIMzgzLjg3M3ogTTE3OS4xNzYsMjAyLjQyOXYtMjIuMTE3aDIwMi45OTNjLTAuNDY5LDguOTkyLTAuNDE1LDE4LjAxNSwwLjE2OSwyN0gxODQuMDU5ICAgQzE4MS4zNjYsMjA3LjMxMywxNzkuMTc2LDIwNS4xMjIsMTc5LjE3NiwyMDIuNDI5eiBNMjk5LjgwNSwyMjIuMzEzaDQ4LjMxNnYyNy4wNDNoLTQ4LjMxNlYyMjIuMzEzeiBNMzk1LjkwMSwyNjQuMzU1ICAgYzcuODE1LDE2LjcsMTcuNTE2LDI3LjQ4OCwyNS4zNjUsMzQuMTQ1SDE1LjI1di0zNC4xNDVIMzk1LjkwMXogTTE1LjI1LDQ1NC41di02M2gxMzUuNXY2M0gxNS4yNXogTTE1MC43NSwzNzYuNUgxNS4yNXYtNjNoMTM1LjUgICBWMzc2LjV6IE00NDUuODU2LDI5OC41di0zNC4xNDVoNTEuMzk0VjI5OC41SDQ0NS44NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTU0Ljc1LDM1Mi41aDU3YzkuNjczLDAsOS42NzMtMTUsMC0xNWgtNTdDNDUuMDc3LDMzNy41LDQ1LjA3NywzNTIuNSw1NC43NSwzNTIuNXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTExLjc1LDQxNS41aC01N2MtOS42NzMsMC05LjY3MywxNSwwLDE1aDU3QzEyMS40MjMsNDMwLjUsMTIxLjQyMyw0MTUuNSwxMTEuNzUsNDE1LjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Fxe={Anteroom:Mxe,Attic:cxe,Balcony:uxe,Barn:lxe,Basement:Nxe,Bathroom:Lxe,Bedroom:gxe,"Boiler Room":"PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSItMyAwIDQ4MCA0ODAiIHdpZHRoPSI0ODBwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTIzNC45Njg3NSA2NGMtMTMuMjUzOTA2IDAtMjQgMTAuNzQ2MDk0LTI0IDI0czEwLjc0NjA5NCAyNCAyNCAyNCAyNC0xMC43NDYwOTQgMjQtMjQtMTAuNzQ2MDk0LTI0LTI0LTI0em0wIDMyYy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04czMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzA2Ljk2ODc1IDE2MGgtMTQ0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoMTQ0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS04IDY0aC0xMjh2LTQ4aDEyOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE4Ni45Njg3NSAxOTJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjE4Ljk2ODc1IDE5MmgzMnYxNmgtMzJ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEzOC45Njg3NSA3MnYzMmgxNnYtMjRoMTZ2LTE2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ2Ni45Njg3NSAwaC0zMmMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxOTJjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOGgtNTZ2LTU2aDI0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTQ4YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTI0di0xNmMtLjAyNzM0NC0yMi4wODIwMzEtMTcuOTIxODc1LTM5Ljk3MjY1Ni00MC00MGgtMTZ2LTE2aC0xNnYxNmgtMTcuNzYxNzE5bC02LjQ4MDQ2OS0yNS45Mzc1Yy0uODg2NzE4LTMuNTYyNS00LjA4NTkzNy02LjA2MjUtNy43NTc4MTItNi4wNjI1aC00OGMtMy42NzE4NzUgMC02Ljg3MTA5NCAyLjUtNy43NjE3MTkgNi4wNjI1bC02LjQ4MDQ2OSAyNS45Mzc1aC0xNy43NTc4MTJ2LTE2aC0xNnYxNmgtMTZjLTIyLjA4MjAzMS4wMjczNDQtMzkuOTcyNjU2IDE3LjkxNzk2OS00MCA0MHY1NmgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGgyNHYyMjRoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djMyYzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTQxLjcxMDkzOGMxMi4zNzEwOTQgNi4zNzUgMjYuMDgyMDMxIDkuNzAzMTI2IDQwIDkuNzEwOTM4aDh2MjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGg4YzEzLjkxNDA2Mi0uMDA3ODEyIDI3LjYyODkwNi0zLjMzNTkzOCA0MC05LjcxMDkzOHY0MS43MTA5MzhoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djMyYzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTE3Nmg1NmMzMC45MTAxNTYtLjAzOTA2MiA1NS45NjA5MzgtMjUuMDg5ODQ0IDU2LTU2di0xOTJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOHptLTg4IDEwNHYzMmgtMTZ2LTMyem0tMTYxLjc1MzkwNi04OGgzNS41MDM5MDZsNCAxNmgtNDMuNTAzOTA2em0tOTQuMjQ2MDk0IDU2YzAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNGgxNzZjMTMuMjUzOTA2IDAgMjQgMTAuNzQ2MDk0IDI0IDI0djU2aC0yMjR6bS0zMiAxMjB2LTQ4aDE2djQ4em04MCAyNzJoLTgwdi0xNmg4MHptLTMyLTMyaC0xNnYtNjkuNTU4NTk0YzQuNTM1MTU2IDYuNDg0Mzc1IDkuOTE0MDYyIDEyLjMzMjAzMiAxNiAxNy4zOTA2MjV6bTExMi0xNmgtMzJ2LTE2aDMyem0xMjggNDhoLTgwdi0xNmg4MHptLTMyLTMyaC0xNnYtNTIuMTY3OTY5YzYuMDgyMDMxLTUuMDU4NTkzIDExLjQ2NDg0NC0xMC45MDYyNSAxNi0xNy4zOTA2MjV6bTAtMTIwYy0uMDQyOTY5IDM5Ljc0NjA5NC0zMi4yNTM5MDYgNzEuOTU3MDMxLTcyIDcyaC04MGMtMzkuNzQ2MDk0LS4wNDI5NjktNzEuOTU3MDMxLTMyLjI1MzkwNi03Mi03MnYtMTY4aDIyNHptMTEyLTExMmMtLjAyNzM0NCAyMi4wODIwMzEtMTcuOTIxODc1IDM5Ljk3MjY1Ni00MCA0MGgtNTZ2LTE2aDU2YzEzLjI1MzkwNiAwIDI0LTEwLjc0NjA5NCAyNC0yNHYtMTg0aDE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNTYuNjI1IDUzLjY1NjI1IDEwLjM0Mzc1LTEwLjM0Mzc1IDE4LjM0Mzc1IDE4LjM0Mzc1IDExLjMxMjUtMTEuMzEyNS0yNC0yNGMtMy4xMjUtMy4xMjEwOTQtOC4xODc1LTMuMTIxMDk0LTExLjMxMjUgMGwtMTAuOTM3NSAxMC45Mzc1LTM0LjM5ODQzOC0yNy41MjczNDQtMTAuMDA3ODEyIDEyLjQ5MjE4OCA0MCAzMmMzLjE4MzU5NCAyLjU1MDc4MSA3Ljc3MzQzOCAyLjI5Mjk2OCAxMC42NTYyNS0uNTg5ODQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMCA4Ny40MzM1OTQgNDAgMTZjMi45NzI2NTYgMS4xODM1OTQgNi4zNjMyODEuNDg0Mzc1IDguNjI1LTEuNzc3MzQ0bDExLjkxNzk2OS0xMS45MjE4NzUgMjYuODQ3NjU2IDEzLjQ2NDg0NCA3LjE1MjM0NC0xNC4zMjAzMTMtMzItMTZjLTMuMDc4MTI1LTEuNTM1MTU2LTYuNzk2ODc1LS45Mjk2ODctOS4yMzA0NjkgMS41MDM5MDZsLTEyLjI3MzQzOCAxMi4yMjY1NjMtMzUuMTAxNTYyLTE0LjA0Mjk2OXptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Carport:jxe,Cellar:yxe,Chamber:Txe,Corridor:dxe,"Dining Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K","Dining Room":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Dining:Dxe,"Dressing Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTcuMDA0IDI3Ni4xNjljMC00LjEzOSAzLjM3NC03LjUxMiA3LjUxMi03LjUxMnM3LjQ4MyAzLjM3MyA3LjQ4MyA3LjUxMnYxMzcuMzQgMzkuOTk3YzAgNC4xMzktMy4zNDUgNy40ODMtNy40ODMgNy40ODNoLTQ5Ny4wMDRjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODMgMC0xMjQuNzU0IDAtMjQ5LjUzNiAwLTM3NC4yOTEgMC03Ljc2NyAzLjE3NS0xNC44MjUgOC4yNzctMTkuOTI4IDUuMTAzLTUuMTAzIDEyLjE2MS04LjI3NyAxOS45MjgtOC4yNzdoMTI0LjI0NGM3LjkwOSAwIDE1LjM2NCAzLjMxNiAyMC43MjIgOS4wOTkgNS4zNTctNS43ODMgMTIuODEyLTkuMDk5IDIwLjcyMi05LjA5OWgxMjQuMjQzYzcuODgxIDAgMTUuMzY0IDMuMzE2IDIwLjY5MyA5LjA5OSA1LjM1OC01Ljc4MyAxMi44MTMtOS4wOTkgMjAuNzIyLTkuMDk5aDEyNC4yNDRjNy43NjcgMCAxNC44MjYgMy4xNzUgMTkuOTI4IDguMjc3IDUuMTAyIDUuMTAzIDguMjc3IDEyLjE2MSA4LjI3NyAxOS45Mjh2MjUuNjI1IDEzNy4zNGMwIDQuMTM5LTMuMzQ1IDcuNTEyLTcuNDgzIDcuNTEyLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJ2LTEyOS44NTVoLTY3LjgzNXYxMi45MjZsNDYuODMgMjMuODM5YzQuMTk1IDIuMTI2IDcuMTE1IDUuNzU1IDguNDQ3IDkuODk0IDEuMzYgNC4xMzkgMS4xMzQgOC43ODctLjk5MiAxMi45NTQtMS40NDYgMi44MzUtMy42NTcgNS4xNTktNi4yOTMgNi43NzUtMi42NjQgMS42NDQtNS43MjYgMi41MjMtOC44NzIgMi41MjNoLTMuMzQ1djk1LjYxM2MwIDQuMTM5LTMuMzQ1IDcuNDg0LTcuNDg0IDcuNDg0aC03MS4xNWMtNC4xMzkgMC03LjQ4My0zLjM0NS03LjQ4My03LjQ4NHYtMzQuNTU0YzAtNC4xNjcgMy4zNDUtNy41MTIgNy40ODMtNy41MTIgNC4xMzkgMCA3LjUxMiAzLjM0NSA3LjUxMiA3LjUxMnYyNy4wNDNoNTYuMTI3di04OC4xMDJoLTU2LjEyN3YyNy4wNzFjMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnMtNy40ODMtMy4zNzMtNy40ODMtNy41MTJ2LTI3LjA3MWgtMy4zNDVjLTQuNzA2IDAtOC45NTctMS44OTktMTIuMDE5LTQuOTg5LTMuMDktMy4wNjEtNC45ODktNy4zMTMtNC45ODktMTIuMDE5IDAtMy4zNDUuOTkyLTYuNTIgMi42OTMtOS4xNTYgMS43MjktMi42NjQgNC4xMzktNC44MTkgNi45NzQtNi4xOGw0Ni4wMzUtMjMuNDQzdi0xMy4xMjRoLTY3LjgzNHYyOTMuNzAxaDE1MC42NjN2LTEyOS44NTd6bS03My44NDMtMTM3LjE5OWMtLjgyMi0uNTEtMS42NzItLjUxLTIuNDk1IDBsLTQ1LjcyMyAyMy4zMDFjLS45MDcuMzQtMS40NzQuOTM2LTEuNDc0IDEuOTU2IDAgMS4xMDUuOTA3IDIuMDEzIDIuMDEzIDIuMDEzaDkyLjgwN2MuNzkzIDAgMS40NDYtLjM5NyAxLjc4Ni0xLjEwNS41MS0uOTkyLjE0Mi0yLjE4My0uODc4LTIuNjkzbC0xNS4zMzYtNy44MjNjLTkuMDQzLTQuNTkzLTE4LjA1Ny05LjE1OC0zMC43LTE1LjY0OXptLTE2NS44LS4wODVjLS43MDktLjQyNS0xLjQ3NC0uNDI1LTIuMjQgMGwtNDUuODY1IDIzLjM4NmMtLjg3OS4zNC0xLjQ0Ni45MzYtMS40NDYgMS45NTYgMCAxLjEwNS45MDcgMi4wMTMgMi4wMTMgMi4wMTNoOTIuODA3Yy43OTQgMCAxLjQ0Ni0uMzk3IDEuNzg2LTEuMTA1LjUxLS45OTIuMTQyLTIuMTgzLS44NzktMi42OTMtMTUuMzkyLTcuODI0LTMwLjgxMi0xNS42NDgtNDYuMTc2LTIzLjU1N3ptLTIxMS42NjYtMjYuNTZjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODRzMy4zNzMtNy41MTIgNy41MTItNy41MTJoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNzQgNy41MTIgNy41MTIgMCA0LjEzOS0zLjM3MyA3LjQ4NC03LjUxMiA3LjQ4NHptMCAxMDEuOTM0Yy00LjEzOSAwLTcuNTEyLTMuMzczLTcuNTEyLTcuNTEyczMuMzczLTcuNDgzIDcuNTEyLTcuNDgzaDg5LjI5MmM0LjEzOCAwIDcuNTEyIDMuMzQ1IDcuNTEyIDcuNDgzIDAgNC4xMzktMy4zNzMgNy41MTItNy41MTIgNy41MTJ6bTAtMzMuOTg4Yy00LjEzOSAwLTcuNTEyLTMuMzQ1LTcuNTEyLTcuNDgzczMuMzczLTcuNTEyIDcuNTEyLTcuNTEyaDg5LjI5MmM0LjEzOCAwIDcuNTEyIDMuMzczIDcuNTEyIDcuNTEycy0zLjM3MyA3LjQ4My03LjUxMiA3LjQ4M3ptMC0zMy45NTljLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJzMy4zNzMtNy40ODMgNy41MTItNy40ODNoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNDUgNy41MTIgNy40ODMgMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnptMjAyLjgyMi0yMC44NjN2LTEzLjEyNGgtNjcuODM0djEyOS44NTdjMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnMtNy41MTItMy4zNzMtNy41MTItNy41MTJ2LTE2Mi45NjdjMC0zLjYyOC0xLjQ3NC02LjkxNy0zLjg4My05LjMyNi0yLjM4MS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNi0zLjg4NGgtMTI0LjI0NGMtMy42MjggMC02LjkxNyAxLjUwMi05LjMyNyAzLjg4NC0yLjM4MSAyLjQwOS0zLjg4MyA1LjY5Ny0zLjg4MyA5LjMyNnYxOTIuMzYxaDE1LjMwOGM2LjA5NCAwIDExLjU5NCAyLjQ2NiAxNS41OSA2LjQ2NCAzLjk5NyAzLjk5NyA2LjQ5MiA5LjUyNSA2LjQ5MiAxNS41OXYyMy4zMDFjMCA2LjA2Ny0yLjQ5NSAxMS41OTQtNi40OTIgMTUuNTkxcy05LjQ5NiA2LjQ2My0xNS41OSA2LjQ2M2gtMTUuMzA4djEwNy4wMDloMTUwLjY2M3YtMTY5LjgyNWMwLTQuMTM5IDMuMzc0LTcuNTEyIDcuNTEyLTcuNTEyczcuNTEyIDMuMzczIDcuNTEyIDcuNTEydjEyOS44NTZoMTUwLjY2M3YtMjkzLjdoLTY3LjgzNHYxMi45MjZsNDYuNjMgMjMuNzI2YzQuMTY3IDIuMTI2IDcuMiA1LjUyOCA4LjY0NiAxMC4wMDcgMi40NjYgNy41NjgtLjUzOSAxNS41OS03LjI4NSAxOS43MjktMi42NjQgMS42NDQtNS43NTQgMi41MjMtOC44NzIgMi41MjNoLTkyLjgwN2MtNC43MDYgMC04Ljk1OC0xLjg5OS0xMi4wNDctNC45ODktMy4wNjEtMy4wNjEtNC45Ni03LjMxMy00Ljk2LTEyLjAxOSAwLTMuMzQ1Ljk5Mi02LjUyIDIuNjkzLTkuMTU2IDEuNzAxLTIuNjY0IDQuMTEtNC44MTkgNi45NzMtNi4xOHptLTIzMy41MjEgMTcyLjMyaDYuMDk0YzQuMTM5IDAgNy41MTIgMy4zNzMgNy41MTIgNy41MTJzLTMuMzczIDcuNTEyLTcuNTEyIDcuNTEyaC02LjA5NHYxMS4xOThoMTUuMzA4YzEuOTU2IDAgMy43MTMtLjc5NCA0Ljk4OS0yLjA2OSAxLjI3Ni0xLjMwNSAyLjA5OC0zLjA2MSAyLjA5OC00Ljk5di0yMy4zMDJjMC0xLjkyOC0uODIyLTMuNjg1LTIuMDk4LTQuOTg5LTEuMjc1LTEuMjc2LTMuMDMzLTIuMDY5LTQuOTg5LTIuMDY5aC0xNS4zMDh6bTMzMS4zNDUtMjE4LjU1NHYxOC4xMTNoMTUwLjY2M3YtMTguMTEzYzAtMy42MjgtMS40NzQtNi45MTctMy44ODMtOS4zMjYtMi40MDktMi4zODEtNS42OTgtMy44ODQtOS4zMjctMy44ODRoLTEyNC4yNDNjLTMuNjI4IDAtNi45MTcgMS41MDItOS4zMjYgMy44ODQtMi40MSAyLjQxLTMuODg0IDUuNjk4LTMuODg0IDkuMzI2em0tMTY1LjY1OCAxOC4xMTRoMTUwLjY2M3YtMTguMTE0YzAtMy42MjgtMS41MDItNi45MTctMy44ODMtOS4zMjYtMi40MS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNy0zLjg4NGgtMTI0LjI0M2MtMy42MjkgMC02Ljk0NSAxLjUwMi05LjMyNyAzLjg4NC0yLjQxIDIuNDA5LTMuODgzIDUuNjk3LTMuODgzIDkuMzI2em0zMTYuMzIxIDMyMy42OTJoLTMxNi4zMjF2MjQuOTczaDMxNi4zMjJ2LTI0Ljk3M3oiLz4KICAgIDwvZz4KPC9zdmc+",Driveway:hxe,Entrance:zxe,"Equipment Room":"PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC00IDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTMwMy4wOTM3NSAxNzQuMjVjMy4zOTQ1MzEgMi4zNzg5MDYgOC4wNzAzMTIgMS41NTA3ODEgMTAuNDQ1MzEyLTEuODM5ODQ0bDE1Ljk1MzEyNi0yMi43ODkwNjJjMi4zNzg5MDYtMy4zOTQ1MzIgMS41NTQ2ODctOC4wNzAzMTMtMS44Mzk4NDQtMTAuNDQ1MzEzLTMuMzk0NTMyLTIuMzc1LTguMDcwMzEzLTEuNTUwNzgxLTEwLjQ0NTMxMyAxLjg0Mzc1bC0xNS45NTcwMzEgMjIuNzg1MTU3Yy0yLjM3NSAzLjM5NDUzMS0xLjU1MDc4MSA4LjA3MDMxMiAxLjg0Mzc1IDEwLjQ0NTMxMnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM0MS42NzE4NzUgMTU1Ljk4NDM3NS01LjQxNzk2OSAyNy4yODUxNTZjLS45MTc5NjggNC42NDA2MjUgMi42MzI4MTMgOC45NjA5MzggNy4zNjcxODggOC45NjA5MzggMy41MDc4MTIgMCA2LjY0MDYyNS0yLjQ3MjY1NyA3LjM0NzY1Ni02LjAzOTA2M2w1LjQxNDA2Mi0yNy4yODkwNjJjLjgwODU5NC00LjA2MjUtMS44MzIwMzEtOC4wMTE3MTktNS44OTQ1MzEtOC44MTY0MDYtNC4wNjY0MDYtLjgwNDY4OC04LjAxMTcxOSAxLjgzMjAzMS04LjgxNjQwNiA1Ljg5ODQzN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTMwOS41ODk4NDQgMTIxLjQ0OTIxOWMtMi4xNDQ1MzItMy41NDI5NjktNi43NTc4MTMtNC42NzE4NzUtMTAuMzAwNzgyLTIuNTI3MzQ0bC0yMy43ODkwNjIgMTQuNDIxODc1Yy0zLjU0Mjk2OSAyLjE0ODQzOC00LjY3MTg3NSA2Ljc2MTcxOS0yLjUyNzM0NCAxMC4zMDQ2ODggMi4xNTIzNDQgMy41NDI5NjggNi43NjU2MjUgNC42Njc5NjggMTAuMzA0Njg4IDIuNTIzNDM3bDIzLjc4OTA2Mi0xNC40MTc5NjljMy41NDI5NjktMi4xNDg0MzcgNC42NzE4NzUtNi43NjE3MTggMi41MjM0MzgtMTAuMzA0Njg3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtODMuNjUyMzQ0IDE1Mi4xNzk2ODhjMi43NTc4MTIgMS4zNTkzNzQgNi4xMTMyODEgMS40MDYyNSA4Ljk2ODc1IDAgNy0zLjQ1MzEyNiAyOS44MzU5MzctMTYuNTA3ODEzIDI5LjgzNTkzNy0zOS40NjQ4NDQgMC0xOC4yMDMxMjUtMjEuMjE0ODQzLTI3LjA2NjQwNi0zNC4zMTI1LTE2LjA3NDIxOS01LjA2MjUtNC4yNjE3MTktMTEuOTQxNDA2LTUuODkwNjI1LTE4Ljc1MzkwNi00LjA4OTg0NC05LjMxNjQwNiAyLjQ1NzAzMS0xNS41NzAzMTMgMTAuNTYyNS0xNS41NzAzMTMgMjAuMTY0MDYzIDAgMjMuMDE1NjI1IDIyLjg0Mzc1IDM2LjAzMTI1IDI5LjgzMjAzMiAzOS40NjQ4NDR6bS0zLjc3NzM0NC00Mi4zNjcxODhjMS4zOTg0MzggMi40Njg3NSA0LjQ2ODc1IDQuNjI1IDguMDIzNDM4IDQuNzEwOTM4IDMuNTgyMDMxLjExMzI4MSA2Ljk3MjY1Ni0yLjA0Njg3NiA4LjQ2MDkzNy00LjY1MjM0NCAzLjA1NDY4Ny01LjM1NTQ2OSAxMS4wOTc2NTYtMy4xNDQ1MzIgMTEuMDk3NjU2IDIuODQ3NjU2IDAgMTIuNjkxNDA2LTEzLjM5NDUzMSAyMS41NjY0MDYtMTkuMzI0MjE5IDI0Ljg3NS01LjkyOTY4Ny0zLjI5Mjk2OS0xOS4zMTI1LTEyLjE0NDUzMS0xOS4zMTI1LTI0Ljg3NSAwLTYuMDQyOTY5IDguMDg1OTM4LTguMTMyODEyIDExLjA1NDY4OC0yLjkwNjI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMDMuNjE3MTg4aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDA2MjYtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzQtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMzAuMDI3MzQ0aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDQ1MzItMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTU0NjgtNy41IDcuNSAwIDQuMTQwNjI1IDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxNTYuNDM3NWgyOS42MzY3MTljNC4xNDQ1MzEgMCA3LjUtMy4zNTU0NjkgNy41LTcuNXMtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTU0NjktNy41IDcuNXMzLjM1NTQ2OSA3LjUgNy41IDcuNXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NS43Njk1MzEgMTUuMDA3ODEyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY4IDcuNS03LjUgMC00LjE0NDUzMS0zLjM1NTQ2OS03LjQ5OTk5OTUtNy41LTcuNDk5OTk5NWgtNzMuNzEwOTM3Yy0uMTE3MTg4IDAtLjIzMDQ2OS4wMTE3MTg3LS4zNDc2NTYuMDE1NjI1LTIuNDk2MDk0LS4xMjg5MDY1LTUgLjk4NDM3NDUtNi41MzkwNjMgMy4xODM1OTM1bC0yNS44OTA2MjUgMzYuOTcyNjU3LTMyLjgzOTg0NC0yMi45OTYwOTRjLTE3LjM3MTA5NC0xMi4xNjQwNjMtMzguOTAyMzQ0LTE2LjI4OTA2My01OS41OTM3NS0xMS41MzkwNjNsLTIuNTk3NjU2LTEuODIwMzEyYy05LjU4OTg0NC02LjcxMDkzOC0yMi44MTY0MDYtNC4zNDc2NTctMjkuNSA1LjE5OTIxOWwtNS45Njg3NSA4LjUyMzQzN2MtNi42OTUzMTIgOS41NjI1LTQuMzYzMjgxIDIyLjgwMDc4MSA1LjIwMzEyNSAyOS40OTYwOTRsMi4wNDY4NzUgMS40MzM1OTNjLTYuODU5Mzc1IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDgyMDMyIDUzLjE3OTY4OCAzNy4yMzgyODJsNC4xOTE0MDYgMi45MzM1OTRjLTYuODUxNTYzIDMwLjU3MDMxMiAyNi44MDQ2ODcgNTQuMTE3MTg3IDUzLjE3NTc4MSAzNy4yMzgyODFsNC4xOTUzMTMgMi45MzM1OTNjLTYuODU5Mzc2IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDc4MTI2IDUzLjE3NTc4MSAzNy4yMzQzNzZsMi4wNTQ2ODcgMS40NDE0MDZjOS41NjY0MDYgNi42OTUzMTIgMjIuODAwNzgyIDQuMzYzMjgxIDI5LjQ5NjA5NC01LjIwMzEyNWw1Ljk2ODc1LTguNTIzNDM4YzYuNjk1MzEyLTkuNTYyNSA0LjM2MzI4MS0yMi44MDA3ODEtNS4xOTkyMTktMjkuNDk2MDkzbC0zLjI3MzQzNy0yLjI5Mjk2OWMtMi42MTMyODItMjEuMDY2NDA3LTEzLjg1NTQ2OS0zOS44ODY3MTktMzEuMjI2NTYzLTUyLjA1NDY4OGwtMzAuMTk5MjE5LTIxLjE0MDYyNSAyMy42NTIzNDQtMzMuNzc3MzQ0em0tMjE1LjQ1NzAzMSA0My40NzI2NTcgMjQuNjIxMDk0IDE3LjI0MjE4N2MtMTEuNzk2ODc1IDIuNzkyOTY5LTIzLjIyMjY1Ni01LjIzNDM3NS0yNC42MjEwOTQtMTcuMjQyMTg3em01Ny4zNjcxODggNDAuMTY3OTY5IDI0LjYyNSAxNy4yNDIxODdjLTExLjc2OTUzMiAyLjc5Njg3NS0yMy4yMjI2NTctNS4yMDcwMzEtMjQuNjI1LTE3LjI0MjE4N3ptNTcuMzcxMDkzIDQwLjE3MTg3NGMxNC45MTc5NjkgMTAuNDQ1MzEzIDkuNzc3MzQ0IDYuODQzNzUgMjQuNjI1IDE3LjI0MjE4OC0xMS43NzM0MzcgMi43OTY4NzUtMjMuMjIyNjU2LTUuMjE0ODQ0LTI0LjYyNS0xNy4yNDIxODh6bTY0LjEyODkwNyA2LjM0Mzc1LTUuOTY4NzUgOC41MjM0MzhjLTEuOTUzMTI2IDIuNzg5MDYyLTUuODEyNSAzLjQ3MjY1Ni04LjYwNTQ2OSAxLjUxOTUzMS0yLjQxMDE1Ny0xLjY4NzUtMTY5Ljg1OTM3NS0xMTguOTQxNDA2LTE3Mi4wMTk1MzEtMTIwLjQ0OTIxOS0yLjc2OTUzMi0xLjk0MTQwNi0zLjQ1NzAzMi01LjgzMjAzMS0xLjUxNTYyNi04LjYwNTQ2OGw1Ljk2ODc1LTguNTIzNDM4YzEuOTQ5MjE5LTIuNzgxMjUgNS44NDM3NS0zLjQ0OTIxOCA4LjYwNTQ2OS0xLjUxNTYyNWwxNzIuMDE5NTMxIDEyMC40NDUzMTNjMi43NzM0MzggMS45NDE0MDYgMy40NTcwMzIgNS44MzU5MzcgMS41MTU2MjYgOC42MDU0Njh6bS0xNC45MDIzNDQtMzYuMjg5MDYyYy03Ljg5NDUzMi01LjUzMTI1LTEyNS4wNDY4NzUtODcuNTU4NTk0LTEyOC43MTA5MzgtOTAuMTI1IDExLjQ3MjY1Ni4zNTE1NjIgMjIuNjcxODc1IDQgMzIuMjczNDM4IDEwLjcyMjY1Nmw3NS4zMjQyMTggNTIuNzQyMTg4YzkuNTk3NjU3IDYuNzIyNjU2IDE2Ljg1OTM3NiAxNiAyMS4xMTMyODIgMjYuNjYwMTU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDkwLjgyMDMxMiAzMTAuNTE1NjI1aC0yMTcuMzIwMzEyYy00LjE0NDUzMSAwLTcuNSAzLjM1OTM3NS03LjUgNy41IDAgNC4xNDQ1MzEgMy4zNTU0NjkgNy41MDM5MDYgNy41IDcuNTAzOTA2aDIxNy4zMjAzMTJjMy40MDYyNSAwIDYuMTc5Njg4IDIuNzY5NTMxIDYuMTc5Njg4IDYuMTc1NzgxdjEzLjY3OTY4OGMwIDMuNDA2MjUtMi43NzM0MzggNi4xNzk2ODgtNi4xNzk2ODggNi4xNzk2ODgtMy40NDUzMTIgMC00NjMuNjA5Mzc0IDAtNDY5LjY0MDYyNCAwLTMuNDA2MjUgMC02LjE3OTY4OC0yLjc2OTUzMi02LjE3OTY4OC02LjE3OTY4OHYtMTMuNjc5Njg4YzAtMy40MDYyNSAyLjc3MzQzOC02LjE3NTc4MSA2LjE3OTY4OC02LjE3NTc4MWgyMTcuMzIwMzEyYzQuMTQ0NTMxIDAgNy41LTMuMzU5Mzc1IDcuNS03LjUwMzkwNiAwLTQuMTQwNjI1LTMuMzU1NDY5LTcuNS03LjUtNy41aC04NS4zNTU0NjljLjU5NzY1Ny0xLjk1MzEyNS45MjU3ODEtNC4wMjczNDQuOTI1NzgxLTYuMTc1Nzgxdi0xMy42Nzk2ODhjMC0xMS42Nzk2ODctOS41LTIxLjE3OTY4Ny0yMS4xNzk2ODctMjEuMTc5Njg3aC0xMTEuNzEwOTM3Yy0xMS42Nzk2ODggMC0yMS4xNzk2ODggOS41LTIxLjE3OTY4OCAyMS4xNzk2ODd2MTMuNjc5Njg4YzAgNS4yMTQ4NDQgMS45MDIzNDQgOS45ODQzNzUgNS4wMzkwNjIgMTMuNjc5Njg3LTMuMTM2NzE4IDMuNjkxNDA3LTUuMDM5MDYyIDguNDY0ODQ0LTUuMDM5MDYyIDEzLjY3NTc4MXYxMy42Nzk2ODhjMCAxMS4zMjgxMjUgOC45NDUzMTIgMjAuNTc4MTI1IDIwLjEzNjcxOSAyMS4xMjg5MDZ2Ni42MDkzNzVjMCAxMS42Nzk2ODggOS41MDM5MDYgMjEuMTc5Njg4IDIxLjE3OTY4NyAyMS4xNzk2ODhoMjAuNzE0ODQ0djk1LjE0MDYyNWMwIDcuODc4OTA2IDYuNDEwMTU2IDE0LjI4OTA2MiAxNC4yOTI5NjkgMTQuMjg5MDYyaDE0LjE1MjM0M2M3Ljg3ODkwNyAwIDE0LjI5Mjk2OS02LjQxMDE1NiAxNC4yOTI5NjktMTQuMjg5MDYydi05NS4xNDA2MjVoMzAyLjQ2MDkzOHY5NS4xNDA2MjVjMCA3Ljg3ODkwNiA2LjQxMDE1NiAxNC4yODkwNjIgMTQuMjkyOTY5IDE0LjI4OTA2MmgxNC4xNTIzNDNjNy44ODI4MTMgMCAxNC4yOTI5NjktNi40MTAxNTYgMTQuMjkyOTY5LTE0LjI4OTA2MnYtOTUuMTQwNjI1aDIwLjcxMDkzOGMxMS42Nzk2ODcgMCAyMS4xNzk2ODctOS41IDIxLjE3OTY4Ny0yMS4xNzk2ODh2LTYuNjA5Mzc1YzExLjE5NTMxMy0uNTUwNzgxIDIwLjE0MDYyNS05LjgwMDc4MSAyMC4xNDA2MjUtMjEuMTI4OTA2di0xMy42Nzk2ODhjMC0xMS42NzU3ODEtOS41LTIxLjE3OTY4Ny0yMS4xNzk2ODgtMjEuMTc5Njg3em0tNDc1LjgyMDMxMi0xOS44NTU0NjljMC0zLjQwNjI1IDIuNzczNDM4LTYuMTc5Njg3IDYuMTc5Njg4LTYuMTc5Njg3aDExMS43MTA5MzdjMy40MDYyNSAwIDYuMTc5Njg3IDIuNzczNDM3IDYuMTc5Njg3IDYuMTc5Njg3djEzLjY3OTY4OGMwIDMuNDA2MjUtMi43NzM0MzcgNi4xNzk2ODctNi4xNzk2ODcgNi4xNzk2ODdoLTExMS43MTA5MzdjLTMuNDA2MjUgMC02LjE3OTY4OC0yLjc3MzQzNy02LjE3OTY4OC02LjE3OTY4N3ptNzQuNzY1NjI1IDE5OC4wNjI1aC0xMi43MzQzNzV2LTk0LjQyOTY4N2gxMi43MzQzNzV6bTM0NS4yMDMxMjUgMGgtMTIuNzM4Mjgxdi05NC40Mjk2ODdoMTIuNzM4Mjgxem00MS44OTA2MjUtMTE1LjYwOTM3NWMwIDMuNDA2MjUtMi43Njk1MzEgNi4xNzk2ODgtNi4xNzk2ODcgNi4xNzk2ODgtMTMuNzE0ODQ0IDAtNDE1LjAzNTE1NyAwLTQyOS4zNjMyODIgMC0zLjQwNjI1IDAtNi4xNzk2ODctMi43NzM0MzgtNi4xNzk2ODctNi4xNzk2ODh2LTYuNTU4NTkzaDQ0MS43MjI2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMjguOTYwOTM4IDExMi41MjczNDRjNC4xNDQ1MzEgMCA3LjUtMy4zNTkzNzUgNy41LTcuNXYtNDEuMTM2NzE5YzAtMTYuMzE2NDA2LTEzLjI3MzQzOC0yOS41OTM3NS0yOS41ODk4NDQtMjkuNTkzNzVoLTE3Ny4yODEyNWMtMTYuMzE2NDA2IDAtMjkuNTg5ODQ0IDEzLjI3MzQzNy0yOS41ODk4NDQgMjkuNTkzNzV2MTE3LjI3NzM0NGMwIDE2LjMxNjQwNiAxMy4yNzM0MzggMjkuNTg5ODQzIDI5LjU4OTg0NCAyOS41ODk4NDNoMTc3LjI4MTI1YzE2LjMxNjQwNiAwIDI5LjU5Mzc1LTEzLjI3MzQzNyAyOS41OTM3NS0yOS41ODk4NDN2LTQxLjE0MDYyNWMwLTQuMTQwNjI1LTMuMzU5Mzc1LTcuNS03LjUwMzkwNi03LjUtNC4xNDA2MjYgMC03LjUgMy4zNTkzNzUtNy41IDcuNXY0MS4xNDA2MjVjMCA4LjA0Mjk2OS02LjU0Njg3NiAxNC41ODk4NDMtMTQuNTg5ODQ0IDE0LjU4OTg0M2gtMTc3LjI4MTI1Yy04LjA0Mjk2OSAwLTE0LjU4OTg0NC02LjU0Njg3NC0xNC41ODk4NDQtMTQuNTg5ODQzdi0xMTcuMjc3MzQ0YzAtOC4wNDY4NzUgNi41NDY4NzUtMTQuNTkzNzUgMTQuNTg5ODQ0LTE0LjU5Mzc1aDE3Ny4yODEyNWM4LjA0Mjk2OCAwIDE0LjU4OTg0NCA2LjU0Njg3NSAxNC41ODk4NDQgMTQuNTkzNzV2NDEuMTM2NzE5YzAgNC4xNDA2MjUgMy4zNTkzNzQgNy41IDcuNSA3LjV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNC43NzM0MzggNjEuNTcwMzEyYy00LjE0NDUzMiAwLTcuNSAzLjM1OTM3Ni03LjUgNy41djEwNi45MTQwNjNjMCA0LjE0NDUzMSAzLjM1NTQ2OCA3LjUgNy41IDcuNWgxNjYuOTE0MDYyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY5IDcuNS03LjV2LTEwNi45MTQwNjNjMC00LjE0MDYyNC0zLjM1NTQ2OS03LjUtNy41LTcuNXptMTU5LjQxNDA2MiAxMDYuOTE0MDYzaC0xNTEuOTE0MDYydi05MS45MTQwNjNoMTUxLjkxNDA2MnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==","Front Yard":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMTI2LjQ5LDM2Ljk0N2MtMzEuNTc5LDAtNTcuMjcsMjUuNjkxLTU3LjI3LDU3LjI3YzAsMzEuNTc5LDI1LjY5MSw1Ny4yNyw1Ny4yNyw1Ny4yN2MzMS41NzgsMCw1Ny4yNy0yNS42OTEsNTcuMjctNTcuMjcKCQkJQzE4My43NjEsNjIuNjM4LDE1OC4wNywzNi45NDcsMTI2LjQ5LDM2Ljk0N3ogTTEyNi40OSwxMzEuNDg3Yy0yMC41NTEsMC0zNy4yNy0xNi43MTktMzcuMjctMzcuMjcKCQkJYzAtMjAuNTUxLDE2LjcxOS0zNy4yNywzNy4yNy0zNy4yN2MyMC41NSwwLDM3LjI3LDE2LjcxOSwzNy4yNywzNy4yN0MxNjMuNzYxLDExNC43NjgsMTQ3LjA0MiwxMzEuNDg3LDEyNi40OSwxMzEuNDg3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMFYxMEMxMzYuNDksNC40NzcsMTMyLjAxNCwwLDEyNi40OSwweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMTU2LjA5N2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMTIuMzM4CgkJCUMxMzYuNDksMTYwLjU3NCwxMzIuMDE0LDE1Ni4wOTcsMTI2LjQ5LDE1Ni4wOTd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMC43MDgsODQuMjE3SDE5OC4zN2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgxMi4zMzhjNS41MjMsMCwxMC00LjQ3NywxMC0xMAoJCQlTMjE2LjIzLDg0LjIxNywyMTAuNzA4LDg0LjIxN3oiLz4KICAgICAgICA8cGF0aCBkPSJNNTQuNjEsODQuMjE3SDQyLjI3MmMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgxMi4zMzljNS41MjMsMCwxMC00LjQ3Nyw5Ljk5OS0xMAoJCQlDNjQuNjEsODguNjk0LDYwLjEzNCw4NC4yMTcsNTQuNjEsODQuMjE3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMDAuOTc3LDE5LjcyOWMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwbC05Ljg3Nyw5Ljg3N2MtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzCgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOWMyLjU1OSwwLDUuMTE5LTAuOTc2LDcuMDcxLTIuOTI5bDkuODc3LTkuODc3QzIwNC44ODMsMjkuOTY2LDIwNC44ODMsMjMuNjM0LDIwMC45NzcsMTkuNzI5CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuMDIzLDE0NC42ODVjLTMuOTA2LTMuOTA1LTEwLjIzOC0zLjkwNS0xNC4xNDMsMGwtOS44NzcsOS44NzdjLTMuOTA1LDMuOTA2LTMuOTA1LDEwLjIzOCwwLDE0LjE0MwoJCQljMS45NTIsMS45NTMsNC41MTIsMi45MjksNy4wNzEsMi45MjlzNS4xMTktMC45NzYsNy4wNzItMi45MjlsOS44NzctOS44NzdDNzkuOTI4LDE1NC45MjIsNzkuOTI4LDE0OC41OSw3Ni4wMjMsMTQ0LjY4NXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuMDIxLDI5LjYwNmwtOS44NzctOS44NzdjLTMuOTA1LTMuOTA1LTEwLjIzNy0zLjkwNS0xNC4xNDIsMGMtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzbDkuODc3LDkuODc3CgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOXM1LjExOS0wLjk3Niw3LjA3MS0yLjkyOUM3OS45MjcsMzkuODQzLDc5LjkyNywzMy41MTEsNzYuMDIxLDI5LjYwNnoiLz4KICAgICAgICA8cGF0aCBkPSJNNDU5LjU0LDQ2OC4zODljLTAuMTI5LTAuNjQtMC4zMi0xLjI3LTAuNTctMS44N2MtMC4yNS0wLjYtMC41Ni0xLjE4LTAuOTItMS43MmMtMC4zNi0wLjU1LTAuNzgtMS4wNi0xLjI0LTEuNTMKCQkJYy0wLjQ2LTAuNDYtMC45Ny0wLjg3LTEuNTItMS4yNGMtMC41NC0wLjM2LTEuMTItMC42Ny0xLjczLTAuOTJjLTAuNTk5LTAuMjUtMS4yMjktMC40NC0xLjg3LTAuNTdjLTEuMjktMC4yNi0yLjYyLTAuMjYtMy45MDksMAoJCQljLTAuNjMxLDAuMTMtMS4yNjEsMC4zMi0xLjg3LDAuNTdjLTAuNjAxLDAuMjUtMS4xODEsMC41Ni0xLjcyMSwwLjkyYy0wLjU1LDAuMzctMS4wNiwwLjc4LTEuNTIsMS4yNAoJCQljLTAuNDYsMC40Ny0wLjg4LDAuOTgtMS4yNSwxLjUzYy0wLjM2LDAuNTQtMC42NywxLjEyLTAuOTIsMS43MmMtMC4yNSwwLjYtMC40NCwxLjIzLTAuNTcsMS44NwoJCQljLTAuMTMsMC42NTEtMC4xOSwxLjMwMS0wLjE5LDEuOTYxYzAsMC42NSwwLjA2LDEuMzEsMC4xOSwxLjk1YzAuMTMsMC42NCwwLjMyLDEuMjcsMC41NywxLjg3YzAuMjUsMC42LDAuNTYsMS4xOCwwLjkyLDEuNzMKCQkJYzAuMzcsMC41NCwwLjc5LDEuMDYsMS4yNSwxLjUyYzAuNDYsMC40NiwwLjk3LDAuODgsMS41MiwxLjI0YzAuNTQsMC4zNiwxLjEyLDAuNjcsMS43MjEsMC45MmMwLjYwOSwwLjI1LDEuMjM5LDAuNDQsMS44NywwLjU3CgkJCWMwLjY1LDAuMTMsMS4zMSwwLjIsMS45NiwwLjJjMC42NSwwLDEuMzEtMC4wNywxLjk0OS0wLjJjMC42NDEtMC4xMywxLjI3LTAuMzIsMS44Ny0wLjU3YzAuNjEtMC4yNSwxLjE5LTAuNTYsMS43My0wLjkyCgkJCWMwLjU1LTAuMzYsMS4wNi0wLjc4LDEuNTItMS4yNGMwLjQ2LTAuNDYsMC44OC0wLjk4LDEuMjQtMS41MmMwLjM2MS0wLjU1LDAuNjctMS4xMywwLjkyLTEuNzNjMC4yNS0wLjYsMC40NC0xLjIzLDAuNTctMS44NwoJCQlzMC4yLTEuMywwLjItMS45NUM0NTkuNzQsNDY5LjY4OSw0NTkuNjcsNDY5LjAzOSw0NTkuNTQsNDY4LjM4OXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDA5LjczOSw0NjAuMzQ2SDYyLjEzOGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgzNDcuNmM1LjUyMywwLDEwLTQuNDc3LDEwLjAwMS0xMAoJCQlDNDE5LjczOSw0NjQuODIzLDQxNS4yNjEsNDYwLjM0Niw0MDkuNzM5LDQ2MC4zNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMS41NjMsNDI3LjkzMWgtNi44MDljLTMuODA2LTIxLjMxMi0yMi40NzYtMzcuNTQtNDQuODY0LTM3LjU0Yy0zLjMsMC02LjU5MSwwLjM2Mi05LjgwMywxLjA2N1YyOTMuMjkKCQkJYzM2LjQ4Mi00LjkwMiw2NC43MDQtMzYuMjM2LDY0LjcwNC03NC4wMzdjMC0xOS43MDktNy43ODEtMzguNTMxLTIxLjUyNC01Mi40NjRjMC4xODYtMS44MTQsMC4yNzgtMy42NDEsMC4yNzgtNS40NjgKCQkJYzAtMjkuNDc3LTIzLjk4MS01My40NTgtNTMuNDU4LTUzLjQ1OGMtMjkuNDc3LDAtNTMuNDU4LDIzLjk4Mi01My40NTgsNTMuNDU4YzAsMS44MjcsMC4wOTMsMy42NTMsMC4yNzcsNS40NjcKCQkJYy0xMy43NDEsMTMuOTM0LTIxLjUyMywzMi43NTYtMjEuNTIzLDUyLjQ2NWMwLDM3LjgwMiwyOC4yMjMsNjkuMTM2LDY0LjcwNCw3NC4wMzd2ODkuNjJjLTQuNjg1LTEuNjMyLTkuNzE2LTIuNTItMTQuOTUxLTIuNTIKCQkJYy0yNS4xMjksMC00NS41NzMsMjAuNDQ0LTQ1LjU3Myw0NS41NzR2MS45NjhoLTguNTA2di0zNS4xM2gwLjAwMWM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi00M2MwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC0wLjAwMQoJCQl2LTQ3LjMyOWMwLTIuODQ0LTEuMjExLTUuNTUzLTMuMzMtNy40NUwzMTYuMjcsMjQ2Ljg2Yy0zLjc5Ny0zLjM5OS05LjU0My0zLjM5OS0xMy4zNCwwbC0yNC43ODcsMjIuMTkxbC0yNC43ODgtMjIuMTkxCgkJCWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMGwtMjQuNzg4LDIyLjE5MWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTktOS41NDMtMy4zOTktMTMuMzQsMC4wMDFsLTI0Ljc4NywyMi4xOTEKCQkJbC0yNC43ODgtMjIuMTkxYy0zLjc5Ny0zLjM5OC05LjU0My0zLjM5OC0xMy4zNCwwTDg5LjM5OCwyNjkuMDVMNjQuNjEsMjQ2Ljg1OWMtMy43OTYtMy4zOTktOS41NDMtMy4zOTktMTMuMzQtMC4wMDEKCQkJbC0zMS40NTgsMjguMTYzYy0yLjExOSwxLjg5Ny0zLjMzLDQuNjA2LTMuMzMsNy40NTF2NDcuMzI5aC0wLjAwMWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHY0M2MwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDAuMDAxCgkJCXYzNS4xM2gtNi4wNDRjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBWNTAyYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDkxLjEyM2M1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi02NC4wNjkKCQkJQzUxMS41NjMsNDMyLjQwOCw1MDcuMDg1LDQyNy45MzEsNTAxLjU2Myw0MjcuOTMxeiBNNDQ5Ljg5LDQxMC4zOTFjMTEuMjk2LDAsMjAuOTA1LDcuMzYyLDI0LjI4MSwxNy41NGgtMjMuNDYydi0xLjk2OAoJCQljMC01LjQ0MS0wLjk1OS0xMC42NjItMi43MTYtMTUuNTA0QzQ0OC42Miw0MTAuNDE0LDQ0OS4yNTMsNDEwLjM5MSw0NDkuODksNDEwLjM5MXogTTQyMC4wODcsMTg1LjU3NHYzMy4xMThsLTEwLjQwNy0xMC40MDcKCQkJYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBjLTMuOTA1LDMuOTA1LTMuOTA1LDEwLjIzNywwLDE0LjE0M2wyMy4yNTcsMjMuMjU3YzAuNDA3LDAuNDA2LDAuODM5LDAuNzcsMS4yOTMsMS4wOTEKCQkJdjI2LjI2NWMtMjUuNDA1LTQuNzEyLTQ0LjcwNC0yNy4wMzktNDQuNzA0LTUzLjc4OWMwLTE1LjgxNiw2Ljg0NS0zMC44NTQsMTguNzc4LTQxLjI1NmMyLjc0LTIuMzg4LDMuOTY5LTYuMDc1LDMuMjA5LTkuNjI5CgkJCWMtMC40OTItMi4yOTktMC43NDEtNC42Ny0wLjc0MS03LjA0N2MwLTE4LjQ0OSwxNS4wMDktMzMuNDU4LDMzLjQ1OC0zMy40NThjMTguNDQ5LDAsMzMuNDU4LDE1LjAwOSwzMy40NTgsMzMuNDU4CgkJCWMwLDIuMzc4LTAuMjQ5LDQuNzQ4LTAuNzQxLDcuMDQ1Yy0wLjc2MiwzLjU1NSwwLjQ2Nyw3LjI0MywzLjIwOCw5LjYzMmMxMS45MzUsMTAuNDAzLDE4Ljc3OSwyNS40NCwxOC43NzksNDEuMjU2CgkJCWMwLDI2Ljc1LTE5LjI5OSw0OS4wNzYtNDQuNzA0LDUzLjc4OHYtMjYuMjY1YzAuNDUzLTAuMzIyLDAuODg3LTAuNjg1LDEuMjkzLTEuMDkxbDIzLjI1Ny0yMy4yNTcKCQkJYzMuOTA1LTMuOTA1LDMuOTA1LTEwLjIzNywwLTE0LjE0M2MtMy45MDYtMy45MDQtMTAuMjM2LTMuOTA0LTE0LjE0MywwbC0xMC40MDcsMTAuNDA3di0zMy4xMThjMC01LjUyMy00LjQ3OC0xMC0xMC0xMAoJCQlDNDI0LjU2NCwxNzUuNTc0LDQyMC4wODcsMTgwLjA1MSw0MjAuMDg3LDE4NS41NzR6IE0zNzkuNTYzLDQyNS45NjNjMC0xNC4xMDIsMTEuNDcyLTI1LjU3NCwyNS41NzMtMjUuNTc0CgkJCWMxNC4xMDIsMCwyNS41NzMsMTEuNDcyLDI1LjU3MywyNS41NzR2MS45NjhoLTUxLjE0NlY0MjUuOTYzeiBNMjg4LjE0MywyODYuOTQxbDIxLjQ1Ny0xOS4yMWwyMS40NTcsMTkuMjFWMzI5LjhoLTQyLjkxNFYyODYuOTQxCgkJCXogTTIyNS4yMjcsMjg2Ljk0MWwyMS40NTgtMTkuMjFsMjEuNDU3LDE5LjIxVjMyOS44aC00Mi45MTVWMjg2Ljk0MXogTTE2Mi4zMTMsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44aC00Mi45MTUKCQkJVjI4Ni45NDF6IE05OS4zOTgsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44SDk5LjM5OFYyODYuOTQxeiBNMzYuNDgzLDI4Ni45NDFsMjEuNDU3LTE5LjIxbDIxLjQ1NywxOS4yMVYzMjkuOAoJCQlIMzYuNDgzVjI4Ni45NDF6IE0yNi40ODIsMzQ5LjgwMWgzMTQuNTc1djIzSDI2LjQ4MlYzNDkuODAxeiBNMzMxLjA1NywzOTIuODAxdjM1LjEzaC00Mi45MTR2LTM1LjEzSDMzMS4wNTd6IE0yNjguMTQzLDM5Mi44MDEKCQkJdjM1LjEzaC00Mi45MTV2LTM1LjEzSDI2OC4xNDN6IE0yMDUuMjI3LDM5Mi44MDF2MzUuMTNoLTQyLjkxNXYtMzUuMTNIMjA1LjIyN3ogTTE0Mi4zMTMsMzkyLjgwMXYzNS4xM0g5OS4zOTh2LTM1LjEzSDE0Mi4zMTN6CgkJCSBNNzkuMzk4LDM5Mi44MDF2MzUuMTNIMzYuNDgzdi0zNS4xM0g3OS4zOTh6IE0yMC40MzgsNDkydi00NC4wNjloNDcxLjEyM1Y0OTJIMjAuNDM4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNzguNDg3LDEyNy44NDNjLTAuNTU2LDAtMS4xMTIsMC4wMTEtMS42NjgsMC4wMzNjLTcuNTQzLTE0LjQyLTIyLjUxOS0yMy45MjMtMzguODk0LTIzLjkyMwoJCQljLTIwLjU4NywwLTM4LjA0NywxNC42ODMtNDIuNzczLDM0LjM0NmMtMTkuNzgzLDEuOTMtMzUuMzA5LDE5LjAwMS0zNS4zMDksMzkuNzA3YzAsMjEuOTk0LDE3LjUxNywzOS44ODcsMzkuMDQ4LDM5Ljg4N2g3OS41OTYKCQkJYzI0LjI4NSwwLDQ0LjA0MS0yMC4xOTgsNDQuMDQxLTQ1LjAyNUMzMjIuNTI3LDE0OC4wNDEsMzAyLjc3MSwxMjcuODQzLDI3OC40ODcsMTI3Ljg0M3ogTTI3OC40ODcsMTk3Ljg5M2gtNzkuNTk2CgkJCWMtMTAuNTAzLDAtMTkuMDQ4LTguOTIxLTE5LjA0OC0xOS44ODdjMC0xMC45NjcsOC41NDUtMTkuODg4LDE5LjA0OC0xOS44ODhjMS4wNTYsMCwyLjE0OCwwLjA5OSwzLjI0NCwwLjI5NgoJCQljMi44OTMsMC41MTYsNS44Ny0wLjI2Nyw4LjEzNS0yLjE0MWMyLjI2NS0xLjg3NSwzLjU5LTQuNjUyLDMuNjIzLTcuNTkyYzAuMTUzLTEzLjYzNSwxMC45MzMtMjQuNzI4LDI0LjAzMi0yNC43MjgKCQkJYzEwLjYzOCwwLDE5Ljg3Nyw3LjEwOCwyMi45ODgsMTcuNjg5YzEuNTExLDUuMTM1LDYuNzk0LDguMTczLDExLjk5NCw2Ljg4NmMxLjgzOC0wLjQ1NCwzLjcxNS0wLjY4NCw1LjU4LTAuNjg0CgkJCWMxMy4yNTYsMCwyNC4wNDEsMTEuMjI2LDI0LjA0MSwyNS4wMjVDMzAyLjUyNywxODYuNjY3LDI5MS43NDMsMTk3Ljg5MywyNzguNDg3LDE5Ny44OTN6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Gallery:wxe,Garage:Cxe,Garden:Ixe,"Ground Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBzdHJva2U9IiIgZD0iTTQ3Ny40NDQsNDcxLjAzNGgtMy44MzNjLTMuNjc5LTE0LjQzNS0xNS45MjYtMjUuMzU2LTMwLjg1OS0yNy4yNDFWMzA4LjU4N2gyLjEzOGM5LjkxNywwLDE3Ljk4NS04LjA2OCwxNy45ODUtMTcuOTg2CgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNAoJCQljMC0wLjAzMy0wLjAwNS0wLjA2NS0wLjAwNS0wLjA5OGMtMC4wMDEtMC4wOTgtMC4wMDktMC4xOTYtMC4wMTUtMC4yOTRjLTAuMDA5LTAuMTcxLTAuMDIxLTAuMzQyLTAuMDQyLTAuNTEKCQkJYy0wLjAxMS0wLjA4OS0wLjAyNi0wLjE3Ny0wLjA0MS0wLjI2NmMtMC4wMjktMC4xODMtMC4wNjUtMC4zNjQtMC4xMDgtMC41NDJjLTAuMDEtMC4wNC0wLjAxNC0wLjA4MS0wLjAyNC0wLjEyMUw0NDYuMTIzLDI1LjQyCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQKCQkJSDMzNS4zNzJMMjkyLjM0NywyOS43aDQ1Ljg2NmM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3YzAtNC4wMjUtMy4yNjItNy4yODctNy4yODctNy4yODdoLTU1LjU5NmwtMC45MjYtMS4zODcKCQkJQzI3NS45NDgsNS4xMzcsMjY2LjM0MiwwLDI1NS45OTcsMGMtMTAuMzQ1LDAtMTkuOTUsNS4xMzYtMjUuNjk0LDEzLjczOWwtMC45MjcsMS4zODhINzkuMTc4CgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyCgkJCWMtMC4wMTQsMC4wODktMC4wMywwLjE3Ny0wLjA0MSwwLjI2NmMtMC4wMjEsMC4xNjgtMC4wMzMsMC4zMzgtMC4wNDIsMC41MWMtMC4wMDUsMC4wOTgtMC4wMTQsMC4xOTYtMC4wMTUsMC4yOTQKCQkJYzAsMC4wMzMtMC4wMDUsMC4wNjUtMC4wMDUsMC4wOTh2MTQuOTA0YzAsNy4xOTcsNS44NTUsMTMuMDUyLDEzLjA1MiwxMy4wNTJoOS44MTV2MTQzLjIzM2gtMi4xMzgKCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3CgkJCXM3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtNDYuNjk2aDM0NC4zNjR2MTI5LjMxMWMtMC4wNTUtMC4wMzItMC4xMTMtMC4wNi0wLjE2OS0wLjA5MmMtMC43MTQtMC40MTUtMS40MzktMC44MS0yLjE3Ni0xLjE4MgoJCQljLTAuMTQ0LTAuMDczLTAuMjkxLTAuMTM5LTAuNDM1LTAuMjFjLTAuNjE0LTAuMzAyLTEuMjM1LTAuNTg4LTEuODYzLTAuODU5Yy0wLjIxMy0wLjA5Mi0wLjQyNS0wLjE4My0wLjYzOS0wLjI3MgoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2CgkJCWMtMC4yMTktMC4wNjItMC40NC0wLjExOC0wLjY2LTAuMTc2Yy0wLjY0Mi0wLjE2OS0xLjI4OS0wLjMyMy0xLjk0LTAuNDYyYy0wLjE4OC0wLjA0LTAuMzc1LTAuMDg1LTAuNTY0LTAuMTIzCgkJCWMtMC44MTItMC4xNjItMS42MjktMC4zLTIuNDUxLTAuNDE0Yy0wLjE3OC0wLjAyNS0wLjM1OC0wLjA0Mi0wLjUzNy0wLjA2NGMtMC42NzEtMC4wODQtMS4zNDUtMC4xNTItMi4wMjItMC4yMDQKCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUKCQkJYy0wLjg0Ni0wLjAyLTEuNjg0LDAuMDAxLTIuNTE2LDAuMDQ2Yy0wLjE5NSwwLjAxMS0wLjM4NywwLjAzNC0wLjU4MSwwLjA0OGMtMC42MzYsMC4wNDctMS4yNjgsMC4xMDctMS44OTQsMC4xOQoJCQljLTAuMjMsMC4wMzEtMC40NTgsMC4wNzEtMC42ODYsMC4xMDdjLTAuNTg2LDAuMDkyLTEuMTY4LDAuMTk3LTEuNzQ0LDAuMzIxYy0wLjIzNCwwLjA1LTAuNDY1LDAuMTA0LTAuNjk3LDAuMTU5CgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQKCQkJYy0wLjE3MSwwLjA2Ny0wLjM0NSwwLjEyNy0wLjUxNSwwLjE5N2MtMC43MDUsMC4yOS0xLjM5OSwwLjYwMi0yLjA3OSwwLjk0MWMtMC4wMjgsMC4wMTQtMC4wNTgsMC4wMjYtMC4wODYsMC4wNAoJCQljLTAuNzMzLDAuMzY5LTEuNDUsMC43NjYtMi4xNSwxLjE5Yy0wLjA2NiwwLjA0LTAuMTI5LDAuMDg2LTAuMTk1LDAuMTI3Yy0wLjYsMC4zNy0xLjE4NywwLjc1OS0xLjc2LDEuMTY5CgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQoJCQljLTAuMzkxLDAuMzQ1LTAuNzc0LDAuNjk4LTEuMTQ4LDEuMDYzYy0wLjIwMSwwLjE5Ni0wLjQwMSwwLjM5NC0wLjU5NywwLjU5NmMtMC4zNjUsMC4zNzYtMC43MTcsMC43NjMtMS4wNjQsMS4xNTgKCQkJYy0wLjE3OCwwLjIwMy0wLjM1OSwwLjQwNC0wLjUzMywwLjYxMmMtMC4zNjcsMC40NDEtMC43MTcsMC44OTctMS4wNiwxLjM1OWMtMC4xMzEsMC4xNzYtMC4yNjksMC4zNDYtMC4zOTYsMC41MjUKCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkKCQkJYy03LjEzNSwwLTEyLjkzOSw1LjgwNS0xMi45MzksMTIuOTM5djEyNC44NTNoLTYwLjYzOWMtMC4xODgtMC40NjktMC4zOTktMC45MjUtMC42MDUtMS4zODMKCQkJYy0wLjA4OC0wLjE5NC0wLjE2Ni0wLjM5NC0wLjI1Ni0wLjU4NmMtMC4zNTMtMC43NDktMC43MjgtMS40ODMtMS4xMjgtMi4yMDJjLTAuMDc1LTAuMTM1LTAuMTYtMC4yNjMtMC4yMzYtMC4zOTcKCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQKCQkJYy0wLjE4My0wLjI0NS0wLjM3Mi0wLjQ4NC0wLjU2Mi0wLjcyNGMtMC4zMi0wLjQwNS0wLjY0Ni0wLjgwMy0wLjk4Mi0xLjE5M2MtMC4yMDItMC4yMzQtMC40MDUtMC40NjctMC42MTItMC42OTUKCQkJYy0wLjM1Mi0wLjM4OC0wLjcxNC0wLjc2Ni0xLjA4MS0xLjEzOGMtMC4yMDUtMC4yMDctMC40MDctMC40MTctMC42MTYtMC42MmMtMC40MTktMC40MDUtMC44NTItMC43OTQtMS4yOS0xLjE3OAoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDEKCQkJYy0wLjU4OC0wLjQyNi0xLjE4OC0wLjgzNi0xLjgwMS0xLjIyNmMtMC4yMjUtMC4xNDQtMC40NTgtMC4yNzYtMC42ODYtMC40MTRjLTAuNDY3LTAuMjgzLTAuOTM4LTAuNTYyLTEuNDE4LTAuODI0CgkJCWMtMC4yNy0wLjE0OC0wLjU0NS0wLjI4Ny0wLjgxOS0wLjQyOGMtMC40NTYtMC4yMzQtMC45MTYtMC40NjEtMS4zODMtMC42NzZjLTAuMjktMC4xMzQtMC41ODEtMC4yNjQtMC44NzUtMC4zOTEKCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQKCQkJYy0wLjI1Ni0wLjA3Ny0wLjUwOC0wLjE2Mi0wLjc2Ni0wLjIzM2MtMC44LTAuMjIxLTEuNjA4LTAuNDIxLTIuNDI4LTAuNTg4Yy0wLjUyNy0wLjcxOC0xLjA3NC0xLjQxOC0xLjYzNy0yLjA5OQoJCQljLTAuMTkzLTAuMjMzLTAuMzk4LTAuNDUyLTAuNTk1LTAuNjgxYy0wLjM3OC0wLjQ0LTAuNzU0LTAuODgyLTEuMTQ3LTEuMzA2Yy0wLjI0Ni0wLjI2NS0wLjUwNS0wLjUxNC0wLjc1Ny0wLjc3MgoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQoJCQljLTAuMzAxLTAuMjU3LTAuNjE0LTAuNDk4LTAuOTIxLTAuNzQ3Yy0wLjM2OC0wLjI5OC0wLjczMi0wLjYtMS4xMDgtMC44ODZjLTAuMzIyLTAuMjQ0LTAuNjU0LTAuNDcyLTAuOTgxLTAuNzA3CgkJCWMtMC4zNzYtMC4yNy0wLjc0OS0wLjU0NC0xLjEzMy0wLjgwMWMtMC4zMzktMC4yMjctMC42ODctMC40MzktMS4wMzEtMC42NTdjLTAuMzg3LTAuMjQ1LTAuNzcxLTAuNDkzLTEuMTY0LTAuNzI1CgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQKCQkJYy0wLjQwNi0wLjE5NS0wLjgxMS0wLjM5My0xLjIyNC0wLjU3NmMtMC4zOC0wLjE2OS0wLjc2NS0wLjMyMy0xLjE1LTAuNDgyYy0wLjQxNy0wLjE3MS0wLjgzMi0wLjM0NC0xLjI1NS0wLjUwMwoJCQljLTAuMzg5LTAuMTQ3LTAuNzg0LTAuMjgtMS4xNzgtMC40MTZjLTAuNDI3LTAuMTQ3LTAuODU0LTAuMjk2LTEuMjg2LTAuNDNjLTAuMzk4LTAuMTI0LTAuODAxLTAuMjM2LTEuMjA0LTAuMzQ5CgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5CgkJCWMtMC40MTQtMC4wNzgtMC44MzEtMC4xNDUtMS4yNDgtMC4yMTJjLTAuNDUzLTAuMDcyLTAuOTA1LTAuMTQzLTEuMzYxLTAuMjAyYy0wLjQyLTAuMDU0LTAuODQyLTAuMDk4LTEuMjY0LTAuMTQxCgkJCWMtMC40Ni0wLjA0Ny0wLjkyMS0wLjA5LTEuMzg1LTAuMTIyYy0wLjQyNC0wLjAzLTAuODUtMC4wNTEtMS4yNzYtMC4wNjljLTAuMjY5LTAuMDEyLTAuNTM0LTAuMDM2LTAuODA0LTAuMDQzdi0yOS44NTEKCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyCgkJCWMtMTEuMjk0LDAtMjAuNDgzLDkuMTg5LTIwLjQ4MywyMC40ODNzOS4xODksMjAuNDgzLDIwLjQ4MywyMC40ODNoNDQyLjg5NGMxMS4yOTQsMCwyMC40ODMtOS4xODksMjAuNDgzLTIwLjQ4MwoJCQlDNDk3LjkyNyw0ODAuMjIzLDQ4OC43MzgsNDcxLjAzNCw0NzcuNDQ0LDQ3MS4wMzR6IE0yMzkuMzMzLDI2LjQ2YzAtMC4wMDEsMC4wMDEtMC4wMDEsMC4wMDEtMC4wMDFsMy4wODktNC42MjcKCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1MwoJCQljLTIuMzU4LTMuNTMxLTYuMy01LjYzOS0xMC41NDYtNS42MzljLTQuMjQ2LDAtOC4xODksMi4xMDgtMTAuNTQ2LDUuNjM5TDE5OS4zNDcsOTQuMTRoLTUuMjAybDguNzc4LTEzLjE0OEwyMzkuMzMzLDI2LjQ2egoJCQkgTTI5NS4xMjQsOTQuMTRIMjE2Ljg3bDM5LjEyNy01OC42MDRMMjk1LjEyNCw5NC4xNHogTTc5LjgxNiwyOS43aDEzOS44MzFMMjA5LjUxLDQ0Ljg4M0wxNzYuNjIyLDk0LjE0SDYzLjA4MUw3OS44MTYsMjkuN3oKCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQKCQkJYy0xLjg4MSwwLTMuNDEyLTEuNTMxLTMuNDEyLTMuNDEzYzAtMS44ODEsMS41My0zLjQxMiwzLjQxMi0zLjQxMkg0NDQuODljMS44ODEsMCwzLjQxMiwxLjUzMSwzLjQxMiwzLjQxMgoJCQljMCwxLjg4Mi0xLjUzLDMuNDEzLTMuNDEyLDMuNDEzSDY3LjEwNHogTTM2MC40MTYsNDcwLjg5M2MwLjMxNy0wLjE4NywwLjYzOC0wLjM2OCwwLjk2Ny0wLjUzNQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4CgkJCWMwLjI3Mi0wLjA5OCwwLjU0Ny0wLjE4NywwLjgyNC0wLjI3MWMwLjIwMS0wLjA2LDAuNDAyLTAuMTIxLDAuNjA1LTAuMTc0YzAuMjc2LTAuMDcyLDAuNTU2LTAuMTMyLDAuODM2LTAuMTkKCQkJYzAuMjA3LTAuMDQzLDAuNDExLTAuMDkxLDAuNjItMC4xMjZjMC4zNTYtMC4wNiwwLjcxOC0wLjEwMiwxLjA4MS0wLjEzOWMwLjE3Ni0wLjAxOCwwLjM1Mi0wLjAzOSwwLjUyOS0wLjA1MgoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYKCQkJYzAuNTcyLDAuMDY1LDEuMTQ2LDAuMTU1LDEuNzE5LDAuMjc5YzMuNTA5LDAuNzU2LDcuMDQ3LTEuMTU1LDguMzM3LTQuNTA3YzQuMDkyLTEwLjYzOSwxNC40OTYtMTcuNzg3LDI1Ljg5MS0xNy43ODcKCQkJYzcuOTUsMCwxNS41MzMsMy40MjgsMjAuODA2LDkuNDA2YzAuMjEsMC4yMzgsMC40MzMsMC40NiwwLjY2OSwwLjY2NmMwLjAxMywwLjAxMSwwLjAyOCwwLjAyLDAuMDQxLDAuMDMyCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxCgkJCUMzNjAuMjUsNDcwLjk4NSwzNjAuMzM0LDQ3MC45NDIsMzYwLjQxNiw0NzAuODkzeiBNMjkxLjAzOCwzNDcuODE1djEyMy4yMTloLTcwLjA4MlYzNDcuODE1SDI5MS4wMzh6IE03Ny43OTcsNDQ1LjM1MgoJCQljMC43NjctMC4xMjEsMS41MzYtMC4yMTUsMi4zMDUtMC4yNzljMC4wNjYtMC4wMDUsMC4xMzItMC4wMDksMC4xOTgtMC4wMTRjMC43ODQtMC4wNiwxLjU2Ny0wLjA5NiwyLjM0My0wLjA5NgoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNgoJCQljMC4xMTUsMC4wMiwwLjIzLDAuMDQxLDAuMzQ1LDAuMDYzYzAuNSwwLjA5NywwLjk5NSwwLjIwOCwxLjQ4MywwLjMzOGMwLjA2MywwLjAxNywwLjEyNSwwLjAzNywwLjE4OSwwLjA1NQoJCQljMC40NDQsMC4xMjMsMC44ODEsMC4yNjEsMS4zMTMsMC40MTFjMC4wOTksMC4wMzQsMC4xOTksMC4wNjcsMC4yOTgsMC4xMDNjMC40NjcsMC4xNjksMC45MjcsMC4zNTMsMS4zNzksMC41NTMKCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYKCQkJYzAuNDMxLDAuMjM2LDAuODUyLDAuNDg4LDEuMjY1LDAuNzUyYzAuMDk0LDAuMDYsMC4xODcsMC4xMjIsMC4yOCwwLjE4NGMwLjM4OCwwLjI1NywwLjc2OSwwLjUyMywxLjEzOSwwLjgwMwoJCQljMC4wMzIsMC4wMjQsMC4wNjYsMC4wNDcsMC4wOTgsMC4wNzJjMC4zOTIsMC4zLDAuNzcsMC42MTcsMS4xNDEsMC45NDNjMC4wODcsMC4wNzcsMC4xNzQsMC4xNTQsMC4yNiwwLjIzMgoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQoJCQljMC4wNzIsMC4wODYsMC4xNDUsMC4xNzIsMC4yMTYsMC4yNmMwLjA1MywwLjA2NiwwLjEwMSwwLjEzNiwwLjE1NCwwLjIwMkg1Mi4xODFDNTQuMjI5LDQ1Ny44NjgsNjQuNjQzLDQ0Ny40MzksNzcuNzk3LDQ0NS4zNTJ6CgkJCSBNNDc3LjQ0NCw0OTcuNDI3SDM0LjU1Yy0zLjI1OSwwLTUuOTEtMi42NTEtNS45MS01LjkxYzAtMy4yNTksMi42NTEtNS45MSw1LjkxLTUuOTFoNDQyLjg5NGMzLjI1OSwwLDUuOTEsMi42NTEsNS45MSw1LjkxCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiAgZD0iTTE4Ni4yMTMsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODgsNy4yODdoODYuNzljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgIGQ9Ik0yOTkuNjY4LDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU1Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0NgoJCQloLTMuMzM4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAuMDAxLDQuMDI0LDMuMjYzLDcuMjg3LDcuMjg3LDcuMjg3aDg2Ljc5MWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3CgkJCUMzMDYuOTU1LDIzNC44MzUsMzAzLjY5MywyMzEuNTcyLDI5OS42NjgsMjMxLjU3MnogTTI4MS43NTgsMjMxLjU3M2gtNTAuOTd2LTYxLjU1NGg1MC45N1YyMzEuNTczeiIvPgogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiICBkPSJNNDEyLjU3MiwyMzEuNTcyaC0zLjMzOHYtNjUuNzQ2YzAtNS43MjQtNC42NTctMTAuMzgtMTAuMzc5LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDNDE5Ljg1OSwyMzQuODM1LDQxNi41OTcsMjMxLjU3Miw0MTIuNTcyLDIzMS41NzJ6IE0zOTQuNjYxLDIzMS41NzNoLTUwLjk3di02MS41NTRoNTAuOTdWMjMxLjU3M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTgyLjgxMyw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTUsNC41MjktMTAuMDk1LDEwLjA5NXY2MC4wNDUKCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0aDU5LjUwNGg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3CgkJCUMxOTAuMSw0MTcuMDk1LDE4Ni44MzgsNDEzLjgzMywxODIuODEzLDQxMy44MzN6IE0xNjcuNzEyLDQxMy44MzNoLTQ0LjkzMXYtNTUuNTY3aDQ0LjkzMVY0MTMuODMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MDQuMzE0LDQxMy44MzNoLTAuNTI4di02MC4wNDVjMC01LjU2Ni00LjUyOS0xMC4wOTUtMTAuMDk1LTEwLjA5NWgtNTMuODg2Yy01LjU2NiwwLTEwLjA5Niw0LjUyOS0xMC4wOTYsMTAuMDk1djYwLjA0NQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRIMzk2LjVoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDNDExLjYwMSw0MTcuMDk1LDQwOC4zMzksNDEzLjgzMyw0MDQuMzE0LDQxMy44MzN6IE0zODkuMjEzLDQxMy44MzNoLTQ0LjkzMnYtNTUuNTY3aDQ0LjkzMlY0MTMuODMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNzYuNTQ1LDQwNS4wODljLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MTIuNjNjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4NwoJCQljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtMTIuNjNDMjgzLjgzMiw0MDguMzUyLDI4MC41Nyw0MDUuMDg5LDI3Ni41NDUsNDA1LjA4OXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==","Guest Bathroom":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjMuNjE4IDYyLTIuNzE4LTUuNDQ3YTEgMSAwIDAgMCAtLjktLjU1M2gtMXYtMzBoM3YtMmgtM3YtMTlhNS4wMDYgNS4wMDYgMCAwIDAgLTUtNWgtMTRhNS4wMDYgNS4wMDYgMCAwIDAgLTUgNXYxYTMgMyAwIDAgMCAtMyAzdjFoLTVhMyAzIDAgMCAwIC0zIDN2MmExIDEgMCAwIDAgMSAxaDE1di0yaC0xNHYtMWExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MWgtNHYyaDVhMSAxIDAgMCAwIDEtMXYtMmEzIDMgMCAwIDAgLTMtM2gtNXYtMWEzIDMgMCAwIDAgLTMtM3YtMWEzIDMgMCAwIDEgMy0zaDE0YTMgMyAwIDAgMSAzIDN2MTloLTV2Mmg1djE0aC0zdi0yaC0ydjZoMnYtMmgzdjE0aC0xYTEgMSAwIDAgMCAtLjkuNTUzbC0yLjcxOCA1LjQ0N2gtNTIuMzgydjJoNjR2LTJ6bS0yNS42MTgtNTN2MWgtNHYtMWExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXptMTguNjE4IDQ5aDIuNzY0bDIgNGgtNi43NjR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI5IDE4aDJ2NGgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjkgMjRoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOSAzNGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDM0aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjkgMjhoMnY0aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMyAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzIDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzMgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00MSAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQxIDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDEgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyAxOGgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDI0aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcgMjhoMnY0aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NSAzNGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1IDE4aDJ2NGgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDUgMjRoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NSAyOGgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQxIDE4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzMgMThoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNSAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI1IDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjUgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNSAxOGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIgMzcuOTg3djE5LjAxM2ExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTE5LjFsMi0uMDEzdjIuMTEzaDJ2LTZoLTJ2MS44ODJsLTE4LjAwNi4xMTguMDEyIDJ6bTIgMTIuMDEzaDEwdjFoLTEwem0wIDZ2LTNoMTB2M3ptMTAtOGgtMTB2LTEwLjAyNmwxMC0uMDY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMCAyOWM0LjQ4NiAwIDgtNS4yNzEgOC0xMnMtMy41MTQtMTItOC0xMi04IDUuMjcxLTggMTIgMy41MTQgMTIgOCAxMnptMC0yMmMzLjI1MiAwIDYgNC41NzkgNiAxMHMtMi43NDggMTAtNiAxMC02LTQuNTc5LTYtMTAgMi43NDgtMTAgNi0xMHoiLz4KICAgICAgICA8cGF0aCBkPSJtNS4wOTUgMTMuNWg3LjgxdjJoLTcuODF6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzY4IC0uNjQgLjY0IC43NjggLTcuMTk3IDkuMTIyKSIvPgogICAgICAgIDxwYXRoIGQ9Im03LjA5NSAxOC41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtOS45MzQgMTEuNTYyKSIvPgogICAgPC9nPgo8L3N2Zz4=","Guest Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NTYsMzI4YTQwLjAzNyw0MC4wMzcsMCwwLDAtOCwuODA0OTNWMTQ0YTcuOTc1MjIsNy45NzUyMiwwLDAsMC0yLjM0MzgxLTUuNjU3NDcsMTQuNjQ1MzUsMTQuNjQ1MzUsMCwwLDEsMC0yMC42ODUwNkE3Ljk3NTIyLDcuOTc1MjIsMCwwLDAsNDQ4LDExMlY4OGg0MGE3Ljk5OTQ2LDcuOTk5NDYsMCwwLDAsNi45NDU4LTExLjk2ODc1bC0zMi01NkE3Ljk5ODYzLDcuOTk4NjMsMCwwLDAsNDU2LDE2SDM4NGE3Ljk5ODYzLDcuOTk4NjMsMCwwLDAtNi45NDU4LDQuMDMxMjVsLTMyLDU2QTcuOTk5NDYsNy45OTk0NiwwLDAsMCwzNTIsODhoNDB2MjRhNy45NzUyMiw3Ljk3NTIyLDAsMCwwLDIuMzQzODEsNS42NTc0NywxNC42NDUzNSwxNC42NDUzNSwwLDAsMSwwLDIwLjY4NTA2QTcuOTc1MjIsNy45NzUyMiwwLDAsMCwzOTIsMTQ0VjMyMEgzMTJWMjg4aDI0YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMjQ4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMzEyVjIxNmg0OGE4LjAwMDA4LDguMDAwMDgsMCwwLDAsOC04VjExMmE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04SDIwOGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOCw4djk2YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LDhoNDh2MjRIMjA1LjQxNjA4bC0xMy42MDU1My0zNC4wMTQ2NS00Ljk3NDEyLTM5Ljc5M0E1Ni41MzE0OCw1Ni41MzE0OCwwLDAsMCwxODQsMTU0LjI2VjgwQTY0LDY0LDAsMCwwLDU2LDgwdjUyLjgyODYxQTU2LjA0MTkzLDU2LjA0MTkzLDAsMCwwLDMzLjU5NDI0LDE2MS45MTlsLTE3LjE4MzYsNTEuNTUwNzhhNy45OTgsNy45OTgsMCwwLDAtLjE3MTg3LDQuNDcwN2w1LjU5MTM3LDIyLjM2NTQ4QTcuOTk3NDUsNy45OTc0NSwwLDAsMCwxNiwyNDhWNDg4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LDhINDg4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMzY4QTQwLjA0NTUyLDQwLjA0NTUyLDAsMCwwLDQ1NiwzMjhabTI0LDQwdjU2SDQzMlYzNjhhMjQsMjQsMCwwLDEsNDgsMFpNMjY0LDQyNFY0MDBhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgtOEg0MDhhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgsOHYyNFpNOTYsNDI0VjQwMGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOC04SDI0MGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOCw4djI0Wm0zMjAtODB2MzMuMzc2MjJBMjMuODgyMTIsMjMuODgyMTIsMCwwLDAsNDA4LDM3NkgyNzJhMjMuOTAxMTEsMjMuOTAxMTEsMCwwLDAtMTYsNi4xMzA4NkEyMy45MDExMSwyMy45MDExMSwwLDAsMCwyNDAsMzc2SDEwNGEyMy44ODIxMiwyMy44ODIxMiwwLDAsMC04LDEuMzc2MjJWMzQ0YTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LThINDA4QTguMDA5MTcsOC4wMDkxNywwLDAsMSw0MTYsMzQ0Wm0xMC40NTE3Mi0yMDhINDEzLjU0ODI4YTMwLjg0MzUxLDMwLjg0MzUxLDAsMCwwLDAtMTZoMTIuOTAzNDRBMzAuODQzNTEsMzAuODQzNTEsMCwwLDAsNDI2LjQ1MTcyLDEzNlpNMzg4LjY0MjU4LDMyaDYyLjcxNDg0bDIyLjg1Njk0LDQwSDM2NS43ODU2NFpNNDMyLDg4djE2SDQwOFY4OFptLTI0LDY0aDI0VjMzNi4wMjJjLS4zNjYzMy4yNzU2NC0uNzI0MTguNTYyLTEuMDgwNjkuODQ5NjFBMjQuMDQzNjksMjQuMDQzNjksMCwwLDAsNDA4LDMyMFpNMjk2LDMyMEgxMDRhMjQuMDQzNjksMjQuMDQzNjksMCwwLDAtMjIuOTE5MzEsMTYuODcxNThBMzkuOSwzOS45LDAsMCwwLDMyLDMzNi4wMjJWMjg4SDI5NlptMzItNDhIMzJWMjU2SDMyOFpNNzIsMjQwSDY0VjIyNS41NDFsNy4zMTY4OS0xOC4yOTJMNzIsMjA5LjI5Nzg1Wm04OC0uMDAwMjQuMDAwMjQuMDAwMjRIMTYwWk0yMTYsMjAwVjEyMEgzNTJ2ODBIMzEyVjE2OGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04SDI2NGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOCw4djMyWm01Ni0yNGgyNHY2NEgyNzJaTTEyMCwzMmE0OC4wNTQsNDguMDU0LDAsMCwxLDQ4LDQ4djUwLjg1MzUyYTU2LjcyNTYyLDU2LjcyNTYyLDAsMCwwLTcuOTE5OTItNS43MzUzNmwtMTEuNDQxNjUtNi44NjVBMzEuNzk0MDUsMzEuNzk0MDUsMCwwLDAsMTUyLDEwNFY4MGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04aC02LjExMTMzYTIwLjgzMDUzLDIwLjgzMDUzLDAsMCwxLTE4LjczMzQtMTEuNTc4MTIsOC4wMDA2NCw4LjAwMDY0LDAsMCwwLTEyLjgxMi0yLjA3OTExbC0xNiwxNkE4LjAwMDc2LDguMDAwNzYsMCwwLDAsODgsODB2MjRhMzEuODAxODgsMzEuODAxODgsMCwwLDAsMi43NTc1MSwxMi45NzExOUw3MiwxMjUuMDFWODBBNDguMDU0LDQ4LjA1NCwwLDAsMSwxMjAsMzJabTE2LDcyYTE2LDE2LDAsMCwxLTMyLDBWODMuMzEzNDhsNi45NDY3OC02Ljk0NjI5QTM2LjY5ODE2LDM2LjY5ODE2LDAsMCwwLDEzNiw4Ny45NTMxMlptLTM0Ljc3MTkxLDI1Ljg5MjA5YTMxLjkxNjEzLDMxLjkxNjEzLDAsMCwwLDM2LjcwNDQ3LjU5NzE3bDEuMjM3MTguNzQyNDNMMTIwLDE1NS4xOTMzNmwtMTkuODY2MjctMjQuODMyMjhaTTQ4Ljc3MywxNjYuOTc5NDlBNDAuMDM1MzgsNDAuMDM1MzgsMCwwLDEsNzAuOTYzODcsMTQyLjg2MjNsMTMuOTExNjItNS45NjE5MSwyOC44Nzc0NCwzNi4wOTY2OGE3Ljk5OTQzLDcuOTk5NDMsMCwwLDAsMTIuNDk0MTQsMEwxNTIuOTksMTM5LjU2ODM2YTM5LjcyNzc5LDM5LjcyNzc5LDAsMCwxLDE3Ljk2OTQ4LDI4LjYwODRsNS4xMDI1NCw0MC44MTU0M2E3Ljk4MjgxLDcuOTgyODEsMCwwLDAsLjUxMDI2LDEuOTc4NTFMMTg4LjE4MzU5LDI0MEgxODBsLTIwLTI2LjY2N1YyMDEuODA2NjRhNTAuODIzMzgsNTAuODIzMzgsMCwwLDAsMS45MzI2Mi0zNy4zMDc2MmwtMi4zNDMyNi03LjAyOTI5LTE1LjE3ODcyLDUuMDYwNTQsMi4zNDMyNyw3LjAyOTNhMzQuOTU1MTMsMzQuOTU1MTMsMCwwLDEtMS45MDkxOCwyNi44NjIzMUE3Ljk5OTM0LDcuOTk5MzQsMCwwLDAsMTQ0LDIwMHY0MEg4OFYyMDhhOC4wMDY0Myw4LjAwNjQzLDAsMCwwLS40MTA2NC0yLjUzMDI3bC04LTI0YTguMDAwMDksOC4wMDAwOSwwLDAsMC0xNS4wMTcwOS0uNDQwNDNsLTE2LDQwQTcuOTk3MjMsNy45OTcyMywwLDAsMCw0OCwyMjR2MTZIMzguMjQ2MDlsLTUuOTE5OTItMjMuNjgwNjZaTTMyLDM2OGEyNCwyNCwwLDAsMSw0OCwwdjU2SDMyWk00ODAsNDgwSDMyVjQ0MEg0ODBaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=",Gym:pxe,Hall:Axe,"Home Theater":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSIxIC00NCA1MTEuOTk4OTkgNTExIiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgPHBhdGggZD0ibTI4Mi41MTk1MzEgMzMzLjk4ODI4MWMtNC4xNzE4NzUgMC03LjU0Njg3NSAzLjM3ODkwNy03LjU0Njg3NSA3LjU0Njg3NSAwIDQuMTY3OTY5IDMuMzc1IDcuNTQ2ODc1IDcuNTQ2ODc1IDcuNTQ2ODc1aDExNC4zMzk4NDRjNy4wODIwMzEgMCAxMi44NDM3NS01Ljc2MTcxOSAxMi44NDM3NS0xMi44NDc2NTZ2LTE5MS45Mjk2ODdjMC03LjA4MjAzMi01Ljc2MTcxOS0xMi44NDc2NTctMTIuODQzNzUtMTIuODQ3NjU3aC0yODEuNzE4NzVjLTcuMDgyMDMxIDAtMTIuODQzNzUgNS43NjU2MjUtMTIuODQzNzUgMTIuODQ3NjU3djE5MS45Mjk2ODdjMCA3LjA4NTkzNyA1Ljc2MTcxOSAxMi44NDc2NTYgMTIuODQzNzUgMTIuODQ3NjU2aDEzNy4xOTE0MDZjNC4xNjc5NjkgMCA3LjU0Njg3NS0zLjM3ODkwNiA3LjU0Njg3NS03LjU0Njg3NSAwLTQuMTY3OTY4LTMuMzc4OTA2LTcuNTQ2ODc1LTcuNTQ2ODc1LTcuNTQ2ODc1aC0xMzQuOTQ1MzEydi0xODcuNDM3NWgyNzcuMjI2NTYydjE4Ny40Mzc1em0wIDAiLz4KICAgIDxwYXRoIGQ9Im00OS4yNjE3MTkgODIuNzQyMTg4YzE1LjU4MjAzMSAwIDI4LjI2MTcxOS0xMi42Nzk2ODggMjguMjYxNzE5LTI4LjI1MzkwNyAwLTE1LjU4NTkzNy0xMi42Nzk2ODgtMjguMjYxNzE5LTI4LjI2MTcxOS0yOC4yNjE3MTktMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjYxNzE5IDAgMTUuNTc0MjE5IDEyLjY3NTc4MiAyOC4yNTM5MDcgMjguMjUzOTA3IDI4LjI1MzkwN3ptMC00MS40MjU3ODJjNy4yNjE3MTkgMCAxMy4xNjc5NjkgNS45MDYyNSAxMy4xNjc5NjkgMTMuMTcxODc1IDAgNy4yNTM5MDctNS45MDYyNSAxMy4xNjAxNTctMTMuMTY3OTY5IDEzLjE2MDE1Ny03LjI1MzkwNyAwLTEzLjE2MDE1Ny01LjkwNjI1LTEzLjE2MDE1Ny0xMy4xNjAxNTcgMC03LjI2NTYyNSA1LjkwNjI1LTEzLjE3MTg3NSAxMy4xNjAxNTctMTMuMTcxODc1em0wIDAiLz4KICAgIDxwYXRoIGQ9Im00NjIuNzM4MjgxLjVjLTI3LjE2NDA2MiAwLTQ5LjI2OTUzMSAyMi4xMDU0NjktNDkuMjY5NTMxIDQ5LjI2OTUzMXY1Ni4zMDQ2ODhjLTUuNjUyMzQ0LTEuMzY3MTg4LTYuMDQyOTY5LS41MzUxNTctNTQuMzMyMDMxLS43NzczNDQtNC4xNjQwNjMgMC03LjU0Mjk2OSAzLjM4MjgxMy03LjU0Mjk2OSA3LjU0Njg3NXMzLjM3ODkwNiA3LjU0Njg3NSA3LjU0Mjk2OSA3LjU0Njg3NWg0Ny43MjI2NTZjNy43MzA0NjkgMCAxMy45MTQwNjMgNi4zMDQ2ODcgMTMuOTE0MDYzIDEzLjkxNDA2M3YyMTEuOTMzNTkzYzAgNy42NjQwNjMtNi4yNDYwOTQgMTMuOTE0MDYzLTEzLjkxNDA2MyAxMy45MTQwNjMtNTkuNDE3OTY5IDAtMjMxLjU1NDY4NyAwLTMwMS43MTg3NSAwLTcuNjY3OTY5IDAtMTMuOTE0MDYzLTYuMjUtMTMuOTE0MDYzLTEzLjkxNDA2MyAwLTEwLjc0NjA5MyAwLTIwNC41ODk4NDMgMC0yMTEuOTMzNTkzIDAtNS4yNzM0MzggMi45NTcwMzItOS44Nzg5MDcgNy4zMDQ2ODgtMTIuMjQ2MDk0IDUuODQzNzUtMy4xNzU3ODItNC4yNDIxODgtMS4wNDY4NzUgMjMwLjQyMTg3NS0xLjY2Nzk2OSA0LjE3NTc4MSAwIDcuNTQ2ODc1LTMuMzgyODEzIDcuNTQ2ODc1LTcuNTQ2ODc1cy0zLjM3MTA5NC03LjU0Njg3NS03LjU0Njg3NS03LjU0Njg3NWMtMjM2LjM1MTU2My4yNzM0MzctMjI0LjU1MDc4MS0uNjQ0NTMxLTIzMC40MjE4NzUuNzc3MzQ0di01Ni4zMDQ2ODhjMC0yNy4xNjQwNjItMjIuMTA1NDY5LTQ5LjI2OTUzMS00OS4yNjk1MzEtNDkuMjY5NTMxLTIyLjc2OTUzMSAwLTQyLjQ0OTIxOSAxNS40MzM1OTQtNDcuODYzMjgxIDM3LjUyNzM0NC0uOTg0Mzc2IDQuMDU0Njg3IDEuNSA4LjE0MDYyNSA1LjU0Mjk2OCA5LjEyNSA0LjA0Njg3NS45ODgyODEgOC4xMjg5MDYtMS40ODgyODIgOS4xMjUtNS41MzEyNSAzLjc0NjA5NC0xNS4zMjQyMTkgMTcuMzk4NDM4LTI2LjAzMTI1IDMzLjE5NTMxMy0yNi4wMzEyNSAxOC44NDM3NSAwIDM0LjE3NTc4MSAxNS4zMzU5MzcgMzQuMTc1NzgxIDM0LjE3OTY4N3Y2NS4zMTY0MDdjLTMuMTEzMjgxIDMuNTExNzE4LTUuMzkwNjI1IDcuNzczNDM3LTYuNTExNzE5IDEyLjQ4MDQ2OC0yLjY3MTg3NS0xMi44MjQyMTgtMTQuMDU4NTkzLTIyLjQ4ODI4MS0yNy42NjQwNjItMjIuNDg4MjgxLTE1LjU3ODEyNSAwLTI4LjI1MzkwNyAxMi42Nzk2ODctMjguMjUzOTA3IDI4LjI1NzgxMyAwIDE1LjU3ODEyNCAxMi42NzU3ODIgMjguMjU3ODEyIDI4LjI1MzkwNyAyOC4yNTc4MTIgMTIuNTM1MTU2IDAgMjMuMTg3NS04LjIxMDkzOCAyNi44NzEwOTMtMTkuNTMxMjV2NjEuMzk4NDM4Yy0zLjY4MzU5My0xMS4zMjAzMTMtMTQuMzM1OTM3LTE5LjUyNzM0NC0yNi44NzEwOTMtMTkuNTI3MzQ0LTE1LjU3ODEyNSAwLTI4LjI1MzkwNyAxMi42NzU3ODEtMjguMjUzOTA3IDI4LjI1MzkwNiAwIDE1LjU4MjAzMSAxMi42NzU3ODIgMjguMjU3ODEyIDI4LjI1MzkwNyAyOC4yNTc4MTIgMTIuNTM1MTU2IDAgMjMuMTg3NS04LjIwNzAzMSAyNi44NzEwOTMtMTkuNTMxMjV2NjEuNDAyMzQ0Yy0zLjY4MzU5My0xMS4zMjQyMTgtMTQuMzM1OTM3LTE5LjUzMTI1LTI2Ljg3MTA5My0xOS41MzEyNS0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc1NzgyLTI4LjI1MzkwNyAyOC4yNTM5MDYgMCAxNS41ODIwMzIgMTIuNjc1NzgyIDI4LjI1NzgxMyAyOC4yNTM5MDcgMjguMjU3ODEzIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMDcwMzEgMjYuODcxMDkzLTE5LjUzMTI1djE3LjA4OTg0NGMtMjAuMTA1NDY4IDI1LjUzMTI1LTYxLjAzOTA2MiAxMS4xMjUtNjEuMDM5MDYyLTIxLjA5NzY1N3YtMjI1Ljg0Mzc1YzAtNC4xNzU3ODEtMy4zODI4MTItNy41NDY4NzQtNy41NDY4NzUtNy41NDY4NzQtNC4xNzU3ODEgMC03LjU0Njg3NSAzLjM3MTA5My03LjU0Njg3NSA3LjU0Njg3NHYyMjUuODQzNzVjMCAyNC42MDE1NjMgMTguMTIxMDk0IDQ1LjA1MDc4MiA0MS43MTg3NSA0OC42OTUzMTN2NjIuNTI3MzQ0aC0xOC45NjQ4NDRjLTQuMTY3OTY4IDAtNy41NDY4NzUgMy4zNzg5MDYtNy41NDY4NzUgNy41NDY4NzUgMCA0LjE2Nzk2OCAzLjM3ODkwNyA3LjU0Njg3NSA3LjU0Njg3NSA3LjU0Njg3NWg1My4wMTk1MzJjNC4xNjc5NjggMCA3LjU0Njg3NC0zLjM3ODkwNyA3LjU0Njg3NC03LjU0Njg3NSAwLTQuMTY3OTY5LTMuMzc4OTA2LTcuNTQ2ODc1LTcuNTQ2ODc0LTcuNTQ2ODc1aC0xOC45NjQ4NDR2LTYyLjUzMTI1YzcuMDQyOTY4LTEuMDg1OTM4IDEzLjU5NzY1Ni0zLjY2Nzk2OSAxOS4zMjQyMTgtNy40MTAxNTd2OS4xOTkyMTljMCAxNS45ODQzNzUgMTMuMDE5NTMyIDI5LjAwMzkwNyAyOS4wMDc4MTMgMjkuMDAzOTA3aDQ1LjgyMDMxM3YzNS44OTg0MzdjMCA2LjI4OTA2MyA1LjEwOTM3NCAxMS40MTAxNTYgMTEuMzk4NDM3IDExLjQxMDE1NmgyMS4xMjg5MDZjNi4yODkwNjMgMCAxMS4zOTg0MzgtNS4xMjEwOTMgMTEuMzk4NDM4LTExLjQxMDE1NnYtMzUuODk4NDM3aDEyMi4yMjY1NjJ2MzUuODk4NDM3YzAgNi4yODkwNjMgNS4xMDkzNzUgMTEuNDEwMTU2IDExLjM5ODQzOCAxMS40MTAxNTZoMjEuMTI4OTA2YzYuMjg5MDYzIDAgMTEuMzk4NDM3LTUuMTIxMDkzIDExLjM5ODQzNy0xMS40MTAxNTZ2LTM1Ljg5ODQzN2g0NS44MjAzMTNjMTUuOTg4MjgxIDAgMjkuMDA3ODEzLTEzLjAxOTUzMiAyOS4wMDc4MTMtMjkuMDAzOTA3di05LjE5OTIxOWM1LjcyNjU2MiAzLjc0MjE4OCAxMi4yODEyNSA2LjMyNDIxOSAxOS4zMjQyMTggNy40MTAxNTd2NjIuNTMxMjVoLTE4Ljk2NDg0NGMtNC4xNjc5NjggMC03LjU0Njg3NCAzLjM3ODkwNi03LjU0Njg3NCA3LjU0Njg3NSAwIDQuMTY3OTY4IDMuMzc4OTA2IDcuNTQ2ODc1IDcuNTQ2ODc0IDcuNTQ2ODc1aDUzLjAxOTUzMmM0LjE2Nzk2OCAwIDcuNTQ2ODc1LTMuMzc4OTA3IDcuNTQ2ODc1LTcuNTQ2ODc1IDAtNC4xNjc5NjktMy4zNzg5MDctNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVoLTE4Ljk2NDg0NHYtNjIuNTI3MzQ0YzIzLjU5NzY1Ni0zLjY0NDUzMSA0MS43MTg3NS0yNC4wOTM3NSA0MS43MTg3NS00OC42OTUzMTN2LTI0NS45ODgyODFjMC0yNy4xNjQwNjItMjIuMDkzNzUtNDkuMjY5NTMxLTQ5LjI2MTcxOS00OS4yNjk1MzF6bS00MTMuNDc2NTYyIDE0NmMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY0MDYyIDAtNy4yNTc4MTMgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY0MDYzLTEzLjE2NDA2MyA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjMgMCA3LjI1NzgxMi01LjkwNjI1IDEzLjE2NDA2Mi0xMy4xNjQwNjIgMTMuMTY0MDYyem0wIDc4Ljg1NTQ2OWMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY3OTY5IDAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYzLTEzLjE2NDA2MiA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjIgMTMuMTY3OTY5em0wIDc4Ljg1MTU2MmMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY3OTY5IDAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYzLTEzLjE2NDA2MiA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjIgMTMuMTY3OTY5em0xMzAuNTM1MTU2IDEwMy4yNTM5MDdoLTEzLjc0NjA5NHYtMzIuMjE4NzVoMTMuNzQ2MDk0em0xNjYuMTUyMzQ0IDBoLTEzLjc0NjA5NHYtMzIuMjE4NzVoMTMuNzQ2MDk0em0xNTAuOTU3MDMxLTExMS43MDMxMjZjMCAzMi4yMzgyODItNDAuOTQxNDA2IDQ2LjYyMTA5NC02MS4wMzkwNjIgMjEuMDk3NjU3di0xNy4wODU5MzhjMy42ODM1OTMgMTEuMzIwMzEzIDE0LjMzNTkzNyAxOS41MjczNDQgMjYuODcxMDkzIDE5LjUyNzM0NCAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTc4MTMgMC0xNS41NzgxMjQtMTIuNjc1NzgyLTI4LjI1MzkwNi0yOC4yNTM5MDctMjguMjUzOTA2LTEyLjUzNTE1NiAwLTIzLjE4MzU5MyA4LjIwNzAzMi0yNi44NzEwOTMgMTkuNTI3MzQ0di02MS4zOTQ1MzFjMy42ODM1OTMgMTEuMzIwMzEyIDE0LjMzNTkzNyAxOS41MjczNDMgMjYuODcxMDkzIDE5LjUyNzM0MyAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTc4MTIgMC0xNS41NzgxMjUtMTIuNjc1NzgyLTI4LjI1MzkwNi0yOC4yNTM5MDctMjguMjUzOTA2LTEyLjUzNTE1NiAwLTIzLjE4MzU5MyA4LjIwNzAzMS0yNi44NzEwOTMgMTkuNTI3MzQ0di02MS4zOTg0MzhjMy42ODM1OTMgMTEuMzI0MjE5IDE0LjMzNTkzNyAxOS41MzEyNSAyNi44NzEwOTMgMTkuNTMxMjUgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEyIDAtMTUuNTc4MTI2LTEyLjY3NTc4Mi0yOC4yNTM5MDctMjguMjUzOTA3LTI4LjI1MzkwNy0xMy42MDU0NjkgMC0yNC45OTIxODcgOS42NjAxNTctMjcuNjY0MDYyIDIyLjQ4NDM3NS0xLjEyMTA5NC00LjcwNzAzMS0zLjM5ODQzOC04Ljk2ODc1LTYuNTExNzE5LTEyLjQ3NjU2MnYtNjUuMzIwMzEzYzAtMTguODQzNzUgMTUuMzMyMDMxLTM0LjE3OTY4NyAzNC4xNzk2ODgtMzQuMTc5Njg3IDE4Ljg0Mzc1IDAgMzQuMTY3OTY4IDE1LjMzNTkzNyAzNC4xNjc5NjggMzQuMTc5Njg3djI0NS45ODgyODF6bS00Ny4zMzIwMzEtNC43MTg3NWMwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2Mi0xMy4xNjQwNjIgNy4yNTc4MTMgMCAxMy4xNjQwNjMgNS45MDYyNSAxMy4xNjQwNjMgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYzIDEzLjE2Nzk2OS03LjI1NzgxMiAwLTEzLjE2NDA2Mi01LjkwNjI1LTEzLjE2NDA2Mi0xMy4xNjc5Njl6bTAtNzguODUxNTYyYzAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYyLTEzLjE2NDA2MiA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwNjI1IDEzLjE2NDA2MyAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjMgMTMuMTY3OTY5LTcuMjU3ODEyIDAtMTMuMTY0MDYyLTUuOTA2MjUtMTMuMTY0MDYyLTEzLjE2Nzk2OXptMC03OC44NTE1NjJjMC03LjI1NzgxMyA1LjkwNjI1LTEzLjE2NDA2MyAxMy4xNjQwNjItMTMuMTY0MDYzIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTA2MjUgMTMuMTY0MDYzIDEzLjE2NDA2MyAwIDcuMjU3ODEyLTUuOTA2MjUgMTMuMTY0MDYyLTEzLjE2NDA2MyAxMy4xNjQwNjItNy4yNTc4MTIgMC0xMy4xNjQwNjItNS45MDYyNS0xMy4xNjQwNjItMTMuMTY0MDYyem0wIDAiLz4KICAgIDxwYXRoIGQ9Im00NjIuNzM4MjgxIDI2LjIyNjU2MmMtMTUuNTgyMDMxIDAtMjguMjU3ODEyIDEyLjY3NTc4Mi0yOC4yNTc4MTIgMjguMjU3ODEzIDAgMTUuNTc4MTI1IDEyLjY3NTc4MSAyOC4yNTM5MDYgMjguMjU3ODEyIDI4LjI1MzkwNiAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTM5MDYgMC0xNS41ODIwMzEtMTIuNjc1NzgyLTI4LjI1NzgxMy0yOC4yNTM5MDctMjguMjU3ODEzem0wIDQxLjQyMTg3NmMtNy4yNjE3MTkgMC0xMy4xNjc5NjktNS45MDYyNS0xMy4xNjc5NjktMTMuMTY0MDYzIDAtNy4yNjE3MTkgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY3OTY5LTEzLjE2NDA2MyA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwMjM0NCAxMy4xNjQwNjMgMTMuMTY0MDYzIDAgNy4yNTc4MTMtNS45MDYyNSAxMy4xNjQwNjMtMTMuMTY0MDYzIDEzLjE2NDA2M3ptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Kitchen:mxe,"Laundry Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjEgMmgtNThjLS41NTIgMC0xIC40NDgtMSAxdjU4YzAgLjU1Mi40NDggMSAxIDFoNThjLjU1MiAwIDEtLjQ0OCAxLTF2LTU4YzAtLjU1Mi0uNDQ4LTEtMS0xem0tMSA2aC00di0yYzAtLjU1Mi0uNDQ4LTEtMS0xaC02Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyaC0zYy0uNTUyIDAtMSAuNDQ4LTEgMXY5aC0ydi0xNGgxOHptLTEyLjE0MiAzMS0xLjY5Mi0xMWg5LjY2OWwtMS42OTIgMTF6bTEuMTQyLTEzYzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTguNzU5LjM0OWMtLjE5LS4yMjItLjQ2Ny0uMzQ5LS43NTktLjM0OWgtMmMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNGgtMmMtLjI5MiAwLS41NjkuMTI3LS43NTkuMzQ5cy0uMjc0LjUxNS0uMjI5LjgwM2wxLjgyMyAxMS44NDhoLTMuODM1di0xOWgxOHYxOWgtMy44MzVsMS44MjMtMTEuODQ4Yy4wNDUtLjI4OC0uMDM5LS41ODItLjIyOS0uODAzem0tNy43NTktMTcuMzQ5di0yaDR2MTFoLTR6bS0yIDloLTJ2LThoMnptOCAwdi04aDR2OHptLTE2LTE0djE0aC0ydi0xMGMwLS41NTItLjQ0OC0xLTEtMWgtNmMtLjU1MiAwLTEgLjQ0OC0xIDF2MTBoLTJ2LTdjMC0uMjY1LS4xMDUtLjUyLS4yOTMtLjcwN2wtMS43MDctMS43MDd2LTIuNTg2YzAtLjU1Mi0uNDQ4LTEtMS0xaC00Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyLjU4NmwtMS43MDcgMS43MDdjLS4xODguMTg3LS4yOTMuNDQyLS4yOTMuNzA3djdoLTJ2LTEwYzAtLjU1Mi0uNDQ4LTEtMS0xaC04Yy0uNTUyIDAtMSAuNDQ4LTEgMXYxMGgtMnYtMTR6bS00IDE0aC00di05aDR6bS0xMS43MDctOC4yOTMgMS43MDcgMS43MDd2Ni41ODZoLTZ2LTYuNTg2bDEuNzA3LTEuNzA3Yy4xODgtLjE4Ny4yOTMtLjQ0Mi4yOTMtLjcwN3YtMmgydjJjMCAuMjY1LjEwNS41Mi4yOTMuNzA3em0tMTAuMjkzIDguMjkzaC02di05aDZ6bS0xMCAyaDM2djQwaC0zNnptNDUgMjhoLTJ2LTFoMnptLTMgMmg0LjY0OWw0LjM1MSAzLjQ4djYuNTJoLTl6bTExIDEwdi03YzAtLjMwNC0uMTM4LS41OTEtLjM3NS0uNzgxbC01LTRjLS4xNzgtLjE0Mi0uMzk4LS4yMTktLjYyNS0uMjE5di0yYzAtLjU1Mi0uNDQ4LTEtMS0xaC00Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyYy0uNTUyIDAtMSAuNDQ4LTEgMXYxMWgtMnYtMTloMTh2MTl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDIyaC0zMGMtLjU1MiAwLTEgLjQ0OC0xIDF2MzRjMCAuNTUyLjQ0OCAxIDEgMWgzMGMuNTUyIDAgMS0uNDQ4IDEtMXYtMzRjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDJ2NWgtMjh2LTV6bS0yOCAzMnYtMjVoMjh2MjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyIDMzYy02LjA2NSAwLTExIDQuOTM1LTExIDExczQuOTM1IDExIDExIDExIDExLTQuOTM1IDExLTExLTQuOTM1LTExLTExLTExem0wIDIwYy00Ljk2MiAwLTktNC4wMzgtOS05czQuMDM4LTkgOS05IDkgNC4wMzggOSA5LTQuMDM4IDktOSA5eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNi4xOTkgNDguMjg2IDEuMzk5IDEuNDI5Yy42NzctLjY2MyAxLjIyNi0xLjQzMiAxLjYzMS0yLjI4NmwtMS44MDctLjg1N2MtLjMwMy42MzktLjcxNCAxLjIxNi0xLjIyMyAxLjcxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjIgMzZ2MmMzLjMwOSAwIDYgMi42OTEgNiA2aDJjMC00LjQxMS0zLjU4OS04LTgtOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTAgMjVoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNCAyNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDI1aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+","Living Area":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTQuNSAyNzcuNjY3aC01LjV2LTM2LjVjMC0xNS4xNjQtMTIuMzM2LTI3LjUtMjcuNS0yNy41aC0xMTBjLTcuODc1IDAtMTQuOTgyIDMuMzMyLTIwIDguNjU1LTUuMDE4LTUuMzIyLTEyLjEyNS04LjY1NS0yMC04LjY1NWgtMTEwYy03Ljg3NSAwLTE0Ljk4MiAzLjMzMi0yMCA4LjY1NS01LjAxOC01LjMyMi0xMi4xMjUtOC42NTUtMjAtOC42NTVoLTQwLjVjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoNDAuNWM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djc3LjAxOGMtMy43NTMtMS45MjQtOC0zLjAxOC0xMi41LTMuMDE4aC0xMDEuNXYtMjBjMC05LjY0OS03Ljg1MS0xNy41LTE3LjUtMTcuNWgtMy41di0zNi41YzAtNi44OTMgNS42MDctMTIuNSAxMi41LTEyLjVoMzQuNWM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtMzQuNWMtMTUuMTY0IDAtMjcuNSAxMi4zMzYtMjcuNSAyNy41djM2LjVoLTYuNWMtOS42NDkgMC0xNy41IDcuODUxLTE3LjUgMTcuNXY0Mi41YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTQyLjVjMC0xLjM3OCAxLjEyMi0yLjUgMi41LTIuNWgyNWMxLjM3OCAwIDIuNSAxLjEyMiAyLjUgMi41djE0MC41aC0yNy41Yy0xLjM3OCAwLTIuNS0xLjEyMi0yLjUtMi41di02MC41YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djYwLjVjMCA5LjY0OSA3Ljg1MSAxNy41IDE3LjUgMTcuNWgyNy41djE0LjY2N2MwIDYuODkzIDUuNjA3IDEyLjUgMTIuNSAxMi41aDI1YzYuODkzIDAgMTIuNS01LjYwNyAxMi41LTEyLjV2LTE0LjY2N2gzMjJ2MTQuNjY3YzAgNi44OTMgNS42MDcgMTIuNSAxMi41IDEyLjVoMjVjNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtMTQuNjY3aDI3LjVjOS42NDkgMCAxNy41LTcuODUxIDE3LjUtMTcuNXYtMTM4YzAtOS42NS03Ljg1MS0xNy41LTE3LjUtMTcuNXptLTE0My00OWgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXYzNi41aC00LjVjLTkuNjQ5IDAtMTcuNSA3Ljg1MS0xNy41IDE3LjV2MjBoLTEwMC41Yy00LjUgMC04Ljc0NyAxLjA5My0xMi41IDMuMDE4di03Ny4wMThjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNXptLTI5MS41IDIwN3YtMTVoMzI2YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0zMjZ2LTE1LjVoMTAxLjVjNy44NzUgMCAxNC45ODItMy4zMzIgMjAtOC42NTUgNS4wMTggNS4zMjIgMTIuMTI1IDguNjU1IDIwIDguNjU1aDExMGM3Ljg3NSAwIDE0Ljk4Mi0zLjMzMiAyMC04LjY1NSA1LjAxOCA1LjMyMiAxMi4xMjUgOC42NTUgMjAgOC42NTVoMTAwLjV2MTUuNWgtMzFjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoMzF2MTV6bTM5Mi02MC41aC0xMDAuNWMtNi44OTMgMC0xMi41LTUuNjA3LTEyLjUtMTIuNXYtMjBjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgxMDAuNXptLTEyOC0xMi41YzAgNi44OTMtNS42MDcgMTIuNS0xMi41IDEyLjVoLTExMGMtNi44OTMgMC0xMi41LTUuNjA3LTEyLjUtMTIuNXYtMjBjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXptLTEyMi41LTEzNGgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXY3Ny4wMThjLTMuNzUzLTEuOTI0LTgtMy4wMTgtMTIuNS0zLjAxOGgtMTEwYy00LjUgMC04Ljc0NyAxLjA5My0xMi41IDMuMDE4di03Ny4wMThjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNXptLTQwIDEwMS41YzYuODkzIDAgMTIuNSA1LjYwNyAxMi41IDEyLjV2MjBjMCA2Ljg5My01LjYwNyAxMi41LTEyLjUgMTIuNWgtMTAxLjV2LTQ1em0tODEuNSAxMzIuNjY2aC0yMHYtMTIuMTY3aDIwem0zNTIgMHYtMTIuMTY3aDIwdjEyLjE2N3ptNjUtMjkuNjY2YzAgMS4zNzgtMS4xMjIgMi41LTIuNSAyLjVoLTI3LjV2LTE0MC41YzAtMS4zNzggMS4xMjItMi41IDIuNS0yLjVoMjVjMS4zNzggMCAyLjUgMS4xMjIgMi41IDIuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAuNDkgMTMwLjE2N2gxMTIuMDJjNi44ODcgMCAxMi40OS01LjYwMyAxMi40OS0xMi40OXYtMTYuNTQ5YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djE0LjAzOWgtMTA3di02NmgxMDd2MTYuOTYxYzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTE5LjQ3MmMwLTYuODg3LTUuNjAzLTEyLjQ5LTEyLjQ5LTEyLjQ5aC0xMTIuMDJjLTYuODg3IDAtMTIuNDkgNS42MDMtMTIuNDkgMTIuNDl2NzEuMDIxYzAgNi44ODYgNS42MDMgMTIuNDkgMTIuNDkgMTIuNDl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIzMS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM4MS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwMC4yMzIgMjQ3LjIxNWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjhjNy4zNDkgNC44MjggMTMuNTIyIDExLjAwMiAxOC4zNTEgMTguMzUxIDEuMzg3IDIuMTEgMy43NDMgMy4zODEgNi4yNjggMy4zODFzNC44ODEtMS4yNzEgNi4yNjgtMy4zODFjNC44MjgtNy4zNDkgMTEuMDAyLTEzLjUyMiAxOC4zNTEtMTguMzUxIDIuMTEtMS4zODcgMy4zODEtMy43NDMgMy4zODEtNi4yNjhzLTEuMjcxLTQuODgxLTMuMzgxLTYuMjY4Yy03LjM0OS00LjgyOC0xMy41MjItMTEuMDAyLTE4LjM1MS0xOC4zNTEtMS4zODctMi4xMS0zLjc0My0zLjM4MS02LjI2OC0zLjM4MXMtNC44ODEgMS4yNy02LjI2OCAzLjM4MXptMTQuMzQ0IDI0LjYxOGMtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTQgNS41ODMtNS4xODkgOC4wNzYtOC4wNzYgMi40OTQgMi44ODggNS4xODkgNS41ODMgOC4wNzYgOC4wNzZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Living Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NzMsMzMxLjkxNlYyNzMuNjQ4QTM5LjcxLDM5LjcxLDAsMCwwLDQzMy4zMjgsMjM0SDM3NlYxNzBoNDQuMDA5YTYuMjg5LDYuMjg5LDAsMCwwLDUuNzQ3LTguMDJMNDA0LjgzMSw5Mi4yNDhBNS45NzYsNS45NzYsMCwwLDAsMzk5LjA4NCw4OEgzNDAuOTE2YTUuOTMyLDUuOTMyLDAsMCwwLTUuNzQ3LDQuMkwzMTQuMjQ0LDE2MS45MmE2LjM3Miw2LjM3MiwwLDAsMCwuOTM0LDUuNDgzLDYuMTc2LDYuMTc2LDAsMCwwLDQuODEzLDIuNkgzNjR2NjRIODguNjc1QTM5LjcxMywzOS43MTMsMCwwLDAsNDksMjczLjY0OHY1OC4yNjhhMzkuNDE3LDM5LjQxNywwLDAsMC0zNywzOS41NTZWNDYzLjFhNS45MTUsNS45MTUsMCwwLDAsNiw1LjlIMzV2MzBhNi4yNDYsNi4yNDYsMCwwLDAsNi4yOCw2aDY3Ljg2N0E1Ljg3Nyw1Ljg3NywwLDAsMCwxMTUsNDk5VjQ2OUg0MDd2MzBhNS44NzksNS44NzksMCwwLDAsNS44NTUsNmg2Ny44NjlBNi4yNDMsNi4yNDMsMCwwLDAsNDg3LDQ5OVY0NjloMTdhNS45MTMsNS45MTMsMCwwLDAsNi01LjlWMzcxLjQ3MkEzOS40MTcsMzkuNDE3LDAsMCwwLDQ3MywzMzEuOTE2Wk0zNDUuMzgxLDEwMGg0OS4yMzhsMTcuMzI2LDU4aC04My44OVpNODguNjc1LDI0Nkg0MzMuMzI4QTI3LjcsMjcuNywwLDAsMSw0NjEsMjczLjY0OHY1OS4zYTM5Ljg1NCwzOS44NTQsMCwwLDAtMzAsMzguNTI2VjM5MEg5MVYzNzEuNDcyYTM5Ljg1NCwzOS44NTQsMCwwLDAtMzAtMzguNTI2di01OS4zQTI3LjcsMjcuNywwLDAsMSw4OC42NzUsMjQ2Wk0xMDMsNDkzSDQ3VjQ2OWg1NlptMzcyLDBINDE5VjQ2OWg1NlptMjMtMzZIMjRWMzcxLjQ3MmEyNy41LDI3LjUsMCwxLDEsNTUsMFYzOTUuOGE2LjQ0OCw2LjQ0OCwwLDAsMCw2LjMxLDYuMkg0MzYuNjkzQTYuNDQ1LDYuNDQ1LDAsMCwwLDQ0MywzOTUuOFYzNzEuNDcyYTI3LjUsMjcuNSwwLDEsMSw1NSwwWiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTQsMjAzLjIzOFY1Ni42MjZBNS42NCw1LjY0LDAsMCwwLDIwOC4wNjIsNTFoLTUzLjkyTDExMi4yNzIsOC45NDRhNS43MzcsNS43MzcsMCwwLDAtOC40ODQuMDQ3TDYxLjkxOSw1MUg4YTUuNjkzLDUuNjkzLDAsMCwwLTYsNS42MjZWMjAzLjIzOEE1LjgsNS44LDAsMCwwLDgsMjA5SDIwOC4wNjJBNS43NDksNS43NDksMCwwLDAsMjE0LDIwMy4yMzhaTTE3NCwxMzEuOGwtNDIuMjMsMTkuNjg2TDgwLjM2NSwxMTYuNDQzYTYuMjQ1LDYuMjQ1LDAsMCwwLTcuMTMxLjE2M0w0MSwxNDAuNjg2Vjg3SDE3NFpNNDEsMTU1LjY4OWwzNi4wNjItMjYuOTExLDUwLjg4NSwzNC41NDJhNi4xNyw2LjE3LDAsMCwwLDMuNDI3LDEuMDM5LDUuMTY5LDUuMTY5LDAsMCwwLDIuMzMyLS41NTdMMTc0LDE0NS4wMjVWMTczSDQxWk0xNzguMTU1LDc1SDM3LjY4OUwyMy4yNDMsNjNIMTkyLjVaTTI5LDg0LjA5MVYxNzYuMkwxNCwxODkuOTI4VjcwLjQ3M1pNMzcuNywxODVIMTc4LjE0bDEzLjc2NywxMkgyMy44MzVaTTE4NiwxNzYuMjFWODQuMDc4bDE2LTEzLjlWMTkwLjIyNlpNMTA4LjAzLDIxLjg1OSwxMzcuMTcyLDUxSDc4Ljg4OVoiLz4KICAgICAgICA8cGF0aCBkPSJNMTI4LjM3NCwxMzMuMmEyMC4yMTQsMjAuMjE0LDAsMSwwLTIwLjIxNC0yMC4yMTRBMjAuMjM2LDIwLjIzNiwwLDAsMCwxMjguMzc0LDEzMy4yWm0wLTI4LjQyN2E4LjIxNCw4LjIxNCwwLDEsMS04LjIxNCw4LjIxM0E4LjIyMyw4LjIyMywwLDAsMSwxMjguMzc0LDEwNC43NjhaIi8+CiAgICAgICAgPHBhdGggZD0iTTM0OC43ODcsMzA4LjQ0YTIyLjA4NywyMi4wODcsMCwwLDAsMCwyMS42NjJsLTguNDc5LDguNDc5YTYsNiwwLDEsMCw4LjQ4NCw4LjQ4NWw4LjQ3OS04LjQ4YTIyLjA5LDIyLjA5LDAsMCwwLDIxLjY2MiwwbDguNDc4LDguNDc5YTYsNiwwLDAsMCw4LjQ4Ni04LjQ4NWwtOC40ODctOC40ODhhMjIuMjExLDIyLjIxMSwwLDAsMCwwLTIxLjY0NGw4LjQ4Ny04LjQ4OGE2LDYsMCwwLDAtOC40ODYtOC40ODVsLTguNDc4LDguNDc5YTIyLjA5MiwyMi4wOTIsMCwwLDAtMjEuNjYxLDBsLTguNDgtOC40NzlhNiw2LDAsMSwwLTguNDg0LDguNDg1Wm0xOS4zMTYuNjc4YTEwLjE1NiwxMC4xNTYsMCwxLDEtNy4xNzksMi45NzRBMTAuMDgzLDEwLjA4MywwLDAsMSwzNjguMSwzMDkuMTE4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMzguNzg3LDMwOC40NGEyMi4wODcsMjIuMDg3LDAsMCwwLDAsMjEuNjYybC04LjQ3OSw4LjQ3OWE2LDYsMCwxLDAsOC40ODQsOC40ODVsOC40NzktOC40OGEyMi4wOSwyMi4wOSwwLDAsMCwyMS42NjIsMGw4LjQ3OCw4LjQ3OWE2LDYsMCwwLDAsOC40ODYtOC40ODVsLTguNDg3LTguNDg4YTIyLjIxMSwyMi4yMTEsMCwwLDAsMC0yMS42NDRsOC40ODctOC40ODhhNiw2LDAsMCwwLTguNDg2LTguNDg1bC04LjQ3OCw4LjQ3OWEyMi4wOTIsMjIuMDkyLDAsMCwwLTIxLjY2MSwwbC04LjQ4LTguNDc5YTYsNiwwLDEsMC04LjQ4NCw4LjQ4NVptMTkuMzE2LjY3OGExMC4xNTYsMTAuMTU2LDAsMSwxLTcuMTc5LDIuOTc0QTEwLjA4MywxMC4wODMsMCwwLDEsMjU4LjEsMzA5LjExOFoiLz4KICAgICAgICA8cGF0aCBkPSJNMTI4Ljc4NywzMDguNDRhMjIuMDg3LDIyLjA4NywwLDAsMCwwLDIxLjY2MmwtOC40NzksOC40NzlhNiw2LDAsMSwwLDguNDg0LDguNDg1bDguNDc5LTguNDhhMjIuMDksMjIuMDksMCwwLDAsMjEuNjYyLDBsOC40NzgsOC40NzlhNiw2LDAsMCwwLDguNDg2LTguNDg1bC04LjQ4Ny04LjQ4OGEyMi4yMTEsMjIuMjExLDAsMCwwLDAtMjEuNjQ0bDguNDg3LTguNDg4YTYsNiwwLDAsMC04LjQ4Ni04LjQ4NWwtOC40NzgsOC40NzlhMjIuMDkyLDIyLjA5MiwwLDAsMC0yMS42NjEsMGwtOC40OC04LjQ3OWE2LDYsMCwxLDAtOC40ODQsOC40ODVabTE5LjMxNi42NzhhMTAuMTU2LDEwLjE1NiwwLDEsMS03LjE3OSwyLjk3NEExMC4wODMsMTAuMDgzLDAsMCwxLDE0OC4xLDMwOS4xMThaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=","Locker Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMjMgNGgtMTVjLTIuMjA5MTM5IDAtNCAxLjc5MDg2MS00IDR2MzRjMCAyLjIwOTEzOSAxLjc5MDg2MSA0IDQgNGg2Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC02Yy0xLjEwNDU2OTUgMC0yLS44OTU0MzA1LTItMnYtMzRjMC0xLjEwNDU2OTUuODk1NDMwNS0yIDItMmgxNWMxLjEwNDU2OTUgMCAyIC44OTU0MzA1IDIgMnYxMi4wNWMwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTEyLjA1YzAtMi4yMDkxMzktMS43OTA4NjEtNC00LTR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExIDEyaDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExIDE2aDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxIDE5YzAtLjU1MjI4NDctLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDFoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im05IDM1Yy0uNTUyMjg0NzUgMC0xIC40NDc3MTUzLTEgMXY1YzAgLjU1MjI4NDcuNDQ3NzE1MjUgMSAxIDFoM2MuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtMnYtNGMwLS41NTIyODQ3LS40NDc3MTUyNS0xLTEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNTIgMGgtMTVjLTIuOTEyMjE0Mi4wMDE4MDY5MS01LjU5MzQwMDggMS41ODYwMDUxOC03IDQuMTM2LTEuNDA2NTk5Mi0yLjU0OTk5NDgyLTQuMDg3Nzg1OC00LjEzNDE5MzA5LTctNC4xMzZoLTE1Yy00LjQxNjIyMTkyLjAwNDk1OTg4LTcuOTk1MDQwMTIgMy41ODM3NzgwOC04IDh2MzRjLjAwNDk1OTg4IDQuNDE2MjIxOSAzLjU4Mzc3ODA4IDcuOTk1MDQwMSA4IDhoNmMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtNmMtMy4zMTIzMzc1Ny0uMDAzMzA3NC01Ljk5NjY5MjYyLTIuNjg3NjYyNC02LTZ2LTM0Yy4wMDMzMDczOC0zLjMxMjMzNzU3IDIuNjg3NjYyNDMtNS45OTY2OTI2MiA2LTZoMTVjMy4zMTIzMzc2LjAwMzMwNzM4IDUuOTk2NjkyNiAyLjY4NzY2MjQzIDYgNnYxMmMwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTEyYy4wMDMzMDc0LTMuMzEyMzM3NTcgMi42ODc2NjI0LTUuOTk2NjkyNjIgNi02aDE1YzMuMzEyMzM3Ni4wMDMzMDczOCA1Ljk5NjY5MjYgMi42ODc2NjI0MyA2IDZ2MzRjLS4wMDMzMDc0IDMuMzEyMzM3Ni0yLjY4NzY2MjQgNS45OTY2OTI2LTYgNmgtNmMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMWg2YzQuNDE2MjIxOS0uMDA0OTU5OSA3Ljk5NTA0MDEtMy41ODM3NzgxIDgtOHYtMzRjLS4wMDQ5NTk5LTQuNDE2MjIxOTItMy41ODM3NzgxLTcuOTk1MDQwMTItOC04eiIvPgogICAgICAgIDxwYXRoIGQ9Im00NiA0Nmg2YzIuMjA5MTM5IDAgNC0xLjc5MDg2MSA0LTR2LTM0YzAtMi4yMDkxMzktMS43OTA4NjEtNC00LTRoLTE1Yy0yLjIwOTEzOSAwLTQgMS43OTA4NjEtNCA0djEyLjA1YzAgLjU1MjI4NDcuNDQ3NzE1MyAxIDEgMXMxLS40NDc3MTUzIDEtMXYtMTIuMDVjMC0xLjEwNDU2OTUuODk1NDMwNS0yIDItMmgxNWMxLjEwNDU2OTUgMCAyIC44OTU0MzA1IDIgMnYzNGMwIDEuMTA0NTY5NS0uODk1NDMwNSAyLTIgMmgtNmMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMTJoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMTZoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMjBoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDkgMjd2M2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTNjMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMXMtMSAuNDQ3NzE1My0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI3IDIzYy0zLjg2NDE2NTcuMDA0NDA4Ni02Ljk5NTU5MTQgMy4xMzU4MzQzLTcgN3Y2Yy0xLjY1Njg1NDIgMC0zIDEuMzQzMTQ1OC0zIDN2MThjMCAxLjY1Njg1NDIgMS4zNDMxNDU4IDMgMyAzaDIwYzEuNjU2ODU0MiAwIDMtMS4zNDMxNDU4IDMtM3YtMThjMC0xLjY1Njg1NDItMS4zNDMxNDU4LTMtMy0zdi02Yy0uMDA0NDA4Ni0zLjg2NDE2NTctMy4xMzU4MzQzLTYuOTk1NTkxNC03LTd6bTE0IDE2djE4YzAgLjU1MjI4NDctLjQ0NzcxNTMgMS0xIDFoLTIwYy0uNTUyMjg0NyAwLTEtLjQ0NzcxNTMtMS0xdi0xOGMwLS41NTIyODQ3LjQ0NzcxNTMtMSAxLTFoMjBjLjU1MjI4NDcgMCAxIC40NDc3MTUzIDEgMXptLTctM2gtOHYtNmMwLS41NTIyODQ3LjQ0NzcxNTMtMSAxLTFoNmMuNTUyMjg0NyAwIDEgLjQ0NzcxNTMgMSAxem00LTZ2NmgtMnYtNmMwLTEuNjU2ODU0Mi0xLjM0MzE0NTgtMy0zLTNoLTZjLTEuNjU2ODU0MiAwLTMgMS4zNDMxNDU4LTMgM3Y2aC0ydi02Yy4wMDMzMDYxLTIuNzYwMDUzMiAyLjIzOTk0NjgtNC45OTY2OTM5IDUtNWg2YzIuNzYwMDUzMi4wMDMzMDYxIDQuOTk2NjkzOSAyLjIzOTk0NjggNSA1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMS4yMTMgNDEuMTQ0Yy0xLjUwNDE3Mi0uMzY5MzcyNy0zLjA5NDY0MjYtLjAyNTYwNjgtNC4zMTIuOTMyLTEuMjE3ODgzNC45NjE4MTM0LTEuOTIwMTI3NSAyLjQzNDYwODktMS45MDA3NDAzIDMuOTg2MzY1Ny4wMTkzODcxIDEuNTUxNzU2OC43NTgyMDc2IDMuMDA2NTQ4MSAxLjk5OTc0MDMgMy45Mzc2MzQzdjNjMCAxLjY1Njg1NDIgMS4zNDMxNDU4IDMgMyAzczMtMS4zNDMxNDU4IDMtM3YtM2MxLjU0NDUxMDctMS4xNTY5NTQ0IDIuMjg1MzQ5Mi0zLjA5OTQ1NTcgMS45MDM1MTkxLTQuOTkxMDg1Mi0uMzgxODMwMS0xLjg5MTYyOTYtMS44MTgxNTg3LTMuMzk0NjY0My0zLjY5MDUxOTEtMy44NjE5MTQ4em0uNTg3IDcuMjU2Yy0uNDk3MTQ3OS4zNTc2MDY2LS43OTQyNDAxLjkzMDYyMzItLjggMS41NDN2My4wNTdjMCAuNTUyMjg0Ny0uNDQ3NzE1MyAxLTEgMXMtMS0uNDQ3NzE1My0xLTF2LTMuMDgxYy0uMDA1NzA4Mi0uNjAyMDUyMi0uMjk5NDI1OS0xLjE2NDk0OTItLjc5LTEuNTE0LTEuMDM1MDU1My0uNzcxNzg3Mi0xLjQ2MDIxNjQtMi4xMTkyNTA3LTEuMDU1NTM2NC0zLjM0NTMxMzFzMS41NDg0MjEtMi4wNTU2ODY3IDIuODM5NTM2NC0yLjA1OTY4NjljLjI1NTAzMDkuMDAwNTA4NS41MDkxMTQ0LjAzMTA1MjIuNzU3LjA5MSAxLjA1NTg2OC4yNjMyNDYxIDEuODgyOTA3IDEuMDgzMzc3MiAyLjE1NSAyLjEzNy4zMTMzNzQ2IDEuMTgzOTY5NS0uMTI0NDE2NSAyLjQzOTU1MTItMS4xMDYgMy4xNzJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Nursery:Oxe,Office:Exe,Outdoors:fxe,Playroom:xxe,Pool:_xe,"Rear Wall":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2Nyw4LjUzM0gzODRjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3YxMTkuNDY3VjI1NnY1MS4yaC02OS43MzVjMC45NDgtMi42NzEsMS40NjgtNS41NDIsMS40NjgtOC41MzMKCQkJCWMwLTE0LjExNC0xMS40ODYtMjUuNi0yNS42LTI1LjZoLTE3LjA2N1YyNTZoODUuMzMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxMTAuOTMzYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzMKCQkJCUgxNjIuMTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTM2LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDg1LjMzM3YxNy4wNjdIMjMwLjQKCQkJCWMtMTQuMTE0LDAtMjUuNiwxMS40ODYtMjUuNiwyNS42YzAsMi45OTEsMC41MjEsNS44NjIsMS40NjgsOC41MzNoLTY5LjczNVYyNTZWMTM2LjUzM1YxNy4wNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzMwoJCQkJSDguNTMzQzMuODIzLDguNTMzLDAsMTIuMzQ4LDAsMTcuMDY3djExOS40NjdWMjU2djExOS40Njd2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDEyOGgyNTZoMTE5LjQ2NwoJCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YzNzUuNDY3VjI1NlYxMzYuNTMzVjE3LjA2N0M1MTIsMTIuMzQ4LDUwOC4xNzcsOC41MzMsNTAzLjQ2Nyw4LjUzM3ogTTE3MC42NjcsMTUzLjZoMTcwLjY2NwoJCQkJdjUxLjJIMTcwLjY2N1YxNTMuNnogTTM0MS4zMzMsMTE5LjQ2N3YxNy4wNjdIMTcwLjY2N3YtMTcuMDY3SDM0MS4zMzN6IE0xNzAuNjY3LDIyMS44NjdoMTcwLjY2N3YxNy4wNjdIMTcwLjY2N1YyMjEuODY3egoJCQkJIE0zNzUuNDY3LDQ4Ni40SDI2NC41MzN2LTkzLjg2N2g1MS4yaDU5LjczM1Y0ODYuNHogTTMwNy4yLDM3NS40NjdIMjA0LjhWMzU4LjRoMTAyLjRWMzc1LjQ2N3ogTTQ5NC45MzMsMjQ3LjQ2N2gtMTcuMDY3VjE3OS4yCgkJCQljMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM2gtMjUuNmgtMjUuNmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjY4LjI2N2gtMTcuMDY3di0xMDIuNGgxMDIuNFYyNDcuNDY3egoJCQkJIE00MjYuNjY3LDI0Ny40Njd2LTU5LjczM2g4LjUzM3Y1OS43MzNINDI2LjY2N3ogTTQ1Mi4yNjcsMTg3LjczM2g4LjUzM3Y1OS43MzNoLTguNTMzVjE4Ny43MzN6IE0zOTIuNTMzLDMxNS43MzN2LTUxLjJoMjUuNgoJCQkJaDI1LjZoMjUuNmgyNS42djEwMi40aC0xMDIuNFYzMTUuNzMzeiBNMzkyLjUzMywyNS42aDEwMi40VjEyOGgtMTAyLjRWMjUuNnogTTIyMS44NjcsMjk4LjY2N2MwLTQuNzEsMy44MzEtOC41MzMsOC41MzMtOC41MzMKCQkJCWg1MS4yYzQuNzAyLDAsOC41MzMsMy44MjMsOC41MzMsOC41MzNzLTMuODMxLDguNTMzLTguNTMzLDguNTMzaC01MS4yQzIyNS42OTgsMzA3LjIsMjIxLjg2NywzMDMuMzc3LDIyMS44NjcsMjk4LjY2N3oKCQkJCSBNMjMwLjQsMzI0LjI2N2g1MS4yaDkzLjg2N3Y1MS4yaC01MS4yVjM1OC40YzAtOS40MTItNy42NTQtMTcuMDY3LTE3LjA2Ny0xNy4wNjdIMjA0LjhjLTkuNDEyLDAtMTcuMDY3LDcuNjU0LTE3LjA2NywxNy4wNjcKCQkJCXYxNy4wNjdoLTUxLjJ2LTUxLjJIMjMwLjR6IE01MS4yLDMzMi44aDM0LjEzM3Y4LjUzM0g1MS4yVjMzMi44eiBNODUuMzMzLDMxNS43MzNINTEuMlYzMDcuMmgzNC4xMzNWMzE1LjczM3ogTTUxLjIsMzU4LjQKCQkJCWgzNC4xMzN2OC41MzNINTEuMlYzNTguNHogTTEwMi40LDM0OS44Njd2LTI1LjZ2LTI1LjZjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzCgkJCQl2MjUuNnYyNS42djE3LjA2N0gxNy4wNjd2LTEwMi40aDEwMi40djUxLjJ2NTEuMkgxMDIuNFYzNDkuODY3eiBNNTkuNzMzLDExMC45MzNINzYuOFYxMjhINTkuNzMzVjExMC45MzN6IE01MS4yLDE0NS4wNjdoMzQuMTMzCgkJCQloMzQuMTMzdjEwMi40aC0xMDIuNHYtMTAyLjRINTEuMnogTTE3LjA2NywyNS42aDEwMi40VjEyOGgtMjUuNnYtMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzMwoJCQkJYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTguNTMzSDUxLjJoLTguNTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1YxMjgKCQkJCWgtMjUuNlYyNS42eiBNMTcuMDY3LDM4NGgyNS42aDUxLjJoMjUuNnYxMDIuNGgtMTAyLjRWMzg0eiBNMTM2LjUzMywzOTIuNTMzaDU5LjczM2g1MS4yVjQ4Ni40SDEzNi41MzNWMzkyLjUzM3ogTTQ5NC45MzMsNDg2LjQKCQkJCWgtMTcuMDY3di02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjcKCQkJCWMwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjgxNC04LjUzMyw4LjUzM1Y0ODYuNGgtOC41MzN2LTY4LjI2N2MwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzCgkJCQlzLTguNTMzLDMuODE0LTguNTMzLDguNTMzVjQ4Ni40aC0xNy4wNjdWMzg0aDEwMi40VjQ4Ni40eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjEuODY3LDQwOS42SDIwNC44Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoOC41MzN2OC41MzMKCQkJCWMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM3YtMTcuMDY3QzIzMC40LDQxMy40MTQsMjI2LjU3Nyw0MDkuNiwyMjEuODY3LDQwOS42eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDcuMiw0MDkuNmgtMTcuMDY3Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDM1LjJjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgxNCw4LjUzMy04LjUzMwoJCQkJdi04LjUzM2g4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNTMzExLjkxLDQwOS42LDMwNy4yLDQwOS42eiIvPgogICAgPC9nPgo8L3N2Zz4K","Second Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBzdHJva2U9IiIgZD0iTTQ3Ny40NDQsNDcxLjAzNGgtMy44MzNjLTMuNjc5LTE0LjQzNS0xNS45MjYtMjUuMzU2LTMwLjg1OS0yNy4yNDFWMzA4LjU4N2gyLjEzOGM5LjkxNywwLDE3Ljk4NS04LjA2OCwxNy45ODUtMTcuOTg2CgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNAoJCQljMC0wLjAzMy0wLjAwNS0wLjA2NS0wLjAwNS0wLjA5OGMtMC4wMDEtMC4wOTgtMC4wMDktMC4xOTYtMC4wMTUtMC4yOTRjLTAuMDA5LTAuMTcxLTAuMDIxLTAuMzQyLTAuMDQyLTAuNTEKCQkJYy0wLjAxMS0wLjA4OS0wLjAyNi0wLjE3Ny0wLjA0MS0wLjI2NmMtMC4wMjktMC4xODMtMC4wNjUtMC4zNjQtMC4xMDgtMC41NDJjLTAuMDEtMC4wNC0wLjAxNC0wLjA4MS0wLjAyNC0wLjEyMUw0NDYuMTIzLDI1LjQyCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQKCQkJSDMzNS4zNzJMMjkyLjM0NywyOS43aDQ1Ljg2NmM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3YzAtNC4wMjUtMy4yNjItNy4yODctNy4yODctNy4yODdoLTU1LjU5NmwtMC45MjYtMS4zODcKCQkJQzI3NS45NDgsNS4xMzcsMjY2LjM0MiwwLDI1NS45OTcsMGMtMTAuMzQ1LDAtMTkuOTUsNS4xMzYtMjUuNjk0LDEzLjczOWwtMC45MjcsMS4zODhINzkuMTc4CgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyCgkJCWMtMC4wMTQsMC4wODktMC4wMywwLjE3Ny0wLjA0MSwwLjI2NmMtMC4wMjEsMC4xNjgtMC4wMzMsMC4zMzgtMC4wNDIsMC41MWMtMC4wMDUsMC4wOTgtMC4wMTQsMC4xOTYtMC4wMTUsMC4yOTQKCQkJYzAsMC4wMzMtMC4wMDUsMC4wNjUtMC4wMDUsMC4wOTh2MTQuOTA0YzAsNy4xOTcsNS44NTUsMTMuMDUyLDEzLjA1MiwxMy4wNTJoOS44MTV2MTQzLjIzM2gtMi4xMzgKCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3CgkJCXM3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtNDYuNjk2aDM0NC4zNjR2MTI5LjMxMWMtMC4wNTUtMC4wMzItMC4xMTMtMC4wNi0wLjE2OS0wLjA5MmMtMC43MTQtMC40MTUtMS40MzktMC44MS0yLjE3Ni0xLjE4MgoJCQljLTAuMTQ0LTAuMDczLTAuMjkxLTAuMTM5LTAuNDM1LTAuMjFjLTAuNjE0LTAuMzAyLTEuMjM1LTAuNTg4LTEuODYzLTAuODU5Yy0wLjIxMy0wLjA5Mi0wLjQyNS0wLjE4My0wLjYzOS0wLjI3MgoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2CgkJCWMtMC4yMTktMC4wNjItMC40NC0wLjExOC0wLjY2LTAuMTc2Yy0wLjY0Mi0wLjE2OS0xLjI4OS0wLjMyMy0xLjk0LTAuNDYyYy0wLjE4OC0wLjA0LTAuMzc1LTAuMDg1LTAuNTY0LTAuMTIzCgkJCWMtMC44MTItMC4xNjItMS42MjktMC4zLTIuNDUxLTAuNDE0Yy0wLjE3OC0wLjAyNS0wLjM1OC0wLjA0Mi0wLjUzNy0wLjA2NGMtMC42NzEtMC4wODQtMS4zNDUtMC4xNTItMi4wMjItMC4yMDQKCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUKCQkJYy0wLjg0Ni0wLjAyLTEuNjg0LDAuMDAxLTIuNTE2LDAuMDQ2Yy0wLjE5NSwwLjAxMS0wLjM4NywwLjAzNC0wLjU4MSwwLjA0OGMtMC42MzYsMC4wNDctMS4yNjgsMC4xMDctMS44OTQsMC4xOQoJCQljLTAuMjMsMC4wMzEtMC40NTgsMC4wNzEtMC42ODYsMC4xMDdjLTAuNTg2LDAuMDkyLTEuMTY4LDAuMTk3LTEuNzQ0LDAuMzIxYy0wLjIzNCwwLjA1LTAuNDY1LDAuMTA0LTAuNjk3LDAuMTU5CgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQKCQkJYy0wLjE3MSwwLjA2Ny0wLjM0NSwwLjEyNy0wLjUxNSwwLjE5N2MtMC43MDUsMC4yOS0xLjM5OSwwLjYwMi0yLjA3OSwwLjk0MWMtMC4wMjgsMC4wMTQtMC4wNTgsMC4wMjYtMC4wODYsMC4wNAoJCQljLTAuNzMzLDAuMzY5LTEuNDUsMC43NjYtMi4xNSwxLjE5Yy0wLjA2NiwwLjA0LTAuMTI5LDAuMDg2LTAuMTk1LDAuMTI3Yy0wLjYsMC4zNy0xLjE4NywwLjc1OS0xLjc2LDEuMTY5CgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQoJCQljLTAuMzkxLDAuMzQ1LTAuNzc0LDAuNjk4LTEuMTQ4LDEuMDYzYy0wLjIwMSwwLjE5Ni0wLjQwMSwwLjM5NC0wLjU5NywwLjU5NmMtMC4zNjUsMC4zNzYtMC43MTcsMC43NjMtMS4wNjQsMS4xNTgKCQkJYy0wLjE3OCwwLjIwMy0wLjM1OSwwLjQwNC0wLjUzMywwLjYxMmMtMC4zNjcsMC40NDEtMC43MTcsMC44OTctMS4wNiwxLjM1OWMtMC4xMzEsMC4xNzYtMC4yNjksMC4zNDYtMC4zOTYsMC41MjUKCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkKCQkJYy03LjEzNSwwLTEyLjkzOSw1LjgwNS0xMi45MzksMTIuOTM5djEyNC44NTNoLTYwLjYzOWMtMC4xODgtMC40NjktMC4zOTktMC45MjUtMC42MDUtMS4zODMKCQkJYy0wLjA4OC0wLjE5NC0wLjE2Ni0wLjM5NC0wLjI1Ni0wLjU4NmMtMC4zNTMtMC43NDktMC43MjgtMS40ODMtMS4xMjgtMi4yMDJjLTAuMDc1LTAuMTM1LTAuMTYtMC4yNjMtMC4yMzYtMC4zOTcKCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQKCQkJYy0wLjE4My0wLjI0NS0wLjM3Mi0wLjQ4NC0wLjU2Mi0wLjcyNGMtMC4zMi0wLjQwNS0wLjY0Ni0wLjgwMy0wLjk4Mi0xLjE5M2MtMC4yMDItMC4yMzQtMC40MDUtMC40NjctMC42MTItMC42OTUKCQkJYy0wLjM1Mi0wLjM4OC0wLjcxNC0wLjc2Ni0xLjA4MS0xLjEzOGMtMC4yMDUtMC4yMDctMC40MDctMC40MTctMC42MTYtMC42MmMtMC40MTktMC40MDUtMC44NTItMC43OTQtMS4yOS0xLjE3OAoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDEKCQkJYy0wLjU4OC0wLjQyNi0xLjE4OC0wLjgzNi0xLjgwMS0xLjIyNmMtMC4yMjUtMC4xNDQtMC40NTgtMC4yNzYtMC42ODYtMC40MTRjLTAuNDY3LTAuMjgzLTAuOTM4LTAuNTYyLTEuNDE4LTAuODI0CgkJCWMtMC4yNy0wLjE0OC0wLjU0NS0wLjI4Ny0wLjgxOS0wLjQyOGMtMC40NTYtMC4yMzQtMC45MTYtMC40NjEtMS4zODMtMC42NzZjLTAuMjktMC4xMzQtMC41ODEtMC4yNjQtMC44NzUtMC4zOTEKCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQKCQkJYy0wLjI1Ni0wLjA3Ny0wLjUwOC0wLjE2Mi0wLjc2Ni0wLjIzM2MtMC44LTAuMjIxLTEuNjA4LTAuNDIxLTIuNDI4LTAuNTg4Yy0wLjUyNy0wLjcxOC0xLjA3NC0xLjQxOC0xLjYzNy0yLjA5OQoJCQljLTAuMTkzLTAuMjMzLTAuMzk4LTAuNDUyLTAuNTk1LTAuNjgxYy0wLjM3OC0wLjQ0LTAuNzU0LTAuODgyLTEuMTQ3LTEuMzA2Yy0wLjI0Ni0wLjI2NS0wLjUwNS0wLjUxNC0wLjc1Ny0wLjc3MgoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQoJCQljLTAuMzAxLTAuMjU3LTAuNjE0LTAuNDk4LTAuOTIxLTAuNzQ3Yy0wLjM2OC0wLjI5OC0wLjczMi0wLjYtMS4xMDgtMC44ODZjLTAuMzIyLTAuMjQ0LTAuNjU0LTAuNDcyLTAuOTgxLTAuNzA3CgkJCWMtMC4zNzYtMC4yNy0wLjc0OS0wLjU0NC0xLjEzMy0wLjgwMWMtMC4zMzktMC4yMjctMC42ODctMC40MzktMS4wMzEtMC42NTdjLTAuMzg3LTAuMjQ1LTAuNzcxLTAuNDkzLTEuMTY0LTAuNzI1CgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQKCQkJYy0wLjQwNi0wLjE5NS0wLjgxMS0wLjM5My0xLjIyNC0wLjU3NmMtMC4zOC0wLjE2OS0wLjc2NS0wLjMyMy0xLjE1LTAuNDgyYy0wLjQxNy0wLjE3MS0wLjgzMi0wLjM0NC0xLjI1NS0wLjUwMwoJCQljLTAuMzg5LTAuMTQ3LTAuNzg0LTAuMjgtMS4xNzgtMC40MTZjLTAuNDI3LTAuMTQ3LTAuODU0LTAuMjk2LTEuMjg2LTAuNDNjLTAuMzk4LTAuMTI0LTAuODAxLTAuMjM2LTEuMjA0LTAuMzQ5CgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5CgkJCWMtMC40MTQtMC4wNzgtMC44MzEtMC4xNDUtMS4yNDgtMC4yMTJjLTAuNDUzLTAuMDcyLTAuOTA1LTAuMTQzLTEuMzYxLTAuMjAyYy0wLjQyLTAuMDU0LTAuODQyLTAuMDk4LTEuMjY0LTAuMTQxCgkJCWMtMC40Ni0wLjA0Ny0wLjkyMS0wLjA5LTEuMzg1LTAuMTIyYy0wLjQyNC0wLjAzLTAuODUtMC4wNTEtMS4yNzYtMC4wNjljLTAuMjY5LTAuMDEyLTAuNTM0LTAuMDM2LTAuODA0LTAuMDQzdi0yOS44NTEKCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyCgkJCWMtMTEuMjk0LDAtMjAuNDgzLDkuMTg5LTIwLjQ4MywyMC40ODNzOS4xODksMjAuNDgzLDIwLjQ4MywyMC40ODNoNDQyLjg5NGMxMS4yOTQsMCwyMC40ODMtOS4xODksMjAuNDgzLTIwLjQ4MwoJCQlDNDk3LjkyNyw0ODAuMjIzLDQ4OC43MzgsNDcxLjAzNCw0NzcuNDQ0LDQ3MS4wMzR6IE0yMzkuMzMzLDI2LjQ2YzAtMC4wMDEsMC4wMDEtMC4wMDEsMC4wMDEtMC4wMDFsMy4wODktNC42MjcKCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1MwoJCQljLTIuMzU4LTMuNTMxLTYuMy01LjYzOS0xMC41NDYtNS42MzljLTQuMjQ2LDAtOC4xODksMi4xMDgtMTAuNTQ2LDUuNjM5TDE5OS4zNDcsOTQuMTRoLTUuMjAybDguNzc4LTEzLjE0OEwyMzkuMzMzLDI2LjQ2egoJCQkgTTI5NS4xMjQsOTQuMTRIMjE2Ljg3bDM5LjEyNy01OC42MDRMMjk1LjEyNCw5NC4xNHogTTc5LjgxNiwyOS43aDEzOS44MzFMMjA5LjUxLDQ0Ljg4M0wxNzYuNjIyLDk0LjE0SDYzLjA4MUw3OS44MTYsMjkuN3oKCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQKCQkJYy0xLjg4MSwwLTMuNDEyLTEuNTMxLTMuNDEyLTMuNDEzYzAtMS44ODEsMS41My0zLjQxMiwzLjQxMi0zLjQxMkg0NDQuODljMS44ODEsMCwzLjQxMiwxLjUzMSwzLjQxMiwzLjQxMgoJCQljMCwxLjg4Mi0xLjUzLDMuNDEzLTMuNDEyLDMuNDEzSDY3LjEwNHogTTM2MC40MTYsNDcwLjg5M2MwLjMxNy0wLjE4NywwLjYzOC0wLjM2OCwwLjk2Ny0wLjUzNQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4CgkJCWMwLjI3Mi0wLjA5OCwwLjU0Ny0wLjE4NywwLjgyNC0wLjI3MWMwLjIwMS0wLjA2LDAuNDAyLTAuMTIxLDAuNjA1LTAuMTc0YzAuMjc2LTAuMDcyLDAuNTU2LTAuMTMyLDAuODM2LTAuMTkKCQkJYzAuMjA3LTAuMDQzLDAuNDExLTAuMDkxLDAuNjItMC4xMjZjMC4zNTYtMC4wNiwwLjcxOC0wLjEwMiwxLjA4MS0wLjEzOWMwLjE3Ni0wLjAxOCwwLjM1Mi0wLjAzOSwwLjUyOS0wLjA1MgoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYKCQkJYzAuNTcyLDAuMDY1LDEuMTQ2LDAuMTU1LDEuNzE5LDAuMjc5YzMuNTA5LDAuNzU2LDcuMDQ3LTEuMTU1LDguMzM3LTQuNTA3YzQuMDkyLTEwLjYzOSwxNC40OTYtMTcuNzg3LDI1Ljg5MS0xNy43ODcKCQkJYzcuOTUsMCwxNS41MzMsMy40MjgsMjAuODA2LDkuNDA2YzAuMjEsMC4yMzgsMC40MzMsMC40NiwwLjY2OSwwLjY2NmMwLjAxMywwLjAxMSwwLjAyOCwwLjAyLDAuMDQxLDAuMDMyCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxCgkJCUMzNjAuMjUsNDcwLjk4NSwzNjAuMzM0LDQ3MC45NDIsMzYwLjQxNiw0NzAuODkzeiBNMjkxLjAzOCwzNDcuODE1djEyMy4yMTloLTcwLjA4MlYzNDcuODE1SDI5MS4wMzh6IE03Ny43OTcsNDQ1LjM1MgoJCQljMC43NjctMC4xMjEsMS41MzYtMC4yMTUsMi4zMDUtMC4yNzljMC4wNjYtMC4wMDUsMC4xMzItMC4wMDksMC4xOTgtMC4wMTRjMC43ODQtMC4wNiwxLjU2Ny0wLjA5NiwyLjM0My0wLjA5NgoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNgoJCQljMC4xMTUsMC4wMiwwLjIzLDAuMDQxLDAuMzQ1LDAuMDYzYzAuNSwwLjA5NywwLjk5NSwwLjIwOCwxLjQ4MywwLjMzOGMwLjA2MywwLjAxNywwLjEyNSwwLjAzNywwLjE4OSwwLjA1NQoJCQljMC40NDQsMC4xMjMsMC44ODEsMC4yNjEsMS4zMTMsMC40MTFjMC4wOTksMC4wMzQsMC4xOTksMC4wNjcsMC4yOTgsMC4xMDNjMC40NjcsMC4xNjksMC45MjcsMC4zNTMsMS4zNzksMC41NTMKCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYKCQkJYzAuNDMxLDAuMjM2LDAuODUyLDAuNDg4LDEuMjY1LDAuNzUyYzAuMDk0LDAuMDYsMC4xODcsMC4xMjIsMC4yOCwwLjE4NGMwLjM4OCwwLjI1NywwLjc2OSwwLjUyMywxLjEzOSwwLjgwMwoJCQljMC4wMzIsMC4wMjQsMC4wNjYsMC4wNDcsMC4wOTgsMC4wNzJjMC4zOTIsMC4zLDAuNzcsMC42MTcsMS4xNDEsMC45NDNjMC4wODcsMC4wNzcsMC4xNzQsMC4xNTQsMC4yNiwwLjIzMgoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQoJCQljMC4wNzIsMC4wODYsMC4xNDUsMC4xNzIsMC4yMTYsMC4yNmMwLjA1MywwLjA2NiwwLjEwMSwwLjEzNiwwLjE1NCwwLjIwMkg1Mi4xODFDNTQuMjI5LDQ1Ny44NjgsNjQuNjQzLDQ0Ny40MzksNzcuNzk3LDQ0NS4zNTJ6CgkJCSBNNDc3LjQ0NCw0OTcuNDI3SDM0LjU1Yy0zLjI1OSwwLTUuOTEtMi42NTEtNS45MS01LjkxYzAtMy4yNTksMi42NTEtNS45MSw1LjkxLTUuOTFoNDQyLjg5NGMzLjI1OSwwLDUuOTEsMi42NTEsNS45MSw1LjkxCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4KICAgICAgICA8cGF0aCAgZD0iTTE4Ni4yMTMsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODgsNy4yODdoODYuNzljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5OS42NjgsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTVjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzMwNi45NTUsMjM0LjgzNSwzMDMuNjkzLDIzMS41NzIsMjk5LjY2OCwyMzEuNTcyeiBNMjgxLjc1OCwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQxMi41NzIsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM3OS0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0NgoJCQloLTMuMzM4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzQxOS44NTksMjM0LjgzNSw0MTYuNTk3LDIzMS41NzIsNDEyLjU3MiwyMzEuNTcyeiBNMzk0LjY2MSwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTE4Mi44MTMsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk1LDQuNTI5LTEwLjA5NSwxMC4wOTV2NjAuMDQ1CgkJCWgtMC41MjhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNSwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g3LjgxNGg1OS41MDRoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkwLjEsNDE3LjA5NSwxODYuODM4LDQxMy44MzMsMTgyLjgxMyw0MTMuODMzeiBNMTY3LjcxMiw0MTMuODMzaC00NC45MzF2LTU1LjU2N2g0NC45MzFWNDEzLjgzM3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiBkPSJNNDA0LjMxNCw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTYsNC41MjktMTAuMDk2LDEwLjA5NXY2MC4wNDUKCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0SDM5Ni41aDcuODE0YzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzQxMS42MDEsNDE3LjA5NSw0MDguMzM5LDQxMy44MzMsNDA0LjMxNCw0MTMuODMzeiBNMzg5LjIxMyw0MTMuODMzaC00NC45MzJ2LTU1LjU2N2g0NC45MzJWNDEzLjgzM3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiBkPSJNMjc2LjU0NSw0MDUuMDg5Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3djEyLjYzYzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODcKCQkJYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODd2LTEyLjYzQzI4My44MzIsNDA4LjM1MiwyODAuNTcsNDA1LjA4OSwyNzYuNTQ1LDQwNS4wODl6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Shed:Sxe,"Sleeping Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDU2LDIyNGMtMTQuMTMzLDAtMjQsNi4zMDEtMjQsMTUuMzJ2MjcuNTA1QzQxOS4zMzMsMjQxLjc5MywzOTkuODUsMjI0LDM3NiwyMjRIMTUyYy00LjQxNy0wLjAwMS03Ljk5OSwzLjU3OS04LDcuOTk2CgkJCWMwLDAuMDAxLDAsMC4wMDMsMCwwLjAwNHY0OC4wNjdjMC4wNDUtMTMuMDUyLTUuMjAxLTI2LjA3NS0xNS41ODYtMzUuNTgzYy0xOS41NTItMTcuOTAyLTQ5LjkxNS0xNi41NjQtNjcuODE2LDIuOTg5CgkJCWMtMTYuNzY0LDE4LjMwOS0xNi44MDEsNDYuMzgtMC4wODYsNjQuNzM0Yy00LjYxMiwwLjUwOC04Ljk2OCwyLjM4LTEyLjUxMiw1LjM3NVYxMTUuMTk5QzQ4LDEwNC40MzQsMzcuNDYxLDk2LDI0LDk2CgkJCXMtMjQsOC40MzQtMjQsMTkuMTk5djM0NS42MDJDMCw0NzEuNTY2LDEwLjUzOSw0ODAsMjQsNDgwczI0LTguNDM0LDI0LTE5LjE5OVY0MDhoMzg0djU2LjY4YzAsOS4wMTksOS44NjcsMTUuMzIsMjQsMTUuMzIKCQkJczI0LTYuMzAxLDI0LTE1LjMyVjIzOS4zMkM0ODAsMjMwLjMwMSw0NzAuMTMzLDIyNCw0NTYsMjI0eiBNMzIsNDYwLjgwMWMtMC4wODYsMC42NTYtMi43NzMsMy4xOTktOCwzLjE5OQoJCQljLTUuMjUsMC03LjkyMi0yLjU0My04LTMuMTk5VjExNS4xOTljMC4wNzgtMC42NTYsMi43NS0zLjE5OSw4LTMuMTk5YzUuMjI3LDAsNy45MTQsMi41NDMsOCwzLjE5OVY0NjAuODAxeiBNMTYwLDI0MGgyMTYKCQkJYzMwLjE3MiwwLDUzLjE3Miw0NC45MjYsNTUuNzU4LDg4SDE2MFYyNDB6IE0xNDQsMjgwLjA4M3YzOC41NmMtMy40NTItMy4zNTMtNy44NDgtNS41NjYtMTIuNTk3LTYuMzQyCgkJCUMxMzkuNzkzLDMwMy4xMzcsMTQzLjk1NiwyOTEuNiwxNDQsMjgwLjA4M3ogTTk2LDI0OGMxNy42NzMsMCwzMiwxNC4zMjcsMzIsMzJjMCwxNy42NzMtMTQuMzI3LDMyLTMyLDMycy0zMi0xNC4zMjctMzItMzIKCQkJQzY0LjAxOSwyNjIuMzM1LDc4LjMzNSwyNDguMDE5LDk2LDI0OHogTTQzMiwzOTJINDh2LTQ4LjAyM2M0LjE2My0wLjMyOCw3LjM3NC0zLjgwMSw3LjM3NS03Ljk3NwoJCQljLTAuMDc3LTQuMzMxLDMuMzY0LTcuOTA5LDcuNjk1LThoNjQuNjFjNC4zMzEsMC4wOTEsNy43NzIsMy42NjksNy42OTUsOGMtMC4wMDEsNC40MTcsMy41NzksNy45OTksNy45OTYsOAoJCQljMC4wMDEsMCwwLjAwMywwLDAuMDA0LDBINDMyVjM5MnogTTQ2NCw0NjIuNTk0Yy01LjE2OSwxLjg3NS0xMC44MzEsMS44NzUtMTYsMFYyNDEuNDA2YzUuMTY5LTEuODc1LDEwLjgzMS0xLjg3NSwxNiwwVjQ2Mi41OTR6IgogICAgICAgIC8+CiAgICAgICAgPHBhdGggZD0iTTEzNy4wNzgsMTc2bDI5LjA3LTM0Ljg3OWMxLjk4Ni0yLjM4NiwyLjQxMy01LjcwNSwxLjA5NC04LjUxNmMtMS4zMTYtMi44MS00LjEzOS00LjYwNS03LjI0Mi00LjYwNWgtNDh2MTZoMzAuOTIyCgkJCWwtMjkuMDcsMzQuODc5Yy0yLjgyNywzLjM5OC0yLjM2NCw4LjQ0NCwxLjAzNCwxMS4yN2MxLjQzNywxLjE5NSwzLjI0NiwxLjg1LDUuMTE0LDEuODUxaDQ4di0xNkgxMzcuMDc4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjQuMzU5LDEzNmw0NS45NTMtNTkuMDljMS44NzctMi40MTEsMi4yMTctNS42ODEsMC44NzUtOC40MjZjLTEuMzQ0LTIuNzQzLTQuMTMyLTQuNDgzLTcuMTg4LTQuNDg0aC02NHYxNmg0Ny42NDEKCQkJbC00NS45NTMsNTkuMDljLTIuNzE0LDMuNDg0LTIuMDg5LDguNTA5LDEuMzk2LDExLjIyM2MxLjQwNSwxLjA5NCwzLjEzNiwxLjY4OCw0LjkxNywxLjY4OGg2NHYtMTZIMjI0LjM1OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzI4LDk2bDYyLjM5OC04My4xOTljMi42NTItMy41MzMsMS45MzktOC41NDYtMS41OTQtMTEuMTk5QzM4Ny40MTksMC41NjIsMzg1LjczMywwLDM4NCwwaC03MnYxNmg1NmwtNjIuMzk4LDgzLjE5OQoJCQljLTEuODE4LDIuNDI0LTIuMTEyLDUuNjY4LTAuNzU4LDguMzc5QzMwNi4yLDExMC4yODgsMzA4Ljk3LDExMiwzMTIsMTEyaDgwVjk2SDMyOHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Stairway:kxe,Stairwell:Yxe,Storeroom:vxe,"Summer House":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xNzMuODMyLDIyNS4yNjNoLTQzLjAzOWMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXY2MC4xMzRjMCw0LjE0MiwzLjM1Nyw3LjUsNy41LDcuNWg0My4wMzljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNQoJCQl2LTYwLjEzNEMxODEuMzMyLDIyOC42MjIsMTc3Ljk3NCwyMjUuMjYzLDE3My44MzIsMjI1LjI2M3ogTTE2Ni4zMzEsMjg1LjM5N2gtMjguMDM4di00NS4xMzNoMjguMDM4VjI4NS4zOTd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ1OS4xMjcsMjAxLjE5M2MzLjMxNCwyLjI3OCw4LjA5MSwxLjQ3MSwxMC40My0xLjkzMmMwLDAsMjMuMDA5LTMzLjQ2OSwyMy4wMjktMzMuNDk4CgkJCWMyLjMxNS0zLjM2OCwxLjQyOC04LjEyMS0xLjkzMi0xMC40MzFMMjcxLjc2Myw0Ljg2MWMtOS40MjktNi40OC0yMi4wOTctNi40ODEtMzEuNTI2LDBjMCwwLTEzOS43NjIsOTYuMDc3LTE0MC4yNzMsOTYuNDI4CgkJCWMtNy45MTEsNS40MzgsMC40MjksMTcuOTEsOC40OTcsMTIuMzYzbDE0MC4yNzQtOTYuNDI5YzQuMzQ3LTIuOTg3LDEwLjE4Ny0yLjk4NywxNC41MzEtMC4wMDFsMjEyLjcwOSwxNDYuMjI0bC0xNC41MzEsMjEuMTM3CgkJCWMwLDAtMjAxLjE0My0xMzguMjcyLTIwMS4xOTUtMTM4LjMwOGMtMi40OTUtMS43MTUtNS45OTktMS43MTgtOC40OTgtMC4wMDFMNTAuNTU3LDE4NC41ODNsLTE0LjUzLTIxLjEzNwoJCQljMCwwLDQ3LjExNy0zMi4zOSw0Ny4yODktMzIuNTA5YzcuODA3LTUuMzY2LTAuNDE2LTE3LjkxNy04LjQ5OC0xMi4zNjJjMCwwLTUzLjMwMSwzNi42NC01My40NzEsMzYuNzU3CgkJCWMtMy4zNzQsMi4zMi00LjI0MSw3LjA3MS0xLjkzMywxMC40MzFsMjEuNzA5LDMxLjU3OXYzMDcuMTU2YzAsNC4xNDIsMy4zNTgsNy41LDcuNSw3LjVIMjU2YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVWMzk1Ljk3MQoJCQlINDAyLjY0djEwOC41MjhjMCw0LjE0MiwzLjM1OCw3LjUsNy41MDEsNy41aDMwLjQ4OGM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41VjM5NS45NzFoMjMuNzY5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjV2LTMwLjQ4NwoJCQljMC00LjE0My0zLjM1OC03LjUtNy41LTcuNWgtMjMuNzY5di01Ny4yNTloMjMuNzY5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjV2LTMwLjQ4OGMwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC0yMy43Njl2LTU0LjEwMwoJCQlMNDU5LjEyNywyMDEuMTkzeiBNNDE3LjY0MSwxODYuODc2aDE1LjQ4N3Y2MC44NThoLTE1LjQ4N1YxODYuODc2eiBNMjU2LDYxLjU1NmwzOS4wNzUsMjYuODYxaC03OC4xNDlMMjU2LDYxLjU1NnoKCQkJIE01Ni4xMjUsMjcwLjMzMmgzOC4zOTl2NTMuMDU1YzAsNC4xNDEsMy4zNTgsNy41LDcuNSw3LjVIMjAyLjZjNC4xNDIsMCw3LjUwMS0zLjM1OCw3LjUwMS03LjV2LTUzLjA1NWgzOC4zOTh2NjguNDU2SDU2LjEyNQoJCQlWMjcwLjMzMnogTTEwOS41MjUsMzE1Ljg4NlYyMDkuNzc3aDg1LjU3NXYxMDYuMTA5SDEwOS41MjV6IE05NC41MjQsNDk2Ljk5OEg1Ni4xMjV2LTU5Ljc1NGgzOC4zOTlWNDk2Ljk5OHogTTE2Ni4zMzEsNDk2Ljk5NwoJCQloLTI4LjAzOHYtODUuNzgzaDI4LjAzOFY0OTYuOTk3eiBNMTk1LjA5OSw0OTYuOTk3aC0xMy43Njd2LTkzLjI4M2MwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC00My4wMzkKCQkJYy00LjE0MiwwLTcuNTAxLDMuMzU4LTcuNTAxLDcuNXY5My4yODNoLTEzLjc2OFYzODAuNzI3aDg1LjU3NVY0OTYuOTk3eiBNMjQ4LjQ5OSw0OTYuOTk4SDIxMC4xdi01OS43NTRoMzguMzk4VjQ5Ni45OTh6CgkJCSBNMjQ4LjUsNDIyLjI0NGgtMzguMzk5di00OS4wMThjLTAuMDAxLTQuMTQyLTMuMzU5LTcuNS03LjUwMi03LjVIMTAyLjAyNGMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNTAxdjQ5LjAxOEg1Ni4xMjV2LTY4LjQ1NgoJCQlIMjQ4LjVWNDIyLjI0NHogTTI0OC41LDI1NS4yMjVjMCwwLjAwMywwLDAuMDA2LDAsMC4wMXYwLjA5NmgtMzguMzk5di01My4wNTVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNUgxMDIuMDI0CgkJCWMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXY1My4wNTVINTYuMTI1di01Ni4zNzNsMTcuNjYzLTEyLjE0M2MwLjI5NywwLjAzNiwwLjU5NywwLjA2LDAuOTA0LDAuMDZIMjQ4LjVWMjU1LjIyNXoKCQkJIE05NS41MjMsMTcxLjg3NWw5OS41ODEtNjguNDU2aDEyMS43OTNsOTkuNTgxLDY4LjQ1NmgtNi4zMzZIOTUuNTIzeiBNNDAyLjY0LDE4Ni44NzZ2NjAuODU4SDI2My41MDF2LTYwLjg1OEg0MDIuNjR6CgkJCSBNMjYzLjUwMSwyOTMuMjIzaDE1LjQ4NnY1Ny4yNTloLTE1LjQ4NlYyOTMuMjIzeiBNNDMzLjEyOCw0OTYuOTk4aC0xNS40ODdWMzk1Ljk3MWgxNS40ODdWNDk2Ljk5OHogTTQ2NC4zOTcsMzY1LjQ4NHYxNS40ODYKCQkJSDI2My41MDF2LTE1LjQ4Nkg0NjQuMzk3eiBNMjkzLjk4OCwzNTAuNDgydi01Ny4yNTloMTUuNDg3djU3LjI1OUgyOTMuOTg4eiBNMzI0LjQ3NiwzNTAuNDgydi01Ny4yNTloMTYuMzM3djU3LjI1OUgzMjQuNDc2egoJCQkgTTM1NS44MTQsMzUwLjQ4MnYtNTcuMjU5aDE1LjQ4N3Y1Ny4yNTlIMzU1LjgxNHogTTM4Ni4zMDIsMzUwLjQ4MnYtNTcuMjU5aDE2LjMzN3Y1Ny4yNTlIMzg2LjMwMnogTTQxNy42NDEsMzUwLjQ4MnYtNTcuMjU5CgkJCWgxNS40ODd2NTcuMjU5SDQxNy42NDF6IE00NjQuMzk3LDI2Mi43MzV2MTUuNDg3SDI2My41MDF2LTE1LjQ4N0g0NjQuMzk3eiIvPgogICAgPC9nPgo8L3N2Zz4K","Swimming Pool":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Ny43MzMgMTg3LjczMyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xODcuNTk5LDE1MS40NThMMTUzLjQ2NSwzMy4xODZjLTAuNDIyLTEuNDYxLTEuNzU4LTIuNDY2LTMuMjc5LTIuNDY2SDM3LjU0N2MtMS41MjEsMC0yLjg1NywxLjAwNS0zLjI3OSwyLjQ2NgoJCQlMMC4xMzUsMTUxLjQ1OEMwLjA0NCwxNTEuNzY1LDAsMTUyLjA4NSwwLDE1Mi40MDV2MjUuMDg4YzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNIMTg0LjMyCgkJCWMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzdi0yNS4wODhDMTg3LjczMywxNTIuMDg1LDE4Ny42ODcsMTUxLjc2NSwxODcuNTk5LDE1MS40NTh6IE0xODAuOTA3LDE3NC4wOEg2LjgyN3YtMjEuMTkyCgkJCUw0MC4xMTUsMzcuNTQ3SDE0Ny42MmwzMy4yODcsMTE1LjM0MlYxNzQuMDh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTc4LjUwNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNzMy40MTMtMS41MjksMy40MTMtMy40MTN2LTUxLjIKCQkJQzgxLjkyLDguMzU2LDgwLjM5MSw2LjgyNyw3OC41MDcsNi44Mjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsNi44MjdjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTN2NTEuMmMwLDEuODg0LDEuNTI5LDMuNDEzLDMuNDEzLDMuNDEzYzEuODg0LDAsMy40MTMtMS41MjksMy40MTMtMy40MTMKCQkJdi01MS4yQzExMi42NCw4LjM1NiwxMTEuMTExLDYuODI3LDEwOS4yMjcsNi44Mjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsMTcuMDY3aC0zMC43MmMtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3MxLjUyOSwzLjQxMywzLjQxMywzLjQxM2gzMC43MmMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzCgkJCVMxMTEuMTExLDE3LjA2NywxMDkuMjI3LDE3LjA2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNywzMC43MmgtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMwoJCQlTMTExLjExMSwzMC43MiwxMDkuMjI3LDMwLjcyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDkuMjI3LDQ0LjM3M2gtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMwoJCQlTMTExLjExMSw0NC4zNzMsMTA5LjIyNyw0NC4zNzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE2My43ODksMTQ2LjE3OWwtMTcuNTE2LTk4Ljk4N2MtMC4yODgtMS42My0xLjcwNS0yLjgxOC0zLjM2LTIuODE4SDQ4LjMyOGMtMS42MTMsMC0zLjAwNSwxLjEyNi0zLjM0LDIuNzAzCgkJCWwtMjEuMDE5LDk4Ljk4N2MtMC4yMTMsMS4wMDcsMC4wMzgsMi4wNTcsMC42ODYsMi44NTdjMC42NDksMC44LDEuNjIxLDEuMjY1LDIuNjUyLDEuMjY1aDEzMy4xMmMxLjAwOSwwLDEuOTY2LTAuNDQ3LDIuNjE2LTEuMjE5CgkJCUMxNjMuNjkxLDE0OC4xOTUsMTYzLjk2NSwxNDcuMTc0LDE2My43ODksMTQ2LjE3OXogTTMxLjUyLDE0My4zNkw1MS4wODksNTEuMmg4OC45NThsMTYuMzA5LDkyLjE2SDMxLjUyeiIvPgogICAgPC9nPgo8L3N2Zz4K",Terrace:bxe,Toilet:Qxe,Upstairs:Uxe,Wardrobe:$xe,Washroom:Pxe,Wc:Wxe,Windscreen:Bxe,Workshop:Jxe,Workspace:Rxe},Gxe=[{_id:"hood",name:{en:"Hood",ru:"Вытяжка",de:"Abzugshaube",fr:"Capot",it:"Cappe",nl:"Hood",pl:"Okapy",pt:"Hood",es:"Campana","zh-cn":"抽油烟机"},icon:"Hoods.svg"},{_id:"alarm_system",name:{en:"Alarm System",ru:"Сигнализация",de:"Alarmanlage",fr:"Systèmes D'Alarme",it:"Sistemi Di Allarme",nl:"Alarm Systems",pl:"Systemy Alarmowe",pt:"Sistemas De Alarme",es:"Sistemas De Alarma","zh-cn":"报警系统"},icon:"Alarm Systems.svg"},{_id:"battery_status",name:{en:"Battery Status",ru:"Заряд батареи",de:"Batteriestatus",fr:"État De La Batterie",it:"Stato Della Batteria",nl:"Batterij Status",pl:"Stan Baterii",pt:"Estado Da Bateria",es:"Estado De La Batería","zh-cn":"电池状态"},icon:"Battery Status.svg"},{_id:"lighting",name:{en:"Lighting",ru:"Светильник",de:"Beleuchtung",fr:"Éclairages",it:"Illuminazione",nl:"Verlichting",pl:"Oprawy Oświetleniowe",pt:"Iluminações",es:"Iluminaciones","zh-cn":"照明"},icon:"Lightings.svg"},{_id:"shading",name:{en:"Shading",ru:"Затенение",de:"Beschattungen",fr:"Ombres",it:"Ombreggiatura",nl:"Shading",pl:"Zacienienie",pt:"Shading",es:"Sombreado","zh-cn":"底纹"},icon:"Shading.svg"},{_id:"irrigation",name:{en:"Irrigation",ru:"Орошение",de:"Bewässerung",fr:"Irrigation",it:"Irrigazione",nl:"Irrigatie",pl:"Nawadnianie",pt:"Irrigação",es:"Irrigación","zh-cn":"灌溉"},icon:"Irrigation.svg"},{_id:"iron",name:{en:"Iron",ru:"Утюг",de:"Bügeleisen",fr:"Le Fer",it:"Ferro",nl:"Ijzer",pl:"Żelazo",pt:"Ferro",es:"Hierro","zh-cn":"铁"},icon:"Iron.svg"},{_id:"computer",name:{en:"Computer",ru:"Компьютер",de:"Rechner",fr:"L'Ordinateur",it:"Computer",nl:"Computer",pl:"Komputer",pt:"Computador",es:"Ordenador","zh-cn":"电脑"},icon:"Computer.svg"},{_id:"ceiling_spotlight",name:{en:"Ceiling Spotlight",ru:"Потолочный прожектор",de:"Deckenspot",fr:"Plafond Spotlight",it:"Faretti A Soffitto",nl:"Plafond Spotlight",pl:"Reflektory Sufitowe",pt:"Tecto Foco",es:"Focos De Techo","zh-cn":"天花射灯"},icon:"Ceiling Spotlights.svg"},{_id:"printer",name:{en:"Printer",de:"Drucker",ru:"Принтер",pt:"Impressora",nl:"Printer",fr:"Imprimante",it:"Stampante",es:"Impresora",pl:"Drukarka","zh-cn":"打印机"},icon:"Printer.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"window",name:{en:"Window",ru:"Окно",de:"Fenster",fr:"La Fenêtre",it:"Finestra",nl:"Venster",pl:"Okno",pt:"Janela",es:"Ventana","zh-cn":"窗户"},icon:"Window.svg"},{_id:"garage_door",name:{en:"Garage Door",ru:"Гаражные Ворота",de:"Garagentor",fr:"Portes De Garage",it:"Garage Door",nl:"Garage Door",pl:"Bramy Garażowe",pt:"Portas De Garagem",es:"Las Puertas De Garaje","zh-cn":"车库门"},icon:"Garage Doors.svg"},{_id:"hairdryer",name:{en:"Hairdryer",ru:"Фен",de:"Haartrockner",fr:"Sèche-Cheveux",it:"Asciugacapelli",nl:"Haardroger",pl:"Suszarka Do Włosów",pt:"Secador De Cabelo",es:"Secador De Pelo","zh-cn":"电吹风"},icon:"Hairdryer.svg"},{_id:"hanging_lamp",name:{en:"Hanging Lamp",ru:"Подвесной светильник",de:"Hängelampe",fr:"Lampes Suspendues",it:"Lampade A Sospensione",nl:"Opknoping Lampen",pl:"Lampy Wiszące",pt:"Lâmpadas De Suspensão",es:"Lámparas Colgantes","zh-cn":"挂灯"},icon:"Hanging Lamps.svg"},{_id:"doorstep",name:{en:"Enterance",ru:"Входная дверь",de:"Haustür",fr:"Seuil De Porte",it:"Gradino Della Porta",nl:"Drempel",pl:"Próg",pt:"Porta",es:"Peldaño","zh-cn":"门阶"},icon:"Doorstep.svg"},{_id:"hot_water",name:{en:"Hot Water",ru:"Горячая вода",de:"Heißwasser",fr:"Eau Chaude",it:"Acqua Calda",nl:"Heet Water",pl:"Gorąca Woda",pt:"Água Quente",es:"Agua Caliente","zh-cn":"热水"},icon:"Hot Water.svg"},{_id:"heating",name:{en:"Heating",ru:"Отопление",de:"Heizung",fr:"Chauffe-Eau",it:"Riscaldatore",nl:"Verwarmer",pl:"Podgrzewacz",pt:"Aquecedor",es:"Calentador","zh-cn":"加热器"},icon:"Heater.svg"},{_id:"stove",name:{en:"Stove",ru:"Печь",de:"Herd",fr:"Le Fourneau",it:"Stufa",nl:"Fornuis",pl:"Kuchenka",pt:"Forno",es:"Cocina","zh-cn":"火炉"},icon:"Stove.svg"},{_id:"louvre",name:{en:"Louvre",ru:"Жалюзи",de:"Jalousie",fr:"Persienne",it:"Persiana Di Ventilazione",nl:"Louvre",pl:"Żaluzja",pt:"Trapeira",es:"Lumbrera","zh-cn":"卢浮宫"},icon:"Louvre.svg"},{_id:"coffee_maker",name:{en:"Coffee Maker",ru:"Кофеварка",de:"Kaffemaschine",fr:"Cafetière",it:"Macchine Da Caffè",nl:"Koffie Maker",pl:"Ekspresy Do Kawy",pt:"Cafeteira",es:"Cafetera","zh-cn":"咖啡壶"},icon:"Coffee Makers.svg"},{_id:"cold_water",name:{en:"Cold Water",ru:"Холодная вода",de:"Kaltwasser",fr:"Eau Froide",it:"Acqua Fredda",nl:"Koud Water",pl:"Zimna Woda",pt:"Água Fria",es:"Agua Fría","zh-cn":"冷水"},icon:"Cold Water.svg"},{_id:"climate",name:{en:"Climate",ru:"Климат",de:"Klima",fr:"Climat",it:"Clima",nl:"Klimaat",pl:"Klimat",pt:"Clima",es:"Clima","zh-cn":"气候"},icon:"Climate.svg"},{_id:"speaker",name:{en:"Speaker",ru:"Звуковая система",de:"Lautsprecher",fr:"Orateur",it:"Altoparlante",nl:"Spreker",pl:"Głośnik",pt:"Palestrante",es:"Altavoz","zh-cn":"扬声器"},icon:"Speaker.svg"},{_id:"led_strip",name:{en:"Led Strip",ru:"Светодиодная лента",de:"LED Leiste",fr:"Led Strip",it:"Led Strip",nl:"Loden Strip",pl:"Pasek Ledowy",pt:"Led Faixa",es:"Tira Llevada","zh-cn":"灯带"},icon:"Led Strip.svg"},{_id:"light",name:{en:"Light",ru:"Свет",de:"Licht",fr:"Lumière",it:"Leggero",nl:"Licht",pl:"Lekki",pt:"Luz",es:"Luz","zh-cn":"光"},icon:"Light.svg"},{_id:"fan",name:{en:"Fan",ru:"Вентилятор",de:"Lüfter",fr:"Ventilateur",it:"Fan",nl:"Ventilator",pl:"Wentylator",pt:"Ventilador",es:"Ventilador","zh-cn":"扇子"},icon:"Fan.svg"},{_id:"humidity",name:{en:"Humidity",ru:"Влажность",de:"Luftfeuchtigkeit",fr:"Humidité",it:"Umidità",nl:"Vochtigheid",pl:"Wilgotność",pt:"Umidade",es:"Humedad","zh-cn":"湿度"},icon:"Humidity.svg"},{_id:"ventilation",name:{en:"Ventilation",ru:"Вентиляция",de:"Lüftung",fr:"Ventilation",it:"Ventilazione",nl:"Ventilatie",pl:"Wentylacja",pt:"Ventilação",es:"Ventilación","zh-cn":"通风"},icon:"Ventilation.svg"},{_id:"chandelier",name:{en:"Chandelier",ru:"Люстра",de:"Kronleuchter",fr:"Lustre",it:"Lampadario",nl:"Kroonluchter",pl:"Żyrandol",pt:"Lustre",es:"Candelabro","zh-cn":"枝形吊灯"},icon:"Chandelier.svg"},{_id:"awning",name:{en:"Awning",ru:"Маркиза",de:"Markise",fr:"Auvents",it:"Tende",nl:"Luifels",pl:"Okrycia",pt:"Toldos",es:"Toldos","zh-cn":"遮阳篷"},icon:"Awnings.svg"},{_id:"music",name:{en:"Music",ru:"Музыка",de:"Musik",fr:"Musique",it:"Musica",nl:"Muziek",pl:"Muzyka",pt:"Música",es:"Música","zh-cn":"音乐"},icon:"Music.svg"},{_id:"people",name:{en:"People",ru:"Люди",de:"Personen",fr:"Gens",it:"Persone",nl:"Mensen",pl:"Ludzie",pt:"Pessoas",es:"Personas","zh-cn":"人们"},icon:"People.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"pump",name:{en:"Pump",ru:"Насос",de:"Pumpe",fr:"Pompe",it:"Pompa",nl:"Pomp",pl:"Pompa",pt:"Bombear",es:"Bomba","zh-cn":"泵"},icon:"Pump.svg"},{_id:"outdoor_blinds",name:{en:"Outdoor Blinds",ru:"Внещгте жалюзи",de:"Raffstore",fr:"Volets",it:"Tende Da Esterni",nl:"Outdoor Blinds",pl:"Rolety Zewnętrzne",pt:"Estores Exteriores",es:"Persianas Exteriores","zh-cn":"室外百叶窗"},icon:"Outdoor Blinds.svg"},{_id:"mowing_machine",name:{en:"Mowing Machine",ru:"Газонокосилка",de:"Rasenmäher",fr:"Machine De Fauchage",it:"Macchina Di Falciatura",nl:"Maaimachine",pl:"Kosiarka",pt:"Roçada Máquina",es:"Segadora","zh-cn":"割草机"},icon:"Mowing Machine.svg"},{_id:"receiver",name:{en:"Receiver",ru:"Приставка",de:"Receiver",fr:"Destinataire",it:"Ricevitore",nl:"Ontvanger",pl:"Odbiorca",pt:"Recebedor",es:"Receptor","zh-cn":"接收者"},icon:"Receiver.svg"},{_id:"shutters",name:{en:"Shutters",ru:"Ставни",de:"Rollladen",fr:"Volets",it:"Persiane",nl:"Shutters",pl:"Żaluzje",pt:"Persianas",es:"Persianas","zh-cn":"百叶窗"},icon:"Shutters.svg"},{_id:"smoke_detector",name:{en:"Smoke detector",de:"Rauchmelder",ru:"Детектор дыма",pt:"Detector de fumaça",nl:"Rookdetector",fr:"Détecteur de fumée",it:"Rilevatore di fumo",es:"Detector de humo",pl:"Wykrywacz dymu","zh-cn":"烟雾探测器"},icon:"SmokeDetector.svg"},{_id:"lock",name:{en:"Lock",ru:"Замок",de:"Schloß",fr:"Fermer À Clé",it:"Serratura",nl:"Slot",pl:"Zamek",pt:"Trancar",es:"Cerrar Con Llave","zh-cn":"锁"},icon:"Lock.svg"},{_id:"security",name:{en:"Security",ru:"Безопасность",de:"Sicherheit",fr:"Sécurité",it:"Sicurezza",nl:"Veiligheid",pl:"Bezpieczeństwo",pt:"Segurança",es:"Seguridad","zh-cn":"安全"},icon:"Security.svg"},{_id:"dishwasher",name:{en:"Dishwasher",ru:"Посудомоечная машина",de:"Spülmaschine",fr:"Lave-Vaisselles",it:"Lavastoviglie",nl:"Vaatwassers",pl:"Zmywarki",pt:"Máquinas De Lavar Louça",es:"Lavaplatos","zh-cn":"洗碗机"},icon:"Dishwashers.svg"},{_id:"vacuum_cleaner",name:{en:"Vacuum Cleaner",ru:"Пылесос",de:"Staubsauger",fr:"Aspirateur",it:"Aspirapolvere",nl:"Stofzuiger",pl:"Odkurzacz",pt:"Aspirador De Pó",es:"Aspiradora","zh-cn":"吸尘器"},icon:"Vacuum Cleaner.svg"},{_id:"socket",name:{en:"Socket",ru:"Розетка",de:"Steckdose",fr:"Prise",it:"Socket",nl:"Socket",pl:"Gniazdka",pt:"Tomada",es:"Zócalo","zh-cn":"套接字"},icon:"Sockets.svg"},{_id:"floor_lamp",name:{en:"Floor Lamp",ru:"Торшер",de:"Stehlampe",fr:"Lampes Pour Plancher",it:"Lampade A Stelo",nl:"Vloerlampen",pl:"Lampy Podłogowe",pt:"Lâmpadas Chão",es:"Lámparas De Pie","zh-cn":"落地灯"},icon:"Floor Lamps.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"temperature_sensor",name:{en:"Temperature Sensor",ru:"Температурный датчик",de:"Temperatur-Sensor",fr:"Capteur De Température",it:"Sensori Di Temperatura",nl:"Temperatuursensor",pl:"Czujniki Temperatury",pt:"Sensores De Temperatura",es:"Sensores De Temperatura","zh-cn":"温度传感器"},icon:"Temperature Sensors.svg"},{_id:"table_lamp",name:{en:"Table Lamp",ru:"Настольная лампа",de:"Tischlampe",fr:"Lampe De Chevet",it:"Lampade Da Tavolo",nl:"Tafellampen",pl:"Lampy Stołowe",pt:"Lâmpadas De Mesa",es:"Lámparas De Mesa","zh-cn":"台灯"},icon:"Table Lamps.svg"},{_id:"gate",name:{en:"Gate",ru:"Ворота",de:"Tor",fr:"Porte",it:"Gate",nl:"Gate",pl:"Bramy",pt:"Portões",es:"Puertas","zh-cn":"盖茨"},icon:"Gates.svg"},{_id:"dryer",name:{en:"Dryer",ru:"Сушилка",de:"Trockner",fr:"Séchoir",it:"Asciugatrice",nl:"Droger",pl:"Suszarka",pt:"Secador",es:"Secadora","zh-cn":"烘干机"},icon:"Dryer.svg"},{_id:"door",name:{en:"Door",ru:"Дверь",de:"Tür",fr:"Des Portes",it:"Porte",nl:"Deuren",pl:"Drzwi",pt:"Portas",es:"Puertas","zh-cn":"门"},icon:"Doors.svg"},{_id:"tv",name:{en:"Tv",ru:"Телевизор",de:"TV",fr:"La Télé",it:"Tv",nl:"Tv",pl:"Telewizja",pt:"Televisão",es:"Televisor","zh-cn":"电视"},icon:"Tv.svg"},{_id:"consumption",name:{en:"Consumption",ru:"Потребление",de:"Verbrauch",fr:"Consommation",it:"Consumo",nl:"Consumptie",pl:"Konsumpcja",pt:"Consumo",es:"Consumo","zh-cn":"消费"},icon:"Consumption.svg"},{_id:"amplifier",name:{en:"Amplifier",ru:"Усилитель звука",de:"Verstärker",fr:"Amplificateur",it:"Amplificatore",nl:"Versterker",pl:"Wzmacniacz",pt:"Amplificador",es:"Amplificador","zh-cn":"放大器"},icon:"Amplifier.svg"},{_id:"curtains",name:{en:"Curtains",ru:"Шторы",de:"Vorhänge",fr:"Des Rideaux",it:"Le Tende",nl:"Gordijnen",pl:"Zasłony",pt:"Cortinas",es:"Cortinas","zh-cn":"窗帘"},icon:"Curtains.svg"},{_id:"sconce",name:{en:"Sconce",ru:"Настенный светильник",de:"Wandlampe",fr:"Sconce",it:"Sconce",nl:"Sconce",pl:"Kinkiety",pt:"Arandelas",es:"Los Apliques","zh-cn":"壁灯"},icon:"Sconces.svg"},{_id:"washing_machine",name:{en:"Washing Machine",ru:"Стиральная машина",de:"Waschmaschine",fr:"Machines À Laver",it:"Lavatrici",nl:"Wasmachines",pl:"Pralki",pt:"Máquinas De Lavar Roupas",es:"Lavadoras","zh-cn":"洗衣机"},icon:"Washing Machines.svg"},{_id:"water",name:{en:"Water",ru:"Вода",de:"Wasser",fr:"L'Eau",it:"Acqua",nl:"Water",pl:"Woda",pt:"Água",es:"Agua","zh-cn":"水"},icon:"Water.svg"},{_id:"water_heater",name:{en:"Water Heater",ru:"Нагреватель воды",de:"Wasserkocher",fr:"Chauffe-Eau",it:"Scaldabagno",nl:"Waterkoker",pl:"Podgrzewacz Wody",pt:"Aquecedor De Água",es:"Calentador De Agua","zh-cn":"热水器"},icon:"Water Heater.svg"},{_id:"water_consumption",name:{en:"Water Consumption",ru:"Потребление воды",de:"Wasserverbrauch",fr:"Consommation D'Eau",it:"Consumo D'Acqua",nl:"Waterverbruik",pl:"Konsumpcja Wody",pt:"Consumo De Água",es:"Consumo De Agua","zh-cn":"耗水量"},icon:"Water Consumption.svg"},{_id:"weather",name:{en:"Weather",ru:"Погода",de:"Wetter",fr:"La Météo",it:"Tempo Metereologico",nl:"Weer",pl:"Pogoda",pt:"Clima",es:"Tiempo","zh-cn":"天气"},icon:"Weather.svg"}],Hxe=[{_id:"storeroom",name:{en:"Storeroom",ru:"Кладовая",de:"Abstellraum",fr:"Débarras",it:"Dispensa",nl:"Bergplaats",pl:"Magazyn",pt:"Despensa",es:"Trastero","zh-cn":"库房"},icon:"Storeroom.svg"},{_id:"second_floor",name:{en:"Second floor",ru:"Второй этаж",de:"Erster OG",pt:"Primeiro andar",nl:"Eerste verdieping",fr:"Premier étage",it:"Primo piano",es:"Primer piso",pl:"Pierwsze piętro","zh-cn":"第一层"},icon:"Second Floor.svg"},{_id:"dressing_room",name:{en:"Dressing Room",ru:"Гардеробная",de:"Ankleide",fr:"Vestiaire",it:"Camerino",nl:"Kleedkamer",pl:"Przebieralnia",pt:"Provador",es:"Vestidor","zh-cn":"更衣室"},icon:"Dressing Room.svg"},{_id:"workspace",name:{en:"Workspace",ru:"Рабочая Среда",de:"Arbeitszimmer",fr:"Espace De Travail",it:"Area Di Lavoro",nl:"Workspace",pl:"Workspace",pt:"Área De Trabalho",es:"Espacio De Trabajo","zh-cn":"工作区"},icon:"Workspace.svg"},{_id:"driveway",name:{en:"Driveway",ru:"Дорога",de:"Auffahrt",fr:"Allée",it:"Viale",nl:"Pad",pl:"Podjazd",pt:"Entrada Da Garagem",es:"Entrada De Coches","zh-cn":"车道"},icon:"Driveway.svg"},{_id:"outdoors",name:{en:"Outdoors",ru:"На Улице",de:"Außenbereich",fr:"En Plein Air",it:"All'Aperto",nl:"Buitenshuis",pl:"Na Dworze",pt:"Ao Ar Livre",es:"Al Aire Libre","zh-cn":"户外"},icon:"Outdoors.svg"},{_id:"bathroom",name:{en:"Bathroom",ru:"Ванная Комната",de:"Badezimmer",fr:"Salle De Bains",it:"Bagno",nl:"Badkamer",pl:"Łazienka",pt:"Banheiro",es:"Baño","zh-cn":"浴室"},icon:"Bathroom.svg"},{_id:"balcony",name:{en:"Balcony",ru:"Балкон",de:"Balkon",fr:"Balcon",it:"Balcone",nl:"Balkon",pl:"Balkon",pt:"Sacada",es:"Balcón","zh-cn":"阳台"},icon:"Balcony.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"carport",name:{en:"Carport",ru:"Навес",de:"Carport",fr:"Carport",it:"Posto Auto Coperto",nl:"Carport",pl:"Wiata",pt:"Telheiro",es:"Cochera","zh-cn":"车棚"},icon:"Carport.svg"},{_id:"attic",name:{en:"Attic",ru:"Чердак",de:"Dachgeschoss",fr:"Grenier",it:"Attico",nl:"Zolder",pl:"Poddasze",pt:"Sótão",es:"Ático","zh-cn":"阁楼"},icon:"Attic.svg"},{_id:"hall",name:{en:"Hall",ru:"Зал",de:"Diele",fr:"Salle",it:"Sala",nl:"Hal",pl:"Sala",pt:"Corredor",es:"Sala","zh-cn":"大厅"},icon:"Hall.svg"},{_id:"entrance",name:{en:"Entrance",ru:"Вход",de:"Eingang",fr:"Entrée",it:"Ingresso",nl:"Ingang",pl:"Wejście",pt:"Entrada",es:"Entrada","zh-cn":"入口"},icon:"Entrance.svg"},{_id:"ground_floor",name:{en:"Ground Floor",ru:"Первый Этаж",de:"Erdgeschoss",fr:"Rez-De-Chaussée",it:"Piano Terra",nl:"Begane Grond",pl:"Parter",pt:"Térreo",es:"Planta Baja","zh-cn":"一楼"},icon:"Ground Floor.svg"},{_id:"dining_area",name:{en:"Dining Area",ru:"Столовая",de:"Essbereich",fr:"Salle À Manger",it:"Zona Pranzo",nl:"Eethoek",pl:"Jadalnia",pt:"Área De Refeições",es:"Comedor","zh-cn":"用餐区"},icon:"Dining Area.svg"},{_id:"dining_room",name:{en:"Dining Room",ru:"Столовая",de:"Esszimmer",fr:"Salle À Manger",it:"Sala Da Pranzo",nl:"Eetkamer",pl:"Jadalnia",pt:"Sala De Jantar",es:"Comedor","zh-cn":"饭厅"},icon:"Dining Room.svg"},{_id:"gym",name:{en:"Gym",ru:"Спортзал",de:"Fitnessraum",fr:"Gym",it:"Palestra",nl:"Sportschool",pl:"Siłownia",pt:"Ginásio",es:"Gimnasio","zh-cn":"健身房"},icon:"Gym.svg"},{_id:"gallery",name:{en:"Gallery",ru:"Галерея",de:"Galerie",fr:"Galerie",it:"Galleria",nl:"Galerij",pl:"Galeria",pt:"Galeria",es:"Galería","zh-cn":"画廊"},icon:"Gallery.svg"},{_id:"garage",name:{en:"Garage",ru:"Гараж",de:"Garage",fr:"Garage",it:"Box Auto",nl:"Garage",pl:"Garaż",pt:"Garagem",es:"Garaje","zh-cn":"车库"},icon:"Garage.svg"},{_id:"wardrobe",name:{en:"Wardrobe",ru:"Гардероб",de:"Garderobe",fr:"Penderie",it:"Armadio",nl:"Garderobe",pl:"Szafa",pt:"Guarda Roupa",es:"Armario","zh-cn":"衣柜"},icon:"Wardrobe.svg"},{_id:"garden",name:{en:"Garden",ru:"Сад",de:"Garten",fr:"Jardin",it:"Giardino",nl:"Tuin",pl:"Ogród",pt:"Jardim",es:"Jardín","zh-cn":"花园"},icon:"Garden.svg"},{_id:"summer_house",name:{en:"Summer House",ru:"Дача",de:"Gartenhaus",fr:"Maison D'Été",it:"Casa Estiva",nl:"Zomerhuis",pl:"Domek Letniskowy",pt:"Summer House",es:"Casa De Verano","zh-cn":"凉亭"},icon:"Summer House.svg"},{_id:"guest_bathroom",name:{en:"Guest Bathroom",ru:"Гостевая Комната",de:"Gäste-WC",fr:"Salle De Bains Invité",it:"Guest Bathroom",nl:"Gastenbadkamer",pl:"Łazienka Gościnna",pt:"Banheiro De Hóspedes",es:"Baño De Visitas","zh-cn":"客用浴室"},icon:"Guest Bathroom.svg"},{_id:"guest_room",name:{en:"Guest Room",ru:"Гостевая Комната",de:"Gästezimmer",fr:"Chambre D'Amis",it:"Stanza Degli Ospiti",nl:"Guest Room",pl:"Pokój Gościnny",pt:"Quarto De Hóspedes",es:"Habitación De Huéspedes","zh-cn":"客房"},icon:"Guest Room.svg"},{_id:"laundry_room",name:{en:"Laundry Room",ru:"Прачечная",de:"Hauswirtschaftsraum",fr:"Buanderie",it:"Lavanderia",nl:"Wasruimte",pl:"Pralnia",pt:"Lavandaria",es:"Cuarto De Lavado","zh-cn":"洗衣房"},icon:"Laundry Room.svg"},{_id:"home_theater",name:{en:"Home Theater",ru:"Домашний Театр",de:"Heimkino",fr:"Cinéma Maison",it:"Home Theater",nl:"Thuisbioscoop",pl:"Kino Domowe",pt:"Cinema Em Casa",es:"Cine En Casa","zh-cn":"家庭电影院"},icon:"Home Theater.svg"},{_id:"boiler_room",name:{en:"Boiler Room",ru:"Бойлерная",de:"Heizungsraum",fr:"Chaufferie",it:"Locale Caldaia",nl:"Boiler Room",pl:"Kotłownia",pt:"Sala Da Caldeira",es:"Sala De Calderas","zh-cn":"锅炉房"},icon:"Boiler Room.svg"},{_id:"chamber",name:{en:"Chamber",ru:"Камера",de:"Kammer",fr:"Chambre",it:"Camera",nl:"Kamer",pl:"Izba",pt:"Câmara",es:"Cámara","zh-cn":"商会"},icon:"Chamber.svg"},{_id:"basement,_cellar",name:{en:"Basement, Cellar",ru:"Подвал, Погреб",de:"Keller",fr:"Sous-Sol, Cave",it:"Taverna, Cantina",nl:"Kelder, Kelder",pl:"Piwnica, Piwnica",pt:"Porão, Adega",es:"Sótano, Bodega","zh-cn":"地下室,地窖"},icon:"Basement.svg"},{_id:"nursery",name:{en:"Nursery",ru:"Питомник",de:"Kinderzimmer",fr:"Garderie",it:"Asilo",nl:"Kinderkamer",pl:"Żłobek",pt:"Berçário",es:"Guardería","zh-cn":"苗圃"},icon:"Nursery.svg"},{_id:"corridor",name:{en:"Corridor",ru:"Коридор",de:"Korridor",fr:"Couloir",it:"Corridoio",nl:"Gang",pl:"Korytarz",pt:"Corredor",es:"Corredor","zh-cn":"走廊"},icon:"Corridor.svg"},{_id:"kitchen",name:{en:"Kitchen",ru:"Кухня",de:"Küche",fr:"Cuisine",it:"Cucina",nl:"Keuken",pl:"Kuchnia",pt:"Cozinha",es:"Cocina","zh-cn":"厨房"},icon:"Kitchen.svg"},{_id:"upstairs",name:{en:"Upstairs",ru:"Вверх По Лестнице",de:"Obergeschoss",fr:"En Haut",it:"Di Sopra",nl:"Boven",pl:"Na Górę",pt:"Andar De Cima",es:"Piso Superior","zh-cn":"楼上"},icon:"Upstairs.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"rear_wall",name:{en:"Rear Wall",ru:"Задняя Стенка",de:"Rückwand",fr:"Paroi Arrière",it:"Parete Posteriore",nl:"Achterwand",pl:"Tylna Ściana",pt:"Parede Traseira",es:"Pared Posterior","zh-cn":"后墙"},icon:"Rear Wall.svg"},{_id:"barn",name:{en:"Barn",ru:"Амбар",de:"Scheune",fr:"Grange",it:"Fienile",nl:"Schuur",pl:"Stodoła",pt:"Celeiro",es:"Granero","zh-cn":"谷仓"},icon:"Barn.svg"},{_id:"sleeping_area",name:{en:"Sleeping Area",ru:"Спальное Место",de:"Schlafbereich",fr:"Coin Montagne",it:"Area Sleeping",nl:"Sleeping Area",pl:"Powierzchnia Spania",pt:"Sleeping Area",es:"Área De Dormir","zh-cn":"睡眠区"},icon:"Sleeping Area.svg"},{_id:"bedroom",name:{en:"Bedroom",ru:"Спальная Комната",de:"Schlafzimmer",fr:"Chambre",it:"Camera Da Letto",nl:"Slaapkamer",pl:"Sypialnia",pt:"Quarto",es:"Cuarto","zh-cn":"卧室"},icon:"Bedroom.svg"},{_id:"shed",name:{en:"Shed",ru:"Сбрасывать",de:"Schuppen",fr:"Hangar",it:"Capannone",nl:"Schuur",pl:"Budka",pt:"Cabana",es:"Cobertizo","zh-cn":"棚"},icon:"Shed.svg"},{_id:"swimming_pool",name:{en:"Swimming Pool",ru:"Плавательный Бассейн",de:"Schwimmbad",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"游泳池"},icon:"Swimming Pool.svg"},{_id:"dining",name:{en:"Dining",ru:"Обеденный",de:"Speis",fr:"À Manger",it:"Cenare",nl:"Dining",pl:"Jadalnia",pt:"Jantar",es:"Comida","zh-cn":"用餐"},icon:"Dining.svg"},{_id:"playroom",name:{en:"Playroom",ru:"Игровая Комната",de:"Spielzimmer",fr:"Salle De Jeux",it:"Stanza Dei Giochi",nl:"Speelkamer",pl:"Pokój Zabaw",pt:"Sala De Jogos",es:"Cuarto De Jugar","zh-cn":"游戏室"},icon:"Playroom.svg"},{_id:"stairway",name:{en:"Stairway",ru:"Лестница",de:"Treppe",fr:"Escalier",it:"Scala",nl:"Trap",pl:"Klatka Schodowa",pt:"Escada",es:"Escalera","zh-cn":"楼梯"},icon:"Stairway.svg"},{_id:"equipment_room",name:{en:"Equipment Room",ru:"Оборудование Номера",de:"Technikraum",fr:"Salle D'Équipement",it:"Stanza Degli Attrezzi",nl:"Technische Ruimte",pl:"Wyposażenie Pokoi",pt:"Sala De Equipamentos",es:"Cuarto De Equipos","zh-cn":"机房"},icon:"Equipment Room.svg"},{_id:"terrace",name:{en:"Terrace",ru:"Терраса",de:"Terrasse",fr:"Terrasse",it:"Terrazza",nl:"Terras",pl:"Taras",pt:"Terraço",es:"Terraza","zh-cn":"阳台"},icon:"Terrace.svg"},{_id:"toilet",name:{en:"Toilet",ru:"Туалет",de:"Toilette",fr:"Toilette",it:"Gabinetto",nl:"Toilet",pl:"Toaleta",pt:"Banheiro",es:"Inodoro","zh-cn":"洗手间"},icon:"Toilet.svg"},{_id:"stairwell",name:{en:"Stairwell",ru:"Лестничная клетка",de:"Treppenhaus",fr:"Cage D'Escalier",it:"Tromba Delle Scale",nl:"Trappenhuis",pl:"Klatka Schodowa",pt:"Caixa De Escada",es:"Hueco De Escalera","zh-cn":"楼梯间"},icon:"Stairwell.svg"},{_id:"locker_room",name:{en:"Locker Room",ru:"Камера Хранения",de:"Umkleideraum",fr:"Vestiaire",it:"Spogliatoio",nl:"Kleedkamer",pl:"Szatnia",pt:"Vestiário",es:"Vestuario","zh-cn":"更衣室"},icon:"Locker Room.svg"},{_id:"basement",name:{en:"Basement",ru:"Подвал",de:"Untergeschoss",fr:"Sous-Sol",it:"Seminterrato",nl:"Kelder",pl:"Piwnica",pt:"Porão",es:"Sótano","zh-cn":"地下室"},icon:"Basement.svg"},{_id:"front_yard",name:{en:"Front Yard",ru:"Передний Двор",de:"Vorgarten",fr:"Front Yard",it:"Cortile",nl:"Voortuin",pl:"Podwórko",pt:"Jardim Da Frente",es:"Patio Delantero","zh-cn":"前院"},icon:"Front Yard.svg"},{_id:"anteroom",name:{en:"Anteroom",ru:"Передняя",de:"Vorraum",fr:"Antichambre",it:"Anticamera",nl:"Voorkamer",pl:"Przedpokój",pt:"Ante-Sala",es:"Antesala","zh-cn":"接待室"},icon:"Anteroom.svg"},{_id:"washroom",name:{en:"Washroom",ru:"Уборная",de:"Waschraum",fr:"Toilettes",it:"Bagno",nl:"Waskamer",pl:"Umywalnia",pt:"Banheiro",es:"Baño","zh-cn":"卫生间"},icon:"Washroom.svg"},{_id:"wc",name:{en:"Wc",ru:"Туалет",de:"WC",fr:"Toilettes",it:"Bagno",nl:"Wc",pl:"Toaleta",pt:"Banheiro",es:"Wc","zh-cn":"厕所"},icon:"Wc.svg"},{_id:"workshop",name:{en:"Workshop",ru:"Мастерская",de:"Werkstatt",fr:"Atelier",it:"Laboratorio",nl:"Werkplaats",pl:"Warsztat",pt:"Oficina",es:"Taller","zh-cn":"作坊"},icon:"Workshop.svg"},{_id:"windscreen",name:{en:"Windscreen",ru:"Ветровое Стекло",de:"Windfang",fr:"Pare-Brise",it:"Parabrezza",nl:"Voorruit",pl:"Szyba Przednia",pt:"Pára-Brisas",es:"Parabrisas","zh-cn":"风档"},icon:"Windscreen.svg"},{_id:"living_area",name:{en:"Living Area",ru:"Жилая Площадь",de:"Wohnbereich",fr:"Salon",it:"Zona Giorno",nl:"Living Area",pl:"Powierzchnia Mieszkalna",pt:"Sala-De-Estar",es:"Sala De Estar","zh-cn":"生活区域"},icon:"Living Area.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"}];class Vxe extends f.Component{constructor(e){super(e),this.state={opened:!1,names:[],filter:"",icons:null,loading:!1,isAnyName:!1}}loadAllIcons(){this.state.loading||this.state.icons||this.setState({loading:!0},()=>{const e=[],t=[];if(this.props.icons){const i=this.props.icons.map((r,o)=>{let n;if(typeof r=="object"){if(n=r.icon||r.src||r.href||"",t[o]=typeof r.name=="object"?r.name[this.props.lang]||r.name.en||r._id||"":r.name||"",!t[o]){const a=n.split(".");a.pop(),t[o]=a[a.length-1]}}else n=r;return n?n.startsWith("data:")?(e[o]=n,Promise.resolve()):O.getSvg(n).then(a=>e[o]=a):Promise.resolve()});Promise.all(i).catch(r=>console.error(r)).then(()=>this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)}))}else{let i=this.props.onlyRooms||!this.props.onlyRooms&&!this.props.onlyDevices?Hxe:null;if(i&&(i.forEach(r=>{r.name&&typeof r.name=="object"&&(r.name=r.name[this.props.lang]||r.name.en||r._id),r.name=r.name||r._id}),i=i.filter((r,o)=>!(i!=null&&i.find((n,a)=>o!==a&&n.icon===r.icon&&n.name===r.name))),i.forEach((r,o)=>{t[o]=r.name,e[o]=`data:image/svg+xml;base64,${Fxe[r.icon.replace(/\.svg$/,"")]}`})),i=this.props.onlyDevices||!this.props.onlyRooms&&!this.props.onlyDevices?Gxe:null,i){const r=e.length;i&&i.forEach(o=>{o.name&&typeof o.name=="object"&&(o.name=o.name[this.props.lang]||o.name.en||o._id),o.name=o.name||o._id}),i=i.filter((o,n)=>!(i!=null&&i.find((a,c)=>n!==c&&a.icon===o.icon&&a.name===o.name))),i.forEach((o,n)=>{t[n+r]=o.name,e[n+r]=`data:image/svg+xml;base64,${axe[o.icon.replace(/\.svg$/,"")]}`})}this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)})}})}render(){return this.state.loading?M.createElement(j.CircularProgress,null):M.createElement(M.Fragment,null,M.createElement(j.Button,{color:"grey",variant:"outlined",title:this.props.t("ra_Select predefined icon"),onClick:()=>this.setState({opened:!0},()=>this.loadAllIcons()),style:{minWidth:40,marginRight:8}},"..."),this.state.opened?M.createElement(j.Dialog,{onClose:()=>this.setState({opened:!1}),open:!0},M.createElement(j.DialogTitle,null,this.props.t("ra_Select predefined icon"),this.state.isAnyName?M.createElement(j.TextField,{variant:"standard",margin:"dense",style:{marginLeft:20},value:this.state.filter,onChange:e=>this.setState({filter:e.target.value.toLowerCase()}),placeholder:this.props.t("ra_Filter"),slotProps:{input:{endAdornment:this.state.filter?M.createElement(j.IconButton,{tabIndex:-1,size:"small",onClick:()=>this.setState({filter:""})},M.createElement(LN,null)):void 0}}}):null),M.createElement(j.DialogContent,null,M.createElement("div",{style:{width:"100%",textAlign:"center"}},this.state.icons&&this.state.icons.map((e,t)=>!this.state.filter||this.state.names[t]&&this.state.names[t].toLowerCase().includes(this.state.filter)?M.createElement(j.Tooltip,{title:this.state.names[t]||"",key:t,slotProps:{popper:{sx:{pointerEvents:"none"}}}},M.createElement(j.IconButton,{onClick:()=>this.setState({opened:!1},()=>{const i=this.props.onSelect||this.props.onChange;i&&i(e)}),size:"large"},M.createElement(me,{src:e,alt:t.toString(),style:{width:32,height:32,borderRadius:5}}))):null))),M.createElement(j.DialogActions,null,M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({opened:!1}),startIcon:M.createElement(Ne,null)},this.props.t("ra_Close")))):null)}}const Ot={formContainer:{display:"flex",justifyContent:"left",alignItems:"center"},formControl:{display:"flex",padding:24,flexGrow:1e3},divContainer:{width:64,height:32,whiteSpace:"nowrap",lineHeight:"32px",marginRight:8},dragField:{textAlign:"center",display:"table",minHeight:90,width:"calc(100% - 60px)",border:"2px dashed #777",borderRadius:10,padding:4},formIcon:{margin:10,opacity:.6},text:{display:"table-cell",verticalAlign:"middle"}};function V3e(s){var a,c,l,N;const e=s.icon,t=s.onChange,i=f.useCallback(u=>{const L=new FileReader;L.addEventListener("load",()=>t(L.result),!1),u[0]&&L.readAsDataURL(u[0])},[t]),{getRootProps:r,getInputProps:o,isDragActive:n}=lL({onDrop:i});return M.createElement("div",{style:Ot.formContainer},e?M.createElement(e,{style:Ot.formIcon}):null,M.createElement(j.FormControl,{variant:"standard",style:{...Ot.formControl,padding:3}},M.createElement(j.InputLabel,{shrink:!0,sx:(a=s.customStyles)!=null&&a.label?{"&.MuiInputLabel-root":s.customStyles.label}:void 0,classes:{root:(c=s.customClasses)==null?void 0:c.label}},s.label),M.createElement("div",{style:Ot.formContainer},s.value?M.createElement("div",{style:Ot.divContainer},M.createElement(me,{style:{...s.previewStyle,...((l=s.customStyles)==null?void 0:l.icon)||void 0},src:s.value,className:O.clsx(s.previewClassName,(N=s.customClasses)==null?void 0:N.icon)}),!s.disabled&&M.createElement(j.IconButton,{style:{verticalAlign:"top"},title:h.t("ra_Clear icon"),size:"small",onClick:()=>s.onChange("")},M.createElement(LN,null))):!s.disabled&&M.createElement(Vxe,{icons:s.icons,onlyRooms:s.onlyRooms,onlyDevices:s.onlyDevices,onSelect:u=>s.onChange(u),t:h.t,lang:h.getLanguage()}),!s.disabled&&M.createElement("div",{...r(),style:{...Ot.dragField,...n?{backgroundColor:"rgba(0, 255, 0, 0.1)"}:{cursor:"pointer"}}},M.createElement("input",{...o()}),n?M.createElement("span",{style:Ot.text},h.t("ra_Drop the files here...")):M.createElement("span",{style:Ot.text},h.t("ra_Drag 'n' drop some files here, or click to select files"))))))}function Zxe(s){const e=document.createElement("div");e.innerHTML=s;const t=e.firstElementChild;return t!=null&&t.remove?t.remove():t&&e.removeChild(t),e.remove(),t}function Xxe(s){const e={};if(!s)return e;for(let t,i=0;io[1].toUpperCase()),e[t]=s[i].value}return e}class xr extends f.Component{svg;static REMOTE_SERVER=window.location.hostname.includes("iobroker.in");static REMOTE_PREFIX=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);constructor(e){var t;super(e),this.state={svg:!!((t=this.props.src)!=null&&t.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(e,t){var o;const i={};let r=!1;return e&&t&&e.src!==t.src&&(i.src=e.src,i.svg=(o=e.src)==null?void 0:o.startsWith("data:"),i.created=!1,r=!0),e&&t&&e.color!==t.color&&(i.color=e.color,i.created=!1,r=!0),e&&t&&e.showError!==t.showError&&(i.showError=e.showError,r=!0),r?i:null}getSvgFromData(e){const t="data:image/svg+xml;base64,";if(!e.startsWith(t))return null;e=e.substring(t.length);try{e=atob(e);const i=Zxe(e),r=i.innerHTML,o=Xxe(i.attributes);return i.remove(),M.createElement(j.Box,{component:"svg",sx:this.props.sx,className:this.props.className,style:this.state.color?{color:this.state.color}:void 0,...o,dangerouslySetInnerHTML:{__html:r}})}catch{}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 M.createElement(dM,{className:this.props.className});if(xr.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let e=(this.props.imagePrefix||"")+this.state.src;return e.startsWith("./")?e=xr.REMOTE_PREFIX+e.substring(2):e.startsWith("/")||(e=xr.REMOTE_PREFIX+e),M.createElement(j.Box,{component:"img",sx:this.props.sx,className:this.props.className,src:`https://remote-files.iobroker.in${e}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return M.createElement(j.Box,{component:"img",sx:this.props.sx,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}}function Kxe(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z"},child:[]}]})(s)}function qxe(s){return Z({attr:{t:"1569683928793",viewBox:"0 0 1024 1024",version:"1.1"},child:[{tag:"path",attr:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]}]})(s)}function e_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"},child:[]}]})(s)}function t_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z"},child:[]}]})(s)}function s_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z"},child:[]}]})(s)}function i_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z"},child:[]}]})(s)}function r_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"},child:[]}]})(s)}function o_e(s){return Z({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"},child:[]}]})(s)}function n_e(s){return Z({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M24 5.25v13a.75.75 0 0 1-1.136.643L16.5 15.075v2.175A1.75 1.75 0 0 1 14.75 19h-13A1.75 1.75 0 0 1 0 17.25v-11C0 5.284.784 4.5 1.75 4.5h13c.966 0 1.75.784 1.75 1.75v2.175l6.364-3.818A.75.75 0 0 1 24 5.25Zm-9 1a.25.25 0 0 0-.25-.25h-13a.25.25 0 0 0-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 0 0 .25-.25v-11Zm1.5 7.075 6 3.6V6.575l-6 3.6Z"},child:[]}]})(s)}function Ol(s){return Z({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M3.89,17.6c0-0.99,0.31-1.88,0.93-2.65s1.41-1.27,2.38-1.49c0.26-1.17,0.85-2.14,1.78-2.88c0.93-0.75,2-1.12,3.22-1.12 c1.18,0,2.24,0.36,3.16,1.09c0.93,0.73,1.53,1.66,1.8,2.8h0.27c1.18,0,2.18,0.41,3.01,1.24s1.25,1.83,1.25,3 c0,1.18-0.42,2.18-1.25,3.01s-1.83,1.25-3.01,1.25H8.16c-0.58,0-1.13-0.11-1.65-0.34S5.52,21,5.14,20.62 c-0.38-0.38-0.68-0.84-0.91-1.36S3.89,18.17,3.89,17.6z M5.34,17.6c0,0.76,0.28,1.42,0.82,1.96s1.21,0.82,1.99,0.82h9.28 @@ -442,7 +442,7 @@ body { c-8.276,0-16.5,5.517-16.5,16.552v84.912c0,4.989-3.811,8.074-7.918,8.074c-2.495,0-4.899-1.138-6.552-3.678l-7.937-12.281 c-3.508-5.788-8.576-8.188-13.625-8.189c-11.412-0.001-22.574,12.258-14.644,25.344l62.491,119.692 c0.408,0.782,1.225,1.373,2.108,1.373h87.757c1.253,0,2.289-1.075,2.365-2.325l2.196-35.816c0.025-0.413,0.162-0.84,0.39-1.186 - C231.591,212.679,237.828,191.414,234.21,169.856z`})))}function Xo(s){return M.createElement("svg",{viewBox:"1 -10 511.99999 511",...s},M.createElement("g",{fill:"currentColor"},M.createElement("path",{d:"M 405.5 150 C 405.5 232.566406 338.566406 299.5 256 299.5 C 173.433594 299.5 106.5 232.566406 106.5 150 C 106.5 67.433594 173.433594 0.5 256 0.5 C 338.566406 0.5 405.5 67.433594 405.5 150 Z M 405.5 150 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(25.882353%,75.294118%,88.627451%)",fillOpacity:1}}),M.createElement("path",{d:"M 512 342.921875 C 512 425.488281 445.066406 492.421875 362.5 492.421875 C 279.933594 492.421875 213 425.488281 213 342.921875 C 213 260.355469 279.933594 193.421875 362.5 193.421875 C 445.066406 193.421875 512 260.355469 512 342.921875 Z M 512 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,81.568627%,38.039216%)",fillOpacity:1}}),M.createElement("path",{d:"M 220.746094 295.308594 C 232.050781 298.039062 243.855469 299.5 256 299.5 C 321.917969 299.5 377.871094 256.835938 397.753906 197.613281 C 386.449219 194.878906 374.644531 193.421875 362.5 193.421875 C 296.582031 193.421875 240.628906 236.085938 220.746094 295.308594 Z M 220.746094 295.308594 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(28.627451%,74.117647%,56.470588%)",fillOpacity:1}}),M.createElement("path",{d:"M 299 342.921875 C 299 425.488281 232.066406 492.421875 149.5 492.421875 C 66.933594 492.421875 0 425.488281 0 342.921875 C 0 260.355469 66.933594 193.421875 149.5 193.421875 C 232.066406 193.421875 299 260.355469 299 342.921875 Z M 299 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(98.039216%,43.921569%,69.803922%)",fillOpacity:1}}),M.createElement("path",{d:"M 114.246094 197.613281 C 134.128906 256.835938 190.082031 299.5 256 299.5 C 268.144531 299.5 279.949219 298.039062 291.253906 295.308594 C 271.371094 236.085938 215.417969 193.421875 149.5 193.421875 C 137.355469 193.421875 125.550781 194.878906 114.246094 197.613281 Z M 114.246094 197.613281 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(68.627451%,48.235294%,77.647059%)",fillOpacity:1}}),M.createElement("path",{d:"M 213 342.921875 C 213 383.800781 229.414062 420.839844 256 447.828125 C 282.585938 420.839844 299 383.800781 299 342.921875 C 299 302.042969 282.585938 265.003906 256 238.015625 C 229.414062 265.003906 213 302.042969 213 342.921875 Z M 213 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(93.72549%,38.039216%,13.333333%)",fillOpacity:1}}),M.createElement("path",{d:"M 291.253906 295.320312 C 279.949219 298.046875 268.140625 299.5 256 299.5 C 243.859375 299.5 232.050781 298.046875 220.746094 295.320312 C 228.058594 273.542969 240.242188 254.015625 256 238.015625 C 271.757812 254.015625 283.941406 273.542969 291.253906 295.320312 Z M 291.253906 295.320312 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,100%,100%)",fillOpacity:1}})))}function w_e(s){return M.createElement("svg",{width:32,height:32,viewBox:"0 0 365.445 365.445",...s},M.createElement("g",{fill:"currentColor"},M.createElement("path",{d:"M146.7 162.775h-26.8a6.655 6.655 0 0 0-6.647 6.647v26.602a6.653 6.653 0 0 0 6.647 6.646h26.8a6.654 6.654 0 0 0 6.647-6.646v-26.602a6.655 6.655 0 0 0-6.647-6.647zM245.547 162.775h-26.801a6.653 6.653 0 0 0-6.646 6.647v26.602a6.652 6.652 0 0 0 6.646 6.646h26.801a6.654 6.654 0 0 0 6.646-6.646v-26.602a6.655 6.655 0 0 0-6.646-6.647z"})),M.createElement("path",{d:"M345.445 1.204H20c-11.046 0-20 8.954-20 20v323.037c0 11.045 8.954 20 20 20h325.445c11.045 0 20-8.955 20-20V21.204c0-11.045-8.953-20-20-20zM182.723 287.66c-57.955 0-104.937-46.981-104.937-104.937 0-57.957 46.982-104.938 104.937-104.938S287.66 124.767 287.66 182.723 240.678 287.66 182.723 287.66z",fill:"currentColor"}))}function C_e(s){return M.createElement("svg",{width:32,height:32,viewBox:"0 0 45.659 45.659",...s},M.createElement("path",{fill:"currentColor",d:"M30.619 27.309V7.781C30.619 3.49 27.124 0 22.833 0c-4.29 0-7.785 3.491-7.785 7.78v19.528a10.722 10.722 0 0 0-3.05 7.522c0 5.972 4.857 10.828 10.829 10.828 5.97 0 10.834-4.856 10.834-10.828 0-2.918-1.141-5.572-3.042-7.521zM22.825 42.66c-4.316 0-7.824-3.512-7.824-7.828 0-2.527 1.174-4.779 3.077-6.211V16.237h3.372c.552 0 1-.47 1-1.022 0-.553-.448-1.021-1-1.021h-3.372v-2.466h3.372c.552 0 1-.434 1-.986a.989.989 0 0 0-1-.986h-3.372V7.78c0-2.636 2.119-4.78 4.754-4.78 2.637 0 4.756 2.144 4.756 4.781v20.871c1.903 1.434 3.047 3.671 3.047 6.18 0 4.316-3.494 7.828-7.81 7.828z"}),M.createElement("path",{fill:"currentColor",d:"M25.334 30.463V18.632h-5.002v11.831a4.973 4.973 0 0 0-2.537 4.369 5.038 5.038 0 0 0 5.038 5.046 5.034 5.034 0 0 0 5.034-5.046c0-1.866-.982-3.495-2.533-4.369z"}))}function I_e(s){return M.createElement("svg",{viewBox:"0 0 297 297",...s},M.createElement("g",null,M.createElement("path",{fill:"currentColor",d:"m243.404,138.042c-5.775,0-10.458,4.683-10.458,10.458 0,46.564-37.883,84.446-84.446,84.446s-84.446-37.882-84.446-84.446 37.883-84.446 84.446-84.446c5.775,0 10.458-4.683 10.458-10.458s-4.683-10.457-10.458-10.457c-58.097,0-105.361,47.265-105.361,105.361s47.264,105.361 105.361,105.361 105.361-47.264 105.361-105.361c0-5.775-4.681-10.458-10.457-10.458z"}),M.createElement("path",{fill:"currentColor",d:"m142.963,121.344l-20.272-30.41c-3.203-4.807-9.695-6.104-14.502-2.9-4.805,3.202-6.104,9.695-2.9,14.502l20.279,30.422c-3.015,4.436-4.78,9.787-4.78,15.543 0,15.281 12.432,27.713 27.713,27.713 15.281,0 27.713-12.432 27.713-27.713 0-15.281-12.432-27.713-27.713-27.713-1.897-0.001-3.749,0.191-5.538,0.556zm12.335,27.156c0,3.748-3.05,6.798-6.798,6.798s-6.798-3.05-6.798-6.798 3.05-6.798 6.798-6.798 6.798,3.05 6.798,6.798z"}),M.createElement("path",{fill:"currentColor",d:"M148.5,0C66.617,0,0,66.617,0,148.5S66.617,297,148.5,297S297,230.383,297,148.5S230.383,0,148.5,0z M158.958,275.653 v-6.366c0-5.775-4.683-10.458-10.458-10.458c-5.775,0-10.458,4.683-10.458,10.458v6.366 c-62.027-5.056-111.64-54.668-116.695-116.695h6.366c5.775,0,10.458-4.683,10.458-10.458s-4.683-10.458-10.458-10.458h-6.366 c5.056-62.027,54.668-111.64,116.695-116.695v6.366c0,5.775,4.683,10.458,10.458,10.458c5.775,0,10.458-4.683,10.458-10.458v-6.366 c62.027,5.056,111.64,54.668,116.695,116.695h-6.366c-5.775,0-10.458,4.683-10.458,10.458s4.683,10.458,10.458,10.458h6.366 C270.598,220.985,220.985,270.598,158.958,275.653z"})))}function p_e(s){return M.createElement("svg",{viewBox:"0 0 361 361",...s},M.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),M.createElement("path",{d:"M228.5 205.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H228.5c-2.726 0-5 2.274-5 5s2.274 5 5 5z",fill:"currentColor"}),M.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),M.createElement("path",{d:"M232.826 280.905c-.339 3.356-18.813-.782-20.919-1.06l-45.073-5.94-45.074-5.94-14.507-1.912c-1.456-.192-6.201-.055-6.412-2.147-.621-6.157 0-12.699 0-18.878v-43.5-82.076-5.13c0-2.551 5.184-1.015 6.412-.853l35.438 4.67 83.723 11.035c1.457.192 6.201.055 6.412 2.147.169 1.673 0 3.451 0 5.13v144.454c0 6.448 10 6.448 10 0V136.451v-5.13c0-7.619-6.137-10.793-12.673-11.655l-28.531-3.76-88.411-11.652-9.897-1.304c-6.555-.864-12.473 4.9-12.473 11.38v144.832c0 2.023-.071 4.04.132 6.053.717 7.111 6.606 9.563 12.759 10.374l76.827 10.125 39.896 5.259 9.697 1.278c7.063.931 12.011-4.778 12.673-11.346.648-6.415-9.358-6.352-9.999 0z",fill:"currentColor"}))}function I4(s){return M.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...s},M.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),M.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9zM265.732 265.178c.584 2.887-1.629 5.228-4.942 5.228H103.457c-3.313 0-6.474-2.341-7.058-5.228L75.24 130.633c-.584-2.887 1.628-5.228 4.942-5.228h157.333c3.313 0 6.474 2.34 7.058 5.228l21.159 134.545z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),M.createElement("path",{d:"M247.194 199.667h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5h-6.639c-2.726 0-5 2.274-5 5s2.275 5 5 5z",fill:"currentColor"}))}const A_e={"type-Device type":"Device type","type-airCondition":"Air conditioner","type-blind":"Blinds","type-blindButtons":"Blind controlled by buttons","type-button":"Button","type-buttonSensor":"Button with feedback","type-camera":"Camera","type-chart":"Chart","type-cie":"CIE color light","type-ct":"Color temperature","type-dimmer":"Dimmer","type-door":"Door","type-fireAlarm":"Fire alarm","type-floodAlarm":"Flood alarm","type-gate":"Gate","type-hue":"HUE light","type-humidity":"Humidity","type-illuminance":"Illuminance","type-image":"Image","type-info":"Information","type-instance":"Instance","type-light":"Light","type-location":"Position","type-locationOne":"Position as one state","type-lock":"Lock","type-media":"Media-player","type-motion":"Motion sensor","type-rgb":"RGB light","type-rgbSingle":"R,G,B light - single states","type-rgbwSingle":"R,G,B,W light - single states","type-slider":"Slider","type-socket":"Socket","type-temperature":"Temperature","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Vacuum cleaner","type-valve":"Valve","type-volume":"Volume","type-volumeGroup":"Volume group","type-warning":"Warning","type-weatherCurrent":"Current weather","type-weatherForecast":"Weather forecast","type-window":"Window sensor","type-windowTilt":"Window tilt sensor"},m_e={"type-Device type":"Gerätetyp","type-airCondition":"Klimaanlage","type-blind":"Jalousien","type-blindButtons":"Jalousie über Tasten gesteuert","type-button":"Taste","type-buttonSensor":"Taste mit Rückmeldung","type-camera":"Kamera","type-chart":"Diagramm","type-cie":"CIE Farblicht","type-ct":"Farbtemperatur","type-dimmer":"Dimmer","type-door":"Türsensor","type-fireAlarm":"Feueralarm","type-floodAlarm":"Wasseralarm","type-gate":"Tor-Steuerung","type-hue":"HUE-Licht","type-humidity":"Feuchtigkeit","type-illuminance":"Beleuchtungsstärke","type-image":"Bild","type-info":"Information","type-instance":"Instanz","type-light":"Licht","type-location":"Position","type-locationOne":"Position als ein Zustand","type-lock":"Schloss","type-media":"Mediaplayer","type-motion":"Bewegungssensor","type-rgb":"RGB-Licht","type-rgbSingle":"R,G,B-Licht Einzelwerte","type-rgbwSingle":"R,G,B,W-Licht Einzelwerte","type-slider":"Schieberegler","type-socket":"Steckdose","type-temperature":"Temperatur","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Staubsauger","type-valve":"Ventil","type-volume":"Lautstärke","type-volumeGroup":"Lautstärke-Gruppe","type-warning":"Warnung","type-weatherCurrent":"Aktuelle Wetterlage","type-weatherForecast":"Wettervorhersage","type-window":"Fenstersensor","type-windowTilt":"Fensterkippung-Sensor"},O_e={"type-Device type":"Тип устройства","type-airCondition":"Кондиционер","type-blind":"Рольставни/Жалюзи","type-blindButtons":"Жалюзи управляющиеся кнопками","type-button":"Кнопка","type-buttonSensor":"Кнопка с обратной связью","type-camera":"Камера","type-chart":"Диаграмма","type-cie":"CIE свет","type-ct":"Цветовая температура","type-dimmer":"Диммер","type-door":"Датчик положения двери","type-fireAlarm":"Датчик дыма","type-floodAlarm":"Датчик затопления","type-gate":"Ворота","type-hue":"HUE свет","type-humidity":"Влажность","type-illuminance":"Освещенность","type-image":"Изображение","type-info":"Информация","type-instance":"Инстанция","type-light":"Свет","type-location":"Местоположение","type-locationOne":"Позиция в одном состоянии","type-lock":"Замок","type-media":"Медиа-плейер","type-motion":"Датчик движения","type-rgb":"RGB свет","type-rgbSingle":"R,G,B как отдельные значение","type-rgbwSingle":"R,G,B,W как отдельные значение","type-slider":"Ползунок","type-socket":"Розетка","type-temperature":"Температура","type-thermostat":"Термостат","type-url":"URL","type-vacuumCleaner":"Пылесос","type-valve":"Вентиль","type-volume":"Громкость","type-volumeGroup":"Группа громкости","type-warning":"Предупреждение","type-weatherCurrent":"Актуальная погода","type-weatherForecast":"Прогноз погоды","type-window":"Датчик открытия окна","type-windowTilt":"Датчик наклона окна"},E_e={"type-Device type":"Tipo de dispositivo","type-airCondition":"Ar condicionado","type-blind":"persianas","type-blindButtons":"Persiana controlada por botões","type-button":"botão","type-buttonSensor":"Sensor de botão","type-camera":"câmera","type-chart":"Gráfico","type-cie":"Luz colorida CIE","type-ct":"Temperatura de cor","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"alarme de incêndio","type-floodAlarm":"alarme de inundação","type-gate":"portão","type-hue":"Luz HUE","type-humidity":"umidade","type-illuminance":"Iluminância","type-image":"imagem","type-info":"informação","type-instance":"exemplo","type-light":"luz","type-location":"localização","type-locationOne":"Posição como um estado","type-lock":"trancar","type-media":"mídia","type-motion":"movimento","type-rgb":"Luz RGB","type-rgbSingle":"Luz RGB única","type-rgbwSingle":"RGBW como valor único","type-slider":"controle deslizante","type-socket":"soquete","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirador de pó","type-valve":"válvula","type-volume":"volume","type-volumeGroup":"grupo de volume","type-warning":"aviso","type-weatherCurrent":"clima atual","type-weatherForecast":"previsão do tempo","type-window":"janela","type-windowTilt":"inclinação da janela"},f_e={"type-Device type":"Typ urządzenia","type-airCondition":"Klimatyzator","type-blind":"żaluzje","type-blindButtons":"Roleta sterowana przyciskami","type-button":"przycisk","type-buttonSensor":"Czujnik przycisku","type-camera":"kamera","type-chart":"Wykres","type-cie":"Światło kolorowe CIE","type-ct":"Temperatura barwowa","type-dimmer":"opornik","type-door":"drzwi","type-fireAlarm":"alarm pożarowy","type-floodAlarm":"alarm przeciwpowodziowy","type-gate":"brama","type-hue":"Światło HUE","type-humidity":"wilgotność","type-illuminance":"Natężenie oświetlenia","type-image":"obraz","type-info":"Informacje","type-instance":"przykład","type-light":"światło","type-location":"lokalizacja","type-locationOne":"Pozycja jako państwa","type-lock":"zamek","type-media":"głoska bezdźwięczna","type-motion":"ruch","type-rgb":"Światło RGB","type-rgbSingle":"Pojedyncze światło RGB","type-rgbwSingle":"RGBW jako pojedyncza wartość","type-slider":"suwak","type-socket":"gniazdo","type-temperature":"temperatura","type-thermostat":"termostat","type-url":"Adres URL","type-vacuumCleaner":"Odkurzacz","type-valve":"zawór","type-volume":"tom","type-volumeGroup":"grupa woluminów","type-warning":"ostrzeżenie","type-weatherCurrent":"aktualna pogoda","type-weatherForecast":"prognoza pogody","type-window":"okno","type-windowTilt":"pochylenie okna"},x_e={"type-Device type":"Type d'appareil","type-airCondition":"Climatiseur","type-blind":"stores","type-blindButtons":"Store commandé par boutons","type-button":"bouton","type-buttonSensor":"Capteur de bouton","type-camera":"caméra","type-chart":"Graphique","type-cie":"lumière colorée CIE","type-ct":"Température de couleur","type-dimmer":"variateur","type-door":"porte","type-fireAlarm":"alarme incendie","type-floodAlarm":"alarme d'inondation","type-gate":"grille","type-hue":"Lumière HUE","type-humidity":"humidité","type-illuminance":"Éclairement","type-image":"image","type-info":"informations","type-instance":"exemple","type-light":"lumière","type-location":"emplacement","type-locationOne":"Position en tant qu'État","type-lock":"verrouillage","type-media":"médias","type-motion":"mouvement","type-rgb":"lumière RVB","type-rgbSingle":"Lumière RVB simple","type-rgbwSingle":"RGBW comme valeur unique","type-slider":"curseur","type-socket":"douille","type-temperature":"température","type-thermostat":"thermostat","type-url":"URL","type-vacuumCleaner":"Aspirateur","type-valve":"soupape","type-volume":"volume","type-volumeGroup":"groupe de volumes","type-warning":"avertissement","type-weatherCurrent":"météo actuelle","type-weatherForecast":"prévisions météorologiques","type-window":"fenêtre","type-windowTilt":"inclinaison de la fenêtre"},__e={"type-Device type":"Tipo di dispositivo","type-airCondition":"Condizionatore d'aria","type-blind":"tende","type-blindButtons":"Tenda controllata da pulsanti","type-button":"pulsante","type-buttonSensor":"Sensore del pulsante","type-camera":"telecamera","type-chart":"Grafico","type-cie":"Luce colorata CIE","type-ct":"Temperatura del colore","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"allarme antincendio","type-floodAlarm":"allarme allagamento","type-gate":"cancello","type-hue":"Luce HUE","type-humidity":"umidità","type-illuminance":"Illuminamento","type-image":"immagine","type-info":"informazioni","type-instance":"esempio","type-light":"leggero","type-location":"posizione","type-locationOne":"Posizione come stato","type-lock":"serratura","type-media":"media","type-motion":"movimento","type-rgb":"luce RGB","type-rgbSingle":"Luce RGB singola","type-rgbwSingle":"RGBW come valore singolo","type-slider":"cursore","type-socket":"PRESA","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirapolvere","type-valve":"valvola","type-volume":"volume","type-volumeGroup":"gruppo di volumi","type-warning":"avvertimento","type-weatherCurrent":"meteo attuale","type-weatherForecast":"previsioni del tempo","type-window":"finestra","type-windowTilt":"inclinazione della finestra"},S_e={"type-Device type":"Apparaattype","type-airCondition":"Airconditioner","type-blind":"jaloezieën","type-blindButtons":"Jaloezie bediend door knoppen","type-button":"knop","type-buttonSensor":"Knopsensor","type-camera":"camera","type-chart":"Grafiek","type-cie":"CIE-kleurenlicht","type-ct":"Kleurtemperatuur","type-dimmer":"dimmer","type-door":"deur","type-fireAlarm":"brandalarm","type-floodAlarm":"overstromingsalarm","type-gate":"hek","type-hue":"HUE-licht","type-humidity":"vochtigheid","type-illuminance":"Verlichtingssterkte","type-image":"afbeelding","type-info":"informatie","type-instance":"aanleg","type-light":"licht","type-location":"locatie","type-locationOne":"Positie als staat","type-lock":"slot","type-media":"media","type-motion":"beweging","type-rgb":"RGB-licht","type-rgbSingle":"RGB-licht enkel","type-rgbwSingle":"RGBW als enkele waarde","type-slider":"schuifregelaar","type-socket":"stopcontact","type-temperature":"temperatuur","type-thermostat":"thermostaat","type-url":"URL","type-vacuumCleaner":"Stofzuiger","type-valve":"ventiel","type-volume":"volume","type-volumeGroup":"volumegroep","type-warning":"waarschuwing","type-weatherCurrent":"huidige weersomstandigheden","type-weatherForecast":"weersvoorspelling","type-window":"raam","type-windowTilt":"raamkanteling"},k_e={"type-Device type":"Тип пристрою","type-airCondition":"Кондиціонер","type-blind":"жалюзі","type-blindButtons":"Штора керується кнопками","type-button":"кнопку","type-buttonSensor":"Датчик кнопки","type-camera":"камера","type-chart":"Діаграма","type-cie":"Кольорове світло CIE","type-ct":"Колірна температура","type-dimmer":"диммер","type-door":"двері","type-fireAlarm":"пожежна сигналізація","type-floodAlarm":"сигналізація про повінь","type-gate":"ворота","type-hue":"світло HUE","type-humidity":"вологість","type-illuminance":"Освітленість","type-image":"зображення","type-info":"інформація","type-instance":"екземпляр","type-light":"світло","type-location":"розташування","type-locationOne":"Позиція як держави","type-lock":"замок","type-media":"ЗМІ","type-motion":"руху","type-rgb":"RGB світло","type-rgbSingle":"Одиночне світло RGB","type-rgbwSingle":"RGBW як одне значення","type-slider":"повзунок","type-socket":"гніздо","type-temperature":"температура","type-thermostat":"термостат","type-url":"URL","type-vacuumCleaner":"Пилосос","type-valve":"клапан","type-volume":"обсяг","type-volumeGroup":"група обсягів","type-warning":"УВАГА","type-weatherCurrent":"поточна погода","type-weatherForecast":"прогноз погоди","type-window":"вікно","type-windowTilt":"нахил вікна"},Y_e={"type-Device type":"设备类型","type-airCondition":"空调","type-blind":"百叶窗","type-blindButtons":"按钮控制百叶窗","type-button":"按钮","type-buttonSensor":"按钮传感器","type-camera":"相机","type-chart":"图表","type-cie":"CIE色光","type-ct":"色温","type-dimmer":"调光器","type-door":"门","type-fireAlarm":"火灾报警","type-floodAlarm":"洪水警报","type-gate":"门","type-hue":"色调灯","type-humidity":"湿度","type-illuminance":"照度","type-image":"图像","type-info":"信息","type-instance":"实例","type-light":"光","type-location":"地点","type-locationOne":"作为一个国家的地位","type-lock":"锁","type-media":"媒体","type-motion":"运动","type-rgb":"RGB灯","type-rgbSingle":"RGB灯单","type-rgbwSingle":"RGBW 作为单一值","type-slider":"滑块","type-socket":"插座","type-temperature":"温度","type-thermostat":"恒温器","type-url":"网址","type-vacuumCleaner":"吸尘器","type-valve":"阀门","type-volume":"体积","type-volumeGroup":"卷组","type-warning":"警告","type-weatherCurrent":"当前天气","type-weatherForecast":"天气预报","type-window":"窗户","type-windowTilt":"窗户倾斜"};let Sl=!1;function p4(){Sl||(Sl=!0,h.extendTranslations({en:A_e,de:m_e,ru:O_e,pt:E_e,pl:f_e,fr:x_e,it:__e,nl:S_e,uk:k_e,"zh-cn":Y_e}))}const kl={[B.Types.airCondition]:EL,[B.Types.blind]:_l,[B.Types.blindButtons]:_l,[B.Types.button]:z_e,[B.Types.buttonSensor]:L_e,[B.Types.camera]:n_e,[B.Types.chart]:s_e,[B.Types.image]:OL,[B.Types.dimmer]:mL,[B.Types.door]:T_e,[B.Types.fireAlarm]:fl,"sensor.alarm.fire":fl,[B.Types.floodAlarm]:xl,"sensor.alarm.flood":xl,[B.Types.gate]:d_e,[B.Types.humidity]:D_e,[B.Types.illuminance]:g_e,[B.Types.info]:AL,[B.Types.light]:pL,[B.Types.lock]:IL,[B.Types.location]:CL,[B.Types.locationOne]:wL,[B.Types.media]:zL,[B.Types.motion]:h_e,[B.Types.ct]:UM,[B.Types.rgb]:Xo,[B.Types.rgbSingle]:Xo,[B.Types.rgbwSingle]:j_e,[B.Types.hue]:UM,[B.Types.cie]:Xo,[B.Types.slider]:hL,[B.Types.socket]:w_e,[B.Types.temperature]:C_e,[B.Types.thermostat]:I_e,[B.Types.vacuumCleaner]:y_e,[B.Types.volume]:DL,[B.Types.volumeGroup]:dL,[B.Types.window]:p_e,[B.Types.windowTilt]:I4,[B.Types.weatherCurrent]:Ol,[B.Types.weatherForecast]:Ol,[B.Types.warning]:QM,[B.Types.unknown]:TL,[B.Types.instance]:yL,invalid:QM,hub3:jL,node:gL,hub5:LL,controller:NL},Dr={width:32,height:32};function v_e(s){const[e,t]=M.useState(!1);if(f.useEffect(()=>{s.title&&!e&&(p4(),t(!0))},[s.title,e]),!e&&s.title)return M.createElement(j.Box,{style:{...Dr,...s.style||void 0},className:s.className,sx:s.sx});const i=s.type||(s.src?Object.keys(kl).find(n=>s.src===n):void 0);if(!i&&s.src)return M.createElement(me,{style:Dr,...s,title:s.title===!0?void 0:s.title,src:s.src});const r=i&&kl[i];if(!r)return i?M.createElement("span",{style:{...Dr,...s.style||void 0}},i[0].toUpperCase()):null;const o=M.createElement(r,{style:{...Dr,...s.style||void 0},onClick:s.onClick,className:s.className,sx:s.sx});return s.title?M.createElement(j.Tooltip,{slotProps:{popper:{sx:{pointerEvents:"none"}}},title:s.title===!0?h.t(`type-${i}`):s.title},M.createElement("div",{style:{display:"flex"}},o)):o}const Et={itemChildrenWrapper:{display:"flex",width:"100%",justifyContent:"space-between"},type:{marginTop:10},selectIcon:{paddingRight:8,verticalAlign:"middle",width:20,height:20},selectText:{verticalAlign:"middle"},iconWrapper:{display:"flex",alignItems:"center"},iconStyle:{width:16,height:16,margin:"0 3px"},emptyIcon:{width:16,height:16,margin:"0 3px"}};function H3e(s){const[e,t]=M.useState({}),[i,r]=M.useState([]);return f.useEffect(()=>{const o={};Object.keys(B.Types).filter(a=>{var c,l;return(!s.supportedDevices||((c=s.supportedDevices)==null?void 0:c.includes(a)))&&!((l=s.unsupportedDevices)!=null&&l.includes(a))}).forEach(a=>o[a]=h.t(`type-${B.Types[a]}`));const n=Object.keys(o);n.sort((a,c)=>o[a]===o[c]?0:o[a].localeCompare(o[c],"de")),p4(),r(n),t(o)},[s.supportedDevices,s.unsupportedDevices]),i?M.createElement(j.FormControl,{style:{...Et.type,...s.style},sx:s.sx,variant:"standard",error:!!s.error},M.createElement(j.InputLabel,null,s.label||h.t("type-Device type")),M.createElement(j.Select,{variant:"standard",disabled:!!s.disabled,value:s.value,onChange:o=>s.onChange(o.target.value)},i.map(o=>{var n;return M.createElement(j.MenuItem,{key:B.Types[o],value:B.Types[o]},M.createElement("div",{style:Et.itemChildrenWrapper},M.createElement("div",null,M.createElement(v_e,{type:B.Types[o],style:{...Et.selectIcon,color:s.themeType==="dark"?"#FFFFFF":"#000"}}),M.createElement("span",{style:Et.selectText},e[o])),(n=s.showApplications)!=null&&n.TYPE_OPTIONS[o]?M.createElement("div",{style:Et.iconWrapper},Object.keys(s.showApplications.TYPE_OPTIONS[o]).map(a=>s.showApplications.TYPE_OPTIONS[o][a]?M.createElement(me,{key:a,style:Et.iconStyle,src:s.showApplications.ICONS_TYPE[a]}):M.createElement("div",{key:a,style:Et.emptyIcon}))):null))}))):M.createElement(j.Box,{style:{...Et.type,...s.style},sx:s.sx})}function b_e(s){return Z({attr:{version:"1",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48"},child:[{tag:"circle",attr:{fill:"#B2EBF2",cx:"32",cy:"24",r:"9"},child:[]},{tag:"path",attr:{fill:"#4DD0E1",d:"M32,12c-6.6,0-12,5.4-12,12c0,6.6,5.4,12,12,12s12-5.4,12-12C44,17.4,38.6,12,32,12z M32,32 c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S36.4,32,32,32z"},child:[]},{tag:"g",attr:{fill:"#3F51B5"},child:[{tag:"polygon",attr:{points:"25.4,22 19.8,5.1 13.6,27.7 11.4,22 4,22 4,26 8.6,26 14.4,40.3 20.2,18.9 22.6,26 30,26 30,22"},child:[]},{tag:"circle",attr:{cx:"32",cy:"24",r:"4"},child:[]}]}]})(s)}function Q_e(s){return Z({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4.428 2.727l3.335 3.335c-.486.07-.903.276-1.32.624L.886 12.383c-1.181 1.18-1.181 3.194 0 4.375a2.41 2.41 0 0 0 1.598.834l17.088 3.681-3.335-3.333c.486-.07.903-.278 1.32-.626l5.557-5.695c1.181-1.181 1.181-3.196 0-4.377a2.411 2.411 0 0 0-1.598-.833zM11.653 6.2c.694 0 1.25.486 1.25 1.18 0 .695-.486 1.251-1.181 1.251-.695 0-1.25-.485-1.25-1.18s.555-1.251 1.18-1.251zm1.51 3.792c.049-.006.088.046.088.098-.139.694-.695 1.181-1.39 1.181-.694 0-1.32-.487-1.46-1.112 0 0 .002-.07.071 0 .487.278.972.348 1.32.278.346 0 .833-.07 1.32-.416a.092.092 0 0 1 .05-.029zm.723 2.511c.058.013.06.106.06.158-.209.903-.973 1.666-1.946 1.666a2.167 2.167 0 0 1-2.084-1.528c-.07-.07 0-.138.138-.138.695.347 1.39.416 1.877.416.486 0 1.18-.14 1.875-.556.035-.017.06-.022.08-.018zm.597 3.018c.049-.013.087.09.087.195-.278 1.181-1.25 2.085-2.5 2.155-1.251 0-2.293-.835-2.57-1.946 0-.139.068-.278.207-.209.834.486 1.737.556 2.362.556s1.529-.208 2.362-.694c.018-.035.036-.053.052-.057z"},child:[]}]})(s)}function U_e(s){return Z({attr:{version:"1.2",baseProfile:"tiny",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13 5l.855 3.42 3.389-.971 1.501 2.6-2.535 2.449 2.535 2.451-1.5 2.6-3.39-.971-.855 3.422h-3l-.855-3.422-3.39.971-1.501-2.6 2.535-2.451-2.534-2.449 1.5-2.6 3.39.971.855-3.42h3m0-2h-3c-.918 0-1.718.625-1.939 1.516l-.354 1.412-1.4-.4c-.184-.053-.369-.078-.552-.078-.7 0-1.368.37-1.731 1l-1.5 2.6c-.459.796-.317 1.802.342 2.438l1.047 1.011-1.048 1.015c-.66.637-.802 1.643-.343 2.438l1.502 2.6c.363.631 1.031 1 1.731 1 .183 0 .368-.025.552-.076l1.399-.401.354 1.415c.222.885 1.022 1.51 1.94 1.51h3c.918 0 1.718-.625 1.939-1.516l.354-1.414 1.399.4c.184.053.369.077.552.077.7 0 1.368-.37 1.731-1l1.5-2.6c.459-.796.317-1.8-.342-2.438l-1.047-1.013 1.047-1.013c.66-.637.801-1.644.342-2.438l-1.5-2.6c-.365-.631-1.031-1-1.732-1-.184 0-.368.025-.551.076l-1.4.401-.354-1.413c-.22-.884-1.02-1.509-1.938-1.509zM11.5 10.5c1.104 0 2 .895 2 2 0 1.104-.896 2-2 2s-2-.896-2-2c0-1.105.896-2 2-2m0-1c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3-1.346-3-3-3z"},child:[]}]})(s)}function $_e(s){return Z({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M7.707 17.707 13.414 12 7.707 6.293 6.293 7.707 10.586 12l-4.293 4.293zM15 6h2v12h-2z"},child:[]}]})(s)}function P_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M376 211H256V16L136 301h120v195z"},child:[]}]})(s)}function W_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 32l-64 96 80 16-16 80 64-96-80-16 16-80zm-96 217c-1.9 0-9.8 3-15.8 6.7-2.8 1.7-5.3 3.5-7.2 4.8v119c1.9 1.3 4.4 3.1 7.2 4.8 6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 5.9-3.7 10.6-7.3 10.6-7.3l2.5-2H201V265h-12.1l-2.5-2s-4.7-3.6-10.6-7.3c-6-3.7-13.9-6.7-15.8-6.7zm192 0c-1.9 0-9.8 3-15.8 6.7-5.9 3.7-10.6 7.3-10.6 7.3l-2.5 2H311v110h12.1l2.5 2s4.7 3.6 10.6 7.3c6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 2.8-1.7 5.3-3.5 7.2-4.8v-119c-1.9-1.3-4.4-3.1-7.2-4.8-6-3.7-13.9-6.7-15.8-6.7zm-133 16v110h14V265h-14zm32 0v110h42V265h-42zM95.5 311c-18.8 0-36.6 9.2-49.94 22.7C32.22 347.1 23 365 23 384v106h18V384c0-13 6.78-27.1 17.32-37.7C68.85 335.8 82.8 329 95.5 329H119v-18H95.5zm297.5 0v18h22.9c13.1 0 27.1 6.8 37.7 17.4C464.2 357 471 371 471 384v106h18V384c0-19-9.2-37-22.7-50.4-13.4-13.4-31.4-22.6-50.4-22.6H393z"},child:[]}]})(s)}function B_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M20.127 52.803v58.986L250.46 245.153c26.367-28.823 70.087-36.533 105.313-16.195 35.29 20.374 50.465 62.207 38.567 99.503l101.648 58.855-64.728-74.65 35.638-37.352-57.27-7.687 84.72-86.92-125.71 33.186 12.995-120.208-66.578 96.363-27.448-80.593-16.353 88.77L20.127 52.803zm0 105.12l-.008.018.007.005v-.02zm0 .022l-.002 87.582 155.344 89.95-89.94 33.287h135.493l-63.658 99.87 116.22-70.083 15.77 85.852 38.543-80.01 63.66 87.018-5.853-87.047 90.54 17.268-102.4-59.198c-26.546 26.964-68.89 33.744-103.183 13.945-34.322-19.816-49.62-59.928-39.49-96.424L20.127 157.945zm316.6 119.442c-.938-.003-1.874.027-2.805.092-12.42.86-24.164 7.707-30.9 19.375-10.78 18.67-4.455 42.27 14.214 53.047 18.67 10.78 42.27 4.455 53.047-14.214 10.78-18.67 4.454-42.27-14.215-53.047-6.125-3.536-12.78-5.23-19.34-5.253z"},child:[]}]})(s)}function J_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M33.125 19.406L135.5 128.22l81-23.157 18.72-5.344-7.564 17.936-46.125 109.78 134.282-70 26.157-13.655L328.436 170 256.5 309.25l91.25-57.125 22.97-14.375-9.22 25.47-34.625 95.624 71-36.375 21.188-10.845L410.906 334l-33.937 93.063 45.124-6.688 4.53-.656 3.313 3.155 64.313 61.47-30.5-80.5 23.313-46.908-72.5 39.532 51.062-141.158-91.188 47.47 72.344-142.813-128.217 82.81L421.875 70.063 239.03 168.69l30.44-99.563-103.845 25.25-132.5-74.97zM18.155 30.78l77.876 108.25-31.124 75.532 94.125-46.78-98.905 166.812 190.25-99.656-101.03 185.406 140.25-79.063-46.94 102.22 106.5-53-45.655 92.28 86.5-14.467 93.47 31.562-63.158-60.344-56.125 8.314-15.53 2.312 5.374-14.75 31.158-85.437-70.907 36.31-21.124 10.814 8.094-22.313 33.47-92.436-97.22 60.875-28.938 18.092L224.22 331l74.06-143.344-131.06 68.313-22.97 12 10.03-23.908 48.626-115.687-67.75 19.375-5.5 1.563-3.875-4.157L18.157 30.78z"},child:[]}]})(s)}function R_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M288.3 13.4c-12.3-.01-23 6.49-27.3 15.31l-2.9 5.95-6.6-1.01c-5.5-.85-11.3-1.32-17.1-1.32-18.8 0-35.7 4.5-47.3 11.14-11.5 6.64-16.9 14.59-16.9 22 0 7.42 5.4 15.37 16.9 22 11.6 6.64 28.5 11.13 47.3 11.13 7.5-.02 14.9-.74 21.8-2.13l6.3-1.23 3.2 5.46c5.6 9.2 23.7 18.2 44.7 18.2 13.9 0 26.4-3.6 34.8-8.8 8.4-5.2 12.2-11.23 12.2-16.9 0-5.09-3-10.48-10-15.44-6.9-4.97-17.6-8.87-30-9.95l-18.3-1.59 12.5-13.49c4.1-4.41 6.1-9.6 6.1-14.87 0-12.88-12.4-24.46-29.4-24.46zM152.2 65.46C84.8 102.3 39 173.9 39 256c0 32.1 7 62.6 19.54 90 5.95-7.9 10.48-13.4 12.67-16C62.05 307.2 57 282.2 57 256c0-74 40.27-138.5 100.1-172.78-3.1-5.39-4.9-11.34-4.9-17.74v-.02zm210.7 1.75c7.5 6.93 12.5 15.9 12.5 25.99 0 1.14-.1 2.27-.2 3.38C423.7 132.9 455 190.7 455 256c0 23.7-4.2 46.5-11.8 67.6l18.3 2.2c7.4-21.9 11.5-45.4 11.5-69.8 0-80.8-44.4-151.5-110.1-188.79zm58.6 270.49c-11.1.2-23 1.1-35.9 3.1l-.5.1-.5.1c-25.8 7.3-37.1 15.2-46.4 24.7l-2.2 2.2-.3 3.1c-3.4 29.6-5.8 60 0 91.8l1.3 6.8 6.8.6c30.6 2.6 58.7 1.4 86.2 0l1-.1.9-.2c18.5-5.2 34.4-12.8 46.4-24.6l1.7-1.6.6-2.2c10-33.4 3.4-63.8.4-92.7l-.8-7.4-7.3-.7c-16.2-1.5-32.8-3.2-51.4-3zM79.62 348.2c-4.94 6.1-11.43 14.5-18.58 25.6-12.29 18.9-22.53 42.4-20.51 54.9 1.43 8.8 6.97 19.6 14.51 27.6 7.54 7.9 16.69 12.8 24.58 12.8 7.87 0 17.03-4.9 24.58-12.8 7.5-8 13.1-18.8 14.5-27.6 2-12.5-8.2-36-20.5-54.9-7.15-11-13.64-19.5-18.58-25.6zM427 355.7c1.7 0 3.3 0 5 .1 5.4.1 10.7.4 16 .8-5.9 3.4-12.1 6.8-19.5 9.9l-2.4.2c-19.5 1.4-37.7.3-55.4-2 4.7-2 10.5-4 18.3-6.2 13.8-2.2 26.3-2.9 38-2.8zm38 11.6c2.8 22.9 5 44.5-1 66.6-7 6.3-16 11.4-27 15.4 3-22.5 2-44.8-.5-66.6 11.3-5 20.2-10.2 28.5-15.4zm-112.2 13.1c20.7 3.2 42.3 5.4 65.8 4.5 2.5 23 3.5 45.6-.4 67.8-21.5 1-43.1 1.5-65.8-.1-3.5-24-2.2-47.9.4-72.2zm-216.4 34.7c.9 5.5 1 11 .1 16.4-.3 1.6-.6 3.3-1 4.9C170 459.5 211.4 473 256 473c21.6 0 42.5-3.2 62.3-9.1l-2-18.2c-19 6-39.3 9.3-60.3 9.3-44.9 0-86.3-14.8-119.6-39.9z"},child:[]}]})(s)}function Yl(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M140 29.92c-31.4 0-59.89 3.25-79.89 8.25-9.9 2.5-17.8 5.51-22.4 8.25-3.2 1.87-4.1 3.15-4.5 3.58.4.43 1.3 1.71 4.5 3.58 4.6 2.74 12.5 5.75 22.4 8.25 20 5 48.49 8.25 79.89 8.25h5.7c5.3-2 11.1-3.78 17.6-5.4 20.3-5.08 46.5-8.42 75.8-9.36 1.2-.57 2.3-1.14 3.2-1.7 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zm232 0c-31.4 0-59.9 3.25-79.8 8.25-10 2.5-17.9 5.51-22.5 8.25-3.1 1.87-4.1 3.15-4.5 3.58.4.43 1.4 1.71 4.5 3.58.9.56 2 1.13 3.2 1.7 29.3.94 55.5 4.28 75.8 9.36 6.5 1.62 12.3 3.4 17.6 5.4h5.7c31.4 0 59.9-3.25 79.8-8.25 10-2.5 17.9-5.51 22.5-8.25 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zM33.01 71.44V369.9c0 4.3 1.8 8 6.8 12.3 5 4.3 13.1 8.5 23.3 11.9 15.3 5.1 35 8.5 55.89 9.8V278.3l-16.5 28.6-7.79-4.5c-27.4-15.9-44.3-45.3-44.4-77v-9h52.59c-.6 2.6-.9 5.3-.9 8.1 0 13.1 6.8 24.8 17 31.7v-63.4c-1.9 1.3-3.6 2.7-5.2 4.2l-25.99-45.1 7.8-4.5c7.49-4.2 15.29-7.3 23.39-9.3V87.61c-24.19-1.08-45.99-4.01-63.19-8.32-8.9-2.21-16.5-4.76-22.8-7.85zm445.99 0c-6.3 3.09-14 5.63-22.8 7.84-17.2 4.31-39 7.24-63.2 8.32v50.6c8.1 2 16 5.1 23.4 9.3l7.7 4.5-4.4 7.8-21.5 37.2c-1.6-1.5-3.3-2.9-5.2-4.2v63.4c10.2-6.9 17-18.6 17-31.7 0-2.8-.3-5.5-.9-8.1h50.8v9c0 31.8-17 61.1-44.4 77l-7.8 4.5-14.7-25.5v122.5c20.9-1.3 40.7-4.7 55.9-9.8 10.2-3.4 18.3-7.6 23.3-11.9 5-4.3 6.8-8 6.8-12.3zM256 73c-34.7 0-66.2 3.57-88.3 9.1-11.1 2.77-19.8 6.09-25.1 9.19-4.3 2.58-5.3 4.42-5.5 4.71.2.29 1.2 2.12 5.5 4.7 5.3 3.1 14 6.4 25.1 9.2 22.1 5.5 53.6 9.1 88.3 9.1 34.7 0 66.2-3.6 88.3-9.1 11.1-2.8 19.8-6.1 25.1-9.2 4.3-2.58 5.3-4.41 5.5-4.7-.2-.29-1.2-2.13-5.5-4.71-5.3-3.1-14-6.42-25.1-9.19-22.1-5.53-53.6-9.1-88.3-9.1zm118.9 23c.1.1.1.1.1 0s0-.1-.1 0zm-237.8 0c-.1-.1-.1-.1-.1 0s0 .1.1 0zm-.1 22.1V448c0 5 2.2 9.3 7.9 14.2 5.6 4.8 14.7 9.5 25.9 13.3 22.6 7.5 54 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2V118.1c-7.2 3.7-16 6.6-26.3 9.3-24.2 6-56.7 9.6-92.7 9.6s-68.5-3.6-92.7-9.6c-10.3-2.7-19.1-5.6-26.3-9.3zM256 191c16.8 0 33.5 4.4 48.5 13l7.8 4.5-4.5 7.8-24.1 41.6c-7.3-6.7-17-10.9-27.7-10.9s-20.4 4.2-27.7 10.9l-28.6-49.4 7.8-4.5c15-8.7 31.7-13 48.5-13zm0 74c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm-98 15h57.8c-.5 2.6-.8 5.3-.8 8 0 18.1 12 33.7 28.5 39l-29.2 50.5-7.8-4.5c-30-17.3-48.5-49.4-48.5-84zm138.2 0H352v9c0 34.6-18.5 66.7-48.5 84l-7.8 4.5-28.8-50c17.3-4.8 30.1-20.8 30.1-39.5 0-2.7-.3-5.4-.8-8z"},child:[]}]})(s)}function F_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 54.28c-124.603 0-226 101.398-226 226 0 47.864 14.975 92.293 40.465 128.876l29.79-19.86c-17.188-24.545-28.708-53.362-32.696-84.577H96v-18H66.115c-.07-2.14-.115-4.284-.115-6.44 0-45.378 15.816-86.97 42.236-119.598l17.4 17.4 12.727-12.727-18.133-18.132C152.735 114.057 197.335 92.8 247 90.498v29.22h18V90.5c49.665 2.302 94.265 23.56 126.77 56.725l-18.133 18.132 12.726 12.727 17.4-17.4c26.42 32.63 42.237 74.22 42.237 119.6 0 2.154-.044 4.3-.115 6.437H416v18h28.44c-3.987 31.214-15.507 60.03-32.694 84.575l29.79 19.86C467.025 372.574 482 328.146 482 280.282c0-124.602-101.397-226-226-226zm15.83 66.23a144 160 0 0 1 74.608 100.062l49.966-17.568a160 160 0 0 0-4.3-7.012l-5.135 5.153-30.368-30.29-5.76-5.746 7.85-7.874a160 160 0 0 0-86.862-36.726zm156.15 89.844l-175.332 60.6C240.505 272.618 231 283.155 231 295.72c0 13.7 11.3 25 25 25 6.77 0 12.95-2.764 17.473-7.208L427.98 210.354zm-16.513 32.322l-60.713 40.72a144 160 0 0 1-56.6 108.323h76.057a160 160 0 0 0 39.763-68.572H398.48v-52.515h17.022a160 160 0 0 0-4.035-27.957zM128 421.72v36h256v-36H128z"},child:[]}]})(s)}function G_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.7 21.04l-194.4.41L21.04 159.3l.41 194.4L159.3 491l194.4-.4L491 352.7l-.4-194.4L352.7 21.04zm-8 19.66l126.2 125.7.4 178.3-123.1 123.6-2.6 2.6-178.3.4L41.08 345.6l-.38-178.3L166.4 41.08l178.3-.38zm-7.5 18.01l-163.3.34L58.71 174.8l.34 163.3L174.8 453.3l163.3-.3 115.2-115.8-.3-163.3L337.2 58.71zM108.4 210.4c5.3 0 10.8.5 16.4 1.3 5.7.8 11.5 2 17.5 3.6v20.5c-5.3-2.4-10.5-4.2-15.6-5.4-5.1-1.2-9.9-1.8-14.4-1.8-6 0-10.4.8-13.25 2.5-2.87 1.6-4.3 4.2-4.3 7.7 0 2.6.96 4.6 2.87 6.1 1.95 1.4 5.48 2.7 10.58 3.7l10.6 2.1c10.8 2.2 18.5 5.5 23.1 9.9 4.5 4.5 6.8 10.8 6.8 18.9 0 10.7-3.2 18.7-9.5 24-6.4 5.2-16.1 7.8-29.2 7.8-6.1 0-12.3-.6-18.51-1.8-6.2-1.1-12.41-2.9-18.61-5.2v-21.1c6.2 3.3 12.19 5.8 17.96 7.5 5.82 1.6 11.46 2.4 16.76 2.4 5.5 0 9.7-.9 12.6-2.7 2.9-1.8 4.4-4.4 4.4-7.8 0-3.1-1-5.4-3-7.1-2-1.6-5.9-3.1-11.8-4.4l-9.7-2.1c-9.73-2.1-16.85-5.4-21.37-10-4.47-4.5-6.7-10.7-6.7-18.4 0-9.7 3.12-17.1 9.37-22.3 6.25-5.3 15.24-7.9 27-7.9zm187.7 0c15.6 0 27.8 4.5 36.7 13.5 8.9 8.9 13.3 21.2 13.3 37 0 15.7-4.4 28-13.3 37-8.9 8.9-21.1 13.4-36.7 13.4-15.6 0-27.8-4.5-36.7-13.4-8.9-9-13.3-21.3-13.3-37 0-15.8 4.4-28.1 13.3-37 8.9-9 21.1-13.5 36.7-13.5zm-141.9 1.8h89.6v18.9h-32.2v78.3h-25.1v-78.3h-32.3v-18.9zm205.8 0h41.6c12.3 0 21.8 2.8 28.4 8.3 6.7 5.4 10 13.2 10 23.4s-3.3 18.1-10 23.6c-6.6 5.4-16.1 8.2-28.4 8.2H385v33.7h-25v-97.2zm-63.9 16.4c-7.7 0-13.6 2.8-17.8 8.5-4.2 5.6-6.3 13.6-6.3 23.8 0 10.2 2.1 18.1 6.3 23.8 4.2 5.6 10.1 8.4 17.8 8.4 7.7 0 13.6-2.8 17.8-8.4 4.2-5.7 6.3-13.6 6.3-23.8 0-10.2-2.1-18.2-6.3-23.8-4.2-5.7-10.1-8.5-17.8-8.5zm88.9 1.8v27.1h13.9c4.9 0 8.6-1.2 11.3-3.5 2.6-2.4 3.9-5.8 3.9-10.1s-1.3-7.7-3.9-10c-2.7-2.4-6.4-3.5-11.3-3.5H385z"},child:[]}]})(s)}function H_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M327.467 19.992c.748 14.94 2.317 51.268 2.59 98.76 3.474-.286 6.557-.381 9.72 1.08 18.04 8.345 27.243 29.326 27.026 50.506-.217 21.18-11.283 44.136-36.104 54.307a41.62 41.62 0 0 1-2.486.923c-3.408 80.504-12.307 166.37-33.754 225.5-6.876 15.831-17.029 29.217-26.828 40.94l55.27.422c20.676-12.19 32.041-27.395 36.32-46.407l17.558 3.954c-3.67 16.312-11.99 30.662-24.511 42.677l143.052 1.094c-5.13-14.524-16.16-46.501-20.357-70.217C451.89 293.171 450.15 45 450.025 19.992zM18.279 38.984l.881 18.725c17.856 12.047 32.035 23.91 45.969 35.527 12.887-11.156 2.404-29.725-5.82-39.091-13.668-5.346-27.335-10.467-41.03-15.16zM86.723 65.13c4.77 14.56 3.347 29.656-7.477 39.746 24.105 19.479 50.832 38.151 97.1 55.635 13.836-22.588 12.08-43.852-3.338-60.739-29.03-10.9-57.703-22.997-86.285-34.642zm-31.721 42.988V400h17.996V122.723c-6.187-4.856-12.114-9.73-17.996-14.606zm145.264 1.434c3.253 8.283 4.54 16.754 3.982 25.043-.765 11.35-4.673 22.135-10.545 32.095 16.926 5.691 36.192 11.248 58.451 16.655l2.604.633 1.834 1.953c9.223 9.826 22.535 17.206 35.469 21.006 12.933 3.8 25.473 3.655 31.814 1.056 18.024-7.385 24.773-22.363 24.932-37.84.152-14.822-7.069-28.554-15.479-33.306-45.88-1.699-89.948-12.607-133.062-27.295zm-33.264 66.476V400h17.996V182.605a502.784 502.784 0 0 1-17.996-6.578zM32 419.002v17.996h176v-17.996z"},child:[]}]})(s)}function V_e(s){return Z({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M18.36 6.64a9 9 0 1 1-12.73 0"},child:[]},{tag:"line",attr:{x1:"12",y1:"2",x2:"12",y2:"12"},child:[]}]})(s)}function Z_e(s){return Z({attr:{fill:"none",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"},child:[]}]})(s)}function X_e(s){return Z({attr:{version:"1.1",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M6 0l-6 8h6l-4 8 14-10h-8l6-6z"},child:[]}]})(s)}const V3e={SET:qxe,WORKING:$M,UNREACH:BM,LOWBAT:PM,MAINTAIN:$L,ERROR:UL,DIRECTION:QL,CONNECTED:BM,ACTUAL:U_e,SECOND:$_e,PRESS_LONG:bL,PRESS:vL,MUTE:YL,ACCURACY:B_e,RADIUS:r_e,ELEVATION:e_e,LATITUDE:t_e,LONGITUDE:o_e,GPS:kL,ON_ACTUAL:WM,ON_SET:WM,OPEN:SL,STOP:G_e,WATER_ALARM:El,WASTE_ALARM:Yl,PAUSE:Kxe,STATE:R_e,BATTERY:PM,WASTE:Yl,WATER:El,WORK_MODE:$M,MODE:_L,POWER:i_e,BOOST:Q_e,HUMIDITY:c_e,TEMPERATURE:l_e,BRIGHTNESS:a_e,MOTION:xL,FIRE:M_e,WINDOW:I4,SMOKE:u_e,SWING:H_e,SPEED:F_e,DIMMER:Z_e,ON:V_e,COLOR_TEMP:fL,ELECTRIC_POWER:X_e,CURRENT:P_e,VOLTAGE:W_e,CONSUMPTION:b_e,FREQUENCY:J_e,HUE:N_e};class A4 extends M.Component{static generateFile(e,t){const i=window.document.createElement("a");i.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),i.setAttribute("download",e),i.style.display="none",window.document.body.appendChild(i),i.click(),window.document.body.removeChild(i)}handleFileSelect=e=>{const t=e.target,i=t==null?void 0:t.files;if(!i||!i.length){console.error("No files found. Please report to developers");return}const r=i[0];if(r){const o=new window.FileReader;o.onload=()=>{var a;const n=((a=o.result)==null?void 0:a.toString())||"";try{const c=JSON.parse(n);c.native&&c.common?c.common.name!==this.props.common.name?this.props.onError&&this.props.onError(h.t("ra_otherConfig",c.common.name)):this.props.onLoad&&this.props.onLoad(c.native):this.props.onError&&this.props.onError(h.t("ra_invalidConfig"))}catch(c){this.props.onError&&this.props.onError(c==null?void 0:c.toString())}},o.readAsText(r)}else alert("Failed to open JSON File")};download(){const e={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};e.common.news&&delete e.common.news,e.common.titleLang&&delete e.common.titleLang,e.common.desc&&delete e.common.desc,A4.generateFile(`${e._id}.json`,e)}upload(){const e=window.document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",this.handleFileSelect,!1),e.click()}render(){return M.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?M.createElement(me,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?M.createElement(j.Fab,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{const e=window.open(this.props.common.readme,"_blank");e==null||e.focus()}},M.createElement(PL,null)):null,M.createElement(j.Fab,{size:"small",color:"primary","aria-label":"Load config",style:{marginRight:5,marginTop:5,float:"right"},title:h.t("ra_Load configuration from file"),onClick:()=>this.upload()},M.createElement(Og,null)),M.createElement(j.Fab,{size:"small",color:"primary","aria-label":"Save config",style:{marginRight:5,marginTop:5,float:"right"},title:h.t("ra_Save configuration to file"),onClick:()=>this.download()},M.createElement(mg,null)))}}class m4{static text2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static getTitle(e){const t=m4.extractHeader(e);let i=t.body;const r=t.header;if(!r.title){i=i.replace(/{[^}]*}/g,""),i=i.trim();const o=i.replace(/\r/g,"").split(` + C231.591,212.679,237.828,191.414,234.21,169.856z`})))}function Xo(s){return M.createElement("svg",{viewBox:"1 -10 511.99999 511",...s},M.createElement("g",{fill:"currentColor"},M.createElement("path",{d:"M 405.5 150 C 405.5 232.566406 338.566406 299.5 256 299.5 C 173.433594 299.5 106.5 232.566406 106.5 150 C 106.5 67.433594 173.433594 0.5 256 0.5 C 338.566406 0.5 405.5 67.433594 405.5 150 Z M 405.5 150 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(25.882353%,75.294118%,88.627451%)",fillOpacity:1}}),M.createElement("path",{d:"M 512 342.921875 C 512 425.488281 445.066406 492.421875 362.5 492.421875 C 279.933594 492.421875 213 425.488281 213 342.921875 C 213 260.355469 279.933594 193.421875 362.5 193.421875 C 445.066406 193.421875 512 260.355469 512 342.921875 Z M 512 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,81.568627%,38.039216%)",fillOpacity:1}}),M.createElement("path",{d:"M 220.746094 295.308594 C 232.050781 298.039062 243.855469 299.5 256 299.5 C 321.917969 299.5 377.871094 256.835938 397.753906 197.613281 C 386.449219 194.878906 374.644531 193.421875 362.5 193.421875 C 296.582031 193.421875 240.628906 236.085938 220.746094 295.308594 Z M 220.746094 295.308594 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(28.627451%,74.117647%,56.470588%)",fillOpacity:1}}),M.createElement("path",{d:"M 299 342.921875 C 299 425.488281 232.066406 492.421875 149.5 492.421875 C 66.933594 492.421875 0 425.488281 0 342.921875 C 0 260.355469 66.933594 193.421875 149.5 193.421875 C 232.066406 193.421875 299 260.355469 299 342.921875 Z M 299 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(98.039216%,43.921569%,69.803922%)",fillOpacity:1}}),M.createElement("path",{d:"M 114.246094 197.613281 C 134.128906 256.835938 190.082031 299.5 256 299.5 C 268.144531 299.5 279.949219 298.039062 291.253906 295.308594 C 271.371094 236.085938 215.417969 193.421875 149.5 193.421875 C 137.355469 193.421875 125.550781 194.878906 114.246094 197.613281 Z M 114.246094 197.613281 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(68.627451%,48.235294%,77.647059%)",fillOpacity:1}}),M.createElement("path",{d:"M 213 342.921875 C 213 383.800781 229.414062 420.839844 256 447.828125 C 282.585938 420.839844 299 383.800781 299 342.921875 C 299 302.042969 282.585938 265.003906 256 238.015625 C 229.414062 265.003906 213 302.042969 213 342.921875 Z M 213 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(93.72549%,38.039216%,13.333333%)",fillOpacity:1}}),M.createElement("path",{d:"M 291.253906 295.320312 C 279.949219 298.046875 268.140625 299.5 256 299.5 C 243.859375 299.5 232.050781 298.046875 220.746094 295.320312 C 228.058594 273.542969 240.242188 254.015625 256 238.015625 C 271.757812 254.015625 283.941406 273.542969 291.253906 295.320312 Z M 291.253906 295.320312 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,100%,100%)",fillOpacity:1}})))}function w_e(s){return M.createElement("svg",{width:32,height:32,viewBox:"0 0 365.445 365.445",...s},M.createElement("g",{fill:"currentColor"},M.createElement("path",{d:"M146.7 162.775h-26.8a6.655 6.655 0 0 0-6.647 6.647v26.602a6.653 6.653 0 0 0 6.647 6.646h26.8a6.654 6.654 0 0 0 6.647-6.646v-26.602a6.655 6.655 0 0 0-6.647-6.647zM245.547 162.775h-26.801a6.653 6.653 0 0 0-6.646 6.647v26.602a6.652 6.652 0 0 0 6.646 6.646h26.801a6.654 6.654 0 0 0 6.646-6.646v-26.602a6.655 6.655 0 0 0-6.646-6.647z"})),M.createElement("path",{d:"M345.445 1.204H20c-11.046 0-20 8.954-20 20v323.037c0 11.045 8.954 20 20 20h325.445c11.045 0 20-8.955 20-20V21.204c0-11.045-8.953-20-20-20zM182.723 287.66c-57.955 0-104.937-46.981-104.937-104.937 0-57.957 46.982-104.938 104.937-104.938S287.66 124.767 287.66 182.723 240.678 287.66 182.723 287.66z",fill:"currentColor"}))}function C_e(s){return M.createElement("svg",{width:32,height:32,viewBox:"0 0 45.659 45.659",...s},M.createElement("path",{fill:"currentColor",d:"M30.619 27.309V7.781C30.619 3.49 27.124 0 22.833 0c-4.29 0-7.785 3.491-7.785 7.78v19.528a10.722 10.722 0 0 0-3.05 7.522c0 5.972 4.857 10.828 10.829 10.828 5.97 0 10.834-4.856 10.834-10.828 0-2.918-1.141-5.572-3.042-7.521zM22.825 42.66c-4.316 0-7.824-3.512-7.824-7.828 0-2.527 1.174-4.779 3.077-6.211V16.237h3.372c.552 0 1-.47 1-1.022 0-.553-.448-1.021-1-1.021h-3.372v-2.466h3.372c.552 0 1-.434 1-.986a.989.989 0 0 0-1-.986h-3.372V7.78c0-2.636 2.119-4.78 4.754-4.78 2.637 0 4.756 2.144 4.756 4.781v20.871c1.903 1.434 3.047 3.671 3.047 6.18 0 4.316-3.494 7.828-7.81 7.828z"}),M.createElement("path",{fill:"currentColor",d:"M25.334 30.463V18.632h-5.002v11.831a4.973 4.973 0 0 0-2.537 4.369 5.038 5.038 0 0 0 5.038 5.046 5.034 5.034 0 0 0 5.034-5.046c0-1.866-.982-3.495-2.533-4.369z"}))}function I_e(s){return M.createElement("svg",{viewBox:"0 0 297 297",...s},M.createElement("g",null,M.createElement("path",{fill:"currentColor",d:"m243.404,138.042c-5.775,0-10.458,4.683-10.458,10.458 0,46.564-37.883,84.446-84.446,84.446s-84.446-37.882-84.446-84.446 37.883-84.446 84.446-84.446c5.775,0 10.458-4.683 10.458-10.458s-4.683-10.457-10.458-10.457c-58.097,0-105.361,47.265-105.361,105.361s47.264,105.361 105.361,105.361 105.361-47.264 105.361-105.361c0-5.775-4.681-10.458-10.457-10.458z"}),M.createElement("path",{fill:"currentColor",d:"m142.963,121.344l-20.272-30.41c-3.203-4.807-9.695-6.104-14.502-2.9-4.805,3.202-6.104,9.695-2.9,14.502l20.279,30.422c-3.015,4.436-4.78,9.787-4.78,15.543 0,15.281 12.432,27.713 27.713,27.713 15.281,0 27.713-12.432 27.713-27.713 0-15.281-12.432-27.713-27.713-27.713-1.897-0.001-3.749,0.191-5.538,0.556zm12.335,27.156c0,3.748-3.05,6.798-6.798,6.798s-6.798-3.05-6.798-6.798 3.05-6.798 6.798-6.798 6.798,3.05 6.798,6.798z"}),M.createElement("path",{fill:"currentColor",d:"M148.5,0C66.617,0,0,66.617,0,148.5S66.617,297,148.5,297S297,230.383,297,148.5S230.383,0,148.5,0z M158.958,275.653 v-6.366c0-5.775-4.683-10.458-10.458-10.458c-5.775,0-10.458,4.683-10.458,10.458v6.366 c-62.027-5.056-111.64-54.668-116.695-116.695h6.366c5.775,0,10.458-4.683,10.458-10.458s-4.683-10.458-10.458-10.458h-6.366 c5.056-62.027,54.668-111.64,116.695-116.695v6.366c0,5.775,4.683,10.458,10.458,10.458c5.775,0,10.458-4.683,10.458-10.458v-6.366 c62.027,5.056,111.64,54.668,116.695,116.695h-6.366c-5.775,0-10.458,4.683-10.458,10.458s4.683,10.458,10.458,10.458h6.366 C270.598,220.985,220.985,270.598,158.958,275.653z"})))}function p_e(s){return M.createElement("svg",{viewBox:"0 0 361 361",...s},M.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),M.createElement("path",{d:"M228.5 205.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H228.5c-2.726 0-5 2.274-5 5s2.274 5 5 5z",fill:"currentColor"}),M.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),M.createElement("path",{d:"M232.826 280.905c-.339 3.356-18.813-.782-20.919-1.06l-45.073-5.94-45.074-5.94-14.507-1.912c-1.456-.192-6.201-.055-6.412-2.147-.621-6.157 0-12.699 0-18.878v-43.5-82.076-5.13c0-2.551 5.184-1.015 6.412-.853l35.438 4.67 83.723 11.035c1.457.192 6.201.055 6.412 2.147.169 1.673 0 3.451 0 5.13v144.454c0 6.448 10 6.448 10 0V136.451v-5.13c0-7.619-6.137-10.793-12.673-11.655l-28.531-3.76-88.411-11.652-9.897-1.304c-6.555-.864-12.473 4.9-12.473 11.38v144.832c0 2.023-.071 4.04.132 6.053.717 7.111 6.606 9.563 12.759 10.374l76.827 10.125 39.896 5.259 9.697 1.278c7.063.931 12.011-4.778 12.673-11.346.648-6.415-9.358-6.352-9.999 0z",fill:"currentColor"}))}function I4(s){return M.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...s},M.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),M.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9zM265.732 265.178c.584 2.887-1.629 5.228-4.942 5.228H103.457c-3.313 0-6.474-2.341-7.058-5.228L75.24 130.633c-.584-2.887 1.628-5.228 4.942-5.228h157.333c3.313 0 6.474 2.34 7.058 5.228l21.159 134.545z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),M.createElement("path",{d:"M247.194 199.667h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5h-6.639c-2.726 0-5 2.274-5 5s2.275 5 5 5z",fill:"currentColor"}))}const A_e={"type-Device type":"Device type","type-airCondition":"Air conditioner","type-blind":"Blinds","type-blindButtons":"Blind controlled by buttons","type-button":"Button","type-buttonSensor":"Button with feedback","type-camera":"Camera","type-chart":"Chart","type-cie":"CIE color light","type-ct":"Color temperature","type-dimmer":"Dimmer","type-door":"Door","type-fireAlarm":"Fire alarm","type-floodAlarm":"Flood alarm","type-gate":"Gate","type-hue":"HUE light","type-humidity":"Humidity","type-illuminance":"Illuminance","type-image":"Image","type-info":"Information","type-instance":"Instance","type-light":"Light","type-location":"Position","type-locationOne":"Position as one state","type-lock":"Lock","type-media":"Media-player","type-motion":"Motion sensor","type-rgb":"RGB light","type-rgbSingle":"R,G,B light - single states","type-rgbwSingle":"R,G,B,W light - single states","type-slider":"Slider","type-socket":"Socket","type-temperature":"Temperature","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Vacuum cleaner","type-valve":"Valve","type-volume":"Volume","type-volumeGroup":"Volume group","type-warning":"Warning","type-weatherCurrent":"Current weather","type-weatherForecast":"Weather forecast","type-window":"Window sensor","type-windowTilt":"Window tilt sensor"},m_e={"type-Device type":"Gerätetyp","type-airCondition":"Klimaanlage","type-blind":"Jalousien","type-blindButtons":"Jalousie über Tasten gesteuert","type-button":"Taste","type-buttonSensor":"Taste mit Rückmeldung","type-camera":"Kamera","type-chart":"Diagramm","type-cie":"CIE Farblicht","type-ct":"Farbtemperatur","type-dimmer":"Dimmer","type-door":"Türsensor","type-fireAlarm":"Feueralarm","type-floodAlarm":"Wasseralarm","type-gate":"Tor-Steuerung","type-hue":"HUE-Licht","type-humidity":"Feuchtigkeit","type-illuminance":"Beleuchtungsstärke","type-image":"Bild","type-info":"Information","type-instance":"Instanz","type-light":"Licht","type-location":"Position","type-locationOne":"Position als ein Zustand","type-lock":"Schloss","type-media":"Mediaplayer","type-motion":"Bewegungssensor","type-rgb":"RGB-Licht","type-rgbSingle":"R,G,B-Licht Einzelwerte","type-rgbwSingle":"R,G,B,W-Licht Einzelwerte","type-slider":"Schieberegler","type-socket":"Steckdose","type-temperature":"Temperatur","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Staubsauger","type-valve":"Ventil","type-volume":"Lautstärke","type-volumeGroup":"Lautstärke-Gruppe","type-warning":"Warnung","type-weatherCurrent":"Aktuelle Wetterlage","type-weatherForecast":"Wettervorhersage","type-window":"Fenstersensor","type-windowTilt":"Fensterkippung-Sensor"},O_e={"type-Device type":"Тип устройства","type-airCondition":"Кондиционер","type-blind":"Рольставни/Жалюзи","type-blindButtons":"Жалюзи управляющиеся кнопками","type-button":"Кнопка","type-buttonSensor":"Кнопка с обратной связью","type-camera":"Камера","type-chart":"Диаграмма","type-cie":"CIE свет","type-ct":"Цветовая температура","type-dimmer":"Диммер","type-door":"Датчик положения двери","type-fireAlarm":"Датчик дыма","type-floodAlarm":"Датчик затопления","type-gate":"Ворота","type-hue":"HUE свет","type-humidity":"Влажность","type-illuminance":"Освещенность","type-image":"Изображение","type-info":"Информация","type-instance":"Инстанция","type-light":"Свет","type-location":"Местоположение","type-locationOne":"Позиция в одном состоянии","type-lock":"Замок","type-media":"Медиа-плейер","type-motion":"Датчик движения","type-rgb":"RGB свет","type-rgbSingle":"R,G,B как отдельные значение","type-rgbwSingle":"R,G,B,W как отдельные значение","type-slider":"Ползунок","type-socket":"Розетка","type-temperature":"Температура","type-thermostat":"Термостат","type-url":"URL","type-vacuumCleaner":"Пылесос","type-valve":"Вентиль","type-volume":"Громкость","type-volumeGroup":"Группа громкости","type-warning":"Предупреждение","type-weatherCurrent":"Актуальная погода","type-weatherForecast":"Прогноз погоды","type-window":"Датчик открытия окна","type-windowTilt":"Датчик наклона окна"},E_e={"type-Device type":"Tipo de dispositivo","type-airCondition":"Ar condicionado","type-blind":"persianas","type-blindButtons":"Persiana controlada por botões","type-button":"botão","type-buttonSensor":"Sensor de botão","type-camera":"câmera","type-chart":"Gráfico","type-cie":"Luz colorida CIE","type-ct":"Temperatura de cor","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"alarme de incêndio","type-floodAlarm":"alarme de inundação","type-gate":"portão","type-hue":"Luz HUE","type-humidity":"umidade","type-illuminance":"Iluminância","type-image":"imagem","type-info":"informação","type-instance":"exemplo","type-light":"luz","type-location":"localização","type-locationOne":"Posição como um estado","type-lock":"trancar","type-media":"mídia","type-motion":"movimento","type-rgb":"Luz RGB","type-rgbSingle":"Luz RGB única","type-rgbwSingle":"RGBW como valor único","type-slider":"controle deslizante","type-socket":"soquete","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirador de pó","type-valve":"válvula","type-volume":"volume","type-volumeGroup":"grupo de volume","type-warning":"aviso","type-weatherCurrent":"clima atual","type-weatherForecast":"previsão do tempo","type-window":"janela","type-windowTilt":"inclinação da janela"},f_e={"type-Device type":"Typ urządzenia","type-airCondition":"Klimatyzator","type-blind":"żaluzje","type-blindButtons":"Roleta sterowana przyciskami","type-button":"przycisk","type-buttonSensor":"Czujnik przycisku","type-camera":"kamera","type-chart":"Wykres","type-cie":"Światło kolorowe CIE","type-ct":"Temperatura barwowa","type-dimmer":"opornik","type-door":"drzwi","type-fireAlarm":"alarm pożarowy","type-floodAlarm":"alarm przeciwpowodziowy","type-gate":"brama","type-hue":"Światło HUE","type-humidity":"wilgotność","type-illuminance":"Natężenie oświetlenia","type-image":"obraz","type-info":"Informacje","type-instance":"przykład","type-light":"światło","type-location":"lokalizacja","type-locationOne":"Pozycja jako państwa","type-lock":"zamek","type-media":"głoska bezdźwięczna","type-motion":"ruch","type-rgb":"Światło RGB","type-rgbSingle":"Pojedyncze światło RGB","type-rgbwSingle":"RGBW jako pojedyncza wartość","type-slider":"suwak","type-socket":"gniazdo","type-temperature":"temperatura","type-thermostat":"termostat","type-url":"Adres URL","type-vacuumCleaner":"Odkurzacz","type-valve":"zawór","type-volume":"tom","type-volumeGroup":"grupa woluminów","type-warning":"ostrzeżenie","type-weatherCurrent":"aktualna pogoda","type-weatherForecast":"prognoza pogody","type-window":"okno","type-windowTilt":"pochylenie okna"},x_e={"type-Device type":"Type d'appareil","type-airCondition":"Climatiseur","type-blind":"stores","type-blindButtons":"Store commandé par boutons","type-button":"bouton","type-buttonSensor":"Capteur de bouton","type-camera":"caméra","type-chart":"Graphique","type-cie":"lumière colorée CIE","type-ct":"Température de couleur","type-dimmer":"variateur","type-door":"porte","type-fireAlarm":"alarme incendie","type-floodAlarm":"alarme d'inondation","type-gate":"grille","type-hue":"Lumière HUE","type-humidity":"humidité","type-illuminance":"Éclairement","type-image":"image","type-info":"informations","type-instance":"exemple","type-light":"lumière","type-location":"emplacement","type-locationOne":"Position en tant qu'État","type-lock":"verrouillage","type-media":"médias","type-motion":"mouvement","type-rgb":"lumière RVB","type-rgbSingle":"Lumière RVB simple","type-rgbwSingle":"RGBW comme valeur unique","type-slider":"curseur","type-socket":"douille","type-temperature":"température","type-thermostat":"thermostat","type-url":"URL","type-vacuumCleaner":"Aspirateur","type-valve":"soupape","type-volume":"volume","type-volumeGroup":"groupe de volumes","type-warning":"avertissement","type-weatherCurrent":"météo actuelle","type-weatherForecast":"prévisions météorologiques","type-window":"fenêtre","type-windowTilt":"inclinaison de la fenêtre"},__e={"type-Device type":"Tipo di dispositivo","type-airCondition":"Condizionatore d'aria","type-blind":"tende","type-blindButtons":"Tenda controllata da pulsanti","type-button":"pulsante","type-buttonSensor":"Sensore del pulsante","type-camera":"telecamera","type-chart":"Grafico","type-cie":"Luce colorata CIE","type-ct":"Temperatura del colore","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"allarme antincendio","type-floodAlarm":"allarme allagamento","type-gate":"cancello","type-hue":"Luce HUE","type-humidity":"umidità","type-illuminance":"Illuminamento","type-image":"immagine","type-info":"informazioni","type-instance":"esempio","type-light":"leggero","type-location":"posizione","type-locationOne":"Posizione come stato","type-lock":"serratura","type-media":"media","type-motion":"movimento","type-rgb":"luce RGB","type-rgbSingle":"Luce RGB singola","type-rgbwSingle":"RGBW come valore singolo","type-slider":"cursore","type-socket":"PRESA","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirapolvere","type-valve":"valvola","type-volume":"volume","type-volumeGroup":"gruppo di volumi","type-warning":"avvertimento","type-weatherCurrent":"meteo attuale","type-weatherForecast":"previsioni del tempo","type-window":"finestra","type-windowTilt":"inclinazione della finestra"},S_e={"type-Device type":"Apparaattype","type-airCondition":"Airconditioner","type-blind":"jaloezieën","type-blindButtons":"Jaloezie bediend door knoppen","type-button":"knop","type-buttonSensor":"Knopsensor","type-camera":"camera","type-chart":"Grafiek","type-cie":"CIE-kleurenlicht","type-ct":"Kleurtemperatuur","type-dimmer":"dimmer","type-door":"deur","type-fireAlarm":"brandalarm","type-floodAlarm":"overstromingsalarm","type-gate":"hek","type-hue":"HUE-licht","type-humidity":"vochtigheid","type-illuminance":"Verlichtingssterkte","type-image":"afbeelding","type-info":"informatie","type-instance":"aanleg","type-light":"licht","type-location":"locatie","type-locationOne":"Positie als staat","type-lock":"slot","type-media":"media","type-motion":"beweging","type-rgb":"RGB-licht","type-rgbSingle":"RGB-licht enkel","type-rgbwSingle":"RGBW als enkele waarde","type-slider":"schuifregelaar","type-socket":"stopcontact","type-temperature":"temperatuur","type-thermostat":"thermostaat","type-url":"URL","type-vacuumCleaner":"Stofzuiger","type-valve":"ventiel","type-volume":"volume","type-volumeGroup":"volumegroep","type-warning":"waarschuwing","type-weatherCurrent":"huidige weersomstandigheden","type-weatherForecast":"weersvoorspelling","type-window":"raam","type-windowTilt":"raamkanteling"},k_e={"type-Device type":"Тип пристрою","type-airCondition":"Кондиціонер","type-blind":"жалюзі","type-blindButtons":"Штора керується кнопками","type-button":"кнопку","type-buttonSensor":"Датчик кнопки","type-camera":"камера","type-chart":"Діаграма","type-cie":"Кольорове світло CIE","type-ct":"Колірна температура","type-dimmer":"диммер","type-door":"двері","type-fireAlarm":"пожежна сигналізація","type-floodAlarm":"сигналізація про повінь","type-gate":"ворота","type-hue":"світло HUE","type-humidity":"вологість","type-illuminance":"Освітленість","type-image":"зображення","type-info":"інформація","type-instance":"екземпляр","type-light":"світло","type-location":"розташування","type-locationOne":"Позиція як держави","type-lock":"замок","type-media":"ЗМІ","type-motion":"руху","type-rgb":"RGB світло","type-rgbSingle":"Одиночне світло RGB","type-rgbwSingle":"RGBW як одне значення","type-slider":"повзунок","type-socket":"гніздо","type-temperature":"температура","type-thermostat":"термостат","type-url":"URL","type-vacuumCleaner":"Пилосос","type-valve":"клапан","type-volume":"обсяг","type-volumeGroup":"група обсягів","type-warning":"УВАГА","type-weatherCurrent":"поточна погода","type-weatherForecast":"прогноз погоди","type-window":"вікно","type-windowTilt":"нахил вікна"},Y_e={"type-Device type":"设备类型","type-airCondition":"空调","type-blind":"百叶窗","type-blindButtons":"按钮控制百叶窗","type-button":"按钮","type-buttonSensor":"按钮传感器","type-camera":"相机","type-chart":"图表","type-cie":"CIE色光","type-ct":"色温","type-dimmer":"调光器","type-door":"门","type-fireAlarm":"火灾报警","type-floodAlarm":"洪水警报","type-gate":"门","type-hue":"色调灯","type-humidity":"湿度","type-illuminance":"照度","type-image":"图像","type-info":"信息","type-instance":"实例","type-light":"光","type-location":"地点","type-locationOne":"作为一个国家的地位","type-lock":"锁","type-media":"媒体","type-motion":"运动","type-rgb":"RGB灯","type-rgbSingle":"RGB灯单","type-rgbwSingle":"RGBW 作为单一值","type-slider":"滑块","type-socket":"插座","type-temperature":"温度","type-thermostat":"恒温器","type-url":"网址","type-vacuumCleaner":"吸尘器","type-valve":"阀门","type-volume":"体积","type-volumeGroup":"卷组","type-warning":"警告","type-weatherCurrent":"当前天气","type-weatherForecast":"天气预报","type-window":"窗户","type-windowTilt":"窗户倾斜"};let Sl=!1;function p4(){Sl||(Sl=!0,h.extendTranslations({en:A_e,de:m_e,ru:O_e,pt:E_e,pl:f_e,fr:x_e,it:__e,nl:S_e,uk:k_e,"zh-cn":Y_e}))}const kl={[B.Types.airCondition]:EL,[B.Types.blind]:_l,[B.Types.blindButtons]:_l,[B.Types.button]:z_e,[B.Types.buttonSensor]:L_e,[B.Types.camera]:n_e,[B.Types.chart]:s_e,[B.Types.image]:OL,[B.Types.dimmer]:mL,[B.Types.door]:T_e,[B.Types.fireAlarm]:fl,"sensor.alarm.fire":fl,[B.Types.floodAlarm]:xl,"sensor.alarm.flood":xl,[B.Types.gate]:d_e,[B.Types.humidity]:D_e,[B.Types.illuminance]:g_e,[B.Types.info]:AL,[B.Types.light]:pL,[B.Types.lock]:IL,[B.Types.location]:CL,[B.Types.locationOne]:wL,[B.Types.media]:zL,[B.Types.motion]:h_e,[B.Types.ct]:UM,[B.Types.rgb]:Xo,[B.Types.rgbSingle]:Xo,[B.Types.rgbwSingle]:j_e,[B.Types.hue]:UM,[B.Types.cie]:Xo,[B.Types.slider]:hL,[B.Types.socket]:w_e,[B.Types.temperature]:C_e,[B.Types.thermostat]:I_e,[B.Types.vacuumCleaner]:y_e,[B.Types.volume]:DL,[B.Types.volumeGroup]:dL,[B.Types.window]:p_e,[B.Types.windowTilt]:I4,[B.Types.weatherCurrent]:Ol,[B.Types.weatherForecast]:Ol,[B.Types.warning]:QM,[B.Types.unknown]:TL,[B.Types.instance]:yL,invalid:QM,hub3:jL,node:gL,hub5:LL,controller:NL},Dr={width:32,height:32};function v_e(s){const[e,t]=M.useState(!1);if(f.useEffect(()=>{s.title&&!e&&(p4(),t(!0))},[s.title,e]),!e&&s.title)return M.createElement(j.Box,{style:{...Dr,...s.style||void 0},className:s.className,sx:s.sx});const i=s.type||(s.src?Object.keys(kl).find(n=>s.src===n):void 0);if(!i&&s.src)return M.createElement(me,{style:Dr,...s,title:s.title===!0?void 0:s.title,src:s.src});const r=i&&kl[i];if(!r)return i?M.createElement("span",{style:{...Dr,...s.style||void 0}},i[0].toUpperCase()):null;const o=M.createElement(r,{style:{...Dr,...s.style||void 0},onClick:s.onClick,className:s.className,sx:s.sx});return s.title?M.createElement(j.Tooltip,{slotProps:{popper:{sx:{pointerEvents:"none"}}},title:s.title===!0?h.t(`type-${i}`):s.title},M.createElement("div",{style:{display:"flex"}},o)):o}const Et={itemChildrenWrapper:{display:"flex",width:"100%",justifyContent:"space-between"},type:{marginTop:10},selectIcon:{paddingRight:8,verticalAlign:"middle",width:20,height:20},selectText:{verticalAlign:"middle"},iconWrapper:{display:"flex",alignItems:"center"},iconStyle:{width:16,height:16,margin:"0 3px"},emptyIcon:{width:16,height:16,margin:"0 3px"}};function Z3e(s){const[e,t]=M.useState({}),[i,r]=M.useState([]);return f.useEffect(()=>{const o={};Object.keys(B.Types).filter(a=>{var c,l;return(!s.supportedDevices||((c=s.supportedDevices)==null?void 0:c.includes(a)))&&!((l=s.unsupportedDevices)!=null&&l.includes(a))}).forEach(a=>o[a]=h.t(`type-${B.Types[a]}`));const n=Object.keys(o);n.sort((a,c)=>o[a]===o[c]?0:o[a].localeCompare(o[c],"de")),p4(),r(n),t(o)},[s.supportedDevices,s.unsupportedDevices]),i?M.createElement(j.FormControl,{style:{...Et.type,...s.style},sx:s.sx,variant:"standard",error:!!s.error},M.createElement(j.InputLabel,null,s.label||h.t("type-Device type")),M.createElement(j.Select,{variant:"standard",disabled:!!s.disabled,value:s.value,onChange:o=>s.onChange(o.target.value)},i.map(o=>{var n;return M.createElement(j.MenuItem,{key:B.Types[o],value:B.Types[o]},M.createElement("div",{style:Et.itemChildrenWrapper},M.createElement("div",null,M.createElement(v_e,{type:B.Types[o],style:{...Et.selectIcon,color:s.themeType==="dark"?"#FFFFFF":"#000"}}),M.createElement("span",{style:Et.selectText},e[o])),(n=s.showApplications)!=null&&n.TYPE_OPTIONS[o]?M.createElement("div",{style:Et.iconWrapper},Object.keys(s.showApplications.TYPE_OPTIONS[o]).map(a=>s.showApplications.TYPE_OPTIONS[o][a]?M.createElement(me,{key:a,style:Et.iconStyle,src:s.showApplications.ICONS_TYPE[a]}):M.createElement("div",{key:a,style:Et.emptyIcon}))):null))}))):M.createElement(j.Box,{style:{...Et.type,...s.style},sx:s.sx})}function b_e(s){return Z({attr:{version:"1",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48"},child:[{tag:"circle",attr:{fill:"#B2EBF2",cx:"32",cy:"24",r:"9"},child:[]},{tag:"path",attr:{fill:"#4DD0E1",d:"M32,12c-6.6,0-12,5.4-12,12c0,6.6,5.4,12,12,12s12-5.4,12-12C44,17.4,38.6,12,32,12z M32,32 c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S36.4,32,32,32z"},child:[]},{tag:"g",attr:{fill:"#3F51B5"},child:[{tag:"polygon",attr:{points:"25.4,22 19.8,5.1 13.6,27.7 11.4,22 4,22 4,26 8.6,26 14.4,40.3 20.2,18.9 22.6,26 30,26 30,22"},child:[]},{tag:"circle",attr:{cx:"32",cy:"24",r:"4"},child:[]}]}]})(s)}function Q_e(s){return Z({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4.428 2.727l3.335 3.335c-.486.07-.903.276-1.32.624L.886 12.383c-1.181 1.18-1.181 3.194 0 4.375a2.41 2.41 0 0 0 1.598.834l17.088 3.681-3.335-3.333c.486-.07.903-.278 1.32-.626l5.557-5.695c1.181-1.181 1.181-3.196 0-4.377a2.411 2.411 0 0 0-1.598-.833zM11.653 6.2c.694 0 1.25.486 1.25 1.18 0 .695-.486 1.251-1.181 1.251-.695 0-1.25-.485-1.25-1.18s.555-1.251 1.18-1.251zm1.51 3.792c.049-.006.088.046.088.098-.139.694-.695 1.181-1.39 1.181-.694 0-1.32-.487-1.46-1.112 0 0 .002-.07.071 0 .487.278.972.348 1.32.278.346 0 .833-.07 1.32-.416a.092.092 0 0 1 .05-.029zm.723 2.511c.058.013.06.106.06.158-.209.903-.973 1.666-1.946 1.666a2.167 2.167 0 0 1-2.084-1.528c-.07-.07 0-.138.138-.138.695.347 1.39.416 1.877.416.486 0 1.18-.14 1.875-.556.035-.017.06-.022.08-.018zm.597 3.018c.049-.013.087.09.087.195-.278 1.181-1.25 2.085-2.5 2.155-1.251 0-2.293-.835-2.57-1.946 0-.139.068-.278.207-.209.834.486 1.737.556 2.362.556s1.529-.208 2.362-.694c.018-.035.036-.053.052-.057z"},child:[]}]})(s)}function U_e(s){return Z({attr:{version:"1.2",baseProfile:"tiny",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13 5l.855 3.42 3.389-.971 1.501 2.6-2.535 2.449 2.535 2.451-1.5 2.6-3.39-.971-.855 3.422h-3l-.855-3.422-3.39.971-1.501-2.6 2.535-2.451-2.534-2.449 1.5-2.6 3.39.971.855-3.42h3m0-2h-3c-.918 0-1.718.625-1.939 1.516l-.354 1.412-1.4-.4c-.184-.053-.369-.078-.552-.078-.7 0-1.368.37-1.731 1l-1.5 2.6c-.459.796-.317 1.802.342 2.438l1.047 1.011-1.048 1.015c-.66.637-.802 1.643-.343 2.438l1.502 2.6c.363.631 1.031 1 1.731 1 .183 0 .368-.025.552-.076l1.399-.401.354 1.415c.222.885 1.022 1.51 1.94 1.51h3c.918 0 1.718-.625 1.939-1.516l.354-1.414 1.399.4c.184.053.369.077.552.077.7 0 1.368-.37 1.731-1l1.5-2.6c.459-.796.317-1.8-.342-2.438l-1.047-1.013 1.047-1.013c.66-.637.801-1.644.342-2.438l-1.5-2.6c-.365-.631-1.031-1-1.732-1-.184 0-.368.025-.551.076l-1.4.401-.354-1.413c-.22-.884-1.02-1.509-1.938-1.509zM11.5 10.5c1.104 0 2 .895 2 2 0 1.104-.896 2-2 2s-2-.896-2-2c0-1.105.896-2 2-2m0-1c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3-1.346-3-3-3z"},child:[]}]})(s)}function $_e(s){return Z({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M7.707 17.707 13.414 12 7.707 6.293 6.293 7.707 10.586 12l-4.293 4.293zM15 6h2v12h-2z"},child:[]}]})(s)}function P_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M376 211H256V16L136 301h120v195z"},child:[]}]})(s)}function W_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 32l-64 96 80 16-16 80 64-96-80-16 16-80zm-96 217c-1.9 0-9.8 3-15.8 6.7-2.8 1.7-5.3 3.5-7.2 4.8v119c1.9 1.3 4.4 3.1 7.2 4.8 6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 5.9-3.7 10.6-7.3 10.6-7.3l2.5-2H201V265h-12.1l-2.5-2s-4.7-3.6-10.6-7.3c-6-3.7-13.9-6.7-15.8-6.7zm192 0c-1.9 0-9.8 3-15.8 6.7-5.9 3.7-10.6 7.3-10.6 7.3l-2.5 2H311v110h12.1l2.5 2s4.7 3.6 10.6 7.3c6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 2.8-1.7 5.3-3.5 7.2-4.8v-119c-1.9-1.3-4.4-3.1-7.2-4.8-6-3.7-13.9-6.7-15.8-6.7zm-133 16v110h14V265h-14zm32 0v110h42V265h-42zM95.5 311c-18.8 0-36.6 9.2-49.94 22.7C32.22 347.1 23 365 23 384v106h18V384c0-13 6.78-27.1 17.32-37.7C68.85 335.8 82.8 329 95.5 329H119v-18H95.5zm297.5 0v18h22.9c13.1 0 27.1 6.8 37.7 17.4C464.2 357 471 371 471 384v106h18V384c0-19-9.2-37-22.7-50.4-13.4-13.4-31.4-22.6-50.4-22.6H393z"},child:[]}]})(s)}function B_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M20.127 52.803v58.986L250.46 245.153c26.367-28.823 70.087-36.533 105.313-16.195 35.29 20.374 50.465 62.207 38.567 99.503l101.648 58.855-64.728-74.65 35.638-37.352-57.27-7.687 84.72-86.92-125.71 33.186 12.995-120.208-66.578 96.363-27.448-80.593-16.353 88.77L20.127 52.803zm0 105.12l-.008.018.007.005v-.02zm0 .022l-.002 87.582 155.344 89.95-89.94 33.287h135.493l-63.658 99.87 116.22-70.083 15.77 85.852 38.543-80.01 63.66 87.018-5.853-87.047 90.54 17.268-102.4-59.198c-26.546 26.964-68.89 33.744-103.183 13.945-34.322-19.816-49.62-59.928-39.49-96.424L20.127 157.945zm316.6 119.442c-.938-.003-1.874.027-2.805.092-12.42.86-24.164 7.707-30.9 19.375-10.78 18.67-4.455 42.27 14.214 53.047 18.67 10.78 42.27 4.455 53.047-14.214 10.78-18.67 4.454-42.27-14.215-53.047-6.125-3.536-12.78-5.23-19.34-5.253z"},child:[]}]})(s)}function J_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M33.125 19.406L135.5 128.22l81-23.157 18.72-5.344-7.564 17.936-46.125 109.78 134.282-70 26.157-13.655L328.436 170 256.5 309.25l91.25-57.125 22.97-14.375-9.22 25.47-34.625 95.624 71-36.375 21.188-10.845L410.906 334l-33.937 93.063 45.124-6.688 4.53-.656 3.313 3.155 64.313 61.47-30.5-80.5 23.313-46.908-72.5 39.532 51.062-141.158-91.188 47.47 72.344-142.813-128.217 82.81L421.875 70.063 239.03 168.69l30.44-99.563-103.845 25.25-132.5-74.97zM18.155 30.78l77.876 108.25-31.124 75.532 94.125-46.78-98.905 166.812 190.25-99.656-101.03 185.406 140.25-79.063-46.94 102.22 106.5-53-45.655 92.28 86.5-14.467 93.47 31.562-63.158-60.344-56.125 8.314-15.53 2.312 5.374-14.75 31.158-85.437-70.907 36.31-21.124 10.814 8.094-22.313 33.47-92.436-97.22 60.875-28.938 18.092L224.22 331l74.06-143.344-131.06 68.313-22.97 12 10.03-23.908 48.626-115.687-67.75 19.375-5.5 1.563-3.875-4.157L18.157 30.78z"},child:[]}]})(s)}function R_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M288.3 13.4c-12.3-.01-23 6.49-27.3 15.31l-2.9 5.95-6.6-1.01c-5.5-.85-11.3-1.32-17.1-1.32-18.8 0-35.7 4.5-47.3 11.14-11.5 6.64-16.9 14.59-16.9 22 0 7.42 5.4 15.37 16.9 22 11.6 6.64 28.5 11.13 47.3 11.13 7.5-.02 14.9-.74 21.8-2.13l6.3-1.23 3.2 5.46c5.6 9.2 23.7 18.2 44.7 18.2 13.9 0 26.4-3.6 34.8-8.8 8.4-5.2 12.2-11.23 12.2-16.9 0-5.09-3-10.48-10-15.44-6.9-4.97-17.6-8.87-30-9.95l-18.3-1.59 12.5-13.49c4.1-4.41 6.1-9.6 6.1-14.87 0-12.88-12.4-24.46-29.4-24.46zM152.2 65.46C84.8 102.3 39 173.9 39 256c0 32.1 7 62.6 19.54 90 5.95-7.9 10.48-13.4 12.67-16C62.05 307.2 57 282.2 57 256c0-74 40.27-138.5 100.1-172.78-3.1-5.39-4.9-11.34-4.9-17.74v-.02zm210.7 1.75c7.5 6.93 12.5 15.9 12.5 25.99 0 1.14-.1 2.27-.2 3.38C423.7 132.9 455 190.7 455 256c0 23.7-4.2 46.5-11.8 67.6l18.3 2.2c7.4-21.9 11.5-45.4 11.5-69.8 0-80.8-44.4-151.5-110.1-188.79zm58.6 270.49c-11.1.2-23 1.1-35.9 3.1l-.5.1-.5.1c-25.8 7.3-37.1 15.2-46.4 24.7l-2.2 2.2-.3 3.1c-3.4 29.6-5.8 60 0 91.8l1.3 6.8 6.8.6c30.6 2.6 58.7 1.4 86.2 0l1-.1.9-.2c18.5-5.2 34.4-12.8 46.4-24.6l1.7-1.6.6-2.2c10-33.4 3.4-63.8.4-92.7l-.8-7.4-7.3-.7c-16.2-1.5-32.8-3.2-51.4-3zM79.62 348.2c-4.94 6.1-11.43 14.5-18.58 25.6-12.29 18.9-22.53 42.4-20.51 54.9 1.43 8.8 6.97 19.6 14.51 27.6 7.54 7.9 16.69 12.8 24.58 12.8 7.87 0 17.03-4.9 24.58-12.8 7.5-8 13.1-18.8 14.5-27.6 2-12.5-8.2-36-20.5-54.9-7.15-11-13.64-19.5-18.58-25.6zM427 355.7c1.7 0 3.3 0 5 .1 5.4.1 10.7.4 16 .8-5.9 3.4-12.1 6.8-19.5 9.9l-2.4.2c-19.5 1.4-37.7.3-55.4-2 4.7-2 10.5-4 18.3-6.2 13.8-2.2 26.3-2.9 38-2.8zm38 11.6c2.8 22.9 5 44.5-1 66.6-7 6.3-16 11.4-27 15.4 3-22.5 2-44.8-.5-66.6 11.3-5 20.2-10.2 28.5-15.4zm-112.2 13.1c20.7 3.2 42.3 5.4 65.8 4.5 2.5 23 3.5 45.6-.4 67.8-21.5 1-43.1 1.5-65.8-.1-3.5-24-2.2-47.9.4-72.2zm-216.4 34.7c.9 5.5 1 11 .1 16.4-.3 1.6-.6 3.3-1 4.9C170 459.5 211.4 473 256 473c21.6 0 42.5-3.2 62.3-9.1l-2-18.2c-19 6-39.3 9.3-60.3 9.3-44.9 0-86.3-14.8-119.6-39.9z"},child:[]}]})(s)}function Yl(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M140 29.92c-31.4 0-59.89 3.25-79.89 8.25-9.9 2.5-17.8 5.51-22.4 8.25-3.2 1.87-4.1 3.15-4.5 3.58.4.43 1.3 1.71 4.5 3.58 4.6 2.74 12.5 5.75 22.4 8.25 20 5 48.49 8.25 79.89 8.25h5.7c5.3-2 11.1-3.78 17.6-5.4 20.3-5.08 46.5-8.42 75.8-9.36 1.2-.57 2.3-1.14 3.2-1.7 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zm232 0c-31.4 0-59.9 3.25-79.8 8.25-10 2.5-17.9 5.51-22.5 8.25-3.1 1.87-4.1 3.15-4.5 3.58.4.43 1.4 1.71 4.5 3.58.9.56 2 1.13 3.2 1.7 29.3.94 55.5 4.28 75.8 9.36 6.5 1.62 12.3 3.4 17.6 5.4h5.7c31.4 0 59.9-3.25 79.8-8.25 10-2.5 17.9-5.51 22.5-8.25 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zM33.01 71.44V369.9c0 4.3 1.8 8 6.8 12.3 5 4.3 13.1 8.5 23.3 11.9 15.3 5.1 35 8.5 55.89 9.8V278.3l-16.5 28.6-7.79-4.5c-27.4-15.9-44.3-45.3-44.4-77v-9h52.59c-.6 2.6-.9 5.3-.9 8.1 0 13.1 6.8 24.8 17 31.7v-63.4c-1.9 1.3-3.6 2.7-5.2 4.2l-25.99-45.1 7.8-4.5c7.49-4.2 15.29-7.3 23.39-9.3V87.61c-24.19-1.08-45.99-4.01-63.19-8.32-8.9-2.21-16.5-4.76-22.8-7.85zm445.99 0c-6.3 3.09-14 5.63-22.8 7.84-17.2 4.31-39 7.24-63.2 8.32v50.6c8.1 2 16 5.1 23.4 9.3l7.7 4.5-4.4 7.8-21.5 37.2c-1.6-1.5-3.3-2.9-5.2-4.2v63.4c10.2-6.9 17-18.6 17-31.7 0-2.8-.3-5.5-.9-8.1h50.8v9c0 31.8-17 61.1-44.4 77l-7.8 4.5-14.7-25.5v122.5c20.9-1.3 40.7-4.7 55.9-9.8 10.2-3.4 18.3-7.6 23.3-11.9 5-4.3 6.8-8 6.8-12.3zM256 73c-34.7 0-66.2 3.57-88.3 9.1-11.1 2.77-19.8 6.09-25.1 9.19-4.3 2.58-5.3 4.42-5.5 4.71.2.29 1.2 2.12 5.5 4.7 5.3 3.1 14 6.4 25.1 9.2 22.1 5.5 53.6 9.1 88.3 9.1 34.7 0 66.2-3.6 88.3-9.1 11.1-2.8 19.8-6.1 25.1-9.2 4.3-2.58 5.3-4.41 5.5-4.7-.2-.29-1.2-2.13-5.5-4.71-5.3-3.1-14-6.42-25.1-9.19-22.1-5.53-53.6-9.1-88.3-9.1zm118.9 23c.1.1.1.1.1 0s0-.1-.1 0zm-237.8 0c-.1-.1-.1-.1-.1 0s0 .1.1 0zm-.1 22.1V448c0 5 2.2 9.3 7.9 14.2 5.6 4.8 14.7 9.5 25.9 13.3 22.6 7.5 54 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2V118.1c-7.2 3.7-16 6.6-26.3 9.3-24.2 6-56.7 9.6-92.7 9.6s-68.5-3.6-92.7-9.6c-10.3-2.7-19.1-5.6-26.3-9.3zM256 191c16.8 0 33.5 4.4 48.5 13l7.8 4.5-4.5 7.8-24.1 41.6c-7.3-6.7-17-10.9-27.7-10.9s-20.4 4.2-27.7 10.9l-28.6-49.4 7.8-4.5c15-8.7 31.7-13 48.5-13zm0 74c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm-98 15h57.8c-.5 2.6-.8 5.3-.8 8 0 18.1 12 33.7 28.5 39l-29.2 50.5-7.8-4.5c-30-17.3-48.5-49.4-48.5-84zm138.2 0H352v9c0 34.6-18.5 66.7-48.5 84l-7.8 4.5-28.8-50c17.3-4.8 30.1-20.8 30.1-39.5 0-2.7-.3-5.4-.8-8z"},child:[]}]})(s)}function F_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 54.28c-124.603 0-226 101.398-226 226 0 47.864 14.975 92.293 40.465 128.876l29.79-19.86c-17.188-24.545-28.708-53.362-32.696-84.577H96v-18H66.115c-.07-2.14-.115-4.284-.115-6.44 0-45.378 15.816-86.97 42.236-119.598l17.4 17.4 12.727-12.727-18.133-18.132C152.735 114.057 197.335 92.8 247 90.498v29.22h18V90.5c49.665 2.302 94.265 23.56 126.77 56.725l-18.133 18.132 12.726 12.727 17.4-17.4c26.42 32.63 42.237 74.22 42.237 119.6 0 2.154-.044 4.3-.115 6.437H416v18h28.44c-3.987 31.214-15.507 60.03-32.694 84.575l29.79 19.86C467.025 372.574 482 328.146 482 280.282c0-124.602-101.397-226-226-226zm15.83 66.23a144 160 0 0 1 74.608 100.062l49.966-17.568a160 160 0 0 0-4.3-7.012l-5.135 5.153-30.368-30.29-5.76-5.746 7.85-7.874a160 160 0 0 0-86.862-36.726zm156.15 89.844l-175.332 60.6C240.505 272.618 231 283.155 231 295.72c0 13.7 11.3 25 25 25 6.77 0 12.95-2.764 17.473-7.208L427.98 210.354zm-16.513 32.322l-60.713 40.72a144 160 0 0 1-56.6 108.323h76.057a160 160 0 0 0 39.763-68.572H398.48v-52.515h17.022a160 160 0 0 0-4.035-27.957zM128 421.72v36h256v-36H128z"},child:[]}]})(s)}function G_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.7 21.04l-194.4.41L21.04 159.3l.41 194.4L159.3 491l194.4-.4L491 352.7l-.4-194.4L352.7 21.04zm-8 19.66l126.2 125.7.4 178.3-123.1 123.6-2.6 2.6-178.3.4L41.08 345.6l-.38-178.3L166.4 41.08l178.3-.38zm-7.5 18.01l-163.3.34L58.71 174.8l.34 163.3L174.8 453.3l163.3-.3 115.2-115.8-.3-163.3L337.2 58.71zM108.4 210.4c5.3 0 10.8.5 16.4 1.3 5.7.8 11.5 2 17.5 3.6v20.5c-5.3-2.4-10.5-4.2-15.6-5.4-5.1-1.2-9.9-1.8-14.4-1.8-6 0-10.4.8-13.25 2.5-2.87 1.6-4.3 4.2-4.3 7.7 0 2.6.96 4.6 2.87 6.1 1.95 1.4 5.48 2.7 10.58 3.7l10.6 2.1c10.8 2.2 18.5 5.5 23.1 9.9 4.5 4.5 6.8 10.8 6.8 18.9 0 10.7-3.2 18.7-9.5 24-6.4 5.2-16.1 7.8-29.2 7.8-6.1 0-12.3-.6-18.51-1.8-6.2-1.1-12.41-2.9-18.61-5.2v-21.1c6.2 3.3 12.19 5.8 17.96 7.5 5.82 1.6 11.46 2.4 16.76 2.4 5.5 0 9.7-.9 12.6-2.7 2.9-1.8 4.4-4.4 4.4-7.8 0-3.1-1-5.4-3-7.1-2-1.6-5.9-3.1-11.8-4.4l-9.7-2.1c-9.73-2.1-16.85-5.4-21.37-10-4.47-4.5-6.7-10.7-6.7-18.4 0-9.7 3.12-17.1 9.37-22.3 6.25-5.3 15.24-7.9 27-7.9zm187.7 0c15.6 0 27.8 4.5 36.7 13.5 8.9 8.9 13.3 21.2 13.3 37 0 15.7-4.4 28-13.3 37-8.9 8.9-21.1 13.4-36.7 13.4-15.6 0-27.8-4.5-36.7-13.4-8.9-9-13.3-21.3-13.3-37 0-15.8 4.4-28.1 13.3-37 8.9-9 21.1-13.5 36.7-13.5zm-141.9 1.8h89.6v18.9h-32.2v78.3h-25.1v-78.3h-32.3v-18.9zm205.8 0h41.6c12.3 0 21.8 2.8 28.4 8.3 6.7 5.4 10 13.2 10 23.4s-3.3 18.1-10 23.6c-6.6 5.4-16.1 8.2-28.4 8.2H385v33.7h-25v-97.2zm-63.9 16.4c-7.7 0-13.6 2.8-17.8 8.5-4.2 5.6-6.3 13.6-6.3 23.8 0 10.2 2.1 18.1 6.3 23.8 4.2 5.6 10.1 8.4 17.8 8.4 7.7 0 13.6-2.8 17.8-8.4 4.2-5.7 6.3-13.6 6.3-23.8 0-10.2-2.1-18.2-6.3-23.8-4.2-5.7-10.1-8.5-17.8-8.5zm88.9 1.8v27.1h13.9c4.9 0 8.6-1.2 11.3-3.5 2.6-2.4 3.9-5.8 3.9-10.1s-1.3-7.7-3.9-10c-2.7-2.4-6.4-3.5-11.3-3.5H385z"},child:[]}]})(s)}function H_e(s){return Z({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M327.467 19.992c.748 14.94 2.317 51.268 2.59 98.76 3.474-.286 6.557-.381 9.72 1.08 18.04 8.345 27.243 29.326 27.026 50.506-.217 21.18-11.283 44.136-36.104 54.307a41.62 41.62 0 0 1-2.486.923c-3.408 80.504-12.307 166.37-33.754 225.5-6.876 15.831-17.029 29.217-26.828 40.94l55.27.422c20.676-12.19 32.041-27.395 36.32-46.407l17.558 3.954c-3.67 16.312-11.99 30.662-24.511 42.677l143.052 1.094c-5.13-14.524-16.16-46.501-20.357-70.217C451.89 293.171 450.15 45 450.025 19.992zM18.279 38.984l.881 18.725c17.856 12.047 32.035 23.91 45.969 35.527 12.887-11.156 2.404-29.725-5.82-39.091-13.668-5.346-27.335-10.467-41.03-15.16zM86.723 65.13c4.77 14.56 3.347 29.656-7.477 39.746 24.105 19.479 50.832 38.151 97.1 55.635 13.836-22.588 12.08-43.852-3.338-60.739-29.03-10.9-57.703-22.997-86.285-34.642zm-31.721 42.988V400h17.996V122.723c-6.187-4.856-12.114-9.73-17.996-14.606zm145.264 1.434c3.253 8.283 4.54 16.754 3.982 25.043-.765 11.35-4.673 22.135-10.545 32.095 16.926 5.691 36.192 11.248 58.451 16.655l2.604.633 1.834 1.953c9.223 9.826 22.535 17.206 35.469 21.006 12.933 3.8 25.473 3.655 31.814 1.056 18.024-7.385 24.773-22.363 24.932-37.84.152-14.822-7.069-28.554-15.479-33.306-45.88-1.699-89.948-12.607-133.062-27.295zm-33.264 66.476V400h17.996V182.605a502.784 502.784 0 0 1-17.996-6.578zM32 419.002v17.996h176v-17.996z"},child:[]}]})(s)}function V_e(s){return Z({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M18.36 6.64a9 9 0 1 1-12.73 0"},child:[]},{tag:"line",attr:{x1:"12",y1:"2",x2:"12",y2:"12"},child:[]}]})(s)}function Z_e(s){return Z({attr:{fill:"none",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"},child:[]}]})(s)}function X_e(s){return Z({attr:{version:"1.1",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M6 0l-6 8h6l-4 8 14-10h-8l6-6z"},child:[]}]})(s)}const X3e={SET:qxe,WORKING:$M,UNREACH:BM,LOWBAT:PM,MAINTAIN:$L,ERROR:UL,DIRECTION:QL,CONNECTED:BM,ACTUAL:U_e,SECOND:$_e,PRESS_LONG:bL,PRESS:vL,MUTE:YL,ACCURACY:B_e,RADIUS:r_e,ELEVATION:e_e,LATITUDE:t_e,LONGITUDE:o_e,GPS:kL,ON_ACTUAL:WM,ON_SET:WM,OPEN:SL,STOP:G_e,WATER_ALARM:El,WASTE_ALARM:Yl,PAUSE:Kxe,STATE:R_e,BATTERY:PM,WASTE:Yl,WATER:El,WORK_MODE:$M,MODE:_L,POWER:i_e,BOOST:Q_e,HUMIDITY:c_e,TEMPERATURE:l_e,BRIGHTNESS:a_e,MOTION:xL,FIRE:M_e,WINDOW:I4,SMOKE:u_e,SWING:H_e,SPEED:F_e,DIMMER:Z_e,ON:V_e,COLOR_TEMP:fL,ELECTRIC_POWER:X_e,CURRENT:P_e,VOLTAGE:W_e,CONSUMPTION:b_e,FREQUENCY:J_e,HUE:N_e};class A4 extends M.Component{static generateFile(e,t){const i=window.document.createElement("a");i.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),i.setAttribute("download",e),i.style.display="none",window.document.body.appendChild(i),i.click(),window.document.body.removeChild(i)}handleFileSelect=e=>{const t=e.target,i=t==null?void 0:t.files;if(!i||!i.length){console.error("No files found. Please report to developers");return}const r=i[0];if(r){const o=new window.FileReader;o.onload=()=>{var a;const n=((a=o.result)==null?void 0:a.toString())||"";try{const c=JSON.parse(n);c.native&&c.common?c.common.name!==this.props.common.name?this.props.onError&&this.props.onError(h.t("ra_otherConfig",c.common.name)):this.props.onLoad&&this.props.onLoad(c.native):this.props.onError&&this.props.onError(h.t("ra_invalidConfig"))}catch(c){this.props.onError&&this.props.onError(c==null?void 0:c.toString())}},o.readAsText(r)}else alert("Failed to open JSON File")};download(){const e={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};e.common.news&&delete e.common.news,e.common.titleLang&&delete e.common.titleLang,e.common.desc&&delete e.common.desc,A4.generateFile(`${e._id}.json`,e)}upload(){const e=window.document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",this.handleFileSelect,!1),e.click()}render(){return M.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?M.createElement(me,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?M.createElement(j.Fab,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{const e=window.open(this.props.common.readme,"_blank");e==null||e.focus()}},M.createElement(PL,null)):null,M.createElement(j.Fab,{size:"small",color:"primary","aria-label":"Load config",style:{marginRight:5,marginTop:5,float:"right"},title:h.t("ra_Load configuration from file"),onClick:()=>this.upload()},M.createElement(Og,null)),M.createElement(j.Fab,{size:"small",color:"primary","aria-label":"Save config",style:{marginRight:5,marginTop:5,float:"right"},title:h.t("ra_Save configuration to file"),onClick:()=>this.download()},M.createElement(mg,null)))}}class m4{static text2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static getTitle(e){const t=m4.extractHeader(e);let i=t.body;const r=t.header;if(!r.title){i=i.replace(/{[^}]*}/g,""),i=i.trim();const o=i.replace(/\r/g,"").split(` `);for(let n=0;n{if(!n.trim())return;const a=n.indexOf(":");if(a!==-1){const c=n.substring(0,a).trim();let l=n.substring(a+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?t[c]=!0:l==="false"?t[c]=!1:parseFloat(l).toString()===l?t[c]=parseFloat(l):t[c]=l}else t[n.trim()]=!0}),e=e.substring(i+7))}return{header:t,body:e}}static removeDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(i=>e=e.replace(i,"")),e}static onCopy(e,t){s0(t),e&&e.stopPropagation(),e&&e.preventDefault()}}function K_e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}function O4(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 320 320",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("g",{fill:"currentColor"},M.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),M.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),M.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),M.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function Ts(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}function E4(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 320 320",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("g",{fill:"currentColor"},M.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),M.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),M.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),M.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),M.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),M.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),M.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),M.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),M.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),M.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function q_e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:e=>s.onClick&&s.onClick(e),width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}function eSe(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}),M.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"}))}function tSe(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}function Ai(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 320 320",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),M.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"}))}function sSe(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 24 24",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.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"}))}const Ko={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function iSe(s){var e;return M.createElement(j.Paper,{elevation:Number.isNaN(s.elevation)?1:s.elevation,style:{...Ko.root,...((e=s.styles)==null?void 0:e.root)||void 0,...s.overflow!=="visible"?Ko.overflowHidden:void 0},onKeyDown:s.onKeyDown,tabIndex:s.tabIndex},M.createElement(j.Grid2,{container:!0,direction:"column",wrap:"nowrap",sx:Ko.container},s.children))}const vl={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}};function rSe(s){return M.createElement(j.Grid2,{sx:{...vl.root,...(s==null?void 0:s.style)||void 0,...s.overflow==="auto"?vl.overflowAuto:void 0},ref:s.ref},s.children)}function oSe(s){return M.createElement(j.Grid2,{container:!0,alignItems:"center"},s.children)}const ds=24,pe=32,nSe=16,ge=20,f4=s=>s==="dark"?"#62ff25":"#37c400",x4=s=>s==="dark"?"#ee56ff":"#a204b4",aSe=s=>s==="dark"?"#fff46e":"#b89101",_4=s=>"#ff6d69",S4=s=>"#5773ff",k4="#ff413c",Y4="#86211f",Wn="#57ff45",Bn="#098c04",Jn="#f3ad11",Rn="#6c5008",w={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:s=>({pl:1,height:pe,lineHeight:`${pe}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${s.palette.mode==="dark"?s.palette.primary.dark:s.palette.primary.light} !important`,color:O.invertColor(s.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:s=>({borderBottom:`1px solid ${s.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${s.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:pe+10},tableRowAliasReadWrite:{height:pe+22},tableRowFocused:s=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:s.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:pe-4,height:pe-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:s=>({marginRight:8,width:pe-4,height:pe-4,cursor:"pointer",color:s.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(pe-ge)/2,marginRight:8,width:ge,height:ge},cellIdIconOwn:{},cellIdTooltip:{fontSize:14},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellCopyButton:{width:ge,height:ge,top:(pe-ge)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:ge,height:ge,top:(pe-ge)/2,opacity:.8},cellEditButton:{width:ge,height:ge,color:"white",position:"absolute",top:(pe-ge)/2,right:ge+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:s=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:s.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:ds,height:ds,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:pe,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:ge+4,height:ge+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${ge+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:s=>({color:s.palette.mode==="dark"?s.palette.primary.main:s.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:s=>({position:"absolute",top:ge/2-2,opacity:.7,width:ge-2,height:ge-2,color:s.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:ge/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:s=>({background:`${s.palette.primary.main} !important`,color:`${O.invertColor(s.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:pe,pt:0,"& .itemIcon":{verticalAlign:"middle",width:ds,height:ds,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:ds,height:ds,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"},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:s=>({color:s.palette.mode==="dark"?Wn:Bn,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:s=>({color:s.palette.mode==="dark"?Jn:Rn,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:s=>({color:s.palette.mode==="dark"?k4:Y4,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:s=>({backgroundColor:s.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:s=>({backgroundColor:s.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:s=>({color:s.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:s=>({color:s.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:s=>({color:s.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:s=>({color:s.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:s=>({color:s.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:s=>({color:s.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:s=>({color:s.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:s=>({color:s.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"}};function MSe(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:s==null?void 0:s.style,width:"24",height:"24",className:"admin-button"},M.createElement("g",{fill:"currentColor"},M.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"}),M.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 bl(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}function cSe(s,e){const t=[];for(let i=0;i{if(r==null)return;const n=typeof r=="object";if(t&&n&&typeof r.en=="string"&&typeof r.de=="string"){i[o]=r.en;return}i[o]=n?Fn(r,e,t):r}):uSe(s,(i,r,o)=>{if(r==null||e.includes(o))return;const n=typeof r=="object";if(t&&n&&typeof r.en=="string"&&typeof r.de=="string"){i[o]=r.en;return}i[o]=n?Fn(r,e,t):r})}function Ql(s,e,t){const i=document.createElement("a"),r=[];t.excludeSystemRepositories&&r.push("system.repositories");const o=r.length>0||t.excludeTranslations?Fn(e,r,t.excludeTranslations):e,n=t.beautify?JSON.stringify(o,null,2):JSON.stringify(o);i.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(n)}`),i.setAttribute("download",s),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)}function vi(s,e,t,i){if(t||=0,i===void 0&&(i=s.length-1,!i))return s[0]===e;const r=Math.floor((t+i)/2);return e===s[r]?!0:i-1===t?s[t]===e||s[i]===e:e>s[r]?vi(s,e,r,i):eD.role.startsWith(p))||(l=!0)):l=!0),!l&&((I=n.common)==null?void 0:I.custom)==="_"&&(D!=null&&D.custom))l=!0;else if(!l&&((C=n.common)!=null&&C.custom)&&((m=n.common)==null?void 0:m.custom)!=="_"){const p=n.common.custom;if(!(D!=null&&D.custom))l=!0;else if(p==="_dataSources")Object.keys(D.custom).find(_=>_.startsWith("history.")||_.startsWith("sql.")||_.startsWith("influxdb."))||(l=!0);else if(Array.isArray(p)){const _=Object.keys(D.custom);p.find(x=>_.find(P=>P.startsWith(x)))&&(l=!0)}else p!==!0&&!Object.keys(D.custom).find(_=>_.startsWith(p))&&(l=!0)}}!l&&!e.expertMode&&(l=N.id==="system"||N.id==="enum"||N.id.startsWith("system.")||N.id.startsWith("enum.")||N.id.startsWith("_design/")||N.id.endsWith(".admin")||!!(D!=null&&D.expert)),!l&&r.id&&(N.fID===void 0&&(N.fID=N.id.toLowerCase()),l=!N.fID.includes(r.id)),!l&&r.idRx&&(l=!r.idRx.test(N.id)),!l&&r.name&&(D?(N.fName===void 0&&(N.fName=Ye(D.name,t)||"",N.fName=N.fName.toLowerCase()),l=!N.fName.includes(r.name)):l=!0),!l&&r.nameRx&&D&&(N.fName===void 0&&(N.fName=Ye(D.name,t)||"",N.fName=N.fName.toLowerCase()),l=!r.nameRx.test(N.fName)),!l&&e.role&&D&&(D?l=!(typeof D.role=="string"&&D.role.startsWith(r.role)):l=!0),!l&&r.room&&(l=!r.room.find(p=>p===N.id||N.id.startsWith(`${p}.`))),!l&&r.func&&(l=!r.func.find(p=>p===N.id||N.id.startsWith(`${p}.`))),!l&&r.type&&(l=!(N.obj&&N.obj.type&&N.obj.type===r.type)),!l&&a&&(l=!(N.obj&&N.obj.type&&a.includes(N.obj.type))),!l&&r.custom&&(D?r.custom==="_"?l=!!D.custom:l=!((A=D.custom)!=null&&A[r.custom]):l=!0)}return N.visible=!l,N.hasVisibleChildren=!1,s.children&&c<20&&s.children.forEach(D=>{Gn(D,e,t,i,r,o,n,a,c+1)&&(N.hasVisibleChildren=!0)}),N.sumVisibility=N.visible||N.hasVisibleChildren,o&&N.sumVisibility&&o.count++,N.id&&N.sumVisibility&&s.children&&s.children.forEach(D=>D.data.hasVisibleParent=!0),N.visible||N.hasVisibleChildren}function v4(s,e,t,i){var o;i||=[];const r=s.data;return r.sumVisibility&&(r.id&&t[r.id]&&t[r.id].type===e&&i.push(r.id),(o=s.children)==null||o.forEach(n=>v4(n,e,t,i))),i}function Ul(s,e,t,i,r,o){let n;return e==="alias"||e==="alias.0"?n=M.createElement(yN,{className:"iconOwn",style:{color:x4(i)}}):e==="0_userdata"||e==="0_userdata.0"?n=M.createElement(ng,{className:"iconOwn",style:{color:f4(i)}}):e.startsWith("_design/")||e==="system"?n=M.createElement(kr,{className:"iconOwn",style:{color:_4(i)}}):e==="system.adapter"?n=M.createElement(kr,{className:"iconOwn",style:{color:S4(i)}}):e==="system.group"?n=M.createElement(ga,{className:"iconOwn"}):e==="system.user"?n=M.createElement(Na,{className:"iconOwn"}):e==="system.host"?n=M.createElement(La,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?n=M.createElement(Qs,{className:"iconOwn"}):e.endsWith(".info")?n=M.createElement(la,{className:"iconOwn"}):s[e]&&s[e].type==="meta"?n=M.createElement(Kr,{className:"iconOwn"}):t<2&&s[`system.adapter.${e}`]&&(n=Zr(s,`system.adapter.${e}`,r,o)),n||null}function b4(s,e){var t,i;return(i=(t=s==null?void 0:s.obj)==null?void 0:t.common)!=null&&i.desc&&Ye(s.obj.common.desc,e)||null}function lSe(s,e){const t=b4(s,e);return t!=null&&t.startsWith("http")?M.createElement(j.Box,{component:"a",sx:w.cellIdTooltipLink,href:t,target:"_blank",rel:"noreferrer"},t):M.createElement("span",{style:w.cellIdTooltip},t||s.id||"")}function $l(s,e){var N,u,L,g,y,T,d,z,I,C;const t=e.imagePrefix||".";let i=Object.keys(s);i.sort((m,A)=>m===A?0:(m=m.replace(/\./g,"!!!"),A=A.replace(/\./g,"!!!"),m>A?1:-1)),e.root&&(i=i.filter(m=>m===e.root||m.startsWith(`${e.root}.`)));let r=[],o="",n=0;const a={data:{name:"",id:""},children:[]},c={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:s,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let l=a;for(let m=0;mv.role===P)?typeof P!="string"?console.warn(`Invalid role type "${typeof P}" in "${D._id}"`):c.roles.push({role:P,type:x.type}):A.startsWith("enum.rooms.")?(c.roomEnums.push(A),c.enums.push(A)):A.startsWith("enum.functions.")?(c.funcEnums.push(A),c.enums.push(A)):D.type==="enum"?c.enums.push(A):D.type==="instance"&&x&&(x.supportCustoms||(N=x.adminUI)!=null&&N.custom)&&(c.hasSomeCustoms=!0,c.customs.push(A.substring(15))),A.startsWith("alias.")&&((u=D.common.alias)!=null&&u.id))if(typeof D.common.alias.id=="string"){const v=D.common.alias.id;c.aliasesMap[v]?c.aliasesMap[v].includes(A)||c.aliasesMap[v].push(A):c.aliasesMap[v]=[A]}else{const v=D.common.alias.id.read;v&&(c.aliasesMap[v]?c.aliasesMap[v].includes(A)||c.aliasesMap[v].push(A):c.aliasesMap[v]=[A]);const ee=D.common.alias.id.write;ee&&(c.aliasesMap[ee]?c.aliasesMap[ee].includes(A)||c.aliasesMap[ee].push(A):c.aliasesMap[ee]=[A])}}c.ids.push(A);let _;do if(_=!1,!o||A.startsWith(`${o}.`)){if(p.length-n>1){let P=o;for(let v=n;vee.data.name===p[v]));else{const ee={data:{name:p[v],parent:l,id:P,obj:s[P],level:v,icon:Ul(s,P,v,e.themeType,e.lang,t),generated:!0}};l.children||=[],l.children.push(ee),l=ee,c.ids.push(P)}}const x={data:{name:p[p.length-1],title:Ye((L=D==null?void 0:D.common)==null?void 0:L.name,e.lang),obj:D,parent:l,icon:Zr(s,A,e.lang,t)||Ul(s,A,0,e.themeType,e.lang,t),id:A,hasCustoms:!!((g=D.common)!=null&&g.custom&&Object.keys(D.common.custom).length),level:p.length-1,generated:!1,button:D.type==="state"&&!!((y=D.common)!=null&&y.role)&&typeof D.common.role=="string"&&D.common.role.startsWith("button")&&((T=D.common)==null?void 0:T.write)!==!1,switch:D.type==="state"&&((d=D.common)==null?void 0:d.type)==="boolean"&&((z=D.common)==null?void 0:z.write)!==!1&&((I=D.common)==null?void 0:I.read)!==!1,url:!!((C=D.common)!=null&&C.role)&&typeof D.common.role=="string"&&D.common.role.startsWith("url")}};l.children||=[],l.children.push(x),l=x,n=p.length,r=p,o=A}else{let x=0;for(;r[x]===p[x];)x++;if(x>0){let P=r.length;for(r=r.splice(0,x),n=x,o=r.join(".");P>x;)l.data.parent?l=l.data.parent:console.error(`Parent is null for ${A} ${o} ${r.join(".")}`),P--}else l=a,r=[],o="",n=0;_=!0}while(_)}return c.roomEnums.sort((m,A)=>{var _,x,P,v;const D=Ye((x=(_=s[m])==null?void 0:_.common)==null?void 0:x.name,e.lang)||m.split(".").pop(),p=Ye((v=(P=s[A])==null?void 0:P.common)==null?void 0:v.name,e.lang)||A.split(".").pop();return D>p?1:D{var _,x,P,v;const D=Ye((x=(_=s[m])==null?void 0:_.common)==null?void 0:x.name,e.lang)||m.split(".").pop(),p=Ye((v=(P=s[A])==null?void 0:P.common)==null?void 0:v.name,e.lang)||A.split(".").pop();return D>p?1:Dm.role.localeCompare(A.role)),c.types.sort(),{info:c,root:a}}function Q4(s,e,t,i,r){if(s.data.id===e)return s;if(t||(t=e.split("."),r=0,i=t[r]),!s.children&&s.data.id!==e)return null;let o;if(s.children)for(let n=0;ni)break}return o?(r||=0,Q4(o,e,t,`${i}.${t[r+1]}`,r+1)):null}function U4(s,e,t,i){var n,a;if(!e)return{rooms:[],per:!1};i||=[];for(const c of s.roomEnums){const l=(n=s.objects[c])==null?void 0:n.common;if(!l)continue;const N=Ye(l.name,t);(a=l.members)!=null&&a.includes(e)&&!i.includes(N)&&i.push(N)}let r;const o=e.split(".");return o.pop(),e=o.join("."),s.objects[e]&&(r=i.length,U4(s,e,t,i)),{rooms:i,per:!r}}function Ds(s,e,t,i){var r,o;if(!e)return[];i||=[];for(let n=0;n946681200&&l<9466812e5&&(l*=1e3),l=l&&new Date(l).toString();else N==="number"?Number.isInteger(l)||(l=Math.round(l*1e8)/1e8,i&&(l=l.toString().replace(".",","))):N==="object"?l=JSON.stringify(l):N!=="string"?l=l.toString():l.startsWith("data:image/")&&(c="image"),typeof l!="string"&&(l=l.toString());const u={v:l};n&&n[l]!==void 0&&l!==n[l]&&(u.s=l,l=n[l],u.v=l),((g=u.v)==null?void 0:g.length)>40&&(u.c=u.v,u.v=`${u.v.substring(0,40)}...`),a!=null&&a.unit&&(u.u=a.unit);let L;if(s.full&&(typeof l=="string"&&l.length>100?L=[{t:r.value,v:`${l.substring(0,100)}...`}]:L=[{t:r.value,v:l}],t)){if(t.ack!==void 0&&t.ack!==null&&L.push({t:r.ack,v:t.ack.toString()}),t.ts&&L.push({t:r.ts,v:t.ts?O.formatDate(new Date(t.ts),e):""}),t.lc&&L.push({t:r.lc,v:t.lc?O.formatDate(new Date(t.lc),e):""}),t.from){let y=t.from.toString();y.startsWith("system.adapter.")&&(y=y.substring(15)),L.push({t:r.from,v:y})}if(t.user){let y=t.user.toString();y.startsWith("system.user.")&&(y=y.substring(12)),L.push({t:r.user,v:y})}t.c&&L.push({t:r.c,v:t.c}),L.push({t:r.quality,v:O.quality2text(t.q||0).join(", "),nbr:!0})}return{valText:u,valFull:L,fileViewer:c}}function NSe(s){const{state:e}=s;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function LSe(s,e){let t=e,i=1;const r=[];for(;i=t)r.push(0);else if(ithis.filterRefs[d]=f.createRef()),this.visibleCols=e.columns||le[e.width||"lg"].fields,e.types&&e.types.length===1){const d=this.visibleCols.indexOf("type");d!==-1&&this.visibleCols.splice(d,1)}this.possibleCols=le.xl.fields;let a=null;if(e.router){const d=e.router.getLocation();d.id&&d.dialog==="customs"&&(a=[d.id],this.pauseSubscribe(!0))}let c;Array.isArray(e.selected)?c=e.selected:c=[e.selected||""],c=c.map(d=>d.replace(/["']/g,"")).filter(d=>d),this.selectFirst=c.length&&c[0]?c[0]:this.selectFirst;const l=this.localStorage.getItem(`${e.dialogName||"App"}.columns`);let N;try{N=l?JSON.parse(l):null}catch{N=null}let u=null;try{u=u?JSON.parse(u):{}}catch{u={}}this.imagePrefix=e.imagePrefix||".";let L;const g=this.localStorage.getItem(`${e.dialogName||"App"}.foldersFirst`);g==="false"?L=!1:g==="true"?L=!0:L=e.foldersFirst===void 0?!0:e.foldersFirst;let y=!1;try{y=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${e.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={loaded:!1,foldersFirst:L,selected:c,selectedNonObject:this.localStorage.getItem(`${e.dialogName||"App"}.selectedNonObject`)||"",filter:o,filterKey:0,focused:this.localStorage.getItem(`${e.dialogName||"App"}.focused`)||"",depth:0,expandAllVisible:!1,expanded:i,toast:"",scrollBarWidth:16,customDialog:a,editObjectDialog:"",editObjectAlias:!1,viewFileDialog:"",showAliasEditor:"",enumDialog:null,roleDialog:null,statesView:y,columns:N,columnsForAdmin:null,columnsSelectorShow:!1,columnsAuto:this.localStorage.getItem(`${e.dialogName||"App"}.columnsAuto`)!=="false",columnsWidths:u,columnsDialogTransparent:100,columnsEditCustomDialog:null,customColumnDialogValueChanged:!1,showExportDialog:!1,showAllExportOptions:!1,linesEnabled:this.localStorage.getItem(`${e.dialogName||"App"}.lines`)==="true",showDescription:this.localStorage.getItem(`${e.dialogName||"App"}.desc`)!=="false",showContextMenu:null,noStatesByExportImport:!1,beautifyJsonExport:!0,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,tooltipInfo:null,aliasMenu:"",showRenameDialog:null},this.texts={name:e.t("ra_Name"),categories:e.t("ra_Categories"),value:e.t("ra_tooltip_value"),ack:e.t("ra_tooltip_ack"),ts:e.t("ra_tooltip_ts"),lc:e.t("ra_tooltip_lc"),from:e.t("ra_tooltip_from"),user:e.t("ra_tooltip_user"),c:e.t("ra_tooltip_comment"),quality:e.t("ra_tooltip_quality"),editObject:e.t("ra_tooltip_editObject"),deleteObject:e.t("ra_tooltip_deleteObject"),customConfig:e.t("ra_tooltip_customConfig"),copyState:e.t("ra_tooltip_copyState"),editState:e.t("ra_tooltip_editState"),ctrlForLink:e.t("ra_tooltip_ctrlForLink"),close:e.t("ra_Close"),filter_id:e.t("ra_filter_id"),filter_name:e.t("ra_filter_name"),filter_type:e.t("ra_filter_type"),filter_role:e.t("ra_filter_role"),filter_room:e.t("ra_filter_room"),filter_func:e.t("ra_filter_func"),filter_custom:e.t("ra_filter_customs"),filterCustomsWithout:e.t("ra_filter_customs_without"),objectChangedByUser:e.t("ra_object_changed_by_user"),objectChangedBy:e.t("ra_object_changed_by"),objectChangedFrom:e.t("ra_state_changed_from"),stateChangedBy:e.t("ra_state_changed_by"),stateChangedFrom:e.t("ra_state_changed_from"),ownerGroup:e.t("ra_Owner group"),ownerUser:e.t("ra_Owner user"),showAll:e.t("ra_show_all"),deviceError:e.t("ra_Error"),deviceDisconnected:e.t("ra_Disconnected"),deviceConnected:e.t("ra_Connected"),aclOwner_read_object:e.t("ra_aclOwner_read_object"),aclOwner_read_state:e.t("ra_aclOwner_read_state"),aclOwner_write_object:e.t("ra_aclOwner_write_object"),aclOwner_write_state:e.t("ra_aclOwner_write_state"),aclGroup_read_object:e.t("ra_aclGroup_read_object"),aclGroup_read_state:e.t("ra_aclGroup_read_state"),aclGroup_write_object:e.t("ra_aclGroup_write_object"),aclGroup_write_state:e.t("ra_aclGroup_write_state"),aclEveryone_read_object:e.t("ra_aclEveryone_read_object"),aclEveryone_read_state:e.t("ra_aclEveryone_read_state"),aclEveryone_write_object:e.t("ra_aclEveryone_write_object"),aclEveryone_write_state:e.t("ra_aclEveryone_write_state"),create:e.t("ra_Create"),createBooleanState:e.t("ra_create_boolean_state"),createNumberState:e.t("ra_create_number_state"),createStringState:e.t("ra_create_string_state"),createState:e.t("ra_create_state"),createChannel:e.t("ra_create_channel"),createDevice:e.t("ra_create_device"),createFolder:e.t("ra_Create folder")},this.levelPadding=e.levelPadding||nSe;const T=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(T)try{const d=JSON.parse(T),z=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(le[z])),Object.keys(d).forEach(I=>{I==="id"?le[z].idWidth=d.id:I==="nameHeader"?le[z].widths.name=d[I]:le[z].widths[I]!==void 0&&(le[z].widths[I]=d[I])}),this.customWidth=!0}catch{}this.calculateColumnsVisibility()}async loadAllObjects(e){var i;const t=this.props;try{await new Promise(l=>{this.setState({updating:!0},()=>l())});const r=(this.props.objectsWorker?await this.props.objectsWorker.getObjects(e):await t.socket.getObjects(e,!0))||{};if(t.types&&ze.isWeb())for(let l=0;l{try{if(l(r[N]))this.objects[N]=r[N];else{const u=r[N]&&r[N].type;u&&(u==="channel"||u==="device"||u==="folder"||u==="adapter"||u==="instance")&&(this.objects[N]=r[N])}}catch(u){console.log(`Error by filtering of "${N}": ${u}`)}})}else if(t.types){this.objects={};const l=t.types;Object.keys(r).forEach(N=>{var L;const u=(L=r[N])==null?void 0:L.type;u&&(u==="channel"||u==="device"||u==="enum"||u==="folder"||u==="adapter"||u==="instance"||l.includes(u))&&(this.objects[N]=r[N])})}else this.objects=r;t.setObjectsReference&&t.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&t.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(l=>{l!=null&&l.val||(this.defaultHistory="")}).catch(l=>window.alert(`Cannot get state: ${l}`));const o=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,o);const{info:n,root:a}=$l(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=a,this.info=n;const c=((i=this.state.selected)==null?void 0:i.length)&&Q4(this.root,this.state.selected[0]);this.lastAppliedFilter=null,c&&!Gn(c,this.state.filter,this.props.lang,this.objects,void 0,void 0,t.customFilter,t.types)?this.setState({filter:{...hr},columnsForAdmin:o},()=>{this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):this.setState({loaded:!0,updating:!1,columnsForAdmin:o},()=>this.expandAllSelected(()=>this.onAfterSelect()))}catch(r){this.showError(r)}}static isNonExpertId(e){return!!it.#e.find(t=>e.startsWith(t))}expandAllSelected(e){const t=[...this.state.expanded];let i=!1;this.state.selected.forEach(r=>{const o=r.split("."),n=[];for(let a=0;a{this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}):this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}static getDerivedStateFromProps(e,t){const i={};let r=!1;return e.expertMode!==void 0&&e.expertMode!==t.filter.expertMode&&(r=!0,i.filter={...t.filter},i.filter.expertMode=e.expertMode),r?i:null}async componentDidMount(){await this.loadAllObjects(!Wl),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),Wl=!0,window.addEventListener("contextmenu",this.onContextMenu,!0),window.addEventListener("keydown",this.onKeyPress,!0),window.addEventListener("keyup",this.onKeyPress,!0)}onKeyPress=e=>{e.type==="keydown"&&e.ctrlKey&&!this.cltrPressed?(this.cltrPressed=!0,this.tableRef.current&&(this.tableRef.current.className="highlight-link")):e.type==="keyup"&&!e.ctrlKey&&this.cltrPressed&&(this.cltrPressed=!1,this.tableRef.current&&(this.tableRef.current.className=""))};componentWillUnmount(){this.filterTimer&&(clearTimeout(this.filterTimer),this.filterTimer=null),window.removeEventListener("contextmenu",this.onContextMenu,!0),window.removeEventListener("keydown",this.onKeyPress,!0),window.removeEventListener("keyup",this.onKeyPress,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(e=>console.error(`Cannot unsubscribe *: ${e}`)),this.subscribes.forEach(e=>{console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(e){var c,l,N,u;const{id:t,obj:i,item:r}=e,o=Object.keys(this.objects);o.sort();let n=0;const a=`${t}.`;for(let L=0;La)break;(u=(N=this.props).onObjectDelete)==null||u.call(N,t,!!((c=r.children)!=null&&c.length),!((l=i.common)!=null&&l.dontDelete),n+1)}onContextMenu=e=>{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(e.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:e.clientX+2,top:e.clientY-6}}})):this.state.showContextMenu&&(e.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null};refreshComponent(){this.subscribes.forEach(e=>{console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(e=>this.showError(e))}renderErrorDialog(){return this.state.error?M.createElement(j.Dialog,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},M.createElement(j.DialogTitle,{id:"alert-dialog-title"},this.props.t("ra_Error")),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,{id:"alert-dialog-description"},this.state.error)),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:M.createElement(Oe,null)},this.props.t("ra_Ok")))):null}showError(e){this.setState({error:typeof e=="object"?e&&typeof e.toString=="function"?e.toString():JSON.stringify(e):e})}onSelect(e,t,i){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,e),!this.props.multiSelect)this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==e?this.setState({selected:[e],selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),i&&i()}):t&&this.props.onSelect&&this.onAfterSelect(t)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,e),this.setState({selected:[],selectedNonObject:e,focused:e},()=>{this.onAfterSelect(),i&&i()}));else if(this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);const r=[...this.state.selected],o=r.indexOf(e);o===-1?(r.push(e),r.sort()):t||r.splice(o,1),this.setState({selected:r,selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),i&&i()})}}_renderDefinedList(e){const t=[...this.possibleCols];if(t.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){const i=t.indexOf("buttons");i!==-1&&t.splice(i,1)}return t.filter(i=>e&&(i==="val"||i==="buttons")||!e&&i!=="val"&&i!=="buttons").map(i=>{var r;return M.createElement(j.ListItemButton,{onClick:()=>{if(!this.state.columnsAuto&&i!=="id"){const o=[...this.state.columns||[]],n=o.indexOf(i);n===-1?(o.push(i),o.sort()):o.splice(n,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(o)),this.calculateColumnsVisibility(null,o),this.setState({columns:o})}},key:i},M.createElement(j.Checkbox,{edge:"start",disabled:i==="id"||this.state.columnsAuto,checked:i==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(i):(r=this.state.columns)!=null&&r.includes(i)),disableRipple:!0}),M.createElement(j.ListItemText,{primary:this.texts[`filter_${i}`]||this.props.t(`ra_${i}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?M.createElement(j.Dialog,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":O.getStyle(this.props.theme,w.dialogColumns,w[`transparent_${this.state.columnsDialogTransparent}`])}},M.createElement(j.DialogTitle,{sx:w.fontSizeTitle},this.props.t("ra_Configure")),M.createElement(j.DialogContent,{sx:w.fontSizeTitle},M.createElement(j.FormControlLabel,{style:w.switchColumnAuto,control:M.createElement(j.Switch,{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")}),M.createElement(j.FormControlLabel,{style:w.switchColumnAuto,control:M.createElement(j.Switch,{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")}),M.createElement(j.FormControlLabel,{style:w.switchColumnAuto,control:M.createElement(j.Switch,{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)")}),M.createElement(j.List,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(e=>{var t;return(t=this.state.columnsForAdmin)==null?void 0:t[e].map(i=>{var r;return M.createElement(j.ListItemButton,{onClick:()=>{if(!this.state.columnsAuto){const o=[...this.state.columns||[]],n=`_${e}_${i.path}`,a=o.indexOf(n);a===-1?(o.push(n),o.sort()):o.splice(a,1),this.calculateColumnsVisibility(null,o),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(o)),this.setState({columns:o})}},key:`${e}_${i.name}`},M.createElement(j.ListItemIcon,null,M.createElement(j.Checkbox,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((r=this.state.columns)==null?void 0:r.includes(`_${e}_${i.path}`)),disableRipple:!0})),M.createElement(j.ListItemText,{primary:`${i.name} (${e})`}))})}),this._renderDefinedList(!0))),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:M.createElement(Ne,null)},this.texts.close))):null}async getAdditionalColumns(){try{const e=await this.props.socket.getAdapters();let t=null;return e.forEach(i=>t=this.parseObjectForAdmins(t,i)),t}catch(e){return console.error(`Cannot get adapters: ${e}`),null}}checkUnsubscribes(){for(let e=this.subscribes.length-1;e>=0;e--)this.recordStates.includes(this.subscribes[e])||this.unsubscribe(this.subscribes[e]);this.recordStates=[]}findItem(e,t,i,r){if(t||=e.split("."),i||=this.root,!i||!t.length)return null;if(r=(r?`${r}.`:"")+t.shift(),i.children){const o=i.children.find(n=>n.data.id===r);if(o){if(o.data.id===e)return o;if(t.length)return this.findItem(e,t,o,r)}else return null}return null}onStateChange=(e,t)=>{if(console.log(`> stateChange ${e}`),this.states[e]){const i=this.findItem(e);i!=null&&i.data.state&&(i.data.state=void 0)}t?this.states[e]=t:delete this.states[e],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))};parseObjectForAdmins(e,t){var i;if((i=t.common)!=null&&i.adminColumns&&t.common.name){const r=t.common.adminColumns;let o;r&&typeof r!="object"?o=[r]:r&&(o=r);let n;r?n=o.map(a=>{if(typeof a!="object")return{path:a,name:a.split(".").pop()};const c=a;return c.objTypes&&typeof c.objTypes!="object"?c.objTypes=[c.objTypes]:c.objTypes||(c.objTypes=void 0),!c.name&&c.path?{path:c.path,name:c.path.split(".").pop(),width:c.width,edit:!!c.edit,type:c.type,objTypes:c.objTypes}:c.path?{path:c.path,name:Ye(c.name||"",this.props.lang),width:c.width,edit:!!c.edit,type:c.type,objTypes:c.objTypes}:(console.warn(`Admin columns for ${t._id} ignored, because path not found`),null)}).filter(a=>a):n=null,n!=null&&n.length&&(e||={},e[t.common.name]=n.sort((a,c)=>a.path>c.path?-1:a.path{if(Array.isArray(e)){let t=null;e.forEach(i=>{const{newInnerState:r,filtered:o}=this.processOnObjectChangeElement(i.id,i.obj);o||(r&&t?Object.assign(t,r):t=r)}),t&&this.setState(t),this.afterObjectUpdated()}};onObjectChange=(e,t)=>{const{newInnerState:i,filtered:r}=this.processOnObjectChangeElement(e,t);r||(i&&this.setState(i),this.afterObjectUpdated())};afterObjectUpdated(){!this.objectsUpdateTimer&&this.objects&&(this.objectsUpdateTimer=setTimeout(()=>{this.objectsUpdateTimer=null;const{info:e,root:t}=$l(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=t,this.info=e,this.lastAppliedFilter=null,this.pausedSubscribes||this.forceUpdate()},500))}updateAliases(e){var i,r,o;if(!this.objects||!((i=this.info)!=null&&i.aliasesMap)||!(e!=null&&e.startsWith("alias.")))return;const t=Object.keys(this.objects).filter(n=>n.startsWith("alias.0"));this.info.aliasesMap={};for(const n of t){const a=this.objects[n];if((o=(r=a==null?void 0:a.common)==null?void 0:r.alias)!=null&&o.id)if(typeof a.common.alias.id=="string"){const c=a.common.alias.id;this.info.aliasesMap[c]?this.info.aliasesMap[c].includes(n)||this.info.aliasesMap[c].push(n):this.info.aliasesMap[c]=[n]}else{const c=a.common.alias.id.read;c&&(this.info.aliasesMap[c]?this.info.aliasesMap[c].includes(n)||this.info.aliasesMap[c].push(n):this.info.aliasesMap[c]=[n]);const l=a.common.alias.id.write;l&&(this.info.aliasesMap[l]?this.info.aliasesMap[l].includes(n)||this.info.aliasesMap[l].push(n):this.info.aliasesMap[l]=[n])}}}processOnObjectChangeElement(e,t){console.log(`> objectChange ${e}`);const i=t==null?void 0:t.type;if(t&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(t)&&i!=="channel"&&i!=="device"&&i!=="folder"&&i!=="adapter"&&i!=="instance")return{newInnerState:null,filtered:!0};let r=null;if(e.startsWith("system.adapter.")&&(t==null?void 0:t.type)==="adapter"){const o=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(o,t),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(o)&&(r={columnsForAdmin:o})}return this.objects||={},t?this.objects[e]=t:this.objects[e]&&delete this.objects[e],this.updateAliases(e),{newInnerState:r,filtered:!1}}subscribe(e){this.subscribes.includes(e)||(this.subscribes.push(e),console.log(`+ subscribe ${e}`),this.pausedSubscribes||this.props.socket.subscribeState(e,this.onStateChange).catch(t=>console.error(`Cannot subscribe on state ${e}: ${t}`)))}unsubscribe(e){const t=this.subscribes.indexOf(e);t!==-1&&(this.subscribes.splice(t,1),this.states[e]&&delete this.states[e],console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(e){!this.pausedSubscribes&&e?(this.pausedSubscribes=!0,this.subscribes.forEach(t=>this.props.socket.unsubscribeState(t,this.onStateChange))):this.pausedSubscribes&&!e&&(this.pausedSubscribes=!1,this.subscribes.forEach(t=>this.props.socket.subscribeState(t,this.onStateChange)))}onFilter(e,t){this.filterTimer=null;const i={...this.state.filter};Object.keys(this.filterRefs).forEach(r=>{var o;if((o=this.filterRefs[r])!=null&&o.current){const n=this.filterRefs[r].current;for(let a=0;athis.props.onFilterChanged&&this.props.onFilterChanged(i)))}clearFilter(){const e={...this.state.filter};Object.keys(this.filterRefs).forEach(t=>{var i;if((i=this.filterRefs[t])!=null&&i.current){const r=this.filterRefs[t].current;for(let o=0;o{var t,i;return(i=(t=this.props).onFilterChanged)==null?void 0:i.call(t,e)}))}isFilterEmpty(){return!Object.keys(this.state.filter).find(t=>t!=="expertMode"&&this.state.filter[t])}getFilterInput(e){var t,i,r;return M.createElement(j.FormControl,{sx:this.styles.filterInput,key:`${e}_${this.state.filterKey}`,title:e==="name"||e==="id"?this.props.t("ra_You can use * as wildcard"):void 0,margin:"dense"},M.createElement(j.Input,{ref:this.filterRefs[e],classes:{underline:"no-underline"},id:e,placeholder:this.texts[`filter_${e}`],defaultValue:this.state.filter[e]||"",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},autoComplete:"off"}),(r=(i=(t=this.filterRefs[e])==null?void 0:t.current)==null?void 0:i.firstChild)!=null&&r.value?M.createElement("div",{style:{position:"absolute",right:0}},M.createElement(j.IconButton,{size:"small",onClick:()=>{var o;((o=this.filterRefs[e].current)==null?void 0:o.firstChild).value="",this.onFilter(e,"")}},M.createElement(Ne,null))):null)}getFilterSelect(e,t){var r,o,n;const i=!!(t!=null&&t.find(a=>a.icon));return M.createElement("div",{style:{position:"relative"}},M.createElement(j.Select,{variant:"standard",key:`${e}_${this.state.filterKey}`,ref:this.filterRefs[e],sx:w.headerCellInput,className:"no-underline",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},defaultValue:this.state.filter[e]||"",inputProps:{name:e,id:e},displayEmpty:!0},M.createElement(j.MenuItem,{key:"empty",value:""},M.createElement("span",{style:w.selectNone},e==="custom"?this.texts.showAll:this.texts[`filter_${e}`])),t==null?void 0:t.map(a=>{let c,l,N;return typeof a=="object"?(c=a.value,l=a.name,N=a.icon):(c=a,l=a),M.createElement(j.MenuItem,{sx:w.headerCellSelectItem,key:c,value:c},N||(i?M.createElement("div",{className:"itemIcon"}):null),l)})),(n=(o=(r=this.filterRefs[e])==null?void 0:r.current)==null?void 0:o.childNodes[1])!=null&&n.value?M.createElement(j.Box,{component:"div",sx:w.selectClearButton},M.createElement(j.IconButton,{size:"small",onClick:()=>{var c;const a={...this.state.filter};a[e]="",((c=this.filterRefs[e].current)==null?void 0:c.childNodes[1]).value="",this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(a)),this.setState({filter:a,filterKey:this.state.filterKey+1},()=>this.props.onFilterChanged&&this.props.onFilterChanged(a))}},M.createElement(Ne,null))):null)}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles.map(e=>e.role))}getFilterSelectRoom(){const e=this.info.roomEnums.map(t=>{var i,r,o,n;return{name:Ye((r=(i=this.objects[t])==null?void 0:i.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:M.createElement(me,{src:((n=(o=this.objects[t])==null?void 0:o.common)==null?void 0:n.icon)||"",style:w.selectIcon})}});return this.getFilterSelect("room",e)}getFilterSelectFunction(){const e=this.info.funcEnums.map(t=>{var i,r,o,n;return{name:Ye((r=(i=this.objects[t])==null?void 0:i.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:M.createElement(me,{src:((n=(o=this.objects[t])==null?void 0:o.common)==null?void 0:n.icon)||"",style:w.selectIcon})}});return this.getFilterSelect("func",e)}getFilterSelectType(){const e=this.info.types.map(t=>({name:t,value:t,icon:Pl[t]||null}));return this.getFilterSelect("type",e)}getFilterSelectCustoms(){if(this.info.customs.length>1){const e=this.info.customs.map(t=>({name:t==="_"?this.texts.filterCustomsWithout:t,value:t,icon:t==="_"?null:M.createElement(me,{src:Zr(this.objects,t,this.props.lang,this.imagePrefix)||"",style:w.selectIcon})}));return this.getFilterSelect("custom",e)}return null}onExpandAll(e,t){var r;const i=e||this.root;t||=[],(r=i==null?void 0:i.children)==null||r.forEach(o=>{o.data.sumVisibility&&(t.push(o.data.id),this.onExpandAll(o,t))}),i===this.root&&(t.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t}))}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(e,t,i){var r;e||=this.root,t>0&&((r=e.children)==null||r.forEach(o=>{o.data.sumVisibility&&(vi(i,o.data.id)||(i.push(o.data.id),i.sort()),t-1>0&&this.expandDepth(o,t-1,i))}))}static collapseDepth(e,t){return t.filter(i=>i.split(".").length<=e)}onExpandVisible(){if(this.state.depth<9){const e=this.state.depth+1,t=[...this.state.expanded];this.root&&this.expandDepth(this.root,e,t),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}onStatesViewVisible(){const e=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(e)),this.setState({statesView:e})}onCollapseVisible(){if(this.state.depth>0){const e=this.state.depth-1,t=it.collapseDepth(e,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}getEnumsForId=e=>{const t=[];return this.info.enums.forEach(i=>{var r,o,n;if((n=(o=(r=this.objects[i])==null?void 0:r.common)==null?void 0:o.members)!=null&&n.includes(e)){const a={_id:this.objects[i]._id,common:JSON.parse(JSON.stringify(this.objects[i].common)),native:this.objects[i].native,type:"enum"};a.common&&(delete a.common.members,delete a.common.custom,delete a.common.mobile),t.push(a)}}),t.length?t:void 0};_createAllEnums=async(e,t)=>{var i,r;for(let o=0;or)break}return e}return[]}async _exportObjects(e){var o;if(e.isAll){Ql("allObjects.json",this.objects,e);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}const t={},i=this.state.selected[0]||this.state.selectedNonObject,r=this._getSelectedIdsForExport();for(const n of r){if(t[n]=JSON.parse(JSON.stringify(this.objects[n])),((o=t[n])==null?void 0:o.type)==="state"&&!e.noStatesByExportImport){const a=await this.props.socket.getState(n);a&&(t[n].val=a.val,t[n].ack=a.ack)}if(t[n].common){const a=this.getEnumsForId(n);a&&(t[n].common.enums=a)}}Ql(`${i}.json`,t,e)}renderExportDialog(){return this.state.showExportDialog===!1?null:M.createElement(j.Dialog,{open:!0,maxWidth:"lg"},M.createElement(j.DialogTitle,null,this.props.t("ra_Select type of export")),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,null,this.state.filter.expertMode||this.state.showAllExportOptions?M.createElement(M.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),M.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),M.createElement("br",null),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{checked:this.state.noStatesByExportImport,onChange:e=>this.setState({noStatesByExportImport:e.target.checked})}),label:this.props.t("ra_Do not export values of states")}),M.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{checked:this.state.beautifyJsonExport,onChange:e=>this.setState({beautifyJsonExport:e.target.checked})}),label:this.props.t("Beautify JSON output")}),M.createElement("br",null),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:e=>this.setState({excludeSystemRepositoriesFromExport:e.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{checked:this.state.excludeTranslations,onChange:e=>this.setState({excludeTranslations:e.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),M.createElement(j.DialogActions,null,this.state.filter.expertMode||this.state.showAllExportOptions?M.createElement(j.Button,{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}))},M.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):M.createElement(j.Button,{color:"grey",variant:"outlined",startIcon:M.createElement($n,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),M.createElement(j.Button,{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}))},M.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:M.createElement(Ne,null)},this.props.t("ra_Cancel"))))}renderRenameDialog(){var t;if(!this.state.showRenameDialog)return null;const e=this.props.objectMoveRenameDialog;return M.createElement(e,{expertMode:this.props.expertMode,onClose:()=>this.setState({showRenameDialog:null}),id:this.state.showRenameDialog.id,childrenIds:this.state.showRenameDialog.childrenIds,theme:this.props.theme,socket:this.props.socket,t:this.props.t,objectType:(t=this.objects[this.state.showRenameDialog.id])==null?void 0:t.type})}handleJsonUpload(e){var r;const t=e.target,i=((r=t.files)==null?void 0:r.length)&&t.files[0];if(i){const o=new FileReader;o.onload=async n=>{var c;const a=(c=n.target)==null?void 0:c.result;try{const l=JSON.parse(a),N=Object.keys(l).length,u=l._id;if(u===void 0&&N)await this.loadObjects(l),window.alert(this.props.t("ra_%s object(s) processed",N));else{if(!u)return window.alert(this.props.t("ra_Invalid structure"));try{let L,g,y;if(l.common.enums&&(L=l.common.enums,delete l.common.enums),l.val&&(g=l.val,delete l.val),l.ack!==void 0&&(y=l.ack,delete l.ack),await this.props.socket.setObject(l._id,l),l.type==="state")if(g!=null)await this.props.socket.setState(l._id,g,y===void 0?!0:y);else{const T=await this.props.socket.getState(l._id);(!T||T.val===null||T.val===void 0)&&await this.props.socket.setState(l._id,l.common.def===void 0?null:l.common.def,!0)}L&&await this._createAllEnums(L,l._id),window.alert(this.props.t("ra_%s was imported",l._id))}catch(L){window.alert(L)}}}catch(l){window.alert(l)}return null},o.readAsText(i)}else window.alert(this.props.t("ra_Failed to open JSON File"))}toolTipObjectCreating=()=>{var i,r;const{t:e}=this.props;let t=[M.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),M.createElement("div",{key:2},e("ra_Folder → State")),M.createElement("div",{key:3},e("ra_Folder → Channel → State")),M.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),M.createElement("div",{key:5},e("ra_Device → Channel → State")),M.createElement("div",{key:6},e("ra_Channel → State")),M.createElement("div",{key:7,style:{height:10}}),M.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),M.createElement("div",{key:9},e('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){const o=this.state.selected[0]||this.state.selectedNonObject;if(!(o.split(".").length<2||this.objects[o]&&((i=this.objects[o])==null?void 0:i.type)==="state"))if(this.state.filter.expertMode)switch((r=this.objects[o])==null?void 0:r.type){case"device":t=[M.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),M.createElement("div",{key:5},e("ra_Device → Channel → State")),M.createElement("div",{key:7,style:{height:10}}),M.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),M.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":t=[M.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),M.createElement("div",{key:2},e("ra_Folder → State")),M.createElement("div",{key:3},e("ra_Folder → Channel → State")),M.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),M.createElement("div",{key:7,style:{height:10}}),M.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),M.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":t=[M.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),M.createElement("div",{key:1},e("ra_Channel → State")),M.createElement("div",{key:7,style:{height:10}}),M.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),M.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break}else(o.startsWith("alias.0")||o.startsWith("0_userdata"))&&(t=[M.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),M.createElement("div",{key:2},e("ra_Folder → State")),M.createElement("div",{key:3},e("ra_Folder → Channel → State")),M.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),M.createElement("div",{key:5},e("ra_Device → Channel → State")),M.createElement("div",{key:6},e("ra_Channel → State")),M.createElement("div",{key:7,style:{height:10}}),M.createElement("div",{key:7},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),M.createElement("div",{key:8},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return t.length?t:e("ra_Add new child object to selected parent")};getToolbar(){let e=!1;if(this.state.selected.length||this.state.selectedNonObject){const t=this.state.selected[0]||this.state.selectedNonObject;t.split(".").length<2||this.objects[t]&&this.objects[t].type==="state"?e=!1:(this.state.filter.expertMode||t.startsWith("alias.0")||t.startsWith("0_userdata"))&&(e=!0)}return M.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},M.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},M.createElement(j.Tooltip,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:w.tooltip}}},M.createElement("div",null,M.createElement(j.IconButton,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},M.createElement(TN,null)))),this.props.showExpertButton&&!this.props.expertMode&&M.createElement(j.Tooltip,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>this.onFilter("expertMode",!this.state.filter.expertMode),size:"large"},M.createElement($n,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&M.createElement(j.Tooltip,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},M.createElement(fg,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&M.createElement(j.Tooltip,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},M.createElement(fr,null))),M.createElement(j.Tooltip,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},M.createElement(Ws,null))),this.props.width!=="xs"&&M.createElement(j.Tooltip,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},M.createElement(j.Badge,{badgeContent:this.state.depth,color:"secondary",sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}})},M.createElement(fr,null)))),this.props.width!=="xs"&&M.createElement(j.Tooltip,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},M.createElement(j.Badge,{sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},M.createElement(Ws,null)))),this.props.objectStatesView&&M.createElement(j.Tooltip,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{onClick:()=>this.onStatesViewVisible(),size:"large"},M.createElement(Dg,{color:this.state.statesView?"primary":"inherit"}))),M.createElement(j.Tooltip,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},M.createElement(pg,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?M.createElement(j.Tooltip,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:w.tooltip}}},M.createElement("div",null,M.createElement(j.IconButton,{disabled:!e,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},M.createElement(un,null)))):null,this.props.objectImportExport&&M.createElement(j.Tooltip,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{onClick:()=>{const t=document.createElement("input");t.setAttribute("type","file"),t.setAttribute("id","files"),t.setAttribute("opacity","0"),t.addEventListener("change",i=>this.handleJsonUpload(i),!1),t.click()},size:"large"},M.createElement(Sr,null))),this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&M.createElement(j.Tooltip,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},M.createElement(Sr,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&M.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(t=>this.info.objects[t].type==="state").length}`),this.props.objectEditBoolean&&M.createElement(j.Tooltip,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{onClick:()=>{var i;const t=this.root?v4(this.root,"state",this.objects):[];t.length?(this.pauseSubscribe(!0),t.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(i=this.props.router)==null||i.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:t,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},M.createElement(eg,null))))}toggleExpanded(e){const t=JSON.parse(JSON.stringify(this.state.expanded)),i=t.indexOf(e);i===-1?(t.push(e),t.sort()):t.splice(i,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t})}onCopy(e,t){e.stopPropagation(),e.preventDefault(),t&&(O.copyToClipboard(t),t.length<50?this.setState({toast:this.props.t("ra_Copied %s",t)}):this.setState({toast:this.props.t("ra_Copied")}))}renderTooltipAccessControl=e=>{if(!e)return null;const t=[{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"}],i=[],r=o=>{const n=e[o];t.forEach((a,c)=>{n&a.valueNum&&i.push(M.createElement("span",{key:o+c},this.texts[`acl${a.group}_${a.title}_${o}`],",",M.createElement("span",{style:o==="object"?w.rightsObject:w.rightsState},a.value)))})};return i.push(M.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(e.ownerGroup||"").replace("system.group.","")}`)),i.push(M.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(e.owner||"").replace("system.user.","")}`)),r("object"),e.state&&r("state"),i.length?M.createElement("span",{style:w.tooltipAccessControl},i.map(o=>o)):null};renderColumnButtons(e,t){var n,a,c,l;if(!t.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?M.createElement("div",{style:w.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?M.createElement(j.IconButton,{sx:{...w.cellButtonsButton,...w.cellButtonsEmptyButton,...w.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},M.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&((n=t.children)!=null&&n.length)?M.createElement(j.IconButton,{sx:{...w.cellButtonsButton,...w.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var g;const N=Object.keys(this.objects);N.sort();let u=0;const L=`${e}.`;for(let y=0;yL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((g=t.children)!=null&&g.length),!1,u+1)}},M.createElement(nt,{style:w.cellButtonsButtonIcon})):null):null;t.data.aclTooltip=t.data.aclTooltip||this.renderTooltipAccessControl(t.data.obj.acl);const i=t.data.obj.acl?t.data.obj.type==="state"?t.data.obj.acl.state:t.data.obj.acl.object:0,r=t.data.obj.acl&&(t.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),o=this.state.filter.expertMode||it.isNonExpertId(t.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?M.createElement(j.Tooltip,{key:"acl",title:t.data.aclTooltip,slotProps:{popper:{sx:w.tooltip}}},M.createElement(j.IconButton,{sx:{...w.cellButtonsButton,...w.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},M.createElement("div",{style:w.aclText},Number.isNaN(Number(i))?Number(r).toString(16):Number(i).toString(16)))):M.createElement("div",{key:"aclEmpty",style:w.cellButtonMinWidth}),o?M.createElement(j.IconButton,{key:"edit",sx:{marginRight:"2px",...w.cellButtonsButton},size:"small","aria-label":"edit",title:this.texts.editObject,onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.setState({editObjectDialog:e,editObjectAlias:!1})}},M.createElement(mi,{style:w.cellButtonsButtonIcon})):M.createElement(j.Box,{component:"div",key:"editDisabled",sx:w.cellButtonsButton}),this.props.onObjectDelete&&((a=t.children)!=null&&a.length||!((c=t.data.obj.common)!=null&&c.dontDelete))?M.createElement(j.IconButton,{key:"delete",sx:w.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var g,y,T;const N=Object.keys(this.objects);N.sort();let u=0;const L=`${e}.`;for(let d=0;dL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((g=t.children)!=null&&g.length),!((T=(y=t.data.obj)==null?void 0:y.common)!=null&&T.dontDelete),u)},title:this.texts.deleteObject},M.createElement(nt,{style:w.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&t.data.obj.type==="state"&&((l=t.data.obj.common)==null?void 0:l.type)!=="file"?M.createElement(j.IconButton,{sx:{...w.cellButtonsButton,...t.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:w.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var N;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.pauseSubscribe(!0),(N=this.props.router)==null||N.doNavigate(null,"customs",e),this.setState({customDialog:[e],customDialogAll:!1})}},M.createElement(ln,{style:w.cellButtonsButtonIcon})):null]}readHistory(e){var t,i;if(window.sparkline&&this.defaultHistory&&((i=(t=this.objects[e])==null?void 0:t.common)!=null&&i.custom)&&this.objects[e].common.custom[this.defaultHistory]){const r=new Date;r.setHours(r.getHours()-24),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0);const o=r.getTime();this.props.socket.getHistory(e,{instance:this.defaultHistory,start:o,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addId:!1,aggregate:"minmax"}).then(n=>{const a=window.document.getElementsByClassName("sparkline");for(let c=0;cconsole.warn(`Cannot read history: ${n}`))}}getTooltipInfo(e,t){var l,N,u;const i=this.objects[e],r=this.states[e],{valFull:o,fileViewer:n}=qo({state:r,obj:i,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}),a=[];o==null||o.forEach(L=>{L.t===this.texts.quality&&r.q?(a.push(M.createElement("div",{style:w.cellValueTooltipBoth,key:L.t},L.t,": ",L.v)),L.nbr||a.push(M.createElement("br",{key:`${L.t}_br`}))):(a.push(M.createElement("div",{style:w.cellValueTooltipTitle,key:L.t},L.t,": ")),a.push(M.createElement("div",{style:w.cellValueTooltipValue,key:`${L.t}_v`},L.v)),L.nbr||a.push(M.createElement("br",{key:`${L.t}_br`})))});const c=((l=i==null?void 0:i.common)==null?void 0:l.role)||"";n==="image"?a.push(M.createElement("img",{style:w.cellValueTooltipImage,src:r.val,alt:e})):c==="url"||i.common.role==="url.self"||i.common.role==="url.blank"?a.unshift(M.createElement("div",{key:"ctrl",style:{textDecoration:"underline",fontWeight:"bold"}},this.texts.ctrlForLink)):this.defaultHistory&&((u=(N=i==null?void 0:i.common)==null?void 0:N.custom)!=null&&u[this.defaultHistory])&&a.push(M.createElement("svg",{key:"sparkline",className:"sparkline","data-id":e,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:a,id:e}},()=>t&&t())}renderColumnValue(e,t,i){var c,l;const r=t.data.obj;if(!r||!this.states)return null;if(((c=r.common)==null?void 0:c.type)==="file")return M.createElement(j.Box,{component:"div",sx:{...w.cellValueText,...w.cellValueFile}},"[file]");if(!this.states[e])return r.type==="state"&&(this.recordStates.includes(e)||this.recordStates.push(e),this.states[e]={val:null},this.subscribe(e)),null;this.recordStates.includes(e)||this.recordStates.push(e);const o=this.states[e];let n=t.data.state;if(!n){const{valText:N}=qo({state:o,obj:r,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),u=[];if(t.data.state={valTextRx:u},u.push(M.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${N.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},N.v.toString())),N.u&&u.push(M.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:w.cellValueTextUnit,key:`${N.v.toString()}unit`},N.u)),N.s!==void 0&&u.push(M.createElement("span",{style:w.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${N.v.toString()}states`},"(",N.s,")")),!i){const L=N.c!==void 0?N.c:N.v||"";u.push(M.createElement(Ts,{className:"copyButton",style:this.styles.iconCopy,onClick:g=>this.onCopy(g,L),key:"cc"}))}n=t.data.state}n.style=NSe({state:o,isExpertMode:this.state.filter.expertMode,isButton:t.data.button});let a=n.valTextRx;return this.state.filter.expertMode||(t.data.button?a=[M.createElement(MSe,{key:"button",style:{color:n.style.color,...w.cellValueButton}})]:t.data.switch&&(a=[M.createElement(j.Switch,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:n.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[e].val&&this.state.selected.includes(e)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[e].val})])),M.createElement(j.Tooltip,{key:"value",title:(l=this.state.tooltipInfo)==null?void 0:l.el,slotProps:{popper:{sx:w.cellValueTooltipBox},tooltip:{sx:w.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(e,()=>this.readHistory(e)),onClose:()=>{var N;return((N=this.state.tooltipInfo)==null?void 0:N.id)===e&&this.setState({tooltipInfo:null})}},M.createElement(j.Box,{component:"div",style:n.style,className:t.data.url?"iob-link":void 0,sx:{...w.cellValueText,height:i?void 0:pe,"& .admin-button:active":{transform:"translate(0, 2px)"}}},a))}_syncEnum(e,t,i,r){var a,c,l;if(!(t!=null&&t.length)){r&&r();return}const o=t.pop()||"",n=[];if((a=this.info.objects[o])!=null&&a.common){if((c=this.info.objects[o].common.members)!=null&&c.length){const N=this.info.objects[o].common.members.indexOf(e);if(N!==-1&&!i.includes(o)){const u=JSON.parse(JSON.stringify(this.info.objects[o]));u.common.members.splice(N,1),n.push(this.props.socket.setObject(o,u).then(()=>this.info.objects[o]=u).catch(L=>this.showError(L)))}}if(i.includes(o)&&!((l=this.info.objects[o].common.members)!=null&&l.includes(e))){const N=JSON.parse(JSON.stringify(this.info.objects[o]));N.common.members||=[],N.common.members.push(e),N.common.members.sort(),n.push(this.props.socket.setObject(o,N).then(()=>this.info.objects[o]=N).catch(u=>this.showError(u)))}}Promise.all(n).then(()=>{setTimeout(()=>this._syncEnum(e,t,i,r),0)})}syncEnum(e,t,i){const r=[...this.info[t==="func"?"funcEnums":"roomEnums"]];return new Promise(o=>{this._syncEnum(e,r,i,()=>{o()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;const e=this.state.enumDialog.type,t=this.state.enumDialog.item,i=this.state.enumDialogEnums,r=this.state.enumDialog.enumsOriginal,o=(e==="room"?this.info.roomEnums:this.info.funcEnums).map(n=>{var a,c;return{name:Ye(((c=(a=this.objects[n])==null?void 0:a.common)==null?void 0:c.name)||n.split(".").pop()||"",this.props.lang),value:n,icon:Zr(this.objects,n,this.props.lang,this.imagePrefix)}}).sort((n,a)=>n.name>a.name?1:-1);return o.forEach(n=>{n.icon&&typeof n.icon=="string"&&(n.icon=M.createElement(j.Box,{style:w.enumIconDiv},M.createElement("img",{src:n.icon,style:w.enumIcon,alt:n.name})))}),M.createElement(j.Dialog,{sx:{"& .MuiPaper-root":w.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},M.createElement(j.DialogTitle,{id:"enum-dialog-title",style:{display:"flex",justifyContent:"space-between",width:"100%",flexWrap:"nowrap",gap:8,paddingRight:12}},e==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),M.createElement(j.Fab,{color:"primary",disabled:r===JSON.stringify(i),size:"small",onClick:()=>this.syncEnum(t.data.id,e,i).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},M.createElement(Oe,null))),M.createElement(j.List,{sx:{"&.MuiList-root":w.enumList}},o.map(n=>{let a,c,l;typeof n=="object"?(a=n.value,c=n.name,l=n.icon):(a=n,c=n);const N=`checkbox-list-label-${a}`;return M.createElement(j.ListItem,{sx:w.headerCellSelectItem,key:a,onClick:()=>{const u=i.indexOf(a),L=JSON.parse(JSON.stringify(this.state.enumDialogEnums));u===-1?(L.push(a),L.sort()):L.splice(u,1),this.setState({enumDialogEnums:L})},secondaryAction:l},M.createElement(j.ListItemIcon,{sx:{"&.MuiListItemIcon-root":w.enumCheckbox}},M.createElement(j.Checkbox,{edge:"start",checked:i.includes(a),tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":N}})),M.createElement(j.ListItemText,{id:N},c))})))}renderEditRoleDialog(){var e,t;if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){const i=this.props.objectBrowserEditRole;return M.createElement(i,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roleArray:this.info.roles,commonType:(t=(e=this.info.objects[this.state.roleDialog])==null?void 0:e.common)==null?void 0:t.type,onClose:r=>{r&&(this.info.objects[this.state.roleDialog]=r),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(e){var i,r;const t=this.customColumnDialog;if(e){let o=t.value;t.type==="boolean"?o=o==="true"||o===!0:t.type==="number"&&(o=parseFloat(o)),this.customColumnDialog=null,this.props.socket.getObject(((r=(i=this.state.columnsEditCustomDialog)==null?void 0:i.obj)==null?void 0:r._id)||"").then(n=>{var a;if(n&&it.setCustomValue(n,(a=this.state.columnsEditCustomDialog)==null?void 0:a.it,o))return this.props.socket.setObject(n._id,n);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(n=>this.showError(n))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){const e=it.getCustomValue(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof e,initValue:(e??"").toString(),value:(e??"").toString()}}return M.createElement(j.Dialog,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},M.createElement(j.DialogTitle,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:e=>{const t=this.customColumnDialog;t.value=e.target.checked.toString();const i=t.value!==t.initValue;i===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:i})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):M.createElement(j.TextField,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:e=>{const t=this.customColumnDialog;t.value=e.target.value;const i=t.value!==t.initValue;i===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:i})},autoFocus:!0}))),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:M.createElement(Oe,null)},this.props.t("ra_Update")),M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:M.createElement(Ne,null)},this.props.t("ra_Cancel"))))}static getCustomValue(e,t){var i;if((i=e==null?void 0:e._id)!=null&&i.startsWith(`${t.adapter}.`)&&t.path.length>1){const r=t.path;let o;const n=e;if(n[r[0]]&&typeof n[r[0]]=="object")return r.length===2?o=n[r[0]][r[1]]:r.length===3?o=n[r[0]][r[1]]&&typeof n[r[0]][r[1]]=="object"?n[r[0]][r[1]][r[2]]:null:r.length===4?o=n[r[0]][r[1]]&&typeof n[r[0]][r[1]]=="object"&&n[r[0]][r[1]][r[2]]?n[r[0]][r[1]][r[2]][r[3]]:null:r.length===5?o=n[r[0]][r[1]]&&typeof n[r[0]][r[1]]=="object"&&n[r[0]][r[1]][r[2]]&&n[r[0]][r[1]][r[2]][r[3]]?n[r[0]][r[1]][r[2]][r[3]][r[4]]:null:r.length===6&&(o=n[r[0]][r[1]]&&typeof n[r[0]][r[1]]=="object"&&n[r[0]][r[1]][r[2]]&&n[r[0]][r[1]][r[2]][r[3]]&&n[r[0]][r[1]][r[2]][r[3]][r[4]]?n[r[0]][r[1]][r[2]][r[3]][r[4]][r[5]]:null),o??null}return null}static setCustomValue(e,t,i){var r;if((r=e==null?void 0:e._id)!=null&&r.startsWith(`${t.adapter}.`)&&t.path.length>1){const o=t.path,n=e;if(n[o[0]]&&typeof n[o[0]]=="object"){if(o.length===2)return n[o[0]][o[1]]=i,!0;if(o.length===3){if(n[o[0]][o[1]]&&typeof n[o[0]][o[1]]=="object")return n[o[0]][o[1]][o[2]]=i,!0}else if(o.length===4){if(n[o[0]][o[1]]&&typeof n[o[0]][o[1]]=="object"&&n[o[0]][o[1]][o[2]]&&typeof n[o[0]][o[1]][o[2]]=="object")return n[o[0]][o[1]][o[2]][o[3]]=i,!0}else if(o.length===5){if(n[o[0]][o[1]]&&typeof n[o[0]][o[1]]=="object"&&n[o[0]][o[1]][o[2]]&&typeof n[o[0]][o[1]][o[2]]=="object"&&n[o[0]][o[1]][o[2]][o[3]]&&typeof n[o[0]][o[1]][o[2]][o[3]]=="object")return n[o[0]][o[1]][o[2]][o[3]][o[4]]=i,!0}else if(o.length===6&&n[o[0]][o[1]]&&typeof n[o[0]][o[1]]=="object"&&n[o[0]][o[1]][o[2]]&&typeof n[o[0]][o[1]][o[2]]=="object"&&n[o[0]][o[1]][o[2]][o[3]]&&typeof n[o[0]][o[1]][o[2]][o[3]]=="object"&&n[o[0]][o[1]][o[2]][o[3]][o[4]]&&typeof n[o[0]][o[1]][o[2]][o[3]][o[4]]=="object")return n[o[0]][o[1]][o[2]][o[3]][o[4]][o[5]]=i,!0}}return!1}renderCustomValue(e,t,i){const r=it.getCustomValue(e,t);return r!=null?t.edit&&!this.props.notEditable&&(!t.objTypes||t.objTypes.includes(e.type))?M.createElement(j.Box,{component:"div",style:{...w.columnCustom,...w.columnCustomEditable,...w[`columnCustom_${t.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:i,it:t,obj:e},customColumnDialogValueChanged:!1})},r):M.createElement(j.Box,{component:"div",style:{...w.columnCustom,...w[`columnCustom_${t.align}`]}},r):null}renderAliasLink(e,t,i){const r=t||0,o=this.objects[this.info.aliasesMap[e][r]].common.alias.id;return o?M.createElement(j.Box,{component:"div",onClick:n=>{n.stopPropagation(),n.preventDefault();const a=this.info.aliasesMap[e][r];this.info.aliasesMap[e].length>1&&this.setState({aliasMenu:""}),this.onSelect(a),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(a)),100)},sx:i||this.styles.aliasAlone},M.createElement("span",{className:"admin-browser-arrow"},typeof o=="string"||o.read===e&&o.write===e?"↔":o.read===e?"→":"←"),this.info.aliasesMap[e][r]):null}renderLeaf(e,t,i){var ai,Mi,ci,tr,sr,AM,mM,OM,EM,fM,xM,_M,SM,kM;const r=e.data.id;i.count++,t=t===void 0?this.state.expanded.includes(r):t;let o;const n=e.data.obj,a=n==null?void 0:n.type;e.children||a==="folder"||a==="device"||a==="channel"||a==="meta"?o=t?M.createElement(fr,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):M.createElement(Ws,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):n&&n.common&&n.common.write===!1&&n.type==="state"?o=M.createElement(eSe,{style:this.styles.cellIdIconDocument}):o=M.createElement(q_e,{style:this.styles.cellIdIconDocument});let c=null;e.data.icon&&(typeof e.data.icon=="string"?e.data.icon.length<3?c=M.createElement("span",{className:"iconOwn",style:w.cellIdIconOwn},e.data.icon):c=M.createElement(me,{style:w.cellIdIconOwn,className:"iconOwn",src:e.data.icon,alt:""}):c=e.data.icon);const l=n==null?void 0:n.common,N=(n==null?void 0:n.type)&&Pl[n.type]||M.createElement("div",{className:"itemIcon"}),u=this.levelPadding*(e.data.level||0);if(e.data.lang!==this.props.lang){const{rooms:k,per:q}=U4(this.info,r,this.props.lang);e.data.rooms=k.join(", "),e.data.per=q;const{funcs:fe,pef:de}=$4(this.info,r,this.props.lang);e.data.funcs=fe.join(", "),e.data.pef=de,e.data.lang=this.props.lang}const L=this.props.multiSelect&&this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))?M.createElement(j.Checkbox,{style:w.checkBox,checked:this.state.selected.includes(r)}):null;let g=!this.props.notEditable&&a==="state"&&(this.state.filter.expertMode||(l==null?void 0:l.write)!==!1);this.props.objectBrowserViewFile&&(l==null?void 0:l.type)==="file"&&(g=!0);const y=!this.props.notEditable&&this.objects[r]&&(this.state.filter.expertMode||a==="state"||a==="channel"||a==="device"),T=this.state.statesView&&(a==="state"||a==="channel"||a==="device");let d="";const z=[];if(T&&(d=(ai=this.states[r])==null?void 0:ai.from,d===void 0?d=" ":(d=d?d.replace(/^system\.adapter\.|^system\./,""):"",z.push(`${this.texts.stateChangedFrom} ${d}`)),n!=null&&n.user)){const k=n.user.replace("system.user.","");d+=`/${k}`,z.push(`${this.texts.stateChangedBy} ${k}`)}n&&(n.from&&z.push(`${this.texts.objectChangedFrom} ${n.from.replace(/^system\.adapter\.|^system\./,"")}`),n.user&&z.push(`${this.texts.objectChangedBy} ${n.user.replace(/^system\.user\./,"")}`),n.ts&&z.push(`${this.texts.objectChangedByUser} ${O.formatDate(new Date(n.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let I=!1,C=null;r.startsWith("alias.")&&((Mi=l==null?void 0:l.alias)!=null&&Mi.id)?(I=typeof l.alias.id=="object",I?C=M.createElement("div",{style:w.cellIdAliasReadWriteDiv},l.alias.id.read?M.createElement(j.Box,{component:"div",onClick:k=>{k.stopPropagation(),k.preventDefault(),this.onSelect(l.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"←",l.alias.id.read):null,l.alias.id.write?M.createElement(j.Box,{component:"div",onClick:k=>{k.stopPropagation(),k.preventDefault(),this.onSelect(l.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"→",l.alias.id.write):null):C=M.createElement(j.Box,{component:"div",onClick:k=>{k.stopPropagation(),k.preventDefault(),this.onSelect(l.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id)),100)},sx:this.styles.aliasAlone},"→",l.alias.id)):this.info.aliasesMap[r]&&(this.info.aliasesMap[r].length>1?C=M.createElement(j.Box,{component:"div",id:`alias_${r}`,onClick:k=>{k.stopPropagation(),k.preventDefault(),this.setState({aliasMenu:r})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[r].length)):C=this.renderAliasLink(r,0));let m=l==null?void 0:l.color,A;if(m&&!this.state.selected.includes(r)){const k=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";O.colorDistance(m,k)<1e3&&(A=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let D=!1;r==="0_userdata"?(m=f4(this.props.themeType),D=!0):r==="alias"?(m=x4(this.props.themeType),D=!0):r==="javascript"?(m=aSe(this.props.themeType),D=!0):r==="system"?(m=_4(this.props.themeType),D=!0):r==="system.adapter"?m=S4(this.props.themeType):(!m||this.state.selected.includes(r))&&(m="inherit");const p=[];if(l!=null&&l.statusStates){const k={};Object.keys(l.statusStates).forEach(fe=>{var tt;let de=l.statusStates[fe];de.split(".").length<3&&(de=`${r}.${de}`),k[fe]=de,this.states[de]?this.recordStates.includes(de)||this.recordStates.push(de):((tt=this.objects[de])==null?void 0:tt.type)==="state"&&(this.recordStates.includes(de)||this.recordStates.push(de),this.states[de]={val:null},this.subscribe(de))});let q=!1;l.statusStates.errorId&&this.states[k.errorId]&&this.states[k.errorId].val&&(m=this.props.themeType==="dark"?k4:Y4,q=!0,p.push(M.createElement(Mg,{key:"error",style:this.styles.iconDeviceError}))),k.onlineId&&this.states[k.onlineId]?q?this.states[k.onlineId].val?p.push(M.createElement(Qs,{key:"conn",style:this.styles.iconDeviceConnected})):p.push(M.createElement(rr,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[k.onlineId].val?(m=this.props.themeType==="dark"?Wn:Bn,p.push(M.createElement(Qs,{key:"conn",style:this.styles.iconDeviceConnected}))):(m=this.props.themeType==="dark"?Jn:Rn,p.push(M.createElement(rr,{key:"disc",style:this.styles.iconDeviceDisconnected}))):k.offlineId&&this.states[k.offlineId]&&(q?this.states[k.offlineId].val?p.push(M.createElement(rr,{key:"disc",style:this.styles.iconDeviceDisconnected})):p.push(M.createElement(Qs,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[k.offlineId].val?(m=this.props.themeType==="dark"?Jn:Rn,p.push(M.createElement(rr,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(m=this.props.themeType==="dark"?Wn:Bn,p.push(M.createElement(Qs,{key:"conn",style:this.styles.iconDeviceConnected}))))}const _=T?O.quality2text(((ci=this.states[r])==null?void 0:ci.q)||0).join(", "):null;let x=((tr=e.data)==null?void 0:tr.title)||"",P=!1;if(this.state.showDescription){const k=b4(e.data,this.props.lang);k&&(x=[M.createElement("div",{key:"name",style:w.cellNameDivDiv},x),M.createElement("div",{key:"desc",style:w.cellDescription},k)],P=!!k)}const v=this.props.width==="xs"&&this.state.focused===r,ee=M.createElement(j.Grid2,{container:!0,wrap:"nowrap",direction:"row",sx:w.cellId,style:{width:this.columnsVisibility.id,paddingLeft:u}},M.createElement(j.Grid2,{container:!0,alignItems:"center"},L,o),M.createElement(j.Grid2,{style:{...w.cellIdSpan,...A?this.styles.invertedBackground:void 0,color:m,fontWeight:D?"bold":void 0}},M.createElement(j.Tooltip,{title:lSe(e.data,this.props.lang),slotProps:{popper:{sx:w.tooltip}}},M.createElement("div",null,e.data.name)),C,p),M.createElement("div",{style:{...w.grow,...A?this.styles.invertedBackgroundFlex:{}}}),M.createElement(j.Grid2,{container:!0,alignItems:"center"},c),this.props.width!=="xs"?M.createElement("div",null,M.createElement(Ts,{className:v?"":"copyButton",style:w.cellCopyButton,onClick:k=>this.onCopy(k,r)})):null);let ue=v&&x||this.columnsVisibility.name?M.createElement(j.Box,{component:"div",sx:{...w.cellName,...P?w.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:v?0:"5px"}},x,!v&&((sr=e.data)!=null&&sr.title)?M.createElement(j.Box,{style:{color:m}},M.createElement(Ts,{className:"copyButton",style:w.cellCopyButton,onClick:k=>{var q;return this.onCopy(k,(q=e.data)==null?void 0:q.title)}})):null):null,G;this.state.statesView?G=[v&&T&&((AM=this.states[r])!=null&&AM.from)||this.columnsVisibility.changedFrom?{el:M.createElement("div",{key:"from",style:{...w.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:z.join(` @@ -479,7 +479,7 @@ body { text-decoration: underline; cursor: pointer; } -`),M.createElement(oSe,null,this.getToolbar()),M.createElement(rSe,null,this.renderHeader(),M.createElement(j.Box,{style:w.tableDiv,ref:this.tableRef,onKeyDown:i=>this.navigateKeyPress(i)},t)),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.renderRenameDialog(),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))}}const gSe=Io()(it);class Z3e extends M.Component{refTypo;height;width;constructor(e){super(e),this.state={closed:this.props.storeId?window.localStorage.getItem(this.props.storeId)==="true":!1},this.height=0,this.width=0,this.refTypo=M.createRef()}componentDidMount(){this.detectHeight()}onClick(){this.props.storeId&&this.props.closed===void 0&&(this.state.closed?window.localStorage.removeItem(this.props.storeId):window.localStorage.setItem(this.props.storeId,"true")),this.props.closed===void 0?this.setState({closed:!this.state.closed},()=>{this.props.onClose&&this.props.onClose(this.state.closed)}):this.props.onClose&&this.props.onClose(!this.props.closed)}detectHeight(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed;this.props.closeable&&!e&&this.refTypo.current&&window.requestAnimationFrame(()=>{(this.props.closed!==void 0?this.props.closed:this.state.closed)||this.refTypo.current&&(!this.height||this.width!==this.refTypo.current.clientWidth)&&(this.height=this.refTypo.current.clientHeight,this.width=this.refTypo.current.clientWidth,this.forceUpdate())})}componentDidUpdate(){this.detectHeight()}render(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed,t=e?Sg:Ne;return M.createElement(j.Box,{className:"iom-info-box",style:{whiteSpace:"preserve",display:"flex",gap:8,alignItems:e||this.props.iconPosition==="top"?"flex-start":"center",borderWidth:1,borderStyle:"solid",padding:4,borderRadius:5,marginBottom:8,maxWidth:"100%",transition:"height 0.5s",height:this.props.closeable?e?30:this.height||void 0:void 0,overflow:this.props.closeable?"hidden":void 0,position:"relative",...this.props.style},sx:{borderColor:i=>this.props.type==="ok"?i.palette.info.main:i.palette[this.props.type].main}},this.props.type==="ok"?M.createElement(Oe,{style:{color:"#0F0"}}):this.props.type==="info"?M.createElement(la,{color:"primary"}):M.createElement(kg,{color:this.props.type}),M.createElement(j.Typography,{ref:this.refTypo},this.props.children),this.props.closeable?M.createElement(t,{sx:{color:i=>i.palette.mode==="dark"?"lightgray":"gray",cursor:"pointer",position:"absolute",top:4,right:4},onClick:()=>this.onClick()}):null,this.props.closeable?M.createElement("div",{style:{width:22}}):null,e?M.createElement(j.Box,{component:"div",sx:i=>{const r=i.palette[this.props.type==="ok"?"info":this.props.type].main;return{background:`linear-gradient(${r}00 0%, ${r}10 60%, ${r}90 100%)`}},style:{bottom:0,position:"absolute",left:0,right:0,height:10}}):null)}}const E={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:s=>({background:s.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:s=>({background:s.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowMonths:s=>({background:s.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:s=>({background:s.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:s=>({background:s.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDowsDows:s=>({background:s.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},en=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],zr=["January","February","March","April","May","June","July","August","September","October","November","December"],tn={minutes:"minutes",hours:"hours"},ji=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function gt(s){return s<10?`0${s}`:`${s}`}const Bl={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 sn(s){const e=s.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class De extends f.Component{refFrom;refTo;refOnce;timerOnce=null;timerFrom=null;timerTo=null;constructor(e){super(e);let t;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{t=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(t=this.props.schedule);(!t||!Object.keys(t).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),t=Bl),t={...Bl,...t},t.valid.from||=De.now2string(),this.refFrom=M.createRef(),this.refTo=M.createRef(),this.refOnce=M.createRef(),this.state={schedule:t,desc:De.state2text(t)},JSON.stringify(t)!==this.props.schedule&&setTimeout(()=>{var i,r;return(r=(i=this.props).onChange)==null?void 0:r.call(i,JSON.stringify(t))},100)}onChange(e,t){var r,o;const i=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||i){i&&this.setState({schedule:e,desc:De.state2text(e)});const n=JSON.parse(JSON.stringify(e));if(n.period.once){const a=n.period.once;delete n.period,n.period={once:a},delete n.valid}else if(n.period.days){const a=n.period.days,c=n.period.dows;delete n.period,n.period={days:a},c&&c!=="[]"&&(n.period.dows=c)}else if(n.period.weeks){const a=n.period.weeks,c=n.period.dows;delete n.period,n.period={weeks:a},c&&c!=="[]"&&(n.period.dows=c)}else if(n.period.months){const a=n.period.months,c=n.period.dates;delete n.period,n.period={months:a},c&&c!=="[]"&&(n.period.dates=c)}else if(n.period.years){const a=n.period.years,c=n.period.yearMonth,l=n.period.yearDate;delete n.period,n.period={years:a,yearDate:l},c&&(n.period.yearMonth=c)}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){const a=De.string2date(n.valid.from),c=new Date;c.setHours(0),c.setMinutes(0),c.setSeconds(0),c.setMilliseconds(0),a<=c&&delete n.valid.from}!n.valid.from&&!n.valid.to&&delete n.valid}(o=(r=this.props).onChange)==null||o.call(r,JSON.stringify(n),De.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const t=[],i=De.string2date(e.valid.from);if(e.period.once){const r=De.string2date(e.period.once),o=new Date;if(o.setMilliseconds(0),o.setSeconds(0),o.setMinutes(0),o.setHours(0),rh.t(en[n]));if(o.length===1)t.push(h.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(h.t("sch_desc_everyDay"));else{const n=o.pop();t.push(h.t("sch_desc_onWeekdays",o.join(", "),n))}}}else t.push(h.t("sch_desc_everyDay"));else t.push(h.t("sch_desc_everyNDay",e.period.days.toString()));else if(e.period.weeks)if(e.period.weeks===1?t.push(h.t("sch_desc_everyWeek")):t.push(h.t("sch_desc_everyNWeeks",e.period.weeks.toString())),e.period.dows){const r=JSON.parse(e.period.dows);if(r.length===2&&r[0]===0&&r[1]===6)t.push(h.t("sch_desc_onWeekends"));else if(r.length===5&&r[0]===1&&r[1]===2&&r[2]===3&&r[3]===4&&r[4]===5)t.push(h.t("sch_desc_onWorkdays"));else{const o=r.map(n=>h.t(en[n]));if(o.length===1)t.push(h.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(h.t("sch_desc_everyDay"));else{const n=o.pop();t.push(h.t("sch_desc_onWeekdays",o.join(", "),n))}}}else return h.t("sch_desc_never");else if(e.period.months){if(e.period.dates){const r=JSON.parse(e.period.dates);if(r.length===1)t.push(h.t("sch_desc_onDate",r[0]));else if(r.length===31)t.push(h.t("sch_desc_onEveryDate"));else if(r.length){const o=r.pop();t.push(h.t("sch_desc_onDates",r.join(", "),o))}else return h.t("sch_desc_never")}else t.push(h.t("sch_desc_onEveryDate"));if(e.period.months===1)t.push(h.t("sch_desc_everyMonth"));else if(typeof e.period.months=="number")t.push(h.t("sch_desc_everyNMonths",e.period.months.toString()));else{const o=JSON.parse(e.period.months).map(n=>h.t(zr[n-1]));if(!o.length)return h.t("sch_desc_never");if(o.length===1)t.push(h.t("sch_desc_onMonth",o[0]));else if(o.length===12)t.push(h.t("sch_desc_everyMonth"));else{const n=o.pop();t.push(h.t("sch_desc_onMonths",o.join(", "),n))}}}else e.period.years&&(e.period.years===1?t.push(h.t("sch_desc_everyYear")):t.push(h.t("sch_desc_everyNYears",e.period.years.toString())),t.push(h.t("sch_desc_onDate",e.period.yearDate.toString(),e.period.yearMonth?h.t(zr[e.period.yearMonth-1]):h.t("sch_desc_everyMonth"))));if(e.time.exactTime)ji.includes(e.time.start)?t.push(h.t("sch_desc_atTime",h.t(`sch_astro_${e.time.start}`))):t.push(h.t("sch_desc_atTime",e.time.start));else{e.time.mode===tn.minutes?e.time.interval===1?t.push(h.t("sch_desc_everyMinute")):t.push(h.t("sch_desc_everyNMinutes",e.time.interval.toString())):e.time.interval===1?t.push(h.t("sch_desc_everyHour")):t.push(h.t("sch_desc_everyNHours",e.time.interval.toString()));const r=ji.indexOf(e.time.start)!==-1?h.t(`sch_astro_${e.time.start}`):e.time.start,o=ji.indexOf(e.time.end)!==-1?h.t(`sch_astro_${e.time.end}`):e.time.end;(r!=="00:00"||o!=="24:00"&&o!=="23:59")&&t.push(h.t("sch_desc_intervalFromTo",r,o))}return e.period.once||(i.getTime()>Date.now()&&e.valid.to?t.push(h.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):i.getTime()>Date.now()?t.push(h.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(h.t("sch_desc_validTo",e.valid.to))),t.join(" ")}getTimePeriodElements(){const e=this.state.schedule;let t=!1,i=!1,r=!1,o=!0;return e.time.start==="00:00"&&e.time.end==="24:00"?(t=!0,o=!1):e.time.start==="sunrise"?(i=!0,o=!1):e.time.start==="sunset"&&(r=!0,o=!1),M.createElement("div",{key:"timePeriod",style:E.rowDiv},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!e.time.exactTime,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.exactTime=!1,this.onChange(n)}}),label:h.t("sch_intervalTime")})),M.createElement("div",{style:E.settingsDiv},M.createElement("div",{style:E.settingsDiv},!e.time.exactTime&&M.createElement("div",null,M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!o,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start="00:00",n.time.end="23:59",this.onChange(n)}}),label:o?"":h.t("sch_fromTo")}),o&&[M.createElement(j.TextField,{variant:"standard",style:{...E.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:n=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:n.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:n=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=n.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:h.t("sch_from"),margin:"normal"}),M.createElement(j.TextField,{variant:"standard",style:E.inputTime,key:"exactTimeTo",type:"time",sx:n=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:n.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:n=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.end=n.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:h.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!t,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start="00:00",n.time.end="24:00",this.onChange(n)}}),label:h.t("sch_wholeDay")})),!e.time.exactTime&&M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!i,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start="sunrise",n.time.end="sunset",this.onChange(n)}}),label:h.t("sch_astroDay")})),!e.time.exactTime&&M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!r,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start="sunset",n.time.end="sunrise",this.onChange(n)}}),label:h.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(o)))}getTimeExactElements(){const e=ji.includes(this.state.schedule.time.start);return M.createElement("div",{key:"timeExact",style:E.rowDiv},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.time.exactTime=!0,this.onChange(t)}}),label:h.t("sch_exactTime")})),this.state.schedule.time.exactTime&&M.createElement(j.Select,{variant:"standard",value:e?this.state.schedule.time.start:"00:00",onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start=t.target.value,this.onChange(i)}},M.createElement(j.MenuItem,{key:"specific",value:"00:00"},h.t("sch_specificTime")),ji.map(t=>M.createElement(j.MenuItem,{key:t,value:t},h.t(`sch_astro_${t}`)))),this.state.schedule.time.exactTime&&!e&&M.createElement("div",{style:E.settingsDiv},M.createElement(j.TextField,{variant:"standard",style:E.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:t=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:t.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start=t.target.value,this.onChange(i)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return M.createElement("hr",{style:E.hr})}getPeriodModes(){const e=this.state.schedule,t=!e.period.dows&&!e.period.months&&!e.period.dates&&!e.period.years&&!e.period.days&&!e.period.weeks;return t&&!e.period.once&&(e.period.once=De.now2string(!0)),[M.createElement("div",{key:"once",style:{...E.rowDiv,...E.rowOnce}},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!t,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.once||=De.now2string(!0),i.period.dows="",i.period.months="",i.period.dates="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.weeks=0,i.period.days=0,this.onChange(i)}}),label:h.t("sch_periodOnce")})),t&&M.createElement("div",{style:E.settingsDiv},M.createElement(j.TextField,{variant:"standard",style:E.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:sn(e.period.once),onChange:i=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(r=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),n=De.string2date(r);n.toString()!=="Invalid Date"&&(o.period.once=`${gt(n.getDate())}.${gt(n.getMonth()+1)}.${n.getFullYear()}`,this.onChange(o))},1500,i.target.value)},slotProps:{inputLabel:{shrink:!0}},label:h.t("sch_at"),margin:"normal"}))),M.createElement(j.Box,{component:"div",key:"days",sx:O.getStyle(this.props.theme,E.rowDiv,E.rowDays)},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!e.period.days,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.days=1,i.period.dows="",i.period.months="",i.period.dates="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.weeks=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodDaily")})),M.createElement("div",{style:E.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),M.createElement(j.Box,{component:"div",key:"weeks",sx:O.getStyle(this.props.theme,E.rowDiv,E.rowDows)},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!e.period.weeks,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.weeks=e.period.weeks?0:1,i.period.dows||="[0]",i.period.months="",i.period.dates="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.days=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodWeekly")})),M.createElement(j.Box,{component:"div",style:E.settingsDiv},M.createElement("div",{style:E.settingsDiv},this.getPeriodSettingsWeekly()),M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,E.settingsDiv,E.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),M.createElement(j.Box,{component:"div",key:"months",sx:O.getStyle(this.props.theme,E.rowDiv,E.rowMonths)},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!e.period.months,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months=1,i.period.dows="",i.period.dates="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.weeks=0,i.period.days=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodMonthly")})),M.createElement("div",{style:E.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?M.createElement(j.Box,null,M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,E.settingsDiv,E.rowMonthsDates)},M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{style:E.inputRadio,checked:!!e.period.dates,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months||=1;const r=[];for(let o=1;o<=31;o++)r.push(o);i.period.dates||=JSON.stringify(r),i.period.dows="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.weeks=0,i.period.days=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodDates")})),M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,E.settingsDiv,E.rowMonthsDates)},this.getPeriodSettingsDates())):null)),M.createElement(j.Box,{component:"div",key:"years",sx:O.getStyle(this.props.theme,E.rowDiv,E.rowYears)},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!e.period.years,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.years=1,i.period.yearDate=1,i.period.yearMonth=1,i.period.dows="",i.period.months=0,i.period.dates="",i.period.weeks=0,i.period.days=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodYearly")})),M.createElement("div",{style:E.settingsDiv},M.createElement("div",{style:E.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&M.createElement("div",{style:E.settingsDiv},M.createElement("span",null,h.t("sch_on")),M.createElement(j.Input,{key:"input",value:this.state.schedule.period.yearDate,style:E.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:i=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.yearDate=parseInt(i.target.value,10),r.period.yearDate<1&&(r.period.yearDate=31),r.period.yearDate>31&&(r.period.yearDate=1),this.onChange(r)}}),M.createElement(j.Select,{variant:"standard",value:e.period.yearMonth,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.yearMonth=i.target.value,this.onChange(r)}},M.createElement(j.MenuItem,{key:"every",value:0},h.t("sch_yearEveryMonth")),zr.map((i,r)=>M.createElement(j.MenuItem,{key:i,value:r+1},h.t(i)))))))]}getPeriodSettingsMinutes(e){return M.createElement("div",{style:{display:"inline-block",marginTop:e?15:"inherit"}},M.createElement("label",{style:{marginLeft:4,marginRight:4}},h.t("sch_every")),M.createElement(j.Input,{value:this.state.schedule.time.interval,style:{...E.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.time.interval=parseInt(t.target.value,10),this.onChange(i)}}),M.createElement(j.Select,{variant:"standard",value:this.state.schedule.time.mode,onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.time.mode=t.target.value,this.onChange(i)}},M.createElement(j.MenuItem,{value:tn.minutes},h.t("sch_periodMinutes")),M.createElement(j.MenuItem,{value:tn.hours},h.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const e=this.state.schedule,t=e.period.dows&&e.period.dows!=="[1, 2, 3, 4, 5]"&&e.period.dows!=="[0, 6]";return[M.createElement("div",{key:"workdays"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.dows="[1, 2, 3, 4, 5]",i.period.days&&(i.period.days=1),this.onChange(i)}}),label:h.t("sch_periodWorkdays")})),M.createElement("div",{key:"weekend"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.dows==="[0, 6]",onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.dows="[0, 6]",i.period.days&&(i.period.days=1),this.onChange(i)}}),label:h.t("sch_periodWeekend")})),M.createElement("div",{key:"specific",style:{verticalAlign:"top"}},M.createElement(j.FormControlLabel,{style:{verticalAlign:"top"},control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!t,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.dows="[0, 1, 2, 3, 4, 5, 6]",i.period.days&&(i.period.days=1),this.onChange(i)}}),label:h.t("sch_periodWeekdays")}),t&&(e.period.days===1||e.period.weeks)&&M.createElement(j.FormGroup,{row:!0,style:{...E.inputGroup,width:150}},[1,2,3,4,5,6,0].map(i=>M.createElement(j.FormControlLabel,{key:`specific_${i}`,style:E.inputGroupElement,control:M.createElement(j.Checkbox,{style:E.inputSmallCheck,checked:e.period.dows.includes(i.toString()),onChange:r=>{const o=JSON.parse(JSON.stringify(this.state.schedule));let n;try{n=JSON.parse(o.period.dows)}catch{n=[]}r.target.checked&&!n.includes(i)?n.push(i):!r.target.checked&&n.includes(i)&&n.splice(n.indexOf(i),1),n.sort((a,c)=>a-c),o.period.dows=JSON.stringify(n),o.period.days&&(o.period.days=1),this.onChange(o)}}),label:h.t(en[i])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[M.createElement("div",{key:"every_day"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.days===1&&!e.period.dows,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=1,t.period.dows="",this.onChange(t)}}),label:h.t("sch_periodEveryDay")})),M.createElement("div",{key:"everyN_day"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.days>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=2,t.period.dows="",this.onChange(t)}}),label:h.t("sch_periodEvery")}),e.period.days>1&&[M.createElement(j.Input,{key:"input",value:this.state.schedule.period.days,style:E.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.days=parseInt(t.target.value,10),i.period.dows="",this.onChange(i)}}),M.createElement("span",{key:"span",style:{paddingRight:10}},h.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const e=this.state.schedule;return[M.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.weeks===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=1,this.onChange(t)}}),label:h.t("sch_periodEveryWeek")})),M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.weeks>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=2,this.onChange(t)}}),label:h.t("sch_periodEvery")}),e.period.weeks>1&&[M.createElement(j.Input,{key:"input",value:this.state.schedule.period.weeks,style:E.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.weeks=parseInt(t.target.value,10),this.onChange(i)}}),M.createElement("span",{key:"text"},h.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const e=this.state.schedule,t=[];for(let r=1;r<=31;r++)t.push(r);const i=JSON.parse(e.period.dates);return M.createElement(j.FormGroup,{row:!0,style:{...E.inputGroup,maxWidth:620}},M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:i.length===31,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[];for(let n=1;n<=31;n++)o.push(n);r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:h.t("sch_all")}),M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:!i.length,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.dates="[]",this.onChange(r)}}),label:h.t("sch_no_one")}),i.length!==31&&!!i.length&&M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:!1,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[],n=JSON.parse(r.period.dates);for(let a=1;a<=31;a++)n.includes(a)||o.push(a);o.sort((a,c)=>a-c),r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:h.t("sch_invert")}),M.createElement("div",null),t.map(r=>M.createElement(j.FormControlLabel,{key:`date_${r}`,style:r?E.inputDateDay:{...E.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(r),onChange:o=>{const n=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(n.period.dates)}catch{a=[]}o.target.checked&&!a.includes(r)?a.push(r):!o.target.checked&&a.includes(r)&&a.splice(a.indexOf(r),1),a.sort((c,l)=>c-l),n.period.dates=JSON.stringify(a),this.onChange(n)}}),label:r<10?[M.createElement("span",{key:"0",style:{opacity:0}},"0"),M.createElement("span",{key:"num"},r)]:r})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const e=this.state.schedule,t=typeof e.period.months=="string"?JSON.parse(e.period.months):[];return[M.createElement("div",{key:"every"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:typeof e.period.months=="number"&&e.period.months===1,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months=1,this.onChange(e)}}),label:h.t("sch_periodEveryMonth")})),M.createElement("div",{key:"everyN"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:typeof e.period.months=="number"&&e.period.months>1,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months=2,this.onChange(i)}}),label:h.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[M.createElement(j.Input,{key:"input",value:e.period.months,style:E.inputEvery,type:"number",inputProps:{min:2},onChange:i=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.months=parseInt(i.target.value,10),r.period.months<1&&(r.period.months=1),this.onChange(r)}}),M.createElement("span",{key:"text"},h.t("sch_periodMonth"))]),M.createElement("div",{key:"specific",style:{verticalAlign:"top"}},M.createElement(j.FormControlLabel,{style:{verticalAlign:"top"},control:M.createElement(j.Radio,{style:E.inputRadio,checked:typeof e.period.months=="string",onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(i)}}),label:h.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&M.createElement(j.FormGroup,{row:!0,style:E.inputGroup},M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:t.length===12,onChange:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule)),r=[];for(let o=1;o<=12;o++)r.push(o);i.period.months=JSON.stringify(r),this.onChange(i)}}),label:h.t("sch_all")}),M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:!t.length,onChange:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months="[]",this.onChange(i)}}),label:h.t("sch_no_one")}),t.length!==12&&!!t.length&&M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:!1,onChange:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule)),r=[],o=JSON.parse(i.period.months);for(let n=1;n<=12;n++)o.includes(n)||r.push(n);r.sort((n,a)=>n-a),i.period.months=JSON.stringify(r),this.onChange(i)}}),label:h.t("sch_invert")}),M.createElement("div",null),zr.map((i,r)=>M.createElement(j.FormControlLabel,{key:`month_${r}`,style:E.inputGroupElement,control:M.createElement(j.Checkbox,{style:E.inputSmallCheck,checked:typeof e.period.months=="string"?JSON.parse(e.period.months).includes(r+1):e.period.months===r,onChange:o=>{const n=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(n.period.months)}catch{a=[]}o.target.checked&&!a.includes(r+1)?a.push(r+1):!o.target.checked&&a.includes(r+1)&&a.splice(a.indexOf(r+1),1),a.sort((c,l)=>c-l),n.period.months=JSON.stringify(a),this.onChange(n)}}),label:h.t(i)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[M.createElement("div",{key:"year"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.years===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=1,this.onChange(t)}}),label:h.t("sch_periodEveryYear")})),M.createElement("div",{key:"every"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.years>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=2,this.onChange(t)}}),label:h.t("sch_periodEvery")}),e.period.years>1&&[M.createElement(j.Input,{key:"input",value:this.state.schedule.period.years,style:E.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.years=parseInt(t.target.value,10),i.period.years<1&&(i.period.years=1),this.onChange(i)}}),M.createElement("span",{key:"text"},h.t("sch_periodYear"))])]}static now2string(e){const t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),`${gt(t.getDate())}.${gt(t.getMonth()+1)}.${gt(t.getFullYear())}`}static string2date(e){let t=e.split(".");return t.length===1?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}getValidSettings(){const e=this.state.schedule;return M.createElement("div",{style:E.rowDiv},M.createElement("div",{style:{...E.modeDiv,verticalAlign:"middle"}},M.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},h.t("sch_valid")),M.createElement("span",null,h.t("sch_validFrom"))),M.createElement("div",{style:E.settingsDiv},M.createElement(j.TextField,{variant:"standard",style:{...E.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:sn(e.valid.from),type:"date",onChange:t=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(i=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),o=De.string2date(i);o.toString()!=="Invalid Date"&&(r.valid.from=`${gt(o.getDate())}.${gt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{style:E.inputRadio,checked:!!e.valid.to,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.valid.to=t.valid.to?"":De.now2string(!0),this.onChange(t)}}),label:h.t("sch_validTo")}),!!e.valid.to&&M.createElement(j.TextField,{variant:"standard",inputRef:this.refTo,style:{...E.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:sn(e.valid.to),onChange:t=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(i=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),o=De.string2date(i);o.toString()!=="Invalid Date"&&(r.valid.to=`${gt(o.getDate())}.${gt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return M.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},M.createElement("div",null,this.state.desc),M.createElement("div",{style:E.scrollWindow},M.createElement("h5",null,h.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),De.getDivider(),M.createElement("h5",null,h.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&De.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}const wr={different:{opacity:.5},icon:{width:16,height:16,marginRight:8}};class X3e extends f.Component{wordDifferent;timeout=null;constructor(e){super(e),e.different&&(this.wordDifferent=e.t("ra___different__"));let t;Array.isArray(e.list)?t=e.list.filter(i=>(i==null?void 0:i._id)&&i.common).map(i=>{var r,o;return{name:O.getObjectNameFromObj(i,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:i._id,icon:(r=i.common)==null?void 0:r.icon,color:(o=i.common)==null?void 0:o.color}}):t=Object.values(e.list).filter(i=>(i==null?void 0:i._id)&&i.common).map(i=>{var r,o;return{name:O.getObjectNameFromObj(i,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:i._id,icon:(r=i.common)==null?void 0:r.icon,color:(o=i.common)==null?void 0:o.color}}),e.different&&e.value===e.different&&t.unshift({value:e.different,name:this.wordDifferent||""}),e.allowNone&&t.unshift({value:"",name:h.t("ra_none")}),this.state={list:t}}render(){this.props.allowNone&&!this.state.list.find(r=>r.value==="")?this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const r=JSON.parse(JSON.stringify(this.state.list));r.unshift({value:"",name:h.t("ra_none")}),this.setState({list:r})},100):!this.props.allowNone&&this.state.list.find(r=>r.value==="")&&(this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const r=JSON.parse(JSON.stringify(this.state.list)),o=this.state.list.findIndex(n=>n.value==="");r.splice(o,1),this.setState({list:r})},100));const e=this.state.list.find(r=>r.value===this.props.value||this.props.removePrefix&&r.value.replace(this.props.removePrefix,"")===this.props.value),t=this.props.value===this.props.different?{}:{color:(e==null?void 0:e.color)||void 0,backgroundColor:O.getInvertedColor((e==null?void 0:e.color)||"",this.props.themeType)};this.props.dense&&this.props.style&&Object.assign(t,this.props.style);const i=M.createElement(j.Select,{variant:"standard",disabled:this.props.disabled,value:this.props.value,slotProps:{input:this.props.inputProps},renderValue:()=>M.createElement("span",null,e!=null&&e.icon?M.createElement(me,{src:e==null?void 0:e.icon,style:wr.icon}):null,e==null?void 0:e.name),sx:{"&.MuiSelect-root":this.props.value===this.props.different?wr.different:{}},classes:{root:this.props.dense?this.props.className:""},style:t,onChange:r=>{if(this.props.different&&r.target.value!==this.props.different){let o=null;for(let n=0;nthis.props.onChange(r.target.value));return}}this.props.onChange(this.props.removePrefix?r.target.value.replace(this.props.removePrefix,""):r.target.value)}},this.state.list.map(r=>M.createElement(j.MenuItem,{style:this.props.different&&r.value===this.props.different?wr.different:{color:r.color||void 0,backgroundColor:O.getInvertedColor(r.color||"",this.props.themeType)},key:r.value,value:r.value},r.icon?M.createElement(me,{src:r.icon,style:wr.icon}):null,r.name)));return this.props.dense?i:M.createElement(j.FormControl,{variant:"standard",fullWidth:!!this.props.fullWidth,style:this.props.style,className:this.props.className},M.createElement(j.InputLabel,null,this.props.label),i)}}class K3e extends f.Component{resizerRefTable;resizerActiveIndex;resizerActiveDiv;resizerCurrentWidths;widthFilled=!1;installTimeout=null;resizerMin=0;resizerMinNext=0;resizerPosition=0;resizerOldWidth=0;resizerOldWidthNext=0;constructor(e){super(e),this.resizerRefTable=M.createRef(),this.resizerActiveIndex=null,this.resizerActiveDiv=null,this.resizerCurrentWidths=[]}componentDidMount(){this.resizerInstall()}componentWillUnmount(){this.resizerUninstall()}resizerInstall(){if(this.resizerRefTable.current&&!this.resizerRefTable.current._installed){this.resizerRefTable.current._installed=!0;const e=this.resizerRefTable.current.querySelectorAll("th"),t=(window._localStorage||window.localStorage).getItem(`App.${this.props.name||"history"}.table`);if(this.widthFilled=!1,t)try{this.resizerCurrentWidths=JSON.parse(t),this.widthFilled=!0}catch{}if(this.widthFilled)if(this.resizerCurrentWidths.length!==e.length)this.resizerCurrentWidths=[],this.widthFilled=!1;else{const i=this.resizerRefTable.current.offsetWidth;let r=0;for(let o=0;o20&&(this.resizerCurrentWidths=[],this.widthFilled=!1)}for(let i=0;i{this.installTimeout=null,this.resizerInstall()},100)}resizerReset=()=>{for(let e=0;e{if(this.resizerActiveDiv&&this.resizerActiveIndex!==null){const t=this.resizerOldWidth+e.clientX-this.resizerPosition,i=this.resizerOldWidthNext-e.clientX+this.resizerPosition;(!this.resizerMin||t>this.resizerMin)&&(!this.resizerMinNext||i>this.resizerMinNext)&&(this.resizerCurrentWidths[this.resizerActiveIndex]=t,this.resizerCurrentWidths[this.resizerActiveIndex+1]=i,this.resizerApplyWidths())}};resizerMouseUp=()=>{(window._localStorage||window.localStorage).setItem(`App.${this.props.name||"history"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveIndex=null,this.resizerActiveDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)};resizerMouseDown=e=>{var t,i,r,o;if(this.resizerActiveIndex===null||this.resizerActiveIndex===void 0){console.log(`Mouse down ${(t=e.target)==null?void 0:t.dataset.index}`),this.resizerActiveIndex=parseInt(((i=e.target)==null?void 0:i.dataset.index)||"0",10),this.resizerActiveDiv=e.target,this.resizerMin=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex]:0,this.resizerMinNext=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex+1]:0,this.resizerPosition=e.clientX;let n;this.resizerCurrentWidths[this.resizerActiveIndex]==="auto"&&(n=(r=this.resizerRefTable.current)==null?void 0:r.querySelectorAll("th"),n&&(this.resizerCurrentWidths[this.resizerActiveIndex]=n[this.resizerActiveIndex].offsetWidth)),this.resizerCurrentWidths[this.resizerActiveIndex+1]==="auto"&&(n=n||((o=this.resizerRefTable.current)==null?void 0:o.querySelectorAll("th")),n&&(this.resizerCurrentWidths[this.resizerActiveIndex+1]=n[this.resizerActiveIndex+1].offsetWidth)),this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveIndex],this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerActiveIndex+1],window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}};render(){if(this.props.ready===!1)return M.createElement(j.Skeleton,null);const e={gridTemplateColumns:this.resizerApplyWidths()};return M.createElement(j.Table,{stickyHeader:this.props.stickyHeader,size:this.props.size||"small",className:this.props.className,sx:this.props.sx,ref:this.resizerRefTable,style:{...this.props.style||void 0,...e}},this.props.children)}}const rn={div:{borderRadius:3,padding:"0 3px",lineHeight:"20px",whiteSpace:"nowrap",overflow:"hidden",display:"flex",alignItems:"center"},icon:{width:16,height:16,marginRight:8,verticalAlign:"middle"},text:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}};function q3e(s){var o,n,a,c,l,N,u,L,g;const e=s.value;let t;const i=s.removePrefix||"";if(typeof e=="string"){const y=s.list;if(y)if(Array.isArray(y)){const T=y.find(d=>(d==null?void 0:d._id)===i+e);T?t={name:O.getObjectNameFromObj(T,s.lang).replace("system.group.",""),value:T._id,icon:s.icon||((o=T.common)==null?void 0:o.icon),color:s.color||((n=T.common)==null?void 0:n.color)}:t={name:e,value:i+e}}else if(y[i+e]){const T=y[i+e];t={name:O.getObjectNameFromObj(T,s.lang).replace("system.group.",""),value:T._id,icon:s.icon||((a=T.common)==null?void 0:a.icon),color:s.color||((c=T.common)==null?void 0:c.color)}}else t={name:e,value:i+e,icon:s.icon,color:s.color};else t={name:e,value:i+e,icon:s.icon,color:s.color}}else if(!e||typeof e!="object")t={name:"",value:"",icon:s.icon,color:s.color};else{const y=e;t={name:O.getObjectNameFromObj(y,s.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:y._id,icon:s.icon||((l=y.common)==null?void 0:l.icon),color:s.color||((N=y.common)==null?void 0:N.color)}}const r=t!=null&&t.color?{border:`1px solid ${O.invertColor(t==null?void 0:t.color)}`,color:O.getInvertedColor(t==null?void 0:t.color,s.themeType||"light",!0)||void 0,backgroundColor:t==null?void 0:t.color}:{};return M.createElement("div",{style:{...s.style||void 0,...rn.div,...r||void 0},className:O.clsx(s.className,(u=s.moreClasses)==null?void 0:u.root),title:s.title||t.value},t!=null&&t.icon?M.createElement(me,{src:t==null?void 0:t.icon,className:(L=s.moreClasses)==null?void 0:L.icon,style:rn.icon}):null,M.createElement("div",{style:rn.text,className:(g=s.moreClasses)==null?void 0:g.text},t==null?void 0:t.name))}function e5e({themeName:s,toggleTheme:e,t,className:i,style:r,size:o}){return M.createElement("div",{className:i||void 0,style:r||void 0},M.createElement(j.Tooltip,{title:t("ra_Change color theme"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},M.createElement(j.IconButton,{onClick:()=>e(),size:o||"medium"},s==="dark"&&M.createElement(XL,{className:i}),s==="blue"&&M.createElement(KL,{className:i}),s==="colored"&&M.createElement(ca,{className:i}),s!=="dark"&&s!=="blue"&&s!=="colored"&&M.createElement(qL,{className:i}))))}function po(){return(po=Object.assign||function(s){for(var e=1;e=0||(r[t]=s[t]);return r}function Hn(s){var e=f.useRef(s),t=f.useRef(function(i){e.current&&e.current(i)});return e.current=s,t.current}var bi=function(s,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),s>t?t:s0:d.buttons>0)&&r.current?o(Jl(r.current,d,a.current)):T(!1)},y=function(){return T(!1)};function T(d){var z=c.current,I=Vn(r.current),C=d?I.addEventListener:I.removeEventListener;C(z?"touchmove":"mousemove",g),C(z?"touchend":"mouseup",y)}return[function(d){var z=d.nativeEvent,I=r.current;if(I&&(Rl(z),!function(m,A){return A&&!fi(m)}(z,c.current)&&I)){if(fi(z)){c.current=!0;var C=z.changedTouches||[];C.length&&(a.current=C[0].identifier)}I.focus(),o(Jl(I,z,a.current)),T(!0)}},function(d){var z=d.which||d.keyCode;z<37||z>40||(d.preventDefault(),n({left:z===39?.05:z===37?-.05:0,top:z===40?.05:z===38?-.05:0}))},T]},[n,o]),N=l[0],u=l[1],L=l[2];return f.useEffect(function(){return L},[L]),M.createElement("div",po({},i,{onTouchStart:N,onMouseDown:N,className:"react-colorful__interactive",ref:r,onKeyDown:u,tabIndex:0,role:"slider"}))}),hM=function(s){return s.filter(Boolean).join(" ")},B4=function(s){var e=s.color,t=s.left,i=s.top,r=i===void 0?.5:i,o=hM(["react-colorful__pointer",s.className]);return M.createElement("div",{className:o,style:{top:100*r+"%",left:100*t+"%"}},M.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},he=function(s,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*s)/t},jSe=function(s){return hSe(Zn(s))},Zn=function(s){return s[0]==="#"&&(s=s.substring(1)),s.length<6?{r:parseInt(s[0]+s[0],16),g:parseInt(s[1]+s[1],16),b:parseInt(s[2]+s[2],16),a:s.length===4?he(parseInt(s[3]+s[3],16)/255,2):1}:{r:parseInt(s.substring(0,2),16),g:parseInt(s.substring(2,4),16),b:parseInt(s.substring(4,6),16),a:s.length===8?he(parseInt(s.substring(6,8),16)/255,2):1}},ySe=function(s){return DSe(dSe(s))},TSe=function(s){var e=s.s,t=s.v,i=s.a,r=(200-e)*t/100;return{h:he(s.h),s:he(r>0&&r<200?e*t/100/(r<=100?r:200-r)*100:0),l:he(r/2),a:he(i,2)}},Xn=function(s){var e=TSe(s);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},dSe=function(s){var e=s.h,t=s.s,i=s.v,r=s.a;e=e/360*6,t/=100,i/=100;var o=Math.floor(e),n=i*(1-t),a=i*(1-(e-o)*t),c=i*(1-(1-e+o)*t),l=o%6;return{r:he(255*[i,a,n,n,c,i][l]),g:he(255*[c,i,i,a,n,n][l]),b:he(255*[n,n,c,i,i,a][l]),a:he(r,2)}},Cr=function(s){var e=s.toString(16);return e.length<2?"0"+e:e},DSe=function(s){var e=s.r,t=s.g,i=s.b,r=s.a,o=r<1?Cr(he(255*r)):"";return"#"+Cr(e)+Cr(t)+Cr(i)+o},hSe=function(s){var e=s.r,t=s.g,i=s.b,r=s.a,o=Math.max(e,t,i),n=o-Math.min(e,t,i),a=n?o===e?(t-i)/n:o===t?2+(i-e)/n:4+(e-t)/n:0;return{h:he(60*(a<0?a+6:a)),s:he(o?n/o*100:0),v:he(o/255*100),a:r}},zSe=M.memo(function(s){var e=s.hue,t=s.onChange,i=hM(["react-colorful__hue",s.className]);return M.createElement("div",{className:i},M.createElement(W4,{onMove:function(r){t({h:360*r.left})},onKey:function(r){t({h:bi(e+360*r.left,0,360)})},"aria-label":"Hue","aria-valuenow":he(e),"aria-valuemax":"360","aria-valuemin":"0"},M.createElement(B4,{className:"react-colorful__hue-pointer",left:e/360,color:Xn({h:e,s:100,v:100,a:1})})))}),wSe=M.memo(function(s){var e=s.hsva,t=s.onChange,i={backgroundColor:Xn({h:e.h,s:100,v:100,a:1})};return M.createElement("div",{className:"react-colorful__saturation",style:i},M.createElement(W4,{onMove:function(r){t({s:100*r.left,v:100-100*r.top})},onKey:function(r){t({s:bi(e.s+100*r.left,0,100),v:bi(e.v-100*r.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+he(e.s)+"%, Brightness "+he(e.v)+"%"},M.createElement(B4,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:Xn(e)})))}),J4=function(s,e){if(s===e)return!0;for(var t in s)if(s[t]!==e[t])return!1;return!0},CSe=function(s,e){return s.toLowerCase()===e.toLowerCase()||J4(Zn(s),Zn(e))};function ISe(s,e,t){var i=Hn(t),r=f.useState(function(){return s.toHsva(e)}),o=r[0],n=r[1],a=f.useRef({color:e,hsva:o});f.useEffect(function(){if(!s.equal(e,a.current.color)){var l=s.toHsva(e);a.current={hsva:l,color:e},n(l)}},[e,s]),f.useEffect(function(){var l;J4(o,a.current.hsva)||s.equal(l=s.fromHsva(o),a.current.color)||(a.current={hsva:o,color:l},i(l))},[o,s,i]);var c=f.useCallback(function(l){n(function(N){return Object.assign({},N,l)})},[]);return[o,c]}var pSe=typeof window<"u"?f.useLayoutEffect:f.useEffect,ASe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},Fl=new Map,mSe=function(s){pSe(function(){var e=s.current?s.current.ownerDocument:document;if(e!==void 0&&!Fl.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,Fl.set(e,t);var i=ASe();i&&t.setAttribute("nonce",i),e.head.appendChild(t)}},[])},OSe=function(s){var e=s.className,t=s.colorModel,i=s.color,r=i===void 0?t.defaultColor:i,o=s.onChange,n=P4(s,["className","colorModel","color","onChange"]),a=f.useRef(null);mSe(a);var c=ISe(t,r,o),l=c[0],N=c[1],u=hM(["react-colorful",e]);return M.createElement("div",po({},n,{ref:a,className:u}),M.createElement(wSe,{hsva:l,onChange:N}),M.createElement(zSe,{hue:l.h,onChange:N,className:"react-colorful__last-control"}))},ESe={defaultColor:"000",toHsva:jSe,fromHsva:function(s){return ySe({h:s.h,s:s.s,v:s.v,a:1})},equal:CSe},fSe=function(s){return M.createElement(OSe,po({},s,{colorModel:ESe}))};class xSe extends f.Component{dialogName;filters;filterFunc;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters||{}});let i=this.props.selected||[];if(Array.isArray(i)||(i=[i]),i=i.filter(r=>r),e.filterFunc)if(typeof e.filterFunc=="string")try{this.filterFunc=new Function("obj",e.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${e.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=e.filterFunc;this.state={selected:i,name:"",selectionBlocked:!1}}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 e;return this.state.name||this.state.selected.length?this.state.selected.length===1?e=[M.createElement("span",{key:"selected"},h.t("ra_Selected")," "),M.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:e=[M.createElement("span",{key:"selected"},h.t("ra_Selected")," "),M.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},h.t("%s items",this.state.selected.length.toString()))]:e=this.props.title||h.t("ra_Please select object ID..."),M.createElement(j.Dialog,{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"},M.createElement(j.DialogTitle,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),M.createElement(j.DialogContent,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},M.createElement(gSe,{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:h.t,lang:this.props.lang||h.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,allowNonObjects:this.props.allowNonObjects,onFilterChanged:t=>{this.filters=t,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(t))},onSelect:async(t,i,r)=>{let o;if(Array.isArray(t)?o=t:o=[t],JSON.stringify(o)!==JSON.stringify(this.state.selected)){let n=!0;if(this.props.onSelectConfirm){const a={};for(const c of o)try{a[c]=await this.props.socket.getObject(c)}catch{}n=await this.props.onSelectConfirm(o,a)}this.setState({selected:o,name:i,selectionBlocked:!n},()=>r&&this.handleOk())}else r&&this.handleOk()},filterFunc:this.filterFunc,title:"",classes:{}})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:M.createElement(Oe,null),disabled:!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}function St(s,e,t){if(typeof e=="string"&&(e=e.split(".")),!s)return null;if(e.length===1)return t&&t[s[e[0]]]?t[s[e[0]]]:s[e[0]];const i=e.shift();return St(s[i],e)}function R4(s,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length===1)return s[e[0]]=t;const i=e.shift();return(s[i]===null||s[i]===void 0)&&(s[i]={}),R4(s[i],e,t)}const W={tableContainer:{width:"100%",height:"100%",overflow:"auto"},table:{width:"100%",minWidth:800,maxWidth:1920},cell:{paddingTop:0,paddingBottom:0,paddingLeft:4,paddingRight:4},rowMainWithChildren:{},rowMainWithoutChildren:{},rowNoEdit:{opacity:.3},cellExpand:{width:30},cellButton:{width:30},cellHeader:{fontWeight:"bold",background:s=>(s.palette.mode==="dark","#888"),color:s=>s.palette.mode==="dark"?"#EEE":"#111",height:48,wordBreak:"break-word",whiteSpace:"pre"},width_name_nicknames:{maxWidth:150},width_ioType:{maxWidth:100},width_type:{maxWidth:100},width_displayTraits:{maxWidth:100},width_roomHint:{maxWidth:100},rowSecondary:{fontStyle:"italic"},cellSecondary:{fontSize:10},visuallyHidden:{border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",top:20,width:1},fieldEditWithButton:{width:"calc(100% - 33px)",display:"inline-block"},fieldEdit:{width:"100%",display:"inline-block",lineHeight:"50px",verticalAlign:"middle"},fieldButton:{width:30,display:"inline-block"},colorDialog:{overflow:"hidden",padding:15},subText:{fontSize:10,fontStyle:"italic"},glow:{animation:"glow 0.2s 2 alternate"}};function Gl(s,e,t,i){const r=St(s,t,i)||"",o=St(e,t,i)||"";return or?1:0}function _Se(s,e,t){return s==="desc"?(i,r)=>Gl(i,r,e,t):(i,r)=>-Gl(i,r,e,t)}function SSe(s,e){const t=s.map((i,r)=>({e:i,i:r}));return t.sort((i,r)=>{const o=e(i.e,r.e);return o||i.i-r.i}),t.map(i=>i.e)}class Kn extends f.Component{selectCallback=null;updateTimeout=null;constructor(e){super(e);let t=(window._localStorage||window.localStorage).getItem(this.props.name||"iob-table")||"[]";try{t=JSON.parse(t)||[]}catch{t=[]}Array.isArray(t)||(t=[]),this.state={opened:t,editMode:!1,deleteMode:!1,editData:null,order:"asc",update:null,orderBy:this.props.columns[0].field,showSelectColor:!1}}static getDerivedStateFromProps(e,t){if(e.glowOnChange){const i=[];let r=0;return e.data&&t.data&&e.data.forEach(o=>{var a;r++;const n=(a=t.data)==null?void 0:a.find(c=>c.id===o.id);n?JSON.stringify(n)!==JSON.stringify(o)&&i.push(o.id):i.push(o.id)}),i.length&&i.length!==r?{data:e.data,update:i}:{data:e.data}}return{data:e.data}}renderCellEdit(e,t){let i=St(e,t.field);return Array.isArray(i)&&(i=i[0]),t.lookup?this.renderCellEditSelect(t,i):t.editComponent?this.renderCellEditCustom(t,i,e):t.type==="boolean"||!t.type&&typeof i=="boolean"?this.renderCellEditBoolean(t,i):t.type==="color"?this.renderCellEditColor(t,i):t.type==="oid"?this.renderCellEditObjectID(t,i):t.type==="numeric"?this.renderCellEditNumber(t,i):this.renderCellEditString(t,i)}onChange(e,t,i){const r=this.state.editData?{...this.state.editData}:{};i===t?delete r[e.field]:r[e.field]=i,this.setState({editData:r})}renderCellEditSelect(e,t){return M.createElement(j.Select,{variant:"standard",onChange:i=>this.onChange(e,t,i.target.value),value:this.state.editData&&this.state.editData[e.field]||t},e.lookup&&Object.keys(e.lookup).map((i,r)=>{var o;return M.createElement(j.MenuItem,{key:r,value:i},(o=e.lookup)==null?void 0:o[i])}))}renderCellEditString(e,t){return M.createElement(j.TextField,{variant:"standard",style:W.fieldEdit,fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:i=>this.onChange(e,t,i.target.value)})}renderCellEditNumber(e,t){return M.createElement(j.TextField,{variant:"standard",style:W.fieldEdit,type:"number",fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:i=>this.onChange(e,t,i.target.value)})}renderCellEditCustom(e,t,i){const r=e.editComponent;return this.state.editData&&this.state.editData[e.field]!==void 0&&(t=this.state.editData[e.field],i=JSON.parse(JSON.stringify(i)),i[e.field]=t),r?M.createElement(r,{value:t,rowData:i,onChange:o=>this.onChange(e,t,o)}):null}renderCellEditBoolean(e,t){return M.createElement(j.Checkbox,{checked:this.state.editData&&this.state.editData[e.field]!==void 0?!!this.state.editData[e.field]:!!t,onChange:i=>this.onChange(e,!!t,i.target.checked),inputProps:{"aria-label":"checkbox"}})}renderSelectColorDialog(){return M.createElement(j.Dialog,{sx:{"& .MuiPaper-root":W.root,"& .MuiPaper-paper":W.paper},onClose:()=>{this.selectCallback=null,this.setState({showSelectColor:!1})},open:this.state.showSelectColor},M.createElement(fSe,{color:this.state.selectIdValue,onChange:e=>this.setState({selectIdValue:e},()=>{this.selectCallback&&this.selectCallback(e)})}))}renderCellEditColor(e,t){const i=this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t;return M.createElement("div",{style:W.fieldEdit},M.createElement(j.TextField,{variant:"standard",fullWidth:!0,style:W.fieldEditWithButton,value:i,inputProps:{style:{backgroundColor:i,color:O.isUseBright(i)?"#FFF":"#000"}},onChange:r=>this.onChange(e,!!t,r.target.value)}),M.createElement(j.IconButton,{style:W.fieldButton,onClick:()=>{this.selectCallback=r=>this.onChange(e,t,r),this.setState({showSelectColor:!0,selectIdValue:t})},size:"large"},M.createElement(sg,null)))}renderSelectIdDialog(){return this.state.showSelectId&&this.props.socket?M.createElement(xSe,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.adapterName,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,selected:this.state.selectIdValue,onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1,selectIdValue:null});const t=Array.isArray(e)?e[0]:e;t&&this.selectCallback&&(this.selectCallback&&this.selectCallback(t),this.selectCallback=null)}}):null}renderCellEditObjectID(e,t){return M.createElement("div",{style:W.fieldEdit},M.createElement(j.TextField,{variant:"standard",fullWidth:!0,style:W.fieldEditWithButton,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:i=>this.onChange(e,t,i.target.value)}),M.createElement(j.IconButton,{style:W.fieldButton,onClick:()=>{this.selectCallback=i=>this.onChange(e,t,i),this.setState({showSelectId:!0,selectIdValue:t})},size:"large"},M.createElement(xg,null)))}static renderCellNonEdit(e,t){let i=St(e,t.field,t.lookup);return Array.isArray(i)&&(i=i[0]),t.type==="boolean"?M.createElement(j.Checkbox,{checked:!!i,disabled:!0,inputProps:{"aria-label":"checkbox"}}):i}renderCell(e,t,i,r){return this.state.editMode===r&&t.editable!=="never"&&t.editable!==!1?M.createElement(j.TableCell,{key:t.field,style:{...W.cell,...i?W.cellSecondary:void 0,...t.cellStyle},component:"th"},this.renderCellEdit(e,t)):M.createElement(j.TableCell,{key:t.field,style:{...W.cell,...i?W.cellSecondary:void 0,...t.cellStyle},component:"th"},Kn.renderCellNonEdit(e,t))}static renderCellWithSubField(e,t){const i=St(e,t.field,t.lookup);if(t.subField){const r=St(e,t.subField,t.subLookup);return M.createElement("div",null,M.createElement("div",{style:W.mainText},i),M.createElement("div",{style:{...W.subText,...t.subStyle||void 0}},r))}return M.createElement("div",null,M.createElement("div",{style:W.mainText},i))}renderLine(e,t){const i=this.props.levelShift===void 0?24:this.props.levelShift;t=t||0;const r=this.props.data.indexOf(e);if(!e||!t&&e.parentId||t&&!e.parentId)return null;const o=this.state.opened.includes(e.id),n=this.props.data.filter(c=>c.parentId===e.id),a=M.createElement(j.TableRow,{key:e.id,className:`table-row-${(e.id||"").toString().replace(/[.$]/g,"_")}`,style:{...this.state.update&&this.state.update.includes(e.id)&&W.glow||void 0,...W.row,...t?W.rowSecondary:void 0,...!t&&n.length?W.rowMainWithChildren:void 0,...!t&&!n.length?W.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==r?W.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==r?W.rowNoEdit:void 0}},M.createElement(j.TableCell,{style:{...W.cell,...W.cellExpand,...t?W.cellSecondary:void 0}},n.length?M.createElement(j.IconButton,{onClick:()=>{const c=[...this.state.opened],l=c.indexOf(e.id);l===-1?(c.push(e.id),c.sort()):c.splice(l,1),(window._localStorage||window.localStorage).setItem(this.props.name||"iob-table",JSON.stringify(c)),this.setState({opened:c})},size:"small"},o?M.createElement(cg,null):M.createElement(zg,null)):null),M.createElement(j.TableCell,{scope:"row",style:{...W.cell,...t?W.cellSecondary:void 0,...this.props.columns[0].cellStyle,paddingLeft:i*t}},this.props.columns[0].subField?Kn.renderCellWithSubField(e,this.props.columns[0]):St(e,this.props.columns[0].field,this.props.columns[0].lookup)),this.props.columns.map((c,l)=>!l&&!c.hidden?null:this.renderCell(e,c,t,r)),this.props.onUpdate?M.createElement(j.TableCell,{style:{...W.cell,...W.cellButton}},this.state.editMode===r||this.state.deleteMode===r?M.createElement(j.IconButton,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>{if(this.state.editMode!==!1){const c=JSON.parse(JSON.stringify(e));this.state.editData&&Object.keys(this.state.editData).forEach(l=>{var N;return R4(c,l,(N=this.state.editData)==null?void 0:N[l])}),this.setState({editMode:!1},()=>this.props.onUpdate&&this.props.onUpdate(c,e))}else this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e))},size:"large"},M.createElement(Oe,null)):M.createElement(j.IconButton,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:r,editData:null}),size:"large"},M.createElement(mi,null))):null,this.props.onDelete&&!this.props.onUpdate?M.createElement(j.TableCell,{style:{...W.cell,...W.cellButton}},this.state.deleteMode===r?M.createElement(j.IconButton,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e)),size:"large"},M.createElement(Oe,null)):null):null,this.props.onUpdate||this.props.onDelete?M.createElement(j.TableCell,{style:{...W.cell,...W.cellButton}},this.state.editMode===r||this.state.deleteMode===r?M.createElement(j.IconButton,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),size:"large"},M.createElement(Ne,null)):this.props.onDelete?M.createElement(j.IconButton,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:r}),size:"large"},M.createElement(nt,null)):null):null);if(!t&&o){const c=n.map(l=>this.renderLine(l,t+1));return c.unshift(a),c}return a}handleRequestSort(e){const t=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:t?"desc":"asc",orderBy:e})}renderHead(){return M.createElement(j.TableHead,null,M.createElement(j.TableRow,{key:"headerRow"},M.createElement(j.TableCell,{component:"th",sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellExpand)}),M.createElement(j.TableCell,{component:"th",sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W[`width_${this.props.columns[0].field.replace(/\./g,"_")}`]),style:this.props.columns[0].headerStyle||this.props.columns[0].cellStyle,sortDirection:this.props.noSort?!1:this.state.orderBy===this.props.columns[0].field?this.state.order:!1},this.props.noSort?null:M.createElement(j.TableSortLabel,{active:this.state.orderBy===this.props.columns[0].field,direction:this.state.orderBy===this.props.columns[0].field?this.state.order:"asc",onClick:()=>this.handleRequestSort(this.props.columns[0].field)},this.props.columns[0].title||this.props.columns[0].field,this.state.orderBy===this.props.columns[0].field?M.createElement("span",{style:W.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null)),this.props.columns.map((e,t)=>!t&&!e.hidden?null:M.createElement(j.TableCell,{key:e.field,sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W[`width_${e.field.replace(/\./g,"_")}`]),style:e.headerStyle||e.cellStyle,component:"th"},this.props.noSort?null:M.createElement(j.TableSortLabel,{active:this.state.orderBy===e.field,direction:this.state.orderBy===e.field?this.state.order:"asc",onClick:()=>this.handleRequestSort(e.field)},e.title||e.field,this.state.orderBy===e.field?M.createElement("span",{style:W.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null))),this.props.onUpdate?M.createElement(j.TableCell,{component:"th",sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellButton)},this.props.noAdd?null:M.createElement(j.Fab,{color:"primary",size:"small",disabled:this.state.editMode!==!1,onClick:()=>this.props.onUpdate&&this.props.onUpdate(!0)},M.createElement(un,null))):null,this.props.onDelete||this.props.onUpdate?M.createElement(j.TableCell,{component:"th",sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellButton)}):null))}render(){const e=this.props.columns.find(t=>t.field===this.state.orderBy);if(e){const t=e.lookup,i=SSe(this.props.data,_Se(this.state.order,this.state.orderBy,t));return this.state.update&&this.state.update.length&&(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=null,this.setState({update:null})},500)),M.createElement("div",{style:W.tableContainer,className:this.props.className},M.createElement(j.Table,{style:W.table,"aria-label":"simple table",size:"small",stickyHeader:!0},this.renderHead(),M.createElement(j.TableBody,null,i.map(r=>this.renderLine(r)))),this.renderSelectIdDialog(),this.renderSelectColorDialog())}return null}}/*! +`),M.createElement(oSe,null,this.getToolbar()),M.createElement(rSe,null,this.renderHeader(),M.createElement(j.Box,{style:w.tableDiv,ref:this.tableRef,onKeyDown:i=>this.navigateKeyPress(i)},t)),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.renderRenameDialog(),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))}}const gSe=Io()(it);class K3e extends M.Component{refTypo;height;width;constructor(e){super(e),this.state={closed:this.props.storeId?window.localStorage.getItem(this.props.storeId)==="true":!1},this.height=0,this.width=0,this.refTypo=M.createRef()}componentDidMount(){this.detectHeight()}onClick(){this.props.storeId&&this.props.closed===void 0&&(this.state.closed?window.localStorage.removeItem(this.props.storeId):window.localStorage.setItem(this.props.storeId,"true")),this.props.closed===void 0?this.setState({closed:!this.state.closed},()=>{this.props.onClose&&this.props.onClose(this.state.closed)}):this.props.onClose&&this.props.onClose(!this.props.closed)}detectHeight(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed;this.props.closeable&&!e&&this.refTypo.current&&window.requestAnimationFrame(()=>{(this.props.closed!==void 0?this.props.closed:this.state.closed)||this.refTypo.current&&(!this.height||this.width!==this.refTypo.current.clientWidth)&&(this.height=this.refTypo.current.clientHeight,this.width=this.refTypo.current.clientWidth,this.forceUpdate())})}componentDidUpdate(){this.detectHeight()}render(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed,t=e?Sg:Ne;return M.createElement(j.Box,{className:"iom-info-box",style:{whiteSpace:"preserve",display:"flex",gap:8,alignItems:e||this.props.iconPosition==="top"?"flex-start":"center",borderWidth:1,borderStyle:"solid",padding:4,borderRadius:5,marginBottom:8,maxWidth:"100%",transition:"height 0.5s",height:this.props.closeable?e?30:this.height||void 0:void 0,overflow:this.props.closeable?"hidden":void 0,position:"relative",...this.props.style},sx:{borderColor:i=>this.props.type==="ok"?i.palette.info.main:i.palette[this.props.type].main}},this.props.type==="ok"?M.createElement(Oe,{style:{color:"#0F0"}}):this.props.type==="info"?M.createElement(la,{color:"primary"}):M.createElement(kg,{color:this.props.type}),M.createElement(j.Typography,{ref:this.refTypo},this.props.children),this.props.closeable?M.createElement(t,{sx:{color:i=>i.palette.mode==="dark"?"lightgray":"gray",cursor:"pointer",position:"absolute",top:4,right:4},onClick:()=>this.onClick()}):null,this.props.closeable?M.createElement("div",{style:{width:22}}):null,e?M.createElement(j.Box,{component:"div",sx:i=>{const r=i.palette[this.props.type==="ok"?"info":this.props.type].main;return{background:`linear-gradient(${r}00 0%, ${r}10 60%, ${r}90 100%)`}},style:{bottom:0,position:"absolute",left:0,right:0,height:10}}):null)}}const E={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:s=>({background:s.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:s=>({background:s.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowMonths:s=>({background:s.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:s=>({background:s.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:s=>({background:s.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDowsDows:s=>({background:s.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},en=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],zr=["January","February","March","April","May","June","July","August","September","October","November","December"],tn={minutes:"minutes",hours:"hours"},ji=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function gt(s){return s<10?`0${s}`:`${s}`}const Bl={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 sn(s){const e=s.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class De extends f.Component{refFrom;refTo;refOnce;timerOnce=null;timerFrom=null;timerTo=null;constructor(e){super(e);let t;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{t=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(t=this.props.schedule);(!t||!Object.keys(t).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),t=Bl),t={...Bl,...t},t.valid.from||=De.now2string(),this.refFrom=M.createRef(),this.refTo=M.createRef(),this.refOnce=M.createRef(),this.state={schedule:t,desc:De.state2text(t)},JSON.stringify(t)!==this.props.schedule&&setTimeout(()=>{var i,r;return(r=(i=this.props).onChange)==null?void 0:r.call(i,JSON.stringify(t))},100)}onChange(e,t){var r,o;const i=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||i){i&&this.setState({schedule:e,desc:De.state2text(e)});const n=JSON.parse(JSON.stringify(e));if(n.period.once){const a=n.period.once;delete n.period,n.period={once:a},delete n.valid}else if(n.period.days){const a=n.period.days,c=n.period.dows;delete n.period,n.period={days:a},c&&c!=="[]"&&(n.period.dows=c)}else if(n.period.weeks){const a=n.period.weeks,c=n.period.dows;delete n.period,n.period={weeks:a},c&&c!=="[]"&&(n.period.dows=c)}else if(n.period.months){const a=n.period.months,c=n.period.dates;delete n.period,n.period={months:a},c&&c!=="[]"&&(n.period.dates=c)}else if(n.period.years){const a=n.period.years,c=n.period.yearMonth,l=n.period.yearDate;delete n.period,n.period={years:a,yearDate:l},c&&(n.period.yearMonth=c)}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){const a=De.string2date(n.valid.from),c=new Date;c.setHours(0),c.setMinutes(0),c.setSeconds(0),c.setMilliseconds(0),a<=c&&delete n.valid.from}!n.valid.from&&!n.valid.to&&delete n.valid}(o=(r=this.props).onChange)==null||o.call(r,JSON.stringify(n),De.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const t=[],i=De.string2date(e.valid.from);if(e.period.once){const r=De.string2date(e.period.once),o=new Date;if(o.setMilliseconds(0),o.setSeconds(0),o.setMinutes(0),o.setHours(0),rh.t(en[n]));if(o.length===1)t.push(h.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(h.t("sch_desc_everyDay"));else{const n=o.pop();t.push(h.t("sch_desc_onWeekdays",o.join(", "),n))}}}else t.push(h.t("sch_desc_everyDay"));else t.push(h.t("sch_desc_everyNDay",e.period.days.toString()));else if(e.period.weeks)if(e.period.weeks===1?t.push(h.t("sch_desc_everyWeek")):t.push(h.t("sch_desc_everyNWeeks",e.period.weeks.toString())),e.period.dows){const r=JSON.parse(e.period.dows);if(r.length===2&&r[0]===0&&r[1]===6)t.push(h.t("sch_desc_onWeekends"));else if(r.length===5&&r[0]===1&&r[1]===2&&r[2]===3&&r[3]===4&&r[4]===5)t.push(h.t("sch_desc_onWorkdays"));else{const o=r.map(n=>h.t(en[n]));if(o.length===1)t.push(h.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(h.t("sch_desc_everyDay"));else{const n=o.pop();t.push(h.t("sch_desc_onWeekdays",o.join(", "),n))}}}else return h.t("sch_desc_never");else if(e.period.months){if(e.period.dates){const r=JSON.parse(e.period.dates);if(r.length===1)t.push(h.t("sch_desc_onDate",r[0]));else if(r.length===31)t.push(h.t("sch_desc_onEveryDate"));else if(r.length){const o=r.pop();t.push(h.t("sch_desc_onDates",r.join(", "),o))}else return h.t("sch_desc_never")}else t.push(h.t("sch_desc_onEveryDate"));if(e.period.months===1)t.push(h.t("sch_desc_everyMonth"));else if(typeof e.period.months=="number")t.push(h.t("sch_desc_everyNMonths",e.period.months.toString()));else{const o=JSON.parse(e.period.months).map(n=>h.t(zr[n-1]));if(!o.length)return h.t("sch_desc_never");if(o.length===1)t.push(h.t("sch_desc_onMonth",o[0]));else if(o.length===12)t.push(h.t("sch_desc_everyMonth"));else{const n=o.pop();t.push(h.t("sch_desc_onMonths",o.join(", "),n))}}}else e.period.years&&(e.period.years===1?t.push(h.t("sch_desc_everyYear")):t.push(h.t("sch_desc_everyNYears",e.period.years.toString())),t.push(h.t("sch_desc_onDate",e.period.yearDate.toString(),e.period.yearMonth?h.t(zr[e.period.yearMonth-1]):h.t("sch_desc_everyMonth"))));if(e.time.exactTime)ji.includes(e.time.start)?t.push(h.t("sch_desc_atTime",h.t(`sch_astro_${e.time.start}`))):t.push(h.t("sch_desc_atTime",e.time.start));else{e.time.mode===tn.minutes?e.time.interval===1?t.push(h.t("sch_desc_everyMinute")):t.push(h.t("sch_desc_everyNMinutes",e.time.interval.toString())):e.time.interval===1?t.push(h.t("sch_desc_everyHour")):t.push(h.t("sch_desc_everyNHours",e.time.interval.toString()));const r=ji.indexOf(e.time.start)!==-1?h.t(`sch_astro_${e.time.start}`):e.time.start,o=ji.indexOf(e.time.end)!==-1?h.t(`sch_astro_${e.time.end}`):e.time.end;(r!=="00:00"||o!=="24:00"&&o!=="23:59")&&t.push(h.t("sch_desc_intervalFromTo",r,o))}return e.period.once||(i.getTime()>Date.now()&&e.valid.to?t.push(h.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):i.getTime()>Date.now()?t.push(h.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(h.t("sch_desc_validTo",e.valid.to))),t.join(" ")}getTimePeriodElements(){const e=this.state.schedule;let t=!1,i=!1,r=!1,o=!0;return e.time.start==="00:00"&&e.time.end==="24:00"?(t=!0,o=!1):e.time.start==="sunrise"?(i=!0,o=!1):e.time.start==="sunset"&&(r=!0,o=!1),M.createElement("div",{key:"timePeriod",style:E.rowDiv},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!e.time.exactTime,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.exactTime=!1,this.onChange(n)}}),label:h.t("sch_intervalTime")})),M.createElement("div",{style:E.settingsDiv},M.createElement("div",{style:E.settingsDiv},!e.time.exactTime&&M.createElement("div",null,M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!o,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start="00:00",n.time.end="23:59",this.onChange(n)}}),label:o?"":h.t("sch_fromTo")}),o&&[M.createElement(j.TextField,{variant:"standard",style:{...E.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:n=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:n.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:n=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=n.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:h.t("sch_from"),margin:"normal"}),M.createElement(j.TextField,{variant:"standard",style:E.inputTime,key:"exactTimeTo",type:"time",sx:n=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:n.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:n=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.end=n.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:h.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!t,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start="00:00",n.time.end="24:00",this.onChange(n)}}),label:h.t("sch_wholeDay")})),!e.time.exactTime&&M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!i,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start="sunrise",n.time.end="sunset",this.onChange(n)}}),label:h.t("sch_astroDay")})),!e.time.exactTime&&M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!r,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start="sunset",n.time.end="sunrise",this.onChange(n)}}),label:h.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(o)))}getTimeExactElements(){const e=ji.includes(this.state.schedule.time.start);return M.createElement("div",{key:"timeExact",style:E.rowDiv},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.time.exactTime=!0,this.onChange(t)}}),label:h.t("sch_exactTime")})),this.state.schedule.time.exactTime&&M.createElement(j.Select,{variant:"standard",value:e?this.state.schedule.time.start:"00:00",onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start=t.target.value,this.onChange(i)}},M.createElement(j.MenuItem,{key:"specific",value:"00:00"},h.t("sch_specificTime")),ji.map(t=>M.createElement(j.MenuItem,{key:t,value:t},h.t(`sch_astro_${t}`)))),this.state.schedule.time.exactTime&&!e&&M.createElement("div",{style:E.settingsDiv},M.createElement(j.TextField,{variant:"standard",style:E.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:t=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:t.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.time.start=t.target.value,this.onChange(i)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return M.createElement("hr",{style:E.hr})}getPeriodModes(){const e=this.state.schedule,t=!e.period.dows&&!e.period.months&&!e.period.dates&&!e.period.years&&!e.period.days&&!e.period.weeks;return t&&!e.period.once&&(e.period.once=De.now2string(!0)),[M.createElement("div",{key:"once",style:{...E.rowDiv,...E.rowOnce}},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!t,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.once||=De.now2string(!0),i.period.dows="",i.period.months="",i.period.dates="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.weeks=0,i.period.days=0,this.onChange(i)}}),label:h.t("sch_periodOnce")})),t&&M.createElement("div",{style:E.settingsDiv},M.createElement(j.TextField,{variant:"standard",style:E.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:sn(e.period.once),onChange:i=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(r=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),n=De.string2date(r);n.toString()!=="Invalid Date"&&(o.period.once=`${gt(n.getDate())}.${gt(n.getMonth()+1)}.${n.getFullYear()}`,this.onChange(o))},1500,i.target.value)},slotProps:{inputLabel:{shrink:!0}},label:h.t("sch_at"),margin:"normal"}))),M.createElement(j.Box,{component:"div",key:"days",sx:O.getStyle(this.props.theme,E.rowDiv,E.rowDays)},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!e.period.days,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.days=1,i.period.dows="",i.period.months="",i.period.dates="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.weeks=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodDaily")})),M.createElement("div",{style:E.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),M.createElement(j.Box,{component:"div",key:"weeks",sx:O.getStyle(this.props.theme,E.rowDiv,E.rowDows)},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!e.period.weeks,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.weeks=e.period.weeks?0:1,i.period.dows||="[0]",i.period.months="",i.period.dates="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.days=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodWeekly")})),M.createElement(j.Box,{component:"div",style:E.settingsDiv},M.createElement("div",{style:E.settingsDiv},this.getPeriodSettingsWeekly()),M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,E.settingsDiv,E.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),M.createElement(j.Box,{component:"div",key:"months",sx:O.getStyle(this.props.theme,E.rowDiv,E.rowMonths)},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!e.period.months,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months=1,i.period.dows="",i.period.dates="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.weeks=0,i.period.days=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodMonthly")})),M.createElement("div",{style:E.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?M.createElement(j.Box,null,M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,E.settingsDiv,E.rowMonthsDates)},M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{style:E.inputRadio,checked:!!e.period.dates,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months||=1;const r=[];for(let o=1;o<=31;o++)r.push(o);i.period.dates||=JSON.stringify(r),i.period.dows="",i.period.years=0,i.period.yearDate=0,i.period.yearMonth=0,i.period.weeks=0,i.period.days=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodDates")})),M.createElement(j.Box,{component:"div",sx:O.getStyle(this.props.theme,E.settingsDiv,E.rowMonthsDates)},this.getPeriodSettingsDates())):null)),M.createElement(j.Box,{component:"div",key:"years",sx:O.getStyle(this.props.theme,E.rowDiv,E.rowYears)},M.createElement("div",{style:E.modeDiv},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!e.period.years,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.years=1,i.period.yearDate=1,i.period.yearMonth=1,i.period.dows="",i.period.months=0,i.period.dates="",i.period.weeks=0,i.period.days=0,i.period.once="",this.onChange(i)}}),label:h.t("sch_periodYearly")})),M.createElement("div",{style:E.settingsDiv},M.createElement("div",{style:E.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&M.createElement("div",{style:E.settingsDiv},M.createElement("span",null,h.t("sch_on")),M.createElement(j.Input,{key:"input",value:this.state.schedule.period.yearDate,style:E.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:i=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.yearDate=parseInt(i.target.value,10),r.period.yearDate<1&&(r.period.yearDate=31),r.period.yearDate>31&&(r.period.yearDate=1),this.onChange(r)}}),M.createElement(j.Select,{variant:"standard",value:e.period.yearMonth,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.yearMonth=i.target.value,this.onChange(r)}},M.createElement(j.MenuItem,{key:"every",value:0},h.t("sch_yearEveryMonth")),zr.map((i,r)=>M.createElement(j.MenuItem,{key:i,value:r+1},h.t(i)))))))]}getPeriodSettingsMinutes(e){return M.createElement("div",{style:{display:"inline-block",marginTop:e?15:"inherit"}},M.createElement("label",{style:{marginLeft:4,marginRight:4}},h.t("sch_every")),M.createElement(j.Input,{value:this.state.schedule.time.interval,style:{...E.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.time.interval=parseInt(t.target.value,10),this.onChange(i)}}),M.createElement(j.Select,{variant:"standard",value:this.state.schedule.time.mode,onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.time.mode=t.target.value,this.onChange(i)}},M.createElement(j.MenuItem,{value:tn.minutes},h.t("sch_periodMinutes")),M.createElement(j.MenuItem,{value:tn.hours},h.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const e=this.state.schedule,t=e.period.dows&&e.period.dows!=="[1, 2, 3, 4, 5]"&&e.period.dows!=="[0, 6]";return[M.createElement("div",{key:"workdays"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.dows="[1, 2, 3, 4, 5]",i.period.days&&(i.period.days=1),this.onChange(i)}}),label:h.t("sch_periodWorkdays")})),M.createElement("div",{key:"weekend"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.dows==="[0, 6]",onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.dows="[0, 6]",i.period.days&&(i.period.days=1),this.onChange(i)}}),label:h.t("sch_periodWeekend")})),M.createElement("div",{key:"specific",style:{verticalAlign:"top"}},M.createElement(j.FormControlLabel,{style:{verticalAlign:"top"},control:M.createElement(j.Radio,{style:E.inputRadio,checked:!!t,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.dows="[0, 1, 2, 3, 4, 5, 6]",i.period.days&&(i.period.days=1),this.onChange(i)}}),label:h.t("sch_periodWeekdays")}),t&&(e.period.days===1||e.period.weeks)&&M.createElement(j.FormGroup,{row:!0,style:{...E.inputGroup,width:150}},[1,2,3,4,5,6,0].map(i=>M.createElement(j.FormControlLabel,{key:`specific_${i}`,style:E.inputGroupElement,control:M.createElement(j.Checkbox,{style:E.inputSmallCheck,checked:e.period.dows.includes(i.toString()),onChange:r=>{const o=JSON.parse(JSON.stringify(this.state.schedule));let n;try{n=JSON.parse(o.period.dows)}catch{n=[]}r.target.checked&&!n.includes(i)?n.push(i):!r.target.checked&&n.includes(i)&&n.splice(n.indexOf(i),1),n.sort((a,c)=>a-c),o.period.dows=JSON.stringify(n),o.period.days&&(o.period.days=1),this.onChange(o)}}),label:h.t(en[i])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[M.createElement("div",{key:"every_day"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.days===1&&!e.period.dows,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=1,t.period.dows="",this.onChange(t)}}),label:h.t("sch_periodEveryDay")})),M.createElement("div",{key:"everyN_day"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.days>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=2,t.period.dows="",this.onChange(t)}}),label:h.t("sch_periodEvery")}),e.period.days>1&&[M.createElement(j.Input,{key:"input",value:this.state.schedule.period.days,style:E.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.days=parseInt(t.target.value,10),i.period.dows="",this.onChange(i)}}),M.createElement("span",{key:"span",style:{paddingRight:10}},h.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const e=this.state.schedule;return[M.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.weeks===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=1,this.onChange(t)}}),label:h.t("sch_periodEveryWeek")})),M.createElement("div",null,M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.weeks>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=2,this.onChange(t)}}),label:h.t("sch_periodEvery")}),e.period.weeks>1&&[M.createElement(j.Input,{key:"input",value:this.state.schedule.period.weeks,style:E.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.weeks=parseInt(t.target.value,10),this.onChange(i)}}),M.createElement("span",{key:"text"},h.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const e=this.state.schedule,t=[];for(let r=1;r<=31;r++)t.push(r);const i=JSON.parse(e.period.dates);return M.createElement(j.FormGroup,{row:!0,style:{...E.inputGroup,maxWidth:620}},M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:i.length===31,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[];for(let n=1;n<=31;n++)o.push(n);r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:h.t("sch_all")}),M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:!i.length,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.dates="[]",this.onChange(r)}}),label:h.t("sch_no_one")}),i.length!==31&&!!i.length&&M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:!1,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[],n=JSON.parse(r.period.dates);for(let a=1;a<=31;a++)n.includes(a)||o.push(a);o.sort((a,c)=>a-c),r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:h.t("sch_invert")}),M.createElement("div",null),t.map(r=>M.createElement(j.FormControlLabel,{key:`date_${r}`,style:r?E.inputDateDay:{...E.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(r),onChange:o=>{const n=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(n.period.dates)}catch{a=[]}o.target.checked&&!a.includes(r)?a.push(r):!o.target.checked&&a.includes(r)&&a.splice(a.indexOf(r),1),a.sort((c,l)=>c-l),n.period.dates=JSON.stringify(a),this.onChange(n)}}),label:r<10?[M.createElement("span",{key:"0",style:{opacity:0}},"0"),M.createElement("span",{key:"num"},r)]:r})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const e=this.state.schedule,t=typeof e.period.months=="string"?JSON.parse(e.period.months):[];return[M.createElement("div",{key:"every"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:typeof e.period.months=="number"&&e.period.months===1,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months=1,this.onChange(e)}}),label:h.t("sch_periodEveryMonth")})),M.createElement("div",{key:"everyN"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:typeof e.period.months=="number"&&e.period.months>1,onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months=2,this.onChange(i)}}),label:h.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[M.createElement(j.Input,{key:"input",value:e.period.months,style:E.inputEvery,type:"number",inputProps:{min:2},onChange:i=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.months=parseInt(i.target.value,10),r.period.months<1&&(r.period.months=1),this.onChange(r)}}),M.createElement("span",{key:"text"},h.t("sch_periodMonth"))]),M.createElement("div",{key:"specific",style:{verticalAlign:"top"}},M.createElement(j.FormControlLabel,{style:{verticalAlign:"top"},control:M.createElement(j.Radio,{style:E.inputRadio,checked:typeof e.period.months=="string",onClick:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(i)}}),label:h.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&M.createElement(j.FormGroup,{row:!0,style:E.inputGroup},M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:t.length===12,onChange:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule)),r=[];for(let o=1;o<=12;o++)r.push(o);i.period.months=JSON.stringify(r),this.onChange(i)}}),label:h.t("sch_all")}),M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:!t.length,onChange:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.months="[]",this.onChange(i)}}),label:h.t("sch_no_one")}),t.length!==12&&!!t.length&&M.createElement(j.FormControlLabel,{style:E.inputDateDay,control:M.createElement(j.Checkbox,{style:E.inputDateDayCheck,checked:!1,onChange:()=>{const i=JSON.parse(JSON.stringify(this.state.schedule)),r=[],o=JSON.parse(i.period.months);for(let n=1;n<=12;n++)o.includes(n)||r.push(n);r.sort((n,a)=>n-a),i.period.months=JSON.stringify(r),this.onChange(i)}}),label:h.t("sch_invert")}),M.createElement("div",null),zr.map((i,r)=>M.createElement(j.FormControlLabel,{key:`month_${r}`,style:E.inputGroupElement,control:M.createElement(j.Checkbox,{style:E.inputSmallCheck,checked:typeof e.period.months=="string"?JSON.parse(e.period.months).includes(r+1):e.period.months===r,onChange:o=>{const n=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(n.period.months)}catch{a=[]}o.target.checked&&!a.includes(r+1)?a.push(r+1):!o.target.checked&&a.includes(r+1)&&a.splice(a.indexOf(r+1),1),a.sort((c,l)=>c-l),n.period.months=JSON.stringify(a),this.onChange(n)}}),label:h.t(i)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[M.createElement("div",{key:"year"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.years===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=1,this.onChange(t)}}),label:h.t("sch_periodEveryYear")})),M.createElement("div",{key:"every"},M.createElement(j.FormControlLabel,{control:M.createElement(j.Radio,{style:E.inputRadio,checked:e.period.years>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=2,this.onChange(t)}}),label:h.t("sch_periodEvery")}),e.period.years>1&&[M.createElement(j.Input,{key:"input",value:this.state.schedule.period.years,style:E.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.schedule));i.period.years=parseInt(t.target.value,10),i.period.years<1&&(i.period.years=1),this.onChange(i)}}),M.createElement("span",{key:"text"},h.t("sch_periodYear"))])]}static now2string(e){const t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),`${gt(t.getDate())}.${gt(t.getMonth()+1)}.${gt(t.getFullYear())}`}static string2date(e){let t=e.split(".");return t.length===1?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}getValidSettings(){const e=this.state.schedule;return M.createElement("div",{style:E.rowDiv},M.createElement("div",{style:{...E.modeDiv,verticalAlign:"middle"}},M.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},h.t("sch_valid")),M.createElement("span",null,h.t("sch_validFrom"))),M.createElement("div",{style:E.settingsDiv},M.createElement(j.TextField,{variant:"standard",style:{...E.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:sn(e.valid.from),type:"date",onChange:t=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(i=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),o=De.string2date(i);o.toString()!=="Invalid Date"&&(r.valid.from=`${gt(o.getDate())}.${gt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),M.createElement(j.FormControlLabel,{control:M.createElement(j.Checkbox,{style:E.inputRadio,checked:!!e.valid.to,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.valid.to=t.valid.to?"":De.now2string(!0),this.onChange(t)}}),label:h.t("sch_validTo")}),!!e.valid.to&&M.createElement(j.TextField,{variant:"standard",inputRef:this.refTo,style:{...E.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:sn(e.valid.to),onChange:t=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(i=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),o=De.string2date(i);o.toString()!=="Invalid Date"&&(r.valid.to=`${gt(o.getDate())}.${gt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return M.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},M.createElement("div",null,this.state.desc),M.createElement("div",{style:E.scrollWindow},M.createElement("h5",null,h.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),De.getDivider(),M.createElement("h5",null,h.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&De.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}const wr={different:{opacity:.5},icon:{width:16,height:16,marginRight:8}};class q3e extends f.Component{wordDifferent;timeout=null;constructor(e){super(e),e.different&&(this.wordDifferent=e.t("ra___different__"));let t;Array.isArray(e.list)?t=e.list.filter(i=>(i==null?void 0:i._id)&&i.common).map(i=>{var r,o;return{name:O.getObjectNameFromObj(i,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:i._id,icon:(r=i.common)==null?void 0:r.icon,color:(o=i.common)==null?void 0:o.color}}):t=Object.values(e.list).filter(i=>(i==null?void 0:i._id)&&i.common).map(i=>{var r,o;return{name:O.getObjectNameFromObj(i,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:i._id,icon:(r=i.common)==null?void 0:r.icon,color:(o=i.common)==null?void 0:o.color}}),e.different&&e.value===e.different&&t.unshift({value:e.different,name:this.wordDifferent||""}),e.allowNone&&t.unshift({value:"",name:h.t("ra_none")}),this.state={list:t}}render(){this.props.allowNone&&!this.state.list.find(r=>r.value==="")?this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const r=JSON.parse(JSON.stringify(this.state.list));r.unshift({value:"",name:h.t("ra_none")}),this.setState({list:r})},100):!this.props.allowNone&&this.state.list.find(r=>r.value==="")&&(this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const r=JSON.parse(JSON.stringify(this.state.list)),o=this.state.list.findIndex(n=>n.value==="");r.splice(o,1),this.setState({list:r})},100));const e=this.state.list.find(r=>r.value===this.props.value||this.props.removePrefix&&r.value.replace(this.props.removePrefix,"")===this.props.value),t=this.props.value===this.props.different?{}:{color:(e==null?void 0:e.color)||void 0,backgroundColor:O.getInvertedColor((e==null?void 0:e.color)||"",this.props.themeType)};this.props.dense&&this.props.style&&Object.assign(t,this.props.style);const i=M.createElement(j.Select,{variant:"standard",disabled:this.props.disabled,value:this.props.value,slotProps:{input:this.props.inputProps},renderValue:()=>M.createElement("span",null,e!=null&&e.icon?M.createElement(me,{src:e==null?void 0:e.icon,style:wr.icon}):null,e==null?void 0:e.name),sx:{"&.MuiSelect-root":this.props.value===this.props.different?wr.different:{}},classes:{root:this.props.dense?this.props.className:""},style:t,onChange:r=>{if(this.props.different&&r.target.value!==this.props.different){let o=null;for(let n=0;nthis.props.onChange(r.target.value));return}}this.props.onChange(this.props.removePrefix?r.target.value.replace(this.props.removePrefix,""):r.target.value)}},this.state.list.map(r=>M.createElement(j.MenuItem,{style:this.props.different&&r.value===this.props.different?wr.different:{color:r.color||void 0,backgroundColor:O.getInvertedColor(r.color||"",this.props.themeType)},key:r.value,value:r.value},r.icon?M.createElement(me,{src:r.icon,style:wr.icon}):null,r.name)));return this.props.dense?i:M.createElement(j.FormControl,{variant:"standard",fullWidth:!!this.props.fullWidth,style:this.props.style,className:this.props.className},M.createElement(j.InputLabel,null,this.props.label),i)}}class e5e extends f.Component{resizerRefTable;resizerActiveIndex;resizerActiveDiv;resizerCurrentWidths;widthFilled=!1;installTimeout=null;resizerMin=0;resizerMinNext=0;resizerPosition=0;resizerOldWidth=0;resizerOldWidthNext=0;constructor(e){super(e),this.resizerRefTable=M.createRef(),this.resizerActiveIndex=null,this.resizerActiveDiv=null,this.resizerCurrentWidths=[]}componentDidMount(){this.resizerInstall()}componentWillUnmount(){this.resizerUninstall()}resizerInstall(){if(this.resizerRefTable.current&&!this.resizerRefTable.current._installed){this.resizerRefTable.current._installed=!0;const e=this.resizerRefTable.current.querySelectorAll("th"),t=(window._localStorage||window.localStorage).getItem(`App.${this.props.name||"history"}.table`);if(this.widthFilled=!1,t)try{this.resizerCurrentWidths=JSON.parse(t),this.widthFilled=!0}catch{}if(this.widthFilled)if(this.resizerCurrentWidths.length!==e.length)this.resizerCurrentWidths=[],this.widthFilled=!1;else{const i=this.resizerRefTable.current.offsetWidth;let r=0;for(let o=0;o20&&(this.resizerCurrentWidths=[],this.widthFilled=!1)}for(let i=0;i{this.installTimeout=null,this.resizerInstall()},100)}resizerReset=()=>{for(let e=0;e{if(this.resizerActiveDiv&&this.resizerActiveIndex!==null){const t=this.resizerOldWidth+e.clientX-this.resizerPosition,i=this.resizerOldWidthNext-e.clientX+this.resizerPosition;(!this.resizerMin||t>this.resizerMin)&&(!this.resizerMinNext||i>this.resizerMinNext)&&(this.resizerCurrentWidths[this.resizerActiveIndex]=t,this.resizerCurrentWidths[this.resizerActiveIndex+1]=i,this.resizerApplyWidths())}};resizerMouseUp=()=>{(window._localStorage||window.localStorage).setItem(`App.${this.props.name||"history"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveIndex=null,this.resizerActiveDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)};resizerMouseDown=e=>{var t,i,r,o;if(this.resizerActiveIndex===null||this.resizerActiveIndex===void 0){console.log(`Mouse down ${(t=e.target)==null?void 0:t.dataset.index}`),this.resizerActiveIndex=parseInt(((i=e.target)==null?void 0:i.dataset.index)||"0",10),this.resizerActiveDiv=e.target,this.resizerMin=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex]:0,this.resizerMinNext=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex+1]:0,this.resizerPosition=e.clientX;let n;this.resizerCurrentWidths[this.resizerActiveIndex]==="auto"&&(n=(r=this.resizerRefTable.current)==null?void 0:r.querySelectorAll("th"),n&&(this.resizerCurrentWidths[this.resizerActiveIndex]=n[this.resizerActiveIndex].offsetWidth)),this.resizerCurrentWidths[this.resizerActiveIndex+1]==="auto"&&(n=n||((o=this.resizerRefTable.current)==null?void 0:o.querySelectorAll("th")),n&&(this.resizerCurrentWidths[this.resizerActiveIndex+1]=n[this.resizerActiveIndex+1].offsetWidth)),this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveIndex],this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerActiveIndex+1],window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}};render(){if(this.props.ready===!1)return M.createElement(j.Skeleton,null);const e={gridTemplateColumns:this.resizerApplyWidths()};return M.createElement(j.Table,{stickyHeader:this.props.stickyHeader,size:this.props.size||"small",className:this.props.className,sx:this.props.sx,ref:this.resizerRefTable,style:{...this.props.style||void 0,...e}},this.props.children)}}const rn={div:{borderRadius:3,padding:"0 3px",lineHeight:"20px",whiteSpace:"nowrap",overflow:"hidden",display:"flex",alignItems:"center"},icon:{width:16,height:16,marginRight:8,verticalAlign:"middle"},text:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}};function t5e(s){var o,n,a,c,l,N,u,L,g;const e=s.value;let t;const i=s.removePrefix||"";if(typeof e=="string"){const y=s.list;if(y)if(Array.isArray(y)){const T=y.find(d=>(d==null?void 0:d._id)===i+e);T?t={name:O.getObjectNameFromObj(T,s.lang).replace("system.group.",""),value:T._id,icon:s.icon||((o=T.common)==null?void 0:o.icon),color:s.color||((n=T.common)==null?void 0:n.color)}:t={name:e,value:i+e}}else if(y[i+e]){const T=y[i+e];t={name:O.getObjectNameFromObj(T,s.lang).replace("system.group.",""),value:T._id,icon:s.icon||((a=T.common)==null?void 0:a.icon),color:s.color||((c=T.common)==null?void 0:c.color)}}else t={name:e,value:i+e,icon:s.icon,color:s.color};else t={name:e,value:i+e,icon:s.icon,color:s.color}}else if(!e||typeof e!="object")t={name:"",value:"",icon:s.icon,color:s.color};else{const y=e;t={name:O.getObjectNameFromObj(y,s.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:y._id,icon:s.icon||((l=y.common)==null?void 0:l.icon),color:s.color||((N=y.common)==null?void 0:N.color)}}const r=t!=null&&t.color?{border:`1px solid ${O.invertColor(t==null?void 0:t.color)}`,color:O.getInvertedColor(t==null?void 0:t.color,s.themeType||"light",!0)||void 0,backgroundColor:t==null?void 0:t.color}:{};return M.createElement("div",{style:{...s.style||void 0,...rn.div,...r||void 0},className:O.clsx(s.className,(u=s.moreClasses)==null?void 0:u.root),title:s.title||t.value},t!=null&&t.icon?M.createElement(me,{src:t==null?void 0:t.icon,className:(L=s.moreClasses)==null?void 0:L.icon,style:rn.icon}):null,M.createElement("div",{style:rn.text,className:(g=s.moreClasses)==null?void 0:g.text},t==null?void 0:t.name))}function s5e({themeName:s,toggleTheme:e,t,className:i,style:r,size:o}){return M.createElement("div",{className:i||void 0,style:r||void 0},M.createElement(j.Tooltip,{title:t("ra_Change color theme"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},M.createElement(j.IconButton,{onClick:()=>e(),size:o||"medium"},s==="dark"&&M.createElement(XL,{className:i}),s==="blue"&&M.createElement(KL,{className:i}),s==="colored"&&M.createElement(ca,{className:i}),s!=="dark"&&s!=="blue"&&s!=="colored"&&M.createElement(qL,{className:i}))))}function po(){return(po=Object.assign||function(s){for(var e=1;e=0||(r[t]=s[t]);return r}function Hn(s){var e=f.useRef(s),t=f.useRef(function(i){e.current&&e.current(i)});return e.current=s,t.current}var bi=function(s,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),s>t?t:s0:d.buttons>0)&&r.current?o(Jl(r.current,d,a.current)):T(!1)},y=function(){return T(!1)};function T(d){var z=c.current,I=Vn(r.current),C=d?I.addEventListener:I.removeEventListener;C(z?"touchmove":"mousemove",g),C(z?"touchend":"mouseup",y)}return[function(d){var z=d.nativeEvent,I=r.current;if(I&&(Rl(z),!function(m,A){return A&&!fi(m)}(z,c.current)&&I)){if(fi(z)){c.current=!0;var C=z.changedTouches||[];C.length&&(a.current=C[0].identifier)}I.focus(),o(Jl(I,z,a.current)),T(!0)}},function(d){var z=d.which||d.keyCode;z<37||z>40||(d.preventDefault(),n({left:z===39?.05:z===37?-.05:0,top:z===40?.05:z===38?-.05:0}))},T]},[n,o]),N=l[0],u=l[1],L=l[2];return f.useEffect(function(){return L},[L]),M.createElement("div",po({},i,{onTouchStart:N,onMouseDown:N,className:"react-colorful__interactive",ref:r,onKeyDown:u,tabIndex:0,role:"slider"}))}),hM=function(s){return s.filter(Boolean).join(" ")},B4=function(s){var e=s.color,t=s.left,i=s.top,r=i===void 0?.5:i,o=hM(["react-colorful__pointer",s.className]);return M.createElement("div",{className:o,style:{top:100*r+"%",left:100*t+"%"}},M.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},he=function(s,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*s)/t},jSe=function(s){return hSe(Zn(s))},Zn=function(s){return s[0]==="#"&&(s=s.substring(1)),s.length<6?{r:parseInt(s[0]+s[0],16),g:parseInt(s[1]+s[1],16),b:parseInt(s[2]+s[2],16),a:s.length===4?he(parseInt(s[3]+s[3],16)/255,2):1}:{r:parseInt(s.substring(0,2),16),g:parseInt(s.substring(2,4),16),b:parseInt(s.substring(4,6),16),a:s.length===8?he(parseInt(s.substring(6,8),16)/255,2):1}},ySe=function(s){return DSe(dSe(s))},TSe=function(s){var e=s.s,t=s.v,i=s.a,r=(200-e)*t/100;return{h:he(s.h),s:he(r>0&&r<200?e*t/100/(r<=100?r:200-r)*100:0),l:he(r/2),a:he(i,2)}},Xn=function(s){var e=TSe(s);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},dSe=function(s){var e=s.h,t=s.s,i=s.v,r=s.a;e=e/360*6,t/=100,i/=100;var o=Math.floor(e),n=i*(1-t),a=i*(1-(e-o)*t),c=i*(1-(1-e+o)*t),l=o%6;return{r:he(255*[i,a,n,n,c,i][l]),g:he(255*[c,i,i,a,n,n][l]),b:he(255*[n,n,c,i,i,a][l]),a:he(r,2)}},Cr=function(s){var e=s.toString(16);return e.length<2?"0"+e:e},DSe=function(s){var e=s.r,t=s.g,i=s.b,r=s.a,o=r<1?Cr(he(255*r)):"";return"#"+Cr(e)+Cr(t)+Cr(i)+o},hSe=function(s){var e=s.r,t=s.g,i=s.b,r=s.a,o=Math.max(e,t,i),n=o-Math.min(e,t,i),a=n?o===e?(t-i)/n:o===t?2+(i-e)/n:4+(e-t)/n:0;return{h:he(60*(a<0?a+6:a)),s:he(o?n/o*100:0),v:he(o/255*100),a:r}},zSe=M.memo(function(s){var e=s.hue,t=s.onChange,i=hM(["react-colorful__hue",s.className]);return M.createElement("div",{className:i},M.createElement(W4,{onMove:function(r){t({h:360*r.left})},onKey:function(r){t({h:bi(e+360*r.left,0,360)})},"aria-label":"Hue","aria-valuenow":he(e),"aria-valuemax":"360","aria-valuemin":"0"},M.createElement(B4,{className:"react-colorful__hue-pointer",left:e/360,color:Xn({h:e,s:100,v:100,a:1})})))}),wSe=M.memo(function(s){var e=s.hsva,t=s.onChange,i={backgroundColor:Xn({h:e.h,s:100,v:100,a:1})};return M.createElement("div",{className:"react-colorful__saturation",style:i},M.createElement(W4,{onMove:function(r){t({s:100*r.left,v:100-100*r.top})},onKey:function(r){t({s:bi(e.s+100*r.left,0,100),v:bi(e.v-100*r.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+he(e.s)+"%, Brightness "+he(e.v)+"%"},M.createElement(B4,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:Xn(e)})))}),J4=function(s,e){if(s===e)return!0;for(var t in s)if(s[t]!==e[t])return!1;return!0},CSe=function(s,e){return s.toLowerCase()===e.toLowerCase()||J4(Zn(s),Zn(e))};function ISe(s,e,t){var i=Hn(t),r=f.useState(function(){return s.toHsva(e)}),o=r[0],n=r[1],a=f.useRef({color:e,hsva:o});f.useEffect(function(){if(!s.equal(e,a.current.color)){var l=s.toHsva(e);a.current={hsva:l,color:e},n(l)}},[e,s]),f.useEffect(function(){var l;J4(o,a.current.hsva)||s.equal(l=s.fromHsva(o),a.current.color)||(a.current={hsva:o,color:l},i(l))},[o,s,i]);var c=f.useCallback(function(l){n(function(N){return Object.assign({},N,l)})},[]);return[o,c]}var pSe=typeof window<"u"?f.useLayoutEffect:f.useEffect,ASe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},Fl=new Map,mSe=function(s){pSe(function(){var e=s.current?s.current.ownerDocument:document;if(e!==void 0&&!Fl.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,Fl.set(e,t);var i=ASe();i&&t.setAttribute("nonce",i),e.head.appendChild(t)}},[])},OSe=function(s){var e=s.className,t=s.colorModel,i=s.color,r=i===void 0?t.defaultColor:i,o=s.onChange,n=P4(s,["className","colorModel","color","onChange"]),a=f.useRef(null);mSe(a);var c=ISe(t,r,o),l=c[0],N=c[1],u=hM(["react-colorful",e]);return M.createElement("div",po({},n,{ref:a,className:u}),M.createElement(wSe,{hsva:l,onChange:N}),M.createElement(zSe,{hue:l.h,onChange:N,className:"react-colorful__last-control"}))},ESe={defaultColor:"000",toHsva:jSe,fromHsva:function(s){return ySe({h:s.h,s:s.s,v:s.v,a:1})},equal:CSe},fSe=function(s){return M.createElement(OSe,po({},s,{colorModel:ESe}))};class xSe extends f.Component{dialogName;filters;filterFunc;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters||{}});let i=this.props.selected||[];if(Array.isArray(i)||(i=[i]),i=i.filter(r=>r),e.filterFunc)if(typeof e.filterFunc=="string")try{this.filterFunc=new Function("obj",e.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${e.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=e.filterFunc;this.state={selected:i,name:"",selectionBlocked:!1}}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 e;return this.state.name||this.state.selected.length?this.state.selected.length===1?e=[M.createElement("span",{key:"selected"},h.t("ra_Selected")," "),M.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:e=[M.createElement("span",{key:"selected"},h.t("ra_Selected")," "),M.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},h.t("%s items",this.state.selected.length.toString()))]:e=this.props.title||h.t("ra_Please select object ID..."),M.createElement(j.Dialog,{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"},M.createElement(j.DialogTitle,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),M.createElement(j.DialogContent,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},M.createElement(gSe,{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:h.t,lang:this.props.lang||h.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,allowNonObjects:this.props.allowNonObjects,onFilterChanged:t=>{this.filters=t,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(t))},onSelect:async(t,i,r)=>{let o;if(Array.isArray(t)?o=t:o=[t],JSON.stringify(o)!==JSON.stringify(this.state.selected)){let n=!0;if(this.props.onSelectConfirm){const a={};for(const c of o)try{a[c]=await this.props.socket.getObject(c)}catch{}n=await this.props.onSelectConfirm(o,a)}this.setState({selected:o,name:i,selectionBlocked:!n},()=>r&&this.handleOk())}else r&&this.handleOk()},filterFunc:this.filterFunc,title:"",classes:{}})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:M.createElement(Oe,null),disabled:!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}function St(s,e,t){if(typeof e=="string"&&(e=e.split(".")),!s)return null;if(e.length===1)return t&&t[s[e[0]]]?t[s[e[0]]]:s[e[0]];const i=e.shift();return St(s[i],e)}function R4(s,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length===1)return s[e[0]]=t;const i=e.shift();return(s[i]===null||s[i]===void 0)&&(s[i]={}),R4(s[i],e,t)}const W={tableContainer:{width:"100%",height:"100%",overflow:"auto"},table:{width:"100%",minWidth:800,maxWidth:1920},cell:{paddingTop:0,paddingBottom:0,paddingLeft:4,paddingRight:4},rowMainWithChildren:{},rowMainWithoutChildren:{},rowNoEdit:{opacity:.3},cellExpand:{width:30},cellButton:{width:30},cellHeader:{fontWeight:"bold",background:s=>(s.palette.mode==="dark","#888"),color:s=>s.palette.mode==="dark"?"#EEE":"#111",height:48,wordBreak:"break-word",whiteSpace:"pre"},width_name_nicknames:{maxWidth:150},width_ioType:{maxWidth:100},width_type:{maxWidth:100},width_displayTraits:{maxWidth:100},width_roomHint:{maxWidth:100},rowSecondary:{fontStyle:"italic"},cellSecondary:{fontSize:10},visuallyHidden:{border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",top:20,width:1},fieldEditWithButton:{width:"calc(100% - 33px)",display:"inline-block"},fieldEdit:{width:"100%",display:"inline-block",lineHeight:"50px",verticalAlign:"middle"},fieldButton:{width:30,display:"inline-block"},colorDialog:{overflow:"hidden",padding:15},subText:{fontSize:10,fontStyle:"italic"},glow:{animation:"glow 0.2s 2 alternate"}};function Gl(s,e,t,i){const r=St(s,t,i)||"",o=St(e,t,i)||"";return or?1:0}function _Se(s,e,t){return s==="desc"?(i,r)=>Gl(i,r,e,t):(i,r)=>-Gl(i,r,e,t)}function SSe(s,e){const t=s.map((i,r)=>({e:i,i:r}));return t.sort((i,r)=>{const o=e(i.e,r.e);return o||i.i-r.i}),t.map(i=>i.e)}class Kn extends f.Component{selectCallback=null;updateTimeout=null;constructor(e){super(e);let t=(window._localStorage||window.localStorage).getItem(this.props.name||"iob-table")||"[]";try{t=JSON.parse(t)||[]}catch{t=[]}Array.isArray(t)||(t=[]),this.state={opened:t,editMode:!1,deleteMode:!1,editData:null,order:"asc",update:null,orderBy:this.props.columns[0].field,showSelectColor:!1}}static getDerivedStateFromProps(e,t){if(e.glowOnChange){const i=[];let r=0;return e.data&&t.data&&e.data.forEach(o=>{var a;r++;const n=(a=t.data)==null?void 0:a.find(c=>c.id===o.id);n?JSON.stringify(n)!==JSON.stringify(o)&&i.push(o.id):i.push(o.id)}),i.length&&i.length!==r?{data:e.data,update:i}:{data:e.data}}return{data:e.data}}renderCellEdit(e,t){let i=St(e,t.field);return Array.isArray(i)&&(i=i[0]),t.lookup?this.renderCellEditSelect(t,i):t.editComponent?this.renderCellEditCustom(t,i,e):t.type==="boolean"||!t.type&&typeof i=="boolean"?this.renderCellEditBoolean(t,i):t.type==="color"?this.renderCellEditColor(t,i):t.type==="oid"?this.renderCellEditObjectID(t,i):t.type==="numeric"?this.renderCellEditNumber(t,i):this.renderCellEditString(t,i)}onChange(e,t,i){const r=this.state.editData?{...this.state.editData}:{};i===t?delete r[e.field]:r[e.field]=i,this.setState({editData:r})}renderCellEditSelect(e,t){return M.createElement(j.Select,{variant:"standard",onChange:i=>this.onChange(e,t,i.target.value),value:this.state.editData&&this.state.editData[e.field]||t},e.lookup&&Object.keys(e.lookup).map((i,r)=>{var o;return M.createElement(j.MenuItem,{key:r,value:i},(o=e.lookup)==null?void 0:o[i])}))}renderCellEditString(e,t){return M.createElement(j.TextField,{variant:"standard",style:W.fieldEdit,fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:i=>this.onChange(e,t,i.target.value)})}renderCellEditNumber(e,t){return M.createElement(j.TextField,{variant:"standard",style:W.fieldEdit,type:"number",fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:i=>this.onChange(e,t,i.target.value)})}renderCellEditCustom(e,t,i){const r=e.editComponent;return this.state.editData&&this.state.editData[e.field]!==void 0&&(t=this.state.editData[e.field],i=JSON.parse(JSON.stringify(i)),i[e.field]=t),r?M.createElement(r,{value:t,rowData:i,onChange:o=>this.onChange(e,t,o)}):null}renderCellEditBoolean(e,t){return M.createElement(j.Checkbox,{checked:this.state.editData&&this.state.editData[e.field]!==void 0?!!this.state.editData[e.field]:!!t,onChange:i=>this.onChange(e,!!t,i.target.checked),inputProps:{"aria-label":"checkbox"}})}renderSelectColorDialog(){return M.createElement(j.Dialog,{sx:{"& .MuiPaper-root":W.root,"& .MuiPaper-paper":W.paper},onClose:()=>{this.selectCallback=null,this.setState({showSelectColor:!1})},open:this.state.showSelectColor},M.createElement(fSe,{color:this.state.selectIdValue,onChange:e=>this.setState({selectIdValue:e},()=>{this.selectCallback&&this.selectCallback(e)})}))}renderCellEditColor(e,t){const i=this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t;return M.createElement("div",{style:W.fieldEdit},M.createElement(j.TextField,{variant:"standard",fullWidth:!0,style:W.fieldEditWithButton,value:i,inputProps:{style:{backgroundColor:i,color:O.isUseBright(i)?"#FFF":"#000"}},onChange:r=>this.onChange(e,!!t,r.target.value)}),M.createElement(j.IconButton,{style:W.fieldButton,onClick:()=>{this.selectCallback=r=>this.onChange(e,t,r),this.setState({showSelectColor:!0,selectIdValue:t})},size:"large"},M.createElement(sg,null)))}renderSelectIdDialog(){return this.state.showSelectId&&this.props.socket?M.createElement(xSe,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.adapterName,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,selected:this.state.selectIdValue,onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1,selectIdValue:null});const t=Array.isArray(e)?e[0]:e;t&&this.selectCallback&&(this.selectCallback&&this.selectCallback(t),this.selectCallback=null)}}):null}renderCellEditObjectID(e,t){return M.createElement("div",{style:W.fieldEdit},M.createElement(j.TextField,{variant:"standard",fullWidth:!0,style:W.fieldEditWithButton,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:i=>this.onChange(e,t,i.target.value)}),M.createElement(j.IconButton,{style:W.fieldButton,onClick:()=>{this.selectCallback=i=>this.onChange(e,t,i),this.setState({showSelectId:!0,selectIdValue:t})},size:"large"},M.createElement(xg,null)))}static renderCellNonEdit(e,t){let i=St(e,t.field,t.lookup);return Array.isArray(i)&&(i=i[0]),t.type==="boolean"?M.createElement(j.Checkbox,{checked:!!i,disabled:!0,inputProps:{"aria-label":"checkbox"}}):i}renderCell(e,t,i,r){return this.state.editMode===r&&t.editable!=="never"&&t.editable!==!1?M.createElement(j.TableCell,{key:t.field,style:{...W.cell,...i?W.cellSecondary:void 0,...t.cellStyle},component:"th"},this.renderCellEdit(e,t)):M.createElement(j.TableCell,{key:t.field,style:{...W.cell,...i?W.cellSecondary:void 0,...t.cellStyle},component:"th"},Kn.renderCellNonEdit(e,t))}static renderCellWithSubField(e,t){const i=St(e,t.field,t.lookup);if(t.subField){const r=St(e,t.subField,t.subLookup);return M.createElement("div",null,M.createElement("div",{style:W.mainText},i),M.createElement("div",{style:{...W.subText,...t.subStyle||void 0}},r))}return M.createElement("div",null,M.createElement("div",{style:W.mainText},i))}renderLine(e,t){const i=this.props.levelShift===void 0?24:this.props.levelShift;t=t||0;const r=this.props.data.indexOf(e);if(!e||!t&&e.parentId||t&&!e.parentId)return null;const o=this.state.opened.includes(e.id),n=this.props.data.filter(c=>c.parentId===e.id),a=M.createElement(j.TableRow,{key:e.id,className:`table-row-${(e.id||"").toString().replace(/[.$]/g,"_")}`,style:{...this.state.update&&this.state.update.includes(e.id)&&W.glow||void 0,...W.row,...t?W.rowSecondary:void 0,...!t&&n.length?W.rowMainWithChildren:void 0,...!t&&!n.length?W.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==r?W.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==r?W.rowNoEdit:void 0}},M.createElement(j.TableCell,{style:{...W.cell,...W.cellExpand,...t?W.cellSecondary:void 0}},n.length?M.createElement(j.IconButton,{onClick:()=>{const c=[...this.state.opened],l=c.indexOf(e.id);l===-1?(c.push(e.id),c.sort()):c.splice(l,1),(window._localStorage||window.localStorage).setItem(this.props.name||"iob-table",JSON.stringify(c)),this.setState({opened:c})},size:"small"},o?M.createElement(cg,null):M.createElement(zg,null)):null),M.createElement(j.TableCell,{scope:"row",style:{...W.cell,...t?W.cellSecondary:void 0,...this.props.columns[0].cellStyle,paddingLeft:i*t}},this.props.columns[0].subField?Kn.renderCellWithSubField(e,this.props.columns[0]):St(e,this.props.columns[0].field,this.props.columns[0].lookup)),this.props.columns.map((c,l)=>!l&&!c.hidden?null:this.renderCell(e,c,t,r)),this.props.onUpdate?M.createElement(j.TableCell,{style:{...W.cell,...W.cellButton}},this.state.editMode===r||this.state.deleteMode===r?M.createElement(j.IconButton,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>{if(this.state.editMode!==!1){const c=JSON.parse(JSON.stringify(e));this.state.editData&&Object.keys(this.state.editData).forEach(l=>{var N;return R4(c,l,(N=this.state.editData)==null?void 0:N[l])}),this.setState({editMode:!1},()=>this.props.onUpdate&&this.props.onUpdate(c,e))}else this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e))},size:"large"},M.createElement(Oe,null)):M.createElement(j.IconButton,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:r,editData:null}),size:"large"},M.createElement(mi,null))):null,this.props.onDelete&&!this.props.onUpdate?M.createElement(j.TableCell,{style:{...W.cell,...W.cellButton}},this.state.deleteMode===r?M.createElement(j.IconButton,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e)),size:"large"},M.createElement(Oe,null)):null):null,this.props.onUpdate||this.props.onDelete?M.createElement(j.TableCell,{style:{...W.cell,...W.cellButton}},this.state.editMode===r||this.state.deleteMode===r?M.createElement(j.IconButton,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),size:"large"},M.createElement(Ne,null)):this.props.onDelete?M.createElement(j.IconButton,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:r}),size:"large"},M.createElement(nt,null)):null):null);if(!t&&o){const c=n.map(l=>this.renderLine(l,t+1));return c.unshift(a),c}return a}handleRequestSort(e){const t=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:t?"desc":"asc",orderBy:e})}renderHead(){return M.createElement(j.TableHead,null,M.createElement(j.TableRow,{key:"headerRow"},M.createElement(j.TableCell,{component:"th",sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellExpand)}),M.createElement(j.TableCell,{component:"th",sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W[`width_${this.props.columns[0].field.replace(/\./g,"_")}`]),style:this.props.columns[0].headerStyle||this.props.columns[0].cellStyle,sortDirection:this.props.noSort?!1:this.state.orderBy===this.props.columns[0].field?this.state.order:!1},this.props.noSort?null:M.createElement(j.TableSortLabel,{active:this.state.orderBy===this.props.columns[0].field,direction:this.state.orderBy===this.props.columns[0].field?this.state.order:"asc",onClick:()=>this.handleRequestSort(this.props.columns[0].field)},this.props.columns[0].title||this.props.columns[0].field,this.state.orderBy===this.props.columns[0].field?M.createElement("span",{style:W.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null)),this.props.columns.map((e,t)=>!t&&!e.hidden?null:M.createElement(j.TableCell,{key:e.field,sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W[`width_${e.field.replace(/\./g,"_")}`]),style:e.headerStyle||e.cellStyle,component:"th"},this.props.noSort?null:M.createElement(j.TableSortLabel,{active:this.state.orderBy===e.field,direction:this.state.orderBy===e.field?this.state.order:"asc",onClick:()=>this.handleRequestSort(e.field)},e.title||e.field,this.state.orderBy===e.field?M.createElement("span",{style:W.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null))),this.props.onUpdate?M.createElement(j.TableCell,{component:"th",sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellButton)},this.props.noAdd?null:M.createElement(j.Fab,{color:"primary",size:"small",disabled:this.state.editMode!==!1,onClick:()=>this.props.onUpdate&&this.props.onUpdate(!0)},M.createElement(un,null))):null,this.props.onDelete||this.props.onUpdate?M.createElement(j.TableCell,{component:"th",sx:O.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellButton)}):null))}render(){const e=this.props.columns.find(t=>t.field===this.state.orderBy);if(e){const t=e.lookup,i=SSe(this.props.data,_Se(this.state.order,this.state.orderBy,t));return this.state.update&&this.state.update.length&&(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=null,this.setState({update:null})},500)),M.createElement("div",{style:W.tableContainer,className:this.props.className},M.createElement(j.Table,{style:W.table,"aria-label":"simple table",size:"small",stickyHeader:!0},this.renderHead(),M.createElement(j.TableBody,null,i.map(r=>this.renderLine(r)))),this.renderSelectIdDialog(),this.renderSelectColorDialog())}return null}}/*! * Cropper.js v1.6.2 * https://fengyuanchen.github.io/cropperjs * @@ -793,14 +793,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho .cropper-disabled .cropper-point { cursor: not-allowed; } -`,_e={dropZone:{width:"100%",height:100,position:"relative"},dropZoneEmpty:{},image:{objectFit:"contain",margin:"auto",display:"flex",width:"100%",height:"100%"},uploadDiv:{position:"relative",width:"100%",height:300,opacity:.9,marginTop:30,cursor:"pointer",outline:"none"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"calc(100% - 10px)",height:"calc(100% - 10px)",position:"relative",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},disabledOpacity:{opacity:.3,cursor:"default"},buttonRemoveWrapper:{position:"absolute",zIndex:222,right:0},buttonCropWrapper:{position:"absolute",zIndex:222,right:0,top:50},error:{border:"2px solid red",boxSizing:"border-box"}};class t5e extends f.Component{cropperRef;constructor(e){if(super(e),this.state={uploadFile:!1,anchorEl:null,cropHandler:!1},this.cropperRef=f.createRef(),!window.document.getElementById("cropper-style-json-component")){const t=window.document.createElement("style");t.setAttribute("id","cropper-style-json-component"),t.innerHTML=A3e,window.document.head.appendChild(t)}}onDrop(e){const t=this.props.onChange,i=this.props.maxSize||10*1024,r=e[0],o=new FileReader;o.onabort=()=>console.log("file reading was aborted"),o.onerror=()=>console.log("file reading has failed"),o.onload=()=>{var c,l;if(!r||!r.name)return;const n=(c=r.name)==null?void 0:c.split(".");let a=n!=null&&n.length?`image/${(l=n.pop())==null?void 0:l.toLowerCase()}`:"image/jpeg";if(a==="image/jpg"?a="image/jpeg":a.includes("svg")&&(a="image/svg+xml"),r.size>i)window.alert(h.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(i/1024)));else{const N=`data:${a};base64,${btoa(new Uint8Array(o.result).reduce((u,L)=>u+String.fromCharCode(L),""))}`;t?t(N):console.log(N)}},o.readAsArrayBuffer(r)}render(){const{disabled:e,icon:t,removeIconFunc:i,error:r,crop:o,onChange:n}=this.props,a=this.props.maxSize||10*1024;let c=this.props.accept||{"image/*":[]};const{uploadFile:l,anchorEl:N,cropHandler:u}=this.state;if(typeof c=="string")c={[c]:[]};else if(Array.isArray(c)){const L={};c.forEach(g=>{L[g]=[]}),c=L}return M.createElement(NN,{disabled:!!e||u,key:"dropzone",multiple:!1,accept:c,maxSize:a,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(L,g)=>{var y,T,d;this.setState({uploadFile:!1}),L.length?this.onDrop(L):window.alert(((d=(T=(y=g==null?void 0:g[0])==null?void 0:y.errors)==null?void 0:T[0])==null?void 0:d.message)||h.t("ra_Cannot upload"))}},({getRootProps:L,getInputProps:g})=>M.createElement("div",{style:{..._e.uploadDiv,...l==="dragging"?_e.uploadDivDragging:void 0,..._e.dropZone,...e?_e.disabledOpacity:void 0,...t?void 0:_e.dropZoneEmpty},...L()},M.createElement("input",{...g()}),M.createElement("div",{style:{..._e.uploadCenterDiv,...r?_e.error:void 0}},t?i&&!u&&M.createElement("div",{style:_e.buttonRemoveWrapper},M.createElement(j.Tooltip,{title:h.t("ra_Clear"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},M.createElement(j.IconButton,{size:"large",onClick:y=>{i&&i(),y.stopPropagation()}},M.createElement(Ne,null)))):M.createElement("div",{style:_e.uploadCenterTextAndIcon},M.createElement(Ag,{style:_e.uploadCenterIcon}),M.createElement("div",{style:_e.uploadCenterText},l==="dragging"?h.t("ra_Drop file here"):h.t("ra_Place your files here or click here to open the browse dialog"))),t&&o&&M.createElement("div",{style:_e.buttonCropWrapper},M.createElement(j.Tooltip,{title:h.t("ra_Crop"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},M.createElement(j.IconButton,{size:"large",onClick:y=>{u?this.setState({anchorEl:y.currentTarget}):this.setState({cropHandler:!0}),y.stopPropagation()}},M.createElement(og,{color:u?"primary":"inherit"}))),M.createElement(j.Menu,{anchorEl:N,keepMounted:!0,open:!!N,onClose:()=>this.setState({anchorEl:null})},M.createElement(j.MenuItem,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1},()=>{var T,d;const y=(d=(T=this.cropperRef)==null?void 0:T.current)==null?void 0:d.cropper;y&&(n?n(y.getCroppedCanvas().toDataURL()):console.log(y.getCroppedCanvas().toDataURL()))})},h.t("ra_Save")),M.createElement(j.MenuItem,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1})},h.t("ra_Close")))),t&&!u?M.createElement(me,{src:t,style:_e.image,alt:"icon"}):null,t&&o&&u?M.createElement(p3e,{ref:this.cropperRef,style:_e.image,src:t,initialAspectRatio:1,viewMode:1,guides:!1,minCropBoxHeight:10,minCropBoxWidth:10,background:!1,checkOrientation:!1}):null)))}}const xt={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},m3e={once:"once"},Ce={seconds:"seconds",minutes:"minutes"},uN=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function ot(s){return s<10?`0${s}`:`${s}`}const O3e={mode:"interval",interval:{period:1,unit:Ce.minutes}};function _r(s){if(s==="*")return[0,1,2,3,4,5,6];const e=s.split(","),t=[];return e.forEach(i=>{const r=i.split("-");if(r.length===2){const o=parseInt(r[0],10),n=parseInt(r[1],10);for(let a=o;a<=n;a++)t.includes(a===7?0:a)||t.push(a===7?0:a)}else{i==="7"&&(i="0");const o=parseInt(i,10);t.includes(o)||t.push(o)}}),t.sort(),t}function ML(s,e){s=s.replace(/['"]/g,"").trim();const t=s.split(" ");let i,r=null;return t.length===6?i={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",date:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:i={seconds:null,minutes:t[0]||"*",hours:t[1]||"*",date:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},i.seconds===null&&i.minutes==="*"&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)&&(r={mode:"interval",interval:{period:1,unit:Ce.minutes}}),i.seconds==="*"&&i.minutes==="*"&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"interval",interval:{period:1,unit:Ce.seconds}}:i.seconds===null&&i.minutes.includes("/")&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"interval",interval:{period:parseInt(i.minutes.split("/")[1],10),unit:Ce.minutes}}:i.seconds!==null&&i.seconds.includes("/")&&i.minutes==="*"&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"interval",interval:{period:parseInt(i.seconds.split("/")[1],10),unit:Ce.seconds}}:i.seconds!==null&&i.seconds.includes("/")&&i.minutes==="*"&&i.hours.includes("-")&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"intervalBetween",intervalBetween:{period:parseInt(i.seconds.split("/")[1],10),unit:Ce.seconds,timeFrom:parseInt(i.hours.split("-")[0],10),timeTo:parseInt(i.hours.split("-")[1],10),weekdays:_r(i.dow)}}:i.seconds===null&&i.minutes.includes("/")&&i.hours.includes("-")&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"intervalBetween",intervalBetween:{period:parseInt(i.minutes.split("/")[1],10),unit:Ce.minutes,timeFrom:parseInt(i.hours.split("-")[0],10),timeTo:parseInt(i.hours.split("-")[1],10),weekdays:_r(i.dow)}}:i.seconds===null&&parseInt(i.minutes,10).toString()===i.minutes&&parseInt(i.hours,10).toString()===i.hours&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"specific",specific:{time:`${ot(parseInt(i.hours,10))}:${ot(parseInt(i.minutes,10))}`,weekdays:_r(i.dow)}}:i.seconds===null&&parseInt(i.minutes,10).toString()===i.minutes&&parseInt(i.hours,10).toString()===i.hours&&parseInt(i.date,10).toString()===i.date&&parseInt(i.months,10).toString()===i.months&&(i.dow==="*"||e)&&(r={mode:"once",once:{time:`${ot(parseInt(i.hours,10))}:${ot(parseInt(i.minutes,10))}`,date:`${ot(parseInt(i.date,10))}.${ot(parseInt(i.months,10))}`}}),r}class $i extends M.Component{constructor(e){super(e);let t=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";t[0]==="{"&&(t="");const i=ML(t||"* * * * *",!0)||O3e;this.state={extended:!1,cron:$i.state2cron(i),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:Ce.minutes},intervalBetween:{period:1,unit:Ce.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,i),this.state.cron!==e.cronExpression&&setTimeout(()=>e.onChange&&e.onChange(this.state.cron),100)}static periodArray2text(e,t=7){if(t=t||7,e.length===t)return"*";const i=[];let r=null,o=null;if(!e.length)return"_";for(let n=0;n60&&(i.period=60),i.period!==void 0&&i.period<1&&(i.period=1),i.minutes!==void 0&&i.minutes!==null&&i.minutes>60&&(i.minutes=60),i.minutes!==void 0&&i.minutes!==null&&i.minutes<1&&(i.minutes=1),i.hours!==void 0&&i.hours!==null&&i.hours>24&&(i.hours=24),i.hours!==void 0&&i.hours!==null&&i.hours<1&&(i.hours=1),e.extended)t=`${i.minutes!==void 0&&i.minutes!==null&&i.minutes>1?`*/${i.minutes}`:"*"} ${i.hours!==void 0&&i.hours!==null&&i.hours>1?`*/${i.hours}`:"*"} * * *`;else switch(i.unit){case Ce.seconds:t=`${i.period>1?`*/${i.period}`:"*"} * * * * *`;break;case Ce.minutes:t=`${i.period>1?`*/${i.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const i=e.intervalBetween||{period:1,unit:Ce.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]};let r;switch(i.timeFrom=i.timeFrom||0,i.timeTo=i.timeTo===void 0?24:i.timeTo,i.timeFrom!==0&&i.timeTo===24&&(i.timeTo=23),i.timeFrom===0&&i.timeTo===24?r="*":r=i.timeFrom!==i.timeTo?`${i.timeFrom}-${i.timeTo}`:"*",i.period>60&&(i.period=60),i.period<1&&(i.period=1),i.unit=i.unit||Ce.minutes,i.unit){case Ce.seconds:t=`${i.period>1?`*/${i.period}`:"*"} * ${r} * * ${this.periodArray2text(i.weekdays)}`;break;case Ce.minutes:t=`${i.period>1?`*/${i.period}`:"*"} ${r} * * ${this.periodArray2text(i.weekdays)}`;break}}else if(e.mode==="specific"){const i=e.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},r=(i.time||"00:00").split(":");let o=parseInt(r[1],10)||0;o>59&&(o=59),o<0&&(o=0);let n=parseInt(r[0],10)||0;n>23&&(n=59),n<0&&(n=0),t=`${o} ${n} * * ${this.periodArray2text(i.weekdays||[])}`}else if(e.mode==="once"){const i=e.once||{time:"00:00",date:""};i.date||(i.date=`${new Date().getDate()}.${ot(new Date().getMonth()+1)}`);const r=(i.time||"00:00").split(":"),o=i.date.split(".");let n=parseInt(r[1],10)||0;n>59&&(n=59),n<0&&(n=0);let a=parseInt(r[0],10)||0;a>23&&(a=59),a<0&&(a=0);let c=parseInt(o[0],10)||1;c>31&&(c=31),c<1&&(a=1);let l=parseInt(o[1],10)||1;l>12&&(l=12),l<1&&(l=1),t=`${n} ${a} ${c} ${l} *`}return t}recalcCron(){this.onChange($i.state2cron(this.state))}getControlsWeekdaysElements(e){const t=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return M.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},M.createElement("h5",null,h.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(i=>M.createElement(j.FormControlLabel,{key:uN[i],control:M.createElement(j.Checkbox,{checked:t.weekdays.includes(i),onChange:r=>{const o=JSON.parse(JSON.stringify(this.state[e])),n=o.weekdays.indexOf(i);r.target.checked?n===-1&&o.weekdays.push(i):n!==-1&&o.weekdays.splice(n,1),o.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:o},()=>this.recalcCron()):this.setState({specific:o},()=>this.recalcCron())},value:i.toString()}),label:h.t(uN[i])})))}getControlsPeriodElements(e){const t=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?M.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},M.createElement("h5",{style:{marginBottom:5}},h.t("sc_period")),M.createElement(j.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:h.t("sc_minutes"),value:t.minutes,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.minutes=parseInt(i.target.value,10),r.minutes<1&&(r.minutes=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),M.createElement(j.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:h.t("sc_hours"),value:t.hours,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.hours=parseInt(i.target.value,10),r.hours<1&&(r.hours=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):M.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},M.createElement("h5",{style:{marginBottom:5}},h.t("sc_period")),M.createElement(j.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:h.t("sc_every"),value:t.period,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.period=parseInt(i.target.value,10),r.period<1&&(r.period=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),M.createElement(j.Select,{variant:"standard",style:{verticalAlign:"bottom"},value:t.unit,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.unit=i.target.value,e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())}},M.createElement(j.MenuItem,{value:"seconds"},h.t("sc_seconds")),")",M.createElement(j.MenuItem,{value:"minutes"},h.t("sc_minutes")),")"))}getControlsTime(e){const t=e==="once"?this.state.once:this.state.specific;return M.createElement(j.FormControl,{variant:"standard",sx:{...xt.formControl,"&.MuiFormControl-root":xt.formControlMarginRight}},M.createElement(j.TextField,{variant:"standard",key:"at",label:h.t("sc_time"),value:t.time,type:"time",sx:i=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:i.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.time=i.target.value,e==="once"?this.setState({once:r},()=>this.recalcCron()):this.setState({specific:r},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){const e=this.state.once;if(!e.date){const t=new Date;e.date=`${t.getDate()}.${ot(t.getMonth()+1)}`}return M.createElement(j.FormControl,{variant:"standard",style:xt.formControl},M.createElement(j.TextField,{variant:"standard",key:"date",label:h.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:xt.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.once));i.date=t.target.value,this.setState({once:i},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return M.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){const e=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),M.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},M.createElement("h5",{style:{marginBottom:5}},h.t("sc_hours")),M.createElement(j.FormControl,{variant:"standard",style:xt.formControl},M.createElement(j.InputLabel,{shrink:!0,htmlFor:"age-label-placeholder"},h.t("sc_from")),M.createElement(j.Select,{variant:"standard",style:{width:100},value:e.timeFrom,onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.intervalBetween));i.timeFrom=parseInt(t.target.value,10),i.timeTo===24&&(i.timeTo=23),this.setState({intervalBetween:i},()=>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(t=>M.createElement(j.MenuItem,{key:`B_${t}`,value:t},`${ot(t)}:00`)))),M.createElement(j.FormControl,{variant:"standard",style:xt.formControl},M.createElement(j.InputLabel,{shrink:!0,htmlFor:"age-label-placeholder"},h.t("sc_to")),M.createElement(j.Select,{variant:"standard",style:{width:100},value:e.timeTo,onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.intervalBetween));i.timeTo=parseInt(t.target.value,10),this.setState({intervalBetween:i},()=>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(t=>M.createElement(j.MenuItem,{key:`A_${t}`,value:t},`${ot(t)}:00`)),!e.timeFrom&&M.createElement(j.MenuItem,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[M.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(e){e!==this.state.mode&&this.setState({mode:e},()=>this.recalcCron())}onChange(e){e!==this.state.cron&&(this.setState({cron:e}),this.props.onChange&&this.props.onChange(e))}render(){return M.createElement("div",{style:xt.mainDiv},M.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},M.createElement(j.TextField,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),M.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?h.t("sc_invalid_cron"):h4(this.state.cron,this.props.language||"en")),M.createElement("div",null,M.createElement(j.FormControl,{variant:"standard",style:{...xt.formControl,marginLeft:8,marginTop:8}},M.createElement(j.InputLabel,null,h.t("ra_Repeat")),M.createElement(j.Select,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},M.createElement(j.MenuItem,{value:"once"},h.t("sc_once")),M.createElement(j.MenuItem,{value:"interval"},h.t("sc_interval")),M.createElement(j.MenuItem,{value:"intervalBetween"},h.t("sc_intervalBetween")),M.createElement(j.MenuItem,{value:"specific"},h.t("sc_specific"))))),this.state.mode===m3e.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}const E3e=` +`,_e={dropZone:{width:"100%",height:100,position:"relative"},dropZoneEmpty:{},image:{objectFit:"contain",margin:"auto",display:"flex",width:"100%",height:"100%"},uploadDiv:{position:"relative",width:"100%",height:300,opacity:.9,marginTop:30,cursor:"pointer",outline:"none"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"calc(100% - 10px)",height:"calc(100% - 10px)",position:"relative",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},disabledOpacity:{opacity:.3,cursor:"default"},buttonRemoveWrapper:{position:"absolute",zIndex:222,right:0},buttonCropWrapper:{position:"absolute",zIndex:222,right:0,top:50},error:{border:"2px solid red",boxSizing:"border-box"}};class i5e extends f.Component{cropperRef;constructor(e){if(super(e),this.state={uploadFile:!1,anchorEl:null,cropHandler:!1},this.cropperRef=f.createRef(),!window.document.getElementById("cropper-style-json-component")){const t=window.document.createElement("style");t.setAttribute("id","cropper-style-json-component"),t.innerHTML=A3e,window.document.head.appendChild(t)}}onDrop(e){const t=this.props.onChange,i=this.props.maxSize||10*1024,r=e[0],o=new FileReader;o.onabort=()=>console.log("file reading was aborted"),o.onerror=()=>console.log("file reading has failed"),o.onload=()=>{var c,l;if(!r||!r.name)return;const n=(c=r.name)==null?void 0:c.split(".");let a=n!=null&&n.length?`image/${(l=n.pop())==null?void 0:l.toLowerCase()}`:"image/jpeg";if(a==="image/jpg"?a="image/jpeg":a.includes("svg")&&(a="image/svg+xml"),r.size>i)window.alert(h.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(i/1024)));else{const N=`data:${a};base64,${btoa(new Uint8Array(o.result).reduce((u,L)=>u+String.fromCharCode(L),""))}`;t?t(N):console.log(N)}},o.readAsArrayBuffer(r)}render(){const{disabled:e,icon:t,removeIconFunc:i,error:r,crop:o,onChange:n}=this.props,a=this.props.maxSize||10*1024;let c=this.props.accept||{"image/*":[]};const{uploadFile:l,anchorEl:N,cropHandler:u}=this.state;if(typeof c=="string")c={[c]:[]};else if(Array.isArray(c)){const L={};c.forEach(g=>{L[g]=[]}),c=L}return M.createElement(NN,{disabled:!!e||u,key:"dropzone",multiple:!1,accept:c,maxSize:a,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(L,g)=>{var y,T,d;this.setState({uploadFile:!1}),L.length?this.onDrop(L):window.alert(((d=(T=(y=g==null?void 0:g[0])==null?void 0:y.errors)==null?void 0:T[0])==null?void 0:d.message)||h.t("ra_Cannot upload"))}},({getRootProps:L,getInputProps:g})=>M.createElement("div",{style:{..._e.uploadDiv,...l==="dragging"?_e.uploadDivDragging:void 0,..._e.dropZone,...e?_e.disabledOpacity:void 0,...t?void 0:_e.dropZoneEmpty},...L()},M.createElement("input",{...g()}),M.createElement("div",{style:{..._e.uploadCenterDiv,...r?_e.error:void 0}},t?i&&!u&&M.createElement("div",{style:_e.buttonRemoveWrapper},M.createElement(j.Tooltip,{title:h.t("ra_Clear"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},M.createElement(j.IconButton,{size:"large",onClick:y=>{i&&i(),y.stopPropagation()}},M.createElement(Ne,null)))):M.createElement("div",{style:_e.uploadCenterTextAndIcon},M.createElement(Ag,{style:_e.uploadCenterIcon}),M.createElement("div",{style:_e.uploadCenterText},l==="dragging"?h.t("ra_Drop file here"):h.t("ra_Place your files here or click here to open the browse dialog"))),t&&o&&M.createElement("div",{style:_e.buttonCropWrapper},M.createElement(j.Tooltip,{title:h.t("ra_Crop"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},M.createElement(j.IconButton,{size:"large",onClick:y=>{u?this.setState({anchorEl:y.currentTarget}):this.setState({cropHandler:!0}),y.stopPropagation()}},M.createElement(og,{color:u?"primary":"inherit"}))),M.createElement(j.Menu,{anchorEl:N,keepMounted:!0,open:!!N,onClose:()=>this.setState({anchorEl:null})},M.createElement(j.MenuItem,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1},()=>{var T,d;const y=(d=(T=this.cropperRef)==null?void 0:T.current)==null?void 0:d.cropper;y&&(n?n(y.getCroppedCanvas().toDataURL()):console.log(y.getCroppedCanvas().toDataURL()))})},h.t("ra_Save")),M.createElement(j.MenuItem,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1})},h.t("ra_Close")))),t&&!u?M.createElement(me,{src:t,style:_e.image,alt:"icon"}):null,t&&o&&u?M.createElement(p3e,{ref:this.cropperRef,style:_e.image,src:t,initialAspectRatio:1,viewMode:1,guides:!1,minCropBoxHeight:10,minCropBoxWidth:10,background:!1,checkOrientation:!1}):null)))}}const xt={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},m3e={once:"once"},Ce={seconds:"seconds",minutes:"minutes"},uN=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function ot(s){return s<10?`0${s}`:`${s}`}const O3e={mode:"interval",interval:{period:1,unit:Ce.minutes}};function _r(s){if(s==="*")return[0,1,2,3,4,5,6];const e=s.split(","),t=[];return e.forEach(i=>{const r=i.split("-");if(r.length===2){const o=parseInt(r[0],10),n=parseInt(r[1],10);for(let a=o;a<=n;a++)t.includes(a===7?0:a)||t.push(a===7?0:a)}else{i==="7"&&(i="0");const o=parseInt(i,10);t.includes(o)||t.push(o)}}),t.sort(),t}function ML(s,e){s=s.replace(/['"]/g,"").trim();const t=s.split(" ");let i,r=null;return t.length===6?i={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",date:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:i={seconds:null,minutes:t[0]||"*",hours:t[1]||"*",date:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},i.seconds===null&&i.minutes==="*"&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)&&(r={mode:"interval",interval:{period:1,unit:Ce.minutes}}),i.seconds==="*"&&i.minutes==="*"&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"interval",interval:{period:1,unit:Ce.seconds}}:i.seconds===null&&i.minutes.includes("/")&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"interval",interval:{period:parseInt(i.minutes.split("/")[1],10),unit:Ce.minutes}}:i.seconds!==null&&i.seconds.includes("/")&&i.minutes==="*"&&i.hours==="*"&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"interval",interval:{period:parseInt(i.seconds.split("/")[1],10),unit:Ce.seconds}}:i.seconds!==null&&i.seconds.includes("/")&&i.minutes==="*"&&i.hours.includes("-")&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"intervalBetween",intervalBetween:{period:parseInt(i.seconds.split("/")[1],10),unit:Ce.seconds,timeFrom:parseInt(i.hours.split("-")[0],10),timeTo:parseInt(i.hours.split("-")[1],10),weekdays:_r(i.dow)}}:i.seconds===null&&i.minutes.includes("/")&&i.hours.includes("-")&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"intervalBetween",intervalBetween:{period:parseInt(i.minutes.split("/")[1],10),unit:Ce.minutes,timeFrom:parseInt(i.hours.split("-")[0],10),timeTo:parseInt(i.hours.split("-")[1],10),weekdays:_r(i.dow)}}:i.seconds===null&&parseInt(i.minutes,10).toString()===i.minutes&&parseInt(i.hours,10).toString()===i.hours&&i.date==="*"&&i.months==="*"&&(i.dow==="*"||e)?r={mode:"specific",specific:{time:`${ot(parseInt(i.hours,10))}:${ot(parseInt(i.minutes,10))}`,weekdays:_r(i.dow)}}:i.seconds===null&&parseInt(i.minutes,10).toString()===i.minutes&&parseInt(i.hours,10).toString()===i.hours&&parseInt(i.date,10).toString()===i.date&&parseInt(i.months,10).toString()===i.months&&(i.dow==="*"||e)&&(r={mode:"once",once:{time:`${ot(parseInt(i.hours,10))}:${ot(parseInt(i.minutes,10))}`,date:`${ot(parseInt(i.date,10))}.${ot(parseInt(i.months,10))}`}}),r}class $i extends M.Component{constructor(e){super(e);let t=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";t[0]==="{"&&(t="");const i=ML(t||"* * * * *",!0)||O3e;this.state={extended:!1,cron:$i.state2cron(i),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:Ce.minutes},intervalBetween:{period:1,unit:Ce.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,i),this.state.cron!==e.cronExpression&&setTimeout(()=>e.onChange&&e.onChange(this.state.cron),100)}static periodArray2text(e,t=7){if(t=t||7,e.length===t)return"*";const i=[];let r=null,o=null;if(!e.length)return"_";for(let n=0;n60&&(i.period=60),i.period!==void 0&&i.period<1&&(i.period=1),i.minutes!==void 0&&i.minutes!==null&&i.minutes>60&&(i.minutes=60),i.minutes!==void 0&&i.minutes!==null&&i.minutes<1&&(i.minutes=1),i.hours!==void 0&&i.hours!==null&&i.hours>24&&(i.hours=24),i.hours!==void 0&&i.hours!==null&&i.hours<1&&(i.hours=1),e.extended)t=`${i.minutes!==void 0&&i.minutes!==null&&i.minutes>1?`*/${i.minutes}`:"*"} ${i.hours!==void 0&&i.hours!==null&&i.hours>1?`*/${i.hours}`:"*"} * * *`;else switch(i.unit){case Ce.seconds:t=`${i.period>1?`*/${i.period}`:"*"} * * * * *`;break;case Ce.minutes:t=`${i.period>1?`*/${i.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const i=e.intervalBetween||{period:1,unit:Ce.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]};let r;switch(i.timeFrom=i.timeFrom||0,i.timeTo=i.timeTo===void 0?24:i.timeTo,i.timeFrom!==0&&i.timeTo===24&&(i.timeTo=23),i.timeFrom===0&&i.timeTo===24?r="*":r=i.timeFrom!==i.timeTo?`${i.timeFrom}-${i.timeTo}`:"*",i.period>60&&(i.period=60),i.period<1&&(i.period=1),i.unit=i.unit||Ce.minutes,i.unit){case Ce.seconds:t=`${i.period>1?`*/${i.period}`:"*"} * ${r} * * ${this.periodArray2text(i.weekdays)}`;break;case Ce.minutes:t=`${i.period>1?`*/${i.period}`:"*"} ${r} * * ${this.periodArray2text(i.weekdays)}`;break}}else if(e.mode==="specific"){const i=e.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},r=(i.time||"00:00").split(":");let o=parseInt(r[1],10)||0;o>59&&(o=59),o<0&&(o=0);let n=parseInt(r[0],10)||0;n>23&&(n=59),n<0&&(n=0),t=`${o} ${n} * * ${this.periodArray2text(i.weekdays||[])}`}else if(e.mode==="once"){const i=e.once||{time:"00:00",date:""};i.date||(i.date=`${new Date().getDate()}.${ot(new Date().getMonth()+1)}`);const r=(i.time||"00:00").split(":"),o=i.date.split(".");let n=parseInt(r[1],10)||0;n>59&&(n=59),n<0&&(n=0);let a=parseInt(r[0],10)||0;a>23&&(a=59),a<0&&(a=0);let c=parseInt(o[0],10)||1;c>31&&(c=31),c<1&&(a=1);let l=parseInt(o[1],10)||1;l>12&&(l=12),l<1&&(l=1),t=`${n} ${a} ${c} ${l} *`}return t}recalcCron(){this.onChange($i.state2cron(this.state))}getControlsWeekdaysElements(e){const t=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return M.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},M.createElement("h5",null,h.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(i=>M.createElement(j.FormControlLabel,{key:uN[i],control:M.createElement(j.Checkbox,{checked:t.weekdays.includes(i),onChange:r=>{const o=JSON.parse(JSON.stringify(this.state[e])),n=o.weekdays.indexOf(i);r.target.checked?n===-1&&o.weekdays.push(i):n!==-1&&o.weekdays.splice(n,1),o.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:o},()=>this.recalcCron()):this.setState({specific:o},()=>this.recalcCron())},value:i.toString()}),label:h.t(uN[i])})))}getControlsPeriodElements(e){const t=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?M.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},M.createElement("h5",{style:{marginBottom:5}},h.t("sc_period")),M.createElement(j.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:h.t("sc_minutes"),value:t.minutes,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.minutes=parseInt(i.target.value,10),r.minutes<1&&(r.minutes=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),M.createElement(j.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:h.t("sc_hours"),value:t.hours,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.hours=parseInt(i.target.value,10),r.hours<1&&(r.hours=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):M.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},M.createElement("h5",{style:{marginBottom:5}},h.t("sc_period")),M.createElement(j.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:h.t("sc_every"),value:t.period,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.period=parseInt(i.target.value,10),r.period<1&&(r.period=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),M.createElement(j.Select,{variant:"standard",style:{verticalAlign:"bottom"},value:t.unit,onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.unit=i.target.value,e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())}},M.createElement(j.MenuItem,{value:"seconds"},h.t("sc_seconds")),")",M.createElement(j.MenuItem,{value:"minutes"},h.t("sc_minutes")),")"))}getControlsTime(e){const t=e==="once"?this.state.once:this.state.specific;return M.createElement(j.FormControl,{variant:"standard",sx:{...xt.formControl,"&.MuiFormControl-root":xt.formControlMarginRight}},M.createElement(j.TextField,{variant:"standard",key:"at",label:h.t("sc_time"),value:t.time,type:"time",sx:i=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:i.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:i=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.time=i.target.value,e==="once"?this.setState({once:r},()=>this.recalcCron()):this.setState({specific:r},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){const e=this.state.once;if(!e.date){const t=new Date;e.date=`${t.getDate()}.${ot(t.getMonth()+1)}`}return M.createElement(j.FormControl,{variant:"standard",style:xt.formControl},M.createElement(j.TextField,{variant:"standard",key:"date",label:h.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:xt.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.once));i.date=t.target.value,this.setState({once:i},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return M.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){const e=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),M.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},M.createElement("h5",{style:{marginBottom:5}},h.t("sc_hours")),M.createElement(j.FormControl,{variant:"standard",style:xt.formControl},M.createElement(j.InputLabel,{shrink:!0,htmlFor:"age-label-placeholder"},h.t("sc_from")),M.createElement(j.Select,{variant:"standard",style:{width:100},value:e.timeFrom,onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.intervalBetween));i.timeFrom=parseInt(t.target.value,10),i.timeTo===24&&(i.timeTo=23),this.setState({intervalBetween:i},()=>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(t=>M.createElement(j.MenuItem,{key:`B_${t}`,value:t},`${ot(t)}:00`)))),M.createElement(j.FormControl,{variant:"standard",style:xt.formControl},M.createElement(j.InputLabel,{shrink:!0,htmlFor:"age-label-placeholder"},h.t("sc_to")),M.createElement(j.Select,{variant:"standard",style:{width:100},value:e.timeTo,onChange:t=>{const i=JSON.parse(JSON.stringify(this.state.intervalBetween));i.timeTo=parseInt(t.target.value,10),this.setState({intervalBetween:i},()=>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(t=>M.createElement(j.MenuItem,{key:`A_${t}`,value:t},`${ot(t)}:00`)),!e.timeFrom&&M.createElement(j.MenuItem,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[M.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(e){e!==this.state.mode&&this.setState({mode:e},()=>this.recalcCron())}onChange(e){e!==this.state.cron&&(this.setState({cron:e}),this.props.onChange&&this.props.onChange(e))}render(){return M.createElement("div",{style:xt.mainDiv},M.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},M.createElement(j.TextField,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),M.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?h.t("sc_invalid_cron"):h4(this.state.cron,this.props.language||"en")),M.createElement("div",null,M.createElement(j.FormControl,{variant:"standard",style:{...xt.formControl,marginLeft:8,marginTop:8}},M.createElement(j.InputLabel,null,h.t("ra_Repeat")),M.createElement(j.Select,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},M.createElement(j.MenuItem,{value:"once"},h.t("sc_once")),M.createElement(j.MenuItem,{value:"interval"},h.t("sc_interval")),M.createElement(j.MenuItem,{value:"intervalBetween"},h.t("sc_intervalBetween")),M.createElement(j.MenuItem,{value:"specific"},h.t("sc_specific"))))),this.state.mode===m3e.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}const E3e=` .logo-background-light, .logo-background-colored { background: white; } .logo-background-dark, .logo-background-blue { background: black; } -`;function s5e(s){f.useEffect(()=>{if(!window.document.getElementById("vendor-iobroker-component")){const t=window.document.createElement("style");t.setAttribute("id","vendor-iobroker-component"),t.innerHTML=E3e,window.document.head.appendChild(t)}},[]);const e=s.themeType||s.themeName||"light";return M.createElement("div",{className:`vendor-logo-back logo-background-${e}`,style:{display:"flex",flexDirection:"column",height:"100%",width:"10%",margin:"auto",backgroundImage:s.backgroundImage&&s.backgroundImage!=="@@loginBackgroundImage@@"?s.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:s.backgroundColor&&s.backgroundColor!=="@@loginBackgroundColor@@"?s.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:s.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},M.createElement("div",{style:{flexGrow:1}}),M.createElement(j.CircularProgress,{color:"secondary",size:s.size||200,thickness:5}),M.createElement("div",{style:{flexGrow:1}}))}const f3e=` +`;function r5e(s){f.useEffect(()=>{if(!window.document.getElementById("vendor-iobroker-component")){const t=window.document.createElement("style");t.setAttribute("id","vendor-iobroker-component"),t.innerHTML=E3e,window.document.head.appendChild(t)}},[]);const e=s.themeType||s.themeName||"light";return M.createElement("div",{className:`vendor-logo-back logo-background-${e}`,style:{display:"flex",flexDirection:"column",height:"100%",width:"10%",margin:"auto",backgroundImage:s.backgroundImage&&s.backgroundImage!=="@@loginBackgroundImage@@"?s.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:s.backgroundColor&&s.backgroundColor!=="@@loginBackgroundColor@@"?s.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:s.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},M.createElement("div",{style:{flexGrow:1}}),M.createElement(j.CircularProgress,{color:"secondary",size:s.size||200,thickness:5}),M.createElement("div",{style:{flexGrow:1}}))}const f3e=` .logo-background-light, .logo-background-colored { background: white; } @@ -903,7 +903,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho transform: rotate(165deg); } } -`;function i5e(s){const e=s.size||200;f.useEffect(()=>{if(!window.document.getElementById("pt-iobroker-component")){const i=window.document.createElement("style");i.setAttribute("id","pt-iobroker-component"),i.innerHTML=f3e,window.document.head.appendChild(i)}},[]);const t=s.themeType||s.themeName||"light";return M.createElement("div",{className:`pt-logo-back logo-background-${t}`,style:{backgroundImage:s.backgroundImage&&s.backgroundImage!=="@@loginBackgroundImage@@"?s.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:s.backgroundColor&&s.backgroundColor!=="@@loginBackgroundColor@@"?s.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:s.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},M.createElement("div",{className:"pt-logo-div",style:{width:e,height:e}},M.createElement("div",{style:{width:200,height:200}},M.createElement("div",{className:"pt-loader-blue pt-loader-block"}),M.createElement("div",{className:"pt-loader-green pt-loader-block"}),M.createElement("div",{className:"pt-loader-red pt-loader-block"}))))}function r5e(s){const e=s.themeType||"light",t=s.size||300;return M.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,backgroundImage:s.backgroundImage&&s.backgroundImage!=="@@loginBackgroundImage@@"?s.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:s.backgroundColor&&s.backgroundColor!=="@@loginBackgroundColor@@"?s.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:e==="dark"?"#000":"#FFF",backgroundSize:"cover"}},M.createElement("div",{style:{width:t,height:t,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:2}},M.createElement("svg",{viewBox:"0 0 500 500",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%"},M.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"200"}),M.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"133"}),M.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"83"}),M.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"66"}),M.createElement("circle",{strokeWidth:"15",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"15"}),M.createElement("g",null,M.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),M.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),M.createElement("g",{transform:"rotate(60, 250, 250)"},M.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),M.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),M.createElement("g",{transform:"rotate(120, 250, 250)"},M.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),M.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),[0,15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345].map(i=>M.createElement("line",{key:i,transform:`rotate(${i}, 250, 250)`,y2:"250",x2:"115",y1:"240",x1:"135",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),M.createElement("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 250 250",to:"360 250 250",dur:"10s",additive:"sum",repeatCount:"indefinite"})),M.createElement("path",{d:"M 56.089 160.250 C 55.077 162.588, 46.037 182.950, 36 205.500 C 25.963 228.050, 16.923 248.412, 15.911 250.750 L 14.071 255 28.286 254.976 L 42.500 254.952 47.931 242.226 C 50.918 235.227, 54.366 227.250, 55.592 224.500 L 57.822 219.500 66.383 237.250 L 74.945 255 88.973 255 C 96.688 255, 103 254.841, 103 254.646 C 103 254.452, 100.043 248.071, 96.430 240.466 L 89.859 226.638 91.603 222.771 C 92.563 220.644, 93.660 218.710, 94.043 218.473 C 94.426 218.237, 108.609 246.609, 125.562 281.522 L 156.384 345 166.071 345 C 175.705 345, 175.763 344.985, 176.856 342.250 C 179.911 334.602, 208 260.765, 208 260.383 C 208 260.138, 202.546 260.065, 195.879 260.219 L 183.759 260.500 174.629 285.244 C 169.608 298.853, 165.254 309.990, 164.952 309.994 C 164.651 309.997, 148.901 277.389, 129.952 237.532 C 111.004 197.674, 95.275 165.057, 95 165.049 C 94.725 165.041, 90.685 172.415, 86.022 181.435 C 81.358 190.455, 77.308 197.689, 77.022 197.510 C 76.735 197.331, 72.675 187.920, 68 176.598 C 63.325 165.275, 59.147 156.008, 58.714 156.005 C 58.282 156.002, 57.101 157.912, 56.089 160.250 M 55.294 168.694 C 52.241 175.842, 52.166 176.323, 53.718 178.692 L 55.349 181.182 56.706 178.591 C 57.453 177.166, 58.406 176, 58.825 176 C 59.244 176, 60.777 178.363, 62.232 181.250 C 64.829 186.403, 64.879 186.440, 64.939 183.250 C 64.973 181.463, 65.422 180, 65.937 180 C 66.724 180, 60.176 162.824, 58.920 161.596 C 58.689 161.370, 57.057 164.564, 55.294 168.694 M 91.698 175.542 C 89.205 180.626, 89.099 181.308, 90.410 183.792 L 91.840 186.500 92.926 183.669 C 94.349 179.961, 96.024 180.653, 98.588 186.009 L 100.676 190.370 101.324 187.132 C 101.832 184.592, 101.217 182.395, 98.473 176.947 C 96.549 173.126, 94.849 170, 94.696 170 C 94.542 170, 93.193 172.494, 91.698 175.542 M 157.005 192.607 C 143.168 197.636, 134.999 209.202, 135.001 223.761 C 135.002 232.756, 138.710 240.755, 145.856 247.180 C 152.159 252.848, 158.121 255, 167.518 255 C 173.509 255, 175.684 254.499, 180.811 251.936 C 200.823 241.936, 205.088 216.155, 189.337 200.403 C 181.479 192.546, 166.868 189.022, 157.005 192.607 M 206 223 L 206 255 215.472 255 L 224.944 255 225.222 241.419 L 225.500 227.837 230.500 234.660 C 233.250 238.412, 238.002 244.636, 241.060 248.491 L 246.620 255.500 253.810 255.168 L 261 254.836 261 222.918 L 261 191 251.528 191 L 242.056 191 241.778 204.552 L 241.500 218.104 231.111 204.552 L 220.722 191 213.361 191 L 206 191 206 223 M 285.821 192.331 C 276.229 195.045, 270.010 202.130, 270.004 210.349 C 269.995 221.957, 275.913 226.925, 295.801 232.006 C 300.753 233.271, 302.228 235.609, 299.412 237.730 C 296.739 239.746, 288.369 238.774, 281.563 235.657 L 276.132 233.171 272.469 239.320 C 268.119 246.621, 268.341 247.287, 276.524 251.500 C 281.399 254.010, 283.761 254.556, 290.977 254.842 C 302.365 255.294, 307.420 253.846, 312.603 248.649 C 317.383 243.855, 319.463 236.989, 318.043 230.693 C 316.210 222.562, 311.258 218.610, 297.878 214.599 C 288.025 211.645, 285.443 209.631, 288.538 207.315 C 291.104 205.394, 302.270 205.946, 306.769 208.217 L 310.039 209.866 313.104 203.794 C 316.516 197.035, 316.622 197.304, 309.167 193.844 C 303.663 191.289, 292.140 190.542, 285.821 192.331 M 322 199 L 322 207 330 207 L 338 207 338 231 L 338 255 347.500 255 L 357 255 357 231.044 L 357 207.088 364.250 206.794 L 371.500 206.500 371.792 198.750 L 372.084 191 347.042 191 L 322 191 322 199 M 379 223 L 379 255 401 255 L 423 255 423 247.500 L 423 240 409.500 240 L 396 240 396 235 L 396 230 407.500 230 L 419 230 419 222 L 419 214 407.500 214 L 396 214 396 210.529 L 396 207.058 409.250 206.779 L 422.500 206.500 422.792 198.750 L 423.084 191 401.042 191 L 379 191 379 223 M 433 223 L 433 255 442 255 L 451 255 451 247 L 451 239 454.800 239 C 458.555 239, 458.645 239.092, 462.469 246.937 L 466.339 254.874 476.172 255.187 C 481.580 255.359, 486.003 255.111, 486.002 254.636 C 486.001 254.160, 483.277 249.264, 479.949 243.754 C 473.914 233.765, 473.903 233.732, 475.836 231.619 C 480.222 226.824, 482.359 220.791, 482.431 213 C 482.512 204.192, 480.272 198.822, 475.031 195.260 C 469.795 191.703, 465.527 191.012, 448.750 191.006 L 433 191 433 223 M 448.210 213.250 L 448.500 221.500 455.338 221.500 C 461.319 221.500, 462.417 221.204, 464.088 219.139 C 465.995 216.785, 466.556 212.613, 465.379 209.545 C 464.356 206.879, 459.449 205, 453.509 205 L 447.919 205 448.210 213.250 M 163.169 209.017 C 156.337 210.583, 151.176 218.533, 152.339 225.701 C 154.672 240.077, 175.040 242.355, 180.446 228.844 C 184.978 217.516, 175.176 206.267, 163.169 209.017 M 216.676 271.715 C 216.037 272.750, 188 344.021, 188 344.612 C 188 344.863, 192.811 344.940, 198.691 344.784 L 209.381 344.500 211.894 336.750 L 214.406 329 226.550 329 L 238.694 329 242.097 336.992 L 245.500 344.983 255.250 344.992 C 262.399 344.998, 264.994 344.667, 264.979 343.750 C 264.968 343.063, 258.477 326.525, 250.555 307 L 236.150 271.500 226.656 271.215 C 221.434 271.058, 216.943 271.283, 216.676 271.715 M 273 307 C 273 326.800, 272.887 343.337, 272.750 343.750 C 272.613 344.163, 277.102 344.628, 282.727 344.785 L 292.954 345.069 293.227 327.379 L 293.500 309.689 307 327.336 L 320.500 344.982 328.262 344.991 L 336.025 345 335.762 308.250 L 335.500 271.500 326.750 271.211 L 318 270.922 317.882 286.711 C 317.816 295.395, 317.816 302.837, 317.882 303.250 C 317.947 303.663, 317.808 304, 317.574 304 C 317.340 304, 310.809 296.575, 303.060 287.500 L 288.971 271 280.985 271 L 273 271 273 307 M 223.254 303.048 L 220.078 312 226.539 312 C 230.093 312, 233 311.861, 233 311.691 C 233 311.257, 226.886 294.553, 226.636 294.302 C 226.522 294.189, 225.001 298.125, 223.254 303.048",stroke:"none",fill:s.themeType==="dark"?"#EEE":"#111",fillRule:"evenodd"}))))}function o5e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 436 436",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("g",{fill:"currentColor"},M.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"}),M.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 n5e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 95 95",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("path",{fill:"currentColor",d:`M93.779,63.676c-0.981-1.082-2.24-1.653-3.639-1.653c-1.145,0-3.953,0.396-5.318,4.062 +`;function o5e(s){const e=s.size||200;f.useEffect(()=>{if(!window.document.getElementById("pt-iobroker-component")){const i=window.document.createElement("style");i.setAttribute("id","pt-iobroker-component"),i.innerHTML=f3e,window.document.head.appendChild(i)}},[]);const t=s.themeType||s.themeName||"light";return M.createElement("div",{className:`pt-logo-back logo-background-${t}`,style:{backgroundImage:s.backgroundImage&&s.backgroundImage!=="@@loginBackgroundImage@@"?s.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:s.backgroundColor&&s.backgroundColor!=="@@loginBackgroundColor@@"?s.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:s.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},M.createElement("div",{className:"pt-logo-div",style:{width:e,height:e}},M.createElement("div",{style:{width:200,height:200}},M.createElement("div",{className:"pt-loader-blue pt-loader-block"}),M.createElement("div",{className:"pt-loader-green pt-loader-block"}),M.createElement("div",{className:"pt-loader-red pt-loader-block"}))))}function n5e(s){const e=s.themeType||"light",t=s.size||300;return M.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,backgroundImage:s.backgroundImage&&s.backgroundImage!=="@@loginBackgroundImage@@"?s.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:s.backgroundColor&&s.backgroundColor!=="@@loginBackgroundColor@@"?s.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:e==="dark"?"#000":"#FFF",backgroundSize:"cover"}},M.createElement("div",{style:{width:t,height:t,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:2}},M.createElement("svg",{viewBox:"0 0 500 500",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%"},M.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"200"}),M.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"133"}),M.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"83"}),M.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"66"}),M.createElement("circle",{strokeWidth:"15",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"15"}),M.createElement("g",null,M.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),M.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),M.createElement("g",{transform:"rotate(60, 250, 250)"},M.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),M.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),M.createElement("g",{transform:"rotate(120, 250, 250)"},M.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),M.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),[0,15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345].map(i=>M.createElement("line",{key:i,transform:`rotate(${i}, 250, 250)`,y2:"250",x2:"115",y1:"240",x1:"135",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),M.createElement("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 250 250",to:"360 250 250",dur:"10s",additive:"sum",repeatCount:"indefinite"})),M.createElement("path",{d:"M 56.089 160.250 C 55.077 162.588, 46.037 182.950, 36 205.500 C 25.963 228.050, 16.923 248.412, 15.911 250.750 L 14.071 255 28.286 254.976 L 42.500 254.952 47.931 242.226 C 50.918 235.227, 54.366 227.250, 55.592 224.500 L 57.822 219.500 66.383 237.250 L 74.945 255 88.973 255 C 96.688 255, 103 254.841, 103 254.646 C 103 254.452, 100.043 248.071, 96.430 240.466 L 89.859 226.638 91.603 222.771 C 92.563 220.644, 93.660 218.710, 94.043 218.473 C 94.426 218.237, 108.609 246.609, 125.562 281.522 L 156.384 345 166.071 345 C 175.705 345, 175.763 344.985, 176.856 342.250 C 179.911 334.602, 208 260.765, 208 260.383 C 208 260.138, 202.546 260.065, 195.879 260.219 L 183.759 260.500 174.629 285.244 C 169.608 298.853, 165.254 309.990, 164.952 309.994 C 164.651 309.997, 148.901 277.389, 129.952 237.532 C 111.004 197.674, 95.275 165.057, 95 165.049 C 94.725 165.041, 90.685 172.415, 86.022 181.435 C 81.358 190.455, 77.308 197.689, 77.022 197.510 C 76.735 197.331, 72.675 187.920, 68 176.598 C 63.325 165.275, 59.147 156.008, 58.714 156.005 C 58.282 156.002, 57.101 157.912, 56.089 160.250 M 55.294 168.694 C 52.241 175.842, 52.166 176.323, 53.718 178.692 L 55.349 181.182 56.706 178.591 C 57.453 177.166, 58.406 176, 58.825 176 C 59.244 176, 60.777 178.363, 62.232 181.250 C 64.829 186.403, 64.879 186.440, 64.939 183.250 C 64.973 181.463, 65.422 180, 65.937 180 C 66.724 180, 60.176 162.824, 58.920 161.596 C 58.689 161.370, 57.057 164.564, 55.294 168.694 M 91.698 175.542 C 89.205 180.626, 89.099 181.308, 90.410 183.792 L 91.840 186.500 92.926 183.669 C 94.349 179.961, 96.024 180.653, 98.588 186.009 L 100.676 190.370 101.324 187.132 C 101.832 184.592, 101.217 182.395, 98.473 176.947 C 96.549 173.126, 94.849 170, 94.696 170 C 94.542 170, 93.193 172.494, 91.698 175.542 M 157.005 192.607 C 143.168 197.636, 134.999 209.202, 135.001 223.761 C 135.002 232.756, 138.710 240.755, 145.856 247.180 C 152.159 252.848, 158.121 255, 167.518 255 C 173.509 255, 175.684 254.499, 180.811 251.936 C 200.823 241.936, 205.088 216.155, 189.337 200.403 C 181.479 192.546, 166.868 189.022, 157.005 192.607 M 206 223 L 206 255 215.472 255 L 224.944 255 225.222 241.419 L 225.500 227.837 230.500 234.660 C 233.250 238.412, 238.002 244.636, 241.060 248.491 L 246.620 255.500 253.810 255.168 L 261 254.836 261 222.918 L 261 191 251.528 191 L 242.056 191 241.778 204.552 L 241.500 218.104 231.111 204.552 L 220.722 191 213.361 191 L 206 191 206 223 M 285.821 192.331 C 276.229 195.045, 270.010 202.130, 270.004 210.349 C 269.995 221.957, 275.913 226.925, 295.801 232.006 C 300.753 233.271, 302.228 235.609, 299.412 237.730 C 296.739 239.746, 288.369 238.774, 281.563 235.657 L 276.132 233.171 272.469 239.320 C 268.119 246.621, 268.341 247.287, 276.524 251.500 C 281.399 254.010, 283.761 254.556, 290.977 254.842 C 302.365 255.294, 307.420 253.846, 312.603 248.649 C 317.383 243.855, 319.463 236.989, 318.043 230.693 C 316.210 222.562, 311.258 218.610, 297.878 214.599 C 288.025 211.645, 285.443 209.631, 288.538 207.315 C 291.104 205.394, 302.270 205.946, 306.769 208.217 L 310.039 209.866 313.104 203.794 C 316.516 197.035, 316.622 197.304, 309.167 193.844 C 303.663 191.289, 292.140 190.542, 285.821 192.331 M 322 199 L 322 207 330 207 L 338 207 338 231 L 338 255 347.500 255 L 357 255 357 231.044 L 357 207.088 364.250 206.794 L 371.500 206.500 371.792 198.750 L 372.084 191 347.042 191 L 322 191 322 199 M 379 223 L 379 255 401 255 L 423 255 423 247.500 L 423 240 409.500 240 L 396 240 396 235 L 396 230 407.500 230 L 419 230 419 222 L 419 214 407.500 214 L 396 214 396 210.529 L 396 207.058 409.250 206.779 L 422.500 206.500 422.792 198.750 L 423.084 191 401.042 191 L 379 191 379 223 M 433 223 L 433 255 442 255 L 451 255 451 247 L 451 239 454.800 239 C 458.555 239, 458.645 239.092, 462.469 246.937 L 466.339 254.874 476.172 255.187 C 481.580 255.359, 486.003 255.111, 486.002 254.636 C 486.001 254.160, 483.277 249.264, 479.949 243.754 C 473.914 233.765, 473.903 233.732, 475.836 231.619 C 480.222 226.824, 482.359 220.791, 482.431 213 C 482.512 204.192, 480.272 198.822, 475.031 195.260 C 469.795 191.703, 465.527 191.012, 448.750 191.006 L 433 191 433 223 M 448.210 213.250 L 448.500 221.500 455.338 221.500 C 461.319 221.500, 462.417 221.204, 464.088 219.139 C 465.995 216.785, 466.556 212.613, 465.379 209.545 C 464.356 206.879, 459.449 205, 453.509 205 L 447.919 205 448.210 213.250 M 163.169 209.017 C 156.337 210.583, 151.176 218.533, 152.339 225.701 C 154.672 240.077, 175.040 242.355, 180.446 228.844 C 184.978 217.516, 175.176 206.267, 163.169 209.017 M 216.676 271.715 C 216.037 272.750, 188 344.021, 188 344.612 C 188 344.863, 192.811 344.940, 198.691 344.784 L 209.381 344.500 211.894 336.750 L 214.406 329 226.550 329 L 238.694 329 242.097 336.992 L 245.500 344.983 255.250 344.992 C 262.399 344.998, 264.994 344.667, 264.979 343.750 C 264.968 343.063, 258.477 326.525, 250.555 307 L 236.150 271.500 226.656 271.215 C 221.434 271.058, 216.943 271.283, 216.676 271.715 M 273 307 C 273 326.800, 272.887 343.337, 272.750 343.750 C 272.613 344.163, 277.102 344.628, 282.727 344.785 L 292.954 345.069 293.227 327.379 L 293.500 309.689 307 327.336 L 320.500 344.982 328.262 344.991 L 336.025 345 335.762 308.250 L 335.500 271.500 326.750 271.211 L 318 270.922 317.882 286.711 C 317.816 295.395, 317.816 302.837, 317.882 303.250 C 317.947 303.663, 317.808 304, 317.574 304 C 317.340 304, 310.809 296.575, 303.060 287.500 L 288.971 271 280.985 271 L 273 271 273 307 M 223.254 303.048 L 220.078 312 226.539 312 C 230.093 312, 233 311.861, 233 311.691 C 233 311.257, 226.886 294.553, 226.636 294.302 C 226.522 294.189, 225.001 298.125, 223.254 303.048",stroke:"none",fill:s.themeType==="dark"?"#EEE":"#111",fillRule:"evenodd"}))))}function a5e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 436 436",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("g",{fill:"currentColor"},M.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"}),M.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 M5e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 95 95",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("path",{fill:"currentColor",d:`M93.779,63.676c-0.981-1.082-2.24-1.653-3.639-1.653c-1.145,0-3.953,0.396-5.318,4.062 c-0.344,0.922-0.443,1.413-0.907,1.363c-0.786-0.078-3.845-3.346-4.845-8.145l-2.482-11.6c1.961-3.177,3.977-5.629,5.988-7.292 c1.08-0.882,2.314-1.349,3.808-1.43c3.815-0.26,5.203-0.74,6.14-1.399c1.547-1.115,2.397-2.728,2.397-4.542 c0-1.596-0.604-3.019-1.75-4.115c-1.106-1.059-2.581-1.618-4.26-1.618c-2.468,0-5.239,1.142-8.474,3.49 @@ -920,11 +920,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho c-1.525,0-2.91,0.625-4.002,1.804c-1.036,1.116-1.583,2.514-1.583,4.038c0,1.83,0.783,3.459,2.264,4.709 c1.357,1.146,3.034,1.728,4.981,1.728c2.414,0,4.884-0.921,7.344-2.737c2.053-1.519,4.697-4.526,8.074-9.189 c2.17,6.24,5.248,10.252,6.714,11.927c2.313,2.644,6.049,4.22,9.993,4.22c3.348,0,5.244-1.402,6.916-2.641l0.148-0.109 - c2.926-2.164,3.54-4.545,3.54-6.166C95.174,65.965,94.691,64.679,93.779,63.676z`}))}function a5e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("path",{fill:"currentColor",d:"M510.371,226.513c-1.088-2.603-2.645-4.971-4.629-6.955l-63.979-63.979c-8.341-8.32-21.824-8.32-30.165,0 c-8.341,8.341-8.341,21.845,0,30.165l27.584,27.584H320.013c-11.797,0-21.333,9.557-21.333,21.333s9.536,21.333,21.333,21.333 h119.168l-27.584,27.584c-8.341,8.341-8.341,21.845,0,30.165c4.16,4.181,9.621,6.251,15.083,6.251s10.923-2.069,15.083-6.251 l63.979-63.979c1.984-1.963,3.541-4.331,4.629-6.955C512.525,237.606,512.525,231.718,510.371,226.513z"}),M.createElement("path",{fill:"currentColor",d:`M362.68,298.667c-11.797,0-21.333,9.557-21.333,21.333v106.667h-85.333V85.333c0-9.408-6.187-17.728-15.211-20.437 + c2.926-2.164,3.54-4.545,3.54-6.166C95.174,65.965,94.691,64.679,93.779,63.676z`}))}function c5e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 512 512",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("path",{fill:"currentColor",d:"M510.371,226.513c-1.088-2.603-2.645-4.971-4.629-6.955l-63.979-63.979c-8.341-8.32-21.824-8.32-30.165,0 c-8.341,8.341-8.341,21.845,0,30.165l27.584,27.584H320.013c-11.797,0-21.333,9.557-21.333,21.333s9.536,21.333,21.333,21.333 h119.168l-27.584,27.584c-8.341,8.341-8.341,21.845,0,30.165c4.16,4.181,9.621,6.251,15.083,6.251s10.923-2.069,15.083-6.251 l63.979-63.979c1.984-1.963,3.541-4.331,4.629-6.955C512.525,237.606,512.525,231.718,510.371,226.513z"}),M.createElement("path",{fill:"currentColor",d:`M362.68,298.667c-11.797,0-21.333,9.557-21.333,21.333v106.667h-85.333V85.333c0-9.408-6.187-17.728-15.211-20.437 l-74.091-22.229h174.635v106.667c0,11.776,9.536,21.333,21.333,21.333s21.333-9.557,21.333-21.333v-128 C384.013,9.557,374.477,0,362.68,0H21.347c-0.768,0-1.451,0.32-2.197,0.405c-1.003,0.107-1.92,0.277-2.88,0.512 c-2.24,0.576-4.267,1.451-6.165,2.645c-0.469,0.299-1.045,0.32-1.493,0.661C8.44,4.352,8.376,4.587,8.205,4.715 C5.88,6.549,3.939,8.789,2.531,11.456c-0.299,0.576-0.363,1.195-0.597,1.792c-0.683,1.621-1.429,3.2-1.685,4.992 c-0.107,0.64,0.085,1.237,0.064,1.856c-0.021,0.427-0.299,0.811-0.299,1.237V448c0,10.176,7.189,18.923,17.152,20.907 l213.333,42.667c1.387,0.299,2.795,0.427,4.181,0.427c4.885,0,9.685-1.685,13.525-4.843c4.928-4.053,7.808-10.091,7.808-16.491 - v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z`}))}function M5e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 339 339",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("path",{fill:"currentColor",d:"M 318.371 88.485 C 332.371 114.538 339.207 142.418 338.881 172.125 C 338.874 172.605 338.631 172.845 338.151 172.845 L 335.411 172.845 C 335.077 172.845 334.911 173.012 334.911 173.345 L 334.911 181.215 C 334.911 181.635 335.121 181.845 335.541 181.845 L 337.711 181.845 C 338.157 181.845 338.364 182.068 338.331 182.515 C 331.921 264.525 267.321 330.135 185.931 337.995 C 89.911 347.265 6.491 275.385 0.301 179.465 C 0.274 179.052 0.467 178.845 0.881 178.845 L 2.381 178.845 C 2.741 178.845 2.921 178.665 2.921 178.305 L 2.911 171.465 C 2.904 171.052 2.694 170.845 2.281 170.845 L 0.441 170.845 C 0.147 170.845 0.001 170.698 0.001 170.405 C -0.289 83.535 64.591 10.095 151.421 0.955 C 211.511 -5.375 269.171 20.055 305.341 68.135 C 305.538 68.391 305.938 68.338 306.062 68.039 C 306.065 68.031 306.068 68.023 306.071 68.015 L 311.541 51.395 C 311.63 51.125 311.924 50.977 312.201 51.065 L 316.881 52.625 C 317.274 52.758 317.407 53.022 317.281 53.415 L 310.271 74.305 C 310.157 74.645 310.197 74.968 310.391 75.275 L 314.011 80.905 C 314.204 81.205 314.481 81.378 314.841 81.425 L 336.771 84.365 C 337.124 84.412 337.277 84.612 337.231 84.965 L 336.601 89.775 C 336.547 90.182 336.321 90.358 335.921 90.305 L 318.721 87.975 C 318.267 87.915 318.151 88.085 318.371 88.485 Z M 200.701 172.615 C 170.541 200.245 121.671 181.975 117.251 140.865 C 117.211 140.518 117.017 140.345 116.671 140.345 L 8.941 140.345 C 8.68 140.346 8.46 140.532 8.421 140.785 C -10.469 249.095 80.901 345.385 189.421 331.625 C 265.701 321.955 325.741 260.435 332.311 183.415 C 343.611 50.895 200.811 -38.365 85.961 28.845 C 47.041 51.625 20.601 89.335 9.791 133.265 C 9.611 133.985 9.891 134.345 10.631 134.345 L 116.371 134.345 C 116.664 134.345 116.824 134.202 116.851 133.915 C 118.397 116.288 126.001 103.005 139.661 94.065 C 172.821 72.345 214.571 95.715 216.891 133.845 C 216.911 134.178 217.087 134.345 217.421 134.345 L 330.342 134.345 C 330.842 134.345 331.092 134.595 331.092 135.095 L 331.092 139.595 C 331.092 140.095 330.842 140.345 330.342 140.345 L 217.161 140.345 C 216.827 140.345 216.641 140.512 216.601 140.845 C 215.141 153.652 209.841 164.242 200.701 172.615 Z M 210.861 135.845 C 210.861 111.572 191.183 91.895 166.911 91.895 C 142.638 91.895 122.961 111.572 122.961 135.845 C 122.961 160.118 142.638 179.795 166.911 179.795 C 191.183 179.795 210.861 160.118 210.861 135.845 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),M.createElement("path",{fill:"currentColor",d:"M 222.771 42.215 C 224.237 43.708 223.741 45.092 221.281 46.365 C 220.5 46.768 219.574 46.779 218.781 46.395 C 183.761 29.182 149.014 29.638 114.541 47.765 C 113.252 48.444 111.662 47.8 111.211 46.415 C 110.891 45.435 110.867 44.465 111.141 43.505 C 111.234 43.158 111.437 42.898 111.751 42.725 C 145.631 23.545 186.631 23.045 221.051 41.045 C 221.831 41.452 222.404 41.842 222.771 42.215 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),M.createElement("text",{style:{whiteSpace:"pre",fontFamily:"Arial, sans-serif",fontSize:16},x:"139.395",y:"288.084",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"},"vacuum"))}const x3e={dialogPaper:{height:"calc(100% - 96px)"}};class c5e extends M.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:t}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){const t=kt.cron2state(this.state.cron);if(t.seconds==="*"||t.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(t.minutes==="*"||t.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?M.createElement(i0,{title:h.t("ra_Please confirm"),text:h.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:e=>this.setState({showWarning:""},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return M.createElement(j.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":x3e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),M.createElement(j.DialogTitle,{id:"cron-dialog-title"},this.props.title||h.t("ra_Define schedule...")),M.createElement(j.DialogContent,{style:{height:"100%",overflow:"hidden"}},M.createElement(kt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:h.getLanguage()})),M.createElement(j.DialogActions,null,!!this.props.clearButton&&M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:M.createElement(nt,null)},this.props.clear||h.t("ra_Clear")),M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:M.createElement(Oe,null)},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}const _3e={dialogPaper:{height:"calc(100% - 96px)"}};class u5e extends M.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof t=="object"||t[0]==="{")&&!this.props.noWizard?"wizard":ML(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return M.createElement(j.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":_3e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},M.createElement(j.DialogTitle,{id:"cron-dialog-title"},this.props.title||h.t("ra_Define schedule...")),M.createElement(j.DialogContent,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?M.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&M.createElement(M.Fragment,null,M.createElement(j.Radio,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),M.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},h.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&M.createElement(M.Fragment,null,M.createElement(j.Radio,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),M.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},h.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&M.createElement(M.Fragment,null,M.createElement(j.Radio,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),M.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},h.t("sc_cron")))):null,this.state.mode==="simple"&&M.createElement($i,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:h.getLanguage()}),this.state.mode==="wizard"&&M.createElement(De,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&M.createElement(kt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:h.getLanguage()})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:M.createElement(Oe,null)},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}class l5e extends f.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return M.createElement(j.Dialog,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"ar_dialog_message_title","aria-describedby":"ar_dialog_message_description"},M.createElement(j.DialogTitle,{id:"ar_dialog_message_title"},this.props.title||h.t("ra_Message")),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,{id:"ar_dialog_message_description"},M.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),M.createElement(j.DialogActions,null,M.createElement(j.Button,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:M.createElement(Ne,null)},this.props.ok||h.t("ra_Close"))))}}const Ft={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"}};class N5e extends M.Component{dialogName;filters;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let i=this.props.selected||[];typeof i!="object"?i=[i]:i=[...i],i=i.filter(r=>r),this.state={selected:i}}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 e;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?e=[M.createElement("span",{key:"selected"},h.t("ra_Selected")," "),M.createElement("span",{key:"id",style:Ft.headerID},this.state.selected)]:e=[M.createElement("span",{key:"selected"},h.t("ra_Selected")," "),M.createElement("span",{key:"id",style:Ft.headerID},h.t("%s items",this.state.selected.length))]:e=this.props.title||h.t("ra_Please select file..."),M.createElement(j.Dialog,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{...Ft.dialog,...Ft.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},M.createElement(j.DialogTitle,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":Ft.titleRoot}},e),M.createElement(j.DialogContent,{style:{...Ft.content,...Ft.contentMobile}},M.createElement(Tfe,{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:(t,i,r)=>{this.setState({selected:Array.isArray(t)?t:[t]},()=>i&&(!this.props.selectOnlyFolders||r)&&this.handleOk())},t:this.props.t||h.t,lang:this.props.lang||h.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})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleOk(),startIcon:M.createElement(Oe,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}const S3e={dialogPaper:{height:"calc(100% - 96px)"}};class L5e extends M.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return M.createElement(j.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":S3e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},M.createElement(j.DialogTitle,{id:"cron-dialog-title"},this.props.title||h.t("ra_Define CRON...")),M.createElement(j.DialogContent,{style:{height:"100%",overflow:"hidden"}},M.createElement($i,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:h.getLanguage()})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:M.createElement(Oe,null)},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}const jt={CONNECTING:0,CONNECTED:1,OBJECTS_LOADED:2,STATES_LOADED:3,READY:4},yt="permissionError",b="notConnectedError";function lN(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}class J{_socket;_authTimer;systemLang="en";_waitForFirstConnection;_waitForFirstConnectionResolve=null;_promises={};_instanceSubscriptions;props;doNotLoadAllObjects;doNotLoadACL;states={};objects=null;scriptLoadCounter;acl=null;firstConnect=!0;waitForRestart=!1;connected=!1;statesSubscribes={};objectsSubscribes={};filesSubscribes={};onConnectionHandlers=[];onLogHandlers=[];onProgress;onError;loaded=!1;loadTimer=null;loadCounter=0;ignoreState="";simStates={};autoSubscribes;autoSubscribeLog;subscribed;isSecure;onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;systemConfig=null;constructor(e){e||={protocol:window.location.protocol,host:window.location.hostname},this.props=e,this.autoSubscribes=this.props.autoSubscribes||[],this.autoSubscribeLog=this.props.autoSubscribeLog||!1,this.props.protocol||=window.location.protocol,this.props.host||=window.location.hostname,this.props.port||=window.location.port==="3000"?J.isWeb()?8082:8081:window.location.port,this.props.ioTimeout=Math.max(this.props.ioTimeout||2e4,2e4),this.props.cmdTimeout=Math.max(this.props.cmdTimeout||5e3,5e3),this._instanceSubscriptions={},this.doNotLoadAllObjects=this.props.doNotLoadAllObjects===void 0?!0:this.props.doNotLoadAllObjects,this.doNotLoadACL=this.props.doNotLoadACL===void 0?!0:this.props.doNotLoadACL,this.states={},this._waitForFirstConnection=new Promise(t=>{this._waitForFirstConnectionResolve=t}),this.onProgress=this.props.onProgress||(()=>{}),this.onError=this.props.onError||(t=>console.error(t)),this.startSocket()}static isWeb(){const e=window.adapterName;return e==="material"||e==="vis"||(e==null?void 0:e.startsWith("vis-"))||e==="echarts-show"||window.socketUrl!==void 0}startSocket(){if(typeof window.io>"u"&&typeof window.iob>"u"){if(typeof window.registerSocketOnLoad!="function"){if(this.scriptLoadCounter||=0,this.scriptLoadCounter++,this.scriptLoadCounter<30){setTimeout(()=>this.startSocket(),100);return}window.alert("Cannot load socket.io.js!")}else window.registerSocketOnLoad(()=>this.startSocket());return}if(this._socket)return;let e=this.props.host,t=this.props.port,i=this.props.protocol.replace(":",""),r=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")r="";else{if(window.socketUrl){const a=new URL(window.socketUrl);e=a.hostname,t=a.port,i=a.protocol.replace(":","")}const n=r.lastIndexOf("/");if(n!==-1&&(r=r.substring(0,n+1)),J.isWeb()){const a=r.split("/");a.length>2&&(a.pop(),a[a.length-1].match(/\d+\.\d+\.\d+/)&&a.pop(),a.pop(),r=a.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${i}://${e}:${t}${r}`:`${i}://${e}${r}`;this._socket=(window.io||window.iob).connect(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid}),this._socket.on("connect",n=>{n!==!0?setTimeout(()=>this.getVersion().then(a=>{const[c,l,N]=a.version.split(".");parseInt(c,10)*1e4+parseInt(l,10)*100+parseInt(N,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(L,g)=>this.onPreConnect(L,g))}),500):this._socket.emit("authenticate",(a,c)=>this.onPreConnect(a,c))}),this._socket.on("reconnect",()=>{this.onProgress(jt.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(n=>n(!0)))}),this._socket.on("disconnect",()=>{this.connected=!1,this.subscribed=!1,this.onProgress(jt.CONNECTING),this.onConnectionHandlers.forEach(n=>n(!1))}),this._socket.on("reauthenticate",()=>J.authenticate()),this._socket.on("log",n=>{var a,c;(c=(a=this.props).onLog)==null||c.call(a,n),this.onLogHandlers.forEach(l=>l(n))}),this._socket.on("error",n=>{let a=n||"";typeof a.toString!="function"&&(a=JSON.stringify(a),console.error(`Received strange error: ${a}`)),a=a.toString(),a.includes("User not authorized")?J.authenticate():window.alert(`Socket Error: ${n}`)}),this._socket.on("connect_error",n=>console.error(`Connect error: ${n}`)),this._socket.on("permissionError",n=>this.onError({message:"no permission",operation:n.operation,type:n.type,id:n.id||""})),this._socket.on("objectChange",(n,a)=>setTimeout(()=>this.objectChange(n,a),0)),this._socket.on("stateChange",(n,a)=>setTimeout(()=>this.stateChange(n,a),0)),this._socket.on("im",(n,a,c)=>setTimeout(()=>this.instanceMessage(n,a,c),0)),this._socket.on("fileChange",(n,a,c)=>setTimeout(()=>this.fileChange(n,a,c),0)),this._socket.on("cmdStdout",(n,a)=>{var c;return(c=this.onCmdStdoutHandler)==null?void 0:c.call(this,n,a)}),this._socket.on("cmdStderr",(n,a)=>{var c;return(c=this.onCmdStderrHandler)==null?void 0:c.call(this,n,a)}),this._socket.on("cmdExit",(n,a)=>{var c;return(c=this.onCmdExitHandler)==null?void 0:c.call(this,n,a)})}onPreConnect(e,t){this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?(this.loadTimer=setTimeout(()=>{this.loadTimer=null,this.loadCounter++,this.loadCounter<10&&this.onConnect().catch(i=>this.onError(i))},1e3),this.loaded||this.onConnect().catch(i=>this.onError(i))):this.onProgress(jt.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(i=>i(!0))),this._waitForFirstConnectionResolve&&(this._waitForFirstConnectionResolve(),this._waitForFirstConnectionResolve=null)}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!1:window.socketUrl.includes("iobroker.in")||window.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnection}async _getUserPermissions(){return this.doNotLoadACL?null:new Promise((e,t)=>{this._socket.emit("getUserPermissions",(i,r)=>i?t(new Error(i)):e(r))})}async onConnect(){var i,r,o,n,a;let e;try{e=await this._getUserPermissions()}catch(c){const l=c;this.onError(`Cannot read user permissions: ${l.message}`);return}if(!this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(jt.CONNECTED),this.firstConnect=!1,this.acl=e}let t;try{if(t=await this.getSystemConfig(),this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(jt.CONNECTED),this.firstConnect=!1}this.systemConfig=t,(i=this.systemConfig)!=null&&i.common?this.systemLang=this.systemConfig.common.language:(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.substr(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en")),(o=(r=this.props).onLanguage)==null||o.call(r,this.systemLang),this.doNotLoadAllObjects?(this.objects={"system.config":t},this.onProgress(jt.READY),(a=(n=this.props).onReady)==null||a.call(n,this.objects)):(await this.getObjects(),this.onProgress(jt.READY),this.props.onReady&&this.objects&&this.props.onReady(this.objects))}catch(c){this.onError(`Cannot read system config: ${c}`)}}static 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(e,t,i){typeof t=="function"&&(i=t,t=!1);let r;if(Array.isArray(e)?r=e:r=[e],!i)return console.error("No callback found for subscribeState"),Promise.reject(new Error("No callback found for subscribeState"));const o=[];for(let n=0;n{this._socket.emit(J.isWeb()?"getStates":"getForeignStates",r,(c,l)=>{c?(console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(c)}`),a(new Error(c))):(l&&Object.keys(l).forEach(N=>i(N,l[N])),n())})})}subscribeStateAsync(e,t){let i;Array.isArray(e)?i=e:i=[e];const r=[];for(let o=0;o{typeof t=="function"&&this.connected?this._socket.emit(J.isWeb()?"getStates":"getForeignStates",e,(a,c)=>{a&&console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`),c&&Object.keys(c).forEach(l=>t(l,c[l])),c?o():n(new Error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`))}):this.connected?n(new Error("callback is not a function")):n(new Error("not connected"))})}unsubscribeState(e,t){let i;Array.isArray(e)?i=e:i=[e];const r=[];for(let o=0;o{(o===e||this.objectsSubscribes[o].reg.test(e))&&this.objectsSubscribes[o].cbs.forEach(n=>{try{n(e,t,i)}catch(a){console.error(`Error by callback of objectChange: ${a}`)}})}),r&&this.props.onObjectChange&&this.props.onObjectChange(e,t)}stateChange(e,t){for(const i in this.statesSubscribes)Object.prototype.hasOwnProperty.call(this.statesSubscribes,i)&&this.statesSubscribes[i].reg.test(e)&&this.statesSubscribes[i].cbs.forEach(r=>{try{r(e,t)}catch(o){const n=o;console.error(`Error by callback of stateChange: ${n==null?void 0:n.message}`)}})}instanceMessage(e,t,i){this._instanceSubscriptions[t]&&this._instanceSubscriptions[t].forEach(r=>{r.messageType===e&&r.callback(i,t,e)})}getStates(e,t){return this.connected?(typeof e=="boolean"&&(t=e,e=void 0),new Promise((i,r)=>{this._socket.emit("getStates",e,(o,n)=>{this.states=n,!t&&this.onProgress(jt.STATES_LOADED),o?r(new Error(o)):i(this.states)})})):Promise.reject(new Error(b))}getState(e){return this.connected?e&&e===this.ignoreState?Promise.resolve(this.simStates[e]||{val:null,ack:!0}):new Promise((t,i)=>{this._socket.emit("getState",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}getBinaryState(e){return this.connected?new Promise((t,i)=>{this._socket.emit("getBinaryState",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}setBinaryState(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("setBinaryState",e,t,o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}setState(e,t,i){if(!this.connected)return Promise.reject(new Error(b));if(e&&e===this.ignoreState){let r;if(typeof i=="boolean"||typeof t=="object"&&t.val!==void 0?r=t:r={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=r,this.statesSubscribes[e])for(const o of this.statesSubscribes[e].cbs)try{o(e,r)}catch(n){console.error(`Error by callback of stateChanged: ${n}`)}return Promise.resolve()}return new Promise((r,o)=>{this._socket.emit("setState",e,t,n=>n?o(new Error(n)):r())})}getObjects(e,t){return this.connected?new Promise((i,r)=>{!e&&this.objects?i(this.objects):this._socket.emit(J.isWeb()?"getObjects":"getAllObjects",(o,n)=>{this.objects=n,t&&this.onProgress(jt.OBJECTS_LOADED),o?r(new Error(o)):i(this.objects)})}):Promise.reject(new Error(b))}getObjectsById(e){return this.connected?new Promise((t,i)=>{this._socket.emit("getObjects",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}_subscribe(e){if(e&&!this.subscribed){this.subscribed=!0,this.autoSubscribes.forEach(i=>this._socket.emit("subscribeObjects",i)),Object.keys(this.objectsSubscribes).forEach(i=>this._socket.emit("subscribeObjects",i)),this.autoSubscribeLog&&this._socket.emit("requireLog",!0);const t=Object.keys(this.statesSubscribes);t.forEach(i=>this._socket.emit("subscribe",i)),t.length&&this._socket.emit(J.isWeb()?"getStates":"getForeignStates",t,(i,r)=>{i&&console.error(`Cannot getForeignStates: ${JSON.stringify(i)}`),r&&Object.keys(r).forEach(o=>this.stateChange(o,r[o]))})}else!e&&this.subscribed&&(this.subscribed=!1,this.autoSubscribes.forEach(t=>this._socket.emit("unsubscribeObjects",t)),Object.keys(this.objectsSubscribes).forEach(t=>this._socket.emit("unsubscribeObjects",t)),this.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(t=>this._socket.emit("unsubscribe",t)))}requireLog(e){return this.connected?new Promise((t,i)=>{this._socket.emit("requireLog",e,r=>r?i(new Error(r)):t())}):Promise.reject(new Error(b))}delObject(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("delObject",e,{maintenance:!!t},o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}delObjects(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("delObjects",e,{maintenance:!!t},o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}setObject(e,t){return this.connected?t?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((i,r)=>{this._socket.emit("setObject",e,t,o=>o?r(new Error(o)):i())})):Promise.reject(new Error("Null object is not allowed")):Promise.reject(new Error(b))}getObject(e){return this.connected?e&&e===this.ignoreState?Promise.resolve({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed",read:!0,write:!0,role:"state"},native:{}}):new Promise((t,i)=>{this._socket.emit("getObject",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`instances_${e}`]instanceof Promise?this._promises[`instances_${e}`]:this.connected?(this._promises[`instances_${e}`]=new Promise((i,r)=>{this._socket.emit("getAdapterInstances",e,(o,n)=>o?r(new Error(o)):i(n))}),this._promises[`instances_${e}`]):Promise.reject(new Error(b))}getAdapters(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`adapter_${e}`]instanceof Promise?this._promises[`adapter_${e}`]:this.connected?(this._promises[`adapter_${e}`]=new Promise((i,r)=>{this._socket.emit("getAdapters",e,(o,n)=>{o?r(new Error(o)):i(n)})}),this._promises[`adapter_${e}`]):Promise.reject(new Error(b)))}_renameGroups(e,t){if(!(e!=null&&e.length))t==null||t(null);else{const i=e.pop();if(!i){setTimeout(()=>this._renameGroups(e,t),0);return}const r=i._id;i._id=i.newId,delete i.newId,this.setObject(i._id,i).then(()=>this.delObject(r)).then(()=>setTimeout(()=>this._renameGroups(e,t),0)).catch(o=>t==null?void 0:t(o))}}async renameGroup(e,t,i){if(J.isWeb())return Promise.reject(new Error("Allowed only in admin"));const r=await this.getGroups(!0);if(r.length){const o=r.filter(a=>a._id.startsWith(`${e}.`));o.forEach(a=>{a.newId=t+a._id.substring(e.length)}),await new Promise((a,c)=>{this._renameGroups(o,l=>l?c(new Error(l)):a(null))});const n=r.find(a=>a._id===e);if(n)return n._id=t,i!==void 0&&(n.common||={},n.common.name=i),this.setObject(n._id,n).then(()=>this.delObject(e))}return Promise.resolve()}sendTo(e,t,i){return this.connected?new Promise(r=>{this._socket.emit("sendTo",e,t,i,o=>r(o))}):Promise.reject(new Error(b))}extendObject(e,t){return this.connected?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((i,r)=>{this._socket.emit("extendObject",e,t,o=>o?r(new Error(o)):i())})):Promise.reject(new Error(b))}registerLogHandler(e){!this.onLogHandlers.includes(e)&&this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){!this.onConnectionHandlers.includes(e)&&this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return!t&&this._promises[`enums_${e||"all"}`]instanceof Promise?this._promises[`enums_${e||"all"}`]:this.connected?(this._promises[`enums_${e||"all"}`]=new Promise((i,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:`enum.${e?`${e}.`:""}香`},(o,n)=>{if(!o&&n){const a={};for(let c=0;c{this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(a,c)=>{if(a)n(new Error(a));else{const l={};if(c&&c.rows)for(let N=0;N{const i=[];return t&&t.native&&t.native.certificates&&Object.keys(t.native.certificates).forEach(r=>{const o=t.native.certificates[r];if(!o)return;const n={name:r,type:""};o.length<700&&(o.includes("/")||o.includes("\\"))?(r.toLowerCase().includes("private")||o.toLowerCase().includes("private")?n.type="private":(r.toLowerCase().includes("public")||o.toLowerCase().includes("public"))&&(n.type="public"),i.push(n)):(n.type=o.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||o.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",n.type==="public"&&o.split("-----END CERTIFICATE-----").filter(c=>c.replace(/\r\n|\r|\n/,"").trim()).length>1&&(n.type="chained"),i.push(n))}),i}),this._promises.cert):Promise.reject(new Error(b))}getLogs(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(i=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>i(r))}):Promise.reject(new Error(b))}getLogsFiles(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,i)=>{this._socket.emit("readLogs",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}delLogs(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,i)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>r?i(new Error(r)):t())}):Promise.reject(new Error(b))}readMetaItems(){return this.connected?new Promise((e,t)=>{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(i,r)=>i?t(new Error(i)):e(r.rows&&r.rows.map(o=>o.value)))}):Promise.reject(new Error(b))}readDir(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("readDir",e,t,(o,n)=>o?r(new Error(o)):i(n))}):Promise.reject(new Error(b))}readFile(e,t,i){return this.connected?new Promise((r,o)=>{i?this._socket.emit("readFile64",e,t,i,(n,a)=>n?o(new Error(n)):r(a)):this._socket.emit("readFile",e,t,(n,a,c)=>{n?o(new Error(n)):r({data:a,type:c})})}):Promise.reject(new Error(b))}writeFile64(e,t,i){return this.connected?new Promise((r,o)=>{if(typeof i=="string")this._socket.emit("writeFile",e,t,i,n=>n?o(new Error(n)):r());else{const n=btoa(new Uint8Array(i).reduce((a,c)=>a+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,a=>a?o(new Error(a)):r())}}):Promise.reject(new Error(b))}deleteFile(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("unlink",e,t,o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}deleteFolder(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("deleteFolder",e,t,o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}getHosts(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hosts instanceof Promise?this._promises.hosts:this.connected?(this._promises.hosts=new Promise((t,i)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?i(new Error(r)):t(o.rows.map(n=>n.value))})}),this._promises.hosts):Promise.reject(new Error(b))}getUsers(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.users instanceof Promise?this._promises.users:this.connected?(this._promises.users=new Promise((t,i)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?i(new Error(r)):t(o.rows.map(n=>n.value))})}),this._promises.users):Promise.reject(new Error(b))}getGroups(e){return!e&&this._promises.groups instanceof Promise?this._promises.groups:this.connected?(this._promises.groups=new Promise((t,i)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?i(new Error(r)):t(o.rows.map(n=>n.value))})}),this._promises.groups):Promise.reject(new Error(b))}getHostInfo(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfo_${e}`]instanceof Promise?this._promises[`hostInfo_${e}`]:this.connected?(this._promises[`hostInfo_${e}`]=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("getHostInfo timeout")))},i||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getHostInfo"')):!a||typeof a!="object"?o(new Error('Cannot read "getHostInfo"')):r(a))})}),this._promises[`hostInfo_${e}`]):Promise.reject(new Error(b)))}getHostInfoShort(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfoShort_${e}`]instanceof Promise?this._promises[`hostInfoShort_${e}`]:this.connected?(this._promises[`hostInfoShort_${e}`]=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("hostInfoShort timeout")))},i||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getHostInfoShort"')):!a||typeof a!="object"?o(new Error('Cannot read "getHostInfoShort"')):r(a))})}),this._promises[`hostInfoShort_${e}`]):Promise.reject(new Error(b)))}getRepository(e,t,i,r){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!i&&this._promises.repo instanceof Promise?this._promises.repo:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repo=new Promise((o,n)=>{let a=setTimeout(()=>{a&&(a=null,n(new Error("getRepository timeout")))},r||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getRepository",t,c=>{a&&(clearTimeout(a),a=null,c===yt?n(new Error('May not read "getRepository"')):!c||typeof c!="object"?n(new Error('Cannot read "getRepository"')):o(c))})}),this._promises.repo):Promise.reject(new Error(b))}getInstalled(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installed=this._promises.installed||{},!t&&this._promises.installed[e]instanceof Promise?this._promises.installed[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installed[e]=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("getInstalled timeout")))},i||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getInstalled",null,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getInstalled"')):!a||typeof a!="object"?o(new Error('Cannot read "getInstalled"')):r(a))})}),this._promises.installed[e]):Promise.reject(new Error(b)))}rename(e,t,i){return this.connected?new Promise((r,o)=>{this._socket.emit("rename",e,t,i,n=>n?o(new Error(n)):r())}):Promise.reject(new Error(b))}renameFile(e,t,i){return this.connected?new Promise((r,o)=>{this._socket.emit("renameFile",e,t,i,n=>n?o(new Error(n)):r())}):Promise.reject(new Error(b))}cmdExec(e,t,i,r){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?(e.startsWith(e)||(e+=`system.host.${e}`),new Promise((o,n)=>{let a=r?setTimeout(()=>{a&&(a=null,n(new Error("cmdExec timeout")))},r):null;this._socket.emit("cmdExec",e,i,t,null,c=>{(!r||a)&&(a&&clearTimeout(a),a=null,c?n(new Error(c)):o())})})):Promise.reject(new Error(b))}checkFeatureSupported(e,t){return!t&&this._promises[`supportedFeatures_${e}`]instanceof Promise?this._promises[`supportedFeatures_${e}`]:this.connected?(this._promises[`supportedFeatures_${e}`]=new Promise((i,r)=>{this._socket.emit("checkFeatureSupported",e,(o,n)=>o?r(new Error(o)):i(n))}),this._promises[`supportedFeatures_${e}`]):Promise.reject(new Error(b))}async readBaseSettings(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):await this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS")?this.connected?new Promise((i,r)=>{let o=setTimeout(()=>{o&&(o=null,r(new Error("readBaseSettings timeout")))},this.props.cmdTimeout);e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),this._socket.emit("sendToHost",e,"readBaseSettings",null,n=>{o&&(clearTimeout(o),o=null,n===yt?r(new Error('May not read "BaseSettings"')):!n||typeof n!="object"?r(new Error('Cannot read "BaseSettings"')):i(n))})}):Promise.reject(new Error(b)):Promise.reject(new Error("Not supported"))}writeBaseSettings(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS").then(i=>i?this.connected?new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("writeBaseSettings timeout")))},this.props.cmdTimeout);this._socket.emit("sendToHost",e,"writeBaseSettings",t,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not write "BaseSettings"')):a?r(a):o(new Error('Cannot write "BaseSettings"')))})}):Promise.reject(new Error(b)):Promise.reject(new Error("Not supported")))}restartController(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,i)=>{this._socket.emit("sendToHost",e,"restartController",null,r=>{r?i(new Error(r)):t(!0)})})}getDiagData(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise(i=>{this._socket.emit("sendToHost",e,"getDiagData",t,r=>i(r))})}getForeignStates(e){return this.connected?J.isWeb()?new Promise((t,i)=>{this._socket.emit("getStates",e||"*",(r,o)=>r?i(new Error(r)):t(o))}):new Promise((t,i)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}getForeignObjects(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((i,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,n)=>o?r(new Error(o)):i(n))}):Promise.reject(new Error(b))}getSystemConfig(e){return!e&&this._promises.systemConfig instanceof Promise?this._promises.systemConfig:this.connected?(this._promises.systemConfig=this.getObject("system.config").then(t=>{const i=t||{};return i.common||={},i.native||={},i}),this._promises.systemConfig):Promise.reject(new Error(b))}setSystemConfig(e){return this.setObject("system.config",e).then(()=>this._promises.systemConfig=Promise.resolve(e))}getRawSocket(){return this._socket}getHistory(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("getHistory",e,t,(o,n)=>o?r(new Error(o)):i(n))}):Promise.reject(new Error(b))}getHistoryEx(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("getHistory",e,t,(o,n,a,c)=>o?r(new Error(o)):i({values:n,sessionId:c,step:a}))}):Promise.reject(new Error(b))}changePassword(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((i,r)=>{this._socket.emit("changePassword",e,t,o=>o?r(new Error(o)):i())})}getIpAddresses(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e=`system.host.${e}`),!t&&this._promises[`IPs_${e}`]instanceof Promise?this._promises[`IPs_${e}`]:(this._promises[`IPs_${e}`]=this.getObject(e).then(i=>i!=null&&i.common?i.common.address||[]:[]),this._promises[`IPs_${e}`]))}getHostByIp(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),!t&&this._promises[`rIPs_${e}`]instanceof Promise?this._promises[`rIPs_${e}`]:(this._promises[`rIPs_${e}`]=new Promise(i=>{this._socket.emit("getHostByIp",e,(r,o)=>{var c,l;const n=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],a=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((l=(c=o==null?void 0:o.native)==null?void 0:c.hardware)!=null&&l.networkInterfaces){for(const N in o.native.hardware.networkInterfaces)if(Object.prototype.hasOwnProperty.call(o.native.hardware.networkInterfaces,N))for(let u=0;u{this._socket.emit("encrypt",e,(r,o)=>r?i(new Error(r)):t(o))})}decrypt(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,i)=>{this._socket.emit("decrypt",e,(r,o)=>r?i(new Error(r)):t(o))})}getVersion(e){return!e&&this._promises.version instanceof Promise?this._promises.version:(this._promises.version=new Promise((t,i)=>{this._socket.emit("getVersion",(r,o,n)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?i(new Error(r)):t({version:o,serverName:n})})}),this._promises.version)}getWebServerName(){return this._promises.webName instanceof Promise?this._promises.webName:(this._promises.webName=new Promise((e,t)=>{this._socket.emit("getAdapterName",(i,r)=>i?t(new Error(i)):e(r))}),this._promises.webName)}getAdminVersion(){return console.log("Deprecated: use getVersion"),this.getVersion()}chmodFile(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chmodFile",e,t,i,(n,a,c)=>n?o(new Error(n)):r({entries:a,id:c}))}):Promise.reject(new Error(b))}chownFile(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chownFile",e,t,i,(n,a,c)=>n?o(new Error(n)):r({entries:a,id:c}))}):Promise.reject(new Error(b))}fileExists(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("fileExists",e,t,(o,n)=>o?r(new Error(o)):i(n))}):Promise.reject(new Error(b))}getNotifications(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(i=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},r=>i(r))}):Promise.reject(new Error(b))}clearNotifications(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(i=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},r=>i(r))}):Promise.reject(new Error(b))}getIsEasyModeStrict(){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getIsEasyModeStrict",(i,r)=>i?t(new Error(i)):e(r))}):Promise.reject(new Error(b))}getEasyMode(){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getEasyMode",(i,r)=>i?t(new Error(i)):e(r))}):Promise.reject(new Error(b))}getCurrentUser(){return this.connected?new Promise(e=>{this._socket.emit("authEnabled",(t,i)=>e(i))}):Promise.reject(new Error(b))}getCurrentSession(e){return this.connected?new Promise((t,i)=>{const r=new AbortController;let o=setTimeout(()=>{o&&(o=null,r.abort(),i(new Error("getCurrentSession timeout")))},e||5e3);fetch("./session",{signal:r.signal}).then(n=>n.json()).then(n=>{o&&(clearTimeout(o),o=null,t(n))}).catch(n=>i(new Error(`getCurrentSession: ${n}`)))}):Promise.reject(new Error(b))}getRatings(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,i)=>{this._socket.emit("getRatings",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}getCurrentInstance(){return this.connected?this._promises.currentInstance instanceof Promise?this._promises.currentInstance:(this._promises.currentInstance=new Promise((e,t)=>{this._socket.emit("getCurrentInstance",(i,r)=>i?t(new Error(i)):e(r))}),this._promises.currentInstance):Promise.reject(new Error(b))}getCompactAdapters(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactAdapters instanceof Promise?this._promises.compactAdapters:this.connected?(this._promises.compactAdapters=new Promise((t,i)=>{this._socket.emit("getCompactAdapters",(r,o)=>r?i(new Error(r)):t(o))}),this._promises.compactAdapters):Promise.reject(new Error(b))}getAdaptersResetCache(e){e||="",delete this._promises.compactAdapters,delete this._promises[`adapter_${e}`]}getCompactInstances(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactInstances instanceof Promise?this._promises.compactInstances:this.connected?(this._promises.compactInstances=new Promise((t,i)=>{this._socket.emit("getCompactInstances",(r,o)=>r?i(new Error(r)):t(o))}),this._promises.compactInstances):Promise.reject(new Error(b))}getAdapternInstancesResetCache(e){e||="",delete this._promises.compactInstances,delete this._promises[`instances_${e}`]}getCompactInstalled(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installedCompact||={},!t&&this._promises.installedCompact[e]instanceof Promise?this._promises.installedCompact[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installedCompact[e]=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("getCompactInstalled timeout")))},i||this.props.cmdTimeout);this._socket.emit("getCompactInstalled",e,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getCompactInstalled"')):!a||typeof a!="object"?o(new Error('Cannot read "getCompactInstalled"')):r(a))})}),this._promises.installedCompact[e]):Promise.reject(new Error(b)))}getCompactSystemRepositories(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.getCompactSystemRepositories instanceof Promise?this._promises.getCompactSystemRepositories:this.connected?(this._promises.getCompactSystemRepositories=new Promise((i,r)=>{let o=setTimeout(()=>{o&&(o=null,r(new Error("getCompactSystemRepositories timeout")))},t||this.props.cmdTimeout);this._socket.emit("getCompactSystemRepositories",n=>{o&&(clearTimeout(o),o=null,n===yt?r(new Error('May not read "getCompactSystemRepositories"')):!n||typeof n!="object"?r(new Error('Cannot read "getCompactSystemRepositories"')):i(n))})}),this._promises.getCompactSystemRepositories):Promise.reject(new Error(b))}getCompactSystemConfig(e){return!e&&this._promises.systemConfigPromise instanceof Promise?this._promises.systemConfigPromise:this.connected?(this._promises.systemConfigPromise=new Promise((t,i)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>r?i(new Error(r)):t(o))}),this._promises.systemConfigPromise):Promise.reject(new Error(b))}getCompactRepository(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!t&&this._promises.repoCompact instanceof Promise?this._promises.repoCompact:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repoCompact=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("getCompactRepository timeout")))},i||this.props.cmdTimeout);this._socket.emit("getCompactRepository",e,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getCompactRepository"')):a?r(a):o(new Error('Cannot read "getCompactRepository"')))})}),this._promises.repoCompact):Promise.reject(new Error(b))}getInstalledResetCache(){delete this._promises.repoCompact,delete this._promises.repo}getCompactHosts(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hostsCompact instanceof Promise?this._promises.hostsCompact:this.connected?(this._promises.hostsCompact=new Promise((t,i)=>{this._socket.emit("getCompactHosts",(r,o)=>r?i(new Error(r)):t(o))}),this._promises.hostsCompact):Promise.reject(new Error(b))}getUuid(){return this._promises.uuid instanceof Promise?this._promises.uuid:this.connected?(this._promises.uuid=this.getObject("system.meta.uuid").then(e=>{var t;return(t=e==null?void 0:e.native)==null?void 0:t.uuid}),this._promises.uuid):Promise.reject(new Error(b))}subscribeOnInstance(e,t,i,r){return this.connected?new Promise((o,n)=>{this._socket.emit("clientSubscribe",e,t,i,(a,c)=>{a?n(new Error(a)):c!=null&&c.error?n(new Error(c.error)):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]||=[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(c))})}):Promise.reject(new Error(b))}unsubscribeFromInstance(e,t,i){var n;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const a=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(a!=null&&a!==-1){r=!0;const c=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===c)||o.push(new Promise((N,u)=>{this._socket.emit("clientUnsubscribe",e,t,(L,g)=>{L?u(new Error(L)):N(g)})}))}}while(r&&(!i||!t));return o.length?Promise.all(o).then(a=>a.find(c=>c)||!1):Promise.resolve(!1)}log(e,t){e&&this._socket.emit("log",e,t||"debug")}logout(){return this.connected?new Promise((e,t)=>{this._socket.emit("logout",i=>i?t(new Error(i)):e())}):Promise.reject(new Error(b))}setStateToIgnore(e){this.ignoreState=e||""}}function g5e(s){var e;return s.type==="object"?`iobobject://${s.address}/${s.path||""}`:s.type==="state"?`iobstate://${s.address}`:s.type==="file"?`iobfile://${s.address}/${s.path||""}`:s.type==="http"?s.address:(e=s.path)!=null&&e.includes("/")?`iobfile://${s.address}/${s.path}`:s.path?`iobobject://${s.address}/${s.path}`:`iobstate://${s.address}`}function k3e(s){const e={type:"object",address:""};if(s.startsWith("iobobject://")){e.type="object",s=s.replace("iobobject://","");const t=s.split("/");e.address=t[0],e.path=t[1]}else if(s.startsWith("iobstate://")){e.type="state",s=s.replace("iobstate://","");const t=s.split("/");e.address=t[0],e.path=t[1]}else if(s.startsWith("iobfile://")){e.type="file",s=s.replace("iobfile://","");const t=s.split("/");e.address=t.shift(),e.path=t.join("/")}else if(s.startsWith("http://")||s.startsWith("https://"))e.type="http",e.address=s;else if(s.startsWith("data:"))e.type="base64",e.address=s;else{const t=s.split("/");if(t.length===2)if(e.address=t[0],e.path=t[1],e.path.includes("."))e.type="object";else if(e.path)if(e.path==="val"||e.path==="q"||e.path==="ack"||e.path==="ts"||e.path==="lc"||e.path==="from"||e.path==="user"||e.path==="expire"||e.path==="c")e.type="state";else if(e.path==="common"||e.path==="native"||e.path==="from"||e.path==="acl"||e.path==="type")e.type="object";else throw new Error(`Unknown path: ${e.path}`);else e.type="state";else t.length===1?(e.address=t[0],e.type="state"):(e.address=t.shift(),e.type="file",e.path=t.join("/"))}return e}function cL(s,e,t){if(t=t||0,s==null||!e)return s;if(e.length-1===t)return s[e[t]];if(typeof s=="object")return cL(s[e[t]],e,t+1)}function Y3e(s,e,t,i){if(i=i||0,s==null||!e)return t;if(e.length-1===i)return s[e[i]]=t,s;if(typeof s=="object")return Y3e(s[e[i]],e,t,i+1)}async function j5e(s,e){var t;if(typeof s=="string"&&(s=k3e(s)),s.type==="object"){const i=await e.getObject(s.address);return cL(i,(t=s.path)==null?void 0:t.split("."))}if(s.type==="state"){const i=await e.getState(s.address);return s.path?i==null?void 0:i[s.path]:i}if(s.type==="file")return await e.readFile(s.address,s.path,!0);if(s.type==="http")return fetch(s.address).then(i=>i.text()).then(i=>{if(i.startsWith("{")&&i.endsWith("}")||i.startsWith("[")&&i.endsWith("]"))try{return JSON.parse(i)}catch{}return i});throw new Error(`Unknown type: ${s.type}`)}const Mn=s=>{const e={};return s.forEach(t=>{e[t]={requiredVersion:"*",singleton:!0}}),e};function y5e(s){const e=["@emotion/react","@emotion/styled","@iobroker/adapter-react-v5","@iobroker/json-config","@iobroker/dm-gui-components","@mui/icons-material","@mui/material","@mui/x-date-pickers","date-fns","date-fns/locale","leaflet","leaflet-geosearch","react","react-ace","react-dom","react-dropzone","semver"];return Array.isArray(s)?Mn(e.filter(t=>s.includes(t))):s&&(s.dependencies||s.devDependencies)?Mn(e.filter(t=>{var i,r;return((i=s.dependencies)==null?void 0:i[t])||((r=s.devDependencies)==null?void 0:r[t])})):Mn(e)}export{B3e as AdminConnection,Ii as ColorPicker,kt as ComplexCron,c5e as ComplexCronDialog,i0 as Confirm,ze as Connection,u5e as Cron,J3e as CustomModal,v_e as DeviceTypeIcon,H3e as DeviceTypeSelector,c5e as DialogComplexCron,i0 as DialogConfirm,u5e as DialogCron,r0 as DialogError,l5e as DialogMessage,N5e as DialogSelectFile,xSe as DialogSelectID,L5e as DialogSimpleCron,FEe as DialogTextInput,Ie as ERRORS,we as EXTENSIONS,r0 as Error,Tfe as FileBrowser,DM as FileBrowserClass,yfe as FileViewer,jfe as FileViewerClass,Gt as GenericApp,h as I18n,Pl as ITEM_IMAGES,me as Icon,K_e as IconAdapter,Lfe as IconAlias,o5e as IconButtonImage,O4 as IconChannel,sSe as IconClearFilter,Ws as IconClosed,Ts as IconCopy,E4 as IconDevice,q_e as IconDocument,eSe as IconDocumentReadOnly,$n as IconExpert,n5e as IconFx,tSe as IconInstance,a5e as IconLogout,dM as IconNoIcon,fr as IconOpen,G3e as IconPicker,Vxe as IconSelector,Ai as IconState,M5e as IconVacuum,xr as Image,Z3e as InfoBox,J as LegacyConnection,ND as Loader,r5e as LoaderMV,i5e as LoaderPT,s5e as LoaderVendor,A4 as Logo,m4 as MDUtils,l5e as Message,gSe as ObjectBrowser,it as ObjectBrowserClass,W3e as PERMISSION_ERROR,rt as PROGRESS,Oi as Router,V3e as STATES_NAME_ICONS,dD as SaveCloseButtons,De as Schedule,N5e as SelectFile,xSe as SelectID,X3e as SelectWithIcon,$i as SimpleCron,L5e as SimpleCronDialog,iSe as TabContainer,rSe as TabContent,oSe as TabHeader,K3e as TableResize,FEe as TextInput,q3e as TextWithIcon,bg as Theme,e5e as ToggleThemeMenu,Kn as TreeTable,t5e as UploadImage,O as Utils,h4 as convertCronToText,s0 as copy,ML as cron2state,w4e as dictionary,p4 as extendDeviceTypeTranslation,cL as getAttrInObject,F3e as getSelectIdIcon,Zr as getSelectIdIconFromObjects,R3e as getSystemIcon,k3e as iobUriParse,j5e as iobUriRead,g5e as iobUriToString,y5e as moduleFederationShared,lN as pattern2RegEx,uD as printPrompt,Y3e as setAttrInObject,Io as withWidth}; + v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z`}))}function u5e(s){return M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>s.onClick&&s.onClick(e),viewBox:"0 0 339 339",width:s.width||(s.fontSize==="small"?16:20),height:s.height||s.width||(s.fontSize==="small"?16:20),className:s.className,style:s.style},M.createElement("path",{fill:"currentColor",d:"M 318.371 88.485 C 332.371 114.538 339.207 142.418 338.881 172.125 C 338.874 172.605 338.631 172.845 338.151 172.845 L 335.411 172.845 C 335.077 172.845 334.911 173.012 334.911 173.345 L 334.911 181.215 C 334.911 181.635 335.121 181.845 335.541 181.845 L 337.711 181.845 C 338.157 181.845 338.364 182.068 338.331 182.515 C 331.921 264.525 267.321 330.135 185.931 337.995 C 89.911 347.265 6.491 275.385 0.301 179.465 C 0.274 179.052 0.467 178.845 0.881 178.845 L 2.381 178.845 C 2.741 178.845 2.921 178.665 2.921 178.305 L 2.911 171.465 C 2.904 171.052 2.694 170.845 2.281 170.845 L 0.441 170.845 C 0.147 170.845 0.001 170.698 0.001 170.405 C -0.289 83.535 64.591 10.095 151.421 0.955 C 211.511 -5.375 269.171 20.055 305.341 68.135 C 305.538 68.391 305.938 68.338 306.062 68.039 C 306.065 68.031 306.068 68.023 306.071 68.015 L 311.541 51.395 C 311.63 51.125 311.924 50.977 312.201 51.065 L 316.881 52.625 C 317.274 52.758 317.407 53.022 317.281 53.415 L 310.271 74.305 C 310.157 74.645 310.197 74.968 310.391 75.275 L 314.011 80.905 C 314.204 81.205 314.481 81.378 314.841 81.425 L 336.771 84.365 C 337.124 84.412 337.277 84.612 337.231 84.965 L 336.601 89.775 C 336.547 90.182 336.321 90.358 335.921 90.305 L 318.721 87.975 C 318.267 87.915 318.151 88.085 318.371 88.485 Z M 200.701 172.615 C 170.541 200.245 121.671 181.975 117.251 140.865 C 117.211 140.518 117.017 140.345 116.671 140.345 L 8.941 140.345 C 8.68 140.346 8.46 140.532 8.421 140.785 C -10.469 249.095 80.901 345.385 189.421 331.625 C 265.701 321.955 325.741 260.435 332.311 183.415 C 343.611 50.895 200.811 -38.365 85.961 28.845 C 47.041 51.625 20.601 89.335 9.791 133.265 C 9.611 133.985 9.891 134.345 10.631 134.345 L 116.371 134.345 C 116.664 134.345 116.824 134.202 116.851 133.915 C 118.397 116.288 126.001 103.005 139.661 94.065 C 172.821 72.345 214.571 95.715 216.891 133.845 C 216.911 134.178 217.087 134.345 217.421 134.345 L 330.342 134.345 C 330.842 134.345 331.092 134.595 331.092 135.095 L 331.092 139.595 C 331.092 140.095 330.842 140.345 330.342 140.345 L 217.161 140.345 C 216.827 140.345 216.641 140.512 216.601 140.845 C 215.141 153.652 209.841 164.242 200.701 172.615 Z M 210.861 135.845 C 210.861 111.572 191.183 91.895 166.911 91.895 C 142.638 91.895 122.961 111.572 122.961 135.845 C 122.961 160.118 142.638 179.795 166.911 179.795 C 191.183 179.795 210.861 160.118 210.861 135.845 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),M.createElement("path",{fill:"currentColor",d:"M 222.771 42.215 C 224.237 43.708 223.741 45.092 221.281 46.365 C 220.5 46.768 219.574 46.779 218.781 46.395 C 183.761 29.182 149.014 29.638 114.541 47.765 C 113.252 48.444 111.662 47.8 111.211 46.415 C 110.891 45.435 110.867 44.465 111.141 43.505 C 111.234 43.158 111.437 42.898 111.751 42.725 C 145.631 23.545 186.631 23.045 221.051 41.045 C 221.831 41.452 222.404 41.842 222.771 42.215 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),M.createElement("text",{style:{whiteSpace:"pre",fontFamily:"Arial, sans-serif",fontSize:16},x:"139.395",y:"288.084",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"},"vacuum"))}const x3e={dialogPaper:{height:"calc(100% - 96px)"}};class l5e extends M.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:t}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){const t=kt.cron2state(this.state.cron);if(t.seconds==="*"||t.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(t.minutes==="*"||t.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?M.createElement(i0,{title:h.t("ra_Please confirm"),text:h.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:e=>this.setState({showWarning:""},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return M.createElement(j.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":x3e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),M.createElement(j.DialogTitle,{id:"cron-dialog-title"},this.props.title||h.t("ra_Define schedule...")),M.createElement(j.DialogContent,{style:{height:"100%",overflow:"hidden"}},M.createElement(kt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:h.getLanguage()})),M.createElement(j.DialogActions,null,!!this.props.clearButton&&M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:M.createElement(nt,null)},this.props.clear||h.t("ra_Clear")),M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:M.createElement(Oe,null)},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}const _3e={dialogPaper:{height:"calc(100% - 96px)"}};class N5e extends M.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof t=="object"||t[0]==="{")&&!this.props.noWizard?"wizard":ML(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return M.createElement(j.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":_3e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},M.createElement(j.DialogTitle,{id:"cron-dialog-title"},this.props.title||h.t("ra_Define schedule...")),M.createElement(j.DialogContent,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?M.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&M.createElement(M.Fragment,null,M.createElement(j.Radio,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),M.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},h.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&M.createElement(M.Fragment,null,M.createElement(j.Radio,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),M.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},h.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&M.createElement(M.Fragment,null,M.createElement(j.Radio,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),M.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},h.t("sc_cron")))):null,this.state.mode==="simple"&&M.createElement($i,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:h.getLanguage()}),this.state.mode==="wizard"&&M.createElement(De,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&M.createElement(kt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:h.getLanguage()})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:M.createElement(Oe,null)},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}class L5e extends f.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return M.createElement(j.Dialog,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"ar_dialog_message_title","aria-describedby":"ar_dialog_message_description"},M.createElement(j.DialogTitle,{id:"ar_dialog_message_title"},this.props.title||h.t("ra_Message")),M.createElement(j.DialogContent,null,M.createElement(j.DialogContentText,{id:"ar_dialog_message_description"},M.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),M.createElement(j.DialogActions,null,M.createElement(j.Button,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:M.createElement(Ne,null)},this.props.ok||h.t("ra_Close"))))}}const Ft={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"}};class g5e extends M.Component{dialogName;filters;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let i=this.props.selected||[];typeof i!="object"?i=[i]:i=[...i],i=i.filter(r=>r),this.state={selected:i}}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 e;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?e=[M.createElement("span",{key:"selected"},h.t("ra_Selected")," "),M.createElement("span",{key:"id",style:Ft.headerID},this.state.selected)]:e=[M.createElement("span",{key:"selected"},h.t("ra_Selected")," "),M.createElement("span",{key:"id",style:Ft.headerID},h.t("%s items",this.state.selected.length))]:e=this.props.title||h.t("ra_Please select file..."),M.createElement(j.Dialog,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{...Ft.dialog,...Ft.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},M.createElement(j.DialogTitle,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":Ft.titleRoot}},e),M.createElement(j.DialogContent,{style:{...Ft.content,...Ft.contentMobile}},M.createElement(Tfe,{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:(t,i,r)=>{this.setState({selected:Array.isArray(t)?t:[t]},()=>i&&(!this.props.selectOnlyFolders||r)&&this.handleOk())},t:this.props.t||h.t,lang:this.props.lang||h.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})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleOk(),startIcon:M.createElement(Oe,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}const S3e={dialogPaper:{height:"calc(100% - 96px)"}};class j5e extends M.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return M.createElement(j.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":S3e.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},M.createElement(j.DialogTitle,{id:"cron-dialog-title"},this.props.title||h.t("ra_Define CRON...")),M.createElement(j.DialogContent,{style:{height:"100%",overflow:"hidden"}},M.createElement($i,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:h.getLanguage()})),M.createElement(j.DialogActions,null,M.createElement(j.Button,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:M.createElement(Oe,null)},this.props.ok||h.t("ra_Ok")),M.createElement(j.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:M.createElement(Pi,null)},this.props.cancel||h.t("ra_Cancel"))))}}const jt={CONNECTING:0,CONNECTED:1,OBJECTS_LOADED:2,STATES_LOADED:3,READY:4},yt="permissionError",b="notConnectedError";function lN(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}class J{_socket;_authTimer;systemLang="en";_waitForFirstConnection;_waitForFirstConnectionResolve=null;_promises={};_instanceSubscriptions;props;doNotLoadAllObjects;doNotLoadACL;states={};objects=null;scriptLoadCounter;acl=null;firstConnect=!0;waitForRestart=!1;connected=!1;statesSubscribes={};objectsSubscribes={};filesSubscribes={};onConnectionHandlers=[];onLogHandlers=[];onProgress;onError;loaded=!1;loadTimer=null;loadCounter=0;ignoreState="";simStates={};autoSubscribes;autoSubscribeLog;subscribed;isSecure;onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;systemConfig=null;constructor(e){e||={protocol:window.location.protocol,host:window.location.hostname},this.props=e,this.autoSubscribes=this.props.autoSubscribes||[],this.autoSubscribeLog=this.props.autoSubscribeLog||!1,this.props.protocol||=window.location.protocol,this.props.host||=window.location.hostname,this.props.port||=window.location.port==="3000"?J.isWeb()?8082:8081:window.location.port,this.props.ioTimeout=Math.max(this.props.ioTimeout||2e4,2e4),this.props.cmdTimeout=Math.max(this.props.cmdTimeout||5e3,5e3),this._instanceSubscriptions={},this.doNotLoadAllObjects=this.props.doNotLoadAllObjects===void 0?!0:this.props.doNotLoadAllObjects,this.doNotLoadACL=this.props.doNotLoadACL===void 0?!0:this.props.doNotLoadACL,this.states={},this._waitForFirstConnection=new Promise(t=>{this._waitForFirstConnectionResolve=t}),this.onProgress=this.props.onProgress||(()=>{}),this.onError=this.props.onError||(t=>console.error(t)),this.startSocket()}static isWeb(){const e=window.adapterName;return e==="material"||e==="vis"||(e==null?void 0:e.startsWith("vis-"))||e==="echarts-show"||window.socketUrl!==void 0}startSocket(){if(typeof window.io>"u"&&typeof window.iob>"u"){if(typeof window.registerSocketOnLoad!="function"){if(this.scriptLoadCounter||=0,this.scriptLoadCounter++,this.scriptLoadCounter<30){setTimeout(()=>this.startSocket(),100);return}window.alert("Cannot load socket.io.js!")}else window.registerSocketOnLoad(()=>this.startSocket());return}if(this._socket)return;let e=this.props.host,t=this.props.port,i=this.props.protocol.replace(":",""),r=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")r="";else{if(window.socketUrl){const a=new URL(window.socketUrl);e=a.hostname,t=a.port,i=a.protocol.replace(":","")}const n=r.lastIndexOf("/");if(n!==-1&&(r=r.substring(0,n+1)),J.isWeb()){const a=r.split("/");a.length>2&&(a.pop(),a[a.length-1].match(/\d+\.\d+\.\d+/)&&a.pop(),a.pop(),r=a.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${i}://${e}:${t}${r}`:`${i}://${e}${r}`;this._socket=(window.io||window.iob).connect(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid}),this._socket.on("connect",n=>{n!==!0?setTimeout(()=>this.getVersion().then(a=>{const[c,l,N]=a.version.split(".");parseInt(c,10)*1e4+parseInt(l,10)*100+parseInt(N,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(L,g)=>this.onPreConnect(L,g))}),500):this._socket.emit("authenticate",(a,c)=>this.onPreConnect(a,c))}),this._socket.on("reconnect",()=>{this.onProgress(jt.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(n=>n(!0)))}),this._socket.on("disconnect",()=>{this.connected=!1,this.subscribed=!1,this.onProgress(jt.CONNECTING),this.onConnectionHandlers.forEach(n=>n(!1))}),this._socket.on("reauthenticate",()=>J.authenticate()),this._socket.on("log",n=>{var a,c;(c=(a=this.props).onLog)==null||c.call(a,n),this.onLogHandlers.forEach(l=>l(n))}),this._socket.on("error",n=>{let a=n||"";typeof a.toString!="function"&&(a=JSON.stringify(a),console.error(`Received strange error: ${a}`)),a=a.toString(),a.includes("User not authorized")?J.authenticate():window.alert(`Socket Error: ${n}`)}),this._socket.on("connect_error",n=>console.error(`Connect error: ${n}`)),this._socket.on("permissionError",n=>this.onError({message:"no permission",operation:n.operation,type:n.type,id:n.id||""})),this._socket.on("objectChange",(n,a)=>setTimeout(()=>this.objectChange(n,a),0)),this._socket.on("stateChange",(n,a)=>setTimeout(()=>this.stateChange(n,a),0)),this._socket.on("im",(n,a,c)=>setTimeout(()=>this.instanceMessage(n,a,c),0)),this._socket.on("fileChange",(n,a,c)=>setTimeout(()=>this.fileChange(n,a,c),0)),this._socket.on("cmdStdout",(n,a)=>{var c;return(c=this.onCmdStdoutHandler)==null?void 0:c.call(this,n,a)}),this._socket.on("cmdStderr",(n,a)=>{var c;return(c=this.onCmdStderrHandler)==null?void 0:c.call(this,n,a)}),this._socket.on("cmdExit",(n,a)=>{var c;return(c=this.onCmdExitHandler)==null?void 0:c.call(this,n,a)})}onPreConnect(e,t){this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?(this.loadTimer=setTimeout(()=>{this.loadTimer=null,this.loadCounter++,this.loadCounter<10&&this.onConnect().catch(i=>this.onError(i))},1e3),this.loaded||this.onConnect().catch(i=>this.onError(i))):this.onProgress(jt.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(i=>i(!0))),this._waitForFirstConnectionResolve&&(this._waitForFirstConnectionResolve(),this._waitForFirstConnectionResolve=null)}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!1:window.socketUrl.includes("iobroker.in")||window.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnection}async _getUserPermissions(){return this.doNotLoadACL?null:new Promise((e,t)=>{this._socket.emit("getUserPermissions",(i,r)=>i?t(new Error(i)):e(r))})}async onConnect(){var i,r,o,n,a;let e;try{e=await this._getUserPermissions()}catch(c){const l=c;this.onError(`Cannot read user permissions: ${l.message}`);return}if(!this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(jt.CONNECTED),this.firstConnect=!1,this.acl=e}let t;try{if(t=await this.getSystemConfig(),this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(jt.CONNECTED),this.firstConnect=!1}this.systemConfig=t,(i=this.systemConfig)!=null&&i.common?this.systemLang=this.systemConfig.common.language:(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.substr(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en")),(o=(r=this.props).onLanguage)==null||o.call(r,this.systemLang),this.doNotLoadAllObjects?(this.objects={"system.config":t},this.onProgress(jt.READY),(a=(n=this.props).onReady)==null||a.call(n,this.objects)):(await this.getObjects(),this.onProgress(jt.READY),this.props.onReady&&this.objects&&this.props.onReady(this.objects))}catch(c){this.onError(`Cannot read system config: ${c}`)}}static 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(e,t,i){typeof t=="function"&&(i=t,t=!1);let r;if(Array.isArray(e)?r=e:r=[e],!i)return console.error("No callback found for subscribeState"),Promise.reject(new Error("No callback found for subscribeState"));const o=[];for(let n=0;n{this._socket.emit(J.isWeb()?"getStates":"getForeignStates",r,(c,l)=>{c?(console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(c)}`),a(new Error(c))):(l&&Object.keys(l).forEach(N=>i(N,l[N])),n())})})}subscribeStateAsync(e,t){let i;Array.isArray(e)?i=e:i=[e];const r=[];for(let o=0;o{typeof t=="function"&&this.connected?this._socket.emit(J.isWeb()?"getStates":"getForeignStates",e,(a,c)=>{a&&console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`),c&&Object.keys(c).forEach(l=>t(l,c[l])),c?o():n(new Error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`))}):this.connected?n(new Error("callback is not a function")):n(new Error("not connected"))})}unsubscribeState(e,t){let i;Array.isArray(e)?i=e:i=[e];const r=[];for(let o=0;o{(o===e||this.objectsSubscribes[o].reg.test(e))&&this.objectsSubscribes[o].cbs.forEach(n=>{try{n(e,t,i)}catch(a){console.error(`Error by callback of objectChange: ${a}`)}})}),r&&this.props.onObjectChange&&this.props.onObjectChange(e,t)}stateChange(e,t){for(const i in this.statesSubscribes)Object.prototype.hasOwnProperty.call(this.statesSubscribes,i)&&this.statesSubscribes[i].reg.test(e)&&this.statesSubscribes[i].cbs.forEach(r=>{try{r(e,t)}catch(o){const n=o;console.error(`Error by callback of stateChange: ${n==null?void 0:n.message}`)}})}instanceMessage(e,t,i){this._instanceSubscriptions[t]&&this._instanceSubscriptions[t].forEach(r=>{r.messageType===e&&r.callback(i,t,e)})}getStates(e,t){return this.connected?(typeof e=="boolean"&&(t=e,e=void 0),new Promise((i,r)=>{this._socket.emit("getStates",e,(o,n)=>{this.states=n,!t&&this.onProgress(jt.STATES_LOADED),o?r(new Error(o)):i(this.states)})})):Promise.reject(new Error(b))}getState(e){return this.connected?e&&e===this.ignoreState?Promise.resolve(this.simStates[e]||{val:null,ack:!0}):new Promise((t,i)=>{this._socket.emit("getState",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}getBinaryState(e){return this.connected?new Promise((t,i)=>{this._socket.emit("getBinaryState",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}setBinaryState(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("setBinaryState",e,t,o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}setState(e,t,i){if(!this.connected)return Promise.reject(new Error(b));if(e&&e===this.ignoreState){let r;if(typeof i=="boolean"||typeof t=="object"&&t.val!==void 0?r=t:r={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=r,this.statesSubscribes[e])for(const o of this.statesSubscribes[e].cbs)try{o(e,r)}catch(n){console.error(`Error by callback of stateChanged: ${n}`)}return Promise.resolve()}return new Promise((r,o)=>{this._socket.emit("setState",e,t,n=>n?o(new Error(n)):r())})}getObjects(e,t){return this.connected?new Promise((i,r)=>{!e&&this.objects?i(this.objects):this._socket.emit(J.isWeb()?"getObjects":"getAllObjects",(o,n)=>{this.objects=n,t&&this.onProgress(jt.OBJECTS_LOADED),o?r(new Error(o)):i(this.objects)})}):Promise.reject(new Error(b))}getObjectsById(e){return this.connected?new Promise((t,i)=>{this._socket.emit("getObjects",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}_subscribe(e){if(e&&!this.subscribed){this.subscribed=!0,this.autoSubscribes.forEach(i=>this._socket.emit("subscribeObjects",i)),Object.keys(this.objectsSubscribes).forEach(i=>this._socket.emit("subscribeObjects",i)),this.autoSubscribeLog&&this._socket.emit("requireLog",!0);const t=Object.keys(this.statesSubscribes);t.forEach(i=>this._socket.emit("subscribe",i)),t.length&&this._socket.emit(J.isWeb()?"getStates":"getForeignStates",t,(i,r)=>{i&&console.error(`Cannot getForeignStates: ${JSON.stringify(i)}`),r&&Object.keys(r).forEach(o=>this.stateChange(o,r[o]))})}else!e&&this.subscribed&&(this.subscribed=!1,this.autoSubscribes.forEach(t=>this._socket.emit("unsubscribeObjects",t)),Object.keys(this.objectsSubscribes).forEach(t=>this._socket.emit("unsubscribeObjects",t)),this.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(t=>this._socket.emit("unsubscribe",t)))}requireLog(e){return this.connected?new Promise((t,i)=>{this._socket.emit("requireLog",e,r=>r?i(new Error(r)):t())}):Promise.reject(new Error(b))}delObject(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("delObject",e,{maintenance:!!t},o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}delObjects(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("delObjects",e,{maintenance:!!t},o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}setObject(e,t){return this.connected?t?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((i,r)=>{this._socket.emit("setObject",e,t,o=>o?r(new Error(o)):i())})):Promise.reject(new Error("Null object is not allowed")):Promise.reject(new Error(b))}getObject(e){return this.connected?e&&e===this.ignoreState?Promise.resolve({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed",read:!0,write:!0,role:"state"},native:{}}):new Promise((t,i)=>{this._socket.emit("getObject",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`instances_${e}`]instanceof Promise?this._promises[`instances_${e}`]:this.connected?(this._promises[`instances_${e}`]=new Promise((i,r)=>{this._socket.emit("getAdapterInstances",e,(o,n)=>o?r(new Error(o)):i(n))}),this._promises[`instances_${e}`]):Promise.reject(new Error(b))}getAdapters(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`adapter_${e}`]instanceof Promise?this._promises[`adapter_${e}`]:this.connected?(this._promises[`adapter_${e}`]=new Promise((i,r)=>{this._socket.emit("getAdapters",e,(o,n)=>{o?r(new Error(o)):i(n)})}),this._promises[`adapter_${e}`]):Promise.reject(new Error(b)))}_renameGroups(e,t){if(!(e!=null&&e.length))t==null||t(null);else{const i=e.pop();if(!i){setTimeout(()=>this._renameGroups(e,t),0);return}const r=i._id;i._id=i.newId,delete i.newId,this.setObject(i._id,i).then(()=>this.delObject(r)).then(()=>setTimeout(()=>this._renameGroups(e,t),0)).catch(o=>t==null?void 0:t(o))}}async renameGroup(e,t,i){if(J.isWeb())return Promise.reject(new Error("Allowed only in admin"));const r=await this.getGroups(!0);if(r.length){const o=r.filter(a=>a._id.startsWith(`${e}.`));o.forEach(a=>{a.newId=t+a._id.substring(e.length)}),await new Promise((a,c)=>{this._renameGroups(o,l=>l?c(new Error(l)):a(null))});const n=r.find(a=>a._id===e);if(n)return n._id=t,i!==void 0&&(n.common||={},n.common.name=i),this.setObject(n._id,n).then(()=>this.delObject(e))}return Promise.resolve()}sendTo(e,t,i){return this.connected?new Promise(r=>{this._socket.emit("sendTo",e,t,i,o=>r(o))}):Promise.reject(new Error(b))}extendObject(e,t){return this.connected?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((i,r)=>{this._socket.emit("extendObject",e,t,o=>o?r(new Error(o)):i())})):Promise.reject(new Error(b))}registerLogHandler(e){!this.onLogHandlers.includes(e)&&this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){!this.onConnectionHandlers.includes(e)&&this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return!t&&this._promises[`enums_${e||"all"}`]instanceof Promise?this._promises[`enums_${e||"all"}`]:this.connected?(this._promises[`enums_${e||"all"}`]=new Promise((i,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:`enum.${e?`${e}.`:""}香`},(o,n)=>{if(!o&&n){const a={};for(let c=0;c{this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(a,c)=>{if(a)n(new Error(a));else{const l={};if(c&&c.rows)for(let N=0;N{const i=[];return t&&t.native&&t.native.certificates&&Object.keys(t.native.certificates).forEach(r=>{const o=t.native.certificates[r];if(!o)return;const n={name:r,type:""};o.length<700&&(o.includes("/")||o.includes("\\"))?(r.toLowerCase().includes("private")||o.toLowerCase().includes("private")?n.type="private":(r.toLowerCase().includes("public")||o.toLowerCase().includes("public"))&&(n.type="public"),i.push(n)):(n.type=o.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||o.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",n.type==="public"&&o.split("-----END CERTIFICATE-----").filter(c=>c.replace(/\r\n|\r|\n/,"").trim()).length>1&&(n.type="chained"),i.push(n))}),i}),this._promises.cert):Promise.reject(new Error(b))}getLogs(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(i=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>i(r))}):Promise.reject(new Error(b))}getLogsFiles(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,i)=>{this._socket.emit("readLogs",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}delLogs(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,i)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>r?i(new Error(r)):t())}):Promise.reject(new Error(b))}readMetaItems(){return this.connected?new Promise((e,t)=>{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(i,r)=>i?t(new Error(i)):e(r.rows&&r.rows.map(o=>o.value)))}):Promise.reject(new Error(b))}readDir(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("readDir",e,t,(o,n)=>o?r(new Error(o)):i(n))}):Promise.reject(new Error(b))}readFile(e,t,i){return this.connected?new Promise((r,o)=>{i?this._socket.emit("readFile64",e,t,i,(n,a)=>n?o(new Error(n)):r(a)):this._socket.emit("readFile",e,t,(n,a,c)=>{n?o(new Error(n)):r({data:a,type:c})})}):Promise.reject(new Error(b))}writeFile64(e,t,i){return this.connected?new Promise((r,o)=>{if(typeof i=="string")this._socket.emit("writeFile",e,t,i,n=>n?o(new Error(n)):r());else{const n=btoa(new Uint8Array(i).reduce((a,c)=>a+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,a=>a?o(new Error(a)):r())}}):Promise.reject(new Error(b))}deleteFile(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("unlink",e,t,o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}deleteFolder(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("deleteFolder",e,t,o=>o?r(new Error(o)):i())}):Promise.reject(new Error(b))}getHosts(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hosts instanceof Promise?this._promises.hosts:this.connected?(this._promises.hosts=new Promise((t,i)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?i(new Error(r)):t(o.rows.map(n=>n.value))})}),this._promises.hosts):Promise.reject(new Error(b))}getUsers(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.users instanceof Promise?this._promises.users:this.connected?(this._promises.users=new Promise((t,i)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?i(new Error(r)):t(o.rows.map(n=>n.value))})}),this._promises.users):Promise.reject(new Error(b))}getGroups(e){return!e&&this._promises.groups instanceof Promise?this._promises.groups:this.connected?(this._promises.groups=new Promise((t,i)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?i(new Error(r)):t(o.rows.map(n=>n.value))})}),this._promises.groups):Promise.reject(new Error(b))}getHostInfo(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfo_${e}`]instanceof Promise?this._promises[`hostInfo_${e}`]:this.connected?(this._promises[`hostInfo_${e}`]=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("getHostInfo timeout")))},i||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getHostInfo"')):!a||typeof a!="object"?o(new Error('Cannot read "getHostInfo"')):r(a))})}),this._promises[`hostInfo_${e}`]):Promise.reject(new Error(b)))}getHostInfoShort(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfoShort_${e}`]instanceof Promise?this._promises[`hostInfoShort_${e}`]:this.connected?(this._promises[`hostInfoShort_${e}`]=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("hostInfoShort timeout")))},i||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getHostInfoShort"')):!a||typeof a!="object"?o(new Error('Cannot read "getHostInfoShort"')):r(a))})}),this._promises[`hostInfoShort_${e}`]):Promise.reject(new Error(b)))}getRepository(e,t,i,r){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!i&&this._promises.repo instanceof Promise?this._promises.repo:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repo=new Promise((o,n)=>{let a=setTimeout(()=>{a&&(a=null,n(new Error("getRepository timeout")))},r||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getRepository",t,c=>{a&&(clearTimeout(a),a=null,c===yt?n(new Error('May not read "getRepository"')):!c||typeof c!="object"?n(new Error('Cannot read "getRepository"')):o(c))})}),this._promises.repo):Promise.reject(new Error(b))}getInstalled(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installed=this._promises.installed||{},!t&&this._promises.installed[e]instanceof Promise?this._promises.installed[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installed[e]=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("getInstalled timeout")))},i||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getInstalled",null,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getInstalled"')):!a||typeof a!="object"?o(new Error('Cannot read "getInstalled"')):r(a))})}),this._promises.installed[e]):Promise.reject(new Error(b)))}rename(e,t,i){return this.connected?new Promise((r,o)=>{this._socket.emit("rename",e,t,i,n=>n?o(new Error(n)):r())}):Promise.reject(new Error(b))}renameFile(e,t,i){return this.connected?new Promise((r,o)=>{this._socket.emit("renameFile",e,t,i,n=>n?o(new Error(n)):r())}):Promise.reject(new Error(b))}cmdExec(e,t,i,r){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?(e.startsWith(e)||(e+=`system.host.${e}`),new Promise((o,n)=>{let a=r?setTimeout(()=>{a&&(a=null,n(new Error("cmdExec timeout")))},r):null;this._socket.emit("cmdExec",e,i,t,null,c=>{(!r||a)&&(a&&clearTimeout(a),a=null,c?n(new Error(c)):o())})})):Promise.reject(new Error(b))}checkFeatureSupported(e,t){return!t&&this._promises[`supportedFeatures_${e}`]instanceof Promise?this._promises[`supportedFeatures_${e}`]:this.connected?(this._promises[`supportedFeatures_${e}`]=new Promise((i,r)=>{this._socket.emit("checkFeatureSupported",e,(o,n)=>o?r(new Error(o)):i(n))}),this._promises[`supportedFeatures_${e}`]):Promise.reject(new Error(b))}async readBaseSettings(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):await this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS")?this.connected?new Promise((i,r)=>{let o=setTimeout(()=>{o&&(o=null,r(new Error("readBaseSettings timeout")))},this.props.cmdTimeout);e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),this._socket.emit("sendToHost",e,"readBaseSettings",null,n=>{o&&(clearTimeout(o),o=null,n===yt?r(new Error('May not read "BaseSettings"')):!n||typeof n!="object"?r(new Error('Cannot read "BaseSettings"')):i(n))})}):Promise.reject(new Error(b)):Promise.reject(new Error("Not supported"))}writeBaseSettings(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS").then(i=>i?this.connected?new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("writeBaseSettings timeout")))},this.props.cmdTimeout);this._socket.emit("sendToHost",e,"writeBaseSettings",t,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not write "BaseSettings"')):a?r(a):o(new Error('Cannot write "BaseSettings"')))})}):Promise.reject(new Error(b)):Promise.reject(new Error("Not supported")))}restartController(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,i)=>{this._socket.emit("sendToHost",e,"restartController",null,r=>{r?i(new Error(r)):t(!0)})})}getDiagData(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise(i=>{this._socket.emit("sendToHost",e,"getDiagData",t,r=>i(r))})}getForeignStates(e){return this.connected?J.isWeb()?new Promise((t,i)=>{this._socket.emit("getStates",e||"*",(r,o)=>r?i(new Error(r)):t(o))}):new Promise((t,i)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}getForeignObjects(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((i,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,n)=>o?r(new Error(o)):i(n))}):Promise.reject(new Error(b))}getSystemConfig(e){return!e&&this._promises.systemConfig instanceof Promise?this._promises.systemConfig:this.connected?(this._promises.systemConfig=this.getObject("system.config").then(t=>{const i=t||{};return i.common||={},i.native||={},i}),this._promises.systemConfig):Promise.reject(new Error(b))}setSystemConfig(e){return this.setObject("system.config",e).then(()=>this._promises.systemConfig=Promise.resolve(e))}getRawSocket(){return this._socket}getHistory(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("getHistory",e,t,(o,n)=>o?r(new Error(o)):i(n))}):Promise.reject(new Error(b))}getHistoryEx(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("getHistory",e,t,(o,n,a,c)=>o?r(new Error(o)):i({values:n,sessionId:c,step:a}))}):Promise.reject(new Error(b))}changePassword(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((i,r)=>{this._socket.emit("changePassword",e,t,o=>o?r(new Error(o)):i())})}getIpAddresses(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e=`system.host.${e}`),!t&&this._promises[`IPs_${e}`]instanceof Promise?this._promises[`IPs_${e}`]:(this._promises[`IPs_${e}`]=this.getObject(e).then(i=>i!=null&&i.common?i.common.address||[]:[]),this._promises[`IPs_${e}`]))}getHostByIp(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),!t&&this._promises[`rIPs_${e}`]instanceof Promise?this._promises[`rIPs_${e}`]:(this._promises[`rIPs_${e}`]=new Promise(i=>{this._socket.emit("getHostByIp",e,(r,o)=>{var c,l;const n=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],a=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((l=(c=o==null?void 0:o.native)==null?void 0:c.hardware)!=null&&l.networkInterfaces){for(const N in o.native.hardware.networkInterfaces)if(Object.prototype.hasOwnProperty.call(o.native.hardware.networkInterfaces,N))for(let u=0;u{this._socket.emit("encrypt",e,(r,o)=>r?i(new Error(r)):t(o))})}decrypt(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,i)=>{this._socket.emit("decrypt",e,(r,o)=>r?i(new Error(r)):t(o))})}getVersion(e){return!e&&this._promises.version instanceof Promise?this._promises.version:(this._promises.version=new Promise((t,i)=>{this._socket.emit("getVersion",(r,o,n)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?i(new Error(r)):t({version:o,serverName:n})})}),this._promises.version)}getWebServerName(){return this._promises.webName instanceof Promise?this._promises.webName:(this._promises.webName=new Promise((e,t)=>{this._socket.emit("getAdapterName",(i,r)=>i?t(new Error(i)):e(r))}),this._promises.webName)}getAdminVersion(){return console.log("Deprecated: use getVersion"),this.getVersion()}chmodFile(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chmodFile",e,t,i,(n,a,c)=>n?o(new Error(n)):r({entries:a,id:c}))}):Promise.reject(new Error(b))}chownFile(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chownFile",e,t,i,(n,a,c)=>n?o(new Error(n)):r({entries:a,id:c}))}):Promise.reject(new Error(b))}fileExists(e,t){return this.connected?new Promise((i,r)=>{this._socket.emit("fileExists",e,t,(o,n)=>o?r(new Error(o)):i(n))}):Promise.reject(new Error(b))}getNotifications(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(i=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},r=>i(r))}):Promise.reject(new Error(b))}clearNotifications(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(i=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},r=>i(r))}):Promise.reject(new Error(b))}getIsEasyModeStrict(){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getIsEasyModeStrict",(i,r)=>i?t(new Error(i)):e(r))}):Promise.reject(new Error(b))}getEasyMode(){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getEasyMode",(i,r)=>i?t(new Error(i)):e(r))}):Promise.reject(new Error(b))}getCurrentUser(){return this.connected?new Promise(e=>{this._socket.emit("authEnabled",(t,i)=>e(i))}):Promise.reject(new Error(b))}getCurrentSession(e){return this.connected?new Promise((t,i)=>{const r=new AbortController;let o=setTimeout(()=>{o&&(o=null,r.abort(),i(new Error("getCurrentSession timeout")))},e||5e3);fetch("./session",{signal:r.signal}).then(n=>n.json()).then(n=>{o&&(clearTimeout(o),o=null,t(n))}).catch(n=>i(new Error(`getCurrentSession: ${n}`)))}):Promise.reject(new Error(b))}getRatings(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,i)=>{this._socket.emit("getRatings",e,(r,o)=>r?i(new Error(r)):t(o))}):Promise.reject(new Error(b))}getCurrentInstance(){return this.connected?this._promises.currentInstance instanceof Promise?this._promises.currentInstance:(this._promises.currentInstance=new Promise((e,t)=>{this._socket.emit("getCurrentInstance",(i,r)=>i?t(new Error(i)):e(r))}),this._promises.currentInstance):Promise.reject(new Error(b))}getCompactAdapters(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactAdapters instanceof Promise?this._promises.compactAdapters:this.connected?(this._promises.compactAdapters=new Promise((t,i)=>{this._socket.emit("getCompactAdapters",(r,o)=>r?i(new Error(r)):t(o))}),this._promises.compactAdapters):Promise.reject(new Error(b))}getAdaptersResetCache(e){e||="",delete this._promises.compactAdapters,delete this._promises[`adapter_${e}`]}getCompactInstances(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactInstances instanceof Promise?this._promises.compactInstances:this.connected?(this._promises.compactInstances=new Promise((t,i)=>{this._socket.emit("getCompactInstances",(r,o)=>r?i(new Error(r)):t(o))}),this._promises.compactInstances):Promise.reject(new Error(b))}getAdapternInstancesResetCache(e){e||="",delete this._promises.compactInstances,delete this._promises[`instances_${e}`]}getCompactInstalled(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installedCompact||={},!t&&this._promises.installedCompact[e]instanceof Promise?this._promises.installedCompact[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installedCompact[e]=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("getCompactInstalled timeout")))},i||this.props.cmdTimeout);this._socket.emit("getCompactInstalled",e,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getCompactInstalled"')):!a||typeof a!="object"?o(new Error('Cannot read "getCompactInstalled"')):r(a))})}),this._promises.installedCompact[e]):Promise.reject(new Error(b)))}getCompactSystemRepositories(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.getCompactSystemRepositories instanceof Promise?this._promises.getCompactSystemRepositories:this.connected?(this._promises.getCompactSystemRepositories=new Promise((i,r)=>{let o=setTimeout(()=>{o&&(o=null,r(new Error("getCompactSystemRepositories timeout")))},t||this.props.cmdTimeout);this._socket.emit("getCompactSystemRepositories",n=>{o&&(clearTimeout(o),o=null,n===yt?r(new Error('May not read "getCompactSystemRepositories"')):!n||typeof n!="object"?r(new Error('Cannot read "getCompactSystemRepositories"')):i(n))})}),this._promises.getCompactSystemRepositories):Promise.reject(new Error(b))}getCompactSystemConfig(e){return!e&&this._promises.systemConfigPromise instanceof Promise?this._promises.systemConfigPromise:this.connected?(this._promises.systemConfigPromise=new Promise((t,i)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>r?i(new Error(r)):t(o))}),this._promises.systemConfigPromise):Promise.reject(new Error(b))}getCompactRepository(e,t,i){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!t&&this._promises.repoCompact instanceof Promise?this._promises.repoCompact:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repoCompact=new Promise((r,o)=>{let n=setTimeout(()=>{n&&(n=null,o(new Error("getCompactRepository timeout")))},i||this.props.cmdTimeout);this._socket.emit("getCompactRepository",e,a=>{n&&(clearTimeout(n),n=null,a===yt?o(new Error('May not read "getCompactRepository"')):a?r(a):o(new Error('Cannot read "getCompactRepository"')))})}),this._promises.repoCompact):Promise.reject(new Error(b))}getInstalledResetCache(){delete this._promises.repoCompact,delete this._promises.repo}getCompactHosts(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hostsCompact instanceof Promise?this._promises.hostsCompact:this.connected?(this._promises.hostsCompact=new Promise((t,i)=>{this._socket.emit("getCompactHosts",(r,o)=>r?i(new Error(r)):t(o))}),this._promises.hostsCompact):Promise.reject(new Error(b))}getUuid(){return this._promises.uuid instanceof Promise?this._promises.uuid:this.connected?(this._promises.uuid=this.getObject("system.meta.uuid").then(e=>{var t;return(t=e==null?void 0:e.native)==null?void 0:t.uuid}),this._promises.uuid):Promise.reject(new Error(b))}subscribeOnInstance(e,t,i,r){return this.connected?new Promise((o,n)=>{this._socket.emit("clientSubscribe",e,t,i,(a,c)=>{a?n(new Error(a)):c!=null&&c.error?n(new Error(c.error)):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]||=[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(c))})}):Promise.reject(new Error(b))}unsubscribeFromInstance(e,t,i){var n;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const a=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(a!=null&&a!==-1){r=!0;const c=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===c)||o.push(new Promise((N,u)=>{this._socket.emit("clientUnsubscribe",e,t,(L,g)=>{L?u(new Error(L)):N(g)})}))}}while(r&&(!i||!t));return o.length?Promise.all(o).then(a=>a.find(c=>c)||!1):Promise.resolve(!1)}log(e,t){e&&this._socket.emit("log",e,t||"debug")}logout(){return this.connected?new Promise((e,t)=>{this._socket.emit("logout",i=>i?t(new Error(i)):e())}):Promise.reject(new Error(b))}setStateToIgnore(e){this.ignoreState=e||""}}function y5e(s){var e;return s.type==="object"?`iobobject://${s.address}/${s.path||""}`:s.type==="state"?`iobstate://${s.address}`:s.type==="file"?`iobfile://${s.address}/${s.path||""}`:s.type==="http"?s.address:(e=s.path)!=null&&e.includes("/")?`iobfile://${s.address}/${s.path}`:s.path?`iobobject://${s.address}/${s.path}`:`iobstate://${s.address}`}function k3e(s){const e={type:"object",address:""};if(s.startsWith("iobobject://")){e.type="object",s=s.replace("iobobject://","");const t=s.split("/");e.address=t[0],e.path=t[1]}else if(s.startsWith("iobstate://")){e.type="state",s=s.replace("iobstate://","");const t=s.split("/");e.address=t[0],e.path=t[1]}else if(s.startsWith("iobfile://")){e.type="file",s=s.replace("iobfile://","");const t=s.split("/");e.address=t.shift(),e.path=t.join("/")}else if(s.startsWith("http://")||s.startsWith("https://"))e.type="http",e.address=s;else if(s.startsWith("data:"))e.type="base64",e.address=s;else{const t=s.split("/");if(t.length===2)if(e.address=t[0],e.path=t[1],e.path.includes("."))e.type="object";else if(e.path)if(e.path==="val"||e.path==="q"||e.path==="ack"||e.path==="ts"||e.path==="lc"||e.path==="from"||e.path==="user"||e.path==="expire"||e.path==="c")e.type="state";else if(e.path==="common"||e.path==="native"||e.path==="from"||e.path==="acl"||e.path==="type")e.type="object";else throw new Error(`Unknown path: ${e.path}`);else e.type="state";else t.length===1?(e.address=t[0],e.type="state"):(e.address=t.shift(),e.type="file",e.path=t.join("/"))}return e}function cL(s,e,t){if(t=t||0,s==null||!e)return s;if(e.length-1===t)return s[e[t]];if(typeof s=="object")return cL(s[e[t]],e,t+1)}function Y3e(s,e,t,i){if(i=i||0,s==null||!e)return t;if(e.length-1===i)return s[e[i]]=t,s;if(typeof s=="object")return Y3e(s[e[i]],e,t,i+1)}async function T5e(s,e){var t;if(typeof s=="string"&&(s=k3e(s)),s.type==="object"){const i=await e.getObject(s.address);return cL(i,(t=s.path)==null?void 0:t.split("."))}if(s.type==="state"){const i=await e.getState(s.address);return s.path?i==null?void 0:i[s.path]:i}if(s.type==="file")return await e.readFile(s.address,s.path,!0);if(s.type==="http")return fetch(s.address).then(i=>i.text()).then(i=>{if(i.startsWith("{")&&i.endsWith("}")||i.startsWith("[")&&i.endsWith("]"))try{return JSON.parse(i)}catch{}return i});throw new Error(`Unknown type: ${s.type}`)}const Mn=s=>{const e={};return s.forEach(t=>{e[t]={requiredVersion:"*",singleton:!0}}),e};function d5e(s){const e=["@emotion/react","@emotion/styled","@iobroker/adapter-react-v5","@iobroker/json-config","@iobroker/dm-gui-components","@mui/icons-material","@mui/material","@mui/x-date-pickers","date-fns","date-fns/locale","leaflet","leaflet-geosearch","react","react-ace","react-dom","react-dropzone","semver"];return Array.isArray(s)?Mn(e.filter(t=>s.includes(t))):s&&(s.dependencies||s.devDependencies)?Mn(e.filter(t=>{var i,r;return((i=s.dependencies)==null?void 0:i[t])||((r=s.devDependencies)==null?void 0:r[t])})):Mn(e)}export{R3e as AdminConnection,Ii as ColorPicker,kt as ComplexCron,l5e as ComplexCronDialog,i0 as Confirm,ze as Connection,N5e as Cron,F3e as CustomModal,v_e as DeviceTypeIcon,Z3e as DeviceTypeSelector,l5e as DialogComplexCron,i0 as DialogConfirm,N5e as DialogCron,r0 as DialogError,L5e as DialogMessage,g5e as DialogSelectFile,xSe as DialogSelectID,j5e as DialogSimpleCron,FEe as DialogTextInput,Ie as ERRORS,we as EXTENSIONS,r0 as Error,Tfe as FileBrowser,DM as FileBrowserClass,yfe as FileViewer,jfe as FileViewerClass,Gt as GenericApp,h as I18n,Pl as ITEM_IMAGES,me as Icon,K_e as IconAdapter,Lfe as IconAlias,a5e as IconButtonImage,O4 as IconChannel,sSe as IconClearFilter,Ws as IconClosed,Ts as IconCopy,E4 as IconDevice,q_e as IconDocument,eSe as IconDocumentReadOnly,$n as IconExpert,M5e as IconFx,tSe as IconInstance,c5e as IconLogout,dM as IconNoIcon,fr as IconOpen,V3e as IconPicker,Vxe as IconSelector,Ai as IconState,u5e as IconVacuum,xr as Image,K3e as InfoBox,J as LegacyConnection,ND as Loader,n5e as LoaderMV,o5e as LoaderPT,r5e as LoaderVendor,A4 as Logo,m4 as MDUtils,L5e as Message,gSe as ObjectBrowser,it as ObjectBrowserClass,J3e as PERMISSION_ERROR,rt as PROGRESS,Oi as Router,X3e as STATES_NAME_ICONS,dD as SaveCloseButtons,De as Schedule,g5e as SelectFile,xSe as SelectID,q3e as SelectWithIcon,$i as SimpleCron,j5e as SimpleCronDialog,iSe as TabContainer,rSe as TabContent,oSe as TabHeader,e5e as TableResize,FEe as TextInput,t5e as TextWithIcon,bg as Theme,s5e as ToggleThemeMenu,Kn as TreeTable,i5e as UploadImage,O as Utils,h4 as convertCronToText,s0 as copy,ML as cron2state,w4e as dictionary,p4 as extendDeviceTypeTranslation,cL as getAttrInObject,H3e as getSelectIdIcon,Zr as getSelectIdIconFromObjects,G3e as getSystemIcon,k3e as iobUriParse,T5e as iobUriRead,y5e as iobUriToString,d5e as moduleFederationShared,lN as pattern2RegEx,uD as printPrompt,Y3e as setAttrInObject,Io as withWidth}; diff --git a/admin/assets/index-dMNZJoGO.js b/admin/assets/index-dMNZJoGO.js new file mode 100644 index 000000000..b053996df --- /dev/null +++ b/admin/assets/index-dMNZJoGO.js @@ -0,0 +1,1294 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BNiWan3F.js","./createSvgIcon-DMsh-YeH.js","./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","./_commonjsHelpers-Cpj98o6Y.js","./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","./index-f32XoI0M.js","./inheritsLoose-DgfqekV3.js","./preload-helper-Dp1pzeXC.js","./index-DUBaHZ92.css","./index-o6IQE1xm.js","./ScriptEditorVanillaMonaco-B14Clvtt.js","./ScriptEditor-2NACU7zq.js","./Save-BSBgRX7g.js","./OpenAiDialog-BN6QnEKv.js","./index-Dm1jc4t6.js"])))=>i.map(i=>d[i]); +import{i as Jp,a as DT}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import{j as p,c as Gt,g as R_,r as O_,_ as Xp,i as dy,P as ee}from"./createSvgIcon-DMsh-YeH.js";import{i as M_,y as AT,_ as RT,a as OT,m as MT,S as hy,T as py}from"./inheritsLoose-DgfqekV3.js";import{R as X,i as V}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{i as y,C as di,I as lo,a as NT,b as LT,c as BT,M as zl,d as qp,e as vp,f as N_,F as PT,g as FT,h as Vl,j as Zp,k as jT,l as L_,m as wr,n as zT,o as Cr,p as UT,q as Cg,r as HT,s as WT,t as GT,u as VT,v as KT,w as YT,x as JT,y as XT,z as qT,_ as ZT,A as QT,B as gy,D as ek,E as tk,G as my,H as $c,J as sk,K as ok,L as ik,N as nk,O as rk,P as ak,Q as B_,R as P_,S as lk,T as ck,U as uk,V as dk,W as hk,X as pk}from"./index-f32XoI0M.js";import{g as hi,c as nn}from"./_commonjsHelpers-Cpj98o6Y.js";import{_ as mn}from"./preload-helper-Dp1pzeXC.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&r(d)}).observe(document,{childList:!0,subtree:!0});function i(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function r(l){if(l.ep)return;l.ep=!0;const u=i(l);fetch(l.href,u)}})();var F_,fy=M_;F_=fy.createRoot,fy.hydrateRoot;var j_={exports:{}},nt={};/** @license React v17.0.2 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var bc=60103,vc=60106,Nr=60107,Lr=60108,Br=60114,Pr=60109,Fr=60110,jr=60112,zr=60113,Tg=60120,Ur=60115,Hr=60116,z_=60121,U_=60122,H_=60117,W_=60129,G_=60131;if(typeof Symbol=="function"&&Symbol.for){var It=Symbol.for;bc=It("react.element"),vc=It("react.portal"),Nr=It("react.fragment"),Lr=It("react.strict_mode"),Br=It("react.profiler"),Pr=It("react.provider"),Fr=It("react.context"),jr=It("react.forward_ref"),zr=It("react.suspense"),Tg=It("react.suspense_list"),Ur=It("react.memo"),Hr=It("react.lazy"),z_=It("react.block"),U_=It("react.server.block"),H_=It("react.fundamental"),W_=It("react.debug_trace_mode"),G_=It("react.legacy_hidden")}function Cs(a){if(typeof a=="object"&&a!==null){var s=a.$$typeof;switch(s){case bc:switch(a=a.type,a){case Nr:case Br:case Lr:case zr:case Tg:return a;default:switch(a=a&&a.$$typeof,a){case Fr:case jr:case Hr:case Ur:case Pr:return a;default:return s}}case vc:return s}}}var gk=Pr,mk=bc,fk=jr,$k=Nr,bk=Hr,vk=Ur,yk=vc,_k=Br,wk=Lr,Ck=zr;nt.ContextConsumer=Fr;nt.ContextProvider=gk;nt.Element=mk;nt.ForwardRef=fk;nt.Fragment=$k;nt.Lazy=bk;nt.Memo=vk;nt.Portal=yk;nt.Profiler=_k;nt.StrictMode=wk;nt.Suspense=Ck;nt.isAsyncMode=function(){return!1};nt.isConcurrentMode=function(){return!1};nt.isContextConsumer=function(a){return Cs(a)===Fr};nt.isContextProvider=function(a){return Cs(a)===Pr};nt.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===bc};nt.isForwardRef=function(a){return Cs(a)===jr};nt.isFragment=function(a){return Cs(a)===Nr};nt.isLazy=function(a){return Cs(a)===Hr};nt.isMemo=function(a){return Cs(a)===Ur};nt.isPortal=function(a){return Cs(a)===vc};nt.isProfiler=function(a){return Cs(a)===Br};nt.isStrictMode=function(a){return Cs(a)===Lr};nt.isSuspense=function(a){return Cs(a)===zr};nt.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===Nr||a===Br||a===W_||a===Lr||a===zr||a===Tg||a===G_||typeof a=="object"&&a!==null&&(a.$$typeof===Hr||a.$$typeof===Ur||a.$$typeof===Pr||a.$$typeof===Fr||a.$$typeof===jr||a.$$typeof===H_||a.$$typeof===z_||a[0]===U_)};nt.typeOf=Cs;j_.exports=nt;var Tk=j_.exports;function Kl(a,s){const i=getComputedStyle(s);if(!i)return;let r=a===ut.Horizontal?s.clientWidth:s.clientHeight;return r!==0?(a===ut.Horizontal?r-=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight):r-=parseFloat(i.paddingTop)+parseFloat(i.paddingBottom),r):void 0}/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */function Al(a,s,i=[],r={condition:!0}){const{condition:l}=r,u=function(d,g){var m={};for(var f in d)Object.prototype.hasOwnProperty.call(d,f)&&g.indexOf(f)<0&&(m[f]=d[f]);if(d!=null&&typeof Object.getOwnPropertySymbols=="function"){var v=0;for(f=Object.getOwnPropertySymbols(d);v(l&&window.addEventListener(a,s,u),()=>{l&&window.removeEventListener(a,s)}),[a,s,l,...i])}(function(a,s){s===void 0&&(s={});var i=s.insertAt;if(typeof document<"u"){var r=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css",i==="top"&&r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),l.styleSheet?l.styleSheet.cssText=a:l.appendChild(document.createTextNode(a))}})(`/* === Main Container === */ +.__dbk__container { + height: 100%; + width: 100%; + + display: flex; + overflow: hidden; +} + +.__dbk__container.Horizontal { + flex-direction: row; +} + +.__dbk__container.Vertical { + flex-direction: column; +} +/* ====== */ + +/* === Wrapper for each child element === */ +.__dbk__child-wrapper { + height: 100%; + width: 100%; +} +/* ====== */ + +/* === Gutter === */ +.__dbk__gutter { + display: flex; + align-items: center; + justify-content: center; +} +/* .__dbk__gutter > div { + background: red; +} */ +.__dbk__gutter.Horizontal { + height: 100%; + padding: 0 2px; + flex-direction: column; +} +.__dbk__gutter.Horizontal:hover { + cursor: col-resize; +} + +.__dbk__gutter.Vertical { + width: 100%; + padding: 2px 0; + flex-direction: row; +} +.__dbk__gutter.Vertical:hover { + cursor: row-resize; +} + +.__dbk__gutter.Light { + background: #EDF0EF; +} +.__dbk__gutter.Light:hover > .__dbk__dragger { + background: #76747B; +} + +.__dbk__gutter.Dark { + background: #020203; +} +.__dbk__gutter.Dark:hover > .__dbk__dragger { + background: #9995A3; +} +/* ====== */ + +/* === Gutter's Dragger === */ +.__dbk__dragger { + border-radius: 2px; +} + +.__dbk__dragger.Horizontal { + width: 4px; + height: 24px; +} + +.__dbk__dragger.Vertical { + width: 24px; + height: 4px; +} + +.__dbk__dragger.Light { + background: #A6ACB5; +} + +.__dbk__dragger.Dark { + background: #434252; +} +/* ====== */`);const kk=X.forwardRef(({className:a,theme:s,draggerClassName:i,direction:r=ut.Vertical,onDragging:l},u)=>{const d=`__dbk__gutter ${r} ${a||s}`,g=`__dbk__dragger ${r} ${i||s}`;return p.jsx("div",Object.assign({className:d,ref:u,dir:r,onMouseDown:l,onTouchStart:Ul?l:void 0},{children:p.jsx("div",{className:g},void 0)}),void 0)});var us;function Qp(a,s,i){let r,l;return s?(r=a/2,l=a):i?(r=a,l=a/2):(r=a,l=a),{aGutterSize:r,bGutterSize:l}}function Sk(a,s){switch(s.type){case us.SetIsReadyToCompute:return Object.assign(Object.assign({},a),{isReady:s.payload.isReady});case us.CreatePairs:{const{direction:i,children:r,gutters:l}=s.payload,u=r[0].parentNode;if(!u)throw new Error("Cannot create pairs - parent is undefined.");const d=Kl(i,u);if(d===void 0)throw new Error(`Cannot create pairs - parent has undefined or zero size: ${d}.`);const g=[];return r.forEach((m,f)=>{if(f>0){const v=r[f-1],w=r[f],_=l[f-1],S=i===ut.Horizontal?v.getBoundingClientRect().left:v.getBoundingClientRect().top,k=i===ut.Horizontal?w.getBoundingClientRect().right:w.getBoundingClientRect().bottom,C=i===ut.Horizontal?v.getBoundingClientRect().width+_.getBoundingClientRect().width+w.getBoundingClientRect().width:v.getBoundingClientRect().height+_.getBoundingClientRect().height+w.getBoundingClientRect().height,E=i===ut.Horizontal?_.getBoundingClientRect().width:_.getBoundingClientRect().height,A={idx:f-1,a:v,b:w,gutter:_,parent:u,start:S,end:k,size:C,gutterSize:E,aSizePct:100/r.length,bSizePct:100/r.length};g.push(A)}}),Object.assign(Object.assign({},a),{pairs:g})}case us.StartDragging:{const{gutterIdx:i}=s.payload;return Object.assign(Object.assign({},a),{isDragging:!0,draggingIdx:i})}case us.StopDragging:return Object.assign(Object.assign({},a),{isDragging:!1});case us.CalculateSizes:{const{direction:i,gutterIdx:r}=s.payload,l=a.pairs[r],u=Kl(i,l.parent);if(!u)throw new Error("Cannot calculate sizes - 'pair.parent' has undefined or zero size.");const d=l.gutter[i===ut.Horizontal?"clientWidth":"clientHeight"],g=r===0,m=r===a.pairs.length-1,{aGutterSize:f,bGutterSize:v}=Qp(d,g,m);let w,_,S,k,C;return i===ut.Horizontal?(w=l.a.getBoundingClientRect().left,_=l.b.getBoundingClientRect().right,k=(l.a.getBoundingClientRect().width+f)/u*100,C=(l.b.getBoundingClientRect().width+v)/u*100,S=l.a.getBoundingClientRect().width+f+v+l.b.getBoundingClientRect().width):(w=l.a.getBoundingClientRect().top,_=l.b.getBoundingClientRect().bottom,k=(l.a.getBoundingClientRect().height+f)/u*100,C=(l.b.getBoundingClientRect().height+v)/u*100,S=l.a.getBoundingClientRect().height+f+v+l.b.getBoundingClientRect().height),a.pairs[r]=Object.assign(Object.assign({},l),{start:w,end:_,size:S,aSizePct:k,bSizePct:C,gutterSize:d}),Object.assign({},a)}default:return a}}function V_(a,s=0,i=[]){return V.Children.toArray(a).reduce((r,l,u)=>(Tk.isFragment(l)?r.push.apply(r,V_(l.props.children,s+1,i.concat(l.key||u))):V.isValidElement(l)?r.push(V.cloneElement(l,{key:i.concat(String(l.key)).join(".")})):typeof l!="string"&&typeof l!="number"||r.push(l),r),[])}(function(a){a[a.SetIsReadyToCompute=0]="SetIsReadyToCompute",a[a.CreatePairs=1]="CreatePairs",a[a.CalculateSizes=2]="CalculateSizes",a[a.StartDragging=3]="StartDragging",a[a.StopDragging=4]="StopDragging"})(us||(us={}));const $y=a=>"changedTouches"in a;var ut,eg;(function(a){a.Horizontal="Horizontal",a.Vertical="Vertical"})(ut||(ut={})),function(a){a.Light="Light",a.Dark="Dark"}(eg||(eg={}));const Ul=typeof window<"u"&&"ontouchstart"in window;function yp(a){return a===ut.Horizontal?"col-resize":"row-resize"}const Ek={isReady:!1,isDragging:!1,pairs:[]};function by({direction:a=ut.Horizontal,minWidths:s=[],minHeights:i=[],initialSizes:r,gutterTheme:l=eg.Dark,gutterClassName:u,draggerClassName:d,children:g,onResizeStarted:m,onResizeFinished:f,classes:v=[]}){const w=V_(g),[_,S]=V.useReducer(Sk,Ek),k=V.useRef(null),C=V.useRef([]),E=V.useRef([]);C.current=[],E.current=[];const A=X.useCallback(ce=>{S({type:us.SetIsReadyToCompute,payload:{isReady:ce}})},[]),R=X.useCallback((ce,de)=>{S({type:us.StartDragging,payload:{gutterIdx:de}});const J=_.pairs[de];m==null||m(J.idx),J.a.style.userSelect="none",J.b.style.userSelect="none",J.gutter.style.cursor=yp(ce),J.parent.style.cursor=yp(ce),document.body.style.cursor=yp(ce)},[_.pairs]),O=X.useCallback(()=>{S({type:us.StopDragging});const ce=[];for(let J=0;J<_.pairs.length;J++){const we=_.pairs[J],me=Kl(a,we.parent);if(me===void 0)throw new Error("Cannot call the 'onResizeFinished' callback - parentSize is undefined");if(we.gutterSize===void 0)throw new Error("Cannot call 'onResizeFinished' callback - gutterSize is undefined");const Fe=J===0,Y=J===_.pairs.length-1,et=we.a.getBoundingClientRect()[a===ut.Horizontal?"width":"height"],{aGutterSize:q,bGutterSize:oe}=Qp(we.gutterSize,Fe,Y),F=(et+q)/me*100;if(ce.push(F),Y){const H=(we.b.getBoundingClientRect()[a===ut.Horizontal?"width":"height"]+oe)/me*100;ce.push(H)}}if(_.draggingIdx===void 0)throw new Error("Could not reset cursor and user-select because 'state.draggingIdx' is undefined");const de=_.pairs[_.draggingIdx];f==null||f(de.idx,ce),de.a.style.userSelect="",de.b.style.userSelect="",de.gutter.style.cursor="",de.parent.style.cursor="",document.body.style.cursor=""},[_.draggingIdx,_.pairs,a]),Z=X.useCallback((ce,de)=>{S({type:us.CalculateSizes,payload:{direction:ce,gutterIdx:de}})},[]),ae=X.useCallback((ce,de,J)=>{S({type:us.CreatePairs,payload:{direction:ce,children:de,gutters:J}})},[]),se=X.useCallback((ce,de,J,we)=>{const me=de[0].parentNode;if(!me)throw new Error("Cannot set initial sizes - parent is undefined");if(Kl(ce,me)===void 0)throw new Error("Cannot set initial sizes - parent has undefined size");de.forEach((Fe,Y)=>{const et=Y===0,q=Y===de.length-1;let oe,F=0;de.length>1&&(F=J[q?Y-1:Y].getBoundingClientRect()[ce===ut.Horizontal?"width":"height"],F=et||q?F/2:F),oe=we&&Y{if(_.draggingIdx===void 0)throw new Error("Cannot adjust size - 'draggingIdx' is undefined");const J=_.pairs[_.draggingIdx];if(J.size===void 0)throw new Error("Cannot adjust size - 'pair.size' is undefined");if(J.gutterSize===void 0)throw new Error("Cannot adjust size - 'pair.gutterSize' is undefined");const we=J.aSizePct+J.bSizePct,me=de/J.size*we,Fe=we-de/J.size*we,Y=_.draggingIdx===0,et=_.draggingIdx===_.pairs.length-1,{aGutterSize:q,bGutterSize:oe}=Qp(J.gutterSize,Y,et),F=`calc(${me}% - ${q}px)`,H=`calc(${Fe}% - ${oe}px)`;ce===ut.Horizontal?(J.a.style.width=F,J.b.style.width=H):(J.a.style.height=F,J.b.style.height=H)},[_.draggingIdx,_.pairs,a]),K=X.useCallback((ce,de,J)=>{if(!_.isDragging)return;if(_.draggingIdx===void 0)throw new Error("Cannot drag - 'draggingIdx' is undefined");const we=_.pairs[_.draggingIdx];if(we.start===void 0)throw new Error("Cannot drag - 'pair.start' is undefined");if(we.size===void 0)throw new Error("Cannot drag - 'pair.size' is undefined");if(we.gutterSize===void 0)throw new Error("Cannot drag - 'pair.gutterSize' is undefined");let me=function(et,q){const oe=$y(q)?q.changedTouches[0]:q;return et===ut.Horizontal?oe.clientX:oe.clientY}(de,ce)-we.start,Fe=16,Y=16;J.length>_.draggingIdx&&(Fe=J[_.draggingIdx]),J.length>=_.draggingIdx+1&&(Y=J[_.draggingIdx+1]),me=we.size-(we.gutterSize+Y)&&(me=we.size-(we.gutterSize+Y)),ge(de,me)},[_.isDragging,_.draggingIdx,_.pairs,ge]),je=()=>{if(_.isDragging){if(_.draggingIdx===void 0)throw new Error("Cannot calculate sizes after dragging = 'state.draggingIdx' is undefined");Z(a,_.draggingIdx),O()}},Me=ce=>{_.isDragging&&($y(ce)&&ce.preventDefault(),K(ce,a,a===ut.Horizontal?s:i))};function qe(ce,de){if(!ce.current)throw new Error("Can't add element to ref object - ref isn't initialized");de&&!ce.current.includes(de)&&ce.current.push(de)}return Al("mouseup",je,[_.isDragging,O]),Al("mousemove",Me,[a,_.isDragging,K,s,i]),Al("touchend",je,[_.isDragging,O],{condition:Ul}),Al("touchmove",Me,[a,_.isDragging,K,s,i],{condition:Ul,passive:!Ul}),V.useEffect(function(){if(!k.current)return;const ce=k.current.parentElement;if(!ce)return;const de=new ResizeObserver(()=>{const J=getComputedStyle(ce),we=a===ut.Horizontal?ce.clientWidth:ce.clientHeight;A(!!J&&!!we)});return de.observe(ce),()=>{de.disconnect()}},[k.current,a]),V.useEffect(function(){if(_.isReady&&(!C.current||C.current[0].offsetParent)){if(!C.current||!E.current)throw new Error("Cannot create pairs - either variable 'childRefs' or 'gutterRefs' is undefined");w.length<=1?se(a,C.current,E.current,r):(se(a,C.current,E.current,r),ae(a,C.current,E.current))}},[g,_.isReady,a,se,ae,r]),p.jsx("div",Object.assign({className:`__dbk__container ${a}`,ref:k},{children:_.isReady&&w.map((ce,de)=>p.jsxs(X.Fragment,{children:[p.jsx("div",Object.assign({ref:J=>qe(C,J),className:"__dbk__child-wrapper "+(deqe(E,J),className:u,theme:l,draggerClassName:d,direction:a,onDragging:()=>{return Z(a,J=de),void R(a,J);var J}},void 0)]},de))}),void 0)}const{loadShare:Ik}=Jp,{initPromise:xk}=DT,Dk=xk.then(a=>Ik("@iobroker/adapter-react-v5",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),Ak=await Dk.then(a=>a());var b=Ak;const K_=V.createContext({dragDropManager:void 0});function Dr(a){"@babel/helpers - typeof";return Dr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},Dr(a)}function Rk(a,s){if(Dr(a)!="object"||!a)return a;var i=a[Symbol.toPrimitive];if(i!==void 0){var r=i.call(a,s);if(Dr(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(a)}function Ok(a){var s=Rk(a,"string");return Dr(s)=="symbol"?s:s+""}function Mk(a,s,i){return(s=Ok(s))in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function rs(a){return"Minified Redux error #"+a+"; visit https://redux.js.org/Errors?code="+a+" for the full message or use the non-minified dev environment for full errors. "}var vy=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}(),yy=function(){return Math.random().toString(36).substring(7).split("").join(".")},_y={INIT:"@@redux/INIT"+yy(),REPLACE:"@@redux/REPLACE"+yy()};function Nk(a){if(typeof a!="object"||a===null)return!1;for(var s=a;Object.getPrototypeOf(s)!==null;)s=Object.getPrototypeOf(s);return Object.getPrototypeOf(a)===s}function Y_(a,s,i){var r;if(typeof s=="function"&&typeof i=="function"||typeof i=="function"&&typeof arguments[3]=="function")throw new Error(rs(0));if(typeof s=="function"&&typeof i>"u"&&(i=s,s=void 0),typeof i<"u"){if(typeof i!="function")throw new Error(rs(1));return i(Y_)(a,s)}if(typeof a!="function")throw new Error(rs(2));var l=a,u=s,d=[],g=d,m=!1;function f(){g===d&&(g=d.slice())}function v(){if(m)throw new Error(rs(3));return u}function w(C){if(typeof C!="function")throw new Error(rs(4));if(m)throw new Error(rs(5));var E=!0;return f(),g.push(C),function(){if(E){if(m)throw new Error(rs(6));E=!1,f();var R=g.indexOf(C);g.splice(R,1),d=null}}}function _(C){if(!Nk(C))throw new Error(rs(7));if(typeof C.type>"u")throw new Error(rs(8));if(m)throw new Error(rs(9));try{m=!0,u=l(u,C)}finally{m=!1}for(var E=d=g,A=0;Ar&&r[l]?r[l]:i||null,a)}function Pk(a,s){return a.filter(i=>i!==s)}function J_(a){return typeof a=="object"}function Fk(a,s){const i=new Map,r=u=>{i.set(u,i.has(u)?i.get(u)+1:1)};a.forEach(r),s.forEach(r);const l=[];return i.forEach((u,d)=>{u===1&&l.push(d)}),l}function jk(a,s){return a.filter(i=>s.indexOf(i)>-1)}const kg="dnd-core/INIT_COORDS",yc="dnd-core/BEGIN_DRAG",Sg="dnd-core/PUBLISH_DRAG_SOURCE",_c="dnd-core/HOVER",wc="dnd-core/DROP",Cc="dnd-core/END_DRAG";function wy(a,s){return{type:kg,payload:{sourceClientOffset:s||null,clientOffset:a||null}}}const zk={type:kg,payload:{clientOffset:null,sourceClientOffset:null}};function Uk(a){return function(i=[],r={publishSource:!0}){const{publishSource:l=!0,clientOffset:u,getSourceClientOffset:d}=r,g=a.getMonitor(),m=a.getRegistry();a.dispatch(wy(u)),Hk(i,g,m);const f=Vk(i,g);if(f==null){a.dispatch(zk);return}let v=null;if(u){if(!d)throw new Error("getSourceClientOffset must be defined");Wk(d),v=d(f)}a.dispatch(wy(u,v));const _=m.getSource(f).beginDrag(g,f);if(_==null)return;Gk(_),m.pinSource(f);const S=m.getSourceType(f);return{type:yc,payload:{itemType:S,item:_,sourceId:f,clientOffset:u||null,sourceClientOffset:v||null,isSourcePublic:!!l}}}}function Hk(a,s,i){De(!s.isDragging(),"Cannot call beginDrag while dragging."),a.forEach(function(r){De(i.getSource(r),"Expected sourceIds to be registered.")})}function Wk(a){De(typeof a=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function Gk(a){De(J_(a),"Item must be an object.")}function Vk(a,s){let i=null;for(let r=a.length-1;r>=0;r--)if(s.canDragSource(a[r])){i=a[r];break}return i}function Kk(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function Yk(a){for(var s=1;s{const m=qk(d,g,l,r),f={type:wc,payload:{dropResult:Yk({},i,m)}};a.dispatch(f)})}}function Xk(a){De(a.isDragging(),"Cannot call drop while not dragging."),De(!a.didDrop(),"Cannot call drop twice during one drag operation.")}function qk(a,s,i,r){const l=i.getTarget(a);let u=l?l.drop(r,a):void 0;return Zk(u),typeof u>"u"&&(u=s===0?{}:r.getDropResult()),u}function Zk(a){De(typeof a>"u"||J_(a),"Drop result must either be an object or undefined.")}function Qk(a){const s=a.getTargetIds().filter(a.canDropOnTarget,a);return s.reverse(),s}function eS(a){return function(){const i=a.getMonitor(),r=a.getRegistry();tS(i);const l=i.getSourceId();return l!=null&&(r.getSource(l,!0).endDrag(i,l),r.unpinSource()),{type:Cc}}}function tS(a){De(a.isDragging(),"Cannot call endDrag while not dragging.")}function tg(a,s){return s===null?a===null:Array.isArray(a)?a.some(i=>i===s):a===s}function sS(a){return function(i,{clientOffset:r}={}){oS(i);const l=i.slice(0),u=a.getMonitor(),d=a.getRegistry(),g=u.getItemType();return nS(l,d,g),iS(l,u,d),rS(l,u,d),{type:_c,payload:{targetIds:l,clientOffset:r||null}}}}function oS(a){De(Array.isArray(a),"Expected targetIds to be an array.")}function iS(a,s,i){De(s.isDragging(),"Cannot call hover while not dragging."),De(!s.didDrop(),"Cannot call hover after drop.");for(let r=0;r=0;r--){const l=a[r],u=s.getTargetType(l);tg(u,i)||a.splice(r,1)}}function rS(a,s,i){a.forEach(function(r){i.getTarget(r).hover(s,r)})}function aS(a){return function(){if(a.getMonitor().isDragging())return{type:Sg}}}function lS(a){return{beginDrag:Uk(a),publishDragSource:aS(a),hover:sS(a),drop:Jk(a),endDrag:eS(a)}}class cS{receiveBackend(s){this.backend=s}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const s=this,{dispatch:i}=this.store;function r(u){return(...d)=>{const g=u.apply(s,d);typeof g<"u"&&i(g)}}const l=lS(this);return Object.keys(l).reduce((u,d)=>{const g=l[d];return u[d]=r(g),u},{})}dispatch(s){this.store.dispatch(s)}constructor(s,i){this.isSetUp=!1,this.handleRefCountChange=()=>{const r=this.store.getState().refCount>0;this.backend&&(r&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!r&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=s,this.monitor=i,s.subscribe(this.handleRefCountChange)}}function uS(a,s){return{x:a.x+s.x,y:a.y+s.y}}function X_(a,s){return{x:a.x-s.x,y:a.y-s.y}}function dS(a){const{clientOffset:s,initialClientOffset:i,initialSourceClientOffset:r}=a;return!s||!i||!r?null:X_(uS(s,r),i)}function hS(a){const{clientOffset:s,initialClientOffset:i}=a;return!s||!i?null:X_(s,i)}const Tr=[],Eg=[];Tr.__IS_NONE__=!0;Eg.__IS_ALL__=!0;function pS(a,s){return a===Tr?!1:a===Eg||typeof s>"u"?!0:jk(s,a).length>0}class gS{subscribeToStateChange(s,i={}){const{handlerIds:r}=i;De(typeof s=="function","listener must be a function."),De(typeof r>"u"||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");let l=this.store.getState().stateId;const u=()=>{const d=this.store.getState(),g=d.stateId;try{g===l||g===l+1&&!pS(d.dirtyHandlerIds,r)||s()}finally{l=g}};return this.store.subscribe(u)}subscribeToOffsetChange(s){De(typeof s=="function","listener must be a function.");let i=this.store.getState().dragOffset;const r=()=>{const l=this.store.getState().dragOffset;l!==i&&(i=l,s())};return this.store.subscribe(r)}canDragSource(s){if(!s)return!1;const i=this.registry.getSource(s);return De(i,`Expected to find a valid source. sourceId=${s}`),this.isDragging()?!1:i.canDrag(this,s)}canDropOnTarget(s){if(!s)return!1;const i=this.registry.getTarget(s);if(De(i,`Expected to find a valid target. targetId=${s}`),!this.isDragging()||this.didDrop())return!1;const r=this.registry.getTargetType(s),l=this.getItemType();return tg(r,l)&&i.canDrop(this,s)}isDragging(){return!!this.getItemType()}isDraggingSource(s){if(!s)return!1;const i=this.registry.getSource(s,!0);if(De(i,`Expected to find a valid source. sourceId=${s}`),!this.isDragging()||!this.isSourcePublic())return!1;const r=this.registry.getSourceType(s),l=this.getItemType();return r!==l?!1:i.isDragging(this,s)}isOverTarget(s,i={shallow:!1}){if(!s)return!1;const{shallow:r}=i;if(!this.isDragging())return!1;const l=this.registry.getTargetType(s),u=this.getItemType();if(u&&!tg(l,u))return!1;const d=this.getTargetIds();if(!d.length)return!1;const g=d.indexOf(s);return r?g===d.length-1:g>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return dS(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return hS(this.store.getState().dragOffset)}constructor(s,i){this.store=s,this.registry=i}}const Cy=typeof global<"u"?global:self,q_=Cy.MutationObserver||Cy.WebKitMutationObserver;function Z_(a){return function(){const i=setTimeout(l,0),r=setInterval(l,50);function l(){clearTimeout(i),clearInterval(r),a()}}}function mS(a){let s=1;const i=new q_(a),r=document.createTextNode("");return i.observe(r,{characterData:!0}),function(){s=-s,r.data=s}}const fS=typeof q_=="function"?mS:Z_;class $S{enqueueTask(s){const{queue:i,requestFlush:r}=this;i.length||(r(),this.flushing=!0),i[i.length]=s}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:s}=this;for(;this.indexthis.capacity){for(let r=0,l=s.length-this.index;r{this.pendingErrors.push(s),this.requestErrorThrow()},this.requestFlush=fS(this.flush),this.requestErrorThrow=Z_(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class bS{call(){try{this.task&&this.task()}catch(s){this.onError(s)}finally{this.task=null,this.release(this)}}constructor(s,i){this.onError=s,this.release=i,this.task=null}}class vS{create(s){const i=this.freeTasks,r=i.length?i.pop():new bS(this.onError,l=>i[i.length]=l);return r.task=s,r}constructor(s){this.onError=s,this.freeTasks=[]}}const Q_=new $S,yS=new vS(Q_.registerPendingError);function _S(a){Q_.enqueueTask(yS.create(a))}const Ig="dnd-core/ADD_SOURCE",xg="dnd-core/ADD_TARGET",Dg="dnd-core/REMOVE_SOURCE",Tc="dnd-core/REMOVE_TARGET";function wS(a){return{type:Ig,payload:{sourceId:a}}}function CS(a){return{type:xg,payload:{targetId:a}}}function TS(a){return{type:Dg,payload:{sourceId:a}}}function kS(a){return{type:Tc,payload:{targetId:a}}}function SS(a){De(typeof a.canDrag=="function","Expected canDrag to be a function."),De(typeof a.beginDrag=="function","Expected beginDrag to be a function."),De(typeof a.endDrag=="function","Expected endDrag to be a function.")}function ES(a){De(typeof a.canDrop=="function","Expected canDrop to be a function."),De(typeof a.hover=="function","Expected hover to be a function."),De(typeof a.drop=="function","Expected beginDrag to be a function.")}function sg(a,s){if(s&&Array.isArray(a)){a.forEach(i=>sg(i,!1));return}De(typeof a=="string"||typeof a=="symbol",s?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var cs;(function(a){a.SOURCE="SOURCE",a.TARGET="TARGET"})(cs||(cs={}));let IS=0;function xS(){return IS++}function DS(a){const s=xS().toString();switch(a){case cs.SOURCE:return`S${s}`;case cs.TARGET:return`T${s}`;default:throw new Error(`Unknown Handler Role: ${a}`)}}function Ty(a){switch(a[0]){case"S":return cs.SOURCE;case"T":return cs.TARGET;default:throw new Error(`Cannot parse handler ID: ${a}`)}}function ky(a,s){const i=a.entries();let r=!1;do{const{done:l,value:[,u]}=i.next();if(u===s)return!0;r=!!l}while(!r);return!1}class AS{addSource(s,i){sg(s),SS(i);const r=this.addHandler(cs.SOURCE,s,i);return this.store.dispatch(wS(r)),r}addTarget(s,i){sg(s,!0),ES(i);const r=this.addHandler(cs.TARGET,s,i);return this.store.dispatch(CS(r)),r}containsHandler(s){return ky(this.dragSources,s)||ky(this.dropTargets,s)}getSource(s,i=!1){return De(this.isSourceId(s),"Expected a valid source ID."),i&&s===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(s)}getTarget(s){return De(this.isTargetId(s),"Expected a valid target ID."),this.dropTargets.get(s)}getSourceType(s){return De(this.isSourceId(s),"Expected a valid source ID."),this.types.get(s)}getTargetType(s){return De(this.isTargetId(s),"Expected a valid target ID."),this.types.get(s)}isSourceId(s){return Ty(s)===cs.SOURCE}isTargetId(s){return Ty(s)===cs.TARGET}removeSource(s){De(this.getSource(s),"Expected an existing source."),this.store.dispatch(TS(s)),_S(()=>{this.dragSources.delete(s),this.types.delete(s)})}removeTarget(s){De(this.getTarget(s),"Expected an existing target."),this.store.dispatch(kS(s)),this.dropTargets.delete(s),this.types.delete(s)}pinSource(s){const i=this.getSource(s);De(i,"Expected an existing source."),this.pinnedSourceId=s,this.pinnedSource=i}unpinSource(){De(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(s,i,r){const l=DS(s);return this.types.set(l,i),s===cs.SOURCE?this.dragSources.set(l,r):s===cs.TARGET&&this.dropTargets.set(l,r),l}constructor(s){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=s}}const RS=(a,s)=>a===s;function OS(a,s){return!a&&!s?!0:!a||!s?!1:a.x===s.x&&a.y===s.y}function MS(a,s,i=RS){if(a.length!==s.length)return!1;for(let r=0;r0||!MS(i,r)))return Tr;const d=r[r.length-1],g=i[i.length-1];return d!==g&&(d&&l.push(d),g&&l.push(g)),l}function LS(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function BS(a){for(var s=1;s=0)&&Object.prototype.propertyIsEnumerable.call(a,r)&&(i[r]=a[r])}return i}function XS(a,s){if(a==null)return{};var i={},r=Object.keys(a),l,u;for(u=0;u=0)&&(i[l]=a[l]);return i}let Ey=0;const Hl=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var ew=V.memo(function(s){var{children:i}=s,r=JS(s,["children"]);const[l,u]=qS(r);return V.useEffect(()=>{if(u){const d=tw();return++Ey,()=>{--Ey===0&&(d[Hl]=null)}}},[]),p.jsx(K_.Provider,{value:l,children:i})});function qS(a){if("manager"in a)return[{dragDropManager:a.manager},!1];const s=ZS(a.backend,a.context,a.options,a.debugMode),i=!a.context;return[s,i]}function ZS(a,s=tw(),i,r){const l=s;return l[Hl]||(l[Hl]={dragDropManager:KS(a,s,i,r)}),l[Hl]}function tw(){return typeof global<"u"?global:window}var QS=function a(s,i){if(s===i)return!0;if(s&&i&&typeof s=="object"&&typeof i=="object"){if(s.constructor!==i.constructor)return!1;var r,l,u;if(Array.isArray(s)){if(r=s.length,r!=i.length)return!1;for(l=r;l--!==0;)if(!a(s[l],i[l]))return!1;return!0}if(s.constructor===RegExp)return s.source===i.source&&s.flags===i.flags;if(s.valueOf!==Object.prototype.valueOf)return s.valueOf()===i.valueOf();if(s.toString!==Object.prototype.toString)return s.toString()===i.toString();if(u=Object.keys(s),r=u.length,r!==Object.keys(i).length)return!1;for(l=r;l--!==0;)if(!Object.prototype.hasOwnProperty.call(i,u[l]))return!1;for(l=r;l--!==0;){var d=u[l];if(!a(s[d],i[d]))return!1}return!0}return s!==s&&i!==i};const eE=hi(QS),li=typeof window<"u"?V.useLayoutEffect:V.useEffect;function tE(a,s,i){const[r,l]=V.useState(()=>s(a)),u=V.useCallback(()=>{const d=s(a);eE(r,d)||(l(d),i&&i())},[r,a,i]);return li(u),[r,u]}function sE(a,s,i){const[r,l]=tE(a,s,i);return li(function(){const d=a.getHandlerId();if(d!=null)return a.subscribeToStateChange(l,{handlerIds:[d]})},[a,l]),r}function sw(a,s,i){return sE(s,a||(()=>({})),()=>i.reconnect())}function ow(a,s){const i=[];return typeof a!="function"&&i.push(a),V.useMemo(()=>typeof a=="function"?a():a,i)}function oE(a){return V.useMemo(()=>a.hooks.dragSource(),[a])}function iE(a){return V.useMemo(()=>a.hooks.dragPreview(),[a])}let _p=!1,wp=!1;class nE{receiveHandlerId(s){this.sourceId=s}getHandlerId(){return this.sourceId}canDrag(){De(!_p,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return _p=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{_p=!1}}isDragging(){if(!this.sourceId)return!1;De(!wp,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return wp=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{wp=!1}}subscribeToStateChange(s,i){return this.internalMonitor.subscribeToStateChange(s,i)}isDraggingSource(s){return this.internalMonitor.isDraggingSource(s)}isOverTarget(s,i){return this.internalMonitor.isOverTarget(s,i)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(s){return this.internalMonitor.subscribeToOffsetChange(s)}canDragSource(s){return this.internalMonitor.canDragSource(s)}canDropOnTarget(s){return this.internalMonitor.canDropOnTarget(s)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(s){this.sourceId=null,this.internalMonitor=s.getMonitor()}}let Cp=!1;class rE{receiveHandlerId(s){this.targetId=s}getHandlerId(){return this.targetId}subscribeToStateChange(s,i){return this.internalMonitor.subscribeToStateChange(s,i)}canDrop(){if(!this.targetId)return!1;De(!Cp,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Cp=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Cp=!1}}isOver(s){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,s):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(s){this.targetId=null,this.internalMonitor=s.getMonitor()}}function aE(a,s,i){const r=i.getRegistry(),l=r.addTarget(a,s);return[l,()=>r.removeTarget(l)]}function lE(a,s,i){const r=i.getRegistry(),l=r.addSource(a,s);return[l,()=>r.removeSource(l)]}function og(a,s,i,r){let l;if(l!==void 0)return!!l;if(a===s)return!0;if(typeof a!="object"||!a||typeof s!="object"||!s)return!1;const u=Object.keys(a),d=Object.keys(s);if(u.length!==d.length)return!1;const g=Object.prototype.hasOwnProperty.bind(s);for(let m=0;m, or turn it into a drag source or a drop target itself.`)}function uE(a){return(s=null,i=null)=>{if(!V.isValidElement(s)){const u=s;return a(u,i),u}const r=s;return cE(r),dE(r,i?u=>a(u,i):a)}}function iw(a){const s={};return Object.keys(a).forEach(i=>{const r=a[i];if(i.endsWith("Ref"))s[i]=a[i];else{const l=uE(r);s[i]=()=>l}}),s}function Iy(a,s){typeof a=="function"?a(s):a.current=s}function dE(a,s){const i=a.ref;return De(typeof i!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),i?V.cloneElement(a,{ref:r=>{Iy(i,r),Iy(s,r)}}):V.cloneElement(a,{ref:s})}class hE{receiveHandlerId(s){this.handlerId!==s&&(this.handlerId=s,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(s){this.dragSourceOptionsInternal=s}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(s){this.dragPreviewOptionsInternal=s}reconnect(){const s=this.reconnectDragSource();this.reconnectDragPreview(s)}reconnectDragSource(){const s=this.dragSource,i=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return i&&this.disconnectDragSource(),this.handlerId?s?(i&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=s,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,s,this.dragSourceOptions)),i):(this.lastConnectedDragSource=s,i):i}reconnectDragPreview(s=!1){const i=this.dragPreview,r=s||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(r&&this.disconnectDragPreview(),!!this.handlerId){if(!i){this.lastConnectedDragPreview=i;return}r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=i,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,i,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!og(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!og(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(s){this.hooks=iw({dragSource:(i,r)=>{this.clearDragSource(),this.dragSourceOptions=r||null,ig(i)?this.dragSourceRef=i:this.dragSourceNode=i,this.reconnectDragSource()},dragPreview:(i,r)=>{this.clearDragPreview(),this.dragPreviewOptions=r||null,ig(i)?this.dragPreviewRef=i:this.dragPreviewNode=i,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=s}}class pE{get connectTarget(){return this.dropTarget}reconnect(){const s=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();s&&this.disconnectDropTarget();const i=this.dropTarget;if(this.handlerId){if(!i){this.lastConnectedDropTarget=i;return}s&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=i,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,i,this.dropTargetOptions))}}receiveHandlerId(s){s!==this.handlerId&&(this.handlerId=s,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(s){this.dropTargetOptionsInternal=s}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!og(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(s){this.hooks=iw({dropTarget:(i,r)=>{this.clearDropTarget(),this.dropTargetOptions=r,ig(i)?this.dropTargetRef=i:this.dropTargetNode=i,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=s}}function fn(){const{dragDropManager:a}=V.useContext(K_);return De(a!=null,"Expected drag drop context"),a}function gE(a,s){const i=fn(),r=V.useMemo(()=>new hE(i.getBackend()),[i]);return li(()=>(r.dragSourceOptions=a||null,r.reconnect(),()=>r.disconnectDragSource()),[r,a]),li(()=>(r.dragPreviewOptions=s||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,s]),r}function mE(){const a=fn();return V.useMemo(()=>new nE(a),[a])}class fE{beginDrag(){const s=this.spec,i=this.monitor;let r=null;return typeof s.item=="object"?r=s.item:typeof s.item=="function"?r=s.item(i):r={},r??null}canDrag(){const s=this.spec,i=this.monitor;return typeof s.canDrag=="boolean"?s.canDrag:typeof s.canDrag=="function"?s.canDrag(i):!0}isDragging(s,i){const r=this.spec,l=this.monitor,{isDragging:u}=r;return u?u(l):i===s.getSourceId()}endDrag(){const s=this.spec,i=this.monitor,r=this.connector,{end:l}=s;l&&l(i.getItem(),i),r.reconnect()}constructor(s,i,r){this.spec=s,this.monitor=i,this.connector=r}}function $E(a,s,i){const r=V.useMemo(()=>new fE(a,s,i),[s,i]);return V.useEffect(()=>{r.spec=a},[a]),r}function bE(a){return V.useMemo(()=>{const s=a.type;return De(s!=null,"spec.type must be defined"),s},[a])}function vE(a,s,i){const r=fn(),l=$E(a,s,i),u=bE(a);li(function(){if(u!=null){const[g,m]=lE(u,l,r);return s.receiveHandlerId(g),i.receiveHandlerId(g),m}},[r,s,i,l,u])}function yE(a,s){const i=ow(a);De(!i.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const r=mE(),l=gE(i.options,i.previewOptions);return vE(i,r,l),[sw(i.collect,r,l),oE(l),iE(l)]}function _E(a){return V.useMemo(()=>a.hooks.dropTarget(),[a])}function wE(a){const s=fn(),i=V.useMemo(()=>new pE(s.getBackend()),[s]);return li(()=>(i.dropTargetOptions=a||null,i.reconnect(),()=>i.disconnectDropTarget()),[a]),i}function CE(){const a=fn();return V.useMemo(()=>new rE(a),[a])}function TE(a){const{accept:s}=a;return V.useMemo(()=>(De(a.accept!=null,"accept must be defined"),Array.isArray(s)?s:[s]),[s])}class kE{canDrop(){const s=this.spec,i=this.monitor;return s.canDrop?s.canDrop(i.getItem(),i):!0}hover(){const s=this.spec,i=this.monitor;s.hover&&s.hover(i.getItem(),i)}drop(){const s=this.spec,i=this.monitor;if(s.drop)return s.drop(i.getItem(),i)}constructor(s,i){this.spec=s,this.monitor=i}}function SE(a,s){const i=V.useMemo(()=>new kE(a,s),[s]);return V.useEffect(()=>{i.spec=a},[a]),i}function EE(a,s,i){const r=fn(),l=SE(a,s),u=TE(a);li(function(){const[g,m]=aE(u,l,r);return s.receiveHandlerId(g),i.receiveHandlerId(g),m},[r,s,l,i,u.map(d=>d.toString()).join("|")])}function IE(a,s){const i=ow(a),r=CE(),l=wE(i.options);return EE(i,r,l),[sw(i.collect,r,l),_E(l)]}function nw(a){let s=null;return()=>(s==null&&(s=a()),s)}function xE(a,s){return a.filter(i=>i!==s)}function DE(a,s){const i=new Set,r=u=>i.add(u);a.forEach(r),s.forEach(r);const l=[];return i.forEach(u=>l.push(u)),l}class AE{enter(s){const i=this.entered.length,r=l=>this.isNodeInDocument(l)&&(!l.contains||l.contains(s));return this.entered=DE(this.entered.filter(r),[s]),i===0&&this.entered.length>0}leave(s){const i=this.entered.length;return this.entered=xE(this.entered.filter(this.isNodeInDocument),s),i>0&&this.entered.length===0}reset(){this.entered=[]}constructor(s){this.entered=[],this.isNodeInDocument=s}}class RE{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(s=>{Object.defineProperty(this.item,s,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${s}" until the drop event.`),null}})})}loadDataTransfer(s){if(s){const i={};Object.keys(this.config.exposeProperties).forEach(r=>{const l=this.config.exposeProperties[r];l!=null&&(i[r]={value:l(s,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,i)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(s,i){return i===s.getSourceId()}endDrag(){}constructor(s){this.config=s,this.item={},this.initializeExposedProperties()}}const rw="__NATIVE_FILE__",aw="__NATIVE_URL__",lw="__NATIVE_TEXT__",cw="__NATIVE_HTML__",xy=Object.freeze(Object.defineProperty({__proto__:null,FILE:rw,HTML:cw,TEXT:lw,URL:aw},Symbol.toStringTag,{value:"Module"}));function Tp(a,s,i){const r=s.reduce((l,u)=>l||a.getData(u),"");return r??i}const ng={[rw]:{exposeProperties:{files:a=>Array.prototype.slice.call(a.files),items:a=>a.items,dataTransfer:a=>a},matchesTypes:["Files"]},[cw]:{exposeProperties:{html:(a,s)=>Tp(a,s,""),dataTransfer:a=>a},matchesTypes:["Html","text/html"]},[aw]:{exposeProperties:{urls:(a,s)=>Tp(a,s,"").split(` +`),dataTransfer:a=>a},matchesTypes:["Url","text/uri-list"]},[lw]:{exposeProperties:{text:(a,s)=>Tp(a,s,""),dataTransfer:a=>a},matchesTypes:["Text","text/plain"]}};function OE(a,s){const i=ng[a];if(!i)throw new Error(`native type ${a} has no configuration`);const r=new RE(i);return r.loadDataTransfer(s),r}function kp(a){if(!a)return null;const s=Array.prototype.slice.call(a.types||[]);return Object.keys(ng).filter(i=>{const r=ng[i];return r!=null&&r.matchesTypes?r.matchesTypes.some(l=>s.indexOf(l)>-1):!1})[0]||null}const ME=nw(()=>/firefox/i.test(navigator.userAgent)),uw=nw(()=>!!window.safari);class Dy{interpolate(s){const{xs:i,ys:r,c1s:l,c2s:u,c3s:d}=this;let g=i.length-1;if(s===i[g])return r[g];let m=0,f=d.length-1,v;for(;m<=f;){v=Math.floor(.5*(m+f));const S=i[v];if(Ss)f=v-1;else return r[v]}g=Math.max(0,f);const w=s-i[g],_=w*w;return r[g]+l[g]*w+u[g]*_+d[g]*w*_}constructor(s,i){const{length:r}=s,l=[];for(let S=0;Ss[S]{let se=new Dy([0,.5,1],[m.y,m.y/v*k,m.y+k-v]).interpolate(_);return uw()&&u&&(se+=(window.devicePixelRatio-1)*k),se},E=()=>new Dy([0,.5,1],[m.x,m.x/f*S,m.x+S-f]).interpolate(w),{offsetX:A,offsetY:R}=l,O=A===0||A,Z=R===0||R;return{x:O?A:E(),y:Z?R:C()}}let FE=class{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var s;return!((s=this.globalContext)===null||s===void 0)&&s.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var s;return((s=this.optionsArgs)===null||s===void 0?void 0:s.rootElement)||this.window}constructor(s,i){this.ownerDocument=null,this.globalContext=s,this.optionsArgs=i}};function jE(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function Ay(a){for(var s=1;s{this.sourcePreviewNodes.delete(s),this.sourcePreviewNodeOptions.delete(s)}}connectDragSource(s,i,r){this.sourceNodes.set(s,i),this.sourceNodeOptions.set(s,r);const l=d=>this.handleDragStart(d,s),u=d=>this.handleSelectStart(d);return i.setAttribute("draggable","true"),i.addEventListener("dragstart",l),i.addEventListener("selectstart",u),()=>{this.sourceNodes.delete(s),this.sourceNodeOptions.delete(s),i.removeEventListener("dragstart",l),i.removeEventListener("selectstart",u),i.setAttribute("draggable","false")}}connectDropTarget(s,i){const r=d=>this.handleDragEnter(d,s),l=d=>this.handleDragOver(d,s),u=d=>this.handleDrop(d,s);return i.addEventListener("dragenter",r),i.addEventListener("dragover",l),i.addEventListener("drop",u),()=>{i.removeEventListener("dragenter",r),i.removeEventListener("dragover",l),i.removeEventListener("drop",u)}}addEventListeners(s){s.addEventListener&&(s.addEventListener("dragstart",this.handleTopDragStart),s.addEventListener("dragstart",this.handleTopDragStartCapture,!0),s.addEventListener("dragend",this.handleTopDragEndCapture,!0),s.addEventListener("dragenter",this.handleTopDragEnter),s.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),s.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),s.addEventListener("dragover",this.handleTopDragOver),s.addEventListener("dragover",this.handleTopDragOverCapture,!0),s.addEventListener("drop",this.handleTopDrop),s.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(s){s.removeEventListener&&(s.removeEventListener("dragstart",this.handleTopDragStart),s.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),s.removeEventListener("dragend",this.handleTopDragEndCapture,!0),s.removeEventListener("dragenter",this.handleTopDragEnter),s.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),s.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),s.removeEventListener("dragover",this.handleTopDragOver),s.removeEventListener("dragover",this.handleTopDragOverCapture,!0),s.removeEventListener("drop",this.handleTopDrop),s.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const s=this.monitor.getSourceId(),i=this.sourceNodeOptions.get(s);return Ay({dropEffect:this.altKeyPressed?"copy":"move"},i||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const s=this.monitor.getSourceId(),i=this.sourcePreviewNodeOptions.get(s);return Ay({anchorX:.5,anchorY:.5,captureDraggingState:!1},i||{})}isDraggingNativeItem(){const s=this.monitor.getItemType();return Object.keys(xy).some(i=>xy[i]===s)}beginDragNativeItem(s,i){this.clearCurrentDragSourceNode(),this.currentNativeSource=OE(s,i),this.currentNativeHandle=this.registry.addSource(s,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(s){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=s;const i=1e3;this.mouseMoveTimeoutTimer=setTimeout(()=>{var r;return(r=this.rootElement)===null||r===void 0?void 0:r.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},i)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var s;(s=this.window)===null||s===void 0||s.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(s,i){s.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(i))}handleDragEnter(s,i){this.dragEnterTargetIds.unshift(i)}handleDragOver(s,i){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(i)}handleDrop(s,i){this.dropTargetIds.unshift(i)}constructor(s,i,r){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=l=>{const u=this.sourceNodes.get(l);return u&&dw(u)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=l=>!!(l&&this.document&&this.document.body&&this.document.body.contains(l)),this.endDragIfSourceWasRemovedFromDOM=()=>{const l=this.currentDragSourceNode;l==null||this.isNodeInDocument(l)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=l=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(l||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<"u"&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=l=>{if(l.defaultPrevented)return;const{dragStartSourceIds:u}=this;this.dragStartSourceIds=null;const d=Rl(l);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(u||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:d});const{dataTransfer:g}=l,m=kp(g);if(this.monitor.isDragging()){if(g&&typeof g.setDragImage=="function"){const v=this.monitor.getSourceId(),w=this.sourceNodes.get(v),_=this.sourcePreviewNodes.get(v)||w;if(_){const{anchorX:S,anchorY:k,offsetX:C,offsetY:E}=this.getCurrentSourcePreviewNodeOptions(),O=PE(w,_,d,{anchorX:S,anchorY:k},{offsetX:C,offsetY:E});g.setDragImage(_,O.x,O.y)}}try{g==null||g.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(l.target);const{captureDraggingState:f}=this.getCurrentSourcePreviewNodeOptions();f?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(m)this.beginDragNativeItem(m);else{if(g&&!g.types&&(l.target&&!l.target.hasAttribute||!l.target.hasAttribute("draggable")))return;l.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=l=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var u;(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}if(!this.enterLeaveCounter.enter(l.target)||this.monitor.isDragging())return;const{dataTransfer:g}=l,m=kp(g);m&&this.beginDragNativeItem(m,g)},this.handleTopDragEnter=l=>{const{dragEnterTargetIds:u}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=l.altKey,u.length>0&&this.actions.hover(u,{clientOffset:Rl(l)}),u.some(g=>this.monitor.canDropOnTarget(g))&&(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=l=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var u;(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}},this.handleTopDragOver=l=>{const{dragOverTargetIds:u}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect="none");return}this.altKeyPressed=l.altKey,this.lastClientOffset=Rl(l),this.scheduleHover(u),(u||[]).some(g=>this.monitor.canDropOnTarget(g))?(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?l.preventDefault():(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=l=>{this.isDraggingNativeItem()&&l.preventDefault(),this.enterLeaveCounter.leave(l.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=l=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var u;l.preventDefault(),(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}else kp(l.dataTransfer)&&l.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=l=>{const{dropTargetIds:u}=this;this.dropTargetIds=[],this.actions.hover(u,{clientOffset:Rl(l)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=l=>{const u=l.target;typeof u.dragDrop=="function"&&(u.tagName==="INPUT"||u.tagName==="SELECT"||u.tagName==="TEXTAREA"||u.isContentEditable||(l.preventDefault(),u.dragDrop()))},this.options=new FE(i,r),this.actions=s.getActions(),this.monitor=s.getMonitor(),this.registry=s.getRegistry(),this.enterLeaveCounter=new AE(this.isNodeInDocument)}}const hw=function(s,i,r){return new zE(s,i,r)},Yl="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20shape-rendering='geometricPrecision'%20image-rendering='optimizeQuality'%20fill-rule='evenodd'%20xmlns:v='https://vecta.io/nano'%3e%3cpath%20fill='%23efda4e'%20d='M-.5-.5h512v512H-.5V-.5z'/%3e%3cpath%20fill='%23020100'%20d='M308.5%20287.5c1.777-3.005%202.777-6.338%203-10%209.147-21.963%2025.48-35.463%2049-40.5%2021.999-4.173%2043.666-2.84%2065%204%2014.575%205.411%2025.575%2014.911%2033%2028.5l-1%202c-12.413%205.624-24.58%2011.624-36.5%2018-5.321-8.25-12.821-13.417-22.5-15.5-13.957-3.122-27.29-1.455-40%205-8.125%205.36-10.958%2012.86-8.5%2022.5%203.223%206.223%208.057%2010.723%2014.5%2013.5l64%2020c38.459%2016.085%2052.626%2044.585%2042.5%2085.5-7.572%2026.208-24.738%2042.041-51.5%2047.5-25.102%205.733-49.768%204.4-74-4-19.291-8.625-32.291-22.958-39-43%2011.266-8.887%2023.433-16.387%2036.5-22.5%203.117%206.896%206.784%2013.563%2011%2020%2012.705%2012.307%2027.872%2016.807%2045.5%2013.5%2022.189-3.504%2032.355-16.338%2030.5-38.5-2.833-6.833-7.667-11.667-14.5-14.5l-57-17c-36.004-11.84-52.67-36.673-50-74.5z'/%3e%3cpath%20fill='%23020200'%20d='M222.5%20238.5h43l-.5%20159c-2.688%2052.355-30.188%2076.855-82.5%2073.5-24.871-3.543-41.204-17.21-49-41l.5-2.5a12.14%2012.14%200%200%200%204.5-3.5c10.653-5.825%2021.32-11.325%2032-16.5%204.763%2021.72%2017.763%2028.887%2039%2021.5%204.616-2.618%207.783-6.451%209.5-11.5%201.163-5.968%202.163-11.968%203-18l.5-161z'/%3e%3cpath%20fill='%23615820'%20d='M311.5%20277.5c-.223%203.662-1.223%206.995-3%2010%20.223-3.662%201.223-6.995%203-10z'/%3e%3c/svg%3e",pw="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20500%20500'%3e%3cpath%20fill='%234285f4'%20d='M44.271%2027.275l206.5%201v170l-58.5-36.5c-7.005-.916-12.505%201.584-16.5%207.5v147c4.625%204.412%2010.125%206.245%2016.5%205.5l57.5-35.5c.833%2054.003%201.356%20108.003.189%20162-1.272.546-45.599-.242-48.689%201.121-3.674%207.844-4.79%2011.207-13%2023.879-4.372%205.527-2.19%204.097-10.689%2012.258-5.166%202.748-4.191%203.45-14.311%206.242-17.67%201.983-35.336%201.983-53%200-9.535-3.774-10.879-4.163-18.526-11.22-5.562-4.39-11.131-11.803-11.974-15.28-4.068-7.881-3.42-9.116-5.5-13.5-3.672-1.503-35.798.203-40.746-1.335-5.823-2.314-2.946-.422-7.954-3.689-2.888-2.668-2.255-3.221-2.421-9.904L20.771%2050.275c.36-2.108-.41-5.806%202.522-11.615%204.343-5.852%205.374-7%2010.061-9.146%206.083-2.73%208.677-1.475%2010.917-2.239z'/%3e%3cpath%20d='M258.271%2030.275l154.63.407c5.654.559%2010.783%203.17%2014.37%207.093%204.907%204.408%206.204%208.723%207.5%2013.5v373c-.208%205.716-.297%207.982-4.848%2015.404-7.078%206.393-9.879%206.39-15.652%206.692-24.804%201.296-50.079%201.189-74.96%201.041-24.516-.014-68.46.89-81.5.391l-2.512-172.528c-20.083%2012.625-42.777%2025.125-63.028%2037.5-4.127%201.292-7.294.125-9.5-3.5l1-137c1.864-2.707%204.364-3.541%207.5-2.5%2020.366%2013.427%2064.35%2038.947%2065.581%2038.339l1.419-177.839z'%20fill='%23DDD'/%3e%3c/svg%3e",gw="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%20width='32'%20height='32'%3e%3cpath%20fill='%23007acc'%20d='M-.5-.5h503l-1%20179h10v333h-421v-7h-91V-.5z'/%3e%3cpath%20fill='%230f81cf'%20d='M502.5-.5h9v179h-10l1-179z'/%3e%3cpath%20fill='%23fdfefe'%20d='M470.5%20227.5c.33%2017.508-.003%2034.841-1%2052-23.486-15.709-48.82-19.875-76-12.5-15.89%208.078-19.39%2019.911-10.5%2035.5%204.673%205.577%2010.173%2010.077%2016.5%2013.5l38%2019c17.945%209.278%2031.112%2023.112%2039.5%2041.5%201.352%203.22%202.186%206.553%202.5%2010a305.16%20305.16%200%200%201%201%2026c-3.553%2033.726-21.886%2054.559-55%2062.5-34.769%207.363-68.435%204.196-101-9.5-.167-19.003%200-38.003.5-57%2022.903%2021.314%2049.736%2029.147%2080.5%2023.5%2019.435-5.701%2025.268-17.868%2017.5-36.5-4.718-6.44-10.552-11.606-17.5-15.5a1552.42%201552.42%200%200%201-47-24c-27.679-19.331-38.846-45.831-33.5-79.5%206.43-26.433%2022.597-43.933%2048.5-52.5%2026.131-6.625%2052.464-7.292%2079-2a565.56%20565.56%200%200%201%2018%205.5z'/%3e%3cpath%20fill='%23fefefe'%20d='M122.5%20222.5h182v46h-65v206h-52v-206h-65v-46z'/%3e%3cpath%20fill='%2370b3e1'%20d='M470.5%20227.5c1.327%2017.505%201.327%2035.171%200%2053-.607-.124-.94-.457-1-1%20.997-17.159%201.33-34.492%201-52z'/%3e%3cpath%20fill='%236cafe0'%20d='M479.5%20386.5c1.465%205.09%202.132%2010.423%202%2016-.002%203.518-.335%206.851-1%2010a305.16%20305.16%200%200%200-1-26z'/%3e%3cpath%20fill='%231283cf'%20d='M-.5%20504.5h91v7h-91v-7z'/%3e%3c/svg%3e",mw="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0ibXlHcmFkaWVudCI+CiAgICAgICAgPHN0b3Agb2Zmc2V0PSIxMCUiIHN0b3AtY29sb3I9IiMxQzJENUYiIC8+CiAgICAgICAgPHN0b3Agb2Zmc2V0PSI5NSUiIHN0b3AtY29sb3I9IiMwQjFENTMiIC8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPHBhdGggZmlsbD0idXJsKCcjbXlHcmFkaWVudCcpIiBkPSJNLS4xLS4xaDUxMnY1MTJILS4xVi0uMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNmOGY4ZmEiCiAgICAgICAgICBkPSJNNDgyLjUgMjMxLjV2NmgtMjVjLS45NzItOC4xNy01LjYzOS0xMi4xNy0xNC0xMi05LjUzMS4wMjktMTMuMzY1IDQuNjk1LTExLjUgMTRsNC41IDQuNSAzMyA4YzE5LjM4OCA5LjYzNCAyMy4zODggMjMuODAxIDEyIDQyLjVhMzUuMDYgMzUuMDYgMCAwIDAtOCA2Yy0xMy45MjUgNC43NjEtMjguMjU4IDYuMjYxLTQzIDQuNS0xMC42MDEtMS4wMjQtMTguOTM1LTUuODU3LTI1LTE0LjUtMS4wNzctMi4yMjktMS43NDQtNC41NjMtMi03di04aDI1YzEuNDk1IDQuMjc5IDMuODI4IDguMTEzIDcgMTEuNSA3LjQ3OCAyLjI1OCAxNC44MTEgMS45MjUgMjItMSAyLjg5NC0yLjkwOSAzLjcyNy02LjQwOSAyLjUtMTAuNWEzNi44IDM2LjggMCAwIDAtMTIuNS01LjUgNTM5Ljc5IDUzOS43OSAwIDAgMS0yOC04Yy0xMi44NzQtNi41NjItMTcuNzA3LTE3LjA2Mi0xNC41LTMxLjUgMy41Ny0xMC41NjkgMTAuNzM3LTE3LjQwMyAyMS41LTIwLjUgMTYuMTQ4LTQuNTM5IDMxLjQ4Mi0yLjcwNiA0NiA1LjUgMiAyLjY2NyA0LjMzMyA1IDcgNyAxLjg3MSAyLjczNCAyLjg3MSA1LjczNCAzIDl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTRhYmJmIiBkPSJNMTUzLjUgMjA5LjVjLjA2LS41NDMuMzkzLS44NzYgMS0xYTEwMjQuNjMgMTAyNC42MyAwIDAgMSAxIDY0bC0yLTYzeiIvPgogICAgPHBhdGggZmlsbD0iI2ZhZmJmYyIKICAgICAgICAgIGQ9Ik0xNTMuNSAyMDkuNWwyIDYzYzEuMjc4IDExLjQ0NCA3LjYxMSAxNi4yNzcgMTkgMTQuNSA4LjcwNC0xLjM3OCAxMy4yMDQtNi41NDQgMTMuNS0xNS41LjUtMjAuNjY0LjY2Ny00MS4zMzEuNS02MiA5Ljc0My0uMjE5IDE5LjQwOS0uMjE5IDI5IDAgLjQwMSAyMy4zNjItLjA5OSA0Ni42OTYtMS41IDcwLTQuMjk4IDE0Ljk2OC0xNC4xMzEgMjMuNDY4LTI5LjUgMjUuNWEyMjUuMTQgMjI1LjE0IDAgMCAxLTMwIDBjLTE1LjgyMi0yLjE1NS0yNS42NTUtMTAuOTg4LTI5LjUtMjYuNWwtLjUtNjloMjd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjZmVmZWZlIgogICAgICAgICAgZD0iTTIzMy41IDIwOS41aDI3Yy0uMzMxIDI1LjE3Mi4wMDIgNTAuMTcyIDEgNzUgMCAuNjY3LjMzMyAxIDEgMSAxMy4xNTYuOTk2IDI2LjQ5IDEuMzI5IDQwIDF2MTdoLTY5di05NHoiLz4KICAgIDxwYXRoIGZpbGw9IiNhNWFjYmYiIGQ9Ik0yMzMuNSAyMDkuNWM5LjE1Mi0uOTk0IDE4LjQ4NS0xLjMyNyAyOC0xdjc2Yy0uOTk4LTI0LjgyOC0xLjMzMS00OS44MjgtMS03NWgtMjd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTdhZWMxIiBkPSJNMzE2LjUgMjA5LjVoNzNjLjMyMyA2LjE5LS4wMSAxMi4xOS0xIDE4di0xN2MtMjQuMTcyLjMzMS00OC4xNzItLjAwMi03Mi0xeiIvPgogICAgPHBhdGggZmlsbD0iI2E1YWNjMCIgZD0iTTg1LjUgMjEwLjVoLTU5djkzaDI3Yy0uMzI4LTExLjE3OS4wMDUtMjIuMTc5IDEtMzN2MzRoLTI5di05NWE5MDAuOTggOTAwLjk4IDAgMCAxIDYwIDF6Ii8+CiAgICA8cGF0aCBmaWxsPSIjZmNmY2ZjIgogICAgICAgICAgZD0iTTg1LjUgMjEwLjVjMjIuMjIzIDMuNzU4IDI5LjU1NiAxNi40MjUgMjIgMzgtNC4yMjggNS4zOTctOS4yMjggOS44OTctMTUgMTMuNS0xLjMwNS44MDQtMS45NzEgMS45NzEtMiAzLjVsMjMgMzZjLTQuNDUxIDEuMzI3LTkuMjg0IDEuOTk0LTE0LjUgMmExMjguMTkgMTI4LjE5IDAgMCAxLTE1LjUtMWMtNi45NTUtMTAuMzI2LTEzLjQ1NS0yMC45OTItMTkuNS0zMi0zLjI2OS0xLjMxOC02LjQzNS0xLjMxOC05LjUgMC0uOTk1IDEwLjgyMS0xLjMyOCAyMS44MjEtMSAzM2gtMjd2LTkzaDU5eiIvPgogICAgPHBhdGggZmlsbD0iI2ZlZmVmZSIKICAgICAgICAgIGQ9Ik0zMTYuNSAyMDkuNWMyMy44MjguOTk4IDQ3LjgyOCAxLjMzMSA3MiAxdjE3Yy0xNC42Ny0uMTY3LTI5LjMzNyAwLTQ0IC41LTEuMzI2IDYuNTk5LTEuMzI2IDEzLjA5OSAwIDE5LjUgMTQuNDkuOTk2IDI5LjE1NyAxLjMyOSA0NCAxdjE2Yy0xNC44NDMtLjMyOS0yOS41MS4wMDQtNDQgMWE1MC41MSA1MC41MSAwIDAgMCAwIDIwYzE0LjQ5Ljk5NiAyOS4xNTcgMS4zMjkgNDQgMXYxN2gtNzNjLS4zMzItMzEuNTA0LjAwMi02Mi44MzggMS05NHoiLz4KICAgIDxwYXRoIGZpbGw9IiMxODI3NWIiCiAgICAgICAgICBkPSJNNTUuNSAyMjkuNWM3LjA4OS0uMzg0IDE0LjA4OS4xMTYgMjEgMS41IDMuNDAxIDEuMzIgNC43MzUgMy44MiA0IDcuNWwtLjUgNWMtMS43NzEuODA0LTMuMjcxIDEuOTcxLTQuNSAzLjUtNi41OTIgMS4zMjktMTMuMjU5IDEuODI5LTIwIDEuNXYtMTl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTVhY2MwIiBkPSJNNDgyLjUgMjMxLjVjLjk2OCAyLjEwNyAxLjMwMiA0LjQ0MSAxIDctOC44NDkuMzI2LTE3LjUxNi0uMDA3LTI2LTFoMjV2LTZ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTZhZGMwIiBkPSJNMzQ0LjUgMjQ3LjVoNDV2MThoLTQ1YzE0LjQ5LS45OTYgMjkuMTU3LTEuMzI5IDQ0LTF2LTE2Yy0xNC44NDMuMzI5LTI5LjUxLS4wMDQtNDQtMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNhMmE5YmUiIGQ9Ik00MjguNSAyNzUuNWgtMjV2OGMtLjk3Ny0yLjc4Ny0xLjMxLTUuNzg3LTEtOSA4Ljg0OS0uMzI2IDE3LjUxNi4wMDcgMjYgMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNhNWFjYmYiCiAgICAgICAgICBkPSJNMTEzLjUgMzAxLjVjLjk3OC4zMTEgMS42NDUuOTc4IDIgMmwtMTYgMWMtNS43MTEtLjAwNS0xMS4wNDQtLjY3Mi0xNi0yYTEyOC4xOSAxMjguMTkgMCAwIDAgMTUuNSAxYzUuMjE2LS4wMDYgMTAuMDQ5LS42NzMgMTQuNS0yeiIvPgogICAgPHBhdGggZmlsbD0iI2E1YWNjMCIgZD0iTTIzMy41IDIwOS41djk0aDY5di0xN2MtMTMuNTEuMzI5LTI2Ljg0NC0uMDA0LTQwLTFoNDF2MTloLTcxYTIyNTYuNDEgMjI1Ni40MSAwIDAgMSAxLTk1eiIvPgogICAgPHBhdGggZmlsbD0iI2E2YWNjMCIKICAgICAgICAgIGQ9Ik0zMTYuNSAyMDkuNWMtLjk5OCAzMS4xNjItMS4zMzIgNjIuNDk2LTEgOTRoNzN2LTE3Yy0xNC44NDMuMzI5LTI5LjUxLS4wMDQtNDQtMWg0NXYxOWgtNzVhMjMwNC45NSAyMzA0Ljk1IDAgMCAxIDEtOTZjLjYwNy4xMjQuOTQuNDU3IDEgMXoiLz4KPC9zdmc+",UE=Gt([p.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),p.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime"),HE=Gt(p.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4z"}),"AddBox"),WE=Gt(p.jsx("path",{d:"M4 8h4V4H4zm6 12h4v-4h-4zm-6 0h4v-4H4zm0-6h4v-4H4zm6 0h4v-4h-4zm6-10v4h4V4zm-6 4h4V4h-4zm6 6h4v-4h-4zm0 6h4v-4h-4z"}),"Apps"),GE=Gt(p.jsx("path",{d:"M9 2c-1.05 0-2.05.16-3 .46 4.06 1.27 7 5.06 7 9.54s-2.94 8.27-7 9.54c.95.3 1.95.46 3 .46 5.52 0 10-4.48 10-10S14.52 2 9 2"}),"Brightness3"),VE=Gt(p.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2zm-1 7h5.5L14 6.5z"}),"FileCopy"),KE=Gt(p.jsx("path",{d:"M7 2v11h3v9l7-12h-4l4-8z"}),"FlashOn"),YE=Gt(p.jsx("path",{d:"M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z"}),"Functions"),fw=Gt(p.jsx("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline"),JE=Gt(p.jsx("path",{d:"M6 19h4V5H6zm8-14v14h4V5z"}),"Pause"),XE=Gt(p.jsx("path",{d:"M8 5v14l11-7z"}),"PlayArrow"),qE=Gt(p.jsx("path",{d:"M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4z"}),"PlayForWork"),ZE=Gt(p.jsx("path",{d:"M10.59 9.17 5.41 4 4 5.41l5.17 5.17zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4zm.33 9.41-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04z"}),"Shuffle"),QE=Gt(p.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage"),eI=Gt(p.jsx("path",{d:"M14 17H4v2h10zm6-8H4v2h16zM4 15h16v-2H4zM4 5v2h16V5z"}),"Subject");class Ag extends X.Component{isShowInstance;oldId;constructor(s){super(s),this.state={name:s.name,id:s.id,instance:s.instance||0,prefix:Ag.getPrefix(s.id)},this.isShowInstance=!s.folder&&!!s.instances&&(!!s.instance||!!s.instances[0]||s.instances.length>1),this.oldId=s.id}static getPrefix(s){const i=(s||"").split(".");return i.pop(),i.join(".")}getId(s){return s=(s||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),`${this.state.prefix}.${s}`}handleCancel=()=>{this.props.onClose()};handleOk=()=>{this.props.onRename(this.oldId,this.state.id,this.state.name,this.state.instance===0?0:this.state.instance||void 0),this.props.onClose()};handleChange=s=>{this.setState({name:s,id:this.getId(s)})};render(){return p.jsxs(y.Dialog,{onClose:()=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[p.jsx(y.DialogTitle,{id:"confirmation-dialog-title",children:b.I18n.t("Rename")}),p.jsx(y.DialogContent,{children:p.jsxs("form",{noValidate:!0,autoComplete:"off",children:[p.jsx(y.TextField,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,label:b.I18n.t("Name"),value:this.state.name,onKeyUp:s=>{s.key==="Enter"&&(s.preventDefault(),setTimeout(()=>this.handleOk(),200))},onChange:s=>this.handleChange(s.target.value),margin:"normal"}),p.jsx(y.TextField,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:b.I18n.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&p.jsxs(y.FormControl,{variant:"standard",children:[p.jsx(y.InputLabel,{htmlFor:"instance",children:b.I18n.t("Instance")}),p.jsx(y.Select,{variant:"standard",value:this.state.instance,onChange:s=>this.setState({instance:parseInt(s.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:this.props.instances.map(s=>p.jsx(y.MenuItem,{value:s,children:s||"0"},s))})]})]})}),p.jsxs(y.DialogActions,{children:[p.jsx(y.Button,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:p.jsx(di,{}),children:b.I18n.t("Ok")}),p.jsx(y.Button,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:p.jsx(lo,{}),children:b.I18n.t("Cancel")})]})]})}}class tI extends X.Component{constructor(s){super(s),this.state={name:s.name,id:s.id}}handleCancel=()=>{this.props.onClose()};handleOk=()=>{this.props.onDelete(this.state.id),this.props.onClose()};render(){return p.jsxs(y.Dialog,{onClose:()=>!1,maxWidth:"md",open:!0,"aria-labelledby":"confirmation-dialog-title",children:[p.jsx(y.DialogTitle,{id:"confirmation-dialog-title",children:b.I18n.t("Are you sure?")}),p.jsxs(y.DialogContent,{children:[p.jsx(NT,{}),p.jsx("span",{style:{fontSize:14,fontWeight:"bold"},children:b.I18n.t("Delete %s",this.state.name)})]}),p.jsxs(y.DialogActions,{children:[p.jsx(y.Button,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:p.jsx(di,{}),children:b.I18n.t("Ok")}),p.jsx(y.Button,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:p.jsx(lo,{}),children:b.I18n.t("Cancel")})]})]})}}const sI=""+new URL("tileJS-C48gYbHw.png",import.meta.url).href,oI=""+new URL("tileTS-CsXmgy4B.png",import.meta.url).href,iI=""+new URL("tileBlockly-BMpdinN3.png",import.meta.url).href,nI=""+new URL("tileRules-BkbaFIhs.png",import.meta.url).href,Rt={card:{maxWidth:345,minWidth:250,display:"inline-block",margin:"0 10px 0 10px"},media:{height:122},text:{maxWidth:218,minHeight:30},complexity:{fontWeight:"bold",fontStyle:"italic",marginBottom:8}};class rn extends X.Component{handleCancel=()=>{this.props.onClose()};static openHtml(s){const i=b.I18n.getLanguage();!s.includes("javascript.md")&&(i==="de"||i==="ru")&&(s=s.replace(/\/en\//,`/${i}/`));const r=window.open(s,"_blank");r==null||r.focus()}getJSCard(){return p.jsxs(y.Card,{style:Rt.card,children:[p.jsxs(y.CardActionArea,{onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:[p.jsx(y.CardMedia,{style:Rt.media,image:sI,title:"JavaScript"}),p.jsxs(y.CardContent,{children:[p.jsx("h2",{children:"JavaScript"}),p.jsx("div",{style:Rt.complexity,children:b.I18n.t("for programmers")}),p.jsx("div",{style:Rt.text,children:b.I18n.t("JS description")})]})]}),p.jsxs(y.CardActions,{children:[p.jsx(y.Button,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:b.I18n.t("Add")}),p.jsx(y.Button,{size:"small",color:"secondary",onClick:()=>rn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}getTSCard(){return p.jsxs(y.Card,{style:Rt.card,children:[p.jsxs(y.CardActionArea,{onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:[p.jsx(y.CardMedia,{style:Rt.media,image:oI,title:"TypeScript"}),p.jsxs(y.CardContent,{children:[p.jsx("h2",{children:"TypeScript"}),p.jsx("div",{style:Rt.complexity,children:b.I18n.t("for professionals")}),p.jsx("div",{style:Rt.text,children:b.I18n.t("TS description")})]})]}),p.jsxs(y.CardActions,{children:[p.jsx(y.Button,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:b.I18n.t("Add")}),p.jsx(y.Button,{size:"small",color:"secondary",onClick:()=>rn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}getBlocklyCard(){return p.jsxs(y.Card,{style:Rt.card,children:[p.jsxs(y.CardActionArea,{onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:[p.jsx(y.CardMedia,{style:Rt.media,image:iI,title:"Blockly"}),p.jsxs(y.CardContent,{children:[p.jsx("h2",{children:"Blockly"}),p.jsx("div",{style:Rt.complexity,children:b.I18n.t("normal")}),p.jsx("div",{style:Rt.text,children:b.I18n.t("Blockly description")})]})]}),p.jsxs(y.CardActions,{children:[p.jsx(y.Button,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:b.I18n.t("Add")}),p.jsx(y.Button,{size:"small",color:"secondary",onClick:()=>rn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md"),children:b.I18n.t("Learn More")})]})]})}getRulesCard(){return p.jsxs(y.Card,{style:Rt.card,children:[p.jsxs(y.CardActionArea,{onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:[p.jsx(y.CardMedia,{style:Rt.media,image:nI,title:"Rules"}),p.jsxs(y.CardContent,{children:[p.jsx("h2",{children:"Rules"}),p.jsx("div",{style:Rt.complexity,children:b.I18n.t("easy")}),p.jsx("div",{style:Rt.text,children:b.I18n.t("Rules description")})]})]}),p.jsxs(y.CardActions,{children:[p.jsx(y.Button,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:b.I18n.t("Add")}),p.jsx(y.Button,{size:"small",color:"secondary",onClick:()=>rn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}render(){return p.jsxs(y.Dialog,{onClose:()=>!1,maxWidth:"lg",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[p.jsx(y.DialogTitle,{id:"confirmation-dialog-title",children:b.I18n.t("Add new script")}),p.jsxs(y.DialogContent,{style:{textAlign:"center"},children:[this.getRulesCard(),this.getBlocklyCard(),this.getJSCard(),this.getTSCard()]}),p.jsx(y.DialogActions,{children:p.jsx(y.Button,{color:"grey",onClick:this.handleCancel,startIcon:p.jsx(lo,{}),children:b.I18n.t("Cancel")})})]})}}class Sp extends X.Component{isShowInstance;constructor(s){super(s),this.state={name:s.name||"Script",instance:s.instance||0,parent:s.parent,error:"",id:""},this.isShowInstance=!s.folder&&!!s.instances&&(!!s.instance||!!s.instances[0]||s.instances.length>1)}getId(s){return s=s||this.state.name||"",s=s.replace(/[\\/\][.*,;'"`<>?\s]/g,"_").trim().replace(/\.$/,"_"),`${this.state?this.state.parent:this.props.parent}.${s}`}handleOk=()=>{this.props.onAdd(this.getId(this.state.name),this.state.name,this.state.instance,this.props.type),this.props.onClose()};render(){var s;return console.log(this.state.name),p.jsxs(y.Dialog,{onClose:()=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[p.jsx(y.DialogTitle,{id:"confirmation-dialog-title",children:this.props.title||b.I18n.t("Create new")}),p.jsx(y.DialogContent,{children:p.jsxs("form",{noValidate:!0,autoComplete:"off",children:[p.jsx(y.TextField,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,error:!!this.state.error,label:b.I18n.t("Name"),value:this.state.name||"",helperText:this.state.error,slotProps:{input:{endAdornment:this.state.name?p.jsx(y.IconButton,{size:"small",onClick:()=>this.setState({name:""}),children:p.jsx(LT,{})}):void 0}},onKeyUp:i=>{i.preventDefault(),i.key==="Enter"&&!this.state.error&&setTimeout(()=>this.handleOk(),200)},onChange:i=>{var u;const r=i.target.value,l=this.getId(r);r?(u=this.props.existingItems)!=null&&u.includes(l)?this.setState({name:r,id:l,error:b.I18n.t("Duplicate name")}):(console.log(`Set name: "${r}"`),this.setState({name:r,id:l,error:""})):this.setState({name:r,id:l,error:b.I18n.t("Empty name is not allowed")})},margin:"normal"}),p.jsxs(y.FormControl,{variant:"standard",style:{width:"100%"},children:[p.jsx(y.InputLabel,{htmlFor:"parent",children:b.I18n.t("Folder")}),p.jsx(y.Select,{variant:"standard",style:{width:"100%"},value:this.state.parent,onChange:i=>this.setState({parent:i.target.value}),inputProps:{name:"parent",id:"parent"},children:this.props.parents.map(i=>{const r=i.id.split(".");r.splice(0,2);const l=[];let u="script.js";return r.forEach(d=>{u+=`.${d}`;const g=this.props.parents.find(m=>m.id===u);g?l.push(g.name):l.push(d)}),l.length||l.push(i.name),p.jsx(y.MenuItem,{value:i.id,children:l.join(" / ")},i.id)})})]}),p.jsx(y.TextField,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:b.I18n.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&p.jsxs(y.FormControl,{variant:"standard",children:[p.jsx(y.InputLabel,{htmlFor:"instance",children:b.I18n.t("Instance")}),p.jsx(y.Select,{variant:"standard",value:this.state.instance,onChange:i=>this.setState({instance:parseInt(i.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:(s=this.props.instances)==null?void 0:s.map(i=>p.jsx(y.MenuItem,{value:i,children:i||"0"},`instance${i}`))})]})]})}),p.jsxs(y.DialogActions,{children:[p.jsx(y.Button,{variant:"contained",onClick:this.handleOk,disabled:!!this.state.error,color:"primary",startIcon:p.jsx(di,{}),children:b.I18n.t("Ok")}),p.jsx(y.Button,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:p.jsx(lo,{}),children:b.I18n.t("Cancel")})]})]})}}const rI={title:a=>({background:a.palette.error.main,color:a.palette.error.contrastText,"&>h2":{color:a.palette.error.contrastText}})};class kc extends X.Component{handleOk=()=>{this.props.onClose()};render(){return p.jsxs(y.Dialog,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[p.jsx(y.DialogTitle,{sx:rI.title,id:"alert-dialog-title",children:this.props.title||b.I18n.t("Error")}),p.jsx(y.DialogContent,{children:p.jsx(y.DialogContentText,{id:"alert-dialog-description",children:this.props.text||b.I18n.t("Unknown error!")})}),p.jsx(y.DialogActions,{children:p.jsx(y.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:p.jsx(di,{}),children:b.I18n.t("Ok")})})]})}}const fr={icon:{width:24,height:24},filterWithButton:{width:"100%"},title:{fontWeight:"bold",marginTop:16}};class aI extends X.Component{constructor(s){super(s),this.state={instances:[],filter:window.localStorage.getItem("javascript.debug.filter")||"",showAskForStop:!1,jsInstance:window.localStorage.getItem("javascript.debug.instance")||"",jsInstanceHost:"",adapterToDebug:window.localStorage.getItem("javascript.debug.adapter")||""}}componentDidMount(){this.props.socket.getAdapterInstances().then(s=>{const i=s.filter(g=>{var m;return g&&!((m=g.common)!=null&&m.onlyWWW)}).map(g=>{var v,w,_;const m=g._id.replace(/^system\.adapter\./,""),[f]=m.split(".");return{id:m,enabled:(v=g.common)==null?void 0:v.enabled,host:(w=g.common)==null?void 0:w.host,icon:(_=g.common)!=null&&_.icon?`../../adapter/${f}/${g.common.icon}`:""}});i.sort((g,m)=>g.id>m.id?1:g.idg.id===this.state.jsInstance):null;let u;if(!this.state.jsInstance||!l){const g=i.find(m=>m.id.startsWith("javascript."));u=(g==null?void 0:g.host)||"",r=(g==null?void 0:g.id)||""}else u=(l==null?void 0:l.host)||"";let d=this.state.adapterToDebug||"";d&&!i.find(g=>g.id===d)&&(d=""),this.setState({instances:i,jsInstance:r,adapterToDebug:d,jsInstanceHost:u})})}handleOk=()=>{var s;if((s=this.state.instances.find(i=>i.id===this.state.adapterToDebug))!=null&&s.enabled){this.props.socket.getObject(`system.adapter.${this.state.adapterToDebug}`).then(i=>{i&&(i.common.enabled=!1,this.props.socket.setObject(i._id,i).then(()=>this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)))});return}this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)};renderJavascriptList(){const s=this.state.instances.filter(i=>i.id.startsWith("javascript."));return s.length<2?null:p.jsxs(y.Grid2,{children:[p.jsx("div",{style:fr.title,children:b.I18n.t("Host")}),p.jsx(y.List,{component:"nav",children:s.map(i=>p.jsxs(y.ListItemButton,{component:"div",selected:this.state.jsInstance===i.id,onClick:()=>this.setState({jsInstance:i.id,jsInstanceHost:i.host}),children:[p.jsx(y.ListItemIcon,{children:p.jsx("img",{src:i.icon,alt:i.id,style:fr.icon})}),p.jsx(y.ListItemText,{primary:i.id})]},i.id))})]})}renderInstances(){if(!this.state.jsInstance)return p.jsx(y.Grid2,{});const s=this.state.instances.filter(i=>i.id!==this.state.jsInstance&&i.host===this.state.jsInstanceHost&&(!this.state.filter||i.id.includes(this.state.filter.toLowerCase())));return p.jsxs(y.Grid2,{children:[p.jsx("div",{style:fr.title,children:b.I18n.t("Instances")}),p.jsx(y.List,{component:"nav",children:s.map(i=>p.jsxs(y.ListItemButton,{selected:this.state.adapterToDebug===i.id,onDoubleClick:()=>this.setState({adapterToDebug:i.id},()=>this.handleOk()),onClick:()=>this.setState({adapterToDebug:i.id}),children:[p.jsx(y.ListItemIcon,{children:p.jsx("img",{src:i.icon,alt:i.id,style:fr.icon})}),p.jsx(y.ListItemText,{primary:i.id})]},i.id))})]})}render(){return p.jsxs(y.Dialog,{maxWidth:"md",fullWidth:!1,open:!0,onClose:()=>!1,"aria-labelledby":"confirmation-dialog-title",children:[p.jsx(y.DialogTitle,{id:"confirmation-dialog-title",children:this.props.title||b.I18n.t("Debug instance")}),p.jsx(y.DialogContent,{children:p.jsxs(y.Grid2,{container:!0,direction:"column",children:[p.jsx(y.Grid2,{children:p.jsx(y.Input,{style:fr.filterWithButton,value:this.state.filter,placeholder:b.I18n.t("Filter"),onChange:s=>{this.setState({filter:s.target.value}),window.localStorage.setItem("javascript.debug.filter",s.target.value)},endAdornment:p.jsx(y.InputAdornment,{position:"end",children:this.state.filter?p.jsx(y.IconButton,{size:"small","aria-label":"toggle password visibility",onClick:()=>this.setState({filter:""}),children:p.jsx(BT,{})}):""})})}),p.jsx(y.Grid2,{children:p.jsxs(y.Grid2,{container:!0,children:[this.renderJavascriptList(),this.renderInstances()]})})]})}),p.jsxs(y.DialogActions,{children:[p.jsx(y.Button,{variant:"contained",onClick:this.handleOk,disabled:!this.state.jsInstance||!this.state.adapterToDebug,color:"primary",startIcon:p.jsx(di,{}),children:b.I18n.t("Start")}),p.jsx(y.Button,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:p.jsx(lo,{}),children:b.I18n.t("Close")})]})]})}}const lI=48,Ry=R_[400],Oy=AT[400],My=O_[400],Ft="script.js",Qi=`${Ft}.common`,ro=`${Ft}.global`,$r=350,cI=16,$w={background:"#164477",color:"white"},_e={drawerPaper:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},toolbar:a=>({height:a.toolbar.height}),toolbarButtons:a=>({color:a.palette.mode==="dark"?"white !important":"black !important"}),iconButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},toolbarSearch:{width:"calc(100% - 105px)",lineHeight:"34px",marginLeft:5},iconButtons:{width:32,height:32,padding:2},iconDropdownMenu:{paddingRight:5},menu:{width:"100%",height:"100%"},innerMenu:{width:"100%",height:"calc(100% - 76px)",overflowX:"hidden",overflowY:"auto"},listItemIcon:{minWidth:32},scriptIcon:{width:18,height:18,borderRadius:2,marginTop:4,marginBottom:4,marginLeft:8,marginRight:4},folder:{cursor:"pointer",padding:0,userSelect:"none"},folderReorder:{opacity:.3,transitionDuration:"0.5s",transitionProperty:"opacity"},folderIcon:{width:20,height:20},folderIconReorder:{paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},folderIconNoReorder:{cursor:"pointer",paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},script:{cursor:"pointer",padding:0,userSelect:"none"},scriptReorder:{opacity:1,transitionDuration:"0.5s",transitionProperty:"opacity"},reorder:{},selected:$w,instances:{color:"gray",fontSize:"smaller"},childrenCount:{fontSize:10,opacity:.4},footer:{height:24,display:"flex"},footerButtons:a=>({"& img":{color:a.palette.mode==="dark"?"#ffffff":"#111111",cursor:"pointer",mt:"1px",mr:"2px",height:22,width:22,"&:hover":{backgroundColor:"#dbdbdb"}},"& svg":{color:a.palette.mode==="dark"?"#ffffff":"#111111",cursor:"pointer",mt:"1px",mr:"2px",height:22,width:22,"&:hover":{backgroundColor:"#dbdbdb"}}}),footerButtonsRight:{float:"right"}},en={Blockly:pw,"Javascript/js":Yl,def:Yl,Rules:mw,"TypeScript/ts":gw};function rg(a,s,i){var r;return i=i||b.I18n.getLanguage(),(r=s==null?void 0:s.common)!=null&&r.name?typeof s.common.name=="object"?(s.common.name[i]||s.common.name.en||a.replace(/^script\.js./,"")).toString():s.common.name.toString():a.replace(/^script\.js./,"")}function Ny(a){var l;const s=[{id:Ft,depth:0,index:0,parent:null,title:"root",type:"folder",parentIndex:null}],i=Object.keys(a);for(let u=0;u1?g.join("."):null,instance:d.common.engine?parseInt(d.common.engine.split(".").pop(),10)||0:null,index:0,parentIndex:0}):s.push({id:i[u],title:rg(i[u],d),depth:g.length-1,type:"folder",parent:g.length>1?g.join("."):null,index:0,parentIndex:null})}let r;do r=!1,s.forEach(u=>{if(u.parent&&!s.find(g=>g.id===u.parent)){const g=u.parent.split(".");g.pop(),s.push({id:u.parent,title:u.parent.split(".").pop()||"",depth:g.length-1,type:"folder",parent:g.length>1?g.join("."):null,index:0,parentIndex:null}),r=!0}});while(r);return s.sort((u,d)=>{const g=u.id.toLowerCase(),m=d.id.toLowerCase();return u.type==="folder"&&d.type!=="folder"?-1:d.type==="folder"&&u.type!=="folder"||g>m?1:gu.index=d),s.forEach(u=>{if(u.parent){const d=s.find(g=>g.id===u.parent);d&&(u.parentIndex=d.index)}}),s}function uI(a){const{onDrop:s}=a,[{isOver:i,isOverAny:r},l]=IE({accept:"script",drop:u=>i?s(u):void 0,collect:u=>({isOver:u.isOver({shallow:!0}),isOverAny:u.isOver()})});return p.jsx("div",{ref:l,style:{background:i?"#40adff":void 0,opacity:r?.7:void 0},children:a.children},a.folderName)}function Ly(a){const{name:s}=a,[{opacity:i},r]=yE({type:"script",item:()=>({name:s}),collect:l=>({opacity:l.isDragging()?.3:1})});return p.jsx("div",{ref:r,style:{opacity:i,transform:"translate3d(0, 0, 0)"},children:a.children},s)}class ao extends X.Component{inputRef;filterTimer;problems;problemsTimer;onProblemUpdatedBound;parent=null;constructor(s){super(s);const i=window.localStorage?window.localStorage.getItem("SideMenu.expanded"):"[]";let r;try{r=JSON.parse(i||"[]")||[]}catch{r=[]}this.inputRef=X.createRef(),this.state={listItems:Ny(s.scripts||{}),expanded:r,problems:[],reorder:!1,themeName:this.props.themeName,selected:window.localStorage&&window.localStorage.getItem("SideMenu.selected")||null,creatingScript:null,creatingFolder:!1,copingScript:"",renaming:null,deleting:null,choosingType:!1,errorText:"",instances:s.instances||[],menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null,searchMode:!1,expertMode:this.props.expertMode,searchText:"",width:this.props.width||300,typeFilter:window.localStorage&&window.localStorage.getItem("SideMenu.typeFilter")||"",statusFilter:window.localStorage&&window.localStorage.getItem("SideMenu.statusFilter")||"",runningInstances:this.props.runningInstances||{},scriptsHash:s.scriptsHash,showAdapterDebug:!1,isAllZeroInstances:!1};const l=this.ensureSelectedIsVisible();l&&Object.assign(this.state,{expanded:l}),this.filterTimer=null,Object.assign(this.state,{isAllZeroInstances:this.getIsAllZeroInstances()}),this.problems=null,this.problemsTimer=null,this.onProblemUpdatedBound=this.onProblemUpdated.bind(this)}readProblems(s,i){var r,l;if(i||(i=Object.keys(this.props.scripts)),!i||!i.length)s&&s();else{const u=i.shift(),d=this.props.scripts[u];if(((r=this.props.scripts)==null?void 0:r[u].type)==="script"&&((l=d.common)!=null&&l.enabled)&&!u.match(/^script\.js\.global\./)){const g=d.common.engine.split(".").pop(),m=this,f=`javascript.${g}.scriptProblem.${u.substring(Ft.length+1)}`;this.props.socket.getState(f).then(v=>{m.onProblemUpdated(f,v),setTimeout(()=>m.readProblems(s,i),0)})}else setTimeout(()=>this.readProblems(s,i),0)}}componentDidMount(){this.readProblems(()=>{this.props.instances.forEach(s=>{this.props.socket.subscribeState(`javascript.${s}.scriptProblem.*`,this.onProblemUpdatedBound)})})}componentWillUnmount(){this.props.instances.forEach(s=>{this.props.socket.unsubscribeState(`javascript.${s}.scriptProblem.*`,this.onProblemUpdatedBound)})}onProblemUpdated(s,i){if(!i||!s)return;s=`${Ft}.${s.replace(/^javascript\.\d+\.scriptProblem\./,"")}`,this.problems||(this.problems=JSON.parse(JSON.stringify(this.state.problems))||[]);let r=!1;if(i.val)this.problems.includes(s)||(this.problems.push(s),r=!0);else{const l=this.problems.indexOf(s);l!==-1&&(this.problems.splice(l,1),r=!0)}r&&!this.problemsTimer&&(this.problemsTimer=setTimeout(()=>{this.problemsTimer=null,this.setState({problems:this.problems}),this.problems=null},300))}static filterListStatic(s,i,r,l,u){i=JSON.parse(JSON.stringify(i));let d=!1;const g={listItems:i};if(s&&r&&l){const m=l.toLowerCase();if(i.forEach(f=>{var S;const v=f.title.toLowerCase();f.filteredPartly=!1;let w=v.includes(m);const _=(S=u==null?void 0:u[f.id])==null?void 0:S.common;if(!w&&(_!=null&&_.source))if(_.engineType==="Blockly"){const k=_.source.lastIndexOf("//");w=_.source.substring(0,k).toLowerCase().includes(m)}else w=_.source.toLowerCase().includes(m);w?f.filtered&&(f.filtered=!1,d=!0):f.filtered||(f.filtered=!0,d=!0)}),d)for(let f=i.length-1;f>=0;f--){const v=i[f];if(!v.filtered||v.filteredPartly){let w=v;do w!=null&&w.parent&&i[w.parentIndex]&&(d=!0,i[w.parentIndex].filteredPartly=!0),w=w!=null&&w.parent&&i[w.parentIndex]?i[w.parentIndex]:null;while(w)}}}else i.forEach(m=>{(m.filtered||m.filteredPartly)&&(m.filtered=!1,m.filteredPartly=!1,d=!0)}),s||(g.searchText="",g.searchMode=!1,d=!0);return d?g:null}filterList(s,i){const r=ao.filterListStatic(s,this.state.listItems,this.state.searchMode,this.state.searchText,this.props.scripts);r?this.setState(r,()=>i&&i()):i&&i()}static ensureSelectedIsVisibleStatic(s,i,r){i=JSON.parse(JSON.stringify(i));let l=!1,u=typeof s=="object"?s:r.find(d=>d.id===s);do{if(u!=null&&u.parent){const d=u.parent;u=r.find(g=>g.id===d)}else u=void 0;u&&(i.includes(u.id)||(i.push(u.id),l=!0))}while(u);return l?i:null}ensureSelectedIsVisible(s,i){return ao.ensureSelectedIsVisibleStatic(s||this.state.selected,i||this.state.expanded,this.state.listItems)}static getDerivedStateFromProps(s,i){const r={};let l=!1;if(i.expertMode!==s.expertMode&&(l=!0,r.expertMode=s.expertMode),i.scriptsHash!==s.scriptsHash&&s.scripts){const u=Ny(s.scripts||{});if(r.listItems=u,i.searchText){const m=ao.filterListStatic(!0,u,i.searchMode,i.searchText,s.scripts);m&&Object.assign(r,m)}const d=ao.getIsAllZeroInstancesStatic(u,s.instances||[]),g=ao.ensureSelectedIsVisibleStatic(i.selected,i.expanded,i.listItems);r.isAllZeroInstances=d,g&&(r.expanded=g),l=!0}if(i.width!==s.width&&(l=!0,r.width=s.width),i.themeName!==s.themeName&&(l=!0,r.themeName=s.themeName),s.selectId&&i.selected!==s.selectId){const u=i.listItems.find(d=>d.id===s.selectId);if(!i.reorder&&u){const d=ao.ensureSelectedIsVisibleStatic(u,i.expanded,i.listItems);r.selected=u.id,d&&(r.expanded=d),l=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",u.id)}}return l?r:null}static getIsAllZeroInstancesStatic(s,i){let r=!i[0]&&i.length<=1;return r&&s.forEach(l=>{l.type!=="folder"&&l.instance!==0&&(r=!1)}),r}getIsAllZeroInstances(s,i){return s=s||this.state.listItems,i=i||this.state.instances,ao.getIsAllZeroInstancesStatic(s||this.state.listItems,i||this.state.instances)}saveExpanded(s){window.localStorage.setItem("SideMenu.expanded",JSON.stringify(s||this.state.expanded))}showError(s){this.setState({errorText:s})}onToggle(s,i){if(i==null||i.stopPropagation(),s===Ft)return;const r=[...this.state.expanded],l=r.indexOf(s);l!==-1?(r.splice(l,1),this.state.selected&&this.state.selected.startsWith(`${s}.`)&&window.localStorage&&window.localStorage.setItem("SideMenu.selected",s)):(r.push(s),r.sort()),this.setState({expanded:r}),this.saveExpanded(r)}renderItemButtonsOnEnd(s,i){if(this.state.reorder)return null;if(s.type!=="folder"){let r=s.enabled?Ry:My;return s.enabled&&this.state.problems.includes(s.id)&&(r=Oy),[p.jsx(y.IconButton,{onClick:l=>{l.stopPropagation(),this.props.onEnableDisable&&this.props.onEnableDisable(s.id,!s.enabled)},title:s.enabled?b.I18n.t("Pause script"):b.I18n.t("Run script"),disabled:this.props.debugMode,style:{..._e.iconButtons,...this.props.debugMode?_e.iconButtonsDisabled:void 0,color:r},size:"medium",children:s.enabled?p.jsx(zl,{}):p.jsx(qp,{})},"startStop"),this.state.width>$r?p.jsx(y.IconButton,{style:this.props.debugMode?_e.iconButtonsDisabled:void 0,title:b.I18n.t("Delete script"),disabled:s.id===ro||s.id===Qi||this.props.debugMode,onClick:l=>this.onDelete(s,l),size:"medium",children:p.jsx(vp,{})},"delete"):null,p.jsx(y.IconButton,{style:this.props.debugMode?_e.iconButtonsDisabled:void 0,disabled:this.props.debugMode,title:b.I18n.t("Edit script or just double click"),onClick:l=>this.onEdit(s,l),size:"medium",children:p.jsx(N_,{})},"openInEdit")]}return this.state.width>$r&&s.id!==Ft&&s.id!==Qi&&s.id!==ro&&i!=null&&i.length?p.jsx(y.IconButton,{style:this.props.debugMode?_e.iconButtonsDisabled:void 0,title:b.I18n.t("Delete folder"),disabled:s.id===ro||s.id===Qi||this.props.debugMode,onClick:r=>this.onDelete(s,r),size:"medium",children:p.jsx(vp,{})},"delete"):null}onDelete(s,i){return i==null||i.stopPropagation(),new Promise(r=>{if(!s){r();return}typeof s!="object"?this.setState({deleting:s},()=>r()):this.setState({deleting:s.id},()=>r())})}onEdit(s,i){this.onClick(s,i),this.props.onEdit&&this.props.onEdit(s.id)}getTextStyle(s){return!this.state.reorder&&s.type!=="folder"?{width:`calc(100% - ${this.state.width>$r?185:137}px)`,overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}:{whiteSpace:"nowrap",padding:"0 16px 0 0"}}onClick(s,i){if(i==null||i.stopPropagation(),!this.state.reorder&&s){const r=this.ensureSelectedIsVisible(s),l={selected:s.id};r&&(l.expanded=r),this.setState(l),window.localStorage&&window.localStorage.setItem("SideMenu.selected",s.id)}}onDblClick(s,i){i==null||i.stopPropagation(),!this.state.reorder&&(s.type==="folder"?this.onToggle(s.id):this.onEdit(s))}isFilteredOut(s){return s.filtered&&!s.filteredPartly||this.state.typeFilter&&s.type!=="folder"&&s.type!==this.state.typeFilter||this.state.statusFilter&&s.type!=="folder"&&(this.state.statusFilter==="running"&&!s.enabled||this.state.statusFilter==="paused"&&s.enabled||this.state.statusFilter==="problems"&&(!s.enabled||this.state.problems.indexOf(s.id)===-1))?!0:s.id===ro&&!this.state.expertMode}renderListItem(s,i,r){if(s.id===Ft&&!this.state.reorder)return null;const l=(this.state.reorder?s.depth:s.depth-1)*cI;let u=s.title;if(this.state.searchText){const _=u.toLowerCase().indexOf(this.state.searchText.toLowerCase());_!==-1&&(u=[p.jsx("span",{children:u.substring(0,_)},"first"),p.jsx("span",{style:{color:"orange"},children:u.substring(_,_+this.state.searchText.length)},"second"),p.jsx("span",{children:u.substring(_+this.state.searchText.length)},"third")])}!this.state.isAllZeroInstances&&s.type!=="folder"&&(u=[p.jsx("span",{children:u},"title"),p.jsxs("span",{title:b.I18n.t("Instance"),style:_e.instances,children:["[",s.instance,"]"]},"instance")]);const d=this.state.reorder&&!this.props.debugMode,g=Object.assign({marginLeft:l,cursor:s.type==="folder"&&d?"default":"inherit",width:`calc(100% - ${l}px)`},s.id===this.state.selected&&!d?$w:void 0);d||(g.opacity=s.filteredPartly?.5:1),s.id===ro&&s.id!==this.state.selected&&(g.color="#00a200");let m=s.id===Ft;!m&&i&&(m=this.state.expanded.includes(s.id));let f;s.type==="folder"?f={..._e.folderIcon,...d?_e.folderIconReorder:_e.folderIconNoReorder}:f={..._e.scriptIcon},s.id===ro?f.color="#356956":s.id===Qi&&(f.color="#4899e1");let v=null;(r&&r.length||i&&i.length)&&(v=p.jsx("span",{style:_e.childrenCount,children:r&&r.length!==i.length?`${r.length}(${i.length})`:i.length}));const w={...s.type==="folder"?_e.folder:_e.script,...d?_e.reorder:void 0,...d&&s.type!=="folder"?_e.scriptReorder:void 0,...d&&s.type==="folder"?_e.folderReorder:void 0,...g};return p.jsxs(y.ListItem,{style:w,className:b.Utils.clsx(d&&s.type==="folder"&&"folder-reorder",d&&s.type!=="folder"&&"script-reorder"),onClick:_=>this.onClick(s,_),onDoubleClick:_=>this.onDblClick(s,_),secondaryAction:this.renderItemButtonsOnEnd(s,i),children:[p.jsx(y.ListItemIcon,{style:_e.listItemIcon,children:s.type==="folder"?d||m?p.jsx(PT,{style:f,onClick:_=>!d&&this.onToggle(s.id,_)}):p.jsx(FT,{style:f,onClick:_=>!d&&this.onToggle(s.id,_)}):p.jsx("img",{style:f,alt:s.type,src:en[s.type]||en.def})}),p.jsx(y.ListItemText,{sx:{"& .MuiListItemText-primary":s.id===this.state.selected&&!d?_e.selected:void 0},style:this.getTextStyle(s),primary:p.jsxs("span",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[u,v]})})]},s.id)}onDragFinish(s,i){let r=`${i}.${s.split(".").pop()}`;r!==s&&(this.state.listItems.find(l=>l.id===r)&&(r+=`_${b.I18n.t("copy")}`),this.props.onRename&&this.props.onRename(s,r))}renderOneItem(s,i){const r=this.state.statusFilter||this.state.typeFilter?s.filter(f=>f.parent===i.id?!this.isFilteredOut(f):!1):[],l=s.filter(f=>f.parent===i.id);if(this.isFilteredOut(i)||i.type==="folder"&&(this.state.statusFilter||this.state.typeFilter)&&!r.length)return null;const u=this.state.reorder&&!this.props.debugMode,d=this.renderListItem(i,l,r),g=[];let m;return l&&(u||this.state.expanded.includes(i.id)||i.id===Ft)&&(m=l.map(f=>this.renderOneItem(s,f))),u?i.type==="folder"?g.push(p.jsxs(uI,{onDrop:f=>this.onDragFinish(f.name,i.id),folderName:i.id,children:[p.jsx(Ly,{name:i.id,children:d},`draggable_${i.id}`),m||null]},`droppable_${i.id}`)):g.push(p.jsxs(Ly,{name:i.id,children:[d,m||null]},`draggable_${i.id}`)):(g.push(d),m==null||m.forEach(f=>g.push(f))),g}renderAllItems(s){const i=s.filter(r=>!r.parent).map(r=>this.renderOneItem(s,r));return p.jsx(y.List,{dense:!0,disablePadding:!0,sx:_e.mainList,children:i})}onAddNew(s){s==null||s.stopPropagation();let i=this.state.listItems.find(l=>l.id===this.state.selected),r=Ft;for(;i&&i.type!=="folder";)i=this.state.listItems[i.parentIndex];i&&(r=i.id),this.parent=r,this.setState({choosingType:!0})}onCopy(s,i){s==null||s.stopPropagation();let r=this.state.listItems.find(u=>u.id===i),l=Ft;for(;r&&r.type!=="folder";)r=this.state.listItems[r.parentIndex];r&&(l=r.id),this.parent=l,this.setState({copingScript:i||""})}onAddNewFolder(s){s==null||s.stopPropagation();let i=this.state.listItems.find(l=>l.id===this.state.selected),r=Ft;for(;i&&i.type!=="folder";)i=this.state.listItems[i.parentIndex];i&&(r=i.id),this.parent=r,this.setState({creatingFolder:!0})}onRename(s){s==null||s.stopPropagation(),this.setState({renaming:this.state.selected})}getUniqueName(s){let i=1,r=`${b.I18n.t("Script")} `;if(s){const l=rg(s,this.props.scripts[s]),u=l.match(/\d+$/);u?(r=l.replace(/\d+$/,""),i=parseInt(u[0],10)+1):r=l}for(;this.state.listItems.find(l=>l.id===`${this.parent}.${r.replace(/\.\s/g,"_")}${i}`);)i++;return r+i}getUniqueFolderName(){let s=1;for(;this.state.listItems.find(i=>i.id===`${this.parent}.${b.I18n.t("Folder")}_${s}`);)s++;return`${b.I18n.t("Folder")} ${s}`}onCloseMenu(s){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},s)}getMainMenu(s,i){return p.jsxs(y.Menu,{id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:()=>this.setState({menuOpened:!1,menuAnchorEl:null}),slotProps:{paper:{style:{maxHeight:lI*7.5}}},children:[this.state.width<=$r?p.jsxs(y.MenuItem,{disabled:this.props.debugMode||!this.state.selected||this.state.selected===ro||this.state.selected===Qi||!!(s!=null&&s.length),onClick:r=>{if(r.stopPropagation(),r.preventDefault(),this.state.listItems.find(l=>l.parent===this.state.selected)){this.showError(b.I18n.t("Cannot delete non empty item!"));return}this.setState({menuOpened:!1,menuAnchorEl:null},()=>this.onDelete(this.state.selected).then(()=>{}))},children:[p.jsx(vp,{style:{..._e.iconDropdownMenu,color:"red"}}),b.I18n.t("Delete")]},"delete"):null,p.jsxs(y.MenuItem,{disabled:this.props.debugMode,selected:this.state.expertMode,onClick:r=>{r.stopPropagation(),r.preventDefault(),this.onCloseMenu(()=>this.props.onExpertModeChange&&this.props.onExpertModeChange(!this.state.expertMode))},children:[p.jsx(b.IconExpert,{style:{..._e.iconDropdownMenu,color:this.state.expertMode?"orange":"inherit"}}),b.I18n.t("Expert mode")]},"expertMode"),this.props.onExport&&p.jsxs(y.MenuItem,{onClick:r=>{r.stopPropagation(),r.preventDefault(),this.onCloseMenu(()=>this.props.onExport())},children:[p.jsx(Vl,{style:_e.iconDropdownMenu}),b.I18n.t("Export all scripts")]},"exportAll"),this.props.onImport&&p.jsxs(y.MenuItem,{disabled:this.props.debugMode,onClick:r=>{r.stopPropagation(),r.preventDefault(),this.onCloseMenu(()=>this.props.onImport())},children:[p.jsx(Zp,{style:_e.iconDropdownMenu}),b.I18n.t("Import scripts")]},"import"),this.props.onThemeChange&&p.jsxs(y.MenuItem,{onClick:()=>this.onCloseMenu(()=>{this.props.onThemeChange&&this.props.onThemeChange(b.Utils.toggleTheme(this.state.themeName))}),children:[p.jsx(jT,{style:_e.iconDropdownMenu}),b.I18n.t('Change theme (actual "%s")',this.state.themeName)]},"dark"),this.props.onAddNew&&p.jsxs(y.MenuItem,{disabled:!this.state.selected||!i||i.type==="folder",onClick:r=>{const l=this.state.selected;this.onCloseMenu(()=>this.onCopy(r,l))},children:[p.jsx(L_,{style:_e.iconDropdownMenu}),b.I18n.t("Copy script")]},"copy"),this.state.expertMode&&p.jsxs(y.MenuItem,{disabled:this.props.debugMode,onClick:r=>{r.stopPropagation(),r.preventDefault(),this.onCloseMenu(()=>this.setState({showAdapterDebug:!0}))},children:[p.jsx(wr,{style:_e.iconDropdownMenu}),b.I18n.t("Debug instance")]},"debugInstance")]},"menu")}getToolbarButtons(){const s=[],i=this.state.reorder&&!this.props.debugMode;if(this.state.searchMode&&!this.props.debugMode)s.push(p.jsx(y.Input,{value:this.state.searchText,style:_e.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:b.I18n.t("Search..."),onChange:r=>{this.setState({searchText:r.target.value}),this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>{this.filterTimer=null,this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)},400)}},"searchInput")),s.push(p.jsx(y.IconButton,{sx:_e.toolbarButtons,style:{float:"right"},title:b.I18n.t("End search mode"),onClick:r=>{r.stopPropagation(),this.filterList(!1,()=>this.props.onSearch&&this.props.onSearch(this.state.searchText))},size:"medium",children:p.jsx(zT,{})},"disableSearch")),this.state.searchText&&s.push(p.jsx(y.IconButton,{title:b.I18n.t("Clear search input"),sx:_e.toolbarButtons,style:{marginTop:7,float:"right"},onClick:r=>{r.stopPropagation(),this.setState({searchText:""},()=>{this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)})},size:"medium",children:p.jsx(Cr,{fontSize:"small"})},"cleanSearch"));else{if(!i){s.push(p.jsx(y.IconButton,{"aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:b.I18n.t("Menu"),"aria-haspopup":"true",onClick:u=>{u.stopPropagation(),u.preventDefault(),this.setState({menuOpened:!0,menuAnchorEl:u.currentTarget})},size:"medium",children:p.jsx(UT,{})},"menuButton"));const r=this.state.listItems.find(u=>u.id===this.state.selected);let l;r&&this.state.width<=$r&&r.type==="folder"&&(l=this.state.listItems.filter(u=>u.parent===this.state.selected)),s.push(this.getMainMenu(l,r)),s.push(p.jsx(y.IconButton,{disabled:this.props.debugMode,title:b.I18n.t("Create new script"),sx:{..._e.toolbarButtons,...this.props.debugMode?_e.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit"},onClick:u=>this.onAddNew(u),size:"medium",children:p.jsx(Cg,{})},"new-script")),s.push(p.jsx(y.IconButton,{disabled:this.props.debugMode,title:b.I18n.t("Create new folder"),sx:{..._e.toolbarButtons,...this.props.debugMode?_e.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit"},onClick:u=>this.onAddNewFolder(u),size:"medium",children:p.jsx(HT,{})},"new-folder"))}s.push(p.jsx(y.IconButton,{disabled:i||this.props.debugMode,sx:{..._e.toolbarButtons,...this.props.debugMode?_e.iconButtonsDisabled:void 0},title:b.I18n.t("Search in scripts"),style:{float:"right",opacity:this.props.debugMode?.5:i?0:1},onClick:r=>{r.stopPropagation(),this.setState({searchMode:!0})},size:"medium",children:p.jsx(WT,{})},"search")),s.push(p.jsx(y.IconButton,{disabled:this.props.debugMode,title:b.I18n.t("Reorder scripts in folders"),sx:{..._e.toolbarButtons,...this.props.debugMode?_e.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit",float:"right"},onClick:r=>{r.stopPropagation(),this.setState({reorder:!this.state.reorder})},size:"medium",children:p.jsx(GT,{})},"reorder")),!i&&this.state.selected&&this.state.selected!==ro&&this.state.selected!==Qi&&s.push(p.jsx(y.IconButton,{sx:{..._e.toolbarButtons,...this.props.debugMode?_e.iconButtonsDisabled:void 0},disabled:this.props.debugMode,title:b.I18n.t("Rename"),onClick:r=>this.onRename(r),size:"medium",children:p.jsx(VT,{})},"rename")),s.push(p.jsxs("span",{style:{opacity:.5,fontSize:10},children:["v",this.props.version]},"version"))}return s}getFolders(){const s=[{id:Ft,name:b.I18n.t("Root folder")}];return this.state.listItems.forEach(i=>{i.type==="folder"&&i.id!==Ft&&(!i.id.startsWith(ro)||this.state.expertMode)&&s.push({id:i.id,name:i.title})}),s}onCollapseAll(){this.setState({expanded:[]}),this.saveExpanded([])}onExpandAll(){const s=[];this.state.listItems.forEach(i=>this.state.listItems.find(r=>r.parent===i.id)&&s.push(i.id)),this.setState({expanded:s}),this.saveExpanded(s)}getBottomButtons(){return this.state.reorder||this.props.debugMode?null:[p.jsx(y.Box,{sx:_e.footerButtons,children:p.jsx(zl,{style:{color:Ry,opacity:this.state.statusFilter==="running"?1:.3,background:this.state.statusFilter==="running"?"gray":"inherit"},title:b.I18n.t("Show only running scripts"),onClick:s=>{s.stopPropagation(),s.preventDefault();const i=this.state.statusFilter==="running"?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",i),this.setState({statusFilter:i})}})},"filterByRunning"),p.jsx(y.Box,{sx:_e.footerButtons,children:p.jsx(qp,{title:b.I18n.t("Show only paused scripts"),style:{color:My,opacity:this.state.statusFilter==="paused"?1:.3,background:this.state.statusFilter==="paused"?"gray":"inherit"},onClick:()=>{const s=this.state.statusFilter==="paused"?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),this.setState({statusFilter:s})}})},"filterByPaused"),p.jsx(y.Box,{sx:_e.footerButtons,style:{marginRight:16},children:p.jsx(zl,{title:b.I18n.t("Show only scripts with problems"),style:{color:Oy,opacity:this.state.statusFilter==="problems"?1:.3,background:this.state.statusFilter==="problems"?"gray":"inherit"},onClick:()=>{const s=this.state.statusFilter==="problems"?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),this.setState({statusFilter:s})}})},"filterByProblem"),p.jsx(y.Box,{sx:_e.footerButtons,children:p.jsx("img",{alt:"Blockly",style:{opacity:this.state.typeFilter==="Blockly"?1:.3,background:this.state.typeFilter==="Blockly"?"gray":"inherit"},src:en.Blockly,onClick:()=>{const s=this.state.typeFilter==="Blockly"?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterBlockly"),p.jsx(y.Box,{sx:_e.footerButtons,children:p.jsx("img",{alt:"Javascript",style:{opacity:this.state.typeFilter==="Javascript/js"?1:.3,background:this.state.typeFilter==="Javascript/js"?"gray":"inherit"},src:en["Javascript/js"],onClick:()=>{const s=this.state.typeFilter==="Javascript/js"?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterJS"),p.jsx(y.Box,{sx:_e.footerButtons,children:p.jsx("img",{alt:"TypeScript",style:{opacity:this.state.typeFilter==="TypeScript/ts"?1:.3,background:this.state.typeFilter==="TypeScript/ts"?"gray":"inherit"},src:en["TypeScript/ts"],onClick:()=>{const s=this.state.typeFilter==="TypeScript/ts"?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterTS"),p.jsx(y.Box,{sx:_e.footerButtons,children:p.jsx("img",{alt:"Rules",style:{opacity:this.state.typeFilter==="Rules"?1:.3,background:this.state.typeFilter==="Rules"?"gray":"inherit"},src:en.Rules,onClick:()=>{const s=this.state.typeFilter==="Rules"?"":"Rules";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterRules"),p.jsx("div",{style:{flexGrow:1}},"padding"),p.jsx(y.Box,{sx:_e.footerButtons,children:p.jsx(KT,{style:_e.footerButtonsRight,title:b.I18n.t("Expand all"),onClick:()=>this.onExpandAll()})},"expandAll"),this.state.expanded.length?p.jsx(y.Box,{sx:_e.footerButtons,children:p.jsx(YT,{style:_e.footerButtonsRight,title:b.I18n.t("Collapse all"),onClick:()=>this.onCollapseAll()})},"collapseAll"):p.jsx("div",{style:{height:22,width:24}})]}getAdapterDebugDialog(){return this.state.showAdapterDebug?p.jsx(aI,{socket:this.props.socket,onClose:()=>this.setState({showAdapterDebug:!1}),onDebug:(s,i)=>this.setState({showAdapterDebug:!1},()=>this.props.onDebugInstance({instance:s,adapter:i}))},"debug"):null}render(){var r,l,u;const s=this.state.renaming?this.state.listItems.find(d=>d.id===this.state.renaming):void 0,i=this.state.copingScript&&this.props.scripts[this.state.copingScript].type==="script"?this.props.scripts[this.state.copingScript]:void 0;return[p.jsxs(y.Drawer,{variant:"permanent",style:_e.menu,sx:{"& .MuiDrawer-paper":_e.drawerPaper},anchor:"left",onClick:()=>this.onClick({id:""}),children:[p.jsx(y.Box,{sx:_e.toolbar,children:this.getToolbarButtons()}),p.jsx(y.Divider,{}),p.jsx(ew,{backend:hw,children:p.jsx("div",{style:_e.innerMenu,children:this.renderAllItems(this.state.listItems)})}),p.jsx(y.Divider,{}),p.jsx("div",{style:_e.footer,children:this.getBottomButtons()})]},"drawer"),s?p.jsx(Ag,{name:s.title,id:this.state.renaming||"",folder:s.type==="folder",instance:s.instance,instances:this.props.instances,onClose:()=>this.setState({renaming:null}),onRename:(d,g,m,f)=>this.props.onRename&&this.props.onRename(d,g,m,f)},"dialog-rename"):null,this.state.deleting?p.jsx(tI,{name:this.state.listItems.find(d=>d.id===this.state.deleting).title,id:this.state.deleting,onClose:()=>this.setState({deleting:null}),onDelete:d=>this.props.onDelete&&this.props.onDelete(d)},"dialog-delete"):null,this.state.choosingType?p.jsx(rn,{onClose:d=>{const g={choosingType:!1};d&&(g.creatingScript=d),this.setState(g)}},"dialog-script-type"):null,this.state.creatingScript?p.jsx(Sp,{onClose:()=>this.setState({creatingScript:null}),title:b.I18n.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map(d=>d.id),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:(d,g,m,f)=>this.props.onAddNew&&this.props.onAddNew(d,g,!1,m,f)},"dialog-new-script"):null,this.state.copingScript?p.jsx(Sp,{onClose:()=>this.setState({copingScript:""}),title:b.I18n.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt((l=(r=i==null?void 0:i.common)==null?void 0:r.engine)==null?void 0:l.split(".").pop(),10)||0,instances:this.props.instances,type:((u=i==null?void 0:i.common)==null?void 0:u.engineType)||"Javascript/js",parent:this.parent,onAdd:(d,g,m,f)=>{var w;const v=this.state.copingScript&&this.props.scripts[this.state.copingScript].type==="script"?this.props.scripts[this.state.copingScript]:void 0;v!=null&&v.common&&(v.common.enabled=!1),this.props.onAddNew&&this.props.onAddNew(d,g,!1,m,f,(w=v==null?void 0:v.common)==null?void 0:w.source)}},"dialog-copy-script"):null,this.state.creatingFolder?p.jsx(Sp,{onClose:()=>this.setState({creatingFolder:!1}),title:b.I18n.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:(d,g)=>this.props.onAddNew&&this.props.onAddNew(d,g,!0)},"dialog-new-folder"):null,this.state.errorText?p.jsx(kc,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"error"):null,this.getAdapterDebugDialog()]}}const dI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==",hI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg==";function pI(a){let s,i=a.getHours();return i<10&&(i=`0${i.toString()}`),s=`${i}:`,i=a.getMinutes(),i<10&&(i=`0${i.toString()}`),s+=`${i}:`,i=a.getSeconds(),i<10&&(i=`0${i.toString()}`),s+=`${i}.`,i=a.getMilliseconds(),i<10?i=`00${i.toString()}`:i<100&&(i=`0${i.toString()}`),s+=i,s}const By=34,Ot={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:a=>({display:"inline-block",color:a.palette.mode==="dark"?"white":"black",width:`calc(100% - ${By}px)`,height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"}),info:a=>({background:a.palette.mode==="dark"?"darkgrey":"lightgrey",color:(a.palette.mode==="dark","black")}),error:a=>({background:"#FF0000",color:a.palette.mode==="dark"?"black":"white"}),warn:a=>({background:"#FF8000",color:a.palette.mode==="dark"?"black":"white"}),debug:a=>({background:"gray",opacity:.8,color:a.palette.mode==="dark"?"black":"white"}),silly:a=>({background:"gray",opacity:.6,color:a.palette.mode==="dark"?"black":"white"}),table:{fontFamily:"monospace",width:"100%"},toolbox:{width:By,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trFrom:{width:90},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},trPreMessage:{padding:0,margin:0},iconButtons:{width:32,height:32,padding:4},layoutIcon:a=>({"& img":{width:24,height:24,background:a.palette.mode==="dark"?"#9d9d9d":void 0,borderRadius:a.palette.mode==="dark"?"30px":void 0}})};function gI(a){return a<10?`00${a}`:a<100?`0${a}`:a.toString()}const Ps={};class Rg extends X.Component{messagesEnd;constructor(s){super(s),this.state={lines:{},goBottom:!0,selected:null,editing:this.props.editing||[]},this.messagesEnd=X.createRef()}static generateLine(s,i){let r=s.message||"";if(typeof r!="object"){const l=new RegExp(`${s.from.replace(".","\\.").replace(")","\\)").replace("(","\\(")} \\(\\d+\\) `,"g"),u=r.match(l);u?r=r.replace(u[0],""):r=r.replace(`${s.from} `,"")}return r.startsWith(`${i}: `)&&(r=r.substring(i.length+2)),p.jsxs(y.Box,{component:"tr",sx:Ot[s.severity],children:[p.jsx("td",{style:Ot.trFrom,children:s.from}),p.jsx("td",{style:Ot.trTime,children:pI(new Date(s.ts))}),p.jsx("td",{style:Ot.trSeverity,children:s.severity}),p.jsx("td",{children:p.jsx("pre",{style:Ot.trPreMessage,children:r})})]},`tr_${s.ts}_${s.message.substring(s.message.length-10)}`)}scrollToBottom(){var s,i;(i=(s=this.messagesEnd)==null?void 0:s.current)==null||i.scrollIntoView({behavior:"smooth"})}logHandler=s=>{const i=this.state.lines,r=this.state.editing.filter(f=>s.message.includes(f));let l=null;if(!r.length||(r.length===1?l=r[0]:(r.sort(),l=r[r.length-1]),!l))return;const u=i[l]||[],d=Ps[l]||[];u.push(Rg.generateLine(s,l));let g=s.severity;(g==="info"||g==="warn")&&(g+=" ");const m=new Date(s.ts);d.push(`${m.toLocaleString()}.${gI(m.getMilliseconds())} [${g}]: ${s.message}`),u.length>300&&(u.splice(0,u.length-300),d.splice(0,u.length-300)),Ps[l]=d,i[l]=u,this.setState({lines:i})};componentDidMount(){this.props.socket.registerLogHandler(this.logHandler)}componentWillUnmount(){this.props.socket.unregisterLogHandler(this.logHandler)}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}static getDerivedStateFromProps(s,i){let r=!1;const l={};if(s.selected!==i.selected){const u=s.selected,d=i.lines;u&&(d[u]=d[u]||[],Ps[u]=Ps[u]||[]),l.selected=u,r=!0}if(JSON.stringify(s.editing)!==JSON.stringify(i.editing)){const u=JSON.parse(JSON.stringify(s.editing));r=!0;const d=i.lines;for(const g in Ps)Object.prototype.hasOwnProperty.call(Ps,g)&&(u.includes(g)||(delete Ps[g],delete d[g]));l.editing=u}return r?l:null}onCopy(){b.Utils.copyToClipboard((Ps[this.state.selected]||[]).join(` +`))}clearLog(){const s=this.state.lines;s[this.state.selected]&&(s[this.state.selected]=[]),Ps[this.state.selected]&&(Ps[this.state.selected]=[]),this.setState({lines:s})}renderLogList(s){return this.state.selected&&(s!=null&&s.length)?p.jsxs(y.Box,{sx:Ot.logBoxInner,children:[p.jsx("table",{style:Ot.table,children:p.jsx("tbody",{children:s})},"logTable"),p.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):p.jsx(y.Box,{sx:Ot.logBoxInner,style:{paddingLeft:10},children:b.I18n.t("Log outputs")},"logList")}render(){const s=this.state.selected?this.state.lines[this.state.selected]:null;return p.jsxs("div",{style:Ot.logBox,children:[p.jsxs("div",{style:Ot.toolbox,children:[p.jsx(y.IconButton,{style:Ot.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":void 0,size:"medium",children:p.jsx(JT,{})}),s!=null&&s.length?p.jsx(y.IconButton,{style:Ot.iconButtons,onClick:()=>this.clearLog(),size:"medium",children:p.jsx(XT,{})}):null,s!=null&&s.length?p.jsx(y.IconButton,{style:Ot.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:p.jsx(L_,{})}):null,this.props.onLayoutChange?p.jsx(y.IconButton,{style:Ot.iconButtons,onClick:()=>this.props.onLayoutChange&&this.props.onLayoutChange(),title:b.I18n.t("Change layout"),size:"medium",sx:Ot.layoutIcon,children:p.jsx("img",{alt:"split",src:this.props.verticalLayout?dI:hI})}):null,p.jsx(y.IconButton,{style:Ot.iconButtons,onClick:()=>this.props.onHideLog(),title:b.I18n.t("Hide logs"),size:"medium",children:p.jsx(qT,{})})]},"toolbox"),this.renderLogList(s)]})}}var Py="focus-outline-hidden";function bw(){var a=this;document.addEventListener("keydown",function(s){a.focusByKeyboard=!0},!0),document.addEventListener("mousedown",function(s){a.focusByKeyboard=!1},!0),document.addEventListener("focus",function(s){a.updateVisibility()},!0),document.addEventListener("focusout",function(s){window.setTimeout(function(){document.hasFocus()||(a.focusByKeyboard=!0,a.updateVisibility())},0)}),this.updateVisibility()}bw.prototype={focusByKeyboard:!0,updateVisibility:function(){this.hidden=!this.focusByKeyboard},set hidden(a){document.documentElement.classList.toggle(Py,a)},get hidden(){return document.documentElement.classList.contains(Py)}};new bw;var vw={exports:{}};/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/(function(a){(function(){var s={}.hasOwnProperty;function i(){for(var r=[],l=0;l4&&arguments[4]!==void 0?arguments[4]:"easeInOutCubic";return r>l?i:s+(i-s)*fI[u](r/l)};pi.calcEndPoint=function(s){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:window,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if($I(s))return parseInt(s)+r;var l=i===window||i===document.documentElement?window.pageYOffset:i.scrollTop-i.getBoundingClientRect().top,u=s.nodeName.toLowerCase()==="html"?-l:s.getBoundingClientRect().top+l;return u+r};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},r=pi;s.default=function(l){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},d=u.duration,g=d===void 0?500:d,m=u.context,f=m===void 0?window:m,v=u.offset,w=v===void 0?0:v,_=u.ease,S=_===void 0?"easeInOutCubic":_,k=u.callback;if((typeof window>"u"?"undefined":i(window))==="object"){var C=f.scrollTop!==null&&f.scrollTop!==void 0?f.scrollTop:window.pageYOffset,E=(0,r.calcEndPoint)(l,f,w),A=performance.now(),R=window.requestAnimationFrame,O=function Z(){var ae=performance.now()-A,se=(0,r.setPosition)(C,E,ae,g,S);f!==window?f.scrollTop=se:window.scroll(0,se),ae>g?typeof k=="function"&&k(l):R(Z)};O()}},a.exports=s.default})(lg,lg.exports);var yw=lg.exports,cg={exports:{}};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=Object.assign||function(d){for(var g=1;g0&&arguments[0]!==void 0?arguments[0]:{},g=d.query,m=g===void 0?'[href^="#"]:not([href="#"]':g,f=d.match,v=f===void 0?function(E){return document.getElementById(E.hash.substring(1))}:f,w=d.hashChange,_=w===void 0?!0:w,S=d.scrollSmoothConfig,k=document.querySelectorAll(m),C=function(A){A.preventDefault();var R=v(A.target);R&&(_&&history.replaceState(null,null,"#"+R.id),(0,l.default)(R,i({},S)))};Array.from(k).map(function(E){E.addEventListener("click",C,!1)})},a.exports=s.default})(cg,cg.exports);var bI=cg.exports,ug={exports:{}};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});function i(r){if(Array.isArray(r)){for(var l=0,u=Array(r.length);l0&&arguments[0]!==void 0?arguments[0]:{},l=r.activeClass,u=l===void 0?"active":l,d=r.query,g=d===void 0?'[href^="#"]:not([href="#"]):not([href="#0"])':d,m=r.threshold,f=m===void 0?[.25,.5,.75]:m,v=r.detectType,w=v===void 0?"max":v,_={threshold:f},S=function(se){return se.classList.remove(u)},k=function(se){return se.classList.add(u)},C=function(){document.querySelectorAll("."+u).forEach(S)},E=function(se){C(),k(document.querySelector('a[href="#'+se.id+'"]'))},A=function(se){se.forEach(function(ge){ge.intersectionRatio>=Math[w].apply(Math,i(f))&&E(ge.target)})},R=document.querySelectorAll(g),O=new IntersectionObserver(A,_),Z=function(se){var ge=document.querySelector("#"+se.hash.slice(1));O.observe(ge)};R.forEach(Z)},a.exports=s.default})(ug,ug.exports);var vI=ug.exports;(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=yw,r=f(i),l=pi,u=bI,d=f(u),g=vI,m=f(g);function f(v){return v&&v.__esModule?v:{default:v}}s.default={to:r.default,calcEndPoint:l.calcEndPoint,anchorScroll:d.default,observe:m.default},a.exports=s.default})(ag,ag.exports);var yI=ag.exports;const _I=hi(yI);var Og={exports:{}},wI=Og.exports;(function(a){(function(s,i){a.exports?a.exports=i():s.Scrollparent=i()})(wI,function(){var s=/(auto|scroll)/,i=function(g,m){return g.parentNode===null?m:i(g.parentNode,m.concat([g]))},r=function(g,m){return getComputedStyle(g,null).getPropertyValue(m)},l=function(g){return r(g,"overflow")+r(g,"overflow-y")+r(g,"overflow-x")},u=function(g){return s.test(l(g))},d=function(g){if(g instanceof HTMLElement||g instanceof SVGElement){for(var m=i(g.parentNode,[]),f=0;f=s||ge<0||w&&K>=u}function A(){var se=Ep();if(E(se))return R(se);g=setTimeout(A,C(se))}function R(se){return g=void 0,_&&r?S(se):(r=l=void 0,d)}function O(){g!==void 0&&clearTimeout(g),f=0,r=m=l=g=void 0}function Z(){return g===void 0?d:R(Ep())}function ae(){var se=Ep(),ge=E(se);if(r=arguments,l=this,m=se,ge){if(g===void 0)return k(m);if(w)return g=setTimeout(A,s),S(m)}return g===void 0&&(g=setTimeout(A,s)),d}return ae.cancel=O,ae.flush=Z,ae}function dg(a){var s=typeof a;return!!a&&(s=="object"||s=="function")}function jI(a){return!!a&&typeof a=="object"}function zI(a){return typeof a=="symbol"||jI(a)&&LI.call(a)==SI}function zy(a){if(typeof a=="number")return a;if(zI(a))return jy;if(dg(a)){var s=typeof a.valueOf=="function"?a.valueOf():a;a=dg(s)?s+"":s}if(typeof a!="string")return a===0?a:+a;a=a.replace(EI,"");var i=xI.test(a);return i||DI.test(a)?AI(a.slice(2),i?2:8):II.test(a)?jy:+a}var UI=FI;const HI=hi(UI);var hg="data-focus-lock",_w="data-focus-lock-disabled",WI="data-no-focus-lock",GI="data-autofocus-inside",VI="data-no-autofocus";function Ip(a,s){return typeof a=="function"?a(s):a&&(a.current=s),a}function KI(a,s){var i=V.useState(function(){return{value:a,callback:s,facade:{get current(){return i.value},set current(r){var l=i.value;l!==r&&(i.value=r,i.callback(r,l))}}}})[0];return i.callback=s,i.facade}var YI=typeof window<"u"?V.useLayoutEffect:V.useEffect,Uy=new WeakMap;function JI(a,s){var i=KI(null,function(r){return a.forEach(function(l){return Ip(l,r)})});return YI(function(){var r=Uy.get(i);if(r){var l=new Set(r),u=new Set(a),d=i.current;l.forEach(function(g){u.has(g)||Ip(g,null)}),u.forEach(function(g){l.has(g)||Ip(g,d)})}Uy.set(i,a)},[a]),i}var xp={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function ww(a){return a}function Cw(a,s){s===void 0&&(s=ww);var i=[],r=!1,l={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:a},useMedium:function(u){var d=s(u,r);return i.push(d),function(){i=i.filter(function(g){return g!==d})}},assignSyncMedium:function(u){for(r=!0;i.length;){var d=i;i=[],d.forEach(u)}i={push:function(g){return u(g)},filter:function(){return i}}},assignMedium:function(u){r=!0;var d=[];if(i.length){var g=i;i=[],g.forEach(u),d=i}var m=function(){var v=d;d=[],v.forEach(u)},f=function(){return Promise.resolve().then(m)};f(),i={push:function(v){d.push(v),f()},filter:function(v){return d=d.filter(v),i}}}};return l}function Mg(a,s){return s===void 0&&(s=ww),Cw(a,s)}function XI(a){a===void 0&&(a={});var s=Cw(null);return s.options=ZT({async:!0,ssr:!1},a),s}var Tw=Mg({},function(a){var s=a.target,i=a.currentTarget;return{target:s,currentTarget:i}}),kw=Mg(),qI=Mg(),ZI=XI({async:!0,ssr:typeof document<"u"}),QI=V.createContext(void 0),ex=[],Ng=V.forwardRef(function(s,i){var r,l=V.useState(),u=l[0],d=l[1],g=V.useRef(),m=V.useRef(!1),f=V.useRef(null),v=V.useState({}),w=v[1],_=s.children,S=s.disabled,k=S===void 0?!1:S,C=s.noFocusGuards,E=C===void 0?!1:C,A=s.persistentFocus,R=A===void 0?!1:A,O=s.crossFrame,Z=O===void 0?!0:O,ae=s.autoFocus,se=ae===void 0?!0:ae;s.allowTextSelection;var ge=s.group,K=s.className,je=s.whiteList,Me=s.hasPositiveIndices,qe=s.shards,ce=qe===void 0?ex:qe,de=s.as,J=de===void 0?"div":de,we=s.lockProps,me=we===void 0?{}:we,Fe=s.sideCar,Y=s.returnFocus,et=Y===void 0?!1:Y,q=s.focusOptions,oe=s.onActivation,F=s.onDeactivation,H=V.useState({}),U=H[0],le=V.useCallback(function(Ee){var be=Ee.captureFocusRestore;if(!f.current){var Le,mt=(Le=document)==null?void 0:Le.activeElement;f.current=mt,mt!==document.body&&(f.current=be(mt))}g.current&&oe&&oe(g.current),m.current=!0,w()},[oe]),x=V.useCallback(function(){m.current=!1,F&&F(g.current),w()},[F]),pe=V.useCallback(function(Ee){var be=f.current;if(be){var Le=(typeof be=="function"?be():be)||document.body,mt=typeof et=="function"?et(Le):et;if(mt){var Q=typeof mt=="object"?mt:void 0;f.current=null,Ee?Promise.resolve().then(function(){return Le.focus(Q)}):Le.focus(Q)}}},[et]),W=V.useCallback(function(Ee){m.current&&Tw.useMedium(Ee)},[]),ke=kw.useMedium,ve=V.useCallback(function(Ee){g.current!==Ee&&(g.current=Ee,d(Ee))},[]),Ie=Xp((r={},r[_w]=k&&"disabled",r[hg]=ge,r),me),fe=E!==!0,Ge=fe&&E!=="tail",Ye=JI([i,ve]),Ce=V.useMemo(function(){return{observed:g,shards:ce,enabled:!k,active:m.current}},[k,m.current,ce,u]);return X.createElement(V.Fragment,null,fe&&[X.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:k?-1:0,style:xp}),Me?X.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:k?-1:1,style:xp}):null],!k&&X.createElement(Fe,{id:U,sideCar:ZI,observed:u,disabled:k,persistentFocus:R,crossFrame:Z,autoFocus:se,whiteList:je,shards:ce,onActivation:le,onDeactivation:x,returnFocus:pe,focusOptions:q,noFocusGuards:E}),X.createElement(J,Xp({ref:Ye},Ie,{className:K,onBlur:ke,onFocus:W}),X.createElement(QI.Provider,{value:Ce},_)),Ge&&X.createElement("div",{"data-focus-guard":!0,tabIndex:k?-1:0,style:xp}))});Ng.propTypes={};function tx(a,s){function i(r){return r.displayName||r.name||"Component"}return function(l){var u=[],d;function g(){d=a(u.map(function(f){return f.props})),s(d)}var m=function(f){RT(v,f);function v(){return f.apply(this,arguments)||this}v.peek=function(){return d};var w=v.prototype;return w.componentDidMount=function(){u.push(this),g()},w.componentDidUpdate=function(){g()},w.componentWillUnmount=function(){var S=u.indexOf(this);u.splice(S,1),g()},w.render=function(){return X.createElement(l,this.props)},v}(V.PureComponent);return Mk(m,"displayName","SideEffect("+i(l)+")"),m}}var zs=function(a){for(var s=Array(a.length),i=0;i=0}).sort(ux)},hx=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Pg=hx.join(","),px="".concat(Pg,", [data-focus-guard]"),Mw=function(a,s){return zs((a.shadowRoot||a).children).reduce(function(i,r){return i.concat(r.matches(s?px:Pg)?[r]:[],Mw(r))},[])},gx=function(a,s){var i;return a instanceof HTMLIFrameElement&&(!((i=a.contentDocument)===null||i===void 0)&&i.body)?pn([a.contentDocument.body],s):[a]},pn=function(a,s){return a.reduce(function(i,r){var l,u=Mw(r,s),d=(l=[]).concat.apply(l,u.map(function(g){return gx(g,s)}));return i.concat(d,r.parentNode?zs(r.parentNode.querySelectorAll(Pg)).filter(function(g){return g===r}):[])},[])},mx=function(a){var s=a.querySelectorAll("[".concat(GI,"]"));return zs(s).map(function(i){return pn([i])}).reduce(function(i,r){return i.concat(r)},[])},Fg=function(a,s){return zs(a).filter(function(i){return xw(s,i)}).filter(function(i){return ax(i)})},Hy=function(a,s){return s===void 0&&(s=new Map),zs(a).filter(function(i){return Dw(s,i)})},jg=function(a,s,i){return Bg(Fg(pn(a,i),s),!0,i)},Ar=function(a,s){return Bg(Fg(pn(a),s),!1)},fx=function(a,s){return Fg(mx(a),s)},ai=function(a,s){return a.shadowRoot?ai(a.shadowRoot,s):Object.getPrototypeOf(a).contains!==void 0&&Object.getPrototypeOf(a).contains.call(a,s)?!0:zs(a.children).some(function(i){var r;if(i instanceof HTMLIFrameElement){var l=(r=i.contentDocument)===null||r===void 0?void 0:r.body;return l?ai(l,s):!1}return ai(i,s)})},$x=function(a){for(var s=new Set,i=a.length,r=0;r0&&s.add(l),(u&Node.DOCUMENT_POSITION_CONTAINS)>0&&s.add(r)}return a.filter(function(d,g){return!s.has(g)})},Nw=function(a){return a.parentNode?Nw(a.parentNode):a},zg=function(a){var s=ci(a);return s.filter(Boolean).reduce(function(i,r){var l=r.getAttribute(hg);return i.push.apply(i,l?$x(zs(Nw(r).querySelectorAll("[".concat(hg,'="').concat(l,'"]:not([').concat(_w,'="disabled"])')))):[r]),i},[])},bx=function(a){try{return a()}catch{return}},Rr=function(a){if(a===void 0&&(a=document),!(!a||!a.activeElement)){var s=a.activeElement;return s.shadowRoot?Rr(s.shadowRoot):s instanceof HTMLIFrameElement&&bx(function(){return s.contentWindow.document})?Rr(s.contentWindow.document):s}},vx=function(a,s){return a===s},yx=function(a,s){return!!zs(a.querySelectorAll("iframe")).some(function(i){return vx(i,s)})},Lw=function(a,s){return s===void 0&&(s=Rr(Sw(a).ownerDocument)),!s||s.dataset&&s.dataset.focusGuard?!1:zg(a).some(function(i){return ai(i,s)||yx(i,s)})},_x=function(a){a===void 0&&(a=document);var s=Rr(a);return s?zs(a.querySelectorAll("[".concat(WI,"]"))).some(function(i){return ai(i,s)}):!1},wx=function(a,s){return s.filter(Ow).filter(function(i){return i.name===a.name}).filter(function(i){return i.checked})[0]||a},Ug=function(a,s){return Ow(a)&&a.name?wx(a,s):a},Cx=function(a){var s=new Set;return a.forEach(function(i){return s.add(Ug(i,a))}),a.filter(function(i){return s.has(i)})},Wy=function(a){return a[0]&&a.length>1?Ug(a[0],a):a[0]},Gy=function(a,s){return a.indexOf(Ug(s,a))},gg="NEW_FOCUS",Tx=function(a,s,i,r,l){var u=a.length,d=a[0],g=a[u-1],m=Lg(r);if(!(r&&a.indexOf(r)>=0)){var f=r!==void 0?i.indexOf(r):-1,v=l?i.indexOf(l):f,w=l?a.indexOf(l):-1;if(f===-1)return w!==-1?w:gg;if(w===-1)return gg;var _=f-v,S=i.indexOf(d),k=i.indexOf(g),C=Cx(i),E=r!==void 0?C.indexOf(r):-1,A=l?C.indexOf(l):E,R=C.filter(function(K){return K.tabIndex>=0}),O=r!==void 0?R.indexOf(r):-1,Z=l?R.indexOf(l):O,ae=O>=0&&Z>=0?Z-O:A-E;if(!_&&w>=0||s.length===0)return w;var se=Gy(a,s[0]),ge=Gy(a,s[s.length-1]);if(f<=S&&m&&Math.abs(_)>1)return ge;if(f>=k&&m&&Math.abs(_)>1)return se;if(_&&Math.abs(ae)>1)return w;if(f<=S)return ge;if(f>k)return se;if(_)return Math.abs(_)>1?w:(u+w+_)%u}},kx=function(a){return function(s){var i,r=(i=Aw(s))===null||i===void 0?void 0:i.autofocus;return s.autofocus||r!==void 0&&r!=="false"||a.indexOf(s)>=0}},Vy=function(a,s,i){var r=a.map(function(u){var d=u.node;return d}),l=Hy(r.filter(kx(i)));return l&&l.length?Wy(l):Wy(Hy(s))},mg=function(a,s){return s===void 0&&(s=[]),s.push(a),a.parentNode&&mg(a.parentNode.host||a.parentNode,s),s},Dp=function(a,s){for(var i=mg(a),r=mg(s),l=0;l=0)return u}return!1},Bw=function(a,s,i){var r=ci(a),l=ci(s),u=r[0],d=!1;return l.filter(Boolean).forEach(function(g){d=Dp(d||g,g)||d,i.filter(Boolean).forEach(function(m){var f=Dp(u,m);f&&(!d||ai(f,d)?d=f:d=Dp(f,d))})}),d},Ky=function(a,s){return a.reduce(function(i,r){return i.concat(fx(r,s))},[])},Sx=function(a,s){var i=new Map;return s.forEach(function(r){return i.set(r.node,r)}),a.map(function(r){return i.get(r)}).filter(cx)},Ex=function(a,s){var i=Rr(ci(a).length>0?document:Sw(a).ownerDocument),r=zg(a).filter(pg),l=Bw(i||a,a,r),u=new Map,d=Ar(r,u),g=d.filter(function(k){var C=k.node;return pg(C)});if(g[0]){var m=Ar([l],u).map(function(k){var C=k.node;return C}),f=Sx(m,g),v=f.map(function(k){var C=k.node;return C}),w=f.filter(function(k){var C=k.tabIndex;return C>=0}).map(function(k){var C=k.node;return C}),_=Tx(v,w,m,i,s);if(_===gg){var S=Vy(d,w,Ky(r,u))||Vy(d,v,Ky(r,u));if(S)return{node:S};console.warn("focus-lock: cannot find any node to move focus into");return}return _===void 0?_:f[_]}},Ix=function(a){var s=zg(a).filter(pg),i=Bw(a,a,s),r=Bg(pn([i],!0),!0,!0),l=pn(s,!1);return r.map(function(u){var d=u.node,g=u.index;return{node:d,index:g,lockItem:l.indexOf(d)>=0,guard:Lg(d)}})},Hg=function(a,s){a&&("focus"in a&&a.focus(s),"contentWindow"in a&&a.contentWindow&&a.contentWindow.focus())},Ap=0,Rp=!1,Pw=function(a,s,i){i===void 0&&(i={});var r=Ex(a,s);if(!Rp&&r){if(Ap>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),Rp=!0,setTimeout(function(){Rp=!1},1);return}Ap++,Hg(r.node,i.focusOptions),Ap--}};function br(a){if(!a)return null;if(typeof WeakRef>"u")return function(){return a||null};var s=a?new WeakRef(a):null;return function(){return(s==null?void 0:s.deref())||null}}var xx=function(a){if(!a)return null;for(var s=[],i=a;i&&i!==document.body;)s.push({current:br(i),parent:br(i.parentElement),left:br(i.previousElementSibling),right:br(i.nextElementSibling)}),i=i.parentElement;return{element:br(a),stack:s,ownerDocument:a.ownerDocument}},Dx=function(a){var s,i,r,l,u;if(a)for(var d=a.stack,g=a.ownerDocument,m=new Map,f=0,v=d;f-1&&(E.filter(function(R){var O=R.guard,Z=R.node;return O&&Z.dataset.focusAutoGuard}).forEach(function(R){var O=R.node;return O.removeAttribute("tabIndex")}),Jy(A,E.length,1,E),Jy(A,-1,-1,E))}}}return s},Ww=function(s){Jl()&&s&&(s.stopPropagation(),s.preventDefault())},Vg=function(){return Wg(Jl)},Yx=function(s){var i=s.target,r=s.currentTarget;r.contains(i)||Ux(r,i)},Jx=function(){return null},Gw=function(){Gg=!0},Vw=function(){Gg=!1,Or="just",Wg(function(){Or="meanwhile"})},Xx=function(){document.addEventListener("focusin",Ww),document.addEventListener("focusout",Vg),window.addEventListener("focus",Gw),window.addEventListener("blur",Vw)},qx=function(){document.removeEventListener("focusin",Ww),document.removeEventListener("focusout",Vg),window.removeEventListener("focus",Gw),window.removeEventListener("blur",Vw)};function Zx(a){return a.filter(function(s){var i=s.disabled;return!i})}var Kw={moveFocusInside:Pw,focusInside:Lw,focusNextElement:Mx,focusPrevElement:Nx,focusFirstElement:Lx,focusLastElement:Bx,captureFocusRestore:Fw};function Qx(a){var s=a.slice(-1)[0];s&&!cn&&Xx();var i=cn,r=i&&s&&s.id===i.id;cn=s,i&&!r&&(i.onDeactivation(),a.filter(function(l){var u=l.id;return u===i.id}).length||i.returnFocus(!s)),s?(Wt=null,(!r||i.observed!==s.observed)&&s.onActivation(Kw),Jl(),Wg(Jl)):(qx(),Wt=null)}Tw.assignSyncMedium(Yx);kw.assignMedium(Vg);qI.assignMedium(function(a){return a(Kw)});const eD=tx(Zx,Qx)(Jx);var Yw=V.forwardRef(function(s,i){return X.createElement(Ng,Xp({sideCar:eD,ref:i},s))}),Jw=Ng.propTypes||{};Jw.sideCar;OT(Jw,["sideCar"]);Yw.propTypes={};var Xw={exports:{}},Qe={};/** + * @license React + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Kg=Symbol.for("react.element"),Yg=Symbol.for("react.portal"),Sc=Symbol.for("react.fragment"),Ec=Symbol.for("react.strict_mode"),Ic=Symbol.for("react.profiler"),xc=Symbol.for("react.provider"),Dc=Symbol.for("react.context"),tD=Symbol.for("react.server_context"),Ac=Symbol.for("react.forward_ref"),Rc=Symbol.for("react.suspense"),Oc=Symbol.for("react.suspense_list"),Mc=Symbol.for("react.memo"),Nc=Symbol.for("react.lazy"),sD=Symbol.for("react.offscreen"),qw;qw=Symbol.for("react.module.reference");function hs(a){if(typeof a=="object"&&a!==null){var s=a.$$typeof;switch(s){case Kg:switch(a=a.type,a){case Sc:case Ic:case Ec:case Rc:case Oc:return a;default:switch(a=a&&a.$$typeof,a){case tD:case Dc:case Ac:case Nc:case Mc:case xc:return a;default:return s}}case Yg:return s}}}Qe.ContextConsumer=Dc;Qe.ContextProvider=xc;Qe.Element=Kg;Qe.ForwardRef=Ac;Qe.Fragment=Sc;Qe.Lazy=Nc;Qe.Memo=Mc;Qe.Portal=Yg;Qe.Profiler=Ic;Qe.StrictMode=Ec;Qe.Suspense=Rc;Qe.SuspenseList=Oc;Qe.isAsyncMode=function(){return!1};Qe.isConcurrentMode=function(){return!1};Qe.isContextConsumer=function(a){return hs(a)===Dc};Qe.isContextProvider=function(a){return hs(a)===xc};Qe.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===Kg};Qe.isForwardRef=function(a){return hs(a)===Ac};Qe.isFragment=function(a){return hs(a)===Sc};Qe.isLazy=function(a){return hs(a)===Nc};Qe.isMemo=function(a){return hs(a)===Mc};Qe.isPortal=function(a){return hs(a)===Yg};Qe.isProfiler=function(a){return hs(a)===Ic};Qe.isStrictMode=function(a){return hs(a)===Ec};Qe.isSuspense=function(a){return hs(a)===Rc};Qe.isSuspenseList=function(a){return hs(a)===Oc};Qe.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===Sc||a===Ic||a===Ec||a===Rc||a===Oc||a===sD||typeof a=="object"&&a!==null&&(a.$$typeof===Nc||a.$$typeof===Mc||a.$$typeof===xc||a.$$typeof===Dc||a.$$typeof===Ac||a.$$typeof===qw||a.getModuleId!==void 0)};Qe.typeOf=hs;Xw.exports=Qe;var Zw=Xw.exports;function oD(a){function s(F,H,U,le,x){for(var pe=0,W=0,ke=0,ve=0,Ie,fe,Ge=0,Ye=0,Ce,Ee=Ce=Ie=0,be=0,Le=0,mt=0,Q=0,lt=U.length,ze=lt-1,_t,ye="",tt="",Us="",wt="",Ct;beIe)&&(Q=(ye=ye.replace(" ",":")).length),0le&&(le=(H=H.trim()).charCodeAt(0)),le){case 38:return H.replace(A,"$1"+F.trim());case 58:return F.trim()+H.replace(A,"$1"+F.trim());default:if(0<1*U&&0W.charCodeAt(8))break;case 115:x=x.replace(W,"-webkit-"+W)+";"+x;break;case 207:case 102:x=x.replace(W,"-webkit-"+(102U.charCodeAt(0)&&(U=U.trim()),oe=U,U=[oe],01?s-1:0),r=1;r0?" Args: "+i.join(", "):""))}var aD=function(){function a(i){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=i}var s=a.prototype;return s.indexOfGroup=function(i){for(var r=0,l=0;l=this.groupSizes.length){for(var l=this.groupSizes,u=l.length,d=u;i>=d;)(d<<=1)<0&&Wr(16,""+i);this.groupSizes=new Uint32Array(d),this.groupSizes.set(l),this.length=d;for(var g=u;g=this.length||this.groupSizes[i]===0)return r;for(var l=this.groupSizes[i],u=this.indexOfGroup(i),d=u+l,g=u;g=kr&&(kr=s+1),Wl.set(a,s),ql.set(s,a)},uD="style["+gn+'][data-styled-version="5.3.11"]',dD=new RegExp("^"+gn+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),hD=function(a,s,i){for(var r,l=i.split(","),u=0,d=l.length;u=0;f--){var v=m[f];if(v&&v.nodeType===1&&v.hasAttribute(gn))return v}}(i),u=l!==void 0?l.nextSibling:null;r.setAttribute(gn,"active"),r.setAttribute("data-styled-version","5.3.11");var d=gD();return d&&r.setAttribute("nonce",d),i.insertBefore(r,u),r},mD=function(){function a(i){var r=this.element=Qw(i);r.appendChild(document.createTextNode("")),this.sheet=function(l){if(l.sheet)return l.sheet;for(var u=document.styleSheets,d=0,g=u.length;d=0){var l=document.createTextNode(r),u=this.nodes[i];return this.element.insertBefore(l,u||null),this.length++,!0}return!1},s.deleteRule=function(i){this.element.removeChild(this.nodes[i]),this.length--},s.getRule=function(i){return i0&&(w+=_+",")}),u+=""+f+v+'{content:"'+w+`"}/*!sc*/ +`}}}return u}(this)},a}(),vD=/(a)(d)/gi,Qy=function(a){return String.fromCharCode(a+(a>25?39:97))};function $g(a){var s,i="";for(s=Math.abs(a);s>52;s=s/52|0)i=Qy(s%52)+i;return(Qy(s%52)+i).replace(vD,"$1-$2")}var an=function(a,s){for(var i=s.length;i;)a=33*a^s.charCodeAt(--i);return a},eC=function(a){return an(5381,a)};function tC(a){for(var s=0;s>>0);if(!i.hasNameForId(l,g)){var m=r(d,"."+g,void 0,l);i.insertRules(l,g,m)}u.push(g),this.staticRulesId=g}else{for(var f=this.rules.length,v=an(this.baseHash,r.hash),w="",_=0;_>>0);if(!i.hasNameForId(l,E)){var A=r(w,"."+E,void 0,l);i.insertRules(l,E,A)}u.push(E)}}return u.join(" ")},a}(),wD=/^\s*\/\/.*$/gm,CD=[":","[",".","#"];function TD(a){var s,i,r,l,u=Io,d=u.options,g=d===void 0?Io:d,m=u.plugins,f=m===void 0?Xl:m,v=new oD(g),w=[],_=function(C){function E(A){if(A)try{C(A+"}")}catch{}}return function(A,R,O,Z,ae,se,ge,K,je,Me){switch(A){case 1:if(je===0&&R.charCodeAt(0)===64)return C(R+";"),"";break;case 2:if(K===0)return R+"/*|*/";break;case 3:switch(K){case 102:case 112:return C(O[0]+R),"";default:return R+(Me===0?"/*|*/":"")}case-2:R.split("/*|*/}").forEach(E)}}}(function(C){w.push(C)}),S=function(C,E,A){return E===0&&CD.indexOf(A[i.length])!==-1||A.match(l)?C:"."+s};function k(C,E,A,R){R===void 0&&(R="&");var O=C.replace(wD,""),Z=E&&A?A+" "+E+" { "+O+" }":O;return s=R,i=E,r=new RegExp("\\"+i+"\\b","g"),l=new RegExp("(\\"+i+"\\b){2,}"),v(A||!E?"":E,Z)}return v.use([].concat(f,[function(C,E,A){C===2&&A.length&&A[0].lastIndexOf(i)>0&&(A[0]=A[0].replace(r,S))},_,function(C){if(C===-2){var E=w;return w=[],E}}])),k.hash=f.length?f.reduce(function(C,E){return E.name||Wr(15),an(C,E.name)},5381).toString():"",k}var sC=X.createContext();sC.Consumer;var oC=X.createContext(),kD=(oC.Consumer,new Zl),bg=TD();function iC(){return V.useContext(sC)||kD}function nC(){return V.useContext(oC)||bg}var SD=function(){function a(s,i){var r=this;this.inject=function(l,u){u===void 0&&(u=bg);var d=r.name+u.hash;l.hasNameForId(r.id,d)||l.insertRules(r.id,d,u(r.rules,d,"@keyframes"))},this.toString=function(){return Wr(12,String(r.name))},this.name=s,this.id="sc-keyframes-"+s,this.rules=i}return a.prototype.getName=function(s){return s===void 0&&(s=bg),this.name+s.hash},a}(),ED=/([A-Z])/,ID=/([A-Z])/g,xD=/^ms-/,DD=function(a){return"-"+a.toLowerCase()};function e_(a){return ED.test(a)?a.replace(ID,DD).replace(xD,"-ms-"):a}var t_=function(a){return a==null||a===!1||a===""};function ui(a,s,i,r){if(Array.isArray(a)){for(var l,u=[],d=0,g=a.length;d1?s-1:0),r=1;r?@[\\\]^`{|}~-]+/g,RD=/(^-|-$)/g;function Op(a){return a.replace(AD,"-").replace(RD,"")}var lC=function(a){return $g(eC(a)>>>0)};function Ml(a){return typeof a=="string"&&!0}var vg=function(a){return typeof a=="function"||typeof a=="object"&&a!==null&&!Array.isArray(a)},OD=function(a){return a!=="__proto__"&&a!=="constructor"&&a!=="prototype"};function MD(a,s,i){var r=a[i];vg(s)&&vg(r)?cC(r,s):a[i]=s}function cC(a){for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;r=0||(Me[K]=se[K]);return Me}(s,["componentId"]),ae=O&&O+"-"+(Ml(R)?R:Op(qy(R)));return uC(R,js({},Z,{attrs:_,componentId:ae}),i)},Object.defineProperty(k,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(R){this._foldedDefaultProps=r?cC({},a.defaultProps,R):R}}),Object.defineProperty(k,"toString",{value:function(){return"."+k.styledComponentId}}),l&&MT(k,a,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),k}var ds=function(a){return function s(i,r,l){if(l===void 0&&(l=Io),!Zw.isValidElementType(r))return Wr(1,String(r));var u=function(){return i(r,l,rC.apply(void 0,arguments))};return u.withConfig=function(d){return s(i,r,js({},l,{},d))},u.attrs=function(d){return s(i,r,js({},l,{attrs:Array.prototype.concat(l.attrs,d).filter(Boolean)}))},u}(uC,a)};["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","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach(function(a){ds[a]=ds(a)});var ND=function(){function a(i,r){this.rules=i,this.componentId=r,this.isStatic=tC(i),Zl.registerId(this.componentId+1)}var s=a.prototype;return s.createStyles=function(i,r,l,u){var d=u(ui(this.rules,r,l,u).join(""),""),g=this.componentId+i;l.insertRules(g,g,d)},s.removeStyles=function(i,r){r.clearRules(this.componentId+i)},s.renderStyles=function(i,r,l,u){i>2&&Zl.registerId(this.componentId+i),this.removeStyles(i,l),this.createStyles(i,r,l,u)},a}();function LD(a){for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;ra.length)&&(s=a.length);for(var i=0,r=Array(s);i=a.length?{done:!0}:{done:!1,value:a[r++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var u,d=!0,g=!1;return{s:function(){i=i.call(a)},n:function(){var m=i.next();return d=m.done,m},e:function(m){g=!0,u=m},f:function(){try{d||i.return==null||i.return()}finally{if(g)throw u}}}}function as(a,s,i){return(s=hC(s))in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function Ql(a){return Ql=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(s){return s.__proto__||Object.getPrototypeOf(s)},Ql(a)}function HD(a,s){if(typeof s!="function"&&s!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(s&&s.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),s&&yg(a,s)}function dC(){try{var a=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(dC=function(){return!!a})()}function WD(a,s){var i=a==null?null:typeof Symbol<"u"&&a[Symbol.iterator]||a["@@iterator"];if(i!=null){var r,l,u,d,g=[],m=!0,f=!1;try{if(u=(i=i.call(a)).next,s!==0)for(;!(m=(r=u.call(i)).done)&&(g.push(r.value),g.length!==s);m=!0);}catch(v){f=!0,l=v}finally{try{if(!m&&i.return!=null&&(d=i.return(),Object(d)!==d))return}finally{if(f)throw l}}return g}}function GD(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function i_(a,s){var i=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);s&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(a,l).enumerable})),i.push.apply(i,r)}return i}function ec(a){for(var s=1;si.right&&(i.right=g.right),g.bottom>i.bottom&&(i.bottom=g.bottom),g.left=0+m&&l>=0+m&&r<=d-m&&i<=u-m}function QD(a){return a===document.querySelector("body")||a===document.querySelector("html")}var e0=function(s){return/(left|right)/.test(s)},Np=function(s,i){return s>i},Lp=function(s,i){return s>i},Fs=function(s){return s<0?0:s};function t0(a){return Object.keys(a).map(function(s){return{position:s,value:a[s]}}).sort(function(s,i){return i.value-s.value}).map(function(s){return s.position})}var d_,s0=ds.div(d_||(d_=Ts([` + --reactour-accent: `,`; + `,` + position: fixed; + transition: transform 0.3s; + top: 0; + left: 0; + z-index: 1000000; + + transform: `,`; +`])),function(a){return a.accentColor},function(a){return a.defaultStyles?` + max-width: 331px; + min-width: 150px; + padding-right: 40px; + border-radius: `.concat(a.rounded,`px; + background-color: #fff; + padding: 24px 30px; + box-shadow: 0 0.5em 3em rgba(0, 0, 0, 0.3); + color: inherit; + `):""},function(a){var s=a.targetTop,i=a.targetRight,r=a.targetBottom,l=a.targetLeft,u=a.windowWidth,d=a.windowHeight,g=a.helperWidth,m=a.helperHeight,f=a.helperPosition,v=a.padding,w={left:l,right:u-i,top:s,bottom:d-r},_=function(A){return w[A]>(e0(A)?g+v*2:m+v*2)},S=function(A){for(var R=t0(w),O=0;Ov?ae:v,ge=Lp(s+m,d)?Lp(r+v,d)?r-m:r-m+v:s-v,K=ge>v?ge:v,je={top:[se,s-m-v*2],right:[i+v*2,K],bottom:[se,r+v*2],left:[l-g-v*2,K],center:[u/2-g/2,d/2-m/2]};return A==="center"||_(A)?je[A]:S(je)},C=k(f);return"translate(".concat(Math.round(C[0]),"px, ").concat(Math.round(C[1]),"px)")}),h_,o0=ds.span(h_||(h_=Ts([` + position: absolute; + font-family: monospace; + background: var(--reactour-accent); + background: `,`; + height: 1.875em; + line-height: 2; + padding-left: 0.8125em; + padding-right: 0.8125em; + font-size: 1em; + border-radius: 1.625em; + color: white; + text-align: center; + box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.3); + top: -0.8125em; + left: -0.8125em; +`])),function(a){return a.accentColor}),p_,i0=ds.div(p_||(p_=Ts([` + display: flex; + margin-top: 24px; + align-items: center; + justify-content: center; +`]))),g_,n0=ds.nav(g_||(g_=Ts([` + counter-reset: dot; + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; +`]))),m_,r0=ds.button(m_||(m_=Ts([` + counter-increment: dot; + width: 8px; + height: 8px; + border: `,`; + + border-radius: 100%; + padding: 0; + display: block; + margin: 4px; + transition: opacity 0.3s, transform 0.3s; + cursor: `,`; + transform: scale(`,`); + + color: `,`; + background: `,`; + + color: `,`; + background: `,`; + + &:before { + content: counter(dot); + position: absolute; + bottom: calc(100% + 0.25em); + left: 50%; + opacity: 0; + transform: translate(-50%, 1em); + transition: 0.3s; + display: `,`; + } + + &:hover { + background-color: currentColor; + + &:before { + opacity: 0.5; + transform: translate(-50%, -2px); + } + } +`])),function(a){return a.current===a.index?"0":"1px solid #caccce"},function(a){return a.disabled?"not-allowed":"pointer"},function(a){return a.current===a.index?1.25:1},function(a){return a.current===a.index?"var(--reactour-accent)":"#caccce"},function(a){return a.current===a.index?"var(--reactour-accent)":"none"},function(a){return a.current===a.index?a.accentColor:"#caccce"},function(a){return a.current===a.index?a.accentColor:"none"},function(a){return a.showNumber?"block":"none"}),f_,a0=ds.div(f_||(f_=Ts([` + opacity: `,`; + color: `,`; + width: 100%; + left: 0; + top: 0; + height: 100%; + position: fixed; + z-index: 99999; + pointer-events: none; +`])),function(a){return!a.maskClassName&&.7},function(a){return!a.maskClassName&&"#000"});function bC(a){var s=a.windowWidth,i=a.windowHeight,r=a.targetWidth,l=a.targetHeight,u=a.targetTop,d=a.targetLeft,g=a.padding,m=a.rounded,f=a.roundedStep,v=a.disableInteraction,w=a.disableInteractionClassName,_=a.className,S=a.onClick,k=a.highlightedBorder,C=Fs(r+g*2),E=Fs(l+g*2),A=Fs(u-g),R=Fs(d-g),O=f?Math.min(C/2,E/2):m;return X.createElement(a0,{onClick:S,maskClassName:_},X.createElement("svg",{width:s,height:i,xmlns:"http://www.w3.org/2000/svg",className:_},X.createElement("defs",null,X.createElement("mask",{id:"mask-main"},X.createElement("rect",{x:0,y:0,width:s,height:i,fill:"white"}),X.createElement("rect",{x:R,y:A,width:C,height:E,fill:"black"}),X.createElement("rect",{x:R-1,y:A-1,width:O,height:O,fill:"white"}),X.createElement("circle",{cx:R+O,cy:A+O,r:O,fill:"black"}),X.createElement("rect",{x:R+C-O+1,y:A-1,width:O,height:O,fill:"white"}),X.createElement("circle",{cx:R+C-O,cy:A+O,r:O,fill:"black"}),X.createElement("rect",{x:R-1,y:A+E-O+1,width:O,height:O,fill:"white"}),X.createElement("circle",{cx:R+O,cy:A+E-O,r:O,fill:"black"}),X.createElement("rect",{x:R+C-O+1,y:A+E-O+1,width:O,height:O,fill:"white"}),X.createElement("circle",{cx:R+C-O,cy:A+E-O,r:O,fill:"black "})),X.createElement("clipPath",{id:"clip-path"},X.createElement("rect",{x:0,y:0,width:s,height:A}),X.createElement("rect",{x:0,y:A,width:R,height:E}),X.createElement("rect",{x:d+r+g,y:A,width:Fs(s-r-R),height:E}),X.createElement("rect",{x:0,y:u+l+g,width:s,height:Fs(i-l-A)}))),X.createElement("rect",{x:0,y:0,width:s,height:i,fill:"currentColor",mask:"url(#mask-main)"}),X.createElement("rect",{x:0,y:0,width:s,height:i,fill:"currentColor",clipPath:"url(#clip-path)",pointerEvents:"auto"}),X.createElement("rect",{x:R,y:A,width:C,height:E,pointerEvents:"auto",fill:"transparent",display:v?"block":"none",className:w}),k&&X.createElement("rect",{x:Fs(R+k.width/2),y:Fs(A+k.width/2),width:Fs(C-k.width),height:Fs(E-k.width),pointerEvents:"auto",fill:"none",strokeWidth:k.width,stroke:k.color,rx:O-2})))}bC.propTypes={windowWidth:ee.number.isRequired,windowHeight:ee.number.isRequired,targetWidth:ee.number.isRequired,targetHeight:ee.number.isRequired,targetTop:ee.number.isRequired,targetLeft:ee.number.isRequired,padding:ee.number.isRequired,rounded:ee.number.isRequired,roundedStep:ee.bool,disableInteraction:ee.bool.isRequired,disableInteractionClassName:ee.string.isRequired,highlightedBorder:ee.shape({color:ee.string.isRequired,width:ee.number.isRequired})};var l0=function(a){var s=a.step,i=a.refresh,r=V.useState(0),l=KD(r,2),u=l[0],d=l[1];return V.useEffect(function(){if(s.resizeObservables){var g=function(_){var S=dn(_),k;try{var C=function(){var A=k.value;if(!A.attributes)return 1;var R=s.resizeObservables.find(function(O){return A.matches(O)||A.querySelector(O)!=null});R&&d(u+1)};for(S.s();!(k=S.n()).done;)C()}catch(E){S.e(E)}finally{S.f()}},m=new MutationObserver(function(w){var _=dn(w),S;try{for(_.s();!(S=_.n()).done;){var k=S.value;k.addedNodes.length!==0&&g(k.addedNodes),k.removedNodes.length!==0&&g(k.removedNodes)}}catch(C){_.e(C)}finally{_.f()}}),f=document.documentElement||document.body,v={childList:!0,subtree:!0};return m.observe(f,v),function(){m.disconnect()}}},[s,u]),V.useEffect(function(){if(s.resizeObservables){var g=new ResizeObserver(function(_){i()}),m=dn(s.resizeObservables),f;try{for(m.s();!(f=m.n()).done;){var v=f.value,w=document.querySelector(v);w&&g.observe(w)}}catch(_){m.e(_)}finally{m.f()}return function(){g.disconnect()}}},[s,u]),null},c0=function(a){var s=a.step,i=a.refresh;return V.useEffect(function(){if(s.mutationObservables){var r=function(m){var f=dn(m),v;try{var w=function(){var S=v.value;if(!S.attributes)return 1;var k=s.mutationObservables.find(function(C){return S.matches(C)||S.querySelector(C)!=null});k&&i()};for(f.s();!(v=f.n()).done;)w()}catch(_){f.e(_)}finally{f.f()}},l=new MutationObserver(function(g){var m=dn(g),f;try{for(m.s();!(f=m.n()).done;){var v=f.value;v.addedNodes.length!==0&&r(v.addedNodes),v.removedNodes.length!==0&&r(v.removedNodes)}}catch(w){m.e(w)}finally{m.f()}}),u=document.documentElement||document.body,d={childList:!0,subtree:!0};return l.observe(u,d),function(){l.disconnect()}}},[s]),null};function u0(a){var s=a.children,i=V.useRef(null);return i.current===null&&(i.current=document.createElement("div"),i.current.setAttribute("id","___reactour")),V.useEffect(function(){return document.body.appendChild(i.current),function(){document.body.removeChild(i.current)}},[i]),M_.createPortal(s,i.current)}var d0={disableFocusLock:ee.bool,badgeContent:ee.func,highlightedMaskClassName:ee.string,children:ee.oneOfType([ee.node,ee.element]),className:ee.string,closeButtonAriaLabel:ee.string,closeWithMask:ee.bool,inViewThreshold:ee.number,isOpen:ee.bool.isRequired,lastStepNextButton:ee.node,maskClassName:ee.string,maskSpace:ee.number,nextButton:ee.node,onAfterOpen:ee.func,onBeforeClose:ee.func,onRequestClose:ee.func,prevButton:ee.node,scrollDuration:ee.number,scrollOffset:ee.number,showButtons:ee.bool,showCloseButton:ee.bool,showNavigation:ee.bool,showNavigationNumber:ee.bool,showNumber:ee.bool,startAt:ee.number,goToStep:ee.number,getCurrentStep:ee.func,nextStep:ee.func,prevStep:ee.func,steps:ee.arrayOf(ee.shape({selector:ee.string,content:ee.oneOfType([ee.node,ee.element,ee.func]).isRequired,position:ee.oneOfType([ee.arrayOf(ee.number),ee.oneOf(["top","right","bottom","left","center"])]),action:ee.func,style:ee.object,stepInteraction:ee.bool,navDotAriaLabel:ee.string,roundedStep:ee.bool})),update:ee.string,updateDelay:ee.number,disableInteraction:ee.bool,disableDotsNavigation:ee.bool,disableKeyboardNavigation:ee.oneOfType([ee.arrayOf(ee.oneOf(["esc","right","left"])),ee.bool]),rounded:ee.number,accentColor:ee.string,highlightedBorder:ee.shape({color:ee.string.isRequired,width:ee.number.isRequired})},h0={disableFocusLock:!1,showNavigation:!0,showNavigationNumber:!0,showButtons:!0,showCloseButton:!0,closeButtonAriaLabel:"Close",showNumber:!0,scrollDuration:1,maskSpace:10,updateDelay:1,disableInteraction:!1,rounded:0,accentColor:"#007aff",closeWithMask:!0},tn={mask:{disableInteraction:"reactour__mask--disable-interaction"},helper:{base:"reactour__helper",isOpen:"reactour__helper--is-open"},dot:{base:"reactour__dot",active:"reactour__dot--is-active"}},Zg=function(a){function s(){var i;return jD(this,s),i=FD(this,s),as(i,"unlockFocus",function(r){i.setState({focusUnlocked:!0},r())}),as(i,"showStep",function(){if(!(!i.helper||!i.helper.current)){var r=i.props.steps,l=i.state,u=l.current,d=l.focusUnlocked;d&&i.setState({focusUnlocked:!1});var g=r[u],m=g.selector?document.querySelector(g.selector):null,f=function(k){g.action&&typeof g.action=="function"&&i.unlockFocus(function(){return g.action(k)})};if(g.observe){var v=document.querySelector(g.observe),w={attributes:!0,childList:!0,characterData:!0};i.setState(function(S){return S.observer&&setTimeout(function(){S.observer.disconnect()},0),{observer:new MutationObserver(function(k){k.forEach(function(C){if(C.type==="childList"&&C.addedNodes.length>0){var E=function(){return f(C.addedNodes[0])};setTimeout(function(){return i.calculateNode(C.addedNodes[0],g,E)},100)}else if(C.type==="childList"&&C.removedNodes.length>0){var A=function(){return f(m)};i.calculateNode(m,g,A)}})})}},function(){return i.state.observer.observe(v,w)})}else i.state.observer&&(i.state.observer.disconnect(),i.setState({observer:null}));if(m){var _=function(){return f(m)};i.calculateNode(m,g,_)}else i.setState(Bp(null,g,i.helper.current),f),g.selector&&console.warn("Doesn't find a DOM node '".concat(g.selector,"'. Please check the 'steps' Tour prop Array at position ").concat(u,"."))}}),as(i,"calculateNode",function(r,l,u){var d=i.props,g=d.scrollDuration,m=d.inViewThreshold,f=d.scrollOffset,v=$C(r,l),w=Math.max(document.documentElement.clientWidth,window.innerWidth||0),_=Math.max(document.documentElement.clientHeight,window.innerHeight||0);if(ZD(ec(ec({},v),{},{w,h:_,threshold:m})))i.setState(Bp(r,l,i.helper.current),u);else{var S=TI(r),k=f||(v.height>_?-25:-(_/2)+v.height/2);_I.to(r,{context:QD(S)?window:S,duration:g,offset:k,callback:function(E){i.setState(Bp(E,l,i.helper.current),u)}})}}),as(i,"recalculateNode",function(r){var l=document.querySelector(r.selector),u=function(g){r.action&&typeof r.action=="function"&&i.unlockFocus(function(){return r.action(g)})};i.calculateNode(l,r,function(){return u(l)})}),as(i,"maskClickHandler",function(r){var l=i.props,u=l.closeWithMask,d=l.onRequestClose;u&&!r.target.classList.contains(tn.mask.disableInteraction)&&d(r)}),as(i,"nextStep",function(){var r=i.props,l=r.steps,u=r.getCurrentStep;i.setState(function(d){var g=d.current0?l.current-1:l.current;return typeof r=="function"&&r(u),{current:u}},i.showStep)}),as(i,"gotoStep",function(r){var l=i.props,u=l.steps,d=l.getCurrentStep;i.setState(function(g){var m=u[r]?r:g.current;return typeof d=="function"&&d(m),{current:m}},i.showStep)}),as(i,"keyDownHandler",function(r){var l=i.props,u=l.onRequestClose,d=l.nextStep,g=l.prevStep,m=l.disableKeyboardNavigation;if(r.stopPropagation(),m!==!0){var f,v,w;m&&(f=m.includes("esc"),v=m.includes("right"),w=m.includes("left")),r.keyCode===27&&!f&&(r.preventDefault(),u()),r.keyCode===39&&!v&&(r.preventDefault(),typeof d=="function"?d():i.nextStep()),r.keyCode===37&&!w&&(r.preventDefault(),typeof g=="function"?g():i.prevStep())}}),i.state={isOpen:!1,current:0,top:0,right:0,bottom:0,left:0,width:0,height:0,w:0,h:0,inDOM:!1,observer:null,focusUnlocked:!1},i.helper=V.createRef(),i.helperElement=null,i.debouncedShowStep=HI(i.showStep,70),i}return HD(s,a),UD(s,[{key:"componentDidMount",value:function(){var r=this.props,l=r.isOpen,u=r.startAt;l&&this.open(u)}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){var l=this.props,u=l.isOpen,d=l.update,g=l.updateDelay;!u&&r.isOpen?this.open(r.startAt):u&&!r.isOpen&&this.close(),u&&d!==r.update&&(r.steps[this.state.current]?setTimeout(this.showStep,g):this.props.onRequestClose()),u&&r.isOpen&&this.state.current!==r.goToStep&&this.gotoStep(r.goToStep)}},{key:"componentWillUnmount",value:function(){var r=this.props.isOpen;r&&this.close(),this.state.observer&&this.state.observer.disconnect()}},{key:"open",value:function(r){var l=this,u=this.props.onAfterOpen;this.setState(function(d){return{isOpen:!0,current:r!==void 0?r:d.current}},function(){setTimeout(l.showStep,1),l.helperElement=l.helper.current,l.props.disableFocusLock||l.helper.current.focus(),u&&u(l.helperElement)}),window.addEventListener("resize",this.debouncedShowStep,!1),window.addEventListener("keydown",this.keyDownHandler,!1)}},{key:"close",value:function(){this.setState(function(r){return r.observer&&r.observer.disconnect(),{isOpen:!1,observer:null}},this.onBeforeClose),window.removeEventListener("resize",this.debouncedShowStep),window.removeEventListener("keydown",this.keyDownHandler)}},{key:"onBeforeClose",value:function(){var r=this.props.onBeforeClose;r&&r(this.helperElement)}},{key:"render",value:function(){var r=this,l=this.props,u=l.className,d=l.steps,g=l.maskClassName,m=l.showButtons,f=l.showCloseButton,v=l.closeButtonAriaLabel,w=l.showNavigation,_=l.showNavigationNumber,S=l.showNumber,k=l.onRequestClose,C=l.maskSpace,E=l.lastStepNextButton,A=l.nextButton,R=l.prevButton,O=l.badgeContent,Z=l.highlightedMaskClassName,ae=l.disableInteraction,se=l.disableDotsNavigation,ge=l.nextStep,K=l.prevStep,je=l.rounded,Me=l.accentColor,qe=l.CustomHelper,ce=l.disableFocusLock,de=l.highlightedBorder,J=this.state,we=J.isOpen,me=J.current,Fe=J.inDOM,Y=J.top,et=J.right,q=J.bottom,oe=J.left,F=J.width,H=J.height,U=J.w,le=J.h,x=J.helperWidth,pe=J.helperHeight,W=J.helperPosition;return we?X.createElement(u0,null,X.createElement(JD,null),X.createElement(l0,{step:d[me],refresh:function(){return r.recalculateNode(d[me])}}),X.createElement(c0,{step:d[me],refresh:function(){return r.recalculateNode(d[me])}}),X.createElement(bC,{onClick:this.maskClickHandler,forwardRef:function(ve){return r.mask=ve},windowWidth:U,windowHeight:le,targetWidth:F,targetHeight:H,targetTop:Y,targetLeft:oe,padding:C,rounded:je,roundedStep:d[me].roundedStep,className:g,disableInteraction:d[me].stepInteraction===!1||ae?!d[me].stepInteraction:ae,disableInteractionClassName:"".concat(tn.mask.disableInteraction," ").concat(Z),highlightedBorder:de}),X.createElement(Yw,{disabled:ce,autoFocus:!1},X.createElement(s0,{ref:this.helper,targetHeight:H,targetWidth:F,targetTop:Y,targetRight:et,targetBottom:q,targetLeft:oe,windowWidth:U,windowHeight:le,helperWidth:x,helperHeight:pe,helperPosition:W,padding:C,tabIndex:-1,current:me,style:d[me].style?d[me].style:{},rounded:je,className:Fy(tn.helper.base,u,as({},tn.helper.isOpen,we)),accentColor:Me,defaultStyles:!qe,role:"dialog"},qe?X.createElement(qe,{current:me,totalSteps:d.length,gotoStep:this.gotoStep,close:k,content:d[me]&&(typeof d[me].content=="function"?d[me].content({close:k,goTo:this.gotoStep,inDOM:Fe,step:me+1}):d[me].content)},this.props.children):X.createElement(X.Fragment,null,this.props.children,d[me]&&(typeof d[me].content=="function"?d[me].content({close:k,goTo:this.gotoStep,inDOM:Fe,step:me+1}):d[me].content),S&&X.createElement(o0,{"data-tour-elem":"badge",accentColor:Me},typeof O=="function"?O(me+1,d.length):me+1),(m||w)&&X.createElement(i0,{"data-tour-elem":"controls"},m&&X.createElement(c_,{onClick:typeof K=="function"?K:this.prevStep,disabled:me===0,label:R||null}),w&&X.createElement(n0,{"data-tour-elem":"navigation"},d.map(function(ke,ve){return X.createElement(r0,{key:"".concat(ke.selector?ke.selector:"undef","_").concat(ve),onClick:function(){return r.gotoStep(ve)},current:me,index:ve,accentColor:Me,disabled:me===ve||se,showNumber:_,"data-tour-elem":"dot",className:Fy(tn.dot.base,as({},tn.dot.active,me===ve)),"aria-label":ke.navDotAriaLabel})})),m&&X.createElement(c_,{onClick:me===d.length-1?E?k:function(){}:typeof ge=="function"?ge:this.nextStep,disabled:!E&&me===d.length-1,inverted:!0,label:E&&me===d.length-1?E:A||null})),f&&X.createElement(qD,{onClick:k,className:"reactour__close",ariaLabel:v}))))):null}}])}(V.Component),Bp=function(s,i,r){if(r){var l=Math.max(document.documentElement.clientWidth,window.innerWidth||0),u=Math.max(document.documentElement.clientHeight,window.innerHeight||0),d=Gl(r),g=d.width,m=d.height,f={top:u+10,right:l/2+9,bottom:u/2+9,left:l/2-g/2,width:0,height:0,w:l,h:u,helperPosition:"center"};return s&&(f=$C(s,i)),function(){return ec(ec({w:l,h:u,helperWidth:g,helperHeight:m,helperPosition:i.position},f),{},{inDOM:!!s})}}};Zg.propTypes=d0;Zg.defaultProps=h0;const p0=""+new URL("blockly2js-B3Jxf2e-.svg",import.meta.url).href,g0=""+new URL("rules2js-DnYyR8mI.svg",import.meta.url).href,ws={selectTriggers:0,addScheduleByDoubleClick:1,openTagsMenu:2,selectIntervalTag:3,selectActions:4,addActionPrintText:5,showJavascript:6,switchBackToRules:7,saveTheScript:8},m0=[{selector:".blocks-triggers",content:"Select triggers"},{selector:".block-TriggerScheduleBlock",content:"Double click to add the block"},{selector:".tag-card",content:"Open drop down menu"},{selector:".tag-card-interval",content:"Select interval"},{selector:".blocks-actions",content:"Select action blocks"},{selector:".block-ActionPrintText",content:"Double click to add the block"},{selector:".button-js-code",content:"Check the script"},{selector:".button-js-code",content:"Switch back to rules"},{selector:".button-save",content:"Save the script"}],Pp=187,Nl={root:{left:0,top:0,width:"100%",height:"100%",position:"fixed",background:"rgba(0, 0, 0, .3)",zIndex:2e4},connecting:{left:"40%",top:"40%",width:"20%",height:"20%",position:"absolute"},spinner:{animation:"admin-connecting-rotator 1.4s linear infinite"},path:{strokeDasharray:187,strokeDashoffset:0,transformOrigin:"center",animation:"admin-connecting-dash 1.4s ease-in-out infinite, $colors 5.6s ease-in-out infinite"}};function sn(){return p.jsxs("div",{style:Nl.root,children:[p.jsx("style",{children:` +' @keyframes admin-connecting-colors { + 0% { + stroke: #4285F4; + } + 25% { + stroke: #DE3E35; + } + 50% { + stroke: #F7C223; + } + 75% { + stroke: #1B9A59; + } + 100% { + stroke: #4285F4; + } + } + @keyframes admin-connecting-dash { + 0% { + stroke-dashoffset: ${Pp}; + } + 50% { + stroke-dashoffset: ${Pp/4}; + transform: rotate(135deg); + } + 100% { + stroke-dashoffset: ${Pp}; + transform: 'rotate(450deg); + } + } + @keyframes admin-connecting-rotator { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(270deg); + } + } +`}),p.jsx("div",{style:Nl.connecting,children:p.jsx("svg",{style:Nl.spinner,width:"100%",height:"100%",viewBox:"0 0 66 66",xmlns:"http://www.w3.org/2000/svg",children:p.jsx("circle",{style:Nl.path,fill:"none",strokeWidth:"6",strokeLinecap:"round",cx:"33",cy:"33",r:"30"})})})]})}const f0=X.lazy(()=>mn(()=>Promise.resolve().then(()=>Y0),void 0,import.meta.url)),$0=X.lazy(()=>mn(()=>import("./index-BNiWan3F.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url)),b0=X.lazy(()=>mn(()=>import("./index-o6IQE1xm.js"),__vite__mapDeps([9,1,2,3,4,5,10,6,7]),import.meta.url)),v0=X.lazy(()=>mn(()=>import("./ScriptEditorVanillaMonaco-B14Clvtt.js"),__vite__mapDeps([10,1,2,3,4,5,6,7]),import.meta.url)),y0=X.lazy(()=>mn(()=>import("./ScriptEditor-2NACU7zq.js"),__vite__mapDeps([11,1,2,3,4,5,10,6,7,12]),import.meta.url)),_0=X.lazy(()=>mn(()=>import("./OpenAiDialog-BN6QnEKv.js"),__vite__mapDeps([13,1,2,3,4,5,7,14,10,6]),import.meta.url)),$_={Blockly:pw,"Javascript/js":Yl,Rules:mw,def:Yl,"TypeScript/ts":gw},w0=48,b_="#02a102",Fp="#70aae9",C0=R_[400],T0=O_[400],Se={toolbar:a=>({minHeight:38,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)",backgroundColor:a.palette.mode==="dark"?"#1e1e1e":"#E2E2E2"}),toolbarButtons:{padding:4,marginLeft:4},toolbarButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},editorDiv:a=>({height:`calc(100% - ${(parseInt(a.toolbar.height,10)||48)+38+10}px)`,width:"100%",overflow:"hidden",position:"relative"}),textButton:{marginRight:10,minHeight:24,padding:"6px 16px"},saveButton:{background:"#ff9900"},tabIcon:{width:24,height:24,verticalAlign:"middle",marginBottom:2,marginRight:2,borderRadius:3},hintIcon:{padding:"0 8px 0 8px"},hintButton:{marginTop:8,marginLeft:20},tabMenuButton:{position:"absolute",top:0,right:0},tabChanged:a=>({color:a.palette.secondary.main}),tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},tabChangedIcon:{color:"#FF0000",fontSize:16,marginLeft:5},closeButton:{marginLeft:5},notRunning:{color:"#ffbc00",marginRight:8,marginLeft:8},tabButton:{minHeight:48},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5}};function k0(){return p.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 2406 2406",children:[p.jsx("path",{d:"M1 578.4C1 259.5 259.5 1 578.4 1h1249.1c319 0 577.5 258.5 577.5 577.4V2406H578.4C259.5 2406 1 2147.5 1 1828.6V578.4z",fill:"#74aa9c"}),p.jsx("path",{d:"M1107.3 299.1c-198 0-373.9 127.3-435.2 315.3C544.8 640.6 434.9 720.2 370.5 833c-99.3 171.4-76.6 386.9 56.4 533.8-41.1 123.1-27 257.7 38.6 369.2 98.7 172 297.3 260.2 491.6 219.2 86.1 97 209.8 152.3 339.6 151.8 198 0 373.9-127.3 435.3-315.3 127.5-26.3 237.2-105.9 301-218.5 99.9-171.4 77.2-386.9-55.8-533.9v-.6c41.1-123.1 27-257.8-38.6-369.8-98.7-171.4-297.3-259.6-491-218.6-86.6-96.8-210.5-151.8-340.3-151.2zm0 117.5-.6.6c79.7 0 156.3 27.5 217.6 78.4-2.5 1.2-7.4 4.3-11 6.1L952.8 709.3c-18.4 10.4-29.4 30-29.4 51.4V1248l-155.1-89.4V755.8c-.1-187.1 151.6-338.9 339-339.2zm434.2 141.9c121.6-.2 234 64.5 294.7 169.8 39.2 68.6 53.9 148.8 40.4 226.5-2.5-1.8-7.3-4.3-10.4-6.1l-360.4-208.2c-18.4-10.4-41-10.4-59.4 0L1024 984.2V805.4L1372.7 604c51.3-29.7 109.5-45.4 168.8-45.5zM650 743.5v427.9c0 21.4 11 40.4 29.4 51.4l421.7 243-155.7 90L597.2 1355c-162-93.8-217.4-300.9-123.8-462.8C513.1 823.6 575.5 771 650 743.5zm807.9 106 348.8 200.8c162.5 93.7 217.6 300.6 123.8 462.8l.6.6c-39.8 68.6-102.4 121.2-176.5 148.2v-428c0-21.4-11-41-29.4-51.4l-422.3-243.7 155-89.3zM1201.7 997l177.8 102.8v205.1l-177.8 102.8-177.8-102.8v-205.1L1201.7 997zm279.5 161.6 155.1 89.4v402.2c0 187.3-152 339.2-339 339.2v-.6c-79.1 0-156.3-27.6-217-78.4 2.5-1.2 8-4.3 11-6.1l360.4-207.5c18.4-10.4 30-30 29.4-51.4l.1-486.8zM1380 1421.9v178.8l-348.8 200.8c-162.5 93.1-369.6 38-463.4-123.7h.6c-39.8-68-54-148.8-40.5-226.5 2.5 1.8 7.4 4.3 10.4 6.1l360.4 208.2c18.4 10.4 41 10.4 59.4 0l421.9-243.7z",fill:"white"})]})}class ln extends X.Component{getSelect=null;cron={initValue:null,callback:null};scriptDialog={initValue:null,callback:null,args:null,isReturn:!1};objects;scripts;selectId={initValue:null,callback:null};confirmCallback=null;constructor(s){super(s);const i=window.localStorage.getItem("Editor.selected")||"",r=window.localStorage.getItem("Editor.editing")||"[]";let l;try{l=JSON.parse(r)}catch{l=[]}i&&!l.includes(i)&&l.push(i),this.state={askAboutDebug:!1,astroEvents:null,blockly:null,changed:{},cmdToBlockly:"",cmdToRules:"",confirm:"",debugEnabled:!1,editing:l,insert:"",instancesLoaded:!1,isTourOpen:window.localStorage.getItem("tour")!=="true",menuDebugAnchorEl:null,menuOpened:!!this.props.menuOpened,menuTabsOpened:!1,openAiDialog:!1,triggerPrettier:1,rules:null,runningInstances:this.props.runningInstances||{},searchText:"",selected:i,showAdapterDebug:!1,showAstro:!1,showCompiledCode:!1,showCron:!1,showDebugMenu:!1,showScript:!1,showSelectId:!1,themeType:this.props.themeType,toast:"",tourStep:ws.selectTriggers,verboseEnabled:!1,visible:s.visible},this.setChangedInAdmin(),window.systemLang=b.I18n.getLanguage(),window.main={objects:{},getObject:(u,d)=>this.props.socket.getObject(u).then(g=>d&&d(null,g)).catch(g=>d&&d(g)),instances:[],selectIdDialog:(u,d,g)=>{typeof d=="function"&&(g=d,d=null),this.selectId.callback=g,this.selectId.initValue=u,this.selectId.type=d,this.setState({showSelectId:!0})},cronDialog:(u,d)=>{this.cron.callback=d,this.cron.initValue=u,this.setState({showCron:!0})},showScriptDialog:(u,d,g,m)=>{this.scriptDialog.callback=m,this.scriptDialog.initValue=u,this.scriptDialog.args=d,this.scriptDialog.isReturn=g||!1,this.setState({showScript:!0})}},this.objects=s.objects,this.scripts={},!this.state.selected&&this.state.editing.length&&Object.assign(this.state,{selected:this.state.editing[0]}),this.getAllAdapterInstances().then(()=>{this.props.onSelectedChange&&this.state.selected&&setTimeout(()=>this.props.onSelectedChange(this.state.selected,this.state.editing),100)})}getAllAdapterInstances(){return this.props.socket.getAdapterInstances(!0).then(s=>{const i={},r=s.map(l=>(i[l._id]=l,l._id));window.main.objects=i,window.main.instances=r,this.setState({instancesLoaded:!0})})}static onInstanceChanged(s,i){if(s)if(!i&&window.main.instances.includes(s)){delete window.main.objects[s];const r=window.main.instances.indexOf(s);window.main.instances.splice(r,1)}else i&&i.type==="instance"&&(window.main.instances.includes(s)||(window.main.instances.push(s),window.main.instances.sort()),window.main.objects[s]=i)}setChangedInAdmin(){const s=Object.keys(this.state.changed).find(i=>this.state.changed[i]);typeof window.parent<"u"&&window.parent&&(window.parent.configNotSaved=!!s)}componentDidMount(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",ln.onInstanceChanged)}componentWillUnmount(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",ln.onInstanceChanged)}onBrowserClose=s=>{const i=Object.keys(this.scripts).find(r=>JSON.stringify(this.scripts[r])!==JSON.stringify(this.props.objects[r].common));if(i){console.log(`Script ${JSON.stringify(this.scripts[i])}`);const r=b.I18n.t("Configuration not saved.");return s=s||window.event,s&&(s.returnValue=r),r}};removeNonExistingScripts(s,i){s=s||this.props,i=i||{};let r=!1;if(this.state.editing&&this.state.editing.find(u=>s&&!s.objects[u])){const u=JSON.parse(JSON.stringify(this.state.editing));for(let d=u.length-1;d>=0;d--)this.objects[u[d]]||(r=!0,u.splice(d,1));r&&(i.editing=u),this.state.selected&&!this.objects[this.state.selected]&&(r=!0,i.selected=u[0]||"",i.selected&&this.scripts[i.selected]&&(this.state.blockly!==(this.scripts[i.selected].engineType==="Blockly")&&(i.blockly=this.scripts[i.selected].engineType==="Blockly",r=!0),this.state.rules!==(this.scripts[i.selected].engineType==="Rules")&&(i.rules=this.scripts[i.selected].engineType==="Rules",r=!0),this.state.verboseEnabled!==this.scripts[i.selected].verbose&&(i.verboseEnabled=this.scripts[i.selected].verbose,r=!0),this.state.debugEnabled!==this.scripts[i.selected].debug&&(i.debugEnabled=this.scripts[i.selected].debug,r=!0)))}return r}UNSAFE_componentWillReceiveProps(s){var l,u;const i={};let r=!1;if(JSON.stringify(s.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(r=!0,i.runningInstances=s.runningInstances),this.state.menuOpened!==s.menuOpened&&(i.menuOpened=s.menuOpened,r=!0),this.state.themeType!==s.themeType&&(i.themeType=s.themeType,r=!0),this.removeNonExistingScripts(s,i)&&(r=!0),this.state.searchText!==s.searchText&&(i.searchText=s.searchText,r=!0),this.objects!==s.objects){this.objects=s.objects,window.main.objects=s.objects,Object.keys(this.scripts).forEach(g=>{const m=this.scripts[g].source;this.scripts[g]=JSON.parse(JSON.stringify(this.objects[g].common)),this.scripts[g].source=m}),this.state.selected&&this.objects[this.state.selected]&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.objects[this.state.selected].common)),this.state.blockly!==(this.scripts[this.state.selected].engineType==="Blockly")&&(i.blockly=this.scripts[this.state.selected].engineType==="Blockly",r=!0),this.state.rules!==(this.scripts[this.state.selected].engineType==="Rules")&&(i.rules=this.scripts[this.state.selected].engineType==="Rules",r=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(i.verboseEnabled=this.scripts[this.state.selected].verbose,r=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(i.debugEnabled=this.scripts[this.state.selected].debug,r=!0));const d=JSON.parse(JSON.stringify(this.state.editing));for(let g=d.length-1;g>=0;g--)this.objects[d[g]]||(r=!0,d.splice(g,1),this.state.changed[d[g]]!==void 0&&(i.changed=i.changed||JSON.parse(JSON.stringify(this.state.changed)),i.changed&&delete i.changed[d[g]]));this.state.selected&&!this.objects[this.state.selected]&&(i.selected=d[0]||""),r&&(i.editing=d)}else for(const d in this.scripts)if(Object.prototype.hasOwnProperty.call(this.scripts,d)){if((l=this.objects[d])!=null&&l.common){if(this.objects[d].type==="script"){const g=this.scripts[d].source,m=JSON.parse(JSON.stringify(this.scripts[d]));m.source=this.objects[d].common.source,JSON.stringify(m)!==JSON.stringify(this.objects[d].common)&&(this.scripts[d]=JSON.parse(JSON.stringify(this.objects[d].common)),this.scripts[d].source=g),g!==this.objects[d].common.source?this.state.changed[d]?(u=this.objects[d].from)!=null&&u.startsWith("system.adapter.javascript.")&&(this.objects[d].from="system.adapter.admin.0",this.setState({toast:b.I18n.t("Script %s was modified on disk.",d.split(".").pop())})):this.scripts[d].source=this.objects[d].common.source:this.state.changed[d]&&(i.changed=i.changed||JSON.parse(JSON.stringify(this.state.changed)),i.changed&&(i.changed[d]=!1),r=!0)}}else if(this.scripts[d]&&(delete this.scripts[d],this.state.selected===d)){if(this.state.editing.indexOf(d)!==-1){const g=JSON.parse(JSON.stringify(this.state.editing)),m=g.indexOf(d);m!==-1&&(g.splice(m,1),i.editing=g,r=!0)}i.selected=this.state.editing[0]||"",r=!0}}if(this.state.selected!==s.selected&&s.selected){s.selected&&(this.scripts[s.selected]=this.scripts[s.selected]||JSON.parse(JSON.stringify(this.props.objects[s.selected].common)));const d=this.props.objects[s.selected]&&this.props.objects[s.selected].common,g=d&&JSON.stringify(this.scripts[s.selected])!==JSON.stringify(d),m=JSON.parse(JSON.stringify(this.state.editing));s.selected&&m.indexOf(s.selected)===-1&&(m.push(s.selected),this.props.onSelectedChange(s.selected,m),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(m))),r=!0,i.changed=i.changed||JSON.parse(JSON.stringify(this.state.changed)),i.changed&&(i.changed[s.selected]=g),i.editing=m,i.selected=s.selected,i.blockly=this.scripts[s.selected].engineType==="Blockly",i.rules=this.scripts[s.selected].engineType==="Rules",i.verboseEnabled=this.scripts[s.selected].verbose,i.debugEnabled=this.scripts[s.selected].debug,i.showCompiledCode=!1}this.state.visible!==s.visible&&(r=!0,i.visible=s.visible),r&&this.setState(i,()=>this.setChangedInAdmin())}onRestart(){this.props.onRestart&&this.props.onRestart(this.state.selected)}onStartStop(){const s=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));s.enabled=!s.enabled,this.props.onChange&&this.props.onChange(this.state.selected,s)}onSave(){if(this.state.isTourOpen&&this.state.tourStep===ws.saveTheScript&&(this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true")),this.state.changed[this.state.selected]){const s=JSON.parse(JSON.stringify(this.state.changed));s[this.state.selected]=!1,this.setState({changed:s},()=>{this.setChangedInAdmin(),this.props.onChange&&this.props.onChange(this.state.selected,this.scripts[this.state.selected])})}}onSaveAll(){const s=JSON.parse(JSON.stringify(this.state.changed));Object.keys(s).forEach(i=>{s[i]&&(s[i]=!1,this.props.onChange&&this.props.onChange(i,this.scripts[i]))}),this.setState({changed:s},()=>this.setChangedInAdmin())}onCancel(){this.scripts[this.state.selected]=JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));const s=JSON.parse(JSON.stringify(this.state.changed));s[this.state.selected]=!1,this.setState({changed:s},()=>this.setChangedInAdmin())}onRegisterSelect(s){this.getSelect=s}onConvertBlockly2JS(){this.showConfirmDialog(b.I18n.t("It will not be possible to revert this operation."),s=>{if(s){this.scripts[this.state.selected].engineType="Javascript/js";const r=this.scripts[this.state.selected].source.split(` +`);r.pop(),this.scripts[this.state.selected].source=r.join(` +`);const l=this.state.selected,u=JSON.parse(JSON.stringify(this.state.changed));u[this.state.selected]=!0,this.setState({changed:u,blockly:!1,selected:""},()=>{this.setChangedInAdmin(),setTimeout(()=>this.setState({selected:l}),100)})}})}onChange(s){s=s||{},s&&(s.script!==void 0&&(this.scripts[this.state.selected].source=s.script),s.debug!==void 0&&(this.scripts[this.state.selected].debug=s.debug),s.verbose!==void 0&&(this.scripts[this.state.selected].verbose=s.verbose));const i=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.props.objects[this.state.selected].common);if(i!==(this.state.changed[this.state.selected]||!1)){const r=JSON.parse(JSON.stringify(this.state.changed));r[this.state.selected]=i,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:r},()=>this.setChangedInAdmin())}}onTabChange(s){if(this.props.debugMode)return;window.localStorage&&window.localStorage.setItem("Editor.selected",s);const i=this.scripts[s]||this.props.objects[s]&&this.props.objects[s].common;this.setState({selected:s,rules:i.engineType==="Rules",blockly:i.engineType==="Blockly",showCompiledCode:!1,verboseEnabled:i.verbose,debugEnabled:i.debug}),this.props.onSelectedChange&&this.props.onSelectedChange(s,this.state.editing)}isScriptChanged(s){return!!(this.scripts[s]&&this.props.objects[s]&&JSON.stringify(this.scripts[s])!==JSON.stringify(this.props.objects[s].common))}onTabClose(s,i){i==null||i.stopPropagation();const r=this.state.editing.indexOf(s);if(this.state.editing.includes(s))if(this.isScriptChanged(s))this.showConfirmDialog(b.I18n.t("Discard changes for %s",this.props.objects[s].common.name),l=>{l&&(delete this.scripts[s],this.onTabClose(s))});else{const l=JSON.parse(JSON.stringify(this.state.editing));l.splice(r,1);const u={editing:l};if(s===this.state.selected?l.length?r===0||l.length===1?u.selected=l[0]:u.selected=l[r-1]:u.selected="":this.state.selected&&!l.length&&(u.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(l)),u.selected!==void 0){u.changed=u.changed||JSON.parse(JSON.stringify(this.state.changed))||{},u.changed&&(u.changed[u.selected]=this.isScriptChanged(u.selected));const d=u.selected&&(this.scripts[u.selected]||this.props.objects[u.selected]&&this.props.objects[u.selected].common);u.blockly=d?d.engineType==="Blockly":!1,u.rules=d?d.engineType==="Rules":!1,u.verboseEnabled=d?d.verbose:!1,u.debugEnabled=d?d.debug:!1,u.showCompiledCode=!1}this.setState(u,()=>{this.setChangedInAdmin(),u.selected!==void 0?(this.props.onSelectedChange&&this.props.onSelectedChange(u.selected,this.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",u.selected)):this.props.onSelectedChange&&this.props.onSelectedChange(this.state.selected,this.state.editing)})}}showConfirmDialog(s,i){this.confirmCallback=i,this.setState({confirm:s})}sendCommandToBlockly(s){this.setState({cmdToBlockly:s},()=>setTimeout(()=>this.setState({cmdToBlockly:""}),200))}sendCommandToRules(s){this.setState({cmdToRules:s},()=>setTimeout(()=>this.setState({cmdToRules:""}),200))}static getText(s){return typeof s=="object"?s[b.I18n.getLanguage()]||s.en:s}getScriptFullName(s){const i=s.split(".");i.shift(),i.shift();const r=[];let l="script.js";for(let u=0;uthis.onTabChange(i),indicatorColor:"primary",style:{position:"relative",marginLeft:10,width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto",allowScrollButtonsMobile:!0,children:[this.state.editing.map(s=>{if(!this.props.objects[s]){const d=[p.jsx(y.Box,{sx:this.isScriptChanged(s)?Se.tabChanged:void 0,style:Se.tabText,children:s.split(".").pop()},"text"),p.jsx(y.IconButton,{onClick:g=>this.onTabClose(s,g),style:Se.closeButton,size:"small",component:"span",children:p.jsx(Cr,{})},"icon")];return p.jsx(y.Tab,{wrapped:!0,href:`#${s}`,label:d,value:s,sx:{"& .MuiTab-wrapper":Se.tabButtonWrapper}},s)}let i=ln.getText(this.props.objects[s].common.name)||"";const r=this.getScriptFullName(s);i.length>18&&(i=`${i.substring(0,15)}...`);const l=this.scripts[s]&&this.props.objects[s].common&&this.props.objects[s].common.source!==this.scripts[s].source,u=[p.jsx(y.Box,{sx:this.isScriptChanged(s)?Se.tabChanged:void 0,style:Se.tabText,children:i},"text"),l?p.jsx("span",{style:Se.tabChangedIcon,children:"▣"},"changedSign"):null,!this.props.debugInstance&&(!this.props.debugMode||this.state.selected!==s)&&p.jsx(y.IconButton,{onClick:d=>this.onTabClose(s,d),style:Se.closeButton,size:"small",component:"span",children:p.jsx(Cr,{})},"icon")];return p.jsx(y.Tab,{disabled:!!this.props.debugInstance||this.state.selected!==s&&this.props.debugMode,wrapped:!0,iconPosition:"start",icon:p.jsx("img",{alt:"",src:$_[this.props.objects[s].common.engineType]||$_.def,style:Se.tabIcon},"icon"),href:`#${s}`,label:u,style:Se.tabButton,value:s,title:r,sx:{"& .MuiTab-wrapper":Se.tabButtonWrapper}},s)}),this.props.debugInstance?p.jsx(y.Tab,{disabled:!1,wrapped:!0,href:`#${this.props.debugInstance.adapter}`,label:this.props.debugInstance.adapter,style:Se.tabButton,value:this.props.debugInstance.adapter,title:this.props.debugInstance.adapter,sx:{"& .MuiTab-wrapper":Se.tabButtonWrapper}},this.props.debugInstance.adapter):""]},"tabs1"),this.state.editing.length>1?p.jsx(y.IconButton,{href:"#","aria-label":"Close all but current",style:Se.tabMenuButton,title:b.I18n.t("Close all but current"),"aria-haspopup":"false",onClick:s=>{const i=[this.state.selected];Object.keys(this.scripts).forEach(r=>r!==this.state.selected&&JSON.stringify(this.scripts[r])!==JSON.stringify(this.props.objects[r].common)&&i.push(r)),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(i)),this.setState({menuTabsOpened:!1,editing:i})},size:"medium",children:p.jsx(QT,{})},"menuButton"):null]:p.jsx(y.Box,{sx:Se.toolbar,children:p.jsxs(y.Button,{color:"grey",disabled:!0,style:Se.hintButton,href:"",children:[p.jsx("span",{children:b.I18n.t("Click on this icon")},"select2"),p.jsx(N_,{style:Se.hintIcon},"select3"),p.jsx("span",{children:b.I18n.t("for edit or create script")},"select4")]},"select1")},"tabs2")}getDebugMenu(){return this.state.showDebugMenu?p.jsxs(y.Menu,{id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:()=>this.setState({showDebugMenu:!1,menuDebugAnchorEl:null}),slotProps:{root:{style:{maxHeight:w0*7.5}}},children:[p.jsxs(y.MenuItem,{title:b.I18n.t("debug_help"),onClick:s=>{s.stopPropagation(),s.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!this.state.debugEnabled},()=>this.onChange({debug:this.state.debugEnabled}))},children:[p.jsx(y.Checkbox,{checked:this.state.debugEnabled}),p.jsx(wr,{style:{...Se.menuIcon,color:b_}}),b.I18n.t("debug_label")]},"debugEnabled"),p.jsxs(y.MenuItem,{title:b.I18n.t("verbose_help"),onClick:s=>{s.stopPropagation(),s.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!this.state.verboseEnabled},()=>this.onChange({verbose:this.state.verboseEnabled}))},children:[p.jsx(y.Checkbox,{checked:this.state.verboseEnabled}),p.jsx(gy,{style:{...Se.menuIcon,color:Fp}}),b.I18n.t("verbose_label")]},"verboseEnabled")]},"menuDebug"):null}getDebugBadge(){return[this.state.debugEnabled&&this.state.verboseEnabled?p.jsx(wr,{style:{...Se.menuIcon,color:Fp}},"DebugVerbose"):null,this.state.debugEnabled&&!this.state.verboseEnabled?p.jsx(wr,{style:{...Se.menuIcon,color:b_}},"DebugNoVerbose"):null,!this.state.debugEnabled&&this.state.verboseEnabled?p.jsx(gy,{style:{...Se.menuIcon,color:Fp}},"noDebugVerbose"):null]}getAskAboutDebug(){return this.state.askAboutDebug?p.jsx(b.DialogConfirm,{onClose:()=>{this.setState({askAboutDebug:!1},()=>this.props.onDebugModeChange(!0))},ok:b.I18n.t("Yes"),cancel:b.I18n.t("Cancel"),text:b.I18n.t("The script will be stopped and must be activated manually after debugging. Continue?")}):null}renderOpenAiDialog(){return this.state.openAiDialog?p.jsx(V.Suspense,{fallback:p.jsx(sn,{}),children:p.jsx(_0,{adapterName:this.props.adapterName,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:()=>this.setState({openAiDialog:!1}),language:this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript",onAddCode:s=>this.setState({insert:s})})}):null}getToolbar(){const s=!!(this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine]),i=!!(this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled);if(this.state.selected){const r=Object.keys(this.state.changed).filter(u=>this.state.changed[u]).length,l=this.state.changed[this.state.selected];return p.jsxs(y.Toolbar,{variant:"dense",sx:Se.toolbar,children:[!this.props.debugInstance&&this.state.menuOpened&&this.props.onLocate&&p.jsx(y.IconButton,{style:Se.toolbarButtons,title:b.I18n.t("Locate file"),onClick:()=>this.props.onLocate(this.state.selected),size:"medium",children:p.jsx(ek,{})},"locate"),!this.props.debugInstance&&!l&&s?p.jsx(y.IconButton,{disabled:this.props.debugMode,style:Se.toolbarButtons,onClick:()=>this.onRestart(),title:b.I18n.t("Restart"),size:"medium",children:p.jsx(tk,{})},"restart"):null,!this.props.debugInstance&&!l?p.jsx(y.IconButton,{disabled:this.props.debugMode,onClick:()=>this.onStartStop(),title:i?b.I18n.t("Pause script"):b.I18n.t("Run script"),size:"medium",style:{...Se.toolbarButtons,color:i?C0:T0},children:i?p.jsx(zl,{}):p.jsx(qp,{})},"start-stop"):null,!this.props.debugInstance&&!l&&!i?p.jsx("span",{style:Se.notRunning,children:b.I18n.t("Script is not running")}):null,!l&&i&&!s?p.jsx("span",{style:Se.notRunning,children:b.I18n.t("Instance is disabled")}):null,l?p.jsx(y.Button,{color:"grey",variant:"contained",style:{...Se.textButton,...Se.saveButton},className:"button-save",onClick:()=>this.onSave(),endIcon:p.jsx(my,{}),children:b.I18n.t("Save")},"save"):null,r>1||r===1&&!l?p.jsx(y.Button,{color:"grey",variant:"contained",style:Se.textButton,onClick:()=>this.onSaveAll(),endIcon:p.jsx(my,{}),children:b.I18n.t("Save all")},"saveall"):null,l?p.jsx(y.Button,{color:"grey",variant:"contained",style:Se.textButton,onClick:()=>this.onCancel(),endIcon:p.jsx($c,{}),children:b.I18n.t("Cancel")},"cancel"):null,p.jsx("div",{style:{flex:2}}),!this.props.debugInstance&&!this.state.showCompiledCode&&p.jsx(y.IconButton,{style:Se.toolbarButtons,title:b.I18n.t("Prettify the script"),onClick:()=>this.setState({triggerPrettier:this.state.triggerPrettier+1}),size:"medium",children:p.jsx(sk,{})},"prettier"),this.state.blockly&&!this.state.showCompiledCode?p.jsx(y.IconButton,{"aria-label":"Export Blocks",title:b.I18n.t("Export blocks"),style:Se.toolbarButtons,onClick:()=>this.sendCommandToBlockly("export"),size:"medium",children:p.jsx(Vl,{})},"export"):null,this.state.blockly&&!this.state.showCompiledCode&&p.jsx(y.IconButton,{"aria-label":"Import Blocks",title:b.I18n.t("Import blocks"),style:Se.toolbarButtons,onClick:()=>this.sendCommandToBlockly("import"),size:"medium",children:p.jsx(Zp,{})},"import"),this.state.blockly&&!this.state.showCompiledCode&&p.jsx(y.IconButton,{"aria-label":"Check code",title:b.I18n.t("Check blocks"),style:Se.toolbarButtons,onClick:()=>this.sendCommandToBlockly("check"),size:"medium",children:p.jsx(ok,{})},"check"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode?p.jsx(y.IconButton,{"aria-label":"create CRON",title:b.I18n.t("Create or edit CRON or time wizard"),style:Se.toolbarButtons,onClick:()=>this.setState({showCron:!0}),size:"medium",children:p.jsx(ik,{})},"select-cron"):null,this.scripts[this.state.selected]&&this.scripts[this.state.selected].engineType!=="Blockly"&&this.scripts[this.state.selected].engineType!=="Rules"?p.jsx(y.IconButton,{"aria-label":"AI",title:b.I18n.t("AI code generator"),style:Se.toolbarButtons,size:"medium",onClick:()=>this.setState({openAiDialog:!0}),children:p.jsx(k0,{})},"ai"):null,p.jsx(y.IconButton,{"aria-label":"Show astronomical events",title:b.I18n.t("Show astronomical events"),style:Se.toolbarButtons,disabled:!s,onClick:()=>{this.setState({showAstro:!0,astroEvents:null}),this.props.socket.sendTo(this.scripts[this.state.selected].engine.replace("system.adapter.",""),"calcAstroAll",{}).then(u=>this.setState({astroEvents:u}))},size:"medium",children:p.jsx(nk,{})},"show-astro"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&p.jsx(y.IconButton,{"aria-label":"select ID",title:b.I18n.t("Insert object ID"),style:Se.toolbarButtons,onClick:()=>this.setState({showSelectId:!0}),size:"medium",children:p.jsx(rk,{})},"select-id"),this.state.blockly&&!this.state.rules&&this.state.showCompiledCode&&p.jsx(y.Button,{color:"grey","aria-label":"convert to javascript",title:b.I18n.t("Convert blockly to javascript for ever."),onClick:()=>this.onConvertBlockly2JS(),children:"Blockly=>JS"},"convert2js"),this.state.rules&&!this.state.showCompiledCode&&p.jsx(y.IconButton,{"aria-label":"Export Blocks",title:b.I18n.t("Export blocks"),style:Se.toolbarButtons,onClick:()=>this.sendCommandToRules("export"),size:"medium",children:p.jsx(Vl,{})},"export"),this.state.rules&&!this.state.showCompiledCode&&p.jsx(y.IconButton,{"aria-label":"Import Blocks",title:b.I18n.t("Import blocks"),style:Se.toolbarButtons,onClick:()=>this.sendCommandToRules("import"),size:"medium",children:p.jsx(Zp,{})},"import"),this.props.expertMode&&!l&&(this.props.debugMode||!this.state.blockly&&!this.state.rules||(this.state.blockly||this.state.rules)&&this.state.showCompiledCode)&&p.jsx(y.IconButton,{style:Se.toolbarButtons,color:this.props.debugMode?"primary":"default",disabled:!this.props.debugMode&&!s,onClick:()=>{!this.props.debugMode&&i?this.setState({askAboutDebug:!0}):this.props.onDebugModeChange(!this.props.debugMode)},size:"medium",children:p.jsx(wr,{style:{fontSize:32}})}),(this.state.blockly||this.state.rules)&&p.jsx(y.Button,{"aria-label":"blockly",title:b.I18n.t("Show javascript code"),className:"button-js-code",color:this.state.showCompiledCode?"secondary":"inherit",disabled:this.props.debugMode,style:{...Se.toolbarButtons,...this.props.debugMode?Se.toolbarButtonsDisabled:void 0,padding:"0 5px"},onClick:()=>{this.props.debugMode||(this.setState({showCompiledCode:!this.state.showCompiledCode}),this.state.isTourOpen&&this.state.tourStep===ws.showJavascript&&this.setState({tourStep:ws.switchBackToRules}),this.state.isTourOpen&&this.state.tourStep===ws.switchBackToRules&&this.setState({tourStep:ws.saveTheScript}))},children:p.jsx("img",{alt:this.state.blockly?"blockly2js":"rules2js",src:this.state.blockly?p0:g0})},"blockly-code"),p.jsx(y.IconButton,{disabled:this.props.debugMode,"aria-label":"Debug menu",title:b.I18n.t("Debug options"),style:Se.toolbarButtons,onClick:u=>this.setState({showDebugMenu:!0,menuDebugAnchorEl:u.currentTarget}),size:"medium",children:p.jsx(y.Badge,{style:Se.badgeMargin,badgeContent:this.getDebugBadge(),children:p.jsx(ak,{})})},"debug")]},"toolbar1")}return null}getScriptEditor(){return!this.props.debugMode&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly!==null&&(!this.state.blockly||this.state.showCompiledCode)&&(!this.state.rules||this.state.showCompiledCode)?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),p.jsx(y.Box,{sx:Se.editorDiv,children:p.jsx(V.Suspense,{fallback:p.jsx(sn,{}),children:p.jsx(v0,{name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:()=>this.setState({insert:""}),onForceSave:()=>this.onSave(),searchText:this.state.searchText,onRegisterSelect:s=>this.onRegisterSelect(s),readOnly:this.state.showCompiledCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:this.state.themeType==="dark",socket:this.props.socket,runningInstances:this.state.runningInstances,triggerPrettier:this.state.triggerPrettier,onChange:s=>this.onChange({script:s}),language:this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript"},"scriptEditor1")})},"scriptEditorDiv")):null}getBlocklyEditor(){return!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showCompiledCode&&this.state.visible?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),p.jsx(y.Box,{sx:Se.editorDiv,children:p.jsx(V.Suspense,{fallback:p.jsx(sn,{}),children:p.jsx(f0,{command:this.state.cmdToBlockly,themeType:this.state.themeType,searchText:this.state.searchText,code:this.scripts[this.state.selected].source||"",scriptId:this.state.selected,onChange:s=>this.onChange({script:s})},"BlocklyEditor")})},"blocklyEditorDiv")):null}getRulesEditor(){var s,i;if(!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.rules&&!this.state.showCompiledCode&&this.state.visible){this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));const r=!!this.state.selected&&!!((s=this.scripts[this.state.selected])!=null&&s.engine)&&this.state.runningInstances[this.scripts[this.state.selected].engine],l=!!this.state.selected&&((i=this.scripts[this.state.selected])==null?void 0:i.enabled);return p.jsx(y.Box,{sx:Se.editorDiv,children:p.jsx(V.Suspense,{fallback:p.jsx(sn,{}),children:p.jsx($0,{scriptId:this.state.selected,setTourStep:this.setTourStep,tourStep:this.state.tourStep,isTourOpen:this.state.isTourOpen,changed:this.state.changed[this.state.selected],running:r&&l,command:this.state.cmdToRules,themeType:this.state.themeType,themeName:this.props.themeName,theme:this.props.theme,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:u=>this.onChange({script:u})},"flowEditor")})},"flowEditorDiv")}return null}getConfirmDialog(){return this.state.confirm?p.jsx(b.DialogConfirm,{text:this.state.confirm,onClose:s=>{if(this.confirmCallback){const i=this.confirmCallback;this.confirmCallback=null,i(s)}this.setState({confirm:""})}},"dialogConfirm1"):null}getSelectIdDialog(){var s;if(this.state.showSelectId){const i=["state","channel","device","adapter","instance","enum","host","config","script","user","group"],r=["adapter","instance","enum","host","config","script","user","group"];let l=this.selectId.callback?this.selectId.initValue||"":this.getSelect&&this.getSelect()||"",u=l.indexOf("/*");u!==-1&&(l=l.substring(0,u)),u=l.indexOf("//"),u!==-1&&(l=l.substring(0,u));let d=l.match(/"([^"]+)"/);return d&&(l=d[1]),d=l.match(/'([^']+)'/),d&&(l=d[1]),p.jsx(b.DialogSelectID,{theme:this.props.theme,imagePrefix:"../..",themeName:this.props.themeName,themeType:this.state.themeType,socket:this.props.socket,selected:l,expertMode:this.selectId.type&&this.selectId.type!=="all"&&r.includes(this.selectId.type)?!0:void 0,types:((s=this.selectId)==null?void 0:s.type)==="all"?i:[this.selectId.type||"state"],onClose:()=>{this.setState({showSelectId:!1}),this.selectId.callback&&(this.selectId.callback=null)},onOk:(g,m)=>{this.selectId.initValue=null,this.selectId.callback?(this.selectId.callback(g),this.selectId.callback=null):this.setState({insert:`'${g}'/*${m}*/`})}},"dialogSelectID1")}return null}getCronDialog(){return this.state.showCron?p.jsx(b.DialogCron,{theme:this.props.theme,cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:()=>this.setState({showCron:!1}),onOk:s=>{this.cron.initValue=null,this.cron.callback?(this.cron.callback(s),this.cron.callback=null):this.setState({insert:`'${s}'`})}},"dialogCron1"):null}getAstroDialog(){return this.state.showAstro?p.jsxs(y.Dialog,{open:!0,onClose:()=>this.setState({showAstro:!1}),children:[p.jsx(y.DialogTitle,{children:b.I18n.t("Astronomical events today")}),p.jsx(y.DialogContent,{children:this.state.astroEvents?p.jsx(y.TableContainer,{component:y.Paper,children:p.jsxs(y.Table,{size:"small",children:[p.jsx(y.TableHead,{children:p.jsxs(y.TableRow,{children:[p.jsx(y.TableCell,{children:b.I18n.t("Name")}),p.jsx(y.TableCell,{children:b.I18n.t("Server time")}),p.jsx(y.TableCell,{children:b.I18n.t("Description")})]})}),p.jsx(y.TableBody,{children:Object.keys(this.state.astroEvents).map(s=>{var i,r,l,u;return p.jsxs(y.TableRow,{children:[p.jsx(y.TableCell,{component:"th",scope:"row",children:s.startsWith("next")?"":s}),p.jsx(y.Tooltip,{title:`${b.I18n.t("Local time")}: ${(i=this.state.astroEvents)!=null&&i[s].isValidDate?new Date((r=this.state.astroEvents)==null?void 0:r[s].date).toLocaleTimeString():"n/a"}`,children:p.jsx(y.TableCell,{align:"right",children:(l=this.state.astroEvents)!=null&&l[s].isValidDate?(u=this.state.astroEvents)==null?void 0:u[s].serverTime:"n/a"})}),p.jsx(y.TableCell,{children:b.I18n.t(s)})]},s)})})]})}):p.jsx(y.LinearProgress,{})}),p.jsx(y.DialogActions,{children:p.jsx(y.Button,{variant:"contained",onClick:()=>this.setState({showAstro:!1}),color:"primary",startIcon:p.jsx(Cr,{}),children:b.I18n.t("Close")})})]},"dialogAstro"):null}getEditorDialog(){return this.state.showScript?p.jsx(V.Suspense,{fallback:p.jsx(sn,{}),children:p.jsx(y0,{adapterName:this.props.adapterName,source:this.scriptDialog.initValue||"",args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:s=>{this.scriptDialog.initValue=null,this.scriptDialog.callback&&(s!==!1&&this.scriptDialog.callback(s||""),this.scriptDialog.callback=null),this.setState({showScript:!1})}},"scriptEditorDialog")}):null}getToast(){return p.jsx(y.Snackbar,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:p.jsx("span",{id:"message-id",children:this.state.toast}),action:[p.jsx(y.IconButton,{"aria-label":"close",color:"inherit",style:Se.closeToast,onClick:()=>this.setState({toast:""}),size:"medium",children:p.jsx(Cr,{})},"close")]},"toast")}setTourStep=s=>this.setState({tourStep:s});getTour(){return this.state.instancesLoaded&&this.state.selected&&this.props.isAnyRulesExists===1&&this.props.objects[this.state.selected]&&this.state.rules&&this.state.visible?p.jsx(Zg,{steps:m0,isOpen:this.state.isTourOpen,onRequestClose:()=>{this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true"),this.props.socket.setState("javascript.0.variables.rulesTour",{val:!0,ack:!0})},goToStep:this.state.tourStep},"tour"):null}getDebug(){return this.props.debugMode?this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine]?p.jsx(V.Suspense,{fallback:p.jsx(sn,{}),children:p.jsx(b0,{runningInstances:this.state.runningInstances,adapterName:this.props.adapterName,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,src:this.props.debugInstance?this.props.debugInstance.adapter:this.state.selected,debugInstance:this.props.debugInstance},"debugger")}):(setTimeout(()=>this.props.onDebugModeChange(!1)),null):null}render(){return this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly===null&&this.state.rules===null&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),setTimeout(()=>{const s={blockly:this.scripts[this.state.selected].engineType==="Blockly",rules:this.scripts[this.state.selected].engineType==="Rules",showCompiledCode:!1,debugEnabled:this.scripts[this.state.selected].debug,verboseEnabled:this.scripts[this.state.selected].verbose};this.removeNonExistingScripts(null,s),this.setState(s)},100)),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getAskAboutDebug(),this.getBlocklyEditor(),this.getRulesEditor(),this.getDebug(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getAstroDialog(),this.getDebugMenu(),this.renderOpenAiDialog(),this.getToast(),this.getTour()]}}const Pt={dialog:{height:"95%"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"100%"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1}};class Qg extends X.Component{constructor(s){super(s),this.state={error:"",imageStatus:""}}componentDidMount(){setTimeout(()=>{var s;try{(s=window.document.getElementById("import-text-area"))==null||s.focus()}catch{}},100)}handleCancel(){this.props.onClose()}static readFileDataUrl(s,i){const r=new FileReader;r.onload=()=>{i(null,{data:r.result,name:s.name})},r.onabort=()=>{console.error("file reading was aborted"),i(b.I18n.t("file reading was aborted"))},r.onerror=l=>{console.error("file reading has failed"),i(b.I18n.t("file reading has failed: %s",l))},r.readAsDataURL(s)}handleDropFile(s){if(!(s!=null&&s.length))return;const i=s[s.length-1];i&&Qg.readFileDataUrl(i,(r,l)=>{var u;r||!l?this.setState({error:r||"No data"}):this.props.onClose(((u=l.data)==null?void 0:u.toString())||"")})}render(){const s={...Pt.dropzone,...this.state.imageStatus==="accepted"?Pt.dropzoneAccepted:this.state.imageStatus==="rejected"?Pt.dropzoneRejected:void 0};return p.jsxs(y.Dialog,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Pt.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",PaperProps:{style:{minHeight:"90%",maxHeight:"90%"}},children:[p.jsx(y.DialogTitle,{id:"import-dialog-title",children:b.I18n.t("Import scripts")}),p.jsxs(y.DialogContent,{children:[p.jsx(B_,{maxSize:5e7,onDrop:(i,r)=>{var l,u,d;i.length?this.handleDropFile(i):window.alert(((d=(u=(l=r==null?void 0:r[0])==null?void 0:l.errors)==null?void 0:u[0])==null?void 0:d.message)||b.I18n.t("ra_Cannot upload"))},multiple:!1,accept:{"application/zip":[],"application/x-zip-compressed":[]},children:({getRootProps:i,getInputProps:r,isDragActive:l,isDragReject:u})=>u?(this.state.imageStatus!=="rejected"&&this.setState({imageStatus:"rejected"}),p.jsxs("div",{style:{...s,...Pt.dropzoneDiv},...i(),children:[p.jsx("input",{...r()}),p.jsx("span",{style:Pt.text,children:b.I18n.t("Some files will be rejected")},"text"),p.jsx($c,{style:{...Pt.icon,...Pt.iconError}},"icon")]})):l?(this.state.imageStatus!=="accepted"&&this.setState({imageStatus:"accepted"}),p.jsxs("div",{style:{...s,...Pt.dropzoneDiv},...i(),children:[p.jsx("input",{...r()}),p.jsx("span",{style:Pt.text,children:b.I18n.t("All files will be accepted")},"text"),p.jsx(Cg,{style:{...Pt.icon,...Pt.iconOk}},"icon")]})):(this.state.imageStatus!=="wait"&&this.setState({imageStatus:"wait"}),p.jsxs("div",{style:{...s,...Pt.dropzoneDiv},...i(),children:[p.jsx("input",{...r()}),p.jsx("span",{style:Pt.text,children:b.I18n.t("Drop some files here or click...")},"text"),p.jsx(P_,{style:Pt.icon},"icon")]}))},"image-drop"),this.state.error?p.jsx(kc,{text:this.state.error,onClose:()=>this.setState({error:""})}):null]}),p.jsx(y.DialogActions,{children:p.jsx(y.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:p.jsx(lo,{}),children:b.I18n.t("Close")})})]})}}var em={exports:{}},S0=em.exports;(function(a,s){(function(i,r){a.exports=r()})(S0,function(){var i={},r,l,u,d,g,m,f,v,w,_,S,k,C,E,A,R,O,Z,ae,se,ge,K,je,Me,qe,ce,de,J,we,me,Fe,Y,et,q,oe,F,H,U,le,x,pe,W,ke,ve,Ie,fe,Ge,Ye,Ce,Ee,be,Le,mt,Q,lt,ze,_t,ye,tt,Us,wt,Ct,Lc,L,$e,Gr,st,om,Ve,Do,Vr,Ao,Ro,Bc,$n,Kr,Yr,bn,im,Pc,ks,co,Fc,jc,Jr,zc,vn,Xr,Uc,Hc,nm,rm,am,gi,lm,qr,cm,yn,Zr,um,Qr,dm,ea,Wc,Gc,ta,sa,oa,_n,hm,mi,wn,ia,pm,gm,mm,uo,Tt,Cn,Vc,ps,Hs,fm,Kc,na,Yc,$m,Jc,Tn,bm,ra,vm,ym,aa,_m,fi,wm,Xc,la,qc,Zc,Cm,ca,$i,ua,Tm,Qc,eu,km,Sm,Oo,Em,kn,Vt,Im,xm,Dm,Am,Rm,Om,Mm,tu,Ws,bi,su,Nm,Lm,Bm,Pm,Fm,jm,zm,Um,Hm,ou,Wm,vi,da,Gm,yi,iu,nu,ru,Sn,ha,au,Vm,lu,cu,uu,du,hu,pu,gu,Km,En,mu,pa,ga,Ss,fu,$u,In,bu,vu,Ym,ma,yu,Jm,Xm,qm,Zm,Qm,_i,_u,wu,wi,fa,ef,tf,Cu,Tu,Gs,ku,Su,sf,of,nf,rf,Eu,af,Iu,lf,Mo,xn,$a,ba,No,xu,va,Du,dt,cf,Ci,Lo,uf,Au,ya,Ti,Ru,Bo,Dn,Ou,Mu,df,hf,pf,Nu,gf,Lu,An,mf,ff,$f,bf,Rn,Bu,Pu,_a,wa,vf,On,Fu,Mn,yf,_f,ho,ju,Es,wf,Cf,zu,Tf,Po,Uu,kf,Sf,Ef,If,xf,Hu,Df,Af,Ca,Rf,Of,Wu,Ta,Gu,ka,Vu,Ku,ki,Fo,Vs,Is,Mf,Nf,Lf,Yu,Sa,Bf,Pf,Ff,Ju,Ea,Xu,Ia,jf,zf,Uf,Hf,he,jt,bt,rt,xs,Si,re,ht,qu,Wf,po,xa,Da,Zu,Gf,Qu,Aa,ed,td,Vf,sd,Kf,Ra,Yf,Jf,Xf,qf,Zf,od,Qf,Nn,Ln,e$,id,nd,rd,ad,Oa,ld,t$,s$,o$,Ei,cd,i$,Ma,Qt,n$,go,ud,r$,Bn,dd,hd,pd,gd,md,fd,$d,bd,vd,yd,a$,l$,c$,u$,d$,h$,Na,p$,g$,_d,wd,Cd,Td,kd,Sd,Ed,La,Pn,Id,m$,xd,Dd,Ad,Rd,Od,Md,Nd,Ld,Bd,Pd,f$,$$,b$,Fd,v$,y$,_$,w$,C$,j;r=function(e,t,o,n){if(!(e instanceof z)&&typeof e!="string"||`${e}`.trim()==="")throw Error('Invalid type "'+e+'". The type must be a non-empty string or a Blockly.registry.Type.');if(e=`${e}`.toLowerCase(),typeof t!="string"||t.trim()==="")throw Error('Invalid name "'+t+'". The name must be a non-empty string.');const c=t.toLowerCase();if(!o)throw Error("Can not register a null value");let h=mo[e],$=Ba[e];if(h||(h=mo[e]=Object.create(null),$=Ba[e]=Object.create(null)),l(e,o),!n&&h[c]&&h[c]!==o)throw Error('Name "'+c+'" with type "'+e+'" already registered.');h[c]=o,$[c]=t},l=function(e,t){switch(e){case String(z.FIELD):if(typeof t.fromJson!="function")throw Error('Type "'+e+'" must have a fromJson function')}},u=function(e,t){e=`${e}`.toLowerCase(),t=t.toLowerCase();const o=mo[e];o&&o[t]?(delete mo[e][t],delete Ba[e][t]):console.warn("Unable to unregister ["+t+"]["+e+"] from the registry.")},d=function(e,t,o){e=`${e}`.toLowerCase(),t=t.toLowerCase();const n=mo[e];if(!n||!n[t]){if(t="Unable to find ["+t+"]["+e+"] in the registry.",o)throw Error(t+" You must require or register a "+e+" plugin.");return console.warn(t),null}return n[t]},g=function(e,t){return e=`${e}`.toLowerCase(),t=t.toLowerCase(),(e=mo[e])?!!e[t]:!1},m=function(e,t,o){return d(e,t,o)},f=function(e,t,o){return d(e,t,o)},v=function(e,t,o){e=`${e}`.toLowerCase();var n=mo[e];if(!n){if(n=`Unable to find [${e}] in the registry.`,o)throw Error(`${n} You must require or register a ${e} plugin.`);return console.warn(n),null}if(!t)return n;e=Ba[e],o=Object.create(null);for(const c of Object.keys(n))o[e[c]]=n[c];return o},w=function(e,t,o){return t=t.plugins[String(e)]||Ds,typeof t=="function"?t:m(e,t,o)},_=function(e,t,o,n){e=e+" was deprecated in "+t+" and will be deleted in "+o+".",n&&(e+=` +Use `+n+" instead."),k$.has(e)||(k$.add(e),console.warn(e))},S=function(){return"blockly-"+(MC++).toString(36)},k=function(){return I$.genUid()},C=function(e){return e.type===M.BLOCK_CREATE},E=function(e){return e.type===M.BLOCK_DELETE},A=function(e){return e.type===M.BLOCK_CHANGE},R=function(e){return e.type===M.BLOCK_FIELD_INTERMEDIATE_CHANGE},O=function(e){return e.type===M.BLOCK_MOVE},Z=function(e){return e.type===M.CLICK},ae=function(e){return e.type===M.BUBBLE_OPEN},se=function(e){return e.type===M.VIEWPORT_CHANGE},i.setRecordUndo$$module$build$src$core$events$utils=function(e){Fn=e},ge=function(){return Fn},K=function(e){D$.fireInternal(e)},je=function(e){if(J()){if(!Ys.length)try{requestAnimationFrame(()=>{setTimeout(Me,0)})}catch{setTimeout(Me,0)}qe(e)}},Me=function(){const e=ce(Ys,!0);Ys.length=0;for(const t of e){if(!t.workspaceId)continue;let o;(o=q(t.workspaceId))==null||o.fireChangeListener(t)}},qe=function(e){if(A(e)&&e.element==="mutation"){let t;for(t=Ys.length;0!n.isNull()),t||e.reverse(),e},de=function(){for(let e=0,t;t=Ys[e];e++)t.recordUndo=!1},i.disable$$module$build$src$core$events$utils=function(){zd++},i.enable$$module$build$src$core$events$utils=function(){zd--},J=function(){return zd===0},i.getGroup$$module$build$src$core$events$utils=function(){return x$},i.setGroup$$module$build$src$core$events$utils=function(e){D$.setGroupInternal(e)},we=function(e){x$=typeof e=="boolean"?e?k():"":e},me=function(e){const t=[];e=e.getDescendants(!1);for(let o=0,n;n=e[o];o++)t[o]=n.id;return t},Fe=function(e,t){const o=Y(e.type);if(!o)throw Error("Unknown event type.");return o.fromJson(e,t)},Y=function(e){const t=m(z.EVENT,e);if(!t)throw Error(`Event type ${e} not found in registry.`);return t},et=function(e){if((O(e)||C(e))&&e.workspaceId){var t=q(e.workspaceId);if(!e.blockId)throw Error("Encountered a blockEvent without a proper blockId");if(e=t.getBlockById(e.blockId)){const o=Fn;try{Fn=!1;const n=e.getParent();if(n&&!n.hasDisabledReason(Ud)){const c=e.getDescendants(!1);for(let h=0,$;$=c[h];h++)$.setDisabledReason(!1,Ud)}else if((e.outputConnection||e.previousConnection)&&!t.isDragging())do e.setDisabledReason(!0,Ud),e=e.getNextBlock();while(e)}finally{Fn=o}}}},q=function(e){return jn[e]||null},oe=function(){const e=[];for(const t in jn)e.push(jn[t]);return e},F=function(e){jn[e.id]=e},H=function(e){delete jn[e.id]},U=function(){return A$},le=function(e){A$=e},x=function(){return jo},i.setSelected$$module$build$src$core$common=function(e){if(jo!==e){var t,o,n,c,h,$,T=new(Y(M.SELECTED))((n=(t=jo)==null?void 0:t.id)!=null?n:null,(c=e==null?void 0:e.id)!=null?c:null,($=(h=e==null?void 0:e.workspace.id)!=null?h:(o=jo)==null?void 0:o.workspace.id)!=null?$:"");K(T);var B;(B=jo)==null||B.unselect(),jo=e;var ie;(ie=jo)==null||ie.select()}},pe=function(){return R$},W=function(e){R$=e},ke=function(e){for(;e.options.parentWorkspace;)e=e.options.parentWorkspace;const t=e.getParentSvg(),o=e.getCachedParentSvgSize();var n=t.parentElement;if(n instanceof HTMLElement){var c=n.offsetWidth;n=n.offsetHeight,o.width!==c&&(t.setAttribute("width",c+"px"),e.setCachedParentSvgSize(c,null)),o.height!==n&&(t.setAttribute("height",n+"px"),e.setCachedParentSvgSize(null,n)),e.resize()}},ve=function(e,t){const o=Object.create(null),n=e.getDescendants(!0);t&&(e=e.getNextBlock())&&(e=n.indexOf(e),n.splice(e,n.length-e));for(let c=0,h;h=n[c];c++)o[h.type]?o[h.type]++:o[h.type]=1;return o},Ie=function(e){return function(){this.jsonInit(e)}},fe=function(e){O$.defineBlocksWithJsonArrayInternal(e)},Ge=function(e){i.defineBlocks$$module$build$src$core$common(i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common(e))},i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common=function(e){const t={};for(let o=0;o>>/g,e),Xd="",e=document.createElement("style"),e.id="blockly-common-style",t=document.createTextNode(t),e.appendChild(t),document.head.insertBefore(e,document.head.firstChild)))},L=function(e,t,o){e=document.createElementNS(Un,`${e}`);for(const n in t)e.setAttribute(n,`${t[n]}`);return o&&o.appendChild(e),e},$e=function(e,t){return t=t.split(" "),t.every(o=>e.classList.contains(o))?!1:(e.classList.add(...t),!0)},Gr=function(e,t){e.classList.remove(...t.split(" "))},st=function(e,t){return t=t.split(" "),t.every(o=>!e.classList.contains(o))?!1:(e.classList.remove(...t),!0)},om=function(e,t){return e.classList.contains(t)},Ve=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null},Do=function(e,t){const o=t.nextSibling;if(t=t.parentNode,!t)throw Error("Reference node has no parent.");o?t.insertBefore(e,o):t.appendChild(e)},Vr=function(e,t){e.style.transform=t,e.style["-webkit-transform"]=t},Ao=function(){Zd++,ms||(ms=Object.create(null))},Ro=function(){Zd--,Zd||(ms=null)},Bc=function(e){const t=e.textContent+` +`+e.className.baseVal;let o;if(ms&&(o=ms[t]))return o;try{o=e.getComputedTextLength()}catch{return 8*e.textContent.length}return ms&&(ms[t]=o),o},$n=function(e,t,o,n){return Kr(e,t+"pt",o,n)},Kr=function(e,t,o,n){const c=e.textContent;e=c+` +`+e.className.baseVal;var h;return ms&&(h=ms[e])||(Ha||(h=document.createElement("canvas"),h.className="blocklyComputeCanvas",document.body.appendChild(h),Ha=h.getContext("2d")),Ha.font=o+" "+t+" "+n,h=c?Ha.measureText(c).width:0,ms&&(ms[e]=h)),h},Yr=function(e,t,o,n){const c=document.createElement("span");c.style.font=o+" "+t+" "+n,c.textContent=e,e=document.createElement("div"),e.style.width="1px",e.style.height="0",t=document.createElement("div"),t.style.display="flex",t.style.position="fixed",t.style.top="0",t.style.left="0",t.appendChild(c),t.appendChild(e),document.body.appendChild(t),o={height:0,baseline:0};try{t.style.alignItems="baseline",o.baseline=e.offsetTop-c.offsetTop,t.style.alignItems="flex-end",o.height=e.offsetTop-c.offsetTop}finally{document.body.removeChild(t)}return o},bn=function(e){return Y$.getSizeInternal(e)},im=function(e){if(ks(e,"display")!=="none")return Pc(e);const t=e.style,o=t.display,n=t.visibility,c=t.position;t.visibility="hidden",t.position="absolute",t.display="inline";const h=e.offsetWidth;return e=e.offsetHeight,t.display=o,t.position=c,t.visibility=n,new Ne(h,e)},Pc=function(e){return new Ne(e.offsetWidth,e.offsetHeight)},ks=function(e,t){return e=window.getComputedStyle(e),e[t]||e.getPropertyValue(t)},co=function(e){const t=new G(0,0);e=e.getBoundingClientRect();var o=document.documentElement;return o=new G(window.pageXOffset||o.scrollLeft,window.pageYOffset||o.scrollTop),t.x=e.left+o.x,t.y=e.top+o.y,t},Fc=function(){const e=document.body,t=document.documentElement;return new G(e.scrollLeft||t.scrollLeft,e.scrollTop||t.scrollTop)},jc=function(e){const t=parseFloat(ks(e,"borderLeftWidth")),o=parseFloat(ks(e,"borderRightWidth")),n=parseFloat(ks(e,"borderTopWidth"));return e=parseFloat(ks(e,"borderBottomWidth")),new Je(n,e,t,o)},Jr=function(e,t,o){e=zc(e,t,o),t.scrollLeft=e.x,t.scrollTop=e.y},zc=function(e,t,o){var n=co(e),c=co(t),h=jc(t);const $=n.x-c.x-h.left;return n=n.y-c.y-h.top,c=Pc(e),e=t.clientWidth-c.width,c=t.clientHeight-c.height,h=t.scrollLeft,t=t.scrollTop,o?(h+=$-e/2,t+=n-c/2):(h+=Math.min($,Math.max($-e,0)),t+=Math.min(n,Math.max(n-c,0))),new G(h,t)},vn=function(e){const t=new G(0,0);var o=e.x&&e.getAttribute("x");const n=e.y&&e.getAttribute("y");return o&&(t.x=parseInt(o)),n&&(t.y=parseInt(n)),(o=(o=e.getAttribute("transform"))&&o.match(J$))&&(t.x+=Number(o[1]),o[3]&&(t.y+=Number(o[3]))),(e=e.getAttribute("style"))&&e.includes("translate")&&(e=e.match(X$))&&(t.x+=Number(e[1]),e[3]&&(t.y+=Number(e[3]))),t},Xr=function(e){let t=0,o=0;for(;e;){const n=vn(e);if(t+=n.x,o+=n.y,(" "+(e.getAttribute("class")||"")+" ").includes(" injectionDiv "))break;e=e.parentNode}return new G(t,o)},Uc=function(){const e=Fc();return new Je(e.y,document.documentElement.clientHeight+e.y,e.x,document.documentElement.clientWidth+e.x)},Hc=function(){const e=document.documentElement,t=window;return new G(t.pageXOffset||e.scrollLeft,t.pageYOffset||e.scrollTop)},nm=function(e,t){var o=t.x;t=t.y;const n=e.getInjectionDiv().getBoundingClientRect();return o=new G(o-n.left,t-n.top),t=e.getOriginOffsetInPixels(),G.difference(o,t).scale(1/e.scale)},rm=function(e,t){var o=t.scale(e.scale);t=o.x,o=o.y;const n=e.getInjectionDiv().getBoundingClientRect();return e=e.getOriginOffsetInPixels(),new G(t+n.left+e.x,o+n.top+e.y)},am=function(e){({document:Ga=Ga,DOMParser:Hn=Hn,XMLSerializer:Wn=Wn}=e),Wa=new Hn,Qd=new Wn},i.createElement$$module$build$src$core$utils$xml=function(e){return Ga.createElementNS(q$,e)},i.createTextNode$$module$build$src$core$utils$xml=function(e){return Ga.createTextNode(e)},i.textToDom$$module$build$src$core$utils$xml=function(e){let t=Wa.parseFromString(e,"text/xml");if(t&&t.documentElement&&!t.getElementsByTagName("parsererror").length)return t.documentElement;if((t=Wa.parseFromString(e,"text/html"))&&t.body.firstChild&&t.body.firstChild.nodeName.toLowerCase()==="xml")return t.body.firstChild;throw Error(`DOMParser was unable to parse: ${e}`)},gi=function(e){return lm(Qd.serializeToString(e))},lm=function(e){return e.replace(FC,t=>`&#${t.charCodeAt(0)};`)},qr=function(e){return e?((e instanceof Element||typeof e=="string")&&(e=Gc(e),e=dm(e)),cm(e),e):null},cm=function(e){const t=e.kind;if(e=e.contents,t&&t!==Z$&&t!==eh)throw Error("Invalid toolbox kind "+t+". Please supply either "+Z$+" or "+eh);if(!e)throw Error("Toolbox must have a contents attribute.")},yn=function(e){return e?e.contents?e.contents:Array.isArray(e)&&0o.kind.toUpperCase()==="CATEGORY").length},Qr=function(e){return e&&e.contents?!!e.contents.filter(function(t){return t.kind.toUpperCase()==="CATEGORY"}).length:!1},dm=function(e){const t={contents:ea(e)};return e instanceof Node&&Wc(e,t),t},ea=function(e){const t=[];let o=e.childNodes;o||(o=e);for(let n=0,c;c=o[n];n++){if(!c.tagName)continue;e={};const h=c.tagName.toUpperCase();e.kind=h,h==="BLOCK"?e.blockxml=c:c.childNodes&&0 document.")}else e instanceof Element&&(t=e);return t},ta=function(e,t,o,n,c,h){const $=h.scrollbar&&h.scrollbar.canScrollVertically();return e.horizontal===Di.LEFT?(o=c.absoluteMetrics.left+o,$&&h.RTL&&(o+=pt.scrollbarThickness)):(o=c.absoluteMetrics.left+c.viewMetrics.width-t.width-o,$&&!h.RTL&&(o-=pt.scrollbarThickness)),e.vertical===Zs.TOP?e=c.absoluteMetrics.top+n:(e=c.absoluteMetrics.top+c.viewMetrics.height-t.height-n,h.scrollbar&&h.scrollbar.canScrollHorizontally()&&(e-=pt.scrollbarThickness)),new Je(e,e+t.height,o,o+t.width)},sa=function(e,t){return{horizontal:t.toolboxMetrics.position===xe.LEFT||e.horizontalLayout&&!e.RTL?Di.RIGHT:Di.LEFT,vertical:t.toolboxMetrics.position===xe.BOTTOM?Zs.TOP:Zs.BOTTOM}},oa=function(e,t,o,n){const c=e.left,h=e.right-e.left,$=e.bottom-e.top;for(let T=0;Th.id!==e.id).map(h=>h.getRelativeToSurfaceXY());for(;mm(G.sum(o,n),c);)n.translate(t.RTL?-30:30,30);e.moveTo(G.sum(o,n))},mm=function(e,t){return t.some(o=>1>=Math.abs(o.x-e.x)&&1>=Math.abs(o.y-e.y))},uo=function(e,t){e.setAttribute(UC,t)},Tt=function(e,t,o){Array.isArray(o)&&(o=o.join(" ")),e.setAttribute(zC+t,`${o}`)},Cn=function(e){return e.saveState!==void 0&&e.loadState!==void 0},Vc=function(e){return Kc(e),fm()?(na(),Promise.resolve()):(Ai||(Ai=new Promise(t=>{lh=t,rb=window.requestAnimationFrame(()=>{na(),t()})})),Ai)},ps=function(){return Ai||Promise.resolve()},Hs=function(e){e||window.cancelAnimationFrame(rb),na(e),!e&&lh&&lh()},fm=function(){return z$},Kc=function(e){rh.add(e),ah.set(e,i.getGroup$$module$build$src$core$events$utils());const t=e.getParent();t?Kc(t):Ja.add(e)},na=function(e){const t=e?new Set([e]):new Set([...Ja].map(h=>h.workspace)),o=[...Ja].filter($m).filter(h=>t.has(h.workspace));for(var n of o)Jc(n);for(const h of t)h.resizeContents();for(var c of o)n=c.getRelativeToSurfaceXY(),c.updateComponentLocations(n);for(const h of o)c=i.getGroup$$module$build$src$core$events$utils(),(n=ah.get(h))&&i.setGroup$$module$build$src$core$events$utils(n),h.bumpNeighbours(),i.setGroup$$module$build$src$core$events$utils(c);for(const h of o)Yc(h);e||(Ai=null)},Yc=function(e){Ja.delete(e),rh.delete(e),ah.delete(e);for(const t of e.getChildren(!1))Yc(t)},$m=function(e){return!e.isDisposed()&&!e.getParent()},Jc=function(e){if(rh.has(e)&&e.initialized){for(const t of e.getChildren(!1))Jc(t);e.renderEfficiently()}},Tn=function(e,t){ab(e,t)},bm=function(e){ab=e},ra=function(e,t){ub.confirmInternal(e,t)},vm=function(e,t){lb(e,t)},ym=function(e){lb=e},aa=function(e,t,o){cb(e,t,o)},_m=function(e){cb=e},fi=function(e){return e.getProcedureDef!==void 0},wm=function(e){return e.getProcedureCall!==void 0&&e.renameProcedure!==void 0},Xc=function(e){return e.getVariableModel!==void 0},i.allUsedVarModels$$module$build$src$core$variables=function(e){e=e.getAllBlocks(!1);const t=new Set;for(let o=0;o1'),n.appendChild(o),t.push(n)),zt.variables_get){e.sort(Yn.compareByName);for(let c=0,h;h=e[c];c++)o=i.createElement$$module$build$src$core$utils$xml("block"),o.setAttribute("type","variables_get"),o.setAttribute("gap","8"),o.appendChild(Oo(h)),t.push(o)}}return t},Zc=function(e){return hb.generateUniqueNameInternal(e)},Cm=function(e){return ca(hh.charAt(0),e.getAllVariableNames())},ca=function(e,t){if(!t.length)return e;const o=hh;let n="",c=o.indexOf(e);for(;;){let h=!1;for(let $=0;$h.getVariableModel().name);if(n&&(o=n.some(h=>h.toLowerCase()===e),n=n.some(h=>h.toLowerCase()===t),o&&n))return c.getName()}return null},Sm=function(e,t,o){e=e.toLowerCase(),t=t.toLowerCase(),o=o.getAllBlocks(!1);for(const c of o){if(!fi(c))continue;o=c.getProcedureDef();var n=o[1];const h=n.some($=>$.toLowerCase()===e);if(n=n.some($=>$.toLowerCase()===t),h&&n)return o[0]}return null},Oo=function(e){const t=i.createElement$$module$build$src$core$utils$xml("field");return t.setAttribute("name","VAR"),t.setAttribute("id",e.getId()),t.setAttribute("variabletype",e.type),e=i.createTextNode$$module$build$src$core$utils$xml(e.name),t.appendChild(e),t},i.getOrCreateVariablePackage$$module$build$src$core$variables=function(e,t,o,n){let c=i.getVariable$$module$build$src$core$variables(e,t,o,n);return c||(c=Em(e,t,o,n)),c},i.getVariable$$module$build$src$core$variables=function(e,t,o,n){const c=e.getPotentialVariableMap();let h=null;if(t&&(h=e.getVariableById(t),!h&&c&&(h=c.getVariableById(t)),h))return h;if(o){if(n===void 0)throw Error("Tried to look up a variable by name without a type");h=e.getVariable(o,n),!h&&c&&(h=c.getVariable(o,n))}return h},Em=function(e,t,o,n){const c=e.getPotentialVariableMap();return o||(o=Zc(e.isFlyout?e.targetWorkspace:e)),c?c.createVariable(o,n,t):e.createVariable(o,n,t)},kn=function(e,t){e=e.getAllVariables();const o=[];if(t.length!==e.length)for(let n=0;n{B.disposed||B.setConnectionTracking(!0)},1)}return T},su=function(e,t,{parentConnection:o,isShadow:n=!1}={}){if(!e.type)throw new pb(e);const c=t.newBlock(e.type,e.id);return c.setShadow(n),Lm(c,e),Bm(c,e),Pm(c,e),Fm(o,c,e),jm(c,e),zm(c,e),Um(c,e),Hm(c,e),Wm(c,t.rendered),c},Nm=function(e,t){if(J())for(e=kn(e,t),t=0;tt&&(t=o[n].length);var c=-1/0;let h,$=1;do{n=c,h=e,e=[],c=o.length/$;let T=1;for(let B=0;Bn);return h},ma=function(e,t,o){const n=[0],c=[];for(var h=0;hn&&(n=T,c=$)}return c?yu(e,c,o):t},Jm=function(e,t){const o=[];for(let n=0;nCb&&Gs()}else Qn!==es&&(clearTimeout(qo),$h=e.pageX,bh=e.pageY,qo=setTimeout(rf,Tb))},Tu=function(){Qn=es=null,Gs()},Gs=function(){Zn&&(Zn=!1,$t&&($t.style.display="none")),qo&&(clearTimeout(qo),qo=0)},ku=function(){Gs(),Bi=!0},Su=function(){Bi=!1},sf=function(){$t&&es&&(typeof el=="function"?el($t,es):of())},of=function(){var e=_i(es);e=i.wrap$$module$build$src$core$utils$string(e,_b),e=e.split(` +`);for(let t=0;to+window.scrollY&&(c-=$t.offsetHeight+2*yh),e?n=Math.max(tl-window.scrollX,n):n+$t.offsetWidth>t+window.scrollX-2*tl&&(n=t-$t.offsetWidth-2*tl),{x:n,y:c}},rf=function(){if(!Bi&&(Qn=es,$t)){$t.textContent="",sf();var e=es.RTL;$t.style.direction=e?"rtl":"ltr",$t.style.display="block",Zn=!0;var{x:t,y:o}=nf(e);$t.style.left=t+"px",$t.style.top=o+"px"}},Eu=function(){return _h},af=function(e){_h=e},Iu=function(){return wh},lf=function(e){wh=e},Mo=function(e){e=`${e}`.toLowerCase().trim();var t=kb[e];if(t||(t=e.substring(0,2)==="0x"?"#"+e.substring(2):e,t=t[0]==="#"?t:"#"+t,/^#[0-9a-f]{6}$/.test(t)))return t;if(/^#[0-9a-f]{3}$/.test(t))return["#",t[1],t[1],t[2],t[2],t[3],t[3]].join("");var o=e.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return o&&(e=Number(o[1]),t=Number(o[2]),o=Number(o[3]),0<=e&&256>e&&0<=t&&256>t&&0<=o&&256>o)?xn(e,t,o):null},xn=function(e,t,o){return t=e<<16|t<<8|o,16>e?"#"+(16777216|t).toString(16).substr(1):"#"+t.toString(16)},$a=function(e){return e=Mo(e),e?(e=parseInt(e.substr(1),16),[e>>16,e>>8&255,e&255]):[0,0,0]},ba=function(e,t,o){let n=0,c=0,h=0;if(t===0)h=c=n=o;else{const $=Math.floor(e/60),T=e/60-$;e=o*(1-t);const B=o*(1-t*T);switch(t=o*(1-t*(1-T)),$){case 1:n=B,c=o,h=e;break;case 2:n=e,c=o,h=t;break;case 3:n=e,c=B,h=o;break;case 4:n=t,c=e,h=o;break;case 5:n=o,c=e,h=B;break;case 6:case 0:n=o,c=t,h=e}}return xn(Math.floor(n),Math.floor(c),Math.floor(h))},No=function(e,t,o){return e=Mo(e),!e||(t=Mo(t),!t)?null:(e=$a(e),t=$a(t),xn(Math.round(t[0]+o*(e[0]-t[0])),Math.round(t[1]+o*(e[1]-t[1])),Math.round(t[2]+o*(e[2]-t[2]))))},xu=function(e){return ba(e,_h,255*wh)},va=function(e,t,o){const n=[];var c=e.split("");c.push("");var h=0;e=[];let $=null;for(let ie=0;ie=T?(h=2,$=T,(T=e.join(""))&&n.push(T),e.length=0):T==="{"?h=3:(e.push("%",T),h=0);else if(h===2)if("0"<=T&&"9">=T)$+=T;else{var B=void 0;n.push(parseInt((B=$)!=null?B:"",10)),ie--,h=0}else h===3&&(T===""?(e.splice(0,0,"%{"),ie--,h=0):T!=="}"?e.push(T):(h=e.join(""),/[A-Z]\w*/i.test(h)?(T=h.toUpperCase(),(T=T.startsWith("BKY_")?T.substring(4):null)&&T in i.Msg$$module$build$src$core$msg?(h=i.Msg$$module$build$src$core$msg[T],typeof h=="string"?Array.prototype.push.apply(n,va(h,t,o)):t?n.push(`${h}`):n.push(h)):n.push("%{"+h+"}")):n.push("%{"+h+"}"),h=e.length=0))}for((t=e.join(""))&&n.push(t),B=[],e.length=0,c=0;c=o)return{hue:o,hex:ba(o,Eu(),255*Iu())};if(o=Mo(t))return{hue:null,hex:o};throw o='Invalid colour: "'+t+'"',e!==t&&(o+=' (from "'+e+'")'),Error(o)},Lo=function(){return $s},uf=function(e){if($s=e,e===null){let t;(t=document.querySelector("."+ol))==null||t.remove()}},Au=function(){const e=pe()||document.body;document.querySelector("."+ol)?$s=document.querySelector("."+ol):($s=document.createElement("div"),$s.className=ol),e.appendChild($s)},ya=function(e,t,o,n){if(Ti(),Pi=e,sl=o,o=$s){if(o.style.direction=t?"rtl":"ltr",o.style.display="block",!n&&e instanceof Ze){let $;n=($=e.getSourceBlock())==null?void 0:$.workspace}var c;Ch=(c=n)!=null?c:null;var h;e=(h=n)!=null?h:U(),Fi=e.getRenderer().getClassName(),ji=e.getTheme().getClassName(),Fi&&$e(o,Fi),ji&&$e(o,ji)}},Ti=function(){if(Ru()){Pi=null;var e=$s;e&&(e.style.display="none",e.style.left="",e.style.top="",sl&&sl(),sl=null,e.textContent="",Fi&&(st(e,Fi),Fi=""),ji&&(st(e,ji),ji=""),U().markFocused())}},Ru=function(){return!!Pi},Bo=function(e){Pi===e&&Ti()},Dn=function(e){Ch!==null&&Ch!==e||Ti()},Ou=function(e,t,o){$s.style.left=e+"px",$s.style.top=t+"px",$s.style.height=o+"px"},Mu=function(e,t,o,n){const c=hf(e,t,o);e=df(e,t,o,n),0>c?Ou(e,0,o.height+c):Ou(e,c,o.height)},df=function(e,t,o,n){return n?Math.min(Math.max(t.right-o.width,e.left),e.right-o.width):Math.max(Math.min(t.left,e.right-o.width),e.left)},hf=function(e,t,o){return t.bottom+o.height>=e.bottom?t.top-o.height:t.bottom},pf=function(e){return!(e==null||!e.repositionForWindowResize)},Nu=function(){pf(Pi)&&Pi.repositionForWindowResize()||Ti()},gf=function(){return il},Lu=function(e){il=e},An=function(e,t,o,n){if(ya(Sb,o,Bu,n),t.length){var c=mf(t,o,e);nl=c,ff(c,e,o),setTimeout(function(){c.focus()},1),il=null}else Rn()},mf=function(e,t,o){const n=new ih;n.setRole(fs.MENU);for(let c=0;c{setTimeout(()=>{h.callback(h.scope,o)},0)})},{})}return n},ff=function(e,t,o){const n=Uc();t=new Je(t.clientY+n.top,t.clientY+n.top,t.clientX+n.left,t.clientX+n.left),$f(e);const c=e.getSize();o&&(t.left+=c.width,t.right+=c.width,n.left+=c.width,n.right+=c.width),Mu(n,t,c,o),e.focus()},$f=function(e){var t=Lo();if(!t)throw Error("Attempting to create a context menu when widget div is null");t=e.render(t),$e(t,"blocklyContextMenu"),Q(t,"contextmenu",null,bf),e.focus()},bf=function(e){e.preventDefault(),e.stopPropagation()},Rn=function(){Bo(Sb),il=null},Bu=function(){nl&&(nl.dispose(),nl=null)},i.callbackFactory$$module$build$src$core$contextmenu=function(e,t){return()=>{i.disable$$module$build$src$core$events$utils();let o;try{o=t instanceof Element?Po(t,e.workspace):bi(t,e.workspace);const n=e.getRelativeToSurfaceXY();n.x=e.RTL?n.x-i.config$$module$build$src$core$config.snapRadius:n.x+i.config$$module$build$src$core$config.snapRadius,n.y+=2*i.config$$module$build$src$core$config.snapRadius,o.moveBy(n.x,n.y)}finally{i.enable$$module$build$src$core$events$utils()}return J()&&!o.isShadow()&&K(new(Y(M.BLOCK_CREATE))(o)),i.setSelected$$module$build$src$core$common(o),o}},Pu=function(e,t){return t=tt(t,e.getParentSvg(),e.getInverseScreenCTM()),t.x/=e.scale,t.y/=e.scale,t},_a=function(e,t,o){t=Pu(e,t),Ib.set(e,G.difference(o,t))},wa=function(e,t){if(t=Pu(e,t),e=Ib.get(e),!e)throw Error("Drag not initialized");return G.sum(e,t)},vf=function(e,t=!1){const o=i.createElement$$module$build$src$core$utils$xml("xml");var n=Fu(i.allUsedVarModels$$module$build$src$core$variables(e));n.hasChildNodes()&&o.appendChild(n);for(const c of e.getTopComments())o.appendChild(On(c,t));for(e=e.getTopBlocks(!0),n=0;n/g,"<$1$2>")},wf=function(e){e=Es(e).split("<");let t="";for(let o=1;o"&&(t+=" ")}return e=e.join(` +`),e=e.replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1"),e.replace(/^\n/,"")},Cf=function(e,t){return t.setResizesEnabled(!1),t.clear(),e=i.domToWorkspace$$module$build$src$core$xml(e,t),t.setResizesEnabled(!0),e},i.domToWorkspace$$module$build$src$core$xml=function(e,t){let o=0;t.RTL&&(o=t.getWidth());const n=[];Ao();const c=i.getGroup$$module$build$src$core$events$utils();c||i.setGroup$$module$build$src$core$events$utils(!0),t.setResizesEnabled&&t.setResizesEnabled(!1);let h=!0;try{for(let $=0,T;T=e.childNodes[$];$++){const B=T.nodeName.toLowerCase(),ie=T;if(B==="block"||B==="shadow"&&!ge()){const it=Po(ie,t);n.push(it.id);let ot;const Ht=parseInt((ot=ie.getAttribute("x"))!=null?ot:"10",10);let qi;const mr=parseInt((qi=ie.getAttribute("y"))!=null?qi:"10",10);isNaN(Ht)||isNaN(mr)||it.moveBy(t.RTL?o-Ht:Ht,mr,["create"]),h=!1}else{if(B==="shadow")throw TypeError("Shadow block cannot be a top-level block.");if(B==="comment")zu(ie,t);else if(B==="variables"){if(h)Uu(ie,t);else throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");h=!1}}}}finally{i.setGroup$$module$build$src$core$events$utils(c),t.setResizesEnabled&&t.setResizesEnabled(!0),t.rendered&&Hs(),Ro()}return K(new(Y(M.FINISHED_LOADING))(t)),n},zu=function(e,t){var o;const n=(o=e.getAttribute("id"))!=null?o:void 0;o=t.rendered?new ll(t,n):new al(t,n);var c;o.setText((c=e.textContent)!=null?c:"");var h;c=parseInt((h=e.getAttribute("x"))!=null?h:"",10);let $;h=parseInt(($=e.getAttribute("y"))!=null?$:"",10),isNaN(c)||isNaN(h)||(c=t.RTL?t.getWidth()-c:c,o.moveTo(new G(c,h)));var T;t=parseInt((T=e.getAttribute("w"))!=null?T:"",10);let B;return T=parseInt((B=e.getAttribute("h"))!=null?B:"",10),isNaN(t)||isNaN(T)||o.setSize(new Ne(t,T)),e.getAttribute("collapsed")==="true"&&o.setCollapsed(!0),e.getAttribute("editable")==="false"&&o.setEditable(!1),e.getAttribute("movable")==="false"&&o.setMovable(!1),e.getAttribute("deletable")==="false"&&o.setDeletable(!1),o},Tf=function(e,t){if(!t.getBlocksBoundingBox)return i.domToWorkspace$$module$build$src$core$xml(e,t);var o=t.getBlocksBoundingBox();if(e=i.domToWorkspace$$module$build$src$core$xml(e,t),o&&o.top!==o.bottom){var n=o.bottom;o=t.RTL?o.right:o.left;var c=1/0;let h=-1/0,$=1/0;for(let T=0;Th&&(h=B.x)}for(n=n-$+10,o=t.RTL?o-h:o-c,c=0;cie.setBubbleVisible(h),1)}},If=function(e,t){for(let o=0;oc}),Gu(c,{x:n.x,y:n.y,width:e.width,height:e.height},t.RTL,new Date)}},Gu=function(e,t,o,n){const c=(new Date().getTime()-n.getTime())/150;1o)){var n=t.getSvgXY(e.getSvgRoot());e.outputConnection?(n.x+=(e.RTL?3:-3)*o,n.y+=13*o):e.previousConnection&&(n.x+=(e.RTL?-23:23)*o,n.y+=3*o);var c=L(D.CIRCLE,{cx:n.x,cy:n.y,r:0,fill:"none",stroke:"#888","stroke-width":10},t.getParentSvg());e=L(D.ANIMATE,{id:"animationCircle",begin:"indefinite",attributeName:"r",dur:"150ms",from:0,to:25*o},c),t=L(D.ANIMATE,{id:"animationOpacity",begin:"indefinite",attributeName:"opacity",dur:"150ms",from:1,to:0},c),e.beginElement(),t.beginElement(),setTimeout(()=>void Ve(c),150)}},Vu=function(e){if(ki(),e.workspace.getAudioManager().play("disconnect"),!(1>e.workspace.scale)){var t=e.getHeightWidth().height;t=Math.atan(10/t)/Math.PI*180,e.RTL||(t*=-1),tr=e,Ku(e,t,new Date,0)}},Ku=function(e,t,o,n){const c=[.66,1,.66,0,-.66,-1,-.66,0];let h="";o.getTime()+200>new Date().getTime()&&(h=`skewX(${Math.round(c[n%c.length]*t)})`,cl=setTimeout(Ku,15,e,t,o,n+1)),e.getSvgRoot().setAttribute("transform",`${e.getTranslation()} ${h}`)},ki=function(){tr&&(cl&&(clearTimeout(cl),cl=null),tr.getSvgRoot().setAttribute("transform",tr.getTranslation()),tr=null)},Fo=function(e){return e.getRelativeToSurfaceXY!==void 0&&e.isMovable!==void 0&&e.startDrag!==void 0&&e.drag!==void 0&&e.endDrag!==void 0&&e.revertDrag!==void 0},Vs=function(e,t){for(const o in t)e[o]=t[o]!==null&&typeof t[o]=="object"?Vs(e[o]||Object.create(null),t[o]):t[o];return e},Is=function(e,t){r(z.FIELD,e,t)},Mf=function(e){u(z.FIELD,e)},i.fromJson$$module$build$src$core$field_registry=function(e){return Rb.fromJsonInternal(e)},Nf=function(e){const t=f(z.FIELD,e.type);return t?t.fromJson(e):(console.warn("Blockly could not create a field of type "+e.type+". The field is probably not being registered. This could be because the file is not loaded, the field does not register itself (Issue #1584), or the registration is not being reached."),null)},i.register$$module$build$src$core$extensions=function(e,t){if(typeof e!="string"||e.trim()==="")throw Error('Error: Invalid extension name "'+e+'"');if(Ui[e])throw Error('Error: Extension "'+e+'" is already registered.');if(typeof t!="function")throw Error('Error: Extension "'+e+'" must be a function');Ui[e]=t},i.registerMixin$$module$build$src$core$extensions=function(e,t){if(!t||typeof t!="object")throw Error('Error: Mixin "'+e+'" must be a object');i.register$$module$build$src$core$extensions(e,function(){this.mixin(t)})},i.registerMutator$$module$build$src$core$extensions=function(e,t,o,n){const c='Error when registering mutator "'+e+'": ';Xu(c,t);const h=Ju(t,c);if(o&&typeof o!="function")throw Error(c+'Extension "'+e+'" is not a function');i.register$$module$build$src$core$extensions(e,function(){h&&this.setMutator(new i.MutatorIcon$$module$build$src$core$icons$mutator_icon(n||[],this)),this.mixin(t),o&&o.apply(this)})},Lf=function(e){Yu(e)?delete Ui[e]:console.warn('No extension mapping for name "'+e+'" found to unregister')},Yu=function(e){return!!Ui[e]},Sa=function(e,t,o){const n=Ui[e];if(typeof n!="function")throw Error('Error: Extension "'+e+'" not found.');let c;if(o?Bf(e,t):c=Ia(t),n.apply(t),o)Xu('Error after applying mutator "'+e+'": ',t);else if(!jf(c,t))throw Error('Error when applying extension "'+e+'": mutation properties changed when applying a non-mutator extension.')},Bf=function(e,t){if(Ia(t).length)throw Error('Error: tried to apply mutation "'+e+'" to a block that already has mutator functions. Block id: '+t.id)},Pf=function(e,t){return Ea(e.mutationToDom,e.domToMutation,t+" mutationToDom/domToMutation")},Ff=function(e,t){return Ea(e.saveExtraState,e.loadExtraState,t+" saveExtraState/loadExtraState")},Ju=function(e,t){return Ea(e.compose,e.decompose,t+" compose/decompose")},Ea=function(e,t,o){if(e&&t){if(typeof e!="function"||typeof t!="function")throw Error(o+" must be a function");return!0}if(!e&&!t)return!1;throw Error(o+"Must have both or neither functions")},Xu=function(e,t){const o=Pf(t,e),n=Ff(t,e);if(!o&&!n)throw Error(e+"Mutations must contain either XML hooks, or JSON hooks, or both");Ju(t,e)},Ia=function(e){const t=[];return e.domToMutation!==void 0&&t.push(e.domToMutation),e.mutationToDom!==void 0&&t.push(e.mutationToDom),e.saveExtraState!==void 0&&t.push(e.saveExtraState),e.loadExtraState!==void 0&&t.push(e.loadExtraState),e.compose!==void 0&&t.push(e.compose),e.decompose!==void 0&&t.push(e.decompose),t},jf=function(e,t){if(t=Ia(t),t.length!==e.length)return!1;for(let o=0;o!n.getReturnTypes()).map(n=>[n.getName(),n.getParameters().map(c=>c.getName()),!1]);e.getBlocksByType("procedures_defnoreturn",!1).forEach(n=>{!po(n)&&fi(n)&&t.push(n.getProcedureDef())});const o=e.getProcedureMap().getProcedures().filter(n=>!!n.getReturnTypes()).map(n=>[n.getName(),n.getParameters().map(c=>c.getName()),!0]);return e.getBlocksByType("procedures_defreturn",!1).forEach(n=>{!po(n)&&fi(n)&&o.push(n.getProcedureDef())}),t.sort(Zu),o.sort(Zu),[t,o]},Zu=function(e,t){return e[0].localeCompare(t[0],void 0,{sensitivity:"base"})},i.findLegalName$$module$build$src$core$procedures=function(e,t){if(t.isInFlyout)return e;for(e=e||i.Msg$$module$build$src$core$msg.UNNAMED_KEY||"unnamed";!Gf(e,t.workspace,t);){const o=e.match(/^(.*?)(\d+)$/);e=o?o[1]+(parseInt(o[2])+1):e+"2"}return e},Gf=function(e,t,o){return!Qu(e,t,o)},Qu=function(e,t,o){for(const n of t.getAllBlocks(!1))if(n!==o&&fi(n)&&i.Names$$module$build$src$core$names.equals(n.getProcedureDef()[0],e))return!0;o=o&&po(o)?o==null?void 0:o.getProcedureModel():void 0;for(const n of t.getProcedureMap().getProcedures())if(n!==o&&i.Names$$module$build$src$core$names.equals(n.getName(),e))return!0;return!1},i.rename$$module$build$src$core$procedures=function(e){var t=this.getSourceBlock();if(!t)throw new gt;e=e.trim();const o=i.findLegalName$$module$build$src$core$procedures(e,t);po(t)&&!t.isInsertionMarker()&&t.getProcedureModel().setName(o);const n=this.getValue();if(n!==e&&n!==o)for(e=t.workspace.getAllBlocks(!1),t=0;tKf(o,e)||wm(o)&&i.Names$$module$build$src$core$names.equals(o.getProcedureCall(),e))},Kf=function(e,t){return po(e)&&!e.isProcedureDef()&&e.getProcedureModel()&&i.Names$$module$build$src$core$names.equals(e.getProcedureModel().getName(),t)},i.mutateCallers$$module$build$src$core$procedures=function(e){const t=ge();var o=e.getProcedureDef()[0];const n=e.mutationToDom(!0);e=sd(o,e.workspace);for(let h=0,$;$=e[h];h++){o=(o=$.mutationToDom())&&gi(o),$.domToMutation&&$.domToMutation(n);var c=$.mutationToDom();c=c&&gi(c),o!==c&&(i.setRecordUndo$$module$build$src$core$events$utils(!1),K(new(Y(M.BLOCK_CHANGE))($,"mutation",null,o,c)),i.setRecordUndo$$module$build$src$core$events$utils(t))}},i.getDefinition$$module$build$src$core$procedures=function(e,t){for(const o of t.getAllBlocks(!1))if(po(o)&&o.isProcedureDef()&&i.Names$$module$build$src$core$names.equals(o.getProcedureModel().getName(),e)||fi(o)&&i.Names$$module$build$src$core$names.equals(o.getProcedureDef()[0],e))return o;return null},Ra=function(e){return e.isDynamic},Yf=function(e){return e.pathDown!==void 0&&e.pathUp!==void 0},Jf=function(e){return e.pathLeft!==void 0&&e.pathRight!==void 0},Xf=function(e,t){if(!e||!t)throw Error("Cannot connect null connections.");e.targetConnection=t,t.targetConnection=e},qf=function(e,t){let o=null;t=t.outputConnection;const n=t==null?void 0:t.getConnectionChecker();for(let c=0,h;h=e.inputList[c];c++){const $=h.connection;let T;if($&&((T=n)!=null&&T.canConnect(t,$,!1))){if(o)return null;o=$}}return o},Zf=function(e,t){let o;for(;o=qf(e,t);)if(e=o.targetBlock(),!e||e.isShadow())return o;return null},od=function(e){return e.getType!==void 0&&e.initView!==void 0&&e.dispose!==void 0&&e.getWeight!==void 0&&e.getSize!==void 0&&e.applyColour!==void 0&&e.hideForInsertionMarker!==void 0&&e.updateEditable!==void 0&&e.updateCollapsed!==void 0&&e.isShownWhenCollapsed!==void 0&&e.setOffsetInBlock!==void 0&&e.onLocationChange!==void 0&&e.onClick!==void 0},Qf=function(e){return od(e)&&vi(e)&&Cn(e)&&e.setText!==void 0&&e.getText!==void 0&&e.setBubbleSize!==void 0&&e.getBubbleSize!==void 0&&e.getType()===ft.COMMENT},Nn=function(e){let t=e.outputConnection;return(!t||e.previousConnection&&e.previousConnection.isConnected())&&(t=e.previousConnection),t},Ln=function(e,t){r(z.RENDERER,e,t)},e$=function(e){u(z.RENDERER,e)},id=function(e,t,o){return e=new(m(z.RENDERER,e))(e),e.init(t,o),e},nd=function(e){$i(e.getTargetWorkspace(),void 0,"String")},rd=function(e){$i(e.getTargetWorkspace(),void 0,"Number")},ad=function(e){$i(e.getTargetWorkspace(),void 0,"Colour")},Oa=function(e){let t=[],o=document.createElement("button");return o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_STRING_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_STRING"),t.push(o),o=document.createElement("button"),o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_NUMBER_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_NUMBER"),t.push(o),o=document.createElement("button"),o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_COLOUR_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_COLOUR"),t.push(o),e.registerButtonCallback("CREATE_VARIABLE_STRING",nd),e.registerButtonCallback("CREATE_VARIABLE_NUMBER",rd),e.registerButtonCallback("CREATE_VARIABLE_COLOUR",ad),e=ld(e),t=t.concat(e)},ld=function(e){e=e.getAllVariables();const t=[];if(0T.id!=e.id).map(T=>T.getRelativeToSurfaceXY());for(;s$(G.sum(t,h),$)||o$(e,G.sum(c,h),n);)o.RTL?h.translate(-n,2*n):h.translate(n,2*n);e.moveTo(G.sum(t,h))},s$=function(e,t){return t.some(o=>1>=Math.abs(o.x-e.x)&&1>=Math.abs(o.y-e.y))},o$=function(e,t,o){return e.getConnections_(!1).some(n=>!!n.closest(o,t).connection)},Ei=function(e,t,o){const n=o.getBoundingRectangle(),c=n.right-n.left,h=yi(t.top,n.top,t.top+t.height-(n.bottom-n.top))-n.top;let $=t.left;return t=t.left+t.width-c,e.RTL?$=Math.min(t,$):t=Math.max($,t),(e=yi($,n.left,t)-n.left)||h?(o.moveBy(e,h,["inbounds"]),!0):!1},cd=function(e){return t=>{var o=e.getMetricsManager();if(o.hasFixedEdges()&&!e.isDragging()){var n;if(T$.includes((n=t.type)!=null?n:"")){n=o.getScrollMetrics(!0);const c=i$(e,t);c&&(o=i.getGroup$$module$build$src$core$events$utils()||!1,i.setGroup$$module$build$src$core$events$utils(t.group),Ei(e,n,c)&&!t.group&&console.warn("Moved object in bounds but there was no event group. This may break undo."),i.setGroup$$module$build$src$core$events$utils(o))}else se(t)&&t.scale&&t.oldScale&&t.scale>t.oldScale&&Ma(e)}}},i$=function(e,t){let o=null;switch(t.type){case M.BLOCK_CREATE:case M.BLOCK_MOVE:(o=e.getBlockById(t.blockId))&&(o=o.getRootBlock());break;case M.COMMENT_CREATE:case M.COMMENT_MOVE:case M.COMMENT_RESIZE:o=e.getCommentById(t.commentId)}return o},Ma=function(e){var t=e.getMetricsManager();if(t.hasFixedEdges()&&!e.isDragging()){t=t.getScrollMetrics(!0);var o=e.getTopBoundedElements();for(let n=0,c;c=o[n];n++)Ei(e,t,c)}},Qt=function(e){return e.isDeletable!==void 0&&e.dispose!==void 0&&e.setDeleteStyle!==void 0},n$=function(e){const t=e.toCopyData();Jh=t;let o;return Xh=(o=e.workspace)!=null?o:null,t},go=function(e,t,o){return e&&t?ud(e,t,o):Jh&&Xh?ud(Jh,Xh):null},ud=function(e,t,o){let n;t=t.isMutator?t:(n=t.getRootWorkspace())!=null?n:t;let c,h;return(h=(c=f(z.PASTER,e.paster,!1))==null?void 0:c.paste(e,t,o))!=null?h:null},r$=function(e){const t=e.toCopyData();return t?go(t,e.workspace):null},Bn=function(e){return e.toCopyData!==void 0},dd=function(){He.registry.register({name:Ms.ESCAPE,preconditionFn(e){return!e.options.readOnly},callback(e){return e.hideChaff(),!0},keyCodes:[Re.ESC]})},hd=function(){He.registry.register({name:Ms.DELETE,preconditionFn(e){const t=x();return!e.options.readOnly&&t!=null&&Qt(t)&&t.isDeletable()&&!Qs.inProgress()},callback(e,t){return t.preventDefault(),e=x(),e instanceof ns?e.checkAndDelete():Qt(e)&&e.isDeletable()&&(i.setGroup$$module$build$src$core$events$utils(!0),e.dispose(),i.setGroup$$module$build$src$core$events$utils(!1)),!0},keyCodes:[Re.DELETE,Re.BACKSPACE]})},pd=function(){const e=He.registry.createSerializedKey(Re.C,[Re.CTRL]),t=He.registry.createSerializedKey(Re.C,[Re.ALT]),o=He.registry.createSerializedKey(Re.C,[Re.META]);He.registry.register({name:Ms.COPY,preconditionFn(n){const c=x();return!n.options.readOnly&&!Qs.inProgress()&&c!=null&&Qt(c)&&c.isDeletable()&&Fo(c)&&c.isMovable()&&Bn(c)},callback(n,c){return c.preventDefault(),n.hideChaff(),c=x(),!c||!Bn(c)?!1:(To=c.toCopyData(),ko=c.workspace instanceof Zt?c.workspace:n,Yi=Fo(c)?c.getRelativeToSurfaceXY():null,!!To)},keyCodes:[e,t,o]})},gd=function(){const e=He.registry.createSerializedKey(Re.X,[Re.CTRL]),t=He.registry.createSerializedKey(Re.X,[Re.ALT]),o=He.registry.createSerializedKey(Re.X,[Re.META]);He.registry.register({name:Ms.CUT,preconditionFn(n){const c=x();return!n.options.readOnly&&!Qs.inProgress()&&c!=null&&Qt(c)&&c.isDeletable()&&Fo(c)&&c.isMovable()&&!c.workspace.isFlyout},callback(n){const c=x();return c instanceof ns?(To=c.toCopyData(),ko=n,Yi=c.getRelativeToSurfaceXY(),c.checkAndDelete(),!0):Qt(c)&&c.isDeletable()&&Bn(c)?(To=c.toCopyData(),ko=n,Yi=Fo(c)?c.getRelativeToSurfaceXY():null,c.dispose(),!0):!1},keyCodes:[e,t,o]})},md=function(){const e=He.registry.createSerializedKey(Re.V,[Re.CTRL]),t=He.registry.createSerializedKey(Re.V,[Re.ALT]),o=He.registry.createSerializedKey(Re.V,[Re.META]);He.registry.register({name:Ms.PASTE,preconditionFn(n){return!n.options.readOnly&&!Qs.inProgress()},callback(){if(!To||!ko)return!1;if(!Yi)return!!go(To,ko);const{left:n,top:c,width:h,height:$}=ko.getMetricsManager().getViewMetrics(!0);if(new Je(c,c+$,n,n+h).contains(Yi.x,Yi.y))return!!go(To,ko);const T=new G(n+h/2,c+$/2);return!!go(To,ko,T)},keyCodes:[e,t,o]})},fd=function(){const e=He.registry.createSerializedKey(Re.Z,[Re.CTRL]),t=He.registry.createSerializedKey(Re.Z,[Re.ALT]),o=He.registry.createSerializedKey(Re.Z,[Re.META]);He.registry.register({name:Ms.UNDO,preconditionFn(n){return!n.options.readOnly&&!Qs.inProgress()},callback(n,c){return n.hideChaff(),n.undo(!1),c.preventDefault(),!0},keyCodes:[e,t,o]})},$d=function(){const e=He.registry.createSerializedKey(Re.Z,[Re.SHIFT,Re.CTRL]),t=He.registry.createSerializedKey(Re.Z,[Re.SHIFT,Re.ALT]),o=He.registry.createSerializedKey(Re.Z,[Re.SHIFT,Re.META]),n=He.registry.createSerializedKey(Re.Y,[Re.CTRL]);He.registry.register({name:Ms.REDO,preconditionFn(c){return!Qs.inProgress()&&!c.options.readOnly},callback(c,h){return c.hideChaff(),c.undo(!0),h.preventDefault(),!0},keyCodes:[e,t,o,n]})},bd=function(){dd(),hd(),pd(),gd(),md(),fd(),$d()},vd=function(e){const t=e.saveState();return e.getParameters().length&&(t.parameters=e.getParameters().map(o=>o.saveState())),t},yd=function(e,t,o,n){if(e=e.loadState(o,n),!o.parameters)return e;for(const[c,h]of o.parameters.entries())e.insertParameter(t.loadState(h,n),c);return e},a$=function(e){const t=Object.create(null),o=v(z.SERIALIZER,!0);for(const n in o){let c;const h=(c=o[n])==null?void 0:c.save(e);h&&(t[n]=h)}return t},l$=function(e,t,{recordUndo:o=!1}={}){var n=v(z.SERIALIZER,!0);if(n){n=Object.entries(n).sort((h,$)=>$[1].priority-h[1].priority);var c=ge();i.setRecordUndo$$module$build$src$core$events$utils(o),(o=i.getGroup$$module$build$src$core$events$utils())||i.setGroup$$module$build$src$core$events$utils(!0),Ao(),t instanceof Zt&&t.setResizesEnabled(!1);for(const[,h]of n.reverse()){let $;($=h)==null||$.clear(t)}for(const[h,$]of n.reverse())if(e[h]){let T;(T=$)==null||T.load(e[h],t)}t instanceof Zt&&t.setResizesEnabled(!0),Ro(),K(new(Y(M.FINISHED_LOADING))(t)),i.setGroup$$module$build$src$core$events$utils(o),i.setRecordUndo$$module$build$src$core$events$utils(c)}},c$=function(e,t){let o=null;o=typeof e=="string"?document.getElementById(e)||document.querySelector(e):e;var n;if(!document.contains(o)&&document!==((n=o)==null?void 0:n.ownerDocument))throw Error("Error: container is not in current document");e=new ss(t||{}),n=document.createElement("div"),$e(n,"injectionDiv"),t!=null&&t.rtl&&$e(n,"blocklyRTL"),n.tabIndex=0,Tt(n,vt.LABEL,i.Msg$$module$build$src$core$msg.WORKSPACE_ARIA_LABEL),o.appendChild(n),t=u$(n,e);const c=d$(n,t,e);return h$(c),le(c),ke(c),n.addEventListener("focusin",function(){le(c)}),Q(n,"keydown",null,Na),Q(Sn(),"keydown",null,Na),(t=Lo())&&Q(t,"keydown",null,Na),c},u$=function(e,t){e.setAttribute("dir","LTR"),Lc(t.hasCss,t.pathToMedia),e=L(D.SVG,{xmlns:Un,"xmlns:html":As,"xmlns:xlink":Kt,version:"1.1",class:"blocklySvg",tabindex:"0"},e);const o=L(D.DEFS,{},e),n=String(Math.random()).substring(2);return t.gridPattern=Eh.createDom(n,t.gridOptions,o),e},d$=function(e,t,o){o.parentWorkspace=null,o=new Zt(o);const n=o.options;o.scale=n.zoomOptions.startScale,t.appendChild(o.createDom("blocklyMainBackground",e));var c=o.getRenderer().getClassName();return c&&$e(e,c),(c=o.getTheme().getClassName())&&$e(e,c),!n.hasCategories&&n.languageTree&&(e=o.addFlyout(D.SVG),Do(e,t)),n.hasTrashcan&&o.addTrashcan(),n.zoomOptions&&n.zoomOptions.controls&&o.addZoomControls(),o.getThemeManager().subscribe(t,"workspaceBackgroundColour","background-color"),o.translate(0,0),o.addChangeListener(cd(o)),ke(o),Au(),iu(),wu(),o},h$=function(e){const t=e.options;var o=e.getParentSvg();if(Q(o.parentNode,"contextmenu",null,function(n){_t(n)||n.preventDefault()}),o=Q(window,"resize",null,function(){Gs(),e.hideComponents(!0),$u(),Nu(),ke(e),Ma(e)}),e.setResizeHandlerWrapper(o),p$(),t.languageTree){o=e.getToolbox();const n=e.getFlyout(!0);o?o.init():n&&(n.init(e),n.show(t.languageTree),typeof n.scrollToStart=="function"&&n.scrollToStart())}t.hasTrashcan&&e.trashcan.init(),t.zoomOptions&&t.zoomOptions.controls&&e.zoomControls_.init(),t.moveOptions&&t.moveOptions.scrollbars?(e.scrollbar=new Zh(e,t.moveOptions.scrollbars===!0||!!t.moveOptions.scrollbars.horizontal,t.moveOptions.scrollbars===!0||!!t.moveOptions.scrollbars.vertical,"blocklyMainWorkspaceScrollbar"),e.scrollbar.resize()):e.setMetrics({x:.5,y:.5}),t.hasSounds&&g$(t.pathToMedia,e)},Na=function(e){const t=U();t&&!(_t(e)||t.rendered&&!t.isVisible())&&He.registry.onKeyDown(t,e)},p$=function(){$v||(Q(document,"scroll",null,function(){const e=oe();for(let t=0,o;o=e[t];t++)o instanceof Zt&&o.updateInverseScreenCTM()}),lt(document,"touchend",null,Ce),lt(document,"touchcancel",null,Ce)),$v=!0},g$=function(e,t){function o(){for(;c.length;){const h=c.pop();h&&ze(h)}n.preload()}const n=t.getAudioManager();n.load([e+"click.mp3",e+"click.wav",e+"click.ogg"],"click"),n.load([e+"disconnect.wav",e+"disconnect.mp3",e+"disconnect.ogg"],"disconnect"),n.load([e+"delete.mp3",e+"delete.ogg",e+"delete.wav"],"delete");const c=[];c.push(Q(document,"pointermove",null,o,!0)),c.push(Q(document,"touchstart",null,o,!0))},_d=function(){Ae.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.UNDO},preconditionFn(e){return 0t.length?Pn(t):ra(i.Msg$$module$build$src$core$msg.DELETE_ALL_BLOCKS.replace("%1",String(t.length)),function(o){o&&Pn(t)})}},scopeType:Ae.ScopeType.WORKSPACE,id:"workspaceDelete",weight:6})},m$=function(){_d(),wd(),Cd(),kd(),Sd(),Id()},xd=function(){Ae.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.DUPLICATE_BLOCK},preconditionFn(e){return e=e.block,!e.isInFlyout&&e.isDeletable()&&e.isMovable()?e.isDuplicatable()?"enabled":"disabled":"hidden"},callback(e){if(e.block){var t=e.block.toCopyData();t&&go(t,e.block.workspace)}},scopeType:Ae.ScopeType.BLOCK,id:"blockDuplicate",weight:1})},Dd=function(){Ae.registry.register({displayText(e){return e.block.hasIcon(so.TYPE)?i.Msg$$module$build$src$core$msg.REMOVE_COMMENT:i.Msg$$module$build$src$core$msg.ADD_COMMENT},preconditionFn(e){return e=e.block,!e.isInFlyout&&e.workspace.options.comments&&!e.isCollapsed()&&e.isEditable()?"enabled":"hidden"},callback(e){e=e.block,e.hasIcon(so.TYPE)?e.setCommentText(null):e.setCommentText("")},scopeType:Ae.ScopeType.BLOCK,id:"blockComment",weight:2})},Ad=function(){Ae.registry.register({displayText(e){return e.block.getInputsInline()?i.Msg$$module$build$src$core$msg.EXTERNAL_INPUTS:i.Msg$$module$build$src$core$msg.INLINE_INPUTS},preconditionFn(e){if(e=e.block,!e.isInFlyout&&e.isMovable()&&!e.isCollapsed()){for(let t=1;t(t.has(Nt)?1:0),e.getInheritedDisabled()||t?"disabled":"enabled"}return"hidden"},callback(e){e=e.block;const t=i.getGroup$$module$build$src$core$events$utils();t||i.setGroup$$module$build$src$core$events$utils(!0),e.setDisabledReason(!e.hasDisabledReason(Nt),Nt),i.setGroup$$module$build$src$core$events$utils(t)},scopeType:Ae.ScopeType.BLOCK,id:"blockDisable",weight:5})},Md=function(){Ae.registry.register({displayText(e){var t=e.block;return e=t.getDescendants(!1).length,(t=t.getNextBlock())&&(e-=t.getDescendants(!1).length),e===1?i.Msg$$module$build$src$core$msg.DELETE_BLOCK:i.Msg$$module$build$src$core$msg.DELETE_X_BLOCKS.replace("%1",`${e}`)},preconditionFn(e){return!e.block.isInFlyout&&e.block.isDeletable()?"enabled":"hidden"},callback(e){e.block&&e.block.checkAndDelete()},scopeType:Ae.ScopeType.BLOCK,id:"blockDelete",weight:6})},Nd=function(){Ae.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.HELP},preconditionFn(e){return e=e.block,(typeof e.helpUrl=="function"?e.helpUrl():e.helpUrl)?"enabled":"hidden"},callback(e){e.block.showHelp()},scopeType:Ae.ScopeType.BLOCK,id:"blockHelp",weight:7})},Ld=function(){Ae.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.REMOVE_COMMENT,preconditionFn(e){let t;return(t=e.comment)!=null&&t.isDeletable()?"enabled":"hidden"},callback(e){i.setGroup$$module$build$src$core$events$utils(!0);let t;(t=e.comment)==null||t.dispose(),i.setGroup$$module$build$src$core$events$utils(!1)},scopeType:Ae.ScopeType.COMMENT,id:"commentDelete",weight:6})},Bd=function(){Ae.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.DUPLICATE_COMMENT,preconditionFn(e){let t;return(t=e.comment)!=null&&t.isMovable()?"enabled":"hidden"},callback(e){if(e.comment){var t=e.comment.toCopyData();t&&go(t,e.comment.workspace)}},scopeType:Ae.ScopeType.COMMENT,id:"commentDuplicate",weight:1})},Pd=function(){Ae.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.ADD_COMMENT,preconditionFn:e=>{let t;return(t=e.workspace)!=null&&t.isMutator?"hidden":"enabled"},callback:(e,t)=>{if(e=e.workspace){i.setGroup$$module$build$src$core$events$utils(!0);var o=new ll(e);o.setText(i.Msg$$module$build$src$core$msg.WORKSPACE_COMMENT_DEFAULT_TEXT),o.moveTo(f$(new G(t.clientX,t.clientY),e)),i.setSelected$$module$build$src$core$common(o),i.setGroup$$module$build$src$core$events$utils(!1)}},scopeType:Ae.ScopeType.WORKSPACE,id:"commentCreate",weight:8})},f$=function(e,t){var o=t.getInjectionDiv().getBoundingClientRect();return e=new G(e.x-o.left,e.y-o.top),o=t.getOriginOffsetInPixels(),e=G.difference(e,o),e.scale(1/t.scale),e},$$=function(){xd(),Dd(),Ad(),Rd(),Od(),Md(),Nd()},b$=function(){Bd(),Ld(),Pd()},Fd=function(){m$(),$$()},v$=function(e){return e.paste!==void 0},y$=function(e){return e.getSvgRoot!==void 0},_$=function(e){return typeof e.id=="string"&&e.workspace!==void 0&&e.select!==void 0&&e.unselect!==void 0},w$=function(e){return e.isSelectable()},C$=function(e){U().hideChaff(e)},j=j||{},j.scope={},j.ASSUME_ES5=!1,j.ASSUME_NO_NATIVE_MAP=!1,j.ASSUME_NO_NATIVE_SET=!1,j.SIMPLE_FROUND_POLYFILL=!1,j.ISOLATE_POLYFILLS=!1,j.FORCE_POLYFILL_PROMISE=!1,j.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,j.defineProperty=j.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(e,t,o){return e==Array.prototype||e==Object.prototype||(e[t]=o.value),e},j.getGlobal=function(e){e=[typeof globalThis=="object"&&globalThis,e,typeof window=="object"&&window,typeof self=="object"&&self,typeof nn=="object"&&nn];for(var t=0;t>>0,j.propertyToPolyfillSymbol[c]=j.IS_SYMBOL_NATIVE?j.global.Symbol(c):j.POLYFILL_PREFIX+o+"$"+c),j.defineProperty(n,j.propertyToPolyfillSymbol[c],{configurable:!0,writable:!0,value:t})))},j.underscoreProtoCanBeSet=function(){var e={a:!0},t={};try{return t.__proto__=e,t.a}catch{}return!1},j.setPrototypeOf=j.TRUST_ES6_POLYFILLS&&typeof Object.setPrototypeOf=="function"?Object.setPrototypeOf:j.underscoreProtoCanBeSet()?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null,j.arrayIteratorImpl=function(e){var t=0;return function(){return to&&(o=Math.max(o+c,0));o{const e=E$.length,t=[];for(let o=0;20>o;o++)t[o]=E$.charAt(Math.random()*e);return t.join("")}},MC=0,jd={TEST_ONLY:I$};jd.genUid=k,jd.getNextUniqueId=S;var x$="",Fn=!0,zd=0,Ud="ORPHANED_BLOCK",Ys=[],D$={FIRE_QUEUE:Ys,enqueueEvent:qe,fireNow:Me,fireInternal:je,setGroupInternal:we};i.disable$$module$build$src$core$events$utils,i.enable$$module$build$src$core$events$utils,i.getGroup$$module$build$src$core$events$utils,i.setGroup$$module$build$src$core$events$utils,i.setRecordUndo$$module$build$src$core$events$utils;var jn=Object.create(null),A$,jo=null,R$,zn=[],O$={defineBlocksWithJsonArrayInternal:Ge},St={TEST_ONLY:O$};St.createBlockDefinitionsFromJsonArray=i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common,St.defineBlocks=i.defineBlocks$$module$build$src$core$common,St.defineBlocksWithJsonArray=fe,St.draggingConnections=zn,St.getAllWorkspaces=oe,St.getBlockTypeCounts=ve,St.getMainWorkspace=U,St.getParentContainer=pe,St.getSelected=x,St.getWorkspaceById=q,St.registerWorkspace=F,St.setMainWorkspace=le,St.setParentContainer=W,St.setSelected=i.setSelected$$module$build$src$core$common,St.svgResize=ke,St.unregisterWorkpace=H;var Ii=class{constructor(){this.workspaceId=void 0,this.isUiEvent=!1,this.type="",this.group=i.getGroup$$module$build$src$core$events$utils(),this.recordUndo=ge()}toJson(){return{type:this.type,group:this.group}}static fromJson(e,t,o){return o.isBlank=!1,o.group=e.group||"",o.workspaceId=t.id,o}isNull(){return!1}run(e){}getEventWorkspace_(){let e;if(this.workspaceId&&(e=q(this.workspaceId)),!e)throw Error("Workspace is null. Event must have been generated from real Blockly events.");return e}},gs=class extends Ii{constructor(e){super(),this.recordUndo=!1,this.isUiEvent=!0,this.isBlank=typeof e>"u",this.workspaceId=e||""}},Hd=class extends gs{constructor(e,t,o){t=e?e.workspace.id:t,t===null&&(t=void 0),super(t),this.type=M.CLICK,this.blockId=e?e.id:void 0,this.targetType=o}toJson(){const e=super.toJson();if(!this.targetType)throw Error("The click target type is undefined. Either pass a block to the constructor, or call fromJson");return e.targetType=this.targetType,e.blockId=this.blockId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Hd),t.targetType=e.targetType,t.blockId=e.blockId,t}},Wd;(function(e){e.BLOCK="block",e.WORKSPACE="workspace",e.ZOOM_CONTROLS="zoom_controls"})(Wd||(Wd={})),r(z.EVENT,M.CLICK,Hd);var NC=750,M$="ontouchstart"in globalThis||!!(globalThis.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!globalThis.navigator||!globalThis.navigator.maxTouchPoints&&!globalThis.navigator.msMaxTouchPoints),Pa=null,zo={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]},Fa=0,Uo={TOUCH_ENABLED:M$,TOUCH_MAP:zo};Uo.checkTouchIdentifier=mt,Uo.clearTouchIdentifier=Ee,Uo.getTouchIdentifierFromEvent=Le,Uo.longStart=Ye,Uo.longStop=Ce,Uo.shouldHandleEvent=be;var Gd,N$,L$,B$,ja,za,Vd,P$,F$,j$;(function(e){function t(n){return o.includes(n.toUpperCase())}Gd=e;const o=Gd.toUpperCase();N$=t("JavaFX"),L$=t("WebKit"),B$=t("Gecko")&&!L$,ja=t("Android"),e=globalThis.navigator&&globalThis.navigator.maxTouchPoints,za=t("iPad")||t("Macintosh")&&0{n.push(this.componentData.get(c))}),n.sort(function(c,h){return c.weight-h.weight}),n.forEach(function(c){o.push(c.component)})}else e.forEach(n=>{o.push(this.componentData.get(n).component)});return o}};at.Capability=Xs,function(e){e=e.ComponentWeight||(e.ComponentWeight={}),e[e.TOOLBOX_WEIGHT=0]="TOOLBOX_WEIGHT",e[e.FLYOUT_WEIGHT=1]="FLYOUT_WEIGHT",e[e.TRASHCAN_WEIGHT=2]="TRASHCAN_WEIGHT",e[e.ZOOM_CONTROLS_WEIGHT=3]="ZOOM_CONTROLS_WEIGHT"}(at||(at={})),at.ComponentWeight;var Jd=!1,Xd=` +.blocklySvg { + background-color: #fff; + outline: none; + overflow: hidden; /* IE overflows by default. */ + position: absolute; + display: block; +} + +.blocklyWidgetDiv { + display: none; + position: absolute; + z-index: 99999; /* big value for bootstrap3 compatibility */ +} + +.injectionDiv { + height: 100%; + position: relative; + overflow: hidden; /* So blocks in drag surface disappear at edges */ + touch-action: none; + user-select: none; + -webkit-user-select: none; +} + +.blocklyNonSelectable { + user-select: none; + -ms-user-select: none; + -webkit-user-select: none; +} + +.blocklyBlockCanvas.blocklyCanvasTransitioning, +.blocklyBubbleCanvas.blocklyCanvasTransitioning { + transition: transform .5s; +} + +.blocklyTooltipDiv { + background-color: #ffffc7; + border: 1px solid #ddc; + box-shadow: 4px 4px 20px 1px rgba(0,0,0,.15); + color: #000; + display: none; + font: 9pt sans-serif; + opacity: .9; + padding: 2px; + position: absolute; + z-index: 100000; /* big value for bootstrap3 compatibility */ +} + +.blocklyDropDownDiv { + position: absolute; + left: 0; + top: 0; + z-index: 1000; + display: none; + border: 1px solid; + border-color: #dadce0; + background-color: #fff; + border-radius: 2px; + padding: 4px; + box-shadow: 0 0 3px 1px rgba(0,0,0,.3); +} + +.blocklyDropDownDiv.blocklyFocused { + box-shadow: 0 0 6px 1px rgba(0,0,0,.3); +} + +.blocklyDropDownContent { + max-height: 300px; /* @todo: spec for maximum height. */ + overflow: auto; + overflow-x: hidden; + position: relative; +} + +.blocklyDropDownArrow { + position: absolute; + left: 0; + top: 0; + width: 16px; + height: 16px; + z-index: -1; + background-color: inherit; + border-color: inherit; +} + +.blocklyDropDownButton { + display: inline-block; + float: left; + padding: 0; + margin: 4px; + border-radius: 4px; + outline: none; + border: 1px solid; + transition: box-shadow .1s; + cursor: pointer; +} + +.blocklyArrowTop { + border-top: 1px solid; + border-left: 1px solid; + border-top-left-radius: 4px; + border-color: inherit; +} + +.blocklyArrowBottom { + border-bottom: 1px solid; + border-right: 1px solid; + border-bottom-right-radius: 4px; + border-color: inherit; +} + +.blocklyResizeSE { + cursor: se-resize; + fill: #aaa; +} + +.blocklyResizeSW { + cursor: sw-resize; + fill: #aaa; +} + +.blocklyResizeLine { + stroke: #515A5A; + stroke-width: 1; +} + +.blocklyHighlightedConnectionPath { + fill: none; + stroke: #fc3; + stroke-width: 4px; +} + +.blocklyPathLight { + fill: none; + stroke-linecap: round; + stroke-width: 1; +} + +.blocklySelected>.blocklyPathLight { + display: none; +} + +.blocklyDraggable { + cursor: grab; + cursor: -webkit-grab; +} + +.blocklyDragging { + cursor: grabbing; + cursor: -webkit-grabbing; + /* Drag surface disables events to not block the toolbox, so we have to + * reenable them here for the cursor values to work. */ + pointer-events: auto; +} + + /* Changes cursor on mouse down. Not effective in Firefox because of + https://bugzilla.mozilla.org/show_bug.cgi?id=771241 */ +.blocklyDraggable:active { + cursor: grabbing; + cursor: -webkit-grabbing; +} + +.blocklyDragging.blocklyDraggingDelete { + cursor: url("<<>>/handdelete.cur"), auto; +} + +.blocklyDragging>.blocklyPath, +.blocklyDragging>.blocklyPathLight { + fill-opacity: .8; + stroke-opacity: .8; +} + +.blocklyDragging>.blocklyPathDark { + display: none; +} + +.blocklyDisabled>.blocklyPath { + fill-opacity: .5; + stroke-opacity: .5; +} + +.blocklyDisabled>.blocklyPathLight, +.blocklyDisabled>.blocklyPathDark { + display: none; +} + +.blocklyInsertionMarker>.blocklyPath, +.blocklyInsertionMarker>.blocklyPathLight, +.blocklyInsertionMarker>.blocklyPathDark { + fill-opacity: .2; + stroke: none; +} + +.blocklyNonEditableText>text { + pointer-events: none; +} + +.blocklyFlyout { + position: absolute; + z-index: 20; +} + +.blocklyText text { + cursor: default; +} + +.blocklyHidden { + display: none; +} + +.blocklyFieldDropdown:not(.blocklyHidden) { + display: block; +} + +.blocklyIconGroup { + cursor: default; +} + +.blocklyIconGroup:not(:hover), +.blocklyIconGroupReadonly { + opacity: .6; +} + +.blocklyIconShape { + fill: #00f; + stroke: #fff; + stroke-width: 1px; +} + +.blocklyIconSymbol { + fill: #fff; +} + +.blocklyMinimalBody { + margin: 0; + padding: 0; + height: 100%; +} + +.blocklyHtmlInput { + border: none; + border-radius: 4px; + height: 100%; + margin: 0; + outline: none; + padding: 0; + width: 100%; + text-align: center; + display: block; + box-sizing: border-box; +} + +/* Remove the increase and decrease arrows on the field number editor */ +input.blocklyHtmlInput[type=number]::-webkit-inner-spin-button, +input.blocklyHtmlInput[type=number]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} + +input[type=number] { + -moz-appearance: textfield; +} + +.blocklyMainBackground { + stroke-width: 1; + stroke: #c6c6c6; /* Equates to #ddd due to border being off-pixel. */ +} + +.blocklyMutatorBackground { + fill: #fff; + stroke: #ddd; + stroke-width: 1; +} + +.blocklyFlyoutBackground { + fill: #ddd; + fill-opacity: .8; +} + +.blocklyMainWorkspaceScrollbar { + z-index: 20; +} + +.blocklyFlyoutScrollbar { + z-index: 30; +} + +.blocklyScrollbarHorizontal, +.blocklyScrollbarVertical { + position: absolute; + outline: none; +} + +.blocklyScrollbarBackground { + opacity: 0; + pointer-events: none; +} + +.blocklyScrollbarHandle { + fill: #ccc; +} + +.blocklyScrollbarBackground:hover+.blocklyScrollbarHandle, +.blocklyScrollbarHandle:hover { + fill: #bbb; +} + +/* Darken flyout scrollbars due to being on a grey background. */ +/* By contrast, workspace scrollbars are on a white background. */ +.blocklyFlyout .blocklyScrollbarHandle { + fill: #bbb; +} + +.blocklyFlyout .blocklyScrollbarBackground:hover+.blocklyScrollbarHandle, +.blocklyFlyout .blocklyScrollbarHandle:hover { + fill: #aaa; +} + +.blocklyInvalidInput { + background: #faa; +} + +.blocklyVerticalMarker { + stroke-width: 3px; + fill: rgba(255,255,255,.5); + pointer-events: none; +} + +.blocklyComputeCanvas { + position: absolute; + width: 0; + height: 0; +} + +.blocklyNoPointerEvents { + pointer-events: none; +} + +.blocklyContextMenu { + border-radius: 4px; + max-height: 100%; +} + +.blocklyDropdownMenu { + border-radius: 2px; + padding: 0 !important; +} + +.blocklyDropdownMenu .blocklyMenuItem { + /* 28px on the left for icon or checkbox. */ + padding-left: 28px; +} + +/* BiDi override for the resting state. */ +.blocklyDropdownMenu .blocklyMenuItemRtl { + /* Flip left/right padding for BiDi. */ + padding-left: 5px; + padding-right: 28px; +} + +.blocklyWidgetDiv .blocklyMenu { + background: #fff; + border: 1px solid transparent; + box-shadow: 0 0 3px 1px rgba(0,0,0,.3); + font: normal 13px Arial, sans-serif; + margin: 0; + outline: none; + padding: 4px 0; + position: absolute; + overflow-y: auto; + overflow-x: hidden; + max-height: 100%; + z-index: 20000; /* Arbitrary, but some apps depend on it... */ +} + +.blocklyWidgetDiv .blocklyMenu.blocklyFocused { + box-shadow: 0 0 6px 1px rgba(0,0,0,.3); +} + +.blocklyDropDownDiv .blocklyMenu { + background: inherit; /* Compatibility with gapi, reset from goog-menu */ + border: inherit; /* Compatibility with gapi, reset from goog-menu */ + font: normal 13px "Helvetica Neue", Helvetica, sans-serif; + outline: none; + position: relative; /* Compatibility with gapi, reset from goog-menu */ + z-index: 20000; /* Arbitrary, but some apps depend on it... */ +} + +/* State: resting. */ +.blocklyMenuItem { + border: none; + color: #000; + cursor: pointer; + list-style: none; + margin: 0; + /* 7em on the right for shortcut. */ + min-width: 7em; + padding: 6px 15px; + white-space: nowrap; +} + +/* State: disabled. */ +.blocklyMenuItemDisabled { + color: #ccc; + cursor: inherit; +} + +/* State: hover. */ +.blocklyMenuItemHighlight { + background-color: rgba(0,0,0,.1); +} + +/* State: selected/checked. */ +.blocklyMenuItemCheckbox { + height: 16px; + position: absolute; + width: 16px; +} + +.blocklyMenuItemSelected .blocklyMenuItemCheckbox { + background: url(<<>>/sprites.png) no-repeat -48px -16px; + float: left; + margin-left: -24px; + position: static; /* Scroll with the menu. */ +} + +.blocklyMenuItemRtl .blocklyMenuItemCheckbox { + float: right; + margin-right: -24px; +} + +.blocklyBlockDragSurface, .blocklyAnimationLayer { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: visible !important; + z-index: 80; + pointer-events: none; +} +`,qd={};qd.inject=Lc,qd.register=Ct;var G=class{constructor(e,t){this.x=e,this.y=t}clone(){return new G(this.x,this.y)}scale(e){return this.x*=e,this.y*=e,this}translate(e,t){return this.x+=e,this.y+=t,this}static equals(e,t){return e===t?!0:e&&t?e.x===t.x&&e.y===t.y:!1}static distance(e,t){const o=e.x-t.x;return e=e.y-t.y,Math.sqrt(o*o+e*e)}static magnitude(e){return Math.sqrt(e.x*e.x+e.y*e.y)}static difference(e,t){return new G(e.x-t.x,e.y-t.y)}static sum(e,t){return new G(e.x+t.x,e.y+t.y)}},Un="http://www.w3.org/2000/svg",As="http://www.w3.org/1999/xhtml",Kt="http://www.w3.org/1999/xlink",qs;(function(e){e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE"})(qs||(qs={}));var ms=null,Zd=0,Ha=null,kt={HTML_NS:As};kt.NodeType=qs,kt.SVG_NS=Un,kt.XLINK_NS=Kt,kt.addClass=$e,kt.createSvgElement=L,kt.getFastTextWidth=$n,kt.getFastTextWidthWithSizeString=Kr,kt.getTextWidth=Bc,kt.hasClass=om,kt.insertAfter=Do,kt.measureFontMetrics=Yr,kt.removeClass=st,kt.removeClasses=Gr,kt.removeNode=Ve,kt.setCssTransform=Vr,kt.startTextWidthCache=Ao,kt.stopTextWidthCache=Ro;var D=class{constructor(e){this.tagName=e}toString(){return this.tagName}};D.ANIMATE=new D("animate"),D.CIRCLE=new D("circle"),D.CLIPPATH=new D("clipPath"),D.DEFS=new D("defs"),D.FECOMPOSITE=new D("feComposite"),D.FECOMPONENTTRANSFER=new D("feComponentTransfer"),D.FEFLOOD=new D("feFlood"),D.FEFUNCA=new D("feFuncA"),D.FEGAUSSIANBLUR=new D("feGaussianBlur"),D.FEPOINTLIGHT=new D("fePointLight"),D.FESPECULARLIGHTING=new D("feSpecularLighting"),D.FILTER=new D("filter"),D.FOREIGNOBJECT=new D("foreignObject"),D.G=new D("g"),D.IMAGE=new D("image"),D.LINE=new D("line"),D.PATH=new D("path"),D.PATTERN=new D("pattern"),D.POLYGON=new D("polygon"),D.RECT=new D("rect"),D.SVG=new D("svg"),D.TEXT=new D("text"),D.TSPAN=new D("tspan");var Je=class{constructor(e,t,o,n){this.top=e,this.bottom=t,this.left=o,this.right=n}clone(){return new Je(this.top,this.bottom,this.left,this.right)}getHeight(){return this.bottom-this.top}getWidth(){return this.right-this.left}contains(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom}intersects(e){return this.left<=e.right&&this.right>=e.left&&this.bottom>=e.top&&this.top<=e.bottom}static equals(e,t){return e===t?!0:e&&t?e.top===t.top&&e.bottom===t.bottom&&e.left===t.left&&e.right===t.right:!1}static createFromPoint(e,t,o){const n=e.x;return e=e.y,new Je(e,e+o,n,n+t)}},Ne=class{constructor(e,t){this.width=e,this.height=t}static equals(e,t){return e===t?!0:e&&t?e.width===t.width&&e.height===t.height:!1}static max(e,t){return new Ne(Math.max(e.width,t.width),Math.max(e.height,t.height))}static min(e,t){return new Ne(Math.min(e.width,t.width),Math.min(e.height,t.height))}},Y$={getSizeInternal:im},fo={TEST_ONLY:Y$};fo.getBorderBox=jc,fo.getComputedStyle=ks,fo.getContainerOffsetToScrollInto=zc,fo.getPageOffset=co,fo.getSize=bn,fo.getViewportPageOffset=Fc,fo.scrollIntoContainerView=Jr;var J$=/translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/,X$=/transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/,PC={XY_REGEX:J$,XY_STYLE_REGEX:X$},Ho={TEST_ONLY:PC};Ho.getDocumentScroll=Hc,Ho.getInjectionDivXY=Xr,Ho.getRelativeXY=vn,Ho.getViewportBBox=Uc,Ho.screenToWsCoordinates=nm,Ho.wsToScreenCoordinates=rm;var pt=class{constructor(e,t,o,n,c){this.workspace=e,this.horizontal=t,this.oldHostMetrics=null,this.ratio=1,this.origin=new G(0,0),this.startDragHandle=this.handlePosition=this.handleLength=this.scrollbarLength=this.startDragMouse=0,this.containerVisible=this.isHandleVisible=!0,this.position=new G(0,0),this.onMouseMoveWrapper_=this.onMouseUpWrapper_=null,this.pair=o||!1,this.margin=c!==void 0?c:pt.DEFAULT_SCROLLBAR_MARGIN,e="blocklyScrollbar"+(this.horizontal?"Horizontal":"Vertical"),n&&(e+=" "+n),this.outerSvg=L(D.SVG,{class:e}),n=L(D.G,{},this.outerSvg),this.svgBackground=L(D.RECT,{class:"blocklyScrollbarBackground"},n),e=Math.floor((pt.scrollbarThickness-5)/2),this.svgHandle=L(D.RECT,{class:"blocklyScrollbarHandle",rx:e,ry:e},n),this.workspace.getThemeManager().subscribe(this.svgHandle,"scrollbarColour","fill"),this.workspace.getThemeManager().subscribe(this.svgHandle,"scrollbarOpacity","fill-opacity"),Do(this.outerSvg,this.workspace.getParentSvg()),this.setInitialThickness(),t?(this.lengthAttribute_="width",this.positionAttribute_="x"):(this.lengthAttribute_="height",this.positionAttribute_="y"),this.onMouseDownBarWrapper_=Q(this.svgBackground,"pointerdown",this,this.onMouseDownBar),this.onMouseDownHandleWrapper_=Q(this.svgHandle,"pointerdown",this,this.onMouseDownHandle)}setInitialThickness(){const e=pt.scrollbarThickness;this.horizontal?(this.svgBackground.setAttribute("height",String(e)),this.outerSvg.setAttribute("height",String(e)),this.svgHandle.setAttribute("height",String(e-5)),this.svgHandle.setAttribute("y","2.5")):(this.svgBackground.setAttribute("width",String(e)),this.outerSvg.setAttribute("width",String(e)),this.svgHandle.setAttribute("width",String(e-5)),this.svgHandle.setAttribute("x","2.5"))}dispose(){this.cleanUp(),ze(this.onMouseDownBarWrapper_),ze(this.onMouseDownHandleWrapper_),Ve(this.outerSvg),this.workspace.getThemeManager().unsubscribe(this.svgHandle)}constrainHandleLength(e){return e=0>=e||isNaN(e)?0:Math.min(e,this.scrollbarLength)}setHandleLength(e){this.handleLength=e,this.svgHandle.setAttribute(this.lengthAttribute_,String(this.handleLength))}constrainHandlePosition(e){return e=0>=e||isNaN(e)?0:Math.min(e,this.scrollbarLength-this.handleLength)}setHandlePosition(e){this.handlePosition=e,this.svgHandle.setAttribute(this.positionAttribute_,String(this.handlePosition))}setScrollbarLength(e){this.scrollbarLength=e,this.outerSvg.setAttribute(this.lengthAttribute_,String(this.scrollbarLength)),this.svgBackground.setAttribute(this.lengthAttribute_,String(this.scrollbarLength))}setPosition(e,t){this.position.x=e,this.position.y=t,Vr(this.outerSvg,"translate("+(this.position.x+this.origin.x)+"px,"+(this.position.y+this.origin.y)+"px)")}resize(e){!e&&(e=this.workspace.getMetrics(),!e)||this.oldHostMetrics&&pt.metricsAreEquivalent(e,this.oldHostMetrics)||(this.horizontal?this.resizeHorizontal(e):this.resizeVertical(e),this.oldHostMetrics=e,this.updateMetrics())}requiresViewResize(e){return this.oldHostMetrics?this.oldHostMetrics.viewWidth!==e.viewWidth||this.oldHostMetrics.viewHeight!==e.viewHeight||this.oldHostMetrics.absoluteLeft!==e.absoluteLeft||this.oldHostMetrics.absoluteTop!==e.absoluteTop:!0}resizeHorizontal(e){this.requiresViewResize(e)?this.resizeViewHorizontal(e):this.resizeContentHorizontal(e)}resizeViewHorizontal(e){var t=e.viewWidth-2*this.margin;this.pair&&(t-=pt.scrollbarThickness),this.setScrollbarLength(Math.max(0,t)),t=e.absoluteLeft+this.margin,this.pair&&this.workspace.RTL&&(t+=pt.scrollbarThickness),this.setPosition(t,e.absoluteTop+e.viewHeight-pt.scrollbarThickness-this.margin),this.resizeContentHorizontal(e)}resizeContentHorizontal(e){if(e.viewWidth>=e.scrollWidth)this.setHandleLength(this.scrollbarLength),this.setHandlePosition(0),this.pair||this.setVisible(!1);else{this.pair||this.setVisible(!0);var t=this.scrollbarLength*e.viewWidth/e.scrollWidth;t=this.constrainHandleLength(t),this.setHandleLength(t),t=e.scrollWidth-e.viewWidth;var o=this.scrollbarLength-this.handleLength;e=(e.viewLeft-e.scrollLeft)/t*o,e=this.constrainHandlePosition(e),this.setHandlePosition(e),this.ratio=o/t}}resizeVertical(e){this.requiresViewResize(e)?this.resizeViewVertical(e):this.resizeContentVertical(e)}resizeViewVertical(e){let t=e.viewHeight-2*this.margin;this.pair&&(t-=pt.scrollbarThickness),this.setScrollbarLength(Math.max(0,t)),this.setPosition(this.workspace.RTL?e.absoluteLeft+this.margin:e.absoluteLeft+e.viewWidth-pt.scrollbarThickness-this.margin,e.absoluteTop+this.margin),this.resizeContentVertical(e)}resizeContentVertical(e){if(e.viewHeight>=e.scrollHeight)this.setHandleLength(this.scrollbarLength),this.setHandlePosition(0),this.pair||this.setVisible(!1);else{this.pair||this.setVisible(!0);var t=this.scrollbarLength*e.viewHeight/e.scrollHeight;t=this.constrainHandleLength(t),this.setHandleLength(t),t=e.scrollHeight-e.viewHeight;var o=this.scrollbarLength-this.handleLength;e=(e.viewTop-e.scrollTop)/t*o,e=this.constrainHandlePosition(e),this.setHandlePosition(e),this.ratio=o/t}}isVisible(){return this.isHandleVisible}setContainerVisible(e){const t=e!==this.containerVisible;this.containerVisible=e,t&&this.updateDisplay_()}setVisible(e){if(this.pair)throw Error("Unable to toggle visibility of paired scrollbars.");this.setVisibleInternal(e)}setVisibleInternal(e){const t=e!==this.isVisible();this.isHandleVisible=e,t&&this.updateDisplay_()}updateDisplay_(){this.containerVisible&&this.isVisible()?this.outerSvg.setAttribute("display","block"):this.outerSvg.setAttribute("display","none")}onMouseDownBar(e){if(this.workspace.markFocused(),Ee(),this.cleanUp(),ye(e))e.stopPropagation();else{var t=tt(e,this.workspace.getParentSvg(),this.workspace.getInverseScreenCTM());t=this.horizontal?t.x:t.y;var o=Xr(this.svgHandle);o=this.horizontal?o.x:o.y;var n=this.handlePosition,c=.95*this.handleLength;t<=o?n-=c:t>=o+this.handleLength&&(n+=c),this.setHandlePosition(this.constrainHandlePosition(n)),this.updateMetrics(),e.stopPropagation(),e.preventDefault()}}onMouseDownHandle(e){this.workspace.markFocused(),this.cleanUp(),ye(e)?e.stopPropagation():(this.startDragHandle=this.handlePosition,this.startDragMouse=this.horizontal?e.clientX:e.clientY,this.onMouseUpWrapper_=Q(document,"pointerup",this,this.onMouseUpHandle),this.onMouseMoveWrapper_=Q(document,"pointermove",this,this.onMouseMoveHandle),e.stopPropagation(),e.preventDefault())}onMouseMoveHandle(e){this.setHandlePosition(this.constrainHandlePosition(this.startDragHandle+((this.horizontal?e.clientX:e.clientY)-this.startDragMouse))),this.updateMetrics()}onMouseUpHandle(){Ee(),this.cleanUp()}cleanUp(){this.workspace.hideChaff(!0),this.onMouseUpWrapper_&&(ze(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null),this.onMouseMoveWrapper_&&(ze(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null)}getRatio_(){let e=this.handlePosition/(this.scrollbarLength-this.handleLength);return isNaN(e)&&(e=0),e}updateMetrics(){const e=this.getRatio_();this.horizontal?this.workspace.setMetrics({x:e}):this.workspace.setMetrics({y:e})}set(e,t){this.setHandlePosition(this.constrainHandlePosition(e*this.ratio)),(t||t===void 0)&&this.updateMetrics()}setOrigin(e,t){this.origin=new G(e,t)}static metricsAreEquivalent(e,t){return e.viewWidth===t.viewWidth&&e.viewHeight===t.viewHeight&&e.viewLeft===t.viewLeft&&e.viewTop===t.viewTop&&e.absoluteTop===t.absoluteTop&&e.absoluteLeft===t.absoluteLeft&&e.scrollWidth===t.scrollWidth&&e.scrollHeight===t.scrollHeight&&e.scrollLeft===t.scrollLeft&&e.scrollTop===t.scrollTop}};pt.scrollbarThickness=M$?25:15,pt.DEFAULT_SCROLLBAR_MARGIN=.5;var Wa={parseFromString:function(){throw Error("DOMParser was not found in the global scope and was not properly injected using injectDependencies")}},Qd={serializeToString:function(){throw Error("XMLSerializer was not foundin the global scope and was not properly injected using injectDependencies")}},{document:Ga,DOMParser:Hn,XMLSerializer:Wn}=globalThis;Hn&&(Wa=new Hn),Wn&&(Qd=new Wn);var q$="https://developers.google.com/blockly/xml",FC=/[\x00-\x09\x0B\x0C\x0E-\x1F]/g,xi={NAME_SPACE:q$};xi.createElement=i.createElement$$module$build$src$core$utils$xml,xi.createTextNode=i.createTextNode$$module$build$src$core$utils$xml,xi.domToText=gi,xi.injectDependencies=am,xi.textToDom=i.textToDom$$module$build$src$core$utils$xml;var eh="categoryToolbox",Z$="flyoutToolbox",xe;(function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT"})(xe||(xe={}));var Q$={hasCategoriesInternal:um},$o={};$o.Position=xe,$o.TEST_ONLY=Q$,$o.convertFlyoutDefToJsonArray=yn,$o.convertToolboxDefToJson=qr,$o.hasCategories=Zr,$o.isCategoryCollapsible=Qr,$o.parseToolboxTree=Gc;var Zs;(function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM"})(Zs||(Zs={}));var Di;(function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"})(Di||(Di={}));var bo;(function(e){e[e.UP=0]="UP",e[e.DOWN=1]="DOWN"})(bo||(bo={}));var Wo={};Wo.bumpDirection=bo,Wo.bumpPositionRect=oa,Wo.getCornerOppositeToolbox=sa,Wo.getStartPositionRect=ta,Wo.horizontalPosition=Di,Wo.verticalPosition=Zs;var Mt={width:96,height:124,url:"sprites.png"},eb=class{constructor(e){this.workspace=e,this.id="zoomControls",this.boundEvents=[],this.zoomResetGroup=this.zoomOutGroup=this.zoomInGroup=null,this.HEIGHT=this.WIDTH=32,this.SMALL_SPACING=2,this.LARGE_SPACING=11,this.MARGIN_HORIZONTAL=this.MARGIN_VERTICAL=20,this.svgGroup=null,this.top=this.left=0,this.initialized=!1}createDom(){this.svgGroup=L(D.G,{});const e=String(Math.random()).substring(2);return this.createZoomOutSvg(e),this.createZoomInSvg(e),this.workspace.isMovable()&&this.createZoomResetSvg(e),this.svgGroup}init(){this.workspace.getComponentManager().addComponent({component:this,weight:at.ComponentWeight.ZOOM_CONTROLS_WEIGHT,capabilities:[at.Capability.POSITIONABLE]}),this.initialized=!0}dispose(){this.workspace.getComponentManager().removeComponent("zoomControls"),this.svgGroup&&Ve(this.svgGroup);for(const e of this.boundEvents)ze(e);this.boundEvents.length=0}getBoundingRectangle(){let e=this.SMALL_SPACING+2*this.HEIGHT;return this.zoomResetGroup&&(e+=this.LARGE_SPACING+this.HEIGHT),new Je(this.top,this.top+e,this.left,this.left+this.WIDTH)}position(e,t){if(this.initialized){var o=sa(this.workspace,e),n=this.SMALL_SPACING+2*this.HEIGHT;if(this.zoomResetGroup&&(n+=this.LARGE_SPACING+this.HEIGHT),e=ta(o,new Ne(this.WIDTH,n),this.MARGIN_HORIZONTAL,this.MARGIN_VERTICAL,e,this.workspace),o=o.vertical,t=oa(e,this.MARGIN_VERTICAL,o===Zs.TOP?bo.DOWN:bo.UP,t),o===Zs.TOP){var c=this.SMALL_SPACING+this.HEIGHT,h;(h=this.zoomInGroup)==null||h.setAttribute("transform","translate(0, "+c+")"),this.zoomResetGroup&&this.zoomResetGroup.setAttribute("transform","translate(0, "+(c+this.LARGE_SPACING+this.HEIGHT)+")")}else{h=this.zoomResetGroup?this.LARGE_SPACING+this.HEIGHT:0;let T;(T=this.zoomInGroup)==null||T.setAttribute("transform","translate(0, "+h+")"),h=h+this.SMALL_SPACING+this.HEIGHT,(c=this.zoomOutGroup)==null||c.setAttribute("transform","translate(0, "+h+")")}this.top=t.top,this.left=t.left;var $;($=this.svgGroup)==null||$.setAttribute("transform","translate("+this.left+","+this.top+")")}}createZoomOutSvg(e){this.zoomOutGroup=L(D.G,{class:"blocklyZoom blocklyZoomOut"},this.svgGroup);const t=L(D.CLIPPATH,{id:"blocklyZoomoutClipPath"+e},this.zoomOutGroup);L(D.RECT,{width:32,height:32},t),L(D.IMAGE,{width:Mt.width,height:Mt.height,x:-64,y:-92,"clip-path":"url(#blocklyZoomoutClipPath"+e+")"},this.zoomOutGroup).setAttributeNS(Kt,"xlink:href",this.workspace.options.pathToMedia+Mt.url),this.boundEvents.push(Q(this.zoomOutGroup,"pointerdown",null,this.zoom.bind(this,-1)))}createZoomInSvg(e){this.zoomInGroup=L(D.G,{class:"blocklyZoom blocklyZoomIn"},this.svgGroup);const t=L(D.CLIPPATH,{id:"blocklyZoominClipPath"+e},this.zoomInGroup);L(D.RECT,{width:32,height:32},t),L(D.IMAGE,{width:Mt.width,height:Mt.height,x:-32,y:-92,"clip-path":"url(#blocklyZoominClipPath"+e+")"},this.zoomInGroup).setAttributeNS(Kt,"xlink:href",this.workspace.options.pathToMedia+Mt.url),this.boundEvents.push(Q(this.zoomInGroup,"pointerdown",null,this.zoom.bind(this,1)))}zoom(e,t){this.workspace.markFocused(),this.workspace.zoomCenter(e),this.fireZoomEvent(),Ee(),t.stopPropagation(),t.preventDefault()}createZoomResetSvg(e){this.zoomResetGroup=L(D.G,{class:"blocklyZoom blocklyZoomReset"},this.svgGroup);const t=L(D.CLIPPATH,{id:"blocklyZoomresetClipPath"+e},this.zoomResetGroup);L(D.RECT,{width:32,height:32},t),L(D.IMAGE,{width:Mt.width,height:Mt.height,y:-92,"clip-path":"url(#blocklyZoomresetClipPath"+e+")"},this.zoomResetGroup).setAttributeNS(Kt,"xlink:href",this.workspace.options.pathToMedia+Mt.url),this.boundEvents.push(Q(this.zoomResetGroup,"pointerdown",null,this.resetZoom.bind(this)))}resetZoom(e){this.workspace.markFocused();const t=Math.log(this.workspace.options.zoomOptions.startScale/this.workspace.scale)/Math.log(this.workspace.options.zoomOptions.scaleSpeed);this.workspace.beginCanvasTransition(),this.workspace.zoomCenter(t),this.workspace.scrollCenter(),setTimeout(this.workspace.endCanvasTransition.bind(this.workspace),500),this.fireZoomEvent(),Ee(),e.stopPropagation(),e.preventDefault()}fireZoomEvent(){const e=new(Y(M.CLICK))(null,this.workspace.id,"zoom_controls");K(e)}};Ct(` +.blocklyZoom>image, .blocklyZoom>svg>image { + opacity: .4; +} + +.blocklyZoom>image:hover, .blocklyZoom>svg>image:hover { + opacity: .6; +} + +.blocklyZoom>image:active, .blocklyZoom>svg>image:active { + opacity: .8; +} +`);var tb=100,sb=75,ob=50,ib=25,jC={BLOCKS:ob,PROCEDURES:sb,VARIABLES:tb,WORKSPACE_COMMENTS:ib},th={};th.register=_n,th.unregister=hm;var nb=class{constructor(){this.priority=ib}save(e){const t=[];for(const o of e.getTopComments())(e=mi(o,{addCoordinates:!0,saveIds:!0}))&&t.push(e);return t.length?t:null}load(e,t){for(const o of e)wn(o,t,{recordUndo:ge()})}clear(e){for(const t of e.getTopComments())t.dispose()}};_n("workspaceComments",new nb);var Va={};Va.WorkspaceCommentSerializer=nb,Va.append=wn,Va.save=mi;var sh={};sh.register=ia,sh.unregister=pm;var Ka=class{paste(e,t,o){e=e.commentState,o&&(e.x=o.x,e.y=o.y),i.disable$$module$build$src$core$events$utils();let n;try{n=wn(e,t),gm(n)}finally{i.enable$$module$build$src$core$events$utils()}return n?(J()&&K(new(Y(M.COMMENT_CREATE))(n)),i.setSelected$$module$build$src$core$common(n),n):null}};Ka.TYPE="workspace-comment",ia(Ka.TYPE,new Ka);var oh;oh=28,i.config$$module$build$src$core$config={dragRadius:5,flyoutDragRadius:10,snapRadius:oh,connectingSnapRadius:oh,currentConnectionPreference:8,bumpDelay:250},i.config$$module$build$src$core$config;var zC="aria-",UC="role",fs;(function(e){e.GRID="grid",e.GRIDCELL="gridcell",e.GROUP="group",e.LISTBOX="listbox",e.MENU="menu",e.MENUITEM="menuitem",e.MENUITEMCHECKBOX="menuitemcheckbox",e.OPTION="option",e.PRESENTATION="presentation",e.ROW="row",e.TREE="tree",e.TREEITEM="treeitem"})(fs||(fs={}));var vt;(function(e){e.ACTIVEDESCENDANT="activedescendant",e.COLCOUNT="colcount",e.DISABLED="disabled",e.EXPANDED="expanded",e.INVALID="invalid",e.LABEL="label",e.LABELLEDBY="labelledby",e.LEVEL="level",e.ORIENTATION="orientation",e.POSINSET="posinset",e.ROWCOUNT="rowcount",e.SELECTED="selected",e.SETSIZE="setsize",e.VALUEMAX="valuemax",e.VALUEMIN="valuemin"})(vt||(vt={}));var Gn={};Gn.Role=fs,Gn.State=vt,Gn.setRole=uo,Gn.setState=Tt;var ih=class{constructor(){this.menuItems=[],this.roleName=this.element=this.onKeyDownHandler=this.pointerLeaveHandler=this.pointerEnterHandler=this.clickHandler=this.pointerMoveHandler=this.highlightedItem=this.openingCoords=null}addChild(e){this.menuItems.push(e)}render(e){const t=document.createElement("div");t.className="blocklyMenu goog-menu blocklyNonSelectable",t.tabIndex=0,this.roleName&&uo(t,this.roleName),this.element=t;for(let o=0,n;n=this.menuItems[o];o++)t.appendChild(n.createDom());return this.pointerMoveHandler=Q(t,"pointermove",this,this.handlePointerMove,!0),this.clickHandler=Q(t,"pointerup",this,this.handleClick,!0),this.pointerEnterHandler=Q(t,"pointerenter",this,this.handlePointerEnter,!0),this.pointerLeaveHandler=Q(t,"pointerleave",this,this.handlePointerLeave,!0),this.onKeyDownHandler=Q(t,"keydown",this,this.handleKeyEvent),e.appendChild(t),t}getElement(){return this.element}focus(){const e=this.getElement();e&&(e.focus({preventScroll:!0}),$e(e,"blocklyFocused"))}blur(){const e=this.getElement();e&&(e.blur(),st(e,"blocklyFocused"))}setRole(e){this.roleName=e}dispose(){this.pointerMoveHandler&&(ze(this.pointerMoveHandler),this.pointerMoveHandler=null),this.clickHandler&&(ze(this.clickHandler),this.clickHandler=null),this.pointerEnterHandler&&(ze(this.pointerEnterHandler),this.pointerEnterHandler=null),this.pointerLeaveHandler&&(ze(this.pointerLeaveHandler),this.pointerLeaveHandler=null),this.onKeyDownHandler&&(ze(this.onKeyDownHandler),this.onKeyDownHandler=null);for(let e=0,t;t=this.menuItems[e];e++)t.dispose();this.element=null}getMenuItem(e){const t=this.getElement();for(;e&&e!==t;){if(e.classList.contains("blocklyMenuItem")){for(let o=0,n;n=this.menuItems[o];o++)if(n.getElement()===e)return n}e=e.parentElement}return null}setHighlighted(e){var t=this.highlightedItem;if(t&&(t.setHighlighted(!1),this.highlightedItem=null),e){e.setHighlighted(!0),this.highlightedItem=e,t=this.getElement();const o=t==null?void 0:t.parentElement,n=e.getElement();o&&n&&(Jr(n,o),Tt(t,vt.ACTIVEDESCENDANT,e.getId()))}}highlightNext(){const e=this.highlightedItem?this.menuItems.indexOf(this.highlightedItem):-1;this.highlightHelper(e,1)}highlightPrevious(){const e=this.highlightedItem?this.menuItems.indexOf(this.highlightedItem):-1;this.highlightHelper(0>e?this.menuItems.length:e,-1)}highlightFirst(){this.highlightHelper(-1,1)}highlightLast(){this.highlightHelper(this.menuItems.length,-1)}highlightHelper(e,t){e+=t;let o;for(;o=this.menuItems[e];){if(o.isEnabled()){this.setHighlighted(o);break}e+=t}}handlePointerMove(e){Math.max(Math.abs(e.movementX),Math.abs(e.movementY))!==0&&(e=this.getMenuItem(e.target))&&(e.isEnabled()?this.highlightedItem!==e&&this.setHighlighted(e):this.setHighlighted(null))}handleClick(e){const t=this.openingCoords;if(this.openingCoords=null,t&&typeof e.clientX=="number"){const o=new G(e.clientX,e.clientY);if(1>G.distance(t,o))return}(e=this.getMenuItem(e.target))&&e.performAction()}handlePointerEnter(e){this.focus()}handlePointerLeave(e){this.getElement()&&this.setHighlighted(null)}handleKeyEvent(e){if(this.menuItems.length&&!(e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)){var t=this.highlightedItem;switch(e.key){case"Enter":case" ":t&&t.performAction();break;case"ArrowUp":this.highlightPrevious();break;case"ArrowDown":this.highlightNext();break;case"PageUp":case"Home":this.highlightFirst();break;case"PageDown":case"End":this.highlightLast();break;default:return}e.preventDefault(),e.stopPropagation()}}getSize(){const e=this.getElement(),t=bn(e);return t.height=e.scrollHeight,t}},nh=class{constructor(e,t){this.content=e,this.opt_value=t,this.enabled=!0,this.element=null,this.rightToLeft=!1,this.roleName=null,this.highlight=this.checked=this.checkable=!1,this.actionHandler=null}createDom(){const e=document.createElement("div");e.id=S(),this.element=e,e.className="blocklyMenuItem goog-menuitem "+(this.enabled?"":"blocklyMenuItemDisabled goog-menuitem-disabled ")+(this.checked?"blocklyMenuItemSelected goog-option-selected ":"")+(this.highlight?"blocklyMenuItemHighlight goog-menuitem-highlight ":"")+(this.rightToLeft?"blocklyMenuItemRtl goog-menuitem-rtl ":"");const t=document.createElement("div");if(t.className="blocklyMenuItemContent goog-menuitem-content",this.checkable){var o=document.createElement("div");o.className="blocklyMenuItemCheckbox goog-menuitem-checkbox",t.appendChild(o)}return o=this.content,typeof this.content=="string"&&(o=document.createTextNode(this.content)),t.appendChild(o),e.appendChild(t),this.roleName&&uo(e,this.roleName),Tt(e,vt.SELECTED,this.checkable&&this.checked||!1),Tt(e,vt.DISABLED,!this.enabled),e}dispose(){this.element=null}getElement(){return this.element}getId(){return this.element.id}getValue(){let e;return(e=this.opt_value)!=null?e:null}setRightToLeft(e){this.rightToLeft=e}setRole(e){this.roleName=e}setCheckable(e){this.checkable=e}setChecked(e){this.checked=e}setHighlighted(e){this.highlight=e;const t=this.getElement();t&&this.isEnabled()&&(e?($e(t,"blocklyMenuItemHighlight"),$e(t,"goog-menuitem-highlight")):(st(t,"blocklyMenuItemHighlight"),st(t,"goog-menuitem-highlight")))}isEnabled(){return this.enabled}setEnabled(e){this.enabled=e}performAction(){this.isEnabled()&&this.actionHandler&&this.actionHandler(this)}onAction(e,t){this.actionHandler=e.bind(t)}},Vn="_TEMP_COLLAPSED_INPUT",Ya="_TEMP_COLLAPSED_FIELD",Nt="MANUALLY_DISABLED",HC={COLLAPSED_FIELD_NAME:Ya,COLLAPSED_INPUT_NAME:Vn,MANUALLY_DISABLED:Nt};(function(e){e[e.VALUE=1]="VALUE",e[e.STATEMENT=3]="STATEMENT",e[e.DUMMY=5]="DUMMY",e[e.CUSTOM=6]="CUSTOM",e[e.END_ROW=7]="END_ROW"})(i.inputTypes$$module$build$src$core$inputs$input_types||(i.inputTypes$$module$build$src$core$inputs$input_types={})),i.inputTypes$$module$build$src$core$inputs$input_types;var Ja=new Set,rh=new WeakSet,ah=new WeakMap,Ai=null,lh=null,rb=0,Xa={};Xa.finishQueuedRenders=ps,Xa.queueRender=Vc,Xa.triggerQueuedRenders=Hs;var ab=function(e,t){window.alert(e),t&&t()},lb=function(e,t){t(window.confirm(e))},cb=function(e,t,o){o(window.prompt(e,t))},ub={confirmInternal:vm},Go={TEST_ONLY:ub};Go.alert=Tn,Go.confirm=ra,Go.prompt=aa,Go.setAlert=bm,Go.setConfirm=ym,Go.setPrompt=_m;var ch,db;i.Msg$$module$build$src$core$msg=Object.create(null),ch=function(e){Object.keys(e).forEach(function(t){i.Msg$$module$build$src$core$msg[t]=e[t]})},db={Msg:i.Msg$$module$build$src$core$msg,setLocale:ch};var Kn=class extends Ii{constructor(e){super(),this.isBlank=typeof e>"u",e&&(this.varId=e.getId(),this.workspaceId=e.workspace.id)}toJson(){const e=super.toJson();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");return e.varId=this.varId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Kn),t.varId=e.varId,t}},uh=class extends Kn{constructor(e){super(e),this.type=M.VAR_CREATE,e&&(this.varType=e.type,this.varName=e.name)}toJson(){const e=super.toJson();if(this.varType===void 0)throw Error("The var type is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");return e.varType=this.varType,e.varName=this.varName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new uh),t.varType=e.varType,t.varName=e.varName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");e?t.createVariable(this.varName,this.varType,this.varId):t.deleteVariableById(this.varId)}};r(z.EVENT,M.VAR_CREATE,uh);var Yn=class{constructor(e,t,o,n){this.workspace=e,this.name=t,this.type=o||"",this.id=n||k()}getId(){return this.id}static compareByName(e,t){return e.name.localeCompare(t.name,void 0,{sensitivity:"base"})}},dh="VARIABLE",hh="ijkmnopqrstuvwxyzabcdefgh",hb={generateUniqueNameInternal:Cm},Et={CATEGORY_NAME:dh,TEST_ONLY:hb,VAR_LETTER_OPTIONS:hh};Et.allDeveloperVariables=i.allDeveloperVariables$$module$build$src$core$variables,Et.allUsedVarModels=i.allUsedVarModels$$module$build$src$core$variables,Et.createVariableButtonHandler=$i,Et.flyoutCategory=la,Et.flyoutCategoryBlocks=qc,Et.generateUniqueName=Zc,Et.generateUniqueNameFromOptions=ca,Et.generateVariableFieldDom=Oo,Et.getAddedVariables=kn,Et.getOrCreateVariablePackage=i.getOrCreateVariablePackage$$module$build$src$core$variables,Et.getVariable=i.getVariable$$module$build$src$core$variables,Et.nameUsedWithAnyType=Qc,Et.nameUsedWithConflictingParam=eu,Et.promptName=ua,Et.renameVariable=i.renameVariable$$module$build$src$core$variables;var Ri=class extends Error{},pb=class extends Ri{constructor(e){super("Expected to find a 'type' property, defining the block type"),this.state=e}},Jn=class extends Ri{constructor(e,t,o){super(`The block ${t.toDevString()} is missing a(n) ${e} +connection`),this.block=t,this.state=o}},gb=class extends Ri{constructor(e,t,o,n){super(`The block ${o.toDevString()} could not connect its +${t} to its parent, because: ${e}`),this.childBlock=o,this.childState=n}},mb=class extends Ri{constructor(e){super(`Encountered a real block which is defined as a child of a shadow +block. It is an invariant of Blockly that shadow blocks only have shadow +children`),this.state=e}},fb=class extends Ri{constructor(e,t,o){super(`Cannot add an icon of type '${e}' to the block ${t.toDevString()}, because there is no icon registered with type '${e}'. Make sure that all of your icons have been registered.`),this.block=t,this.state=o}},Vo={};Vo.BadConnectionCheck=gb,Vo.DeserializationError=Ri,Vo.MissingBlockType=pb,Vo.MissingConnection=Jn,Vo.RealChildOfShadow=mb,Vo.UnregisteredIcon=fb;var $b=class{constructor(){this.priority=ob}save(e){const t=[];for(const o of e.getTopBlocks(!1))(e=Vt(o,{addCoordinates:!0,doFullSerialization:!1}))&&t.push(e);return t.length?{languageVersion:0,blocks:t}:null}load(e,t){e=e.blocks;for(const o of e)Ws(o,t,{recordUndo:ge()})}clear(e){for(const t of e.getTopBlocks(!1))t.dispose(!1)}};_n("blocks",new $b);var Xn={};Xn.BlockSerializer=$b,Xn.append=Ws,Xn.appendInternal=bi,Xn.save=Vt;var ft=class{constructor(e){this.name=e}toString(){return this.name}equals(e){return this.name===e.toString()}};ft.MUTATOR=new ft("mutator"),ft.WARNING=new ft("warning"),ft.COMMENT=new ft("comment");var Ko=class extends Ii{constructor(e){super(),this.isBlank=!e,e&&(this.blockId=e.id,this.workspaceId=e.workspace.id)}toJson(){const e=super.toJson();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");return e.blockId=this.blockId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Ko),t.blockId=e.blockId,t}},Yo=class extends Ko{constructor(e,t,o,n,c){super(e),this.type=M.BLOCK_CHANGE,e&&(this.element=t,this.name=o||void 0,this.oldValue=n,this.newValue=c)}toJson(){const e=super.toJson();if(!this.element)throw Error("The changed element is undefined. Either pass an element to the constructor, or call fromJson");return e.element=this.element,e.name=this.name,e.oldValue=this.oldValue,e.newValue=this.newValue,this.disabledReason&&(e.disabledReason=this.disabledReason),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Yo),t.element=e.element,t.name=e.name,t.oldValue=e.oldValue,t.newValue=e.newValue,e.disabledReason!==void 0&&(t.disabledReason=e.disabledReason),t}setDisabledReason(e){if(this.element!=="disabled")throw Error('Cannot set the disabled reason for a BlockChange event if the element is not "disabled".');this.disabledReason=e}isNull(){return this.oldValue===this.newValue}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");if(t=t.getBlockById(this.blockId),!t)throw Error("The associated block is undefined. Either pass a block to the constructor, or call fromJson");const o=t.getIcon(ft.MUTATOR);switch(o&&vi(o)&&o.bubbleIsVisible()&&o.setBubbleVisible(!1),e=e?this.newValue:this.oldValue,this.element){case"field":(t=t.getField(this.name))?t.setValue(e):console.warn("Can't set non-existent field: "+this.name);break;case"comment":t.setCommentText(e||null);break;case"collapsed":t.setCollapsed(!!e);break;case"disabled":var n;t.setDisabledReason(!!e,(n=this.disabledReason)!=null?n:Nt);break;case"inline":t.setInputsInline(!!e);break;case"mutation":n=Yo.getExtraBlockState_(t),t.loadExtraState?t.loadExtraState(JSON.parse(e||"{}")):t.domToMutation&&t.domToMutation(i.textToDom$$module$build$src$core$utils$xml(e||"")),K(new Yo(t,"mutation",null,n,e));break;default:console.warn("Unknown change type: "+this.element)}}static getExtraBlockState_(e){return e.saveExtraState?(e=e.saveExtraState(!0))?JSON.stringify(e):"":e.mutationToDom&&(e=e.mutationToDom())?Es(e):""}};r(z.EVENT,M.BLOCK_CHANGE,Yo);var qa={};qa.clamp=yi,qa.toDegrees=Gm,qa.toRadians=da;var Za=16,bb=1,vb=12,ph=16,Qa=.25,gh=null,Jo=null,Oi="",Mi="",Ue,Ni,Xo,mh=null,vo=null,yb=null,fh={getBoundsInfo:function(){const e=co(mh),t=bn(mh);return{left:e.x,right:e.x+t.width,top:e.y,bottom:e.y+t.height,width:t.width,height:t.height}},getPositionMetrics:function(e,t,o,n){const c=fh.getBoundsInfo(),h=bn(Ue);return t+h.heightc.top?gu(o,n,c,h):t+h.heightdocument.documentElement.clientTop?gu(o,n,c,h):Km(e,c,h)}},Dt={ANIMATION_TIME:Qa,ARROW_HORIZONTAL_PADDING:vb,ARROW_SIZE:Za,BORDER_SIZE:bb,PADDING_Y:ph,TEST_ONLY:fh};Dt.clearContent=ha,Dt.createDom=iu,Dt.getContentDiv=Sn,Dt.getOwner=ru,Dt.getPositionX=En,Dt.hide=ga,Dt.hideIfOwner=pa,Dt.hideWithoutAnimation=Ss,Dt.isVisible=mu,Dt.repositionForWindowResize=$u,Dt.setBoundsElement=nu,Dt.setColour=au,Dt.show=hu,Dt.showPositionedByBlock=Vm,Dt.showPositionedByField=lu;var qn=class{constructor(e){this.workspace=e,this.cursorSvg=this.cursor=null,this.markers=new Map,this.markerSvg=null}registerMarker(e,t){this.markers.has(e)&&this.unregisterMarker(e),t.setDrawer(this.workspace.getRenderer().makeMarkerDrawer(this.workspace,t)),this.setMarkerSvg(t.getDrawer().createDom()),this.markers.set(e,t)}unregisterMarker(e){const t=this.markers.get(e);if(t)t.dispose(),this.markers.delete(e);else throw Error("Marker with ID "+e+" does not exist. Can only unregister markers that exist.")}getCursor(){return this.cursor}getMarker(e){return this.markers.get(e)||null}setCursor(e){this.cursor&&this.cursor.getDrawer()&&this.cursor.getDrawer().dispose(),(this.cursor=e)&&(e=this.workspace.getRenderer().makeMarkerDrawer(this.workspace,this.cursor),this.cursor.setDrawer(e),this.setCursorSvg(this.cursor.getDrawer().createDom()))}setCursorSvg(e){e?(this.workspace.getBlockCanvas().appendChild(e),this.cursorSvg=e):this.cursorSvg=null}setMarkerSvg(e){e?this.workspace.getBlockCanvas()&&(this.cursorSvg?this.workspace.getBlockCanvas().insertBefore(e,this.cursorSvg):this.workspace.getBlockCanvas().appendChild(e)):this.markerSvg=null}updateMarkers(){this.workspace.keyboardAccessibilityMode&&this.cursorSvg&&this.workspace.getCursor().draw()}dispose(){const e=Object.keys(this.markers);for(let t=0,o;o=e[t];t++)this.unregisterMarker(o);this.markers.clear(),this.cursor&&(this.cursor.dispose(),this.cursor=null)}};qn.LOCAL_MARKER="local_marker_1";var Li={};Li.commonWordPrefix=bu,Li.commonWordSuffix=vu,Li.isNumber=i.isNumber$$module$build$src$core$utils$string,Li.shortestStringLength=In,Li.wrap=i.wrap$$module$build$src$core$utils$string;var el=void 0,Zn=!1,Bi=!1,_b=50,wb=0,qo=0,$h=0,bh=0,es=null,Qn=null,vh=0,yh=10,Cb=10,Tb=750,tl=5,$t=null,Yt={HOVER_MS:Tb,LIMIT:_b,MARGINS:tl,OFFSET_X:vh,OFFSET_Y:yh,RADIUS_OK:Cb};Yt.bindMouseEvents=wi,Yt.block=ku,Yt.createDom=wu,Yt.dispose=Tu,Yt.getCustomTooltip=qm,Yt.getDiv=Qm,Yt.getTooltipOfObject=_i,Yt.hide=Gs,Yt.isVisible=Zm,Yt.setCustomTooltip=Xm,Yt.unbindMouseEvents=fa,Yt.unblock=Su;var _h=.45,wh=.65,kb={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},ts={};ts.blend=No,ts.getHsvSaturation=Eu,ts.getHsvValue=Iu,ts.hexToRgb=$a,ts.hsvToHex=ba,ts.hueToHex=xu,ts.names=kb,ts.parse=Mo,ts.rgbToHex=xn,ts.setHsvSaturation=af,ts.setHsvValue=lf;var er={};er.checkMessageReferences=cf,er.parseBlockColour=Ci,er.replaceMessageReferences=dt,er.tokenizeInterpolation=Du;var Ze=class{constructor(e,t,o){this.DEFAULT_VALUE=null,this.name=void 0,this.constants_=this.mouseDownWrapper=this.textContent_=this.textElement_=this.borderRect_=this.fieldGroup_=this.markerSvg=this.cursorSvg=this.tooltip=this.validator_=null,this.disposed=!1,this.maxDisplayLength=50,this.sourceBlock_=null,this.enabled_=this.visible_=this.isDirty_=!0,this.suffixField=this.prefixField=this.clickTarget_=null,this.EDITABLE=!0,this.SERIALIZABLE=!1,this.CURSOR="",this.value_="DEFAULT_VALUE"in new.target.prototype?new.target.prototype.DEFAULT_VALUE:this.DEFAULT_VALUE,this.size_=new Ne(0,0),e!==Ze.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){e.tooltip&&this.setTooltip(dt(e.tooltip))}setSourceBlock(e){if(this.sourceBlock_)throw Error("Field already bound to a block");this.sourceBlock_=e}getConstants(){return!this.constants_&&this.sourceBlock_&&!this.sourceBlock_.isDeadOrDying()&&this.sourceBlock_.workspace.rendered&&(this.constants_=this.sourceBlock_.workspace.getRenderer().getConstants()),this.constants_}getSourceBlock(){return this.sourceBlock_}init(){this.fieldGroup_||(this.fieldGroup_=L(D.G,{}),this.isVisible()||(this.fieldGroup_.style.display="none"),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.initView(),this.updateEditable(),this.setTooltip(this.tooltip),this.bindEvents_(),this.initModel(),this.applyColour())}initView(){this.createBorderRect_(),this.createTextElement_()}initModel(){}isFullBlockField(){return!this.borderRect_}createBorderRect_(){this.borderRect_=L(D.RECT,{rx:this.getConstants().FIELD_BORDER_RECT_RADIUS,ry:this.getConstants().FIELD_BORDER_RECT_RADIUS,x:0,y:0,height:this.size_.height,width:this.size_.width,class:"blocklyFieldRect"},this.fieldGroup_)}createTextElement_(){this.textElement_=L(D.TEXT,{class:"blocklyText"},this.fieldGroup_),this.getConstants().FIELD_TEXT_BASELINE_CENTER&&this.textElement_.setAttribute("dominant-baseline","central"),this.textContent_=document.createTextNode(""),this.textElement_.appendChild(this.textContent_)}bindEvents_(){const e=this.getClickTarget_();if(!e)throw Error("A click target has not been set.");wi(e),this.mouseDownWrapper=Q(e,"pointerdown",this,this.onMouseDown_)}fromXml(e){this.setValue(e.textContent)}toXml(e){return e.textContent=this.getValue(),e}saveState(e){return e=this.saveLegacyState(Ze),e!==null?e:this.getValue()}loadState(e){this.loadLegacyState(Ze,e)||this.setValue(e)}saveLegacyState(e){return e.prototype.saveState===this.saveState&&e.prototype.toXml!==this.toXml?(e=i.createElement$$module$build$src$core$utils$xml("field"),e.setAttribute("name",this.name||""),gi(this.toXml(e)).replace(' xmlns="https://developers.google.com/blockly/xml"',"")):null}loadLegacyState(e,t){return e.prototype.loadState===this.loadState&&e.prototype.fromXml!==this.fromXml?(this.fromXml(i.textToDom$$module$build$src$core$utils$xml(t)),!0):!1}dispose(){pa(this),Bo(this);let e;(e=this.getSourceBlock())!=null&&e.isDeadOrDying()||Ve(this.fieldGroup_),this.disposed=!0}updateEditable(){const e=this.fieldGroup_,t=this.getSourceBlock();this.EDITABLE&&e&&t&&(this.enabled_&&t.isEditable()?($e(e,"blocklyEditableText"),st(e,"blocklyNonEditableText"),e.style.cursor=this.CURSOR):($e(e,"blocklyNonEditableText"),st(e,"blocklyEditableText"),e.style.cursor=""))}setEnabled(e){this.enabled_=e,this.updateEditable()}isEnabled(){return this.enabled_}isClickable(){return this.enabled_&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()&&this.showEditor_!==Ze.prototype.showEditor_}isClickableInFlyout(e){return!e}isCurrentlyEditable(){return this.enabled_&&this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()}isSerializable(){let e=!1;return this.name&&(this.SERIALIZABLE?e=!0:this.EDITABLE&&(console.warn("Detected an editable field that was not serializable. Please define SERIALIZABLE property as true on all editable custom fields. Proceeding with serialization."),e=!0)),e}isVisible(){return this.visible_}setVisible(e){if(this.visible_!==e){this.visible_=e;var t=this.fieldGroup_;t&&(t.style.display=e?"block":"none")}}setValidator(e){this.validator_=e}getValidator(){return this.validator_}getSvgRoot(){return this.fieldGroup_}getBorderRect(){if(!this.borderRect_)throw Error(`The border rectangle is ${this.borderRect_}.`);return this.borderRect_}getTextElement(){if(!this.textElement_)throw Error(`The text element is ${this.textElement_}.`);return this.textElement_}getTextContent(){if(!this.textContent_)throw Error(`The text content is ${this.textContent_}.`);return this.textContent_}applyColour(){}render_(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_()),this.updateSize_()}showEditor(e){this.isClickable()&&this.showEditor_(e)}showEditor_(e){}repositionForWindowResize(){return!1}updateSize_(e){const t=this.getConstants();e=e!==void 0?e:this.isFullBlockField()?0:this.getConstants().FIELD_BORDER_RECT_X_PADDING;let o=2*e,n=t.FIELD_TEXT_HEIGHT,c=0;this.textElement_&&(c=$n(this.textElement_,t.FIELD_TEXT_FONTSIZE,t.FIELD_TEXT_FONTWEIGHT,t.FIELD_TEXT_FONTFAMILY),o+=c),this.isFullBlockField()||(n=Math.max(n,t.FIELD_BORDER_RECT_HEIGHT)),this.size_.height=n,this.size_.width=o,this.positionTextElement_(e,c),this.positionBorderRect_()}positionTextElement_(e,t){if(this.textElement_){var o=this.getConstants(),n=this.size_.height/2,c;this.textElement_.setAttribute("x",String((c=this.getSourceBlock())!=null&&c.RTL?this.size_.width-t-e:e)),this.textElement_.setAttribute("y",String(o.FIELD_TEXT_BASELINE_CENTER?n:n-o.FIELD_TEXT_HEIGHT/2+o.FIELD_TEXT_BASELINE))}}positionBorderRect_(){this.borderRect_&&(this.borderRect_.setAttribute("width",String(this.size_.width)),this.borderRect_.setAttribute("height",String(this.size_.height)),this.borderRect_.setAttribute("rx",String(this.getConstants().FIELD_BORDER_RECT_RADIUS)),this.borderRect_.setAttribute("ry",String(this.getConstants().FIELD_BORDER_RECT_RADIUS)))}getSize(){return this.isVisible()?(this.isDirty_?(this.render_(),this.isDirty_=!1):this.visible_&&this.size_.width===0&&(this.render_(),this.size_.width!==0&&console.warn("Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead.")),this.size_):new Ne(0,0)}getScaledBBox(){let e;var t=this.getSourceBlock();if(!t)throw new gt;if(this.isFullBlockField()){var o=this.sourceBlock_.getHeightWidth();const n=t.workspace.scale;e=this.getAbsoluteXY_(),t=(o.width+1)*n,o=(o.height+1)*n,U$?(e.x+=1.5*n,e.y+=1.5*n):(e.x-=.5*n,e.y-=.5*n)}else o=this.borderRect_.getBoundingClientRect(),e=co(this.borderRect_),t=o.width,o=o.height;return new Je(e.y,e.y+o,e.x,e.x+t)}onLocationChange(e){}getDisplayText_(){let e=this.getText();return e?(e.length>this.maxDisplayLength&&(e=e.substring(0,this.maxDisplayLength-2)+"…"),e=e.replace(/\s/g,Ze.NBSP),this.sourceBlock_&&this.sourceBlock_.RTL&&(e+="‏"),e):Ze.NBSP}getText(){const e=this.getText_();return String(e!==null?e:this.getValue())}getText_(){return null}markDirty(){this.isDirty_=!0,this.constants_=null}forceRerender(){this.isDirty_=!0,this.sourceBlock_&&this.sourceBlock_.rendered&&this.sourceBlock_.queueRender()}setValue(e,t=!0){if(e!==null){var o=i.getGroup$$module$build$src$core$events$utils();o||i.setGroup$$module$build$src$core$events$utils(!0);try{const B=this.doClassValidation_(e),ie=this.processValidation(e,B,t);if(!(ie instanceof Error)){var n,c=(n=this.getValidator())==null?void 0:n.call(this,ie),h=this.processValidation(ie,c,t);if(!(h instanceof Error)){var $=this.sourceBlock_;if(!$||!$.disposed){var T=this.getValue();T===h?this.doValueUpdate_(h):(this.doValueUpdate_(h),t&&$&&J()&&K(new(Y(M.BLOCK_CHANGE))($,"field",this.name||null,T,h)),this.isDirty_&&this.forceRerender())}}}}finally{i.setGroup$$module$build$src$core$events$utils(o)}}}processValidation(e,t,o){return t===null?(this.doValueInvalid_(e,o),this.isDirty_&&this.forceRerender(),Error()):t===void 0?e:t}getValue(){return this.value_}doClassValidation_(e){return e??null}doValueUpdate_(e){this.value_=e,this.isDirty_=!0}doValueInvalid_(e,t){}onMouseDown_(e){this.sourceBlock_&&!this.sourceBlock_.isDeadOrDying()&&(e=this.sourceBlock_.workspace.getGesture(e))&&e.setStartField(this)}setTooltip(e){e||e===""||(e=this.sourceBlock_);const t=this.getClickTarget_();t?t.tooltip=e:this.tooltip=e}getTooltip(){const e=this.getClickTarget_();return _i(e||{tooltip:this.tooltip})}getClickTarget_(){return this.clickTarget_||this.getSvgRoot()}getAbsoluteXY_(){return co(this.getClickTarget_())}referencesVariables(){return!1}refreshVariableName(){}getParentInput(){let e=null;const t=this.getSourceBlock();if(!t)throw new gt;const o=t.inputList;for(let n=0;n{o.stopPropagation()})}addModelUpdateBindings(){this.view.addTextChangeListener((e,t)=>void super.setText(t)),this.view.addSizeChangeListener((e,t)=>void super.setSize(t)),this.view.addOnCollapseListener(()=>void super.setCollapsed(this.view.isCollapsed())),this.view.addDisposeListener(()=>{this.isDeadOrDying()||this.dispose()})}setText(e){this.view.setText(e)}setSize(e){this.view.setSize(e)}setCollapsed(e){this.view.setCollapsed(e)}setEditable(e){super.setEditable(e),this.view.setEditable(this.isEditable())}getSvgRoot(){return this.view.getSvgRoot()}getSize(){return super.getSize()}getBoundingRectangle(){const e=this.getRelativeToSurfaceXY();var t,o;const n=(o=(t=this.view)==null?void 0:t.getSize())!=null?o:this.getSize();return this.workspace.RTL?(t=e.x-n.width,o=e.x):(t=e.x,o=e.x+n.width),new Je(e.y,e.y+n.height,t,o)}moveBy(e,t,o){const n=this.getRelativeToSurfaceXY();e=new G(n.x+e,n.y+t),this.moveTo(e,o)}moveTo(e,t){super.moveTo(e,t),this.view.moveTo(e)}moveDuringDrag(e){this.location=e,this.view.moveTo(e)}setDragging(e){e?$e(this.getSvgRoot(),"blocklyDragging"):st(this.getSvgRoot(),"blocklyDragging")}dispose(){this.disposing=!0,this.view.isDeadOrDying()||this.view.dispose(),super.dispose()}startGesture(e){const t=this.workspace.getGesture(e);if(t){if(_t(e))e.stopPropagation();else{t.handleCommentStart(e,this);let o;(o=this.workspace.getLayerManager())==null||o.append(this,yo)}i.setSelected$$module$build$src$core$common(this)}}setDeleteStyle(e){e?$e(this.getSvgRoot(),"blocklyDraggingDelete"):st(this.getSvgRoot(),"blocklyDraggingDelete")}isMovable(){return this.dragStrategy.isMovable()}startDrag(){this.dragStrategy.startDrag()}drag(e){this.dragStrategy.drag(e)}endDrag(){this.dragStrategy.endDrag()}revertDrag(){this.dragStrategy.revertDrag()}select(){$e(this.getSvgRoot(),"blocklySelected")}unselect(){st(this.getSvgRoot(),"blocklySelected")}toCopyData(){return{paster:Ka.TYPE,commentState:mi(this,{addCoordinates:!0})}}showContextMenu(e){const t=Ae.registry.getContextMenuOptions(Ae.ScopeType.COMMENT,{comment:this});An(e,t,this.workspace.RTL,this.workspace)}snapToGrid(){if(!this.isDeadOrDying()){var e=this.workspace.getGrid();if(e!=null&&e.shouldSnap()){var t=this.getRelativeToSurfaceXY();e=e.alignXY(t),e!==t&&this.moveTo(e,["snap"])}}}},At={};At.appendDomToWorkspace=Tf,At.blockToDom=ho,At.blockToDomWithXY=Mn,At.clearWorkspaceAndLoadFromXml=Cf,At.deleteNext=Of,At.domToBlock=i.domToBlock$$module$build$src$core$xml,At.domToBlockInternal=Po,At.domToPrettyText=wf,At.domToText=Es,At.domToVariables=Uu,At.domToWorkspace=i.domToWorkspace$$module$build$src$core$xml,At.loadWorkspaceComment=zu,At.saveWorkspaceComment=On,At.variablesToDom=Fu,At.workspaceToDom=vf;var Th=class extends Ko{constructor(e){super(e),this.type=M.BLOCK_CREATE,e&&(e.isShadow()&&(this.recordUndo=!1),this.xml=Mn(e),this.ids=me(e),this.json=Vt(e,{addCoordinates:!0}))}toJson(){const e=super.toJson();if(!this.xml)throw Error("The block XML is undefined. Either pass a block to the constructor, or call fromJson");if(!this.ids)throw Error("The block IDs are undefined. Either pass a block to the constructor, or call fromJson");if(!this.json)throw Error("The block JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Es(this.xml),e.ids=this.ids,e.json=this.json,this.recordUndo||(e.recordUndo=this.recordUndo),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Th),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.ids=e.ids,t.json=e.json,e.recordUndo!==void 0&&(t.recordUndo=e.recordUndo),t}run(e){const t=this.getEventWorkspace_();if(!this.json)throw Error("The block JSON is undefined. Either pass a block to the constructor, or call fromJson");if(!this.ids)throw Error("The block IDs are undefined. Either pass a block to the constructor, or call fromJson");if(!GC(t,this.ids))if(e)Ws(this.json,t);else for(e=0;ee.getBlockById(o)).filter(o=>o&&o.isShadow()).length===t.length};r(z.EVENT,M.BLOCK_CREATE,Th);var kh=class extends gs{constructor(e,t){super(t),this.type=M.THEME_CHANGE,this.themeName=e}toJson(){const e=super.toJson();if(!this.themeName)throw Error("The theme name is undefined. Either pass a theme name to the constructor, or call fromJson");return e.themeName=this.themeName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new kh),t.themeName=e.themeName,t}};r(z.EVENT,M.THEME_CHANGE,kh);var Sh=class extends gs{constructor(e,t,o,n,c){super(n),this.type=M.VIEWPORT_CHANGE,this.viewTop=e,this.viewLeft=t,this.scale=o,this.oldScale=c}toJson(){const e=super.toJson();if(this.viewTop===void 0)throw Error("The view top is undefined. Either pass a value to the constructor, or call fromJson");if(this.viewLeft===void 0)throw Error("The view left is undefined. Either pass a value to the constructor, or call fromJson");if(this.scale===void 0)throw Error("The scale is undefined. Either pass a value to the constructor, or call fromJson");if(this.oldScale===void 0)throw Error("The old scale is undefined. Either pass a value to the constructor, or call fromJson");return e.viewTop=this.viewTop,e.viewLeft=this.viewLeft,e.scale=this.scale,e.oldScale=this.oldScale,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Sh),t.viewTop=e.viewTop,t.viewLeft=e.viewLeft,t.scale=e.scale,t.oldScale=e.oldScale,t}};r(z.EVENT,M.VIEWPORT_CHANGE,Sh);var ne;(function(e){e[e.INPUT_VALUE=1]="INPUT_VALUE",e[e.OUTPUT_VALUE=2]="OUTPUT_VALUE",e[e.NEXT_STATEMENT=3]="NEXT_STATEMENT",e[e.PREVIOUS_STATEMENT=4]="PREVIOUS_STATEMENT"})(ne||(ne={}));var zi=class{constructor(e){this.connectionChecker=e,this.connections=[]}addConnection(e,t){t=this.calculateIndexForYPos(t),this.connections.splice(t,0,e)}findIndexOfConnection(e,t){if(!this.connections.length)return-1;const o=this.calculateIndexForYPos(t);if(o>=this.connections.length)return-1;t=e.y;let n=o;for(;0<=n&&this.connections[n].y===t;){if(this.connections[n]===e)return n;n--}for(n=o;ne)o=n;else{t=n;break}}return t}removeConnection(e,t){if(e=this.findIndexOfConnection(e,t),e===-1)throw Error("Unable to find connection in connectionDB.");this.connections.splice(e,1)}getNeighbours(e,t){function o(ie){const it=c-n[ie].x,ot=h-n[ie].y;return Math.sqrt(it*it+ot*ot)<=t&&B.push(n[ie]),ot(this.flyout?i.config$$module$build$src$core$config.flyoutDragRadius:i.config$$module$build$src$core$config.dragRadius)}updateIsDraggingFromFlyout(){let e;if(!this.targetBlock||(e=this.flyout)==null||!e.isBlockCreatable(this.targetBlock))return!1;if(!this.flyout.targetWorkspace)throw Error(`Cannot update dragging from the flyout because the ' + + 'flyout's target workspace is undefined`);return!this.flyout.isScrollable()||this.flyout.isDragTowardWorkspace(this.currentDragDeltaXY)?(this.startWorkspace_=this.flyout.targetWorkspace,this.startWorkspace_.updateScreenCalculationsIfScrolled(),i.getGroup$$module$build$src$core$events$utils()||i.setGroup$$module$build$src$core$events$utils(!0),this.startBlock=null,this.targetBlock=this.flyout.createBlock(this.targetBlock),i.setSelected$$module$build$src$core$common(this.targetBlock),!0):!1}updateIsDraggingWorkspace(){if(!this.startWorkspace_)throw Error("Cannot update dragging the workspace because the start workspace is undefined");(this.flyout?this.flyout.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())&&(this.dragging=!0,this.workspaceDragger=new Db(this.startWorkspace_),this.workspaceDragger.startDrag())}updateIsDragging(e){if(!this.startWorkspace_)throw Error("Cannot update dragging because the start workspace is undefined");if(this.calledUpdateIsDragging)throw Error("updateIsDragging_ should only be called once per gesture.");this.calledUpdateIsDragging=!0,this.flyout&&this.updateIsDraggingFromFlyout();const t=x();t&&Fo(t)&&t.isMovable()?(this.dragging=!0,this.dragger=this.createDragger(t,this.startWorkspace_),this.dragger.onDragStart(e),this.dragger.onDrag(e,this.currentDragDeltaXY)):this.updateIsDraggingWorkspace()}createDragger(e,t){return new(w(z.BLOCK_DRAGGER,this.creatorWorkspace.options,!0))(e,t)}doStart(e){if(!this.startWorkspace_)throw Error("Cannot start the touch gesture becauase the start workspace is undefined");this.isPinchZoomEnabled=this.startWorkspace_.options.zoomOptions&&this.startWorkspace_.options.zoomOptions.pinch,_t(e)?this.cancel():(this.gestureHasStarted=!0,ki(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),this.currentDropdownOwner=ru(),this.startWorkspace_.hideChaff(!!this.flyout),this.startWorkspace_.markFocused(),this.mostRecentEvent=e,ku(),ye(e)?this.handleRightClick(e):(e.type.toLowerCase()==="pointerdown"&&e.pointerType!=="mouse"&&Ye(e,this),this.mouseDownXY=new G(e.clientX,e.clientY),this.bindMouseEvents(e),this.isEnding_||this.handleTouchStart(e)))}bindMouseEvents(e){this.boundEvents.push(Q(document,"pointerdown",null,this.handleStart.bind(this),!0)),this.boundEvents.push(Q(document,"pointermove",null,this.handleMove.bind(this),!0)),this.boundEvents.push(Q(document,"pointerup",null,this.handleUp.bind(this),!0)),e.preventDefault(),e.stopPropagation()}handleStart(e){this.isDragging()||(this.handleTouchStart(e),this.isMultiTouch()&&Ce())}handleMove(e){this.isDragging()&&be(e)||!this.isMultiTouch()?(this.updateFromEvent(e),this.workspaceDragger?this.workspaceDragger.drag(this.currentDragDeltaXY):this.dragger&&this.dragger.onDrag(this.mostRecentEvent,this.currentDragDeltaXY),e.preventDefault(),e.stopPropagation()):this.isMultiTouch()&&(this.handleTouchMove(e),Ce())}handleUp(e){if(this.isDragging()||this.handleTouchEnd(e),!this.isMultiTouch()||this.isDragging()){if(!be(e))return;if(this.updateFromEvent(e),Ce(),this.isEnding_){console.log("Trying to end a gesture recursively.");return}this.isEnding_=!0,this.dragger?this.dragger.onDragEnd(e,this.currentDragDeltaXY):this.workspaceDragger?this.workspaceDragger.endDrag(this.currentDragDeltaXY):this.isBubbleClick()||this.isCommentClick()||(this.isFieldClick()?this.doFieldClick():this.isIconClick()?this.doIconClick():this.isBlockClick()?this.doBlockClick():this.isWorkspaceClick()&&this.doWorkspaceClick(e))}e.preventDefault(),e.stopPropagation(),this.dispose()}handleTouchStart(e){var t=Le(e);this.cachedPoints.set(t,this.getTouchPoint(e));var o=Array.from(this.cachedPoints.keys());o.length===2&&(t=this.cachedPoints.get(o[0]),o=this.cachedPoints.get(o[1]),this.startDistance=G.distance(t,o),this.multiTouch=!0,e.preventDefault())}handleTouchMove(e){const t=Le(e);this.cachedPoints.set(t,this.getTouchPoint(e)),this.isPinchZoomEnabled&&this.cachedPoints.size===2?this.handlePinch(e):(this.updateFromEvent(e),this.workspaceDragger?this.workspaceDragger.drag(this.currentDragDeltaXY):this.dragger&&this.dragger.onDrag(this.mostRecentEvent,this.currentDragDeltaXY),e.preventDefault(),e.stopPropagation())}handlePinch(e){var t=Array.from(this.cachedPoints.keys()),o=this.cachedPoints.get(t[0]);if(t=this.cachedPoints.get(t[1]),o=G.distance(o,t)/this.startDistance,0this.previousScale){if(t=o-this.previousScale,t=0this.cachedPoints.size&&(this.cachedPoints.clear(),this.previousScale=0)}getTouchPoint(e){return this.startWorkspace_?new G(e.pageX,e.pageY):null}isMultiTouch(){return this.multiTouch}cancel(){this.isEnding_||(Ce(),this.dragger?this.dragger.onDragEnd(this.mostRecentEvent,this.currentDragDeltaXY):this.workspaceDragger&&this.workspaceDragger.endDrag(this.currentDragDeltaXY),this.dispose())}handleRightClick(e){this.targetBlock?(this.bringBlockToFront(),this.targetBlock.workspace.hideChaff(!!this.flyout),this.targetBlock.showContextMenu(e)):this.startBubble?this.startBubble.showContextMenu(e):this.startComment?(this.startComment.workspace.hideChaff(),this.startComment.showContextMenu(e)):this.startWorkspace_&&!this.flyout&&(this.startWorkspace_.hideChaff(),this.startWorkspace_.showContextMenu(e)),e.preventDefault(),e.stopPropagation(),this.dispose()}handleWsStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace(t),this.mostRecentEvent=e,this.startBlock||this.startBubble||this.startComment||i.setSelected$$module$build$src$core$common(null),this.doStart(e)}fireWorkspaceClick(e){K(new(Y(M.CLICK))(null,e.id,"workspace"))}handleFlyoutStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleFlyoutStart, but the gesture had already been started.");this.setStartFlyout(t),this.handleWsStart(e,t.getWorkspace())}handleBlockStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleBlockStart, but the gesture had already been started.");this.setStartBlock(t),this.mostRecentEvent=e}handleBubbleStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleBubbleStart, but the gesture had already been started.");this.setStartBubble(t),this.mostRecentEvent=e}handleCommentStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleCommentStart, but the gesture had already been started.");this.setStartComment(t),this.mostRecentEvent=e}doFieldClick(){if(!this.startField)throw Error("Cannot do a field click because the start field is undefined");this.currentDropdownOwner!==this.startField&&this.startField.showEditor(this.mostRecentEvent),this.bringBlockToFront()}doIconClick(){if(!this.startIcon)throw Error("Cannot do an icon click because the start icon is undefined");this.bringBlockToFront(),this.startIcon.onClick()}doBlockClick(){if(this.flyout&&this.flyout.autoClose){if(!this.targetBlock)throw Error("Cannot do a block click because the target block is undefined");if(this.targetBlock.isEnabled()){i.getGroup$$module$build$src$core$events$utils()||i.setGroup$$module$build$src$core$events$utils(!0);var e=this.flyout.createBlock(this.targetBlock);e.snapToGrid(),e.bumpNeighbours()}}else{if(!this.startWorkspace_)throw Error("Cannot do a block click because the start workspace is undefined");e=new(Y(M.CLICK))(this.startBlock,this.startWorkspace_.id,"block"),K(e)}this.bringBlockToFront(),i.setGroup$$module$build$src$core$events$utils(!1)}doWorkspaceClick(e){e=this.creatorWorkspace,x()&&x().unselect(),this.fireWorkspaceClick(this.startWorkspace_||e)}bringBlockToFront(){this.targetBlock&&!this.flyout&&this.targetBlock.bringToFront()}setStartField(e){if(this.gestureHasStarted)throw Error("Tried to call gesture.setStartField, but the gesture had already been started.");this.startField||(this.startField=e)}setStartIcon(e){if(this.gestureHasStarted)throw Error("Tried to call gesture.setStartIcon, but the gesture had already been started.");this.startIcon||(this.startIcon=e)}setStartBubble(e){this.startBubble||(this.startBubble=e)}setStartComment(e){this.startComment||(this.startComment=e)}setStartBlock(e){this.startBlock||this.startBubble||(this.startBlock=e,i.setSelected$$module$build$src$core$common(this.startBlock),e.isInFlyout&&e!==e.getRootBlock()?this.setTargetBlock(e.getRootBlock()):this.setTargetBlock(e))}setTargetBlock(e){e.isShadow()?this.setTargetBlock(e.getParent()):this.targetBlock=e}setStartWorkspace(e){this.startWorkspace_||(this.startWorkspace_=e)}setStartFlyout(e){this.flyout||(this.flyout=e)}isBubbleClick(){return!!this.startBubble&&!this.hasExceededDragRadius}isCommentClick(){return!!this.startComment&&!this.hasExceededDragRadius}isBlockClick(){return!!this.startBlock&&!this.hasExceededDragRadius&&!this.isFieldClick()&&!this.isIconClick()}isFieldClick(){return this.startField?this.startField.isClickable()&&!this.hasExceededDragRadius&&(!this.flyout||this.startField.isClickableInFlyout(this.flyout.autoClose)):!1}isIconClick(){if(!this.startIcon)return!1;const e=!this.flyout||!this.startIcon.isClickableInFlyout||this.startIcon.isClickableInFlyout(this.flyout.autoClose);return!this.hasExceededDragRadius&&e}isWorkspaceClick(){return!this.startBlock&&!this.startBubble&&!this.startField&&!this.hasExceededDragRadius}getCurrentDragger(){let e,t;return(t=(e=this.workspaceDragger)!=null?e:this.dragger)!=null?t:null}isDragging(){return this.dragging}hasStarted(){return this.gestureHasStarted}static inProgress(){const e=oe();for(let t=0,o;o=e[t];t++)if(o.currentGesture_)return!0;return!1}},Eh=class{constructor(e,t){this.pattern=e,this.scale=1;let o;this.spacing=(o=t.spacing)!=null?o:0;let n;this.length=(n=t.length)!=null?n:1,this.line2=(this.line1=e.firstChild)&&this.line1.nextSibling;let c;this.snapToGrid=(c=t.snap)!=null?c:!1}setSpacing(e){this.spacing=e,this.update(this.scale)}getSpacing(){return this.spacing}setLength(e){this.length=e,this.update(this.scale)}getLength(){return this.length}setSnapToGrid(e){this.snapToGrid=e}shouldSnap(){return this.snapToGrid}getPatternId(){return this.pattern.id}update(e){this.scale=e;var t=this.spacing*e;this.pattern.setAttribute("width",`${t}`),this.pattern.setAttribute("height",`${t}`),t=Math.floor(this.spacing/2)+.5;let o=t-this.length/2,n=t+this.length/2;t*=e,o*=e,n*=e,this.setLineAttributes(this.line1,e,o,n,t,t),this.setLineAttributes(this.line2,e,t,t,o,n)}setLineAttributes(e,t,o,n,c,h){e&&(e.setAttribute("stroke-width",`${t}`),e.setAttribute("x1",`${o}`),e.setAttribute("y1",`${c}`),e.setAttribute("x2",`${n}`),e.setAttribute("y2",`${h}`))}moveTo(e,t){this.pattern.setAttribute("x",`${e}`),this.pattern.setAttribute("y",`${t}`)}alignXY(e){var t=this.getSpacing();const o=t/2,n=Math.round(Math.round((e.x-o)/t)*t+o);return t=Math.round(Math.round((e.y-o)/t)*t+o),n===e.x&&t===e.y?e:new G(n,t)}static createDom(e,t,o){e=L(D.PATTERN,{id:"blocklyGridPattern"+e,patternUnits:"userSpaceOnUse"},o);let n,c;if(0<((n=t.length)!=null?n:1)&&0<((c=t.spacing)!=null?c:0)){L(D.LINE,{stroke:t.colour},e);let h;(h=t.length)!=null&&h&&L(D.LINE,{stroke:t.colour},e)}else L(D.LINE,{},e);return e}},YC=class{constructor(e){this.workspace=e,this.layers=new Map,(e=e.getInjectionDiv())&&(this.dragLayer=this.createDragLayer(e),this.animationLayer=this.createAnimationLayer(e)),e=this.createLayer(yo),$e(e,"blocklyBlockCanvas"),e=this.createLayer(rl),$e(e,"blocklyBubbleCanvas")}createDragLayer(e){const t=L(D.SVG,{class:"blocklyBlockDragSurface",xmlns:Un,"xmlns:html":As,"xmlns:xlink":Kt,version:"1.1"});return e.append(t),L(D.G,{},t)}createAnimationLayer(e){const t=L(D.SVG,{class:"blocklyAnimationLayer",xmlns:Un,"xmlns:html":As,"xmlns:xlink":Kt,version:"1.1"});return e.append(t),L(D.G,{},t)}appendToAnimationLayer(e){let t;const o=(t=this.dragLayer)==null?void 0:t.getAttribute("transform");if(o){let c;(c=this.animationLayer)==null||c.setAttribute("transform",o)}let n;(n=this.animationLayer)==null||n.appendChild(e.getSvgRoot())}translateLayers(e,t){e=`translate(${e.x}, ${e.y}) scale(${t})`;let o;(o=this.dragLayer)==null||o.setAttribute("transform",e);for(const[,n]of this.layers)n.setAttribute("transform",e)}moveToDragLayer(e){let t;(t=this.dragLayer)==null||t.appendChild(e.getSvgRoot())}moveOffDragLayer(e,t){this.append(e,t)}append(e,t){this.layers.has(t)||this.createLayer(t);let o;(o=this.layers.get(t))==null||o.appendChild(e.getSvgRoot())}createLayer(e){const t=this.workspace.getSvgGroup(),o=L(D.G,{});let n=!1;const c=[...this.layers].sort((h,$)=>h[0]-$[0]);for(const[h,$]of c)if(et[1]===e)?e:(this.sourceBlock_&&console.warn("Cannot set the dropdown's value to an unavailable option. Block type: "+this.sourceBlock_.type+", Field name: "+this.name+", Value: "+e),null)}doValueUpdate_(e){super.doValueUpdate_(e),e=this.getOptions(!0);for(let t=0,o;o=e[t];t++)o[1]===this.value_&&(this.selectedOption=o)}applyColour(){const e=this.sourceBlock_;this.borderRect_&&(this.borderRect_.setAttribute("stroke",e.getColourTertiary()),this.menu_?this.borderRect_.setAttribute("fill",e.getColourTertiary()):this.borderRect_.setAttribute("fill","transparent")),e&&this.arrow&&(e.isShadow()?this.arrow.style.fill=e.getColourSecondary():this.arrow.style.fill=e.getColour())}render_(){this.getTextContent().nodeValue="",this.imageElement.style.display="none";const e=this.selectedOption&&this.selectedOption[0];e&&typeof e=="object"?this.renderSelectedImage(e):this.renderSelectedText(),this.positionBorderRect_()}renderSelectedImage(e){const t=this.getSourceBlock();if(!t)throw new gt;this.imageElement.style.display="",this.imageElement.setAttributeNS(Kt,"xlink:href",e.src),this.imageElement.setAttribute("height",String(e.height)),this.imageElement.setAttribute("width",String(e.width));const o=Number(e.height);e=Number(e.width);var n=!!this.borderRect_;const c=Math.max(n?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,o+Ut.IMAGE_Y_PADDING);n=n?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;let h;h=this.svgArrow?this.positionSVGArrow(e+n,c/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2):$n(this.arrow,this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY),this.size_.width=e+h+2*n,this.size_.height=c;let $=0;t.RTL?this.imageElement.setAttribute("x",`${n+h}`):($=e+h,this.getTextElement().setAttribute("text-anchor","end"),this.imageElement.setAttribute("x",`${n}`)),this.imageElement.setAttribute("y",String(c/2-o/2)),this.positionTextElement_($+n,e+h)}renderSelectedText(){this.getTextContent().nodeValue=this.getDisplayText_();var e=this.getTextElement();$e(e,"blocklyDropdownText"),e.setAttribute("text-anchor","start");var t=!!this.borderRect_;e=Math.max(t?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,this.getConstants().FIELD_TEXT_HEIGHT);const o=$n(this.getTextElement(),this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY);t=t?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;let n=0;this.svgArrow&&(n=this.positionSVGArrow(o+t,e/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2)),this.size_.width=o+n+2*t,this.size_.height=e,this.positionTextElement_(t,o)}positionSVGArrow(e,t){if(!this.svgArrow)return 0;const o=this.getSourceBlock();if(!o)throw new gt;const n=this.borderRect_?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0,c=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_PADDING,h=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE;return this.svgArrow.setAttribute("transform","translate("+(o.RTL?n:e+c)+","+t+")"),h+c}getText_(){if(!this.selectedOption)return null;const e=this.selectedOption[0];return typeof e=="object"?e.alt:e}static fromJson(e){if(!e.options)throw Error("options are required for the dropdown field. The options property must be assigned an array of [humanReadableValue, languageNeutralValue] tuples.");return new this(e.options,void 0,e)}trimOptions(e){let t=!1;const o=e.map(([$,T])=>typeof $=="string"?[dt($),T]:(t=!0,[$.alt!==null?Object.assign({},$,{alt:dt($.alt)}):Object.assign({},$),T]));if(t||2>e.length)return{options:o};var n=o.map(([$])=>$),c=In(n);e=bu(n,c);const h=vu(n,c);return!e&&!h||c<=e+h?{options:o}:(c=e?n[0].substring(0,e-1):void 0,n=h?n[0].substr(1-h):void 0,{options:this.applyTrim(o,e,h),prefix:c,suffix:n})}applyTrim(e,t,o){return e.map(([n,c])=>[n.substring(t,n.length-o),c])}validateOptions(e){if(!Array.isArray(e))throw TypeError("FieldDropdown options must be an array.");if(!e.length)throw TypeError("FieldDropdown options must not be an empty array.");let t=!1;for(let o=0;oe.width)return t;if(e=this.getWorkspaceViewRect(e),this.workspace.RTL){var o=this.anchor.x-t;o-this.size.widthe.right&&(t=-(e.right-this.anchor.x))}else{o=t+this.anchor.x;const n=o+this.size.width;oe.right&&(t=e.right-this.anchor.x-this.size.width)}return t}getOptimalRelativeTop(e){let t=-this.size.height/4;if(this.size.height>e.height)return t;const o=this.anchor.y+t,n=o+this.size.height;return e=this.getWorkspaceViewRect(e),oe.bottom&&(t=e.bottom-this.anchor.y-this.size.height),t}getWorkspaceViewRect(e){const t=e.top;let o=e.top+e.height,n=e.left;return e=e.left+e.width,o-=this.getScrollbarThickness(),this.workspace.RTL?n-=this.getScrollbarThickness():e-=this.getScrollbarThickness(),new Je(t,o,n,e)}getScrollbarThickness(){return pt.scrollbarThickness/this.workspace.scale}renderTail(){const e=[];var t=this.size.width/2,o=this.size.height/2,n=-this.relativeLeft,c=-this.relativeTop;if(t===n&&o===c)e.push("M "+t+","+o);else{c-=o,n-=t,this.workspace.RTL&&(n*=-1);var h=Math.sqrt(c*c+n*n),$=Math.acos(n/h);0>c&&($=2*Math.PI-$);var T=$+Math.PI/2;T>2*Math.PI&&(T-=2*Math.PI);var B=Math.sin(T);const it=Math.cos(T);let ot=(this.size.width+this.size.height)/Jt.TAIL_THICKNESS;ot=Math.min(ot,this.size.width,this.size.height)/4,T=1-Jt.ANCHOR_RADIUS/h,n=t+T*n,c=o+T*c,T=t+ot*it;const Ht=o+ot*B;t-=ot*it,o-=ot*B,B=da(this.workspace.RTL?-Jt.TAIL_ANGLE:Jt.TAIL_ANGLE),B=$+B,B>2*Math.PI&&(B-=2*Math.PI),$=Math.sin(B)*h/Jt.TAIL_BEND,h=Math.cos(B)*h/Jt.TAIL_BEND,e.push("M"+T+","+Ht),e.push("C"+(T+h)+","+(Ht+$)+" "+n+","+c+" "+n+","+c),e.push("C"+n+","+c+" "+(t+h)+","+(o+$)+" "+t+","+o)}e.push("z");let ie;(ie=this.tail)==null||ie.setAttribute("d",e.join(" "))}bringToFront(){let e;const t=(e=this.svgRoot)==null?void 0:e.parentNode;return this.svgRoot&&(t==null?void 0:t.lastChild)!==this.svgRoot?(t==null||t.appendChild(this.svgRoot),!0):!1}getRelativeToSurfaceXY(){return new G(this.workspace.RTL?-this.relativeLeft+this.anchor.x-this.size.width:this.anchor.x+this.relativeLeft,this.anchor.y+this.relativeTop)}getSvgRoot(){return this.svgRoot}moveDuringDrag(e){this.moveTo(e.x,e.y),this.relativeLeft=this.workspace.RTL?this.anchor.x-e.x-this.size.width:e.x-this.anchor.x,this.relativeTop=e.y-this.anchor.y,this.renderTail()}setDragging(e){}setDeleteStyle(e){}isDeletable(){return!1}showContextMenu(e){}isMovable(){return!0}startDrag(){this.dragStrategy.startDrag()}drag(e){this.dragStrategy.drag(e)}endDrag(){this.dragStrategy.endDrag()}revertDrag(){this.dragStrategy.revertDrag()}select(){}unselect(){}};Jt=Ke,Ke.BORDER_WIDTH=6,Ke.DOUBLE_BORDER=2*Jt.BORDER_WIDTH,Ke.MIN_SIZE=Jt.DOUBLE_BORDER,Ke.TAIL_THICKNESS=1,Ke.TAIL_ANGLE=20,Ke.TAIL_BEND=4,Ke.ANCHOR_RADIUS=8;var eo=class extends Ke{constructor(e,t,o,n){super(t,o,n),this.workspace=t,this.anchor=o,this.ownerRect=n,this.autoLayout=!0,t=new ss(e),this.validateWorkspaceOptions(t),this.svgDialog=L(D.SVG,{x:Ke.BORDER_WIDTH,y:Ke.BORDER_WIDTH},this.contentContainer),e.parentWorkspace=this.workspace,this.miniWorkspace=this.newWorkspaceSvg(new ss(e)),this.miniWorkspace.internalIsMutator=!0,e=this.miniWorkspace.createDom("blocklyMutatorBackground"),this.svgDialog.appendChild(e),t.languageTree&&(e.insertBefore(this.miniWorkspace.addFlyout(D.G),this.miniWorkspace.getCanvas()),e=this.miniWorkspace.getFlyout(),e==null||e.init(this.miniWorkspace),e==null||e.show(t.languageTree)),this.miniWorkspace.addChangeListener(this.onWorkspaceChange.bind(this));let c,h;(c=this.miniWorkspace.getFlyout())==null||(h=c.getWorkspace())==null||h.addChangeListener(this.onWorkspaceChange.bind(this)),this.updateBubbleSize()}dispose(){this.miniWorkspace.dispose(),super.dispose()}getWorkspace(){return this.miniWorkspace}addWorkspaceChangeListener(e){this.miniWorkspace.addChangeListener(e)}validateWorkspaceOptions(e){if(e.hasCategories)throw Error("The miniworkspace bubble does not support toolboxes with categories");if(e.hasTrashcan)throw Error("The miniworkspace bubble does not support trashcans");if(e.zoomOptions.controls||e.zoomOptions.wheel||e.zoomOptions.pinch)throw Error("The miniworkspace bubble does not support zooming");if(e.moveOptions.scrollbars||e.moveOptions.wheel||e.moveOptions.drag)throw Error("The miniworkspace bubble does not scrolling/moving the workspace");if(e.horizontalLayout)throw Error("The miniworkspace bubble does not support horizontal layouts")}onWorkspaceChange(){this.bumpBlocksIntoBounds(),this.updateBubbleSize()}bumpBlocksIntoBounds(){if(!this.miniWorkspace.isDragging())for(const e of this.miniWorkspace.getTopBlocks(!1)){const t=e.getRelativeToSurfaceXY();if(20>t.y&&e.moveBy(0,20-t.y),e.RTL){let o=-20;const n=this.miniWorkspace.getFlyout();n&&(o-=n.getWidth()),t.x>o&&e.moveBy(o-t.x,0)}else 20>t.x&&e.moveBy(20-t.x,0)}}updateBubbleSize(){if(!this.miniWorkspace.isDragging()){var e=this.getSize(),t=this.calculateWorkspaceSize();Math.abs(e.width-t.width)({kind:"block",type:o}))}),t}getAnchorLocation(){const e=pl/2;return G.sum(this.workspaceLocation,new G(e,e))}getBubbleOwnerRect(){const e=this.sourceBlock.getSvgRoot().getBBox();return new Je(e.y,e.y+e.height,e.x,e.x+e.width)}createRootBlock(){if(!this.sourceBlock.decompose)throw Error("Blocks with mutator icons must include a decompose method");this.rootBlock=this.sourceBlock.decompose(this.miniWorkspaceBubble.getWorkspace());for(var e of this.rootBlock.getDescendants(!1))e.queueRender();this.rootBlock.setMovable(!1),this.rootBlock.setDeletable(!1);let t,o,n,c;e=(c=(t=this.miniWorkspaceBubble)==null||(o=t.getWorkspace())==null||(n=o.getFlyout())==null?void 0:n.getWidth())!=null?c:0,this.rootBlock.moveBy(this.rootBlock.RTL?-(e+gl):gl,gl)}addSaveConnectionsListener(){this.sourceBlock.saveConnections&&this.rootBlock&&(this.saveConnectionsListener=()=>{this.sourceBlock.saveConnections&&this.rootBlock&&this.sourceBlock.saveConnections(this.rootBlock)},this.saveConnectionsListener(),this.sourceBlock.workspace.addChangeListener(this.saveConnectionsListener))}createMiniWorkspaceChangeListener(){return e=>{i.MutatorIcon$$module$build$src$core$icons$mutator_icon.isIgnorableMutatorEvent(e)||this.updateWorkspacePid||(this.updateWorkspacePid=setTimeout(()=>{this.updateWorkspacePid=null,this.recomposeSourceBlock()},0))}}static isIgnorableMutatorEvent(e){return e.isUiEvent||C(e)||A(e)&&e.element==="disabled"}recomposeSourceBlock(){if(this.rootBlock){if(!this.sourceBlock.compose)throw Error("Blocks with mutator icons must include a compose method");var e=i.getGroup$$module$build$src$core$events$utils();e||i.setGroup$$module$build$src$core$events$utils(!0);var t=Yo.getExtraBlockState_(this.sourceBlock);this.sourceBlock.compose(this.rootBlock);var o=Yo.getExtraBlockState_(this.sourceBlock);t!==o&&K(new(Y(M.BLOCK_CHANGE))(this.sourceBlock,"mutation",null,t,o)),i.setGroup$$module$build$src$core$events$utils(e)}}getWorkspace(){let e;return(e=this.miniWorkspaceBubble)==null?void 0:e.getWorkspace()}},i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE=ft.MUTATOR,i.MutatorIcon$$module$build$src$core$icons$mutator_icon.WEIGHT=1,i.MutatorIcon$$module$build$src$core$icons$mutator_icon;var Ui=Object.create(null),qC={allExtensions:Ui};i.register$$module$build$src$core$extensions("parent_tooltip_when_inline",Hf);var vs={TEST_ONLY:qC};vs.apply=Sa,vs.buildTooltipForDropdown=i.buildTooltipForDropdown$$module$build$src$core$extensions,vs.buildTooltipWithFieldText=i.buildTooltipWithFieldText$$module$build$src$core$extensions,vs.isRegistered=Yu,vs.register=i.register$$module$build$src$core$extensions,vs.registerMixin=i.registerMixin$$module$build$src$core$extensions,vs.registerMutator=i.registerMutator$$module$build$src$core$extensions,vs.runAfterPageLoad=zf,vs.unregister=Lf;var Re;(function(e){e[e.WIN_KEY_FF_LINUX=0]="WIN_KEY_FF_LINUX",e[e.MAC_ENTER=3]="MAC_ENTER",e[e.BACKSPACE=8]="BACKSPACE",e[e.TAB=9]="TAB",e[e.NUM_CENTER=12]="NUM_CENTER",e[e.ENTER=13]="ENTER",e[e.SHIFT=16]="SHIFT",e[e.CTRL=17]="CTRL",e[e.ALT=18]="ALT",e[e.PAUSE=19]="PAUSE",e[e.CAPS_LOCK=20]="CAPS_LOCK",e[e.ESC=27]="ESC",e[e.SPACE=32]="SPACE",e[e.PAGE_UP=33]="PAGE_UP",e[e.PAGE_DOWN=34]="PAGE_DOWN",e[e.END=35]="END",e[e.HOME=36]="HOME",e[e.LEFT=37]="LEFT",e[e.UP=38]="UP",e[e.RIGHT=39]="RIGHT",e[e.DOWN=40]="DOWN",e[e.PLUS_SIGN=43]="PLUS_SIGN",e[e.PRINT_SCREEN=44]="PRINT_SCREEN",e[e.INSERT=45]="INSERT",e[e.DELETE=46]="DELETE",e[e.ZERO=48]="ZERO",e[e.ONE=49]="ONE",e[e.TWO=50]="TWO",e[e.THREE=51]="THREE",e[e.FOUR=52]="FOUR",e[e.FIVE=53]="FIVE",e[e.SIX=54]="SIX",e[e.SEVEN=55]="SEVEN",e[e.EIGHT=56]="EIGHT",e[e.NINE=57]="NINE",e[e.FF_SEMICOLON=59]="FF_SEMICOLON",e[e.FF_EQUALS=61]="FF_EQUALS",e[e.FF_DASH=173]="FF_DASH",e[e.FF_HASH=163]="FF_HASH",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.AT_SIGN=64]="AT_SIGN",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.META=91]="META",e[e.WIN_KEY_RIGHT=92]="WIN_KEY_RIGHT",e[e.CONTEXT_MENU=93]="CONTEXT_MENU",e[e.NUM_ZERO=96]="NUM_ZERO",e[e.NUM_ONE=97]="NUM_ONE",e[e.NUM_TWO=98]="NUM_TWO",e[e.NUM_THREE=99]="NUM_THREE",e[e.NUM_FOUR=100]="NUM_FOUR",e[e.NUM_FIVE=101]="NUM_FIVE",e[e.NUM_SIX=102]="NUM_SIX",e[e.NUM_SEVEN=103]="NUM_SEVEN",e[e.NUM_EIGHT=104]="NUM_EIGHT",e[e.NUM_NINE=105]="NUM_NINE",e[e.NUM_MULTIPLY=106]="NUM_MULTIPLY",e[e.NUM_PLUS=107]="NUM_PLUS",e[e.NUM_MINUS=109]="NUM_MINUS",e[e.NUM_PERIOD=110]="NUM_PERIOD",e[e.NUM_DIVISION=111]="NUM_DIVISION",e[e.F1=112]="F1",e[e.F2=113]="F2",e[e.F3=114]="F3",e[e.F4=115]="F4",e[e.F5=116]="F5",e[e.F6=117]="F6",e[e.F7=118]="F7",e[e.F8=119]="F8",e[e.F9=120]="F9",e[e.F10=121]="F10",e[e.F11=122]="F11",e[e.F12=123]="F12",e[e.NUMLOCK=144]="NUMLOCK",e[e.SCROLL_LOCK=145]="SCROLL_LOCK",e[e.FIRST_MEDIA_KEY=166]="FIRST_MEDIA_KEY",e[e.LAST_MEDIA_KEY=183]="LAST_MEDIA_KEY",e[e.SEMICOLON=186]="SEMICOLON",e[e.DASH=189]="DASH",e[e.EQUALS=187]="EQUALS",e[e.COMMA=188]="COMMA",e[e.PERIOD=190]="PERIOD",e[e.SLASH=191]="SLASH",e[e.APOSTROPHE=192]="APOSTROPHE",e[e.TILDE=192]="TILDE",e[e.SINGLE_QUOTE=222]="SINGLE_QUOTE",e[e.OPEN_SQUARE_BRACKET=219]="OPEN_SQUARE_BRACKET",e[e.BACKSLASH=220]="BACKSLASH",e[e.CLOSE_SQUARE_BRACKET=221]="CLOSE_SQUARE_BRACKET",e[e.WIN_KEY=224]="WIN_KEY",e[e.MAC_FF_META=224]="MAC_FF_META",e[e.MAC_WK_CMD_LEFT=91]="MAC_WK_CMD_LEFT",e[e.MAC_WK_CMD_RIGHT=93]="MAC_WK_CMD_RIGHT",e[e.WIN_IME=229]="WIN_IME",e[e.VK_NONAME=252]="VK_NONAME",e[e.PHANTOM=255]="PHANTOM"})(Re||(Re={}));var to={};to.arc=ht,to.curve=jt,to.line=Si,to.lineOnAxis=re,to.lineTo=xs,to.moveBy=rt,to.moveTo=bt,to.point=he;var ct={};ct.Coordinate=G,ct.KeyCodes=Re,ct.Rect=Je,ct.Size=Ne,ct.Svg=D,ct.aria=Gn,ct.array=K$,ct.browserEvents=Js,ct.colour=ts,ct.deprecation=S$,ct.dom=kt,ct.extensions=vs,ct.idGenerator=jd,ct.math=qa,ct.object=Ab,ct.parsing=er,ct.string=Li,ct.style=fo,ct.svgMath=Ho,ct.svgPaths=to,ct.toolbox=$o,ct.userAgent=BC,ct.xml=xi;var Mb=class extends Ke{constructor(e,t,o){super(e,t,o),this.workspace=e,this.anchor=t,this.ownerRect=o,this.resizePointerMoveListener=this.resizePointerUpListener=null,this.textChangeListeners=[],this.sizeChangeListeners=[],this.text="",this.DEFAULT_SIZE=new Ne(160+Ke.DOUBLE_BORDER,80+Ke.DOUBLE_BORDER),this.MIN_SIZE=new Ne(45+Ke.DOUBLE_BORDER,20+Ke.DOUBLE_BORDER),this.editable=!0,$e(this.svgRoot,"blocklyTextInputBubble"),{inputRoot:this.inputRoot,textArea:this.textArea}=this.createEditor(this.contentContainer),this.resizeGroup=this.createResizeHandle(this.svgRoot,e),this.setSize(this.DEFAULT_SIZE,!0)}getText(){return this.text}setText(e){this.text=e,this.textArea.value=e,this.onTextChange()}setEditable(e){(this.editable=e)?this.textArea.removeAttribute("readonly"):this.textArea.setAttribute("readonly","")}isEditable(){return this.editable}addTextChangeListener(e){this.textChangeListeners.push(e)}addSizeChangeListener(e){this.sizeChangeListeners.push(e)}createEditor(e){e=L(D.FOREIGNOBJECT,{x:Ke.BORDER_WIDTH,y:Ke.BORDER_WIDTH},e);const t=document.createElementNS(As,"body");t.setAttribute("xmlns",As),t.className="blocklyMinimalBody";const o=document.createElementNS(As,"textarea");return o.className="blocklyTextarea blocklyText",o.setAttribute("dir",this.workspace.RTL?"RTL":"LTR"),t.appendChild(o),e.appendChild(t),this.bindTextAreaEvents(o),setTimeout(()=>{o.focus()},0),{inputRoot:e,textArea:o}}bindTextAreaEvents(e){Q(e,"wheel",this,t=>{t.stopPropagation()}),Q(e,"focus",this,this.onStartEdit,!0),Q(e,"change",this,this.onTextChange)}createResizeHandle(e,t){return e=L(D.IMAGE,{class:"blocklyResizeHandle",href:`${t.options.pathToMedia}resize-handle.svg`},e),Q(e,"pointerdown",this,this.onResizePointerDown),e}setSize(e,t=!1){e.width=Math.max(e.width,this.MIN_SIZE.width),e.height=Math.max(e.height,this.MIN_SIZE.height);const o=e.width-Ke.DOUBLE_BORDER,n=e.height-Ke.DOUBLE_BORDER;this.inputRoot.setAttribute("width",`${o}`),this.inputRoot.setAttribute("height",`${n}`),this.resizeGroup.setAttribute("y",`${n}`),this.workspace.RTL?this.resizeGroup.setAttribute("x",`${-Ke.DOUBLE_BORDER}`):this.resizeGroup.setAttribute("x",`${o}`),super.setSize(e,t),this.onSizeChange()}getSize(){return super.getSize()}onResizePointerDown(e){this.bringToFront(),ye(e)||(_a(this.workspace,e,new G(this.workspace.RTL?-this.getSize().width:this.getSize().width,this.getSize().height)),this.resizePointerUpListener=Q(document,"pointerup",this,this.onResizePointerUp),this.resizePointerMoveListener=Q(document,"pointermove",this,this.onResizePointerMove),this.workspace.hideChaff()),e.stopPropagation()}onResizePointerUp(e){Ee(),this.resizePointerUpListener&&(ze(this.resizePointerUpListener),this.resizePointerUpListener=null),this.resizePointerMoveListener&&(ze(this.resizePointerMoveListener),this.resizePointerMoveListener=null)}onResizePointerMove(e){e=wa(this.workspace,e),this.setSize(new Ne(this.workspace.RTL?-e.x:e.x,e.y),!1),this.onSizeChange()}onStartEdit(){this.bringToFront()&&this.textArea.focus()}onTextChange(){this.text=this.textArea.value;for(const e of this.textChangeListeners)e()}onSizeChange(){for(const e of this.sizeChangeListeners)e()}};Ct(` +.blocklyTextInputBubble .blocklyTextarea { + background-color: var(--commentFillColour); + border: 0; + box-sizing: border-box; + display: block; + outline: 0; + padding: 5px; + resize: none; + width: 100%; + height: 100%; +} +`);var Ih={};Ih.register=qu,Ih.unregister=Wf;var xh=17,Nb=160,Lb=80,so=class extends hl{constructor(e){super(e),this.sourceBlock=e,this.textInputBubble=null,this.text="",this.bubbleSize=new Ne(Nb,Lb),this.bubbleVisiblity=!1}getType(){return so.TYPE}initView(e){this.svgRoot||(super.initView(e),L(D.CIRCLE,{class:"blocklyIconShape",r:"8",cx:"8",cy:"8"},this.svgRoot),L(D.PATH,{class:"blocklyIconSymbol",d:"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.4050.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25-1.201,0.998 -1.201,1.528 -1.204,2.19z"},this.svgRoot),L(D.RECT,{class:"blocklyIconSymbol",x:"6.8",y:"10.78",height:"2",width:"2"},this.svgRoot),$e(this.svgRoot,"blockly-icon-comment"))}dispose(){super.dispose();let e;(e=this.textInputBubble)==null||e.dispose()}getWeight(){return so.WEIGHT}getSize(){return new Ne(xh,xh)}applyColour(){super.applyColour();const e=this.sourceBlock.getColour();let t;(t=this.textInputBubble)==null||t.setColour(e)}updateEditable(){const e=this,t=()=>super.updateEditable;return j.asyncExecutePromiseGeneratorFunction(function*(){t().call(e),e.bubbleIsVisible()&&(yield e.setBubbleVisible(!1),yield e.setBubbleVisible(!0))})}onLocationChange(e){super.onLocationChange(e),e=this.getAnchorLocation();let t;(t=this.textInputBubble)==null||t.setAnchorLocation(e)}setText(e){const t=this.text;K(new(Y(M.BLOCK_CHANGE))(this.sourceBlock,"comment",null,t,e)),this.text=e;let o;(o=this.textInputBubble)==null||o.setText(this.text)}getText(){return this.text}setBubbleSize(e){this.bubbleSize=e;let t;(t=this.textInputBubble)==null||t.setSize(this.bubbleSize,!0)}getBubbleSize(){return this.bubbleSize}saveState(){return this.text?{text:this.text,pinned:this.bubbleIsVisible(),height:this.bubbleSize.height,width:this.bubbleSize.width}:null}loadState(e){let t;this.text=(t=e.text)!=null?t:"";let o,n;this.bubbleSize=new Ne((o=e.width)!=null?o:Nb,(n=e.height)!=null?n:Lb);let c;this.bubbleVisiblity=(c=e.pinned)!=null?c:!1,this.setBubbleVisible(this.bubbleVisiblity)}onClick(){super.onClick(),this.setBubbleVisible(!this.bubbleIsVisible())}isClickableInFlyout(){return!1}onTextChange(){if(this.textInputBubble){var e=this.textInputBubble.getText();this.text!==e&&(K(new(Y(M.BLOCK_CHANGE))(this.sourceBlock,"comment",null,this.text,e)),this.text=e)}}onSizeChange(){this.textInputBubble&&(this.bubbleSize=this.textInputBubble.getSize())}bubbleIsVisible(){return this.bubbleVisiblity}setBubbleVisible(e){const t=this;return j.asyncExecutePromiseGeneratorFunction(function*(){t.bubbleVisiblity!==e&&(t.bubbleVisiblity=e,yield ps(),!t.sourceBlock.rendered||t.sourceBlock.isInFlyout||t.sourceBlock.isInsertionMarker()||(e?(t.sourceBlock.isEditable()?t.showEditableBubble():t.showNonEditableBubble(),t.applyColour()):t.hideBubble(),K(new(Y(M.BUBBLE_OPEN))(t.sourceBlock,e,"comment"))))})}showEditableBubble(){this.createBubble();let e;(e=this.textInputBubble)==null||e.addTextChangeListener(()=>this.onTextChange());let t;(t=this.textInputBubble)==null||t.addSizeChangeListener(()=>this.onSizeChange())}showNonEditableBubble(){this.createBubble();let e;(e=this.textInputBubble)==null||e.setEditable(!1)}createBubble(){this.textInputBubble=new Mb(this.sourceBlock.workspace,this.getAnchorLocation(),this.getBubbleOwnerRect()),this.textInputBubble.setText(this.getText()),this.textInputBubble.setSize(this.bubbleSize,!0)}hideBubble(){let e;(e=this.textInputBubble)==null||e.dispose(),this.textInputBubble=null}getAnchorLocation(){const e=xh/2;return G.sum(this.workspaceLocation,new G(e,e))}getBubbleOwnerRect(){return this.sourceBlock.getBoundingRectangleWithoutChildren()}};so.TYPE=ft.COMMENT,so.WEIGHT=3,qu(so.TYPE,so);var Bb=class extends Error{constructor(e){super(`Tried to append an icon of type ${e.getType()} when an icon of that type already exists on the block. Use getIcon to access the existing icon.`),this.icon=e}},Pb={};Pb.DuplicateIconType=Bb;var Fb=class extends Ke{constructor(e,t,o,n){super(t,o,n),this.text=e,this.workspace=t,this.anchor=o,this.ownerRect=n,this.paragraph=this.stringToSvg(e,this.contentContainer),this.updateBubbleSize()}getText(){return this.text}setText(e){this.text=e,Ve(this.paragraph),this.paragraph=this.stringToSvg(e,this.contentContainer),this.updateBubbleSize()}stringToSvg(e,t){return t=this.createParagraph(t),e=this.createTextFragments(t,e),this.workspace.RTL&&this.rightAlignTextFragments(t.getBBox().width,e),t}createParagraph(e){return L(D.G,{class:"blocklyText blocklyBubbleText blocklyNoPointerEvents",transform:`translate(0,${Ke.BORDER_WIDTH})`,style:`direction: ${this.workspace.RTL?"rtl":"ltr"}`},e)}createTextFragments(e,t){let o=1;return t.split(` +`).map(n=>{const c=L(D.TEXT,{y:`${o}em`,x:Ke.BORDER_WIDTH},e);return n=document.createTextNode(n),c.appendChild(n),o+=1,c})}rightAlignTextFragments(e,t){for(const o of t)o.setAttribute("text-anchor","start"),o.setAttribute("x",`${e+Ke.BORDER_WIDTH}`)}updateBubbleSize(){const e=this.paragraph.getBBox();this.setSize(new Ne(e.width+2*Ke.BORDER_WIDTH,e.height+2*Ke.BORDER_WIDTH),!0)}},Dh=17,oo=class extends hl{constructor(e){super(e),this.sourceBlock=e,this.textMap=new Map,this.textBubble=null}getType(){return oo.TYPE}initView(e){this.svgRoot||(super.initView(e),L(D.PATH,{class:"blocklyIconShape",d:"M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z"},this.svgRoot),L(D.PATH,{class:"blocklyIconSymbol",d:"m7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z"},this.svgRoot),L(D.RECT,{class:"blocklyIconSymbol",x:"7",y:"11",height:"2",width:"2"},this.svgRoot),$e(this.svgRoot,"blockly-icon-warning"))}dispose(){super.dispose();let e;(e=this.textBubble)==null||e.dispose()}getWeight(){return oo.WEIGHT}getSize(){return new Ne(Dh,Dh)}applyColour(){super.applyColour();let e;(e=this.textBubble)==null||e.setColour(this.sourceBlock.getColour())}updateCollapsed(){}isShownWhenCollapsed(){return!0}onLocationChange(e){super.onLocationChange(e);let t;(t=this.textBubble)==null||t.setAnchorLocation(this.getAnchorLocation())}addMessage(e,t){if(this.textMap.get(t)===e)return this;e?this.textMap.set(t,e):this.textMap.delete(t);let o;return(o=this.textBubble)==null||o.setText(this.getText()),this}getText(){return[...this.textMap.values()].join(` +`)}onClick(){super.onClick(),this.setBubbleVisible(!this.bubbleIsVisible())}isClickableInFlyout(){return!1}bubbleIsVisible(){return!!this.textBubble}setBubbleVisible(e){const t=this;return j.asyncExecutePromiseGeneratorFunction(function*(){if(t.bubbleIsVisible()!==e){if(yield ps(),e)t.textBubble=new Fb(t.getText(),t.sourceBlock.workspace,t.getAnchorLocation(),t.getBubbleOwnerRect()),t.applyColour();else{let o;(o=t.textBubble)==null||o.dispose(),t.textBubble=null}K(new(Y(M.BUBBLE_OPEN))(t.sourceBlock,e,"warning"))}})}getAnchorLocation(){const e=Dh/2;return G.sum(this.workspaceLocation,new G(e,e))}getBubbleOwnerRect(){const e=this.sourceBlock.getSvgRoot().getBBox();return new Je(e.y,e.y+e.height,e.x,e.x+e.width)}};oo.TYPE=ft.WARNING,oo.WEIGHT=2;var _o={};_o.CommentIcon=so,_o.Icon=hl,_o.IconType=ft,_o.MutatorIcon=i.MutatorIcon$$module$build$src$core$icons$mutator_icon,_o.WarningIcon=oo,_o.exceptions=Pb,_o.registry=Ih,i.Names$$module$build$src$core$names=class{constructor(e,t){this.db=new Map,this.dbReverse=new Set,this.variableMap=null,this.variablePrefix=t||"",this.reservedWords=new Set(e?e.split(","):[])}reset(){this.db.clear(),this.dbReverse.clear(),this.variableMap=null}setVariableMap(e){this.variableMap=e}getNameForUserVariable(e){return this.variableMap?(e=this.variableMap.getVariableById(e))?e.name:null:(console.warn(`Deprecated call to Names.prototype.getName without defining a variable map. To fix, add the following code in your generator's init() function: +Blockly.YourGeneratorName.nameDB_.setVariableMap(workspace.getVariableMap());`),null)}populateVariables(e){e=i.allUsedVarModels$$module$build$src$core$variables(e);for(let t=0;trect,`,`${e} .blocklyEditableText>rect {`,`fill: ${this.FIELD_BORDER_RECT_COLOUR};`,"fill-opacity: .6;","stroke: none;","}",`${e} .blocklyNonEditableText>text,`,`${e} .blocklyEditableText>text {`,"fill: #000;","}",`${e} .blocklyFlyoutLabelText {`,"fill: #000;","}",`${e} .blocklyText.blocklyBubbleText {`,"fill: #000;","}",`${e} .blocklyEditableText:not(.editing):hover>rect {`,"stroke: #fff;","stroke-width: 2;","}",`${e} .blocklyHtmlInput {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,`font-weight: ${this.FIELD_TEXT_FONTWEIGHT};`,"}",`${e} .blocklySelected>.blocklyPath {`,"stroke: #fc3;","stroke-width: 3px;","}",`${e} .blocklyHighlightedConnectionPath {`,"stroke: #fc3;","}",`${e} .blocklyReplaceable .blocklyPath {`,"fill-opacity: .5;","}",`${e} .blocklyReplaceable .blocklyPathLight,`,`${e} .blocklyReplaceable .blocklyPathDark {`,"display: none;","}",`${e} .blocklyInsertionMarker>.blocklyPath {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"]}},bl=class{constructor(e,t){this.inlinePath_=this.outlinePath_="",this.block_=e,this.info_=t,this.topLeft_=e.getRelativeToSurfaceXY(),this.constants_=t.getRenderer().getConstants()}draw(){this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights(),this.block_.pathObject.setPath(this.outlinePath_+` +`+this.inlinePath_),this.info_.RTL&&this.block_.pathObject.flipRTL(),this.recordSizeOnBlock_()}recordSizeOnBlock_(){this.block_.height=this.info_.height,this.block_.width=this.info_.widthWithChildren,this.block_.childlessWidth=this.info_.width}drawOutline_(){this.drawTop_();for(let e=1;ee||e>this.fieldRow.length)throw Error("index "+e+" out of bounds.");return(t||t===""&&o)&&(typeof t=="string"&&(t=i.fromJson$$module$build$src$core$field_registry({type:"field_label",text:t})),t.setSourceBlock(this.sourceBlock),this.sourceBlock.initialized&&this.initField(t),t.name=o,t.setVisible(this.isVisible()),t.prefixField&&(e=this.insertFieldAt(e,t.prefixField)),this.fieldRow.splice(e,0,t),e++,t.suffixField&&(e=this.insertFieldAt(e,t.suffixField)),this.sourceBlock.rendered&&this.sourceBlock.queueRender()),e}removeField(e,t){for(let o=0,n;n=this.fieldRow[o];o++)if(n.name===e)return n.dispose(),this.fieldRow.splice(o,1),this.sourceBlock.rendered&&this.sourceBlock.queueRender(),!0;if(t)return!1;throw Error('Field "'+e+'" not found.')}isVisible(){return this.visible}setVisible(e){let t=[];if(this.visible===e)return t;this.visible=e;for(let n=0,c;c=this.fieldRow[n];n++)c.setVisible(e);if(this.connection){var o=this.connection;e?t=o.startTrackingAll():o.stopTrackingAll(),(o=o.targetBlock())&&(o.getSvgRoot().style.display=e?"block":"none")}return t}markDirty(){for(let e=0,t;t=this.fieldRow[e];e++)t.markDirty()}setCheck(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setCheck(e),this}setAlign(e){return this.align=e,this.sourceBlock.rendered&&this.sourceBlock.queueRender(),this}setShadowDom(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setShadowDom(e),this}getShadowDom(){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.getShadowDom()}init(){for(const e of this.fieldRow)e.init()}initModel(){for(const e of this.fieldRow)e.initModel()}initField(e){this.sourceBlock.rendered?e.init():e.initModel()}dispose(){for(let e=0,t;t=this.fieldRow[e];e++)t.dispose();this.connection&&this.connection.dispose()}makeConnection(e){return this.sourceBlock.makeConnection_(e)}},Os=class extends Wi{constructor(e,t){super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.DUMMY}},no=class extends Wi{constructor(e,t){super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.END_ROW}},qt=class extends Wi{constructor(e,t){if(!e)throw Error("Statement inputs must have a non-empty name");super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.STATEMENT,this.connection=this.makeConnection(ne.NEXT_STATEMENT)}},Vb;i.ValueInput$$module$build$src$core$inputs$value_input=class extends Wi{constructor(e,t){if(!e)throw Error("Value inputs must have a non-empty name");super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.VALUE,this.connection=this.makeConnection(ne.INPUT_VALUE)}},Vb={},Vb.ValueInput=i.ValueInput$$module$build$src$core$inputs$value_input;var ar=class{constructor(e,t){this.statementEdge=this.width=this.widthWithChildren=this.height=0,this.rows=[],this.inputRows=[],this.startY=this.startX=0,this.renderer_=e,this.block_=t,this.constants_=this.renderer_.getConstants(),this.outputConnection=t.outputConnection?new Wb(this.constants_,t.outputConnection):null,this.isInline=t.getInputsInline()&&!t.isCollapsed(),this.isCollapsed=t.isCollapsed(),this.isInsertionMarker=t.isInsertionMarker(),this.RTL=t.RTL,this.topRow=new Lh(this.constants_),this.bottomRow=new Ah(this.constants_)}getRenderer(){return this.renderer_}measure(){this.createRows_(),this.addElemSpacing_(),this.addRowSpacing_(),this.computeBounds_(),this.alignRowElements_(),this.finalize_()}createRows_(){this.populateTopRow_(),this.rows.push(this.topRow);let e=new Mh(this.constants_);this.inputRows.push(e);var t=this.block_.getIcons();for(let o=0,n;n=t[o];o++){const c=new zb(this.constants_,n);this.isCollapsed&&!n.isShownWhenCollapsed()||e.elements.push(c)}t=void 0;for(let o=0,n;n=this.block_.inputList[o];o++)if(n.isVisible()){this.shouldStartNewRow_(n,t)&&(this.rows.push(e),e=new Mh(this.constants_),this.inputRows.push(e));for(let c=0,h;h=n.fieldRow[c];c++)e.elements.push(new Hi(this.constants_,h,n));this.addInput_(n,e),t=n}this.isCollapsed&&(e.hasJaggedEdge=!0,e.elements.push(new Ub(this.constants_))),(e.elements.length||e.hasDummyInput)&&this.rows.push(e),this.populateBottomRow_(),this.rows.push(this.bottomRow)}populateTopRow_(){var e=!!this.block_.previousConnection;const t=(this.block_.hat?this.block_.hat==="cap":this.constants_.ADD_START_HATS)&&!this.outputConnection&&!e;let o=this.topRow.hasLeftSquareCorner(this.block_)?rr:nr;this.topRow.elements.push(new o(this.constants_)),t?(e=new Rh(this.constants_),this.topRow.elements.push(e),this.topRow.capline=e.ascenderHeight):e&&(this.topRow.hasPreviousConnection=!0,this.topRow.connection=new Gb(this.constants_,this.block_.previousConnection),this.topRow.elements.push(this.topRow.connection)),this.block_.inputList.length&&this.block_.inputList[0]instanceof qt&&!this.block_.isCollapsed()?this.topRow.minHeight=this.constants_.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT:this.topRow.minHeight=this.constants_.TOP_ROW_MIN_HEIGHT,o=this.topRow.hasRightSquareCorner(this.block_)?rr:nr,this.topRow.elements.push(new o(this.constants_,"right"))}populateBottomRow_(){this.bottomRow.hasNextConnection=!!this.block_.nextConnection,this.bottomRow.minHeight=this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1]instanceof qt?this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT:this.constants_.BOTTOM_ROW_MIN_HEIGHT,this.bottomRow.hasLeftSquareCorner(this.block_)?this.bottomRow.elements.push(new rr(this.constants_)):this.bottomRow.elements.push(new nr(this.constants_)),this.bottomRow.hasNextConnection&&(this.bottomRow.connection=new Hb(this.constants_,this.block_.nextConnection),this.bottomRow.elements.push(this.bottomRow.connection)),this.bottomRow.hasRightSquareCorner(this.block_)?this.bottomRow.elements.push(new rr(this.constants_,"right")):this.bottomRow.elements.push(new nr(this.constants_,"right"))}addInput_(e,t){this.isInline&&e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new Oh(this.constants_,e)),t.hasInlineInput=!0):e instanceof qt?(t.elements.push(new ir(this.constants_,e)),t.hasStatement=!0):e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new fl(this.constants_,e)),t.hasExternalInput=!0):(e instanceof Os||e instanceof no)&&(t.minHeight=Math.max(t.minHeight,e.getSourceBlock()&&e.getSourceBlock().isShadow()?this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT:this.constants_.DUMMY_INPUT_MIN_HEIGHT),t.hasDummyInput=!0),t.align===null&&(t.align=e.align)}shouldStartNewRow_(e,t){return t?t instanceof no||e instanceof qt||t instanceof qt?!0:e instanceof i.ValueInput$$module$build$src$core$inputs$value_input||e instanceof Os||t instanceof i.ValueInput$$module$build$src$core$inputs$value_input?!this.isInline:!1:!1}addElemSpacing_(){for(let e=0,t;t=this.rows[e];e++){const o=t.elements;if(t.elements=[],t.startsWithElemSpacer()&&t.elements.push(new Xt(this.constants_,this.getInRowSpacing_(null,o[0]))),o.length){for(let n=0;ne.disposeInternal()),this.inputList.forEach(e=>e.dispose()),this.inputList.length=0,this.getConnections_(!0).forEach(e=>e.dispose()),this.disposed=!0}isDeadOrDying(){return this.disposing||this.disposed}initModel(){if(!this.initialized){for(const e of this.inputList)e.initModel();this.initialized=!0}}unplug(e){this.outputConnection&&this.unplugFromRow(e),this.previousConnection&&this.unplugFromStack(e)}unplugFromRow(e){let t=null,o;(o=this.outputConnection)!=null&&o.isConnected()&&(t=this.outputConnection.targetConnection,this.outputConnection.disconnect()),t&&e&&(e=this.getOnlyValueConnection())&&e.isConnected()&&!e.targetBlock().isShadow()&&(e=e.targetConnection,e==null||e.disconnect(),this.workspace.connectionChecker.canConnect(e,t,!1)?t.connect(e):e==null||e.onFailedConnect(t))}getOnlyValueConnection(){let e=null;for(let t=0;t(n=n+(o==="("||c===")"?"":" ")+c,o=c[c.length-1],n),""),t=t.trim()||"???",e&&t.length>e&&(t=t.substring(0,e-3)+"..."),t}toTokens(e="?"){const t=[];for(const n of this.inputList)if(n.name!=Vn){for(const c of n.fieldRow)t.push(c.getText());if(n.connection){const c=n.connection.targetBlock();if(c){var o=n.connection;let h=o.getCheck();!h&&o.targetConnection&&(h=o.targetConnection.getCheck()),(o=!!h&&(h.includes("Boolean")||h.includes("Number")))&&t.push("("),t.push(...c.toTokens(e)),o&&t.push(")")}else t.push(e)}}return t}appendValueInput(e){return this.appendInput(new i.ValueInput$$module$build$src$core$inputs$value_input(e,this))}appendStatementInput(e){return this.statementInputCount++,this.appendInput(new qt(e,this))}appendDummyInput(e=""){return this.appendInput(new Os(e,this))}appendEndRowInput(e=""){return this.appendInput(new no(e,this))}appendInput(e){return this.inputList.push(e),e}appendInputFromRegistry(e,t){return(e=m(z.INPUT,e,!1))?this.appendInput(new e(t,this)):null}jsonInit(e){var t=e.type?'Block "'+e.type+'": ':"";if(e.output&&e.previousStatement)throw Error(t+"Must not have both an output and a previousStatement.");for(var o=0;e["args"+o];){if(e["message"+o]===void 0)throw Error(t+`args${o} must have a corresponding message (message${o}).`);o++}if(e.style&&e.style.hat&&(this.hat=e.style.hat,e.style=null),e.style&&e.colour)throw Error(t+"Must not have both a colour and a style.");for(e.style?this.jsonInitStyle(e,t):this.jsonInitColour(e,t),o=0;e["message"+o]!==void 0;)this.interpolate(e["message"+o],e["args"+o]||[],e["implicitAlign"+o]||e["lastDummyAlign"+o],t),o++;if(e.inputsInline!==void 0&&(i.disable$$module$build$src$core$events$utils(),this.setInputsInline(e.inputsInline),i.enable$$module$build$src$core$events$utils()),e.output!==void 0&&this.setOutput(!0,e.output),e.outputShape!==void 0&&this.setOutputShape(e.outputShape),e.previousStatement!==void 0&&this.setPreviousStatement(!0,e.previousStatement),e.nextStatement!==void 0&&this.setNextStatement(!0,e.nextStatement),e.tooltip!==void 0&&(o=dt(e.tooltip),this.setTooltip(o)),e.enableContextMenu!==void 0&&(this.contextMenu=!!e.enableContextMenu),e.suppressPrefixSuffix!==void 0&&(this.suppressPrefixSuffix=!!e.suppressPrefixSuffix),e.helpUrl!==void 0&&(o=dt(e.helpUrl),this.setHelpUrl(o)),typeof e.extensions=="string"&&(console.warn(t+"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '"+e.type+"' block."),e.extensions=[e.extensions]),e.mutator!==void 0&&Sa(e.mutator,this,!0),e=e.extensions,Array.isArray(e))for(t=0;th||h>t)throw Error('Block "'+this.type+'": Message index %'+h+" out of range.");if(o[h])throw Error('Block "'+this.type+'": Message index %'+h+" duplicated.");o[h]=!0,n++}}if(n!==t)throw Error('Block "'+this.type+'": Message does not reference all '+t+" arg(s).")}interpolateArguments(e,t,o){const n=[];for(let h=0;h=this.inputList.length)throw RangeError("Input index "+e+" out of bounds.");if(t>this.inputList.length)throw RangeError("Reference input "+t+" out of bounds.");const o=this.inputList[e];this.inputList.splice(e,1),et.getWeight()-o.getWeight()),e}removeIcon(e){if(!this.hasIcon(e))return!1;let t;return(t=this.getIcon(e))==null||t.dispose(),this.icons=this.icons.filter(o=>!o.getType().equals(e)),!0}hasIcon(e){return this.icons.some(t=>t.getType().equals(e))}getIcon(e){return e instanceof ft?this.icons.find(t=>t.getType().equals(e)):this.icons.find(t=>t.getType().toString()===e)}getIcons(){return[...this.icons]}getRelativeToSurfaceXY(){return this.xy}moveBy(e,t,o){if(this.parentBlock_)throw Error("Block has parent");const n=new(Y(M.BLOCK_MOVE))(this);o&&n.setReason(o),this.xy.translate(e,t),n.recordNew(),K(n)}makeConnection_(e){return new Be(this,e)}allInputsFilled(e){if(e===void 0&&(e=!0),!e&&this.isShadow())return!1;for(let o=0,n;n=this.inputList[o];o++)if(n.connection){var t=n.connection.targetBlock();if(!t||!t.allInputsFilled(e))return!1}return(t=this.getNextBlock())?t.allInputsFilled(e):!0}toDevString(){let e=this.type?'"'+this.type+'" block':"Block";return this.id&&(e+=' (id="'+this.id+'")'),e}};Co.COLLAPSED_INPUT_NAME=Vn,Co.COLLAPSED_FIELD_NAME=Ya;var os=class{constructor(e,t,o,n){this.workspace=e,this.targetWorkspace=t,this.isFlyoutLabel=n,this.onMouseUpWrapper=null,this.height=this.width=0,this.cursorSvg=this.svgText=this.svgGroup=null,this.text=o.text,this.position=new G(0,0),this.callbackKey=o.callbackKey||o.callbackkey,this.cssClass=o["web-class"]||null,this.info=o}createDom(){var e=this.isFlyoutLabel?"blocklyFlyoutLabel":"blocklyFlyoutButton";this.cssClass&&(e+=" "+this.cssClass),this.svgGroup=L(D.G,{class:e},this.workspace.getCanvas());let t;this.isFlyoutLabel||(t=L(D.RECT,{class:"blocklyFlyoutButtonShadow",rx:os.BORDER_RADIUS,ry:os.BORDER_RADIUS,x:1,y:1},this.svgGroup)),e=L(D.RECT,{class:this.isFlyoutLabel?"blocklyFlyoutLabelBackground":"blocklyFlyoutButtonBackground",rx:os.BORDER_RADIUS,ry:os.BORDER_RADIUS},this.svgGroup);const o=L(D.TEXT,{class:this.isFlyoutLabel?"blocklyFlyoutLabelText":"blocklyText",x:0,y:0,"text-anchor":"middle"},this.svgGroup);var n=dt(this.text);this.workspace.RTL&&(n+="‏"),o.textContent=n,this.isFlyoutLabel&&(this.svgText=o,this.workspace.getThemeManager().subscribe(this.svgText,"flyoutForegroundColour","fill"));const c=ks(o,"fontSize"),h=ks(o,"fontWeight"),$=ks(o,"fontFamily");if(this.width=Kr(o,c,h,$),n=Yr(n,c,h,$),this.height=n.height,!this.isFlyoutLabel){this.width+=2*os.TEXT_MARGIN_X,this.height+=2*os.TEXT_MARGIN_Y;let T;(T=t)==null||T.setAttribute("width",String(this.width));let B;(B=t)==null||B.setAttribute("height",String(this.height))}return e.setAttribute("width",String(this.width)),e.setAttribute("height",String(this.height)),o.setAttribute("x",String(this.width/2)),o.setAttribute("y",String(this.height/2-n.height/2+n.baseline)),this.updateTransform(),this.onMouseUpWrapper=Q(this.svgGroup,"pointerup",this,this.onMouseUp),this.svgGroup}show(){this.updateTransform(),this.svgGroup.setAttribute("display","block")}updateTransform(){this.svgGroup.setAttribute("transform","translate("+this.position.x+","+this.position.y+")")}moveTo(e,t){this.position.x=e,this.position.y=t,this.updateTransform()}isLabel(){return this.isFlyoutLabel}getPosition(){return this.position}getButtonText(){return this.text}getTargetWorkspace(){return this.targetWorkspace}getWorkspace(){return this.workspace}dispose(){this.onMouseUpWrapper&&ze(this.onMouseUpWrapper),this.svgGroup&&Ve(this.svgGroup),this.svgText&&this.workspace.getThemeManager().unsubscribe(this.svgText)}setCursorSvg(e){e?this.svgGroup&&(this.svgGroup.appendChild(e),this.cursorSvg=e):this.cursorSvg=null}setMarkerSvg(){throw Error("Attempted to set a marker on a button.")}onMouseUp(e){(e=this.targetWorkspace.getGesture(e))&&e.cancel(),this.isFlyoutLabel&&this.callbackKey?console.warn("Labels should not have callbacks. Label text: "+this.text):this.isFlyoutLabel||this.callbackKey&&this.targetWorkspace.getButtonCallback(this.callbackKey)?this.isFlyoutLabel||(e=this.targetWorkspace.getButtonCallback(this.callbackKey))&&e(this):console.warn("Buttons should have callbacks. Button text: "+this.text)}};os.TEXT_MARGIN_X=5,os.TEXT_MARGIN_Y=2,os.BORDER_RADIUS=4,Ct(` +.blocklyFlyoutButton { + fill: #888; + cursor: default; +} + +.blocklyFlyoutButtonShadow { + fill: #666; +} + +.blocklyFlyoutButton:hover { + fill: #aaa; +} + +.blocklyFlyoutLabel { + cursor: default; +} + +.blocklyFlyoutLabelBackground { + opacity: 0; +} +`);var P=class{constructor(e,t,o){if(this.wsCoordinate=null,!t)throw Error("Cannot create a node without a location.");this.type=e,this.isConnectionLocation=P.isConnectionType(e),this.location=t,this.processParams(o||null)}processParams(e){e&&e.wsCoordinate&&(this.wsCoordinate=e.wsCoordinate)}getLocation(){return this.location}getType(){return this.type}getWsCoordinate(){return this.wsCoordinate}isConnection(){return this.isConnectionLocation}findNextForInput(){var e=this.location.getParentInput();const t=e.getSourceBlock();for(e=t.inputList.indexOf(e),e+=1;et instanceof Co&&c.block===t||t instanceof os&&c.button===t);return 0>n?null:(o=o?n+1:n-1,o===-1||o===e.length?null:e[o])}findTopASTNodeForBlock(e){const t=Nn(e);return t?P.createConnectionNode(t):P.createBlockNode(e)}getOutAstNodeForBlock(e){if(!e)return null;e=e.getTopStackBlock();const t=Nn(e);return t&&t.targetConnection&&t.targetConnection.getParentInput()?P.createInputNode(t.targetConnection.getParentInput()):P.createStackNode(e)}findFirstFieldOrInput(e){e=e.inputList;for(let t=0;t{ka(o.getSourceBlock()),setTimeout(()=>{n.bringToFront()},0)})}}update(e,t){const o=this.getCandidate(e);((this.wouldDeleteBlock=this.shouldDelete(!!o,t))||this.shouldUpdatePreviews(o,e))&&(i.disable$$module$build$src$core$events$utils(),this.maybeHidePreview(o),this.maybeShowPreview(o),i.enable$$module$build$src$core$events$utils())}createMarkerBlock(e){i.disable$$module$build$src$core$events$utils();let t;try{const o=Vt(e,{addCoordinates:!1,addInputBlocks:!1,addNextBlocks:!1,doFullSerialization:!1});if(!o)throw Error(`Failed to serialize source block. ${e.toDevString()}`);t=Ws(o,this.workspace);for(const n of t.getDescendants(!1))n.setInsertionMarker(!0);t.initSvg(),t.getSvgRoot().setAttribute("visibility","hidden")}finally{i.enable$$module$build$src$core$events$utils()}return t}initAvailableConnections(){const e=this.topBlock.getConnections_(!1),t=this.topBlock.lastConnectionInStack(!0);return t&&t!==this.topBlock.nextConnection&&(e.push(t),this.lastOnStack=t),e}shouldUpdatePreviews(e,t){if(!e)return!!this.activeCandidate;if(!this.activeCandidate)return!0;const{local:o,closest:n}=this.activeCandidate;if(n===e.closest&&o===e.local)return!1;const c=o.x+t.x-n.x;return t=o.y+t.y-n.y,e.radius{let B;(B=n)==null||B.positionNearConnection(T,h,$);let ie;(ie=n)==null||ie.getSvgRoot().setAttribute("visibility","visible")}),this.markerConnection=c}hideInsertionMarker(){if(this.markerConnection){var e=this.markerConnection,t=e.getSourceBlock(),o=t.outputConnection,n;if((n=t.previousConnection)!=null&&n.targetConnection||o!=null&&o.targetConnection)t.unplug(!0);else{let c;(c=e.targetBlock())==null||c.unplug(!1)}if(e.targetConnection)throw Error("markerConnection still connected at the end of disconnectInsertionMarker");this.markerConnection=null,(e=t.getSvgRoot())&&e.setAttribute("visibility","hidden")}}showInsertionInputOutline(e){e=e.closest,this.highlightedBlock=e.getSourceBlock(),this.highlightedBlock.highlightShapeForInput(e,!0)}hideInsertionInputOutline(){if(this.highlightedBlock){if(!this.activeCandidate)throw Error("Cannot hide the insertion marker outline because there is no active candidate");this.highlightedBlock.highlightShapeForInput(this.activeCandidate.closest,!1),this.highlightedBlock=null}}showReplacementFade(e){if(this.fadedBlock=e.closest.targetBlock(),!this.fadedBlock)throw Error("Cannot show the replacement fade because the closest connection does not have a target block");this.fadedBlock.fadeForReplacement(!0)}hideReplacementFade(){this.fadedBlock&&(this.fadedBlock.fadeForReplacement(!1),this.fadedBlock=null)}getInsertionMarkers(){const e=[];return this.firstMarker&&e.push(this.firstMarker),this.lastMarker&&e.push(this.lastMarker),e}disposeInsertionMarker(e){if(e){i.disable$$module$build$src$core$events$utils();try{e.dispose()}finally{i.enable$$module$build$src$core$events$utils()}}}};(function(e){e=e.PREVIEW_TYPE||(e.PREVIEW_TYPE={}),e[e.INSERTION_MARKER=0]="INSERTION_MARKER",e[e.INPUT_OUTLINE=1]="INPUT_OUTLINE",e[e.REPLACEMENT_FADE=2]="REPLACEMENT_FADE"})(is||(is={})),is.PREVIEW_TYPE;var yl=class{constructor(e){this.overrides=null,this.name=e}getClassName(){return this.name+"-renderer"}init(e,t){this.constants_=this.makeConstants_(),t&&(this.overrides=t,Object.assign(this.constants_,t)),this.constants_.setTheme(e),this.constants_.init()}createDom(e,t){this.constants_.createDom(e,this.name+"-"+t.name,"."+this.getClassName()+"."+t.getClassName())}refreshDom(e,t){const o=this.getConstants();o.dispose(),this.constants_=this.makeConstants_(),this.overrides&&Object.assign(this.constants_,this.overrides),this.constants_.randomIdentifier=o.randomIdentifier,this.constants_.setTheme(t),this.constants_.init(),this.createDom(e,t)}dispose(){this.constants_&&this.constants_.dispose()}makeConstants_(){return new $l}makeRenderInfo_(e){return new ar(this,e)}makeDrawer_(e,t){return new bl(e,t)}makeMarkerDrawer(e,t){return new Fh(e,this.getConstants(),t)}makePathObject(e,t){return new vl(e,t,this.constants_)}getConstants(){return this.constants_}shouldHighlightConnection(e){return!0}orphanCanConnectAtEnd(e,t,o){return!!Be.getConnectionForOrphanedConnection(e,o===ne.OUTPUT_VALUE?t.outputConnection:t.previousConnection)}getConnectionPreviewMethod(e,t,o){return _("getConnectionPreviewMethod","v10","v12","an IConnectionPreviewer, if it fulfills your use case."),t.type===ne.OUTPUT_VALUE||t.type===ne.PREVIOUS_STATEMENT?!e.isConnected()||this.orphanCanConnectAtEnd(o,e.targetBlock(),t.type)?is.PREVIEW_TYPE.INSERTION_MARKER:is.PREVIEW_TYPE.REPLACEMENT_FADE:is.PREVIEW_TYPE.INSERTION_MARKER}render(e){const t=this.makeRenderInfo_(e);t.measure(),this.makeDrawer_(e,t).draw()}},We={};We.BottomRow=Ah,We.Connection=io,We.ConstantProvider=$l,We.Drawer=bl,We.ExternalValueInput=fl,We.Field=Hi,We.Hat=Rh,We.Icon=zb,We.InRowSpacer=Xt,We.InlineInput=Oh,We.InputConnection=wo,We.InputRow=Mh,We.JaggedEdge=Ub,We.MarkerSvg=Fh,We.Measurable=Rs,We.NextConnection=Hb,We.OutputConnection=Wb,We.PathObject=vl,We.PreviousConnection=Gb,We.RenderInfo=ar,We.Renderer=yl,We.RoundCorner=nr,We.Row=or,We.SpacerRow=Nh,We.SquareCorner=rr,We.StatementInput=ir,We.TopRow=Lh,We.Types=I,We.init=id,We.register=Ln,We.unregister=e$;var Kb=class{constructor(e,t){this.workspace=e,this.theme=t,this.subscribedWorkspaces=[],this.componentDB=new Map}getTheme(){return this.theme}setTheme(e){var t=this.theme;this.theme=e,(e=this.workspace.getInjectionDiv())&&(t&&(t=t.getClassName())&&st(e,t),(t=this.theme.getClassName())&&$e(e,t));for(let o=0,n;n=this.subscribedWorkspaces[o];o++)n.refreshTheme();for(const[o,n]of this.componentDB)for(const c of n){e=c.element,t=c.propertyName;const h=this.theme&&this.theme.getComponentStyle(o);e.style.setProperty(t,h||"")}for(const o of this.subscribedWorkspaces)o.hideChaff()}subscribeWorkspace(e){this.subscribedWorkspaces.push(e)}unsubscribeWorkspace(e){if(!wt(this.subscribedWorkspaces,e))throw Error("Cannot unsubscribe a workspace that hasn't been subscribed.")}subscribe(e,t,o){this.componentDB.has(t)||this.componentDB.set(t,[]),this.componentDB.get(t).push({element:e,propertyName:o}),t=this.theme&&this.theme.getComponentStyle(t),e.style.setProperty(o,t||"")}unsubscribe(e){if(e)for(const[t,o]of this.componentDB){for(let n=o.length-1;0<=n;n--)o[n].element===e&&o.splice(n,1);o.length||this.componentDB.delete(t)}}dispose(){this.subscribedWorkspaces.length=0,this.componentDB.clear()}},jh="VARIABLE_DYNAMIC",ti={CATEGORY_NAME:jh};ti.flyoutCategory=Oa,ti.flyoutCategoryBlocks=ld,ti.onCreateVariableButtonClick_Colour=ad,ti.onCreateVariableButtonClick_Number=rd,ti.onCreateVariableButtonClick_String=nd;var Yb=30,si=[];si[ne.INPUT_VALUE]=ne.OUTPUT_VALUE,si[ne.OUTPUT_VALUE]=ne.INPUT_VALUE,si[ne.NEXT_STATEMENT]=ne.PREVIOUS_STATEMENT,si[ne.PREVIOUS_STATEMENT]=ne.NEXT_STATEMENT;var zh="RENAME_VARIABLE_ID",Uh="DELETE_VARIABLE_ID",Jb=class{canConnect(e,t,o,n){return this.canConnectWithReason(e,t,o,n)===Be.CAN_CONNECT}canConnectWithReason(e,t,o,n){const c=this.doSafetyChecks(e,t);return c!==Be.CAN_CONNECT?c:this.doTypeChecks(e,t)?o&&!this.doDragChecks(e,t,n||0)?Be.REASON_DRAG_CHECKS_FAILED:Be.CAN_CONNECT:Be.REASON_CHECKS_FAILED}getErrorMessage(e,t,o){switch(e){case Be.REASON_SELF_CONNECTION:return"Attempted to connect a block to itself.";case Be.REASON_DIFFERENT_WORKSPACES:return"Blocks not on same workspace.";case Be.REASON_WRONG_TYPE:return"Attempt to connect incompatible types.";case Be.REASON_TARGET_NULL:return"Target connection is null.";case Be.REASON_CHECKS_FAILED:return"Connection checks failed. "+(t+" expected "+t.getCheck()+", found "+o.getCheck());case Be.REASON_SHADOW_PARENT:return"Connecting non-shadow to shadow block.";case Be.REASON_DRAG_CHECKS_FAILED:return"Drag checks failed.";case Be.REASON_PREVIOUS_AND_OUTPUT:return"Block would have an output and a previous connection.";default:return"Unknown connection failure: this should never happen!"}}doSafetyChecks(e,t){if(!e||!t)return Be.REASON_TARGET_NULL;let o,n,c;return e.isSuperior()?(o=e.getSourceBlock(),n=t.getSourceBlock(),c=t):(n=e.getSourceBlock(),o=t.getSourceBlock(),c=e,e=t),o===n?Be.REASON_SELF_CONNECTION:c.type!==si[e.type]?Be.REASON_WRONG_TYPE:o.workspace!==n.workspace?Be.REASON_DIFFERENT_WORKSPACES:o.isShadow()&&!n.isShadow()?Be.REASON_SHADOW_PARENT:c.type===ne.OUTPUT_VALUE&&n.previousConnection&&n.previousConnection.isConnected()||c.type===ne.PREVIOUS_STATEMENT&&n.outputConnection&&n.outputConnection.isConnected()?Be.REASON_PREVIOUS_AND_OUTPUT:Be.CAN_CONNECT}doTypeChecks(e,t){if(e=e.getCheck(),t=t.getCheck(),!e||!t)return!0;for(let o=0;oo||t.getSourceBlock().isInsertionMarker())return!1;switch(t.type){case ne.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(e,t);case ne.OUTPUT_VALUE:if(t.isConnected()&&!t.targetBlock().isInsertionMarker()||e.isConnected())return!1;break;case ne.INPUT_VALUE:if(t.isConnected()&&!t.targetBlock().isMovable()&&!t.targetBlock().isShadow())return!1;break;case ne.NEXT_STATEMENT:if(t.isConnected()&&!e.getSourceBlock().nextConnection&&!t.targetBlock().isShadow()&&t.targetBlock().nextConnection||t.targetBlock()&&!t.targetBlock().isMovable()&&!t.targetBlock().isShadow())return!1;break;default:return!1}return!zn.includes(t)}canConnectToPrevious_(e,t){return e.targetConnection||zn.includes(t)?!1:t.targetConnection?(e=t.targetBlock(),e.isInsertionMarker()?!e.getPreviousBlock():!1):!0}};r(z.CONNECTION_CHECKER,Ds,Jb);var Hh=class extends Kn{constructor(e){super(e),this.type=M.VAR_DELETE,e&&(this.varType=e.type,this.varName=e.name)}toJson(){const e=super.toJson();if(this.varType===void 0)throw Error("The var type is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");return e.varType=this.varType,e.varName=this.varName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Hh),t.varType=e.varType,t.varName=e.varName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");e?t.deleteVariableById(this.varId):t.createVariable(this.varName,this.varType,this.varId)}};r(z.EVENT,M.VAR_DELETE,Hh);var Wh=class extends Kn{constructor(e,t){super(e),this.type=M.VAR_RENAME,e&&(this.oldName=e.name,this.newName=typeof t>"u"?"":t)}toJson(){const e=super.toJson();if(!this.oldName)throw Error("The old var name is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.newName)throw Error("The new var name is undefined. Either pass a value to the constructor, or call fromJson");return e.oldName=this.oldName,e.newName=this.newName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Wh),t.oldName=e.oldName,t.newName=e.newName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.oldName)throw Error("The old var name is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.newName)throw Error("The new var name is undefined. Either pass a value to the constructor, or call fromJson");e?t.renameVariableById(this.varId,this.newName):t.renameVariableById(this.varId,this.oldName)}};r(z.EVENT,M.VAR_RENAME,Wh);var Gh=class{constructor(e){this.workspace=e,this.variableMap=new Map}clear(){for(const e of this.variableMap.values())for(;0{c&&t&&this.deleteVariableInternal(t,n)})):this.deleteVariableInternal(t,n)}else console.warn("Can't delete non-existent variable: "+e)}deleteVariableInternal(e,t){const o=i.getGroup$$module$build$src$core$events$utils();o||i.setGroup$$module$build$src$core$events$utils(!0);try{for(let n=0;ne.name)}getVariableUsesById(e){const t=[],o=this.workspace.getAllBlocks(!1);for(let n=0;n!o.isInsertionMarker())):[]}addTopComment(e){this.topComments.push(e),this.commentDB.has(e.id)&&console.warn('Overriding an existing comment on this workspace, with id "'+e.id+'"'),this.commentDB.set(e.id,e)}removeTopComment(e){if(!wt(this.topComments,e))throw Error("Comment not present in workspace's list of top-most comments.");this.commentDB.delete(e.id)}getTopComments(e=!1){const t=[].concat(this.topComments);return e&&1!o.isInsertionMarker())}clear(){this.isClearing=!0;try{const e=i.getGroup$$module$build$src$core$events$utils();for(e||i.setGroup$$module$build$src$core$events$utils(!0);this.topBlocks.length;)this.topBlocks[0].dispose(!1);for(;this.topComments.length;)this.topComments[this.topComments.length-1].dispose();i.setGroup$$module$build$src$core$events$utils(e),this.variableMap.clear(),this.potentialVariableMap&&this.potentialVariableMap.clear()}finally{this.isClearing=!1}}renameVariableById(e,t){this.variableMap.renameVariableById(e,t)}createVariable(e,t,o){return this.variableMap.createVariable(e,t,o)}getVariableUsesById(e){return this.variableMap.getVariableUsesById(e)}deleteVariableById(e){this.variableMap.deleteVariableById(e)}getVariable(e,t){return this.variableMap.getVariable(e,t)}getVariableById(e){return this.variableMap.getVariableById(e)}getVariablesOfType(e){return this.variableMap.getVariablesOfType(e)}getVariableTypes(){return this.variableMap.getVariableTypes(this)}getAllVariables(){return this.variableMap.getAllVariables()}getAllVariableNames(){return this.variableMap.getAllVariableNames()}getWidth(){return 0}newBlock(e,t){throw Error("The implementation of newBlock should be monkey-patched in by blockly.ts")}newComment(e){throw Error("The implementation of newComment should be monkey-patched in by blockly.ts")}remainingCapacity(){return isNaN(this.options.maxBlocks)?1/0:this.options.maxBlocks-this.getAllBlocks(!1).length}remainingCapacityOfType(e){return this.options.maxInstances?(this.options.maxInstances[e]!==void 0?this.options.maxInstances[e]:1/0)-this.getBlocksByType(e,!1).length:1/0}isCapacityAvailable(e){if(!this.hasBlockLimits())return!0;let t=0;for(const o in e){if(e[o]>this.remainingCapacityOfType(o))return!1;t+=e[o]}return!(t>this.remainingCapacity())}hasBlockLimits(){return this.options.maxBlocks!==1/0||!!this.options.maxInstances}getUndoStack(){return this.undoStack_}getRedoStack(){return this.redoStack_}undo(e){var t=e?this.redoStack_:this.undoStack_,o=e?this.undoStack_:this.redoStack_;const n=t.pop();if(n){for(var c=[n];t.length&&n.group&&n.group===t[t.length-1].group;){const h=t.pop();h&&c.push(h)}for(t=0;tthis.MAX_UNDO&&0<=this.MAX_UNDO;)this.undoStack_.shift();for(let t=0;t!!t.getStyleName())),this.refreshToolboxSelection(),this.toolbox&&this.toolbox.refreshTheme(),this.isVisible()&&this.setVisible(!0);const e=new(Y(M.THEME_CHANGE))(this.getTheme().name,this.id);K(e)}updateBlockStyles(e){for(let t=0,o;o=e[t];t++){const n=o.getStyleName();n&&o.setStyle(n)}}getInverseScreenCTM(){if(this.inverseScreenCTMDirty){const e=this.getParentSvg().getScreenCTM();e&&(this.inverseScreenCTM=e.inverse(),this.inverseScreenCTMDirty=!1)}return this.inverseScreenCTM}updateInverseScreenCTM(){this.inverseScreenCTMDirty=!0}isVisible(){return this.visible}getSvgXY(e){let t=0,o=0,n=1;(this.getCanvas().contains(e)||this.getBubbleCanvas().contains(e))&&(n=this.scale);do{const c=vn(e);(e===this.getCanvas()||e===this.getBubbleCanvas())&&(n=1),t+=c.x*n,o+=c.y*n,e=e.parentNode}while(e&&e!==this.getParentSvg()&&e!==this.getInjectionDiv());return new G(t,o)}getCachedParentSvgSize(){const e=this.cachedParentSvgSize;return new Ne(e.width,e.height)}getOriginOffsetInPixels(){return Xr(this.getCanvas())}getInjectionDiv(){if(!this.injectionDiv){let e=this.svgGroup_;for(;e;){if((" "+(e.getAttribute("class")||"")+" ").includes(" injectionDiv ")){this.injectionDiv=e;break}e=e.parentNode}}return this.injectionDiv}getSvgGroup(){return this.svgGroup_}getBlockCanvas(){return this.getCanvas()}setResizeHandlerWrapper(e){this.resizeHandlerWrapper=e}createDom(e,t){return this.injectionDiv||(this.injectionDiv=t??null),this.svgGroup_=L(D.G,{class:"blocklyWorkspace"}),e&&(this.svgBackground_=L(D.RECT,{height:"100%",width:"100%",class:e},this.svgGroup_),e==="blocklyMainBackground"&&this.grid?this.svgBackground_.style.fill="url(#"+this.grid.getPatternId()+")":this.themeManager_.subscribe(this.svgBackground_,"workspaceBackgroundColour","fill")),this.layerManager=new YC(this),this.svgBlockCanvas_=this.layerManager.getBlockLayer(),this.svgBubbleCanvas_=this.layerManager.getBubbleLayer(),this.isFlyout||(Q(this.svgGroup_,"pointerdown",this,this.onMouseDown,!1),this.dummyWheelListener=()=>{},document.body.addEventListener("wheel",this.dummyWheelListener),Q(this.svgGroup_,"wheel",this,this.onMouseWheel)),this.options.hasCategories&&(this.toolbox=new(w(z.TOOLBOX,this.options,!0))(this)),this.grid&&this.grid.update(this.scale),this.recordDragTargets(),(e=w(z.CURSOR,this.options))&&this.markerManager.setCursor(new e),this.renderer.createDom(this.svgGroup_,this.getTheme()),this.svgGroup_}dispose(){if(this.rendered=!1,this.currentGesture_&&this.currentGesture_.cancel(),this.svgGroup_&&Ve(this.svgGroup_),this.toolbox&&(this.toolbox.dispose(),this.toolbox=null),this.flyout&&(this.flyout.dispose(),this.flyout=null),this.trashcan&&(this.trashcan.dispose(),this.trashcan=null),this.scrollbar&&(this.scrollbar.dispose(),this.scrollbar=null),this.zoomControls_&&this.zoomControls_.dispose(),this.audioManager&&this.audioManager.dispose(),this.grid&&(this.grid=null),this.renderer.dispose(),this.markerManager&&this.markerManager.dispose(),super.dispose(),this.themeManager_&&(this.themeManager_.unsubscribeWorkspace(this),this.themeManager_.unsubscribe(this.svgBackground_),this.options.parentWorkspace||this.themeManager_.dispose()),this.connectionDBList.length=0,this.toolboxCategoryCallbacks.clear(),this.flyoutButtonCallbacks.clear(),!this.options.parentWorkspace){const e=this.getParentSvg();e&&e.parentNode&&Ve(e.parentNode)}this.resizeHandlerWrapper&&(ze(this.resizeHandlerWrapper),this.resizeHandlerWrapper=null),this.dummyWheelListener&&(document.body.removeEventListener("wheel",this.dummyWheelListener),this.dummyWheelListener=null)}addTrashcan(){this.trashcan=Zt.newTrashcan(this);const e=this.trashcan.createDom();this.svgGroup_.insertBefore(e,this.getCanvas())}static newTrashcan(e){throw Error("The implementation of newTrashcan should be monkey-patched in by blockly.ts")}addZoomControls(){this.zoomControls_=new eb(this);const e=this.zoomControls_.createDom();this.svgGroup_.appendChild(e)}addFlyout(e){const t=new ss({parentWorkspace:this,rtl:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,renderer:this.options.renderer,rendererOverrides:this.options.rendererOverrides,move:{scrollbars:!0}});return t.toolboxPosition=this.options.toolboxPosition,this.flyout=this.horizontalLayout?new(w(z.FLYOUTS_HORIZONTAL_TOOLBOX,this.options,!0))(t):new(w(z.FLYOUTS_VERTICAL_TOOLBOX,this.options,!0))(t),this.flyout.autoClose=!1,this.flyout.getWorkspace().setVisible(!0),this.flyout.createDom(e)}getFlyout(e){return this.flyout||e?this.flyout:this.toolbox?this.toolbox.getFlyout():null}getToolbox(){return this.toolbox}updateScreenCalculations(){this.updateInverseScreenCTM(),this.recordDragTargets()}resizeContents(){this.resizesEnabled&&this.rendered&&(this.scrollbar&&this.scrollbar.resize(),this.updateInverseScreenCTM())}resize(){this.toolbox&&this.toolbox.position(),this.flyout&&this.flyout.position();const e=this.componentManager.getComponents(at.Capability.POSITIONABLE,!0),t=this.getMetricsManager().getUiMetrics(),o=[];for(let n=0,c;c=e[n];n++){c.position(t,o);const h=c.getBoundingRectangle();h&&o.push(h)}this.scrollbar&&this.scrollbar.resize(),this.updateScreenCalculations()}updateScreenCalculationsIfScrolled(){const e=Hc();G.equals(this.lastRecordedPageScroll,e)||(this.lastRecordedPageScroll=e,this.updateScreenCalculations())}getLayerManager(){return this.layerManager}getCanvas(){return this.layerManager.getBlockLayer()}setCachedParentSvgSize(e,t){const o=this.getParentSvg();e!=null&&(this.cachedParentSvgSize.width=e,o.setAttribute("data-cached-width",`${e}`)),t!=null&&(this.cachedParentSvgSize.height=t,o.setAttribute("data-cached-height",`${t}`))}getBubbleCanvas(){return this.layerManager.getBubbleLayer()}getParentSvg(){if(!this.cachedParentSvg){let e=this.svgGroup_;for(;e;){if(e.tagName==="svg"){this.cachedParentSvg=e;break}e=e.parentNode}}return this.cachedParentSvg}maybeFireViewportChangeEvent(){if(J()){var e=this.scale,t=-this.scrollY,o=-this.scrollX;if(!(e===this.oldScale&&1>Math.abs(t-this.oldTop)&&1>Math.abs(o-this.oldLeft))){var n=new(Y(M.VIEWPORT_CHANGE))(t,o,e,this.id,this.oldScale);this.oldScale=e,this.oldTop=t,this.oldLeft=o,K(n)}}}translate(e,t){let o;(o=this.layerManager)==null||o.translateLayers(new G(e,t),this.scale);let n;(n=this.grid)==null||n.moveTo(e,t),this.maybeFireViewportChangeEvent()}getWidth(){const e=this.getMetrics();return e?e.viewWidth/this.scale:0}setVisible(e){this.visible=e,this.svgGroup_&&(this.scrollbar&&this.scrollbar.setContainerVisible(e),this.getFlyout()&&this.getFlyout().setContainerVisible(e),this.getParentSvg().style.display=e?"block":"none",this.toolbox&&this.toolbox.setVisible(e),e||this.hideChaff(!0))}render(){const e=this.getAllBlocks(!1);for(let t=e.length-1;0<=t;t--)e[t].queueRender();this.getTopBlocks().flatMap(t=>t.getDescendants(!1)).filter(t=>t.isInsertionMarker()).forEach(t=>t.queueRender()),ps().then(()=>void this.markerManager.updateMarkers())}highlightBlock(e,t){if(t===void 0){for(let o=0,n;n=this.highlightedBlocks[o];o++)n.setHighlighted(!1);this.highlightedBlocks.length=0}(e=e?this.getBlockById(e):null)&&((t=t===void 0||t)?this.highlightedBlocks.includes(e)||this.highlightedBlocks.push(e):wt(this.highlightedBlocks,e),e.setHighlighted(t))}refreshToolboxSelection(){const e=this.isFlyout?this.targetWorkspace:this;e&&!e.currentGesture_&&e.toolbox&&e.toolbox.getFlyout()&&e.toolbox.refreshSelection()}renameVariableById(e,t){super.renameVariableById(e,t),this.refreshToolboxSelection()}deleteVariableById(e){super.deleteVariableById(e),this.refreshToolboxSelection()}createVariable(e,t,o){return e=super.createVariable(e,t,o),this.refreshToolboxSelection(),e}recordDragTargets(){const e=this.componentManager.getComponents(at.Capability.DRAG_TARGET,!0);this.dragTargetAreas=[];for(let t=0,o;o=e[t];t++){const n=o.getClientRect();n&&this.dragTargetAreas.push({component:o,clientRect:n})}}newBlock(e,t){throw Error("The implementation of newBlock should be monkey-patched in by blockly.ts")}newComment(e){throw Error("The implementation of newComment should be monkey-patched in by blockly.ts")}getDragTarget(e){for(let t=0,o;o=this.dragTargetAreas[t];t++)if(o.clientRect.contains(e.clientX,e.clientY))return o.component;return null}onMouseDown(e){const t=this.getGesture(e);t&&t.handleWsStart(e,this)}startDrag(e,t){_a(this,e,t)}moveDrag(e){return wa(this,e)}isDragging(){return this.currentGesture_!==null&&this.currentGesture_.isDragging()}isDraggable(){return this.options.moveOptions&&this.options.moveOptions.drag}isMovable(){return this.options.moveOptions&&!!this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel||this.options.zoomOptions&&this.options.zoomOptions.pinch}isMovableHorizontally(){const e=!!this.scrollbar;return this.isMovable()&&(!e||e&&this.scrollbar.canScrollHorizontally())}isMovableVertically(){const e=!!this.scrollbar;return this.isMovable()&&(!e||e&&this.scrollbar.canScrollVertically())}onMouseWheel(e){if(Qs.inProgress())e.preventDefault(),e.stopPropagation();else{var t=this.options.zoomOptions&&this.options.zoomOptions.wheel,o=this.options.moveOptions&&this.options.moveOptions.wheel;if(t||o){var n=Us(e);if(Yd)var c=e.metaKey;t&&(e.ctrlKey||c||!o)?(n=-n.y/50,t=tt(e,this.getParentSvg(),this.getInverseScreenCTM()),this.zoom(t.x,t.y,n)):(t=this.scrollX-n.x,o=this.scrollY-n.y,e.shiftKey&&!n.x&&(t=this.scrollX-n.y,o=this.scrollY),this.scroll(t,o)),e.preventDefault()}}}getBlocksBoundingBox(){const e=this.getTopBoundedElements();if(!e.length)return new Je(0,0,0,0);const t=e[0].getBoundingRectangle();for(let n=1;nt.bottom&&(t.bottom=o.bottom),o.leftt.right&&(t.right=o.right))}return t}cleanUp(){this.setResizesEnabled(!1),i.setGroup$$module$build$src$core$events$utils(!0);var e=this.getTopBlocks(!0),t=e.filter(h=>h.isMovable());const o=e.filter(h=>!h.isMovable()).map(h=>h.getBoundingRectangle());e=function(h){for(const $ of o)if(h.intersects($))return $;return null};var n=0;const c=this.renderer.getConstants().MIN_BLOCK_HEIGHT;for(const h of t){for(t=h.getBoundingRectangle(),h.moveBy(-t.left,n-t.top,["cleanup"]),h.snapToGrid(),t=h.getBoundingRectangle(),n=e(t);n!=null;)n=n.top+n.getHeight()+c,h.moveBy(0,n-t.top,["cleanup"]),h.snapToGrid(),t=h.getBoundingRectangle(),n=e(t);n=h.getRelativeToSurfaceXY().y+h.getHeightWidth().height+c}i.setGroup$$module$build$src$core$events$utils(!1),this.setResizesEnabled(!0)}showContextMenu(e){if(!this.options.readOnly&&!this.isFlyout){var t=Ae.registry.getContextMenuOptions(Ae.ScopeType.WORKSPACE,{workspace:this});this.configureContextMenu&&this.configureContextMenu(t,e),An(e,t,this.RTL,this)}}updateToolbox(e){if(e=qr(e)){if(!this.options.languageTree)throw Error("Existing toolbox is null. Can't create new toolbox.");if(Zr(e)){if(!this.toolbox)throw Error("Existing toolbox has no categories. Can't change mode.");this.options.languageTree=e,this.toolbox.render(e)}else{if(!this.flyout)throw Error("Existing toolbox has categories. Can't change mode.");this.options.languageTree=e,this.flyout.show(e)}}else if(this.options.languageTree)throw Error("Can't nullify an existing toolbox.")}markFocused(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():(le(this),this.getParentSvg().focus({preventScroll:!0}))}zoom(e,t,o){o=Math.pow(this.options.zoomOptions.scaleSpeed,o);const n=this.scale*o;if(this.scale!==n){n>this.options.zoomOptions.maxScale?o=this.options.zoomOptions.maxScale/this.scale:nthis.options.zoomOptions.maxScale?e=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&et.autoHide(e))}static setTopLevelWorkspaceMetrics(e){const t=this.getMetrics();typeof e.x=="number"&&(this.scrollX=-(t.scrollLeft+(t.scrollWidth-t.viewWidth)*e.x)),typeof e.y=="number"&&(this.scrollY=-(t.scrollTop+(t.scrollHeight-t.viewHeight)*e.y)),this.translate(this.scrollX+t.absoluteLeft,this.scrollY+t.absoluteTop)}},Vh=class extends gs{constructor(e,t,o){super(o),this.type=M.SELECTED,this.oldElementId=e??void 0,this.newElementId=t??void 0}toJson(){const e=super.toJson();return e.oldElementId=this.oldElementId,e.newElementId=this.newElementId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Vh),t.oldElementId=e.oldElementId,t.newElementId=e.newElementId,t}};r(z.EVENT,M.SELECTED,Vh);var lr=class{paste(e,t,o){if(!t.isCapacityAvailable(e.typeCounts))return null;o&&(e.blockState.x=o.x,e.blockState.y=o.y),o=o||new G(e.blockState.x||0,e.blockState.y||0),i.disable$$module$build$src$core$events$utils();let n;try{n=Ws(e.blockState,t),t$(n,o)}finally{i.enable$$module$build$src$core$events$utils()}return n&&(J()&&!n.isShadow()&&K(new(Y(M.BLOCK_CREATE))(n)),i.setSelected$$module$build$src$core$common(n),n)}};lr.TYPE="block",ia(lr.TYPE,new lr);var _l={};_l.bumpIntoBounds=Ei,_l.bumpIntoBoundsHandler=cd,_l.bumpTopObjectsIntoBounds=Ma;var qb=class{constructor(e){this.block=e,this.connectionPreviewer=this.connectionCandidate=this.startLoc=this.startChildConn=this.startParentConn=null,this.dragging=!1,this.dragOffset=new G(0,0),this.inGroup=!1,this.workspace=e.workspace}isMovable(){if(this.block.isShadow()){let e,t;return(t=(e=this.block.getParent())==null?void 0:e.isMovable())!=null?t:!1}return this.block.isOwnMovable()&&!this.block.isDeadOrDying()&&!this.workspace.options.readOnly&&!this.block.isInFlyout}startDrag(e){if(this.block.isShadow())this.startDraggingShadow(e);else{this.dragging=!0,(this.inGroup=!!i.getGroup$$module$build$src$core$events$utils())||i.setGroup$$module$build$src$core$events$utils(!0),this.fireDragStartEvent(),this.startLoc=this.block.getRelativeToSurfaceXY(),this.connectionCandidate=null,this.connectionPreviewer=new(w(z.CONNECTION_PREVIEWER,this.workspace.options))(this.block),Ao(),this.workspace.setResizesEnabled(!1),ki(),e=!!e&&(e.altKey||e.ctrlKey||e.metaKey),this.shouldDisconnect(e)&&this.disconnectBlock(e),this.block.setDragging(!0);var t;(t=this.workspace.getLayerManager())==null||t.moveToDragLayer(this.block)}}startDraggingShadow(e){const t=this.block.getParent();if(!t)throw Error("Tried to drag a shadow block with no parent. Shadow blocks should always have parents.");this.dragOffset=G.difference(t.getRelativeToSurfaceXY(),this.block.getRelativeToSurfaceXY()),t.startDrag(e)}shouldDisconnect(e){return!!(this.block.getParent()||e&&this.block.nextConnection&&this.block.nextConnection.targetBlock())}disconnectBlock(e){let t,o,n;if(this.startParentConn=(n=(t=this.block.outputConnection)==null?void 0:t.targetConnection)!=null?n:(o=this.block.previousConnection)==null?void 0:o.targetConnection,e){let c;this.startChildConn=(c=this.block.nextConnection)==null?void 0:c.targetConnection}this.block.unplug(e),Vu(this.block)}fireDragStartEvent(){const e=new(Y(M.BLOCK_DRAG))(this.block,!0,this.block.getDescendants(!1));K(e)}fireDragEndEvent(){const e=new(Y(M.BLOCK_DRAG))(this.block,!1,this.block.getDescendants(!1));K(e)}fireMoveEvent(){if(!this.block.isDeadOrDying()){var e=new(Y(M.BLOCK_MOVE))(this.block);e.setReason(["drag"]),e.oldCoordinate=this.startLoc,e.recordNew(),K(e)}}drag(e){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.drag(G.sum(e,this.dragOffset))}else this.block.moveDuringDrag(e),this.updateConnectionPreview(this.block,G.difference(e,this.startLoc))}updateConnectionPreview(e,t){var o=this.connectionCandidate;const n=this.getConnectionCandidate(e,t);if(n){this.connectionCandidate=t=o&&this.currCandidateIsBetter(o,t,n)?o:n;var{local:c,neighbour:h}=t;t=c.type===ne.OUTPUT_VALUE||c.type===ne.PREVIOUS_STATEMENT,o=h.isConnected()&&!h.targetBlock().isInsertionMarker(),t&&o&&!this.orphanCanConnectAtEnd(e,h.targetBlock(),c.type)?this.connectionPreviewer.previewReplacement(c,h,h.targetBlock()):this.connectionPreviewer.previewConnection(c,h)}else this.connectionPreviewer.hidePreview(),this.connectionCandidate=null}orphanCanConnectAtEnd(e,t,o){return!!Be.getConnectionForOrphanedConnection(e,o===ne.OUTPUT_VALUE?t.outputConnection:t.previousConnection)}currCandidateIsBetter(e,t,o){const{local:n,neighbour:c}=e;e=new G(n.x,n.y);const h=new G(c.x,c.y);return t=G.distance(G.sum(e,t),h),o.distance>t-i.config$$module$build$src$core$config.currentConnectionPreference}getConnectionCandidate(e,t){e=this.getLocalConnections(e);let o=this.connectionCandidate?i.config$$module$build$src$core$config.connectingSnapRadius:i.config$$module$build$src$core$config.snapRadius,n=null;for(const c of e){const{connection:h,radius:$}=c.closest(o,t);h&&(n={local:c,neighbour:h,distance:$},o=$)}return n}getLocalConnections(e){const t=e.getConnections_(!1),o=e.lastConnectionInStack(!0);return o&&o!==e.nextConnection&&t.push(o),t}endDrag(e){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.endDrag(e)}else{if(this.fireDragEndEvent(),this.fireMoveEvent(),Ro(),ki(),this.connectionPreviewer.hidePreview(),!this.block.isDeadOrDying()&&this.dragging){let t;(t=this.workspace.getLayerManager())==null||t.moveOffDragLayer(this.block,yo),this.block.setDragging(!1)}this.connectionCandidate?(this.applyConnections(this.connectionCandidate),this.disposeStep()):this.block.queueRender().then(()=>this.disposeStep()),this.inGroup||i.setGroup$$module$build$src$core$events$utils(!1)}}disposeStep(){this.block.snapToGrid(),this.connectionPreviewer.dispose(),this.workspace.setResizesEnabled(!0)}applyConnections(e){const{local:t,neighbour:o}=e;t.connect(o);const n=t.isSuperior()?o:t,c=this.block.getRootBlock();ps().then(()=>{ka(n.getSourceBlock()),setTimeout(()=>{c.bringToFront()},0)})}revertDrag(){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.revertDrag()}else{var e;if((e=this.startChildConn)==null||e.connect(this.block.nextConnection),this.startParentConn)switch(this.startParentConn.type){case ne.INPUT_VALUE:this.startParentConn.connect(this.block.outputConnection);break;case ne.NEXT_STATEMENT:this.startParentConn.connect(this.block.previousConnection)}else{this.block.moveTo(this.startLoc,["drag"]);let t;(t=this.workspace.getLayerManager())==null||t.moveOffDragLayer(this.block,yo),Ei(this.workspace,this.workspace.getMetricsManager().getScrollMetrics(!0),this.block)}this.startParentConn=this.startChildConn=null,this.connectionPreviewer.hidePreview(),this.connectionCandidate=null,this.block.setDragging(!1),this.dragging=!1}}},Zb=class{constructor(){this.drawer=this.curNode=this.colour=null,this.type="marker"}setDrawer(e){this.drawer=e}getDrawer(){return this.drawer}getCurNode(){return this.curNode}setCurNode(e){const t=this.curNode;this.curNode=e,this.drawer&&this.drawer.draw(t,this.curNode)}draw(){this.drawer&&this.drawer.draw(this.curNode,this.curNode)}hide(){this.drawer&&this.drawer.hide()}dispose(){this.getDrawer()&&this.getDrawer().dispose()}},Kh=class extends Zb{constructor(){super(),this.type="cursor"}next(){var e=this.getCurNode();if(!e)return null;for(e=e.next();e&&e.next()&&(e.getType()===P.types.NEXT||e.getType()===P.types.BLOCK);)e=e.next();return e&&this.setCurNode(e),e}in(){var e=this.getCurNode();if(!e)return null;(e.getType()===P.types.PREVIOUS||e.getType()===P.types.OUTPUT)&&(e=e.next());let t,o;return(e=(o=(t=e)==null?void 0:t.in())!=null?o:null)&&this.setCurNode(e),e}prev(){var e=this.getCurNode();if(!e)return null;for(e=e.prev();e&&e.prev()&&(e.getType()===P.types.NEXT||e.getType()===P.types.BLOCK);)e=e.prev();return e&&this.setCurNode(e),e}out(){var e=this.getCurNode();return e?((e=e.out())&&e.getType()===P.types.BLOCK&&(e=e.prev()||e),e&&this.setCurNode(e),e):null}};r(z.CURSOR,Ds,Kh);var cr=class extends Kh{constructor(){super()}next(){var e=this.getCurNode();return e?((e=this.getNextNode_(e,this.validNode_))&&this.setCurNode(e),e):null}in(){return this.next()}prev(){var e=this.getCurNode();return e?((e=this.getPreviousNode_(e,this.validNode_))&&this.setCurNode(e),e):null}out(){return this.prev()}getNextNode_(e,t){if(!e)return null;const o=e.in()||e.next();return t(o)?o:o?this.getNextNode_(o,t):(e=this.findSiblingOrParent(e.out()),t(e)?e:e?this.getNextNode_(e,t):null)}getPreviousNode_(e,t){if(!e)return null;let o=e.prev();return o=o?this.getRightMostChild(o):e.out(),t(o)?o:o?this.getPreviousNode_(o,t):null}validNode_(e){let t=!1;return e=e&&e.getType(),(e===P.types.OUTPUT||e===P.types.INPUT||e===P.types.FIELD||e===P.types.NEXT||e===P.types.PREVIOUS||e===P.types.WORKSPACE)&&(t=!0),t}findSiblingOrParent(e){if(!e)return null;const t=e.next();return t||this.findSiblingOrParent(e.out())}getRightMostChild(e){if(!e.in())return e;for(e=e.in();e&&e.next();)e=e.next();return this.getRightMostChild(e)}};cr.registrationName="basicCursor",r(z.CURSOR,cr.registrationName,cr);var Qb=class extends cr{validNode_(e){let t=!1;const o=e&&e.getType();return e&&(e=e.getLocation(),o===P.types.FIELD&&e&&e.isTabNavigable()&&e.isClickable()&&(t=!0)),t}},ev=10,Bt=class extends Be{constructor(e,t){super(e,t),this.highlighted=!1,this.targetConnection=null,this.db=e.workspace.connectionDBList[t],this.dbOpposite=e.workspace.connectionDBList[si[t]],this.offsetInBlock=new G(0,0),this.trackedState=Bt.TrackedState.WILL_TRACK}dispose(){super.dispose(),this.trackedState===Bt.TrackedState.TRACKED&&this.db.removeConnection(this,this.y);let e,t;(t=(e=this.sourceBlock_.pathObject).removeConnectionHighlight)==null||t.call(e,this)}getSourceBlock(){return super.getSourceBlock()}targetBlock(){return super.targetBlock()}distanceFrom(e){const t=this.x-e.x;return e=this.y-e.y,Math.sqrt(t*t+e*e)}bumpAwayFrom(e,t=!1){if(!this.sourceBlock_.workspace.isDragging()){var o=i.config$$module$build$src$core$config.snapRadius+Math.floor(Math.random()*ev),n=i.config$$module$build$src$core$config.snapRadius+Math.floor(Math.random()*ev),c=e.sourceBlock_.getRootBlock(),h=this.sourceBlock_.getRootBlock();if(!c.isInFlyout&&!h.isInFlyout){var $=!0;if(h.isMovable())c.isMovable()&&t&&(n=-n);else if(c.isMovable())$=!1,o=-o,n=-n;else return;t=$?e:this,e=$?this:e,c=$?h:c,(h=x()===c)||c.addSelect(),c.RTL&&(o=-o),c.moveBy(t.x+o-e.x,t.y+n-e.y,["bump"]),h||c.removeSelect()}}}moveTo(e,t){let o=!1;return this.trackedState===Bt.TrackedState.WILL_TRACK?(this.db.addConnection(this,t),this.trackedState=Bt.TrackedState.TRACKED,o=!0):this.trackedState===Bt.TrackedState.TRACKED&&(this.db.removeConnection(this,this.y),this.db.addConnection(this,t),o=!0),this.x=e,this.y=t,o}moveBy(e,t){return this.moveTo(this.x+e,this.y+t)}moveToOffset(e){return this.moveTo(e.x+this.offsetInBlock.x,e.y+this.offsetInBlock.y)}setOffsetInBlock(e,t){this.offsetInBlock.x=e,this.offsetInBlock.y=t}getOffsetInBlock(){return this.offsetInBlock}tightenEfficiently(){var e=this.targetConnection;const t=this.targetBlock();e&&t&&(e=G.difference(this.offsetInBlock,e.offsetInBlock),t.translate(e.x,e.y))}closest(e,t){return this.dbOpposite.searchForClosest(this,e,t)}highlight(){this.highlighted=!0,this.getSourceBlock().queueRender()}unhighlight(){this.highlighted=!1,this.getSourceBlock().queueRender()}isHighlighted(){return this.highlighted}setTracking(e){e&&this.trackedState===Bt.TrackedState.TRACKED||!e&&this.trackedState===Bt.TrackedState.UNTRACKED||this.sourceBlock_.isInFlyout||(e?(this.db.addConnection(this,this.y),this.trackedState=Bt.TrackedState.TRACKED):(this.trackedState===Bt.TrackedState.TRACKED&&this.db.removeConnection(this,this.y),this.trackedState=Bt.TrackedState.UNTRACKED))}stopTrackingAll(){if(this.setTracking(!1),this.targetConnection){const e=this.targetBlock().getDescendants(!1);for(let t=0;tclearTimeout(e)),this.warningTextDb.clear(),this.getIcons().forEach(e=>e.dispose())}checkAndDelete(){this.workspace.isFlyout||(i.setGroup$$module$build$src$core$events$utils(!0),this.workspace.hideChaff(),this.outputConnection?this.dispose(!1,!0):this.dispose(!0,!0),i.setGroup$$module$build$src$core$events$utils(!1))}toCopyData(){return this.isInsertionMarker_?null:{paster:lr.TYPE,blockState:Vt(this,{addCoordinates:!0,addNextBlocks:!1}),typeCounts:ve(this,!0)}}applyColour(){this.pathObject.applyColour(this);const e=this.getIcons();for(let t=0;t{this.isDeadOrDying()||(this.warningTextDb.delete(t),this.setWarningText(e,t))},100));else if(this.isInFlyout&&(e=null),o=this.getIcon(oo.TYPE),e){let n=this.getSurroundParent(),c=null;for(;n;)n.isCollapsed()&&(c=n),n=n.getSurroundParent();c&&c.setWarningText(i.Msg$$module$build$src$core$msg.COLLAPSED_WARNINGS_WARNING,ns.COLLAPSED_WARNING_ID),o?o.addMessage(e,t):this.addIcon(new oo(this).addMessage(e,t))}else o&&(t?(o.addMessage("",t),o.getText()||this.removeIcon(oo.TYPE)):this.removeIcon(oo.TYPE))}setMutator(e){this.removeIcon(i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE),e&&this.addIcon(e)}addIcon(e){return super.addIcon(e),e instanceof i.MutatorIcon$$module$build$src$core$icons$mutator_icon&&(this.mutator=e),e.initView(this.createIconPointerDownListener(e)),e.applyColour(),e.updateEditable(),this.queueRender(),e}createIconPointerDownListener(e){return t=>{this.isDeadOrDying()||(t=this.workspace.getGesture(t))&&t.setStartIcon(e)}}removeIcon(e){const t=super.removeIcon(e);return e.equals(i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE)&&(this.mutator=null),this.queueRender(),t}setEnabled(e){_("setEnabled","v11","v12","the setDisabledReason method of BlockSvg");const t=this.isEnabled();super.setEnabled(e),this.isEnabled()===t||this.getInheritedDisabled()||this.updateDisabled()}setDisabledReason(e,t){const o=this.isEnabled();super.setDisabledReason(e,t),this.isEnabled()===o||this.getInheritedDisabled()||this.updateDisabled()}setHighlighted(e){this.pathObject.updateHighlighted(e)}addSelect(){this.pathObject.updateSelected(!0)}removeSelect(){this.pathObject.updateSelected(!1)}setDeleteStyle(e){this.pathObject.updateDraggingDelete(e)}getColour(){return this.style.colourPrimary}setColour(e){super.setColour(e),e=this.workspace.getRenderer().getConstants().getBlockStyleForColour(this.colour_),this.pathObject.setStyle(e.style),this.style=e.style,this.styleName_=e.name,this.applyColour()}setStyle(e){const t=this.workspace.getRenderer().getConstants().getBlockStyle(e);if(this.styleName_=e,t)this.hat=t.hat,this.pathObject.setStyle(t),this.colour_=t.colourPrimary,this.style=t,this.applyColour();else throw Error("Invalid style name: "+e)}getStyle(){return this.style}bringToFront(e=!1){let t=this;if(!t.isDeadOrDying())do{const o=t.getSvgRoot(),n=o.parentNode,c=n.childNodes;if(c[c.length-1]!==o&&n.appendChild(o),e)break;t=t.getParent()}while(t)}setPreviousStatement(e,t){super.setPreviousStatement(e,t),this.queueRender()}setNextStatement(e,t){super.setNextStatement(e,t),this.queueRender()}setOutput(e,t){super.setOutput(e,t),this.queueRender()}setInputsInline(e){super.setInputsInline(e),this.queueRender()}removeInput(e,t){return e=super.removeInput(e,t),this.queueRender(),e}moveNumberedInputBefore(e,t){super.moveNumberedInputBefore(e,t),this.queueRender()}appendInput(e){return super.appendInput(e),this.queueRender(),e}setConnectionTracking(e){if(this.previousConnection&&this.previousConnection.setTracking(e),this.outputConnection&&this.outputConnection.setTracking(e),this.nextConnection){this.nextConnection.setTracking(e);var t=this.nextConnection.targetBlock();t&&t.setConnectionTracking(e)}if(!this.collapsed_)for(t=0;t=this.workspace.options.maxTrashcanContents||(e=new ss({scrollbars:!0,parentWorkspace:this.workspace,rtl:this.workspace.RTL,oneBasedIndex:this.workspace.options.oneBasedIndex,renderer:this.workspace.options.renderer,rendererOverrides:this.workspace.options.rendererOverrides,move:{scrollbars:!0}}),this.workspace.horizontalLayout?(e.toolboxPosition=this.workspace.toolboxPosition===xe.TOP?xe.BOTTOM:xe.TOP,this.flyout=new(w(z.FLYOUTS_HORIZONTAL_TOOLBOX,this.workspace.options,!0))(e)):(e.toolboxPosition=this.workspace.toolboxPosition===xe.RIGHT?xe.LEFT:xe.RIGHT,this.flyout=new(w(z.FLYOUTS_VERTICAL_TOOLBOX,this.workspace.options,!0))(e)),this.workspace.addChangeListener(this.onDelete.bind(this)))}createDom(){this.svgGroup=L(D.G,{class:"blocklyTrash"});let e;const t=String(Math.random()).substring(2);e=L(D.CLIPPATH,{id:"blocklyTrashBodyClipPath"+t},this.svgGroup),L(D.RECT,{width:Vi,height:Cl,y:Ki},e);const o=L(D.IMAGE,{width:Mt.width,x:-0,height:Mt.height,y:-32,"clip-path":"url(#blocklyTrashBodyClipPath"+t+")"},this.svgGroup);return o.setAttributeNS(Kt,"xlink:href",this.workspace.options.pathToMedia+Mt.url),e=L(D.CLIPPATH,{id:"blocklyTrashLidClipPath"+t},this.svgGroup),L(D.RECT,{width:Vi,height:Ki},e),this.svgLid=L(D.IMAGE,{width:Mt.width,x:-0,height:Mt.height,y:-32,"clip-path":"url(#blocklyTrashLidClipPath"+t+")"},this.svgGroup),this.svgLid.setAttributeNS(Kt,"xlink:href",this.workspace.options.pathToMedia+Mt.url),lt(this.svgGroup,"pointerdown",this,this.blockMouseDownWhenOpenable),lt(this.svgGroup,"pointerup",this,this.click),lt(o,"pointerover",this,this.mouseOver),lt(o,"pointerout",this,this.mouseOut),this.animateLid(),this.svgGroup}init(){0{let o;(o=this.flyout)==null||o.show(e),t.cursor="";let n;(n=this.workspace.scrollbar)==null||n.setVisible(!1)},10),this.fireUiEvent(!0)}}closeFlyout(){if(this.contentsIsOpen()){var e;(e=this.flyout)==null||e.hide();var t;(t=this.workspace.scrollbar)==null||t.setVisible(!0),this.fireUiEvent(!1),this.workspace.recordDragTargets()}}autoHide(e){!e&&this.flyout&&this.closeFlyout()}emptyContents(){this.hasContents()&&(this.contents.length=0,this.setMinOpenness(0),this.closeFlyout())}position(e,t){if(this.initialized){var o=sa(this.workspace,e);e=ta(o,new Ne(Vi,Cl+Ki),iT,ov,e,this.workspace),t=oa(e,ov,o.vertical===Zs.TOP?bo.DOWN:bo.UP,t),this.top=t.top,this.left=t.left;var n;(n=this.svgGroup)==null||n.setAttribute("transform","translate("+this.left+","+this.top+")");var c;(c=this.flyout)==null||c.position()}}getBoundingRectangle(){return new Je(this.top,this.top+Cl+Ki,this.left,this.left+Vi)}getClientRect(){if(!this.svgGroup)return null;var e=this.svgGroup.getBoundingClientRect();const t=e.top+rT-Tl;return e=e.left+nT-Tl,new Je(t,t+Ki+Cl+2*Tl,e,e+Vi+2*Tl)}onDragOver(e){this.setLidOpen(this.wouldDelete_)}onDragExit(e){this.setLidOpen(!1)}onDrop(e){setTimeout(this.setLidOpen.bind(this,!1),100)}setLidOpen(e){this.isLidOpen!==e&&(this.lidTask&&clearTimeout(this.lidTask),this.isLidOpen=e,this.animateLid())}animateLid(){const e=cT;var t=1/(e+1);this.lidOpen+=this.isLidOpen?t:-t,this.lidOpen=Math.min(Math.max(this.lidOpen,this.minOpenness),1),this.setLidAngle(this.lidOpen*nv),t=iv+this.lidOpen*(uT-iv),this.svgGroup&&(this.svgGroup.style.opacity=`${t}`),this.lidOpen>this.minOpenness&&1>this.lidOpen&&(this.lidTask=setTimeout(this.animateLid.bind(this),lT/e))}setLidAngle(e){const t=this.workspace.toolboxPosition===xe.RIGHT||this.workspace.horizontalLayout&&this.workspace.RTL;let o;(o=this.svgLid)==null||o.setAttribute("transform","rotate("+(t?-e:e)+","+(t?4:Vi-4)+","+(Ki-2)+")")}setMinOpenness(e){this.minOpenness=e,this.isLidOpen||this.setLidAngle(e*nv)}closeLid(){this.setLidOpen(!1)}click(){this.hasContents()&&!this.workspace.isDragging()&&this.openFlyout()}fireUiEvent(e){e=new(Y(M.TRASHCAN_OPEN))(e,this.workspace.id),K(e)}blockMouseDownWhenOpenable(e){!this.contentsIsOpen()&&this.hasContents()&&e.stopPropagation()}mouseOver(){this.hasContents()&&this.setLidOpen(!0)}mouseOut(){this.setLidOpen(!1)}onDelete(e){if(!(0>=this.workspace.options.maxTrashcanContents||!E(e)||e.wasShadow)){if(!e.oldJson)throw Error("Encountered a delete event without proper oldJson");if(e=JSON.stringify(this.cleanBlockJson(e.oldJson)),!this.contents.includes(e)){for(this.contents.unshift(e);this.contents.length>this.workspace.options.maxTrashcanContents;)this.contents.pop();this.setMinOpenness(aT)}}}cleanBlockJson(e){function t(o){if(o){if(delete o.id,delete o.x,delete o.y,delete o.enabled,delete o.disabledReasons,o.icons&&o.icons.comment){var n=o.icons.comment;delete n.height,delete n.width,delete n.pinned}n=o.inputs;for(var c in n){var h=n[c];const $=h.block;h=h.shadow,$&&t($),h&&t(h)}o.next&&(c=o.next,o=c.block,c=c.shadow,o&&t(o),c&&t(c))}}return e=JSON.parse(JSON.stringify(e)),t(e),Object.assign({},{kind:"BLOCK"},e)}},Vi=47,Cl=44,Ki=16,ov=20,iT=20,Tl=10,nT=0,rT=32,aT=.1,lT=80,cT=4,iv=.4,uT=.8,nv=45,He=class{constructor(){this.shortcuts=new Map,this.keyMap=new Map,this.reset()}reset(){this.shortcuts.clear(),this.keyMap.clear()}register(e,t){if(this.shortcuts.get(e.name)&&!t)throw Error(`Shortcut named "${e.name}" already exists.`);if(this.shortcuts.set(e.name,e),t=e.keyCodes,t!=null&&t.length)for(const o of t)this.addKeyMapping(o,e.name,!!e.allowCollision)}unregister(e){return this.shortcuts.get(e)?(this.removeAllKeyMappings(e),this.shortcuts.delete(e),!0):(console.warn(`Keyboard shortcut named "${e}" not found.`),!1)}addKeyMapping(e,t,o){e=`${e}`;const n=this.keyMap.get(e);if(n&&!o)throw Error(`Shortcut named "${t}" collides with shortcuts "${n}"`);n&&o?n.unshift(t):this.keyMap.set(e,[t])}removeKeyMapping(e,t,o){const n=this.keyMap.get(e);if(!n)return o||console.warn(`No keyboard shortcut named "${t}" registered with key code "${e}"`),!1;const c=n.indexOf(t);return-1vd(t)),e.length?e:null}load(e,t){const o=t.getProcedureMap();for(const n of e)o.add(yd(this.procedureModelClass,this.parameterModelClass,n,t))}clear(e){e.getProcedureMap().clear()}},kl={};kl.ProcedureSerializer=hT,kl.loadProcedure=yd,kl.saveProcedure=vd;var rv=class{constructor(){this.priority=tb}save(e){const t=[];for(const o of e.getAllVariables())e={name:o.name,id:o.getId()},o.type&&(e.type=o.type),t.push(e);return t.length?t:null}load(e,t){for(const o of e)t.createVariable(o.name,o.type,o.id)}clear(e){e.getVariableMap().clear()}};_n("variables",new rv);var av={};av.VariableSerializer=rv;var qh={};qh.load=l$,qh.save=a$;var pT={blocks:Xn,exceptions:Vo,priorities:jC,procedures:kl,registry:th,variables:av,workspaceComments:Va,workspaces:qh},Zh=class{constructor(e,t,o,n,c){this.workspace=e,this.oldHostMetrics=this.corner_=this.vScroll=this.hScroll=null,t=t===void 0?!0:t,o=o===void 0?!0:o;const h=t&&o;t&&(this.hScroll=new pt(e,!0,h,n,c)),o&&(this.vScroll=new pt(e,!1,h,n,c)),h&&(this.corner_=L(D.RECT,{height:pt.scrollbarThickness,width:pt.scrollbarThickness,class:"blocklyScrollbarBackground"}),Do(this.corner_,e.getBubbleCanvas()))}dispose(){Ve(this.corner_),this.oldHostMetrics=this.corner_=null,this.hScroll&&(this.hScroll.dispose(),this.hScroll=null),this.vScroll&&(this.vScroll.dispose(),this.vScroll=null)}resize(){const e=this.workspace.getMetrics();if(e){var t=!1,o=!1;if(this.oldHostMetrics&&this.oldHostMetrics.viewWidth===e.viewWidth&&this.oldHostMetrics.viewHeight===e.viewHeight&&this.oldHostMetrics.absoluteTop===e.absoluteTop&&this.oldHostMetrics.absoluteLeft===e.absoluteLeft?(this.oldHostMetrics&&this.oldHostMetrics.scrollWidth===e.scrollWidth&&this.oldHostMetrics.viewLeft===e.viewLeft&&this.oldHostMetrics.scrollLeft===e.scrollLeft||(t=!0),this.oldHostMetrics&&this.oldHostMetrics.scrollHeight===e.scrollHeight&&this.oldHostMetrics.viewTop===e.viewTop&&this.oldHostMetrics.scrollTop===e.scrollTop||(o=!0)):o=t=!0,t||o){try{i.disable$$module$build$src$core$events$utils(),this.hScroll&&t&&this.hScroll.resize(e),this.vScroll&&o&&this.vScroll.resize(e)}finally{i.enable$$module$build$src$core$events$utils()}this.workspace.maybeFireViewportChangeEvent()}if(this.hScroll&&this.vScroll){if(!this.oldHostMetrics||this.oldHostMetrics.viewWidth!==e.viewWidth||this.oldHostMetrics.absoluteLeft!==e.absoluteLeft){let n;(n=this.corner_)==null||n.setAttribute("x",String(this.vScroll.position.x))}if(!this.oldHostMetrics||this.oldHostMetrics.viewHeight!==e.viewHeight||this.oldHostMetrics.absoluteTop!==e.absoluteTop){let n;(n=this.corner_)==null||n.setAttribute("y",String(this.hScroll.position.y))}}this.oldHostMetrics=e}}canScrollHorizontally(){return!!this.hScroll}canScrollVertically(){return!!this.vScroll}setOrigin(e,t){this.hScroll&&this.hScroll.setOrigin(e,t),this.vScroll&&this.vScroll.setOrigin(e,t)}set(e,t,o){this.hScroll&&this.hScroll.set(e,!1),this.vScroll&&this.vScroll.set(t,!1),(o||o===void 0)&&(e={},this.hScroll&&(e.x=this.hScroll.getRatio_()),this.vScroll&&(e.y=this.vScroll.getRatio_()),this.workspace.setMetrics(e))}setX(e){this.hScroll&&this.hScroll.set(e,!0)}setY(e){this.vScroll&&this.vScroll.set(e,!0)}setContainerVisible(e){this.hScroll&&this.hScroll.setContainerVisible(e),this.vScroll&&this.vScroll.setContainerVisible(e)}isVisible(){let e=!1;return this.hScroll&&(e=this.hScroll.isVisible()),this.vScroll&&(e=e||this.vScroll.isVisible()),e}setVisible(e){this.hScroll&&this.hScroll.setVisibleInternal(e),this.vScroll&&this.vScroll.setVisibleInternal(e)}resizeContent(e){this.hScroll&&this.hScroll.resizeContentHorizontal(e),this.vScroll&&this.vScroll.resizeContentVertical(e)}resizeView(e){this.hScroll&&this.hScroll.resizeViewHorizontal(e),this.vScroll&&this.vScroll.resizeViewVertical(e)}},Qh=class{constructor(e){this.workspace_=e}getDimensionsPx_(e){let t=0,o=0;return e&&(t=e.getWidth(),o=e.getHeight()),new Ne(t,o)}getFlyoutMetrics(e){return e=this.getDimensionsPx_(this.workspace_.getFlyout(e)),{width:e.width,height:e.height,position:this.workspace_.toolboxPosition}}getToolboxMetrics(){const e=this.getDimensionsPx_(this.workspace_.getToolbox());return{width:e.width,height:e.height,position:this.workspace_.toolboxPosition}}getSvgMetrics(){return this.workspace_.getCachedParentSvgSize()}getAbsoluteMetrics(){let e=0,t=0;const o=this.getToolboxMetrics(),n=this.getFlyoutMetrics(),c=!!this.workspace_.getToolbox();var h;const $=!((h=this.workspace_.getFlyout())!=null&&h.autoClose);h=c?o.position:n.position;const T=h===xe.TOP;return h===xe.LEFT&&(c&&(e+=o.width),$&&(e+=n.width)),T&&(c&&(t+=o.height),$&&(t+=n.height)),{top:t,left:e}}getViewMetrics(e){e=e?this.workspace_.scale:1;const t=this.getSvgMetrics(),o=this.getToolboxMetrics(),n=this.getFlyoutMetrics(),c=!!this.workspace_.getToolbox();var h;const $=!((h=this.workspace_.getFlyout())!=null&&h.autoClose);h=c?o.position:n.position;const T=h===xe.LEFT||h===xe.RIGHT;return(h===xe.TOP||h===xe.BOTTOM)&&(c&&(t.height-=o.height),$&&(t.height-=n.height)),T&&(c&&(t.width-=o.width),$&&(t.width-=n.width)),{height:t.height/e,width:t.width/e,top:-this.workspace_.scrollY/e,left:-this.workspace_.scrollX/e}}getContentMetrics(e){e=e?1:this.workspace_.scale;const t=this.workspace_.getBlocksBoundingBox();return{height:(t.bottom-t.top)*e,width:(t.right-t.left)*e,top:t.top*e,left:t.left*e}}hasFixedEdges(){return!this.workspace_.isMovableHorizontally()||!this.workspace_.isMovableVertically()}getComputedFixedEdges_(e){if(!this.hasFixedEdges())return{};const t=this.workspace_.isMovableHorizontally(),o=this.workspace_.isMovableVertically();e=e||this.getViewMetrics(!1);const n={};return o||(n.top=e.top,n.bottom=e.top+e.height),t||(n.left=e.left,n.right=e.left+e.width),n}getPaddedContent_(e,t){const o=t.top+t.height,n=t.left+t.width,c=e.width;e=e.height;const h=c/2,$=e/2;return{top:Math.min(t.top-$,o-e),bottom:Math.max(o+$,t.top+e),left:Math.min(t.left-h,n-c),right:Math.max(n+h,t.left+c)}}getScrollMetrics(e,t,o){e=e?this.workspace_.scale:1,t=t||this.getViewMetrics(!1);var n=o||this.getContentMetrics();o=this.getComputedFixedEdges_(t),t=this.getPaddedContent_(t,n),n=o.top!==void 0?o.top:t.top;const c=o.left!==void 0?o.left:t.left;return{top:n/e,left:c/e,width:((o.right!==void 0?o.right:t.right)-c)/e,height:((o.bottom!==void 0?o.bottom:t.bottom)-n)/e}}getUiMetrics(){return{viewMetrics:this.getViewMetrics(),absoluteMetrics:this.getAbsoluteMetrics(),toolboxMetrics:this.getToolboxMetrics()}}getMetrics(){const e=this.getToolboxMetrics(),t=this.getFlyoutMetrics(!0),o=this.getSvgMetrics(),n=this.getAbsoluteMetrics(),c=this.getViewMetrics(),h=this.getContentMetrics(),$=this.getScrollMetrics(!1,c,h);return{contentHeight:h.height,contentWidth:h.width,contentTop:h.top,contentLeft:h.left,scrollHeight:$.height,scrollWidth:$.width,scrollTop:$.top,scrollLeft:$.left,viewHeight:c.height,viewWidth:c.width,viewTop:c.top,viewLeft:c.left,absoluteTop:n.top,absoluteLeft:n.left,svgHeight:o.height,svgWidth:o.width,toolboxWidth:e.width,toolboxHeight:e.height,toolboxPosition:e.position,flyoutWidth:t.width,flyoutHeight:t.height}}};r(z.METRICS_MANAGER,Ds,Qh),"Blockly"in globalThis||(globalThis.Blockly={Msg:db});var lv=class extends $l{constructor(){super(),this.GRID_UNIT=4,this.CURSOR_COLOUR="#ffa200",this.CURSOR_RADIUS=5,this.JAGGED_TEETH_WIDTH=this.JAGGED_TEETH_HEIGHT=0,this.START_HAT_HEIGHT=22,this.START_HAT_WIDTH=96,this.SHAPES={HEXAGONAL:1,ROUND:2,SQUARE:3,PUZZLE:4,NOTCH:5},this.SHAPE_IN_SHAPE_PADDING={1:{0:5*this.GRID_UNIT,1:2*this.GRID_UNIT,2:5*this.GRID_UNIT,3:5*this.GRID_UNIT},2:{0:3*this.GRID_UNIT,1:3*this.GRID_UNIT,2:1*this.GRID_UNIT,3:2*this.GRID_UNIT},3:{0:2*this.GRID_UNIT,1:2*this.GRID_UNIT,2:2*this.GRID_UNIT,3:2*this.GRID_UNIT}},this.FULL_BLOCK_FIELDS=!0,this.FIELD_TEXT_FONTWEIGHT="bold",this.FIELD_TEXT_FONTFAMILY='"Helvetica Neue", "Segoe UI", Helvetica, sans-serif',this.FIELD_COLOUR_FULL_BLOCK=this.FIELD_TEXTINPUT_BOX_SHADOW=this.FIELD_DROPDOWN_SVG_ARROW=this.FIELD_DROPDOWN_COLOURED_DIV=this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW=!0,this.SELECTED_GLOW_COLOUR="#fff200",this.SELECTED_GLOW_SIZE=.5,this.REPLACEMENT_GLOW_COLOUR="#fff200",this.REPLACEMENT_GLOW_SIZE=2,this.selectedGlowFilterId="",this.selectedGlowFilter=null,this.replacementGlowFilterId="",this.SQUARED=this.ROUNDED=this.HEXAGONAL=this.replacementGlowFilter=null,this.SMALL_PADDING=this.GRID_UNIT,this.MEDIUM_PADDING=2*this.GRID_UNIT,this.MEDIUM_LARGE_PADDING=3*this.GRID_UNIT,this.LARGE_PADDING=4*this.GRID_UNIT,this.CORNER_RADIUS=1*this.GRID_UNIT,this.NOTCH_WIDTH=9*this.GRID_UNIT,this.NOTCH_HEIGHT=2*this.GRID_UNIT,this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT=3*this.GRID_UNIT,this.MIN_BLOCK_WIDTH=2*this.GRID_UNIT,this.MIN_BLOCK_HEIGHT=12*this.GRID_UNIT,this.EMPTY_STATEMENT_INPUT_HEIGHT=6*this.GRID_UNIT,this.TOP_ROW_MIN_HEIGHT=this.CORNER_RADIUS,this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING,this.BOTTOM_ROW_MIN_HEIGHT=this.CORNER_RADIUS,this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT=6*this.GRID_UNIT,this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT,this.STATEMENT_INPUT_SPACER_MIN_WIDTH=40*this.GRID_UNIT,this.STATEMENT_INPUT_PADDING_LEFT=4*this.GRID_UNIT,this.EMPTY_INLINE_INPUT_PADDING=4*this.GRID_UNIT,this.EMPTY_INLINE_INPUT_HEIGHT=8*this.GRID_UNIT,this.DUMMY_INPUT_MIN_HEIGHT=8*this.GRID_UNIT,this.DUMMY_INPUT_SHADOW_MIN_HEIGHT=6*this.GRID_UNIT,this.CURSOR_WS_WIDTH=20*this.GRID_UNIT,this.FIELD_TEXT_FONTSIZE=3*this.GRID_UNIT,this.FIELD_BORDER_RECT_RADIUS=this.CORNER_RADIUS,this.FIELD_BORDER_RECT_X_PADDING=2*this.GRID_UNIT,this.FIELD_BORDER_RECT_Y_PADDING=1.625*this.GRID_UNIT,this.FIELD_BORDER_RECT_HEIGHT=8*this.GRID_UNIT,this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=8*this.GRID_UNIT,this.FIELD_DROPDOWN_SVG_ARROW_PADDING=this.FIELD_BORDER_RECT_X_PADDING,this.FIELD_COLOUR_DEFAULT_WIDTH=6*this.GRID_UNIT,this.FIELD_COLOUR_DEFAULT_HEIGHT=8*this.GRID_UNIT,this.FIELD_CHECKBOX_X_OFFSET=1*this.GRID_UNIT,this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH=12*this.GRID_UNIT}setFontConstants_(e){super.setFontConstants_(e),this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=this.FIELD_BORDER_RECT_HEIGHT=this.FIELD_TEXT_HEIGHT+2*this.FIELD_BORDER_RECT_Y_PADDING}init(){super.init(),this.HEXAGONAL=this.makeHexagonal(),this.ROUNDED=this.makeRounded(),this.SQUARED=this.makeSquared(),this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT+this.INSIDE_CORNERS.rightWidth}setDynamicProperties_(e){super.setDynamicProperties_(e),this.SELECTED_GLOW_COLOUR=e.getComponentStyle("selectedGlowColour")||this.SELECTED_GLOW_COLOUR;const t=Number(e.getComponentStyle("selectedGlowSize"));this.SELECTED_GLOW_SIZE=t&&!isNaN(t)?t:this.SELECTED_GLOW_SIZE,this.REPLACEMENT_GLOW_COLOUR=e.getComponentStyle("replacementGlowColour")||this.REPLACEMENT_GLOW_COLOUR,this.REPLACEMENT_GLOW_SIZE=(e=Number(e.getComponentStyle("replacementGlowSize")))&&!isNaN(e)?e:this.REPLACEMENT_GLOW_SIZE}dispose(){super.dispose(),this.selectedGlowFilter&&Ve(this.selectedGlowFilter),this.replacementGlowFilter&&Ve(this.replacementGlowFilter)}makeStartHat(){const e=this.START_HAT_HEIGHT,t=this.START_HAT_WIDTH,o=jt("c",[he(25,-e),he(71,-e),he(t,0)]);return{height:e,width:t,path:o}}makeHexagonal(){function e(o,n,c){var h=o/2;return h=h>t?t:h,c=c?-1:1,o=(n?-1:1)*o/2,xs(-c*h,o)+xs(c*h,o)}const t=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;return{type:this.SHAPES.HEXAGONAL,isDynamic:!0,width(o){return o/=2,o>t?t:o},height(o){return o},connectionOffsetY(o){return o/2},connectionOffsetX(o){return-o},pathDown(o){return e(o,!1,!1)},pathUp(o){return e(o,!0,!1)},pathRightDown(o){return e(o,!1,!0)},pathRightUp(o){return e(o,!1,!0)}}}makeRounded(){function e(n,c,h){const $=n>o?n-o:0;n=(n>o?o:n)/2;const T=h===c?"0":"1";return ht("a","0 0,"+T,n,he((h?1:-1)*n,(c?-1:1)*n))+re("v",(c?-1:1)*$)+ht("a","0 0,"+T,n,he((h?-1:1)*n,(c?-1:1)*n))}const t=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH,o=2*t;return{type:this.SHAPES.ROUND,isDynamic:!0,width(n){return n/=2,n>t?t:n},height(n){return n},connectionOffsetY(n){return n/2},connectionOffsetX(n){return-n},pathDown(n){return e(n,!1,!1)},pathUp(n){return e(n,!0,!1)},pathRightDown(n){return e(n,!1,!0)},pathRightUp(n){return e(n,!1,!0)}}}makeSquared(){function e(o,n,c){o-=2*t;const h=c===n?"0":"1";return ht("a","0 0,"+h,t,he((c?1:-1)*t,(n?-1:1)*t))+re("v",(n?-1:1)*o)+ht("a","0 0,"+h,t,he((c?-1:1)*t,(n?-1:1)*t))}const t=this.CORNER_RADIUS;return{type:this.SHAPES.SQUARE,isDynamic:!0,width(o){return t},height(o){return o},connectionOffsetY(o){return o/2},connectionOffsetX(o){return-o},pathDown(o){return e(o,!1,!1)},pathUp(o){return e(o,!0,!1)},pathRightDown(o){return e(o,!1,!0)},pathRightUp(o){return e(o,!1,!0)}}}shapeFor(e){let t=e.getCheck();switch(!t&&e.targetConnection&&(t=e.targetConnection.getCheck()),e.type){case ne.INPUT_VALUE:case ne.OUTPUT_VALUE:if(e=e.getSourceBlock().getOutputShape(),e!==null)switch(e){case this.SHAPES.HEXAGONAL:return this.HEXAGONAL;case this.SHAPES.ROUND:return this.ROUNDED;case this.SHAPES.SQUARE:return this.SQUARED}return t&&t.includes("Boolean")?this.HEXAGONAL:t&&t.includes("Number")?this.ROUNDED:(t&&t.includes("String"),this.ROUNDED);case ne.PREVIOUS_STATEMENT:case ne.NEXT_STATEMENT:return this.NOTCH;default:throw Error("Unknown type")}}makeNotch(){function e(ie){return jt("c",[he(ie*c/2,0),he(ie*c*3/4,$/2),he(ie*c,$)])+Si([he(ie*c,h)])+jt("c",[he(ie*c/4,$/2),he(ie*c/2,$),he(ie*c,$)])+re("h",ie*n)+jt("c",[he(ie*c/2,0),he(ie*c*3/4,-($/2)),he(ie*c,-$)])+Si([he(ie*c,-h)])+jt("c",[he(ie*c/4,-($/2)),he(ie*c/2,-$),he(ie*c,-$)])}const t=this.NOTCH_WIDTH,o=this.NOTCH_HEIGHT,n=t/3,c=n/3,h=o/2,$=h/2,T=e(1),B=e(-1);return{type:this.SHAPES.NOTCH,width:t,height:o,pathLeft:T,pathRight:B}}makeInsideCorners(){const e=this.CORNER_RADIUS,t=ht("a","0 0,0",e,he(-e,e)),o=ht("a","0 0,1",e,he(-e,e)),n=ht("a","0 0,0",e,he(e,e)),c=ht("a","0 0,1",e,he(e,e));return{width:e,height:e,pathTop:t,pathBottom:n,rightWidth:e,rightHeight:e,pathTopRight:o,pathBottomRight:c}}generateSecondaryColour_(e){return No("#000",e,.15)||e}generateTertiaryColour_(e){return No("#000",e,.25)||e}createDom(e,t,o){super.createDom(e,t,o),e=L(D.DEFS,{},e),t=L(D.FILTER,{id:"blocklySelectedGlowFilter"+this.randomIdentifier,height:"160%",width:"180%",y:"-30%",x:"-40%"},e),L(D.FEGAUSSIANBLUR,{in:"SourceGraphic",stdDeviation:this.SELECTED_GLOW_SIZE},t),o=L(D.FECOMPONENTTRANSFER,{result:"outBlur"},t),L(D.FEFUNCA,{type:"table",tableValues:"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"},o),L(D.FEFLOOD,{"flood-color":this.SELECTED_GLOW_COLOUR,"flood-opacity":1,result:"outColor"},t),L(D.FECOMPOSITE,{in:"outColor",in2:"outBlur",operator:"in",result:"outGlow"},t),this.selectedGlowFilterId=t.id,this.selectedGlowFilter=t,e=L(D.FILTER,{id:"blocklyReplacementGlowFilter"+this.randomIdentifier,height:"160%",width:"180%",y:"-30%",x:"-40%"},e),L(D.FEGAUSSIANBLUR,{in:"SourceGraphic",stdDeviation:this.REPLACEMENT_GLOW_SIZE},e),t=L(D.FECOMPONENTTRANSFER,{result:"outBlur"},e),L(D.FEFUNCA,{type:"table",tableValues:"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"},t),L(D.FEFLOOD,{"flood-color":this.REPLACEMENT_GLOW_COLOUR,"flood-opacity":1,result:"outColor"},e),L(D.FECOMPOSITE,{in:"outColor",in2:"outBlur",operator:"in",result:"outGlow"},e),L(D.FECOMPOSITE,{in:"SourceGraphic",in2:"outGlow",operator:"over"},e),this.replacementGlowFilterId=e.id,this.replacementGlowFilter=e}getCSS_(e){return[`${e} .blocklyText,`,`${e} .blocklyFlyoutLabelText {`,`font: ${this.FIELD_TEXT_FONTWEIGHT} ${this.FIELD_TEXT_FONTSIZE}pt ${this.FIELD_TEXT_FONTFAMILY};`,"}",`${e} .blocklyTextInputBubble textarea {`,"font-weight: normal;","}",`${e} .blocklyText {`,"fill: #fff;","}",`${e} .blocklyNonEditableText>rect:not(.blocklyDropdownRect),`,`${e} .blocklyEditableText>rect:not(.blocklyDropdownRect) {`,`fill: ${this.FIELD_BORDER_RECT_COLOUR};`,"}",`${e} .blocklyNonEditableText>text,`,`${e} .blocklyEditableText>text,`,`${e} .blocklyNonEditableText>g>text,`,`${e} .blocklyEditableText>g>text {`,"fill: #575E75;","}",`${e} .blocklyFlyoutLabelText {`,"fill: #575E75;","}",`${e} .blocklyText.blocklyBubbleText {`,"fill: #575E75;","}",`${e} .blocklyDraggable:not(.blocklyDisabled)`," .blocklyEditableText:not(.editing):hover>rect,",`${e} .blocklyDraggable:not(.blocklyDisabled)`," .blocklyEditableText:not(.editing):hover>.blocklyPath {","stroke: #fff;","stroke-width: 2;","}",`${e} .blocklyHtmlInput {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,`font-weight: ${this.FIELD_TEXT_FONTWEIGHT};`,"color: #575E75;","}",`${e} .blocklyDropdownText {`,"fill: #fff !important;","}",`${e}.blocklyWidgetDiv .blocklyMenuItem,`,`${e}.blocklyDropDownDiv .blocklyMenuItem {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,"}",`${e}.blocklyDropDownDiv .blocklyMenuItemContent {`,"color: #fff;","}",`${e} .blocklyHighlightedConnectionPath {`,`stroke: ${this.SELECTED_GLOW_COLOUR};`,"}",`${e} .blocklyDisabled > .blocklyOutlinePath {`,`fill: url(#blocklyDisabledPattern${this.randomIdentifier})`,"}",`${e} .blocklyInsertionMarker>.blocklyPath {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"]}},cv=class extends bl{constructor(e,t){super(e,t)}draw(){const e=this.block_.pathObject;e.beginDrawing(),this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights(),e.setPath(this.outlinePath_+` +`+this.inlinePath_),this.info_.RTL&&e.flipRTL(),this.recordSizeOnBlock_(),this.info_.outputConnection&&(e.outputShapeType=this.info_.outputConnection.shape.type),e.endDrawing()}drawOutline_(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape&&!this.info_.hasStatementInput&&!this.info_.bottomRow.hasNextConnection?(this.drawFlatTop_(),this.drawRightDynamicConnection_(),this.drawFlatBottom_(),this.drawLeftDynamicConnection_()):super.drawOutline_()}drawLeft_(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape?this.drawLeftDynamicConnection_():super.drawLeft_()}drawRightSideRow_(e){if(!(0>=e.height)){if(I.isSpacer(e)){const n=e.precedesStatement;var t=e.followsStatement;if(n||t){const c=this.constants_.INSIDE_CORNERS;var o=c.rightHeight;o=e.height-(n?o:0),t=t?c.pathBottomRight:"",e=0=o||0>=t)throw Error("Height and width values of an image field must be greater than 0.");this.size_=new Ne(t,o+oi.Y_PADDING),this.imageHeight=o,typeof c=="function"&&(this.clickHandler=c),e!==Ze.SKIP_SETUP&&($?this.configure_($):(this.flipRtl=!!h,this.altText=dt(n)||""),this.setValue(dt(e)))}configure_(e){super.configure_(e),e.flipRtl&&(this.flipRtl=e.flipRtl),e.alt&&(this.altText=dt(e.alt))}initView(){this.imageElement=L(D.IMAGE,{height:this.imageHeight+"px",width:this.size_.width+"px",alt:this.altText},this.fieldGroup_),this.imageElement.setAttributeNS(Kt,"xlink:href",this.value_),this.clickHandler&&(this.imageElement.style.cursor="pointer")}updateSize_(){}doClassValidation_(e){return typeof e!="string"?null:e}doValueUpdate_(e){this.value_=e,this.imageElement&&this.imageElement.setAttributeNS(Kt,"xlink:href",this.value_)}getFlipRtl(){return this.flipRtl}setAlt(e){e!==this.altText&&(this.altText=e||"",this.imageElement&&this.imageElement.setAttribute("alt",this.altText))}showEditor_(){this.clickHandler&&this.clickHandler(this)}setOnClickHandler(e){this.clickHandler=e}getText_(){return this.altText}static fromJson(e){if(!e.src||!e.width||!e.height)throw Error("src, width, and height values for an image field arerequired. The width and height must be non-zero.");return new this(e.src,e.width,e.height,void 0,void 0,void 0,e)}};oi.Y_PADDING=1,Is("field_image",oi),oi.prototype.DEFAULT_VALUE="";var Sl=class extends Ze{constructor(e,t,o){super(Ze.SKIP_SETUP),this.spellcheck_=!0,this.htmlInput_=null,this.isTextValid_=this.isBeingEdited_=!1,this.onKeyInputWrapper=this.onKeyDownWrapper=this.valueWhenEditorWasOpened_=null,this.fullBlockClickTarget_=!1,this.workspace_=null,this.SERIALIZABLE=!0,this.CURSOR="text",e!==Ze.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.spellcheck!==void 0&&(this.spellcheck_=e.spellcheck)}initView(){if(!this.getSourceBlock())throw new gt;super.initView(),this.isFullBlockField()&&(this.clickTarget_=this.sourceBlock_.getSvgRoot())}isFullBlockField(){const e=this.getSourceBlock();if(!e)throw new gt;let t;return this.fullBlockClickTarget_=!((t=this.getConstants())==null||!t.FULL_BLOCK_FIELDS)&&e.isSimpleReporter()}doValueInvalid_(e,t=!0){this.isBeingEdited_&&(this.isDirty_=!0,this.isTextValid_=!1,e=this.value_,this.value_=this.valueWhenEditorWasOpened_,this.sourceBlock_&&J()&&this.value_!==e&&t&&K(new(Y(M.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,e,this.value_)))}doValueUpdate_(e){this.isTextValid_=this.isDirty_=!0,this.value_=e}applyColour(){const e=this.getSourceBlock();if(!e)throw new gt;this.getConstants().FULL_BLOCK_FIELDS&&this.fieldGroup_&&(!this.isFullBlockField()&&this.borderRect_?(this.borderRect_.style.display="block",this.borderRect_.setAttribute("stroke",e.getColourTertiary())):(this.borderRect_.style.display="none",e.pathObject.svgPath.setAttribute("fill",this.getConstants().FIELD_BORDER_RECT_COLOUR)))}getSize(){let e;return(e=this.getConstants())!=null&&e.FULL_BLOCK_FIELDS&&(this.render_(),this.isDirty_=!1),super.getSize()}onLocationChange(){this.isBeingEdited_&&this.resizeEditor_()}render_(){if(super.render_(),this.isBeingEdited_){var e=this.htmlInput_;this.isTextValid_?(st(e,"blocklyInvalidInput"),Tt(e,vt.INVALID,!1)):($e(e,"blocklyInvalidInput"),Tt(e,vt.INVALID,!0))}if(e=this.getSourceBlock(),!e)throw new gt;this.getConstants().FULL_BLOCK_FIELDS&&e.applyColour()}setSpellcheck(e){e!==this.spellcheck_&&(this.spellcheck_=e,this.htmlInput_&&this.htmlInput_.setAttribute("spellcheck",this.spellcheck_))}showEditor_(e,t=!1){this.workspace_=this.sourceBlock_.workspace,!t&&this.workspace_.options.modalInputs&&(W$||Kd||Ua)?this.showPromptEditor():this.showInlineEditor(t)}showPromptEditor(){aa(i.Msg$$module$build$src$core$msg.CHANGE_VALUE_TITLE,this.getText(),e=>{e!==null&&this.setValue(this.getValueFromEditorText_(e)),this.onFinishEditing_(this.value_)})}showInlineEditor(e){const t=this.getSourceBlock();if(!t)throw new gt;ya(this,t.RTL,this.widgetDispose_.bind(this),this.workspace_),this.htmlInput_=this.widgetCreate_(),this.isBeingEdited_=!0,this.valueWhenEditorWasOpened_=this.value_,e||(this.htmlInput_.focus({preventScroll:!0}),this.htmlInput_.select())}widgetCreate_(){var e=this.getSourceBlock();if(!e)throw new gt;i.setGroup$$module$build$src$core$events$utils(!0);const t=Lo();var o=this.getClickTarget_();if(!o)throw Error("A click target has not been set.");$e(o,"editing"),o=document.createElement("input"),o.className="blocklyHtmlInput",o.setAttribute("spellcheck",this.spellcheck_);const n=this.workspace_.getScale();var c=this.getConstants().FIELD_TEXT_FONTSIZE*n+"pt";return t.style.fontSize=c,o.style.fontSize=c,c=Sl.BORDERRADIUS*n+"px",this.isFullBlockField()&&(c=this.getScaledBBox(),c=(c.bottom-c.top)/2+"px",e=e.getParent()?e.getParent().getColourTertiary():this.sourceBlock_.getColourTertiary(),o.style.border=1*n+"px solid "+e,t.style.borderRadius=c,t.style.transition="box-shadow 0.25s ease 0s",this.getConstants().FIELD_TEXTINPUT_BOX_SHADOW&&(t.style.boxShadow="rgba(255, 255, 255, 0.3) 0 0 0 "+4*n+"px")),o.style.borderRadius=c,t.appendChild(o),o.value=o.defaultValue=this.getEditorText_(this.value_),o.setAttribute("data-untyped-default-value",String(this.value_)),this.resizeEditor_(),this.bindInputEvents_(o),o}widgetDispose_(){this.isBeingEdited_=!1,this.isTextValid_=!0,this.forceRerender(),this.onFinishEditing_(this.value_),this.sourceBlock_&&J()&&this.valueWhenEditorWasOpened_!==null&&this.valueWhenEditorWasOpened_!==this.value_&&(K(new(Y(M.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,this.valueWhenEditorWasOpened_,this.value_)),this.valueWhenEditorWasOpened_=null),i.setGroup$$module$build$src$core$events$utils(!1),this.unbindInputEvents_();var e=Lo().style;if(e.width="auto",e.height="auto",e.fontSize="",e.transition="",e.boxShadow="",this.htmlInput_=null,e=this.getClickTarget_(),!e)throw Error("A click target has not been set.");st(e,"editing")}onFinishEditing_(e){}bindInputEvents_(e){this.onKeyDownWrapper=Q(e,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper=Q(e,"input",this,this.onHtmlInputChange)}unbindInputEvents_(){this.onKeyDownWrapper&&(ze(this.onKeyDownWrapper),this.onKeyDownWrapper=null),this.onKeyInputWrapper&&(ze(this.onKeyInputWrapper),this.onKeyInputWrapper=null)}onHtmlInputKeyDown_(e){e.key==="Enter"?(Bo(this),Ss()):e.key==="Escape"?(this.setValue(this.htmlInput_.getAttribute("data-untyped-default-value"),!1),Bo(this),Ss()):e.key==="Tab"&&(Bo(this),Ss(),this.sourceBlock_.tab(this,!e.shiftKey),e.preventDefault())}onHtmlInputChange(e){e=this.value_,this.setValue(this.getValueFromEditorText_(this.htmlInput_.value),!1),this.sourceBlock_&&J()&&this.value_!==e&&K(new(Y(M.BLOCK_FIELD_INTERMEDIATE_CHANGE))(this.sourceBlock_,this.name||null,e,this.value_))}setEditorValue_(e,t=!0){this.isDirty_=!0,this.isBeingEdited_&&(this.htmlInput_.value=this.getEditorText_(e)),this.setValue(e,t)}resizeEditor_(){ps().then(()=>{const e=this.getSourceBlock();if(!e)throw new gt;const t=Lo(),o=this.getScaledBBox();t.style.width=o.right-o.left+"px",t.style.height=o.bottom-o.top+"px";const n=o.top;t.style.left=`${e.RTL?o.right-t.offsetWidth:o.left}px`,t.style.top=`${n}px`})}repositionForWindowResize(){let e;const t=(e=this.getSourceBlock())==null?void 0:e.getRootBlock();return t instanceof ns?(Ei(this.workspace_,this.workspace_.getMetricsManager().getViewMetrics(!0),t)||this.resizeEditor_(),!0):!1}isTabNavigable(){return!0}getText_(){return this.isBeingEdited_&&this.htmlInput_?this.htmlInput_.value:null}getEditorText_(e){return`${e}`}getValueFromEditorText_(e){return e}};Sl.BORDERRADIUS=4;var El=class extends Sl{constructor(e,t,o){super(e,t,o)}doClassValidation_(e){return e===void 0?null:`${e}`}static fromJson(e){return new this(dt(e.text),void 0,e)}};Is("field_input",El),El.prototype.DEFAULT_VALUE="";var uv=class extends Ah{constructor(e){super(e)}endsWithElemSpacer(){return!1}hasLeftSquareCorner(e){return!!e.outputConnection}hasRightSquareCorner(e){return!!e.outputConnection&&!e.statementInputCount&&!e.nextConnection}},Il=class extends ir{constructor(e,t){if(super(e,t),this.connectedBottomNextConnection=!1,this.connectedBlock){for(e=this.connectedBlock;t=e.getNextBlock();)e=t;e.nextConnection||(this.height=this.connectedBlockHeight,this.connectedBottomNextConnection=!0)}}},dv=class extends Rs{constructor(e){super(e),this.width=this.height=0,this.type|=I.getType("RIGHT_CONNECTION")}},hv=class extends Lh{constructor(e){super(e)}endsWithElemSpacer(){return!1}hasLeftSquareCorner(e){const t=(e.hat?e.hat==="cap":this.constants_.ADD_START_HATS)&&!e.outputConnection&&!e.previousConnection;return!!e.outputConnection||t}hasRightSquareCorner(e){return!!e.outputConnection&&!e.statementInputCount&&!e.nextConnection}},pv=class extends ar{constructor(e,t){super(e,t),this.isInline=!0,this.renderer_=e,this.constants_=this.renderer_.getConstants(),this.topRow=new hv(this.constants_),this.bottomRow=new uv(this.constants_),this.isMultiRow=!t.getInputsInline()||t.isCollapsed(),this.hasStatementInput=0=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!n.precedesStatement,I.isInputRow(h)&&h.hasStatement){h.measure();let $,T;t=h.width-((T=($=h.getLastInput())==null?void 0:$.width)!=null?T:0)+e}else if(o&&(c===2||n)&&I.isInputRow(h)&&!h.hasStatement){n=h.xPos,o=null;for(let $=0;$o?o:this.height/2,t-o*(1-Math.sin(Math.acos((o-this.constants_.SMALL_PADDING)/o)));default:return 0}if(I.isInlineInput(e)&&e instanceof wo){const c=e.connectedBlock;return e=c?c.pathObject.outputShapeType:e.shape.type,e==null||c&&c.outputConnection&&(c.statementInputCount||c.nextConnection)||o===n.SHAPES.HEXAGONAL&&o!==e?0:t-this.constants_.SHAPE_IN_SHAPE_PADDING[o][e]}return I.isField(e)&&e instanceof Hi?o===n.SHAPES.ROUND&&e.field instanceof El?t-2.75*n.GRID_UNIT:t-this.constants_.SHAPE_IN_SHAPE_PADDING[o][0]:I.isIcon(e)?this.constants_.SMALL_PADDING:0}finalizeVerticalAlignment_(){if(!this.outputConnection)for(let n=2;n=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!$.precedesStatement;if(e?this.topRow.hasPreviousConnection:c.followsStatement){var o=h.elements[1];if(o=h.elements.length===3&&o instanceof Hi&&(o.field instanceof ei||o.field instanceof oi),!e&&o)c.height-=this.constants_.SMALL_PADDING,$.height-=this.constants_.SMALL_PADDING,h.height-=this.constants_.MEDIUM_PADDING;else if(!e&&!t)c.height+=this.constants_.SMALL_PADDING;else if(t){for(e=!1,t=0;t{if(!n.isDeadOrDying()){i.disable$$module$build$src$core$events$utils();try{n==null||n.positionNearConnection(c,h,$),n==null||n.getSvgRoot().setAttribute("visibility","visible")}finally{i.enable$$module$build$src$core$events$utils()}}}),c}createInsertionMarker(e){const t=Vt(e,{addCoordinates:!1,addInputBlocks:!1,addNextBlocks:!1,doFullSerialization:!1});if(!t)throw Error(`Failed to serialize source block. ${e.toDevString()}`);e=Ws(t,this.workspace);for(const o of e.getDescendants(!1))o.setInsertionMarker(!0);return e.initSvg(),e.getSvgRoot().setAttribute("visibility","hidden"),e}getMatchingConnection(e,t,o){if(e=e.getConnections_(!0),t=t.getConnections_(!0),e.length!==t.length)return null;for(let n=0;n{this.targetWorkspace.isDragging()||t.addSelect()})),this.listeners.push(lt(e,"pointerleave",t,()=>{this.targetWorkspace.isDragging()||t.removeSelect()})),this.listeners.push(lt(o,"pointerenter",t,()=>{this.targetWorkspace.isDragging()||t.addSelect()})),this.listeners.push(lt(o,"pointerleave",t,()=>{this.targetWorkspace.isDragging()||t.removeSelect()}))}blockMouseDown(e){return t=>{const o=this.targetWorkspace.getGesture(t);o&&(o.setStartBlock(e),o.handleFlyoutStart(t,this))}}onMouseDown(e){const t=this.targetWorkspace.getGesture(e);t&&t.handleFlyoutStart(e,this)}isBlockCreatable(e){return e.isEnabled()}createBlock(e){let t=null;i.disable$$module$build$src$core$events$utils();var o=this.targetWorkspace.getAllVariables();this.targetWorkspace.setResizesEnabled(!1);try{t=this.placeNewBlock(e)}finally{i.enable$$module$build$src$core$events$utils()}if(this.targetWorkspace.hideChaff(),e=kn(this.targetWorkspace,o),J()){for(i.setGroup$$module$build$src$core$events$utils(!0),o=0;o-t||e<-180+t||e>180-t}getClientRect(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;const e=this.svgGroup_.getBoundingClientRect(),t=e.left;return this.toolboxPosition_===xe.LEFT?new Je(-1e9,1e9,-1e9,t+e.width):new Je(-1e9,1e9,t,1e9)}reflowInternal_(){this.workspace_.scale=this.getFlyoutScale();let e=0;var t=this.workspace_.getTopBlocks(!1);for(let n=0,c;c=t[n];n++){var o=c.getHeightWidth().width;c.outputConnection&&(o-=this.tabWidth_),e=Math.max(e,o)}for(let n=0,c;c=this.buttons_[n];n++)e=Math.max(e,c.width);if(e+=1.5*this.MARGIN+this.tabWidth_,e*=this.workspace_.scale,e+=pt.scrollbarThickness,this.width_!==e){for(let n=0,c;c=t[n];n++){if(this.RTL){o=c.getRelativeToSurfaceXY().x;let h=e/this.workspace_.scale-this.MARGIN;c.outputConnection||(h-=this.tabWidth_),c.moveBy(h-o,0)}this.rectMap_.has(c)&&this.moveRectToBlock_(this.rectMap_.get(c),c)}if(this.RTL)for(let n=0,c;c=this.buttons_[n];n++)t=c.getPosition().y,c.moveTo(e/this.workspace_.scale-c.width-this.MARGIN-this.tabWidth_,t);this.targetWorkspace.scrollbar||this.autoClose||this.targetWorkspace.getFlyout()!==this||this.toolboxPosition_!==xe.LEFT||this.targetWorkspace.translate(this.targetWorkspace.scrollX+e,this.targetWorkspace.scrollY),this.width_=e,this.position(),this.targetWorkspace.resizeContents(),this.targetWorkspace.recordDragTargets()}}};tp.registryName="verticalFlyout",r(z.FLYOUTS_VERTICAL_TOOLBOX,Ds,tp);var yv=class extends xl{constructor(e){super(e),this.horizontalLayout=!0}setMetrics_(e){if(this.isVisible()){var t=this.workspace_.getMetricsManager(),o=t.getScrollMetrics(),n=t.getViewMetrics();t=t.getAbsoluteMetrics(),typeof e.x=="number"&&(this.workspace_.scrollX=-(o.left+(o.width-n.width)*e.x)),this.workspace_.translate(this.workspace_.scrollX+t.left,this.workspace_.scrollY+t.top)}}getX(){return 0}getY(){if(!this.isVisible())return 0;var e=this.targetWorkspace.getMetricsManager();const t=e.getAbsoluteMetrics(),o=e.getViewMetrics();e=e.getToolboxMetrics();const n=this.toolboxPosition_===xe.TOP;return this.targetWorkspace.toolboxPosition===this.toolboxPosition_?this.targetWorkspace.getToolbox()?n?e.height:o.height-this.height_:n?0:o.height:n?0:o.height+t.top-this.height_}position(){if(this.isVisible()&&this.targetWorkspace.isVisible()){var e=this.targetWorkspace.getMetricsManager().getViewMetrics();this.width_=e.width,this.setBackgroundPath(e.width-2*this.CORNER_RADIUS,this.height_-this.CORNER_RADIUS),e=this.getX();var t=this.getY();this.positionAt_(this.width_,this.height_,e,t)}}setBackgroundPath(e,t){const o=this.toolboxPosition_===xe.TOP,n=["M 0,"+(o?0:this.CORNER_RADIUS)];o?(n.push("h",e+2*this.CORNER_RADIUS),n.push("v",t),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("h",-e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),n.push("h",e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("v",t),n.push("h",-e-2*this.CORNER_RADIUS)),n.push("z"),this.svgBackground_.setAttribute("d",n.join(" "))}scrollToStart(){let e;(e=this.workspace_.scrollbar)==null||e.setX(this.RTL?1/0:0)}wheel_(e){var t=Us(e);if(t=t.x||t.y){const o=this.workspace_.getMetricsManager(),n=o.getScrollMetrics();t=o.getViewMetrics().left-n.left+t;let c;(c=this.workspace_.scrollbar)==null||c.setX(t),Dn(this.workspace_),Ss()}e.preventDefault(),e.stopPropagation()}layout_(e,t){this.workspace_.scale=this.targetWorkspace.scale;const o=this.MARGIN;let n=o+this.tabWidth_;this.RTL&&(e=e.reverse());for(let T=0,B;B=e[T];T++)if(B.type==="block"){var c=B.block;if(c==null)continue;var h=c.getDescendants(!1);for(let it=0,ot;ot=h[it];it++)ot.isInFlyout=!0;h=c.getSvgRoot();const ie=c.getHeightWidth();var $=c.outputConnection?this.tabWidth_:0;$=this.RTL?n+ie.width:n-$,c.moveBy($,o),$=this.createRect_(c,$,o,ie,T),n+=ie.width+t[T],this.addBlockListeners_(h,c,$)}else B.type==="button"&&(c=B.button,this.initFlyoutButton_(c,n,o),n+=c.width+t[T])}isDragTowardWorkspace(e){e=Math.atan2(e.y,e.x)/Math.PI*180;const t=this.dragAngleRange_;return e<90+t&&e>90-t||e>-90-t&&e<-90+t}getClientRect(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;const e=this.svgGroup_.getBoundingClientRect(),t=e.top;return this.toolboxPosition_===xe.TOP?new Je(-1e9,t+e.height,-1e9,1e9):new Je(t,1e9,-1e9,1e9)}reflowInternal_(){this.workspace_.scale=this.getFlyoutScale();let e=0;const t=this.workspace_.getTopBlocks(!1);for(let n=0,c;c=t[n];n++)e=Math.max(e,c.getHeightWidth().height);const o=this.buttons_;for(let n=0,c;c=o[n];n++)e=Math.max(e,c.height);if(e+=1.5*this.MARGIN,e*=this.workspace_.scale,e+=pt.scrollbarThickness,this.height_!==e){for(let n=0,c;c=t[n];n++)this.rectMap_.has(c)&&this.moveRectToBlock_(this.rectMap_.get(c),c);this.targetWorkspace.scrollbar||this.autoClose||this.targetWorkspace.getFlyout()!==this||this.toolboxPosition_!==xe.TOP||this.targetWorkspace.translate(this.targetWorkspace.scrollX,this.targetWorkspace.scrollY+e),this.height_=e,this.position(),this.targetWorkspace.resizeContents(),this.targetWorkspace.recordDragTargets()}}};r(z.FLYOUTS_HORIZONTAL_TOOLBOX,Ds,yv);var dr=class extends Ut{constructor(e,t,o,n,c){super(Ze.SKIP_SETUP),this.defaultType="",this.variableTypes=[],this.variable=null,this.SERIALIZABLE=!0,this.menuGenerator_=dr.dropdownCreate,this.defaultVariableName=typeof e=="string"?e:"",this.size_=new Ne(0,0),e!==Ze.SKIP_SETUP&&(c?this.configure_(c):this.setTypes(o,n),t&&this.setValidator(t))}configure_(e){super.configure_(e),this.setTypes(e.variableTypes,e.defaultType)}initModel(){var e=this.getSourceBlock();if(!e)throw new gt;this.variable||(e=i.getOrCreateVariablePackage$$module$build$src$core$variables(e.workspace,null,this.defaultVariableName,this.defaultType),this.doValueUpdate_(e.getId()))}shouldAddBorderRect_(){const e=this.getSourceBlock();if(!e)throw new gt;return super.shouldAddBorderRect_()&&(!this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW||e.type!=="variables_get")}fromXml(e){var t=this.getSourceBlock();if(!t)throw new gt;const o=e.getAttribute("id"),n=e.textContent,c=e.getAttribute("variabletype")||e.getAttribute("variableType")||"";if(t=i.getOrCreateVariablePackage$$module$build$src$core$variables(t.workspace,o,n,c),c!==null&&c!==t.type)throw Error("Serialized variable type with id '"+t.getId()+"' had type "+t.type+", and does not match variable field that references it: "+Es(e)+".");this.setValue(t.getId())}toXml(e){return this.initModel(),e.id=this.variable.getId(),e.textContent=this.variable.name,this.variable.type&&e.setAttribute("variabletype",this.variable.type),e}saveState(e){var t=this.saveLegacyState(dr);return t!==null||(this.initModel(),t={id:this.variable.getId()},e&&(t.name=this.variable.name,t.type=this.variable.type)),t}loadState(e){const t=this.getSourceBlock();if(!t)throw new gt;this.loadLegacyState(dr,e)||(e=i.getOrCreateVariablePackage$$module$build$src$core$variables(t.workspace,e.id||null,e.name,e.type||""),this.setValue(e.getId()))}setSourceBlock(e){if(e.isShadow())throw Error("Variable fields are not allowed to exist on shadow blocks.");super.setSourceBlock(e)}getValue(){return this.variable?this.variable.getId():null}getText(){return this.variable?this.variable.name:""}getVariable(){return this.variable}getValidator(){return this.variable?this.validator_:null}doClassValidation_(e){if(e===null)return null;var t=this.getSourceBlock();if(!t)throw new gt;return t=i.getVariable$$module$build$src$core$variables(t.workspace,e),t?(t=t.type,this.typeIsAllowed(t)?e:(console.warn("Variable type doesn't match this field! Type was "+t),null)):(console.warn("Variable id doesn't point to a real variable! ID was "+e),null)}doValueUpdate_(e){const t=this.getSourceBlock();if(!t)throw new gt;this.variable=i.getVariable$$module$build$src$core$variables(t.workspace,e),super.doValueUpdate_(e)}typeIsAllowed(e){const t=this.getVariableTypes();if(!t)return!0;for(let o=0;othis.max_&&(e.max=`${this.max_}`,Tt(e,vt.VALUEMAX,this.max_)),e}static fromJson(e){return new this(e.value,void 0,void 0,void 0,void 0,e)}};Is("field_number",sp),sp.prototype.DEFAULT_VALUE=0;var _v=class extends ei{constructor(e,t,o){super(String(e??""),t,o),this.EDITABLE=!1,this.SERIALIZABLE=!0}static fromJson(e){return new this(dt(e.text),void 0,e)}};Is("field_label_serializable",_v);var ii=class extends Ze{constructor(e,t,o){super(Ze.SKIP_SETUP),this.SERIALIZABLE=!0,this.CURSOR="default",this.value_=this.value_,this.checkChar=ii.CHECK_CHAR,e!==Ze.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.checkCharacter&&(this.checkChar=e.checkCharacter)}saveState(){const e=this.saveLegacyState(ii);return e!==null?e:this.getValueBoolean()}initView(){super.initView();const e=this.getTextElement();$e(e,"blocklyCheckbox"),e.style.display=this.value_?"block":"none"}render_(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_()),this.updateSize_(this.getConstants().FIELD_CHECKBOX_X_OFFSET)}getDisplayText_(){return this.checkChar}setCheckCharacter(e){this.checkChar=e||ii.CHECK_CHAR,this.forceRerender()}showEditor_(){this.setValue(!this.value_)}doClassValidation_(e){return e===!0||e==="TRUE"?"TRUE":e===!1||e==="FALSE"?"FALSE":null}doValueUpdate_(e){this.value_=this.convertValueToBool(e),this.textElement_&&(this.textElement_.style.display=this.value_?"block":"none")}getValue(){return this.value_?"TRUE":"FALSE"}getValueBoolean(){return this.value_}getText(){return String(this.convertValueToBool(this.value_))}convertValueToBool(e){return typeof e=="string"?e==="TRUE":!!e}static fromJson(e){return new this(e.checked,void 0,e)}};ii.CHECK_CHAR="✓",Is("field_checkbox",ii),ii.prototype.DEFAULT_VALUE=!1;var wv=class{constructor(e,t){this.draggable=e,this.workspace=t,this.dragTarget=null,this.startLoc=e.getRelativeToSurfaceXY()}onDragStart(e){this.draggable.startDrag(e)}onDrag(e,t){this.moveDraggable(e,t),t=this.getRoot(this.draggable),Qt(t)&&t.setDeleteStyle(this.wouldDeleteDraggable(e,t)),this.updateDragTarget(e)}updateDragTarget(e){e=this.workspace.getDragTarget(e);const t=this.getRoot(this.draggable);if(this.dragTarget!==e){let o;(o=this.dragTarget)==null||o.onDragExit(t),e==null||e.onDragEnter(t)}e==null||e.onDragOver(t),this.dragTarget=e}moveDraggable(e,t){t=this.pixelsToWorkspaceUnits(t),t=G.sum(this.startLoc,t),this.draggable.drag(t,e)}wouldDeleteDraggable(e,t){return(e=this.workspace.getDragTarget(e))&&this.workspace.getComponentManager().hasCapability(e.id,at.Capability.DELETE_AREA)?e.wouldDelete(t):!1}onDragEnd(e){const t=i.getGroup$$module$build$src$core$events$utils();var o=this.workspace.getDragTarget(e);const n=this.getRoot(this.draggable);if(o){let c;(c=this.dragTarget)==null||c.onDrop(n)}this.shouldReturnToStart(e,n)&&this.draggable.revertDrag(),(o=Qt(n)&&this.wouldDeleteDraggable(e,n))&&this.draggable instanceof ns&&Ta(this.draggable.getRootBlock()),this.draggable.endDrag(e),o&&Qt(n)&&(e=i.getGroup$$module$build$src$core$events$utils(),i.setGroup$$module$build$src$core$events$utils(t),n.dispose(),i.setGroup$$module$build$src$core$events$utils(e))}getRoot(e){return e instanceof ns?e.getRootBlock():e}shouldReturnToStart(e,t){return(e=this.workspace.getDragTarget(e))?e.shouldPreventMove(t):!1}pixelsToWorkspaceUnits(e){return e=new G(e.x/this.workspace.scale,e.y/this.workspace.scale),this.workspace.isMutator&&e.scale(1/this.workspace.options.parentWorkspace.scale),e}};r(z.BLOCK_DRAGGER,Ds,wv);var hr={};hr.BlockDragStrategy=qb,hr.BubbleDragStrategy=Ob,hr.CommentDragStrategy=Eb,hr.Dragger=wv;var op=class extends gs{constructor(e,t,o){super(e?e.workspace.id:void 0),this.type=M.BLOCK_DRAG,e&&(this.blockId=e.id,this.isStart=t,this.blocks=o)}toJson(){const e=super.toJson();if(this.isStart===void 0)throw Error("Whether this event is the start of a drag is undefined. Either pass the value to the constructor, or call fromJson");if(this.blockId===void 0)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");return e.isStart=this.isStart,e.blockId=this.blockId,e.blocks=this.blocks,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new op),t.isStart=e.isStart,t.blockId=e.blockId,t.blocks=e.blocks,t}};r(z.EVENT,M.BLOCK_DRAG,op);var ip=class extends Ko{constructor(e,t,o,n){super(e),this.type=M.BLOCK_FIELD_INTERMEDIATE_CHANGE,this.recordUndo=!1,e&&(this.name=t,this.oldValue=o,this.newValue=n)}toJson(){const e=super.toJson();if(!this.name)throw Error("The changed field name is undefined. Either pass a name to the constructor, or call fromJson.");return e.name=this.name,e.oldValue=this.oldValue,e.newValue=this.newValue,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new ip),t.name=e.name,t.oldValue=e.oldValue,t.newValue=e.newValue,t}isNull(){return this.oldValue===this.newValue}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");if(t=t.getBlockById(this.blockId),!t)throw Error("The associated block is undefined. Either pass a block to the constructor, or call fromJson");e=e?this.newValue:this.oldValue,(t=t.getField(this.name))?t.setValue(e):console.warn("Can't set non-existent field: "+this.name)}};r(z.EVENT,M.BLOCK_FIELD_INTERMEDIATE_CHANGE,ip);var np=class extends Ko{constructor(e){super(e),this.type=M.BLOCK_MOVE,e&&(e.isShadow()&&(this.recordUndo=!1),e=this.currentLocation(),this.oldParentId=e.parentId,this.oldInputName=e.inputName,this.oldCoordinate=e.coordinate)}toJson(){const e=super.toJson();return e.oldParentId=this.oldParentId,e.oldInputName=this.oldInputName,this.oldCoordinate&&(e.oldCoordinate=`${Math.round(this.oldCoordinate.x)}, ${Math.round(this.oldCoordinate.y)}`),e.newParentId=this.newParentId,e.newInputName=this.newInputName,this.newCoordinate&&(e.newCoordinate=`${Math.round(this.newCoordinate.x)}, ${Math.round(this.newCoordinate.y)}`),this.reason&&(e.reason=this.reason),this.recordUndo||(e.recordUndo=this.recordUndo),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new np),t.oldParentId=e.oldParentId,t.oldInputName=e.oldInputName,e.oldCoordinate&&(o=e.oldCoordinate.split(","),t.oldCoordinate=new G(Number(o[0]),Number(o[1]))),t.newParentId=e.newParentId,t.newInputName=e.newInputName,e.newCoordinate&&(o=e.newCoordinate.split(","),t.newCoordinate=new G(Number(o[0]),Number(o[1]))),e.reason!==void 0&&(t.reason=e.reason),e.recordUndo!==void 0&&(t.recordUndo=e.recordUndo),t}recordNew(){const e=this.currentLocation();this.newParentId=e.parentId,this.newInputName=e.inputName,this.newCoordinate=e.coordinate}setReason(e){this.reason=e}currentLocation(){var e=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");var t=e.getBlockById(this.blockId);if(!t)throw Error("The block associated with the block move event could not be found");e={};const o=t.getParent();return o?(e.parentId=o.id,(t=o.getInputWithBlock(t))&&(e.inputName=t.name)):e.coordinate=t.getRelativeToSurfaceXY(),e}isNull(){return this.oldParentId===this.newParentId&&this.oldInputName===this.newInputName&&G.equals(this.oldCoordinate,this.newCoordinate)}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");var o=t.getBlockById(this.blockId);if(o){var n=e?this.newParentId:this.oldParentId,c=e?this.newInputName:this.oldInputName;if(e=e?this.newCoordinate:this.oldCoordinate,n){var h=t.getBlockById(n);if(!h){console.warn("Can't connect to non-existent block: "+n);return}}if(o.getParent()&&o.unplug(),e)c=o.getRelativeToSurfaceXY(),o.moveBy(e.x-c.x,e.y-c.y,this.reason);else{t=o.outputConnection,(!t||o.previousConnection&&o.previousConnection.isConnected())&&(t=o.previousConnection);let $,T;o=(T=t)==null?void 0:T.type,c?(o=h.getInput(c))&&($=o.connection):o===ne.PREVIOUS_STATEMENT&&($=h.nextConnection),$&&t?t.connect($):console.warn("Can't connect to non-existent input: "+c)}}else console.warn("Can't move non-existent block: "+this.blockId)}};r(z.EVENT,M.BLOCK_MOVE,np);var rp=class extends gs{constructor(e,t,o){super(e?e.workspace.id:void 0),this.type=M.BUBBLE_OPEN,e&&(this.blockId=e.id,this.isOpen=t,this.bubbleType=o)}toJson(){const e=super.toJson();if(this.isOpen===void 0)throw Error("Whether this event is for opening the bubble is undefined. Either pass the value to the constructor, or call fromJson");if(!this.bubbleType)throw Error("The type of bubble is undefined. Either pass the value to the constructor, or call fromJson");return e.isOpen=this.isOpen,e.bubbleType=this.bubbleType,e.blockId=this.blockId||"",e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new rp),t.isOpen=e.isOpen,t.bubbleType=e.bubbleType,t.blockId=e.blockId,t}},ap;(function(e){e.MUTATOR="mutator",e.COMMENT="comment",e.WARNING="warning"})(ap||(ap={})),r(z.EVENT,M.BUBBLE_OPEN,rp);var Ls=class extends Ii{constructor(e){super(),this.isBlank=!e,e&&(this.commentId=e.id,this.workspaceId=e.workspace.id,this.group=i.getGroup$$module$build$src$core$events$utils(),this.recordUndo=ge())}toJson(){const e=super.toJson();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");return e.commentId=this.commentId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Ls),t.commentId=e.commentId,t}static CommentCreateDeleteHelper(e,t){const o=e.getEventWorkspace_();if(t){if(!e.json)throw Error("Encountered a comment event without proper json");wn(e.json,o)}else{if(!e.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");(t=o.getCommentById(e.commentId))?t.dispose():console.warn("Can't delete non-existent comment: "+e.commentId)}}},lp=class extends Ls{constructor(e,t,o){super(e),this.type=M.COMMENT_CHANGE,e&&(this.oldContents_=typeof t>"u"?"":t,this.newContents_=typeof o>"u"?"":o)}toJson(){const e=super.toJson();if(!this.oldContents_)throw Error("The old contents is undefined. Either pass a value to the constructor, or call fromJson");if(!this.newContents_)throw Error("The new contents is undefined. Either pass a value to the constructor, or call fromJson");return e.oldContents=this.oldContents_,e.newContents=this.newContents_,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new lp),t.oldContents_=e.oldContents,t.newContents_=e.newContents,t}isNull(){return this.oldContents_===this.newContents_}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){var o=e?this.newContents_:this.oldContents_;if(o===void 0)throw Error(e?"The new contents is undefined. Either pass a value to the constructor, or call fromJson":"The old contents is undefined. Either pass a value to the constructor, or call fromJson");t.setText(o)}else console.warn("Can't change non-existent comment: "+this.commentId)}};r(z.EVENT,M.COMMENT_CHANGE,lp);var cp=class extends Ls{constructor(e,t){super(e),this.newCollapsed=t,this.type=M.COMMENT_COLLAPSE}toJson(){const e=super.toJson();if(this.newCollapsed===void 0)throw Error("The new collapse value undefined. Either call recordNew, or call fromJson");return e.newCollapsed=this.newCollapsed,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new cp),t.newCollapsed=e.newCollapsed,t}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");(t=t.getCommentById(this.commentId))?t.setCollapsed(e?!!this.newCollapsed:!this.newCollapsed):console.warn("Can't collapse or uncollapse non-existent comment: "+this.commentId)}};r(z.EVENT,M.COMMENT_COLLAPSE,cp);var up=class extends Ls{constructor(e){super(e),this.type=M.COMMENT_CREATE,e&&(this.xml=On(e),this.json=mi(e,{addCoordinates:!0}))}toJson(){const e=super.toJson();if(!this.xml)throw Error("The comment XML is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.json)throw Error("The comment JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Es(this.xml),e.json=this.json,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new up),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.json=e.json,t}run(e){Ls.CommentCreateDeleteHelper(this,e)}};r(z.EVENT,M.COMMENT_CREATE,up);var dp=class extends Ls{constructor(e){super(e),this.type=M.COMMENT_DELETE,e&&(this.xml=On(e),this.json=mi(e,{addCoordinates:!0}))}run(e){Ls.CommentCreateDeleteHelper(this,!e)}toJson(){const e=super.toJson();if(!this.xml)throw Error("The comment XML is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.json)throw Error("The comment JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Es(this.xml),e.json=this.json,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new dp),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.json=e.json,t}};r(z.EVENT,M.COMMENT_DELETE,dp);var hp=class extends gs{constructor(e,t){super(e?e.workspace.id:void 0),this.type=M.COMMENT_DRAG,e&&(this.commentId=e.id,this.isStart=t)}toJson(){const e=super.toJson();if(this.isStart===void 0)throw Error("Whether this event is the start of a drag is undefined. Either pass the value to the constructor, or call fromJson");if(this.commentId===void 0)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");return e.isStart=this.isStart,e.commentId=this.commentId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new hp),t.isStart=e.isStart,t.commentId=e.commentId,t}};r(z.EVENT,M.COMMENT_DRAG,hp);var pp=class extends Ls{constructor(e){super(e),this.type=M.COMMENT_MOVE,e&&(this.comment_=e,this.oldCoordinate_=e.getRelativeToSurfaceXY())}recordNew(){if(this.newCoordinate_)throw Error("Tried to record the new position of a comment on the same event twice.");if(!this.comment_)throw Error("The comment is undefined. Pass a comment to the constructor if you want to use the record functionality");this.newCoordinate_=this.comment_.getRelativeToSurfaceXY()}setReason(e){this.reason=e}setOldCoordinate(e){this.oldCoordinate_=e}toJson(){const e=super.toJson();if(!this.oldCoordinate_)throw Error("The old comment position is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.newCoordinate_)throw Error("The new comment position is undefined. Either call recordNew, or call fromJson");return e.oldCoordinate=`${Math.round(this.oldCoordinate_.x)}, ${Math.round(this.oldCoordinate_.y)}`,e.newCoordinate=Math.round(this.newCoordinate_.x)+","+Math.round(this.newCoordinate_.y),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new pp),o=e.oldCoordinate.split(","),t.oldCoordinate_=new G(Number(o[0]),Number(o[1])),o=e.newCoordinate.split(","),t.newCoordinate_=new G(Number(o[0]),Number(o[1])),t}isNull(){return G.equals(this.oldCoordinate_,this.newCoordinate_)}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){if(e=e?this.newCoordinate_:this.oldCoordinate_,!e)throw Error("Either oldCoordinate_ or newCoordinate_ is undefined. Either pass a comment to the constructor and call recordNew, or call fromJson");t.moveTo(e)}else console.warn("Can't move non-existent comment: "+this.commentId)}};r(z.EVENT,M.COMMENT_MOVE,pp);var gp=class extends Ls{constructor(e){super(e),this.type=M.COMMENT_RESIZE,e&&(this.oldSize=e.getSize())}recordCurrentSizeAsNewSize(){if(this.newSize)throw Error("Tried to record the new size of a comment on the same event twice.");var e=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(e=e.getCommentById(this.commentId),!e)throw Error("The comment associated with the comment resize event could not be found");this.newSize=e.getSize()}toJson(){const e=super.toJson();if(!this.oldSize)throw Error("The old comment size is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.newSize)throw Error("The new comment size is undefined. Either call recordCurrentSizeAsNewSize, or call fromJson");return e.oldWidth=Math.round(this.oldSize.width),e.oldHeight=Math.round(this.oldSize.height),e.newWidth=Math.round(this.newSize.width),e.newHeight=Math.round(this.newSize.height),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new gp),t.oldSize=new Ne(e.oldWidth,e.oldHeight),t.newSize=new Ne(e.newWidth,e.newHeight),t}isNull(){return Ne.equals(this.oldSize,this.newSize)}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){if(e=e?this.newSize:this.oldSize,!e)throw Error("Either oldSize or newSize is undefined. Either pass a comment to the constructor and call recordCurrentSizeAsNewSize, or call fromJson");t.setSize(e)}else console.warn("Can't resize non-existent comment: "+this.commentId)}};r(z.EVENT,M.COMMENT_RESIZE,gp);var mp=class extends gs{constructor(e,t,o){super(o),this.type=M.TOOLBOX_ITEM_SELECT,this.oldItem=e??void 0,this.newItem=t??void 0}toJson(){const e=super.toJson();return e.oldItem=this.oldItem,e.newItem=this.newItem,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new mp),t.oldItem=e.oldItem,t.newItem=e.newItem,t}};r(z.EVENT,M.TOOLBOX_ITEM_SELECT,mp);var Cv=class extends Ii{constructor(e){super(),this.isBlank=!0,this.recordUndo=!1,this.type=M.FINISHED_LOADING,this.isBlank=!!e,e&&(this.workspaceId=e.id)}};r(z.EVENT,M.FINISHED_LOADING,Cv);var Tv,kv,Sv,Ev,Iv,xv,Dv,Av,Rv,Ov,Mv,Nv,Lv,Bv,Pv,Fv,jv,zv,Uv,Hv,Wv,Gv,Vv,Kv,Yv,te;i.BLOCK_CHANGE$$module$build$src$core$events$events=M.BLOCK_CHANGE,i.BLOCK_CREATE$$module$build$src$core$events$events=M.BLOCK_CREATE,i.BLOCK_DELETE$$module$build$src$core$events$events=M.BLOCK_DELETE,Tv=M.BLOCK_DRAG,i.BLOCK_MOVE$$module$build$src$core$events$events=M.BLOCK_MOVE,kv=M.BLOCK_FIELD_INTERMEDIATE_CHANGE,Sv=M.BUBBLE_OPEN,Ev=M.BLOCK_CHANGE,Iv=M.CLICK,xv=M.COMMENT_CHANGE,Dv=M.COMMENT_CREATE,Av=M.COMMENT_DELETE,Rv=M.COMMENT_MOVE,Ov=M.COMMENT_RESIZE,Mv=M.COMMENT_DRAG,Nv=M.BLOCK_CREATE,Lv=M.BLOCK_DELETE,Bv=M.FINISHED_LOADING,Pv=M.MARKER_MOVE,Fv=M.BLOCK_MOVE,jv=M.SELECTED,zv=M.THEME_CHANGE,Uv=M.TOOLBOX_ITEM_SELECT,Hv=M.TRASHCAN_OPEN,Wv=M.UI,Gv=M.VAR_CREATE,Vv=M.VAR_DELETE,Kv=M.VAR_RENAME,Yv=M.VIEWPORT_CHANGE,te={},te.Abstract=Ii,te.BLOCK_CHANGE=i.BLOCK_CHANGE$$module$build$src$core$events$events,te.BLOCK_CREATE=i.BLOCK_CREATE$$module$build$src$core$events$events,te.BLOCK_DELETE=i.BLOCK_DELETE$$module$build$src$core$events$events,te.BLOCK_DRAG=Tv,te.BLOCK_FIELD_INTERMEDIATE_CHANGE=kv,te.BLOCK_MOVE=i.BLOCK_MOVE$$module$build$src$core$events$events,te.BUBBLE_OPEN=Sv,te.BUMP_EVENTS=T$,te.BlockBase=Ko,te.BlockChange=Yo,te.BlockCreate=Th,te.BlockDelete=Bh,te.BlockDrag=op,te.BlockFieldIntermediateChange=ip,te.BlockMove=np,te.BubbleOpen=rp,te.BubbleType=ap,te.CHANGE=Ev,te.CLICK=Iv,te.COMMENT_CHANGE=xv,te.COMMENT_CREATE=Dv,te.COMMENT_DELETE=Av,te.COMMENT_DRAG=Mv,te.COMMENT_MOVE=Rv,te.COMMENT_RESIZE=Ov,te.CREATE=Nv,te.Click=Hd,te.ClickTarget=Wd,te.CommentBase=Ls,te.CommentChange=lp,te.CommentCollapse=cp,te.CommentCreate=up,te.CommentDelete=dp,te.CommentDrag=hp,te.CommentMove=pp,te.CommentResize=gp,te.DELETE=Lv,te.FINISHED_LOADING=Bv,te.FinishedLoading=Cv,te.MARKER_MOVE=Pv,te.MOVE=Fv,te.MarkerMove=Ph,te.SELECTED=jv,te.Selected=Vh,te.THEME_CHANGE=zv,te.TOOLBOX_ITEM_SELECT=Uv,te.TRASHCAN_OPEN=Hv,te.ThemeChange=kh,te.ToolboxItemSelect=mp,te.TrashcanOpen=Yh,te.UI=Wv,te.UiBase=gs,te.VAR_CREATE=Gv,te.VAR_DELETE=Vv,te.VAR_RENAME=Kv,te.VIEWPORT_CHANGE=Yv,te.VarBase=Kn,te.VarCreate=uh,te.VarDelete=Hh,te.VarRename=Wh,te.ViewportChange=Sh,te.clearPendingUndo=de,te.disable=i.disable$$module$build$src$core$events$utils,te.disableOrphans=et,te.enable=i.enable$$module$build$src$core$events$utils,te.filter=ce,te.fire=K,te.fromJson=Fe,te.get=Y,te.getDescendantIds=me,te.getGroup=i.getGroup$$module$build$src$core$events$utils,te.getRecordUndo=ge,te.isEnabled=J,te.setGroup=i.setGroup$$module$build$src$core$events$utils,te.setRecordUndo=i.setRecordUndo$$module$build$src$core$events$utils;var ys={};ys.BottomRow=uv,ys.ConstantProvider=lv,ys.Drawer=cv,ys.MarkerSvg=gv,ys.PathObject=mv,ys.RenderInfo=pv,ys.Renderer=ep,ys.RightConnectionShape=dv,ys.StatementInput=Il,ys.TopRow=hv,Fd();var yt={};yt.registerCleanup=Cd,yt.registerCollapse=kd,yt.registerCollapseExpandBlock=Rd,yt.registerComment=Dd,yt.registerCommentCreate=Pd,yt.registerCommentDelete=Ld,yt.registerCommentDuplicate=Bd,yt.registerCommentOptions=b$,yt.registerDefaultOptions=Fd,yt.registerDelete=Md,yt.registerDeleteAll=Id,yt.registerDisable=Od,yt.registerDuplicate=xd,yt.registerExpand=Sd,yt.registerHelp=Nd,yt.registerInline=Ad,yt.registerRedo=wd,yt.registerUndo=_d;var Dl={};Dl.CommentView=xb,Dl.RenderedWorkspaceComment=ll,Dl.WorkspaceComment=al;var pr={};pr.Bubble=Ke,pr.MiniWorkspaceBubble=eo,pr.TextBubble=Fb,pr.TextInputBubble=Mb;var Jv=class extends $l{constructor(){super(),this.FIELD_TEXT_BASELINE_CENTER=!1,this.DARK_PATH_OFFSET=1,this.MAX_BOTTOM_WIDTH=30,this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT/2}getCSS_(e){return super.getCSS_(e).concat([`${e} .blocklyInsertionMarker>.blocklyPathLight,`,`${e} .blocklyInsertionMarker>.blocklyPathDark {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"])}},Xv=class{constructor(e){this.inlineSteps_=this.steps_="",this.info_=e,this.RTL_=this.info_.RTL,e=e.getRenderer(),this.constants_=e.getConstants(),this.highlightConstants_=e.getHighlightConstants(),this.highlightOffset=this.highlightConstants_.OFFSET,this.outsideCornerPaths_=this.highlightConstants_.OUTSIDE_CORNER,this.insideCornerPaths_=this.highlightConstants_.INSIDE_CORNER,this.puzzleTabPaths_=this.highlightConstants_.PUZZLE_TAB,this.notchPaths_=this.highlightConstants_.NOTCH,this.startPaths_=this.highlightConstants_.START_HAT,this.jaggedTeethPaths_=this.highlightConstants_.JAGGED_TEETH}getPath(){return this.steps_+` +`+this.inlineSteps_}drawTopCorner(e){this.steps_+=rt(e.xPos,this.info_.startY);for(let t=0,o;o=e.elements[t];t++)I.isLeftSquareCorner(o)?this.steps_+=this.highlightConstants_.START_POINT:I.isLeftRoundedCorner(o)?this.steps_+=this.outsideCornerPaths_.topLeft(this.RTL_):I.isPreviousConnection(o)?this.steps_+=this.notchPaths_.pathLeft:I.isHat(o)?this.steps_+=this.startPaths_.path(this.RTL_):I.isSpacer(o)&&o.width!==0&&(this.steps_+=re("H",o.xPos+o.width-this.highlightOffset));this.steps_+=re("H",e.xPos+e.width-this.highlightOffset)}drawJaggedEdge_(e){this.info_.RTL&&(this.steps_+=this.jaggedTeethPaths_.pathLeft+re("v",e.height-this.jaggedTeethPaths_.height-this.highlightOffset))}drawValueInput(e){const t=e.getLastInput();if(this.RTL_){const o=e.height-t.connectionHeight;this.steps_+=bt(t.xPos+t.width-this.highlightOffset,e.yPos)+this.puzzleTabPaths_.pathDown(this.RTL_)+re("v",o)}else this.steps_+=bt(t.xPos+t.width,e.yPos)+this.puzzleTabPaths_.pathDown(this.RTL_)}drawStatementInput(e){const t=e.getLastInput();if(t)if(this.RTL_){const o=e.height-2*this.insideCornerPaths_.height;this.steps_+=bt(t.xPos,e.yPos)+this.insideCornerPaths_.pathTop(this.RTL_)+re("v",o)+this.insideCornerPaths_.pathBottom(this.RTL_)+xs(e.width-t.xPos-this.insideCornerPaths_.width,0)}else this.steps_+=bt(t.xPos,e.yPos+e.height)+this.insideCornerPaths_.pathBottom(this.RTL_)+xs(e.width-t.xPos-this.insideCornerPaths_.width,0)}drawRightSideRow(e){const t=e.xPos+e.width-this.highlightOffset;e instanceof Nh&&e.followsStatement&&(this.steps_+=re("H",t)),this.RTL_&&(this.steps_+=re("H",t),e.height>this.highlightOffset&&(this.steps_+=re("V",e.yPos+e.height-this.highlightOffset)))}drawBottomRow(e){if(this.RTL_)this.steps_+=re("V",e.baseline-this.highlightOffset);else{const t=this.info_.bottomRow.elements[0];I.isLeftSquareCorner(t)?this.steps_+=bt(e.xPos+this.highlightOffset,e.baseline-this.highlightOffset):I.isLeftRoundedCorner(t)&&(this.steps_+=bt(e.xPos,e.baseline),this.steps_+=this.outsideCornerPaths_.bottomLeft())}}drawLeft(){var e=this.info_.outputConnection;e&&(e=e.connectionOffsetY+e.height,this.RTL_?this.steps_+=bt(this.info_.startX,e):(this.steps_+=bt(this.info_.startX+this.highlightOffset,this.info_.bottomRow.baseline-this.highlightOffset),this.steps_+=re("V",e)),this.steps_+=this.puzzleTabPaths_.pathUp(this.RTL_)),this.RTL_||(e=this.info_.topRow,I.isLeftRoundedCorner(e.elements[0])?this.steps_+=re("V",this.outsideCornerPaths_.height):this.steps_+=re("V",e.capline+this.highlightOffset))}drawInlineInput(e){const t=this.highlightOffset,o=e.xPos+e.connectionWidth;var n=e.centerline-e.height/2;const c=e.width-e.connectionWidth,h=n+t;this.RTL_?(n=e.connectionOffsetY-t,e=e.height-(e.connectionOffsetY+e.connectionHeight)+t,this.inlineSteps_+=bt(o-t,h)+re("v",n)+this.puzzleTabPaths_.pathDown(this.RTL_)+re("v",e)+re("h",c)):this.inlineSteps_+=bt(e.xPos+e.width+t,h)+re("v",e.height)+re("h",-c)+bt(o,n+e.connectionOffsetY)+this.puzzleTabPaths_.pathDown(this.RTL_)}},qv=class extends bl{constructor(e,t){super(e,t),this.highlighter_=new Xv(t)}draw(){this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights();const e=this.block_.pathObject;e.setPath(this.outlinePath_+` +`+this.inlinePath_),e.setHighlightPath(this.highlighter_.getPath()),this.info_.RTL&&e.flipRTL(),this.recordSizeOnBlock_()}drawTop_(){this.highlighter_.drawTopCorner(this.info_.topRow),this.highlighter_.drawRightSideRow(this.info_.topRow),super.drawTop_()}drawJaggedEdge_(e){this.highlighter_.drawJaggedEdge_(e),super.drawJaggedEdge_(e)}drawValueInput_(e){this.highlighter_.drawValueInput(e),super.drawValueInput_(e)}drawStatementInput_(e){this.highlighter_.drawStatementInput(e),super.drawStatementInput_(e)}drawRightSideRow_(e){this.highlighter_.drawRightSideRow(e),this.outlinePath_+=re("H",e.xPos+e.width)+re("V",e.yPos+e.height)}drawBottom_(){this.highlighter_.drawBottomRow(this.info_.bottomRow),super.drawBottom_()}drawLeft_(){this.highlighter_.drawLeft(),super.drawLeft_()}drawInlineInput_(e){this.highlighter_.drawInlineInput(e),super.drawInlineInput_(e)}positionInlineInputConnection_(e){const t=e.centerline-e.height/2;if(e.connectionModel){let o=e.xPos+e.connectionWidth+this.constants_.DARK_PATH_OFFSET;this.info_.RTL&&(o*=-1),e.connectionModel.setOffsetInBlock(o,t+e.connectionOffsetY+this.constants_.DARK_PATH_OFFSET)}}positionStatementInputConnection_(e){const t=e.getLastInput();if(t!=null&&t.connectionModel){let o=e.xPos+e.statementEdge+t.notchOffset;o=this.info_.RTL?-1*o:o+this.constants_.DARK_PATH_OFFSET,t.connectionModel.setOffsetInBlock(o,e.yPos+this.constants_.DARK_PATH_OFFSET)}}positionExternalValueConnection_(e){const t=e.getLastInput();if(t&&t.connectionModel){let o=e.xPos+e.width+this.constants_.DARK_PATH_OFFSET;this.info_.RTL&&(o*=-1),t.connectionModel.setOffsetInBlock(o,e.yPos)}}positionNextConnection_(){const e=this.info_.bottomRow;if(e.connection){const t=e.connection,o=t.xPos;t.connectionModel.setOffsetInBlock((this.info_.RTL?-o:o)+this.constants_.DARK_PATH_OFFSET/2,e.baseline+this.constants_.DARK_PATH_OFFSET)}}},Zv=class{constructor(e){this.OFFSET=.5,this.constantProvider=e,this.START_POINT=rt(this.OFFSET,this.OFFSET)}init(){this.INSIDE_CORNER=this.makeInsideCorner(),this.OUTSIDE_CORNER=this.makeOutsideCorner(),this.PUZZLE_TAB=this.makePuzzleTab(),this.NOTCH=this.makeNotch(),this.JAGGED_TEETH=this.makeJaggedTeeth(),this.START_HAT=this.makeStartHat()}makeInsideCorner(){const e=this.constantProvider.CORNER_RADIUS,t=this.OFFSET,o=(1-Math.SQRT1_2)*(e+t)-t,n=rt(o,o)+ht("a","0 0,0",e,he(-o-t,e-o)),c=ht("a","0 0,0",e+t,he(e+t,e+t)),h=rt(o,-o)+ht("a","0 0,0",e+t,he(e-o,o+t));return{width:e+t,height:e,pathTop($){return $?n:""},pathBottom($){return $?c:h}}}makeOutsideCorner(){const e=this.constantProvider.CORNER_RADIUS,t=this.OFFSET,o=(1-Math.SQRT1_2)*(e-t)+t,n=rt(o,o)+ht("a","0 0,1",e-t,he(e-o,-o+t)),c=rt(t,e)+ht("a","0 0,1",e-t,he(e,-e+t)),h=-o,$=rt(o,h)+ht("a","0 0,1",e-t,he(-o+t,-h-e));return{height:e,topLeft(T){return T?n:c},bottomLeft(){return $}}}makePuzzleTab(){const e=this.constantProvider.TAB_WIDTH,t=this.constantProvider.TAB_HEIGHT,o=rt(-2,-t+3.4)+xs(-.45*e,-2.1),n=re("v",2.5)+rt(.97*-e,2.5)+jt("q",[he(.05*-e,10),he(.3*e,9.5)])+rt(.67*e,-1.9)+re("v",2.5),c=re("v",-1.5)+rt(-.92*e,-.5)+jt("q",[he(-.19*e,-5.5),he(0,-11)])+rt(.92*e,1),h=rt(-5,t-.7)+xs(.46*e,-2.1);return{width:e,height:t,pathUp($){return $?o:c},pathDown($){return $?n:h}}}makeNotch(){return{pathLeft:re("h",this.OFFSET)+this.constantProvider.NOTCH.pathLeft}}makeJaggedTeeth(){return{pathLeft:xs(5.1,2.6)+rt(-10.2,6.8)+xs(5.1,2.6),height:12,width:10.2}}makeStartHat(){const e=this.constantProvider.START_HAT.height,t=rt(25,-8.7)+jt("c",[he(29.7,-6.2),he(57.2,-.5),he(75,8.7)]),o=jt("c",[he(17.8,-9.2),he(45.3,-14.9),he(75,-8.7)])+bt(100.5,e+.5);return{path(n){return n?t:o}}}},Qv=class extends Oh{constructor(e,t){super(e,t),this.constants_=e,this.connectedBlock&&(this.width+=this.constants_.DARK_PATH_OFFSET,this.height+=this.constants_.DARK_PATH_OFFSET)}},ey=class extends ir{constructor(e,t){super(e,t),this.constants_=e,this.connectedBlock&&(this.height+=this.constants_.DARK_PATH_OFFSET)}},ty=class extends ar{constructor(e,t){super(e,t),this.renderer_=e}getRenderer(){return this.renderer_}populateBottomRow_(){super.populateBottomRow_(),this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1]instanceof qt||(this.bottomRow.minHeight=this.constants_.MEDIUM_PADDING-this.constants_.DARK_PATH_OFFSET)}addInput_(e,t){this.isInline&&e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new Qv(this.constants_,e)),t.hasInlineInput=!0):e instanceof qt?(t.elements.push(new ey(this.constants_,e)),t.hasStatement=!0):e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new fl(this.constants_,e)),t.hasExternalInput=!0):(e instanceof Os||e instanceof no)&&(t.minHeight=Math.max(t.minHeight,this.constants_.DUMMY_INPUT_MIN_HEIGHT),t.hasDummyInput=!0),this.isInline||t.align!==null||(t.align=e.align)}addElemSpacing_(){let e=!1;for(let o=0,n;n=this.rows[o];o++)n.hasExternalInput&&(e=!0);for(let o=0,n;n=this.rows[o];o++){var t=n.elements;if(n.elements=[],n.startsWithElemSpacer()&&n.elements.push(new Xt(this.constants_,this.getInRowSpacing_(null,t[0]))),t.length){for(let c=0;c>>/sprites.png); + height: 16px; + vertical-align: middle; + visibility: hidden; + width: 16px; +} + +.blocklyTreeIconClosed { + background-position: -32px -1px; +} + +.blocklyToolboxDiv[dir="RTL"] .blocklyTreeIconClosed { + background-position: 0 -1px; +} + +.blocklyTreeSelected>.blocklyTreeIconClosed { + background-position: -32px -17px; +} + +.blocklyToolboxDiv[dir="RTL"] .blocklyTreeSelected>.blocklyTreeIconClosed { + background-position: 0 -17px; +} + +.blocklyTreeIconOpen { + background-position: -16px -1px; +} + +.blocklyTreeSelected>.blocklyTreeIconOpen { + background-position: -16px -17px; +} + +.blocklyTreeLabel { + cursor: default; + font: 16px sans-serif; + padding: 0 3px; + vertical-align: middle; +} + +.blocklyToolboxDelete .blocklyTreeLabel { + cursor: url("<<>>/handdelete.cur"), auto; +} + +.blocklyTreeSelected .blocklyTreeLabel { + color: #fff; +} +`),r(z.TOOLBOX_ITEM,_s.registrationName,_s);var gr=class extends $p{constructor(e,t){super(e,t),this.cssConfig_={container:"blocklyTreeSeparator"},this.htmlDiv=null,Object.assign(this.cssConfig_,e.cssconfig||e.cssConfig)}init(){this.createDom_()}createDom_(){const e=document.createElement("div"),t=this.cssConfig_.container;return t&&$e(e,t),this.htmlDiv=e}getDiv(){return this.htmlDiv}dispose(){Ve(this.htmlDiv)}};gr.registrationName="sep",Ct(` +.blocklyTreeSeparator { + border-bottom: solid #e5e5e5 1px; + height: 0; + margin: 5px 0; +} + +.blocklyToolboxDiv[layout="h"] .blocklyTreeSeparator { + border-right: solid #e5e5e5 1px; + border-bottom: none; + height: auto; + margin: 0 5px 0 5px; + padding: 5px 0; + width: 0; +} +`),r(z.TOOLBOX_ITEM,gr.registrationName,gr);var Xi=class extends _s{constructor(e,t,o){super(e,t,o),this.subcategoriesDiv_=null,this.expanded_=!1,this.toolboxItems_=[]}makeDefaultCssConfig_(){const e=super.makeDefaultCssConfig_();return e.contents="blocklyToolboxContents",e}parseContents_(e){if("custom"in e)this.flyoutItems_=e.custom;else{const t=e.contents;if(t){this.flyoutItems_=[],e=!0;for(let o=0;o>>/handdelete.cur"), auto; +} + +.blocklyToolboxGrab { + cursor: url("<<>>/handclosed.cur"), auto; + cursor: grabbing; + cursor: -webkit-grabbing; +} + +/* Category tree in Toolbox. */ +.blocklyToolboxDiv { + background-color: #ddd; + overflow-x: visible; + overflow-y: auto; + padding: 4px 0 4px 0; + position: absolute; + z-index: 70; /* so blocks go under toolbox when dragging */ + -webkit-tap-highlight-color: transparent; /* issue #1345 */ +} + +.blocklyToolboxContents { + display: flex; + flex-wrap: wrap; + flex-direction: column; +} + +.blocklyToolboxContents:focus { + outline: none; +} +`),r(z.TOOLBOX,Ds,ry);var vT="11.2.2",yT=ne.INPUT_VALUE,_T=ne.OUTPUT_VALUE,wT=ne.NEXT_STATEMENT,CT=ne.PREVIOUS_STATEMENT,TT=xe.TOP,kT=xe.BOTTOM,ST=xe.LEFT,ET=xe.RIGHT;Gi.prototype.newBlock=function(e,t){return new Co(this,e,t)},Zt.prototype.newBlock=function(e,t){return new ns(this,e,t)},Gi.prototype.newComment=function(e){return new al(this,e)},Zt.prototype.newComment=function(e){return new ll(this,e)},Zt.newTrashcan=function(e){return new sv(e)},eo.prototype.newWorkspaceSvg=function(e){return new Zt(e)},i.Names$$module$build$src$core$names.prototype.populateProcedures=function(e){e=Da(e),e=e[0].concat(e[1]);for(let t=0;t{this.setState({popper:b.I18n.t("Copied"),anchorEl:i}),setTimeout(()=>this.setState({popper:"",anchorEl:null}),1e3)},50)}render(){const s=new Blob([this.props.text],{type:"application/xml"}),i=`${this.props.scriptId.substring(10)}.xml`;return p.jsxs(y.Dialog,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":vr.dialog},fullWidth:!0,open:!0,"aria-labelledby":"export-dialog-title",children:[p.jsx(y.DialogTitle,{id:"export-dialog-title",children:b.I18n.t("Export selected blocks")}),p.jsx(y.DialogContent,{style:vr.overflowY,children:p.jsx("pre",{id:"export-text",style:{...vr.textArea,...this.props.themeType==="dark"?void 0:vr.textAreaLight},children:this.props.text})}),p.jsxs(y.DialogActions,{children:[p.jsx(y.Button,{variant:"contained",color:"secondary",startIcon:p.jsx(Vl,{}),children:p.jsx("a",{download:i,target:"_blank",rel:"noreferrer",href:URL.createObjectURL(s),style:{textDecoration:"inherit",color:"inherit"},children:b.I18n.t("Download as file")})}),p.jsx(y.Button,{variant:"contained",onClick:r=>this.onCopy(r),color:"secondary",startIcon:p.jsx(VE,{}),children:b.I18n.t("Copy to clipboard")}),p.jsx(y.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"primary",startIcon:p.jsx(lo,{}),children:b.I18n.t("Close")}),p.jsx(y.Popper,{id:"popper",style:{zIndex:1e4},open:!!this.state.popper,placement:"top",anchorEl:this.state.anchorEl,transition:!0,children:({TransitionProps:r})=>p.jsx(y.Fade,{...r,timeout:350,children:p.jsx(y.Paper,{children:p.jsx("p",{style:vr.typography,children:this.state.popper})})})}),p.jsx("textarea",{id:"copy_input",readOnly:!0,style:{position:"absolute",left:-9999},tabIndex:-1,"aria-hidden":!0,value:this.props.text})]})]},"export-dialog")}}const xt={textArea:{width:"calc(100% - 10px)",height:"calc(80% - 20px)",resize:"none",fontFamily:"monospace",fontSize:"1em",backgroundColor:"transparent",borderRadius:4,outline:"none"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"20%",position:"relative"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"80%",width:"80%",opacity:.3,color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"}};class tm extends X.Component{constructor(s){super(s),this.state={text:"",imageStatus:"",error:""}}componentDidMount(){setTimeout(()=>{var s;try{(s=window.document.getElementById("import-text-area"))==null||s.focus()}catch{}},100)}static readFileDataUrl(s,i){const r=new FileReader;r.onload=()=>{i(null,{data:r.result,name:s.name})},r.onabort=()=>{console.error("file reading was aborted"),i(b.I18n.t("file reading was aborted"))},r.onerror=l=>{console.error("file reading has failed"),i(b.I18n.t("file reading has failed: %s",l))},r.readAsText(s)}handleDropFile(s){if(!(s!=null&&s.length))return;const i=s[s.length-1];i&&tm.readFileDataUrl(i,(r,l)=>{var u;r||!l?this.setState({error:r||"No data"}):this.setState({text:((u=l.data)==null?void 0:u.toString())||""})})}handleCancel(){this.props.onClose()}handleOk(){this.props.onClose(this.state.text)}onChange(s){this.setState({text:s.target.value})}render(){const s={...xt.dropzone,...this.state.imageStatus==="accepted"?xt.dropzoneAccepted:this.state.imageStatus==="rejected"?xt.dropzoneRejected:void 0};return p.jsxs(y.Dialog,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":xt.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",children:[p.jsx(y.DialogTitle,{id:"import-dialog-title",children:b.I18n.t("Import blocks")}),p.jsxs(y.DialogContent,{style:xt.fullHeight,children:[p.jsx("textarea",{autoFocus:!0,id:"import-text-area",placeholder:b.I18n.t("Paste your blocks here"),style:{...xt.textArea,color:this.props.themeType==="dark"?"#ffffff":"#000000"},onChange:i=>this.onChange(i),value:this.state.text}),p.jsx(B_,{maxSize:5e7,onDrop:(i,r)=>{var l,u,d;i.length?this.handleDropFile(i):window.alert(((d=(u=(l=r==null?void 0:r[0])==null?void 0:l.errors)==null?void 0:u[0])==null?void 0:d.message)||b.I18n.t("ra_Cannot upload"))},multiple:!1,accept:{"text/plain":[],"text/xml":[],"application/xml":[]},children:({getRootProps:i,getInputProps:r,isDragActive:l,isDragReject:u})=>u?(this.state.imageStatus!=="rejected"&&this.setState({imageStatus:"rejected"}),p.jsxs("div",{style:{...s,...xt.dropzoneDiv},...i(),children:[p.jsx("input",{...r()}),p.jsx("span",{style:xt.text,children:b.I18n.t("Some files will be rejected")},"text"),p.jsx($c,{style:{...xt.icon,...xt.iconError}},"icon")]})):l?(this.state.imageStatus!=="accepted"&&this.setState({imageStatus:"accepted"}),p.jsxs("div",{style:{...s,...xt.dropzoneDiv},...i(),children:[p.jsx("input",{...r()}),p.jsx("span",{style:xt.text,children:b.I18n.t("All files will be accepted")},"text"),p.jsx(Cg,{style:{...xt.icon,...xt.iconOk}},"icon")]})):(this.state.imageStatus!=="wait"&&this.setState({imageStatus:"wait"}),p.jsxs("div",{style:{...s,...xt.dropzoneDiv},...i(),children:[p.jsx("input",{...r()}),p.jsx("span",{style:xt.text,children:b.I18n.t("Drop some files here or click...")},"text"),p.jsx(P_,{style:xt.icon},"icon")]}))})]}),p.jsxs(y.DialogActions,{children:[p.jsx(y.Button,{variant:"contained",disabled:!this.state.text,onClick:()=>this.handleOk(),color:"primary",startIcon:p.jsx(di,{}),children:b.I18n.t("Import")}),p.jsx(y.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:p.jsx(lo,{}),children:b.I18n.t("Close")})]})]})}}/** + * @license + * Copyright 2023 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */const Te=window.Blockly;class jp extends Error{constructor(){super("The field has not yet been attached to its input. Call appendField to attach it.")}}class tc extends Te.Field{textGroup=null;borderRect_=null;maxLines_=1/0;isOverflowedY_=!1;constructor(s,i,r){super(s),s!==Symbol("SKIP_SETUP")&&(r&&this.configure_(r),this.SERIALIZABLE=!0,this.setValue((s==null?void 0:s.toString())||""),i&&this.setValidator(i))}configure_(s){super.configure_(s),s.maxLines&&this.setMaxLines(s.maxLines)}toXml(s){return s.textContent=this.getValue().replace(/\n/g," "),s}fromXml(s){this.setValue(s.textContent.replace(/ /g,` +`))}saveState(){const s=this.saveLegacyState(tc);return s!==null?s:this.getValue()}loadState(s){this.loadLegacyState(Te.Field,s)||this.setValue(s)}initView(){this.createBorderRect_(),this.textGroup=Te.utils.dom.createSvgElement(Te.utils.Svg.G,{class:"blocklyEditableText"},this.fieldGroup_)}onHtmlInputKeyDownSuper_(s){s.key==="Enter"?(Te.WidgetDiv.hideIfOwner(this),Te.dropDownDiv.hideWithoutAnimation()):s.key==="Escape"?(this.setValue(this.htmlInput_.getAttribute("data-untyped-default-value"),!1),Te.WidgetDiv.hideIfOwner(this),Te.dropDownDiv.hideWithoutAnimation()):s.key==="Tab"&&(Te.WidgetDiv.hideIfOwner(this),Te.dropDownDiv.hideWithoutAnimation(),this.sourceBlock_.tab(this,!s.shiftKey),s.preventDefault())}onHtmlInputChange_(s){const i=this.value_;this.setValue(this.getValueFromEditorText_(this.htmlInput_.value),!1),this.sourceBlock_&&Te.Events.isEnabled()&&this.value_!==i&&Te.Events.fire(new(Te.Events.get("block_field_intermediate_change"))(this.sourceBlock_,this.name||null,i,this.value_))}onFinishEditing_(s){}getValueFromEditorText_(s){return s}bindInputEvents_(s){this.onKeyDownWrapper_=Te.browserEvents.conditionalBind(s,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper_=Te.browserEvents.conditionalBind(s,"input",this,this.onHtmlInputChange_)}getDisplayText_(){const s=this.getSourceBlock();if(!s)throw new Error("The field has not yet been attached to its input. Call appendField to attach it.");let i=this.getText();if(!i)return Te.Field.NBSP;const r=i.split(` +`);i="";const l=this.isOverflowedY_?this.maxLines_:r.length;for(let u=0;uthis.maxDisplayLength?d=`${d.substring(0,this.maxDisplayLength-4)}...`:this.isOverflowedY_&&u===l-1&&(d=`${d.substring(0,d.length-3)}...`),d=d.replace(/\s/g,Te.Field.NBSP),i+=d,u!==l-1&&(i+=` +`)}return s.RTL&&(i+="‏"),i}doValueUpdate_(s){super.doValueUpdate_(s),this.value_!==null&&(this.isOverflowedY_=this.value_.split(` +`).length>this.maxLines_)}render_(){const s=this.getSourceBlock();if(!s)throw new Error("The field has not yet been attached to its input. Call appendField to attach it.");let i;const r=this.textGroup;for(;i=r.firstChild;)r.removeChild(i);const l=this.getConstants();if(!l)throw Error("Constants not found");const u=this.getDisplayText_().split(` +`);let d=0;for(let g=0;gd&&(d=v),g+=s.FIELD_TEXT_HEIGHT+(m>0?s.FIELD_BORDER_RECT_Y_PADDING:0)}if(this.isBeingEdited_){const m=String(this.value_).split(` +`),f=Te.utils.dom.createSvgElement(Te.utils.Svg.TEXT,{class:"blocklyText blocklyMultilineText"});for(let _=0;_this.maxDisplayLength&&(m[_]=m[_].substring(0,this.maxDisplayLength)),f.textContent=m[_];const S=Te.utils.dom.getFastTextWidth(f,r,l,u);S>d&&(d=S)}const v=this.htmlInput_,w=v.offsetWidth-v.clientWidth;d+=w}this.borderRect_&&(g+=s.FIELD_BORDER_RECT_Y_PADDING*2,d+=s.FIELD_BORDER_RECT_X_PADDING*2+1,this.borderRect_.setAttribute("width",`${d}`),this.borderRect_.setAttribute("height",`${g}`)),this.size_.width=d,this.size_.height=g,this.positionBorderRect_()}showInlineEditor_(s){const i=this.getSourceBlock();if(!i)throw new jp;Te.WidgetDiv.show(this,i.RTL,this.widgetDispose_.bind(this),this.workspace_),this.htmlInput_=this.widgetCreate_(),this.isBeingEdited_=!0,this.valueWhenEditorWasOpened_=this.value_,s||(this.htmlInput_.focus({preventScroll:!0}),this.htmlInput_.select())}getEditorText_(s){return`${s}`}getScaledBBox(){let s,i,r;const l=this.getSourceBlock();if(!l)throw new jp;if(this.isFullBlockField()){const u=this.sourceBlock_.getHeightWidth(),d=l.workspace.scale;r=this.getAbsoluteXY_(),s=(u.width+1)*d,i=(u.height+1)*d,Te.utils.userAgent.GECKO?(r.x+=1.5*d,r.y+=1.5*d):(r.x-=.5*d,r.y-=.5*d)}else{const u=this.borderRect_.getBoundingClientRect();r=Te.utils.style.getPageOffset(this.borderRect_),s=u.width,i=u.height}return new Te.utils.Rect(r.y,r.y+i,r.x,r.x+s)}resizeEditor_(){Te.renderManagement.finishQueuedRenders().then(()=>{const s=this.getSourceBlock();if(!s)throw new jp;const i=Te.WidgetDiv.getDiv(),r=this.getScaledBBox();i.style.width=`${r.right-r.left}px`,i.style.height=`${r.bottom-r.top}px`;const l=s.RTL?r.right-i.offsetWidth:r.left,u=r.top;i.style.left=`${l}px`,i.style.top=`${u}px`})}unbindInputEvents_(){this.onKeyDownWrapper_&&(Te.browserEvents.unbind(this.onKeyDownWrapper_),this.onKeyDownWrapper_=null),this.onKeyInputWrapper_&&(Te.browserEvents.unbind(this.onKeyInputWrapper_),this.onKeyInputWrapper_=null)}getClickTarget_(){return this.clickTarget_||this.getSvgRoot()}widgetDispose_(){this.isBeingEdited_=!1,this.isTextValid_=!0,this.forceRerender(),this.onFinishEditing_(this.value_),this.sourceBlock_&&Te.Events.isEnabled()&&this.valueWhenEditorWasOpened_!==null&&this.valueWhenEditorWasOpened_!==this.value_&&(Te.Events.fire(new(Te.Events.get("change"))(this.sourceBlock_,"field",this.name||null,this.valueWhenEditorWasOpened_,this.value_)),this.valueWhenEditorWasOpened_=null),Te.Events.setGroup(!1),this.unbindInputEvents_();const s=Te.WidgetDiv.getDiv().style;s.width="auto",s.height="auto",s.fontSize="",s.transition="",s.boxShadow="",this.htmlInput_=null;const i=this.getClickTarget_();if(!i)throw new Error("A click target has not been set.");Te.utils.dom.removeClass(i,"editing")}showEditor_(s,i){this.workspace_=this.sourceBlock_.workspace,!i&&this.workspace_.options.modalInputs&&(Te.utils.userAgent.MOBILE||Te.utils.userAgent.ANDROID||Te.utils.userAgent.IPAD)?this.showPromptEditor_():this.showInlineEditor_(!!i),this.forceRerender()}widgetCreate_(){const s=Te.WidgetDiv.getDiv(),i=this.workspace_.getScale(),r=this.getConstants();if(!r)throw Error("Constants not found");const l=document.createElement("textarea");l.className="blocklyHtmlInput blocklyHtmlTextAreaInput",l.setAttribute("spellcheck",String(this.spellcheck_));const u=`${r.FIELD_TEXT_FONTSIZE*i}pt`;s.style.fontSize=u,l.style.fontSize=u;const d=`${Te.FieldTextInput.BORDERRADIUS*i}px`;l.style.borderRadius=d;const g=r.FIELD_BORDER_RECT_X_PADDING*i,m=r.FIELD_BORDER_RECT_Y_PADDING*i/2;l.style.padding=`${m}px ${g}px ${m}px ${g}px`;const f=r.FIELD_TEXT_HEIGHT+r.FIELD_BORDER_RECT_Y_PADDING;return l.style.lineHeight=`${f*i}px`,s.appendChild(l),l.value=l.defaultValue=this.getEditorText_(this.value_),l.setAttribute("data-untyped-default-value",String(this.value_)),l.setAttribute("data-old-value",""),Te.utils.userAgent.GECKO?setTimeout(this.resizeEditor_.bind(this),0):this.resizeEditor_(),this.bindInputEvents_(l),l}setMaxLines(s){typeof s=="number"&&s>0&&s!==this.maxLines_&&(this.maxLines_=s,this.forceRerender())}getMaxLines(){return this.maxLines_}onHtmlInputKeyDown_(s){s.key!=="Enter"&&this.onHtmlInputKeyDownSuper_(s)}static fromJson(s){const i=Te.utils.parsing.replaceMessageReferences(s.text);return new this(i,void 0,s)}}Te.Css.register(` +.blocklyHtmlTextAreaInput { + font-family: monospace; + resize: none; + overflow: hidden; + height: 100%; + text-align: left; +} + +.blocklyHtmlTextAreaInputOverflowedY { + overflow-y: scroll; +} +`);/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */const vC="text_multiline",R0={type:vC,message0:"%1 %2",args0:[{type:"field_image",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=",width:12,height:17,alt:"¶"},{type:"field_multilinetext",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["parent_tooltip_when_inline"]};function O0(a,s){const i=s.multiline_quote_(a.getFieldValue("TEXT")),r=i.indexOf("+")!==-1?6.2:0;return[i,r]}const M0=window.Blockly.common.createBlockDefinitionsFromJsonArray([R0]);M0[vC];/** + * @license + * Copyright 2023 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */const Oe=window.Blockly;class _g extends Oe.Field{picker=null;highlightedIndex=null;boundEvents=[];SERIALIZABLE=!0;CURSOR="default";isDirty_=!1;colours=["#ffffff","#cccccc","#c0c0c0","#999999","#666666","#333333","#000000","#ffcccc","#ff6666","#ff0000","#cc0000","#990000","#660000","#330000","#ffcc99","#ff9966","#ff9900","#ff6600","#cc6600","#993300","#663300","#ffff99","#ffff66","#ffcc66","#ffcc33","#cc9933","#996633","#663333","#ffffcc","#ffff33","#ffff00","#ffcc00","#999900","#666600","#333300","#99ff99","#66ff99","#33ff33","#33cc00","#009900","#006600","#003300","#99ffff","#33ffff","#66cccc","#00cccc","#339999","#336666","#003333","#ccffff","#66ffff","#33ccff","#3366ff","#3333ff","#000099","#000066","#ccccff","#9999ff","#6666cc","#6633ff","#6600cc","#333399","#330099","#ffccff","#ff99ff","#cc66cc","#cc33cc","#993399","#663366","#330033"];titles=[];columns=7;constructor(s,i,r){super(s),s!==Symbol("SKIP_SETUP")&&(r&&this.configure_(r),this.setValue(s),i&&this.setValidator(i))}configure_(s){super.configure_(s),s.colourOptions&&(this.colours=s.colourOptions),s.colourTitles&&(this.titles=s.colourTitles),s.columns&&(this.columns=s.columns)}initView(){const s=this.getConstants();if(!s)throw Error("Constants not found");this.size_=new Oe.utils.Size(s.FIELD_COLOUR_DEFAULT_WIDTH,s.FIELD_COLOUR_DEFAULT_HEIGHT),this.createBorderRect_(),this.getBorderRect().style.fillOpacity="1",this.getBorderRect().setAttribute("stroke","#fff"),this.isFullBlockField()&&(this.clickTarget_=this.sourceBlock_.getSvgRoot())}isFullBlockField(){if(!this.getSourceBlock())throw new Oe.UnattachedFieldError;const i=this.getConstants();return this.blockIsSimpleReporter()&&!!(i!=null&&i.FIELD_COLOUR_FULL_BLOCK)}blockIsSimpleReporter(){const s=this.getSourceBlock();if(!s)throw new Oe.UnattachedFieldError;if(!s.outputConnection)return!1;for(const i of s.inputList)if(i.connection||i.fieldRow.length>1)return!1;return!0}applyColour(){const s=this.getSourceBlock();if(!s)throw new Oe.UnattachedFieldError;if(!this.fieldGroup_)return;const i=this.borderRect_;if(!i)throw new Error("The border rect has not been initialized");this.isFullBlockField()?(i.style.display="none",s.pathObject.svgPath.setAttribute("fill",this.getValue()),s.pathObject.svgPath.setAttribute("stroke","#fff")):(i.style.display="block",i.style.fill=this.getValue())}getSize(){var s;return(s=this.getConstants())!=null&&s.FIELD_COLOUR_FULL_BLOCK&&(this.render_(),this.isDirty_=!1),super.getSize()}render_(){super.render_();const s=this.getSourceBlock();if(!s)throw new Oe.UnattachedFieldError;s.applyColour()}updateSize_(s){const i=this.getConstants();if(!i)return;let r,l;this.isFullBlockField()?(r=(s??0)*2,l=i.FIELD_TEXT_HEIGHT):(r=i.FIELD_COLOUR_DEFAULT_WIDTH,l=i.FIELD_COLOUR_DEFAULT_HEIGHT),this.size_.height=l,this.size_.width=r,this.positionBorderRect_()}doClassValidation_(s){return typeof s!="string"?null:Oe.utils.colour.parse(s)}getText(){let s=this.value_;return/^#(.)\1(.)\2(.)\3$/.test(s)&&(s=`#${s[1]}${s[3]}${s[5]}`),s}setColours(s,i){return this.colours=s,i&&(this.titles=i),this}setColumns(s){return this.columns=s,this}showEditor_(){if(this.dropdownCreate(),!this.picker)throw Error("Picker not found");Oe.DropDownDiv.getContentDiv().appendChild(this.picker),Oe.DropDownDiv.showPositionedByField(this,this.dropdownDispose.bind(this)),this.picker.focus({preventScroll:!0})}onClick(s){const i=s.target,r=i==null?void 0:i.getAttribute("data-colour");r!==null&&(this.setValue(r),Oe.DropDownDiv.hideIfOwner(this))}onKeyDown(s){let i=!0,r;switch(s.key){case"ArrowUp":this.moveHighlightBy(0,-1);break;case"ArrowDown":this.moveHighlightBy(0,1);break;case"ArrowLeft":this.moveHighlightBy(-1,0);break;case"ArrowRight":this.moveHighlightBy(1,0);break;case"Enter":if(r=this.getHighlighted(),r){const l=r.getAttribute("data-colour");l!==null&&this.setValue(l)}Oe.DropDownDiv.hideWithoutAnimation();break;default:i=!1}i&&s.stopPropagation()}moveHighlightBy(s,i){if(!this.highlightedIndex)return;const r=this.colours,l=this.columns;let u=this.highlightedIndex%l,d=Math.floor(this.highlightedIndex/l);u+=s,d+=i,s<0?u<0&&d>0?(u=l-1,d--):u<0&&(u=0):s>0?u>l-1&&dl-1&&u--:i<0?d<0&&(d=0):i>0&&d>Math.floor(r.length/l)-1&&(d=Math.floor(r.length/l)-1);const g=this.picker.childNodes[d].childNodes[u],m=d*l+u;this.setHighlightedCell(g,m)}onMouseMove(s){const i=s.target,r=i&&Number(i.getAttribute("data-index"));r!==null&&r!==this.highlightedIndex&&this.setHighlightedCell(i,r)}onMouseEnter(){var s;(s=this.picker)==null||s.focus({preventScroll:!0})}onMouseLeave(){var i;(i=this.picker)==null||i.blur();const s=this.getHighlighted();s&&Oe.utils.dom.removeClass(s,"blocklyColourHighlighted")}getHighlighted(){var l;if(!this.highlightedIndex)return null;const s=this.highlightedIndex%this.columns,i=Math.floor(this.highlightedIndex/this.columns),r=(l=this.picker)==null?void 0:l.childNodes[i];return r?r.childNodes[s]:null}setHighlightedCell(s,i){const r=this.getHighlighted();r&&Oe.utils.dom.removeClass(r,"blocklyColourHighlighted"),Oe.utils.dom.addClass(s,"blocklyColourHighlighted"),this.highlightedIndex=i;const l=s.getAttribute("id");l&&this.picker&&Oe.utils.aria.setState(this.picker,Oe.utils.aria.State.ACTIVEDESCENDANT,l)}dropdownCreate(){const s=this.columns,i=this.colours,r=this.getValue(),l=document.createElement("table");l.className="blocklyColourTable",l.tabIndex=0,l.dir="ltr",Oe.utils.aria.setRole(l,Oe.utils.aria.Role.GRID),Oe.utils.aria.setState(l,Oe.utils.aria.State.EXPANDED,!0),Oe.utils.aria.setState(l,Oe.utils.aria.State.ROWCOUNT,Math.floor(i.length/s)),Oe.utils.aria.setState(l,Oe.utils.aria.State.COLCOUNT,s);let u=null;for(let d=0;dtr>td { + border: 0.5px solid #888; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + height: 20px; + padding: 0; + width: 20px; +} + +.blocklyColourTable>tr>td.blocklyColourHighlighted { + border-color: #eee; + box-shadow: 2px 2px 7px 2px rgba(0, 0, 0, 0.3); + position: relative; +} + +.blocklyColourSelected, .blocklyColourSelected:hover { + border-color: #eee !important; + outline: 1px solid #333; + position: relative; +} +`);/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */const yC="colour_picker",N0={type:yC,message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]};function L0(a,s){return[s.quote_(a.getFieldValue("COLOUR")),0]}const B0=window.Blockly.common.createBlockDefinitionsFromJsonArray([N0]);B0[yC];/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */const _C="colour_random",P0={type:_C,message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"};function F0(a,s){return[`${s.provideFunction_("colourRandom",` +function ${s.FUNCTION_NAME_PLACEHOLDER_}() { + var num = Math.floor(Math.random() * 0x1000000); + return '#' + ('00000' + num.toString(16)).substr(-6); +} +`)}()`,2]}const j0=window.Blockly.common.createBlockDefinitionsFromJsonArray([P0]);j0[_C];/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */const wC="colour_rgb",z0={type:wC,message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"};function U0(a,s){const i=s.valueToCode(a,"RED",99)||0,r=s.valueToCode(a,"GREEN",99)||0,l=s.valueToCode(a,"BLUE",99)||0;return[`${s.provideFunction_("colourRgb",` +function ${s.FUNCTION_NAME_PLACEHOLDER_}(r, g, b) { + r = Math.max(Math.min(Number(r), 100), 0) * 2.55; + g = Math.max(Math.min(Number(g), 100), 0) * 2.55; + b = Math.max(Math.min(Number(b), 100), 0) * 2.55; + r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2); + g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2); + b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2); + return '#' + r + g + b; +} +`)}(${i}, ${r}, ${l})`,2]}const H0=window.Blockly.common.createBlockDefinitionsFromJsonArray([z0]);H0[wC];/** + * @license + * Copyright 2024 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */const CC="colour_blend",W0={type:CC,message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",check:"Colour",align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"};function G0(a,s){const i=s.valueToCode(a,"COLOUR1",99)||"'#000000'",r=s.valueToCode(a,"COLOUR2",99)||"'#000000'",l=s.valueToCode(a,"RATIO",99)||.5;return[`${s.provideFunction_("colourBlend",` +function ${s.FUNCTION_NAME_PLACEHOLDER_}(c1, c2, ratio) { + ratio = Math.max(Math.min(Number(ratio), 1), 0); + var r1 = parseInt(c1.substring(1, 3), 16); + var g1 = parseInt(c1.substring(3, 5), 16); + var b1 = parseInt(c1.substring(5, 7), 16); + var r2 = parseInt(c2.substring(1, 3), 16); + var g2 = parseInt(c2.substring(3, 5), 16); + var b2 = parseInt(c2.substring(5, 7), 16); + var r = Math.round(r1 * (1 - ratio) + r2 * ratio); + var g = Math.round(g1 * (1 - ratio) + g2 * ratio); + var b = Math.round(b1 * (1 - ratio) + b2 * ratio); + r = ('0' + (r || 0).toString(16)).slice(-2); + g = ('0' + (g || 0).toString(16)).slice(-2); + b = ('0' + (b || 0).toString(16)).slice(-2); + return '#' + r + g + b; +} +`)}(${i}, ${r}, ${l})`,2]}const V0=window.Blockly.common.createBlockDefinitionsFromJsonArray([W0]);V0[CC];function K0(){window.Blockly.FieldMultilineInput||(window.Blockly.fieldRegistry.register("field_multilinetext",tc),window.Blockly.JavaScript.forBlock.text_multiline=O0,window.Blockly.FieldMultilineInput=tc,Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"text_multiline",message0:"%1 %2",args0:[{type:"field_image",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=",width:12,height:17,alt:"¶"},{type:"field_multilinetext",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["parent_tooltip_when_inline"]}]))),window.Blockly.FieldColour||(window.Blockly.fieldRegistry.register("field_colour",_g),window.Blockly.JavaScript.forBlock.colour_picker=L0,window.Blockly.JavaScript.forBlock.colour_blend=G0,window.Blockly.JavaScript.forBlock.colour_random=F0,window.Blockly.JavaScript.forBlock.colour_rgb=U0,window.Blockly.FieldColour=_g,Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_picker",message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_random",message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_rgb",message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_blend",message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",check:"Colour",align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"}])))}let Ll=!1,Bl=!1,zp=null,Up=null;const y_=[];function TC(a,s,i,r){var l;if(r=r||[],(a.tagName==="BLOCK"||a.tagName==="block")&&(i=a.id),a.tagName==="FIELD"||a.tagName==="field")for(let u=0;uTC(u,s,i,r)),r}class Pe extends X.Component{blockly=null;blocklyWorkspace=null;originalCode;someSelected=null;changeTimer=null;someSelectedTime=0;ignoreChanges=!1;blinkBlock;onResizeBind;didUpdate=null;lastCommand="";lastSearch;static Blockly=window.Blockly;constructor(s){super(s),this.state={languageOwnLoaded:Bl,languageBlocklyLoaded:Ll,changed:!1,message:"",error:"",themeType:this.props.themeType,exportText:"",importText:!1,searchText:this.props.searchText||"",showInputPrompt:null},this.originalCode=s.code||"",this.someSelected=null,this.onResizeBind=this.onResize.bind(this),this.lastSearch=this.props.searchText||"",this.blinkBlock=null,K0(),Pe.Blockly.dialog.setPrompt(this.onShowNameDialog),this.loadLanguages()}onShowNameDialog=(s,i,r)=>{this.setState({showInputPrompt:{promptText:s,defaultText:i,callback:r,value:i}})};static loadJS(s,i,r){const l=document.createElement("script");try{l.src=s,l.onload=i,l.onerror=i,(r||window.document.body).appendChild(l)}catch(u){console.error(`Cannot load ${s}: ${u}`),i&&i()}}static loadScripts(s,i){if(!(s!=null&&s.length)){i&&i();return}const r=s.pop();r&&!y_.includes(r)?(y_.push(r),Pe.loadJS(`../../adapter/${r}/blockly.js`,()=>setTimeout(()=>Pe.loadScripts(s,i),0))):setTimeout(()=>Pe.loadScripts(s,i),0)}static loadCustomBlockly(s,i){var l;const r=[];for(const u in s)!Object.prototype.hasOwnProperty.call(s,u)||!s[u]||!u.match(/^system\.adapter\./)||s[u].type!=="adapter"||(l=s[u].common)!=null&&l.blockly&&(console.log(`Detected custom blockly: ${s[u].common.name}`),r.push(s[u].common.name));Pe.loadScripts(r,i)}static loadXMLDoc(s){let i;return window.DOMParser?i=r=>new window.DOMParser().parseFromString(r,"text/xml"):typeof window.ActiveXObject<"u"&&new window.ActiveXObject("Microsoft.XMLDOM")?i=r=>{const l=new window.ActiveXObject("Microsoft.XMLDOM");return l.async="false",l.loadXML(r),l}:i=()=>null,i(s)}searchBlocks(s){if(this.blocklyWorkspace){const i=Pe.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),r=TC(i,s.toLowerCase());return console.log(`Search "${s}" found blocks: ${r.length?JSON.stringify(r):"none"}`),r}return[]}searchId(){const s=this.lastSearch?this.searchBlocks(this.lastSearch):null;s!=null&&s.length?(this.someSelected=s,this.someSelected.forEach(i=>{var r;return(r=this.blocklyWorkspace)==null?void 0:r.highlightBlock(i,!0)}),this.someSelectedTime=Date.now()):this.someSelected&&(this.someSelected.forEach(i=>{var r;return(r=this.blocklyWorkspace)==null?void 0:r.highlightBlock(i,!1)}),this.someSelected=null)}UNSAFE_componentWillReceiveProps(s){s.command&&this.lastCommand!==s.command&&(this.lastCommand=s.command,setTimeout(()=>this.lastCommand="",300),this.lastCommand==="check"?this.blocklyCheckBlocks((i,r)=>{i?(r&&Pe.blocklyBlinkBlock(r),this.setState({error:{text:b.I18n.t(i),title:b.I18n.t("Error was found")}}),this.blinkBlock=r):this.setState({message:b.I18n.t("Ok")})}):this.lastCommand==="export"?this.exportBlocks():this.lastCommand==="import"&&this.importBlocks()),s.searchText!==this.lastSearch&&(this.lastSearch=s.searchText,this.searchId()),this.state.themeType!==s.themeType&&this.setState({themeType:s.themeType},()=>this.updateBackground()),this.originalCode!==s.code&&(this.originalCode=s.code||"",this.loadCode(),this.searchId())}loadLanguages(){if(!Ll){const s=window.document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",`google-blockly/msg/js/${b.I18n.getLanguage()}.js`),s.onload=()=>{Ll=!0,this.setState({languageBlocklyLoaded:Ll})},window.document.getElementsByTagName("head")[0].appendChild(s)}if(!Bl){const s=window.document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",`google-blockly/own/msg/${b.I18n.getLanguage()}.js`),s.onload=()=>{Bl=!0,this.setState({languageOwnLoaded:Bl})},window.document.getElementsByTagName("head")[0].appendChild(s)}}onResize(){this.blocklyWorkspace&&Pe.Blockly.svgResize(this.blocklyWorkspace)}static jsCode2Blockly(s){s=s||"";const i=s.split(/[\r\n]+|\r|\n/g);let r="";for(let u=i.length-1;u>=0;u--)if(i[u].substring(0,2)==="//"){r=i[u].substring(2);break}if(r.substring(0,4)==="s.select(),i),setTimeout(()=>s.unselect(),i+150)}blocklyRemoveOrphanedShadows(){if(this.blocklyWorkspace){const s=this.blocklyWorkspace.getAllBlocks();let i;for(let r=0;i=s[r];r++)if(i.isShadow()){const l=i.getConnections_(!0);let u;for(let d=0;u=l[d];d++)if(!u.targetConnection){i.dispose();break}}}}blocklyCheckBlocks(s){let i;if(!this.blocklyWorkspace||this.blocklyWorkspace.getAllBlocks().length===0)return s&&s("no blocks found"),!1;let r=this.blocklyGetUnconnectedBlock();return r?i="not properly connected":(r=this.blocklyGetBlockWithWarning(),r&&(i="warning on this block")),r?(s?s(i,r):Pe.blocklyBlinkBlock(r),!1):(s(),!0)}blocklyGetUnconnectedBlock(){var r;const s=(r=this.blocklyWorkspace)==null?void 0:r.getAllBlocks();let i;if(s)for(let l=0;i=s[l];l++){const u=i.getConnections_(!0);let d;for(let g=0;d=u[g];g++)if(!d.sourceBlock_||(d.type===Pe.Blockly.INPUT_VALUE||d.type===Pe.Blockly.OUTPUT_VALUE)&&!d.targetConnection&&!d._optional)return i}return null}blocklyGetBlockWithWarning(){var r;const s=(r=this.blocklyWorkspace)==null?void 0:r.getAllBlocks();let i;if(s){for(let l=0;i=s[l];l++)if(i.warning)return i}return null}blocklyCode2JSCode(s){if(!this.blocklyWorkspace)return"";let i=Pe.Blockly.JavaScript.workspaceToCode(this.blocklyWorkspace);if(!s){i+=` +`;const r=Pe.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),l=Pe.Blockly.Xml.domToText(r);i+=`//${btoa(encodeURIComponent(l))}`}return i}exportBlocks(){if(!this.blocklyWorkspace)return;let s;const i=Pe.Blockly.getSelected();if(i){const r=Pe.Blockly.Xml.blockToDom(i),l=i.getRelativeToSurfaceXY();r.setAttribute("x",(i.RTL?-l.x:l.x).toString()),r.setAttribute("y",l.y.toString()),s=Pe.Blockly.Xml.domToPrettyText(r)}else{const r=Pe.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);s=Pe.Blockly.Xml.domToPrettyText(r)}this.setState({exportText:s})}importBlocks(){this.setState({importText:!0})}onImportBlocks(s){if(this.blocklyWorkspace&&(s=(s||"").trim(),s))try{s.startsWith("${s}`),s=s.replace(/[\n\r]/g,"").replace(/.*<\/variables>/g,""),window.scripts.loading=!0;const i=Pe.Blockly.utils.xml.textToDom(s);if(i.nodeName==="xml")for(let r=0;r';window.scripts.loading=!0;const i=Pe.Blockly.utils.xml.textToDom(s);Pe.Blockly.Xml.domToWorkspace(i,this.blocklyWorkspace),window.scripts.loading=!1}catch(s){console.error(s),setTimeout(()=>this.setState({error:b.I18n.t("Cannot extract Blockly code!")}))}setTimeout(()=>this.ignoreChanges=!1,100)}}onBlocklyChanged(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}async componentDidUpdate(){if(!this.blockly||(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),this.blocklyWorkspace))return;window.addEventListener("resize",this.onResizeBind,!1),zp=zp||await this.getToolbox(),Up=Up||Pe.Blockly.utils.xml.textToDom(zp),this.blocklyWorkspace=Pe.Blockly.inject(this.blockly,{renderer:"thrasos",theme:this.state.themeType==="dark"?v_:"classic",media:"google-blockly/media/",toolbox:Up,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2,pinch:!0},move:{scrollbars:{horizontal:!0,vertical:!0},drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:1,snap:!0},sounds:!1}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.registerToolboxCategoryCallback("PROCEDURE",window.Blockly.Procedures.flyoutCategoryNew),this.blocklyWorkspace.addChangeListener(i=>{var r;if(this.someSelected&&Date.now()-this.someSelectedTime>500){const l=(r=this.blocklyWorkspace)==null?void 0:r.getAllBlocks();this.someSelected=null,l==null||l.forEach(u=>u.removeSelect())}[Pe.Blockly.Events.UI,Pe.Blockly.Events.CREATE,Pe.Blockly.Events.VIEWPORT_CHANGE].includes(i.type)||this.ignoreChanges||(this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=setTimeout(()=>{this.changeTimer=null,this.onBlocklyChanged()},200))}),this.loadCode(),this.onResize();const s=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(s),this.updateBackground(),setTimeout(()=>this.searchId(),200)}updateBackground(){var s;this.state.themeType==="dark"?(s=this.blocklyWorkspace)==null||s.setTheme(v_):this.blocklyWorkspace&&(this.blocklyWorkspace.getThemeManager(),this.blocklyWorkspace.setTheme(Pe.Blockly.Themes.Classic))}componentWillUnmount(){this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener("resize",this.onResizeBind))}onChange(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}async getToolbox(s){const i=window.document.getElementById("toolbox");let r=i==null?void 0:i.outerHTML;if(!r)return s?(console.error("Cannot load blocks!"),""):new Promise(l=>{setTimeout(()=>l(this.getToolbox(!0)),500)});if(r=r.replace(/{(\w+)}/g,(l,u)=>window.MSG[u]),window.Blockly.CustomBlocks){let l="";const u=b.I18n.getLanguage();for(let d=0;d`;for(const f in m.blocks)Object.prototype.hasOwnProperty.call(m.blocks,f)&&(l+=m.blocks[f]);l+=""}r=r.replace("%%CUSTOM_BLOCKS%%",l)}return r}renderMessageDialog(){return this.state.message?p.jsx(b.Message,{text:typeof this.state.message=="object"?this.state.message.text:this.state.message,title:typeof this.state.message=="object"?this.state.message.title:"",onClose:()=>this.setState({message:""})},"dialogMessage"):null}renderErrorDialog(){return this.state.error?p.jsx(kc,{text:typeof this.state.error=="object"?this.state.error.text.toString():this.state.error,title:typeof this.state.error=="object"?this.state.error.title:"",onClose:()=>{this.blinkBlock&&(Pe.blocklyBlinkBlock(this.blinkBlock),this.blinkBlock=null),this.setState({error:""})}},"dialogError"):null}renderExportDialog(){return this.state.exportText?p.jsx(A0,{themeType:this.state.themeType,onClose:()=>this.setState({exportText:""}),text:this.state.exportText,scriptId:this.props.scriptId},"dialogExport"):null}renderImportDialog(){return this.state.importText?p.jsx(tm,{themeType:this.props.themeType,onClose:s=>{this.setState({importText:!1}),this.onImportBlocks(s)}},"dialogImport"):null}renderDialogPrompt(){return this.state.showInputPrompt?p.jsxs(y.Dialog,{onClose:()=>{var i;const s=(i=this.state.showInputPrompt)==null?void 0:i.callback;s&&s(null),this.setState({showInputPrompt:null})},maxWidth:"sm",fullWidth:!0,open:!0,children:[p.jsx(y.DialogTitle,{children:this.state.showInputPrompt.promptText}),p.jsx(y.DialogContent,{children:p.jsx(y.TextField,{variant:"standard",fullWidth:!0,value:this.state.showInputPrompt.value,onKeyUp:s=>{var i,r;if(s.key==="Enter"){const l=(i=this.state.showInputPrompt)==null?void 0:i.callback,u=(r=this.state.showInputPrompt)==null?void 0:r.value;l&&l(u===void 0?null:u),this.setState({showInputPrompt:null})}},onChange:s=>{var r,l;const i={...this.state.showInputPrompt};(r=this.state.showInputPrompt)!=null&&r.callback&&(i.callback=(l=this.state.showInputPrompt)==null?void 0:l.callback),i.value=s.target.value,this.setState({showInputPrompt:i})}})}),p.jsxs(y.DialogActions,{children:[p.jsx(y.Button,{variant:"contained",disabled:!this.state.showInputPrompt.value,onClick:()=>{var r,l;const s=(r=this.state.showInputPrompt)==null?void 0:r.callback,i=(l=this.state.showInputPrompt)==null?void 0:l.value;s&&s(i===void 0?null:i),this.setState({showInputPrompt:null})},color:"primary",startIcon:p.jsx(di,{}),children:b.I18n.t("Apply")}),p.jsx(y.Button,{color:"grey",variant:"contained",onClick:()=>{var i;const s=(i=this.state.showInputPrompt)==null?void 0:i.callback;s&&s(null),this.setState({showInputPrompt:null})},startIcon:p.jsx(lo,{}),children:b.I18n.t("Close")})]})]},"inputDialog"):null}render(){return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout(()=>{this.didUpdate=null,this.componentDidUpdate()},100),[p.jsx("div",{ref:s=>this.blockly=s,style:{width:"100%",height:"100%",position:"relative"}},"blocklyDOM"),this.renderDialogPrompt(),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}}const Y0=Object.freeze(Object.defineProperty({__proto__:null,default:Pe},Symbol.toStringTag,{value:"Module"})),J0="_nameCard_15el3_28",X0="_iconThemCard_15el3_40",q0="_iconThemCardSelectable_15el3_49",Z0="_iconHelp_15el3_53",Q0="_blockName_15el3_64",eA="_controlMenuTop_15el3_123",tA="_debugInfo_15el3_132",sA="_tagCard_15el3_142",oA="_displayFlex_15el3_161",iA="_blockMarginTop_15el3_166",nA="_nameBlock_15el3_167",rA="_frontText_15el3_171",aA="_backText_15el3_177",lA="_iconTag_15el3_181",cA="_displayItalic_15el3_191",ue={nameCard:J0,iconThemCard:X0,iconThemCardSelectable:q0,iconHelp:Z0,blockName:Q0,controlMenuTop:eA,debugInfo:tA,tagCard:sA,displayFlex:oA,blockMarginTop:iA,nameBlock:nA,frontText:rA,backText:aA,iconTag:lA,displayItalic:cA},uA="_root_1dr6a_1",dA="_square_1dr6a_11",hA="_icon_1dr6a_16",Hp={root:uA,square:dA,icon:hA},Sr=({fullWidth:a,size:s,onClick:i,style:r,className:l,value:u,square:d,icon:g})=>p.jsx(y.Button,{variant:"outlined",color:"primary",onClick:i,fullWidth:a,style:r,className:b.Utils.clsx(Hp.root,l,d?Hp.square:""),size:s||"medium",children:g?p.jsx(b.Icon,{className:Hp.icon,src:g}):u}),pA="_root_1ucda_1",gA={root:pA},mA=({size:a,value:s,title:i,onChange:r,className:l,customValue:u,disabled:d})=>{const[g,m]=V.useState(!1);return p.jsxs(p.Fragment,{children:[p.jsx(y.Checkbox,{disabled:d,checked:!!(u?s:g),className:b.Utils.clsx(gA.root,l),onChange:f=>{u&&m(f.target.checked),r&&r(f.target.checked)},size:a||"medium"}),i||null]})},kC=V.memo(mA),fA="_root_19roy_1",__={root:fA},ni=a=>{const[s,i]=V.useState(""),{value:r,type:l,error:u,className:d,icon:g,label:m,style:f,onChange:v,fullWidth:w,autoComplete:_,customValue:S,autoFocus:k,rows:C,size:E,variant:A,multiline:R,disabled:O}=Object.assign({value:"",type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,fullWidth:!1,autoComplete:"",customValue:!1,autoFocus:!1,rows:1},a);return p.jsx(y.TextField,{error:!!u,autoFocus:k,fullWidth:w,label:m,disabled:O,variant:A,multiline:R,rows:C,value:S?r:s,type:l,helperText:u,style:f,className:b.Utils.clsx(__.root,d),autoComplete:_,onChange:Z=>{!S&&i(Z.target.value),v&&v(Z.target.value)},slotProps:{input:{endAdornment:g?p.jsx(y.InputAdornment,{position:"end",children:p.jsx(b.Icon,{className:__.icon,src:g})}):null}},margin:"normal",size:E})},$A={formControl:{m:"10px 0","& .MuiFormControl-marginNormal":{mt:0,mb:0},"& > *":{color:"#2d0440 !important"},"& .MuiSelect-icon":{color:"#81688c"},"& label.Mui-focused":{color:"#81688c"},"& .MuiInput-underline:after":{borderBottomColor:"#510573"},"& .MuiInput-underline:before":{borderBottomColor:"#81688c"},"& .MuiInput-underline:hover:before":{borderBottomColor:"#81688c"}}},bA=({multiple:a,value:s,customValue:i,socket:r,title:l,attr:u,adapter:d,style:g,onChange:m,onInstanceHide:f})=>{const[v,w]=V.useState(s||"test1"),[_,S]=V.useState([]);return V.useEffect(()=>{r==null||r.getAdapterInstances(d).then(k=>{const C=k.map(E=>({value:E._id.replace("system.adapter.",""),title:E._id.replace("system.adapter.","")}));C.length===1?f(C[0].value):C.unshift({value:d,title:b.I18n.t("All")}),S(C)})},[r,d,f]),p.jsxs(y.FormControl,{sx:$A.formControl,fullWidth:!0,style:g,children:[p.jsx(y.Select,{variant:"standard",value:(i?s:v)||"_",fullWidth:!0,multiple:a,renderValue:k=>a&&Array.isArray(k)?k.join(", "):k,onChange:k=>{!i&&w(k.target.value),m(k.target.value)},input:u?p.jsx(y.Input,{name:u,id:`${u}-helper`}):p.jsx(y.Input,{name:u}),children:_.map(k=>p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:k.value||"_",children:b.I18n.t(k.title)},`key-${k.value}`))}),l?p.jsx(y.FormHelperText,{children:b.I18n.t(l)}):null]})},vA="_modalWrapper_587ci_33",yA="_modalDialog_587ci_40",w_={modalWrapper:vA,modalDialog:yA},wg=({onClose:a,children:s,titleButtonApply:i,titleButtonClose:r,onApply:l,className:u,textInput:d,defaultValue:g,disabled:m})=>{const[f,v]=V.useState(g||""),[w]=V.useState(g||"");return p.jsxs(y.Dialog,{open:!0,maxWidth:"md",disableEscapeKeyDown:!1,onClose:a,classes:{paper:w_.modalDialog},className:w_.modalWrapper,children:[p.jsxs(y.DialogContent,{children:[d&&p.jsx(ni,{className:u,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"medium",rows:10,multiline:!0,value:f,onChange:v,customValue:!0}),!d&&s]}),p.jsxs(y.DialogActions,{children:[p.jsx(y.Button,{disabled:m===void 0?w===f:m,onClick:()=>l(d?f:null),variant:"contained",color:"primary",children:b.I18n.t(i||"Ok")}),p.jsx(y.Button,{color:"grey",onClick:a,variant:"contained",children:b.I18n.t(r||"Cancel")})]})]})},_A="_root_15mo1_1",wA={root:_A},CA=({multiple:a,value:s,customValue:i,title:r,attr:l,options:u,style:d,onChange:g,className:m,doNotTranslate:f,doNotTranslate2:v})=>{const[w,_]=V.useState(s===void 0?u[0].value:s),S=i?s:w,k=S===""||S===null||S===void 0?"_":S;return p.jsxs(y.FormControl,{variant:"standard",className:b.Utils.clsx(wA.root,m),fullWidth:!0,style:d,children:[p.jsxs(y.Select,{variant:"standard",value:k,fullWidth:!0,multiple:a,renderValue:C=>{if(a&&Array.isArray(C)){C.sort();let A=C.indexOf("0");A!==-1&&(C.splice(A,1),C.push("0")),A=C.indexOf("_"),A!==-1&&(C.splice(A,1),C.unshift("_"));const R=u.find(Z=>Z.only);return R&&C.includes(R.value)?R.titleShort?f?R.titleShort:b.I18n.t(R.titleShort):f?R.title:b.I18n.t(R.title):C.map(Z=>u.find(ae=>ae.value===Z||Z==="_"&&ae.value==="")||Z).map(Z=>typeof Z=="object"?Z.titleShort?f?Z.titleShort:b.I18n.t(Z.titleShort):f?Z.title:b.I18n.t(Z.title):f?Z:b.I18n.t(Z)).join(", ")}const E=u?u.find(A=>A.value===C||C==="_"&&A.value===""):null;return E!=null&&E.title?f?E==null?void 0:E.title:b.I18n.t(E==null?void 0:E.title):C},onChange:C=>{if(i||_(C.target.value),a){const E=C.target.value,A=u.find(R=>R.only);if(A){const R=A.value;if(E.length===u.length-1&&E.includes(R))return g(E.filter(O=>O!==R),l);if(E.includes(R))return g(u.map(O=>O.value),l)}}g(C.target.value,l)},input:l?p.jsx(y.Input,{name:l,id:`${l}-helper`}):p.jsx(y.Input,{name:l}),children:[!a&&(u==null?void 0:u.map(C=>p.jsxs(y.MenuItem,{style:{placeContent:"space-between"},value:C.value===""||C.value===null||C.value===void 0?"_":C.value,children:[f?C.title:b.I18n.t(C.title),C.title2&&p.jsx("div",{children:v?C.title2:b.I18n.t(C.title2)})]},`key-${C.value}`))),a&&(u==null?void 0:u.map(C=>p.jsxs(y.MenuItem,{style:{placeContent:"space-between"},value:C.value||"_",children:[f?C.title:b.I18n.t(C.title)," ",p.jsx(kC,{customValue:!0,value:s==null?void 0:s.includes(C.value)})]},`key-${C.value}`)))]}),r?p.jsx(y.FormHelperText,{children:b.I18n.t(r)}):null]})},TA="_root_1gt4d_1",kA="_mark_1gt4d_27",C_={root:TA,mark:kA},SA=({size:a,value:s,style:i,onChange:r,className:l,customValue:u,min:d,max:g,step:m,unit:f})=>{const[v,w]=V.useState(0);d=d!==void 0?d:0,g=g!==void 0?g:0,m=m!==void 0?m:(g-d)/100;const _=[{value:d,label:d+(f||"")},{value:g,label:g+(f||"")}];return p.jsx(y.Slider,{defaultValue:u?s:v,"aria-labelledby":"discrete-slider",valueLabelDisplay:"auto",classes:{mark:C_.mark},marks:_,step:m,min:d,max:g,value:u?s:v,style:i,className:b.Utils.clsx(C_.root,l),onChange:(S,k)=>{Array.isArray(k)?(!u&&w(k[0]),r(k[0])):(!u&&w(k),r(k))},size:a||"medium"})},EA="_root_rzul6_1",IA={root:EA},xA=({label:a,size:s,value:i,style:r,onChange:l,className:u,customValue:d})=>{const[g,m]=V.useState(!1);return p.jsx(y.FormControlLabel,{className:IA.root,control:p.jsx(y.Switch,{checked:d?i:g,style:r,className:u,onChange:f=>{d||m(f.target.checked),l(f.target.checked)},size:s||"medium"}),label:a??"all"})},DA=V.memo(xA),AA="_root_135pm_1",RA={root:AA},OA=({value:a,style:s,onChange:i,className:r})=>p.jsx(y.TextField,{variant:"standard",id:"time",type:"time",onChange:l=>i(l.currentTarget.value),value:a,className:b.Utils.clsx(RA.root,r),fullWidth:!0,style:s,slotProps:{htmlInput:{step:300},inputLabel:{shrink:!0}}}),MA="_root_135pm_1",Pl={root:MA},Wp=[31,29,31,30,31,30,31,31,30,31,30,31],NA=({value:a,onChange:s,className:i,style:r})=>{const[l,u]=(a||"01.01").toString().split(".");let d=parseInt(u,10)||0,g=parseInt(l,10)||0;g>12?g=12:g<0&&(g=0),d>Wp[g]?d=Wp[g]:d<0&&(d=0);const m=[];for(let f=0;fs(`${f.target.value.toString().padStart(2,"0")}.${d.toString().padStart(2,"0")}`),value:g,children:[p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:0,children:b.I18n.t("Any month")},0),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:1,children:b.I18n.t("January")},1),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:2,children:b.I18n.t("February")},2),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:3,children:b.I18n.t("March")},3),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:4,children:b.I18n.t("April")},4),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:5,children:b.I18n.t("May")},5),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:6,children:b.I18n.t("June")},6),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:7,children:b.I18n.t("July")},7),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:8,children:b.I18n.t("August")},8),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:9,children:b.I18n.t("September")},9),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:10,children:b.I18n.t("October")},10),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:11,children:b.I18n.t("November")},11),p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:12,children:b.I18n.t("December")},12)]})}),p.jsx(y.FormControl,{variant:"standard",className:b.Utils.clsx(Pl.root,i),style:r,children:p.jsxs(y.Select,{variant:"standard",className:b.Utils.clsx(Pl.root,i),margin:"dense",label:b.I18n.t("Date"),onChange:f=>s(`${g.toString().padStart(2,"0")}.${f.target.value.toString().padStart(2,"0")}`),value:d,children:[p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:0,children:b.I18n.t("Any")},"A"),m.map(f=>p.jsx(y.MenuItem,{style:{placeContent:"space-between"},value:f,children:f},f))]})})]})},Gp={},LA={Shuffle:ZE,Apps:WE,Functions:YE,Language:lk,AddBox:HE,Pause:JE,Subject:eI,PlayForWork:qE,Brightness3:GE,HelpOutline:fw,Storage:QE,AccessTime:UE,PlayArrow:XE,FlashOn:KE};function T_({iconName:a,className:s,adapter:i,socket:r,onClick:l,style:u}){const[d,g]=V.useState("");if(V.useEffect(()=>{i&&r&&(Gp[i]instanceof Promise||(Gp[i]=r.getObject(`system.adapter.${i}`)),Gp[i].then(f=>{var v;return((v=f==null?void 0:f.common)==null?void 0:v.icon)&&g(`../../adapter/${i}/${f.common.icon}`)}))},[i,r]),i)return p.jsx("img",{onClick:f=>l&&l(f),src:d||"",className:s,style:u,alt:""});const m=a&&LA[a]||ck;return p.jsx(m,{className:s,style:u,onClick:f=>l&&l(f)})}let Vp;function BA(a){return Vp=Vp||b.I18n.getLanguage(),a&&typeof a=="object"?a[Vp]||a.en:a||""}function hn(a){return a===null?"null":a===void 0?"undefined":Array.isArray(a)?a.join(", "):typeof a=="object"?JSON.stringify(a):a.toString()}class Xe extends V.Component{debugHideTimeout=null;lastObjectIdChange=0;enableSimulationProcessing=!1;lastDebugMessage=0;debugMessageTimeout=null;static getStaticData(){return{acceptedBy:"actions",name:"Not found",id:"ActionEmpty",icon:"Shuffle"}}static compile(s,i){return""}constructor(s,i){super(s),i||={};const r=s.settings||{tagCard:i.tagCardArray?typeof i.tagCardArray[0]!="string"?i.tagCardArray[0].title:i.tagCardArray[0]:""};!r.tagCard&&i.tagCardArray&&(r.tagCard=typeof i.tagCardArray[0]!="string"?i.tagCardArray[0].title:i.tagCardArray[0]),this.state={inputs:i.inputs||s.inputs||[],name:i.name||s.name||"",icon:i.icon||s.icon||"",adapter:i.adapter||s.adapter||"",helpDialog:i.helpDialog||s.helpDialog||"",tagCardArray:i.tagCardArray||[],openTagMenu:!1,openModal:!1,iconTag:!1,error:"",helpText:"",instanceSelectionOptions:[],instanceSelectionDef:"",hideAttributes:[],settings:r,debugMessage:null,enableSimulation:this.props.enableSimulation}}componentWillUnmount(){this.debugMessageTimeout&&(clearTimeout(this.debugMessageTimeout),this.debugMessageTimeout=null),this.debugHideTimeout&&(clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null)}onTagChange(s,i,r,l,u){let d=!1;const g=JSON.parse(JSON.stringify(this.state.settings));this.state.inputs.forEach(m=>{const f=m.attr,v=m.defaultValue;f&&v!==void 0&&g[f]===void 0&&(d=!0,g[f]=v)}),d?(this.setState({settings:g},()=>i==null?void 0:i()),this.props.onChange(g)):i&&i()}onUpdate(){}onValueChanged(s,i){}renderText(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:g,nameBlock:m,name:f,doNotTranslate:v,doNotTranslateBack:w}=s;return p.jsxs(V.Fragment,{children:[p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),children:[d&&p.jsx("div",{className:ue.frontText,children:v?d:b.I18n.t(d)}),p.jsx(ni,{className:l,autoComplete:"off",label:BA(f),variant:"outlined",size:"small",fullWidth:!0,value:i,onChange:r,customValue:!0}),g&&p.jsx("div",{className:ue.backText,children:w?g:b.I18n.t(g)})]}),m&&p.jsx("div",{className:ue.nameBlock,children:b.I18n.t(m)})]},u)}renderSwitch(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:g,nameBlock:m,doNotTranslate:f,doNotTranslateBack:v}=s;return p.jsxs("div",{children:[p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),children:[d&&p.jsx("div",{className:ue.frontText,children:f?d:b.I18n.t(d)}),p.jsx(DA,{className:l,label:"",customValue:!0,value:i,onChange:r}),g&&p.jsx("div",{className:ue.backText,children:v?g:b.I18n.t(g)})]}),m&&p.jsx("div",{className:ue.nameBlock,children:b.I18n.t(m)})]},u)}renderNameText({attr:s,signature:i,doNotTranslate:r,defaultValue:l},u){return p.jsx("div",{className:b.Utils.clsx(i?ue.displayItalic:ue.displayFlex,ue.blockMarginTop),children:u?r?u:b.I18n.t(u):r?l:b.I18n.t(l)},s)}renderNumber(s,i,r){const{className:l}=this.props,{settings:u}=this.state,{attr:d,backText:g,frontText:m,openCheckbox:f,doNotTranslate:v,doNotTranslateBack:w}=s;let _=!0;return f&&(_=typeof u.offset=="boolean"?u.offset:!0),_?p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),children:[m&&p.jsx("div",{className:ue.frontText,children:v?m:b.I18n.t(m)}),p.jsx(ni,{className:b.Utils.clsx(l,s.className),fullWidth:!0,autoComplete:"off",label:s.noHelperText?"":"number",variant:"outlined",size:"small",type:"number",value:i,onChange:r,customValue:!0}),g&&p.jsx("div",{className:ue.backText,children:w?g:b.I18n.t(g)})]},d):null}renderColor(s,i,r){const{className:l}=this.props,{attr:u,backText:d,frontText:g,doNotTranslate:m,doNotTranslateBack:f}=s;return p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),children:[g&&p.jsx("div",{className:ue.frontText,children:m?g:b.I18n.t(g)}),p.jsx(ni,{className:l,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",type:"color",value:i,onChange:r}),d&&p.jsx("div",{className:ue.backText,children:f?d:b.I18n.t(d)})]},u)}renderCheckbox(s,i,r){const{className:l}=this.props,{settings:u}=this.state,{attr:d,backText:g,frontText:m,defaultValue:f,doNotTranslate:v,doNotTranslateBack:w}=s;return p.jsxs("div",{className:ue.displayFlex,children:[m&&p.jsx("div",{className:ue.frontText,children:v?m:b.I18n.t(m)}),p.jsx(kC,{className:l,size:"small",value:typeof u[d]=="boolean"?!!u[d]:!!f,customValue:!0,onChange:r}),g&&p.jsx("div",{onClick:()=>r(typeof u[d]=="boolean"?!u[d]:!f),className:ue.backText,children:w?g:b.I18n.t(g)})]},d)}renderSlider(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:g,nameBlock:m,min:f,max:v,step:w,unit:_,doNotTranslate:S,doNotTranslateBack:k}=s;return p.jsxs("div",{children:[p.jsxs("div",{className:ue.displayFlex,style:{marginRight:20},children:[d&&p.jsx("div",{className:ue.frontText,children:S?d:b.I18n.t(d)}),p.jsx(SA,{customValue:!0,min:f,max:v,step:w,unit:_,className:l,autoComplete:"off",label:"number",variant:"outlined",size:"small",value:i,onChange:C=>{console.log(C),r(C)}}),g&&p.jsx("div",{style:{marginLeft:20},className:ue.backText,children:k?g:b.I18n.t(g)})]}),m&&p.jsx("div",{className:ue.nameBlock,children:b.I18n.t(m)})]},u)}renderButton(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:g,doNotTranslate:m,doNotTranslateBack:f}=s;return p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),children:[d&&p.jsx("div",{className:ue.frontText,children:m?d:b.I18n.t(d)}),p.jsx(Sr,{fullWidth:!0,value:i.toString(),className:l,onClick:()=>r(i)}),g&&p.jsx("div",{className:ue.backText,children:f?g:b.I18n.t(g)})]},u)}async findIcon(s){var i;if(!s)return null;if((i=s.common)!=null&&i.icon)return b.getSelectIdIcon(s,"../..");if(s.type==="state"||s.type==="channel"){const r=s._id.split(".");r.pop();const l=r.join(".");try{const u=await this.props.socket.getObject(l);return await this.findIcon(u)}catch{return null}}return null}renderObjectID(s,i,r){const{attr:l,openCheckbox:u,checkReadOnly:d}=s,{settings:g}=this.state,m=this.state[`showSelectId${l}`],{className:f,socket:v,style:w}=this.props;let _=!0;u&&(_=typeof g.offset=="boolean"?g.offset:!0);const S=g[l],k=S?this.state[S]:void 0;return S&&!k&&k!==!1&&setTimeout(async C=>{var O;const E=await v.getObject(i),A=await this.findIcon(E),R={[C]:E||!1,[`${C}___icon`]:A,error:d&&this.lastObjectIdChange&&Date.now()-this.lastObjectIdChange<1e3&&((O=E==null?void 0:E.common)==null?void 0:O.write)===!1?b.I18n.t("Read only ID selected: %s",g[C]):""};this.setState(R)},0,S),_?p.jsxs("div",{className:ue.blockMarginTop,children:[p.jsxs("div",{className:ue.displayFlex,children:[s.title?p.jsx("div",{children:b.I18n.t(s.title)}):null,p.jsx(ni,{className:f,style:w,autoComplete:"off",fullWidth:!0,disabled:!0,variant:"outlined",size:"small",value:i,customValue:!0}),p.jsx(Sr,{icon:this.state[`${S}___icon`],square:!0,style:{...w||void 0,marginLeft:7},value:"...",className:f,onClick:()=>{const C={};C[`showSelectId${l}`]=!0,this.setState(C)}})]}),k?p.jsx("div",{className:b.Utils.clsx(ue.nameBlock,ue.displayItalic),children:b.Utils.getObjectNameFromObj(k,b.I18n.getLanguage())}):null,m?p.jsx(b.DialogSelectID,{theme:this.props.theme,imagePrefix:"../..",dialogName:"javascript",themeType:b.Utils.getThemeName(),socket:v,selected:i,onClose:()=>{const C={};C[`showSelectId${l}`]=!1,this.setState(C)},onOk:(C,E)=>{const A={};A[`showSelectId${l}`]=!1;const R=Array.isArray(C)?C[0]:C;this.setState(A,async()=>{var Z,ae,se,ge,K,je,Me,qe,ce,de;const O=R?await v.getObject(R):void 0;this.lastObjectIdChange=Date.now(),r({[l]:C,[`${l}Role`]:(Z=O==null?void 0:O.common)==null?void 0:Z.role,[`${l}Type`]:(ae=O==null?void 0:O.common)==null?void 0:ae.type,[`${l}Unit`]:(se=O==null?void 0:O.common)==null?void 0:se.unit,[`${l}States`]:(ge=O==null?void 0:O.common)==null?void 0:ge.states,[`${l}Min`]:(K=O==null?void 0:O.common)==null?void 0:K.min,[`${l}Max`]:(je=O==null?void 0:O.common)==null?void 0:je.max,[`${l}Step`]:(Me=O==null?void 0:O.common)==null?void 0:Me.step,[`${l}Def`]:(qe=O==null?void 0:O.common)==null?void 0:qe.def,[`${l}Write`]:(ce=O==null?void 0:O.common)==null?void 0:ce.write,[`${l}Read`]:(de=O==null?void 0:O.common)==null?void 0:de.read},()=>this.props.setOnUpdate&&this.props.setOnUpdate(!0))})}}):null]},l):null}renderIconTag(){return p.jsx("div",{className:ue.iconTag,onClick:s=>{this.state.settings.tagCard&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:s.currentTarget}))},children:this.state.settings.tagCard})}renderTime(s,i,r){const{attr:l,backText:u,frontText:d,doNotTranslate:g,doNotTranslateBack:m}=s;return p.jsxs("div",{className:ue.displayFlex,style:{whiteSpace:"nowrap"},children:[d&&p.jsx("div",{className:ue.frontText,children:g?d:b.I18n.t(d)}),p.jsx(OA,{value:i,onChange:r}),u&&p.jsx("div",{className:ue.backText,children:m?u:b.I18n.t(u)})]},l)}renderSelect(s,i,r){const{className:l,style:u}=this.props,{name:d,options:g,frontText:m,backText:f,attr:v,multiple:w,doNotTranslate:_,doNotTranslate2:S,doNotTranslateBack:k}=s;return p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),style:{whiteSpace:"nowrap"},children:[m&&p.jsx("div",{className:ue.frontText,children:b.I18n.t(m)}),p.jsx(CA,{attr:v,doNotTranslate:_,doNotTranslate2:S,title:d,className:l,style:u,options:g,value:i,onChange:r,multiple:w,customValue:!0}),f&&p.jsx("div",{className:ue.backText,children:k?f:b.I18n.t(f)})]},v)}renderInstance(s,i,r){const{socket:l}=this.props,{name:u,frontText:d,backText:g,attr:m,adapter:f,doNotTranslate:v,doNotTranslateBack:w}=s;return this.state.hideAttributes.includes(m)?null:p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),style:{whiteSpace:"nowrap"},children:[d&&p.jsx("div",{className:ue.frontText,children:v?d:b.I18n.t(d)}),p.jsx(bA,{attr:m,socket:l,adapter:f,title:u,value:i,onChange:_=>{r(Array.isArray(_)?_[0]:_)},customValue:!0,onInstanceHide:_=>this.setState({hideAttributes:[...this.state.hideAttributes,m]},()=>r(_))}),g&&p.jsx("div",{className:ue.backText,children:w?g:b.I18n.t(g)})]},m)}renderDialog(s){const{onShowDialog:i,frontText:r,backText:l,attr:u,icon:d,doNotTranslate:g,doNotTranslateBack:m}=s;return p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),style:{whiteSpace:"nowrap"},children:[r&&p.jsx("div",{className:ue.frontText,children:g?r:b.I18n.t(r)}),p.jsx(T_,{iconName:d,className:b.Utils.clsx(ue.iconDialog),onClick:()=>i&&i()}),l&&p.jsx("div",{className:ue.backText,children:m?l:b.I18n.t(l)})]},u)}renderModalInput(s,i,r){const{openModal:l}=this.state,{className:u}=this.props,{attr:d,nameBlock:g,frontText:m,backText:f,noTextEdit:v,doNotTranslate:w,doNotTranslateBack:_}=s;return p.jsxs("div",{children:[p.jsxs("div",{className:b.Utils.clsx(ue.displayFlex,ue.blockMarginTop),children:[m&&p.jsx("div",{className:ue.frontText,children:w?m:b.I18n.t(m)}),p.jsx(ni,{disabled:!!v,className:u,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",value:i,onChange:r,customValue:!0}),p.jsx(Sr,{square:!0,style:{marginLeft:5},value:"...",className:u,onClick:()=>this.setState({openModal:!0})}),f&&p.jsx("div",{className:ue.backText,children:_?f:b.I18n.t(f)})]}),l?p.jsx(wg,{onApply:S=>this.setState({openModal:!1},()=>S!=null&&r(S)),onClose:()=>this.setState({openModal:!1}),defaultValue:i,textInput:!0}):null,g&&p.jsx("div",{className:ue.nameBlock,children:b.I18n.t(g)})]},d)}renderDate(s,i,r){const{attr:l,backText:u,frontText:d,doNotTranslate:g,doNotTranslateBack:m}=s;return p.jsxs("div",{className:ue.displayFlex,style:{whiteSpace:"nowrap"},children:[d&&p.jsx("div",{className:ue.frontText,children:g?d:b.I18n.t(d)}),p.jsx(NA,{value:i,onChange:r}),u&&p.jsx("div",{className:ue.backText,children:m?u:b.I18n.t(u)})]},l)}static getReplacesInText(s){var r;let i="";return(r=s.trigger)!=null&&r.oidType?i=".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val)":s.conditionsStates.length&&(i=`.replace(/%s/g, ${s.conditionsStates[0].name}).replace(/%id/g, "${s.conditionsStates[0].id}")`),i}renderTags(){const{tagCardArray:s,openTagMenu:i}=this.state,{tagCard:r}=this.state.settings;let l=r!=="="&&r!=="<>"&&r!==">="&&r!=="()"&&r!=="."&&r!=="<="&&r!=="<"&&r!==">"&&r?b.I18n.t(r):r;return s.length>=3&&(l=p.jsxs("div",{children:[p.jsx("div",{"aria-controls":"simple-menu","aria-haspopup":"true",onClick:u=>{this.setState({openTagMenu:u.currentTarget},()=>{this.props.isTourOpen&&this.props.tourStep===ws.openTagsMenu&&setTimeout(()=>this.props.setTourStep&&this.props.setTourStep(ws.selectIntervalTag),300)})},children:l}),p.jsx(y.Menu,{id:"simple-menu",anchorEl:i,keepMounted:!0,open:!!i,onClose:()=>this.setState({openTagMenu:null}),children:s.map((u,d)=>{let g;return typeof u!="string"?g=u.title:g=u,p.jsxs(y.MenuItem,{selected:g===r,className:`tag-card-${g}`,style:{placeContent:"space-between"},onClick:m=>{m.stopPropagation(),this.props.isTourOpen&&(this.props.tourStep===ws.openTagsMenu||this.props.tourStep===ws.selectIntervalTag)&&g==="interval"&&setTimeout(()=>{var v,w;return(w=(v=this.props).setTourStep)==null?void 0:w.call(v,ws.selectActions)},500);const f=JSON.parse(JSON.stringify(this.state.settings));f.tagCard=g,this.setState({openTagMenu:null,settings:f},()=>{this.props.onChange(this.state.settings),this.onTagChange(this.state.settings.tagCard)})},children:[g.search(/>|<|<>|<=|>=|=/)!==-1?g:b.I18n.t(g),typeof u!="string"&&u.title2&&p.jsx("div",{style:{marginLeft:4},children:b.I18n.t(u.title2)})]},`${g}_${d}`)})})]})),l}getData(){return{acceptedBy:"triggers",name:"",id:""}}onChangeTag(){const{tagCardArray:s,settings:i,settings:{tagCard:r}}=this.state;let l;if(typeof s[0]!="string"?l=s.map(u=>u.title):l=[...s],r&&l.length<3){const u={...i},d=l[(l.indexOf(r)+1)%l.length];u.tagCard=d,this.setState({settings:u},()=>{this.props.onChange(u),this.onTagChange(d)})}}componentDidMount(){this.onTagChange()}componentDidUpdate(){this.props.acceptedBy!=="triggers"&&this.props.onUpdate&&setTimeout(()=>this.onUpdate(),0)}onChangeInput(s){return(i,r,l)=>{const u=JSON.parse(JSON.stringify(this.state.settings));typeof i=="object"&&(!r||typeof r=="function")?(Object.keys(i).forEach(d=>u[d]=i[d]),typeof r=="function"&&(l=r,r=void 0)):u[r||s]=i,u.id=this.getData().id,u._id=this.props._id,this.setState({settings:u},()=>{this.onValueChanged(i,r||s),this.props.onChange(u),l==null||l()})}}renderSpecific(){return null}renderDebug(s){return""}renderDebugInfo(){return this.state.debugMessage?p.jsx("div",{className:ue.debugInfo,style:{opacity:1,height:22,bottom:-22},children:this.renderDebug?this.renderDebug(this.state.debugMessage):b.I18n.t("executed")},this.state.debugMessage.ts):null}renderCron(s,i,r){return null}renderWizard(s,i,r){return null}renderWriteState(){return null}renderInputElement(s,i){const{nameRender:r,defaultValue:l,attr:u}=s,{settings:d}=this.state;let g=u?d[u]:void 0;switch(g===void 0&&(g=l),r){case"renderTime":return u?this.renderTime(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderTime")},`invalid_${i}`);case"renderNameText":return this.renderNameText(s,l);case"renderSelect":return u?this.renderSelect(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderSelect")},`invalid_${i}`);case"renderModalInput":return u?this.renderModalInput(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderModalInput")},`invalid_${i}`);case"renderObjectID":return u?this.renderObjectID(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderObjectID")},`invalid_${i}`);case"renderDialog":return u?this.renderDialog(s):p.jsx("div",{children:b.I18n.t("Invalid renderDialog")},`invalid_${i}`);case"renderInstance":return u?this.renderInstance(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderInstance")},`invalid_${i}`);case"renderText":return u?this.renderText(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderText")},`invalid_${i}`);case"renderSlider":return u?this.renderSlider(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderSlider")},`invalid_${i}`);case"renderCheckbox":return u?this.renderCheckbox(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderCheckbox")},`invalid_${i}`);case"renderButton":return u?this.renderButton(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderButton")},`invalid_${i}`);case"renderColor":return u?this.renderColor(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderColor")},`invalid_${i}`);case"renderSwitch":return u?this.renderSwitch(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderSwitch")},`invalid_${i}`);case"renderDate":return u?this.renderDate(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderDate")},`invalid_${i}`);case"renderCron":return u?this.renderCron(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderCron")},`invalid_${i}`);case"renderWizard":return u?this.renderWizard(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderWizard")},`invalid_${i}`);case"renderWriteState":return this.renderWriteState();case"renderNumber":return u?this.renderNumber(s,g,this.onChangeInput(u)):p.jsx("div",{children:b.I18n.t("Invalid renderNumber")},`invalid_${i}`);default:return this[r]?this[r](s,g,u?this.onChangeInput(u):null):p.jsx("div",{children:b.I18n.t("Invalid input type: %s",r)},`invalid_${i}`)}}render(){var _;const{inputs:s,name:i,icon:r,iconTag:l,settings:u,adapter:d,settings:{tagCard:g},helpDialog:m}=this.state,{socket:f,notFound:v}=this.props;this.state.settings&&!this.state.settings.tagCard&&((_=this.state.tagCardArray)!=null&&_.length)&&setTimeout(()=>{const S=JSON.parse(JSON.stringify(this.state.settings));S.tagCard=typeof this.state.tagCardArray[0]!="string"?this.state.tagCardArray[0].title:this.state.tagCardArray[0],this.setState({settings:S})},50),this.state.enableSimulation!==this.props.enableSimulation&&!this.enableSimulationProcessing&&(this.enableSimulationProcessing=!0,setTimeout(()=>{this.setState({enableSimulation:this.props.enableSimulation},()=>{this.enableSimulationProcessing=!1})},50));let w;if(this.props.onDebugMessage)for(let S=this.props.onDebugMessage.length-1;S>=0;S--){const k=this.props.onDebugMessage[S];if(k.blockId===this.props._id&&k.ts>this.lastDebugMessage&&k.ts>Date.now()-1e3){w=k;break}}return w&&(this.lastDebugMessage=w.ts,this.debugMessageTimeout&&clearTimeout(this.debugMessageTimeout),this.debugHideTimeout&&(clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null),this.debugMessageTimeout=setTimeout(S=>{const k=JSON.parse(S),C=k.hideTimeout||5e3;this.debugMessageTimeout=null,this.setState({debugMessage:k},()=>{this.debugHideTimeout&&clearTimeout(this.debugHideTimeout),this.debugHideTimeout=setTimeout(()=>{this.debugHideTimeout=null,this.setState({debugMessage:null})},C)})},50,JSON.stringify(w))),p.jsxs(V.Fragment,{children:[l?this.renderIconTag():p.jsx(T_,{iconName:r,className:b.Utils.clsx(ue.iconThemCard,g&&this.state.tagCardArray.length&&ue.iconThemCardSelectable),adapter:d,socket:f,onClick:S=>{g&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:S.currentTarget}))}}),p.jsxs("div",{className:ue.blockName,children:[p.jsxs("span",{className:ue.nameCard,children:[b.I18n.t(i),v?b.I18n.t("%s not found",u.id):"",m?p.jsx(y.IconButton,{className:ue.iconHelp,size:"small",onClick:()=>this.setState({helpText:b.I18n.t(m)}),children:p.jsx(fw,{})}):null]}),s.map((S,k)=>this.renderInputElement(S,k))]}),g&&p.jsx("div",{className:ue.controlMenuTop,style:{opacity:1,height:22,top:-22},children:p.jsx("div",{onClick:()=>this.onChangeTag(),className:b.Utils.clsx(ue.tagCard,"tag-card"),children:this.renderTags()})}),this.renderDebugInfo(),this.state.error?p.jsx(b.DialogError,{title:b.I18n.t("Warning"),text:this.state.error,onClose:()=>this.setState({error:""})}):null,this.state.helpText?p.jsx(b.DialogMessage,{title:b.I18n.t("Instructions"),text:this.state.helpText,onClose:()=>this.setState({helpText:""})}):null,this.renderSpecific()]})}}const k_={en:{name:"Google - English",engine:"google",params:[]},de:{name:"Google - Deutsch",engine:"google",params:[]},ru:{name:"Google - Русский",engine:"google",params:[]},it:{name:"Google - Italiano",engine:"google",params:[]},es:{name:"Google - Espaniol",engine:"google",params:[]},fr:{name:"Google - Français",engine:"google",params:[]},ru_YA:{name:"Yandex - Русский",engine:"yandex",params:["key","voice","emotion","ill","drunk","robot"],voice:["jane","zahar"],emotion:["none","good","neutral","evil","mixed"]},ru_YA_CLOUD:{name:"Yandex Cloud - Русский",engine:"yandexCloud",params:["key","folderID","voice","emotion"],voice:["alyss","oksana","jane","zahar"],emotion:["good","neutral","evil"]},"en-US":{name:"PicoTTS - Englisch US",engine:"PicoTTS",params:[]},"en-GB":{name:"PicoTTS - Englisch GB",engine:"PicoTTS",params:[]},"de-DE":{name:"PicoTTS - Deutsch",engine:"PicoTTS",params:[]},"it-IT":{name:"PicoTTS - Italiano",engine:"PicoTTS",params:[]},"es-ES":{name:"PicoTTS - Espaniol",engine:"PicoTTS",params:[]},"fr-FR":{name:"PicoTTS - Français",engine:"PicoTTS",params:[]},"ru-RU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"Cloud - Русский - Татьяна"},"ru-RU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"Cloud - Русский - Максим"},"de-DE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Marlene",ssml:!0,name:"Cloud - Deutsch - Marlene"},"de-DE_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Hans",ssml:!0,name:"Cloud - Deutsch - Hans"},"en-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Salli",ssml:!0,name:"Cloud - en-US - Female - Salli"},"en-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Joey",ssml:!0,name:"Cloud - en-US - Male - Joey"},"da-DK_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Naja",ssml:!0,name:"Cloud - da-DK - Female - Naja"},"da-DK_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Mads",ssml:!0,name:"Cloud - da-DK - Male - Mads"},"en-AU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Nicole",ssml:!0,name:"Cloud - en-AU - Female - Nicole"},"en-AU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Russell",ssml:!0,name:"Cloud - en-AU - Male - Russell"},"en-GB_CLOUD_Female_Amy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Amy",ssml:!0,name:"Cloud - en-GB - Female - Amy"},"en-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Brian",ssml:!0,name:"Cloud - en-GB - Male - Brian"},"en-GB_CLOUD_Female_Emma":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Emma",ssml:!0,name:"Cloud - en-GB - Female - Emma"},"en-GB-WLS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"Cloud - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"Cloud - en-GB-WLS - Male - Geraint"},"cy-GB_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"Cloud - cy-GB - Female - Gwyneth"},"cy-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"Cloud - cy-GB - Male - Geraint"},"en-IN_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-IN",ename:"Raveena",ssml:!0,name:"Cloud - en-IN - Female - Raveena"},"en-US_CLOUD_Male_Chipmunk":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"Cloud - en-US - Male - Chipmunk"},"en-US_CLOUD_Male_Eric":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Eric",ssml:!0,name:"Cloud - en-US - Male - Eric"},"en-US_CLOUD_Female_Ivy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Ivy",ssml:!0,name:"Cloud - en-US - Female - Ivy"},"en-US_CLOUD_Female_Jennifer":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Jennifer",ssml:!0,name:"Cloud - en-US - Female - Jennifer"},"en-US_CLOUD_Male_Justin":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Justin",ssml:!0,name:"Cloud - en-US - Male - Justin"},"en-US_CLOUD_Female_Kendra":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kendra",ssml:!0,name:"Cloud - en-US - Female - Kendra"},"en-US_CLOUD_Female_Kimberly":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kimberly",ssml:!0,name:"Cloud - en-US - Female - Kimberly"},"es-ES_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Conchita",ssml:!0,name:"Cloud - es-ES - Female - Conchita"},"es-ES_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Enrique",ssml:!0,name:"Cloud - es-ES - Male - Enrique"},"es-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-US",ename:"Penelope",ssml:!0,name:"Cloud - es-US - Female - Penelope"},"es-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-US",ename:"Miguel",ssml:!0,name:"Cloud - es-US - Male - Miguel"},"fr-CA_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"Cloud - fr-CA - Female - Chantal"},"fr-FR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Celine",ssml:!0,name:"Cloud - fr-FR - Female - Celine"},"fr-FR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"Cloud - fr-FR - Male - Mathieu"},"is-IS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Dora",ssml:!0,name:"Cloud - is-IS - Female - Dora"},"is-IS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Karl",ssml:!0,name:"Cloud - is-IS - Male - Karl"},"it-IT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Carla",ssml:!0,name:"Cloud - it-IT - Female - Carla"},"it-IT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"Cloud - it-IT - Male - Giorgio"},"nb-NO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nb-NO",ename:"Liv",ssml:!0,name:"Cloud - nb-NO - Female - Liv"},"nl-NL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"Cloud - nl-NL - Female - Lotte"},"nl-NL_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"Cloud - nl-NL - Male - Ruben"},"pl-PL_CLOUD_Female_Agnieszka":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"Cloud - pl-PL - Female - Agnieszka"},"pl-PL_CLOUD_Male_Jacek":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"Cloud - pl-PL - Male - Jacek"},"pl-PL_CLOUD_Female_Ewa":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"Cloud - pl-PL - Female - Ewa"},"pl-PL_CLOUD_Male_Jan":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jan",ssml:!0,name:"Cloud - pl-PL - Male - Jan"},"pl-PL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Maja",ssml:!0,name:"Cloud - pl-PL - Female - Maja"},"pt-BR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"Cloud - pt-BR - Female - Vitoria"},"pt-BR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"Cloud - pt-BR - Male - Ricardo"},"pt-PT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"Cloud - pt-PT - Male - Cristiano"},"pt-PT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Ines",ssml:!0,name:"Cloud - pt-PT - Female - Ines"},"ro-RO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"Cloud - ro-RO - Female - Carmen"},"sv-SE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"Cloud - sv-SE - Female - Astrid"},"tr-TR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"Cloud - tr-TR - Female - Filiz"},"ru-RU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"AWS Polly - Русский - Татьяна"},"ru-RU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"AWS Polly - Русский - Максим"},"de-DE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Marlene",ssml:!0,name:"AWS Polly - Deutsch - Marlene"},"de-DE_AP_Female_Vicky":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Vicky",ssml:!0,name:"AWS Polly - Deutsch - Vicky"},"de-DE_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Hans",ssml:!0,name:"AWS Polly - Deutsch - Hans"},"en-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Salli",ssml:!0,name:"AWS Polly - en-US - Female - Salli"},"en-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Joey",ssml:!0,name:"AWS Polly - en-US - Male - Joey"},"da-DK_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Naja",ssml:!0,name:"AWS Polly - da-DK - Female - Naja"},"da-DK_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Mads",ssml:!0,name:"AWS Polly - da-DK - Male - Mads"},"en-AU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Nicole",ssml:!0,name:"AWS Polly - en-AU - Female - Nicole"},"en-AU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Russell",ssml:!0,name:"AWS Polly - en-AU - Male - Russell"},"en-GB_AP_Female_Amy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Amy",ssml:!0,name:"AWS Polly - en-GB - Female - Amy"},"en-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Brian",ssml:!0,name:"AWS Polly - en-GB - Male - Brian"},"en-GB_AP_Female_Emma":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Emma",ssml:!0,name:"AWS Polly - en-GB - Female - Emma"},"en-GB-WLS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"AWS Polly - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"AWS Polly - en-GB-WLS - Male - Geraint"},"cy-GB_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"AWS Polly - cy-GB - Female - Gwyneth"},"cy-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"AWS Polly - cy-GB - Male - Geraint"},"en-IN_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-IN",ename:"Raveena",ssml:!0,name:"AWS Polly - en-IN - Female - Raveena"},"en-US_AP_Male_Chipmunk":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"AWS Polly - en-US - Male - Chipmunk"},"en-US_AP_Male_Eric":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Eric",ssml:!0,name:"AWS Polly - en-US - Male - Eric"},"en-US_AP_Female_Ivy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Ivy",ssml:!0,name:"AWS Polly - en-US - Female - Ivy"},"en-US_AP_Female_Jennifer":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Jennifer",ssml:!0,name:"AWS Polly - en-US - Female - Jennifer"},"en-US_AP_Male_Justin":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Justin",ssml:!0,name:"AWS Polly - en-US - Male - Justin"},"en-US_AP_Female_Kendra":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kendra",ssml:!0,name:"AWS Polly - en-US - Female - Kendra"},"en-US_AP_Female_Kimberly":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kimberly",ssml:!0,name:"AWS Polly - en-US - Female - Kimberly"},"es-ES_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Conchita",ssml:!0,name:"AWS Polly - es-ES - Female - Conchita"},"es-ES_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Enrique",ssml:!0,name:"AWS Polly - es-ES - Male - Enrique"},"es-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Penelope",ssml:!0,name:"AWS Polly - es-US - Female - Penelope"},"es-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Miguel",ssml:!0,name:"AWS Polly - es-US - Male - Miguel"},"fr-CA_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"AWS Polly - fr-CA - Female - Chantal"},"fr-FR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Celine",ssml:!0,name:"AWS Polly - fr-FR - Female - Celine"},"fr-FR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"AWS Polly - fr-FR - Male - Mathieu"},"is-IS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Dora",ssml:!0,name:"AWS Polly - is-IS - Female - Dora"},"is-IS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Karl",ssml:!0,name:"AWS Polly - is-IS - Male - Karl"},"it-IT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Carla",ssml:!0,name:"AWS Polly - it-IT - Female - Carla"},"it-IT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"AWS Polly - it-IT - Male - Giorgio"},"nb-NO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nb-NO",ename:"Liv",ssml:!0,name:"AWS Polly - nb-NO - Female - Liv"},"nl-NL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"AWS Polly - nl-NL - Female - Lotte"},"nl-NL_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"AWS Polly - nl-NL - Male - Ruben"},"pl-PL_AP_Female_Agnieszka":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"AWS Polly - pl-PL - Female - Agnieszka"},"pl-PL_AP_Male_Jacek":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"AWS Polly - pl-PL - Male - Jacek"},"pl-PL_AP_Female_Ewa":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"AWS Polly - pl-PL - Female - Ewa"},"pl-PL_AP_Male_Jan":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jan",ssml:!0,name:"AWS Polly - pl-PL - Male - Jan"},"pl-PL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Maja",ssml:!0,name:"AWS Polly - pl-PL - Female - Maja"},"pt-BR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"AWS Polly - pt-BR - Female - Vitoria"},"pt-BR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"AWS Polly - pt-BR - Male - Ricardo"},"pt-PT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"AWS Polly - pt-PT - Male - Cristiano"},"pt-PT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Ines",ssml:!0,name:"AWS Polly - pt-PT - Female - Ines"},"ro-RO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"AWS Polly - ro-RO - Female - Carmen"},"sv-SE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"AWS Polly - sv-SE - Female - Astrid"},"tr-TR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"AWS Polly - tr-TR - Female - Filiz"}};class sc extends Xe{constructor(s){super(s,sc.getStaticData())}static compile(s,i){return s.text?`// Sayit ${s.text||""} + const subActionVar${s._id} = "${s.language&&s.language!=="_"?`${s.language};`:""}${s.volume?`${s.volume};`:""}${(s.text||"").replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}; + _sendToFrontEnd(${s._id}, {text: subActionVar${s._id}}); + await setStateAsync("${s.instance}.tts.text", subActionVar${s._id});`:`// no text defined +_sendToFrontEnd(${s._id}, {text: 'No text defined'});`}renderDebug(s){return`${b.I18n.t("Say:")} ${s.data.text}`}onTagChange(){const s=b.I18n.getLanguage(),r=Object.keys(k_).filter(l=>l.startsWith(s)).map(l=>({title:k_[l].name,value:l}));r.unshift({title:"Default",value:"_"}),this.setState({inputs:[{attr:"instance",nameRender:"renderInstance",adapter:"sayit",defaultValue:"sayit.0",frontText:"Instance:"},{nameRender:"renderSelect",frontText:"Language:",options:r,defaultValue:"_",attr:"language"},{nameRender:"renderNameText",defaultValue:"Volume",attr:"textVol"},{nameRender:"renderSlider",attr:"volume",defaultValue:100,min:0,max:100},{attr:"text",nameRender:"renderModalInput",defaultValue:"Hallo",nameBlock:"",frontText:"Text:"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Say It",id:"ActionSayText",adapter:"sayit",title:"Say some text via sayit adapter",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return sc.getStaticData()}}class oc extends Xe{constructor(s){super(s,oc.getStaticData())}static compile(s,i){const r=(s.text||"").replace(/"/g,'\\"');return r?`// Pushover ${s.text||""} + const subActionVar${s._id} = "${r}"${Xe.getReplacesInText(i)}; + _sendToFrontEnd(${s._id}, {text: subActionVar${s._id}}); + sendTo("${s.instance}", "send", { + message: subActionVar${s._id}, + title: "${(s.title||"").replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}, + sound: "${s.sound}", + priority: ${s.priority} + });`:`// no text defined +_sendToFrontEnd(${s._id}, {text: 'No text defined'});`}renderDebug(s){return`Sent: ${s.data.text}`}onTagChange(){this.setState({inputs:[{nameRender:"renderInstance",adapter:"pushover",frontText:"Instance:",defaultValue:"pushover.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"title",defaultValue:"ioBroker",frontText:"Title:"},{nameRender:"renderSelect",attr:"sound",defaultValue:"magic",frontText:"Sound:",doNotTranslate:!0,options:[{value:"pushover",title:"pushover"},{value:"bike",title:"bike"},{value:"bugle",title:"bugle"},{value:"cashregister",title:"cashregister"},{value:"classical",title:"classical"},{value:"cosmic",title:"cosmic"},{value:"falling",title:"falling"},{value:"gamelan",title:"gamelan"},{value:"incoming",title:"incoming"},{value:"intermission",title:"intermission"},{value:"magic",title:"magic"},{value:"mechanical",title:"mechanical"},{value:"pianobar",title:"pianobar"},{value:"siren",title:"siren"},{value:"spacealarm",title:"spacealarm"},{value:"tugboat",title:"tugboat"},{value:"alien",title:"alien"},{value:"climb",title:"climb"},{value:"persistent",title:"persistent"},{value:"echo",title:"echo"},{value:"updown",title:"updown"},{value:"none",title:"none"}]},{nameRender:"renderSelect",attr:"priority",defaultValue:-1,frontText:"Priority:",options:[{value:-1,title:"quiet"},{value:0,title:"normal"},{value:1,title:"high-priority"},{value:2,title:"acknowledgment"}]}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Pushover",id:"ActionPushover",adapter:"pushover",title:"Sends message via pushover",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return oc.getStaticData()}}class ic extends Xe{constructor(s){super(s,ic.getStaticData())}static compile(s,i){const r=(s.text||"").replace(/"/g,'\\"');return r?`// whatsapp ${r||""} + const subActionVar${s._id} = "${(r||"").replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}; + _sendToFrontEnd(${s._id}, {text: subActionVar${s._id}}); + sendTo("${s.instance}", "send", {text: subActionVar${s._id}${s.phone?`, phone: "${s.phone.replace(/"/g,'\\"')}"`:""}});`:`// no text defined +_sendToFrontEnd(${s._id}, {text: 'No text defined'});`}renderDebug(s){return`${b.I18n.t("Sent:")} ${s.data.text}`}onTagChange(){this.setState({inputs:[{nameRender:"renderInstance",adapter:"whatsapp-cmb",frontText:"Instance:",defaultValue:"whatsapp-cmb.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"phone",defaultValue:"",frontText:"Phone:",backText:"(optional)"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Whatsapp-cmb",id:"ActionWhatsappcmb",adapter:"whatsapp-cmb",title:"Sends message via whatsapp-cmb",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return ic.getStaticData()}}class nc extends Xe{constructor(s){super(s,nc.getStaticData())}static compile(s,i){const r=(s.text||"").replace(/"/g,'\\"');return r?`// Pushsafer ${s.text||""} + const subActionVar${s._id} = "${r}"${Xe.getReplacesInText(i)}; + _sendToFrontEnd(${s._id}, {text: subActionVar${s._id}}); + sendTo("${s.instance}", "send", { + message: subActionVar${s._id}, + title: "${(s.title||"").replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}, + ${s.sound&&s.sound!=="_"?`sound: "${s.sound}",`:""} + priority: ${s.priority}, + ${s.vibration&&s.vibration!=="_"?`vibration: ${s.vibration},`:""} + });`:`// no text defined +_sendToFrontEnd(${s._id}, {text: 'No text defined'});`}renderDebug(s){return`Sent: ${s.data.text}`}onTagChange(){this.setState({inputs:[{nameRender:"renderInstance",adapter:"pushsafer",frontText:"Instance:",defaultValue:"pushsafer.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"title",defaultValue:"ioBroker",frontText:"Title:"},{nameRender:"renderSelect",attr:"sound",defaultValue:"magic",frontText:"Sound:",doNotTranslate:!0,options:[{value:"_",title:"Device Default"},{value:"0",title:"Silent"},{value:"1",title:"Ahem (IM)"},{value:"2",title:"Applause (Mail)"},{value:"3",title:"Arrow (Reminder)"},{value:"4",title:"Baby (SMS)"},{value:"5",title:"Bell (Alarm)"},{value:"6",title:"Bicycle (Alarm2)"},{value:"7",title:"Boing (Alarm3)"},{value:"8",title:"Buzzer (Alarm4)"},{value:"9",title:"Camera (Alarm5)"},{value:"10",title:"Car Horn (Alarm6)"},{value:"11",title:"Cash Register (Alarm7)"},{value:"12",title:"Chime (Alarm8)"},{value:"13",title:"Creaky Door (Alarm9)"},{value:"14",title:"Cuckoo Clock (Alarm10)"},{value:"15",title:"Disconnect (Call)"},{value:"16",title:"Dog (Call2)"},{value:"17",title:"Doorbell (Call3)"},{value:"18",title:"Fanfare (Call4)"},{value:"19",title:"Gun Shot (Call5)"},{value:"20",title:"Honk (Call6)"},{value:"21",title:"Jaw Harp (Call7)"},{value:"22",title:"Morse (Call8)"},{value:"23",title:"Electricity (Call9)"},{value:"24",title:"Radio Tuner (Call10)"},{value:"25",title:"Sirens"},{value:"26",title:"Military Trumpets"},{value:"27",title:"Ufo"},{value:"28",title:"Whah Whah Whah"},{value:"29",title:"Man Saying Goodbye"},{value:"30",title:"Man Saying Hello"},{value:"31",title:"Man Saying No"},{value:"32",title:"Man Saying Ok"},{value:"33",title:"Man Saying Ooohhhweee"},{value:"34",title:"Man Saying Warning"},{value:"35",title:"Man Saying Welcome"},{value:"36",title:"Man Saying Yeah"},{value:"37",title:"Man Saying Yes"},{value:"38",title:"Beep short"},{value:"39",title:"Weeeee short"},{value:"40",title:"Cut in and out short"},{value:"41",title:"Finger flicking glas short"},{value:"42",title:"Wa Wa Waaaa short"},{value:"43",title:"Laser short"},{value:"44",title:"Wind Chime short"},{value:"45",title:"Echo short"},{value:"46",title:"Zipper short"},{value:"47",title:"HiHat short"},{value:"48",title:"Beep 2 short"},{value:"49",title:"Beep 3 short"},{value:"50",title:"Beep 4 short"},{value:"51",title:"The Alarm is armed"},{value:"52",title:"The Alarm is disarmed"},{value:"53",title:"The Backup is ready"},{value:"54",title:"The Door is closed"},{value:"55",title:"The Door is opend"},{value:"56",title:"The Window is closed"},{value:"57",title:"The Window is open"},{value:"58",title:"The Light is off"},{value:"59",title:"The Light is on"},{value:"60",title:"The Doorbell rings"},{value:"61",title:"Pager short"},{value:"62",title:"Pager long"}]},{nameRender:"renderSelect",attr:"priority",defaultValue:0,frontText:"Priority:",options:[{value:-2,title:"lowest priority"},{value:-1,title:"lower priority"},{value:0,title:"normal priority"},{value:1,title:"high priority"},{value:2,title:"highest priority"}]},{nameRender:"renderSelect",attr:"vibration",defaultValue:0,frontText:"Vibration:",options:[{value:"_",title:"default"},{value:1,title:"1"},{value:2,title:"2"},{value:3,title:"3"}]}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Pushsafer",id:"ActionPushsafer",adapter:"pushsafer",title:"Sends message via Pushsafer",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return nc.getStaticData()}}const SC=`async function (obj) { + "__%%DEBUG_TRIGGER%%__"; + __%%CONDITIONS_VARS%%__ + const _cond = __%%CONDITION%%__; + + "__%%DEBUG_CONDITIONS%%__"; + + if (_cond) { +__%%THEN%%__ + } else { +__%%ELSE%%__ + } +}`,EC=`async function (obj) { + "__%%DEBUG_TRIGGER%%__"; + __%%CONDITIONS_VARS%%__ + const _cond = __%%CONDITION%%__; + + "__%%DEBUG_CONDITIONS%%__"; + + if (__%%STATE%%__ === false && _cond) { + __%%STATE%%__ = true; +__%%THEN%%__ + } else if (__%%STATE%%__ === true && !_cond) { + __%%STATE%%__ = false; +__%%ELSE%%__ + } +}`,PA=`"__%%DEBUG_TRIGGER%%__"; +__%%CONDITIONS_VARS%%__ +const _cond = __%%CONDITION%%__; + +"__%%DEBUG_CONDITIONS%%__"; + +if (_cond) { +__%%THEN%%__ +} else { +__%%ELSE%%__ +}`,Kp={triggers:[],conditions:[[]],justCheck:!1,actions:{then:[],else:[]}};function FA(a,s,i){const r=[];let l=a.triggers;l.length||(l=[{id:"TriggerScriptSave"}]);const u=[],d=[],g=a.conditions.find(f=>f.find(v=>v.tagCard==="()"));l.forEach((f,v)=>{var _;const w=sm(f.id,i);if(w){const S={trigger:f,condition:{index:0},justCheck:g?!1:a.justCheck||!a.conditions.length||!a.conditions[0].length,conditionsDebug:[],conditionsVars:[],conditionsStates:[]},k=w.compile(f,S),C=jA(a.conditions,S,i),E=S_(a.actions.then,S,i),A=S_(a.actions.else,S,i);u.push(`cond${v}`),(_=S.prelines)!=null&&_.length&&S.prelines.forEach(R=>d.push(R)),k.includes(" __%%CONDITIONS_VARS%%__")&&(S.conditionsVars=S.conditionsVars.map((R,O)=>O?` ${R}`:R),S.conditionsDebug=S.conditionsDebug.map((R,O)=>O?` ${R}`:R)),r.push(k.replace("__%%CONDITIONS_VARS%%__",S.conditionsVars.join(` +`)).replace('"__%%DEBUG_CONDITIONS%%__";',S.conditionsDebug.join(` +`)).replace("__%%CONDITION%%__",C).replace("__%%THEN%%__",E||"// ignore").replace("__%%ELSE%%__",A||"// ignore").replace(/__%%STATE%%__/g,`cond${v}`))}});let m=r.join(` + +`);return(!a.justCheck||g)&&(m=`${u.map(f=>`let ${f} = false;`).join(` +`)} + +${m}`),d&&(m=`${d.join(` +`)} + +${m}`),m}function sm(a,s){return s.find(i=>i.getStaticData&&i.getStaticData().id===a)}function S_(a,s,i){const r=[];return a==null||a.forEach(l=>{const u=sm(l.id,i);u&&r.push(u.compile(l,s))}),` ${r.join(` + + `)}`}function jA(a,s,i){const r=[];let l=0;return a==null||a.forEach(u=>{const d=[];u==null||u.forEach(g=>{const m=sm(g.id,i);m&&(s.condition.index=l++,d.push(m.compile(g,s)))}),r.push(`(${d.join(`) && + (`)})`)}),r.length?r.length===1?r[0]||"true":`(${r.join(") || (")})`:"true"}function zA(a,s){return FA(a,null,s)}function Toe(a){if(!a)return Kp;const s=a.split(` +`);try{const i=(s.pop()||"").replace(/^\/\//,"");let r=JSON.parse(i);return r.triggers||(r=Kp),r}catch{return Kp}}function koe(a,s){let i="";const r=zA(a,s);return i+=r,i+=` +/* +const demo = ${JSON.stringify(a,null,2).replace(/\*\//g,"* /")}; +*/ +`,`${i} +//${JSON.stringify(a)}`}class rc extends Xe{constructor(s){super(s,rc.getStaticData())}static compile(s,i){return PA.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {trigger: true})`)}renderDebug(){return b.I18n.t("Triggered")}onTagChange(s){this.setState({inputs:[{nameRender:"renderNameText",defaultValue:"On script save or adapter start",attr:"script"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"triggers",name:"Start script",id:"TriggerScriptSave",icon:"PlayArrow",title:"Triggers the on script saving or the javascript instance restart"}}getData(){return rc.getStaticData()}}var IC={exports:{}};(function(a,s){(function(){var i=Math.PI,r=Math.sin,l=Math.cos,u=Math.tan,d=Math.asin,g=Math.atan2,m=Math.acos,f=i/180,v=1e3*60*60*24,w=2440588,_=2451545;function S(q){return q.valueOf()/v-.5+w}function k(q){return new Date((q+.5-w)*v)}function C(q){return S(q)-_}var E=f*23.4397;function A(q,oe){return g(r(q)*l(E)-u(oe)*r(E),l(q))}function R(q,oe){return d(r(oe)*l(E)+l(oe)*r(E)*r(q))}function O(q,oe,F){return g(r(q),l(q)*r(oe)-u(F)*l(oe))}function Z(q,oe,F){return d(r(oe)*r(F)+l(oe)*l(F)*l(q))}function ae(q,oe){return f*(280.16+360.9856235*q)-oe}function se(q){return q<0&&(q=0),2967e-7/Math.tan(q+.00312536/(q+.08901179))}function ge(q){return f*(357.5291+.98560028*q)}function K(q){var oe=f*(1.9148*r(q)+.02*r(2*q)+3e-4*r(3*q)),F=f*102.9372;return q+oe+F+i}function je(q){var oe=ge(q),F=K(oe);return{dec:R(F,0),ra:A(F,0)}}var Me={};Me.getPosition=function(q,oe,F){var H=f*-F,U=f*oe,le=C(q),x=je(le),pe=ae(le,H)-x.ra;return{azimuth:O(pe,U,x.dec),altitude:Z(pe,U,x.dec)}};var qe=Me.times=[[-.833,"sunrise","sunset"],[-.3,"sunriseEnd","sunsetStart"],[-6,"dawn","dusk"],[-12,"nauticalDawn","nauticalDusk"],[-18,"nightEnd","night"],[6,"goldenHourEnd","goldenHour"]];Me.addTime=function(q,oe,F){qe.push([q,oe,F])};var ce=9e-4;function de(q,oe){return Math.round(q-ce-oe/(2*i))}function J(q,oe,F){return ce+(q+oe)/(2*i)+F}function we(q,oe,F){return _+q+.0053*r(oe)-.0069*r(2*F)}function me(q,oe,F){return m((r(q)-r(oe)*r(F))/(l(oe)*l(F)))}function Fe(q,oe,F,H,U,le,x){var pe=me(q,F,H),W=J(pe,oe,U);return we(W,le,x)}Me.getTimes=function(q,oe,F){var H=f*-F,U=f*oe,le=C(q),x=de(le,H),pe=J(0,H,x),W=ge(pe),ke=K(W),ve=R(ke,0),Ie=we(pe,W,ke),fe,Ge,Ye,Ce,Ee,be={solarNoon:k(Ie),nadir:k(Ie+.5)};for(fe=0,Ge=qe.length;fe=0&&(mt=Math.sqrt(Ce)/(Math.abs(Ie)*2),be=Ge-mt,Le=Ge+mt,Math.abs(be)<=1&&Ee++,Math.abs(Le)<=1&&Ee++,be<-1&&(be=Le)),Ee===1?x<0?ke=Q+be:ve=Q+be:Ee===2&&(ke=Q+(Ye<0?Le:be),ve=Q+(Ye<0?be:Le)),!(ke&&ve));Q+=2)x=W;var lt={};return ke&&(lt.rise=et(U,ke)),ve&&(lt.set=et(U,ve)),!ke&&!ve&&(lt[Ye>0?"alwaysUp":"alwaysDown"]=!0),lt},a.exports=Me})()})(IC);var UA=IC.exports;const xC=hi(UA),HA='{"time":{"start":"00:00","end":"24:00","mode":"hours","interval":1},"period":{"days":1}}';class ri extends Xe{coordinates=null;constructor(s){super(s,ri.getStaticData())}static compile(s,i){var u;let r="",l=i.justCheck?SC:EC;if(l=l.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {trigger: true})`),s.tagCard==="interval")r=`setInterval(${l}, ${s.interval||1} * ${s.unit==="s"?1e3:s.unit==="m"?6e4:36e5});`;else if(s.tagCard==="cron")r=`schedule("${s.cron}", ${l});`;else if(s.tagCard==="at"){const[d,g]=(s.at||"").split(":");let m="*";if((u=s==null?void 0:s.dow)!=null&&u.length&&!s.dow.includes("_")){const f=[...s.dow].map(S=>parseInt(S,10));f.sort();const v=[];let w=f[0],_=1;for(;_1?(w===f[_-1]?v.push(w.toString()):f[_-1]-w===1?v.push(`${w},${f[_-1]}`):v.push(`${w}-${f[_-1]}`),w=f[_]):_===f.length-1&&(w===f[_-1]||f[_]-w===1?v.push(`${w},${f[_]}`):v.push(`${w}-${f[_]}`));m=v.join(",")}r=`schedule("${g||"0"} ${d||"0"} * * ${m}", ${l});`}else s.tagCard==="astro"?r=`schedule({astro: "${s.astro}", shift: ${s.offset?s.offsetValue:0}}, ${l});`:s.tagCard==="wizard"&&(r=`schedule('${s.wizard}', ${l});`);return r}static _time2String(s){return s?`${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`:"--:--"}async _setAstro(s,i,r){var m,f;if(s||=this.state.settings.astro||"solarNoon",i??=this.state.settings.offset,r??=this.state.settings.offsetValue,r=parseInt(r,10)||0,!this.coordinates){const v=await this.props.socket.getObject("system.adapter.javascript.0"),w=(m=v==null?void 0:v.native)==null?void 0:m.latitude,_=(f=v==null?void 0:v.native)==null?void 0:f.longitude;if(!w&&!_){const S=await this.props.socket.getObject("system.config");S!=null&&S.common&&(S.common.latitude||S.common.longitude)?this.coordinates={latitude:parseFloat(S.common.latitude),longitude:parseFloat(S.common.longitude)}:this.coordinates=null}else this.coordinates={latitude:parseFloat(w),longitude:parseFloat(_)}}const l=this.coordinates&&xC.getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude),u=l?Object.keys(l).map(v=>({value:v,title:v,title2:`[${ri._time2String(l[v])}]`,order:l?ri._time2String(l[v]):"??:??"})):[];u.sort((v,w)=>v.order>w.order?1:v.ordersuper.onTagChange())}_setInterval(s){s=parseInt(s||this.state.settings.interval,10)||30;let i;s===1?i=[{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:i=[{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}],this.setState({inputs:[{nameRender:"renderNumber",attr:"interval",frontText:"every",defaultValue:30,className:"block-input-interval"},{nameRender:"renderSelect",attr:"unit",defaultValue:"s",options:i}]},()=>super.onTagChange())}renderDebug(s){return b.I18n.t("Triggered")}onValueChanged(s,i){this.state.settings.tagCard==="astro"?i==="astro"?this._setAstro(s):i==="offset"?this._setAstro(void 0,s):i==="offsetValue"&&this._setAstro(void 0,void 0,s):this.state.settings.tagCard==="interval"&&i==="interval"&&this._setInterval(s)}renderCron(s,i,r){const{className:l}=this.props;return p.jsxs("div",{children:[p.jsxs("div",{style:{display:"flex",alignItems:"baseline"},children:[p.jsx("div",{style:{width:"100%"},children:this.renderText({nameRender:"renderText",attr:"cron",defaultValue:i},this.state.settings.cron||i,r)}),p.jsx(Sr,{square:!0,style:{marginLeft:7},value:"...",className:l,onClick:()=>this.setState({openDialog:!0,textCron:this.state.settings.cron})})]}),this.state.openDialog?p.jsx(wg,{disabled:this.state.settings.cron===this.state.textCron,onApply:()=>{const u=this.state.textCron;r(u,"cron",()=>{r(b.convertCronToText(u,b.I18n.getLanguage()),"addText"),this.setState({openDialog:!1})})},onClose:()=>this.setState({openDialog:!1,textCron:""}),children:p.jsx(b.ComplexCron,{cronExpression:this.state.settings.cron,onChange:u=>this.setState({textCron:u}),language:b.I18n.getLanguage()})}):null,this.renderNameText({nameRender:"renderNameText",defaultValue:b.I18n.t("every hour at 0 minutes"),attr:"addText",signature:!0,doNotTranslate:!0},this.state.settings.addText||b.I18n.t("every hour at 0 minutes"))]},"cron")}renderWizard(s,i,r){const{className:l}=this.props;return p.jsxs("div",{children:[p.jsxs("div",{style:{display:"flex",alignItems:"center",marginTop:7},children:[p.jsx(ni,{className:l,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",multiline:!0,rows:2,value:this.state.settings.wizardText,onChange:u=>r(u),customValue:!0}),p.jsx(Sr,{square:!0,style:{marginLeft:7},value:"...",className:l,onClick:()=>this.setState({openDialog:!0,wizard:this.state.settings.wizard,wizardText:b.Schedule.state2text(this.state.settings.wizard)})})]}),this.state.openDialog?p.jsx(wg,{disabled:this.state.settings.wizard===this.state.wizard,onApply:()=>this.setState({openDialog:!1},()=>{const u=JSON.parse(this.state.wizard);u.valid||={from:b.Schedule.now2string()},u.valid.from||=b.Schedule.now2string(),r({wizardText:this.state.wizardText,wizard:JSON.stringify(u)})}),onClose:()=>this.setState({openDialog:!1}),children:p.jsx(b.Schedule,{theme:this.props.theme,schedule:i,onChange:(u,d)=>this.setState({wizardText:d||"",wizard:u})})}):null]},"wizard")}onTagChange(s){switch(s||=this.state.settings.tagCard,s){case"interval":this._setInterval();break;case"cron":this.setState({inputs:[{nameRender:"renderCron",attr:"cron",defaultValue:"0 * * * *"}]},()=>super.onTagChange());break;case"wizard":{const i=JSON.parse(HA);i.valid||={from:b.Schedule.now2string()},i.valid.from||=b.Schedule.now2string(),this.setState({inputs:[{nameRender:"renderWizard",attr:"wizard",defaultValue:JSON.stringify(i)}]},()=>super.onTagChange(null,()=>{const r=b.Schedule.state2text(this.state.settings.wizard||i);if(this.state.settings.wizard!==r){const l=JSON.parse(JSON.stringify(this.state.settings));l.wizardText=r,this.setState({settings:l}),this.props.onChange(l)}}));break}case"at":this.setState({inputs:[{nameRender:"renderTime",prefix:"at",attr:"at",defaultValue:"07:30"},{nameRender:"renderSelect",attr:"dow",default:"",multiple:!0,defaultValue:["_","1","2","3","4","5","6","0"],options:[{value:"_",title:"Every day",only:!0},{value:"1",title:"Monday",titleShort:"Mo"},{value:"2",title:"Tuesday",titleShort:"Tu"},{value:"3",title:"Wednesday",titleShort:"We"},{value:"4",title:"Thursday",titleShort:"Th"},{value:"5",title:"Friday",titleShort:"Fr"},{value:"6",title:"Saturday",titleShort:"Sa"},{value:"0",title:"Sunday",titleShort:"Su"}]}]},()=>super.onTagChange());break;case"astro":this._setAstro();break}}static getStaticData(){return{acceptedBy:"triggers",name:"Schedule",id:"TriggerScheduleBlock",icon:"AccessTime",tagCardArray:["cron","wizard","interval","at","astro"],title:"Triggers the rule periodically or on some specific time"}}getData(){return ri.getStaticData()}}const on={valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}},DC=X.forwardRef((a,s)=>p.jsx(y.Slide,{direction:"up",ref:s,...a}));DC.displayName="Transition";class ac extends Xe{inputRef;constructor(s){super(s,ac.getStaticData()),this.inputRef=X.createRef()}static compile(s,i){let r=i.justCheck?SC:EC;return r=r.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {val: obj.state.val, ack: obj.state.ack, valOld: obj.oldState && obj.oldState.val, ackOld: obj.oldState && obj.oldState.ack})`),`on({id: "${s.oid||""}", change: "${s.tagCard==="on update"?"any":"ne"}"}, ${r});`}renderDebug(s){return s.data.valOld!==void 0?p.jsxs("span",{children:[b.I18n.t("Triggered")," ",p.jsx("span",{style:s.data.ackOld?on.valueAck:on.valueNotAck,children:hn(s.data.valOld)})," ","→"," ",p.jsx("span",{style:s.data.ack?on.valueAck:on.valueNotAck,children:hn(s.data.val)})]}):p.jsxs("span",{children:[b.I18n.t("Triggered")," ",p.jsx("span",{style:s.data.ack?on.valueAck:on.valueNotAck,children:hn(s.data.val)})]})}onWriteValue(){this.setState({openSimulate:!1});let s=this.state.simulateValue;window.localStorage.setItem(`javascript.app.${this.state.settings.oid}_ack`,this.state.simulateAck?"true":"false"),this.state.settings.oidType==="boolean"?(s=s===!0||s==="true"||s==="1",window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,s?"true":"false")):this.state.settings.oidType==="number"?(s=parseFloat(s)||0,window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,s.toString())):window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,(s==null?void 0:s.toString())||""),this.props.socket.setState(this.state.settings.oid,{val:s,ack:!!this.state.simulateAck})}renderWriteState(){return[p.jsx(y.Button,{disabled:!this.state.settings.oid||!this.state.enableSimulation,variant:"contained",color:"primary",onClick:()=>{this.setState({openSimulate:!0,simulateValue:this.state.settings.oidType==="boolean"?window.localStorage.getItem(`javascript.app.${this.state.settings.oid}`)==="true":window.localStorage.getItem(`javascript.app.${this.state.settings.oid}`)||"",simulateAck:window.localStorage.getItem(`javascript.app.${this.state.settings.oid}_ack`)==="true"}),setTimeout(()=>{var s;return(s=this.inputRef.current)==null?void 0:s.focus()},200)},children:b.I18n.t("Simulate")},"buttonWrite"),p.jsxs(y.Dialog,{open:!!this.state.openSimulate,TransitionComponent:DC,keepMounted:!0,onClose:()=>this.setState({openSimulate:!1}),"aria-labelledby":"simulate-dialog-slide-title","aria-describedby":"simulate-dialog-slide-description",children:[p.jsx(y.DialogTitle,{id:"simulate-dialog-slide-title",children:b.I18n.t("Trigger with value")}),p.jsxs(y.DialogContent,{children:[this.state.settings.oidType==="boolean"?p.jsx(y.FormControlLabel,{control:p.jsx(y.Switch,{inputRef:this.inputRef,onKeyUp:s=>s.key==="Enter"&&this.onWriteValue(),value:!!this.state.simulateValue,onChange:s=>this.setState({simulateValue:s.target.checked})}),label:b.I18n.t("Value")}):p.jsx(y.TextField,{variant:"standard",inputRef:this.inputRef,label:b.I18n.t("Value"),fullWidth:!0,onKeyUp:s=>s.key==="Enter"&&this.onWriteValue(),value:!this.state.simulateValue&&this.state.simulateValue!==0?"":this.state.simulateValue,onChange:s=>this.setState({simulateValue:s.target.value})}),p.jsx("br",{}),p.jsx(y.FormControlLabel,{control:p.jsx(y.Checkbox,{checked:!!this.state.simulateAck,onChange:s=>this.setState({simulateAck:s.target.checked}),color:"primary"}),label:b.I18n.t("Ack")})]}),p.jsxs(y.DialogActions,{children:[p.jsxs(y.Button,{variant:"contained",onClick:()=>this.onWriteValue(),color:"primary",children:[p.jsx(uk,{}),b.I18n.t("Write")]}),p.jsxs(y.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({openSimulate:!1}),children:[p.jsx($c,{}),b.I18n.t("Close")]})]})]},"dialogWrite")]}onTagChange(s){this.setState({inputs:[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},{nameRender:"renderWriteState"}]},()=>{super.onTagChange()})}static getStaticData(){return{acceptedBy:"triggers",name:"State",id:"TriggerState",icon:"FlashOn",tagCardArray:["on change","on update"],title:"Triggers the rule on update or change of some state"}}getData(){return ac.getStaticData()}}const WA=""+new URL("hysteresis-CLhhemcG.png",import.meta.url).href,E_=`function __hysteresis(val, limit, state, hist, comp) { + let cond1, cond2; + if (comp === '>') { + cond1 = val > limit + hist; + cond2 = val <= limit - hist; + } else if (comp === '<') { + cond1 = val < limit - hist; + cond2 = val >= limit + hist; + } else if (comp === '>=') { + cond1 = val >= limit + hist; + cond2 = val < limit - hist; + } else if (comp === '<=') { + cond1 = val <= limit - hist; + cond2 = val > limit + hist; + } else if (comp === '=') { + cond1 = val <= limit + hist && val > limit - hist; + cond2 = val > limit + hist || val <= limit - hist; + } else if (comp === '<>') { + cond1 = val > limit + hist || val <= limit - hist; + cond2 = val <= limit + hist && val > limit - hist; + } + + if (!state && cond1) { + return true; + } else if (state && cond2) { + return false; + } else { + return state; + } +}`;class Er extends Xe{constructor(s){super(s,Er.getStaticData())}isAllTriggersOnState(){var s,i,r,l;return!!((i=(s=this.props.userRules)==null?void 0:s.triggers)!=null&&i.find(u=>u.id==="TriggerState"))&&!((l=(r=this.props.userRules)==null?void 0:r.triggers)!=null&&l.find(u=>u.id!=="TriggerState"))}static compile(s,i){var d,g;let r=s.value;r==null&&(r=!1);let l,u;if(s.tagCard==="()")i.prelines=i.prelines||[],!i.prelines.find(m=>m!==E_)&&i.prelines.push(E_),s.useTrigger?(l="obj.state.val",r===""&&(r=0),u=`__hysteresis(subCondVar${s._id}, ${r}, __%%STATE%%__, ${s.hist}, "${s.histComp}")`):(l=`(await getStateAsync("${s.oid}")).val`,r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`__hysteresis(subCondVar${s._id}, ${r}, __%%STATE%%__, ${s.hist}, "${s.histComp}")`);else if(s.tagCard!=="includes"){const m=s.tagCard==="="?"==":s.tagCard==="<>"?"!=":s.tagCard;s.useTrigger?(l="obj.state.val",((d=i==null?void 0:i.trigger)==null?void 0:d.oidType)==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id} ${m} "${r}"`):(r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`subCondVar${s._id} ${m} ${r}`)):(l=`(await getStateAsync("${s.oid}")).val`,s.oidType==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id} ${m} "${r}"`):(r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`subCondVar${s._id} ${m} ${r}`))}else s.useTrigger?(l="obj.state.val",((g=i==null?void 0:i.trigger)==null?void 0:g.oidType)==="string"?(r=r.replace(/"/g,'\\"'),u=`obj.state.val.includes("${r}")`):u="false"):(l=`(await getStateAsync("${s.oid}")).val`,s.oidType==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id}.includes("${r}")`):u="false");return i.conditionsStates.push({name:`subCondVar${s._id}`,id:s.oid}),i.conditionsVars.push(`const subCondVar${s._id} = ${l};`),i.conditionsVars.push(`const subCond${s._id} = ${u};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: subCond${s._id}, value: subCondVar${s._id}, compareWith: "${r}"});`),`subCond${s._id}`}renderDebug(s){const i=this.state.settings.tagCard;return i!=="()"?`${s.data.result.toString().toUpperCase()} [${s.data.value} ${i} ${s.data.compareWith}]`:b.I18n.t("Triggered")}onShowHelp=()=>this.setState({showHysteresisHelp:!0});_setInputs(s,i,r,l,u){var C,E;const d=this.isAllTriggersOnState();i=i||this.state.settings.tagCard,r=r||this.state.settings.oidType,l=l||this.state.settings.oidUnit,u=u||this.state.settings.oidStates,s===void 0&&(s=this.state.settings.useTrigger),d&&s&&((E=(C=this.props.userRules)==null?void 0:C.triggers)==null?void 0:E.length)===1&&(r=this.props.userRules.triggers[0].oidType,l=this.props.userRules.triggers[0].oidUnit,u=this.props.userRules.triggers[0].oidStates);const g=Er.getStaticData().tagCardArray,m=g.find(A=>A.title===i)||g[0];let f,v=null;r==="number"?(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],u&&(v=Object.keys(u).map(A=>u?{value:A,title:u[A]}:null).filter(A=>A))):r==="boolean"?(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}],v=[{title:"false",value:!1},{title:"true",value:!0}]):(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"}],u&&(v=Object.keys(u).map(A=>({value:A,title:u?u[A]:A.toString()}))));let w=null;f.find(A=>A.title===i)||(i=f[0].title,w=w||{...this.state.settings},w.tagCard=i);let _,S={nameRender:"renderText",defaultValue:"",attr:"value",frontText:i==="()"?"Limit":(m==null?void 0:m.text)||"compare with",doNotTranslateBack:!0,backText:l};v&&(S={nameRender:"renderSelect",defaultValue:v[0].value,options:v,attr:"value",frontText:(m==null?void 0:m.text)||"compare with",doNotTranslateBack:!0,backText:l},v.find(A=>A.value===this.state.settings.value)||(w=w||{...this.state.settings},w.value=v[0].value),v.length<=2&&(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}])),d&&s?_=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1},S]:d?_=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"},{nameRender:"renderObjectID",attr:"oid",defaultValue:""},S]:_=[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},S],i==="()"&&(_.splice(1,0,{nameRender:"renderDialog",icon:"HelpOutline",frontText:"Explanation",onShowDialog:this.onShowHelp}),_.splice(2,0,{nameRender:"renderSelect",attr:"histComp",defaultValue:">",frontText:"Condition",doNotTranslate:!0,options:[{title:">",value:">"},{title:">=",value:">="},{title:"<",value:"<"},{title:"<=",value:"<="},{title:"=",value:"="},{title:"<>",value:"<>"}]}),_.push({frontText:"Δ",doNotTranslate:!0,nameRender:"renderNumber",noHelperText:!0,attr:"hist",defaultValue:1,doNotTranslateBack:!0,backText:l}));const k={iconTag:!0,tagCardArray:f,inputs:_};this.setState(k,()=>super.onTagChange(null,()=>{w&&(this.setState({settings:w}),this.props.onChange(w))}))}onValueChanged(s,i){typeof s=="object"?this._setInputs(s.useTrigger,s.tagCard,s.oidType,s.states):i==="useTrigger"?this._setInputs(s):i==="oidType"?this._setInputs(void 0,void 0,s):i==="oidUnit"?this._setInputs(void 0,void 0,void 0,s):i==="oidStates"&&this._setInputs(void 0,void 0,void 0,void 0,s)}onUpdate(){this._setInputs(this.state.settings.useTrigger)}onTagChange(s){this._setInputs(this.state.settings.useTrigger,s)}static getStaticData(){return{acceptedBy:"conditions",name:"State condition",id:"ConditionState",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],title:"Compares the state value with user defined value"}}getData(){return Er.getStaticData()}renderSpecific(){return this.state.showHysteresisHelp?p.jsxs(y.Dialog,{open:!0,maxWidth:"md",onClose:()=>this.setState({showHysteresisHelp:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[p.jsx(y.DialogContent,{children:p.jsx(y.DialogContentText,{id:"alert-dialog-description",children:p.jsx("img",{src:WA,alt:"Hysteresis"})})}),p.jsx(y.DialogActions,{children:p.jsx(y.Button,{onClick:()=>this.setState({showHysteresisHelp:!1}),color:"primary",autoFocus:!0,children:b.I18n.t("OK")})})]}):null}}const I_=[31,29,31,30,31,30,31,31,30,31,30,31];class Ir extends Xe{constructor(s){super(s,Ir.getStaticData())}static compile(s,i){const r=s.tagCard==="="?"===":s.tagCard==="<>"?"!==":s.tagCard;let l;if(s.withDate){const[u,d]=(s.date||"01.01").toString().split(".");let g=parseInt(d,10)||0,m=parseInt(u,10)||0;m>12?m=12:m<0&&(m=0),g>I_[m]?g=I_[m]:g<0&&(g=0),g&&m?l=`formatDate(Date.now(), 'MM.DD-hh:mm') ${r} "${s.date}-${s.time}"`:g===0&&m?l=`formatDate(Date.now(), 'MM-hh:mm') ${r} "${m.toString().padStart(2,"0")}-${s.time}"`:m===0&&g?l=`formatDate(Date.now(), 'DD-hh:mm') ${r} "${g.toString().padStart(2,"0")}-${s.time}"`:l=`formatDate(Date.now(), 'hh:mm') ${r} "${s.time}"`}else l=`formatDate(Date.now(), 'hh:mm') ${r} "${s.time}"`;return i.conditionsVars.push(`const subCond${s._id} = ${l};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: subCond${s._id}});`),`subCond${s._id}`}_setInputs(s,i){i=i===void 0?this.state.settings.withDate:i,s=s||this.state.settings.tagCard;const r=Ir.getStaticData().tagCardArray,l=r==null?void 0:r.find(d=>d.title===s),u=[{nameRender:"renderNameText",attr:"interval",defaultValue:"Actual time of day"},{frontText:(l==null?void 0:l.text)||s,nameRender:"renderTime",attr:"time",defaultValue:"12:00"},{frontText:"with date",nameRender:"renderCheckbox",attr:"withDate",defaultValue:!1}];i&&u.push({nameRender:"renderDate",attr:"date",defaultValue:"01.01"}),this.setState({inputs:u,iconTag:!0},()=>super.onTagChange())}onValueChanged(s,i){i==="withDate"&&this._setInputs(void 0,s)}onTagChange(s){this._setInputs(s)}static getStaticData(){return{acceptedBy:"conditions",name:"Time condition",id:"ConditionTime",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with the user specific time"}}getData(){return Ir.getStaticData()}}class Eo extends Xe{coordinates=null;constructor(s){super(s,Eo.getStaticData())}static compile(s,i){const r=s.tagCard==="="?"===":s.tagCard==="<>"?"!==":s.tagCard;let l;s.offset&&(l=parseInt(s.offsetValue,10)||0);const u=`formatDate(Date.now(), 'hh:mm') ${r} formatDate(getAstroDate("${s.astro}"${l?`, undefined, ${l}`:""}), 'hh:mm')`;return i.conditionsVars.push(`const subCond${s._id} = ${u};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: ${u}});`),u}static _time2String(s){return s?`${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`:"--:--"}onValueChanged(s,i){i==="astro"?this._setAstro(s):i==="offset"?this._setAstro(void 0,s):i==="offsetValue"&&this._setAstro(void 0,void 0,s)}async _setAstro(s,i,r){if(s=s||this.state.settings.astro||"solarNoon",i=i===void 0?this.state.settings.offset:i,r=r===void 0?this.state.settings.offsetValue:r,r=parseInt(r,10)||0,!this.coordinates){const v=await this.props.socket.getObject("system.adapter.javascript.0");if(!(v!=null&&v.native.latitude)&&!(v!=null&&v.native.longitude)){const w=await this.props.socket.getObject("system.config");w&&(w.common.latitude||w.common.longitude)?this.coordinates={latitude:w.common.latitude,longitude:w.common.longitude}:this.coordinates=null}else this.coordinates={latitude:v==null?void 0:v.native.latitude,longitude:v==null?void 0:v.native.longitude}}const l=this.coordinates?xC.getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude):null,u=l?Object.keys(l).map(v=>({value:v,title:v,title2:`[${Eo._time2String(l[v])}]`,order:Eo._time2String(l[v])})):[];u.sort((v,w)=>v.order>w.order?1:v.orderv.title===this.state.settings.tagCard)||d[0];let m="--:--";if(s&&l&&l[s]){const v=new Date(l[s]);i&&v.setMinutes(v.getMinutes()+parseInt(r,10)),m=`(${b.I18n.t(g.text)} ${Eo._time2String(v)})`}let f;i?f=[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:g.text,attr:"astro",nameRender:"renderSelect",options:u,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{backText:r===1?"minute":"minutes",frontText:"offset",nameRender:"renderNumber",defaultValue:0,attr:"offsetValue",noHelperText:!0},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:m}]:f=[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:g.text,attr:"astro",nameRender:"renderSelect",options:u,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:m}],this.setState({inputs:f},()=>super.onTagChange())}onTagChange(){this._setAstro()}static getStaticData(){return{acceptedBy:"conditions",name:"Astronomical",id:"ConditionAstronomical",icon:"Brightness3",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal to"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal to"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with astronomical event"}}getData(){return Eo.getStaticData()}}const x_={valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}};class lc extends Xe{constructor(s){super(s,lc.getStaticData())}isAllTriggersOnState(){var s,i,r,l;return!!((i=(s=this.props.userRules)==null?void 0:s.triggers)!=null&&i.find(u=>u.id==="TriggerState"))&&!((l=(r=this.props.userRules)==null?void 0:r.triggers)!=null&&l.find(u=>u.id!=="TriggerState"))}static compile(s,i){let r=s.value;s.useTrigger?r=s.toggle?"!obj.state.val":"obj.state.val":(r==null&&(r=""),typeof s.value=="string"&&parseFloat(s.value).toString()!==s.value&&s.value!=="true"&&s.value!=="false"&&(r=`"${r.replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}`));let l;return s.toggle&&!s.useTrigger?l=`const subActionVar${s._id} = !(await getStateAsync("${s.oid}")).val`:l=`const subActionVar${s._id} = ${r}`,`// set state ${s.oid} to ${s.toggle&&!s.useTrigger?"toggle":r} + ${l}; + _sendToFrontEnd(${s._id}, {val: subActionVar${s._id}, ack: ${s.tagCard==="update"}}); + await setStateAsync("${s.oid}", subActionVar${s._id}, ${s.tagCard==="update"});`}renderDebug(s){return p.jsxs("span",{children:[b.I18n.t("Set:")," ",p.jsx("span",{style:s.data.ack?x_.valueAck:x_.valueNotAck,children:hn(s.data.val)})]})}_setInputs(s,i){const r=this.isAllTriggersOnState();i=i===void 0?this.state.settings.toggle:i,s=s===void 0?this.state.settings.useTrigger:s;let l="",u;const{oidType:d,oidUnit:g,oidStates:m,oidMax:f,oidMin:v,oidRole:w,oidWrite:_,oidStep:S}=this.state.settings;let k;d&&(d==="number"?(l="number",f!==void 0&&v!==void 0&&(l="slider")):d==="boolean"?(l="boolean",w&&w.includes("button")&&_&&(l="button")):(l="",w&&w.includes("color")&&(l="color")),m&&(u=Object.keys(m).map(E=>({value:E,title:m[E]})),l="select"));let C;if(r&&s)C=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],l==="boolean"&&C.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(l){case"number":C=[{backText:g||"",frontText:"with",nameRender:"renderNumber",defaultValue:f===void 0?0:f,attr:"value"}],this.state.settings.value!==void 0&&isNaN(parseFloat(this.state.settings.value))&&(k={value:f===void 0?0:f});break;case"slider":{C=[{nameRender:"renderSlider",defaultValue:f,min:v,max:f,unit:g,step:S,attr:"value"}];const E=parseFloat(this.state.settings.value);this.state.settings.value!==void 0&&(isNaN(E)||Ef)&&(k={value:f});break}case"select":C=[{nameRender:"renderSelect",frontText:"with",options:u,defaultValue:(u==null?void 0:u[0].value)||"",attr:"value"}],this.state.settings.value!==void 0&&!(u!=null&&u.find(E=>E.value===this.state.settings.value))&&(k={value:(u==null?void 0:u[0].value)||""});break;case"boolean":C=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],i||C.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),this.state.settings.value!==void 0&&this.state.settings.value!==!1&&this.state.settings.value!==!0&&(k={value:!1});break;case"button":C=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],this.state.settings.value!==void 0&&this.state.settings.value!==!0&&(k={value:!0});break;case"color":C=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],this.state.settings.value!==void 0&&(typeof this.state.settings.value!="string"||!this.state.settings.value.startsWith("#")&&!this.state.settings.value.startsWith("rgb"))&&(k={value:"#FFFFFF"});break;default:C=[{backText:g||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}];break}r&&C.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return{inputs:C,newSettings:k}}onTagChange(s,i,r,l,u){u=u===void 0?this.state.settings.useTrigger:u;const{inputs:d,newSettings:g}=this._setInputs(u,l);d.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:d},()=>super.onTagChange(null,()=>{if(g){const m=JSON.parse(JSON.stringify(this.state.settings));Object.assign(m,g),this.setState(m),this.props.onChange(m)}}))}onValueChanged(s,i){this.onTagChange(void 0,void 0,void 0,i==="toggle"?s:void 0,i==="useTrigger"?s:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set state action",id:"ActionSetState",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return lc.getStaticData()}}class cc extends Xe{constructor(s){super(s,cc.getStaticData())}static compile(s,i){return`// exec "${s.exec}" + const subActionVar${s._id} = "${(s.exec||"").replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}; + _sendToFrontEnd(${s._id}, {exec: subActionVar${s._id}}); + console.log(subActionVar${s._id});`}renderDebug(s){return`Exec: ${s.data.exec}`}onTagChange(s){this.setState({inputs:[{nameRender:"renderModalInput",attr:"exec",defaultValue:"ls /opt/iobroker",nameBlock:"Shell command"}]},()=>super.onTagChange(s))}static getStaticData(){return{acceptedBy:"actions",name:"Exec",id:"ActionExec",icon:"Apps",title:"Executes some shell command",helpDialog:"You can use %s in the command to use current trigger value or %id to use the triggered object ID"}}getData(){return cc.getStaticData()}}class uc extends Xe{constructor(s){super(s,uc.getStaticData())}static compile(s,i){return`// HTTP request ${s.url} + const subActionVar${s._id} = "${(s.url||"").replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}; + _sendToFrontEnd(${s._id}, {url: subActionVar${s._id}}); + request(subActionVar${s._id});`}renderDebug(s){return`URL: ${s.data.url}`}onTagChange(s){this.setState({inputs:[{nameRender:"renderModalInput",attr:"url",defaultValue:"http://mydevice.com?...",nameBlock:"URL"}]},()=>super.onTagChange(s))}static getStaticData(){return{acceptedBy:"actions",name:"HTTP Call",id:"ActionHTTPCall",icon:"Language",title:"Make a HTTP get request",helpDialog:"You can use %s in the URL to use current trigger value or %id to use the triggered object ID"}}getData(){return uc.getStaticData()}}class dc extends Xe{constructor(s){super(s,dc.getStaticData())}static compile(s,i){return`// Log ${s.text} + const subActionVar${s._id} = "${(s.text||"").replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}; + _sendToFrontEnd(${s._id}, {text: subActionVar${s._id}}); + console.log(subActionVar${s._id});`}renderDebug(s){return b.I18n.t("Log: %s",s.data.text)}onTagChange(){this.setState({inputs:[{nameRender:"renderModalInput",attr:"text",defaultValue:"My device triggered",nameBlock:"Log text"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"actions",name:"Log text",id:"ActionPrintText",icon:"Subject",title:"Print some text in log",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return dc.getStaticData()}}class hc extends Xe{constructor(s){super(s,hc.getStaticData())}static compile(s){const i=s.unit==="ms"?1:s.unit==="s"?1e3:s.unit==="m"?6e4:36e5;return`// pause for ${i}ms + _sendToFrontEnd(${s._id}, {paused: true}); + + await wait(${s.pause} * ${i}); + + _sendToFrontEnd(${s._id}, {paused: false});`}renderDebug(s){return b.I18n.t("Paused: %s",s.data.paused)}_getOptions(s){return s=s===void 0?this.state.settings.pause:s,s===1||s==="1"?[{value:"ms",title:"millisecond"},{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:[{value:"ms",title:"milliseconds"},{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}]}_setInputs(s){this.setState({inputs:[{nameRender:"renderNumber",attr:"pause",defaultValue:100,noHelperText:!0},{nameRender:"renderSelect",attr:"unit",defaultValue:"ms",options:this._getOptions(s)}]},()=>super.onTagChange())}onValueChanged(s,i){i==="pause"&&this._setInputs(s)}onTagChange(){this._setInputs()}static getStaticData(){return{acceptedBy:"actions",name:"Pause",id:"ActionPause",icon:"Pause",title:"Make a pause between actions"}}getData(){return hc.getStaticData()}}class pc extends Xe{constructor(s){super(s,pc.getStaticData())}static compile(s){const i=(s.func||"").split(` +`).map(r=>` ${r}`);return i.unshift(` _sendToFrontEnd(${s._id}, {func: 'executed'});`),i.unshift("// user function"),i.join(` +`)}renderDebug(){return b.I18n.t("Function: executed")}onTagChange(s){this.setState({inputs:[{nameRender:"renderModalInput",attr:"func",noTextEdit:!0,defaultValue:'console.log("Test")',nameBlock:"Function"}]},()=>super.onTagChange(s))}static getStaticData(){return{acceptedBy:"actions",name:"User function",id:"ActionFunction",icon:"Functions",title:"Write your own code",helpDialog:"This is advances option. You can write your own code here and it will be executed on trigger"}}getData(){return pc.getStaticData()}}class gc extends Xe{constructor(s){super(s,gc.getStaticData())}isAllTriggersOnState(){var s,i,r,l;return!!((i=(s=this.props.userRules)==null?void 0:s.triggers)!=null&&i.find(u=>u.id==="TriggerState"))&&!((l=(r=this.props.userRules)==null?void 0:r.triggers)!=null&&l.find(u=>u.id!=="TriggerState"))}static compile(s,i){let r=s.value;s.useTrigger?r=s.toggle?"!obj.state.val":"obj.state.val":(r==null&&(r=""),typeof s.value=="string"&&parseFloat(s.value).toString()!==s.value&&s.value!=="true"&&s.value!=="false"&&(r=`"${r.replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}`));let l;return s.toggle&&!s.useTrigger?l=`const subActionVar${s._id} = !(await getStateAsync("${s.oid}")).val`:l=`const subActionVar${s._id} = ${r}`,`// set delayed state ${s.oid} to ${s.toggle&&!s.useTrigger?"toggle":r} with delay of ${s.delay}ms + ${l}; + _sendToFrontEnd(${s._id}, {val: subActionVar${s._id}, ack: ${s.tagCard==="update"}}); + setStateDelayed("${s.oid}", subActionVar${s._id}, ${s.tagCard==="update"}, ${parseInt(s.delay,10)}, ${s.clearRunning?"true":"false"});`}renderDebug(s){var i,r;return p.jsxs("span",{children:[b.I18n.t("Set:")," ",p.jsx("span",{className:s.data.ack?(i=this.props.classes)==null?void 0:i.valueAck:(r=this.props.classes)==null?void 0:r.valueNotAck,children:hn(s.data.val)})]})}_setInputs(s,i){const r=this.isAllTriggersOnState();i=i===void 0?this.state.settings.toggle:i,s=s===void 0?this.state.settings.useTrigger:s;let l="",u;const{oidType:d,oidUnit:g,oidStates:m,oidMax:f,oidMin:v,oidRole:w,oidWrite:_,oidStep:S}=this.state.settings;let k;d&&(d==="number"?(l="number",f!==void 0&&v!==void 0&&(l="slider")):d==="boolean"?(l="boolean",w&&w.includes("button")&&_&&(l="button")):(l="",w&&w.includes("color")&&(l="color")),m&&(u=Object.keys(m).map(E=>({value:E,title:m[E]})),l="select"));let C;if(r&&s)C=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],l==="boolean"&&C.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(l){case"number":C=[{backText:g||"",frontText:"with",nameRender:"renderNumber",defaultValue:f===void 0?0:f,attr:"value"}],this.state.settings.value!==void 0&&isNaN(parseFloat(this.state.settings.value))&&(k={value:f===void 0?0:f});break;case"slider":{C=[{nameRender:"renderSlider",defaultValue:f,min:v,max:f,unit:g,step:S,attr:"value"}];const E=parseFloat(this.state.settings.value);this.state.settings.value!==void 0&&(isNaN(E)||Ef)&&(k={value:f});break}case"select":C=[{nameRender:"renderSelect",frontText:"with",options:u,defaultValue:(u==null?void 0:u[0].value)||"",attr:"value"}],this.state.settings.value!==void 0&&!(u!=null&&u.find(E=>E.value===this.state.settings.value))&&(k={value:(u==null?void 0:u[0].value)||""});break;case"boolean":C=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],i||C.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),this.state.settings.value!==void 0&&this.state.settings.value!==!1&&this.state.settings.value!==!0&&(k={value:!1});break;case"button":C=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],this.state.settings.value!==void 0&&this.state.settings.value!==!0&&(k={value:!0});break;case"color":C=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],this.state.settings.value!==void 0&&(typeof this.state.settings.value!="string"||!this.state.settings.value.startsWith("#")&&!this.state.settings.value.startsWith("rgb"))&&(k={value:"#FFFFFF"});break;default:C=[{backText:g||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}];break}r&&C.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return C.push({backText:"ms",frontText:"Delay",nameRender:"renderNumber",defaultValue:1e3,noHelperText:!0,attr:"delay"}),C.push({backText:"clear running",nameRender:"renderCheckbox",defaultValue:!0,attr:"clearRunning"}),{inputs:C,newSettings:k}}onTagChange(s,i,r,l,u){u=u===void 0?this.state.settings.useTrigger:u;const{inputs:d,newSettings:g}=this._setInputs(u,l);d.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:d},()=>super.onTagChange(null,()=>{if(g){const m=JSON.parse(JSON.stringify(this.state.settings));Object.assign(m,g),this.setState(m),this.props.onChange(m)}}))}onValueChanged(s,i){this.onTagChange(void 0,void 0,void 0,i==="toggle"?s:void 0,i==="useTrigger"?s:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set with delay",id:"ActionSetStateDelayed",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state with delay",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return gc.getStaticData()}}class mc extends Xe{constructor(s){super(s,mc.getStaticData())}isAllTriggersOnState(){var s,i,r,l;return!!((i=(s=this.props.userRules)==null?void 0:s.triggers)!=null&&i.find(u=>u.id==="TriggerState"))&&!((l=(r=this.props.userRules)==null?void 0:r.triggers)!=null&&l.find(u=>u.id!=="TriggerState"))}static compile(s){const i=`const val2_${s._id} = (await getStateAsync("${s.oid1}")).val;`,r=`const val1_${s._id} = (await getStateAsync("${s.oid2}")).val;`;return`// ${s.oid1} ${s.operation} ${s.oid2} => ${s.oidResult} + ${i} + ${r} + _sendToFrontEnd(${s._id}, {val: val1_${s._id} ${s.operation} val2_${s._id}, ack: ${s.tagCard==="update"}}); + await setStateAsync("${s.oidResult}", val1_${s._id} ${s.operation} val2_${s._id}, ${s.tagCard==="update"});`}renderDebug(s){var i,r;return p.jsxs("span",{children:[b.I18n.t("Set:")," ",p.jsx("span",{className:s.data.ack?(i=this.props.classes)==null?void 0:i.valueAck:(r=this.props.classes)==null?void 0:r.valueNotAck,children:hn(s.data.val)})]})}onTagChange(){const s=[];s.push({nameRender:"renderObjectID",title:"ID1",attr:"oid1",defaultValue:"",checkReadOnly:!1}),s.push({nameRender:"renderSelect",options:[{value:"+",title:"+"},{value:"-",title:"-"},{value:"*",title:"*"},{value:"/",title:"/"}],doNotTranslate:!0,defaultValue:"+",attr:"operation"}),s.push({nameRender:"renderObjectID",title:"ID2",attr:"oid2",defaultValue:"",checkReadOnly:!1}),s.push({nameRender:"renderNameText",defaultValue:"store in",attr:"textEqual"}),s.push({nameRender:"renderObjectID",attr:"oidResult",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:s},()=>super.onTagChange(null,()=>{const i=JSON.parse(JSON.stringify(this.state.settings));this.props.onChange(i)}))}onValueChanged(s,i){this.onTagChange()}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Operate two states",id:"ActionOperateStates",icon:"AddBox",tagCardArray:["control","update"],title:"Operations with two states"}}getData(){return mc.getStaticData()}}const GA=[ri,rc,ac,Er,Ir,Eo,lc,cc,uc,dc,hc,pc,gc,mc],Fl={sayit:sc,pushover:oc,"whatsapp-cmb":ic,pushsafer:nc},VA=V.createContext({blocks:null,socket:null,onUpdate:!1,setOnUpdate:a=>{},setOnDebugMessage:a=>{},onDebugMessage:[],enableSimulation:!1,setEnableSimulation:a=>{}}),KA=({children:a,socket:s})=>{const[i,r]=V.useState(null),[l,u]=V.useState(!1),[d,g]=V.useState([]),[m,f]=V.useState(!1);return V.useEffect(()=>{l&&u(!1)},[l]),V.useEffect(()=>{(async()=>{const v=await s.getAdapterInstances(),w=Object.keys(Fl).filter(E=>v.find(A=>{var R;return((R=A==null?void 0:A.common)==null?void 0:R.name)===E})),_=[],S=v.filter(E=>E.common.javascriptRules),k=[];for(const E of S){if(k.includes(E.common.name)||!E.common.javascriptRules)continue;let A;if(E.common.javascriptRules.url.startsWith("http:")||E.common.javascriptRules.url.startsWith("https:")?A=E.common.javascriptRules.url:E.common.javascriptRules.url.startsWith("./")?A=`${window.location.protocol}//${window.location.host}${E.common.javascriptRules.url.replace(/^\./,"")}`:A=`${window.location.protocol}//${window.location.host}/adapter/${E.common.name}/${E.common.javascriptRules.url}`,E.common.javascriptRules.i18n===!0){const R=A.lastIndexOf("/");let O;R!==-1?O=A.substring(0,R):O=A;const Z=b.I18n.getLanguage(),ae=`${O}/i18n/${Z}.json`;await fetch(ae).then(se=>se.json()).then(se=>b.I18n.extendTranslations(se,Z)).catch(se=>{if(Z!=="en")return fetch(`${O}/i18n/en.json`).then(ge=>ge.json()).then(ge=>b.I18n.extendTranslations(ge,Z)).catch(ge=>console.error(`Cannot load i18n "${ae}": ${ge}`));console.log(`Cannot load i18n "${ae}": ${se}`)})}else if(E.common.javascriptRules.i18n&&typeof E.common.javascriptRules.i18n=="object")try{b.I18n.extendTranslations(E.common.javascriptRules.i18n)}catch(R){console.error(`Cannot import i18n for "${E.common.javascriptRules.name}": ${R}`)}try{Jp.registerRemotes([{name:E.common.javascriptRules.name,entry:A,type:E.common.javascriptRules.type}]);const R=(await Jp.loadRemote(`${E.common.javascriptRules.name}/${E.common.javascriptRules.name}`)).default;R&&(_.push(R),k.push(E.common.name),Fl[E.common.name]=null)}catch(R){console.error(`Cannot load component "${E.common.javascriptRules.name}": ${R}`)}}const C=w.filter(E=>Fl[E]).map(E=>Fl[E]);r([...GA,...C,..._])})()},[]),p.jsx(VA.Provider,{value:{blocks:i,socket:s,onUpdate:l,setOnUpdate:u,onDebugMessage:d,setOnDebugMessage:g,enableSimulation:m,setEnableSimulation:f},children:a})},YA="Acknowledged",JA="Actions",XA="Add",qA="All",ZA="Any",QA="Apply",eR="April",tR="Ask",sR="Astronomical",oR="August",iR="Cancel",nR="Close",rR="Condition",aR="Conditions",lR="Console",cR="Copied",uR="December",dR="Default",hR="Delay",pR="Delete",gR="Description",mR="Done",fR="Exec shell",$R="Explanation",bR="Export",vR="Februar",yR="February",_R="Filter",wR="Folder",CR="Fr",TR="Friday",kR="ID",SR="ID1",ER="ID2",IR="Import",xR="Instance",DR="Instances",AR="Instructions",RR="Januar",OR="January",MR="July",NR="June",LR="Limit",BR="March",PR="May",FR="Menu",jR="Message",zR="Mo",UR="Model",HR="Monday",WR="Month",GR="More",VR="Name",KR="November",YR="OK",JR="October",XR="Ok",qR="Pause",ZR="Pushover",QR="Pushsafer",eO="Rename",tO="Repeat",sO="Restart",oO="Result",iO="Sa",nO="Saturday",rO="Save",aO="Schedule",lO="Script",cO="September",uO="Simulate",dO="Stack",hO="Start",pO="State",gO="Su",mO="Sunday",fO="Telegram",$O="Th",bO="Thursday",vO="Time",yO="Triggered",_O="Triggers",wO="Tu",CO="Tuesday",TO="URL",kO="Value",SO="Volume",EO="We",IO="Wednesday",xO="Write",DO="Yes",AO="acknowledgment",RO="all",OO="and",MO="Astro",NO="at",LO="control",BO="copy",PO="CRON",FO="Dawn",jO="This is a special mode in which states and objects will not change. But only information about each planned change will be displayed in the protocol.",zO="Debug",UO="Dusk",HO="easy",WO="every",GO="Function",VO="ID",KO="Name",YO="Role",JO="Room",XO="Golden hour",qO="End of golden hour",ZO='The code will be executed only every time when condition is true. E.g. if triggering on the temperature sensor value and the condition is "if temperature is greater than 20°C", the "then" actions will be executed every time when sensor sends the temperature and it is over 20°C. By 21°C, by 22°C and so on.',QO='The code will be executed only if the condition result changes. E.g. if triggering on the temperature sensor value and the condition is "if temperature is greater than 20°C", the "then" actions will be executed once when temperature is over 20. Next time the "then" actions will be executed when the temperature fails under 20 and then rises over 20 again.',eM="hours",tM="includes",sM="interval",oM="magic",iM="milliseconds",nM="minutes",rM="ms",aM="Nadir",lM="Nautical dawn",cM="Nautical dusk",uM="Next Sunrise",dM="Next sunset",hM="Night",pM="Night end",gM="normal",mM="offset",fM="one",$M="or",bM="quiet",vM="search",yM="seconds",_M="Solar noon",wM="sunrise",CM="Sunrise end",TM="Sunset",kM="Sunset start",SM="then",EM="Acknowledge",IM="From",xM="Last changed",DM="Quality",AM="Timestamp",RM="User",OM="Value",MM="two",NM="update",LM="Adds debug output to the log for many system commands",BM="Verbose log outputs",PM="when",FM="Wizard",jM={"%s not found":"%s not found","()":"()","(at %s)":"(at %s)","(optional)":"(optional)","-":"-",".":".","AI code generator":"AI code generator",Ack:YA,Actions:JA,"Actual time of day":"Actual time of day",Add:XA,"Add new script":"Add new script",All:qA,"All files will be accepted":"All files will be accepted",Any:ZA,"Any month":"Any month",Apply:QA,April:eR,"Are you sure?":"Are you sure?",Ask:tR,Astronomical:sR,"Astronomical events today":"Astronomical events today",August:oR,"Blockly description":"Creating rules by graphic blocks","Body:":"Body:",Cancel:iR,"Cannot delete non empty item!":"Cannot delete non empty item!","Change layout":"Change layout",'Change theme (actual "%s")':'Change theme (now - "%s")',"Check blocks":"Check blocks","Check is not active, because javascript adapter is disabled":"Check is not active, because Javascript adapter is disabled","Clear search input":"Clear search input","Click on this icon":"Click on this icon",Close:nR,"Close all but current":"Close all but current","Collapse all":"Collapse all","Compares current time with astronomical event":"Compares current time with astronomical event","Compares current time with the user specific time":"Compares current time with the user specific time","Compares the state value with user defined value":"Compares the state value with user defined value",Condition:rR,Conditions:aR,"Configuration not saved.":"Configuration not saved.",Console:lR,"Control or update some state":"Control or update some state","Control or update some state with delay":"Control or update some state with delay","Convert blockly to javascript for ever.":"Permanently convert Blockly to Javascript.",Copied:cR,"Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","Create new":"Create new","Create new folder":"Create new folder","Create new script":"Create new script","Create or edit CRON or time wizard":"Create or edit CRON or time wizard","Dark Theme":"Dark theme","Dark style":"Dark style",Date:"Date","Debug instance":"Debug instance","Debug options":"Debug options",December:uR,Default:dR,"Define cron...":"Define cron...","Define schedule...":"Define schedule...",Delay:hR,Delete:pR,"Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script",Description:gR,"Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s",Done:mR,"Double click to write value":"Double click to write value","Download as file":"Download as file","Drop some files here or click...":"Drop some files here or click...","Duplicate name":"Duplicate name","Edit script or just double click":"Edit script or just double click","Empty name is not allowed":"Empty name is not allowed","End search mode":"End search mode","Enter your question":"Enter your request",Error:"Error","Error formatting code":"Error formatting code","Error was found":"Error was found","Every day":"Every day",Exec:fR,"Executes some shell command":"Executes some shell command","Existing scripts will be overwritten.":"Existing scripts will be overwritten.","Expand all":"Expand all","Expert mode":"Expert mode",Explanation:$R,Export:bR,"Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks",Februar:vR,February:yR,Filter:_R,Folder:wR,Fr:CR,Friday:TR,Function:"Function","Function editor":"Function editor","Function: executed":"Function: executed","Go to next line":"Go to next line","HTTP Call":"HTTP Call","Hide logs":"Hide logs",ID:kR,ID1:SR,ID2:ER,Import:IR,"Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID",Instance:xR,"Instance is disabled":"Instance is disabled","Instance:":"Instance:",Instances:DR,Instructions:AR,"Invalid CRON":"Invalid CRON","It will not be possible to revert this operation.":"It will not be possible to revert this operation.","JS description":"Creating rules by writing Javascript",Januar:RR,January:OR,July:MR,June:NR,"Just check":"Just check","Language:":"Language:","Learn More":"Learn More","Light style":"Light style",Limit:LR,"Local time":"Local time","Locate file":"Locate file","Log outputs":"Log outputs","Log text":"Log text","Log: %s":"Log: %s","Make a HTTP get request":"Make a HTTP get request","Make a pause between actions":"Make a pause between actions",March:BR,"March ":"March ",May:PR,Menu:FR,Message:jR,Mo:zR,Model:UR,Monday:HR,Month:WR,More:GR,Name:VR,"No Chat GPT Key found":"No Chat GPT Key found","No active host found":"No active host found","Nothing found":"Nothing found",November:KR,OK:YR,October:JR,Ok:XR,"On condition change":"On condition result change","On script save or adapter start":"On script save or adapter start","On weekdays":"On weekdays","Open configuration":"Open configuration","Operate two states":"Operate two states","Operations with two states":"Operations with two states","Paste your blocks here":"Paste your blocks here",Pause:qR,"Pause execution":"Pause execution","Pause script":"Pause script","Phone:":"Phone:","Please select object ID...":"Please select object ID...","Press Ctrl+Enter to get the answer":"Press Ctrl+Enter to get the answer","Prettify the script":"Prettify the script","Print some text in log":"Print some text in log","Priority:":"Priority:",Pushover:ZR,Pushsafer:QR,"Read only ID selected: %s":"Read only ID selected: %s",Rename:eO,"Reorder scripts in folders":"Reorder scripts in folders",Repeat:tO,Restart:sO,Result:oO,"Resume execution":"Resume execution","Root folder":"Root folder","Rules description":"Create rules with IF, THEN, ELSE blocks","Run script":"Run script",Sa:iO,Saturday:nO,Save:rO,"Save all":"Save all","Say It":"Say It","Say some text via sayit adapter":"Say some text via sayit adapter",Schedule:aO,Script:lO,"Script %s was modified on disk":"Script %s was modified on disk","Script is not running":"Script is not running","Search in scripts":"Search in scripts","Search...":"Search...","Select all":"Select all","Send email":"Send email","Sends an email":"Sends an email","Sends message via Pushsafer":"Sends message via Pushsafer","Sends message via pushover":"Sends message via pushover","Sends message via telegram":"Sends message via telegram","Sends message via whatsapp-cmb":"Sends message via whatsapp-cmb",September:cO,"Server time":"Server time","Set state action":"Set state action","Set with delay":"Set with delay","Shell command":"Shell command","Show astronomical events":"Show astronomical events","Show javascript code":"Show Javascript code","Show logs":"Show logs","Show only paused scripts":"Show only paused scripts","Show only running scripts":"Show only running scripts","Show only scripts with problems":"Show only scripts with problems",Simulate:uO,"Some files will be rejected":"Some files will be rejected","Sound:":"Sound:",Stack:dO,Start:hO,"Start script":"Start script",State:pO,"State condition":"State condition","Step into function":"Step into function","Step out from function":"Step out from function","Stop on exception":"Stop on exception",Su:gO,"Subject:":"Subject:",Sunday:mO,"TS description":"Creating rules by writing Typescript",Telegram:fO,"Text:":"Text:",Th:$O,"The script will be stopped and must be activated manually after debugging. Continue?":"The script will be stopped and must be activated manually after debugging. Continue?","This is advances option. You can write your own code here and it will be executed on trigger":"This is advances option. You can write your own code here and it will be executed on trigger",Thursday:bO,Time:vO,"Time condition":"Time condition","Title:":"Title:","To:":"To:","Trigger with value":"Trigger with value",Triggered:yO,Triggers:_O,"Triggers the on script saving or the javascript instance restart":"Triggers the on script saving or the javascript instance restart","Triggers the rule on update or change of some state":"Triggers the rule on update or change of some state","Triggers the rule periodically or on some specific time":"Triggers the rule periodically or on some specific time",Tu:wO,Tuesday:CO,URL:TO,"Unknown error":"Unknown error","Unknown error!":"Unknown error!","Use generated code":"Use generated code","User function":"User function","User:":"User:",Value:kO,"Vibration:":"Vibration:",Volume:SO,We:EO,Wednesday:IO,"Whatsapp-cmb":"Whatsapp-cmb",Write:xO,"Write your own code":"Write your own code",Yes:DO,"Yet exists!":"Yet exists!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"You can use %s in the URL to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"You can use %s in the command to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"You can use %s in the text to display current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"You can use %s in the value to use the current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You have to enter OpenAI API key in the configuration of javascript adapter.":"You have to enter OpenAI API key in the configuration of javascript adapter.","[equal]":"[equal]","[greater or equal]":"[greater or equal]","[greater]":"[greater]","[hysteresis]":"[hysteresis]","[includes]":"[includes]","[less or equal]":"[less or equal]","[less]":"[less]","[not equal]":"[not equal]",acknowledgment:AO,all:RO,and:OO,astro:MO,at:NO,"clear running":"clear running",control:LO,copy:BO,cron:PO,dawn:FO,debug_help:jO,debug_label:zO,default:"default",dusk:UO,easy:HO,else:"else","equal to":"equal to",every:WO,"every hour at 0 minutes":"every hour at 0 minutes",false:"false","file reading has failed: %s":"file reading has failed: %s","file reading was aborted":"file reading was aborted",filter_func:GO,filter_id:VO,filter_name:KO,filter_role:YO,filter_room:JO,"for edit or create script":"for edit or create a new script","for professionals":"for professionals","for programmers":"for programmers",goldenHour:XO,goldenHourEnd:qO,"greater or equal":"greater or equal","greater or equal to":"greater or equal to","greater than":"greater than",help_just_check:ZO,help_on_change:QO,"high priority":"high priority","high-priority":"high-priority","highest priority":"highest priority",hours:eM,includes:tM,interval:sM,"just check":"just check","less or equal":"less or equal","less or equal to":"less or equal to","less than":"less than","lower priority":"lower priority","lowest priority":"lowest priority",magic:oM,milliseconds:iM,minutes:nM,ms:rM,nadir:aM,nauticalDawn:lM,nauticalDusk:cM,nextSunrise:uM,nextSunset:dM,night:hM,nightEnd:pM,"no blocks found":"No blocks found","no group":"NO GROUP",normal:gM,"normal priority":"normal priority","not equal to":"not equal to","not properly connected":"This block is not properly connected to other blocks.",offset:mM,"on change":"on change","on condition change":"on condition change","on update":"on update",one:fM,or:$M,quiet:bM,"reset search":"reset search",search:vM,seconds:yM,solarNoon:_M,"store in":"store in",sunrise:wM,sunriseEnd:CM,sunset:TM,sunsetStart:kM,then:SM,"toggle value":"toggle value",tooltip_ack:EM,tooltip_from:IM,tooltip_lc:xM,tooltip_quality:DM,tooltip_ts:AM,tooltip_user:RM,tooltip_value:OM,true:"true",two:MM,undefined:"undefined",update:NM,"use seconds":"use seconds","use trigger value":"use trigger value",verbose_help:LM,verbose_label:BM,when:PM,with:"with","with date":"with date","with offset":"with offset",wizard:FM},zM="Bestätigt",UM="Aktionen",HM="Hinzufügen",WM="Alle",GM="Egal",VM="Anwenden",KM="April",YM="Fragen",JM="Astronomisch",XM="August",qM="Abbrechen",ZM="Schließen",QM="Bedingung",eN="Bedingungen",tN="Konsole",sN="Kopiert",oN="Dezember",iN="Standard",nN="Verzögerung",rN="Löschen",aN="Beschreibung",lN="Fertig",cN="Exec shell",uN="Erläuterung",dN="Export",hN="Februar",pN="Februar",gN="Filter",mN="Ordner",fN="Fr",$N="Freitag",bN="ID",vN="ID1",yN="ID2",_N="Import",wN="Instanz",CN="Instanzen",TN="Anleitung",kN="Januar",SN="Januar",EN="Juli",IN="Juni",xN="Grenze",DN="März",AN="Mai",RN="Menü",ON="Nachricht",MN="Mo",NN="Modell",LN="Montag",BN="Monat",PN="Mehr",FN="Name",jN="November",zN="OK",UN="Oktober",HN="Ok",WN="Pause",GN="Pushover",VN="Pushsafer",KN="Umbenennen",YN="Wiederholen",JN="Neustart",XN="Ergebnis",qN="Sa",ZN="Samstag",QN="Speichern",eL="Zeitplan",tL="Skript",sL="September",oL="Simulieren",iL="Stack",nL="Start",rL="Zustand",aL="So",lL="Sonntag",cL="Telegram",uL="Do",dL="Donnerstag",hL="Zeit",pL="Ausgelöst",gL="Löst aus",mL="Di",fL="Dienstag",$L="URL",bL="Wert",vL="Volumen",yL="Mi",_L="Mittwoch",wL="Schreiben",CL="Ja",TL="Wissen",kL="alle",SL="und",EL="Astro",IL="um",xL="Steuerung",DL="Kopie",AL="CRON",RL="Morgendämmerung",OL="Dies ist ein spezieller Modus, in dem sich Zustände und Objekte nicht ändern. Im Protokoll werden jedoch nur Informationen zu jeder geplanten Änderung angezeigt.",ML="Debuggen",NL="Abenddämmerung",LL="einfach",BL="jeder",PL="Funktion",FL="ID",jL="Name",zL="Rolle",UL="Raum",HL="Goldene Abendstunde",WL="Vormittag",GL='Der Code wird jedes Mal ausgeführt, wenn die Bedingung erfüllt ist. z.B. wenn der Temperatur wert sich ändert und die Bedingung "Wenn die Temperatur größer als 20°C ist" lautet, werden die "Dann" -Aktionen jedes Mal ausgeführt, wenn der Sensor die Temperatur sendet und diese über 20°C liegt. Bei 21°C, bei 22°C und so weiter.',VL='Der Code wird nur ausgeführt, wenn sich das Ergebnis der Bedingung ändert. z.B. wenn sich der Temperatur wert ändert und die Bedingung "Wenn die Temperatur größer als 20°C ist" lautet, werden die "Dann" -Aktionen einmal ausgeführt, wenn die Temperatur über 20°C liegt. Das nächste Mal werden die "Dann" -Aktionen ausgeführt, wenn die Temperatur unter 20°C gefallen ist und dann wieder über 20°C ansteigt.',KL="Stunden",YL="beinhaltet",JL="Intervall",XL="Magie",qL="Millisekunden",ZL="Minuten",QL="ms",e1="Nadir",t1="nautische Morgendämmerung",s1="nautische Abenddämmerung",o1="Nächster Sonnenaufgang",i1="Nächster Sonnenuntergang",n1="Nacht",r1="astronomische Morgendämmerung",a1="Normal",l1="Versatz",c1="einer",u1="oder",d1="ruhig",h1="Suche",p1="Sekunden",g1="(Nach-)Mittag",m1="Sonnenaufgang",f1="Goldene Morgenstunde",$1="Sonnenuntergang",b1="Sonnenuntergang (Anfang)",v1="dann",y1="Bestätigen",_1="Von",w1="Zuletzt geändert",C1="Qualität",T1="Zeitstempel",k1="Benutzer",S1="Wert",E1="zwei",I1="Aktualisieren",x1="Fügt Debug-Ausgaben für viele Systembefehle zum Protokoll hinzu",D1="Ausführliche Protokollausgaben",A1="falls",R1="Assistent",O1={"%s not found":"%s nicht gefunden","()":"()","(at %s)":"(um %s)","(optional)":"(optional)","-":"-",".":".","AI code generator":"KI-Codegenerator",Ack:zM,Actions:UM,"Actual time of day":"Tatsächliche Tageszeit",Add:HM,"Add new script":"Neues Skript hinzufügen",All:WM,"All files will be accepted":"Alle Dateien werden akzeptiert",Any:GM,"Any month":"Jeden Monat",Apply:VM,April:KM,"Are you sure?":"Wirklich sicher?",Ask:YM,Astronomical:JM,"Astronomical events today":"Astronomische Ereignisse heute",August:XM,"Blockly description":"Erstellen von Regeln durch Grafikblöcke","Body:":"Körper:",Cancel:qM,"Cannot delete non empty item!":"Kann nicht gelöscht werden, weil noch einige Elementen darin sind!","Change layout":"Layout ändern",'Change theme (actual "%s")':'Thema ändern (jetzt - "%s")',"Check blocks":"Blöcke prüfen","Check is not active, because javascript adapter is disabled":"Syntax-Check ist nicht aktiv, weil der Javascript Adapter nicht aktiv ist.","Clear search input":"Sucheingabe löschen","Click on this icon":"Auf dieses Symbol klicken",Close:ZM,"Close all but current":"Alle anderen außer dem Aktiven schließen","Collapse all":"Alles einklappen","Compares current time with astronomical event":"Vergleicht die aktuelle Zeit mit einem astronomischen Ereignis","Compares current time with the user specific time":"Vergleicht die aktuelle Zeit mit der benutzerspezifischen Zeit","Compares the state value with user defined value":"Vergleicht den Zustandswert mit dem benutzerdefinierten Wert",Condition:QM,Conditions:eN,"Configuration not saved.":"Die Konfiguration ist nicht gespeichert.",Console:tN,"Control or update some state":"Zustand steuern oder aktualisieren","Control or update some state with delay":"Zustand mit Verzögerung steuern oder aktualisieren","Convert blockly to javascript for ever.":"Blockly dauerhaft in Javascript konvertieren.",Copied:sN,"Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Create new":"Neu erstellen","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"CRON- oder Zeit-Assistenten erstellen oder bearbeiten","Dark Theme":"Dunkles Thema","Dark style":"Dunkler Stil",Date:"Datum","Debug instance":"Debug-Instanz","Debug options":"Debug-Optionen",December:oN,Default:iN,"Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...",Delay:nN,Delete:rN,"Delete %s":"Löschen %s...","Delete folder":"Ordner löschen","Delete script":"Skript löschen",Description:aN,"Deselect all":"Alles abwählen","Discard changes for %s":"Änderungen für %s verwerfen",Done:lN,"Double click to write value":"Doppelklick zum Schreiben des Wertes","Download as file":"Download als Datei","Drop some files here or click...":"Dateien hier ablegen oder klicken ...","Duplicate name":"Doppelter Name","Edit script or just double click":"Skript bearbeiten oder einfach doppelklicken","Empty name is not allowed":"Leerer Name ist nicht zulässig","End search mode":"Suchmodus beenden","Enter your question":"Anfrage eingeben",Error:"Fehler","Error formatting code":"Fehler beim Formatieren des Codes","Error was found":"Fehler wurde gefunden","Every day":"Täglich",Exec:cN,"Executes some shell command":"Führt einen Shell-Befehl aus","Existing scripts will be overwritten.":"Vorhandene Skripte werden überschrieben.","Expand all":"Alle erweitern","Expert mode":"Expertenmodus",Explanation:uN,Export:dN,"Export all scripts":"Alle Skripte exportieren","Export blocks":"Blöcke exportieren","Export selected blocks":"Ausgewählte Blöcke exportieren",Februar:hN,February:pN,Filter:gN,Folder:mN,Fr:fN,Friday:$N,Function:"Funktion","Function editor":"Funktions-Editor","Function: executed":"Funktion: ausgeführt","Go to next line":"Gehe zur nächsten Zeile","HTTP Call":"HTTP-Aufruf","Hide logs":"Protokoll ausblenden",ID:bN,ID1:vN,ID2:yN,Import:_N,"Import blocks":"Blöcke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripte importieren","Insert object ID":"Objekt-ID einfügen",Instance:wN,"Instance is disabled":"Instanz ist deaktiviert","Instance:":"Instanz:",Instances:CN,Instructions:TN,"Invalid CRON":"Ungültiger CRON","It will not be possible to revert this operation.":"Dieser Vorgang kann nicht rückgängig gemacht werden.","JS description":"Regeln erstellen mit JavaScript",Januar:kN,January:SN,July:EN,June:IN,"Just check":"Einfach überprüfen","Language:":"Sprache:","Learn More":"Mehr erfahren","Light style":"Heller Stil",Limit:xN,"Local time":"Lokale Zeit","Locate file":"Datei zeigen","Log outputs":"Protokoll","Log text":"Protokolltext","Log: %s":"Log: %s","Make a HTTP get request":"Eine HTTP-Abrufanforderung stellen","Make a pause between actions":"Eine Pause zwischen den Aktionen machen",March:DN,"March ":"März ",May:AN,Menu:RN,Message:ON,Mo:MN,Model:NN,Monday:LN,Month:BN,More:PN,Name:FN,"No Chat GPT Key found":"Kein Chat-GPT-Schlüssel gefunden","No active host found":"Kein aktiver Host gefunden","Nothing found":"Nichts gefunden",November:jN,OK:zN,October:UN,Ok:HN,"On condition change":"Bei Änderung des Ergebnis der Bedingung","On script save or adapter start":"Beim Speichern des Skripts oder beim Starten des Adapters","On weekdays":"An Wochentagen","Open configuration":"Konfiguration öffnen","Operate two states":"Zwei Zustände operieren","Operations with two states":"Operationen mit zwei Zuständen","Paste your blocks here":"Fügen Sie Ihre Blöcke hier ein",Pause:WN,"Pause execution":"Ausführung pausieren","Pause script":"Skript anhalten","Phone:":"Telefon:","Please select object ID...":"Objekt-ID auswählen ...","Press Ctrl+Enter to get the answer":"Strg+Eingabetaste, um die Antwort zu erhalten","Prettify the script":"Verschönern Sie das Skript","Print some text in log":"Einen Text im Protokoll ausdrucken","Priority:":"Priorität:",Pushover:GN,Pushsafer:VN,"Read only ID selected: %s":"Schreibgeschützte ID ausgewählt: %s",Rename:KN,"Reorder scripts in folders":"Skripte in Ordnern neu ordnen",Repeat:YN,Restart:JN,Result:XN,"Resume execution":"Ausführung fortsetzen","Root folder":"Root-Verzeichnis","Rules description":"Regeln erstellen mit WENN-, DANN- und SONST-Blöcken","Run script":"Skript ausführen",Sa:qN,Saturday:ZN,Save:QN,"Save all":"Alle speichern","Say It":"Say It","Say some text via sayit adapter":"Einen Text über den Sayit-Adapter sagen",Schedule:eL,Script:tL,"Script %s was modified on disk":'Skript "%s" wurde auf der Festplatte geändert',"Script is not running":"Skript läuft nicht","Search in scripts":"Suche in Skripten","Search...":"Suche...","Select all":"Alles auswählen","Send email":"E-Mail senden","Sends an email":"Sendet eine E-Mail","Sends message via Pushsafer":"Sendet eine Nachricht über Pushsafer","Sends message via pushover":"Sendet eine Nachricht per Pushover","Sends message via telegram":"Sendet eine Nachricht per telegram","Sends message via whatsapp-cmb":"Sendet eine Nachricht über WhatsApp-Cmb",September:sL,"Server time":"Server-Zeit","Set state action":"Zustand setzten","Set with delay":"Setzen mit Verzögerung","Shell command":"Shell-Befehl","Show astronomical events":"Astronomische Ereignisse anzeigen","Show javascript code":"Javascript-Code zeigen","Show logs":"Protokoll anzeigen","Show only paused scripts":"Nur angehaltene Skripte zeigen","Show only running scripts":"Nur laufende Skripte zeigen","Show only scripts with problems":"Nur Skripte mit Problemen zeigen",Simulate:oL,"Some files will be rejected":"Einige Dateien werden abgelehnt","Sound:":"Klang:",Stack:iL,Start:nL,"Start script":"Skript starten",State:rL,"State condition":"Zustandsbedingung","Step into function":"Schritt in die Funktion","Step out from function":"Raus aus der Funktion","Stop on exception":"Bei Ausnahme anhalten",Su:aL,"Subject:":"Gegenstand:",Sunday:lL,"TS description":"Regeln erstellen mit TypeScript",Telegram:cL,"Text:":"Text:",Th:uL,"The script will be stopped and must be activated manually after debugging. Continue?":"Das Skript wird gestoppt und muss nach dem Debuggen manuell aktiviert werden. Fortsetzen?","This is advances option. You can write your own code here and it will be executed on trigger":"Dies ist eine erweiterte Option. Sie können hier Ihren eigenen Code schreiben, der beim Auslösen ausgeführt wird",Thursday:dL,Time:hL,"Time condition":"Zeitbedingung","Title:":"Titel:","To:":"Zu:","Trigger with value":"Trigger mit Wert",Triggered:pL,Triggers:gL,"Triggers the on script saving or the javascript instance restart":"Löst das Speichern des Skripts oder den Neustart der Javascript-Instanz aus","Triggers the rule on update or change of some state":"Löst die Regel beim Aktualisieren oder Ändern eines Zustands aus","Triggers the rule periodically or on some specific time":"Löst periodisch oder zu einem bestimmten Zeitpunkt aus",Tu:mL,Tuesday:fL,URL:$L,"Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Use generated code":"Code verwenden","User function":"Benutzerfunktion","User:":"Benutzer:",Value:bL,"Vibration:":"Vibration:",Volume:vL,We:yL,Wednesday:_L,"Whatsapp-cmb":"WhatsApp-cmb",Write:wL,"Write your own code":"Eigenen Code schreiben",Yes:CL,"Yet exists!":"Existiert schon!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Sie können %s in der URL verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Sie können %s im Befehl verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Sie können %s im Text verwenden, um den aktuellen Triggerwert anzuzeigen, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Sie können %s im Wert verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ID des ausgelösten Objekts zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You have to enter OpenAI API key in the configuration of javascript adapter.":"Sie müssen den OpenAI-API-Schlüssel in der Konfiguration des Javascript-Adapters eingeben.","[equal]":"[gleich]","[greater or equal]":"[größer oder gleich]","[greater]":"[größer]","[hysteresis]":"[Hysterese]","[includes]":"[enthält]","[less or equal]":"[kleiner oder gleich]","[less]":"[kleiner]","[not equal]":"[ungleich]",acknowledgment:TL,all:kL,and:SL,astro:EL,at:IL,"clear running":"laufende abbrechen",control:xL,copy:DL,cron:AL,dawn:RL,debug_help:OL,debug_label:ML,default:"Standard",dusk:NL,easy:LL,else:"sonst","equal to":"gleich",every:BL,"every hour at 0 minutes":"jede Stunde bei 0 Minuten",false:"falsch","file reading has failed: %s":"Das Lesen der Datei ist fehlgeschlagen: %s","file reading was aborted":"Das Lesen der Datei wurde abgebrochen",filter_func:PL,filter_id:FL,filter_name:jL,filter_role:zL,filter_room:UL,"for edit or create script":"zum Bearbeiten oder zum Erstellen eines neues Skripts","for professionals":"für Profis","for programmers":"für Programmierer",goldenHour:HL,goldenHourEnd:WL,"greater or equal":"größer oder gleich","greater or equal to":"größer oder gleich","greater than":"größer als",help_just_check:GL,help_on_change:VL,"high priority":"hohe Priorität","high-priority":"hohe Priorität","highest priority":"höchste Priorität",hours:KL,includes:YL,interval:JL,"just check":"einfach prüfen","less or equal":"kleiner oder gleich","less or equal to":"kleiner oder gleich","less than":"kleiner als","lower priority":"geringere Priorität","lowest priority":"niedrigste Priorität",magic:XL,milliseconds:qL,minutes:ZL,ms:QL,nadir:e1,nauticalDawn:t1,nauticalDusk:s1,nextSunrise:o1,nextSunset:i1,night:n1,nightEnd:r1,"no blocks found":"Keine Blöcke gefunden","no group":"KEINE GRUPPE",normal:a1,"normal priority":"normale Priorität","not equal to":"ungleich","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.",offset:l1,"on change":"bei Änderung","on condition change":"bei Zustandsänderung","on update":"beim Aktualisieren",one:c1,or:u1,quiet:d1,"reset search":"Suche zurücksetzen",search:h1,seconds:p1,solarNoon:g1,"store in":"speichern in",sunrise:m1,sunriseEnd:f1,sunset:$1,sunsetStart:b1,then:v1,"toggle value":"Wert umschalten",tooltip_ack:y1,tooltip_from:_1,tooltip_lc:w1,tooltip_quality:C1,tooltip_ts:T1,tooltip_user:k1,tooltip_value:S1,true:"wahr",two:E1,undefined:"nicht definiert",update:I1,"use seconds":"Sekunden verwenden","use trigger value":"Triggerwert benutzen",verbose_help:x1,verbose_label:D1,when:A1,with:"mit","with date":"mit Datum","with offset":"mit Versatz",wizard:R1},M1="Admitido",N1="Comportamiento",L1="Añadir",B1="Todos",P1="Alguna",F1="Apply",j1="abril",z1="Preguntar",U1="Astronómico",H1="agosto",W1="Cancelar",G1="Cerrar",V1="Condición",K1="Condiciones",Y1="Consola",J1="Copiado",X1="diciembre",q1="Defecto",Z1="Demora",Q1="Eliminar",eB="Descripción",tB="Hecho",sB="Ejecutivo shell",oB="Explicación",iB="Exportar",nB="Februar",rB="febrero",aB="Filtrar",lB="Carpeta",cB="P.",uB="viernes",dB="CARNÉ DE IDENTIDAD",hB="ID1",pB="ID2",gB="Importar",mB="Ejemplo",fB="Instancias",$B="Instrucciones",bB="Enero",vB="enero",yB="julio",_B="junio",wB="Límite",CB="marzo",TB="Mayo",kB="Menú",SB="Mensaje",EB="Mes",IB="Modelo",xB="lunes",DB="Mes",AB="Más",RB="Nombre",OB="noviembre",MB="OK",NB="octubre",LB="Okay",BB="Pausa",PB="Persona fácil de convencer",FB="Pushsafer",jB="Rebautizar",zB="Repetir",UB="Reiniciar",HB="Resultado",WB="Sa",GB="sábado",VB="Salvar",KB="Calendario",YB="Guión",JB="septiembre",XB="Simular",qB="Stack",ZB="Comienzo",QB="Expresar",eP="Su",tP="domingo",sP="Telegrama",oP="4",iP="jueves",nP="Tiempo",rP="Motivado",aP="Disparadores",lP="Tu",cP="martes",uP="URL",dP="Valor",hP="Volumen",pP="3",gP="miércoles",mP="Escribir",fP="sí",$P="Reconocimiento",bP="todos",vP="y",yP="astro",_P="a",wP="control",CP="Copiar",TP="CRON",kP="Amanecer",SP="Este es un modo especial en el que los estados y los objetos no cambiarán. Pero solo se mostrará información sobre cada cambio planificado en el protocolo.",EP="Depurar",IP="Oscuridad",xP="fácil",DP="cada",AP="Función",RP="CARNÉ DE IDENTIDAD",OP="Nombre",MP="Papel",NP="Habitación",LP="hora dorada",BP="Fin de la hora dorada",PP='El código se ejecutará solo cada vez que la condición sea verdadera. P.ej. si se activa en el valor del sensor de temperatura y la condición es "si la temperatura es superior a 20 ° C", las acciones "entonces" se ejecutarán cada vez que el sensor envíe la temperatura y supere los 20 ° C. Por 21 ° C, por 22 ° C y así sucesivamente.',FP='El código se ejecutará solo si cambia el resultado de la condición. P.ej. si se activa en el valor del sensor de temperatura y la condición es "si la temperatura es superior a 20 ° C", las acciones "entonces" se ejecutarán una vez cuando la temperatura sea superior a 20. La próxima vez, las acciones "entonces" se ejecutarán cuando la temperatura falla por debajo de 20 y luego sube por encima de 20 nuevamente.',jP="horas",zP="incluye",UP="intervalo",HP="magia",WP="milisegundos",GP="minutos",VP="ms",KP="nadir",YP="Amanecer náutico",JP="Atardecer náutico",XP="próximo amanecer",qP="Próxima puesta de sol",ZP="Noche",QP="Fin de la noche",eF="normal",tF="compensar",sF="uno",oF="o",iF="tranquilo",nF="buscar",rF="segundos",aF="Mediodía solar",lF="amanecer",cF="Final del amanecer",uF="puesta de sol",dF="Inicio al atardecer",hF="entonces",pF="Reconocer",gF="De",mF="Último cambio",fF="Calidad",$F="Marca de tiempo",bF="Usuario",vF="Valor",yF="dos",_F="actualizar",wF="Agrega salida de depuración al registro para muchos comandos del sistema",CF="Salidas de registro detalladas",TF="cuando",kF="Wizard",SF={"%s not found":"%s no encontrado","()":"()","(at %s)":"(en %s)","(optional)":"(Opcional)","-":"-",".":".","AI code generator":"Generador de código de IA",Ack:M1,Actions:N1,"Actual time of day":"Hora real del día",Add:L1,"Add new script":"Agregar nuevo script",All:B1,"All files will be accepted":"Todos los archivos serán aceptados.",Any:P1,"Any month":"Cualquier mes",Apply:F1,April:j1,"Are you sure?":"¿Estás seguro?",Ask:z1,Astronomical:U1,"Astronomical events today":"Eventos astronómicos hoy",August:H1,"Blockly description":"Crear reglas por bloques gráficos","Body:":"Cuerpo:",Cancel:W1,"Cannot delete non empty item!":"¡No se puede eliminar un elemento no vacío!","Change layout":"Cambia el diseño",'Change theme (actual "%s")':'Cambiar tema (ahora - "%s")',"Check blocks":"Comprobar bloques","Check is not active, because javascript adapter is disabled":"La comprobación no está activa porque el adaptador Javascript está desactivado","Clear search input":"Borrar entrada de búsqueda","Click on this icon":"Haga clic en este ícono",Close:G1,"Close all but current":"Cerrar todo menos el actual","Collapse all":"Desplegar todo","Compares current time with astronomical event":"Compara la hora actual con un evento astronómico","Compares current time with the user specific time":"Compara la hora actual con la hora específica del usuario","Compares the state value with user defined value":"Compara el valor del estado con el valor definido por el usuario",Condition:V1,Conditions:K1,"Configuration not saved.":"Configuración no guardada.",Console:Y1,"Control or update some state":"Controlar o actualizar algún estado","Control or update some state with delay":"Controlar o actualizar algún estado con retraso","Convert blockly to javascript for ever.":"Convierta instantáneamente en bloque a Javascript.",Copied:J1,"Copy script":"Copiar guion","Copy to clipboard":"Copiar al portapapeles","Create new":"Crear nuevo","Create new folder":"Crear nueva carpeta","Create new script":"Crear nuevo script","Create or edit CRON or time wizard":"Crear o editar CRON o asistente de tiempo","Dark Theme":"Tema oscuro","Dark style":"Estilo oscuro",Date:"Fecha","Debug instance":"Instancia de depuración","Debug options":"Opciones de depuración",December:X1,Default:q1,"Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...",Delay:Z1,Delete:Q1,"Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar guión",Description:eB,"Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s",Done:tB,"Double click to write value":"Doble clic para escribir el valor","Download as file":"Descargar como archivo","Drop some files here or click...":"Suelta algunos archivos aquí o haz clic ...","Duplicate name":"Nombre duplicado","Edit script or just double click":"Editar guión o simplemente hacer doble clic","Empty name is not allowed":"No se permite el nombre vacío","End search mode":"Fin del modo de búsqueda","Enter your question":"Ingrese su solicitud",Error:"Error","Error formatting code":"Código de formato de error","Error was found":"Error encontrado","Every day":"Diario",Exec:sB,"Executes some shell command":"Ejecuta algún comando de shell","Existing scripts will be overwritten.":"Los guiones existentes se sobrescribirán.","Expand all":"Expandir todo","Expert mode":"Modo experto",Explanation:oB,Export:iB,"Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados",Februar:nB,February:rB,Filter:aB,Folder:lB,Fr:cB,Friday:uB,Function:"Función","Function editor":"Editor de funciones","Function: executed":"Función: ejecutada","Go to next line":"Ir a la siguiente línea","HTTP Call":"Llamada HTTP","Hide logs":"Ocultar registros",ID:dB,ID1:hB,ID2:pB,Import:gB,"Import blocks":"Importar bloques","Import error":"Error de importación","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto",Instance:mB,"Instance is disabled":"La instancia está deshabilitada","Instance:":"Ejemplo:",Instances:fB,Instructions:$B,"Invalid CRON":"CRON inválido","It will not be possible to revert this operation.":"No será posible revertir esta operación.","JS description":"Crear reglas escribiendo Javascript",Januar:bB,January:vB,July:yB,June:_B,"Just check":"Sólo revisa","Language:":"Idioma:","Learn More":"Aprende más","Light style":"Estilo ligero",Limit:wB,"Local time":"Hora local","Locate file":"Localizar el archivo","Log outputs":"Salidas de registro","Log text":"Texto de registro","Log: %s":"Log: %s","Make a HTTP get request":"Realizar una solicitud de obtención HTTP","Make a pause between actions":"Hacer una pausa entre acciones",March:CB,"March ":"marzo",May:TB,Menu:kB,Message:SB,Mo:EB,Model:IB,Monday:xB,Month:DB,More:AB,Name:RB,"No Chat GPT Key found":"No se ha encontrado ninguna clave GPT de chat","No active host found":"No se encontró un host activo","Nothing found":"Nada Encontrado",November:OB,OK:MB,October:NB,Ok:LB,"On condition change":"En condición de cambio","On script save or adapter start":"Al guardar el script o al iniciar el adaptador","On weekdays":"De lunes a viernes","Open configuration":"Configuración abierta","Operate two states":"Operar dos estados","Operations with two states":"Operaciones con dos estados","Paste your blocks here":"Pega tus bloques aquí",Pause:BB,"Pause execution":"Pausar ejecución","Pause script":"Pausar guion","Phone:":"Teléfono:","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Press Ctrl+Enter to get the answer":"Presiona Ctrl+Enter para obtener la respuesta","Prettify the script":"Embellecer el guión","Print some text in log":"Imprime texto en el registro","Priority:":"Prioridad:",Pushover:PB,Pushsafer:FB,"Read only ID selected: %s":"ID de solo lectura seleccionado: %s",Rename:jB,"Reorder scripts in folders":"Reordenar guiones en carpetas",Repeat:zB,Restart:UB,Result:HB,"Resume execution":"Reanudar ejecución","Root folder":"Carpeta raíz","Rules description":"Crea reglas con bloques IF, THEN, ELSE","Run script":"Ejecutar guión",Sa:WB,Saturday:GB,Save:VB,"Save all":"Salvar a todos","Say It":"Say It","Say some text via sayit adapter":"Di un mensaje de texto a través del adaptador sayit",Schedule:KB,Script:YB,"Script %s was modified on disk":"El script %s fue modificado en el disco","Script is not running":"El script no se está ejecutando","Search in scripts":"Buscar en guiones","Search...":"Buscar...","Select all":"Seleccionar todo","Send email":"Enviar correo electrónico","Sends an email":"Envía un correo electrónico","Sends message via Pushsafer":"Envía mensaje a través de Pushsafer","Sends message via pushover":"Envía un mensaje a través de un pushover","Sends message via telegram":"Envía mensaje por telegrama","Sends message via whatsapp-cmb":"Envía mensaje vía whatsapp-cmb",September:JB,"Server time":"Tiempo del servidor","Set state action":"Establecer acción estatal","Set with delay":"Establecer con retraso","Shell command":"Comando de Shell","Show astronomical events":"Mostrar eventos astronómicos","Show javascript code":"Mostrar código Javascript","Show logs":"Mostrar registros","Show only paused scripts":"Mostrar solo secuencias de comandos pausadas","Show only running scripts":"Mostrar solo scripts en ejecución","Show only scripts with problems":"Mostrar solo guiones con problemas",Simulate:XB,"Some files will be rejected":"Algunos archivos serán rechazados","Sound:":"Sonido:",Stack:qB,Start:ZB,"Start script":"Iniciar guion",State:QB,"State condition":"Condición del estado","Step into function":"Entra en función","Step out from function":"Sal de la función","Stop on exception":"Deténgase en excepción",Su:eP,"Subject:":"Sujeto:",Sunday:tP,"TS description":"Crear reglas escribiendo el mecanografiado",Telegram:sP,"Text:":"Texto:",Th:oP,"The script will be stopped and must be activated manually after debugging. Continue?":"El script se detendrá y deberá activarse manualmente después de la depuración. ¿Continuar?","This is advances option. You can write your own code here and it will be executed on trigger":"Esta es la opción de avances. Puede escribir su propio código aquí y se ejecutará en el disparador",Thursday:iP,Time:nP,"Time condition":"Condición de tiempo","Title:":"Título:","To:":"A:","Trigger with value":"Activar con valor",Triggered:rP,Triggers:aP,"Triggers the on script saving or the javascript instance restart":"Activa el guardado de la secuencia de comandos o el reinicio de la instancia de JavaScript","Triggers the rule on update or change of some state":"Activa la regla de actualización o cambio de algún estado","Triggers the rule periodically or on some specific time":"Activa la regla periódicamente o en un momento específico",Tu:lP,Tuesday:cP,URL:uP,"Unknown error":"Error desconocido","Unknown error!":"¡Error desconocido!","Use generated code":"Usar código generado","User function":"Función de usuario","User:":"Usuario:",Value:dP,"Vibration:":"Vibración:",Volume:hP,We:pP,Wednesday:gP,"Whatsapp-cmb":"Whatsapp-cmb",Write:mP,"Write your own code":"Escribe tu propio código",Yes:fP,"Yet exists!":"¡Sin embargo existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Puede usar %s en la URL para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Puede usar %s en el comando para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación anterior","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Puede usar %s en el texto para mostrar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Puede usar %s en el valor para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You have to enter OpenAI API key in the configuration of javascript adapter.":"Debe ingresar la clave API de OpenAI en la configuración del adaptador de JavaScript.","[equal]":"[igual]","[greater or equal]":"[mayor o igual]","[greater]":"[mayor que]","[hysteresis]":"[histéresis]","[includes]":"[incluye]","[less or equal]":"[menor o igual]","[less]":"[menos]","[not equal]":"[no es igual]",acknowledgment:$P,all:bP,and:vP,astro:yP,at:_P,"clear running":"carrera clara",control:wP,copy:CP,cron:TP,dawn:kP,debug_help:SP,debug_label:EP,default:"defecto",dusk:IP,easy:xP,else:"demás","equal to":"igual a",every:DP,"every hour at 0 minutes":"cada hora a los 0 minutos",false:"falso","file reading has failed: %s":"la lectura del archivo ha fallado: %s","file reading was aborted":"la lectura del archivo fue abortada",filter_func:AP,filter_id:RP,filter_name:OP,filter_role:MP,filter_room:NP,"for edit or create script":"para editar o crear un nuevo script","for professionals":"para profesionales","for programmers":"para programadores",goldenHour:LP,goldenHourEnd:BP,"greater or equal":"mayor o igual","greater or equal to":"mayor o igual a","greater than":"mas grande que",help_just_check:PP,help_on_change:FP,"high priority":"alta prioridad","high-priority":"alta prioridad","highest priority":"más alta prioridad",hours:jP,includes:zP,interval:UP,"just check":"Sólo revisa","less or equal":"menor o igual","less or equal to":"menor o igual a","less than":"menos que","lower priority":"prioridad más baja","lowest priority":"prioridad más baja",magic:HP,milliseconds:WP,minutes:GP,ms:VP,nadir:KP,nauticalDawn:YP,nauticalDusk:JP,nextSunrise:XP,nextSunset:qP,night:ZP,nightEnd:QP,"no blocks found":"No se encontraron bloques","no group":"NO GRUPO",normal:eF,"normal priority":"prioridad normal","not equal to":"no igual a","not properly connected":"Este bloque no está conectado correctamente a otros bloques.",offset:tF,"on change":"en el cambio","on condition change":"con cambio de condición","on update":"en actualización",one:sF,or:oF,quiet:iF,"reset search":"restablecer la búsqueda",search:nF,seconds:rF,solarNoon:aF,"store in":"almacenar en",sunrise:lF,sunriseEnd:cF,sunset:uF,sunsetStart:dF,then:hF,"toggle value":"alternar valor",tooltip_ack:pF,tooltip_from:gF,tooltip_lc:mF,tooltip_quality:fF,tooltip_ts:$F,tooltip_user:bF,tooltip_value:vF,true:"cierto",two:yF,undefined:"indefinido",update:_F,"use seconds":"usar segundos","use trigger value":"usar valor de activación",verbose_help:wF,verbose_label:CF,when:TF,with:"con","with date":"con fecha","with offset":"con desplazamiento",wizard:kF},EF="Reconnu",IF="Actions",xF="Ajouter",DF="Tout",AF="Tout",RF="Postuler",OF="avril",MF="Demander",NF="Astronomique",LF="août",BF="Annuler",PF="proche",FF="État",jF="Conditions",zF="Console",UF="Copié",HF="décembre",WF="Défaut",GF="Retard",VF="Effacer",KF="Description",YF="Terminé",JF="Exec shell",XF="Explication",qF="Exportation",ZF="Février",QF="février",ej="Filtre",tj="Dossier",sj="Fr",oj="Vendredi",ij="ID",nj="ID1",rj="ID2",aj="Importation",lj="Exemple",cj="Instances",uj="Instructions",dj="Janvier",hj="janvier",pj="juillet",gj="juin",mj="Limite",fj="Mars",$j="Mai",bj="M e n u",vj="Message",yj="Mo",_j="Modèle",wj="Lundi",Cj="Mois",Tj="Plus",kj="Nom",Sj="novembre",Ej="OK",Ij="octobre",xj="D'accord",Dj="Pause",Aj="Pushover",Rj="Pushsafer",Oj="Renommer",Mj="Répéter",Nj="Redémarrer",Lj="Résultat",Bj="Sa",Pj="samedi",Fj="sauver",jj="Horaire",zj="Scénario",Uj="septembre",Hj="Simuler",Wj="Stack",Gj="Début",Vj="État",Kj="Su",Yj="dimanche",Jj="Télégramme",Xj="4",qj="Jeudi",Zj="Temps",Qj="Déclenché",e2="Déclencheurs",t2="Tu",s2="Mardi",o2="URL",i2="Valeur",n2="Le volume",r2="3",a2="Mercredi",l2="Écrivez",c2="Oui",u2="reconnaissance",d2="tout",h2="et",p2="astro",g2="à",m2="contrôler",f2="copie",$2="CRON",b2="Aube",v2="Il s'agit d'un mode spécial dans lequel les états et les objets ne changeront pas. Mais seules les informations sur chaque changement prévu seront affichées dans le protocole.",y2="Déboguer",_2="Crépuscule",w2="facile",C2="chaque",T2="Une fonction",k2="ID",S2="Nom",E2="Rôle",I2="Pièce",x2="Heure d'or",D2="Fin de l'heure d'or",A2="Le code ne sera exécuté que chaque fois que la condition est vraie. Par exemple. si déclenchement sur la valeur du capteur de température et que la condition est «si la température est supérieure à 20 ° C», les actions «alors» seront exécutées à chaque fois que le capteur envoie la température et qu'elle est supérieure à 20 ° C. À 21 ° C, à 22 ° C et ainsi de suite.",R2="Le code ne sera exécuté que si le résultat de la condition change. Par exemple. si le déclenchement sur la valeur du capteur de température et que la condition est «si la température est supérieure à 20 ° C», les actions «alors» seront exécutées une fois lorsque la température est supérieure à 20. La prochaine fois, les actions «alors» seront exécutées lorsque la température échoue sous 20 puis remonte au-dessus de 20.",O2="les heures",M2="comprend",N2="intervalle",L2="la magie",B2="millisecondes",P2="minutes",F2="ms",j2="nadir",z2="Aube nautique",U2="Crépuscule nautique",H2="Prochain lever de soleil",W2="Prochain coucher de soleil",G2="Nuit",V2="Fin de nuit",K2="Ordinaire",Y2="décalage",J2="une",X2="ou",q2="calmer",Z2="chercher",Q2="secondes",ez="Midi solaire",tz="lever du soleil",sz="Fin du lever du soleil",oz="le coucher du soleil",iz="Début du coucher du soleil",nz="alors",rz="Reconnaître",az="De",lz="Dernière modification",cz="Qualité",uz="Horodatage",dz="Utilisateur",hz="Valeur",pz="deux",gz="mettre à jour",mz="Ajoute une sortie de débogage au journal pour de nombreuses commandes système",fz="Sorties de journal détaillées",$z="lorsque",bz="Wizard",vz={"%s not found":"%s non trouvé","()":"()","(at %s)":"(à %s)","(optional)":"(optionnel)","-":"-",".":".","AI code generator":"Générateur de code IA",Ack:EF,Actions:IF,"Actual time of day":"Heure réelle de la journée",Add:xF,"Add new script":"Ajouter un nouveau script",All:DF,"All files will be accepted":"Tous les fichiers seront acceptés",Any:AF,"Any month":"N'importe quel mois",Apply:RF,April:OF,"Are you sure?":"Êtes-vous sûr?",Ask:MF,Astronomical:NF,"Astronomical events today":"Événements astronomiques aujourd'hui",August:LF,"Blockly description":"Création de règles par blocs graphiques","Body:":"Corps:",Cancel:BF,"Cannot delete non empty item!":"Impossible de supprimer un élément non vide!","Change layout":"Changer la disposition",'Change theme (actual "%s")':'Changer de thème (maintenant - "%s")',"Check blocks":"Vérifier les blocs","Check is not active, because javascript adapter is disabled":"La vérification n'est pas active, car l'adaptateur Javascript est désactivé","Clear search input":"Effacer la recherche","Click on this icon":"Cliquez sur cette icône",Close:PF,"Close all but current":"Ferme tout sauf courant","Collapse all":"Réduire tout","Compares current time with astronomical event":"Compare l'heure actuelle avec un événement astronomique","Compares current time with the user specific time":"Compare l'heure actuelle avec l'heure spécifique de l'utilisateur","Compares the state value with user defined value":"Compare la valeur d'état avec la valeur définie par l'utilisateur",Condition:FF,Conditions:jF,"Configuration not saved.":"Configuration non enregistrée.",Console:zF,"Control or update some state":"Contrôler ou mettre à jour un état","Control or update some state with delay":"Contrôler ou mettre à jour un état avec un délai","Convert blockly to javascript for ever.":"Convertissez instantanément en Javascript.",Copied:UF,"Copy script":"Copier le script","Copy to clipboard":"Copier dans le presse-papier","Create new":"Créer un nouveau","Create new folder":"Créer un nouveau dossier","Create new script":"Créer un nouveau script","Create or edit CRON or time wizard":"Créer ou éditer CRON ou un assistant de temps","Dark Theme":"Thème sombre","Dark style":"Style sombre",Date:"Date","Debug instance":"Instance de débogage","Debug options":"Options de débogage",December:HF,Default:WF,"Define cron...":"Définir le cron ...","Define schedule...":"Définir le calendrier ...",Delay:GF,Delete:VF,"Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script",Description:KF,"Deselect all":"Tout déselectionner","Discard changes for %s":"Ignorer les modifications pour %s",Done:YF,"Double click to write value":"Double clic pour écrire la valeur","Download as file":"Télécharger le fichier","Drop some files here or click...":"Déposer des fichiers ici ou cliquez sur ...","Duplicate name":"Nom en double","Edit script or just double click":"Modifiez le script ou double-cliquez simplement sur","Empty name is not allowed":"Le nom vide n'est pas autorisé","End search mode":"Fin du mode de recherche","Enter your question":"Entrez votre demande",Error:"Erreur","Error formatting code":"Erreur lors du formatage du code","Error was found":"Une erreur a été trouvée","Every day":"Tous les jours",Exec:JF,"Executes some shell command":"Exécute une commande shell","Existing scripts will be overwritten.":"Les scripts existants seront écrasés.","Expand all":"Développer tout","Expert mode":"Mode expert",Explanation:XF,Export:qF,"Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d'exportation","Export selected blocks":"Exporter les blocs sélectionnés",Februar:ZF,February:QF,Filter:ej,Folder:tj,Fr:sj,Friday:oj,Function:"Fonction","Function editor":"Éditeur de fonction","Function: executed":"Fonction : exécutée","Go to next line":"Aller à la ligne suivante","HTTP Call":"Appel HTTP","Hide logs":"Masquer les journaux",ID:ij,ID1:nj,ID2:rj,Import:aj,"Import blocks":"Blocs d'importation","Import error":"Erreur d'importation","Import scripts":"Importer des scripts","Insert object ID":"Insérer un identifiant d'objet",Instance:lj,"Instance is disabled":"L'instance est désactivée","Instance:":"Exemple:",Instances:cj,Instructions:uj,"Invalid CRON":"CRON invalide","It will not be possible to revert this operation.":"Il ne sera pas possible de revenir sur cette opération.","JS description":"Créer des règles en écrivant du Javascript",Januar:dj,January:hj,July:pj,June:gj,"Just check":"Vérifiez simplement","Language:":"Langue:","Learn More":"Apprendre encore plus","Light style":"Style de lumière",Limit:mj,"Local time":"Heure locale","Locate file":"Localiser le fichier","Log outputs":"Journal des sorties","Log text":"Texte du journal","Log: %s":"Log : %s","Make a HTTP get request":"Faire une requête HTTP Get","Make a pause between actions":"Faites une pause entre les actions",March:fj,"March ":"mars",May:$j,Menu:bj,Message:vj,Mo:yj,Model:_j,Monday:wj,Month:Cj,More:Tj,Name:kj,"No Chat GPT Key found":"Aucune clé GPT de chat trouvée","No active host found":"Aucun hôte actif trouvé","Nothing found":"Rien n'a été trouvé",November:Sj,OK:Ej,October:Ij,Ok:xj,"On condition change":"En cas de changement de condition","On script save or adapter start":"Lors de l'enregistrement du script ou du démarrage de l'adaptateur","On weekdays":"En semaine","Open configuration":"Configuration ouverte","Operate two states":"Opérer deux états","Operations with two states":"Opérations à deux états","Paste your blocks here":"Collez vos blocs ici",Pause:Dj,"Pause execution":"Suspendre l'exécution","Pause script":"Script de pause","Phone:":"Téléphone:","Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","Press Ctrl+Enter to get the answer":"Appuyez sur Ctrl+Entrée pour obtenir la réponse","Prettify the script":"Embellir le scénario","Print some text in log":"Imprimer du texte dans le journal","Priority:":"Priorité:",Pushover:Aj,Pushsafer:Rj,"Read only ID selected: %s":"ID en lecture seule sélectionné: %s",Rename:Oj,"Reorder scripts in folders":"Réorganiser les scripts dans des dossiers",Repeat:Mj,Restart:Nj,Result:Lj,"Resume execution":"Reprendre l'exécution","Root folder":"Dossier racine","Rules description":"Créer des règles avec des blocs IF, THEN, ELSE","Run script":"Script de lancement",Sa:Bj,Saturday:Pj,Save:Fj,"Save all":"Sauver tous","Say It":"Say It","Say some text via sayit adapter":"Dites du texte via l'adaptateur sayit",Schedule:jj,Script:zj,"Script %s was modified on disk":"Le script %s a été modifié sur le disque","Script is not running":"Le script n'est pas en cours d'exécution","Search in scripts":"Rechercher dans les scripts","Search...":"Chercher...","Select all":"Tout sélectionner","Send email":"Envoyer un e-mail","Sends an email":"Envoie un e-mail","Sends message via Pushsafer":"Envoie un message via Pushsafer","Sends message via pushover":"Envoie un message via pushover","Sends message via telegram":"Envoie un message par télégramme","Sends message via whatsapp-cmb":"Envoie un message via whatsapp-cmb",September:Uj,"Server time":"Heure du serveur","Set state action":"Définir l'action de l'état","Set with delay":"Set avec retard","Shell command":"Commande Shell","Show astronomical events":"Afficher les événements astronomiques","Show javascript code":"Afficher le code Javascript","Show logs":"Afficher les journaux","Show only paused scripts":"Afficher uniquement les scripts en pause","Show only running scripts":"Afficher uniquement les scripts en cours d'exécution","Show only scripts with problems":"Afficher uniquement les scripts avec des problèmes",Simulate:Hj,"Some files will be rejected":"Certains fichiers seront rejetés","Sound:":"Sonner:",Stack:Wj,Start:Gj,"Start script":"Lancer le script",State:Vj,"State condition":"État condition","Step into function":"Entrez dans la fonction","Step out from function":"Sortez de la fonction","Stop on exception":"Arrêt sur exception",Su:Kj,"Subject:":"Sujet:",Sunday:Yj,"TS description":"Créer des règles en écrivant des caractères dactylographiés",Telegram:Jj,"Text:":"Texte:",Th:Xj,"The script will be stopped and must be activated manually after debugging. Continue?":"Le script sera arrêté et doit être activé manuellement après le débogage. Continuez?","This is advances option. You can write your own code here and it will be executed on trigger":"C'est une option avancée. Vous pouvez écrire votre propre code ici et il sera exécuté au déclenchement",Thursday:qj,Time:Zj,"Time condition":"Condition de temps","Title:":"Titre:","To:":"À:","Trigger with value":"Déclencheur avec valeur",Triggered:Qj,Triggers:e2,"Triggers the on script saving or the javascript instance restart":"Déclenche l'enregistrement du script ou le redémarrage de l'instance javascript","Triggers the rule on update or change of some state":"Déclenche la règle sur la mise à jour ou le changement d'un état","Triggers the rule periodically or on some specific time":"Déclenche la règle périodiquement ou à une heure précise",Tu:t2,Tuesday:s2,URL:o2,"Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","Use generated code":"Utiliser le code généré","User function":"Fonction utilisateur","User:":"Utilisateur:",Value:i2,"Vibration:":"Vibration:",Volume:n2,We:r2,Wednesday:a2,"Whatsapp-cmb":"Whatsapp-cmb",Write:l2,"Write your own code":"Écrivez votre propre code",Yes:c2,"Yet exists!":"Pourtant existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans l'URL pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans la commande pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans le texte pour afficher la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans la valeur pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You have to enter OpenAI API key in the configuration of javascript adapter.":"Vous devez entrer la clé API OpenAI dans la configuration de l'adaptateur javascript.","[equal]":"[égal]","[greater or equal]":"[supérieur ou égal]","[greater]":"[plus grand]","[hysteresis]":"[hystérèse]","[includes]":"[comprend]","[less or equal]":"[inférieur ou égal]","[less]":"[moins]","[not equal]":"[inégal]",acknowledgment:u2,all:d2,and:h2,astro:p2,at:g2,"clear running":"course claire",control:m2,copy:f2,cron:$2,dawn:b2,debug_help:v2,debug_label:y2,default:"défaut",dusk:_2,easy:w2,else:"autre","equal to":"égal à",every:C2,"every hour at 0 minutes":"toutes les heures à 0 minute",false:"faux","file reading has failed: %s":"La lecture du fichier a échoué: %s","file reading was aborted":"la lecture du fichier a été abandonnée",filter_func:T2,filter_id:k2,filter_name:S2,filter_role:E2,filter_room:I2,"for edit or create script":"pour éditer ou créer un nouveau script","for professionals":"pour les professionnels","for programmers":"pour les programmeurs",goldenHour:x2,goldenHourEnd:D2,"greater or equal":"supérieur ou égal","greater or equal to":"supérieur ou égal à","greater than":"plus grand que",help_just_check:A2,help_on_change:R2,"high priority":"haute priorité","high-priority":"haute priorité","highest priority":"priorité la plus élevée",hours:O2,includes:M2,interval:N2,"just check":"Vérifiez simplement","less or equal":"inférieur ou égal","less or equal to":"inférieur ou égal à","less than":"moins que","lower priority":"priorité inférieure","lowest priority":"priorité la plus basse",magic:L2,milliseconds:B2,minutes:P2,ms:F2,nadir:j2,nauticalDawn:z2,nauticalDusk:U2,nextSunrise:H2,nextSunset:W2,night:G2,nightEnd:V2,"no blocks found":"Aucun bloc trouvé","no group":"PAS DE GROUPE",normal:K2,"normal priority":"priorité normale","not equal to":"pas égal à","not properly connected":"Ce bloc n'est pas correctement connecté à d'autres blocs.",offset:Y2,"on change":"sur le changement","on condition change":"sur changement de condition","on update":"sur mise à jour",one:J2,or:X2,quiet:q2,"reset search":"Réinitialiser la recherche",search:Z2,seconds:Q2,solarNoon:ez,"store in":"stocker dans",sunrise:tz,sunriseEnd:sz,sunset:oz,sunsetStart:iz,then:nz,"toggle value":"valeur de bascule",tooltip_ack:rz,tooltip_from:az,tooltip_lc:lz,tooltip_quality:cz,tooltip_ts:uz,tooltip_user:dz,tooltip_value:hz,true:"vrai",two:pz,undefined:"indéfini",update:gz,"use seconds":"utiliser les secondes","use trigger value":"use trigger value",verbose_help:mz,verbose_label:fz,when:$z,with:"avec","with date":"avec date","with offset":"avec offset",wizard:bz},yz="Riconosciuto",_z="Azioni",wz="Inserisci",Cz="Tutti",Tz="Qualunque",kz="Applica",Sz="aprile",Ez="Chiedere",Iz="Astronomico",xz="agosto",Dz="Annulla",Az="Vicino",Rz="Condizione",Oz="Condizioni",Mz="Console",Nz="Copiato",Lz="dicembre",Bz="Predefinito",Pz="Ritardo",Fz="Elimina",jz="Descrizione",zz="Fatto",Uz="Execshell",Hz="Spiegazione",Wz="Esportare",Gz="Februar",Vz="febbraio",Kz="Filtro",Yz="Cartella",Jz="P",Xz="Venerdì",qz="ID",Zz="ID1",Qz="ID2",eU="Importare",tU="Esempio",sU="istanze",oU="Istruzioni",iU="Januar",nU="gennaio",rU="luglio",aU="giugno",lU="Limite",cU="marzo",uU="Maggio",dU="Menu",hU="Messaggio",pU="Mo",gU="Modello",mU="Lunedi",fU="Mese",$U="Di più",bU="Nome",vU="novembre",yU="OK",_U="ottobre",wU="Ok",CU="Pausa",TU="Pushover",kU="Pushsafer",SU="Rinominare",EU="Ripetere",IU="Ricomincia",xU="Risultato",DU="Sa",AU="Sabato",RU="Salva",OU="Programma",MU="copione",NU="settembre",LU="Simulare",BU="Stack",PU="Cominciare",FU="Stato",jU="Su",zU="Domenica",UU="Telegramma",HU="4",WU="giovedi",GU="Tempo",VU="Innescato",KU="Trigger",YU="Tu",JU="martedì",XU="URL",qU="Valore",ZU="Volume",QU="3",eH="mercoledì",tH="Scrivi",sH="sì",oH="riconoscimento",iH="tutti",nH="e",rH="astro",aH="a",lH="controllo",cH="copia",uH="CRON",dH="alba",hH="Questa è una modalità speciale in cui gli stati e gli oggetti non cambieranno. Ma nel protocollo verranno visualizzate solo le informazioni su ogni modifica pianificata.",pH="Debug",gH="crepuscolo",mH="facile",fH="ogni",$H="Funzione",bH="ID",vH="Nome",yH="Ruolo",_H="Camera",wH="Ora d'oro",CH="Fine dell'ora d'oro",TH='Il codice verrà eseguito solo ogni volta che la condizione è vera. Per esempio. se si attiva il valore del sensore di temperatura e la condizione è "se la temperatura è maggiore di 20 ° C", le azioni "allora" verranno eseguite ogni volta che il sensore invia la temperatura e questa è superiore a 20 ° C. Di 21 ° C, di 22 ° C e così via.',kH='Il codice verrà eseguito solo se il risultato della condizione cambia. Per esempio. se si attiva il valore del sensore di temperatura e la condizione è "se la temperatura è maggiore di 20 ° C", le azioni "allora" verranno eseguite una volta quando la temperatura è superiore a 20. La prossima volta le azioni "allora" verranno eseguite quando la temperatura fallisce sotto 20 e poi sale di nuovo oltre 20.',SH="ore",EH="include",IH="intervallo",xH="Magia",DH="millisecondi",AH="minuti",RH="ms",OH="nadir",MH="Alba nautica",NH="Crepuscolo nautico",LH="Prossima alba",BH="Prossimo tramonto",PH="Notte",FH="Fine della notte",jH="normale",zH="compensare",UH="uno",HH="o",WH="silenzioso",GH="ricerca",VH="secondi",KH="Mezzogiorno solare",YH="Alba",JH="Fine dell'alba",XH="tramonto",qH="Inizio del tramonto",ZH="poi",QH="Riconoscere",eW="A partire dal",tW="Ultima modifica",sW="Qualità",oW="timestamp",iW="Utente",nW="Valore",rW="Due",aW="aggiornare",lW="Aggiunge l'output di debug al registro per molti comandi di sistema",cW="Output di log dettagliati",uW="quando",dW="procedura guidata",hW={"%s not found":"%s non trovato","()":"()","(at %s)":"(a %s)","(optional)":"(opzionale)","-":"-",".":".","AI code generator":"Generatore di codice AI",Ack:yz,Actions:_z,"Actual time of day":"Ora effettiva della giornata",Add:wz,"Add new script":"Aggiungi nuovo script",All:Cz,"All files will be accepted":"Tutti i file saranno accettati",Any:Tz,"Any month":"Ogni mese",Apply:kz,April:Sz,"Are you sure?":"Sei sicuro?",Ask:Ez,Astronomical:Iz,"Astronomical events today":"Eventi astronomici oggi",August:xz,"Blockly description":"Creazione di regole tramite blocchi grafici","Body:":"Corpo:",Cancel:Dz,"Cannot delete non empty item!":"Impossibile eliminare l'elemento non vuoto!","Change layout":"Cambia layout",'Change theme (actual "%s")':'Cambia tema (ora - "%s")',"Check blocks":"Controlla i blocchi","Check is not active, because javascript adapter is disabled":"Il controllo non è attivo perché l'adattatore Javascript è disabilitato","Clear search input":"Cancella input di ricerca","Click on this icon":"Clicca su questa icona",Close:Az,"Close all but current":"Chiudi tutto tranne corrente","Collapse all":"Comprimi tutto","Compares current time with astronomical event":"Confronta l'ora corrente con l'evento astronomico","Compares current time with the user specific time":"Confronta l'ora corrente con l'ora specifica dell'utente","Compares the state value with user defined value":"Confronta il valore dello stato con il valore definito dall'utente",Condition:Rz,Conditions:Oz,"Configuration not saved.":"Configurazione non salvata.",Console:Mz,"Control or update some state":"Controlla o aggiorna uno stato","Control or update some state with delay":"Controlla o aggiorna uno stato con ritardo","Convert blockly to javascript for ever.":"Converti istantaneamente a blocchi in Javascript.",Copied:Nz,"Copy script":"Copia script","Copy to clipboard":"Copia negli appunti","Create new":"Creare nuovo","Create new folder":"Crea una nuova cartella","Create new script":"Crea nuovo script","Create or edit CRON or time wizard":"Crea o modifica la procedura guidata CRON o time","Dark Theme":"Tema scuro","Dark style":"Stile scuro",Date:"Data","Debug instance":"Istanza di debug","Debug options":"Opzioni di debug",December:Lz,Default:Bz,"Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...",Delay:Pz,Delete:Fz,"Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script",Description:jz,"Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s",Done:zz,"Double click to write value":"Doppio clic per scrivere il valore","Download as file":"Scarica come file","Drop some files here or click...":"Trascina alcuni file qui o fai clic su ...","Duplicate name":"Nome duplicato","Edit script or just double click":"Modifica lo script o fai doppio clic","Empty name is not allowed":"Il nome vuoto non è consentito","End search mode":"Termina la modalità di ricerca","Enter your question":"Inserisci la tua richiesta",Error:"Errore","Error formatting code":"Errore di formattazione del codice","Error was found":"Errore trovato","Every day":"Ogni giorno",Exec:Uz,"Executes some shell command":"Esegue alcuni comandi della shell","Existing scripts will be overwritten.":"Gli script esistenti verranno sovrascritti.","Expand all":"Espandi tutto","Expert mode":"Modalità esperto",Explanation:Hz,Export:Wz,"Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati",Februar:Gz,February:Vz,Filter:Kz,Folder:Yz,Fr:Jz,Friday:Xz,Function:"Funzione","Function editor":"Editor di funzioni","Function: executed":"Funzione: eseguita","Go to next line":"Vai alla riga successiva","HTTP Call":"Chiamata HTTP","Hide logs":"Nascondi i registri",ID:qz,ID1:Zz,ID2:Qz,Import:eU,"Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l'ID oggetto",Instance:tU,"Instance is disabled":"L'istanza è disabilitata","Instance:":"Esempio:",Instances:sU,Instructions:oU,"Invalid CRON":"CRON non valido","It will not be possible to revert this operation.":"Non sarà possibile ripristinare questa operazione.","JS description":"Creare regole scrivendo Javascript",Januar:iU,January:nU,July:rU,June:aU,"Just check":"Controlla solamente","Language:":"Linguaggio:","Learn More":"Per saperne di più","Light style":"Stile leggero",Limit:lU,"Local time":"Ora locale","Locate file":"Localizza file","Log outputs":"Registra le uscite","Log text":"Testo del registro","Log: %s":"Log: %s","Make a HTTP get request":"Effettua una richiesta get HTTP","Make a pause between actions":"Fai una pausa tra le azioni",March:cU,"March ":"marzo",May:uU,Menu:dU,Message:hU,Mo:pU,Model:gU,Monday:mU,Month:fU,More:$U,Name:bU,"No Chat GPT Key found":"Nessuna chiave GPT chat trovata","No active host found":"Nessun host attivo trovato","Nothing found":"Non abbiamo trovato nulla",November:vU,OK:yU,October:_U,Ok:wU,"On condition change":"A condizione che cambino","On script save or adapter start":"Al salvataggio dello script o all'avvio dell'adattatore","On weekdays":"Nei giorni della settimana","Open configuration":"Configurazione aperta","Operate two states":"Gestisci due stati","Operations with two states":"Operazioni con due stati","Paste your blocks here":"Incolla qui i tuoi blocchi",Pause:CU,"Pause execution":"Metti in pausa l'esecuzione","Pause script":"Metti in pausa lo script","Phone:":"Telefono:","Please select object ID...":"Seleziona l'ID oggetto ...","Press Ctrl+Enter to get the answer":"Premi Ctrl+Invio per ottenere la risposta","Prettify the script":"Abbellire la sceneggiatura","Print some text in log":"Stampa del testo nel registro","Priority:":"Priorità:",Pushover:TU,Pushsafer:kU,"Read only ID selected: %s":"ID di sola lettura selezionato: %s",Rename:SU,"Reorder scripts in folders":"Riordina gli script nelle cartelle",Repeat:EU,Restart:IU,Result:xU,"Resume execution":"Riprendi esecuzione","Root folder":"Cartella root","Rules description":"Crea regole con i blocchi IF, THEN, ELSE","Run script":"Esegui script",Sa:DU,Saturday:AU,Save:RU,"Save all":"Salva tutto","Say It":"Say It","Say some text via sayit adapter":"Pronuncia del testo tramite l'adattatore sayit",Schedule:OU,Script:MU,"Script %s was modified on disk":"Lo script %s è stato modificato sul disco","Script is not running":"Lo script non è in esecuzione","Search in scripts":"Cerca negli script","Search...":"Ricerca...","Select all":"Seleziona tutto","Send email":"Invia una email","Sends an email":"Invia un'e-mail","Sends message via Pushsafer":"Invia messaggio tramite Pushsafer","Sends message via pushover":"Invia messaggio tramite pushover","Sends message via telegram":"Invia messaggio tramite telegramma","Sends message via whatsapp-cmb":"Invia messaggio tramite whatsapp-cmb",September:NU,"Server time":"Ora del server","Set state action":"Imposta l'azione dello stato","Set with delay":"Impostato con ritardo","Shell command":"Comando Shell","Show astronomical events":"Mostra eventi astronomici","Show javascript code":"Mostra codice Javascript","Show logs":"Mostra i log","Show only paused scripts":"Mostra solo script in pausa","Show only running scripts":"Mostra solo gli script in esecuzione","Show only scripts with problems":"Mostra solo script con problemi",Simulate:LU,"Some files will be rejected":"Alcuni file verranno rifiutati","Sound:":"Suono:",Stack:BU,Start:PU,"Start script":"Avvia script",State:FU,"State condition":"Condizione dello stato","Step into function":"Entra in funzione","Step out from function":"Esci dalla funzione","Stop on exception":"Ferma in caso di eccezione",Su:jU,"Subject:":"Soggetto:",Sunday:zU,"TS description":"Creare regole scrivendo dattiloscritto",Telegram:UU,"Text:":"Testo:",Th:HU,"The script will be stopped and must be activated manually after debugging. Continue?":"Lo script verrà interrotto e dovrà essere attivato manualmente dopo il debug. Continua?","This is advances option. You can write your own code here and it will be executed on trigger":"Questa è un'opzione anticipata. Puoi scrivere il tuo codice qui e verrà eseguito al trigger",Thursday:WU,Time:GU,"Time condition":"Condizione temporale","Title:":"Titolo:","To:":"Per:","Trigger with value":"Trigger con valore",Triggered:VU,Triggers:KU,"Triggers the on script saving or the javascript instance restart":"Attiva il salvataggio dello script o il riavvio dell'istanza javascript","Triggers the rule on update or change of some state":"Attiva la regola in caso di aggiornamento o modifica di uno stato","Triggers the rule periodically or on some specific time":"Attiva la regola periodicamente o in un momento specifico",Tu:YU,Tuesday:JU,URL:XU,"Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","Use generated code":"Usa il codice generato","User function":"Funzione utente","User:":"Utente:",Value:qU,"Vibration:":"Vibrazione:",Volume:ZU,We:QU,Wednesday:eH,"Whatsapp-cmb":"Whatsapp-cmb",Write:tH,"Write your own code":"Scrivi il tuo codice",Yes:sH,"Yet exists!":"Esiste ancora!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"È possibile utilizzare %s nell'URL per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"È possibile utilizzare %s nel comando per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"È possibile utilizzare %s nel testo per visualizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"È possibile utilizzare %s nel valore per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You have to enter OpenAI API key in the configuration of javascript adapter.":"Devi inserire la chiave API OpenAI nella configurazione dell'adattatore javascript.","[equal]":"[pari]","[greater or equal]":"[maggiore o uguale]","[greater]":"[maggiore]","[hysteresis]":"[isteresi]","[includes]":"[include]","[less or equal]":"[minore o uguale]","[less]":"[Di meno]","[not equal]":"[non uguale]",acknowledgment:oH,all:iH,and:nH,astro:rH,at:aH,"clear running":"chiara esecuzione",control:lH,copy:cH,cron:uH,dawn:dH,debug_help:hH,debug_label:pH,default:"predefinito",dusk:gH,easy:mH,else:"altro","equal to":"uguale a",every:fH,"every hour at 0 minutes":"ogni ora a 0 minuti",false:"falso","file reading has failed: %s":"lettura file non riuscita: %s","file reading was aborted":"la lettura del file è stata interrotta",filter_func:$H,filter_id:bH,filter_name:vH,filter_role:yH,filter_room:_H,"for edit or create script":"per modificare o creare un nuovo script","for professionals":"per i professionisti","for programmers":"per i programmatori",goldenHour:wH,goldenHourEnd:CH,"greater or equal":"maggiore o uguale","greater or equal to":"maggiore o uguale a","greater than":"più grande di",help_just_check:TH,help_on_change:kH,"high priority":"priorità alta","high-priority":"priorità alta","highest priority":"massima priorità",hours:SH,includes:EH,interval:IH,"just check":"controlla solamente","less or equal":"inferiore o uguale","less or equal to":"minore o uguale a","less than":"meno di","lower priority":"priorità inferiore","lowest priority":"priorità più bassa",magic:xH,milliseconds:DH,minutes:AH,ms:RH,nadir:OH,nauticalDawn:MH,nauticalDusk:NH,nextSunrise:LH,nextSunset:BH,night:PH,nightEnd:FH,"no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO",normal:jH,"normal priority":"priorità normale","not equal to":"non uguale a","not properly connected":"Questo blocco non è correttamente collegato ad altri blocchi.",offset:zH,"on change":"sul cambiamento","on condition change":"a cambio di condizione","on update":"in aggiornamento",one:UH,or:HH,quiet:WH,"reset search":"resetta la ricerca",search:GH,seconds:VH,solarNoon:KH,"store in":"conservare in",sunrise:YH,sunriseEnd:JH,sunset:XH,sunsetStart:qH,then:ZH,"toggle value":"alterna valore",tooltip_ack:QH,tooltip_from:eW,tooltip_lc:tW,tooltip_quality:sW,tooltip_ts:oW,tooltip_user:iW,tooltip_value:nW,true:"vero",two:rW,undefined:"non definito",update:aW,"use seconds":"usa i secondi","use trigger value":"usa il trigger",verbose_help:lW,verbose_label:cW,when:uW,with:"con","with date":"con data","with offset":"con offset",wizard:dW},pW="Erkend",gW="Acties",mW="Toevoegen",fW="Alle",$W="Ieder",bW="Solliciteer",vW="april",yW="Vragen",_W="Astronomisch",wW="augustus",CW="annuleren",TW="Dichtbij",kW="Staat",SW="Voorwaarden",EW="Troosten",IW="Gekopieerd",xW="december",DW="Standaard",AW="Vertraging",RW="Verwijder",OW="Beschrijving",MW="Gedaan",NW="Exec shell",LW="Uitleg",BW="Exporteren",PW="Februari",FW="februari",jW="Filter",zW="Map",UW="Vr",HW="vrijdag",WW="ID kaart",GW="ID1",VW="ID2",KW="Importeren",YW="Voorbeeld",JW="Instanties",XW="Instructies",qW="Januar",ZW="januari",QW="juli",eG="juni",tG="Begrenzing",sG="maart",oG="mei",iG="Menu",nG="Bericht",rG="Ma",aG="Model",lG="maandag",cG="Maand",uG="Meer",dG="Naam",hG="november",pG="OK",gG="oktober",mG="OK",fG="Pauze",$G="Pushover",bG="Duwijzer",vG="andere naam geven",yG="Herhaling",_G="Herstarten",wG="Resultaat",CG="Za",TG="zaterdag",kG="Opslaan",SG="Schema",EG="Script",IG="september",xG="Simuleren",DG="Stack",AG="Begin",RG="Staat",OG="Zo",MG="zondag",NG="Telegram",LG="4",BG="donderdag",PG="Tijd",FG="Veroorzaakt",jG="Triggers",zG="Di",UG="dinsdag",HG="URL",WG="Waarde",GG="Volume",VG="3",KG="woensdag",YG="Schrijven",JG="Ja",XG="erkenning",qG="alle",ZG="en",QG="astro",eV="Bij",tV="controle",sV="kopiëren",oV="cron",iV="dageraad",nV="Dit is een speciale modus waarin toestanden en objecten niet veranderen. Maar alleen informatie over elke geplande wijziging wordt in het protocol weergegeven.",rV="Debuggen",aV="schemer",lV="eenvoudig",cV="elke",uV="Functie",dV="ID kaart",hV="Naam",pV="Rol",gV="Kamer",mV="gouden uur",fV="Einde van gouden uur",$V='De code wordt alleen uitgevoerd als de voorwaarde waar is. Bijv. als het triggeren op de temperatuursensorwaarde en de conditie is "als de temperatuur hoger is dan 20 ° C", zullen de "dan" acties worden uitgevoerd elke keer dat de sensor de temperatuur verzendt en deze hoger is dan 20 ° C. Bij 21 ° C, bij 22 ° C enzovoort.',bV='De code wordt alleen uitgevoerd als het conditieresultaat verandert. Bijv. als de temperatuursensor wordt geactiveerd en de conditie is "als de temperatuur hoger is dan 20 ° C", worden de "dan" -acties eenmaal uitgevoerd wanneer de temperatuur hoger is dan 20. De volgende keer worden de "dan" -acties uitgevoerd wanneer de temperatuur faalt onder de 20 en stijgt dan weer boven de 20.',vV="uren",yV="omvat",_V="interval",wV="magie",CV="milliseconden",TV="minuten",kV="ms",SV="nadir",EV="Nautische dageraad",IV="Nautische schemering",xV="Volgende zonsopgang",DV="Volgende zonsondergang",AV="nacht",RV="Einde van de nacht",OV="normaal",MV="compensatie",NV="een",LV="of",BV="stil",PV="zoeken",FV="seconden",jV="Zonne-middag",zV="zonsopkomst",UV="Einde zonsopgang",HV="zonsondergang",WV="Begin van de zonsondergang",GV="vervolgens",VV="Erkennen",KV="Van",YV="Laatst gewijzigd",JV="Kwaliteit",XV="tijdstempel",qV="Gebruiker",ZV="Waarde",QV="twee",e5="bijwerken",t5="Voegt foutopsporingsuitvoer toe aan het logboek voor veel systeemopdrachten",s5="Uitgebreide log-uitgangen",o5="wanneer",i5="tovenaar",n5={"%s not found":"%s niet gevonden","()":"()","(at %s)":"(op %s)","(optional)":"(optioneel)","-":"-",".":".","AI code generator":"AI-codegenerator",Ack:pW,Actions:gW,"Actual time of day":"Werkelijke tijd van de dag",Add:mW,"Add new script":"Nieuw script toevoegen",All:fW,"All files will be accepted":"Alle bestanden worden geaccepteerd",Any:$W,"Any month":"Elke maand",Apply:bW,April:vW,"Are you sure?":"Weet je zeker dat?",Ask:yW,Astronomical:_W,"Astronomical events today":"Astronomische gebeurtenissen vandaag",August:wW,"Blockly description":"Regels maken door grafische blokken","Body:":"Lichaam:",Cancel:CW,"Cannot delete non empty item!":"Kan niet leeg item niet verwijderen!","Change layout":"Opmaak veranderen",'Change theme (actual "%s")':'Thema wijzigen (nu - "%s")',"Check blocks":"Controleer blokken","Check is not active, because javascript adapter is disabled":"Controle is niet actief, omdat Javascript-adapter is uitgeschakeld","Clear search input":"Zoekopdracht wissen","Click on this icon":"Klik op dit pictogram",Close:TW,"Close all but current":"Alles sluiten behalve huidig","Collapse all":"Alles inklappen","Compares current time with astronomical event":"Vergelijkt huidige tijd met astronomische gebeurtenis","Compares current time with the user specific time":"Vergelijkt de huidige tijd met de gebruikerspecifieke tijd","Compares the state value with user defined value":"Vergelijkt de statuswaarde met de door de gebruiker gedefinieerde waarde",Condition:kW,Conditions:SW,"Configuration not saved.":"Configuratie niet opgeslagen.",Console:EW,"Control or update some state":"Beheer of update een bepaalde staat","Control or update some state with delay":"Beheer of update een bepaalde staat met vertraging","Convert blockly to javascript for ever.":"Converteer direct blockly naar Javascript.",Copied:IW,"Copy script":"Kopieer script","Copy to clipboard":"Kopieer naar klembord","Create new":"Maak nieuw","Create new folder":"Maak een nieuwe map","Create new script":"Maak een nieuw script","Create or edit CRON or time wizard":"Creëer of bewerk CRON of tijdwizard","Dark Theme":"Donker thema","Dark style":"Donkere stijl",Date:"Datum","Debug instance":"Debug-instantie","Debug options":"Foutopsporingsopties",December:xW,Default:DW,"Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...",Delay:AW,Delete:RW,"Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen",Description:OW,"Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren",Done:MW,"Double click to write value":"Dubbelklikken om waarde te schrijven","Download as file":"Download","Drop some files here or click...":"Zet hier enkele bestanden neer of klik op ...","Duplicate name":"Dubbele naam","Edit script or just double click":"Bewerk het script of dubbelklik erop","Empty name is not allowed":"Lege naam is niet toegestaan","End search mode":"Zoekmodus beëindigen","Enter your question":"Voer uw verzoek in",Error:"Fout","Error formatting code":"Fout bij het opmaken van de code","Error was found":"Er is een fout gevonden","Every day":"Elke dag",Exec:NW,"Executes some shell command":"Voert een shell-commando uit","Existing scripts will be overwritten.":"Bestaande scripts worden overschreven.","Expand all":"Alles uitvouwen","Expert mode":"Expert modus",Explanation:LW,Export:BW,"Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken",Februar:PW,February:FW,Filter:jW,Folder:zW,Fr:UW,Friday:HW,Function:"Functie","Function editor":"Functie-editor","Function: executed":"Functie: uitgevoerd","Go to next line":"Ga naar de volgende regel","HTTP Call":"HTTP-oproep","Hide logs":"Verberg logboeken",ID:WW,ID1:GW,ID2:VW,Import:KW,"Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen",Instance:YW,"Instance is disabled":"Exemplaar is uitgeschakeld","Instance:":"Voorbeeld:",Instances:JW,Instructions:XW,"Invalid CRON":"Ongeldige CRON","It will not be possible to revert this operation.":"Het is niet mogelijk om deze bewerking terug te zetten.","JS description":"Regels maken door Javascript te schrijven",Januar:qW,January:ZW,July:QW,June:eG,"Just check":"Kijk maar","Language:":"Taal:","Learn More":"Leer meer","Light style":"Lichte stijl",Limit:tG,"Local time":"Lokale tijd","Locate file":"Vind het bestand","Log outputs":"Log uitgangen","Log text":"Log tekst","Log: %s":"Logboek: %s","Make a HTTP get request":"Maak een HTTP-ophaalverzoek","Make a pause between actions":"Pauzeer tussen acties",March:sG,"March ":"maart",May:oG,Menu:iG,Message:nG,Mo:rG,Model:aG,Monday:lG,Month:cG,More:uG,Name:dG,"No Chat GPT Key found":"Geen Chat GPT-sleutel gevonden","No active host found":"Geen actieve host gevonden","Nothing found":"Niets gevonden",November:hG,OK:pG,October:gG,Ok:mG,"On condition change":"Op voorwaarde verandering","On script save or adapter start":"Bij het opslaan van het script of het starten van de adapter","On weekdays":"Op weekdagen","Open configuration":"Configuratie openen","Operate two states":"Bedien twee toestanden:","Operations with two states":"Bewerkingen met twee toestanden","Paste your blocks here":"Plak hier je blokken",Pause:fG,"Pause execution":"Uitvoering pauzeren","Pause script":"Pauzeer script","Phone:":"Telefoon:","Please select object ID...":"Selecteer object-ID ...","Press Ctrl+Enter to get the answer":"Druk op Ctrl+Enter om het antwoord te krijgen","Prettify the script":"Maak het script mooier","Print some text in log":"Druk wat tekst af in het logboek","Priority:":"Prioriteit:",Pushover:$G,Pushsafer:bG,"Read only ID selected: %s":"Alleen-lezen ID geselecteerd: %s",Rename:vG,"Reorder scripts in folders":"Sorteer scripts in mappen opnieuw",Repeat:yG,Restart:_G,Result:wG,"Resume execution":"Uitvoering hervatten","Root folder":"Hoofdmap","Rules description":"Maak regels met IF, THEN, ELSE blokken","Run script":"Voer script uit",Sa:CG,Saturday:TG,Save:kG,"Save all":"Sla alles op","Say It":"Say It","Say some text via sayit adapter":"Zeg wat tekst via de sayit-adapter",Schedule:SG,Script:EG,"Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script is not running":"Script is niet actief","Search in scripts":"Zoeken in scripts","Search...":"Zoeken...","Select all":"Selecteer alles","Send email":"E-mail verzenden","Sends an email":"Stuurt een e-mail","Sends message via Pushsafer":"Stuurt bericht via Pushsafer","Sends message via pushover":"Stuurt bericht via pushover","Sends message via telegram":"Verzendt bericht via telegram","Sends message via whatsapp-cmb":"Stuurt bericht via whatsapp-cmb",September:IG,"Server time":"Servertijd","Set state action":"Stel statusactie in","Set with delay":"Met vertraging ingesteld","Shell command":"Shell-opdracht","Show astronomical events":"Laat astronomische gebeurtenissen zien","Show javascript code":"Javascript-code weergeven","Show logs":"Toon logboeken","Show only paused scripts":"Toon alleen onderbroken scripts","Show only running scripts":"Toon alleen actieve scripts","Show only scripts with problems":"Toon alleen scripts met problemen",Simulate:xG,"Some files will be rejected":"Sommige bestanden worden geweigerd","Sound:":"Geluid:",Stack:DG,Start:AG,"Start script":"Start het script",State:RG,"State condition":"Staat staat","Step into function":"Stap in functie","Step out from function":"Stap uit de functie","Stop on exception":"Stop bij uitzondering",Su:OG,"Subject:":"Onderwerpen:",Sunday:MG,"TS description":"Regels maken door Typescript te schrijven",Telegram:NG,"Text:":"Tekst:",Th:LG,"The script will be stopped and must be activated manually after debugging. Continue?":"Het script wordt gestopt en moet na het debuggen handmatig worden geactiveerd. Doorgaan met?","This is advances option. You can write your own code here and it will be executed on trigger":"Dit is een voorschotoptie. U kunt hier uw eigen code schrijven en deze wordt bij een trigger uitgevoerd",Thursday:BG,Time:PG,"Time condition":"Tijdsvoorwaarde","Title:":"Titel:","To:":"Naar:","Trigger with value":"Trigger met waarde",Triggered:FG,Triggers:jG,"Triggers the on script saving or the javascript instance restart":"Activeert het opslaan van het script of het opnieuw opstarten van de JavaScript-instantie","Triggers the rule on update or change of some state":"Activeert de regel voor het bijwerken of wijzigen van een bepaalde staat","Triggers the rule periodically or on some specific time":"Activeert de regel periodiek of op een specifieke tijd",Tu:zG,Tuesday:UG,URL:HG,"Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","Use generated code":"Gebruik gegenereerde code","User function":"Gebruikersfunctie","User:":"Gebruiker:",Value:WG,"Vibration:":"Trilling:",Volume:GG,We:VG,Wednesday:KG,"Whatsapp-cmb":"Whatsapp-cmb",Write:YG,"Write your own code":"Schrijf je eigen code",Yes:JG,"Yet exists!":"Toch bestaat!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"U kunt %s in de URL gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"U kunt %s in de opdracht gebruiken om de huidige triggerwaarde te gebruiken, %id om de getriggerde object-ID te gebruiken, %name om de getriggerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"U kunt %s in de tekst gebruiken om de huidige triggerwaarde weer te geven, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam weer te geven of %old om de oude triggerwaarde te gebruiken","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"U kunt %s in de waarde gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You have to enter OpenAI API key in the configuration of javascript adapter.":"U moet de OpenAI API-sleutel invoeren in de configuratie van de javascript-adapter.","[equal]":"[Gelijk]","[greater or equal]":"[groter of gelijk]","[greater]":"[groter]","[hysteresis]":"[hysterese]","[includes]":"[inclusief]","[less or equal]":"[minder of gelijk]","[less]":"[minder]","[not equal]":"[niet gelijk]",acknowledgment:XG,all:qG,and:ZG,astro:QG,at:eV,"clear running":"duidelijk rennen",control:tV,copy:sV,cron:oV,dawn:iV,debug_help:nV,debug_label:rV,default:"standaard",dusk:aV,easy:lV,else:"anders","equal to":"gelijk aan",every:cV,"every hour at 0 minutes":"elk uur op 0 minuten",false:"false","file reading has failed: %s":"bestands lezen is mislukt: %s","file reading was aborted":"bestands lezen is afgebroken",filter_func:uV,filter_id:dV,filter_name:hV,filter_role:pV,filter_room:gV,"for edit or create script":"voor bewerken of een nieuw script maken","for professionals":"voor professionals","for programmers":"voor programmeurs",goldenHour:mV,goldenHourEnd:fV,"greater or equal":"groter of gelijk","greater or equal to":"groter of gelijk aan","greater than":"groter dan",help_just_check:$V,help_on_change:bV,"high priority":"hoge prioriteit","high-priority":"hoge prioriteit","highest priority":"hoogste prioriteit",hours:vV,includes:yV,interval:_V,"just check":"kijk maar","less or equal":"minder of gelijk","less or equal to":"minder of gelijk aan","less than":"minder dan","lower priority":"lagere prioriteit","lowest priority":"laagste prioriteit",magic:wV,milliseconds:CV,minutes:TV,ms:kV,nadir:SV,nauticalDawn:EV,nauticalDusk:IV,nextSunrise:xV,nextSunset:DV,night:AV,nightEnd:RV,"no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP",normal:OV,"normal priority":"normale prioriteit","not equal to":"niet gelijk aan","not properly connected":"Dit blok is niet correct verbonden met andere blokken.",offset:MV,"on change":"bij verandering","on condition change":"op voorwaarde verandering","on update":"bij update",one:NV,or:LV,quiet:BV,"reset search":"reset zoeken",search:PV,seconds:FV,solarNoon:jV,"store in":"opslaan in",sunrise:zV,sunriseEnd:UV,sunset:HV,sunsetStart:WV,then:GV,"toggle value":"schakelwaarde",tooltip_ack:VV,tooltip_from:KV,tooltip_lc:YV,tooltip_quality:JV,tooltip_ts:XV,tooltip_user:qV,tooltip_value:ZV,true:"waar",two:QV,undefined:"ongedefinieerd",update:e5,"use seconds":"gebruik seconden","use trigger value":"triggerwaarde gebruiken",verbose_help:t5,verbose_label:s5,when:o5,with:"met","with date":"met datum","with offset":"met offset",wizard:i5},r5="Potwierdzony",a5="Działania",l5="Dodaj",c5="Wszystko",u5="Każdy",d5="Zastosuj",h5="Kwiecień",p5="Zapytać",g5="Astronomiczny",m5="Sierpień",f5="Odwołaj",$5="Zamknij",b5="Stan",v5="Warunki",y5="Konsola",_5="Skopiowano",w5="Grudzień",C5="Domyślna",T5="Opóźnienie",k5="Usuń",S5="Opis",E5="Gotowe",I5="Uruchom shell",x5="Wyjaśnienie",D5="Eksport",A5="Luty",R5="Luty",O5="Filtr",M5="Folder",N5="Pt",L5="Piątek",B5="ID",P5="ID1",F5="ID2",j5="Import",z5="Instancja",U5="Instancje",H5="Instrukcje",W5="Styczeń",G5="Styczeń",V5="Lipiec",K5="Czerwiec",Y5="Limit",J5="Marzec",X5="Maj",q5="Menu",Z5="Wiadomość",Q5="Po",e3="Model",t3="Poniedziałek",s3="Miesiąc",o3="Więcej",i3="Nazwa",n3="Listopad",r3="OK",a3="Październik",l3="Ok",c3="Pauza",u3="Pushover",d3="Pushsafer",h3="Przemianuj",p3="Powtórz",g3="Uruchom ponownie",m3="Wynik",f3="So",$3="Sobota",b3="Zapisz",v3="Harmonogram",y3="Skrypt",_3="Wrzesień",w3="Symulacja",C3="Stos",T3="Początek",k3="Stan",S3="Nd",E3="Niedziela",I3="Telegram",x3="Cz",D3="Czwartek",A3="Czas",R3="Wyzwolony",O3="Wyzwalacze",M3="Wt",N3="Wtorek",L3="URL",B3="Wartość",P3="Wolumen",F3="Śr",j3="Środa",z3="Pisać",U3="Tak",H3="potwierdzenie",W3="wszystko",G3="i",V3="Astro",K3="w",Y3="kontrola",J3="Kopiuj",X3="CRON",q3="Świt",Z3="Jest to specjalny tryb, w którym stany i obiekty się nie zmieniają. Jednak w protokole będą wyświetlane tylko informacje o każdej planowanej zmianie.",Q3="Odpluskwić",e4="Zmierzch",t4="łatwy",s4="każdy",o4="Funkcja",i4="ID",n4="Nazwa",r4="Rola",a4="Pokój",l4="Złota godzina",c4="Koniec złotej godziny",u4="Kod zostanie wykonany tylko za każdym razem, gdy warunek będzie spełniony. Na przykład. jeśli wyzwalanie na wartość czujnika temperatury i warunek to „jeśli temperatura jest wyższa niż 20 ° C”, to działania „następnie” będą wykonywane za każdym razem, gdy czujnik wyśle temperaturę i jest powyżej 20 ° C. O 21 ° C, o 22 ° C i tak dalej.",d4="Kod zostanie wykonany tylko wtedy, gdy wynik warunku ulegnie zmianie. Na przykład. jeśli wyzwalanie na wartość czujnika temperatury i warunek „jeśli temperatura jest wyższa niż 20 ° C”, to akcje „następnie” zostaną wykonane raz, gdy temperatura przekroczy 20. Następnym razem działania „następnie” zostaną wykonane, gdy temperatura nie udaje się poniżej 20, a następnie ponownie wzrasta powyżej 20.",h4="godziny",p4="zawiera",g4="interwał",m4="magia",f4="milisekund",$4="minuty",b4="ms",v4="Północ słoneczna",y4="Żeglarski świt",_4="Żeglarski zmierzch",w4="Następny wschód słońca",C4="Następny zachód słońca",T4="Noc",k4="Koniec nocy",S4="normalny",E4="przesunięcie",I4="jeden",x4="lub",D4="cisza",A4="Szukaj",R4="sekundy",O4="Południe słoneczne",M4="Wschód słońca",N4="Koniec wschodu słońca",L4="Zachód słońca",B4="Początek zachodu słońca",P4="następnie",F4="Akceptuj",j4="Od",z4="Ostatnia zmiana",U4="Jakość",H4="Znacznik czasu",W4="Użytkownik",G4="Wartość",V4="dwa",K4="aktualizacja",Y4="Dodaje wyniki debugowania do dziennika dla wielu poleceń systemowych",J4="Pełne dane wyjściowe dziennika",X4="gdy",q4="Wizard",Z4={"%s not found":"%s nie znaleziono","()":"()","(at %s)":"(w %s)","(optional)":"(opcjonalny)","-":"-",".":".","AI code generator":"Generator kodu AI",Ack:r5,Actions:a5,"Actual time of day":"Aktualna pora dnia",Add:l5,"Add new script":"Dodaj nowy skrypt",All:c5,"All files will be accepted":"Wszystkie pliki zostaną zaakceptowane",Any:u5,"Any month":"Dowolny miesiąc",Apply:d5,April:h5,"Are you sure?":"Jesteś pewny?",Ask:p5,Astronomical:g5,"Astronomical events today":"Wydarzenia astronomiczne dzisiaj",August:m5,"Blockly description":"Tworzenie reguł za pomocą bloków graficznych","Body:":"Treść:",Cancel:f5,"Cannot delete non empty item!":"Nie można usunąć niepustego elementu!","Change layout":"Zmiana układu",'Change theme (actual "%s")':"Zmień motyw (obecnie - „%s”)","Check blocks":"Sprawdź bloki","Check is not active, because javascript adapter is disabled":"Sprawdzanie nie jest aktywne, ponieważ adapter Javascript jest wyłączony","Clear search input":"Wyczyść dane wyszukiwania","Click on this icon":"Kliknij tę ikonę",Close:$5,"Close all but current":"Zamknij wszystkie oprócz bieżących","Collapse all":"Zwinąć wszystkie","Compares current time with astronomical event":"Porównuje aktualny czas z wydarzeniem astronomicznym","Compares current time with the user specific time":"Porównuje aktualny czas z czasem określonym przez użytkownika","Compares the state value with user defined value":"Porównuje wartość stanu z wartością zdefiniowaną przez użytkownika",Condition:b5,Conditions:v5,"Configuration not saved.":"Konfiguracja nie została zapisana.",Console:y5,"Control or update some state":"Kontroluj lub aktualizuj stan","Control or update some state with delay":"Kontroluj lub aktualizuj jakiś stan z opóźnieniem","Convert blockly to javascript for ever.":"Bezpowrotna konwersja Blockly na Javascript.",Copied:_5,"Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Create new":"Utwórz nowy","Create new folder":"Utwórz nowy folder","Create new script":"Utwórz nowy skrypt","Create or edit CRON or time wizard":"Utwórz lub edytuj CRON lub kreator czasu","Dark Theme":"Ciemny schemat","Dark style":"Ciemny styl",Date:"Data","Debug instance":"Debuguj instancję","Debug options":"Opcje debugowania",December:w5,Default:C5,"Define cron...":"Zdefiniuj CRON ...","Define schedule...":"Zdefiniuj harmonogram ...",Delay:T5,Delete:k5,"Delete %s":"Usuń %s ...","Delete folder":"Usuń folder","Delete script":"Usuń skrypt",Description:S5,"Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzuć zmiany dla %s",Done:E5,"Double click to write value":"Kliknij dwukrotnie, aby zapisać wartość","Download as file":"Download jako plik plik","Drop some files here or click...":"Upuść niektóre pliki tutaj lub kliknij ...","Duplicate name":"Duplikat nazwy","Edit script or just double click":"Edytuj skrypt lub po prostu kliknij dwukrotnie","Empty name is not allowed":"Pusta nazwa jest niedozwolona","End search mode":"Zakończ tryb wyszukiwania","Enter your question":"Wpisz swoją prośbę",Error:"Błąd","Error formatting code":"Błąd formatowania kodu","Error was found":"Błąd został znaleziony","Every day":"Codziennie",Exec:I5,"Executes some shell command":"Wykonuje polecenie powłoki","Existing scripts will be overwritten.":"Istniejące skrypty zostaną zastąpione.","Expand all":"Rozwiń wszystkie","Expert mode":"Tryb ekspercki",Explanation:x5,Export:D5,"Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki",Februar:A5,February:R5,Filter:O5,Folder:M5,Fr:N5,Friday:L5,Function:"Funkcja","Function editor":"Edytor funkcji","Function: executed":"Funkcja: wykonywana","Go to next line":"Przejdź do następnej linii","HTTP Call":"Połączenie HTTP","Hide logs":"Ukryj dzienniki",ID:B5,ID1:P5,ID2:F5,Import:j5,"Import blocks":"Importuj bloki","Import error":"Błąd importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu",Instance:z5,"Instance is disabled":"Instancja jest wyłączona","Instance:":"Instancja:",Instances:U5,Instructions:H5,"Invalid CRON":"Nieprawidłowy CRON","It will not be possible to revert this operation.":"Cofnięcie tej operacji nie będzie możliwe.","JS description":"Tworzenie reguł w Javascript",Januar:W5,January:G5,July:V5,June:K5,"Just check":"Po prostu sprawdź","Language:":"Język:","Learn More":"Ucz się więcej","Light style":"Lekki styl",Limit:Y5,"Local time":"Czas lokalny","Locate file":"Znajdź plik","Log outputs":"Log dziennika","Log text":"Tekst dziennika","Log: %s":"Dziennik: %s","Make a HTTP get request":"Złóż żądanie HTTP get","Make a pause between actions":"Zrób przerwę między czynnościami",March:J5,"March ":"Marzec ",May:X5,Menu:q5,Message:Z5,Mo:Q5,Model:e3,Monday:t3,Month:s3,More:o3,Name:i3,"No Chat GPT Key found":"Nie znaleziono klucza GPT czatu","No active host found":"Nie znaleziono aktywnego hosta","Nothing found":"Nic nie znaleziono",November:n3,OK:r3,October:a3,Ok:l3,"On condition change":"W przypadku zmiany warunków","On script save or adapter start":"Podczas zapisywania skryptu lub uruchamiania adaptera","On weekdays":"W dni powszednie","Open configuration":"Otwarta konfiguracja","Operate two states":"Obsługuj dwa stany","Operations with two states":"Operacje z dwoma stanami","Paste your blocks here":"Wklej tutaj swoje bloki",Pause:c3,"Pause execution":"Wstrzymaj wykonanie","Pause script":"Wstrzymaj skrypt","Phone:":"Telefon:","Please select object ID...":"Wybierz identyfikator obiektu ...","Press Ctrl+Enter to get the answer":"Naciśnij klawisze Ctrl+Enter, aby uzyskać odpowiedź","Prettify the script":"Upiększ skrypt","Print some text in log":"Wydrukuj tekst w dzienniku","Priority:":"Priorytet:",Pushover:u3,Pushsafer:d3,"Read only ID selected: %s":"Wybrano identyfikator tylko do odczytu: %s",Rename:h3,"Reorder scripts in folders":"Zmień kolejność skryptów w folderach",Repeat:p3,Restart:g3,Result:m3,"Resume execution":"Wznów wykonanie","Root folder":"Folder główny","Rules description":"Twórz reguły z blokami IF, THEN, ELSE","Run script":"Uruchom skrypt",Sa:f3,Saturday:$3,Save:b3,"Save all":"Zapisz wszystko","Say It":"Wypowiedz","Say some text via sayit adapter":"Powiedz tekst przez adapter sayit",Schedule:v3,Script:y3,"Script %s was modified on disk":"Skrypt %s został zmodyfikowany na dysku","Script is not running":"Skrypt nie działa","Search in scripts":"Szukaj w skryptach","Search...":"Szukaj...","Select all":"Zaznacz wszystko","Send email":"Wysłać email","Sends an email":"Wysyła e-mail","Sends message via Pushsafer":"Wysyła wiadomość przez Pushsafer","Sends message via pushover":"Wysyła wiadomość przez pushover","Sends message via telegram":"Wysyła wiadomość telegramem","Sends message via whatsapp-cmb":"Wysyła wiadomość przez WhatsApp-cmb",September:_3,"Server time":"Czas serwera","Set state action":"Ustaw stan działania","Set with delay":"Ustaw z opóźnieniem","Shell command":"Polecenie powłoki","Show astronomical events":"Pokaż wydarzenia astronomiczne","Show javascript code":"Pokaż kod JavaScript","Show logs":"Pokaż dzienniki","Show only paused scripts":"Pokaż tylko wstrzymane skrypty","Show only running scripts":"Pokaż tylko działające skrypty","Show only scripts with problems":"Pokaż tylko skrypty z problemami",Simulate:w3,"Some files will be rejected":"Niektóre pliki zostaną odrzucone","Sound:":"Dźwięk:",Stack:C3,Start:T3,"Start script":"Uruchom skrypt",State:k3,"State condition":"Warunek stanu","Step into function":"Wejdź do funkcji","Step out from function":"Wyjdź z funkcji","Stop on exception":"Zatrzymaj się na wyjątku",Su:S3,"Subject:":"Temat:",Sunday:E3,"TS description":"Tworzenie reguł w Typescript",Telegram:I3,"Text:":"Tekst:",Th:x3,"The script will be stopped and must be activated manually after debugging. Continue?":"Skrypt zostanie zatrzymany i należy go aktywować ręcznie po debugowaniu. Kontyntynuj?","This is advances option. You can write your own code here and it will be executed on trigger":"To jest opcja zaawansowana. Możesz tutaj napisać własny kod, który zostanie wykonany po wyzwoleniu",Thursday:D3,Time:A3,"Time condition":"Warunek czasowy","Title:":"Tytuł:","To:":"Do:","Trigger with value":"Wyzwalacz z wartością",Triggered:R3,Triggers:O3,"Triggers the on script saving or the javascript instance restart":"Uruchamia zapisywanie skryptu lub restart instancji javascript","Triggers the rule on update or change of some state":"Uruchamia regułę przy aktualizacji lub zmianie jakiegoś stanu","Triggers the rule periodically or on some specific time":"Uruchamia regułę okresowo lub w określonym czasie",Tu:M3,Tuesday:N3,URL:L3,"Unknown error":"Nieznany błąd","Unknown error!":"Nieznany błąd!","Use generated code":"Użyj wygenerowanego kodu","User function":"Funkcja użytkownika","User:":"Użytkownik:",Value:B3,"Vibration:":"Wibracja:",Volume:P3,We:F3,Wednesday:j3,"Whatsapp-cmb":"Whatsapp-cmb",Write:z3,"Write your own code":"Napisz swój własny kod",Yes:U3,"Yet exists!":"A jednak istnieje!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Możesz użyć %s w adresie URL, aby użyć bieżącej wartości wyzwalacza, %id, aby użyć wyzwalanego identyfikatora obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalacza","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Możesz użyć %s w poleceniu, aby użyć bieżącej wartości wyzwalającej, %id, aby użyć identyfikatora wyzwalanego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalającej","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Możesz użyć %s w tekście, aby wyświetlić aktualną wartość wyzwalającą, %id, aby użyć identyfikatora wyzwolonego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwolonego obiektu lub %old, aby użyć starej wartości wyzwalającej","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Możesz użyć %s w wartości, aby użyć bieżącej wartości wyzwalacza, %id, aby użyć identyfikatora wyzwalanego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalacza","You have to enter OpenAI API key in the configuration of javascript adapter.":"Należy wprowadzić klucz OpenAI API w konfiguracji adaptera javascript.","[equal]":"[równy]","[greater or equal]":"[większe lub równe]","[greater]":"[większe]","[hysteresis]":"[histereza]","[includes]":"[obejmuje]","[less or equal]":"[mniejsze lub równe]","[less]":"[mniejsze]","[not equal]":"[nie równe]",acknowledgment:H3,all:W3,and:G3,astro:V3,at:K3,"clear running":"czyste uruchomienie",control:Y3,copy:J3,cron:X3,dawn:q3,debug_help:Z3,debug_label:Q3,default:"domyślna",dusk:e4,easy:t4,else:"inaczej","equal to":"równy",every:s4,"every hour at 0 minutes":"co godzinę po 0 minutach",false:"fałsz","file reading has failed: %s":"odczyt pliku nie powiódł się: %s","file reading was aborted":"odczyt pliku został przerwany",filter_func:o4,filter_id:i4,filter_name:n4,filter_role:r4,filter_room:a4,"for edit or create script":"do edycji lub utwórz nowy skrypt","for professionals":"dla profesjonalistów","for programmers":"dla programistów",goldenHour:l4,goldenHourEnd:c4,"greater or equal":"większe lub równe","greater or equal to":"więcej lub równo","greater than":"więcej niż",help_just_check:u4,help_on_change:d4,"high priority":"wysoki priorytet","high-priority":"wysoki priorytet","highest priority":"najwyższy priorytet",hours:h4,includes:p4,interval:g4,"just check":"po prostu sprawdź","less or equal":"mniejsze lub równe","less or equal to":"mniej lub równo","less than":"mniej niż","lower priority":"niższy priorytet","lowest priority":"najniższy priorytet",magic:m4,milliseconds:f4,minutes:$4,ms:b4,nadir:v4,nauticalDawn:y4,nauticalDusk:_4,nextSunrise:w4,nextSunset:C4,night:T4,nightEnd:k4,"no blocks found":"Nie znaleziono bloków","no group":"BRAK GRUPY",normal:S4,"normal priority":"normalny priorytet","not equal to":"nie równa się","not properly connected":"Ten blok nie jest poprawnie podłączony do innych bloków.",offset:E4,"on change":"na zmianę","on condition change":"pod warunkiem zmiany warunków","on update":"po aktualizacji",one:I4,or:x4,quiet:D4,"reset search":"zresetuj wyszukiwanie",search:A4,seconds:R4,solarNoon:O4,"store in":"przechowaj w",sunrise:M4,sunriseEnd:N4,sunset:L4,sunsetStart:B4,then:P4,"toggle value":"wartość przełączania",tooltip_ack:F4,tooltip_from:j4,tooltip_lc:z4,tooltip_quality:U4,tooltip_ts:H4,tooltip_user:W4,tooltip_value:G4,true:"prawda",two:V4,undefined:"nieokreślony",update:K4,"use seconds":"użyj sekund","use trigger value":"użyj wartości wyzwalającej",verbose_help:Y4,verbose_label:J4,when:X4,with:"z","with date":"z datą","with offset":"z przesunięciem",wizard:q4},Q4="Reconhecido",e8="Ações",t8="Adicionar",s8="Todos",o8="Nenhum",i8="Aplique",n8="abril",r8="Perguntar",a8="Astronômico",l8="agosto",c8="Cancelar",u8="Fechar",d8="Doença",h8="Condições",p8="Console",g8="Copiado",m8="dezembro",f8="Predefinição",$8="Atraso",b8="Deletar",v8="Descrição",y8="Pronto",_8="Exec shell",w8="Explicação",C8="Exportação",T8="Februar",k8="fevereiro",S8="Filtro",E8="Pasta",I8="Fr",x8="Sexta-feira",D8="ID",A8="ID1",R8="ID2",O8="Importar",M8="Instância",N8="Instâncias",L8="Instruções",B8="Januar",P8="janeiro",F8="julho",j8="junho",z8="Limite",U8="março",H8="maio",W8="Menu",G8="mensagem",V8="Mo",K8="Modelo",Y8="Segunda-feira",J8="Mês",X8="Mais",q8="Nome",Z8="novembro",Q8="OK",e6="outubro",t6="Ok",s6="Pausa",o6="Pushover",i6="Pushsafer",n6="Renomear",r6="Repetir",a6="Reiniciar",l6="Resultado",c6="Sá",u6="Sábado",d6="Salve",h6="Cronograma",p6="Script",g6="setembro",m6="Simular",f6="Pilha",$6="Começar",b6="Estado",v6="Su",y6="Domingo",_6="Telegrama",w6="4",C6="Quinta-feira",T6="Tempo",k6="Provocado",S6="Gatilhos",E6="Tu",I6="terça",x6="URL",D6="Valor",A6="Volume",R6="3",O6="quarta",M6="Escrever",N6="sim",L6="reconhecimento",B6="todos",P6="e",F6="astro",j6="no",z6="ao controle",U6="copiar",H6="CRON",W6="alvorecer",G6="Este é um modo especial no qual estados e objetos não serão alterados. Mas apenas as informações sobre cada mudança planejada serão exibidas no protocolo.",V6="Depurar",K6="Crepúsculo",Y6="fácil",J6="cada",X6="Função",q6="ID",Z6="Nome",Q6="Tipo",e9="Quarto",t9="Hora dourada",s9="Fim da hora de ouro",o9='O código será executado apenas sempre que a condição for verdadeira. Por exemplo. se disparar no valor do sensor de temperatura e a condição for "se a temperatura for maior que 20 ° C", as ações "então" serão executadas toda vez que o sensor enviar a temperatura e ela estiver acima de 20 ° C. Por 21 ° C, por 22 ° C e assim por diante.',i9='O código será executado apenas se o resultado da condição mudar. Por exemplo. se disparar no valor do sensor de temperatura e a condição for "se a temperatura for maior que 20 ° C", as ações "então" serão executadas uma vez quando a temperatura estiver acima de 20. Na próxima vez, as ações "então" serão executadas quando a temperatura falha abaixo de 20 e sobe acima de 20 novamente.',n9="horas",r9="inclui",a9="intervalo",l9="Magia",c9="milissegundos",u9="minutos",d9="ms",h9="nadir",p9="Madrugada náutica",g9="Crepúsculo náutico",m9="próximo nascer do sol",f9="Próximo pôr do sol",$9="Noite",b9="Fim de noite",v9="normal",y9="Deslocamento",_9="1",w9="ou",C9="quieto",T9="procurar",k9="segundos",S9="Meio-dia solar",E9="nascer do sol",I9="Fim do nascer do sol",x9="pôr do sol",D9="Começo do pôr do sol",A9="então",R9="reconhecer",O9="de",M9="Última alteração",N9="Qualidade",L9="timestamp",B9="usuário",P9="valor",F9="dois",j9="atualizar",z9="Adiciona saída de depuração ao log para muitos comandos do sistema",U9="Saídas de log detalhadas",H9="quando",W9="Wizard",G9={"%s not found":"%s não encontrado","()":"()","(at %s)":"(em %s)","(optional)":"(opcional)","-":"-",".":".","AI code generator":"Gerador de código de IA",Ack:Q4,Actions:e8,"Actual time of day":"Hora real do dia",Add:t8,"Add new script":"Adicionar novo script",All:s8,"All files will be accepted":"Todos os arquivos serão aceitos",Any:o8,"Any month":"Qualquer mês",Apply:i8,April:n8,"Are you sure?":"Você tem certeza?",Ask:r8,Astronomical:a8,"Astronomical events today":"Eventos astronômicos hoje",August:l8,"Blockly description":"Criando regras por blocos gráficos","Body:":"Corpo:",Cancel:c8,"Cannot delete non empty item!":"Não pode ser deletar, porque não está vazio!","Change layout":"Alterar layout",'Change theme (actual "%s")':'Alterar tema (agora - "%s")',"Check blocks":"Verificar blocos","Check is not active, because javascript adapter is disabled":"A verificação de sintaxe não está ativa porque o adaptador javascript não está rodando.","Clear search input":"Limpar entrada de pesquisa","Click on this icon":"Clique neste ícone",Close:u8,"Close all but current":"Fechar tudo, menos atual","Collapse all":"Recolher todos","Compares current time with astronomical event":"Compara o tempo atual com o evento astronômico","Compares current time with the user specific time":"Compara a hora atual com a hora específica do usuário","Compares the state value with user defined value":"Compara o valor do estado com o valor definido pelo usuário",Condition:d8,Conditions:h8,"Configuration not saved.":"Configuração não esta salva.",Console:p8,"Control or update some state":"Controlar ou atualizar algum estado","Control or update some state with delay":"Controlar ou atualizar algum estado com atraso","Convert blockly to javascript for ever.":"Converter Blockly em Javascript permanentemente.",Copied:g8,"Copy script":"Copiar script","Copy to clipboard":"Copiar para área de transferência","Create new":"Crie um novo","Create new folder":"Criar nova pasta","Create new script":"Criar novo script","Create or edit CRON or time wizard":"Criar ou editar o assistente cron ou o assistente de horário","Dark Theme":"Layout escuro","Dark style":"Estilo escuro",Date:"Encontro","Debug instance":"Instância de depuração","Debug options":"Opções de depuração",December:m8,Default:f8,"Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...",Delay:$8,Delete:b8,"Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script",Description:v8,"Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar alterações para %s",Done:y8,"Double click to write value":"Clique duas vezes para escrever o valor","Download as file":"Baixar como arquivo","Drop some files here or click...":"Solte alguns arquivos aqui ou clique em...","Duplicate name":"Nome duplicado","Edit script or just double click":"Edite o script ou clique duas vezes","Empty name is not allowed":"Nome vazio não é permitido","End search mode":"Finalizar modo de pesquisa","Enter your question":"Digite sua solicitação",Error:"Erro","Error formatting code":"Erro de formatação de código","Error was found":"Erro foi encontrado","Every day":"Todos os dias",Exec:_8,"Executes some shell command":"Executa algum comando shell","Existing scripts will be overwritten.":"Os scripts existentes serão substituídos.","Expand all":"Expandir todos","Expert mode":"Modo de especialista",Explanation:w8,Export:C8,"Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados",Februar:T8,February:k8,Filter:S8,Folder:E8,Fr:I8,Friday:x8,Function:"Função","Function editor":"Editor de funções","Function: executed":"Função: executado","Go to next line":"Vá para a próxima linha","HTTP Call":"Chamada HTTP","Hide logs":"Ocultar logs",ID:D8,ID1:A8,ID2:R8,Import:O8,"Import blocks":"Importar blocos","Import error":"Erro de importação","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto",Instance:M8,"Instance is disabled":"Instância está desativada","Instance:":"Instância:",Instances:N8,Instructions:L8,"Invalid CRON":"CRON inválido","It will not be possible to revert this operation.":"Não será possível reverter esta operação.","JS description":"Criando regras escrevendo Javascript",Januar:B8,January:P8,July:F8,June:j8,"Just check":"Apenas verifique","Language:":"Língua:","Learn More":"Aprender mais","Light style":"Estilo claro",Limit:z8,"Local time":"Hora local","Locate file":"Localize o arquivo","Log outputs":"Saídas de log","Log text":"Texto de registro","Log: %s":"Log: %s","Make a HTTP get request":"Faça uma solicitação HTTP get","Make a pause between actions":"Faça uma pausa entre as ações",March:U8,"March ":"Março",May:H8,Menu:W8,Message:G8,Mo:V8,Model:K8,Monday:Y8,Month:J8,More:X8,Name:q8,"No Chat GPT Key found":"Nenhuma chave GPT de bate-papo encontrada","No active host found":"Nenhum host ativo encontrado","Nothing found":"Nada encontrado",November:Z8,OK:Q8,October:e6,Ok:t6,"On condition change":"Na mudança de condição","On script save or adapter start":"Ao salvar o script ou iniciar o adaptador","On weekdays":"Nos dias úteis","Open configuration":"Configuração aberta","Operate two states":"Operar dois estados","Operations with two states":"Operações com dois estados","Paste your blocks here":"Cole seus blocos aqui",Pause:s6,"Pause execution":"Pausar a execução","Pause script":"Pausar script","Phone:":"Telefone:","Please select object ID...":"Selecione o ID do objeto...","Press Ctrl+Enter to get the answer":"Pressione Ctrl+Enter para obter a resposta","Prettify the script":"Embeleze o roteiro","Print some text in log":"Imprimir algum texto no log","Priority:":"Prioridade:",Pushover:o6,Pushsafer:i6,"Read only ID selected: %s":"ID somente leitura selecionada: %s",Rename:n6,"Reorder scripts in folders":"Reordenar scripts em pastas",Repeat:r6,Restart:a6,Result:l6,"Resume execution":"Retomar execução","Root folder":"Pasta principal","Rules description":"Crie regras com blocos IF, THEN, ELSE","Run script":"Executar script",Sa:c6,Saturday:u6,Save:d6,"Save all":"Salvar tudo","Say It":"Say It","Say some text via sayit adapter":"Diga algum texto através do adaptador sayit",Schedule:h6,Script:p6,"Script %s was modified on disk":'O script "%s" foi modificado no disco rígido',"Script is not running":"Script não está sendo executado","Search in scripts":"Pesquisa em scripts","Search...":"Procurar...","Select all":"Selecionar tudo","Send email":"Enviar email","Sends an email":"Envia um email","Sends message via Pushsafer":"Envia mensagem via Pushsafer","Sends message via pushover":"Envia mensagem via pushover","Sends message via telegram":"Envia mensagem via telegrama","Sends message via whatsapp-cmb":"Envia mensagem via whatsapp-cmb",September:g6,"Server time":"Tempo de servidor","Set state action":"Definir ação de estado","Set with delay":"Definido com atraso","Shell command":"Comando shell","Show astronomical events":"Mostrar eventos astronômicos","Show javascript code":"Mostrar código Javascript","Show logs":"Mostrar logs","Show only paused scripts":"Mostrar apenas scripts pausados","Show only running scripts":"Mostrar apenas scripts em execução","Show only scripts with problems":"Mostrar apenas scripts com problemas",Simulate:m6,"Some files will be rejected":"Alguns arquivos serão rejeitados","Sound:":"Som:",Stack:f6,Start:$6,"Start script":"Iniciar script",State:b6,"State condition":"Condição de estado","Step into function":"Entre na função","Step out from function":"Saia da função","Stop on exception":"Pare na exceção",Su:v6,"Subject:":"Sujeito:",Sunday:y6,"TS description":"Criando regras escrevendo Typecript",Telegram:_6,"Text:":"Texto:",Th:w6,"The script will be stopped and must be activated manually after debugging. Continue?":"O script será interrompido e deve ser ativado manualmente após a depuração. Continuar?","This is advances option. You can write your own code here and it will be executed on trigger":"Esta é a opção de avanços. Você pode escrever seu próprio código aqui e ele será executado no gatilho",Thursday:C6,Time:T6,"Time condition":"Condição de tempo","Title:":"Título:","To:":"Para:","Trigger with value":"Trigger com valor",Triggered:k6,Triggers:S6,"Triggers the on script saving or the javascript instance restart":"Aciona o salvamento do script ou a reinicialização da instância javascript","Triggers the rule on update or change of some state":"Aciona a regra na atualização ou mudança de algum estado","Triggers the rule periodically or on some specific time":"Aciona a regra periodicamente ou em algum momento específico",Tu:E6,Tuesday:I6,URL:x6,"Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","Use generated code":"Usar código gerado","User function":"Função do usuário","User:":"Do utilizador:",Value:D6,"Vibration:":"Vibração:",Volume:A6,We:R6,Wednesday:O6,"Whatsapp-cmb":"Whatsapp-cmb",Write:M6,"Write your own code":"Escreva seu próprio código",Yes:N6,"Yet exists!":"Ainda existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Você pode usar %s na URL para usar o valor do gatilho atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do gatilho antigo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Você pode usar %s no comando para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Você pode usar %s no texto para exibir o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Você pode usar %s no valor para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You have to enter OpenAI API key in the configuration of javascript adapter.":"Você deve inserir a chave da API OpenAI na configuração do adaptador javascript.","[equal]":"[igual]","[greater or equal]":"[maior ou igual]","[greater]":"[maior]","[hysteresis]":"[histerese]","[includes]":"[inclui]","[less or equal]":"[menor ou igual]","[less]":"[menos]","[not equal]":"[não igual]",acknowledgment:L6,all:B6,and:P6,astro:F6,at:j6,"clear running":"corrida limpa",control:z6,copy:U6,cron:H6,dawn:W6,debug_help:G6,debug_label:V6,default:"predefinição",dusk:K6,easy:Y6,else:"outro","equal to":"igual a",every:J6,"every hour at 0 minutes":"a cada hora em 0 minutos",false:"falso","file reading has failed: %s":"a leitura do arquivo falhou: %s","file reading was aborted":"a leitura do arquivo foi abortada",filter_func:X6,filter_id:q6,filter_name:Z6,filter_role:Q6,filter_room:e9,"for edit or create script":"para editar ou criar um novo script","for professionals":"para profissionais","for programmers":"para programadores",goldenHour:t9,goldenHourEnd:s9,"greater or equal":"maior ou igual","greater or equal to":"maior ou igual a","greater than":"Maior que",help_just_check:o9,help_on_change:i9,"high priority":"prioridade máxima","high-priority":"prioridade máxima","highest priority":"Prioridade máxima",hours:n9,includes:r9,interval:a9,"just check":"Apenas verifique","less or equal":"menor ou igual","less or equal to":"menor ou igual a","less than":"Menor que","lower priority":"prioridade mais baixa","lowest priority":"prioridade mais baixa",magic:l9,milliseconds:c9,minutes:u9,ms:d9,nadir:h9,nauticalDawn:p9,nauticalDusk:g9,nextSunrise:m9,nextSunset:f9,night:$9,nightEnd:b9,"no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO",normal:v9,"normal priority":"prioridade normal","not equal to":"não é igual a","not properly connected":"Este bloco não está conectado corretamente com outros blocos.",offset:y9,"on change":"em mudança","on condition change":"na mudança de condição","on update":"em atualização",one:_9,or:w9,quiet:C9,"reset search":"redefinir pesquisa",search:T9,seconds:k9,solarNoon:S9,"store in":"armazenar em",sunrise:E9,sunriseEnd:I9,sunset:x9,sunsetStart:D9,then:A9,"toggle value":"valor de alternância",tooltip_ack:R9,tooltip_from:O9,tooltip_lc:M9,tooltip_quality:N9,tooltip_ts:L9,tooltip_user:B9,tooltip_value:P9,true:"verdade",two:F9,undefined:"Indefinido",update:j9,"use seconds":"use segundos","use trigger value":"use o gatilho",verbose_help:z9,verbose_label:U9,when:H9,with:"com","with date":"com data","with offset":"com deslocamento",wizard:W9},V9="Подтверждение",K9="Действия",Y9="Добавить",J9="Все",X9="Любая",q9="Применить",Z9="Апрель",Q9="Спросить",eK="Aстрономический",tK="Август",sK="Отмена",oK="Закрыть",iK="Условие",nK="Условия",rK="Приставка",aK="Скопировано",lK="Декабрь",cK="Дефолт",uK="Задержка",dK="Удалить",hK="Описание",pK="Готово",gK="Исполнить shell",mK="Объяснение",fK="Экспорт",$K="Февраль",bK="Февраль",vK="Фильтр",yK="Папка",_K="Пт",wK="пятница",CK="ID",TK="ID1",kK="ID2",SK="Импорт",EK="Экземпляр",IK="Экземпляры",xK="Инструкции",DK="Январь",AK="Январь",RK="Июль",OK="Июнь",MK="Предел",NK="Март",LK="Май",BK="Меню",PK="Сообщение",FK="Пн",jK="Модель",zK="понедельник",UK="Месяц",HK="Более",WK="Имя",GK="Ноябрь",VK="Ок",KK="Октябрь",YK="Ok",JK="Пауза",XK="Pushover",qK="Pushsafer",ZK="Переименовать",QK="Повторение",eY="Перезапустить",tY="Результат",sY="Сб",oY="суббота",iY="Сохранить",nY="Расписание",rY="скрипт",aY="Сентябрь",lY="Симулировать",cY="Stack",uY="Начинать",dY="Состояние",hY="Вс",pY="Воскресенье",gY="Telegram",mY="Чт",fY="Четверг",$Y="Время",bY="Срабатывает",vY="Триггеры",yY="Вт",_Y="вторник",wY="URL",CY="Значение",TY="Громкость",kY="Ср",SY="среда",EY="Напишите",IY="Да",xY="подтверждение",DY="все",AY="и",RY="Астро",OY="в",MY="контроль",NY="копия",LY="CRON",BY="Рассвет",PY="Это особый режим, в котором состояния и объекты не будут меняться. Но в протоколе будет отображаться только информация о каждом планируемом изменении.",FY="Отлаживать",jY="Сумерки",zY="легкий",UY="каждые(ый)",HY="Функция",WY="ID",GY="Название",VY="Роль",KY="Комната",YY="Золотой час",JY="Конец золотого часа",XY="Код будет выполняться только каждый раз, когда условие истинно. Например. при срабатывании по значению датчика температуры и условию «если температура выше 20°C», действия «затем» будут выполняться каждый раз, когда датчик отправляет значение температуры, и оно превышает 20°C. На 21°С, на 22°С и так далее.",qY="Код будет выполнен только в случае изменения результата условия. Например, при срабатывании по значению датчика температуры и условию «если температура больше 20°C», действия «затем» будут выполнены один раз, когда температура превысит 20°C. В следующий раз действия «затем» будут выполнены, когда температура опустится ниже 20°C, а затем снова поднимается выше 20°C.",ZY="час(ов)",QY="содержит",eJ="интервал",tJ="магия",sJ="миллисекунды",oJ="минут(у)",iJ="мс",nJ="Надир",rJ="Морской рассвет",aJ="Морские сумерки",lJ="Следующий восход",cJ="Следующий закат",uJ="Ночь",dJ="Конец ночи",hJ="нормальный",pJ="сдвиг",gJ="один",mJ="или",fJ="тихий",$J="поиск",bJ="секунд",vJ="Солнечный полдень",yJ="Восход солнца",_J="Конец восхода",wJ="Закат солнца",CJ="Начало заката",TJ="тогда",kJ="Подтверждено",SJ="От",EJ="Последнее изменение",IJ="Качественный",xJ="Время",DJ="Пользователь",AJ="Значение",RJ="два",OJ="обновить",MJ="Добавляет вывод отладки в журнал для многих системных команд.",NJ="Подробный протокол",LJ="если",BJ="Мастер",PJ={"%s not found":"%s не найден","()":"()","(at %s)":"(в %s)","(optional)":"(необязательный)","-":"-",".":".","AI code generator":"ИИ Генератор кода",Ack:V9,Actions:K9,"Actual time of day":"Фактическое время суток",Add:Y9,"Add new script":"Добавить новый скрипт",All:J9,"All files will be accepted":"Все файлы будут приняты",Any:X9,"Any month":"В любой месяц",Apply:q9,April:Z9,"Are you sure?":"Вы уверены?",Ask:Q9,Astronomical:eK,"Astronomical events today":"Астрономические события сегодня",August:tK,"Blockly description":"Создание правил графическими блоками","Body:":"Тело:",Cancel:sK,"Cannot delete non empty item!":"Не удается удалить непустой элемент!","Change layout":"Изменить макет",'Change theme (actual "%s")':'Сменить тему (сейчас - "%s")',"Check blocks":"Проверить блоки","Check is not active, because javascript adapter is disabled":"Проверка неактивна, потому что адаптер Javascript отключен","Clear search input":"Очистить ввод","Click on this icon":"Нажмите на этот значок",Close:oK,"Close all but current":"Закрыть все кроме текущего","Collapse all":"Свернуть все","Compares current time with astronomical event":"Сравнивает текущее время с астрономическим событием","Compares current time with the user specific time":"Сравнивает текущее время с конкретным временем пользователя","Compares the state value with user defined value":"Сравнивает значение состояния с пользовательским значением",Condition:iK,Conditions:nK,"Configuration not saved.":"Конфигурация не сохранена.",Console:rK,"Control or update some state":"Контролировать или обновлять какое-то состояние","Control or update some state with delay":"Контролировать или обновлять какое-либо состояние с задержкой","Convert blockly to javascript for ever.":"Преобразовать blockly в Javascript навсегда.",Copied:aK,"Copy script":"Скопировать скрипт","Copy to clipboard":"Скопировать в буфер обмена","Create new":"Создать новый","Create new folder":"Создать новую папку","Create new script":"Создать новый скрипт","Create or edit CRON or time wizard":"Создание или редактирование CRON или мастера времени","Dark Theme":"Тёмная тема","Dark style":"Темный стиль",Date:"Дата","Debug instance":"Экземпляр отладки","Debug options":"Варианты отладки",December:lK,Default:cK,"Define cron...":"Задать правило ...","Define schedule...":"Задать расписание...",Delay:uK,Delete:dK,"Delete %s":"Удалить %s...","Delete folder":"Удалить папку","Delete script":"Удалить скрипт",Description:hK,"Deselect all":"Снять выбор со всех","Discard changes for %s":"Отменить изменения для %s",Done:pK,"Double click to write value":"Двойной щелчок для записи значения","Download as file":"Скачать как файл","Drop some files here or click...":"Перетыщите сюда файлы или нажмите ...","Duplicate name":"Повторяющееся имя","Edit script or just double click":"Редактировать скрипт или просто дважды щелкнуть","Empty name is not allowed":"Пустое имя не допускается","End search mode":"Закончить поиск","Enter your question":"Введи свою просьбу",Error:"Ошибка","Error formatting code":"Ошибка форматирования кода","Error was found":"Ошибка была найдена","Every day":"Каждый день",Exec:gK,"Executes some shell command":"Выполняет некоторую команду оболочки","Existing scripts will be overwritten.":"Существующие скрипты будут перезаписаны.","Expand all":"Открыть все","Expert mode":"Экспертный режим",Explanation:mK,Export:fK,"Export all scripts":"Экспорт всех скриптов","Export blocks":"Экспортировать блоки","Export selected blocks":"Экспортировать выбранные блоки",Februar:$K,February:bK,Filter:vK,Folder:yK,Fr:_K,Friday:wK,Function:"Функция","Function editor":"Редактор функции","Function: executed":"Функция: выполнено","Go to next line":"Перейти к следующей строке","HTTP Call":"HTTP-вызов","Hide logs":"Скрыть журналы",ID:CK,ID1:TK,ID2:kK,Import:SK,"Import blocks":"Импортировать блоки","Import error":"Ошибка импорта","Import scripts":"Импорт скриптов","Insert object ID":"Вставить ID объекта",Instance:EK,"Instance is disabled":"Экземпляр отключен","Instance:":"Пример:",Instances:IK,Instructions:xK,"Invalid CRON":"Неправильный CRON","It will not be possible to revert this operation.":"Невозможно вернуть эту операцию.","JS description":"Создание правил путём написания Javascript",Januar:DK,January:AK,July:RK,June:OK,"Just check":"Просто проверить","Language:":"Язык:","Learn More":"Узнать больше","Light style":"Светлый стиль",Limit:MK,"Local time":"Местное время","Locate file":"Показать файл в дереве","Log outputs":"Журнал","Log text":"Текст журнала","Log: %s":"Журнал: %s","Make a HTTP get request":"Сделайте HTTP-запрос на получение","Make a pause between actions":"Сделайте паузу между действиями",March:NK,"March ":"Март ",May:LK,Menu:BK,Message:PK,Mo:FK,Model:jK,Monday:zK,Month:UK,More:HK,Name:WK,"No Chat GPT Key found":"Ключ GPT для чата не найден","No active host found":"Активный host не найден","Nothing found":"Ничего не найдено",November:GK,OK:VK,October:KK,Ok:YK,"On condition change":"При изменении реузльтата условий","On script save or adapter start":"При сохранении скрипта или запуске адаптера","On weekdays":"По дням недели","Open configuration":"Открыть настройки","Operate two states":"Операции над двумя состояниями","Operations with two states":"Операции с двумя состояниями","Paste your blocks here":"Вставьте свои блоки сюда",Pause:JK,"Pause execution":"Приостановить выполнение","Pause script":"Остановить скрипт","Phone:":"Телефон:","Please select object ID...":"Пожалуйста, выберите ID объекта ...","Press Ctrl+Enter to get the answer":"Нажмите Ctrl+Enter, чтобы получить ответ","Prettify the script":"Украсьте сценарий","Print some text in log":"Напечатать текст в журнале","Priority:":"Приоритет:",Pushover:XK,Pushsafer:qK,"Read only ID selected: %s":"Выбран идентификатор только для чтения: %s",Rename:ZK,"Reorder scripts in folders":"Сортировать скрипты в папках",Repeat:QK,Restart:eY,Result:tY,"Resume execution":"Возобновить выполнение","Root folder":"Корневая папка","Rules description":"Создавайте правила с блоками ЕСЛИ, ТО, ИНАЧЕ","Run script":"Запустить скрипт",Sa:sY,Saturday:oY,Save:iY,"Save all":"Сохранить все","Say It":"Say It","Say some text via sayit adapter":"Произнесите текст через адаптер Sayit",Schedule:nY,Script:rY,"Script %s was modified on disk":'Скрипт "%s" был изменен на диске',"Script is not running":"Сценарий не запущен","Search in scripts":"Поиск в скриптах","Search...":"Поиск...","Select all":"Выбрать все","Send email":"Отправить email","Sends an email":"Отправляет электронное письмо","Sends message via Pushsafer":"Отправляет сообщение через Pushsafer","Sends message via pushover":"Отправляет сообщение через пустышку","Sends message via telegram":"Отправляет сообщение в телеграмме","Sends message via whatsapp-cmb":"Отправляет сообщение через whatsapp-cmb",September:aY,"Server time":"Время сервера","Set state action":"Установить состояние","Set with delay":"Установить с задержкой","Shell command":"Команда оболочки","Show astronomical events":"Показать астрономические события","Show javascript code":"Показать код Javascript","Show logs":"Показать журналы","Show only paused scripts":"Показывать только приостановленные сценарии","Show only running scripts":"Показывать только запущенные скрипты","Show only scripts with problems":"Показывать только скрипты с проблемами",Simulate:lY,"Some files will be rejected":"Некоторые файлы будут отклонены","Sound:":"Звук:",Stack:cY,Start:uY,"Start script":"Старт скрипта",State:dY,"State condition":"Сравнение состояния","Step into function":"Шаг в функционирование","Step out from function":"Выйти из функции","Stop on exception":"Остановить при исключении",Su:hY,"Subject:":"Предмет:",Sunday:pY,"TS description":"Создание правил путём написания Typescript",Telegram:gY,"Text:":"Текст:",Th:mY,"The script will be stopped and must be activated manually after debugging. Continue?":"Cкрипт будет остановлен и должен быть активирован вручную после отладки. Продолжать?","This is advances option. You can write your own code here and it will be executed on trigger":"Это расширеный вариант. Вы можете написать здесь свой код и он будет выполняться по триггеру",Thursday:fY,Time:$Y,"Time condition":"Условие времени","Title:":"Заголовок:","To:":"К:","Trigger with value":"Триггер со значением",Triggered:bY,Triggers:vY,"Triggers the on script saving or the javascript instance restart":"Запускает при сохранении скрипта или перезапуске экземпляра javascript","Triggers the rule on update or change of some state":"Запускает правило при обновлении или изменении какого-либо состояния","Triggers the rule periodically or on some specific time":"Срабатывает правило периодически или в определенное время",Tu:yY,Tuesday:_Y,URL:wY,"Unknown error":"Неизвестная ошибка","Unknown error!":"Неизвестная ошибка!","Use generated code":"Использовать сгенерированный код","User function":"Функция пользователя","User:":"Пользователь:",Value:CY,"Vibration:":"Вибрация:",Volume:TY,We:kY,Wednesday:SY,"Whatsapp-cmb":"Whatsapp-cmb",Write:EY,"Write your own code":"Напишите свой код",Yes:IY,"Yet exists!":"Имя уже существует!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Вы можете использовать %s в URL-адресе, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор инициированного объекта, %name, чтобы показать имя идентификатора инициированного объекта, или %old, чтобы использовать старое значение триггера.","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Вы можете использовать %s в команде, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор сработавшего объекта, %name, чтобы показать имя сработавшего идентификатора объекта, или %old, чтобы использовать старое значение триггера.","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Вы можете использовать %s в тексте для отображения текущего значения триггера, %id для использования идентификатора сработавшего объекта, %name для отображения имени сработавшего идентификатора объекта или %old для использования старого значения триггера.","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Вы можете использовать %s в значении, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор инициированного объекта, %name, чтобы показать имя идентификатора инициированного объекта, или %old, чтобы использовать старое значение триггера.","You have to enter OpenAI API key in the configuration of javascript adapter.":"Вы должны ввести ключ OpenAI API в конфигурации адаптера javascript.","[equal]":"[равно]","[greater or equal]":"[больше или равно]","[greater]":"[больше]","[hysteresis]":"[гистерезис]","[includes]":"[содержит]","[less or equal]":"[меньше или равно]","[less]":"[меньше]","[not equal]":"[не равно]",acknowledgment:xY,all:DY,and:AY,astro:RY,at:OY,"clear running":"остановить уже бегущие",control:MY,copy:NY,cron:LY,dawn:BY,debug_help:PY,debug_label:FY,default:"дефолт",dusk:jY,easy:zY,else:"иначе","equal to":"равно",every:UY,"every hour at 0 minutes":"каждый час через 0 минут",false:"false","file reading has failed: %s":"Ошибка чтения файла: %s","file reading was aborted":"Чтение файла было прервано",filter_func:HY,filter_id:WY,filter_name:GY,filter_role:VY,filter_room:KY,"for edit or create script":"для редактирования или создайте новый скрипт","for professionals":"для профессионалов","for programmers":"для программистов",goldenHour:YY,goldenHourEnd:JY,"greater or equal":"больше или равно","greater or equal to":"больше или равно","greater than":"больше чем",help_just_check:XY,help_on_change:qY,"high priority":"высокий приоритет","high-priority":"высокий-приоритет","highest priority":"высший приоритет",hours:ZY,includes:QY,interval:eJ,"just check":"просто проверить","less or equal":"меньше или равно","less or equal to":"меньше или равно","less than":"меньше, чем","lower priority":"более низкий приоритет","lowest priority":"самый низкий приоритет",magic:tJ,milliseconds:sJ,minutes:oJ,ms:iJ,nadir:nJ,nauticalDawn:rJ,nauticalDusk:aJ,nextSunrise:lJ,nextSunset:cJ,night:uJ,nightEnd:dJ,"no blocks found":"Блоков нет","no group":"Нет группы",normal:hJ,"normal priority":"нормальный приоритет","not equal to":"не равно","not properly connected":"Этот блок неправильно соединён или не соединён с другими блоками.",offset:pJ,"on change":"по изменению","on condition change":"при изменении результата условия","on update":"при обновлении",one:gJ,or:mJ,quiet:fJ,"reset search":"Cбросить поиск",search:$J,seconds:bJ,solarNoon:vJ,"store in":"сохранить в",sunrise:yJ,sunriseEnd:_J,sunset:wJ,sunsetStart:CJ,then:TJ,"toggle value":"инвертировать текщее значение",tooltip_ack:kJ,tooltip_from:SJ,tooltip_lc:EJ,tooltip_quality:IJ,tooltip_ts:xJ,tooltip_user:DJ,tooltip_value:AJ,true:"true",two:RJ,undefined:"неопределенный",update:OJ,"use seconds":"использовать секунды","use trigger value":"использовать значение триггера",verbose_help:MJ,verbose_label:NJ,when:LJ,with:"с","with date":"с датой","with offset":"со сдвигом",wizard:BJ},FJ="Визнано",jJ="Дії",zJ="додати",UJ="все",HJ="Будь-який",WJ="Застосувати",GJ="квітень",VJ="Запитуйте",KJ="Астрономічний",YJ="серпень",JJ="Скасувати",XJ="Закрити",qJ="Хвороба",ZJ="Умови",QJ="Консоль",e7="Скопійовано",t7="Грудень",s7="За замовчуванням",o7="Затримка",i7="Видалити",n7="опис",r7="Готово",a7="Виконавча оболонка",l7="Пояснення",c7="Експорт",u7="Лютий",d7="Лютий",h7="фільтр",p7="Папка",g7="О",m7="П'ятниця",f7="ID",$7="ID1",b7="ID2",v7="Імпорт",y7="Екземпляр",_7="Примірники",w7="Інструкції",C7="січень",T7="січня",k7="липень",S7="червень",E7="Ліміт",I7="березень",x7="Може",D7="Меню",A7="повідомлення",R7="пн",O7="Модель",M7="понеділок",N7="місяць",L7="Більше",B7="Ім'я",P7="Листопад",F7="в порядку",j7="жовтень",z7="В порядку",U7="Пауза",H7="Pushover",W7="Pushsafer",G7="Перейменувати",V7="Повторіть",K7="Перезапустіть",Y7="Результат",J7="Sa",X7="Субота",q7="зберегти",Z7="розклад",Q7="Сценарій",eX="Вересень",tX="Симулювати",sX="Стек",oX="старт",iX="Держава",nX="Нд",rX="неділя",aX="Телеграма",lX="чт",cX="четвер",uX="час",dX="Спрацьовує",hX="Тригери",pX="вт",gX="вівторок",mX="URL",fX="Значення",$X="Обсяг",bX="ми",vX="Середа",yX="Напишіть",_X="Так",wX="підтвердження",CX="все",TX="і",kX="Астро",SX="в",EX="КОНТРОЛЬ",IX="копія",xX="CRON",DX="Світанок",AX="Це особливий режим, в якому стану та об'єкти не змінюватимуться. Але в протоколі відображатиметься лише інформація про кожну заплановану зміну.",RX="Відлагоджувати",OX="Сутінки",MX="легко",NX="кожен",LX="функція",BX="ID",PX="Ім'я",FX="Роль",jX="Кімната",zX="Золота година",UX="Кінець золотої години",HX="Код буде виконуватися лише щоразу, коли умова виконується. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» виконуватимуться щоразу, коли датчик надсилає температуру, і вона перевищує 20°C. На 21°C, на 22°C і так далі.",WX="Код буде виконано лише у разі зміни результату умови. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» будуть виконані один раз, коли температура буде вище 20. Наступного разу дії «тоді» буде виконано, коли температура падає нижче 20, а потім знову піднімається вище 20.",GX="години",VX="включає в себе",KX="інтервал",YX="магія",JX="мілісекунд",XX="хвилин",qX="РС",ZX="Надір",QX="Морський світанок",eq="Морські сутінки",tq="Наступний схід сонця",sq="Наступний захід сонця",oq="ніч",iq="Кінець ночі",nq="нормально",rq="зсув",aq="один",lq="або",cq="тихо",uq="пошук",dq="секунд",hq="Сонячний полудень",pq="схід сонця",gq="Кінець сходу сонця",mq="Захід сонця",fq="Початок заходу сонця",$q="потім",bq="Визнати",vq="Від",yq="Востаннє змінено",_q="якість",wq="Мітка часу",Cq="Користувач",Tq="Значення",kq="два",Sq="оновлення",Eq="Додає вихідні дані налагодження до журналу для багатьох системних команд",Iq="Докладні результати журналу",xq="коли",Dq="майстер",Aq={"%s not found":"%s не знайдено","()":"()","(at %s)":"(у %s)","(optional)":"(необов'язково)","-":"-",".":".","AI code generator":"Генератор коду ШІ",Ack:FJ,Actions:jJ,"Actual time of day":"Фактичний час доби",Add:zJ,"Add new script":"Додати новий сценарій",All:UJ,"All files will be accepted":"Усі файли будуть прийняті",Any:HJ,"Any month":"Будь-який місяць",Apply:WJ,April:GJ,"Are you sure?":"Ти впевнений?",Ask:VJ,Astronomical:KJ,"Astronomical events today":"Астрономічні події сьогодні",August:YJ,"Blockly description":"Створення правил за графічними блоками","Body:":"Тіло:",Cancel:JJ,"Cannot delete non empty item!":"Неможливо видалити непорожній елемент!","Change layout":"Змінити макет",'Change theme (actual "%s")':'Змінити тему (тепер - "%s")',"Check blocks":"Перевірте блоки","Check is not active, because javascript adapter is disabled":"Перевірка не активна, оскільки адаптер Javascript вимкнено","Clear search input":"Очистити пошуковий запит","Click on this icon":"Натисніть на цей значок",Close:XJ,"Close all but current":"Закрити всі, крім поточних","Collapse all":"Закрити всі","Compares current time with astronomical event":"Порівнює поточний час з астрономічною подією","Compares current time with the user specific time":"Порівнює поточний час із конкретним часом користувача","Compares the state value with user defined value":"Порівнює значення стану з визначеним користувачем значенням",Condition:qJ,Conditions:ZJ,"Configuration not saved.":"Конфігурація не збережена.",Console:QJ,"Control or update some state":"Контролюйте або оновлюйте певний стан","Control or update some state with delay":"Контролюйте або оновлюйте деякий стан із затримкою","Convert blockly to javascript for ever.":"Назавжди конвертуйте Blockly у Javascript.",Copied:e7,"Copy script":"Копіювати сценарій","Copy to clipboard":"Копіювати в буфер обміну","Create new":"Створити новий","Create new folder":"Створити нову папку","Create new script":"Створіть новий сценарій","Create or edit CRON or time wizard":"Створення або редагування CRON або майстра часу","Dark Theme":"Темна тема","Dark style":"Темний стиль",Date:"Дата","Debug instance":"Екземпляр налагодження","Debug options":"Параметри налагодження",December:t7,Default:s7,"Define cron...":"Визначити cron...","Define schedule...":"Визначити розклад...",Delay:o7,Delete:i7,"Delete %s":"Видалити %s...","Delete folder":"Видалити папку","Delete script":"Видалити сценарій",Description:n7,"Deselect all":"Зняти вибір із усіх","Discard changes for %s":"Скасувати зміни для %s",Done:r7,"Double click to write value":"Двічі клацніть, щоб записати значення","Download as file":"Завантажити файл","Drop some files here or click...":"Перетягніть кілька файлів сюди або натисніть...","Duplicate name":"Повторюване ім'я","Edit script or just double click":"Відредагуйте сценарій або просто двічі клацніть","Empty name is not allowed":"Порожнє ім'я не допускається","End search mode":"Завершити режим пошуку","Enter your question":"Введи своє прохання",Error:"Помилка","Error formatting code":"Помилка форматування коду","Error was found":"Виявлено помилку","Every day":"Кожен день",Exec:a7,"Executes some shell command":"Виконує певну команду оболонки","Existing scripts will be overwritten.":"Існуючі сценарії буде перезаписано.","Expand all":"Розгорнути все","Expert mode":"Експертний режим",Explanation:l7,Export:c7,"Export all scripts":"Експортувати всі сценарії","Export blocks":"Експорт блоків","Export selected blocks":"Експортувати вибрані блоки",Februar:u7,February:d7,Filter:h7,Folder:p7,Fr:g7,Friday:m7,Function:"функція","Function editor":"Редактор функцій","Function: executed":"Функція: виконано","Go to next line":"Перейти до наступного рядка","HTTP Call":"Виклик HTTP","Hide logs":"Приховати журнали",ID:f7,ID1:$7,ID2:b7,Import:v7,"Import blocks":"Імпорт блоків","Import error":"Помилка імпорту","Import scripts":"Імпорт скриптів","Insert object ID":"Вставте ID об'єкта",Instance:y7,"Instance is disabled":"Примірник вимкнено","Instance:":"екземпляр:",Instances:_7,Instructions:w7,"Invalid CRON":"Недійсний CRON","It will not be possible to revert this operation.":"Скасувати цю операцію буде неможливо.","JS description":"Створення правил шляхом написання Javascript",Januar:C7,January:T7,July:k7,June:S7,"Just check":"Просто перевірте","Language:":"Мову:","Learn More":"Вивчайте більше","Light style":"Легкий стиль",Limit:E7,"Local time":"Місцевий час","Locate file":"Знайти файл","Log outputs":"Виходи журналу","Log text":"Текст журналу","Log: %s":"Журнал: %s","Make a HTTP get request":"Зробіть HTTP-запит на отримання","Make a pause between actions":"Між діями робіть паузу",March:I7,"March ":"березень",May:x7,Menu:D7,Message:A7,Mo:R7,Model:O7,Monday:M7,Month:N7,More:L7,Name:B7,"No Chat GPT Key found":"Ключ GPT для чату не знайдено","No active host found":"Активний хост не знайдено","Nothing found":"Нічого не знайдено",November:P7,OK:F7,October:j7,Ok:z7,"On condition change":"За умови зміни результату","On script save or adapter start":"Під час збереження сценарію або запуску адаптера","On weekdays":"В будні дні","Open configuration":"Відкрита конфігурація","Operate two states":"Керуйте двома станами","Operations with two states":"Операції з двома станами","Paste your blocks here":"Вставте сюди свої блоки",Pause:U7,"Pause execution":"Призупинити виконання","Pause script":"Призупинити сценарій","Phone:":"телефон:","Please select object ID...":"Виберіть ідентифікатор об'єкта...","Press Ctrl+Enter to get the answer":"Натисніть Ctrl+Enter, щоб отримати відповідь","Prettify the script":"Прикрасьте сценарій","Print some text in log":"Надрукувати текст у журналі","Priority:":"Пріоритет:",Pushover:H7,Pushsafer:W7,"Read only ID selected: %s":"Вибрано ідентифікатор лише для читання: %s",Rename:G7,"Reorder scripts in folders":"Зміна порядку сценаріїв у папках",Repeat:V7,Restart:K7,Result:Y7,"Resume execution":"Відновити виконання","Root folder":"Коренева папка","Rules description":"Створюйте правила з блоками IF, THEN, ELSE","Run script":"Запустіть сценарій",Sa:J7,Saturday:X7,Save:q7,"Save all":"Зберегти все","Say It":"Скажи це","Say some text via sayit adapter":"Скажіть текст через адаптер sayit",Schedule:Z7,Script:Q7,"Script %s was modified on disk":"Сценарій %s змінено на диску","Script is not running":"Сценарій не працює","Search in scripts":"Пошук у скриптах","Search...":"пошук...","Select all":"Вибрати все","Send email":"Відправити лист","Sends an email":"Надсилає електронний лист","Sends message via Pushsafer":"Надсилає повідомлення через Pushsafer","Sends message via pushover":"Надсилає повідомлення через pushover","Sends message via telegram":"Надсилає повідомлення через телеграм","Sends message via whatsapp-cmb":"Надсилає повідомлення через whatsapp-cmb",September:eX,"Server time":"Час сервера","Set state action":"Встановити дію стану","Set with delay":"Встановити із затримкою","Shell command":"Команда оболонки","Show astronomical events":"Показати астрономічні події","Show javascript code":"Показати код Javascript","Show logs":"Показати журнали","Show only paused scripts":"Показувати лише призупинені сценарії","Show only running scripts":"Показувати лише запущені сценарії","Show only scripts with problems":"Показувати лише сценарії з проблемами",Simulate:tX,"Some files will be rejected":"Деякі файли буде відхилено","Sound:":"звук:",Stack:sX,Start:oX,"Start script":"Запустити сценарій",State:iX,"State condition":"Стан стану","Step into function":"Крок у функції","Step out from function":"Вийти з функції","Stop on exception":"Зупинка на винятках",Su:nX,"Subject:":"Тема:",Sunday:rX,"TS description":"Створення правил шляхом написання Typescript",Telegram:aX,"Text:":"Текст:",Th:lX,"The script will be stopped and must be activated manually after debugging. Continue?":"Сценарій буде зупинено, і його необхідно активувати вручну після налагодження. Продовжити?","This is advances option. You can write your own code here and it will be executed on trigger":"Це авансовий варіант. Ви можете написати тут свій власний код, і він буде виконано на тригері",Thursday:cX,Time:uX,"Time condition":"Умова часу","Title:":"Назва:","To:":"до:","Trigger with value":"Тригер зі значенням",Triggered:dX,Triggers:hX,"Triggers the on script saving or the javascript instance restart":"Ініціює збереження сценарію або перезапуск екземпляра JavaScript","Triggers the rule on update or change of some state":"Запускає правило при оновленні або зміні якогось стану","Triggers the rule periodically or on some specific time":"Спрацьовує правило періодично або в певний час",Tu:pX,Tuesday:gX,URL:mX,"Unknown error":"Невідома помилка","Unknown error!":"Невідома помилка!","Use generated code":"Використовуйте згенерований код","User function":"Функція користувача","User:":"Користувач:",Value:fX,"Vibration:":"Вібрація:",Volume:$X,We:bX,Wednesday:vX,"Whatsapp-cmb":"Whatsapp-cmb",Write:yX,"Write your own code":"Напишіть власний код",Yes:_X,"Yet exists!":"Все ж існує!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Ви можете використовувати %s в URL-адресі, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Ви можете використовувати %s у команді, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Ви можете використовувати %s у тексті для відображення поточного значення тригера, %id для використання ідентифікатора активованого об’єкта, %name для відображення імені ідентифікатора активованого об’єкта або %old для використання старого значення тригера","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Ви можете використовувати %s у значенні, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You have to enter OpenAI API key in the configuration of javascript adapter.":"Ви повинні ввести ключ OpenAI API у конфігурації адаптера JavaScript.","[equal]":"[рівний]","[greater or equal]":"[більше або дорівнює]","[greater]":"[більший]","[hysteresis]":"[гістерезис]","[includes]":"[включає]","[less or equal]":"[менше або рівно]","[less]":"[менше]","[not equal]":"[не дорівнює]",acknowledgment:wX,all:CX,and:TX,astro:kX,at:SX,"clear running":"чіткий біг",control:EX,copy:IX,cron:xX,dawn:DX,debug_help:AX,debug_label:RX,default:"за замовчуванням",dusk:OX,easy:MX,else:"інше","equal to":"дорівнює",every:NX,"every hour at 0 minutes":"щогодини о 0 хвилин",false:"помилковий","file reading has failed: %s":"не вдалося прочитати файл: %s","file reading was aborted":"читання файлу було перервано",filter_func:LX,filter_id:BX,filter_name:PX,filter_role:FX,filter_room:jX,"for edit or create script":"для редагування або створення нового сценарію","for professionals":"для професіоналів","for programmers":"для програмістів",goldenHour:zX,goldenHourEnd:UX,"greater or equal":"більший або рівний","greater or equal to":"більше або дорівнює","greater than":"більше, ніж, величніше ніж, крутіший за",help_just_check:HX,help_on_change:WX,"high priority":"високий пріоритет","high-priority":"високий пріоритет","highest priority":"найвищий пріоритет",hours:GX,includes:VX,interval:KX,"just check":"просто перевірте","less or equal":"менше або дорівнює","less or equal to":"менше або дорівнює","less than":"менше ніж","lower priority":"нижчий пріоритет","lowest priority":"найнижчий пріоритет",magic:YX,milliseconds:JX,minutes:XX,ms:qX,nadir:ZX,nauticalDawn:QX,nauticalDusk:eq,nextSunrise:tq,nextSunset:sq,night:oq,nightEnd:iq,"no blocks found":"Блоків не знайдено","no group":"НЕМАЄ ГРУПИ",normal:nq,"normal priority":"нормальний пріоритет","not equal to":"не дорівнює","not properly connected":"Цей блок неправильно з’єднаний з іншими блоками.",offset:rq,"on change":"на зміну","on condition change":"про зміну умов","on update":"на оновлення",one:aq,or:lq,quiet:cq,"reset search":"скинути пошук",search:uq,seconds:dq,solarNoon:hq,"store in":"зберігати в",sunrise:pq,sunriseEnd:gq,sunset:mq,sunsetStart:fq,then:$q,"toggle value":"значення перемикання",tooltip_ack:bq,tooltip_from:vq,tooltip_lc:yq,tooltip_quality:_q,tooltip_ts:wq,tooltip_user:Cq,tooltip_value:Tq,true:"правда",two:kq,undefined:"невизначений",update:Sq,"use seconds":"використовуйте секунди","use trigger value":"використовувати значення тригера",verbose_help:Eq,verbose_label:Iq,when:xq,with:"з","with date":"з датою","with offset":"зі зміщенням",wizard:Dq},Rq="确认",Oq="动作",Mq="添加",Nq="所有",Lq="任何",Bq="申请",Pq="四月",Fq="问",jq="天文",zq="八月",Uq="取消",Hq="关闭",Wq="健康)状况",Gq="情况",Vq="安慰",Kq="复制的",Yq="十二月",Jq="默认",Xq="延迟",qq="删除",Zq="描述",Qq="完成",eZ="执行力",tZ="解释",sZ="导出",oZ="二月",iZ="二月",nZ="筛选",rZ="文件夹",aZ="r",lZ="星期五",cZ="ID",uZ="ID1",dZ="ID2",hZ="导入",pZ="实例",gZ="实例",mZ="指示",fZ="亚努尔",$Z="一月",bZ="七月",vZ="六月",yZ="限制",_Z="三月",wZ="五月",CZ="菜单",TZ="信息",kZ="莫",SZ="模型",EZ="星期一",IZ="月",xZ="更多的",DZ="名称",AZ="十一月",RZ="好的",OZ="十月",MZ="确定",NZ="暂停",LZ="俯卧撑",BZ="推安全",PZ="重命名",FZ="重复",jZ="重启",zZ="结果",UZ="萨",HZ="星期六",WZ="保存",GZ="日程",VZ="脚本",KZ="九月",YZ="模拟",JZ="堆",XZ="开始",qZ="状态",ZZ="苏",QZ="星期日",eQ="电报",tQ="4",sQ="星期四",oQ="时间",iQ="触发",nQ="扳机",rQ="涂",aQ="星期二",lQ="网址",cQ="价值",uQ="体积",dQ="3",hQ="星期三",pQ="写",gQ="是的",mQ="致谢",fQ="全部",$Q="和",bQ="天文",vQ="在",yQ="控制",_Q="复制",wQ="克朗",CQ="黎明",TQ="这是一种特殊模式,其中状态和对象不会改变。但只有有关每个计划更改的信息才会显示在协议中。",kQ="调试",SQ="黄昏",EQ="简单的",IQ="每一个",xQ="功能",DQ="ID",AQ="名字",RQ="角色",OQ="房间",MQ="黄金时段",NQ="黄金时段结束",LQ="仅在条件为真时才执行代码。例如。如果触发温度传感器值并且条件为“如果温度大于20°C”,则每次传感器发送温度且温度超过20°C时,将执行“然后”动作。 21°C,22°C等。",BQ="仅当条件结果更改时,代码才会执行。例如。如果触发温度传感器值且条件为“如果温度大于20°C”,则温度超过20时将执行一次“则”动作,下一次,当温度超过20时将执行“则”动作低于20失败,然后再次超过20。",PQ="小时",FQ="包括",jQ="间隔",zQ="魔法",UQ="毫秒",HQ="分钟",WQ="毫秒",GQ="最低点",VQ="航海黎明",KQ="航海黄昏",YQ="下一个日出",JQ="下一个日落",XQ="夜晚",qQ="夜晚结束",ZQ="普通的",QQ="抵消",eee="一",tee="或",see="安静的",oee="搜索",iee="秒",nee="星期日正午",ree="日出",aee="日出结束",lee="日落",cee="日落开始",uee="然后",dee="确认",hee="从",pee="上一次改变",gee="质量",mee="时间戳",fee="用户",$ee="值",bee="二",vee="更新",yee="将调试输出添加到许多系统命令的日志中",_ee="详细日志输出",wee="什么时候",Cee="巫师",Tee={"%s not found":"%s 未找到","()":"()","(at %s)":"(在 %s)","(optional)":"(选修的)","-":"-",".":".","AI code generator":"AI代码生成器",Ack:Rq,Actions:Oq,"Actual time of day":"一天中的实际时间",Add:Mq,"Add new script":"添加新脚本",All:Nq,"All files will be accepted":"所有文件都将被接受",Any:Lq,"Any month":"任何月份",Apply:Bq,April:Pq,"Are you sure?":"你确定吗?",Ask:Fq,Astronomical:jq,"Astronomical events today":"今天的天文事件",August:zq,"Blockly description":"按图形块创建规则","Body:":"身体:",Cancel:Uq,"Cannot delete non empty item!":"无法删除非空项目!","Change layout":"变更版面",'Change theme (actual "%s")':"更改主题(现在为“%s”)","Check blocks":"检查块","Check is not active, because javascript adapter is disabled":"检查未激活,因为禁用了Javascript适配器","Clear search input":"清除搜索输入","Click on this icon":"单击此图标",Close:Hq,"Close all but current":"关闭所有(当前除外)","Collapse all":"全部收缩","Compares current time with astronomical event":"将当前时间与天文事件进行比较","Compares current time with the user specific time":"将当前时间与用户特定时间进行比较","Compares the state value with user defined value":"比较状态值和用户定义的值",Condition:Wq,Conditions:Gq,"Configuration not saved.":"配置未保存。",Console:Vq,"Control or update some state":"控制或更新某些状态","Control or update some state with delay":"延迟控制或更新某些状态","Convert blockly to javascript for ever.":"立即将blockly转换为Javascript。",Copied:Kq,"Copy script":"复制脚本","Copy to clipboard":"复制到剪贴板","Create new":"创建新的","Create new folder":"创建新文件夹","Create new script":"创建新脚本","Create or edit CRON or time wizard":"创建或编辑周期任务或时间向导","Dark Theme":"深色调主题","Dark style":"深色调风格",Date:"日期","Debug instance":"调试实例","Debug options":"调试选项",December:Yq,Default:Jq,"Define cron...":"定义周期任务...","Define schedule...":"定义调度器......",Delay:Xq,Delete:qq,"Delete %s":"删除%s...","Delete folder":"删除文件夹","Delete script":"删除脚本",Description:Zq,"Deselect all":"取消全选","Discard changes for %s":"放弃%s的更改",Done:Qq,"Double click to write value":"Double click to write value","Download as file":"档案","Drop some files here or click...":"将文件拖拽到这里或单击......","Duplicate name":"重名","Edit script or just double click":"双击编辑脚本","Empty name is not allowed":"不允许使用空名称","End search mode":"结束搜索模式","Enter your question":"输入您的要求",Error:"错误","Error formatting code":"代码格式错误","Error was found":"发现错误","Every day":"每天",Exec:eZ,"Executes some shell command":"执行一些shell命令","Existing scripts will be overwritten.":"现有脚本将被覆盖。","Expand all":"展开全部","Expert mode":"专家模式",Explanation:tZ,Export:sZ,"Export all scripts":"导出所有脚本","Export blocks":"导出块","Export selected blocks":"导出选定的块",Februar:oZ,February:iZ,Filter:nZ,Folder:rZ,Fr:aZ,Friday:lZ,Function:"功能","Function editor":"功能编辑器","Function: executed":"功能:执行","Go to next line":"转到下一行","HTTP Call":"HTTP呼叫","Hide logs":"隐藏日志",ID:cZ,ID1:uZ,ID2:dZ,Import:hZ,"Import blocks":"导入块","Import error":"导入错误","Import scripts":"导入脚本","Insert object ID":"插入对象ID",Instance:pZ,"Instance is disabled":"实例已禁用","Instance:":"实例:",Instances:gZ,Instructions:mZ,"Invalid CRON":"无效的周期任务","It will not be possible to revert this operation.":"无法恢复此操作。","JS description":"通过编写Javascript来创建规则",Januar:fZ,January:$Z,July:bZ,June:vZ,"Just check":"只是检查","Language:":"语言:","Learn More":"了解更多","Light style":"浅色调风格",Limit:yZ,"Local time":"当地时间","Locate file":"定位文件","Log outputs":"记录输出","Log text":"记录文字","Log: %s":"日志:%s","Make a HTTP get request":"发出HTTP获取请求","Make a pause between actions":"在动作之间暂停",March:_Z,"March ":"行进",May:wZ,Menu:CZ,Message:TZ,Mo:kZ,Model:SZ,Monday:EZ,Month:IZ,More:xZ,Name:DZ,"No Chat GPT Key found":"找不到聊天 GPT 密钥","No active host found":"找不到活动主机","Nothing found":"没有发现",November:AZ,OK:RZ,October:OZ,Ok:MZ,"On condition change":"条件变化时","On script save or adapter start":"在脚本保存或适配器启动时","On weekdays":"在工作日","Open configuration":"开放配置","Operate two states":"操作两种状态","Operations with two states":"具有两种状态的操作","Paste your blocks here":"在此处粘贴您的区块",Pause:NZ,"Pause execution":"暂停执行","Pause script":"暂停脚本","Phone:":"电话:","Please select object ID...":"请选择对象ID...","Press Ctrl+Enter to get the answer":"按 Ctrl+Enter 即可得到答案","Prettify the script":"美化脚本","Print some text in log":"在日志中打印一些文本","Priority:":"优先:",Pushover:LZ,Pushsafer:BZ,"Read only ID selected: %s":"选择的只读ID:%s",Rename:PZ,"Reorder scripts in folders":"重新排序文件夹中的脚本",Repeat:FZ,Restart:jZ,Result:zZ,"Resume execution":"恢复执行","Root folder":"根文件夹","Rules description":"使用IF,THEN,ELSE块创建规则","Run script":"运行脚本",Sa:UZ,Saturday:HZ,Save:WZ,"Save all":"保存全部","Say It":"Say It","Say some text via sayit adapter":"通过sayit适配器说一些文字",Schedule:GZ,Script:VZ,"Script %s was modified on disk":"脚本%s已在磁盘上修改","Script is not running":"脚本没有运行","Search in scripts":"在脚本中搜索","Search...":"搜索...","Select all":"全选","Send email":"发送电子邮件","Sends an email":"发送邮件","Sends message via Pushsafer":"通过Pushsafer发送消息","Sends message via pushover":"通过推播发送消息","Sends message via telegram":"通过电报发送消息","Sends message via whatsapp-cmb":"通过whatsapp-cmb发送消息",September:KZ,"Server time":"服务器时间","Set state action":"设定状态动作","Set with delay":"延迟设置","Shell command":"Shell命令","Show astronomical events":"显示天文事件","Show javascript code":"显示Javascript代码","Show logs":"显示记录","Show only paused scripts":"仅显示暂停的脚本","Show only running scripts":"仅显示正在运行的脚本","Show only scripts with problems":"仅显示有问题的脚本",Simulate:YZ,"Some files will be rejected":"有些文件将被拒绝","Sound:":"声音:",Stack:JZ,Start:XZ,"Start script":"启动脚本",State:qZ,"State condition":"状态条件","Step into function":"进入功能","Step out from function":"退出函数","Stop on exception":"异常停止",Su:ZZ,"Subject:":"学科:",Sunday:QZ,"TS description":"通过编写Typescript来创建规则",Telegram:eQ,"Text:":"文本:",Th:tQ,"The script will be stopped and must be activated manually after debugging. Continue?":"该脚本将停止,并且必须在调试后手动激活。继续?","This is advances option. You can write your own code here and it will be executed on trigger":"这是高级选项。您可以在此处编写自己的代码,它将在触发器上执行",Thursday:sQ,Time:oQ,"Time condition":"时间条件","Title:":"标题:","To:":"到:","Trigger with value":"用值触发",Triggered:iQ,Triggers:nQ,"Triggers the on script saving or the javascript instance restart":"触发脚本保存或javascript实例重启","Triggers the rule on update or change of some state":"在某些状态的更新或更改时触发规则","Triggers the rule periodically or on some specific time":"定期或在特定时间触发规则",Tu:rQ,Tuesday:aQ,URL:lQ,"Unknown error":"未知错误","Unknown error!":"未知错误!","Use generated code":"使用生成的代码","User function":"用户功能","User:":"用户:",Value:cQ,"Vibration:":"振动:",Volume:uQ,We:dQ,Wednesday:hQ,"Whatsapp-cmb":"Whatsapp的cmb",Write:pQ,"Write your own code":"编写自己的代码",Yes:gQ,"Yet exists!":"不存在!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"您可以在 URL 中使用 %s 以使用当前触发值,%id 以使用触发对象 ID,%name 以显示触发对象 ID 名称或 %old 以使用旧触发值","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"您可以在命令中使用 %s 以使用当前触发值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发值","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"您可以在文本中使用 %s 显示当前触发值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发值","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"您可以在值中使用 %s 以使用当前触发器值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发器值","You have to enter OpenAI API key in the configuration of javascript adapter.":"您必须在 javascript 适配器的配置中输入 OpenAI API 密钥。","[equal]":"[平等的]","[greater or equal]":"[大于等于]","[greater]":"[更大]","[hysteresis]":"[磁滞]","[includes]":"[包括]","[less or equal]":"[小于或等于]","[less]":"[较少的]","[not equal]":"[不相等]",acknowledgment:mQ,all:fQ,and:$Q,astro:bQ,at:vQ,"clear running":"畅通无阻",control:yQ,copy:_Q,cron:wQ,dawn:CQ,debug_help:TQ,debug_label:kQ,default:"默认",dusk:SQ,easy:EQ,else:"别的","equal to":"等于",every:IQ,"every hour at 0 minutes":"每小时0分钟",false:"错误的","file reading has failed: %s":"文件读取失败:%s","file reading was aborted":"文件读取中止",filter_func:xQ,filter_id:DQ,filter_name:AQ,filter_role:RQ,filter_room:OQ,"for edit or create script":"用于编辑或创建脚本","for professionals":"对于专业人士","for programmers":"对于程序员",goldenHour:MQ,goldenHourEnd:NQ,"greater or equal":"大于或等于","greater or equal to":"大于或等于","greater than":"比...更棒",help_just_check:LQ,help_on_change:BQ,"high priority":"高优先级","high-priority":"高优先级","highest priority":"最高优先级",hours:PQ,includes:FQ,interval:jQ,"just check":"只是检查","less or equal":"小于或等于","less or equal to":"小于或等于","less than":"少于","lower priority":"低优先级","lowest priority":"最低优先级",magic:zQ,milliseconds:UQ,minutes:HQ,ms:WQ,nadir:GQ,nauticalDawn:VQ,nauticalDusk:KQ,nextSunrise:YQ,nextSunset:JQ,night:XQ,nightEnd:qQ,"no blocks found":"找不到块","no group":"没有组",normal:ZQ,"normal priority":"正常优先","not equal to":"不等于","not properly connected":"此块未正确连接到其他块。",offset:QQ,"on change":"在变化","on condition change":"在条件变化时","on update":"更新时",one:eee,or:tee,quiet:see,"reset search":"重置搜索",search:oee,seconds:iee,solarNoon:nee,"store in":"存放在",sunrise:ree,sunriseEnd:aee,sunset:lee,sunsetStart:cee,then:uee,"toggle value":"切换值",tooltip_ack:dee,tooltip_from:hee,tooltip_lc:pee,tooltip_quality:gee,tooltip_ts:mee,tooltip_user:fee,tooltip_value:$ee,true:"真的",two:bee,undefined:"不明确的",update:vee,"use seconds":"精确到秒","use trigger value":"使用触发值",verbose_help:yee,verbose_label:_ee,when:wee,with:"和","with date":"有日期","with offset":"带偏移",wizard:Cee},yr={root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:a=>({width:"100%",height:"100%",backgroundColor:a.palette.background&&a.palette.background.default,position:"relative"}),menuOpenCloseButton:a=>({position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,pt:1,cursor:"pointer",zIndex:1,height:25,width:20,background:a.palette.secondary.main,color:a.palette.primary.main,pl:"3px","&:hover":{color:"white"}}),showLogButton:a=>({position:"absolute",right:3,borderRadius:"5px 5px 0 0",bottom:0,pt:"3px",cursor:"pointer",zIndex:10,height:20,width:25,background:a.palette.secondary.main,color:a.palette.primary.main,pl:1,"&:hover":{color:"white"}})};class kee extends b.GenericApp{hosts=[];importFile=null;scripts={};confirmCallback=null;constructor(s){super(s,{Connection:b.AdminConnection,translations:{en:jM,de:O1,es:SF,fr:vz,it:hW,nl:n5,pl:Z4,pt:G9,ru:PJ,uk:Aq,"zh-cn":Tee},bottomButtons:!1,socket:{autoSubscribeLog:!0},sentryDSN:window.sentryDSN});const i=window.localStorage.getItem("JS.logSizes");let r=[80,20];if(i)try{r=JSON.parse(i)}catch{}const l=window.localStorage.getItem("JS.splitSizes");let u=[20,80];if(l)try{u=JSON.parse(l)}catch{}Object.assign(this.state,{splitSizes:u,logSizes:r}),window.alert=d=>{console.error(d),this.showJsError(d.toString())}}onScriptsChanged=(s,i)=>{if(!s)return;let r=!1;const l={};s.startsWith("script.js.")&&(i?JSON.stringify(this.scripts[s])!==JSON.stringify(i)&&(this.scripts[s]=i,r=!0,l.scriptsHash=this.state.scriptsHash+1):this.scripts[s]&&(delete this.scripts[s],r=!0,l.scriptsHash=this.state.scriptsHash+1)),r&&this.setState(l)};onInstanceChanged=(s,i)=>{var u;if(!s)return;let r=!1;const l={};if(s.match(/^system\.adapter\.[-_\w\d]+\$/)){if(s.startsWith(`system.adapter.${this.adapterName}.`)){const d=parseInt(s.split(".").pop()||"0",10)||0;if((i==null?void 0:i.type)==="instance")this.state.instances.includes(d)||(l.instances=[...this.state.instances],l.instances.push(d),l.instances.sort(),r=!0,this.socket.subscribeState(`${i._id}.alive`,this.onInstanceAliveChange));else if(!i&&this.state.instances.includes(d)){this.socket.unsubscribeState(`${s}.alive`,this.onInstanceAliveChange),l.instances=[...this.state.instances];const g=l.instances.indexOf(d);l.instances.splice(g,1),r=!0}}(u=i==null?void 0:i.common)!=null&&u.blockly&&(this.confirmCallback=d=>d&&window.location.reload(),l.confirm=b.I18n.t("Some blocks were updated. Reload admin?"),r=!0)}r&&this.setState(l)};onHostChanged=(s,i)=>{if(s&&s.startsWith("system.host.")){if((i==null?void 0:i.type)==="host")this.hosts.includes(s)||(this.hosts.push(s),this.hosts.sort());else if(!i&&this.hosts.includes(s)){const r=this.hosts.indexOf(s);this.hosts.splice(r,1)}}};onConnectionReady(){window.systemLang=this.socket.systemLang,this.setState({ready:!1,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:window.localStorage.getItem("App.menuOpened")!=="false",menuSelectId:"",expertMode:window.localStorage.getItem("App.expertMode")==="true",logHorzLayout:window.localStorage.getItem("App.logHorzLayout")==="true",runningInstances:{},confirm:"",importFile:!1,message:"",searchText:"",hideLog:window.localStorage.getItem("App.hideLog")==="true",debugMode:!1,debugInstance:null,splitSizes:[20,80]},async()=>{const s={},i=await this.subscribeOnInstances();s.instances=i.instances,s.runningInstances=i.runningInstances,await this.readAdaptersWithBlockly();const r=await this.socket.getHosts();this.hosts=r.map(d=>d._id);const l=await this.readAllScripts();window.localStorage.getItem("App.expertMode")!=="true"&&window.localStorage.getItem("App.expertMode")!=="false"&&Object.keys(l).find(d=>d.startsWith("script.js.global.")&&l[d].type==="script")&&(s.expertMode=!0),this.scripts=l;let u=this.state.scriptsHash;this.compareScripts(l)&&u++,s.scriptsHash=u,s.ready=!0,this.setState(s),await this.socket.subscribeObject("script.*",this.onScriptsChanged),await this.socket.subscribeObject("system.adapter.*",this.onInstanceChanged),await this.socket.subscribeObject("system.host.*",this.onHostChanged)})}async subscribeOnInstances(){const i=(await this.socket.getAdapterInstances(this.adapterName)).map(l=>parseInt(l._id.split(".").pop()||"0")).sort(),r={};i.forEach(l=>r[`system.adapter.${this.adapterName}.${l}`]=!1);for(let l=0;ls[r]=i[r]),s}async readAdaptersWithBlockly(){const s=await this.socket.getObjectViewSystem("adapter","system.adapter.","system.adapter.香");return new Promise(i=>Pe.loadCustomBlockly(s,()=>i()))}onInstanceAliveChange=(s,i)=>{if(s&&(s=s?s.substring(0,s.length-6):"",this.state.runningInstances[s]!==(i?i.val:!1))){const r=JSON.parse(JSON.stringify(this.state.runningInstances));r[s]=i?!!i.val:!1,this.setState({runningInstances:r})}};onToggleExpertMode(s){this.onExpertModeChange(s)}compareScripts(s){const i=Object.keys(this.scripts),r=Object.keys(s);if(i.length!==r.length)return this.scripts=s,!0;if(JSON.stringify(i)!==JSON.stringify(r))return this.scripts=s,!0;for(let l=0;l ${i}`),this.setState({updating:!0});try{if(((u=this.scripts[s])==null?void 0:u.type)==="script"){const d=JSON.parse(JSON.stringify(this.scripts[s].common));d.name=r||d.name,l!==void 0&&(d.engine=`system.adapter.javascript.${l}`);const g=i.split(".");g.pop();const m=g.join(".");this.scripts[m]&&this.scripts[m].type==="script"&&(g.pop(),i=`${g.join(".")}.${i.split(".").pop()}`),await this.updateScript(s,i,d)}else await this.renameGroup(s,i,r)}catch(d){d.toString().includes("canceled")||this.showJsError(d)}this.setState({updating:!1})}async renameGroup(s,i,r,l){if(l){if(l.length){let u=l.pop();if(u){const d=await this.socket.getObject(u);if(d){try{await this.socket.delObject(u)}catch{}u=i+u.substring(s.length),d._id=u,d.common=d.common||{},d.common.expert=!0,await this.socket.setObject(u,d),await this.renameGroup(s,i,r,l)}}}}else{l=[],l=Object.keys(this.scripts).filter(d=>d.startsWith(`${s}.`));let u=await this.socket.getObject(s);u=u||{common:{},type:"channel"},u.common.name=r||u.common.name||s.split(".").pop()||"",u._id=i;try{await this.socket.delObject(s)}catch{}try{await this.socket.setObject(i,u),await this.renameGroup(s,i,r,l)}catch(d){console.log(d);const g={_id:i,type:"channel",common:{name:r||s.split(".").pop()||"",expert:!0},native:{}};await this.socket.setObject(i,g),await this.renameGroup(s,i,r,l)}}}onUpdateScript(s,i){this.scripts[s]&&this.scripts[s].type==="script"&&this.updateScript(s,s,i).then(()=>{}).catch(r=>!r.toString().includes("canceled")&&this.showJsError(r))}onSelect(s){this.scripts[s]&&this.scripts[s].common&&this.scripts[s].type==="script"&&this.setState({selected:s,menuSelectId:s},()=>setTimeout(()=>this.setState({menuSelectId:""}),300))}onExpertModeChange(s){this.state.expertMode!==s&&(window.localStorage.setItem("App.expertMode",s?"true":"false"),this.setState({expertMode:s}))}showJsError(s){this.setState({errorText:s?s.toString():""})}showMessage(s){this.setState({message:s?s.toString():""})}onDelete(s){this.socket.delObject(s).catch(i=>this.showJsError(i))}onEdit(s){this.state.selected!==s&&this.setState({selected:s})}onAddNew(s,i,r,l,u,d){const g=new RegExp(`^${s}\\.`);if(Object.keys(this.scripts).find(m=>s===m||g.test(s)))return this.showJsError(b.I18n.t("Yet exists!"));r?this.socket.setObject(s,{_id:s,type:"channel",common:{name:i,expert:!0},native:{}}).then(()=>setTimeout(()=>this.setState({menuSelectId:s},()=>setTimeout(()=>this.setState({menuSelectId:""}),300)),1e3)).catch(m=>this.showJsError(m)):(u==="Blockly"&&!d&&(d=` +//${btoa(encodeURIComponent(''))}`),this.socket.setObject(s,{_id:s,type:"script",common:{name:i,expert:!0,engineType:u||"Javascript/js",enabled:!1,engine:`system.adapter.javascript.${l||0}`,source:d||"",debug:!1,verbose:!1},native:{}}).then(()=>setTimeout(()=>this.onSelect(s),1e3)).catch(m=>this.showJsError(m)))}async updateScript(s,i,r){let l=await this.socket.getObject(s);const u={common:{}};if(r.engine!==void 0&&(u.common.engine=r.engine),r.enabled!==void 0&&(u.common.enabled=r.enabled),r.source!==void 0&&(u.common.source=r.source),r.debug!==void 0&&(u.common.debug=r.debug),r.verbose!==void 0&&(u.common.verbose=r.verbose),u.from="system.adapter.admin.0",s===i&&(l!=null&&l.common)&&r.name===l.common.name)return(!r.engineType||r.engineType!==l.common.engineType)&&r.engineType!==void 0&&(u.common.engineType=r.engineType||"Javascript/js"),u.type="script",this.socket.extendObject(s,u);if(l!=null&&l.common){l.common.engineType=r.engineType||l.common.engineType||"Javascript/js",await this.socket.delObject(s),u.common.engine!==void 0&&(l.common.engine=u.common.engine),u.common.enabled!==void 0&&(l.common.enabled=u.common.enabled),u.common.source!==void 0&&(l.common.source=u.common.source),u.common.name!==void 0&&(l.common.name=u.common.name),u.common.debug!==void 0&&(l.common.debug=u.common.debug),u.common.verbose!==void 0&&(l.common.verbose=u.common.verbose),l._rev!==void 0&&delete l._rev,l.common.name=r.name,l.common.expert=!0,l.type="script",l._id=i,await this.socket.setObject(i,l);return}return l=u,l.common.name=r.name,l.common.expert=!0,l.type="script",l._id=i,this.socket.setObject(i,l)}onEnableDisable(s,i){var r;if(((r=this.scripts[s])==null?void 0:r.type)==="script"){const l=this.scripts[s].common;l.enabled=i,l.expert=!0,this.updateScript(s,s,l).catch(u=>u!=="canceled"&&this.showJsError(u))}}async getLiveHost(){for(let s=0;s{if(typeof u=="string"){const d=document.createElement("a");d.href=`../../files/${u}`,document.body.appendChild(d),d.click(),d.remove()}else if(u.error&&this.showJsError(u.error),u.data){const d=document.createElement("a");d.href=`data: application/zip;base64,${u.data}`,d.download=`${r}scripts.zip`,document.body.appendChild(d),d.click(),d.remove()}})}onImport(s){this.importFile=s||null,s?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:b.I18n.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}async onImportConfirmed(s){let i=this.importFile;if(this.importFile=null,s&&i){i=i.split(",")[1];const r=await this.getLiveHost();if(!r){this.showJsError(b.I18n.t("No active host found"));return}this.socket.getRawSocket().emit("sendToHost",r,"writeObjectsAsZip",{data:i,adapter:"javascript",id:"script.js"},l=>{l==="permissionError"?this.showJsError(b.I18n.t(l)):!l||l.error?this.showJsError(l?b.I18n.t(l.error||""):b.I18n.t("Unknown error")):this.showMessage(b.I18n.t("Done"))})}}toggleLogLayout(){window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}renderEditor(){const s=Object.keys(this.scripts).reduce((i,r)=>i+(this.scripts[r].common.engineType==="Rules"?1:0),0);return p.jsx(ln,{debugMode:this.state.debugMode,onDebugModeChange:i=>{i?this.setState({debugMode:!0}):this.setState({debugMode:!1,debugInstance:null})},visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:i=>this.setState({menuSelectId:i}),runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,themeType:this.state.themeType,themeName:this.state.themeName,theme:this.state.theme,expertMode:this.state.expertMode,onChange:(i,r)=>this.onUpdateScript(i,r),isAnyRulesExists:s,debugInstance:this.state.debugInstance,onSelectedChange:(i,r)=>{const l={};let u=!1;i!==this.state.selected&&(u=!0,l.selected=i),JSON.stringify(r)!==JSON.stringify(this.state.editing)&&(u=!0,l.editing=JSON.parse(JSON.stringify(r))),u&&this.setState(l)},onRestart:i=>this.socket.extendObject(i,{common:{enabled:!0}}),selected:this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].type==="script"?this.state.selected:"",objects:this.scripts,resizing:this.state.resizing},"editor")}showLogButton(){return p.jsx(y.Box,{title:b.I18n.t("Show logs"),sx:yr.showLogButton,onClick:()=>{window.localStorage.setItem("App.hideLog","false"),this.setState({hideLog:!1,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:p.jsx(dk,{})},"showLog")}renderErrorDialog(){return this.state.errorText?p.jsx(kc,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"dialogError"):null}renderMain(){let s;return this.state.debugMode||this.state.hideLog?s=p.jsxs(p.Fragment,{children:[!this.state.debugMode&&this.state.hideLog?this.showLogButton():void 0,this.renderEditor()]}):s=p.jsxs(by,{direction:this.state.logHorzLayout?ut.Horizontal:ut.Vertical,initialSizes:this.state.logSizes,minWidths:[500,100],minHeights:[150,50],onResizeStarted:()=>this.setState({resizing:!0}),onResizeFinished:(i,r)=>{this.setState({logSizes:r,resizing:!1}),window.localStorage.setItem("JS.logSizes",JSON.stringify(r))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[this.renderEditor(),p.jsx(Rg,{verticalLayout:!this.state.logHorzLayout,onLayoutChange:()=>this.toggleLogLayout(),editing:this.state.editing,socket:this.socket,selected:this.state.selected,onHideLog:()=>{window.localStorage.setItem("App.hideLog","true"),this.setState({hideLog:!0,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)}},"log")]}),[this.state.message?p.jsx(b.Message,{onClose:()=>this.setState({message:""}),text:this.state.message},"dialogMessage"):null,this.renderErrorDialog(),this.state.importFile?p.jsx(Qg,{onClose:i=>this.onImport(i)},"dialogImportFile"):null,this.state.confirm?p.jsx(b.Confirm,{onClose:i=>{this.state.confirm&&this.setState({confirm:""}),this.confirmCallback&&this.confirmCallback(i),this.confirmCallback=null},text:this.state.confirm},"dialogConfirm"):null,p.jsxs(y.Box,{sx:yr.content,className:"iobVerticalSplitter",children:[p.jsx(y.Box,{sx:yr.menuOpenCloseButton,onClick:()=>{window.localStorage.setItem("App.menuOpened",this.state.menuOpened?"false":"true"),this.setState({menuOpened:!this.state.menuOpened,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:this.state.menuOpened?p.jsx(hk,{}):p.jsx(pk,{})},"closeMenu"),s]},"main")]}render(){if(!this.state.ready)return p.jsx(hy,{injectFirst:!0,children:p.jsx(py,{theme:this.state.theme,children:p.jsx(b.Loader,{themeType:this.state.themeType})})});let s;return this.state.menuOpened?s=p.jsxs(by,{direction:ut.Horizontal,initialSizes:this.state.splitSizes,minWidths:[270,400],onResizeFinished:(i,r)=>{this.setState({splitSizes:r}),window.localStorage.setItem("JS.splitSizes",JSON.stringify(r))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[p.jsx("div",{style:yr.mainDiv,children:p.jsx(ao,{debugMode:this.state.debugMode,onDebugInstance:i=>this.setState({debugInstance:i,debugMode:!!i}),scripts:this.scripts,scriptsHash:this.state.scriptsHash,instances:this.state.instances,onRename:this.onRename.bind(this),socket:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,themeName:this.state.themeName,onThemeChange:i=>{b.Utils.setThemeName(i);const r=b.Utils.getThemeType(i);this.setState({themeName:i,themeType:r},()=>this.toggleTheme(i))},runningInstances:this.state.runningInstances,onExpertModeChange:this.onExpertModeChange.bind(this),onDelete:this.onDelete.bind(this),onAddNew:this.onAddNew.bind(this),onEnableDisable:this.onEnableDisable.bind(this),onExport:this.onExport.bind(this),width:500,onImport:()=>this.setState({importFile:!0}),onSearch:i=>this.setState({searchText:i}),version:this.props.version},"sidemenu")},"menu"),this.renderMain()]}):s=this.renderMain(),p.jsx(hy,{injectFirst:!0,children:p.jsx(py,{theme:this.state.theme,children:p.jsx("div",{style:yr.root,children:p.jsx(KA,{socket:this.socket,children:s})})})})}}window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/);function See(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(a=>{a.unregister()})}const Eee="9.0.4",AC={version:Eee};var xo;(function(a){a.mouse="mouse",a.touch="touch",a.keyboard="keyboard"})(xo||(xo={}));class Iee{get delay(){var s;return(s=this.args.delay)!==null&&s!==void 0?s:0}get scrollAngleRanges(){return this.args.scrollAngleRanges}get getDropTargetElementsAtPoint(){return this.args.getDropTargetElementsAtPoint}get ignoreContextMenu(){var s;return(s=this.args.ignoreContextMenu)!==null&&s!==void 0?s:!1}get enableHoverOutsideTarget(){var s;return(s=this.args.enableHoverOutsideTarget)!==null&&s!==void 0?s:!1}get enableKeyboardEvents(){var s;return(s=this.args.enableKeyboardEvents)!==null&&s!==void 0?s:!1}get enableMouseEvents(){var s;return(s=this.args.enableMouseEvents)!==null&&s!==void 0?s:!1}get enableTouchEvents(){var s;return(s=this.args.enableTouchEvents)!==null&&s!==void 0?s:!0}get touchSlop(){return this.args.touchSlop||0}get delayTouchStart(){var s,i,r,l;return(l=(r=(s=this.args)===null||s===void 0?void 0:s.delayTouchStart)!==null&&r!==void 0?r:(i=this.args)===null||i===void 0?void 0:i.delay)!==null&&l!==void 0?l:0}get delayMouseStart(){var s,i,r,l;return(l=(r=(s=this.args)===null||s===void 0?void 0:s.delayMouseStart)!==null&&r!==void 0?r:(i=this.args)===null||i===void 0?void 0:i.delay)!==null&&l!==void 0?l:0}get window(){if(this.context&&this.context.window)return this.context.window;if(typeof window<"u")return window}get document(){var s;if(!((s=this.context)===null||s===void 0)&&s.document)return this.context.document;if(this.window)return this.window.document}get rootElement(){var s;return((s=this.args)===null||s===void 0?void 0:s.rootElement)||this.document}constructor(s,i){this.args=s,this.context=i}}function xee(a,s,i,r){return Math.sqrt(Math.pow(Math.abs(i-a),2)+Math.pow(Math.abs(r-s),2))}function Dee(a,s,i,r,l){if(!l)return!1;const u=Math.atan2(r-s,i-a)*180/Math.PI+180;for(let d=0;d=g.start)&&(g.end==null||u<=g.end))return!0}return!1}const Aee={Left:1},Ree={Left:0};function Yp(a){return a.button===void 0||a.button===Ree.Left}function Oee(a){return a.buttons===void 0||(a.buttons&Aee.Left)===0}function RC(a){return!!a.targetTouches}const Mee=1;function Nee(a){const s=a.nodeType===Mee?a:a.parentElement;if(!s)return;const{top:i,left:r}=s.getBoundingClientRect();return{x:r,y:i}}function Lee(a,s){if(a.targetTouches.length===1)return fc(a.targetTouches[0]);if(s&&a.touches.length===1&&a.touches[0].target===s.target)return fc(a.touches[0])}function fc(a,s){return RC(a)?Lee(a,s):{x:a.clientX,y:a.clientY}}const D_=(()=>{let a=!1;try{addEventListener("test",()=>{},Object.defineProperty({},"passive",{get(){return a=!0,!0}}))}catch{}return a})(),_r={[xo.mouse]:{start:"mousedown",move:"mousemove",end:"mouseup",contextmenu:"contextmenu"},[xo.touch]:{start:"touchstart",move:"touchmove",end:"touchend"},[xo.keyboard]:{keydown:"keydown"}};class xr{profile(){var s;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:((s=this.dragOverTargetIds)===null||s===void 0?void 0:s.length)||0}}get document(){return this.options.document}setup(){const s=this.options.rootElement;s&&(De(!xr.isSetUp,"Cannot have two Touch backends at the same time."),xr.isSetUp=!0,this.addEventListener(s,"start",this.getTopMoveStartHandler()),this.addEventListener(s,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(s,"move",this.handleTopMove),this.addEventListener(s,"move",this.handleTopMoveCapture,!0),this.addEventListener(s,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(s,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(s,"keydown",this.handleCancelOnEscape,!0))}teardown(){const s=this.options.rootElement;s&&(xr.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(s,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(s,"start",this.handleTopMoveStart),this.removeEventListener(s,"move",this.handleTopMoveCapture,!0),this.removeEventListener(s,"move",this.handleTopMove),this.removeEventListener(s,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(s,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(s,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}addEventListener(s,i,r,l=!1){const u=D_?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(d){const g=_r[d][i];g&&s.addEventListener(g,r,u)})}removeEventListener(s,i,r,l=!1){const u=D_?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(d){const g=_r[d][i];g&&s.removeEventListener(g,r,u)})}connectDragSource(s,i){const r=this.handleMoveStart.bind(this,s);return this.sourceNodes.set(s,i),this.addEventListener(i,"start",r),()=>{this.sourceNodes.delete(s),this.removeEventListener(i,"start",r)}}connectDragPreview(s,i,r){return this.sourcePreviewNodeOptions.set(s,r),this.sourcePreviewNodes.set(s,i),()=>{this.sourcePreviewNodes.delete(s),this.sourcePreviewNodeOptions.delete(s)}}connectDropTarget(s,i){const r=this.options.rootElement;if(!this.document||!r)return()=>{};const l=u=>{if(!this.document||!r||!this.monitor.isDragging())return;let d;switch(u.type){case _r.mouse.move:d={x:u.clientX,y:u.clientY};break;case _r.touch.move:var g,m;d={x:((g=u.touches[0])===null||g===void 0?void 0:g.clientX)||0,y:((m=u.touches[0])===null||m===void 0?void 0:m.clientY)||0};break}const f=d!=null?this.document.elementFromPoint(d.x,d.y):void 0,v=f&&i.contains(f);if(f===i||v)return this.handleMove(u,s)};return this.addEventListener(this.document.body,"move",l),this.targetNodes.set(s,i),()=>{this.document&&(this.targetNodes.delete(s),this.removeEventListener(this.document.body,"move",l))}}getTopMoveStartHandler(){return!this.options.delayTouchStart&&!this.options.delayMouseStart?this.handleTopMoveStart:this.handleTopMoveStartDelay}installSourceNodeRemovalObserver(s){this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=s,this.draggedSourceNodeRemovalObserver=new MutationObserver(()=>{s&&!s.parentElement&&(this.resurrectSourceNode(),this.uninstallSourceNodeRemovalObserver())}),!(!s||!s.parentElement)&&this.draggedSourceNodeRemovalObserver.observe(s.parentElement,{childList:!0})}resurrectSourceNode(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}uninstallSourceNodeRemovalObserver(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}constructor(s,i,r){this.getSourceClientOffset=l=>{const u=this.sourceNodes.get(l);return u&&Nee(u)},this.handleTopMoveStartCapture=l=>{Yp(l)&&(this.moveStartSourceIds=[])},this.handleMoveStart=l=>{Array.isArray(this.moveStartSourceIds)&&this.moveStartSourceIds.unshift(l)},this.handleTopMoveStart=l=>{if(!Yp(l))return;const u=fc(l);u&&(RC(l)&&(this.lastTargetTouchFallback=l.targetTouches[0]),this._mouseClientOffset=u),this.waitingForDelay=!1},this.handleTopMoveStartDelay=l=>{if(!Yp(l))return;const u=l.type===_r.touch.start?this.options.delayTouchStart:this.options.delayMouseStart;this.timeout=setTimeout(this.handleTopMoveStart.bind(this,l),u),this.waitingForDelay=!0},this.handleTopMoveCapture=()=>{this.dragOverTargetIds=[]},this.handleMove=(l,u)=>{this.dragOverTargetIds&&this.dragOverTargetIds.unshift(u)},this.handleTopMove=l=>{if(this.timeout&&clearTimeout(this.timeout),!this.document||this.waitingForDelay)return;const{moveStartSourceIds:u,dragOverTargetIds:d}=this,g=this.options.enableHoverOutsideTarget,m=fc(l,this.lastTargetTouchFallback);if(!m)return;if(this._isScrolling||!this.monitor.isDragging()&&Dee(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,m.x,m.y,this.options.scrollAngleRanges)){this._isScrolling=!0;return}if(!this.monitor.isDragging()&&this._mouseClientOffset.hasOwnProperty("x")&&u&&xee(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,m.x,m.y)>(this.options.touchSlop?this.options.touchSlop:0)&&(this.moveStartSourceIds=void 0,this.actions.beginDrag(u,{clientOffset:this._mouseClientOffset,getSourceClientOffset:this.getSourceClientOffset,publishSource:!1})),!this.monitor.isDragging())return;const f=this.sourceNodes.get(this.monitor.getSourceId());this.installSourceNodeRemovalObserver(f),this.actions.publishDragSource(),l.cancelable&&l.preventDefault();const v=(d||[]).map(k=>this.targetNodes.get(k)).filter(k=>!!k),w=this.options.getDropTargetElementsAtPoint?this.options.getDropTargetElementsAtPoint(m.x,m.y,v):this.document.elementsFromPoint(m.x,m.y),_=[];for(const k in w){if(!w.hasOwnProperty(k))continue;let C=w[k];for(C!=null&&_.push(C);C;)C=C.parentElement,C&&_.indexOf(C)===-1&&_.push(C)}const S=_.filter(k=>v.indexOf(k)>-1).map(k=>this._getDropTargetId(k)).filter(k=>!!k).filter((k,C,E)=>E.indexOf(k)===C);if(g)for(const k in this.targetNodes){const C=this.targetNodes.get(k);if(f&&C&&C.contains(f)&&S.indexOf(k)===-1){S.unshift(k);break}}S.reverse(),this.actions.hover(S,{clientOffset:m})},this._getDropTargetId=l=>{const u=this.targetNodes.keys();let d=u.next();for(;d.done===!1;){const g=d.value;if(l===this.targetNodes.get(g))return g;d=u.next()}},this.handleTopMoveEndCapture=l=>{if(this._isScrolling=!1,this.lastTargetTouchFallback=void 0,!!Oee(l)){if(!this.monitor.isDragging()||this.monitor.didDrop()){this.moveStartSourceIds=void 0;return}l.cancelable&&l.preventDefault(),this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.drop(),this.actions.endDrag()}},this.handleCancelOnEscape=l=>{l.key==="Escape"&&this.monitor.isDragging()&&(this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.endDrag())},this.options=new Iee(r,i),this.actions=s.getActions(),this.monitor=s.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(xo.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(xo.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(xo.keyboard)}}const Bee=function(s,i={},r={}){return new xr(s,i,r)};window.GenericBlock=Xe;window.adapterName="javascript";window.sentryDSN="https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56";console.log(`iobroker.${window.adapterName}@${AC.version}`);const Pee=window.innerWidth<600,A_=document.getElementById("root");A_&&F_(A_).render(p.jsx(ew,{backend:Pee?Bee:hw,children:p.jsx(kee,{version:AC.version})}));See();const jl=window.loadDynamicScript;jl&&jl(window.location.port==="3000"?`${window.location.protocol}//${window.location.hostname}:8081/lib/js/socket.io.js`:"./../../lib/js/socket.io.js",()=>jl("vs/loader.js",()=>jl("vs/configure.js",()=>typeof window.socketLoadedHandler=="function"&&window.socketLoadedHandler())));export{VA as C,A0 as D,Xe as G,fw as I,T_ as M,ws as S,tE as a,yE as b,IE as c,ni as d,Toe as e,tm as f,kc as g,VE as h,b as i,koe as j,by as m,fn as u,ut as z}; diff --git a/admin/assets/index-f32XoI0M.js b/admin/assets/index-f32XoI0M.js new file mode 100644 index 000000000..091366600 --- /dev/null +++ b/admin/assets/index-f32XoI0M.js @@ -0,0 +1,5 @@ +import{a as wt,i as zt}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import{R as j,i as s}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{c as O,j as F,P as m}from"./createSvgIcon-DMsh-YeH.js";var it={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Ra=j.createContext&&j.createContext(it),yt=["attr","size","title"];function kt(a,t){if(a==null)return{};var i=Mt(a,t),n,o;if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(a);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(a,n)&&(i[n]=a[n])}return i}function Mt(a,t){if(a==null)return{};var i={};for(var n in a)if(Object.prototype.hasOwnProperty.call(a,n)){if(t.indexOf(n)>=0)continue;i[n]=a[n]}return i}function X(){return X=Object.assign?Object.assign.bind():function(a){for(var t=1;tj.createElement(t.tag,aa({key:i},t.attr),nt(t.child)))}function e(a){return t=>j.createElement(Dt,X({attr:aa({},a.attr)},t),nt(a.child))}function Dt(a){var t=i=>{var{attr:n,size:o,title:c}=a,r=kt(a,yt),d=o||i.size||"1em",u;return i.className&&(u=i.className),a.className&&(u=(u?u+" ":"")+a.className),j.createElement("svg",X({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},i.attr,n,r,{className:u,style:aa(aa({color:a.color||i.color},i.style),a.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),c&&j.createElement("title",null,c),a.children)};return Ra!==void 0?j.createElement(Ra.Consumer,null,i=>t(i)):t(it)}function Fi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 8h-2.81a5.985 5.985 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"},child:[]}]})(a)}function Li(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z",clipRule:"evenodd"},child:[]},{tag:"path",attr:{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.4z"},child:[]}]})(a)}function Ai(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"},child:[]}]})(a)}function Ei(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(a)}function _i(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(a)}function Vi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M21 4H11l-1-3H3c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h8l1 3h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7 16c-2.76 0-5-2.24-5-5s2.24-5 5-5c1.35 0 2.48.5 3.35 1.3L9.03 8.57c-.38-.36-1.04-.78-2.03-.78-1.74 0-3.15 1.44-3.15 3.21S5.26 14.21 7 14.21c2.01 0 2.84-1.44 2.92-2.41H7v-1.71h4.68c.07.31.12.61.12 1.02C11.8 13.97 9.89 16 7 16zm6.17-5.42h3.7c-.43 1.25-1.11 2.43-2.05 3.47-.31-.35-.6-.72-.86-1.1l-.79-2.37zm8.33 9.92c0 .55-.45 1-1 1H14l2-2.5-1.04-3.1 3.1 3.1.92-.92-3.3-3.25.02-.02c1.13-1.25 1.93-2.69 2.4-4.22H20v-1.3h-4.53V8h-1.29v1.29h-1.44L11.46 5.5h9.04c.55 0 1 .45 1 1v14z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0zm0 0h24v24H0z"},child:[]}]})(a)}function Si(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14a2 2 0 0 0-2-2zM11 16l4-4-4-4v3H1v2h10v3z"},child:[]}]})(a)}function Bi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"},child:[]}]})(a)}function Pi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15zM14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z"},child:[]}]})(a)}function Ii(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"},child:[]}]})(a)}function qi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3z"},child:[]}]})(a)}function Ti(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"},child:[]}]})(a)}function Ri(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"},child:[]}]})(a)}function $i(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"},child:[]}]})(a)}function Ki(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(a)}function Wi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"},child:[]}]})(a)}function Ni(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.54 5.54 13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92 1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10 1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"12",r:"3"},child:[]}]})(a)}function Ui(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},child:[]}]})(a)}function Gi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8 5v14l11-7z"},child:[]}]})(a)}function Yi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 10h11v2H3zM3 6h11v2H3zM3 14h7v2H3zM20.59 11.93l-4.25 4.24-2.12-2.12-1.41 1.41L16.34 19 22 13.34z"},child:[]}]})(a)}function Zi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 13h14v-2H5v2zm-2 4h14v-2H3v2zM7 7v2h14V7H7z"},child:[]}]})(a)}function Ji(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77a4.504 4.504 0 0 1-1.09-3.69l-2.03-.68A2.997 2.997 0 0 1 0 9.5c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68a4.468 4.468 0 0 1 3.22-2.32V5.91A3.018 3.018 0 0 1 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68a4.49 4.49 0 0 1-1.09 3.69l1.41 1.77c.38-.18.79-.27 1.23-.27 1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0L8.4 18.2z"},child:[]}]})(a)}function Qi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"},child:[]}]})(a)}function Xi(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 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-2zm0 16H8V7h11v14z"},child:[]}]})(a)}function an(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"},child:[]}]})(a)}function tn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z"},child:[]}]})(a)}function nn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17 6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z"},child:[]}]})(a)}function en(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(a)}function on(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3.27 5 2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27 3.27 5zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5H6z"},child:[]}]})(a)}function pn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.56 8.94 7.62 0 6.21 1.41l2.38 2.38-5.15 5.15a1.49 1.49 0 0 0 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10 10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"},child:[]}]})(a)}function cn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15 16v1.26l-6-3v-3.17L11.7 8H16V2h-6v4.9L7.3 10H3v6h5l7 3.5V22h6v-6z"},child:[]}]})(a)}function ln(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z"},child:[]}]})(a)}function rn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{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-2zm-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3v2z"},child:[]}]})(a)}function dn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z"},child:[]}]})(a)}function sn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m17 16-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"},child:[]}]})(a)}function mn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6z"},child:[]}]})(a)}function vn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"},child:[]}]})(a)}function un(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10a2.5 2.5 0 0 0 2.5-2.5c0-.61-.23-1.2-.64-1.67a.528.528 0 0 1-.13-.33c0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9zm5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9zM5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5zm6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5z"},child:[]}]})(a)}function fn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z"},child:[]}]})(a)}function hn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"},child:[]}]})(a)}function xn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"},child:[]}]})(a)}function gn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"},child:[]}]})(a)}function bn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"},child:[]}]})(a)}function wn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 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 12 17 15.59z"},child:[]}]})(a)}function zn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"},child:[]}]})(a)}function yn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{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"},child:[]}]})(a)}function kn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"},child:[]}]})(a)}function Mn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"},child:[]}]})(a)}function jn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17.65 6.35A7.958 7.958 0 0 0 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.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},child:[]}]})(a)}function Hn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l-4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"},child:[]}]})(a)}function Cn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"},child:[]}]})(a)}function Dn(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"19",r:"2"},child:[]},{tag:"path",attr:{d:"M10 3h4v12h-4z"},child:[]}]})(a)}function On(a){return e({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(a)}const{loadShare:Ot}=zt,{initPromise:Ft}=wt,Lt=Ft.then(a=>Ot("@mui/material",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),At=await Lt.then(a=>a());var Fn=At;function Ln(a){return e({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"},child:[]}]})(a)}function An(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z"},child:[]}]})(a)}function En(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"},child:[]}]})(a)}function _n(a){return e({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"},child:[]}]})(a)}function Vn(a){return e({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"},child:[]}]})(a)}function Sn(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"},child:[]}]})(a)}function Bn(a){return e({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z"},child:[]}]})(a)}function Pn(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z"},child:[]}]})(a)}function In(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z"},child:[]}]})(a)}function qn(a){return e({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(a)}function Tn(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"},child:[]}]})(a)}function Rn(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"},child:[]}]})(a)}function $n(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},child:[]}]})(a)}function Kn(a){return e({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"},child:[]}]})(a)}function Wn(a){return e({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(a)}function Nn(a){return e({attr:{viewBox:"0 0 416 512"},child:[{tag:"path",attr:{d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"},child:[]}]})(a)}function Un(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"},child:[]}]})(a)}function Gn(a){return e({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"},child:[]}]})(a)}function Yn(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"},child:[]}]})(a)}function Zn(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"},child:[]}]})(a)}function Jn(a){return e({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"},child:[]}]})(a)}function Qn(a){return e({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"},child:[]}]})(a)}function Xn(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(a)}function ae(a){return e({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(a)}function te(a){return e({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"},child:[]}]})(a)}function ie(a){return e({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"},child:[]}]})(a)}const ne=O(F.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"),ee=O(F.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),oe=O(F.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"}),"Clear"),pe=O(F.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"),ce=O(F.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"),le=O(F.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"),re=O(F.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language");var Ka=function(){return Ka=Object.assign||function(t){for(var i,n=1,o=arguments.length;n0?o:`./${a.name}`;return typeof n.path!="string"&&Wa(n,"path",c),Wa(n,"relativePath",c),n}function _t(a){const{name:t}=a;if(t&&t.lastIndexOf(".")!==-1&&!a.type){const n=t.split(".").pop().toLowerCase(),o=Et.get(n);o&&Object.defineProperty(a,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return a}function Wa(a,t,i){Object.defineProperty(a,t,{value:i,writable:!1,configurable:!1,enumerable:!0})}const Vt=[".DS_Store","Thumbs.db"];function St(a){return L(this,void 0,void 0,function*(){return ta(a)&&Bt(a.dataTransfer)?Tt(a.dataTransfer,a.type):Pt(a)?It(a):Array.isArray(a)&&a.every(t=>"getFile"in t&&typeof t.getFile=="function")?qt(a):[]})}function Bt(a){return ta(a)}function Pt(a){return ta(a)&&ta(a.target)}function ta(a){return typeof a=="object"&&a!==null}function It(a){return wa(a.target.files).map(t=>S(t))}function qt(a){return L(this,void 0,void 0,function*(){return(yield Promise.all(a.map(i=>i.getFile()))).map(i=>S(i))})}function Tt(a,t){return L(this,void 0,void 0,function*(){if(a.items){const i=wa(a.items).filter(o=>o.kind==="file");if(t!=="drop")return i;const n=yield Promise.all(i.map(Rt));return Na(et(n))}return Na(wa(a.files).map(i=>S(i)))})}function Na(a){return a.filter(t=>Vt.indexOf(t.name)===-1)}function wa(a){if(a===null)return[];const t=[];for(let i=0;i[...t,...Array.isArray(i)?et(i):[i]],[])}function Ua(a,t){return L(this,void 0,void 0,function*(){var i;if(globalThis.isSecureContext&&typeof a.getAsFileSystemHandle=="function"){const c=yield a.getAsFileSystemHandle();if(c===null)throw new Error(`${a} is not a File`);if(c!==void 0){const r=yield c.getFile();return r.handle=c,S(r)}}const n=a.getAsFile();if(!n)throw new Error(`${a} is not a File`);return S(n,(i=t==null?void 0:t.fullPath)!==null&&i!==void 0?i:void 0)})}function $t(a){return L(this,void 0,void 0,function*(){return a.isDirectory?ot(a):Kt(a)})}function ot(a){const t=a.createReader();return new Promise((i,n)=>{const o=[];function c(){t.readEntries(r=>L(this,void 0,void 0,function*(){if(r.length){const d=Promise.all(r.map($t));o.push(d),c()}else try{const d=yield Promise.all(o);i(d)}catch(d){n(d)}}),r=>{n(r)})}c()})}function Kt(a){return L(this,void 0,void 0,function*(){return new Promise((t,i)=>{a.file(n=>{const o=S(n,a.fullPath);t(o)},n=>{i(n)})})})}var ga=function(a,t){if(a&&t){var i=Array.isArray(t)?t:t.split(",");if(i.length===0)return!0;var n=a.name||"",o=(a.type||"").toLowerCase(),c=o.replace(/\/.*$/,"");return i.some(function(r){var d=r.trim().toLowerCase();return d.charAt(0)==="."?n.toLowerCase().endsWith(d):d.endsWith("/*")?c===d.replace(/\/.*$/,""):o===d})}return!0};function Ga(a){return Ut(a)||Nt(a)||ct(a)||Wt()}function Wt(){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 Nt(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function Ut(a){if(Array.isArray(a))return za(a)}function Ya(a,t){var i=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(a,o).enumerable})),i.push.apply(i,n)}return i}function Za(a){for(var t=1;ta.length)&&(t=a.length);for(var i=0,n=new Array(t);i0&&arguments[0]!==void 0?arguments[0]:"",i=t.split(","),n=i.length>1?"one of ".concat(i.join(", ")):i[0];return{code:Qt,message:"File type must be ".concat(n)}},Ja=function(t){return{code:Xt,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},Qa=function(t){return{code:ai,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},ni={code:ti,message:"Too many files"};function lt(a,t){var i=a.type==="application/x-moz-file"||Jt(a,t);return[i,i?null:ii(t)]}function rt(a,t,i){if(D(a.size))if(D(t)&&D(i)){if(a.size>i)return[!1,Ja(i)];if(a.sizei)return[!1,Ja(i)]}return[!0,null]}function D(a){return a!=null}function ei(a){var t=a.files,i=a.accept,n=a.minSize,o=a.maxSize,c=a.multiple,r=a.maxFiles,d=a.validator;return!c&&t.length>1||c&&r>=1&&t.length>r?!1:t.every(function(u){var k=lt(u,i),g=K(k,1),M=g[0],B=rt(u,n,o),P=K(B,1),I=P[0],q=d?d(u):null;return M&&I&&!q})}function ia(a){return typeof a.isPropagationStopped=="function"?a.isPropagationStopped():typeof a.cancelBubble<"u"?a.cancelBubble:!1}function Q(a){return a.dataTransfer?Array.prototype.some.call(a.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!a.target&&!!a.target.files}function Xa(a){a.preventDefault()}function oi(a){return a.indexOf("MSIE")!==-1||a.indexOf("Trident/")!==-1}function pi(a){return a.indexOf("Edge/")!==-1}function ci(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return oi(a)||pi(a)}function y(){for(var a=arguments.length,t=new Array(a),i=0;i1?o-1:0),r=1;ra.length)&&(t=a.length);for(var i=0,n=new Array(t);i=0)&&Object.prototype.propertyIsEnumerable.call(a,n)&&(i[n]=a[n])}return i}function Mi(a,t){if(a==null)return{};var i={},n=Object.keys(a),o,c;for(c=0;c=0)&&(i[o]=a[o]);return i}var ja=s.forwardRef(function(a,t){var i=a.children,n=na(a,vi),o=ji(n),c=o.open,r=na(o,ui);return s.useImperativeHandle(t,function(){return{open:c}},[c]),j.createElement(s.Fragment,null,i(v(v({},r),{},{open:c})))});ja.displayName="Dropzone";var vt={disabled:!1,getFilesFromEvent:St,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};ja.defaultProps=vt;ja.propTypes={children:m.func,accept:m.objectOf(m.arrayOf(m.string)),multiple:m.bool,preventDropOnDocument:m.bool,noClick:m.bool,noKeyboard:m.bool,noDrag:m.bool,noDragEventsBubbling:m.bool,minSize:m.number,maxSize:m.number,maxFiles:m.number,disabled:m.bool,getFilesFromEvent:m.func,onFileDialogCancel:m.func,onFileDialogOpen:m.func,useFsAccessApi:m.bool,autoFocus:m.bool,onDragEnter:m.func,onDragLeave:m.func,onDragOver:m.func,onDrop:m.func,onDropAccepted:m.func,onDropRejected:m.func,onError:m.func,validator:m.func};var Ma={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function ji(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=v(v({},vt),a),i=t.accept,n=t.disabled,o=t.getFilesFromEvent,c=t.maxSize,r=t.minSize,d=t.multiple,u=t.maxFiles,k=t.onDragEnter,g=t.onDragLeave,M=t.onDragOver,B=t.onDrop,P=t.onDropAccepted,I=t.onDropRejected,q=t.onFileDialogCancel,ea=t.onFileDialogOpen,Ha=t.useFsAccessApi,Ca=t.autoFocus,oa=t.preventDropOnDocument,Da=t.noClick,pa=t.noKeyboard,Oa=t.noDrag,H=t.noDragEventsBubbling,ca=t.onError,T=t.validator,R=s.useMemo(function(){return di(i)},[i]),Fa=s.useMemo(function(){return ri(i)},[i]),la=s.useMemo(function(){return typeof ea=="function"?ea:tt},[ea]),W=s.useMemo(function(){return typeof q=="function"?q:tt},[q]),x=s.useRef(null),z=s.useRef(null),ut=s.useReducer(Hi,Ma),La=ba(ut,2),ra=La[0],b=La[1],ft=ra.isFocused,Aa=ra.isFileDialogActive,N=s.useRef(typeof window<"u"&&window.isSecureContext&&Ha&&li()),Ea=function(){!N.current&&Aa&&setTimeout(function(){if(z.current){var l=z.current.files;l.length||(b({type:"closeDialog"}),W())}},300)};s.useEffect(function(){return window.addEventListener("focus",Ea,!1),function(){window.removeEventListener("focus",Ea,!1)}},[z,Aa,W,N]);var A=s.useRef([]),_a=function(l){x.current&&x.current.contains(l.target)||(l.preventDefault(),A.current=[])};s.useEffect(function(){return oa&&(document.addEventListener("dragover",Xa,!1),document.addEventListener("drop",_a,!1)),function(){oa&&(document.removeEventListener("dragover",Xa),document.removeEventListener("drop",_a))}},[x,oa]),s.useEffect(function(){return!n&&Ca&&x.current&&x.current.focus(),function(){}},[x,Ca,n]);var C=s.useCallback(function(p){ca?ca(p):console.error(p)},[ca]),Va=s.useCallback(function(p){p.preventDefault(),p.persist(),Z(p),A.current=[].concat(xi(A.current),[p.target]),Q(p)&&Promise.resolve(o(p)).then(function(l){if(!(ia(p)&&!H)){var f=l.length,h=f>0&&ei({files:l,accept:R,minSize:r,maxSize:c,multiple:d,maxFiles:u,validator:T}),w=f>0&&!h;b({isDragAccept:h,isDragReject:w,isDragActive:!0,type:"setDraggedFiles"}),k&&k(p)}}).catch(function(l){return C(l)})},[o,k,C,H,R,r,c,d,u,T]),Sa=s.useCallback(function(p){p.preventDefault(),p.persist(),Z(p);var l=Q(p);if(l&&p.dataTransfer)try{p.dataTransfer.dropEffect="copy"}catch{}return l&&M&&M(p),!1},[M,H]),Ba=s.useCallback(function(p){p.preventDefault(),p.persist(),Z(p);var l=A.current.filter(function(h){return x.current&&x.current.contains(h)}),f=l.indexOf(p.target);f!==-1&&l.splice(f,1),A.current=l,!(l.length>0)&&(b({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),Q(p)&&g&&g(p))},[x,g,H]),U=s.useCallback(function(p,l){var f=[],h=[];p.forEach(function(w){var $=lt(w,R),V=ba($,2),sa=V[0],ma=V[1],va=rt(w,r,c),J=ba(va,2),ua=J[0],fa=J[1],ha=T?T(w):null;if(sa&&ua&&!ha)f.push(w);else{var xa=[ma,fa];ha&&(xa=xa.concat(ha)),h.push({file:w,errors:xa.filter(function(bt){return bt})})}}),(!d&&f.length>1||d&&u>=1&&f.length>u)&&(f.forEach(function(w){h.push({file:w,errors:[ni]})}),f.splice(0)),b({acceptedFiles:f,fileRejections:h,isDragReject:h.length>0,type:"setFiles"}),B&&B(f,h,l),h.length>0&&I&&I(h,l),f.length>0&&P&&P(f,l)},[b,d,R,r,c,u,B,P,I,T]),G=s.useCallback(function(p){p.preventDefault(),p.persist(),Z(p),A.current=[],Q(p)&&Promise.resolve(o(p)).then(function(l){ia(p)&&!H||U(l,p)}).catch(function(l){return C(l)}),b({type:"reset"})},[o,U,C,H]),E=s.useCallback(function(){if(N.current){b({type:"openDialog"}),la();var p={multiple:d,types:Fa};window.showOpenFilePicker(p).then(function(l){return o(l)}).then(function(l){U(l,null),b({type:"closeDialog"})}).catch(function(l){si(l)?(W(l),b({type:"closeDialog"})):mi(l)?(N.current=!1,z.current?(z.current.value=null,z.current.click()):C(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."))):C(l)});return}z.current&&(b({type:"openDialog"}),la(),z.current.value=null,z.current.click())},[b,la,W,Ha,U,C,Fa,d]),Pa=s.useCallback(function(p){!x.current||!x.current.isEqualNode(p.target)||(p.key===" "||p.key==="Enter"||p.keyCode===32||p.keyCode===13)&&(p.preventDefault(),E())},[x,E]),Ia=s.useCallback(function(){b({type:"focus"})},[]),qa=s.useCallback(function(){b({type:"blur"})},[]),Ta=s.useCallback(function(){Da||(ci()?setTimeout(E,0):E())},[Da,E]),_=function(l){return n?null:l},da=function(l){return pa?null:_(l)},Y=function(l){return Oa?null:_(l)},Z=function(l){H&&l.stopPropagation()},ht=s.useMemo(function(){return function(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=p.refKey,f=l===void 0?"ref":l,h=p.role,w=p.onKeyDown,$=p.onFocus,V=p.onBlur,sa=p.onClick,ma=p.onDragEnter,va=p.onDragOver,J=p.onDragLeave,ua=p.onDrop,fa=na(p,fi);return v(v(ka({onKeyDown:da(y(w,Pa)),onFocus:da(y($,Ia)),onBlur:da(y(V,qa)),onClick:_(y(sa,Ta)),onDragEnter:Y(y(ma,Va)),onDragOver:Y(y(va,Sa)),onDragLeave:Y(y(J,Ba)),onDrop:Y(y(ua,G)),role:typeof h=="string"&&h!==""?h:"presentation"},f,x),!n&&!pa?{tabIndex:0}:{}),fa)}},[x,Pa,Ia,qa,Ta,Va,Sa,Ba,G,pa,Oa,n]),xt=s.useCallback(function(p){p.stopPropagation()},[]),gt=s.useMemo(function(){return function(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=p.refKey,f=l===void 0?"ref":l,h=p.onChange,w=p.onClick,$=na(p,hi),V=ka({accept:R,multiple:d,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:_(y(h,G)),onClick:_(y(w,xt)),tabIndex:-1},f,z);return v(v({},V),$)}},[z,i,d,G,n]);return v(v({},ra),{},{isFocused:ft&&!n,getRootProps:ht,getInputProps:gt,rootRef:x,inputRef:z,open:_(E)})}function Hi(a,t){switch(t.type){case"focus":return v(v({},a),{},{isFocused:!0});case"blur":return v(v({},a),{},{isFocused:!1});case"openDialog":return v(v({},Ma),{},{isFileDialogActive:!0});case"closeDialog":return v(v({},a),{},{isFileDialogActive:!1});case"setDraggedFiles":return v(v({},a),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return v(v({},a),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case"reset":return v({},Ma);default:return a}}function tt(){}export{Ni as $,Zi as A,Yi as B,ee as C,en as D,jn as E,qn as F,an as G,wn as H,ne as I,Ai as J,In as K,An as L,Ui as M,mn as N,Ln as O,Li as P,ja as Q,dn as R,re as S,le as T,zn as U,Ri as V,hn as W,kn as X,ji as Y,e as Z,Ka as _,ce as a,Ji as a0,cn as a1,sn as a2,Wi as a3,te as a4,Pi as a5,ae as a6,Qn as a7,Un as a8,pn as a9,Vi as aA,Gn as aa,On as ab,Yn as ac,Wn as ad,Kn as ae,$n as af,ie as ag,Rn as ah,Sn as ai,Zn as aj,Nn as ak,nn as al,$i as am,tn as an,Vn as ao,Jn as ap,Xn as aq,_n as ar,En as as,Bi as at,fn as au,Ki as av,Dn as aw,gn as ax,xn as ay,bn as az,oe as b,pe as c,Gi as d,_i as e,Si as f,Tn as g,Bn as h,Fn as i,Pn as j,un as k,Xi as l,Fi as m,on as n,yn as o,Mn as p,Qi as q,rn as r,Ii as s,qi as t,vn as u,Cn as v,Hn as w,ln as x,Ei as y,Ti as z}; diff --git a/admin/assets/index-o6IQE1xm.js b/admin/assets/index-o6IQE1xm.js new file mode 100644 index 000000000..256b20111 --- /dev/null +++ b/admin/assets/index-o6IQE1xm.js @@ -0,0 +1,16 @@ +import{j as M}from"./createSvgIcon-DMsh-YeH.js";import{R as dt,i as Rt}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{i as Oe,m as Ft,z as Nt,g as Lt}from"./index-dMNZJoGO.js";import{i as G,x as Vt,y as zt,l as qt,U as It,e as Wt,q as Kt,o as $t,E as Jt,d as Ut,M as Ht,ax as Gt,ay as Yt,az as Qt,a3 as Zt}from"./index-f32XoI0M.js";import Xt from"./ScriptEditorVanillaMonaco-B14Clvtt.js";import{g as ea}from"./_commonjsHelpers-Cpj98o6Y.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import"./inheritsLoose-DgfqekV3.js";import"./preload-helper-Dp1pzeXC.js";const ta={editorDiv:{height:"100%",width:"100%",overflow:"hidden",position:"relative"}};class aa extends dt.Component{constructor(v){super(v),this.state={lines:(this.props.script||"").split(/\r\n|\n/)}}render(){return M.jsx("div",{style:ta.editorDiv,children:M.jsx(Xt,{triggerPrettier:1,name:this.props.scriptName,adapterName:this.props.adapterName,readOnly:!0,code:this.props.script||"",isDark:this.props.themeType==="dark",socket:this.props.socket,runningInstances:this.props.runningInstances,language:"javascript",breakpoints:this.props.breakpoints,location:this.props.paused?this.props.location:null,onToggleBreakpoint:v=>this.props.onToggleBreakpoint(v)},"scriptEditor2")},"scriptEditorDiv2")}}const At=34,Ke={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:X=>({display:"inline-block",color:X.palette.mode==="dark"?"white":"black",width:`calc(100% - ${At}px)`,height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"}),info:X=>({background:X.palette.mode==="dark"?"darkgrey":"lightgrey",color:(X.palette.mode==="dark","black")}),error:X=>({background:"#FF0000",color:X.palette.mode==="dark"?"black":"white"}),warn:X=>({background:"#FF8000",color:X.palette.mode==="dark"?"black":"white"}),debug:X=>({background:"gray",opacity:.8,color:X.palette.mode==="dark"?"black":"white"}),silly:X=>({background:"gray",opacity:.6,color:X.palette.mode==="dark"?"black":"white"}),table:{fontFamily:"monospace",width:"100%"},toolbox:{width:At,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4}};function ra(X){let v,g=X.getHours();return g<10&&(g=`0${g.toString()}`),v=`${g}:`,g=X.getMinutes(),g<10&&(g=`0${g.toString()}`),v+=`${g}:`,g=X.getSeconds(),g<10&&(g=`0${g.toString()}`),v+=`${g}.`,g=X.getMilliseconds(),g<10?g=`00${g.toString()}`:g<100&&(g=`0${g.toString()}`),v+=g,v}class _t extends dt.Component{messagesEnd;constructor(v){super(v),this.state={goBottom:!0},this.messagesEnd=dt.createRef()}static generateLine(v){return M.jsxs(G.Box,{component:"tr",sx:Ke[v.severity],children:[M.jsx("td",{style:Ke.trTime,children:ra(new Date(v.ts))}),M.jsx("td",{style:Ke.trSeverity,children:v.severity}),M.jsx("td",{children:v.text})]},`tr_${v.ts}_${v.text.substring(v.text.length-10,v.text.length)}`)}renderLogList(v){return v!=null&&v.length?M.jsxs(G.Box,{sx:Ke.logBoxInner,children:[M.jsx("table",{style:Ke.table,children:M.jsx("tbody",{children:v.map(g=>_t.generateLine(g))})},"logTable"),M.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):M.jsx(G.Box,{sx:Ke.logBoxInner,style:{paddingLeft:10},children:Oe.I18n.t("Log outputs")},"logList")}onCopy(){Oe.Utils.copyToClipboard(this.props.console.join(` +`))}scrollToBottom(){var v,g;(g=(v=this.messagesEnd)==null?void 0:v.current)==null||g.scrollIntoView({behavior:"smooth"})}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}render(){const v=this.props.console;return M.jsxs("div",{style:Ke.logBox,children:[M.jsxs("div",{style:Ke.toolbox,children:[M.jsx(G.IconButton,{style:Ke.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":void 0,size:"medium",children:M.jsx(Vt,{})}),v!=null&&v.length?M.jsx(G.IconButton,{style:Ke.iconButtons,onClick:()=>this.props.onClearAllLogs(),size:"medium",children:M.jsx(zt,{})}):null,v!=null&&v.length?M.jsx(G.IconButton,{style:Ke.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:M.jsx(qt,{})}):null]},"toolbox"),this.renderLogList(v)]})}}var wt={exports:{}},na=wt.exports;(function(X,v){(function(g,a){X.exports=a(Rt)})(na,function(g){return function(a){var t={};function e(s){if(t[s])return t[s].exports;var c=t[s]={i:s,l:!1,exports:{}};return a[s].call(c.exports,c,c.exports,e),c.l=!0,c.exports}return e.m=a,e.c=t,e.d=function(s,c,d){e.o(s,c)||Object.defineProperty(s,c,{enumerable:!0,get:d})},e.r=function(s){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})},e.t=function(s,c){if(1&c&&(s=e(s)),8&c||4&c&&typeof s=="object"&&s&&s.__esModule)return s;var d=Object.create(null);if(e.r(d),Object.defineProperty(d,"default",{enumerable:!0,value:s}),2&c&&typeof s!="string")for(var p in s)e.d(d,p,function(f){return s[f]}.bind(null,p));return d},e.n=function(s){var c=s&&s.__esModule?function(){return s.default}:function(){return s};return e.d(c,"a",c),c},e.o=function(s,c){return Object.prototype.hasOwnProperty.call(s,c)},e.p="",e(e.s=48)}([function(a,t){a.exports=g},function(a,t){var e=a.exports={version:"2.6.12"};typeof __e=="number"&&(__e=e)},function(a,t,e){var s=e(26)("wks"),c=e(17),d=e(3).Symbol,p=typeof d=="function";(a.exports=function(f){return s[f]||(s[f]=p&&d[f]||(p?d:c)("Symbol."+f))}).store=s},function(a,t){var e=a.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=e)},function(a,t,e){a.exports=!e(8)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(a,t){var e={}.hasOwnProperty;a.exports=function(s,c){return e.call(s,c)}},function(a,t,e){var s=e(7),c=e(16);a.exports=e(4)?function(d,p,f){return s.f(d,p,c(1,f))}:function(d,p,f){return d[p]=f,d}},function(a,t,e){var s=e(10),c=e(35),d=e(23),p=Object.defineProperty;t.f=e(4)?Object.defineProperty:function(f,h,E){if(s(f),h=d(h,!0),s(E),c)try{return p(f,h,E)}catch{}if("get"in E||"set"in E)throw TypeError("Accessors not supported!");return"value"in E&&(f[h]=E.value),f}},function(a,t){a.exports=function(e){try{return!!e()}catch{return!0}}},function(a,t,e){var s=e(40),c=e(22);a.exports=function(d){return s(c(d))}},function(a,t,e){var s=e(11);a.exports=function(c){if(!s(c))throw TypeError(c+" is not an object!");return c}},function(a,t){a.exports=function(e){return typeof e=="object"?e!==null:typeof e=="function"}},function(a,t){a.exports={}},function(a,t,e){var s=e(39),c=e(27);a.exports=Object.keys||function(d){return s(d,c)}},function(a,t){a.exports=!0},function(a,t,e){var s=e(3),c=e(1),d=e(53),p=e(6),f=e(5),h=function(E,b,w){var I,D,H,L=E&h.F,ee=E&h.G,r=E&h.S,B=E&h.P,V=E&h.B,z=E&h.W,q=ee?c:c[b]||(c[b]={}),k=q.prototype,A=ee?s:r?s[b]:(s[b]||{}).prototype;for(I in ee&&(w=b),w)(D=!L&&A&&A[I]!==void 0)&&f(q,I)||(H=D?A[I]:w[I],q[I]=ee&&typeof A[I]!="function"?w[I]:V&&D?d(H,s):z&&A[I]==H?function(T){var W=function(S,te,J){if(this instanceof T){switch(arguments.length){case 0:return new T;case 1:return new T(S);case 2:return new T(S,te)}return new T(S,te,J)}return T.apply(this,arguments)};return W.prototype=T.prototype,W}(H):B&&typeof H=="function"?d(Function.call,H):H,B&&((q.virtual||(q.virtual={}))[I]=H,E&h.R&&k&&!k[I]&&p(k,I,H)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,a.exports=h},function(a,t){a.exports=function(e,s){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:s}}},function(a,t){var e=0,s=Math.random();a.exports=function(c){return"Symbol(".concat(c===void 0?"":c,")_",(++e+s).toString(36))}},function(a,t,e){var s=e(22);a.exports=function(c){return Object(s(c))}},function(a,t){t.f={}.propertyIsEnumerable},function(a,t,e){var s=e(52)(!0);e(34)(String,"String",function(c){this._t=String(c),this._i=0},function(){var c,d=this._t,p=this._i;return p>=d.length?{value:void 0,done:!0}:(c=s(d,p),this._i+=c.length,{value:c,done:!1})})},function(a,t){var e=Math.ceil,s=Math.floor;a.exports=function(c){return isNaN(c=+c)?0:(c>0?s:e)(c)}},function(a,t){a.exports=function(e){if(e==null)throw TypeError("Can't call method on "+e);return e}},function(a,t,e){var s=e(11);a.exports=function(c,d){if(!s(c))return c;var p,f;if(d&&typeof(p=c.toString)=="function"&&!s(f=p.call(c))||typeof(p=c.valueOf)=="function"&&!s(f=p.call(c))||!d&&typeof(p=c.toString)=="function"&&!s(f=p.call(c)))return f;throw TypeError("Can't convert object to primitive value")}},function(a,t){var e={}.toString;a.exports=function(s){return e.call(s).slice(8,-1)}},function(a,t,e){var s=e(26)("keys"),c=e(17);a.exports=function(d){return s[d]||(s[d]=c(d))}},function(a,t,e){var s=e(1),c=e(3),d=c["__core-js_shared__"]||(c["__core-js_shared__"]={});(a.exports=function(p,f){return d[p]||(d[p]=f!==void 0?f:{})})("versions",[]).push({version:s.version,mode:e(14)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(a,t){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,t,e){var s=e(7).f,c=e(5),d=e(2)("toStringTag");a.exports=function(p,f,h){p&&!c(p=h?p:p.prototype,d)&&s(p,d,{configurable:!0,value:f})}},function(a,t,e){e(62);for(var s=e(3),c=e(6),d=e(12),p=e(2)("toStringTag"),f="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),h=0;hdocument.F=Object<\/script>"),E.close(),h=E.F;w--;)delete h.prototype[d[w]];return h()};a.exports=Object.create||function(E,b){var w;return E!==null?(f.prototype=s(E),w=new f,f.prototype=null,w[p]=E):w=h(),b===void 0?w:c(w,b)}},function(a,t,e){var s=e(5),c=e(9),d=e(57)(!1),p=e(25)("IE_PROTO");a.exports=function(f,h){var E,b=c(f),w=0,I=[];for(E in b)E!=p&&s(b,E)&&I.push(E);for(;h.length>w;)s(b,E=h[w++])&&(~d(I,E)||I.push(E));return I}},function(a,t,e){var s=e(24);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(c){return s(c)=="String"?c.split(""):Object(c)}},function(a,t,e){var s=e(39),c=e(27).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(d){return s(d,c)}},function(a,t,e){var s=e(24),c=e(2)("toStringTag"),d=s(function(){return arguments}())=="Arguments";a.exports=function(p){var f,h,E;return p===void 0?"Undefined":p===null?"Null":typeof(h=function(b,w){try{return b[w]}catch{}}(f=Object(p),c))=="string"?h:d?s(f):(E=s(f))=="Object"&&typeof f.callee=="function"?"Arguments":E}},function(a,t){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch{typeof window=="object"&&(e=window)}a.exports=e},function(a,t){var e=/-?\d+(\.\d+)?%?/g;a.exports=function(s){return s.match(e)}},function(a,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.getBase16Theme=t.createStyling=t.invertTheme=void 0;var s=D(e(49)),c=D(e(76)),d=D(e(81)),p=D(e(89)),f=D(e(93)),h=function(k){if(k&&k.__esModule)return k;var A={};if(k!=null)for(var T in k)Object.prototype.hasOwnProperty.call(k,T)&&(A[T]=k[T]);return A.default=k,A}(e(94)),E=D(e(132)),b=D(e(133)),w=D(e(138)),I=e(139);function D(k){return k&&k.__esModule?k:{default:k}}var H=h.default,L=(0,p.default)(H),ee=(0,w.default)(b.default,I.rgb2yuv,function(k){var A,T=(0,d.default)(k,3),W=T[0],S=T[1],te=T[2];return[(A=W,A<.25?1:A<.5?.9-A:1.1-A),S,te]},I.yuv2rgb,E.default),r=function(k){return function(A){return{className:[A.className,k.className].filter(Boolean).join(" "),style:(0,c.default)({},A.style||{},k.style||{})}}},B=function(k,A){var T=(0,p.default)(A);for(var W in k)T.indexOf(W)===-1&&T.push(W);return T.reduce(function(S,te){return S[te]=function(J,C){if(J===void 0)return C;if(C===void 0)return J;var Q=J===void 0?"undefined":(0,s.default)(J),he=C===void 0?"undefined":(0,s.default)(C);switch(Q){case"string":switch(he){case"string":return[C,J].filter(Boolean).join(" ");case"object":return r({className:J,style:C});case"function":return function(ue){for(var U=arguments.length,ce=Array(U>1?U-1:0),Z=1;Z1?U-1:0),Z=1;Z1?U-1:0),Z=1;Z1?U-1:0),Z=1;Z1?U-1:0),Z=1;Z2?T-2:0),S=2;S3?A-3:0),W=3;W1&&arguments[1]!==void 0?arguments[1]:{},te=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},J=S.defaultBase16,C=J===void 0?H:J,Q=S.base16Themes,he=Q===void 0?null:Q,ue=q(te,he);ue&&(te=(0,c.default)({},ue,te));var U=L.reduce(function(ge,Me){return ge[Me]=te[Me]||C[Me],ge},{}),ce=(0,p.default)(te).reduce(function(ge,Me){return L.indexOf(Me)===-1&&(ge[Me]=te[Me]),ge},{}),Z=k(U),me=B(ce,Z);return(0,f.default)(V,2).apply(void 0,[me].concat(T))},3),t.getBase16Theme=function(k,A){if(k&&k.extend&&(k=k.extend),typeof k=="string"){var T=k.split(":"),W=(0,d.default)(T,2),S=W[0],te=W[1];k=(A||{})[S]||h[S],te==="inverted"&&(k=z(k))}return k&&k.hasOwnProperty("base00")?k:void 0})},function(a,t,e){var s,c=typeof Reflect=="object"?Reflect:null,d=c&&typeof c.apply=="function"?c.apply:function(r,B,V){return Function.prototype.apply.call(r,B,V)};s=c&&typeof c.ownKeys=="function"?c.ownKeys:Object.getOwnPropertySymbols?function(r){return Object.getOwnPropertyNames(r).concat(Object.getOwnPropertySymbols(r))}:function(r){return Object.getOwnPropertyNames(r)};var p=Number.isNaN||function(r){return r!=r};function f(){f.init.call(this)}a.exports=f,a.exports.once=function(r,B){return new Promise(function(V,z){function q(){k!==void 0&&r.removeListener("error",k),V([].slice.call(arguments))}var k;B!=="error"&&(k=function(A){r.removeListener(B,q),z(A)},r.once("error",k)),r.once(B,q)})},f.EventEmitter=f,f.prototype._events=void 0,f.prototype._eventsCount=0,f.prototype._maxListeners=void 0;var h=10;function E(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}function b(r){return r._maxListeners===void 0?f.defaultMaxListeners:r._maxListeners}function w(r,B,V,z){var q,k,A,T;if(E(V),(k=r._events)===void 0?(k=r._events=Object.create(null),r._eventsCount=0):(k.newListener!==void 0&&(r.emit("newListener",B,V.listener?V.listener:V),k=r._events),A=k[B]),A===void 0)A=k[B]=V,++r._eventsCount;else if(typeof A=="function"?A=k[B]=z?[V,A]:[A,V]:z?A.unshift(V):A.push(V),(q=b(r))>0&&A.length>q&&!A.warned){A.warned=!0;var W=new Error("Possible EventEmitter memory leak detected. "+A.length+" "+String(B)+" listeners added. Use emitter.setMaxListeners() to increase limit");W.name="MaxListenersExceededWarning",W.emitter=r,W.type=B,W.count=A.length,T=W,console&&console.warn&&console.warn(T)}return r}function I(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function D(r,B,V){var z={fired:!1,wrapFn:void 0,target:r,type:B,listener:V},q=I.bind(z);return q.listener=V,z.wrapFn=q,q}function H(r,B,V){var z=r._events;if(z===void 0)return[];var q=z[B];return q===void 0?[]:typeof q=="function"?V?[q.listener||q]:[q]:V?function(k){for(var A=new Array(k.length),T=0;T0&&(k=B[0]),k instanceof Error)throw k;var A=new Error("Unhandled error."+(k?" ("+k.message+")":""));throw A.context=k,A}var T=q[r];if(T===void 0)return!1;if(typeof T=="function")d(T,this,B);else{var W=T.length,S=ee(T,W);for(V=0;V=0;k--)if(V[k]===B||V[k].listener===B){A=V[k].listener,q=k;break}if(q<0)return this;q===0?V.shift():function(T,W){for(;W+1=0;z--)this.removeListener(r,B[z]);return this},f.prototype.listeners=function(r){return H(this,r,!0)},f.prototype.rawListeners=function(r){return H(this,r,!1)},f.listenerCount=function(r,B){return typeof r.listenerCount=="function"?r.listenerCount(B):L.call(r,B)},f.prototype.listenerCount=L,f.prototype.eventNames=function(){return this._eventsCount>0?s(this._events):[]}},function(a,t,e){a.exports.Dispatcher=e(140)},function(a,t,e){a.exports=e(142)},function(a,t,e){t.__esModule=!0;var s=p(e(50)),c=p(e(65)),d=typeof c.default=="function"&&typeof s.default=="symbol"?function(f){return typeof f}:function(f){return f&&typeof c.default=="function"&&f.constructor===c.default&&f!==c.default.prototype?"symbol":typeof f};function p(f){return f&&f.__esModule?f:{default:f}}t.default=typeof c.default=="function"&&d(s.default)==="symbol"?function(f){return f===void 0?"undefined":d(f)}:function(f){return f&&typeof c.default=="function"&&f.constructor===c.default&&f!==c.default.prototype?"symbol":f===void 0?"undefined":d(f)}},function(a,t,e){a.exports={default:e(51),__esModule:!0}},function(a,t,e){e(20),e(29),a.exports=e(30).f("iterator")},function(a,t,e){var s=e(21),c=e(22);a.exports=function(d){return function(p,f){var h,E,b=String(c(p)),w=s(f),I=b.length;return w<0||w>=I?d?"":void 0:(h=b.charCodeAt(w))<55296||h>56319||w+1===I||(E=b.charCodeAt(w+1))<56320||E>57343?d?b.charAt(w):h:d?b.slice(w,w+2):E-56320+(h-55296<<10)+65536}}},function(a,t,e){var s=e(54);a.exports=function(c,d,p){if(s(c),d===void 0)return c;switch(p){case 1:return function(f){return c.call(d,f)};case 2:return function(f,h){return c.call(d,f,h)};case 3:return function(f,h,E){return c.call(d,f,h,E)}}return function(){return c.apply(d,arguments)}}},function(a,t){a.exports=function(e){if(typeof e!="function")throw TypeError(e+" is not a function!");return e}},function(a,t,e){var s=e(38),c=e(16),d=e(28),p={};e(6)(p,e(2)("iterator"),function(){return this}),a.exports=function(f,h,E){f.prototype=s(p,{next:c(1,E)}),d(f,h+" Iterator")}},function(a,t,e){var s=e(7),c=e(10),d=e(13);a.exports=e(4)?Object.defineProperties:function(p,f){c(p);for(var h,E=d(f),b=E.length,w=0;b>w;)s.f(p,h=E[w++],f[h]);return p}},function(a,t,e){var s=e(9),c=e(58),d=e(59);a.exports=function(p){return function(f,h,E){var b,w=s(f),I=c(w.length),D=d(E,I);if(p&&h!=h){for(;I>D;)if((b=w[D++])!=b)return!0}else for(;I>D;D++)if((p||D in w)&&w[D]===h)return p||D||0;return!p&&-1}}},function(a,t,e){var s=e(21),c=Math.min;a.exports=function(d){return d>0?c(s(d),9007199254740991):0}},function(a,t,e){var s=e(21),c=Math.max,d=Math.min;a.exports=function(p,f){return(p=s(p))<0?c(p+f,0):d(p,f)}},function(a,t,e){var s=e(3).document;a.exports=s&&s.documentElement},function(a,t,e){var s=e(5),c=e(18),d=e(25)("IE_PROTO"),p=Object.prototype;a.exports=Object.getPrototypeOf||function(f){return f=c(f),s(f,d)?f[d]:typeof f.constructor=="function"&&f instanceof f.constructor?f.constructor.prototype:f instanceof Object?p:null}},function(a,t,e){var s=e(63),c=e(64),d=e(12),p=e(9);a.exports=e(34)(Array,"Array",function(f,h){this._t=p(f),this._i=0,this._k=h},function(){var f=this._t,h=this._k,E=this._i++;return!f||E>=f.length?(this._t=void 0,c(1)):c(0,h=="keys"?E:h=="values"?f[E]:[E,f[E]])},"values"),d.Arguments=d.Array,s("keys"),s("values"),s("entries")},function(a,t){a.exports=function(){}},function(a,t){a.exports=function(e,s){return{value:s,done:!!e}}},function(a,t,e){a.exports={default:e(66),__esModule:!0}},function(a,t,e){e(67),e(73),e(74),e(75),a.exports=e(1).Symbol},function(a,t,e){var s=e(3),c=e(5),d=e(4),p=e(15),f=e(37),h=e(68).KEY,E=e(8),b=e(26),w=e(28),I=e(17),D=e(2),H=e(30),L=e(31),ee=e(69),r=e(70),B=e(10),V=e(11),z=e(18),q=e(9),k=e(23),A=e(16),T=e(38),W=e(71),S=e(72),te=e(32),J=e(7),C=e(13),Q=S.f,he=J.f,ue=W.f,U=s.Symbol,ce=s.JSON,Z=ce&&ce.stringify,me=D("_hidden"),ge=D("toPrimitive"),Me={}.propertyIsEnumerable,Ee=b("symbol-registry"),Ce=b("symbols"),be=b("op-symbols"),ye=Object.prototype,Be=typeof U=="function"&&!!te.f,Ue=s.QObject,Ze=!Ue||!Ue.prototype||!Ue.prototype.findChild,Xe=d&&E(function(){return T(he({},"a",{get:function(){return he(this,"a",{value:7}).a}})).a!=7})?function(j,N,R){var K=Q(ye,N);K&&delete ye[N],he(j,N,R),K&&j!==ye&&he(ye,N,K)}:he,et=function(j){var N=Ce[j]=T(U.prototype);return N._k=j,N},tt=Be&&typeof U.iterator=="symbol"?function(j){return typeof j=="symbol"}:function(j){return j instanceof U},He=function(j,N,R){return j===ye&&He(be,N,R),B(j),N=k(N,!0),B(R),c(Ce,N)?(R.enumerable?(c(j,me)&&j[me][N]&&(j[me][N]=!1),R=T(R,{enumerable:A(0,!1)})):(c(j,me)||he(j,me,A(1,{})),j[me][N]=!0),Xe(j,N,R)):he(j,N,R)},nt=function(j,N){B(j);for(var R,K=ee(N=q(N)),ne=0,ae=K.length;ae>ne;)He(j,R=K[ne++],N[R]);return j},st=function(j){var N=Me.call(this,j=k(j,!0));return!(this===ye&&c(Ce,j)&&!c(be,j))&&(!(N||!c(this,j)||!c(Ce,j)||c(this,me)&&this[me][j])||N)},at=function(j,N){if(j=q(j),N=k(N,!0),j!==ye||!c(Ce,N)||c(be,N)){var R=Q(j,N);return!R||!c(Ce,N)||c(j,me)&&j[me][N]||(R.enumerable=!0),R}},ot=function(j){for(var N,R=ue(q(j)),K=[],ne=0;R.length>ne;)c(Ce,N=R[ne++])||N==me||N==h||K.push(N);return K},Ge=function(j){for(var N,R=j===ye,K=ue(R?be:q(j)),ne=[],ae=0;K.length>ae;)!c(Ce,N=K[ae++])||R&&!c(ye,N)||ne.push(Ce[N]);return ne};Be||(f((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor!");var j=I(arguments.length>0?arguments[0]:void 0),N=function(R){this===ye&&N.call(be,R),c(this,me)&&c(this[me],j)&&(this[me][j]=!1),Xe(this,j,A(1,R))};return d&&Ze&&Xe(ye,j,{configurable:!0,set:N}),et(j)}).prototype,"toString",function(){return this._k}),S.f=at,J.f=He,e(41).f=W.f=ot,e(19).f=st,te.f=Ge,d&&!e(14)&&f(ye,"propertyIsEnumerable",st,!0),H.f=function(j){return et(D(j))}),p(p.G+p.W+p.F*!Be,{Symbol:U});for(var Ve="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),Ie=0;Ve.length>Ie;)D(Ve[Ie++]);for(var rt=C(D.store),F=0;rt.length>F;)L(rt[F++]);p(p.S+p.F*!Be,"Symbol",{for:function(j){return c(Ee,j+="")?Ee[j]:Ee[j]=U(j)},keyFor:function(j){if(!tt(j))throw TypeError(j+" is not a symbol!");for(var N in Ee)if(Ee[N]===j)return N},useSetter:function(){Ze=!0},useSimple:function(){Ze=!1}}),p(p.S+p.F*!Be,"Object",{create:function(j,N){return N===void 0?T(j):nt(T(j),N)},defineProperty:He,defineProperties:nt,getOwnPropertyDescriptor:at,getOwnPropertyNames:ot,getOwnPropertySymbols:Ge});var x=E(function(){te.f(1)});p(p.S+p.F*x,"Object",{getOwnPropertySymbols:function(j){return te.f(z(j))}}),ce&&p(p.S+p.F*(!Be||E(function(){var j=U();return Z([j])!="[null]"||Z({a:j})!="{}"||Z(Object(j))!="{}"})),"JSON",{stringify:function(j){for(var N,R,K=[j],ne=1;arguments.length>ne;)K.push(arguments[ne++]);if(R=N=K[1],(V(N)||j!==void 0)&&!tt(j))return r(N)||(N=function(ae,pe){if(typeof R=="function"&&(pe=R.call(this,ae,pe)),!tt(pe))return pe}),K[1]=N,Z.apply(ce,K)}}),U.prototype[ge]||e(6)(U.prototype,ge,U.prototype.valueOf),w(U,"Symbol"),w(Math,"Math",!0),w(s.JSON,"JSON",!0)},function(a,t,e){var s=e(17)("meta"),c=e(11),d=e(5),p=e(7).f,f=0,h=Object.isExtensible||function(){return!0},E=!e(8)(function(){return h(Object.preventExtensions({}))}),b=function(I){p(I,s,{value:{i:"O"+ ++f,w:{}}})},w=a.exports={KEY:s,NEED:!1,fastKey:function(I,D){if(!c(I))return typeof I=="symbol"?I:(typeof I=="string"?"S":"P")+I;if(!d(I,s)){if(!h(I))return"F";if(!D)return"E";b(I)}return I[s].i},getWeak:function(I,D){if(!d(I,s)){if(!h(I))return!0;if(!D)return!1;b(I)}return I[s].w},onFreeze:function(I){return E&&w.NEED&&h(I)&&!d(I,s)&&b(I),I}}},function(a,t,e){var s=e(13),c=e(32),d=e(19);a.exports=function(p){var f=s(p),h=c.f;if(h)for(var E,b=h(p),w=d.f,I=0;b.length>I;)w.call(p,E=b[I++])&&f.push(E);return f}},function(a,t,e){var s=e(24);a.exports=Array.isArray||function(c){return s(c)=="Array"}},function(a,t,e){var s=e(9),c=e(41).f,d={}.toString,p=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];a.exports.f=function(f){return p&&d.call(f)=="[object Window]"?function(h){try{return c(h)}catch{return p.slice()}}(f):c(s(f))}},function(a,t,e){var s=e(19),c=e(16),d=e(9),p=e(23),f=e(5),h=e(35),E=Object.getOwnPropertyDescriptor;t.f=e(4)?E:function(b,w){if(b=d(b),w=p(w,!0),h)try{return E(b,w)}catch{}if(f(b,w))return c(!s.f.call(b,w),b[w])}},function(a,t){},function(a,t,e){e(31)("asyncIterator")},function(a,t,e){e(31)("observable")},function(a,t,e){t.__esModule=!0;var s,c=e(77),d=(s=c)&&s.__esModule?s:{default:s};t.default=d.default||function(p){for(var f=1;fH;)for(var r,B=h(arguments[H++]),V=L?c(B).concat(L(B)):c(B),z=V.length,q=0;z>q;)r=V[q++],s&&!ee.call(B,r)||(I[r]=B[r]);return I}:E},function(a,t,e){t.__esModule=!0;var s=d(e(82)),c=d(e(85));function d(p){return p&&p.__esModule?p:{default:p}}t.default=function(p,f){if(Array.isArray(p))return p;if((0,s.default)(Object(p)))return function(h,E){var b=[],w=!0,I=!1,D=void 0;try{for(var H,L=(0,c.default)(h);!(w=(H=L.next()).done)&&(b.push(H.value),!E||b.length!==E);w=!0);}catch(ee){I=!0,D=ee}finally{try{!w&&L.return&&L.return()}finally{if(I)throw D}}return b}(p,f);throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(a,t,e){a.exports={default:e(83),__esModule:!0}},function(a,t,e){e(29),e(20),a.exports=e(84)},function(a,t,e){var s=e(42),c=e(2)("iterator"),d=e(12);a.exports=e(1).isIterable=function(p){var f=Object(p);return f[c]!==void 0||"@@iterator"in f||d.hasOwnProperty(s(f))}},function(a,t,e){a.exports={default:e(86),__esModule:!0}},function(a,t,e){e(29),e(20),a.exports=e(87)},function(a,t,e){var s=e(10),c=e(88);a.exports=e(1).getIterator=function(d){var p=c(d);if(typeof p!="function")throw TypeError(d+" is not iterable!");return s(p.call(d))}},function(a,t,e){var s=e(42),c=e(2)("iterator"),d=e(12);a.exports=e(1).getIteratorMethod=function(p){if(p!=null)return p[c]||p["@@iterator"]||d[s(p)]}},function(a,t,e){a.exports={default:e(90),__esModule:!0}},function(a,t,e){e(91),a.exports=e(1).Object.keys},function(a,t,e){var s=e(18),c=e(13);e(92)("keys",function(){return function(d){return c(s(d))}})},function(a,t,e){var s=e(15),c=e(1),d=e(8);a.exports=function(p,f){var h=(c.Object||{})[p]||Object[p],E={};E[p]=f(h),s(s.S+s.F*d(function(){h(1)}),"Object",E)}},function(a,t,e){(function(s){var c=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],d=/^\s+|\s+$/g,p=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,f=/\{\n\/\* \[wrapped with (.+)\] \*/,h=/,? & /,E=/^[-+]0x[0-9a-f]+$/i,b=/^0b[01]+$/i,w=/^\[object .+?Constructor\]$/,I=/^0o[0-7]+$/i,D=/^(?:0|[1-9]\d*)$/,H=parseInt,L=typeof s=="object"&&s&&s.Object===Object&&s,ee=typeof self=="object"&&self&&self.Object===Object&&self,r=L||ee||Function("return this")();function B(F,x,j){switch(j.length){case 0:return F.call(x);case 1:return F.call(x,j[0]);case 2:return F.call(x,j[0],j[1]);case 3:return F.call(x,j[0],j[1],j[2])}return F.apply(x,j)}function V(F,x){return!!(F&&F.length)&&function(j,N,R){if(N!=N)return function(ae,pe,xe,je){for(var Ae=ae.length,ve=xe+-1;++ve-1}function z(F){return F!=F}function q(F,x){for(var j=F.length,N=0;j--;)F[j]===x&&N++;return N}function k(F,x){for(var j=-1,N=F.length,R=0,K=[];++j2?T:void 0);function Me(F){return Ve(F)?ce(F):{}}function Ee(F){return!(!Ve(F)||function(x){return!!C&&C in x}(F))&&(function(x){var j=Ve(x)?ue.call(x):"";return j=="[object Function]"||j=="[object GeneratorFunction]"}(F)||function(x){var j=!1;if(x!=null&&typeof x.toString!="function")try{j=!!(x+"")}catch{}return j}(F)?U:w).test(function(x){if(x!=null){try{return Q.call(x)}catch{}try{return x+""}catch{}}return""}(F))}function Ce(F,x,j,N){for(var R=-1,K=F.length,ne=j.length,ae=-1,pe=x.length,xe=Z(K-ne,0),je=Array(pe+xe),Ae=!N;++ae1&&oe.reverse(),je&&pe1?"& ":"")+x[N],x=x.join(j>2?", ":" "),F.replace(p,`{ +/* [wrapped with `+x+`] */ +`)}function nt(F,x){return!!(x=x??9007199254740991)&&(typeof F=="number"||D.test(F))&&F>-1&&F%1==0&&F1&&d--,f=6*d<1?s+6*(c-s)*d:2*d<1?c:3*d<2?s+(c-s)*(2/3-d)*6:s,p[w]=255*f;return p}},function(a,t,e){(function(s){var c=typeof s=="object"&&s&&s.Object===Object&&s,d=typeof self=="object"&&self&&self.Object===Object&&self,p=c||d||Function("return this")();function f(k,A,T){switch(T.length){case 0:return k.call(A);case 1:return k.call(A,T[0]);case 2:return k.call(A,T[0],T[1]);case 3:return k.call(A,T[0],T[1],T[2])}return k.apply(A,T)}function h(k,A){for(var T=-1,W=A.length,S=k.length;++T-1&&S%1==0&&S<=9007199254740991}(W.length)&&!function(S){var te=function(J){var C=typeof J;return!!J&&(C=="object"||C=="function")}(S)?w.call(S):"";return te=="[object Function]"||te=="[object GeneratorFunction]"}(W)}(T)}(A)&&b.call(A,"callee")&&(!D.call(A,"callee")||w.call(A)=="[object Arguments]")}(k)||!!(H&&k&&k[H])}var r=Array.isArray,B,V,z,q=(V=function(k){var A=(k=function(S,te,J,C,Q){var he=-1,ue=S.length;for(J||(J=ee),Q||(Q=[]);++he2?d-2:0),f=2;f"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var n,o=w(l);if(u){var i=w(this).constructor;n=Reflect.construct(o,arguments,i)}else n=o.apply(this,arguments);return H(this,n)}}e.r(t);var ee=e(0),r=e.n(ee);function B(){var l=this.constructor.getDerivedStateFromProps(this.props,this.state);l!=null&&this.setState(l)}function V(l){this.setState(function(u){var n=this.constructor.getDerivedStateFromProps(l,u);return n??null}.bind(this))}function z(l,u){try{var n=this.props,o=this.state;this.props=l,this.state=u,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,o)}finally{this.props=n,this.state=o}}function q(l){var u=l.prototype;if(!u||!u.isReactComponent)throw new Error("Can only polyfill class components");if(typeof l.getDerivedStateFromProps!="function"&&typeof u.getSnapshotBeforeUpdate!="function")return l;var n=null,o=null,i=null;if(typeof u.componentWillMount=="function"?n="componentWillMount":typeof u.UNSAFE_componentWillMount=="function"&&(n="UNSAFE_componentWillMount"),typeof u.componentWillReceiveProps=="function"?o="componentWillReceiveProps":typeof u.UNSAFE_componentWillReceiveProps=="function"&&(o="UNSAFE_componentWillReceiveProps"),typeof u.componentWillUpdate=="function"?i="componentWillUpdate":typeof u.UNSAFE_componentWillUpdate=="function"&&(i="UNSAFE_componentWillUpdate"),n!==null||o!==null||i!==null){var y=l.displayName||l.name,O=typeof l.getDerivedStateFromProps=="function"?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error(`Unsafe legacy lifecycles will not be called for components using new component APIs. + +`+y+" uses "+O+" but also contains the following legacy lifecycles:"+(n!==null?` + `+n:"")+(o!==null?` + `+o:"")+(i!==null?` + `+i:"")+` + +The above lifecycles should be removed. Learn more about this warning here: +https://fb.me/react-async-component-lifecycle-hooks`)}if(typeof l.getDerivedStateFromProps=="function"&&(u.componentWillMount=B,u.componentWillReceiveProps=V),typeof u.getSnapshotBeforeUpdate=="function"){if(typeof u.componentDidUpdate!="function")throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");u.componentWillUpdate=z;var _=u.componentDidUpdate;u.componentDidUpdate=function(m,P,$){var se=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:$;_.call(this,m,P,se)}}return l}function k(l,u){if(l==null)return{};var n,o,i=function(O,_){if(O==null)return{};var m,P,$={},se=Object.keys(O);for(P=0;P=0||($[m]=O[m]);return $}(l,u);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(l);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(l,n)&&(i[n]=l[n])}return i}function A(l){var u=function(n){return{}.toString.call(n).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}(l);return u==="number"&&(u=isNaN(l)?"nan":(0|l)!=l?"float":"integer"),u}B.__suppressDeprecationWarning=!0,V.__suppressDeprecationWarning=!0,z.__suppressDeprecationWarning=!0;var T={scheme:"rjv-default",author:"mac gainor",base00:"rgba(0, 0, 0, 0)",base01:"rgb(245, 245, 245)",base02:"rgb(235, 235, 235)",base03:"#93a1a1",base04:"rgba(0, 0, 0, 0.3)",base05:"#586e75",base06:"#073642",base07:"#002b36",base08:"#d33682",base09:"#cb4b16",base0A:"#dc322f",base0B:"#859900",base0C:"#6c71c4",base0D:"#586e75",base0E:"#2aa198",base0F:"#268bd2"},W={scheme:"rjv-grey",author:"mac gainor",base00:"rgba(1, 1, 1, 0)",base01:"rgba(1, 1, 1, 0.1)",base02:"rgba(0, 0, 0, 0.2)",base03:"rgba(1, 1, 1, 0.3)",base04:"rgba(0, 0, 0, 0.4)",base05:"rgba(1, 1, 1, 0.5)",base06:"rgba(1, 1, 1, 0.6)",base07:"rgba(1, 1, 1, 0.7)",base08:"rgba(1, 1, 1, 0.8)",base09:"rgba(1, 1, 1, 0.8)",base0A:"rgba(1, 1, 1, 0.8)",base0B:"rgba(1, 1, 1, 0.8)",base0C:"rgba(1, 1, 1, 0.8)",base0D:"rgba(1, 1, 1, 0.8)",base0E:"rgba(1, 1, 1, 0.8)",base0F:"rgba(1, 1, 1, 0.8)"},S={globalFontFamily:"monospace",globalCursor:"default",braceFontWeight:"bold",braceCursor:"pointer",ellipsisFontSize:"18px",ellipsisLineHeight:"10px",ellipsisCursor:"pointer",keyMargin:"0px 5px",keyLetterSpacing:"0.5px",keyFontStyle:"none",keyVerticalAlign:"top",keyOpacity:"0.85",keyOpacityHover:"1",keyValPaddingTop:"3px",keyValPaddingBottom:"3px",keyValPaddingRight:"5px",keyValBorderLeft:"1px solid",keyValBorderHover:"2px solid",pushedContentMarginLeft:"6px",variableValuePaddingRight:"6px",nullFontSize:"11px",nullFontWeight:"bold",nullPadding:"1px 2px",nullBorderRadius:"3px",nanFontSize:"11px",nanFontWeight:"bold",nanPadding:"1px 2px",nanBorderRadius:"3px",undefinedFontSize:"11px",undefinedPadding:"1px 2px",undefinedBorderRadius:"3px",dataTypeFontSize:"11px",dataTypeMarginRight:"4px",datatypeOpacity:"0.8",objectSizeBorderRadius:"3px",objectSizeFontStyle:"italic",objectSizeMargin:"0px 6px 0px 0px",clipboardCursor:"pointer",clipboardCheckMarginLeft:"-12px",metaDataPadding:"0px 0px 0px 10px",arrayGroupMetaPadding:"0px 0px 0px 4px",iconContainerWidth:"17px",tooltipPadding:"4px",editInputMinWidth:"130px",editInputBorderRadius:"2px",editInputPadding:"5px",editInputMarginRight:"4px",editInputFontFamily:"monospace",iconCursor:"pointer",iconFontSize:"15px",iconPaddingRight:"1px",dateValueMarginLeft:"2px",iconMarginRight:"3px",detectedRowPaddingTop:"3px",addKeyCoverBackground:"rgba(255, 255, 255, 0.3)",addKeyCoverPosition:"absolute",addKeyCoverPositionPx:"0px",addKeyModalWidth:"200px",addKeyModalMargin:"auto",addKeyModalPadding:"10px",addKeyModalRadius:"3px"},te=e(45),J=function(l){var u=function(n){return{backgroundColor:n.base00,ellipsisColor:n.base09,braceColor:n.base07,expandedIcon:n.base0D,collapsedIcon:n.base0E,keyColor:n.base07,arrayKeyColor:n.base0C,objectSize:n.base04,copyToClipboard:n.base0F,copyToClipboardCheck:n.base0D,objectBorder:n.base02,dataTypes:{boolean:n.base0E,date:n.base0D,float:n.base0B,function:n.base0D,integer:n.base0F,string:n.base09,nan:n.base08,null:n.base0A,undefined:n.base05,regexp:n.base0A,background:n.base02},editVariable:{editIcon:n.base0E,cancelIcon:n.base09,removeIcon:n.base09,addIcon:n.base0E,checkIcon:n.base0E,background:n.base01,color:n.base0A,border:n.base07},addKeyModal:{background:n.base05,border:n.base04,color:n.base0A,labelColor:n.base01},validationFailure:{background:n.base09,iconColor:n.base01,fontColor:n.base01}}}(l);return{"app-container":{fontFamily:S.globalFontFamily,cursor:S.globalCursor,backgroundColor:u.backgroundColor,position:"relative"},ellipsis:{display:"inline-block",color:u.ellipsisColor,fontSize:S.ellipsisFontSize,lineHeight:S.ellipsisLineHeight,cursor:S.ellipsisCursor},"brace-row":{display:"inline-block",cursor:"pointer"},brace:{display:"inline-block",cursor:S.braceCursor,fontWeight:S.braceFontWeight,color:u.braceColor},"expanded-icon":{color:u.expandedIcon},"collapsed-icon":{color:u.collapsedIcon},colon:{display:"inline-block",margin:S.keyMargin,color:u.keyColor,verticalAlign:"top"},objectKeyVal:function(n,o){return{style:d({paddingTop:S.keyValPaddingTop,paddingRight:S.keyValPaddingRight,paddingBottom:S.keyValPaddingBottom,borderLeft:S.keyValBorderLeft+" "+u.objectBorder,":hover":{paddingLeft:o.paddingLeft-1+"px",borderLeft:S.keyValBorderHover+" "+u.objectBorder}},o)}},"object-key-val-no-border":{padding:S.keyValPadding},"pushed-content":{marginLeft:S.pushedContentMarginLeft},variableValue:function(n,o){return{style:d({display:"inline-block",paddingRight:S.variableValuePaddingRight,position:"relative"},o)}},"object-name":{display:"inline-block",color:u.keyColor,letterSpacing:S.keyLetterSpacing,fontStyle:S.keyFontStyle,verticalAlign:S.keyVerticalAlign,opacity:S.keyOpacity,":hover":{opacity:S.keyOpacityHover}},"array-key":{display:"inline-block",color:u.arrayKeyColor,letterSpacing:S.keyLetterSpacing,fontStyle:S.keyFontStyle,verticalAlign:S.keyVerticalAlign,opacity:S.keyOpacity,":hover":{opacity:S.keyOpacityHover}},"object-size":{color:u.objectSize,borderRadius:S.objectSizeBorderRadius,fontStyle:S.objectSizeFontStyle,margin:S.objectSizeMargin,cursor:"default"},"data-type-label":{fontSize:S.dataTypeFontSize,marginRight:S.dataTypeMarginRight,opacity:S.datatypeOpacity},boolean:{display:"inline-block",color:u.dataTypes.boolean},date:{display:"inline-block",color:u.dataTypes.date},"date-value":{marginLeft:S.dateValueMarginLeft},float:{display:"inline-block",color:u.dataTypes.float},function:{display:"inline-block",color:u.dataTypes.function,cursor:"pointer",whiteSpace:"pre-line"},"function-value":{fontStyle:"italic"},integer:{display:"inline-block",color:u.dataTypes.integer},string:{display:"inline-block",color:u.dataTypes.string},nan:{display:"inline-block",color:u.dataTypes.nan,fontSize:S.nanFontSize,fontWeight:S.nanFontWeight,backgroundColor:u.dataTypes.background,padding:S.nanPadding,borderRadius:S.nanBorderRadius},null:{display:"inline-block",color:u.dataTypes.null,fontSize:S.nullFontSize,fontWeight:S.nullFontWeight,backgroundColor:u.dataTypes.background,padding:S.nullPadding,borderRadius:S.nullBorderRadius},undefined:{display:"inline-block",color:u.dataTypes.undefined,fontSize:S.undefinedFontSize,padding:S.undefinedPadding,borderRadius:S.undefinedBorderRadius,backgroundColor:u.dataTypes.background},regexp:{display:"inline-block",color:u.dataTypes.regexp},"copy-to-clipboard":{cursor:S.clipboardCursor},"copy-icon":{color:u.copyToClipboard,fontSize:S.iconFontSize,marginRight:S.iconMarginRight,verticalAlign:"top"},"copy-icon-copied":{color:u.copyToClipboardCheck,marginLeft:S.clipboardCheckMarginLeft},"array-group-meta-data":{display:"inline-block",padding:S.arrayGroupMetaPadding},"object-meta-data":{display:"inline-block",padding:S.metaDataPadding},"icon-container":{display:"inline-block",width:S.iconContainerWidth},tooltip:{padding:S.tooltipPadding},removeVarIcon:{verticalAlign:"top",display:"inline-block",color:u.editVariable.removeIcon,cursor:S.iconCursor,fontSize:S.iconFontSize,marginRight:S.iconMarginRight},addVarIcon:{verticalAlign:"top",display:"inline-block",color:u.editVariable.addIcon,cursor:S.iconCursor,fontSize:S.iconFontSize,marginRight:S.iconMarginRight},editVarIcon:{verticalAlign:"top",display:"inline-block",color:u.editVariable.editIcon,cursor:S.iconCursor,fontSize:S.iconFontSize,marginRight:S.iconMarginRight},"edit-icon-container":{display:"inline-block",verticalAlign:"top"},"check-icon":{display:"inline-block",cursor:S.iconCursor,color:u.editVariable.checkIcon,fontSize:S.iconFontSize,paddingRight:S.iconPaddingRight},"cancel-icon":{display:"inline-block",cursor:S.iconCursor,color:u.editVariable.cancelIcon,fontSize:S.iconFontSize,paddingRight:S.iconPaddingRight},"edit-input":{display:"inline-block",minWidth:S.editInputMinWidth,borderRadius:S.editInputBorderRadius,backgroundColor:u.editVariable.background,color:u.editVariable.color,padding:S.editInputPadding,marginRight:S.editInputMarginRight,fontFamily:S.editInputFontFamily},"detected-row":{paddingTop:S.detectedRowPaddingTop},"key-modal-request":{position:S.addKeyCoverPosition,top:S.addKeyCoverPositionPx,left:S.addKeyCoverPositionPx,right:S.addKeyCoverPositionPx,bottom:S.addKeyCoverPositionPx,backgroundColor:S.addKeyCoverBackground},"key-modal":{width:S.addKeyModalWidth,backgroundColor:u.addKeyModal.background,marginLeft:S.addKeyModalMargin,marginRight:S.addKeyModalMargin,padding:S.addKeyModalPadding,borderRadius:S.addKeyModalRadius,marginTop:"15px",position:"relative"},"key-modal-label":{color:u.addKeyModal.labelColor,marginLeft:"2px",marginBottom:"5px",fontSize:"11px"},"key-modal-input-container":{overflow:"hidden"},"key-modal-input":{width:"100%",padding:"3px 6px",fontFamily:"monospace",color:u.addKeyModal.color,border:"none",boxSizing:"border-box",borderRadius:"2px"},"key-modal-cancel":{backgroundColor:u.editVariable.removeIcon,position:"absolute",top:"0px",right:"0px",borderRadius:"0px 3px 0px 3px",cursor:"pointer"},"key-modal-cancel-icon":{color:u.addKeyModal.labelColor,fontSize:S.iconFontSize,transform:"rotate(45deg)"},"key-modal-submit":{color:u.editVariable.addIcon,fontSize:S.iconFontSize,position:"absolute",right:"2px",top:"3px",cursor:"pointer"},"function-ellipsis":{display:"inline-block",color:u.ellipsisColor,fontSize:S.ellipsisFontSize,lineHeight:S.ellipsisLineHeight,cursor:S.ellipsisCursor},"validation-failure":{float:"right",padding:"3px 6px",borderRadius:"2px",cursor:"pointer",color:u.validationFailure.fontColor,backgroundColor:u.validationFailure.background},"validation-failure-label":{marginRight:"6px"},"validation-failure-clear":{position:"relative",verticalAlign:"top",cursor:"pointer",color:u.validationFailure.iconColor,fontSize:S.iconFontSize,transform:"rotate(45deg)"}}};function C(l,u,n){return l||console.error("theme has not been set"),function(o){var i=T;return o!==!1&&o!=="none"||(i=W),Object(te.createStyling)(J,{defaultBase16:i})(o)}(l)(u,n)}var Q=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=(o.rjvId,o.type_name),y=o.displayDataTypes,O=o.theme;return y?r.a.createElement("span",Object.assign({className:"data-type-label"},C(O,"data-type-label")),i):null}}]),n}(r.a.PureComponent),he=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props;return r.a.createElement("div",C(o.theme,"boolean"),r.a.createElement(Q,Object.assign({type_name:"bool"},o)),o.value?"true":"false")}}]),n}(r.a.PureComponent),ue=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props;return r.a.createElement("div",C(o.theme,"date"),r.a.createElement(Q,Object.assign({type_name:"date"},o)),r.a.createElement("span",Object.assign({className:"date-value"},C(o.theme,"date-value")),o.value.toLocaleTimeString("en-us",{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})))}}]),n}(r.a.PureComponent),U=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props;return r.a.createElement("div",C(o.theme,"float"),r.a.createElement(Q,Object.assign({type_name:"float"},o)),this.props.value)}}]),n}(r.a.PureComponent);function ce(l,u){(u==null||u>l.length)&&(u=l.length);for(var n=0,o=new Array(u);n"u"||l[Symbol.iterator]==null){if(Array.isArray(l)||(n=Z(l))||u){n&&(l=n);var o=0,i=function(){};return{s:i,n:function(){return o>=l.length?{done:!0}:{done:!1,value:l[o++]}},e:function(m){throw m},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var y,O=!0,_=!1;return{s:function(){n=l[Symbol.iterator]()},n:function(){var m=n.next();return O=m.done,m},e:function(m){_=!0,y=m},f:function(){try{O||n.return==null||n.return()}finally{if(_)throw y}}}}function ge(l){return function(u){if(Array.isArray(u))return ce(u)}(l)||function(u){if(typeof Symbol<"u"&&Symbol.iterator in Object(u))return Array.from(u)}(l)||Z(l)||function(){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 Me=e(46),Ee=new(e(47)).Dispatcher,Ce=new(function(l){b(n,l);var u=L(n);function n(){var o;p(this,n);for(var i=arguments.length,y=new Array(i),O=0;Oi&&(_.style.cursor="pointer",this.state.collapsed&&(O=r.a.createElement("span",null,O.substring(0,i),r.a.createElement("span",C(y,"ellipsis")," ...")))),r.a.createElement("div",C(y,"string"),r.a.createElement(Q,Object.assign({type_name:"string"},o)),r.a.createElement("span",Object.assign({className:"string-value"},_,{onClick:this.toggleCollapsed}),'"',O,'"'))}}]),n}(r.a.PureComponent),tt=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){return r.a.createElement("div",C(this.props.theme,"undefined"),"undefined")}}]),n}(r.a.PureComponent);function He(){return(He=Object.assign||function(l){for(var u=1;u=0||(vt[Le]=Y[Le]);return vt}(l,["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"]),$,se=P.value!==void 0,ie=Object(ee.useRef)(null),de=ot(ie,u),re=Object(ee.useRef)(0),fe=Object(ee.useRef)(),Se=function(){var Y=ie.current,we=n&&fe.current?fe.current:function(Qe){var gt=window.getComputedStyle(Qe);if(gt===null)return null;var lt,Ne=(lt=gt,F.reduce(function(bt,ut){return bt[ut]=lt[ut],bt},{})),ct=Ne.boxSizing;return ct===""?null:(x&&ct==="border-box"&&(Ne.width=parseFloat(Ne.width)+parseFloat(Ne.borderRightWidth)+parseFloat(Ne.borderLeftWidth)+parseFloat(Ne.paddingRight)+parseFloat(Ne.paddingLeft)+"px"),{sizingStyle:Ne,paddingSize:parseFloat(Ne.paddingBottom)+parseFloat(Ne.paddingTop),borderSize:parseFloat(Ne.borderBottomWidth)+parseFloat(Ne.borderTopWidth)})}(Y);if(we){fe.current=we;var Le=function(Qe,gt,lt,Ne){lt===void 0&&(lt=1),Ne===void 0&&(Ne=1/0),Ie||((Ie=document.createElement("textarea")).setAttribute("tab-index","-1"),Ie.setAttribute("aria-hidden","true"),Ve(Ie)),Ie.parentNode===null&&document.body.appendChild(Ie);var ct=Qe.paddingSize,bt=Qe.borderSize,ut=Qe.sizingStyle,Ot=ut.boxSizing;Object.keys(ut).forEach(function(Et){var pt=Et;Ie.style[pt]=ut[pt]}),Ve(Ie),Ie.value=gt;var yt=function(Et,pt){var Ct=Et.scrollHeight;return pt.sizingStyle.boxSizing==="border-box"?Ct+pt.borderSize:Ct-pt.paddingSize}(Ie,Qe);Ie.value="x";var xt=Ie.scrollHeight-ct,jt=xt*lt;Ot==="border-box"&&(jt=jt+ct+bt),yt=Math.max(jt,yt);var St=xt*Ne;return Ot==="border-box"&&(St=St+ct+bt),[yt=Math.min(St,yt),xt]}(we,Y.value||Y.placeholder||"x",i,o),Ye=Le[0],vt=Le[1];re.current!==Ye&&(re.current=Ye,Y.style.setProperty("height",Ye+"px","important"),m(Ye,{rowHeight:vt}))}};return Object(ee.useLayoutEffect)(Se),$=st(Se),Object(ee.useLayoutEffect)(function(){var Y=function(we){$.current(we)};return window.addEventListener("resize",Y),function(){window.removeEventListener("resize",Y)}},[]),Object(ee.createElement)("textarea",He({},P,{onChange:function(Y){se||Se(),O(Y)},ref:de}))},N=Object(ee.forwardRef)(j);function R(l){l=l.trim();try{if((l=JSON.stringify(JSON.parse(l)))[0]==="[")return K("array",JSON.parse(l));if(l[0]==="{")return K("object",JSON.parse(l));if(l.match(/\-?\d+\.\d+/)&&l.match(/\-?\d+\.\d+/)[0]===l)return K("float",parseFloat(l));if(l.match(/\-?\d+e-\d+/)&&l.match(/\-?\d+e-\d+/)[0]===l)return K("float",Number(l));if(l.match(/\-?\d+/)&&l.match(/\-?\d+/)[0]===l)return K("integer",parseInt(l));if(l.match(/\-?\d+e\+\d+/)&&l.match(/\-?\d+e\+\d+/)[0]===l)return K("integer",Number(l))}catch{}switch(l=l.toLowerCase()){case"undefined":return K("undefined",void 0);case"nan":return K("nan",NaN);case"null":return K("null",null);case"true":return K("boolean",!0);case"false":return K("boolean",!1);default:if(l=Date.parse(l))return K("date",new Date(l))}return K(!1,null)}function K(l,u){return{type:l,value:u}}var ne=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",Object.assign({},oe(i),{viewBox:"0 0 24 24",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),r.a.createElement("path",{d:"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,13H17V11H7"})))}}]),n}(r.a.PureComponent),ae=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",Object.assign({},oe(i),{viewBox:"0 0 24 24",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),r.a.createElement("path",{d:"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z"})))}}]),n}(r.a.PureComponent),pe=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]),O=oe(i).style;return r.a.createElement("span",y,r.a.createElement("svg",{fill:O.color,width:O.height,height:O.width,style:O,viewBox:"0 0 1792 1792"},r.a.createElement("path",{d:"M1344 800v64q0 14-9 23t-23 9h-832q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h832q14 0 23 9t9 23zm128 448v-832q0-66-47-113t-113-47h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113zm128-832v832q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z"})))}}]),n}(r.a.PureComponent),xe=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]),O=oe(i).style;return r.a.createElement("span",y,r.a.createElement("svg",{fill:O.color,width:O.height,height:O.width,style:O,viewBox:"0 0 1792 1792"},r.a.createElement("path",{d:"M1344 800v64q0 14-9 23t-23 9h-352v352q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23v-352h-352q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h352v-352q0-14 9-23t23-9h64q14 0 23 9t9 23v352h352q14 0 23 9t9 23zm128 448v-832q0-66-47-113t-113-47h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113zm128-832v832q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z"})))}}]),n}(r.a.PureComponent),je=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",{style:d(d({},oe(i).style),{},{paddingLeft:"2px",verticalAlign:"top"}),viewBox:"0 0 15 15",fill:"currentColor"},r.a.createElement("path",{d:"M0 14l6-6-6-6z"})))}}]),n}(r.a.PureComponent),Ae=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",{style:d(d({},oe(i).style),{},{paddingLeft:"2px",verticalAlign:"top"}),viewBox:"0 0 15 15",fill:"currentColor"},r.a.createElement("path",{d:"M0 5l6 6 6-6z"})))}}]),n}(r.a.PureComponent),ve=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",Object.assign({},oe(i),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),r.a.createElement("g",null,r.a.createElement("path",{d:"m30 35h-25v-22.5h25v7.5h2.5v-12.5c0-1.4-1.1-2.5-2.5-2.5h-7.5c0-2.8-2.2-5-5-5s-5 2.2-5 5h-7.5c-1.4 0-2.5 1.1-2.5 2.5v27.5c0 1.4 1.1 2.5 2.5 2.5h25c1.4 0 2.5-1.1 2.5-2.5v-5h-2.5v5z m-20-27.5h2.5s2.5-1.1 2.5-2.5 1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5 1.3 2.5 2.5 2.5h2.5s2.5 1.1 2.5 2.5h-20c0-1.5 1.1-2.5 2.5-2.5z m-2.5 20h5v-2.5h-5v2.5z m17.5-5v-5l-10 7.5 10 7.5v-5h12.5v-5h-12.5z m-17.5 10h7.5v-2.5h-7.5v2.5z m12.5-17.5h-12.5v2.5h12.5v-2.5z m-7.5 5h-5v2.5h5v-2.5z"}))))}}]),n}(r.a.PureComponent),Te=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",Object.assign({},oe(i),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),r.a.createElement("g",null,r.a.createElement("path",{d:"m28.6 25q0-0.5-0.4-1l-4-4 4-4q0.4-0.5 0.4-1 0-0.6-0.4-1.1l-2-2q-0.4-0.4-1-0.4-0.6 0-1 0.4l-4.1 4.1-4-4.1q-0.4-0.4-1-0.4-0.6 0-1 0.4l-2 2q-0.5 0.5-0.5 1.1 0 0.5 0.5 1l4 4-4 4q-0.5 0.5-0.5 1 0 0.7 0.5 1.1l2 2q0.4 0.4 1 0.4 0.6 0 1-0.4l4-4.1 4.1 4.1q0.4 0.4 1 0.4 0.6 0 1-0.4l2-2q0.4-0.4 0.4-1z m8.7-5q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z"}))))}}]),n}(r.a.PureComponent),De=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",Object.assign({},oe(i),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),r.a.createElement("g",null,r.a.createElement("path",{d:"m30.1 21.4v-2.8q0-0.6-0.4-1t-1-0.5h-5.7v-5.7q0-0.6-0.4-1t-1-0.4h-2.9q-0.6 0-1 0.4t-0.4 1v5.7h-5.7q-0.6 0-1 0.5t-0.5 1v2.8q0 0.6 0.5 1t1 0.5h5.7v5.7q0 0.5 0.4 1t1 0.4h2.9q0.6 0 1-0.4t0.4-1v-5.7h5.7q0.6 0 1-0.5t0.4-1z m7.2-1.4q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z"}))))}}]),n}(r.a.PureComponent),$e=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",Object.assign({},oe(i),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),r.a.createElement("g",null,r.a.createElement("path",{d:"m31.6 21.6h-10v10h-3.2v-10h-10v-3.2h10v-10h3.2v10h10v3.2z"}))))}}]),n}(r.a.PureComponent),ze=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",Object.assign({},oe(i),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),r.a.createElement("g",null,r.a.createElement("path",{d:"m19.8 26.4l2.6-2.6-3.4-3.4-2.6 2.6v1.3h2.2v2.1h1.2z m9.8-16q-0.3-0.4-0.7 0l-7.8 7.8q-0.4 0.4 0 0.7t0.7 0l7.8-7.8q0.4-0.4 0-0.7z m1.8 13.2v4.3q0 2.6-1.9 4.5t-4.5 1.9h-18.6q-2.6 0-4.5-1.9t-1.9-4.5v-18.6q0-2.7 1.9-4.6t4.5-1.8h18.6q1.4 0 2.6 0.5 0.3 0.2 0.4 0.5 0.1 0.4-0.2 0.7l-1.1 1.1q-0.3 0.3-0.7 0.1-0.5-0.1-1-0.1h-18.6q-1.4 0-2.5 1.1t-1 2.5v18.6q0 1.4 1 2.5t2.5 1h18.6q1.5 0 2.5-1t1.1-2.5v-2.9q0-0.2 0.2-0.4l1.4-1.5q0.3-0.3 0.8-0.1t0.4 0.6z m-2.1-16.5l6.4 6.5-15 15h-6.4v-6.5z m9.9 3l-2.1 2-6.4-6.4 2.1-2q0.6-0.7 1.5-0.7t1.5 0.7l3.4 3.4q0.6 0.6 0.6 1.5t-0.6 1.5z"}))))}}]),n}(r.a.PureComponent),ke=function(l){b(n,l);var u=L(n);function n(){return p(this,n),u.apply(this,arguments)}return h(n,[{key:"render",value:function(){var o=this.props,i=o.style,y=k(o,["style"]);return r.a.createElement("span",y,r.a.createElement("svg",Object.assign({},oe(i),{viewBox:"0 0 40 40",fill:"currentColor",preserveAspectRatio:"xMidYMid meet"}),r.a.createElement("g",null,r.a.createElement("path",{d:"m31.7 16.4q0-0.6-0.4-1l-2.1-2.1q-0.4-0.4-1-0.4t-1 0.4l-9.1 9.1-5-5q-0.5-0.4-1-0.4t-1 0.4l-2.1 2q-0.4 0.4-0.4 1 0 0.6 0.4 1l8.1 8.1q0.4 0.4 1 0.4 0.6 0 1-0.4l12.2-12.1q0.4-0.4 0.4-1z m5.6 3.6q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z"}))))}}]),n}(r.a.PureComponent);function oe(l){return l||(l={}),{style:d(d({verticalAlign:"middle"},l),{},{color:l.color?l.color:"#000000",height:"1em",width:"1em"})}}var Fe=function(l){b(n,l);var u=L(n);function n(o){var i;return p(this,n),(i=u.call(this,o)).copiedTimer=null,i.handleCopy=function(){var y=document.createElement("textarea"),O=i.props,_=O.clickCallback,m=O.src,P=O.namespace;y.innerHTML=JSON.stringify(i.clipboardValue(m),null," "),document.body.appendChild(y),y.select(),document.execCommand("copy"),document.body.removeChild(y),i.copiedTimer=setTimeout(function(){i.setState({copied:!1})},5500),i.setState({copied:!0},function(){typeof _=="function"&&_({src:m,namespace:P,name:P[P.length-1]})})},i.getClippyIcon=function(){var y=i.props.theme;return i.state.copied?r.a.createElement("span",null,r.a.createElement(ve,Object.assign({className:"copy-icon"},C(y,"copy-icon"))),r.a.createElement("span",C(y,"copy-icon-copied"),"✔")):r.a.createElement(ve,Object.assign({className:"copy-icon"},C(y,"copy-icon")))},i.clipboardValue=function(y){switch(A(y)){case"function":case"regexp":return y.toString();default:return y}},i.state={copied:!1},i}return h(n,[{key:"componentWillUnmount",value:function(){this.copiedTimer&&(clearTimeout(this.copiedTimer),this.copiedTimer=null)}},{key:"render",value:function(){var o=this.props,i=(o.src,o.theme),y=o.hidden,O=o.rowHovered,_=C(i,"copy-to-clipboard").style,m="inline";return y&&(m="none"),r.a.createElement("span",{className:"copy-to-clipboard-container",title:"Copy to clipboard",style:{verticalAlign:"top",display:O?"inline-block":"none"}},r.a.createElement("span",{style:d(d({},_),{},{display:m}),onClick:this.handleCopy},this.getClippyIcon()))}}]),n}(r.a.PureComponent),Pe=function(l){b(n,l);var u=L(n);function n(o){var i;return p(this,n),(i=u.call(this,o)).getEditIcon=function(){var y=i.props,O=y.variable,_=y.theme;return r.a.createElement("div",{className:"click-to-edit",style:{verticalAlign:"top",display:i.state.hovered?"inline-block":"none"}},r.a.createElement(ze,Object.assign({className:"click-to-edit-icon"},C(_,"editVarIcon"),{onClick:function(){i.prepopInput(O)}})))},i.prepopInput=function(y){if(i.props.onEdit!==!1){var O=function(m){var P;switch(A(m)){case"undefined":P="undefined";break;case"nan":P="NaN";break;case"string":P=m;break;case"date":case"function":case"regexp":P=m.toString();break;default:try{P=JSON.stringify(m,null," ")}catch{P=""}}return P}(y.value),_=R(O);i.setState({editMode:!0,editValue:O,parsedInput:{type:_.type,value:_.value}})}},i.getRemoveIcon=function(){var y=i.props,O=y.variable,_=y.namespace,m=y.theme,P=y.rjvId;return r.a.createElement("div",{className:"click-to-remove",style:{verticalAlign:"top",display:i.state.hovered?"inline-block":"none"}},r.a.createElement(Te,Object.assign({className:"click-to-remove-icon"},C(m,"removeVarIcon"),{onClick:function(){Ee.dispatch({name:"VARIABLE_REMOVED",rjvId:P,data:{name:O.name,namespace:_,existing_value:O.value,variable_removed:!0}})}})))},i.getValue=function(y,O){var _=!O&&y.type,m=D(i).props;switch(_){case!1:return i.getEditInput();case"string":return r.a.createElement(et,Object.assign({value:y.value},m));case"integer":return r.a.createElement(Ze,Object.assign({value:y.value},m));case"float":return r.a.createElement(U,Object.assign({value:y.value},m));case"boolean":return r.a.createElement(he,Object.assign({value:y.value},m));case"function":return r.a.createElement(ye,Object.assign({value:y.value},m));case"null":return r.a.createElement(Ue,m);case"nan":return r.a.createElement(Be,m);case"undefined":return r.a.createElement(tt,m);case"date":return r.a.createElement(ue,Object.assign({value:y.value},m));case"regexp":return r.a.createElement(Xe,Object.assign({value:y.value},m));default:return r.a.createElement("div",{className:"object-value"},JSON.stringify(y.value))}},i.getEditInput=function(){var y=i.props.theme,O=i.state.editValue;return r.a.createElement("div",null,r.a.createElement(N,Object.assign({type:"text",inputRef:function(_){return _&&_.focus()},value:O,className:"variable-editor",onChange:function(_){var m=_.target.value,P=R(m);i.setState({editValue:m,parsedInput:{type:P.type,value:P.value}})},onKeyDown:function(_){switch(_.key){case"Escape":i.setState({editMode:!1,editValue:""});break;case"Enter":(_.ctrlKey||_.metaKey)&&i.submitEdit(!0)}_.stopPropagation()},placeholder:"update this value",minRows:2},C(y,"edit-input"))),r.a.createElement("div",C(y,"edit-icon-container"),r.a.createElement(Te,Object.assign({className:"edit-cancel"},C(y,"cancel-icon"),{onClick:function(){i.setState({editMode:!1,editValue:""})}})),r.a.createElement(ke,Object.assign({className:"edit-check string-value"},C(y,"check-icon"),{onClick:function(){i.submitEdit()}})),r.a.createElement("div",null,i.showDetected())))},i.submitEdit=function(y){var O=i.props,_=O.variable,m=O.namespace,P=O.rjvId,$=i.state,se=$.editValue,ie=$.parsedInput,de=se;y&&ie.type&&(de=ie.value),i.setState({editMode:!1}),Ee.dispatch({name:"VARIABLE_UPDATED",rjvId:P,data:{name:_.name,namespace:m,existing_value:_.value,new_value:de,variable_removed:!1}})},i.showDetected=function(){var y=i.props,O=y.theme,_=(y.variable,y.namespace,y.rjvId,i.state.parsedInput),m=(_.type,_.value,i.getDetectedInput());if(m)return r.a.createElement("div",null,r.a.createElement("div",C(O,"detected-row"),m,r.a.createElement(ke,{className:"edit-check detected",style:d({verticalAlign:"top",paddingLeft:"3px"},C(O,"check-icon").style),onClick:function(){i.submitEdit(!0)}})))},i.getDetectedInput=function(){var y=i.state.parsedInput,O=y.type,_=y.value,m=D(i).props,P=m.theme;if(O!==!1)switch(O.toLowerCase()){case"object":return r.a.createElement("span",null,r.a.createElement("span",{style:d(d({},C(P,"brace").style),{},{cursor:"default"})},"{"),r.a.createElement("span",{style:d(d({},C(P,"ellipsis").style),{},{cursor:"default"})},"..."),r.a.createElement("span",{style:d(d({},C(P,"brace").style),{},{cursor:"default"})},"}"));case"array":return r.a.createElement("span",null,r.a.createElement("span",{style:d(d({},C(P,"brace").style),{},{cursor:"default"})},"["),r.a.createElement("span",{style:d(d({},C(P,"ellipsis").style),{},{cursor:"default"})},"..."),r.a.createElement("span",{style:d(d({},C(P,"brace").style),{},{cursor:"default"})},"]"));case"string":return r.a.createElement(et,Object.assign({value:_},m));case"integer":return r.a.createElement(Ze,Object.assign({value:_},m));case"float":return r.a.createElement(U,Object.assign({value:_},m));case"boolean":return r.a.createElement(he,Object.assign({value:_},m));case"function":return r.a.createElement(ye,Object.assign({value:_},m));case"null":return r.a.createElement(Ue,m);case"nan":return r.a.createElement(Be,m);case"undefined":return r.a.createElement(tt,m);case"date":return r.a.createElement(ue,Object.assign({value:new Date(_)},m))}},i.state={editMode:!1,editValue:"",hovered:!1,renameKey:!1,parsedInput:{type:!1,value:null}},i}return h(n,[{key:"render",value:function(){var o=this,i=this.props,y=i.variable,O=i.singleIndent,_=i.type,m=i.theme,P=i.namespace,$=i.indentWidth,se=i.enableClipboard,ie=i.onEdit,de=i.onDelete,re=i.onSelect,fe=i.displayArrayKey,Se=i.quotesOnKeys,Y=this.state.editMode;return r.a.createElement("div",Object.assign({},C(m,"objectKeyVal",{paddingLeft:$*O}),{onMouseEnter:function(){return o.setState(d(d({},o.state),{},{hovered:!0}))},onMouseLeave:function(){return o.setState(d(d({},o.state),{},{hovered:!1}))},className:"variable-row",key:y.name}),_=="array"?fe?r.a.createElement("span",Object.assign({},C(m,"array-key"),{key:y.name+"_"+P}),y.name,r.a.createElement("div",C(m,"colon"),":")):null:r.a.createElement("span",null,r.a.createElement("span",Object.assign({},C(m,"object-name"),{className:"object-key",key:y.name+"_"+P}),!!Se&&r.a.createElement("span",{style:{verticalAlign:"top"}},'"'),r.a.createElement("span",{style:{display:"inline-block"}},y.name),!!Se&&r.a.createElement("span",{style:{verticalAlign:"top"}},'"')),r.a.createElement("span",C(m,"colon"),":")),r.a.createElement("div",Object.assign({className:"variable-value",onClick:re===!1&&ie===!1?null:function(we){var Le=ge(P);(we.ctrlKey||we.metaKey)&&ie!==!1?o.prepopInput(y):re!==!1&&(Le.shift(),re(d(d({},y),{},{namespace:Le})))}},C(m,"variableValue",{cursor:re===!1?"default":"pointer"})),this.getValue(y,Y)),se?r.a.createElement(Fe,{rowHovered:this.state.hovered,hidden:Y,src:y.value,clickCallback:se,theme:m,namespace:[].concat(ge(P),[y.name])}):null,ie!==!1&&Y==0?this.getEditIcon():null,de!==!1&&Y==0?this.getRemoveIcon():null)}}]),n}(r.a.PureComponent),Je=function(l){b(n,l);var u=L(n);function n(){var o;p(this,n);for(var i=arguments.length,y=new Array(i),O=0;O0?se:null,namespace:$.splice(0,$.length-1),existing_value:ie,variable_removed:!1,key_name:null};A(ie)==="object"?Ee.dispatch({name:"ADD_VARIABLE_KEY_REQUEST",rjvId:de,data:fe}):Ee.dispatch({name:"VARIABLE_ADDED",rjvId:de,data:d(d({},fe),{},{new_value:[].concat(ge(ie),[null])})})}})))},o.getRemoveObject=function(_){var m=o.props,P=m.theme,$=(m.hover,m.namespace),se=m.name,ie=m.src,de=m.rjvId;if($.length!==1)return r.a.createElement("span",{className:"click-to-remove",style:{display:_?"inline-block":"none"}},r.a.createElement(Te,Object.assign({className:"click-to-remove-icon"},C(P,"removeVarIcon"),{onClick:function(){Ee.dispatch({name:"VARIABLE_REMOVED",rjvId:de,data:{name:se,namespace:$.splice(0,$.length-1),existing_value:ie,variable_removed:!0}})}})))},o.render=function(){var _=o.props,m=_.theme,P=_.onDelete,$=_.onAdd,se=_.enableClipboard,ie=_.src,de=_.namespace,re=_.rowHovered;return r.a.createElement("div",Object.assign({},C(m,"object-meta-data"),{className:"object-meta-data",onClick:function(fe){fe.stopPropagation()}}),o.getObjectSize(),se?r.a.createElement(Fe,{rowHovered:re,clickCallback:se,src:ie,theme:m,namespace:de}):null,$!==!1?o.getAddAttribute(re):null,P!==!1?o.getRemoveObject(re):null)},o}return n}(r.a.PureComponent);function qe(l){var u=l.parent_type,n=l.namespace,o=l.quotesOnKeys,i=l.theme,y=l.jsvRoot,O=l.name,_=l.displayArrayKey,m=l.name?l.name:"";return!y||O!==!1&&O!==null?u=="array"?_?r.a.createElement("span",Object.assign({},C(i,"array-key"),{key:n}),r.a.createElement("span",{className:"array-key"},m),r.a.createElement("span",C(i,"colon"),":")):r.a.createElement("span",null):r.a.createElement("span",Object.assign({},C(i,"object-name"),{key:n}),r.a.createElement("span",{className:"object-key"},o&&r.a.createElement("span",{style:{verticalAlign:"top"}},'"'),r.a.createElement("span",null,m),o&&r.a.createElement("span",{style:{verticalAlign:"top"}},'"')),r.a.createElement("span",C(i,"colon"),":")):r.a.createElement("span",null)}function Re(l){var u=l.theme;switch(l.iconStyle){case"triangle":return r.a.createElement(Ae,Object.assign({},C(u,"expanded-icon"),{className:"expanded-icon"}));case"square":return r.a.createElement(pe,Object.assign({},C(u,"expanded-icon"),{className:"expanded-icon"}));default:return r.a.createElement(ne,Object.assign({},C(u,"expanded-icon"),{className:"expanded-icon"}))}}function We(l){var u=l.theme;switch(l.iconStyle){case"triangle":return r.a.createElement(je,Object.assign({},C(u,"collapsed-icon"),{className:"collapsed-icon"}));case"square":return r.a.createElement(xe,Object.assign({},C(u,"collapsed-icon"),{className:"collapsed-icon"}));default:return r.a.createElement(ae,Object.assign({},C(u,"collapsed-icon"),{className:"collapsed-icon"}))}}var it=function(l){b(n,l);var u=L(n);function n(o){var i;return p(this,n),(i=u.call(this,o)).toggleCollapsed=function(y){var O=[];for(var _ in i.state.expanded)O.push(i.state.expanded[_]);O[y]=!O[y],i.setState({expanded:O})},i.state={expanded:[]},i}return h(n,[{key:"getExpandedIcon",value:function(o){var i=this.props,y=i.theme,O=i.iconStyle;return this.state.expanded[o]?r.a.createElement(Re,{theme:y,iconStyle:O}):r.a.createElement(We,{theme:y,iconStyle:O})}},{key:"render",value:function(){var o=this,i=this.props,y=i.src,O=i.groupArraysAfterLength,_=(i.depth,i.name),m=i.theme,P=i.jsvRoot,$=i.namespace,se=(i.parent_type,k(i,["src","groupArraysAfterLength","depth","name","theme","jsvRoot","namespace","parent_type"])),ie=0,de=5*this.props.indentWidth;P||(ie=5*this.props.indentWidth);var re=O,fe=Math.ceil(y.length/re);return r.a.createElement("div",Object.assign({className:"object-key-val"},C(m,P?"jsv-root":"objectKeyVal",{paddingLeft:ie})),r.a.createElement(qe,this.props),r.a.createElement("span",null,r.a.createElement(Je,Object.assign({size:y.length},this.props))),ge(Array(fe)).map(function(Se,Y){return r.a.createElement("div",Object.assign({key:Y,className:"object-key-val array-group"},C(m,"objectKeyVal",{marginLeft:6,paddingLeft:de})),r.a.createElement("span",C(m,"brace-row"),r.a.createElement("div",Object.assign({className:"icon-container"},C(m,"icon-container"),{onClick:function(we){o.toggleCollapsed(Y)}}),o.getExpandedIcon(Y)),o.state.expanded[Y]?r.a.createElement(ht,Object.assign({key:_+Y,depth:0,name:!1,collapsed:!1,groupArraysAfterLength:re,index_offset:Y*re,src:y.slice(Y*re,Y*re+re),namespace:$,type:"array",parent_type:"array_group",theme:m},se)):r.a.createElement("span",Object.assign({},C(m,"brace"),{onClick:function(we){o.toggleCollapsed(Y)},className:"array-group-brace"}),"[",r.a.createElement("div",Object.assign({},C(m,"array-group-meta-data"),{className:"array-group-meta-data"}),r.a.createElement("span",Object.assign({className:"object-size"},C(m,"object-size")),Y*re," - ",Y*re+re>y.length?y.length:Y*re+re)),"]")))}))}}]),n}(r.a.PureComponent),ft=function(l){b(n,l);var u=L(n);function n(o){var i;p(this,n),(i=u.call(this,o)).toggleCollapsed=function(){i.setState({expanded:!i.state.expanded},function(){be.set(i.props.rjvId,i.props.namespace,"expanded",i.state.expanded)})},i.getObjectContent=function(O,_,m){return r.a.createElement("div",{className:"pushed-content object-container"},r.a.createElement("div",Object.assign({className:"object-content"},C(i.props.theme,"pushed-content")),i.renderObjectContents(_,m)))},i.getEllipsis=function(){return i.state.size===0?null:r.a.createElement("div",Object.assign({},C(i.props.theme,"ellipsis"),{className:"node-ellipsis",onClick:i.toggleCollapsed}),"...")},i.getObjectMetaData=function(O){var _=i.props,m=(_.rjvId,_.theme,i.state),P=m.size,$=m.hovered;return r.a.createElement(Je,Object.assign({rowHovered:$,size:P},i.props))},i.renderObjectContents=function(O,_){var m,P=i.props,$=P.depth,se=P.parent_type,ie=P.index_offset,de=P.groupArraysAfterLength,re=P.namespace,fe=i.state.object_type,Se=[],Y=Object.keys(O||{});return i.props.sortKeys&&fe!=="array"&&(Y=Y.sort()),Y.forEach(function(we){if(m=new Mt(we,O[we]),se==="array_group"&&ie&&(m.name=parseInt(m.name)+ie),O.hasOwnProperty(we))if(m.type==="object")Se.push(r.a.createElement(ht,Object.assign({key:m.name,depth:$+1,name:m.name,src:m.value,namespace:re.concat(m.name),parent_type:fe},_)));else if(m.type==="array"){var Le=ht;de&&m.value.length>de&&(Le=it),Se.push(r.a.createElement(Le,Object.assign({key:m.name,depth:$+1,name:m.name,src:m.value,namespace:re.concat(m.name),type:"array",parent_type:fe},_)))}else Se.push(r.a.createElement(Pe,Object.assign({key:m.name+"_"+re,variable:m,singleIndent:5,namespace:re,type:i.props.type},_)))}),Se};var y=n.getState(o);return i.state=d(d({},y),{},{prevProps:{}}),i}return h(n,[{key:"getBraceStart",value:function(o,i){var y=this,O=this.props,_=O.src,m=O.theme,P=O.iconStyle;if(O.parent_type==="array_group")return r.a.createElement("span",null,r.a.createElement("span",C(m,"brace"),o==="array"?"[":"{"),i?this.getObjectMetaData(_):null);var $=i?Re:We;return r.a.createElement("span",null,r.a.createElement("span",Object.assign({onClick:function(se){y.toggleCollapsed()}},C(m,"brace-row")),r.a.createElement("div",Object.assign({className:"icon-container"},C(m,"icon-container")),r.a.createElement($,{theme:m,iconStyle:P})),r.a.createElement(qe,this.props),r.a.createElement("span",C(m,"brace"),o==="array"?"[":"{")),i?this.getObjectMetaData(_):null)}},{key:"render",value:function(){var o=this,i=this.props,y=i.depth,O=i.src,_=(i.namespace,i.name,i.type,i.parent_type),m=i.theme,P=i.jsvRoot,$=i.iconStyle,se=k(i,["depth","src","namespace","name","type","parent_type","theme","jsvRoot","iconStyle"]),ie=this.state,de=ie.object_type,re=ie.expanded,fe={};return P||_==="array_group"?_==="array_group"&&(fe.borderLeft=0,fe.display="inline"):fe.paddingLeft=5*this.props.indentWidth,r.a.createElement("div",Object.assign({className:"object-key-val",onMouseEnter:function(){return o.setState(d(d({},o.state),{},{hovered:!0}))},onMouseLeave:function(){return o.setState(d(d({},o.state),{},{hovered:!1}))}},C(m,P?"jsv-root":"objectKeyVal",fe)),this.getBraceStart(de,re),re?this.getObjectContent(y,O,d({theme:m,iconStyle:$},se)):this.getEllipsis(),r.a.createElement("span",{className:"brace-row"},r.a.createElement("span",{style:d(d({},C(m,"brace").style),{},{paddingLeft:re?"3px":"0px"})},de==="array"?"]":"}"),re?null:this.getObjectMetaData(O)))}}],[{key:"getDerivedStateFromProps",value:function(o,i){var y=i.prevProps;return o.src!==y.src||o.collapsed!==y.collapsed||o.name!==y.name||o.namespace!==y.namespace||o.rjvId!==y.rjvId?d(d({},n.getState(o)),{},{prevProps:o}):null}}]),n}(r.a.PureComponent);ft.getState=function(l){var u=Object.keys(l.src).length,n=(l.collapsed===!1||l.collapsed!==!0&&l.collapsed>l.depth)&&(!l.shouldCollapse||l.shouldCollapse({name:l.name,src:l.src,type:A(l.src),namespace:l.namespace})===!1)&&u!==0;return{expanded:be.get(l.rjvId,l.namespace,"expanded",n),object_type:l.type==="array"?"array":"object",parent_type:l.type==="array"?"array":"object",size:u,hovered:!1}};var Mt=function l(u,n){p(this,l),this.name=u,this.value=n,this.type=A(n)};q(ft);var ht=ft,Pt=function(l){b(n,l);var u=L(n);function n(){var o;p(this,n);for(var i=arguments.length,y=new Array(i),O=0;O_.groupArraysAfterLength&&(P=it),r.a.createElement("div",{className:"pretty-json-container object-container"},r.a.createElement("div",{className:"object-content"},r.a.createElement(P,Object.assign({namespace:m,depth:0,jsvRoot:!0},_))))},o}return n}(r.a.PureComponent),Tt=function(l){b(n,l);var u=L(n);function n(o){var i;return p(this,n),(i=u.call(this,o)).closeModal=function(){Ee.dispatch({rjvId:i.props.rjvId,name:"RESET"})},i.submit=function(){i.props.submit(i.state.input)},i.state={input:o.input?o.input:""},i}return h(n,[{key:"render",value:function(){var o=this,i=this.props,y=i.theme,O=i.rjvId,_=i.isValid,m=this.state.input,P=_(m);return r.a.createElement("div",Object.assign({className:"key-modal-request"},C(y,"key-modal-request"),{onClick:this.closeModal}),r.a.createElement("div",Object.assign({},C(y,"key-modal"),{onClick:function($){$.stopPropagation()}}),r.a.createElement("div",C(y,"key-modal-label"),"Key Name:"),r.a.createElement("div",{style:{position:"relative"}},r.a.createElement("input",Object.assign({},C(y,"key-modal-input"),{className:"key-modal-input",ref:function($){return $&&$.focus()},spellCheck:!1,value:m,placeholder:"...",onChange:function($){o.setState({input:$.target.value})},onKeyPress:function($){P&&$.key==="Enter"?o.submit():$.key==="Escape"&&o.closeModal()}})),P?r.a.createElement(ke,Object.assign({},C(y,"key-modal-submit"),{className:"key-modal-submit",onClick:function($){return o.submit()}})):null),r.a.createElement("span",C(y,"key-modal-cancel"),r.a.createElement($e,Object.assign({},C(y,"key-modal-cancel-icon"),{className:"key-modal-cancel",onClick:function(){Ee.dispatch({rjvId:O,name:"RESET"})}})))))}}]),n}(r.a.PureComponent),Bt=function(l){b(n,l);var u=L(n);function n(){var o;p(this,n);for(var i=arguments.length,y=new Array(i),O=0;O({color:X.palette.mode==="dark"?"#CCC":"#333"}),frameTextSecondary:{fontStyle:"italic",fontSize:12,opacity:.6,pl:1},listRoot:{padding:0,fontSize:"small"},scopeType:{verticalAlign:"top",textTransform:"uppercase",width:50},scopeType_local:{color:"#53a944"},scopeType_closure:{color:"#365b80"},scopeType_user:{color:"#a48a15"},scopeName:{color:"#bc5b5b",width:"calc(100% - 82px)",whiteSpace:"nowrap",textOverflow:"ellipsis"},scopeButton:{width:32},scopeValueEditable:{cursor:"pointer"},selectedFrame:{backgroundColor:"#777",color:"white"},splitter:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden",fontSize:12},toolbarScopes:X=>({width:24,display:"inline-block",height:"100%",background:X.palette.mode==="dark"?"#222":"#EEE",verticalAlign:"top"}),scopesAfterToolbar:{width:"calc(100% - 24px)",display:"inline-block",height:"100%",verticalAlign:"top"},scopeNameName:{fontWeight:"bold",display:"inline-block",verticalAlign:"top"},scopeNameEqual:X=>({display:"inline-block",color:X.palette.mode==="dark"?"#EEE":"#222",verticalAlign:"top"}),scopeNameValue:{verticalAlign:"top",display:"inline-block",color:"#3b709f",whiteSpace:"nowrap"},scopeButtonDel:{padding:0,float:"right"},valueNull:{color:"#a44a24"},valueUndefined:{color:"#a44a24"},valueString:{color:"#1e8816"},valueNumber:{color:"#163c88"},valueBoolean:{color:"#a44a24"},valueObject:{color:"#721b70"},valueNone:{color:"#8a8a8a"},valueFunc:{color:"#ac4343"},error:X=>({color:X.palette.mode==="dark"?"#FF8080":"#FF0000",fontStyle:"italic"})};function ia(X){var g,a;const v={};return X.className==="ReferenceError"?X.description:((a=(g=X.preview)==null?void 0:g.properties)==null||a.forEach(t=>{(t==null?void 0:t.type)==="object"?t.subtype==="null"?v[t.name]=null:v[t.name]=`{ ${t.value==="Object"?"...":t.value} }`:t.type==="boolean"?v[t.name||t.description]=t.value==="true":t.type==="number"?v[t.name||t.description]=parseFloat(t.value):t.type==="function"?v[t.name||t.description]="function(){}":t.type==="undefined"?v[t.name||t.description]=void 0:v[t.name||t.description]=t.value}),v)}class la extends dt.Component{editRef;scopeValue=null;constructor(v){super(v);const g=window.localStorage.getItem("JS.framesSizes");let a=[30,70];if(g)try{a=JSON.parse(g)}catch{}this.state={editValue:null,callFrames:this.props.callFrames,framesSizes:a},this.editRef=dt.createRef()}onExpressionNameUpdate(){this.state.editValue&&this.props.onExpressionNameUpdate(this.state.editValue.index,this.scopeValue,()=>{this.setState({editValue:null}),this.scopeValue=null})}renderExpression(v,g){const a=this.state.editValue&&this.state.editValue.type==="expression"&&this.state.editValue.index===g?M.jsx(G.Input,{inputRef:this.editRef,fullWidth:!0,margin:"dense",onBlur:()=>this.state.editValue&&this.setState({editValue:null}),defaultValue:v.name,onKeyUp:t=>{t.key==="Enter"?this.onExpressionNameUpdate():t.key==="Escape"&&this.setState({editValue:null})},onChange:t=>this.scopeValue=t.target.value,endAdornment:M.jsx(G.InputAdornment,{position:"end",children:M.jsx(G.IconButton,{onClick:()=>this.onExpressionNameUpdate(),size:"medium",children:M.jsx(It,{})})})}):[M.jsx("div",{style:le.scopeNameName,title:Oe.I18n.t("Double click to edit expression"),children:v.name},"name"),M.jsxs(G.Box,{sx:le.scopeNameEqual,children:[" ","="," "]},"="),M.jsx("div",{style:le.scopeNameValue,children:this.formatValue(v.value)},"val")];return M.jsxs("tr",{children:[M.jsx("td",{style:{...le.scopeType,...le.scopeType_user},children:"user"}),M.jsx("td",{style:le.scopeName,onDoubleClick:()=>{this.scopeValue=v.name||"",this.setState({editValue:{type:"expression",valueType:"string",index:g,name:v.name,value:v.name||""}})},children:a}),M.jsx(G.IconButton,{style:le.scopeButtonDel,size:"small",disabled:!!this.state.editValue,onClick:()=>this.props.onExpressionDelete(g),children:M.jsx(Wt,{})})]},`user_${g}${v.name}`)}renderExpressions(){return this.props.expressions.map((v,g)=>this.renderExpression(v,g))}renderOneFrameTitle(v,g){if(this.props.mainScriptId===this.props.currentScriptId&&v.location.scriptId!==this.props.mainScriptId)return null;const a=(v.url.split("/").pop()||"").replace(/^script\.js\./,"");return M.jsx(G.ListItemButton,{onClick:()=>this.props.onChangeCurrentFrame(g),dense:!0,selected:this.props.currentFrame===g,style:le.frameRoot,children:M.jsx(G.ListItemText,{sx:{...le.frameTextRoot,"& .MuiListItemText-primary":le.frameTextPrimary,"& .MuiListItemText-secondary":le.frameTextSecondary},title:v.url,primary:v.functionName||"anonymous",secondary:`${a} (${v.location.lineNumber}:${v.location.columnNumber})`})},v.callFrameId)}formatValue(v,g){if(!v)return g?"none":M.jsx("span",{style:le.valueNone,children:"none"});if(v.type==="undefined")return g?"undefined":M.jsx("span",{style:le.valueUndefined,children:"undefined"});if(v.type==="null")return g?"null":M.jsx("span",{style:le.valueNull,children:"null"});if(v.type==="function"){const a=v.description?v.description.length>100?`${v.description.substring(0,100)}...`:v.description:"function";return g?a:M.jsx("span",{style:le.valueFunc,title:v.description,children:a})}if(v.type==="object"){const a=ia(v);return g?JSON.stringify(a):typeof a=="string"?M.jsx(G.Box,{component:"span",sx:le.error,children:a}):M.jsx(oa,{name:!1,enableClipboard:!1,style:{backgroundColor:"inherit",marginTop:3},src:a,collapsed:!0,theme:this.props.themeType==="dark"?"brewer":"rjv-default",displayDataTypes:!1})}if(v.value===void 0)return g?"undefined":M.jsx("span",{style:le.valueUndefined,children:"undefined"});if(v.value===null)return g?"null":M.jsx("span",{style:le.valueNull,children:"null"});if(v.type==="string"){if(g)return v.value;const a=`"${v.value?v.value.length>100?`${v.value.substring(0,100)}...`:v.value:""}"`;return M.jsx("span",{style:le.valueString,title:a,children:a})}return v.type==="boolean"?g?v.value.toString():M.jsx("span",{style:le.valueBoolean,children:v.value.toString()}):v.value.toString()}onWriteScopeValue(){var v,g;this.scopeValue==="true"?this.scopeValue=!0:this.scopeValue==="false"?this.scopeValue=!1:this.scopeValue==="null"?this.scopeValue=null:this.scopeValue==="undefined"?this.scopeValue=void 0:parseFloat(this.scopeValue).toString()===this.scopeValue&&(this.scopeValue=parseFloat(this.scopeValue)),this.props.onWriteScopeValue({variableName:((v=this.state.editValue)==null?void 0:v.name)||"",scopeNumber:0,newValue:{value:this.scopeValue,valueType:typeof this.scopeValue},callFrameId:(g=this.props.callFrames)==null?void 0:g[this.props.currentFrame].callFrameId}),this.setState({editValue:null}),this.scopeValue=null}componentDidUpdate(){var v;(v=this.editRef.current)==null||v.focus()}renderScope(v,g,a){var s,c,d,p;const t=!this.props.currentFrame&&g.value&&(g.value.type==="undefined"||g.value.type==="string"||g.value.type==="number"||g.value.type==="boolean"||((s=g.value)==null?void 0:s.value)===null||((c=g.value)==null?void 0:c.value)===void 0&&g.value.type!=="object"),e=((d=this.state.editValue)==null?void 0:d.type)===a&&((p=this.state.editValue)==null?void 0:p.name)===g.name?[M.jsx("div",{style:le.scopeNameName,children:g.name},"name"),M.jsxs(G.Box,{sx:le.scopeNameEqual,children:[" ","="," "]},"="),M.jsx(G.Input,{inputRef:this.editRef,margin:"dense",onBlur:()=>this.state.editValue&&this.setState({editValue:null}),defaultValue:this.formatValue(g.value,!0),onKeyUp:f=>{f.key==="Enter"?this.onWriteScopeValue():f.key==="Escape"&&this.setState({editValue:null})},onChange:f=>this.scopeValue=f.target.value,endAdornment:M.jsx(G.InputAdornment,{position:"end",children:M.jsx(G.IconButton,{onClick:()=>this.onWriteScopeValue(),size:"medium",children:M.jsx(It,{})})})},"input")]:[M.jsx("div",{style:le.scopeNameName,title:Oe.I18n.t("Double click to write value"),children:g.name},"name"),M.jsxs(G.Box,{sx:le.scopeNameEqual,children:[" ","="," "]},"="),M.jsxs("div",{style:le.scopeNameValue,children:[this.formatValue(g.value)," (",g.value.type,")"]},"val")];return M.jsxs("tr",{children:[M.jsx("td",{style:{...le.scopeType,...le[`scopeType_${a}`]},children:a}),M.jsx("td",{style:{...le.scopeName,...!this.props.currentFrame&&t?le.scopeValueEditable:void 0},onDoubleClick:()=>{t&&(this.scopeValue=g.value.value,this.setState({editValue:{scopeId:v,type:a,index:0,valueType:g.value.type,name:g.name,value:g.value.value}}))},children:e})]},`${a}_${v}_${g.name}`)}renderScopes(v){var t,e,s,c,d,p;if(!v)return null;const g=this.renderExpressions();let a=(s=(e=(t=this.props.scopes)==null?void 0:t.local)==null?void 0:e.properties)==null?void 0:s.result.map(f=>this.props.scopes&&this.renderScope("",f,"local"));return a==null||a.forEach(f=>f&&g.push(f)),a=(p=(d=(c=this.props.scopes)==null?void 0:c.closure)==null?void 0:d.properties)==null?void 0:p.result.map(f=>this.props.scopes&&this.renderScope("",f,"closure")),a==null||a.forEach(f=>f&&g.push(f)),M.jsx("table",{style:{width:"100%",fontSize:"small"},children:M.jsx("tbody",{children:g})})}render(){var v,g;return M.jsxs(Ft,{direction:Nt.Horizontal,initialSizes:this.state.framesSizes,minWidths:[100,200],onResizeFinished:(a,t)=>{this.setState({framesSizes:t}),window.localStorage.setItem("JS.framesSizes",JSON.stringify(t))},gutterClassName:this.props.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[M.jsx("div",{style:{width:"100%",height:"100%",overflow:"auto"},children:M.jsx(G.List,{style:le.listRoot,children:((v=this.props.callFrames)==null?void 0:v.map((a,t)=>this.renderOneFrameTitle(a,t)))||null})}),M.jsxs("div",{style:{width:"100%",height:"100%",overflow:"auto"},children:[M.jsx(G.Box,{sx:le.toolbarScopes,children:M.jsx(G.IconButton,{size:"small",onClick:()=>this.props.onExpressionAdd((a,t)=>{this.scopeValue=t.name||"",this.setState({editValue:{type:"expression",valueType:"string",index:a,name:t.name,value:t.name||""}})}),children:M.jsx(Kt,{})})}),M.jsx("div",{style:le.scopesAfterToolbar,children:((g=this.props.callFrames)==null?void 0:g.length)&&this.renderScopes(this.props.callFrames[this.props.currentFrame])})]})]})}}const _e={root:X=>({width:"100%",height:`calc(100% - ${parseInt(X.toolbar.height,10)+38+5}px)`,overflow:"hidden",position:"relative"}),toolbar:{minHeight:38,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)"},buttonRun:{color:"green"},buttonPause:{color:"orange"},buttonRestart:{color:"darkgreen"},buttonNext:{color:"blue"},buttonStep:{color:"blue"},buttonOut:{color:"blue"},buttonException:{},tabFile:X=>({textTransform:"inherit",color:X.palette.mode==="dark"?"#DDD":"inherit"}),tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},closeButton:{position:"absolute",top:8,right:0,zIndex:10,padding:8,cursor:"pointer"},tabsRoot:X=>({minHeight:24,background:X.palette.mode==="dark"?"#333":"#e6e6e6",color:X.palette.mode==="dark"?"white":"inherit"}),tabRoot:{minHeight:24},bpListItem:{borderTop:"1px dashed #bfbfbf44"},monospace:{fontFamily:"Courier New, monospace",whiteSpace:"pre",fontSize:12},arrow:{color:"#fffa4f"}};class kt extends dt.Component{console=null;scripts={};mainScriptId=null;constructor(v){super(v);const g=window.localStorage.getItem(`javascript.tools.bp.${this.props.src}`);let a;try{a=g?JSON.parse(g):[]}catch{a=[]}const t=window.localStorage.getItem(`javascript.tools.exps.${this.props.src}`);let e;try{e=(t?JSON.parse(t):[]).map(p=>({name:p,value:{type:"undefined",description:"",value:"undefined",name:"name"}}))}catch{e=[]}const s=window.localStorage.getItem("JS.toolSizes");let c=[80,20];if(s)try{c=JSON.parse(s)}catch{}this.state={starting:!0,selected:null,tabs:{},script:"",breakpoints:a,expressions:e,running:!1,error:"",started:!1,paused:!0,location:null,toolsTab:window.localStorage.getItem("javascript.tools.tab")||"console",stopOnException:window.localStorage.getItem("javascript.tools.stopOnException")==="true",console:[],finished:!1,currentFrame:0,scopes:{},queryBreakpoints:null,logErrors:0,logWarnings:0,logs:0,toolSizes:c,instance:void 0,context:null}}async componentDidMount(){var g,a;let v;if(this.props.debugInstance)v=this.props.debugInstance.instance;else{const t=await this.props.socket.getObject(this.props.src);v=((a=(g=t==null?void 0:t.common)==null?void 0:g.engine)==null?void 0:a.replace("system.adapter.",""))||""}this.setState({instance:v},()=>{this.state.instance?(this.props.socket.setState(`${this.state.instance}.debug.from`,{val:'{"cmd": "subscribed"}',ack:!0}),setTimeout(()=>this.props.socket.subscribeState(`${this.state.instance}.debug.from`,this.fromInstance),200)):this.setState({error:"Unknown instance"})})}componentWillUnmount(){this.state.instance&&(this.props.socket.unsubscribeState(`${this.state.instance}.debug.from`,this.fromInstance),this.props.socket.sendTo(this.state.instance,"debugStop"))}sendToInstance(v){this.props.socket.setState(`${this.state.instance}.debug.to`,{val:JSON.stringify(v),ack:!1})}reinitBreakpoints(v){if(this.state.breakpoints.length){const a=JSON.parse(JSON.stringify(this.state.breakpoints)).map(t=>t.location);this.setState({breakpoints:[]},()=>{this.sendToInstance({breakpoints:a,cmd:"sb"}),this.state.stopOnException&&this.sendToInstance({cmd:"stopOnException",state:!0}),v&&v()})}else this.state.stopOnException&&this.sendToInstance({cmd:"stopOnException",state:!0}),v&&v()}static getLocation(v){return v.callFrames?v.callFrames[0].location:null}readCurrentScope(){var g;const v=((g=this.state.context)==null?void 0:g.callFrames)&&this.state.context.callFrames[this.state.currentFrame];if(v){const a=v.scopeChain.filter(t=>t.type!=="global");a.length?this.sendToInstance({cmd:"scope",scopes:a}):(this.state.scopes.global||this.state.scopes.local||this.state.scopes.closure)&&this.setState({scopes:{}})}}readExpressions(v){var g;this.state.expressions.length&&((g=this.state.context)!=null&&g.callFrames)&&this.state.context.callFrames[this.state.currentFrame]&&(v!==void 0?this.sendToInstance({cmd:"expressions",expressions:[this.state.expressions[v]],callFrameId:this.state.context.callFrames[this.state.currentFrame].callFrameId}):this.sendToInstance({cmd:"expressions",expressions:this.state.expressions,callFrameId:this.state.context.callFrames[this.state.currentFrame].callFrameId}))}fromInstance=(v,g)=>{var a,t,e,s,c,d,p,f,h,E;if(g!=null&&g.val&&this.state.instance!==void 0)try{const b=JSON.parse(g.val);if(b.cmd==="subscribed")this.props.socket.sendTo(this.state.instance,"debug",this.props.debugInstance||{scriptName:this.props.src});else if(b.cmd==="readyToDebug"){this.mainScriptId=b.scriptId,this.scripts[b.scriptId]=b.script,b.script.startsWith(`(async () => {debugger; +`)?this.scripts[b.scriptId]=`(async () => { +${b.script.substring(24)}`:b.script.startsWith("debugger;")&&(this.scripts[b.scriptId]=b.script.substring(9));const w=JSON.parse(JSON.stringify(this.state.tabs));w[b.scriptId]=this.props.debugInstance?b.url:this.props.src.replace("script.js.","");const I=`${Date.now()}.${Math.random()*1e4}`;(t=(a=b.context)==null?void 0:a.callFrames)==null||t.forEach((D,H)=>D.id=I+H),this.setState({starting:!1,finished:!1,selected:this.mainScriptId,script:this.scripts[b.scriptId],tabs:w,currentFrame:0,started:!0,paused:!0,location:kt.getLocation(b.context),context:b.context},()=>this.reinitBreakpoints(()=>{this.readCurrentScope(),this.readExpressions()}))}else if(b.cmd==="paused"){const w=`${Date.now()}.${Math.random()*1e4}`;(s=(e=b.context)==null?void 0:e.callFrames)==null||s.forEach((ee,r)=>ee.id=w+r);const I=kt.getLocation(b.context),D=JSON.parse(JSON.stringify(this.state.tabs)),H=b.context.callFrames[0].url.split("iobroker.javascript");I&&(D[I.scriptId]=(H[1]||H[0]).replace("script.js.",""));const L={tabs:D,paused:!0,location:I,currentFrame:0,context:b.context};L.script=!(I!=null&&I.scriptId)||this.scripts[I.scriptId]===void 0?Oe.I18n.t("loading..."):this.scripts[I.scriptId],L.selected=I==null?void 0:I.scriptId,this.setState(L,()=>{this.readCurrentScope(),this.readExpressions(),I!=null&&I.scriptId&&(this.scripts[I.scriptId]||this.sendToInstance({cmd:"source",scriptId:I.scriptId}))})}else if(b.cmd==="script")this.scripts[b.scriptId]=b.text,this.state.selected===b.scriptId&&this.setState({script:this.scripts[b.scriptId]});else if(b.cmd==="resumed")this.setState({paused:!1});else if(b.cmd==="log")if(this.state.toolsTab==="console"){this.console=null;const w=[...this.state.console];w.push({text:b.text,severity:b.severity,ts:b.ts}),this.setState({console:w})}else b.severity==="error"?this.setState({logErrors:this.state.logErrors+1}):b.severity==="warn"?this.setState({logWarnings:this.state.logWarnings+1}):this.setState({logs:this.state.logs+1}),this.console=this.console||[...this.state.console],this.console.push({text:b.text,severity:b.severity,ts:b.ts});else if(b.cmd==="error")this.setState({error:b.error});else if(b.cmd==="finished"||b.cmd==="debugStopped")this.setState({finished:!0,starting:!1,started:!0});else if(b.cmd==="sb"){const w=JSON.parse(JSON.stringify(this.state.breakpoints));let I=!1;b.breakpoints.filter(D=>D).forEach(D=>{w.find(L=>L.location.scriptId===D.location.scriptId&&L.location.lineNumber===D.location.lineNumber)||(I=!0,w.push(D))}),I&&window.localStorage.setItem(`javascript.tools.bp.${this.props.src}`,JSON.stringify(w)),I&&this.setState({breakpoints:w})}else if(b.cmd==="cb"){const w=JSON.parse(JSON.stringify(this.state.breakpoints));let I=!1;b.breakpoints.filter(D=>D!=null).forEach(D=>{const H=w.find(L=>L.id===D);if(H){const L=w.indexOf(H);w.splice(L,1),I=!0}}),I&&window.localStorage.setItem(`javascript.tools.bp.${this.props.src}`,JSON.stringify(w)),I&&this.setState({breakpoints:w})}else if(b.cmd==="scope"){const w=b.scopes.find(D=>D.type==="local")||void 0,I=b.scopes.find(D=>D.type==="closure")||void 0;console.log(JSON.stringify(I)),this.setState({scopes:{local:w,closure:I}})}else if(b.cmd==="setValue"){const w=JSON.parse(JSON.stringify(this.state.scopes));let I;b.scopeNumber===0?I=(d=(c=w==null?void 0:w.local)==null?void 0:c.properties)==null?void 0:d.result.find(D=>D.name===b.variableName):I=(f=(p=w==null?void 0:w.closure)==null?void 0:p.properties)==null?void 0:f.result.find(D=>D.name===b.variableName),I&&(I.value.value=b.newValue.value,this.setState({scopes:w}))}else if(b.cmd==="expressions"){const w=JSON.parse(JSON.stringify(this.state.expressions));let I=!1;b.expressions.forEach(D=>{const H=w.find(L=>L.name===D.name);H&&(I=!0,H.value=D.result)}),I&&this.setState({expressions:w}),console.log(`expressions: ${JSON.stringify(b)}`)}else b.cmd==="getPossibleBreakpoints"?((h=b.breakpoints)==null?void 0:h.length)===1?this.sendToInstance({breakpoints:b.breakpoints,cmd:"sb"}):(E=b.breakpoints)!=null&&E.length?this.setState({queryBreakpoints:b.breakpoints}):window.alert("cannot set"):console.error(`Unknown command: ${JSON.stringify(b)}`)}catch{}};getTextAtLocation(v){let g=this.state.script.split(/\r\n|\n/)[v.lineNumber],a;return v.columnNumber!==void 0&&v.columnNumber>=10?(g=g.substring(v.columnNumber-10,v.columnNumber+20),a=`${"".padStart(10," ")}↑`):v.columnNumber!==void 0&&(g=g.substring(0,30-v.columnNumber),a=`${"".padStart(v.columnNumber," ")}↑`),[M.jsx("div",{style:_e.monospace,children:g},"line"),M.jsx("div",{style:{..._e.monospace,..._e.arrow},children:a},"arrow")]}renderQueryBreakpoints(){return this.state.queryBreakpoints?M.jsxs(G.Dialog,{onClose:()=>this.setState({queryBreakpoints:null}),"aria-labelledby":"bp-dialog-title",open:!0,children:[M.jsx(G.DialogTitle,{id:"bp-dialog-title",children:Oe.I18n.t("Select breakpoint")}),M.jsx(G.List,{children:this.state.queryBreakpoints.map((v,g)=>M.jsx(G.ListItemButton,{style:_e.bpListItem,dense:!0,onClick:()=>{this.sendToInstance({breakpoints:[v],cmd:"sb"}),this.setState({queryBreakpoints:null})},children:M.jsx(G.ListItemText,{primary:this.getTextAtLocation(v)})},g))})]}):null}renderError(){return this.state.error?M.jsx(Lt,{onClose:()=>this.setState({error:""}),text:this.state.error},"dialogError"):null}closeTab(v,g){g==null||g.stopPropagation();const a=JSON.parse(JSON.stringify(this.state.tabs));delete a[v];const t={tabs:a,script:this.mainScriptId?this.scripts[this.mainScriptId]:"...",selected:this.mainScriptId};this.state.location&&this.state.location.scriptId!==this.mainScriptId&&(t.location=null),this.setState(t)}renderTabs(){const v=!this.state.tabs||!this.state.started;return M.jsx(G.Tabs,{component:"div",indicatorColor:"primary",style:{position:"relative",width:"calc(100% - 300px)",display:"inline-block"},value:this.state.selected,onChange:(g,a)=>{this.scripts[a]?this.setState({selected:a,script:this.scripts[a]}):this.setState({selected:a,script:"loading..."},()=>this.sendToInstance({cmd:"source",scriptId:a}))},scrollButtons:"auto",children:Object.keys(this.state.tabs||[]).map(g=>{let a=g;const t=this.state.tabs[g]||"";this.state.tabs[g]&&(a=this.state.tabs[g].split("/").pop()||"");const e=[M.jsx("div",{style:_e.tabText,children:a},"text"),g!==this.mainScriptId?M.jsx("span",{style:_e.closeButton,children:M.jsx($t,{onClick:s=>this.closeTab(g,s),fontSize:"small"},"close")},"icon"):null];return M.jsx(G.Tab,{disabled:v,sx:_e.tabFile,label:e,title:t,value:g},g)})})}onResume(){this.sendToInstance({cmd:"cont"})}onPause(){this.sendToInstance({cmd:"pause"})}onNext(){this.sendToInstance({cmd:"next"})}onStepIn(){this.sendToInstance({cmd:"step"})}onStepOut(){this.sendToInstance({cmd:"out"})}onRestart(){this.setState({started:!1,starting:!0},()=>this.state.instance!==void 0&&this.props.socket.sendTo(this.state.instance,"debug",this.props.debugInstance||{scriptName:this.props.src}))}onToggleException(){const v=!this.state.stopOnException;window.localStorage.setItem("javascript.tools.stopOnException",v?"true":"false"),this.setState({stopOnException:v},()=>this.sendToInstance({cmd:"stopOnException",state:v}))}renderToolbar(){const v=!this.state.started;return M.jsxs(G.Toolbar,{variant:"dense",style:_e.toolbar,children:[M.jsx(G.IconButton,{style:_e.buttonRestart,disabled:v,onClick:()=>this.onRestart(),title:Oe.I18n.t("Restart"),size:"medium",children:M.jsx(Jt,{})}),!this.state.finished&&this.state.paused?M.jsx(G.IconButton,{style:_e.buttonRun,disabled:v,onClick:()=>this.onResume(),title:Oe.I18n.t("Resume execution"),size:"medium",children:M.jsx(Ut,{})}):!this.state.finished&&M.jsx(G.IconButton,{disabled:v,style:_e.buttonPause,onClick:()=>this.onPause(),title:Oe.I18n.t("Pause execution"),size:"medium",children:M.jsx(Ht,{})}),!this.state.finished&&M.jsx(G.IconButton,{style:_e.buttonNext,disabled:v||!this.state.paused,onClick:()=>this.onNext(),title:Oe.I18n.t("Go to next line"),size:"medium",children:M.jsx(Gt,{})}),!this.state.finished&&M.jsx(G.IconButton,{style:_e.buttonStep,disabled:v||!this.state.paused,onClick:()=>this.onStepIn(),title:Oe.I18n.t("Step into function"),size:"medium",children:M.jsx(Yt,{})}),!this.state.finished&&M.jsx(G.IconButton,{style:_e.buttonOut,disabled:v||!this.state.paused,onClick:()=>this.onStepOut(),title:Oe.I18n.t("Step out from function"),size:"medium",children:M.jsx(Qt,{})}),!this.state.finished&&M.jsx(G.IconButton,{style:_e.buttonException,color:this.state.stopOnException?"primary":"default",disabled:v||!this.state.paused,onClick:()=>this.onToggleException(),title:Oe.I18n.t("Stop on exception"),size:"medium",children:M.jsx(Zt,{})}),this.renderTabs()]},"toolbar1")}getPossibleBreakpoints(v){const g={...v,columnNumber:1e3};this.sendToInstance({cmd:"getPossibleBreakpoints",start:v,end:g})}toggleBreakpoint(v){const g=this.state.breakpoints.find(a=>a.location.scriptId===this.state.selected&&a.location.lineNumber===v);if(g){const a=JSON.parse(JSON.stringify(this.state.breakpoints));this.setState({breakpoints:a},()=>this.sendToInstance({breakpoints:[g.id],cmd:"cb"}))}else this.getPossibleBreakpoints({scriptId:this.state.selected,lineNumber:v,columnNumber:0})}renderCode(){if(this.state.script&&this.state.started){const v=this.state.breakpoints.filter(g=>g.location.scriptId===this.state.selected);return M.jsx(aa,{runningInstances:this.props.runningInstances,socket:this.props.socket,adapterName:this.props.adapterName,scriptName:this.state.selected?this.state.tabs[this.state.selected]:"",sourceId:this.state.selected,script:this.state.script,paused:this.state.paused,breakpoints:v,location:this.state.location,themeType:this.props.themeType,themeName:this.props.themeName,onToggleBreakpoint:g=>this.toggleBreakpoint(g)})}return null}renderFrames(){var v;return this.state.paused?M.jsx(la,{currentScriptId:this.state.selected,scopes:this.state.scopes,expressions:this.state.expressions,themeType:this.props.themeType,callFrames:(v=this.state.context)==null?void 0:v.callFrames,currentFrame:this.state.currentFrame,onChangeCurrentFrame:g=>{this.setState({currentFrame:g,scopes:{}},()=>{this.readCurrentScope(),this.readExpressions()})},onWriteScopeValue:g=>{this.sendToInstance({cmd:"setValue",variableName:g.variableName,scopeNumber:g.scopeNumber,newValue:g.newValue,callFrameId:g.callFrameId})},onExpressionDelete:g=>{const a=JSON.parse(JSON.stringify(this.state.expressions));a.splice(g,1),this.setState({expressions:a}),window.localStorage.setItem(`javascript.tools.exps.${this.props.src}`,JSON.stringify(a.map(t=>t.name)))},onExpressionAdd:g=>{const a=JSON.parse(JSON.stringify(this.state.expressions));a.push({name:"",value:{value:""}}),this.setState({expressions:a},()=>g&&g(a.length-1,this.state.expressions[a.length-1]))},onExpressionNameUpdate:(g,a,t)=>{const e=JSON.parse(JSON.stringify(this.state.expressions));if(!a)e.splice(g,1);else{if(e.find(s=>s.name===a))return t&&t();e[g].name=a}this.setState({expressions:e},()=>{a&&this.readExpressions(g),t&&t()}),window.localStorage.setItem(`javascript.tools.exps.${this.props.src}`,JSON.stringify(e.map(s=>s.name)))}}):null}renderConsole(){return M.jsx(_t,{console:this.state.console,onClearAllLogs:()=>this.setState({console:[],logErrors:0,logWarnings:0,logs:0})})}renderTools(){const v=!this.state.tabs||!this.state.started;let g;return this.state.logErrors?g=M.jsx(G.Badge,{badgeContent:this.state.logErrors,color:"error",children:M.jsx("span",{children:Oe.I18n.t("Console")})}):this.state.logWarnings?g=M.jsx(G.Badge,{badgeContent:this.state.logWarnings,color:"secondary",children:M.jsx("span",{children:Oe.I18n.t("Console")})}):this.state.logs?g=M.jsx(G.Badge,{badgeContent:this.state.logs,color:"default",children:M.jsx("span",{children:Oe.I18n.t("Console")})}):g=Oe.I18n.t("Console"),M.jsxs("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[M.jsxs(G.Tabs,{sx:_e.tabsRoot,component:"div",indicatorColor:"primary",style:{position:"relative",width:"100%"},value:this.state.toolsTab,onChange:(a,t)=>{const e={toolsTab:t};this.console&&t==="console"&&(e.console=this.console,this.console=null,e.logs=0,e.logWarnings=0,e.logErrors=0),window.localStorage.setItem("javascript.tools.tab",t),this.setState(e)},scrollButtons:"auto",children:[M.jsx(G.Tab,{style:_e.tabRoot,disabled:v,label:Oe.I18n.t("Stack"),value:"stack"}),M.jsx(G.Tab,{style:_e.tabRoot,disabled:v,label:g,value:"console"})]}),M.jsxs("div",{style:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden"},children:[this.state.toolsTab==="stack"&&!v?this.renderFrames():null,this.state.toolsTab==="console"&&!v?this.renderConsole():null]})]})}render(){return M.jsxs(G.Box,{sx:_e.root,children:[this.state.starting?M.jsx(G.LinearProgress,{}):null,this.renderToolbar(),M.jsxs(Ft,{direction:Nt.Vertical,initialSizes:this.state.toolSizes,minHeights:[100,100],onResizeFinished:(v,g)=>{this.setState({toolSizes:g}),window.localStorage.setItem("JS.toolSizes",JSON.stringify(g))},gutterClassName:this.props.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[M.jsxs("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[this.renderCode(),this.renderQueryBreakpoints()]}),M.jsx("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:this.renderTools()})]}),this.renderError()]},"debugger")}}export{kt as default}; diff --git a/admin/assets/inheritsLoose--KnFDOw1.js b/admin/assets/inheritsLoose-DgfqekV3.js similarity index 99% rename from admin/assets/inheritsLoose--KnFDOw1.js rename to admin/assets/inheritsLoose-DgfqekV3.js index f04f8ddc4..724df2e9a 100644 --- a/admin/assets/inheritsLoose--KnFDOw1.js +++ b/admin/assets/inheritsLoose-DgfqekV3.js @@ -1,4 +1,4 @@ -import{g as Je}from"./_commonjsHelpers-Cpj98o6Y.js";import{a as dt,i as mt}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import{i as c}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{ah as We,ai as ht,aj as Xe,ak as Ne,al as yt,am as St,an as pt,ao as gt,j as b,ap as Ct,aq as bt,ar as vt,u as _t,as as xt,T as N,b as $t,ac as Mt,h as Et}from"./createSvgIcon-BQT-7-GS.js";const{loadShare:Tt}=mt,{initPromise:wt}=dt,Pt=wt.then(e=>Tt("react-dom",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),jt=await Pt.then(e=>e());var kt=jt;const bo=Je(kt);var Be={exports:{}},f={};/** @license React v16.13.1 +import{g as Je}from"./_commonjsHelpers-Cpj98o6Y.js";import{a as dt,i as mt}from"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import{i as c}from"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{ah as We,ai as ht,aj as Xe,ak as Ne,al as yt,am as St,an as pt,ao as gt,j as b,ap as Ct,aq as bt,ar as vt,u as _t,as as xt,T as N,b as $t,ac as Mt,h as Et}from"./createSvgIcon-DMsh-YeH.js";const{loadShare:Tt}=mt,{initPromise:wt}=dt,Pt=wt.then(e=>Tt("react-dom",{customShareInfo:{shareConfig:{singleton:!0,strictVersion:!1,requiredVersion:"*"}}})),jt=await Pt.then(e=>e());var kt=jt;const bo=Je(kt);var Be={exports:{}},f={};/** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. diff --git a/admin/assets/useTheme-DF6qfrtI.js b/admin/assets/useTheme-N2j2HWMZ.js similarity index 73% rename from admin/assets/useTheme-DF6qfrtI.js rename to admin/assets/useTheme-N2j2HWMZ.js index 1f6efe20f..99f11eb7d 100644 --- a/admin/assets/useTheme-DF6qfrtI.js +++ b/admin/assets/useTheme-N2j2HWMZ.js @@ -1 +1 @@ -import"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{q as t,u as s,T as m,E as u}from"./createSvgIcon-BQT-7-GS.js";const a=t();function r(e=a){return s(e)}function T(){const e=r(u);return e[m]||e}export{r as a,T as u}; +import"./iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js";import{q as t,u as s,T as m,E as u}from"./createSvgIcon-DMsh-YeH.js";const a=t();function r(e=a){return s(e)}function T(){const e=r(u);return e[m]||e}export{r as a,T as u}; diff --git a/admin/custom/assets/index-BADTG0C3.js b/admin/custom/assets/index-BADTG0C3.js new file mode 100644 index 000000000..c54ef6bfd --- /dev/null +++ b/admin/custom/assets/index-BADTG0C3.js @@ -0,0 +1,1398 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CttBOMyq.js","./useTheme-MELayQMj.js","./_commonjsHelpers-D6-XlEtG.js","./createTheme-BwMO3rTt.js","./ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js","./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js","./useThemeWithoutDefault-C-hl_s0Z.js"])))=>i.map(i=>d[i]); +import{C as pt,R as M}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js";import{a as Xr,c as He,g as Zr}from"./_commonjsHelpers-D6-XlEtG.js";import{C as N}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BlV79j8y.js";import{C as Z,a as qr,I as es,D as Pi}from"./index-B8sZ2j0S.js";import{C as j,A as ts,a as Wi}from"./ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DAwHgdl6.js";import{R as ns}from"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DibxNPKw.js";import{F as is}from"./FilledInput-BpuM_GyB.js";import{p as rs}from"./createTheme-BwMO3rTt.js";import{i as Pn}from"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js";import{p as Un}from"./useTheme-MELayQMj.js";import{_ as ss}from"./preload-helper-Dp1pzeXC.js";import"./DefaultPropsProvider-9qubdy-V.js";import"./defaultTheme-avbtL0lf.js";import"./DefaultPropsProvider-DbEA5uR6.js";import"./jsx-runtime-o-xyxrOj.js";import"./useEnhancedEffect-CdLBzwyA.js";import"./useThemeWithoutDefault-C-hl_s0Z.js";const os=Object.freeze(Object.defineProperty({__proto__:null,get ConfigGeneric(){return K},get ConfigPanel(){return $t},get JsonConfig(){return $l},get JsonConfigComponent(){return cn}},Symbol.toStringTag,{value:"Module"}));var as=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ls=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,hs=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,$n={Space_Separator:as,ID_Start:ls,ID_Continue:hs},Me={isSpaceSeparator(L){return typeof L=="string"&&$n.Space_Separator.test(L)},isIdStartChar(L){return typeof L=="string"&&(L>="a"&&L<="z"||L>="A"&&L<="Z"||L==="$"||L==="_"||$n.ID_Start.test(L))},isIdContinueChar(L){return typeof L=="string"&&(L>="a"&&L<="z"||L>="A"&&L<="Z"||L>="0"&&L<="9"||L==="$"||L==="_"||L==="‌"||L==="‍"||$n.ID_Continue.test(L))},isDigit(L){return typeof L=="string"&&/[0-9]/.test(L)},isHexDigit(L){return typeof L=="string"&&/[0-9A-Fa-f]/.test(L)}};let Wn,Be,it,pn,dt,Ye,Ie,Gn,Vt;var us=function(n,i){Wn=String(n),Be="start",it=[],pn=0,dt=1,Ye=0,Ie=void 0,Gn=void 0,Vt=void 0;do Ie=cs(),fs[Be]();while(Ie.type!=="eof");return typeof i=="function"?Hn({"":Vt},"",i):Vt};function Hn(L,n,i){const h=L[n];if(h!=null&&typeof h=="object")if(Array.isArray(h))for(let v=0;v0;){const i=rt();if(!Me.isHexDigit(i))throw Ae(q());L+=q()}return String.fromCodePoint(parseInt(L,16))}const fs={start(){if(Ie.type==="eof")throw Ct();Tn()},beforePropertyName(){switch(Ie.type){case"identifier":case"string":Gn=Ie.value,Be="afterPropertyName";return;case"punctuator":nn();return;case"eof":throw Ct()}},afterPropertyName(){if(Ie.type==="eof")throw Ct();Be="beforePropertyValue"},beforePropertyValue(){if(Ie.type==="eof")throw Ct();Tn()},beforeArrayValue(){if(Ie.type==="eof")throw Ct();if(Ie.type==="punctuator"&&Ie.value==="]"){nn();return}Tn()},afterPropertyValue(){if(Ie.type==="eof")throw Ct();switch(Ie.value){case",":Be="beforePropertyName";return;case"}":nn()}},afterArrayValue(){if(Ie.type==="eof")throw Ct();switch(Ie.value){case",":Be="beforeArrayValue";return;case"]":nn()}},end(){}};function Tn(){let L;switch(Ie.type){case"punctuator":switch(Ie.value){case"{":L={};break;case"[":L=[];break}break;case"null":case"boolean":case"numeric":case"string":L=Ie.value;break}if(Vt===void 0)Vt=L;else{const n=it[it.length-1];Array.isArray(n)?n.push(L):Object.defineProperty(n,Gn,{value:L,writable:!0,enumerable:!0,configurable:!0})}if(L!==null&&typeof L=="object")it.push(L),Array.isArray(L)?Be="beforeArrayValue":Be="beforePropertyName";else{const n=it[it.length-1];n==null?Be="end":Array.isArray(n)?Be="afterArrayValue":Be="afterPropertyValue"}}function nn(){it.pop();const L=it[it.length-1];L==null?Be="end":Array.isArray(L)?Be="afterArrayValue":Be="afterPropertyValue"}function Ae(L){return dn(L===void 0?`JSON5: invalid end of input at ${dt}:${Ye}`:`JSON5: invalid character '${zi(L)}' at ${dt}:${Ye}`)}function Ct(){return dn(`JSON5: invalid end of input at ${dt}:${Ye}`)}function ui(){return Ye-=5,dn(`JSON5: invalid identifier character at ${dt}:${Ye}`)}function gs(L){console.warn(`JSON5: '${zi(L)}' in strings is not valid ECMAScript; consider escaping`)}function zi(L){const n={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(n[L])return n[L];if(L<" "){const i=L.charCodeAt(0).toString(16);return"\\x"+("00"+i).substring(i.length)}return L}function dn(L){const n=new SyntaxError(L);return n.lineNumber=dt,n.columnNumber=Ye,n}var ms=function(n,i,h){const v=[];let s="",u,d,a="",p;if(i!=null&&typeof i=="object"&&!Array.isArray(i)&&(h=i.space,p=i.quote,i=i.replacer),typeof i=="function")d=i;else if(Array.isArray(i)){u=[];for(const c of i){let f;typeof c=="string"?f=c:(typeof c=="number"||c instanceof String||c instanceof Number)&&(f=String(c)),f!==void 0&&u.indexOf(f)<0&&u.push(f)}}return h instanceof Number?h=Number(h):h instanceof String&&(h=String(h)),typeof h=="number"?h>0&&(h=Math.min(10,Math.floor(h)),a=" ".substr(0,h)):typeof h=="string"&&(a=h.substr(0,10)),e("",{"":n});function e(c,f){let m=f[c];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(c):typeof m.toJSON=="function"&&(m=m.toJSON(c))),d&&(m=d.call(f,c,m)),m instanceof Number?m=Number(m):m instanceof String?m=String(m):m instanceof Boolean&&(m=m.valueOf()),m){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof m=="string")return t(m);if(typeof m=="number")return String(m);if(typeof m=="object")return Array.isArray(m)?o(m):r(m)}function t(c){const f={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let y="";for(let E=0;Ef[E]=0)throw TypeError("Converting circular structure to JSON5");v.push(c);let f=s;s=s+a;let m=u||Object.keys(c),y=[];for(const E of m){const b=e(E,c);if(b!==void 0){let g=l(E)+":";a!==""&&(g+=" "),g+=b,y.push(g)}}let D;if(y.length===0)D="{}";else{let E;if(a==="")E=y.join(","),D="{"+E+"}";else{let b=`, +`+s;E=y.join(b),D=`{ +`+s+E+`, +`+f+"}"}}return v.pop(),s=f,D}function l(c){if(c.length===0)return t(c);const f=String.fromCodePoint(c.codePointAt(0));if(!Me.isIdStartChar(f))return t(c);for(let m=f.length;m=0)throw TypeError("Converting circular structure to JSON5");v.push(c);let f=s;s=s+a;let m=[];for(let D=0;D>>2]>>>24-S%4*8&255;D[b+S>>>2]|=T<<24-(b+S)%4*8}else for(var k=0;k>>2]=E[k>>>2];return this.sigBytes+=g,this},clamp:function(){var y=this.words,D=this.sigBytes;y[D>>>2]&=4294967295<<32-D%4*8,y.length=h.ceil(D/4)},clone:function(){var y=e.clone.call(this);return y.words=this.words.slice(0),y},random:function(y){for(var D=[],E=0;E>>2]>>>24-g%4*8&255;b.push((S>>>4).toString(16)),b.push((S&15).toString(16))}return b.join("")},parse:function(y){for(var D=y.length,E=[],b=0;b>>3]|=parseInt(y.substr(b,2),16)<<24-b%8*4;return new t.init(E,D/2)}},o=r.Latin1={stringify:function(y){for(var D=y.words,E=y.sigBytes,b=[],g=0;g>>2]>>>24-g%4*8&255;b.push(String.fromCharCode(S))}return b.join("")},parse:function(y){for(var D=y.length,E=[],b=0;b>>2]|=(y.charCodeAt(b)&255)<<24-b%4*8;return new t.init(E,D)}},c=r.Utf8={stringify:function(y){try{return decodeURIComponent(escape(o.stringify(y)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(y){return o.parse(unescape(encodeURIComponent(y)))}},f=p.BufferedBlockAlgorithm=e.extend({reset:function(){this._data=new t.init,this._nDataBytes=0},_append:function(y){typeof y=="string"&&(y=c.parse(y)),this._data.concat(y),this._nDataBytes+=y.sigBytes},_process:function(y){var D,E=this._data,b=E.words,g=E.sigBytes,S=this.blockSize,T=S*4,k=g/T;y?k=h.ceil(k):k=h.max((k|0)-this._minBufferSize,0);var _=k*S,O=h.min(_*4,g);if(_){for(var $=0;$<_;$+=S)this._doProcessBlock(b,$);D=b.splice(0,_),E.sigBytes-=O}return new t.init(D,O)},clone:function(){var y=e.clone.call(this);return y._data=this._data.clone(),y},_minBufferSize:0});p.Hasher=f.extend({cfg:e.extend(),init:function(y){this.cfg=this.cfg.extend(y),this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(y){return this._append(y),this._process(),this},finalize:function(y){y&&this._append(y);var D=this._doFinalize();return D},blockSize:16,_createHelper:function(y){return function(D,E){return new y.init(E).finalize(D)}},_createHmacHelper:function(y){return function(D,E){return new m.HMAC.init(y,E).finalize(D)}}});var m=a.algo={};return a}(Math);return i})}(un)),un.exports}var Ds=Kn.exports;(function(L,n){(function(i,h){L.exports=h(Ss())})(Ds,function(i){return function(h){var v=i,s=v.lib,u=s.WordArray,d=s.Hasher,a=v.algo,p=[];(function(){for(var c=0;c<64;c++)p[c]=h.abs(h.sin(c+1))*4294967296|0})();var e=a.MD5=d.extend({_doReset:function(){this._hash=new u.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(c,f){for(var m=0;m<16;m++){var y=f+m,D=c[y];c[y]=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360}var E=this._hash.words,b=c[f+0],g=c[f+1],S=c[f+2],T=c[f+3],k=c[f+4],_=c[f+5],O=c[f+6],$=c[f+7],A=c[f+8],C=c[f+9],w=c[f+10],x=c[f+11],I=c[f+12],F=c[f+13],R=c[f+14],B=c[f+15],P=E[0],V=E[1],W=E[2],H=E[3];P=t(P,V,W,H,b,7,p[0]),H=t(H,P,V,W,g,12,p[1]),W=t(W,H,P,V,S,17,p[2]),V=t(V,W,H,P,T,22,p[3]),P=t(P,V,W,H,k,7,p[4]),H=t(H,P,V,W,_,12,p[5]),W=t(W,H,P,V,O,17,p[6]),V=t(V,W,H,P,$,22,p[7]),P=t(P,V,W,H,A,7,p[8]),H=t(H,P,V,W,C,12,p[9]),W=t(W,H,P,V,w,17,p[10]),V=t(V,W,H,P,x,22,p[11]),P=t(P,V,W,H,I,7,p[12]),H=t(H,P,V,W,F,12,p[13]),W=t(W,H,P,V,R,17,p[14]),V=t(V,W,H,P,B,22,p[15]),P=r(P,V,W,H,g,5,p[16]),H=r(H,P,V,W,O,9,p[17]),W=r(W,H,P,V,x,14,p[18]),V=r(V,W,H,P,b,20,p[19]),P=r(P,V,W,H,_,5,p[20]),H=r(H,P,V,W,w,9,p[21]),W=r(W,H,P,V,B,14,p[22]),V=r(V,W,H,P,k,20,p[23]),P=r(P,V,W,H,C,5,p[24]),H=r(H,P,V,W,R,9,p[25]),W=r(W,H,P,V,T,14,p[26]),V=r(V,W,H,P,A,20,p[27]),P=r(P,V,W,H,F,5,p[28]),H=r(H,P,V,W,S,9,p[29]),W=r(W,H,P,V,$,14,p[30]),V=r(V,W,H,P,I,20,p[31]),P=l(P,V,W,H,_,4,p[32]),H=l(H,P,V,W,A,11,p[33]),W=l(W,H,P,V,x,16,p[34]),V=l(V,W,H,P,R,23,p[35]),P=l(P,V,W,H,g,4,p[36]),H=l(H,P,V,W,k,11,p[37]),W=l(W,H,P,V,$,16,p[38]),V=l(V,W,H,P,w,23,p[39]),P=l(P,V,W,H,F,4,p[40]),H=l(H,P,V,W,b,11,p[41]),W=l(W,H,P,V,T,16,p[42]),V=l(V,W,H,P,O,23,p[43]),P=l(P,V,W,H,C,4,p[44]),H=l(H,P,V,W,I,11,p[45]),W=l(W,H,P,V,B,16,p[46]),V=l(V,W,H,P,S,23,p[47]),P=o(P,V,W,H,b,6,p[48]),H=o(H,P,V,W,$,10,p[49]),W=o(W,H,P,V,R,15,p[50]),V=o(V,W,H,P,_,21,p[51]),P=o(P,V,W,H,I,6,p[52]),H=o(H,P,V,W,T,10,p[53]),W=o(W,H,P,V,w,15,p[54]),V=o(V,W,H,P,g,21,p[55]),P=o(P,V,W,H,A,6,p[56]),H=o(H,P,V,W,B,10,p[57]),W=o(W,H,P,V,O,15,p[58]),V=o(V,W,H,P,F,21,p[59]),P=o(P,V,W,H,k,6,p[60]),H=o(H,P,V,W,x,10,p[61]),W=o(W,H,P,V,S,15,p[62]),V=o(V,W,H,P,C,21,p[63]),E[0]=E[0]+P|0,E[1]=E[1]+V|0,E[2]=E[2]+W|0,E[3]=E[3]+H|0},_doFinalize:function(){var c=this._data,f=c.words,m=this._nDataBytes*8,y=c.sigBytes*8;f[y>>>5]|=128<<24-y%32;var D=h.floor(m/4294967296),E=m;f[(y+64>>>9<<4)+15]=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360,f[(y+64>>>9<<4)+14]=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360,c.sigBytes=(f.length+1)*4,this._process();for(var b=this._hash,g=b.words,S=0;S<4;S++){var T=g[S];g[S]=(T<<8|T>>>24)&16711935|(T<<24|T>>>8)&4278255360}return b},clone:function(){var c=d.clone.call(this);return c._hash=this._hash.clone(),c}});function t(c,f,m,y,D,E,b){var g=c+(f&m|~f&y)+D+b;return(g<>>32-E)+f}function r(c,f,m,y,D,E,b){var g=c+(f&y|m&~y)+D+b;return(g<>>32-E)+f}function l(c,f,m,y,D,E,b){var g=c+(f^m^y)+D+b;return(g<>>32-E)+f}function o(c,f,m,y,D,E,b){var g=c+(m^(f|~y))+D+b;return(g<>>32-E)+f}v.MD5=d._createHelper(e),v.HmacMD5=d._createHmacHelper(e)}(Math),i.MD5})})(Kn);var As=Kn.exports;const pi=Zr(As),xs=window.innerWidth<=600?12:void 0;function _n(L){return Object.prototype.toString.call(L)==="[object Object]"}class K extends pt.Component{static DIFFERENT_VALUE="__different__";static DIFFERENT_LABEL="ra___different__";static NONE_VALUE="";static NONE_LABEL="ra_none";defaultValue;isError;lang;defaultSendToDone;sendToTimeout;noPlaceRequired;constructor(n){super(n),this.state={confirmDialog:!1,confirmNewValue:null,confirmAttr:null,confirmData:null,confirmCallback:null},this.isError={},n.schema&&(n.custom?this.defaultValue=n.schema.defaultFunc?this.executeCustom(n.schema.defaultFunc,n.data,n.customObj,n.oContext.instanceObj,n.arrayIndex,n.globalData):n.schema.default:n.schema.type!=="state"&&(this.defaultValue=n.schema.defaultFunc?this.execute(n.schema.defaultFunc,n.schema.default,n.data,n.arrayIndex,n.globalData):n.schema.default)),this.lang=j.I18n.getLanguage()}componentDidMount(){this.props.oContext.registerOnForceUpdate&&this.props.oContext.registerOnForceUpdate(this.props.attr,this.onUpdate);const n=["select","autocomplete","autocompleteSendTo"];if(this.defaultValue!==void 0){const i=K.getValue(this.props.data,this.props.attr);(i===void 0||n.includes(this.props.schema.type)&&(i===""||i===null))&&setTimeout(()=>{this.props.custom?this.props.onChange(this.props.attr,this.defaultValue,()=>setTimeout(()=>this.props.oContext.forceUpdate([this.props.attr],this.props.data),100)):(K.setValue(this.props.data,this.props.attr,this.defaultValue),this.props.onChange(this.props.data,void 0,()=>this.props.oContext.forceUpdate([this.props.attr],this.props.data)))},100)}else this.props.schema.defaultSendTo&&this.sendTo()}sendTo(){if(this.props.alive){this.defaultSendToDone=!0;let n=this.props.schema.data;if(n===void 0&&this.props.schema.jsonData){const i=this.getPattern(this.props.schema.jsonData,null,!0);try{n=JSON.parse(i)}catch{console.error(`Cannot parse json data: ${i}`)}}else n={attr:this.props.attr,value:K.getValue(this.props.data,this.props.attr)};n===void 0&&(n=null),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.defaultSendTo,n).then(i=>{i!=null&&(this.props.custom?this.props.onChange(this.props.attr,i,()=>this.props.oContext.forceUpdate([this.props.attr],this.props.data)):(K.setValue(this.props.data,this.props.attr,i),this.props.onChange(this.props.data,void 0,()=>this.props.oContext.forceUpdate([this.props.attr],this.props.data))))})}else this.defaultSendToDone=!1,this.props.schema.allowSaveWithError||this.onError(this.props.attr,j.I18n.t("ra_Instance %s is not alive",this.props.oContext.instance.toString()))}componentWillUnmount(){this.props.oContext.registerOnForceUpdate&&this.props.oContext.registerOnForceUpdate(this.props.attr),this.sendToTimeout&&(clearTimeout(this.sendToTimeout),this.sendToTimeout=null)}onUpdate=n=>{const i=K.getValue(n||this.props.data,this.props.attr)||"";this.state.value!==i?this.setState({value:i}):this.forceUpdate()};static getValue(n,i){if(typeof i=="string")return K.getValue(n,i.split("."));if(i.length===1)return n[i[0]];const h=i.shift();if(typeof h=="string"&&typeof n[h]=="object")return K.getValue(n[h],i)}static setValue(n,i,h){if(typeof i=="string"){K.setValue(n,i.split("."),h);return}if(i.length===1)h===null?delete n[i[0]]:n[i[0]]=h;else{const v=i.shift();if(typeof v!="string")return;(!n[v]||typeof n[v]=="object")&&(n[v]=n[v]||{}),K.setValue(n[v],i,h)}}getText(n,i){if(!n)return"";if(typeof n=="string"){const h=i?n:j.I18n.t(n);return h.includes("${")?this.getPattern(h,null,i):h}return _n(n)?n.func?typeof n.func=="object"?this.getPattern(n.func[this.lang]||n.func.en||"",null,!0):this.getPattern(n.func,null,i):n[this.lang]||n.en||"":n.toString()}renderDialogConfirm(){if(!this.state.confirmDialog)return null;const n=this.state.confirmData||this.props.schema.confirm;let i=null;return n.type==="warning"?i=M.createElement(Z.Warning,null):n.type==="error"?i=M.createElement(Z.Error,null):n.type==="info"&&(i=M.createElement(Z.Info,null)),M.createElement(j.DialogConfirm,{title:this.getText(n.title)||j.I18n.t("ra_Please confirm"),text:this.getText(n.text),ok:this.getText(n.ok)||j.I18n.t("ra_Ok"),cancel:this.getText(n.cancel)||j.I18n.t("ra_Cancel"),icon:i||void 0,onClose:h=>this.setState({confirmDialog:!1},()=>{if(h){if(this.state.confirmCallback){const s=this.state.confirmCallback;this.setState({confirmCallback:null},()=>s(!0));return}const v=JSON.parse(JSON.stringify(this.props.data));this.state.confirmDepAttr&&K.setValue(v,this.state.confirmDepAttr,this.state.confirmDepNewValue),K.setValue(v,this.state.confirmAttr,this.state.confirmNewValue),this.setState({confirmDialog:!1,confirmDepAttr:null,confirmDepNewValue:null,confirmNewValue:null,confirmAttr:null,confirmData:null},()=>this.props.onChange(v))}else{const v=this.state.confirmCallback;this.setState({confirmDialog:!1,confirmDepAttr:null,confirmDepNewValue:null,confirmNewValue:null,confirmAttr:null,confirmData:null,confirmCallback:null},()=>{v&&v(!1)})}})})}getIcon(n){n=n||this.props.schema.icon;let i=null;return n==="auth"?i=M.createElement(Z.Key,null):n==="send"?i=M.createElement(Z.Send,null):n==="web"?i=M.createElement(Z.Public,null):n==="warning"?i=M.createElement(Z.Warning,null):n==="error"?i=M.createElement(Z.Error,null):n==="info"?i=M.createElement(Z.Info,null):n==="search"?i=M.createElement(Z.Search,null):n==="book"?i=M.createElement(Z.MenuBook,null):n==="help"?i=M.createElement(Z.Help,null):n==="upload"?i=M.createElement(Z.UploadFile,null):n==="edit"?i=M.createElement(Z.Edit,null):n==="user"?i=M.createElement(Z.Person,null):n==="group"?i=M.createElement(Z.Group,null):n==="delete"?i=M.createElement(Z.Delete,null):n==="refresh"?i=M.createElement(Z.Refresh,null):n==="add"?i=M.createElement(Z.Add,null):n==="unpair"?i=M.createElement(Z.LinkOff,null):n==="pair"?i=M.createElement(Z.Link,null):n==="save"?i=M.createElement(Z.Save,null):n==="open"?i=M.createElement(Z.OpenInNew,null):n&&((n.endsWith(".png")||n.endsWith(".svg")||n.endsWith(".jpg"))&&!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`./adapter/${this.props.oContext.adapterName}/${n}`),i=M.createElement(j.Icon,{src:n,style:{width:22,height:22}})),i}onChangeAsync(n,i){return new Promise(h=>{const v=this.onChange(n,i,h);v instanceof Promise&&v.catch(s=>console.error(`Cannot set value: ${s}`))})}onChange(n,i,h){const v=JSON.parse(JSON.stringify(this.props.data));if(K.setValue(v,n,i),this.props.schema.confirm&&this.execute(this.props.schema.confirm.condition,!1,v,this.props.arrayIndex,this.props.globalData))return new Promise(u=>{this.setState({confirmDialog:!0,confirmNewValue:i,confirmAttr:n,confirmData:null},()=>{typeof h=="function"?h():u()})});if(this.props.schema.confirmDependsOn)for(let u=0;u{this.setState({confirmDialog:!0,confirmNewValue:i,confirmAttr:n,confirmDepNewValue:a,confirmDepAttr:d.attr,confirmData:d.confirm},()=>{typeof h=="function"?h():p()})})}}const s=[];if(this.props.schema.onChangeDependsOn)for(let u=0;uh&&h()),s!=null&&s.length&&s.forEach((u,d)=>setTimeout(()=>this.props.onChange(u,K.getValue(v,u)),d*50))):this.props.onChange(v,void 0,()=>{s.length&&this.props.oContext.forceUpdate(s,v),h&&h()}),Promise.resolve()}execute(n,i,h,v,s){let u;if(_n(n))u=n.func;else if(typeof n=="string")u=n;else return n;if(!u)return i;try{return new Function("data","originalData","_system","_alive","_common","_socket","_instance","arrayIndex","globalData","_changed",u.includes("return")?u:`return ${u}`)(h||this.props.data,this.props.originalData,this.props.oContext.systemConfig,this.props.alive,this.props.common,this.props.oContext.socket,this.props.oContext.instance,v,s,this.props.changed)}catch(d){return console.error(`Cannot execute ${JSON.stringify(n)}: ${d}`),i}}executeCustom(n,i,h,v,s,u){let d;if(_n(n))d=n.func;else if(typeof n=="string")d=n;else return n;if(!d)return null;try{return new Function("data","originalData","_system","instanceObj","customObj","_socket","arrayIndex","globalData","_changed",d.includes("return")?d:`return ${d}`)(i||this.props.data,this.props.originalData,this.props.oContext.systemConfig,v,h,this.props.oContext.socket,s,u,this.props.changed)}catch(a){return console.error(`Cannot execute ${d}: ${a}`),null}}calculate(n){let i,h,v,s;return this.props.custom?(i=n.validator?!this.executeCustom(n.validator,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!1,n.disabled===!0?h=!0:h=n.disabled?this.executeCustom(n.disabled,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!1,n.hidden===!0?v=!0:v=n.hidden?this.executeCustom(n.hidden,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!1,s=n.defaultFunc?this.executeCustom(n.defaultFunc,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):n.default):(i=n.validator?!this.execute(n.validator,!1,this.props.data,this.props.arrayIndex,this.props.globalData):!1,n.disabled===!0?h=!0:h=n.disabled?this.execute(n.disabled,!1,this.props.data,this.props.arrayIndex,this.props.globalData):!1,n.hidden===!0?v=!0:v=n.hidden?this.execute(n.hidden,!1,this.props.data,this.props.arrayIndex,this.props.globalData):!1,s=n.defaultFunc?this.execute(n.defaultFunc,n.default,this.props.data,this.props.arrayIndex,this.props.globalData):n.default),{error:i,disabled:h,hidden:v,defaultValue:s}}onError(n,i){i?this.isError[n]=i:delete this.isError[n],this.props.onError&&this.props.onError(n,i)}renderItem(n,i,h){return this.getText(this.props.schema.label)||this.getText(this.props.schema.text)}renderHelp(n,i,h){return i?M.createElement("a",{href:i,target:"_blank",rel:"noreferrer",style:{color:this.props.oContext.themeType==="dark"?"#a147ff":"#5b238f",textDecoration:"underline"}},this.getText(n,h)):(n=this.getText(n,h)||"",n&&(n.includes("")||n.includes(""))?j.Utils.renderTextWithA(n):n)}static escapeString(n,i){return typeof n!="string"?"":(n=n.replace(/`/g,"\\`"),n=n.replace(/\${([^}]+)}/g,(h,v)=>{if(v&&typeof v=="string"&&v.startsWith("data.")){const s=K.getValue(i,v.replace(/^data\./,""));if(typeof s=="string"&&s.includes('"'))return`\${${v}.replace(/"/g, '\\\\"')}`}return h}),n)}getPattern(n,i,h){if(i=i||this.props.data,!n)return"";let v;typeof n=="object"?n.func?v=n.func:(console.log(`Object must be stringified: ${JSON.stringify(n)}`),v=JSON.stringify(n)):v=n;try{if(this.props.custom)return new Function("data","originalData","arrayIndex","globalData","_system","instanceObj","customObj","_socket","_changed",`return \`${K.escapeString(v,i)}\``)(i,this.props.originalData,this.props.arrayIndex,this.props.globalData,this.props.oContext.systemConfig,this.props.oContext.instanceObj,this.props.customObj,this.props.oContext.socket,this.props.changed);const u=new Function("data","originalData","arrayIndex","globalData","_system","_alive","_common","_socket","_changed",`return \`${K.escapeString(v,i)}\``)(i,this.props.originalData,this.props.arrayIndex,this.props.globalData,this.props.oContext.systemConfig,this.props.alive,this.props.common,this.props.oContext.socket,this.props.changed);return h?u:j.I18n.t(u)}catch(s){return console.error(`Cannot execute ${v}: ${s}`),v}}render(){const n=this.props.schema;if(!n||this.props.expertMode===!1&&n.expertMode)return null;this.props.alive&&this.defaultSendToDone===!1&&(this.sendToTimeout=setTimeout(()=>{this.sendToTimeout=null,this.sendTo()},200));const{error:i,disabled:h,hidden:v,defaultValue:s}=this.calculate(n);if(v){if(Object.keys(this.isError).length&&(setTimeout(a=>Object.keys(a).forEach(p=>this.props.onError(p)),100,JSON.parse(JSON.stringify(this.isError))),this.isError={}),n.hideOnlyControl){const a=M.createElement(N.Grid2,{size:{xs:n.xs||xs,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0},style:{marginBottom:0,textAlign:"left",...n.style,...this.props.oContext.themeType==="dark"?n.darkStyle:{}}});return n.newLine?M.createElement(M.Fragment,null,M.createElement("div",{style:{flexBasis:"100%",height:0}}),a):a}return null}n.validatorNoSaveOnError&&(i&&!Object.keys(this.isError).length?(this.isError={[this.props.attr]:n.validatorErrorText?j.I18n.t(n.validatorErrorText):!0},setTimeout(a=>Object.keys(a).forEach(p=>this.props.onError(p,a[p])),100,JSON.parse(JSON.stringify(this.isError)))):!i&&Object.keys(this.isError).length&&(setTimeout(a=>Object.keys(a).forEach(p=>this.props.onError(p)),100,JSON.parse(JSON.stringify(this.isError))),this.isError={}));const u=this.renderItem(i,h||this.props.commandRunning||this.props.disabled,s);if(this.noPlaceRequired)return u;const d=M.createElement(N.Grid2,{title:this.getText(n.tooltip),size:{xs:n.xs||12,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0},style:{marginBottom:0,textAlign:"left",width:n.type==="divider"||n.type==="header"?n.width||"100%":void 0,...n.style,...this.props.oContext.themeType==="dark"?n.darkStyle:{}}},this.props.schema.defaultSendTo&&this.props.schema.button?M.createElement(N.Grid2,{container:!0,style:{width:"100%"}},M.createElement(N.Grid2,{flex:1},u),M.createElement(N.Grid2,null,M.createElement(N.Button,{disabled:h,variant:"outlined",onClick:()=>this.sendTo(),title:this.props.schema.buttonTooltip?this.getText(this.props.schema.buttonTooltip,this.props.schema.buttonTooltipNoTranslation):j.I18n.t("ra_Request data by instance")},this.getText(this.props.schema.button)))):u);return n.newLine?M.createElement(M.Fragment,null,M.createElement("div",{style:{flexBasis:"100%",height:0}}),this.renderDialogConfirm(),d):this.state.confirmDialog?M.createElement(M.Fragment,null,this.renderDialogConfirm(),d):d}}const Ge={fullWidth:{width:"100%"},accordionSummary:L=>({backgroundColor:L.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)"}),accordionTitle:{},toolbar:L=>({backgroundColor:L.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)",borderRadius:"3px"}),tooltip:{pointerEvents:"none"}};class $s extends K{typingTimer=null;constructor(n){super(n),this.props.schema.items=this.props.schema.items||[]}componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr)||[];Array.isArray(n)||(n=[]),this.setState({value:n,activeIndex:-1,iteration:0})}componentWillUnmount(){this.typingTimer&&(clearTimeout(this.typingTimer),this.typingTimer=null),super.componentWillUnmount()}itemAccordion(n,i){const{value:h}=this.state,{schema:v}=this.props,s={type:"panel",items:v.items.reduce((u,d)=>(u[d.attr]=d,u),{}),style:{marginLeft:"-8px",marginTop:"10px",marginBottom:"10px"}};return M.createElement($t,{oContext:this.props.oContext,index:i+this.state.iteration,arrayIndex:i,changed:this.props.changed,expertMode:this.props.expertMode,globalData:this.props.data,common:this.props.common,alive:this.props.alive,themeName:this.props.themeName,data:n,custom:!0,schema:s,originalData:this.props.originalData,onChange:(u,d)=>{const a=JSON.parse(JSON.stringify(h));a[i][u]=d,this.setState({value:a},()=>this.onChangeWrapper(a))},onError:(u,d)=>this.onError(u,d),table:this.props.table})}onDelete=n=>()=>{const i=JSON.parse(JSON.stringify(this.state.value));i.splice(n,1),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.onChangeWrapper(i))};onClone=n=>()=>{const i=JSON.parse(JSON.stringify(this.state.value)),h=JSON.parse(JSON.stringify(i[n]));if(typeof this.props.schema.clone=="string"&&typeof h[this.props.schema.clone]=="string"){let v=1,s=h[this.props.schema.clone];const u=s.match(/(\d+)$/);for(u?(s=s.replace(u[0],""),v=parseInt(u[0],10)+1):s+="_";i.find(d=>d[this.props.schema.clone]===s+v.toString());)v++;h[this.props.schema.clone]=`${h[this.props.schema.clone]}_${v}`}i.splice(n,0,h),this.setState({value:i,activeIndex:-1,iteration:this.state.iteration+1e4},()=>this.onChangeWrapper(i))};onChangeWrapper=n=>{this.typingTimer&&clearTimeout(this.typingTimer),this.typingTimer=setTimeout(i=>{this.typingTimer=null;const h=this.onChange(this.props.attr,i);h instanceof Promise&&h.catch(v=>this.onError(v))},300,n)};onAdd=()=>{const{schema:n}=this.props,i=JSON.parse(JSON.stringify(this.state.value)),h=n.items&&n.items.reduce((v,s)=>{let u;return s.defaultFunc?this.props.custom?u=s.defaultFunc?this.executeCustom(s.defaultFunc,this.props.data,this.props.customObj,this.props.oContext.instanceObj,i.length,this.props.data):this.props.schema.default:u=s.defaultFunc?this.execute(s.defaultFunc,this.props.schema.default,this.props.data,i.length,this.props.data):this.props.schema.default:u=s.default===void 0?null:s.default,v[s.attr]=u,v},{});i.push(h),this.setState({value:i,activeIndex:i.length-1},()=>this.onChangeWrapper(i))};onMoveUp(n){const i=JSON.parse(JSON.stringify(this.state.value)),h=i[n];i.splice(n,1),i.splice(n-1,0,h);const v=this.state.activeIndex-1;this.setState({value:i,activeIndex:v,iteration:this.state.iteration+1e4},()=>this.onChangeWrapper(i))}onMoveDown(n){const i=JSON.parse(JSON.stringify(this.state.value)),h=i[n];i.splice(n,1),i.splice(n+1,0,h);const v=this.state.activeIndex+1;this.setState({value:i,activeIndex:v,iteration:this.state.iteration+1e4},()=>this.onChangeWrapper(i))}renderItem(){const{schema:n}=this.props,{value:i}=this.state;return i?M.createElement(N.Paper,null,n.label||!n.noDelete?M.createElement(N.Toolbar,{variant:"dense"},n.label?M.createElement(N.Typography,{variant:"h6",id:"tableTitle",component:"div"},this.getText(n.label)):null,n.noDelete?null:M.createElement(N.IconButton,{size:"small",color:"primary",onClick:this.onAdd},M.createElement(Z.Add,null))):null,i.map((h,v)=>M.createElement(N.Accordion,{key:`${h}_${v}`,expanded:this.state.activeIndex===v,onChange:(s,u)=>this.setState({activeIndex:u?v:-1})},M.createElement(N.AccordionSummary,{expandIcon:M.createElement(Z.ExpandMore,null),sx:j.Utils.getStyle(this.props.oContext.theme,Ge.fullWidth,Ge.accordionSummary)},M.createElement(N.Typography,{style:Ge.accordionTitle},h[n.titleAttr])),M.createElement(N.AccordionDetails,{style:{...n.style,...this.props.oContext.themeType?n.darkStyle:void 0}},this.itemAccordion(i[v],v),M.createElement(N.Toolbar,{sx:Ge.toolbar},v?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Move up"),slotProps:{popper:{sx:Ge.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:()=>this.onMoveUp(v)},M.createElement(Z.ArrowUpward,null))):M.createElement("div",{style:Ge.buttonEmpty}),vthis.onMoveDown(v)},M.createElement(Z.ArrowDownward,null))):M.createElement("div",{style:Ge.buttonEmpty}),n.noDelete?null:M.createElement(N.Tooltip,{title:j.I18n.t("ra_Delete current row"),slotProps:{popper:{sx:Ge.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:this.onDelete(v)},M.createElement(Z.Delete,null))),n.clone?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Clone current row"),slotProps:{popper:{sx:Ge.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:this.onClone(v)},M.createElement(Z.ContentCopy,null))):null)))),!n.noDelete&&i.length>0?M.createElement(N.Toolbar,{variant:"dense",sx:Ge.rootTool},M.createElement(N.IconButton,{size:"small",color:"primary",onClick:this.onAdd},M.createElement(Z.Add,null))):null,n.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null):null}}const di={root:{width:"100%"},notAlive:{color:"#a30000"}};class Ts extends K{componentDidMount(){super.componentDidMount();const n=this.getInstance();this.props.oContext.socket.getState(`${n}.alive`).then(i=>this.setState({alive:!!(i&&i.val),instance:n}))}getInstance(){let n=this.props.schema.instance||`${this.props.oContext.adapterName}.${this.props.oContext.instance}`;return n.includes("${")&&(n=this.getPattern(n,null,!0)),n&&!n.startsWith("system.adapter.")&&(n=`system.adapter.${n}`),n}renderItem(){if(this.getInstance()!==this.state.instance&&setTimeout(()=>{const i=this.getInstance();i?this.props.oContext.socket.getState(`${i}.alive`).then(h=>this.setState({alive:!!(h&&h.val),instance:i})):this.setState({alive:null,instance:i})},200),this.state.alive!==!1&&this.state.alive!==!0)return null;const n=this.state.instance.replace(/^system.adapter./,"");return M.createElement("div",{style:{...di.root,...this.state.alive?void 0:di.notAlive}},this.state.alive?this.props.schema.textAlive!==void 0?this.props.schema.textAlive?j.I18n.t(this.props.schema.textAlive,n):"":j.I18n.t("ra_Instance %s is alive",n):this.props.schema.textNotAlive!==void 0?this.props.schema.textNotAlive?j.I18n.t(this.props.schema.textNotAlive,n):"":j.I18n.t("ra_Instance %s is not alive",n))}}class _s extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr),i=this.props.schema.options.map(h=>typeof h=="string"?{label:h,value:h}:JSON.parse(JSON.stringify(h)));Array.isArray(n)?(i.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),this.setState({value:K.DIFFERENT_VALUE,selectOptions:i})):this.setState({value:n,selectOptions:i})}renderItem(n,i){if(!this.state.selectOptions)return null;let h;const v=JSON.parse(JSON.stringify(this.state.selectOptions));return Array.isArray(this.state.value)||this.state.value===K.DIFFERENT_VALUE?([...this.state.value].filter(u=>!v.find(d=>typeof d=="object"?d.value===u:d===u)).forEach(u=>v.push({label:u.toString(),value:u})),h={label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE},v.unshift(h)):(h=this.state.value!==null&&this.state.value!==void 0&&v.find(u=>typeof u=="object"?u.value==this.state.value:u==this.state.value),this.state.value!==null&&this.state.value!==void 0&&!h&&this.props.schema.freeSolo&&(h={value:this.state.value,label:this.state.value},v.push(h))),M.createElement(N.Autocomplete,{fullWidth:!0,freeSolo:!!this.props.schema.freeSolo,value:h,options:v,isOptionEqualToValue:(u,d)=>u.value===d.value,filterOptions:(u,d)=>{const a=u.filter(p=>d.inputValue===""?!0:p.label.toLowerCase().includes(d.inputValue.toLowerCase())||p.value.toLowerCase().includes(d.inputValue.toLowerCase()));return this.props.schema.freeSolo&&d.inputValue!==""&&a.push({label:d.inputValue,value:d.inputValue}),a},onInputChange:u=>{if(!u||!this.props.schema.freeSolo)return;const d=u.target.value;d!==this.state.value&&this.setState({value:d},()=>this.onChange(this.props.attr,d))},onChange:(u,d)=>{const a=typeof d=="object"?d?d.value:"":d;a!==this.state.value&&this.setState({value:a},()=>this.onChange(this.props.attr,a))},getOptionLabel:u=>typeof u=="object"?(u==null?void 0:u.label)??"":"",renderInput:u=>M.createElement(N.TextField,{variant:"standard",...u,error:!!n,placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),disabled:i})})}}class ks extends K{initialized=!1;localContext;askInstance(){const n=K.getValue(this.props.data,this.props.attr),i=this.props.schema.options?this.props.schema.options.map(h=>typeof h=="string"?{label:h,value:h}:JSON.parse(JSON.stringify(h))):[];if(this.props.alive){let h=this.props.schema.data;if(h===void 0&&this.props.schema.jsonData){const v=this.getPattern(this.props.schema.jsonData,null,!0);try{typeof v=="string"&&(h=JSON.parse(v))}catch{console.error(`Cannot parse json data: ${JSON.stringify(h)}`)}}h===void 0&&(h=null),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",h).then(v=>{v&&Array.isArray(v)&&v.forEach(s=>i.push(typeof s=="string"?{label:s,value:s}:JSON.parse(JSON.stringify(s)))),Array.isArray(n)?(i.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),this.setState({value:K.DIFFERENT_VALUE,selectOptions:i})):this.setState({value:n,selectOptions:i})})}else Array.isArray(n)?(i.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),this.setState({value:K.DIFFERENT_VALUE,selectOptions:i})):this.setState({value:n,selectOptions:i})}getContext(){const n={};return Array.isArray(this.props.schema.alsoDependsOn)&&this.props.schema.alsoDependsOn.forEach(i=>n[i]=K.getValue(this.props.data,i)),JSON.stringify(n)}renderItem(n,i){if(this.props.alive){const u=this.getContext();(u!==this.localContext||!this.initialized)&&(this.localContext=u,setTimeout(()=>this.askInstance(),this.initialized?300:50),this.initialized=!0)}let h;const v=this.state.selectOptions?JSON.parse(JSON.stringify(this.state.selectOptions)):[];return Array.isArray(this.state.value)||this.state.value===K.DIFFERENT_LABEL?([...this.state.value].filter(u=>!v.find(d=>d.value===u)).forEach(u=>v.push({label:u.toString(),value:u})),h={label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE},v.unshift(h)):(h=this.state.value!==null&&this.state.value!==void 0&&v.find(u=>u.value==this.state.value),this.state.value!==null&&this.state.value!==void 0&&!h&&this.props.schema.freeSolo&&(h={value:this.state.value,label:this.state.value},v.push(h)),h=h||null),v.length?M.createElement(N.Autocomplete,{value:h,fullWidth:!0,freeSolo:!!this.props.schema.freeSolo,options:v,isOptionEqualToValue:(u,d)=>u.value===d.value,filterOptions:(u,d)=>{const a=u.filter(p=>d.inputValue===""?!0:p.label.toLowerCase().includes(d.inputValue.toLowerCase())||p.value.toLowerCase().includes(d.inputValue.toLowerCase()));return this.props.schema.freeSolo&&d.inputValue!==""&&a.push({label:d.inputValue,value:d.inputValue}),a},getOptionLabel:u=>(u==null?void 0:u.label)??"",onInputChange:u=>{if(!u||!this.props.schema.freeSolo)return;const d=u.target.value;d!==this.state.value&&this.setState({value:d},()=>this.onChange(this.props.attr,d))},onChange:(u,d)=>{const a=typeof d=="object"?d?d.value:"":d;a!==this.state.value&&this.setState({value:a},()=>this.onChange(this.props.attr,a))},renderInput:u=>M.createElement(N.TextField,{variant:"standard",...u,error:!!n,placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),disabled:i})}):M.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:this.state.value===null||this.state.value===void 0?"":this.state.value,error:!!n,disabled:i,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0}},onChange:u=>{const d=u.target.value;this.setState({value:d},()=>this.onChange(this.props.attr,(d||"").trim()))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}const kn={fullWidth:{width:"100%"},flex:{display:"flex"},button:{height:48,marginLeft:4,minWidth:48}};class Ms extends K{componentDidMount(){super.componentDidMount();const{data:n,attr:i}=this.props,h=K.getValue(n,i)||"";this.setState({value:h,showDialog:!1})}renderItem(n,i){const{schema:h,attr:v}=this.props,{value:s,showDialog:u}=this.state;return M.createElement(N.FormControl,{style:kn.fullWidth,variant:"standard"},h.label?M.createElement(N.InputLabel,{shrink:!0},this.getText(h.label)):null,M.createElement("div",{style:kn.flex},M.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:s??"",error:!!n,disabled:i,placeholder:this.getText(h.placeholder),label:this.getText(h.label),helperText:this.renderHelp(h.help,h.helpLink,h.noTranslation),onChange:d=>{const a=d.target.value;this.setState({value:a},()=>this.onChange(v,a))}}),M.createElement(N.Button,{color:"grey",disabled:i,style:kn.button,size:"small",variant:"outlined",onClick:()=>this.setState({showDialog:!0})},"...")),u?M.createElement(j.DialogCron,{title:j.I18n.t("ra_Define schedule"),simple:h.simple,complex:h.complex,cron:s,onClose:()=>this.setState({showDialog:!1}),cancel:j.I18n.t("ra_Cancel"),ok:j.I18n.t("ra_Ok"),theme:this.props.oContext.theme,onOk:d=>this.setState({showDialog:!1,value:d},()=>this.onChange(v,d))}):null)}}class Ls extends K{async componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr),h=(await this.props.oContext.socket.getCertificates()).filter(v=>{const s=this.props.attr.toLowerCase();return s.includes(v.type)||v.type==="public"&&s.includes("cert")||v.type==="private"&&(s.includes("priv")||s.includes("key"))?!0:!!(v.type==="chained"&&(s.includes("chain")||s.includes("ca")))}).map(v=>({label:v.name,value:v.name}));h.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),this.setState({value:n,selectOptions:h})}renderItem(n,i){var v,s;if(!this.state.selectOptions)return null;const h=(v=this.state.selectOptions)==null?void 0:v.find(u=>u.value===this.state.value);return M.createElement(N.FormControl,{style:{width:"100%"},variant:"standard"},this.props.schema.label?M.createElement(N.InputLabel,{shrink:!0},this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:this.state.value,renderValue:()=>this.getText(h==null?void 0:h.label,this.props.schema.noTranslation!==!1),onChange:u=>this.setState({value:u.target.value},()=>this.onChange(this.props.attr,this.state.value))},(s=this.state.selectOptions)==null?void 0:s.map(u=>M.createElement(N.MenuItem,{key:u.value,value:u.value,style:u.value===K.NONE_VALUE?{opacity:.5}:{}},this.getText(u.label,this.props.schema.noTranslation!==!1)))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const zt={fullWidth:{width:"100%"},leWidth:{width:620,marginBottom:10},certWidth:{width:200,marginRight:10}};class Is extends K{async componentDidMount(){var d;super.componentDidMount();const n=await this.props.oContext.socket.getCertificates(),i=[],h=[],v=[];let s=[];const u=await this.props.oContext.socket.getObject("system.certificates");(d=u==null?void 0:u.native)!=null&&d.collections?s=Object.keys(u.native.collections):s=null,n.forEach(a=>{a.type==="public"?i.push({label:a.name,value:a.name}):a.type==="private"?h.push({label:a.name,value:a.name}):a.type==="chained"?v.push({label:a.name,value:a.name}):(i.push({label:a.name,value:a.name}),h.push({label:a.name,value:a.name}),v.push({label:a.name,value:a.name}))}),i.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),h.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),v.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),this.setState({certsPublicOptions:i,certsChainOptions:v,certsPrivateOptions:h,collectionsOptions:s})}renderItem(n,i){var e,t,r,l,o,c,f;if(!this.state.certsPublicOptions||!this.state.certsPrivateOptions||!this.state.certsChainOptions)return null;const h=(K.getValue(this.props.data,this.props.schema.leCollectionName||"leCollection")||"false").toString(),v=K.getValue(this.props.data,this.props.schema.certPublicName||"certPublic"),s=K.getValue(this.props.data,this.props.schema.certPrivateName||"certPrivate"),u=K.getValue(this.props.data,this.props.schema.certChainedName||"certChained"),d=(e=this.state.certsPublicOptions)==null?void 0:e.find(m=>m.value===v),a=(t=this.state.certsPrivateOptions)==null?void 0:t.find(m=>m.value===s),p=(r=this.state.certsChainOptions)==null?void 0:r.find(m=>m.value===u);return M.createElement("div",{style:zt.fullWidth},this.state.collectionsOptions?M.createElement(N.FormControl,{style:zt.leWidth,variant:"standard"},M.createElement(N.InputLabel,{shrink:!0},"Let's encrypt"),M.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:h,onChange:m=>this.onChange(this.props.schema.leCollectionName||"leCollection",m.target.value==="false"?!1:m.target.value==="true"?!0:m.target.value)},M.createElement(N.MenuItem,{key:"_false",value:"false",style:{fontWeight:"bold"}},j.I18n.t("ra_Do not use let's encrypt")),M.createElement(N.MenuItem,{key:"_true",value:"true",style:{fontWeight:"bold"}},j.I18n.t("ra_Use all available let's encrypt certificates")),(l=this.state.collectionsOptions)==null?void 0:l.map(m=>M.createElement(N.MenuItem,{key:m,value:m},m)))):null,this.state.collectionsOptions?M.createElement("br",null):null,this.state.collectionsOptions&&h!=="false"?M.createElement("div",null,j.I18n.t("ra_Fallback custom certificates")):null,M.createElement(N.FormControl,{style:zt.certWidth,variant:"standard"},M.createElement(N.InputLabel,{shrink:!0},j.I18n.t("ra_Public certificate")),M.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:v||"",renderValue:()=>this.getText(d==null?void 0:d.label),onChange:m=>this.onChange(this.props.schema.certPublicName||"certPublic",m.target.value)},(o=this.state.certsPublicOptions)==null?void 0:o.map((m,y)=>M.createElement(N.MenuItem,{key:`${m.value}_${y}`,value:m.value,style:m.value===K.NONE_VALUE?{opacity:.5}:{}},this.getText(m.label))))),M.createElement(N.FormControl,{style:zt.certWidth,variant:"standard"},M.createElement(N.InputLabel,{shrink:!0},j.I18n.t("ra_Private certificate")),M.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:s||"",renderValue:()=>this.getText(a==null?void 0:a.label),onChange:m=>this.onChange(this.props.schema.certPrivateName||"certPrivate",m.target.value)},(c=this.state.certsPrivateOptions)==null?void 0:c.map((m,y)=>M.createElement(N.MenuItem,{key:`${m.value}_${y}`,value:m.value,style:m.value===K.NONE_VALUE?{opacity:.5}:{}},this.getText(m.label))))),M.createElement(N.FormControl,{style:zt.certWidth,variant:"standard"},M.createElement(N.InputLabel,{shrink:!0},j.I18n.t("ra_Chained certificate")),M.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:u||"",renderValue:()=>this.getText(p==null?void 0:p.label),onChange:m=>this.onChange(this.props.schema.certChainedName||"certChained",m.target.value)},(f=this.state.certsChainOptions)==null?void 0:f.map((m,y)=>M.createElement(N.MenuItem,{key:`${m.value}_${y}`,value:m.value,style:m.value===K.NONE_VALUE?{opacity:.5}:{}},this.getText(m.label))))))}}class Fs extends K{async componentDidMount(){var h;super.componentDidMount();let n;const i=await this.props.oContext.socket.getObject("system.certificates");(h=i==null?void 0:i.native)!=null&&h.collections?n=Object.keys(i.native.collections):n=[],this.setState({collectionsOptions:n})}renderItem(n,i){var v;if(!this.state.collectionsOptions)return null;const h=(K.getValue(this.props.data,this.props.schema.leCollectionName||"leCollection")||"false").toString();return M.createElement(N.FormControl,{style:{width:"100%"},variant:"standard"},this.props.schema.label?M.createElement(N.InputLabel,{shrink:!0},this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:h,onChange:s=>this.onChange(this.props.schema.leCollectionName||"leCollection",s.target.value==="false"?!1:s.target.value==="true"?!0:s.target.value)},M.createElement(N.MenuItem,{key:"_false",value:"false",style:{fontWeight:"bold"}},j.I18n.t("ra_Do not use let's encrypt")),M.createElement(N.MenuItem,{key:"_true",value:"true",style:{fontWeight:"bold"}},j.I18n.t("ra_Use all available let's encrypt certificates")),(v=this.state.collectionsOptions)==null?void 0:v.map(s=>M.createElement(N.MenuItem,{key:s,value:s},s))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const We={fullWidth:{width:"100%"},licLabel:{fontWeight:"bold",minWidth:100,marginRight:10,textTransform:"capitalize",display:"inline-block"},errorTitle:L=>({color:L.palette.mode==="dark"?"#e39191":"#b62020"}),okTitle:L=>({color:L.palette.mode==="dark"?"#6fd56f":"#007c00"}),errorText:L=>({color:L.palette.mode==="dark"?"#e39191":"#b62020",mb:"30px"})};class ct extends K{componentDidMount(){super.componentDidMount(),this.setState({_error:"",running:!1,showLicenseData:null,foundSuitableLicense:!1,licenseOfflineCheck:!1,result:null,allLicenses:null,askForUpdate:!1,showLinkToProfile:!1})}renderErrorDialog(){if(this.state._error&&!this.state.showLicenseData){let n=this.state._error;return this.state.allLicenses&&(n=[M.createElement("div",{key:"error"},n)],n.push(M.createElement(N.Button,{key:"button",variant:"contained",onClick:()=>window.open("https://iobroker.net/www/account/licenses","_blank")},j.I18n.t("iobroker.net"))),this.state.allLicenses.length?n.push(M.createElement(N.TableContainer,{key:"table"},M.createElement(N.Table,{size:"small"},M.createElement(N.TableHead,null,M.createElement(N.TableRow,null,M.createElement(N.TableCell,null,j.I18n.t("ra_Product")),M.createElement(N.TableCell,null,j.I18n.t("ra_Version")),M.createElement(N.TableCell,null,"UUID"),M.createElement(N.TableCell,null,j.I18n.t("ra_ValidTill")),M.createElement(N.TableCell,null,j.I18n.t("ra_Commercial")),M.createElement(N.TableCell,null,"ID"))),M.createElement(N.TableBody,null,this.state.allLicenses.map(i=>M.createElement(N.TableRow,{key:i.id},M.createElement(N.TableCell,{sx:i.validName?null:We.errorText},i.license.product),M.createElement(N.TableCell,{sx:i.validVersion?null:We.errorText},i.license.version),M.createElement(N.TableCell,{sx:i.validUuid?null:We.errorText},i.license.uuid||"--"),M.createElement(N.TableCell,{sx:i.validTill?null:We.errorText},i.license.validTill&&i.license.validTill!=="0000-00-00 00:00:00"?new Date(i.license.validTill).toLocaleDateString():"--"),M.createElement(N.TableCell,null,i.license.invoice!=="free"?i.license.invoice==="MANUALLY_CREATED"?"✓":i.license.invoice:"-"),M.createElement(N.TableCell,null,i.id))))))):(n.push(M.createElement("div",{key:"text1"},j.I18n.t("ra_No one license found in license manager"))),n.push(M.createElement("div",{key:"text2"},j.I18n.t("ra_Please create license"))))),M.createElement(N.Dialog,{open:!0,maxWidth:"xl",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClick:()=>this.setState({_error:"",allLicenses:null})},M.createElement(N.DialogTitle,null,j.I18n.t("ra_Error")),M.createElement(N.DialogContent,null,M.createElement(N.DialogContentText,null,n)),M.createElement(N.DialogActions,null,M.createElement(N.Button,{variant:"contained",onClick:()=>this.setState({_error:"",allLicenses:null}),color:"primary",autoFocus:!0,startIcon:M.createElement(Z.Check,null)},j.I18n.t("ra_Ok"))))}return null}renderMessageDialog(){if(this.state.showLicenseData){const n=[],i=this.state.showLicenseData;return Object.keys(i).forEach(h=>{if(!(i[h]===null||i[h]===void 0))if(typeof i[h]=="object"){const v=i[h];Object.keys(v).forEach(s=>{v[s]!==null&&v[s]!==void 0&&(typeof v[s]=="object"?n.push(M.createElement("div",{key:s},M.createElement("div",{style:We.licLabel},s,":"),JSON.stringify(v[s],null,2))):n.push(M.createElement("div",{key:s},M.createElement("div",{style:We.licLabel},h," -",s,":"),v[s].toString())))})}else n.push(M.createElement("div",{key:h},M.createElement("div",{style:We.licLabel},h.replace(/_/g," "),":"),i[h].toString()))}),n.push(M.createElement("div",{key:"checked"},M.createElement("div",{style:We.licLabel},j.I18n.t("ra_Checked"),":"),this.state.licenseOfflineCheck?j.I18n.t("ra_locally"):j.I18n.t("ra_via internet"))),M.createElement(N.Dialog,{open:!0,onClose:()=>this.setState({showLicenseData:null})},M.createElement(N.DialogTitle,null,M.createElement(N.Box,{component:"span",sx:this.state.result?We.okTitle:We.errorTitle},j.I18n.t("ra_License %s",this.state.result?"OK":"INVALID"))),M.createElement(N.DialogContent,null,this.state.showLinkToProfile?M.createElement(N.Button,{variant:"contained",onClick:()=>window.open("https://iobroker.net/www/account/licenses","_blank")},"https://iobroker.net"):null,this.state._error?M.createElement(N.Box,{component:"div",sx:We.errorText},this.state._error):null,n),M.createElement(N.DialogActions,null,M.createElement(N.Button,{onClick:()=>this.setState({showLicenseData:null,_error:""}),color:"primary",variant:"contained"},j.I18n.t("ra_Close"))))}return null}static parseJwt(n){const h=n.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),v=decodeURIComponent(atob(h).split("").map(s=>`%${`00${s.charCodeAt(0).toString(16)}`.slice(-2)}`).join(""));try{return JSON.parse(v)}catch{return null}}static isVersionValid(n,i,h,v){if(!i||!n)return!0;let s=!0;const[u]=n.split(".");return i.startsWith(">=")?s=parseInt(u,10)>=parseInt(i.substring(2,10)):i.startsWith("<=")?s=parseInt(u,10)<=parseInt(i.substring(2,10)):i.startsWith(">")?s=parseInt(u,10)>parseInt(i.substring(1,10)):i.startsWith("<")?s=parseInt(u,10){const l=!r.validTill||r.validTill==="0000-00-00 00:00:00"||new Date(r.validTill).getTime()>p,o=(r.product||"").split("."),c=o[1]===n||n==="vis-2"&&o[1]==="vis",f=!e||!r.uuid||r.uuid===e,m=ct.isVersionValid(t,r.version,r.invoice,n);(!a||r.invoice!=="free")&&l&&c&&f&&m&&(a=r),h.push({id:r.id,validName:c,validUuid:f,validVersion:m,validTill:l,license:r})}),a&&(h.find(r=>r.id===a.id).used=!0)}return h}async checkLicense(n,i){var d,a,p;let h;if(this.props.schema.uuid){const e=await this.props.oContext.socket.getObject("system.meta.uuid");h=(d=e==null?void 0:e.native)==null?void 0:d.uuid}let v;if(this.props.schema.version){const e=await this.props.oContext.socket.getObject(`system.adapter.${i}`);v=(a=e==null?void 0:e.common)==null?void 0:a.version}const s=new AbortController;let u=setTimeout(()=>{u=null,s.abort()},5e3);try{const e=await window.fetch("https://iobroker.net/api/v1/public/cert/",{method:"POST",body:JSON.stringify({json:n,uuid:h}),headers:{"Content-Type":"text/plain"},signal:s.signal});u&&clearTimeout(u);const t=await e.text();let r;try{r=JSON.parse(t)}catch{}if(r!=null&&r.error)try{const l=ct.parseJwt(n),o=j.I18n.t(`ra_${l.error||r.error||"Unknown error"}`).replace(/^ra_/,"");return this.setState({_error:o,licenseOfflineCheck:!1,showLicenseData:l,result:!1,running:!1})}catch{return console.log("Cannot parse license"),this.setState({_error:r.error,result:!1,running:!1})}else{let l=null;try{l=ct.parseJwt(n)}catch{}if(r){const o=r.validTill||r.valid_till;if(o&&o!=="0000-00-00 00:00:00"&&new Date(o).getTime(){if(n){this.setState({askForUpdate:!1});try{await this.props.oContext.socket.updateLicenses(null,null)}catch(i){window.alert(j.I18n.t("ra_Cannot read licenses: %s",i));return}await this._onClick(!0)}else this.setState({askForUpdate:!1,running:!1})}}):null}async _onClick(n){const i=this.props.oContext.adapterName==="vis-2"?"vis":this.props.oContext.adapterName;this.setState({running:!0});let h,v;if(this.props.data.useLicenseManager){if(v=await this.findInLicenseManager(i),h=v.find(s=>s.used),h&&(h=h.license.json),!h&&!n){this.setState({askForUpdate:!0});return}}else h=this.props.data.license;h?await this.checkLicense(h,i):this.props.data.useLicenseManager?this.setState({_error:j.I18n.t("ra_Suitable license not found in license manager"),result:!1,running:!1,allLicenses:v}):this.setState({_error:j.I18n.t("ra_Please enter the license"),result:!1,running:!1})}renderItem(){return M.createElement("div",{style:We.fullWidth},M.createElement(N.Button,{variant:this.props.schema.variant||"outlined",color:this.props.schema.color||"primary",style:We.fullWidth,disabled:!this.props.data.license&&!this.props.data.useLicenseManager||this.state.running,startIcon:M.createElement(Z.Send,null),onClick:()=>this._onClick()},this.state.running?M.createElement(N.CircularProgress,{size:20,style:{marginRight:8}}):null,this.getText(this.props.schema.label||"ra_Check license",this.props.schema.noTranslation)),this.renderMessageDialog(),this.renderErrorDialog(),this.renderAskForUpdate())}}class Os extends K{renderItem(n,i){const h=K.getValue(this.props.data,this.props.attr),v=Array.isArray(h);return M.createElement(N.FormControl,{style:{width:"100%"},variant:"standard"},M.createElement(N.FormControlLabel,{onClick:s=>{if(s.preventDefault(),s.stopPropagation(),!i){const u=this.onChange(this.props.attr,!h);u instanceof Promise&&u.catch(d=>console.error(`Cannot set value: ${d}`))}},control:M.createElement(N.Checkbox,{indeterminate:v,checked:!!h,onChange:s=>{let u;v?u=this.onChange(this.props.attr,!0):u=this.onChange(this.props.attr,s.target.checked),u instanceof Promise&&u.catch(d=>console.error(`Cannot set value: ${d}`))},disabled:i||this.props.schema.readOnly}),label:this.getText(this.props.schema.label)}),M.createElement(N.FormHelperText,{style:{color:"red"}},n?this.props.schema.validatorErrorText?j.I18n.t(this.props.schema.validatorErrorText):j.I18n.t("ra_Error"):null),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Rs={standard:N.Input,filled:is,outlined:N.OutlinedInput},Ns=L=>{const n=L.palette.mode==="light",i=n?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return{root:{},inputRoot:{display:"inline-flex",flexWrap:"wrap",flex:1,marginTop:0,minWidth:70,"&.mui-variant-outlined,&.mui-variant-filled":{boxSizing:"border-box"},"&.mui-variant-outlined":{paddingTop:"14px"},"&.mui-variant-filled":{paddingTop:"28px"}},input:{display:"inline-block",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",appearance:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",float:"left",flex:1},chipContainer:{display:"flex",flexFlow:"row wrap",alignItems:"center",cursor:"text",marginBottom:"-2px",minHeight:40},outlined:{"& input":{height:16,paddingTop:"4px",paddingBottom:"12px",marginTop:"4px",marginBottom:"4px"}},standard:{marginTop:"18px"},filled:{"& input":{height:22,marginBottom:"4px",marginTop:"4px",paddingTop:0},"$marginDense & input":{height:26}},labeled:{},label:{top:4,"&$outlined&:not($labelShrink)":{top:2,"$marginDense &":{top:5}},"&$filled&:not($labelShrink)":{top:15,"$marginDense &":{top:20}}},labelShrink:{top:0},helperText:{marginBottom:-20},focused:{},disabled:{},underline:{"&:after":{borderBottom:`2px solid ${L.palette.primary[n?"dark":"light"]}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:L.transitions.create("transform",{duration:L.transitions.duration.shorter,easing:L.transitions.easing.easeOut}),pointerEvents:"none"},"&$focused:after":{transform:"scaleX(1)"},"&$error:after":{borderBottomColor:L.palette.error.main,transform:"scaleX(1)"},"&:before":{borderBottom:`1px solid ${i}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:L.transitions.create("border-bottom-color",{duration:L.transitions.duration.shorter}),pointerEvents:"none"},"&:hover:not($disabled):not($focused):not($error):before":{borderBottom:`2px solid ${L.palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${i}`}},"&$disabled:before":{borderBottomStyle:"dotted"}},error:{"&:after":{backgroundColor:L.palette.error.main,transform:"scaleX(1)"}},chip:{margin:"0 8px 8px 0",float:"left"},marginDense:{}}},rn={BACKSPACE:8,DELETE:46,LEFT_ARROW:37,RIGHT_ARROW:39},Bs=({value:L,isFocused:n,isDisabled:i,isReadOnly:h,handleClick:v,handleDelete:s,style:u},d)=>M.createElement(N.Chip,{key:d,style:{...u,pointerEvents:i||h?"none":void 0,backgroundColor:n?rs[300]:void 0},onClick:v,onDelete:s,label:L});class Ps extends M.Component{labelRef;labelNode=null;input;newChipKeyCodes;newChipKeys;actualInput=null;inputBlurTimeout=null;_keyPressed;_preventChipCreation;styles={};styleTheme=null;constructor(n){super(n),this.state={chips:n.defaultValue||[],focusedChip:null,inputValue:"",isFocused:!1,chipsUpdated:!1,prevPropsValue:[],variant:this.props.variant||"standard"},this.newChipKeyCodes=n.newChipKeyCodes||[13],this.newChipKeys=n.newChipKeys||["Enter"],this.labelRef=M.createRef(),this.input=M.createRef()}componentDidMount(){this.state.variant==="outlined"&&(this.labelNode=ns.findDOMNode(this.labelRef.current),this.forceUpdate())}componentWillUnmount(){this.inputBlurTimeout&&clearTimeout(this.inputBlurTimeout)}static getDerivedStateFromProps(n,i){let h=null;return n.value&&n.value.length!==i.prevPropsValue.length&&(h={prevPropsValue:n.value},n.clearInputValueOnChange&&(h.inputValue="")),n.clearInputValueOnChange&&n.value&&n.value.length!==i.prevPropsValue.length&&(h={prevPropsValue:n.value,inputValue:""}),n.disabled&&(h={...h,focusedChip:null}),!i.chipsUpdated&&n.defaultValue&&(h={...h,chips:n.defaultValue}),h}focus=()=>{var n;(n=this.actualInput)==null||n.focus(),this.state.focusedChip&&this.setState({focusedChip:null})};handleInputBlur=n=>{this.props.onBlur&&this.props.onBlur(n),this.setState({isFocused:!1}),this.state.focusedChip&&this.setState({focusedChip:null});const i=n.target.value;let h;switch(this.props.blurBehavior||"clear"){case"add-or-clear":h={clearInputOnFail:!0};case"add":if(this.props.delayBeforeAdd){const v=(this.props.value||this.state.chips).length;this.inputBlurTimeout=setTimeout(()=>{const s=(this.props.value||this.state.chips).length;v===s?this.handleAddChip(i,h):this.clearInput()},150)}else this.handleAddChip(i,h);break;case"clear":this.clearInput();break}};handleInputFocus=n=>{this.setState({isFocused:!0}),this.props.onFocus&&this.props.onFocus(n)};handleKeyDown=n=>{const{focusedChip:i}=this.state;if(this._keyPressed=!1,this._preventChipCreation=!1,this.props.onKeyDown&&(this.props.onKeyDown(n),n.isDefaultPrevented()))return;const h=this.props.value||this.state.chips;if(this.newChipKeyCodes.includes(n.keyCode)||this.newChipKeys.includes(n.key)){this.handleAddChip(n.target.value)!==!1&&n.preventDefault();return}switch(n.keyCode){case rn.BACKSPACE:n.target.value===""&&(i?(this.handleDeleteChip(h[i],i),i&&this.setState({focusedChip:i-1})):this.setState({focusedChip:h.length-1}));break;case rn.DELETE:n.target.value===""&&i&&(this.handleDeleteChip(h[i],i),i<=h.length-1&&this.setState({focusedChip:i}));break;case rn.LEFT_ARROW:i===null&&n.target.value===""&&h.length?this.setState({focusedChip:h.length-1}):i!==null&&i>0&&this.setState({focusedChip:i-1});break;case rn.RIGHT_ARROW:i!==null&&i{!this._preventChipCreation&&(this.newChipKeyCodes.includes(n.keyCode)||this.newChipKeys.includes(n.key))&&this._keyPressed?this.clearInput():this.updateInput(n.target.value),this.props.onKeyUp&&this.props.onKeyUp(n)};handleUpdateInput=n=>{(this.props.inputValue===null||this.props.inputValue===void 0)&&this.updateInput(n.target.value),this.props.onUpdateInput&&this.props.onUpdateInput(n)};handleAddChip(n,i){if(this.props.onBeforeAdd&&!this.props.onBeforeAdd(n))return this._preventChipCreation=!0,i&&i.clearInputOnFail&&this.clearInput(),!1;this.clearInput();const h=this.props.value||this.state.chips;return n.trim().length?((this.props.allowDuplicates||!h.includes(n))&&(this.props.value&&this.props.onAdd?this.props.onAdd(n):this.updateChips([...this.state.chips,n])),!0):!1}handleDeleteChip(n,i){if(this.props.value)this.props.onDelete&&this.props.onDelete(n,i);else{const h=this.state.chips.slice();if(h.splice(i,1)){let s=this.state.focusedChip;this.state.focusedChip===i?s=null:this.state.focusedChip>i&&(s=this.state.focusedChip-1),this.updateChips(h,{focusedChip:s})}}}updateChips(n,i={}){this.setState({chips:n,chipsUpdated:!0,...i}),this.props.onChange&&this.props.onChange(n)}clearInput(){this.updateInput("")}updateInput(n){this.setState({inputValue:n})}setActualInputRef=n=>{this.actualInput=n,this.props.inputRef&&this.props.inputRef(n)};render(){const{alwaysShowPlaceholder:n,chipRenderer:i=Bs,className:h,disabled:v,disableUnderline:s,error:u,FormHelperTextProps:d,fullWidth:a,fullWidthInput:p,helperText:e,id:t,InputProps:r={},InputLabelProps:l={},inputValue:o,label:c,placeholder:f,readOnly:m,required:y,rootRef:D,value:E,margin:b}=this.props,g=this.state.variant;this.styleTheme!==this.props.theme.palette.mode&&(this.styleTheme=this.props.theme.palette.mode,this.styles=j.Utils.getStyle(this.props.theme,Ns));let S=E||this.state.chips||[];Array.isArray(S)||(S=(S||"").toString().split(/[,\s]+/).map(C=>C.trim()));const T=o??this.state.inputValue,k=(this.props.value||T).length||T.length,_=typeof l.shrink=="boolean"?l.shrink:c!==null&&(k||this.state.isFocused||S.length),O=S.map((C,w)=>i({value:C,isDisabled:!!v,isReadOnly:m,isFocused:this.state.focusedChip===w,handleClick:()=>this.setState({focusedChip:w}),handleDelete:()=>this.handleDeleteChip(C,w),style:this.styles.chip},w.toString())),$={};g==="outlined"&&($.notched=!!_,$.labelWidth=_&&this.labelNode&&this.labelNode.offsetWidth||0),g!=="standard"?$.startAdornment=O:r.disableUnderline=!0;const A=Rs[g];return M.createElement(N.FormControl,{ref:D,fullWidth:a,className:h,sx:{...this.styles.root,...b==="dense"?this.styles.marginDense:{}},error:u,required:S.length>0?void 0:y,onClick:this.focus,disabled:v,variant:g,component:"div",margin:b},c&&M.createElement(N.InputLabel,{htmlFor:t,sx:{"&.MuiInputLabel-root":this.styles.label,"&.MuiInputLabel-shrink":this.styles.labelShrink},shrink:!!_,focused:this.state.isFocused,variant:g,ref:this.labelRef,required:y,component:"label",...l},c),M.createElement(N.Box,{component:"div",id:"input-chip-container",sx:{...this.styles[g],...this.styles.chipContainer,...this.state.isFocused?this.styles.focused:void 0,...!s&&g==="standard"?this.styles.underline:void 0,...v?this.styles.disabled:void 0,...c?this.styles.labeled:void 0,...u?this.styles.error:void 0}},g==="standard"&&O,M.createElement(A,{ref:this.input,className:`mui-variant-${this.styles[g]} ${c?"mui-chip-with-label":"mui-chip-no-label"}`,sx:{"&.MuiInputBase-input":{...this.styles.input,...this.styles[g]},"&.MuiInputBase-root":{...this.styles.inputRoot}},id:t,value:T,onChange:this.handleUpdateInput,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onFocus:this.handleInputFocus,onBlur:this.handleInputBlur,inputRef:this.setActualInputRef,disabled:v,fullWidth:p,placeholder:!k&&(_||c===null||c===void 0)||n?f:null,readOnly:m,...r,...$})),e&&M.createElement(N.FormHelperText,{...d,className:d==null?void 0:d.className,style:this.styles.helperText},e))}}class fi extends K{componentDidMount(){super.componentDidMount();const{data:n,attr:i}=this.props,h=K.getValue(n,i);if(this.props.schema.delimiter&&typeof h=="string"){const v=h.split(this.props.schema.delimiter).map(s=>s.trim()).filter(s=>s);this.setState({value:v})}else this.setState({value:h||[]})}renderItem(n,i){const{attr:h,schema:v}=this.props,{value:s}=this.state;return M.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},M.createElement(Ps,{value:s,disabled:!!i,label:this.getText(v.label),error:!!n,onAdd:u=>{const d=JSON.parse(JSON.stringify(s));d.push(u),this.setState({value:d},()=>{let a;this.props.schema.delimiter?a=this.onChange(h,d.join(`${this.props.schema.delimiter} `)):a=this.onChange(h,d),a instanceof Promise&&a.catch(p=>console.error(p))})},theme:this.props.oContext.theme,onDelete:(u,d)=>{const a=JSON.parse(JSON.stringify(s));a.splice(d,1),this.setState({value:a},()=>{let p;this.props.schema.delimiter?p=this.onChange(h,a.join(`${this.props.schema.delimiter} `)):p=this.onChange(h,a),p instanceof Promise&&p.catch(e=>console.error(e))})}}),M.createElement(N.FormHelperText,null,j.I18n.t("ra_Press ENTER Key to add new item")),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class Ws extends K{renderColorDialog(){return!!this.state.showColorDialog&&M.createElement(N.Dialog,{onClose:()=>this.setState({showColorDialog:!1}),open:this.state.showColorDialog},M.createElement(qr,{color:this.state.colorDialogValue,onChange:n=>this.setState({colorDialogValue:n.hex},()=>this.onChange(this.props.attr,this.state.colorDialogValue))}))}renderItem(n,i){const h=K.getValue(this.props.data,this.props.attr);let v=j.Utils.isUseBright(h,null);return v===null&&(v=void 0),M.createElement(M.Fragment,null,this.renderColorDialog(),M.createElement(N.TextField,{variant:"standard",disabled:!!i,style:{minWidth:100,width:"calc(100% - 8px)"},label:this.getText(this.props.schema.label),value:h||"",onClick:()=>!this.props.schema.readOnly&&this.setState({showColorDialog:!0,colorDialogValue:h||""}),onChange:s=>{const u=s.target.value,d=this.onChange(this.props.attr,u);d instanceof Promise&&d.catch(a=>console.error(`Cannot set value: ${a}`))},slotProps:{htmlInput:{style:{backgroundColor:h,color:v?"#FFF":"#000"},readOnly:this.props.schema.readOnly||!1},input:{endAdornment:!this.props.schema.readOnly&&h&&!this.props.schema.noClearButton?M.createElement(N.IconButton,{tabIndex:-1,size:"small",onClick:s=>{s.stopPropagation();const u=this.onChange(this.props.attr,"");u instanceof Promise&&u.catch(d=>console.error(`Cannot set value: ${d}`))}},M.createElement(Z.Close,null)):void 0},inputLabel:{shrink:!0}}}))}}const Mn={width:{width:"calc(100% - 85px)"},width50:{width:120,marginRight:5}};class Hs extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n});const i={};this.props.schema.useSystemName&&(i.useSystem=!!K.getValue(this.props.data,this.props.schema.useSystemName)),this.props.schema.longitudeName&&this.props.schema.latitudeName?(i.longitude=K.getValue(this.props.data,this.props.schema.longitudeName),i.latitude=K.getValue(this.props.data,this.props.schema.latitudeName),!i.longitude&&!i.latitude&&this.props.schema.autoInit&&setTimeout(()=>this.getCoordinates(),300)):!K.getValue(this.props.data,this.props.attr)&&this.props.schema.autoInit&&setTimeout(()=>this.getCoordinates(),300),Object.keys(i).length&&setTimeout(()=>this.setState(i),50)}async getSystemCoordinates(){const n=await this.props.oContext.socket.getCompactSystemConfig();if(n!=null&&n.common&&(n.common.longitude||n.common.latitude))if(window.alert(j.I18n.t("ra_Used system settings")),this.props.schema.longitudeName&&this.props.schema.latitudeName)this.setState({longitude:n.common.longitude,latitude:n.common.latitude},async()=>{await this.onChange(this.props.schema.longitudeName,n.common.longitude),await this.onChange(this.props.schema.latitudeName,n.common.latitude)});else{const i=n.common.latitude+(this.props.schema.divider||",")+n.common.longitude;this.setState({value:i},()=>{const h=this.onChange(this.props.attr,i);h instanceof Promise&&h.catch(v=>console.error(`Cannot set value: ${v}`))})}else window.alert(j.I18n.t("ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser"))}getCoordinates(){navigator.geolocation?navigator.geolocation.getCurrentPosition(async n=>{if(n!=null&&n.coords)if(this.props.schema.longitudeName&&this.props.schema.latitudeName)this.setState({longitude:n.coords.longitude,latitude:n.coords.latitude},async()=>{await this.onChange(this.props.schema.longitudeName,n.coords.longitude||""),await this.onChange(this.props.schema.latitudeName,n.coords.latitude||"")});else{const i=n.coords.latitude+(this.props.schema.divider||",")+n.coords.longitude;this.setState({value:i},()=>{const h=this.onChange(this.props.attr,i);h instanceof Promise&&h.catch(v=>console.error(`Cannot set value: ${v}`))})}else await this.getSystemCoordinates()},async n=>{console.error(`Cannot determine coordinates from browser: ${n.message}`),await this.getSystemCoordinates()}):this.getSystemCoordinates().catch(n=>{console.error(`Cannot determine coordinates: ${n}`)})}renderItem(n,i){return M.createElement(M.Fragment,null,this.props.schema.useSystemName?M.createElement(N.FormControlLabel,{control:M.createElement(N.Checkbox,{checked:!!this.state.useSystem,onChange:h=>{const v=h.target.checked;v&&this.getSystemCoordinates().catch(s=>console.error(`Cannot determine coordinates: ${s}`)),this.setState({useSystem:v},()=>this.onChange(this.props.schema.useSystemName,v))}}),label:j.I18n.t("ra_Use system settings for position")}):null,this.props.schema.longitudeName&&this.props.schema.latitudeName?M.createElement(N.TextField,{variant:"standard",style:Mn.width50,value:this.state.longitude??"",error:!!n,disabled:this.state.useSystem||!!i,onChange:h=>{const v=h.target.value;this.setState({longitude:v},()=>{const s=this.onChange(this.props.schema.longitudeName,(v||"").trim());s instanceof Promise&&s.catch(u=>console.error(`Cannot set value: ${u}`))})},label:j.I18n.t("ra_Longitude")}):null,this.props.schema.longitudeName&&this.props.schema.latitudeName?M.createElement(N.TextField,{variant:"standard",style:Mn.width50,value:this.state.latitude??"",error:!!n,disabled:this.state.useSystem||!!i,onChange:h=>{const v=h.target.value;this.setState({latitude:v},()=>this.onChange(this.props.schema.latitudeName,(v||"").trim()))},label:j.I18n.t("ra_Latitude")}):null,!this.props.schema.longitudeName||!this.props.schema.latitudeName?M.createElement(N.TextField,{variant:"standard",style:Mn.width,value:this.state.value===null||this.state.value===void 0?"":this.state.value,error:!!n,disabled:!!i,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:this.state.useSystem}},onChange:h=>{const v=h.target.value;this.setState({value:v},()=>this.onChange(this.props.attr,(v||"").trim()))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}):null,this.state.useSystem?null:M.createElement(N.Fab,{size:"small",onClick:()=>this.getCoordinates(),title:j.I18n.t("ra_Take browser position"),style:{marginRight:4}},M.createElement(Z.LocationOn,null)),this.state.useSystem?null:M.createElement(N.Fab,{size:"small",onClick:()=>this.getSystemCoordinates(),title:j.I18n.t("ra_Take position from system settings")},M.createElement(Z.GpsFixed,null)))}}Pn.init({name:"iobroker_admin",shared:{"@iobroker/adapter-react-v5":{lib:()=>ts,version:"*"},"@mui/icons-material":{lib:()=>es,version:"*"},"@iobroker/json-config":{lib:()=>os,version:"*"}},remotes:[]});class Ut extends K{static runningLoads={};constructor(n){super(n),Object.assign(this.state,{Component:null,error:""})}async componentDidMount(){if(!this.props.schema.url){console.error("URL is empty. Cannot load custom component!"),this.setState({error:"URL is empty. Cannot load custom component!"});return}let n;this.props.schema.url.startsWith("http:")||this.props.schema.url.startsWith("https:")?n=this.props.schema.url:this.props.schema.url.startsWith("./")?n=`${window.location.protocol}//${window.location.host}${this.props.schema.url.replace(/^\./,"")}`:n=`${window.location.protocol}//${window.location.host}/adapter/${this.props.oContext.adapterName}/${this.props.schema.url}`;const[i,h,...v]=this.props.schema.name.split("/"),s=v.join("/");if(!n){console.error('Cannot find URL for custom component! Please define "url" as "custom/customComponents.js" in the schema');return}if(!i||!h||!s){console.error('Invalid format of "name"! Please define "name" as "ConfigCustomBackItUpSet/Components/AdapterExist" in the schema');return}let u=Ut.runningLoads[`${n}!${h}`];if(!(u instanceof Promise)){let d;if(this.props.schema.i18n===!0){const a=n.lastIndexOf("/");let p;a!==-1?p=n.substring(0,a):p=n;const e=j.I18n.getLanguage(),t=`${p}/i18n/${e}.json`;d=fetch(t).then(r=>r.json()).then(r=>j.I18n.extendTranslations(r,e)).catch(r=>{if(e!=="en"){fetch(`${p}/i18n/en.json`).then(l=>l.json()).then(l=>j.I18n.extendTranslations(l,e)).catch(l=>console.log(`Cannot load i18n "${t}": ${l}`));return}console.log(`Cannot load i18n "${t}": ${r}`)})}else if(this.props.schema.i18n&&typeof this.props.schema.i18n=="object")try{j.I18n.extendTranslations(this.props.schema.i18n)}catch(a){console.error(`Cannot import i18n: ${a}`)}try{console.log(n,i,h,s),Pn.registerRemotes([{name:i,entry:n,type:this.props.schema.bundlerType||void 0}]),u=Pn.loadRemote(`${i}/${h}`),d instanceof Promise&&(u=Promise.all([u,d]).then(a=>a[0])),Ut.runningLoads[`${n}!${h}`]=u}catch(a){console.error(a),this.setState({error:`Cannot import from ${this.props.schema.url}: ${a}`})}}try{const d=(await u).default;if(d!=null&&d[s])this.setState({Component:d[s]});else{const a=Object.keys(d||{});console.error("URL is empty. Cannot load custom component!"),this.setState({error:`Component ${this.props.schema.name} not found in ${this.props.schema.url}. Found: ${a.join(", ")}`})}}catch(d){console.error(d),this.setState({error:`Cannot import from ${this.props.schema.url}: ${d}`})}}render(){const n=this.state.Component,i=this.props.schema||{},h=n?M.createElement(n,{...this.props,socket:this.props.oContext.socket,theme:this.props.oContext.theme,themeType:this.props.oContext.themeType,instance:this.props.oContext.instance,adapterName:this.props.oContext.adapterName,systemConfig:this.props.oContext.systemConfig,forceUpdate:this.props.oContext.forceUpdate}):this.state.error?M.createElement("div",null,this.state.error):M.createElement(N.LinearProgress,null);return i.newLine?M.createElement(M.Fragment,null,M.createElement("div",{style:{flexBasis:"100%",height:0}}),h):h}}class zs extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n})}renderItem(n,i){return M.createElement(Wi.DatePicker,{sx:h=>({width:"100%",borderBottom:`1px solid ${h.palette.text.primary}`,"& fieldset":{display:"none"},"& input":{padding:`${h.spacing(1.5)} 0 4px 0`},"& .MuiInputAdornment-root":{marginLeft:0,marginTop:1},"& label":{transform:"translate(0px, -9px) scale(0.75)"}}),format:this.props.oContext.systemConfig.dateFormat.toLowerCase().replace("mm","MM"),disabled:!!i,value:this.state.value,onChange:h=>{this.setState({value:h},()=>this.onChange(this.props.attr,this.state.value))},label:this.getText(this.props.schema.label)})}}class js extends K{renderItem(){if(!this.props.schema)return null;if(this.props.oContext.DeviceManager){const i=this.props.oContext.DeviceManager;return M.createElement(i,{uploadImagesToInstance:`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,title:this.getText(this.props.schema.label),socket:this.props.oContext.socket,selectedInstance:`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,themeName:this.props.themeName,theme:this.props.oContext.theme,themeType:this.props.oContext.themeType,isFloatComma:this.props.oContext.isFloatComma,dateFormat:this.props.oContext.dateFormat})}return M.createElement("div",null,"DeviceManager not found")}}const Ke={fullWidth:{width:"100%"},uploadDiv:{position:"relative",width:"100%"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"100%",height:"100%",position:"absolute",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},disabledOpacity:{opacity:.3,cursor:"default"},error:{border:"2px solid red"},deleteButton:{},selectedImage:{height:40,width:40,display:"inline-block",marginRight:8}},Vs=["jpg","jpeg","svg","png","webp","gif","apng","avif","webp"],Us=["mp3","ogg","wav","aac"],Gs=["avi","mp4","mov"],Ks=["txt","log","html","htm"],Js=["json","js","ts"];class mn extends K{dropzoneRef;imagePrefix;objectID;path;constructor(n){super(n),this.dropzoneRef=M.createRef(),this.imagePrefix=this.props.oContext.imagePrefix===void 0?"./files":this.props.oContext.imagePrefix}componentDidMount(){super.componentDidMount(),this.objectID=(this.props.schema.objectID||"0_userdata.0").replace("%INSTANCE%",(this.props.oContext.instance||0).toString()),this.path=this.props.schema.upload,this.path&&(this.path==="/"?this.path="":this.path.endsWith("/")||(this.path=`${this.path}/`)),this.updateFiles().then(()=>{const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n}),this.props.oContext.socket.subscribeFiles(this.objectID,`${this.path}/*`,this.onFolderChanged).catch(i=>console.error(`Cannot subscribe: ${i}`))})}onFolderChanged=(n,i)=>{this.path&&i.startsWith(this.path)&&this.updateFiles().catch(h=>console.error(`Cannot update files: ${h}`))};componentWillUnmount(){this.props.oContext.socket.subscribeFiles(this.objectID,`${this.path}/*`,this.onFolderChanged).catch(n=>console.error(`Cannot subscribe: ${n}`)),super.componentWillUnmount()}async updateFiles(){const n=await this.readFiles(this.props.schema.pattern);await new Promise(i=>this.setState({files:n},i))}async readFolder(n,i,h){try{const v=await this.props.oContext.socket.readDir(this.objectID,n.replace(/^\//,"")||null);for(let s=0;sconsole.log("file reading was aborted"),h.onerror=()=>console.log("file reading has failed"),h.onload=()=>{if(i.size>v){window.alert(j.I18n.t("File is too big. Max %sk allowed. Try use SVG.",Math.round(v/1024)));return}this.props.oContext.socket.writeFile64(this.objectID,this.path+i.name,h.result).then(()=>this.updateFiles()).then(()=>this.setState({value:this.path+i.name},()=>this.onChange(this.props.attr,this.path+i.name))).catch(s=>window.alert(`Cannot upload file: ${s}`))},h.readAsArrayBuffer(i)}renderDeleteDialog(){return this.state.deleteFile?M.createElement(j.DialogConfirm,{title:j.I18n.t("ra_Are you sure?"),text:j.I18n.t("ra_File will be deleted"),ok:j.I18n.t("ra_Delete"),cancel:j.I18n.t("ra_Cancel"),onClose:n=>{const i=this.state.deleteFile;this.setState({deleteFile:""},()=>{n&&this.props.oContext.socket.deleteFile(this.objectID,i).then(()=>this.updateFiles()).catch(h=>window.alert(`Cannot delete file: ${h}`))})}}):null}static base64ToArrayBuffer(n){const i=window.atob(n),h=i.length,v=new Uint8Array(h);for(let s=0;s{if(typeof AudioContext<"u"){const i=new AudioContext,h=mn.base64ToArrayBuffer(n.file);i.decodeAudioData(h,v=>{const s=i.createBufferSource();s.buffer=v,s.connect(i.destination),s.start(0)},v=>window.alert(`Cannot play: ${v.message}`))}})}getFileIcon(n){return n!=null&&n.extension?Vs.includes(n.extension)?M.createElement("div",{style:{...Ke.selectedImage,backgroundImage:`url(${this.imagePrefix}/${this.objectID}/${n.value})`,backgroundSize:"contain",backgroundRepeat:"no-repeat"}}):Us.includes(n.extension)?M.createElement(Z.MusicNote,null):Ks.includes(n.extension)?M.createElement(Z.Article,null):Gs.includes(n.extension)?M.createElement(Z.Videocam,null):Js.includes(n.extension)?M.createElement(Z.Code,null):null:null}renderItem(n,i){if(!this.state.files)return null;const h=[];this.props.schema.withFolder||this.state.files.forEach(e=>{const t=e.name.lastIndexOf("/");if(t===-1)h.includes("/")||h.push("/");else{const r=e.name.substring(0,t+1);h.includes(r)||h.push(r)}});const v=this.state.files.map(e=>({value:e.name,label:!this.props.schema.withFolder&&h.length===1?`${e.name.substring(h[0].length)}`:`${e.name}${this.props.schema.noSize?"":`(${e.size})`}`,extension:e.name.toLowerCase().split(".").pop()}));this.props.schema.noNone||v.unshift({label:j.I18n.t("ra_none"),value:""});const s=v.find(e=>e.value===this.state.value);let u=0;this.props.schema.upload&&u++,this.props.schema.refresh&&u++;const d=this.state.value&&(this.state.value.endsWith(".mp3")||this.state.value.endsWith(".ogg")||this.state.value.endsWith(".wav"));d&&u++;const a=M.createElement("div",{style:Ke.fullWidth},M.createElement(N.FormControl,{variant:"standard",style:{width:`calc(100% - ${u*42}px)`}},this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:this.state.value||"_",renderValue:()=>M.createElement(M.Fragment,null,this.getFileIcon(s),M.createElement("span",null,(s==null?void 0:s.label)||"")),onChange:e=>{this.setState({value:e.target.value==="_"?"":e.target.value},()=>this.onChange(this.props.attr,this.state.value))}},v.map(e=>M.createElement(N.MenuItem,{key:e.value,value:e.value},M.createElement(N.ListItemIcon,null,this.getFileIcon(e)),M.createElement(N.ListItemText,null,e.label),this.props.schema.delete&&s.value?M.createElement(N.IconButton,{style:Ke.deleteButton,size:"small",onClick:()=>this.setState({deleteFile:s.value})},M.createElement(Z.Delete,null)):null))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null),this.props.schema.refresh&&M.createElement(N.IconButton,{onClick:()=>this.updateFiles()},M.createElement(Z.Refresh,null)),this.props.schema.upload&&M.createElement(N.IconButton,{onClick:()=>{var e;return(e=this.dropzoneRef.current)==null?void 0:e.open()}},M.createElement(Z.UploadFile,null)),d&&M.createElement(N.IconButton,{style:{color:"#00FF00"},onClick:()=>this.play()},M.createElement(Z.PlayArrow,null)));if(!this.props.schema.upload)return M.createElement(M.Fragment,null,a,this.renderDeleteDialog());let p={"*/*":[]};if(this.props.schema.fileTypes==="image"?p={"image/*":[".png",".jpg",".svg",".gif",".apng",".avif",".webp"]}:this.props.schema.fileTypes==="audio"?p={"audio/*":[".mp3",".ogg",".wav",".mp4"]}:this.props.schema.fileTypes==="text"&&(p={"text/plain":[".txt"]}),this.props.schema.pattern){const e=this.props.schema.pattern.split("/").pop().toLowerCase().replace(/.*\./,"");e==="png"||e==="jpg"||e==="svg"||e==="gif"||e==="apng"||e==="avif"||e==="webp"?p={"image/*":[".png",".jpg",".svg",".gif",".apng",".avif",".webp"]}:e==="mp3"||e==="ogg"||e==="wav"?p={"audio/*":[".mp3",".ogg",".wav",".mp4"]}:e==="ics"?p={"text/calendar":[".ics"]}:e==="txt"?p={"text/plain":[".txt"]}:e==="pem"?p={"text/plain":[".pem"]}:p={"*/*":[`.${e}`]}}return M.createElement(Pi,{ref:this.dropzoneRef,multiple:!1,accept:p,noKeyboard:!0,noClick:!0,maxSize:this.props.schema.maxSize||2*1024*1024,onDragEnter:()=>{this.setState({uploadFile:"dragging"})},onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(e,t)=>{var r,l,o;this.setState({uploadFile:!1}),e.length?this.onDrop(e):window.alert(((o=(l=(r=t==null?void 0:t[0])==null?void 0:r.errors)==null?void 0:l[0])==null?void 0:o.message)||j.I18n.t("Cannot upload"))}},({getRootProps:e,getInputProps:t})=>M.createElement("div",{style:{...Ke.uploadDiv,...this.state.uploadFile==="dragging"?Ke.uploadDivDragging:void 0,...i?Ke.disabledOpacity:void 0},...e()},M.createElement("input",{...t()}),this.state.uploadFile==="dragging"?M.createElement("div",{style:{...Ke.uploadCenterDiv,...this.state.uploadError?Ke.error:void 0}},M.createElement("div",{style:Ke.uploadCenterTextAndIcon},M.createElement(Z.UploadFile,{style:Ke.uploadCenterIcon}),M.createElement("div",{style:Ke.uploadCenterText},this.state.uploadFile==="dragging"?j.I18n.t("ra_Drop file here"):j.I18n.t("ra_Place your files here or click here to open the browse dialog")))):null,a,this.renderDeleteDialog()))}}const sn={fullWidth:{width:"100%"},fullWidthOneButton:{width:"calc(100% - 69px)",marginRight:4},fullWidthIcon:{width:"calc(100% - 119px)",marginRight:4},selectedImage:{height:40,width:40,display:"inline-block",marginRight:8}},Ys=["jpg","jpeg","svg","png","webp","gif","apng","avif","webp"],Qs=["mp3","ogg","wav","aac"],Xs=["avi","mp4","mov"],Zs=["txt","log","html","htm"],qs=["json","js","ts"];class eo extends K{imagePrefix="../..";componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.imagePrefix=this.props.oContext.imagePrefix===void 0?"./files":this.props.oContext.imagePrefix,this.setState({value:n??""})}static getDerivedStateFromProps(n,i){const h=K.getValue(n.data,n.attr);return h==null||h.toString().trim()!==(i.value||"").toString().trim()?{value:h??""}:null}loadFile(){const n=this.state.value.indexOf("/");if(n!==-1){const i=this.state.value.substring(0,n),h=this.state.value.substring(n+1);return this.props.oContext.socket.readFile(i,h,!0)}return Promise.resolve(null)}play(){this.loadFile().then(n=>{if(typeof AudioContext<"u"&&(n!=null&&n.file)){const i=new AudioContext,h=mn.base64ToArrayBuffer(n.file);i.decodeAudioData(h,v=>{const s=i.createBufferSource();s.buffer=v,s.connect(i.destination),s.start(0)},v=>window.alert(`Cannot play: ${v.message}`))}})}getIcon(){const n=this.state.value.split(".").pop().toLowerCase();return Ys.includes(n)?M.createElement("div",{style:{...sn.selectedImage,backgroundImage:`url(${this.imagePrefix}/${this.state.value})`,backgroundSize:"contain",backgroundRepeat:"no-repeat"}}):Qs.includes(n)?M.createElement(N.IconButton,{style:{color:"#00FF00"},onClick:()=>this.play()},M.createElement(Z.PlayArrow,null)):Zs.includes(n)?M.createElement(Z.Article,null):Xs.includes(n)?M.createElement(Z.Videocam,null):qs.includes(n)?M.createElement(Z.Code,null):null}renderFileBrowser(){return this.state.showFileBrowser?M.createElement(j.DialogSelectFile,{imagePrefix:this.props.oContext.imagePrefix,socket:this.props.oContext.socket,selected:this.state.value,onClose:()=>this.setState({showFileBrowser:!1}),onOk:n=>{const i=Array.isArray(n)?n[0]:n;this.setState({value:i},()=>this.onChange(this.props.attr,this.props.schema.trim===!1?i:(i||"").trim()))},selectOnlyFolders:this.props.schema.selectOnlyFolders,allowUpload:this.props.schema.allowUpload,allowDownload:this.props.schema.allowDownload,allowCreateFolder:this.props.schema.allowCreateFolder,allowView:this.props.schema.allowView,showToolbar:this.props.schema.showToolbar,limitPath:this.props.schema.limitPath,theme:this.props.oContext.theme}):null}renderItem(n,i){const h=this.getIcon();return M.createElement("div",{style:sn.fullWidth},h,M.createElement(N.TextField,{variant:"standard",style:h?sn.fullWidthIcon:sn.fullWidthOneButton,value:this.state.value===null||this.state.value===void 0?"":this.state.value,error:!!n,disabled:!!i,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:!!this.props.schema.disableEdit}},onChange:v=>{const s=v.target.value;this.setState({value:s},()=>this.onChange(this.props.attr,this.props.schema.trim===!1?s:(s||"").trim()))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}),M.createElement(N.Button,{disabled:i,variant:"outlined",onClick:()=>this.setState({showFileBrowser:!0})},"..."),this.renderFileBrowser())}}class to extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.props.oContext.socket.getEnums("functions").then(i=>{const h=Object.keys(i).map(v=>({value:this.props.schema.short?v.replace("enum.functions.",""):v,label:this.getText(i[v].common.name),obj:i[v]}));this.props.schema.allowDeactivate!==!1&&h.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),this.setState({value:n,selectOptions:h})})}renderItem(n,i){if(!this.state.selectOptions)return null;const h=this.state.selectOptions.find(v=>v.value===this.state.value);return M.createElement(N.FormControl,{variant:"standard",fullWidth:!0},this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:this.state.value||"_",renderValue:()=>h?h.obj?M.createElement(j.TextWithIcon,{value:h.obj,themeType:this.props.oContext.themeType,lang:j.I18n.getLanguage()}):h.label:"",onChange:v=>{this.setState({value:v.target.value==="_"?"":v.target.value},()=>this.onChange(this.props.attr,this.state.value))}},this.state.selectOptions.map(v=>M.createElement(N.MenuItem,{key:v.value,value:v.value,style:v.value===K.DIFFERENT_VALUE?{opacity:.5}:{}},v.obj?M.createElement(j.TextWithIcon,{value:v.obj,themeType:this.props.oContext.themeType,lang:j.I18n.getLanguage()}):v.label))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class no extends K{componentDidMount(){super.componentDidMount(),this.props.oContext.socket.getHostByIp(this.props.common.host).then(n=>{this.props.schema.listenOnAllPorts||(n=n.filter(i=>i.address!=="0.0.0.0"&&i.address!=="::")),this.props.schema.onlyIp4?n=n.filter(i=>i.family==="ipv4"):this.props.schema.onlyIp6&&(n=n.filter(i=>i.family==="ipv6")),this.props.schema.noInternal&&(n=n.filter(i=>!i.internal)),n.forEach(i=>{i.address==="0.0.0.0"?i.name=`[IPv4] 0.0.0.0 - ${j.I18n.t("ra_Listen on all IPs")}`:i.address==="::"&&(i.name=`[IPv6] :: - ${j.I18n.t("ra_Listen on all IPs")}`)}),this.setState({ips:n})}).catch(n=>console.error(n))}renderItem(n,i){var s,u;const h=K.getValue(this.props.data,this.props.attr),v=(s=this.state.ips)==null?void 0:s.find(d=>d.address===h);return M.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},this.state.ips&&this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,this.state.ips?M.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:h,renderValue:d=>(v==null?void 0:v.name)||d,onChange:d=>this.onChange(this.props.attr,d.target.value)},(u=this.state.ips)==null?void 0:u.map((d,a)=>M.createElement(N.MenuItem,{key:a,value:d.address},d.name))):M.createElement(N.TextField,{fullWidth:!0,variant:"standard",error:!!n,disabled:!!i,value:h,onChange:d=>this.onChange(this.props.attr,d.target.value),label:this.getText(this.props.schema.label)}),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class io extends K{initialized=!1;localContext;componentDidMount(){super.componentDidMount(),this.askInstance()}askInstance(){if(this.props.alive){let n=this.props.schema.data;if(n===void 0&&this.props.schema.jsonData){const i=this.getPattern(this.props.schema.jsonData,null,!0);if(i)try{n=JSON.parse(i)}catch{console.error(`Cannot parse json data: ${JSON.stringify(n)}`)}}n===void 0&&(n=null),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",n).then(i=>this.setState({image:i||""}))}}getContext(){const n={};return Array.isArray(this.props.schema.alsoDependsOn)&&this.props.schema.alsoDependsOn.forEach(i=>n[i]=K.getValue(this.props.data,i)),JSON.stringify(n)}renderItem(){if(this.props.alive){const n=this.getContext();(n!==this.localContext||!this.initialized)&&(this.localContext=n,setTimeout(()=>this.askInstance(),this.initialized?300:50),this.initialized=!0)}return this.state.image===void 0?null:M.createElement("img",{alt:"dynamic content",src:this.state.image,style:{width:this.props.schema.width||"100%",height:this.props.schema.height}})}}class ro extends K{index;constructor(n){super(n),this.index=Date.now()}componentDidMount(){if(super.componentDidMount(),this.props.schema.base64){const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n})}else this.props.oContext.socket.fileExists(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.attr).then(n=>n&&this.loadImage())}_getUrl(n){n&&(this.index=Date.now());let i=`files/${this.props.oContext.adapterName}.${this.props.oContext.instance}/${this.props.attr}?t=${this.index}`;return window.location.port==="3000"&&(i=`${window.location.protocol}//${window.location.hostname}:8081/${i}`),i}loadImage(){fetch(this._getUrl()).then(n=>n.blob()).then(n=>{const i=new FileReader;i.onload=()=>{this.setState({value:i.result})},i.readAsDataURL(n)}).catch(n=>console.error(n))}renderItem(n,i){return M.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},this.props.schema.label?M.createElement(N.InputLabel,{shrink:!0},this.getText(this.props.schema.label)):null,M.createElement(j.UploadImage,{error:!!n,disabled:i,accept:this.props.schema.accept,crop:this.props.schema.crop,maxSize:this.props.schema.maxSize||256*1024,icon:this.state.value||void 0,removeIconFunc:()=>this.setState({value:null},()=>{if(this.props.schema.base64){const h=this.onChange(this.props.attr,this.state.value);h instanceof Promise&&h.catch(v=>console.error(`Cannot set value: ${v}`))}else this.props.oContext.socket.deleteFile(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.attr).catch(h=>console.error(h))}),onChange:h=>this.setState({value:h},()=>{if(this.props.schema.base64){const v=this.onChange(this.props.attr,this.state.value);v instanceof Promise&&v.catch(s=>console.error(`Cannot set value: ${s}`))}else h.startsWith("data")&&(h=h.split(",")[1]);this.props.oContext.socket.writeFile64(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.attr,h).catch(v=>console.error(v))})}),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class so extends K{renderItem(){return M.createElement(j.InfoBox,{type:this.props.schema.boxType||"info",closeable:this.props.schema.closeable!==void 0?this.props.schema.closeable:!0,storeId:this.props.schema.closed!==void 0?void 0:`${!!this.props.oContext.adapterName} ${this.props.attr}`,closed:this.props.schema.closed,style:{width:"100%",...this.props.schema.style}},this.props.schema.title?M.createElement(N.Box,{component:"div",sx:{fontWeight:"bold",fontSize:"larger"}},this.getText(this.props.schema.title)):null,this.getText(this.props.schema.text))}}const gi={icon:{width:20,height:20,marginRight:4}};class oo extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);let i=this.props.schema.adapter;i==="_dataSources"&&(i=void 0),this.props.oContext.socket.getAdapterInstances(i,!0).then(async h=>{this.props.schema.adapter==="_dataSources"?h=h.filter(s=>{var u;return(u=s==null?void 0:s.common)==null?void 0:u.getHistory}):this.props.schema.adapter?h=h.filter(s=>s==null?void 0:s._id.startsWith(`system.adapter.${this.props.schema.adapter}.`)):this.props.schema.adapters&&Array.isArray(this.props.schema.adapters)&&(h=h.filter(s=>{var u;return this.props.schema.adapters.includes((u=s==null?void 0:s.common)==null?void 0:u.name)})),this.props.schema.onlyEnabled&&(h=h.filter(s=>{var u;return(u=s==null?void 0:s.common)==null?void 0:u.enabled}));const v=h.map(s=>({value:this.props.schema.long?s._id:this.props.schema.short?s._id.split(".").pop():s._id.replace(/^system\.adapter\./,""),label:`${s.common.name} [${s._id.replace(/^system\.adapter\./,"")}]`,icon:`adapter/${s.common.name}/${s.common.icon}`}));v.sort((s,u)=>s.value>u.value?1:s.valueconsole.error(`Cannot get instances: ${h}`))}componentWillUnmount(){this.props.oContext.socket.unsubscribeObject("system.adapter.*",this.onInstancesUpdate).then(()=>{}),super.componentWillUnmount()}onInstancesUpdate=(n,i)=>{if(!n.match(/^system\.adapter\.[-_a-z\d]+\.\d+$/))return;const h=this.props.schema.long?n:this.props.schema.short?n.split(".").pop():n.replace(/^system\.adapter\./,""),v=this.state.selectOptions.findIndex(s=>s.value===h);if(i){if(this.props.schema.adapter==="_dataSources"&&(!i.common||!i.common.getHistory))return;if(v===-1){const s=JSON.parse(JSON.stringify(this.state.selectOptions)),u=typeof i.common.name=="object"?i.common.name[j.I18n.getLanguage()]||i.common.name.en:i.common.name;s.push({value:this.props.schema.long?i._id:this.props.schema.short?i._id.split(".").pop():i._id.replace(/^system\.adapter\./,""),label:`${u} [${i._id.replace(/^system\.adapter\./,"")}]`,icon:`adapter/${u}/${i.common.icon}`}),s.sort((d,a)=>d.label>a.label?1:d.labels.value===this.state.value);return M.createElement(N.FormControl,{fullWidth:!0,key:this.props.attr,variant:"standard"},this.props.schema.label?M.createElement(N.InputLabel,{shrink:!0},this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:this.state.value,renderValue:()=>M.createElement("span",{style:{display:"flex"}},h!=null&&h.icon?M.createElement("img",{src:`./${h.icon}`,alt:h.value,style:gi.icon}):null,this.getText(h==null?void 0:h.label,!0)),onChange:s=>this.setState({value:s.target.value},()=>this.onChange(this.props.attr,this.state.value))},this.state.selectOptions.map(s=>M.createElement(N.MenuItem,{key:s.value,value:s.value,style:s.value===K.NONE_VALUE?{opacity:.5}:{}},s.icon?M.createElement("img",{src:`./${s.icon}`,alt:s.value,style:gi.icon}):null,this.getText(s.label,!0)))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const mi={address:{fontSize:"smaller",opacity:.5,marginLeft:8}};class ao extends K{componentDidMount(){super.componentDidMount(),this.props.oContext.socket.getObject(`system.host.${this.props.common.host}`).then(n=>{var h,v;const i=[];if((v=(h=n==null?void 0:n.native)==null?void 0:h.hardware)!=null&&v.networkInterfaces){const s=n.native.hardware.networkInterfaces;Object.keys(s).forEach(u=>{if(this.props.schema.ignoreInternal&&!s[u].find(a=>!a.internal)||this.props.schema.ignoreLoopback&&s[u].find(a=>a.address==="127.0.0.1"||a.address==="::1"))return;let d=s[u].find(a=>a.family==="IPv4");d=d||s[u].find(a=>a.family==="IPv6"),i.push({value:u,address:d.address})})}this.setState({interfaces:i})}).catch(n=>window.alert(`Cannot read interfaces: ${n}`))}renderItem(n,i){var s,u,d;const h=K.getValue(this.props.data,this.props.attr),v=(s=this.state.interfaces)==null?void 0:s.find(a=>a.value===h);return M.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},(u=this.state.interfaces)!=null&&u.length&&this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,(d=this.state.interfaces)!=null&&d.length?M.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:h,renderValue:a=>v?M.createElement("span",null,v.value,M.createElement("span",{style:mi.address},v.address)):a,onChange:a=>this.onChange(this.props.attr,a.target.value)},this.state.interfaces.map((a,p)=>M.createElement(N.MenuItem,{key:p,value:a.value},M.createElement("span",null,a.value,M.createElement("span",{style:mi.address},a.address))))):M.createElement(N.TextField,{fullWidth:!0,variant:"standard",error:!!n,disabled:!!i,value:h,onChange:a=>this.onChange(this.props.attr,a.target.value),label:this.getText(this.props.schema.label)}),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const kt={modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:8,top:8},languageButtonActive:{color:"primary.main"}},lo=({toggleTranslation:L,noTranslation:n,title:i,fullWidth:h,help:v,maxWidth:s,progress:u,icon:d,applyDisabled:a,applyButton:p,onClose:e,children:t,titleButtonApply:r,titleButtonClose:l,onApply:o,textInput:c,defaultValue:f,overflowHidden:m})=>{const[y,D]=pt.useState(f);pt.useEffect(()=>{D(f)},[f]);let E=null;return d&&(E=d),M.createElement(N.Dialog,{open:!0,maxWidth:s||"md",fullWidth:!!h,disableEscapeKeyDown:!1,onClose:e,sx:{"& .MuiPaper-root":kt.modalDialog}},i&&M.createElement(N.DialogTitle,null,d?M.createElement(E,{style:kt.titleIcon}):null,i,j.I18n.getLanguage()!=="en"&&L?M.createElement(N.IconButton,{size:"large",style:{...kt.languageButton,...n?kt.languageButtonActive:{}},onClick:()=>L(),title:j.I18n.t("Disable/Enable translation")},M.createElement(Z.Language,null)):null),M.createElement(N.DialogContent,{sx:{...m?kt.overflowHidden:{},...kt.content},style:{paddingTop:8}},c&&M.createElement(N.TextField,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:y,onChange:b=>D(b.target.value)}),t,v?M.createElement("div",null,v):null),M.createElement(N.DialogActions,null,p!==!1&&M.createElement(N.Button,{startIcon:M.createElement(Z.Check,null),disabled:u||a&&f===y,onClick:()=>o&&o(c?y:""),variant:"contained",color:"primary"},j.I18n.t(r||"Ok")),M.createElement(N.Button,{color:"grey",onClick:()=>e&&e(),disabled:u,variant:"contained",startIcon:M.createElement(Z.Close,null)},j.I18n.t(l||"Cancel"))))};var It={},Dt={},Vi={exports:{}};(function(L,n){(function(){var i="ace",h=function(){return this}();!h&&typeof window<"u"&&(h=window);var v=function(e,t,r){if(typeof e!="string"){v.original?v.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=t),v.modules[e]||(v.payloads[e]=r,v.modules[e]=null)};v.modules={},v.payloads={};var s=function(e,t,r){if(typeof t=="string"){var l=a(e,t);if(l!=null)return r&&r(),l}else if(Object.prototype.toString.call(t)==="[object Array]"){for(var o=[],c=0,f=t.length;ca.length)&&(d=a.length),d-=u.length;var p=a.indexOf(u,d);return p!==-1&&p===d}),String.prototype.repeat||s(String.prototype,"repeat",function(u){for(var d="",a=this;u>0;)u&1&&(d+=a),(u>>=1)&&(a+=a);return d}),String.prototype.includes||s(String.prototype,"includes",function(u,d){return this.indexOf(u,d)!=-1}),Object.assign||(Object.assign=function(u){if(u==null)throw new TypeError("Cannot convert undefined or null to object");for(var d=Object(u),a=1;a>>0,p=arguments[1],e=p>>0,t=e<0?Math.max(a+e,0):Math.min(e,a),r=arguments[2],l=r===void 0?a:r>>0,o=l<0?Math.max(a+l,0):Math.min(l,a);t0;)a&1&&(p+=d),(a>>=1)&&(d+=d);return p};var s=/^\s\s*/,u=/\s\s*$/;h.stringTrimLeft=function(d){return d.replace(s,"")},h.stringTrimRight=function(d){return d.replace(u,"")},h.copyObject=function(d){var a={};for(var p in d)a[p]=d[p];return a},h.copyArray=function(d){for(var a=[],p=0,e=d.length;p65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(i,h,v){h.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},h.getOS=function(){return h.isMac?h.OS.MAC:h.isLinux?h.OS.LINUX:h.OS.WINDOWS};var s=typeof navigator=="object"?navigator:{},u=(/mac|win|linux/i.exec(s.platform)||["other"])[0].toLowerCase(),d=s.userAgent||"",a=s.appName||"";h.isWin=u=="win",h.isMac=u=="mac",h.isLinux=u=="linux",h.isIE=a=="Microsoft Internet Explorer"||a.indexOf("MSAppHost")>=0?parseFloat((d.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((d.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),h.isOldIE=h.isIE&&h.isIE<9,h.isGecko=h.isMozilla=d.match(/ Gecko\/\d+/),h.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",h.isWebKit=parseFloat(d.split("WebKit/")[1])||void 0,h.isChrome=parseFloat(d.split(" Chrome/")[1])||void 0,h.isSafari=parseFloat(d.split(" Safari/")[1])&&!h.isChrome||void 0,h.isEdge=parseFloat(d.split(" Edge/")[1])||void 0,h.isAIR=d.indexOf("AdobeAIR")>=0,h.isAndroid=d.indexOf("Android")>=0,h.isChromeOS=d.indexOf(" CrOS ")>=0,h.isIOS=/iPad|iPhone|iPod/.test(d)&&!window.MSStream,h.isIOS&&(h.isMac=!0),h.isMobile=h.isIOS||h.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(i,h,v){var s=i("./useragent"),u="http://www.w3.org/1999/xhtml";h.buildDom=function r(l,o,c){if(typeof l=="string"&&l){var f=document.createTextNode(l);return o&&o.appendChild(f),f}if(!Array.isArray(l))return l&&l.appendChild&&o&&o.appendChild(l),l;if(typeof l[0]!="string"||!l[0]){for(var m=[],y=0;y"u")){if(a){if(o)p();else if(o===!1)return a.push([r,l])}if(!d){var c=o;!o||!o.getRootNode?c=document:(c=o.getRootNode(),(!c||c==o)&&(c=document));var f=c.ownerDocument||c;if(l&&h.hasCssString(l,c))return null;l&&(r+=` +/*# sourceURL=ace/css/`+l+" */");var m=h.createElement("style");m.appendChild(f.createTextNode(r)),l&&(m.id=l),c==f&&(c=h.getDocumentHead(f)),c.insertBefore(m,c.firstChild)}}}if(h.importCssString=e,h.importCssStylsheet=function(r,l){h.buildDom(["link",{rel:"stylesheet",href:r}],h.getDocumentHead(l))},h.scrollbarWidth=function(r){var l=h.createElement("ace_inner");l.style.width="100%",l.style.minWidth="0px",l.style.height="200px",l.style.display="block";var o=h.createElement("ace_outer"),c=o.style;c.position="absolute",c.left="-10000px",c.overflow="hidden",c.width="200px",c.minWidth="0px",c.height="150px",c.display="block",o.appendChild(l);var f=r&&r.documentElement||document&&document.documentElement;if(!f)return 0;f.appendChild(o);var m=l.offsetWidth;c.overflow="scroll";var y=l.offsetWidth;return m===y&&(y=o.clientWidth),f.removeChild(o),m-y},h.computedStyle=function(r,l){return window.getComputedStyle(r,"")||{}},h.setStyle=function(r,l,o){r[l]!==o&&(r[l]=o)},h.HAS_CSS_ANIMATION=!1,h.HAS_CSS_TRANSFORMS=!1,h.HI_DPI=s.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,s.isChromeOS&&(h.HI_DPI=!1),typeof document<"u"){var t=document.createElement("div");h.HI_DPI&&t.style.transform!==void 0&&(h.HAS_CSS_TRANSFORMS=!0),!s.isEdge&&typeof t.style.animationName<"u"&&(h.HAS_CSS_ANIMATION=!0),t=null}h.HAS_CSS_TRANSFORMS?h.translate=function(r,l,o){r.style.transform="translate("+Math.round(l)+"px, "+Math.round(o)+"px)"}:h.translate=function(r,l,o){r.style.top=Math.round(o)+"px",r.style.left=Math.round(l)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(i,h,v){/* +* based on code from: +* +* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. +* Available via the MIT or new BSD license. +* see: http://github.com/jrburke/requirejs for details +*/var s=i("./dom");h.get=function(u,d){var a=new XMLHttpRequest;a.open("GET",u,!0),a.onreadystatechange=function(){a.readyState===4&&d(a.responseText)},a.send(null)},h.loadScript=function(u,d){var a=s.getDocumentHead(),p=document.createElement("script");p.src=u,a.appendChild(p),p.onload=p.onreadystatechange=function(e,t){(t||!p.readyState||p.readyState=="loaded"||p.readyState=="complete")&&(p=p.onload=p.onreadystatechange=null,t||d())}},h.qualifyURL=function(u){var d=document.createElement("a");return d.href=u,d.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(i,h,v){h.inherits=function(s,u){s.super_=u,s.prototype=Object.create(u.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}})},h.mixin=function(s,u){for(var d in u)s[d]=u[d];return s},h.implement=function(s,u){h.mixin(s,u)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(i,h,v){var s={},u=function(){this.propagationStopped=!0},d=function(){this.defaultPrevented=!0};s._emit=s._dispatchEvent=function(a,p){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var e=this._eventRegistry[a]||[],t=this._defaultHandlers[a];if(!(!e.length&&!t)){(typeof p!="object"||!p)&&(p={}),p.type||(p.type=a),p.stopPropagation||(p.stopPropagation=u),p.preventDefault||(p.preventDefault=d),e=e.slice();for(var r=0;r1&&(m=c[c.length-2]);var D=p[o+"Path"];return D==null?D=p.basePath:f=="/"&&(o=f=""),D&&D.slice(-1)!="/"&&(D+="/"),D+o+f+m+this.get("suffix")},h.setModuleUrl=function(l,o){return p.$moduleUrls[l]=o};var e=function(l,o){if(l==="ace/theme/textmate"||l==="./theme/textmate")return o(null,i("./theme/textmate"));if(t)return t(l,o);console.error("loader is not configured")},t;h.setLoader=function(l){t=l},h.dynamicModules=Object.create(null),h.$loading={},h.$loaded={},h.loadModule=function(l,o){var c;if(Array.isArray(l))var f=l[0],m=l[1];else if(typeof l=="string")var m=l;var y=function(D){if(D&&!h.$loading[m])return o&&o(D);if(h.$loading[m]||(h.$loading[m]=[]),h.$loading[m].push(o),!(h.$loading[m].length>1)){var E=function(){e(m,function(b,g){g&&(h.$loaded[m]=g),h._emit("load.module",{name:m,module:g});var S=h.$loading[m];h.$loading[m]=null,S.forEach(function(T){T&&T(g)})})};if(!h.get("packaged"))return E();u.loadScript(h.moduleUrl(m,f),E),r()}};if(h.dynamicModules[m])h.dynamicModules[m]().then(function(D){D.default?y(D.default):y(D)});else{try{c=this.$require(m)}catch{}y(c||h.$loaded[m])}},h.$require=function(l){if(typeof v.require=="function"){var o="require";return v[o](l)}},h.setModuleLoader=function(l,o){h.dynamicModules[l]=o};var r=function(){!p.basePath&&!p.workerPath&&!p.modePath&&!p.themePath&&!Object.keys(p.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),r=function(){})};h.version="1.41.0"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(i,h,v){i("./lib/fixoldbrowsers");var s=i("./config");s.setLoader(function(p,e){i([p],function(t){e(null,t)})});var u=function(){return this||typeof window<"u"&&window}();v.exports=function(p){s.init=d,s.$require=i,p.require=i},d(!0);function d(p){if(!(!u||!u.document)){s.set("packaged",p||i.packaged||v.packaged||u.define&&(void 0).packaged);var e={},t="",r=document.currentScript||document._currentScript,l=r&&r.ownerDocument||document;r&&r.src&&(t=r.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var o=l.getElementsByTagName("script"),c=0;c ["+this.end.row+"/"+this.end.column+"]"},u.prototype.contains=function(d,a){return this.compare(d,a)==0},u.prototype.compareRange=function(d){var a,p=d.end,e=d.start;return a=this.compare(p.row,p.column),a==1?(a=this.compare(e.row,e.column),a==1?2:a==0?1:0):a==-1?-2:(a=this.compare(e.row,e.column),a==-1?-1:a==1?42:0)},u.prototype.comparePoint=function(d){return this.compare(d.row,d.column)},u.prototype.containsRange=function(d){return this.comparePoint(d.start)==0&&this.comparePoint(d.end)==0},u.prototype.intersects=function(d){var a=this.compareRange(d);return a==-1||a==0||a==1},u.prototype.isEnd=function(d,a){return this.end.row==d&&this.end.column==a},u.prototype.isStart=function(d,a){return this.start.row==d&&this.start.column==a},u.prototype.setStart=function(d,a){typeof d=="object"?(this.start.column=d.column,this.start.row=d.row):(this.start.row=d,this.start.column=a)},u.prototype.setEnd=function(d,a){typeof d=="object"?(this.end.column=d.column,this.end.row=d.row):(this.end.row=d,this.end.column=a)},u.prototype.inside=function(d,a){return this.compare(d,a)==0?!(this.isEnd(d,a)||this.isStart(d,a)):!1},u.prototype.insideStart=function(d,a){return this.compare(d,a)==0?!this.isEnd(d,a):!1},u.prototype.insideEnd=function(d,a){return this.compare(d,a)==0?!this.isStart(d,a):!1},u.prototype.compare=function(d,a){return!this.isMultiLine()&&d===this.start.row?athis.end.column?1:0:dthis.end.row?1:this.start.row===d?a>=this.start.column?0:-1:this.end.row===d?a<=this.end.column?0:1:0},u.prototype.compareStart=function(d,a){return this.start.row==d&&this.start.column==a?-1:this.compare(d,a)},u.prototype.compareEnd=function(d,a){return this.end.row==d&&this.end.column==a?1:this.compare(d,a)},u.prototype.compareInside=function(d,a){return this.end.row==d&&this.end.column==a?1:this.start.row==d&&this.start.column==a?-1:this.compare(d,a)},u.prototype.clipRows=function(d,a){if(this.end.row>a)var p={row:a+1,column:0};else if(this.end.rowa)var e={row:a+1,column:0};else if(this.start.row1?(T++,T>4&&(T=1)):T=1,u.isIE){var w=Math.abs(C.clientX-k)>5||Math.abs(C.clientY-_)>5;(!O||w)&&(T=1),O&&clearTimeout(O),O=setTimeout(function(){O=null},E[T-1]||600),T==1&&(k=C.clientX,_=C.clientY)}if(C._clicks=T,b[g]("mousedown",C),T>4)T=0;else if(T>1)return b[g]($[T],C)}Array.isArray(D)||(D=[D]),D.forEach(function(C){l(C,"mousedown",A,S)})};function c(D){return 0|(D.ctrlKey?1:0)|(D.altKey?2:0)|(D.shiftKey?4:0)|(D.metaKey?8:0)}h.getModifierString=function(D){return s.KEY_MODS[c(D)]};function f(D,E,b){var g=c(E);if(!b&&E.code&&(b=s.$codeToKeyCode[E.code]||b),!u.isMac&&d){if(E.getModifierState&&(E.getModifierState("OS")||E.getModifierState("Win"))&&(g|=8),d.altGr)if((3&g)!=3)d.altGr=0;else return;if(b===18||b===17){var S=E.location;if(b===17&&S===1)d[b]==1&&(a=E.timeStamp);else if(b===18&&g===3&&S===2){var T=E.timeStamp-a;T<50&&(d.altGr=!0)}}}if(b in s.MODIFIER_KEYS&&(b=-1),!(!g&&b===13&&E.location===3&&(D(E,g,-b),E.defaultPrevented))){if(u.isChromeOS&&g&8){if(D(E,g,b),E.defaultPrevented)return;g&=-9}return!g&&!(b in s.FUNCTION_KEYS)&&!(b in s.PRINTABLE_KEYS)?!1:D(E,g,b)}}h.addCommandKeyListener=function(D,E,b){var g=null;l(D,"keydown",function(S){d[S.keyCode]=(d[S.keyCode]||0)+1;var T=f(E,S,S.keyCode);return g=S.defaultPrevented,T},b),l(D,"keypress",function(S){g&&(S.ctrlKey||S.altKey||S.shiftKey||S.metaKey)&&(h.stopEvent(S),g=null)},b),l(D,"keyup",function(S){d[S.keyCode]=null},b),d||(m(),l(window,"focus",m))};function m(){d=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!u.isOldIE){var y=1;h.nextTick=function(D,E){E=E||window;var b="zero-timeout-message-"+y++,g=function(S){S.data==b&&(h.stopPropagation(S),o(E,"message",g),D())};l(E,"message",g),E.postMessage(b,"*")}}h.$idleBlocked=!1,h.onIdle=function(D,E){return setTimeout(function b(){h.$idleBlocked?setTimeout(b,100):D()},E)},h.$idleBlockId=null,h.blockIdle=function(D){h.$idleBlockId&&clearTimeout(h.$idleBlockId),h.$idleBlocked=!0,h.$idleBlockId=setTimeout(function(){h.$idleBlocked=!1},D||100)},h.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),h.nextFrame?h.nextFrame=h.nextFrame.bind(window):h.nextFrame=function(D){setTimeout(D,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(i,h,v){var s;v.exports={lineMode:!1,pasteCancelled:function(){return s&&s>Date.now()-50?!0:s=!1},cancel:function(){s=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(i,h,v){var s=i("../lib/event"),u=i("../config").nls,d=i("../lib/useragent"),a=i("../lib/dom"),p=i("../lib/lang"),e=i("../clipboard"),t=d.isChrome<18,r=d.isIE,l=d.isChrome>63,o=400,c=i("../lib/keys"),f=c.KEY_MODS,m=d.isIOS,y=m?/\s/:/\n/,D=d.isMobile,E;E=function(b,g){var S=a.createElement("textarea");S.className="ace_text-input",S.setAttribute("wrap","off"),S.setAttribute("autocorrect","off"),S.setAttribute("autocapitalize","off"),S.setAttribute("spellcheck","false"),S.style.opacity="0",b.insertBefore(S,b.firstChild),this.setHost=function(X){g=X};var T=!1,k=!1,_=!1,O=!1,$="";D||(S.style.fontSize="1px");var A=!1,C=!1,w="",x=0,I=0,F=0,R=Number.MAX_SAFE_INTEGER,B=Number.MIN_SAFE_INTEGER,P=0;try{var V=document.activeElement===S}catch{}this.setNumberOfExtraLines=function(X){if(R=Number.MAX_SAFE_INTEGER,B=Number.MIN_SAFE_INTEGER,X<0){P=0;return}P=X},this.setAriaLabel=function(){var X="";if(g.$textInputAriaLabel&&(X+="".concat(g.$textInputAriaLabel,", ")),g.session){var re=g.session.selection.cursor.row;X+=u("text-input.aria-label","Cursor at row $0",[re+1])}S.setAttribute("aria-label",X)},this.setAriaOptions=function(X){X.activeDescendant?(S.setAttribute("aria-haspopup","true"),S.setAttribute("aria-autocomplete",X.inline?"both":"list"),S.setAttribute("aria-activedescendant",X.activeDescendant)):(S.setAttribute("aria-haspopup","false"),S.setAttribute("aria-autocomplete","both"),S.removeAttribute("aria-activedescendant")),X.role&&S.setAttribute("role",X.role),X.setLabel&&(S.setAttribute("aria-roledescription",u("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),s.addListener(S,"blur",function(X){C||(g.onBlur(X),V=!1)},g),s.addListener(S,"focus",function(X){if(!C){if(V=!0,d.isEdge)try{if(!document.hasFocus())return}catch{}g.onFocus(X),d.isEdge?setTimeout(H):H()}},g),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:g.renderer.enableKeyboardAccessibility}),$||l||this.$focusScroll=="browser")return S.focus({preventScroll:!0});var X=S.style.top;S.style.position="fixed",S.style.top="0px";try{var re=S.getBoundingClientRect().top!=0}catch{return}var ae=[];if(re)for(var de=S.parentElement;de&&de.nodeType==1;)ae.push(de),de.setAttribute("ace_nocontext","true"),!de.parentElement&&de.getRootNode?de=de.getRootNode().host:de=de.parentElement;S.focus({preventScroll:!0}),re&&ae.forEach(function(ce){ce.removeAttribute("ace_nocontext")}),setTimeout(function(){S.style.position="",S.style.top=="0px"&&(S.style.top=X)},0)},this.blur=function(){S.blur()},this.isFocused=function(){return V},g.on("beforeEndOperation",function(){var X=g.curOp,re=X&&X.command&&X.command.name;if(re!="insertstring"){var ae=re&&(X.docChanged||X.selectionChanged);_&&ae&&(w=S.value="",Ze()),H()}}),g.on("changeSelection",this.setAriaLabel);var W=function(X,re){for(var ae=re,de=1;de<=X-R&&de<2*P+1;de++)ae+=g.session.getLine(X-de).length+1;return ae},H=m?function(X){if(!(!V||T&&!X||O)){X||(X="");var re=` + ab`+X+`cde fg +`;re!=S.value&&(S.value=w=re);var ae=4,de=4+(X.length||(g.selection.isEmpty()?0:1));(x!=ae||I!=de)&&S.setSelectionRange(ae,de),x=ae,I=de}}:function(){if(!(_||O)&&!(!V&&!Q)){_=!0;var X=0,re=0,ae="";if(g.session){var de=g.selection,ce=de.getRange(),Ee=de.cursor.row;Ee===B+1?(R=B+1,B=R+2*P):Ee===R-1?(B=R-1,R=B-2*P):(EeB+1)&&(R=Ee>P?Ee-P:0,B=Ee>P?Ee+P:2*P);for(var $e=[],xe=R;xe<=B;xe++)$e.push(g.session.getLine(xe));if(ae=$e.join(` +`),X=W(ce.start.row,ce.start.column),re=W(ce.end.row,ce.end.column),ce.start.rowB){var ve=g.session.getLine(B+1);re=ce.end.row>B+1?ve.length:ce.end.column,re+=ae.length+1,ae=ae+` +`+ve}else D&&Ee>0&&(ae=` +`+ae,re+=1,X+=1);ae.length>o&&(X=w.length&&X.value===w&&w&&X.selectionEnd!==I},G=function(X){_||(T?T=!1:U(S)?(g.selectAll(),H()):D&&S.selectionStart!=x&&H())},Y=null;this.setInputHandler=function(X){Y=X},this.getInputHandler=function(){return Y};var Q=!1,ee=function(X,re){if(Q&&(Q=!1),k)return H(),X&&g.onPaste(X),k=!1,"";for(var ae=S.selectionStart,de=S.selectionEnd,ce=x,Ee=w.length-I,$e=X,xe=X.length-ae,we=X.length-de,ve=0;ce>0&&w[ve]==X[ve];)ve++,ce--;for($e=$e.slice(ve),ve=1;Ee>0&&w.length-ve>x-1&&w[w.length-ve]==X[X.length-ve];)ve++,Ee--;xe-=ve-1,we-=ve-1;var Fe=$e.length-ve+1;if(Fe<0&&(ce=-Fe,Fe=0),$e=$e.slice(0,Fe),!re&&!$e&&!xe&&!ce&&!Ee&&!we)return"";O=!0;var st=!1;return d.isAndroid&&$e==". "&&($e=" ",st=!0),$e&&!ce&&!Ee&&!xe&&!we||A?g.onTextInput($e):g.onTextInput($e,{extendLeft:ce,extendRight:Ee,restoreStart:xe,restoreEnd:we}),O=!1,w=X,x=ae,I=de,F=we,st?` +`:$e},ne=function(X){if(_)return Xe();if(X&&X.inputType){if(X.inputType=="historyUndo")return g.execCommand("undo");if(X.inputType=="historyRedo")return g.execCommand("redo")}var re=S.value,ae=ee(re,!0);(re.length>o+100||y.test(ae)||D&&x<1&&x==I)&&H()},se=function(X,re,ae){var de=X.clipboardData||window.clipboardData;if(!(!de||t)){var ce=r||ae?"Text":"text/plain";try{return re?de.setData(ce,re)!==!1:de.getData(ce)}catch(Ee){if(!ae)return se(Ee,re,!0)}}},ge=function(X,re){var ae=g.getCopyText();if(!ae)return s.preventDefault(X);se(X,ae)?(m&&(H(ae),T=ae,setTimeout(function(){T=!1},10)),re?g.onCut():g.onCopy(),s.preventDefault(X)):(T=!0,S.value=ae,S.select(),setTimeout(function(){T=!1,H(),re?g.onCut():g.onCopy()}))},be=function(X){ge(X,!0)},ke=function(X){ge(X,!1)},Ce=function(X){var re=se(X);e.pasteCancelled()||(typeof re=="string"?(re&&g.onPaste(re,X),d.isIE&&setTimeout(H),s.preventDefault(X)):(S.value="",k=!0))};s.addCommandKeyListener(S,function(X,re,ae){if(!_)return g.onCommandKey(X,re,ae)},g),s.addListener(S,"select",G,g),s.addListener(S,"input",ne,g),s.addListener(S,"cut",be,g),s.addListener(S,"copy",ke,g),s.addListener(S,"paste",Ce,g),(!("oncut"in S)||!("oncopy"in S)||!("onpaste"in S))&&s.addListener(b,"keydown",function(X){if(!(d.isMac&&!X.metaKey||!X.ctrlKey))switch(X.keyCode){case 67:ke(X);break;case 86:Ce(X);break;case 88:be(X);break}},g);var Ne=function(X){if(!(_||!g.onCompositionStart||g.$readOnly)&&(_={},!A)){X.data&&(_.useTextareaForIME=!1),setTimeout(Xe,0),g._signal("compositionStart"),g.on("mousedown",Ot);var re=g.getSelectionRange();re.end.row=re.start.row,re.end.column=re.start.column,_.markerRange=re,_.selectionStart=x,g.onCompositionStart(_),_.useTextareaForIME?(w=S.value="",x=0,I=0):(S.msGetInputContext&&(_.context=S.msGetInputContext()),S.getInputContext&&(_.context=S.getInputContext()))}},Xe=function(){if(!(!_||!g.onCompositionUpdate||g.$readOnly)){if(A)return Ot();if(_.useTextareaForIME)g.onCompositionUpdate(S.value);else{var X=S.value;ee(X),_.markerRange&&(_.context&&(_.markerRange.start.column=_.selectionStart=_.context.compositionStartOffset),_.markerRange.end.column=_.markerRange.start.column+I-_.selectionStart+F)}}},Ze=function(X){!g.onCompositionEnd||g.$readOnly||(_=!1,g.onCompositionEnd(),g.off("mousedown",Ot),X&&ne())};function Ot(){C=!0,S.blur(),S.focus(),C=!1}var Jt=p.delayedCall(Xe,50).schedule.bind(null,null);function bn(X){X.keyCode==27&&S.value.lengthI&&w[we]==` +`?ve=c.end:xeI&&w.slice(0,we).split(` +`).length>2?ve=c.down:we>I&&w[we-1]==" "?(ve=c.right,Fe=f.option):(we>I||we==I&&I!=x&&xe==we)&&(ve=c.right),xe!==we&&(Fe|=f.shift),ve){var st=re.onCommandKey({},Fe,ve);if(!st&&re.commands){ve=c.keyCodeToString(ve);var Yt=re.commands.findKeyCommand(Fe,ve);Yt&&re.execCommand(Yt)}x=xe,I=we,H("")}}};document.addEventListener("selectionchange",Ee),re.on("destroy",function(){document.removeEventListener("selectionchange",Ee)})}this.destroy=function(){S.parentElement&&S.parentElement.removeChild(S)}},h.TextInput=E,h.$setUserAgentForTests=function(b,g){D=b,m=g}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(i,h,v){var s=i("../lib/useragent"),u=0,d=550,a=function(){function t(r){r.$clickSelection=null;var l=r.editor;l.setDefaultHandler("mousedown",this.onMouseDown.bind(r)),l.setDefaultHandler("dblclick",this.onDoubleClick.bind(r)),l.setDefaultHandler("tripleclick",this.onTripleClick.bind(r)),l.setDefaultHandler("quadclick",this.onQuadClick.bind(r)),l.setDefaultHandler("mousewheel",this.onMouseWheel.bind(r));var o=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];o.forEach(function(c){r[c]=this[c]},this),r.selectByLines=this.extendSelectionBy.bind(r,"getLineRange"),r.selectByWords=this.extendSelectionBy.bind(r,"getWordRange")}return t.prototype.onMouseDown=function(r){var l=r.inSelection(),o=r.getDocumentPosition();this.mousedownEvent=r;var c=this.editor,f=r.getButton();if(f!==0){var m=c.getSelectionRange(),y=m.isEmpty();(y||f==1)&&c.selection.moveToPosition(o),f==2&&(c.textInput.onContextMenu(r.domEvent),s.isMozilla||r.preventDefault());return}if(this.mousedownEvent.time=Date.now(),l&&!c.isFocused()&&(c.focus(),this.$focusTimeout&&!this.$clickSelection&&!c.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(r);return}return this.captureMouse(r),this.startSelect(o,r.domEvent._clicks>1),r.preventDefault()},t.prototype.startSelect=function(r,l){r=r||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var o=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?o.selection.selectToPosition(r):l||o.selection.moveToPosition(r),l||this.select(),o.setStyle("ace_selecting"),this.setState("select"))},t.prototype.select=function(){var r,l=this.editor,o=l.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var c=this.$clickSelection.comparePoint(o);if(c==-1)r=this.$clickSelection.end;else if(c==1)r=this.$clickSelection.start;else{var f=e(this.$clickSelection,o);o=f.cursor,r=f.anchor}l.selection.setSelectionAnchor(r.row,r.column)}l.selection.selectToPosition(o),l.renderer.scrollCursorIntoView()},t.prototype.extendSelectionBy=function(r){var l,o=this.editor,c=o.renderer.screenToTextCoordinates(this.x,this.y),f=o.selection[r](c.row,c.column);if(this.$clickSelection){var m=this.$clickSelection.comparePoint(f.start),y=this.$clickSelection.comparePoint(f.end);if(m==-1&&y<=0)l=this.$clickSelection.end,(f.end.row!=c.row||f.end.column!=c.column)&&(c=f.start);else if(y==1&&m>=0)l=this.$clickSelection.start,(f.start.row!=c.row||f.start.column!=c.column)&&(c=f.end);else if(m==-1&&y==1)c=f.end,l=f.start;else{var D=e(this.$clickSelection,c);c=D.cursor,l=D.anchor}o.selection.setSelectionAnchor(l.row,l.column)}o.selection.selectToPosition(c),o.renderer.scrollCursorIntoView()},t.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},t.prototype.focusWait=function(){var r=p(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),l=Date.now();(r>u||l-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},t.prototype.onDoubleClick=function(r){var l=r.getDocumentPosition(),o=this.editor,c=o.session,f=c.getBracketRange(l);f?(f.isEmpty()&&(f.start.column--,f.end.column++),this.setState("select")):(f=o.selection.getWordRange(l.row,l.column),this.setState("selectByWords")),this.$clickSelection=f,this.select()},t.prototype.onTripleClick=function(r){var l=r.getDocumentPosition(),o=this.editor;this.setState("selectByLines");var c=o.getSelectionRange();c.isMultiLine()&&c.contains(l.row,l.column)?(this.$clickSelection=o.selection.getLineRange(c.start.row),this.$clickSelection.end=o.selection.getLineRange(c.end.row).end):this.$clickSelection=o.selection.getLineRange(l.row),this.select()},t.prototype.onQuadClick=function(r){var l=this.editor;l.selectAll(),this.$clickSelection=l.getSelectionRange(),this.setState("selectAll")},t.prototype.onMouseWheel=function(r){if(!r.getAccelKey()){r.getShiftKey()&&r.wheelY&&!r.wheelX&&(r.wheelX=r.wheelY,r.wheelY=0);var l=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var o=this.$lastScroll,c=r.domEvent.timeStamp,f=c-o.t,m=f?r.wheelX/f:o.vx,y=f?r.wheelY/f:o.vy;f=1&&l.renderer.isScrollableBy(r.wheelX*r.speed,0)&&(E=!0),D<=1&&l.renderer.isScrollableBy(0,r.wheelY*r.speed)&&(E=!0),E)o.allowed=c;else if(c-o.allowedd.clientHeight;a||u.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(i,h,v){var s=this&&this.__extends||function(){var c=function(f,m){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,D){y.__proto__=D}||function(y,D){for(var E in D)Object.prototype.hasOwnProperty.call(D,E)&&(y[E]=D[E])},c(f,m)};return function(f,m){if(typeof m!="function"&&m!==null)throw new TypeError("Class extends value "+String(m)+" is not a constructor or null");c(f,m);function y(){this.constructor=f}f.prototype=m===null?Object.create(m):(y.prototype=m.prototype,new y)}}(),u=this&&this.__values||function(c){var f=typeof Symbol=="function"&&Symbol.iterator,m=f&&c[f],y=0;if(m)return m.call(c);if(c&&typeof c.length=="number")return{next:function(){return c&&y>=c.length&&(c=void 0),{value:c&&c[y++],done:!c}}};throw new TypeError(f?"Object is not iterable.":"Symbol.iterator is not defined.")},d=i("./lib/dom");i("./lib/event");var a=i("./range").Range,p=i("./lib/scroll").preventParentScroll,e="ace_tooltip",t=function(){function c(f){this.isOpen=!1,this.$element=null,this.$parentNode=f}return c.prototype.$init=function(){return this.$element=d.createElement("div"),this.$element.className=e,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},c.prototype.getElement=function(){return this.$element||this.$init()},c.prototype.setText=function(f){this.getElement().textContent=f},c.prototype.setHtml=function(f){this.getElement().innerHTML=f},c.prototype.setPosition=function(f,m){this.getElement().style.left=f+"px",this.getElement().style.top=m+"px"},c.prototype.setClassName=function(f){d.addCssClass(this.getElement(),f)},c.prototype.setTheme=function(f){this.$element.className=e+" "+(f.isDark?"ace_dark ":"")+(f.cssClass||"")},c.prototype.show=function(f,m,y){f!=null&&this.setText(f),m!=null&&y!=null&&this.setPosition(m,y),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},c.prototype.hide=function(f){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=e,this.isOpen=!1)},c.prototype.getHeight=function(){return this.getElement().offsetHeight},c.prototype.getWidth=function(){return this.getElement().offsetWidth},c.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},c}(),r=function(){function c(){this.popups=[]}return c.prototype.addPopup=function(f){this.popups.push(f),this.updatePopups()},c.prototype.removePopup=function(f){var m=this.popups.indexOf(f);m!==-1&&(this.popups.splice(m,1),this.updatePopups())},c.prototype.updatePopups=function(){var f,m,y,D;this.popups.sort(function($,A){return A.priority-$.priority});var E=[];try{for(var b=u(this.popups),g=b.next();!g.done;g=b.next()){var S=g.value,T=!0;try{for(var k=(y=void 0,u(E)),_=k.next();!_.done;_=k.next()){var O=_.value;if(this.doPopupsOverlap(O,S)){T=!1;break}}}catch($){y={error:$}}finally{try{_&&!_.done&&(D=k.return)&&D.call(k)}finally{if(y)throw y.error}}T?E.push(S):S.hide()}}catch($){f={error:$}}finally{try{g&&!g.done&&(m=b.return)&&m.call(b)}finally{if(f)throw f.error}}},c.prototype.doPopupsOverlap=function(f,m){var y=f.getElement().getBoundingClientRect(),D=m.getElement().getBoundingClientRect();return y.leftD.left&&y.topD.top},c}(),l=new r;h.popupManager=l,h.Tooltip=t;var o=function(c){s(f,c);function f(m){m===void 0&&(m=document.body);var y=c.call(this,m)||this;y.timeout=void 0,y.lastT=0,y.idleTime=350,y.lastEvent=void 0,y.onMouseOut=y.onMouseOut.bind(y),y.onMouseMove=y.onMouseMove.bind(y),y.waitForHover=y.waitForHover.bind(y),y.hide=y.hide.bind(y);var D=y.getElement();return D.style.whiteSpace="pre-wrap",D.style.pointerEvents="auto",D.addEventListener("mouseout",y.onMouseOut),D.tabIndex=-1,D.addEventListener("blur",function(){D.contains(document.activeElement)||this.hide()}.bind(y)),D.addEventListener("wheel",p),y}return f.prototype.addToEditor=function(m){m.on("mousemove",this.onMouseMove),m.on("mousedown",this.hide),m.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},f.prototype.removeFromEditor=function(m){m.off("mousemove",this.onMouseMove),m.off("mousedown",this.hide),m.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},f.prototype.onMouseMove=function(m,y){this.lastEvent=m,this.lastT=Date.now();var D=y.$mouseHandler.isMousePressed;if(this.isOpen){var E=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(E.row,E.column)||D||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||D||(this.lastEvent=m,this.timeout=setTimeout(this.waitForHover,this.idleTime))},f.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var m=Date.now()-this.lastT;if(this.idleTime-m>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-m);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},f.prototype.isOutsideOfText=function(m){var y=m.editor,D=m.getDocumentPosition(),E=y.session.getLine(D.row);if(D.column==E.length){var b=y.renderer.pixelToScreenCoordinates(m.clientX,m.clientY),g=y.session.documentToScreenPosition(D.row,D.column);if(g.column!=b.column||g.row!=b.row)return!0}return!1},f.prototype.setDataProvider=function(m){this.$gatherData=m},f.prototype.showForRange=function(m,y,D,E){var b=10;if(!(E&&E!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var g=m.renderer;this.isOpen||(l.addPopup(this),this.$registerCloseEvents(),this.setTheme(g.theme)),this.isOpen=!0,this.addMarker(y,m.session),this.range=a.fromPoints(y.start,y.end);var S=g.textToScreenCoordinates(y.start.row,y.start.column),T=g.scroller.getBoundingClientRect();S.pageX=c.length&&(c=void 0),{value:c&&c[y++],done:!c}}};throw new TypeError(f?"Object is not iterable.":"Symbol.iterator is not defined.")},d=i("../lib/dom"),a=i("../lib/event"),p=i("../tooltip").Tooltip,e=i("../config").nls,t=5,r=3;h.GUTTER_TOOLTIP_LEFT_OFFSET=t,h.GUTTER_TOOLTIP_TOP_OFFSET=r;function l(c){var f=c.editor,m=f.renderer.$gutterLayer,y=new o(f,!0);c.editor.setDefaultHandler("guttermousedown",function(T){if(!(!f.isFocused()||T.getButton()!=0)){var k=m.getRegion(T);if(k!="foldWidgets"){var _=T.getDocumentPosition().row,O=f.session.selection;if(T.getShiftKey())O.selectTo(_,0);else{if(T.domEvent.detail==2)return f.selectAll(),T.preventDefault();c.$clickSelection=f.selection.getLineRange(_)}return c.setState("selectByLines"),c.captureMouse(T),T.preventDefault()}}});var D,E;function b(){var T=E.getDocumentPosition().row,k=f.session.getLength();if(T==k){var _=f.renderer.pixelToScreenCoordinates(0,E.y).row,O=E.$pos;if(_>f.session.documentToScreenRow(O.row,O.column))return g()}if(y.showTooltip(T),!!y.isOpen)if(f.on("mousewheel",g),f.on("changeSession",g),window.addEventListener("keydown",g,!0),c.$tooltipFollowsMouse)S(E);else{var $=E.getGutterRow(),A=m.$lines.get($);if(A){var C=A.element.querySelector(".ace_gutter_annotation"),w=C.getBoundingClientRect(),x=y.getElement().style;x.left=w.right-t+"px",x.top=w.bottom-r+"px"}else S(E)}}function g(T){T&&T.type==="keydown"&&(T.ctrlKey||T.metaKey)||T&&T.type==="mouseout"&&(!T.relatedTarget||y.getElement().contains(T.relatedTarget))||(D&&(D=clearTimeout(D)),y.isOpen&&(y.hideTooltip(),f.off("mousewheel",g),f.off("changeSession",g),window.removeEventListener("keydown",g,!0)))}function S(T){y.setPosition(T.x,T.y)}c.editor.setDefaultHandler("guttermousemove",function(T){var k=T.domEvent.target||T.domEvent.srcElement;if(d.hasCssClass(k,"ace_fold-widget")||d.hasCssClass(k,"ace_custom-widget"))return g();y.isOpen&&c.$tooltipFollowsMouse&&S(T),E=T,!D&&(D=setTimeout(function(){D=null,E&&!c.isMousePressed&&b()},50))}),a.addListener(f.renderer.$gutter,"mouseout",function(T){E=null,y.isOpen&&(D=setTimeout(function(){D=null,g(T)},50))},f)}h.GutterHandler=l;var o=function(c){s(f,c);function f(m,y){y===void 0&&(y=!1);var D=c.call(this,m.container)||this;D.editor=m,D.visibleTooltipRow;var E=D.getElement();return E.setAttribute("role","tooltip"),E.style.pointerEvents="auto",y&&(D.onMouseOut=D.onMouseOut.bind(D),E.addEventListener("mouseout",D.onMouseOut)),D}return f.prototype.onMouseOut=function(m){this.isOpen&&(!m.relatedTarget||this.getElement().contains(m.relatedTarget)||m&&m.currentTarget.contains(m.relatedTarget)||this.hideTooltip())},f.prototype.setPosition=function(m,y){var D=window.innerWidth||document.documentElement.clientWidth,E=window.innerHeight||document.documentElement.clientHeight,b=this.getWidth(),g=this.getHeight();m+=15,y+=15,m+b>D&&(m-=m+b-D),y+g>E&&(y-=20+g),p.prototype.setPosition.call(this,m,y)},Object.defineProperty(f,"annotationLabels",{get:function(){return{error:{singular:e("gutter-tooltip.aria-label.error.singular","error"),plural:e("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:e("gutter-tooltip.aria-label.security.singular","security finding"),plural:e("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:e("gutter-tooltip.aria-label.warning.singular","warning"),plural:e("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:e("gutter-tooltip.aria-label.info.singular","information message"),plural:e("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:e("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:e("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),f.prototype.showTooltip=function(m){var y,D=this.editor.renderer.$gutterLayer,E=D.$annotations[m],b;E?b={displayText:Array.from(E.displayText),type:Array.from(E.type)}:b={displayText:[],type:[]};var g=D.session.getFoldLine(m);if(g&&D.$showFoldedAnnotations){for(var S={error:[],security:[],warning:[],info:[],hint:[]},T={error:1,security:2,warning:3,info:4,hint:5},k,_=m+1;_<=g.end.row;_++)if(D.$annotations[_])for(var O=0;Oe?$=null:U-$>=p&&(o.renderer.scrollCursorIntoView(),$=null)}}function w(W,H){var U=Date.now(),G=o.renderer.layerConfig.lineHeight,Y=o.renderer.layerConfig.characterWidth,Q=o.renderer.scroller.getBoundingClientRect(),ee={x:{left:D-Q.left,right:Q.right-D},y:{top:E-Q.top,bottom:Q.bottom-E}},ne=Math.min(ee.x.left,ee.x.right),se=Math.min(ee.y.top,ee.y.bottom),ge={row:W.row,column:W.column};ne/Y<=2&&(ge.column+=ee.x.left=a&&o.renderer.scrollCursorIntoView(ge):O=U:O=null}function x(){var W=S;S=o.renderer.screenToTextCoordinates(D,E),C(S,W),w(S,W)}function I(){g=o.selection.toOrientedRange(),y=o.session.addMarker(g,"ace_selection",o.getSelectionStyle()),o.clearSelection(),o.isFocused()&&o.renderer.$cursorLayer.setBlinking(!1),clearInterval(b),x(),b=setInterval(x,20),T=0,u.addListener(document,"mousemove",B)}function F(){clearInterval(b),o.session.removeMarker(y),y=null,o.selection.fromOrientedRange(g),o.isFocused()&&!_&&o.$resetCursorStyle(),g=null,S=null,T=0,O=null,$=null,u.removeListener(document,"mousemove",B)}var R=null;function B(){R==null&&(R=setTimeout(function(){R!=null&&y&&F()},20))}function P(W){var H=W.types;return!H||Array.prototype.some.call(H,function(U){return U=="text/plain"||U=="Text"})}function V(W){var H=["copy","copymove","all","uninitialized"],U=["move","copymove","linkmove","all","uninitialized"],G=d.isMac?W.altKey:W.ctrlKey,Y="uninitialized";try{Y=W.dataTransfer.effectAllowed.toLowerCase()}catch{}var Q="none";return G&&H.indexOf(Y)>=0?Q="copy":U.indexOf(Y)>=0?Q="move":H.indexOf(Y)>=0&&(Q="copy"),Q}}(function(){this.dragWait=function(){var l=Date.now()-this.mousedownEvent.time;l>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var l=this.editor.container;l.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(l){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var l=this.editor,o=l.container;o.draggable=!0,l.renderer.$cursorLayer.setBlinking(!1),l.setStyle("ace_dragging");var c=d.isWin?"default":"move";l.renderer.setCursorStyle(c),this.setState("dragReady")},this.onMouseDrag=function(l){var o=this.editor.container;if(d.isIE&&this.state=="dragReady"){var c=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);c>3&&o.dragDrop()}if(this.state==="dragWait"){var c=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);c>0&&(o.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(l){if(this.$dragEnabled){this.mousedownEvent=l;var o=this.editor,c=l.inSelection(),f=l.getButton(),m=l.domEvent.detail||1;if(m===1&&f===0&&c){if(l.editor.inMultiSelectMode&&(l.getAccelKey()||l.getShiftKey()))return;this.mousedownEvent.time=Date.now();var y=l.domEvent.target||l.domEvent.srcElement;if("unselectable"in y&&(y.unselectable="on"),o.getDragDelay()){if(d.isWebKit){this.cancelDrag=!0;var D=o.container;D.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(l,this.onMouseDrag.bind(this)),l.defaultPrevented=!0}}}}).call(t.prototype);function r(l,o,c,f){return Math.sqrt(Math.pow(c-l,2)+Math.pow(f-o,2))}h.DragdropHandler=t}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(i,h,v){var s=i("./mouse_event").MouseEvent,u=i("../lib/event"),d=i("../lib/dom");h.addTouchListeners=function(a,p){var e="scroll",t,r,l,o,c,f,m=0,y,D=0,E=0,b=0,g,S;function T(){var C=window.navigator&&window.navigator.clipboard,w=!1,x=function(){var R=p.getCopyText(),B=p.session.getUndoManager().hasUndo();S.replaceChild(d.buildDom(w?["span",!R&&I("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],R&&I("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],R&&I("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],C&&I("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],B&&I("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],I("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],I("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),S.firstChild)},I=function(R){return p.commands.canExecute(R,p)},F=function(R){var B=R.target.getAttribute("action");if(B=="more"||!w)return w=!w,x();B=="paste"?C.readText().then(function(P){p.execCommand(B,P)}):B&&((B=="cut"||B=="copy")&&(C?C.writeText(p.getCopyText()):document.execCommand("copy")),p.execCommand(B)),S.firstChild.style.display="none",w=!1,B!="openCommandPalette"&&p.focus()};S=d.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(R){e="menu",R.stopPropagation(),R.preventDefault(),p.textInput.focus()},ontouchend:function(R){R.stopPropagation(),R.preventDefault(),F(R)},onclick:F},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],p.container)}function k(){if(!p.getOption("enableMobileMenu")){S&&_();return}S||T();var C=p.selection.cursor,w=p.renderer.textToScreenCoordinates(C.row,C.column),x=p.renderer.textToScreenCoordinates(0,0).pageX,I=p.renderer.scrollLeft,F=p.container.getBoundingClientRect();S.style.top=w.pageY-F.top-3+"px",w.pageX-F.left=2?p.selection.getLineRange(y.row):p.session.getBracketRange(y);C&&!C.isEmpty()?p.selection.setRange(C):p.selection.selectWord(),e="wait"}u.addListener(a,"contextmenu",function(C){if(g){var w=p.textInput.getElement();w.focus()}},p),u.addListener(a,"touchstart",function(C){var w=C.touches;if(c||w.length>1){clearTimeout(c),c=null,l=-1,e="zoom";return}g=p.$mouseHandler.isMousePressed=!0;var x=p.renderer.layerConfig.lineHeight,I=p.renderer.layerConfig.lineHeight,F=C.timeStamp;o=F;var R=w[0],B=R.clientX,P=R.clientY;Math.abs(t-B)+Math.abs(r-P)>x&&(l=-1),t=C.clientX=B,r=C.clientY=P,E=b=0;var V=new s(C,p);if(y=V.getDocumentPosition(),F-l<500&&w.length==1&&!m)D++,C.preventDefault(),C.button=0,$();else{D=0;var W=p.selection.cursor,H=p.selection.isEmpty()?W:p.selection.anchor,U=p.renderer.$cursorLayer.getPixelPosition(W,!0),G=p.renderer.$cursorLayer.getPixelPosition(H,!0),Y=p.renderer.scroller.getBoundingClientRect(),Q=p.renderer.layerConfig.offset,ee=p.renderer.scrollLeft,ne=function(be,ke){return be=be/I,ke=ke/x-.75,be*be+ke*ke};if(C.clientXge?"cursor":"anchor"),ge<3.5?e="anchor":se<3.5?e="cursor":e="scroll",c=setTimeout(O,450)}l=F},p),u.addListener(a,"touchend",function(C){g=p.$mouseHandler.isMousePressed=!1,f&&clearInterval(f),e=="zoom"?(e="",m=0):c?(p.selection.moveToPosition(y),m=0,k()):e=="scroll"?(A(),_()):k(),clearTimeout(c),c=null},p),u.addListener(a,"touchmove",function(C){c&&(clearTimeout(c),c=null);var w=C.touches;if(!(w.length>1||e=="zoom")){var x=w[0],I=t-x.clientX,F=r-x.clientY;if(e=="wait")if(I*I+F*F>4)e="cursor";else return C.preventDefault();t=x.clientX,r=x.clientY,C.clientX=x.clientX,C.clientY=x.clientY;var R=C.timeStamp,B=R-o;if(o=R,e=="scroll"){var P=new s(C,p);P.speed=1,P.wheelX=I,P.wheelY=F,10*Math.abs(I)0)if(ge==16){for(Ce=ke;Ce-1){for(Ce=ke;Ce=0&&G[Ze]==g;Ze--)H[Ze]=s}}}function B(W,H,U){if(!(u=W){for(Q=Y+1;Q=W;)Q++;for(ee=Y,ne=Q-1;ee=H.length||(Q=U[G-1])!=f&&Q!=m||(ee=H[G+1])!=f&&ee!=m?y:(d&&(ee=m),ee==Q?ee:y);case T:return Q=G>0?U[G-1]:D,Q==f&&G+10&&U[G-1]==f)return f;if(d)return y;for(se=G+1,ne=H.length;se=1425&&ge<=2303||ge==64286;if(Q=H[se],be&&(Q==c||Q==b))return c}return G<1||(Q=H[G-1])==D?y:U[G-1];case D:return d=!1,a=!0,s;case E:return p=!0,y;case O:case $:case C:case w:case A:d=!1;case x:return y}}function V(W){var H=W.charCodeAt(0),U=H>>8;return U==0?H>191?o:I[H]:U==5?/[\u0591-\u05f4]/.test(W)?c:o:U==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(W)?_:/[\u0660-\u0669\u066b-\u066c]/.test(W)?m:H==1642?k:/[\u06f0-\u06f9]/.test(W)?f:b:U==32&&H<=8287?F[H&255]:U==254&&H>=65136?b:y}h.L=o,h.R=c,h.EN=f,h.ON_R=3,h.AN=4,h.R_H=5,h.B=6,h.RLE=7,h.DOT="·",h.doBidiReorder=function(W,H,U){if(W.length<2)return{};var G=W.split(""),Y=new Array(G.length),Q=new Array(G.length),ee=[];s=U?l:r,R(G,ee,G.length,H);for(var ne=0;neb&&H[ne]0&&G[ne-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(G[ne])&&(ee[ne-1]=ee[ne]=h.R_H,ne++);G[G.length-1]===h.DOT&&(ee[G.length-1]=h.B),G[0]==="‫"&&(ee[0]=h.RLE);for(var ne=0;ne=0&&(e=this.session.$docRowCache[r])}return e},p.prototype.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var r,l=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(r=this.session.$getRowCacheIndex(t,this.currentRow-e-1),r===l);)l=r,e++;else e=this.currentRow;return e},p.prototype.updateRowLine=function(e,t){e===void 0&&(e=this.getDocumentRow());var r=e===this.session.getLength()-1,l=r?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var o=this.session.$wrapData[e];o&&(t===void 0&&(t=this.getSplitIndex()),t>0&&o.length?(this.wrapIndent=o.indent,this.wrapOffset=this.wrapIndent*this.charWidths[s.L],this.line=tt?this.session.getOverwrite()?e:e-1:t,l=s.getVisualFromLogicalIdx(r,this.bidiMap),o=this.bidiMap.bidiLevels,c=0;!this.session.getOverwrite()&&e<=t&&o[l]%2!==0&&l++;for(var f=0;ft&&o[l]%2===0&&(c+=this.charWidths[o[l]]),this.wrapIndent&&(c+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(c+=this.rtlLineOffset),c},p.prototype.getSelections=function(e,t){var r=this.bidiMap,l=r.bidiLevels,o,c=[],f=0,m=Math.min(e,t)-this.wrapIndent,y=Math.max(e,t)-this.wrapIndent,D=!1,E=!1,b=0;this.wrapIndent&&(f+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var g,S=0;S=m&&gl+f/2;){if(l+=f,o===c.length-1){f=0;break}f=this.charWidths[c[++o]]}return o>0&&c[o-1]%2!==0&&c[o]%2===0?(r0&&c[o-1]%2===0&&c[o]%2!==0?t=1+(r>l?this.bidiMap.logicalFromVisual[o]:this.bidiMap.logicalFromVisual[o-1]):this.isRtlDir&&o===c.length-1&&f===0&&c[o-1]%2===0||!this.isRtlDir&&o===0&&c[o]%2!==0?t=1+this.bidiMap.logicalFromVisual[o]:(o>0&&c[o-1]%2!==0&&f!==0&&o--,t=this.bidiMap.logicalFromVisual[o]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent},p}();h.BidiHandler=a}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(i,h,v){var s=i("./lib/oop"),u=i("./lib/lang"),d=i("./lib/event_emitter").EventEmitter,a=i("./range").Range,p=function(){function e(t){this.session=t,this.doc=t.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var r=this;this.cursor.on("change",function(l){r.$cursorChanged=!0,r.$silent||r._emit("changeCursor"),!r.$isEmpty&&!r.$silent&&r._emit("changeSelection"),!r.$keepDesiredColumnOnChange&&l.old.column!=l.value.column&&(r.$desiredColumn=null)}),this.anchor.on("change",function(){r.$anchorChanged=!0,!r.$isEmpty&&!r.$silent&&r._emit("changeSelection")})}return e.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},e.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},e.prototype.getCursor=function(){return this.lead.getPosition()},e.prototype.setAnchor=function(t,r){this.$isEmpty=!1,this.anchor.setPosition(t,r)},e.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},e.prototype.getSelectionLead=function(){return this.lead.getPosition()},e.prototype.isBackwards=function(){var t=this.anchor,r=this.lead;return t.row>r.row||t.row==r.row&&t.column>r.column},e.prototype.getRange=function(){var t=this.anchor,r=this.lead;return this.$isEmpty?a.fromPoints(r,r):this.isBackwards()?a.fromPoints(r,t):a.fromPoints(t,r)},e.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},e.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},e.prototype.setRange=function(t,r){var l=r?t.end:t.start,o=r?t.start:t.end;this.$setSelection(l.row,l.column,o.row,o.column)},e.prototype.$setSelection=function(t,r,l,o){if(!this.$silent){var c=this.$isEmpty,f=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(t,r),this.cursor.setPosition(l,o),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||c!=this.$isEmpty||f)&&this._emit("changeSelection")}},e.prototype.$moveSelection=function(t){var r=this.lead;this.$isEmpty&&this.setSelectionAnchor(r.row,r.column),t.call(this)},e.prototype.selectTo=function(t,r){this.$moveSelection(function(){this.moveCursorTo(t,r)})},e.prototype.selectToPosition=function(t){this.$moveSelection(function(){this.moveCursorToPosition(t)})},e.prototype.moveTo=function(t,r){this.clearSelection(),this.moveCursorTo(t,r)},e.prototype.moveToPosition=function(t){this.clearSelection(),this.moveCursorToPosition(t)},e.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},e.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},e.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},e.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},e.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},e.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},e.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},e.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},e.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},e.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},e.prototype.getWordRange=function(t,r){if(typeof r>"u"){var l=t||this.lead;t=l.row,r=l.column}return this.session.getWordRange(t,r)},e.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},e.prototype.selectAWord=function(){var t=this.getCursor(),r=this.session.getAWordRange(t.row,t.column);this.setSelectionRange(r)},e.prototype.getLineRange=function(t,r){var l=typeof t=="number"?t:this.lead.row,o,c=this.session.getFoldLine(l);return c?(l=c.start.row,o=c.end.row):o=l,r===!0?new a(l,0,o,this.session.getLine(o).length):new a(l,0,o+1,0)},e.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},e.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},e.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},e.prototype.wouldMoveIntoSoftTab=function(t,r,l){var o=t.column,c=t.column+r;return l<0&&(o=t.column-r,c=t.column),this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(o,c).split(" ").length-1==r},e.prototype.moveCursorLeft=function(){var t=this.lead.getPosition(),r;if(r=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(r.start.row,r.start.column);else if(t.column===0)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var l=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,l,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-l):this.moveCursorBy(0,-1)}},e.prototype.moveCursorRight=function(){var t=this.lead.getPosition(),r;if(r=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(r.end.row,r.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(r.column=o)}}this.moveCursorTo(r.row,r.column)},e.prototype.moveCursorFileEnd=function(){var t=this.doc.getLength()-1,r=this.doc.getLine(t).length;this.moveCursorTo(t,r)},e.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},e.prototype.moveCursorLongWordRight=function(){var t=this.lead.row,r=this.lead.column,l=this.doc.getLine(t),o=l.substring(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var c=this.session.getFoldAt(t,r,1);if(c){this.moveCursorTo(c.end.row,c.end.column);return}if(this.session.nonTokenRe.exec(o)&&(r+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,o=l.substring(r)),r>=l.length){this.moveCursorTo(t,l.length),this.moveCursorRight(),t0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(c)&&(r-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,r)},e.prototype.$shortWordEndIndex=function(t){var r=0,l,o=/\s/,c=this.session.tokenRe;if(c.lastIndex=0,this.session.tokenRe.exec(t))r=this.session.tokenRe.lastIndex;else{for(;(l=t[r])&&o.test(l);)r++;if(r<1){for(c.lastIndex=0;(l=t[r])&&!c.test(l);)if(c.lastIndex=0,r++,o.test(l))if(r>2){r--;break}else{for(;(l=t[r])&&o.test(l);)r++;if(r>2)break}}}return c.lastIndex=0,r},e.prototype.moveCursorShortWordRight=function(){var t=this.lead.row,r=this.lead.column,l=this.doc.getLine(t),o=l.substring(r),c=this.session.getFoldAt(t,r,1);if(c)return this.moveCursorTo(c.end.row,c.end.column);if(r==l.length){var f=this.doc.getLength();do t++,o=this.doc.getLine(t);while(t0&&/^\s*$/.test(o));r=o.length,/\s+$/.test(o)||(o="")}var c=u.stringReverse(o),f=this.$shortWordEndIndex(c);return this.moveCursorTo(t,r-f)},e.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},e.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},e.prototype.moveCursorBy=function(t,r){var l=this.session.documentToScreenPosition(this.lead.row,this.lead.column),o;if(r===0&&(t!==0&&(this.session.$bidiHandler.isBidiRow(l.row,this.lead.row)?(o=this.session.$bidiHandler.getPosLeft(l.column),l.column=Math.round(o/this.session.$bidiHandler.charWidths[0])):o=l.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?l.column=this.$desiredColumn:this.$desiredColumn=l.column),t!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var c=this.session.lineWidgets[this.lead.row];t<0?t-=c.rowsAbove||0:t>0&&(t+=c.rowCount-(c.rowsAbove||0))}var f=this.session.screenToDocumentPosition(l.row+t,l.column,o);t!==0&&r===0&&f.row===this.lead.row&&(f.column,this.lead.column),this.moveCursorTo(f.row,f.column+r,r===0)},e.prototype.moveCursorToPosition=function(t){this.moveCursorTo(t.row,t.column)},e.prototype.moveCursorTo=function(t,r,l){var o=this.session.getFoldAt(t,r,1);o&&(t=o.start.row,r=o.start.column),this.$keepDesiredColumnOnChange=!0;var c=this.session.getLine(t);/[\uDC00-\uDFFF]/.test(c.charAt(r))&&c.charAt(r-1)&&(this.lead.row==t&&this.lead.column==r+1?r=r-1:r=r+1),this.lead.setPosition(t,r),this.$keepDesiredColumnOnChange=!1,l||(this.$desiredColumn=null)},e.prototype.moveCursorToScreen=function(t,r,l){var o=this.session.screenToDocumentPosition(t,r);this.moveCursorTo(o.row,o.column,l)},e.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},e.prototype.fromOrientedRange=function(t){this.setSelectionRange(t,t.cursor==t.start),this.$desiredColumn=t.desiredColumn||this.$desiredColumn},e.prototype.toOrientedRange=function(t){var r=this.getRange();return t?(t.start.column=r.start.column,t.start.row=r.start.row,t.end.column=r.end.column,t.end.row=r.end.row):t=r,t.cursor=this.isBackwards()?t.start:t.end,t.desiredColumn=this.$desiredColumn,t},e.prototype.getRangeOfMovements=function(t){var r=this.getCursor();try{t(this);var l=this.getCursor();return a.fromPoints(r,l)}catch{return a.fromPoints(r,r)}finally{this.moveCursorToPosition(r)}},e.prototype.toJSON=function(){if(this.rangeCount)var t=this.ranges.map(function(r){var l=r.clone();return l.isBackwards=r.cursor==r.start,l});else{var t=this.getRange();t.isBackwards=this.isBackwards()}return t},e.prototype.fromJSON=function(t){if(t.start==null)if(this.rangeList&&t.length>1){this.toSingleRange(t[0]);for(var r=t.length;r--;){var l=a.fromPoints(t[r].start,t[r].end);t[r].isBackwards&&(l.cursor=l.start),this.addRange(l,!0)}return}else t=t[0];this.rangeList&&this.toSingleRange(t),this.setSelectionRange(t,t.isBackwards)},e.prototype.isEqual=function(t){if((t.length||this.rangeCount)&&t.length!=this.rangeCount)return!1;if(!t.length||!this.ranges)return this.getRange().isEqual(t);for(var r=this.ranges.length;r--;)if(!this.ranges[r].isEqual(t[r]))return!1;return!0},e}();p.prototype.setSelectionAnchor=p.prototype.setAnchor,p.prototype.getSelectionAnchor=p.prototype.getAnchor,p.prototype.setSelectionRange=p.prototype.setRange,s.implement(p.prototype,d),h.Selection=p}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(i,h,v){var s=i("./lib/report_error").reportError,u=2e3,d=function(){function a(p){this.splitRegex,this.states=p,this.regExps={},this.matchMappings={};for(var e in this.states){for(var t=this.states[e],r=[],l=0,o=this.matchMappings[e]={defaultToken:"text"},c="g",f=[],m=0;m1?y.onMatch=this.$applyToken:y.onMatch=y.token),E>1&&(/\\\d/.test(y.regex)?D=y.regex.replace(/\\([0-9]+)/g,function(b,g){return"\\"+(parseInt(g,10)+l+1)}):(E=1,D=this.removeCapturingGroups(y.regex)),!y.splitRegex&&typeof y.token!="string"&&f.push(y)),o[l]=m,l+=E,r.push(D),y.onMatch||(y.onMatch=null)}}r.length||(o[0]=0,r.push("$")),f.forEach(function(b){b.splitRegex=this.createSplitterRegexp(b.regex,c)},this),this.regExps[e]=new RegExp("("+r.join(")|(")+")|($)",c)}}return a.prototype.$setMaxTokenCount=function(p){u=p|0},a.prototype.$applyToken=function(p){var e=this.splitRegex.exec(p).slice(1),t=this.token.apply(this,e);if(typeof t=="string")return[{type:t,value:p}];for(var r=[],l=0,o=t.length;ly){var k=p.substring(y,T-S.length);E.type==b?E.value+=k:(E.type&&m.push(E),E={type:b,value:k})}for(var _=0;_u){for(D>2*p.length&&this.reportError("infinite loop with in ace tokenizer",{startState:e,line:p});y1&&t[0]!==r&&t.unshift("#tmp",r),{tokens:m,state:t.length?t:r}},a}();d.prototype.reportError=s,h.Tokenizer=d}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(i,h,v){var s=i("../lib/deep_copy").deepCopy,u;u=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},function(){this.addRules=function(p,e){if(!e){for(var t in p)this.$rules[t]=p[t];return}for(var t in p){for(var r=p[t],l=0;l=this.$rowTokens.length;){if(this.$row+=1,a||(a=this.$session.getLength()),this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},d.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},d.prototype.getCurrentTokenRow=function(){return this.$row},d.prototype.getCurrentTokenColumn=function(){var a=this.$rowTokens,p=this.$tokenIndex,e=a[p].start;if(e!==void 0)return e;for(e=0;p>0;)p-=1,e+=a[p].value.length;return e},d.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},d.prototype.getCurrentTokenRange=function(){var a=this.$rowTokens[this.$tokenIndex],p=this.getCurrentTokenColumn();return new s(this.$row,p,this.$row,p+a.value.length)},d}();h.TokenIterator=u}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(i,h,v){var s=i("../../lib/oop"),u=i("../behaviour").Behaviour,d=i("../../token_iterator").TokenIterator,a=i("../../lib/lang"),p=["text","paren.rparen","rparen","paren","punctuation.operator"],e=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],t,r={},l={'"':'"',"'":"'"},o=function(m){var y=-1;if(m.multiSelect&&(y=m.selection.index,r.rangeCount!=m.multiSelect.rangeCount&&(r={rangeCount:m.multiSelect.rangeCount})),r[y])return t=r[y];t=r[y]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},c=function(m,y,D,E){var b=m.end.row-m.start.row;return{text:D+y+E,selection:[0,m.start.column+1,b,m.end.column+(b?0:1)]}},f;f=function(m){m=m||{},this.add("braces","insertion",function(y,D,E,b,g){var S=E.getCursorPosition(),T=b.doc.getLine(S.row);if(g=="{"){o(E);var k=E.getSelectionRange(),_=b.doc.getTextRange(k),O=b.getTokenAt(S.row,S.column);if(_!==""&&_!=="{"&&E.getWrapBehavioursEnabled())return c(k,_,"{","}");if(O&&/(?:string)\.quasi|\.xml/.test(O.type)){var $=[/tag\-(?:open|name)/,/attribute\-name/];return $.some(function(R){return R.test(O.type)})||/(string)\.quasi/.test(O.type)&&O.value[S.column-O.start-1]!=="$"?void 0:(f.recordAutoInsert(E,b,"}"),{text:"{}",selection:[1,1]})}else if(f.isSaneInsertion(E,b))return/[\]\}\)]/.test(T[S.column])||E.inMultiSelectMode||m.braces?(f.recordAutoInsert(E,b,"}"),{text:"{}",selection:[1,1]}):(f.recordMaybeInsert(E,b,"{"),{text:"{",selection:[1,1]})}else if(g=="}"){o(E);var A=T.substring(S.column,S.column+1);if(A=="}"){var C=b.$findOpeningBracket("}",{column:S.column+1,row:S.row});if(C!==null&&f.isAutoInsertedClosing(S,T,g))return f.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(g==` +`||g==`\r +`){o(E);var w="";f.isMaybeInsertedClosing(S,T)&&(w=a.stringRepeat("}",t.maybeInsertedBrackets),f.clearMaybeInsertedClosing());var A=T.substring(S.column,S.column+1);if(A==="}"){var x=b.findMatchingBracket({row:S.row,column:S.column+1},"}");if(!x)return null;var I=this.$getIndent(b.getLine(x.row))}else if(w)var I=this.$getIndent(T);else{f.clearMaybeInsertedClosing();return}var F=I+b.getTabString();return{text:` +`+F+` +`+I+w,selection:[1,F.length,1,F.length]}}else f.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(y,D,E,b,g){var S=b.doc.getTextRange(g);if(!g.isMultiLine()&&S=="{"){o(E);var T=b.doc.getLine(g.start.row),k=T.substring(g.end.column,g.end.column+1);if(k=="}")return g.end.column++,g;t.maybeInsertedBrackets--}}),this.add("parens","insertion",function(y,D,E,b,g){if(g=="("){o(E);var S=E.getSelectionRange(),T=b.doc.getTextRange(S);if(T!==""&&E.getWrapBehavioursEnabled())return c(S,T,"(",")");if(f.isSaneInsertion(E,b))return f.recordAutoInsert(E,b,")"),{text:"()",selection:[1,1]}}else if(g==")"){o(E);var k=E.getCursorPosition(),_=b.doc.getLine(k.row),O=_.substring(k.column,k.column+1);if(O==")"){var $=b.$findOpeningBracket(")",{column:k.column+1,row:k.row});if($!==null&&f.isAutoInsertedClosing(k,_,g))return f.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(y,D,E,b,g){var S=b.doc.getTextRange(g);if(!g.isMultiLine()&&S=="("){o(E);var T=b.doc.getLine(g.start.row),k=T.substring(g.start.column+1,g.start.column+2);if(k==")")return g.end.column++,g}}),this.add("brackets","insertion",function(y,D,E,b,g){if(g=="["){o(E);var S=E.getSelectionRange(),T=b.doc.getTextRange(S);if(T!==""&&E.getWrapBehavioursEnabled())return c(S,T,"[","]");if(f.isSaneInsertion(E,b))return f.recordAutoInsert(E,b,"]"),{text:"[]",selection:[1,1]}}else if(g=="]"){o(E);var k=E.getCursorPosition(),_=b.doc.getLine(k.row),O=_.substring(k.column,k.column+1);if(O=="]"){var $=b.$findOpeningBracket("]",{column:k.column+1,row:k.row});if($!==null&&f.isAutoInsertedClosing(k,_,g))return f.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(y,D,E,b,g){var S=b.doc.getTextRange(g);if(!g.isMultiLine()&&S=="["){o(E);var T=b.doc.getLine(g.start.row),k=T.substring(g.start.column+1,g.start.column+2);if(k=="]")return g.end.column++,g}}),this.add("string_dquotes","insertion",function(y,D,E,b,g){var S=b.$mode.$quotes||l;if(g.length==1&&S[g]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(g)!=-1)return;o(E);var T=g,k=E.getSelectionRange(),_=b.doc.getTextRange(k);if(_!==""&&(_.length!=1||!S[_])&&E.getWrapBehavioursEnabled())return c(k,_,T,T);if(!_){var O=E.getCursorPosition(),$=b.doc.getLine(O.row),A=$.substring(O.column-1,O.column),C=$.substring(O.column,O.column+1),w=b.getTokenAt(O.row,O.column),x=b.getTokenAt(O.row,O.column+1);if(A=="\\"&&w&&/escape/.test(w.type))return null;var I=w&&/string|escape/.test(w.type),F=!x||/string|escape/.test(x.type),R;if(C==T)R=I!==F,R&&/string\.end/.test(x.type)&&(R=!1);else{if(I&&!F||I&&F)return null;var B=b.$mode.tokenRe;B.lastIndex=0;var P=B.test(A);B.lastIndex=0;var V=B.test(C),W=b.$mode.$pairQuotesAfter,H=W&&W[T]&&W[T].test(A);if(!H&&P||V||C&&!/[\s;,.})\]\\]/.test(C))return null;var U=$[O.column-2];if(A==T&&(U==T||B.test(U)))return null;R=!0}return{text:R?T+T:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(y,D,E,b,g){var S=b.$mode.$quotes||l,T=b.doc.getTextRange(g);if(!g.isMultiLine()&&S.hasOwnProperty(T)){o(E);var k=b.doc.getLine(g.start.row),_=k.substring(g.start.column+1,g.start.column+2);if(_==T)return g.end.column++,g}}),m.closeDocComment!==!1&&this.add("doc comment end","insertion",function(y,D,E,b,g){if(y==="doc-start"&&(g===` +`||g===`\r +`)&&E.selection.isEmpty()){var S=E.getCursorPosition();if(S.column===0)return;for(var T=b.doc.getLine(S.row),k=b.doc.getLine(S.row+1),_=b.getTokens(S.row),O=0,$=0;$<_.length;$++){O+=_[$].value.length;var A=_[$];if(O>=S.column){if(O===S.column){if(!/\.doc/.test(A.type))return;if(/\*\//.test(A.value)){var C=_[$+1];if(!C||!/\.doc/.test(C.type))return}}var w=S.column-(O-A.value.length),x=A.value.indexOf("*/"),I=A.value.indexOf("/**",x>-1?x+2:0);if(I!==-1&&w>I&&w=x&&w<=I||!/\.doc/.test(A.type))return;break}}var F=this.$getIndent(T);if(/\s*\*/.test(k))return/^\s*\*/.test(T)?{text:g+F+"* ",selection:[1,2+F.length,1,2+F.length]}:{text:g+F+" * ",selection:[1,3+F.length,1,3+F.length]};if(/\/\*\*/.test(T.substring(0,S.column)))return{text:g+F+" * "+g+" "+F+"*/",selection:[1,4+F.length,1,4+F.length]}}})},f.isSaneInsertion=function(m,y){var D=m.getCursorPosition(),E=new d(y,D.row,D.column);if(!this.$matchTokenType(E.getCurrentToken()||"text",p)){if(/[)}\]]/.test(m.session.getLine(D.row)[D.column]))return!0;var b=new d(y,D.row,D.column+1);if(!this.$matchTokenType(b.getCurrentToken()||"text",p))return!1}return E.stepForward(),E.getCurrentTokenRow()!==D.row||this.$matchTokenType(E.getCurrentToken()||"text",e)},f.$matchTokenType=function(m,y){return y.indexOf(m.type||m)>-1},f.recordAutoInsert=function(m,y,D){var E=m.getCursorPosition(),b=y.doc.getLine(E.row);this.isAutoInsertedClosing(E,b,t.autoInsertedLineEnd[0])||(t.autoInsertedBrackets=0),t.autoInsertedRow=E.row,t.autoInsertedLineEnd=D+b.substr(E.column),t.autoInsertedBrackets++},f.recordMaybeInsert=function(m,y,D){var E=m.getCursorPosition(),b=y.doc.getLine(E.row);this.isMaybeInsertedClosing(E,b)||(t.maybeInsertedBrackets=0),t.maybeInsertedRow=E.row,t.maybeInsertedLineStart=b.substr(0,E.column)+D,t.maybeInsertedLineEnd=b.substr(E.column),t.maybeInsertedBrackets++},f.isAutoInsertedClosing=function(m,y,D){return t.autoInsertedBrackets>0&&m.row===t.autoInsertedRow&&D===t.autoInsertedLineEnd[0]&&y.substr(m.column)===t.autoInsertedLineEnd},f.isMaybeInsertedClosing=function(m,y){return t.maybeInsertedBrackets>0&&m.row===t.maybeInsertedRow&&y.substr(m.column)===t.maybeInsertedLineEnd&&y.substr(0,m.column)==t.maybeInsertedLineStart},f.popAutoInsertedClosing=function(){t.autoInsertedLineEnd=t.autoInsertedLineEnd.substr(1),t.autoInsertedBrackets--},f.clearMaybeInsertedClosing=function(){t&&(t.maybeInsertedBrackets=0,t.maybeInsertedRow=-1)},s.inherits(f,u),h.CstyleBehaviour=f}),ace.define("ace/unicode",["require","exports","module"],function(i,h,v){for(var s=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],u=0,d=[],a=0;a2?U%g!=g-1:U%g==0}}else{if(!this.blockComment)return!1;var T=this.blockComment.start,k=this.blockComment.end,_=new RegExp("^(\\s*)(?:"+e.escapeRegExp(T)+")"),O=new RegExp("(?:"+e.escapeRegExp(k)+")\\s*$"),$=function(R,B){C(R,B)||(!D||/\S/.test(R))&&(y.insertInLine({row:B,column:R.length},k),y.insertInLine({row:B,column:b},T))},A=function(R,B){var P;(P=R.match(O))&&y.removeInLine(B,R.length-P[0].length,R.length),(P=R.match(_))&&y.removeInLine(B,P[1].length,P[0].length)},C=function(R,B){if(_.test(R))return!0;for(var P=c.getTokens(B),V=0;VR.length&&(F=R.length)}),b==1/0&&(b=F,D=!1,E=!1),S&&b%g!=0&&(b=Math.floor(b/g)*g),I(E?A:$)},this.toggleBlockComment=function(o,c,f,m){var y=this.blockComment;if(y){!y.start&&y[0]&&(y=y[0]);var D=new t(c,m.row,m.column),E=D.getCurrentToken();c.selection;var b=c.selection.toOrientedRange(),g,S;if(E&&/comment/.test(E.type)){for(var T,k;E&&/comment/.test(E.type);){var _=E.value.indexOf(y.start);if(_!=-1){var O=D.getCurrentTokenRow(),$=D.getCurrentTokenColumn()+_;T=new r(O,$,O,$+y.start.length);break}E=D.stepBackward()}for(var D=new t(c,m.row,m.column),E=D.getCurrentToken();E&&/comment/.test(E.type);){var _=E.value.indexOf(y.end);if(_!=-1){var O=D.getCurrentTokenRow(),$=D.getCurrentTokenColumn()+_;k=new r(O,$,O,$+y.end.length);break}E=D.stepForward()}k&&c.remove(k),T&&(c.remove(T),g=T.start.row,S=-y.start.length)}else S=y.start.length,g=f.start.row,c.insert(f.end,y.end),c.insert(f.start,y.start);b.start.row==g&&(b.start.column+=S),b.end.row==g&&(b.end.column+=S),c.selection.fromOrientedRange(b)}},this.getNextLineIndent=function(o,c,f){return this.$getIndent(c)},this.checkOutdent=function(o,c,f){return!1},this.autoOutdent=function(o,c,f){},this.$getIndent=function(o){return o.match(/^\s*/)[0]},this.createWorker=function(o){return null},this.createModeDelegates=function(o){this.$embeds=[],this.$modes={};for(var c in o)if(o[c]){var f=o[c],m=f.prototype.$id,y=s.$modes[m];y||(s.$modes[m]=y=new f),s.$modes[c]||(s.$modes[c]=y),this.$embeds.push(c),this.$modes[c]=y}for(var D=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],E=function(g){(function(S){var T=D[g],k=S[T];S[D[g]]=function(){return this.$delegator(T,arguments,k)}})(b)},b=this,c=0;cp[e].column&&e++,l.unshift(e,0),p.splice.apply(p,l),this.$updateRows()}}},d.prototype.$updateRows=function(){var a=this.session.lineWidgets;if(a){var p=!0;a.forEach(function(e,t){if(e)for(p=!1,e.row=t;e.$oldWidget;)e.$oldWidget.row=t,e=e.$oldWidget}),p&&(this.session.lineWidgets=null)}},d.prototype.$registerLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var p=this.session.lineWidgets[a.row];return p&&(a.$oldWidget=p,p.el&&p.el.parentNode&&(p.el.parentNode.removeChild(p.el),p._inDocument=!1)),this.session.lineWidgets[a.row]=a,a},d.prototype.addLineWidget=function(a){if(this.$registerLineWidget(a),a.session=this.session,!this.editor)return a;var p=this.editor.renderer;a.html&&!a.el&&(a.el=s.createElement("div"),a.el.innerHTML=a.html),a.text&&!a.el&&(a.el=s.createElement("div"),a.el.textContent=a.text),a.el&&(s.addCssClass(a.el,"ace_lineWidgetContainer"),a.className&&s.addCssClass(a.el,a.className),a.el.style.position="absolute",a.el.style.zIndex="5",p.container.appendChild(a.el),a._inDocument=!0,a.coverGutter||(a.el.style.zIndex="3"),a.pixelHeight==null&&(a.pixelHeight=a.el.offsetHeight)),a.rowCount==null&&(a.rowCount=a.pixelHeight/p.layerConfig.lineHeight);var e=this.session.getFoldAt(a.row,0);if(a.$fold=e,e){var t=this.session.lineWidgets;a.row==e.end.row&&!t[e.start.row]?t[e.start.row]=a:a.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,p),this.onWidgetChanged(a),a},d.prototype.removeLineWidget=function(a){if(a._inDocument=!1,a.session=null,a.el&&a.el.parentNode&&a.el.parentNode.removeChild(a.el),a.editor&&a.editor.destroy)try{a.editor.destroy()}catch{}if(this.session.lineWidgets){var p=this.session.lineWidgets[a.row];if(p==a)this.session.lineWidgets[a.row]=a.$oldWidget,a.$oldWidget&&this.onWidgetChanged(a.$oldWidget);else for(;p;){if(p.$oldWidget==a){p.$oldWidget=a.$oldWidget;break}p=p.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},d.prototype.getWidgetsAtRow=function(a){for(var p=this.session.lineWidgets,e=p&&p[a],t=[];e;)t.push(e),e=e.$oldWidget;return t},d.prototype.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},d.prototype.measureWidgets=function(a,p){var e=this.session._changedWidgets,t=p.layerConfig;if(!(!e||!e.length)){for(var r=1/0,l=0;l0&&!t[r];)r--;this.firstRow=e.firstRow,this.lastRow=e.lastRow,p.$cursorLayer.config=e;for(var o=r;o<=l;o++){var c=t[o];if(!(!c||!c.el)){if(c.hidden){c.el.style.top=-100-(c.pixelHeight||0)+"px";continue}c._inDocument||(c._inDocument=!0,p.container.appendChild(c.el));var f=p.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;c.coverLine||(f+=e.lineHeight*this.session.getRowLineCount(c.row)),c.el.style.top=f-e.offset+"px";var m=c.coverGutter?0:p.gutterWidth;c.fixedWidth||(m-=p.scrollLeft),c.el.style.left=m+"px",c.fullWidth&&c.screenWidth&&(c.el.style.minWidth=e.width+2*e.padding+"px"),c.fixedWidth?c.el.style.right=p.scrollBar.getWidth()+"px":c.el.style.right=""}}}},d}();h.LineWidgets=u}),ace.define("ace/apply_delta",["require","exports","module"],function(i,h,v){h.applyDelta=function(s,u,d){var a=u.start.row,p=u.start.column,e=s[a]||"";switch(u.action){case"insert":var t=u.lines;if(t.length===1)s[a]=e.substring(0,p)+u.lines[0]+e.substring(p);else{var r=[a,1].concat(u.lines);s.splice.apply(s,r),s[a]=e.substring(0,p)+s[a],s[a+u.lines.length-1]+=e.substring(p)}break;case"remove":var l=u.end.column,o=u.end.row;a===o?s[a]=e.substring(0,p)+e.substring(l):s.splice(a,o-a+1,e.substring(0,p)+s[o].substring(l));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(i,h,v){var s=i("./lib/oop"),u=i("./lib/event_emitter").EventEmitter,d=function(){function e(t,r,l){this.$onChange=this.onChange.bind(this),this.attach(t),typeof r!="number"?this.setPosition(r.row,r.column):this.setPosition(r,l)}return e.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},e.prototype.getDocument=function(){return this.document},e.prototype.onChange=function(t){if(!(t.start.row==t.end.row&&t.start.row!=this.row)&&!(t.start.row>this.row)){var r=p(t,{row:this.row,column:this.column},this.$insertRight);this.setPosition(r.row,r.column,!0)}},e.prototype.setPosition=function(t,r,l){var o;if(l?o={row:t,column:r}:o=this.$clipPositionToDocument(t,r),!(this.row==o.row&&this.column==o.column)){var c={row:this.row,column:this.column};this.row=o.row,this.column=o.column,this._signal("change",{old:c,value:o})}},e.prototype.detach=function(){this.document.off("change",this.$onChange)},e.prototype.attach=function(t){this.document=t||this.document,this.document.on("change",this.$onChange)},e.prototype.$clipPositionToDocument=function(t,r){var l={};return t>=this.document.getLength()?(l.row=Math.max(0,this.document.getLength()-1),l.column=this.document.getLine(l.row).length):t<0?(l.row=0,l.column=0):(l.row=t,l.column=Math.min(this.document.getLine(l.row).length,Math.max(0,r))),r<0&&(l.column=0),l},e}();d.prototype.$insertRight=!1,s.implement(d.prototype,u);function a(e,t,r){var l=r?e.column<=t.column:e.column=o&&(r=o-1,l=void 0);var c=this.getLine(r);return l==null&&(l=c.length),l=Math.min(Math.max(l,0),c.length),{row:r,column:l}},t.prototype.clonePos=function(r){return{row:r.row,column:r.column}},t.prototype.pos=function(r,l){return{row:r,column:l}},t.prototype.$clipPosition=function(r){var l=this.getLength();return r.row>=l?(r.row=Math.max(0,l-1),r.column=this.getLine(l-1).length):(r.row=Math.max(0,r.row),r.column=Math.min(Math.max(r.column,0),this.getLine(r.row).length)),r},t.prototype.insertFullLines=function(r,l){r=Math.min(Math.max(r,0),this.getLength());var o=0;r0,c=l=0&&this.applyDelta({start:this.pos(r,this.getLine(r).length),end:this.pos(r+1,0),action:"remove",lines:["",""]})},t.prototype.replace=function(r,l){if(r instanceof a||(r=a.fromPoints(r.start,r.end)),l.length===0&&r.isEmpty())return r.start;if(l==this.getTextRange(r))return r.end;this.remove(r);var o;return l?o=this.insert(r.start,l):o=r.start,o},t.prototype.applyDeltas=function(r){for(var l=0;l=0;l--)this.revertDelta(r[l])},t.prototype.applyDelta=function(r,l){var o=r.action=="insert";(o?r.lines.length<=1&&!r.lines[0]:!a.comparePoints(r.start,r.end))||(o&&r.lines.length>2e4?this.$splitAndapplyLargeDelta(r,2e4):(u(this.$lines,r,l),this._signal("change",r)))},t.prototype.$safeApplyDelta=function(r){var l=this.$lines.length;(r.action=="remove"&&r.start.row20){t.running=setTimeout(t.$worker,20);break}}t.currentLine=l,o==-1&&(o=l),f<=o&&t.fireUpdateEvent(f,o)}}}return a.prototype.setTokenizer=function(p){this.tokenizer=p,this.lines=[],this.states=[],this.start(0)},a.prototype.setDocument=function(p){this.doc=p,this.lines=[],this.states=[],this.stop()},a.prototype.fireUpdateEvent=function(p,e){var t={first:p,last:e};this._signal("update",{data:t})},a.prototype.start=function(p){this.currentLine=Math.min(p||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},a.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},a.prototype.$updateOnChange=function(p){var e=p.start.row,t=p.end.row-e;if(t===0)this.lines[e]=null;else if(p.action=="remove")this.lines.splice(e,t+1,null),this.states.splice(e,t+1,null);else{var r=Array(t+1);r.unshift(e,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(e,this.currentLine,this.doc.getLength()),this.stop()},a.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},a.prototype.getTokens=function(p){return this.lines[p]||this.$tokenizeRow(p)},a.prototype.getState=function(p){return this.currentLine==p&&this.$tokenizeRow(p),this.states[p]||"start"},a.prototype.$tokenizeRow=function(p){var e=this.doc.getLine(p),t=this.states[p-1],r=this.tokenizer.getLineTokens(e,t,p);return this.states[p]+""!=r.state+""?(this.states[p]=r.state,this.lines[p+1]=null,this.currentLine>p+1&&(this.currentLine=p+1)):this.currentLine==p&&(this.currentLine=p+1),this.lines[p]=r.tokens},a.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},a}();s.implement(d.prototype,u),h.BackgroundTokenizer=d}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(i,h,v){var s=i("./lib/lang"),u=i("./range").Range,d=function(){function a(p,e,t){t===void 0&&(t="text"),this.setRegexp(p),this.clazz=e,this.type=t,this.docLen=0}return a.prototype.setRegexp=function(p){this.regExp+""!=p+""&&(this.regExp=p,this.cache=[])},a.prototype.update=function(p,e,t,r){if(this.regExp){for(var l=r.firstRow,o=r.lastRow,c={},f=t.$editor&&t.$editor.$search,m=f&&f.$isMultilineSearch(t.$editor.getLastSearchOptions()),y=l;y<=o;y++){var D=this.cache[y];if(D==null||t.getValue().length!=this.docLen){if(m){D=[];var E=f.$multiLineForward(t,this.regExp,y,o);if(E){var b=E.endRow<=o?E.endRow-1:o;b>y&&(y=b),D.push(new u(E.startRow,E.startCol,E.endRow,E.endCol))}D.length>this.MAX_RANGES&&(D=D.slice(0,this.MAX_RANGES))}else D=s.getMatchOffsets(t.getLine(y),this.regExp),D.length>this.MAX_RANGES&&(D=D.slice(0,this.MAX_RANGES)),D=D.map(function(k){return new u(y,k.offset,y,k.offset+k.length)});this.cache[y]=D.length?D:""}if(D.length!==0)for(var g=D.length;g--;){var S=D[g].toScreenRange(t),T=S.toString();c[T]||(c[T]=!0,e.drawSingleLineMarker(p,S,this.clazz,r))}}this.docLen=t.getValue().length}},a}();d.prototype.MAX_RANGES=500,h.SearchHighlight=d}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(i,h,v){var s=function(){function b(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return b.prototype.addSession=function(g){this.$session=g},b.prototype.add=function(g,S,T){if(!this.$fromUndo&&g!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),S===!1||!this.lastDeltas){this.lastDeltas=[];var k=this.$undoStack.length;k>this.$undoDepth-1&&this.$undoStack.splice(0,k-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),g.id=this.$rev=++this.$maxRev}(g.action=="remove"||g.action=="insert")&&(this.$lastDelta=g),this.lastDeltas.push(g)}},b.prototype.addSelection=function(g,S){this.selections.push({value:g,rev:S||this.$rev})},b.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},b.prototype.markIgnored=function(g,S){S==null&&(S=this.$rev+1);for(var T=this.$undoStack,k=T.length;k--;){var _=T[k][0];if(_.id<=g)break;_.id0},b.prototype.canRedo=function(){return this.$redoStack.length>0},b.prototype.bookmark=function(g){g==null&&(g=this.$rev),this.mark=g},b.prototype.isAtBookmark=function(){return this.$rev===this.mark},b.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},b.prototype.fromJSON=function(g){this.reset(),this.$undoStack=g.$undoStack,this.$redoStack=g.$redoStack},b.prototype.$prettyPrint=function(g){return g?t(g):t(this.$undoStack)+` +--- +`+t(this.$redoStack)},b}();s.prototype.hasUndo=s.prototype.canUndo,s.prototype.hasRedo=s.prototype.canRedo,s.prototype.isClean=s.prototype.isAtBookmark,s.prototype.markClean=s.prototype.bookmark;function u(b,g){for(var S=g;S--;){var T=b[S];if(T&&!T[0].ignore){for(;S"+b.end.row+":"+b.end.column}function l(b,g){var S=b.action=="insert",T=g.action=="insert";if(S&&T)if(a(g.start,b.end)>=0)f(g,b,-1);else if(a(g.start,b.start)<=0)f(b,g,1);else return null;else if(S&&!T)if(a(g.start,b.end)>=0)f(g,b,-1);else if(a(g.end,b.start)<=0)f(b,g,-1);else return null;else if(!S&&T)if(a(g.start,b.start)>=0)f(g,b,1);else if(a(g.start,b.start)<=0)f(b,g,1);else return null;else if(!S&&!T)if(a(g.start,b.start)>=0)f(g,b,1);else if(a(g.end,b.start)<=0)f(b,g,-1);else return null;return[g,b]}function o(b,g){for(var S=b.length;S--;)for(var T=0;T=0?f(b,g,-1):(a(b.start,g.start)<=0||f(b,d.fromPoints(g.start,b.start),-1),f(g,b,1));else if(!S&&T)a(g.start,b.end)>=0?f(g,b,-1):(a(g.start,b.start)<=0||f(g,d.fromPoints(b.start,g.start),-1),f(b,g,1));else if(!S&&!T)if(a(g.start,b.end)>=0)f(g,b,-1);else if(a(g.end,b.start)<=0)f(b,g,-1);else{var k,_;return a(b.start,g.start)<0&&(k=b,b=y(b,g.start)),a(b.end,g.end)>0&&(_=y(b,g.end)),m(g.end,b.start,b.end,-1),_&&!k&&(b.lines=_.lines,b.start=_.start,b.end=_.end,_=b),[g,k,_].filter(Boolean)}return[g,b]}function f(b,g,S){m(b.start,g.start,g.end,S),m(b.end,g.start,g.end,S)}function m(b,g,S,T){b.row==(T==1?g:S).row&&(b.column+=T*(S.column-g.column)),b.row+=T*(S.row-g.row)}function y(b,g){var S=b.lines,T=b.end;b.end=p(g);var k=b.end.row-b.start.row,_=S.splice(k,S.length),O=k?g.column:g.column-b.start.column;S.push(_[0].substring(0,O)),_[0]=_[0].substr(O);var $={start:p(g),end:T,lines:_,action:b.action};return $}function D(b,g){g=e(g);for(var S=b.length;S--;){for(var T=b[S],k=0;kthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(a),this.folds.sort(function(p,e){return-p.range.compareEnd(e.start.row,e.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column)}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else if(a.end.row==this.start.row)this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");a.foldLine=this},d.prototype.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},d.prototype.walk=function(a,p,e){var t=0,r=this.folds,l,o,c,f=!0;p==null&&(p=this.end.row,e=this.end.column);for(var m=0;m0)){var f=u(p,o.start);return c===0?e&&f!==0?-l-2:l:f>0||f===0&&!e?l:-l-1}}return-l-1},a.prototype.add=function(p){var e=!p.isEmpty(),t=this.pointIndex(p.start,e);t<0&&(t=-t-1);var r=this.pointIndex(p.end,e,t);return r<0?r=-r-1:r++,this.ranges.splice(t,r-t,p)},a.prototype.addList=function(p){for(var e=[],t=p.length;t--;)e.push.apply(e,this.add(p[t]));return e},a.prototype.substractPoint=function(p){var e=this.pointIndex(p);if(e>=0)return this.ranges.splice(e,1)},a.prototype.merge=function(){var p=[],e=this.ranges;e=e.sort(function(c,f){return u(c.start,f.start)});for(var t=e[0],r,l=1;l=0},a.prototype.containsPoint=function(p){return this.pointIndex(p)>=0},a.prototype.rangeAtPoint=function(p){var e=this.pointIndex(p);if(e>=0)return this.ranges[e]},a.prototype.clipRows=function(p,e){var t=this.ranges;if(t[0].start.row>e||t[t.length-1].start.row=r)break}if(p.action=="insert")for(var y=l-r,D=-e.column+t.column;cr)break;if(m.start.row==r&&m.start.column>=e.column&&(m.start.column==e.column&&this.$bias<=0||(m.start.column+=D,m.start.row+=y)),m.end.row==r&&m.end.column>=e.column){if(m.end.column==e.column&&this.$bias<0)continue;m.end.column==e.column&&D>0&&cm.start.column&&m.end.column==o[c+1].start.column&&(m.end.column-=D),m.end.column+=D,m.end.row+=y}}else for(var y=r-l,D=e.column-t.column;cl)break;m.end.rowe.column)&&(m.end.column=e.column,m.end.row=e.row):(m.end.column+=D,m.end.row+=y):m.end.row>l&&(m.end.row+=y),m.start.rowe.column)&&(m.start.column=e.column,m.start.row=e.row):(m.start.column+=D,m.start.row+=y):m.start.row>l&&(m.start.row+=y)}if(y!=0&&c=t)return c;if(c.end.row>t)return null}return null},this.getNextFoldLine=function(t,r){var l=this.$foldData,o=0;for(r&&(o=l.indexOf(r)),o==-1&&(o=0),o;o=t)return c}return null},this.getFoldedRowCount=function(t,r){for(var l=this.$foldData,o=r-t+1,c=0;c=r){y=t?o-=r-y:o=0);break}else m>=t&&(y>=t?o-=m-y:o-=m-t+1)}return o},this.$addFoldLine=function(t){return this.$foldData.push(t),this.$foldData.sort(function(r,l){return r.start.row-l.start.row}),t},this.addFold=function(t,r){var l=this.$foldData,o=!1,c;t instanceof d?c=t:(c=new d(r,t),c.collapseChildren=r.collapseChildren),this.$clipRangeToDocument(c.range);var f=c.start.row,m=c.start.column,y=c.end.row,D=c.end.column,E=this.getFoldAt(f,m,1),b=this.getFoldAt(y,D,-1);if(E&&b==E)return E.addSubFold(c);E&&!E.range.isStart(f,m)&&this.removeFold(E),b&&!b.range.isEnd(y,D)&&this.removeFold(b);var g=this.getFoldsInRange(c.range);g.length>0&&(this.removeFolds(g),c.collapseChildren||g.forEach(function(_){c.addSubFold(_)}));for(var S=0;S0&&this.foldAll(t.start.row+1,t.end.row,t.collapseChildren-1),t.subFolds=[]},this.expandFolds=function(t){t.forEach(function(r){this.expandFold(r)},this)},this.unfold=function(t,r){var l,o;if(t==null)l=new s(0,0,this.getLength(),0),r==null&&(r=!0);else if(typeof t=="number")l=new s(t,0,t,this.getLine(t).length);else if("row"in t)l=s.fromPoints(t,t);else{if(Array.isArray(t))return o=[],t.forEach(function(f){o=o.concat(this.unfold(f))},this),o;l=t}o=this.getFoldsInRangeList(l);for(var c=o;o.length==1&&s.comparePoints(o[0].start,l.start)<0&&s.comparePoints(o[0].end,l.end)>0;)this.expandFolds(o),o=this.getFoldsInRangeList(l);if(r!=!1?this.removeFolds(o):this.expandFolds(o),c.length)return c},this.isRowFolded=function(t,r){return!!this.getFoldLine(t,r)},this.getRowFoldEnd=function(t,r){var l=this.getFoldLine(t,r);return l?l.end.row:t},this.getRowFoldStart=function(t,r){var l=this.getFoldLine(t,r);return l?l.start.row:t},this.getFoldDisplayLine=function(t,r,l,o,c){o==null&&(o=t.start.row),c==null&&(c=0),r==null&&(r=t.end.row),l==null&&(l=this.getLine(r).length);var f=this.doc,m="";return t.walk(function(y,D,E,b){if(!(DE)break;while(c&&m.test(c.type));c=o.stepBackward()}else c=o.getCurrentToken();return y.end.row=o.getCurrentTokenRow(),y.end.column=o.getCurrentTokenColumn(),y.start.row==y.end.row&&y.start.column>y.end.column?void 0:y}},this.foldAll=function(t,r,l,o){l==null&&(l=1e5);var c=this.foldWidgets;if(c){r=r||this.getLength(),t=t||0;for(var f=t;f=t&&(f=m.end.row,m.collapseChildren=l,this.addFold("...",m))}}},this.foldToLevel=function(t){for(this.foldAll();t-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var t=this;this.foldAll(null,null,null,function(r){for(var l=t.getTokens(r),o=0;o=0;){var f=l[o];if(f==null&&(f=l[o]=this.getFoldWidget(o)),f=="start"){var m=this.getFoldWidgetRange(o);if(c||(c=m),m&&m.end.row>=t)break}o--}return{range:o!==-1&&m,firstRange:c}},this.onFoldWidgetClick=function(t,r){r instanceof p&&(r=r.domEvent);var l={children:r.shiftKey,all:r.ctrlKey||r.metaKey,siblings:r.altKey},o=this.$toggleFoldWidget(t,l);if(!o){var c=r.target||r.srcElement;c&&/ace_fold-widget/.test(c.className)&&(c.className+=" ace_invalid")}},this.$toggleFoldWidget=function(t,r){if(this.getFoldWidget){var l=this.getFoldWidget(t),o=this.getLine(t),c=l==="end"?-1:1,f=this.getFoldAt(t,c===-1?0:o.length,c);if(f)return r.children||r.all?this.removeFold(f):this.expandFold(f),f;var m=this.getFoldWidgetRange(t,!0);if(m&&!m.isMultiLine()&&(f=this.getFoldAt(m.start.row,m.start.column,1),f&&m.isEqual(f.range)))return this.removeFold(f),f;if(r.siblings){var y=this.getParentFoldRangeData(t);if(y.range)var D=y.range.start.row+1,E=y.range.end.row;this.foldAll(D,E,r.all?1e4:0)}else r.children?(E=m?m.end.row:this.getLength(),this.foldAll(t+1,E,r.all?1e4:0)):m&&(r.all&&(m.collapseChildren=1e4),this.addFold("...",m));return m}},this.toggleFoldWidget=function(t){var r=this.selection.getCursor().row;r=this.getRowFoldStart(r);var l=this.$toggleFoldWidget(r,{});if(!l){var o=this.getParentFoldRangeData(r,!0);if(l=o.range||o.firstRange,l){r=l.start.row;var c=this.getFoldAt(r,this.getLine(r).length,1);c?this.removeFold(c):this.addFold("...",l)}}},this.updateFoldWidgets=function(t){var r=t.start.row,l=t.end.row-r;if(l===0)this.foldWidgets[r]=null;else if(t.action=="remove")this.foldWidgets.splice(r,l+1,null);else{var o=Array(l+1);o.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,o)}},this.tokenizerUpdateFoldWidgets=function(t){var r=t.data;r.first!=r.last&&this.foldWidgets.length>r.first&&this.foldWidgets.splice(r.first,this.foldWidgets.length)}}h.Folding=e}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(i,h,v){var s=i("../token_iterator").TokenIterator,u=i("../range").Range;function d(){this.findMatchingBracket=function(a,p){if(a.column==0)return null;var e=p||this.getLine(a.row).charAt(a.column-1);if(e=="")return null;var t=e.match(/([\(\[\{])|([\)\]\}])/);return t?t[1]?this.$findClosingBracket(t[1],a):this.$findOpeningBracket(t[2],a):null},this.getBracketRange=function(a){var p=this.getLine(a.row),e=!0,t,r=p.charAt(a.column-1),l=r&&r.match(/([\(\[\{])|([\)\]\}])/);if(l||(r=p.charAt(a.column),a={row:a.row,column:a.column+1},l=r&&r.match(/([\(\[\{])|([\)\]\}])/),e=!1),!l)return null;if(l[1]){var o=this.$findClosingBracket(l[1],a);if(!o)return null;t=u.fromPoints(a,o),e||(t.end.column++,t.start.column--),t.cursor=t.end}else{var o=this.$findOpeningBracket(l[2],a);if(!o)return null;t=u.fromPoints(o,a),e||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.getMatchingBracketRanges=function(a,p){var e=this.getLine(a.row),t=/([\(\[\{])|([\)\]\}])/,r=!p&&e.charAt(a.column-1),l=r&&r.match(t);if(l||(r=(p===void 0||p)&&e.charAt(a.column),a={row:a.row,column:a.column+1},l=r&&r.match(t)),!l)return null;var o=new u(a.row,a.column-1,a.row,a.column),c=l[1]?this.$findClosingBracket(l[1],a):this.$findOpeningBracket(l[2],a);if(!c)return[o];var f=new u(c.row,c.column,c.row,c.column+1);return[o,f]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(a,p,e){var t=this.$brackets[a],r=1,l=new s(this,p.row,p.column),o=l.getCurrentToken();if(o||(o=l.stepForward()),!!o){e||(e=new RegExp("(\\.?"+o.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var c=p.column-l.getCurrentTokenColumn()-2,f=o.value;;){for(;c>=0;){var m=f.charAt(c);if(m==t){if(r-=1,r==0)return{row:l.getCurrentTokenRow(),column:c+l.getCurrentTokenColumn()}}else m==a&&(r+=1);c-=1}do o=l.stepBackward();while(o&&!e.test(o.type));if(o==null)break;f=o.value,c=f.length-1}return null}},this.$findClosingBracket=function(a,p,e){var t=this.$brackets[a],r=1,l=new s(this,p.row,p.column),o=l.getCurrentToken();if(o||(o=l.stepForward()),!!o){e||(e=new RegExp("(\\.?"+o.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var c=p.column-l.getCurrentTokenColumn();;){for(var f=o.value,m=f.length;c"?t=!0:p.type.indexOf("tag-name")!==-1&&(e=!0));while(p&&!e);return p},this.$findClosingTag=function(a,p){var e,t=p.value,r=p.value,l=0,o=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);p=a.stepForward();var c=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+p.value.length),f=!1;do{if(e=p,e.type.indexOf("tag-close")!==-1&&!f){var m=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);f=!0}if(p=a.stepForward(),p){if(p.value===">"&&!f){var m=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);f=!0}if(p.type.indexOf("tag-name")!==-1){if(t=p.value,r===t){if(e.value==="<")l++;else if(e.value==="")var E=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);else return}}}else if(r===t&&p.value==="/>"&&(l--,l<0))var y=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+2),D=y,E=D,m=new u(c.end.row,c.end.column,c.end.row,c.end.column+1)}}while(p&&l>=0);if(o&&m&&y&&E&&c&&D)return{openTag:new u(o.start.row,o.start.column,m.end.row,m.end.column),closeTag:new u(y.start.row,y.start.column,E.end.row,E.end.column),openTagName:c,closeTagName:D}},this.$findOpeningTag=function(a,p){var e=a.getCurrentToken(),t=p.value,r=0,l=a.getCurrentTokenRow(),o=a.getCurrentTokenColumn(),c=o+2,f=new u(l,o,l,c);a.stepForward();var m=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+p.value.length);if(p.type.indexOf("tag-close")===-1&&(p=a.stepForward()),!(!p||p.value!==">")){var y=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);a.stepBackward(),a.stepBackward();do if(p=e,l=a.getCurrentTokenRow(),o=a.getCurrentTokenColumn(),c=o+p.value.length,e=a.stepBackward(),p){if(p.type.indexOf("tag-name")!==-1){if(t===p.value)if(e.value==="<"){if(r++,r>0){var D=new u(l,o,l,c),E=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1);do p=a.stepForward();while(p&&p.value!==">");var b=new u(a.getCurrentTokenRow(),a.getCurrentTokenColumn(),a.getCurrentTokenRow(),a.getCurrentTokenColumn()+1)}}else e.value===""){for(var g=0,S=e;S;){if(S.type.indexOf("tag-name")!==-1&&S.value===t){r--;break}else if(S.value==="<")break;S=a.stepBackward(),g++}for(var T=0;Tw&&(this.$docRowCache.splice(w,C),this.$screenRowCache.splice(w,C))},$.prototype.$getRowCacheIndex=function(A,C){for(var w=0,x=A.length-1;w<=x;){var I=w+x>>1,F=A[I];if(C>F)w=I+1;else if(C=C));F++);return x=w[F],x?(x.index=F,x.start=I-x.value.length,x):null},$.prototype.setUndoManager=function(A){if(this.$undoManager=A,this.$informUndoManager&&this.$informUndoManager.cancel(),A){var C=this;A.addSession(this),this.$syncInformUndoManager=function(){C.$informUndoManager.cancel(),C.mergeUndoDeltas=!1},this.$informUndoManager=u.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},$.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},$.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},$.prototype.getTabString=function(){return this.getUseSoftTabs()?u.stringRepeat(" ",this.getTabSize()):" "},$.prototype.setUseSoftTabs=function(A){this.setOption("useSoftTabs",A)},$.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},$.prototype.setTabSize=function(A){this.setOption("tabSize",A)},$.prototype.getTabSize=function(){return this.$tabSize},$.prototype.isTabStop=function(A){return this.$useSoftTabs&&A.column%this.$tabSize===0},$.prototype.setNavigateWithinSoftTabs=function(A){this.setOption("navigateWithinSoftTabs",A)},$.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},$.prototype.setOverwrite=function(A){this.setOption("overwrite",A)},$.prototype.getOverwrite=function(){return this.$overwrite},$.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},$.prototype.addGutterDecoration=function(A,C){this.$decorations[A]||(this.$decorations[A]=""),this.$decorations[A]+=" "+C,this._signal("changeBreakpoint",{})},$.prototype.removeGutterCustomWidget=function(A){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(A)},$.prototype.addGutterCustomWidget=function(A,C){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(A,C)},$.prototype.removeGutterDecoration=function(A,C){this.$decorations[A]=(this.$decorations[A]||"").replace(" "+C,""),this._signal("changeBreakpoint",{})},$.prototype.getBreakpoints=function(){return this.$breakpoints},$.prototype.setBreakpoints=function(A){this.$breakpoints=[];for(var C=0;C0&&(x=!!w.charAt(C-1).match(this.tokenRe)),x||(x=!!w.charAt(C).match(this.tokenRe)),x)var I=this.tokenRe;else if(/^\s+$/.test(w.slice(C-1,C+1)))var I=/\s/;else var I=this.nonTokenRe;var F=C;if(F>0){do F--;while(F>=0&&w.charAt(F).match(I));F++}for(var R=C;RA&&(A=C.screenWidth)}),this.lineWidgetWidth=A},$.prototype.$computeWidth=function(A){if(this.$modified||A){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var C=this.doc.getAllLines(),w=this.$rowLengthCache,x=0,I=0,F=this.$foldData[I],R=F?F.start.row:1/0,B=C.length,P=0;PR){if(P=F.end.row+1,P>=B)break;F=this.$foldData[I++],R=F?F.start.row:1/0}w[P]==null&&(w[P]=this.$getStringScreenWidth(C[P])[0]),w[P]>x&&(x=w[P])}this.screenWidth=x}},$.prototype.getLine=function(A){return this.doc.getLine(A)},$.prototype.getLines=function(A,C){return this.doc.getLines(A,C)},$.prototype.getLength=function(){return this.doc.getLength()},$.prototype.getTextRange=function(A){return this.doc.getTextRange(A||this.selection.getRange())},$.prototype.insert=function(A,C){return this.doc.insert(A,C)},$.prototype.remove=function(A){return this.doc.remove(A)},$.prototype.removeFullLines=function(A,C){return this.doc.removeFullLines(A,C)},$.prototype.undoChanges=function(A,C){if(A.length){this.$fromUndo=!0;for(var w=A.length-1;w!=-1;w--){var x=A[w];x.action=="insert"||x.action=="remove"?this.doc.revertDelta(x):x.folds&&this.addFolds(x.folds)}!C&&this.$undoSelect&&(A.selectionBefore?this.selection.fromJSON(A.selectionBefore):this.selection.setRange(this.$getUndoSelection(A,!0))),this.$fromUndo=!1}},$.prototype.redoChanges=function(A,C){if(A.length){this.$fromUndo=!0;for(var w=0;wA.end.column&&(F.start.column+=B),F.end.row==A.end.row&&F.end.column>A.end.column&&(F.end.column+=B)),R&&F.start.row>=A.end.row&&(F.start.row+=R,F.end.row+=R)}if(F.end=this.insert(F.start,x),I.length){var P=A.start,V=F.start,R=V.row-P.row,B=V.column-P.column;this.addFolds(I.map(function(U){return U=U.clone(),U.start.row==P.row&&(U.start.column+=B),U.end.row==P.row&&(U.end.column+=B),U.start.row+=R,U.end.row+=R,U}))}return F},$.prototype.indentRows=function(A,C,w){w=w.replace(/\t/g,this.getTabString());for(var x=A;x<=C;x++)this.doc.insertInLine({row:x,column:0},w)},$.prototype.outdentRows=function(A){for(var C=A.collapseRows(),w=new r(0,0,0,0),x=this.getTabSize(),I=C.start.row;I<=C.end.row;++I){var F=this.getLine(I);w.start.row=I,w.end.row=I;for(var R=0;R0){var x=this.getRowFoldEnd(C+w);if(x>this.doc.getLength()-1)return 0;var I=x-C}else{A=this.$clipRowToDocument(A),C=this.$clipRowToDocument(C);var I=C-A+1}var F=new r(A,0,C,Number.MAX_VALUE),R=this.getFoldsInRange(F).map(function(P){return P=P.clone(),P.start.row+=I,P.end.row+=I,P}),B=w==0?this.doc.getLines(A,C):this.doc.removeFullLines(A,C);return this.doc.insertFullLines(A+I,B),R.length&&this.addFolds(R),I},$.prototype.moveLinesUp=function(A,C){return this.$moveLines(A,C,-1)},$.prototype.moveLinesDown=function(A,C){return this.$moveLines(A,C,1)},$.prototype.duplicateLines=function(A,C){return this.$moveLines(A,C,0)},$.prototype.$clipRowToDocument=function(A){return Math.max(0,Math.min(A,this.doc.getLength()-1))},$.prototype.$clipColumnToRow=function(A,C){return C<0?0:Math.min(this.doc.getLine(A).length,C)},$.prototype.$clipPositionToDocument=function(A,C){if(C=Math.max(0,C),A<0)A=0,C=0;else{var w=this.doc.getLength();A>=w?(A=w-1,C=this.doc.getLine(w-1).length):C=Math.min(this.doc.getLine(A).length,C)}return{row:A,column:C}},$.prototype.$clipRangeToDocument=function(A){A.start.row<0?(A.start.row=0,A.start.column=0):A.start.column=this.$clipColumnToRow(A.start.row,A.start.column);var C=this.doc.getLength()-1;return A.end.row>C?(A.end.row=C,A.end.column=this.doc.getLine(C).length):A.end.column=this.$clipColumnToRow(A.end.row,A.end.column),A},$.prototype.setUseWrapMode=function(A){if(A!=this.$useWrapMode){if(this.$useWrapMode=A,this.$modified=!0,this.$resetRowCache(0),A){var C=this.getLength();this.$wrapData=Array(C),this.$updateWrapData(0,C-1)}this._signal("changeWrapMode")}},$.prototype.getUseWrapMode=function(){return this.$useWrapMode},$.prototype.setWrapLimitRange=function(A,C){(this.$wrapLimitRange.min!==A||this.$wrapLimitRange.max!==C)&&(this.$wrapLimitRange={min:A,max:C},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},$.prototype.adjustWrapLimit=function(A,C){var w=this.$wrapLimitRange;w.max<0&&(w={min:C,max:C});var x=this.$constrainWrapLimit(A,w.min,w.max);return x!=this.$wrapLimit&&x>1?(this.$wrapLimit=x,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},$.prototype.$constrainWrapLimit=function(A,C,w){return C&&(A=Math.max(C,A)),w&&(A=Math.min(w,A)),A},$.prototype.getWrapLimit=function(){return this.$wrapLimit},$.prototype.setWrapLimit=function(A){this.setWrapLimitRange(A,A)},$.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},$.prototype.$updateInternalDataOnChange=function(A){var C=this.$useWrapMode,w=A.action,x=A.start,I=A.end,F=x.row,R=I.row,B=R-F,P=null;if(this.$updating=!0,B!=0)if(w==="remove"){this[C?"$wrapData":"$rowLengthCache"].splice(F,B);var V=this.$foldData;P=this.getFoldsInRange(A),this.removeFolds(P);var W=this.getFoldLine(I.row),H=0;if(W){W.addRemoveChars(I.row,I.column,x.column-I.column),W.shiftRow(-B);var U=this.getFoldLine(F);U&&U!==W&&(U.merge(W),W=U),H=V.indexOf(W)+1}for(H;H=I.row&&W.shiftRow(-B)}R=F}else{var G=Array(B);G.unshift(F,0);var Y=C?this.$wrapData:this.$rowLengthCache;Y.splice.apply(Y,G);var V=this.$foldData,W=this.getFoldLine(F),H=0;if(W){var Q=W.range.compareInside(x.row,x.column);Q==0?(W=W.split(x.row,x.column),W&&(W.shiftRow(B),W.addRemoveChars(R,0,I.column-x.column))):Q==-1&&(W.addRemoveChars(F,0,I.column-x.column),W.shiftRow(B)),H=V.indexOf(W)+1}for(H;H=F&&W.shiftRow(B)}}else{B=Math.abs(A.start.column-A.end.column),w==="remove"&&(P=this.getFoldsInRange(A),this.removeFolds(P),B=-B);var W=this.getFoldLine(F);W&&W.addRemoveChars(F,x.column,B)}return C&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,C?this.$updateWrapData(F,R):this.$updateRowLengthCache(F,R),P},$.prototype.$updateRowLengthCache=function(A,C){this.$rowLengthCache[A]=null,this.$rowLengthCache[C]=null},$.prototype.$updateWrapData=function(A,C){var w=this.doc.getAllLines(),x=this.getTabSize(),I=this.$wrapData,F=this.$wrapLimit,R,B,P=A;for(C=Math.min(C,w.length-1);P<=C;)B=this.getFoldLine(P,B),B?(R=[],B.walk(function(V,W,H,U){var G;if(V!=null){G=this.$getDisplayTokens(V,R.length),G[0]=b;for(var Y=1;YC-U;){var G=F+C-U;if(A[G-1]>=T&&A[G]>=T){H(G);continue}if(A[G]==b||A[G]==g){for(G;G!=F-1&&A[G]!=b;G--);if(G>F){H(G);continue}for(G=F+C,G;G>2)),F-1);G>Y&&A[G]Y&&A[G]Y&&A[G]==S;)G--}else for(;G>Y&&A[G]Y){H(++G);continue}G=F+C,A[G]==E&&G--,H(G-U)}return x},$.prototype.$getDisplayTokens=function(A,C){var w=[],x;C=C||0;for(var I=0;I39&&F<48||F>57&&F<64?w.push(S):F>=4352&&O(F)?w.push(D,E):w.push(D)}return w},$.prototype.$getStringScreenWidth=function(A,C,w){if(C==0)return[0,0];C==null&&(C=1/0),w=w||0;var x,I;for(I=0;I=4352&&O(x)?w+=2:w+=1,!(w>C));I++);return[w,I]},$.prototype.getRowLength=function(A){var C=1;return this.lineWidgets&&(C+=this.lineWidgets[A]&&this.lineWidgets[A].rowCount||0),!this.$useWrapMode||!this.$wrapData[A]?C:this.$wrapData[A].length+C},$.prototype.getRowLineCount=function(A){return!this.$useWrapMode||!this.$wrapData[A]?1:this.$wrapData[A].length+1},$.prototype.getRowWrapIndent=function(A){if(this.$useWrapMode){var C=this.screenToDocumentPosition(A,Number.MAX_VALUE),w=this.$wrapData[C.row];return w.length&&w[0]=0)var B=V[W],I=this.$docRowCache[W],U=A>V[H-1];else var U=!H;for(var G=this.getLength()-1,Y=this.getNextFoldLine(I),Q=Y?Y.start.row:1/0;B<=A&&(P=this.getRowLength(I),!(B+P>A||I>=G));)B+=P,I++,I>Q&&(I=Y.end.row+1,Y=this.getNextFoldLine(I,Y),Q=Y?Y.start.row:1/0),U&&(this.$docRowCache.push(I),this.$screenRowCache.push(B));if(Y&&Y.start.row<=I)x=this.getFoldDisplayLine(Y),I=Y.start.row;else{if(B+P<=A||I>G)return{row:G,column:this.getLine(G).length};x=this.getLine(I),Y=null}var ee=0,ne=Math.floor(A-B);if(this.$useWrapMode){var se=this.$wrapData[I];se&&(R=se[ne],ne>0&&se.length&&(ee=se.indent,F=se[ne-1]||se[se.length-1],x=x.substring(F)))}return w!==void 0&&this.$bidiHandler.isBidiRow(B+ne,I,ne)&&(C=this.$bidiHandler.offsetToCol(w)),F+=this.$getStringScreenWidth(x,C-ee)[1],this.$useWrapMode&&F>=R&&(F=R-1),Y?Y.idxToPosition(F):{row:I,column:F}},$.prototype.documentToScreenPosition=function(A,C){if(typeof C>"u")var w=this.$clipPositionToDocument(A.row,A.column);else w=this.$clipPositionToDocument(A,C);A=w.row,C=w.column;var x=0,I=null,F=null;F=this.getFoldAt(A,C,1),F&&(A=F.start.row,C=F.start.column);var R,B=0,P=this.$docRowCache,V=this.$getRowCacheIndex(P,A),W=P.length;if(W&&V>=0)var B=P[V],x=this.$screenRowCache[V],H=A>P[W-1];else var H=!W;for(var U=this.getNextFoldLine(B),G=U?U.start.row:1/0;B=G){if(R=U.end.row+1,R>A)break;U=this.getNextFoldLine(R,U),G=U?U.start.row:1/0}else R=B+1;x+=this.getRowLength(B),B=R,H&&(this.$docRowCache.push(B),this.$screenRowCache.push(x))}var Y="";U&&B>=G?(Y=this.getFoldDisplayLine(U,A,C),I=U.start.row):(Y=this.getLine(A).substring(0,C),I=A);var Q=0;if(this.$useWrapMode){var ee=this.$wrapData[I];if(ee){for(var ne=0;Y.length>=ee[ne];)x++,ne++;Y=Y.substring(ee[ne-1]||0,Y.length),Q=ne>0?ee.indent:0}}return this.lineWidgets&&this.lineWidgets[B]&&this.lineWidgets[B].rowsAbove&&(x+=this.lineWidgets[B].rowsAbove),{row:x,column:Q+this.$getStringScreenWidth(Y)[0]}},$.prototype.documentToScreenColumn=function(A,C){return this.documentToScreenPosition(A,C).column},$.prototype.documentToScreenRow=function(A,C){return this.documentToScreenPosition(A,C).row},$.prototype.getScreenLength=function(){var A=0,C=null;if(this.$useWrapMode)for(var I=this.$wrapData.length,F=0,x=0,C=this.$foldData[x++],R=C?C.start.row:1/0;FR&&(F=C.end.row+1,C=this.$foldData[x++],R=C?C.start.row:1/0)}else{A=this.getLength();for(var w=this.$foldData,x=0;xw));F++);return[x,F]})},$.prototype.getPrecedingCharacter=function(){var A=this.selection.getCursor();if(A.column===0)return A.row===0?"":this.doc.getNewLineCharacter();var C=this.getLine(A.row);return C[A.column-1]},$.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},$}();y.$uid=0,y.prototype.$modes=a.$modes,y.prototype.getValue=y.prototype.toString,y.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},y.prototype.$overwrite=!1,y.prototype.$mode=null,y.prototype.$modeId=null,y.prototype.$scrollTop=0,y.prototype.$scrollLeft=0,y.prototype.$wrapLimit=80,y.prototype.$useWrapMode=!1,y.prototype.$wrapLimitRange={min:null,max:null},y.prototype.lineWidgets=null,y.prototype.isFullWidth=O,s.implement(y.prototype,p);var D=1,E=2,b=3,g=4,S=9,T=10,k=11,_=12;function O($){return $<4352?!1:$>=4352&&$<=4447||$>=4515&&$<=4519||$>=4602&&$<=4607||$>=9001&&$<=9002||$>=11904&&$<=11929||$>=11931&&$<=12019||$>=12032&&$<=12245||$>=12272&&$<=12283||$>=12288&&$<=12350||$>=12353&&$<=12438||$>=12441&&$<=12543||$>=12549&&$<=12589||$>=12593&&$<=12686||$>=12688&&$<=12730||$>=12736&&$<=12771||$>=12784&&$<=12830||$>=12832&&$<=12871||$>=12880&&$<=13054||$>=13056&&$<=19903||$>=19968&&$<=42124||$>=42128&&$<=42182||$>=43360&&$<=43388||$>=44032&&$<=55203||$>=55216&&$<=55238||$>=55243&&$<=55291||$>=63744&&$<=64255||$>=65040&&$<=65049||$>=65072&&$<=65106||$>=65108&&$<=65126||$>=65128&&$<=65131||$>=65281&&$<=65376||$>=65504&&$<=65510}i("./edit_session/folding").Folding.call(y.prototype),i("./edit_session/bracket_match").BracketMatch.call(y.prototype),a.defineOptions(y.prototype,"session",{wrap:{set:function($){if(!$||$=="off"?$=!1:$=="free"?$=!0:$=="printMargin"?$=-1:typeof $=="string"&&($=parseInt($,10)||!1),this.$wrap!=$)if(this.$wrap=$,!$)this.setUseWrapMode(!1);else{var A=typeof $=="number"?$:null;this.setWrapLimitRange(A,A),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function($){$=$=="auto"?this.$mode.type!="text":$!="text",$!=this.$wrapAsCode&&(this.$wrapAsCode=$,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function($){this.$useWorker=$,this.$stopWorker(),$&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function($){$=parseInt($),$>0&&this.$tabSize!==$&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=$,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function($){this.setFoldStyle($)},handlesSet:!0},overwrite:{set:function($){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function($){this.doc.setNewLineMode($)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function($){this.setMode($)},get:function(){return this.$modeId},handlesSet:!0}}),h.EditSession=y}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(i,h,v){var s=i("./lib/lang"),u=i("./lib/oop"),d=i("./range").Range,a=function(){function r(){this.$options={}}return r.prototype.set=function(l){return u.mixin(this.$options,l),this},r.prototype.getOptions=function(){return s.copyObject(this.$options)},r.prototype.setOptions=function(l){this.$options=l},r.prototype.find=function(l){var o=this.$options,c=this.$matchIterator(l,o);if(!c)return!1;var f=null;return c.forEach(function(m,y,D,E){return f=new d(m,y,D,E),y==E&&o.start&&o.start.start&&o.skipCurrent!=!1&&f.isEqual(o.start)?(f=null,!1):!0}),f},r.prototype.findAll=function(l){var o=this.$options;if(!o.needle)return[];this.$assembleRegExp(o);var c=o.range,f=c?l.getLines(c.start.row,c.end.row):l.doc.getAllLines(),m=[],y=o.re;if(o.$isMultiLine){var D=y.length,E=f.length-D,b;e:for(var g=y.offset||0;g<=E;g++){for(var S=0;S_||(m.push(b=new d(g,_,g+D-1,O)),D>2&&(g=g+D-2))}}else for(var $,A=0;AA&&(A=w),m.push(new d($.startRow,$.startCol,$.endRow,$.endCol))}}else{$=s.getMatchOffsets(f[A],y);for(var S=0;S<$.length;S++){var x=$[S];m.push(new d(A,x.offset,A,x.offset+x.length))}}if(c){for(var I=c.start.column,F=c.end.column,A=0,S=m.length-1;AF&&m[S].end.row==R;)S--;for(m=m.slice(A,S+1),A=0,S=m.length;A=m){c+="\\";break}var D=l.charCodeAt(f);switch(D){case o.Backslash:c+="\\";break;case o.n:c+=` +`;break;case o.t:c+=" ";break}continue}if(y===o.DollarSign){if(f++,f>=m){c+="$";break}var E=l.charCodeAt(f);if(E===o.DollarSign){c+="$$";continue}if(E===o.Digit0||E===o.Ampersand){c+="$&";continue}if(o.Digit1<=E&&E<=o.Digit9){c+="$"+l[f];continue}}c+=l[f]}return c||l},r.prototype.replace=function(l,o){var c=this.$options,f=this.$assembleRegExp(c);if(c.$isMultiLine)return o;if(f){var m=this.$isMultilineSearch(c);m&&(l=l.replace(/\r\n|\r|\n/g,` +`));var y=f.exec(l);if(!y||!m&&y[0].length!=l.length)return null;if(o=c.regExp?this.parseReplaceString(o):o.replace(/\$/g,"$$$$"),o=l.replace(f,o),c.preserveCase){o=o.split("");for(var D=Math.min(l.length,l.length);D--;){var E=l[D];E&&E.toLowerCase()!=E?o[D]=o[D].toUpperCase():o[D]=o[D].toLowerCase()}o=o.join("")}return o}},r.prototype.$assembleRegExp=function(l,o){if(l.needle instanceof RegExp)return l.re=l.needle;var c=l.needle;if(!l.needle)return l.re=!1;l.regExp||(c=s.escapeRegExp(c));var f=l.caseSensitive?"gm":"gmi";try{new RegExp(c,"u"),l.$supportsUnicodeFlag=!0,f+="u"}catch{l.$supportsUnicodeFlag=!1}if(l.wholeWord&&(c=p(c,l)),l.$isMultiLine=!o&&/[\n\r]/.test(c),l.$isMultiLine)return l.re=this.$assembleMultilineRegExp(c,f);try{var m=new RegExp(c,f)}catch{m=!1}return l.re=m},r.prototype.$assembleMultilineRegExp=function(l,o){for(var c=l.replace(/\r\n|\r|\n/g,`$ +^`).split(` +`),f=[],m=0;mf);E++){var b=l.getLine(D++);m=m==null?b:m+` +`+b}var g=o.exec(m);if(o.lastIndex=0,g){var S=m.slice(0,g.index).split(` +`),T=g[0].split(` +`),k=c+S.length-1,_=S[S.length-1].length,O=k+T.length-1,$=T.length==1?_+T[0].length:T[T.length-1].length;return{startRow:k,startCol:_,endRow:O,endCol:$}}}return null},r.prototype.$multiLineBackward=function(l,o,c,f,m){for(var y,D=t(l,f),E=l.getLine(f).length-c,b=f;b>=m;){for(var g=0;g=m;g++){var S=l.getLine(b--);y=y==null?S:S+` +`+y}var T=e(y,o,E);if(T){var k=y.slice(0,T.index).split(` +`),_=T[0].split(` +`),O=b+k.length,$=k[k.length-1].length,A=O+_.length-1,C=_.length==1?$+_[0].length:_[_.length-1].length;return{startRow:O,startCol:$,endRow:A,endCol:C}}}return null},r.prototype.$matchIterator=function(l,o){var c=this.$assembleRegExp(o);if(!c)return!1;var f=this.$isMultilineSearch(o),m=this.$multiLineForward,y=this.$multiLineBackward,D=o.backwards==!0,E=o.skipCurrent!=!1,b=c.unicode,g=o.range,S=o.start;S||(S=g?g[D?"end":"start"]:l.selection.getRange()),S.start&&(S=S[E!=D?"end":"start"]);var T=g?g.start.row:0,k=g?g.end.row:l.getLength()-1;if(D)var _=function(A){var C=S.row;if(!$(C,S.column,A)){for(C--;C>=T;C--)if($(C,Number.MAX_VALUE,A))return;if(o.wrap!=!1){for(C=k,T=S.row;C>=T;C--)if($(C,Number.MAX_VALUE,A))return}}};else var _=function(C){var w=S.row;if(!$(w,S.column,C)){for(w=w+1;w<=k;w++)if($(w,0,C))return;if(o.wrap!=!1){for(w=T,k=S.row;w<=k;w++)if($(w,0,C))return}}};if(o.$isMultiLine)var O=c.length,$=function(A,C,w){var x=D?A-O+1:A;if(!(x<0||x+O>l.getLength())){var I=l.getLine(x),F=I.search(c[0]);if(!(!D&&FC)&&w(x,F,x+O-1,B))return!0}}};else if(D)var $=function(C,w,x){if(f){var I=y(l,c,w,C,T);if(!I)return!1;if(x(I.startRow,I.startCol,I.endRow,I.endCol))return!0}else{var F=l.getLine(C),R=[],B,P=0;for(c.lastIndex=0;B=c.exec(F);){var V=B[0].length;if(P=B.index,!V){if(P>=F.length)break;c.lastIndex=P+=s.skipEmptyMatch(F,P,b)}if(B.index+V>w)break;R.push(B.index,V)}for(var W=R.length-1;W>=0;W-=2){var H=R[W-1],V=R[W];if(x(C,H,C,H+V))return!0}}};else var $=function(C,w,x){if(c.lastIndex=w,f){var I=m(l,c,C,k);if(I){var F=I.endRow<=k?I.endRow-1:k;F>C&&(C=F)}if(!I)return!1;if(x(I.startRow,I.startCol,I.endRow,I.endCol))return!0}else for(var R=l.getLine(C),B,P;P=c.exec(R);){var V=P[0].length;if(B=P.index,x(C,B,C,B+V))return!0;if(!V&&(c.lastIndex=B+=s.skipEmptyMatch(R,B,b),B>=R.length))return!1}};return{forEach:_}},r}();function p(r,l){var o=s.supportsLookbehind();function c(D,E){E===void 0&&(E=!0);var b=o&&l.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return b.test(D)||l.regExp?o&&l.$supportsUnicodeFlag?E?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var f=Array.from(r),m=f[0],y=f[f.length-1];return c(m)+r+c(y,!1)}function e(r,l,o){for(var c=null,f=0;f<=r.length;){l.lastIndex=f;var m=l.exec(r);if(!m)break;var y=m.index+m[0].length;if(y>r.length-o)break;(!c||y>c.index+c[0].length)&&(c=m),f=m.index+1}return c}function t(r,l){var o=5e3,c={row:l,column:0},f=r.doc.positionToIndex(c),m=f+o,y=r.doc.indexToPosition(m),D=y.row;return D+1}h.Search=a}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(i,h,v){var s=this&&this.__extends||function(){var r=function(l,o){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,f){c.__proto__=f}||function(c,f){for(var m in f)Object.prototype.hasOwnProperty.call(f,m)&&(c[m]=f[m])},r(l,o)};return function(l,o){if(typeof o!="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");r(l,o);function c(){this.constructor=l}l.prototype=o===null?Object.create(o):(c.prototype=o.prototype,new c)}}(),u=i("../lib/keys"),d=i("../lib/useragent"),a=u.KEY_MODS,p=function(){function r(l,o){this.$init(l,o,!1)}return r.prototype.$init=function(l,o,c){this.platform=o||(d.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(l),this.$singleCommand=c},r.prototype.addCommand=function(l){this.commands[l.name]&&this.removeCommand(l),this.commands[l.name]=l,l.bindKey&&this._buildKeyHash(l)},r.prototype.removeCommand=function(l,o){var c=l&&(typeof l=="string"?l:l.name);l=this.commands[c],o||delete this.commands[c];var f=this.commandKeyBinding;for(var m in f){var y=f[m];if(y==l)delete f[m];else if(Array.isArray(y)){var D=y.indexOf(l);D!=-1&&(y.splice(D,1),y.length==1&&(f[m]=y[0]))}}},r.prototype.bindKey=function(l,o,c){if(typeof l=="object"&&l&&(c==null&&(c=l.position),l=l[this.platform]),!!l){if(typeof o=="function")return this.addCommand({exec:o,bindKey:l,name:o.name||l});l.split("|").forEach(function(f){var m="";if(f.indexOf(" ")!=-1){var y=f.split(/\s+/);f=y.pop(),y.forEach(function(b){var g=this.parseKeys(b),S=a[g.hashId]+g.key;m+=(m?" ":"")+S,this._addCommandToBinding(m,"chainKeys")},this),m+=" "}var D=this.parseKeys(f),E=a[D.hashId]+D.key;this._addCommandToBinding(m+E,o,c)},this)}},r.prototype._addCommandToBinding=function(l,o,c){var f=this.commandKeyBinding,m;if(!o)delete f[l];else if(!f[l]||this.$singleCommand)f[l]=o;else{Array.isArray(f[l])?(m=f[l].indexOf(o))!=-1&&f[l].splice(m,1):f[l]=[f[l]],typeof c!="number"&&(c=e(o));var y=f[l];for(m=0;mc)break}y.splice(m,0,o)}},r.prototype.addCommands=function(l){l&&Object.keys(l).forEach(function(o){var c=l[o];if(c){if(typeof c=="string")return this.bindKey(c,o);typeof c=="function"&&(c={exec:c}),typeof c=="object"&&(c.name||(c.name=o),this.addCommand(c))}},this)},r.prototype.removeCommands=function(l){Object.keys(l).forEach(function(o){this.removeCommand(l[o])},this)},r.prototype.bindKeys=function(l){Object.keys(l).forEach(function(o){this.bindKey(o,l[o])},this)},r.prototype._buildKeyHash=function(l){this.bindKey(l.bindKey,l)},r.prototype.parseKeys=function(l){var o=l.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(E){return E}),c=o.pop(),f=u[c];if(u.FUNCTION_KEYS[f])c=u.FUNCTION_KEYS[f].toLowerCase();else if(o.length){if(o.length==1&&o[0]=="shift")return{key:c.toUpperCase(),hashId:-1}}else return{key:c,hashId:-1};for(var m=0,y=o.length;y--;){var D=u.KEY_MODS[o[y]];if(D==null)return typeof console<"u"&&console.error("invalid modifier "+o[y]+" in "+l),!1;m|=D}return{key:c,hashId:m}},r.prototype.findKeyCommand=function(l,o){var c=a[l]+o;return this.commandKeyBinding[c]},r.prototype.handleKeyboard=function(l,o,c,f){if(!(f<0)){var m=a[o]+c,y=this.commandKeyBinding[m];return l.$keyChain&&(l.$keyChain+=" "+m,y=this.commandKeyBinding[l.$keyChain]||y),y&&(y=="chainKeys"||y[y.length-1]=="chainKeys")?(l.$keyChain=l.$keyChain||m,{command:"null"}):(l.$keyChain&&((!o||o==4)&&c.length==1?l.$keyChain=l.$keyChain.slice(0,-m.length-1):(o==-1||f>0)&&(l.$keyChain="")),{command:y})}},r.prototype.getStatusText=function(l,o){return o.$keyChain||""},r}();function e(r){return typeof r=="object"&&r.bindKey&&r.bindKey.position||(r.isDefault?-100:0)}var t=function(r){s(l,r);function l(o,c){var f=r.call(this,o,c)||this;return f.$singleCommand=!0,f}return l}(p);t.call=function(r,l,o){p.prototype.$init.call(r,l,o,!0)},p.call=function(r,l,o){p.prototype.$init.call(r,l,o,!1)},h.HashHandler=t,h.MultiHashHandler=p}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(i,h,v){var s=this&&this.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,o){l.__proto__=o}||function(l,o){for(var c in o)Object.prototype.hasOwnProperty.call(o,c)&&(l[c]=o[c])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function l(){this.constructor=t}t.prototype=r===null?Object.create(r):(l.prototype=r.prototype,new l)}}(),u=i("../lib/oop"),d=i("../keyboard/hash_handler").MultiHashHandler,a=i("../lib/event_emitter").EventEmitter,p=function(e){s(t,e);function t(r,l){var o=e.call(this,l,r)||this;return o.byName=o.commands,o.setDefaultHandler("exec",function(c){return c.args?c.command.exec(c.editor,c.args,c.event,!1):c.command.exec(c.editor,{},c.event,!0)}),o}return t.prototype.exec=function(r,l,o){if(Array.isArray(r)){for(var c=r.length;c--;)if(this.exec(r[c],l,o))return!0;return!1}typeof r=="string"&&(r=this.commands[r]);var f={editor:l,command:r,args:o};return this.canExecute(r,l)?(f.returnValue=this._emit("exec",f),this._signal("afterExec",f),f.returnValue!==!1):(this._signal("commandUnavailable",f),!1)},t.prototype.canExecute=function(r,l){return typeof r=="string"&&(r=this.commands[r]),!(!r||l&&l.$readOnly&&!r.readOnly||this.$checkCommandState!=!1&&r.isAvailable&&!r.isAvailable(l))},t.prototype.toggleRecording=function(r){if(!this.$inReplay)return r&&r._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(l){this.macro.push([l.command,l.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},t.prototype.replay=function(r){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(r);try{this.$inReplay=!0,this.macro.forEach(function(l){typeof l=="string"?this.exec(l,r):this.exec(l[0],r,l[1])},this)}finally{this.$inReplay=!1}}},t.prototype.trimMacro=function(r){return r.map(function(l){return typeof l[0]!="string"&&(l[0]=l[0].name),l[1]||(l=l[0]),l})},t}(d);u.implement(p.prototype,a),h.CommandManager=p}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(i,h,v){var s=i("../lib/lang"),u=i("../config"),d=i("../range").Range;function a(e,t){return{win:e,mac:t}}h.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:a("Ctrl-,","Command-,"),exec:function(e){u.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:a("Alt-E","F4"),exec:function(e){u.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:a("Alt-Shift-E","Shift-F4"),exec:function(e){u.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:a("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:a(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:a("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:a("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:a("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:a("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:a("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:a(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:a("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:a("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:a("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:a("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:a("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:a("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:a("Ctrl-F","Command-F"),exec:function(e){u.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:a("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:a("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:a("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:a("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:a("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:a("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:a("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:a("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:a("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:a("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:a("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:a("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:a("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:a("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:a("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:a("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:a("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:a("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:a("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:a("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:a(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:a("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:a(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:a("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:a("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:a("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:a("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:a("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:a("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:a("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:a(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),r=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",r),r.isEmpty()||e.session.remove(r),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:a("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:a("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:a("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:a("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:a("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:a("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:a("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:a("Ctrl-H","Command-Option-F"),exec:function(e){u.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:a("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:a("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:a("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:a("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:a("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:a("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:a("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:a("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:a("Shift-Delete",null),exec:function(e){if(e.selection.isEmpty())e.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:a("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:a("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:a("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:a("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:a("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:a("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:a("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:a("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:a("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:a("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(s.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:a(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:a("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:a("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:a("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:a(null,null),exec:function(e){e.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:a("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:a("Ctrl+F3","F3"),exec:function(e){e.openLink()}},{name:"joinlines",description:"Join lines",bindKey:a(null,null),exec:function(e){for(var t=e.selection.isBackwards(),r=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),l=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(r.row).length,c=e.session.doc.getTextRange(e.selection.getRange()),f=c.replace(/\n\s*/," ").length,m=e.session.doc.getLine(r.row),y=r.row+1;y<=l.row+1;y++){var D=s.stringTrimLeft(s.stringTrimRight(e.session.doc.getLine(y)));D.length!==0&&(D=" "+D),m+=D}l.row+10?(e.selection.moveCursorTo(r.row,r.column),e.selection.selectTo(r.row,r.column+f)):(o=e.session.doc.getLine(r.row).length>o?o+1:o,e.selection.moveCursorTo(r.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:a(null,null),exec:function(e){var t=e.session.doc.getLength()-1,r=e.session.doc.getLine(t).length,l=e.selection.rangeList.ranges,o=[];l.length<1&&(l=[e.selection.getRange()]);for(var c=0;c0||e+t=0&&this.$isCustomWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(e+t))return e+t;if(e-t>=0&&this.$isFoldWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(e+t))return e+t}return null},p.prototype.$findNearestAnnotation=function(e){if(this.$isAnnotationVisible(e))return e;for(var t=0;e-t>0||e+t=0&&this.$isAnnotationVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isAnnotationVisible(e+t))return e+t}return null},p.prototype.$focusFoldWidget=function(e){if(e!=null){var t=this.$getFoldWidget(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},p.prototype.$focusCustomWidget=function(e){if(e!=null){var t=this.$getCustomWidget(e);t&&(t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus())}},p.prototype.$focusAnnotation=function(e){if(e!=null){var t=this.$getAnnotation(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},p.prototype.$blurFoldWidget=function(e){var t=this.$getFoldWidget(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},p.prototype.$blurCustomWidget=function(e){var t=this.$getCustomWidget(e);t&&(t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur())},p.prototype.$blurAnnotation=function(e){var t=this.$getAnnotation(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},p.prototype.$moveFoldWidgetUp=function(){for(var e=this.activeRowIndex;e>0;)if(e--,this.$isFoldWidgetVisible(e)||this.$isCustomWidgetVisible(e)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=e,this.$isFoldWidgetVisible(e)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},p.prototype.$moveFoldWidgetDown=function(){for(var e=this.activeRowIndex;e0;)if(e--,this.$isAnnotationVisible(e)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);return}},p.prototype.$moveAnnotationDown=function(){for(var e=this.activeRowIndex;e=C.length&&(C=void 0),{value:C&&C[I++],done:!C}}};throw new TypeError(w?"Object is not iterable.":"Symbol.iterator is not defined.")},u=i("./lib/oop"),d=i("./lib/dom"),a=i("./lib/lang"),p=i("./lib/useragent"),e=i("./keyboard/textinput").TextInput,t=i("./mouse/mouse_handler").MouseHandler,r=i("./mouse/fold_handler").FoldHandler,l=i("./keyboard/keybinding").KeyBinding,o=i("./edit_session").EditSession,c=i("./search").Search,f=i("./range").Range,m=i("./lib/event_emitter").EventEmitter,y=i("./commands/command_manager").CommandManager,D=i("./commands/default_commands").commands,E=i("./config"),b=i("./token_iterator").TokenIterator,g=i("./keyboard/gutter_handler").GutterKeyboardHandler,S=i("./config").nls,T=i("./clipboard"),k=i("./lib/keys"),_=i("./lib/event"),O=i("./tooltip").HoverTooltip,$=function(){function C(w,x,I){this.id="editor"+ ++C.$uid,this.session,this.$toDestroy=[];var F=w.getContainerElement();this.container=F,this.renderer=w,this.commands=new y(p.isMac?"mac":"win",D),typeof document=="object"&&(this.textInput=new e(w.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new t(this),new r(this)),this.keyBinding=new l(this),this.$search=new c().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=a.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(R,B){B._$emitInputEvent.schedule(31)}),this.setSession(x||I&&I.session||new o("")),E.resetOptions(this),I&&this.setOptions(I),E._signal("editor",this)}return C.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},C.prototype.startOperation=function(w){this.session.startOperation(w)},C.prototype.endOperation=function(w){this.session.endOperation(w)},C.prototype.onStartOperation=function(w){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,w||(this.previousCommand=null)},C.prototype.onEndOperation=function(w){if(this.curOp&&this.session){if(w&&w.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var x=this.curOp.command,I=x&&x.scrollIntoView;if(I){switch(I){case"center-animate":I="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var F=this.selection.getRange(),R=this.renderer.layerConfig;(F.start.row>=R.lastRow||F.end.row<=R.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}I=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},C.prototype.$historyTracker=function(w){if(this.$mergeUndoDeltas){var x=this.prevOp,I=this.$mergeableCommands,F=x.command&&w.command.name==x.command.name;if(w.command.name=="insertstring"){var R=w.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),F=F&&this.mergeNextCommand&&(!/\s/.test(R)||/\s/.test(x.args)),this.mergeNextCommand=!0}else F=F&&I.indexOf(w.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(F=!1),F?this.session.mergeUndoDeltas=!0:I.indexOf(w.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},C.prototype.setKeyboardHandler=function(w,x){if(w&&typeof w=="string"&&w!="ace"){this.$keybindingId=w;var I=this;E.loadModule(["keybinding",w],function(F){I.$keybindingId==w&&I.keyBinding.setKeyboardHandler(F&&F.handler),x&&x()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(w),x&&x()},C.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},C.prototype.setSession=function(w){if(this.session!=w){this.curOp&&this.endOperation(),this.curOp={};var x=this.session;if(x){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var I=this.session.getSelection();I.off("changeCursor",this.$onCursorChange),I.off("changeSelection",this.$onSelectionChange)}this.session=w,w?(this.$onDocumentChange=this.onDocumentChange.bind(this),w.on("change",this.$onDocumentChange),this.renderer.setSession(w),this.$onChangeMode=this.onChangeMode.bind(this),w.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),w.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),w.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),w.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),w.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),w.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=w.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(w)),this._signal("changeSession",{session:w,oldSession:x}),this.curOp=null,x&&x._signal("changeEditor",{oldEditor:this}),x&&(x.$editor=null),w&&w._signal("changeEditor",{editor:this}),w&&(w.$editor=this),w&&!w.destroyed&&w.bgTokenizer.scheduleStart()}},C.prototype.getSession=function(){return this.session},C.prototype.setValue=function(w,x){return this.session.doc.setValue(w),x?x==1?this.navigateFileEnd():x==-1&&this.navigateFileStart():this.selectAll(),w},C.prototype.getValue=function(){return this.session.getValue()},C.prototype.getSelection=function(){return this.selection},C.prototype.resize=function(w){this.renderer.onResize(w)},C.prototype.setTheme=function(w,x){this.renderer.setTheme(w,x)},C.prototype.getTheme=function(){return this.renderer.getTheme()},C.prototype.setStyle=function(w,x){this.renderer.setStyle(w,x)},C.prototype.unsetStyle=function(w){this.renderer.unsetStyle(w)},C.prototype.getFontSize=function(){return this.getOption("fontSize")||d.computedStyle(this.container).fontSize},C.prototype.setFontSize=function(w){this.setOption("fontSize",w)},C.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var w=this;this.$highlightPending=!0,setTimeout(function(){w.$highlightPending=!1;var x=w.session;if(!(!x||x.destroyed)){x.$bracketHighlight&&(x.$bracketHighlight.markerIds.forEach(function(U){x.removeMarker(U)}),x.$bracketHighlight=null);var I=w.getCursorPosition(),F=w.getKeyboardHandler(),R=F&&F.$getDirectionForHighlight&&F.$getDirectionForHighlight(w),B=x.getMatchingBracketRanges(I,R);if(!B){var P=new b(x,I.row,I.column),V=P.getCurrentToken();if(V&&/\b(?:tag-open|tag-name)/.test(V.type)){var W=x.getMatchingTags(I);W&&(B=[W.openTagName.isEmpty()?W.openTag:W.openTagName,W.closeTagName.isEmpty()?W.closeTag:W.closeTagName])}}if(!B&&x.$mode.getMatching&&(B=x.$mode.getMatching(w.session)),!B){w.getHighlightIndentGuides()&&w.renderer.$textLayer.$highlightIndentGuide();return}var H="ace_bracket";Array.isArray(B)?B.length==1&&(H="ace_error_bracket"):B=[B],B.length==2&&(f.comparePoints(B[0].end,B[1].start)==0?B=[f.fromPoints(B[0].start,B[1].end)]:f.comparePoints(B[0].start,B[1].end)==0&&(B=[f.fromPoints(B[1].start,B[0].end)])),x.$bracketHighlight={ranges:B,markerIds:B.map(function(U){return x.addMarker(U,H,"text")})},w.getHighlightIndentGuides()&&w.renderer.$textLayer.$highlightIndentGuide()}},50)}},C.prototype.focus=function(){this.textInput.focus()},C.prototype.isFocused=function(){return this.textInput.isFocused()},C.prototype.blur=function(){this.textInput.blur()},C.prototype.onFocus=function(w){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",w))},C.prototype.onBlur=function(w){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",w))},C.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},C.prototype.onDocumentChange=function(w){var x=this.session.$useWrapMode,I=w.start.row==w.end.row?w.end.row:1/0;this.renderer.updateLines(w.start.row,I,x),this._signal("change",w),this.$cursorChange()},C.prototype.onTokenizerUpdate=function(w){var x=w.data;this.renderer.updateLines(x.first,x.last)},C.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},C.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},C.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},C.prototype.$updateHighlightActiveLine=function(){var w=this.getSession(),x;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(x=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(x=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(x=!1)),w.$highlightLineMarker&&!x)w.removeMarker(w.$highlightLineMarker.id),w.$highlightLineMarker=null;else if(!w.$highlightLineMarker&&x){var I=new f(x.row,x.column,x.row,1/0);I.id=w.addMarker(I,"ace_active-line","screenLine"),w.$highlightLineMarker=I}else x&&(w.$highlightLineMarker.start.row=x.row,w.$highlightLineMarker.end.row=x.row,w.$highlightLineMarker.start.column=x.column,w._signal("changeBackMarker"))},C.prototype.onSelectionChange=function(w){var x=this.session;if(x.$selectionMarker&&x.removeMarker(x.$selectionMarker),x.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var I=this.selection.getRange(),F=this.getSelectionStyle();x.$selectionMarker=x.addMarker(I,"ace_selection",F)}var R=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(R),this._signal("changeSelection")},C.prototype.$getSelectionHighLightRegexp=function(){var w=this.session,x=this.getSelectionRange();if(!(x.isEmpty()||x.isMultiLine())){var I=x.start.column,F=x.end.column,R=w.getLine(x.start.row),B=R.substring(I,F);if(!(B.length>5e3||!/[\w\d]/.test(B))){var P=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:B}),V=R.substring(I-1,F+1);if(P.test(V))return P}}},C.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},C.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},C.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},C.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},C.prototype.onChangeMode=function(w){this.renderer.updateText(),this._emit("changeMode",w)},C.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},C.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},C.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},C.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},C.prototype.getCopyText=function(){var w=this.getSelectedText(),x=this.session.doc.getNewLineCharacter(),I=!1;if(!w&&this.$copyWithEmptySelection){I=!0;for(var F=this.selection.getAllRanges(),R=0;RU.search(/\S|$/)){var V=U.substr(R.column).search(/\S|$/);I.doc.removeInLine(R.row,R.column,R.column+V)}}this.clearSelection();var W=R.column,H=I.getState(R.row),U=I.getLine(R.row),G=F.checkOutdent(H,U,w);if(I.insert(R,w),B&&B.selection&&(B.selection.length==2?this.selection.setSelectionRange(new f(R.row,W+B.selection[0],R.row,W+B.selection[1])):this.selection.setSelectionRange(new f(R.row+B.selection[0],B.selection[1],R.row+B.selection[2],B.selection[3]))),this.$enableAutoIndent){if(I.getDocument().isNewLine(w)){var Y=F.getNextLineIndent(H,U.slice(0,R.column),I.getTabString());I.insert({row:R.row+1,column:0},Y)}G&&F.autoOutdent(H,I,R.row)}},C.prototype.autoIndent=function(){for(var w=this.session,x=w.getMode(),I=this.selection.isEmpty()?[new f(0,0,w.doc.getLength()-1,0)]:this.selection.getAllRanges(),F="",R="",B="",P=w.getTabString(),V=0;V0&&(F=w.getState(U-1),R=w.getLine(U-1),B=x.getNextLineIndent(F,R,P));var G=w.getLine(U),Y=x.$getIndent(G);if(B!==Y){if(Y.length>0){var Q=new f(U,0,U,Y.length);w.remove(Q)}B.length>0&&w.insert({row:U,column:0},B)}x.autoOutdent(F,w,U)}},C.prototype.onTextInput=function(w,x){if(!x)return this.keyBinding.onTextInput(w);this.startOperation({command:{name:"insertstring"}});var I=this.applyComposition.bind(this,w,x);this.selection.rangeCount?this.forEachSelection(I):I(),this.endOperation()},C.prototype.applyComposition=function(w,x){if(x.extendLeft||x.extendRight){var I=this.selection.getRange();I.start.column-=x.extendLeft,I.end.column+=x.extendRight,I.start.column<0&&(I.start.row--,I.start.column+=this.session.getLine(I.start.row).length+1),this.selection.setRange(I),!w&&!I.isEmpty()&&this.remove()}if((w||!this.selection.isEmpty())&&this.insert(w,!0),x.restoreStart||x.restoreEnd){var I=this.selection.getRange();I.start.column-=x.restoreStart,I.end.column-=x.restoreEnd,this.selection.setRange(I)}},C.prototype.onCommandKey=function(w,x,I){return this.keyBinding.onCommandKey(w,x,I)},C.prototype.setOverwrite=function(w){this.session.setOverwrite(w)},C.prototype.getOverwrite=function(){return this.session.getOverwrite()},C.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},C.prototype.setScrollSpeed=function(w){this.setOption("scrollSpeed",w)},C.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},C.prototype.setDragDelay=function(w){this.setOption("dragDelay",w)},C.prototype.getDragDelay=function(){return this.getOption("dragDelay")},C.prototype.setSelectionStyle=function(w){this.setOption("selectionStyle",w)},C.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},C.prototype.setHighlightActiveLine=function(w){this.setOption("highlightActiveLine",w)},C.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},C.prototype.setHighlightGutterLine=function(w){this.setOption("highlightGutterLine",w)},C.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},C.prototype.setHighlightSelectedWord=function(w){this.setOption("highlightSelectedWord",w)},C.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},C.prototype.setAnimatedScroll=function(w){this.renderer.setAnimatedScroll(w)},C.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},C.prototype.setShowInvisibles=function(w){this.renderer.setShowInvisibles(w)},C.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},C.prototype.setDisplayIndentGuides=function(w){this.renderer.setDisplayIndentGuides(w)},C.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},C.prototype.setHighlightIndentGuides=function(w){this.renderer.setHighlightIndentGuides(w)},C.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},C.prototype.setShowPrintMargin=function(w){this.renderer.setShowPrintMargin(w)},C.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},C.prototype.setPrintMarginColumn=function(w){this.renderer.setPrintMarginColumn(w)},C.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},C.prototype.setReadOnly=function(w){this.setOption("readOnly",w)},C.prototype.getReadOnly=function(){return this.getOption("readOnly")},C.prototype.setBehavioursEnabled=function(w){this.setOption("behavioursEnabled",w)},C.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},C.prototype.setWrapBehavioursEnabled=function(w){this.setOption("wrapBehavioursEnabled",w)},C.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},C.prototype.setShowFoldWidgets=function(w){this.setOption("showFoldWidgets",w)},C.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},C.prototype.setFadeFoldWidgets=function(w){this.setOption("fadeFoldWidgets",w)},C.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},C.prototype.remove=function(w){this.selection.isEmpty()&&(w=="left"?this.selection.selectLeft():this.selection.selectRight());var x=this.getSelectionRange();if(this.getBehavioursEnabled()){var I=this.session,F=I.getState(x.start.row),R=I.getMode().transformAction(F,"deletion",this,I,x);if(x.end.column===0){var B=I.getTextRange(x);if(B[B.length-1]==` +`){var P=I.getLine(x.end.row);/^\s+$/.test(P)&&(x.end.column=P.length)}}R&&(x=R)}this.session.remove(x),this.clearSelection()},C.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var w=this.getSelectionRange();w.start.column==w.end.column&&w.start.row==w.end.row&&(w.end.column=0,w.end.row++),this.session.remove(w),this.clearSelection()},C.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var w=this.getCursorPosition();this.insert(` +`),this.moveCursorToPosition(w)},C.prototype.setGhostText=function(w,x){this.renderer.setGhostText(w,x)},C.prototype.removeGhostText=function(){this.renderer.removeGhostText()},C.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var w=this.getCursorPosition(),x=w.column;if(x!==0){var I=this.session.getLine(w.row),F,R;xV.toLowerCase()?1:0});for(var R=new f(0,0,0,0),F=w.first;F<=w.last;F++){var B=x.getLine(F);R.start.row=F,R.end.row=F,R.end.column=B.length,x.replace(R,I[F-w.first])}},C.prototype.toggleCommentLines=function(){var w=this.session.getState(this.getCursorPosition().row),x=this.$getSelectedRows();this.session.getMode().toggleCommentLines(w,this.session,x.first,x.last)},C.prototype.toggleBlockComment=function(){var w=this.getCursorPosition(),x=this.session.getState(w.row),I=this.getSelectionRange();this.session.getMode().toggleBlockComment(x,this.session,I,w)},C.prototype.getNumberAt=function(w,x){var I=/[\-]?[0-9]+(?:\.[0-9]+)?/g;I.lastIndex=0;for(var F=this.session.getLine(w);I.lastIndex=x){var B={value:R[0],start:R.index,end:R.index+R[0].length};return B}}return null},C.prototype.modifyNumber=function(w){var x=this.selection.getCursor().row,I=this.selection.getCursor().column,F=new f(x,I-1,x,I),R=this.session.getTextRange(F);if(!isNaN(parseFloat(R))&&isFinite(R)){var B=this.getNumberAt(x,I);if(B){var P=B.value.indexOf(".")>=0?B.start+B.value.indexOf(".")+1:B.end,V=B.start+B.value.length-P,W=parseFloat(B.value);W*=Math.pow(10,V),P!==B.end&&I=P&&B<=V&&(I=ge,W.selection.clearSelection(),W.moveCursorTo(w,P+F),W.selection.selectTo(w,V+F)),P=V});for(var H=this.$toggleWordPairs,U,G=0;G=V&&P<=W&&Y.match(/((?:https?|ftp):\/\/[\S]+)/)){H=Y.replace(/[\s:.,'";}\]]+$/,"");break}V=W}}catch(Q){I={error:Q}}finally{try{G&&!G.done&&(F=U.return)&&F.call(U)}finally{if(I)throw I.error}}return H},C.prototype.openLink=function(){var w=this.selection.getCursor(),x=this.findLinkAt(w.row,w.column);return x&&window.open(x,"_blank"),x!=null},C.prototype.removeLines=function(){var w=this.$getSelectedRows();this.session.removeFullLines(w.first,w.last),this.clearSelection()},C.prototype.duplicateSelection=function(){var w=this.selection,x=this.session,I=w.getRange(),F=w.isBackwards();if(I.isEmpty()){var R=I.start.row;x.duplicateLines(R,R)}else{var B=F?I.start:I.end,P=x.insert(B,x.getTextRange(I));I.start=B,I.end=P,w.setSelectionRange(I,F)}},C.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},C.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},C.prototype.moveText=function(w,x,I){return this.session.moveText(w,x,I)},C.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},C.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},C.prototype.$moveLines=function(w,x){var I,F,R=this.selection;if(!R.inMultiSelectMode||this.inVirtualSelectionMode){var B=R.toOrientedRange();I=this.$getSelectedRows(B),F=this.session.$moveLines(I.first,I.last,x?0:w),x&&w==-1&&(F=0),B.moveBy(F,0),R.fromOrientedRange(B)}else{var P=R.rangeList.ranges;R.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var V=0,W=0,H=P.length,U=0;UQ+1)break;Q=ee.last}for(U--,V=this.session.$moveLines(Y,Q,x?0:w),x&&w==-1&&(G=U+1);G<=U;)P[G].moveBy(V,0),G++;x||(V=0),W+=V}R.fromOrientedRange(R.ranges[0]),R.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},C.prototype.$getSelectedRows=function(w){return w=(w||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(w.start.row),last:this.session.getRowFoldEnd(w.end.row)}},C.prototype.onCompositionStart=function(w){this.renderer.showComposition(w)},C.prototype.onCompositionUpdate=function(w){this.renderer.setCompositionText(w)},C.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},C.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},C.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},C.prototype.isRowVisible=function(w){return w>=this.getFirstVisibleRow()&&w<=this.getLastVisibleRow()},C.prototype.isRowFullyVisible=function(w){return w>=this.renderer.getFirstFullyVisibleRow()&&w<=this.renderer.getLastFullyVisibleRow()},C.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},C.prototype.$moveByPage=function(w,x){var I=this.renderer,F=this.renderer.layerConfig,R=w*Math.floor(F.height/F.lineHeight);x===!0?this.selection.$moveSelection(function(){this.moveCursorBy(R,0)}):x===!1&&(this.selection.moveCursorBy(R,0),this.selection.clearSelection());var B=I.scrollTop;I.scrollBy(0,R*F.lineHeight),x!=null&&I.scrollCursorIntoView(null,.5),I.animateScrolling(B)},C.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},C.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},C.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},C.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},C.prototype.scrollPageDown=function(){this.$moveByPage(1)},C.prototype.scrollPageUp=function(){this.$moveByPage(-1)},C.prototype.scrollToRow=function(w){this.renderer.scrollToRow(w)},C.prototype.scrollToLine=function(w,x,I,F){this.renderer.scrollToLine(w,x,I,F)},C.prototype.centerSelection=function(){var w=this.getSelectionRange(),x={row:Math.floor(w.start.row+(w.end.row-w.start.row)/2),column:Math.floor(w.start.column+(w.end.column-w.start.column)/2)};this.renderer.alignCursor(x,.5)},C.prototype.getCursorPosition=function(){return this.selection.getCursor()},C.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},C.prototype.getSelectionRange=function(){return this.selection.getRange()},C.prototype.selectAll=function(){this.selection.selectAll()},C.prototype.clearSelection=function(){this.selection.clearSelection()},C.prototype.moveCursorTo=function(w,x){this.selection.moveCursorTo(w,x)},C.prototype.moveCursorToPosition=function(w){this.selection.moveCursorToPosition(w)},C.prototype.jumpToMatching=function(w,x){var I=this.getCursorPosition(),F=new b(this.session,I.row,I.column),R=F.getCurrentToken(),B=0;R&&R.type.indexOf("tag-name")!==-1&&(R=F.stepBackward());var P=R||F.stepForward();if(P){var V,W=!1,H={},U=I.column-P.start,G,Y={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(P.value.match(/[{}()\[\]]/g)){for(;U1?H[P.value]++:R.value==="=0;--B)this.$tryReplace(I[B],w)&&F++;return this.selection.setSelectionRange(R),F},C.prototype.$tryReplace=function(w,x){var I=this.session.getTextRange(w);return x=this.$search.replace(I,x),x!==null?(w.end=this.session.replace(w,x),w):null},C.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},C.prototype.find=function(w,x,I){x||(x={}),typeof w=="string"||w instanceof RegExp?x.needle=w:typeof w=="object"&&u.mixin(x,w);var F=this.selection.getRange();x.needle==null&&(w=this.session.getTextRange(F)||this.$search.$options.needle,w||(F=this.session.getWordRange(F.start.row,F.start.column),w=this.session.getTextRange(F)),this.$search.set({needle:w})),this.$search.set(x),x.start||this.$search.set({start:F});var R=this.$search.find(this.session);if(x.preventScroll)return R;if(R)return this.revealRange(R,I),R;x.backwards?F.start=F.end:F.end=F.start,this.selection.setRange(F)},C.prototype.findNext=function(w,x){this.find({skipCurrent:!0,backwards:!1},w,x)},C.prototype.findPrevious=function(w,x){this.find(w,{skipCurrent:!0,backwards:!0},x)},C.prototype.revealRange=function(w,x){this.session.unfold(w),this.selection.setSelectionRange(w);var I=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(w.start,w.end,.5),x!==!1&&this.renderer.animateScrolling(I)},C.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},C.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},C.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(w){w.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},C.prototype.setAutoScrollEditorIntoView=function(w){if(w){var x,I=this,F=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var R=this.$scrollAnchor;R.style.cssText="position:absolute",this.container.insertBefore(R,this.container.firstChild);var B=this.on("changeSelection",function(){F=!0}),P=this.renderer.on("beforeRender",function(){F&&(x=I.renderer.container.getBoundingClientRect())}),V=this.renderer.on("afterRender",function(){if(F&&x&&(I.isFocused()||I.searchBox&&I.searchBox.isFocused())){var W=I.renderer,H=W.$cursorLayer.$pixelPos,U=W.layerConfig,G=H.top-U.offset;H.top>=0&&G+x.top<0?F=!0:H.topwindow.innerHeight?F=!1:F=null,F!=null&&(R.style.top=G+"px",R.style.left=H.left+"px",R.style.height=U.lineHeight+"px",R.scrollIntoView(F)),F=x=null}});this.setAutoScrollEditorIntoView=function(W){W||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",B),this.renderer.off("afterRender",V),this.renderer.off("beforeRender",P))}}},C.prototype.$resetCursorStyle=function(){var w=this.$cursorStyle||"ace",x=this.renderer.$cursorLayer;x&&(x.setSmoothBlinking(/smooth/.test(w)),x.isBlinking=!this.$readOnly&&w!="wide",d.setCssClass(x.element,"ace_slim-cursors",/slim/.test(w)))},C.prototype.prompt=function(w,x,I){var F=this;E.loadModule("ace/ext/prompt",function(R){R.prompt(F,w,x,I)})},C}();$.$uid=0,$.prototype.curOp=null,$.prototype.prevOp={},$.prototype.$mergeableCommands=["backspace","del","insertstring"],$.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],u.implement($.prototype,m),E.defineOptions($.prototype,"editor",{selectionStyle:{set:function(C){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:C})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(C){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(C){var w=this;this.textInput.setReadOnly(C),this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(I){var F=!1;if(I&&I.type=="keydown"){if(F=I&&I.key&&I.key.length==1&&!I.ctrlKey&&!I.metaKey,!F)return}else I&&I.type!=="exec"&&(F=!0);if(F){w.hoverTooltip||(w.hoverTooltip=new O);var R=d.createElement("div");R.textContent=S("editor.tooltip.disable-editing","Editing is disabled"),w.hoverTooltip.isOpen||w.hoverTooltip.showForRange(w,w.getSelectionRange(),R)}else w.hoverTooltip&&w.hoverTooltip.isOpen&&w.hoverTooltip.hide()});var x=this.textInput.getElement();C?(_.addListener(x,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(_.removeListener(x,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))},initialValue:!1},copyWithEmptySelection:{set:function(C){this.textInput.setCopyWithEmptySelection(C)},initialValue:!1},cursorStyle:{set:function(C){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(C){this.setAutoScrollEditorIntoView(C)}},keyboardHandler:{set:function(C){this.setKeyboardHandler(C)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(C){this.session.setValue(C)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(C){this.setSession(C)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(C){this.renderer.$gutterLayer.setShowLineNumbers(C),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),C&&this.$relativeLineNumbers?A.attach(this):A.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(C){this.$showLineNumbers&&C?A.attach(this):A.detach(this)}},placeholder:{set:function(C){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var w=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(w&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),d.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!w&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),d.addCssClass(this.container,"ace_hasPlaceholder");var x=d.createElement("div");x.className="ace_placeholder",x.textContent=this.$placeholder||"",this.renderer.placeholderNode=x,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!w&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(C){var w={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(F){F.blur(),F.renderer.scroller.focus()},readOnly:!0},x=function(F){if(F.target==this.renderer.scroller&&F.keyCode===k.enter){F.preventDefault();var R=this.getCursorPosition().row;this.isRowVisible(R)||this.scrollToLine(R,!0,!0),this.focus()}},I;C?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(p.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",S("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",S("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",x.bind(this)),this.commands.addCommand(w),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",S("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",S("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),I||(I=new g(this)),I.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",x.bind(this)),this.commands.removeCommand(w),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),I&&I.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(C){this.$textInputAriaLabel=C},initialValue:""},enableMobileMenu:{set:function(C){this.$enableMobileMenu=C},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var A={getText:function(C,w){return(Math.abs(C.selection.lead.row-w)||w+1+(w<9?"·":""))+""},getWidth:function(C,w,x){return Math.max(w.toString().length,(x.lastRow+1).toString().length,2)*x.characterWidth},update:function(C,w){w.renderer.$loop.schedule(w.renderer.CHANGE_GUTTER)},attach:function(C){C.renderer.$gutterLayer.$renderer=this,C.on("changeSelection",this.update),this.update(null,C)},detach:function(C){C.renderer.$gutterLayer.$renderer==this&&(C.renderer.$gutterLayer.$renderer=null),C.off("changeSelection",this.update),this.update(null,C)}};h.Editor=$}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(i,h,v){var s=i("../lib/dom"),u=function(){function d(a,p){this.element=a,this.canvasHeight=p||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return d.prototype.moveContainer=function(a){s.translate(this.element,0,-(a.firstRowScreen*a.lineHeight%this.canvasHeight)-a.offset*this.$offsetCoefficient)},d.prototype.pageChanged=function(a,p){return Math.floor(a.firstRowScreen*a.lineHeight/this.canvasHeight)!==Math.floor(p.firstRowScreen*p.lineHeight/this.canvasHeight)},d.prototype.computeLineTop=function(a,p,e){var t=p.firstRowScreen*p.lineHeight,r=Math.floor(t/this.canvasHeight),l=e.documentToScreenRow(a,0)*p.lineHeight;return l-r*this.canvasHeight},d.prototype.computeLineHeight=function(a,p,e){return p.lineHeight*e.getRowLineCount(a)},d.prototype.getLength=function(){return this.cells.length},d.prototype.get=function(a){return this.cells[a]},d.prototype.shift=function(){this.$cacheCell(this.cells.shift())},d.prototype.pop=function(){this.$cacheCell(this.cells.pop())},d.prototype.push=function(a){if(Array.isArray(a)){this.cells.push.apply(this.cells,a);for(var p=s.createFragment(this.element),e=0;eD&&(g=y.end.row+1,y=c.getNextFoldLine(g,y),D=y?y.start.row:1/0),g>m){for(;this.$lines.getLength()>b+1;)this.$lines.pop();break}E=this.$lines.get(++b),E?E.row=g:(E=this.$lines.createCell(g,o,this.session,r),this.$lines.push(E)),this.$renderCell(E,o,y,g),g++}this._signal("afterRender"),this.$updateGutterWidth(o)},l.prototype.$updateGutterWidth=function(o){var c=this.session,f=c.gutterRenderer||this.$renderer,m=c.$firstLineNumber,y=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||c.$useWrapMode)&&(y=c.getLength()+m-1);var D=f?f.getWidth(c,y,o):y.toString().length*o.characterWidth,E=this.$padding||this.$computePadding();D+=E.left+E.right,D!==this.gutterWidth&&!isNaN(D)&&(this.gutterWidth=D,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",D))},l.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var o=this.session.selection.getCursor();this.$cursorRow!==o.row&&(this.$cursorRow=o.row)}},l.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var o=this.session.selection.cursor.row;if(this.$cursorRow=o,!(this.$cursorCell&&this.$cursorCell.row==o)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var c=this.$lines.cells;this.$cursorCell=null;for(var f=0;f=this.$cursorRow){if(m.row>this.$cursorRow){var y=this.session.getFoldLine(this.$cursorRow);if(f>0&&y&&y.start.row==c[f-1].row)m=c[f-1];else break}m.element.className="ace_gutter-active-line "+m.element.className,this.$cursorCell=m;break}}}}},l.prototype.scrollLines=function(o){var c=this.config;if(this.config=o,this.$updateCursorRow(),this.$lines.pageChanged(c,o))return this.update(o);this.$lines.moveContainer(o);var f=Math.min(o.lastRow+o.gutterOffset,this.session.getLength()-1),m=this.oldLastRow;if(this.oldLastRow=f,!c||m0;y--)this.$lines.shift();if(m>f)for(var y=this.session.getFoldedRowCount(f+1,m);y>0;y--)this.$lines.pop();o.firstRowm&&this.$lines.push(this.$renderLines(o,m+1,f)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(o)},l.prototype.$renderLines=function(o,c,f){for(var m=[],y=c,D=this.session.getNextFoldLine(y),E=D?D.start.row:1/0;y>E&&(y=D.end.row+1,D=this.session.getNextFoldLine(y,D),E=D?D.start.row:1/0),!(y>f);){var b=this.$lines.createCell(y,o,this.session,r);this.$renderCell(b,o,D,y),m.push(b),y++}return m},l.prototype.$renderCell=function(o,c,f,m){var y=o.element,D=this.session,E=y.childNodes[0],b=y.childNodes[1],g=y.childNodes[2],S=y.childNodes[3],T=g.firstChild,k=D.$firstLineNumber,_=D.$breakpoints,O=D.$decorations,$=D.gutterRenderer||this.$renderer,A=this.$showFoldWidgets&&D.foldWidgets,C=f?f.start.row:Number.MAX_VALUE,w=c.lineHeight+"px",x=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",I=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",F=($?$.getText(D,m):m+k).toString();if(this.$highlightGutterLine&&(m==this.$cursorRow||f&&m=C&&this.$cursorRow<=f.end.row)&&(x+="ace_gutter-active-line ",this.$cursorCell!=o&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=o)),_[m]&&(x+=_[m]),O[m]&&(x+=O[m]),this.$annotations[m]&&m!==C&&(x+=this.$annotations[m].className),A){var R=A[m];R==null&&(R=A[m]=D.getFoldWidget(m))}if(R){var B="ace_fold-widget ace_"+R,P=R=="start"&&m==C&&mf.right-c.right)return"foldWidgets"},l}();t.prototype.$fixedWidth=!1,t.prototype.$highlightGutterLine=!0,t.prototype.$renderer="",t.prototype.$showLineNumbers=!0,t.prototype.$showFoldWidgets=!0,u.implement(t.prototype,a);function r(l){var o=document.createTextNode("");l.appendChild(o);var c=s.createElement("span");l.appendChild(c);var f=s.createElement("span");l.appendChild(f);var m=s.createElement("span");return f.appendChild(m),l}h.Gutter=t}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(i,h,v){var s=i("../range").Range,u=i("../lib/dom"),d=function(){function p(e){this.element=u.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}return p.prototype.setPadding=function(e){this.$padding=e},p.prototype.setSession=function(e){this.session=e},p.prototype.setMarkers=function(e){this.markers=e},p.prototype.elt=function(e,t){var r=this.i!=-1&&this.element.childNodes[this.i];r?this.i++:(r=document.createElement("div"),this.element.appendChild(r),this.i=-1),r.style.cssText=t,r.className=e},p.prototype.update=function(e){if(e){this.config=e,this.i=0;var t;for(var r in this.markers){var l=this.markers[r];if(!l.range){l.update(t,this,this.session,e);continue}var o=l.range.clipRows(e.firstRow,e.lastRow);if(!o.isEmpty())if(o=o.toScreenRange(this.session),l.renderer){var c=this.$getTop(o.start.row,e),f=this.$padding+o.start.column*e.characterWidth;l.renderer(t,o,f,c,e)}else l.type=="fullLine"?this.drawFullLineMarker(t,o,l.clazz,e):l.type=="screenLine"?this.drawScreenLineMarker(t,o,l.clazz,e):o.isMultiLine()?l.type=="text"?this.drawTextMarker(t,o,l.clazz,e):this.drawMultiLineMarker(t,o,l.clazz,e):this.drawSingleLineMarker(t,o,l.clazz+" ace_start ace_br15",e)}if(this.i!=-1)for(;this.ib,y==m),l,y==m?0:1,o)},p.prototype.drawMultiLineMarker=function(e,t,r,l,o){var c=this.$padding,f=l.lineHeight,m=this.$getTop(t.start.row,l),y=c+t.start.column*l.characterWidth;if(o=o||"",this.session.$bidiHandler.isBidiRow(t.start.row)){var D=t.clone();D.end.row=D.start.row,D.end.column=this.session.getLine(D.start.row).length,this.drawBidiSingleLineMarker(e,D,r+" ace_br1 ace_start",l,null,o)}else this.elt(r+" ace_br1 ace_start","height:"+f+"px;right:"+c+"px;top:"+m+"px;left:"+y+"px;"+(o||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var D=t.clone();D.start.row=D.end.row,D.start.column=0,this.drawBidiSingleLineMarker(e,D,r+" ace_br12",l,null,o)}else{m=this.$getTop(t.end.row,l);var E=t.end.column*l.characterWidth;this.elt(r+" ace_br12","height:"+f+"px;width:"+E+"px;top:"+m+"px;left:"+c+"px;"+(o||""))}if(f=(t.end.row-t.start.row-1)*l.lineHeight,!(f<=0)){m=this.$getTop(t.start.row+1,l);var b=(t.start.column?1:0)|(t.end.column?0:8);this.elt(r+(b?" ace_br"+b:""),"height:"+f+"px;right:"+c+"px;top:"+m+"px;left:"+c+"px;"+(o||""))}},p.prototype.drawSingleLineMarker=function(e,t,r,l,o,c){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,r,l,o,c);var f=l.lineHeight,m=(t.end.column+(o||0)-t.start.column)*l.characterWidth,y=this.$getTop(t.start.row,l),D=this.$padding+t.start.column*l.characterWidth;this.elt(r,"height:"+f+"px;width:"+m+"px;top:"+y+"px;left:"+D+"px;"+(c||""))},p.prototype.drawBidiSingleLineMarker=function(e,t,r,l,o,c){var f=l.lineHeight,m=this.$getTop(t.start.row,l),y=this.$padding,D=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);D.forEach(function(E){this.elt(r,"height:"+f+"px;width:"+(E.width+(o||0))+"px;top:"+m+"px;left:"+(y+E.left)+"px;"+(c||""))},this)},p.prototype.drawFullLineMarker=function(e,t,r,l,o){var c=this.$getTop(t.start.row,l),f=l.lineHeight;t.start.row!=t.end.row&&(f+=this.$getTop(t.end.row,l)-c),this.elt(r,"height:"+f+"px;top:"+c+"px;left:0;right:0;"+(o||""))},p.prototype.drawScreenLineMarker=function(e,t,r,l,o){var c=this.$getTop(t.start.row,l),f=l.lineHeight;this.elt(r,"height:"+f+"px;top:"+c+"px;left:0;right:0;"+(o||""))},p}();d.prototype.$padding=0;function a(p,e,t,r){return(p?1:0)|(e?2:0)|(t?4:0)|(r?8:0)}h.Marker=d}),ace.define("ace/layer/text_util",["require","exports","module"],function(i,h,v){var s=new Set(["text","rparen","lparen"]);h.isTextToken=function(u){return s.has(u)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(i,h,v){var s=i("../lib/oop"),u=i("../lib/dom"),d=i("../lib/lang"),a=i("./lines").Lines,p=i("../lib/event_emitter").EventEmitter,e=i("../config").nls,t=i("./text_util").isTextToken,r=function(){function l(o){this.dom=u,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",o.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new a(this.element)}return l.prototype.$updateEolChar=function(){var o=this.session.doc,c=o.getNewLineCharacter()==` +`&&o.getNewLineMode()!="windows",f=c?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=f)return this.EOL_CHAR=f,!0},l.prototype.setPadding=function(o){this.$padding=o,this.element.style.margin="0 "+o+"px"},l.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},l.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},l.prototype.$setFontMetrics=function(o){this.$fontMetrics=o,this.$fontMetrics.on("changeCharacterSize",function(c){this._signal("changeCharacterSize",c)}.bind(this)),this.$pollSizeChanges()},l.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},l.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},l.prototype.setSession=function(o){this.session=o,o&&this.$computeTabString()},l.prototype.setShowInvisibles=function(o){return this.showInvisibles==o?!1:(this.showInvisibles=o,typeof o=="string"?(this.showSpaces=/tab/i.test(o),this.showTabs=/space/i.test(o),this.showEOL=/eol/i.test(o)):this.showSpaces=this.showTabs=this.showEOL=o,this.$computeTabString(),!0)},l.prototype.setDisplayIndentGuides=function(o){return this.displayIndentGuides==o?!1:(this.displayIndentGuides=o,this.$computeTabString(),!0)},l.prototype.setHighlightIndentGuides=function(o){return this.$highlightIndentGuides===o?!1:(this.$highlightIndentGuides=o,o)},l.prototype.$computeTabString=function(){var o=this.session.getTabSize();this.tabSize=o;for(var c=this.$tabStrings=[0],f=1;fT&&(g=S.end.row+1,S=this.session.getNextFoldLine(g,S),T=S?S.start.row:1/0),!(g>y);){var k=D[E++];if(k){this.dom.removeChildren(k),this.$renderLine(k,g,g==T?S:!1),b&&(k.style.top=this.$lines.computeLineTop(g,o,this.session)+"px");var _=o.lineHeight*this.session.getRowLength(g)+"px";k.style.height!=_&&(b=!0,k.style.height=_)}g++}if(b)for(;E0;y--)this.$lines.shift();if(c.lastRow>o.lastRow)for(var y=this.session.getFoldedRowCount(o.lastRow+1,c.lastRow);y>0;y--)this.$lines.pop();o.firstRowc.lastRow&&this.$lines.push(this.$renderLinesFragment(o,c.lastRow+1,o.lastRow)),this.$highlightIndentGuide()},l.prototype.$renderLinesFragment=function(o,c,f){for(var m=[],y=c,D=this.session.getNextFoldLine(y),E=D?D.start.row:1/0;y>E&&(y=D.end.row+1,D=this.session.getNextFoldLine(y,D),E=D?D.start.row:1/0),!(y>f);){var b=this.$lines.createCell(y,o,this.session),g=b.element;this.dom.removeChildren(g),u.setStyle(g.style,"height",this.$lines.computeLineHeight(y,o,this.session)+"px"),u.setStyle(g.style,"top",this.$lines.computeLineTop(y,o,this.session)+"px"),this.$renderLine(g,y,y==E?D:!1),this.$useLineGroups()?g.className="ace_line_group":g.className="ace_line",m.push(b),y++}return m},l.prototype.update=function(o){this.$lines.moveContainer(o),this.config=o;for(var c=o.firstRow,f=o.lastRow,m=this.$lines;m.getLength();)m.pop();m.push(this.$renderLinesFragment(o,c,f))},l.prototype.$renderToken=function(o,c,f,m){for(var y=this,D=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,E=this.dom.createFragment(this.element),b,g=0;b=D.exec(m);){var S=b[1],T=b[2],k=b[3],_=b[4],O=b[5];if(!(!y.showSpaces&&T)){var $=g!=b.index?m.slice(g,b.index):"";if(g=b.index+b[0].length,$&&E.appendChild(this.dom.createTextNode($,this.element)),S){var A=y.session.getScreenTabSize(c+b.index);E.appendChild(y.$tabStrings[A].cloneNode(!0)),c+=A-1}else if(T)if(y.showSpaces){var C=this.dom.createElement("span");C.className="ace_invisible ace_invisible_space",C.textContent=d.stringRepeat(y.SPACE_CHAR,T.length),E.appendChild(C)}else E.appendChild(this.dom.createTextNode(T,this.element));else if(k){var C=this.dom.createElement("span");C.className="ace_invisible ace_invisible_space ace_invalid",C.textContent=d.stringRepeat(y.SPACE_CHAR,k.length),E.appendChild(C)}else if(_){c+=1;var C=this.dom.createElement("span");C.style.width=y.config.characterWidth*2+"px",C.className=y.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",C.textContent=y.showSpaces?y.SPACE_CHAR:_,E.appendChild(C)}else if(O){c+=1;var C=this.dom.createElement("span");C.style.width=y.config.characterWidth*2+"px",C.className="ace_cjk",C.textContent=O,E.appendChild(C)}}}if(E.appendChild(this.dom.createTextNode(g?m.slice(g):m,this.element)),t(f.type))o.appendChild(E);else{var w="ace_"+f.type.replace(/\./g," ace_"),C=this.dom.createElement("span");f.type=="fold"&&(C.style.width=f.value.length*this.config.characterWidth+"px",C.setAttribute("title",e("inline-fold.closed.title","Unfold code"))),C.className=w,C.appendChild(E),o.appendChild(C)}return c+m.length},l.prototype.renderIndentGuide=function(o,c,f){var m=c.search(this.$indentGuideRe);if(m<=0||m>=f)return c;if(c[0]==" "){m-=m%this.tabSize;for(var y=m/this.tabSize,D=0;DD[E].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&o[c.row]!==""&&c.column===o[c.row].length){this.$highlightIndentGuideMarker.dir=1;for(var E=c.row+1;E0)m=o.element.childNodes[0];else return;var y=m.childNodes;if(y){var D=y[c-1];D&&D.classList&&D.classList.contains("ace_indent-guide")&&D.classList.add("ace_indent-guide-active")}}},l.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var o=this.$lines.cells;this.$clearActiveIndentGuide();var c=this.$highlightIndentGuideMarker.indentLevel;if(c!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var f=0;f=this.$highlightIndentGuideMarker.start+1){if(m.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(m,c)}}else for(var f=o.length-1;f>=0;f--){var m=o[f];if(this.$highlightIndentGuideMarker.end&&m.row=D;)E=this.$renderToken(b,E,S,T.substring(0,D-m)),T=T.substring(D-m),m=D,b=this.$createLineElement(),o.appendChild(b),b.appendChild(this.dom.createTextNode(d.stringRepeat(" ",f.indent),this.element)),y++,E=0,D=f[y]||Number.MAX_VALUE;T.length!=0&&(m+=T.length,E=this.$renderToken(b,E,S,T))}}f[f.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(b,E,null,"",!0)},l.prototype.$renderSimpleLine=function(o,c){for(var f=0,m=0;mthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(o,f,y,D);f=this.$renderToken(o,f,y,D)}}},l.prototype.$renderOverflowMessage=function(o,c,f,m,y){f&&this.$renderToken(o,c,f,m.slice(0,this.MAX_LINE_LENGTH-c));var D=this.dom.createElement("span");D.className="ace_inline_button ace_keyword ace_toggle_wrap",D.textContent=y?"":"",o.appendChild(D)},l.prototype.$renderLine=function(o,c,f){if(!f&&f!=!1&&(f=this.session.getFoldLine(c)),f)var m=this.$getFoldLineTokens(c,f);else var m=this.session.getTokens(c);var y=o;if(m.length){var D=this.session.getRowSplitData(c);if(D&&D.length){this.$renderWrappedLine(o,m,D);var y=o.lastChild}else{var y=o;this.$useLineGroups()&&(y=this.$createLineElement(),o.appendChild(y)),this.$renderSimpleLine(y,m)}}else this.$useLineGroups()&&(y=this.$createLineElement(),o.appendChild(y));if(this.showEOL&&y){f&&(c=f.end.row);var E=this.dom.createElement("span");E.className="ace_invisible ace_invisible_eol",E.textContent=c==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,y.appendChild(E)}},l.prototype.$getFoldLineTokens=function(o,c){var f=this.session,m=[];function y(E,b,g){for(var S=0,T=0;T+E[S].value.lengthg-b&&(k=k.substring(0,g-b)),m.push({type:E[S].type,value:k}),T=b+k.length,S+=1}for(;Tg?m.push({type:E[S].type,value:k.substring(0,g-T)}):m.push(E[S]),T+=k.length,S+=1}}var D=f.getTokens(o);return c.walk(function(E,b,g,S,T){E!=null?m.push({type:"fold",value:E}):(T&&(D=f.getTokens(b)),D.length&&y(D,S,g))},c.end.row,this.session.getLine(c.end.row).length),m},l.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},l}();r.prototype.EOF_CHAR="¶",r.prototype.EOL_CHAR_LF="¬",r.prototype.EOL_CHAR_CRLF="¤",r.prototype.EOL_CHAR=r.prototype.EOL_CHAR_LF,r.prototype.TAB_CHAR="—",r.prototype.SPACE_CHAR="·",r.prototype.$padding=0,r.prototype.MAX_LINE_LENGTH=1e4,r.prototype.showInvisibles=!1,r.prototype.showSpaces=!1,r.prototype.showTabs=!1,r.prototype.showEOL=!1,r.prototype.displayIndentGuides=!0,r.prototype.$highlightIndentGuides=!0,r.prototype.$tabStrings=[],r.prototype.destroy={},r.prototype.onChangeTabSize=r.prototype.$computeTabString,s.implement(r.prototype,p),h.Text=r}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(i,h,v){var s=i("../lib/dom"),u=function(){function d(a){this.element=s.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),s.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return d.prototype.$updateOpacity=function(a){for(var p=this.cursors,e=p.length;e--;)s.setStyle(p[e].style,"opacity",a?"":"0")},d.prototype.$startCssAnimation=function(){for(var a=this.cursors,p=a.length;p--;)a[p].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&s.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},d.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,s.removeCssClass(this.element,"ace_animate-blinking")},d.prototype.setPadding=function(a){this.$padding=a},d.prototype.setSession=function(a){this.session=a},d.prototype.setBlinking=function(a){a!=this.isBlinking&&(this.isBlinking=a,this.restartTimer())},d.prototype.setBlinkInterval=function(a){a!=this.blinkInterval&&(this.blinkInterval=a,this.restartTimer())},d.prototype.setSmoothBlinking=function(a){a!=this.smoothBlinking&&(this.smoothBlinking=a,s.setCssClass(this.element,"ace_smooth-blinking",a),this.$updateCursors(!0),this.restartTimer())},d.prototype.addCursor=function(){var a=s.createElement("div");return a.className="ace_cursor",this.element.appendChild(a),this.cursors.push(a),a},d.prototype.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},d.prototype.hideCursor=function(){this.isVisible=!1,s.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},d.prototype.showCursor=function(){this.isVisible=!0,s.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},d.prototype.restartTimer=function(){var a=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,s.removeCssClass(this.element,"ace_smooth-blinking")),a(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&s.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),s.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var p=function(){this.timeoutId=setTimeout(function(){a(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){a(!0),p()},this.blinkInterval),p()}},d.prototype.getPixelPosition=function(a,p){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var e=this.session.documentToScreenPosition(a),t=this.$padding+(this.session.$bidiHandler.isBidiRow(e.row,a.row)?this.session.$bidiHandler.getPosLeft(e.column):e.column*this.config.characterWidth),r=(e.row-(p?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:t,top:r}},d.prototype.isCursorInView=function(a,p){return a.top>=0&&a.topa.height+a.offset||l.top<0)&&e>1)){var o=this.cursors[t++]||this.addCursor(),c=o.style;this.drawCursor?this.drawCursor(o,l,a,p[e],this.session):this.isCursorInView(l,a)?(s.setStyle(c,"display","block"),s.translate(o,l.left,l.top),s.setStyle(c,"width",Math.round(a.characterWidth)+"px"),s.setStyle(c,"height",a.lineHeight+"px")):s.setStyle(c,"display","none")}}for(;this.cursors.length>t;)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=l,this.restartTimer()},d.prototype.$setOverwrite=function(a){a!=this.overwrite&&(this.overwrite=a,a?s.addCssClass(this.element,"ace_overwrite-cursors"):s.removeCssClass(this.element,"ace_overwrite-cursors"))},d.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},d}();u.prototype.$padding=0,u.prototype.drawCursor=null,h.Cursor=u}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(i,h,v){var s=this&&this.__extends||function(){var o=function(c,f){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,y){m.__proto__=y}||function(m,y){for(var D in y)Object.prototype.hasOwnProperty.call(y,D)&&(m[D]=y[D])},o(c,f)};return function(c,f){if(typeof f!="function"&&f!==null)throw new TypeError("Class extends value "+String(f)+" is not a constructor or null");o(c,f);function m(){this.constructor=c}c.prototype=f===null?Object.create(f):(m.prototype=f.prototype,new m)}}(),u=i("./lib/oop"),d=i("./lib/dom"),a=i("./lib/event"),p=i("./lib/event_emitter").EventEmitter,e=32768,t=function(){function o(c,f){this.element=d.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+f,this.inner=d.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),c.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addListener(this.element,"scroll",this.onScroll.bind(this)),a.addListener(this.element,"mousedown",a.preventDefault)}return o.prototype.setVisible=function(c){this.element.style.display=c?"":"none",this.isVisible=c,this.coeff=1},o}();u.implement(t.prototype,p);var r=function(o){s(c,o);function c(f,m){var y=o.call(this,f,"-v")||this;return y.scrollTop=0,y.scrollHeight=0,m.$scrollbarWidth=y.width=d.scrollbarWidth(f.ownerDocument),y.inner.style.width=y.element.style.width=(y.width||15)+5+"px",y.$minWidth=0,y}return c.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var f=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-f)/(this.coeff-f)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},c.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},c.prototype.setHeight=function(f){this.element.style.height=f+"px"},c.prototype.setScrollHeight=function(f){this.scrollHeight=f,f>e?(this.coeff=e/f,f=e):this.coeff!=1&&(this.coeff=1),this.inner.style.height=f+"px"},c.prototype.setScrollTop=function(f){this.scrollTop!=f&&(this.skipEvent=!0,this.scrollTop=f,this.element.scrollTop=f*this.coeff)},c}(t);r.prototype.setInnerHeight=r.prototype.setScrollHeight;var l=function(o){s(c,o);function c(f,m){var y=o.call(this,f,"-h")||this;return y.scrollLeft=0,y.height=m.$scrollbarWidth,y.inner.style.height=y.element.style.height=(y.height||15)+5+"px",y}return c.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},c.prototype.getHeight=function(){return this.isVisible?this.height:0},c.prototype.setWidth=function(f){this.element.style.width=f+"px"},c.prototype.setInnerWidth=function(f){this.inner.style.width=f+"px"},c.prototype.setScrollWidth=function(f){this.inner.style.width=f+"px"},c.prototype.setScrollLeft=function(f){this.scrollLeft!=f&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=f)},c}(t);h.ScrollBar=r,h.ScrollBarV=r,h.ScrollBarH=l,h.VScrollBar=r,h.HScrollBar=l}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(i,h,v){var s=this&&this.__extends||function(){var l=function(o,c){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,m){f.__proto__=m}||function(f,m){for(var y in m)Object.prototype.hasOwnProperty.call(m,y)&&(f[y]=m[y])},l(o,c)};return function(o,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");l(o,c);function f(){this.constructor=o}o.prototype=c===null?Object.create(c):(f.prototype=c.prototype,new f)}}(),u=i("./lib/oop"),d=i("./lib/dom"),a=i("./lib/event"),p=i("./lib/event_emitter").EventEmitter;d.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{ + position: absolute; + background: rgba(128, 128, 128, 0.6); + -moz-box-sizing: border-box; + box-sizing: border-box; + border: 1px solid #bbb; + border-radius: 2px; + z-index: 8; +} +.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h { + position: absolute; + z-index: 6; + background: none; + overflow: hidden!important; +} +.ace_editor>.ace_sb-v { + z-index: 6; + right: 0; + top: 0; + width: 12px; +} +.ace_editor>.ace_sb-v div { + z-index: 8; + right: 0; + width: 100%; +} +.ace_editor>.ace_sb-h { + bottom: 0; + left: 0; + height: 12px; +} +.ace_editor>.ace_sb-h div { + bottom: 0; + height: 100%; +} +.ace_editor>.ace_sb_grabbed { + z-index: 8; + background: #000; +}`,"ace_scrollbar.css",!1);var e=function(){function l(o,c){this.element=d.createElement("div"),this.element.className="ace_sb"+c,this.inner=d.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,o.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,a.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return l.prototype.setVisible=function(o){this.element.style.display=o?"":"none",this.isVisible=o,this.coeff=1},l}();u.implement(e.prototype,p);var t=function(l){s(o,l);function o(c,f){var m=l.call(this,c,"-v")||this;return m.scrollTop=0,m.scrollHeight=0,m.parent=c,m.width=m.VScrollWidth,m.renderer=f,m.inner.style.width=m.element.style.width=(m.width||15)+"px",m.$minWidth=0,m}return o.prototype.onMouseDown=function(c,f){if(c==="mousedown"&&!(a.getButton(f)!==0||f.detail===2)){if(f.target===this.inner){var m=this,y=f.clientY,D=function(_){y=_.clientY},E=function(){clearInterval(T)},b=f.clientY,g=this.thumbTop,S=function(){if(y!==void 0){var _=m.scrollTopFromThumbTop(g+y-b);_!==m.scrollTop&&m._emit("scroll",{data:_})}};a.capture(this.inner,D,E);var T=setInterval(S,20);return a.preventDefault(f)}var k=f.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(k)}),a.preventDefault(f)}},o.prototype.getHeight=function(){return this.height},o.prototype.scrollTopFromThumbTop=function(c){var f=c*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return f=f>>0,f<0?f=0:f>this.pageHeight-this.viewHeight&&(f=this.pageHeight-this.viewHeight),f},o.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},o.prototype.setHeight=function(c){this.height=Math.max(0,c),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},o.prototype.setScrollHeight=function(c,f){this.pageHeight===c&&!f||(this.pageHeight=c,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},o.prototype.setScrollTop=function(c){this.scrollTop=c,c<0&&(c=0),this.thumbTop=c*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},o}(e);t.prototype.setInnerHeight=t.prototype.setScrollHeight;var r=function(l){s(o,l);function o(c,f){var m=l.call(this,c,"-h")||this;return m.scrollLeft=0,m.scrollWidth=0,m.height=m.HScrollHeight,m.inner.style.height=m.element.style.height=(m.height||12)+"px",m.renderer=f,m}return o.prototype.onMouseDown=function(c,f){if(c==="mousedown"&&!(a.getButton(f)!==0||f.detail===2)){if(f.target===this.inner){var m=this,y=f.clientX,D=function(_){y=_.clientX},E=function(){clearInterval(T)},b=f.clientX,g=this.thumbLeft,S=function(){if(y!==void 0){var _=m.scrollLeftFromThumbLeft(g+y-b);_!==m.scrollLeft&&m._emit("scroll",{data:_})}};a.capture(this.inner,D,E);var T=setInterval(S,20);return a.preventDefault(f)}var k=f.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(k)}),a.preventDefault(f)}},o.prototype.getHeight=function(){return this.isVisible?this.height:0},o.prototype.scrollLeftFromThumbLeft=function(c){var f=c*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return f=f>>0,f<0?f=0:f>this.pageWidth-this.viewWidth&&(f=this.pageWidth-this.viewWidth),f},o.prototype.setWidth=function(c){this.width=Math.max(0,c),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},o.prototype.setScrollWidth=function(c,f){this.pageWidth===c&&!f||(this.pageWidth=c,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},o.prototype.setScrollLeft=function(c){this.scrollLeft=c,c<0&&(c=0),this.thumbLeft=c*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},o}(e);r.prototype.setInnerWidth=r.prototype.setScrollWidth,h.ScrollBar=t,h.ScrollBarV=t,h.ScrollBarH=r,h.VScrollBar=t,h.HScrollBar=r}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(i,h,v){var s=i("./lib/event"),u=function(){function d(a,p){this.onRender=a,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=p||window;var e=this;this._flush=function(t){e.pending=!1;var r=e.changes;if(r&&(s.blockIdle(100),e.changes=0,e.onRender(r)),e.changes){if(e.$recursionLimit--<0)return;e.schedule()}else e.$recursionLimit=2}}return d.prototype.schedule=function(a){this.changes=this.changes|a,this.changes&&!this.pending&&(s.nextFrame(this._flush),this.pending=!0)},d.prototype.clear=function(a){var p=this.changes;return this.changes=0,p},d}();h.RenderLoop=u}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(i,h,v){var s=i("../lib/oop"),u=i("../lib/dom"),d=i("../lib/lang"),a=i("../lib/event"),p=i("../lib/useragent"),e=i("../lib/event_emitter").EventEmitter,t=512,r=typeof ResizeObserver=="function",l=200,o=function(){function c(f){this.el=u.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=u.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=u.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),f.appendChild(this.el),this.$measureNode.textContent=d.stringRepeat("X",t),this.$characterSize={width:0,height:0},r?this.$addObserver():this.checkForSizeChanges()}return c.prototype.$setMeasureNodeStyles=function(f,m){f.width=f.height="auto",f.left=f.top="0px",f.visibility="hidden",f.position="absolute",f.whiteSpace="pre",p.isIE<8?f["font-family"]="inherit":f.font="inherit",f.overflow=m?"hidden":"visible"},c.prototype.checkForSizeChanges=function(f){if(f===void 0&&(f=this.$measureSizes()),f&&(this.$characterSize.width!==f.width||this.$characterSize.height!==f.height)){this.$measureNode.style.fontWeight="bold";var m=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=f,this.charSizes=Object.create(null),this.allowBoldFonts=m&&m.width===f.width&&m.height===f.height,this._emit("changeCharacterSize",{data:f})}},c.prototype.$addObserver=function(){var f=this;this.$observer=new window.ResizeObserver(function(m){f.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},c.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var f=this;return this.$pollSizeChangesTimer=a.onIdle(function m(){f.checkForSizeChanges(),a.onIdle(m,500)},500)},c.prototype.setPolling=function(f){f?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},c.prototype.$measureSizes=function(f){var m={height:(f||this.$measureNode).clientHeight,width:(f||this.$measureNode).clientWidth/t};return m.width===0||m.height===0?null:m},c.prototype.$measureCharWidth=function(f){this.$main.textContent=d.stringRepeat(f,t);var m=this.$main.getBoundingClientRect();return m.width/t},c.prototype.getCharacterWidth=function(f){var m=this.charSizes[f];return m===void 0&&(m=this.charSizes[f]=this.$measureCharWidth(f)/this.$characterSize.width),m},c.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},c.prototype.$getZoom=function(f){return!f||!f.parentElement?1:(Number(window.getComputedStyle(f).zoom)||1)*this.$getZoom(f.parentElement)},c.prototype.$initTransformMeasureNodes=function(){var f=function(m,y){return["div",{style:"position: absolute;top:"+m+"px;left:"+y+"px;"}]};this.els=u.buildDom([f(0,0),f(l,0),f(0,l),f(l,l)],this.el)},c.prototype.transformCoordinates=function(f,m){if(f){var y=this.$getZoom(this.el);f=g(1/y,f)}function D(B,P,V){var W=B[1]*P[0]-B[0]*P[1];return[(-P[1]*V[0]+P[0]*V[1])/W,(+B[1]*V[0]-B[0]*V[1])/W]}function E(B,P){return[B[0]-P[0],B[1]-P[1]]}function b(B,P){return[B[0]+P[0],B[1]+P[1]]}function g(B,P){return[B*P[0],B*P[1]]}this.els||this.$initTransformMeasureNodes();function S(B){var P=B.getBoundingClientRect();return[P.left,P.top]}var T=S(this.els[0]),k=S(this.els[1]),_=S(this.els[2]),O=S(this.els[3]),$=D(E(O,k),E(O,_),E(b(k,_),b(O,T))),A=g(1+$[0],E(k,T)),C=g(1+$[1],E(_,T));if(m){var w=m,x=$[0]*w[0]/l+$[1]*w[1]/l+1,I=b(g(w[0],A),g(w[1],C));return b(g(1/x/l,I),T)}var F=E(f,T),R=D(E(A,g($[0],F)),E(C,g($[1],F)),F);return g(l,R)},c}();o.prototype.$characterSize={width:0,height:0},s.implement(o.prototype,e),h.FontMetrics=o}),ace.define("ace/css/editor-css",["require","exports","module"],function(i,h,v){v.exports=` +.ace_br1 {border-top-left-radius : 3px;} +.ace_br2 {border-top-right-radius : 3px;} +.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;} +.ace_br4 {border-bottom-right-radius: 3px;} +.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;} +.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;} +.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;} +.ace_br8 {border-bottom-left-radius : 3px;} +.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;} +.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;} +.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;} +.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} +.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} +.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} +.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} + + +.ace_editor { + position: relative; + overflow: hidden; + padding: 0; + font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace; + direction: ltr; + text-align: left; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + forced-color-adjust: none; +} + +.ace_scroller { + position: absolute; + overflow: hidden; + top: 0; + bottom: 0; + background-color: inherit; + -ms-user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; + cursor: text; +} + +.ace_content { + position: absolute; + box-sizing: border-box; + min-width: 100%; + contain: style size layout; + font-variant-ligatures: no-common-ligatures; +} +.ace_invisible { + font-variant-ligatures: none; +} + +.ace_keyboard-focus:focus { + box-shadow: inset 0 0 0 2px #5E9ED6; + outline: none; +} + +.ace_dragging .ace_scroller:before{ + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + content: ''; + background: rgba(250, 250, 250, 0.01); + z-index: 1000; +} +.ace_dragging.ace_dark .ace_scroller:before{ + background: rgba(0, 0, 0, 0.01); +} + +.ace_gutter { + position: absolute; + overflow : hidden; + width: auto; + top: 0; + bottom: 0; + left: 0; + cursor: default; + z-index: 4; + -ms-user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; + contain: style size layout; +} + +.ace_gutter-active-line { + position: absolute; + left: 0; + right: 0; +} + +.ace_scroller.ace_scroll-left:after { + content: ""; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset; + pointer-events: none; +} + +.ace_gutter-cell, .ace_gutter-cell_svg-icons { + position: absolute; + top: 0; + left: 0; + right: 0; + padding-left: 19px; + padding-right: 6px; + background-repeat: no-repeat; +} + +.ace_gutter-cell_svg-icons .ace_gutter_annotation { + margin-left: -14px; + float: left; +} + +.ace_gutter-cell .ace_gutter_annotation { + margin-left: -19px; + float: left; +} + +.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg=="); + background-repeat: no-repeat; + background-position: 2px center; +} + +.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg=="); + background-repeat: no-repeat; + background-position: 2px center; +} + +.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII="); + background-repeat: no-repeat; + background-position: 2px center; +} + +.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC"); +} + +.ace_icon_svg.ace_error { + -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+"); + background-color: crimson; +} +.ace_icon_svg.ace_security { + -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+"); + background-color: crimson; +} +.ace_icon_svg.ace_warning { + -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg=="); + background-color: darkorange; +} +.ace_icon_svg.ace_info { + -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg=="); + background-color: royalblue; +} +.ace_icon_svg.ace_hint { + -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg=="); + background-color: silver; +} + +.ace_icon_svg.ace_error_fold { + -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4="); + background-color: crimson; +} +.ace_icon_svg.ace_security_fold { + -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4="); + background-color: crimson; +} +.ace_icon_svg.ace_warning_fold { + -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4="); + background-color: darkorange; +} + +.ace_scrollbar { + contain: strict; + position: absolute; + right: 0; + bottom: 0; + z-index: 6; +} + +.ace_scrollbar-inner { + position: absolute; + cursor: text; + left: 0; + top: 0; +} + +.ace_scrollbar-v{ + overflow-x: hidden; + overflow-y: scroll; + top: 0; +} + +.ace_scrollbar-h { + overflow-x: scroll; + overflow-y: hidden; + left: 0; +} + +.ace_print-margin { + position: absolute; + height: 100%; +} + +.ace_text-input { + position: absolute; + z-index: 0; + width: 0.5em; + height: 1em; + opacity: 0; + background: transparent; + -moz-appearance: none; + appearance: none; + border: none; + resize: none; + outline: none; + overflow: hidden; + font: inherit; + padding: 0 1px; + margin: 0 -1px; + contain: strict; + -ms-user-select: text; + -moz-user-select: text; + -webkit-user-select: text; + user-select: text; + /*with \`pre-line\` chrome inserts   instead of space*/ + white-space: pre!important; +} +.ace_text-input.ace_composition { + background: transparent; + color: inherit; + z-index: 1000; + opacity: 1; +} +.ace_composition_placeholder { color: transparent } +.ace_composition_marker { + border-bottom: 1px solid; + position: absolute; + border-radius: 0; + margin-top: 1px; +} + +[ace_nocontext=true] { + transform: none!important; + filter: none!important; + clip-path: none!important; + mask : none!important; + contain: none!important; + perspective: none!important; + mix-blend-mode: initial!important; + z-index: auto; +} + +.ace_layer { + z-index: 1; + position: absolute; + overflow: hidden; + /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/ + word-wrap: normal; + white-space: pre; + height: 100%; + width: 100%; + box-sizing: border-box; + /* setting pointer-events: auto; on node under the mouse, which changes + during scroll, will break mouse wheel scrolling in Safari */ + pointer-events: none; +} + +.ace_gutter-layer { + position: relative; + width: auto; + text-align: right; + pointer-events: auto; + height: 1000000px; + contain: style size layout; +} + +.ace_text-layer { + font: inherit !important; + position: absolute; + height: 1000000px; + width: 1000000px; + contain: style size layout; +} + +.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group { + contain: style size layout; + position: absolute; + top: 0; + left: 0; + right: 0; +} + +.ace_hidpi .ace_text-layer, +.ace_hidpi .ace_gutter-layer, +.ace_hidpi .ace_content, +.ace_hidpi .ace_gutter { + contain: strict; +} +.ace_hidpi .ace_text-layer > .ace_line, +.ace_hidpi .ace_text-layer > .ace_line_group { + contain: strict; +} + +.ace_cjk { + display: inline-block; + text-align: center; +} + +.ace_cursor-layer { + z-index: 4; +} + +.ace_cursor { + z-index: 4; + position: absolute; + box-sizing: border-box; + border-left: 2px solid; + /* workaround for smooth cursor repaintng whole screen in chrome */ + transform: translatez(0); +} + +.ace_multiselect .ace_cursor { + border-left-width: 1px; +} + +.ace_slim-cursors .ace_cursor { + border-left-width: 1px; +} + +.ace_overwrite-cursors .ace_cursor { + border-left-width: 0; + border-bottom: 1px solid; +} + +.ace_hidden-cursors .ace_cursor { + opacity: 0.2; +} + +.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor { + opacity: 0; +} + +.ace_smooth-blinking .ace_cursor { + transition: opacity 0.18s; +} + +.ace_animate-blinking .ace_cursor { + animation-duration: 1000ms; + animation-timing-function: step-end; + animation-name: blink-ace-animate; + animation-iteration-count: infinite; +} + +.ace_animate-blinking.ace_smooth-blinking .ace_cursor { + animation-duration: 1000ms; + animation-timing-function: ease-in-out; + animation-name: blink-ace-animate-smooth; +} + +@keyframes blink-ace-animate { + from, to { opacity: 1; } + 60% { opacity: 0; } +} + +@keyframes blink-ace-animate-smooth { + from, to { opacity: 1; } + 45% { opacity: 1; } + 60% { opacity: 0; } + 85% { opacity: 0; } +} + +.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack { + position: absolute; + z-index: 3; +} + +.ace_marker-layer .ace_selection { + position: absolute; + z-index: 5; +} + +.ace_marker-layer .ace_bracket { + position: absolute; + z-index: 6; +} + +.ace_marker-layer .ace_error_bracket { + position: absolute; + border-bottom: 1px solid #DE5555; + border-radius: 0; +} + +.ace_marker-layer .ace_active-line { + position: absolute; + z-index: 2; +} + +.ace_marker-layer .ace_selected-word { + position: absolute; + z-index: 4; + box-sizing: border-box; +} + +.ace_line .ace_fold { + box-sizing: border-box; + + display: inline-block; + height: 11px; + margin-top: -2px; + vertical-align: middle; + + background-image: + url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="), + url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII="); + background-repeat: no-repeat, repeat-x; + background-position: center center, top left; + color: transparent; + + border: 1px solid black; + border-radius: 2px; + + cursor: pointer; + pointer-events: auto; +} + +.ace_dark .ace_fold { +} + +.ace_fold:hover{ + background-image: + url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="), + url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC"); +} + +.ace_tooltip { + background-color: #f5f5f5; + border: 1px solid gray; + border-radius: 1px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); + color: black; + padding: 3px 4px; + position: fixed; + z-index: 999999; + box-sizing: border-box; + cursor: default; + white-space: pre-wrap; + word-wrap: break-word; + line-height: normal; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + pointer-events: none; + overflow: auto; + max-width: min(33em, 66vw); + overscroll-behavior: contain; +} +.ace_tooltip pre { + white-space: pre-wrap; +} + +.ace_tooltip.ace_dark { + background-color: #636363; + color: #fff; +} + +.ace_tooltip:focus { + outline: 1px solid #5E9ED6; +} + +.ace_icon { + display: inline-block; + width: 18px; + vertical-align: top; +} + +.ace_icon_svg { + display: inline-block; + width: 12px; + vertical-align: top; + -webkit-mask-repeat: no-repeat; + -webkit-mask-size: 12px; + -webkit-mask-position: center; +} + +.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons { + padding-right: 13px; +} + +.ace_fold-widget, .ace_custom-widget { + box-sizing: border-box; + + margin: 0 -12px 0 1px; + display: none; + width: 11px; + vertical-align: top; + + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg=="); + background-repeat: no-repeat; + background-position: center; + + border-radius: 3px; + + border: 1px solid transparent; + cursor: pointer; +} + +.ace_custom-widget { + background: none; +} + +.ace_folding-enabled .ace_fold-widget { + display: inline-block; +} + +.ace_fold-widget.ace_end { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg=="); +} + +.ace_fold-widget.ace_closed { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA=="); +} + +.ace_fold-widget:hover { + border: 1px solid rgba(0, 0, 0, 0.3); + background-color: rgba(255, 255, 255, 0.2); + box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7); +} + +.ace_fold-widget:active { + border: 1px solid rgba(0, 0, 0, 0.4); + background-color: rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8); +} +/** + * Dark version for fold widgets + */ +.ace_dark .ace_fold-widget { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC"); +} +.ace_dark .ace_fold-widget.ace_end { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg=="); +} +.ace_dark .ace_fold-widget.ace_closed { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg=="); +} +.ace_dark .ace_fold-widget:hover { + box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2); + background-color: rgba(255, 255, 255, 0.1); +} +.ace_dark .ace_fold-widget:active { + box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2); +} + +.ace_inline_button { + border: 1px solid lightgray; + display: inline-block; + margin: -1px 8px; + padding: 0 5px; + pointer-events: auto; + cursor: pointer; +} +.ace_inline_button:hover { + border-color: gray; + background: rgba(200,200,200,0.2); + display: inline-block; + pointer-events: auto; +} + +.ace_fold-widget.ace_invalid { + background-color: #FFB4B4; + border-color: #DE5555; +} + +.ace_fade-fold-widgets .ace_fold-widget { + transition: opacity 0.4s ease 0.05s; + opacity: 0; +} + +.ace_fade-fold-widgets:hover .ace_fold-widget { + transition: opacity 0.05s ease 0.05s; + opacity:1; +} + +.ace_underline { + text-decoration: underline; +} + +.ace_bold { + font-weight: bold; +} + +.ace_nobold .ace_bold { + font-weight: normal; +} + +.ace_italic { + font-style: italic; +} + + +.ace_error-marker { + background-color: rgba(255, 0, 0,0.2); + position: absolute; + z-index: 9; +} + +.ace_highlight-marker { + background-color: rgba(255, 255, 0,0.2); + position: absolute; + z-index: 8; +} + +.ace_mobile-menu { + position: absolute; + line-height: 1.5; + border-radius: 4px; + -ms-user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + user-select: none; + background: white; + box-shadow: 1px 3px 2px grey; + border: 1px solid #dcdcdc; + color: black; +} +.ace_dark > .ace_mobile-menu { + background: #333; + color: #ccc; + box-shadow: 1px 3px 2px grey; + border: 1px solid #444; + +} +.ace_mobile-button { + padding: 2px; + cursor: pointer; + overflow: hidden; +} +.ace_mobile-button:hover { + background-color: #eee; + opacity:1; +} +.ace_mobile-button:active { + background-color: #ddd; +} + +.ace_placeholder { + position: relative; + font-family: arial; + transform: scale(0.9); + transform-origin: left; + white-space: pre; + opacity: 0.7; + margin: 0 10px; + z-index: 1; +} + +.ace_ghost_text { + opacity: 0.5; + font-style: italic; +} + +.ace_ghost_text_container > div { + white-space: pre; +} + +.ghost_text_line_wrapped::after { + content: "↩"; + position: absolute; +} + +.ace_lineWidgetContainer.ace_ghost_text { + margin: 0px 4px +} + +.ace_screenreader-only { + position:absolute; + left:-10000px; + top:auto; + width:1px; + height:1px; + overflow:hidden; +} + +.ace_hidden_token { + display: none; +}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(i,h,v){var s=i("../lib/dom"),u=i("../lib/oop"),d=i("../lib/event_emitter").EventEmitter,a=function(){function p(e,t){this.parentEl=e,this.canvas=s.createElement("canvas"),this.renderer=t,this.pixelRatio=1,this.maxHeight=t.layerConfig.maxHeight,this.lineHeight=t.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setDimensions(),e.element.appendChild(this.canvas)}return p.prototype.$updateDecorators=function(e){var t=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(e);var r=this.canvas.getContext("2d");function l(k,_){return k.priority<_.priority?-1:k.priority>_.priority?1:0}var o=this.renderer.session.$annotations;if(r.clearRect(0,0,this.canvas.width,this.canvas.height),o){var c={info:1,warning:2,error:3};o.forEach(function(k){k.priority=c[k.type]||null}),o=o.sort(l);for(var f=0;fthis.canvasHeight&&(S=this.canvasHeight-this.halfMinDecorationHeight),E=Math.round(S-this.halfMinDecorationHeight),b=Math.round(S+this.halfMinDecorationHeight)}r.fillStyle=t[o[f].type]||null,r.fillRect(0,D,this.canvasWidth,b-E)}}var T=this.renderer.session.selection.getCursor();if(T){var y=this.compensateFoldRows(T.row),D=Math.round((T.row-y)*this.lineHeight*this.heightRatio);r.fillStyle="rgba(0, 0, 0, 0.5)",r.fillRect(0,D,this.canvasWidth,2)}},p.prototype.compensateFoldRows=function(e){var t=this.renderer.session.$foldData,r=0;if(t&&t.length>0)for(var l=0;lt[l].start.row&&e=t[l].end.row&&(r+=t[l].end.row-t[l].start.row);return r},p.prototype.compensateLineWidgets=function(e){var t=this.renderer.session.widgetManager;if(t){var r=0;return t.lineWidgets.forEach(function(l,o){e>o&&(r+=l.rowCount||0)}),r-1}return 0},p.prototype.setDimensions=function(e){e?(this.maxHeight=e.maxHeight,this.lineHeight=e.lineHeight,this.canvasHeight=e.height,this.maxHeight_&&(this.$changedLines.firstRow=_),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},k.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},k.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},k.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},k.prototype.updateFull=function(_){_?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},k.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},k.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},k.prototype.onResize=function(_,O,$,A){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=_?1:0;var C=this.container;A||(A=C.clientHeight||C.scrollHeight),!A&&this.$maxLines&&this.lineHeight>1&&(!C.style.height||C.style.height=="0px")&&(C.style.height="1px",A=C.clientHeight||C.scrollHeight),$||($=C.clientWidth||C.scrollWidth);var w=this.$updateCachedSize(_,O,$,A);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!$&&!A)return this.resizing=0;_&&(this.$gutterLayer.$padding=null),_?this.$renderChanges(w|this.$changes,!0):this.$loop.schedule(w|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},k.prototype.$updateCachedSize=function(_,O,$,A){A-=this.$extraHeight||0;var C=0,w=this.$size,x={width:w.width,height:w.height,scrollerHeight:w.scrollerHeight,scrollerWidth:w.scrollerWidth};if(A&&(_||w.height!=A)&&(w.height=A,C|=this.CHANGE_SIZE,w.scrollerHeight=w.height,this.$horizScroll&&(w.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(w.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",C=C|this.CHANGE_SCROLL),$&&(_||w.width!=$)){C|=this.CHANGE_SIZE,w.width=$,O==null&&(O=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=O,u.setStyle(this.scrollBarH.element.style,"left",O+"px"),u.setStyle(this.scroller.style,"left",O+this.margin.left+"px"),w.scrollerWidth=Math.max(0,$-O-this.scrollBarV.getWidth()-this.margin.h),u.setStyle(this.$gutter.style,"left",this.margin.left+"px");var I=this.scrollBarV.getWidth()+"px";u.setStyle(this.scrollBarH.element.style,"right",I),u.setStyle(this.scroller.style,"right",I),u.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(w.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||_)&&(C|=this.CHANGE_FULL)}return w.$dirty=!$||!A,C&&this._signal("resize",x),C},k.prototype.onGutterResize=function(_){var O=this.$showGutter?_:0;O!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,O,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},k.prototype.adjustWrapLimit=function(){var _=this.$size.scrollerWidth-this.$padding*2,O=Math.floor(_/this.characterWidth);return this.session.adjustWrapLimit(O,this.$showPrintMargin&&this.$printMarginColumn)},k.prototype.setAnimatedScroll=function(_){this.setOption("animatedScroll",_)},k.prototype.getAnimatedScroll=function(){return this.$animatedScroll},k.prototype.setShowInvisibles=function(_){this.setOption("showInvisibles",_),this.session.$bidiHandler.setShowInvisibles(_)},k.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},k.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},k.prototype.setDisplayIndentGuides=function(_){this.setOption("displayIndentGuides",_)},k.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},k.prototype.setHighlightIndentGuides=function(_){this.setOption("highlightIndentGuides",_)},k.prototype.setShowPrintMargin=function(_){this.setOption("showPrintMargin",_)},k.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},k.prototype.setPrintMarginColumn=function(_){this.setOption("printMarginColumn",_)},k.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},k.prototype.getShowGutter=function(){return this.getOption("showGutter")},k.prototype.setShowGutter=function(_){return this.setOption("showGutter",_)},k.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},k.prototype.setFadeFoldWidgets=function(_){this.setOption("fadeFoldWidgets",_)},k.prototype.setHighlightGutterLine=function(_){this.setOption("highlightGutterLine",_)},k.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},k.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var _=u.createElement("div");_.className="ace_layer ace_print-margin-layer",this.$printMarginEl=u.createElement("div"),this.$printMarginEl.className="ace_print-margin",_.appendChild(this.$printMarginEl),this.content.insertBefore(_,this.content.firstChild)}var O=this.$printMarginEl.style;O.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",O.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},k.prototype.getContainerElement=function(){return this.container},k.prototype.getMouseEventTarget=function(){return this.scroller},k.prototype.getTextAreaContainer=function(){return this.container},k.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var _=this.textarea.style,O=this.$composition;if(!this.$keepTextAreaAtCursor&&!O){u.translate(this.textarea,-100,0);return}var $=this.$cursorLayer.$pixelPos;if($){O&&O.markerRange&&($=this.$cursorLayer.getPixelPosition(O.markerRange.start,!0));var A=this.layerConfig,C=$.top,w=$.left;C-=A.offset;var x=O&&O.useTextareaForIME||g.isMobile?this.lineHeight:1;if(C<0||C>A.height-x){u.translate(this.textarea,0,0);return}var I=1,F=this.$size.height-x;if(!O)C+=this.lineHeight;else if(O.useTextareaForIME){var R=this.textarea.value;I=this.characterWidth*this.session.$getStringScreenWidth(R)[0]}else C+=this.lineHeight+2;w-=this.scrollLeft,w>this.$size.scrollerWidth-I&&(w=this.$size.scrollerWidth-I),w+=this.gutterWidth+this.margin.left,u.setStyle(_,"height",x+"px"),u.setStyle(_,"width",I+"px"),u.translate(this.textarea,Math.min(w,this.$size.scrollerWidth-I),Math.min(C,F))}}},k.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},k.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},k.prototype.getLastFullyVisibleRow=function(){var _=this.layerConfig,O=_.lastRow,$=this.session.documentToScreenRow(O,0)*_.lineHeight;return $-this.session.getScrollTop()>_.height-_.lineHeight?O-1:O},k.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},k.prototype.setPadding=function(_){this.$padding=_,this.$textLayer.setPadding(_),this.$cursorLayer.setPadding(_),this.$markerFront.setPadding(_),this.$markerBack.setPadding(_),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},k.prototype.setScrollMargin=function(_,O,$,A){var C=this.scrollMargin;C.top=_|0,C.bottom=O|0,C.right=A|0,C.left=$|0,C.v=C.top+C.bottom,C.h=C.left+C.right,C.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-C.top),this.updateFull()},k.prototype.setMargin=function(_,O,$,A){var C=this.margin;C.top=_|0,C.bottom=O|0,C.right=A|0,C.left=$|0,C.v=C.top+C.bottom,C.h=C.left+C.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},k.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},k.prototype.setHScrollBarAlwaysVisible=function(_){this.setOption("hScrollBarAlwaysVisible",_)},k.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},k.prototype.setVScrollBarAlwaysVisible=function(_){this.setOption("vScrollBarAlwaysVisible",_)},k.prototype.$updateScrollBarV=function(){var _=this.layerConfig.maxHeight,O=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(_-=(O-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>_-O&&(_=this.scrollTop+O,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(_+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},k.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},k.prototype.freeze=function(){this.$frozen=!0},k.prototype.unfreeze=function(){this.$frozen=!1},k.prototype.$renderChanges=function(_,O){if(this.$changes&&(_|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!_&&!O){this.$changes|=_;return}if(this.$size.$dirty)return this.$changes|=_,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",_),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var $=this.layerConfig;if(_&this.CHANGE_FULL||_&this.CHANGE_SIZE||_&this.CHANGE_TEXT||_&this.CHANGE_LINES||_&this.CHANGE_SCROLL||_&this.CHANGE_H_SCROLL){if(_|=this.$computeLayerConfig()|this.$loop.clear(),$.firstRow!=this.layerConfig.firstRow&&$.firstRowScreen==this.layerConfig.firstRowScreen){var A=this.scrollTop+($.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;A>0&&(this.scrollTop=A,_=_|this.CHANGE_SCROLL,_|=this.$computeLayerConfig()|this.$loop.clear())}$=this.layerConfig,this.$updateScrollBarV(),_&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),u.translate(this.content,-this.scrollLeft,-$.offset);var C=$.width+2*this.$padding+"px",w=$.minHeight+"px";u.setStyle(this.content.style,"width",C),u.setStyle(this.content.style,"height",w)}if(_&this.CHANGE_H_SCROLL&&(u.translate(this.content,-this.scrollLeft,-$.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),_&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update($),this.$showGutter&&this.$gutterLayer.update($),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators($),this.$markerBack.update($),this.$markerFront.update($),this.$cursorLayer.update($),this.$moveTextAreaToCursor(),this._signal("afterRender",_);return}if(_&this.CHANGE_SCROLL){this.$changedLines=null,_&this.CHANGE_TEXT||_&this.CHANGE_LINES?this.$textLayer.update($):this.$textLayer.scrollLines($),this.$showGutter&&(_&this.CHANGE_GUTTER||_&this.CHANGE_LINES?this.$gutterLayer.update($):this.$gutterLayer.scrollLines($)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators($),this.$markerBack.update($),this.$markerFront.update($),this.$cursorLayer.update($),this.$moveTextAreaToCursor(),this._signal("afterRender",_);return}_&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update($),this.$showGutter&&this.$gutterLayer.update($),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators($)):_&this.CHANGE_LINES?((this.$updateLines()||_&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update($),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators($)):_&this.CHANGE_TEXT||_&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update($),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators($)):_&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight($),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators($)),_&this.CHANGE_CURSOR&&(this.$cursorLayer.update($),this.$moveTextAreaToCursor()),_&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update($),_&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update($),this._signal("afterRender",_)},k.prototype.$autosize=function(){var _=this.session.getScreenLength()*this.lineHeight,O=this.$maxLines*this.lineHeight,$=Math.min(O,Math.max((this.$minLines||1)*this.lineHeight,_))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&($+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&$>this.$maxPixelHeight&&($=this.$maxPixelHeight);var A=$<=2*this.lineHeight,C=!A&&_>O;if($!=this.desiredHeight||this.$size.height!=this.desiredHeight||C!=this.$vScroll){C!=this.$vScroll&&(this.$vScroll=C,this.scrollBarV.setVisible(C));var w=this.container.clientWidth;this.container.style.height=$+"px",this.$updateCachedSize(!0,this.$gutterWidth,w,$),this.desiredHeight=$,this._signal("autosize")}},k.prototype.$computeLayerConfig=function(){var _=this.session,O=this.$size,$=O.height<=2*this.lineHeight,A=this.session.getScreenLength(),C=A*this.lineHeight,w=this.$getLongestLine(),x=!$&&(this.$hScrollBarAlwaysVisible||O.scrollerWidth-w-2*this.$padding<0),I=this.$horizScroll!==x;I&&(this.$horizScroll=x,this.scrollBarH.setVisible(x));var F=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),$=O.height<=2*this.lineHeight);var R=O.scrollerHeight+this.lineHeight,B=!this.$maxLines&&this.$scrollPastEnd?(O.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;C+=B;var P=this.scrollMargin;this.session.setScrollTop(Math.max(-P.top,Math.min(this.scrollTop,C-O.scrollerHeight+P.bottom))),this.session.setScrollLeft(Math.max(-P.left,Math.min(this.scrollLeft,w+2*this.$padding-O.scrollerWidth+P.right)));var V=!$&&(this.$vScrollBarAlwaysVisible||O.scrollerHeight-C+B<0||this.scrollTop>P.top),W=F!==V;W&&(this.$vScroll=V,this.scrollBarV.setVisible(V));var H=this.scrollTop%this.lineHeight,U=Math.ceil(R/this.lineHeight)-1,G=Math.max(0,Math.round((this.scrollTop-H)/this.lineHeight)),Y=G+U,Q,ee,ne=this.lineHeight;G=_.screenToDocumentRow(G,0);var se=_.getFoldLine(G);se&&(G=se.start.row),Q=_.documentToScreenRow(G,0),ee=_.getRowLength(G)*ne,Y=Math.min(_.screenToDocumentRow(Y,0),_.getLength()-1),R=O.scrollerHeight+_.getRowLength(Y)*ne+ee,H=this.scrollTop-Q*ne;var ge=0;return(this.layerConfig.width!=w||I)&&(ge=this.CHANGE_H_SCROLL),(I||W)&&(ge|=this.$updateCachedSize(!0,this.gutterWidth,O.width,O.height),this._signal("scrollbarVisibilityChanged"),W&&(w=this.$getLongestLine())),this.layerConfig={width:w,padding:this.$padding,firstRow:G,firstRowScreen:Q,lastRow:Y,lineHeight:ne,characterWidth:this.characterWidth,minHeight:R,maxHeight:C,offset:H,gutterOffset:ne?Math.max(0,Math.ceil((H+O.height-O.scrollerHeight)/ne)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(w-this.$padding),ge},k.prototype.$updateLines=function(){if(this.$changedLines){var _=this.$changedLines.firstRow,O=this.$changedLines.lastRow;this.$changedLines=null;var $=this.layerConfig;if(!(_>$.lastRow+1)&&!(O<$.firstRow)){if(O===1/0){this.$showGutter&&this.$gutterLayer.update($),this.$textLayer.update($);return}return this.$textLayer.updateLines($,_,O),!0}}},k.prototype.$getLongestLine=function(){var _=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(_+=1),this.$textLayer&&_>this.$textLayer.MAX_LINE_LENGTH&&(_=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(_*this.characterWidth))},k.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},k.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},k.prototype.addGutterDecoration=function(_,O){this.$gutterLayer.addGutterDecoration(_,O)},k.prototype.removeGutterDecoration=function(_,O){this.$gutterLayer.removeGutterDecoration(_,O)},k.prototype.updateBreakpoints=function(_){this._rows=_,this.$loop.schedule(this.CHANGE_GUTTER)},k.prototype.setAnnotations=function(_){this.$gutterLayer.setAnnotations(_),this.$loop.schedule(this.CHANGE_GUTTER)},k.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},k.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},k.prototype.showCursor=function(){this.$cursorLayer.showCursor()},k.prototype.scrollSelectionIntoView=function(_,O,$){this.scrollCursorIntoView(_,$),this.scrollCursorIntoView(O,$)},k.prototype.scrollCursorIntoView=function(_,O,$){if(this.$size.scrollerHeight!==0){var A=this.$cursorLayer.getPixelPosition(_),C=A.left,w=A.top,x=$&&$.top||0,I=$&&$.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var F=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;F+x>w?(O&&F+x>w+this.lineHeight&&(w-=O*this.$size.scrollerHeight),w===0&&(w=-this.scrollMargin.top),this.session.setScrollTop(w)):F+this.$size.scrollerHeight-I=1-this.scrollMargin.top||O>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||_<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||_>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},k.prototype.pixelToScreenCoordinates=function(_,O){var $;if(this.$hasCssTransforms){$={top:0,left:0};var A=this.$fontMetrics.transformCoordinates([_,O]);_=A[1]-this.gutterWidth-this.margin.left,O=A[0]}else $=this.scroller.getBoundingClientRect();var C=_+this.scrollLeft-$.left-this.$padding,w=C/this.characterWidth,x=Math.floor((O+this.scrollTop-$.top)/this.lineHeight),I=this.$blockCursor?Math.floor(w):Math.round(w);return{row:x,column:I,side:w-I>0?1:-1,offsetX:C}},k.prototype.screenToTextCoordinates=function(_,O){var $;if(this.$hasCssTransforms){$={top:0,left:0};var A=this.$fontMetrics.transformCoordinates([_,O]);_=A[1]-this.gutterWidth-this.margin.left,O=A[0]}else $=this.scroller.getBoundingClientRect();var C=_+this.scrollLeft-$.left-this.$padding,w=C/this.characterWidth,x=this.$blockCursor?Math.floor(w):Math.round(w),I=Math.floor((O+this.scrollTop-$.top)/this.lineHeight);return this.session.screenToDocumentPosition(I,Math.max(x,0),C)},k.prototype.textToScreenCoordinates=function(_,O){var $=this.scroller.getBoundingClientRect(),A=this.session.documentToScreenPosition(_,O),C=this.$padding+(this.session.$bidiHandler.isBidiRow(A.row,_)?this.session.$bidiHandler.getPosLeft(A.column):Math.round(A.column*this.characterWidth)),w=A.row*this.lineHeight;return{pageX:$.left+C-this.scrollLeft,pageY:$.top+w-this.scrollTop}},k.prototype.visualizeFocus=function(){u.addCssClass(this.container,"ace_focus")},k.prototype.visualizeBlur=function(){u.removeCssClass(this.container,"ace_focus")},k.prototype.showComposition=function(_){this.$composition=_,_.cssText||(_.cssText=this.textarea.style.cssText),_.useTextareaForIME==null&&(_.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(u.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):_.markerId=this.session.addMarker(_.markerRange,"ace_composition_marker","text")},k.prototype.setCompositionText=function(_){var O=this.session.selection.cursor;this.addToken(_,"composition_placeholder",O.row,O.column),this.$moveTextAreaToCursor()},k.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),u.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var _=this.session.selection.cursor;this.removeExtraToken(_.row,_.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},k.prototype.setGhostText=function(_,O){var $=this.session.selection.cursor,A=O||{row:$.row,column:$.column};this.removeGhostText();var C=this.$calculateWrappedTextChunks(_,A);this.addToken(C[0].text,"ghost_text",A.row,A.column),this.$ghostText={text:_,position:{row:A.row,column:A.column}};var w=u.createElement("div");if(C.length>1){var x=this.hideTokensAfterPosition(A.row,A.column),I;C.slice(1).forEach(function(W){var H=u.createElement("div"),U=u.createElement("span");U.className="ace_ghost_text",W.wrapped&&(H.className="ghost_text_line_wrapped"),W.text.length===0&&(W.text=" "),U.appendChild(u.createTextNode(W.text)),H.appendChild(U),w.appendChild(H),I=H}),x.forEach(function(W){var H=u.createElement("span");S(W.type)||(H.className="ace_"+W.type.replace(/\./g," ace_")),H.appendChild(u.createTextNode(W.value)),I.appendChild(H)}),this.$ghostTextWidget={el:w,row:A.row,column:A.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var F=this.$cursorLayer.getPixelPosition(A,!0),R=this.container,B=R.getBoundingClientRect().height,P=C.length*this.lineHeight,V=P0){var R=0;F.push(C[x].length);for(var B=0;B1||Math.abs(_.$size.height-A)>1?_.$resizeTimer.delay():_.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},k}();T.prototype.CHANGE_CURSOR=1,T.prototype.CHANGE_MARKER=2,T.prototype.CHANGE_GUTTER=4,T.prototype.CHANGE_SCROLL=8,T.prototype.CHANGE_LINES=16,T.prototype.CHANGE_TEXT=32,T.prototype.CHANGE_SIZE=64,T.prototype.CHANGE_MARKER_BACK=128,T.prototype.CHANGE_MARKER_FRONT=256,T.prototype.CHANGE_FULL=512,T.prototype.CHANGE_H_SCROLL=1024,T.prototype.$changes=0,T.prototype.$padding=null,T.prototype.$frozen=!1,T.prototype.STEPS=8,s.implement(T.prototype,D),a.defineOptions(T.prototype,"renderer",{useResizeObserver:{set:function(k){!k&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):k&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(k){this.$textLayer.setShowInvisibles(k)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(k){typeof k=="number"&&(this.$printMarginColumn=k),this.$showPrintMargin=!!k,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(k){this.$gutter.style.display=k?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(k){this.$gutterLayer.$useSvgGutterIcons=k},initialValue:!1},showFoldedAnnotations:{set:function(k){this.$gutterLayer.$showFoldedAnnotations=k},initialValue:!1},fadeFoldWidgets:{set:function(k){u.setCssClass(this.$gutter,"ace_fade-fold-widgets",k)},initialValue:!1},showFoldWidgets:{set:function(k){this.$gutterLayer.setShowFoldWidgets(k),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(k){this.$textLayer.setDisplayIndentGuides(k)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(k){this.$textLayer.setHighlightIndentGuides(k)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(k){this.$gutterLayer.setHighlightGutterLine(k),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(k){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(k){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(k){typeof k=="number"&&(k=k+"px"),this.container.style.fontSize=k,this.updateFontSize()},initialValue:12},fontFamily:{set:function(k){this.container.style.fontFamily=k,this.updateFontSize()}},maxLines:{set:function(k){this.updateFull()}},minLines:{set:function(k){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(k){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(k){k=+k||0,this.$scrollPastEnd!=k&&(this.$scrollPastEnd=k,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(k){this.$gutterLayer.$fixedWidth=!!k,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(k){this.$updateCustomScrollbar(k)},initialValue:!1},theme:{set:function(k){this.setTheme(k)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!g.isMobile&&!g.isIE}}),h.VirtualRenderer=T}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(i,h,v){var s=i("../lib/oop"),u=i("../lib/net"),d=i("../lib/event_emitter").EventEmitter,a=i("../config");function p(l){var o="importScripts('"+u.qualifyURL(l)+"');";try{return new Blob([o],{type:"application/javascript"})}catch{var c=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,f=new c;return f.append(o),f.getBlob("application/javascript")}}function e(l){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(a.get("loadWorkerFromBlob")){var o=p(l),c=window.URL||window.webkitURL,f=c.createObjectURL(o);return new Worker(f)}return new Worker(l)}var t=function(l){l.postMessage||(l=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=l,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){s.implement(this,d),this.$createWorkerFromOldConfig=function(l,o,c,f,m){if(i.nameToUrl&&!i.toUrl&&(i.toUrl=i.nameToUrl),a.get("packaged")||!i.toUrl)f=f||a.moduleUrl(o,"worker");else{var y=this.$normalizePath;f=f||y(i.toUrl("ace/worker/worker.js",null,"_"));var D={};l.forEach(function(E){D[E]=y(i.toUrl(E,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=e(f),m&&this.send("importScripts",m),this.$worker.postMessage({init:!0,tlns:D,module:o,classname:c}),this.$worker},this.onMessage=function(l){var o=l.data;switch(o.type){case"event":this._signal(o.name,{data:o.data});break;case"call":var c=this.callbacks[o.id];c&&(c(o.data),delete this.callbacks[o.id]);break;case"error":this.reportError(o.data);break;case"log":window.console&&console.log&&console.log.apply(console,o.data);break}},this.reportError=function(l){window.console&&console.error&&console.error(l)},this.$normalizePath=function(l){return u.qualifyURL(l)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(l){l.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(l,o){this.$worker.postMessage({command:l,args:o})},this.call=function(l,o,c){if(c){var f=this.callbackId++;this.callbacks[f]=c,o.push(f)}this.send(l,o)},this.emit=function(l,o){try{o.data&&o.data.err&&(o.data.err={message:o.data.err.message,stack:o.data.err.stack,code:o.data.err.code}),this.$worker&&this.$worker.postMessage({event:l,data:{data:o.data}})}catch(c){console.error(c.stack)}},this.attachToDocument=function(l){this.$doc&&this.terminate(),this.$doc=l,this.call("setValue",[l.getValue()]),l.on("change",this.changeListener,!0)},this.changeListener=function(l){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),l.action=="insert"?this.deltaQueue.push(l.start,l.lines):this.deltaQueue.push(l.start,l.end)},this.$sendDeltaQueue=function(){var l=this.deltaQueue;l&&(this.deltaQueue=null,l.length>50&&l.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:l}))}}).call(t.prototype);var r=function(l,o,c){var f=null,m=!1,y=Object.create(d),D=[],E=new t({messageBuffer:D,terminate:function(){},postMessage:function(g){D.push(g),f&&(m?setTimeout(b):b())}});E.setEmitSync=function(g){m=g};var b=function(){var g=D.shift();g.command?f[g.command].apply(f,g.args):g.event&&y._signal(g.event,g.data)};return y.postMessage=function(g){E.onMessage({data:g})},y.callback=function(g,S){this.postMessage({type:"call",id:S,data:g})},y.emit=function(g,S){this.postMessage({type:"event",name:g,data:S})},a.loadModule(["worker",o],function(g){for(f=new g[c](y);D.length;)b()}),E};h.UIWorkerClient=r,h.WorkerClient=t,h.createWorker=e}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(i,h,v){var s=i("./range").Range,u=i("./lib/event_emitter").EventEmitter,d=i("./lib/oop"),a=function(){function p(e,t,r,l,o,c){var f=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=o,this.othersClass=c,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=l,this.$onCursorChange=function(){setTimeout(function(){f.onCursorChange()})},this.$pos=r;var m=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=m.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}return p.prototype.setup=function(){var e=this,t=this.doc,r=this.session;this.selectionBefore=r.selection.toJSON(),r.selection.inMultiSelectMode&&r.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var l=this.pos;l.$insertRight=!0,l.detach(),l.markerId=r.addMarker(new s(l.row,l.column,l.row,l.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(o){var c=t.createAnchor(o.row,o.column);c.$insertRight=!0,c.detach(),e.others.push(c)}),r.setUndoSelect(!1)},p.prototype.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(r){r.markerId=e.addMarker(new s(r.row,r.column,r.row,r.column+t.length),t.othersClass,null,!1)})}},p.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,o=t.start.column-this.pos.column;if(this.updateAnchors(e),l&&(this.length+=r),l&&!this.session.$fromUndo){if(e.action==="insert")for(var c=this.others.length-1;c>=0;c--){var f=this.others[c],m={row:f.row,column:f.column+o};this.doc.insertMergedLines(m,e.lines)}else if(e.action==="remove")for(var c=this.others.length-1;c>=0;c--){var f=this.others[c],m={row:f.row,column:f.column+o};this.doc.remove(new s(m.row,m.column,m.row,m.column-r))}}this.$updating=!1,this.updateMarkers()}},p.prototype.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},p.prototype.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,r=function(o,c){t.removeMarker(o.markerId),o.markerId=t.addMarker(new s(o.row,o.column,o.row,o.column+e.length),c,null,!1)};r(this.pos,this.mainClass);for(var l=this.others.length;l--;)r(this.others[l],this.othersClass)}},p.prototype.onCursorChange=function(e){if(!(this.$updating||!this.session)){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},p.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},p.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,r=0;r1?u.multiSelect.joinSelections():u.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(u){u.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(u){u.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(u){u.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],h.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(u){u.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(u){return u&&u.inMultiSelectMode}}];var s=i("../keyboard/hash_handler").HashHandler;h.keyboardHandler=new s(h.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(i,h,v){var s=i("./range_list").RangeList,u=i("./range").Range,d=i("./selection").Selection,a=i("./mouse/multi_select_handler").onMouseDown,p=i("./lib/event"),e=i("./lib/lang"),t=i("./commands/multi_select_commands");h.commands=t.defaultCommands.concat(t.multiSelectCommands);var r=i("./search").Search,l=new r;function o(E,b,g){return l.$options.wrap=!0,l.$options.needle=b,l.$options.backwards=g==-1,l.find(E)}var c=i("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(c.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(E,b){if(E){if(!this.inMultiSelectMode&&this.rangeCount===0){var g=this.toOrientedRange();if(this.rangeList.add(g),this.rangeList.add(E),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),b||this.fromOrientedRange(E);this.rangeList.removeAll(),this.rangeList.add(g),this.$onAddRange(g)}E.cursor||(E.cursor=E.end);var S=this.rangeList.add(E);return this.$onAddRange(E),S.length&&this.$onRemoveRange(S),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(E)}},this.toSingleRange=function(E){E=E||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),E&&this.fromOrientedRange(E)},this.substractPoint=function(E){var b=this.rangeList.substractPoint(E);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var E=this.rangeList.merge();E.length&&this.$onRemoveRange(E)},this.$onAddRange=function(E){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(E),this._signal("addRange",{range:E})},this.$onRemoveRange=function(E){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();E.push(b),this.rangeCount=0}for(var g=E.length;g--;){var S=this.ranges.indexOf(E[g]);this.ranges.splice(S,1)}this._signal("removeRange",{ranges:E}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new s,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var E=this.ranges.length?this.ranges:[this.getRange()],b=[],g=0;g1){var E=this.rangeList.ranges,b=E[E.length-1],g=u.fromPoints(E[0].start,b.end);this.toSingleRange(),this.setSelectionRange(g,b.cursor==b.start)}else{var S=this.session.documentToScreenPosition(this.cursor),T=this.session.documentToScreenPosition(this.anchor),k=this.rectangularRangeBlock(S,T);k.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(E,b,g){var S=[],T=E.column0;)R--;if(R>0)for(var B=0;S[B].isEmpty();)B++;for(var P=R;P>=B;P--)S[P].isEmpty()&&S.splice(P,1)}return S}}.call(d.prototype);var f=i("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(E){E.cursor||(E.cursor=E.end);var b=this.getSelectionStyle();return E.marker=this.session.addMarker(E,"ace_selection",b),this.session.$selectionMarkers.push(E),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,E},this.removeSelectionMarker=function(E){if(E.marker){this.session.removeMarker(E.marker);var b=this.session.$selectionMarkers.indexOf(E);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(E){for(var b=this.session.$selectionMarkers,g=E.length;g--;){var S=E[g];if(S.marker){this.session.removeMarker(S.marker);var T=b.indexOf(S);T!=-1&&b.splice(T,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(E){this.addSelectionMarker(E.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(E){this.removeSelectionMarkers(E.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(E){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(t.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(E){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(t.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(E){var b=E.command,g=E.editor;if(g.multiSelect){if(b.multiSelectAction)b.multiSelectAction=="forEach"?S=g.forEachSelection(b,E.args):b.multiSelectAction=="forEachLine"?S=g.forEachSelection(b,E.args,!0):b.multiSelectAction=="single"?(g.exitMultiSelectMode(),S=b.exec(g,E.args||{})):S=b.multiSelectAction(g,E.args||{});else{var S=b.exec(g,E.args||{});g.multiSelect.addRange(g.multiSelect.toOrientedRange()),g.multiSelect.mergeOverlappingRanges()}return S}},this.forEachSelection=function(E,b,g){if(!this.inVirtualSelectionMode){var S=g&&g.keepOrder,T=g==!0||g&&g.$byLines,k=this.session,_=this.selection,O=_.rangeList,$=(S?_:O).ranges,A;if(!$.length)return E.exec?E.exec(this,b||{}):E(this,b||{});var C=_._eventRegistry;_._eventRegistry={};var w=new d(k);this.inVirtualSelectionMode=!0;for(var x=$.length;x--;){if(T)for(;x>0&&$[x].start.row==$[x-1].end.row;)x--;w.fromOrientedRange($[x]),w.index=x,this.selection=k.selection=w;var I=E.exec?E.exec(this,b||{}):E(this,b||{});!A&&I!==void 0&&(A=I),w.toOrientedRange($[x])}w.detach(),this.selection=k.selection=_,this.inVirtualSelectionMode=!1,_._eventRegistry=C,_.mergeOverlappingRanges(),_.ranges[0]&&_.fromOrientedRange(_.ranges[0]);var F=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),F&&F.from==F.to&&this.renderer.animateScrolling(F.from),A}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var E="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,g=[],S=0;S0);_<0&&(_=0),O>=A&&(O=A-1)}var w=this.session.removeFullLines(_,O);w=this.$reAlignText(w,$),this.session.insert({row:_,column:0},w.join(` +`)+` +`),$||(k.start.column=0,k.end.column=w[w.length-1].length),this.selection.setRange(k)}else{T.forEach(function(R){b.substractPoint(R.cursor)});var x=0,I=1/0,F=g.map(function(R){var B=R.cursor,P=E.getLine(B.row),V=P.substr(B.column).search(/\S/g);return V==-1&&(V=0),B.column>x&&(x=B.column),VW?E.insert(P,e.stringRepeat(" ",V-W)):E.remove(new u(P.row,P.column,P.row,P.column-V+W)),R.start.column=R.end.column=x,R.start.row=R.end.row=P.row,R.cursor=R.end}),b.fromOrientedRange(g[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(E,b){var g=!0,S=!0,T,k,_;return E.map(function(w){var x=w.match(/(\s*)(.*?)(\s*)([=:].*)/);return x?T==null?(T=x[1].length,k=x[2].length,_=x[3].length,x):(T+k+_!=x[1].length+x[2].length+x[3].length&&(S=!1),T!=x[1].length&&(g=!1),T>x[1].length&&(T=x[1].length),kx[3].length&&(_=x[3].length),x):[w]}).map(b?$:g?S?A:$:C);function O(w){return e.stringRepeat(" ",w)}function $(w){return w[2]?O(T)+w[2]+O(k-w[2].length+_)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}function A(w){return w[2]?O(T+k-w[2].length)+w[2]+O(_)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}function C(w){return w[2]?O(T)+w[2]+O(_)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}}}).call(f.prototype);function m(E,b){return E.row==b.row&&E.column==b.column}h.onSessionChange=function(E){var b=E.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var g=E.oldSession;g&&(g.multiSelect.off("addRange",this.$onAddRange),g.multiSelect.off("removeRange",this.$onRemoveRange),g.multiSelect.off("multiSelect",this.$onMultiSelect),g.multiSelect.off("singleSelect",this.$onSingleSelect),g.multiSelect.lead.off("change",this.$checkMultiselectChange),g.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function y(E){E.$multiselectOnSessionChange||(E.$onAddRange=E.$onAddRange.bind(E),E.$onRemoveRange=E.$onRemoveRange.bind(E),E.$onMultiSelect=E.$onMultiSelect.bind(E),E.$onSingleSelect=E.$onSingleSelect.bind(E),E.$multiselectOnSessionChange=h.onSessionChange.bind(E),E.$checkMultiselectChange=E.$checkMultiselectChange.bind(E),E.$multiselectOnSessionChange(E),E.on("changeSession",E.$multiselectOnSessionChange),E.on("mousedown",a),E.commands.addCommands(t.defaultCommands),D(E))}function D(E){if(!E.textInput)return;var b=E.textInput.getElement(),g=!1;p.addListener(b,"keydown",function(T){var k=T.keyCode==18&&!(T.ctrlKey||T.shiftKey||T.metaKey);E.$blockSelectEnabled&&k?g||(E.renderer.setMouseCursor("crosshair"),g=!0):g&&S()},E),p.addListener(b,"keyup",S,E),p.addListener(b,"blur",S,E);function S(T){g&&(E.renderer.setMouseCursor(""),g=!1)}}h.MultiSelect=y,i("./config").defineOptions(f.prototype,"editor",{enableMultiselect:{set:function(E){y(this),E?this.on("mousedown",a):this.off("mousedown",a)},value:!0},enableBlockSelect:{set:function(E){this.$blockSelectEnabled=E},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(i,h,v){var s=i("../../range").Range,u=h.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(d,a,p){var e=d.getLine(p);return this.foldingStartMarker.test(e)?"start":a=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(e)?"end":""},this.getFoldWidgetRange=function(d,a,p){return null},this.indentationBlock=function(d,a,p){var e=/\S/,t=d.getLine(a),r=t.search(e);if(r!=-1){for(var l=p||t.length,o=d.getLength(),c=a,f=a;++ac){var D=d.getLine(f).length;return new s(c,l,f,D)}}},this.openingBracketBlock=function(d,a,p,e,t){var r={row:p,column:e+1},l=d.$findClosingBracket(a,r,t);if(l){var o=d.foldWidgets[l.row];return o==null&&(o=d.getFoldWidget(l.row)),o=="start"&&l.row>r.row&&(l.row--,l.column=d.getLine(l.row).length),s.fromPoints(r,l)}},this.closingBracketBlock=function(d,a,p,e,t){var r={row:p,column:e},l=d.$findOpeningBracket(a,r);if(l)return l.column++,r.column--,s.fromPoints(l,r)}}).call(u.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(i,h,v){var s=i("../lib/dom"),u=i("../range").Range,d=i("../config").nls;function a(e,t,r){for(var l=0,o=e.length-1;l<=o;){var c=l+o>>1,f=r(t,e[c]);if(f>0)l=c+1;else if(f<0)o=c-1;else return c}return-(l+1)}function p(e,t,r){var l=e.getAnnotations().sort(u.comparePoints);if(l.length){var o=a(l,{row:t,column:-1},u.comparePoints);o<0&&(o=-o-1),o>=l.length?o=r>0?0:l.length-1:o===0&&r<0&&(o=l.length-1);var c=l[o];if(!(!c||!r)){if(c.row===t){do c=l[o+=r];while(c&&c.row===t);if(!c)return l.slice()}var f=[];t=c.row;do f[r<0?"unshift":"push"](c),c=l[o+=r];while(c&&c.row==t);return f.length&&f}}}h.showErrorMarker=function(e,t){var r=e.session,l=e.getCursorPosition(),o=l.row,c=r.widgetManager.getWidgetsAtRow(o).filter(function(T){return T.type=="errorMarker"})[0];c?c.destroy():o-=t;var f=p(r,o,t),m;if(f){var y=f[0];l.column=(y.pos&&typeof y.column!="number"?y.pos.sc:y.column)||0,l.row=y.row,m=e.renderer.$gutterLayer.$annotations[l.row]}else{if(c)return;m={displayText:[d("error-marker.good-state","Looks good!")],className:"ace_ok"}}e.session.unfold(l.row),e.selection.moveToPosition(l);var D={row:l.row,fixedWidth:!0,coverGutter:!0,el:s.createElement("div"),type:"errorMarker"},E=D.el.appendChild(s.createElement("div")),b=D.el.appendChild(s.createElement("div"));b.className="error_widget_arrow "+m.className;var g=e.renderer.$cursorLayer.getPixelPosition(l).left;b.style.left=g+e.renderer.gutterWidth-5+"px",D.el.className="error_widget_wrapper",E.className="error_widget "+m.className,m.displayText.forEach(function(T,k){E.appendChild(s.createTextNode(T)),k-1}function vr(z,J){var te=this.__data__,ie=Xt(te,z);return ie<0?(++this.size,te.push([z,J])):te[ie][1]=J,this}qe.prototype.clear=dr,qe.prototype.delete=fr,qe.prototype.get=gr,qe.prototype.has=mr,qe.prototype.set=vr;function vt(z){var J=-1,te=z==null?0:z.length;for(this.clear();++JLe))return!1;var Te=ue.get(z);if(Te&&ue.get(J))return Te==J;var Pe=-1,Ue=!0,Re=te&s?new Qt:void 0;for(ue.set(z,J),ue.set(J,z);++Pe-1&&z%1==0&&z-1&&z%1==0&&z<=u}function ai(z){var J=typeof z;return z!=null&&(J=="object"||J=="function")}function Ht(z){return z!=null&&typeof z=="object"}var li=ke?Ot(ke):Fr;function Jr(z){return Gr(z)?kr(z):Or(z)}function Yr(){return[]}function Qr(){return!1}L.exports=Kr})(gn,gn.exports);var Ui=gn.exports,Je={};Object.defineProperty(Je,"__esModule",{value:!0});Je.getAceInstance=Je.debounce=Je.editorEvents=Je.editorOptions=void 0;var ho=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];Je.editorOptions=ho;var uo=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];Je.editorEvents=uo;var co=function(){var L;return typeof window>"u"?(He.window={},L=fn,delete He.window):window.ace?(L=window.ace,L.acequire=window.ace.require||window.ace.acequire):L=fn,L};Je.getAceInstance=co;var po=function(L,n){var i=null;return function(){var h=this,v=arguments;clearTimeout(i),i=setTimeout(function(){L.apply(h,v)},n)}};Je.debounce=po;var fo=Dt&&Dt.__extends||function(){var L=function(n,i){return L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,v){h.__proto__=v}||function(h,v){for(var s in v)Object.prototype.hasOwnProperty.call(v,s)&&(h[s]=v[s])},L(n,i)};return function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");L(n,i);function h(){this.constructor=n}n.prototype=i===null?Object.create(i):(h.prototype=i.prototype,new h)}}(),jn=Dt&&Dt.__assign||function(){return jn=Object.assign||function(L){for(var n,i=1,h=arguments.length;i0&&this.handleMarkers(S);var O=this.editor.$options;Lt.editorOptions.forEach(function($){O.hasOwnProperty($)?i.editor.setOption($,i.props[$]):i.props[$]&&console.warn("ReactAce: editor option ".concat($," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))}),this.handleOptions(this.props),Array.isArray(b)&&b.forEach(function($){typeof $.exec=="string"?i.editor.commands.bindKey($.bindKey,$.exec):i.editor.commands.addCommand($)}),D&&this.editor.setKeyboardHandler("ace/keyboard/"+D),v&&(this.refEditor.className+=" "+v),E&&E(this.editor),this.editor.resize(),a&&this.editor.focus()},n.prototype.componentDidUpdate=function(i){for(var h=i,v=this.props,s=0;s 0!";if(t!=this.$splits){if(t>this.$splits){for(;this.$splitst;)r=this.$editors[this.$splits-1],this.$container.removeChild(r.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(t){return this.$editors[t]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(t){this.$editors.forEach(function(r){r.setTheme(t)})},this.setKeyboardHandler=function(t){this.$editors.forEach(function(r){r.setKeyboardHandler(t)})},this.forEach=function(t,r){this.$editors.forEach(t,r)},this.$fontSize="",this.setFontSize=function(t){this.$fontSize=t,this.forEach(function(r){r.setFontSize(t)})},this.$cloneSession=function(t){var r=new p(t.getDocument(),t.getMode()),l=t.getUndoManager();return r.setUndoManager(l),r.setTabSize(t.getTabSize()),r.setUseSoftTabs(t.getUseSoftTabs()),r.setOverwrite(t.getOverwrite()),r.setBreakpoints(t.getBreakpoints()),r.setUseWrapMode(t.getUseWrapMode()),r.setUseWorker(t.getUseWorker()),r.setWrapLimitRange(t.$wrapLimitRange.min,t.$wrapLimitRange.max),r.$foldData=t.$cloneFoldData(),r},this.setSession=function(t,r){var l;r==null?l=this.$cEditor:l=this.$editors[r];var o=this.$editors.some(function(c){return c.session===t});return o&&(t=this.$cloneSession(t)),l.setSession(t),t},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(t){this.$orientation!=t&&(this.$orientation=t,this.resize())},this.resize=function(){var t=this.$container.clientWidth,r=this.$container.clientHeight,l;if(this.$orientation==this.BESIDE)for(var o=t/this.$splits,c=0;c-1}function Ko(L,n){var i=this.__data__,h=vn(i,L);return h<0?i.push([L,n]):i[h][1]=n,this}Ft.prototype.clear=jo;Ft.prototype.delete=Vo;Ft.prototype.get=Uo;Ft.prototype.has=Go;Ft.prototype.set=Ko;function xt(L){var n=-1,i=L?L.length:0;for(this.clear();++n0&&i.handleMarkers(F,$);for(var C=0;C"u"&&(this.Diff_Timeout<=0?a=Number.MAX_VALUE:a=new Date().getTime()+this.Diff_Timeout*1e3);var p=a;if(s==null||u==null)throw new Error("Null input. (diff_main)");if(s==u)return s?[new n.Diff(v,s)]:[];typeof d>"u"&&(d=!0);var e=d,t=this.diff_commonPrefix(s,u),r=s.substring(0,t);s=s.substring(t),u=u.substring(t),t=this.diff_commonSuffix(s,u);var l=s.substring(s.length-t);s=s.substring(0,s.length-t),u=u.substring(0,u.length-t);var o=this.diff_compute_(s,u,e,p);return r&&o.unshift(new n.Diff(v,r)),l&&o.push(new n.Diff(v,l)),this.diff_cleanupMerge(o),o},n.prototype.diff_compute_=function(s,u,d,a){var p;if(!s)return[new n.Diff(h,u)];if(!u)return[new n.Diff(i,s)];var e=s.length>u.length?s:u,t=s.length>u.length?u:s,r=e.indexOf(t);if(r!=-1)return p=[new n.Diff(h,e.substring(0,r)),new n.Diff(v,t),new n.Diff(h,e.substring(r+t.length))],s.length>u.length&&(p[0][0]=p[2][0]=i),p;if(t.length==1)return[new n.Diff(i,s),new n.Diff(h,u)];var l=this.diff_halfMatch_(s,u);if(l){var o=l[0],c=l[1],f=l[2],m=l[3],y=l[4],D=this.diff_main(o,f,d,a),E=this.diff_main(c,m,d,a);return D.concat([new n.Diff(v,y)],E)}return d&&s.length>100&&u.length>100?this.diff_lineMode_(s,u,a):this.diff_bisect_(s,u,a)},n.prototype.diff_lineMode_=function(s,u,d){var a=this.diff_linesToChars_(s,u);s=a.chars1,u=a.chars2;var p=a.lineArray,e=this.diff_main(s,u,!1,d);this.diff_charsToLines_(e,p),this.diff_cleanupSemantic(e),e.push(new n.Diff(v,""));for(var t=0,r=0,l=0,o="",c="";t=1&&l>=1){e.splice(t-r-l,r+l),t=t-r-l;for(var f=this.diff_main(o,c,!1,d),m=f.length-1;m>=0;m--)e.splice(t,0,f[m]);t=t+f.length}l=0,r=0,o="",c="";break}t++}return e.pop(),e},n.prototype.diff_bisect_=function(s,u,d){for(var a=s.length,p=u.length,e=Math.ceil((a+p)/2),t=e,r=2*e,l=new Array(r),o=new Array(r),c=0;cd);g++){for(var S=-g+y;S<=g-D;S+=2){var T=t+S,k;S==-g||S!=g&&l[T-1]a)D+=2;else if(_>p)y+=2;else if(m){var O=t+f-S;if(O>=0&&O=$)return this.diff_bisectSplit_(s,u,k,_,d)}}}for(var A=-g+E;A<=g-b;A+=2){var O=t+A,$;A==-g||A!=g&&o[O-1]a)b+=2;else if(C>p)E+=2;else if(!m){var T=t+f-A;if(T>=0&&T=$)return this.diff_bisectSplit_(s,u,k,_,d)}}}}return[new n.Diff(i,s),new n.Diff(h,u)]},n.prototype.diff_bisectSplit_=function(s,u,d,a,p){var e=s.substring(0,d),t=u.substring(0,a),r=s.substring(d),l=u.substring(a),o=this.diff_main(e,t,!1,p),c=this.diff_main(r,l,!1,p);return o.concat(c)},n.prototype.diff_linesToChars_=function(s,u){var d=[],a={};d[0]="";function p(l){for(var o="",c=0,f=-1,m=d.length;fa?s=s.substring(d-a):du.length?s:u,a=s.length>u.length?u:s;if(d.length<4||a.length*2=D.length?[k,_,O,$,T]:null}var t=e(d,a,Math.ceil(d.length/4)),r=e(d,a,Math.ceil(d.length/2)),l;if(!t&&!r)return null;r?t?l=t[4].length>r[4].length?t:r:l=r:l=t;var o,c,f,m;s.length>u.length?(o=l[0],c=l[1],f=l[2],m=l[3]):(f=l[0],m=l[1],o=l[2],c=l[3]);var y=l[4];return[o,c,f,m,y]},n.prototype.diff_cleanupSemantic=function(s){for(var u=!1,d=[],a=0,p=null,e=0,t=0,r=0,l=0,o=0;e0?d[a-1]:-1,t=0,r=0,l=0,o=0,p=null,u=!0)),e++;for(u&&this.diff_cleanupMerge(s),this.diff_cleanupSemanticLossless(s),e=1;e=y?(m>=c.length/2||m>=f.length/2)&&(s.splice(e,0,new n.Diff(v,f.substring(0,m))),s[e-1][1]=c.substring(0,c.length-m),s[e+1][1]=f.substring(m),e++):(y>=c.length/2||y>=f.length/2)&&(s.splice(e,0,new n.Diff(v,c.substring(0,y))),s[e-1][0]=h,s[e-1][1]=f.substring(0,f.length-y),s[e+1][0]=i,s[e+1][1]=c.substring(y),e++),e++}e++}},n.prototype.diff_cleanupSemanticLossless=function(s){function u(y,D){if(!y||!D)return 6;var E=y.charAt(y.length-1),b=D.charAt(0),g=E.match(n.nonAlphaNumericRegex_),S=b.match(n.nonAlphaNumericRegex_),T=g&&E.match(n.whitespaceRegex_),k=S&&b.match(n.whitespaceRegex_),_=T&&E.match(n.linebreakRegex_),O=k&&b.match(n.linebreakRegex_),$=_&&y.match(n.blanklineEndRegex_),A=O&&D.match(n.blanklineStartRegex_);return $||A?5:_||O?4:g&&!T&&k?3:T||k?2:g||S?1:0}for(var d=1;d=f&&(f=m,l=a,o=p,c=e)}s[d-1][1]!=l&&(l?s[d-1][1]=l:(s.splice(d-1,1),d--),s[d][1]=o,c?s[d+1][1]=c:(s.splice(d+1,1),d--))}d++}},n.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,n.whitespaceRegex_=/\s/,n.linebreakRegex_=/[\r\n]/,n.blanklineEndRegex_=/\n\r?\n$/,n.blanklineStartRegex_=/^\r?\n\r?\n/,n.prototype.diff_cleanupEfficiency=function(s){for(var u=!1,d=[],a=0,p=null,e=0,t=!1,r=!1,l=!1,o=!1;e0?d[a-1]:-1,l=o=!1),u=!0)),e++;u&&this.diff_cleanupMerge(s)},n.prototype.diff_cleanupMerge=function(s){s.push(new n.Diff(v,""));for(var u=0,d=0,a=0,p="",e="",t;u1?(d!==0&&a!==0&&(t=this.diff_commonPrefix(e,p),t!==0&&(u-d-a>0&&s[u-d-a-1][0]==v?s[u-d-a-1][1]+=e.substring(0,t):(s.splice(0,0,new n.Diff(v,e.substring(0,t))),u++),e=e.substring(t),p=p.substring(t)),t=this.diff_commonSuffix(e,p),t!==0&&(s[u][1]=e.substring(e.length-t)+s[u][1],e=e.substring(0,e.length-t),p=p.substring(0,p.length-t))),u-=d+a,s.splice(u,d+a),p.length&&(s.splice(u,0,new n.Diff(i,p)),u++),e.length&&(s.splice(u,0,new n.Diff(h,e)),u++),u++):u!==0&&s[u-1][0]==v?(s[u-1][1]+=s[u][1],s.splice(u,1)):u++,a=0,d=0,p="",e="";break}s[s.length-1][1]===""&&s.pop();var r=!1;for(u=1;uu));t++)p=d,e=a;return s.length!=t&&s[t][0]===i?e:e+(u-p)},n.prototype.diff_prettyHtml=function(s){for(var u=[],d=/&/g,a=//g,e=/\n/g,t=0;t");switch(r){case h:u[t]=''+o+"";break;case i:u[t]=''+o+"";break;case v:u[t]=""+o+"";break}}return u.join("")},n.prototype.diff_text1=function(s){for(var u=[],d=0;dthis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var a=this.match_alphabet_(u),p=this;function e(k,_){var O=k/u.length,$=Math.abs(d-_);return p.Match_Distance?O+$/p.Match_Distance:$?1:O}var t=this.Match_Threshold,r=s.indexOf(u,d);r!=-1&&(t=Math.min(e(0,r),t),r=s.lastIndexOf(u,d+u.length),r!=-1&&(t=Math.min(e(0,r),t)));var l=1<=D;g--){var S=a[s.charAt(g-1)];if(y===0?b[g]=(b[g+1]<<1|1)&S:b[g]=(b[g+1]<<1|1)&S|((m[g+1]|m[g])<<1|1)|m[g+1],b[g]&l){var T=e(y,g-1);if(T<=t)if(t=T,r=g-1,r>d)D=Math.max(1,2*d-r);else break}}if(e(y+1,d)>t)break;m=b}return r},n.prototype.match_alphabet_=function(s){for(var u={},d=0;d"u")a=s,p=this.diff_main(a,u,!0),p.length>2&&(this.diff_cleanupSemantic(p),this.diff_cleanupEfficiency(p));else if(s&&typeof s=="object"&&typeof u>"u"&&typeof d>"u")p=s,a=this.diff_text1(p);else if(typeof s=="string"&&u&&typeof u=="object"&&typeof d>"u")a=s,p=u;else if(typeof s=="string"&&typeof u=="string"&&d&&typeof d=="object")a=s,p=d;else throw new Error("Unknown call format to patch_make.");if(p.length===0)return[];for(var e=[],t=new n.patch_obj,r=0,l=0,o=0,c=a,f=a,m=0;m=2*this.Patch_Margin&&r&&(this.patch_addContext_(t,c),e.push(t),t=new n.patch_obj,r=0,c=f,l=o);break}y!==h&&(l+=D.length),y!==i&&(o+=D.length)}return r&&(this.patch_addContext_(t,c),e.push(t)),e},n.prototype.patch_deepCopy=function(s){for(var u=[],d=0;dthis.Match_MaxBits?(l=this.match_main(u,r.substring(0,this.Match_MaxBits),t),l!=-1&&(o=this.match_main(u,r.substring(r.length-this.Match_MaxBits),t+r.length-this.Match_MaxBits),(o==-1||l>=o)&&(l=-1))):l=this.match_main(u,r,t),l==-1)p[e]=!1,a-=s[e].length2-s[e].length1;else{p[e]=!0,a=l-t;var c;if(o==-1?c=u.substring(l,l+r.length):c=u.substring(l,o+this.Match_MaxBits),r==c)u=u.substring(0,l)+this.diff_text2(s[e].diffs)+u.substring(l+r.length);else{var f=this.diff_main(r,c,!1);if(r.length>this.Match_MaxBits&&this.diff_levenshtein(f)/r.length>this.Patch_DeleteThreshold)p[e]=!1;else{this.diff_cleanupSemanticLossless(f);for(var m=0,y,D=0;De[0][1].length){var t=u-e[0][1].length;e[0][1]=d.substring(e[0][1].length)+e[0][1],p.start1-=t,p.start2-=t,p.length1+=t,p.length2+=t}if(p=s[s.length-1],e=p.diffs,e.length==0||e[e.length-1][0]!=v)e.push(new n.Diff(v,d)),p.length1+=u,p.length2+=u;else if(u>e[e.length-1][1].length){var t=u-e[e.length-1][1].length;e[e.length-1][1]+=d.substring(0,t),p.length1+=t,p.length2+=t}return d},n.prototype.patch_splitMax=function(s){for(var u=this.Match_MaxBits,d=0;d2*u?(r.length1+=c.length,p+=c.length,l=!1,r.diffs.push(new n.Diff(o,c)),a.diffs.shift()):(c=c.substring(0,u-r.length1-this.Patch_Margin),r.length1+=c.length,p+=c.length,o===v?(r.length2+=c.length,e+=c.length):l=!1,r.diffs.push(new n.Diff(o,c)),c==a.diffs[0][1]?a.diffs.shift():a.diffs[0][1]=a.diffs[0][1].substring(c.length))}t=this.diff_text2(r.diffs),t=t.substring(t.length-this.Patch_Margin);var f=this.diff_text1(a.diffs).substring(0,this.Patch_Margin);f!==""&&(r.length1+=f.length,r.length2+=f.length,r.diffs.length!==0&&r.diffs[r.diffs.length-1][0]===v?r.diffs[r.diffs.length-1][1]+=f:r.diffs.push(new n.Diff(v,f))),l||s.splice(++d,0,r)}}},n.prototype.patch_toText=function(s){for(var u=[],d=0;dm)break;var y=this.getFoldWidgetRange(p,"all",e);if(y){if(y.start.row<=l)break;if(y.isMultiLine())e=y.end.row;else if(r==m)break}c=e}}return new u(l,o,c,p.getLine(c).length)},this.getCommentRegionBlock=function(p,e,t){for(var r=e.search(/\s*$/),l=p.getLength(),o=t,c=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,f=1;++to)return new u(o,r,y,e.length)}}.call(a.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],function(i,h,v){var s=i("../lib/oop"),u=i("./text").Mode,d=i("./json_highlight_rules").JsonHighlightRules,a=i("./matching_brace_outdent").MatchingBraceOutdent,p=i("./folding/cstyle").FoldMode,e=i("../worker/worker_client").WorkerClient,t=function(){this.HighlightRules=d,this.$outdent=new a,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new p};s.inherits(t,u),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(r,l,o){var c=this.$getIndent(l);if(r=="start"){var f=l.match(/^.*[\{\(\[]\s*$/);f&&(c+=o)}return c},this.checkOutdent=function(r,l,o){return this.$outdent.checkOutdent(l,o)},this.autoOutdent=function(r,l,o){this.$outdent.autoOutdent(l,o)},this.createWorker=function(r){var l=new e(["ace"],"ace/mode/json_worker","JsonWorker");return l.attachToDocument(r.getDocument()),l.on("annotate",function(o){r.setAnnotations(o.data)}),l.on("terminate",function(){r.clearAnnotations()}),l},this.$id="ace/mode/json"}.call(t.prototype),h.Mode=t}),function(){ace.require(["ace/mode/json"],function(i){L&&(L.exports=i)})}()})(Ta);var _a={exports:{}};(function(L,n){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(i,h,v){var s=i("../lib/oop"),u=i("./text_highlight_rules").TextHighlightRules,d=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};s.inherits(d,u),h.JsonHighlightRules=d}),ace.define("ace/mode/json5_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/json_highlight_rules"],function(i,h,v){var s=i("../lib/oop"),u=i("./json_highlight_rules").JsonHighlightRules,d=function(){u.call(this);var a=[{token:"variable",regex:/[a-zA-Z$_\u00a1-\uffff][\w$\u00a1-\uffff]*\s*(?=:)/},{token:"variable",regex:/['](?:(?:\\.)|(?:[^'\\]))*?[']\s*(?=:)/},{token:"constant.language.boolean",regex:/(?:null)\b/},{token:"string",regex:/'/,next:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\/bfnrt]|$)/,consumeLineEnd:!0},{token:"string",regex:/'|$/,next:"start"},{defaultToken:"string"}]},{token:"string",regex:/"(?![^"]*":)/,next:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\/bfnrt]|$)/,consumeLineEnd:!0},{token:"string",regex:/"|$/,next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:/[+-]?(?:Infinity|NaN)\b/}];for(var p in this.$rules)this.$rules[p].unshift.apply(this.$rules[p],a);this.normalizeRules()};s.inherits(d,u),h.Json5HighlightRules=d}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(i,h,v){var s=i("../range").Range,u=function(){};(function(){this.checkOutdent=function(d,a){return/^\s+$/.test(d)?/^\s*\}/.test(a):!1},this.autoOutdent=function(d,a){var p=d.getLine(a),e=p.match(/^(\s*\})/);if(!e)return 0;var t=e[1].length,r=d.findMatchingBracket({row:a,column:t});if(!r||r.row==a)return 0;var l=this.$getIndent(d.getLine(r.row));d.replace(new s(a,0,a,t-1),l)},this.$getIndent=function(d){return d.match(/^\s*/)[0]}}).call(u.prototype),h.MatchingBraceOutdent=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(i,h,v){var s=i("../../lib/oop"),u=i("../../range").Range,d=i("./fold_mode").FoldMode,a=h.FoldMode=function(p){p&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+p.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+p.end)))};s.inherits(a,d),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(p,e,t){var r=p.getLine(t);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var l=this._getFoldWidgetBase(p,e,t);return!l&&this.startRegionRe.test(r)?"start":l},this.getFoldWidgetRange=function(p,e,t,r){var l=p.getLine(t);if(this.startRegionRe.test(l))return this.getCommentRegionBlock(p,l,t);var f=l.match(this.foldingStartMarker);if(f){var o=f.index;if(f[1])return this.openingBracketBlock(p,f[1],t,o);var c=p.getCommentFoldRange(t,o+f[0].length,1);return c&&!c.isMultiLine()&&(r?c=this.getSectionRange(p,t):e!="all"&&(c=null)),c}if(e!=="markbegin"){var f=l.match(this.foldingStopMarker);if(f){var o=f.index+f[0].length;return f[1]?this.closingBracketBlock(p,f[1],t,o):p.getCommentFoldRange(t,o,-1)}}},this.getSectionRange=function(p,e){var t=p.getLine(e),r=t.search(/\S/),l=e,o=t.length;e+=1;for(var c=e,f=p.getLength();++em)break;var y=this.getFoldWidgetRange(p,"all",e);if(y){if(y.start.row<=l)break;if(y.isMultiLine())e=y.end.row;else if(r==m)break}c=e}}return new u(l,o,c,p.getLine(c).length)},this.getCommentRegionBlock=function(p,e,t){for(var r=e.search(/\s*$/),l=p.getLength(),o=t,c=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,f=1;++to)return new u(o,r,y,e.length)}}.call(a.prototype)}),ace.define("ace/mode/json5",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json5_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle"],function(i,h,v){var s=i("../lib/oop"),u=i("./text").Mode,d=i("./json5_highlight_rules").Json5HighlightRules,a=i("./matching_brace_outdent").MatchingBraceOutdent,p=i("./folding/cstyle").FoldMode,e=function(){this.HighlightRules=d,this.$outdent=new a,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new p};s.inherits(e,u),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.checkOutdent=function(t,r,l){return this.$outdent.checkOutdent(r,l)},this.autoOutdent=function(t,r,l){this.$outdent.autoOutdent(r,l)},this.$id="ace/mode/json5"}.call(e.prototype),h.Mode=e}),function(){ace.require(["ace/mode/json5"],function(i){L&&(L.exports=i)})}()})(_a);var ka={};(function(L){function n(v,s){for(var u=v,d="";u;){var a=s[u];if(typeof a=="string")return a+d;if(a)return a.location.replace(/\/*$/,"/")+(d||a.main||a.name);if(a===!1)return"";var p=u.lastIndexOf("/");if(p===-1)break;d=u.substr(p)+d,u=u.slice(0,p)}return v}if(!(typeof L.window<"u"&&L.document)&&!(L.require&&L.define)){L.console||(L.console=function(){var v=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:v})},L.console.error=L.console.warn=L.console.log=L.console.trace=L.console),L.window=L,L.ace=L,L.onerror=function(v,s,u,d,a){postMessage({type:"error",data:{message:v,data:a&&a.data,file:s,line:u,col:d,stack:a&&a.stack}})},L.normalizeModule=function(v,s){if(s.indexOf("!")!==-1){var u=s.split("!");return L.normalizeModule(v,u[0])+"!"+L.normalizeModule(v,u[1])}if(s.charAt(0)=="."){var d=v.split("/").slice(0,-1).join("/");for(s=(d?d+"/":"")+s;s.indexOf(".")!==-1&&a!=s;){var a=s;s=s.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return s},L.require=function(v,s){if(s||(s=v,v=null),!s.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");s=L.normalizeModule(v,s);var u=L.require.modules[s];if(u)return u.initialized||(u.initialized=!0,u.exports=u.factory().exports),u.exports;if(!L.require.tlns)return console.log("unable to load "+s);var d=n(s,L.require.tlns);return d.slice(-3)!=".js"&&(d+=".js"),L.require.id=s,L.require.modules[s]={},importScripts(d),L.require(v,s)},L.require.modules={},L.require.tlns={},L.define=function(v,s,u){if(arguments.length==2?(u=s,typeof v!="string"&&(s=v,v=L.require.id)):arguments.length==1&&(u=v,s=[],v=L.require.id),typeof u!="function"){L.require.modules[v]={exports:u,initialized:!0};return}s.length||(s=["require","exports","module"]);var d=function(a){return L.require(v,a)};L.require.modules[v]={exports:{},factory:function(){var a=this,p=u.apply(this,s.slice(0,u.length).map(function(e){switch(e){case"require":return d;case"exports":return a.exports;case"module":return a;default:return d(e)}}));return p&&(a.exports=p),a}}},L.define.amd={},L.require.tlns={},L.initBaseUrls=function(v){for(var s in v)this.require.tlns[s]=v[s]},L.initSender=function(){var v=L.require("ace/lib/event_emitter").EventEmitter,s=L.require("ace/lib/oop"),u=function(){};return function(){s.implement(this,v),this.callback=function(d,a){postMessage({type:"call",id:a,data:d})},this.emit=function(d,a){postMessage({type:"event",name:d,data:a})}}.call(u.prototype),new u};var i=L.main=null,h=L.sender=null;L.onmessage=function(v){var s=v.data;if(s.event&&h)h._signal(s.event,s.data);else if(s.command)if(i[s.command])i[s.command].apply(i,s.args);else{if(!L[s.command])throw new Error("Unknown command:"+s.command);L[s.command].apply(L,s.args)}else if(s.init){L.initBaseUrls(s.tlns),h=L.sender=L.initSender();var u=this.require(s.module)[s.classname];i=L.main=new u(h)}}}})(ka),ace.define("ace/lib/oop",[],function(L,n,i){n.inherits=function(h,v){h.super_=v,h.prototype=Object.create(v.prototype,{constructor:{value:h,enumerable:!1,writable:!0,configurable:!0}})},n.mixin=function(h,v){for(var s in v)h[s]=v[s];return h},n.implement=function(h,v){n.mixin(h,v)}}),ace.define("ace/apply_delta",[],function(L,n,i){n.applyDelta=function(h,v,s){var u=v.start.row,d=v.start.column,a=h[u]||"";switch(v.action){case"insert":var p=v.lines;if(p.length===1)h[u]=a.substring(0,d)+v.lines[0]+a.substring(d);else{var e=[u,1].concat(v.lines);h.splice.apply(h,e),h[u]=a.substring(0,d)+h[u],h[u+v.lines.length-1]+=a.substring(d)}break;case"remove":var t=v.end.column,r=v.end.row;u===r?h[u]=a.substring(0,d)+a.substring(t):h.splice(u,r-u+1,a.substring(0,d)+h[r].substring(t))}}}),ace.define("ace/lib/event_emitter",[],function(L,n,i){var h={},v=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};h._emit=h._dispatchEvent=function(u,d){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var a=this._eventRegistry[u]||[],p=this._defaultHandlers[u];if(!(!a.length&&!p)){(typeof d!="object"||!d)&&(d={}),d.type||(d.type=u),d.stopPropagation||(d.stopPropagation=v),d.preventDefault||(d.preventDefault=s),a=a.slice();for(var e=0;e ["+this.end.row+"/"+this.end.column+"]"},v.prototype.contains=function(s,u){return this.compare(s,u)==0},v.prototype.compareRange=function(s){var u,d=s.end,a=s.start;return u=this.compare(d.row,d.column),u==1?(u=this.compare(a.row,a.column),u==1?2:u==0?1:0):u==-1?-2:(u=this.compare(a.row,a.column),u==-1?-1:u==1?42:0)},v.prototype.comparePoint=function(s){return this.compare(s.row,s.column)},v.prototype.containsRange=function(s){return this.comparePoint(s.start)==0&&this.comparePoint(s.end)==0},v.prototype.intersects=function(s){var u=this.compareRange(s);return u==-1||u==0||u==1},v.prototype.isEnd=function(s,u){return this.end.row==s&&this.end.column==u},v.prototype.isStart=function(s,u){return this.start.row==s&&this.start.column==u},v.prototype.setStart=function(s,u){typeof s=="object"?(this.start.column=s.column,this.start.row=s.row):(this.start.row=s,this.start.column=u)},v.prototype.setEnd=function(s,u){typeof s=="object"?(this.end.column=s.column,this.end.row=s.row):(this.end.row=s,this.end.column=u)},v.prototype.inside=function(s,u){return this.compare(s,u)==0?!(this.isEnd(s,u)||this.isStart(s,u)):!1},v.prototype.insideStart=function(s,u){return this.compare(s,u)==0?!this.isEnd(s,u):!1},v.prototype.insideEnd=function(s,u){return this.compare(s,u)==0?!this.isStart(s,u):!1},v.prototype.compare=function(s,u){return!this.isMultiLine()&&s===this.start.row?uthis.end.column?1:0:sthis.end.row?1:this.start.row===s?u>=this.start.column?0:-1:this.end.row===s?u<=this.end.column?0:1:0},v.prototype.compareStart=function(s,u){return this.start.row==s&&this.start.column==u?-1:this.compare(s,u)},v.prototype.compareEnd=function(s,u){return this.end.row==s&&this.end.column==u?1:this.compare(s,u)},v.prototype.compareInside=function(s,u){return this.end.row==s&&this.end.column==u?1:this.start.row==s&&this.start.column==u?-1:this.compare(s,u)},v.prototype.clipRows=function(s,u){if(this.end.row>u)var d={row:u+1,column:0};else if(this.end.rowu)var a={row:u+1,column:0};else if(this.start.rowthis.row)){var e=v(p,{row:this.row,column:this.column},this.$insertRight);this.setPosition(e.row,e.column,!0)}},a.prototype.setPosition=function(p,e,t){var r;if(t?r={row:p,column:e}:r=this.$clipPositionToDocument(p,e),!(this.row==r.row&&this.column==r.column)){var l={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:l,value:r})}},a.prototype.detach=function(){this.document.off("change",this.$onChange)},a.prototype.attach=function(p){this.document=p||this.document,this.document.on("change",this.$onChange)},a.prototype.$clipPositionToDocument=function(p,e){var t={};return p>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):p<0?(t.row=0,t.column=0):(t.row=p,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,e))),e<0&&(t.column=0),t},a}();d.prototype.$insertRight=!1,s.implement(d.prototype,u),n.Anchor=d}),ace.define("ace/document",[],function(L,n,i){var h=L("./lib/oop"),v=L("./apply_delta").applyDelta,s=L("./lib/event_emitter").EventEmitter,u=L("./range").Range,d=L("./anchor").Anchor,a=function(){function p(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}return p.prototype.setValue=function(e){var t=this.getLength()-1;this.remove(new u(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e||"")},p.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},p.prototype.createAnchor=function(e,t){return new d(this,e,t)},p.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:` +`,this._signal("changeNewLineMode")},p.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r +`;case"unix":return` +`;default:return this.$autoNewLine||` +`}},p.prototype.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},p.prototype.getNewLineMode=function(){return this.$newLineMode},p.prototype.isNewLine=function(e){return e==`\r +`||e=="\r"||e==` +`},p.prototype.getLine=function(e){return this.$lines[e]||""},p.prototype.getLines=function(e,t){return this.$lines.slice(e,t+1)},p.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},p.prototype.getLength=function(){return this.$lines.length},p.prototype.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},p.prototype.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var r=t.length-1;e.end.row-e.start.row==r&&(t[r]=t[r].substring(0,e.end.column))}return t},p.prototype.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},p.prototype.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},p.prototype.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},p.prototype.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},p.prototype.insertInLine=function(e,t){var r=this.clippedPos(e.row,e.column),l=this.pos(e.row,e.column+t.length);return this.applyDelta({start:r,end:l,action:"insert",lines:[t]},!0),this.clonePos(l)},p.prototype.clippedPos=function(e,t){var r=this.getLength();e===void 0?e=r:e<0?e=0:e>=r&&(e=r-1,t=void 0);var l=this.getLine(e);return t==null&&(t=l.length),t=Math.min(Math.max(t,0),l.length),{row:e,column:t}},p.prototype.clonePos=function(e){return{row:e.row,column:e.column}},p.prototype.pos=function(e,t){return{row:e,column:t}},p.prototype.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},p.prototype.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var r=0;e0,l=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},p.prototype.replace=function(e,t){if(e instanceof u||(e=u.fromPoints(e.start,e.end)),t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var r;return t?r=this.insert(e.start,t):r=e.start,r},p.prototype.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},p.prototype.applyDelta=function(e,t){var r=e.action=="insert";(r?e.lines.length<=1&&!e.lines[0]:!u.comparePoints(e.start,e.end))||(r&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(v(this.$lines,e,t),this._signal("change",e)))},p.prototype.$safeApplyDelta=function(e){var t=this.$lines.length;(e.action=="remove"&&e.start.row0;)u&1&&(d+=s),(u>>=1)&&(s+=s);return d};var h=/^\s\s*/,v=/\s\s*$/;n.stringTrimLeft=function(s){return s.replace(h,"")},n.stringTrimRight=function(s){return s.replace(v,"")},n.copyObject=function(s){var u={};for(var d in s)u[d]=s[d];return u},n.copyArray=function(s){for(var u=[],d=0,a=s.length;d65535?2:1}}),ace.define("ace/worker/mirror",[],function(L,n,i){var h=L("../document").Document,v=L("../lib/lang"),s=n.Mirror=function(u){this.sender=u;var d=this.doc=new h(""),a=this.deferredUpdate=v.delayedCall(this.onUpdate.bind(this)),p=this;u.on("change",function(e){var t=e.data;if(t[0].start)d.applyDeltas(t);else for(var r=0;r=d.$lines.length)throw o=new Error("Invalid delta"),o.data={path:p.$path,linesLength:d.$lines.length,start:l.start,end:l.end},o;d.applyDelta(l,!0)}if(p.$timeout)return a.schedule(p.$timeout);p.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(u){this.$timeout=u},this.setValue=function(u){this.doc.setValue(u),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(u){this.sender.callback(this.doc.getValue(),u)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(s.prototype)}),ace.define("ace/mode/json/json_parse",[],function(L,n,i){var h,v,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:` +`,r:"\r",t:" "},u,d=function(f){throw{name:"SyntaxError",message:f,at:h,text:u}},a=function(f){return f&&f!==v&&d("Expected '"+f+"' instead of '"+v+"'"),v=u.charAt(h),h+=1,v},p=function(){var f,m="";for(v==="-"&&(m="-",a("-"));v>="0"&&v<="9";)m+=v,a();if(v===".")for(m+=".";a()&&v>="0"&&v<="9";)m+=v;if(v==="e"||v==="E")for(m+=v,a(),(v==="-"||v==="+")&&(m+=v,a());v>="0"&&v<="9";)m+=v,a();if(f=+m,!isNaN(f))return f;d("Bad number")},e=function(){var f,m,y="",D;if(v==='"')for(;a();){if(v==='"')return a(),y;if(v==="\\")if(a(),v==="u"){for(D=0,m=0;m<4&&(f=parseInt(a(),16),!!isFinite(f));m+=1)D=D*16+f;y+=String.fromCharCode(D)}else{if(typeof s[v]!="string")break;y+=s[v]}else{if(v==` +`||v=="\r")break;y+=v}}d("Bad string")},t=function(){for(;v&&v<=" ";)a()},r=function(){switch(v){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null}d("Unexpected '"+v+"'")},l,o=function(){var f=[];if(v==="["){if(a("["),t(),v==="]")return a("]"),f;for(;v;){if(f.push(l()),t(),v==="]")return a("]"),f;a(","),t()}}d("Bad array")},c=function(){var f,m={};if(v==="{"){if(a("{"),t(),v==="}")return a("}"),m;for(;v;){if(f=e(),t(),a(":"),Object.hasOwnProperty.call(m,f)&&d('Duplicate key "'+f+'"'),m[f]=l(),t(),v==="}")return a("}"),m;a(","),t()}}d("Bad object")};return l=function(){switch(t(),v){case"{":return c();case"[":return o();case'"':return e();case"-":return p();default:return v>="0"&&v<="9"?p():r()}},function(f,m){var y;return u=f,h=0,v=" ",y=l(),t(),v&&d("Syntax error"),typeof m=="function"?function D(E,b){var g,S,T=E[b];if(T&&typeof T=="object")for(g in T)Object.hasOwnProperty.call(T,g)&&(S=D(T,g),S!==void 0?T[g]=S:delete T[g]);return m.call(E,b,T)}({"":y},""):y}}),ace.define("ace/mode/json_worker",[],function(L,n,i){var h=L("../lib/oop"),v=L("../worker/mirror").Mirror,s=L("./json/json_parse"),u=n.JsonWorker=function(d){v.call(this,d),this.setTimeout(200)};h.inherits(u,v),function(){this.onUpdate=function(){var d=this.doc.getValue(),a=[];try{d&&s(d)}catch(e){var p=this.doc.indexToPosition(e.at-1);a.push({row:p.row,column:p.column,text:e.message,type:"error"})}this.sender.emit("annotate",a)}}.call(u.prototype)});var Ma={exports:{}};(function(L,n){ace.define("ace/theme/clouds_midnight-css",["require","exports","module"],function(i,h,v){v.exports=`.ace-clouds-midnight .ace_gutter { + background: #232323; + color: #929292 +} + +.ace-clouds-midnight .ace_print-margin { + width: 1px; + background: #232323 +} + +.ace-clouds-midnight { + background-color: #191919; + color: #929292 +} + +.ace-clouds-midnight .ace_cursor { + color: #7DA5DC +} + +.ace-clouds-midnight .ace_marker-layer .ace_selection { + background: #000000 +} + +.ace-clouds-midnight.ace_multiselect .ace_selection.ace_start { + box-shadow: 0 0 3px 0px #191919; +} + +.ace-clouds-midnight .ace_marker-layer .ace_step { + background: rgb(102, 82, 0) +} + +.ace-clouds-midnight .ace_marker-layer .ace_bracket { + margin: -1px 0 0 -1px; + border: 1px solid #BFBFBF +} + +.ace-clouds-midnight .ace_marker-layer .ace_active-line { + background: rgba(215, 215, 215, 0.031) +} + +.ace-clouds-midnight .ace_gutter-active-line { + background-color: rgba(215, 215, 215, 0.031) +} + +.ace-clouds-midnight .ace_marker-layer .ace_selected-word { + border: 1px solid #000000 +} + +.ace-clouds-midnight .ace_invisible { + color: #666 +} + +.ace-clouds-midnight .ace_keyword, +.ace-clouds-midnight .ace_meta, +.ace-clouds-midnight .ace_support.ace_constant.ace_property-value { + color: #927C5D +} + +.ace-clouds-midnight .ace_keyword.ace_operator { + color: #4B4B4B +} + +.ace-clouds-midnight .ace_keyword.ace_other.ace_unit { + color: #366F1A +} + +.ace-clouds-midnight .ace_constant.ace_language { + color: #39946A +} + +.ace-clouds-midnight .ace_constant.ace_numeric { + color: #46A609 +} + +.ace-clouds-midnight .ace_constant.ace_character.ace_entity { + color: #A165AC +} + +.ace-clouds-midnight .ace_invalid { + color: #FFFFFF; + background-color: #E92E2E +} + +.ace-clouds-midnight .ace_fold { + background-color: #927C5D; + border-color: #929292 +} + +.ace-clouds-midnight .ace_storage, +.ace-clouds-midnight .ace_support.ace_class, +.ace-clouds-midnight .ace_support.ace_function, +.ace-clouds-midnight .ace_support.ace_other, +.ace-clouds-midnight .ace_support.ace_type { + color: #E92E2E +} + +.ace-clouds-midnight .ace_string { + color: #5D90CD +} + +.ace-clouds-midnight .ace_comment { + color: #3C403B +} + +.ace-clouds-midnight .ace_entity.ace_name.ace_tag, +.ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name { + color: #606060 +} + +.ace-clouds-midnight .ace_indent-guide { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y +} + +.ace-clouds-midnight .ace_indent-guide-active { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y; +} +`}),ace.define("ace/theme/clouds_midnight",["require","exports","module","ace/theme/clouds_midnight-css","ace/lib/dom"],function(i,h,v){h.isDark=!0,h.cssClass="ace-clouds-midnight",h.cssText=i("./clouds_midnight-css");var s=i("../lib/dom");s.importCssString(h.cssText,h.cssClass,!1)}),function(){ace.require(["ace/theme/clouds_midnight"],function(i){L&&(L.exports=i)})}()})(Ma);var La={exports:{}};(function(L,n){ace.define("ace/theme/chrome-css",["require","exports","module"],function(i,h,v){v.exports=`.ace-chrome .ace_gutter { + background: #ebebeb; + color: #333; + overflow : hidden; +} + +.ace-chrome .ace_print-margin { + width: 1px; + background: #e8e8e8; +} + +.ace-chrome { + background-color: #FFFFFF; + color: black; +} + +.ace-chrome .ace_cursor { + color: black; +} + +.ace-chrome .ace_invisible { + color: rgb(191, 191, 191); +} + +.ace-chrome .ace_constant.ace_buildin { + color: rgb(88, 72, 246); +} + +.ace-chrome .ace_constant.ace_language { + color: rgb(88, 92, 246); +} + +.ace-chrome .ace_constant.ace_library { + color: rgb(6, 150, 14); +} + +.ace-chrome .ace_invalid { + background-color: rgb(153, 0, 0); + color: white; +} + +.ace-chrome .ace_fold { +} + +.ace-chrome .ace_support.ace_function { + color: rgb(60, 76, 114); +} + +.ace-chrome .ace_support.ace_constant { + color: rgb(6, 150, 14); +} + +.ace-chrome .ace_support.ace_type, +.ace-chrome .ace_support.ace_class +.ace-chrome .ace_support.ace_other { + color: rgb(109, 121, 222); +} + +.ace-chrome .ace_variable.ace_parameter { + font-style:italic; + color:#FD971F; +} +.ace-chrome .ace_keyword.ace_operator { + color: rgb(104, 118, 135); +} + +.ace-chrome .ace_comment { + color: #236e24; +} + +.ace-chrome .ace_comment.ace_doc { + color: #236e24; +} + +.ace-chrome .ace_comment.ace_doc.ace_tag { + color: #236e24; +} + +.ace-chrome .ace_constant.ace_numeric { + color: rgb(0, 0, 205); +} + +.ace-chrome .ace_variable { + color: rgb(49, 132, 149); +} + +.ace-chrome .ace_xml-pe { + color: rgb(104, 104, 91); +} + +.ace-chrome .ace_entity.ace_name.ace_function { + color: #0000A2; +} + + +.ace-chrome .ace_heading { + color: rgb(12, 7, 255); +} + +.ace-chrome .ace_list { + color:rgb(185, 6, 144); +} + +.ace-chrome .ace_marker-layer .ace_selection { + background: rgb(181, 213, 255); +} + +.ace-chrome .ace_marker-layer .ace_step { + background: rgb(252, 255, 0); +} + +.ace-chrome .ace_marker-layer .ace_stack { + background: rgb(164, 229, 101); +} + +.ace-chrome .ace_marker-layer .ace_bracket { + margin: -1px 0 0 -1px; + border: 1px solid rgb(192, 192, 192); +} + +.ace-chrome .ace_marker-layer .ace_active-line { + background: rgba(0, 0, 0, 0.07); +} + +.ace-chrome .ace_gutter-active-line { + background-color : #dcdcdc; +} + +.ace-chrome .ace_marker-layer .ace_selected-word { + background: rgb(250, 250, 255); + border: 1px solid rgb(200, 200, 250); +} + +.ace-chrome .ace_storage, +.ace-chrome .ace_keyword, +.ace-chrome .ace_meta.ace_tag { + color: rgb(147, 15, 128); +} + +.ace-chrome .ace_string.ace_regex { + color: rgb(255, 0, 0) +} + +.ace-chrome .ace_string { + color: #1A1AA6; +} + +.ace-chrome .ace_entity.ace_other.ace_attribute-name { + color: #994409; +} + +.ace-chrome .ace_indent-guide { + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y; +} + +.ace-chrome .ace_indent-guide-active { + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y; +} +`}),ace.define("ace/theme/chrome",["require","exports","module","ace/theme/chrome-css","ace/lib/dom"],function(i,h,v){h.isDark=!1,h.cssClass="ace-chrome",h.cssText=i("./chrome-css");var s=i("../lib/dom");s.importCssString(h.cssText,h.cssClass,!1)}),function(){ace.require(["ace/theme/chrome"],function(i){L&&(L.exports=i)})}()})(La);var Ia={exports:{}};(function(L,n){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(i,h,v){function s(g){var S=new Date().toLocaleString("en-us",g);return S.length==1?"0"+S:S}var u=i("./lib/dom"),d=i("./lib/oop"),a=i("./lib/event_emitter").EventEmitter,p=i("./lib/lang"),e=i("./range").Range,t=i("./range_list").RangeList,r=i("./keyboard/hash_handler").HashHandler,l=i("./tokenizer").Tokenizer,o=i("./clipboard"),c={CURRENT_WORD:function(g){return g.session.getTextRange(g.session.getWordRange())},SELECTION:function(g,S,T){var k=g.session.getTextRange();return T?k.replace(/\n\r?([ \t]*\S)/g,` +`+T+"$1"):k},CURRENT_LINE:function(g){return g.session.getLine(g.getCursorPosition().row)},PREV_LINE:function(g){return g.session.getLine(g.getCursorPosition().row-1)},LINE_INDEX:function(g){return g.getCursorPosition().row},LINE_NUMBER:function(g){return g.getCursorPosition().row+1},SOFT_TABS:function(g){return g.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(g){return g.session.getTabSize()},CLIPBOARD:function(g){return o.getText&&o.getText()},FILENAME:function(g){return/[^/\\]*$/.exec(this.FILEPATH(g))[0]},FILENAME_BASE:function(g){return/[^/\\]*$/.exec(this.FILEPATH(g))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(g){return this.FILEPATH(g).replace(/[^/\\]*$/,"")},FILEPATH:function(g){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(g){var S=g.session.$mode||{};return S.blockComment&&S.blockComment.start||""},BLOCK_COMMENT_END:function(g){var S=g.session.$mode||{};return S.blockComment&&S.blockComment.end||""},LINE_COMMENT:function(g){var S=g.session.$mode||{};return S.lineCommentStart||""},CURRENT_YEAR:s.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:s.bind(null,{year:"2-digit"}),CURRENT_MONTH:s.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:s.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:s.bind(null,{month:"short"}),CURRENT_DATE:s.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:s.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:s.bind(null,{weekday:"short"}),CURRENT_HOUR:s.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:s.bind(null,{minute:"2-digit"}),CURRENT_SECOND:s.bind(null,{second:"2-digit"})};c.SELECTED_TEXT=c.SELECTION;var f=function(){function g(){this.snippetMap={},this.snippetNameMap={},this.variables=c}return g.prototype.getTokenizer=function(){return g.$tokenizer||this.createTokenizer()},g.prototype.createTokenizer=function(){function S(_){return _=_.substr(1),/^\d+$/.test(_)?[{tabstopId:parseInt(_,10)}]:[{text:_}]}function T(_){return"(?:[^\\\\"+_+"]|\\\\.)"}var k={regex:"/("+T("/")+"+)/",onMatch:function(_,O,$){var A=$[0];return A.fmtString=!0,A.guard=_.slice(1,-1),A.flag="",""},next:"formatString"};return g.$tokenizer=new l({start:[{regex:/\\./,onMatch:function(_,O,$){var A=_[1];return(A=="}"&&$.length||"`$\\".indexOf(A)!=-1)&&(_=A),[_]}},{regex:/}/,onMatch:function(_,O,$){return[$.length?$.shift():_]}},{regex:/\$(?:\d+|\w+)/,onMatch:S},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(_,O,$){var A=S(_.substr(1));return $.unshift(A[0]),A},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+T("\\|")+"*\\|",onMatch:function(_,O,$){var A=_.slice(1,-1).replace(/\\[,|\\]|,/g,function(C){return C.length==2?C[1]:"\0"}).split("\0").map(function(C){return{value:C}});return $[0].choices=A,[A[0]]},next:"start"},k,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(_,O,$){return $.length&&$[0].expectElse?($[0].expectElse=!1,$[0].ifEnd={elseEnd:$[0]},[$[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(_,O,$){var A=_[1];return A=="}"&&$.length||"`$\\".indexOf(A)!=-1?_=A:A=="n"?_=` +`:A=="t"?_=" ":"ulULE".indexOf(A)!=-1&&(_={changeCase:A,local:A>"a"}),[_]}},{regex:"/\\w*}",onMatch:function(_,O,$){var A=$.shift();return A&&(A.flag=_.slice(1,-1)),this.next=A&&A.tabstopId?"start":"",[A||_]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(_,O,$){return[{text:_.slice(1)}]}},{regex:/\${\w+/,onMatch:function(_,O,$){var A={text:_.slice(2)};return $.unshift(A),[A]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(_,O,$){var A=$.shift();return this.next=A&&A.tabstopId?"start":"",[A||_]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(_,O,$){var A=$[0];return A.formatFunction=_.slice(2,-1),[$.shift()]},next:"formatString"},k,{regex:/:[\?\-+]?/,onMatch:function(_,O,$){_[1]=="+"&&($[0].ifEnd=$[0]),_[1]=="?"&&($[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),g.$tokenizer},g.prototype.tokenizeTmSnippet=function(S,T){return this.getTokenizer().getLineTokens(S,T).tokens.map(function(k){return k.value||k})},g.prototype.getVariableValue=function(S,T,k){if(/^\d+$/.test(T))return(this.variables.__||{})[T]||"";if(/^[A-Z]\d+$/.test(T))return(this.variables[T[0]+"__"]||{})[T.substr(1)]||"";if(T=T.replace(/^TM_/,""),!this.variables.hasOwnProperty(T))return"";var _=this.variables[T];return typeof _=="function"&&(_=this.variables[T](S,T,k)),_??""},g.prototype.tmStrFormat=function(S,T,k){if(!T.fmt)return S;var _=T.flag||"",O=T.guard;O=new RegExp(O,_.replace(/[^gim]/g,""));var $=typeof T.fmt=="string"?this.tokenizeTmSnippet(T.fmt,"formatString"):T.fmt,A=this,C=S.replace(O,function(){var w=A.variables.__;A.variables.__=[].slice.call(arguments);for(var x=A.resolveVariables($,k),I="E",F=0;F=0&&C.splice(w,1)}}var _=this.snippetMap,O=this.snippetNameMap;S.content?k(S):Array.isArray(S)&&S.forEach(k)},g.prototype.parseSnippetFile=function(S){S=S.replace(/\r/g,"");for(var T=[],k={},_=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,O;O=_.exec(S);){if(O[1])try{k=JSON.parse(O[1]),T.push(k)}catch{}if(O[4])k.content=O[4].replace(/^\t/gm,""),T.push(k),k={};else{var $=O[2],A=O[3];if($=="regex"){var C=/\/((?:[^\/\\]|\\.)*)|$/g;k.guard=C.exec(A)[1],k.trigger=C.exec(A)[1],k.endTrigger=C.exec(A)[1],k.endGuard=C.exec(A)[1]}else $=="snippet"?(k.tabTrigger=A.match(/^\S*/)[0],k.name||(k.name=A)):$&&(k[$]=A)}}return T},g.prototype.getSnippetByName=function(S,T){var k=this.snippetNameMap,_;return this.getActiveScopes(T).some(function(O){var $=k[O];return $&&(_=$[S]),!!_},this),_},g}();d.implement(f.prototype,a);var m=function(g,S,T){function k(G){for(var Y=[],Q=0;Q1?(H=Y[Y.length-1].length,W+=Y.length-1):H+=G.length,U+=G}else G&&(G.start?G.end={row:W,column:H}:G.start={row:W,column:H})}),{text:U,tabstops:w,tokens:C}},y=function(){function g(S){if(this.index=0,this.ranges=[],this.tabstops=[],S.tabstopManager)return S.tabstopManager;S.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=p.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(S)}return g.prototype.attach=function(S){this.$openTabstops=null,this.selectedTabstop=null,this.editor=S,this.session=S.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},g.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},g.prototype.onChange=function(S){for(var T=S.action[0]=="r",k=this.selectedTabstop||{},_=k.parents||{},O=this.tabstops.slice(),$=0;$2&&(this.tabstops.length&&A.push(A.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,A))},g.prototype.addTabstopMarkers=function(S){var T=this.session;S.forEach(function(k){k.markerId||(k.markerId=T.addMarker(k,"ace_snippet-marker","text"))})},g.prototype.removeTabstopMarkers=function(S){var T=this.session;S.forEach(function(k){T.removeMarker(k.markerId),k.markerId=null})},g.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var S=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&S--,this.tabstops.forEach(function(T){T.snippetId===S?this.addTabstopMarkers(T):this.removeTabstopMarkers(T)},this)}},g.prototype.removeRange=function(S){var T=S.tabstop.indexOf(S);T!=-1&&S.tabstop.splice(T,1),T=this.ranges.indexOf(S),T!=-1&&this.ranges.splice(T,1),T=S.tabstop.rangeList.ranges.indexOf(S),T!=-1&&S.tabstop.splice(T,1),this.session.removeMarker(S.markerId),S.tabstop.length||(T=this.tabstops.indexOf(S.tabstop),T!=-1&&this.tabstops.splice(T,1),this.tabstops.length||this.detach())},g}();y.prototype.keyboardHandler=new r,y.prototype.keyboardHandler.bindKeys({Tab:function(g){h.snippetManager&&h.snippetManager.expandWithTab(g)||(g.tabstopManager.tabNext(1),g.renderer.scrollCursorIntoView())},"Shift-Tab":function(g){g.tabstopManager.tabNext(-1),g.renderer.scrollCursorIntoView()},Esc:function(g){g.tabstopManager.detach()}});var D=function(g,S){g.row==0&&(g.column+=S.column),g.row+=S.row},E=function(g,S){g.row==S.row&&(g.column-=S.column),g.row-=S.row};u.importCssString(` +.ace_snippet-marker { + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(194, 193, 208, 0.09); + border: 1px dotted rgba(211, 208, 235, 0.62); + position: absolute; +}`,"snippets.css",!1),h.snippetManager=new f;var b=i("./editor").Editor;(function(){this.insertSnippet=function(g,S){return h.snippetManager.insertSnippet(this,g,S)},this.expandSnippet=function(g){return h.snippetManager.expandWithTab(this,g)}}).call(b.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],function(i,h,v){var s=i("../virtual_renderer").VirtualRenderer,u=i("../editor").Editor,d=i("../range").Range,a=i("../lib/event"),p=i("../lib/lang"),e=i("../lib/dom"),t=i("../config").nls,r=i("./../lib/useragent"),l=function(D){return"suggest-aria-id:".concat(D)},o=r.isSafari?"menu":"listbox",c=r.isSafari?"menuitem":"option",f=r.isSafari?"aria-current":"aria-selected",m=function(D){var E=new s(D);E.$maxLines=4;var b=new u(E);return b.setHighlightActiveLine(!1),b.setShowPrintMargin(!1),b.renderer.setShowGutter(!1),b.renderer.setHighlightGutterLine(!1),b.$mouseHandler.$focusTimeout=0,b.$highlightTagPending=!0,b},y=function(){function D(E){var b=e.createElement("div"),g=m(b);E&&E.appendChild(b),b.style.display="none",g.renderer.content.style.cursor="default",g.renderer.setStyle("ace_autocomplete"),g.renderer.$textLayer.element.setAttribute("role",o),g.renderer.$textLayer.element.setAttribute("aria-roledescription",t("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),g.renderer.$textLayer.element.setAttribute("aria-label",t("autocomplete.popup.aria-label","Autocomplete suggestions")),g.renderer.textarea.setAttribute("aria-hidden","true"),g.setOption("displayIndentGuides",!1),g.setOption("dragDelay",150);var S=function(){};g.focus=S,g.$isFocused=!0,g.renderer.$cursorLayer.restartTimer=S,g.renderer.$cursorLayer.element.style.opacity="0",g.renderer.$maxLines=8,g.renderer.$keepTextAreaAtCursor=!1,g.setHighlightActiveLine(!1),g.session.highlight(""),g.session.$searchHighlight.clazz="ace_highlight-marker",g.on("mousedown",function(C){var w=C.getDocumentPosition();g.selection.moveToPosition(w),_.start.row=_.end.row=w.row,C.stop()});var T,k=new d(-1,0,-1,1/0),_=new d(-1,0,-1,1/0);_.id=g.session.addMarker(_,"ace_active-line","fullLine"),g.setSelectOnHover=function(C){C?k.id&&(g.session.removeMarker(k.id),k.id=null):k.id=g.session.addMarker(k,"ace_line-hover","fullLine")},g.setSelectOnHover(!1),g.on("mousemove",function(C){if(!T){T=C;return}if(!(T.x==C.x&&T.y==C.y)){T=C,T.scrollTop=g.renderer.scrollTop,g.isMouseOver=!0;var w=T.getDocumentPosition().row;k.start.row!=w&&(k.id||g.setRow(w),$(w))}}),g.renderer.on("beforeRender",function(){if(T&&k.start.row!=-1){T.$pos=null;var C=T.getDocumentPosition().row;k.id||g.setRow(C),$(C,!0)}}),g.renderer.on("afterRender",function(){for(var C=g.renderer.$textLayer,w=C.config.firstRow,x=C.config.lastRow;w<=x;w++){var I=C.element.childNodes[w-C.config.firstRow];I.setAttribute("role",c),I.setAttribute("aria-roledescription",t("autocomplete.popup.item.aria-roledescription","item")),I.setAttribute("aria-setsize",g.data.length),I.setAttribute("aria-describedby","doc-tooltip"),I.setAttribute("aria-posinset",w+1);var F=g.getData(w);if(F){var R="".concat(F.caption||F.value).concat(F.meta?", ".concat(F.meta):"");I.setAttribute("aria-label",R)}var B=I.querySelectorAll(".ace_completion-highlight");B.forEach(function(P){P.setAttribute("role","mark")})}}),g.renderer.on("afterRender",function(){var C=g.getRow(),w=g.renderer.$textLayer,x=w.element.childNodes[C-w.config.firstRow],I=document.activeElement;if(x!==g.selectedNode&&g.selectedNode&&(e.removeCssClass(g.selectedNode,"ace_selected"),g.selectedNode.removeAttribute(f),g.selectedNode.removeAttribute("id")),I.removeAttribute("aria-activedescendant"),g.selectedNode=x,x){var F=l(C);e.addCssClass(x,"ace_selected"),x.id=F,w.element.setAttribute("aria-activedescendant",F),I.setAttribute("aria-activedescendant",F),x.setAttribute(f,"true")}});var O=function(){$(-1)},$=function(C,w){C!==k.start.row&&(k.start.row=k.end.row=C,w||g.session._emit("changeBackMarker"),g._emit("changeHoverMarker"))};g.getHoveredRow=function(){return k.start.row},a.addListener(g.container,"mouseout",function(){g.isMouseOver=!1,O()}),g.on("hide",O),g.on("changeSelection",O),g.session.doc.getLength=function(){return g.data.length},g.session.doc.getLine=function(C){var w=g.data[C];return typeof w=="string"?w:w&&w.value||""};var A=g.session.bgTokenizer;return A.$tokenizeRow=function(C){function w(G,Y){G&&I.push({type:(x.className||"")+(Y||""),value:G})}var x=g.data[C],I=[];if(!x)return I;typeof x=="string"&&(x={value:x});for(var F=x.caption||x.value||x.name,R=F.toLowerCase(),B=(g.filterText||"").toLowerCase(),P=0,V=0,W=0;W<=B.length;W++)if(W!=V&&(x.matchMask&1<=W?x="bottom":x="top"),x==="top"?(H.bottom=C.top-this.$borderSize,H.top=H.bottom-W):x==="bottom"&&(H.top=C.top+w+this.$borderSize,H.bottom=H.top+W);var Y=H.top>=0&&H.bottom<=B;if(!I&&!Y)return!1;Y?V.$maxPixelHeight=null:x==="top"?V.$maxPixelHeight=G:V.$maxPixelHeight=U,x==="top"?(F.style.top="",F.style.bottom=B+R-H.bottom+"px",g.isTopdown=!1):(F.style.top=H.top+"px",F.style.bottom="",g.isTopdown=!0),F.style.display="";var Q=C.left;return Q+F.offsetWidth>P&&(Q=P-F.offsetWidth),F.style.left=Q+"px",F.style.right="",g.isOpen||(g.isOpen=!0,this._signal("show"),T=null),g.anchorPos=C,g.anchor=x,!0},g.show=function(C,w,x){this.tryShow(C,w,x?"bottom":void 0,!0)},g.goTo=function(C){var w=this.getRow(),x=this.session.getLength()-1;switch(C){case"up":w=w<=0?x:w-1;break;case"down":w=w>=x?-1:w+1;break;case"start":w=0;break;case"end":w=x}this.setRow(w)},g.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},g.$imageSize=0,g.$borderSize=1,g}return D}();e.importCssString(` +.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { + background-color: #CAD6FA; + z-index: 1; +} +.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { + background-color: #3a674e; +} +.ace_editor.ace_autocomplete .ace_line-hover { + border: 1px solid #abbffe; + margin-top: -1px; + background: rgba(233,233,253,0.4); + position: absolute; + z-index: 2; +} +.ace_dark.ace_editor.ace_autocomplete .ace_line-hover { + border: 1px solid rgba(109, 150, 13, 0.8); + background: rgba(58, 103, 78, 0.62); +} +.ace_completion-meta { + opacity: 0.5; + margin-left: 0.9em; +} +.ace_completion-message { + margin-left: 0.9em; + color: blue; +} +.ace_editor.ace_autocomplete .ace_completion-highlight{ + color: #2d69c7; +} +.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{ + color: #93ca12; +} +.ace_editor.ace_autocomplete { + width: 300px; + z-index: 200000; + border: 1px lightgray solid; + position: fixed; + box-shadow: 2px 3px 5px rgba(0,0,0,.2); + line-height: 1.4; + background: #fefefe; + color: #111; +} +.ace_dark.ace_editor.ace_autocomplete { + border: 1px #484747 solid; + box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51); + line-height: 1.4; + background: #25282c; + color: #c1c1c1; +} +.ace_autocomplete .ace_text-layer { + width: calc(100% - 8px); +} +.ace_autocomplete .ace_line { + display: flex; + align-items: center; +} +.ace_autocomplete .ace_line > * { + min-width: 0; + flex: 0 0 auto; +} +.ace_autocomplete .ace_line .ace_ { + flex: 0 1 auto; + overflow: hidden; + text-overflow: ellipsis; +} +.ace_autocomplete .ace_completion-spacer { + flex: 1; +} +.ace_autocomplete.ace_loading:after { + content: ""; + position: absolute; + top: 0px; + height: 2px; + width: 8%; + background: blue; + z-index: 100; + animation: ace_progress 3s infinite linear; + animation-delay: 300ms; + transform: translateX(-100%) scaleX(1); +} +@keyframes ace_progress { + 0% { transform: translateX(-100%) scaleX(1) } + 50% { transform: translateX(625%) scaleX(2) } + 100% { transform: translateX(1500%) scaleX(3) } +} +@media (prefers-reduced-motion) { + .ace_autocomplete.ace_loading:after { + transform: translateX(625%) scaleX(2); + animation: none; + } +} +`,"autocompletion.css",!1),h.AcePopup=y,h.$singleLineEditor=m,h.getAriaId=l}),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],function(i,h,v){var s=function(){function u(d){this.editor=d,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return u.prototype.setScreenReaderContent=function(d){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",function(){var p=this.popup.getRow(),e=this.popup.renderer.$textLayer,t=e.element.childNodes[p-e.config.firstRow];if(t){for(var r="doc-tooltip ",l=0;l=0&&a.test(u[e]);e--)p.push(u[e]);return p.reverse().join("")},h.retrieveFollowingIdentifier=function(u,d,a){a=a||s;for(var p=[],e=d;e0)for(var g=this.popup.getFirstVisibleRow();g<=this.popup.getLastVisibleRow();g++){var S=this.popup.getData(g);S&&(!b||S.hideInlinePreview)&&this.$seen(S)}},E.prototype.$onPopupShow=function(b){this.$onPopupChange(b),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},E.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var b=this.editor.container.parentNode,g=[];b;)g.push(b),b.addEventListener("scroll",this.onLayoutChange,{passive:!0}),b=b.parentNode;this.$elements=g}},E.prototype.unObserveLayoutChanges=function(){var b=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach(function(g){g.removeEventListener("scroll",b.onLayoutChange,{passive:!0})}),this.$elements=null},E.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},E.prototype.$updatePopupPosition=function(){var b=this.editor,g=b.renderer,S=g.layerConfig.lineHeight,T=g.$cursorLayer.getPixelPosition(this.base,!0);T.left-=this.popup.getTextLeftOffset();var k=b.container.getBoundingClientRect();T.top+=k.top-g.layerConfig.offset,T.left+=k.left-b.renderer.scrollLeft,T.left+=g.gutterWidth;var _={top:T.top,left:T.left};g.$ghostText&&g.$ghostTextWidget&&this.base.row===g.$ghostText.position.row&&(_.top+=g.$ghostTextWidget.el.offsetHeight);var O=b.container.getBoundingClientRect().bottom-S,$=O<_.top?{top:O,left:_.left}:_;this.popup.tryShow($,S,"bottom")||this.popup.tryShow(T,S,"top")||this.popup.show(T,S)},E.prototype.openPopup=function(b,g,S){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var T=this.popup.getRow(),k=this.popup.data[T];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:a(this.popup.getRow()),inline:this.inlineEnabled}),b.keyBinding.addKeyboardHandler(this.keyboardHandler);var _;this.stickySelection&&(_=this.popup.data.indexOf(k)),(!_||_===-1)&&(_=0),this.popup.setRow(this.autoSelect?_:-1),_===T&&k!==this.completions.filtered[_]&&this.$onPopupChange();var O=this.inlineRenderer&&this.inlineEnabled;if(_===T&&O){var $=this.popup.getData(this.popup.getRow());this.$updateGhostText($)}S||(this.popup.setTheme(b.getTheme()),this.popup.setFontSize(b.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},E.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},E.prototype.changeListener=function(b){var g=this.editor.selection.lead;(g.row!=this.base.row||g.columnthis.filterText&&b.lastIndexOf(this.filterText,0)===0)var g=this.filtered;else var g=this.all;this.filterText=b,g=this.filterCompletions(g,this.filterText),g=g.sort(function(T,k){return k.exactMatch-T.exactMatch||k.$score-T.$score||(T.caption||T.value).localeCompare(k.caption||k.value)});var S=null;g=g.filter(function(T){var k=T.snippet||T.caption||T.value;return k===S?!1:(S=k,!0)}),this.filtered=g},E.prototype.filterCompletions=function(b,g){var S=[],T=g.toUpperCase(),k=g.toLowerCase();e:for(var _=0,O;O=b[_];_++){if(O.skipFilter){O.$score=O.score,S.push(O);continue}var $=!this.ignoreCaption&&O.caption||O.value||O.snippet;if($){var A=-1,C=0,w=0,x,I;if(this.exactMatch){if(g!==$.substr(0,g.length))continue e}else{var F=$.toLowerCase().indexOf(k);if(F>-1)w=F;else for(var R=0;R=0&&(P<0||B0&&(A===-1&&(w+=10),w+=I,C|=1<",a.escapeHTML(T.caption),"","
",a.escapeHTML(r(T.snippet))].join(""))},id:"snippetCompleter"},o=[l,e,t];h.setCompleters=function(T){o.length=0,T&&o.push.apply(o,T)},h.addCompleter=function(T){o.push(T)},h.textCompleter=e,h.keyWordCompleter=t,h.snippetCompleter=l;var c={name:"expandSnippet",exec:function(T){return s.expandWithTab(T)},bindKey:"Tab"},f=function(T,k){m(k.session.$mode)},m=function(T){typeof T=="string"&&(T=d.$modes[T]),T&&(s.files||(s.files={}),y(T.$id,T.snippetFileId),T.modes&&T.modes.forEach(m))},y=function(T,k){!k||!T||s.files[T]||(s.files[T]={},d.loadModule(k,function(_){_&&(s.files[T]=_,!_.snippets&&_.snippetText&&(_.snippets=s.parseSnippetFile(_.snippetText)),s.register(_.snippets||[],_.scope),_.includeScopes&&(s.snippetMap[_.scope].includeScopes=_.includeScopes,_.includeScopes.forEach(function(O){m("ace/mode/"+O)})))}))},D=function(T){var k=T.editor,_=k.completer&&k.completer.activated;if(T.command.name==="backspace")_&&!p.getCompletionPrefix(k)&&k.completer.detach();else if(T.command.name==="insertstring"&&!_){E=T;var O=T.editor.$liveAutocompletionDelay;O?b.delay(O):g(T)}},E,b=a.delayedCall(function(){g(E)},0),g=function(T){var k=T.editor,_=p.getCompletionPrefix(k),O=T.args,$=p.triggerAutocomplete(k,O);if(_&&_.length>=k.$liveAutocompletionThreshold||$){var A=u.for(k);A.autoShown=!0,A.showPopup(k)}},S=i("../editor").Editor;i("../config").defineOptions(S.prototype,"editor",{enableBasicAutocompletion:{set:function(T){T?(this.completers||(this.completers=Array.isArray(T)?T:o),this.commands.addCommand(u.startCommand)):this.commands.removeCommand(u.startCommand)},value:!1},enableLiveAutocompletion:{set:function(T){T?(this.completers||(this.completers=Array.isArray(T)?T:o),this.commands.on("afterExec",D)):this.commands.off("afterExec",D)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(T){T?(this.commands.addCommand(c),this.on("changeMode",f),f(null,this)):(this.commands.removeCommand(c),this.off("changeMode",f))},value:!1}})}),function(){ace.require(["ace/ext/language_tools"],function(i){L&&(L.exports=i)})}()})(Ia);const Ai={jsonError:{border:"1px solid red",minHeight:200},jsonNoError:{border:"1px solid #00000000",minHeight:200}};function Fa(L){return M.createElement($a,{style:L.error===!0?Ai.jsonError:L.error===!1?Ai.jsonNoError:void 0,mode:L.mode||"json",width:"100%",height:"100%",showPrintMargin:L.editValueMode,showGutter:L.editValueMode,highlightActiveLine:L.editValueMode,defaultValue:L.defaultValue,theme:L.themeType==="dark"?"clouds_midnight":"chrome",value:L.value,readOnly:!L.onChange,onChange:n=>L.onChange(n),name:L.name||"UNIQUE_ID_OF_DIV1",fontSize:L.fontSize||14,setOptions:{enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableSnippets:!0,showLineNumbers:L.editValueMode,tabSize:L.editValueMode?2:void 0},editorProps:{$blockScrolling:!0}})}const On={flex:{display:"flex"},button:{height:48,minWidth:48},wrapper:{width:"calc(100vw - 40px)",height:"calc(100vh - 188px)"}};class Oa extends K{componentDidMount(){super.componentDidMount();const{data:n,attr:i}=this.props,h=K.getValue(n,i)||"{}";this.setState({value:h,initialized:!0,jsonError:this.validateJson(h)})}validateJson(n){let i=!1;if(this.props.schema.validateJson!==!1&&(n||!this.props.schema.allowEmpty))try{this.props.schema.json5?ji.parse(n):JSON.parse(n)}catch(h){console.log("Error in JSON",h),i=!0}return i}renderItem(n,i){if(!this.state.initialized)return null;const{schema:h,data:v,attr:s}=this.props,{value:u,showSelectId:d}=this.state;return M.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},M.createElement("div",{style:On.flex},M.createElement(N.Button,{color:"grey",disabled:i,style:On.button,size:"small",variant:"outlined",onClick:()=>this.setState({showSelectId:!0})},j.I18n.t("ra_JSON editor"))),d?M.createElement(lo,{title:this.getText(h.label),overflowHidden:!0,applyDisabled:this.state.jsonError&&this.props.schema.doNotApplyWithError,onClose:()=>this.setState({showSelectId:!1,value:K.getValue(v,s)||{}}),onApply:()=>this.setState({showSelectId:!1},()=>this.onChange(s,u))},M.createElement("div",{style:{...On.wrapper,border:this.state.jsonError?"2px solid red":"2px solid transparent"}},M.createElement(Fa,{mode:this.props.schema.json5?"json5":"json",value:typeof u=="object"?JSON.stringify(u):u,onChange:a=>this.setState({value:a,jsonError:this.validateJson(a)}),name:"ConfigJsonEditor",themeType:this.props.oContext.themeType}))):null,h.help||this.state.jsonError?M.createElement(N.FormHelperText,null,this.state.jsonError?j.I18n.t("ra_Invalid JSON"):this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Ra=[{value:"en",label:"English"},{value:"de",label:"Deutsch"},{value:"ru",label:"русский"},{value:"pt",label:"Portugues"},{value:"nl",label:"Nederlands"},{value:"fr",label:"français"},{value:"it",label:"Italiano"},{value:"es",label:"Espanol"},{value:"pl",label:"Polski"},{value:"uk",label:"Український"},{value:"zh-cn",label:"简体中文"}];class Na extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr),i=[...Ra];this.props.schema.system?i.unshift({value:"",label:j.I18n.t("ra_System language")}):i.unshift({value:"",label:j.I18n.t("ra_none")}),this.setState({value:this.props.schema.system?n||"":n||j.I18n.getLanguage(),selectOptions:i})}renderItem(n,i){var v,s;if(!this.state.selectOptions)return null;const h=(v=this.state.selectOptions)==null?void 0:v.find(u=>u.value===this.state.value||!u.value&&!this.state.value);return M.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,disabled:i,value:this.state.value||"_",renderValue:()=>this.getText(h==null?void 0:h.label,this.props.schema.noTranslation),onChange:u=>{let{value:d}=u.target;d==="_"&&(d=""),this.setState({value:d},()=>{const a=this.onChange(this.props.attr,d);if(a instanceof Promise&&a.catch(p=>console.error(p)),this.props.schema.changeGuiLanguage)if(d){if(d===j.I18n.getLanguage())return;j.I18n.setLanguage(d),this.props.oContext.changeLanguage&&this.props.oContext.changeLanguage()}else this.props.oContext.socket.getSystemConfig().then(p=>{p.common.language!==j.I18n.getLanguage()&&p.common.language&&(j.I18n.setLanguage(p.common.language),this.props.oContext.changeLanguage&&this.props.oContext.changeLanguage())}).catch(p=>console.error(`Cannot read system config: ${p}`))})}},(s=this.state.selectOptions)==null?void 0:s.map(u=>M.createElement(N.MenuItem,{key:u.value,value:u.value},u.label))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class Ba extends K{scrollRef;constructor(n){super(n),this.scrollRef=M.createRef()}scrolledDown(){return this.scrollRef.current?this.scrollRef.current.offsetHeight+this.scrollRef.current.scrollTop>=this.scrollRef.current.scrollHeight:!1}componentDidMount(){super.componentDidMount(),K.getValue(this.props.data,this.props.attr)||(this.props.schema.licenseUrl?(this.setState({showLicenseDialog:!0,loading:!0,scrolledDown:!1}),fetch(this.props.schema.licenseUrl).then(n=>n.text()).then(n=>this.setState({license:n,loading:!1})).catch(n=>this.setState({license:n.toString(),loading:!1,error:!0,scrolledDown:!1}))):this.setState({showLicenseDialog:!0,scrolledDown:!1}),setTimeout(()=>{this.scrollRef.current&&(this.scrolledDown()?this.setState({scrolledDown:!0}):this.scrollRef.current.addEventListener("scroll",()=>{!this.state.scrolledDown&&this.scrolledDown()&&this.setState({scrolledDown:!0})}))},1e3))}renderItem(n,i){return this.state.showLicenseDialog?M.createElement(N.Dialog,{maxWidth:"lg",open:!0,onClose:(h,v)=>{v!=="escapeKeyDown"&&v!=="backdropClick"&&this.setState({showLicenseDialog:!1})}},M.createElement(N.DialogTitle,null,this.props.schema.title?j.I18n.t(this.props.schema.title):j.I18n.t("ra_License agreement")),M.createElement(N.DialogContent,null,this.props.schema.licenseUrl?M.createElement(M.Fragment,null,this.state.loading?M.createElement(N.LinearProgress,null):null,M.createElement("pre",{ref:this.scrollRef,style:{width:"100%",height:"100%",overflowY:"auto",fontSize:14}},this.state.license)):null,!this.props.schema.licenseUrl&&this.props.schema.texts?M.createElement("div",{ref:this.scrollRef,style:{width:"100%",height:"100%",overflowY:"auto",fontSize:14}},this.props.schema.texts.map((h,v)=>this.props.schema.noTranslation?M.createElement("p",{key:v},h):M.createElement("p",{key:v},j.I18n.t(h)))):null),M.createElement(N.DialogActions,null,this.props.schema.checkBox?M.createElement(N.FormControlLabel,{control:M.createElement(N.Checkbox,{disabled:i,checked:!!this.state.licenseChecked,onClick:()=>this.setState({licenseChecked:!this.state.licenseChecked})}),label:j.I18n.t(this.props.schema.checkBox)}):null,M.createElement(N.Button,{disabled:i||this.state.loading||this.state.error||this.props.schema.checkBox&&!this.state.licenseChecked||!this.state.scrolledDown,onClick:()=>{this.setState({showLicenseDialog:!1});const h=this.onChange(this.props.attr,!0);h instanceof Promise&&h.catch(v=>console.error(`Cannot set value: ${v}`))},color:"primary",variant:"contained",startIcon:M.createElement(Z.Check,null)},this.props.schema.agreeText?j.I18n.t(this.props.schema.agreeText):j.I18n.t("ra_Accept license")),M.createElement(N.Button,{onClick:()=>{this.setState({showLicenseDialog:!1}),setTimeout(()=>this.setState({showLicenseDialog:!0}),2e3)},color:"grey",variant:"contained",startIcon:M.createElement(Z.Close,null)},j.I18n.t("ra_Close")))):null}}const xi={indeterminate:{opacity:.5},control:{flexDirection:"row",width:"100%"}};class Pa extends K{updateTimeout;componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr);if(n==null&&(n=""),Array.isArray(n)&&this.props.oContext.multiEdit){n=K.DIFFERENT_VALUE,this.setState({_value:n,oldValue:n});return}this.setState({_value:n.toString(),oldValue:n.toString()})}static getDerivedStateFromProps(n,i){if(n.schema.min!==void 0&&n.schema.min<0||n.schema.max!==void 0&&n.schema.max<0)return null;const h=K.getValue(n.data,n.attr);return n.oContext.multiEdit&&i._value===K.DIFFERENT_VALUE?{_value:K.DIFFERENT_VALUE}:h==null||i.oldValue===null||i.oldValue===void 0||h.toString()!==parseFloat(i._value).toString()&&h.toString()!==i.oldValue.toString()?{_value:h}:null}checkValue(n){if(n==null)return null;n=n.toString().trim().replace(",",".");const i=n===""?0:parseFloat(n);return n!==""&&Number.isNaN(i)?"ra_Not a number":n!==""&&window.isFinite(i)?this.props.schema.min!==void 0&&ithis.props.schema.max?"ra_Too big":n===""||n==="-"||Number.isNaN(i)?"ra_Not a number":null:"ra_Not a number"}renderItem(n,i){const h=Array.isArray(this.state._value)||this.state._value===K.DIFFERENT_VALUE;if(this.state.oldValue!==null&&this.state.oldValue!==void 0?(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=void 0,this.setState({oldValue:null})},30)):this.updateTimeout&&(clearTimeout(this.updateTimeout),this.updateTimeout=void 0),h){const v=K.getValue(this.props.data,this.props.attr),s=(v==null?void 0:v.filter(u=>u||u===0).map(u=>({label:u.toString(),value:u})))||[];return s.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),M.createElement(N.Autocomplete,{style:xi.indeterminate,fullWidth:!0,freeSolo:!0,value:s[0],getOptionSelected:(u,d)=>u.label===d.label,onChange:(u,d)=>{const a=this.onChange(this.props.attr,d==null?void 0:d.value,()=>{this.setState({_value:d==null?void 0:d.value,oldValue:this.state._value})});a instanceof Promise&&a.catch(p=>console.error(p))},options:s,getOptionLabel:u=>u.label,renderInput:u=>M.createElement(N.TextField,{...u,label:this.getText(this.props.schema.label),variant:"standard",slotProps:{htmlInput:{...u.inputProps,readOnly:this.props.schema.readOnly||!1},input:{endAdornment:this.props.schema.unit?this.getText(this.props.schema.unit,this.props.schema.noTranslation):void 0}},error:!!n,placeholder:this.getText(this.props.schema.placeholder),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),disabled:!!i})})}return!n&&this.state._value!==null&&this.state._value!==void 0&&this.state._value&&(n=this.checkValue(this.state._value),n&&(n=j.I18n.t(n))),M.createElement(N.FormControl,{variant:"standard",style:xi.control},M.createElement(N.TextField,{sx:{"& .up-down":{display:"none"},"&:hover .up-down":{display:"block"}},variant:"standard",type:this.props.schema.min!==void 0&&this.props.schema.min>=0?"number":"text",fullWidth:!0,slotProps:{htmlInput:{min:this.props.schema.min,max:this.props.schema.max,step:this.props.schema.step,readOnly:this.props.schema.readOnly||!1},input:{endAdornment:this.props.schema.unit?this.getText(this.props.schema.unit,this.props.schema.noTranslation):null}},value:this.state._value===null||this.state._value===void 0?"":this.state._value,error:!!n,disabled:!!i,onChange:v=>{const s=v.target.value,u=this.checkValue(s);u?this.onError(this.props.attr,j.I18n.t(u)):this.onError(this.props.attr),this.setState({_value:s,oldValue:this.state._value},()=>this.onChange(this.props.attr,parseFloat(s.replace(",","."))))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:n&&typeof n=="string"?n:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}))}}class Wa extends K{authWindow;oid;url;constructor(n){super(n),this.state={...this.state,accessTokens:"",success:!1,blocked:!1,running:!1,pressed:!1},this.url=`https://oauth2.iobroker.in/${n.schema.identifier}?redirect=true`,n.schema.scope&&(this.url+=`&scope=${encodeURIComponent(n.schema.scope)}`),this.oid=`${this.props.oContext.adapterName}.${this.props.oContext.instance}.${this.props.schema.saveTokenIn||"oauth2Tokens"}`}async componentDidMount(){super.componentDidMount(),window.addEventListener?window.addEventListener("message",this.onMessage,!1):window.attachEvent("onmessage",this.onMessage,!1),await this.props.oContext.socket.subscribeState(this.oid,this.onTokensUpdated);const n=await this.props.oContext.socket.getState(this.oid);if(n){const i=JSON.parse(n.val);new Date(i.access_token_expires_on).getTime()>Date.now()&&this.setState({accessTokens:n.val})}}onTokensUpdated=(n,i)=>{if(i!=null&&i.val){const h=JSON.parse(i.val);if(new Date(h.access_token_expires_on).getTime()>Date.now()){this.state.accessTokens!==i.val&&this.setState({accessTokens:i.val});return}}this.setState({accessTokens:""})};componentWillUnmount(){super.componentWillUnmount(),window.removeEventListener?window.removeEventListener("message",this.onMessage,!1):window.detachEvent("onmessage",this.onMessage,!1),this.props.oContext.socket.unsubscribeState(this.oid,this.onTokensUpdated)}saveToken(n){try{n&&!n.startsWith("{")&&(n=atob(n));const i=JSON.parse(n);i.access_token&&i.refresh_token&&i.expires_in&&(i.access_token_expires_on||=new Date(Date.now()+i.expires_in*1e3).toISOString(),this.props.oContext.socket.setState(this.oid,JSON.stringify(i),!0).catch(h=>console.log(`Error occurred: ${h.toString()}`)))}catch(i){console.warn(i)}}onMessage=n=>{var i,h,v;if(n.origin==="https://oauth2.iobroker.in"&&(typeof n.data=="string"&&n.data.startsWith(`${this.props.schema.identifier}-authentication:`)||typeof n.message=="string"&&n.message.startsWith(`${this.props.schema.identifier}-authentication:`))){const s=(n.data||n.message).split(":");s[1]==="success"?(this.setState({accessTokens:s[2],success:!0,pressed:!1},()=>this.saveToken(this.state.accessTokens)),(i=this.authWindow)==null||i.postMessage("close",n.origin),this.authWindow=null):(v=(h=this.props).onError)==null||v.call(h,s[2])}};onOpenUrl(){this.authWindow=window.open(this.url,this.props.schema.identifier),!this.authWindow||this.authWindow.closed||typeof this.authWindow.closed>"u"?this.setState({blocked:!0}):this.setState({pressed:!0})}renderItem(){let n="";if(this.state.accessTokens)try{const v=JSON.parse(this.state.accessTokens);n=new Date(v.access_token_expires_on).toLocaleString()}catch{}let i;this.state.accessTokens?i=this.props.schema.refreshLabel?this.getText(this.props.schema.refreshLabel):j.I18n.t("ra_Renew %s access",this.props.schema.identifier[0].toUpperCase()+this.props.schema.identifier.slice(1)):i=this.props.schema.label?this.getText(this.props.schema.label):j.I18n.t("ra_Get %s access",this.props.schema.identifier[0].toUpperCase()+this.props.schema.identifier.slice(1));const h=this.getIcon();return M.createElement("div",{style:{width:"100%",margin:"0 0 1rem 0"}},M.createElement(N.Button,{disabled:this.state.running,endIcon:h||M.createElement(Z.CloudUpload,null),variant:"contained",onClick:()=>this.onOpenUrl()},i),this.state.blocked?M.createElement("div",{style:{color:"red",fontSize:16,marginTop:20}},j.I18n.t("ra_Please allow popups in your browser for this page!")):null,this.state.accessTokens?M.createElement("div",{style:{color:"green",fontSize:16,marginTop:20}},this.props.alive?j.I18n.t("ra_Successfully authorized. Token valid till %s and will be automatically renewed.",n):j.I18n.t("ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.",n)):null,this.state.pressed?M.createElement(M.Fragment,null,M.createElement("div",{style:{width:"100%",margin:"1rem 0 1rem 0"}},M.createElement("span",{style:{marginRight:4}},`${j.I18n.t("ra_If the button above does not work, you can authorize manually this app by visiting this url")}`,":"),M.createElement("br",null),M.createElement("a",{target:this.props.schema.identifier,href:this.url,rel:"noreferrer"},this.url)),M.createElement(N.TextField,{value:this.state.accessTokens,label:j.I18n.t("ra_Enter the code from that page here"),variant:"standard",onChange:v=>{let s=v.target.value;s&&!s.startsWith("{")&&(s=atob(s));try{const u=JSON.parse(s);u.access_token&&(u.access_token_expires_on=new Date(Date.now()+(u.expires_in-10)*1e3).toISOString(),this.setState({accessTokens:JSON.stringify(u)},()=>this.saveToken(this.state.accessTokens)))}catch{}},fullWidth:!0})):null)}}const $i={flex:{display:"flex"},button:{height:48,marginLeft:4,minWidth:48}};class Ha extends K{componentDidMount(){super.componentDidMount();const{data:n,attr:i}=this.props,h=K.getValue(n,i)||"";this.setState({value:h,initialized:!0})}renderItem(n,i){if(!this.state.initialized)return null;const h=this.props.oContext.socket,{schema:v,attr:s}=this.props,{value:u,showSelectId:d}=this.state;return M.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},v.label?M.createElement(N.InputLabel,{shrink:!0},this.getText(v.label)):null,M.createElement("div",{style:$i.flex},M.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:u,error:!!n,disabled:i,placeholder:this.getText(v.placeholder),label:this.getText(v.label),helperText:this.renderHelp(v.help,v.helpLink,v.noTranslation),onChange:a=>{const p=a.target.value;this.setState({value:p},()=>this.onChange(s,p))}}),M.createElement(N.Button,{color:"grey",disabled:i,style:$i.button,size:"small",variant:"outlined",onClick:()=>this.setState({showSelectId:!0})},"...")),d?M.createElement(j.DialogSelectID,{imagePrefix:this.props.oContext.imagePrefix===void 0?"../..":this.props.oContext.imagePrefix,dialogName:`admin.${this.props.oContext.adapterName}`,filterFunc:v.filterFunc,themeType:this.props.oContext.themeType,theme:this.props.oContext.theme,types:v.types?Array.isArray(v.types)?v.types:[v.types]:void 0,customFilter:v.customFilter,filters:v.filters,socket:h,selected:u,root:v.root,onClose:()=>this.setState({showSelectId:!1}),onOk:a=>this.setState({showSelectId:!1,value:a},()=>this.onChange(s,a))}):null)}}const Rn={fullWidth:{width:"100%",display:"inline-block"},halfWidth1:{width:"calc(50% - 5px)",display:"inline-block",marginRight:8},halfWidth2:{width:"calc(50% - 5px)",display:"inline-block"}},an="____ppp____";class za extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({_repeat:n?an:"",_visible:!1,value:n?an:"",_notEqual:!1})}onChangePassword(n,i){n===void 0&&(n=this.state.value),i===void 0&&(i=this.state._repeat);const h=!!this.props.schema.repeat&&i!==n;this.setState({value:n,_repeat:i,_notEqual:h},()=>{if(h)this.onError(this.props.attr,j.I18n.t("ra_Passwords are not equal!"));else{this.onError(this.props.attr);const v=this.onChange(this.props.attr,n);v instanceof Promise&&v.catch(s=>this.onError(this.props.attr,s))}})}renderItem(n,i){if(this.state._notEqual===void 0)return null;const h=M.createElement(N.TextField,{variant:"standard",fullWidth:!0,type:this.state._visible&&this.state.value!==an?"text":"password",value:this.state.value,error:!!n||this.state._notEqual,disabled:!!i,onChange:v=>this.onChangePassword(v.target.value),label:this.getText(this.props.schema.label),slotProps:{input:{autoComplete:"new-password",endAdornment:this.state.value&&this.state.value!==an&&this.props.schema.visible&&!i&&!this.props.schema.readOnly?M.createElement(N.InputAdornment,{position:"end"},M.createElement(N.IconButton,{size:"large",tabIndex:-1,onClick:v=>{v.preventDefault(),v.stopPropagation(),this.setState({_visible:!this.state._visible})},edge:"end"},this.state._visible?M.createElement(Z.VisibilityOff,null):M.createElement(Z.Visibility,null))):void 0},htmlInput:{autoComplete:"new-password",form:{autoComplete:"off"},maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:this.props.schema.readOnly||!1}},helperText:this.state._notEqual?j.I18n.t("ra_Passwords are not equal!"):this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)});if(this.props.schema.repeat&&!this.props.schema.readOnly){const v=this.state._visible?null:M.createElement(N.TextField,{variant:"standard",fullWidth:!0,type:"password",value:this.state._repeat,error:!!n||this.state._notEqual,disabled:!!i,onChange:s=>this.onChangePassword(void 0,s.target.value),label:`${this.getText(this.props.schema.label)} (${j.I18n.t("ra_repeat")})`,slotProps:{input:{autoComplete:"new-password"},htmlInput:{autoComplete:"new-password",form:{autoComplete:"off"},maxLength:this.props.schema.maxLength||this.props.schema.max||void 0}},helperText:this.state._notEqual?j.I18n.t("ra_Passwords are not equal!"):this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)});return M.createElement("div",{style:Rn.fullWidth},M.createElement("div",{style:Rn.halfWidth1},h),M.createElement("div",{style:Rn.halfWidth2},v))}return h}}class ja extends K{renderItem(n,i){return M.createElement(N.TextField,{variant:"standard",fullWidth:!0,disabled:!!i,slotProps:{input:{endAdornment:this.props.schema.copyToClipboard?M.createElement(N.IconButton,{tabIndex:-1,size:"small",onClick:()=>{j.Utils.copyToClipboard(this.getPattern(this.props.schema.pattern,null,this.props.schema.noTranslation)),window.alert(j.I18n.t("ra_Copied"))}},M.createElement(j.IconCopy,null)):void 0}},value:this.getPattern(this.props.schema.pattern,null,!0),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}const Va={warning:{"& .Mui-error":{color:"orange"}}};class Ua extends K{updateTimeout;async componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr);n==null&&(n=""),this.setState({_value:n.toString(),oldValue:n.toString()});const i=await this.props.oContext.socket.getAdapterInstances(),h=`system.adapter.${this.props.oContext.adapterName}.${this.props.oContext.instance}`,v=await this.props.oContext.socket.getObject(h),s=v==null?void 0:v.common.host,u=[];i.forEach(d=>{var p,e,t,r;if(!d||d._id===h||d.common.host!==s||!((p=d.native)!=null&&p.bind))return;if(d!=null&&d.native&&d.native.secure&&d.native.leEnabled&&d.native.leUpdate){const l=parseInt(d.native.leCheckPort||d.native.lePort,10);l&&u.push({name:`${d._id.replace("system.adapter.","")} (LE)`,port:l,v6bind:d.native.bind.includes(":")?d.native.bind:d.native.v6bind,bind:d.native.bind,enabled:!!((e=d.common)!=null&&e.enabled)})}const a=parseInt((t=d==null?void 0:d.native)==null?void 0:t.port,10);a&&u.push({name:d._id.replace("system.adapter.",""),bind:d.native.bind,v6bind:d.native.bind.includes(":")?d.native.bind:d.native.v6bind,port:a,enabled:!!((r=d.common)!=null&&r.enabled)})}),this.setState({ports:u})}static getDerivedStateFromProps(n,i){const h=K.getValue(n.data,n.attr);return h==null||i.oldValue===null||i.oldValue===void 0||h.toString()!==parseInt(i._value,10).toString()&&h.toString()!==i.oldValue.toString()?{_value:h}:null}checkValue(n){if(n==null)return null;const i=this.props.schema.min===void 0?20:this.props.schema.min,h=this.props.schema.max||65535;n=n.toString().trim();const v=n===""?0:parseInt(n,10);return n!==""&&Number.isNaN(v)?"ra_Not a number":n!==""&&window.isFinite(Number(n))?vh?"ra_Too big":n===""||n==="-"||Number.isNaN(v)?"ra_Not a number":null:"ra_Not a number"}renderItem(n,i){this.state.oldValue!==null&&this.state.oldValue!==void 0?(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=void 0,this.setState({oldValue:null})},30)):this.updateTimeout&&(clearTimeout(this.updateTimeout),this.updateTimeout=void 0);const h=this.props.schema.min===void 0?20:this.props.schema.min,v=this.props.schema.max||65535;let s;if(this.state.ports){const u=parseInt(this.state._value,10);if(u){const d=this.state.ports.filter(p=>!this.props.data.bind||this.props.data.bind===p.bind||this.props.data.bind==="0.0.0.0"||p.bind==="0.0.0.0");let a=d.findIndex(p=>p.port===u&&p.enabled);a!==-1?n=j.I18n.t("ra_Port is already used by %s",this.state.ports[a].name):(a=d.findIndex(p=>p.port===u&&!p.enabled),a!==-1&&(s=!0,n=j.I18n.t("ra_Port could be used by %s",this.state.ports[a].name)))}}return!n&&this.state._value!==null&&this.state._value!==void 0&&(n=this.checkValue(this.state._value),typeof n=="string"&&(n=j.I18n.t(n))),M.createElement(N.TextField,{variant:"standard",type:"number",fullWidth:!0,slotProps:{htmlInput:{min:h,max:v,readOnly:this.props.schema.readOnly||!1}},value:this.state._value===null||this.state._value===void 0?"":this.state._value,error:!!n,disabled:!!i,sx:s?Va.warning:void 0,onChange:u=>{const d=Number(u.target.value.toString().replace(/[^0-9]/g,"")).toString(),a=this.checkValue(d);a?this.onError(this.props.attr,j.I18n.t(a)):this.onError(this.props.attr),this.setState({_value:d,oldValue:this.state._value},()=>{if(d.trim()===parseInt(d,10).toString()){const p=this.onChange(this.props.attr,parseInt(d,10)||0);p instanceof Promise&&p.catch(e=>{console.error(`Cannot set value for ${this.props.attr}: ${e}`)})}})},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:n&&typeof n=="string"?n:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}class Ga extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.props.oContext.socket.getEnums("rooms").then(i=>{const h=Object.keys(i).map(v=>({value:this.props.schema.short?v.replace("enum.rooms.",""):v,label:this.getText(i[v].common.name),obj:i[v]}));this.props.schema.allowDeactivate!==!1&&h.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),this.setState({value:n,selectOptions:h})}).catch(i=>console.error(`Cannot get enums: ${i}`))}renderItem(n,i){if(!this.state.selectOptions)return null;const h=this.state.selectOptions.find(v=>v.value===this.state.value);return M.createElement(N.FormControl,{variant:"standard",fullWidth:!0},this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:this.state.value||"_",renderValue:()=>h?h.obj?M.createElement(j.TextWithIcon,{value:h.obj,themeType:this.props.oContext.themeType,lang:j.I18n.getLanguage()}):h.label:"",onChange:v=>{this.setState({value:v.target.value==="_"?"":v.target.value},()=>this.onChange(this.props.attr,this.state.value))}},this.state.selectOptions.map(v=>M.createElement(N.MenuItem,{key:v.value,value:v.value,style:v.value===K.DIFFERENT_VALUE?{opacity:.5}:{}},v.obj?M.createElement(j.TextWithIcon,{value:v.obj,themeType:this.props.oContext.themeType,lang:j.I18n.getLanguage()}):v.label))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Ka={noMargin:{"&>div":{marginTop:0}}};class Ja extends K{initialValue="";componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr);this.props.schema.multiple&&(typeof n=="string"?n=[n]:n==null&&(n=[]));const i=[];(this.props.schema.options||[]).forEach(h=>{const v=h;Array.isArray(v.items)?(i.push({label:this.getText(h.label,this.props.schema.noTranslation),value:h.value,group:!0,color:h.color}),v.items.forEach(s=>i.push({label:this.getText(s.label,this.props.schema.noTranslation),value:s.value,hidden:s.hidden,color:h.color}))):i.push({label:this.getText(h.label,this.props.schema.noTranslation),value:h.value,hidden:h.hidden,color:h.color})}),Array.isArray(n)&&!this.props.schema.multiple?(this.initialValue=[...n],i.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),this.setState({value:K.DIFFERENT_VALUE,selectOptions:i})):this.setState({value:n,selectOptions:i})}_getValue(){let n=this.state.value===null||this.state.value===void 0?K.getValue(this.props.data,this.props.attr):this.state.value;return this.props.schema.multiple&&(typeof n=="string"?n=[n]:n==null&&(n=[])),n}renderItem(n,i){if(!this.state.selectOptions)return null;const h=(this.state.selectOptions||[]).filter(u=>u.hidden?this.props.custom?!this.executeCustom(u.hidden,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!this.execute(u.hidden,this.props.schema.default,this.props.data,this.props.arrayIndex,this.props.globalData):!0),v=this._getValue(),s=this.props.schema.multiple?null:h.find(u=>u.value==v);return M.createElement(N.FormControl,{variant:"standard",fullWidth:!0,sx:this.props.table!==void 0&&Ka.noMargin,id:`jsonSelect_${this.props.attr}_${this.props.index||this.props.index===0?this.props.index:""}`},this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,multiple:this.props.schema.multiple,disabled:!!i,value:v||"_",renderValue:u=>this.props.schema.multiple?M.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:.5}},u.map(d=>{const a=h.find(p=>p.value===d);if(a||this.props.schema.showAllValues!==!1){const p=(a==null?void 0:a.label)||d;return M.createElement(N.Chip,{key:d,label:p})}return null})):s!=null&&s.color?M.createElement("div",{style:{color:s.color}},(s==null?void 0:s.label)===void 0?u:s.label):(s==null?void 0:s.label)===void 0?u:s.label,onChange:u=>{this.setState({value:u.target.value==="_"?"":u.target.value},()=>{let d;this.state.value===K.DIFFERENT_VALUE?d=this.onChange(this.props.attr,this.initialValue):d=this.onChange(this.props.attr,this.state.value),d instanceof Promise&&d.catch(a=>console.error(a))})}},h.map((u,d)=>u.group?M.createElement(N.ListSubheader,{key:d,style:{color:u.color}},u.label):M.createElement(N.MenuItem,{key:d,value:u.value,style:u.value===K.DIFFERENT_VALUE?{opacity:.5}:{}},this.props.schema.multiple?M.createElement(N.Checkbox,{checked:v.includes(u.value),onClick:()=>{const a=JSON.parse(JSON.stringify(this._getValue())),p=v.indexOf(u.value);p!==-1?a.splice(p,1):(a.push(u.value),a.sort()),this.setState({value:a},()=>this.onChange(this.props.attr,a))}}):null,M.createElement(N.ListItemText,{primary:u.label,style:{color:u.color}})))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Ya={menuPaper:{maxHeight:800}};class Qa extends K{initialized=!1;localContext;askInstance(){if(this.props.alive){let n=this.props.schema.data;if(n===void 0&&this.props.schema.jsonData){const i=this.getPattern(this.props.schema.jsonData,null,!0);try{n=JSON.parse(i)}catch{console.error(`Cannot parse json data: ${i}`)}}n===void 0&&(n=null),this.setState({running:!0},()=>{this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",n).then(i=>this.setState({list:i,running:!1})).catch(i=>{console.error(`Cannot send command: ${i}`)})})}else{const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n,running:!1})}}getContext(){const n={};return Array.isArray(this.props.schema.alsoDependsOn)&&this.props.schema.alsoDependsOn.forEach(i=>n[i]=K.getValue(this.props.data,i)),JSON.stringify(n)}_getValue(){let n=this.state.value===null||this.state.value===void 0?K.getValue(this.props.data,this.props.attr):this.state.value;return this.props.schema.multiple&&(typeof n=="string"?n=[n]:n==null&&(n=[])),n}renderItem(n,i){var u;if(this.props.alive){const d=this.getContext();(d!==this.localContext||!this.initialized)&&(this.localContext=d,setTimeout(()=>this.askInstance(),this.initialized?300:50),this.initialized=!0)}const h=this._getValue();if(!this.props.alive||!this.state.running&&!((u=this.state.list)!=null&&u.length))return this.props.schema.multiple||this.props.schema.manual===!1?j.I18n.t("ra_Cannot retrieve options, as instance is offline"):M.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:h,error:!!n,disabled:!!i,onChange:d=>{const a=d.target.value;this.setState({value:a},()=>this.onChange(this.props.attr,(a||"").trim()))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),slotProps:{input:{endAdornment:this.state.value&&!this.props.schema.noClearButton?M.createElement(N.InputAdornment,{position:"end"},M.createElement(N.IconButton,{tabIndex:-1,size:"small",onClick:()=>this.setState({value:""},()=>this.onChange(this.props.attr,""))},M.createElement(Z.Close,null))):null}}});if(this.state.running)return M.createElement(N.CircularProgress,{size:"24"});const v=this.state.list.filter(d=>d.hidden?this.props.custom?!this.executeCustom(d.hidden,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!this.execute(d.hidden,this.props.schema.default,this.props.data,this.props.arrayIndex,this.props.globalData):!0),s=v.find(d=>d.value===h);return M.createElement(N.FormControl,{variant:"standard",fullWidth:!0},this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,M.createElement(N.Select,{variant:"standard",error:!!n,multiple:this.props.schema.multiple,disabled:!!i,sx:{"&.MuiSelect-paper":this.props.schema.multiple?Ya.menuPaper:void 0},value:h,renderValue:d=>this.props.schema.multiple?M.createElement(N.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5}},d.map(a=>{const p=v.find(e=>e.value===a);if(p||this.props.schema.showAllValues!==!1){const e=(p==null?void 0:p.label)||a;return M.createElement(N.Chip,{key:a,label:e})}return null})):this.getText((s==null?void 0:s.label)||d,this.props.schema.noTranslation),onChange:d=>{const a=this.onChange(this.props.attr,d.target.value);a instanceof Promise&&a.catch(p=>console.error(`Cannot set value: ${p}`))}},v.map((d,a)=>d.group?M.createElement(N.ListSubheader,{key:a},this.getText(d.label,this.props.schema.noTranslation)):M.createElement(N.MenuItem,{key:a,value:d.value},this.props.schema.multiple?M.createElement(N.Checkbox,{checked:h.includes(d.value),onClick:()=>{const p=JSON.parse(JSON.stringify(this._getValue())),e=h.indexOf(d.value);e!==-1?p.splice(e,1):(p.push(d.value),p.sort()),this.setState({value:p},()=>this.onChange(this.props.attr,p))}}):null,M.createElement(N.ListItemText,{primary:d.label})))),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Ti={fullWidth:{width:"100%"}};function ht(L){return L.split(".").reduce((n,i)=>(n<<8)+parseInt(i,10),0)>>>0}function Xa(L,n){var v,s;const i=(s=(v=L==null?void 0:L.native)==null?void 0:v.hardware)==null?void 0:s.networkInterfaces;if(!i)return null;let h;return Object.keys(i).forEach(u=>i[u].forEach(d=>{d.internal||n.includes(":")&&d.family!=="IPv6"||n.includes(".")&&!n.match(/[^.\d]/)&&d.family!=="IPv4"||(d.family==="IPv4"&&!d.address.startsWith("172")&&(n==="127.0.0.0"||n==="localhost"||n.match(/[^.\d]/))?h=d.address:h||(d.family==="IPv4"&&n.includes(".")&&(ht(n)&ht(d.netmask),ht(d.address)&ht(d.netmask)),h=d.address))})),h||Object.keys(i).forEach(u=>i[u].forEach(d=>{d.internal||n.includes(":")&&d.family!=="IPv6"||n.includes(".")&&!n.match(/[^.\d]/)&&d.family!=="IPv4"||(d.family==="IPv6"&&(n==="127.0.0.0"||n==="localhost"||n.match(/[^.\d]/))?h=d.address:h||(d.family==="IPv4"&&n.includes(".")&&(ht(n)&ht(d.netmask),ht(d.address)&ht(d.netmask)),h=d.address))})),h||Object.keys(i).forEach(u=>{i[u].forEach(d=>{d.internal||n.includes(":")&&d.family!=="IPv6"||n.includes(".")&&!n.match(/[^.\d]/)&&d.family!=="IPv4"||(n==="127.0.0.0"||n==="localhost"||n.match(/[^.\d]/),h=d.address)})}),h||Object.keys(i).forEach(u=>{i[u].forEach(d=>{d.internal||(h=d.address)})}),h}class _i extends K{async componentDidMount(){var i;super.componentDidMount();let n=window.location.hostname;if(this.props.schema.openUrl){const h=await this.props.oContext.socket.getCurrentInstance(),v=await this.props.oContext.socket.getObject(`system.adapter.${h}`);if(v){const s=await this.props.oContext.socket.getObject(`system.host.${(i=v==null?void 0:v.common)==null?void 0:i.host}`);if(s){const u=Xa(s,window.location.hostname);if(u)n=`${u}:${window.location.port}`;else{console.warn(`Cannot find suitable IP in host ${v.common.host} for ${v._id}`);return}}}}await new Promise(h=>{this.setState({_error:"",_message:"",hostname:n},h)}),this.props.schema.onLoaded&&this._onClick()}renderErrorDialog(){return this.state._error?M.createElement(j.DialogError,{text:this.state._error,onClose:()=>this.setState({_error:""})}):null}renderMessageDialog(){return this.state._message?M.createElement(j.DialogMessage,{text:this.state._message,onClose:()=>this.setState({_message:""})}):null}_onClick(){this.props.oContext.onCommandRunning(!0),this.setState({running:!0});const n=`${window.location.protocol}//${window.location.host}${window.location.pathname.replace(/\/index\.html$/,"")}`,i=`${window.location.protocol}//${this.state.hostname.split(":").length>3?`[${this.state.hostname}]`:this.state.hostname}${window.location.pathname.replace(/\/index\.html$/,"")}`;let h=this.props.schema.data;if(h===void 0&&this.props.schema.jsonData){const s=this.getPattern(this.props.schema.jsonData,{_origin:n,_originIp:i,...this.props.data},!0);try{h=JSON.parse(s)}catch{console.error(`Cannot parse json data: ${s}`)}}h===void 0&&(h=null),this.props.schema.openUrl&&!h&&(h={_origin:n,_originIp:i});let v;this.props.schema.timeout&&(v=setTimeout(()=>{this.props.oContext.onCommandRunning(!1),this.setState({_error:j.I18n.t("ra_Request timed out"),running:!1})},parseInt(this.props.schema.timeout,10)||1e4)),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",h).then(async s=>{var u,d,a,p,e;if(v&&(clearTimeout(v),v=void 0),s!=null&&s.error)if(this.props.schema.error&&this.props.schema.error[s.error]){let t=this.getText(this.props.schema.error[s.error]);(u=s.args)==null||u.forEach(r=>t=t.replace("%s",r)),this.setState({_error:t})}else this.setState({_error:s.error?typeof s.error=="string"?j.I18n.t(s.error):JSON.stringify(s.error):j.I18n.t("ra_Error")});else{if(s!=null&&s.command){(a=(d=this.props.oContext).onBackEndCommand)==null||a.call(d,s.command);return}if(s!=null&&s.reloadBrowser&&this.props.schema.reloadBrowser)window.location.reload();else if(s!=null&&s.openUrl&&this.props.schema.openUrl)window.open(s.openUrl,s.window||this.props.schema.window||"_blank");else if(s!=null&&s.result&&((p=this.props.schema.result)!=null&&p[s.result])){let t=this.getText(this.props.schema.result[s.result]);(e=s.args)==null||e.forEach(r=>t=t.replace("%s",r)),window.alert(t)}if(s!=null&&s.native&&this.props.schema.useNative){for(const[t,r]of Object.entries(s.native))await this.onChangeAsync(t,r);setTimeout(()=>this.props.oContext.forceUpdate(Object.keys(s.native),this.props.data),300)}else s!=null&&s.result?window.alert(typeof s.result=="object"?JSON.stringify(s.result):s.result):window.alert(j.I18n.t("ra_Ok"));s!=null&&s.saveConfig&&this.props.onChange(null,null,null,!0)}}).catch(s=>{this.props.schema.error&&this.props.schema.error[s.toString()]?this.setState({_error:this.getText(this.props.schema.error[s.toString()])}):this.setState({_error:j.I18n.t(s.toString())||j.I18n.t("ra_Error")})}).then(()=>{this.props.oContext.onCommandRunning(!1),this.setState({running:!1})})}renderDialogConfirm(){if(!this.state.confirmDialog)return null;const n=this.state.confirmData||this.props.schema.confirm;let i=null;return n.type==="warning"?i=M.createElement(Z.Warning,null):n.type==="error"?i=M.createElement(Z.Error,null):n.type==="info"&&(i=M.createElement(Z.Info,null)),M.createElement(j.DialogConfirm,{title:this.getText(n.title)||j.I18n.t("ra_Please confirm"),text:this.getText(n.text),ok:this.getText(n.ok)||j.I18n.t("ra_Ok"),cancel:this.getText(n.cancel)||j.I18n.t("ra_Cancel"),icon:i||void 0,onClose:h=>this.setState({confirmDialog:!1},()=>h&&this._onClick())})}renderItem(n,i){const h=this.getIcon();return M.createElement("div",{style:Ti.fullWidth},M.createElement(N.Button,{variant:this.props.schema.variant||void 0,color:this.props.schema.color||"grey",style:{...Ti.fullWidth,...this.props.schema.controlStyle||void 0},disabled:i||!this.props.alive,startIcon:h,title:this.props.alive?this.getText(this.props.schema.title)||"":j.I18n.t("ra_Instance is not alive"),onClick:()=>{this.props.schema.confirm?this.setState({confirmDialog:!0}):this._onClick()}},this.props.schema.showProcess&&this.state.running?M.createElement(N.CircularProgress,{size:20,style:{marginRight:8}}):null,this.getText(this.props.schema.label,this.props.schema.noTranslation)),this.renderErrorDialog(),this.renderMessageDialog())}}const Za={fullWidth:{width:"100%"}};class qa extends K{async _onClick(){var h,v;let n=this.props.schema.val;if(typeof n=="string"&&n.includes("${")){n=this.getPattern(n,null,!0);const s=await this.props.oContext.socket.getObject(this.props.schema.id);((h=s==null?void 0:s.common)==null?void 0:h.type)==="number"?n=parseFloat(n):((v=s==null?void 0:s.common)==null?void 0:v.type)==="boolean"&&(n=n==="true"||n===!0||n==="1"||n===1)}const i=(this.props.schema.id||"").replace(/%INSTANCE%/g,(this.props.oContext.instance||0).toString());try{await this.props.oContext.socket.setState(i,{val:n,ack:!!this.props.schema.ack}),this.props.schema.okText&&window.alert(this.getText(this.props.schema.okText))}catch(s){this.props.schema.error&&this.props.schema.error[s.toString()]?window.alert(this.getText(this.props.schema.error[s.toString()])):window.alert(j.I18n.t(s.toString())||j.I18n.t("ra_Error"))}}renderDialogConfirm(){if(!this.state.confirmDialog)return null;const n=this.state.confirmData||this.props.schema.confirm;let i=null;return n.type==="warning"?i=M.createElement(Z.Warning,null):n.type==="error"?i=M.createElement(Z.Error,null):n.type==="info"&&(i=M.createElement(Z.Info,null)),M.createElement(j.DialogConfirm,{title:this.getText(n.title)||j.I18n.t("ra_Please confirm"),text:this.getText(n.text),ok:this.getText(n.ok)||j.I18n.t("ra_Ok"),cancel:this.getText(n.cancel)||j.I18n.t("ra_Cancel"),icon:i,onClose:h=>this.setState({confirmDialog:!1},()=>h&&this._onClick())})}renderItem(n,i){const h=this.getIcon();return M.createElement(N.Button,{variant:this.props.schema.variant||void 0,color:this.props.schema.color||"grey",style:Za.fullWidth,disabled:i,onClick:async()=>{this.props.schema.confirm?this.setState({confirmDialog:!0}):await this._onClick()},startIcon:h||void 0},this.getText(this.props.schema.label,this.props.schema.noTranslation))}}const ki={fullWidth:{width:"100%"},slider:{marginLeft:10,marginRight:10,width:"calc(100% - 20px)"}};class el extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({_value:n})}static getDerivedStateFromProps(n,i){if(n.schema.min!==void 0&&n.schema.min<0||n.schema.max!==void 0&&n.schema.max<0)return null;const h=K.getValue(n.data,n.attr);return h==null||h.toString()!==parseFloat(i._value).toString()?{_value:h}:null}renderItem(n,i){const h=this.props.schema.min||0,v=this.props.schema.max||100,s=this.props.schema.unit?this.getText(this.props.schema.unit,this.props.schema.noTranslation):"",u=[{value:h,label:h+s},{value:v,label:v+s}];return M.createElement(N.Box,{style:ki.fullWidth},this.props.schema.label?M.createElement(N.Typography,{gutterBottom:!0},this.getText(this.props.schema.label)):null,M.createElement(N.Slider,{style:ki.slider,value:this.state._value,getAriaValueText:d=>d+s,step:this.props.schema.step||(v-h)/100,valueLabelDisplay:"auto",marks:u,min:h,max:v,disabled:!!i,onChange:d=>{const a=d.target.value;this.setState({_value:a},()=>this.onChange(this.props.attr,a))}}),this.props.schema.help?M.createElement(N.Typography,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}function ut(L,n){return L==="edit"||L==="rename"?M.createElement(Z.Edit,{style:n}):L==="delete"?M.createElement(Z.Delete,{style:n}):L==="refresh"?M.createElement(Z.Refresh,{style:n}):L==="newDevice"||L==="new"||L==="add"?M.createElement(Z.Add,{style:n}):L==="discover"||L==="search"?M.createElement(Z.Search,{style:n}):L==="unpairDevice"||L==="unpair"?M.createElement(Z.LinkOff,{style:n}):L==="pairDevice"||L==="pair"?M.createElement(Z.Link,{style:n}):L==="identify"?M.createElement(Z.NotListedLocation,{style:n}):L==="play"?M.createElement(Z.PlayArrow,{style:n}):L==="stop"?M.createElement(Z.Stop,{style:n}):L==="pause"?M.createElement(Z.Pause,{style:n}):L==="forward"||L==="next"?M.createElement(Z.FastForward,{style:n}):L==="rewind"||L==="previous"?M.createElement(Z.FastRewind,{style:n}):L==="lamp"||L==="light"?M.createElement(Z.Lightbulb,{style:n}):L==="backlight"?M.createElement(Z.Fluorescent,{style:n}):L==="dimmer"?M.createElement(Z.WbIncandescent,{style:n}):L==="socket"?M.createElement(Z.Power,{style:n}):L==="settings"?M.createElement(Z.Settings,{style:n}):L==="users"||L==="group"?M.createElement(Z.Group,{style:n}):L==="user"?M.createElement(Z.Person,{style:n}):L==="qrcode"?M.createElement(Z.QrCode,{style:n}):L==="connection"?M.createElement(Z.Wifi,{style:n}):L==="no-connection"?M.createElement(Z.WifiOff,{style:n}):L==="visible"?M.createElement(Z.Visibility,{style:n}):null}function tl(L,n){return typeof n=="string"?{"@keyframes newStateAnimationOnceColor":{"0%":{color:n},"100%":{color:L.palette.mode==="dark"?"#fff":"#000"}},animation:"newStateAnimationOnceColor 2s ease-in-out"}:{"@keyframes newStateAnimationOnce":{"0%":{color:"#00f900"},"80%":{color:L.palette.mode==="dark"?"#518851":"#008000"},"100%":{color:L.palette.mode==="dark"?"#fff":"#000"}},animation:"newStateAnimationOnce 2s ease-in-out"}}class nl extends K{controlTimeout=null;delayedUpdate={timer:null,value:null};getObjectID(){let n=this.props.schema.oid;return n.includes("${")&&(n=this.getPattern(n,null,!0)),this.props.schema.foreign?n:`${this.props.schema.system?"system.adapter.":""}${this.props.oContext.adapterName}.${this.props.oContext.instance||0}.${n}`}async componentDidMount(){var h,v;super.componentDidMount();const n=await this.props.oContext.socket.getObject(this.getObjectID());if((h=n==null?void 0:n.common)!=null&&h.states&&!this.props.schema.options){if(Array.isArray((v=n==null?void 0:n.common)==null?void 0:v.states)){const s={};n.common.states.forEach((u,d)=>{s[d.toString()]=u}),n.common.states=s}Object.keys(n.common.states).length||(n.common.states=void 0)}const i=this.props.schema.control||this.detectType(n);try{const s=await this.props.oContext.socket.getState(this.getObjectID());this.setState({stateValue:s?s.val:null,controlType:i,obj:n},async()=>{await this.props.oContext.socket.subscribeState(this.getObjectID(),this.onStateChanged)})}catch(s){console.error(`Cannot get state ${this.getObjectID()}: ${s}`),this.setState({controlType:i,obj:n})}}componentWillUnmount(){super.componentWillUnmount(),this.props.oContext.socket.unsubscribeState(this.getObjectID(),this.onStateChanged),this.delayedUpdate.timer&&(clearTimeout(this.delayedUpdate.timer),this.delayedUpdate.timer=null),this.controlTimeout&&(clearTimeout(this.controlTimeout),this.controlTimeout=null,this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1).catch(n=>console.error(`Cannot control value: ${n.toString()}`)))}onStateChanged=(n,i)=>{let h=i?i.val:null;this.state.controlType==="button"||this.state.controlType==="switch"?(h=!!h,this.state.stateValue!==h&&this.setState({stateValue:h})):h!==null&&(this.state.controlType==="slider"||this.state.controlType==="number")?(h=parseFloat(h),console.log(`${Date.now()} Received new value: ${h}`),h!==this.state.stateValue?(this.delayedUpdate.timer&&(clearTimeout(this.delayedUpdate.timer),this.delayedUpdate.timer=null),this.delayedUpdate.value=h,this.delayedUpdate.timer=setTimeout(()=>{this.setState({stateValue:this.delayedUpdate.value})},500)):this.delayedUpdate.timer&&(clearTimeout(this.delayedUpdate.timer),this.delayedUpdate.timer=null)):this.state.stateValue.toString()!==h.toString()&&this.setState({stateValue:h})};detectType(n){if(n||={},n.common||={},n.common.type==="boolean"){if(this.props.schema.controlled!==!1){if(n.common.read===!1||this.props.schema.controlled===!0)return"button";if(n.common.write||this.props.schema.controlled===!0)return"switch"}return"text"}return n.common.type==="number"&&this.props.schema.controlled!==!1?n.common.write||this.props.schema.controlled===!0?n.common.states||this.props.schema.options?"select":n.common.max!==void 0?"slider":"input":"text":n.common.write&&this.props.schema.controlled!==!1?n.common.states||this.props.schema.options?"select":"input":"text"}getNormalizedStates(){let n;return this.props.schema.options?n=this.props.schema.options.map(i=>typeof i=="string"?{value:i,label:this.getText(i,this.props.schema.noTranslation)}:{value:i.value,label:this.getText(i.label,this.props.schema.noTranslation),color:i.color}):this.state.obj.common.states?(n=[],Object.keys(this.state.obj.common.states).forEach(i=>{n.push({value:i,label:this.getText(this.state.obj.common.states[i],this.props.schema.noTranslation)})})):n=[],n}renderItem(n,i){var v,s,u,d,a;if(!this.state.obj)return null;let h;if(this.state.controlType==="select"||!this.state.controlType&&(this.state.obj.common.type==="number"||this.state.obj.common.type==="string")&&this.state.obj.common.write!==!1&&(this.props.schema.options||this.state.obj.common.states)){const p=this.getNormalizedStates(),e=p.find(t=>t.value===this.state.stateValue);h=M.createElement(N.FormControl,{fullWidth:!0},M.createElement(N.InputLabel,null,"$",this.getText(this.props.schema.label)),M.createElement(N.Select,{value:this.state.stateValue,disabled:!!this.props.schema.readOnly||i,onChange:t=>{this.setState({stateValue:t.target.value},()=>{let r=this.state.stateValue;this.state.obj.common.type==="number"&&(r=parseFloat(r.toString().replace(",","."))),this.props.oContext.socket.setState(this.getObjectID(),r,!1)})},renderValue:t=>e!=null&&e.color?M.createElement("div",{style:{color:e.color}},e.label):t},p.map(t=>M.createElement(N.MenuItem,{key:(t.value??"").toString(),value:t.value,style:{color:t.color}},"$",t.label))))}else if(this.state.controlType==="button"||!this.state.controlType&&this.state.obj.common.type==="boolean"&&(this.state.obj.common.write&&this.state.obj.common.read===!1||(v=this.state.obj.common.role)!=null&&v.includes("button"))){let p=null;this.props.schema.falseImage&&(p=ut(this.props.schema.falseImage));const e=this.getText(this.props.schema.falseText||this.props.schema.label,this.props.schema.noTranslation);!e&&p?h=M.createElement(N.IconButton,{style:this.props.schema.falseTextStyle,disabled:!!this.props.schema.readOnly,onClick:async()=>{this.props.schema.confirm?this.setState({confirmDialog:!0,confirmCallback:async t=>{t&&await this.props.oContext.socket.setState(this.getObjectID(),this.props.schema.buttonValue!==void 0?this.props.schema.buttonValue:!0,!1)}}):await this.props.oContext.socket.setState(this.getObjectID(),this.props.schema.buttonValue!==void 0?this.props.schema.buttonValue:!0,!1)}},p):h=M.createElement(N.Button,{variant:this.props.schema.variant||"contained",startIcon:p,style:this.props.schema.falseTextStyle,disabled:i||!!this.props.schema.readOnly,onClick:async()=>{this.props.schema.confirm?this.setState({confirmDialog:!0,confirmCallback:async t=>{t&&await this.props.oContext.socket.setState(this.getObjectID(),this.props.schema.buttonValue!==void 0?this.props.schema.buttonValue:!0,!1)}}):await this.props.oContext.socket.setState(this.getObjectID(),this.props.schema.buttonValue!==void 0?this.props.schema.buttonValue:!0,!1)}},e||this.getObjectID().split(".").pop())}else if(this.state.controlType==="input"||!this.state.controlType&&this.state.obj.common.write&&this.state.obj.common.type==="string")h=M.createElement("div",{style:{width:"100%",display:"flex",flexDirection:"row",gap:8,alignItems:"baseline"}},M.createElement(N.TextField,{style:{flex:1},value:this.state.stateValue,variant:"standard",disabled:!!this.props.schema.readOnly||i,slotProps:{input:{endAdornment:this.getText(this.props.schema.unit,this.props.schema.noTranslation)||this.state.obj.common.unit||void 0},htmlInput:{readOnly:!!this.props.schema.readOnly}},onKeyUp:p=>{this.props.schema.setOnEnterKey&&p.key==="Enter"&&this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1)},onChange:p=>{this.setState({stateValue:p.target.value},()=>{this.props.schema.setOnEnterKey||this.props.schema.showEnterButton||(this.controlTimeout&&clearTimeout(this.controlTimeout),this.controlTimeout=setTimeout(async()=>{this.controlTimeout=null;let e=this.state.stateValue;this.state.obj.common.type==="number"&&(e=parseFloat(e.toString().replace(",","."))),await this.props.oContext.socket.setState(this.getObjectID(),e,!1)},this.props.schema.controlDelay||0))})},label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}),this.props.schema.showEnterButton&&!this.props.schema.readOnly&&M.createElement(N.Button,{variant:"outlined",disabled:i,onClick:()=>{this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1)}},this.getText(typeof this.props.schema.showEnterButton=="string"?this.props.schema.showEnterButton:"Set")));else{let p;this.props.schema.size==="normal"?p=16:this.props.schema.size==="large"?p=20:typeof this.props.schema.size=="number"&&(p=this.props.schema.size);let e=this.getText(this.props.schema.label,this.props.schema.noTranslation);const t={display:"flex",alignItems:"center",fontSize:p||"1rem",gap:8};this.props.schema.narrow||(t.width="100%",t.justifyContent="space-between"),e.trim()&&!e.trim().endsWith(":")&&this.props.schema.addColon&&(e=`${e.trim()}:`);let r;this.props.schema.blinkOnUpdate&&(r=tl(this.props.oContext.theme,this.props.schema.blinkOnUpdate));let l;this.props.schema.labelIcon&&(l=M.createElement(j.Icon,{src:this.props.schema.labelIcon,style:{marginRight:4}}));let o;if(e&&l?o=M.createElement("div",{style:{whiteSpace:"nowrap"}},l,e):e?o=M.createElement("div",{style:{whiteSpace:"nowrap"}},e):l&&(o=l),this.state.controlType==="switch"||!this.state.controlType&&this.state.obj.common.type==="boolean"&&(this.state.obj.common.write&&this.state.obj.common.read!==!1||(s=this.state.obj.common.role)!=null&&s.includes("switch"))){let c=null;const f=this.getText(this.props.schema.falseText,this.props.schema.noTranslation);this.props.schema.falseImage&&(c=ut(this.props.schema.falseImage,f?{marginLeft:8}:void 0));let m=null;const y=this.getText(this.props.schema.trueText,this.props.schema.noTranslation);this.props.schema.trueImage&&(m=ut(this.props.schema.trueImage,y?{marginRight:8}:void 0)),h=M.createElement(N.Switch,{checked:!!this.state.stateValue,disabled:!!this.props.schema.readOnly||i,onChange:async()=>{this.props.schema.confirm?this.setState({confirmDialog:!0,confirmCallback:async D=>{D&&await this.props.oContext.socket.setState(this.getObjectID(),!this.state.stateValue,!1)}}):await this.props.oContext.socket.setState(this.getObjectID(),!this.state.stateValue,!1)}}),(f||c||y||m)&&(h=M.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:14}},M.createElement("span",{style:this.props.schema.falseTextStyle},f,c),h,M.createElement("span",{style:this.props.schema.trueTextStyle},m,y))),o&&(h=M.createElement("div",{style:t},o,h))}else if(this.state.controlType==="slider"||!this.state.controlType&&this.state.obj.common.type==="number"&&(this.state.obj.common.write&&(this.state.obj.common.max!==void 0||this.state.obj.common.unit==="%")||(u=this.state.obj.common.role)!=null&&u.includes("slider")||(d=this.state.obj.common.role)!=null&&d.includes("dimmer")||(a=this.state.obj.common.role)!=null&&a.includes("blind"))){let c=null;const f=this.getText(this.props.schema.falseText,this.props.schema.noTranslation);this.props.schema.falseImage&&(c=ut(this.props.schema.falseImage,f?{marginLeft:8}:void 0));let m=null;const y=this.getText(this.props.schema.trueText,this.props.schema.noTranslation);this.props.schema.trueImage&&(m=ut(this.props.schema.trueImage,y?{marginRight:8}:void 0));const D=this.props.schema.min===void 0?this.state.obj.common.min||0:this.props.schema.min,E=this.props.schema.max===void 0?this.state.obj.common.max===void 0?100:this.state.obj.common.max:this.props.schema.max,b=this.props.schema.step===void 0?this.state.obj.common.step||1:this.props.schema.step;h=M.createElement(N.Slider,{style:{width:"100%",flexGrow:1},min:D,max:E,disabled:!!this.props.schema.readOnly||i,step:b,value:this.state.stateValue,valueLabelDisplay:"auto",valueLabelFormat:g=>`${g}${this.getText(this.props.schema.unit,this.props.schema.noTranslation)||this.state.obj.common.unit||""}`,onChange:(g,S)=>{this.setState({stateValue:S},()=>{this.controlTimeout&&clearTimeout(this.controlTimeout),this.controlTimeout=setTimeout(async()=>{console.log(`${Date.now()} Send new value: ${this.state.stateValue}`),this.controlTimeout=null,await this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1)},this.props.schema.controlDelay||0)})}}),(f||c||y||m)&&(h=M.createElement("div",{style:{display:"flex",width:"100%",flexGrow:1,alignItems:"center"}},M.createElement("span",{style:{marginRight:16,...this.props.schema.falseTextStyle}},f,c),h,M.createElement("span",{style:{marginLeft:16,...this.props.schema.trueTextStyle}},m,y))),o&&(h=M.createElement("div",{style:t},o,h))}else if(this.state.obj.common.type==="number"&&this.state.obj.common.write&&!this.state.controlType){const c=this.props.schema.min===void 0?this.state.obj.common.min===void 0?void 0:this.state.obj.common.min:this.props.schema.min,f=this.props.schema.max===void 0?this.state.obj.common.max===void 0?void 0:this.state.obj.common.max:this.props.schema.max,m=this.props.schema.step===void 0?this.state.obj.common.step===void 0?void 0:this.state.obj.common.step:this.props.schema.step;h=M.createElement(N.TextField,{variant:"standard",style:{width:"100%"},value:this.state.stateValue,type:"number",disabled:!!this.props.schema.readOnly||i,slotProps:{htmlInput:{min:c,max:f,step:m,readOnly:!!this.props.schema.readOnly},input:{endAdornment:this.getText(this.props.schema.unit,this.props.schema.noTranslation)||this.state.obj.common.unit||void 0}},onChange:y=>{this.setState({stateValue:y.target.value},()=>{this.controlTimeout&&clearTimeout(this.controlTimeout),this.controlTimeout=setTimeout(async()=>{this.controlTimeout=null;const D=parseFloat(this.state.stateValue);await this.props.oContext.socket.setState(this.getObjectID(),D,!1)},this.props.schema.controlDelay||0)})},label:this.getText(this.props.schema.label,this.props.schema.noTranslation),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}else if(this.state.obj.common.type==="boolean"){let c=null,f,m;this.state.stateValue?(f=this.getText(this.props.schema.trueText,this.props.schema.noTranslation),this.props.schema.trueImage&&(c=ut(this.props.schema.falseImage,f?{marginRight:8}:void 0)),m=this.props.schema.trueTextStyle):(f=this.getText(this.props.schema.falseText,this.props.schema.noTranslation),this.props.schema.falseImage&&(c=ut(this.props.schema.falseImage,f?{marginLeft:8}:void 0)),m=this.props.schema.falseTextStyle),m=Object.assign(t,m),h=M.createElement("div",{style:m},o,M.createElement(N.Box,{style:{display:"flex",alignItems:"center",gap:8},sx:r,key:this.props.schema.blinkOnUpdate?f:void 0},c,f||(this.state.stateValue?j.I18n.t("ra_true"):j.I18n.t("ra_false"))))}else{const c=this.getText(this.props.schema.unit,this.props.schema.noTranslation)||this.state.obj.common.unit;let f=this.state.stateValue;if(f!=null&&(this.props.schema.options||this.state.obj.common.states)){const E=this.getNormalizedStates().find(b=>b.value===f);E&&(f=E.label)}let m,y;this.state.controlType==="html"?(y=(f||"").toString(),m=M.createElement("span",{dangerouslySetInnerHTML:{__html:f}})):this.state.stateValue===null?(m="null",y=m):this.state.stateValue===void 0?(m="undefined",y=m):(m=f.toString(),y=m),h=M.createElement("div",{style:t},o,M.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:4}},M.createElement(N.Box,{sx:r,key:this.props.schema.blinkOnUpdate?y:void 0},m),c?M.createElement("span",{style:{opacity:.7,fontSize:"smaller"}},c):null))}}return h}}const Nn={fullWidth:L=>({width:"100%",backgroundColor:L.palette.mode==="dark"?"#FFF":"#000",borderStyle:"hidden"}),primary:L=>({backgroundColor:L.palette.primary.main}),secondary:L=>({backgroundColor:L.palette.secondary.main})};class il extends K{renderItem(){return M.createElement(N.Box,{component:"hr",sx:j.Utils.getStyle(this.props.oContext.theme,Nn.fullWidth,this.props.schema.color==="primary"?Nn.primary:this.props.schema.color==="secondary"?Nn.secondary:{backgroundColor:this.props.schema.color||(this.props.oContext.themeType==="dark"?"#333":"#ddd")},{height:this.props.schema.color?this.props.schema.height||2:this.props.schema.height||1})})}}const rl={header:L=>({width:"100%",background:L.palette.primary.main,color:L.palette.primary.contrastText,padding:"4px !important",borderRadius:"3px",marginBlockEnd:0,marginBlockStart:0})};class sl extends K{renderItem(){let n="h5";switch((this.props.schema.size||5).toString()){case"1":n="h1";break;case"2":n="h2";break;case"3":n="h3";break;case"4":n="h4";break;case"5":default:n="h5";break}return M.createElement(N.Box,{component:n,sx:rl.header},this.getText(this.props.schema.label||this.props.schema.text,this.props.schema.noTranslation))}}class ol extends K{renderItem(){let n=this.props.schema.src;return n&&!n.startsWith(".")&&!n.startsWith("http")&&!n.startsWith(`adapter/${this.props.oContext.adapterName}/`)&&!n.startsWith(`./adapter/${this.props.oContext.adapterName}/`)&&(n=`adapter/${this.props.oContext.adapterName}/${n}`),M.createElement("img",{src:n,style:{cursor:this.props.schema.href?"pointer":void 0,width:"100%",height:"100%"},onClick:this.props.schema.href?()=>this.props.schema.href&&window.open(this.props.schema.href,"_blank"):null,alt:""})}}function Mi(L,n,i){return typeof i=="string"?{"@keyframes newValueAnimationOnceColor":{"0%":{color:n?`${i} !important`:i},"100%":{color:L.palette.mode==="dark"?n?"#fff !important":"#fff":n?"#000 !important":"#000"}},animation:"newValueAnimationOnceColor 2s ease-in-out"}:{"@keyframes newValueAnimationOnce":{"0%":{color:n?"#00f900 !important":"#00f900"},"80%":{color:L.palette.mode==="dark"?n?"#518851 !important":"#518851":n?"#008000 !important":"#008000"},"100%":{color:L.palette.mode==="dark"?n?"#fff !important":"#fff":n?"#000 !important":"#000"}},animation:"newValueAnimationOnce 2s ease-in-out"}}function Li(L,n){return typeof n=="string"?{"@keyframes blinkAnimationColor":{"0%":{color:n},"100%":{color:L.palette.mode==="dark"?"#fff":"#000"}},animation:"blinkAnimationColor 2s ease-in-out infinite"}:{"@keyframes blinkAnimation":{"0%":{color:"#00f900"},"80%":{color:L.palette.mode==="dark"?"#518851":"#008000"},"100%":{color:L.palette.mode==="dark"?"#fff":"#000"}},animation:"blinkAnimation 2s ease-in-out infinite"}}const Mt={label:{fontWeight:"bold",whiteSpace:"nowrap"},valueImage:{maxHeight:"100%"},valueAndUnit:{display:"flex",gap:4,alignItems:"baseline"},value:{},unit:{fontSize:"smaller",opacity:.7}};class al extends K{renderItem(n){let i=this.getText(this.props.schema.text||this.props.schema.label,this.props.schema.noTranslation);this.props.schema.addColon&&typeof i=="string"&&!i.trim().endsWith(":")&&(i=`${i.trim()}:`),i&&(i.includes("
")||i.includes(""))&&(i=j.Utils.renderTextWithA(i));let h;this.props.schema.size==="normal"?h=16:this.props.schema.size==="large"?h=20:typeof this.props.schema.size=="number"&&(h=this.props.schema.size);const v={width:"100%",height:"100%",display:"flex",alignItems:"center",position:"relative",fontSize:h};this.props.schema.narrow?v.gap=8:v.justifyContent="space-between";let s,u;this.props.schema.data&&typeof this.props.schema.data=="object"&&this.props.schema.data.en?u=this.getText(this.props.schema.data):typeof this.props.schema.data=="object"||this.props.schema.data===void 0||this.props.schema.data===null?u=JSON.stringify(this.props.schema.data):typeof this.props.schema.data=="number"?(u=this.props.schema.data.toString(),this.props.oContext.isFloatComma&&(u=u.replace(".",","))):(!this.props.schema.booleanAsCheckbox||typeof this.props.schema.data!="boolean")&&(u=this.props.schema.data.toString());let d=!1;if(this.props.schema.booleanAsCheckbox&&typeof this.props.schema.data=="boolean")s=M.createElement(N.Checkbox,{checked:!!s,disabled:!0,size:this.props.schema.size==="small"?"small":this.props.schema.size==="large"?"large":void 0});else if(u.startsWith("data:image/"))s=M.createElement("div",{style:{...Mt.value,...Mt.valueImage,...this.props.schema.styleValue||void 0}},M.createElement(j.Icon,{src:u}));else{const t={...Mt.value,...this.props.schema.styleValue||void 0};this.props.schema.html?s=M.createElement("div",{style:t,dangerouslySetInnerHTML:{__html:u}}):Array.isArray(this.props.schema.data)?(d=!0,s=M.createElement("div",{style:t},this.props.schema.data.map((r,l)=>M.createElement("div",{key:l},typeof r=="object"||r===null||r===void 0?JSON.stringify(r):r)))):u.includes(` +`)?(d=!0,s=M.createElement("div",{style:t},j.Utils.renderTextWithA(u))):s=M.createElement("div",{style:t},u)}if(this.props.schema.blinkOnUpdate&&this.props.schema.blink){const t=Mi(this.props.oContext.theme,!0,this.props.schema.blinkOnUpdate),r=Li(this.props.oContext.theme,this.props.schema.blink);s=M.createElement(N.Box,{key:u,sx:{...t,...r}},s)}else if(this.props.schema.blinkOnUpdate){const t=Mi(this.props.oContext.theme,!1,this.props.schema.blinkOnUpdate);s=M.createElement(N.Box,{key:u,sx:t},s)}else if(this.props.schema.blink){const t=Li(this.props.oContext.theme,this.props.schema.blink);s=M.createElement(N.Box,{sx:t},s)}this.props.schema.unit&&(s=M.createElement("div",{style:Mt.valueAndUnit},s,M.createElement("div",{style:{...Mt.unit,...this.props.schema.styleUnit||void 0}},this.getText(this.props.schema.unit,this.props.schema.noTranslation))));let a;this.props.schema.labelIcon&&(a=M.createElement(j.Icon,{src:this.props.schema.labelIcon,style:{marginRight:4}}));let p;this.props.schema.copyToClipboard&&(p=M.createElement(Z.ContentCopy,{className:"staticCopyButton",style:{position:"absolute",top:"calc(50% - 12px)",right:0,cursor:"pointer"},onClick:()=>{j.Utils.copyToClipboard(u),window.alert(j.I18n.t("ra_Copied"))}}));const e={"& .staticCopyButton":{display:"none"},"& .staticCopyButton:action":{transform:"scale(0.9)"},"&:hover .staticCopyButton":{display:"block"}};return this.props.schema.highlight&&(e["&:hover"]={backgroundColor:this.props.oContext.themeType==="dark"?"#51515180":"#b8b8b880"}),d&&(v.alignItems="top"),M.createElement(N.Box,{component:"div",style:v,sx:e},M.createElement("div",{style:{...Mt.label,...this.props.schema.styleLabel||void 0}},a,i),s,p)}}const Ii={fullWidth:{height:"100%",width:"100%"},link:L=>({textDecoration:"underline",color:L.palette.mode==="dark"?"#4dabf5":"#254e72",cursor:"pointer"})};function Fi(L,n,i){let h,v="";L?L.toString().startsWith("#")||L.toString().startsWith("/")?(h=n||"_self",v=L):L.startsWith("http://")||L.startsWith("https://")?(h=n||"_blank",v=L):(v=`#tab-instances/config/${i}/${L}`,h=n||"_self"):(v=`#tab-instances/config/${i}`,h=n||"_self"),h==="_self"?setTimeout(s=>{s.startsWith("#")?window.location.hash=s:s.startsWith("/")?v=`${window.location.protocol}:${window.location.host}${v}`:(s.startsWith("http://")||s.startsWith("https://"))&&(window.location.href=s)},100,v):(v.startsWith("#")?v=`${window.location.protocol}:${window.location.host}${window.location.pathname}${v}`:v.startsWith("/")&&(v=`${window.location.protocol}:${window.location.host}${v}`),window.open(v,h))}class Oi extends K{renderItem(n,i){if(this.props.schema.button){const v=this.getIcon();return M.createElement(N.Button,{variant:this.props.schema.variant||void 0,color:this.props.schema.color||"grey",style:{...Ii.fullWidth,...this.props.schema.controlStyle||void 0},disabled:i,startIcon:v,onClick:this.props.schema.href?()=>{const s=this.props.schema.href?this.getText(this.props.schema.href,!0):null;s&&(this.props.oContext.onBackEndCommand?this.props.oContext.onBackEndCommand({command:"link",url:s,target:this.props.schema.target,close:this.props.schema.close}):Fi(s,this.props.schema.target,`${this.props.oContext.adapterName}.${this.props.oContext.instance}`))}:null},this.getText(this.props.schema.text||this.props.schema.label,this.props.schema.noTranslation))}let h=this.getText(this.props.schema.text||this.props.schema.label,this.props.schema.noTranslation);return h&&(h.includes("")||h.includes(""))&&(h=j.Utils.renderTextWithA(h)),M.createElement(N.Box,{component:"span",style:{...this.props.schema.controlStyle||void 0},sx:this.props.schema.href?Ii.link:void 0,onClick:this.props.schema.href?()=>{const v=this.props.schema.href?this.getText(this.props.schema.href,!0):null;v&&(this.props.oContext.onBackEndCommand?this.props.oContext.onBackEndCommand({command:"link",url:v,target:this.props.schema.target||"_blank",close:this.props.schema.close}):Fi(v,this.props.schema.target||"_blank",`${this.props.oContext.adapterName}.${this.props.oContext.instance}`))}:null},h)}}const Bn=1024*1024,fe={paper:{width:"100%",marginBottom:16,backgroundColor:"rgba(255, 255, 255, 0.1)"},headerText:{width:"100%"},table:{minWidth:750},label:{display:"flex",justifyContent:"space-between"},title:{flex:"1 1 100%"},rootTool:{paddingLeft:16,paddingRight:8},silver:{opacity:.2},flex:{display:"flex",alignItems:"baseline"},filteredOut:{padding:10,display:"flex",textAlign:"center"},buttonEmpty:{width:34,display:"inline-block"},buttonCell:{whiteSpace:"nowrap"},dropZone:{width:"100%",height:100,position:"relative"},dropZoneEmpty:{},uploadDiv:{position:"relative",width:"100%",minHeight:300,opacity:.9,marginTop:30,cursor:"pointer",outline:"none"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"calc(100% - 10px)",height:"calc(100% - 10px)",minHeight:300,position:"relative",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},tooltip:{pointerEvents:"none"}};function ll(L,n,i){n=n||"key";const h=[];return Object.keys(L).forEach(v=>{const s={};s[n]=v,i?(s[i]=L[v],h.push(s)):h.push(Object.assign(s,L[v]))}),h}function Ri(L,n,i){n=n||"key";const h={};return L.forEach(v=>{let s=v[n];s==null&&(s=""),delete v[n],i?h[s]=v[i]:h[s]=v}),h}function hl(L,n){let i="";for(let h=0;h{i.filter&&(this.filterRefs[i.attr]=pt.createRef())}),this.refDiv=M.createRef()}async componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr)||[];let i;if(this.props.schema.objKeyName?i=ll(n,this.props.schema.objKeyName,this.props.schema.objValueName):i=n,Array.isArray(i)||(i=[]),this.props.schema.encryptedAttributes){const h=await this.props.oContext.socket.getCompactSystemConfig();this.secret=(h==null?void 0:h.native.secret)||this.secret,n.forEach(v=>{this.props.schema.encryptedAttributes.forEach(s=>{v[s]&&(v[s]=ul(this.secret,v[s]))})})}this.setState({value:i,visibleValue:null,orderBy:"",order:"asc",iteration:0,filterOn:[],width:0},()=>this.validateUniqueProps())}componentWillUnmount(){this.typingTimer&&(clearTimeout(this.typingTimer),this.typingTimer=null),this.resizeTimeout&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=null),super.componentWillUnmount()}itemTable(n,i,h){var d;const{schema:v}=this.props,s=(d=v.items)==null?void 0:d.find(a=>a.attr===n);if(!s)return null;const u={items:{[n]:s}};return M.createElement($t,{oContext:this.props.oContext,alive:this.props.alive,arrayIndex:h,changed:this.props.changed,common:this.props.common,expertMode:this.props.expertMode,custom:!0,data:i,globalData:this.props.data,index:h+this.state.iteration,onChange:(a,p)=>{const e=JSON.parse(JSON.stringify(this.state.value));e[h][a]=p,this.setState({value:e},()=>{this.validateUniqueProps(),this.onChangeWrapper(e,!0)})},onError:(a,p)=>this.onError(a,p),originalData:this.props.originalData,schema:u,table:!0,themeName:this.props.themeName})}validateUniqueProps(){if(this.props.schema.uniqueColumns)for(const n of this.props.schema.uniqueColumns){const i=[];this.state.value.find(v=>{const s=v[n];return i.includes(s)?(this.onError(n,"is not unique"),this.setState({errorMessage:j.I18n.t('Non-allowed duplicate entry "%s" in column "%s"',s,n)}),!0):(i.push(s),!1)})||(this.onError(n,null),this.setState({errorMessage:""}))}}static descendingComparator(n,i,h){return i[h]n[h]?1:0}static getComparator(n,i){return n==="desc"?(h,v)=>Ve.descendingComparator(h,v,i):(h,v)=>-Ve.descendingComparator(h,v,i)}static getFilterValue(n){var i,h,v;return(v=(h=(i=n==null?void 0:n.current)==null?void 0:i.children[0])==null?void 0:h.children[0])==null?void 0:v.value}static setFilterValue(n,i){return n.current.children[0].children[0].value=i}handleRequestSort=(n,i=!1)=>{const{order:h,orderBy:v}=this.state,u=i?h:v===n&&h==="asc"?"desc":"asc",d=this.stableSort(u,n);JSON.stringify(d)!==JSON.stringify(this.state.value)&&this.setState({value:d,order:u,orderBy:n,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,d))};stableSort=(n,i)=>{const{value:h}=this.state,v=Ve.getComparator(n,i),s=h.map((u,d)=>({el:u,index:d}));return s.sort((u,d)=>{const a=v(u.el,d.el);return a!==0?a:u.index-d.index}),s.map(u=>u.el)};renderShowHideFilter(n){return n.filter?M.createElement(N.IconButton,{title:j.I18n.t("ra_Show/hide filter input"),size:"small",onClick:()=>{const i=[...this.state.filterOn],h=this.state.filterOn.indexOf(n.attr);h===-1?i.push(n.attr):i.splice(h,1),this.setState({filterOn:i},()=>{h&&Ve.getFilterValue(this.filterRefs[n.attr])&&(Ve.setFilterValue(this.filterRefs[n.attr],""),this.applyFilter())})}},this.state.filterOn.includes(n.attr)?M.createElement(Z.FilterAltOff,null):M.createElement(Z.FilterAlt,null)):null}renderImportExportButtons(n){return M.createElement(M.Fragment,null,!n.noDelete&&n.import?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Import data from %s file","CSV"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:()=>this.setState({showImportDialog:!0})},M.createElement(Z.UploadFile,null))):null,n.export?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Export data to %s file","CSV"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:()=>this.onExport()},M.createElement(Z.Download,null))):null,n.noDelete?null:M.createElement(N.IconButton,{disabled:!0,size:"small"},M.createElement(Z.Delete,null)))}renderAddButton(n){return M.createElement(N.Tooltip,{title:n?j.I18n.t("ra_Cannot add items with set filter"):j.I18n.t("ra_Add row"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement("span",null,M.createElement(N.IconButton,{size:"small",color:"primary",disabled:!!n&&!this.props.schema.allowAddByFilter,onClick:this.onAdd},M.createElement(Z.Add,null))))}enhancedTableHead(n,i){var u;const{schema:h}=this.props,{order:v,orderBy:s}=this.state;return M.createElement(N.TableHead,null,M.createElement(N.TableRow,null,(u=h.items)==null?void 0:u.map((d,a)=>this.renderOneFilter({schema:h,style:{width:d.width},showAddButton:!a&&!h.noDelete,headCell:d,order:v,orderBy:s,index:a,doAnyFilterSet:i})),!h.noDelete&&M.createElement(N.TableCell,{style:{paddingLeft:20,paddingRight:20,width:n,textAlign:"right"},padding:"checkbox"},this.renderImportExportButtons(h))))}onDelete=n=>()=>{const i=JSON.parse(JSON.stringify(this.state.value));i.splice(n,1),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))};onExport(){const{schema:n}=this.props,{value:i}=this.state,v=[n.items.map(d=>d.attr).join(";")];i.forEach(d=>{const a=[];n.items.forEach(p=>{var e;(e=d[p.attr])!=null&&e.includes(";")?a.push(`"${d[p.attr]}"`):a.push(d[p.attr]===void 0||d[p.attr]===null?"":d[p.attr])}),v.push(a.join(";"))});const s=document.createElement("a");s.setAttribute("href",`data:text/csv;charset=utf-8,${encodeURIComponent(v.join(` +`))}`);const u=new Date;s.setAttribute("download",`${u.getFullYear()}_${(u.getMonth()+1).toString().padStart(2,"0")}_${u.getDate().toString().padStart(2,"0")}_${this.props.oContext.adapterName}.${this.props.oContext.instance}_${this.props.attr}.csv`),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}onImport(n){var u;const i=n.split(` +`).map(d=>d.replace("\r","").trim()),{schema:h}=this.props,v=i.shift().split(";").filter(d=>d&&h.items.find(a=>a.attr===d)),s=[];i.forEach(d=>{const a=d.split(";"),p={};for(let e=0;eo.attr===v[e]);l&&l.type==="number"?r=parseFloat(t):r=t}else r=t;p[v[e]]=r}s.push(p)}),s.length?(u=this.state.value)!=null&&u.length?this.setState({showTypeOfImportDialog:s,showImportDialog:!1}):this.setState({value:s,showImportDialog:!1}):window.alert("ra_No data found in file")}onClone=n=>()=>{const i=JSON.parse(JSON.stringify(this.state.value)),h=JSON.parse(JSON.stringify(i[n]));if(typeof this.props.schema.clone=="string"&&typeof h[this.props.schema.clone]=="string"){let v=1,s=h[this.props.schema.clone];const u=s.match(/(\d+)$/);for(u?(s=s.replace(u[0],""),v=parseInt(u[0],10)+1):s+="_";i.find(d=>d[this.props.schema.clone]===s+v.toString());)v++;h[this.props.schema.clone]=`${h[this.props.schema.clone]}_${v}`}i.splice(n,0,h),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))};onChangeWrapper=(n,i)=>{this.typingTimer&&clearTimeout(this.typingTimer),this.typingTimer=setTimeout((h,v)=>{this.typingTimer=null;let s;if(this.props.schema.encryptedAttributes){const u=JSON.parse(JSON.stringify(h));if(u.forEach(d=>{this.props.schema.encryptedAttributes.forEach(a=>{d[a]&&(d[a]=hl(this.secret,d[a]))})}),this.props.schema.objKeyName){const d=Ri(u,this.props.schema.objKeyName,this.props.schema.objValueName);s=this.onChange(this.props.attr,d)}else s=this.onChange(this.props.attr,u)}else if(this.props.schema.objKeyName){const u=Ri(JSON.parse(JSON.stringify(h)),this.props.schema.objKeyName,this.props.schema.objValueName);s=this.onChange(this.props.attr,u)}else s=this.onChange(this.props.attr,h);s instanceof Promise&&s.catch(u=>console.error(`Cannot save: ${u}`)),v&&(this.applyFilter(!1,h),this.handleRequestSort(this.state.orderBy,!0))},300,n,i)};onAdd=()=>{var v;const{schema:n}=this.props,i=JSON.parse(JSON.stringify(this.state.value)),h=(v=n.items)==null?void 0:v.reduce((s,u)=>{let d;return u.defaultFunc?this.props.custom?d=u.defaultFunc?this.executeCustom(u.defaultFunc,this.props.data,this.props.customObj,this.props.oContext.instanceObj,i.length,this.props.data):this.props.schema.default:d=u.defaultFunc?this.execute(u.defaultFunc,this.props.schema.default,this.props.data,i.length,this.props.data):this.props.schema.default:d=u.default===void 0?null:u.default,s[u.attr]=d,s},{});i.push(h),this.setState({value:i},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))};isAnyFilterSet(){return!!Object.keys(this.filterRefs).find(n=>Ve.getFilterValue(this.filterRefs[n]))}applyFilter=(n,i,h)=>{i=i||this.state.value;let v=i.map((s,u)=>u);if(Object.keys(this.filterRefs).forEach(s=>{let u=Ve.getFilterValue(this.filterRefs[s]);!n&&u?(u=u.toLowerCase(),v=v.filter(d=>i[d]&&i[d][s]&&i[d][s].toLowerCase().includes(u))):this.filterRefs[s].current&&Ve.setFilterValue(this.filterRefs[s],"")}),v.length===i.length&&(v=null),v===null&&this.state.visibleValue===null){h&&h();return}JSON.stringify(v)!==JSON.stringify(this.state.visibleValue)?this.setState({visibleValue:v},()=>h&&h()):h&&h()};onMoveUp(n){const i=JSON.parse(JSON.stringify(this.state.value)),h=i[n];i.splice(n,1),i.splice(n-1,0,h),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))}onMoveDown(n){const i=JSON.parse(JSON.stringify(this.state.value)),h=i[n];i.splice(n,1),i.splice(n+1,0,h),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))}onDrop(n){const i=n[0],h=new FileReader;h.onabort=()=>console.log("file reading was aborted"),h.onerror=()=>console.log("file reading has failed"),h.onload=()=>{if(i.size>Bn){window.alert(j.I18n.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(Bn/1024)));return}const v=new Uint8Array(h.result).reduce((s,u)=>s+String.fromCharCode(u),"");this.onImport(v)},h.readAsArrayBuffer(i)}showTypeOfImportDialog(){return this.state.showTypeOfImportDialog?M.createElement(N.Dialog,{open:!0,onClose:()=>this.setState({showTypeOfImportDialog:!1}),maxWidth:"md"},M.createElement(N.DialogTitle,null,j.I18n.t("ra_Append or replace?")),M.createElement(N.DialogContent,null,j.I18n.t("ra_Append %s entries or replace existing?",this.state.showTypeOfImportDialog.length)),M.createElement(N.DialogActions,null,M.createElement(N.Button,{variant:"contained",color:"primary",autoFocus:!0,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.value));this.state.showTypeOfImportDialog.forEach(i=>n.push(i)),this.setState({value:n,iteration:this.state.iteration+1e4,showTypeOfImportDialog:!1},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(n)))}},j.I18n.t("ra_Append")),M.createElement(N.Button,{variant:"contained",color:"secondary",autoFocus:!0,onClick:()=>{const n=this.state.showTypeOfImportDialog;this.setState({value:n,iteration:this.state.iteration+1e4,showTypeOfImportDialog:!1},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(n)))}},j.I18n.t("ra_Replace")))):null}showImportDialog(){return this.state.showImportDialog?M.createElement(N.Dialog,{open:!0,onClose:()=>this.setState({showImportDialog:!1}),sx:{"& .MuiDialog-paper":{minHeight:500}},maxWidth:"md",fullWidth:!0},M.createElement(N.DialogTitle,null,j.I18n.t("ra_Import from %s","CSV")),M.createElement(N.DialogContent,null,M.createElement(Pi,{multiple:!1,accept:{"text/csv":[".csv"]},maxSize:Bn,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(n,i)=>{this.setState({uploadFile:!1}),n.length?this.onDrop(n):window.alert(i&&i[0]&&i[0].errors&&i[0].errors[0]&&i[0].errors[0].message||j.I18n.t("ra_Cannot upload"))}},({getRootProps:n,getInputProps:i})=>M.createElement("div",{style:{...fe.uploadDiv,...this.state.uploadFile==="dragging"?fe.uploadDivDragging:void 0,...fe.dropZone,...this.state.icon?void 0:fe.dropZoneEmpty},...n()},M.createElement("input",{...i()}),M.createElement("div",{style:fe.uploadCenterDiv},M.createElement("div",{style:fe.uploadCenterTextAndIcon},M.createElement(Z.UploadFile,{style:fe.uploadCenterIcon}),M.createElement("div",{style:fe.uploadCenterText},this.state.uploadFile==="dragging"?j.I18n.t("ra_Drop file here"):j.I18n.t("ra_Place your files here or click here to open the browse dialog"))))))),M.createElement(N.DialogActions,null,M.createElement(N.Button,{variant:"contained",onClick:()=>this.setState({showImportDialog:!1}),color:"primary",startIcon:M.createElement(Z.Close,null)},j.I18n.t("Cancel")))):null}renderOneFilter(n){return M.createElement(N.TableCell,{key:`${n.headCell.attr}_${n.index}`,style:n.style,align:"left",sortDirection:n.orderBy===n.headCell.attr?n.order:!1},M.createElement("div",{style:{...fe.flex,...n.schema.showFirstAddOnTop?{flexDirection:"column"}:void 0}},n.showAddButton?this.renderAddButton(n.doAnyFilterSet):null,n.headCell.sort&&M.createElement(N.TableSortLabel,{active:!0,style:n.orderBy!==n.headCell.attr?fe.silver:void 0,direction:n.orderBy===n.headCell.attr?n.order:"asc",onClick:()=>this.handleRequestSort(n.headCell.attr)}),n.headCell.filter&&this.state.filterOn.includes(n.headCell.attr)?M.createElement(N.TextField,{variant:"standard",ref:this.filterRefs[n.headCell.attr],onChange:()=>this.applyFilter(),title:j.I18n.t("ra_You can filter entries by entering here some text"),slotProps:{input:{endAdornment:Ve.getFilterValue(this.filterRefs[n.headCell.attr])&&M.createElement(N.InputAdornment,{position:"end"},M.createElement(N.IconButton,{size:"small",tabIndex:-1,onClick:()=>{Ve.setFilterValue(this.filterRefs[n.headCell.attr],""),this.applyFilter()}},M.createElement(Z.Close,null)))}},fullWidth:!0,placeholder:this.getText(n.headCell.title)}):M.createElement("span",{style:fe.headerText},this.getText(n.headCell.title)),this.renderShowHideFilter(n.headCell)))}enhancedFilterCard(){var u;const{schema:n}=this.props,{order:i,orderBy:h}=this.state;let v;this.props.schema.compact&&(v={paddingTop:1,paddingBottom:1});const s=!n.noDelete&&n.import||n.export;return s||n.items.find(d=>d.sort||d.filter)?M.createElement(N.Grid2,{size:{xs:n.xs||12,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0}},M.createElement(N.Card,null,M.createElement(N.Paper,{style:fe.paper},M.createElement(N.Accordion,{style:fe.paper},M.createElement(N.AccordionSummary,{expandIcon:M.createElement(Z.ExpandMore,null)},M.createElement(N.Typography,null,j.I18n.t("ra_Filter and Data Actions"))),M.createElement(N.AccordionDetails,null,M.createElement(N.Table,null,M.createElement(N.TableBody,null,((u=n.items)==null?void 0:u.find(d=>d.sort||d.filter))&&n.items.map((d,a)=>M.createElement(N.TableRow,{key:`${d.attr}_${a}`},this.renderOneFilter({schema:n,style:v,showAddButton:!1,headCell:d,order:i,orderBy:h,index:a,doAnyFilterSet:!1}))),s?M.createElement(N.TableRow,null,M.createElement(N.TableCell,{align:"left",style:v},M.createElement("span",{style:fe.headerText},j.I18n.t("ra_Actions"))),M.createElement(N.TableCell,{style:v},this.renderImportExportButtons(n))):null))))))):null}enhancedBottomCard(){const{schema:n}=this.props;let i;this.props.schema.compact&&(i={paddingTop:1,paddingBottom:1});const h=this.isAnyFilterSet();return M.createElement(N.Grid2,{size:{xs:n.xs||12,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0}},M.createElement(N.Card,null,M.createElement(N.Paper,{style:fe.paper},M.createElement(N.Table,null,M.createElement(N.TableBody,null,M.createElement(N.TableRow,null,M.createElement(N.TableCell,{colSpan:n.items.length+1,style:i},this.renderAddButton(h))))))))}renderCards(){const{schema:n}=this.props;let{visibleValue:i}=this.state,h;this.props.schema.compact&&(h={paddingTop:1,paddingBottom:1}),i||=this.state.value.map((s,u)=>u);const v=this.isAnyFilterSet();return M.createElement(N.Grid2,{container:!0},this.showImportDialog(),this.showTypeOfImportDialog(),this.enhancedFilterCard(),i.map((s,u)=>{var d;return M.createElement(N.Grid2,{key:`${s}_${u}`,size:{xs:n.xs||12,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0}},M.createElement(N.Card,null,M.createElement(N.Paper,{style:fe.paper},M.createElement(N.Table,null,M.createElement(N.TableBody,null,(d=n.items)==null?void 0:d.map(a=>M.createElement(N.TableRow,{key:`${a.attr}_${s}`},M.createElement(N.TableCell,{align:"left",style:h},M.createElement("span",{style:fe.headerText},this.getText(a.title))),M.createElement(N.TableCell,{align:"left",style:h},this.itemTable(a.attr,this.state.value[s],s)))),!n.noDelete&&M.createElement(N.TableRow,null,M.createElement(N.TableCell,{align:"left",style:h},M.createElement("span",{style:fe.headerText},this.getText("Actions"))),M.createElement(N.TableCell,{align:"left",style:h},!v&&!this.state.orderBy?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Move up"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement("span",null,M.createElement(N.IconButton,{size:"small",onClick:()=>this.onMoveUp(s),disabled:u===0},M.createElement(Z.ArrowUpward,null)))):null,!v&&!this.state.orderBy?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Move down"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement("span",null,M.createElement(N.IconButton,{size:"small",onClick:()=>this.onMoveDown(s),disabled:u===i.length-1},M.createElement(Z.ArrowDownward,null)))):null,M.createElement(N.Tooltip,{title:j.I18n.t("ra_Delete current row"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:this.onDelete(s)},M.createElement(Z.Delete,null))),this.props.schema.clone?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Clone current row"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:this.onClone(s)},M.createElement(Z.ContentCopy,null))):null)))))))}),this.enhancedBottomCard())}renderTable(){const{schema:n}=this.props;let{visibleValue:i}=this.state;i=i||this.state.value.map((s,u)=>u);const h=this.isAnyFilterSet();let v;return this.props.schema.compact&&(v={paddingTop:1,paddingBottom:1}),M.createElement(N.Paper,{style:fe.paper},this.showImportDialog(),this.showTypeOfImportDialog(),n.label?M.createElement("div",{style:fe.label},M.createElement(N.Toolbar,{variant:"dense",style:fe.rootTool},M.createElement(N.Typography,{style:fe.title,variant:"h6",id:"tableTitle",component:"div"},this.getText(n.label)))):null,M.createElement(N.TableContainer,null,M.createElement(N.Table,{style:fe.table,size:"small"},this.enhancedTableHead(!h&&!this.state.orderBy?120:64,h),M.createElement(N.TableBody,null,i.map((s,u)=>{var d;return M.createElement(N.TableRow,{hover:!0,key:`${s}_${u}`},(d=n.items)==null?void 0:d.map(a=>M.createElement(N.TableCell,{key:`${a.attr}_${s}`,align:"left",style:v},this.itemTable(a.attr,this.state.value[s],s))),!n.noDelete&&M.createElement(N.TableCell,{align:"left",style:{...v,...fe.buttonCell}},!h&&!this.state.orderBy?u?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Move up"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:()=>this.onMoveUp(s)},M.createElement(Z.ArrowUpward,null))):M.createElement("div",{style:fe.buttonEmpty}):null,!h&&!this.state.orderBy?uthis.onMoveDown(s)},M.createElement(Z.ArrowDownward,null))):M.createElement("div",{style:fe.buttonEmpty}):null,M.createElement(N.Tooltip,{title:j.I18n.t("ra_Delete current row"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:this.onDelete(s)},M.createElement(Z.Delete,null))),this.props.schema.clone?M.createElement(N.Tooltip,{title:j.I18n.t("ra_Clone current row"),slotProps:{popper:{sx:fe.tooltip}}},M.createElement(N.IconButton,{size:"small",onClick:this.onClone(s)},M.createElement(Z.ContentCopy,null))):null))}),!n.noDelete&&i.length>=(n.showSecondAddAt||5)?M.createElement(N.TableRow,null,M.createElement(N.TableCell,{colSpan:n.items.length+1,style:{...v}},this.renderAddButton(h))):null)),!i.length&&this.state.value.length?M.createElement("div",{style:fe.filteredOut},M.createElement(N.Typography,{style:fe.title,variant:"h6",id:"tableTitle",component:"div"},j.I18n.t("ra_All items are filtered out"),M.createElement(N.IconButton,{size:"small",onClick:()=>this.applyFilter(!0)},M.createElement(Z.Close,null)))):null),n.help?M.createElement(N.FormHelperText,{style:{paddingLeft:16}},this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null,this.state.errorMessage?M.createElement("div",{style:{display:"flex",padding:"5px"}},M.createElement(Z.Warning,{color:"error"}),M.createElement("span",{style:{color:"red",alignSelf:"center"}},this.state.errorMessage)):null)}componentDidUpdate(){var n;(n=this.refDiv.current)!=null&&n.clientWidth&&this.refDiv.current.clientWidth!==this.state.width&&(this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{var i;this.resizeTimeout=null,this.setState({width:(i=this.refDiv.current)==null?void 0:i.clientWidth})},50))}getCurrentBreakpoint(){return this.state.width?this.state.width<600?"xs":this.state.width<900?"sm":this.state.width<1200?"md":this.state.width<1536?"lg":"xl":"md"}renderItem(){const{schema:n}=this.props;if(!this.state.value||!Array.isArray(this.state.value))return null;const i=this.getCurrentBreakpoint();let h;return i&&(n.useCardFor||["xs"]).includes(i)?h=this.renderCards():h=this.renderTable(),M.createElement("div",{ref:this.refDiv,style:{width:"100%"}},h)}}const ln={indeterminate:{opacity:.5},label:{width:"100%",fontSize:14,marginBottom:2},helper:{width:"100%",fontSize:12},error:{width:"100%",fontSize:12,color:"#FF0000"}};class cl extends K{updateTimeout=null;componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr);if(Array.isArray(n)&&this.props.oContext.multiEdit){n=K.DIFFERENT_VALUE,this.setState({value:n,oldValue:n,jsonError:!1});return}this.setState({value:n,oldValue:n,jsonError:this.validateJson(n)})}validateJson(n){let i=!1;if(this.props.schema.validateJson&&(n||!this.props.schema.allowEmpty))try{JSON.parse(n)}catch(h){console.log("Error in JSON",h),i=!0}return i}static getDerivedStateFromProps(n,i){if(n.oContext.multiEdit&&i.value===K.DIFFERENT_VALUE)return{value:K.DIFFERENT_VALUE};let h=K.getValue(n.data,n.attr);return h!=null&&(h=h.toString()),h==null||h!==i.value&&h!==i.oldValue?{value:h}:null}renderItem(n,i){const h=Array.isArray(this.state.value)||this.state.value===K.DIFFERENT_VALUE;if(this.props.schema.time){let u="";return typeof this.state.value=="number"?this.state.value&&this.state.value<9466596e5?u=new Date(this.state.value*1e3).toLocaleString():u=new Date(this.state.value).toLocaleString():typeof this.state.value=="string"&&(u=new Date(this.state.value).toLocaleString()),M.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:u,error:!!n||!!this.state.jsonError,disabled:!!i,slotProps:{htmlInput:{readOnly:!0}},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}if(this.state.oldValue!==null&&this.state.oldValue!==void 0?(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=null,this.setState({oldValue:null})},30)):this.updateTimeout&&(clearTimeout(this.updateTimeout),this.updateTimeout=null),h){const u=K.getValue(this.props.data,this.props.attr),d=(u==null?void 0:u.filter(a=>a||a===0).map(a=>({label:a.toString()||"",value:a})))||[];return d.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),M.createElement(N.Autocomplete,{style:ln.indeterminate,fullWidth:!0,value:d[0],onChange:(a,p)=>{const e=p?p.value:"",t=this.onChange(this.props.attr,e,()=>{this.setState({value:e,oldValue:e,jsonError:this.validateJson(p)})});t instanceof Promise&&t.catch(r=>console.error(`Cannot set value: ${r}`))},options:d,getOptionLabel:a=>a.label,renderInput:a=>M.createElement(N.TextField,{variant:"standard",...a,error:!!n,placeholder:this.getText(this.props.schema.placeholder),slotProps:{htmlInput:{...a.inputProps,maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:this.props.schema.readOnly||!1}},label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),disabled:!!i})})}let v,s;if((this.props.schema.readOnly||i)&&this.props.schema.copyToClipboard?(this.props.schema.minRows>1&&(s={position:"absolute",right:3,top:20,zIndex:1e3}),v=M.createElement(N.IconButton,{tabIndex:-1,style:s,size:"small",onClick:()=>{j.Utils.copyToClipboard(this.state.value),window.alert(j.I18n.t("ra_Copied"))}},M.createElement(j.IconCopy,null))):!this.props.schema.readOnly&&!i&&this.state.value&&!this.props.schema.noClearButton&&(this.props.schema.minRows>1&&(s={position:"absolute",right:3,top:20,zIndex:1e3}),v=M.createElement(N.IconButton,{style:s,size:"small",tabIndex:-1,onClick:()=>this.setState({value:"",oldValue:this.state.value},()=>this.onChange(this.props.attr,""))},M.createElement(Z.Close,null)),this.props.schema.minRows<=1&&(v=M.createElement(N.InputAdornment,{position:"end"},v))),this.props.schema.minRows>1){const u=this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation);return M.createElement("div",{style:{width:"100%",position:"relative"}},this.props.schema.label?M.createElement("div",{style:ln.label},this.getText(this.props.schema.label)):null,M.createElement(N.TextareaAutosize,{style:{width:"100%",resize:"vertical",backgroundColor:this.props.oContext.themeType==="dark"?"#363636":"#cccccc",color:this.props.oContext.themeType==="dark"?"#fff":"#111"},minRows:this.props.schema.minRows,maxRows:this.props.schema.maxRows,value:this.state.value===null||this.state.value===void 0?"":this.state.value,disabled:!!i,readOnly:this.props.schema.readOnly||!1,onChange:d=>{const a=d.target.value;this.setState({value:a,oldValue:this.state.value,jsonError:this.validateJson(a)},()=>this.onChange(this.props.attr,a||""))},placeholder:this.getText(this.props.schema.placeholder)}),u||n||this.state.jsonError?M.createElement("div",{style:n?ln.error:ln.helper},n||(this.state.jsonError?j.I18n.t("ra_Invalid JSON"):u)):null)}return M.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:this.state.value===null||this.state.value===void 0?"":this.state.value,error:!!n||!!this.state.jsonError,disabled:!!i,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:this.props.schema.readOnly||!1},input:{endAdornment:v}},onChange:u=>{const d=u.target.value;this.setState({value:d,oldValue:this.state.value,jsonError:this.validateJson(d)},()=>this.onChange(this.props.attr,d))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.state.jsonError?j.I18n.t("ra_Invalid JSON"):this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}const pl={fullWidth:{width:"100%"}};class dl extends K{initialized=!1;localContext;askInstance(){if(this.props.alive){let n=this.props.schema.data;if(n===void 0&&this.props.schema.jsonData){const i=this.getPattern(this.props.schema.jsonData,null,!0);try{n=JSON.parse(i)}catch{console.error(`Cannot parse json data: ${i}`)}}n===void 0&&(n=null),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",n).then(i=>{if(typeof i=="object"){const h=i;this.setState({text:h.text||"",style:h.style,icon:h.icon,iconStyle:h.iconStyle})}else typeof i=="string"&&this.setState({text:i||""})}).catch(i=>console.error(`Cannot send command: ${i}`))}}getLocalContext(){const n={};return Array.isArray(this.props.schema.alsoDependsOn)&&this.props.schema.alsoDependsOn.forEach(i=>n[i]=K.getValue(this.props.data,i)),JSON.stringify(n)}renderItem(){if(this.props.alive){const i=this.getLocalContext();(i!==this.localContext||!this.initialized)&&(this.localContext=i,setTimeout(()=>this.askInstance(),this.initialized?300:50),this.initialized=!0)}if(this.state.text===void 0)return null;let n=null;return this.state.icon&&(n=ut(this.state.icon,{marginRight:this.state.text?8:void 0,...this.state.iconStyle||void 0}),n||(n=M.createElement(j.Icon,{src:this.state.icon,style:{marginRight:this.state.text?8:void 0,...this.state.iconStyle||void 0}}))),this.props.schema.container==="text"?M.createElement(N.TextField,{variant:"standard",fullWidth:!0,slotProps:{input:{endAdornment:this.props.schema.copyToClipboard?M.createElement(N.IconButton,{tabIndex:-1,size:"small",onClick:()=>{j.Utils.copyToClipboard(this.state.text),window.alert(j.I18n.t("ra_Copied"))}},M.createElement(j.IconCopy,null)):void 0}},value:this.state.text,label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}):M.createElement("div",{style:{...pl.fullWidth,...this.state.style||void 0}},n,this.props.schema.container==="html"?M.createElement("span",{dangerouslySetInnerHTML:{__html:this.state.text||""}}):this.state.text)}}class fl extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n})}renderItem(n,i){const h=this.props.schema.returnFormat!=="HH:mm:ss",v=new Date(Date.parse(`Thu, 01 Jan 1970 ${this.state.value||"00:00:00"}`));return M.createElement(Wi.TimePicker,{sx:s=>({width:"100%",borderBottom:`1px solid ${s.palette.text.primary}`,"& fieldset":{display:"none"},"& input":{padding:`${s.spacing(1.5)} 0 4px 0`},"& .MuiInputAdornment-root":{marginLeft:0,marginTop:1},"& label":{transform:"translate(0px, -9px) scale(0.75)"}}),ampm:this.props.oContext.systemConfig.dateFormat.includes("/"),timeSteps:this.props.schema.timeSteps||this.props.schema.timesteps||{hours:1,minutes:5,seconds:5},format:this.props.schema.format||"HH:mm:ss",disabled:!!i,value:v,onChange:s=>{let u;u=s instanceof Date?s.toTimeString().split(" ")[0]:s.toTimeString(),h&&(u=u.split(":").slice(0,2).join(":")),this.setState({value:u},()=>this.onChange(this.props.attr,this.state.value))},views:this.props.schema.views||["hours","minutes","seconds"],label:this.getText(this.props.schema.label)})}}function gl(L,n){let i;return n&&L.substring(0,n.length)===n?i=L.substring(n.length+1):i=L,i=i.replace(/\./g,"/").replace(/_/g," "),i}class ml extends K{componentDidMount(){var i;super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);if(!n&&((i=this.props.customObj)!=null&&i._id)){const h=gl(this.props.customObj._id,`${this.props.oContext.adapterName}.${this.props.oContext.instance}`);this.setState({value:h})}else this.setState({value:n||""})}renderItem(n,i){return M.createElement(N.TextField,{variant:"standard",fullWidth:!0,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0}},value:this.state.value,error:!!n,disabled:i,placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),onChange:h=>{const v=h.target.value;this.setState({value:v},()=>this.onChange(this.props.attr,v))}})}}class vl extends K{async componentDidMount(){var i;super.componentDidMount();const n=await this.props.oContext.socket.getObject("system.meta.uuid");this.setState({uuid:((i=n==null?void 0:n.native)==null?void 0:i.uuid)||"unknown"})}renderItem(n,i){return M.createElement(N.TextField,{variant:"standard",fullWidth:!0,error:!!n,disabled:!!i,slotProps:{htmlInput:{readOnly:!0},input:{endAdornment:M.createElement(N.IconButton,{tabIndex:-1,onClick:()=>{j.Utils.copyToClipboard(this.state.uuid),window.alert(j.I18n.t("ra_Copied %s",this.state.uuid))}},M.createElement(Z.ContentCopy,null))}},value:this.state.uuid||"",label:this.getText(this.props.schema.label)||j.I18n.t("ra_Serial number (UUID)"),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}const Ni={icon:{width:16,height:16,marginRight:8}};class yl extends K{componentDidMount(){super.componentDidMount(),this.props.oContext.socket.getUsers().then(n=>{const i={},h=j.I18n.getLanguage();this.props.schema.short?n.forEach(v=>{var s,u;return i[v._id]={color:(s=v.common)==null?void 0:s.color,icon:(u=v.common)==null?void 0:u.icon,name:j.Utils.getObjectNameFromObj(v,h)}}):n.forEach(v=>{var s,u;return i[v._id.replace(/^system\.user\./,"")]={color:(s=v.common)==null?void 0:s.color,icon:(u=v.common)==null?void 0:u.icon,name:j.Utils.getObjectNameFromObj(v,h)}}),this.setState({users:i})}).catch(n=>console.error(`Cannot get users: ${n}`))}renderItem(n,i){var v,s;const h=K.getValue(this.props.data,this.props.attr);return M.createElement(N.FormControl,{variant:"standard",fullWidth:!0},this.state.users&&this.props.schema.label?M.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,this.state.users?M.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:h,renderValue:u=>{var d,a,p;return M.createElement("span",null,this.state.users&&((d=this.state.users[u])!=null&&d.icon)?M.createElement(j.Icon,{src:this.state.users&&((a=this.state.users[u])==null?void 0:a.icon),style:Ni.icon}):null,this.state.users&&((p=this.state.users[u])==null?void 0:p.name)||u||"")},style:{color:this.state.users&&((v=this.state.users[h])==null?void 0:v.color)||void 0,backgroundColor:j.Utils.getInvertedColor(this.state.users&&((s=this.state.users[h])==null?void 0:s.color),this.props.oContext.themeType)},onChange:u=>this.onChange(this.props.attr,u.target.value)},this.state.users&&Object.keys(this.state.users).map(u=>M.createElement(N.MenuItem,{style:{color:this.state.users[u].color||void 0,backgroundColor:j.Utils.getInvertedColor(this.state.users[u].color,this.props.oContext.themeType)},key:u,value:u},this.state.users[u].icon?M.createElement(j.Icon,{src:this.state.users[u].icon,style:Ni.icon}):null,this.state.users[u].name))):M.createElement(N.TextField,{variant:"standard",error:!!n,disabled:!!i,value:h,onChange:u=>this.onChange(this.props.attr,u.target.value),label:this.getText(this.props.schema.label)}),this.props.schema.help?M.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class bl extends K{async componentDidMount(){super.componentDidMount();const n=await ss(()=>import("./index-CttBOMyq.js").then(i=>i.i),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url);this.setState({QRCode:n.default})}renderItem(){const n=this.state.QRCode;return n?M.createElement(n,{value:this.props.schema.data,size:this.props.schema.size,fgColor:this.props.schema.fgColor,bgColor:this.props.schema.bgColor,level:this.props.schema.level}):null}}const wl={accordion:$s,alive:Ts,autocomplete:_s,autocompleteSendTo:ks,certCollection:Fs,certificate:Ls,certificates:Is,checkbox:Os,checkLicense:ct,chip:fi,chips:fi,color:Ws,coordinates:Hs,cron:Ms,custom:Ut,datePicker:zs,deviceManager:js,divider:il,file:eo,fileSelector:mn,func:to,header:sl,image:ro,imageSendTo:io,infoBox:so,instance:oo,interface:ao,ip:no,jsonEditor:Oa,language:Na,license:Ba,number:Pa,oauth2:Wa,objectId:Ha,password:za,pattern:ja,port:Ua,qrCode:bl,room:Ga,select:Ja,selectSendTo:Qa,sendto:_i,sendTo:_i,setState:qa,slider:el,state:nl,staticImage:ol,staticInfo:al,staticLink:Oi,staticText:Oi,table:Ve,text:cl,textSendTo:dl,timePicker:fl,topic:ml,uuid:vl,user:yl},Qe={fullWidth:{width:"100%"},paper:{margin:1,width:"auto !important",overflowY:"auto",paddingBottom:1},paperWithIcons:{height:"calc(100vh - 259px) !important"},paperWithoutIcons:{height:"calc(100vh - 235px) !important"},padding:{padding:"10px"},heading:{},primary:L=>({backgroundColor:L.palette.primary.main,color:L.palette.mode==="dark"?"inherit":"#FFF"}),secondary:L=>({backgroundColor:L.palette.secondary.main})};class $t extends K{componentDidMount(){var n;super.componentDidMount(),(n=this.props.schema)!=null&&n.collapsable&&this.setState({expanded:(window._localStorage||window.localStorage).getItem(`${this.props.oContext.adapterName}.${this.props.attr}`)==="true"})}renderItems(n,i){return n?Object.keys(n).map(h=>{if(this.props.oContext.multiEdit&&n[h].noMultiEdit)return null;const v=n[h].type||"panel";let s,u="Use this.props.oContext.socket!";return v==="custom"?(n[h].url?s=Ut:this.props.oContext.customs&&this.props.oContext.customs[n[h].component]?s=this.props.oContext.customs[n[h].component]:(console.error(`Cannot find custom component: ${n[h].component}`),s=K),u=this.props.oContext.socket):v==="panel"?s=$t:s=wl[v]||K,M.createElement(s,{socket:u,globalData:this.props.globalData,oContext:this.props.oContext,key:`${h}_${this.props.index===void 0?"":this.props.index}`,index:this.props.index,changed:this.props.changed,arrayIndex:this.props.arrayIndex,expertMode:this.props.expertMode,commandRunning:this.props.commandRunning,style:Qe.panel,common:this.props.common,alive:this.props.alive,themeName:this.props.themeName,data:this.props.data,originalData:this.props.originalData,onError:this.props.onError,onChange:this.props.onChange,disabled:i,customObj:this.props.customObj,custom:this.props.custom,schema:n[h],attr:h,table:this.props.table})}):null}render(){const n=this.props.schema;if(!n)return null;const{disabled:i,hidden:h}=this.calculate(n),v=this.props.schema.items,s=this.props.schema.style||{};if(h){if(n.hideOnlyControl){const d=M.createElement(N.Grid2,{size:{xs:n.xs||void 0,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0},sx:j.Utils.getStyle(this.props.oContext.theme,{marginBottom:0,textAlign:"left"},s,this.props.oContext.themeType==="dark"&&n.darkStyle)});return n.newLine?M.createElement(M.Fragment,null,M.createElement("div",{style:{flexBasis:"100%",height:0}}),d):d}return null}if(this.props.table)return this.renderItems(v,i);if(this.props.custom)return M.createElement(N.Grid2,{key:`${this.props.attr}_${this.props.index}`,container:!0,style:Qe.fullWidth,columnSpacing:2,rowSpacing:1,sx:s},this.renderItems(v,i));let u;if(n.collapsable)u=M.createElement(N.Accordion,{key:`${this.props.attr}_${this.props.index}`,style:Qe.fullWidth,expanded:!!this.state.expanded,onChange:()=>{(window._localStorage||window.localStorage).setItem(`${this.props.oContext.adapterName}.${this.props.attr}`,this.state.expanded?"false":"true"),this.setState({expanded:!this.state.expanded})}},M.createElement(N.AccordionSummary,{expandIcon:M.createElement(Z.ExpandMore,null),sx:j.Utils.getStyle(this.props.oContext.theme,s,this.props.oContext.themeType&&n.darkStyle,n.color==="primary"?Qe.primary:n.color==="secondary"&&Qe.secondary,{width:"100%"})},M.createElement(N.Typography,{style:Qe.heading},this.getText(n.label))),M.createElement(N.AccordionDetails,null,M.createElement(N.Grid2,{container:!0,columnSpacing:2,rowSpacing:1,sx:{...s,width:"100%",padding:"10px"}},this.renderItems(v,i))));else{const d=j.Utils.getStyle(this.props.oContext.theme,this.props.style,s,{width:"100%"},this.props.isParentTab&&Qe.paper,this.props.isParentTab&&(this.props.withoutSaveButtons?this.props.withIcons?{height:"calc(100% - 88px) !important"}:{height:"calc(100% - 64px) !important"}:this.props.withIcons?Qe.paperWithIcons:Qe.paperWithoutIcons));u=M.createElement(N.Box,{component:"div",key:`${this.props.attr}_${this.props.index}`,className:this.props.className,sx:d},M.createElement(N.Grid2,{container:!0,columnSpacing:2,rowSpacing:1,sx:j.Utils.getStyle(this.props.oContext.theme,{width:"100%"},this.props.isParentTab&&Qe.padding,this.props.schema.innerStyle)},this.renderItems(v,i)))}if(!this.props.isParentTab){const d=M.createElement(N.Grid2,{title:this.getText(n.tooltip),size:{xs:n.xs||void 0,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0},sx:{marginBottom:0,textAlign:"left",...s}},u);return n.newLine?M.createElement(M.Fragment,null,M.createElement("div",{style:{flexBasis:"100%",height:0}}),d):d}return u}}const hn={tabs:{height:"100%",width:"100%"},panel:{width:"100%",display:"block"},panelWithIcons:{height:"calc(100% - 72px)"},panelWithoutIcons:{height:"calc(100% - 48px)"}};class Cl extends K{resizeTimeout=null;refDiv;constructor(n){super(n);let i;if(this.props.root){const h=(window.location.hash||"").replace(/^#/,"").split("/");if(h.length>=3&&h[1]==="config"){const v=h[3],s=parseInt(v,10);v&&s.toString()===v?s>=0&&s{const n=(window.location.hash||"").replace(/^#/,"").split("/");if(n.length>3&&n[1]==="config"){const i=n[3],h=parseInt(i,10);let v;h.toString()===i?h>=0&&h{this.setState({initialBreakpoint:n})},50),n}return this.state.initialBreakpoint}componentDidUpdate(){var n;!this.state.initialBreakpoint&&((n=this.refDiv.current)!=null&&n.clientWidth)&&this.refDiv.current.clientWidth!==this.state.width&&(this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{var i;this.resizeTimeout=null,this.setState({width:(i=this.refDiv.current)==null?void 0:i.clientWidth})},50))}onMenuChange(n){(window._localStorage||window.localStorage).setItem(`${this.props.dialogName||"App"}.${this.props.oContext.adapterName}`,n),this.setState({tab:n},()=>{if(this.props.root){const i=(window.location.hash||"").split("/");i.length>=3&&i[1]==="config"&&(i[3]=this.state.tab,window.location.hash=i.join("/"))}})}render(){const n=this.props.schema.items;let i=!1;const h=[];Object.keys(n).map(u=>{let d;if(n[u].expertMode&&!this.props.expertMode)return;if(this.props.custom){if(this.executeCustom(n[u].hidden,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.index,this.props.globalData))return;d=this.executeCustom(n[u].disabled,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.index,this.props.globalData)}else{if(this.execute(n[u].hidden,!1,this.props.data,this.props.index,this.props.globalData))return;d=this.execute(n[u].disabled,!1,this.props.data,this.props.index,this.props.globalData)}const a=this.getIcon(n[u].icon);i=i||!!a,h.push({icon:a,disabled:d,label:this.getText(n[u].label),name:u})}),h.find(u=>u.name===this.state.tab)||setTimeout(()=>this.setState({tab:h[0].name}),50);const v=this.getCurrentBreakpoint();let s;return v==="xs"&&h.length>2?s=M.createElement(N.Toolbar,{style:{top:2,backgroundColor:this.props.oContext.themeType==="dark"?"#222":"#DDD"},variant:"dense"},M.createElement(N.IconButton,{onClick:u=>this.setState({openMenu:u.currentTarget})},M.createElement(Z.Menu,null)),this.state.openMenu?M.createElement(N.Menu,{open:!0,anchorEl:this.state.openMenu,onClose:()=>this.setState({openMenu:null})},h.map(u=>M.createElement(N.MenuItem,{disabled:u.disabled,key:u.name,onClick:()=>{this.setState({openMenu:null},()=>this.onMenuChange(u.name))},selected:u.name===this.state.tab},i?M.createElement(N.ListItemIcon,null,u.icon):null,u.label))):null):s=M.createElement(N.Tabs,{variant:"scrollable",scrollButtons:"auto",style:this.props.schema.tabsStyle,value:this.state.tab,onChange:(u,d)=>this.onMenuChange(d)},h.map(u=>M.createElement(N.Tab,{id:u.name,wrapped:!0,disabled:u.disabled,key:u.name,value:u.name,iconPosition:this.props.schema.iconPosition||"start",icon:u.icon,label:u.label}))),M.createElement("div",{style:hn.tabs,ref:this.refDiv},s,M.createElement($t,{oContext:this.props.oContext,withoutSaveButtons:this.props.withoutSaveButtons,isParentTab:!0,changed:this.props.changed,key:this.state.tab,expertMode:this.props.expertMode,index:1001,arrayIndex:this.props.arrayIndex,globalData:this.props.globalData,commandRunning:this.props.commandRunning,style:{...hn.panel,...i?hn.panelWithIcons:hn.panelWithoutIcons},common:this.props.common,alive:this.props.alive,themeName:this.props.themeName,data:this.props.data,originalData:this.props.originalData,onChange:this.props.onChange,onError:this.props.onError,customObj:this.props.customObj,custom:this.props.custom,schema:n[this.state.tab],table:this.props.table,withIcons:i}))}}const El={root:{width:"100%",height:"100%"}};class cn extends pt.Component{forceUpdateHandlers;errorTimeout=null;errorCached=null;oContext;constructor(n){super(n),this.state={originalData:JSON.stringify(this.props.data),changed:!1,errors:{},updateData:this.props.updateData||0,systemConfig:null,alive:!1,commandRunning:!1,schema:JSON.parse(JSON.stringify(this.props.schema))},this.forceUpdateHandlers={},this.buildDependencies(this.state.schema),this.readData()}static getDerivedStateFromProps(n,i){return n.updateData!==i.updateData?{updateData:n.updateData,originalData:JSON.stringify(n.data),schema:JSON.parse(JSON.stringify(n.schema))}:null}static async loadI18n(n,i,h){if(i===!0||i&&typeof i=="string"){const v=j.I18n.getLanguage(),s=typeof i=="string"?i:"i18n";let u=await n.fileExists(`${h}.admin`,`${s}/${v}.json`),d;if(u?d=`${s}/${v}.json`:(u=await n.fileExists(`${h}.admin`,`${s}/${v}/translations.json`),u?d=`${s}/${v}/translations.json`:v!=="en"&&(u=await n.fileExists(`${h}.admin`,`${s}/en.json`),u?d=`${s}/en.json`:(u=await n.fileExists(`${h}.admin`,`${s}/en/translations.json`),u&&(d=`${s}/en/translations.json`)))),d){const a=await n.readFile(`${h}.admin`,d);let p;a.file!==void 0?p=a.file:p=a;try{const e=JSON.parse(p);j.I18n.extendTranslations(e,v)}catch(e){return console.error(`Cannot parse language file "${h}.admin/${d}: ${e}`),""}return d}return console.warn(`Cannot find i18n for ${h} / ${d}`),""}return i&&typeof i=="object"&&j.I18n.extendTranslations(i),""}onCommandRunning=n=>this.setState({commandRunning:n});readData(){this.props.socket.getCompactSystemConfig().then(n=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(i=>this.setState({systemConfig:n.common,alive:!!(i&&i.val)},()=>{this.updateContext(!0),this.props.custom||this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAlive)}))).catch(n=>console.error(`Cannot read system config: ${n}`))}onAlive=(n,i)=>{!!(i!=null&&i.val)!==this.state.alive&&this.setState({alive:!!(i!=null&&i.val)})};onChange=(n,i,h,v)=>{if(this.props.onValueChange)this.props.onValueChange(n,i,v),h&&h();else if(n&&this.props.onChange){const s={changed:JSON.stringify(n)!==this.state.originalData};this.setState(s,()=>{this.props.onChange(n,s.changed,v),h&&h()})}else v&&this.props.onChange(null,null,v)};onError=(n,i)=>{this.errorCached=this.errorCached||JSON.parse(JSON.stringify(this.state.errors));const h=this.errorCached;i?h[n]=i:delete h[n],this.errorTimeout&&clearTimeout(this.errorTimeout),JSON.stringify(h)!==JSON.stringify(this.state.errors)?this.errorTimeout=setTimeout(()=>this.setState({errors:this.errorCached},()=>{this.errorTimeout=null,this.errorCached=null,this.props.onError(!!Object.keys(this.state.errors).length)}),50):this.errorCached=null};flatten(n,i){return i=i||{},n.items&&Object.keys(n.items).forEach(h=>{i[h]=n.items[h],this.flatten(n.items[h],i)}),i}buildDependencies(n){const i=this.flatten(n);Object.keys(i).forEach(h=>{var v,s,u,d,a,p,e,t,r,l;(v=i[h].confirm)!=null&&v.alsoDependsOn&&((s=i[h].confirm)==null||s.alsoDependsOn.forEach(o=>{if(!i[o])console.error(`[JsonConfigComponent] Attribute ${o} does not exist!`),o.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${o.replace(/^data\./,"")}" instead of "${o}"`);else{i[o].confirmDependsOn=i[o].confirmDependsOn||[];const c={...i[h],attr:h};c.confirm&&(c.confirm.cancel="Undo"),i[o].confirmDependsOn.push(c)}})),(u=i[h].onChange)!=null&&u.alsoDependsOn&&((d=i[h].onChange)==null||d.alsoDependsOn.forEach(o=>{if(!i[o])console.error(`[JsonConfigComponent] Attribute ${o} does not exist!`),o.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${o.replace(/^data\./,"")}" instead of "${o}"`);else{i[o].onChangeDependsOn=i[o].onChangeDependsOn||[];const c={...i[h],attr:h};i[o].onChangeDependsOn.push(c)}})),(a=i[h].hidden)!=null&&a.alsoDependsOn&&((p=i[h].hidden)==null||p.alsoDependsOn.forEach(o=>{if(!i[o])console.error(`[JsonConfigComponent] Attribute ${o} does not exist!`),o.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${o.replace(/^data\./,"")}" instead of "${o}"`);else{i[o].hiddenDependsOn=i[o].hiddenDependsOn||[];const c={...i[h],attr:h};i[o].hiddenDependsOn.push(c)}})),(e=i[h].label)!=null&&e.alsoDependsOn&&((t=i[h].label)==null||t.alsoDependsOn.forEach(o=>{if(!i[o])console.error(`[JsonConfigComponent] Attribute ${o} does not exist!`),o.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${o.replace(/^data\./,"")}" instead of "${o}"`);else{i[o].labelDependsOn=i[o].labelDependsOn||[];const c={...i[h],attr:h};i[o].labelDependsOn.push(c)}})),(r=i[h].help)!=null&&r.alsoDependsOn&&((l=i[h].help)==null||l.alsoDependsOn.forEach(o=>{if(!i[o])console.error(`[JsonConfigComponent] Attribute ${o} does not exist!`),o.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${o.replace(/^data\./,"")}" instead of "${o}"`);else{i[o].helpDependsOn=i[o].helpDependsOn||[];const c={...i[h],attr:h};i[o].helpDependsOn.push(c)}}))})}updateContext(n){this.oContext={DeviceManager:this.props.DeviceManager,adapterName:this.props.adapterName,changeLanguage:this.changeLanguage,common:this.props.common,customs:this.props.customs,dateFormat:this.props.dateFormat,embedded:this.props.embedded,forceUpdate:this.forceAttrUpdate,imagePrefix:this.props.imagePrefix,instance:this.props.instance,instanceObj:this.props.instanceObj,isFloatComma:this.props.isFloatComma,multiEdit:this.props.multiEdit,onBackEndCommand:this.props.onBackEndCommand,onCommandRunning:this.onCommandRunning,onValueChange:this.props.onValueChange,registerOnForceUpdate:this.registerOnForceUpdate,socket:this.props.socket,systemConfig:this.state.systemConfig,theme:this.props.theme,themeType:this.props.themeType,_themeName:this.props.themeName,updateData:this.state.updateData},n&&this.forceUpdate()}renderItem(n){return n.type==="tabs"?M.createElement(Cl,{withoutSaveButtons:this.props.withoutSaveButtons,oContext:this.oContext,alive:this.state.alive,changed:this.state.changed,commandRunning:this.state.commandRunning,common:this.props.common,custom:this.props.custom,customObj:this.props.customObj,data:this.props.data,onChange:this.onChange,onError:(i,h)=>this.onError(i,h),originalData:JSON.parse(this.state.originalData),root:!0,schema:n,expertMode:this.props.expertMode,themeName:this.props.themeName}):n.type==="panel"||!n.type?M.createElement($t,{withoutSaveButtons:this.props.withoutSaveButtons,oContext:this.oContext,alive:this.state.alive,changed:this.state.changed,commandRunning:this.state.commandRunning,common:this.props.common,custom:this.props.custom,customObj:this.props.customObj,data:this.props.data,expertMode:this.props.expertMode,index:1e3,isParentTab:!this.props.embedded&&!this.props.withoutSaveButtons,onChange:this.onChange,onError:(i,h)=>this.onError(i,h),originalData:JSON.parse(this.state.originalData),root:!0,schema:n,themeName:this.props.themeName}):(console.error(`Unknown item type in root: ${JSON.stringify(n)}`),null)}changeLanguage=()=>{this.forceUpdate()};forceAttrUpdate=(n,i)=>{Array.isArray(n)?n.forEach(h=>this.forceUpdateHandlers[h]&&this.forceUpdateHandlers[h](i)):this.forceUpdateHandlers[n]&&this.forceUpdateHandlers[n](i)};registerOnForceUpdate=(n,i)=>{i?this.forceUpdateHandlers[n]=i:this.forceUpdateHandlers[n]&&delete this.forceUpdateHandlers[n]};render(){return!this.state.systemConfig||!this.oContext?M.createElement(N.LinearProgress,null):(this.oContext._themeName!==this.props.themeName&&(this.oContext._themeName=this.props.themeName,setTimeout(()=>this.updateContext(!0),0)),M.createElement("div",{style:{...!this.props.embedded||this.props.withoutSaveButtons?El.root:void 0,...this.props.style,...this.state.schema.style}},this.renderItem(this.state.schema)))}}const Et={root:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},scroll:{height:"calc(100% - 48px)",overflowY:"auto"},exportImportButtons:{position:"absolute",top:5,right:0,zIndex:3},button:{marginRight:"5px"},tooltip:{pointerEvents:"none"}};function Sl(L,n){let i="";for(let h=0;h{const v=document.createElement("script");v.setAttribute("id",n),v.onload=h,v.src=L,document.getElementsByTagName("head")[0].appendChild(v)})}let $l=class extends j.Router{fileSubscribed=[];fileLangSubscribed="";secret;constructor(n){super(n),this.state={updateData:0,changed:!1,confirmDialog:!1,theme:j.Theme(n.themeName),saveConfigDialog:!1,hash:"_"},this.secret=n.secret||"",this.getInstanceObject().then(i=>this.getConfigFile().then(h=>cn.loadI18n(this.props.socket,h==null?void 0:h.i18n,this.props.adapterName).then(v=>{v&&(this.fileLangSubscribed||(this.fileLangSubscribed=v,this.props.socket.subscribeFiles(`${this.props.adapterName}.admin`,this.fileLangSubscribed,this.onFileChange))),i?this.setState({schema:h,data:i.native,common:i.common,hash:pi(JSON.stringify(h)).toString()}):window.alert(`Instance system.adapter.${this.props.adapterName}.${this.props.instance} not found!`)})))}componentWillUnmount(){super.componentWillUnmount(),this.fileSubscribed.length&&(this.props.socket.unsubscribeFiles(`${this.props.adapterName}.admin`,this.fileSubscribed,this.onFileChange),this.fileSubscribed=[]),this.fileLangSubscribed&&(this.props.socket.unsubscribeFiles(`${this.props.adapterName}.admin`,this.fileLangSubscribed,this.onFileChange),this.fileLangSubscribed="")}handleFileSelect=n=>{const i=n.target.files[0];if(i){const h=new FileReader;h.onload=v=>{if(!v.target)return;const s=v.target.result;try{const u=JSON.parse(s);this.setState({data:u,changed:JSON.stringify(u)!==JSON.stringify(this.state.originalData)})}catch{window.alert(j.I18n.t("[JsonConfig] Failed to parse JSON file"))}},h.readAsText(i)}else window.alert(j.I18n.t("[JsonConfig] Failed to open JSON File"))};getExportImportButtons(){return M.createElement("div",{style:Et.exportImportButtons},M.createElement(N.Tooltip,{title:this.props.t("Import settings from JSON file"),slotProps:{popper:{sx:Et.tooltip}}},M.createElement(N.Fab,{size:"small",sx:{"&.MuiFab-root":Et.button},onClick:()=>{const n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("id","files"),n.setAttribute("opacity",0),n.addEventListener("change",i=>this.handleFileSelect(i),!1),n.click()}},M.createElement(Z.Publish,null))),M.createElement(N.Tooltip,{title:this.props.t("Export setting to JSON file"),slotProps:{popper:{sx:Et.tooltip}}},M.createElement(N.Fab,{size:"small",sx:{"&.MuiFab-root":Et.button},onClick:()=>{this.state.data&&j.Utils.generateFile(`${this.props.adapterName}.${this.props.instance}.json`,this.state.data)}},M.createElement(Z.Publish,{style:{transform:"rotate(180deg)"}}))))}onFileChange=async(n,i,h)=>{var v;if(n===`${this.props.adapterName}.admin`&&h){if(i===this.fileLangSubscribed)try{await cn.loadI18n(this.props.socket,(v=this.state.schema)==null?void 0:v.i18n,this.props.adapterName),this.setState({hash:`${this.state.hash}1`})}catch{}else if(this.fileSubscribed.includes(i))try{const s=await this.getConfigFile(this.fileSubscribed[0]);this.setState({schema:s,hash:pi(JSON.stringify(s)).toString()})}catch{}}};async getInstanceObject(){var n;try{const i=await this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`);if(Array.isArray(i.encryptedNative)){if(!this.secret){const h=await this.props.socket.getSystemConfig();await Bi("../../lib/js/crypto-js/crypto-js.js","crypto-js"),this.secret=h.native.secret}return(n=i.encryptedNative)==null||n.forEach(h=>{i.native[h]&&(i.native[h]=Al(this.secret,i.native[h]))}),i}return i}catch(i){window.alert(`[JsonConfig] Cannot read instance object: ${i}`)}return null}renderDialogConfirm(){return this.state.confirmDialog?M.createElement(j.DialogConfirm,{title:j.I18n.t("ra_Please confirm"),text:j.I18n.t("ra_Some data are not stored. Discard?"),ok:j.I18n.t("ra_Discard"),cancel:j.I18n.t("ra_Cancel"),onClose:n=>this.setState({confirmDialog:!1},()=>n&&j.Router.doNavigate(null))}):null}async scanForInclude(n,i){if(typeof n["#include"]=="string"){const v=await this._getConfigFile(n["#include"],[...i]);return delete n["#include"],v&&(n={...n,...v}),n}const h=Object.keys(n);for(let v=0;v ${i.join(" => ")}`),null;i.push(n);try{await this.props.socket.fileExists(`${this.props.adapterName}.admin`,n)||(n="jsonConfig.json");const v=await this.props.socket.readFile(`${this.props.adapterName}.admin`,n);let s="",u="";if(v.file!==void 0&&(u=v.file),typeof u=="string")s=u;else if(u.type==="Buffer"){let d="";const a=new Uint8Array(u.data),p=a.byteLength;for(let e=0;ethis.setState({saveConfigDialog:!1},()=>n&&this.onSave(!0))}):null}findAttr(n,i){if(i=i||this.state.schema,i!=null&&i.items){if(n in i.items)return i.items[n];for(const h of Object.values(i.items)){const v=this.findAttr(n,h);if(v)return v}}return null}postProcessing(n,i,h){if(h=h||this.state.schema,!n){console.error(`Data is empty in postProcessing: ${i}, ${JSON.stringify(h)}`);return}const v=n[i];if(h.items)if(h.type==="table"){const s=v;if(!Array.isArray(s))return;for(const u of s)for(const d of h.items)this.postProcessing(u,d.attr,d)}else for(const[s,u]of Object.entries(h.items)){if(u.type==="panel"||u.type==="tabs"||u.type==="accordion")return;this.postProcessing(n,s,u)}else if(i&&typeof v=="string")if(h.type==="text")h.trim!==!1&&(n[i]=v.trim());else if(h.type==="ip")n[i]=v.trim();else if(h.type==="number"){const s=parseFloat(v.toString().replace(",","."));h.min!==void 0&&sh.max?n[i]=h.max:n[i]=s}else if(h.type==="port"){const s=parseInt(v.toString(),10);h.min!==void 0&&sh.max&&(n[i]=h.max),n[i]!==0&&s<20?n[i]=20:s>65535?n[i]=65535:n[i]=s}else h.type==="checkbox"&&(n[i]=n[i]===!0||n[i]==="true"||n[i]==="on"||n[i]===1||n[i]==="1")}async onSave(n,i){if(n){const h=await this.getInstanceObject();if(!h){console.error("Something went wrong: may be no connection?"),window.alert("Something went wrong: may be no connection?");return}if(!this.state.data||!this.state.schema)return;const v={};for(const u of Object.keys(this.state.data)){const d=this.findAttr(u);(!d||!d.doNotSave||d.type==="state")&&!u.startsWith("_")?K.setValue(h.native,u,this.state.data[u]):(K.setValue(h.native,u,null),v[u]=this.state.data[u])}try{const u=JSON.parse(JSON.stringify(h));if(Array.isArray(u.encryptedNative)){await Bi("../../lib/js/crypto-js/crypto-js.js","crypto-js");for(const d of u.encryptedNative)u.native[d]&&(u.native[d]=xl(this.secret,u.native[d]))}await this.props.socket.setObject(u._id,u)}catch(u){window.alert(`[JsonConfig] Cannot set object: ${u}`)}const s={...h.native,...v};console.log(s),this.setState({changed:!1,data:s,updateData:this.state.updateData+1,originalData:s},()=>i&&j.Router.doNavigate(null))}else this.state.changed?this.setState({confirmDialog:!0}):j.Router.doNavigate(null)}componentDidUpdate(n,i){i.changed!==this.state.changed&&this.props.configStored(!this.state.changed)}async componentDidMount(){const n=`${window.location.protocol}//${window.location.host}${window.location.pathname}validate_config/${this.props.adapterName}`;console.log(`fetch ${n}`),await fetch(n)}render(){return!this.state.data||!this.state.schema?M.createElement(N.LinearProgress,null):M.createElement("div",{style:Et.root},this.renderDialogConfirm(),this.getExportImportButtons(),this.renderSaveConfigDialog(),M.createElement(cn,{key:this.state.hash,style:Et.scroll,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,adapterName:this.props.adapterName,instance:this.props.instance,isFloatComma:this.props.isFloatComma,dateFormat:this.props.dateFormat,schema:this.state.schema,common:this.state.common,expertMode:this.props.expertMode,data:this.state.data,updateData:this.state.updateData,onError:n=>this.setState({error:n}),onChange:(n,i,h)=>{h&&this.state.error&&(window.alert(j.I18n.t("Cannot save configuration because of error in configuration")),h=!1),h&&!this.state.changed&&!i&&(h=!1),n?this.setState({data:n,changed:i,saveConfigDialog:h}):h!==void 0&&this.setState({saveConfigDialog:h})},DeviceManager:this.props.DeviceManager,theme:this.state.theme}),M.createElement(j.SaveCloseButtons,{isIFrame:!1,dense:!0,paddingLeft:0,newReact:!0,theme:this.state.theme,noTextOnButtons:this.props.width==="xs"||this.props.width==="sm"||this.props.width==="md",changed:!!(this.state.error||this.state.changed),error:!!this.state.error,onSave:n=>this.onSave(!0,n),onClose:()=>this.onSave(!1)}))}};export{K as ConfigGeneric,$t as ConfigPanel,$l as JsonConfig,cn as JsonConfigComponent}; diff --git a/admin/custom/assets/index-hlyxqX-8.js b/admin/custom/assets/index-CEFrj8jA.js similarity index 66% rename from admin/custom/assets/index-hlyxqX-8.js rename to admin/custom/assets/index-CEFrj8jA.js index 40c189b12..592658e38 100644 --- a/admin/custom/assets/index-hlyxqX-8.js +++ b/admin/custom/assets/index-CEFrj8jA.js @@ -1,25 +1,25 @@ -import{w as _e,u as cr,l as ur,a as Nr}from"./createTheme-BwMO3rTt.js";import{C as b,R as a}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js";import{C as g}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BlV79j8y.js";import{C as m,a as tc,D as un,u as sc}from"./index-B8sZ2j0S.js";import{g as ic}from"./_commonjsHelpers-D6-XlEtG.js";import{u as oc}from"./useTheme-CDtRWagv.js";import"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js";import"./useTheme-MELayQMj.js";import"./useThemeWithoutDefault-C-hl_s0Z.js";import"./defaultTheme-avbtL0lf.js";const Ai=11/23/100;function lr(i){const e={r:0,g:0,b:0};if(i.length===7)e.r=parseInt(i.substring(1,3),16),e.g=parseInt(i.substring(3,5),16),e.b=parseInt(i.substring(5,7),16);else if(i.length===4){const t=i[1],s=i[2],o=i[3];e.r=parseInt(t+t,16),e.g=parseInt(s+s,16),e.b=parseInt(o+o,16)}return e}function rc(i){return`#${Math.round(i.r).toString(16)}${Math.round(i.g).toString(16)}${Math.round(i.b).toString(16)}`}function Mc(i,e,t){const s=lr(i),o=lr(e);return s.r+=o.r*(.05+Ai*(t-1)),s.g+=o.g*(.05+Ai*(t-1)),s.b+=o.b*(.05+Ai*(t-1)),rc(s)}function Lr(i,e){const t={};for(let s=1;s<=24;s++)t[`elevation${s}`]={backgroundColor:Mc(i,e,s)};return t}function nc(i,e){var M,n,u,N,l,c,L,j,T,D,z;let t,s;i==="dark"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[200],"&:hover":{color:_e[100]}}},MuiPaper:Lr("#121212","#fff")},t={name:i,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):i==="blue"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[400],"&:hover":{color:_e[300]}}}},t={name:i,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):i==="colored"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[200],"&:hover":{color:_e[100]}}},MuiPaper:Lr("#151d21","#fff")},t={name:i,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):i==="PT"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[400],"&:hover":{color:_e[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):i==="DX"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#a9a9a9"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[400],"&:hover":{color:_e[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#F5F5F7"},secondary:{main:"#a9a9a9"},expert:"#BD1B24",text:{primary:"#007AFE",secondary:"#007AFE",disabled:"#007AFEAA"}}}):(s={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[400],"&:hover":{color:_e[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),t.toolbar={height:48},t.saveToolbar={background:(n=(M=t.palette)==null?void 0:M.primary)==null?void 0:n.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:cr[300],dark:cr[400]});const o=ur(t),r=o.palette;return ur(o,{...e||void 0,components:{...s,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(u=r.grey)==null?void 0:u[300],color:r.getContrastText&&((N=r.grey)!=null&&N[300])?r.getContrastText(r.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(l=r.text)==null?void 0:l.primary,borderColor:r.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(c=r.action)==null?void 0:c.disabledBackground}`},"&:hover":{borderColor:r.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:Nr(((L=r.text)==null?void 0:L.primary)||"",((j=r.action)==null?void 0:j.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(T=r.text)==null?void 0:T.primary,"&:hover":{backgroundColor:Nr(((D=r.text)==null?void 0:D.primary)||"",((z=r.action)==null?void 0:z.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function ac(){let i,e;const t=new Promise((s,o)=>{i=s,e=o});return t.resolve=i,t.reject=e,t}function Hi(i){return(i==null?void 0:i.rows.map(e=>e.value).filter(e=>!!e))??[]}function Ke(i){return i!=null&&i.startsWith("system.host.")||(i=`system.host.${i}`),i}function Ms(i){return i!=null&&i.startsWith("system.host.")&&(i=i.substring(12)),i}function jr(i){return new Promise(e=>{setTimeout(e,i)})}function xs(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}var Re;(function(i){i[i.CONNECTING=0]="CONNECTING",i[i.CONNECTED=1]="CONNECTED",i[i.OBJECTS_LOADED=2]="OBJECTS_LOADED",i[i.READY=3]="READY"})(Re||(Re={}));var ye;(function(i){i.PERMISSION_ERROR="permissionError",i.NOT_CONNECTED="notConnectedError",i.TIMEOUT="timeout",i.NOT_ADMIN="Allowed only in admin",i.NOT_SUPPORTED="Not supported"})(ye||(ye={}));const t4e=ye.PERMISSION_ERROR;ye.NOT_CONNECTED;const cc=["material","echarts","vis"];class je{constructor(e){this.props=this.applyDefaultProps(e),this.connId=`${this.props.name?`${this.props.name}-`:""}${Math.round(Math.random()*1e6).toString().padStart(6,"0")}`,this.waitForSocketLib().then(()=>this.startSocket()).catch(t=>{alert(`Socket connection could not be initialized: ${t}`)})}applyDefaultProps(e){return{...e,protocol:e.protocol||window.location.protocol,host:e.host||window.location.hostname,port:e.port||(window.location.port==="3000"?8081:window.location.port),ioTimeout:Math.max(e.ioTimeout||2e4,2e4),cmdTimeout:Math.max(e.cmdTimeout||5e3,5e3),admin5only:e.admin5only||!1,autoSubscribes:e.autoSubscribes??[],autoSubscribeLog:e.autoSubscribeLog??!1,doNotLoadACL:e.doNotLoadACL??!0,doNotLoadAllObjects:e.doNotLoadAllObjects??!0}}props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};statesSubscribes={};filesSubscribes={};objectsSubscribes={};objects={};states={};acl=null;isSecure=!1;onReadyDone=!1;onConnectionHandlers=[];onLogHandlers=[];onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;onError(e){(this.props.onError??console.error)(e)}_socket;_waitForSocketPromise;_waitForFirstConnectionPromise=ac();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return window.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(typeof window.io>"u"&&typeof window.iob>"u")if(typeof window.registerSocketOnLoad=="function")window.registerSocketOnLoad(()=>e());else{for(let s=1;s<=30;s++){if(window.io||window.iob)return e();await jr(100)}t(new Error("Socket library could not be loaded!"))}else e()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let e=this.props.host,t=this.props.port,s=(this.props.protocol||window.location.protocol).replace(":",""),o=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")o="";else{if(window.socketUrl){const n=new URL(window.socketUrl);e=n.hostname,t=n.port,s=n.protocol.replace(":","")}const M=o.lastIndexOf("/");if(M!==-1&&(o=o.substring(0,M+1)),je.isWeb()){const n=o.split("/");n.length>2&&(n.pop(),n.pop(),cc.includes(n[n.length-1])&&n.pop(),o=n.join("/"),o.endsWith("/")||(o+="/"))}}const r=t?`${s}://${e}:${t}`:`${s}://${e}`;return this._socket=(window.io||window.iob).connect(r,{path:o.endsWith("/")?`${o}socket.io`:`${o}/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",M=>{window.addEventListener("storage",this.onAccessTokenUpdated);const n=je.readTokens();if(n&&!n.owner){const u=Date.now();this.saveTokens({access_token:n.access_token,refresh_token:n.refresh_token,expires_in:Math.round((n.expires_in.getTime()-u)/1e3),refresh_token_expires_in:Math.round((n.refresh_token_expires_in.getTime()-u)/1e3),token_type:"Bearer"},n.stayLoggedIn)}this.onReadyDone=!1,M!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(u=>{const[N,l,c]=u.version.split(".");parseInt(N,10)*1e4+parseInt(l,10)*100+parseInt(c,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(j,T)=>this.onPreConnect(j,T))}).catch(u=>this.onError({message:u.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(u,N)=>{this.onPreConnect(u,N)})}),this._socket.on("reconnect",()=>{var M,n;this.onReadyDone=!1,(n=(M=this.props).onProgress)==null||n.call(M,Re.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(u=>u(!0)))}),this._socket.on("disconnect",()=>{var M,n;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(n=(M=this.props).onProgress)==null||n.call(M,Re.CONNECTING),this.onConnectionHandlers.forEach(u=>u(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",M=>{var n,u;(u=(n=this.props).onLog)==null||u.call(n,M),this.onLogHandlers.forEach(N=>N(M))}),this._socket.on("error",M=>{let n;M==null?n="":typeof M.toString=="function"?n=M.toString():(n=JSON.stringify(M),console.error(`Received strange error: ${n}`)),n.includes("User not authorized")?this.authenticate():n.includes("websocket error")?(console.error(`Socket Error => reload: ${M}`),window.location.reload()):console.error(`Socket Error: ${M}`)}),this._socket.on("connect_error",M=>console.error(`Connect error: ${M}`)),this._socket.on("permissionError",M=>this.onError({message:"no permission",operation:M.operation,type:M.type,id:M.id||""})),this._socket.on("objectChange",(M,n)=>{setTimeout(()=>this.objectChange(M,n),0)}),this._socket.on("stateChange",(M,n)=>{setTimeout(()=>this.stateChange(M,n),0)}),this._socket.on("im",(M,n,u)=>{setTimeout(()=>this.instanceMessage(M,n,u),0)}),this._socket.on("fileChange",(M,n,u)=>{setTimeout(()=>this.fileChange(M,n,u),0)}),this._socket.on("cmdStdout",(M,n)=>{var u;(u=this.onCmdStdoutHandler)==null||u.call(this,M,n)}),this._socket.on("cmdStderr",(M,n)=>{var u;(u=this.onCmdStderrHandler)==null||u.call(this,M,n)}),this._socket.on("cmdExit",(M,n)=>{var u;(u=this.onCmdExitHandler)==null||u.call(this,M,n)}),Promise.resolve()}onPreConnect(e,t){var s,o;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?this.loadData().catch(r=>console.error(`Cannot load data: ${r}`)):(o=(s=this.props).onProgress)==null||o.call(s,Re.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(r=>r(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=window.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=window.localStorage.getItem("iob_tokens")),!e)return null;const[s,o,r,M,n]=e.split(";"),u=new Date(o);return u.getTime(){if(e.key==="iob_tokens"){const t=je.readTokens();t&&(console.log(`Tab ${this.connId} received updated token: ${t.access_token}`),this.updateTokenExpiration(t.access_token))}};updateTokenExpiration(e){this.lastAccessToken!==e&&(this.lastAccessToken=e,this._socket.emit("updateTokenExpiration",e,(t,s)=>{t?(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token: ${t}`),window.location.reload()):s?console.log(`[UPDATE/${new Date().toISOString()}] server accepted new token: ${e}`):(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token`),window.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>window.location.reload(),500);return}t||!e.owner||e.owner===this.connId?(console.log(`[REFRESH/${new Date().toISOString()}] claim ownership of the token`),this.acquireTokenLock()?(console.log(`[REFRESH/${new Date().toISOString()}] refreshing token`),fetch("./oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`grant_type=refresh_token&refresh_token=${e.refresh_token}&client_id=ioBroker&stayloggedin=${e.stayLoggedIn}`}).then(s=>{if(s.ok)return s.json();throw new Error("Cannot refresh access token")}).then(s=>{if(s.access_token)console.log(`[REFRESH/${new Date().toISOString()}] received new token: ${s.access_token}`),this.saveTokens(s,e.stayLoggedIn),this.releaseTokenLock(),this.updateTokenExpiration(s.access_token);else throw new Error("Cannot get access token")}).catch(s=>{console.warn(`[REFRESH/${new Date().toISOString()}] cannot refresh token: ${s}`),this.releaseTokenLock(),this.deleteTokens(e.stayLoggedIn),console.error(s),window.location.reload()})):(console.log(`[REFRESH/${new Date().toISOString()}] Someone else is updating the token, so wait for the next check`),this.checkAccessTokenExpire())):this.lastAccessToken!==e.access_token&&this.updateTokenExpiration(e.access_token)}acquireTokenLock(){const e=Date.now(),t=localStorage.getItem("iob_token_semaphore");if(t)try{const o=JSON.parse(t);if(e{o?(console.log(`[TOKEN/${new Date().toISOString()}] Token will be prolonged`),this.refreshTokens(e,s)):(console.log(`[TOKEN/${new Date().toISOString()}] Token will not be prolonged. Reloading the page`),setTimeout(()=>window.location.reload(),Date.now()>t?500:t-Date.now()))})):(console.log(`[TOKEN/${new Date().toISOString()}] No tokenTimeoutHandler defined. Prolonging the token`),this.refreshTokens(e,s))):this.lastAccessToken!==e.access_token?(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token, but we will inform the server about new token`),this.refreshTokens(e)):(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token and the token did not change. Check in 3 seconds if the owner updated the token`),this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},3e3)):(console.log(`[TOKEN/${new Date().toISOString()}] We do not have a refresh token, so we need to reauthenticate`),setTimeout(()=>window.location.reload(),Date.now()>t?500:t-Date.now()))}else this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},t-Date.now()-3e4>12e4?12e4:t-Date.now()-3e4)}}}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!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:(e,t)=>{this._socket.emit("getUserPermissions",(s,o)=>{s?t(s):e(o||null)})}})}async loadData(){if(this.loaded)return;const e=10;for(let t=1;t<=e;t++){if(this.doLoadData().catch(s=>console.error(`Cannot load data: ${s}`)),this.loaded)return;await jr(je.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,s,o,r,M,n,u,N;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(l){this.onError(`Cannot read user permissions: ${l}`);return}try{this.props.admin5only&&!je.isWeb()&&(!window.vendorPrefix||window.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(l){this.onError(`Cannot read system config: ${l}`);return}this._systemConfig&&(this.systemLang=(e=this._systemConfig.common)==null?void 0:e.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)),(s=(t=this.props).onLanguage)==null||s.call(t,this.systemLang),this.loaded=!0,(r=(o=this.props).onProgress)==null||r.call(o,Re.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(n=(M=this.props).onProgress)==null||n.call(M,Re.READY),this.onReadyDone||(this.onReadyDone=!0,(N=(u=this.props).onReady)==null||N.call(u,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.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${encodeURIComponent(window.location.search+window.location.hash)}`}async subscribeState(...e){let t,s,o;e.length===3?[t,s,o]=e:([t,o]=e,s=!1);let r;if(Array.isArray(t)?r=t:r=[t],typeof o!="function")throw new Error("The state change handler must be a function!");const M=[];for(let n=0;nn.includes("*"))){let n;for(let u=0;uconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const n=await(je.isWeb()?this.getStates(r):this.getForeignStates(r));if(n)for(const[u,N]of Object.entries(n)){const l=o(u,N);l instanceof Promise&&l.catch(c=>console.error(`Cannot call state change handler: ${c}`))}}catch(n){console.error(`Cannot getState "${r.join(", ")}": ${n.message}`);return}}async subscribeStateAsync(e,t){return this.subscribeState(e,t)}unsubscribeState(e,t){var r;let s;Array.isArray(e)?s=e:s=[e];const o=[];for(let M=0;M{try{const l=N(e,t,s);l instanceof Promise&&l.catch(c=>console.error(`Cannot call object change handler: ${c}`))}catch(l){console.error(`Error by callback of objectChange: ${l}`)}});if(o){const n=(M=(r=this.props).onObjectChange)==null?void 0:M.call(r,e,t);n instanceof Promise&&n.catch(u=>console.error(`Cannot call object change handler: ${u}`))}}stateChange(e,t){for(const s of Object.values(this.statesSubscribes))if(s.reg.test(e))for(const o of s.cbs)try{const r=o(e,t??null);r instanceof Promise&&r.catch(M=>console.error(`Cannot call state change handler: ${M}`))}catch(r){console.error(`Error by callback of stateChanged: ${r}`)}}instanceMessage(e,t,s){var o;(o=this._instanceSubscriptions[t])==null||o.forEach(r=>{if(r.messageType===e){const M=r.callback(s,t,e);M instanceof Promise&&M.catch(n=>console.error(`Cannot call instance message handler: ${n}`))}})}fileChange(e,t,s){for(const o of Object.values(this.filesSubscribes))if(o.regId.test(e)&&o.regFilePattern.test(t))for(const r of o.cbs)try{r(e,t,s)}catch(M){console.error(`Error by callback of fileChange: ${M}`)}}async subscribeFiles(e,t,s){if(typeof s!="function")throw new Error("The state change handler must be a function!");let o;Array.isArray(t)?o=t:o=[t];const r=[];for(let M=0;M{const c={elapsed:!1,clearTimeout:()=>{}};let L;s!==!1&&(L=setTimeout(()=>{c.elapsed=!0,o==null||o(),e&&this._promises[e]instanceof Promise&&delete this._promises[e],l(new Error(ye.TIMEOUT))},s??this.props.cmdTimeout),c.clearTimeout=()=>{clearTimeout(L)});try{await n(N,l,c)}catch(j){e&&this._promises[e]instanceof Promise&&delete this._promises[e],l(new Error(j.toString()))}});return e&&(this._promises[e]=u),u}resetCache(e,t){t?Object.keys(this._promises).filter(s=>s.startsWith(e)).forEach(s=>{delete this._promises[s]}):delete this._promises[e]}getStates(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getStates",e,(o,r)=>{this.states=r??{},o?s(o):t(this.states)})}})}getState(e){return this.request({commandTimeout:!1,executor:(t,s)=>{if(e&&e===this.ignoreState){t(this.simStates[e]||{val:null,ack:!0});return}this._socket.emit("getState",e,(o,r)=>{o?s(o):t(r)})}})}getBinaryState(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getBinaryState",e,(o,r)=>{o?s(o):t(r)})}})}setBinaryState(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("setBinaryState",e,t,r=>{r?o(r):s()})}})}setState(e,t,s){return typeof s=="boolean"&&(t={val:t,ack:s}),this.request({commandTimeout:!1,executor:(o,r)=>{if(e&&e===this.ignoreState){let M;if(typeof s=="boolean"||typeof t=="object"&&t.val!==void 0?M=t:M={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=M,this.statesSubscribes[e])for(const n of this.statesSubscribes[e].cbs)try{const u=n(e,M);u instanceof Promise&&u.catch(N=>console.error(`Cannot call state change handler: ${N}`))}catch(u){console.error(`Error by callback of stateChanged: ${u}`)}o();return}this._socket.emit("setState",e,t,M=>{M?r(M):o()})}})}getObjects(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{if(!e&&this.objects){s(this.objects);return}this._socket.emit(je.isWeb()?"getObjects":"getAllObjects",(r,M)=>{var n,u;t||(u=(n=this.props).onProgress)==null||u.call(n,Re.OBJECTS_LOADED),r?o(r):(this.objects=M??{},s(this.objects))})}})}getObjectsById(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjects",e,(o,r)=>{o?s(o):t(r)})}})}_subscribe(e){var t,s;if(e&&!this.subscribed){this.subscribed=!0,(t=this.props.autoSubscribes)!=null&&t.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);const o=Object.keys(this.objectsSubscribes);o.length&&this._socket.emit("subscribeObjects",o),Object.keys(this.objectsSubscribes).forEach(r=>this._socket.emit("subscribeObjects",r)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(r=>this._socket.emit("subscribe",r)),Object.keys(this.filesSubscribes).forEach(r=>{const[M,n]=r.split("$%$");this._socket.emit("subscribeFiles",M,n)})}else if(!e&&this.subscribed){this.subscribed=!1,(s=this.props.autoSubscribes)!=null&&s.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);const o=Object.keys(this.objectsSubscribes);o.length&&this._socket.emit("unsubscribeObjects",o),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(r=>this._socket.emit("unsubscribe",r)),Object.keys(this.filesSubscribes).forEach(r=>{const[M,n]=r.split("$%$");this._socket.emit("unsubscribeFiles",M,n)})}}requireLog(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("requireLog",e,o=>{o?s(o):t()})}})}delObject(e,t=!1){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("delObject",e,{maintenance:t},r=>{r?o(r):s()})}})}delObjects(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("delObjects",e,{maintenance:t},r=>{r?o(r):s()})}})}setObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("setObject",e,t,r=>{r?o(r):s()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(e){return this.request({commandTimeout:!1,executor:(t,s)=>{if(e&&e===this.ignoreState){t({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",e,(o,r)=>{o?s(o):t(r)})}})}sendTo(e,t,s){return this.request({commandTimeout:!1,executor:o=>{this._socket.emit("sendTo",e,t,s,r=>{o(r)})}})}extendObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("extendObject",e,t,r=>{r?o(r):s()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(e){this.onLogHandlers.includes(e)||this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){this.onConnectionHandlers.includes(e)||this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return this.request({cacheKey:`enums_${e||"all"}`,forceUpdate:t,commandTimeout:!1,executor:(s,o)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:e?`enum.${e}.香`:"enum.香"},(r,M)=>{if(r)o(r);else{const n={};if(M)for(let u=0;u{s=s||"",o=o||"香",this._socket.emit("getObjectView",e,t,{startkey:s,endkey:o},(n,u)=>{if(n)M(n);else{const N={};if(u&&u.rows)for(let l=0;l{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(s,o)=>{var r;s?t(s):e((r=o.rows)==null?void 0:r.map(M=>M.value).filter(M=>!!M))})}})}readDir(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("readDir",e,t,(r,M)=>{r?o(r):s(M)})}})}readFile(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit(s?"readFile64":"readFile",e,t,(M,n,u)=>{M?r(M):o({file:n,mimeType:u})})}})}writeFile64(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{if(typeof s=="string")this._socket.emit("writeFile",e,t,s,M=>{M?r(M):o()});else{const M=btoa(new Uint8Array(s).reduce((n,u)=>n+String.fromCharCode(u),""));this._socket.emit("writeFile64",e,t,M,n=>{n?r(n):o()})}}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("deleteFile",e,t,r=>{r?o(r):s()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("deleteFolder",e,t,r=>{r?o(r):s()})}})}rename(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("rename",e,t,s,M=>{M?r(M):o()})}})}renameFile(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("renameFile",e,t,s,M=>{M?r(M):o()})}})}cmdExec(e,t,s,o){return this.request({commandTimeout:o,executor:(r,M,n)=>{e=Ke(e),this._socket.emit("cmdExec",e,s,t,u=>{n.elapsed||(n.clearTimeout(),u?M(u):r())})}})}getSystemConfig(e){return this.request({cacheKey:"systemConfig",forceUpdate:e,commandTimeout:!1,executor:async t=>{let s=await this.getObject("system.config");s??={},s.common??={},s.native??={},t(s)}})}getCompactSystemConfig(e){return this.request({cacheKey:"systemConfigCommon",forceUpdate:e,commandTimeout:!1,requireAdmin:!0,executor:(t,s)=>{this._socket.emit("getCompactSystemConfig",(o,r)=>{o?s(o):(r??={},r.common??={},r.native??={},t(r))})}})}getForeignStates(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getForeignStates",e||"*",(o,r)=>{o?s(o):t(r??{})})}})}getForeignObjects(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("getForeignObjects",e||"*",t,(r,M)=>{r?o(r):s(M)})}})}setSystemConfig(e){return this.setObject("system.config",e)}getRawSocket(){return this._socket}getHistory(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("getHistory",e,t,(r,M)=>{r?o(r):s(M)})}})}getHistoryEx(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("getHistory",e,t,(r,M,n,u)=>{r?o(r):s({values:M,sessionId:u,step:n})})}})}getIpAddresses(e,t){return e=Ke(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const o=await this.getObject(e);s((o==null?void 0:o.common.address)??[])}})}getVersion(e){return this.request({cacheKey:"version",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getVersion",(o,r,M)=>{o&&!r&&typeof o=="string"&&o.match(/\d+\.\d+\.\d+/)?t({version:o,serverName:"socketio"}):o?s(o):t({version:r,serverName:M})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getAdapterName",(s,o)=>{s?t(s):e(o)})}})}fileExists(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("fileExists",e,t,(r,M)=>{r?o(r):s(!!M)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:e=>{this._socket.emit("authEnabled",(t,s)=>{e(s)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async e=>{var s;const t=await this.getObject("system.meta.uuid");e((s=t==null?void 0:t.native)==null?void 0:s.uuid)}})}checkFeatureSupported(e,t){return this.request({cacheKey:`supportedFeatures_${e}`,forceUpdate:t,commandTimeout:!1,executor:(s,o)=>{this._socket.emit("checkFeatureSupported",e,(r,M)=>{r?o(r):s(M)})}})}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e=e||"",this.request({cacheKey:`instances_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const o=e?`system.adapter.${e}.`:"system.adapter.",r=`${o}香`,M=await this.getObjectViewSystem("instance",o,r),n=Object.values(M);s(e?n.filter(u=>u.common.name===e):n)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=e,e=""),e=e||"",this.request({cacheKey:`adapter_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const o=await this.getObjectViewSystem("adapter",`system.adapter.${e||""}`,`system.adapter.${e||"香"}`),r=Object.values(o);s(e?r.filter(M=>M.common.name===e):r)}})}getGroups(e){return this.request({cacheKey:"groups",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(o,r)=>{o?s(o):t(Hi(r))})}})}logout(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("logout",s=>{s?t(s):e(null)})}})}subscribeOnInstance(e,t,s,o){return this.request({commandTimeout:!1,executor:(r,M)=>{this._socket.emit("clientSubscribe",e,t,s,(n,u)=>{n?M(n):u&&(u.error?M(u.error):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]=this._instanceSubscriptions[e]||[],this._instanceSubscriptions[e].find(N=>N.messageType===t&&N.callback===o)||this._instanceSubscriptions[e].push({messageType:t,callback:o}),r(u)))})}})}unsubscribeFromInstance(e,t,s){var M;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let o;const r=[];do{o=!1;const n=(M=this._instanceSubscriptions[e])==null?void 0:M.findIndex(u=>(!t||u.messageType===t)&&(!s||u.callback===s));if(n!=null&&n!==-1){o=!0;const u=this._instanceSubscriptions[e][n].messageType;this._instanceSubscriptions[e].splice(n,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(l=>l.messageType===u)||r.push(this.request({commandTimeout:!1,executor:(l,c)=>{this._socket.emit("clientUnsubscribe",e,t,(L,j)=>L?c(L):l(j))}}))}}while(o&&(!s||!t));return r.length?Promise.all(r).then(n=>!!n.find(u=>u)):Promise.resolve(!1)}log(e,t){return e?this.request({commandTimeout:!1,executor:s=>(this._socket.emit("log",e,t),s(null))}):Promise.resolve(null)}setStateToIgnore(e){this.ignoreState=e}}function uc(i,e){if(!e)return;let t;if(e.length<700&&(e.indexOf("/")!==-1||e.indexOf("\\")!==-1))if(i.toLowerCase().includes("private"))t="private";else if(e.toLowerCase().includes("private"))t="private";else if(i.toLowerCase().includes("public"))t="public";else if(e.toLowerCase().includes("public"))t="public";else if(i.toLowerCase().includes("chain"))t="chained";else if(e.toLowerCase().includes("chain"))t="chained";else return;else t=e.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||e.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",t==="public"&&e.split("-----END CERTIFICATE-----").filter(o=>o.replace(/\r\n|\r|\n/,"").trim()).length>1&&(t="chained");return{name:i,type:t}}function Nc(i){var s,o,r,M;const e=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],t=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((o=(s=i.native)==null?void 0:s.hardware)!=null&&o.networkInterfaces){const n=(M=(r=i.native)==null?void 0:r.hardware)==null?void 0:M.networkInterfaces;Object.keys(n).forEach(u=>{n[u].forEach(N=>{N.family!=="IPv6"?e.push({name:`[${N.family}] ${N.address} - ${u}`,address:N.address,family:"ipv4"}):t.push({name:`[${N.family}] ${N.address} - ${u}`,address:N.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class s4e extends je{constructor(e){super(e)}request(e){return super.request({requireAdmin:!0,...e})}getCertificates(e){return this.request({cacheKey:"cert",forceUpdate:e,commandTimeout:!1,executor:async t=>{var o;const s=await this.getObject("system.certificates");(o=s==null?void 0:s.native)!=null&&o.certificates?t(Object.entries(s.native.certificates).map(([r,M])=>uc(r,M)).filter(r=>!!r)):t([])}})}getLogs(e,t=200){return this.request({commandTimeout:!1,executor:s=>{this._socket.emit("sendToHost",e,"getLogs",t||200,o=>{s(o)})}})}upgradeAdapterWithWebserver(e,t){return this.request({commandTimeout:!1,executor:s=>{this._socket.emit("sendToHost",e,"upgradeAdapterWithWebserver",t,o=>{s(o)})}})}upgradeController(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("sendToHost",e,"upgradeController",{version:t,adminInstance:s},M=>{const n=M;n.error?r(n.error):o(n.result)})}})}updateLicenses(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("updateLicenses",e,t,(r,M)=>{r?o(r):s(M)})}})}upgradeOsPackages(e,t,s){return this.request({commandTimeout:!1,executor:o=>{this._socket.emit("sendToHost",e,"upgradeOsPackages",{packages:t,restart:!!s},r=>{o(r)})}})}getLogsFiles(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("readLogs",e,(o,r)=>{o&&s(o),t(r)})}})}delLogs(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("sendToHost",e,"delLogs",null,o=>{o&&s(o),t()})}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("deleteFile",e,t,r=>{r&&o(r),s()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("deleteFolder",e,t,r=>{r&&o(r),s()})}})}rename(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("rename",e,t,s,M=>{M&&r(M),o()})}})}renameFile(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("renameFile",e,t,s,M=>{M&&r(M),o()})}})}getHosts(e){return this.request({cacheKey:"hosts",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(o,r)=>{o?s(o):t(Hi(r))})}})}getUsers(e){return this.request({cacheKey:"users",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(o,r)=>{o?s(o):t(Hi(r))})}})}renameGroup(e,t,s){return this.request({commandTimeout:!1,executor:async o=>{const r=await this.getGroups(!0),M=r.filter(u=>u._id.startsWith(`${e}.`));for(const u of M){const N=u._id,l=t+u._id.substring(e.length);u._id=l,await this.setObject(l,u),await this.delObject(N)}const n=r.find(u=>u._id===e);if(n){const u=n._id;n._id=t,s!==void 0&&(n.common??={},n.common.name=s),await this.setObject(t,n),await this.delObject(u)}o()}})}getHostInfo(e,t,s){return e=Ke(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,n=>{M.elapsed||(M.clearTimeout(),n===ye.PERMISSION_ERROR?r('May not read "getHostInfo"'):n?o(n):r('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,s){return e=Ke(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,n=>{M.elapsed||(M.clearTimeout(),n===ye.PERMISSION_ERROR?r('May not read "getHostInfoShort"'):n?o(n):r('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,s,o){return this.request({cacheKey:`repository_${e}`,forceUpdate:s,commandTimeout:o,executor:(r,M,n)=>{this._socket.emit("sendToHost",e,"getRepository",t,u=>{n.elapsed||(n.clearTimeout(),u===ye.PERMISSION_ERROR?M('May not read "getRepository"'):u?r(u):M('Cannot read "getRepository"'))})}})}getInstalled(e,t,s){return e=Ke(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("sendToHost",e,"getInstalled",null,n=>{M.elapsed||(M.clearTimeout(),n===ye.PERMISSION_ERROR?r('May not read "getInstalled"'):n?o(n):r('Cannot read "getInstalled"'))})}})}cmdExec(e,t,s,o){return this.request({commandTimeout:o,executor:(r,M,n)=>{e=Ke(e),this._socket.emit("cmdExec",e,s,t,u=>{n.elapsed||(n.clearTimeout(),u&&M(u),r())})}})}readBaseSettings(e){return e=Ms(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(t,s,o)=>{this._socket.emit("sendToHost",e,"readBaseSettings",null,r=>{o.elapsed||(o.clearTimeout(),r===ye.PERMISSION_ERROR?s('May not read "BaseSettings"'):r?r.error?s(new Error(r.error)):t(r):s('Cannot read "BaseSettings"'))})}})}writeBaseSettings(e,t){return e=Ms(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(s,o,r)=>{this._socket.emit("sendToHost",e,"writeBaseSettings",t,M=>{r.elapsed||(r.clearTimeout(),M===ye.PERMISSION_ERROR?o('May not write "BaseSettings"'):M?s(M):o('Cannot write "BaseSettings"'))})}})}restartController(e){return e=Ms(e),this.request({executor:(t,s,o)=>{this._socket.emit("sendToHost",e,"restartController",null,()=>{o.elapsed||(o.clearTimeout(),t(!0))})}})}getDiagData(e,t){return e=Ms(e),this.request({executor:(s,o,r)=>{this._socket.emit("sendToHost",e,"getDiagData",t,M=>{r.elapsed||(r.clearTimeout(),s(M||null))})}})}changePassword(e,t){return this.request({executor:(s,o,r)=>{this._socket.emit("changePassword",e,t,M=>{r.elapsed||(r.clearTimeout(),M&&o(M),s())})}})}getIpAddresses(e,t){return e=Ke(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const o=await this.getObject(e);s((o==null?void 0:o.common.address)??[])}})}getHostByIp(e,t){return e=Ms(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(s,o,r)=>{this._socket.emit("getHostByIp",e,(M,n)=>{if(r.elapsed)return;r.clearTimeout();const{IPs4:u,IPs6:N}=Nc(n);s([...u,...N])})}})}encrypt(e){return this.request({executor:(t,s,o)=>{this._socket.emit("encrypt",e,(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}decrypt(e){return this.request({executor:(t,s,o)=>{this._socket.emit("decrypt",e,(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}chmodFile(e,t,s){return this.request({executor:(o,r,M)=>{this._socket.emit("chmodFile",e,t,s,(n,u)=>{M.elapsed||(M.clearTimeout(),n&&r(n),o(u))})}})}chownFile(e,t,s){return this.request({executor:(o,r,M)=>{this._socket.emit("chownFile",e,t,s,(n,u)=>{M.elapsed||(M.clearTimeout(),n&&r(n),o(u))})}})}getNotifications(e,t){return this.request({executor:(s,o,r)=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},M=>{r.elapsed||(r.clearTimeout(),s(M))})}})}clearNotifications(e,t){return this.request({executor:(s,o,r)=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},M=>{r.elapsed||(r.clearTimeout(),s(M))})}})}getIsEasyModeStrict(){return this.request({executor:(e,t,s)=>{this._socket.emit("getIsEasyModeStrict",(o,r)=>{s.elapsed||(s.clearTimeout(),o&&t(o),e(!!r))})}})}getEasyMode(){return this.request({executor:(e,t,s)=>{this._socket.emit("getEasyMode",(o,r)=>{s.elapsed||(s.clearTimeout(),o?t(new Error(o)):e(r))})}})}getRatings(e){return this.request({executor:(t,s,o)=>{this._socket.emit("getRatings",!!e,(r,M)=>{o.elapsed||(o.clearTimeout(),r?s(new Error(r)):t(M))})}})}getCurrentSession(e){const t=new AbortController;return this.request({commandTimeout:e||5e3,onTimeout:()=>{t.abort()},executor:async(s,o,r)=>{try{const M=await fetch("./session",{signal:t.signal});if(r.elapsed)return;r.clearTimeout();const n=await M.json();s(n)}catch(M){o(`getCurrentSession: ${M}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(e,t,s)=>{this._socket.emit("getCurrentInstance",(o,r)=>{s.elapsed||(s.clearTimeout(),o?t(o):e(r))})}})}getAdapterInstances(e,t){let s;return typeof e=="boolean"?(t=e,s=""):s=e||"",this.request({cacheKey:`instances_${s}`,forceUpdate:t,executor:(o,r,M)=>{this._socket.emit("getAdapterInstances",s,(n,u)=>{M.elapsed||(M.clearTimeout(),n&&r(n),o(u))})}})}getAdapters(e,t){let s;return typeof e=="boolean"?(t=e,s=""):s=e||"",this.request({cacheKey:`adapter_${s}`,forceUpdate:t,executor:(o,r,M)=>{this._socket.emit("getAdapters",s,(n,u)=>{M.elapsed||(M.clearTimeout(),n&&r(n),o(u))})}})}getCompactAdapters(e){return this.request({cacheKey:"compactAdapters",forceUpdate:e,executor:(t,s,o)=>{this._socket.emit("getCompactAdapters",(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}getAdaptersResetCache(e){e=e??"",this.resetCache(`adapter_${e}`),this.resetCache("compactAdapters")}getCompactInstances(e){return this.request({cacheKey:"compactInstances",forceUpdate:e,executor:(t,s,o)=>{this._socket.emit("getCompactInstances",(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}getAdapterInstancesResetCache(e){e=e??"",this.resetCache(`instances_${e}`),this.resetCache("compactInstances")}getCompactInstalled(e,t,s){return e=Ke(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("getCompactInstalled",e,n=>{M.elapsed||(M.clearTimeout(),n===ye.PERMISSION_ERROR?r('May not read "getCompactInstalled"'):n?o(n):r('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(e){e?(this.resetCache(`installedCompact_${e}`),this.resetCache(`installed_${e}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(e,t,s){return e=Ke(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("getCompactRepository",e,n=>{M.elapsed||(M.clearTimeout(),n===ye.PERMISSION_ERROR?r('May not read "getCompactRepository"'):n?o(n):r('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(e){e?(this.resetCache(`repositoryCompact_${e}`),this.resetCache(`repository_${e}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(e){return this.request({cacheKey:"hostsCompact",forceUpdate:e,executor:(t,s,o)=>{this._socket.emit("getCompactHosts",(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}getCompactSystemRepositories(e){return this.request({cacheKey:"repositoriesCompact",forceUpdate:e,executor:(t,s,o)=>{this._socket.emit("getCompactSystemRepositories",(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}}const Z=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Ot="9.29.0",te=globalThis;function Ni(){return li(te),te}function li(i){const e=i.__SENTRY__=i.__SENTRY__||{};return e.version=e.version||Ot,e[Ot]=e[Ot]||{}}function Li(i,e,t=te){const s=t.__SENTRY__=t.__SENTRY__||{},o=s[Ot]=s[Ot]||{};return o[i]||(o[i]=e())}const Nn=Object.prototype.toString;function ko(i){switch(Nn.call(i)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return Tt(i,Error)}}function es(i,e){return Nn.call(i)===`[object ${e}]`}function ln(i){return es(i,"ErrorEvent")}function gr(i){return es(i,"DOMError")}function lc(i){return es(i,"DOMException")}function tt(i){return es(i,"String")}function Yo(i){return typeof i=="object"&&i!==null&&"__sentry_template_string__"in i&&"__sentry_template_values__"in i}function Qo(i){return i===null||Yo(i)||typeof i!="object"&&typeof i!="function"}function ds(i){return es(i,"Object")}function ji(i){return typeof Event<"u"&&Tt(i,Event)}function Lc(i){return typeof Element<"u"&&Tt(i,Element)}function jc(i){return es(i,"RegExp")}function gi(i){return!!(i!=null&&i.then&&typeof i.then=="function")}function gc(i){return ds(i)&&"nativeEvent"in i&&"preventDefault"in i&&"stopPropagation"in i}function Tt(i,e){try{return i instanceof e}catch{return!1}}function Ln(i){return!!(typeof i=="object"&&i!==null&&(i.__isVue||i._isVue))}function Tc(i){return typeof Request<"u"&&Tt(i,Request)}const Uo=te,yc=80;function jn(i,e={}){if(!i)return"";try{let t=i;const s=5,o=[];let r=0,M=0;const n=" > ",u=n.length;let N;const l=Array.isArray(e)?e:e.keyAttrs,c=!Array.isArray(e)&&e.maxStringLength||yc;for(;t&&r++1&&M+o.length*u+N.length>=c));)o.push(N),M+=N.length,t=t.parentNode;return o.reverse().join(n)}catch{return""}}function Dc(i,e){const t=i,s=[];if(!(t!=null&&t.tagName))return"";if(Uo.HTMLElement&&t instanceof HTMLElement&&t.dataset){if(t.dataset.sentryComponent)return t.dataset.sentryComponent;if(t.dataset.sentryElement)return t.dataset.sentryElement}s.push(t.tagName.toLowerCase());const o=e!=null&&e.length?e.filter(M=>t.getAttribute(M)).map(M=>[M,t.getAttribute(M)]):null;if(o!=null&&o.length)o.forEach(M=>{s.push(`[${M[0]}="${M[1]}"]`)});else{t.id&&s.push(`#${t.id}`);const M=t.className;if(M&&tt(M)){const n=M.split(/\s+/);for(const u of n)s.push(`.${u}`)}}const r=["aria-label","type","name","title","alt"];for(const M of r){const n=t.getAttribute(M);n&&s.push(`[${M}="${n}"]`)}return s.join("")}function vo(){try{return Uo.document.location.href}catch{return""}}function dc(i){if(!Uo.HTMLElement)return null;let e=i;const t=5;for(let s=0;s{const r=ti[o];t[o]=e[o],e[o]=r});try{return i()}finally{s.forEach(o=>{e[o]=t[o]})}}function Ic(){let i=!1;const e={enable:()=>{i=!0},disable:()=>{i=!1},isEnabled:()=>i};return Z?Vi.forEach(t=>{e[t]=(...s)=>{i&&ts(()=>{te.console[t](`${zc}[${t}]:`,...s)})}}):Vi.forEach(t=>{e[t]=()=>{}}),e}const B=Li("logger",Ic);function si(i,e=0){return typeof i!="string"||e===0||i.length<=e?i:`${i.slice(0,e)}...`}function Tr(i,e){if(!Array.isArray(i))return"";const t=[];for(let s=0;swc(i,s,t))}function Ee(i,e,t){if(!(e in i))return;const s=i[e];if(typeof s!="function")return;const o=t(s);typeof o=="function"&&gn(o,s);try{i[e]=o}catch{Z&&B.log(`Failed to replace method "${e}" in object`,i)}}function Et(i,e,t){try{Object.defineProperty(i,e,{value:t,writable:!0,configurable:!0})}catch{Z&&B.log(`Failed to add non-enumerable property "${e}" to object`,i)}}function gn(i,e){try{const t=e.prototype||{};i.prototype=e.prototype=t,Et(i,"__sentry_original__",e)}catch{}}function bo(i){return i.__sentry_original__}function Tn(i){if(ko(i))return{message:i.message,name:i.name,stack:i.stack,...Dr(i)};if(ji(i)){const e={type:i.type,target:yr(i.target),currentTarget:yr(i.currentTarget),...Dr(i)};return typeof CustomEvent<"u"&&Tt(i,CustomEvent)&&(e.detail=i.detail),e}else return i}function yr(i){try{return Lc(i)?jn(i):Object.prototype.toString.call(i)}catch{return""}}function Dr(i){if(typeof i=="object"&&i!==null){const e={};for(const t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t]);return e}else return{}}function Cc(i,e=40){const t=Object.keys(Tn(i));t.sort();const s=t[0];if(!s)return"[object has no keys]";if(s.length>=e)return si(s,e);for(let o=t.length;o>0;o--){const r=t.slice(0,o).join(", ");if(!(r.length>e))return o===t.length?r:si(r,e)}return""}function hc(){const i=te;return i.crypto||i.msCrypto}function fe(i=hc()){let e=()=>Math.random()*16;try{if(i!=null&&i.randomUUID)return i.randomUUID().replace(/-/g,"");i!=null&&i.getRandomValues&&(e=()=>{const t=new Uint8Array(1);return i.getRandomValues(t),t[0]})}catch{}return("10000000100040008000"+1e11).replace(/[018]/g,t=>(t^(e()&15)>>t/4).toString(16))}function yn(i){var e,t;return(t=(e=i.exception)==null?void 0:e.values)==null?void 0:t[0]}function pt(i){const{message:e,event_id:t}=i;if(e)return e;const s=yn(i);return s?s.type&&s.value?`${s.type}: ${s.value}`:s.type||s.value||t||"":t||""}function Zi(i,e,t){const s=i.exception=i.exception||{},o=s.values=s.values||[],r=o[0]=o[0]||{};r.value||(r.value=e||""),r.type||(r.type="Error")}function Zt(i,e){const t=yn(i);if(!t)return;const s={type:"generic",handled:!0},o=t.mechanism;if(t.mechanism={...s,...o,...e},e&&"data"in e){const r={...o==null?void 0:o.data,...e.data};t.mechanism.data=r}}function dr(i){if(Ac(i))return!0;try{Et(i,"__sentry_captured__",!0)}catch{}return!1}function Ac(i){try{return i.__sentry_captured__}catch{}}const Dn=1e3;function ps(){return Date.now()/Dn}function pc(){const{performance:i}=te;if(!(i!=null&&i.now))return ps;const e=Date.now()-i.now(),t=i.timeOrigin==null?e:i.timeOrigin;return()=>(t+i.now())/Dn}const st=pc();function mc(i){const e=st(),t={sid:fe(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>Ec(t)};return i&&Xt(t,i),t}function Xt(i,e={}){if(e.user&&(!i.ipAddress&&e.user.ip_address&&(i.ipAddress=e.user.ip_address),!i.did&&!e.did&&(i.did=e.user.id||e.user.email||e.user.username)),i.timestamp=e.timestamp||st(),e.abnormal_mechanism&&(i.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(i.ignoreDuration=e.ignoreDuration),e.sid&&(i.sid=e.sid.length===32?e.sid:fe()),e.init!==void 0&&(i.init=e.init),!i.did&&e.did&&(i.did=`${e.did}`),typeof e.started=="number"&&(i.started=e.started),i.ignoreDuration)i.duration=void 0;else if(typeof e.duration=="number")i.duration=e.duration;else{const t=i.timestamp-i.started;i.duration=t>=0?t:0}e.release&&(i.release=e.release),e.environment&&(i.environment=e.environment),!i.ipAddress&&e.ipAddress&&(i.ipAddress=e.ipAddress),!i.userAgent&&e.userAgent&&(i.userAgent=e.userAgent),typeof e.errors=="number"&&(i.errors=e.errors),e.status&&(i.status=e.status)}function Oc(i,e){let t={};i.status==="ok"&&(t={status:"exited"}),Xt(i,t)}function Ec(i){return{sid:`${i.sid}`,init:i.init,started:new Date(i.started*1e3).toISOString(),timestamp:new Date(i.timestamp*1e3).toISOString(),status:i.status,errors:i.errors,did:typeof i.did=="number"||typeof i.did=="string"?`${i.did}`:void 0,duration:i.duration,abnormal_mechanism:i.abnormal_mechanism,attrs:{release:i.release,environment:i.environment,ip_address:i.ipAddress,user_agent:i.userAgent}}}function ms(i,e,t=2){if(!e||typeof e!="object"||t<=0)return e;if(i&&Object.keys(e).length===0)return i;const s={...i};for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(s[o]=ms(s[o],e[o],t-1));return s}const Xi="_sentrySpan";function zr(i,e){e?Et(i,Xi,e):delete i[Xi]}function Ir(i){return i[Xi]}function wr(){return fe()}function dn(){return fe().substring(16)}const _c=100;class it{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:wr(),sampleRand:Math.random()}}clone(){const e=new it;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,zr(e,Ir(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&Xt(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this._tags={...this._tags,[e]:t},this._notifyScopeListeners(),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const t=typeof e=="function"?e(this):e,s=t instanceof it?t.getScopeData():ds(t)?e:void 0,{tags:o,extra:r,user:M,contexts:n,level:u,fingerprint:N=[],propagationContext:l}=s||{};return this._tags={...this._tags,...o},this._extra={...this._extra,...r},this._contexts={...this._contexts,...n},M&&Object.keys(M).length&&(this._user=M),u&&(this._level=u),N.length&&(this._fingerprint=N),l&&(this._propagationContext=l),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._session=void 0,zr(this,void 0),this._attachments=[],this.setPropagationContext({traceId:wr(),sampleRand:Math.random()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){var r;const s=typeof t=="number"?t:_c;if(s<=0)return this;const o={timestamp:ps(),...e,message:e.message?si(e.message,2048):e.message};return this._breadcrumbs.push(o),this._breadcrumbs.length>s&&(this._breadcrumbs=this._breadcrumbs.slice(-s),(r=this._client)==null||r.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),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:Ir(this)}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=ms(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){const s=(t==null?void 0:t.event_id)||fe();if(!this._client)return B.warn("No client configured on scope - will not capture exception!"),s;const o=new Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:o,...t,event_id:s},this),s}captureMessage(e,t,s){const o=(s==null?void 0:s.event_id)||fe();if(!this._client)return B.warn("No client configured on scope - will not capture message!"),o;const r=new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:r,...s,event_id:o},this),o}captureEvent(e,t){const s=(t==null?void 0:t.event_id)||fe();return this._client?(this._client.captureEvent(e,{...t,event_id:s},this),s):(B.warn("No client configured on scope - will not capture event!"),s)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function Sc(){return Li("defaultCurrentScope",()=>new it)}function xc(){return Li("defaultIsolationScope",()=>new it)}class fc{constructor(e,t){let s;e?s=e:s=new it;let o;t?o=t:o=new it,this._stack=[{scope:s}],this._isolationScope=o}withScope(e){const t=this._pushScope();let s;try{s=e(t)}catch(o){throw this._popScope(),o}return gi(s)?s.then(o=>(this._popScope(),o),o=>{throw this._popScope(),o}):(this._popScope(),s)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function Kt(){const i=Ni(),e=li(i);return e.stack=e.stack||new fc(Sc(),xc())}function kc(i){return Kt().withScope(i)}function Yc(i,e){const t=Kt();return t.withScope(()=>(t.getStackTop().scope=i,e(i)))}function Cr(i){return Kt().withScope(()=>i(Kt().getIsolationScope()))}function Qc(){return{withIsolationScope:Cr,withScope:kc,withSetScope:Yc,withSetIsolationScope:(i,e)=>Cr(e),getCurrentScope:()=>Kt().getScope(),getIsolationScope:()=>Kt().getIsolationScope()}}function $o(i){const e=li(i);return e.acs?e.acs:Qc()}function ot(){const i=Ni();return $o(i).getCurrentScope()}function Os(){const i=Ni();return $o(i).getIsolationScope()}function Uc(){return Li("globalScope",()=>new it)}function vc(...i){const e=Ni(),t=$o(e);if(i.length===2){const[s,o]=i;return s?t.withSetScope(s,o):t.withScope(o)}return t.withScope(i[0])}function we(){return ot().getClient()}function bc(i){const e=i.getPropagationContext(),{traceId:t,parentSpanId:s,propagationSpanId:o}=e,r={trace_id:t,span_id:o||dn()};return s&&(r.parent_span_id=s),r}const $c="sentry.source",Pc="sentry.sample_rate",Wc="sentry.previous_trace_sample_rate",Rc="sentry.op",Jc="sentry.origin",zn="sentry.profile_id",In="sentry.exclusive_time",Bc=0,Fc=1,Gc="_sentryScope",Hc="_sentryIsolationScope";function wn(i){return{scope:i[Gc],isolationScope:i[Hc]}}function Vc(i){if(typeof i=="boolean")return Number(i);const e=typeof i=="string"?parseFloat(i):i;if(!(typeof e!="number"||isNaN(e)||e<0||e>1))return e}const Zc="sentry-",Xc=/^sentry-/;function Kc(i){const e=qc(i);if(!e)return;const t=Object.entries(e).reduce((s,[o,r])=>{if(o.match(Xc)){const M=o.slice(Zc.length);s[M]=r}return s},{});if(Object.keys(t).length>0)return t}function qc(i){if(!(!i||!tt(i)&&!Array.isArray(i)))return Array.isArray(i)?i.reduce((e,t)=>{const s=hr(t);return Object.entries(s).forEach(([o,r])=>{e[o]=r}),e},{}):hr(i)}function hr(i){return i.split(",").map(e=>e.split("=").map(t=>{try{return decodeURIComponent(t.trim())}catch{return}})).reduce((e,[t,s])=>(t&&s&&(e[t]=s),e),{})}const Cn=1;let Ar=!1;function eu(i){const{spanId:e,traceId:t,isRemote:s}=i.spanContext(),o=s?e:Po(i).parent_span_id,r=wn(i).scope,M=s?(r==null?void 0:r.getPropagationContext().propagationSpanId)||dn():e;return{parent_span_id:o,span_id:M,trace_id:t}}function tu(i){if(i&&i.length>0)return i.map(({context:{spanId:e,traceId:t,traceFlags:s,...o},attributes:r})=>({span_id:e,trace_id:t,sampled:s===Cn,attributes:r,...o}))}function pr(i){return typeof i=="number"?mr(i):Array.isArray(i)?i[0]+i[1]/1e9:i instanceof Date?mr(i.getTime()):st()}function mr(i){return i>9999999999?i/1e3:i}function Po(i){var s;if(iu(i))return i.getSpanJSON();const{spanId:e,traceId:t}=i.spanContext();if(su(i)){const{attributes:o,startTime:r,name:M,endTime:n,status:u,links:N}=i,l="parentSpanId"in i?i.parentSpanId:"parentSpanContext"in i?(s=i.parentSpanContext)==null?void 0:s.spanId:void 0;return{span_id:e,trace_id:t,data:o,description:M,parent_span_id:l,start_timestamp:pr(r),timestamp:pr(n)||void 0,status:ru(u),op:o[Rc],origin:o[Jc],links:tu(N)}}return{span_id:e,trace_id:t,start_timestamp:0,data:{}}}function su(i){const e=i;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function iu(i){return typeof i.getSpanJSON=="function"}function ou(i){const{traceFlags:e}=i.spanContext();return e===Cn}function ru(i){if(!(!i||i.code===Bc))return i.code===Fc?"ok":i.message||"unknown_error"}const Mu="_sentryRootSpan";function hn(i){return i[Mu]||i}function Or(){Ar||(ts(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.")}),Ar=!0)}const An=50,_t="?",Er=/\(error: (.*)\)/,_r=/captureMessage|captureException/;function pn(...i){const e=i.sort((t,s)=>t[0]-s[0]).map(t=>t[1]);return(t,s=0,o=0)=>{const r=[],M=t.split(` -`);for(let n=s;n1024)continue;const N=Er.test(u)?u.replace(Er,"$1"):u;if(!N.match(/\S*Error: /)){for(const l of e){const c=l(N);if(c){r.push(c);break}}if(r.length>=An+o)break}}return au(r.slice(o))}}function nu(i){return Array.isArray(i)?pn(...i):i}function au(i){if(!i.length)return[];const e=Array.from(i);return/sentryWrapped/.test(fs(e).function||"")&&e.pop(),e.reverse(),_r.test(fs(e).function||"")&&(e.pop(),_r.test(fs(e).function||"")&&e.pop()),e.slice(0,An).map(t=>({...t,filename:t.filename||fs(e).filename,function:t.function||_t}))}function fs(i){return i[i.length-1]||{}}const pi="";function yt(i){try{return!i||typeof i!="function"?pi:i.name||pi}catch{return pi}}function Sr(i){const e=i.exception;if(e){const t=[];try{return e.values.forEach(s=>{s.stacktrace.frames&&t.push(...s.stacktrace.frames)}),t}catch{return}}}const Vs={},xr={};function kt(i,e){Vs[i]=Vs[i]||[],Vs[i].push(e)}function Yt(i,e){if(!xr[i]){xr[i]=!0;try{e()}catch(t){Z&&B.error(`Error while instrumenting ${i}`,t)}}}function ve(i,e){const t=i&&Vs[i];if(t)for(const s of t)try{s(e)}catch(o){Z&&B.error(`Error while triggering instrumentation handler. +import{w as _e,u as cr,l as ur,a as Nr}from"./createTheme-BwMO3rTt.js";import{C as b,R as n}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js";import{C as g}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BlV79j8y.js";import{C as m,a as ic,D as ln,u as oc}from"./index-B8sZ2j0S.js";import{g as rc}from"./_commonjsHelpers-D6-XlEtG.js";import{u as Mc}from"./useTheme-CDtRWagv.js";import"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js";import"./useTheme-MELayQMj.js";import"./useThemeWithoutDefault-C-hl_s0Z.js";import"./defaultTheme-avbtL0lf.js";const Ai=11/23/100;function lr(i){const e={r:0,g:0,b:0};if(i.length===7)e.r=parseInt(i.substring(1,3),16),e.g=parseInt(i.substring(3,5),16),e.b=parseInt(i.substring(5,7),16);else if(i.length===4){const t=i[1],s=i[2],o=i[3];e.r=parseInt(t+t,16),e.g=parseInt(s+s,16),e.b=parseInt(o+o,16)}return e}function nc(i){return`#${Math.round(i.r).toString(16)}${Math.round(i.g).toString(16)}${Math.round(i.b).toString(16)}`}function ac(i,e,t){const s=lr(i),o=lr(e);return s.r+=o.r*(.05+Ai*(t-1)),s.g+=o.g*(.05+Ai*(t-1)),s.b+=o.b*(.05+Ai*(t-1)),nc(s)}function Lr(i,e){const t={};for(let s=1;s<=24;s++)t[`elevation${s}`]={backgroundColor:ac(i,e,s)};return t}function cc(i,e){var M,a,u,N,l,c,L,j,T,D,I;let t,s;i==="dark"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[200],"&:hover":{color:_e[100]}}},MuiPaper:Lr("#121212","#fff")},t={name:i,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):i==="blue"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[400],"&:hover":{color:_e[300]}}}},t={name:i,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):i==="colored"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[200],"&:hover":{color:_e[100]}}},MuiPaper:Lr("#151d21","#fff")},t={name:i,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):i==="PT"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[400],"&:hover":{color:_e[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):i==="DX"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#a9a9a9"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[400],"&:hover":{color:_e[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#F5F5F7"},secondary:{main:"#a9a9a9"},expert:"#BD1B24",text:{primary:"#007AFE",secondary:"#007AFE",disabled:"#007AFEAA"}}}):(s={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:_e[400],"&:hover":{color:_e[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),t.toolbar={height:48},t.saveToolbar={background:(a=(M=t.palette)==null?void 0:M.primary)==null?void 0:a.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:cr[300],dark:cr[400]});const o=ur(t),r=o.palette;return ur(o,{...e||void 0,components:{...s,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(u=r.grey)==null?void 0:u[300],color:r.getContrastText&&((N=r.grey)!=null&&N[300])?r.getContrastText(r.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(l=r.text)==null?void 0:l.primary,borderColor:r.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(c=r.action)==null?void 0:c.disabledBackground}`},"&:hover":{borderColor:r.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:Nr(((L=r.text)==null?void 0:L.primary)||"",((j=r.action)==null?void 0:j.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(T=r.text)==null?void 0:T.primary,"&:hover":{backgroundColor:Nr(((D=r.text)==null?void 0:D.primary)||"",((I=r.action)==null?void 0:I.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function uc(){let i,e;const t=new Promise((s,o)=>{i=s,e=o});return t.resolve=i,t.reject=e,t}function Hi(i){return(i==null?void 0:i.rows.map(e=>e.value).filter(e=>!!e))??[]}function Ke(i){return i!=null&&i.startsWith("system.host.")||(i=`system.host.${i}`),i}function Ms(i){return i!=null&&i.startsWith("system.host.")&&(i=i.substring(12)),i}function jr(i){return new Promise(e=>{setTimeout(e,i)})}function xs(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}var Re;(function(i){i[i.CONNECTING=0]="CONNECTING",i[i.CONNECTED=1]="CONNECTED",i[i.OBJECTS_LOADED=2]="OBJECTS_LOADED",i[i.READY=3]="READY"})(Re||(Re={}));var ye;(function(i){i.PERMISSION_ERROR="permissionError",i.NOT_CONNECTED="notConnectedError",i.TIMEOUT="timeout",i.NOT_ADMIN="Allowed only in admin",i.NOT_SUPPORTED="Not supported"})(ye||(ye={}));const i4e=ye.PERMISSION_ERROR;ye.NOT_CONNECTED;const Nc=["material","echarts","vis"];class je{constructor(e){this.props=this.applyDefaultProps(e),this.connId=`${this.props.name?`${this.props.name}-`:""}${Math.round(Math.random()*1e6).toString().padStart(6,"0")}`,this.waitForSocketLib().then(()=>this.startSocket()).catch(t=>{alert(`Socket connection could not be initialized: ${t}`)})}applyDefaultProps(e){return{...e,protocol:e.protocol||window.location.protocol,host:e.host||window.location.hostname,port:e.port||(window.location.port==="3000"?8081:window.location.port),ioTimeout:Math.max(e.ioTimeout||2e4,2e4),cmdTimeout:Math.max(e.cmdTimeout||5e3,5e3),admin5only:e.admin5only||!1,autoSubscribes:e.autoSubscribes??[],autoSubscribeLog:e.autoSubscribeLog??!1,doNotLoadACL:e.doNotLoadACL??!0,doNotLoadAllObjects:e.doNotLoadAllObjects??!0}}props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};statesSubscribes={};filesSubscribes={};objectsSubscribes={};objects={};states={};acl=null;isSecure=!1;onReadyDone=!1;onConnectionHandlers=[];onLogHandlers=[];onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;onError(e){(this.props.onError??console.error)(e)}_socket;_waitForSocketPromise;_waitForFirstConnectionPromise=uc();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return window.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(typeof window.io>"u"&&typeof window.iob>"u")if(typeof window.registerSocketOnLoad=="function")window.registerSocketOnLoad(()=>e());else{for(let s=1;s<=30;s++){if(window.io||window.iob)return e();await jr(100)}t(new Error("Socket library could not be loaded!"))}else e()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let e=this.props.host,t=this.props.port,s=(this.props.protocol||window.location.protocol).replace(":",""),o=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")o="";else{if(window.socketUrl){const a=new URL(window.socketUrl);e=a.hostname,t=a.port,s=a.protocol.replace(":","")}const M=o.lastIndexOf("/");if(M!==-1&&(o=o.substring(0,M+1)),je.isWeb()){const a=o.split("/");a.length>2&&(a.pop(),a.pop(),Nc.includes(a[a.length-1])&&a.pop(),o=a.join("/"),o.endsWith("/")||(o+="/"))}}const r=t?`${s}://${e}:${t}`:`${s}://${e}`;return this._socket=(window.io||window.iob).connect(r,{path:o.endsWith("/")?`${o}socket.io`:`${o}/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",M=>{window.addEventListener("storage",this.onAccessTokenUpdated);const a=je.readTokens();if(a&&!a.owner){const u=Date.now();this.saveTokens({access_token:a.access_token,refresh_token:a.refresh_token,expires_in:Math.round((a.expires_in.getTime()-u)/1e3),refresh_token_expires_in:Math.round((a.refresh_token_expires_in.getTime()-u)/1e3),token_type:"Bearer"},a.stayLoggedIn)}this.onReadyDone=!1,M!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(u=>{const[N,l,c]=u.version.split(".");parseInt(N,10)*1e4+parseInt(l,10)*100+parseInt(c,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(j,T)=>this.onPreConnect(j,T))}).catch(u=>this.onError({message:u.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(u,N)=>{this.onPreConnect(u,N)})}),this._socket.on("reconnect",()=>{var M,a;this.onReadyDone=!1,(a=(M=this.props).onProgress)==null||a.call(M,Re.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(u=>u(!0)))}),this._socket.on("disconnect",()=>{var M,a;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(a=(M=this.props).onProgress)==null||a.call(M,Re.CONNECTING),this.onConnectionHandlers.forEach(u=>u(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",M=>{var a,u;(u=(a=this.props).onLog)==null||u.call(a,M),this.onLogHandlers.forEach(N=>N(M))}),this._socket.on("error",M=>{let a;M==null?a="":typeof M.toString=="function"?a=M.toString():(a=JSON.stringify(M),console.error(`Received strange error: ${a}`)),a.includes("User not authorized")?this.authenticate():a.includes("websocket error")?(console.error(`Socket Error => reload: ${M}`),window.location.reload()):console.error(`Socket Error: ${M}`)}),this._socket.on("connect_error",M=>console.error(`Connect error: ${M}`)),this._socket.on("permissionError",M=>this.onError({message:"no permission",operation:M.operation,type:M.type,id:M.id||""})),this._socket.on("objectChange",(M,a)=>{setTimeout(()=>this.objectChange(M,a),0)}),this._socket.on("stateChange",(M,a)=>{setTimeout(()=>this.stateChange(M,a),0)}),this._socket.on("im",(M,a,u)=>{setTimeout(()=>this.instanceMessage(M,a,u),0)}),this._socket.on("fileChange",(M,a,u)=>{setTimeout(()=>this.fileChange(M,a,u),0)}),this._socket.on("cmdStdout",(M,a)=>{var u;(u=this.onCmdStdoutHandler)==null||u.call(this,M,a)}),this._socket.on("cmdStderr",(M,a)=>{var u;(u=this.onCmdStderrHandler)==null||u.call(this,M,a)}),this._socket.on("cmdExit",(M,a)=>{var u;(u=this.onCmdExitHandler)==null||u.call(this,M,a)}),Promise.resolve()}onPreConnect(e,t){var s,o;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?this.loadData().catch(r=>console.error(`Cannot load data: ${r}`)):(o=(s=this.props).onProgress)==null||o.call(s,Re.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(r=>r(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=window.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=window.localStorage.getItem("iob_tokens")),!e)return null;const[s,o,r,M,a]=e.split(";"),u=new Date(o);return u.getTime(){if(e.key==="iob_tokens"){const t=je.readTokens();t&&(console.log(`Tab ${this.connId} received updated token: ${t.access_token}`),this.updateTokenExpiration(t.access_token))}};updateTokenExpiration(e){this.lastAccessToken!==e&&(this.lastAccessToken=e,this._socket.emit("updateTokenExpiration",e,(t,s)=>{t?(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token: ${t}`),window.location.reload()):s?console.log(`[UPDATE/${new Date().toISOString()}] server accepted new token: ${e}`):(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token`),window.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>window.location.reload(),500);return}t||!e.owner||e.owner===this.connId?(console.log(`[REFRESH/${new Date().toISOString()}] claim ownership of the token`),this.acquireTokenLock()?(console.log(`[REFRESH/${new Date().toISOString()}] refreshing token`),fetch("./oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`grant_type=refresh_token&refresh_token=${e.refresh_token}&client_id=ioBroker&stayloggedin=${e.stayLoggedIn}`}).then(s=>{if(s.ok)return s.json();throw new Error("Cannot refresh access token")}).then(s=>{if(s.access_token)console.log(`[REFRESH/${new Date().toISOString()}] received new token: ${s.access_token}`),this.saveTokens(s,e.stayLoggedIn),this.releaseTokenLock(),this.updateTokenExpiration(s.access_token);else throw new Error("Cannot get access token")}).catch(s=>{console.warn(`[REFRESH/${new Date().toISOString()}] cannot refresh token: ${s}`),this.releaseTokenLock(),this.deleteTokens(e.stayLoggedIn),console.error(s),window.location.reload()})):(console.log(`[REFRESH/${new Date().toISOString()}] Someone else is updating the token, so wait for the next check`),this.checkAccessTokenExpire())):this.lastAccessToken!==e.access_token&&this.updateTokenExpiration(e.access_token)}acquireTokenLock(){const e=Date.now(),t=localStorage.getItem("iob_token_semaphore");if(t)try{const o=JSON.parse(t);if(e{o?(console.log(`[TOKEN/${new Date().toISOString()}] Token will be prolonged`),this.refreshTokens(e,s)):(console.log(`[TOKEN/${new Date().toISOString()}] Token will not be prolonged. Reloading the page`),setTimeout(()=>window.location.reload(),Date.now()>t?500:t-Date.now()))})):(console.log(`[TOKEN/${new Date().toISOString()}] No tokenTimeoutHandler defined. Prolonging the token`),this.refreshTokens(e,s))):this.lastAccessToken!==e.access_token?(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token, but we will inform the server about new token`),this.refreshTokens(e)):(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token and the token did not change. Check in 3 seconds if the owner updated the token`),this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},3e3)):(console.log(`[TOKEN/${new Date().toISOString()}] We do not have a refresh token, so we need to reauthenticate`),setTimeout(()=>window.location.reload(),Date.now()>t?500:t-Date.now()))}else this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},t-Date.now()-3e4>12e4?12e4:t-Date.now()-3e4)}}}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!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:(e,t)=>{this._socket.emit("getUserPermissions",(s,o)=>{s?t(s):e(o||null)})}})}async loadData(){if(this.loaded)return;const e=10;for(let t=1;t<=e;t++){if(this.doLoadData().catch(s=>console.error(`Cannot load data: ${s}`)),this.loaded)return;await jr(je.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,s,o,r,M,a,u,N;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(l){this.onError(`Cannot read user permissions: ${l}`);return}try{this.props.admin5only&&!je.isWeb()&&(!window.vendorPrefix||window.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(l){this.onError(`Cannot read system config: ${l}`);return}this._systemConfig&&(this.systemLang=(e=this._systemConfig.common)==null?void 0:e.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)),(s=(t=this.props).onLanguage)==null||s.call(t,this.systemLang),this.loaded=!0,(r=(o=this.props).onProgress)==null||r.call(o,Re.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(a=(M=this.props).onProgress)==null||a.call(M,Re.READY),this.onReadyDone||(this.onReadyDone=!0,(N=(u=this.props).onReady)==null||N.call(u,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.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${encodeURIComponent(window.location.search+window.location.hash)}`}async subscribeState(...e){let t,s,o;e.length===3?[t,s,o]=e:([t,o]=e,s=!1);let r;if(Array.isArray(t)?r=t:r=[t],typeof o!="function")throw new Error("The state change handler must be a function!");const M=[];for(let a=0;aa.includes("*"))){let a;for(let u=0;uconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const a=await(je.isWeb()?this.getStates(r):this.getForeignStates(r));if(a)for(const[u,N]of Object.entries(a)){const l=o(u,N);l instanceof Promise&&l.catch(c=>console.error(`Cannot call state change handler: ${c}`))}}catch(a){console.error(`Cannot getState "${r.join(", ")}": ${a.message}`);return}}async subscribeStateAsync(e,t){return this.subscribeState(e,t)}unsubscribeState(e,t){var r;let s;Array.isArray(e)?s=e:s=[e];const o=[];for(let M=0;M{try{const l=N(e,t,s);l instanceof Promise&&l.catch(c=>console.error(`Cannot call object change handler: ${c}`))}catch(l){console.error(`Error by callback of objectChange: ${l}`)}});if(o){const a=(M=(r=this.props).onObjectChange)==null?void 0:M.call(r,e,t);a instanceof Promise&&a.catch(u=>console.error(`Cannot call object change handler: ${u}`))}}stateChange(e,t){for(const s of Object.values(this.statesSubscribes))if(s.reg.test(e))for(const o of s.cbs)try{const r=o(e,t??null);r instanceof Promise&&r.catch(M=>console.error(`Cannot call state change handler: ${M}`))}catch(r){console.error(`Error by callback of stateChanged: ${r}`)}}instanceMessage(e,t,s){var o;(o=this._instanceSubscriptions[t])==null||o.forEach(r=>{if(r.messageType===e){const M=r.callback(s,t,e);M instanceof Promise&&M.catch(a=>console.error(`Cannot call instance message handler: ${a}`))}})}fileChange(e,t,s){for(const o of Object.values(this.filesSubscribes))if(o.regId.test(e)&&o.regFilePattern.test(t))for(const r of o.cbs)try{r(e,t,s)}catch(M){console.error(`Error by callback of fileChange: ${M}`)}}async subscribeFiles(e,t,s){if(typeof s!="function")throw new Error("The state change handler must be a function!");let o;Array.isArray(t)?o=t:o=[t];const r=[];for(let M=0;M{const c={elapsed:!1,clearTimeout:()=>{}};let L;s!==!1&&(L=setTimeout(()=>{c.elapsed=!0,o==null||o(),e&&this._promises[e]instanceof Promise&&delete this._promises[e],l(new Error(ye.TIMEOUT))},s??this.props.cmdTimeout),c.clearTimeout=()=>{clearTimeout(L)});try{await a(N,l,c)}catch(j){e&&this._promises[e]instanceof Promise&&delete this._promises[e],l(new Error(j.toString()))}});return e&&(this._promises[e]=u),u}resetCache(e,t){t?Object.keys(this._promises).filter(s=>s.startsWith(e)).forEach(s=>{delete this._promises[s]}):delete this._promises[e]}getStates(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getStates",e,(o,r)=>{this.states=r??{},o?s(o):t(this.states)})}})}getState(e){return this.request({commandTimeout:!1,executor:(t,s)=>{if(e&&e===this.ignoreState){t(this.simStates[e]||{val:null,ack:!0});return}this._socket.emit("getState",e,(o,r)=>{o?s(o):t(r)})}})}getBinaryState(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getBinaryState",e,(o,r)=>{o?s(o):t(r)})}})}setBinaryState(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("setBinaryState",e,t,r=>{r?o(r):s()})}})}setState(e,t,s){return typeof s=="boolean"&&(t={val:t,ack:s}),this.request({commandTimeout:!1,executor:(o,r)=>{if(e&&e===this.ignoreState){let M;if(typeof s=="boolean"||typeof t=="object"&&t.val!==void 0?M=t:M={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=M,this.statesSubscribes[e])for(const a of this.statesSubscribes[e].cbs)try{const u=a(e,M);u instanceof Promise&&u.catch(N=>console.error(`Cannot call state change handler: ${N}`))}catch(u){console.error(`Error by callback of stateChanged: ${u}`)}o();return}this._socket.emit("setState",e,t,M=>{M?r(M):o()})}})}getObjects(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{if(!e&&this.objects){s(this.objects);return}this._socket.emit(je.isWeb()?"getObjects":"getAllObjects",(r,M)=>{var a,u;t||(u=(a=this.props).onProgress)==null||u.call(a,Re.OBJECTS_LOADED),r?o(r):(this.objects=M??{},s(this.objects))})}})}getObjectsById(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjects",e,(o,r)=>{o?s(o):t(r)})}})}_subscribe(e){var t,s;if(e&&!this.subscribed){this.subscribed=!0,(t=this.props.autoSubscribes)!=null&&t.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);const o=Object.keys(this.objectsSubscribes);o.length&&this._socket.emit("subscribeObjects",o),Object.keys(this.objectsSubscribes).forEach(r=>this._socket.emit("subscribeObjects",r)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(r=>this._socket.emit("subscribe",r)),Object.keys(this.filesSubscribes).forEach(r=>{const[M,a]=r.split("$%$");this._socket.emit("subscribeFiles",M,a)})}else if(!e&&this.subscribed){this.subscribed=!1,(s=this.props.autoSubscribes)!=null&&s.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);const o=Object.keys(this.objectsSubscribes);o.length&&this._socket.emit("unsubscribeObjects",o),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(r=>this._socket.emit("unsubscribe",r)),Object.keys(this.filesSubscribes).forEach(r=>{const[M,a]=r.split("$%$");this._socket.emit("unsubscribeFiles",M,a)})}}requireLog(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("requireLog",e,o=>{o?s(o):t()})}})}delObject(e,t=!1){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("delObject",e,{maintenance:t},r=>{r?o(r):s()})}})}delObjects(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("delObjects",e,{maintenance:t},r=>{r?o(r):s()})}})}setObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("setObject",e,t,r=>{r?o(r):s()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(e){return this.request({commandTimeout:!1,executor:(t,s)=>{if(e&&e===this.ignoreState){t({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",e,(o,r)=>{o?s(o):t(r)})}})}sendTo(e,t,s){return this.request({commandTimeout:!1,executor:o=>{this._socket.emit("sendTo",e,t,s,r=>{o(r)})}})}extendObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("extendObject",e,t,r=>{r?o(r):s()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(e){this.onLogHandlers.includes(e)||this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){this.onConnectionHandlers.includes(e)||this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return this.request({cacheKey:`enums_${e||"all"}`,forceUpdate:t,commandTimeout:!1,executor:(s,o)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:e?`enum.${e}.香`:"enum.香"},(r,M)=>{if(r)o(r);else{const a={};if(M)for(let u=0;u{s=s||"",o=o||"香",this._socket.emit("getObjectView",e,t,{startkey:s,endkey:o},(a,u)=>{if(a)M(a);else{const N={};if(u&&u.rows)for(let l=0;l{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(s,o)=>{var r;s?t(s):e((r=o.rows)==null?void 0:r.map(M=>M.value).filter(M=>!!M))})}})}readDir(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("readDir",e,t,(r,M)=>{r?o(r):s(M)})}})}readFile(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit(s?"readFile64":"readFile",e,t,(M,a,u)=>{M?r(M):o({file:a,mimeType:u})})}})}writeFile64(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{if(typeof s=="string")this._socket.emit("writeFile",e,t,s,M=>{M?r(M):o()});else{const M=btoa(new Uint8Array(s).reduce((a,u)=>a+String.fromCharCode(u),""));this._socket.emit("writeFile64",e,t,M,a=>{a?r(a):o()})}}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("deleteFile",e,t,r=>{r?o(r):s()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("deleteFolder",e,t,r=>{r?o(r):s()})}})}rename(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("rename",e,t,s,M=>{M?r(M):o()})}})}renameFile(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("renameFile",e,t,s,M=>{M?r(M):o()})}})}cmdExec(e,t,s,o){return this.request({commandTimeout:o,executor:(r,M,a)=>{e=Ke(e),this._socket.emit("cmdExec",e,s,t,u=>{a.elapsed||(a.clearTimeout(),u?M(u):r())})}})}getSystemConfig(e){return this.request({cacheKey:"systemConfig",forceUpdate:e,commandTimeout:!1,executor:async t=>{let s=await this.getObject("system.config");s??={},s.common??={},s.native??={},t(s)}})}getCompactSystemConfig(e){return this.request({cacheKey:"systemConfigCommon",forceUpdate:e,commandTimeout:!1,requireAdmin:!0,executor:(t,s)=>{this._socket.emit("getCompactSystemConfig",(o,r)=>{o?s(o):(r??={},r.common??={},r.native??={},t(r))})}})}getForeignStates(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getForeignStates",e||"*",(o,r)=>{o?s(o):t(r??{})})}})}getForeignObjects(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("getForeignObjects",e||"*",t,(r,M)=>{r?o(r):s(M)})}})}setSystemConfig(e){return this.setObject("system.config",e)}getRawSocket(){return this._socket}getHistory(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("getHistory",e,t,(r,M)=>{r?o(r):s(M)})}})}getHistoryEx(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("getHistory",e,t,(r,M,a,u)=>{r?o(r):s({values:M,sessionId:u,step:a})})}})}getIpAddresses(e,t){return e=Ke(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const o=await this.getObject(e);s((o==null?void 0:o.common.address)??[])}})}getVersion(e){return this.request({cacheKey:"version",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getVersion",(o,r,M)=>{o&&!r&&typeof o=="string"&&o.match(/\d+\.\d+\.\d+/)?t({version:o,serverName:"socketio"}):o?s(o):t({version:r,serverName:M})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getAdapterName",(s,o)=>{s?t(s):e(o)})}})}fileExists(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("fileExists",e,t,(r,M)=>{r?o(r):s(!!M)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:e=>{this._socket.emit("authEnabled",(t,s)=>{e(s)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async e=>{var s;const t=await this.getObject("system.meta.uuid");e((s=t==null?void 0:t.native)==null?void 0:s.uuid)}})}checkFeatureSupported(e,t){return this.request({cacheKey:`supportedFeatures_${e}`,forceUpdate:t,commandTimeout:!1,executor:(s,o)=>{this._socket.emit("checkFeatureSupported",e,(r,M)=>{r?o(r):s(M)})}})}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e=e||"",this.request({cacheKey:`instances_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const o=e?`system.adapter.${e}.`:"system.adapter.",r=`${o}香`,M=await this.getObjectViewSystem("instance",o,r),a=Object.values(M);s(e?a.filter(u=>u.common.name===e):a)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=e,e=""),e=e||"",this.request({cacheKey:`adapter_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const o=await this.getObjectViewSystem("adapter",`system.adapter.${e||""}`,`system.adapter.${e||"香"}`),r=Object.values(o);s(e?r.filter(M=>M.common.name===e):r)}})}getGroups(e){return this.request({cacheKey:"groups",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(o,r)=>{o?s(o):t(Hi(r))})}})}logout(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("logout",s=>{s?t(s):e(null)})}})}subscribeOnInstance(e,t,s,o){return this.request({commandTimeout:!1,executor:(r,M)=>{this._socket.emit("clientSubscribe",e,t,s,(a,u)=>{a?M(a):u&&(u.error?M(u.error):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]=this._instanceSubscriptions[e]||[],this._instanceSubscriptions[e].find(N=>N.messageType===t&&N.callback===o)||this._instanceSubscriptions[e].push({messageType:t,callback:o}),r(u)))})}})}unsubscribeFromInstance(e,t,s){var M;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let o;const r=[];do{o=!1;const a=(M=this._instanceSubscriptions[e])==null?void 0:M.findIndex(u=>(!t||u.messageType===t)&&(!s||u.callback===s));if(a!=null&&a!==-1){o=!0;const u=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(l=>l.messageType===u)||r.push(this.request({commandTimeout:!1,executor:(l,c)=>{this._socket.emit("clientUnsubscribe",e,t,(L,j)=>L?c(L):l(j))}}))}}while(o&&(!s||!t));return r.length?Promise.all(r).then(a=>!!a.find(u=>u)):Promise.resolve(!1)}log(e,t){return e?this.request({commandTimeout:!1,executor:s=>(this._socket.emit("log",e,t),s(null))}):Promise.resolve(null)}setStateToIgnore(e){this.ignoreState=e}}function lc(i,e){if(!e)return;let t;if(e.length<700&&(e.indexOf("/")!==-1||e.indexOf("\\")!==-1))if(i.toLowerCase().includes("private"))t="private";else if(e.toLowerCase().includes("private"))t="private";else if(i.toLowerCase().includes("public"))t="public";else if(e.toLowerCase().includes("public"))t="public";else if(i.toLowerCase().includes("chain"))t="chained";else if(e.toLowerCase().includes("chain"))t="chained";else return;else t=e.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||e.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",t==="public"&&e.split("-----END CERTIFICATE-----").filter(o=>o.replace(/\r\n|\r|\n/,"").trim()).length>1&&(t="chained");return{name:i,type:t}}function Lc(i){var s,o,r,M;const e=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],t=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((o=(s=i.native)==null?void 0:s.hardware)!=null&&o.networkInterfaces){const a=(M=(r=i.native)==null?void 0:r.hardware)==null?void 0:M.networkInterfaces;Object.keys(a).forEach(u=>{a[u].forEach(N=>{N.family!=="IPv6"?e.push({name:`[${N.family}] ${N.address} - ${u}`,address:N.address,family:"ipv4"}):t.push({name:`[${N.family}] ${N.address} - ${u}`,address:N.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class o4e extends je{constructor(e){super(e)}request(e){return super.request({requireAdmin:!0,...e})}getCertificates(e){return this.request({cacheKey:"cert",forceUpdate:e,commandTimeout:!1,executor:async t=>{var o;const s=await this.getObject("system.certificates");(o=s==null?void 0:s.native)!=null&&o.certificates?t(Object.entries(s.native.certificates).map(([r,M])=>lc(r,M)).filter(r=>!!r)):t([])}})}getLogs(e,t=200){return this.request({commandTimeout:!1,executor:s=>{this._socket.emit("sendToHost",e,"getLogs",t||200,o=>{s(o)})}})}upgradeAdapterWithWebserver(e,t){return this.request({commandTimeout:!1,executor:s=>{this._socket.emit("sendToHost",e,"upgradeAdapterWithWebserver",t,o=>{s(o)})}})}upgradeController(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("sendToHost",e,"upgradeController",{version:t,adminInstance:s},M=>{const a=M;a.error?r(a.error):o(a.result)})}})}updateLicenses(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("updateLicenses",e,t,(r,M)=>{r?o(r):s(M)})}})}upgradeOsPackages(e,t,s){return this.request({commandTimeout:!1,executor:o=>{this._socket.emit("sendToHost",e,"upgradeOsPackages",{packages:t,restart:!!s},r=>{o(r)})}})}getLogsFiles(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("readLogs",e,(o,r)=>{o&&s(o),t(r)})}})}delLogs(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("sendToHost",e,"delLogs",null,o=>{o&&s(o),t()})}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("deleteFile",e,t,r=>{r&&o(r),s()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(s,o)=>{this._socket.emit("deleteFolder",e,t,r=>{r&&o(r),s()})}})}rename(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("rename",e,t,s,M=>{M&&r(M),o()})}})}renameFile(e,t,s){return this.request({commandTimeout:!1,executor:(o,r)=>{this._socket.emit("renameFile",e,t,s,M=>{M&&r(M),o()})}})}getHosts(e){return this.request({cacheKey:"hosts",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(o,r)=>{o?s(o):t(Hi(r))})}})}getUsers(e){return this.request({cacheKey:"users",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(o,r)=>{o?s(o):t(Hi(r))})}})}renameGroup(e,t,s){return this.request({commandTimeout:!1,executor:async o=>{const r=await this.getGroups(!0),M=r.filter(u=>u._id.startsWith(`${e}.`));for(const u of M){const N=u._id,l=t+u._id.substring(e.length);u._id=l,await this.setObject(l,u),await this.delObject(N)}const a=r.find(u=>u._id===e);if(a){const u=a._id;a._id=t,s!==void 0&&(a.common??={},a.common.name=s),await this.setObject(t,a),await this.delObject(u)}o()}})}getHostInfo(e,t,s){return e=Ke(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{M.elapsed||(M.clearTimeout(),a===ye.PERMISSION_ERROR?r('May not read "getHostInfo"'):a?o(a):r('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,s){return e=Ke(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{M.elapsed||(M.clearTimeout(),a===ye.PERMISSION_ERROR?r('May not read "getHostInfoShort"'):a?o(a):r('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,s,o){return this.request({cacheKey:`repository_${e}`,forceUpdate:s,commandTimeout:o,executor:(r,M,a)=>{this._socket.emit("sendToHost",e,"getRepository",t,u=>{a.elapsed||(a.clearTimeout(),u===ye.PERMISSION_ERROR?M('May not read "getRepository"'):u?r(u):M('Cannot read "getRepository"'))})}})}getInstalled(e,t,s){return e=Ke(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("sendToHost",e,"getInstalled",null,a=>{M.elapsed||(M.clearTimeout(),a===ye.PERMISSION_ERROR?r('May not read "getInstalled"'):a?o(a):r('Cannot read "getInstalled"'))})}})}cmdExec(e,t,s,o){return this.request({commandTimeout:o,executor:(r,M,a)=>{e=Ke(e),this._socket.emit("cmdExec",e,s,t,u=>{a.elapsed||(a.clearTimeout(),u&&M(u),r())})}})}readBaseSettings(e){return e=Ms(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(t,s,o)=>{this._socket.emit("sendToHost",e,"readBaseSettings",null,r=>{o.elapsed||(o.clearTimeout(),r===ye.PERMISSION_ERROR?s('May not read "BaseSettings"'):r?r.error?s(new Error(r.error)):t(r):s('Cannot read "BaseSettings"'))})}})}writeBaseSettings(e,t){return e=Ms(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(s,o,r)=>{this._socket.emit("sendToHost",e,"writeBaseSettings",t,M=>{r.elapsed||(r.clearTimeout(),M===ye.PERMISSION_ERROR?o('May not write "BaseSettings"'):M?s(M):o('Cannot write "BaseSettings"'))})}})}restartController(e){return e=Ms(e),this.request({executor:(t,s,o)=>{this._socket.emit("sendToHost",e,"restartController",null,()=>{o.elapsed||(o.clearTimeout(),t(!0))})}})}getDiagData(e,t){return e=Ms(e),this.request({executor:(s,o,r)=>{this._socket.emit("sendToHost",e,"getDiagData",t,M=>{r.elapsed||(r.clearTimeout(),s(M||null))})}})}changePassword(e,t){return this.request({executor:(s,o,r)=>{this._socket.emit("changePassword",e,t,M=>{r.elapsed||(r.clearTimeout(),M&&o(M),s())})}})}getIpAddresses(e,t){return e=Ke(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const o=await this.getObject(e);s((o==null?void 0:o.common.address)??[])}})}getHostByIp(e,t){return e=Ms(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(s,o,r)=>{this._socket.emit("getHostByIp",e,(M,a)=>{if(r.elapsed)return;r.clearTimeout();const{IPs4:u,IPs6:N}=Lc(a);s([...u,...N])})}})}encrypt(e){return this.request({executor:(t,s,o)=>{this._socket.emit("encrypt",e,(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}decrypt(e){return this.request({executor:(t,s,o)=>{this._socket.emit("decrypt",e,(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}chmodFile(e,t,s){return this.request({executor:(o,r,M)=>{this._socket.emit("chmodFile",e,t,s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&r(a),o(u))})}})}chownFile(e,t,s){return this.request({executor:(o,r,M)=>{this._socket.emit("chownFile",e,t,s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&r(a),o(u))})}})}getNotifications(e,t){return this.request({executor:(s,o,r)=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},M=>{r.elapsed||(r.clearTimeout(),s(M))})}})}clearNotifications(e,t){return this.request({executor:(s,o,r)=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},M=>{r.elapsed||(r.clearTimeout(),s(M))})}})}getIsEasyModeStrict(){return this.request({executor:(e,t,s)=>{this._socket.emit("getIsEasyModeStrict",(o,r)=>{s.elapsed||(s.clearTimeout(),o&&t(o),e(!!r))})}})}getEasyMode(){return this.request({executor:(e,t,s)=>{this._socket.emit("getEasyMode",(o,r)=>{s.elapsed||(s.clearTimeout(),o?t(new Error(o)):e(r))})}})}getRatings(e){return this.request({executor:(t,s,o)=>{this._socket.emit("getRatings",!!e,(r,M)=>{o.elapsed||(o.clearTimeout(),r?s(new Error(r)):t(M))})}})}getCurrentSession(e){const t=new AbortController;return this.request({commandTimeout:e||5e3,onTimeout:()=>{t.abort()},executor:async(s,o,r)=>{try{const M=await fetch("./session",{signal:t.signal});if(r.elapsed)return;r.clearTimeout();const a=await M.json();s(a)}catch(M){o(`getCurrentSession: ${M}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(e,t,s)=>{this._socket.emit("getCurrentInstance",(o,r)=>{s.elapsed||(s.clearTimeout(),o?t(o):e(r))})}})}getAdapterInstances(e,t){let s;return typeof e=="boolean"?(t=e,s=""):s=e||"",this.request({cacheKey:`instances_${s}`,forceUpdate:t,executor:(o,r,M)=>{this._socket.emit("getAdapterInstances",s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&r(a),o(u))})}})}getAdapters(e,t){let s;return typeof e=="boolean"?(t=e,s=""):s=e||"",this.request({cacheKey:`adapter_${s}`,forceUpdate:t,executor:(o,r,M)=>{this._socket.emit("getAdapters",s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&r(a),o(u))})}})}getCompactAdapters(e){return this.request({cacheKey:"compactAdapters",forceUpdate:e,executor:(t,s,o)=>{this._socket.emit("getCompactAdapters",(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}getAdaptersResetCache(e){e=e??"",this.resetCache(`adapter_${e}`),this.resetCache("compactAdapters")}getCompactInstances(e){return this.request({cacheKey:"compactInstances",forceUpdate:e,executor:(t,s,o)=>{this._socket.emit("getCompactInstances",(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}getAdapterInstancesResetCache(e){e=e??"",this.resetCache(`instances_${e}`),this.resetCache("compactInstances")}getCompactInstalled(e,t,s){return e=Ke(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("getCompactInstalled",e,a=>{M.elapsed||(M.clearTimeout(),a===ye.PERMISSION_ERROR?r('May not read "getCompactInstalled"'):a?o(a):r('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(e){e?(this.resetCache(`installedCompact_${e}`),this.resetCache(`installed_${e}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(e,t,s){return e=Ke(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:s,executor:(o,r,M)=>{this._socket.emit("getCompactRepository",e,a=>{M.elapsed||(M.clearTimeout(),a===ye.PERMISSION_ERROR?r('May not read "getCompactRepository"'):a?o(a):r('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(e){e?(this.resetCache(`repositoryCompact_${e}`),this.resetCache(`repository_${e}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(e){return this.request({cacheKey:"hostsCompact",forceUpdate:e,executor:(t,s,o)=>{this._socket.emit("getCompactHosts",(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}getCompactSystemRepositories(e){return this.request({cacheKey:"repositoriesCompact",forceUpdate:e,executor:(t,s,o)=>{this._socket.emit("getCompactSystemRepositories",(r,M)=>{o.elapsed||(o.clearTimeout(),r&&s(r),t(M))})}})}}const Z=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Ot="9.30.0",te=globalThis;function Ni(){return li(te),te}function li(i){const e=i.__SENTRY__=i.__SENTRY__||{};return e.version=e.version||Ot,e[Ot]=e[Ot]||{}}function Li(i,e,t=te){const s=t.__SENTRY__=t.__SENTRY__||{},o=s[Ot]=s[Ot]||{};return o[i]||(o[i]=e())}const Ln=Object.prototype.toString;function ko(i){switch(Ln.call(i)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return Tt(i,Error)}}function es(i,e){return Ln.call(i)===`[object ${e}]`}function jn(i){return es(i,"ErrorEvent")}function gr(i){return es(i,"DOMError")}function jc(i){return es(i,"DOMException")}function tt(i){return es(i,"String")}function Yo(i){return typeof i=="object"&&i!==null&&"__sentry_template_string__"in i&&"__sentry_template_values__"in i}function Qo(i){return i===null||Yo(i)||typeof i!="object"&&typeof i!="function"}function ds(i){return es(i,"Object")}function ji(i){return typeof Event<"u"&&Tt(i,Event)}function gc(i){return typeof Element<"u"&&Tt(i,Element)}function Tc(i){return es(i,"RegExp")}function gi(i){return!!(i!=null&&i.then&&typeof i.then=="function")}function yc(i){return ds(i)&&"nativeEvent"in i&&"preventDefault"in i&&"stopPropagation"in i}function Tt(i,e){try{return i instanceof e}catch{return!1}}function gn(i){return!!(typeof i=="object"&&i!==null&&(i.__isVue||i._isVue))}function Dc(i){return typeof Request<"u"&&Tt(i,Request)}const Uo=te,dc=80;function Tn(i,e={}){if(!i)return"";try{let t=i;const s=5,o=[];let r=0,M=0;const a=" > ",u=a.length;let N;const l=Array.isArray(e)?e:e.keyAttrs,c=!Array.isArray(e)&&e.maxStringLength||dc;for(;t&&r++1&&M+o.length*u+N.length>=c));)o.push(N),M+=N.length,t=t.parentNode;return o.reverse().join(a)}catch{return""}}function zc(i,e){const t=i,s=[];if(!(t!=null&&t.tagName))return"";if(Uo.HTMLElement&&t instanceof HTMLElement&&t.dataset){if(t.dataset.sentryComponent)return t.dataset.sentryComponent;if(t.dataset.sentryElement)return t.dataset.sentryElement}s.push(t.tagName.toLowerCase());const o=e!=null&&e.length?e.filter(M=>t.getAttribute(M)).map(M=>[M,t.getAttribute(M)]):null;if(o!=null&&o.length)o.forEach(M=>{s.push(`[${M[0]}="${M[1]}"]`)});else{t.id&&s.push(`#${t.id}`);const M=t.className;if(M&&tt(M)){const a=M.split(/\s+/);for(const u of a)s.push(`.${u}`)}}const r=["aria-label","type","name","title","alt"];for(const M of r){const a=t.getAttribute(M);a&&s.push(`[${M}="${a}"]`)}return s.join("")}function vo(){try{return Uo.document.location.href}catch{return""}}function Ic(i){if(!Uo.HTMLElement)return null;let e=i;const t=5;for(let s=0;s{const r=ti[o];t[o]=e[o],e[o]=r});try{return i()}finally{s.forEach(o=>{e[o]=t[o]})}}function Cc(){let i=!1;const e={enable:()=>{i=!0},disable:()=>{i=!1},isEnabled:()=>i};return Z?Vi.forEach(t=>{e[t]=(...s)=>{i&&ts(()=>{te.console[t](`${wc}[${t}]:`,...s)})}}):Vi.forEach(t=>{e[t]=()=>{}}),e}const B=Li("logger",Cc);function si(i,e=0){return typeof i!="string"||e===0||i.length<=e?i:`${i.slice(0,e)}...`}function Tr(i,e){if(!Array.isArray(i))return"";const t=[];for(let s=0;shc(i,s,t))}function Ee(i,e,t){if(!(e in i))return;const s=i[e];if(typeof s!="function")return;const o=t(s);typeof o=="function"&&yn(o,s);try{i[e]=o}catch{Z&&B.log(`Failed to replace method "${e}" in object`,i)}}function Et(i,e,t){try{Object.defineProperty(i,e,{value:t,writable:!0,configurable:!0})}catch{Z&&B.log(`Failed to add non-enumerable property "${e}" to object`,i)}}function yn(i,e){try{const t=e.prototype||{};i.prototype=e.prototype=t,Et(i,"__sentry_original__",e)}catch{}}function bo(i){return i.__sentry_original__}function Dn(i){if(ko(i))return{message:i.message,name:i.name,stack:i.stack,...Dr(i)};if(ji(i)){const e={type:i.type,target:yr(i.target),currentTarget:yr(i.currentTarget),...Dr(i)};return typeof CustomEvent<"u"&&Tt(i,CustomEvent)&&(e.detail=i.detail),e}else return i}function yr(i){try{return gc(i)?Tn(i):Object.prototype.toString.call(i)}catch{return""}}function Dr(i){if(typeof i=="object"&&i!==null){const e={};for(const t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t]);return e}else return{}}function Ac(i,e=40){const t=Object.keys(Dn(i));t.sort();const s=t[0];if(!s)return"[object has no keys]";if(s.length>=e)return si(s,e);for(let o=t.length;o>0;o--){const r=t.slice(0,o).join(", ");if(!(r.length>e))return o===t.length?r:si(r,e)}return""}function pc(){const i=te;return i.crypto||i.msCrypto}function fe(i=pc()){let e=()=>Math.random()*16;try{if(i!=null&&i.randomUUID)return i.randomUUID().replace(/-/g,"");i!=null&&i.getRandomValues&&(e=()=>{const t=new Uint8Array(1);return i.getRandomValues(t),t[0]})}catch{}return("10000000100040008000"+1e11).replace(/[018]/g,t=>(t^(e()&15)>>t/4).toString(16))}function dn(i){var e,t;return(t=(e=i.exception)==null?void 0:e.values)==null?void 0:t[0]}function pt(i){const{message:e,event_id:t}=i;if(e)return e;const s=dn(i);return s?s.type&&s.value?`${s.type}: ${s.value}`:s.type||s.value||t||"":t||""}function Zi(i,e,t){const s=i.exception=i.exception||{},o=s.values=s.values||[],r=o[0]=o[0]||{};r.value||(r.value=e||""),r.type||(r.type="Error")}function Zt(i,e){const t=dn(i);if(!t)return;const s={type:"generic",handled:!0},o=t.mechanism;if(t.mechanism={...s,...o,...e},e&&"data"in e){const r={...o==null?void 0:o.data,...e.data};t.mechanism.data=r}}function dr(i){if(mc(i))return!0;try{Et(i,"__sentry_captured__",!0)}catch{}return!1}function mc(i){try{return i.__sentry_captured__}catch{}}const zn=1e3;function ps(){return Date.now()/zn}function Oc(){const{performance:i}=te;if(!(i!=null&&i.now))return ps;const e=Date.now()-i.now(),t=i.timeOrigin==null?e:i.timeOrigin;return()=>(t+i.now())/zn}const st=Oc();function Ec(i){const e=st(),t={sid:fe(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>Sc(t)};return i&&Xt(t,i),t}function Xt(i,e={}){if(e.user&&(!i.ipAddress&&e.user.ip_address&&(i.ipAddress=e.user.ip_address),!i.did&&!e.did&&(i.did=e.user.id||e.user.email||e.user.username)),i.timestamp=e.timestamp||st(),e.abnormal_mechanism&&(i.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(i.ignoreDuration=e.ignoreDuration),e.sid&&(i.sid=e.sid.length===32?e.sid:fe()),e.init!==void 0&&(i.init=e.init),!i.did&&e.did&&(i.did=`${e.did}`),typeof e.started=="number"&&(i.started=e.started),i.ignoreDuration)i.duration=void 0;else if(typeof e.duration=="number")i.duration=e.duration;else{const t=i.timestamp-i.started;i.duration=t>=0?t:0}e.release&&(i.release=e.release),e.environment&&(i.environment=e.environment),!i.ipAddress&&e.ipAddress&&(i.ipAddress=e.ipAddress),!i.userAgent&&e.userAgent&&(i.userAgent=e.userAgent),typeof e.errors=="number"&&(i.errors=e.errors),e.status&&(i.status=e.status)}function _c(i,e){let t={};i.status==="ok"&&(t={status:"exited"}),Xt(i,t)}function Sc(i){return{sid:`${i.sid}`,init:i.init,started:new Date(i.started*1e3).toISOString(),timestamp:new Date(i.timestamp*1e3).toISOString(),status:i.status,errors:i.errors,did:typeof i.did=="number"||typeof i.did=="string"?`${i.did}`:void 0,duration:i.duration,abnormal_mechanism:i.abnormal_mechanism,attrs:{release:i.release,environment:i.environment,ip_address:i.ipAddress,user_agent:i.userAgent}}}function ms(i,e,t=2){if(!e||typeof e!="object"||t<=0)return e;if(i&&Object.keys(e).length===0)return i;const s={...i};for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(s[o]=ms(s[o],e[o],t-1));return s}const Xi="_sentrySpan";function zr(i,e){e?Et(i,Xi,e):delete i[Xi]}function Ir(i){return i[Xi]}function wr(){return fe()}function In(){return fe().substring(16)}const xc=100;class it{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:wr(),sampleRand:Math.random()}}clone(){const e=new it;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,zr(e,Ir(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&Xt(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this._tags={...this._tags,[e]:t},this._notifyScopeListeners(),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const t=typeof e=="function"?e(this):e,s=t instanceof it?t.getScopeData():ds(t)?e:void 0,{tags:o,extra:r,user:M,contexts:a,level:u,fingerprint:N=[],propagationContext:l}=s||{};return this._tags={...this._tags,...o},this._extra={...this._extra,...r},this._contexts={...this._contexts,...a},M&&Object.keys(M).length&&(this._user=M),u&&(this._level=u),N.length&&(this._fingerprint=N),l&&(this._propagationContext=l),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._session=void 0,zr(this,void 0),this._attachments=[],this.setPropagationContext({traceId:wr(),sampleRand:Math.random()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){var r;const s=typeof t=="number"?t:xc;if(s<=0)return this;const o={timestamp:ps(),...e,message:e.message?si(e.message,2048):e.message};return this._breadcrumbs.push(o),this._breadcrumbs.length>s&&(this._breadcrumbs=this._breadcrumbs.slice(-s),(r=this._client)==null||r.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),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:Ir(this)}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=ms(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){const s=(t==null?void 0:t.event_id)||fe();if(!this._client)return B.warn("No client configured on scope - will not capture exception!"),s;const o=new Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:o,...t,event_id:s},this),s}captureMessage(e,t,s){const o=(s==null?void 0:s.event_id)||fe();if(!this._client)return B.warn("No client configured on scope - will not capture message!"),o;const r=new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:r,...s,event_id:o},this),o}captureEvent(e,t){const s=(t==null?void 0:t.event_id)||fe();return this._client?(this._client.captureEvent(e,{...t,event_id:s},this),s):(B.warn("No client configured on scope - will not capture event!"),s)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function fc(){return Li("defaultCurrentScope",()=>new it)}function kc(){return Li("defaultIsolationScope",()=>new it)}class Yc{constructor(e,t){let s;e?s=e:s=new it;let o;t?o=t:o=new it,this._stack=[{scope:s}],this._isolationScope=o}withScope(e){const t=this._pushScope();let s;try{s=e(t)}catch(o){throw this._popScope(),o}return gi(s)?s.then(o=>(this._popScope(),o),o=>{throw this._popScope(),o}):(this._popScope(),s)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function Kt(){const i=Ni(),e=li(i);return e.stack=e.stack||new Yc(fc(),kc())}function Qc(i){return Kt().withScope(i)}function Uc(i,e){const t=Kt();return t.withScope(()=>(t.getStackTop().scope=i,e(i)))}function Cr(i){return Kt().withScope(()=>i(Kt().getIsolationScope()))}function vc(){return{withIsolationScope:Cr,withScope:Qc,withSetScope:Uc,withSetIsolationScope:(i,e)=>Cr(e),getCurrentScope:()=>Kt().getScope(),getIsolationScope:()=>Kt().getIsolationScope()}}function $o(i){const e=li(i);return e.acs?e.acs:vc()}function ot(){const i=Ni();return $o(i).getCurrentScope()}function Os(){const i=Ni();return $o(i).getIsolationScope()}function bc(){return Li("globalScope",()=>new it)}function $c(...i){const e=Ni(),t=$o(e);if(i.length===2){const[s,o]=i;return s?t.withSetScope(s,o):t.withScope(o)}return t.withScope(i[0])}function we(){return ot().getClient()}function Pc(i){const e=i.getPropagationContext(),{traceId:t,parentSpanId:s,propagationSpanId:o}=e,r={trace_id:t,span_id:o||In()};return s&&(r.parent_span_id=s),r}const Wc="sentry.source",Rc="sentry.sample_rate",Jc="sentry.previous_trace_sample_rate",Bc="sentry.op",Fc="sentry.origin",wn="sentry.profile_id",Cn="sentry.exclusive_time",Gc=0,Hc=1,Vc="_sentryScope",Zc="_sentryIsolationScope";function hn(i){return{scope:i[Vc],isolationScope:i[Zc]}}function Xc(i){if(typeof i=="boolean")return Number(i);const e=typeof i=="string"?parseFloat(i):i;if(!(typeof e!="number"||isNaN(e)||e<0||e>1))return e}const Kc="sentry-",qc=/^sentry-/;function eu(i){const e=tu(i);if(!e)return;const t=Object.entries(e).reduce((s,[o,r])=>{if(o.match(qc)){const M=o.slice(Kc.length);s[M]=r}return s},{});if(Object.keys(t).length>0)return t}function tu(i){if(!(!i||!tt(i)&&!Array.isArray(i)))return Array.isArray(i)?i.reduce((e,t)=>{const s=hr(t);return Object.entries(s).forEach(([o,r])=>{e[o]=r}),e},{}):hr(i)}function hr(i){return i.split(",").map(e=>e.split("=").map(t=>{try{return decodeURIComponent(t.trim())}catch{return}})).reduce((e,[t,s])=>(t&&s&&(e[t]=s),e),{})}const An=1;let Ar=!1;function su(i){const{spanId:e,traceId:t,isRemote:s}=i.spanContext(),o=s?e:Po(i).parent_span_id,r=hn(i).scope,M=s?(r==null?void 0:r.getPropagationContext().propagationSpanId)||In():e;return{parent_span_id:o,span_id:M,trace_id:t}}function iu(i){if(i&&i.length>0)return i.map(({context:{spanId:e,traceId:t,traceFlags:s,...o},attributes:r})=>({span_id:e,trace_id:t,sampled:s===An,attributes:r,...o}))}function pr(i){return typeof i=="number"?mr(i):Array.isArray(i)?i[0]+i[1]/1e9:i instanceof Date?mr(i.getTime()):st()}function mr(i){return i>9999999999?i/1e3:i}function Po(i){var s;if(ru(i))return i.getSpanJSON();const{spanId:e,traceId:t}=i.spanContext();if(ou(i)){const{attributes:o,startTime:r,name:M,endTime:a,status:u,links:N}=i,l="parentSpanId"in i?i.parentSpanId:"parentSpanContext"in i?(s=i.parentSpanContext)==null?void 0:s.spanId:void 0;return{span_id:e,trace_id:t,data:o,description:M,parent_span_id:l,start_timestamp:pr(r),timestamp:pr(a)||void 0,status:nu(u),op:o[Bc],origin:o[Fc],links:iu(N)}}return{span_id:e,trace_id:t,start_timestamp:0,data:{}}}function ou(i){const e=i;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function ru(i){return typeof i.getSpanJSON=="function"}function Mu(i){const{traceFlags:e}=i.spanContext();return e===An}function nu(i){if(!(!i||i.code===Gc))return i.code===Hc?"ok":i.message||"unknown_error"}const au="_sentryRootSpan";function pn(i){return i[au]||i}function Or(){Ar||(ts(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.")}),Ar=!0)}const mn=50,_t="?",Er=/\(error: (.*)\)/,_r=/captureMessage|captureException/;function On(...i){const e=i.sort((t,s)=>t[0]-s[0]).map(t=>t[1]);return(t,s=0,o=0)=>{const r=[],M=t.split(` +`);for(let a=s;a1024)continue;const N=Er.test(u)?u.replace(Er,"$1"):u;if(!N.match(/\S*Error: /)){for(const l of e){const c=l(N);if(c){r.push(c);break}}if(r.length>=mn+o)break}}return uu(r.slice(o))}}function cu(i){return Array.isArray(i)?On(...i):i}function uu(i){if(!i.length)return[];const e=Array.from(i);return/sentryWrapped/.test(fs(e).function||"")&&e.pop(),e.reverse(),_r.test(fs(e).function||"")&&(e.pop(),_r.test(fs(e).function||"")&&e.pop()),e.slice(0,mn).map(t=>({...t,filename:t.filename||fs(e).filename,function:t.function||_t}))}function fs(i){return i[i.length-1]||{}}const pi="";function yt(i){try{return!i||typeof i!="function"?pi:i.name||pi}catch{return pi}}function Sr(i){const e=i.exception;if(e){const t=[];try{return e.values.forEach(s=>{s.stacktrace.frames&&t.push(...s.stacktrace.frames)}),t}catch{return}}}const Vs={},xr={};function kt(i,e){Vs[i]=Vs[i]||[],Vs[i].push(e)}function Yt(i,e){if(!xr[i]){xr[i]=!0;try{e()}catch(t){Z&&B.error(`Error while instrumenting ${i}`,t)}}}function ve(i,e){const t=i&&Vs[i];if(t)for(const s of t)try{s(e)}catch(o){Z&&B.error(`Error while triggering instrumentation handler. Type: ${i} Name: ${yt(s)} -Error:`,o)}}let mi=null;function cu(i){const e="error";kt(e,i),Yt(e,uu)}function uu(){mi=te.onerror,te.onerror=function(i,e,t,s,o){return ve("error",{column:s,error:o,line:t,msg:i,url:e}),mi?mi.apply(this,arguments):!1},te.onerror.__SENTRY_INSTRUMENTED__=!0}let Oi=null;function Nu(i){const e="unhandledrejection";kt(e,i),Yt(e,lu)}function lu(){Oi=te.onunhandledrejection,te.onunhandledrejection=function(i){return ve("unhandledrejection",i),Oi?Oi.apply(this,arguments):!0},te.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function Lu(i){var t;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=i||((t=we())==null?void 0:t.getOptions());return!!e&&(e.tracesSampleRate!=null||!!e.tracesSampler)}const Wo="production",ju=/^o(\d+)\./,gu=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function Tu(i){return i==="http"||i==="https"}function yi(i,e=!1){const{host:t,path:s,pass:o,port:r,projectId:M,protocol:n,publicKey:u}=i;return`${n}://${u}${e&&o?`:${o}`:""}@${t}${r?`:${r}`:""}/${s&&`${s}/`}${M}`}function yu(i){const e=gu.exec(i);if(!e){ts(()=>{console.error(`Invalid Sentry Dsn: ${i}`)});return}const[t,s,o="",r="",M="",n=""]=e.slice(1);let u="",N=n;const l=N.split("/");if(l.length>1&&(u=l.slice(0,-1).join("/"),N=l.pop()),N){const c=N.match(/^\d+/);c&&(N=c[0])}return mn({host:r,pass:o,path:u,projectId:N,port:M,protocol:t,publicKey:s})}function mn(i){return{protocol:i.protocol,publicKey:i.publicKey||"",pass:i.pass||"",host:i.host,port:i.port||"",path:i.path||"",projectId:i.projectId}}function Du(i){if(!Z)return!0;const{port:e,projectId:t,protocol:s}=i;return["protocol","publicKey","host","projectId"].find(M=>i[M]?!1:(B.error(`Invalid Sentry Dsn: ${M} missing`),!0))?!1:t.match(/^\d+$/)?Tu(s)?e&&isNaN(parseInt(e,10))?(B.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(B.error(`Invalid Sentry Dsn: Invalid protocol ${s}`),!1):(B.error(`Invalid Sentry Dsn: Invalid projectId ${t}`),!1)}function du(i){const e=i.match(ju);return e==null?void 0:e[1]}function zu(i){const e=typeof i=="string"?yu(i):mn(i);if(!(!e||!Du(e)))return e}const Iu="_frozenDsc";function On(i,e){const t=e.getOptions(),{publicKey:s,host:o}=e.getDsn()||{};let r;t.orgId?r=String(t.orgId):o&&(r=du(o));const M={environment:t.environment||Wo,release:t.release,public_key:s,trace_id:i,org_id:r};return e.emit("createDsc",M),M}function wu(i,e){const t=e.getPropagationContext();return t.dsc||On(t.traceId,i)}function Cu(i){var T;const e=we();if(!e)return{};const t=hn(i),s=Po(t),o=s.data,r=t.spanContext().traceState,M=(r==null?void 0:r.get("sentry.sample_rate"))??o[Pc]??o[Wc];function n(D){return(typeof M=="number"||typeof M=="string")&&(D.sample_rate=`${M}`),D}const u=t[Iu];if(u)return n(u);const N=r==null?void 0:r.get("sentry.dsc"),l=N&&Kc(N);if(l)return n(l);const c=On(i.spanContext().traceId,e),L=o[$c],j=s.description;return L!=="url"&&j&&(c.transaction=j),Lu()&&(c.sampled=String(ou(t)),c.sample_rand=(r==null?void 0:r.get("sentry.sample_rand"))??((T=wn(t).scope)==null?void 0:T.getPropagationContext().sampleRand.toString())),n(c),e.emit("createDsc",c,t),c}function qe(i,e=100,t=1/0){try{return Ki("",i,e,t)}catch(s){return{ERROR:`**non-serializable** (${s})`}}}function En(i,e=3,t=100*1024){const s=qe(i,e);return mu(s)>t?En(i,e-1,t):s}function Ki(i,e,t=1/0,s=1/0,o=Ou()){const[r,M]=o;if(e==null||["boolean","string"].includes(typeof e)||typeof e=="number"&&Number.isFinite(e))return e;const n=hu(i,e);if(!n.startsWith("[object "))return n;if(e.__sentry_skip_normalization__)return e;const u=typeof e.__sentry_override_normalization_depth__=="number"?e.__sentry_override_normalization_depth__:t;if(u===0)return n.replace("object ","");if(r(e))return"[Circular ~]";const N=e;if(N&&typeof N.toJSON=="function")try{const j=N.toJSON();return Ki("",j,u-1,s,o)}catch{}const l=Array.isArray(e)?[]:{};let c=0;const L=Tn(e);for(const j in L){if(!Object.prototype.hasOwnProperty.call(L,j))continue;if(c>=s){l[j]="[MaxProperties ~]";break}const T=L[j];l[j]=Ki(j,T,u-1,s,o),c++}return M(e),l}function hu(i,e){try{if(i==="domain"&&e&&typeof e=="object"&&e._events)return"[Domain]";if(i==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&e===global)return"[Global]";if(typeof window<"u"&&e===window)return"[Window]";if(typeof document<"u"&&e===document)return"[Document]";if(Ln(e))return"[VueViewModel]";if(gc(e))return"[SyntheticEvent]";if(typeof e=="number"&&!Number.isFinite(e))return`[${e}]`;if(typeof e=="function")return`[Function: ${yt(e)}]`;if(typeof e=="symbol")return`[${String(e)}]`;if(typeof e=="bigint")return`[BigInt: ${String(e)}]`;const t=Au(e);return/^HTML(\w*)Element$/.test(t)?`[HTMLElement: ${t}]`:`[object ${t}]`}catch(t){return`**non-serializable** (${t})`}}function Au(i){const e=Object.getPrototypeOf(i);return e!=null&&e.constructor?e.constructor.name:"null prototype"}function pu(i){return~-encodeURI(i).split(/%..|./).length}function mu(i){return pu(JSON.stringify(i))}function Ou(){const i=new WeakSet;function e(s){return i.has(s)?!0:(i.add(s),!1)}function t(s){i.delete(s)}return[e,t]}function Es(i,e=[]){return[i,e]}function Eu(i,e){const[t,s]=i;return[t,[...s,e]]}function fr(i,e){const t=i[1];for(const s of t){const o=s[0].type;if(e(s,o))return!0}return!1}function qi(i){const e=li(te);return e.encodePolyfill?e.encodePolyfill(i):new TextEncoder().encode(i)}function _u(i){const[e,t]=i;let s=JSON.stringify(e);function o(r){typeof s=="string"?s=typeof r=="string"?s+r:[qi(s),r]:s.push(typeof r=="string"?qi(r):r)}for(const r of t){const[M,n]=r;if(o(` +Error:`,o)}}let mi=null;function Nu(i){const e="error";kt(e,i),Yt(e,lu)}function lu(){mi=te.onerror,te.onerror=function(i,e,t,s,o){return ve("error",{column:s,error:o,line:t,msg:i,url:e}),mi?mi.apply(this,arguments):!1},te.onerror.__SENTRY_INSTRUMENTED__=!0}let Oi=null;function Lu(i){const e="unhandledrejection";kt(e,i),Yt(e,ju)}function ju(){Oi=te.onunhandledrejection,te.onunhandledrejection=function(i){return ve("unhandledrejection",i),Oi?Oi.apply(this,arguments):!0},te.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function gu(i){var t;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=i||((t=we())==null?void 0:t.getOptions());return!!e&&(e.tracesSampleRate!=null||!!e.tracesSampler)}const Wo="production",Tu=/^o(\d+)\./,yu=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function Du(i){return i==="http"||i==="https"}function yi(i,e=!1){const{host:t,path:s,pass:o,port:r,projectId:M,protocol:a,publicKey:u}=i;return`${a}://${u}${e&&o?`:${o}`:""}@${t}${r?`:${r}`:""}/${s&&`${s}/`}${M}`}function du(i){const e=yu.exec(i);if(!e){ts(()=>{console.error(`Invalid Sentry Dsn: ${i}`)});return}const[t,s,o="",r="",M="",a=""]=e.slice(1);let u="",N=a;const l=N.split("/");if(l.length>1&&(u=l.slice(0,-1).join("/"),N=l.pop()),N){const c=N.match(/^\d+/);c&&(N=c[0])}return En({host:r,pass:o,path:u,projectId:N,port:M,protocol:t,publicKey:s})}function En(i){return{protocol:i.protocol,publicKey:i.publicKey||"",pass:i.pass||"",host:i.host,port:i.port||"",path:i.path||"",projectId:i.projectId}}function zu(i){if(!Z)return!0;const{port:e,projectId:t,protocol:s}=i;return["protocol","publicKey","host","projectId"].find(M=>i[M]?!1:(B.error(`Invalid Sentry Dsn: ${M} missing`),!0))?!1:t.match(/^\d+$/)?Du(s)?e&&isNaN(parseInt(e,10))?(B.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(B.error(`Invalid Sentry Dsn: Invalid protocol ${s}`),!1):(B.error(`Invalid Sentry Dsn: Invalid projectId ${t}`),!1)}function Iu(i){const e=i.match(Tu);return e==null?void 0:e[1]}function wu(i){const e=typeof i=="string"?du(i):En(i);if(!(!e||!zu(e)))return e}const Cu="_frozenDsc";function _n(i,e){const t=e.getOptions(),{publicKey:s,host:o}=e.getDsn()||{};let r;t.orgId?r=String(t.orgId):o&&(r=Iu(o));const M={environment:t.environment||Wo,release:t.release,public_key:s,trace_id:i,org_id:r};return e.emit("createDsc",M),M}function hu(i,e){const t=e.getPropagationContext();return t.dsc||_n(t.traceId,i)}function Au(i){var T;const e=we();if(!e)return{};const t=pn(i),s=Po(t),o=s.data,r=t.spanContext().traceState,M=(r==null?void 0:r.get("sentry.sample_rate"))??o[Rc]??o[Jc];function a(D){return(typeof M=="number"||typeof M=="string")&&(D.sample_rate=`${M}`),D}const u=t[Cu];if(u)return a(u);const N=r==null?void 0:r.get("sentry.dsc"),l=N&&eu(N);if(l)return a(l);const c=_n(i.spanContext().traceId,e),L=o[Wc],j=s.description;return L!=="url"&&j&&(c.transaction=j),gu()&&(c.sampled=String(Mu(t)),c.sample_rand=(r==null?void 0:r.get("sentry.sample_rand"))??((T=hn(t).scope)==null?void 0:T.getPropagationContext().sampleRand.toString())),a(c),e.emit("createDsc",c,t),c}function qe(i,e=100,t=1/0){try{return Ki("",i,e,t)}catch(s){return{ERROR:`**non-serializable** (${s})`}}}function Sn(i,e=3,t=100*1024){const s=qe(i,e);return Eu(s)>t?Sn(i,e-1,t):s}function Ki(i,e,t=1/0,s=1/0,o=_u()){const[r,M]=o;if(e==null||["boolean","string"].includes(typeof e)||typeof e=="number"&&Number.isFinite(e))return e;const a=pu(i,e);if(!a.startsWith("[object "))return a;if(e.__sentry_skip_normalization__)return e;const u=typeof e.__sentry_override_normalization_depth__=="number"?e.__sentry_override_normalization_depth__:t;if(u===0)return a.replace("object ","");if(r(e))return"[Circular ~]";const N=e;if(N&&typeof N.toJSON=="function")try{const j=N.toJSON();return Ki("",j,u-1,s,o)}catch{}const l=Array.isArray(e)?[]:{};let c=0;const L=Dn(e);for(const j in L){if(!Object.prototype.hasOwnProperty.call(L,j))continue;if(c>=s){l[j]="[MaxProperties ~]";break}const T=L[j];l[j]=Ki(j,T,u-1,s,o),c++}return M(e),l}function pu(i,e){try{if(i==="domain"&&e&&typeof e=="object"&&e._events)return"[Domain]";if(i==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&e===global)return"[Global]";if(typeof window<"u"&&e===window)return"[Window]";if(typeof document<"u"&&e===document)return"[Document]";if(gn(e))return"[VueViewModel]";if(yc(e))return"[SyntheticEvent]";if(typeof e=="number"&&!Number.isFinite(e))return`[${e}]`;if(typeof e=="function")return`[Function: ${yt(e)}]`;if(typeof e=="symbol")return`[${String(e)}]`;if(typeof e=="bigint")return`[BigInt: ${String(e)}]`;const t=mu(e);return/^HTML(\w*)Element$/.test(t)?`[HTMLElement: ${t}]`:`[object ${t}]`}catch(t){return`**non-serializable** (${t})`}}function mu(i){const e=Object.getPrototypeOf(i);return e!=null&&e.constructor?e.constructor.name:"null prototype"}function Ou(i){return~-encodeURI(i).split(/%..|./).length}function Eu(i){return Ou(JSON.stringify(i))}function _u(){const i=new WeakSet;function e(s){return i.has(s)?!0:(i.add(s),!1)}function t(s){i.delete(s)}return[e,t]}function Es(i,e=[]){return[i,e]}function Su(i,e){const[t,s]=i;return[t,[...s,e]]}function fr(i,e){const t=i[1];for(const s of t){const o=s[0].type;if(e(s,o))return!0}return!1}function qi(i){const e=li(te);return e.encodePolyfill?e.encodePolyfill(i):new TextEncoder().encode(i)}function xu(i){const[e,t]=i;let s=JSON.stringify(e);function o(r){typeof s=="string"?s=typeof r=="string"?s+r:[qi(s),r]:s.push(typeof r=="string"?qi(r):r)}for(const r of t){const[M,a]=r;if(o(` ${JSON.stringify(M)} -`),typeof n=="string"||n instanceof Uint8Array)o(n);else{let u;try{u=JSON.stringify(n)}catch{u=JSON.stringify(qe(n))}o(u)}}return typeof s=="string"?s:Su(s)}function Su(i){const e=i.reduce((o,r)=>o+r.length,0),t=new Uint8Array(e);let s=0;for(const o of i)t.set(o,s),s+=o.length;return t}function xu(i){const e=typeof i.data=="string"?qi(i.data):i.data;return[{type:"attachment",length:e.length,filename:i.filename,content_type:i.contentType,attachment_type:i.attachmentType},e]}const fu={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",raw_security:"security",log:"log_item"};function kr(i){return fu[i]}function _n(i){if(!(i!=null&&i.sdk))return;const{name:e,version:t}=i.sdk;return{name:e,version:t}}function ku(i,e,t,s){var r;const o=(r=i.sdkProcessingMetadata)==null?void 0:r.dynamicSamplingContext;return{event_id:i.event_id,sent_at:new Date().toISOString(),...e&&{sdk:e},...!!t&&s&&{dsn:yi(s)},...o&&{trace:o}}}function Yu(i,e){return e&&(i.sdk=i.sdk||{},i.sdk.name=i.sdk.name||e.name,i.sdk.version=i.sdk.version||e.version,i.sdk.integrations=[...i.sdk.integrations||[],...e.integrations||[]],i.sdk.packages=[...i.sdk.packages||[],...e.packages||[]]),i}function Qu(i,e,t,s){const o=_n(t),r={sent_at:new Date().toISOString(),...o&&{sdk:o},...!!s&&e&&{dsn:yi(e)}},M="aggregates"in i?[{type:"sessions"},i]:[{type:"session"},i.toJSON()];return Es(r,[M])}function Uu(i,e,t,s){const o=_n(t),r=i.type&&i.type!=="replay_event"?i.type:"event";Yu(i,t==null?void 0:t.sdk);const M=ku(i,o,s,e);return delete i.sdkProcessingMetadata,Es(M,[[{type:r},i]])}var et;(function(i){i[i.PENDING=0]="PENDING";const t=1;i[i.RESOLVED=t]="RESOLVED";const s=2;i[i.REJECTED=s]="REJECTED"})(et||(et={}));function St(i){return new Dt(e=>{e(i)})}function ii(i){return new Dt((e,t)=>{t(i)})}class Dt{constructor(e){this._state=et.PENDING,this._handlers=[],this._runExecutor(e)}then(e,t){return new Dt((s,o)=>{this._handlers.push([!1,r=>{if(!e)s(r);else try{s(e(r))}catch(M){o(M)}},r=>{if(!t)o(r);else try{s(t(r))}catch(M){o(M)}}]),this._executeHandlers()})}catch(e){return this.then(t=>t,e)}finally(e){return new Dt((t,s)=>{let o,r;return this.then(M=>{r=!1,o=M,e&&e()},M=>{r=!0,o=M,e&&e()}).then(()=>{if(r){s(o);return}t(o)})})}_executeHandlers(){if(this._state===et.PENDING)return;const e=this._handlers.slice();this._handlers=[],e.forEach(t=>{t[0]||(this._state===et.RESOLVED&&t[1](this._value),this._state===et.REJECTED&&t[2](this._value),t[0]=!0)})}_runExecutor(e){const t=(r,M)=>{if(this._state===et.PENDING){if(gi(M)){M.then(s,o);return}this._state=r,this._value=M,this._executeHandlers()}},s=r=>{t(et.RESOLVED,r)},o=r=>{t(et.REJECTED,r)};try{e(s,o)}catch(r){o(r)}}}function eo(i,e,t,s=0){return new Dt((o,r)=>{const M=i[s];if(e===null||typeof M!="function")o(e);else{const n=M({...e},t);Z&&M.id&&n===null&&B.log(`Event processor "${M.id}" dropped event`),gi(n)?n.then(u=>eo(i,u,t,s+1).then(o)).then(null,r):eo(i,n,t,s+1).then(o).then(null,r)}})}let ks,Yr,Ys;function vu(i){const e=te._sentryDebugIds;if(!e)return{};const t=Object.keys(e);return Ys&&t.length===Yr||(Yr=t.length,Ys=t.reduce((s,o)=>{ks||(ks={});const r=ks[o];if(r)s[r[0]]=r[1];else{const M=i(o);for(let n=M.length-1;n>=0;n--){const u=M[n],N=u==null?void 0:u.filename,l=e[o];if(N&&l){s[N]=l,ks[o]=[N,l];break}}}return s},{})),Ys}function bu(i,e){const{fingerprint:t,span:s,breadcrumbs:o,sdkProcessingMetadata:r}=e;$u(i,e),s&&Ru(i,s),Ju(i,t),Pu(i,o),Wu(i,r)}function Qr(i,e){const{extra:t,tags:s,user:o,contexts:r,level:M,sdkProcessingMetadata:n,breadcrumbs:u,fingerprint:N,eventProcessors:l,attachments:c,propagationContext:L,transactionName:j,span:T}=e;Qs(i,"extra",t),Qs(i,"tags",s),Qs(i,"user",o),Qs(i,"contexts",r),i.sdkProcessingMetadata=ms(i.sdkProcessingMetadata,n,2),M&&(i.level=M),j&&(i.transactionName=j),T&&(i.span=T),u.length&&(i.breadcrumbs=[...i.breadcrumbs,...u]),N.length&&(i.fingerprint=[...i.fingerprint,...N]),l.length&&(i.eventProcessors=[...i.eventProcessors,...l]),c.length&&(i.attachments=[...i.attachments,...c]),i.propagationContext={...i.propagationContext,...L}}function Qs(i,e,t){i[e]=ms(i[e],t,1)}function $u(i,e){const{extra:t,tags:s,user:o,contexts:r,level:M,transactionName:n}=e;Object.keys(t).length&&(i.extra={...t,...i.extra}),Object.keys(s).length&&(i.tags={...s,...i.tags}),Object.keys(o).length&&(i.user={...o,...i.user}),Object.keys(r).length&&(i.contexts={...r,...i.contexts}),M&&(i.level=M),n&&i.type!=="transaction"&&(i.transaction=n)}function Pu(i,e){const t=[...i.breadcrumbs||[],...e];i.breadcrumbs=t.length?t:void 0}function Wu(i,e){i.sdkProcessingMetadata={...i.sdkProcessingMetadata,...e}}function Ru(i,e){i.contexts={trace:eu(e),...i.contexts},i.sdkProcessingMetadata={dynamicSamplingContext:Cu(e),...i.sdkProcessingMetadata};const t=hn(e),s=Po(t).description;s&&!i.transaction&&i.type==="transaction"&&(i.transaction=s)}function Ju(i,e){i.fingerprint=i.fingerprint?Array.isArray(i.fingerprint)?i.fingerprint:[i.fingerprint]:[],e&&(i.fingerprint=i.fingerprint.concat(e)),i.fingerprint.length||delete i.fingerprint}function Bu(i,e,t,s,o,r){const{normalizeDepth:M=3,normalizeMaxBreadth:n=1e3}=i,u={...e,event_id:e.event_id||t.event_id||fe(),timestamp:e.timestamp||ps()},N=t.integrations||i.integrations.map(z=>z.name);Fu(u,i),Vu(u,N),o&&o.emit("applyFrameMetadata",e),e.type===void 0&&Gu(u,i.stackParser);const l=Xu(s,t.captureContext);t.mechanism&&Zt(u,t.mechanism);const c=o?o.getEventProcessors():[],L=Uc().getScopeData();if(r){const z=r.getScopeData();Qr(L,z)}if(l){const z=l.getScopeData();Qr(L,z)}const j=[...t.attachments||[],...L.attachments];j.length&&(t.attachments=j),bu(u,L);const T=[...c,...L.eventProcessors];return eo(T,u,t).then(z=>(z&&Hu(z),typeof M=="number"&&M>0?Zu(z,M,n):z))}function Fu(i,e){const{environment:t,release:s,dist:o,maxValueLength:r=250}=e;i.environment=i.environment||t||Wo,!i.release&&s&&(i.release=s),!i.dist&&o&&(i.dist=o);const M=i.request;M!=null&&M.url&&(M.url=si(M.url,r))}function Gu(i,e){var s,o;const t=vu(e);(o=(s=i.exception)==null?void 0:s.values)==null||o.forEach(r=>{var M,n;(n=(M=r.stacktrace)==null?void 0:M.frames)==null||n.forEach(u=>{u.filename&&(u.debug_id=t[u.filename])})})}function Hu(i){var s,o;const e={};if((o=(s=i.exception)==null?void 0:s.values)==null||o.forEach(r=>{var M,n;(n=(M=r.stacktrace)==null?void 0:M.frames)==null||n.forEach(u=>{u.debug_id&&(u.abs_path?e[u.abs_path]=u.debug_id:u.filename&&(e[u.filename]=u.debug_id),delete u.debug_id)})}),Object.keys(e).length===0)return;i.debug_meta=i.debug_meta||{},i.debug_meta.images=i.debug_meta.images||[];const t=i.debug_meta.images;Object.entries(e).forEach(([r,M])=>{t.push({type:"sourcemap",code_file:r,debug_id:M})})}function Vu(i,e){e.length>0&&(i.sdk=i.sdk||{},i.sdk.integrations=[...i.sdk.integrations||[],...e])}function Zu(i,e,t){var o,r;if(!i)return null;const s={...i,...i.breadcrumbs&&{breadcrumbs:i.breadcrumbs.map(M=>({...M,...M.data&&{data:qe(M.data,e,t)}}))},...i.user&&{user:qe(i.user,e,t)},...i.contexts&&{contexts:qe(i.contexts,e,t)},...i.extra&&{extra:qe(i.extra,e,t)}};return(o=i.contexts)!=null&&o.trace&&s.contexts&&(s.contexts.trace=i.contexts.trace,i.contexts.trace.data&&(s.contexts.trace.data=qe(i.contexts.trace.data,e,t))),i.spans&&(s.spans=i.spans.map(M=>({...M,...M.data&&{data:qe(M.data,e,t)}}))),(r=i.contexts)!=null&&r.flags&&s.contexts&&(s.contexts.flags=qe(i.contexts.flags,3,t)),s}function Xu(i,e){if(!e)return i;const t=i?i.clone():new it;return t.update(e),t}function Ku(i,e){return ot().captureException(i,void 0)}function Sn(i,e){return ot().captureEvent(i,e)}function Ur(i){const e=Os(),t=ot(),{userAgent:s}=te.navigator||{},o=mc({user:t.getUser()||e.getUser(),...s&&{userAgent:s},...i}),r=e.getSession();return(r==null?void 0:r.status)==="ok"&&Xt(r,{status:"exited"}),xn(),e.setSession(o),o}function xn(){const i=Os(),t=ot().getSession()||i.getSession();t&&Oc(t),fn(),i.setSession()}function fn(){const i=Os(),e=we(),t=i.getSession();t&&e&&e.captureSession(t)}function vr(i=!1){if(i){xn();return}fn()}const qu="7";function eN(i){const e=i.protocol?`${i.protocol}:`:"",t=i.port?`:${i.port}`:"";return`${e}//${i.host}${t}${i.path?`/${i.path}`:""}/api/`}function tN(i){return`${eN(i)}${i.projectId}/envelope/`}function sN(i,e){const t={sentry_version:qu};return i.publicKey&&(t.sentry_key=i.publicKey),e&&(t.sentry_client=`${e.name}/${e.version}`),new URLSearchParams(t).toString()}function iN(i,e,t){return e||`${tN(i)}?${sN(i,t)}`}const br=[];function oN(i){const e={};return i.forEach(t=>{const{name:s}=t,o=e[s];o&&!o.isDefaultInstance&&t.isDefaultInstance||(e[s]=t)}),Object.values(e)}function rN(i){const e=i.defaultIntegrations||[],t=i.integrations;e.forEach(o=>{o.isDefaultInstance=!0});let s;if(Array.isArray(t))s=[...e,...t];else if(typeof t=="function"){const o=t(e);s=Array.isArray(o)?o:[o]}else s=e;return oN(s)}function MN(i,e){const t={};return e.forEach(s=>{s&&kn(i,s,t)}),t}function $r(i,e){for(const t of e)t!=null&&t.afterAllSetup&&t.afterAllSetup(i)}function kn(i,e,t){if(t[e.name]){Z&&B.log(`Integration skipped because it was already installed: ${e.name}`);return}if(t[e.name]=e,br.indexOf(e.name)===-1&&typeof e.setupOnce=="function"&&(e.setupOnce(),br.push(e.name)),e.setup&&typeof e.setup=="function"&&e.setup(i),typeof e.preprocessEvent=="function"){const s=e.preprocessEvent.bind(e);i.on("preprocessEvent",(o,r)=>s(o,r,i))}if(typeof e.processEvent=="function"){const s=e.processEvent.bind(e),o=Object.assign((r,M)=>s(r,M,i),{id:e.name});i.addEventProcessor(o)}Z&&B.log(`Integration installed: ${e.name}`)}function Yn(i){const e=[];i.message&&e.push(i.message);try{const t=i.exception.values[i.exception.values.length-1];t!=null&&t.value&&(e.push(t.value),t.type&&e.push(`${t.type}: ${t.value}`))}catch{}return e}function nN(i){var u;const{trace_id:e,parent_span_id:t,span_id:s,status:o,origin:r,data:M,op:n}=((u=i.contexts)==null?void 0:u.trace)??{};return{data:M??{},description:i.transaction,op:n,parent_span_id:t,span_id:s??"",start_timestamp:i.start_timestamp??0,status:o,timestamp:i.timestamp,trace_id:e??"",origin:r,profile_id:M==null?void 0:M[zn],exclusive_time:M==null?void 0:M[In],measurements:i.measurements,is_segment:!0}}function aN(i){return{type:"transaction",timestamp:i.timestamp,start_timestamp:i.start_timestamp,transaction:i.description,contexts:{trace:{trace_id:i.trace_id,span_id:i.span_id,parent_span_id:i.parent_span_id,op:i.op,status:i.status,origin:i.origin,data:{...i.data,...i.profile_id&&{[zn]:i.profile_id},...i.exclusive_time&&{[In]:i.exclusive_time}}}},measurements:i.measurements}}function cN(i,e,t){const s=[{type:"client_report"},{timestamp:ps(),discarded_events:i}];return Es(e?{dsn:e}:{},[s])}const Pr="Not capturing exception because it's already been captured.",Wr="Discarded session because of missing or non-string release",Qn=Symbol.for("SentryInternalError"),Un=Symbol.for("SentryDoNotSendEventError");function Zs(i){return{message:i,[Qn]:!0}}function Ei(i){return{message:i,[Un]:!0}}function Rr(i){return!!i&&typeof i=="object"&&Qn in i}function Jr(i){return!!i&&typeof i=="object"&&Un in i}class uN{constructor(e){if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],e.dsn?this._dsn=zu(e.dsn):Z&&B.warn("No DSN provided, client will not send events."),this._dsn){const t=iN(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:t})}}captureException(e,t,s){const o=fe();if(dr(e))return Z&&B.log(Pr),o;const r={event_id:o,...t};return this._process(this.eventFromException(e,r).then(M=>this._captureEvent(M,r,s))),r.event_id}captureMessage(e,t,s,o){const r={event_id:fe(),...s},M=Yo(e)?e:String(e),n=Qo(e)?this.eventFromMessage(M,t,r):this.eventFromException(e,r);return this._process(n.then(u=>this._captureEvent(u,r,o))),r.event_id}captureEvent(e,t,s){const o=fe();if(t!=null&&t.originalException&&dr(t.originalException))return Z&&B.log(Pr),o;const r={event_id:o,...t},M=e.sdkProcessingMetadata||{},n=M.capturedSpanScope,u=M.capturedSpanIsolationScope;return this._process(this._captureEvent(e,r,n||s,u)),r.event_id}captureSession(e){this.sendSession(e),Xt(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(e){const t=this._transport;return t?(this.emit("flush"),this._isClientDoneProcessing(e).then(s=>t.flush(e).then(o=>s&&o))):St(!0)}close(e){return this.flush(e).then(t=>(this.getOptions().enabled=!1,this.emit("close"),t))}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){const t=this._integrations[e.name];kn(this,e,this._integrations),t||$r(this,[e])}sendEvent(e,t={}){this.emit("beforeSendEvent",e,t);let s=Uu(e,this._dsn,this._options._metadata,this._options.tunnel);for(const r of t.attachments||[])s=Eu(s,xu(r));const o=this.sendEnvelope(s);o&&o.then(r=>this.emit("afterSendEvent",e,r),null)}sendSession(e){const{release:t,environment:s=Wo}=this._options;if("aggregates"in e){const r=e.attrs||{};if(!r.release&&!t){Z&&B.warn(Wr);return}r.release=r.release||t,r.environment=r.environment||s,e.attrs=r}else{if(!e.release&&!t){Z&&B.warn(Wr);return}e.release=e.release||t,e.environment=e.environment||s}this.emit("beforeSendSession",e);const o=Qu(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(o)}recordDroppedEvent(e,t,s=1){if(this._options.sendClientReports){const o=`${e}:${t}`;Z&&B.log(`Recording outcome: "${o}"${s>1?` (${s} times)`:""}`),this._outcomes[o]=(this._outcomes[o]||0)+s}}on(e,t){const s=this._hooks[e]=this._hooks[e]||[];return s.push(t),()=>{const o=s.indexOf(t);o>-1&&s.splice(o,1)}}emit(e,...t){const s=this._hooks[e];s&&s.forEach(o=>o(...t))}sendEnvelope(e){return this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport?this._transport.send(e).then(null,t=>(Z&&B.error("Error while sending envelope:",t),t)):(Z&&B.error("Transport disabled"),St({}))}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=MN(this,e),$r(this,e)}_updateSessionFromEvent(e,t){var u;let s=t.level==="fatal",o=!1;const r=(u=t.exception)==null?void 0:u.values;if(r){o=!0;for(const N of r){const l=N.mechanism;if((l==null?void 0:l.handled)===!1){s=!0;break}}}const M=e.status==="ok";(M&&e.errors===0||M&&s)&&(Xt(e,{...s&&{status:"crashed"},errors:e.errors||Number(o||s)}),this.captureSession(e))}_isClientDoneProcessing(e){return new Dt(t=>{let s=0;const o=1,r=setInterval(()=>{this._numProcessing==0?(clearInterval(r),t(!0)):(s+=o,e&&s>=e&&(clearInterval(r),t(!1)))},o)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,s,o){const r=this.getOptions(),M=Object.keys(this._integrations);return!t.integrations&&(M!=null&&M.length)&&(t.integrations=M),this.emit("preprocessEvent",e,t),e.type||o.setLastEventId(e.event_id||t.event_id),Bu(r,e,t,s,this,o).then(n=>{if(n===null)return n;this.emit("postprocessEvent",n,t),n.contexts={trace:bc(s),...n.contexts};const u=wu(this,s);return n.sdkProcessingMetadata={dynamicSamplingContext:u,...n.sdkProcessingMetadata},n})}_captureEvent(e,t={},s=ot(),o=Os()){return Z&&to(e)&&B.log(`Captured error event \`${Yn(e)[0]||""}\``),this._processEvent(e,t,s,o).then(r=>r.event_id,r=>{Z&&(Jr(r)?B.log(r.message):Rr(r)?B.warn(r.message):B.warn(r))})}_processEvent(e,t,s,o){const r=this.getOptions(),{sampleRate:M}=r,n=vn(e),u=to(e),N=e.type||"error",l=`before send for type \`${N}\``,c=typeof M>"u"?void 0:Vc(M);if(u&&typeof c=="number"&&Math.random()>c)return this.recordDroppedEvent("sample_rate","error"),ii(Ei(`Discarding event because it's not included in the random sample (sampling rate = ${M})`));const L=N==="replay_event"?"replay":N;return this._prepareEvent(e,t,s,o).then(j=>{if(j===null)throw this.recordDroppedEvent("event_processor",L),Ei("An event processor returned `null`, will not send event.");if(t.data&&t.data.__sentry__===!0)return j;const D=lN(this,r,j,t);return NN(D,l)}).then(j=>{var z;if(j===null){if(this.recordDroppedEvent("before_send",L),n){const O=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",O)}throw Ei(`${l} returned \`null\`, will not send event.`)}const T=s.getSession()||o.getSession();if(u&&T&&this._updateSessionFromEvent(T,j),n){const h=((z=j.sdkProcessingMetadata)==null?void 0:z.spanCountBeforeProcessing)||0,O=j.spans?j.spans.length:0,p=h-O;p>0&&this.recordDroppedEvent("before_send","span",p)}const D=j.transaction_info;if(n&&D&&j.transaction!==e.transaction){const h="custom";j.transaction_info={...D,source:h}}return this.sendEvent(j,t),j}).then(null,j=>{throw Jr(j)||Rr(j)?j:(this.captureException(j,{data:{__sentry__:!0},originalException:j}),Zs(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. -Reason: ${j}`))})}_process(e){this._numProcessing++,e.then(t=>(this._numProcessing--,t),t=>(this._numProcessing--,t))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([t,s])=>{const[o,r]=t.split(":");return{reason:o,category:r,quantity:s}})}_flushOutcomes(){Z&&B.log("Flushing outcomes...");const e=this._clearOutcomes();if(e.length===0){Z&&B.log("No outcomes to send");return}if(!this._dsn){Z&&B.log("No dsn provided, will not send outcomes");return}Z&&B.log("Sending outcomes:",e);const t=cN(e,this._options.tunnel&&yi(this._dsn));this.sendEnvelope(t)}}function NN(i,e){const t=`${e} must return \`null\` or a valid event.`;if(gi(i))return i.then(s=>{if(!ds(s)&&s!==null)throw Zs(t);return s},s=>{throw Zs(`${e} rejected with ${s}`)});if(!ds(i)&&i!==null)throw Zs(t);return i}function lN(i,e,t,s){const{beforeSend:o,beforeSendTransaction:r,beforeSendSpan:M}=e;let n=t;if(to(n)&&o)return o(n,s);if(vn(n)){if(M){const u=M(nN(n));if(u?n=ms(t,aN(u)):Or(),n.spans){const N=[];for(const l of n.spans){const c=M(l);c?N.push(c):(Or(),N.push(l))}n.spans=N}}if(r){if(n.spans){const u=n.spans.length;n.sdkProcessingMetadata={...t.sdkProcessingMetadata,spanCountBeforeProcessing:u}}return r(n,s)}}return n}function to(i){return i.type===void 0}function vn(i){return i.type==="transaction"}function LN(i){return[{type:"log",item_count:i.length,content_type:"application/vnd.sentry.items.log+json"},{items:i}]}function jN(i,e,t,s){const o={};return e!=null&&e.sdk&&(o.sdk={name:e.sdk.name,version:e.sdk.version}),t&&s&&(o.dsn=yi(s)),Es(o,[LN(i)])}te._sentryClientToLogBufferMap=new WeakMap;function _i(i,e){var r;const t=gN(i)??[];if(t.length===0)return;const s=i.getOptions(),o=jN(t,s._metadata,s.tunnel,i.getDsn());(r=te._sentryClientToLogBufferMap)==null||r.set(i,[]),i.emit("flushLogs"),i.sendEnvelope(o)}function gN(i){var e;return(e=te._sentryClientToLogBufferMap)==null?void 0:e.get(i)}function TN(i,e){e.debug===!0&&(Z?B.enable():ts(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),ot().update(e.initialScope);const s=new i(e);return yN(s),s.init(),s}function yN(i){ot().setClient(i)}const bn=Symbol.for("SentryBufferFullError");function DN(i){const e=[];function t(){return i===void 0||e.lengths(n)).then(null,()=>s(n).then(null,()=>{})),n}function r(M){return new Dt((n,u)=>{let N=e.length;if(!N)return n(!0);const l=setTimeout(()=>{M&&M>0&&n(!1)},M);e.forEach(c=>{St(c).then(()=>{--N||(clearTimeout(l),n(!0))},u)})})}return{$:e,add:o,drain:r}}const dN=60*1e3;function zN(i,e=Date.now()){const t=parseInt(`${i}`,10);if(!isNaN(t))return t*1e3;const s=Date.parse(`${i}`);return isNaN(s)?dN:s-e}function IN(i,e){return i[e]||i.all||0}function wN(i,e,t=Date.now()){return IN(i,e)>t}function CN(i,{statusCode:e,headers:t},s=Date.now()){const o={...i},r=t==null?void 0:t["x-sentry-rate-limits"],M=t==null?void 0:t["retry-after"];if(r)for(const n of r.trim().split(",")){const[u,N,,,l]=n.split(":",5),c=parseInt(u,10),L=(isNaN(c)?60:c)*1e3;if(!N)o.all=s+L;else for(const j of N.split(";"))j==="metric_bucket"?(!l||l.split(";").includes("custom"))&&(o[j]=s+L):o[j]=s+L}else M?o.all=s+zN(M,s):e===429&&(o.all=s+60*1e3);return o}const hN=64;function AN(i,e,t=DN(i.bufferSize||hN)){let s={};const o=M=>t.drain(M);function r(M){const n=[];if(fr(M,(c,L)=>{const j=kr(L);wN(s,j)?i.recordDroppedEvent("ratelimit_backoff",j):n.push(c)}),n.length===0)return St({});const u=Es(M[0],n),N=c=>{fr(u,(L,j)=>{i.recordDroppedEvent(c,kr(j))})},l=()=>e({body:_u(u)}).then(c=>(c.statusCode!==void 0&&(c.statusCode<200||c.statusCode>=300)&&Z&&B.warn(`Sentry responded with status code ${c.statusCode} to sent event.`),s=CN(s,c),c),c=>{throw N("network_error"),Z&&B.error("Encountered error running transport request:",c),c});return t.add(l).then(c=>c,c=>{if(c===bn)return Z&&B.error("Skipped sending event because buffer is full."),N("queue_overflow"),St({});throw c})}return{send:r,flush:o}}function pN(i){var e;((e=i.user)==null?void 0:e.ip_address)===void 0&&(i.user={...i.user,ip_address:"{{auto}}"})}function mN(i){var e;"aggregates"in i?((e=i.attrs)==null?void 0:e.ip_address)===void 0&&(i.attrs={...i.attrs,ip_address:"{{auto}}"}):i.ipAddress===void 0&&(i.ipAddress="{{auto}}")}function ON(i,e,t=[e],s="npm"){const o=i._metadata||{};o.sdk||(o.sdk={name:`sentry.javascript.${e}`,packages:t.map(r=>({name:`${s}:@sentry/${r}`,version:Ot})),version:Ot}),i._metadata=o}const EN=100;function xt(i,e){const t=we(),s=Os();if(!t)return;const{beforeBreadcrumb:o=null,maxBreadcrumbs:r=EN}=t.getOptions();if(r<=0)return;const n={timestamp:ps(),...i},u=o?ts(()=>o(n,e)):n;u!==null&&(t.emit&&t.emit("beforeAddBreadcrumb",u,e),s.addBreadcrumb(u,r))}let Br;const _N="FunctionToString",Fr=new WeakMap,SN=()=>({name:_N,setupOnce(){Br=Function.prototype.toString;try{Function.prototype.toString=function(...i){const e=bo(this),t=Fr.has(we())&&e!==void 0?e:this;return Br.apply(t,i)}}catch{}},setup(i){Fr.set(i,!0)}}),xN=SN,fN=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`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",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],kN="EventFilters",YN=(i={})=>{let e;return{name:kN,setup(t){const s=t.getOptions();e=Gr(i,s)},processEvent(t,s,o){if(!e){const r=o.getOptions();e=Gr(i,r)}return UN(t,e)?null:t}}},QN=(i={})=>({...YN(i),name:"InboundFilters"});function Gr(i={},e={}){return{allowUrls:[...i.allowUrls||[],...e.allowUrls||[]],denyUrls:[...i.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...i.ignoreErrors||[],...e.ignoreErrors||[],...i.disableErrorDefaults?[]:fN],ignoreTransactions:[...i.ignoreTransactions||[],...e.ignoreTransactions||[]]}}function UN(i,e){if(i.type){if(i.type==="transaction"&&bN(i,e.ignoreTransactions))return Z&&B.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. -Event: ${pt(i)}`),!0}else{if(vN(i,e.ignoreErrors))return Z&&B.warn(`Event dropped due to being matched by \`ignoreErrors\` option. -Event: ${pt(i)}`),!0;if(RN(i))return Z&&B.warn(`Event dropped due to not having an error message, error type or stacktrace. -Event: ${pt(i)}`),!0;if($N(i,e.denyUrls))return Z&&B.warn(`Event dropped due to being matched by \`denyUrls\` option. +`),typeof a=="string"||a instanceof Uint8Array)o(a);else{let u;try{u=JSON.stringify(a)}catch{u=JSON.stringify(qe(a))}o(u)}}return typeof s=="string"?s:fu(s)}function fu(i){const e=i.reduce((o,r)=>o+r.length,0),t=new Uint8Array(e);let s=0;for(const o of i)t.set(o,s),s+=o.length;return t}function ku(i){const e=typeof i.data=="string"?qi(i.data):i.data;return[{type:"attachment",length:e.length,filename:i.filename,content_type:i.contentType,attachment_type:i.attachmentType},e]}const Yu={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",raw_security:"security",log:"log_item"};function kr(i){return Yu[i]}function xn(i){if(!(i!=null&&i.sdk))return;const{name:e,version:t}=i.sdk;return{name:e,version:t}}function Qu(i,e,t,s){var r;const o=(r=i.sdkProcessingMetadata)==null?void 0:r.dynamicSamplingContext;return{event_id:i.event_id,sent_at:new Date().toISOString(),...e&&{sdk:e},...!!t&&s&&{dsn:yi(s)},...o&&{trace:o}}}function Uu(i,e){return e&&(i.sdk=i.sdk||{},i.sdk.name=i.sdk.name||e.name,i.sdk.version=i.sdk.version||e.version,i.sdk.integrations=[...i.sdk.integrations||[],...e.integrations||[]],i.sdk.packages=[...i.sdk.packages||[],...e.packages||[]]),i}function vu(i,e,t,s){const o=xn(t),r={sent_at:new Date().toISOString(),...o&&{sdk:o},...!!s&&e&&{dsn:yi(e)}},M="aggregates"in i?[{type:"sessions"},i]:[{type:"session"},i.toJSON()];return Es(r,[M])}function bu(i,e,t,s){const o=xn(t),r=i.type&&i.type!=="replay_event"?i.type:"event";Uu(i,t==null?void 0:t.sdk);const M=Qu(i,o,s,e);return delete i.sdkProcessingMetadata,Es(M,[[{type:r},i]])}var et;(function(i){i[i.PENDING=0]="PENDING";const t=1;i[i.RESOLVED=t]="RESOLVED";const s=2;i[i.REJECTED=s]="REJECTED"})(et||(et={}));function St(i){return new Dt(e=>{e(i)})}function ii(i){return new Dt((e,t)=>{t(i)})}class Dt{constructor(e){this._state=et.PENDING,this._handlers=[],this._runExecutor(e)}then(e,t){return new Dt((s,o)=>{this._handlers.push([!1,r=>{if(!e)s(r);else try{s(e(r))}catch(M){o(M)}},r=>{if(!t)o(r);else try{s(t(r))}catch(M){o(M)}}]),this._executeHandlers()})}catch(e){return this.then(t=>t,e)}finally(e){return new Dt((t,s)=>{let o,r;return this.then(M=>{r=!1,o=M,e&&e()},M=>{r=!0,o=M,e&&e()}).then(()=>{if(r){s(o);return}t(o)})})}_executeHandlers(){if(this._state===et.PENDING)return;const e=this._handlers.slice();this._handlers=[],e.forEach(t=>{t[0]||(this._state===et.RESOLVED&&t[1](this._value),this._state===et.REJECTED&&t[2](this._value),t[0]=!0)})}_runExecutor(e){const t=(r,M)=>{if(this._state===et.PENDING){if(gi(M)){M.then(s,o);return}this._state=r,this._value=M,this._executeHandlers()}},s=r=>{t(et.RESOLVED,r)},o=r=>{t(et.REJECTED,r)};try{e(s,o)}catch(r){o(r)}}}function eo(i,e,t,s=0){return new Dt((o,r)=>{const M=i[s];if(e===null||typeof M!="function")o(e);else{const a=M({...e},t);Z&&M.id&&a===null&&B.log(`Event processor "${M.id}" dropped event`),gi(a)?a.then(u=>eo(i,u,t,s+1).then(o)).then(null,r):eo(i,a,t,s+1).then(o).then(null,r)}})}let ks,Yr,Ys;function $u(i){const e=te._sentryDebugIds;if(!e)return{};const t=Object.keys(e);return Ys&&t.length===Yr||(Yr=t.length,Ys=t.reduce((s,o)=>{ks||(ks={});const r=ks[o];if(r)s[r[0]]=r[1];else{const M=i(o);for(let a=M.length-1;a>=0;a--){const u=M[a],N=u==null?void 0:u.filename,l=e[o];if(N&&l){s[N]=l,ks[o]=[N,l];break}}}return s},{})),Ys}function Pu(i,e){const{fingerprint:t,span:s,breadcrumbs:o,sdkProcessingMetadata:r}=e;Wu(i,e),s&&Bu(i,s),Fu(i,t),Ru(i,o),Ju(i,r)}function Qr(i,e){const{extra:t,tags:s,user:o,contexts:r,level:M,sdkProcessingMetadata:a,breadcrumbs:u,fingerprint:N,eventProcessors:l,attachments:c,propagationContext:L,transactionName:j,span:T}=e;Qs(i,"extra",t),Qs(i,"tags",s),Qs(i,"user",o),Qs(i,"contexts",r),i.sdkProcessingMetadata=ms(i.sdkProcessingMetadata,a,2),M&&(i.level=M),j&&(i.transactionName=j),T&&(i.span=T),u.length&&(i.breadcrumbs=[...i.breadcrumbs,...u]),N.length&&(i.fingerprint=[...i.fingerprint,...N]),l.length&&(i.eventProcessors=[...i.eventProcessors,...l]),c.length&&(i.attachments=[...i.attachments,...c]),i.propagationContext={...i.propagationContext,...L}}function Qs(i,e,t){i[e]=ms(i[e],t,1)}function Wu(i,e){const{extra:t,tags:s,user:o,contexts:r,level:M,transactionName:a}=e;Object.keys(t).length&&(i.extra={...t,...i.extra}),Object.keys(s).length&&(i.tags={...s,...i.tags}),Object.keys(o).length&&(i.user={...o,...i.user}),Object.keys(r).length&&(i.contexts={...r,...i.contexts}),M&&(i.level=M),a&&i.type!=="transaction"&&(i.transaction=a)}function Ru(i,e){const t=[...i.breadcrumbs||[],...e];i.breadcrumbs=t.length?t:void 0}function Ju(i,e){i.sdkProcessingMetadata={...i.sdkProcessingMetadata,...e}}function Bu(i,e){i.contexts={trace:su(e),...i.contexts},i.sdkProcessingMetadata={dynamicSamplingContext:Au(e),...i.sdkProcessingMetadata};const t=pn(e),s=Po(t).description;s&&!i.transaction&&i.type==="transaction"&&(i.transaction=s)}function Fu(i,e){i.fingerprint=i.fingerprint?Array.isArray(i.fingerprint)?i.fingerprint:[i.fingerprint]:[],e&&(i.fingerprint=i.fingerprint.concat(e)),i.fingerprint.length||delete i.fingerprint}function Gu(i,e,t,s,o,r){const{normalizeDepth:M=3,normalizeMaxBreadth:a=1e3}=i,u={...e,event_id:e.event_id||t.event_id||fe(),timestamp:e.timestamp||ps()},N=t.integrations||i.integrations.map(I=>I.name);Hu(u,i),Xu(u,N),o&&o.emit("applyFrameMetadata",e),e.type===void 0&&Vu(u,i.stackParser);const l=qu(s,t.captureContext);t.mechanism&&Zt(u,t.mechanism);const c=o?o.getEventProcessors():[],L=bc().getScopeData();if(r){const I=r.getScopeData();Qr(L,I)}if(l){const I=l.getScopeData();Qr(L,I)}const j=[...t.attachments||[],...L.attachments];j.length&&(t.attachments=j),Pu(u,L);const T=[...c,...L.eventProcessors];return eo(T,u,t).then(I=>(I&&Zu(I),typeof M=="number"&&M>0?Ku(I,M,a):I))}function Hu(i,e){const{environment:t,release:s,dist:o,maxValueLength:r=250}=e;i.environment=i.environment||t||Wo,!i.release&&s&&(i.release=s),!i.dist&&o&&(i.dist=o);const M=i.request;M!=null&&M.url&&(M.url=si(M.url,r))}function Vu(i,e){var s,o;const t=$u(e);(o=(s=i.exception)==null?void 0:s.values)==null||o.forEach(r=>{var M,a;(a=(M=r.stacktrace)==null?void 0:M.frames)==null||a.forEach(u=>{u.filename&&(u.debug_id=t[u.filename])})})}function Zu(i){var s,o;const e={};if((o=(s=i.exception)==null?void 0:s.values)==null||o.forEach(r=>{var M,a;(a=(M=r.stacktrace)==null?void 0:M.frames)==null||a.forEach(u=>{u.debug_id&&(u.abs_path?e[u.abs_path]=u.debug_id:u.filename&&(e[u.filename]=u.debug_id),delete u.debug_id)})}),Object.keys(e).length===0)return;i.debug_meta=i.debug_meta||{},i.debug_meta.images=i.debug_meta.images||[];const t=i.debug_meta.images;Object.entries(e).forEach(([r,M])=>{t.push({type:"sourcemap",code_file:r,debug_id:M})})}function Xu(i,e){e.length>0&&(i.sdk=i.sdk||{},i.sdk.integrations=[...i.sdk.integrations||[],...e])}function Ku(i,e,t){var o,r;if(!i)return null;const s={...i,...i.breadcrumbs&&{breadcrumbs:i.breadcrumbs.map(M=>({...M,...M.data&&{data:qe(M.data,e,t)}}))},...i.user&&{user:qe(i.user,e,t)},...i.contexts&&{contexts:qe(i.contexts,e,t)},...i.extra&&{extra:qe(i.extra,e,t)}};return(o=i.contexts)!=null&&o.trace&&s.contexts&&(s.contexts.trace=i.contexts.trace,i.contexts.trace.data&&(s.contexts.trace.data=qe(i.contexts.trace.data,e,t))),i.spans&&(s.spans=i.spans.map(M=>({...M,...M.data&&{data:qe(M.data,e,t)}}))),(r=i.contexts)!=null&&r.flags&&s.contexts&&(s.contexts.flags=qe(i.contexts.flags,3,t)),s}function qu(i,e){if(!e)return i;const t=i?i.clone():new it;return t.update(e),t}function eN(i,e){return ot().captureException(i,void 0)}function fn(i,e){return ot().captureEvent(i,e)}function Ur(i){const e=Os(),t=ot(),{userAgent:s}=te.navigator||{},o=Ec({user:t.getUser()||e.getUser(),...s&&{userAgent:s},...i}),r=e.getSession();return(r==null?void 0:r.status)==="ok"&&Xt(r,{status:"exited"}),kn(),e.setSession(o),o}function kn(){const i=Os(),t=ot().getSession()||i.getSession();t&&_c(t),Yn(),i.setSession()}function Yn(){const i=Os(),e=we(),t=i.getSession();t&&e&&e.captureSession(t)}function vr(i=!1){if(i){kn();return}Yn()}const tN="7";function sN(i){const e=i.protocol?`${i.protocol}:`:"",t=i.port?`:${i.port}`:"";return`${e}//${i.host}${t}${i.path?`/${i.path}`:""}/api/`}function iN(i){return`${sN(i)}${i.projectId}/envelope/`}function oN(i,e){const t={sentry_version:tN};return i.publicKey&&(t.sentry_key=i.publicKey),e&&(t.sentry_client=`${e.name}/${e.version}`),new URLSearchParams(t).toString()}function rN(i,e,t){return e||`${iN(i)}?${oN(i,t)}`}const br=[];function MN(i){const e={};return i.forEach(t=>{const{name:s}=t,o=e[s];o&&!o.isDefaultInstance&&t.isDefaultInstance||(e[s]=t)}),Object.values(e)}function nN(i){const e=i.defaultIntegrations||[],t=i.integrations;e.forEach(o=>{o.isDefaultInstance=!0});let s;if(Array.isArray(t))s=[...e,...t];else if(typeof t=="function"){const o=t(e);s=Array.isArray(o)?o:[o]}else s=e;return MN(s)}function aN(i,e){const t={};return e.forEach(s=>{s&&Qn(i,s,t)}),t}function $r(i,e){for(const t of e)t!=null&&t.afterAllSetup&&t.afterAllSetup(i)}function Qn(i,e,t){if(t[e.name]){Z&&B.log(`Integration skipped because it was already installed: ${e.name}`);return}if(t[e.name]=e,br.indexOf(e.name)===-1&&typeof e.setupOnce=="function"&&(e.setupOnce(),br.push(e.name)),e.setup&&typeof e.setup=="function"&&e.setup(i),typeof e.preprocessEvent=="function"){const s=e.preprocessEvent.bind(e);i.on("preprocessEvent",(o,r)=>s(o,r,i))}if(typeof e.processEvent=="function"){const s=e.processEvent.bind(e),o=Object.assign((r,M)=>s(r,M,i),{id:e.name});i.addEventProcessor(o)}Z&&B.log(`Integration installed: ${e.name}`)}function Un(i){const e=[];i.message&&e.push(i.message);try{const t=i.exception.values[i.exception.values.length-1];t!=null&&t.value&&(e.push(t.value),t.type&&e.push(`${t.type}: ${t.value}`))}catch{}return e}function cN(i){var u;const{trace_id:e,parent_span_id:t,span_id:s,status:o,origin:r,data:M,op:a}=((u=i.contexts)==null?void 0:u.trace)??{};return{data:M??{},description:i.transaction,op:a,parent_span_id:t,span_id:s??"",start_timestamp:i.start_timestamp??0,status:o,timestamp:i.timestamp,trace_id:e??"",origin:r,profile_id:M==null?void 0:M[wn],exclusive_time:M==null?void 0:M[Cn],measurements:i.measurements,is_segment:!0}}function uN(i){return{type:"transaction",timestamp:i.timestamp,start_timestamp:i.start_timestamp,transaction:i.description,contexts:{trace:{trace_id:i.trace_id,span_id:i.span_id,parent_span_id:i.parent_span_id,op:i.op,status:i.status,origin:i.origin,data:{...i.data,...i.profile_id&&{[wn]:i.profile_id},...i.exclusive_time&&{[Cn]:i.exclusive_time}}}},measurements:i.measurements}}function NN(i,e,t){const s=[{type:"client_report"},{timestamp:ps(),discarded_events:i}];return Es(e?{dsn:e}:{},[s])}const Pr="Not capturing exception because it's already been captured.",Wr="Discarded session because of missing or non-string release",vn=Symbol.for("SentryInternalError"),bn=Symbol.for("SentryDoNotSendEventError");function Zs(i){return{message:i,[vn]:!0}}function Ei(i){return{message:i,[bn]:!0}}function Rr(i){return!!i&&typeof i=="object"&&vn in i}function Jr(i){return!!i&&typeof i=="object"&&bn in i}class lN{constructor(e){if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],e.dsn?this._dsn=wu(e.dsn):Z&&B.warn("No DSN provided, client will not send events."),this._dsn){const t=rN(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:t})}}captureException(e,t,s){const o=fe();if(dr(e))return Z&&B.log(Pr),o;const r={event_id:o,...t};return this._process(this.eventFromException(e,r).then(M=>this._captureEvent(M,r,s))),r.event_id}captureMessage(e,t,s,o){const r={event_id:fe(),...s},M=Yo(e)?e:String(e),a=Qo(e)?this.eventFromMessage(M,t,r):this.eventFromException(e,r);return this._process(a.then(u=>this._captureEvent(u,r,o))),r.event_id}captureEvent(e,t,s){const o=fe();if(t!=null&&t.originalException&&dr(t.originalException))return Z&&B.log(Pr),o;const r={event_id:o,...t},M=e.sdkProcessingMetadata||{},a=M.capturedSpanScope,u=M.capturedSpanIsolationScope;return this._process(this._captureEvent(e,r,a||s,u)),r.event_id}captureSession(e){this.sendSession(e),Xt(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(e){const t=this._transport;return t?(this.emit("flush"),this._isClientDoneProcessing(e).then(s=>t.flush(e).then(o=>s&&o))):St(!0)}close(e){return this.flush(e).then(t=>(this.getOptions().enabled=!1,this.emit("close"),t))}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){const t=this._integrations[e.name];Qn(this,e,this._integrations),t||$r(this,[e])}sendEvent(e,t={}){this.emit("beforeSendEvent",e,t);let s=bu(e,this._dsn,this._options._metadata,this._options.tunnel);for(const r of t.attachments||[])s=Su(s,ku(r));const o=this.sendEnvelope(s);o&&o.then(r=>this.emit("afterSendEvent",e,r),null)}sendSession(e){const{release:t,environment:s=Wo}=this._options;if("aggregates"in e){const r=e.attrs||{};if(!r.release&&!t){Z&&B.warn(Wr);return}r.release=r.release||t,r.environment=r.environment||s,e.attrs=r}else{if(!e.release&&!t){Z&&B.warn(Wr);return}e.release=e.release||t,e.environment=e.environment||s}this.emit("beforeSendSession",e);const o=vu(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(o)}recordDroppedEvent(e,t,s=1){if(this._options.sendClientReports){const o=`${e}:${t}`;Z&&B.log(`Recording outcome: "${o}"${s>1?` (${s} times)`:""}`),this._outcomes[o]=(this._outcomes[o]||0)+s}}on(e,t){const s=this._hooks[e]=this._hooks[e]||[];return s.push(t),()=>{const o=s.indexOf(t);o>-1&&s.splice(o,1)}}emit(e,...t){const s=this._hooks[e];s&&s.forEach(o=>o(...t))}sendEnvelope(e){return this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport?this._transport.send(e).then(null,t=>(Z&&B.error("Error while sending envelope:",t),t)):(Z&&B.error("Transport disabled"),St({}))}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=aN(this,e),$r(this,e)}_updateSessionFromEvent(e,t){var u;let s=t.level==="fatal",o=!1;const r=(u=t.exception)==null?void 0:u.values;if(r){o=!0;for(const N of r){const l=N.mechanism;if((l==null?void 0:l.handled)===!1){s=!0;break}}}const M=e.status==="ok";(M&&e.errors===0||M&&s)&&(Xt(e,{...s&&{status:"crashed"},errors:e.errors||Number(o||s)}),this.captureSession(e))}_isClientDoneProcessing(e){return new Dt(t=>{let s=0;const o=1,r=setInterval(()=>{this._numProcessing==0?(clearInterval(r),t(!0)):(s+=o,e&&s>=e&&(clearInterval(r),t(!1)))},o)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,s,o){const r=this.getOptions(),M=Object.keys(this._integrations);return!t.integrations&&(M!=null&&M.length)&&(t.integrations=M),this.emit("preprocessEvent",e,t),e.type||o.setLastEventId(e.event_id||t.event_id),Gu(r,e,t,s,this,o).then(a=>{if(a===null)return a;this.emit("postprocessEvent",a,t),a.contexts={trace:Pc(s),...a.contexts};const u=hu(this,s);return a.sdkProcessingMetadata={dynamicSamplingContext:u,...a.sdkProcessingMetadata},a})}_captureEvent(e,t={},s=ot(),o=Os()){return Z&&to(e)&&B.log(`Captured error event \`${Un(e)[0]||""}\``),this._processEvent(e,t,s,o).then(r=>r.event_id,r=>{Z&&(Jr(r)?B.log(r.message):Rr(r)?B.warn(r.message):B.warn(r))})}_processEvent(e,t,s,o){const r=this.getOptions(),{sampleRate:M}=r,a=$n(e),u=to(e),N=e.type||"error",l=`before send for type \`${N}\``,c=typeof M>"u"?void 0:Xc(M);if(u&&typeof c=="number"&&Math.random()>c)return this.recordDroppedEvent("sample_rate","error"),ii(Ei(`Discarding event because it's not included in the random sample (sampling rate = ${M})`));const L=N==="replay_event"?"replay":N;return this._prepareEvent(e,t,s,o).then(j=>{if(j===null)throw this.recordDroppedEvent("event_processor",L),Ei("An event processor returned `null`, will not send event.");if(t.data&&t.data.__sentry__===!0)return j;const D=jN(this,r,j,t);return LN(D,l)}).then(j=>{var I;if(j===null){if(this.recordDroppedEvent("before_send",L),a){const E=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",E)}throw Ei(`${l} returned \`null\`, will not send event.`)}const T=s.getSession()||o.getSession();if(u&&T&&this._updateSessionFromEvent(T,j),a){const C=((I=j.sdkProcessingMetadata)==null?void 0:I.spanCountBeforeProcessing)||0,E=j.spans?j.spans.length:0,A=C-E;A>0&&this.recordDroppedEvent("before_send","span",A)}const D=j.transaction_info;if(a&&D&&j.transaction!==e.transaction){const C="custom";j.transaction_info={...D,source:C}}return this.sendEvent(j,t),j}).then(null,j=>{throw Jr(j)||Rr(j)?j:(this.captureException(j,{data:{__sentry__:!0},originalException:j}),Zs(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. +Reason: ${j}`))})}_process(e){this._numProcessing++,e.then(t=>(this._numProcessing--,t),t=>(this._numProcessing--,t))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([t,s])=>{const[o,r]=t.split(":");return{reason:o,category:r,quantity:s}})}_flushOutcomes(){Z&&B.log("Flushing outcomes...");const e=this._clearOutcomes();if(e.length===0){Z&&B.log("No outcomes to send");return}if(!this._dsn){Z&&B.log("No dsn provided, will not send outcomes");return}Z&&B.log("Sending outcomes:",e);const t=NN(e,this._options.tunnel&&yi(this._dsn));this.sendEnvelope(t)}}function LN(i,e){const t=`${e} must return \`null\` or a valid event.`;if(gi(i))return i.then(s=>{if(!ds(s)&&s!==null)throw Zs(t);return s},s=>{throw Zs(`${e} rejected with ${s}`)});if(!ds(i)&&i!==null)throw Zs(t);return i}function jN(i,e,t,s){const{beforeSend:o,beforeSendTransaction:r,beforeSendSpan:M}=e;let a=t;if(to(a)&&o)return o(a,s);if($n(a)){if(M){const u=M(cN(a));if(u?a=ms(t,uN(u)):Or(),a.spans){const N=[];for(const l of a.spans){const c=M(l);c?N.push(c):(Or(),N.push(l))}a.spans=N}}if(r){if(a.spans){const u=a.spans.length;a.sdkProcessingMetadata={...t.sdkProcessingMetadata,spanCountBeforeProcessing:u}}return r(a,s)}}return a}function to(i){return i.type===void 0}function $n(i){return i.type==="transaction"}function gN(i){return[{type:"log",item_count:i.length,content_type:"application/vnd.sentry.items.log+json"},{items:i}]}function TN(i,e,t,s){const o={};return e!=null&&e.sdk&&(o.sdk={name:e.sdk.name,version:e.sdk.version}),t&&s&&(o.dsn=yi(s)),Es(o,[gN(i)])}te._sentryClientToLogBufferMap=new WeakMap;function _i(i,e){var r;const t=yN(i)??[];if(t.length===0)return;const s=i.getOptions(),o=TN(t,s._metadata,s.tunnel,i.getDsn());(r=te._sentryClientToLogBufferMap)==null||r.set(i,[]),i.emit("flushLogs"),i.sendEnvelope(o)}function yN(i){var e;return(e=te._sentryClientToLogBufferMap)==null?void 0:e.get(i)}function DN(i,e){e.debug===!0&&(Z?B.enable():ts(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),ot().update(e.initialScope);const s=new i(e);return dN(s),s.init(),s}function dN(i){ot().setClient(i)}const Pn=Symbol.for("SentryBufferFullError");function zN(i){const e=[];function t(){return i===void 0||e.lengths(a)).then(null,()=>s(a).then(null,()=>{})),a}function r(M){return new Dt((a,u)=>{let N=e.length;if(!N)return a(!0);const l=setTimeout(()=>{M&&M>0&&a(!1)},M);e.forEach(c=>{St(c).then(()=>{--N||(clearTimeout(l),a(!0))},u)})})}return{$:e,add:o,drain:r}}const IN=60*1e3;function wN(i,e=Date.now()){const t=parseInt(`${i}`,10);if(!isNaN(t))return t*1e3;const s=Date.parse(`${i}`);return isNaN(s)?IN:s-e}function CN(i,e){return i[e]||i.all||0}function hN(i,e,t=Date.now()){return CN(i,e)>t}function AN(i,{statusCode:e,headers:t},s=Date.now()){const o={...i},r=t==null?void 0:t["x-sentry-rate-limits"],M=t==null?void 0:t["retry-after"];if(r)for(const a of r.trim().split(",")){const[u,N,,,l]=a.split(":",5),c=parseInt(u,10),L=(isNaN(c)?60:c)*1e3;if(!N)o.all=s+L;else for(const j of N.split(";"))j==="metric_bucket"?(!l||l.split(";").includes("custom"))&&(o[j]=s+L):o[j]=s+L}else M?o.all=s+wN(M,s):e===429&&(o.all=s+60*1e3);return o}const pN=64;function mN(i,e,t=zN(i.bufferSize||pN)){let s={};const o=M=>t.drain(M);function r(M){const a=[];if(fr(M,(c,L)=>{const j=kr(L);hN(s,j)?i.recordDroppedEvent("ratelimit_backoff",j):a.push(c)}),a.length===0)return St({});const u=Es(M[0],a),N=c=>{fr(u,(L,j)=>{i.recordDroppedEvent(c,kr(j))})},l=()=>e({body:xu(u)}).then(c=>(c.statusCode!==void 0&&(c.statusCode<200||c.statusCode>=300)&&Z&&B.warn(`Sentry responded with status code ${c.statusCode} to sent event.`),s=AN(s,c),c),c=>{throw N("network_error"),Z&&B.error("Encountered error running transport request:",c),c});return t.add(l).then(c=>c,c=>{if(c===Pn)return Z&&B.error("Skipped sending event because buffer is full."),N("queue_overflow"),St({});throw c})}return{send:r,flush:o}}function ON(i){var e;((e=i.user)==null?void 0:e.ip_address)===void 0&&(i.user={...i.user,ip_address:"{{auto}}"})}function EN(i){var e;"aggregates"in i?((e=i.attrs)==null?void 0:e.ip_address)===void 0&&(i.attrs={...i.attrs,ip_address:"{{auto}}"}):i.ipAddress===void 0&&(i.ipAddress="{{auto}}")}function _N(i,e,t=[e],s="npm"){const o=i._metadata||{};o.sdk||(o.sdk={name:`sentry.javascript.${e}`,packages:t.map(r=>({name:`${s}:@sentry/${r}`,version:Ot})),version:Ot}),i._metadata=o}const SN=100;function xt(i,e){const t=we(),s=Os();if(!t)return;const{beforeBreadcrumb:o=null,maxBreadcrumbs:r=SN}=t.getOptions();if(r<=0)return;const a={timestamp:ps(),...i},u=o?ts(()=>o(a,e)):a;u!==null&&(t.emit&&t.emit("beforeAddBreadcrumb",u,e),s.addBreadcrumb(u,r))}let Br;const xN="FunctionToString",Fr=new WeakMap,fN=()=>({name:xN,setupOnce(){Br=Function.prototype.toString;try{Function.prototype.toString=function(...i){const e=bo(this),t=Fr.has(we())&&e!==void 0?e:this;return Br.apply(t,i)}}catch{}},setup(i){Fr.set(i,!0)}}),kN=fN,YN=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`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",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],QN="EventFilters",UN=(i={})=>{let e;return{name:QN,setup(t){const s=t.getOptions();e=Gr(i,s)},processEvent(t,s,o){if(!e){const r=o.getOptions();e=Gr(i,r)}return bN(t,e)?null:t}}},vN=(i={})=>({...UN(i),name:"InboundFilters"});function Gr(i={},e={}){return{allowUrls:[...i.allowUrls||[],...e.allowUrls||[]],denyUrls:[...i.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...i.ignoreErrors||[],...e.ignoreErrors||[],...i.disableErrorDefaults?[]:YN],ignoreTransactions:[...i.ignoreTransactions||[],...e.ignoreTransactions||[]]}}function bN(i,e){if(i.type){if(i.type==="transaction"&&PN(i,e.ignoreTransactions))return Z&&B.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. +Event: ${pt(i)}`),!0}else{if($N(i,e.ignoreErrors))return Z&&B.warn(`Event dropped due to being matched by \`ignoreErrors\` option. +Event: ${pt(i)}`),!0;if(BN(i))return Z&&B.warn(`Event dropped due to not having an error message, error type or stacktrace. +Event: ${pt(i)}`),!0;if(WN(i,e.denyUrls))return Z&&B.warn(`Event dropped due to being matched by \`denyUrls\` option. Event: ${pt(i)}. -Url: ${oi(i)}`),!0;if(!PN(i,e.allowUrls))return Z&&B.warn(`Event dropped due to not being matched by \`allowUrls\` option. +Url: ${oi(i)}`),!0;if(!RN(i,e.allowUrls))return Z&&B.warn(`Event dropped due to not being matched by \`allowUrls\` option. Event: ${pt(i)}. -Url: ${oi(i)}`),!0}return!1}function vN(i,e){return e!=null&&e.length?Yn(i).some(t=>Ti(t,e)):!1}function bN(i,e){if(!(e!=null&&e.length))return!1;const t=i.transaction;return t?Ti(t,e):!1}function $N(i,e){if(!(e!=null&&e.length))return!1;const t=oi(i);return t?Ti(t,e):!1}function PN(i,e){if(!(e!=null&&e.length))return!0;const t=oi(i);return t?Ti(t,e):!0}function WN(i=[]){for(let e=i.length-1;e>=0;e--){const t=i[e];if(t&&t.filename!==""&&t.filename!=="[native code]")return t.filename||null}return null}function oi(i){var e,t;try{const s=[...((e=i.exception)==null?void 0:e.values)??[]].reverse().find(r=>{var M,n,u;return((M=r.mechanism)==null?void 0:M.parent_id)===void 0&&((u=(n=r.stacktrace)==null?void 0:n.frames)==null?void 0:u.length)}),o=(t=s==null?void 0:s.stacktrace)==null?void 0:t.frames;return o?WN(o):null}catch{return Z&&B.error(`Cannot extract url for event ${pt(i)}`),null}}function RN(i){var e,t;return(t=(e=i.exception)==null?void 0:e.values)!=null&&t.length?!i.message&&!i.exception.values.some(s=>s.stacktrace||s.type&&s.type!=="Error"||s.value):!1}function JN(i,e,t,s,o,r){var n;if(!((n=o.exception)!=null&&n.values)||!r||!Tt(r.originalException,Error))return;const M=o.exception.values.length>0?o.exception.values[o.exception.values.length-1]:void 0;M&&(o.exception.values=so(i,e,s,r.originalException,t,o.exception.values,M,0))}function so(i,e,t,s,o,r,M,n){if(r.length>=t+1)return r;let u=[...r];if(Tt(s[o],Error)){Hr(M,n);const N=i(e,s[o]),l=u.length;Vr(N,o,l,n),u=so(i,e,t,s[o],o,[N,...u],N,l)}return Array.isArray(s.errors)&&s.errors.forEach((N,l)=>{if(Tt(N,Error)){Hr(M,n);const c=i(e,N),L=u.length;Vr(c,`errors[${l}]`,L,n),u=so(i,e,t,N,o,[c,...u],c,L)}}),u}function Hr(i,e){i.mechanism=i.mechanism||{type:"generic",handled:!0},i.mechanism={...i.mechanism,...i.type==="AggregateError"&&{is_exception_group:!0},exception_id:e}}function Vr(i,e,t,s){i.mechanism=i.mechanism||{type:"generic",handled:!0},i.mechanism={...i.mechanism,type:"chained",source:e,exception_id:t,parent_id:s}}function BN(i){const e="console";kt(e,i),Yt(e,FN)}function FN(){"console"in te&&Vi.forEach(function(i){i in te.console&&Ee(te.console,i,function(e){return ti[i]=e,function(...t){ve("console",{args:t,level:i});const o=ti[i];o==null||o.apply(te.console,t)}})})}function GN(i){return i==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(i)?i:"log"}const HN="Dedupe",VN=()=>{let i;return{name:HN,processEvent(e){if(e.type)return e;try{if(ZN(e,i))return Z&&B.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return i=e}}},$n=VN;function ZN(i,e){return e?!!(XN(i,e)||KN(i,e)):!1}function XN(i,e){const t=i.message,s=e.message;return!(!t&&!s||t&&!s||!t&&s||t!==s||!Wn(i,e)||!Pn(i,e))}function KN(i,e){const t=Zr(e),s=Zr(i);return!(!t||!s||t.type!==s.type||t.value!==s.value||!Wn(i,e)||!Pn(i,e))}function Pn(i,e){let t=Sr(i),s=Sr(e);if(!t&&!s)return!0;if(t&&!s||!t&&s||(t=t,s=s,s.length!==t.length))return!1;for(let o=0;o=400&&i<500?"warning":i>=500?"error":void 0}const zs=te;function qN(){return"history"in zs&&!!zs.history}function el(){if(!("fetch"in zs))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function io(i){return i&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(i.toString())}function tl(){var t;if(typeof EdgeRuntime=="string")return!0;if(!el())return!1;if(io(zs.fetch))return!0;let i=!1;const e=zs.document;if(e&&typeof e.createElement=="function")try{const s=e.createElement("iframe");s.hidden=!0,e.head.appendChild(s),(t=s.contentWindow)!=null&&t.fetch&&(i=io(s.contentWindow.fetch)),e.head.removeChild(s)}catch(s){Z&&B.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",s)}return i}function sl(i,e){const t="fetch";kt(t,i),Yt(t,()=>il(void 0,e))}function il(i,e=!1){e&&!tl()||Ee(te,"fetch",function(t){return function(...s){const o=new Error,{method:r,url:M}=ol(s),n={args:s,fetchData:{method:r,url:M},startTimestamp:st()*1e3,virtualError:o,headers:rl(s)};return ve("fetch",{...n}),t.apply(te,s).then(async u=>(ve("fetch",{...n,endTimestamp:st()*1e3,response:u}),u),u=>{if(ve("fetch",{...n,endTimestamp:st()*1e3,error:u}),ko(u)&&u.stack===void 0&&(u.stack=o.stack,Et(u,"framesToPop",1)),u instanceof TypeError&&(u.message==="Failed to fetch"||u.message==="Load failed"||u.message==="NetworkError when attempting to fetch resource."))try{const N=new URL(n.fetchData.url);u.message=`${u.message} (${N.host})`}catch{}throw u})}})}function oo(i,e){return!!i&&typeof i=="object"&&!!i[e]}function Xr(i){return typeof i=="string"?i:i?oo(i,"url")?i.url:i.toString?i.toString():"":""}function ol(i){if(i.length===0)return{method:"GET",url:""};if(i.length===2){const[t,s]=i;return{url:Xr(t),method:oo(s,"method")?String(s.method).toUpperCase():"GET"}}const e=i[0];return{url:Xr(e),method:oo(e,"method")?String(e.method).toUpperCase():"GET"}}function rl(i){const[e,t]=i;try{if(typeof t=="object"&&t!==null&&"headers"in t&&t.headers)return new Headers(t.headers);if(Tc(e))return new Headers(e.headers)}catch{}}function Ml(){return"npm"}const Me=te;let ro=0;function Jn(){return ro>0}function nl(){ro++,setTimeout(()=>{ro--})}function qt(i,e={}){function t(o){return typeof o=="function"}if(!t(i))return i;try{const o=i.__sentry_wrapped__;if(o)return typeof o=="function"?o:i;if(bo(i))return i}catch{return i}const s=function(...o){try{const r=o.map(M=>qt(M,e));return i.apply(this,r)}catch(r){throw nl(),vc(M=>{M.addEventProcessor(n=>(e.mechanism&&(Zi(n,void 0),Zt(n,e.mechanism)),n.extra={...n.extra,arguments:o},n)),Ku(r)}),r}};try{for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&(s[o]=i[o])}catch{}gn(s,i),Et(i,"__sentry_wrapped__",s);try{Object.getOwnPropertyDescriptor(s,"name").configurable&&Object.defineProperty(s,"name",{get(){return i.name}})}catch{}return s}function al(){const i=vo(),{referrer:e}=Me.document||{},{userAgent:t}=Me.navigator||{},s={...e&&{Referer:e},...t&&{"User-Agent":t}};return{url:i,headers:s}}function Ro(i,e){const t=Jo(i,e),s={type:Ll(e),value:jl(e)};return t.length&&(s.stacktrace={frames:t}),s.type===void 0&&s.value===""&&(s.value="Unrecoverable error caught"),s}function cl(i,e,t,s){const o=we(),r=o==null?void 0:o.getOptions().normalizeDepth,M=dl(e),n={__serialized__:En(e,r)};if(M)return{exception:{values:[Ro(i,M)]},extra:n};const u={exception:{values:[{type:ji(e)?e.constructor.name:s?"UnhandledRejection":"Error",value:yl(e,{isUnhandledRejection:s})}]},extra:n};if(t){const N=Jo(i,t);N.length&&(u.exception.values[0].stacktrace={frames:N})}return u}function xi(i,e){return{exception:{values:[Ro(i,e)]}}}function Jo(i,e){const t=e.stacktrace||e.stack||"",s=Nl(e),o=ll(e);try{return i(t,s,o)}catch{}return[]}const ul=/Minified React error #\d+;/i;function Nl(i){return i&&ul.test(i.message)?1:0}function ll(i){return typeof i.framesToPop=="number"?i.framesToPop:0}function Bn(i){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?i instanceof WebAssembly.Exception:!1}function Ll(i){const e=i==null?void 0:i.name;return!e&&Bn(i)?i.message&&Array.isArray(i.message)&&i.message.length==2?i.message[0]:"WebAssembly.Exception":e}function jl(i){const e=i==null?void 0:i.message;return Bn(i)?Array.isArray(i.message)&&i.message.length==2?i.message[1]:"wasm exception":e?e.error&&typeof e.error.message=="string"?e.error.message:e:"No error message"}function gl(i,e,t,s){const o=(t==null?void 0:t.syntheticException)||void 0,r=Bo(i,e,o,s);return Zt(r),r.level="error",t!=null&&t.event_id&&(r.event_id=t.event_id),St(r)}function Tl(i,e,t="info",s,o){const r=(s==null?void 0:s.syntheticException)||void 0,M=Mo(i,e,r,o);return M.level=t,s!=null&&s.event_id&&(M.event_id=s.event_id),St(M)}function Bo(i,e,t,s,o){let r;if(ln(e)&&e.error)return xi(i,e.error);if(gr(e)||lc(e)){const M=e;if("stack"in e)r=xi(i,e);else{const n=M.name||(gr(M)?"DOMError":"DOMException"),u=M.message?`${n}: ${M.message}`:n;r=Mo(i,u,t,s),Zi(r,u)}return"code"in M&&(r.tags={...r.tags,"DOMException.code":`${M.code}`}),r}return ko(e)?xi(i,e):ds(e)||ji(e)?(r=cl(i,e,t,o),Zt(r,{synthetic:!0}),r):(r=Mo(i,e,t,s),Zi(r,`${e}`),Zt(r,{synthetic:!0}),r)}function Mo(i,e,t,s){const o={};if(s&&t){const r=Jo(i,t);r.length&&(o.exception={values:[{value:e,stacktrace:{frames:r}}]}),Zt(o,{synthetic:!0})}if(Yo(e)){const{__sentry_template_string__:r,__sentry_template_values__:M}=e;return o.logentry={message:r,params:M},o}return o.message=e,o}function yl(i,{isUnhandledRejection:e}){const t=Cc(i),s=e?"promise rejection":"exception";return ln(i)?`Event \`ErrorEvent\` captured as ${s} with message \`${i.message}\``:ji(i)?`Event \`${Dl(i)}\` (type=${i.type}) captured as ${s}`:`Object captured as ${s} with keys: ${t}`}function Dl(i){try{const e=Object.getPrototypeOf(i);return e?e.constructor.name:void 0}catch{}}function dl(i){for(const e in i)if(Object.prototype.hasOwnProperty.call(i,e)){const t=i[e];if(t instanceof Error)return t}}const zl=5e3;class Il extends uN{constructor(e){const t=wl(e),s=Me.SENTRY_SDK_SOURCE||Ml();ON(t,"browser",["browser"],s),super(t);const{sendDefaultPii:o,sendClientReports:r,_experiments:M}=this._options,n=M==null?void 0:M.enableLogs;Me.document&&(r||n)&&Me.document.addEventListener("visibilitychange",()=>{Me.document.visibilityState==="hidden"&&(r&&this._flushOutcomes(),n&&_i(this))}),n&&(this.on("flush",()=>{_i(this)}),this.on("afterCaptureLog",()=>{this._logFlushIdleTimeout&&clearTimeout(this._logFlushIdleTimeout),this._logFlushIdleTimeout=setTimeout(()=>{_i(this)},zl)})),o&&(this.on("postprocessEvent",pN),this.on("beforeSendSession",mN))}eventFromException(e,t){return gl(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t="info",s){return Tl(this._options.stackParser,e,t,s,this._options.attachStacktrace)}_prepareEvent(e,t,s,o){return e.platform=e.platform||"javascript",super._prepareEvent(e,t,s,o)}}function wl(i){var e;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(e=Me.SENTRY_RELEASE)==null?void 0:e.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...i}}const Cl=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,ze=te,hl=1e3;let Kr,no,ao;function Al(i){const e="dom";kt(e,i),Yt(e,pl)}function pl(){if(!ze.document)return;const i=ve.bind(null,"dom"),e=qr(i,!0);ze.document.addEventListener("click",e,!1),ze.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(t=>{var r,M;const o=(r=ze[t])==null?void 0:r.prototype;(M=o==null?void 0:o.hasOwnProperty)!=null&&M.call(o,"addEventListener")&&(Ee(o,"addEventListener",function(n){return function(u,N,l){if(u==="click"||u=="keypress")try{const c=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},L=c[u]=c[u]||{refCount:0};if(!L.handler){const j=qr(i);L.handler=j,n.call(this,u,j,l)}L.refCount++}catch{}return n.call(this,u,N,l)}}),Ee(o,"removeEventListener",function(n){return function(u,N,l){if(u==="click"||u=="keypress")try{const c=this.__sentry_instrumentation_handlers__||{},L=c[u];L&&(L.refCount--,L.refCount<=0&&(n.call(this,u,L.handler,l),L.handler=void 0,delete c[u]),Object.keys(c).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return n.call(this,u,N,l)}}))})}function ml(i){if(i.type!==no)return!1;try{if(!i.target||i.target._sentryId!==ao)return!1}catch{}return!0}function Ol(i,e){return i!=="keypress"?!1:e!=null&&e.tagName?!(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable):!0}function qr(i,e=!1){return t=>{if(!t||t._sentryCaptured)return;const s=El(t);if(Ol(t.type,s))return;Et(t,"_sentryCaptured",!0),s&&!s._sentryId&&Et(s,"_sentryId",fe());const o=t.type==="keypress"?"input":t.type;ml(t)||(i({event:t,name:o,global:e}),no=t.type,ao=s?s._sentryId:void 0),clearTimeout(Kr),Kr=ze.setTimeout(()=>{ao=void 0,no=void 0},hl)}}function El(i){try{return i.target}catch{return null}}let Us;function Fn(i){const e="history";kt(e,i),Yt(e,_l)}function _l(){if(ze.addEventListener("popstate",()=>{const e=ze.location.href,t=Us;if(Us=e,t===e)return;ve("history",{from:t,to:e})}),!qN())return;function i(e){return function(...t){const s=t.length>2?t[2]:void 0;if(s){const o=Us,r=Sl(String(s));if(Us=r,o===r)return e.apply(this,t);ve("history",{from:o,to:r})}return e.apply(this,t)}}Ee(ze.history,"pushState",i),Ee(ze.history,"replaceState",i)}function Sl(i){try{return new URL(i,ze.location.origin).toString()}catch{return i}}const Xs={};function xl(i){const e=Xs[i];if(e)return e;let t=ze[i];if(io(t))return Xs[i]=t.bind(ze);const s=ze.document;if(s&&typeof s.createElement=="function")try{const o=s.createElement("iframe");o.hidden=!0,s.head.appendChild(o);const r=o.contentWindow;r!=null&&r[i]&&(t=r[i]),s.head.removeChild(o)}catch(o){Cl&&B.warn(`Could not create sandbox iframe for ${i} check, bailing to window.${i}: `,o)}return t&&(Xs[i]=t.bind(ze))}function eM(i){Xs[i]=void 0}const ls="__sentry_xhr_v3__";function fl(i){const e="xhr";kt(e,i),Yt(e,kl)}function kl(){if(!ze.XMLHttpRequest)return;const i=XMLHttpRequest.prototype;i.open=new Proxy(i.open,{apply(e,t,s){const o=new Error,r=st()*1e3,M=tt(s[0])?s[0].toUpperCase():void 0,n=Yl(s[1]);if(!M||!n)return e.apply(t,s);t[ls]={method:M,url:n,request_headers:{}},M==="POST"&&n.match(/sentry_key/)&&(t.__sentry_own_request__=!0);const u=()=>{const N=t[ls];if(N&&t.readyState===4){try{N.status_code=t.status}catch{}const l={endTimestamp:st()*1e3,startTimestamp:r,xhr:t,virtualError:o};ve("xhr",l)}};return"onreadystatechange"in t&&typeof t.onreadystatechange=="function"?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply(N,l,c){return u(),N.apply(l,c)}}):t.addEventListener("readystatechange",u),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(N,l,c){const[L,j]=c,T=l[ls];return T&&tt(L)&&tt(j)&&(T.request_headers[L.toLowerCase()]=j),N.apply(l,c)}}),e.apply(t,s)}}),i.send=new Proxy(i.send,{apply(e,t,s){const o=t[ls];if(!o)return e.apply(t,s);s[0]!==void 0&&(o.body=s[0]);const r={startTimestamp:st()*1e3,xhr:t};return ve("xhr",r),e.apply(t,s)}})}function Yl(i){if(tt(i))return i;try{return i.toString()}catch{}}function Ql(i,e=xl("fetch")){let t=0,s=0;function o(r){const M=r.body.length;t+=M,s++;const n={body:r.body,method:"POST",referrerPolicy:"strict-origin",headers:i.headers,keepalive:t<=6e4&&s<15,...i.fetchOptions};if(!e)return eM("fetch"),ii("No fetch implementation available");try{return e(i.url,n).then(u=>(t-=M,s--,{statusCode:u.status,headers:{"x-sentry-rate-limits":u.headers.get("X-Sentry-Rate-Limits"),"retry-after":u.headers.get("Retry-After")}}))}catch(u){return eM("fetch"),t-=M,s--,ii(u)}}return AN(i,o)}const Ul=30,vl=50;function co(i,e,t,s){const o={filename:i,function:e===""?_t:e,in_app:!0};return t!==void 0&&(o.lineno=t),s!==void 0&&(o.colno=s),o}const bl=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,$l=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Pl=/\((\S*)(?::(\d+))(?::(\d+))\)/,Wl=i=>{const e=bl.exec(i);if(e){const[,s,o,r]=e;return co(s,_t,+o,+r)}const t=$l.exec(i);if(t){if(t[2]&&t[2].indexOf("eval")===0){const M=Pl.exec(t[2]);M&&(t[2]=M[1],t[3]=M[2],t[4]=M[3])}const[o,r]=Gn(t[1]||_t,t[2]);return co(r,o,t[3]?+t[3]:void 0,t[4]?+t[4]:void 0)}},Rl=[Ul,Wl],Jl=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Bl=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Fl=i=>{const e=Jl.exec(i);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const r=Bl.exec(e[3]);r&&(e[1]=e[1]||"eval",e[3]=r[1],e[4]=r[2],e[5]="")}let s=e[3],o=e[1]||_t;return[o,s]=Gn(o,s),co(s,o,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},Gl=[vl,Fl],Hl=[Rl,Gl],Vl=pn(...Hl),Gn=(i,e)=>{const t=i.indexOf("safari-extension")!==-1,s=i.indexOf("safari-web-extension")!==-1;return t||s?[i.indexOf("@")!==-1?i.split("@")[0]:_t,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[i,e]},Di=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,vs=1024,Zl="Breadcrumbs",Xl=(i={})=>{const e={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...i};return{name:Zl,setup(t){e.console&&BN(t4(t)),e.dom&&Al(e4(t,e.dom)),e.xhr&&fl(s4(t)),e.fetch&&sl(i4(t)),e.history&&Fn(o4(t)),e.sentry&&t.on("beforeSendEvent",ql(t))}}},Kl=Xl;function ql(i){return function(t){we()===i&&xt({category:`sentry.${t.type==="transaction"?"transaction":"event"}`,event_id:t.event_id,level:t.level,message:pt(t)},{event:t})}}function e4(i,e){return function(s){if(we()!==i)return;let o,r,M=typeof e=="object"?e.serializeAttribute:void 0,n=typeof e=="object"&&typeof e.maxStringLength=="number"?e.maxStringLength:void 0;n&&n>vs&&(Di&&B.warn(`\`dom.maxStringLength\` cannot exceed ${vs}, but a value of ${n} was configured. Sentry will use ${vs} instead.`),n=vs),typeof M=="string"&&(M=[M]);try{const N=s.event,l=r4(N)?N.target:N;o=jn(l,{keyAttrs:M,maxStringLength:n}),r=dc(l)}catch{o=""}if(o.length===0)return;const u={category:`ui.${s.name}`,message:o};r&&(u.data={"ui.component_name":r}),xt(u,{event:s.event,name:s.name,global:s.global})}}function t4(i){return function(t){if(we()!==i)return;const s={category:"console",data:{arguments:t.args,logger:"console"},level:GN(t.level),message:Tr(t.args," ")};if(t.level==="assert")if(t.args[0]===!1)s.message=`Assertion failed: ${Tr(t.args.slice(1)," ")||"console.assert"}`,s.data.arguments=t.args.slice(1);else return;xt(s,{input:t.args,level:t.level})}}function s4(i){return function(t){if(we()!==i)return;const{startTimestamp:s,endTimestamp:o}=t,r=t.xhr[ls];if(!s||!o||!r)return;const{method:M,url:n,status_code:u,body:N}=r,l={method:M,url:n,status_code:u},c={xhr:t.xhr,input:N,startTimestamp:s,endTimestamp:o},L={category:"xhr",data:l,type:"http",level:Rn(u)};i.emit("beforeOutgoingRequestBreadcrumb",L,c),xt(L,c)}}function i4(i){return function(t){if(we()!==i)return;const{startTimestamp:s,endTimestamp:o}=t;if(o&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method==="POST"))if(t.fetchData.method,t.fetchData.url,t.error){const r=t.fetchData,M={data:t.error,input:t.args,startTimestamp:s,endTimestamp:o},n={category:"fetch",data:r,level:"error",type:"http"};i.emit("beforeOutgoingRequestBreadcrumb",n,M),xt(n,M)}else{const r=t.response,M={...t.fetchData,status_code:r==null?void 0:r.status};t.fetchData.request_body_size,t.fetchData.response_body_size,r==null||r.status;const n={input:t.args,response:r,startTimestamp:s,endTimestamp:o},u={category:"fetch",data:M,type:"http",level:Rn(M.status_code)};i.emit("beforeOutgoingRequestBreadcrumb",u,n),xt(u,n)}}}function o4(i){return function(t){if(we()!==i)return;let s=t.from,o=t.to;const r=Si(Me.location.href);let M=s?Si(s):void 0;const n=Si(o);M!=null&&M.path||(M=r),r.protocol===n.protocol&&r.host===n.host&&(o=n.relative),r.protocol===M.protocol&&r.host===M.host&&(s=M.relative),xt({category:"navigation",data:{from:s,to:o}})}}function r4(i){return!!i&&!!i.target}const M4=["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"],n4="BrowserApiErrors",a4=(i={})=>{const e={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...i};return{name:n4,setupOnce(){e.setTimeout&&Ee(Me,"setTimeout",tM),e.setInterval&&Ee(Me,"setInterval",tM),e.requestAnimationFrame&&Ee(Me,"requestAnimationFrame",u4),e.XMLHttpRequest&&"XMLHttpRequest"in Me&&Ee(XMLHttpRequest.prototype,"send",N4);const t=e.eventTarget;t&&(Array.isArray(t)?t:M4).forEach(o=>l4(o,e))}}},c4=a4;function tM(i){return function(...e){const t=e[0];return e[0]=qt(t,{mechanism:{data:{function:yt(i)},handled:!1,type:"instrument"}}),i.apply(this,e)}}function u4(i){return function(e){return i.apply(this,[qt(e,{mechanism:{data:{function:"requestAnimationFrame",handler:yt(i)},handled:!1,type:"instrument"}})])}}function N4(i){return function(...e){const t=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(o=>{o in t&&typeof t[o]=="function"&&Ee(t,o,function(r){const M={mechanism:{data:{function:o,handler:yt(r)},handled:!1,type:"instrument"}},n=bo(r);return n&&(M.mechanism.data.handler=yt(n)),qt(r,M)})}),i.apply(this,e)}}function l4(i,e){var o,r;const s=(o=Me[i])==null?void 0:o.prototype;(r=s==null?void 0:s.hasOwnProperty)!=null&&r.call(s,"addEventListener")&&(Ee(s,"addEventListener",function(M){return function(n,u,N){try{L4(u)&&(u.handleEvent=qt(u.handleEvent,{mechanism:{data:{function:"handleEvent",handler:yt(u),target:i},handled:!1,type:"instrument"}}))}catch{}return e.unregisterOriginalCallbacks&&j4(this,n,u),M.apply(this,[n,qt(u,{mechanism:{data:{function:"addEventListener",handler:yt(u),target:i},handled:!1,type:"instrument"}}),N])}}),Ee(s,"removeEventListener",function(M){return function(n,u,N){try{const l=u.__sentry_wrapped__;l&&M.call(this,n,l,N)}catch{}return M.call(this,n,u,N)}}))}function L4(i){return typeof i.handleEvent=="function"}function j4(i,e,t){i&&typeof i=="object"&&"removeEventListener"in i&&typeof i.removeEventListener=="function"&&i.removeEventListener(e,t)}const g4=()=>({name:"BrowserSession",setupOnce(){if(typeof Me.document>"u"){Di&&B.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Ur({ignoreDuration:!0}),vr(),Fn(({from:i,to:e})=>{i!==void 0&&i!==e&&(Ur({ignoreDuration:!0}),vr())})}}),T4="GlobalHandlers",y4=(i={})=>{const e={onerror:!0,onunhandledrejection:!0,...i};return{name:T4,setupOnce(){Error.stackTraceLimit=50},setup(t){e.onerror&&(d4(t),sM("onerror")),e.onunhandledrejection&&(z4(t),sM("onunhandledrejection"))}}},D4=y4;function d4(i){cu(e=>{const{stackParser:t,attachStacktrace:s}=Hn();if(we()!==i||Jn())return;const{msg:o,url:r,line:M,column:n,error:u}=e,N=C4(Bo(t,u||o,void 0,s,!1),r,M,n);N.level="error",Sn(N,{originalException:u,mechanism:{handled:!1,type:"onerror"}})})}function z4(i){Nu(e=>{const{stackParser:t,attachStacktrace:s}=Hn();if(we()!==i||Jn())return;const o=I4(e),r=Qo(o)?w4(o):Bo(t,o,void 0,s,!0);r.level="error",Sn(r,{originalException:o,mechanism:{handled:!1,type:"onunhandledrejection"}})})}function I4(i){if(Qo(i))return i;try{if("reason"in i)return i.reason;if("detail"in i&&"reason"in i.detail)return i.detail.reason}catch{}return i}function w4(i){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`}]}}}function C4(i,e,t,s){const o=i.exception=i.exception||{},r=o.values=o.values||[],M=r[0]=r[0]||{},n=M.stacktrace=M.stacktrace||{},u=n.frames=n.frames||[],N=s,l=t,c=tt(e)&&e.length>0?e:vo();return u.length===0&&u.push({colno:N,filename:c,function:_t,in_app:!0,lineno:l}),i}function sM(i){Di&&B.log(`Global Handler attached: ${i}`)}function Hn(){const i=we();return(i==null?void 0:i.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}const h4=()=>({name:"HttpContext",preprocessEvent(i){var s;if(!Me.navigator&&!Me.location&&!Me.document)return;const e=al(),t={...e.headers,...(s=i.request)==null?void 0:s.headers};i.request={...e,...i.request,headers:t}}}),A4="cause",p4=5,m4="LinkedErrors",O4=(i={})=>{const e=i.limit||p4,t=i.key||A4;return{name:m4,preprocessEvent(s,o,r){const M=r.getOptions();JN(Ro,M.stackParser,t,e,s,o)}}},E4=O4;function _4(){return S4()?(Di&&ts(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function S4(){var r;if(typeof Me.window>"u")return!1;const i=Me;if(i.nw)return!1;const e=i.chrome||i.browser;if(!((r=e==null?void 0:e.runtime)!=null&&r.id))return!1;const t=vo(),s=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(Me===Me.top&&s.some(M=>t.startsWith(`${M}://`)))}function x4(i){return[QN(),xN(),c4(),Kl(),D4(),E4(),$n(),h4(),g4()]}function f4(i={}){const e=!i.skipBrowserExtensionCheck&&_4(),t={...i,enabled:e?!1:i.enabled,stackParser:nu(i.stackParser||Vl),integrations:rN({integrations:i.integrations,defaultIntegrations:i.defaultIntegrations==null?x4():i.defaultIntegrations}),transport:i.transport||Ql};return TN(Il,t)}function k4(){console.log(` +Url: ${oi(i)}`),!0}return!1}function $N(i,e){return e!=null&&e.length?Un(i).some(t=>Ti(t,e)):!1}function PN(i,e){if(!(e!=null&&e.length))return!1;const t=i.transaction;return t?Ti(t,e):!1}function WN(i,e){if(!(e!=null&&e.length))return!1;const t=oi(i);return t?Ti(t,e):!1}function RN(i,e){if(!(e!=null&&e.length))return!0;const t=oi(i);return t?Ti(t,e):!0}function JN(i=[]){for(let e=i.length-1;e>=0;e--){const t=i[e];if(t&&t.filename!==""&&t.filename!=="[native code]")return t.filename||null}return null}function oi(i){var e,t;try{const s=[...((e=i.exception)==null?void 0:e.values)??[]].reverse().find(r=>{var M,a,u;return((M=r.mechanism)==null?void 0:M.parent_id)===void 0&&((u=(a=r.stacktrace)==null?void 0:a.frames)==null?void 0:u.length)}),o=(t=s==null?void 0:s.stacktrace)==null?void 0:t.frames;return o?JN(o):null}catch{return Z&&B.error(`Cannot extract url for event ${pt(i)}`),null}}function BN(i){var e,t;return(t=(e=i.exception)==null?void 0:e.values)!=null&&t.length?!i.message&&!i.exception.values.some(s=>s.stacktrace||s.type&&s.type!=="Error"||s.value):!1}function FN(i,e,t,s,o,r){var a;if(!((a=o.exception)!=null&&a.values)||!r||!Tt(r.originalException,Error))return;const M=o.exception.values.length>0?o.exception.values[o.exception.values.length-1]:void 0;M&&(o.exception.values=so(i,e,s,r.originalException,t,o.exception.values,M,0))}function so(i,e,t,s,o,r,M,a){if(r.length>=t+1)return r;let u=[...r];if(Tt(s[o],Error)){Hr(M,a);const N=i(e,s[o]),l=u.length;Vr(N,o,l,a),u=so(i,e,t,s[o],o,[N,...u],N,l)}return Array.isArray(s.errors)&&s.errors.forEach((N,l)=>{if(Tt(N,Error)){Hr(M,a);const c=i(e,N),L=u.length;Vr(c,`errors[${l}]`,L,a),u=so(i,e,t,N,o,[c,...u],c,L)}}),u}function Hr(i,e){i.mechanism=i.mechanism||{type:"generic",handled:!0},i.mechanism={...i.mechanism,...i.type==="AggregateError"&&{is_exception_group:!0},exception_id:e}}function Vr(i,e,t,s){i.mechanism=i.mechanism||{type:"generic",handled:!0},i.mechanism={...i.mechanism,type:"chained",source:e,exception_id:t,parent_id:s}}function GN(i){const e="console";kt(e,i),Yt(e,HN)}function HN(){"console"in te&&Vi.forEach(function(i){i in te.console&&Ee(te.console,i,function(e){return ti[i]=e,function(...t){ve("console",{args:t,level:i});const o=ti[i];o==null||o.apply(te.console,t)}})})}function VN(i){return i==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(i)?i:"log"}const ZN="Dedupe",XN=()=>{let i;return{name:ZN,processEvent(e){if(e.type)return e;try{if(KN(e,i))return Z&&B.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return i=e}}},Wn=XN;function KN(i,e){return e?!!(qN(i,e)||el(i,e)):!1}function qN(i,e){const t=i.message,s=e.message;return!(!t&&!s||t&&!s||!t&&s||t!==s||!Jn(i,e)||!Rn(i,e))}function el(i,e){const t=Zr(e),s=Zr(i);return!(!t||!s||t.type!==s.type||t.value!==s.value||!Jn(i,e)||!Rn(i,e))}function Rn(i,e){let t=Sr(i),s=Sr(e);if(!t&&!s)return!0;if(t&&!s||!t&&s||(t=t,s=s,s.length!==t.length))return!1;for(let o=0;o=400&&i<500?"warning":i>=500?"error":void 0}const zs=te;function tl(){return"history"in zs&&!!zs.history}function sl(){if(!("fetch"in zs))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch{return!1}}function io(i){return i&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(i.toString())}function il(){var t;if(typeof EdgeRuntime=="string")return!0;if(!sl())return!1;if(io(zs.fetch))return!0;let i=!1;const e=zs.document;if(e&&typeof e.createElement=="function")try{const s=e.createElement("iframe");s.hidden=!0,e.head.appendChild(s),(t=s.contentWindow)!=null&&t.fetch&&(i=io(s.contentWindow.fetch)),e.head.removeChild(s)}catch(s){Z&&B.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",s)}return i}function ol(i,e){const t="fetch";kt(t,i),Yt(t,()=>rl(void 0,e))}function rl(i,e=!1){e&&!il()||Ee(te,"fetch",function(t){return function(...s){const o=new Error,{method:r,url:M}=Ml(s),a={args:s,fetchData:{method:r,url:M},startTimestamp:st()*1e3,virtualError:o,headers:nl(s)};return ve("fetch",{...a}),t.apply(te,s).then(async u=>(ve("fetch",{...a,endTimestamp:st()*1e3,response:u}),u),u=>{if(ve("fetch",{...a,endTimestamp:st()*1e3,error:u}),ko(u)&&u.stack===void 0&&(u.stack=o.stack,Et(u,"framesToPop",1)),u instanceof TypeError&&(u.message==="Failed to fetch"||u.message==="Load failed"||u.message==="NetworkError when attempting to fetch resource."))try{const N=new URL(a.fetchData.url);u.message=`${u.message} (${N.host})`}catch{}throw u})}})}function oo(i,e){return!!i&&typeof i=="object"&&!!i[e]}function Xr(i){return typeof i=="string"?i:i?oo(i,"url")?i.url:i.toString?i.toString():"":""}function Ml(i){if(i.length===0)return{method:"GET",url:""};if(i.length===2){const[t,s]=i;return{url:Xr(t),method:oo(s,"method")?String(s.method).toUpperCase():"GET"}}const e=i[0];return{url:Xr(e),method:oo(e,"method")?String(e.method).toUpperCase():"GET"}}function nl(i){const[e,t]=i;try{if(typeof t=="object"&&t!==null&&"headers"in t&&t.headers)return new Headers(t.headers);if(Dc(e))return new Headers(e.headers)}catch{}}function al(){return"npm"}const Me=te;let ro=0;function Fn(){return ro>0}function cl(){ro++,setTimeout(()=>{ro--})}function qt(i,e={}){function t(o){return typeof o=="function"}if(!t(i))return i;try{const o=i.__sentry_wrapped__;if(o)return typeof o=="function"?o:i;if(bo(i))return i}catch{return i}const s=function(...o){try{const r=o.map(M=>qt(M,e));return i.apply(this,r)}catch(r){throw cl(),$c(M=>{M.addEventProcessor(a=>(e.mechanism&&(Zi(a,void 0),Zt(a,e.mechanism)),a.extra={...a.extra,arguments:o},a)),eN(r)}),r}};try{for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&(s[o]=i[o])}catch{}yn(s,i),Et(i,"__sentry_wrapped__",s);try{Object.getOwnPropertyDescriptor(s,"name").configurable&&Object.defineProperty(s,"name",{get(){return i.name}})}catch{}return s}function ul(){const i=vo(),{referrer:e}=Me.document||{},{userAgent:t}=Me.navigator||{},s={...e&&{Referer:e},...t&&{"User-Agent":t}};return{url:i,headers:s}}function Ro(i,e){const t=Jo(i,e),s={type:gl(e),value:Tl(e)};return t.length&&(s.stacktrace={frames:t}),s.type===void 0&&s.value===""&&(s.value="Unrecoverable error caught"),s}function Nl(i,e,t,s){const o=we(),r=o==null?void 0:o.getOptions().normalizeDepth,M=Il(e),a={__serialized__:Sn(e,r)};if(M)return{exception:{values:[Ro(i,M)]},extra:a};const u={exception:{values:[{type:ji(e)?e.constructor.name:s?"UnhandledRejection":"Error",value:dl(e,{isUnhandledRejection:s})}]},extra:a};if(t){const N=Jo(i,t);N.length&&(u.exception.values[0].stacktrace={frames:N})}return u}function xi(i,e){return{exception:{values:[Ro(i,e)]}}}function Jo(i,e){const t=e.stacktrace||e.stack||"",s=Ll(e),o=jl(e);try{return i(t,s,o)}catch{}return[]}const ll=/Minified React error #\d+;/i;function Ll(i){return i&&ll.test(i.message)?1:0}function jl(i){return typeof i.framesToPop=="number"?i.framesToPop:0}function Gn(i){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?i instanceof WebAssembly.Exception:!1}function gl(i){const e=i==null?void 0:i.name;return!e&&Gn(i)?i.message&&Array.isArray(i.message)&&i.message.length==2?i.message[0]:"WebAssembly.Exception":e}function Tl(i){const e=i==null?void 0:i.message;return Gn(i)?Array.isArray(i.message)&&i.message.length==2?i.message[1]:"wasm exception":e?e.error&&typeof e.error.message=="string"?e.error.message:e:"No error message"}function yl(i,e,t,s){const o=(t==null?void 0:t.syntheticException)||void 0,r=Bo(i,e,o,s);return Zt(r),r.level="error",t!=null&&t.event_id&&(r.event_id=t.event_id),St(r)}function Dl(i,e,t="info",s,o){const r=(s==null?void 0:s.syntheticException)||void 0,M=Mo(i,e,r,o);return M.level=t,s!=null&&s.event_id&&(M.event_id=s.event_id),St(M)}function Bo(i,e,t,s,o){let r;if(jn(e)&&e.error)return xi(i,e.error);if(gr(e)||jc(e)){const M=e;if("stack"in e)r=xi(i,e);else{const a=M.name||(gr(M)?"DOMError":"DOMException"),u=M.message?`${a}: ${M.message}`:a;r=Mo(i,u,t,s),Zi(r,u)}return"code"in M&&(r.tags={...r.tags,"DOMException.code":`${M.code}`}),r}return ko(e)?xi(i,e):ds(e)||ji(e)?(r=Nl(i,e,t,o),Zt(r,{synthetic:!0}),r):(r=Mo(i,e,t,s),Zi(r,`${e}`),Zt(r,{synthetic:!0}),r)}function Mo(i,e,t,s){const o={};if(s&&t){const r=Jo(i,t);r.length&&(o.exception={values:[{value:e,stacktrace:{frames:r}}]}),Zt(o,{synthetic:!0})}if(Yo(e)){const{__sentry_template_string__:r,__sentry_template_values__:M}=e;return o.logentry={message:r,params:M},o}return o.message=e,o}function dl(i,{isUnhandledRejection:e}){const t=Ac(i),s=e?"promise rejection":"exception";return jn(i)?`Event \`ErrorEvent\` captured as ${s} with message \`${i.message}\``:ji(i)?`Event \`${zl(i)}\` (type=${i.type}) captured as ${s}`:`Object captured as ${s} with keys: ${t}`}function zl(i){try{const e=Object.getPrototypeOf(i);return e?e.constructor.name:void 0}catch{}}function Il(i){for(const e in i)if(Object.prototype.hasOwnProperty.call(i,e)){const t=i[e];if(t instanceof Error)return t}}const wl=5e3;class Cl extends lN{constructor(e){const t=hl(e),s=Me.SENTRY_SDK_SOURCE||al();_N(t,"browser",["browser"],s),super(t);const{sendDefaultPii:o,sendClientReports:r,_experiments:M}=this._options,a=M==null?void 0:M.enableLogs;Me.document&&(r||a)&&Me.document.addEventListener("visibilitychange",()=>{Me.document.visibilityState==="hidden"&&(r&&this._flushOutcomes(),a&&_i(this))}),a&&(this.on("flush",()=>{_i(this)}),this.on("afterCaptureLog",()=>{this._logFlushIdleTimeout&&clearTimeout(this._logFlushIdleTimeout),this._logFlushIdleTimeout=setTimeout(()=>{_i(this)},wl)})),o&&(this.on("postprocessEvent",ON),this.on("beforeSendSession",EN))}eventFromException(e,t){return yl(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t="info",s){return Dl(this._options.stackParser,e,t,s,this._options.attachStacktrace)}_prepareEvent(e,t,s,o){return e.platform=e.platform||"javascript",super._prepareEvent(e,t,s,o)}}function hl(i){var e;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(e=Me.SENTRY_RELEASE)==null?void 0:e.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...i}}const Al=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,ze=te,pl=1e3;let Kr,no,ao;function ml(i){const e="dom";kt(e,i),Yt(e,Ol)}function Ol(){if(!ze.document)return;const i=ve.bind(null,"dom"),e=qr(i,!0);ze.document.addEventListener("click",e,!1),ze.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(t=>{var r,M;const o=(r=ze[t])==null?void 0:r.prototype;(M=o==null?void 0:o.hasOwnProperty)!=null&&M.call(o,"addEventListener")&&(Ee(o,"addEventListener",function(a){return function(u,N,l){if(u==="click"||u=="keypress")try{const c=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},L=c[u]=c[u]||{refCount:0};if(!L.handler){const j=qr(i);L.handler=j,a.call(this,u,j,l)}L.refCount++}catch{}return a.call(this,u,N,l)}}),Ee(o,"removeEventListener",function(a){return function(u,N,l){if(u==="click"||u=="keypress")try{const c=this.__sentry_instrumentation_handlers__||{},L=c[u];L&&(L.refCount--,L.refCount<=0&&(a.call(this,u,L.handler,l),L.handler=void 0,delete c[u]),Object.keys(c).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return a.call(this,u,N,l)}}))})}function El(i){if(i.type!==no)return!1;try{if(!i.target||i.target._sentryId!==ao)return!1}catch{}return!0}function _l(i,e){return i!=="keypress"?!1:e!=null&&e.tagName?!(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable):!0}function qr(i,e=!1){return t=>{if(!t||t._sentryCaptured)return;const s=Sl(t);if(_l(t.type,s))return;Et(t,"_sentryCaptured",!0),s&&!s._sentryId&&Et(s,"_sentryId",fe());const o=t.type==="keypress"?"input":t.type;El(t)||(i({event:t,name:o,global:e}),no=t.type,ao=s?s._sentryId:void 0),clearTimeout(Kr),Kr=ze.setTimeout(()=>{ao=void 0,no=void 0},pl)}}function Sl(i){try{return i.target}catch{return null}}let Us;function Hn(i){const e="history";kt(e,i),Yt(e,xl)}function xl(){if(ze.addEventListener("popstate",()=>{const e=ze.location.href,t=Us;if(Us=e,t===e)return;ve("history",{from:t,to:e})}),!tl())return;function i(e){return function(...t){const s=t.length>2?t[2]:void 0;if(s){const o=Us,r=fl(String(s));if(Us=r,o===r)return e.apply(this,t);ve("history",{from:o,to:r})}return e.apply(this,t)}}Ee(ze.history,"pushState",i),Ee(ze.history,"replaceState",i)}function fl(i){try{return new URL(i,ze.location.origin).toString()}catch{return i}}const Xs={};function kl(i){const e=Xs[i];if(e)return e;let t=ze[i];if(io(t))return Xs[i]=t.bind(ze);const s=ze.document;if(s&&typeof s.createElement=="function")try{const o=s.createElement("iframe");o.hidden=!0,s.head.appendChild(o);const r=o.contentWindow;r!=null&&r[i]&&(t=r[i]),s.head.removeChild(o)}catch(o){Al&&B.warn(`Could not create sandbox iframe for ${i} check, bailing to window.${i}: `,o)}return t&&(Xs[i]=t.bind(ze))}function eM(i){Xs[i]=void 0}const ls="__sentry_xhr_v3__";function Yl(i){const e="xhr";kt(e,i),Yt(e,Ql)}function Ql(){if(!ze.XMLHttpRequest)return;const i=XMLHttpRequest.prototype;i.open=new Proxy(i.open,{apply(e,t,s){const o=new Error,r=st()*1e3,M=tt(s[0])?s[0].toUpperCase():void 0,a=Ul(s[1]);if(!M||!a)return e.apply(t,s);t[ls]={method:M,url:a,request_headers:{}},M==="POST"&&a.match(/sentry_key/)&&(t.__sentry_own_request__=!0);const u=()=>{const N=t[ls];if(N&&t.readyState===4){try{N.status_code=t.status}catch{}const l={endTimestamp:st()*1e3,startTimestamp:r,xhr:t,virtualError:o};ve("xhr",l)}};return"onreadystatechange"in t&&typeof t.onreadystatechange=="function"?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply(N,l,c){return u(),N.apply(l,c)}}):t.addEventListener("readystatechange",u),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(N,l,c){const[L,j]=c,T=l[ls];return T&&tt(L)&&tt(j)&&(T.request_headers[L.toLowerCase()]=j),N.apply(l,c)}}),e.apply(t,s)}}),i.send=new Proxy(i.send,{apply(e,t,s){const o=t[ls];if(!o)return e.apply(t,s);s[0]!==void 0&&(o.body=s[0]);const r={startTimestamp:st()*1e3,xhr:t};return ve("xhr",r),e.apply(t,s)}})}function Ul(i){if(tt(i))return i;try{return i.toString()}catch{}}function vl(i,e=kl("fetch")){let t=0,s=0;function o(r){const M=r.body.length;t+=M,s++;const a={body:r.body,method:"POST",referrerPolicy:"strict-origin",headers:i.headers,keepalive:t<=6e4&&s<15,...i.fetchOptions};if(!e)return eM("fetch"),ii("No fetch implementation available");try{return e(i.url,a).then(u=>(t-=M,s--,{statusCode:u.status,headers:{"x-sentry-rate-limits":u.headers.get("X-Sentry-Rate-Limits"),"retry-after":u.headers.get("Retry-After")}}))}catch(u){return eM("fetch"),t-=M,s--,ii(u)}}return mN(i,o)}const bl=30,$l=50;function co(i,e,t,s){const o={filename:i,function:e===""?_t:e,in_app:!0};return t!==void 0&&(o.lineno=t),s!==void 0&&(o.colno=s),o}const Pl=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,Wl=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Rl=/\((\S*)(?::(\d+))(?::(\d+))\)/,Jl=i=>{const e=Pl.exec(i);if(e){const[,s,o,r]=e;return co(s,_t,+o,+r)}const t=Wl.exec(i);if(t){if(t[2]&&t[2].indexOf("eval")===0){const M=Rl.exec(t[2]);M&&(t[2]=M[1],t[3]=M[2],t[4]=M[3])}const[o,r]=Vn(t[1]||_t,t[2]);return co(r,o,t[3]?+t[3]:void 0,t[4]?+t[4]:void 0)}},Bl=[bl,Jl],Fl=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Gl=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Hl=i=>{const e=Fl.exec(i);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const r=Gl.exec(e[3]);r&&(e[1]=e[1]||"eval",e[3]=r[1],e[4]=r[2],e[5]="")}let s=e[3],o=e[1]||_t;return[o,s]=Vn(o,s),co(s,o,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},Vl=[$l,Hl],Zl=[Bl,Vl],Xl=On(...Zl),Vn=(i,e)=>{const t=i.indexOf("safari-extension")!==-1,s=i.indexOf("safari-web-extension")!==-1;return t||s?[i.indexOf("@")!==-1?i.split("@")[0]:_t,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[i,e]},Di=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,vs=1024,Kl="Breadcrumbs",ql=(i={})=>{const e={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...i};return{name:Kl,setup(t){e.console&&GN(i4(t)),e.dom&&ml(s4(t,e.dom)),e.xhr&&Yl(o4(t)),e.fetch&&ol(r4(t)),e.history&&Hn(M4(t)),e.sentry&&t.on("beforeSendEvent",t4(t))}}},e4=ql;function t4(i){return function(t){we()===i&&xt({category:`sentry.${t.type==="transaction"?"transaction":"event"}`,event_id:t.event_id,level:t.level,message:pt(t)},{event:t})}}function s4(i,e){return function(s){if(we()!==i)return;let o,r,M=typeof e=="object"?e.serializeAttribute:void 0,a=typeof e=="object"&&typeof e.maxStringLength=="number"?e.maxStringLength:void 0;a&&a>vs&&(Di&&B.warn(`\`dom.maxStringLength\` cannot exceed ${vs}, but a value of ${a} was configured. Sentry will use ${vs} instead.`),a=vs),typeof M=="string"&&(M=[M]);try{const N=s.event,l=n4(N)?N.target:N;o=Tn(l,{keyAttrs:M,maxStringLength:a}),r=Ic(l)}catch{o=""}if(o.length===0)return;const u={category:`ui.${s.name}`,message:o};r&&(u.data={"ui.component_name":r}),xt(u,{event:s.event,name:s.name,global:s.global})}}function i4(i){return function(t){if(we()!==i)return;const s={category:"console",data:{arguments:t.args,logger:"console"},level:VN(t.level),message:Tr(t.args," ")};if(t.level==="assert")if(t.args[0]===!1)s.message=`Assertion failed: ${Tr(t.args.slice(1)," ")||"console.assert"}`,s.data.arguments=t.args.slice(1);else return;xt(s,{input:t.args,level:t.level})}}function o4(i){return function(t){if(we()!==i)return;const{startTimestamp:s,endTimestamp:o}=t,r=t.xhr[ls];if(!s||!o||!r)return;const{method:M,url:a,status_code:u,body:N}=r,l={method:M,url:a,status_code:u},c={xhr:t.xhr,input:N,startTimestamp:s,endTimestamp:o},L={category:"xhr",data:l,type:"http",level:Bn(u)};i.emit("beforeOutgoingRequestBreadcrumb",L,c),xt(L,c)}}function r4(i){return function(t){if(we()!==i)return;const{startTimestamp:s,endTimestamp:o}=t;if(o&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method==="POST"))if(t.fetchData.method,t.fetchData.url,t.error){const r=t.fetchData,M={data:t.error,input:t.args,startTimestamp:s,endTimestamp:o},a={category:"fetch",data:r,level:"error",type:"http"};i.emit("beforeOutgoingRequestBreadcrumb",a,M),xt(a,M)}else{const r=t.response,M={...t.fetchData,status_code:r==null?void 0:r.status};t.fetchData.request_body_size,t.fetchData.response_body_size,r==null||r.status;const a={input:t.args,response:r,startTimestamp:s,endTimestamp:o},u={category:"fetch",data:M,type:"http",level:Bn(M.status_code)};i.emit("beforeOutgoingRequestBreadcrumb",u,a),xt(u,a)}}}function M4(i){return function(t){if(we()!==i)return;let s=t.from,o=t.to;const r=Si(Me.location.href);let M=s?Si(s):void 0;const a=Si(o);M!=null&&M.path||(M=r),r.protocol===a.protocol&&r.host===a.host&&(o=a.relative),r.protocol===M.protocol&&r.host===M.host&&(s=M.relative),xt({category:"navigation",data:{from:s,to:o}})}}function n4(i){return!!i&&!!i.target}const a4=["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"],c4="BrowserApiErrors",u4=(i={})=>{const e={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...i};return{name:c4,setupOnce(){e.setTimeout&&Ee(Me,"setTimeout",tM),e.setInterval&&Ee(Me,"setInterval",tM),e.requestAnimationFrame&&Ee(Me,"requestAnimationFrame",l4),e.XMLHttpRequest&&"XMLHttpRequest"in Me&&Ee(XMLHttpRequest.prototype,"send",L4);const t=e.eventTarget;t&&(Array.isArray(t)?t:a4).forEach(o=>j4(o,e))}}},N4=u4;function tM(i){return function(...e){const t=e[0];return e[0]=qt(t,{mechanism:{data:{function:yt(i)},handled:!1,type:"instrument"}}),i.apply(this,e)}}function l4(i){return function(e){return i.apply(this,[qt(e,{mechanism:{data:{function:"requestAnimationFrame",handler:yt(i)},handled:!1,type:"instrument"}})])}}function L4(i){return function(...e){const t=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(o=>{o in t&&typeof t[o]=="function"&&Ee(t,o,function(r){const M={mechanism:{data:{function:o,handler:yt(r)},handled:!1,type:"instrument"}},a=bo(r);return a&&(M.mechanism.data.handler=yt(a)),qt(r,M)})}),i.apply(this,e)}}function j4(i,e){var o,r;const s=(o=Me[i])==null?void 0:o.prototype;(r=s==null?void 0:s.hasOwnProperty)!=null&&r.call(s,"addEventListener")&&(Ee(s,"addEventListener",function(M){return function(a,u,N){try{g4(u)&&(u.handleEvent=qt(u.handleEvent,{mechanism:{data:{function:"handleEvent",handler:yt(u),target:i},handled:!1,type:"instrument"}}))}catch{}return e.unregisterOriginalCallbacks&&T4(this,a,u),M.apply(this,[a,qt(u,{mechanism:{data:{function:"addEventListener",handler:yt(u),target:i},handled:!1,type:"instrument"}}),N])}}),Ee(s,"removeEventListener",function(M){return function(a,u,N){try{const l=u.__sentry_wrapped__;l&&M.call(this,a,l,N)}catch{}return M.call(this,a,u,N)}}))}function g4(i){return typeof i.handleEvent=="function"}function T4(i,e,t){i&&typeof i=="object"&&"removeEventListener"in i&&typeof i.removeEventListener=="function"&&i.removeEventListener(e,t)}const y4=()=>({name:"BrowserSession",setupOnce(){if(typeof Me.document>"u"){Di&&B.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}Ur({ignoreDuration:!0}),vr(),Hn(({from:i,to:e})=>{i!==void 0&&i!==e&&(Ur({ignoreDuration:!0}),vr())})}}),D4="GlobalHandlers",d4=(i={})=>{const e={onerror:!0,onunhandledrejection:!0,...i};return{name:D4,setupOnce(){Error.stackTraceLimit=50},setup(t){e.onerror&&(I4(t),sM("onerror")),e.onunhandledrejection&&(w4(t),sM("onunhandledrejection"))}}},z4=d4;function I4(i){Nu(e=>{const{stackParser:t,attachStacktrace:s}=Zn();if(we()!==i||Fn())return;const{msg:o,url:r,line:M,column:a,error:u}=e,N=A4(Bo(t,u||o,void 0,s,!1),r,M,a);N.level="error",fn(N,{originalException:u,mechanism:{handled:!1,type:"onerror"}})})}function w4(i){Lu(e=>{const{stackParser:t,attachStacktrace:s}=Zn();if(we()!==i||Fn())return;const o=C4(e),r=Qo(o)?h4(o):Bo(t,o,void 0,s,!0);r.level="error",fn(r,{originalException:o,mechanism:{handled:!1,type:"onunhandledrejection"}})})}function C4(i){if(Qo(i))return i;try{if("reason"in i)return i.reason;if("detail"in i&&"reason"in i.detail)return i.detail.reason}catch{}return i}function h4(i){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`}]}}}function A4(i,e,t,s){const o=i.exception=i.exception||{},r=o.values=o.values||[],M=r[0]=r[0]||{},a=M.stacktrace=M.stacktrace||{},u=a.frames=a.frames||[],N=s,l=t,c=tt(e)&&e.length>0?e:vo();return u.length===0&&u.push({colno:N,filename:c,function:_t,in_app:!0,lineno:l}),i}function sM(i){Di&&B.log(`Global Handler attached: ${i}`)}function Zn(){const i=we();return(i==null?void 0:i.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}const p4=()=>({name:"HttpContext",preprocessEvent(i){var s;if(!Me.navigator&&!Me.location&&!Me.document)return;const e=ul(),t={...e.headers,...(s=i.request)==null?void 0:s.headers};i.request={...e,...i.request,headers:t}}}),m4="cause",O4=5,E4="LinkedErrors",_4=(i={})=>{const e=i.limit||O4,t=i.key||m4;return{name:E4,preprocessEvent(s,o,r){const M=r.getOptions();FN(Ro,M.stackParser,t,e,s,o)}}},S4=_4;function x4(){return f4()?(Di&&ts(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function f4(){var r;if(typeof Me.window>"u")return!1;const i=Me;if(i.nw)return!1;const e=i.chrome||i.browser;if(!((r=e==null?void 0:e.runtime)!=null&&r.id))return!1;const t=vo(),s=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(Me===Me.top&&s.some(M=>t.startsWith(`${M}://`)))}function k4(i){return[vN(),kN(),N4(),e4(),z4(),S4(),Wn(),p4(),y4()]}function Y4(i={}){const e=!i.skipBrowserExtensionCheck&&x4(),t={...i,enabled:e?!1:i.enabled,stackParser:cu(i.stackParser||Xl),integrations:nN({integrations:i.integrations,defaultIntegrations:i.defaultIntegrations==null?k4():i.defaultIntegrations}),transport:i.transport||vl};return DN(Cl,t)}function Q4(){console.log(` ██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ ██║██╔═══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██╔╝██╔════╝██╔══██╗ ██║██║ ██║██████╔╝██████╔╝██║ ██║█████╔╝ █████╗ ██████╔╝ ██║██║ ██║██╔══██╗██╔══██╗██║ ██║██╔═██╗ ██╔══╝ ██╔══██╗ ██║╚██████╔╝██████╔╝██║ ██║╚██████╔╝██║ ██╗███████╗██║ ██║ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ -`),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 :)")}const Y4=` +`),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 :)")}const U4=` /** * Copyright 2018-2024 Denis Haev (bluefox) * @@ -242,10 +242,10 @@ Url: ${oi(i)}`),!0}return!1}function vN(i,e){return e!=null&&e.length?Yn(i).some .logo-animate-color-outside-blue { animation: logo-color-outside-blue 1.5s; } -`;function Q4(i){b.useEffect(()=>{if(!window.document.getElementById("loader-iobroker-component")){const s=window.document.createElement("style");s.setAttribute("id","loader-iobroker-component"),s.innerHTML=Y4,window.document.head.appendChild(s)}},[]);const e=i.size||234,t=i.themeName||i.theme||i.themeType||"light";return a.createElement("div",{className:`logo-back logo-background-${t}`,style:{backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:void 0,backgroundSize:"cover"}},window.loadingHideLogo==="true"?null:a.createElement(a.Fragment,null,a.createElement("div",{className:"logo-div",style:{width:e,height:e}},a.createElement("div",{className:`logo-top logo-background-${t}`,style:{left:"37%"}}),a.createElement("div",{className:`logo-top logo-background-${t}`,style:{left:"57%"}}),a.createElement("div",{className:`logo-border logo-background-${t} logo-animate-wait`,style:{borderWidth:e*.132}}),a.createElement("div",{className:`logo-i logo-animate-color-inside-${t}`}),a.createElement("div",{className:`logo-i-top logo-animate-color-inside-${t}`,style:{top:"18%"}}),a.createElement("div",{className:`logo-i-top logo-animate-color-inside-${t}`,style:{bottom:"18%"}})),a.createElement("div",{className:`logo-animate-grow logo-animate-grow-${t}`,style:{width:e+11,height:e+11}})))}class Ts extends b.Component{onHashChangedBound;constructor(e){super(e),this.onHashChangedBound=this.onHashChanged.bind(this)}componentDidMount(){window.addEventListener("hashchange",this.onHashChangedBound)}componentWillUnmount(){window.removeEventListener("hashchange",this.onHashChangedBound)}onHashChanged(){}static getLocation(){let e=window.location.hash;e=e.replace(/^#/,"");const t=e.split("/").map(s=>{try{return s?decodeURIComponent(s):""}catch{return console.error(`Router: Cannot decode ${s}`),s}});return{tab:t[0]||"",dialog:t[1]||"",id:t[2]||"",arg:t[3]||""}}static doNavigate(e,t,s,o){let r="";const M=Ts.getLocation();o!==void 0&&!s&&(s=M.id),s&&!t&&(t=M.dialog),(t&&!e||e===null)&&(e=M.tab),e&&(r=`#${e}`,t&&(r+=`/${t}`,s&&(r+=`/${s}`,o!==void 0&&(r+=`/${o}`)))),window.location.hash!==r&&(window.location.hash=r)}}function U4(){const i=document.getSelection();if(!(i!=null&&i.rangeCount))return()=>{};let e=document.activeElement;const t=[];for(let s=0;s{i.type==="Caret"&&i.removeAllRanges(),i.rangeCount||t.forEach(s=>i.addRange(s)),e&&e.focus()}}const iM={"text/plain":"Text","text/html":"Url",default:"Text"},v4="Copy to clipboard: #{key}, Enter";function b4(i){const e=`${/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl"}+C`;return i.replace(/#{\s*key\s*}/g,e)}function Vn(i,e){let t,s,o,r,M=!1;e=e||{};const n=e.debug||!1;try{if(t=U4(),s=document.createRange(),o=document.getSelection(),r=document.createElement("span"),r.textContent=i,r.ariaHidden="true",r.style.all="unset",r.style.position="fixed",r.style.top="0px",r.style.clip="rect(0, 0, 0, 0)",r.style.whiteSpace="pre",r.style.userSelect="text",r.addEventListener("copy",N=>{var l,c,L,j;if(N.stopPropagation(),e!=null&&e.format)if(N.preventDefault(),typeof N.clipboardData>"u"){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),(l=window.clipboardData)==null||l.clearData();const T=iM[e.format]||iM.default;(c=window.clipboardData)==null||c.setData(T,i)}else(L=N.clipboardData)==null||L.clearData(),(j=N.clipboardData)==null||j.setData(e.format,i)}),document.body.appendChild(r),s.selectNodeContents(r),o==null||o.addRange(s),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");M=!0}catch(u){n&&console.error("unable to copy using execCommand: ",u),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",i),M=!0}catch(N){n&&console.error("unable to copy using clipboardData: ",N),n&&console.error("falling back to prompt");const l=b4("message"in e?e.message||"":v4);window.prompt(l,i)}}finally{o&&(s&&typeof o.removeRange=="function"?o.removeRange(s):o.removeAllRanges()),r&&document.body.removeChild(r),t&&t()}return M}class d{static translations={};static unknownTranslations=[];static lang=window.sysLang||"en";static _disableWarning=!1;static setLanguage(e){e&&(d.lang=e)}static extendTranslations(e,t){if(e.prefix){const s=e;if(typeof s.prefix=="string"){const o=s.prefix;delete s.prefix,Object.keys(s).forEach(r=>{const M=r,n={},u=s[M];Object.keys(u).forEach(N=>{N&&u&&(N.startsWith(o)?n[N]=u[N]:n[`${o}${N}`]=u[N])}),e[M]=n})}else console.warn("Found prefix in translations, but it is not a string")}try{if(!t)e.en&&e.de&&e.ru?Object.keys(e).forEach(s=>{const o=s;d.translations[o]=d.translations[o]||{};const r=d.translations[o];Object.assign(r,e[o])}):Object.keys(e).forEach(s=>{const o=e[s];Object.keys(o).forEach(r=>{const M=r,n=d.translations[M];n?n[s]?n[s]!==o[M]&&console.warn(`Translation for word "${s}" in "${M}" was ignored: existing = "${n[s]}", new = ${o[M]}`):n[s]=o[M]:console.warn(`Used unknown language: ${M}`)})});else{d.translations[t]||console.warn(`Used unknown language: ${t}`),d.translations[t]=d.translations[t]||{};const s=d.translations[t];s&&Object.keys(e).forEach(o=>{s[o]?s[o]!==e[o]&&console.warn(`Translation for word "${o}" in "${t}" was ignored: existing = "${s[o]}", new = ${e[o]}`):s[o]=e[o]})}}catch(s){console.error(`Cannot apply translations: ${s}`)}}static setTranslations(e){e&&(d.translations=e)}static getLanguage(){return d.lang}static t(e,...t){const s=d.translations[d.lang];if(s){const o=s[e];if(o)e=o;else if(d.unknownTranslations.includes(e)||(d.unknownTranslations.push(e),!d._disableWarning&&console.log(`Translate: ${e}`)),d.lang!=="en"&&d.translations.en){const r=d.translations.en[e];r&&(e=r)}}for(const o of t)e=e.replace("%s",o);return e}static i18nShow(e){const t={};e?typeof e=="string"?(d.unknownTranslations.forEach(s=>{s.startsWith(e)&&(t[s]=s.replace(e,""))}),console.log(JSON.stringify(t,null,2))):typeof e=="object"&&(d.unknownTranslations.forEach(s=>{e.test(s)&&(t[s]=s)}),console.log(JSON.stringify(t,null,2))):(d.unknownTranslations.forEach(s=>t[s]=s),console.log(JSON.stringify(t,null,2)))}static disableWarning(e){d._disableWarning=!!e}}window.i18nShow=d.i18nShow;window.i18nDisableWarning=d.disableWarning;const $e="material",$4=["Su","Mo","Tu","We","Th","Fr","Sa"],P4=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],fi={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"},oM={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"};class S{static namespace=$e;static INSTANCES="instances";static dateFormat=["DD","MM"];static FORBIDDEN_CHARS=/[^._\-/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+/gu;static CapitalWords(e){return(e||"").split(/[\s_]/).filter(t=>t).map(t=>t?t[0].toUpperCase()+t.substring(1).toLowerCase():"").join(" ")}static formatSeconds(e){const t=Math.floor(e/86400);e%=3600*24;const s=Math.floor(e/3600).toString().padStart(2,"0");e%=3600;const o=Math.floor(e/60).toString().padStart(2,"0");e%=60;const r=Math.floor(e).toString().padStart(2,"0");let M="";return t&&(M+=`${t} ${d.t("ra_daysShortText")} `),M+=`${s}:${o}:${r}`,M}static getObjectName(e,t,s,o,r){var u;const M=e[t];let n;if(typeof s=="string"&&!o&&(o={language:s},s=null),o=o||{},o.language||(o.language=e["system.config"]&&e["system.config"].common&&e["system.config"].common.language||window.sysLang||"en"),s!=null&&s.name){const N=s.name;typeof N=="object"?n=o.language&&N[o.language]||N.en:n=N}else if(r&&((u=M==null?void 0:M.common)!=null&&u.desc)){const N=M.common.desc;typeof N=="object"?n=o.language&&N[o.language]||N.en||N.de||N.ru||"":n=N,n=(n||"").toString().replace(/[_.]/g," "),n===n.toUpperCase()&&(n=n[0]+n.substring(1).toLowerCase())}else if(!r&&(M!=null&&M.common)){const N=M.common.name||M.common.desc;N&&typeof N=="object"?n=o.language&&N[o.language]||N.en||N.de||N.ru||"":n=N,n=(n||"").toString().replace(/[_.]/g," "),n===n.toUpperCase()&&(n=n[0]+n.substring(1).toLowerCase())}else{const N=t.lastIndexOf(".");n=t.substring(N+1).replace(/[_.]/g," "),n=S.CapitalWords(n)}return(n==null?void 0:n.trim())||""}static getObjectNameFromObj(e,t,s,o,r){var u,N;const M=e;let n=(e==null?void 0:e._id)||"";if(typeof t=="string"&&!s&&(s={language:t},t=null),s=s||{},t!=null&&t.name){const l=t.name;typeof l=="object"?n=s.language&&l[s.language]||l.en:n=l}else if(o&&((u=M==null?void 0:M.common)!=null&&u.desc)){const l=M.common.desc;typeof l=="object"?n=s.language&&l[s.language]||l.en:n=l,n=(n||"").toString().replace(/[_.]/g," "),n===n.toUpperCase()&&(n=n[0]+n.substring(1).toLowerCase())}else if(!o&&((N=M==null?void 0:M.common)!=null&&N.name)){let l=M.common.name;!l&&M.common.desc&&(l=M.common.desc),typeof l=="object"?n=s.language&&l[s.language]||l.en:n=l,n=(n||"").toString().replace(/[_.]/g," "),n===n.toUpperCase()&&(n=n[0]+n.substring(1).toLowerCase())}return r?n:n.trim()}static getSettingsOrder(e,t,s){let o;e&&Object.prototype.hasOwnProperty.call(e,"common")?o=e.common:o=e;let r;if(o!=null&&o.custom){r=o.custom[$e];const M=s.user||"admin";if(r&&r[M]){if(t){if(r[M].subOrder&&r[M].subOrder[t])return JSON.parse(JSON.stringify(r[M].subOrder[t]))}else if(r[M].order)return JSON.parse(JSON.stringify(r[M].order))}}return null}static getSettingsCustomURLs(e,t,s){let o;e&&Object.prototype.hasOwnProperty.call(e,"common")?o=e.common:o=e;let r;if(o!=null&&o.custom){r=o.custom[$e];const M=s.user||"admin";if(r&&r[M]){if(t){if(r[M].subURLs&&r[M].subURLs[t])return JSON.parse(JSON.stringify(r[M].subURLs[t]))}else if(r[M].URLs)return JSON.parse(JSON.stringify(r[M].URLs))}}return null}static reorder(e,t,s){const o=Array.from(e),[r]=o.splice(t,1);return o.splice(s,0,r),o}static getSettings(e,t,s){let o;const r=(e==null?void 0:e._id)||(t==null?void 0:t.id);let M;if(e&&Object.prototype.hasOwnProperty.call(e,"common")?M=e.common:M=e,M!=null&&M.custom?(o=M.custom,o=o[$e]&&o[$e][t.user||"admin"]?JSON.parse(JSON.stringify(o[$e][t.user||"admin"])):{enabled:!0}):o={enabled:s===void 0?!0:s,useCustom:!1},Object.prototype.hasOwnProperty.call(o,"enabled")||(o.enabled=s===void 0?!0:s),t&&(!o.name&&t.name&&(o.name=t.name),!o.icon&&t.icon&&(o.icon=t.icon),!o.color&&t.color&&(o.color=t.color)),M&&(!o.color&&M.color&&(o.color=M.color),!o.icon&&M.icon&&(o.icon=M.icon),!o.name&&M.name&&(o.name=M.name)),typeof o.name=="object"&&(o.name=t.language&&o.name[t.language]||o.name.en,o.name=(o.name||"").toString().replace(/_/g," "),o.name===o.name.toUpperCase()&&(o.name=o.name[0]+o.name.substring(1).toLowerCase())),!o.name&&r){const n=r.lastIndexOf(".");o.name=r.substring(n+1).replace(/[_.]/g," "),o.name=(o.name||"").toString().replace(/_/g," "),o.name=S.CapitalWords(o.name)}return o}static setSettings(e,t,s){if(e){e.common=e.common||{},e.common.custom=e.common.custom||{},e.common.custom[$e]=e.common.custom[$e]||{},e.common.custom[$e][s.user||"admin"]=t;const o=e.common.custom[$e][s.user||"admin"];return o.useCommon&&(o.color!==void 0&&(e.common.color=o.color,delete o.color),o.icon!==void 0&&(e.common.icon=o.icon,delete o.icon),o.name!==void 0&&(typeof e.common.name!="object"&&s.language?e.common.name={[s.language]:o.name}:typeof e.common.name=="object"&&s.language&&(e.common.name[s.language]=o.name),delete o.name)),!0}return!1}static getIcon(e,t){return e!=null&&e.icon?e.icon.length<=2?a.createElement("span",{style:t||{}},e.icon):e.icon.startsWith("data:image")?a.createElement("img",{alt:e.name,src:e.icon,style:t||{}}):a.createElement("img",{alt:e.name,src:(e.prefix||"")+e.icon,style:t}):null}static getObjectIcon(e,t){var s;if(typeof e=="object"&&(t=e,e=t==null?void 0:t._id),(s=t==null?void 0:t.common)!=null&&s.icon){let o=t.common.icon;if(typeof o=="string"&&o.length<=2||o.startsWith("data:image"))return o;const r=e.split(".");return r[0]==="system"?o=`adapter/${r[2]}${o.startsWith("/")?"":"/"}${o}`:o=`adapter/${r[0]}${o.startsWith("/")?"":"/"}${o}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?o=`../../${o}`:window.location.pathname.match(/material\/[.\d]+/)?o=`../../${o}`:window.location.pathname.match(/material\//)&&(o=`../${o}`),o}return null}static splitCamelCase(e){return e?S.CapitalWords(e):""}static isUseBright(e,t){if(!e)return t===void 0?!0:t;e=e.toString(),e.startsWith("#")&&(e=e.slice(1));let s,o,r;const M=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(M&&M.length===4)s=parseInt(M[1],10),o=parseInt(M[2],10),r=parseInt(M[3],10);else{if(e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length===8)e=e.substring(0,6);else if(e.length!==6)return!1;s=parseInt(e.slice(0,2),16),o=parseInt(e.slice(2,4),16),r=parseInt(e.slice(4,6),16)}return s*.299+o*.587+r*.114<=186}static getTimeString(e){if(e=parseFloat(e),Number.isNaN(e))return"--:--";const t=Math.floor(e/3600),s=Math.floor(e%3600/60).toString().padStart(2,"0"),o=(e%60).toString().padStart(2,"0");return t?`${t}:${s}:${o}`:`${s}:${o}`}static getWindDirection(e){return e>=0&&e<11.25?"N":e>=11.25&&e<33.75?"NNE":e>=33.75&&e<56.25?"NE":e>=56.25&&e<78.75?"ENE":e>=78.75&&e<101.25?"E":e>=101.25&&e<123.75?"ESE":e>=123.75&&e<146.25?"SE":e>=146.25&&e<168.75?"SSE":e>=168.75&&e<191.25?"S":e>=191.25&&e<213.75?"SSW":e>=213.75&&e<236.25?"SW":e>=236.25&&e<258.75?"WSW":e>=258.75&&e<281.25?"W":e>=281.25&&e<303.75?"WNW":e>=303.75&&e<326.25?"NW":e>=326.25&&e<348.75?"NNW":"N"}static padding(e){return typeof e=="string"?e.length<2?`0${e}`:e:e<10?`0${e}`:e.toString()}static setDataFormat(e){e&&(S.dateFormat=e.toUpperCase().split(/[.-/]/),S.dateFormat.splice(S.dateFormat.indexOf("YYYY"),1))}static date2string(e){if(typeof e=="string"){if(e=e.trim(),!e)return"";if(e.match(/^[\w\s]+$/))return e;const s=e.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(s){const o=[parseInt(s[1],10),parseInt(s[2],10),parseInt(s[3],10)],r=o.find(M=>M>31);if(r!==void 0){o.splice(o.indexOf(r),1);const M=o.find(n=>n>12);M?(o.splice(o.indexOf(M),1),e=new Date(r,o[0]-1,M)):S.dateFormat[0][0]==="M"&&S.dateFormat[1][0]==="D"?(e=new Date(r,o[0]-1,o[1]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(r,o[1]-1,o[0]))):S.dateFormat[0][0]==="D"&&S.dateFormat[1][0]==="M"?(e=new Date(r,o[1]-1,o[0]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(r,o[0]-1,o[1]))):e=new Date(e)}else e=new Date(e)}else e=new Date(e)}else e=new Date(e);let t=d.t(`ra_dow_${$4[e.getDay()]}`).replace("ra_dow_","");return t+=`. ${e.getDate()} ${d.t(`ra_month_${P4[e.getMonth()]}`).replace("ra_month_","")}`,t}static renderTextWithA(e){let t=e.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(t){const s=[];let o=1;do{const r=e.substring(0,t.index);if(e=e.substring((t.index||0)+t[0].length),r&&s.push(a.createElement("span",{key:`a${o++}`},r)),t[0].startsWith(""))s.push(a.createElement("b",{key:`a${o++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith(""))s.push(a.createElement("i",{key:`a${o++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,!t&&e&&s.push(a.createElement("span",{key:`a${o++}`},e))}while(t);return s}return e}static getSmartName(e,t,s,o){var M,n;if(!t){if(!o)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const u=e;return(M=u==null?void 0:u.common)!=null&&M.custom&&u.common.custom[s]?u.common.custom[s].smartName:void 0}if(!o)return e[t].common.smartName;const r=e[t];return(n=r==null?void 0:r.common)!=null&&n.custom&&r.common.custom[s]&&r.common.custom[s].smartName||null}static getSmartNameFromObj(e,t,s){var r,M;if(!s)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const o=(M=(r=e==null?void 0:e.common)==null?void 0:r.custom)==null?void 0:M[t];return o?o.smartName:void 0}static enableSmartName(e,t,s){s?(e.common.custom=e.common.custom||{},e.common.custom[t]=e.common.custom[t]||{},e.common.custom[t].smartName={}):e.common.smartName={}}static removeSmartName(e,t,s){s?e.common&&e.common.custom&&e.common.custom[t]&&(e.common.custom[t]=null):e.common.smartName=null}static updateSmartName(e,t,s,o,r,M){const n=d.getLanguage();if(typeof e.common.smartName=="string"){const u=e.common.smartName;e.common.smartName={},e.common.smartName[n]=u}if(e.native&&e.native.byON){delete e.native.byON;let u=e.common.smartName;u&&typeof u!="object"&&(u={en:u,[n]:u}),e.common.smartName=u}if(o!==void 0&&(M?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName=e.common.custom[r].smartName||{},o?e.common.custom[r].smartName.smartType=o:delete e.common.custom[r].smartName.smartType):(e.common.smartName=e.common.smartName||{},o?e.common.smartName.smartType=o:delete e.common.smartName.smartType)),s!==void 0&&(M?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName=e.common.custom[r].smartName||{},e.common.custom[r].smartName.byON=s):(e.common.smartName=e.common.smartName||{},e.common.smartName.byON=s)),t!==void 0){let u;if(M?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName=e.common.custom[r].smartName||{},u=e.common.custom[r].smartName):(e.common.smartName=e.common.smartName||{},u=e.common.smartName),u[n]=t,u&&(!u[n]||u[n]===e.common.name&&(!e.common.role||e.common.role.includes("button")))){delete u[n];let N=!0;for(const l in u)if(Object.prototype.hasOwnProperty.call(u,l)){N=!1;break}if(N)if(M&&e.common.custom&&e.common.custom[r])e.common.custom[r].smartName.byON===void 0?delete e.common.custom[r]:(delete e.common.custom[r].en,delete e.common.custom[r].de,delete e.common.custom[r].ru,delete e.common.custom[r].nl,delete e.common.custom[r].pl,delete e.common.custom[r].it,delete e.common.custom[r].fr,delete e.common.custom[r].pt,delete e.common.custom[r].es,delete e.common.custom[r].uk,delete e.common.custom[r]["zh-cn"]);else if(e.common.smartName&&e.common.smartName.byON!==void 0){const l=e.common.smartName;delete l.en,delete l.de,delete l.ru,delete l.nl,delete l.pl,delete l.it,delete l.fr,delete l.pt,delete l.es,delete l.uk,delete l["zh-cn"]}else e.common.smartName=null}}}static disableSmartName(e,t,s){s?(e.common.custom=e.common.custom||{},e.common.custom[t]=e.common.custom[t]||{},e.common.custom[t].smartName=!1):e.common.smartName=!1}static copyToClipboard(e,t){return t&&(t.stopPropagation(),t.preventDefault()),Vn(e)}static getFileExtension(e){const t=(e||"").lastIndexOf(".");return t!==-1?e.substring(t+1).toLowerCase():null}static formatBytes(e){if(Math.abs(e)<1024)return`${e} B`;const t=["KB","MB","GB"];let s=-1;do e/=1024,++s;while(Math.abs(e)>=1024&&s186?`#000000${s||""}`:`#FFFFFF${s||""}`;const n=(255-o).toString(16),u=(255-r).toString(16),N=(255-M).toString(16);return`#${n.padStart(2,"0")}${u.padStart(2,"0")}${N.padStart(2,"0")}${s||""}`}static color2rgb(e){if(e==null||e===""||typeof e!="string")return!1;if(e.startsWith("rgba")){const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([.\d]+)\)/);t&&(e=parseInt(t[1],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0"))}else if(e.startsWith("rgb")){const t=e.match(/rgb?\((\d+),\s*(\d+),\s*(\d+)\)/);t&&(e=parseInt(t[1],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0"))}else e.startsWith("#")&&(e=e.slice(1));return e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length!==6&&e.length!==8?(console.warn(`Cannot invert color: ${e}`),!1):[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}static rgb2lab(e){let t=e[0]/255,s=e[1]/255,o=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let r=(t*.4124+s*.3576+o*.1805)/.95047,M=t*.2126+s*.7152+o*.0722,n=(t*.0193+s*.1192+o*.9505)/1.08883;return r=r>.008856?r**.33333333:7.787*r+.137931,M=M>.008856?M**.33333333:7.787*M+.137931,n=n>.008856?n**.33333333:7.787*n+.137931,[116*M-16,500*(r-M),200*(M-n)]}static colorDistance(e,t){const s=S.color2rgb(e),o=S.color2rgb(t);if(!s||!o)return 0;const r=S.rgb2lab(s),M=S.rgb2lab(o),n=r[0]-M[0],u=r[1]-M[1],N=r[2]-M[2],l=Math.sqrt(r[1]*r[1]+r[2]*r[2]),c=Math.sqrt(M[1]*M[1]+M[2]*M[2]),L=l-c;let j=u*u+N*N-L*L;j=j<0?0:Math.sqrt(j);const T=1+.045*l,D=1+.015*l,z=n,h=L/T,O=j/D,p=z*z+h*h+O*O;return p<0?0:p}static _toVal(e){let t,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e))for(let o=0;o{if(s=s.trim(),s){const o=s.split("="),r=decodeURIComponent(o[0]).trim();if(o.length>1){const M=decodeURIComponent(o[1]);if(M==="true")t[r]=!0;else if(M==="false")t[r]=!1;else{const n=parseFloat(M);n.toString()===M?t[r]=n:t[r]=M}}else t[r]=!0}}),t}static getParentId(e){const t=(e||"").toString().split(".");return t.length>1?(t.pop(),t.join(".")):null}static formatDate(e,t){if(!e)return"";let s;const o=(e.getMonth()+1).toString().padStart(2,"0"),r=e.getDate().toString().padStart(2,"0");return t==="MM/DD/YYYY"?s=`${o}/${r}/${e.getFullYear()}`:s=`${e.getFullYear()}-${o}-${r}`,s+=` ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`,s}static formatTime(e){if(e){e=Math.round(e);const t=Math.floor(e/(3600*24)),s=Math.floor(e%(3600*24)/3600),o=Math.floor(e%3600/60),r=e%60;return t?`${t}.${s.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`:s?`${s}:${o.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`:`0:${o.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`}return"0:00:00"}static MDtext2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static MDgetTitle(e){var r;const t=S.MDextractHeader(e),s=t.header;let o=t.body;if(!s.title){o=o.replace(/{[^}]*}/g,""),o=o.trim();const M=o.replace(/\r/g,"").split(` -`);for(let n=0;n{if(!window.document.getElementById("loader-iobroker-component")){const s=window.document.createElement("style");s.setAttribute("id","loader-iobroker-component"),s.innerHTML=U4,window.document.head.appendChild(s)}},[]);const e=i.size||234,t=i.themeName||i.theme||i.themeType||"light";return n.createElement("div",{className:`logo-back logo-background-${t}`,style:{backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:void 0,backgroundSize:"cover"}},window.loadingHideLogo==="true"?null:n.createElement(n.Fragment,null,n.createElement("div",{className:"logo-div",style:{width:e,height:e}},n.createElement("div",{className:`logo-top logo-background-${t}`,style:{left:"37%"}}),n.createElement("div",{className:`logo-top logo-background-${t}`,style:{left:"57%"}}),n.createElement("div",{className:`logo-border logo-background-${t} logo-animate-wait`,style:{borderWidth:e*.132}}),n.createElement("div",{className:`logo-i logo-animate-color-inside-${t}`}),n.createElement("div",{className:`logo-i-top logo-animate-color-inside-${t}`,style:{top:"18%"}}),n.createElement("div",{className:`logo-i-top logo-animate-color-inside-${t}`,style:{bottom:"18%"}})),n.createElement("div",{className:`logo-animate-grow logo-animate-grow-${t}`,style:{width:e+11,height:e+11}})))}class Ts extends b.Component{onHashChangedBound;constructor(e){super(e),this.onHashChangedBound=this.onHashChanged.bind(this)}componentDidMount(){window.addEventListener("hashchange",this.onHashChangedBound)}componentWillUnmount(){window.removeEventListener("hashchange",this.onHashChangedBound)}onHashChanged(){}static getLocation(){let e=window.location.hash;e=e.replace(/^#/,"");const t=e.split("/").map(s=>{try{return s?decodeURIComponent(s):""}catch{return console.error(`Router: Cannot decode ${s}`),s}});return{tab:t[0]||"",dialog:t[1]||"",id:t[2]||"",arg:t[3]||""}}static doNavigate(e,t,s,o){let r="";const M=Ts.getLocation();o!==void 0&&!s&&(s=M.id),s&&!t&&(t=M.dialog),(t&&!e||e===null)&&(e=M.tab),e&&(r=`#${e}`,t&&(r+=`/${t}`,s&&(r+=`/${s}`,o!==void 0&&(r+=`/${o}`)))),window.location.hash!==r&&(window.location.hash=r)}}function b4(){const i=document.getSelection();if(!(i!=null&&i.rangeCount))return()=>{};let e=document.activeElement;const t=[];for(let s=0;s{i.type==="Caret"&&i.removeAllRanges(),i.rangeCount||t.forEach(s=>i.addRange(s)),e&&e.focus()}}const iM={"text/plain":"Text","text/html":"Url",default:"Text"},$4="Copy to clipboard: #{key}, Enter";function P4(i){const e=`${/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl"}+C`;return i.replace(/#{\s*key\s*}/g,e)}function Xn(i,e){let t,s,o,r,M=!1;e=e||{};const a=e.debug||!1;try{if(t=b4(),s=document.createRange(),o=document.getSelection(),r=document.createElement("span"),r.textContent=i,r.ariaHidden="true",r.style.all="unset",r.style.position="fixed",r.style.top="0px",r.style.clip="rect(0, 0, 0, 0)",r.style.whiteSpace="pre",r.style.userSelect="text",r.addEventListener("copy",N=>{var l,c,L,j;if(N.stopPropagation(),e!=null&&e.format)if(N.preventDefault(),typeof N.clipboardData>"u"){a&&console.warn("unable to use e.clipboardData"),a&&console.warn("trying IE specific stuff"),(l=window.clipboardData)==null||l.clearData();const T=iM[e.format]||iM.default;(c=window.clipboardData)==null||c.setData(T,i)}else(L=N.clipboardData)==null||L.clearData(),(j=N.clipboardData)==null||j.setData(e.format,i)}),document.body.appendChild(r),s.selectNodeContents(r),o==null||o.addRange(s),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");M=!0}catch(u){a&&console.error("unable to copy using execCommand: ",u),a&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",i),M=!0}catch(N){a&&console.error("unable to copy using clipboardData: ",N),a&&console.error("falling back to prompt");const l=P4("message"in e?e.message||"":$4);window.prompt(l,i)}}finally{o&&(s&&typeof o.removeRange=="function"?o.removeRange(s):o.removeAllRanges()),r&&document.body.removeChild(r),t&&t()}return M}class d{static translations={};static unknownTranslations=[];static lang=window.sysLang||"en";static _disableWarning=!1;static setLanguage(e){e&&(d.lang=e)}static extendTranslations(e,t){if(e.prefix){const s=e;if(typeof s.prefix=="string"){const o=s.prefix;delete s.prefix,Object.keys(s).forEach(r=>{const M=r,a={},u=s[M];Object.keys(u).forEach(N=>{N&&u&&(N.startsWith(o)?a[N]=u[N]:a[`${o}${N}`]=u[N])}),e[M]=a})}else console.warn("Found prefix in translations, but it is not a string")}try{if(!t)e.en&&e.de&&e.ru?Object.keys(e).forEach(s=>{const o=s;d.translations[o]=d.translations[o]||{};const r=d.translations[o];Object.assign(r,e[o])}):Object.keys(e).forEach(s=>{const o=e[s];Object.keys(o).forEach(r=>{const M=r,a=d.translations[M];a?a[s]?a[s]!==o[M]&&console.warn(`Translation for word "${s}" in "${M}" was ignored: existing = "${a[s]}", new = ${o[M]}`):a[s]=o[M]:console.warn(`Used unknown language: ${M}`)})});else{d.translations[t]||console.warn(`Used unknown language: ${t}`),d.translations[t]=d.translations[t]||{};const s=d.translations[t];s&&Object.keys(e).forEach(o=>{s[o]?s[o]!==e[o]&&console.warn(`Translation for word "${o}" in "${t}" was ignored: existing = "${s[o]}", new = ${e[o]}`):s[o]=e[o]})}}catch(s){console.error(`Cannot apply translations: ${s}`)}}static setTranslations(e){e&&(d.translations=e)}static getLanguage(){return d.lang}static t(e,...t){const s=d.translations[d.lang];if(s){const o=s[e];if(o)e=o;else if(d.unknownTranslations.includes(e)||(d.unknownTranslations.push(e),!d._disableWarning&&console.log(`Translate: ${e}`)),d.lang!=="en"&&d.translations.en){const r=d.translations.en[e];r&&(e=r)}}for(const o of t)e=e.replace("%s",o);return e}static i18nShow(e){const t={};e?typeof e=="string"?(d.unknownTranslations.forEach(s=>{s.startsWith(e)&&(t[s]=s.replace(e,""))}),console.log(JSON.stringify(t,null,2))):typeof e=="object"&&(d.unknownTranslations.forEach(s=>{e.test(s)&&(t[s]=s)}),console.log(JSON.stringify(t,null,2))):(d.unknownTranslations.forEach(s=>t[s]=s),console.log(JSON.stringify(t,null,2)))}static disableWarning(e){d._disableWarning=!!e}}window.i18nShow=d.i18nShow;window.i18nDisableWarning=d.disableWarning;const $e="material",W4=["Su","Mo","Tu","We","Th","Fr","Sa"],R4=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],fi={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"},oM={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"};class S{static namespace=$e;static INSTANCES="instances";static dateFormat=["DD","MM"];static FORBIDDEN_CHARS=/[^._\-/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+/gu;static CapitalWords(e){return(e||"").split(/[\s_]/).filter(t=>t).map(t=>t?t[0].toUpperCase()+t.substring(1).toLowerCase():"").join(" ")}static formatSeconds(e){const t=Math.floor(e/86400);e%=3600*24;const s=Math.floor(e/3600).toString().padStart(2,"0");e%=3600;const o=Math.floor(e/60).toString().padStart(2,"0");e%=60;const r=Math.floor(e).toString().padStart(2,"0");let M="";return t&&(M+=`${t} ${d.t("ra_daysShortText")} `),M+=`${s}:${o}:${r}`,M}static getObjectName(e,t,s,o,r){var u;const M=e[t];let a;if(typeof s=="string"&&!o&&(o={language:s},s=null),o=o||{},o.language||(o.language=e["system.config"]&&e["system.config"].common&&e["system.config"].common.language||window.sysLang||"en"),s!=null&&s.name){const N=s.name;typeof N=="object"?a=o.language&&N[o.language]||N.en:a=N}else if(r&&((u=M==null?void 0:M.common)!=null&&u.desc)){const N=M.common.desc;typeof N=="object"?a=o.language&&N[o.language]||N.en||N.de||N.ru||"":a=N,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else if(!r&&(M!=null&&M.common)){const N=M.common.name||M.common.desc;N&&typeof N=="object"?a=o.language&&N[o.language]||N.en||N.de||N.ru||"":a=N,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else{const N=t.lastIndexOf(".");a=t.substring(N+1).replace(/[_.]/g," "),a=S.CapitalWords(a)}return(a==null?void 0:a.trim())||""}static getObjectNameFromObj(e,t,s,o,r){var u,N;const M=e;let a=(e==null?void 0:e._id)||"";if(typeof t=="string"&&!s&&(s={language:t},t=null),s=s||{},t!=null&&t.name){const l=t.name;typeof l=="object"?a=s.language&&l[s.language]||l.en:a=l}else if(o&&((u=M==null?void 0:M.common)!=null&&u.desc)){const l=M.common.desc;typeof l=="object"?a=s.language&&l[s.language]||l.en:a=l,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else if(!o&&((N=M==null?void 0:M.common)!=null&&N.name)){let l=M.common.name;!l&&M.common.desc&&(l=M.common.desc),typeof l=="object"?a=s.language&&l[s.language]||l.en:a=l,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}return r?a:a.trim()}static getSettingsOrder(e,t,s){let o;e&&Object.prototype.hasOwnProperty.call(e,"common")?o=e.common:o=e;let r;if(o!=null&&o.custom){r=o.custom[$e];const M=s.user||"admin";if(r&&r[M]){if(t){if(r[M].subOrder&&r[M].subOrder[t])return JSON.parse(JSON.stringify(r[M].subOrder[t]))}else if(r[M].order)return JSON.parse(JSON.stringify(r[M].order))}}return null}static getSettingsCustomURLs(e,t,s){let o;e&&Object.prototype.hasOwnProperty.call(e,"common")?o=e.common:o=e;let r;if(o!=null&&o.custom){r=o.custom[$e];const M=s.user||"admin";if(r&&r[M]){if(t){if(r[M].subURLs&&r[M].subURLs[t])return JSON.parse(JSON.stringify(r[M].subURLs[t]))}else if(r[M].URLs)return JSON.parse(JSON.stringify(r[M].URLs))}}return null}static reorder(e,t,s){const o=Array.from(e),[r]=o.splice(t,1);return o.splice(s,0,r),o}static getSettings(e,t,s){let o;const r=(e==null?void 0:e._id)||(t==null?void 0:t.id);let M;if(e&&Object.prototype.hasOwnProperty.call(e,"common")?M=e.common:M=e,M!=null&&M.custom?(o=M.custom,o=o[$e]&&o[$e][t.user||"admin"]?JSON.parse(JSON.stringify(o[$e][t.user||"admin"])):{enabled:!0}):o={enabled:s===void 0?!0:s,useCustom:!1},Object.prototype.hasOwnProperty.call(o,"enabled")||(o.enabled=s===void 0?!0:s),t&&(!o.name&&t.name&&(o.name=t.name),!o.icon&&t.icon&&(o.icon=t.icon),!o.color&&t.color&&(o.color=t.color)),M&&(!o.color&&M.color&&(o.color=M.color),!o.icon&&M.icon&&(o.icon=M.icon),!o.name&&M.name&&(o.name=M.name)),typeof o.name=="object"&&(o.name=t.language&&o.name[t.language]||o.name.en,o.name=(o.name||"").toString().replace(/_/g," "),o.name===o.name.toUpperCase()&&(o.name=o.name[0]+o.name.substring(1).toLowerCase())),!o.name&&r){const a=r.lastIndexOf(".");o.name=r.substring(a+1).replace(/[_.]/g," "),o.name=(o.name||"").toString().replace(/_/g," "),o.name=S.CapitalWords(o.name)}return o}static setSettings(e,t,s){if(e){e.common=e.common||{},e.common.custom=e.common.custom||{},e.common.custom[$e]=e.common.custom[$e]||{},e.common.custom[$e][s.user||"admin"]=t;const o=e.common.custom[$e][s.user||"admin"];return o.useCommon&&(o.color!==void 0&&(e.common.color=o.color,delete o.color),o.icon!==void 0&&(e.common.icon=o.icon,delete o.icon),o.name!==void 0&&(typeof e.common.name!="object"&&s.language?e.common.name={[s.language]:o.name}:typeof e.common.name=="object"&&s.language&&(e.common.name[s.language]=o.name),delete o.name)),!0}return!1}static getIcon(e,t){return e!=null&&e.icon?e.icon.length<=2?n.createElement("span",{style:t||{}},e.icon):e.icon.startsWith("data:image")?n.createElement("img",{alt:e.name,src:e.icon,style:t||{}}):n.createElement("img",{alt:e.name,src:(e.prefix||"")+e.icon,style:t}):null}static getObjectIcon(e,t){var s;if(typeof e=="object"&&(t=e,e=t==null?void 0:t._id),(s=t==null?void 0:t.common)!=null&&s.icon){let o=t.common.icon;if(typeof o=="string"&&o.length<=2||o.startsWith("data:image"))return o;const r=e.split(".");return r[0]==="system"?o=`adapter/${r[2]}${o.startsWith("/")?"":"/"}${o}`:o=`adapter/${r[0]}${o.startsWith("/")?"":"/"}${o}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?o=`../../${o}`:window.location.pathname.match(/material\/[.\d]+/)?o=`../../${o}`:window.location.pathname.match(/material\//)&&(o=`../${o}`),o}return null}static splitCamelCase(e){return e?S.CapitalWords(e):""}static isUseBright(e,t){if(!e)return t===void 0?!0:t;e=e.toString(),e.startsWith("#")&&(e=e.slice(1));let s,o,r;const M=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(M&&M.length===4)s=parseInt(M[1],10),o=parseInt(M[2],10),r=parseInt(M[3],10);else{if(e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length===8)e=e.substring(0,6);else if(e.length!==6)return!1;s=parseInt(e.slice(0,2),16),o=parseInt(e.slice(2,4),16),r=parseInt(e.slice(4,6),16)}return s*.299+o*.587+r*.114<=186}static getTimeString(e){if(e=parseFloat(e),Number.isNaN(e))return"--:--";const t=Math.floor(e/3600),s=Math.floor(e%3600/60).toString().padStart(2,"0"),o=(e%60).toString().padStart(2,"0");return t?`${t}:${s}:${o}`:`${s}:${o}`}static getWindDirection(e){return e>=0&&e<11.25?"N":e>=11.25&&e<33.75?"NNE":e>=33.75&&e<56.25?"NE":e>=56.25&&e<78.75?"ENE":e>=78.75&&e<101.25?"E":e>=101.25&&e<123.75?"ESE":e>=123.75&&e<146.25?"SE":e>=146.25&&e<168.75?"SSE":e>=168.75&&e<191.25?"S":e>=191.25&&e<213.75?"SSW":e>=213.75&&e<236.25?"SW":e>=236.25&&e<258.75?"WSW":e>=258.75&&e<281.25?"W":e>=281.25&&e<303.75?"WNW":e>=303.75&&e<326.25?"NW":e>=326.25&&e<348.75?"NNW":"N"}static padding(e){return typeof e=="string"?e.length<2?`0${e}`:e:e<10?`0${e}`:e.toString()}static setDataFormat(e){e&&(S.dateFormat=e.toUpperCase().split(/[.-/]/),S.dateFormat.splice(S.dateFormat.indexOf("YYYY"),1))}static date2string(e){if(typeof e=="string"){if(e=e.trim(),!e)return"";if(e.match(/^[\w\s]+$/))return e;const s=e.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(s){const o=[parseInt(s[1],10),parseInt(s[2],10),parseInt(s[3],10)],r=o.find(M=>M>31);if(r!==void 0){o.splice(o.indexOf(r),1);const M=o.find(a=>a>12);M?(o.splice(o.indexOf(M),1),e=new Date(r,o[0]-1,M)):S.dateFormat[0][0]==="M"&&S.dateFormat[1][0]==="D"?(e=new Date(r,o[0]-1,o[1]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(r,o[1]-1,o[0]))):S.dateFormat[0][0]==="D"&&S.dateFormat[1][0]==="M"?(e=new Date(r,o[1]-1,o[0]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(r,o[0]-1,o[1]))):e=new Date(e)}else e=new Date(e)}else e=new Date(e)}else e=new Date(e);let t=d.t(`ra_dow_${W4[e.getDay()]}`).replace("ra_dow_","");return t+=`. ${e.getDate()} ${d.t(`ra_month_${R4[e.getMonth()]}`).replace("ra_month_","")}`,t}static renderTextWithA(e){let t=e.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(t){const s=[];let o=1;do{const r=e.substring(0,t.index);if(e=e.substring((t.index||0)+t[0].length),r&&s.push(n.createElement("span",{key:`a${o++}`},r)),t[0].startsWith(""))s.push(n.createElement("b",{key:`a${o++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith(""))s.push(n.createElement("i",{key:`a${o++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,!t&&e&&s.push(n.createElement("span",{key:`a${o++}`},e))}while(t);return s}return e}static getSmartName(e,t,s,o){var M,a;if(!t){if(!o)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const u=e;return(M=u==null?void 0:u.common)!=null&&M.custom&&u.common.custom[s]?u.common.custom[s].smartName:void 0}if(!o)return e[t].common.smartName;const r=e[t];return(a=r==null?void 0:r.common)!=null&&a.custom&&r.common.custom[s]&&r.common.custom[s].smartName||null}static getSmartNameFromObj(e,t,s){var r,M;if(!s)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const o=(M=(r=e==null?void 0:e.common)==null?void 0:r.custom)==null?void 0:M[t];return o?o.smartName:void 0}static enableSmartName(e,t,s){s?(e.common.custom=e.common.custom||{},e.common.custom[t]=e.common.custom[t]||{},e.common.custom[t].smartName={}):e.common.smartName={}}static removeSmartName(e,t,s){s?e.common&&e.common.custom&&e.common.custom[t]&&(e.common.custom[t]=null):e.common.smartName=null}static updateSmartName(e,t,s,o,r,M){const a=d.getLanguage();if(typeof e.common.smartName=="string"){const u=e.common.smartName;e.common.smartName={},e.common.smartName[a]=u}if(e.native&&e.native.byON){delete e.native.byON;let u=e.common.smartName;u&&typeof u!="object"&&(u={en:u,[a]:u}),e.common.smartName=u}if(o!==void 0&&(M?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName=e.common.custom[r].smartName||{},o?e.common.custom[r].smartName.smartType=o:delete e.common.custom[r].smartName.smartType):(e.common.smartName=e.common.smartName||{},o?e.common.smartName.smartType=o:delete e.common.smartName.smartType)),s!==void 0&&(M?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName=e.common.custom[r].smartName||{},e.common.custom[r].smartName.byON=s):(e.common.smartName=e.common.smartName||{},e.common.smartName.byON=s)),t!==void 0){let u;if(M?(e.common.custom=e.common.custom||{},e.common.custom[r]=e.common.custom[r]||{},e.common.custom[r].smartName=e.common.custom[r].smartName||{},u=e.common.custom[r].smartName):(e.common.smartName=e.common.smartName||{},u=e.common.smartName),u[a]=t,u&&(!u[a]||u[a]===e.common.name&&(!e.common.role||e.common.role.includes("button")))){delete u[a];let N=!0;for(const l in u)if(Object.prototype.hasOwnProperty.call(u,l)){N=!1;break}if(N)if(M&&e.common.custom&&e.common.custom[r])e.common.custom[r].smartName.byON===void 0?delete e.common.custom[r]:(delete e.common.custom[r].en,delete e.common.custom[r].de,delete e.common.custom[r].ru,delete e.common.custom[r].nl,delete e.common.custom[r].pl,delete e.common.custom[r].it,delete e.common.custom[r].fr,delete e.common.custom[r].pt,delete e.common.custom[r].es,delete e.common.custom[r].uk,delete e.common.custom[r]["zh-cn"]);else if(e.common.smartName&&e.common.smartName.byON!==void 0){const l=e.common.smartName;delete l.en,delete l.de,delete l.ru,delete l.nl,delete l.pl,delete l.it,delete l.fr,delete l.pt,delete l.es,delete l.uk,delete l["zh-cn"]}else e.common.smartName=null}}}static disableSmartName(e,t,s){s?(e.common.custom=e.common.custom||{},e.common.custom[t]=e.common.custom[t]||{},e.common.custom[t].smartName=!1):e.common.smartName=!1}static copyToClipboard(e,t){return t&&(t.stopPropagation(),t.preventDefault()),Xn(e)}static getFileExtension(e){const t=(e||"").lastIndexOf(".");return t!==-1?e.substring(t+1).toLowerCase():null}static formatBytes(e){if(Math.abs(e)<1024)return`${e} B`;const t=["KB","MB","GB"];let s=-1;do e/=1024,++s;while(Math.abs(e)>=1024&&s186?`#000000${s||""}`:`#FFFFFF${s||""}`;const a=(255-o).toString(16),u=(255-r).toString(16),N=(255-M).toString(16);return`#${a.padStart(2,"0")}${u.padStart(2,"0")}${N.padStart(2,"0")}${s||""}`}static color2rgb(e){if(e==null||e===""||typeof e!="string")return!1;if(e.startsWith("rgba")){const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([.\d]+)\)/);t&&(e=parseInt(t[1],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0"))}else if(e.startsWith("rgb")){const t=e.match(/rgb?\((\d+),\s*(\d+),\s*(\d+)\)/);t&&(e=parseInt(t[1],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0"))}else e.startsWith("#")&&(e=e.slice(1));return e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length!==6&&e.length!==8?(console.warn(`Cannot invert color: ${e}`),!1):[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}static rgb2lab(e){let t=e[0]/255,s=e[1]/255,o=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let r=(t*.4124+s*.3576+o*.1805)/.95047,M=t*.2126+s*.7152+o*.0722,a=(t*.0193+s*.1192+o*.9505)/1.08883;return r=r>.008856?r**.33333333:7.787*r+.137931,M=M>.008856?M**.33333333:7.787*M+.137931,a=a>.008856?a**.33333333:7.787*a+.137931,[116*M-16,500*(r-M),200*(M-a)]}static colorDistance(e,t){const s=S.color2rgb(e),o=S.color2rgb(t);if(!s||!o)return 0;const r=S.rgb2lab(s),M=S.rgb2lab(o),a=r[0]-M[0],u=r[1]-M[1],N=r[2]-M[2],l=Math.sqrt(r[1]*r[1]+r[2]*r[2]),c=Math.sqrt(M[1]*M[1]+M[2]*M[2]),L=l-c;let j=u*u+N*N-L*L;j=j<0?0:Math.sqrt(j);const T=1+.045*l,D=1+.015*l,I=a,C=L/T,E=j/D,A=I*I+C*C+E*E;return A<0?0:A}static _toVal(e){let t,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e))for(let o=0;o{if(s=s.trim(),s){const o=s.split("="),r=decodeURIComponent(o[0]).trim();if(o.length>1){const M=decodeURIComponent(o[1]);if(M==="true")t[r]=!0;else if(M==="false")t[r]=!1;else{const a=parseFloat(M);a.toString()===M?t[r]=a:t[r]=M}}else t[r]=!0}}),t}static getParentId(e){const t=(e||"").toString().split(".");return t.length>1?(t.pop(),t.join(".")):null}static formatDate(e,t){if(!e)return"";let s;const o=(e.getMonth()+1).toString().padStart(2,"0"),r=e.getDate().toString().padStart(2,"0");return t==="MM/DD/YYYY"?s=`${o}/${r}/${e.getFullYear()}`:s=`${e.getFullYear()}-${o}-${r}`,s+=` ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`,s}static formatTime(e){if(e){e=Math.round(e);const t=Math.floor(e/(3600*24)),s=Math.floor(e%(3600*24)/3600),o=Math.floor(e%3600/60),r=e%60;return t?`${t}.${s.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`:s?`${s}:${o.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`:`0:${o.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`}return"0:00:00"}static MDtext2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static MDgetTitle(e){var r;const t=S.MDextractHeader(e),s=t.header;let o=t.body;if(!s.title){o=o.replace(/{[^}]*}/g,""),o=o.trim();const M=o.replace(/\r/g,"").split(` +`);for(let a=0;a{if(!M.trim())return;const n=M.indexOf(":");if(n!==-1){const u=M.substring(0,n).trim();let N=M.substring(n+1).trim();N=N.replace(/^['"]|['"]$/g,""),N==="true"?t[u]=!0:N==="false"?t[u]=!1:parseFloat(N).toString()===t[u]?t[u]=parseFloat(N):t[u]=N}else t[M.trim()]=!0}),e=e.substring(s+7))}return{header:t,body:e}}static MDremoveDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(s=>e=e.replace(s,"")),e}static generateFile(e,t){const s=document.createElement("a");s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}static quality2text(e){const t=e&4294901760,s=fi[e];let o;return s?o=[s]:e&1?o=[fi[1],`0x${(e&65534).toString(16)}`]:e&2?o=[fi[2],`0x${(e&65533).toString(16)}`]:o=[`0x${e.toString(16)}`],t&&o.push(`0x${(t>>16).toString(16).toUpperCase()}`),o}static clone(e){return JSON.parse(JSON.stringify(e))}static getStates(e){var o;const t=(o=e==null?void 0:e.common)==null?void 0:o.states;let s;if(t)if(typeof t=="string"&&t[0]==="{")try{s=JSON.parse(t)}catch{console.error(`Cannot parse states: ${t}`),s=null}else if(typeof t=="string"){const r=t.split(";");s={};for(let M=0;Ms[M]=r):(e==null?void 0:e.common.type)==="string"?t.forEach(r=>s[r]=r):(e==null?void 0:e.common.type)==="boolean"&&(s.false=t[0],s.true=t[1])):typeof t=="object"&&(s=t);return s||null}static async getSvg(e){const s=await(await fetch(e)).blob();return new Promise(o=>{const r=new FileReader;r.onload=()=>{var M;return o(((M=r.result)==null?void 0:M.toString())||"")},r.readAsDataURL(s)})}static detectMimeType(e){const t=Object.keys(oM).find(s=>e.startsWith(s));return t?oM[t]:null}static isStableRepository(e){return!!(typeof e=="string"&&e.toLowerCase().startsWith("stable")||e&&typeof e!="string"&&e.find(t=>t.toLowerCase().startsWith("stable")))}static isStringInteger(e){return typeof e=="number"?Math.round(e)===e:parseInt(e,10).toString()===e}static isValidDate(e){return e instanceof Date&&!isNaN(e)}static getStyle(e,...t){const s={};for(let o=0;o{if(typeof t[o][r]=="function")s[r]=t[o][r](e);else if(typeof t[o][r]=="object"){const M=t[o][r];s[r]={},Object.keys(M).forEach(n=>{typeof M[n]=="function"?s[r][n]=M(e):(M[n]||M[n]===0)&&(s[r][n]=M[n])})}else(t[o][r]||t[o][r]===0)&&(s[r]=t[o][r])});return s}}const ki={buttonIcon:{marginRight:8}};class W4 extends a.Component{isIFrame;constructor(e){super(e);const t=e.newReact===void 0?!0:e.newReact;if(e.isIFrame!==void 0)this.isIFrame=e.isIFrame;else try{this.isIFrame=!t&&window.self!==window.top}catch{this.isIFrame=!t}}render(){const e=this.props.noTextOnButtons,t={borderRadius:this.props.theme.saveToolbar.button.borderRadius||3,height:this.props.theme.saveToolbar.button.height||32},s={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(s.minHeight=48),this.props.error&&(t.border="1px solid red"),a.createElement(g.Toolbar,{style:s},a.createElement(g.Fab,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:t},a.createElement(m.Save,{style:e?void 0:ki.buttonIcon}),!e&&d.t("ra_Save")),a.createElement(g.Fab,{variant:"extended","aria-label":"Save and close",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!0),style:{...t,marginLeft:10}},a.createElement(m.Save,{style:e?void 0:ki.buttonIcon}),e?"+":d.t("ra_Save and close"),e&&a.createElement(m.Close,null)),a.createElement("div",{style:{flexGrow:1}}),a.createElement(g.Fab,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:t},a.createElement(m.Close,{style:e?void 0:ki.buttonIcon}),!e&&d.t("ra_Close")))}}const rM={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}};class Zn extends b.Component{constructor(e){if(super(e),!this.props.dialogName&&this.props.suppressQuestionMinutes)throw new Error("dialogName required if suppressQuestionMinutes used");let t=!1;this.props.suppressQuestionMinutes&&(t=parseInt((window._localStorage||window.localStorage).getItem(this.props.dialogName),10)||0,t?Date.now()>t&&((window._localStorage||window.localStorage).removeItem(this.props.dialogName),t=!1):t=!1),this.state={suppress:t}}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):a.createElement(g.Dialog,{open:!0,maxWidth:"md",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:(e,t)=>{t!=="backdropClick"&&t!=="escapeKeyDown"&&this.handleCancel()},"aria-labelledby":"ar_confirmation_dialog_title","aria-describedby":"ar_confirmation_dialog_description"},a.createElement(g.DialogTitle,{id:"ar_confirmation_dialog_title"},this.props.title||d.t("ra_Are you sure?")),a.createElement(g.DialogContent,null,a.createElement(g.DialogContentText,{id:"ar_confirmation_dialog_description"},this.props.icon||null,this.props.text,this.props.suppressQuestionMinutes?a.createElement("br",null):null,this.props.suppressQuestionMinutes?a.createElement(g.FormControlLabel,{sx:{"& .FormControlLabel-label":rM.suppress,"&.FormControlLabel-root":rM.suppressRoot},control:a.createElement(g.Checkbox,{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)),a.createElement(g.DialogActions,null,a.createElement(g.Button,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(m.Check,null)},this.props.ok||d.t("ra_Ok")),a.createElement(g.Button,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(m.Close,null)},this.props.cancel||d.t("ra_Cancel"))))}}class Xn extends b.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return a.createElement(g.Dialog,{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"},a.createElement(g.DialogTitle,{id:"ar_alert_dialog_title"},this.props.title||d.t("ra_Error")),a.createElement(g.DialogContent,null,a.createElement(g.DialogContentText,{id:"ar_alert_dialog_description"},this.props.text||d.t("ra_Unknown error!"))),a.createElement(g.DialogActions,null,a.createElement(g.Button,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(m.Check,null)},d.t("ra_Ok"))))}}const R4="Actions",J4="Append",B4="Cancel",F4="Categories",G4="Checked",H4="Delete",V4="Close",Z4="Commercial",X4="Configure",K4="Connected",q4="Continue",eL="Copied",tL="Create",sL="Crop",iL="Delete",oL="Delete",rL="Discard",ML="Disconnected",nL="Error",aL="Filter",cL="Friday",uL="Latitude",NL="Logout",lL="Longitude",LL="Message",jL="Monday",gL="Name",TL="Objects",yL="Ok",DL="Product",dL="Rename/Move/Copy",zL="Repeat",IL="Replace",wL="Root",CL="Saturday",hL="Save",AL="Selected",pL="States",mL="Sunday",OL="Thursday",EL="Timestamp",_L="Tuesday",SL="Update",xL="Valid till",fL="Value",kL="Version",YL="Wednesday",QL="Width",UL="Yes",vL="different",bL="Everyone can read object",$L="Everyone can read state",PL="Everyone can write object",WL="Everyone can write state",RL="Group can read object",JL="Group can read state",BL="Group can write object",FL="Group can write state",GL="Owner can read object",HL="Owner can read state",VL="Owner can write object",ZL="Owner can write state",XL="Buttons",KL="Changed from",qL="close",e0="Create boolean state",t0="Create channel",s0="Create device",i0="Create number state",o0="Create state",r0="Create string state",M0="days",n0="Fr",a0="Mo",c0="Sa",u0="Su",N0="Th",l0="Tu",L0="We",j0="Expert mode",g0="FALSE",T0="All files",y0="Audio",D0="Code/JSON",d0="Images",z0="Text",I0="Video",w0="Settings",C0="without",h0="Function",A0="ID",p0="Name",m0="Role",O0="Room",E0="Type",_0="Invalid settings",S0="Last change",x0="locally",f0="Apr",k0="Aug",Y0="Dec",Q0="Feb",U0="Jan",v0="Jul",b0="Jun",$0="Mai",P0="Mar",W0="Nov",R0="Oct",J0="Sep",B0="Apr",F0="Aug",G0="Dec",H0="Feb",V0="Jan",Z0="Jul",X0="Jun",K0="Mai",q0="Mar",ej="Nov",tj="Oct",sj="Sep",ij="none",oj="Object changed by",rj="Object last changed at",Mj="Settings from other adapter %s",nj="Quality code",aj="repeat",cj='To select folder, just hold the key "shift" by clicking the folder.',uj="Show all",Nj="State changed by",lj="Object changed from",Lj="Timestamp",jj="Acknowledged",gj="Comment",Tj="Copy the state value",yj="Hold Cltr/⌘ key to open the link",Dj="Custom settings",dj="Delete object",zj="Edit object",Ij="Edit the state value",wj="Expires in",Cj="From",hj="Last changed",Aj="Quality",pj="Time stamp",mj="User",Oj="Value",Ej="TRUE",_j="Value",Sj="Warning: The CRON job will run every minute during the specified period!",xj="Warning: The CRON job will run every second during the specified period!",fj="CRON",kj="Date",Yj="Dates",Qj="Day",Uj="Day of week",vj="Every",bj="every N days",$j="every Nth day of the week",Pj="every N day of week",Wj="every N hours",Rj="every N minutes",Jj="every N months",Bj="every N seconds",Fj="every day",Gj="every day of the week",Hj="every day of the week",Vj="every hour",Zj="every minute",Xj="every month",Kj="every second",qj="From",eg="Hours",tg="Interval",sg="Interval between",ig="Invalid CRON",og="Minutes",rg="months",Mg="Once",ng="Period",ag="Seconds",cg="Simple",ug="Specific time",Ng="specific dates",lg="specific day(s) of the week",Lg="specific day of weeks",jg="specific hours",gg="specific minutes",Tg="specific months",yg="specific seconds",Dg="Time",dg="To",zg="Wizard",Ig="all",wg="Astro day",Cg="Astro night",hg="Dawn",Ag="Dusk",pg="Golden hour",mg="Golden hour end",Og="Nadir",Eg="Nautical dawn",_g="Nautical dusk",Sg="Night",xg="Night end",fg="Solar noon",kg="Sunrise",Yg="Sunrise end",Qg="Sunset",Ug="Sunset start",vg="at",bg="at %s",$g="every day",Pg="every hour",Wg="every minute",Rg="every month",Jg="every %s day",Bg="every %s hours",Fg="every %s minutes",Gg="every %s months",Hg="every %s weeks",Vg="every %s years",Zg="every week",Xg="every year",Kg="from %s to %s",qg="never",eT="on %s of %s",tT="on %s and %s of",sT="on every date of",iT="%s",oT="%s and %s",rT="on %s",MT="on %s and %s",nT="on weekends",aT="on working days",cT="will ne be not executed any more, because start is in the past",uT="on %s",NT="from %s",lT="Execute from to",LT="to %s",jT="every",gT="Specific time",TT="from",yT="From-to",DT="Interval time",dT="invert",zT="none",IT="on",wT="Period",CT="Daily",hT="Dates",AT="Day",pT="Every",mT="Every day",OT="Every month",ET="Every week",_T="Every year",ST="Hours",xT="Minutes",fT="month",kT="Monthly",YT="Once",QT="Specific months",UT="Week",vT="Weekdays",bT="Weekend",$T="Weekly",PT="Workdays",WT="Year",RT="Yearly",JT="Specific time",BT="Time",FT="to",GT="Valid",HT="from",VT="to",ZT="Whole day",XT="every month",KT={"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_Actions:R4,"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:J4,"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:B4,"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:F4,"ra_Chained certificate":"Chained certificate","ra_Change color theme":"Change color theme","ra_Changed from":"Changed from","ra_Channel → State":"Channel → State","ra_Check license":"Check license",ra_Checked:G4,ra_Clear:H4,"ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Clone current row":"Clone current row",ra_Close:V4,"ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:Z4,ra_Configure:X4,"ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:K4,ra_Continue:q4,ra_Copied:eL,"ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:tL,"ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:sL,"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:iL,ra_Delete:oL,"ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device → Channel → State":"Device → Channel → State",ra_Discard:rL,ra_Disconnected:ML,"ra_Do not ask for next 2 hours in this session":"Do not ask for next 2 hours in this session","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 full path":"Edit full path","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_Enter the code from that page here":"Enter the code from that page here",ra_Error:nL,"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:aL,"ra_Filter and Data Actions":"Filter and Data Actions","ra_Filter files":"Filter files","ra_Folder name":"Folder name","ra_Folder → Channel → State":"Folder → Channel → State","ra_Folder → Device → Channel → State":"Folder → Device → Channel → State","ra_Folder → State":"Folder → State","ra_Folders always first":"Folders always first",ra_Friday:cL,"ra_Get %s access":"Get %s access","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_If the button above does not work, you can authorize manually this app by visiting this url":"If the button above does not work, you can authorize manually this app by visiting this url","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:uL,"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_Logout:NL,ra_Longitude:lL,'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:LL,ra_Monday:jL,"ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:gL,"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:TL,ra_Ok:yL,"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 allow popups in your browser for this page!":"Please allow popups in your browser for this page!","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_Press ENTER Key to add new item":"Press ENTER Key to add new item","ra_Private certificate":"Private certificate",ra_Product:DL,"ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Rename_Move_Copy:dL,"ra_Renew %s access":"Renew %s access",ra_Repeat:zL,ra_Replace:IL,"ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:wL,ra_Saturday:CL,ra_Save:hL,"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:AL,"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_Session will expire in %s seconds. Continue?":"Session will expire in %s seconds. Continue?","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:pL,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Successfully authorized. Token valid till %s and will be automatically renewed.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Successfully authorized. Token valid till %s but it can expire as the instance is not running.","ra_Suitable license not found in license manager":"Suitable license not found in license manager",ra_Sunday:mL,"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:OL,ra_Timestamp:EL,"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:_L,"ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:SL,"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:xL,ra_Value:fL,ra_Version:kL,"ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:YL,ra_Width:QL,ra_Yes:UL,"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__:vL,ra_aclEveryone_read_object:bL,ra_aclEveryone_read_state:$L,ra_aclEveryone_write_object:PL,ra_aclEveryone_write_state:WL,ra_aclGroup_read_object:RL,ra_aclGroup_read_state:JL,ra_aclGroup_write_object:BL,ra_aclGroup_write_state:FL,ra_aclOwner_read_object:GL,ra_aclOwner_read_state:HL,ra_aclOwner_write_object:VL,ra_aclOwner_write_state:ZL,ra_buttons:XL,ra_changedFrom:KL,ra_close:qL,ra_create_boolean_state:e0,ra_create_channel:t0,ra_create_device:s0,ra_create_number_state:i0,ra_create_state:o0,ra_create_string_state:r0,ra_daysShortText:M0,ra_dow_Fr:n0,ra_dow_Mo:a0,ra_dow_Sa:c0,ra_dow_Su:u0,ra_dow_Th:N0,ra_dow_Tu:l0,ra_dow_We:L0,ra_expertMode:j0,ra_false:g0,ra_fileType_all:T0,ra_fileType_audio:y0,ra_fileType_code:D0,ra_fileType_images:d0,ra_fileType_txt:z0,ra_fileType_video:I0,"ra_fileType_video,":"Video",ra_filter_customs:w0,ra_filter_customs_without:C0,ra_filter_func:h0,ra_filter_id:A0,ra_filter_name:p0,ra_filter_role:m0,ra_filter_room:O0,ra_filter_type:E0,"ra_import data from %s file":"Import data from %s file",ra_invalidConfig:_0,ra_lastChange:S0,ra_locally:x0,ra_month_Apr:f0,ra_month_Aug:k0,ra_month_Dec:Y0,ra_month_Feb:Q0,ra_month_Jan:U0,ra_month_Jul:v0,ra_month_Jun:b0,ra_month_Mai:$0,ra_month_Mar:P0,ra_month_Nov:W0,ra_month_Oct:R0,ra_month_Sep:J0,ra_months_Apr:B0,ra_months_Aug:F0,ra_months_Dec:G0,ra_months_Feb:H0,ra_months_Jan:V0,ra_months_Jul:Z0,ra_months_Jun:X0,ra_months_Mai:K0,ra_months_Mar:q0,ra_months_Nov:ej,ra_months_Oct:tj,ra_months_Sep:sj,"ra_no confirm for 5 mins":"no confirm for 5 mins",ra_none:ij,ra_object_changed_by:oj,ra_object_changed_by_user:rj,ra_otherConfig:Mj,ra_qualityCode:nj,ra_repeat:aj,ra_select_folder_hint:cj,ra_show_all:uj,ra_state_changed_by:Nj,ra_state_changed_from:lj,ra_timestamp:Lj,ra_tooltip_ack:jj,ra_tooltip_comment:gj,ra_tooltip_copyState:Tj,ra_tooltip_ctrlForLink:yj,ra_tooltip_customConfig:Dj,ra_tooltip_deleteObject:dj,ra_tooltip_editObject:zj,ra_tooltip_editState:Ij,ra_tooltip_expire:wj,ra_tooltip_from:Cj,ra_tooltip_lc:hj,ra_tooltip_quality:Aj,ra_tooltip_ts:pj,ra_tooltip_user:mj,ra_tooltip_value:Oj,ra_true:Ej,"ra_use seconds":"use seconds",ra_val:_j,"ra_via internet":"via internet",ra_warning_every_minute:Sj,ra_warning_every_second:xj,sc_cron:fj,sc_date:kj,sc_dates:Yj,sc_dow:Qj,sc_dows:Uj,sc_every:vj,sc_everyN_dates:bj,sc_everyN_dow:$j,sc_everyN_dows:Pj,sc_everyN_hours:Wj,sc_everyN_minutes:Rj,sc_everyN_months:Jj,sc_everyN_seconds:Bj,sc_every_dates:Fj,sc_every_dow:Gj,sc_every_dows:Hj,sc_every_hours:Vj,sc_every_minutes:Zj,sc_every_months:Xj,sc_every_seconds:Kj,sc_from:qj,sc_hours:eg,sc_interval:tg,sc_intervalBetween:sg,sc_invalid_cron:ig,sc_minutes:og,sc_months:rg,sc_once:Mg,sc_period:ng,sc_seconds:ag,sc_simple:cg,sc_specific:ug,sc_specific_dates:Ng,sc_specific_dow:lg,sc_specific_dows:Lg,sc_specific_hours:jg,sc_specific_minutes:gg,sc_specific_months:Tg,sc_specific_seconds:yg,sc_time:Dg,sc_to:dg,sc_wizard:zg,sch_all:Ig,sch_astroDay:wg,sch_astroNight:Cg,sch_astro_dawn:hg,sch_astro_dusk:Ag,sch_astro_goldenHour:pg,sch_astro_goldenHourEnd:mg,sch_astro_nadir:Og,sch_astro_nauticalDawn:Eg,sch_astro_nauticalDusk:_g,sch_astro_night:Sg,sch_astro_nightEnd:xg,sch_astro_solarNoon:fg,sch_astro_sunrise:kg,sch_astro_sunriseEnd:Yg,sch_astro_sunset:Qg,sch_astro_sunsetStart:Ug,sch_at:vg,sch_desc_atTime:bg,sch_desc_everyDay:$g,sch_desc_everyHour:Pg,sch_desc_everyMinute:Wg,sch_desc_everyMonth:Rg,sch_desc_everyNDay:Jg,sch_desc_everyNHours:Bg,sch_desc_everyNMinutes:Fg,sch_desc_everyNMonths:Gg,sch_desc_everyNWeeks:Hg,sch_desc_everyNYears:Vg,sch_desc_everyWeek:Zg,sch_desc_everyYear:Xg,sch_desc_intervalFromTo:Kg,sch_desc_never:qg,sch_desc_onDate:eT,sch_desc_onDates:tT,sch_desc_onEveryDate:sT,sch_desc_onMonth:iT,sch_desc_onMonths:oT,sch_desc_onWeekday:rT,sch_desc_onWeekdays:MT,sch_desc_onWeekends:nT,sch_desc_onWorkdays:aT,sch_desc_onceInPast:cT,sch_desc_once_on:uT,sch_desc_validFrom:NT,sch_desc_validFromTo:lT,sch_desc_validTo:LT,sch_every:jT,sch_exactTime:gT,sch_from:TT,sch_fromTo:yT,sch_intervalTime:DT,sch_invert:dT,sch_no_one:zT,sch_on:IT,sch_period:wT,sch_periodDaily:CT,sch_periodDates:hT,sch_periodDay:AT,sch_periodEvery:pT,sch_periodEveryDay:mT,sch_periodEveryMonth:OT,sch_periodEveryWeek:ET,sch_periodEveryYear:_T,sch_periodHours:ST,sch_periodMinutes:xT,sch_periodMonth:fT,sch_periodMonthly:kT,sch_periodOnce:YT,sch_periodSpecificMonths:QT,sch_periodWeek:UT,sch_periodWeekdays:vT,sch_periodWeekend:bT,sch_periodWeekly:$T,sch_periodWorkdays:PT,sch_periodYear:WT,sch_periodYearly:RT,sch_specificTime:JT,sch_time:BT,sch_to:FT,sch_valid:GT,sch_validFrom:HT,sch_validTo:VT,sch_wholeDay:ZT,sch_yearEveryMonth:XT},qT="Aktionen",ey="Anhängen",ty="Abbrechen",sy="Kategorien",iy="Geprüft",oy="Löschen",ry="Schließen",My="Kommerziell",ny="Konfigurieren",ay="Verbunden",cy="Weitermachen",uy="Kopiert",Ny="Erstellen",ly="Ernte",Ly="Entf",jy="Löschen",gy="Verwerfen",Ty="Getrennt",yy="Fehler",Dy="Filter",dy="Freitag",zy="Breite",Iy="Ausloggen",wy="Längengrad",Cy="Meldung",hy="Montag",Ay="Name",py="Objekte",my="OK",Oy="Produkt",Ey="Umbenennen/Verschieben/Kopieren",_y="Wiederholen",Sy="Ersetzen",xy="Anfang",fy="Samstag",ky="Speichern",Yy="Ausgewählt",Qy="Zustände",Uy="Sonntag",vy="Donnerstag",by="Zeitstempel",$y="Dienstag",Py="Aktualisieren",Wy="Gültig bis",Ry="Wert",Jy="Ausführung",By="Mittwoch",Fy="Breite",Gy="Ja",Hy="unterschiedlich",Vy="Jeder kann Objekt lesen",Zy="Jeder kann Zustand lesen",Xy="Jeder kann ein Objekt schreiben",Ky="Jeder kann Zustand schreiben",qy="Gruppe kann Objekt lesen",eD="Gruppe kann Status lesen",tD="Gruppe kann Objekt schreiben",sD="Gruppe kann Status schreiben",iD="Besitzer kann Objekt lesen",oD="Besitzer kann Zustand lesen",rD="Besitzer kann Objekt schreiben",MD="Besitzer kann Zustand schreiben",nD="Tasten",aD="Geändert von",cD="Schließen",uD="Booleschen Zustand erstellen",ND="Kanal erstellen",lD="Gerät erstellen",LD="Nummern-Zustand erstellen",jD="Zustand erstellen",gD="String-Zustand erstellen",TD="T.",yD="Fr",DD="Mo",dD="Sa",zD="So",ID="Do",wD="Di",CD="Mi",hD="Expertenmodus",AD="FALSCH",pD="Alle Dateien",mD="Audio",OD="Code/JSON",ED="Bilder",_D="Text",SD="Video",xD="Einstellungen",fD="ohne",kD="Funktion",YD="ID",QD="Name",UD="Rolle",vD="Raum",bD="Typ",$D="Ungültige Einstellungen",PD="Letzte Änderung",WD="örtlich",RD="Apr",JD="Aug",BD="Dez",FD="Feb",GD="Jan",HD="Jul",VD="Jun",ZD="Mai",XD="Mär",KD="Nov",qD="Okt",ed="Sep",td="Apr",sd="Aug",id="Dez",od="Feb",rd="Jan",Md="Jul",nd="Jun",ad="Mai",cd="Mär",ud="Nov",Nd="Okt",ld="Sep",Ld="kein",jd="Objekt geändert von",gd="Objekt zuletzt geändert um",Td="Einstellungen von anderen Adaptern %s",yd="Qualitätscode",Dd="wiederholen",dd='Um einen Ordner auszuwählen, halten Sie einfach die Taste "Shift" gedrückt, indem Sie auf den Ordner klicken.',zd="Alle anzeigen",Id="Zustand geändert durch",wd="Objekt geändert von",Cd="Zeitstempel",hd="Bestätigt",Ad="Kommentar",pd="Statuswert kopieren",md="Strg/⌘-Taste gedrückt halten, um den Link zu öffnen",Od="Benutzerdefinierte Einstellungen",Ed="Objekt löschen",_d="Objekt bearbeiten",Sd="Statuswert bearbeiten",xd="Läuft ab in",fd="Von",kd="Zuletzt geändert",Yd="Qualität",Qd="Zeitstempel",Ud="Benutzer",vd="Wert",bd="WAHR",$d="Wert",Pd="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgeführt!",Wd="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgeführt!",Rd="CRON",Jd="Datum",Bd="Tage",Fd="Tag",Gd="Wochentage",Hd="Jeden",Vd="alle N Tage",Zd="jeden x-ten Tag der Woche",Xd="alle N Wochentage",Kd="alle N Stunden",qd="alle N Minuten",ez="alle N Monate",tz="alle N Sekunden",sz="jeden Tag",iz="jeden Tag der Woche",oz="jeden Tag der Woche",rz="jede Stunde",Mz="jede Minute",nz="jeden Monat",az="jede Sekunde",cz="Von",uz="Stunden",Nz="Intervall",lz="Intervall zwischen",Lz="Ungültiger CRON",jz="Minuten",gz="Monate",Tz="Einmal",yz="Zeitraum",Dz="Sekunden",dz="Einfach",zz="Bestimmte Zeit",Iz="bestimmte Tage",wz="bestimmte(r) Tag(e) der Woche",Cz="bestimmten Wochentag",hz="bestimmte Stunden",Az="bestimmte Minuten",pz="bestimmte Monate",mz="bestimmte Sekunden",Oz="Zeit",Ez="Bis",_z="Wizard",Sz="alle",xz="Astronomischer Tag",fz="Astronomische Nacht",kz="Morgendämmerung",Yz="Abenddämmerung",Qz="Goldene Stunde",Uz="Goldene Stundenende",vz="Nadir",bz="Nautische Morgendämmerung",$z="Nautische Abenddämmerung",Pz="Nacht",Wz="Nachtende",Rz="Sonnenmittag",Jz="Sonnenaufgang",Bz="Sonnenaufgangende",Fz="Sonnenuntergang",Gz="Sonnenuntergangstart",Hz="am",Vz="um %s",Zz="jeden Tag",Xz="jede Stunde",Kz="jede Minute",qz="jeden Monat",eI="jeden %s Tag",tI="alle %s Stunden",sI="alle %s Minuten",iI="alle %s Monate",oI="alle %s Wochen",rI="alle %s Jahre",MI="jede Woche",nI="jedes Jahr",aI="von %s bis %s",cI="noch nie",uI="am %s von %s",NI="am %s und %s von",lI="an jedem Datum von",LI="%s",jI="%s und %s",gI="auf %s",TI="auf %s und %s",yI="an Wochenenden",DI="an Werktagen",dI="wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",zI="auf %s",II="von %s",wI="Ausführen von bis",CI="bis %s",hI="jeden",AI="Bestimmte Zeit",pI="von",mI="Von bis",OI="Zeitintervall",EI="umkehren",_I="keiner",SI="am",xI="Zeitraum",fI="Täglich",kI="Daten",YI="Tag",QI="Jeden",UI="Jeden Tag",vI="Jeden Monat",bI="Jede Woche",$I="Jedes Jahr",PI="Stunden",WI="Minuten",RI="Monat",JI="Monatlich",BI="Einmal",FI="Bestimmte Monate",GI="Woche",HI="Wochentage",VI="Wochenende",ZI="Wöchentlich",XI="Arbeitstage",KI="Jahr",qI="Jährlich",ew="Bestimmte Zeit",tw="Zeit",sw="zu",iw="Gültigkeit",ow="von",rw="bis",Mw="Ganzer Tag",nw="jeden Monat",aw={"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_Actions:qT,"ra_Add new child object to selected parent":"Dem ausgewählten übergeordneten Objekt ein neues untergeordnetes Objekt hinzufügen","ra_Add objects tree from JSON file":"Objektbaum aus JSON-Datei hinzufügen","ra_Add row":"Zeile hinzufügen","ra_Advanced options":"Erweiterte Optionen","ra_All items are filtered out":"Alle Elemente sind herausgefiltert","ra_All objects":"Alle Objekte",ra_Append:ey,"ra_Append %s entries or replace existing?":"%s Einträge anhängen oder vorhandene ersetzen?","ra_Append or replace?":"Anhängen oder ersetzen?","ra_Are you sure?":"Bist du sicher?","ra_Auto (no custom columns)":"Auto (keine benutzerdefinierten Spalten)","ra_Back to %s":"Zurück zu %s","ra_Background image":"Hintergrundbild",ra_Cancel:ty,"ra_Cannot add items with set filter":"Elemente mit festgelegtem Filter können nicht hinzugefügt werden","ra_Cannot decode license":"Lizenz kann nicht entschlüsselt 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önnen nicht gelesen werden: %s","ra_Cannot retrieve options, as instance is offline":"Optionen können 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:sy,"ra_Chained certificate":"Chained Zertifikat","ra_Change color theme":"Farbthema ändern","ra_Changed from":"Geändert von","ra_Channel → State":"Kanal → Zustand","ra_Check license":"Lizenz prüfen",ra_Checked:iy,ra_Clear:oy,"ra_Clear filter":"Filter löschen","ra_Clear icon":"Symbol löschen","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:ry,"ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:My,ra_Configure:ny,"ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das Löschen von %s bestätigen",ra_Connected:ay,ra_Continue:cy,ra_Copied:uy,"ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:Ny,"ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:ly,"ra_Define CRON...":"Definieren Sie CRON ...","ra_Define functions":"Funktionen definieren","ra_Define rooms":"Räume definieren","ra_Define schedule":"Zeitplan definieren","ra_Define schedule...":"Zeitplan definieren ...",ra_Del:Ly,ra_Delete:jy,"ra_Delete current row":"Aktuelle Zeile löschen","ra_Deselect all":"Alles abwählen","ra_Device → Channel → State":"Gerät → Kanal → Zustand",ra_Discard:gy,ra_Disconnected:Ty,"ra_Do not ask for next 2 hours in this session":"Fragen Sie nicht nach den nächsten 2 Stunden in dieser Sitzung","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ückzusetzen","ra_Drag 'n' drop some files here, or click to select files":"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuwählen","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 full path":"Vollständigen Pfad bearbeiten","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_Enter the code from that page here":"Geben Sie den Code von dieser Seite hier ein",ra_Error:yy,"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 Öffnen 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ß. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",ra_Filter:Dy,"ra_Filter and Data Actions":"Filter- und Datenaktionen","ra_Filter files":"Dateien filtern","ra_Folder name":"Ordnernamen","ra_Folder → Channel → State":"Ordner → Kanal → Zustand","ra_Folder → Device → Channel → State":"Ordner → Gerät → Kanal → Zustand","ra_Folder → State":"Ordner → Zustand","ra_Folders always first":"Ordner immer zuerst",ra_Friday:dy,"ra_Get %s access":"%s Zugriff erhalten","ra_Good luck":"Viel Glück","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ßen des Browsers","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Wenn die Schaltfläche oben nicht funktioniert, können Sie diese App manuell autorisieren, indem Sie diese URL besuchen","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ültiger CRON","ra_Invalid JSON":"Ungültiges JSON","ra_Invalid answer from server":"Ungültige Antwort vom Server","ra_Invalid parent folder!":"Ungültiger übergeordneter Ordner!","ra_Invalid structure":"Ungültige Struktur","ra_JSON editor":"JSON-Editor","ra_Last change":"Letzte Änderung",ra_Latitude:zy,"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ür anderes Produkt „%s“","ra_License is for version %s, but required version is %s.":"Lizenz ist für Version %s, aber erforderliche Version ist %s.","ra_License must be converted":"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie können 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öchten 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_Logout:Iy,ra_Longitude:wy,'ra_May not trigger "updateLicenses"':"Löst möglicherweise nicht „updateLicenses“ aus",ra_Message:Cy,ra_Monday:hy,"ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:Ay,"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ürfen neue Objekte nur in "0_userdata.0" oder "alias.0" erstellen.',"ra_Not a number":"Keine Nummer",ra_Objects:py,ra_Ok:my,"ra_On weekdays":"An Wochentagen","ra_Only following structures of objects are available:":"Es stehen nur folgende Objektstrukturen zur Verfügung:","ra_Only selected":"Nur ausgewählt","ra_Owner group":"Besitzergruppe","ra_Owner user":"Besitzer Benutzer","ra_Passwords are not equal!":"Passwörter 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 öffnen","ra_Please allow popups in your browser for this page!":"Bitte lassen Sie Popups für diese Seite in Ihrem Browser zu!","ra_Please confirm":"Bitte bestätigen","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ählen...","ra_Please select object ID...":"Bitte Objekt-ID auswählen...","ra_Port could be used by %s":"Port könnte von %s verwendet werden","ra_Port is already used by %s":"Port wird bereits von %s verwendet","ra_Press ENTER Key to add new item":"Die Eingabetaste drücken, um ein neues Element hinzuzufügen","ra_Private certificate":"Privates Zertifikat",ra_Product:Oy,"ra_Public certificate":"Öffentliches Zertifikat","ra_Quality code":"Qualität","ra_Refresh tree":"Baum aktualisieren","ra_Reload files":"Dateien neu laden",ra_Rename_Move_Copy:Ey,"ra_Renew %s access":"%s Zugriff erneuern",ra_Repeat:_y,ra_Replace:Sy,"ra_Request timed out":"Zeitüberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschränken",ra_Root:xy,ra_Saturday:fy,ra_Save:ky,"ra_Save and close":"Speichern und schließen","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ählen","ra_Select color":"Wähle Farbe","ra_Select predefined icon":"Vordefiniertes Symbol auswählen","ra_Select type of export":"Die Art des Exports auswählen ",ra_Selected:Yy,"ra_Selected %s object(s)":"Ausgewählt %s Objekt(en)","ra_Serial number (UUID)":"Seriennummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Seriennummer (UUID) „%s“ in der Lizenz gilt für ein anderes Gerät.","ra_Session will expire in %s seconds. Continue?":"Die Sitzung läuft in %s Sekunden ab. Fortfahren?","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:Qy,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Erfolgreich autorisiert. Token gültig bis %s und wird automatisch erneuert.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Erfolgreich autorisiert. Token gültig bis %s, kann aber ablaufen, da die Instanz nicht ausgeführt wird.","ra_Suitable license not found in license manager":"Passende Lizenz im Lizenzmanager nicht gefunden",ra_Sunday:Uy,"ra_Suppress question for next %s minutes":"Frage für die nächsten %s Minuten unterdrücken","ra_System language":"Systemsprache","ra_Take browser position":"Position vom Browser einnehmen","ra_Take position from system settings":"Position aus den Systemeinstellungen übernehmen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Die Experten können Objekte überall erstellen, außer 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ührt. Sind Sie sicher?","ra_The schedule will be executed every second. Are you sure?":"Der Zeitplan wird jede Sekunde ausgeführt. Sind Sie sicher?",ra_Thursday:vy,ra_Timestamp:by,"ra_Toggle expert mode":"Expertenmodus umschalten","ra_Toggle the states view":"Statusansicht umschalten","ra_Toggle view mode":"Ansichtsmodus umschalten","ra_Too big":"Zu groß","ra_Too small":"Zu klein","ra_Transparent dialog":"Transparenter Dialog",ra_Tuesday:$y,"ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:Py,"ra_Upload file":"Datei hochladen","ra_Use all available let's encrypt certificates":"Alle verfügbaren Zertifikate von Let's encrypt benutzen","ra_Use iobroker.acme adapter for letsencrypt certificates":"ioBroker.acme-Adapter für letsencrypt-Zertifikate verwenden","ra_Use system settings for position":"Systemeinstellungen für die Position verwenden","ra_Used system settings":"Systemeinstellungen","ra_User files":"Benutzerdaten",ra_ValidTill:Wy,ra_Value:Ry,ra_Version:Jy,"ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:By,ra_Width:Fy,ra_Yes:Gy,"ra_You can export all objects or just the selected branch.":"Sie können alle Objekte oder nur den ausgewählten Zweig exportieren.","ra_You can filter entries by entering here some text":"Sie können Einträge filtern, indem Sie hier Text eingeben",ra___different__:Hy,ra_aclEveryone_read_object:Vy,ra_aclEveryone_read_state:Zy,ra_aclEveryone_write_object:Xy,ra_aclEveryone_write_state:Ky,ra_aclGroup_read_object:qy,ra_aclGroup_read_state:eD,ra_aclGroup_write_object:tD,ra_aclGroup_write_state:sD,ra_aclOwner_read_object:iD,ra_aclOwner_read_state:oD,ra_aclOwner_write_object:rD,ra_aclOwner_write_state:MD,ra_buttons:nD,ra_changedFrom:aD,ra_close:cD,ra_create_boolean_state:uD,ra_create_channel:ND,ra_create_device:lD,ra_create_number_state:LD,ra_create_state:jD,ra_create_string_state:gD,ra_daysShortText:TD,ra_dow_Fr:yD,ra_dow_Mo:DD,ra_dow_Sa:dD,ra_dow_Su:zD,ra_dow_Th:ID,ra_dow_Tu:wD,ra_dow_We:CD,ra_expertMode:hD,ra_false:AD,ra_fileType_all:pD,ra_fileType_audio:mD,ra_fileType_code:OD,ra_fileType_images:ED,ra_fileType_txt:_D,ra_fileType_video:SD,"ra_fileType_video,":"Video",ra_filter_customs:xD,ra_filter_customs_without:fD,ra_filter_func:kD,ra_filter_id:YD,ra_filter_name:QD,ra_filter_role:UD,ra_filter_room:vD,ra_filter_type:bD,"ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:$D,ra_lastChange:PD,ra_locally:WD,ra_month_Apr:RD,ra_month_Aug:JD,ra_month_Dec:BD,ra_month_Feb:FD,ra_month_Jan:GD,ra_month_Jul:HD,ra_month_Jun:VD,ra_month_Mai:ZD,ra_month_Mar:XD,ra_month_Nov:KD,ra_month_Oct:qD,ra_month_Sep:ed,ra_months_Apr:td,ra_months_Aug:sd,ra_months_Dec:id,ra_months_Feb:od,ra_months_Jan:rd,ra_months_Jul:Md,ra_months_Jun:nd,ra_months_Mai:ad,ra_months_Mar:cd,ra_months_Nov:ud,ra_months_Oct:Nd,ra_months_Sep:ld,"ra_no confirm for 5 mins":"5 Minuten lang keine Bestätigung",ra_none:Ld,ra_object_changed_by:jd,ra_object_changed_by_user:gd,ra_otherConfig:Td,ra_qualityCode:yd,ra_repeat:Dd,ra_select_folder_hint:dd,ra_show_all:zd,ra_state_changed_by:Id,ra_state_changed_from:wd,ra_timestamp:Cd,ra_tooltip_ack:hd,ra_tooltip_comment:Ad,ra_tooltip_copyState:pd,ra_tooltip_ctrlForLink:md,ra_tooltip_customConfig:Od,ra_tooltip_deleteObject:Ed,ra_tooltip_editObject:_d,ra_tooltip_editState:Sd,ra_tooltip_expire:xd,ra_tooltip_from:fd,ra_tooltip_lc:kd,ra_tooltip_quality:Yd,ra_tooltip_ts:Qd,ra_tooltip_user:Ud,ra_tooltip_value:vd,ra_true:bd,"ra_use seconds":"Sekunden benutzen",ra_val:$d,"ra_via internet":"übers Internet",ra_warning_every_minute:Pd,ra_warning_every_second:Wd,sc_cron:Rd,sc_date:Jd,sc_dates:Bd,sc_dow:Fd,sc_dows:Gd,sc_every:Hd,sc_everyN_dates:Vd,sc_everyN_dow:Zd,sc_everyN_dows:Xd,sc_everyN_hours:Kd,sc_everyN_minutes:qd,sc_everyN_months:ez,sc_everyN_seconds:tz,sc_every_dates:sz,sc_every_dow:iz,sc_every_dows:oz,sc_every_hours:rz,sc_every_minutes:Mz,sc_every_months:nz,sc_every_seconds:az,sc_from:cz,sc_hours:uz,sc_interval:Nz,sc_intervalBetween:lz,sc_invalid_cron:Lz,sc_minutes:jz,sc_months:gz,sc_once:Tz,sc_period:yz,sc_seconds:Dz,sc_simple:dz,sc_specific:zz,sc_specific_dates:Iz,sc_specific_dow:wz,sc_specific_dows:Cz,sc_specific_hours:hz,sc_specific_minutes:Az,sc_specific_months:pz,sc_specific_seconds:mz,sc_time:Oz,sc_to:Ez,sc_wizard:_z,sch_all:Sz,sch_astroDay:xz,sch_astroNight:fz,sch_astro_dawn:kz,sch_astro_dusk:Yz,sch_astro_goldenHour:Qz,sch_astro_goldenHourEnd:Uz,sch_astro_nadir:vz,sch_astro_nauticalDawn:bz,sch_astro_nauticalDusk:$z,sch_astro_night:Pz,sch_astro_nightEnd:Wz,sch_astro_solarNoon:Rz,sch_astro_sunrise:Jz,sch_astro_sunriseEnd:Bz,sch_astro_sunset:Fz,sch_astro_sunsetStart:Gz,sch_at:Hz,sch_desc_atTime:Vz,sch_desc_everyDay:Zz,sch_desc_everyHour:Xz,sch_desc_everyMinute:Kz,sch_desc_everyMonth:qz,sch_desc_everyNDay:eI,sch_desc_everyNHours:tI,sch_desc_everyNMinutes:sI,sch_desc_everyNMonths:iI,sch_desc_everyNWeeks:oI,sch_desc_everyNYears:rI,sch_desc_everyWeek:MI,sch_desc_everyYear:nI,sch_desc_intervalFromTo:aI,sch_desc_never:cI,sch_desc_onDate:uI,sch_desc_onDates:NI,sch_desc_onEveryDate:lI,sch_desc_onMonth:LI,sch_desc_onMonths:jI,sch_desc_onWeekday:gI,sch_desc_onWeekdays:TI,sch_desc_onWeekends:yI,sch_desc_onWorkdays:DI,sch_desc_onceInPast:dI,sch_desc_once_on:zI,sch_desc_validFrom:II,sch_desc_validFromTo:wI,sch_desc_validTo:CI,sch_every:hI,sch_exactTime:AI,sch_from:pI,sch_fromTo:mI,sch_intervalTime:OI,sch_invert:EI,sch_no_one:_I,sch_on:SI,sch_period:xI,sch_periodDaily:fI,sch_periodDates:kI,sch_periodDay:YI,sch_periodEvery:QI,sch_periodEveryDay:UI,sch_periodEveryMonth:vI,sch_periodEveryWeek:bI,sch_periodEveryYear:$I,sch_periodHours:PI,sch_periodMinutes:WI,sch_periodMonth:RI,sch_periodMonthly:JI,sch_periodOnce:BI,sch_periodSpecificMonths:FI,sch_periodWeek:GI,sch_periodWeekdays:HI,sch_periodWeekend:VI,sch_periodWeekly:ZI,sch_periodWorkdays:XI,sch_periodYear:KI,sch_periodYearly:qI,sch_specificTime:ew,sch_time:tw,sch_to:sw,sch_valid:iw,sch_validFrom:ow,sch_validTo:rw,sch_wholeDay:Mw,sch_yearEveryMonth:nw},cw="Действия",uw="Добавить",Nw="Отмена",lw="Категории",Lw="Проверено",jw="Удалить",gw="Закрыть",Tw="Коммерческая",yw="Настроить",Dw="Соединение установлено",dw="Продолжать",zw="скопировано",Iw="Создать",ww="Обрезать",Cw="Delete",hw="Удалить",Aw="Отказаться",pw="Отключено",mw="Ошибка",Ow="Фильтр",Ew="Пятница",_w="Широта",Sw="Выйти",xw="Долгота",fw="Сообщение",kw="Понедельник",Yw="Имя",Qw="Объекты",Uw="Ok",vw="Продукт",bw="Переименовать/Переместить/Копировать",$w="Повторение",Pw="Заменять",Ww="Начало",Rw="Суббота",Jw="Сохранить",Bw="выбранный",Fw="Состояния",Gw="Воскресенье",Hw="Четверг",Vw="Времени",Zw="Вторник",Xw="Обновить",Kw="Годен до",qw="Значение",eC="Версия",tC="Среда",sC="Ширина",iC="Да",oC="разное",rC="Каждый может читать объект",MC="Каждый может читать состояние",nC="Каждый может написать объект",aC="Каждый может написать состояние",cC="Группа может читать объект",uC="Группа может читать состояние",NC="Группа может писать объект",lC="Группа может записывать состояние",LC="Владелец может читать объект",jC="Владелец может читать состояние",gC="Владелец может писать объект",TC="Владелец может писать состояние",yC="Кнопки",DC="Изменено с",dC="Закрыть",zC="Создать логическое состояние",IC="Создать канал",wC="Создать устройство",CC="Создать состояние номера",hC="Создать состояние",AC="Создать состояние строки",pC="д.",mC="Пт",OC="Пн",EC="Сб",_C="Вс",SC="Чт",xC="Вт",fC="Ср",kC="Экспертный режим",YC="ЛОЖЬ",QC="Все файлы",UC="Аудио",vC="Код/JSON",bC="Картинки",$C="Текст",PC="видео",WC="настройки",RC="без",JC="функция",BC="ID",FC="Имя",GC="роль",HC="комната",VC="Тип",ZC="Неверные настройки",XC="Последнее изменение",KC="локально",qC="Апр",eh="Авг",th="Дек",sh="Фев",ih="Янв",oh="Июл",rh="Июн",Mh="Май",nh="Мрт",ah="Ноя",ch="Окт",uh="Сен",Nh="Апр",lh="Авг",Lh="Дек",jh="Фев",gh="Янв",Th="Июнь",yh="Июль",Dh="Май",dh="Март",zh="Ноя",Ih="Окт",wh="Сен",Ch="ничего",hh="Объект изменен",Ah="Последний раз объект изменен в",ph="Настройки из другого адаптера %s",mh="Код качества",Oh="повтор",Eh="Чтобы выбрать папку, просто удерживайте клавишу «Shift», щелкнув папку.",_h="Показать все",Sh="Состояние изменено",xh="Объект изменен с",fh="Отметка времени",kh="Подтверждено",Yh="Комментарий",Qh="Скопируйте значение состояния",Uh="Удерживайте клавишу Cltr/⌘, чтобы открыть ссылку",vh="Пользовательские настройки",bh="Удалить объект",$h="Редактировать объект",Ph="Изменить значение состояния",Wh="Истекает через",Rh="От",Jh="Последнее изменение",Bh="Качество",Fh="Отметка времени",Gh="пользователь",Hh="Значение",Vh="истинный",Zh="Значение",Xh="Внимание: задание CRON будет запускаться каждую минуту в течение указанного периода!",Kh="Внимание: задание CRON будет выполняться каждую секунду в течение указанного периода!",qh="CRON",e1="Дата",t1="Даты",s1="День",i1="День недели",o1="каждый(ую/ые)",r1="каждый N день",M1="каждый N-й день недели",n1="каждый N день недели",a1="каждые N часов",c1="каждые N минут",u1="каждые N месяцев",N1="каждые N секунд",l1="каждый день",L1="Каждый день недели",j1="каждый день недели",g1="каждый час",T1="каждую минуту",y1="каждый месяц",D1="каждую секунду",d1="От",z1="часы",I1="Интервал",w1="Интервал между",C1="Неверный CRON",h1="минуты",A1="Месяцы",p1="один раз",m1="Период",O1="секунды",E1="Просто",_1="Конкретное время",S1="конкретные даты",x1="конкретный день(а) недели",f1="конкретный день недели",k1="конкретные часы",Y1="конкретные минуты",Q1="конкретные месяцы",U1="конкретные секунды",v1="Время",b1="До",$1="Форма",P1="все",W1="днём",R1="ночью",J1="Рассвет",B1="Сумерки",F1="Золотой час",G1="Конец золотого часа",H1="Надир",V1="Морской рассвет",Z1="Морские сумерки",X1="Ночь",K1="Конец ночи",q1="Солнечный полдень",eA="Восход",tA="Восход солнца",sA="Заход солнца",iA="Начало заката",oA="дата",rA="в %s",MA="каждый день",nA="каждый час",aA="каждую минуту",cA="каждый месяц",uA="каждый %s день",NA="каждый %s часов",lA="каждые %s минут",LA="каждые %s месяцев",jA="каждые %s недель",gA="каждые %s лет",TA="каждую неделю",yA="каждый год",DA="от %s до %s",dA="никогда",zA="%s %s",IA="%s и %s",wA="в каждый день",CA="%s",hA="%s и %s",AA="%s",pA="%s и %s",mA="на выходных",OA="в рабочие дни",EA="не будет больше выполняться, потому что начало в прошлом",_A="%s",SA="%s",xA="Выполнить с",fA="%s",kA="каждый",YA="Конкретное время",QA="от",UA="От и до",vA="Интервал времени",bA="инвертировать",$A="никакой",PA="на",WA="период",RA="Ежедневно",JA="Даты",BA="День",FA="каждый",GA="Каждый день",HA="Каждый месяц",VA="Каждую неделю",ZA="Каждый год",XA="часов",KA="минут",qA="месяц",ep="ежемесячно",tp="однажды",sp="Конкретные месяцы",ip="Неделю",op="Будние дни",rp="выходные",Mp="еженедельно",np="Рабочие дни",ap="Год",cp="каждый год",up="Конкретное время",Np="Время",lp="в",Lp="действительный",jp="от",gp="в",Tp="Весь день",yp="каждый месяц",Dp={"ra_%s links from aliases":"%s ссылок из псевдонимов","ra_%s object(s) processed":"Объектов обработано: %s","ra_%s was imported":"%s был импортирован","ra_Accept license":"Принять лицензию",ra_Actions:cw,"ra_Add new child object to selected parent":"Добавить новый дочерний объект к выбранному родительскому объекту","ra_Add objects tree from JSON file":"Добавить дерево объектов из файла JSON","ra_Add row":"Добавить ряд","ra_Advanced options":"Расширенные настройки","ra_All items are filtered out":"Все элементы отфильтрованы","ra_All objects":"Все объекты",ra_Append:uw,"ra_Append %s entries or replace existing?":"Добавить записи %s или заменить существующие?","ra_Append or replace?":"Дополнить или заменить?","ra_Are you sure?":"Вы уверены?","ra_Auto (no custom columns)":"Авто (без настраиваемых столбцов)","ra_Back to %s":"Вернуться к %s","ra_Background image":"Фоновая картинка",ra_Cancel:Nw,"ra_Cannot add items with set filter":"Невозможно добавить элементы с установленным фильтром","ra_Cannot decode license":"Не могу декодировать лицензию","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Невозможно определить местоположение: системные настройки пусты, а обнаружение GPS отключено в браузере.",'ra_Cannot find "%s"':'Не могу найти "%s"','ra_Cannot read "%s"':'Не могу прочитать "%s"',"ra_Cannot read licenses: %s":"Невозможно прочитать лицензии: %s","ra_Cannot retrieve options, as instance is offline":"Невозможно получить параметры, так как экземпляр находится в автономном режиме.","ra_Cannot update attribute, because not found in the object":"Невозможно обновить атрибут, потому что он не найден в объекте","ra_Cannot upload":"Невозможно загрузить",ra_Categories:lw,"ra_Chained certificate":"Chained сертификат","ra_Change color theme":"Изменить цветовую тему","ra_Changed from":"Изменено","ra_Channel → State":"Канал → Состояние","ra_Check license":"Проверить лицензию",ra_Checked:Lw,ra_Clear:jw,"ra_Clear filter":"Очистить фильтр","ra_Clear icon":"Очистить значок","ra_Clone current row":"Клонировать текущую строку",ra_Close:gw,"ra_Collapse all nodes":"Свернуть все узлы","ra_Collapse one step node":"Свернуть один уровень",ra_Commercial:Tw,ra_Configure:yw,"ra_Configure visible columns":"Настроить видимые столбцы","ra_Confirm deletion of %s":"Подтвердите удаление %s",ra_Connected:Dw,ra_Continue:dw,ra_Copied:zw,"ra_Copied %s":'Скопировано "%s"',"ra_Copy content":"Копировать содержимое",ra_Create:Iw,"ra_Create alias":"Создать псевдоним","ra_Create folder":"Создать папку","ra_Create new folder in %s":"Создать новую папку в %s",ra_Crop:ww,"ra_Define CRON...":"Определите CRON...","ra_Define functions":"Задать функции","ra_Define rooms":"Задать комнаты","ra_Define schedule":"Задать расписание","ra_Define schedule...":"Определить расписание ...",ra_Del:Cw,ra_Delete:hw,"ra_Delete current row":"Удалить текущую строку","ra_Deselect all":"Убрать выбор везде","ra_Device → Channel → State":"Устройство → Канал → Состояние",ra_Discard:Aw,ra_Disconnected:pw,"ra_Do not ask for next 2 hours in this session":"Не спрашивайте о следующих 2 часах в этом сеансе","ra_Do not export values of states":"Не экспортировать значения состояний","ra_Do not use let's encrypt":"Не использовать Let’s Encrypt","ra_Double click to reset table layout":"Дважды щелкните, чтобы сбросить макет таблицы","ra_Drag 'n' drop some files here, or click to select files":"Перетащите сюда несколько файлов или щелкните, чтобы выбрать файлы","ra_Drop file here":"Перетащите файл сюда","ra_Drop the files here...":"Перетащите файл сюда ...","ra_Duplicate name":"Повторяющееся имя","ra_Edit ACL":"Изменить ACL-список","ra_Edit alias":"Изменить псевдоним","ra_Edit custom config":"Редактировать настраиваемую конфигурацию","ra_Edit full path":"Изменить полный путь","ra_Edit function":"Изменить функцию","ra_Edit object field":"Поле редактирования объекта","ra_Edit role":"Изменить роль","ra_Edit room":"Редактировать комнату","ra_Edit value":"Изменить значение","ra_Enter the code from that page here":"Введите код с этой страницы здесь",ra_Error:mw,"ra_Expand all nodes":"Развернуть все узлы","ra_Expand one step node":"Открыть один уровень","ra_Export data to %s file":"Экспорт данных в файл %s","ra_Failed to open JSON File":"Не удалось открыть файл JSON","ra_Fallback custom certificates":"Резервные пользовательские сертификаты","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл слишком большой. Разрешено максимальное количество %sk. Попробуйте использовать SVG.",ra_Filter:Ow,"ra_Filter and Data Actions":"Фильтрация и действия с данными","ra_Filter files":"Фильтровать файлы","ra_Folder name":"Имя папки","ra_Folder → Channel → State":"Папка → Канал → Состояние","ra_Folder → Device → Channel → State":"Папка → Устройство → Канал → Состояние","ra_Folder → State":"Папка → Состояние","ra_Folders always first":"Папки всегда на первом месте",ra_Friday:Ew,"ra_Get %s access":"Получить %s доступ","ra_Good luck":"Удачи","ra_Hide empty folders":"Скрыть пустые папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Если в папке не будет создан файл, он исчезнет после закрытия браузера.","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Если кнопка выше не работает, вы можете вручную авторизовать это приложение, перейдя по этой ссылке.","ra_Import data from %s file":"Импорт данных из файла %s","ra_Import from %s":"Импорт из %s","ra_Instance %s is alive":"Экземпляр %s работает","ra_Instance %s is not alive":"Экземпляр %s не работает","ra_Instance is not alive":"Экземпляр не живой","ra_Invalid CRON":"Неверный CRON","ra_Invalid JSON":"Неверный JSON","ra_Invalid answer from server":"Неверный ответ от сервера","ra_Invalid parent folder!":"Неверная родительская папка!","ra_Invalid structure":"Неверная структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Последнее изменение",ra_Latitude:_w,"ra_License %s":"Лицензия %s","ra_License agreement":"Лицензионное соглашение","ra_License does not exist":"Лицензия не существует","ra_License expired on %s":"Срок действия лицензии истек %s",'ra_License for other product "%s"':'Лицензия на другой продукт "%s"',"ra_License is for version %s, but required version is %s.":"Лицензия предназначена для версии %s, но необходима версия %s.","ra_License must be converted":"Лицензия должна быть преобразована в более новую версию. Вы можете сделать это в своем профиле на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Лицензия не найдена в диспетчере лицензий. Вы хотите обновить лицензии от iobroker.net?","ra_Listen on all IPs":"Слушать на всех IP","ra_Load configuration from file":"Загрузить конфигурацию из файла",ra_Logout:Sw,ra_Longitude:xw,'ra_May not trigger "updateLicenses"':"Не может запускать «updateLicenses»",ra_Message:fw,ra_Monday:kw,"ra_Move down":"Вниз","ra_Move up":"Вверх",ra_Name:Yw,"ra_No data found in file":"Данные в файле не найдены","ra_No one license found in license manager":"В менеджере лицензий не найдена ни одна лицензия","ra_No response from the backend":"Нет ответа от бэкэнда",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Не-эксперты могут создавать новые объекты только в «0_userdata.0» или «alias.0».","ra_Not a number":"Не число",ra_Objects:Qw,ra_Ok:Uw,"ra_On weekdays":"На выходных","ra_Only following structures of objects are available:":"Доступны только следующие структуры объектов:","ra_Only selected":"Только выбранные","ra_Owner group":"Группа владельцев","ra_Owner user":"Пользователь-владелец","ra_Passwords are not equal!":"Пароли не равны!","ra_Place your files here or click here to open the browse dialog":"Поместите свои файлы сюда или щелкните здесь, чтобы открыть диалоговое окно выбора","ra_Please allow popups in your browser for this page!":"Пожалуйста, разрешите всплывающие окна в вашем браузере для этой страницы!","ra_Please confirm":"Пожалуйста подтвердите","ra_Please create license":"Пожалуйста, создайте лицензию","ra_Please enter the license":"Пожалуйста, введите лицензию","ra_Please select file...":"Пожалуйста, выберите файл...","ra_Please select object ID...":"Пожалуйста, выберите идентификатор объекта ...","ra_Port could be used by %s":"Порт может использоваться %s","ra_Port is already used by %s":"Порт уже используется %s","ra_Press ENTER Key to add new item":"Нажмите клавишу ENTER, чтобы добавить новый элемент.","ra_Private certificate":"Частный сертификат",ra_Product:vw,"ra_Public certificate":"Публичный сертификат","ra_Quality code":"Валидность","ra_Refresh tree":"Обновить дерево","ra_Reload files":"Обновить",ra_Rename_Move_Copy:bw,"ra_Renew %s access":"Продлить доступ %s",ra_Repeat:$w,ra_Replace:Pw,"ra_Request timed out":"Истекло время запроса","ra_Restrict to folder":"Ограничить папкой",ra_Root:Ww,ra_Saturday:Rw,ra_Save:Jw,"ra_Save and close":"Сохранить и закрыть","ra_Save configuration to file":"Сохранить конфигурацию в файл","ra_Save objects tree as JSON file":"Сохранить дерево объектов как файл JSON","ra_Select all":"Выбрать все","ra_Select color":"Выберите цвет","ra_Select predefined icon":"Выберите предопределенный значок","ra_Select type of export":"Выберите тип экспорта",ra_Selected:Bw,"ra_Selected %s object(s)":"Объектов: %s","ra_Serial number (UUID)":"Серийный номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Серийный номер (UUID) «%s» в лицензии предназначен для другого устройства.","ra_Session will expire in %s seconds. Continue?":"Сессия истечет через %s секунд. Продолжить?","ra_Show all folders":"Показать все папки","ra_Show lines between rows":"Показать линии между строками","ra_Show/Hide object descriptions":"Показать/скрыть описания объектов","ra_Show/hide filter input":"Показать/скрыть ввод фильтра","ra_Some data are not stored. Discard?":"Некоторые данные не сохранились. Отказаться?",ra_States:Fw,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Авторизация выполнена успешно. Токен действителен до %s и будет автоматически продлен.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Авторизация выполнена успешно. Токен действителен до %s, но его срок действия может истечь, так как экземпляр не запущен.","ra_Suitable license not found in license manager":"Подходящая лицензия не найдена в менеджере лицензий",ra_Sunday:Gw,"ra_Suppress question for next %s minutes":"Скрыть вопрос на следующие %s минут(ы)","ra_System language":"Язык системы","ra_Take browser position":"Взять позицию из браузера","ra_Take position from system settings":"Занять позицию из системных настроек",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Эксперты могут создавать объекты везде, кроме второго уровня (например, «vis.0» или «javascript.0»).","ra_The page you are looking for was not found":"Страница, которую вы ищете, не найдена","ra_The schedule will be executed every minute. Are you sure?":"Расписание будет выполняться каждую минуту. Вы уверены?","ra_The schedule will be executed every second. Are you sure?":"Расписание будет выполняться каждую секунду. Вы уверены?",ra_Thursday:Hw,ra_Timestamp:Vw,"ra_Toggle expert mode":"Переключить экспертный режим","ra_Toggle the states view":"Переключить режим просмотра состояний","ra_Toggle view mode":"Переключить режим просмотра","ra_Too big":"Слишком большое","ra_Too small":"Слишком маленькое","ra_Transparent dialog":"Прозрачный диалог",ra_Tuesday:Zw,"ra_Unknown error":"Неизвестная ошибка","ra_Unknown error!":"Неизвестная ошибка!",ra_Update:Xw,"ra_Upload file":"Загрузить файл","ra_Use all available let's encrypt certificates":"Использовать все доступные сертификаты Let’s encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Используйте адаптер iobroker.acme для сертификатов letsencrypt","ra_Use system settings for position":"Использовать системные настройки для позиции","ra_Used system settings":"Системные настройки","ra_User files":"Файлы пользователя",ra_ValidTill:Kw,ra_Value:qw,ra_Version:eC,"ra_View file":"Посмотреть файл","ra_View: %s":"Просмотр: %s",ra_Wednesday:tC,ra_Width:sC,ra_Yes:iC,"ra_You can export all objects or just the selected branch.":"Вы можете экспортировать все объекты или только выбранную ветвь.","ra_You can filter entries by entering here some text":"Вы можете отфильтровать записи, введя здесь текст",ra___different__:oC,ra_aclEveryone_read_object:rC,ra_aclEveryone_read_state:MC,ra_aclEveryone_write_object:nC,ra_aclEveryone_write_state:aC,ra_aclGroup_read_object:cC,ra_aclGroup_read_state:uC,ra_aclGroup_write_object:NC,ra_aclGroup_write_state:lC,ra_aclOwner_read_object:LC,ra_aclOwner_read_state:jC,ra_aclOwner_write_object:gC,ra_aclOwner_write_state:TC,ra_buttons:yC,ra_changedFrom:DC,ra_close:dC,ra_create_boolean_state:zC,ra_create_channel:IC,ra_create_device:wC,ra_create_number_state:CC,ra_create_state:hC,ra_create_string_state:AC,ra_daysShortText:pC,ra_dow_Fr:mC,ra_dow_Mo:OC,ra_dow_Sa:EC,ra_dow_Su:_C,ra_dow_Th:SC,ra_dow_Tu:xC,ra_dow_We:fC,ra_expertMode:kC,ra_false:YC,ra_fileType_all:QC,ra_fileType_audio:UC,ra_fileType_code:vC,ra_fileType_images:bC,ra_fileType_txt:$C,ra_fileType_video:PC,"ra_fileType_video,":"видео",ra_filter_customs:WC,ra_filter_customs_without:RC,ra_filter_func:JC,ra_filter_id:BC,ra_filter_name:FC,ra_filter_role:GC,ra_filter_room:HC,ra_filter_type:VC,"ra_import data from %s file":"Импортировать данные из файла %s",ra_invalidConfig:ZC,ra_lastChange:XC,ra_locally:KC,ra_month_Apr:qC,ra_month_Aug:eh,ra_month_Dec:th,ra_month_Feb:sh,ra_month_Jan:ih,ra_month_Jul:oh,ra_month_Jun:rh,ra_month_Mai:Mh,ra_month_Mar:nh,ra_month_Nov:ah,ra_month_Oct:ch,ra_month_Sep:uh,ra_months_Apr:Nh,ra_months_Aug:lh,ra_months_Dec:Lh,ra_months_Feb:jh,ra_months_Jan:gh,ra_months_Jul:Th,ra_months_Jun:yh,ra_months_Mai:Dh,ra_months_Mar:dh,ra_months_Nov:zh,ra_months_Oct:Ih,ra_months_Sep:wh,"ra_no confirm for 5 mins":"не спрашивать подтверждения в течение 5 минут",ra_none:Ch,ra_object_changed_by:hh,ra_object_changed_by_user:Ah,ra_otherConfig:ph,ra_qualityCode:mh,ra_repeat:Oh,ra_select_folder_hint:Eh,ra_show_all:_h,ra_state_changed_by:Sh,ra_state_changed_from:xh,ra_timestamp:fh,ra_tooltip_ack:kh,ra_tooltip_comment:Yh,ra_tooltip_copyState:Qh,ra_tooltip_ctrlForLink:Uh,ra_tooltip_customConfig:vh,ra_tooltip_deleteObject:bh,ra_tooltip_editObject:$h,ra_tooltip_editState:Ph,ra_tooltip_expire:Wh,ra_tooltip_from:Rh,ra_tooltip_lc:Jh,ra_tooltip_quality:Bh,ra_tooltip_ts:Fh,ra_tooltip_user:Gh,ra_tooltip_value:Hh,ra_true:Vh,"ra_use seconds":"секунды",ra_val:Zh,"ra_via internet":"через интернет",ra_warning_every_minute:Xh,ra_warning_every_second:Kh,sc_cron:qh,sc_date:e1,sc_dates:t1,sc_dow:s1,sc_dows:i1,sc_every:o1,sc_everyN_dates:r1,sc_everyN_dow:M1,sc_everyN_dows:n1,sc_everyN_hours:a1,sc_everyN_minutes:c1,sc_everyN_months:u1,sc_everyN_seconds:N1,sc_every_dates:l1,sc_every_dow:L1,sc_every_dows:j1,sc_every_hours:g1,sc_every_minutes:T1,sc_every_months:y1,sc_every_seconds:D1,sc_from:d1,sc_hours:z1,sc_interval:I1,sc_intervalBetween:w1,sc_invalid_cron:C1,sc_minutes:h1,sc_months:A1,sc_once:p1,sc_period:m1,sc_seconds:O1,sc_simple:E1,sc_specific:_1,sc_specific_dates:S1,sc_specific_dow:x1,sc_specific_dows:f1,sc_specific_hours:k1,sc_specific_minutes:Y1,sc_specific_months:Q1,sc_specific_seconds:U1,sc_time:v1,sc_to:b1,sc_wizard:$1,sch_all:P1,sch_astroDay:W1,sch_astroNight:R1,sch_astro_dawn:J1,sch_astro_dusk:B1,sch_astro_goldenHour:F1,sch_astro_goldenHourEnd:G1,sch_astro_nadir:H1,sch_astro_nauticalDawn:V1,sch_astro_nauticalDusk:Z1,sch_astro_night:X1,sch_astro_nightEnd:K1,sch_astro_solarNoon:q1,sch_astro_sunrise:eA,sch_astro_sunriseEnd:tA,sch_astro_sunset:sA,sch_astro_sunsetStart:iA,sch_at:oA,sch_desc_atTime:rA,sch_desc_everyDay:MA,sch_desc_everyHour:nA,sch_desc_everyMinute:aA,sch_desc_everyMonth:cA,sch_desc_everyNDay:uA,sch_desc_everyNHours:NA,sch_desc_everyNMinutes:lA,sch_desc_everyNMonths:LA,sch_desc_everyNWeeks:jA,sch_desc_everyNYears:gA,sch_desc_everyWeek:TA,sch_desc_everyYear:yA,sch_desc_intervalFromTo:DA,sch_desc_never:dA,sch_desc_onDate:zA,sch_desc_onDates:IA,sch_desc_onEveryDate:wA,sch_desc_onMonth:CA,sch_desc_onMonths:hA,sch_desc_onWeekday:AA,sch_desc_onWeekdays:pA,sch_desc_onWeekends:mA,sch_desc_onWorkdays:OA,sch_desc_onceInPast:EA,sch_desc_once_on:_A,sch_desc_validFrom:SA,sch_desc_validFromTo:xA,sch_desc_validTo:fA,sch_every:kA,sch_exactTime:YA,sch_from:QA,sch_fromTo:UA,sch_intervalTime:vA,sch_invert:bA,sch_no_one:$A,sch_on:PA,sch_period:WA,sch_periodDaily:RA,sch_periodDates:JA,sch_periodDay:BA,sch_periodEvery:FA,sch_periodEveryDay:GA,sch_periodEveryMonth:HA,sch_periodEveryWeek:VA,sch_periodEveryYear:ZA,sch_periodHours:XA,sch_periodMinutes:KA,sch_periodMonth:qA,sch_periodMonthly:ep,sch_periodOnce:tp,sch_periodSpecificMonths:sp,sch_periodWeek:ip,sch_periodWeekdays:op,sch_periodWeekend:rp,sch_periodWeekly:Mp,sch_periodWorkdays:np,sch_periodYear:ap,sch_periodYearly:cp,sch_specificTime:up,sch_time:Np,sch_to:lp,sch_valid:Lp,sch_validFrom:jp,sch_validTo:gp,sch_wholeDay:Tp,sch_yearEveryMonth:yp},dp="Ações",zp="Acrescentar",Ip="Cancelar",wp="Categorias",Cp="Verificado",hp="Excluir",Ap="Perto",pp="Comercial",mp="Configurar",Op="Conectado",Ep="Continuar",_p="Copiado",Sp="Crio",xp="Colheita",fp="Delete",kp="Excluir",Yp="Descartar",Qp="Desconectado",Up="Erro",vp="Filtro",bp="Sexta-feira",$p="Latitude",Pp="Sair",Wp="Longitude",Rp="mensagem",Jp="Segunda-feira",Bp="Nome",Fp="Objetos",Gp="Está bem",Hp="produtos",Vp="Renomear/Mover/Copiar",Zp="Repita",Xp="Substituir",Kp="Raiz",qp="Sábado",e2="Salve ",t2="Selecionado",s2="Estados",i2="Domingo",o2="Quinta-feira",r2="Timestamp",M2="Terça-feira",n2="Atualizar",a2="Válida até",c2="Valor",u2="Versão",N2="Quarta-feira",l2="Largura",L2="Sim",j2="diferente",g2="Todos podem ler objetos",T2="Todos podem ler o estado",y2="Todos podem escrever objetos",D2="Todos podem escrever o estado",d2="O grupo pode ler o objeto",z2="O grupo pode ler o estado",I2="O grupo pode escrever o objeto",w2="O grupo pode escrever o estado",C2="O proprietário pode ler o objeto",h2="O proprietário pode ler o estado",A2="O proprietário pode escrever o objeto",p2="O proprietário pode escrever o estado",m2="Botões",O2="Mudou de",E2="fechar",_2="Criar estado booleano",S2="Criar canal",x2="Criar dispositivo",f2="Criar estado numérico",k2="Criar estado",Y2="Criar estado de string",Q2="d.",U2="Fr",v2="Mo",b2="Sa",$2="Su",P2="º",W2="Tu",R2="Nós",J2="Modo especialista",B2="FALSO",F2="Todos os arquivos",G2="áudio",H2="Código/JSON",V2="Imagens",Z2="Texto",X2="Vídeo",K2="Configurações",q2="sem",em="Função",tm="ID",sm="Nome",im="Papel (Função)",om="Quarto",rm="Tipo",Mm="Configurações inválidas",nm="Última mudança",am="localmente",cm="abril",um="agosto",Nm="dezembro",lm="fevereiro",Lm="janeiro",jm="julho",gm="junho",Tm="Mai",ym="março",Dm="novembro",dm="outubro",zm="setembro",Im="abril",wm="agosto",Cm="dezembro",hm="fevereiro",Am="janeiro",pm="julho",mm="junho",Om="Mai",Em="março",_m="novembro",Sm="outubro",xm="setembro",fm="Nenhum",km="Objeto alterado por",Ym="Objeto alterado pela última vez em",Qm="Configurações de outro adaptador %s",Um="Código de qualidade",vm="repetir",bm='Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',$m="Mostrar tudo",Pm="Estado alterado por",Wm="Objeto alterado de",Rm="Timestamp",Jm="Confirmado",Bm="Comente",Fm="Copie o valor do estado",Gm="Segure a tecla Ctrl/⌘ para abrir o link",Hm="Opções customizadas",Vm="Excluir objeto",Zm="Editar objeto",Xm="Edite o valor do estado",Km="Expira em",qm="De",eO="Última alteração",tO="Qualidade",sO="Timestamp",iO="Usuário",oO="Valor",rO="verdadeiro",MO="Valor",nO="Aviso: O trabalho CRON será executado a cada minuto durante o período especificado!",aO="Aviso: O trabalho CRON será executado a cada segundo durante o período especificado!",cO="CRON",uO="Data",NO="Dias",lO="Dia",LO="Dia da semana",jO="todos",gO="a cada N dias",TO="todo enésimo dia da semana",yO="todos os N dias da semana",DO="a cada N horas",dO="a cada N minutos",zO="a cada N meses",IO="a cada N segundos",wO="todo dia",CO="todos os dias da semana",hO="todos os dias da semana",AO="toda hora",pO="todo minuto",mO="todo mês",OO="todo segundo",EO="de",_O="horas",SO="intervalo",xO="intervalo entre",fO="CRON inválido",kO="minutos",YO="meses",QO="uma vez",UO="período",vO="segundos",bO="simples",$O="tempo específico",PO="datas específicas",WO="dia(s) específico(s) da semana",RO="dia específico de semanas",JO="horas específicas",BO="minutos específicos",FO="meses específicos",GO="segundos específicos",HO="tempo",VO="para",ZO="assistente",XO="tudo",KO="dia astral",qO="noite astral",eE="amanhecer",tE="anoitecer",sE="hora dourada",iE="Fim da hora dourada",oE="nadir",rE="Amanhecer náutico",ME="Anoitecer náutico",nE="noite",aE="fim da noite",cE="meio-dia solar",uE="nascer do sol",NE="fim do nascer do sol",lE="pôr do sol",LE="início do pôr do sol",jE="às",gE="em %s",TE="todo dia",yE="toda hora",DE="todo minuto",dE="todo mês",zE="a cada %s dias",IE="a cada %s horas",wE="a cada %s minutos",CE="a cada %s meses",hE="a cada %s semanas",AE="a cada %s anos",pE="toda semana",mE="todo ano",OE="de %s para %s",EE="nunca",_E="em %s de %s",SE="em %s e %s de",xE="em toda data de",fE="%s",kE="%s e %s",YE="em %s",QE="em %s e %s",UE="nos fins de semana",vE="em dias úteis",bE="não será mais executado, porque o começo está no passado",$E="em %s",PE="de %s",WE="Executar de até",RE="até %s",JE="cada",BE="tempo específico",FE="de",GE="de a´t",HE="tempo de intervalo",VE="invertido",ZE="nenhum",XE="em",KE="período",qE="diariamente",e_="datas",t_="dia",s_="todos",i_="todo dia",o_="todo mês",r_="toda semana",M_="todo ano",n_="horas",a_="minutos",c_="mês",u_="por mês",N_="uma vez",l_="meses específicos",L_="semana",j_="dias úteis",g_="final de semana",T_="semanal",y_="dias úteis",D_="ano",d_="anual",z_="tempo específico",I_="tempo",w_="para",C_="válido",h_="de",A_="para",p_="dia inteiro",m_="todo mês",O_={"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ça",ra_Actions:dp,"ra_Add new child object to selected parent":"Adicionar novo objeto filho ao pai selecionado","ra_Add objects tree from JSON file":"Adicionar árvore de objetos do arquivo JSON","ra_Add row":"Adicionar linha","ra_Advanced options":"Opções avançadas","ra_All items are filtered out":"Todos os itens são filtrados","ra_All objects":"Todos os objetos",ra_Append:zp,"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ê 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:Ip,"ra_Cannot add items with set filter":"Não é possível adicionar itens com filtro definido","ra_Cannot decode license":"Não é possível decodificar a licença","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Não é possível determinar a posição: as configurações do sistema estão vazias e a detecção de GPS está desativada no navegador",'ra_Cannot find "%s"':'Não foi possível encontrar "%s"','ra_Cannot read "%s"':'Não é possível ler "%s"',"ra_Cannot read licenses: %s":"Não é possível ler licenças: %s","ra_Cannot retrieve options, as instance is offline":"Não é possível recuperar opções, pois a instância está off-line","ra_Cannot update attribute, because not found in the object":"Não é possível atualizar o atributo, porque não foi encontrado no objeto","ra_Cannot upload":"Não é possível fazer upload",ra_Categories:wp,"ra_Chained certificate":"certificado encadeado","ra_Change color theme":"Alterar tema de cores","ra_Changed from":"Mudou de","ra_Channel → State":"Canal → Estado","ra_Check license":"Verifique a licença",ra_Checked:Cp,ra_Clear:hp,"ra_Clear filter":"Filtro limpo","ra_Clear icon":"Ícone de limpeza","ra_Clone current row":"Clonar linha atual",ra_Close:Ap,"ra_Collapse all nodes":"Recolher todos os nós","ra_Collapse one step node":"Recolher um nível",ra_Commercial:pp,ra_Configure:mp,"ra_Configure visible columns":"Configurar colunas visíveis","ra_Confirm deletion of %s":"Confirme a exclusão de %s",ra_Connected:Op,ra_Continue:Ep,ra_Copied:_p,"ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conteúdo",ra_Create:Sp,"ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:xp,"ra_Define CRON...":"Defina CRON...","ra_Define functions":"Definir funções","ra_Define rooms":"Definir quartos","ra_Define schedule":"Definir cronograma","ra_Define schedule...":"Definir programação ...",ra_Del:fp,ra_Delete:kp,"ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device → Channel → State":"Dispositivo → Canal → Estado",ra_Discard:Yp,ra_Disconnected:Qp,"ra_Do not ask for next 2 hours in this session":"Não peça as próximas 2 horas nesta sessão","ra_Do not export values of states":"Não exporte valores de estados","ra_Do not use let's encrypt":"Não 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ção personalizada","ra_Edit full path":"Editar caminho completo","ra_Edit function":"Função de edição","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar papel","ra_Edit room":"Sala de edição","ra_Edit value":"Editar valor","ra_Enter the code from that page here":"Digite o código dessa página aqui",ra_Error:Up,"ra_Expand all nodes":"Expanda todos os nós","ra_Expand one step node":"Expanda um nível","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 é muito grande. Max %sk permitido. Tente usar SVG.",ra_Filter:vp,"ra_Filter and Data Actions":"Ações de filtro e dados","ra_Filter files":"Filtrar arquivos","ra_Folder name":"Nome da pasta","ra_Folder → Channel → State":"Pasta → Canal → Estado","ra_Folder → Device → Channel → State":"Pasta → Dispositivo → Canal → Estado","ra_Folder → State":"Pasta → Estado","ra_Folders always first":"Pastas sempre primeiro",ra_Friday:bp,"ra_Get %s access":"Obtenha acesso %s","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á depois que o navegador for fechado","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Se o botão acima não funcionar, você pode autorizar manualmente este aplicativo visitando esta url","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ância está ativo","ra_Instance %s is not alive":"O %s da instância não está ativo","ra_Instance is not alive":"A instância não está ativa","ra_Invalid CRON":"CRON inválido","ra_Invalid JSON":"JSON inválido","ra_Invalid answer from server":"Resposta inválida do servidor","ra_Invalid parent folder!":"Pasta pai inválida!","ra_Invalid structure":"Estrutura inválida","ra_JSON editor":"Editor JSON","ra_Last change":"Última mudança",ra_Latitude:$p,"ra_License %s":"Licença %s","ra_License agreement":"Contrato de licença","ra_License does not exist":"A licença não existe","ra_License expired on %s":"A licença expirou em %s",'ra_License for other product "%s"':'Licença para outro produto "%s"',"ra_License is for version %s, but required version is %s.":"A licença é para a versão %s, mas a versão necessária é %s.","ra_License must be converted":"A licença deve ser convertida para uma versão mais recente. Você pode fazê-lo em seu perfil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licença não encontrada no gerenciador de licenças. Deseja atualizar as licenças do iobroker.net?","ra_Listen on all IPs":"Ouça em todos os IPs","ra_Load configuration from file":"Carregar configuração do arquivo",ra_Logout:Pp,ra_Longitude:Wp,'ra_May not trigger "updateLicenses"':'Pode não acionar "updateLicenses"',ra_Message:Rp,ra_Monday:Jp,"ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:Bp,"ra_No data found in file":"Nenhum dado encontrado no arquivo","ra_No one license found in license manager":"Nenhuma licença encontrada no gerenciador de licenças","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ão especialistas podem criar novos objetos apenas em "0_userdata.0" ou "alias.0".',"ra_Not a number":"Não é um número",ra_Objects:Fp,ra_Ok:Gp,"ra_On weekdays":"Nos dias úteis","ra_Only following structures of objects are available:":"Apenas as seguintes estruturas de objetos estão disponíveis:","ra_Only selected":"Apenas selecionado","ra_Owner group":"Grupo proprietário","ra_Owner user":"Usuário proprietário","ra_Passwords are not equal!":"As senhas não são 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ção","ra_Please allow popups in your browser for this page!":"Por favor, permita pop-ups no seu navegador para esta página!","ra_Please confirm":"Por favor confirme","ra_Please create license":"Crie uma licença","ra_Please enter the license":"Por favor, insira a licença","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á está sendo usada por %s","ra_Press ENTER Key to add new item":"Pressione a tecla ENTER para adicionar um novo item","ra_Private certificate":"certificado privado",ra_Product:Hp,"ra_Public certificate":"certificado público","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar árvore","ra_Reload files":"Recarregar arquivos",ra_Rename_Move_Copy:Vp,"ra_Renew %s access":"Renovar acesso %s",ra_Repeat:Zp,ra_Replace:Xp,"ra_Request timed out":"Solicitação expirou","ra_Restrict to folder":"Restringir à pasta",ra_Root:Kp,ra_Saturday:qp,ra_Save:e2,"ra_Save and close":"Salvar e fechar","ra_Save configuration to file":"Salvar configuração em arquivo","ra_Save objects tree as JSON file":"Salvar árvore de objetos como arquivo JSON","ra_Select all":"Selecionar tudo","ra_Select color":"Selecione a cor","ra_Select predefined icon":"Selecione o ícone predefinido","ra_Select type of export":"Selecione o tipo de exportação",ra_Selected:t2,"ra_Selected %s object(s)":"%s objeto(s) selecionado(s)","ra_Serial number (UUID)":"Número de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'O número de série (UUID) "%s" na licença é para outro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"A sessão irá expirar em %s segundos. Continuar?","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ções de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Alguns dados não são armazenados. Descartar?",ra_States:s2,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizado com sucesso. Token válido até %s e será renovado automaticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizado com sucesso. Token válido até %s, mas pode expirar, pois a instância não está em execução.","ra_Suitable license not found in license manager":"Licença adequada não encontrada no gerenciador de licenças",ra_Sunday:i2,"ra_Suppress question for next %s minutes":"Suprimir pergunta nos próximos %s minutos","ra_System language":"Idioma do sistema","ra_Take browser position":"Tomar posição do navegador","ra_Take position from system settings":"Tomar posição a partir das configurações 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ível (por exemplo, "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"A página que você está procurando não foi encontrada","ra_The schedule will be executed every minute. Are you sure?":"O agendamento será executado a cada minuto. Tem certeza?","ra_The schedule will be executed every second. Are you sure?":"O agendamento será executado a cada segundo. Tem certeza?",ra_Thursday:o2,ra_Timestamp:r2,"ra_Toggle expert mode":"Alternar modo especialista","ra_Toggle the states view":"Alternar a visualização dos estados","ra_Toggle view mode":"Alternar modo de visualização","ra_Too big":"Muito grande","ra_Too small":"Muito pequeno","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:M2,"ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:n2,"ra_Upload file":"Subir arquivo","ra_Use all available let's encrypt certificates":"Use todos os certificados disponíveis 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ções do sistema para a posição","ra_Used system settings":"Configurações do sistema usadas","ra_User files":"Arquivos do usuário",ra_ValidTill:a2,ra_Value:c2,ra_Version:u2,"ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:N2,ra_Width:l2,ra_Yes:L2,"ra_You can export all objects or just the selected branch.":"Você pode exportar todos os objetos ou apenas a ramificação selecionada.","ra_You can filter entries by entering here some text":"Você pode filtrar as entradas digitando aqui algum texto",ra___different__:j2,ra_aclEveryone_read_object:g2,ra_aclEveryone_read_state:T2,ra_aclEveryone_write_object:y2,ra_aclEveryone_write_state:D2,ra_aclGroup_read_object:d2,ra_aclGroup_read_state:z2,ra_aclGroup_write_object:I2,ra_aclGroup_write_state:w2,ra_aclOwner_read_object:C2,ra_aclOwner_read_state:h2,ra_aclOwner_write_object:A2,ra_aclOwner_write_state:p2,ra_buttons:m2,ra_changedFrom:O2,ra_close:E2,ra_create_boolean_state:_2,ra_create_channel:S2,ra_create_device:x2,ra_create_number_state:f2,ra_create_state:k2,ra_create_string_state:Y2,ra_daysShortText:Q2,ra_dow_Fr:U2,ra_dow_Mo:v2,ra_dow_Sa:b2,ra_dow_Su:$2,ra_dow_Th:P2,ra_dow_Tu:W2,ra_dow_We:R2,ra_expertMode:J2,ra_false:B2,ra_fileType_all:F2,ra_fileType_audio:G2,ra_fileType_code:H2,ra_fileType_images:V2,ra_fileType_txt:Z2,ra_fileType_video:X2,"ra_fileType_video,":"Vídeo",ra_filter_customs:K2,ra_filter_customs_without:q2,ra_filter_func:em,ra_filter_id:tm,ra_filter_name:sm,ra_filter_role:im,ra_filter_room:om,ra_filter_type:rm,"ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:Mm,ra_lastChange:nm,ra_locally:am,ra_month_Apr:cm,ra_month_Aug:um,ra_month_Dec:Nm,ra_month_Feb:lm,ra_month_Jan:Lm,ra_month_Jul:jm,ra_month_Jun:gm,ra_month_Mai:Tm,ra_month_Mar:ym,ra_month_Nov:Dm,ra_month_Oct:dm,ra_month_Sep:zm,ra_months_Apr:Im,ra_months_Aug:wm,ra_months_Dec:Cm,ra_months_Feb:hm,ra_months_Jan:Am,ra_months_Jul:pm,ra_months_Jun:mm,ra_months_Mai:Om,ra_months_Mar:Em,ra_months_Nov:_m,ra_months_Oct:Sm,ra_months_Sep:xm,"ra_no confirm for 5 mins":"sem confirmação por 5 minutos",ra_none:fm,ra_object_changed_by:km,ra_object_changed_by_user:Ym,ra_otherConfig:Qm,ra_qualityCode:Um,ra_repeat:vm,ra_select_folder_hint:bm,ra_show_all:$m,ra_state_changed_by:Pm,ra_state_changed_from:Wm,ra_timestamp:Rm,ra_tooltip_ack:Jm,ra_tooltip_comment:Bm,ra_tooltip_copyState:Fm,ra_tooltip_ctrlForLink:Gm,ra_tooltip_customConfig:Hm,ra_tooltip_deleteObject:Vm,ra_tooltip_editObject:Zm,ra_tooltip_editState:Xm,ra_tooltip_expire:Km,ra_tooltip_from:qm,ra_tooltip_lc:eO,ra_tooltip_quality:tO,ra_tooltip_ts:sO,ra_tooltip_user:iO,ra_tooltip_value:oO,ra_true:rO,"ra_use seconds":"use segundos",ra_val:MO,"ra_via internet":"via internet",ra_warning_every_minute:nO,ra_warning_every_second:aO,sc_cron:cO,sc_date:uO,sc_dates:NO,sc_dow:lO,sc_dows:LO,sc_every:jO,sc_everyN_dates:gO,sc_everyN_dow:TO,sc_everyN_dows:yO,sc_everyN_hours:DO,sc_everyN_minutes:dO,sc_everyN_months:zO,sc_everyN_seconds:IO,sc_every_dates:wO,sc_every_dow:CO,sc_every_dows:hO,sc_every_hours:AO,sc_every_minutes:pO,sc_every_months:mO,sc_every_seconds:OO,sc_from:EO,sc_hours:_O,sc_interval:SO,sc_intervalBetween:xO,sc_invalid_cron:fO,sc_minutes:kO,sc_months:YO,sc_once:QO,sc_period:UO,sc_seconds:vO,sc_simple:bO,sc_specific:$O,sc_specific_dates:PO,sc_specific_dow:WO,sc_specific_dows:RO,sc_specific_hours:JO,sc_specific_minutes:BO,sc_specific_months:FO,sc_specific_seconds:GO,sc_time:HO,sc_to:VO,sc_wizard:ZO,sch_all:XO,sch_astroDay:KO,sch_astroNight:qO,sch_astro_dawn:eE,sch_astro_dusk:tE,sch_astro_goldenHour:sE,sch_astro_goldenHourEnd:iE,sch_astro_nadir:oE,sch_astro_nauticalDawn:rE,sch_astro_nauticalDusk:ME,sch_astro_night:nE,sch_astro_nightEnd:aE,sch_astro_solarNoon:cE,sch_astro_sunrise:uE,sch_astro_sunriseEnd:NE,sch_astro_sunset:lE,sch_astro_sunsetStart:LE,sch_at:jE,sch_desc_atTime:gE,sch_desc_everyDay:TE,sch_desc_everyHour:yE,sch_desc_everyMinute:DE,sch_desc_everyMonth:dE,sch_desc_everyNDay:zE,sch_desc_everyNHours:IE,sch_desc_everyNMinutes:wE,sch_desc_everyNMonths:CE,sch_desc_everyNWeeks:hE,sch_desc_everyNYears:AE,sch_desc_everyWeek:pE,sch_desc_everyYear:mE,sch_desc_intervalFromTo:OE,sch_desc_never:EE,sch_desc_onDate:_E,sch_desc_onDates:SE,sch_desc_onEveryDate:xE,sch_desc_onMonth:fE,sch_desc_onMonths:kE,sch_desc_onWeekday:YE,sch_desc_onWeekdays:QE,sch_desc_onWeekends:UE,sch_desc_onWorkdays:vE,sch_desc_onceInPast:bE,sch_desc_once_on:$E,sch_desc_validFrom:PE,sch_desc_validFromTo:WE,sch_desc_validTo:RE,sch_every:JE,sch_exactTime:BE,sch_from:FE,sch_fromTo:GE,sch_intervalTime:HE,sch_invert:VE,sch_no_one:ZE,sch_on:XE,sch_period:KE,sch_periodDaily:qE,sch_periodDates:e_,sch_periodDay:t_,sch_periodEvery:s_,sch_periodEveryDay:i_,sch_periodEveryMonth:o_,sch_periodEveryWeek:r_,sch_periodEveryYear:M_,sch_periodHours:n_,sch_periodMinutes:a_,sch_periodMonth:c_,sch_periodMonthly:u_,sch_periodOnce:N_,sch_periodSpecificMonths:l_,sch_periodWeek:L_,sch_periodWeekdays:j_,sch_periodWeekend:g_,sch_periodWeekly:T_,sch_periodWorkdays:y_,sch_periodYear:D_,sch_periodYearly:d_,sch_specificTime:z_,sch_time:I_,sch_to:w_,sch_valid:C_,sch_validFrom:h_,sch_validTo:A_,sch_wholeDay:p_,sch_yearEveryMonth:m_},E_="Acties",__="toevoegen",S_="Annuleer",x_="Categorieën",f_="Gecontroleerd",k_="Verwijderen",Y_="Dichtbij",Q_="Reclame",U_="Configureren",v_="Verbonden",b_="Doorgaan",$_="Gekopieerd",P_="Creëer",W_="Bijsnijden",R_="Delete",J_="Verwijderen",B_="Weggooien",F_="Verbinding verbroken",G_="Fout",H_="Filter",V_="Vrijdag",Z_="Breedtegraad",X_="Uitloggen",K_="Lengtegraad",q_="Bericht",eS="Maandag",tS="Naam",sS="Voorwerpen",iS="OK",oS="Product",rS="Hernoemen/Verplaatsen/Kopiëren",MS="Herhaling",nS="Vervangen",aS="Wortel",cS="Zaterdag",uS="Sparen",NS="Geselecteerd",lS="Staten",LS="Zondag",jS="Donderdag",gS="Tijdstempel",TS="Dinsdag",yS="Bijwerken",DS="Geldig tot",dS="Waarde",zS="Versie",IS="Woensdag",wS="Breedte",CS="Ja",hS="verschillend",AS="Iedereen kan object lezen",pS="Iedereen kan staat lezen",mS="Iedereen kan object schrijven",OS="Iedereen kan staat schrijven",ES="Groep kan object lezen",_S="Groep kan status lezen",SS="Groep kan object schrijven",xS="Groep kan staat schrijven",fS="Eigenaar kan object lezen",kS="Eigenaar kan staat lezen",YS="Eigenaar kan object schrijven",QS="Eigenaar kan staat schrijven",US="Toetsen",vS="Veranderd van",bS="dichtbij",$S="Creëer een Booleaanse status",PS="Kanaal maken",WS="Apparaat maken",RS="Nummerstatus maken",JS="Staat creëren",BS="Tekenreeksstatus maken",FS="d.",GS="Fr",HS="Mo",VS="Za",ZS="Zo",XS="Th",KS="Tu",qS="Wij",e3="Expert modus",t3="ONWAAR",s3="Alle bestanden",i3="Audio",o3="Code/JSON",r3="Afbeeldingen",M3="Tekst",n3="Video",a3="Instellingen",c3="zonder",u3="Functie",N3="ID",l3="Naam",L3="Rol",j3="Kamer",g3="Type",T3="Ongeldige instellingen",y3="Laatste wijziging",D3="plaatselijk",d3="april",z3="aug",I3="dec",w3="februari",C3="jan",h3="jul",A3="juni",p3="Mei",m3="mrt",O3="nov",E3="Okt",_3="sept",S3="april",x3="aug",f3="dec",k3="februari",Y3="jan",Q3="jul",U3="juni",v3="Mei",b3="mrt",$3="nov",P3="Okt",W3="sept",R3="geen",J3="Object veranderd door",B3="Object voor het laatst gewijzigd om",F3="Instellingen van andere adapter %s",G3="Kwaliteitscode",H3="herhalen",V3='Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',Z3="Alles weergeven",X3="Staat veranderd door",K3="Object veranderd van",q3="Tijdstempel",ex="Erkende vlag",tx="Opmerking",sx="Kopieer de statuswaarde",ix="Houd de Cltr/⌘-toets ingedrukt om de link te openen",ox="Aangepaste instellingen",rx="Object verwijderen",Mx="Object bewerken",nx="Bewerk de statuswaarde",ax="Verloopt over",cx="Van",ux="Laatst gewijzigd",Nx="Kwaliteit",lx="Tijdstempel",Lx="Gebruiker",jx="Waarde",gx="WAAR",Tx="Waarde",yx="Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",Dx="Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",dx="CRON",zx="Datum",Ix="data",wx="Dag",Cx="Dag van de week",hx="elk",Ax="elke N dagen",px="elke N-de dag van de week",mx="elke N dag van de week",Ox="elke N uur",Ex="elke N minuten",_x="elke N maanden",Sx="elke N seconden",xx="elke dag",fx="elke dag van de week",kx="elke dag van de week",Yx="elk uur",Qx="elke minuut",Ux="elke maand",vx="elke seconde",bx="Van",$x="uren",Px="Interval",Wx="Interval tussen",Rx="Ongeldige CRON",Jx="Notulen",Bx="maanden",Fx="Een keer",Gx="Periode",Hx="seconden",Vx="Gemakkelijk",Zx="Specifieke tijd",Xx="specifieke data",Kx="specifieke dag(en) van de week",qx="specifieke dag van weken",ef="specifieke uren",tf="specifieke minuten",sf="specifieke maanden",of="specifieke seconden",rf="Tijd",Mf="Naar",nf="tovenaar",af="allemaal",cf="Astro-dag",uf="Astro-nacht",Nf="Dageraad",lf="Schemer",Lf="gouden uur",jf="Gouden uur einde",gf="Nadir",Tf="Nautische dageraad",yf="Nautische schemering",Df="Nacht",df="Nacht einde",zf="Zonne middag",If="zonsopkomst",wf="Sunrise einde",Cf="Zonsondergang",hf="Zonsondergang start",Af="Bij",pf="op %s",mf="elke dag",Of="elk uur",Ef="elke minuut",_f="elke maand",Sf="elke %s dag",xf="elke %s uur",ff="elke %s minuten",kf="elke %s maanden",Yf="elke %s weken",Qf="elke %s jaar",Uf="elke week",vf="elk jaar",bf="van %s tot %s",$f="nooit",Pf="op %s van %s",Wf="op %s en %s van",Rf="op elke datum van",Jf="%s",Bf="%s en %s",Ff="op %s",Gf="op %s en %s",Hf="in het weekend",Vf="op werkdagen",Zf="zal niet meer worden uitgevoerd, omdat start verleden tijd is",Xf="op %s",Kf="van %s",qf="Uitvoeren van tot",e5="tot %s",t5="elk",s5="Specifieke tijd",i5="van",o5="Van naar",r5="Interval tijd",M5="omkeren",n5="geen",a5="Aan",c5="Periode",u5="Dagelijks",N5="data",l5="Dag",L5="elk",j5="Elke dag",g5="Elke maand",T5="Elke week",y5="Elk jaar",D5="uren",d5="Notulen",z5="maand",I5="Maandelijks",w5="Een keer",C5="Specifieke maanden",h5="Week",A5="Doordeweekse dagen",p5="Weekend",m5="Wekelijks",O5="werkdagen",E5="Jaar",_5="jaar-",S5="Specifieke tijd",x5="Tijd",f5="naar",k5="Geldig",Y5="van",Q5="naar",U5="Hele dag",v5="elke maand",b5={"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ïmporteerd","ra_Accept license":"Accepteer licentie",ra_Actions:E_,"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:__,"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:S_,"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:x_,"ra_Chained certificate":"Geketend certificaat","ra_Change color theme":"Kleurthema wijzigen","ra_Changed from":"Veranderd van","ra_Channel → State":"Kanaal → Staat","ra_Check license":"Licentie controleren",ra_Checked:f_,ra_Clear:k_,"ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Clone current row":"Kloon de huidige rij",ra_Close:Y_,"ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"Eén niveau samenvouwen",ra_Commercial:Q_,ra_Configure:U_,"ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:v_,ra_Continue:b_,ra_Copied:$_,"ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopiëren",ra_Create:P_,"ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:W_,"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ëren ...",ra_Del:R_,ra_Delete:J_,"ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device → Channel → State":"Apparaat → Kanaal → Staat",ra_Discard:B_,ra_Disconnected:F_,"ra_Do not ask for next 2 hours in this session":"Vraag niet om de volgende 2 uur in deze sessie","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 full path":"Volledig pad bewerken","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_Enter the code from that page here":"Voer hier de code van die pagina in",ra_Error:G_,"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:H_,"ra_Filter and Data Actions":"Filter- en gegevensacties","ra_Filter files":"Bestanden filteren","ra_Folder name":"Naam van de map","ra_Folder → Channel → State":"Map → Kanaal → Staat","ra_Folder → Device → Channel → State":"Map → Apparaat → Kanaal → Staat","ra_Folder → State":"Map → Staat","ra_Folders always first":"Mappen altijd eerst",ra_Friday:V_,"ra_Get %s access":"Krijg %s toegang","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_If the button above does not work, you can authorize manually this app by visiting this url":"Als de bovenstaande knop niet werkt, kunt u deze app handmatig autoriseren door deze url te bezoeken","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:Z_,"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_Logout:X_,ra_Longitude:K_,'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:q_,ra_Monday:eS,"ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:tS,"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:sS,ra_Ok:iS,"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 allow popups in your browser for this page!":"Sta pop-ups toe in uw browser voor deze pagina!","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_Press ENTER Key to add new item":"Druk op de ENTER-toets om een nieuw item toe te voegen","ra_Private certificate":"Privé certificaat",ra_Product:oS,"ra_Public certificate":"Openbaar certificaat","ra_Quality code":"Kwaliteit","ra_Refresh tree":"Vernieuw de boom","ra_Reload files":"Laad bestanden opnieuw",ra_Rename_Move_Copy:rS,"ra_Renew %s access":"%s toegang verlengen",ra_Repeat:MS,ra_Replace:nS,"ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:aS,ra_Saturday:cS,ra_Save:uS,"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:NS,"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_Session will expire in %s seconds. Continue?":"Sessie verloopt over %s seconden. Doorgaan?","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:lS,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Succesvol geautoriseerd. Token geldig tot %s en wordt automatisch verlengd.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Succesvol geautoriseerd. Token geldig tot %s, maar kan verlopen omdat de instantie niet actief is.","ra_Suitable license not found in license manager":"Geschikte licentie niet gevonden in licentiebeheer",ra_Sunday:LS,"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:jS,ra_Timestamp:gS,"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:TS,"ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:yS,"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:DS,ra_Value:dS,ra_Version:zS,"ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:IS,ra_Width:wS,ra_Yes:CS,"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__:hS,ra_aclEveryone_read_object:AS,ra_aclEveryone_read_state:pS,ra_aclEveryone_write_object:mS,ra_aclEveryone_write_state:OS,ra_aclGroup_read_object:ES,ra_aclGroup_read_state:_S,ra_aclGroup_write_object:SS,ra_aclGroup_write_state:xS,ra_aclOwner_read_object:fS,ra_aclOwner_read_state:kS,ra_aclOwner_write_object:YS,ra_aclOwner_write_state:QS,ra_buttons:US,ra_changedFrom:vS,ra_close:bS,ra_create_boolean_state:$S,ra_create_channel:PS,ra_create_device:WS,ra_create_number_state:RS,ra_create_state:JS,ra_create_string_state:BS,ra_daysShortText:FS,ra_dow_Fr:GS,ra_dow_Mo:HS,ra_dow_Sa:VS,ra_dow_Su:ZS,ra_dow_Th:XS,ra_dow_Tu:KS,ra_dow_We:qS,ra_expertMode:e3,ra_false:t3,ra_fileType_all:s3,ra_fileType_audio:i3,ra_fileType_code:o3,ra_fileType_images:r3,ra_fileType_txt:M3,ra_fileType_video:n3,"ra_fileType_video,":"Video",ra_filter_customs:a3,ra_filter_customs_without:c3,ra_filter_func:u3,ra_filter_id:N3,ra_filter_name:l3,ra_filter_role:L3,ra_filter_room:j3,ra_filter_type:g3,"ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:T3,ra_lastChange:y3,ra_locally:D3,ra_month_Apr:d3,ra_month_Aug:z3,ra_month_Dec:I3,ra_month_Feb:w3,ra_month_Jan:C3,ra_month_Jul:h3,ra_month_Jun:A3,ra_month_Mai:p3,ra_month_Mar:m3,ra_month_Nov:O3,ra_month_Oct:E3,ra_month_Sep:_3,ra_months_Apr:S3,ra_months_Aug:x3,ra_months_Dec:f3,ra_months_Feb:k3,ra_months_Jan:Y3,ra_months_Jul:Q3,ra_months_Jun:U3,ra_months_Mai:v3,ra_months_Mar:b3,ra_months_Nov:$3,ra_months_Oct:P3,ra_months_Sep:W3,"ra_no confirm for 5 mins":"geen bevestiging gedurende 5 minuten",ra_none:R3,ra_object_changed_by:J3,ra_object_changed_by_user:B3,ra_otherConfig:F3,ra_qualityCode:G3,ra_repeat:H3,ra_select_folder_hint:V3,ra_show_all:Z3,ra_state_changed_by:X3,ra_state_changed_from:K3,ra_timestamp:q3,ra_tooltip_ack:ex,ra_tooltip_comment:tx,ra_tooltip_copyState:sx,ra_tooltip_ctrlForLink:ix,ra_tooltip_customConfig:ox,ra_tooltip_deleteObject:rx,ra_tooltip_editObject:Mx,ra_tooltip_editState:nx,ra_tooltip_expire:ax,ra_tooltip_from:cx,ra_tooltip_lc:ux,ra_tooltip_quality:Nx,ra_tooltip_ts:lx,ra_tooltip_user:Lx,ra_tooltip_value:jx,ra_true:gx,"ra_use seconds":"gebruik seconden",ra_val:Tx,"ra_via internet":"via internet",ra_warning_every_minute:yx,ra_warning_every_second:Dx,sc_cron:dx,sc_date:zx,sc_dates:Ix,sc_dow:wx,sc_dows:Cx,sc_every:hx,sc_everyN_dates:Ax,sc_everyN_dow:px,sc_everyN_dows:mx,sc_everyN_hours:Ox,sc_everyN_minutes:Ex,sc_everyN_months:_x,sc_everyN_seconds:Sx,sc_every_dates:xx,sc_every_dow:fx,sc_every_dows:kx,sc_every_hours:Yx,sc_every_minutes:Qx,sc_every_months:Ux,sc_every_seconds:vx,sc_from:bx,sc_hours:$x,sc_interval:Px,sc_intervalBetween:Wx,sc_invalid_cron:Rx,sc_minutes:Jx,sc_months:Bx,sc_once:Fx,sc_period:Gx,sc_seconds:Hx,sc_simple:Vx,sc_specific:Zx,sc_specific_dates:Xx,sc_specific_dow:Kx,sc_specific_dows:qx,sc_specific_hours:ef,sc_specific_minutes:tf,sc_specific_months:sf,sc_specific_seconds:of,sc_time:rf,sc_to:Mf,sc_wizard:nf,sch_all:af,sch_astroDay:cf,sch_astroNight:uf,sch_astro_dawn:Nf,sch_astro_dusk:lf,sch_astro_goldenHour:Lf,sch_astro_goldenHourEnd:jf,sch_astro_nadir:gf,sch_astro_nauticalDawn:Tf,sch_astro_nauticalDusk:yf,sch_astro_night:Df,sch_astro_nightEnd:df,sch_astro_solarNoon:zf,sch_astro_sunrise:If,sch_astro_sunriseEnd:wf,sch_astro_sunset:Cf,sch_astro_sunsetStart:hf,sch_at:Af,sch_desc_atTime:pf,sch_desc_everyDay:mf,sch_desc_everyHour:Of,sch_desc_everyMinute:Ef,sch_desc_everyMonth:_f,sch_desc_everyNDay:Sf,sch_desc_everyNHours:xf,sch_desc_everyNMinutes:ff,sch_desc_everyNMonths:kf,sch_desc_everyNWeeks:Yf,sch_desc_everyNYears:Qf,sch_desc_everyWeek:Uf,sch_desc_everyYear:vf,sch_desc_intervalFromTo:bf,sch_desc_never:$f,sch_desc_onDate:Pf,sch_desc_onDates:Wf,sch_desc_onEveryDate:Rf,sch_desc_onMonth:Jf,sch_desc_onMonths:Bf,sch_desc_onWeekday:Ff,sch_desc_onWeekdays:Gf,sch_desc_onWeekends:Hf,sch_desc_onWorkdays:Vf,sch_desc_onceInPast:Zf,sch_desc_once_on:Xf,sch_desc_validFrom:Kf,sch_desc_validFromTo:qf,sch_desc_validTo:e5,sch_every:t5,sch_exactTime:s5,sch_from:i5,sch_fromTo:o5,sch_intervalTime:r5,sch_invert:M5,sch_no_one:n5,sch_on:a5,sch_period:c5,sch_periodDaily:u5,sch_periodDates:N5,sch_periodDay:l5,sch_periodEvery:L5,sch_periodEveryDay:j5,sch_periodEveryMonth:g5,sch_periodEveryWeek:T5,sch_periodEveryYear:y5,sch_periodHours:D5,sch_periodMinutes:d5,sch_periodMonth:z5,sch_periodMonthly:I5,sch_periodOnce:w5,sch_periodSpecificMonths:C5,sch_periodWeek:h5,sch_periodWeekdays:A5,sch_periodWeekend:p5,sch_periodWeekly:m5,sch_periodWorkdays:O5,sch_periodYear:E5,sch_periodYearly:_5,sch_specificTime:S5,sch_time:x5,sch_to:f5,sch_valid:k5,sch_validFrom:Y5,sch_validTo:Q5,sch_wholeDay:U5,sch_yearEveryMonth:v5},$5="Actes",P5="Ajouter",W5="Annuler",R5="Catégories",J5="Vérifié",B5="Effacer",F5="Fermer",G5="Commercial",H5="Configurer",V5="Lié",Z5="Continuer",X5="Copié",K5="Créer",q5="Recadrer",ek="Delete",tk="Supprimer",sk="Jeter",ik="Débranché",ok="Erreur",rk="Filtre",Mk="Vendredi",nk="Latitude",ak="Déconnexion",ck="Longitude",uk="Message",Nk="Lundi",lk="Nom",Lk="Objets",jk="D'accord",gk="Produit",Tk="Renommer/Déplacer/Copier",yk="Répéter",Dk="Remplacer",dk="Racine",zk="Samedi",Ik="sauver",wk="Choisi",Ck="États",hk="Dimanche",Ak="Jeudi",pk="Horodatage",mk="Mardi",Ok="Mise à jour",Ek="Valable jusqu'au",_k="Valeur",Sk="Version",xk="Mercredi",fk="Largeur",kk="Oui",Yk="différent",Qk="Tout le monde peut lire un objet",Uk="Tout le monde peut lire l'état",vk="Tout le monde peut écrire un objet",bk="Tout le monde peut écrire l'état",$k="Le groupe peut lire l'objet",Pk="Le groupe peut lire l'état",Wk="Le groupe peut écrire un objet",Rk="Le groupe peut écrire l'état",Jk="Le propriétaire peut lire l'objet",Bk="Le propriétaire peut lire l'état",Fk="Le propriétaire peut écrire un objet",Gk="Le propriétaire peut écrire l'état",Hk="Boutons",Vk="Changé de",Zk="Fermer",Xk="Créer un état booléen",Kk="Créer une chaîne",qk="Créer un appareil",eY="Créer un état de numéro",tY="Créer un état",sY="Créer un état de chaîne",iY="j.",oY="Fr",rY="Mo",MY="Sa",nY="Su",aY="Th",cY="Tu",uY="Nous",NY="Mode expert",lY="FAUX",LY="Tous les fichiers",jY="l'audio",gY="Code/JSON",TY="Images",yY="Texte",DY="Vidéo",dY="Paramètres",zY="sans",IY="Une fonction",wY="ID",CY="Prénom",hY="Rôle",AY="Pièce",pY="Type",mY="Paramètres invalides",OY="Dernier changement",EY="localement",_Y="Avr",SY="Août",xY="Déc",fY="Fév",kY="Jan",YY="Juil",QY="Juin",UY="Mai",vY="Mar",bY="Nov",$Y="Oct",PY="Sep",WY="Avr",RY="Août",JY="Déc",BY="Fév",FY="Jan",GY="Juil",HY="Juin",VY="Mai",ZY="Mar",XY="Nov",KY="Oct",qY="Sep",eQ="rien",tQ="Objet modifié par",sQ="Objet modifié pour la dernière fois à",iQ="Paramètres d'un autre adaptateur %s",oQ="Code de qualité",rQ="répéter",MQ='Pour sélectionner un dossier, maintenez simplement la touche "shift" enfoncée en cliquant sur le dossier.',nQ="Tout afficher",aQ="État modifié par",cQ="Objet changé de",uQ="Horodatage",NQ="Drapeau reconnu",lQ="Commentaire",LQ="Copiez la valeur d'état",jQ="Maintenez la touche Cltr/⌘ enfoncée pour ouvrir le lien",gQ="Paramètres personnalisés",TQ="Supprimer un objet",yQ="Modifier l'objet",DQ="Modifier la valeur d'état",dQ="Expire dans",zQ="De",IQ="Dernière modification",wQ="Qualité",CQ="Horodatage",hQ="Utilisateur",AQ="Valeur",pQ="VRAI",mQ="Valeur",OQ="Attention : la tâche CRON s’exécutera toutes les minutes pendant la période spécifiée !",EQ="Attention : la tâche CRON s’exécutera toutes les secondes pendant la période spécifiée !",_Q="CRON",SQ="Date",xQ="Rendez-vous",fQ="Jour",kQ="Jour de la semaine",YQ="Chaque",QQ="tous les N jours",UQ="chaque Nième jour de la semaine",vQ="tous les N jours de la semaine",bQ="toutes les N heures",$Q="toutes les N minutes",PQ="tous les N mois",WQ="toutes les N secondes",RQ="tous les jours",JQ="Chaque jour de la semaine",BQ="Chaque jour de la semaine",FQ="Toutes les heures",GQ="chaque minute",HQ="chaque mois",VQ="chaque seconde",ZQ="De",XQ="Heures",KQ="Intervalle",qQ="Intervalle entre",eU="CRON non valide",tU="Minutes",sU="mois",iU="Une fois que",oU="Période",rU="Secondes",MU="Facile",nU="Temps spécifique",aU="dates spécifiques",cU="jour(s) spécifique(s) de la semaine",uU="jour spécifique de semaines",NU="heures spécifiques",lU="minutes spécifiques",LU="mois spécifiques",jU="secondes spécifiques",gU="Temps",TU="À",yU="sorcier",DU="tout",dU="Journée astronomique",zU="Nuit astronomique",IU="Aube",wU="Crépuscule",CU="Heure d'or",hU="Fin de l'heure d'or",AU="Nadir",pU="Aube nautique",mU="Crépuscule nautique",OU="Nuit",EU="Fin de nuit",_U="Midi solaire",SU="lever du soleil",xU="Fin du lever du soleil",fU="Le coucher du soleil",kU="Coucher du soleil",YU="à",QU="à %s",UU="tous les jours",vU="Toutes les heures",bU="chaque minute",$U="chaque mois",PU="chaque %s jour",WU="chaque %s heures",RU="toutes les %s minutes",JU="tous les %s mois",BU="chaque %s semaines",FU="tous les %s ans",GU="toutes les semaines",HU="chaque année",VU="de %s à %s",ZU="jamais",XU="sur %s de %s",KU="sur %s et %s de",qU="à chaque date de",ev="%s",tv="%s et %s",sv="sur %s",iv="sur %s et %s",ov="les weekends",rv="les jours ouvrables",Mv="ne sera plus exécuté, car start est dans le passé",nv="sur %s",av="de %s",cv="Exécuter de à",uv="à %s",Nv="chaque",lv="Temps spécifique",Lv="de",jv="De à",gv="Temps d'interval",Tv="inverser",yv="aucun",Dv="sur",dv="Période",zv="du quotidien",Iv="Rendez-vous",wv="journée",Cv="Chaque",hv="Tous les jours",Av="Chaque mois",pv="Toutes les semaines",mv="Chaque année",Ov="Heures",Ev="Minutes",_v="mois",Sv="Mensuel",xv="Une fois que",fv="Mois spécifiques",kv="La semaine",Yv="Jours de la semaine",Qv="Weekend",Uv="Hebdomadaire",vv="Jours ouvrables",bv="Année",$v="Annuel",Pv="Temps spécifique",Wv="Temps",Rv="à",Jv="Valide",Bv="de",Fv="à",Gv="Toute la journée",Hv="chaque mois",Vv={"ra_%s links from aliases":"%s liens provenant d'alias","ra_%s object(s) processed":"%s objet(s) traité(s)","ra_%s was imported":"%s a été importé","ra_Accept license":"Accepter la licence",ra_Actions:$5,"ra_Add new child object to selected parent":"Ajouter un nouvel objet enfant au parent sélectionné","ra_Add objects tree from JSON file":"Ajouter une arborescence d'objets à partir d'un fichier JSON","ra_Add row":"Ajouter une rangée","ra_Advanced options":"Options avancées","ra_All items are filtered out":"Tous les éléments sont filtrés","ra_All objects":"Tous les objets",ra_Append:P5,"ra_Append %s entries or replace existing?":"Ajouter %s entrées ou remplacer l'existant ?","ra_Append or replace?":"Ajouter ou remplacer ?","ra_Are you sure?":"Êtes-vous sûr?","ra_Auto (no custom columns)":"Auto (pas de colonnes personnalisées)","ra_Back to %s":"Retour à %s","ra_Background image":"Image de fond",ra_Cancel:W5,"ra_Cannot add items with set filter":"Impossible d'ajouter des éléments avec le filtre défini","ra_Cannot decode license":"Impossible de décoder la licence","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossible de déterminer la position : les paramètres système sont vides et la détection GPS est désactivée 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 : %s","ra_Cannot retrieve options, as instance is offline":"Impossible de récupérer les options, car l'instance est hors ligne","ra_Cannot update attribute, because not found in the object":"Impossible de mettre à jour l'attribut, car il est introuvable dans l'objet","ra_Cannot upload":"Impossible de télécharger",ra_Categories:R5,"ra_Chained certificate":"Certificat chaîné","ra_Change color theme":"Changer le thème de couleur","ra_Changed from":"Changé de","ra_Channel → State":"Canal → État","ra_Check license":"Vérifier la licence",ra_Checked:J5,ra_Clear:B5,"ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'icône","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:F5,"ra_Collapse all nodes":"Réduire tous les nœuds","ra_Collapse one step node":"Réduire d'un niveau",ra_Commercial:G5,ra_Configure:H5,"ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:V5,ra_Continue:Z5,ra_Copied:X5,"ra_Copied %s":'"%s" copié',"ra_Copy content":"Copier le contenu",ra_Create:K5,"ra_Create alias":"Créer un alias","ra_Create folder":"Créer le dossier","ra_Create new folder in %s":"Créer un nouveau dossier dans %s",ra_Crop:q5,"ra_Define CRON...":"Définir CRON...","ra_Define functions":"Définir des fonctions","ra_Define rooms":"Définir des pièces","ra_Define schedule":"Définir le calendrier","ra_Define schedule...":"Définir le calendrier ...",ra_Del:ek,ra_Delete:tk,"ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout déselectionner","ra_Device → Channel → State":"Appareil → Canal → État",ra_Discard:sk,ra_Disconnected:ik,"ra_Do not ask for next 2 hours in this session":"Ne demandez pas les 2 prochaines heures de cette session","ra_Do not export values of states":"Ne pas exporter les valeurs des états","ra_Do not use let's encrypt":"Ne pas utiliser let's encrypt","ra_Double click to reset table layout":"Double-cliquez pour réinitialiser la disposition du tableau","ra_Drag 'n' drop some files here, or click to select files":"Glissez-déposez des fichiers ici, ou cliquez pour sélectionner des fichiers","ra_Drop file here":"Déposer le fichier ici","ra_Drop the files here...":"Déposez 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ée","ra_Edit full path":"Modifier le chemin complet","ra_Edit function":"Fonction d'édition","ra_Edit object field":"Modifier le champ d'objet","ra_Edit role":"Modifier le rôle","ra_Edit room":"Modifier la salle","ra_Edit value":"Modifier la valeur","ra_Enter the code from that page here":"Entrez le code de cette page ici",ra_Error:ok,"ra_Expand all nodes":"Développer tous les nœuds","ra_Expand one step node":"Développer un niveau","ra_Export data to %s file":"Exporter les données vers le fichier %s","ra_Failed to open JSON File":"Échec de l'ouverture du fichier JSON","ra_Fallback custom certificates":"Certificats personnalisés de secours","ra_File is too big. Max %sk allowed. Try use SVG.":"Le fichier est trop volumineux. Max %sk autorisé. Essayez d'utiliser SVG.",ra_Filter:rk,"ra_Filter and Data Actions":"Actions sur les filtres et les données","ra_Filter files":"Filtrer les fichiers","ra_Folder name":"Nom de dossier","ra_Folder → Channel → State":"Dossier → Chaîne → État","ra_Folder → Device → Channel → State":"Dossier → Appareil → Canal → État","ra_Folder → State":"Dossier → État","ra_Folders always first":"Les dossiers toujours en premier",ra_Friday:Mk,"ra_Get %s access":"Obtenir l'accès %s","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éé dans le dossier, il disparaîtra après la fermeture du navigateur","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Si le bouton ci-dessus ne fonctionne pas, vous pouvez autoriser manuellement cette application en visitant cette URL","ra_Import data from %s file":"Importer des données à 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éponse invalide du serveur","ra_Invalid parent folder!":"Dossier parent non valide!","ra_Invalid structure":"Structure invalide","ra_JSON editor":"Éditeur JSON","ra_Last change":"Dernier changement",ra_Latitude:nk,"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ée 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 être convertie en une version plus récente. 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 à jour les licences depuis iobroker.net ?","ra_Listen on all IPs":"Écoutez sur toutes les adresses IP","ra_Load configuration from file":"Charger la configuration à partir du fichier",ra_Logout:ak,ra_Longitude:ck,'ra_May not trigger "updateLicenses"':'Peut ne pas déclencher "updateLicences"',ra_Message:uk,ra_Monday:Nk,"ra_Move down":"Descendre","ra_Move up":"Déplacer vers le haut",ra_Name:lk,"ra_No data found in file":"Aucune donnée trouvée dans le fichier","ra_No one license found in license manager":"Aucune licence trouvée dans le gestionnaire de licences","ra_No response from the backend":"Aucune réponse du backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Les non-experts ne peuvent créer de nouveaux objets que dans "0_userdata.0" ou "alias.0".',"ra_Not a number":"Pas un numéro",ra_Objects:Lk,ra_Ok:jk,"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électionné","ra_Owner group":"Groupe propriétaire","ra_Owner user":"Utilisateur propriétaire","ra_Passwords are not equal!":"Les mots de passe ne sont pas égaux !","ra_Place your files here or click here to open the browse dialog":"Placez vos fichiers ici ou cliquez ici pour ouvrir la boîte de dialogue de navigation","ra_Please allow popups in your browser for this page!":"Veuillez autoriser les popups dans votre navigateur pour cette page !","ra_Please confirm":"Veuillez confirmer","ra_Please create license":"Veuillez créer une licence","ra_Please enter the license":"Veuillez entrer la licence","ra_Please select file...":"Veuillez sélectionner le fichier...","ra_Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","ra_Port could be used by %s":"Le port pourrait être utilisé par %s","ra_Port is already used by %s":"Le port est déjà utilisé par %s","ra_Press ENTER Key to add new item":"Appuyez sur la touche ENTRÉE pour ajouter un nouvel élément","ra_Private certificate":"Certificat privé",ra_Product:gk,"ra_Public certificate":"Certificat public","ra_Quality code":"Qualité","ra_Refresh tree":"Rafraîchir l'arborescence","ra_Reload files":"Recharger les fichiers",ra_Rename_Move_Copy:Tk,"ra_Renew %s access":"Renouveler l'accès %s",ra_Repeat:yk,ra_Replace:Dk,"ra_Request timed out":"La demande a expiré","ra_Restrict to folder":"Restreindre au dossier",ra_Root:dk,ra_Saturday:zk,ra_Save:Ik,"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électionner","ra_Select color":"Choisissez la couleur","ra_Select predefined icon":"Sélectionnez l'icône prédéfinie","ra_Select type of export":"Sélectionnez le type d'exportation",ra_Selected:wk,"ra_Selected %s object(s)":"Objet(s) %s sélectionné(s)","ra_Serial number (UUID)":"Numéro de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Le numéro de série (UUID) "%s" dans la licence est pour un autre appareil.',"ra_Session will expire in %s seconds. Continue?":"La session expirera dans %s secondes. Continuer ?","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ée de filtre","ra_Some data are not stored. Discard?":"Certaines données ne sont pas stockées. Jeter?",ra_States:Ck,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorisation réussie. Jeton valide jusqu'au %s et sera automatiquement renouvelé.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorisation réussie. Jeton valide jusqu'à %s, mais il peut expirer car l'instance n'est pas en cours d'exécution.","ra_Suitable license not found in license manager":"Licence appropriée introuvable dans le gestionnaire de licences",ra_Sunday:hk,"ra_Suppress question for next %s minutes":"Supprimer la question pour les %s prochaines minutes","ra_System language":"Langue du système","ra_Take browser position":"Prendre position depuis le navigateur","ra_Take position from system settings":"Prendre position à partir des paramètres système",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Les experts peuvent créer des objets partout mais à partir du deuxième 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 été trouvée","ra_The schedule will be executed every minute. Are you sure?":"Le planning sera exécuté toutes les minutes. Êtes-vous sûr ?","ra_The schedule will be executed every second. Are you sure?":"Le planning sera exécuté toutes les secondes. Êtes-vous sûr ?",ra_Thursday:Ak,ra_Timestamp:pk,"ra_Toggle expert mode":"Basculer en mode expert","ra_Toggle the states view":"Basculer la vue des états","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:mk,"ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:Ok,"ra_Upload file":"Téléverser 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ètres système pour la position","ra_Used system settings":"Paramètres système utilisés","ra_User files":"Fichiers utilisateurs",ra_ValidTill:Ek,ra_Value:_k,ra_Version:Sk,"ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:xk,ra_Width:fk,ra_Yes:kk,"ra_You can export all objects or just the selected branch.":"Vous pouvez exporter tous les objets ou uniquement la branche sélectionnée.","ra_You can filter entries by entering here some text":"Vous pouvez filtrer les entrées en saisissant ici du texte",ra___different__:Yk,ra_aclEveryone_read_object:Qk,ra_aclEveryone_read_state:Uk,ra_aclEveryone_write_object:vk,ra_aclEveryone_write_state:bk,ra_aclGroup_read_object:$k,ra_aclGroup_read_state:Pk,ra_aclGroup_write_object:Wk,ra_aclGroup_write_state:Rk,ra_aclOwner_read_object:Jk,ra_aclOwner_read_state:Bk,ra_aclOwner_write_object:Fk,ra_aclOwner_write_state:Gk,ra_buttons:Hk,ra_changedFrom:Vk,ra_close:Zk,ra_create_boolean_state:Xk,ra_create_channel:Kk,ra_create_device:qk,ra_create_number_state:eY,ra_create_state:tY,ra_create_string_state:sY,ra_daysShortText:iY,ra_dow_Fr:oY,ra_dow_Mo:rY,ra_dow_Sa:MY,ra_dow_Su:nY,ra_dow_Th:aY,ra_dow_Tu:cY,ra_dow_We:uY,ra_expertMode:NY,ra_false:lY,ra_fileType_all:LY,ra_fileType_audio:jY,ra_fileType_code:gY,ra_fileType_images:TY,ra_fileType_txt:yY,ra_fileType_video:DY,"ra_fileType_video,":"Vidéo",ra_filter_customs:dY,ra_filter_customs_without:zY,ra_filter_func:IY,ra_filter_id:wY,ra_filter_name:CY,ra_filter_role:hY,ra_filter_room:AY,ra_filter_type:pY,"ra_import data from %s file":"Importer des données à partir du fichier %s",ra_invalidConfig:mY,ra_lastChange:OY,ra_locally:EY,ra_month_Apr:_Y,ra_month_Aug:SY,ra_month_Dec:xY,ra_month_Feb:fY,ra_month_Jan:kY,ra_month_Jul:YY,ra_month_Jun:QY,ra_month_Mai:UY,ra_month_Mar:vY,ra_month_Nov:bY,ra_month_Oct:$Y,ra_month_Sep:PY,ra_months_Apr:WY,ra_months_Aug:RY,ra_months_Dec:JY,ra_months_Feb:BY,ra_months_Jan:FY,ra_months_Jul:GY,ra_months_Jun:HY,ra_months_Mai:VY,ra_months_Mar:ZY,ra_months_Nov:XY,ra_months_Oct:KY,ra_months_Sep:qY,"ra_no confirm for 5 mins":"pas de confirmation pendant 5 minutes",ra_none:eQ,ra_object_changed_by:tQ,ra_object_changed_by_user:sQ,ra_otherConfig:iQ,ra_qualityCode:oQ,ra_repeat:rQ,ra_select_folder_hint:MQ,ra_show_all:nQ,ra_state_changed_by:aQ,ra_state_changed_from:cQ,ra_timestamp:uQ,ra_tooltip_ack:NQ,ra_tooltip_comment:lQ,ra_tooltip_copyState:LQ,ra_tooltip_ctrlForLink:jQ,ra_tooltip_customConfig:gQ,ra_tooltip_deleteObject:TQ,ra_tooltip_editObject:yQ,ra_tooltip_editState:DQ,ra_tooltip_expire:dQ,ra_tooltip_from:zQ,ra_tooltip_lc:IQ,ra_tooltip_quality:wQ,ra_tooltip_ts:CQ,ra_tooltip_user:hQ,ra_tooltip_value:AQ,ra_true:pQ,"ra_use seconds":"utiliser les secondes",ra_val:mQ,"ra_via internet":"par Internet",ra_warning_every_minute:OQ,ra_warning_every_second:EQ,sc_cron:_Q,sc_date:SQ,sc_dates:xQ,sc_dow:fQ,sc_dows:kQ,sc_every:YQ,sc_everyN_dates:QQ,sc_everyN_dow:UQ,sc_everyN_dows:vQ,sc_everyN_hours:bQ,sc_everyN_minutes:$Q,sc_everyN_months:PQ,sc_everyN_seconds:WQ,sc_every_dates:RQ,sc_every_dow:JQ,sc_every_dows:BQ,sc_every_hours:FQ,sc_every_minutes:GQ,sc_every_months:HQ,sc_every_seconds:VQ,sc_from:ZQ,sc_hours:XQ,sc_interval:KQ,sc_intervalBetween:qQ,sc_invalid_cron:eU,sc_minutes:tU,sc_months:sU,sc_once:iU,sc_period:oU,sc_seconds:rU,sc_simple:MU,sc_specific:nU,sc_specific_dates:aU,sc_specific_dow:cU,sc_specific_dows:uU,sc_specific_hours:NU,sc_specific_minutes:lU,sc_specific_months:LU,sc_specific_seconds:jU,sc_time:gU,sc_to:TU,sc_wizard:yU,sch_all:DU,sch_astroDay:dU,sch_astroNight:zU,sch_astro_dawn:IU,sch_astro_dusk:wU,sch_astro_goldenHour:CU,sch_astro_goldenHourEnd:hU,sch_astro_nadir:AU,sch_astro_nauticalDawn:pU,sch_astro_nauticalDusk:mU,sch_astro_night:OU,sch_astro_nightEnd:EU,sch_astro_solarNoon:_U,sch_astro_sunrise:SU,sch_astro_sunriseEnd:xU,sch_astro_sunset:fU,sch_astro_sunsetStart:kU,sch_at:YU,sch_desc_atTime:QU,sch_desc_everyDay:UU,sch_desc_everyHour:vU,sch_desc_everyMinute:bU,sch_desc_everyMonth:$U,sch_desc_everyNDay:PU,sch_desc_everyNHours:WU,sch_desc_everyNMinutes:RU,sch_desc_everyNMonths:JU,sch_desc_everyNWeeks:BU,sch_desc_everyNYears:FU,sch_desc_everyWeek:GU,sch_desc_everyYear:HU,sch_desc_intervalFromTo:VU,sch_desc_never:ZU,sch_desc_onDate:XU,sch_desc_onDates:KU,sch_desc_onEveryDate:qU,sch_desc_onMonth:ev,sch_desc_onMonths:tv,sch_desc_onWeekday:sv,sch_desc_onWeekdays:iv,sch_desc_onWeekends:ov,sch_desc_onWorkdays:rv,sch_desc_onceInPast:Mv,sch_desc_once_on:nv,sch_desc_validFrom:av,sch_desc_validFromTo:cv,sch_desc_validTo:uv,sch_every:Nv,sch_exactTime:lv,sch_from:Lv,sch_fromTo:jv,sch_intervalTime:gv,sch_invert:Tv,sch_no_one:yv,sch_on:Dv,sch_period:dv,sch_periodDaily:zv,sch_periodDates:Iv,sch_periodDay:wv,sch_periodEvery:Cv,sch_periodEveryDay:hv,sch_periodEveryMonth:Av,sch_periodEveryWeek:pv,sch_periodEveryYear:mv,sch_periodHours:Ov,sch_periodMinutes:Ev,sch_periodMonth:_v,sch_periodMonthly:Sv,sch_periodOnce:xv,sch_periodSpecificMonths:fv,sch_periodWeek:kv,sch_periodWeekdays:Yv,sch_periodWeekend:Qv,sch_periodWeekly:Uv,sch_periodWorkdays:vv,sch_periodYear:bv,sch_periodYearly:$v,sch_specificTime:Pv,sch_time:Wv,sch_to:Rv,sch_valid:Jv,sch_validFrom:Bv,sch_validTo:Fv,sch_wholeDay:Gv,sch_yearEveryMonth:Hv},Zv="Azioni",Xv="Aggiungere",Kv="Annulla",qv="Categorie",eb="Controllato",tb="Elimina",sb="Vicino",ib="Commerciale",ob="Configura",rb="Collegato",Mb="Continuare",nb="Copiato",ab="Creare",cb="Raccolto",ub="Delete",Nb="Elimina",lb="Scartare",Lb="Disconnesso",jb="Errore",gb="Filtro",Tb="Venerdì",yb="Latitudine",Db="Esci",db="Longitudine",zb="Messaggio",Ib="Lunedi",wb="Nome",Cb="Oggetti",hb="Ok",Ab="Prodotto",pb="Rinomina/Sposta/Copia",mb="Ripetere",Ob="Sostituire",Eb="Radice",_b="Sabato",Sb="Salva",xb="Selezionato",fb="stati",kb="Domenica",Yb="Giovedì",Qb="Timestamp",Ub="Martedì",vb="Aggiornare",bb="Valido fino a",$b="Valore",Pb="Versione",Wb="Mercoledì",Rb="Larghezza",Jb="SÌ",Bb="diverso",Fb="Tutti possono leggere gli oggetti",Gb="Tutti possono leggere lo stato",Hb="Tutti possono scrivere oggetti",Vb="Tutti possono scrivere stato",Zb="Il gruppo può leggere l'oggetto",Xb="Il gruppo può leggere lo stato",Kb="Il gruppo può scrivere l'oggetto",qb="Il gruppo può scrivere lo stato",e8="Il proprietario può leggere l'oggetto",t8="Il proprietario può leggere lo stato",s8="Il proprietario può scrivere l'oggetto",i8="Il proprietario può scrivere lo stato",o8="Bottoni",r8="Cambiato da",M8="vicino",n8="Crea uno stato booleano",a8="Crea canale",c8="Crea dispositivo",u8="Crea lo stato del numero",N8="Crea stato",l8="Crea lo stato della stringa",L8="g.",j8="fr",g8="momento",T8="Sa",y8="su",D8="th",d8="Tu",z8="Noi",I8="Modalità esperto",w8="FALSO",C8="Tutti i files",h8="Audio",A8="Codice/JSON",p8="immagini",m8="Testo",O8="video",E8="impostazioni",_8="senza",S8="Funzione",x8="ID",f8="Nome",k8="Ruolo",Y8="Camera",Q8="genere",U8="Impostazioni non valide",v8="Ultima modifica",b8="localmente",$8="apr",P8="agosto",W8="Dic",R8="febbraio",J8="gen",B8="lug",F8="giu",G8="Mai",H8="marzo",V8="nov",Z8="ottobre",X8="Sett",K8="apr",q8="agosto",e6="Dic",t6="febbraio",s6="gen",i6="lug",o6="giu",r6="Mai",M6="marzo",n6="nov",a6="ottobre",c6="Sett",u6="nessuna",N6="Oggetto modificato da",l6="L'oggetto è stato modificato l'ultima volta alle",L6="Impostazioni dall'altro adattatore %s",j6="Codice di qualità",g6="ripetere",T6='Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',y6="Mostra tutto",D6="Stato cambiato da",d6="Oggetto cambiato da",z6="Timestamp",I6="Bandiera riconosciuta",w6="Commento",C6="Copia il valore dello stato",h6="Tieni premuto il tasto Cltr/⌘ per aprire il collegamento",A6="Impostazioni personalizzate",p6="Elimina oggetto",m6="Modifica oggetto",O6="Modifica il valore dello stato",E6="Scade tra",_6="A partire dal",S6="Ultima modifica",x6="Qualità",f6="Data e ora",k6="Utente",Y6="Valore",Q6="VERO",U6="Valore",v6="Attenzione: il processo CRON verrà eseguito ogni minuto durante il periodo specificato!",b6="Attenzione: il processo CRON verrà eseguito ogni secondo durante il periodo specificato!",$6="CRON",P6="Data",W6="Date",R6="Giorno",J6="Giorno della settimana",B6="Ogni",F6="ogni N giorni",G6="ogni Nesimo giorno della settimana",H6="ogni N giorno della settimana",V6="ogni N ore",Z6="ogni N minuti",X6="ogni N mesi",K6="ogni N secondi",q6="ogni giorno",e9="Tutti i giorni della settimana",t9="Tutti i giorni della settimana",s9="ogni ora",i9="ogni minuto",o9="ogni mese",r9="ogni secondo",M9="A partire dal",n9="Ore",a9="Intervallo",c9="Intervallo tra",u9="CRON non valido",N9="Minuti",l9="mesi",L9="Una volta",j9="Periodo",g9="secondi",T9="Semplice",y9="Orario preciso",D9="date specifiche",d9="giorno/i specifico/i della settimana",z9="giorno specifico delle settimane",I9="orari specifici",w9="minuti specifici",C9="mesi specifici",h9="secondi specifici",A9="Tempo",p9="Per",m9="procedura guidata",O9="tutti",E9="Astro day",_9="Astro night",S9="Alba",x9="Crepuscolo",f9="Ora d'oro",k9="Fine dell'ora d'oro",Y9="Nadir",Q9="Alba nautica",U9="Crepuscolo nautico",v9="Notte",b9="Fine della notte",$9="Mezzogiorno solare",P9="Alba",W9="Fine dell'alba",R9="Tramonto",J9="Inizio del tramonto",B9="a",F9="a %s",G9="ogni giorno",H9="ogni ora",V9="ogni minuto",Z9="ogni mese",X9="ogni %s giorno",K9="ogni %s ore",q9="ogni %s minuti",e7="ogni %s mesi",t7="ogni %s settimane",s7="ogni %s anni",i7="ogni settimana",o7="ogni anno",r7="da %s a %s",M7="mai",n7="su %s di %s",a7="su %s e %s di",c7="in ogni data di",u7="%s",N7="%s e %s",l7="su %s",L7="su %s e %s",j7="nei finesettimana",g7="nei giorni lavorativi",T7="non verrà più eseguito, perché start è nel passato",y7="su %s",D7="da %s",d7="Eseguire da a",z7="a %s",I7="ogni",w7="Orario preciso",C7="a partire dal",h7="Da A",A7="Intervallo di tempo",p7="invertire",m7="nessuna",O7="sopra",E7="Periodo",_7="Quotidiano",S7="Date",x7="Giorno",f7="Ogni",k7="Ogni giorno",Y7="Ogni mese",Q7="Ogni settimana",U7="Ogni anno",v7="Ore",b7="Minuti",$7="mese",P7="Mensile",W7="Una volta",R7="Mesi specifici",J7="Settimana",B7="Giorni della settimana",F7="Fine settimana",G7="settimanalmente",H7="giorni feriali",V7="Anno",Z7="Annuale",X7="Orario preciso",K7="Tempo",q7="per",e$="Valido",t$="a partire dal",s$="per",i$="Giorno intero",o$="ogni mese",r$={"ra_%s links from aliases":"%s link da alias","ra_%s object(s) processed":"%s oggetti elaborati","ra_%s was imported":"%s è stato importato","ra_Accept license":"Accetta licenza",ra_Actions:Zv,"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:Xv,"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:Kv,"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 è 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é l'istanza è offline","ra_Cannot update attribute, because not found in the object":"Impossibile aggiornare l'attributo, perché non trovato nell'oggetto","ra_Cannot upload":"Impossibile caricare",ra_Categories:qv,"ra_Chained certificate":"Certificato incatenato","ra_Change color theme":"Cambia tema colore","ra_Changed from":"Cambiato da","ra_Channel → State":"Canale → Stato","ra_Check license":"Controlla la licenza",ra_Checked:eb,ra_Clear:tb,"ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Clone current row":"Clona riga corrente",ra_Close:sb,"ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:ib,ra_Configure:ob,"ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:rb,ra_Continue:Mb,ra_Copied:nb,"ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:ab,"ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:cb,"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:ub,ra_Delete:Nb,"ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device → Channel → State":"Dispositivo → Canale → Stato",ra_Discard:lb,ra_Disconnected:Lb,"ra_Do not ask for next 2 hours in this session":"Non chiedere per le prossime 2 ore in questa sessione","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 full path":"Modifica percorso completo","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_Enter the code from that page here":"Inserisci qui il codice da quella pagina",ra_Error:jb,"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 è troppo grande. Max %sk consentito. Prova a usare SVG.",ra_Filter:gb,"ra_Filter and Data Actions":"Azioni sui filtri e sui dati","ra_Filter files":"Filtra i file","ra_Folder name":"Nome della cartella","ra_Folder → Channel → State":"Cartella → Canale → Stato","ra_Folder → Device → Channel → State":"Cartella → Dispositivo → Canale → Stato","ra_Folder → State":"Cartella → Stato","ra_Folders always first":"Le cartelle sono sempre al primo posto",ra_Friday:Tb,"ra_Get %s access":"Ottieni l'accesso %s","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à creato nella cartella, scomparirà dopo la chiusura del browser","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Se il pulsante sopra non funziona, puoi autorizzare manualmente questa app visitando questo URL","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 è vivo","ra_Instance %s is not alive":"Il TESTO dell'istanza non è vivo","ra_Instance is not alive":"L'istanza non è 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:yb,"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 è per la versione %s, ma la versione richiesta è %s.","ra_License must be converted":"La licenza deve essere convertita in una versione più 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_Logout:Db,ra_Longitude:db,'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:zb,ra_Monday:Ib,"ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:wb,"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:Cb,ra_Ok:hb,"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 allow popups in your browser for this page!":"Si prega di abilitare i popup nel browser per questa pagina!","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 è già utilizzata da %s","ra_Press ENTER Key to add new item":"Premere il tasto INVIO per aggiungere un nuovo elemento","ra_Private certificate":"Certificato privato",ra_Product:Ab,"ra_Public certificate":"Certificato pubblico","ra_Quality code":"Qualità","ra_Refresh tree":"Aggiorna l'albero","ra_Reload files":"Ricarica i file",ra_Rename_Move_Copy:pb,"ra_Renew %s access":"Rinnova l'accesso %s",ra_Repeat:mb,ra_Replace:Ob,"ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:Eb,ra_Saturday:_b,ra_Save:Sb,"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:xb,"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 è per un altro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"La sessione scadrà tra %s secondi. Continuare?","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:fb,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizzazione completata. Il token è valido fino al %s e verrà rinnovato automaticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizzazione completata. Il token è valido fino al %s, ma potrebbe scadere perché l'istanza non è in esecuzione.","ra_Suitable license not found in license manager":"Licenza adatta non trovata nel gestore delle licenze",ra_Sunday:kb,"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 è stata trovata","ra_The schedule will be executed every minute. Are you sure?":"La pianificazione verrà eseguita ogni minuto. Sei sicuro?","ra_The schedule will be executed every second. Are you sure?":"La pianificazione verrà eseguita ogni secondo. Sei sicuro?",ra_Thursday:Yb,ra_Timestamp:Qb,"ra_Toggle expert mode":"Attiva / disattiva la modalità esperto","ra_Toggle the states view":"Attiva o disattiva la visualizzazione degli stati","ra_Toggle view mode":"Attiva / disattiva la modalità di visualizzazione","ra_Too big":"Troppo grande","ra_Too small":"Troppo piccolo","ra_Transparent dialog":"Finestra di dialogo trasparente",ra_Tuesday:Ub,"ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:vb,"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:bb,ra_Value:$b,ra_Version:Pb,"ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:Wb,ra_Width:Rb,ra_Yes:Jb,"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__:Bb,ra_aclEveryone_read_object:Fb,ra_aclEveryone_read_state:Gb,ra_aclEveryone_write_object:Hb,ra_aclEveryone_write_state:Vb,ra_aclGroup_read_object:Zb,ra_aclGroup_read_state:Xb,ra_aclGroup_write_object:Kb,ra_aclGroup_write_state:qb,ra_aclOwner_read_object:e8,ra_aclOwner_read_state:t8,ra_aclOwner_write_object:s8,ra_aclOwner_write_state:i8,ra_buttons:o8,ra_changedFrom:r8,ra_close:M8,ra_create_boolean_state:n8,ra_create_channel:a8,ra_create_device:c8,ra_create_number_state:u8,ra_create_state:N8,ra_create_string_state:l8,ra_daysShortText:L8,ra_dow_Fr:j8,ra_dow_Mo:g8,ra_dow_Sa:T8,ra_dow_Su:y8,ra_dow_Th:D8,ra_dow_Tu:d8,ra_dow_We:z8,ra_expertMode:I8,ra_false:w8,ra_fileType_all:C8,ra_fileType_audio:h8,ra_fileType_code:A8,ra_fileType_images:p8,ra_fileType_txt:m8,ra_fileType_video:O8,"ra_fileType_video,":"video",ra_filter_customs:E8,ra_filter_customs_without:_8,ra_filter_func:S8,ra_filter_id:x8,ra_filter_name:f8,ra_filter_role:k8,ra_filter_room:Y8,ra_filter_type:Q8,"ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:U8,ra_lastChange:v8,ra_locally:b8,ra_month_Apr:$8,ra_month_Aug:P8,ra_month_Dec:W8,ra_month_Feb:R8,ra_month_Jan:J8,ra_month_Jul:B8,ra_month_Jun:F8,ra_month_Mai:G8,ra_month_Mar:H8,ra_month_Nov:V8,ra_month_Oct:Z8,ra_month_Sep:X8,ra_months_Apr:K8,ra_months_Aug:q8,ra_months_Dec:e6,ra_months_Feb:t6,ra_months_Jan:s6,ra_months_Jul:i6,ra_months_Jun:o6,ra_months_Mai:r6,ra_months_Mar:M6,ra_months_Nov:n6,ra_months_Oct:a6,ra_months_Sep:c6,"ra_no confirm for 5 mins":"nessuna conferma per 5 minuti",ra_none:u6,ra_object_changed_by:N6,ra_object_changed_by_user:l6,ra_otherConfig:L6,ra_qualityCode:j6,ra_repeat:g6,ra_select_folder_hint:T6,ra_show_all:y6,ra_state_changed_by:D6,ra_state_changed_from:d6,ra_timestamp:z6,ra_tooltip_ack:I6,ra_tooltip_comment:w6,ra_tooltip_copyState:C6,ra_tooltip_ctrlForLink:h6,ra_tooltip_customConfig:A6,ra_tooltip_deleteObject:p6,ra_tooltip_editObject:m6,ra_tooltip_editState:O6,ra_tooltip_expire:E6,ra_tooltip_from:_6,ra_tooltip_lc:S6,ra_tooltip_quality:x6,ra_tooltip_ts:f6,ra_tooltip_user:k6,ra_tooltip_value:Y6,ra_true:Q6,"ra_use seconds":"usa i secondi",ra_val:U6,"ra_via internet":"attraverso internet",ra_warning_every_minute:v6,ra_warning_every_second:b6,sc_cron:$6,sc_date:P6,sc_dates:W6,sc_dow:R6,sc_dows:J6,sc_every:B6,sc_everyN_dates:F6,sc_everyN_dow:G6,sc_everyN_dows:H6,sc_everyN_hours:V6,sc_everyN_minutes:Z6,sc_everyN_months:X6,sc_everyN_seconds:K6,sc_every_dates:q6,sc_every_dow:e9,sc_every_dows:t9,sc_every_hours:s9,sc_every_minutes:i9,sc_every_months:o9,sc_every_seconds:r9,sc_from:M9,sc_hours:n9,sc_interval:a9,sc_intervalBetween:c9,sc_invalid_cron:u9,sc_minutes:N9,sc_months:l9,sc_once:L9,sc_period:j9,sc_seconds:g9,sc_simple:T9,sc_specific:y9,sc_specific_dates:D9,sc_specific_dow:d9,sc_specific_dows:z9,sc_specific_hours:I9,sc_specific_minutes:w9,sc_specific_months:C9,sc_specific_seconds:h9,sc_time:A9,sc_to:p9,sc_wizard:m9,sch_all:O9,sch_astroDay:E9,sch_astroNight:_9,sch_astro_dawn:S9,sch_astro_dusk:x9,sch_astro_goldenHour:f9,sch_astro_goldenHourEnd:k9,sch_astro_nadir:Y9,sch_astro_nauticalDawn:Q9,sch_astro_nauticalDusk:U9,sch_astro_night:v9,sch_astro_nightEnd:b9,sch_astro_solarNoon:$9,sch_astro_sunrise:P9,sch_astro_sunriseEnd:W9,sch_astro_sunset:R9,sch_astro_sunsetStart:J9,sch_at:B9,sch_desc_atTime:F9,sch_desc_everyDay:G9,sch_desc_everyHour:H9,sch_desc_everyMinute:V9,sch_desc_everyMonth:Z9,sch_desc_everyNDay:X9,sch_desc_everyNHours:K9,sch_desc_everyNMinutes:q9,sch_desc_everyNMonths:e7,sch_desc_everyNWeeks:t7,sch_desc_everyNYears:s7,sch_desc_everyWeek:i7,sch_desc_everyYear:o7,sch_desc_intervalFromTo:r7,sch_desc_never:M7,sch_desc_onDate:n7,sch_desc_onDates:a7,sch_desc_onEveryDate:c7,sch_desc_onMonth:u7,sch_desc_onMonths:N7,sch_desc_onWeekday:l7,sch_desc_onWeekdays:L7,sch_desc_onWeekends:j7,sch_desc_onWorkdays:g7,sch_desc_onceInPast:T7,sch_desc_once_on:y7,sch_desc_validFrom:D7,sch_desc_validFromTo:d7,sch_desc_validTo:z7,sch_every:I7,sch_exactTime:w7,sch_from:C7,sch_fromTo:h7,sch_intervalTime:A7,sch_invert:p7,sch_no_one:m7,sch_on:O7,sch_period:E7,sch_periodDaily:_7,sch_periodDates:S7,sch_periodDay:x7,sch_periodEvery:f7,sch_periodEveryDay:k7,sch_periodEveryMonth:Y7,sch_periodEveryWeek:Q7,sch_periodEveryYear:U7,sch_periodHours:v7,sch_periodMinutes:b7,sch_periodMonth:$7,sch_periodMonthly:P7,sch_periodOnce:W7,sch_periodSpecificMonths:R7,sch_periodWeek:J7,sch_periodWeekdays:B7,sch_periodWeekend:F7,sch_periodWeekly:G7,sch_periodWorkdays:H7,sch_periodYear:V7,sch_periodYearly:Z7,sch_specificTime:X7,sch_time:K7,sch_to:q7,sch_valid:e$,sch_validFrom:t$,sch_validTo:s$,sch_wholeDay:i$,sch_yearEveryMonth:o$},M$="Comportamiento",n$="Adjuntar",a$="Cancelar",c$="Categorías",u$="Comprobado",N$="Borrar",l$="Cerca",L$="Comercial",j$="Configurar",g$="Conectado",T$="Continuar",y$="Copiado",D$="Crear",d$="Cultivo",z$="Delete",I$="Eliminar",w$="Desechar",C$="Desconectado",h$="Error",A$="Filtrar",p$="Viernes",m$="Latitud",O$="Cerrar sesión",E$="Longitud",_$="Mensaje",S$="Lunes",x$="Nombre",f$="Objetos",k$="Okay",Y$="Producto",Q$="Cambiar nombre/Mover/Copiar",U$="Repetir",v$="Reemplazar",b$="Raíz",$$="Sábado",P$="Salvar",W$="Seleccionado",R$="Estados",J$="Domingo",B$="Jueves",F$="Marca de tiempo",G$="Martes",H$="Actualizar",V$="Válida hasta",Z$="Valor",X$="Versión",K$="Miércoles",q$="Anchura",eP="Sí",tP="diferente",sP="Todo el mundo puede leer el objeto",iP="Todos pueden leer el estado",oP="Todos pueden escribir objetos",rP="Todos pueden escribir el estado",MP="El grupo puede leer el objeto",nP="El grupo puede leer el estado",aP="El grupo puede escribir un objeto",cP="El grupo puede escribir el estado",uP="El propietario puede leer el objeto",NP="El propietario puede leer el estado",lP="El propietario puede escribir el objeto",LP="El propietario puede escribir el estado",jP="Botones",gP="Cambiaron desde",TP="cerrar",yP="Crear estado booleano",DP="Crear canal",dP="Crear dispositivo",zP="Crear estado numérico",IP="Crear estado",wP="Crear estado de cadena",CP="d.",hP="Fr",AP="Mes",pP="Sa",mP="Su",OP="Th",EP="Tu",_P="Nosotros",SP="Modo experto",xP="FALSO",fP="Todos los archivos",kP="Audio",YP="Código/JSON",QP="Imágenes",UP="Texto",vP="Video",bP="Configuraciones",$P="sin",PP="Función",WP="ID",RP="Nombre",JP="Papel",BP="Habitación",FP="Tipo",GP="Configuraciones inválidas",HP="Ultimo cambio",VP="en la zona",ZP="Abr",XP="Ago",KP="Dic",qP="Feb",eW="Ene",tW="Jul",sW="Jun",iW="Mai",oW="Mar",rW="Nov",MW="Oct",nW="Sep",aW="Abr",cW="Ago",uW="Dic",NW="Feb",lW="Ene",LW="Jul",jW="Jun",gW="Mai",TW="Mar",yW="Nov",DW="Oct",dW="Sep",zW="ninguno",IW="Objeto cambiado por",wW="Objeto cambiado por última vez a las",CW="Configuraciones de otro adaptador %s",hW="Código de calidad",AW="repetir",pW='Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',mW="Mostrar todo",OW="Estado cambiado por",EW="Objeto cambiado de",_W="Marca de tiempo",SW="Bandera reconocida",xW="Comentario",fW="Copie el valor del estado",kW="Mantenga presionada la tecla Cltr/⌘ para abrir el enlace",YW="Ajustes personalizados",QW="Eliminar objeto",UW="Editar objeto",vW="Edite el valor del estado",bW="Caduca en",$W="Desde",PW="Último cambio",WW="Calidad",RW="Sello de tiempo",JW="Usuario",BW="Valor",FW="VERDADERO",GW="Valor",HW="Advertencia: ¡El trabajo CRON se ejecutará cada minuto durante el período especificado!",VW="Advertencia: ¡El trabajo CRON se ejecutará cada segundo durante el período especificado!",ZW="CRON",XW="Fecha",KW="fechas",qW="Día",eR="Día de la semana",tR="Cada",sR="cada N días",iR="cada enésimo día de la semana",oR="cada N día de la semana",rR="cada N horas",MR="cada N minutos",nR="cada N meses",aR="cada N segundos",cR="cada día",uR="Cada día de la semana",NR="Cada día de la semana",lR="cada hora",LR="cada minuto",jR="cada mes",gR="cada segundo",TR="De",yR="Horas",DR="Intervalo",dR="Intervalo entre",zR="CRON no válido",IR="Minutos",wR="meses",CR="Una vez",hR="Período",AR="Segundos",pR="Sencillo",mR="Tiempo específico",OR="fechas especificas",ER="día(s) específico(s) de la semana",_R="día específico de semanas",SR="horas específicas",xR="minutos específicos",fR="meses específicos",kR="segundos específicos",YR="Hora",QR="A",UR="Mago",vR="todas",bR="Día astro",$R="Noche astro",PR="Amanecer",WR="Oscuridad",RR="hora dorada",JR="Fin de la hora dorada",BR="Nadir",FR="Amanecer náutico",GR="Anochecer náutico",HR="Noche",VR="Fin de la noche",ZR="Mediodía solar",XR="amanecer",KR="Fin del amanecer",qR="Puesta de sol",eJ="Puesta de sol",tJ="a",sJ="en %s",iJ="cada día",oJ="cada hora",rJ="cada minuto",MJ="cada mes",nJ="cada %s días",aJ="cada %s horas",cJ="cada %s minutos",uJ="cada %s meses",NJ="cada %s semanas",lJ="cada %s años",LJ="cada semana",jJ="todos los años",gJ="de %s a %s",TJ="Nunca",yJ="en %s de %s",DJ="en %s y %s de",dJ="en cada fecha de",zJ="%s",IJ="%s y %s",wJ="en %s",CJ="en %s y %s",hJ="en los fines de semana",AJ="en días laborables",pJ="ya no se ejecutará más, porque el inicio está en el pasado",mJ="en %s",OJ="de %s",EJ="Ejecutar desde hasta",_J="a %s",SJ="cada",xJ="Tiempo específico",fJ="de",kJ="De-a",YJ="Tiempo de intervalo",QJ="invertir; poner boca abajo o en la posición opuesta, orden o arreglo; Boca abajo",UJ="ninguna",vJ="en",bJ="Período",$J="Diario",PJ="fechas",WJ="Día",RJ="Cada",JJ="Cada día",BJ="Cada mes",FJ="Cada semana",GJ="Todos los años",HJ="Horas",VJ="Minutos",ZJ="mes",XJ="Mensual",KJ="Una vez",qJ="Meses específicos",eB="Semana",tB="Días laborables",sB="Fin de semana",iB="Semanal",oB="Días laborables",rB="Año",MB="Anual",nB="Tiempo específico",aB="Hora",cB="a",uB="Válido",NB="de",lB="a",LB="Todo el dia",jB="cada mes",gB={"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_Actions:M$,"ra_Add new child object to selected parent":"Agregar nuevo objeto hijo al padre seleccionado","ra_Add objects tree from JSON file":"Agregar árbol de objetos desde el archivo JSON","ra_Add row":"Añadir 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:n$,"ra_Append %s entries or replace existing?":"¿Agregar %s entradas o reemplazar las existentes?","ra_Append or replace?":"¿Agregar o reemplazar?","ra_Are you sure?":"¿Estás seguro?","ra_Auto (no custom columns)":"Automático (sin columnas personalizadas)","ra_Back to %s":"Volver a %s","ra_Background image":"Imagen de fondo",ra_Cancel:a$,"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ón: la configuración del sistema está vacía y la detección de GPS está 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á fuera de línea","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:c$,"ra_Chained certificate":"certificado encadenado","ra_Change color theme":"Cambiar tema de color","ra_Changed from":"Cambiaron desde","ra_Channel → State":"Canal → Estado","ra_Check license":"Verificar licencia",ra_Checked:u$,ra_Clear:N$,"ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Clone current row":"Clonar fila actual",ra_Close:l$,"ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:L$,ra_Configure:j$,"ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminación de %s",ra_Connected:g$,ra_Continue:T$,ra_Copied:y$,"ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:D$,"ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:d$,"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:z$,ra_Delete:I$,"ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device → Channel → State":"Dispositivo → Canal → Estado",ra_Discard:w$,ra_Disconnected:C$,"ra_Do not ask for next 2 hours in this session":"No preguntes por las siguientes 2 horas en esta sesión.","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ño de la tabla","ra_Drag 'n' drop some files here, or click to select files":"Arrastre y suelte algunos archivos aquí, o haga clic para seleccionar archivos","ra_Drop file here":"Suelta el archivo aquí","ra_Drop the files here...":"Suelta el archivo aquí ...","ra_Duplicate name":"Nombre duplicado","ra_Edit ACL":"Editar LCA","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuración personalizada","ra_Edit full path":"Editar ruta completa","ra_Edit function":"Función de edición","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar rol","ra_Edit room":"Cuarto de edición","ra_Edit value":"Editar valor","ra_Enter the code from that page here":"Introduzca el código de esa página aquí",ra_Error:h$,"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áximo de %sk permitido. Intenta usar SVG.",ra_Filter:A$,"ra_Filter and Data Actions":"Acciones de filtrado y datos","ra_Filter files":"Filtrar archivos","ra_Folder name":"Nombre de la carpeta","ra_Folder → Channel → State":"Carpeta → Canal → Estado","ra_Folder → Device → Channel → State":"Carpeta → Dispositivo → Canal → Estado","ra_Folder → State":"Carpeta → Estado","ra_Folders always first":"Carpetas siempre primero",ra_Friday:p$,"ra_Get %s access":"Obtener %s acceso","ra_Good luck":"Buena suerte","ra_Hide empty folders":"Ocultar carpetas vacías","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si no se creará ningún archivo en la carpeta, desaparecerá después de que se cierre el navegador.","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Si el botón de arriba no funciona, puedes autorizar manualmente esta aplicación visitando esta URL","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á vivo","ra_Instance %s is not alive":"Instancia %s no está vivo","ra_Instance is not alive":"La instancia no está viva","ra_Invalid CRON":"CRON no válido","ra_Invalid JSON":"JSON no válido","ra_Invalid answer from server":"Respuesta inválida del servidor","ra_Invalid parent folder!":"Carpeta principal no válida.","ra_Invalid structure":"Estructura inválida","ra_JSON editor":"editor JSON","ra_Last change":"Ultimo cambio",ra_Latitude:m$,"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ó 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ón %s, pero la versión requerida es %s.","ra_License must be converted":"La licencia debe convertirse a una versión más 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. ¿Quieres actualizar las licencias de iobroker.net?","ra_Listen on all IPs":"Escuche en todas las IP","ra_Load configuration from file":"Cargar configuración desde archivo",ra_Logout:O$,ra_Longitude:E$,'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:_$,ra_Monday:S$,"ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:x$,"ra_No data found in file":"No se encontraron datos en el archivo","ra_No one license found in license manager":"No se encontró 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úmero",ra_Objects:f$,ra_Ok:k$,"ra_On weekdays":"De lunes a viernes","ra_Only following structures of objects are available:":"Solo están 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!":"¡Las contraseñas no son iguales!","ra_Place your files here or click here to open the browse dialog":"Coloque sus archivos aquí o haga clic aquí para abrir el cuadro de diálogo de exploración","ra_Please allow popups in your browser for this page!":"¡Permita ventanas emergentes en su navegador para esta página!","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ía ser utilizado por %s","ra_Port is already used by %s":"El puerto ya está en uso por %s","ra_Press ENTER Key to add new item":"Presione la tecla ENTER para agregar un nuevo elemento","ra_Private certificate":"certificado privado",ra_Product:Y$,"ra_Public certificate":"Certificado público","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar árbol","ra_Reload files":"Recargar archivos",ra_Rename_Move_Copy:Q$,"ra_Renew %s access":"Renovar el acceso a %s",ra_Repeat:U$,ra_Replace:v$,"ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:b$,ra_Saturday:$$,ra_Save:P$,"ra_Save and close":"Guardar y cerrar","ra_Save configuration to file":"Guardar configuración en archivo","ra_Save objects tree as JSON file":"Guardar el árbol 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ón",ra_Selected:W$,"ra_Selected %s object(s)":"%s objetos seleccionados","ra_Serial number (UUID)":"Número de serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'El número de serie (UUID) "%s" en la licencia es para otro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"La sesión expirará en %s segundos. ¿Continuar?","ra_Show all folders":"Mostrar todas las carpetas","ra_Show lines between rows":"Mostrar líneas 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. ¿Desechar?",ra_States:R$,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizado correctamente. El token es válido hasta el %s y se renovará automáticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizado correctamente. El token es válido hasta %s, pero puede caducar porque la instancia no está en ejecución.","ra_Suitable license not found in license manager":"Licencia adecuada no encontrada en el administrador de licencias",ra_Sunday:J$,"ra_Suppress question for next %s minutes":"Suprimir pregunta durante los próximos %s minutos","ra_System language":"Lenguaje del sistema","ra_Take browser position":"Tomar posición desde el navegador","ra_Take position from system settings":"Tomar posición desde la configuración 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ó la página que busca","ra_The schedule will be executed every minute. Are you sure?":"El cronograma se ejecutará cada minuto. ¿Estás seguro?","ra_The schedule will be executed every second. Are you sure?":"El cronograma se ejecutará cada segundo. ¿Estás seguro?",ra_Thursday:B$,ra_Timestamp:F$,"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ña","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:G$,"ra_Unknown error":"Error desconocido","ra_Unknown error!":"¡Error desconocido!",ra_Update:H$,"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ón del sistema para la posición","ra_Used system settings":"Configuraciones del sistema usadas","ra_User files":"Archivos de usuario",ra_ValidTill:V$,ra_Value:Z$,ra_Version:X$,"ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:K$,ra_Width:q$,ra_Yes:eP,"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í algún texto",ra___different__:tP,ra_aclEveryone_read_object:sP,ra_aclEveryone_read_state:iP,ra_aclEveryone_write_object:oP,ra_aclEveryone_write_state:rP,ra_aclGroup_read_object:MP,ra_aclGroup_read_state:nP,ra_aclGroup_write_object:aP,ra_aclGroup_write_state:cP,ra_aclOwner_read_object:uP,ra_aclOwner_read_state:NP,ra_aclOwner_write_object:lP,ra_aclOwner_write_state:LP,ra_buttons:jP,ra_changedFrom:gP,ra_close:TP,ra_create_boolean_state:yP,ra_create_channel:DP,ra_create_device:dP,ra_create_number_state:zP,ra_create_state:IP,ra_create_string_state:wP,ra_daysShortText:CP,ra_dow_Fr:hP,ra_dow_Mo:AP,ra_dow_Sa:pP,ra_dow_Su:mP,ra_dow_Th:OP,ra_dow_Tu:EP,ra_dow_We:_P,ra_expertMode:SP,ra_false:xP,ra_fileType_all:fP,ra_fileType_audio:kP,ra_fileType_code:YP,ra_fileType_images:QP,ra_fileType_txt:UP,ra_fileType_video:vP,"ra_fileType_video,":"Video",ra_filter_customs:bP,ra_filter_customs_without:$P,ra_filter_func:PP,ra_filter_id:WP,ra_filter_name:RP,ra_filter_role:JP,ra_filter_room:BP,ra_filter_type:FP,"ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:GP,ra_lastChange:HP,ra_locally:VP,ra_month_Apr:ZP,ra_month_Aug:XP,ra_month_Dec:KP,ra_month_Feb:qP,ra_month_Jan:eW,ra_month_Jul:tW,ra_month_Jun:sW,ra_month_Mai:iW,ra_month_Mar:oW,ra_month_Nov:rW,ra_month_Oct:MW,ra_month_Sep:nW,ra_months_Apr:aW,ra_months_Aug:cW,ra_months_Dec:uW,ra_months_Feb:NW,ra_months_Jan:lW,ra_months_Jul:LW,ra_months_Jun:jW,ra_months_Mai:gW,ra_months_Mar:TW,ra_months_Nov:yW,ra_months_Oct:DW,ra_months_Sep:dW,"ra_no confirm for 5 mins":"Sin confirmación durante 5 minutos",ra_none:zW,ra_object_changed_by:IW,ra_object_changed_by_user:wW,ra_otherConfig:CW,ra_qualityCode:hW,ra_repeat:AW,ra_select_folder_hint:pW,ra_show_all:mW,ra_state_changed_by:OW,ra_state_changed_from:EW,ra_timestamp:_W,ra_tooltip_ack:SW,ra_tooltip_comment:xW,ra_tooltip_copyState:fW,ra_tooltip_ctrlForLink:kW,ra_tooltip_customConfig:YW,ra_tooltip_deleteObject:QW,ra_tooltip_editObject:UW,ra_tooltip_editState:vW,ra_tooltip_expire:bW,ra_tooltip_from:$W,ra_tooltip_lc:PW,ra_tooltip_quality:WW,ra_tooltip_ts:RW,ra_tooltip_user:JW,ra_tooltip_value:BW,ra_true:FW,"ra_use seconds":"usar segundos",ra_val:GW,"ra_via internet":"vía Internet",ra_warning_every_minute:HW,ra_warning_every_second:VW,sc_cron:ZW,sc_date:XW,sc_dates:KW,sc_dow:qW,sc_dows:eR,sc_every:tR,sc_everyN_dates:sR,sc_everyN_dow:iR,sc_everyN_dows:oR,sc_everyN_hours:rR,sc_everyN_minutes:MR,sc_everyN_months:nR,sc_everyN_seconds:aR,sc_every_dates:cR,sc_every_dow:uR,sc_every_dows:NR,sc_every_hours:lR,sc_every_minutes:LR,sc_every_months:jR,sc_every_seconds:gR,sc_from:TR,sc_hours:yR,sc_interval:DR,sc_intervalBetween:dR,sc_invalid_cron:zR,sc_minutes:IR,sc_months:wR,sc_once:CR,sc_period:hR,sc_seconds:AR,sc_simple:pR,sc_specific:mR,sc_specific_dates:OR,sc_specific_dow:ER,sc_specific_dows:_R,sc_specific_hours:SR,sc_specific_minutes:xR,sc_specific_months:fR,sc_specific_seconds:kR,sc_time:YR,sc_to:QR,sc_wizard:UR,sch_all:vR,sch_astroDay:bR,sch_astroNight:$R,sch_astro_dawn:PR,sch_astro_dusk:WR,sch_astro_goldenHour:RR,sch_astro_goldenHourEnd:JR,sch_astro_nadir:BR,sch_astro_nauticalDawn:FR,sch_astro_nauticalDusk:GR,sch_astro_night:HR,sch_astro_nightEnd:VR,sch_astro_solarNoon:ZR,sch_astro_sunrise:XR,sch_astro_sunriseEnd:KR,sch_astro_sunset:qR,sch_astro_sunsetStart:eJ,sch_at:tJ,sch_desc_atTime:sJ,sch_desc_everyDay:iJ,sch_desc_everyHour:oJ,sch_desc_everyMinute:rJ,sch_desc_everyMonth:MJ,sch_desc_everyNDay:nJ,sch_desc_everyNHours:aJ,sch_desc_everyNMinutes:cJ,sch_desc_everyNMonths:uJ,sch_desc_everyNWeeks:NJ,sch_desc_everyNYears:lJ,sch_desc_everyWeek:LJ,sch_desc_everyYear:jJ,sch_desc_intervalFromTo:gJ,sch_desc_never:TJ,sch_desc_onDate:yJ,sch_desc_onDates:DJ,sch_desc_onEveryDate:dJ,sch_desc_onMonth:zJ,sch_desc_onMonths:IJ,sch_desc_onWeekday:wJ,sch_desc_onWeekdays:CJ,sch_desc_onWeekends:hJ,sch_desc_onWorkdays:AJ,sch_desc_onceInPast:pJ,sch_desc_once_on:mJ,sch_desc_validFrom:OJ,sch_desc_validFromTo:EJ,sch_desc_validTo:_J,sch_every:SJ,sch_exactTime:xJ,sch_from:fJ,sch_fromTo:kJ,sch_intervalTime:YJ,sch_invert:QJ,sch_no_one:UJ,sch_on:vJ,sch_period:bJ,sch_periodDaily:$J,sch_periodDates:PJ,sch_periodDay:WJ,sch_periodEvery:RJ,sch_periodEveryDay:JJ,sch_periodEveryMonth:BJ,sch_periodEveryWeek:FJ,sch_periodEveryYear:GJ,sch_periodHours:HJ,sch_periodMinutes:VJ,sch_periodMonth:ZJ,sch_periodMonthly:XJ,sch_periodOnce:KJ,sch_periodSpecificMonths:qJ,sch_periodWeek:eB,sch_periodWeekdays:tB,sch_periodWeekend:sB,sch_periodWeekly:iB,sch_periodWorkdays:oB,sch_periodYear:rB,sch_periodYearly:MB,sch_specificTime:nB,sch_time:aB,sch_to:cB,sch_valid:uB,sch_validFrom:NB,sch_validTo:lB,sch_wholeDay:LB,sch_yearEveryMonth:jB},TB="Akcje",yB="Dodać",DB="Anuluj",dB="Kategorie",zB="Sprawdzony",IB="Kasować",wB="Blisko",CB="Handlowy",hB="Konfiguruj",AB="Połączony",pB="Kontynuować",mB="Skopiowano",OB="Stwórz",EB="Przyciąć",_B="Delete",SB="Usunąć",xB="Wyrzucać",fB="Niepowiązany",kB="Błąd",YB="Filtr",QB="Piątek",UB="Szerokość",vB="Wyloguj",bB="Długość geograficzna",$B="Wiadomość",PB="Poniedziałek",WB="Nazwa",RB="Obiekty",JB="Dobrze",BB="Produkt",FB="Zmień nazwę/Przenieś/Kopiuj",GB="Powtarzać",HB="Zastępować",VB="Korzeń",ZB="Sobota",XB="Zapisać",KB="Wybrany",qB="Stany",eF="Niedziela",tF="Czwartek",sF="Znak czasu",iF="Wtorek",oF="Aktualizacja",rF="Obowiązuje do",MF="Wartość",nF="Wersja",aF="Środa",cF="Szerokość",uF="Tak",NF="różne",lF="Każdy może czytać obiekt",LF="Każdy może czytać stan",jF="Każdy może pisać przedmiot",gF="Każdy może pisać stan",TF="Grupa może odczytać obiekt",yF="Grupa może odczytać stan",DF="Grupa może pisać obiekt",dF="Grupa może pisać stan",zF="Właściciel może czytać obiekt",IF="Właściciel może odczytać stan",wF="Właściciel może napisać obiekt",CF="Właściciel może pisać stan",hF="guziki",AF="Zmieniony z",pF="blisko",mF="Utwórz stan logiczny",OF="Utwórz kanał",EF="Utwórz urządzenie",_F="Utwórz stan liczbowy",SF="Utwórz stan",xF="Utwórz stan ciągu",fF="d.",kF="Ks",YF="Mo",QF="Sa",UF="Su",vF="Th",bF="Tu",$F="My",PF="Tryb ekspercki",WF="FAŁSZ",RF="Wszystkie pliki",JF="Audio",BF="Kod/JSON",FF="Obrazy",GF="Tekst",HF="Wideo",VF="Ustawienia",ZF="bez",XF="Funkcjonować",KF="ID",qF="Imię",eG="Rola",tG="Sala",sG="Rodzaj",iG="Nieprawidłowe ustawienia",oG="Ostatnia zmiana",rG="lokalnie",MG="kwiecień",nG="sierpień",aG="grudzień",cG="luty",uG="styczeń",NG="lipiec",lG="czerwiec",LG="Mai",jG="Zniszczyć",gG="listopad",TG="październik",yG="wrzesień",DG="kwiecień",dG="sierpień",zG="grudzień",IG="luty",wG="styczeń",CG="lipiec",hG="czerwiec",AG="Mai",pG="Zniszczyć",mG="listopad",OG="październik",EG="wrzesień",_G="Żaden",SG="Obiekt zmieniony przez",xG="Obiekt ostatnio zmieniony o godz",fG="Ustawienia z innego adaptera %s",kG="Kod jakości",YG="powtarzać",QG="Aby wybrać folder, wystarczy przytrzymać klawisz „shift”, klikając folder.",UG="Pokaż wszystko",vG="Stan zmieniony przez",bG="Obiekt zmieniony z",$G="Znak czasu",PG="Potwierdzon",WG="Komentarz",RG="Skopiuj wartość stanu",JG="Przytrzymaj klawisz CTRL/⌘, aby otworzyć link",BG="Własne ustawienia",FG="Usuń obiekt",GG="Edytuj obiekt",HG="Edytuj wartość stanu",VG="Wygasa za",ZG="Z",XG="Ostatnia zmiana",KG="Jakość",qG="Znak czasu",eH="Użytkownik",tH="Wartość",sH="PRAWDA",iH="Wartość",oH="Ostrzeżenie: Zadanie CRON będzie uruchamiane co minutę w określonym przedziale czasowym!",rH="Ostrzeżenie: Zadanie CRON będzie uruchamiane co sekundę w określonym przedziale czasowym!",MH="CRON",nH="Data",aH="Daktyle",cH="Dzień",uH="Dzień tygodnia",NH="Każdy",lH="co N dni",LH="w każdy N-ty dzień tygodnia",jH="co N dnia tygodnia",gH="co N godzin",TH="co N minut",yH="co N miesięcy",DH="co N sekund",dH="codziennie",zH="każdy dzień tygodnia",IH="każdy dzień tygodnia",wH="co godzinę",CH="każda minuta",hH="każdego miesiąca",AH="każda sekunda",pH="Od",mH="godziny",OH="Interwał",EH="Interwał między",_H="Nieprawidłowy CRON",SH="Minuty",xH="miesięcy",fH="Pewnego razu",kH="Kropka",YH="sekundy",QH="Prosty",UH="Określony czas",vH="konkretne daty",bH="określone dni tygodnia",$H="określony dzień tygodni",PH="określone godziny",WH="określone minuty",RH="określone miesiące",JH="określone sekundy",BH="Czas",FH="Do",GH="Czarodziej",HH="wszystko",VH="Dzień Astro",ZH="Noc Astro",XH="Świt",KH="Zmierzch",qH="złota godzina",eV="Koniec złotej godziny",tV="Nadir",sV="Morski świt",iV="Morski zmierzch",oV="Noc",rV="Koniec nocy",MV="Południe słoneczne",nV="wschód słońca",aV="Koniec wschodu słońca",cV="Zachód słońca",uV="Początek zachodu słońca",NV="w",lV="na %s",LV="codziennie",jV="co godzinę",gV="każda minuta",TV="każdego miesiąca",yV="każdego dnia %s",DV="co %s godzin",dV="co %s minut",zV="co %s miesięcy",IV="co %s tygodni",wV="co %s lat",CV="co tydzień",hV="każdego roku",AV="od %s do %s",pV="nigdy",mV="na %s z %s",OV="na %s i %s z",EV="w każdą datę",_V="%s",SV="%s i %s",xV="na %s",fV="na %s i %s",kV="w weekendy",YV="w dni robocze",QV="nie będzie już wykonywany, ponieważ start jest w przeszłości",UV="na %s",vV="z %s",bV="Wykonaj od do",$V="do %s",PV="każdy",WV="Określony czas",RV="od",JV="Od-do",BV="Czas przerwy",FV="odwracać",GV="Żaden",HV="na",VV="Kropka",ZV="Codziennie",XV="Daktyle",KV="Dzień",qV="Każdy",eZ="Codziennie",tZ="Każdego miesiąca",sZ="Co tydzień",iZ="Każdego roku",oZ="godziny",rZ="Minuty",MZ="miesiąc",nZ="Miesięczny",aZ="Pewnego razu",cZ="Określone miesiące",uZ="Tydzień",NZ="Dni powszednie",lZ="Weekend",LZ="Co tydzień",jZ="Dni robocze",gZ="Rok",TZ="Rocznie",yZ="Określony czas",DZ="Czas",dZ="do",zZ="Ważny",IZ="od",wZ="do",CZ="Cały dzień",hZ="każdego miesiąca",AZ={"ra_%s links from aliases":"%s linków z aliasów","ra_%s object(s) processed":"Przetworzono %s obiektów","ra_%s was imported":"%s został zaimportowany","ra_Accept license":"Zaakceptuj licencję",ra_Actions:TB,"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ów z pliku JSON","ra_Add row":"Dodaj wiersz","ra_Advanced options":"Zaawansowane opcje","ra_All items are filtered out":"Wszystkie pozycje są odfiltrowane","ra_All objects":"Wszystkie obiekty",ra_Append:yB,"ra_Append %s entries or replace existing?":"Dołączyć wpisy %s czy zastąpić istniejące?","ra_Append or replace?":"Dołączyć czy zastąpić?","ra_Are you sure?":"Jesteś pewny?","ra_Auto (no custom columns)":"Auto (bez kolumn niestandardowych)","ra_Back to %s":"Powrót do %s","ra_Background image":"Zdjęcie w tle",ra_Cancel:DB,"ra_Cannot add items with set filter":"Nie można dodać elementów z ustawionym filtrem","ra_Cannot decode license":"Nie można zdekodować licencji","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Nie można określić pozycji: ustawienia systemu są puste, a wykrywanie GPS jest wyłączone w przeglądarce",'ra_Cannot find "%s"':"Nie można znaleźć „%s”",'ra_Cannot read "%s"':"Nie można odczytać „%s”","ra_Cannot read licenses: %s":"Nie można odczytać licencji: %s","ra_Cannot retrieve options, as instance is offline":"Nie można pobrać opcji, ponieważ instancja jest w trybie offline","ra_Cannot update attribute, because not found in the object":"Nie można zaktualizować atrybutu, ponieważ nie znaleziono go w obiekcie","ra_Cannot upload":"Nie można przesłać",ra_Categories:dB,"ra_Chained certificate":"Certyfikat łańcuchowy","ra_Change color theme":"Zmień motyw kolorystyczny","ra_Changed from":"Zmieniony z","ra_Channel → State":"Kanał → Stan","ra_Check license":"Sprawdź licencję",ra_Checked:zB,ra_Clear:IB,"ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczyść ikonę","ra_Clone current row":"Sklonuj bieżący wiersz",ra_Close:wB,"ra_Collapse all nodes":"Zwiń wszystkie węzły","ra_Collapse one step node":"Zwiń o jeden poziom",ra_Commercial:CB,ra_Configure:hB,"ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierdź usunięcie %s",ra_Connected:AB,ra_Continue:pB,ra_Copied:mB,"ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawartość",ra_Create:OB,"ra_Create alias":"Utwórz alias","ra_Create folder":"Utwórz folder","ra_Create new folder in %s":"Utwórz nowy folder w %s",ra_Crop:EB,"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:_B,ra_Delete:SB,"ra_Delete current row":"Usuń bieżący wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device → Channel → State":"Urządzenie → Kanał → Stan",ra_Discard:xB,ra_Disconnected:fB,"ra_Do not ask for next 2 hours in this session":"Nie proś o kolejne 2 godziny w tej sesji","ra_Do not export values of states":"Nie eksportuj wartości stanów","ra_Do not use let's encrypt":"Nie używaj zaszyfrujmy","ra_Double click to reset table layout":"Kliknij dwukrotnie, aby zresetować układ tabeli","ra_Drag 'n' drop some files here, or click to select files":"Przeciągnij i upuść kilka plików tutaj lub kliknij, aby wybrać pliki","ra_Drop file here":"Upuść plik tutaj","ra_Drop the files here...":"Upuść plik tutaj...","ra_Duplicate name":"Zduplikowana nazwa","ra_Edit ACL":"Edytuj listy ACL","ra_Edit alias":"Edytuj alias","ra_Edit custom config":"Edytuj konfigurację niestandardową","ra_Edit full path":"Edytuj pełną ścieżkę","ra_Edit function":"Funkcja edycji","ra_Edit object field":"Edytuj pole obiektu","ra_Edit role":"Edytuj rolę","ra_Edit room":"Edytuj pokój","ra_Edit value":"Edytuj wartość","ra_Enter the code from that page here":"Wpisz kod z tej strony tutaj",ra_Error:kB,"ra_Expand all nodes":"Rozwiń wszystkie węzły","ra_Expand one step node":"Rozwiń o jeden poziom","ra_Export data to %s file":"Eksportuj dane do pliku %s","ra_Failed to open JSON File":"Nie udało się otworzyć pliku JSON","ra_Fallback custom certificates":"Niestandardowe certyfikaty zastępcze","ra_File is too big. Max %sk allowed. Try use SVG.":"Plik jest za duży. Maksymalna dozwolona liczba %sk. Spróbuj użyć SVG.",ra_Filter:YB,"ra_Filter and Data Actions":"Akcje filtrów i danych","ra_Filter files":"Filtruj pliki","ra_Folder name":"Nazwa folderu","ra_Folder → Channel → State":"Folder → Kanał → Stan","ra_Folder → Device → Channel → State":"Folder → Urządzenie → Kanał → Stan","ra_Folder → State":"Folder → Stan","ra_Folders always first":"Foldery zawsze na pierwszym miejscu",ra_Friday:QB,"ra_Get %s access":"Uzyskaj dostęp %s","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śli w folderze nie zostanie utworzony żaden plik, zniknie on po zamknięciu przeglądarki","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Jeśli przycisk powyżej nie działa, możesz autoryzować tę aplikację ręcznie, odwiedzając ten adres URL","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łowy CRON","ra_Invalid JSON":"Nieprawidłowy JSON","ra_Invalid answer from server":"Nieprawidłowa odpowiedź z serwera","ra_Invalid parent folder!":"Nieprawidłowy folder nadrzędny!","ra_Invalid structure":"Nieprawidłowa struktura","ra_JSON editor":"Edytor JSON","ra_Last change":"Ostatnia zmiana",ra_Latitude:UB,"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ła w dniu %s",'ra_License for other product "%s"':"Licencja na inny produkt „%s”","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ć przekonwertowana na nowszą wersję. Możesz to zrobić 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żerze licencji. Chcesz zaktualizować licencje z iobroker.net?","ra_Listen on all IPs":"Słuchaj na wszystkich adresach IP","ra_Load configuration from file":"Załaduj konfigurację z pliku",ra_Logout:vB,ra_Longitude:bB,'ra_May not trigger "updateLicenses"':"Może nie uruchamiać „updateLicenses”",ra_Message:$B,ra_Monday:PB,"ra_Move down":"Padnij","ra_Move up":"Podnieść",ra_Name:WB,"ra_No data found in file":"Nie znaleziono danych w pliku","ra_No one license found in license manager":"Nie znaleziono licencji w menedżerze 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ędące ekspertami mogą tworzyć nowe obiekty tylko w „0_userdata.0” lub „alias.0”.","ra_Not a number":"Nie numer",ra_Objects:RB,ra_Ok:JB,"ra_On weekdays":"W dni powszednie","ra_Only following structures of objects are available:":"Dostępne są tylko następujące struktury obiektów:","ra_Only selected":"Tylko wybrane","ra_Owner group":"Grupa właścicieli","ra_Owner user":"Właściciel użytkownika","ra_Passwords are not equal!":"Hasła nie są równe!","ra_Place your files here or click here to open the browse dialog":"Umieść swoje pliki tutaj lub kliknij tutaj, aby otworzyć okno dialogowe przeglądania","ra_Please allow popups in your browser for this page!":"Proszę zezwolić na wyświetlanie wyskakujących okienek w przeglądarce dla tej strony!","ra_Please confirm":"Proszę potwierdzić","ra_Please create license":"Utwórz licencję","ra_Please enter the license":"Proszę wprowadzić licencję","ra_Please select file...":"Wybierz plik...","ra_Please select object ID...":"Wybierz identyfikator obiektu ...","ra_Port could be used by %s":"Port może być używany przez %s","ra_Port is already used by %s":"Port jest już używany przez %s","ra_Press ENTER Key to add new item":"Naciśnij klawisz ENTER, aby dodać nowy element","ra_Private certificate":"Prywatny certyfikat",ra_Product:BB,"ra_Public certificate":"Certyfikat publiczny","ra_Quality code":"Jakości","ra_Refresh tree":"Odśwież drzewo","ra_Reload files":"Załaduj ponownie pliki",ra_Rename_Move_Copy:FB,"ra_Renew %s access":"Odnów dostęp %s",ra_Repeat:GB,ra_Replace:HB,"ra_Request timed out":"Upłynął limit czasu żądania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:VB,ra_Saturday:ZB,ra_Save:XB,"ra_Save and close":"Zapisz i zamknij","ra_Save configuration to file":"Zapisz konfigurację do pliku","ra_Save objects tree as JSON file":"Zapisz drzewo obiektów jako plik JSON","ra_Select all":"Zaznacz wszystko","ra_Select color":"Wybierz kolor","ra_Select predefined icon":"Wybierz predefiniowaną ikonę","ra_Select type of export":"Wybierz rodzaj eksportu",ra_Selected:KB,"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) „%s” w licencji dotyczy innego urządzenia.","ra_Session will expire in %s seconds. Continue?":"Sesja wygaśnie za %s sekund. Kontynuować?","ra_Show all folders":"Pokaż wszystkie foldery","ra_Show lines between rows":"Pokaż linie między rzędami","ra_Show/Hide object descriptions":"Pokaż/ukryj opisy obiektów","ra_Show/hide filter input":"Pokaż/ukryj wejście filtra","ra_Some data are not stored. Discard?":"Niektóre dane nie są przechowywane. Wyrzucać?",ra_States:qB,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Pomyślnie autoryzowano. Token ważny do %s i zostanie automatycznie odnowiony.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Pomyślnie autoryzowano. Token ważny do %s, ale może wygasnąć, ponieważ instancja nie jest uruchomiona.","ra_Suitable license not found in license manager":"Nie znaleziono odpowiedniej licencji w menedżerze licencji",ra_Sunday:eF,"ra_Suppress question for next %s minutes":"Ukryj pytanie przez następne %s minut","ra_System language":"Język systemu","ra_Take browser position":"Zajmij pozycję z przeglądarki","ra_Take position from system settings":"Zajmij pozycję z ustawień systemowych",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Eksperci mogą tworzyć obiekty wszędzie poza drugim poziomem (np. „Vis.0” lub „javascript.0”).","ra_The page you are looking for was not found":"Strona, której szukasz nie została znaleziona","ra_The schedule will be executed every minute. Are you sure?":"Harmonogram będzie wykonywany co minutę. Czy jesteś pewien?","ra_The schedule will be executed every second. Are you sure?":"Harmonogram będzie wykonywany co sekundę. Czy jesteś pewien?",ra_Thursday:tF,ra_Timestamp:sF,"ra_Toggle expert mode":"Przełącz tryb eksperta","ra_Toggle the states view":"Przełącz widok stanów","ra_Toggle view mode":"Przełącz tryb widoku","ra_Too big":"Za duży","ra_Too small":"Za mały","ra_Transparent dialog":"Przejrzyste okno dialogowe",ra_Tuesday:iF,"ra_Unknown error":"Nieznany błąd","ra_Unknown error!":"Nieznany błąd!",ra_Update:oF,"ra_Upload file":"Przesyłanie pliku","ra_Use all available let's encrypt certificates":"Użyj wszystkich dostępnych certyfikatów Let's Encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Użyj adaptera iobroker.acme dla certyfikatów letsencrypt","ra_Use system settings for position":"Użyj ustawień systemowych dla pozycji","ra_Used system settings":"Używane ustawienia systemowe","ra_User files":"Pliki użytkownika",ra_ValidTill:rF,ra_Value:MF,ra_Version:nF,"ra_View file":"Zobaczyć plik","ra_View: %s":"Widok: %s",ra_Wednesday:aF,ra_Width:cF,ra_Yes:uF,"ra_You can export all objects or just the selected branch.":"Możesz wyeksportować wszystkie obiekty lub tylko wybraną gałąź.","ra_You can filter entries by entering here some text":"Możesz filtrować wpisy, wpisując tutaj jakiś tekst",ra___different__:NF,ra_aclEveryone_read_object:lF,ra_aclEveryone_read_state:LF,ra_aclEveryone_write_object:jF,ra_aclEveryone_write_state:gF,ra_aclGroup_read_object:TF,ra_aclGroup_read_state:yF,ra_aclGroup_write_object:DF,ra_aclGroup_write_state:dF,ra_aclOwner_read_object:zF,ra_aclOwner_read_state:IF,ra_aclOwner_write_object:wF,ra_aclOwner_write_state:CF,ra_buttons:hF,ra_changedFrom:AF,ra_close:pF,ra_create_boolean_state:mF,ra_create_channel:OF,ra_create_device:EF,ra_create_number_state:_F,ra_create_state:SF,ra_create_string_state:xF,ra_daysShortText:fF,ra_dow_Fr:kF,ra_dow_Mo:YF,ra_dow_Sa:QF,ra_dow_Su:UF,ra_dow_Th:vF,ra_dow_Tu:bF,ra_dow_We:$F,ra_expertMode:PF,ra_false:WF,ra_fileType_all:RF,ra_fileType_audio:JF,ra_fileType_code:BF,ra_fileType_images:FF,ra_fileType_txt:GF,ra_fileType_video:HF,"ra_fileType_video,":"Wideo",ra_filter_customs:VF,ra_filter_customs_without:ZF,ra_filter_func:XF,ra_filter_id:KF,ra_filter_name:qF,ra_filter_role:eG,ra_filter_room:tG,ra_filter_type:sG,"ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:iG,ra_lastChange:oG,ra_locally:rG,ra_month_Apr:MG,ra_month_Aug:nG,ra_month_Dec:aG,ra_month_Feb:cG,ra_month_Jan:uG,ra_month_Jul:NG,ra_month_Jun:lG,ra_month_Mai:LG,ra_month_Mar:jG,ra_month_Nov:gG,ra_month_Oct:TG,ra_month_Sep:yG,ra_months_Apr:DG,ra_months_Aug:dG,ra_months_Dec:zG,ra_months_Feb:IG,ra_months_Jan:wG,ra_months_Jul:CG,ra_months_Jun:hG,ra_months_Mai:AG,ra_months_Mar:pG,ra_months_Nov:mG,ra_months_Oct:OG,ra_months_Sep:EG,"ra_no confirm for 5 mins":"brak potwierdzenia przez 5 minut",ra_none:_G,ra_object_changed_by:SG,ra_object_changed_by_user:xG,ra_otherConfig:fG,ra_qualityCode:kG,ra_repeat:YG,ra_select_folder_hint:QG,ra_show_all:UG,ra_state_changed_by:vG,ra_state_changed_from:bG,ra_timestamp:$G,ra_tooltip_ack:PG,ra_tooltip_comment:WG,ra_tooltip_copyState:RG,ra_tooltip_ctrlForLink:JG,ra_tooltip_customConfig:BG,ra_tooltip_deleteObject:FG,ra_tooltip_editObject:GG,ra_tooltip_editState:HG,ra_tooltip_expire:VG,ra_tooltip_from:ZG,ra_tooltip_lc:XG,ra_tooltip_quality:KG,ra_tooltip_ts:qG,ra_tooltip_user:eH,ra_tooltip_value:tH,ra_true:sH,"ra_use seconds":"użyj sekund",ra_val:iH,"ra_via internet":"przez internet",ra_warning_every_minute:oH,ra_warning_every_second:rH,sc_cron:MH,sc_date:nH,sc_dates:aH,sc_dow:cH,sc_dows:uH,sc_every:NH,sc_everyN_dates:lH,sc_everyN_dow:LH,sc_everyN_dows:jH,sc_everyN_hours:gH,sc_everyN_minutes:TH,sc_everyN_months:yH,sc_everyN_seconds:DH,sc_every_dates:dH,sc_every_dow:zH,sc_every_dows:IH,sc_every_hours:wH,sc_every_minutes:CH,sc_every_months:hH,sc_every_seconds:AH,sc_from:pH,sc_hours:mH,sc_interval:OH,sc_intervalBetween:EH,sc_invalid_cron:_H,sc_minutes:SH,sc_months:xH,sc_once:fH,sc_period:kH,sc_seconds:YH,sc_simple:QH,sc_specific:UH,sc_specific_dates:vH,sc_specific_dow:bH,sc_specific_dows:$H,sc_specific_hours:PH,sc_specific_minutes:WH,sc_specific_months:RH,sc_specific_seconds:JH,sc_time:BH,sc_to:FH,sc_wizard:GH,sch_all:HH,sch_astroDay:VH,sch_astroNight:ZH,sch_astro_dawn:XH,sch_astro_dusk:KH,sch_astro_goldenHour:qH,sch_astro_goldenHourEnd:eV,sch_astro_nadir:tV,sch_astro_nauticalDawn:sV,sch_astro_nauticalDusk:iV,sch_astro_night:oV,sch_astro_nightEnd:rV,sch_astro_solarNoon:MV,sch_astro_sunrise:nV,sch_astro_sunriseEnd:aV,sch_astro_sunset:cV,sch_astro_sunsetStart:uV,sch_at:NV,sch_desc_atTime:lV,sch_desc_everyDay:LV,sch_desc_everyHour:jV,sch_desc_everyMinute:gV,sch_desc_everyMonth:TV,sch_desc_everyNDay:yV,sch_desc_everyNHours:DV,sch_desc_everyNMinutes:dV,sch_desc_everyNMonths:zV,sch_desc_everyNWeeks:IV,sch_desc_everyNYears:wV,sch_desc_everyWeek:CV,sch_desc_everyYear:hV,sch_desc_intervalFromTo:AV,sch_desc_never:pV,sch_desc_onDate:mV,sch_desc_onDates:OV,sch_desc_onEveryDate:EV,sch_desc_onMonth:_V,sch_desc_onMonths:SV,sch_desc_onWeekday:xV,sch_desc_onWeekdays:fV,sch_desc_onWeekends:kV,sch_desc_onWorkdays:YV,sch_desc_onceInPast:QV,sch_desc_once_on:UV,sch_desc_validFrom:vV,sch_desc_validFromTo:bV,sch_desc_validTo:$V,sch_every:PV,sch_exactTime:WV,sch_from:RV,sch_fromTo:JV,sch_intervalTime:BV,sch_invert:FV,sch_no_one:GV,sch_on:HV,sch_period:VV,sch_periodDaily:ZV,sch_periodDates:XV,sch_periodDay:KV,sch_periodEvery:qV,sch_periodEveryDay:eZ,sch_periodEveryMonth:tZ,sch_periodEveryWeek:sZ,sch_periodEveryYear:iZ,sch_periodHours:oZ,sch_periodMinutes:rZ,sch_periodMonth:MZ,sch_periodMonthly:nZ,sch_periodOnce:aZ,sch_periodSpecificMonths:cZ,sch_periodWeek:uZ,sch_periodWeekdays:NZ,sch_periodWeekend:lZ,sch_periodWeekly:LZ,sch_periodWorkdays:jZ,sch_periodYear:gZ,sch_periodYearly:TZ,sch_specificTime:yZ,sch_time:DZ,sch_to:dZ,sch_valid:zZ,sch_validFrom:IZ,sch_validTo:wZ,sch_wholeDay:CZ,sch_yearEveryMonth:hZ},pZ="Дії",mZ="Додайте",OZ="Скасувати",EZ="Категорії",_Z="Перевірено",SZ="Видалити",xZ="Закрити",fZ="Комерційний",kZ="Налаштувати",YZ="Підключено",QZ="Продовжити",UZ="Скопійовано",vZ="Створити",bZ="Урожай",$Z="Delete",PZ="Видалити",WZ="Відкинути",RZ="Відключено",JZ="Помилка",BZ="фільтр",FZ="П'ятниця",GZ="Широта",HZ="Вийти",VZ="Довгота",ZZ="повідомлення",XZ="понеділок",KZ="Ім'я",qZ="Об'єкти",eX="В порядку",tX="Продукт",sX="Перейменувати/Перемістити/Копіювати",iX="Повторіть",oX="Замінити",rX="Корінь",MX="Субота",nX="зберегти",aX="Вибране",cX="держави",uX="неділя",NX="четвер",lX="Мітка часу",LX="вівторок",jX="оновлення",gX="Дійсний до",TX="Значення",yX="Версія",DX="Середа",dX="Ширина",zX="Так",IX="інший",wX="Кожен може читати об'єкт",CX="Кожен може читати стан",hX="Кожен може написати об'єкт",AX="Кожен може написати стан",pX="Група може читати об'єкт",mX="Група може читати стан",OX="Група може писати об'єкт",EX="Група може писати стан",_X="Власник може читати об'єкт",SX="Власник може читати стан",xX="Власник може написати об'єкт",fX="Власник може написати стан",kX="кнопки",YX="Змінено з",QX="закрити",UX="Створіть логічний стан",vX="Створити канал",bX="Створити пристрій",$X="Створити номерний стан",PX="Створити состояние",WX="Створити рядковий стан",RX="днів",JX="О",BX="пн",FX="Sa",GX="Нд",HX="чт",VX="вт",ZX="ми",XX="Експертний режим",KX="НЕПРАВДА",qX="Всі файли",eK="Аудіо",tK="Код/JSON",sK="Зображення",iK="текст",oK="відео",rK="Налаштування",MK="без",nK="функція",aK="ID",cK="Ім'я",uK="Роль",NK="Кімната",lK="Тип",LK="Недійсні налаштування",jK="Остання зміна",gK="локально",TK="квіт",yK="серп",DK="груд",dK="лютий",zK="січня",IK="лип",wK="черв",CK="травень",hK="березень",AK="Листопад",pK="жовт",mK="вер",OK="квіт",EK="серп",_K="груд",SK="лютий",xK="січня",fK="лип",kK="черв",YK="травень",QK="березень",UK="Листопад",vK="жовт",bK="вер",$K="немає",PK="Об'єкт змінено",WK="Об'єкт востаннє змінено о",RK="Налаштування з іншого адаптера %s",JK="Код якості",BK="повторити",FK="Щоб вибрати папку, просто клацніть папку, утримуючи клавішу «Shift».",GK="Показати все",HK="Стан змінено на",VK="Об'єкт змінено з",ZK="Мітка часу",XK="Визнано",KK="коментар",qK="Скопіюйте значення стану",eq="Утримуйте клавішу Cltr/⌘, щоб відкрити посилання",tq="Спеціальні налаштування",sq="Видалити об'єкт",iq="Редагувати об'єкт",oq="Відредагуйте значення стану",rq="Термін дії закінчується через",Mq="Від",nq="Востаннє змінено",aq="якість",cq="Позначка часу",uq="Користувач",Nq="Значення",lq="ПРАВДА",Lq="Значення",jq="Попередження: завдання CRON виконуватиметься щохвилини протягом зазначеного періоду!",gq="Попередження: завдання CRON виконуватиметься кожну секунду протягом зазначеного періоду!",Tq="CRON",yq="Дата",Dq="дати",dq="День",zq="День тижня",Iq="кожен",wq="кожні N днів",Cq="кожен N-й день тижня",hq="кожні N днів тижня",Aq="кожні N годин",pq="кожні N хвилин",mq="кожні N місяців",Oq="кожні N секунд",Eq="кожен день",_q="кожен день тижня",Sq="кожен день тижня",xq="щогодини",fq="кожну хвилину",kq="щомісяця",Yq="кожна секунда",Qq="Від",Uq="години",vq="Інтервал",bq="Інтервал між",$q="Недійсний CRON",Pq="хвилин",Wq="місяців",Rq="Один раз",Jq="Крапка",Bq="секунд",Fq="просто",Gq="Конкретний час",Hq="конкретні дати",Vq="конкретний день (дні) тижня",Zq="конкретний день тижня",Xq="конкретні години",Kq="конкретні хвилини",qq="конкретні місяці",eee="конкретні секунди",tee="час",see="до",iee="майстер",oee="все",ree="Астродень",Mee="Астро ніч",nee="Світанок",aee="Сутінки",cee="Золота година",uee="Кінець золотої години",Nee="Надір",lee="Морський світанок",Lee="Морські сутінки",jee="ніч",gee="Кінець ночі",Tee="Сонячний полудень",yee="Схід сонця",Dee="Кінець сходу сонця",dee="Захід сонця",zee="Початок заходу сонця",Iee="в",wee="в %s",Cee="кожен день",hee="щогодини",Aee="кожну хвилину",pee="щомісяця",mee="кожен %s день",Oee="кожні %s годин",Eee="кожні %s хвилин",_ee="кожні %s місяців",See="кожні %s тижнів",xee="кожні %s років",fee="щотижня",kee="щороку",Yee="від %s до %s",Qee="ніколи",Uee="на %s з %s",vee="на %s і %s з",bee="на кожну дату",$ee="%s",Pee="%s і %s",Wee="на %s",Ree="на %s і %s",Jee="на вихідних",Bee="в робочі дні",Fee="більше не виконуватиметься, оскільки запуск у минулому",Gee="на %s",Hee="від %s",Vee="Виконати від до",Zee="до %s",Xee="кожен",Kee="Конкретний час",qee="від",ete="Від до",tte="Час інтервалу",ste="інвертувати",ite="немає",ote="на",rte="Крапка",Mte="Щодня",nte="дати",ate="День",cte="кожен",ute="Кожен день",Nte="Щомісяця",lte="Щотижня",Lte="Щороку",jte="години",gte="хвилин",Tte="місяць",yte="Щомісяця",Dte="Один раз",dte="Конкретні місяці",zte="тиждень",Ite="будні",wte="Вихідні",Cte="Щотижня",hte="робочі дні",Ate="рік",pte="щорічно",mte="Конкретний час",Ote="час",Ete="до",_te="Дійсний",Ste="від",xte="до",fte="Цілий день",kte="щомісяця",Yte={"ra_%s links from aliases":"%s посилань із псевдонімів","ra_%s object(s) processed":"Оброблено %s об’єктів","ra_%s was imported":"%s було імпортовано","ra_Accept license":"Прийняти ліцензію",ra_Actions:pZ,"ra_Add new child object to selected parent":"Додати новий дочірній об’єкт до вибраного батьківського","ra_Add objects tree from JSON file":"Додайте дерево об’єктів із файлу JSON","ra_Add row":"Додати рядок","ra_Advanced options":"Розширені опції","ra_All items are filtered out":"Усі елементи відфільтровано","ra_All objects":"Всі об'єкти",ra_Append:mZ,"ra_Append %s entries or replace existing?":"Додати %s записів чи замінити наявні?","ra_Append or replace?":"Додати чи замінити?","ra_Are you sure?":"Ти впевнений?","ra_Auto (no custom columns)":"Автоматично (без спеціальних стовпців)","ra_Back to %s":"Назад до %s","ra_Background image":"Фонове зображення",ra_Cancel:OZ,"ra_Cannot add items with set filter":"Неможливо додати елементи зі встановленим фільтром","ra_Cannot decode license":"Неможливо розшифрувати ліцензію","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Неможливо визначити положення: системні налаштування порожні, а визначення GPS вимкнено в браузері",'ra_Cannot find "%s"':'Не вдається знайти "%s"','ra_Cannot read "%s"':'Неможливо прочитати "%s"',"ra_Cannot read licenses: %s":"Неможливо прочитати ліцензії: %s","ra_Cannot retrieve options, as instance is offline":"Неможливо отримати параметри, оскільки екземпляр офлайн","ra_Cannot update attribute, because not found in the object":"Неможливо оновити атрибут, оскільки його не знайдено в об’єкті","ra_Cannot upload":"Неможливо завантажити",ra_Categories:EZ,"ra_Chained certificate":"Прикутий сертифікат","ra_Change color theme":"Змінити кольорову тему","ra_Changed from":"Змінено з","ra_Channel → State":"Канал → Стан","ra_Check license":"Перевірити ліцензію",ra_Checked:_Z,ra_Clear:SZ,"ra_Clear filter":"Очистити фільтр","ra_Clear icon":"Очистити значок","ra_Clone current row":"Клонувати поточний рядок",ra_Close:xZ,"ra_Collapse all nodes":"Згорнути всі вузли","ra_Collapse one step node":"Згорнути на один рівень",ra_Commercial:fZ,ra_Configure:kZ,"ra_Configure visible columns":"Налаштувати видимі стовпці","ra_Confirm deletion of %s":"Підтвердити видалення %s",ra_Connected:YZ,ra_Continue:QZ,ra_Copied:UZ,"ra_Copied %s":'Скопійовано "%s"',"ra_Copy content":"Скопіюйте вміст",ra_Create:vZ,"ra_Create alias":"Створити псевдонім","ra_Create folder":"Створити папку","ra_Create new folder in %s":"Створіть нову папку в %s",ra_Crop:bZ,"ra_Define CRON...":"Визначити CRON...","ra_Define functions":"Визначити функції","ra_Define rooms":"Визначте кімнати","ra_Define schedule":"Визначити розклад","ra_Define schedule...":"Визначити розклад...",ra_Del:$Z,ra_Delete:PZ,"ra_Delete current row":"Видалити поточний рядок","ra_Deselect all":"Скасувати вибір усіх","ra_Device → Channel → State":"Пристрій → Канал → Стан",ra_Discard:WZ,ra_Disconnected:RZ,"ra_Do not ask for next 2 hours in this session":"Не запитуйте про наступні 2 години цього сеансу","ra_Do not export values of states":"Не експортуйте значення станів","ra_Do not use let's encrypt":"Не використовуйте let's encrypt","ra_Double click to reset table layout":"Двічі клацніть, щоб скинути макет таблиці","ra_Drag 'n' drop some files here, or click to select files":"Перетягніть деякі файли сюди або натисніть, щоб вибрати файли","ra_Drop file here":"Перетягніть файл сюди","ra_Drop the files here...":"Перетягніть файл сюди...","ra_Duplicate name":"Повторюване ім'я","ra_Edit ACL":"Редагувати ACL","ra_Edit alias":"Редагувати псевдонім","ra_Edit custom config":"Редагувати спеціальну конфігурацію","ra_Edit full path":"Редагувати повний шлях","ra_Edit function":"функція редагування","ra_Edit object field":"Поле редагування об'єкта","ra_Edit role":"Редагувати роль","ra_Edit room":"Редагувати кімнату","ra_Edit value":"Редагувати значення","ra_Enter the code from that page here":"Введіть тут код з цієї сторінки",ra_Error:JZ,"ra_Expand all nodes":"Розгорнути всі вузли","ra_Expand one step node":"Розгорніть один рівень","ra_Export data to %s file":"Експортувати дані у файл %s","ra_Failed to open JSON File":"Не вдалося відкрити файл JSON","ra_Fallback custom certificates":"Запасні спеціальні сертифікати","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл завеликий. Максимально дозволено %sk. Спробуйте використовувати SVG.",ra_Filter:BZ,"ra_Filter and Data Actions":"Фільтр і дії з даними","ra_Filter files":"Фільтр файлів","ra_Folder name":"Назва папки","ra_Folder → Channel → State":"Папка → Канал → Стан","ra_Folder → Device → Channel → State":"Папка → Пристрій → Канал → Стан","ra_Folder → State":"Папка → Стан","ra_Folders always first":"Папки завжди першими",ra_Friday:FZ,"ra_Get %s access":"Отримайте доступ %s","ra_Good luck":"Удачі","ra_Hide empty folders":"Приховати порожні папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Якщо в папці не буде створено файл, він зникне після закриття браузера","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Якщо кнопка вище не працює, ви можете авторизувати цю програму вручну, перейшовши за цим посиланням","ra_Import data from %s file":"Імпортувати дані з файлу %s","ra_Import from %s":"Імпортувати з %s","ra_Instance %s is alive":"Примірник %s живий","ra_Instance %s is not alive":"Примірник %s не живий","ra_Instance is not alive":"Примірник не живий","ra_Invalid CRON":"Недійсний CRON","ra_Invalid JSON":"Недійсний JSON","ra_Invalid answer from server":"Недійсна відповідь від сервера","ra_Invalid parent folder!":"Недійсна батьківська папка!","ra_Invalid structure":"Недійсна структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Остання зміна",ra_Latitude:GZ,"ra_License %s":"Ліцензія %s","ra_License agreement":"Ліцензійна угода","ra_License does not exist":"Ліцензії не існує","ra_License expired on %s":"Термін дії ліцензії закінчився %s",'ra_License for other product "%s"':'Ліцензія на інший продукт "%s"',"ra_License is for version %s, but required version is %s.":"Ліцензія для версії %s, але потрібна версія %s.","ra_License must be converted":"Ліцензію необхідно конвертувати до новішої версії. Ви можете зробити це у своєму профілі на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Ліцензія не знайдена в менеджері ліцензій. Хочете оновити ліцензії з iobroker.net?","ra_Listen on all IPs":"Прослуховування на всіх IP","ra_Load configuration from file":"Завантажити конфігурацію з файлу",ra_Logout:HZ,ra_Longitude:VZ,'ra_May not trigger "updateLicenses"':'Може не запускати "updateLicenses"',ra_Message:ZZ,ra_Monday:XZ,"ra_Move down":"Рухатися вниз","ra_Move up":"Рухатися вгору",ra_Name:KZ,"ra_No data found in file":"Немає даних у файлі","ra_No one license found in license manager":"У менеджері ліцензій не знайдено жодної ліцензії","ra_No response from the backend":"Немає відповіді від сервера",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Неексперти можуть створювати нові об’єкти лише в «0_userdata.0» або «alias.0».","ra_Not a number":"Не номер",ra_Objects:qZ,ra_Ok:eX,"ra_On weekdays":"В будні дні","ra_Only following structures of objects are available:":"Доступні тільки такі структури об'єктів:","ra_Only selected":"Тільки обрані","ra_Owner group":"Група власників","ra_Owner user":"Користувач-власник","ra_Passwords are not equal!":"Паролі не бувають рівними!","ra_Place your files here or click here to open the browse dialog":"Розмістіть свої файли тут або натисніть тут, щоб відкрити діалогове вікно перегляду","ra_Please allow popups in your browser for this page!":"Будь ласка, дозвольте спливаючі вікна у вашому браузері для цієї сторінки!","ra_Please confirm":"Будь-ласка підтвердіть","ra_Please create license":"Будь ласка, створіть ліцензію","ra_Please enter the license":"Будь ласка, введіть ліцензію","ra_Please select file...":"Виберіть файл...","ra_Please select object ID...":"Виберіть ідентифікатор об'єкта...","ra_Port could be used by %s":"Порт може використовуватися %s","ra_Port is already used by %s":"Порт уже використовується %s","ra_Press ENTER Key to add new item":"Натисніть клавішу ENTER, щоб додати новий елемент","ra_Private certificate":"Приватний сертифікат",ra_Product:tX,"ra_Public certificate":"Публічний сертифікат","ra_Quality code":"якість","ra_Refresh tree":"Оновити дерево","ra_Reload files":"Перезавантажте файли",ra_Rename_Move_Copy:sX,"ra_Renew %s access":"Поновити доступ %s",ra_Repeat:iX,ra_Replace:oX,"ra_Request timed out":"Час запиту вичерпано","ra_Restrict to folder":"Обмежити папкою",ra_Root:rX,ra_Saturday:MX,ra_Save:nX,"ra_Save and close":"Зберегти та закрити","ra_Save configuration to file":"Зберегти конфігурацію у файл","ra_Save objects tree as JSON file":"Зберегти дерево об’єктів як файл JSON","ra_Select all":"Вибрати все","ra_Select color":"Виберіть колір","ra_Select predefined icon":"Виберіть попередньо визначений значок","ra_Select type of export":"Виберіть тип експорту",ra_Selected:aX,"ra_Selected %s object(s)":"Вибрані об’єкти %s","ra_Serial number (UUID)":"Серійний номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Серійний номер (UUID) "%s" у ліцензії призначений для іншого пристрою.',"ra_Session will expire in %s seconds. Continue?":"Сеанс закінчиться через %s секунд. Продовжити?","ra_Show all folders":"Показати всі папки","ra_Show lines between rows":"Показувати лінії між рядками","ra_Show/Hide object descriptions":"Показати/Сховати описи об’єктів","ra_Show/hide filter input":"Показати/сховати введення фільтра","ra_Some data are not stored. Discard?":"Деякі дані не зберігаються. Відкинути?",ra_States:cX,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Авторизацію успішно пройшло. Токен дійсний до %s та буде автоматично поновлено.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Авторизацію успішно виконано. Токен дійсний до %s, але його термін дії може закінчитися, оскільки екземпляр не запущено.","ra_Suitable license not found in license manager":"Відповідна ліцензія не знайдена в менеджері ліцензій",ra_Sunday:uX,"ra_Suppress question for next %s minutes":"Приховати запитання на наступні %s хвилин","ra_System language":"Системна мова","ra_Take browser position":"Займіть позицію з браузера","ra_Take position from system settings":"Займіть позицію в налаштуваннях системи",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Експерти можуть створювати об’єкти всюди, крім другого рівня (наприклад, «vis.0» або «javascript.0»).","ra_The page you are looking for was not found":"Сторінка, яку ви шукаєте, не знайдена","ra_The schedule will be executed every minute. Are you sure?":"Розклад буде виконуватися щохвилини. Ви впевнені?","ra_The schedule will be executed every second. Are you sure?":"Розклад буде виконуватися щосекунди. Ви впевнені?",ra_Thursday:NX,ra_Timestamp:lX,"ra_Toggle expert mode":"Перемкнути експертний режим","ra_Toggle the states view":"Перемкнути перегляд штатів","ra_Toggle view mode":"Перемкнути режим перегляду","ra_Too big":"Занадто великий","ra_Too small":"Занадто малий","ra_Transparent dialog":"Прозорий діалог",ra_Tuesday:LX,"ra_Unknown error":"Невідома помилка","ra_Unknown error!":"Невідома помилка!",ra_Update:jX,"ra_Upload file":"Завантажити файл","ra_Use all available let's encrypt certificates":"Використовуйте всі доступні сертифікати let's encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Використовуйте адаптер iobroker.acme для сертифікатів letsencrypt","ra_Use system settings for position":"Використовуйте системні налаштування для позиції","ra_Used system settings":"Використані системні налаштування","ra_User files":"Файли користувача",ra_ValidTill:gX,ra_Value:TX,ra_Version:yX,"ra_View file":"Переглянути файл","ra_View: %s":"Перегляд: %s",ra_Wednesday:DX,ra_Width:dX,ra_Yes:zX,"ra_You can export all objects or just the selected branch.":"Ви можете експортувати всі об’єкти або лише вибрану гілку.","ra_You can filter entries by entering here some text":"Ви можете фільтрувати записи, ввівши тут певний текст",ra___different__:IX,ra_aclEveryone_read_object:wX,ra_aclEveryone_read_state:CX,ra_aclEveryone_write_object:hX,ra_aclEveryone_write_state:AX,ra_aclGroup_read_object:pX,ra_aclGroup_read_state:mX,ra_aclGroup_write_object:OX,ra_aclGroup_write_state:EX,ra_aclOwner_read_object:_X,ra_aclOwner_read_state:SX,ra_aclOwner_write_object:xX,ra_aclOwner_write_state:fX,ra_buttons:kX,ra_changedFrom:YX,ra_close:QX,ra_create_boolean_state:UX,ra_create_channel:vX,ra_create_device:bX,ra_create_number_state:$X,ra_create_state:PX,ra_create_string_state:WX,ra_daysShortText:RX,ra_dow_Fr:JX,ra_dow_Mo:BX,ra_dow_Sa:FX,ra_dow_Su:GX,ra_dow_Th:HX,ra_dow_Tu:VX,ra_dow_We:ZX,ra_expertMode:XX,ra_false:KX,ra_fileType_all:qX,ra_fileType_audio:eK,ra_fileType_code:tK,ra_fileType_images:sK,ra_fileType_txt:iK,ra_fileType_video:oK,"ra_fileType_video,":"відео",ra_filter_customs:rK,ra_filter_customs_without:MK,ra_filter_func:nK,ra_filter_id:aK,ra_filter_name:cK,ra_filter_role:uK,ra_filter_room:NK,ra_filter_type:lK,"ra_import data from %s file":"Імпортувати дані з файлу %s",ra_invalidConfig:LK,ra_lastChange:jK,ra_locally:gK,ra_month_Apr:TK,ra_month_Aug:yK,ra_month_Dec:DK,ra_month_Feb:dK,ra_month_Jan:zK,ra_month_Jul:IK,ra_month_Jun:wK,ra_month_Mai:CK,ra_month_Mar:hK,ra_month_Nov:AK,ra_month_Oct:pK,ra_month_Sep:mK,ra_months_Apr:OK,ra_months_Aug:EK,ra_months_Dec:_K,ra_months_Feb:SK,ra_months_Jan:xK,ra_months_Jul:fK,ra_months_Jun:kK,ra_months_Mai:YK,ra_months_Mar:QK,ra_months_Nov:UK,ra_months_Oct:vK,ra_months_Sep:bK,"ra_no confirm for 5 mins":"без підтвердження протягом 5 хв",ra_none:$K,ra_object_changed_by:PK,ra_object_changed_by_user:WK,ra_otherConfig:RK,ra_qualityCode:JK,ra_repeat:BK,ra_select_folder_hint:FK,ra_show_all:GK,ra_state_changed_by:HK,ra_state_changed_from:VK,ra_timestamp:ZK,ra_tooltip_ack:XK,ra_tooltip_comment:KK,ra_tooltip_copyState:qK,ra_tooltip_ctrlForLink:eq,ra_tooltip_customConfig:tq,ra_tooltip_deleteObject:sq,ra_tooltip_editObject:iq,ra_tooltip_editState:oq,ra_tooltip_expire:rq,ra_tooltip_from:Mq,ra_tooltip_lc:nq,ra_tooltip_quality:aq,ra_tooltip_ts:cq,ra_tooltip_user:uq,ra_tooltip_value:Nq,ra_true:lq,"ra_use seconds":"використовуйте секунди",ra_val:Lq,"ra_via internet":"через інтернет",ra_warning_every_minute:jq,ra_warning_every_second:gq,sc_cron:Tq,sc_date:yq,sc_dates:Dq,sc_dow:dq,sc_dows:zq,sc_every:Iq,sc_everyN_dates:wq,sc_everyN_dow:Cq,sc_everyN_dows:hq,sc_everyN_hours:Aq,sc_everyN_minutes:pq,sc_everyN_months:mq,sc_everyN_seconds:Oq,sc_every_dates:Eq,sc_every_dow:_q,sc_every_dows:Sq,sc_every_hours:xq,sc_every_minutes:fq,sc_every_months:kq,sc_every_seconds:Yq,sc_from:Qq,sc_hours:Uq,sc_interval:vq,sc_intervalBetween:bq,sc_invalid_cron:$q,sc_minutes:Pq,sc_months:Wq,sc_once:Rq,sc_period:Jq,sc_seconds:Bq,sc_simple:Fq,sc_specific:Gq,sc_specific_dates:Hq,sc_specific_dow:Vq,sc_specific_dows:Zq,sc_specific_hours:Xq,sc_specific_minutes:Kq,sc_specific_months:qq,sc_specific_seconds:eee,sc_time:tee,sc_to:see,sc_wizard:iee,sch_all:oee,sch_astroDay:ree,sch_astroNight:Mee,sch_astro_dawn:nee,sch_astro_dusk:aee,sch_astro_goldenHour:cee,sch_astro_goldenHourEnd:uee,sch_astro_nadir:Nee,sch_astro_nauticalDawn:lee,sch_astro_nauticalDusk:Lee,sch_astro_night:jee,sch_astro_nightEnd:gee,sch_astro_solarNoon:Tee,sch_astro_sunrise:yee,sch_astro_sunriseEnd:Dee,sch_astro_sunset:dee,sch_astro_sunsetStart:zee,sch_at:Iee,sch_desc_atTime:wee,sch_desc_everyDay:Cee,sch_desc_everyHour:hee,sch_desc_everyMinute:Aee,sch_desc_everyMonth:pee,sch_desc_everyNDay:mee,sch_desc_everyNHours:Oee,sch_desc_everyNMinutes:Eee,sch_desc_everyNMonths:_ee,sch_desc_everyNWeeks:See,sch_desc_everyNYears:xee,sch_desc_everyWeek:fee,sch_desc_everyYear:kee,sch_desc_intervalFromTo:Yee,sch_desc_never:Qee,sch_desc_onDate:Uee,sch_desc_onDates:vee,sch_desc_onEveryDate:bee,sch_desc_onMonth:$ee,sch_desc_onMonths:Pee,sch_desc_onWeekday:Wee,sch_desc_onWeekdays:Ree,sch_desc_onWeekends:Jee,sch_desc_onWorkdays:Bee,sch_desc_onceInPast:Fee,sch_desc_once_on:Gee,sch_desc_validFrom:Hee,sch_desc_validFromTo:Vee,sch_desc_validTo:Zee,sch_every:Xee,sch_exactTime:Kee,sch_from:qee,sch_fromTo:ete,sch_intervalTime:tte,sch_invert:ste,sch_no_one:ite,sch_on:ote,sch_period:rte,sch_periodDaily:Mte,sch_periodDates:nte,sch_periodDay:ate,sch_periodEvery:cte,sch_periodEveryDay:ute,sch_periodEveryMonth:Nte,sch_periodEveryWeek:lte,sch_periodEveryYear:Lte,sch_periodHours:jte,sch_periodMinutes:gte,sch_periodMonth:Tte,sch_periodMonthly:yte,sch_periodOnce:Dte,sch_periodSpecificMonths:dte,sch_periodWeek:zte,sch_periodWeekdays:Ite,sch_periodWeekend:wte,sch_periodWeekly:Cte,sch_periodWorkdays:hte,sch_periodYear:Ate,sch_periodYearly:pte,sch_specificTime:mte,sch_time:Ote,sch_to:Ete,sch_valid:_te,sch_validFrom:Ste,sch_validTo:xte,sch_wholeDay:fte,sch_yearEveryMonth:kte},Qte="操作",Ute="附加",vte="取消",bte="类别",$te="勾选",Pte="删除",Wte="关",Rte="商业的",Jte="配置",Bte="连接的",Fte="继续",Gte="复制的",Hte="创建",Vte="庄稼",Zte="Delete",Xte="删除",Kte="丢弃",qte="断开连接",ese="错误",tse="筛选",sse="星期五",ise="纬度",ose="登出",rse="经度",Mse="信息",nse="周一",ase="姓名",cse="对象",use="好",Nse="产品",lse="重命名/移动/复制",Lse="重复",jse="代替",gse="根",Tse="周六",yse="保存",Dse="已选",dse="状态",zse="星期日",Ise="周四",wse="时间戳记",Cse="周二",hse="更新资料",Ase="有效期至",pse="值",mse="版本",Ose="周三",Ese="宽度",_se="是的",Sse="不同的",xse="每个人都可以阅读对象",fse="每个人都可以阅读状态",kse="每个人都可以写对象",Yse="每个人都可以写状态",Qse="组可以读取对象",Use="群组可以读取状态",vse="组可以写对象",bse="组可以写状态",$se="所有者可以读取对象",Pse="所有者可以读取状态",Wse="所有者可以写对象",Rse="所有者可以写状态",Jse="纽扣",Bse="更改为",Fse="关闭",Gse="创建布尔状态",Hse="创建频道",Vse="创建设备",Zse="创建号码状态",Xse="创建状态",Kse="创建字符串状态",qse="天",eie="r",tie="莫",sie="萨",iie="苏",oie="Th",rie="Tu",Mie="我们",nie="专家模式",aie="错误的",cie="所有文件",uie="声音的",Nie="代码/JSON",lie="图片",Lie="文本",jie="视频",gie="设定值",Tie="没有",yie="功能",Die="ID",die="名称",zie="角色",Iie="房间",wie="类型",Cie="无效的设定",hie="最后一次变更",Aie="本地",pie="4月",mie="八月",Oie="十二月",Eie="二月",_ie="简",Sie="七月",xie="君",fie="迈",kie="三月",Yie="十一月",Qie="十月",Uie="九月",vie="4月",bie="八月",$ie="十二月",Pie="二月",Wie="简",Rie="七月",Jie="君",Bie="迈",Fie="三月",Gie="十一月",Hie="十月",Vie="九月",Zie="没有任何",Xie="物件变更者",Kie="对象上次更改时间为",qie="来自其他适配器%s的设置",eoe="质量代码",toe="重复",soe="要选择文件夹,只需按住“shift”键单击文件夹即可。",ioe="显示全部",ooe="状态由",roe="对象已从更改",Moe="时间戳记",noe="致谢国旗",aoe="评论",coe="复制状态值",uoe="按住 Cltr/⌘ 键打开链接",Noe="自定义设置",loe="删除物件",Loe="编辑物件",joe="编辑状态值",goe="有效期:",Toe="从",yoe="最后改变了",Doe="质量",doe="时间戳",zoe="用户",Ioe="值",woe="真的",Coe="值",hoe="警告:CRON 作业将在指定期间内每分钟运行一次!",Aoe="警告:CRON 作业将在指定期间内每秒运行一次!",poe="周期任务",moe="日期",Ooe="日",Eoe="天",_oe="星期",Soe="每",xoe="每N天",foe="每周的第 N 天",koe="每周N天",Yoe="每N小时一次",Qoe="每N分钟",Uoe="每N个月",voe="每N秒",boe="每天",$oe="一周的每一天",Poe="一周的每一天",Woe="每小时",Roe="每分钟",Joe="每月",Boe="每秒",Foe="从",Goe="小时",Hoe="间隔",Voe="间隔时间",Zoe="无效的 CRON",Xoe="分钟",Koe="月",qoe="一次",ere="周期",tre="秒",sre="简单模式",ire="特定的时间",ore="特定的日子",rre="一周中的特定日子",Mre="特定的一周",nre="特定的小时",are="特定的分钟",cre="特定的月份",ure="特定的描述",Nre="时间",lre="至",Lre="向导模式",jre="全选",gre="天文白天",Tre="天文夜晚",yre="黎明",Dre="黄昏",dre="黄金时段",zre="黄金时段结束",Ire="天底",wre="航海黎明",Cre="航海黄昏",hre="夜晚",Are="夜晚结束",pre="正午",mre="日出",Ore="日出结束",Ere="日落",_re="日落开始",Sre="在",xre="的%s",fre="每天",kre="每小时",Yre="每分钟",Qre="每月",Ure="每%s天",vre="每%s小时",bre="每%s分钟",$re="每%s月",Pre="每%s周",Wre="每%s年",Rre="每周",Jre="每年",Bre="从%s到%s",Fre="决不",Gre="在%s的%s上",Hre="在%s和%s上",Vre="在每天",Zre="%s",Xre="%s和%s",Kre="在%s上",qre="在%s和%s上",eMe="在周末",tMe="在工作日",sMe="将不再执行,因为起始时间已经是过去的时间了。",iMe="在%s上",oMe="来自%s",rMe="从执行到",MMe="到%s",nMe="每",aMe="特定的时间",cMe="从",uMe="从到",NMe="间隔时间",lMe="倒置",LMe="取消全选",jMe="的",gMe="周期",TMe="每天",yMe="日期",DMe="天",dMe="每",zMe="每天",IMe="每月",wMe="每周",CMe="每年",hMe="小时",AMe="分钟",pMe="月",mMe="每月一次",OMe="一次",EMe="特定的月份",_Me="周",SMe="工作日",xMe="周末",fMe="每周",kMe="工作日",YMe="年",QMe="每年",UMe="特定的时间",vMe="时间",bMe="至",$Me="生效",PMe="从",WMe="至",RMe="一整天",JMe="每月",BMe={"ra_%s links from aliases":"来自别名的 %s 个链接","ra_%s object(s) processed":"已处理%s个对象","ra_%s was imported":"对象已导入","ra_Accept license":"接受许可",ra_Actions:Qte,"ra_Add new child object to selected parent":"将新的子对象添加到选定的父对象","ra_Add objects tree from JSON file":"从JSON文件添加对象树","ra_Add row":"添加行","ra_Advanced options":"高级选项","ra_All items are filtered out":"所有项目都被过滤掉","ra_All objects":"所有对象",ra_Append:Ute,"ra_Append %s entries or replace existing?":"追加 %s 条目还是替换现有条目?","ra_Append or replace?":"追加还是替换?","ra_Are you sure?":"你确定吗?","ra_Auto (no custom columns)":"自动(无自定义列)","ra_Back to %s":"返回“%s”","ra_Background image":"背景图像",ra_Cancel:vte,"ra_Cannot add items with set filter":"无法使用设置过滤器添加项目","ra_Cannot decode license":"无法解码许可证","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"无法确定位置:系统设置为空且浏览器中禁用了 GPS 检测",'ra_Cannot find "%s"':"找不到“%s”",'ra_Cannot read "%s"':"无法阅读“%s”","ra_Cannot read licenses: %s":"无法读取许可证:%s","ra_Cannot retrieve options, as instance is offline":"无法检索选项,因为实例处于脱机状态","ra_Cannot update attribute, because not found in the object":"无法更新属性,因为在对象中找不到","ra_Cannot upload":"无法上传",ra_Categories:bte,"ra_Chained certificate":"链式证书","ra_Change color theme":"更改颜色主题","ra_Changed from":"更改为","ra_Channel → State":"频道→状态","ra_Check license":"检查许可证",ra_Checked:$te,ra_Clear:Pte,"ra_Clear filter":"清除筛选","ra_Clear icon":"清除图标","ra_Clone current row":"克隆当前行",ra_Close:Wte,"ra_Collapse all nodes":"收合所有节点","ra_Collapse one step node":"折叠一级",ra_Commercial:Rte,ra_Configure:Jte,"ra_Configure visible columns":"配置可见列","ra_Confirm deletion of %s":"确认删除%s",ra_Connected:Bte,ra_Continue:Fte,ra_Copied:Gte,"ra_Copied %s":'复制的"%s"',"ra_Copy content":"复制内容",ra_Create:Hte,"ra_Create alias":"创建别名","ra_Create folder":"创建文件夹","ra_Create new folder in %s":"在%s中创建新文件夹",ra_Crop:Vte,"ra_Define CRON...":"定义 CRON...","ra_Define functions":"定义功能","ra_Define rooms":"定义房间","ra_Define schedule":"定义时间表","ra_Define schedule...":"定义时间表...",ra_Del:Zte,ra_Delete:Xte,"ra_Delete current row":"删除当前行","ra_Deselect all":"全部取消选择","ra_Device → Channel → State":"设备→频道→状态",ra_Discard:Kte,ra_Disconnected:qte,"ra_Do not ask for next 2 hours in this session":"本次会话中不要询问接下来的 2 个小时","ra_Do not export values of states":"不导出状态值","ra_Do not use let's encrypt":"不要使用让我们加密","ra_Double click to reset table layout":"双击重置表格布局","ra_Drag 'n' drop some files here, or click to select files":"将一些文件拖放到此处,或单击以选择文件","ra_Drop file here":"将档案放在这里","ra_Drop the files here...":"把文件放在这里...","ra_Duplicate name":"名称重复","ra_Edit ACL":"编辑访问控制列表","ra_Edit alias":"编辑别名","ra_Edit custom config":"编辑自定义配置","ra_Edit full path":"编辑完整路径","ra_Edit function":"编辑功能","ra_Edit object field":"编辑对象字段","ra_Edit role":"编辑角色","ra_Edit room":"编辑室","ra_Edit value":"编辑值","ra_Enter the code from that page here":"在此处输入该页面的代码",ra_Error:ese,"ra_Expand all nodes":"展开所有节点","ra_Expand one step node":"扩大一级","ra_Export data to %s file":"将数据导出到 %s 文件","ra_Failed to open JSON File":"无法打开JSON文件","ra_Fallback custom certificates":"后备自定义证书","ra_File is too big. Max %sk allowed. Try use SVG.":"文件太大。允许的最大字节%s数。尝试使用 SVG。",ra_Filter:tse,"ra_Filter and Data Actions":"过滤和数据操作","ra_Filter files":"过滤文件","ra_Folder name":"文件夹名称","ra_Folder → Channel → State":"文件夹→频道→状态","ra_Folder → Device → Channel → State":"文件夹→设备→频道→状态","ra_Folder → State":"文件夹→状态","ra_Folders always first":"资料夹永远优先",ra_Friday:sse,"ra_Get %s access":"获取 %s 访问权限","ra_Good luck":"祝你好运","ra_Hide empty folders":"隐藏空文件夹","ra_If no file will be created in the folder, it will disappear after the browser closed":"如果在该文件夹中未创建任何文件,则该文件将在浏览器关闭后消失","ra_If the button above does not work, you can authorize manually this app by visiting this url":"如果上面的按钮不起作用,您可以通过访问此网址手动授权此应用","ra_Import data from %s file":"从 %s 文件导入数据","ra_Import from %s":"从 %s 导入","ra_Instance %s is alive":"实例 %s 是活动的","ra_Instance %s is not alive":"实例 %s 不存在","ra_Instance is not alive":"实例不存在","ra_Invalid CRON":"无效的 CRON","ra_Invalid JSON":"JSON 无效","ra_Invalid answer from server":"来自服务器的无效答案","ra_Invalid parent folder!":"父文件夹无效!","ra_Invalid structure":"结构无效","ra_JSON editor":"JSON 编辑器","ra_Last change":"最后一次变更",ra_Latitude:ise,"ra_License %s":"许可证 %s","ra_License agreement":"许可协议","ra_License does not exist":"许可证不存在","ra_License expired on %s":"许可证已于 %s 过期",'ra_License for other product "%s"':"其他产品“%s”的许可证","ra_License is for version %s, but required version is %s.":"许可证适用于版本 %s,但所需版本为 %s。","ra_License must be converted":"许可证必须转换为更新版本。您可以在 iobroker.net 个人资料中执行此操作。","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"在许可证管理器中找不到许可证。您要从 iobroker.net 更新许可证吗?","ra_Listen on all IPs":"监听所有IP","ra_Load configuration from file":"从文件加载配置",ra_Logout:ose,ra_Longitude:rse,'ra_May not trigger "updateLicenses"':"可能不会触发“updateLicenses”",ra_Message:Mse,ra_Monday:nse,"ra_Move down":"下移","ra_Move up":"提升",ra_Name:ase,"ra_No data found in file":"文件中未找到数据","ra_No one license found in license manager":"许可证管理器中未找到任何许可证","ra_No response from the backend":"后端无响应",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"非专家只能在“ 0_userdata.0”或“ alias.0”中创建新对象。","ra_Not a number":"不是数字",ra_Objects:cse,ra_Ok:use,"ra_On weekdays":"在工作日","ra_Only following structures of objects are available:":"仅以下对象结构可用:","ra_Only selected":"只选择","ra_Owner group":"所有者组","ra_Owner user":"所有者用户","ra_Passwords are not equal!":"密码不相等!","ra_Place your files here or click here to open the browse dialog":"将文件放在此处或单击此处打开浏览对话框","ra_Please allow popups in your browser for this page!":"请允许浏览器弹出此页面!","ra_Please confirm":"请确认","ra_Please create license":"请创建许可证","ra_Please enter the license":"请输入许可证","ra_Please select file...":"请选择文件...","ra_Please select object ID...":"请选择对象ID ...","ra_Port could be used by %s":"%s 可以使用端口","ra_Port is already used by %s":"端口已被 %s 使用","ra_Press ENTER Key to add new item":"按 ENTER 键添加新项目","ra_Private certificate":"私有证书",ra_Product:Nse,"ra_Public certificate":"公共证书","ra_Quality code":"质量代码","ra_Refresh tree":"刷新树","ra_Reload files":"重新载入文件",ra_Rename_Move_Copy:lse,"ra_Renew %s access":"续订 %s 访问权限",ra_Repeat:Lse,ra_Replace:jse,"ra_Request timed out":"请求超时","ra_Restrict to folder":"限制到文件夹",ra_Root:gse,ra_Saturday:Tse,ra_Save:yse,"ra_Save and close":"保存并关闭","ra_Save configuration to file":"将配置保存到文件","ra_Save objects tree as JSON file":"将对象树另存为JSON文件","ra_Select all":"全选","ra_Select color":"选择颜色","ra_Select predefined icon":"选择预定义图标","ra_Select type of export":"选择导出类型",ra_Selected:Dse,"ra_Selected %s object(s)":"选定的 %s 个对象","ra_Serial number (UUID)":"序列号 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"许可证中的序列号 (UUID)“%s”用于其他设备。","ra_Session will expire in %s seconds. Continue?":"会话将在 %s 秒后过期。是否继续?","ra_Show all folders":"显示所有文件夹","ra_Show lines between rows":"显示行之间的线","ra_Show/Hide object descriptions":"显示/隐藏对象描述","ra_Show/hide filter input":"显示/隐藏过滤器输入","ra_Some data are not stored. Discard?":"部分数据未存储。丢弃?",ra_States:dse,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"授权成功。令牌有效期至 %s,并将自动续订。","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"授权成功。令牌有效期至 %s,但由于实例未运行,令牌可能会过期。","ra_Suitable license not found in license manager":"在许可证管理器中找不到合适的许可证",ra_Sunday:zse,"ra_Suppress question for next %s minutes":"在接下来的%s分钟内取消提问","ra_System language":"系统语言","ra_Take browser position":"从浏览器获取位置","ra_Take position from system settings":"从系统设置中获取位置",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"专家可以在任何地方创建对象,但要从第二层开始(例如“ vis.0”或“ javascript.0”)。","ra_The page you are looking for was not found":"未找到您要查找的页面","ra_The schedule will be executed every minute. Are you sure?":"该计划将每分钟执行一次。您确定吗?","ra_The schedule will be executed every second. Are you sure?":"该计划将每秒执行一次。你确定吗?",ra_Thursday:Ise,ra_Timestamp:wse,"ra_Toggle expert mode":"切换专家模式","ra_Toggle the states view":"切换状态视图","ra_Toggle view mode":"切换检视模式","ra_Too big":"太大","ra_Too small":"太小","ra_Transparent dialog":"透明对话框",ra_Tuesday:Cse,"ra_Unknown error":"未知错误","ra_Unknown error!":"未知错误!",ra_Update:hse,"ra_Upload file":"上传文件","ra_Use all available let's encrypt certificates":"使用所有可用的让我们加密证书","ra_Use iobroker.acme adapter for letsencrypt certificates":"使用 iobroker.acme 适配器获取 letsencrypt 证书","ra_Use system settings for position":"使用系统设置定位","ra_Used system settings":"使用的系统设置","ra_User files":"用户档案",ra_ValidTill:Ase,ra_Value:pse,ra_Version:mse,"ra_View file":"查看文件","ra_View: %s":"查看:%s",ra_Wednesday:Ose,ra_Width:Ese,ra_Yes:_se,"ra_You can export all objects or just the selected branch.":"您可以导出所有对象或仅导出选定的分支。","ra_You can filter entries by entering here some text":"您可以通过在此处输入一些文本来过滤条目",ra___different__:Sse,ra_aclEveryone_read_object:xse,ra_aclEveryone_read_state:fse,ra_aclEveryone_write_object:kse,ra_aclEveryone_write_state:Yse,ra_aclGroup_read_object:Qse,ra_aclGroup_read_state:Use,ra_aclGroup_write_object:vse,ra_aclGroup_write_state:bse,ra_aclOwner_read_object:$se,ra_aclOwner_read_state:Pse,ra_aclOwner_write_object:Wse,ra_aclOwner_write_state:Rse,ra_buttons:Jse,ra_changedFrom:Bse,ra_close:Fse,ra_create_boolean_state:Gse,ra_create_channel:Hse,ra_create_device:Vse,ra_create_number_state:Zse,ra_create_state:Xse,ra_create_string_state:Kse,ra_daysShortText:qse,ra_dow_Fr:eie,ra_dow_Mo:tie,ra_dow_Sa:sie,ra_dow_Su:iie,ra_dow_Th:oie,ra_dow_Tu:rie,ra_dow_We:Mie,ra_expertMode:nie,ra_false:aie,ra_fileType_all:cie,ra_fileType_audio:uie,ra_fileType_code:Nie,ra_fileType_images:lie,ra_fileType_txt:Lie,ra_fileType_video:jie,"ra_fileType_video,":"视频",ra_filter_customs:gie,ra_filter_customs_without:Tie,ra_filter_func:yie,ra_filter_id:Die,ra_filter_name:die,ra_filter_role:zie,ra_filter_room:Iie,ra_filter_type:wie,"ra_import data from %s file":"从 %s 文件导入数据",ra_invalidConfig:Cie,ra_lastChange:hie,ra_locally:Aie,ra_month_Apr:pie,ra_month_Aug:mie,ra_month_Dec:Oie,ra_month_Feb:Eie,ra_month_Jan:_ie,ra_month_Jul:Sie,ra_month_Jun:xie,ra_month_Mai:fie,ra_month_Mar:kie,ra_month_Nov:Yie,ra_month_Oct:Qie,ra_month_Sep:Uie,ra_months_Apr:vie,ra_months_Aug:bie,ra_months_Dec:$ie,ra_months_Feb:Pie,ra_months_Jan:Wie,ra_months_Jul:Rie,ra_months_Jun:Jie,ra_months_Mai:Bie,ra_months_Mar:Fie,ra_months_Nov:Gie,ra_months_Oct:Hie,ra_months_Sep:Vie,"ra_no confirm for 5 mins":"5分钟内无需确认",ra_none:Zie,ra_object_changed_by:Xie,ra_object_changed_by_user:Kie,ra_otherConfig:qie,ra_qualityCode:eoe,ra_repeat:toe,ra_select_folder_hint:soe,ra_show_all:ioe,ra_state_changed_by:ooe,ra_state_changed_from:roe,ra_timestamp:Moe,ra_tooltip_ack:noe,ra_tooltip_comment:aoe,ra_tooltip_copyState:coe,ra_tooltip_ctrlForLink:uoe,ra_tooltip_customConfig:Noe,ra_tooltip_deleteObject:loe,ra_tooltip_editObject:Loe,ra_tooltip_editState:joe,ra_tooltip_expire:goe,ra_tooltip_from:Toe,ra_tooltip_lc:yoe,ra_tooltip_quality:Doe,ra_tooltip_ts:doe,ra_tooltip_user:zoe,ra_tooltip_value:Ioe,ra_true:woe,"ra_use seconds":"用秒",ra_val:Coe,"ra_via internet":"通过互联网",ra_warning_every_minute:hoe,ra_warning_every_second:Aoe,sc_cron:poe,sc_date:moe,sc_dates:Ooe,sc_dow:Eoe,sc_dows:_oe,sc_every:Soe,sc_everyN_dates:xoe,sc_everyN_dow:foe,sc_everyN_dows:koe,sc_everyN_hours:Yoe,sc_everyN_minutes:Qoe,sc_everyN_months:Uoe,sc_everyN_seconds:voe,sc_every_dates:boe,sc_every_dow:$oe,sc_every_dows:Poe,sc_every_hours:Woe,sc_every_minutes:Roe,sc_every_months:Joe,sc_every_seconds:Boe,sc_from:Foe,sc_hours:Goe,sc_interval:Hoe,sc_intervalBetween:Voe,sc_invalid_cron:Zoe,sc_minutes:Xoe,sc_months:Koe,sc_once:qoe,sc_period:ere,sc_seconds:tre,sc_simple:sre,sc_specific:ire,sc_specific_dates:ore,sc_specific_dow:rre,sc_specific_dows:Mre,sc_specific_hours:nre,sc_specific_minutes:are,sc_specific_months:cre,sc_specific_seconds:ure,sc_time:Nre,sc_to:lre,sc_wizard:Lre,sch_all:jre,sch_astroDay:gre,sch_astroNight:Tre,sch_astro_dawn:yre,sch_astro_dusk:Dre,sch_astro_goldenHour:dre,sch_astro_goldenHourEnd:zre,sch_astro_nadir:Ire,sch_astro_nauticalDawn:wre,sch_astro_nauticalDusk:Cre,sch_astro_night:hre,sch_astro_nightEnd:Are,sch_astro_solarNoon:pre,sch_astro_sunrise:mre,sch_astro_sunriseEnd:Ore,sch_astro_sunset:Ere,sch_astro_sunsetStart:_re,sch_at:Sre,sch_desc_atTime:xre,sch_desc_everyDay:fre,sch_desc_everyHour:kre,sch_desc_everyMinute:Yre,sch_desc_everyMonth:Qre,sch_desc_everyNDay:Ure,sch_desc_everyNHours:vre,sch_desc_everyNMinutes:bre,sch_desc_everyNMonths:$re,sch_desc_everyNWeeks:Pre,sch_desc_everyNYears:Wre,sch_desc_everyWeek:Rre,sch_desc_everyYear:Jre,sch_desc_intervalFromTo:Bre,sch_desc_never:Fre,sch_desc_onDate:Gre,sch_desc_onDates:Hre,sch_desc_onEveryDate:Vre,sch_desc_onMonth:Zre,sch_desc_onMonths:Xre,sch_desc_onWeekday:Kre,sch_desc_onWeekdays:qre,sch_desc_onWeekends:eMe,sch_desc_onWorkdays:tMe,sch_desc_onceInPast:sMe,sch_desc_once_on:iMe,sch_desc_validFrom:oMe,sch_desc_validFromTo:rMe,sch_desc_validTo:MMe,sch_every:nMe,sch_exactTime:aMe,sch_from:cMe,sch_fromTo:uMe,sch_intervalTime:NMe,sch_invert:lMe,sch_no_one:LMe,sch_on:jMe,sch_period:gMe,sch_periodDaily:TMe,sch_periodDates:yMe,sch_periodDay:DMe,sch_periodEvery:dMe,sch_periodEveryDay:zMe,sch_periodEveryMonth:IMe,sch_periodEveryWeek:wMe,sch_periodEveryYear:CMe,sch_periodHours:hMe,sch_periodMinutes:AMe,sch_periodMonth:pMe,sch_periodMonthly:mMe,sch_periodOnce:OMe,sch_periodSpecificMonths:EMe,sch_periodWeek:_Me,sch_periodWeekdays:SMe,sch_periodWeekend:xMe,sch_periodWeekly:fMe,sch_periodWorkdays:kMe,sch_periodYear:YMe,sch_periodYearly:QMe,sch_specificTime:UMe,sch_time:vMe,sch_to:bMe,sch_valid:$Me,sch_validFrom:PMe,sch_validTo:WMe,sch_wholeDay:RMe,sch_yearEveryMonth:JMe},FMe={en:KT,de:aw,ru:Dp,pt:O_,nl:b5,fr:Vv,it:r$,es:gB,pl:AZ,uk:Yte,"zh-cn":BMe},GMe=` +`).forEach(M=>{if(!M.trim())return;const a=M.indexOf(":");if(a!==-1){const u=M.substring(0,a).trim();let N=M.substring(a+1).trim();N=N.replace(/^['"]|['"]$/g,""),N==="true"?t[u]=!0:N==="false"?t[u]=!1:parseFloat(N).toString()===t[u]?t[u]=parseFloat(N):t[u]=N}else t[M.trim()]=!0}),e=e.substring(s+7))}return{header:t,body:e}}static MDremoveDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(s=>e=e.replace(s,"")),e}static generateFile(e,t){const s=document.createElement("a");s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}static quality2text(e){const t=e&4294901760,s=fi[e];let o;return s?o=[s]:e&1?o=[fi[1],`0x${(e&65534).toString(16)}`]:e&2?o=[fi[2],`0x${(e&65533).toString(16)}`]:o=[`0x${e.toString(16)}`],t&&o.push(`0x${(t>>16).toString(16).toUpperCase()}`),o}static clone(e){return JSON.parse(JSON.stringify(e))}static getStates(e){var o;const t=(o=e==null?void 0:e.common)==null?void 0:o.states;let s;if(t)if(typeof t=="string"&&t[0]==="{")try{s=JSON.parse(t)}catch{console.error(`Cannot parse states: ${t}`),s=null}else if(typeof t=="string"){const r=t.split(";");s={};for(let M=0;Ms[M]=r):(e==null?void 0:e.common.type)==="string"?t.forEach(r=>s[r]=r):(e==null?void 0:e.common.type)==="boolean"&&(s.false=t[0],s.true=t[1])):typeof t=="object"&&(s=t);return s||null}static async getSvg(e){const s=await(await fetch(e)).blob();return new Promise(o=>{const r=new FileReader;r.onload=()=>{var M;return o(((M=r.result)==null?void 0:M.toString())||"")},r.readAsDataURL(s)})}static detectMimeType(e){const t=Object.keys(oM).find(s=>e.startsWith(s));return t?oM[t]:null}static isStableRepository(e){return!!(typeof e=="string"&&e.toLowerCase().startsWith("stable")||e&&typeof e!="string"&&e.find(t=>t.toLowerCase().startsWith("stable")))}static isStringInteger(e){return typeof e=="number"?Math.round(e)===e:parseInt(e,10).toString()===e}static isValidDate(e){return e instanceof Date&&!isNaN(e)}static getStyle(e,...t){const s={};for(let o=0;o{if(typeof t[o][r]=="function")s[r]=t[o][r](e);else if(typeof t[o][r]=="object"){const M=t[o][r];s[r]={},Object.keys(M).forEach(a=>{typeof M[a]=="function"?s[r][a]=M(e):(M[a]||M[a]===0)&&(s[r][a]=M[a])})}else(t[o][r]||t[o][r]===0)&&(s[r]=t[o][r])});return s}}const ki={buttonIcon:{marginRight:8}};class J4 extends n.Component{isIFrame;constructor(e){super(e);const t=e.newReact===void 0?!0:e.newReact;if(e.isIFrame!==void 0)this.isIFrame=e.isIFrame;else try{this.isIFrame=!t&&window.self!==window.top}catch{this.isIFrame=!t}}render(){const e=this.props.noTextOnButtons,t={borderRadius:this.props.theme.saveToolbar.button.borderRadius||3,height:this.props.theme.saveToolbar.button.height||32},s={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(s.minHeight=48),this.props.error&&(t.border="1px solid red"),n.createElement(g.Toolbar,{style:s},n.createElement(g.Fab,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:t},n.createElement(m.Save,{style:e?void 0:ki.buttonIcon}),!e&&d.t("ra_Save")),n.createElement(g.Fab,{variant:"extended","aria-label":"Save and close",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!0),style:{...t,marginLeft:10}},n.createElement(m.Save,{style:e?void 0:ki.buttonIcon}),e?"+":d.t("ra_Save and close"),e&&n.createElement(m.Close,null)),n.createElement("div",{style:{flexGrow:1}}),n.createElement(g.Fab,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:t},n.createElement(m.Close,{style:e?void 0:ki.buttonIcon}),!e&&d.t("ra_Close")))}}const rM={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}};class Kn extends b.Component{constructor(e){if(super(e),!this.props.dialogName&&this.props.suppressQuestionMinutes)throw new Error("dialogName required if suppressQuestionMinutes used");let t=!1;this.props.suppressQuestionMinutes&&(t=parseInt((window._localStorage||window.localStorage).getItem(this.props.dialogName),10)||0,t?Date.now()>t&&((window._localStorage||window.localStorage).removeItem(this.props.dialogName),t=!1):t=!1),this.state={suppress:t}}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):n.createElement(g.Dialog,{open:!0,maxWidth:"md",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:(e,t)=>{t!=="backdropClick"&&t!=="escapeKeyDown"&&this.handleCancel()},"aria-labelledby":"ar_confirmation_dialog_title","aria-describedby":"ar_confirmation_dialog_description"},n.createElement(g.DialogTitle,{id:"ar_confirmation_dialog_title"},this.props.title||d.t("ra_Are you sure?")),n.createElement(g.DialogContent,null,n.createElement(g.DialogContentText,{id:"ar_confirmation_dialog_description"},this.props.icon||null,this.props.text,this.props.suppressQuestionMinutes?n.createElement("br",null):null,this.props.suppressQuestionMinutes?n.createElement(g.FormControlLabel,{sx:{"& .FormControlLabel-label":rM.suppress,"&.FormControlLabel-root":rM.suppressRoot},control:n.createElement(g.Checkbox,{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)),n.createElement(g.DialogActions,null,n.createElement(g.Button,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(m.Check,null)},this.props.ok||d.t("ra_Ok")),n.createElement(g.Button,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(m.Close,null)},this.props.cancel||d.t("ra_Cancel"))))}}class qn extends b.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return n.createElement(g.Dialog,{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"},n.createElement(g.DialogTitle,{id:"ar_alert_dialog_title"},this.props.title||d.t("ra_Error")),n.createElement(g.DialogContent,null,n.createElement(g.DialogContentText,{id:"ar_alert_dialog_description"},this.props.text||d.t("ra_Unknown error!"))),n.createElement(g.DialogActions,null,n.createElement(g.Button,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(m.Check,null)},d.t("ra_Ok"))))}}const B4="Actions",F4="Append",G4="Cancel",H4="Categories",V4="Checked",Z4="Delete",X4="Close",K4="Commercial",q4="Configure",eL="Connected",tL="Continue",sL="Copied",iL="Create",oL="Crop",rL="Delete",ML="Delete",nL="Discard",aL="Disconnected",cL="Error",uL="Filter",NL="Friday",lL="Latitude",LL="Logout",jL="Longitude",gL="Message",TL="Monday",yL="Name",DL="Objects",dL="Ok",zL="Product",IL="Rename/Move/Copy",wL="Repeat",CL="Replace",hL="Root",AL="Saturday",pL="Save",mL="Selected",OL="States",EL="Sunday",_L="Thursday",SL="Timestamp",xL="Tuesday",fL="Update",kL="Valid till",YL="Value",QL="Version",UL="Wednesday",vL="Width",bL="Yes",$L="different",PL="Everyone can read object",WL="Everyone can read state",RL="Everyone can write object",JL="Everyone can write state",BL="Group can read object",FL="Group can read state",GL="Group can write object",HL="Group can write state",VL="Owner can read object",ZL="Owner can read state",XL="Owner can write object",KL="Owner can write state",qL="Buttons",e0="Changed from",t0="close",s0="Create boolean state",i0="Create channel",o0="Create device",r0="Create number state",M0="Create state",n0="Create string state",a0="days",c0="Fr",u0="Mo",N0="Sa",l0="Su",L0="Th",j0="Tu",g0="We",T0="Expert mode",y0="FALSE",D0="All files",d0="Audio",z0="Code/JSON",I0="Images",w0="Text",C0="Video",h0="Settings",A0="without",p0="Function",m0="ID",O0="Name",E0="Role",_0="Room",S0="Type",x0="Invalid settings",f0="Last change",k0="locally",Y0="Apr",Q0="Aug",U0="Dec",v0="Feb",b0="Jan",$0="Jul",P0="Jun",W0="Mai",R0="Mar",J0="Nov",B0="Oct",F0="Sep",G0="Apr",H0="Aug",V0="Dec",Z0="Feb",X0="Jan",K0="Jul",q0="Jun",ej="Mai",tj="Mar",sj="Nov",ij="Oct",oj="Sep",rj="none",Mj="Object changed by",nj="Object last changed at",aj="Settings from other adapter %s",cj="Quality code",uj="repeat",Nj='To select folder, just hold the key "shift" by clicking the folder.',lj="Show all",Lj="State changed by",jj="Object changed from",gj="Timestamp",Tj="Acknowledged",yj="Comment",Dj="Copy the state value",dj="Hold Cltr/⌘ key to open the link",zj="Custom settings",Ij="Delete object",wj="Edit object",Cj="Edit the state value",hj="Expires in",Aj="From",pj="Last changed",mj="Quality",Oj="Time stamp",Ej="User",_j="Value",Sj="TRUE",xj="Value",fj="Warning: The CRON job will run every minute during the specified period!",kj="Warning: The CRON job will run every second during the specified period!",Yj="CRON",Qj="Date",Uj="Dates",vj="Day",bj="Day of week",$j="Every",Pj="every N days",Wj="every Nth day of the week",Rj="every N day of week",Jj="every N hours",Bj="every N minutes",Fj="every N months",Gj="every N seconds",Hj="every day",Vj="every day of the week",Zj="every day of the week",Xj="every hour",Kj="every minute",qj="every month",eg="every second",tg="From",sg="Hours",ig="Interval",og="Interval between",rg="Invalid CRON",Mg="Minutes",ng="months",ag="Once",cg="Period",ug="Seconds",Ng="Simple",lg="Specific time",Lg="specific dates",jg="specific day(s) of the week",gg="specific day of weeks",Tg="specific hours",yg="specific minutes",Dg="specific months",dg="specific seconds",zg="Time",Ig="To",wg="Wizard",Cg="all",hg="Astro day",Ag="Astro night",pg="Dawn",mg="Dusk",Og="Golden hour",Eg="Golden hour end",_g="Nadir",Sg="Nautical dawn",xg="Nautical dusk",fg="Night",kg="Night end",Yg="Solar noon",Qg="Sunrise",Ug="Sunrise end",vg="Sunset",bg="Sunset start",$g="at",Pg="at %s",Wg="every day",Rg="every hour",Jg="every minute",Bg="every month",Fg="every %s day",Gg="every %s hours",Hg="every %s minutes",Vg="every %s months",Zg="every %s weeks",Xg="every %s years",Kg="every week",qg="every year",eT="from %s to %s",tT="never",sT="on %s of %s",iT="on %s and %s of",oT="on every date of",rT="%s",MT="%s and %s",nT="on %s",aT="on %s and %s",cT="on weekends",uT="on working days",NT="will ne be not executed any more, because start is in the past",lT="on %s",LT="from %s",jT="Execute from to",gT="to %s",TT="every",yT="Specific time",DT="from",dT="From-to",zT="Interval time",IT="invert",wT="none",CT="on",hT="Period",AT="Daily",pT="Dates",mT="Day",OT="Every",ET="Every day",_T="Every month",ST="Every week",xT="Every year",fT="Hours",kT="Minutes",YT="month",QT="Monthly",UT="Once",vT="Specific months",bT="Week",$T="Weekdays",PT="Weekend",WT="Weekly",RT="Workdays",JT="Year",BT="Yearly",FT="Specific time",GT="Time",HT="to",VT="Valid",ZT="from",XT="to",KT="Whole day",qT="every month",ey={"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_Actions:B4,"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:F4,"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:G4,"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:H4,"ra_Chained certificate":"Chained certificate","ra_Change color theme":"Change color theme","ra_Changed from":"Changed from","ra_Channel → State":"Channel → State","ra_Check license":"Check license",ra_Checked:V4,ra_Clear:Z4,"ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Clone current row":"Clone current row",ra_Close:X4,"ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:K4,ra_Configure:q4,"ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:eL,ra_Continue:tL,ra_Copied:sL,"ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:iL,"ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:oL,"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:rL,ra_Delete:ML,"ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device → Channel → State":"Device → Channel → State",ra_Discard:nL,ra_Disconnected:aL,"ra_Do not ask for next 2 hours in this session":"Do not ask for next 2 hours in this session","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 full path":"Edit full path","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_Enter the code from that page here":"Enter the code from that page here",ra_Error:cL,"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:uL,"ra_Filter and Data Actions":"Filter and Data Actions","ra_Filter files":"Filter files","ra_Folder name":"Folder name","ra_Folder → Channel → State":"Folder → Channel → State","ra_Folder → Device → Channel → State":"Folder → Device → Channel → State","ra_Folder → State":"Folder → State","ra_Folders always first":"Folders always first",ra_Friday:NL,"ra_Get %s access":"Get %s access","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_If the button above does not work, you can authorize manually this app by visiting this url":"If the button above does not work, you can authorize manually this app by visiting this url","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:lL,"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_Logout:LL,ra_Longitude:jL,'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:gL,ra_Monday:TL,"ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:yL,"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:DL,ra_Ok:dL,"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 allow popups in your browser for this page!":"Please allow popups in your browser for this page!","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_Press ENTER Key to add new item":"Press ENTER Key to add new item","ra_Private certificate":"Private certificate",ra_Product:zL,"ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Rename_Move_Copy:IL,"ra_Renew %s access":"Renew %s access",ra_Repeat:wL,ra_Replace:CL,"ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:hL,ra_Saturday:AL,ra_Save:pL,"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:mL,"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_Session will expire in %s seconds. Continue?":"Session will expire in %s seconds. Continue?","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:OL,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Successfully authorized. Token valid till %s and will be automatically renewed.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Successfully authorized. Token valid till %s but it can expire as the instance is not running.","ra_Suitable license not found in license manager":"Suitable license not found in license manager",ra_Sunday:EL,"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:_L,ra_Timestamp:SL,"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:xL,"ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:fL,"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:kL,ra_Value:YL,ra_Version:QL,"ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:UL,ra_Width:vL,ra_Yes:bL,"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_You can use * as wildcard":"You can use * as wildcard",ra___different__:$L,ra_aclEveryone_read_object:PL,ra_aclEveryone_read_state:WL,ra_aclEveryone_write_object:RL,ra_aclEveryone_write_state:JL,ra_aclGroup_read_object:BL,ra_aclGroup_read_state:FL,ra_aclGroup_write_object:GL,ra_aclGroup_write_state:HL,ra_aclOwner_read_object:VL,ra_aclOwner_read_state:ZL,ra_aclOwner_write_object:XL,ra_aclOwner_write_state:KL,ra_buttons:qL,ra_changedFrom:e0,ra_close:t0,ra_create_boolean_state:s0,ra_create_channel:i0,ra_create_device:o0,ra_create_number_state:r0,ra_create_state:M0,ra_create_string_state:n0,ra_daysShortText:a0,ra_dow_Fr:c0,ra_dow_Mo:u0,ra_dow_Sa:N0,ra_dow_Su:l0,ra_dow_Th:L0,ra_dow_Tu:j0,ra_dow_We:g0,ra_expertMode:T0,ra_false:y0,ra_fileType_all:D0,ra_fileType_audio:d0,ra_fileType_code:z0,ra_fileType_images:I0,ra_fileType_txt:w0,ra_fileType_video:C0,"ra_fileType_video,":"Video",ra_filter_customs:h0,ra_filter_customs_without:A0,ra_filter_func:p0,ra_filter_id:m0,ra_filter_name:O0,ra_filter_role:E0,ra_filter_room:_0,ra_filter_type:S0,"ra_import data from %s file":"Import data from %s file",ra_invalidConfig:x0,ra_lastChange:f0,ra_locally:k0,ra_month_Apr:Y0,ra_month_Aug:Q0,ra_month_Dec:U0,ra_month_Feb:v0,ra_month_Jan:b0,ra_month_Jul:$0,ra_month_Jun:P0,ra_month_Mai:W0,ra_month_Mar:R0,ra_month_Nov:J0,ra_month_Oct:B0,ra_month_Sep:F0,ra_months_Apr:G0,ra_months_Aug:H0,ra_months_Dec:V0,ra_months_Feb:Z0,ra_months_Jan:X0,ra_months_Jul:K0,ra_months_Jun:q0,ra_months_Mai:ej,ra_months_Mar:tj,ra_months_Nov:sj,ra_months_Oct:ij,ra_months_Sep:oj,"ra_no confirm for 5 mins":"no confirm for 5 mins",ra_none:rj,ra_object_changed_by:Mj,ra_object_changed_by_user:nj,ra_otherConfig:aj,ra_qualityCode:cj,ra_repeat:uj,ra_select_folder_hint:Nj,ra_show_all:lj,ra_state_changed_by:Lj,ra_state_changed_from:jj,ra_timestamp:gj,ra_tooltip_ack:Tj,ra_tooltip_comment:yj,ra_tooltip_copyState:Dj,ra_tooltip_ctrlForLink:dj,ra_tooltip_customConfig:zj,ra_tooltip_deleteObject:Ij,ra_tooltip_editObject:wj,ra_tooltip_editState:Cj,ra_tooltip_expire:hj,ra_tooltip_from:Aj,ra_tooltip_lc:pj,ra_tooltip_quality:mj,ra_tooltip_ts:Oj,ra_tooltip_user:Ej,ra_tooltip_value:_j,ra_true:Sj,"ra_use seconds":"use seconds",ra_val:xj,"ra_via internet":"via internet",ra_warning_every_minute:fj,ra_warning_every_second:kj,sc_cron:Yj,sc_date:Qj,sc_dates:Uj,sc_dow:vj,sc_dows:bj,sc_every:$j,sc_everyN_dates:Pj,sc_everyN_dow:Wj,sc_everyN_dows:Rj,sc_everyN_hours:Jj,sc_everyN_minutes:Bj,sc_everyN_months:Fj,sc_everyN_seconds:Gj,sc_every_dates:Hj,sc_every_dow:Vj,sc_every_dows:Zj,sc_every_hours:Xj,sc_every_minutes:Kj,sc_every_months:qj,sc_every_seconds:eg,sc_from:tg,sc_hours:sg,sc_interval:ig,sc_intervalBetween:og,sc_invalid_cron:rg,sc_minutes:Mg,sc_months:ng,sc_once:ag,sc_period:cg,sc_seconds:ug,sc_simple:Ng,sc_specific:lg,sc_specific_dates:Lg,sc_specific_dow:jg,sc_specific_dows:gg,sc_specific_hours:Tg,sc_specific_minutes:yg,sc_specific_months:Dg,sc_specific_seconds:dg,sc_time:zg,sc_to:Ig,sc_wizard:wg,sch_all:Cg,sch_astroDay:hg,sch_astroNight:Ag,sch_astro_dawn:pg,sch_astro_dusk:mg,sch_astro_goldenHour:Og,sch_astro_goldenHourEnd:Eg,sch_astro_nadir:_g,sch_astro_nauticalDawn:Sg,sch_astro_nauticalDusk:xg,sch_astro_night:fg,sch_astro_nightEnd:kg,sch_astro_solarNoon:Yg,sch_astro_sunrise:Qg,sch_astro_sunriseEnd:Ug,sch_astro_sunset:vg,sch_astro_sunsetStart:bg,sch_at:$g,sch_desc_atTime:Pg,sch_desc_everyDay:Wg,sch_desc_everyHour:Rg,sch_desc_everyMinute:Jg,sch_desc_everyMonth:Bg,sch_desc_everyNDay:Fg,sch_desc_everyNHours:Gg,sch_desc_everyNMinutes:Hg,sch_desc_everyNMonths:Vg,sch_desc_everyNWeeks:Zg,sch_desc_everyNYears:Xg,sch_desc_everyWeek:Kg,sch_desc_everyYear:qg,sch_desc_intervalFromTo:eT,sch_desc_never:tT,sch_desc_onDate:sT,sch_desc_onDates:iT,sch_desc_onEveryDate:oT,sch_desc_onMonth:rT,sch_desc_onMonths:MT,sch_desc_onWeekday:nT,sch_desc_onWeekdays:aT,sch_desc_onWeekends:cT,sch_desc_onWorkdays:uT,sch_desc_onceInPast:NT,sch_desc_once_on:lT,sch_desc_validFrom:LT,sch_desc_validFromTo:jT,sch_desc_validTo:gT,sch_every:TT,sch_exactTime:yT,sch_from:DT,sch_fromTo:dT,sch_intervalTime:zT,sch_invert:IT,sch_no_one:wT,sch_on:CT,sch_period:hT,sch_periodDaily:AT,sch_periodDates:pT,sch_periodDay:mT,sch_periodEvery:OT,sch_periodEveryDay:ET,sch_periodEveryMonth:_T,sch_periodEveryWeek:ST,sch_periodEveryYear:xT,sch_periodHours:fT,sch_periodMinutes:kT,sch_periodMonth:YT,sch_periodMonthly:QT,sch_periodOnce:UT,sch_periodSpecificMonths:vT,sch_periodWeek:bT,sch_periodWeekdays:$T,sch_periodWeekend:PT,sch_periodWeekly:WT,sch_periodWorkdays:RT,sch_periodYear:JT,sch_periodYearly:BT,sch_specificTime:FT,sch_time:GT,sch_to:HT,sch_valid:VT,sch_validFrom:ZT,sch_validTo:XT,sch_wholeDay:KT,sch_yearEveryMonth:qT},ty="Aktionen",sy="Anhängen",iy="Abbrechen",oy="Kategorien",ry="Geprüft",My="Löschen",ny="Schließen",ay="Kommerziell",cy="Konfigurieren",uy="Verbunden",Ny="Weitermachen",ly="Kopiert",Ly="Erstellen",jy="Ernte",gy="Entf",Ty="Löschen",yy="Verwerfen",Dy="Getrennt",dy="Fehler",zy="Filter",Iy="Freitag",wy="Breite",Cy="Ausloggen",hy="Längengrad",Ay="Meldung",py="Montag",my="Name",Oy="Objekte",Ey="OK",_y="Produkt",Sy="Umbenennen/Verschieben/Kopieren",xy="Wiederholen",fy="Ersetzen",ky="Anfang",Yy="Samstag",Qy="Speichern",Uy="Ausgewählt",vy="Zustände",by="Sonntag",$y="Donnerstag",Py="Zeitstempel",Wy="Dienstag",Ry="Aktualisieren",Jy="Gültig bis",By="Wert",Fy="Ausführung",Gy="Mittwoch",Hy="Breite",Vy="Ja",Zy="unterschiedlich",Xy="Jeder kann Objekt lesen",Ky="Jeder kann Zustand lesen",qy="Jeder kann ein Objekt schreiben",eD="Jeder kann Zustand schreiben",tD="Gruppe kann Objekt lesen",sD="Gruppe kann Status lesen",iD="Gruppe kann Objekt schreiben",oD="Gruppe kann Status schreiben",rD="Besitzer kann Objekt lesen",MD="Besitzer kann Zustand lesen",nD="Besitzer kann Objekt schreiben",aD="Besitzer kann Zustand schreiben",cD="Tasten",uD="Geändert von",ND="Schließen",lD="Booleschen Zustand erstellen",LD="Kanal erstellen",jD="Gerät erstellen",gD="Nummern-Zustand erstellen",TD="Zustand erstellen",yD="String-Zustand erstellen",DD="T.",dD="Fr",zD="Mo",ID="Sa",wD="So",CD="Do",hD="Di",AD="Mi",pD="Expertenmodus",mD="FALSCH",OD="Alle Dateien",ED="Audio",_D="Code/JSON",SD="Bilder",xD="Text",fD="Video",kD="Einstellungen",YD="ohne",QD="Funktion",UD="ID",vD="Name",bD="Rolle",$D="Raum",PD="Typ",WD="Ungültige Einstellungen",RD="Letzte Änderung",JD="örtlich",BD="Apr",FD="Aug",GD="Dez",HD="Feb",VD="Jan",ZD="Jul",XD="Jun",KD="Mai",qD="Mär",ed="Nov",td="Okt",sd="Sep",id="Apr",od="Aug",rd="Dez",Md="Feb",nd="Jan",ad="Jul",cd="Jun",ud="Mai",Nd="Mär",ld="Nov",Ld="Okt",jd="Sep",gd="kein",Td="Objekt geändert von",yd="Objekt zuletzt geändert um",Dd="Einstellungen von anderen Adaptern %s",dd="Qualitätscode",zd="wiederholen",Id='Um einen Ordner auszuwählen, halten Sie einfach die Taste "Shift" gedrückt, indem Sie auf den Ordner klicken.',wd="Alle anzeigen",Cd="Zustand geändert durch",hd="Objekt geändert von",Ad="Zeitstempel",pd="Bestätigt",md="Kommentar",Od="Statuswert kopieren",Ed="Strg/⌘-Taste gedrückt halten, um den Link zu öffnen",_d="Benutzerdefinierte Einstellungen",Sd="Objekt löschen",xd="Objekt bearbeiten",fd="Statuswert bearbeiten",kd="Läuft ab in",Yd="Von",Qd="Zuletzt geändert",Ud="Qualität",vd="Zeitstempel",bd="Benutzer",$d="Wert",Pd="WAHR",Wd="Wert",Rd="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgeführt!",Jd="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgeführt!",Bd="CRON",Fd="Datum",Gd="Tage",Hd="Tag",Vd="Wochentage",Zd="Jeden",Xd="alle N Tage",Kd="jeden x-ten Tag der Woche",qd="alle N Wochentage",ez="alle N Stunden",tz="alle N Minuten",sz="alle N Monate",iz="alle N Sekunden",oz="jeden Tag",rz="jeden Tag der Woche",Mz="jeden Tag der Woche",nz="jede Stunde",az="jede Minute",cz="jeden Monat",uz="jede Sekunde",Nz="Von",lz="Stunden",Lz="Intervall",jz="Intervall zwischen",gz="Ungültiger CRON",Tz="Minuten",yz="Monate",Dz="Einmal",dz="Zeitraum",zz="Sekunden",Iz="Einfach",wz="Bestimmte Zeit",Cz="bestimmte Tage",hz="bestimmte(r) Tag(e) der Woche",Az="bestimmten Wochentag",pz="bestimmte Stunden",mz="bestimmte Minuten",Oz="bestimmte Monate",Ez="bestimmte Sekunden",_z="Zeit",Sz="Bis",xz="Wizard",fz="alle",kz="Astronomischer Tag",Yz="Astronomische Nacht",Qz="Morgendämmerung",Uz="Abenddämmerung",vz="Goldene Stunde",bz="Goldene Stundenende",$z="Nadir",Pz="Nautische Morgendämmerung",Wz="Nautische Abenddämmerung",Rz="Nacht",Jz="Nachtende",Bz="Sonnenmittag",Fz="Sonnenaufgang",Gz="Sonnenaufgangende",Hz="Sonnenuntergang",Vz="Sonnenuntergangstart",Zz="am",Xz="um %s",Kz="jeden Tag",qz="jede Stunde",eI="jede Minute",tI="jeden Monat",sI="jeden %s Tag",iI="alle %s Stunden",oI="alle %s Minuten",rI="alle %s Monate",MI="alle %s Wochen",nI="alle %s Jahre",aI="jede Woche",cI="jedes Jahr",uI="von %s bis %s",NI="noch nie",lI="am %s von %s",LI="am %s und %s von",jI="an jedem Datum von",gI="%s",TI="%s und %s",yI="auf %s",DI="auf %s und %s",dI="an Wochenenden",zI="an Werktagen",II="wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",wI="auf %s",CI="von %s",hI="Ausführen von bis",AI="bis %s",pI="jeden",mI="Bestimmte Zeit",OI="von",EI="Von bis",_I="Zeitintervall",SI="umkehren",xI="keiner",fI="am",kI="Zeitraum",YI="Täglich",QI="Daten",UI="Tag",vI="Jeden",bI="Jeden Tag",$I="Jeden Monat",PI="Jede Woche",WI="Jedes Jahr",RI="Stunden",JI="Minuten",BI="Monat",FI="Monatlich",GI="Einmal",HI="Bestimmte Monate",VI="Woche",ZI="Wochentage",XI="Wochenende",KI="Wöchentlich",qI="Arbeitstage",ew="Jahr",tw="Jährlich",sw="Bestimmte Zeit",iw="Zeit",ow="zu",rw="Gültigkeit",Mw="von",nw="bis",aw="Ganzer Tag",cw="jeden Monat",uw={"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_Actions:ty,"ra_Add new child object to selected parent":"Dem ausgewählten übergeordneten Objekt ein neues untergeordnetes Objekt hinzufügen","ra_Add objects tree from JSON file":"Objektbaum aus JSON-Datei hinzufügen","ra_Add row":"Zeile hinzufügen","ra_Advanced options":"Erweiterte Optionen","ra_All items are filtered out":"Alle Elemente sind herausgefiltert","ra_All objects":"Alle Objekte",ra_Append:sy,"ra_Append %s entries or replace existing?":"%s Einträge anhängen oder vorhandene ersetzen?","ra_Append or replace?":"Anhängen oder ersetzen?","ra_Are you sure?":"Bist du sicher?","ra_Auto (no custom columns)":"Auto (keine benutzerdefinierten Spalten)","ra_Back to %s":"Zurück zu %s","ra_Background image":"Hintergrundbild",ra_Cancel:iy,"ra_Cannot add items with set filter":"Elemente mit festgelegtem Filter können nicht hinzugefügt werden","ra_Cannot decode license":"Lizenz kann nicht entschlüsselt 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önnen nicht gelesen werden: %s","ra_Cannot retrieve options, as instance is offline":"Optionen können 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:oy,"ra_Chained certificate":"Chained Zertifikat","ra_Change color theme":"Farbthema ändern","ra_Changed from":"Geändert von","ra_Channel → State":"Kanal → Zustand","ra_Check license":"Lizenz prüfen",ra_Checked:ry,ra_Clear:My,"ra_Clear filter":"Filter löschen","ra_Clear icon":"Symbol löschen","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:ny,"ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:ay,ra_Configure:cy,"ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das Löschen von %s bestätigen",ra_Connected:uy,ra_Continue:Ny,ra_Copied:ly,"ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:Ly,"ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:jy,"ra_Define CRON...":"Definieren Sie CRON ...","ra_Define functions":"Funktionen definieren","ra_Define rooms":"Räume definieren","ra_Define schedule":"Zeitplan definieren","ra_Define schedule...":"Zeitplan definieren ...",ra_Del:gy,ra_Delete:Ty,"ra_Delete current row":"Aktuelle Zeile löschen","ra_Deselect all":"Alles abwählen","ra_Device → Channel → State":"Gerät → Kanal → Zustand",ra_Discard:yy,ra_Disconnected:Dy,"ra_Do not ask for next 2 hours in this session":"Fragen Sie nicht nach den nächsten 2 Stunden in dieser Sitzung","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ückzusetzen","ra_Drag 'n' drop some files here, or click to select files":"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuwählen","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 full path":"Vollständigen Pfad bearbeiten","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_Enter the code from that page here":"Geben Sie den Code von dieser Seite hier ein",ra_Error:dy,"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 Öffnen 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ß. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",ra_Filter:zy,"ra_Filter and Data Actions":"Filter- und Datenaktionen","ra_Filter files":"Dateien filtern","ra_Folder name":"Ordnernamen","ra_Folder → Channel → State":"Ordner → Kanal → Zustand","ra_Folder → Device → Channel → State":"Ordner → Gerät → Kanal → Zustand","ra_Folder → State":"Ordner → Zustand","ra_Folders always first":"Ordner immer zuerst",ra_Friday:Iy,"ra_Get %s access":"%s Zugriff erhalten","ra_Good luck":"Viel Glück","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ßen des Browsers","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Wenn die Schaltfläche oben nicht funktioniert, können Sie diese App manuell autorisieren, indem Sie diese URL besuchen","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ültiger CRON","ra_Invalid JSON":"Ungültiges JSON","ra_Invalid answer from server":"Ungültige Antwort vom Server","ra_Invalid parent folder!":"Ungültiger übergeordneter Ordner!","ra_Invalid structure":"Ungültige Struktur","ra_JSON editor":"JSON-Editor","ra_Last change":"Letzte Änderung",ra_Latitude:wy,"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ür anderes Produkt „%s“","ra_License is for version %s, but required version is %s.":"Lizenz ist für Version %s, aber erforderliche Version ist %s.","ra_License must be converted":"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie können 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öchten 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_Logout:Cy,ra_Longitude:hy,'ra_May not trigger "updateLicenses"':"Löst möglicherweise nicht „updateLicenses“ aus",ra_Message:Ay,ra_Monday:py,"ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:my,"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ürfen neue Objekte nur in "0_userdata.0" oder "alias.0" erstellen.',"ra_Not a number":"Keine Nummer",ra_Objects:Oy,ra_Ok:Ey,"ra_On weekdays":"An Wochentagen","ra_Only following structures of objects are available:":"Es stehen nur folgende Objektstrukturen zur Verfügung:","ra_Only selected":"Nur ausgewählt","ra_Owner group":"Besitzergruppe","ra_Owner user":"Besitzer Benutzer","ra_Passwords are not equal!":"Passwörter 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 öffnen","ra_Please allow popups in your browser for this page!":"Bitte lassen Sie Popups für diese Seite in Ihrem Browser zu!","ra_Please confirm":"Bitte bestätigen","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ählen...","ra_Please select object ID...":"Bitte Objekt-ID auswählen...","ra_Port could be used by %s":"Port könnte von %s verwendet werden","ra_Port is already used by %s":"Port wird bereits von %s verwendet","ra_Press ENTER Key to add new item":"Die Eingabetaste drücken, um ein neues Element hinzuzufügen","ra_Private certificate":"Privates Zertifikat",ra_Product:_y,"ra_Public certificate":"Öffentliches Zertifikat","ra_Quality code":"Qualität","ra_Refresh tree":"Baum aktualisieren","ra_Reload files":"Dateien neu laden",ra_Rename_Move_Copy:Sy,"ra_Renew %s access":"%s Zugriff erneuern",ra_Repeat:xy,ra_Replace:fy,"ra_Request timed out":"Zeitüberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschränken",ra_Root:ky,ra_Saturday:Yy,ra_Save:Qy,"ra_Save and close":"Speichern und schließen","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ählen","ra_Select color":"Wähle Farbe","ra_Select predefined icon":"Vordefiniertes Symbol auswählen","ra_Select type of export":"Die Art des Exports auswählen ",ra_Selected:Uy,"ra_Selected %s object(s)":"Ausgewählt %s Objekt(en)","ra_Serial number (UUID)":"Seriennummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Seriennummer (UUID) „%s“ in der Lizenz gilt für ein anderes Gerät.","ra_Session will expire in %s seconds. Continue?":"Die Sitzung läuft in %s Sekunden ab. Fortfahren?","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:vy,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Erfolgreich autorisiert. Token gültig bis %s und wird automatisch erneuert.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Erfolgreich autorisiert. Token gültig bis %s, kann aber ablaufen, da die Instanz nicht ausgeführt wird.","ra_Suitable license not found in license manager":"Passende Lizenz im Lizenzmanager nicht gefunden",ra_Sunday:by,"ra_Suppress question for next %s minutes":"Frage für die nächsten %s Minuten unterdrücken","ra_System language":"Systemsprache","ra_Take browser position":"Position vom Browser einnehmen","ra_Take position from system settings":"Position aus den Systemeinstellungen übernehmen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Die Experten können Objekte überall erstellen, außer 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ührt. Sind Sie sicher?","ra_The schedule will be executed every second. Are you sure?":"Der Zeitplan wird jede Sekunde ausgeführt. Sind Sie sicher?",ra_Thursday:$y,ra_Timestamp:Py,"ra_Toggle expert mode":"Expertenmodus umschalten","ra_Toggle the states view":"Statusansicht umschalten","ra_Toggle view mode":"Ansichtsmodus umschalten","ra_Too big":"Zu groß","ra_Too small":"Zu klein","ra_Transparent dialog":"Transparenter Dialog",ra_Tuesday:Wy,"ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:Ry,"ra_Upload file":"Datei hochladen","ra_Use all available let's encrypt certificates":"Alle verfügbaren Zertifikate von Let's encrypt benutzen","ra_Use iobroker.acme adapter for letsencrypt certificates":"ioBroker.acme-Adapter für letsencrypt-Zertifikate verwenden","ra_Use system settings for position":"Systemeinstellungen für die Position verwenden","ra_Used system settings":"Systemeinstellungen","ra_User files":"Benutzerdaten",ra_ValidTill:Jy,ra_Value:By,ra_Version:Fy,"ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:Gy,ra_Width:Hy,ra_Yes:Vy,"ra_You can export all objects or just the selected branch.":"Sie können alle Objekte oder nur den ausgewählten Zweig exportieren.","ra_You can filter entries by entering here some text":"Sie können Einträge filtern, indem Sie hier Text eingeben","ra_You can use * as wildcard":"Sie können * als Platzhalter verwenden",ra___different__:Zy,ra_aclEveryone_read_object:Xy,ra_aclEveryone_read_state:Ky,ra_aclEveryone_write_object:qy,ra_aclEveryone_write_state:eD,ra_aclGroup_read_object:tD,ra_aclGroup_read_state:sD,ra_aclGroup_write_object:iD,ra_aclGroup_write_state:oD,ra_aclOwner_read_object:rD,ra_aclOwner_read_state:MD,ra_aclOwner_write_object:nD,ra_aclOwner_write_state:aD,ra_buttons:cD,ra_changedFrom:uD,ra_close:ND,ra_create_boolean_state:lD,ra_create_channel:LD,ra_create_device:jD,ra_create_number_state:gD,ra_create_state:TD,ra_create_string_state:yD,ra_daysShortText:DD,ra_dow_Fr:dD,ra_dow_Mo:zD,ra_dow_Sa:ID,ra_dow_Su:wD,ra_dow_Th:CD,ra_dow_Tu:hD,ra_dow_We:AD,ra_expertMode:pD,ra_false:mD,ra_fileType_all:OD,ra_fileType_audio:ED,ra_fileType_code:_D,ra_fileType_images:SD,ra_fileType_txt:xD,ra_fileType_video:fD,"ra_fileType_video,":"Video",ra_filter_customs:kD,ra_filter_customs_without:YD,ra_filter_func:QD,ra_filter_id:UD,ra_filter_name:vD,ra_filter_role:bD,ra_filter_room:$D,ra_filter_type:PD,"ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:WD,ra_lastChange:RD,ra_locally:JD,ra_month_Apr:BD,ra_month_Aug:FD,ra_month_Dec:GD,ra_month_Feb:HD,ra_month_Jan:VD,ra_month_Jul:ZD,ra_month_Jun:XD,ra_month_Mai:KD,ra_month_Mar:qD,ra_month_Nov:ed,ra_month_Oct:td,ra_month_Sep:sd,ra_months_Apr:id,ra_months_Aug:od,ra_months_Dec:rd,ra_months_Feb:Md,ra_months_Jan:nd,ra_months_Jul:ad,ra_months_Jun:cd,ra_months_Mai:ud,ra_months_Mar:Nd,ra_months_Nov:ld,ra_months_Oct:Ld,ra_months_Sep:jd,"ra_no confirm for 5 mins":"5 Minuten lang keine Bestätigung",ra_none:gd,ra_object_changed_by:Td,ra_object_changed_by_user:yd,ra_otherConfig:Dd,ra_qualityCode:dd,ra_repeat:zd,ra_select_folder_hint:Id,ra_show_all:wd,ra_state_changed_by:Cd,ra_state_changed_from:hd,ra_timestamp:Ad,ra_tooltip_ack:pd,ra_tooltip_comment:md,ra_tooltip_copyState:Od,ra_tooltip_ctrlForLink:Ed,ra_tooltip_customConfig:_d,ra_tooltip_deleteObject:Sd,ra_tooltip_editObject:xd,ra_tooltip_editState:fd,ra_tooltip_expire:kd,ra_tooltip_from:Yd,ra_tooltip_lc:Qd,ra_tooltip_quality:Ud,ra_tooltip_ts:vd,ra_tooltip_user:bd,ra_tooltip_value:$d,ra_true:Pd,"ra_use seconds":"Sekunden benutzen",ra_val:Wd,"ra_via internet":"übers Internet",ra_warning_every_minute:Rd,ra_warning_every_second:Jd,sc_cron:Bd,sc_date:Fd,sc_dates:Gd,sc_dow:Hd,sc_dows:Vd,sc_every:Zd,sc_everyN_dates:Xd,sc_everyN_dow:Kd,sc_everyN_dows:qd,sc_everyN_hours:ez,sc_everyN_minutes:tz,sc_everyN_months:sz,sc_everyN_seconds:iz,sc_every_dates:oz,sc_every_dow:rz,sc_every_dows:Mz,sc_every_hours:nz,sc_every_minutes:az,sc_every_months:cz,sc_every_seconds:uz,sc_from:Nz,sc_hours:lz,sc_interval:Lz,sc_intervalBetween:jz,sc_invalid_cron:gz,sc_minutes:Tz,sc_months:yz,sc_once:Dz,sc_period:dz,sc_seconds:zz,sc_simple:Iz,sc_specific:wz,sc_specific_dates:Cz,sc_specific_dow:hz,sc_specific_dows:Az,sc_specific_hours:pz,sc_specific_minutes:mz,sc_specific_months:Oz,sc_specific_seconds:Ez,sc_time:_z,sc_to:Sz,sc_wizard:xz,sch_all:fz,sch_astroDay:kz,sch_astroNight:Yz,sch_astro_dawn:Qz,sch_astro_dusk:Uz,sch_astro_goldenHour:vz,sch_astro_goldenHourEnd:bz,sch_astro_nadir:$z,sch_astro_nauticalDawn:Pz,sch_astro_nauticalDusk:Wz,sch_astro_night:Rz,sch_astro_nightEnd:Jz,sch_astro_solarNoon:Bz,sch_astro_sunrise:Fz,sch_astro_sunriseEnd:Gz,sch_astro_sunset:Hz,sch_astro_sunsetStart:Vz,sch_at:Zz,sch_desc_atTime:Xz,sch_desc_everyDay:Kz,sch_desc_everyHour:qz,sch_desc_everyMinute:eI,sch_desc_everyMonth:tI,sch_desc_everyNDay:sI,sch_desc_everyNHours:iI,sch_desc_everyNMinutes:oI,sch_desc_everyNMonths:rI,sch_desc_everyNWeeks:MI,sch_desc_everyNYears:nI,sch_desc_everyWeek:aI,sch_desc_everyYear:cI,sch_desc_intervalFromTo:uI,sch_desc_never:NI,sch_desc_onDate:lI,sch_desc_onDates:LI,sch_desc_onEveryDate:jI,sch_desc_onMonth:gI,sch_desc_onMonths:TI,sch_desc_onWeekday:yI,sch_desc_onWeekdays:DI,sch_desc_onWeekends:dI,sch_desc_onWorkdays:zI,sch_desc_onceInPast:II,sch_desc_once_on:wI,sch_desc_validFrom:CI,sch_desc_validFromTo:hI,sch_desc_validTo:AI,sch_every:pI,sch_exactTime:mI,sch_from:OI,sch_fromTo:EI,sch_intervalTime:_I,sch_invert:SI,sch_no_one:xI,sch_on:fI,sch_period:kI,sch_periodDaily:YI,sch_periodDates:QI,sch_periodDay:UI,sch_periodEvery:vI,sch_periodEveryDay:bI,sch_periodEveryMonth:$I,sch_periodEveryWeek:PI,sch_periodEveryYear:WI,sch_periodHours:RI,sch_periodMinutes:JI,sch_periodMonth:BI,sch_periodMonthly:FI,sch_periodOnce:GI,sch_periodSpecificMonths:HI,sch_periodWeek:VI,sch_periodWeekdays:ZI,sch_periodWeekend:XI,sch_periodWeekly:KI,sch_periodWorkdays:qI,sch_periodYear:ew,sch_periodYearly:tw,sch_specificTime:sw,sch_time:iw,sch_to:ow,sch_valid:rw,sch_validFrom:Mw,sch_validTo:nw,sch_wholeDay:aw,sch_yearEveryMonth:cw},Nw="Действия",lw="Добавить",Lw="Отмена",jw="Категории",gw="Проверено",Tw="Удалить",yw="Закрыть",Dw="Коммерческая",dw="Настроить",zw="Соединение установлено",Iw="Продолжать",ww="скопировано",Cw="Создать",hw="Обрезать",Aw="Delete",pw="Удалить",mw="Отказаться",Ow="Отключено",Ew="Ошибка",_w="Фильтр",Sw="Пятница",xw="Широта",fw="Выйти",kw="Долгота",Yw="Сообщение",Qw="Понедельник",Uw="Имя",vw="Объекты",bw="Ok",$w="Продукт",Pw="Переименовать/Переместить/Копировать",Ww="Повторение",Rw="Заменять",Jw="Начало",Bw="Суббота",Fw="Сохранить",Gw="выбранный",Hw="Состояния",Vw="Воскресенье",Zw="Четверг",Xw="Времени",Kw="Вторник",qw="Обновить",eC="Годен до",tC="Значение",sC="Версия",iC="Среда",oC="Ширина",rC="Да",MC="разное",nC="Каждый может читать объект",aC="Каждый может читать состояние",cC="Каждый может написать объект",uC="Каждый может написать состояние",NC="Группа может читать объект",lC="Группа может читать состояние",LC="Группа может писать объект",jC="Группа может записывать состояние",gC="Владелец может читать объект",TC="Владелец может читать состояние",yC="Владелец может писать объект",DC="Владелец может писать состояние",dC="Кнопки",zC="Изменено с",IC="Закрыть",wC="Создать логическое состояние",CC="Создать канал",hC="Создать устройство",AC="Создать состояние номера",pC="Создать состояние",mC="Создать состояние строки",OC="д.",EC="Пт",_C="Пн",SC="Сб",xC="Вс",fC="Чт",kC="Вт",YC="Ср",QC="Экспертный режим",UC="ЛОЖЬ",vC="Все файлы",bC="Аудио",$C="Код/JSON",PC="Картинки",WC="Текст",RC="видео",JC="настройки",BC="без",FC="функция",GC="ID",HC="Имя",VC="роль",ZC="комната",XC="Тип",KC="Неверные настройки",qC="Последнее изменение",eh="локально",th="Апр",sh="Авг",ih="Дек",oh="Фев",rh="Янв",Mh="Июл",nh="Июн",ah="Май",ch="Мрт",uh="Ноя",Nh="Окт",lh="Сен",Lh="Апр",jh="Авг",gh="Дек",Th="Фев",yh="Янв",Dh="Июнь",dh="Июль",zh="Май",Ih="Март",wh="Ноя",Ch="Окт",hh="Сен",Ah="ничего",ph="Объект изменен",mh="Последний раз объект изменен в",Oh="Настройки из другого адаптера %s",Eh="Код качества",_h="повтор",Sh="Чтобы выбрать папку, просто удерживайте клавишу «Shift», щелкнув папку.",xh="Показать все",fh="Состояние изменено",kh="Объект изменен с",Yh="Отметка времени",Qh="Подтверждено",Uh="Комментарий",vh="Скопируйте значение состояния",bh="Удерживайте клавишу Cltr/⌘, чтобы открыть ссылку",$h="Пользовательские настройки",Ph="Удалить объект",Wh="Редактировать объект",Rh="Изменить значение состояния",Jh="Истекает через",Bh="От",Fh="Последнее изменение",Gh="Качество",Hh="Отметка времени",Vh="пользователь",Zh="Значение",Xh="истинный",Kh="Значение",qh="Внимание: задание CRON будет запускаться каждую минуту в течение указанного периода!",e1="Внимание: задание CRON будет выполняться каждую секунду в течение указанного периода!",t1="CRON",s1="Дата",i1="Даты",o1="День",r1="День недели",M1="каждый(ую/ые)",n1="каждый N день",a1="каждый N-й день недели",c1="каждый N день недели",u1="каждые N часов",N1="каждые N минут",l1="каждые N месяцев",L1="каждые N секунд",j1="каждый день",g1="Каждый день недели",T1="каждый день недели",y1="каждый час",D1="каждую минуту",d1="каждый месяц",z1="каждую секунду",I1="От",w1="часы",C1="Интервал",h1="Интервал между",A1="Неверный CRON",p1="минуты",m1="Месяцы",O1="один раз",E1="Период",_1="секунды",S1="Просто",x1="Конкретное время",f1="конкретные даты",k1="конкретный день(а) недели",Y1="конкретный день недели",Q1="конкретные часы",U1="конкретные минуты",v1="конкретные месяцы",b1="конкретные секунды",$1="Время",P1="До",W1="Форма",R1="все",J1="днём",B1="ночью",F1="Рассвет",G1="Сумерки",H1="Золотой час",V1="Конец золотого часа",Z1="Надир",X1="Морской рассвет",K1="Морские сумерки",q1="Ночь",eA="Конец ночи",tA="Солнечный полдень",sA="Восход",iA="Восход солнца",oA="Заход солнца",rA="Начало заката",MA="дата",nA="в %s",aA="каждый день",cA="каждый час",uA="каждую минуту",NA="каждый месяц",lA="каждый %s день",LA="каждый %s часов",jA="каждые %s минут",gA="каждые %s месяцев",TA="каждые %s недель",yA="каждые %s лет",DA="каждую неделю",dA="каждый год",zA="от %s до %s",IA="никогда",wA="%s %s",CA="%s и %s",hA="в каждый день",AA="%s",pA="%s и %s",mA="%s",OA="%s и %s",EA="на выходных",_A="в рабочие дни",SA="не будет больше выполняться, потому что начало в прошлом",xA="%s",fA="%s",kA="Выполнить с",YA="%s",QA="каждый",UA="Конкретное время",vA="от",bA="От и до",$A="Интервал времени",PA="инвертировать",WA="никакой",RA="на",JA="период",BA="Ежедневно",FA="Даты",GA="День",HA="каждый",VA="Каждый день",ZA="Каждый месяц",XA="Каждую неделю",KA="Каждый год",qA="часов",ep="минут",tp="месяц",sp="ежемесячно",ip="однажды",op="Конкретные месяцы",rp="Неделю",Mp="Будние дни",np="выходные",ap="еженедельно",cp="Рабочие дни",up="Год",Np="каждый год",lp="Конкретное время",Lp="Время",jp="в",gp="действительный",Tp="от",yp="в",Dp="Весь день",dp="каждый месяц",zp={"ra_%s links from aliases":"%s ссылок из псевдонимов","ra_%s object(s) processed":"Объектов обработано: %s","ra_%s was imported":"%s был импортирован","ra_Accept license":"Принять лицензию",ra_Actions:Nw,"ra_Add new child object to selected parent":"Добавить новый дочерний объект к выбранному родительскому объекту","ra_Add objects tree from JSON file":"Добавить дерево объектов из файла JSON","ra_Add row":"Добавить ряд","ra_Advanced options":"Расширенные настройки","ra_All items are filtered out":"Все элементы отфильтрованы","ra_All objects":"Все объекты",ra_Append:lw,"ra_Append %s entries or replace existing?":"Добавить записи %s или заменить существующие?","ra_Append or replace?":"Дополнить или заменить?","ra_Are you sure?":"Вы уверены?","ra_Auto (no custom columns)":"Авто (без настраиваемых столбцов)","ra_Back to %s":"Вернуться к %s","ra_Background image":"Фоновая картинка",ra_Cancel:Lw,"ra_Cannot add items with set filter":"Невозможно добавить элементы с установленным фильтром","ra_Cannot decode license":"Не могу декодировать лицензию","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Невозможно определить местоположение: системные настройки пусты, а обнаружение GPS отключено в браузере.",'ra_Cannot find "%s"':'Не могу найти "%s"','ra_Cannot read "%s"':'Не могу прочитать "%s"',"ra_Cannot read licenses: %s":"Невозможно прочитать лицензии: %s","ra_Cannot retrieve options, as instance is offline":"Невозможно получить параметры, так как экземпляр находится в автономном режиме.","ra_Cannot update attribute, because not found in the object":"Невозможно обновить атрибут, потому что он не найден в объекте","ra_Cannot upload":"Невозможно загрузить",ra_Categories:jw,"ra_Chained certificate":"Chained сертификат","ra_Change color theme":"Изменить цветовую тему","ra_Changed from":"Изменено","ra_Channel → State":"Канал → Состояние","ra_Check license":"Проверить лицензию",ra_Checked:gw,ra_Clear:Tw,"ra_Clear filter":"Очистить фильтр","ra_Clear icon":"Очистить значок","ra_Clone current row":"Клонировать текущую строку",ra_Close:yw,"ra_Collapse all nodes":"Свернуть все узлы","ra_Collapse one step node":"Свернуть один уровень",ra_Commercial:Dw,ra_Configure:dw,"ra_Configure visible columns":"Настроить видимые столбцы","ra_Confirm deletion of %s":"Подтвердите удаление %s",ra_Connected:zw,ra_Continue:Iw,ra_Copied:ww,"ra_Copied %s":'Скопировано "%s"',"ra_Copy content":"Копировать содержимое",ra_Create:Cw,"ra_Create alias":"Создать псевдоним","ra_Create folder":"Создать папку","ra_Create new folder in %s":"Создать новую папку в %s",ra_Crop:hw,"ra_Define CRON...":"Определите CRON...","ra_Define functions":"Задать функции","ra_Define rooms":"Задать комнаты","ra_Define schedule":"Задать расписание","ra_Define schedule...":"Определить расписание ...",ra_Del:Aw,ra_Delete:pw,"ra_Delete current row":"Удалить текущую строку","ra_Deselect all":"Убрать выбор везде","ra_Device → Channel → State":"Устройство → Канал → Состояние",ra_Discard:mw,ra_Disconnected:Ow,"ra_Do not ask for next 2 hours in this session":"Не спрашивайте о следующих 2 часах в этом сеансе","ra_Do not export values of states":"Не экспортировать значения состояний","ra_Do not use let's encrypt":"Не использовать Let’s Encrypt","ra_Double click to reset table layout":"Дважды щелкните, чтобы сбросить макет таблицы","ra_Drag 'n' drop some files here, or click to select files":"Перетащите сюда несколько файлов или щелкните, чтобы выбрать файлы","ra_Drop file here":"Перетащите файл сюда","ra_Drop the files here...":"Перетащите файл сюда ...","ra_Duplicate name":"Повторяющееся имя","ra_Edit ACL":"Изменить ACL-список","ra_Edit alias":"Изменить псевдоним","ra_Edit custom config":"Редактировать настраиваемую конфигурацию","ra_Edit full path":"Изменить полный путь","ra_Edit function":"Изменить функцию","ra_Edit object field":"Поле редактирования объекта","ra_Edit role":"Изменить роль","ra_Edit room":"Редактировать комнату","ra_Edit value":"Изменить значение","ra_Enter the code from that page here":"Введите код с этой страницы здесь",ra_Error:Ew,"ra_Expand all nodes":"Развернуть все узлы","ra_Expand one step node":"Открыть один уровень","ra_Export data to %s file":"Экспорт данных в файл %s","ra_Failed to open JSON File":"Не удалось открыть файл JSON","ra_Fallback custom certificates":"Резервные пользовательские сертификаты","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл слишком большой. Разрешено максимальное количество %sk. Попробуйте использовать SVG.",ra_Filter:_w,"ra_Filter and Data Actions":"Фильтрация и действия с данными","ra_Filter files":"Фильтровать файлы","ra_Folder name":"Имя папки","ra_Folder → Channel → State":"Папка → Канал → Состояние","ra_Folder → Device → Channel → State":"Папка → Устройство → Канал → Состояние","ra_Folder → State":"Папка → Состояние","ra_Folders always first":"Папки всегда на первом месте",ra_Friday:Sw,"ra_Get %s access":"Получить %s доступ","ra_Good luck":"Удачи","ra_Hide empty folders":"Скрыть пустые папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Если в папке не будет создан файл, он исчезнет после закрытия браузера.","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Если кнопка выше не работает, вы можете вручную авторизовать это приложение, перейдя по этой ссылке.","ra_Import data from %s file":"Импорт данных из файла %s","ra_Import from %s":"Импорт из %s","ra_Instance %s is alive":"Экземпляр %s работает","ra_Instance %s is not alive":"Экземпляр %s не работает","ra_Instance is not alive":"Экземпляр не живой","ra_Invalid CRON":"Неверный CRON","ra_Invalid JSON":"Неверный JSON","ra_Invalid answer from server":"Неверный ответ от сервера","ra_Invalid parent folder!":"Неверная родительская папка!","ra_Invalid structure":"Неверная структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Последнее изменение",ra_Latitude:xw,"ra_License %s":"Лицензия %s","ra_License agreement":"Лицензионное соглашение","ra_License does not exist":"Лицензия не существует","ra_License expired on %s":"Срок действия лицензии истек %s",'ra_License for other product "%s"':'Лицензия на другой продукт "%s"',"ra_License is for version %s, but required version is %s.":"Лицензия предназначена для версии %s, но необходима версия %s.","ra_License must be converted":"Лицензия должна быть преобразована в более новую версию. Вы можете сделать это в своем профиле на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Лицензия не найдена в диспетчере лицензий. Вы хотите обновить лицензии от iobroker.net?","ra_Listen on all IPs":"Слушать на всех IP","ra_Load configuration from file":"Загрузить конфигурацию из файла",ra_Logout:fw,ra_Longitude:kw,'ra_May not trigger "updateLicenses"':"Не может запускать «updateLicenses»",ra_Message:Yw,ra_Monday:Qw,"ra_Move down":"Вниз","ra_Move up":"Вверх",ra_Name:Uw,"ra_No data found in file":"Данные в файле не найдены","ra_No one license found in license manager":"В менеджере лицензий не найдена ни одна лицензия","ra_No response from the backend":"Нет ответа от бэкэнда",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Не-эксперты могут создавать новые объекты только в «0_userdata.0» или «alias.0».","ra_Not a number":"Не число",ra_Objects:vw,ra_Ok:bw,"ra_On weekdays":"На выходных","ra_Only following structures of objects are available:":"Доступны только следующие структуры объектов:","ra_Only selected":"Только выбранные","ra_Owner group":"Группа владельцев","ra_Owner user":"Пользователь-владелец","ra_Passwords are not equal!":"Пароли не равны!","ra_Place your files here or click here to open the browse dialog":"Поместите свои файлы сюда или щелкните здесь, чтобы открыть диалоговое окно выбора","ra_Please allow popups in your browser for this page!":"Пожалуйста, разрешите всплывающие окна в вашем браузере для этой страницы!","ra_Please confirm":"Пожалуйста подтвердите","ra_Please create license":"Пожалуйста, создайте лицензию","ra_Please enter the license":"Пожалуйста, введите лицензию","ra_Please select file...":"Пожалуйста, выберите файл...","ra_Please select object ID...":"Пожалуйста, выберите идентификатор объекта ...","ra_Port could be used by %s":"Порт может использоваться %s","ra_Port is already used by %s":"Порт уже используется %s","ra_Press ENTER Key to add new item":"Нажмите клавишу ENTER, чтобы добавить новый элемент.","ra_Private certificate":"Частный сертификат",ra_Product:$w,"ra_Public certificate":"Публичный сертификат","ra_Quality code":"Валидность","ra_Refresh tree":"Обновить дерево","ra_Reload files":"Обновить",ra_Rename_Move_Copy:Pw,"ra_Renew %s access":"Продлить доступ %s",ra_Repeat:Ww,ra_Replace:Rw,"ra_Request timed out":"Истекло время запроса","ra_Restrict to folder":"Ограничить папкой",ra_Root:Jw,ra_Saturday:Bw,ra_Save:Fw,"ra_Save and close":"Сохранить и закрыть","ra_Save configuration to file":"Сохранить конфигурацию в файл","ra_Save objects tree as JSON file":"Сохранить дерево объектов как файл JSON","ra_Select all":"Выбрать все","ra_Select color":"Выберите цвет","ra_Select predefined icon":"Выберите предопределенный значок","ra_Select type of export":"Выберите тип экспорта",ra_Selected:Gw,"ra_Selected %s object(s)":"Объектов: %s","ra_Serial number (UUID)":"Серийный номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Серийный номер (UUID) «%s» в лицензии предназначен для другого устройства.","ra_Session will expire in %s seconds. Continue?":"Сессия истечет через %s секунд. Продолжить?","ra_Show all folders":"Показать все папки","ra_Show lines between rows":"Показать линии между строками","ra_Show/Hide object descriptions":"Показать/скрыть описания объектов","ra_Show/hide filter input":"Показать/скрыть ввод фильтра","ra_Some data are not stored. Discard?":"Некоторые данные не сохранились. Отказаться?",ra_States:Hw,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Авторизация выполнена успешно. Токен действителен до %s и будет автоматически продлен.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Авторизация выполнена успешно. Токен действителен до %s, но его срок действия может истечь, так как экземпляр не запущен.","ra_Suitable license not found in license manager":"Подходящая лицензия не найдена в менеджере лицензий",ra_Sunday:Vw,"ra_Suppress question for next %s minutes":"Скрыть вопрос на следующие %s минут(ы)","ra_System language":"Язык системы","ra_Take browser position":"Взять позицию из браузера","ra_Take position from system settings":"Занять позицию из системных настроек",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Эксперты могут создавать объекты везде, кроме второго уровня (например, «vis.0» или «javascript.0»).","ra_The page you are looking for was not found":"Страница, которую вы ищете, не найдена","ra_The schedule will be executed every minute. Are you sure?":"Расписание будет выполняться каждую минуту. Вы уверены?","ra_The schedule will be executed every second. Are you sure?":"Расписание будет выполняться каждую секунду. Вы уверены?",ra_Thursday:Zw,ra_Timestamp:Xw,"ra_Toggle expert mode":"Переключить экспертный режим","ra_Toggle the states view":"Переключить режим просмотра состояний","ra_Toggle view mode":"Переключить режим просмотра","ra_Too big":"Слишком большое","ra_Too small":"Слишком маленькое","ra_Transparent dialog":"Прозрачный диалог",ra_Tuesday:Kw,"ra_Unknown error":"Неизвестная ошибка","ra_Unknown error!":"Неизвестная ошибка!",ra_Update:qw,"ra_Upload file":"Загрузить файл","ra_Use all available let's encrypt certificates":"Использовать все доступные сертификаты Let’s encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Используйте адаптер iobroker.acme для сертификатов letsencrypt","ra_Use system settings for position":"Использовать системные настройки для позиции","ra_Used system settings":"Системные настройки","ra_User files":"Файлы пользователя",ra_ValidTill:eC,ra_Value:tC,ra_Version:sC,"ra_View file":"Посмотреть файл","ra_View: %s":"Просмотр: %s",ra_Wednesday:iC,ra_Width:oC,ra_Yes:rC,"ra_You can export all objects or just the selected branch.":"Вы можете экспортировать все объекты или только выбранную ветвь.","ra_You can filter entries by entering here some text":"Вы можете отфильтровать записи, введя здесь текст","ra_You can use * as wildcard":"Вы можете использовать * в качестве подстановочного знака",ra___different__:MC,ra_aclEveryone_read_object:nC,ra_aclEveryone_read_state:aC,ra_aclEveryone_write_object:cC,ra_aclEveryone_write_state:uC,ra_aclGroup_read_object:NC,ra_aclGroup_read_state:lC,ra_aclGroup_write_object:LC,ra_aclGroup_write_state:jC,ra_aclOwner_read_object:gC,ra_aclOwner_read_state:TC,ra_aclOwner_write_object:yC,ra_aclOwner_write_state:DC,ra_buttons:dC,ra_changedFrom:zC,ra_close:IC,ra_create_boolean_state:wC,ra_create_channel:CC,ra_create_device:hC,ra_create_number_state:AC,ra_create_state:pC,ra_create_string_state:mC,ra_daysShortText:OC,ra_dow_Fr:EC,ra_dow_Mo:_C,ra_dow_Sa:SC,ra_dow_Su:xC,ra_dow_Th:fC,ra_dow_Tu:kC,ra_dow_We:YC,ra_expertMode:QC,ra_false:UC,ra_fileType_all:vC,ra_fileType_audio:bC,ra_fileType_code:$C,ra_fileType_images:PC,ra_fileType_txt:WC,ra_fileType_video:RC,"ra_fileType_video,":"видео",ra_filter_customs:JC,ra_filter_customs_without:BC,ra_filter_func:FC,ra_filter_id:GC,ra_filter_name:HC,ra_filter_role:VC,ra_filter_room:ZC,ra_filter_type:XC,"ra_import data from %s file":"Импортировать данные из файла %s",ra_invalidConfig:KC,ra_lastChange:qC,ra_locally:eh,ra_month_Apr:th,ra_month_Aug:sh,ra_month_Dec:ih,ra_month_Feb:oh,ra_month_Jan:rh,ra_month_Jul:Mh,ra_month_Jun:nh,ra_month_Mai:ah,ra_month_Mar:ch,ra_month_Nov:uh,ra_month_Oct:Nh,ra_month_Sep:lh,ra_months_Apr:Lh,ra_months_Aug:jh,ra_months_Dec:gh,ra_months_Feb:Th,ra_months_Jan:yh,ra_months_Jul:Dh,ra_months_Jun:dh,ra_months_Mai:zh,ra_months_Mar:Ih,ra_months_Nov:wh,ra_months_Oct:Ch,ra_months_Sep:hh,"ra_no confirm for 5 mins":"не спрашивать подтверждения в течение 5 минут",ra_none:Ah,ra_object_changed_by:ph,ra_object_changed_by_user:mh,ra_otherConfig:Oh,ra_qualityCode:Eh,ra_repeat:_h,ra_select_folder_hint:Sh,ra_show_all:xh,ra_state_changed_by:fh,ra_state_changed_from:kh,ra_timestamp:Yh,ra_tooltip_ack:Qh,ra_tooltip_comment:Uh,ra_tooltip_copyState:vh,ra_tooltip_ctrlForLink:bh,ra_tooltip_customConfig:$h,ra_tooltip_deleteObject:Ph,ra_tooltip_editObject:Wh,ra_tooltip_editState:Rh,ra_tooltip_expire:Jh,ra_tooltip_from:Bh,ra_tooltip_lc:Fh,ra_tooltip_quality:Gh,ra_tooltip_ts:Hh,ra_tooltip_user:Vh,ra_tooltip_value:Zh,ra_true:Xh,"ra_use seconds":"секунды",ra_val:Kh,"ra_via internet":"через интернет",ra_warning_every_minute:qh,ra_warning_every_second:e1,sc_cron:t1,sc_date:s1,sc_dates:i1,sc_dow:o1,sc_dows:r1,sc_every:M1,sc_everyN_dates:n1,sc_everyN_dow:a1,sc_everyN_dows:c1,sc_everyN_hours:u1,sc_everyN_minutes:N1,sc_everyN_months:l1,sc_everyN_seconds:L1,sc_every_dates:j1,sc_every_dow:g1,sc_every_dows:T1,sc_every_hours:y1,sc_every_minutes:D1,sc_every_months:d1,sc_every_seconds:z1,sc_from:I1,sc_hours:w1,sc_interval:C1,sc_intervalBetween:h1,sc_invalid_cron:A1,sc_minutes:p1,sc_months:m1,sc_once:O1,sc_period:E1,sc_seconds:_1,sc_simple:S1,sc_specific:x1,sc_specific_dates:f1,sc_specific_dow:k1,sc_specific_dows:Y1,sc_specific_hours:Q1,sc_specific_minutes:U1,sc_specific_months:v1,sc_specific_seconds:b1,sc_time:$1,sc_to:P1,sc_wizard:W1,sch_all:R1,sch_astroDay:J1,sch_astroNight:B1,sch_astro_dawn:F1,sch_astro_dusk:G1,sch_astro_goldenHour:H1,sch_astro_goldenHourEnd:V1,sch_astro_nadir:Z1,sch_astro_nauticalDawn:X1,sch_astro_nauticalDusk:K1,sch_astro_night:q1,sch_astro_nightEnd:eA,sch_astro_solarNoon:tA,sch_astro_sunrise:sA,sch_astro_sunriseEnd:iA,sch_astro_sunset:oA,sch_astro_sunsetStart:rA,sch_at:MA,sch_desc_atTime:nA,sch_desc_everyDay:aA,sch_desc_everyHour:cA,sch_desc_everyMinute:uA,sch_desc_everyMonth:NA,sch_desc_everyNDay:lA,sch_desc_everyNHours:LA,sch_desc_everyNMinutes:jA,sch_desc_everyNMonths:gA,sch_desc_everyNWeeks:TA,sch_desc_everyNYears:yA,sch_desc_everyWeek:DA,sch_desc_everyYear:dA,sch_desc_intervalFromTo:zA,sch_desc_never:IA,sch_desc_onDate:wA,sch_desc_onDates:CA,sch_desc_onEveryDate:hA,sch_desc_onMonth:AA,sch_desc_onMonths:pA,sch_desc_onWeekday:mA,sch_desc_onWeekdays:OA,sch_desc_onWeekends:EA,sch_desc_onWorkdays:_A,sch_desc_onceInPast:SA,sch_desc_once_on:xA,sch_desc_validFrom:fA,sch_desc_validFromTo:kA,sch_desc_validTo:YA,sch_every:QA,sch_exactTime:UA,sch_from:vA,sch_fromTo:bA,sch_intervalTime:$A,sch_invert:PA,sch_no_one:WA,sch_on:RA,sch_period:JA,sch_periodDaily:BA,sch_periodDates:FA,sch_periodDay:GA,sch_periodEvery:HA,sch_periodEveryDay:VA,sch_periodEveryMonth:ZA,sch_periodEveryWeek:XA,sch_periodEveryYear:KA,sch_periodHours:qA,sch_periodMinutes:ep,sch_periodMonth:tp,sch_periodMonthly:sp,sch_periodOnce:ip,sch_periodSpecificMonths:op,sch_periodWeek:rp,sch_periodWeekdays:Mp,sch_periodWeekend:np,sch_periodWeekly:ap,sch_periodWorkdays:cp,sch_periodYear:up,sch_periodYearly:Np,sch_specificTime:lp,sch_time:Lp,sch_to:jp,sch_valid:gp,sch_validFrom:Tp,sch_validTo:yp,sch_wholeDay:Dp,sch_yearEveryMonth:dp},Ip="Ações",wp="Acrescentar",Cp="Cancelar",hp="Categorias",Ap="Verificado",pp="Excluir",mp="Perto",Op="Comercial",Ep="Configurar",_p="Conectado",Sp="Continuar",xp="Copiado",fp="Crio",kp="Colheita",Yp="Delete",Qp="Excluir",Up="Descartar",vp="Desconectado",bp="Erro",$p="Filtro",Pp="Sexta-feira",Wp="Latitude",Rp="Sair",Jp="Longitude",Bp="mensagem",Fp="Segunda-feira",Gp="Nome",Hp="Objetos",Vp="Está bem",Zp="produtos",Xp="Renomear/Mover/Copiar",Kp="Repita",qp="Substituir",e2="Raiz",t2="Sábado",s2="Salve ",i2="Selecionado",o2="Estados",r2="Domingo",M2="Quinta-feira",n2="Timestamp",a2="Terça-feira",c2="Atualizar",u2="Válida até",N2="Valor",l2="Versão",L2="Quarta-feira",j2="Largura",g2="Sim",T2="diferente",y2="Todos podem ler objetos",D2="Todos podem ler o estado",d2="Todos podem escrever objetos",z2="Todos podem escrever o estado",I2="O grupo pode ler o objeto",w2="O grupo pode ler o estado",C2="O grupo pode escrever o objeto",h2="O grupo pode escrever o estado",A2="O proprietário pode ler o objeto",p2="O proprietário pode ler o estado",m2="O proprietário pode escrever o objeto",O2="O proprietário pode escrever o estado",E2="Botões",_2="Mudou de",S2="fechar",x2="Criar estado booleano",f2="Criar canal",k2="Criar dispositivo",Y2="Criar estado numérico",Q2="Criar estado",U2="Criar estado de string",v2="d.",b2="Fr",$2="Mo",P2="Sa",W2="Su",R2="º",J2="Tu",B2="Nós",F2="Modo especialista",G2="FALSO",H2="Todos os arquivos",V2="áudio",Z2="Código/JSON",X2="Imagens",K2="Texto",q2="Vídeo",em="Configurações",tm="sem",sm="Função",im="ID",om="Nome",rm="Papel (Função)",Mm="Quarto",nm="Tipo",am="Configurações inválidas",cm="Última mudança",um="localmente",Nm="abril",lm="agosto",Lm="dezembro",jm="fevereiro",gm="janeiro",Tm="julho",ym="junho",Dm="Mai",dm="março",zm="novembro",Im="outubro",wm="setembro",Cm="abril",hm="agosto",Am="dezembro",pm="fevereiro",mm="janeiro",Om="julho",Em="junho",_m="Mai",Sm="março",xm="novembro",fm="outubro",km="setembro",Ym="Nenhum",Qm="Objeto alterado por",Um="Objeto alterado pela última vez em",vm="Configurações de outro adaptador %s",bm="Código de qualidade",$m="repetir",Pm='Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',Wm="Mostrar tudo",Rm="Estado alterado por",Jm="Objeto alterado de",Bm="Timestamp",Fm="Confirmado",Gm="Comente",Hm="Copie o valor do estado",Vm="Segure a tecla Ctrl/⌘ para abrir o link",Zm="Opções customizadas",Xm="Excluir objeto",Km="Editar objeto",qm="Edite o valor do estado",eO="Expira em",tO="De",sO="Última alteração",iO="Qualidade",oO="Timestamp",rO="Usuário",MO="Valor",nO="verdadeiro",aO="Valor",cO="Aviso: O trabalho CRON será executado a cada minuto durante o período especificado!",uO="Aviso: O trabalho CRON será executado a cada segundo durante o período especificado!",NO="CRON",lO="Data",LO="Dias",jO="Dia",gO="Dia da semana",TO="todos",yO="a cada N dias",DO="todo enésimo dia da semana",dO="todos os N dias da semana",zO="a cada N horas",IO="a cada N minutos",wO="a cada N meses",CO="a cada N segundos",hO="todo dia",AO="todos os dias da semana",pO="todos os dias da semana",mO="toda hora",OO="todo minuto",EO="todo mês",_O="todo segundo",SO="de",xO="horas",fO="intervalo",kO="intervalo entre",YO="CRON inválido",QO="minutos",UO="meses",vO="uma vez",bO="período",$O="segundos",PO="simples",WO="tempo específico",RO="datas específicas",JO="dia(s) específico(s) da semana",BO="dia específico de semanas",FO="horas específicas",GO="minutos específicos",HO="meses específicos",VO="segundos específicos",ZO="tempo",XO="para",KO="assistente",qO="tudo",eE="dia astral",tE="noite astral",sE="amanhecer",iE="anoitecer",oE="hora dourada",rE="Fim da hora dourada",ME="nadir",nE="Amanhecer náutico",aE="Anoitecer náutico",cE="noite",uE="fim da noite",NE="meio-dia solar",lE="nascer do sol",LE="fim do nascer do sol",jE="pôr do sol",gE="início do pôr do sol",TE="às",yE="em %s",DE="todo dia",dE="toda hora",zE="todo minuto",IE="todo mês",wE="a cada %s dias",CE="a cada %s horas",hE="a cada %s minutos",AE="a cada %s meses",pE="a cada %s semanas",mE="a cada %s anos",OE="toda semana",EE="todo ano",_E="de %s para %s",SE="nunca",xE="em %s de %s",fE="em %s e %s de",kE="em toda data de",YE="%s",QE="%s e %s",UE="em %s",vE="em %s e %s",bE="nos fins de semana",$E="em dias úteis",PE="não será mais executado, porque o começo está no passado",WE="em %s",RE="de %s",JE="Executar de até",BE="até %s",FE="cada",GE="tempo específico",HE="de",VE="de a´t",ZE="tempo de intervalo",XE="invertido",KE="nenhum",qE="em",e_="período",t_="diariamente",s_="datas",i_="dia",o_="todos",r_="todo dia",M_="todo mês",n_="toda semana",a_="todo ano",c_="horas",u_="minutos",N_="mês",l_="por mês",L_="uma vez",j_="meses específicos",g_="semana",T_="dias úteis",y_="final de semana",D_="semanal",d_="dias úteis",z_="ano",I_="anual",w_="tempo específico",C_="tempo",h_="para",A_="válido",p_="de",m_="para",O_="dia inteiro",E_="todo mês",__={"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ça",ra_Actions:Ip,"ra_Add new child object to selected parent":"Adicionar novo objeto filho ao pai selecionado","ra_Add objects tree from JSON file":"Adicionar árvore de objetos do arquivo JSON","ra_Add row":"Adicionar linha","ra_Advanced options":"Opções avançadas","ra_All items are filtered out":"Todos os itens são filtrados","ra_All objects":"Todos os objetos",ra_Append:wp,"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ê 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:Cp,"ra_Cannot add items with set filter":"Não é possível adicionar itens com filtro definido","ra_Cannot decode license":"Não é possível decodificar a licença","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Não é possível determinar a posição: as configurações do sistema estão vazias e a detecção de GPS está desativada no navegador",'ra_Cannot find "%s"':'Não foi possível encontrar "%s"','ra_Cannot read "%s"':'Não é possível ler "%s"',"ra_Cannot read licenses: %s":"Não é possível ler licenças: %s","ra_Cannot retrieve options, as instance is offline":"Não é possível recuperar opções, pois a instância está off-line","ra_Cannot update attribute, because not found in the object":"Não é possível atualizar o atributo, porque não foi encontrado no objeto","ra_Cannot upload":"Não é possível fazer upload",ra_Categories:hp,"ra_Chained certificate":"certificado encadeado","ra_Change color theme":"Alterar tema de cores","ra_Changed from":"Mudou de","ra_Channel → State":"Canal → Estado","ra_Check license":"Verifique a licença",ra_Checked:Ap,ra_Clear:pp,"ra_Clear filter":"Filtro limpo","ra_Clear icon":"Ícone de limpeza","ra_Clone current row":"Clonar linha atual",ra_Close:mp,"ra_Collapse all nodes":"Recolher todos os nós","ra_Collapse one step node":"Recolher um nível",ra_Commercial:Op,ra_Configure:Ep,"ra_Configure visible columns":"Configurar colunas visíveis","ra_Confirm deletion of %s":"Confirme a exclusão de %s",ra_Connected:_p,ra_Continue:Sp,ra_Copied:xp,"ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conteúdo",ra_Create:fp,"ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:kp,"ra_Define CRON...":"Defina CRON...","ra_Define functions":"Definir funções","ra_Define rooms":"Definir quartos","ra_Define schedule":"Definir cronograma","ra_Define schedule...":"Definir programação ...",ra_Del:Yp,ra_Delete:Qp,"ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device → Channel → State":"Dispositivo → Canal → Estado",ra_Discard:Up,ra_Disconnected:vp,"ra_Do not ask for next 2 hours in this session":"Não peça as próximas 2 horas nesta sessão","ra_Do not export values of states":"Não exporte valores de estados","ra_Do not use let's encrypt":"Não 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ção personalizada","ra_Edit full path":"Editar caminho completo","ra_Edit function":"Função de edição","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar papel","ra_Edit room":"Sala de edição","ra_Edit value":"Editar valor","ra_Enter the code from that page here":"Digite o código dessa página aqui",ra_Error:bp,"ra_Expand all nodes":"Expanda todos os nós","ra_Expand one step node":"Expanda um nível","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 é muito grande. Max %sk permitido. Tente usar SVG.",ra_Filter:$p,"ra_Filter and Data Actions":"Ações de filtro e dados","ra_Filter files":"Filtrar arquivos","ra_Folder name":"Nome da pasta","ra_Folder → Channel → State":"Pasta → Canal → Estado","ra_Folder → Device → Channel → State":"Pasta → Dispositivo → Canal → Estado","ra_Folder → State":"Pasta → Estado","ra_Folders always first":"Pastas sempre primeiro",ra_Friday:Pp,"ra_Get %s access":"Obtenha acesso %s","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á depois que o navegador for fechado","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Se o botão acima não funcionar, você pode autorizar manualmente este aplicativo visitando esta url","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ância está ativo","ra_Instance %s is not alive":"O %s da instância não está ativo","ra_Instance is not alive":"A instância não está ativa","ra_Invalid CRON":"CRON inválido","ra_Invalid JSON":"JSON inválido","ra_Invalid answer from server":"Resposta inválida do servidor","ra_Invalid parent folder!":"Pasta pai inválida!","ra_Invalid structure":"Estrutura inválida","ra_JSON editor":"Editor JSON","ra_Last change":"Última mudança",ra_Latitude:Wp,"ra_License %s":"Licença %s","ra_License agreement":"Contrato de licença","ra_License does not exist":"A licença não existe","ra_License expired on %s":"A licença expirou em %s",'ra_License for other product "%s"':'Licença para outro produto "%s"',"ra_License is for version %s, but required version is %s.":"A licença é para a versão %s, mas a versão necessária é %s.","ra_License must be converted":"A licença deve ser convertida para uma versão mais recente. Você pode fazê-lo em seu perfil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licença não encontrada no gerenciador de licenças. Deseja atualizar as licenças do iobroker.net?","ra_Listen on all IPs":"Ouça em todos os IPs","ra_Load configuration from file":"Carregar configuração do arquivo",ra_Logout:Rp,ra_Longitude:Jp,'ra_May not trigger "updateLicenses"':'Pode não acionar "updateLicenses"',ra_Message:Bp,ra_Monday:Fp,"ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:Gp,"ra_No data found in file":"Nenhum dado encontrado no arquivo","ra_No one license found in license manager":"Nenhuma licença encontrada no gerenciador de licenças","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ão especialistas podem criar novos objetos apenas em "0_userdata.0" ou "alias.0".',"ra_Not a number":"Não é um número",ra_Objects:Hp,ra_Ok:Vp,"ra_On weekdays":"Nos dias úteis","ra_Only following structures of objects are available:":"Apenas as seguintes estruturas de objetos estão disponíveis:","ra_Only selected":"Apenas selecionado","ra_Owner group":"Grupo proprietário","ra_Owner user":"Usuário proprietário","ra_Passwords are not equal!":"As senhas não são 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ção","ra_Please allow popups in your browser for this page!":"Por favor, permita pop-ups no seu navegador para esta página!","ra_Please confirm":"Por favor confirme","ra_Please create license":"Crie uma licença","ra_Please enter the license":"Por favor, insira a licença","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á está sendo usada por %s","ra_Press ENTER Key to add new item":"Pressione a tecla ENTER para adicionar um novo item","ra_Private certificate":"certificado privado",ra_Product:Zp,"ra_Public certificate":"certificado público","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar árvore","ra_Reload files":"Recarregar arquivos",ra_Rename_Move_Copy:Xp,"ra_Renew %s access":"Renovar acesso %s",ra_Repeat:Kp,ra_Replace:qp,"ra_Request timed out":"Solicitação expirou","ra_Restrict to folder":"Restringir à pasta",ra_Root:e2,ra_Saturday:t2,ra_Save:s2,"ra_Save and close":"Salvar e fechar","ra_Save configuration to file":"Salvar configuração em arquivo","ra_Save objects tree as JSON file":"Salvar árvore de objetos como arquivo JSON","ra_Select all":"Selecionar tudo","ra_Select color":"Selecione a cor","ra_Select predefined icon":"Selecione o ícone predefinido","ra_Select type of export":"Selecione o tipo de exportação",ra_Selected:i2,"ra_Selected %s object(s)":"%s objeto(s) selecionado(s)","ra_Serial number (UUID)":"Número de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'O número de série (UUID) "%s" na licença é para outro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"A sessão irá expirar em %s segundos. Continuar?","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ções de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Alguns dados não são armazenados. Descartar?",ra_States:o2,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizado com sucesso. Token válido até %s e será renovado automaticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizado com sucesso. Token válido até %s, mas pode expirar, pois a instância não está em execução.","ra_Suitable license not found in license manager":"Licença adequada não encontrada no gerenciador de licenças",ra_Sunday:r2,"ra_Suppress question for next %s minutes":"Suprimir pergunta nos próximos %s minutos","ra_System language":"Idioma do sistema","ra_Take browser position":"Tomar posição do navegador","ra_Take position from system settings":"Tomar posição a partir das configurações 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ível (por exemplo, "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"A página que você está procurando não foi encontrada","ra_The schedule will be executed every minute. Are you sure?":"O agendamento será executado a cada minuto. Tem certeza?","ra_The schedule will be executed every second. Are you sure?":"O agendamento será executado a cada segundo. Tem certeza?",ra_Thursday:M2,ra_Timestamp:n2,"ra_Toggle expert mode":"Alternar modo especialista","ra_Toggle the states view":"Alternar a visualização dos estados","ra_Toggle view mode":"Alternar modo de visualização","ra_Too big":"Muito grande","ra_Too small":"Muito pequeno","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:a2,"ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:c2,"ra_Upload file":"Subir arquivo","ra_Use all available let's encrypt certificates":"Use todos os certificados disponíveis 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ções do sistema para a posição","ra_Used system settings":"Configurações do sistema usadas","ra_User files":"Arquivos do usuário",ra_ValidTill:u2,ra_Value:N2,ra_Version:l2,"ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:L2,ra_Width:j2,ra_Yes:g2,"ra_You can export all objects or just the selected branch.":"Você pode exportar todos os objetos ou apenas a ramificação selecionada.","ra_You can filter entries by entering here some text":"Você pode filtrar as entradas digitando aqui algum texto","ra_You can use * as wildcard":"Você pode usar * como curinga",ra___different__:T2,ra_aclEveryone_read_object:y2,ra_aclEveryone_read_state:D2,ra_aclEveryone_write_object:d2,ra_aclEveryone_write_state:z2,ra_aclGroup_read_object:I2,ra_aclGroup_read_state:w2,ra_aclGroup_write_object:C2,ra_aclGroup_write_state:h2,ra_aclOwner_read_object:A2,ra_aclOwner_read_state:p2,ra_aclOwner_write_object:m2,ra_aclOwner_write_state:O2,ra_buttons:E2,ra_changedFrom:_2,ra_close:S2,ra_create_boolean_state:x2,ra_create_channel:f2,ra_create_device:k2,ra_create_number_state:Y2,ra_create_state:Q2,ra_create_string_state:U2,ra_daysShortText:v2,ra_dow_Fr:b2,ra_dow_Mo:$2,ra_dow_Sa:P2,ra_dow_Su:W2,ra_dow_Th:R2,ra_dow_Tu:J2,ra_dow_We:B2,ra_expertMode:F2,ra_false:G2,ra_fileType_all:H2,ra_fileType_audio:V2,ra_fileType_code:Z2,ra_fileType_images:X2,ra_fileType_txt:K2,ra_fileType_video:q2,"ra_fileType_video,":"Vídeo",ra_filter_customs:em,ra_filter_customs_without:tm,ra_filter_func:sm,ra_filter_id:im,ra_filter_name:om,ra_filter_role:rm,ra_filter_room:Mm,ra_filter_type:nm,"ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:am,ra_lastChange:cm,ra_locally:um,ra_month_Apr:Nm,ra_month_Aug:lm,ra_month_Dec:Lm,ra_month_Feb:jm,ra_month_Jan:gm,ra_month_Jul:Tm,ra_month_Jun:ym,ra_month_Mai:Dm,ra_month_Mar:dm,ra_month_Nov:zm,ra_month_Oct:Im,ra_month_Sep:wm,ra_months_Apr:Cm,ra_months_Aug:hm,ra_months_Dec:Am,ra_months_Feb:pm,ra_months_Jan:mm,ra_months_Jul:Om,ra_months_Jun:Em,ra_months_Mai:_m,ra_months_Mar:Sm,ra_months_Nov:xm,ra_months_Oct:fm,ra_months_Sep:km,"ra_no confirm for 5 mins":"sem confirmação por 5 minutos",ra_none:Ym,ra_object_changed_by:Qm,ra_object_changed_by_user:Um,ra_otherConfig:vm,ra_qualityCode:bm,ra_repeat:$m,ra_select_folder_hint:Pm,ra_show_all:Wm,ra_state_changed_by:Rm,ra_state_changed_from:Jm,ra_timestamp:Bm,ra_tooltip_ack:Fm,ra_tooltip_comment:Gm,ra_tooltip_copyState:Hm,ra_tooltip_ctrlForLink:Vm,ra_tooltip_customConfig:Zm,ra_tooltip_deleteObject:Xm,ra_tooltip_editObject:Km,ra_tooltip_editState:qm,ra_tooltip_expire:eO,ra_tooltip_from:tO,ra_tooltip_lc:sO,ra_tooltip_quality:iO,ra_tooltip_ts:oO,ra_tooltip_user:rO,ra_tooltip_value:MO,ra_true:nO,"ra_use seconds":"use segundos",ra_val:aO,"ra_via internet":"via internet",ra_warning_every_minute:cO,ra_warning_every_second:uO,sc_cron:NO,sc_date:lO,sc_dates:LO,sc_dow:jO,sc_dows:gO,sc_every:TO,sc_everyN_dates:yO,sc_everyN_dow:DO,sc_everyN_dows:dO,sc_everyN_hours:zO,sc_everyN_minutes:IO,sc_everyN_months:wO,sc_everyN_seconds:CO,sc_every_dates:hO,sc_every_dow:AO,sc_every_dows:pO,sc_every_hours:mO,sc_every_minutes:OO,sc_every_months:EO,sc_every_seconds:_O,sc_from:SO,sc_hours:xO,sc_interval:fO,sc_intervalBetween:kO,sc_invalid_cron:YO,sc_minutes:QO,sc_months:UO,sc_once:vO,sc_period:bO,sc_seconds:$O,sc_simple:PO,sc_specific:WO,sc_specific_dates:RO,sc_specific_dow:JO,sc_specific_dows:BO,sc_specific_hours:FO,sc_specific_minutes:GO,sc_specific_months:HO,sc_specific_seconds:VO,sc_time:ZO,sc_to:XO,sc_wizard:KO,sch_all:qO,sch_astroDay:eE,sch_astroNight:tE,sch_astro_dawn:sE,sch_astro_dusk:iE,sch_astro_goldenHour:oE,sch_astro_goldenHourEnd:rE,sch_astro_nadir:ME,sch_astro_nauticalDawn:nE,sch_astro_nauticalDusk:aE,sch_astro_night:cE,sch_astro_nightEnd:uE,sch_astro_solarNoon:NE,sch_astro_sunrise:lE,sch_astro_sunriseEnd:LE,sch_astro_sunset:jE,sch_astro_sunsetStart:gE,sch_at:TE,sch_desc_atTime:yE,sch_desc_everyDay:DE,sch_desc_everyHour:dE,sch_desc_everyMinute:zE,sch_desc_everyMonth:IE,sch_desc_everyNDay:wE,sch_desc_everyNHours:CE,sch_desc_everyNMinutes:hE,sch_desc_everyNMonths:AE,sch_desc_everyNWeeks:pE,sch_desc_everyNYears:mE,sch_desc_everyWeek:OE,sch_desc_everyYear:EE,sch_desc_intervalFromTo:_E,sch_desc_never:SE,sch_desc_onDate:xE,sch_desc_onDates:fE,sch_desc_onEveryDate:kE,sch_desc_onMonth:YE,sch_desc_onMonths:QE,sch_desc_onWeekday:UE,sch_desc_onWeekdays:vE,sch_desc_onWeekends:bE,sch_desc_onWorkdays:$E,sch_desc_onceInPast:PE,sch_desc_once_on:WE,sch_desc_validFrom:RE,sch_desc_validFromTo:JE,sch_desc_validTo:BE,sch_every:FE,sch_exactTime:GE,sch_from:HE,sch_fromTo:VE,sch_intervalTime:ZE,sch_invert:XE,sch_no_one:KE,sch_on:qE,sch_period:e_,sch_periodDaily:t_,sch_periodDates:s_,sch_periodDay:i_,sch_periodEvery:o_,sch_periodEveryDay:r_,sch_periodEveryMonth:M_,sch_periodEveryWeek:n_,sch_periodEveryYear:a_,sch_periodHours:c_,sch_periodMinutes:u_,sch_periodMonth:N_,sch_periodMonthly:l_,sch_periodOnce:L_,sch_periodSpecificMonths:j_,sch_periodWeek:g_,sch_periodWeekdays:T_,sch_periodWeekend:y_,sch_periodWeekly:D_,sch_periodWorkdays:d_,sch_periodYear:z_,sch_periodYearly:I_,sch_specificTime:w_,sch_time:C_,sch_to:h_,sch_valid:A_,sch_validFrom:p_,sch_validTo:m_,sch_wholeDay:O_,sch_yearEveryMonth:E_},S_="Acties",x_="toevoegen",f_="Annuleer",k_="Categorieën",Y_="Gecontroleerd",Q_="Verwijderen",U_="Dichtbij",v_="Reclame",b_="Configureren",$_="Verbonden",P_="Doorgaan",W_="Gekopieerd",R_="Creëer",J_="Bijsnijden",B_="Delete",F_="Verwijderen",G_="Weggooien",H_="Verbinding verbroken",V_="Fout",Z_="Filter",X_="Vrijdag",K_="Breedtegraad",q_="Uitloggen",eS="Lengtegraad",tS="Bericht",sS="Maandag",iS="Naam",oS="Voorwerpen",rS="OK",MS="Product",nS="Hernoemen/Verplaatsen/Kopiëren",aS="Herhaling",cS="Vervangen",uS="Wortel",NS="Zaterdag",lS="Sparen",LS="Geselecteerd",jS="Staten",gS="Zondag",TS="Donderdag",yS="Tijdstempel",DS="Dinsdag",dS="Bijwerken",zS="Geldig tot",IS="Waarde",wS="Versie",CS="Woensdag",hS="Breedte",AS="Ja",pS="verschillend",mS="Iedereen kan object lezen",OS="Iedereen kan staat lezen",ES="Iedereen kan object schrijven",_S="Iedereen kan staat schrijven",SS="Groep kan object lezen",xS="Groep kan status lezen",fS="Groep kan object schrijven",kS="Groep kan staat schrijven",YS="Eigenaar kan object lezen",QS="Eigenaar kan staat lezen",US="Eigenaar kan object schrijven",vS="Eigenaar kan staat schrijven",bS="Toetsen",$S="Veranderd van",PS="dichtbij",WS="Creëer een Booleaanse status",RS="Kanaal maken",JS="Apparaat maken",BS="Nummerstatus maken",FS="Staat creëren",GS="Tekenreeksstatus maken",HS="d.",VS="Fr",ZS="Mo",XS="Za",KS="Zo",qS="Th",e3="Tu",t3="Wij",s3="Expert modus",i3="ONWAAR",o3="Alle bestanden",r3="Audio",M3="Code/JSON",n3="Afbeeldingen",a3="Tekst",c3="Video",u3="Instellingen",N3="zonder",l3="Functie",L3="ID",j3="Naam",g3="Rol",T3="Kamer",y3="Type",D3="Ongeldige instellingen",d3="Laatste wijziging",z3="plaatselijk",I3="april",w3="aug",C3="dec",h3="februari",A3="jan",p3="jul",m3="juni",O3="Mei",E3="mrt",_3="nov",S3="Okt",x3="sept",f3="april",k3="aug",Y3="dec",Q3="februari",U3="jan",v3="jul",b3="juni",$3="Mei",P3="mrt",W3="nov",R3="Okt",J3="sept",B3="geen",F3="Object veranderd door",G3="Object voor het laatst gewijzigd om",H3="Instellingen van andere adapter %s",V3="Kwaliteitscode",Z3="herhalen",X3='Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',K3="Alles weergeven",q3="Staat veranderd door",ex="Object veranderd van",tx="Tijdstempel",sx="Erkende vlag",ix="Opmerking",ox="Kopieer de statuswaarde",rx="Houd de Cltr/⌘-toets ingedrukt om de link te openen",Mx="Aangepaste instellingen",nx="Object verwijderen",ax="Object bewerken",cx="Bewerk de statuswaarde",ux="Verloopt over",Nx="Van",lx="Laatst gewijzigd",Lx="Kwaliteit",jx="Tijdstempel",gx="Gebruiker",Tx="Waarde",yx="WAAR",Dx="Waarde",dx="Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",zx="Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",Ix="CRON",wx="Datum",Cx="data",hx="Dag",Ax="Dag van de week",px="elk",mx="elke N dagen",Ox="elke N-de dag van de week",Ex="elke N dag van de week",_x="elke N uur",Sx="elke N minuten",xx="elke N maanden",fx="elke N seconden",kx="elke dag",Yx="elke dag van de week",Qx="elke dag van de week",Ux="elk uur",vx="elke minuut",bx="elke maand",$x="elke seconde",Px="Van",Wx="uren",Rx="Interval",Jx="Interval tussen",Bx="Ongeldige CRON",Fx="Notulen",Gx="maanden",Hx="Een keer",Vx="Periode",Zx="seconden",Xx="Gemakkelijk",Kx="Specifieke tijd",qx="specifieke data",ef="specifieke dag(en) van de week",tf="specifieke dag van weken",sf="specifieke uren",of="specifieke minuten",rf="specifieke maanden",Mf="specifieke seconden",nf="Tijd",af="Naar",cf="tovenaar",uf="allemaal",Nf="Astro-dag",lf="Astro-nacht",Lf="Dageraad",jf="Schemer",gf="gouden uur",Tf="Gouden uur einde",yf="Nadir",Df="Nautische dageraad",df="Nautische schemering",zf="Nacht",If="Nacht einde",wf="Zonne middag",Cf="zonsopkomst",hf="Sunrise einde",Af="Zonsondergang",pf="Zonsondergang start",mf="Bij",Of="op %s",Ef="elke dag",_f="elk uur",Sf="elke minuut",xf="elke maand",ff="elke %s dag",kf="elke %s uur",Yf="elke %s minuten",Qf="elke %s maanden",Uf="elke %s weken",vf="elke %s jaar",bf="elke week",$f="elk jaar",Pf="van %s tot %s",Wf="nooit",Rf="op %s van %s",Jf="op %s en %s van",Bf="op elke datum van",Ff="%s",Gf="%s en %s",Hf="op %s",Vf="op %s en %s",Zf="in het weekend",Xf="op werkdagen",Kf="zal niet meer worden uitgevoerd, omdat start verleden tijd is",qf="op %s",e5="van %s",t5="Uitvoeren van tot",s5="tot %s",i5="elk",o5="Specifieke tijd",r5="van",M5="Van naar",n5="Interval tijd",a5="omkeren",c5="geen",u5="Aan",N5="Periode",l5="Dagelijks",L5="data",j5="Dag",g5="elk",T5="Elke dag",y5="Elke maand",D5="Elke week",d5="Elk jaar",z5="uren",I5="Notulen",w5="maand",C5="Maandelijks",h5="Een keer",A5="Specifieke maanden",p5="Week",m5="Doordeweekse dagen",O5="Weekend",E5="Wekelijks",_5="werkdagen",S5="Jaar",x5="jaar-",f5="Specifieke tijd",k5="Tijd",Y5="naar",Q5="Geldig",U5="van",v5="naar",b5="Hele dag",$5="elke maand",P5={"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ïmporteerd","ra_Accept license":"Accepteer licentie",ra_Actions:S_,"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:x_,"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:f_,"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:k_,"ra_Chained certificate":"Geketend certificaat","ra_Change color theme":"Kleurthema wijzigen","ra_Changed from":"Veranderd van","ra_Channel → State":"Kanaal → Staat","ra_Check license":"Licentie controleren",ra_Checked:Y_,ra_Clear:Q_,"ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Clone current row":"Kloon de huidige rij",ra_Close:U_,"ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"Eén niveau samenvouwen",ra_Commercial:v_,ra_Configure:b_,"ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:$_,ra_Continue:P_,ra_Copied:W_,"ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopiëren",ra_Create:R_,"ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:J_,"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ëren ...",ra_Del:B_,ra_Delete:F_,"ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device → Channel → State":"Apparaat → Kanaal → Staat",ra_Discard:G_,ra_Disconnected:H_,"ra_Do not ask for next 2 hours in this session":"Vraag niet om de volgende 2 uur in deze sessie","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 full path":"Volledig pad bewerken","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_Enter the code from that page here":"Voer hier de code van die pagina in",ra_Error:V_,"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:Z_,"ra_Filter and Data Actions":"Filter- en gegevensacties","ra_Filter files":"Bestanden filteren","ra_Folder name":"Naam van de map","ra_Folder → Channel → State":"Map → Kanaal → Staat","ra_Folder → Device → Channel → State":"Map → Apparaat → Kanaal → Staat","ra_Folder → State":"Map → Staat","ra_Folders always first":"Mappen altijd eerst",ra_Friday:X_,"ra_Get %s access":"Krijg %s toegang","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_If the button above does not work, you can authorize manually this app by visiting this url":"Als de bovenstaande knop niet werkt, kunt u deze app handmatig autoriseren door deze url te bezoeken","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:K_,"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_Logout:q_,ra_Longitude:eS,'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:tS,ra_Monday:sS,"ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:iS,"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:oS,ra_Ok:rS,"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 allow popups in your browser for this page!":"Sta pop-ups toe in uw browser voor deze pagina!","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_Press ENTER Key to add new item":"Druk op de ENTER-toets om een nieuw item toe te voegen","ra_Private certificate":"Privé certificaat",ra_Product:MS,"ra_Public certificate":"Openbaar certificaat","ra_Quality code":"Kwaliteit","ra_Refresh tree":"Vernieuw de boom","ra_Reload files":"Laad bestanden opnieuw",ra_Rename_Move_Copy:nS,"ra_Renew %s access":"%s toegang verlengen",ra_Repeat:aS,ra_Replace:cS,"ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:uS,ra_Saturday:NS,ra_Save:lS,"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:LS,"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_Session will expire in %s seconds. Continue?":"Sessie verloopt over %s seconden. Doorgaan?","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:jS,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Succesvol geautoriseerd. Token geldig tot %s en wordt automatisch verlengd.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Succesvol geautoriseerd. Token geldig tot %s, maar kan verlopen omdat de instantie niet actief is.","ra_Suitable license not found in license manager":"Geschikte licentie niet gevonden in licentiebeheer",ra_Sunday:gS,"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:TS,ra_Timestamp:yS,"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:DS,"ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:dS,"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:zS,ra_Value:IS,ra_Version:wS,"ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:CS,ra_Width:hS,ra_Yes:AS,"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_You can use * as wildcard":"U kunt * als joker gebruiken",ra___different__:pS,ra_aclEveryone_read_object:mS,ra_aclEveryone_read_state:OS,ra_aclEveryone_write_object:ES,ra_aclEveryone_write_state:_S,ra_aclGroup_read_object:SS,ra_aclGroup_read_state:xS,ra_aclGroup_write_object:fS,ra_aclGroup_write_state:kS,ra_aclOwner_read_object:YS,ra_aclOwner_read_state:QS,ra_aclOwner_write_object:US,ra_aclOwner_write_state:vS,ra_buttons:bS,ra_changedFrom:$S,ra_close:PS,ra_create_boolean_state:WS,ra_create_channel:RS,ra_create_device:JS,ra_create_number_state:BS,ra_create_state:FS,ra_create_string_state:GS,ra_daysShortText:HS,ra_dow_Fr:VS,ra_dow_Mo:ZS,ra_dow_Sa:XS,ra_dow_Su:KS,ra_dow_Th:qS,ra_dow_Tu:e3,ra_dow_We:t3,ra_expertMode:s3,ra_false:i3,ra_fileType_all:o3,ra_fileType_audio:r3,ra_fileType_code:M3,ra_fileType_images:n3,ra_fileType_txt:a3,ra_fileType_video:c3,"ra_fileType_video,":"Video",ra_filter_customs:u3,ra_filter_customs_without:N3,ra_filter_func:l3,ra_filter_id:L3,ra_filter_name:j3,ra_filter_role:g3,ra_filter_room:T3,ra_filter_type:y3,"ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:D3,ra_lastChange:d3,ra_locally:z3,ra_month_Apr:I3,ra_month_Aug:w3,ra_month_Dec:C3,ra_month_Feb:h3,ra_month_Jan:A3,ra_month_Jul:p3,ra_month_Jun:m3,ra_month_Mai:O3,ra_month_Mar:E3,ra_month_Nov:_3,ra_month_Oct:S3,ra_month_Sep:x3,ra_months_Apr:f3,ra_months_Aug:k3,ra_months_Dec:Y3,ra_months_Feb:Q3,ra_months_Jan:U3,ra_months_Jul:v3,ra_months_Jun:b3,ra_months_Mai:$3,ra_months_Mar:P3,ra_months_Nov:W3,ra_months_Oct:R3,ra_months_Sep:J3,"ra_no confirm for 5 mins":"geen bevestiging gedurende 5 minuten",ra_none:B3,ra_object_changed_by:F3,ra_object_changed_by_user:G3,ra_otherConfig:H3,ra_qualityCode:V3,ra_repeat:Z3,ra_select_folder_hint:X3,ra_show_all:K3,ra_state_changed_by:q3,ra_state_changed_from:ex,ra_timestamp:tx,ra_tooltip_ack:sx,ra_tooltip_comment:ix,ra_tooltip_copyState:ox,ra_tooltip_ctrlForLink:rx,ra_tooltip_customConfig:Mx,ra_tooltip_deleteObject:nx,ra_tooltip_editObject:ax,ra_tooltip_editState:cx,ra_tooltip_expire:ux,ra_tooltip_from:Nx,ra_tooltip_lc:lx,ra_tooltip_quality:Lx,ra_tooltip_ts:jx,ra_tooltip_user:gx,ra_tooltip_value:Tx,ra_true:yx,"ra_use seconds":"gebruik seconden",ra_val:Dx,"ra_via internet":"via internet",ra_warning_every_minute:dx,ra_warning_every_second:zx,sc_cron:Ix,sc_date:wx,sc_dates:Cx,sc_dow:hx,sc_dows:Ax,sc_every:px,sc_everyN_dates:mx,sc_everyN_dow:Ox,sc_everyN_dows:Ex,sc_everyN_hours:_x,sc_everyN_minutes:Sx,sc_everyN_months:xx,sc_everyN_seconds:fx,sc_every_dates:kx,sc_every_dow:Yx,sc_every_dows:Qx,sc_every_hours:Ux,sc_every_minutes:vx,sc_every_months:bx,sc_every_seconds:$x,sc_from:Px,sc_hours:Wx,sc_interval:Rx,sc_intervalBetween:Jx,sc_invalid_cron:Bx,sc_minutes:Fx,sc_months:Gx,sc_once:Hx,sc_period:Vx,sc_seconds:Zx,sc_simple:Xx,sc_specific:Kx,sc_specific_dates:qx,sc_specific_dow:ef,sc_specific_dows:tf,sc_specific_hours:sf,sc_specific_minutes:of,sc_specific_months:rf,sc_specific_seconds:Mf,sc_time:nf,sc_to:af,sc_wizard:cf,sch_all:uf,sch_astroDay:Nf,sch_astroNight:lf,sch_astro_dawn:Lf,sch_astro_dusk:jf,sch_astro_goldenHour:gf,sch_astro_goldenHourEnd:Tf,sch_astro_nadir:yf,sch_astro_nauticalDawn:Df,sch_astro_nauticalDusk:df,sch_astro_night:zf,sch_astro_nightEnd:If,sch_astro_solarNoon:wf,sch_astro_sunrise:Cf,sch_astro_sunriseEnd:hf,sch_astro_sunset:Af,sch_astro_sunsetStart:pf,sch_at:mf,sch_desc_atTime:Of,sch_desc_everyDay:Ef,sch_desc_everyHour:_f,sch_desc_everyMinute:Sf,sch_desc_everyMonth:xf,sch_desc_everyNDay:ff,sch_desc_everyNHours:kf,sch_desc_everyNMinutes:Yf,sch_desc_everyNMonths:Qf,sch_desc_everyNWeeks:Uf,sch_desc_everyNYears:vf,sch_desc_everyWeek:bf,sch_desc_everyYear:$f,sch_desc_intervalFromTo:Pf,sch_desc_never:Wf,sch_desc_onDate:Rf,sch_desc_onDates:Jf,sch_desc_onEveryDate:Bf,sch_desc_onMonth:Ff,sch_desc_onMonths:Gf,sch_desc_onWeekday:Hf,sch_desc_onWeekdays:Vf,sch_desc_onWeekends:Zf,sch_desc_onWorkdays:Xf,sch_desc_onceInPast:Kf,sch_desc_once_on:qf,sch_desc_validFrom:e5,sch_desc_validFromTo:t5,sch_desc_validTo:s5,sch_every:i5,sch_exactTime:o5,sch_from:r5,sch_fromTo:M5,sch_intervalTime:n5,sch_invert:a5,sch_no_one:c5,sch_on:u5,sch_period:N5,sch_periodDaily:l5,sch_periodDates:L5,sch_periodDay:j5,sch_periodEvery:g5,sch_periodEveryDay:T5,sch_periodEveryMonth:y5,sch_periodEveryWeek:D5,sch_periodEveryYear:d5,sch_periodHours:z5,sch_periodMinutes:I5,sch_periodMonth:w5,sch_periodMonthly:C5,sch_periodOnce:h5,sch_periodSpecificMonths:A5,sch_periodWeek:p5,sch_periodWeekdays:m5,sch_periodWeekend:O5,sch_periodWeekly:E5,sch_periodWorkdays:_5,sch_periodYear:S5,sch_periodYearly:x5,sch_specificTime:f5,sch_time:k5,sch_to:Y5,sch_valid:Q5,sch_validFrom:U5,sch_validTo:v5,sch_wholeDay:b5,sch_yearEveryMonth:$5},W5="Actes",R5="Ajouter",J5="Annuler",B5="Catégories",F5="Vérifié",G5="Effacer",H5="Fermer",V5="Commercial",Z5="Configurer",X5="Lié",K5="Continuer",q5="Copié",ek="Créer",tk="Recadrer",sk="Delete",ik="Supprimer",ok="Jeter",rk="Débranché",Mk="Erreur",nk="Filtre",ak="Vendredi",ck="Latitude",uk="Déconnexion",Nk="Longitude",lk="Message",Lk="Lundi",jk="Nom",gk="Objets",Tk="D'accord",yk="Produit",Dk="Renommer/Déplacer/Copier",dk="Répéter",zk="Remplacer",Ik="Racine",wk="Samedi",Ck="sauver",hk="Choisi",Ak="États",pk="Dimanche",mk="Jeudi",Ok="Horodatage",Ek="Mardi",_k="Mise à jour",Sk="Valable jusqu'au",xk="Valeur",fk="Version",kk="Mercredi",Yk="Largeur",Qk="Oui",Uk="différent",vk="Tout le monde peut lire un objet",bk="Tout le monde peut lire l'état",$k="Tout le monde peut écrire un objet",Pk="Tout le monde peut écrire l'état",Wk="Le groupe peut lire l'objet",Rk="Le groupe peut lire l'état",Jk="Le groupe peut écrire un objet",Bk="Le groupe peut écrire l'état",Fk="Le propriétaire peut lire l'objet",Gk="Le propriétaire peut lire l'état",Hk="Le propriétaire peut écrire un objet",Vk="Le propriétaire peut écrire l'état",Zk="Boutons",Xk="Changé de",Kk="Fermer",qk="Créer un état booléen",eY="Créer une chaîne",tY="Créer un appareil",sY="Créer un état de numéro",iY="Créer un état",oY="Créer un état de chaîne",rY="j.",MY="Fr",nY="Mo",aY="Sa",cY="Su",uY="Th",NY="Tu",lY="Nous",LY="Mode expert",jY="FAUX",gY="Tous les fichiers",TY="l'audio",yY="Code/JSON",DY="Images",dY="Texte",zY="Vidéo",IY="Paramètres",wY="sans",CY="Une fonction",hY="ID",AY="Prénom",pY="Rôle",mY="Pièce",OY="Type",EY="Paramètres invalides",_Y="Dernier changement",SY="localement",xY="Avr",fY="Août",kY="Déc",YY="Fév",QY="Jan",UY="Juil",vY="Juin",bY="Mai",$Y="Mar",PY="Nov",WY="Oct",RY="Sep",JY="Avr",BY="Août",FY="Déc",GY="Fév",HY="Jan",VY="Juil",ZY="Juin",XY="Mai",KY="Mar",qY="Nov",eQ="Oct",tQ="Sep",sQ="rien",iQ="Objet modifié par",oQ="Objet modifié pour la dernière fois à",rQ="Paramètres d'un autre adaptateur %s",MQ="Code de qualité",nQ="répéter",aQ='Pour sélectionner un dossier, maintenez simplement la touche "shift" enfoncée en cliquant sur le dossier.',cQ="Tout afficher",uQ="État modifié par",NQ="Objet changé de",lQ="Horodatage",LQ="Drapeau reconnu",jQ="Commentaire",gQ="Copiez la valeur d'état",TQ="Maintenez la touche Cltr/⌘ enfoncée pour ouvrir le lien",yQ="Paramètres personnalisés",DQ="Supprimer un objet",dQ="Modifier l'objet",zQ="Modifier la valeur d'état",IQ="Expire dans",wQ="De",CQ="Dernière modification",hQ="Qualité",AQ="Horodatage",pQ="Utilisateur",mQ="Valeur",OQ="VRAI",EQ="Valeur",_Q="Attention : la tâche CRON s’exécutera toutes les minutes pendant la période spécifiée !",SQ="Attention : la tâche CRON s’exécutera toutes les secondes pendant la période spécifiée !",xQ="CRON",fQ="Date",kQ="Rendez-vous",YQ="Jour",QQ="Jour de la semaine",UQ="Chaque",vQ="tous les N jours",bQ="chaque Nième jour de la semaine",$Q="tous les N jours de la semaine",PQ="toutes les N heures",WQ="toutes les N minutes",RQ="tous les N mois",JQ="toutes les N secondes",BQ="tous les jours",FQ="Chaque jour de la semaine",GQ="Chaque jour de la semaine",HQ="Toutes les heures",VQ="chaque minute",ZQ="chaque mois",XQ="chaque seconde",KQ="De",qQ="Heures",eU="Intervalle",tU="Intervalle entre",sU="CRON non valide",iU="Minutes",oU="mois",rU="Une fois que",MU="Période",nU="Secondes",aU="Facile",cU="Temps spécifique",uU="dates spécifiques",NU="jour(s) spécifique(s) de la semaine",lU="jour spécifique de semaines",LU="heures spécifiques",jU="minutes spécifiques",gU="mois spécifiques",TU="secondes spécifiques",yU="Temps",DU="À",dU="sorcier",zU="tout",IU="Journée astronomique",wU="Nuit astronomique",CU="Aube",hU="Crépuscule",AU="Heure d'or",pU="Fin de l'heure d'or",mU="Nadir",OU="Aube nautique",EU="Crépuscule nautique",_U="Nuit",SU="Fin de nuit",xU="Midi solaire",fU="lever du soleil",kU="Fin du lever du soleil",YU="Le coucher du soleil",QU="Coucher du soleil",UU="à",vU="à %s",bU="tous les jours",$U="Toutes les heures",PU="chaque minute",WU="chaque mois",RU="chaque %s jour",JU="chaque %s heures",BU="toutes les %s minutes",FU="tous les %s mois",GU="chaque %s semaines",HU="tous les %s ans",VU="toutes les semaines",ZU="chaque année",XU="de %s à %s",KU="jamais",qU="sur %s de %s",ev="sur %s et %s de",tv="à chaque date de",sv="%s",iv="%s et %s",ov="sur %s",rv="sur %s et %s",Mv="les weekends",nv="les jours ouvrables",av="ne sera plus exécuté, car start est dans le passé",cv="sur %s",uv="de %s",Nv="Exécuter de à",lv="à %s",Lv="chaque",jv="Temps spécifique",gv="de",Tv="De à",yv="Temps d'interval",Dv="inverser",dv="aucun",zv="sur",Iv="Période",wv="du quotidien",Cv="Rendez-vous",hv="journée",Av="Chaque",pv="Tous les jours",mv="Chaque mois",Ov="Toutes les semaines",Ev="Chaque année",_v="Heures",Sv="Minutes",xv="mois",fv="Mensuel",kv="Une fois que",Yv="Mois spécifiques",Qv="La semaine",Uv="Jours de la semaine",vv="Weekend",bv="Hebdomadaire",$v="Jours ouvrables",Pv="Année",Wv="Annuel",Rv="Temps spécifique",Jv="Temps",Bv="à",Fv="Valide",Gv="de",Hv="à",Vv="Toute la journée",Zv="chaque mois",Xv={"ra_%s links from aliases":"%s liens provenant d'alias","ra_%s object(s) processed":"%s objet(s) traité(s)","ra_%s was imported":"%s a été importé","ra_Accept license":"Accepter la licence",ra_Actions:W5,"ra_Add new child object to selected parent":"Ajouter un nouvel objet enfant au parent sélectionné","ra_Add objects tree from JSON file":"Ajouter une arborescence d'objets à partir d'un fichier JSON","ra_Add row":"Ajouter une rangée","ra_Advanced options":"Options avancées","ra_All items are filtered out":"Tous les éléments sont filtrés","ra_All objects":"Tous les objets",ra_Append:R5,"ra_Append %s entries or replace existing?":"Ajouter %s entrées ou remplacer l'existant ?","ra_Append or replace?":"Ajouter ou remplacer ?","ra_Are you sure?":"Êtes-vous sûr?","ra_Auto (no custom columns)":"Auto (pas de colonnes personnalisées)","ra_Back to %s":"Retour à %s","ra_Background image":"Image de fond",ra_Cancel:J5,"ra_Cannot add items with set filter":"Impossible d'ajouter des éléments avec le filtre défini","ra_Cannot decode license":"Impossible de décoder la licence","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossible de déterminer la position : les paramètres système sont vides et la détection GPS est désactivée 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 : %s","ra_Cannot retrieve options, as instance is offline":"Impossible de récupérer les options, car l'instance est hors ligne","ra_Cannot update attribute, because not found in the object":"Impossible de mettre à jour l'attribut, car il est introuvable dans l'objet","ra_Cannot upload":"Impossible de télécharger",ra_Categories:B5,"ra_Chained certificate":"Certificat chaîné","ra_Change color theme":"Changer le thème de couleur","ra_Changed from":"Changé de","ra_Channel → State":"Canal → État","ra_Check license":"Vérifier la licence",ra_Checked:F5,ra_Clear:G5,"ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'icône","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:H5,"ra_Collapse all nodes":"Réduire tous les nœuds","ra_Collapse one step node":"Réduire d'un niveau",ra_Commercial:V5,ra_Configure:Z5,"ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:X5,ra_Continue:K5,ra_Copied:q5,"ra_Copied %s":'"%s" copié',"ra_Copy content":"Copier le contenu",ra_Create:ek,"ra_Create alias":"Créer un alias","ra_Create folder":"Créer le dossier","ra_Create new folder in %s":"Créer un nouveau dossier dans %s",ra_Crop:tk,"ra_Define CRON...":"Définir CRON...","ra_Define functions":"Définir des fonctions","ra_Define rooms":"Définir des pièces","ra_Define schedule":"Définir le calendrier","ra_Define schedule...":"Définir le calendrier ...",ra_Del:sk,ra_Delete:ik,"ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout déselectionner","ra_Device → Channel → State":"Appareil → Canal → État",ra_Discard:ok,ra_Disconnected:rk,"ra_Do not ask for next 2 hours in this session":"Ne demandez pas les 2 prochaines heures de cette session","ra_Do not export values of states":"Ne pas exporter les valeurs des états","ra_Do not use let's encrypt":"Ne pas utiliser let's encrypt","ra_Double click to reset table layout":"Double-cliquez pour réinitialiser la disposition du tableau","ra_Drag 'n' drop some files here, or click to select files":"Glissez-déposez des fichiers ici, ou cliquez pour sélectionner des fichiers","ra_Drop file here":"Déposer le fichier ici","ra_Drop the files here...":"Déposez 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ée","ra_Edit full path":"Modifier le chemin complet","ra_Edit function":"Fonction d'édition","ra_Edit object field":"Modifier le champ d'objet","ra_Edit role":"Modifier le rôle","ra_Edit room":"Modifier la salle","ra_Edit value":"Modifier la valeur","ra_Enter the code from that page here":"Entrez le code de cette page ici",ra_Error:Mk,"ra_Expand all nodes":"Développer tous les nœuds","ra_Expand one step node":"Développer un niveau","ra_Export data to %s file":"Exporter les données vers le fichier %s","ra_Failed to open JSON File":"Échec de l'ouverture du fichier JSON","ra_Fallback custom certificates":"Certificats personnalisés de secours","ra_File is too big. Max %sk allowed. Try use SVG.":"Le fichier est trop volumineux. Max %sk autorisé. Essayez d'utiliser SVG.",ra_Filter:nk,"ra_Filter and Data Actions":"Actions sur les filtres et les données","ra_Filter files":"Filtrer les fichiers","ra_Folder name":"Nom de dossier","ra_Folder → Channel → State":"Dossier → Chaîne → État","ra_Folder → Device → Channel → State":"Dossier → Appareil → Canal → État","ra_Folder → State":"Dossier → État","ra_Folders always first":"Les dossiers toujours en premier",ra_Friday:ak,"ra_Get %s access":"Obtenir l'accès %s","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éé dans le dossier, il disparaîtra après la fermeture du navigateur","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Si le bouton ci-dessus ne fonctionne pas, vous pouvez autoriser manuellement cette application en visitant cette URL","ra_Import data from %s file":"Importer des données à 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éponse invalide du serveur","ra_Invalid parent folder!":"Dossier parent non valide!","ra_Invalid structure":"Structure invalide","ra_JSON editor":"Éditeur JSON","ra_Last change":"Dernier changement",ra_Latitude:ck,"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ée 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 être convertie en une version plus récente. 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 à jour les licences depuis iobroker.net ?","ra_Listen on all IPs":"Écoutez sur toutes les adresses IP","ra_Load configuration from file":"Charger la configuration à partir du fichier",ra_Logout:uk,ra_Longitude:Nk,'ra_May not trigger "updateLicenses"':'Peut ne pas déclencher "updateLicences"',ra_Message:lk,ra_Monday:Lk,"ra_Move down":"Descendre","ra_Move up":"Déplacer vers le haut",ra_Name:jk,"ra_No data found in file":"Aucune donnée trouvée dans le fichier","ra_No one license found in license manager":"Aucune licence trouvée dans le gestionnaire de licences","ra_No response from the backend":"Aucune réponse du backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Les non-experts ne peuvent créer de nouveaux objets que dans "0_userdata.0" ou "alias.0".',"ra_Not a number":"Pas un numéro",ra_Objects:gk,ra_Ok:Tk,"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électionné","ra_Owner group":"Groupe propriétaire","ra_Owner user":"Utilisateur propriétaire","ra_Passwords are not equal!":"Les mots de passe ne sont pas égaux !","ra_Place your files here or click here to open the browse dialog":"Placez vos fichiers ici ou cliquez ici pour ouvrir la boîte de dialogue de navigation","ra_Please allow popups in your browser for this page!":"Veuillez autoriser les popups dans votre navigateur pour cette page !","ra_Please confirm":"Veuillez confirmer","ra_Please create license":"Veuillez créer une licence","ra_Please enter the license":"Veuillez entrer la licence","ra_Please select file...":"Veuillez sélectionner le fichier...","ra_Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","ra_Port could be used by %s":"Le port pourrait être utilisé par %s","ra_Port is already used by %s":"Le port est déjà utilisé par %s","ra_Press ENTER Key to add new item":"Appuyez sur la touche ENTRÉE pour ajouter un nouvel élément","ra_Private certificate":"Certificat privé",ra_Product:yk,"ra_Public certificate":"Certificat public","ra_Quality code":"Qualité","ra_Refresh tree":"Rafraîchir l'arborescence","ra_Reload files":"Recharger les fichiers",ra_Rename_Move_Copy:Dk,"ra_Renew %s access":"Renouveler l'accès %s",ra_Repeat:dk,ra_Replace:zk,"ra_Request timed out":"La demande a expiré","ra_Restrict to folder":"Restreindre au dossier",ra_Root:Ik,ra_Saturday:wk,ra_Save:Ck,"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électionner","ra_Select color":"Choisissez la couleur","ra_Select predefined icon":"Sélectionnez l'icône prédéfinie","ra_Select type of export":"Sélectionnez le type d'exportation",ra_Selected:hk,"ra_Selected %s object(s)":"Objet(s) %s sélectionné(s)","ra_Serial number (UUID)":"Numéro de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Le numéro de série (UUID) "%s" dans la licence est pour un autre appareil.',"ra_Session will expire in %s seconds. Continue?":"La session expirera dans %s secondes. Continuer ?","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ée de filtre","ra_Some data are not stored. Discard?":"Certaines données ne sont pas stockées. Jeter?",ra_States:Ak,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorisation réussie. Jeton valide jusqu'au %s et sera automatiquement renouvelé.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorisation réussie. Jeton valide jusqu'à %s, mais il peut expirer car l'instance n'est pas en cours d'exécution.","ra_Suitable license not found in license manager":"Licence appropriée introuvable dans le gestionnaire de licences",ra_Sunday:pk,"ra_Suppress question for next %s minutes":"Supprimer la question pour les %s prochaines minutes","ra_System language":"Langue du système","ra_Take browser position":"Prendre position depuis le navigateur","ra_Take position from system settings":"Prendre position à partir des paramètres système",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Les experts peuvent créer des objets partout mais à partir du deuxième 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 été trouvée","ra_The schedule will be executed every minute. Are you sure?":"Le planning sera exécuté toutes les minutes. Êtes-vous sûr ?","ra_The schedule will be executed every second. Are you sure?":"Le planning sera exécuté toutes les secondes. Êtes-vous sûr ?",ra_Thursday:mk,ra_Timestamp:Ok,"ra_Toggle expert mode":"Basculer en mode expert","ra_Toggle the states view":"Basculer la vue des états","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:Ek,"ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:_k,"ra_Upload file":"Téléverser 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ètres système pour la position","ra_Used system settings":"Paramètres système utilisés","ra_User files":"Fichiers utilisateurs",ra_ValidTill:Sk,ra_Value:xk,ra_Version:fk,"ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:kk,ra_Width:Yk,ra_Yes:Qk,"ra_You can export all objects or just the selected branch.":"Vous pouvez exporter tous les objets ou uniquement la branche sélectionnée.","ra_You can filter entries by entering here some text":"Vous pouvez filtrer les entrées en saisissant ici du texte","ra_You can use * as wildcard":"Vous pouvez utiliser * comme caractère générique",ra___different__:Uk,ra_aclEveryone_read_object:vk,ra_aclEveryone_read_state:bk,ra_aclEveryone_write_object:$k,ra_aclEveryone_write_state:Pk,ra_aclGroup_read_object:Wk,ra_aclGroup_read_state:Rk,ra_aclGroup_write_object:Jk,ra_aclGroup_write_state:Bk,ra_aclOwner_read_object:Fk,ra_aclOwner_read_state:Gk,ra_aclOwner_write_object:Hk,ra_aclOwner_write_state:Vk,ra_buttons:Zk,ra_changedFrom:Xk,ra_close:Kk,ra_create_boolean_state:qk,ra_create_channel:eY,ra_create_device:tY,ra_create_number_state:sY,ra_create_state:iY,ra_create_string_state:oY,ra_daysShortText:rY,ra_dow_Fr:MY,ra_dow_Mo:nY,ra_dow_Sa:aY,ra_dow_Su:cY,ra_dow_Th:uY,ra_dow_Tu:NY,ra_dow_We:lY,ra_expertMode:LY,ra_false:jY,ra_fileType_all:gY,ra_fileType_audio:TY,ra_fileType_code:yY,ra_fileType_images:DY,ra_fileType_txt:dY,ra_fileType_video:zY,"ra_fileType_video,":"Vidéo",ra_filter_customs:IY,ra_filter_customs_without:wY,ra_filter_func:CY,ra_filter_id:hY,ra_filter_name:AY,ra_filter_role:pY,ra_filter_room:mY,ra_filter_type:OY,"ra_import data from %s file":"Importer des données à partir du fichier %s",ra_invalidConfig:EY,ra_lastChange:_Y,ra_locally:SY,ra_month_Apr:xY,ra_month_Aug:fY,ra_month_Dec:kY,ra_month_Feb:YY,ra_month_Jan:QY,ra_month_Jul:UY,ra_month_Jun:vY,ra_month_Mai:bY,ra_month_Mar:$Y,ra_month_Nov:PY,ra_month_Oct:WY,ra_month_Sep:RY,ra_months_Apr:JY,ra_months_Aug:BY,ra_months_Dec:FY,ra_months_Feb:GY,ra_months_Jan:HY,ra_months_Jul:VY,ra_months_Jun:ZY,ra_months_Mai:XY,ra_months_Mar:KY,ra_months_Nov:qY,ra_months_Oct:eQ,ra_months_Sep:tQ,"ra_no confirm for 5 mins":"pas de confirmation pendant 5 minutes",ra_none:sQ,ra_object_changed_by:iQ,ra_object_changed_by_user:oQ,ra_otherConfig:rQ,ra_qualityCode:MQ,ra_repeat:nQ,ra_select_folder_hint:aQ,ra_show_all:cQ,ra_state_changed_by:uQ,ra_state_changed_from:NQ,ra_timestamp:lQ,ra_tooltip_ack:LQ,ra_tooltip_comment:jQ,ra_tooltip_copyState:gQ,ra_tooltip_ctrlForLink:TQ,ra_tooltip_customConfig:yQ,ra_tooltip_deleteObject:DQ,ra_tooltip_editObject:dQ,ra_tooltip_editState:zQ,ra_tooltip_expire:IQ,ra_tooltip_from:wQ,ra_tooltip_lc:CQ,ra_tooltip_quality:hQ,ra_tooltip_ts:AQ,ra_tooltip_user:pQ,ra_tooltip_value:mQ,ra_true:OQ,"ra_use seconds":"utiliser les secondes",ra_val:EQ,"ra_via internet":"par Internet",ra_warning_every_minute:_Q,ra_warning_every_second:SQ,sc_cron:xQ,sc_date:fQ,sc_dates:kQ,sc_dow:YQ,sc_dows:QQ,sc_every:UQ,sc_everyN_dates:vQ,sc_everyN_dow:bQ,sc_everyN_dows:$Q,sc_everyN_hours:PQ,sc_everyN_minutes:WQ,sc_everyN_months:RQ,sc_everyN_seconds:JQ,sc_every_dates:BQ,sc_every_dow:FQ,sc_every_dows:GQ,sc_every_hours:HQ,sc_every_minutes:VQ,sc_every_months:ZQ,sc_every_seconds:XQ,sc_from:KQ,sc_hours:qQ,sc_interval:eU,sc_intervalBetween:tU,sc_invalid_cron:sU,sc_minutes:iU,sc_months:oU,sc_once:rU,sc_period:MU,sc_seconds:nU,sc_simple:aU,sc_specific:cU,sc_specific_dates:uU,sc_specific_dow:NU,sc_specific_dows:lU,sc_specific_hours:LU,sc_specific_minutes:jU,sc_specific_months:gU,sc_specific_seconds:TU,sc_time:yU,sc_to:DU,sc_wizard:dU,sch_all:zU,sch_astroDay:IU,sch_astroNight:wU,sch_astro_dawn:CU,sch_astro_dusk:hU,sch_astro_goldenHour:AU,sch_astro_goldenHourEnd:pU,sch_astro_nadir:mU,sch_astro_nauticalDawn:OU,sch_astro_nauticalDusk:EU,sch_astro_night:_U,sch_astro_nightEnd:SU,sch_astro_solarNoon:xU,sch_astro_sunrise:fU,sch_astro_sunriseEnd:kU,sch_astro_sunset:YU,sch_astro_sunsetStart:QU,sch_at:UU,sch_desc_atTime:vU,sch_desc_everyDay:bU,sch_desc_everyHour:$U,sch_desc_everyMinute:PU,sch_desc_everyMonth:WU,sch_desc_everyNDay:RU,sch_desc_everyNHours:JU,sch_desc_everyNMinutes:BU,sch_desc_everyNMonths:FU,sch_desc_everyNWeeks:GU,sch_desc_everyNYears:HU,sch_desc_everyWeek:VU,sch_desc_everyYear:ZU,sch_desc_intervalFromTo:XU,sch_desc_never:KU,sch_desc_onDate:qU,sch_desc_onDates:ev,sch_desc_onEveryDate:tv,sch_desc_onMonth:sv,sch_desc_onMonths:iv,sch_desc_onWeekday:ov,sch_desc_onWeekdays:rv,sch_desc_onWeekends:Mv,sch_desc_onWorkdays:nv,sch_desc_onceInPast:av,sch_desc_once_on:cv,sch_desc_validFrom:uv,sch_desc_validFromTo:Nv,sch_desc_validTo:lv,sch_every:Lv,sch_exactTime:jv,sch_from:gv,sch_fromTo:Tv,sch_intervalTime:yv,sch_invert:Dv,sch_no_one:dv,sch_on:zv,sch_period:Iv,sch_periodDaily:wv,sch_periodDates:Cv,sch_periodDay:hv,sch_periodEvery:Av,sch_periodEveryDay:pv,sch_periodEveryMonth:mv,sch_periodEveryWeek:Ov,sch_periodEveryYear:Ev,sch_periodHours:_v,sch_periodMinutes:Sv,sch_periodMonth:xv,sch_periodMonthly:fv,sch_periodOnce:kv,sch_periodSpecificMonths:Yv,sch_periodWeek:Qv,sch_periodWeekdays:Uv,sch_periodWeekend:vv,sch_periodWeekly:bv,sch_periodWorkdays:$v,sch_periodYear:Pv,sch_periodYearly:Wv,sch_specificTime:Rv,sch_time:Jv,sch_to:Bv,sch_valid:Fv,sch_validFrom:Gv,sch_validTo:Hv,sch_wholeDay:Vv,sch_yearEveryMonth:Zv},Kv="Azioni",qv="Aggiungere",eb="Annulla",tb="Categorie",sb="Controllato",ib="Elimina",ob="Vicino",rb="Commerciale",Mb="Configura",nb="Collegato",ab="Continuare",cb="Copiato",ub="Creare",Nb="Raccolto",lb="Delete",Lb="Elimina",jb="Scartare",gb="Disconnesso",Tb="Errore",yb="Filtro",Db="Venerdì",db="Latitudine",zb="Esci",Ib="Longitudine",wb="Messaggio",Cb="Lunedi",hb="Nome",Ab="Oggetti",pb="Ok",mb="Prodotto",Ob="Rinomina/Sposta/Copia",Eb="Ripetere",_b="Sostituire",Sb="Radice",xb="Sabato",fb="Salva",kb="Selezionato",Yb="stati",Qb="Domenica",Ub="Giovedì",vb="Timestamp",bb="Martedì",$b="Aggiornare",Pb="Valido fino a",Wb="Valore",Rb="Versione",Jb="Mercoledì",Bb="Larghezza",Fb="SÌ",Gb="diverso",Hb="Tutti possono leggere gli oggetti",Vb="Tutti possono leggere lo stato",Zb="Tutti possono scrivere oggetti",Xb="Tutti possono scrivere stato",Kb="Il gruppo può leggere l'oggetto",qb="Il gruppo può leggere lo stato",e8="Il gruppo può scrivere l'oggetto",t8="Il gruppo può scrivere lo stato",s8="Il proprietario può leggere l'oggetto",i8="Il proprietario può leggere lo stato",o8="Il proprietario può scrivere l'oggetto",r8="Il proprietario può scrivere lo stato",M8="Bottoni",n8="Cambiato da",a8="vicino",c8="Crea uno stato booleano",u8="Crea canale",N8="Crea dispositivo",l8="Crea lo stato del numero",L8="Crea stato",j8="Crea lo stato della stringa",g8="g.",T8="fr",y8="momento",D8="Sa",d8="su",z8="th",I8="Tu",w8="Noi",C8="Modalità esperto",h8="FALSO",A8="Tutti i files",p8="Audio",m8="Codice/JSON",O8="immagini",E8="Testo",_8="video",S8="impostazioni",x8="senza",f8="Funzione",k8="ID",Y8="Nome",Q8="Ruolo",U8="Camera",v8="genere",b8="Impostazioni non valide",$8="Ultima modifica",P8="localmente",W8="apr",R8="agosto",J8="Dic",B8="febbraio",F8="gen",G8="lug",H8="giu",V8="Mai",Z8="marzo",X8="nov",K8="ottobre",q8="Sett",e6="apr",t6="agosto",s6="Dic",i6="febbraio",o6="gen",r6="lug",M6="giu",n6="Mai",a6="marzo",c6="nov",u6="ottobre",N6="Sett",l6="nessuna",L6="Oggetto modificato da",j6="L'oggetto è stato modificato l'ultima volta alle",g6="Impostazioni dall'altro adattatore %s",T6="Codice di qualità",y6="ripetere",D6='Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',d6="Mostra tutto",z6="Stato cambiato da",I6="Oggetto cambiato da",w6="Timestamp",C6="Bandiera riconosciuta",h6="Commento",A6="Copia il valore dello stato",p6="Tieni premuto il tasto Cltr/⌘ per aprire il collegamento",m6="Impostazioni personalizzate",O6="Elimina oggetto",E6="Modifica oggetto",_6="Modifica il valore dello stato",S6="Scade tra",x6="A partire dal",f6="Ultima modifica",k6="Qualità",Y6="Data e ora",Q6="Utente",U6="Valore",v6="VERO",b6="Valore",$6="Attenzione: il processo CRON verrà eseguito ogni minuto durante il periodo specificato!",P6="Attenzione: il processo CRON verrà eseguito ogni secondo durante il periodo specificato!",W6="CRON",R6="Data",J6="Date",B6="Giorno",F6="Giorno della settimana",G6="Ogni",H6="ogni N giorni",V6="ogni Nesimo giorno della settimana",Z6="ogni N giorno della settimana",X6="ogni N ore",K6="ogni N minuti",q6="ogni N mesi",e9="ogni N secondi",t9="ogni giorno",s9="Tutti i giorni della settimana",i9="Tutti i giorni della settimana",o9="ogni ora",r9="ogni minuto",M9="ogni mese",n9="ogni secondo",a9="A partire dal",c9="Ore",u9="Intervallo",N9="Intervallo tra",l9="CRON non valido",L9="Minuti",j9="mesi",g9="Una volta",T9="Periodo",y9="secondi",D9="Semplice",d9="Orario preciso",z9="date specifiche",I9="giorno/i specifico/i della settimana",w9="giorno specifico delle settimane",C9="orari specifici",h9="minuti specifici",A9="mesi specifici",p9="secondi specifici",m9="Tempo",O9="Per",E9="procedura guidata",_9="tutti",S9="Astro day",x9="Astro night",f9="Alba",k9="Crepuscolo",Y9="Ora d'oro",Q9="Fine dell'ora d'oro",U9="Nadir",v9="Alba nautica",b9="Crepuscolo nautico",$9="Notte",P9="Fine della notte",W9="Mezzogiorno solare",R9="Alba",J9="Fine dell'alba",B9="Tramonto",F9="Inizio del tramonto",G9="a",H9="a %s",V9="ogni giorno",Z9="ogni ora",X9="ogni minuto",K9="ogni mese",q9="ogni %s giorno",e7="ogni %s ore",t7="ogni %s minuti",s7="ogni %s mesi",i7="ogni %s settimane",o7="ogni %s anni",r7="ogni settimana",M7="ogni anno",n7="da %s a %s",a7="mai",c7="su %s di %s",u7="su %s e %s di",N7="in ogni data di",l7="%s",L7="%s e %s",j7="su %s",g7="su %s e %s",T7="nei finesettimana",y7="nei giorni lavorativi",D7="non verrà più eseguito, perché start è nel passato",d7="su %s",z7="da %s",I7="Eseguire da a",w7="a %s",C7="ogni",h7="Orario preciso",A7="a partire dal",p7="Da A",m7="Intervallo di tempo",O7="invertire",E7="nessuna",_7="sopra",S7="Periodo",x7="Quotidiano",f7="Date",k7="Giorno",Y7="Ogni",Q7="Ogni giorno",U7="Ogni mese",v7="Ogni settimana",b7="Ogni anno",$7="Ore",P7="Minuti",W7="mese",R7="Mensile",J7="Una volta",B7="Mesi specifici",F7="Settimana",G7="Giorni della settimana",H7="Fine settimana",V7="settimanalmente",Z7="giorni feriali",X7="Anno",K7="Annuale",q7="Orario preciso",e$="Tempo",t$="per",s$="Valido",i$="a partire dal",o$="per",r$="Giorno intero",M$="ogni mese",n$={"ra_%s links from aliases":"%s link da alias","ra_%s object(s) processed":"%s oggetti elaborati","ra_%s was imported":"%s è stato importato","ra_Accept license":"Accetta licenza",ra_Actions:Kv,"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:qv,"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:eb,"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 è 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é l'istanza è offline","ra_Cannot update attribute, because not found in the object":"Impossibile aggiornare l'attributo, perché non trovato nell'oggetto","ra_Cannot upload":"Impossibile caricare",ra_Categories:tb,"ra_Chained certificate":"Certificato incatenato","ra_Change color theme":"Cambia tema colore","ra_Changed from":"Cambiato da","ra_Channel → State":"Canale → Stato","ra_Check license":"Controlla la licenza",ra_Checked:sb,ra_Clear:ib,"ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Clone current row":"Clona riga corrente",ra_Close:ob,"ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:rb,ra_Configure:Mb,"ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:nb,ra_Continue:ab,ra_Copied:cb,"ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:ub,"ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:Nb,"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:lb,ra_Delete:Lb,"ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device → Channel → State":"Dispositivo → Canale → Stato",ra_Discard:jb,ra_Disconnected:gb,"ra_Do not ask for next 2 hours in this session":"Non chiedere per le prossime 2 ore in questa sessione","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 full path":"Modifica percorso completo","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_Enter the code from that page here":"Inserisci qui il codice da quella pagina",ra_Error:Tb,"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 è troppo grande. Max %sk consentito. Prova a usare SVG.",ra_Filter:yb,"ra_Filter and Data Actions":"Azioni sui filtri e sui dati","ra_Filter files":"Filtra i file","ra_Folder name":"Nome della cartella","ra_Folder → Channel → State":"Cartella → Canale → Stato","ra_Folder → Device → Channel → State":"Cartella → Dispositivo → Canale → Stato","ra_Folder → State":"Cartella → Stato","ra_Folders always first":"Le cartelle sono sempre al primo posto",ra_Friday:Db,"ra_Get %s access":"Ottieni l'accesso %s","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à creato nella cartella, scomparirà dopo la chiusura del browser","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Se il pulsante sopra non funziona, puoi autorizzare manualmente questa app visitando questo URL","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 è vivo","ra_Instance %s is not alive":"Il TESTO dell'istanza non è vivo","ra_Instance is not alive":"L'istanza non è 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:db,"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 è per la versione %s, ma la versione richiesta è %s.","ra_License must be converted":"La licenza deve essere convertita in una versione più 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_Logout:zb,ra_Longitude:Ib,'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:wb,ra_Monday:Cb,"ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:hb,"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:Ab,ra_Ok:pb,"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 allow popups in your browser for this page!":"Si prega di abilitare i popup nel browser per questa pagina!","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 è già utilizzata da %s","ra_Press ENTER Key to add new item":"Premere il tasto INVIO per aggiungere un nuovo elemento","ra_Private certificate":"Certificato privato",ra_Product:mb,"ra_Public certificate":"Certificato pubblico","ra_Quality code":"Qualità","ra_Refresh tree":"Aggiorna l'albero","ra_Reload files":"Ricarica i file",ra_Rename_Move_Copy:Ob,"ra_Renew %s access":"Rinnova l'accesso %s",ra_Repeat:Eb,ra_Replace:_b,"ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:Sb,ra_Saturday:xb,ra_Save:fb,"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:kb,"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 è per un altro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"La sessione scadrà tra %s secondi. Continuare?","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:Yb,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizzazione completata. Il token è valido fino al %s e verrà rinnovato automaticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizzazione completata. Il token è valido fino al %s, ma potrebbe scadere perché l'istanza non è in esecuzione.","ra_Suitable license not found in license manager":"Licenza adatta non trovata nel gestore delle licenze",ra_Sunday:Qb,"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 è stata trovata","ra_The schedule will be executed every minute. Are you sure?":"La pianificazione verrà eseguita ogni minuto. Sei sicuro?","ra_The schedule will be executed every second. Are you sure?":"La pianificazione verrà eseguita ogni secondo. Sei sicuro?",ra_Thursday:Ub,ra_Timestamp:vb,"ra_Toggle expert mode":"Attiva / disattiva la modalità esperto","ra_Toggle the states view":"Attiva o disattiva la visualizzazione degli stati","ra_Toggle view mode":"Attiva / disattiva la modalità di visualizzazione","ra_Too big":"Troppo grande","ra_Too small":"Troppo piccolo","ra_Transparent dialog":"Finestra di dialogo trasparente",ra_Tuesday:bb,"ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:$b,"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:Pb,ra_Value:Wb,ra_Version:Rb,"ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:Jb,ra_Width:Bb,ra_Yes:Fb,"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_You can use * as wildcard":"Puoi usare * come carattere jolly",ra___different__:Gb,ra_aclEveryone_read_object:Hb,ra_aclEveryone_read_state:Vb,ra_aclEveryone_write_object:Zb,ra_aclEveryone_write_state:Xb,ra_aclGroup_read_object:Kb,ra_aclGroup_read_state:qb,ra_aclGroup_write_object:e8,ra_aclGroup_write_state:t8,ra_aclOwner_read_object:s8,ra_aclOwner_read_state:i8,ra_aclOwner_write_object:o8,ra_aclOwner_write_state:r8,ra_buttons:M8,ra_changedFrom:n8,ra_close:a8,ra_create_boolean_state:c8,ra_create_channel:u8,ra_create_device:N8,ra_create_number_state:l8,ra_create_state:L8,ra_create_string_state:j8,ra_daysShortText:g8,ra_dow_Fr:T8,ra_dow_Mo:y8,ra_dow_Sa:D8,ra_dow_Su:d8,ra_dow_Th:z8,ra_dow_Tu:I8,ra_dow_We:w8,ra_expertMode:C8,ra_false:h8,ra_fileType_all:A8,ra_fileType_audio:p8,ra_fileType_code:m8,ra_fileType_images:O8,ra_fileType_txt:E8,ra_fileType_video:_8,"ra_fileType_video,":"video",ra_filter_customs:S8,ra_filter_customs_without:x8,ra_filter_func:f8,ra_filter_id:k8,ra_filter_name:Y8,ra_filter_role:Q8,ra_filter_room:U8,ra_filter_type:v8,"ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:b8,ra_lastChange:$8,ra_locally:P8,ra_month_Apr:W8,ra_month_Aug:R8,ra_month_Dec:J8,ra_month_Feb:B8,ra_month_Jan:F8,ra_month_Jul:G8,ra_month_Jun:H8,ra_month_Mai:V8,ra_month_Mar:Z8,ra_month_Nov:X8,ra_month_Oct:K8,ra_month_Sep:q8,ra_months_Apr:e6,ra_months_Aug:t6,ra_months_Dec:s6,ra_months_Feb:i6,ra_months_Jan:o6,ra_months_Jul:r6,ra_months_Jun:M6,ra_months_Mai:n6,ra_months_Mar:a6,ra_months_Nov:c6,ra_months_Oct:u6,ra_months_Sep:N6,"ra_no confirm for 5 mins":"nessuna conferma per 5 minuti",ra_none:l6,ra_object_changed_by:L6,ra_object_changed_by_user:j6,ra_otherConfig:g6,ra_qualityCode:T6,ra_repeat:y6,ra_select_folder_hint:D6,ra_show_all:d6,ra_state_changed_by:z6,ra_state_changed_from:I6,ra_timestamp:w6,ra_tooltip_ack:C6,ra_tooltip_comment:h6,ra_tooltip_copyState:A6,ra_tooltip_ctrlForLink:p6,ra_tooltip_customConfig:m6,ra_tooltip_deleteObject:O6,ra_tooltip_editObject:E6,ra_tooltip_editState:_6,ra_tooltip_expire:S6,ra_tooltip_from:x6,ra_tooltip_lc:f6,ra_tooltip_quality:k6,ra_tooltip_ts:Y6,ra_tooltip_user:Q6,ra_tooltip_value:U6,ra_true:v6,"ra_use seconds":"usa i secondi",ra_val:b6,"ra_via internet":"attraverso internet",ra_warning_every_minute:$6,ra_warning_every_second:P6,sc_cron:W6,sc_date:R6,sc_dates:J6,sc_dow:B6,sc_dows:F6,sc_every:G6,sc_everyN_dates:H6,sc_everyN_dow:V6,sc_everyN_dows:Z6,sc_everyN_hours:X6,sc_everyN_minutes:K6,sc_everyN_months:q6,sc_everyN_seconds:e9,sc_every_dates:t9,sc_every_dow:s9,sc_every_dows:i9,sc_every_hours:o9,sc_every_minutes:r9,sc_every_months:M9,sc_every_seconds:n9,sc_from:a9,sc_hours:c9,sc_interval:u9,sc_intervalBetween:N9,sc_invalid_cron:l9,sc_minutes:L9,sc_months:j9,sc_once:g9,sc_period:T9,sc_seconds:y9,sc_simple:D9,sc_specific:d9,sc_specific_dates:z9,sc_specific_dow:I9,sc_specific_dows:w9,sc_specific_hours:C9,sc_specific_minutes:h9,sc_specific_months:A9,sc_specific_seconds:p9,sc_time:m9,sc_to:O9,sc_wizard:E9,sch_all:_9,sch_astroDay:S9,sch_astroNight:x9,sch_astro_dawn:f9,sch_astro_dusk:k9,sch_astro_goldenHour:Y9,sch_astro_goldenHourEnd:Q9,sch_astro_nadir:U9,sch_astro_nauticalDawn:v9,sch_astro_nauticalDusk:b9,sch_astro_night:$9,sch_astro_nightEnd:P9,sch_astro_solarNoon:W9,sch_astro_sunrise:R9,sch_astro_sunriseEnd:J9,sch_astro_sunset:B9,sch_astro_sunsetStart:F9,sch_at:G9,sch_desc_atTime:H9,sch_desc_everyDay:V9,sch_desc_everyHour:Z9,sch_desc_everyMinute:X9,sch_desc_everyMonth:K9,sch_desc_everyNDay:q9,sch_desc_everyNHours:e7,sch_desc_everyNMinutes:t7,sch_desc_everyNMonths:s7,sch_desc_everyNWeeks:i7,sch_desc_everyNYears:o7,sch_desc_everyWeek:r7,sch_desc_everyYear:M7,sch_desc_intervalFromTo:n7,sch_desc_never:a7,sch_desc_onDate:c7,sch_desc_onDates:u7,sch_desc_onEveryDate:N7,sch_desc_onMonth:l7,sch_desc_onMonths:L7,sch_desc_onWeekday:j7,sch_desc_onWeekdays:g7,sch_desc_onWeekends:T7,sch_desc_onWorkdays:y7,sch_desc_onceInPast:D7,sch_desc_once_on:d7,sch_desc_validFrom:z7,sch_desc_validFromTo:I7,sch_desc_validTo:w7,sch_every:C7,sch_exactTime:h7,sch_from:A7,sch_fromTo:p7,sch_intervalTime:m7,sch_invert:O7,sch_no_one:E7,sch_on:_7,sch_period:S7,sch_periodDaily:x7,sch_periodDates:f7,sch_periodDay:k7,sch_periodEvery:Y7,sch_periodEveryDay:Q7,sch_periodEveryMonth:U7,sch_periodEveryWeek:v7,sch_periodEveryYear:b7,sch_periodHours:$7,sch_periodMinutes:P7,sch_periodMonth:W7,sch_periodMonthly:R7,sch_periodOnce:J7,sch_periodSpecificMonths:B7,sch_periodWeek:F7,sch_periodWeekdays:G7,sch_periodWeekend:H7,sch_periodWeekly:V7,sch_periodWorkdays:Z7,sch_periodYear:X7,sch_periodYearly:K7,sch_specificTime:q7,sch_time:e$,sch_to:t$,sch_valid:s$,sch_validFrom:i$,sch_validTo:o$,sch_wholeDay:r$,sch_yearEveryMonth:M$},a$="Comportamiento",c$="Adjuntar",u$="Cancelar",N$="Categorías",l$="Comprobado",L$="Borrar",j$="Cerca",g$="Comercial",T$="Configurar",y$="Conectado",D$="Continuar",d$="Copiado",z$="Crear",I$="Cultivo",w$="Delete",C$="Eliminar",h$="Desechar",A$="Desconectado",p$="Error",m$="Filtrar",O$="Viernes",E$="Latitud",_$="Cerrar sesión",S$="Longitud",x$="Mensaje",f$="Lunes",k$="Nombre",Y$="Objetos",Q$="Okay",U$="Producto",v$="Cambiar nombre/Mover/Copiar",b$="Repetir",$$="Reemplazar",P$="Raíz",W$="Sábado",R$="Salvar",J$="Seleccionado",B$="Estados",F$="Domingo",G$="Jueves",H$="Marca de tiempo",V$="Martes",Z$="Actualizar",X$="Válida hasta",K$="Valor",q$="Versión",eP="Miércoles",tP="Anchura",sP="Sí",iP="diferente",oP="Todo el mundo puede leer el objeto",rP="Todos pueden leer el estado",MP="Todos pueden escribir objetos",nP="Todos pueden escribir el estado",aP="El grupo puede leer el objeto",cP="El grupo puede leer el estado",uP="El grupo puede escribir un objeto",NP="El grupo puede escribir el estado",lP="El propietario puede leer el objeto",LP="El propietario puede leer el estado",jP="El propietario puede escribir el objeto",gP="El propietario puede escribir el estado",TP="Botones",yP="Cambiaron desde",DP="cerrar",dP="Crear estado booleano",zP="Crear canal",IP="Crear dispositivo",wP="Crear estado numérico",CP="Crear estado",hP="Crear estado de cadena",AP="d.",pP="Fr",mP="Mes",OP="Sa",EP="Su",_P="Th",SP="Tu",xP="Nosotros",fP="Modo experto",kP="FALSO",YP="Todos los archivos",QP="Audio",UP="Código/JSON",vP="Imágenes",bP="Texto",$P="Video",PP="Configuraciones",WP="sin",RP="Función",JP="ID",BP="Nombre",FP="Papel",GP="Habitación",HP="Tipo",VP="Configuraciones inválidas",ZP="Ultimo cambio",XP="en la zona",KP="Abr",qP="Ago",eW="Dic",tW="Feb",sW="Ene",iW="Jul",oW="Jun",rW="Mai",MW="Mar",nW="Nov",aW="Oct",cW="Sep",uW="Abr",NW="Ago",lW="Dic",LW="Feb",jW="Ene",gW="Jul",TW="Jun",yW="Mai",DW="Mar",dW="Nov",zW="Oct",IW="Sep",wW="ninguno",CW="Objeto cambiado por",hW="Objeto cambiado por última vez a las",AW="Configuraciones de otro adaptador %s",pW="Código de calidad",mW="repetir",OW='Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',EW="Mostrar todo",_W="Estado cambiado por",SW="Objeto cambiado de",xW="Marca de tiempo",fW="Bandera reconocida",kW="Comentario",YW="Copie el valor del estado",QW="Mantenga presionada la tecla Cltr/⌘ para abrir el enlace",UW="Ajustes personalizados",vW="Eliminar objeto",bW="Editar objeto",$W="Edite el valor del estado",PW="Caduca en",WW="Desde",RW="Último cambio",JW="Calidad",BW="Sello de tiempo",FW="Usuario",GW="Valor",HW="VERDADERO",VW="Valor",ZW="Advertencia: ¡El trabajo CRON se ejecutará cada minuto durante el período especificado!",XW="Advertencia: ¡El trabajo CRON se ejecutará cada segundo durante el período especificado!",KW="CRON",qW="Fecha",eR="fechas",tR="Día",sR="Día de la semana",iR="Cada",oR="cada N días",rR="cada enésimo día de la semana",MR="cada N día de la semana",nR="cada N horas",aR="cada N minutos",cR="cada N meses",uR="cada N segundos",NR="cada día",lR="Cada día de la semana",LR="Cada día de la semana",jR="cada hora",gR="cada minuto",TR="cada mes",yR="cada segundo",DR="De",dR="Horas",zR="Intervalo",IR="Intervalo entre",wR="CRON no válido",CR="Minutos",hR="meses",AR="Una vez",pR="Período",mR="Segundos",OR="Sencillo",ER="Tiempo específico",_R="fechas especificas",SR="día(s) específico(s) de la semana",xR="día específico de semanas",fR="horas específicas",kR="minutos específicos",YR="meses específicos",QR="segundos específicos",UR="Hora",vR="A",bR="Mago",$R="todas",PR="Día astro",WR="Noche astro",RR="Amanecer",JR="Oscuridad",BR="hora dorada",FR="Fin de la hora dorada",GR="Nadir",HR="Amanecer náutico",VR="Anochecer náutico",ZR="Noche",XR="Fin de la noche",KR="Mediodía solar",qR="amanecer",eJ="Fin del amanecer",tJ="Puesta de sol",sJ="Puesta de sol",iJ="a",oJ="en %s",rJ="cada día",MJ="cada hora",nJ="cada minuto",aJ="cada mes",cJ="cada %s días",uJ="cada %s horas",NJ="cada %s minutos",lJ="cada %s meses",LJ="cada %s semanas",jJ="cada %s años",gJ="cada semana",TJ="todos los años",yJ="de %s a %s",DJ="Nunca",dJ="en %s de %s",zJ="en %s y %s de",IJ="en cada fecha de",wJ="%s",CJ="%s y %s",hJ="en %s",AJ="en %s y %s",pJ="en los fines de semana",mJ="en días laborables",OJ="ya no se ejecutará más, porque el inicio está en el pasado",EJ="en %s",_J="de %s",SJ="Ejecutar desde hasta",xJ="a %s",fJ="cada",kJ="Tiempo específico",YJ="de",QJ="De-a",UJ="Tiempo de intervalo",vJ="invertir; poner boca abajo o en la posición opuesta, orden o arreglo; Boca abajo",bJ="ninguna",$J="en",PJ="Período",WJ="Diario",RJ="fechas",JJ="Día",BJ="Cada",FJ="Cada día",GJ="Cada mes",HJ="Cada semana",VJ="Todos los años",ZJ="Horas",XJ="Minutos",KJ="mes",qJ="Mensual",eB="Una vez",tB="Meses específicos",sB="Semana",iB="Días laborables",oB="Fin de semana",rB="Semanal",MB="Días laborables",nB="Año",aB="Anual",cB="Tiempo específico",uB="Hora",NB="a",lB="Válido",LB="de",jB="a",gB="Todo el dia",TB="cada mes",yB={"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_Actions:a$,"ra_Add new child object to selected parent":"Agregar nuevo objeto hijo al padre seleccionado","ra_Add objects tree from JSON file":"Agregar árbol de objetos desde el archivo JSON","ra_Add row":"Añadir 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:c$,"ra_Append %s entries or replace existing?":"¿Agregar %s entradas o reemplazar las existentes?","ra_Append or replace?":"¿Agregar o reemplazar?","ra_Are you sure?":"¿Estás seguro?","ra_Auto (no custom columns)":"Automático (sin columnas personalizadas)","ra_Back to %s":"Volver a %s","ra_Background image":"Imagen de fondo",ra_Cancel:u$,"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ón: la configuración del sistema está vacía y la detección de GPS está 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á fuera de línea","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:N$,"ra_Chained certificate":"certificado encadenado","ra_Change color theme":"Cambiar tema de color","ra_Changed from":"Cambiaron desde","ra_Channel → State":"Canal → Estado","ra_Check license":"Verificar licencia",ra_Checked:l$,ra_Clear:L$,"ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Clone current row":"Clonar fila actual",ra_Close:j$,"ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:g$,ra_Configure:T$,"ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminación de %s",ra_Connected:y$,ra_Continue:D$,ra_Copied:d$,"ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:z$,"ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:I$,"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:w$,ra_Delete:C$,"ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device → Channel → State":"Dispositivo → Canal → Estado",ra_Discard:h$,ra_Disconnected:A$,"ra_Do not ask for next 2 hours in this session":"No preguntes por las siguientes 2 horas en esta sesión.","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ño de la tabla","ra_Drag 'n' drop some files here, or click to select files":"Arrastre y suelte algunos archivos aquí, o haga clic para seleccionar archivos","ra_Drop file here":"Suelta el archivo aquí","ra_Drop the files here...":"Suelta el archivo aquí ...","ra_Duplicate name":"Nombre duplicado","ra_Edit ACL":"Editar LCA","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuración personalizada","ra_Edit full path":"Editar ruta completa","ra_Edit function":"Función de edición","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar rol","ra_Edit room":"Cuarto de edición","ra_Edit value":"Editar valor","ra_Enter the code from that page here":"Introduzca el código de esa página aquí",ra_Error:p$,"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áximo de %sk permitido. Intenta usar SVG.",ra_Filter:m$,"ra_Filter and Data Actions":"Acciones de filtrado y datos","ra_Filter files":"Filtrar archivos","ra_Folder name":"Nombre de la carpeta","ra_Folder → Channel → State":"Carpeta → Canal → Estado","ra_Folder → Device → Channel → State":"Carpeta → Dispositivo → Canal → Estado","ra_Folder → State":"Carpeta → Estado","ra_Folders always first":"Carpetas siempre primero",ra_Friday:O$,"ra_Get %s access":"Obtener %s acceso","ra_Good luck":"Buena suerte","ra_Hide empty folders":"Ocultar carpetas vacías","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si no se creará ningún archivo en la carpeta, desaparecerá después de que se cierre el navegador.","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Si el botón de arriba no funciona, puedes autorizar manualmente esta aplicación visitando esta URL","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á vivo","ra_Instance %s is not alive":"Instancia %s no está vivo","ra_Instance is not alive":"La instancia no está viva","ra_Invalid CRON":"CRON no válido","ra_Invalid JSON":"JSON no válido","ra_Invalid answer from server":"Respuesta inválida del servidor","ra_Invalid parent folder!":"Carpeta principal no válida.","ra_Invalid structure":"Estructura inválida","ra_JSON editor":"editor JSON","ra_Last change":"Ultimo cambio",ra_Latitude:E$,"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ó 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ón %s, pero la versión requerida es %s.","ra_License must be converted":"La licencia debe convertirse a una versión más 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. ¿Quieres actualizar las licencias de iobroker.net?","ra_Listen on all IPs":"Escuche en todas las IP","ra_Load configuration from file":"Cargar configuración desde archivo",ra_Logout:_$,ra_Longitude:S$,'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:x$,ra_Monday:f$,"ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:k$,"ra_No data found in file":"No se encontraron datos en el archivo","ra_No one license found in license manager":"No se encontró 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úmero",ra_Objects:Y$,ra_Ok:Q$,"ra_On weekdays":"De lunes a viernes","ra_Only following structures of objects are available:":"Solo están 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!":"¡Las contraseñas no son iguales!","ra_Place your files here or click here to open the browse dialog":"Coloque sus archivos aquí o haga clic aquí para abrir el cuadro de diálogo de exploración","ra_Please allow popups in your browser for this page!":"¡Permita ventanas emergentes en su navegador para esta página!","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ía ser utilizado por %s","ra_Port is already used by %s":"El puerto ya está en uso por %s","ra_Press ENTER Key to add new item":"Presione la tecla ENTER para agregar un nuevo elemento","ra_Private certificate":"certificado privado",ra_Product:U$,"ra_Public certificate":"Certificado público","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar árbol","ra_Reload files":"Recargar archivos",ra_Rename_Move_Copy:v$,"ra_Renew %s access":"Renovar el acceso a %s",ra_Repeat:b$,ra_Replace:$$,"ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:P$,ra_Saturday:W$,ra_Save:R$,"ra_Save and close":"Guardar y cerrar","ra_Save configuration to file":"Guardar configuración en archivo","ra_Save objects tree as JSON file":"Guardar el árbol 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ón",ra_Selected:J$,"ra_Selected %s object(s)":"%s objetos seleccionados","ra_Serial number (UUID)":"Número de serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'El número de serie (UUID) "%s" en la licencia es para otro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"La sesión expirará en %s segundos. ¿Continuar?","ra_Show all folders":"Mostrar todas las carpetas","ra_Show lines between rows":"Mostrar líneas 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. ¿Desechar?",ra_States:B$,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizado correctamente. El token es válido hasta el %s y se renovará automáticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizado correctamente. El token es válido hasta %s, pero puede caducar porque la instancia no está en ejecución.","ra_Suitable license not found in license manager":"Licencia adecuada no encontrada en el administrador de licencias",ra_Sunday:F$,"ra_Suppress question for next %s minutes":"Suprimir pregunta durante los próximos %s minutos","ra_System language":"Lenguaje del sistema","ra_Take browser position":"Tomar posición desde el navegador","ra_Take position from system settings":"Tomar posición desde la configuración 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ó la página que busca","ra_The schedule will be executed every minute. Are you sure?":"El cronograma se ejecutará cada minuto. ¿Estás seguro?","ra_The schedule will be executed every second. Are you sure?":"El cronograma se ejecutará cada segundo. ¿Estás seguro?",ra_Thursday:G$,ra_Timestamp:H$,"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ña","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:V$,"ra_Unknown error":"Error desconocido","ra_Unknown error!":"¡Error desconocido!",ra_Update:Z$,"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ón del sistema para la posición","ra_Used system settings":"Configuraciones del sistema usadas","ra_User files":"Archivos de usuario",ra_ValidTill:X$,ra_Value:K$,ra_Version:q$,"ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:eP,ra_Width:tP,ra_Yes:sP,"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í algún texto","ra_You can use * as wildcard":"Puedes utilizar * como comodín",ra___different__:iP,ra_aclEveryone_read_object:oP,ra_aclEveryone_read_state:rP,ra_aclEveryone_write_object:MP,ra_aclEveryone_write_state:nP,ra_aclGroup_read_object:aP,ra_aclGroup_read_state:cP,ra_aclGroup_write_object:uP,ra_aclGroup_write_state:NP,ra_aclOwner_read_object:lP,ra_aclOwner_read_state:LP,ra_aclOwner_write_object:jP,ra_aclOwner_write_state:gP,ra_buttons:TP,ra_changedFrom:yP,ra_close:DP,ra_create_boolean_state:dP,ra_create_channel:zP,ra_create_device:IP,ra_create_number_state:wP,ra_create_state:CP,ra_create_string_state:hP,ra_daysShortText:AP,ra_dow_Fr:pP,ra_dow_Mo:mP,ra_dow_Sa:OP,ra_dow_Su:EP,ra_dow_Th:_P,ra_dow_Tu:SP,ra_dow_We:xP,ra_expertMode:fP,ra_false:kP,ra_fileType_all:YP,ra_fileType_audio:QP,ra_fileType_code:UP,ra_fileType_images:vP,ra_fileType_txt:bP,ra_fileType_video:$P,"ra_fileType_video,":"Video",ra_filter_customs:PP,ra_filter_customs_without:WP,ra_filter_func:RP,ra_filter_id:JP,ra_filter_name:BP,ra_filter_role:FP,ra_filter_room:GP,ra_filter_type:HP,"ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:VP,ra_lastChange:ZP,ra_locally:XP,ra_month_Apr:KP,ra_month_Aug:qP,ra_month_Dec:eW,ra_month_Feb:tW,ra_month_Jan:sW,ra_month_Jul:iW,ra_month_Jun:oW,ra_month_Mai:rW,ra_month_Mar:MW,ra_month_Nov:nW,ra_month_Oct:aW,ra_month_Sep:cW,ra_months_Apr:uW,ra_months_Aug:NW,ra_months_Dec:lW,ra_months_Feb:LW,ra_months_Jan:jW,ra_months_Jul:gW,ra_months_Jun:TW,ra_months_Mai:yW,ra_months_Mar:DW,ra_months_Nov:dW,ra_months_Oct:zW,ra_months_Sep:IW,"ra_no confirm for 5 mins":"Sin confirmación durante 5 minutos",ra_none:wW,ra_object_changed_by:CW,ra_object_changed_by_user:hW,ra_otherConfig:AW,ra_qualityCode:pW,ra_repeat:mW,ra_select_folder_hint:OW,ra_show_all:EW,ra_state_changed_by:_W,ra_state_changed_from:SW,ra_timestamp:xW,ra_tooltip_ack:fW,ra_tooltip_comment:kW,ra_tooltip_copyState:YW,ra_tooltip_ctrlForLink:QW,ra_tooltip_customConfig:UW,ra_tooltip_deleteObject:vW,ra_tooltip_editObject:bW,ra_tooltip_editState:$W,ra_tooltip_expire:PW,ra_tooltip_from:WW,ra_tooltip_lc:RW,ra_tooltip_quality:JW,ra_tooltip_ts:BW,ra_tooltip_user:FW,ra_tooltip_value:GW,ra_true:HW,"ra_use seconds":"usar segundos",ra_val:VW,"ra_via internet":"vía Internet",ra_warning_every_minute:ZW,ra_warning_every_second:XW,sc_cron:KW,sc_date:qW,sc_dates:eR,sc_dow:tR,sc_dows:sR,sc_every:iR,sc_everyN_dates:oR,sc_everyN_dow:rR,sc_everyN_dows:MR,sc_everyN_hours:nR,sc_everyN_minutes:aR,sc_everyN_months:cR,sc_everyN_seconds:uR,sc_every_dates:NR,sc_every_dow:lR,sc_every_dows:LR,sc_every_hours:jR,sc_every_minutes:gR,sc_every_months:TR,sc_every_seconds:yR,sc_from:DR,sc_hours:dR,sc_interval:zR,sc_intervalBetween:IR,sc_invalid_cron:wR,sc_minutes:CR,sc_months:hR,sc_once:AR,sc_period:pR,sc_seconds:mR,sc_simple:OR,sc_specific:ER,sc_specific_dates:_R,sc_specific_dow:SR,sc_specific_dows:xR,sc_specific_hours:fR,sc_specific_minutes:kR,sc_specific_months:YR,sc_specific_seconds:QR,sc_time:UR,sc_to:vR,sc_wizard:bR,sch_all:$R,sch_astroDay:PR,sch_astroNight:WR,sch_astro_dawn:RR,sch_astro_dusk:JR,sch_astro_goldenHour:BR,sch_astro_goldenHourEnd:FR,sch_astro_nadir:GR,sch_astro_nauticalDawn:HR,sch_astro_nauticalDusk:VR,sch_astro_night:ZR,sch_astro_nightEnd:XR,sch_astro_solarNoon:KR,sch_astro_sunrise:qR,sch_astro_sunriseEnd:eJ,sch_astro_sunset:tJ,sch_astro_sunsetStart:sJ,sch_at:iJ,sch_desc_atTime:oJ,sch_desc_everyDay:rJ,sch_desc_everyHour:MJ,sch_desc_everyMinute:nJ,sch_desc_everyMonth:aJ,sch_desc_everyNDay:cJ,sch_desc_everyNHours:uJ,sch_desc_everyNMinutes:NJ,sch_desc_everyNMonths:lJ,sch_desc_everyNWeeks:LJ,sch_desc_everyNYears:jJ,sch_desc_everyWeek:gJ,sch_desc_everyYear:TJ,sch_desc_intervalFromTo:yJ,sch_desc_never:DJ,sch_desc_onDate:dJ,sch_desc_onDates:zJ,sch_desc_onEveryDate:IJ,sch_desc_onMonth:wJ,sch_desc_onMonths:CJ,sch_desc_onWeekday:hJ,sch_desc_onWeekdays:AJ,sch_desc_onWeekends:pJ,sch_desc_onWorkdays:mJ,sch_desc_onceInPast:OJ,sch_desc_once_on:EJ,sch_desc_validFrom:_J,sch_desc_validFromTo:SJ,sch_desc_validTo:xJ,sch_every:fJ,sch_exactTime:kJ,sch_from:YJ,sch_fromTo:QJ,sch_intervalTime:UJ,sch_invert:vJ,sch_no_one:bJ,sch_on:$J,sch_period:PJ,sch_periodDaily:WJ,sch_periodDates:RJ,sch_periodDay:JJ,sch_periodEvery:BJ,sch_periodEveryDay:FJ,sch_periodEveryMonth:GJ,sch_periodEveryWeek:HJ,sch_periodEveryYear:VJ,sch_periodHours:ZJ,sch_periodMinutes:XJ,sch_periodMonth:KJ,sch_periodMonthly:qJ,sch_periodOnce:eB,sch_periodSpecificMonths:tB,sch_periodWeek:sB,sch_periodWeekdays:iB,sch_periodWeekend:oB,sch_periodWeekly:rB,sch_periodWorkdays:MB,sch_periodYear:nB,sch_periodYearly:aB,sch_specificTime:cB,sch_time:uB,sch_to:NB,sch_valid:lB,sch_validFrom:LB,sch_validTo:jB,sch_wholeDay:gB,sch_yearEveryMonth:TB},DB="Akcje",dB="Dodać",zB="Anuluj",IB="Kategorie",wB="Sprawdzony",CB="Kasować",hB="Blisko",AB="Handlowy",pB="Konfiguruj",mB="Połączony",OB="Kontynuować",EB="Skopiowano",_B="Stwórz",SB="Przyciąć",xB="Delete",fB="Usunąć",kB="Wyrzucać",YB="Niepowiązany",QB="Błąd",UB="Filtr",vB="Piątek",bB="Szerokość",$B="Wyloguj",PB="Długość geograficzna",WB="Wiadomość",RB="Poniedziałek",JB="Nazwa",BB="Obiekty",FB="Dobrze",GB="Produkt",HB="Zmień nazwę/Przenieś/Kopiuj",VB="Powtarzać",ZB="Zastępować",XB="Korzeń",KB="Sobota",qB="Zapisać",eF="Wybrany",tF="Stany",sF="Niedziela",iF="Czwartek",oF="Znak czasu",rF="Wtorek",MF="Aktualizacja",nF="Obowiązuje do",aF="Wartość",cF="Wersja",uF="Środa",NF="Szerokość",lF="Tak",LF="różne",jF="Każdy może czytać obiekt",gF="Każdy może czytać stan",TF="Każdy może pisać przedmiot",yF="Każdy może pisać stan",DF="Grupa może odczytać obiekt",dF="Grupa może odczytać stan",zF="Grupa może pisać obiekt",IF="Grupa może pisać stan",wF="Właściciel może czytać obiekt",CF="Właściciel może odczytać stan",hF="Właściciel może napisać obiekt",AF="Właściciel może pisać stan",pF="guziki",mF="Zmieniony z",OF="blisko",EF="Utwórz stan logiczny",_F="Utwórz kanał",SF="Utwórz urządzenie",xF="Utwórz stan liczbowy",fF="Utwórz stan",kF="Utwórz stan ciągu",YF="d.",QF="Ks",UF="Mo",vF="Sa",bF="Su",$F="Th",PF="Tu",WF="My",RF="Tryb ekspercki",JF="FAŁSZ",BF="Wszystkie pliki",FF="Audio",GF="Kod/JSON",HF="Obrazy",VF="Tekst",ZF="Wideo",XF="Ustawienia",KF="bez",qF="Funkcjonować",eG="ID",tG="Imię",sG="Rola",iG="Sala",oG="Rodzaj",rG="Nieprawidłowe ustawienia",MG="Ostatnia zmiana",nG="lokalnie",aG="kwiecień",cG="sierpień",uG="grudzień",NG="luty",lG="styczeń",LG="lipiec",jG="czerwiec",gG="Mai",TG="Zniszczyć",yG="listopad",DG="październik",dG="wrzesień",zG="kwiecień",IG="sierpień",wG="grudzień",CG="luty",hG="styczeń",AG="lipiec",pG="czerwiec",mG="Mai",OG="Zniszczyć",EG="listopad",_G="październik",SG="wrzesień",xG="Żaden",fG="Obiekt zmieniony przez",kG="Obiekt ostatnio zmieniony o godz",YG="Ustawienia z innego adaptera %s",QG="Kod jakości",UG="powtarzać",vG="Aby wybrać folder, wystarczy przytrzymać klawisz „shift”, klikając folder.",bG="Pokaż wszystko",$G="Stan zmieniony przez",PG="Obiekt zmieniony z",WG="Znak czasu",RG="Potwierdzon",JG="Komentarz",BG="Skopiuj wartość stanu",FG="Przytrzymaj klawisz CTRL/⌘, aby otworzyć link",GG="Własne ustawienia",HG="Usuń obiekt",VG="Edytuj obiekt",ZG="Edytuj wartość stanu",XG="Wygasa za",KG="Z",qG="Ostatnia zmiana",eH="Jakość",tH="Znak czasu",sH="Użytkownik",iH="Wartość",oH="PRAWDA",rH="Wartość",MH="Ostrzeżenie: Zadanie CRON będzie uruchamiane co minutę w określonym przedziale czasowym!",nH="Ostrzeżenie: Zadanie CRON będzie uruchamiane co sekundę w określonym przedziale czasowym!",aH="CRON",cH="Data",uH="Daktyle",NH="Dzień",lH="Dzień tygodnia",LH="Każdy",jH="co N dni",gH="w każdy N-ty dzień tygodnia",TH="co N dnia tygodnia",yH="co N godzin",DH="co N minut",dH="co N miesięcy",zH="co N sekund",IH="codziennie",wH="każdy dzień tygodnia",CH="każdy dzień tygodnia",hH="co godzinę",AH="każda minuta",pH="każdego miesiąca",mH="każda sekunda",OH="Od",EH="godziny",_H="Interwał",SH="Interwał między",xH="Nieprawidłowy CRON",fH="Minuty",kH="miesięcy",YH="Pewnego razu",QH="Kropka",UH="sekundy",vH="Prosty",bH="Określony czas",$H="konkretne daty",PH="określone dni tygodnia",WH="określony dzień tygodni",RH="określone godziny",JH="określone minuty",BH="określone miesiące",FH="określone sekundy",GH="Czas",HH="Do",VH="Czarodziej",ZH="wszystko",XH="Dzień Astro",KH="Noc Astro",qH="Świt",eV="Zmierzch",tV="złota godzina",sV="Koniec złotej godziny",iV="Nadir",oV="Morski świt",rV="Morski zmierzch",MV="Noc",nV="Koniec nocy",aV="Południe słoneczne",cV="wschód słońca",uV="Koniec wschodu słońca",NV="Zachód słońca",lV="Początek zachodu słońca",LV="w",jV="na %s",gV="codziennie",TV="co godzinę",yV="każda minuta",DV="każdego miesiąca",dV="każdego dnia %s",zV="co %s godzin",IV="co %s minut",wV="co %s miesięcy",CV="co %s tygodni",hV="co %s lat",AV="co tydzień",pV="każdego roku",mV="od %s do %s",OV="nigdy",EV="na %s z %s",_V="na %s i %s z",SV="w każdą datę",xV="%s",fV="%s i %s",kV="na %s",YV="na %s i %s",QV="w weekendy",UV="w dni robocze",vV="nie będzie już wykonywany, ponieważ start jest w przeszłości",bV="na %s",$V="z %s",PV="Wykonaj od do",WV="do %s",RV="każdy",JV="Określony czas",BV="od",FV="Od-do",GV="Czas przerwy",HV="odwracać",VV="Żaden",ZV="na",XV="Kropka",KV="Codziennie",qV="Daktyle",eZ="Dzień",tZ="Każdy",sZ="Codziennie",iZ="Każdego miesiąca",oZ="Co tydzień",rZ="Każdego roku",MZ="godziny",nZ="Minuty",aZ="miesiąc",cZ="Miesięczny",uZ="Pewnego razu",NZ="Określone miesiące",lZ="Tydzień",LZ="Dni powszednie",jZ="Weekend",gZ="Co tydzień",TZ="Dni robocze",yZ="Rok",DZ="Rocznie",dZ="Określony czas",zZ="Czas",IZ="do",wZ="Ważny",CZ="od",hZ="do",AZ="Cały dzień",pZ="każdego miesiąca",mZ={"ra_%s links from aliases":"%s linków z aliasów","ra_%s object(s) processed":"Przetworzono %s obiektów","ra_%s was imported":"%s został zaimportowany","ra_Accept license":"Zaakceptuj licencję",ra_Actions:DB,"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ów z pliku JSON","ra_Add row":"Dodaj wiersz","ra_Advanced options":"Zaawansowane opcje","ra_All items are filtered out":"Wszystkie pozycje są odfiltrowane","ra_All objects":"Wszystkie obiekty",ra_Append:dB,"ra_Append %s entries or replace existing?":"Dołączyć wpisy %s czy zastąpić istniejące?","ra_Append or replace?":"Dołączyć czy zastąpić?","ra_Are you sure?":"Jesteś pewny?","ra_Auto (no custom columns)":"Auto (bez kolumn niestandardowych)","ra_Back to %s":"Powrót do %s","ra_Background image":"Zdjęcie w tle",ra_Cancel:zB,"ra_Cannot add items with set filter":"Nie można dodać elementów z ustawionym filtrem","ra_Cannot decode license":"Nie można zdekodować licencji","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Nie można określić pozycji: ustawienia systemu są puste, a wykrywanie GPS jest wyłączone w przeglądarce",'ra_Cannot find "%s"':"Nie można znaleźć „%s”",'ra_Cannot read "%s"':"Nie można odczytać „%s”","ra_Cannot read licenses: %s":"Nie można odczytać licencji: %s","ra_Cannot retrieve options, as instance is offline":"Nie można pobrać opcji, ponieważ instancja jest w trybie offline","ra_Cannot update attribute, because not found in the object":"Nie można zaktualizować atrybutu, ponieważ nie znaleziono go w obiekcie","ra_Cannot upload":"Nie można przesłać",ra_Categories:IB,"ra_Chained certificate":"Certyfikat łańcuchowy","ra_Change color theme":"Zmień motyw kolorystyczny","ra_Changed from":"Zmieniony z","ra_Channel → State":"Kanał → Stan","ra_Check license":"Sprawdź licencję",ra_Checked:wB,ra_Clear:CB,"ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczyść ikonę","ra_Clone current row":"Sklonuj bieżący wiersz",ra_Close:hB,"ra_Collapse all nodes":"Zwiń wszystkie węzły","ra_Collapse one step node":"Zwiń o jeden poziom",ra_Commercial:AB,ra_Configure:pB,"ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierdź usunięcie %s",ra_Connected:mB,ra_Continue:OB,ra_Copied:EB,"ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawartość",ra_Create:_B,"ra_Create alias":"Utwórz alias","ra_Create folder":"Utwórz folder","ra_Create new folder in %s":"Utwórz nowy folder w %s",ra_Crop:SB,"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:xB,ra_Delete:fB,"ra_Delete current row":"Usuń bieżący wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device → Channel → State":"Urządzenie → Kanał → Stan",ra_Discard:kB,ra_Disconnected:YB,"ra_Do not ask for next 2 hours in this session":"Nie proś o kolejne 2 godziny w tej sesji","ra_Do not export values of states":"Nie eksportuj wartości stanów","ra_Do not use let's encrypt":"Nie używaj zaszyfrujmy","ra_Double click to reset table layout":"Kliknij dwukrotnie, aby zresetować układ tabeli","ra_Drag 'n' drop some files here, or click to select files":"Przeciągnij i upuść kilka plików tutaj lub kliknij, aby wybrać pliki","ra_Drop file here":"Upuść plik tutaj","ra_Drop the files here...":"Upuść plik tutaj...","ra_Duplicate name":"Zduplikowana nazwa","ra_Edit ACL":"Edytuj listy ACL","ra_Edit alias":"Edytuj alias","ra_Edit custom config":"Edytuj konfigurację niestandardową","ra_Edit full path":"Edytuj pełną ścieżkę","ra_Edit function":"Funkcja edycji","ra_Edit object field":"Edytuj pole obiektu","ra_Edit role":"Edytuj rolę","ra_Edit room":"Edytuj pokój","ra_Edit value":"Edytuj wartość","ra_Enter the code from that page here":"Wpisz kod z tej strony tutaj",ra_Error:QB,"ra_Expand all nodes":"Rozwiń wszystkie węzły","ra_Expand one step node":"Rozwiń o jeden poziom","ra_Export data to %s file":"Eksportuj dane do pliku %s","ra_Failed to open JSON File":"Nie udało się otworzyć pliku JSON","ra_Fallback custom certificates":"Niestandardowe certyfikaty zastępcze","ra_File is too big. Max %sk allowed. Try use SVG.":"Plik jest za duży. Maksymalna dozwolona liczba %sk. Spróbuj użyć SVG.",ra_Filter:UB,"ra_Filter and Data Actions":"Akcje filtrów i danych","ra_Filter files":"Filtruj pliki","ra_Folder name":"Nazwa folderu","ra_Folder → Channel → State":"Folder → Kanał → Stan","ra_Folder → Device → Channel → State":"Folder → Urządzenie → Kanał → Stan","ra_Folder → State":"Folder → Stan","ra_Folders always first":"Foldery zawsze na pierwszym miejscu",ra_Friday:vB,"ra_Get %s access":"Uzyskaj dostęp %s","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śli w folderze nie zostanie utworzony żaden plik, zniknie on po zamknięciu przeglądarki","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Jeśli przycisk powyżej nie działa, możesz autoryzować tę aplikację ręcznie, odwiedzając ten adres URL","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łowy CRON","ra_Invalid JSON":"Nieprawidłowy JSON","ra_Invalid answer from server":"Nieprawidłowa odpowiedź z serwera","ra_Invalid parent folder!":"Nieprawidłowy folder nadrzędny!","ra_Invalid structure":"Nieprawidłowa struktura","ra_JSON editor":"Edytor JSON","ra_Last change":"Ostatnia zmiana",ra_Latitude:bB,"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ła w dniu %s",'ra_License for other product "%s"':"Licencja na inny produkt „%s”","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ć przekonwertowana na nowszą wersję. Możesz to zrobić 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żerze licencji. Chcesz zaktualizować licencje z iobroker.net?","ra_Listen on all IPs":"Słuchaj na wszystkich adresach IP","ra_Load configuration from file":"Załaduj konfigurację z pliku",ra_Logout:$B,ra_Longitude:PB,'ra_May not trigger "updateLicenses"':"Może nie uruchamiać „updateLicenses”",ra_Message:WB,ra_Monday:RB,"ra_Move down":"Padnij","ra_Move up":"Podnieść",ra_Name:JB,"ra_No data found in file":"Nie znaleziono danych w pliku","ra_No one license found in license manager":"Nie znaleziono licencji w menedżerze 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ędące ekspertami mogą tworzyć nowe obiekty tylko w „0_userdata.0” lub „alias.0”.","ra_Not a number":"Nie numer",ra_Objects:BB,ra_Ok:FB,"ra_On weekdays":"W dni powszednie","ra_Only following structures of objects are available:":"Dostępne są tylko następujące struktury obiektów:","ra_Only selected":"Tylko wybrane","ra_Owner group":"Grupa właścicieli","ra_Owner user":"Właściciel użytkownika","ra_Passwords are not equal!":"Hasła nie są równe!","ra_Place your files here or click here to open the browse dialog":"Umieść swoje pliki tutaj lub kliknij tutaj, aby otworzyć okno dialogowe przeglądania","ra_Please allow popups in your browser for this page!":"Proszę zezwolić na wyświetlanie wyskakujących okienek w przeglądarce dla tej strony!","ra_Please confirm":"Proszę potwierdzić","ra_Please create license":"Utwórz licencję","ra_Please enter the license":"Proszę wprowadzić licencję","ra_Please select file...":"Wybierz plik...","ra_Please select object ID...":"Wybierz identyfikator obiektu ...","ra_Port could be used by %s":"Port może być używany przez %s","ra_Port is already used by %s":"Port jest już używany przez %s","ra_Press ENTER Key to add new item":"Naciśnij klawisz ENTER, aby dodać nowy element","ra_Private certificate":"Prywatny certyfikat",ra_Product:GB,"ra_Public certificate":"Certyfikat publiczny","ra_Quality code":"Jakości","ra_Refresh tree":"Odśwież drzewo","ra_Reload files":"Załaduj ponownie pliki",ra_Rename_Move_Copy:HB,"ra_Renew %s access":"Odnów dostęp %s",ra_Repeat:VB,ra_Replace:ZB,"ra_Request timed out":"Upłynął limit czasu żądania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:XB,ra_Saturday:KB,ra_Save:qB,"ra_Save and close":"Zapisz i zamknij","ra_Save configuration to file":"Zapisz konfigurację do pliku","ra_Save objects tree as JSON file":"Zapisz drzewo obiektów jako plik JSON","ra_Select all":"Zaznacz wszystko","ra_Select color":"Wybierz kolor","ra_Select predefined icon":"Wybierz predefiniowaną ikonę","ra_Select type of export":"Wybierz rodzaj eksportu",ra_Selected:eF,"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) „%s” w licencji dotyczy innego urządzenia.","ra_Session will expire in %s seconds. Continue?":"Sesja wygaśnie za %s sekund. Kontynuować?","ra_Show all folders":"Pokaż wszystkie foldery","ra_Show lines between rows":"Pokaż linie między rzędami","ra_Show/Hide object descriptions":"Pokaż/ukryj opisy obiektów","ra_Show/hide filter input":"Pokaż/ukryj wejście filtra","ra_Some data are not stored. Discard?":"Niektóre dane nie są przechowywane. Wyrzucać?",ra_States:tF,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Pomyślnie autoryzowano. Token ważny do %s i zostanie automatycznie odnowiony.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Pomyślnie autoryzowano. Token ważny do %s, ale może wygasnąć, ponieważ instancja nie jest uruchomiona.","ra_Suitable license not found in license manager":"Nie znaleziono odpowiedniej licencji w menedżerze licencji",ra_Sunday:sF,"ra_Suppress question for next %s minutes":"Ukryj pytanie przez następne %s minut","ra_System language":"Język systemu","ra_Take browser position":"Zajmij pozycję z przeglądarki","ra_Take position from system settings":"Zajmij pozycję z ustawień systemowych",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Eksperci mogą tworzyć obiekty wszędzie poza drugim poziomem (np. „Vis.0” lub „javascript.0”).","ra_The page you are looking for was not found":"Strona, której szukasz nie została znaleziona","ra_The schedule will be executed every minute. Are you sure?":"Harmonogram będzie wykonywany co minutę. Czy jesteś pewien?","ra_The schedule will be executed every second. Are you sure?":"Harmonogram będzie wykonywany co sekundę. Czy jesteś pewien?",ra_Thursday:iF,ra_Timestamp:oF,"ra_Toggle expert mode":"Przełącz tryb eksperta","ra_Toggle the states view":"Przełącz widok stanów","ra_Toggle view mode":"Przełącz tryb widoku","ra_Too big":"Za duży","ra_Too small":"Za mały","ra_Transparent dialog":"Przejrzyste okno dialogowe",ra_Tuesday:rF,"ra_Unknown error":"Nieznany błąd","ra_Unknown error!":"Nieznany błąd!",ra_Update:MF,"ra_Upload file":"Przesyłanie pliku","ra_Use all available let's encrypt certificates":"Użyj wszystkich dostępnych certyfikatów Let's Encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Użyj adaptera iobroker.acme dla certyfikatów letsencrypt","ra_Use system settings for position":"Użyj ustawień systemowych dla pozycji","ra_Used system settings":"Używane ustawienia systemowe","ra_User files":"Pliki użytkownika",ra_ValidTill:nF,ra_Value:aF,ra_Version:cF,"ra_View file":"Zobaczyć plik","ra_View: %s":"Widok: %s",ra_Wednesday:uF,ra_Width:NF,ra_Yes:lF,"ra_You can export all objects or just the selected branch.":"Możesz wyeksportować wszystkie obiekty lub tylko wybraną gałąź.","ra_You can filter entries by entering here some text":"Możesz filtrować wpisy, wpisując tutaj jakiś tekst","ra_You can use * as wildcard":"Możesz użyć * jako symbolu wieloznacznego",ra___different__:LF,ra_aclEveryone_read_object:jF,ra_aclEveryone_read_state:gF,ra_aclEveryone_write_object:TF,ra_aclEveryone_write_state:yF,ra_aclGroup_read_object:DF,ra_aclGroup_read_state:dF,ra_aclGroup_write_object:zF,ra_aclGroup_write_state:IF,ra_aclOwner_read_object:wF,ra_aclOwner_read_state:CF,ra_aclOwner_write_object:hF,ra_aclOwner_write_state:AF,ra_buttons:pF,ra_changedFrom:mF,ra_close:OF,ra_create_boolean_state:EF,ra_create_channel:_F,ra_create_device:SF,ra_create_number_state:xF,ra_create_state:fF,ra_create_string_state:kF,ra_daysShortText:YF,ra_dow_Fr:QF,ra_dow_Mo:UF,ra_dow_Sa:vF,ra_dow_Su:bF,ra_dow_Th:$F,ra_dow_Tu:PF,ra_dow_We:WF,ra_expertMode:RF,ra_false:JF,ra_fileType_all:BF,ra_fileType_audio:FF,ra_fileType_code:GF,ra_fileType_images:HF,ra_fileType_txt:VF,ra_fileType_video:ZF,"ra_fileType_video,":"Wideo",ra_filter_customs:XF,ra_filter_customs_without:KF,ra_filter_func:qF,ra_filter_id:eG,ra_filter_name:tG,ra_filter_role:sG,ra_filter_room:iG,ra_filter_type:oG,"ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:rG,ra_lastChange:MG,ra_locally:nG,ra_month_Apr:aG,ra_month_Aug:cG,ra_month_Dec:uG,ra_month_Feb:NG,ra_month_Jan:lG,ra_month_Jul:LG,ra_month_Jun:jG,ra_month_Mai:gG,ra_month_Mar:TG,ra_month_Nov:yG,ra_month_Oct:DG,ra_month_Sep:dG,ra_months_Apr:zG,ra_months_Aug:IG,ra_months_Dec:wG,ra_months_Feb:CG,ra_months_Jan:hG,ra_months_Jul:AG,ra_months_Jun:pG,ra_months_Mai:mG,ra_months_Mar:OG,ra_months_Nov:EG,ra_months_Oct:_G,ra_months_Sep:SG,"ra_no confirm for 5 mins":"brak potwierdzenia przez 5 minut",ra_none:xG,ra_object_changed_by:fG,ra_object_changed_by_user:kG,ra_otherConfig:YG,ra_qualityCode:QG,ra_repeat:UG,ra_select_folder_hint:vG,ra_show_all:bG,ra_state_changed_by:$G,ra_state_changed_from:PG,ra_timestamp:WG,ra_tooltip_ack:RG,ra_tooltip_comment:JG,ra_tooltip_copyState:BG,ra_tooltip_ctrlForLink:FG,ra_tooltip_customConfig:GG,ra_tooltip_deleteObject:HG,ra_tooltip_editObject:VG,ra_tooltip_editState:ZG,ra_tooltip_expire:XG,ra_tooltip_from:KG,ra_tooltip_lc:qG,ra_tooltip_quality:eH,ra_tooltip_ts:tH,ra_tooltip_user:sH,ra_tooltip_value:iH,ra_true:oH,"ra_use seconds":"użyj sekund",ra_val:rH,"ra_via internet":"przez internet",ra_warning_every_minute:MH,ra_warning_every_second:nH,sc_cron:aH,sc_date:cH,sc_dates:uH,sc_dow:NH,sc_dows:lH,sc_every:LH,sc_everyN_dates:jH,sc_everyN_dow:gH,sc_everyN_dows:TH,sc_everyN_hours:yH,sc_everyN_minutes:DH,sc_everyN_months:dH,sc_everyN_seconds:zH,sc_every_dates:IH,sc_every_dow:wH,sc_every_dows:CH,sc_every_hours:hH,sc_every_minutes:AH,sc_every_months:pH,sc_every_seconds:mH,sc_from:OH,sc_hours:EH,sc_interval:_H,sc_intervalBetween:SH,sc_invalid_cron:xH,sc_minutes:fH,sc_months:kH,sc_once:YH,sc_period:QH,sc_seconds:UH,sc_simple:vH,sc_specific:bH,sc_specific_dates:$H,sc_specific_dow:PH,sc_specific_dows:WH,sc_specific_hours:RH,sc_specific_minutes:JH,sc_specific_months:BH,sc_specific_seconds:FH,sc_time:GH,sc_to:HH,sc_wizard:VH,sch_all:ZH,sch_astroDay:XH,sch_astroNight:KH,sch_astro_dawn:qH,sch_astro_dusk:eV,sch_astro_goldenHour:tV,sch_astro_goldenHourEnd:sV,sch_astro_nadir:iV,sch_astro_nauticalDawn:oV,sch_astro_nauticalDusk:rV,sch_astro_night:MV,sch_astro_nightEnd:nV,sch_astro_solarNoon:aV,sch_astro_sunrise:cV,sch_astro_sunriseEnd:uV,sch_astro_sunset:NV,sch_astro_sunsetStart:lV,sch_at:LV,sch_desc_atTime:jV,sch_desc_everyDay:gV,sch_desc_everyHour:TV,sch_desc_everyMinute:yV,sch_desc_everyMonth:DV,sch_desc_everyNDay:dV,sch_desc_everyNHours:zV,sch_desc_everyNMinutes:IV,sch_desc_everyNMonths:wV,sch_desc_everyNWeeks:CV,sch_desc_everyNYears:hV,sch_desc_everyWeek:AV,sch_desc_everyYear:pV,sch_desc_intervalFromTo:mV,sch_desc_never:OV,sch_desc_onDate:EV,sch_desc_onDates:_V,sch_desc_onEveryDate:SV,sch_desc_onMonth:xV,sch_desc_onMonths:fV,sch_desc_onWeekday:kV,sch_desc_onWeekdays:YV,sch_desc_onWeekends:QV,sch_desc_onWorkdays:UV,sch_desc_onceInPast:vV,sch_desc_once_on:bV,sch_desc_validFrom:$V,sch_desc_validFromTo:PV,sch_desc_validTo:WV,sch_every:RV,sch_exactTime:JV,sch_from:BV,sch_fromTo:FV,sch_intervalTime:GV,sch_invert:HV,sch_no_one:VV,sch_on:ZV,sch_period:XV,sch_periodDaily:KV,sch_periodDates:qV,sch_periodDay:eZ,sch_periodEvery:tZ,sch_periodEveryDay:sZ,sch_periodEveryMonth:iZ,sch_periodEveryWeek:oZ,sch_periodEveryYear:rZ,sch_periodHours:MZ,sch_periodMinutes:nZ,sch_periodMonth:aZ,sch_periodMonthly:cZ,sch_periodOnce:uZ,sch_periodSpecificMonths:NZ,sch_periodWeek:lZ,sch_periodWeekdays:LZ,sch_periodWeekend:jZ,sch_periodWeekly:gZ,sch_periodWorkdays:TZ,sch_periodYear:yZ,sch_periodYearly:DZ,sch_specificTime:dZ,sch_time:zZ,sch_to:IZ,sch_valid:wZ,sch_validFrom:CZ,sch_validTo:hZ,sch_wholeDay:AZ,sch_yearEveryMonth:pZ},OZ="Дії",EZ="Додайте",_Z="Скасувати",SZ="Категорії",xZ="Перевірено",fZ="Видалити",kZ="Закрити",YZ="Комерційний",QZ="Налаштувати",UZ="Підключено",vZ="Продовжити",bZ="Скопійовано",$Z="Створити",PZ="Урожай",WZ="Delete",RZ="Видалити",JZ="Відкинути",BZ="Відключено",FZ="Помилка",GZ="фільтр",HZ="П'ятниця",VZ="Широта",ZZ="Вийти",XZ="Довгота",KZ="повідомлення",qZ="понеділок",eX="Ім'я",tX="Об'єкти",sX="В порядку",iX="Продукт",oX="Перейменувати/Перемістити/Копіювати",rX="Повторіть",MX="Замінити",nX="Корінь",aX="Субота",cX="зберегти",uX="Вибране",NX="держави",lX="неділя",LX="четвер",jX="Мітка часу",gX="вівторок",TX="оновлення",yX="Дійсний до",DX="Значення",dX="Версія",zX="Середа",IX="Ширина",wX="Так",CX="інший",hX="Кожен може читати об'єкт",AX="Кожен може читати стан",pX="Кожен може написати об'єкт",mX="Кожен може написати стан",OX="Група може читати об'єкт",EX="Група може читати стан",_X="Група може писати об'єкт",SX="Група може писати стан",xX="Власник може читати об'єкт",fX="Власник може читати стан",kX="Власник може написати об'єкт",YX="Власник може написати стан",QX="кнопки",UX="Змінено з",vX="закрити",bX="Створіть логічний стан",$X="Створити канал",PX="Створити пристрій",WX="Створити номерний стан",RX="Створити состояние",JX="Створити рядковий стан",BX="днів",FX="О",GX="пн",HX="Sa",VX="Нд",ZX="чт",XX="вт",KX="ми",qX="Експертний режим",eK="НЕПРАВДА",tK="Всі файли",sK="Аудіо",iK="Код/JSON",oK="Зображення",rK="текст",MK="відео",nK="Налаштування",aK="без",cK="функція",uK="ID",NK="Ім'я",lK="Роль",LK="Кімната",jK="Тип",gK="Недійсні налаштування",TK="Остання зміна",yK="локально",DK="квіт",dK="серп",zK="груд",IK="лютий",wK="січня",CK="лип",hK="черв",AK="травень",pK="березень",mK="Листопад",OK="жовт",EK="вер",_K="квіт",SK="серп",xK="груд",fK="лютий",kK="січня",YK="лип",QK="черв",UK="травень",vK="березень",bK="Листопад",$K="жовт",PK="вер",WK="немає",RK="Об'єкт змінено",JK="Об'єкт востаннє змінено о",BK="Налаштування з іншого адаптера %s",FK="Код якості",GK="повторити",HK="Щоб вибрати папку, просто клацніть папку, утримуючи клавішу «Shift».",VK="Показати все",ZK="Стан змінено на",XK="Об'єкт змінено з",KK="Мітка часу",qK="Визнано",eq="коментар",tq="Скопіюйте значення стану",sq="Утримуйте клавішу Cltr/⌘, щоб відкрити посилання",iq="Спеціальні налаштування",oq="Видалити об'єкт",rq="Редагувати об'єкт",Mq="Відредагуйте значення стану",nq="Термін дії закінчується через",aq="Від",cq="Востаннє змінено",uq="якість",Nq="Позначка часу",lq="Користувач",Lq="Значення",jq="ПРАВДА",gq="Значення",Tq="Попередження: завдання CRON виконуватиметься щохвилини протягом зазначеного періоду!",yq="Попередження: завдання CRON виконуватиметься кожну секунду протягом зазначеного періоду!",Dq="CRON",dq="Дата",zq="дати",Iq="День",wq="День тижня",Cq="кожен",hq="кожні N днів",Aq="кожен N-й день тижня",pq="кожні N днів тижня",mq="кожні N годин",Oq="кожні N хвилин",Eq="кожні N місяців",_q="кожні N секунд",Sq="кожен день",xq="кожен день тижня",fq="кожен день тижня",kq="щогодини",Yq="кожну хвилину",Qq="щомісяця",Uq="кожна секунда",vq="Від",bq="години",$q="Інтервал",Pq="Інтервал між",Wq="Недійсний CRON",Rq="хвилин",Jq="місяців",Bq="Один раз",Fq="Крапка",Gq="секунд",Hq="просто",Vq="Конкретний час",Zq="конкретні дати",Xq="конкретний день (дні) тижня",Kq="конкретний день тижня",qq="конкретні години",eee="конкретні хвилини",tee="конкретні місяці",see="конкретні секунди",iee="час",oee="до",ree="майстер",Mee="все",nee="Астродень",aee="Астро ніч",cee="Світанок",uee="Сутінки",Nee="Золота година",lee="Кінець золотої години",Lee="Надір",jee="Морський світанок",gee="Морські сутінки",Tee="ніч",yee="Кінець ночі",Dee="Сонячний полудень",dee="Схід сонця",zee="Кінець сходу сонця",Iee="Захід сонця",wee="Початок заходу сонця",Cee="в",hee="в %s",Aee="кожен день",pee="щогодини",mee="кожну хвилину",Oee="щомісяця",Eee="кожен %s день",_ee="кожні %s годин",See="кожні %s хвилин",xee="кожні %s місяців",fee="кожні %s тижнів",kee="кожні %s років",Yee="щотижня",Qee="щороку",Uee="від %s до %s",vee="ніколи",bee="на %s з %s",$ee="на %s і %s з",Pee="на кожну дату",Wee="%s",Ree="%s і %s",Jee="на %s",Bee="на %s і %s",Fee="на вихідних",Gee="в робочі дні",Hee="більше не виконуватиметься, оскільки запуск у минулому",Vee="на %s",Zee="від %s",Xee="Виконати від до",Kee="до %s",qee="кожен",ete="Конкретний час",tte="від",ste="Від до",ite="Час інтервалу",ote="інвертувати",rte="немає",Mte="на",nte="Крапка",ate="Щодня",cte="дати",ute="День",Nte="кожен",lte="Кожен день",Lte="Щомісяця",jte="Щотижня",gte="Щороку",Tte="години",yte="хвилин",Dte="місяць",dte="Щомісяця",zte="Один раз",Ite="Конкретні місяці",wte="тиждень",Cte="будні",hte="Вихідні",Ate="Щотижня",pte="робочі дні",mte="рік",Ote="щорічно",Ete="Конкретний час",_te="час",Ste="до",xte="Дійсний",fte="від",kte="до",Yte="Цілий день",Qte="щомісяця",Ute={"ra_%s links from aliases":"%s посилань із псевдонімів","ra_%s object(s) processed":"Оброблено %s об’єктів","ra_%s was imported":"%s було імпортовано","ra_Accept license":"Прийняти ліцензію",ra_Actions:OZ,"ra_Add new child object to selected parent":"Додати новий дочірній об’єкт до вибраного батьківського","ra_Add objects tree from JSON file":"Додайте дерево об’єктів із файлу JSON","ra_Add row":"Додати рядок","ra_Advanced options":"Розширені опції","ra_All items are filtered out":"Усі елементи відфільтровано","ra_All objects":"Всі об'єкти",ra_Append:EZ,"ra_Append %s entries or replace existing?":"Додати %s записів чи замінити наявні?","ra_Append or replace?":"Додати чи замінити?","ra_Are you sure?":"Ти впевнений?","ra_Auto (no custom columns)":"Автоматично (без спеціальних стовпців)","ra_Back to %s":"Назад до %s","ra_Background image":"Фонове зображення",ra_Cancel:_Z,"ra_Cannot add items with set filter":"Неможливо додати елементи зі встановленим фільтром","ra_Cannot decode license":"Неможливо розшифрувати ліцензію","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Неможливо визначити положення: системні налаштування порожні, а визначення GPS вимкнено в браузері",'ra_Cannot find "%s"':'Не вдається знайти "%s"','ra_Cannot read "%s"':'Неможливо прочитати "%s"',"ra_Cannot read licenses: %s":"Неможливо прочитати ліцензії: %s","ra_Cannot retrieve options, as instance is offline":"Неможливо отримати параметри, оскільки екземпляр офлайн","ra_Cannot update attribute, because not found in the object":"Неможливо оновити атрибут, оскільки його не знайдено в об’єкті","ra_Cannot upload":"Неможливо завантажити",ra_Categories:SZ,"ra_Chained certificate":"Прикутий сертифікат","ra_Change color theme":"Змінити кольорову тему","ra_Changed from":"Змінено з","ra_Channel → State":"Канал → Стан","ra_Check license":"Перевірити ліцензію",ra_Checked:xZ,ra_Clear:fZ,"ra_Clear filter":"Очистити фільтр","ra_Clear icon":"Очистити значок","ra_Clone current row":"Клонувати поточний рядок",ra_Close:kZ,"ra_Collapse all nodes":"Згорнути всі вузли","ra_Collapse one step node":"Згорнути на один рівень",ra_Commercial:YZ,ra_Configure:QZ,"ra_Configure visible columns":"Налаштувати видимі стовпці","ra_Confirm deletion of %s":"Підтвердити видалення %s",ra_Connected:UZ,ra_Continue:vZ,ra_Copied:bZ,"ra_Copied %s":'Скопійовано "%s"',"ra_Copy content":"Скопіюйте вміст",ra_Create:$Z,"ra_Create alias":"Створити псевдонім","ra_Create folder":"Створити папку","ra_Create new folder in %s":"Створіть нову папку в %s",ra_Crop:PZ,"ra_Define CRON...":"Визначити CRON...","ra_Define functions":"Визначити функції","ra_Define rooms":"Визначте кімнати","ra_Define schedule":"Визначити розклад","ra_Define schedule...":"Визначити розклад...",ra_Del:WZ,ra_Delete:RZ,"ra_Delete current row":"Видалити поточний рядок","ra_Deselect all":"Скасувати вибір усіх","ra_Device → Channel → State":"Пристрій → Канал → Стан",ra_Discard:JZ,ra_Disconnected:BZ,"ra_Do not ask for next 2 hours in this session":"Не запитуйте про наступні 2 години цього сеансу","ra_Do not export values of states":"Не експортуйте значення станів","ra_Do not use let's encrypt":"Не використовуйте let's encrypt","ra_Double click to reset table layout":"Двічі клацніть, щоб скинути макет таблиці","ra_Drag 'n' drop some files here, or click to select files":"Перетягніть деякі файли сюди або натисніть, щоб вибрати файли","ra_Drop file here":"Перетягніть файл сюди","ra_Drop the files here...":"Перетягніть файл сюди...","ra_Duplicate name":"Повторюване ім'я","ra_Edit ACL":"Редагувати ACL","ra_Edit alias":"Редагувати псевдонім","ra_Edit custom config":"Редагувати спеціальну конфігурацію","ra_Edit full path":"Редагувати повний шлях","ra_Edit function":"функція редагування","ra_Edit object field":"Поле редагування об'єкта","ra_Edit role":"Редагувати роль","ra_Edit room":"Редагувати кімнату","ra_Edit value":"Редагувати значення","ra_Enter the code from that page here":"Введіть тут код з цієї сторінки",ra_Error:FZ,"ra_Expand all nodes":"Розгорнути всі вузли","ra_Expand one step node":"Розгорніть один рівень","ra_Export data to %s file":"Експортувати дані у файл %s","ra_Failed to open JSON File":"Не вдалося відкрити файл JSON","ra_Fallback custom certificates":"Запасні спеціальні сертифікати","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл завеликий. Максимально дозволено %sk. Спробуйте використовувати SVG.",ra_Filter:GZ,"ra_Filter and Data Actions":"Фільтр і дії з даними","ra_Filter files":"Фільтр файлів","ra_Folder name":"Назва папки","ra_Folder → Channel → State":"Папка → Канал → Стан","ra_Folder → Device → Channel → State":"Папка → Пристрій → Канал → Стан","ra_Folder → State":"Папка → Стан","ra_Folders always first":"Папки завжди першими",ra_Friday:HZ,"ra_Get %s access":"Отримайте доступ %s","ra_Good luck":"Удачі","ra_Hide empty folders":"Приховати порожні папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Якщо в папці не буде створено файл, він зникне після закриття браузера","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Якщо кнопка вище не працює, ви можете авторизувати цю програму вручну, перейшовши за цим посиланням","ra_Import data from %s file":"Імпортувати дані з файлу %s","ra_Import from %s":"Імпортувати з %s","ra_Instance %s is alive":"Примірник %s живий","ra_Instance %s is not alive":"Примірник %s не живий","ra_Instance is not alive":"Примірник не живий","ra_Invalid CRON":"Недійсний CRON","ra_Invalid JSON":"Недійсний JSON","ra_Invalid answer from server":"Недійсна відповідь від сервера","ra_Invalid parent folder!":"Недійсна батьківська папка!","ra_Invalid structure":"Недійсна структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Остання зміна",ra_Latitude:VZ,"ra_License %s":"Ліцензія %s","ra_License agreement":"Ліцензійна угода","ra_License does not exist":"Ліцензії не існує","ra_License expired on %s":"Термін дії ліцензії закінчився %s",'ra_License for other product "%s"':'Ліцензія на інший продукт "%s"',"ra_License is for version %s, but required version is %s.":"Ліцензія для версії %s, але потрібна версія %s.","ra_License must be converted":"Ліцензію необхідно конвертувати до новішої версії. Ви можете зробити це у своєму профілі на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Ліцензія не знайдена в менеджері ліцензій. Хочете оновити ліцензії з iobroker.net?","ra_Listen on all IPs":"Прослуховування на всіх IP","ra_Load configuration from file":"Завантажити конфігурацію з файлу",ra_Logout:ZZ,ra_Longitude:XZ,'ra_May not trigger "updateLicenses"':'Може не запускати "updateLicenses"',ra_Message:KZ,ra_Monday:qZ,"ra_Move down":"Рухатися вниз","ra_Move up":"Рухатися вгору",ra_Name:eX,"ra_No data found in file":"Немає даних у файлі","ra_No one license found in license manager":"У менеджері ліцензій не знайдено жодної ліцензії","ra_No response from the backend":"Немає відповіді від сервера",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Неексперти можуть створювати нові об’єкти лише в «0_userdata.0» або «alias.0».","ra_Not a number":"Не номер",ra_Objects:tX,ra_Ok:sX,"ra_On weekdays":"В будні дні","ra_Only following structures of objects are available:":"Доступні тільки такі структури об'єктів:","ra_Only selected":"Тільки обрані","ra_Owner group":"Група власників","ra_Owner user":"Користувач-власник","ra_Passwords are not equal!":"Паролі не бувають рівними!","ra_Place your files here or click here to open the browse dialog":"Розмістіть свої файли тут або натисніть тут, щоб відкрити діалогове вікно перегляду","ra_Please allow popups in your browser for this page!":"Будь ласка, дозвольте спливаючі вікна у вашому браузері для цієї сторінки!","ra_Please confirm":"Будь-ласка підтвердіть","ra_Please create license":"Будь ласка, створіть ліцензію","ra_Please enter the license":"Будь ласка, введіть ліцензію","ra_Please select file...":"Виберіть файл...","ra_Please select object ID...":"Виберіть ідентифікатор об'єкта...","ra_Port could be used by %s":"Порт може використовуватися %s","ra_Port is already used by %s":"Порт уже використовується %s","ra_Press ENTER Key to add new item":"Натисніть клавішу ENTER, щоб додати новий елемент","ra_Private certificate":"Приватний сертифікат",ra_Product:iX,"ra_Public certificate":"Публічний сертифікат","ra_Quality code":"якість","ra_Refresh tree":"Оновити дерево","ra_Reload files":"Перезавантажте файли",ra_Rename_Move_Copy:oX,"ra_Renew %s access":"Поновити доступ %s",ra_Repeat:rX,ra_Replace:MX,"ra_Request timed out":"Час запиту вичерпано","ra_Restrict to folder":"Обмежити папкою",ra_Root:nX,ra_Saturday:aX,ra_Save:cX,"ra_Save and close":"Зберегти та закрити","ra_Save configuration to file":"Зберегти конфігурацію у файл","ra_Save objects tree as JSON file":"Зберегти дерево об’єктів як файл JSON","ra_Select all":"Вибрати все","ra_Select color":"Виберіть колір","ra_Select predefined icon":"Виберіть попередньо визначений значок","ra_Select type of export":"Виберіть тип експорту",ra_Selected:uX,"ra_Selected %s object(s)":"Вибрані об’єкти %s","ra_Serial number (UUID)":"Серійний номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Серійний номер (UUID) "%s" у ліцензії призначений для іншого пристрою.',"ra_Session will expire in %s seconds. Continue?":"Сеанс закінчиться через %s секунд. Продовжити?","ra_Show all folders":"Показати всі папки","ra_Show lines between rows":"Показувати лінії між рядками","ra_Show/Hide object descriptions":"Показати/Сховати описи об’єктів","ra_Show/hide filter input":"Показати/сховати введення фільтра","ra_Some data are not stored. Discard?":"Деякі дані не зберігаються. Відкинути?",ra_States:NX,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Авторизацію успішно пройшло. Токен дійсний до %s та буде автоматично поновлено.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Авторизацію успішно виконано. Токен дійсний до %s, але його термін дії може закінчитися, оскільки екземпляр не запущено.","ra_Suitable license not found in license manager":"Відповідна ліцензія не знайдена в менеджері ліцензій",ra_Sunday:lX,"ra_Suppress question for next %s minutes":"Приховати запитання на наступні %s хвилин","ra_System language":"Системна мова","ra_Take browser position":"Займіть позицію з браузера","ra_Take position from system settings":"Займіть позицію в налаштуваннях системи",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Експерти можуть створювати об’єкти всюди, крім другого рівня (наприклад, «vis.0» або «javascript.0»).","ra_The page you are looking for was not found":"Сторінка, яку ви шукаєте, не знайдена","ra_The schedule will be executed every minute. Are you sure?":"Розклад буде виконуватися щохвилини. Ви впевнені?","ra_The schedule will be executed every second. Are you sure?":"Розклад буде виконуватися щосекунди. Ви впевнені?",ra_Thursday:LX,ra_Timestamp:jX,"ra_Toggle expert mode":"Перемкнути експертний режим","ra_Toggle the states view":"Перемкнути перегляд штатів","ra_Toggle view mode":"Перемкнути режим перегляду","ra_Too big":"Занадто великий","ra_Too small":"Занадто малий","ra_Transparent dialog":"Прозорий діалог",ra_Tuesday:gX,"ra_Unknown error":"Невідома помилка","ra_Unknown error!":"Невідома помилка!",ra_Update:TX,"ra_Upload file":"Завантажити файл","ra_Use all available let's encrypt certificates":"Використовуйте всі доступні сертифікати let's encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Використовуйте адаптер iobroker.acme для сертифікатів letsencrypt","ra_Use system settings for position":"Використовуйте системні налаштування для позиції","ra_Used system settings":"Використані системні налаштування","ra_User files":"Файли користувача",ra_ValidTill:yX,ra_Value:DX,ra_Version:dX,"ra_View file":"Переглянути файл","ra_View: %s":"Перегляд: %s",ra_Wednesday:zX,ra_Width:IX,ra_Yes:wX,"ra_You can export all objects or just the selected branch.":"Ви можете експортувати всі об’єкти або лише вибрану гілку.","ra_You can filter entries by entering here some text":"Ви можете фільтрувати записи, ввівши тут певний текст","ra_You can use * as wildcard":"Ви можете використовувати * як символ підстановки",ra___different__:CX,ra_aclEveryone_read_object:hX,ra_aclEveryone_read_state:AX,ra_aclEveryone_write_object:pX,ra_aclEveryone_write_state:mX,ra_aclGroup_read_object:OX,ra_aclGroup_read_state:EX,ra_aclGroup_write_object:_X,ra_aclGroup_write_state:SX,ra_aclOwner_read_object:xX,ra_aclOwner_read_state:fX,ra_aclOwner_write_object:kX,ra_aclOwner_write_state:YX,ra_buttons:QX,ra_changedFrom:UX,ra_close:vX,ra_create_boolean_state:bX,ra_create_channel:$X,ra_create_device:PX,ra_create_number_state:WX,ra_create_state:RX,ra_create_string_state:JX,ra_daysShortText:BX,ra_dow_Fr:FX,ra_dow_Mo:GX,ra_dow_Sa:HX,ra_dow_Su:VX,ra_dow_Th:ZX,ra_dow_Tu:XX,ra_dow_We:KX,ra_expertMode:qX,ra_false:eK,ra_fileType_all:tK,ra_fileType_audio:sK,ra_fileType_code:iK,ra_fileType_images:oK,ra_fileType_txt:rK,ra_fileType_video:MK,"ra_fileType_video,":"відео",ra_filter_customs:nK,ra_filter_customs_without:aK,ra_filter_func:cK,ra_filter_id:uK,ra_filter_name:NK,ra_filter_role:lK,ra_filter_room:LK,ra_filter_type:jK,"ra_import data from %s file":"Імпортувати дані з файлу %s",ra_invalidConfig:gK,ra_lastChange:TK,ra_locally:yK,ra_month_Apr:DK,ra_month_Aug:dK,ra_month_Dec:zK,ra_month_Feb:IK,ra_month_Jan:wK,ra_month_Jul:CK,ra_month_Jun:hK,ra_month_Mai:AK,ra_month_Mar:pK,ra_month_Nov:mK,ra_month_Oct:OK,ra_month_Sep:EK,ra_months_Apr:_K,ra_months_Aug:SK,ra_months_Dec:xK,ra_months_Feb:fK,ra_months_Jan:kK,ra_months_Jul:YK,ra_months_Jun:QK,ra_months_Mai:UK,ra_months_Mar:vK,ra_months_Nov:bK,ra_months_Oct:$K,ra_months_Sep:PK,"ra_no confirm for 5 mins":"без підтвердження протягом 5 хв",ra_none:WK,ra_object_changed_by:RK,ra_object_changed_by_user:JK,ra_otherConfig:BK,ra_qualityCode:FK,ra_repeat:GK,ra_select_folder_hint:HK,ra_show_all:VK,ra_state_changed_by:ZK,ra_state_changed_from:XK,ra_timestamp:KK,ra_tooltip_ack:qK,ra_tooltip_comment:eq,ra_tooltip_copyState:tq,ra_tooltip_ctrlForLink:sq,ra_tooltip_customConfig:iq,ra_tooltip_deleteObject:oq,ra_tooltip_editObject:rq,ra_tooltip_editState:Mq,ra_tooltip_expire:nq,ra_tooltip_from:aq,ra_tooltip_lc:cq,ra_tooltip_quality:uq,ra_tooltip_ts:Nq,ra_tooltip_user:lq,ra_tooltip_value:Lq,ra_true:jq,"ra_use seconds":"використовуйте секунди",ra_val:gq,"ra_via internet":"через інтернет",ra_warning_every_minute:Tq,ra_warning_every_second:yq,sc_cron:Dq,sc_date:dq,sc_dates:zq,sc_dow:Iq,sc_dows:wq,sc_every:Cq,sc_everyN_dates:hq,sc_everyN_dow:Aq,sc_everyN_dows:pq,sc_everyN_hours:mq,sc_everyN_minutes:Oq,sc_everyN_months:Eq,sc_everyN_seconds:_q,sc_every_dates:Sq,sc_every_dow:xq,sc_every_dows:fq,sc_every_hours:kq,sc_every_minutes:Yq,sc_every_months:Qq,sc_every_seconds:Uq,sc_from:vq,sc_hours:bq,sc_interval:$q,sc_intervalBetween:Pq,sc_invalid_cron:Wq,sc_minutes:Rq,sc_months:Jq,sc_once:Bq,sc_period:Fq,sc_seconds:Gq,sc_simple:Hq,sc_specific:Vq,sc_specific_dates:Zq,sc_specific_dow:Xq,sc_specific_dows:Kq,sc_specific_hours:qq,sc_specific_minutes:eee,sc_specific_months:tee,sc_specific_seconds:see,sc_time:iee,sc_to:oee,sc_wizard:ree,sch_all:Mee,sch_astroDay:nee,sch_astroNight:aee,sch_astro_dawn:cee,sch_astro_dusk:uee,sch_astro_goldenHour:Nee,sch_astro_goldenHourEnd:lee,sch_astro_nadir:Lee,sch_astro_nauticalDawn:jee,sch_astro_nauticalDusk:gee,sch_astro_night:Tee,sch_astro_nightEnd:yee,sch_astro_solarNoon:Dee,sch_astro_sunrise:dee,sch_astro_sunriseEnd:zee,sch_astro_sunset:Iee,sch_astro_sunsetStart:wee,sch_at:Cee,sch_desc_atTime:hee,sch_desc_everyDay:Aee,sch_desc_everyHour:pee,sch_desc_everyMinute:mee,sch_desc_everyMonth:Oee,sch_desc_everyNDay:Eee,sch_desc_everyNHours:_ee,sch_desc_everyNMinutes:See,sch_desc_everyNMonths:xee,sch_desc_everyNWeeks:fee,sch_desc_everyNYears:kee,sch_desc_everyWeek:Yee,sch_desc_everyYear:Qee,sch_desc_intervalFromTo:Uee,sch_desc_never:vee,sch_desc_onDate:bee,sch_desc_onDates:$ee,sch_desc_onEveryDate:Pee,sch_desc_onMonth:Wee,sch_desc_onMonths:Ree,sch_desc_onWeekday:Jee,sch_desc_onWeekdays:Bee,sch_desc_onWeekends:Fee,sch_desc_onWorkdays:Gee,sch_desc_onceInPast:Hee,sch_desc_once_on:Vee,sch_desc_validFrom:Zee,sch_desc_validFromTo:Xee,sch_desc_validTo:Kee,sch_every:qee,sch_exactTime:ete,sch_from:tte,sch_fromTo:ste,sch_intervalTime:ite,sch_invert:ote,sch_no_one:rte,sch_on:Mte,sch_period:nte,sch_periodDaily:ate,sch_periodDates:cte,sch_periodDay:ute,sch_periodEvery:Nte,sch_periodEveryDay:lte,sch_periodEveryMonth:Lte,sch_periodEveryWeek:jte,sch_periodEveryYear:gte,sch_periodHours:Tte,sch_periodMinutes:yte,sch_periodMonth:Dte,sch_periodMonthly:dte,sch_periodOnce:zte,sch_periodSpecificMonths:Ite,sch_periodWeek:wte,sch_periodWeekdays:Cte,sch_periodWeekend:hte,sch_periodWeekly:Ate,sch_periodWorkdays:pte,sch_periodYear:mte,sch_periodYearly:Ote,sch_specificTime:Ete,sch_time:_te,sch_to:Ste,sch_valid:xte,sch_validFrom:fte,sch_validTo:kte,sch_wholeDay:Yte,sch_yearEveryMonth:Qte},vte="操作",bte="附加",$te="取消",Pte="类别",Wte="勾选",Rte="删除",Jte="关",Bte="商业的",Fte="配置",Gte="连接的",Hte="继续",Vte="复制的",Zte="创建",Xte="庄稼",Kte="Delete",qte="删除",ese="丢弃",tse="断开连接",sse="错误",ise="筛选",ose="星期五",rse="纬度",Mse="登出",nse="经度",ase="信息",cse="周一",use="姓名",Nse="对象",lse="好",Lse="产品",jse="重命名/移动/复制",gse="重复",Tse="代替",yse="根",Dse="周六",dse="保存",zse="已选",Ise="状态",wse="星期日",Cse="周四",hse="时间戳记",Ase="周二",pse="更新资料",mse="有效期至",Ose="值",Ese="版本",_se="周三",Sse="宽度",xse="是的",fse="不同的",kse="每个人都可以阅读对象",Yse="每个人都可以阅读状态",Qse="每个人都可以写对象",Use="每个人都可以写状态",vse="组可以读取对象",bse="群组可以读取状态",$se="组可以写对象",Pse="组可以写状态",Wse="所有者可以读取对象",Rse="所有者可以读取状态",Jse="所有者可以写对象",Bse="所有者可以写状态",Fse="纽扣",Gse="更改为",Hse="关闭",Vse="创建布尔状态",Zse="创建频道",Xse="创建设备",Kse="创建号码状态",qse="创建状态",eie="创建字符串状态",tie="天",sie="r",iie="莫",oie="萨",rie="苏",Mie="Th",nie="Tu",aie="我们",cie="专家模式",uie="错误的",Nie="所有文件",lie="声音的",Lie="代码/JSON",jie="图片",gie="文本",Tie="视频",yie="设定值",Die="没有",die="功能",zie="ID",Iie="名称",wie="角色",Cie="房间",hie="类型",Aie="无效的设定",pie="最后一次变更",mie="本地",Oie="4月",Eie="八月",_ie="十二月",Sie="二月",xie="简",fie="七月",kie="君",Yie="迈",Qie="三月",Uie="十一月",vie="十月",bie="九月",$ie="4月",Pie="八月",Wie="十二月",Rie="二月",Jie="简",Bie="七月",Fie="君",Gie="迈",Hie="三月",Vie="十一月",Zie="十月",Xie="九月",Kie="没有任何",qie="物件变更者",eoe="对象上次更改时间为",toe="来自其他适配器%s的设置",soe="质量代码",ioe="重复",ooe="要选择文件夹,只需按住“shift”键单击文件夹即可。",roe="显示全部",Moe="状态由",noe="对象已从更改",aoe="时间戳记",coe="致谢国旗",uoe="评论",Noe="复制状态值",loe="按住 Cltr/⌘ 键打开链接",Loe="自定义设置",joe="删除物件",goe="编辑物件",Toe="编辑状态值",yoe="有效期:",Doe="从",doe="最后改变了",zoe="质量",Ioe="时间戳",woe="用户",Coe="值",hoe="真的",Aoe="值",poe="警告:CRON 作业将在指定期间内每分钟运行一次!",moe="警告:CRON 作业将在指定期间内每秒运行一次!",Ooe="周期任务",Eoe="日期",_oe="日",Soe="天",xoe="星期",foe="每",koe="每N天",Yoe="每周的第 N 天",Qoe="每周N天",Uoe="每N小时一次",voe="每N分钟",boe="每N个月",$oe="每N秒",Poe="每天",Woe="一周的每一天",Roe="一周的每一天",Joe="每小时",Boe="每分钟",Foe="每月",Goe="每秒",Hoe="从",Voe="小时",Zoe="间隔",Xoe="间隔时间",Koe="无效的 CRON",qoe="分钟",ere="月",tre="一次",sre="周期",ire="秒",ore="简单模式",rre="特定的时间",Mre="特定的日子",nre="一周中的特定日子",are="特定的一周",cre="特定的小时",ure="特定的分钟",Nre="特定的月份",lre="特定的描述",Lre="时间",jre="至",gre="向导模式",Tre="全选",yre="天文白天",Dre="天文夜晚",dre="黎明",zre="黄昏",Ire="黄金时段",wre="黄金时段结束",Cre="天底",hre="航海黎明",Are="航海黄昏",pre="夜晚",mre="夜晚结束",Ore="正午",Ere="日出",_re="日出结束",Sre="日落",xre="日落开始",fre="在",kre="的%s",Yre="每天",Qre="每小时",Ure="每分钟",vre="每月",bre="每%s天",$re="每%s小时",Pre="每%s分钟",Wre="每%s月",Rre="每%s周",Jre="每%s年",Bre="每周",Fre="每年",Gre="从%s到%s",Hre="决不",Vre="在%s的%s上",Zre="在%s和%s上",Xre="在每天",Kre="%s",qre="%s和%s",eMe="在%s上",tMe="在%s和%s上",sMe="在周末",iMe="在工作日",oMe="将不再执行,因为起始时间已经是过去的时间了。",rMe="在%s上",MMe="来自%s",nMe="从执行到",aMe="到%s",cMe="每",uMe="特定的时间",NMe="从",lMe="从到",LMe="间隔时间",jMe="倒置",gMe="取消全选",TMe="的",yMe="周期",DMe="每天",dMe="日期",zMe="天",IMe="每",wMe="每天",CMe="每月",hMe="每周",AMe="每年",pMe="小时",mMe="分钟",OMe="月",EMe="每月一次",_Me="一次",SMe="特定的月份",xMe="周",fMe="工作日",kMe="周末",YMe="每周",QMe="工作日",UMe="年",vMe="每年",bMe="特定的时间",$Me="时间",PMe="至",WMe="生效",RMe="从",JMe="至",BMe="一整天",FMe="每月",GMe={"ra_%s links from aliases":"来自别名的 %s 个链接","ra_%s object(s) processed":"已处理%s个对象","ra_%s was imported":"对象已导入","ra_Accept license":"接受许可",ra_Actions:vte,"ra_Add new child object to selected parent":"将新的子对象添加到选定的父对象","ra_Add objects tree from JSON file":"从JSON文件添加对象树","ra_Add row":"添加行","ra_Advanced options":"高级选项","ra_All items are filtered out":"所有项目都被过滤掉","ra_All objects":"所有对象",ra_Append:bte,"ra_Append %s entries or replace existing?":"追加 %s 条目还是替换现有条目?","ra_Append or replace?":"追加还是替换?","ra_Are you sure?":"你确定吗?","ra_Auto (no custom columns)":"自动(无自定义列)","ra_Back to %s":"返回“%s”","ra_Background image":"背景图像",ra_Cancel:$te,"ra_Cannot add items with set filter":"无法使用设置过滤器添加项目","ra_Cannot decode license":"无法解码许可证","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"无法确定位置:系统设置为空且浏览器中禁用了 GPS 检测",'ra_Cannot find "%s"':"找不到“%s”",'ra_Cannot read "%s"':"无法阅读“%s”","ra_Cannot read licenses: %s":"无法读取许可证:%s","ra_Cannot retrieve options, as instance is offline":"无法检索选项,因为实例处于脱机状态","ra_Cannot update attribute, because not found in the object":"无法更新属性,因为在对象中找不到","ra_Cannot upload":"无法上传",ra_Categories:Pte,"ra_Chained certificate":"链式证书","ra_Change color theme":"更改颜色主题","ra_Changed from":"更改为","ra_Channel → State":"频道→状态","ra_Check license":"检查许可证",ra_Checked:Wte,ra_Clear:Rte,"ra_Clear filter":"清除筛选","ra_Clear icon":"清除图标","ra_Clone current row":"克隆当前行",ra_Close:Jte,"ra_Collapse all nodes":"收合所有节点","ra_Collapse one step node":"折叠一级",ra_Commercial:Bte,ra_Configure:Fte,"ra_Configure visible columns":"配置可见列","ra_Confirm deletion of %s":"确认删除%s",ra_Connected:Gte,ra_Continue:Hte,ra_Copied:Vte,"ra_Copied %s":'复制的"%s"',"ra_Copy content":"复制内容",ra_Create:Zte,"ra_Create alias":"创建别名","ra_Create folder":"创建文件夹","ra_Create new folder in %s":"在%s中创建新文件夹",ra_Crop:Xte,"ra_Define CRON...":"定义 CRON...","ra_Define functions":"定义功能","ra_Define rooms":"定义房间","ra_Define schedule":"定义时间表","ra_Define schedule...":"定义时间表...",ra_Del:Kte,ra_Delete:qte,"ra_Delete current row":"删除当前行","ra_Deselect all":"全部取消选择","ra_Device → Channel → State":"设备→频道→状态",ra_Discard:ese,ra_Disconnected:tse,"ra_Do not ask for next 2 hours in this session":"本次会话中不要询问接下来的 2 个小时","ra_Do not export values of states":"不导出状态值","ra_Do not use let's encrypt":"不要使用让我们加密","ra_Double click to reset table layout":"双击重置表格布局","ra_Drag 'n' drop some files here, or click to select files":"将一些文件拖放到此处,或单击以选择文件","ra_Drop file here":"将档案放在这里","ra_Drop the files here...":"把文件放在这里...","ra_Duplicate name":"名称重复","ra_Edit ACL":"编辑访问控制列表","ra_Edit alias":"编辑别名","ra_Edit custom config":"编辑自定义配置","ra_Edit full path":"编辑完整路径","ra_Edit function":"编辑功能","ra_Edit object field":"编辑对象字段","ra_Edit role":"编辑角色","ra_Edit room":"编辑室","ra_Edit value":"编辑值","ra_Enter the code from that page here":"在此处输入该页面的代码",ra_Error:sse,"ra_Expand all nodes":"展开所有节点","ra_Expand one step node":"扩大一级","ra_Export data to %s file":"将数据导出到 %s 文件","ra_Failed to open JSON File":"无法打开JSON文件","ra_Fallback custom certificates":"后备自定义证书","ra_File is too big. Max %sk allowed. Try use SVG.":"文件太大。允许的最大字节%s数。尝试使用 SVG。",ra_Filter:ise,"ra_Filter and Data Actions":"过滤和数据操作","ra_Filter files":"过滤文件","ra_Folder name":"文件夹名称","ra_Folder → Channel → State":"文件夹→频道→状态","ra_Folder → Device → Channel → State":"文件夹→设备→频道→状态","ra_Folder → State":"文件夹→状态","ra_Folders always first":"资料夹永远优先",ra_Friday:ose,"ra_Get %s access":"获取 %s 访问权限","ra_Good luck":"祝你好运","ra_Hide empty folders":"隐藏空文件夹","ra_If no file will be created in the folder, it will disappear after the browser closed":"如果在该文件夹中未创建任何文件,则该文件将在浏览器关闭后消失","ra_If the button above does not work, you can authorize manually this app by visiting this url":"如果上面的按钮不起作用,您可以通过访问此网址手动授权此应用","ra_Import data from %s file":"从 %s 文件导入数据","ra_Import from %s":"从 %s 导入","ra_Instance %s is alive":"实例 %s 是活动的","ra_Instance %s is not alive":"实例 %s 不存在","ra_Instance is not alive":"实例不存在","ra_Invalid CRON":"无效的 CRON","ra_Invalid JSON":"JSON 无效","ra_Invalid answer from server":"来自服务器的无效答案","ra_Invalid parent folder!":"父文件夹无效!","ra_Invalid structure":"结构无效","ra_JSON editor":"JSON 编辑器","ra_Last change":"最后一次变更",ra_Latitude:rse,"ra_License %s":"许可证 %s","ra_License agreement":"许可协议","ra_License does not exist":"许可证不存在","ra_License expired on %s":"许可证已于 %s 过期",'ra_License for other product "%s"':"其他产品“%s”的许可证","ra_License is for version %s, but required version is %s.":"许可证适用于版本 %s,但所需版本为 %s。","ra_License must be converted":"许可证必须转换为更新版本。您可以在 iobroker.net 个人资料中执行此操作。","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"在许可证管理器中找不到许可证。您要从 iobroker.net 更新许可证吗?","ra_Listen on all IPs":"监听所有IP","ra_Load configuration from file":"从文件加载配置",ra_Logout:Mse,ra_Longitude:nse,'ra_May not trigger "updateLicenses"':"可能不会触发“updateLicenses”",ra_Message:ase,ra_Monday:cse,"ra_Move down":"下移","ra_Move up":"提升",ra_Name:use,"ra_No data found in file":"文件中未找到数据","ra_No one license found in license manager":"许可证管理器中未找到任何许可证","ra_No response from the backend":"后端无响应",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"非专家只能在“ 0_userdata.0”或“ alias.0”中创建新对象。","ra_Not a number":"不是数字",ra_Objects:Nse,ra_Ok:lse,"ra_On weekdays":"在工作日","ra_Only following structures of objects are available:":"仅以下对象结构可用:","ra_Only selected":"只选择","ra_Owner group":"所有者组","ra_Owner user":"所有者用户","ra_Passwords are not equal!":"密码不相等!","ra_Place your files here or click here to open the browse dialog":"将文件放在此处或单击此处打开浏览对话框","ra_Please allow popups in your browser for this page!":"请允许浏览器弹出此页面!","ra_Please confirm":"请确认","ra_Please create license":"请创建许可证","ra_Please enter the license":"请输入许可证","ra_Please select file...":"请选择文件...","ra_Please select object ID...":"请选择对象ID ...","ra_Port could be used by %s":"%s 可以使用端口","ra_Port is already used by %s":"端口已被 %s 使用","ra_Press ENTER Key to add new item":"按 ENTER 键添加新项目","ra_Private certificate":"私有证书",ra_Product:Lse,"ra_Public certificate":"公共证书","ra_Quality code":"质量代码","ra_Refresh tree":"刷新树","ra_Reload files":"重新载入文件",ra_Rename_Move_Copy:jse,"ra_Renew %s access":"续订 %s 访问权限",ra_Repeat:gse,ra_Replace:Tse,"ra_Request timed out":"请求超时","ra_Restrict to folder":"限制到文件夹",ra_Root:yse,ra_Saturday:Dse,ra_Save:dse,"ra_Save and close":"保存并关闭","ra_Save configuration to file":"将配置保存到文件","ra_Save objects tree as JSON file":"将对象树另存为JSON文件","ra_Select all":"全选","ra_Select color":"选择颜色","ra_Select predefined icon":"选择预定义图标","ra_Select type of export":"选择导出类型",ra_Selected:zse,"ra_Selected %s object(s)":"选定的 %s 个对象","ra_Serial number (UUID)":"序列号 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"许可证中的序列号 (UUID)“%s”用于其他设备。","ra_Session will expire in %s seconds. Continue?":"会话将在 %s 秒后过期。是否继续?","ra_Show all folders":"显示所有文件夹","ra_Show lines between rows":"显示行之间的线","ra_Show/Hide object descriptions":"显示/隐藏对象描述","ra_Show/hide filter input":"显示/隐藏过滤器输入","ra_Some data are not stored. Discard?":"部分数据未存储。丢弃?",ra_States:Ise,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"授权成功。令牌有效期至 %s,并将自动续订。","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"授权成功。令牌有效期至 %s,但由于实例未运行,令牌可能会过期。","ra_Suitable license not found in license manager":"在许可证管理器中找不到合适的许可证",ra_Sunday:wse,"ra_Suppress question for next %s minutes":"在接下来的%s分钟内取消提问","ra_System language":"系统语言","ra_Take browser position":"从浏览器获取位置","ra_Take position from system settings":"从系统设置中获取位置",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"专家可以在任何地方创建对象,但要从第二层开始(例如“ vis.0”或“ javascript.0”)。","ra_The page you are looking for was not found":"未找到您要查找的页面","ra_The schedule will be executed every minute. Are you sure?":"该计划将每分钟执行一次。您确定吗?","ra_The schedule will be executed every second. Are you sure?":"该计划将每秒执行一次。你确定吗?",ra_Thursday:Cse,ra_Timestamp:hse,"ra_Toggle expert mode":"切换专家模式","ra_Toggle the states view":"切换状态视图","ra_Toggle view mode":"切换检视模式","ra_Too big":"太大","ra_Too small":"太小","ra_Transparent dialog":"透明对话框",ra_Tuesday:Ase,"ra_Unknown error":"未知错误","ra_Unknown error!":"未知错误!",ra_Update:pse,"ra_Upload file":"上传文件","ra_Use all available let's encrypt certificates":"使用所有可用的让我们加密证书","ra_Use iobroker.acme adapter for letsencrypt certificates":"使用 iobroker.acme 适配器获取 letsencrypt 证书","ra_Use system settings for position":"使用系统设置定位","ra_Used system settings":"使用的系统设置","ra_User files":"用户档案",ra_ValidTill:mse,ra_Value:Ose,ra_Version:Ese,"ra_View file":"查看文件","ra_View: %s":"查看:%s",ra_Wednesday:_se,ra_Width:Sse,ra_Yes:xse,"ra_You can export all objects or just the selected branch.":"您可以导出所有对象或仅导出选定的分支。","ra_You can filter entries by entering here some text":"您可以通过在此处输入一些文本来过滤条目","ra_You can use * as wildcard":"您可以使用 * 作为通配符",ra___different__:fse,ra_aclEveryone_read_object:kse,ra_aclEveryone_read_state:Yse,ra_aclEveryone_write_object:Qse,ra_aclEveryone_write_state:Use,ra_aclGroup_read_object:vse,ra_aclGroup_read_state:bse,ra_aclGroup_write_object:$se,ra_aclGroup_write_state:Pse,ra_aclOwner_read_object:Wse,ra_aclOwner_read_state:Rse,ra_aclOwner_write_object:Jse,ra_aclOwner_write_state:Bse,ra_buttons:Fse,ra_changedFrom:Gse,ra_close:Hse,ra_create_boolean_state:Vse,ra_create_channel:Zse,ra_create_device:Xse,ra_create_number_state:Kse,ra_create_state:qse,ra_create_string_state:eie,ra_daysShortText:tie,ra_dow_Fr:sie,ra_dow_Mo:iie,ra_dow_Sa:oie,ra_dow_Su:rie,ra_dow_Th:Mie,ra_dow_Tu:nie,ra_dow_We:aie,ra_expertMode:cie,ra_false:uie,ra_fileType_all:Nie,ra_fileType_audio:lie,ra_fileType_code:Lie,ra_fileType_images:jie,ra_fileType_txt:gie,ra_fileType_video:Tie,"ra_fileType_video,":"视频",ra_filter_customs:yie,ra_filter_customs_without:Die,ra_filter_func:die,ra_filter_id:zie,ra_filter_name:Iie,ra_filter_role:wie,ra_filter_room:Cie,ra_filter_type:hie,"ra_import data from %s file":"从 %s 文件导入数据",ra_invalidConfig:Aie,ra_lastChange:pie,ra_locally:mie,ra_month_Apr:Oie,ra_month_Aug:Eie,ra_month_Dec:_ie,ra_month_Feb:Sie,ra_month_Jan:xie,ra_month_Jul:fie,ra_month_Jun:kie,ra_month_Mai:Yie,ra_month_Mar:Qie,ra_month_Nov:Uie,ra_month_Oct:vie,ra_month_Sep:bie,ra_months_Apr:$ie,ra_months_Aug:Pie,ra_months_Dec:Wie,ra_months_Feb:Rie,ra_months_Jan:Jie,ra_months_Jul:Bie,ra_months_Jun:Fie,ra_months_Mai:Gie,ra_months_Mar:Hie,ra_months_Nov:Vie,ra_months_Oct:Zie,ra_months_Sep:Xie,"ra_no confirm for 5 mins":"5分钟内无需确认",ra_none:Kie,ra_object_changed_by:qie,ra_object_changed_by_user:eoe,ra_otherConfig:toe,ra_qualityCode:soe,ra_repeat:ioe,ra_select_folder_hint:ooe,ra_show_all:roe,ra_state_changed_by:Moe,ra_state_changed_from:noe,ra_timestamp:aoe,ra_tooltip_ack:coe,ra_tooltip_comment:uoe,ra_tooltip_copyState:Noe,ra_tooltip_ctrlForLink:loe,ra_tooltip_customConfig:Loe,ra_tooltip_deleteObject:joe,ra_tooltip_editObject:goe,ra_tooltip_editState:Toe,ra_tooltip_expire:yoe,ra_tooltip_from:Doe,ra_tooltip_lc:doe,ra_tooltip_quality:zoe,ra_tooltip_ts:Ioe,ra_tooltip_user:woe,ra_tooltip_value:Coe,ra_true:hoe,"ra_use seconds":"用秒",ra_val:Aoe,"ra_via internet":"通过互联网",ra_warning_every_minute:poe,ra_warning_every_second:moe,sc_cron:Ooe,sc_date:Eoe,sc_dates:_oe,sc_dow:Soe,sc_dows:xoe,sc_every:foe,sc_everyN_dates:koe,sc_everyN_dow:Yoe,sc_everyN_dows:Qoe,sc_everyN_hours:Uoe,sc_everyN_minutes:voe,sc_everyN_months:boe,sc_everyN_seconds:$oe,sc_every_dates:Poe,sc_every_dow:Woe,sc_every_dows:Roe,sc_every_hours:Joe,sc_every_minutes:Boe,sc_every_months:Foe,sc_every_seconds:Goe,sc_from:Hoe,sc_hours:Voe,sc_interval:Zoe,sc_intervalBetween:Xoe,sc_invalid_cron:Koe,sc_minutes:qoe,sc_months:ere,sc_once:tre,sc_period:sre,sc_seconds:ire,sc_simple:ore,sc_specific:rre,sc_specific_dates:Mre,sc_specific_dow:nre,sc_specific_dows:are,sc_specific_hours:cre,sc_specific_minutes:ure,sc_specific_months:Nre,sc_specific_seconds:lre,sc_time:Lre,sc_to:jre,sc_wizard:gre,sch_all:Tre,sch_astroDay:yre,sch_astroNight:Dre,sch_astro_dawn:dre,sch_astro_dusk:zre,sch_astro_goldenHour:Ire,sch_astro_goldenHourEnd:wre,sch_astro_nadir:Cre,sch_astro_nauticalDawn:hre,sch_astro_nauticalDusk:Are,sch_astro_night:pre,sch_astro_nightEnd:mre,sch_astro_solarNoon:Ore,sch_astro_sunrise:Ere,sch_astro_sunriseEnd:_re,sch_astro_sunset:Sre,sch_astro_sunsetStart:xre,sch_at:fre,sch_desc_atTime:kre,sch_desc_everyDay:Yre,sch_desc_everyHour:Qre,sch_desc_everyMinute:Ure,sch_desc_everyMonth:vre,sch_desc_everyNDay:bre,sch_desc_everyNHours:$re,sch_desc_everyNMinutes:Pre,sch_desc_everyNMonths:Wre,sch_desc_everyNWeeks:Rre,sch_desc_everyNYears:Jre,sch_desc_everyWeek:Bre,sch_desc_everyYear:Fre,sch_desc_intervalFromTo:Gre,sch_desc_never:Hre,sch_desc_onDate:Vre,sch_desc_onDates:Zre,sch_desc_onEveryDate:Xre,sch_desc_onMonth:Kre,sch_desc_onMonths:qre,sch_desc_onWeekday:eMe,sch_desc_onWeekdays:tMe,sch_desc_onWeekends:sMe,sch_desc_onWorkdays:iMe,sch_desc_onceInPast:oMe,sch_desc_once_on:rMe,sch_desc_validFrom:MMe,sch_desc_validFromTo:nMe,sch_desc_validTo:aMe,sch_every:cMe,sch_exactTime:uMe,sch_from:NMe,sch_fromTo:lMe,sch_intervalTime:LMe,sch_invert:jMe,sch_no_one:gMe,sch_on:TMe,sch_period:yMe,sch_periodDaily:DMe,sch_periodDates:dMe,sch_periodDay:zMe,sch_periodEvery:IMe,sch_periodEveryDay:wMe,sch_periodEveryMonth:CMe,sch_periodEveryWeek:hMe,sch_periodEveryYear:AMe,sch_periodHours:pMe,sch_periodMinutes:mMe,sch_periodMonth:OMe,sch_periodMonthly:EMe,sch_periodOnce:_Me,sch_periodSpecificMonths:SMe,sch_periodWeek:xMe,sch_periodWeekdays:fMe,sch_periodWeekend:kMe,sch_periodWeekly:YMe,sch_periodWorkdays:QMe,sch_periodYear:UMe,sch_periodYearly:vMe,sch_specificTime:bMe,sch_time:$Me,sch_to:PMe,sch_valid:WMe,sch_validFrom:RMe,sch_validTo:JMe,sch_wholeDay:BMe,sch_yearEveryMonth:FMe},HMe={en:ey,de:uw,ru:zp,pt:__,nl:P5,fr:Xv,it:n$,es:yB,pl:mZ,uk:Ute,"zh-cn":GMe},VMe=` html { height: 100%; } @@ -294,7 +294,7 @@ body { background-color: #58c458; } } -`;function HMe(){try{return window.self!==window.top}catch{return!0}}class At extends Ts{socket;isIFrame=HMe();instance;adapterName;instanceId;newReact;encryptedFields;sentryDSN;alertDialogRendered;_secret;_systemConfig;savedNative;common=null;sentryStarted=!1;sentryInited=!1;resizeTimer=null;constructor(e,t){const s=e.Connection||(t==null?void 0:t.Connection)||je;if(!window.document.getElementById("generic-app-iobroker-component")){const l=window.document.createElement("style");l.setAttribute("id","generic-app-iobroker-component"),l.innerHTML=GMe,window.document.head.appendChild(l)}if(!At.isWeb()&&window.io&&window.location.port==="3000")try{const l=new window.SocketClient;delete window.io,window.io=l}catch{}super(e),k4();const o=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),r={};o.trim().split("&").filter(l=>l.trim()).forEach(l=>{const c=l.split("=");r[c[0]]=c.length===2?c[1]:!0,r[c[0]]==="true"?r[c[0]]=!0:r[c[0]]==="false"&&(r[c[0]]=!1)}),this.instance=(t==null?void 0:t.instance)??e.instance??(r.instance!==void 0?parseInt(r.instance,10)||0:parseInt(window.location.search.slice(1),10)||0);const M=window.location.pathname.split("/");this.adapterName=(t==null?void 0:t.adapterName)||e.adapterName||window.adapterName||M[M.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=r.newReact===!0;const n=Ts.getLocation();n.tab=n.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";const u=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:u,themeName:this.getThemeName(u),themeType:this.getThemeType(u),bottomButtons:(t&&t.bottomButtons)===!1?!1:(e==null?void 0:e.bottomButtons)!==!1,width:At.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});const N=FMe;t!=null&&t.translations?Object.keys(t.translations).forEach(l=>{t.translations&&(N[l]=Object.assign(N[l],t.translations[l]||{}))}):e.translations&&Object.keys(e.translations).forEach(l=>{e.translations&&(N[l]=Object.assign(N[l],e.translations[l]||{}))}),d.setTranslations(N),this.savedNative={},this.encryptedFields=e.encryptedFields||(t==null?void 0:t.encryptedFields)||[],this.sentryDSN=t&&t.sentryDSN||e.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.iobOldAlert||(window.iobOldAlert=window.alert),window.alert=l=>{if(!this.alertDialogRendered){window.iobOldAlert(l);return}l!=null&&l.toString().toLowerCase().includes("error")?(console.error(l),this.showAlert(l.toString(),"error")):(console.log(l),this.showAlert(l.toString(),"info"))},this.socket=new s({...(e==null?void 0:e.socket)||(t==null?void 0:t.socket),name:this.adapterName,doNotLoadAllObjects:t==null?void 0:t.doNotLoadAllObjects,onProgress:l=>{l===Re.CONNECTING?this.setState({connected:!1}):l===Re.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(l=>(this._secret=typeof l<"u"&&l.native&&l.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(l==null?void 0:l.common)||{},this.socket.getObject(this.instanceId))).then(async l=>{var D,z;let c;const L=l,T=((D=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:D.val)!==!1&&((z=this._systemConfig)==null?void 0:z.diag)!=="none"&&(L==null?void 0:L.common)&&L.common.name&&L.common.version&&!L.common.disableDataReporting&&window.location.host!=="localhost:3000";!this.sentryStarted&&this.sentryDSN&&T&&(this.sentryStarted=!0,f4({dsn:this.sentryDSN,release:`iobroker.${L.common.name}@${L.common.version}`,integrations:[$n()]}),console.log("Sentry initialized")),!this.sentryInited&&T&&(this.sentryInited=!0,c=this.socket.getObject("system.meta.uuid").then(h=>{h&&h.native&&h.native.uuid&&ot().setUser({id:h.native.uuid})})),c=c instanceof Promise?c:Promise.resolve(),c.then(()=>{L?(this.common=L==null?void 0:L.common,this.onPrepareLoad(L.native,L.encryptedNative),this.savedNative=JSON.parse(JSON.stringify(L.native)),this.setState({native:L.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(l=>window.alert(`Cannot settings: ${l}`))},onError:l=>{console.error(l),this.showError(l)}})}static isWeb(){return window.socketUrl!==void 0}showAlert(e,t){t!=="error"&&t!=="warning"&&t!=="info"&&t!=="success"&&(t="info"),this.setState({_alert:!0,_alertType:t,_alertMessage:e})}renderAlertSnackbar(){return this.alertDialogRendered=!0,a.createElement(g.Snackbar,{style:this.state._alertType==="error"?{backgroundColor:"#f44336"}:this.state._alertType==="success"?{backgroundColor:"#4caf50"}:void 0,open:this.state._alert,autoHideDuration:6e3,onClose:(e,t)=>t!=="clickaway"&&this.setState({_alert:!1}),message:this.state._alertMessage})}onSystemConfigChanged=(e,t)=>{var s,o;t&&e==="system.config"&&(this.socket.systemLang!==(t==null?void 0:t.common.language)&&(this.socket.systemLang=(t==null?void 0:t.common.language)||"en",d.setLanguage(this.socket.systemLang)),((s=this._systemConfig)==null?void 0:s.expertMode)!==!!((o=t==null?void 0:t.common)!=null&&o.expertMode)?(this._systemConfig=(t==null?void 0:t.common)||{},this.setState({expertMode:this.getExpertMode()})):this._systemConfig=(t==null?void 0:t.common)||{})};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),window.iobOldAlert&&(window.alert=window.iobOldAlert,delete window.iobOldAlert),super.componentWillUnmount()}onReceiveMessage=e=>{if(e!=null&&e.data)if(e.data==="updateTheme"){const t=S.getThemeName();S.setThemeName(S.getThemeName());const s=this.createTheme(t);this.setState({theme:s,themeName:this.getThemeName(s),themeType:this.getThemeType(s)},()=>{this.props.onThemeChange&&this.props.onThemeChange(t),this.onThemeChanged&&this.onThemeChanged(t)})}else e.data==="updateExpertMode"?this.onToggleExpertMode&&this.onToggleExpertMode(this.getExpertMode()):e.data!=="chartReady"&&console.debug(`Received unknown message: "${JSON.stringify(e.data)}". May be it will be processed later`)};onResize=()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.setState({width:At.getWidth()})},200)};static getWidth(){const e={xs:0,sm:600,md:960,lg:1280,xl:1920},t=window.innerWidth;return Object.keys(e).reverse().find(r=>t>=e[r])||"xs"}createTheme(e){return nc(S.getThemeName(e))}getThemeName(e){return e.name}getThemeType(e){return e.palette.mode}onThemeChanged(e){}onToggleExpertMode(e){}toggleTheme(e){const t=this.state.themeName;if(e=e||(t==="dark"||t==="blue"||t==="colored"?"light":"dark"),e!==t){S.setThemeName(e);const s=this.createTheme(e);this.setState({theme:s,themeName:this.getThemeName(s),themeType:this.getThemeType(s)},()=>{this.props.onThemeChange&&this.props.onThemeChange(e||"light"),this.onThemeChanged&&this.onThemeChanged(e||"light")})}}getSystemConfig(){return this.socket.getSystemConfig()}getExpertMode(){var e;return window.sessionStorage.getItem("App.expertMode")==="true"||!!((e=this._systemConfig)!=null&&e.expertMode)}onConnectionReady(){}encrypt(e){let t="";if(this._secret)for(let s=0;s{e[s]&&(e[s]=this.encrypt(e[s]))}),!0}onPrepareLoad(e,t){var s;(s=this.encryptedFields)==null||s.forEach(o=>{e[o]&&(e[o]=this.decrypt(e[o]))}),t==null||t.forEach(o=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(o)&&this.encryptedFields.push(o),e[o]&&(e[o]=this.decrypt(e[o]))})}async getExtendableInstances(){try{const e=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.香");return Object.values(e).filter(t=>{var s;return!!((s=t==null?void 0:t.common)!=null&&s.webExtendable)})}catch{return[]}}async getIpAddresses(e){var r;const t=await this.socket.getHostByIp(e||((r=this.common)==null?void 0:r.host)||""),s=t.find(M=>M.address==="0.0.0.0");s&&(s.name=`[IPv4] 0.0.0.0 - ${d.t("ra_Listen on all IPs")}`);const o=t.find(M=>M.address==="::");return o&&(o.name=`[IPv4] :: - ${d.t("ra_Listen on all IPs")}`),t}onSave(e){let t;if(this.state.isConfigurationError){this.setState({errorText:this.state.isConfigurationError});return}this.socket.getObject(this.instanceId).then(s=>{t=s||{};for(const o in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,o)&&(this.state.native[o]===null?t.native[o]=null:this.state.native[o]!==void 0?t.native[o]=JSON.parse(JSON.stringify(this.state.native[o])):delete t.native[o]);if(this.state.common)for(const o in this.state.common)this.state.common[o]===null?t.common[o]=null:this.state.common[o]!==void 0?t.common[o]=JSON.parse(JSON.stringify(this.state.common[o])):delete t.common[o];return this.onPrepareSave(t.native)!==!1?this.socket.setObject(this.instanceId,t):Promise.reject(new Error("Invalid configuration"))}).then(()=>{this.savedNative=t.native,globalThis.changed=!1;try{window.parent.postMessage("nochange","*")}catch{}this.setState({changed:!1},()=>{e&&At.onClose()})}).catch(s=>console.error(`Cannot save configuration: ${s}`))}renderToast(){return this.state.toast?a.createElement(g.Snackbar,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:a.createElement("span",{id:"message-id"},this.state.toast),action:[a.createElement(g.IconButton,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>this.setState({toast:""}),size:"large"},a.createElement(m.Close,null))]}):null}static onClose(){if(typeof window.parent<"u"&&window.parent)try{window.parent.$iframeDialog&&typeof window.parent.$iframeDialog.close=="function"?window.parent.$iframeDialog.close():window.parent.postMessage("close","*")}catch{window.parent.postMessage("close","*")}}renderError(){return this.state.errorText?a.createElement(Xn,{text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}getIsChanged(e){e=e||this.state.native;const t=JSON.stringify(e)!==JSON.stringify(this.savedNative);return globalThis.changed=t,t}onLoadConfig(e){JSON.stringify(e)!==JSON.stringify(this.state.native)&&this.setState({native:e,changed:this.getIsChanged(e)})}setConfigurationError(e){this.state.isConfigurationError!==e&&this.setState({isConfigurationError:e})}renderSaveCloseButtons(){return!this.state.confirmClose&&!this.state.bottomButtons?null:a.createElement(a.Fragment,null,this.state.bottomButtons?a.createElement(W4,{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:e=>this.onSave(e),onClose:()=>{this.state.changed?this.setState({confirmClose:!0}):At.onClose()},error:!!this.state.isConfigurationError}):null,this.state.confirmClose?a.createElement(Zn,{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:e=>this.setState({confirmClose:!1},()=>e&&At.onClose())}):null)}_updateNativeValue(e,t,s){typeof t!="object"&&(t=t.split("."));const o=t.shift()||"";if(!t.length)return s&&typeof s=="object"?JSON.stringify(e[o])!==JSON.stringify(s)?(e[o]=s,!0):!1:e[o]!==s?(e[o]=s,!0):!1;if(e[o]=e[o]||{},typeof e[o]!="object")throw new Error(`attribute ${o} is no object, but ${typeof e[o]}`);return this._updateNativeValue(e[o],t,s)}updateNativeValue(e,t,s){const o=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(o,e,t)){const r=this.getIsChanged(o);if(r!==this.state.changed)try{window.parent.postMessage(r?"change":"nochange","*")}catch{}this.setState({native:o,changed:r},s)}}showError(e){this.setState({errorText:e})}showToast(e){this.setState({toast:e})}renderHelperDialogs(){return a.createElement(a.Fragment,null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar())}render(){return this.state.loaded?a.createElement("div",{className:"App"},this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar()):a.createElement(Q4,{themeType:this.state.themeType})}}const Qe={color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{mt:"16px",p:"5px",backgroundColor:"background.paper",borderRadius:"1px",boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{"& .MuiPaper-root":{textAlign:"right",backgroundColor:"#00000000",boxShadow:"none"}},popoverList:{padding:0},closeButton:i=>({backgroundColor:`${i.palette.background.paper} !important`,borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:`${i.palette.secondary.main} !important`}}),textDense:{mt:0,mb:0},iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}};class Ls extends b.Component{constructor(e){super(e),this.state={displayColorPicker:!1,color:this.props.value||this.props.color||"",anchorEl:null}}handleClick=e=>{this.setState({displayColorPicker:!this.state.displayColorPicker,anchorEl:this.state.displayColorPicker?null:e.currentTarget})};handleClose=()=>{this.setState({displayColorPicker:!1,anchorEl:null})};static getColor(e,t){if(e&&typeof e=="object"){const s=e;if(s.rgb)return t?`#${s.rgb.r.toString(16).padStart(2,"0")}${s.rgb.g.toString(16).padStart(2,"0")}${s.rgb.b.toString(16).padStart(2,"0")}`:`rgba(${s.rgb.r},${s.rgb.g},${s.rgb.b},${s.rgb.a})`;const o=e;return t?`#${o.r.toString(16).padStart(2,"0")}${o.g.toString(16).padStart(2,"0")}${o.b.toString(16).padStart(2,"0")}`:`rgba(${o.r},${o.g},${o.b},${o.a})`}return typeof e=="string"?t?Ls.rgb2hex(e||""):e||"":""}static rgb2hex(e){const t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(t){const s=parseInt(t[1],10).toString(16).padStart(2,"0"),o=parseInt(t[2],10).toString(16).padStart(2,"0"),r=parseInt(t[3],10).toString(16).padStart(2,"0");return(t==null?void 0:t.length)===4?`#${s}${o}${r}`:e}return e}handleChange=e=>{this.setState({color:e},()=>this.props.onChange&&this.props.onChange(Ls.getColor(e)))};componentDidUpdate(e,t){const s=Ls.getColor(this.props.color||this.props.value||"");s!==t.color&&this.setState({color:s})}renderCustomPalette(){return this.props.customPalette?a.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(e=>a.createElement(g.Button,{style:Qe.button,key:e,onClick:()=>{this.handleChange(e),setTimeout(()=>this.handleClose(),300)}},a.createElement("div",{style:{...Qe.iconButton,background:e}})))):null}render(){var s;const e={...this.props.style||{}};e.position="relative";const{color:t}=this.state;return a.createElement(g.Box,{component:"div",style:e,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:a.createElement(g.TextField,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",label:this.props.label||this.props.name,value:t||"",margin:"dense",sx:{"&.MuiFormControl-root":Qe.textDense,width:t?"calc(100% - 80px)":"calc(100% - 56px)",mr:t?void 0:1},onChange:o=>this.handleChange(o.target.value)}),!this.props.noInputField&&t?a.createElement(g.IconButton,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?Qe.delButton:void 0},a.createElement(m.Delete,null)):null,a.createElement(g.Box,{component:"div",onClick:o=>!this.props.disabled&&this.handleClick(o),title:d.t("ra_Select color"),sx:{...Qe.swatch,...this.props.disabled?Qe.swatchDisabled:void 0,background:t?void 0:"transparent",border:t?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField||!(this.props.label||this.props.name)?0:void 0}},a.createElement("div",{style:{...Qe.color,background:Ls.getColor(t),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?a.createElement(g.Menu,{sx:{...Qe.popover,"&. MuiMenu-list":Qe.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},a.createElement(tc,{color:this.state.color||void 0,onChangeComplete:o=>this.handleChange(o.rgb),styles:{default:{picker:{backgroundColor:((s=this.props.theme)==null?void 0:s.palette.background.paper)||"#888"}}}}),t&&this.props.noInputField?a.createElement(g.IconButton,{sx:Qe.closeButton,onClick:()=>this.handleChange("")},a.createElement(m.Delete,null)):null,a.createElement(g.IconButton,{sx:Qe.closeButton,onClick:()=>this.handleClose()},a.createElement(m.Close,null)),this.renderCustomPalette()):null)}}var Kn={exports:{}};(function(i,e){(function(s,o){i.exports=o()})(globalThis,()=>(()=>{var t={949:(M,n,u)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CronParser=void 0;var N=u(515),l=function(){function c(L,j,T){j===void 0&&(j=!0),T===void 0&&(T=!1),this.expression=L,this.dayOfWeekStartIndexZero=j,this.monthStartIndexZero=T}return c.prototype.parse=function(){var L,j,T=(L=this.expression)!==null&&L!==void 0?L:"";if(T==="@reboot")return j=["@reboot","","","","","",""],j;if(T.startsWith("@")){var D=this.parseSpecial(this.expression);j=this.extractParts(D)}else j=this.extractParts(this.expression);return this.normalize(j),this.validate(j),j},c.prototype.parseSpecial=function(L){var j={"@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 * * * *","@reboot":"@reboot"},T=j[L];if(!T)throw new Error("Unknown special expression.");return T},c.prototype.extractParts=function(L){if(!this.expression)throw new Error("cron expression is empty");for(var j=L.trim().split(/[ ]+/),T=0;T7)throw new Error("Expression has ".concat(j.length," parts; too many!"));return j},c.prototype.normalize=function(L){var j=this;if(L[3]=L[3].replace("?","*"),L[5]=L[5].replace("?","*"),L[2]=L[2].replace("?","*"),L[0].indexOf("0/")==0&&(L[0]=L[0].replace("0/","*/")),L[1].indexOf("0/")==0&&(L[1]=L[1].replace("0/","*/")),L[2].indexOf("0/")==0&&(L[2]=L[2].replace("0/","*/")),L[3].indexOf("1/")==0&&(L[3]=L[3].replace("1/","*/")),L[4].indexOf("1/")==0&&(L[4]=L[4].replace("1/","*/")),L[6].indexOf("1/")==0&&(L[6]=L[6].replace("1/","*/")),L[5]=L[5].replace(/(^\d)|([^#/\s]\d)/g,function(C){var I=C.replace(/\D/,""),_=I;return j.dayOfWeekStartIndexZero?I=="7"&&(_="0"):_=(parseInt(I)-1).toString(),C.replace(I,_)}),L[5]=="L"&&(L[5]="6"),L[3]=="?"&&(L[3]="*"),L[3].indexOf("W")>-1&&(L[3].indexOf(",")>-1||L[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 T={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var D in T)L[5]=L[5].replace(new RegExp(D,"gi"),T[D].toString());L[4]=L[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(C){var I=C.replace(/\D/,""),_=I;return j.monthStartIndexZero&&(_=(parseInt(I)+1).toString()),C.replace(I,_)});var z={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 h in z)L[4]=L[4].replace(new RegExp(h,"gi"),z[h].toString());L[0]=="0"&&(L[0]=""),!/\*|\-|\,|\//.test(L[2])&&(/\*|\//.test(L[1])||/\*|\//.test(L[0]))&&(L[2]+="-".concat(L[2]));for(var O=0;O-1&&!/^\*|\-|\,/.test(L[O])){var p=null;switch(O){case 4:p="12";break;case 5:p="6";break;case 6:p="9999";break;default:p=null;break}if(p!==null){var E=L[O].split("/");L[O]="".concat(E[0],"-").concat(p,"/").concat(E[1])}}},c.prototype.validate=function(L){var j="0-9,\\-*/";this.validateOnlyExpectedCharactersFound(L[0],j),this.validateOnlyExpectedCharactersFound(L[1],j),this.validateOnlyExpectedCharactersFound(L[2],j),this.validateOnlyExpectedCharactersFound(L[3],"0-9,\\-*/LW"),this.validateOnlyExpectedCharactersFound(L[4],j),this.validateOnlyExpectedCharactersFound(L[5],"0-9,\\-*/L#"),this.validateOnlyExpectedCharactersFound(L[6],j),this.validateAnyRanges(L)},c.prototype.validateAnyRanges=function(L){N.default.secondRange(L[0]),N.default.minuteRange(L[1]),N.default.hourRange(L[2]),N.default.dayOfMonthRange(L[3]),N.default.monthRange(L[4],this.monthStartIndexZero),N.default.dayOfWeekRange(L[5],this.dayOfWeekStartIndexZero)},c.prototype.validateOnlyExpectedCharactersFound=function(L,j){var T=L.match(new RegExp("[^".concat(j,"]+"),"gi"));if(T&&T.length)throw new Error("Expression contains invalid values: '".concat(T.toString(),"'"))},c}();n.CronParser=l},333:(M,n,u)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ExpressionDescriptor=void 0;var N=u(823),l=u(949),c=function(){function L(j,T){if(this.expression=j,this.options=T,this.expressionParts=new Array(5),!this.options.locale&&L.defaultLocale&&(this.options.locale=L.defaultLocale),!L.locales[this.options.locale]){var D=Object.keys(L.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(D,"'.")),this.options.locale=D}this.i18n=L.locales[this.options.locale],T.use24HourTimeFormat===void 0&&(T.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return L.toString=function(j,T){var D=T===void 0?{}:T,z=D.throwExceptionOnParseError,h=z===void 0?!0:z,O=D.verbose,p=O===void 0?!1:O,E=D.dayOfWeekStartIndexZero,C=E===void 0?!0:E,I=D.monthStartIndexZero,_=I===void 0?!1:I,k=D.use24HourTimeFormat,f=D.locale,P=f===void 0?null:f,Y={throwExceptionOnParseError:h,verbose:p,dayOfWeekStartIndexZero:C,monthStartIndexZero:_,use24HourTimeFormat:k,locale:P};Y.tzOffset&&console.warn("'tzOffset' option has been deprecated and is no longer supported.");var V=new L(j,Y);return V.getFullDescription()},L.initialize=function(j,T){T===void 0&&(T="en"),L.specialCharacters=["/","-",",","*"],L.defaultLocale=T,j.load(L.locales)},L.prototype.getFullDescription=function(){var j,T,D="";try{var z=new l.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=z.parse(),this.expressionParts[0]==="@reboot")return((T=(j=this.i18n).atReboot)===null||T===void 0?void 0:T.call(j))||"Run once, at startup";var h=this.getTimeOfDayDescription(),O=this.getDayOfMonthDescription(),p=this.getMonthDescription(),E=this.getDayOfWeekDescription(),C=this.getYearDescription();D+=h+O+E+p+C,D=this.transformVerbosity(D,!!this.options.verbose),D=D.charAt(0).toLocaleUpperCase()+D.substr(1)}catch(I){if(!this.options.throwExceptionOnParseError)D=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(I)}return D},L.prototype.getTimeOfDayDescription=function(){var j=this.expressionParts[0],T=this.expressionParts[1],D=this.expressionParts[2],z="";if(!N.StringUtilities.containsAny(T,L.specialCharacters)&&!N.StringUtilities.containsAny(D,L.specialCharacters)&&!N.StringUtilities.containsAny(j,L.specialCharacters))z+=this.i18n.atSpace()+this.formatTime(D,T,j);else if(!j&&T.indexOf("-")>-1&&!(T.indexOf(",")>-1)&&!(T.indexOf("/")>-1)&&!N.StringUtilities.containsAny(D,L.specialCharacters)){var h=T.split("-");z+=N.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(D,h[0],""),this.formatTime(D,h[1],""))}else if(!j&&D.indexOf(",")>-1&&D.indexOf("-")==-1&&D.indexOf("/")==-1&&!N.StringUtilities.containsAny(T,L.specialCharacters)){var O=D.split(",");z+=this.i18n.at();for(var p=0;p-1?O=z.substring(0,z.indexOf("#")):z.indexOf("L")>-1&&(O=O.replace("L",""));var p=parseInt(O),E=j.i18n.daysOfTheWeekInCase?j.i18n.daysOfTheWeekInCase(h)[p]:T[p];if(z.indexOf("#")>-1){var C=null,I=z.substring(z.indexOf("#")+1),_=z.substring(0,z.indexOf("#"));switch(I){case"1":C=j.i18n.first(_);break;case"2":C=j.i18n.second(_);break;case"3":C=j.i18n.third(_);break;case"4":C=j.i18n.fourth(_);break;case"5":C=j.i18n.fifth(_);break}E=C+" "+E}return E},function(z){return parseInt(z)==1?"":N.StringUtilities.format(j.i18n.commaEveryX0DaysOfTheWeek(z),z)},function(z){var h=z.substring(0,z.indexOf("-")),O=j.expressionParts[3]!="*";return O?j.i18n.commaAndX0ThroughX1(h):j.i18n.commaX0ThroughX1(h)},function(z){var h=null;if(z.indexOf("#")>-1){var O=z.substring(z.indexOf("#")+1),p=z.substring(0,z.indexOf("#"));h=j.i18n.commaOnThe(O,p).trim()+j.i18n.spaceX0OfTheMonth()}else if(z.indexOf("L")>-1)h=j.i18n.commaOnTheLastX0OfTheMonth(z.replace("L",""));else{var E=j.expressionParts[3]!="*";h=E?j.i18n.commaAndOnX0():j.i18n.commaOnlyOnX0(z)}return h}),D},L.prototype.getMonthDescription=function(){var j=this,T=this.i18n.monthsOfTheYear(),D=this.getSegmentDescription(this.expressionParts[4],"",function(z,h){return h&&j.i18n.monthsOfTheYearInCase?j.i18n.monthsOfTheYearInCase(h)[parseInt(z)-1]:T[parseInt(z)-1]},function(z){return parseInt(z)==1?"":N.StringUtilities.format(j.i18n.commaEveryX0Months(z),z)},function(z){return j.i18n.commaMonthX0ThroughMonthX1()||j.i18n.commaX0ThroughX1()},function(z){return j.i18n.commaOnlyInMonthX0?j.i18n.commaOnlyInMonthX0():j.i18n.commaOnlyInX0()});return D},L.prototype.getDayOfMonthDescription=function(){var j=this,T=null,D=this.expressionParts[3];switch(D){case"L":T=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":T=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var z=D.match(/(\d{1,2}W)|(W\d{1,2})/);if(z){var h=parseInt(z[0].replace("W","")),O=h==1?this.i18n.firstWeekday():N.StringUtilities.format(this.i18n.weekdayNearestDayX0(),h.toString());T=N.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),O);break}else{var p=D.match(/L-(\d{1,2})/);if(p){var E=p[1];T=N.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(E),E);break}else{if(D=="*"&&this.expressionParts[5]!="*")return"";T=this.getSegmentDescription(D,this.i18n.commaEveryDay(),function(C){return C=="L"?j.i18n.lastDay():j.i18n.dayX0?N.StringUtilities.format(j.i18n.dayX0(),C):C},function(C){return C=="1"?j.i18n.commaEveryDay():j.i18n.commaEveryX0Days(C)},function(C){return j.i18n.commaBetweenDayX0AndX1OfTheMonth(C)},function(C){return j.i18n.commaOnDayX0OfTheMonth(C)})}break}}return T},L.prototype.getYearDescription=function(){var j=this,T=this.getSegmentDescription(this.expressionParts[6],"",function(D){return/^\d+$/.test(D)?new Date(parseInt(D),1).getFullYear().toString():D},function(D){return N.StringUtilities.format(j.i18n.commaEveryX0Years(D),D)},function(D){return j.i18n.commaYearX0ThroughYearX1()||j.i18n.commaX0ThroughX1()},function(D){return j.i18n.commaOnlyInYearX0?j.i18n.commaOnlyInYearX0():j.i18n.commaOnlyInX0()});return T},L.prototype.getSegmentDescription=function(j,T,D,z,h,O){var p=null,E=j.indexOf("/")>-1,C=j.indexOf("-")>-1,I=j.indexOf(",")>-1;if(!j)p="";else if(j==="*")p=T;else if(!E&&!C&&!I)p=N.StringUtilities.format(O(j),D(j));else if(I){for(var _=j.split(","),k="",f=0;f<_.length;f++)if(f>0&&_.length>2&&(k+=",",f<_.length-1&&(k+=" ")),f>0&&_.length>1&&(f==_.length-1||_.length==2)&&(k+="".concat(this.i18n.spaceAnd()," ")),_[f].indexOf("/")>-1||_[f].indexOf("-")>-1){var P=_[f].indexOf("-")>-1&&_[f].indexOf("/")==-1,Y=this.getSegmentDescription(_[f],T,D,z,P?this.i18n.commaX0ThroughX1:h,O);P&&(Y=Y.replace(", ","")),k+=Y}else E?k+=this.getSegmentDescription(_[f],T,D,z,h,O):k+=D(_[f]);E?p=k:p=N.StringUtilities.format(O(j),k)}else if(E){var _=j.split("/");if(p=N.StringUtilities.format(z(_[1]),_[1]),_[0].indexOf("-")>-1){var V=this.generateRangeSegmentDescription(_[0],h,D);V.indexOf(", ")!=0&&(p+=", "),p+=V}else if(_[0].indexOf("*")==-1){var oe=N.StringUtilities.format(O(_[0]),D(_[0]));oe=oe.replace(", ",""),p+=N.StringUtilities.format(this.i18n.commaStartingX0(),oe)}}else C&&(p=this.generateRangeSegmentDescription(j,h,D));return p},L.prototype.generateRangeSegmentDescription=function(j,T,D){var z="",h=j.split("-"),O=D(h[0],1),p=D(h[1],2),E=T(j);return z+=N.StringUtilities.format(E,O,p),z},L.prototype.formatTime=function(j,T,D){var z=0,h=0,O=parseInt(j)+z,p=parseInt(T)+h;p>=60?(p-=60,O+=1):p<0&&(p+=60,O-=1),O>=24?O=O-24:O<0&&(O=24+O);var E="",C=!1;this.options.use24HourTimeFormat||(C=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),E=C?"".concat(this.getPeriod(O)," "):" ".concat(this.getPeriod(O)),O>12&&(O-=12),O===0&&(O=12));var I="";return D&&(I=":".concat(("00"+D).substring(D.length))),"".concat(C?E:"").concat(("00"+O.toString()).substring(O.toString().length),":").concat(("00"+p.toString()).substring(p.toString().length)).concat(I).concat(C?"":E)},L.prototype.transformVerbosity=function(j,T){if(!T&&(j=j.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),j=j.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),j=j.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),j=j.replace(/\, ?$/,""),this.i18n.conciseVerbosityReplacements))for(var D=0,z=Object.entries(this.i18n.conciseVerbosityReplacements());D=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},L.locales={},L}();n.ExpressionDescriptor=c},747:(M,n,u)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.enLocaleLoader=void 0;var N=u(486),l=function(){function c(){}return c.prototype.load=function(L){L.en=new N.en},c}();n.enLocaleLoader=l},486:(M,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.en=void 0;var u=function(){function N(){}return N.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},N.prototype.atX0MinutesPastTheHourGt20=function(){return null},N.prototype.commaMonthX0ThroughMonthX1=function(){return null},N.prototype.commaYearX0ThroughYearX1=function(){return null},N.prototype.use24HourTimeFormatByDefault=function(){return!1},N.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occurred when generating the expression description. Check the cron expression syntax."},N.prototype.everyMinute=function(){return"every minute"},N.prototype.everyHour=function(){return"every hour"},N.prototype.atSpace=function(){return"At "},N.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},N.prototype.at=function(){return"At"},N.prototype.spaceAnd=function(){return" and"},N.prototype.everySecond=function(){return"every second"},N.prototype.everyX0Seconds=function(){return"every %s seconds"},N.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},N.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},N.prototype.everyX0Minutes=function(){return"every %s minutes"},N.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},N.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},N.prototype.everyX0Hours=function(){return"every %s hours"},N.prototype.betweenX0AndX1=function(){return"between %s and %s"},N.prototype.atX0=function(){return"at %s"},N.prototype.commaEveryDay=function(){return", every day"},N.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},N.prototype.commaX0ThroughX1=function(){return", %s through %s"},N.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},N.prototype.first=function(){return"first"},N.prototype.second=function(){return"second"},N.prototype.third=function(){return"third"},N.prototype.fourth=function(){return"fourth"},N.prototype.fifth=function(){return"fifth"},N.prototype.commaOnThe=function(){return", on the "},N.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},N.prototype.lastDay=function(){return"the last day"},N.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},N.prototype.commaOnlyOnX0=function(){return", only on %s"},N.prototype.commaAndOnX0=function(){return", and on %s"},N.prototype.commaEveryX0Months=function(){return", every %s months"},N.prototype.commaOnlyInX0=function(){return", only in %s"},N.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},N.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},N.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},N.prototype.firstWeekday=function(){return"first weekday"},N.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},N.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},N.prototype.commaEveryX0Days=function(){return", every %s days"},N.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},N.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},N.prototype.commaEveryHour=function(){return", every hour"},N.prototype.commaEveryX0Years=function(){return", every %s years"},N.prototype.commaStartingX0=function(){return", starting %s"},N.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},N.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},N.prototype.atReboot=function(){return"Run once, at startup"},N}();n.en=u},515:(M,n)=>{Object.defineProperty(n,"__esModule",{value:!0});function u(l,c){if(!l)throw new Error(c)}var N=function(){function l(){}return l.secondRange=function(c){for(var L=c.split(","),j=0;j=0&&T<=59,"seconds part must be >= 0 and <= 59")}},l.minuteRange=function(c){for(var L=c.split(","),j=0;j=0&&T<=59,"minutes part must be >= 0 and <= 59")}},l.hourRange=function(c){for(var L=c.split(","),j=0;j=0&&T<=23,"hours part must be >= 0 and <= 23")}},l.dayOfMonthRange=function(c){for(var L=c.split(","),j=0;j=1&&T<=31,"DOM part must be >= 1 and <= 31")}},l.monthRange=function(c,L){for(var j=c.split(","),T=0;T=1&&D<=12,L?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},l.dayOfWeekRange=function(c,L){for(var j=c.split(","),T=0;T=0&&D<=6,L?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},l}();n.default=N},823:(M,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.StringUtilities=void 0;var u=function(){function N(){}return N.format=function(l){for(var c=[],L=1;L-1})},N}();n.StringUtilities=u}},s={};function o(M){var n=s[M];if(n!==void 0)return n.exports;var u=s[M]={exports:{}};return t[M](u,u.exports,o),u.exports}var r={};return(()=>{var M=r;Object.defineProperty(M,"__esModule",{value:!0}),M.toString=void 0;var n=o(333),u=o(747);n.ExpressionDescriptor.initialize(new u.enLocaleLoader),M.default=n.ExpressionDescriptor;var N=n.ExpressionDescriptor.toString;M.toString=N})(),r})())})(Kn);var Ge=Kn.exports;const VMe=ic(Ge);var ZMe={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.fr=void 0;var l=function(){function c(){}return c.prototype.conciseVerbosityReplacements=function(){return{"de le":"du"}},c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en générant la description de l'expression cron. Vérifiez sa syntaxe."},c.prototype.everyMinute=function(){return"toutes les minutes"},c.prototype.everyHour=function(){return"toutes les heures"},c.prototype.atSpace=function(){return"À "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},c.prototype.at=function(){return"À"},c.prototype.spaceAnd=function(){return" et"},c.prototype.everySecond=function(){return"toutes les secondes"},c.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s après la minute"},c.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes après la minute"},c.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s après l'heure"},c.prototype.atX0MinutesPastTheHour=function(){return"%s minutes après l'heure"},c.prototype.everyX0Hours=function(){return"toutes les %s heures"},c.prototype.betweenX0AndX1=function(){return"de %s à %s"},c.prototype.atX0=function(){return"%s"},c.prototype.commaEveryDay=function(){return", tous les jours"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},c.prototype.commaX0ThroughX1=function(){return", de %s à %s"},c.prototype.commaAndX0ThroughX1=function(){return", et de %s à %s"},c.prototype.first=function(){return"premier"},c.prototype.second=function(){return"second"},c.prototype.third=function(){return"troisième"},c.prototype.fourth=function(){return"quatrième"},c.prototype.fifth=function(){return"cinquième"},c.prototype.commaOnThe=function(){return", le "},c.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},c.prototype.lastDay=function(){return"le dernier jour"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},c.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},c.prototype.commaAndOnX0=function(){return", et %s"},c.prototype.commaEveryX0Months=function(){return", tous les %s mois"},c.prototype.commaOnlyInX0=function(){return", uniquement en %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},c.prototype.firstWeekday=function(){return"premier jour ouvrable"},c.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},c.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},c.prototype.commaEveryX0Days=function(){return", tous les %s jours"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},c.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},c.prototype.commaEveryHour=function(){return", chaque heure"},c.prototype.commaEveryX0Years=function(){return", tous les %s ans"},c.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},c.prototype.commaStartingX0=function(){return", à partir de %s"},c.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},c.prototype.monthsOfTheYear=function(){return["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},c}();return N.fr=l,u().locales.fr=new l,M})())})(ZMe);var XMe={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.es=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurrió un error mientras se generaba la descripción de la expresión. Revise la sintaxis de la expresión de cron."},c.prototype.at=function(){return"A las"},c.prototype.atSpace=function(){return"A las "},c.prototype.atX0=function(){return"a las %s"},c.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},c.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},c.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los días %s y %s del mes"},c.prototype.commaEveryDay=function(){return", cada día"},c.prototype.commaEveryX0Days=function(){return", cada %s días"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s días de la semana"},c.prototype.commaEveryX0Months=function(){return", cada %s meses"},c.prototype.commaOnDayX0OfTheMonth=function(){return", el día %s del mes"},c.prototype.commaOnlyInX0=function(){return", sólo en %s"},c.prototype.commaOnlyOnX0=function(){return", sólo el %s"},c.prototype.commaAndOnX0=function(){return", y el %s"},c.prototype.commaOnThe=function(){return", en el "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el último día del mes"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el último día de la semana del mes"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s días antes del último día del mes"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el último %s del mes"},c.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},c.prototype.commaX0ThroughX1=function(){return", de %s a %s"},c.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},c.prototype.everyHour=function(){return"cada hora"},c.prototype.everyMinute=function(){return"cada minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},c.prototype.everySecond=function(){return"cada segundo"},c.prototype.everyX0Hours=function(){return"cada %s horas"},c.prototype.everyX0Minutes=function(){return"cada %s minutos"},c.prototype.everyX0Seconds=function(){return"cada %s segundos"},c.prototype.fifth=function(){return"quinto"},c.prototype.first=function(){return"primero"},c.prototype.firstWeekday=function(){return"primer día de la semana"},c.prototype.fourth=function(){return"cuarto"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},c.prototype.second=function(){return"segundo"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},c.prototype.spaceAnd=function(){return" y"},c.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},c.prototype.lastDay=function(){return"el último día"},c.prototype.third=function(){return"tercer"},c.prototype.weekdayNearestDayX0=function(){return"día de la semana más próximo al %s"},c.prototype.commaEveryX0Years=function(){return", cada %s años"},c.prototype.commaStartingX0=function(){return", comenzando %s"},c.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},c.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},c}();return N.es=l,u().locales.es=new l,M})())})(XMe);var KMe={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.de=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.everyMinute=function(){return"jede Minute"},c.prototype.everyHour=function(){return"jede Stunde"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. Überprüfen Sie die Syntax des Cron-Ausdrucks."},c.prototype.atSpace=function(){return"Um "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},c.prototype.at=function(){return"Um"},c.prototype.spaceAnd=function(){return" und"},c.prototype.everySecond=function(){return"Jede Sekunde"},c.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},c.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},c.prototype.everyX0Minutes=function(){return"alle %s Minuten"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},c.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},c.prototype.everyX0Hours=function(){return"alle %s Stunden"},c.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},c.prototype.atX0=function(){return"um %s"},c.prototype.commaEveryDay=function(){return", jeden Tag"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},c.prototype.commaX0ThroughX1=function(){return", %s bis %s"},c.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},c.prototype.first=function(){return"ersten"},c.prototype.second=function(){return"zweiten"},c.prototype.third=function(){return"dritten"},c.prototype.fourth=function(){return"vierten"},c.prototype.fifth=function(){return"fünften"},c.prototype.commaOnThe=function(){return", am "},c.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},c.prototype.lastDay=function(){return"der letzte Tag"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},c.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},c.prototype.commaAndOnX0=function(){return", und jeden %s"},c.prototype.commaEveryX0Months=function(){return", alle %s Monate"},c.prototype.commaOnlyInX0=function(){return", nur im %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},c.prototype.firstWeekday=function(){return"ersten Werktag"},c.prototype.weekdayNearestDayX0=function(){return"Werktag am nächsten zum %s Tag"},c.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},c.prototype.commaEveryX0Days=function(){return", alle %s Tage"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},c.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},c.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},c.prototype.commaStartingX0=function(){return", beginnend %s"},c.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},c.prototype.monthsOfTheYear=function(){return["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},c}();return N.de=l,u().locales.de=new l,M})())})(KMe);var qMe={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.it=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"È verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},c.prototype.at=function(){return"Alle"},c.prototype.atSpace=function(){return"Alle "},c.prototype.atX0=function(){return"alle %s"},c.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},c.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},c.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},c.prototype.commaEveryDay=function(){return", ogni giorno"},c.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},c.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},c.prototype.commaEveryX0Years=function(){return", ogni %s anni"},c.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},c.prototype.commaOnlyInX0=function(){return", solo in %s"},c.prototype.commaOnlyOnX0=function(){return", solo il %s"},c.prototype.commaAndOnX0=function(){return", e il %s"},c.prototype.commaOnThe=function(){return", il "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},c.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},c.prototype.commaX0ThroughX1=function(){return", %s al %s"},c.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},c.prototype.everyHour=function(){return"ogni ora"},c.prototype.everyMinute=function(){return"ogni minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},c.prototype.everySecond=function(){return"ogni secondo"},c.prototype.everyX0Hours=function(){return"ogni %s ore"},c.prototype.everyX0Minutes=function(){return"ogni %s minuti"},c.prototype.everyX0Seconds=function(){return"ogni %s secondi"},c.prototype.fifth=function(){return"quinto"},c.prototype.first=function(){return"primo"},c.prototype.firstWeekday=function(){return"primo giorno della settimana"},c.prototype.fourth=function(){return"quarto"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},c.prototype.second=function(){return"secondo"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},c.prototype.spaceAnd=function(){return" e"},c.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},c.prototype.lastDay=function(){return"l'ultimo giorno"},c.prototype.third=function(){return"terzo"},c.prototype.weekdayNearestDayX0=function(){return"giorno della settimana più vicino al %s"},c.prototype.commaStartingX0=function(){return", a partire %s"},c.prototype.daysOfTheWeek=function(){return["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},c.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},c}();return N.it=l,u().locales.it=new l,M})())})(qMe);var ene={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:j=>{j.exports=t}},o={};function r(j){var T=o[j];if(T!==void 0)return T.exports;var D=o[j]={exports:{}};return s[j](D,D.exports,r),D.exports}r.n=j=>{var T=j&&j.__esModule?()=>j.default:()=>j;return r.d(T,{a:T}),T},r.d=(j,T)=>{for(var D in T)r.o(T,D)&&!r.o(j,D)&&Object.defineProperty(j,D,{enumerable:!0,get:T[D]})},r.o=(j,T)=>Object.prototype.hasOwnProperty.call(j,T),r.r=j=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(j,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(j,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.ru=void 0;var l=function(j,T){var D=Number(j);return D!==void 0?T[D%100>4&&D%100<20?2:[2,0,1,1,1,2][D%10<5?Math.abs(D)%10:5]]:T[2]},c=function(j,T){var D=Number(j);return D!==void 0?T[D===0?0:D===1||D===2||D===4?1:2]:T[1]},L=function(){function j(){}return j.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},j.prototype.atX0MinutesPastTheHourGt20=function(){return null},j.prototype.commaMonthX0ThroughMonthX1=function(){return null},j.prototype.commaYearX0ThroughYearX1=function(){return null},j.prototype.use24HourTimeFormatByDefault=function(){return!0},j.prototype.everyMinute=function(){return"каждую минуту"},j.prototype.everyHour=function(){return"каждый час"},j.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Произошла ошибка во время генерации описания выражения. Проверьте синтаксис крон-выражения."},j.prototype.atSpace=function(){return"В "},j.prototype.everyMinuteBetweenX0AndX1=function(){return"Каждую минуту с %s по %s"},j.prototype.at=function(){return"В"},j.prototype.spaceAnd=function(){return" и"},j.prototype.everySecond=function(){return"каждую секунду"},j.prototype.everyX0Seconds=function(T){return l(T,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},j.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},j.prototype.atX0SecondsPastTheMinute=function(T){return l(T,["в %s секунду","в %s секунды","в %s секунд"])},j.prototype.everyX0Minutes=function(T){return l(T,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},j.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},j.prototype.atX0MinutesPastTheHour=function(T){return l(T,["в %s минуту","в %s минуты","в %s минут"])},j.prototype.everyX0Hours=function(T){return l(T,["каждый %s час","каждые %s часа","каждые %s часов"])},j.prototype.betweenX0AndX1=function(){return"с %s по %s"},j.prototype.atX0=function(){return"в %s"},j.prototype.commaEveryDay=function(){return", каждый день"},j.prototype.commaEveryX0DaysOfTheWeek=function(T){return l(T,["",", каждые %s дня недели",", каждые %s дней недели"])},j.prototype.commaX0ThroughX1=function(T){return T&&(T[0]=="2"||T[0]=="3")?", со %s по %s":", с %s по %s"},j.prototype.commaAndX0ThroughX1=function(T){return T&&(T[0]=="2"||T[0]=="3")?" и со %s по %s":" и с %s по %s"},j.prototype.first=function(T){return c(T,["первое","первый","первую"])},j.prototype.second=function(T){return c(T,["второе","второй","вторую"])},j.prototype.third=function(T){return c(T,["третье","третий","третью"])},j.prototype.fourth=function(T){return c(T,["четвертое","четвертый","четвертую"])},j.prototype.fifth=function(T){return c(T,["пятое","пятый","пятую"])},j.prototype.commaOnThe=function(T){return T==="2"?", во ":", в "},j.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},j.prototype.lastDay=function(){return"последний день"},j.prototype.commaOnTheLastX0OfTheMonth=function(T){return c(T,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},j.prototype.commaOnlyOnX0=function(T){return T&&T[0]==="2"?", только во %s":", только в %s"},j.prototype.commaAndOnX0=function(){return", и %s"},j.prototype.commaEveryX0Months=function(T){return l(T,[""," каждые %s месяца"," каждые %s месяцев"])},j.prototype.commaOnlyInMonthX0=function(){return", только %s"},j.prototype.commaOnlyInX0=function(){return", только в %s"},j.prototype.commaOnTheLastDayOfTheMonth=function(){return", в последний день месяца"},j.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в последний будний день месяца"},j.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(T){return l(T,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},j.prototype.firstWeekday=function(){return"первый будний день"},j.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},j.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},j.prototype.commaEveryX0Days=function(T){return l(T,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},j.prototype.commaBetweenDayX0AndX1OfTheMonth=function(T){return T&&T.substring(0,T.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},j.prototype.commaOnDayX0OfTheMonth=function(T){return T&&T[0]=="2"?", во %s число месяца":", в %s число месяца"},j.prototype.commaEveryX0Years=function(T){return l(T,[", каждый %s год",", каждые %s года",", каждые %s лет"])},j.prototype.commaStartingX0=function(){return", начало %s"},j.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},j.prototype.daysOfTheWeekInCase=function(T){return T===void 0&&(T=2),T==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},j.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},j.prototype.monthsOfTheYearInCase=function(T){return T==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},j}();return N.ru=L,u().locales.ru=new L,M})())})(ene);var tne={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.zh_CN=void 0;var l=function(){function c(){}return c.prototype.setPeriodBeforeTime=function(){return!0},c.prototype.pm=function(){return"下午"},c.prototype.am=function(){return"上午"},c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return", 从%s年至%s年"},c.prototype.use24HourTimeFormatByDefault=function(){return!1},c.prototype.everyMinute=function(){return"每分钟"},c.prototype.everyHour=function(){return"每小时"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"生成表达式描述时发生了错误,请检查cron表达式语法。"},c.prototype.atSpace=function(){return"在"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"在 %s 至 %s 之间的每分钟"},c.prototype.at=function(){return"在"},c.prototype.spaceAnd=function(){return" 和"},c.prototype.everySecond=function(){return"每秒"},c.prototype.everyX0Seconds=function(){return"每隔 %s 秒"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"在一分钟后的第 %s 到 %s 秒"},c.prototype.atX0SecondsPastTheMinute=function(){return"在一分钟后的第 %s 秒"},c.prototype.everyX0Minutes=function(){return"每隔 %s 分钟"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"在整点后的第 %s 到 %s 分钟"},c.prototype.atX0MinutesPastTheHour=function(){return"在整点后的第 %s 分钟"},c.prototype.everyX0Hours=function(){return"每隔 %s 小时"},c.prototype.betweenX0AndX1=function(){return"在 %s 和 %s 之间"},c.prototype.atX0=function(){return"在%s"},c.prototype.commaEveryDay=function(){return", 每天"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", 每周的每 %s 天"},c.prototype.commaX0ThroughX1=function(){return", %s至%s"},c.prototype.commaAndX0ThroughX1=function(){return", 和%s至%s"},c.prototype.first=function(){return"第一个"},c.prototype.second=function(){return"第二个"},c.prototype.third=function(){return"第三个"},c.prototype.fourth=function(){return"第四个"},c.prototype.fifth=function(){return"第五个"},c.prototype.commaOnThe=function(){return", 限每月的"},c.prototype.spaceX0OfTheMonth=function(){return"%s"},c.prototype.lastDay=function(){return"本月最后一天"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", 限每月的最后一个%s"},c.prototype.commaOnlyOnX0=function(){return", 仅%s"},c.prototype.commaAndOnX0=function(){return", 或者为%s"},c.prototype.commaEveryX0Months=function(){return", 每隔 %s 个月"},c.prototype.commaOnlyInX0=function(){return", 仅限%s"},c.prototype.commaOnlyInMonthX0=function(){return", 仅于%s份"},c.prototype.commaOnlyInYearX0=function(){return", 仅于 %s 年"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", 限每月的最后一天"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", 限每月的最后一个工作日"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", 限每月最后%s天"},c.prototype.firstWeekday=function(){return"第一个工作日"},c.prototype.weekdayNearestDayX0=function(){return"最接近 %s 号的工作日"},c.prototype.commaOnTheX0OfTheMonth=function(){return", 限每月的%s"},c.prototype.commaEveryX0Days=function(){return", 每隔 %s 天"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", 限每月的 %s 至 %s 之间"},c.prototype.commaOnDayX0OfTheMonth=function(){return", 限每月%s"},c.prototype.commaEveryX0Years=function(){return", 每隔 %s 年"},c.prototype.commaStartingX0=function(){return", %s开始"},c.prototype.dayX0=function(){return" %s 号"},c.prototype.daysOfTheWeek=function(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},c.prototype.monthsOfTheYear=function(){return["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},c}();return N.zh_CN=l,u().locales.zh_CN=new l,M})())})(tne);var sne={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.uk=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.everyMinute=function(){return"щохвилини"},c.prototype.everyHour=function(){return"щогодини"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"ВІдбулася помилка підчас генерації опису. Перевірта правильність написання cron виразу."},c.prototype.atSpace=function(){return"О "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Щохвилини між %s та %s"},c.prototype.at=function(){return"О"},c.prototype.spaceAnd=function(){return" та"},c.prototype.everySecond=function(){return"Щосекунди"},c.prototype.everyX0Seconds=function(){return"кожні %s секунд"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"з %s по %s секунду"},c.prototype.atX0SecondsPastTheMinute=function(){return"о %s секунді"},c.prototype.everyX0Minutes=function(){return"кожні %s хвилин"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"з %s по %s хвилину"},c.prototype.atX0MinutesPastTheHour=function(){return"о %s хвилині"},c.prototype.everyX0Hours=function(){return"кожні %s годин"},c.prototype.betweenX0AndX1=function(){return"між %s та %s"},c.prototype.atX0=function(){return"о %s"},c.prototype.commaEveryDay=function(){return", щоденно"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", кожен %s день тижня"},c.prototype.commaX0ThroughX1=function(){return", %s по %s"},c.prototype.commaAndX0ThroughX1=function(){return", та %s по %s"},c.prototype.first=function(){return"перший"},c.prototype.second=function(){return"другий"},c.prototype.third=function(){return"третій"},c.prototype.fourth=function(){return"четвертий"},c.prototype.fifth=function(){return"п'ятий"},c.prototype.commaOnThe=function(){return", в "},c.prototype.spaceX0OfTheMonth=function(){return" %s місяця"},c.prototype.lastDay=function(){return"останній день"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", в останній %s місяця"},c.prototype.commaOnlyOnX0=function(){return", тільки в %s"},c.prototype.commaAndOnX0=function(){return", і в %s"},c.prototype.commaEveryX0Months=function(){return", кожен %s місяць"},c.prototype.commaOnlyInX0=function(){return", тільки в %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", в останній день місяця"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в останній будень місяця"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s днів до останнього дня місяця"},c.prototype.firstWeekday=function(){return"перший будень"},c.prototype.weekdayNearestDayX0=function(){return"будень найближчий до %s дня"},c.prototype.commaOnTheX0OfTheMonth=function(){return", в %s місяця"},c.prototype.commaEveryX0Days=function(){return", кожен %s день"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", між %s та %s днями місяця"},c.prototype.commaOnDayX0OfTheMonth=function(){return", на %s день місяця"},c.prototype.commaEveryX0Years=function(){return", кожні %s роки"},c.prototype.commaStartingX0=function(){return", початок %s"},c.prototype.daysOfTheWeek=function(){return["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"]},c.prototype.monthsOfTheYear=function(){return["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},c}();return N.uk=l,u().locales.uk=new l,M})())})(sne);var ine={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.pt_BR=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descrição da expressão Cron."},c.prototype.at=function(){return"às"},c.prototype.atSpace=function(){return"às "},c.prototype.atX0=function(){return"Às %s"},c.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},c.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},c.prototype.betweenX0AndX1=function(){return"entre %s e %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do mês"},c.prototype.commaEveryDay=function(){return", a cada dia"},c.prototype.commaEveryX0Days=function(){return", a cada %s dias"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},c.prototype.commaEveryX0Months=function(){return", a cada %s meses"},c.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do mês"},c.prototype.commaOnlyInX0=function(L){return L&&L.length>1&&L[1]==="-"?"somente %s":", somente em %s"},c.prototype.commaOnlyOnX0=function(L){return L&&L.length>1&&L[1]==="-"?", somente %s":", somente de %s"},c.prototype.commaAndOnX0=function(){return", e de %s"},c.prototype.commaOnThe=function(L,j){return j==="6"||j==="0"?", no":", na "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", no último dia do mês"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no último dia da semana do mês"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do último dia do mês"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", na última %s do mês"},c.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do mês"},c.prototype.commaX0ThroughX1=function(){return", de %s a %s"},c.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},c.prototype.everyHour=function(){return"a cada hora"},c.prototype.everyMinute=function(){return"a cada minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},c.prototype.everySecond=function(){return"a cada segundo"},c.prototype.everyX0Hours=function(){return"a cada %s horas"},c.prototype.everyX0Minutes=function(){return"a cada %s minutos"},c.prototype.everyX0Seconds=function(){return"a cada %s segundos"},c.prototype.fifth=function(L){return L==="6"||L==="0"?"quinto":"quinta"},c.prototype.first=function(L){return L==="6"||L==="0"?"primeiro":"primeira"},c.prototype.firstWeekday=function(){return"primeiro dia da semana"},c.prototype.fourth=function(L){return L==="6"||L==="0"?"quarto":"quarta"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s até %s de cada hora"},c.prototype.second=function(L){return L==="6"||L==="0"?"segundo":"segunda"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s até %s de cada minuto"},c.prototype.spaceAnd=function(){return" e"},c.prototype.spaceX0OfTheMonth=function(){return" %s do mês"},c.prototype.lastDay=function(){return"o último dia"},c.prototype.third=function(L){return L==="6"||L==="0"?"terceiro":"terceira"},c.prototype.weekdayNearestDayX0=function(){return"dia da semana mais próximo do dia %s"},c.prototype.commaEveryX0Years=function(){return", a cada %s anos"},c.prototype.commaStartingX0=function(){return", iniciando %s"},c.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},c.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},c}();return N.pt_BR=l,u().locales.pt_BR=new l,M})())})(ine);var one={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var n=r(93),u=r.n(n),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.pl=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wystąpił błąd podczas generowania opisu wyrażenia cron. Sprawdź składnię wyrażenia cron."},c.prototype.at=function(){return"O"},c.prototype.atSpace=function(){return"O "},c.prototype.atX0=function(){return"o %s"},c.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},c.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},c.prototype.betweenX0AndX1=function(){return"od %s do %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesiąca"},c.prototype.commaEveryDay=function(){return", co dzień"},c.prototype.commaEveryX0Days=function(){return", co %s dni"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},c.prototype.commaEveryX0Months=function(){return", co %s miesięcy"},c.prototype.commaEveryX0Years=function(){return", co %s lat"},c.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesiąca"},c.prototype.commaOnlyInX0=function(){return", tylko %s"},c.prototype.commaOnlyOnX0=function(){return", tylko %s"},c.prototype.commaAndOnX0=function(){return", i %s"},c.prototype.commaOnThe=function(){return", "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzień miesiąca"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzień roboczy miesiąca"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesiąca"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesiąca"},c.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesiąca"},c.prototype.commaX0ThroughX1=function(){return", od %s do %s"},c.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},c.prototype.everyHour=function(){return"co godzinę"},c.prototype.everyMinute=function(){return"co minutę"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minutę od %s do %s"},c.prototype.everySecond=function(){return"co sekundę"},c.prototype.everyX0Hours=function(){return"co %s godzin"},c.prototype.everyX0Minutes=function(){return"co %s minut"},c.prototype.everyX0Seconds=function(){return"co %s sekund"},c.prototype.fifth=function(){return"piąty"},c.prototype.first=function(){return"pierwszy"},c.prototype.firstWeekday=function(){return"pierwszy dzień roboczy"},c.prototype.fourth=function(){return"czwarty"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},c.prototype.second=function(){return"drugi"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},c.prototype.spaceAnd=function(){return" i"},c.prototype.spaceX0OfTheMonth=function(){return" %s miesiąca"},c.prototype.lastDay=function(){return"ostatni dzień"},c.prototype.third=function(){return"trzeci"},c.prototype.weekdayNearestDayX0=function(){return"dzień roboczy najbliższy %s-ego dnia"},c.prototype.commaStartingX0=function(){return", startowy %s"},c.prototype.daysOfTheWeek=function(){return["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},c.prototype.monthsOfTheYear=function(){return["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},c}();return N.pl=l,u().locales.pl=new l,M})())})(one);function qn(i,e){return VMe.toString(i,{locale:e})}const he={mainDiv:{width:"100%",height:"100%"},periodSelect:{display:"block",width:250},tabContent:{padding:20,height:"calc(100% - 240px)",overflow:"auto"},numberButton:{padding:4,minWidth:40,margin:5},appBar:{color:"white"},warning:{marginLeft:16,color:"red",fontSize:12}},rne=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Mne=["January","February","March","April","May","June","July","August","September","October","November","December"];function MM(i,e){const t=[];if(i==="*"){if(e===24||e===60||e===7)for(let o=0;o1){const M=parseInt(r[1],10);for(let n=parseInt(r[0],10);n<=M;n++)t.push(n)}else t.push(parseInt(s[o],10))}t.sort();for(let o=t.length-1;o>=0;o--)t[o]===t[o+1]&&t.splice(o+1,1);return t}function nM(i,e){if(typeof i!="object"&&(i=[i]),i.length===e)return"*";const t=[];if(!i.length)return"-";i=i.map(r=>parseInt(r,10)),i.sort((r,M)=>r-M);let s=i[0],o=i[0];for(let r=1;rthis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(e){e=e.replace(/['"]/g,"").trim();const t=e.split(" ").map(o=>o.trim());let s;return t.length===6?s={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",dates:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:s={seconds:!1,minutes:t[0]||"*",hours:t[1]||"*",dates:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},s}static state2cron(e){let t=`${e.minutes} ${e.hours} ${e.dates} ${e.months} ${e.dow}`;return e.seconds!==!1&&(t=`${e.seconds} ${t}`),t}recalcCron(){const e=Lt.state2cron(this.state);e!==this.state.cron&&this.setState({cron:e},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(e,t,s){if(e===!0)this.setCronAttr(t,"*");else if(e===!1)s===60||s===24?this.setCronAttr(t,"0"):this.setCronAttr(t,"1");else{const o=MM(this.state[t],s),r=o.indexOf(e);r!==-1?o.splice(r,1):(o.push(e),o.sort()),this.setCronAttr(t,nM(o,s))}}getDigitsSelector(e,t){let s=[];if(t===7)s=[1,2,3,4,5,6,0];else if(t===60||t===24)for(let r=0;rthis.onToggle(!1,e,t)},d.t("ra_Deselect all")),a.createElement(g.Button,{key:"addall",variant:"contained",style:he.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,t)},d.t("ra_Select all")),a.createElement("div",{key:"all"},s.map(r=>[t===7&&r===4||t===12&&r===7||t===31&&!((r-1)%10)||t===60&&r&&!(r%10)||t===24&&r&&!(r%6)?a.createElement("div",{key:`allInner${r}`,style:{width:"100%"}}):null,a.createElement(g.Button,{key:`_${r}`,variant:o.indexOf(r)!==-1?"contained":"outlined",style:he.numberButton,color:o.indexOf(r)!==-1?"secondary":"primary",onClick:()=>this.onToggle(r,e,t)},t===7?d.t(rne[r]):t===12?Mne[r-1]:r)]))]}getPeriodsTab(e,t){const s=this.state[e];let o=s==="*",r=s==null?!1:s.toString().includes("/"),M;if(this.state.modes[e]===null){M=o?"every":r?"everyN":"specific";const u=JSON.parse(JSON.stringify(this.state.modes));return u[e]=M,setTimeout(()=>this.setState({modes:u},()=>this.recalcCron()),100),null}o=this.state.modes[e]==="every",r=this.state.modes[e]==="everyN",M=this.state.modes[e];let n=1;return r&&s&&(n=parseInt(s.replace("*/",""),10)||1),a.createElement("div",null,a.createElement(g.Select,{variant:"standard",style:{...he.periodSelect,verticalAlign:"bottom"},value:M,onChange:u=>{const N=JSON.parse(JSON.stringify(this.state.modes));if(N[e]=u.target.value,u.target.value==="every")this.setCronAttr(e,"*",N);else if(u.target.value==="everyN"){const l=parseInt((this.state[e]||"").toString().replace("*/",""),10)||1;this.setCronAttr(e,`*/${l}`,N)}else if(u.target.value==="specific"){let l=parseInt((this.state[e]||"").toString().split(",")[0],10)||0;!l&&(e==="months"||e==="dates")&&(l=1),this.setCronAttr(e,nM(l,t),N)}}},a.createElement(g.MenuItem,{key:"every",value:"every"},d.t(`sc_every_${e}`)),a.createElement(g.MenuItem,{key:"everyN",value:"everyN"},d.t(`sc_everyN_${e}`)),a.createElement(g.MenuItem,{key:"specific",value:"specific"},d.t(`sc_specific_${e}`))),r&&a.createElement(g.TextField,{variant:"standard",key:"interval",label:d.t(`sc_${e}`),value:n,slotProps:{htmlInput:{min:1,max:t},inputLabel:{shrink:!0}},onChange:u=>{this.setState({[e]:`*/${u.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!o&&!r&&this.getDigitsSelector(e,t))}static convertCronToText(e,t){return e.split(" ").includes("-")?d.t("ra_Invalid CRON"):qn(e,t)}setCronAttr(e,t,s){s?e==="seconds"?this.setState({seconds:t,modes:s},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t,modes:s},()=>this.recalcCron()):e==="hours"?this.setState({hours:t,modes:s},()=>this.recalcCron()):e==="dates"?this.setState({dates:t,modes:s},()=>this.recalcCron()):e==="months"?this.setState({months:t,modes:s},()=>this.recalcCron()):e==="dow"?this.setState({dow:t,modes:s},()=>this.recalcCron()):this.setState({modes:s},()=>this.recalcCron()):e==="seconds"?this.setState({seconds:t},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t},()=>this.recalcCron()):e==="hours"?this.setState({hours:t},()=>this.recalcCron()):e==="dates"?this.setState({dates:t},()=>this.recalcCron()):e==="months"?this.setState({months:t},()=>this.recalcCron()):e==="dow"&&this.setState({dow:t},()=>this.recalcCron())}render(){const e=this.state.seconds!==!1?this.state.tab:this.state.tab+1,t=this.state.minutes==="*"||this.state.minutes==="*/1",s=this.state.seconds==="*"||this.state.seconds==="*/1";return a.createElement("div",{style:he.mainDiv},a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},a.createElement(g.TextField,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},Lt.convertCronToText(this.state.cron,this.props.language||"en"),a.createElement("span",{style:he.warning},s?d.t("ra_warning_every_second"):t?d.t("ra_warning_every_minute"):"")),a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{checked:!!this.state.seconds,onChange:o=>this.setState({seconds:o.target.checked?"*":!1},()=>this.recalcCron())}),label:d.t("ra_use seconds")}),a.createElement(g.AppBar,{position:"static",sx:{"&.MuiAppBar-root":he.appBar},color:"secondary"},a.createElement(g.Tabs,{value:this.state.tab,style:he.appBar,color:"secondary",onChange:(o,r)=>this.setState({tab:r})},this.state.seconds!==!1&&a.createElement(g.Tab,{id:"sc_seconds",label:d.t("sc_seconds")}),a.createElement(g.Tab,{id:"minutes",label:d.t("sc_minutes")}),a.createElement(g.Tab,{id:"hours",label:d.t("sc_hours")}),a.createElement(g.Tab,{id:"dates",label:d.t("sc_dates")}),a.createElement(g.Tab,{id:"months",label:d.t("sc_months")}),a.createElement(g.Tab,{id:"dow",label:d.t("sc_dows")}))),e===0&&a.createElement("div",{style:he.tabContent},this.getPeriodsTab("seconds",60)),e===1&&a.createElement("div",{style:he.tabContent},this.getPeriodsTab("minutes",60)),e===2&&a.createElement("div",{style:he.tabContent},this.getPeriodsTab("hours",24)),e===3&&a.createElement("div",{style:he.tabContent},this.getPeriodsTab("dates",31)),e===4&&a.createElement("div",{style:he.tabContent},this.getPeriodsTab("months",12)),e===5&&a.createElement("div",{style:he.tabContent},this.getPeriodsTab("dow",7)))}}const Ut={modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:8,top:8},languageButtonActive:i=>({color:i.palette.primary.main})};function i4e(i){const{open:e,toggleTranslation:t,noTranslation:s,title:o,fullWidth:r,help:M,maxWidth:n,progress:u,icon:N,applyDisabled:l,applyButton:c,onClose:L,children:j,titleButtonApply:T,titleButtonClose:D,onApply:z,textInput:h,defaultValue:O,overflowHidden:p}=i,[E,C]=b.useState(O||"");b.useEffect(()=>{C(O||"")},[O]);let I=null;return N&&(I=N),a.createElement(g.Dialog,{open:e,maxWidth:n||"md",fullWidth:!!r,disableEscapeKeyDown:!1,onClose:L,sx:{"& .MuiDialog-paper":Ut.modalDialog}},o&&a.createElement(g.DialogTitle,null,N?a.createElement(I,{style:Ut.titleIcon}):null,o,d.getLanguage()!=="en"&&t?a.createElement(g.IconButton,{size:"large",sx:S.getStyle(i.theme,Ut.languageButton,s&&Ut.languageButtonActive),onClick:()=>t(),title:d.t("Disable/Enable translation")},a.createElement(m.Language,null)):null),a.createElement(g.DialogContent,{style:{...Ut.content,...p?Ut.overflowHidden:void 0,paddingTop:8}},h&&a.createElement(g.TextField,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:E,onChange:_=>C(_.target.value)}),j,M?a.createElement("div",null,M):null),a.createElement(g.DialogActions,null,c!==!1&&a.createElement(g.Button,{startIcon:a.createElement(m.Check,null),disabled:u||l&&O===E,onClick:()=>z(h?E:""),variant:"contained",color:"primary"},d.t(T||"ra_Ok")),a.createElement(g.Button,{color:"grey",onClick:L,disabled:u,variant:"contained",startIcon:a.createElement(m.Close,null)},d.t(D||"ra_Cancel"))))}function nne(){const i=oc();return[...i.breakpoints.keys].reverse().reduce((t,s)=>{const o=g.useMediaQuery(i.breakpoints.up(s));return!t&&o?s:t},null)||"xs"}function di(){return i=>function(t){const s=nne();return a.createElement(i,{...t,width:s})}}function ane(i){const[e,t]=a.useState(i.input||i.value||""),[s,o]=a.useState("");return a.createElement(g.Dialog,{open:!0,onClose:()=>i.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:i.fullWidth!==void 0?i.fullWidth:!1},a.createElement(g.DialogTitle,{id:"form-dialog-title"},i.titleText),a.createElement(g.DialogContent,null,a.createElement(g.DialogContentText,null,i.promptText),a.createElement(g.TextField,{variant:"standard",autoFocus:!0,margin:"dense",error:!!s,helperText:s===!0||!s?"":s,value:e,label:i.labelText||"",type:i.type||"text",onKeyUp:r=>r.code==="Enter"&&e&&i.onClose(e),onChange:r=>{let M="";i.verify&&(M=!i.verify(r.target.value)),i.rule?t(i.rule(r.target.value)):t(r.target.value),o(M)},fullWidth:!0})),a.createElement(g.DialogActions,null,a.createElement(g.Button,{variant:"contained",disabled:!e||!!s,onClick:()=>i.onClose(e),color:"primary",startIcon:a.createElement(m.Check,null)},i.applyText||d.t("ra_Ok")),a.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>i.onClose(null),startIcon:a.createElement(m.Close,null)},i.cancelText||d.t("ra_Cancel"))))}const cne=di()(ane);function uo(i){return a.createElement("svg",{onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 486 486",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:i.className,style:i.style},a.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"}),a.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"}))}function Gt(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 650 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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"}))}function Ks(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 650 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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"}))}function Fo(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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 une=i=>typeof i!="string"?{}:i.split(/ ?; ?/).reduce((e,t)=>{const[s,o]=t.split(/ ?: ?/).map((r,M)=>M===0?r.replace(/\s+/g,""):r.trim());if(s&&o){const r=s.replace(/(\w)-(\w)/g,(n,u,N)=>`${u}${N.toUpperCase()}`);let M=o.trim();Number.isNaN(Number(o))||(M=Number(o)),e[s.startsWith("-")?s:r]=M}return e},{});function Nne(i=6){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let t="";for(let s=i;s>0;--s)t+=e[Math.round(Math.random()*(e.length-1))];return t}var lne=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],aM={"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 Lne(i,e){var r;const{key:t,level:s,...o}=e;switch(i.nodeType){case 1:return b.createElement(gne(i.nodeName),jne(i,t),cM(i.childNodes,s,o));case 3:{const M=((r=i.nodeValue)==null?void 0:r.toString())??"";if(!o.allowWhiteSpaces&&/^\s+$/.test(M)&&!/[\u00A0\u202F]/.test(M))return null;if(!i.parentNode)return M;const n=i.parentNode.nodeName.toLowerCase();return lne.includes(n)?(/\S/.test(M)&&console.warn(`A textNode is not allowed inside '${n}'. Your text "${M}" will be ignored`),null):M}case 8:return null;case 11:return cM(i.childNodes,s,e);default:return null}}function jne(i,e){const t={key:e};if(i instanceof Element){const s=i.getAttribute("class");s&&(t.className=s),[...i.attributes].forEach(o=>{switch(o.name){case"class":break;case"style":t[o.name]=une(o.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":t[aM[o.name]||o.name]=!0;break;default:t[aM[o.name]||o.name]=o.value}})}return t}function cM(i,e,t){const s=[...i].map((o,r)=>ri(o,{...t,index:r,level:e+1})).filter(Boolean);return s.length?s:null}function gne(i){return/[a-z]+[A-Z]+[a-z]+/.test(i)?i:i.toLowerCase()}function ea(i,e={}){return typeof i=="string"?Tne(i,e):i instanceof Node?ri(i,e):null}function ri(i,e={}){if(!i||!(i instanceof Node))return null;const{actions:t=[],index:s=0,level:o=0,randomKey:r}=e;let M=i,n=`${o}-${s}`;const u=[];return r&&o===0&&(n=`${Nne()}-${n}`),Array.isArray(t)&&t.forEach(N=>{N.condition(M,n,o)&&(typeof N.pre=="function"&&(M=N.pre(M,n,o),M instanceof Node||(M=i)),typeof N.post=="function"&&u.push(N.post(M,n,o)))}),u.length?u:Lne(M,{key:n,level:o,...e})}function Tne(i,e={}){if(!i||typeof i!="string")return null;const{includeAllNodes:t=!1,nodeOnly:s=!1,selector:o="body > *",type:r="text/html"}=e;try{const n=new DOMParser().parseFromString(i,r);if(t){const{childNodes:N}=n.body;return s?N:[...N].map(l=>ri(l,e))}const u=n.querySelector(o)||n.body.childNodes[0];if(!(u instanceof Node))throw new TypeError("Error parsing input");return s?u:ri(u,e)}catch{}return null}var yne=Object.defineProperty,Dne=(i,e,t)=>e in i?yne(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,bs=(i,e,t)=>Dne(i,typeof e!="symbol"?e+"":e,t),uM="react-inlinesvg",dne=10,ee={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function zne(i){return i[Math.floor(Math.random()*i.length)]}function js(){var i;return!!(typeof window<"u"&&((i=window.document)!=null&&i.createElement))}function Ine(){return Ane()&&typeof window<"u"&&window!==null}function wne(i,...e){const t={};for(const s in i)({}).hasOwnProperty.call(i,s)&&(e.includes(s)||(t[s]=i[s]));return t}function Cne(i){const e="abcdefghijklmnopqrstuvwxyz",s=`${e}${e.toUpperCase()}1234567890`;let o="";for(let r=0;r299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(r=>o.includes(r)))throw new Error(`Content type isn't valid: ${o}`);return t.text()}function hne(i=1){return new Promise(e=>{setTimeout(e,i*1e3)})}function Ane(){if(!document)return!1;const i=document.createElement("div");i.innerHTML="";const e=i.firstChild;return!!e&&e.namespaceURI==="http://www.w3.org/2000/svg"}var pne=class{constructor(){bs(this,"cacheApi"),bs(this,"cacheStore"),bs(this,"subscribers",[]),bs(this,"isReady",!1),this.cacheStore=new Map;let i=uM,e=!1;js()&&(i=window.REACT_INLINESVG_CACHE_NAME??uM,e=!!window.REACT_INLINESVG_PERSISTENT_CACHE&&"caches"in window),e?caches.open(i).then(t=>{this.cacheApi=t}).catch(t=>{console.error(`Failed to open cache: ${t.message}`),this.cacheApi=void 0}).finally(()=>{this.isReady=!0;const t=[...this.subscribers];this.subscribers.length=0,t.forEach(s=>{try{s()}catch(o){console.error(`Error in CacheStore subscriber callback: ${o.message}`)}})}):this.isReady=!0}onReady(i){this.isReady?i():this.subscribers.push(i)}async get(i,e){var t;return await(this.cacheApi?this.fetchAndAddToPersistentCache(i,e):this.fetchAndAddToInternalCache(i,e)),((t=this.cacheStore.get(i))==null?void 0:t.content)??""}set(i,e){this.cacheStore.set(i,e)}isCached(i){var e;return((e=this.cacheStore.get(i))==null?void 0:e.status)===ee.LOADED}async fetchAndAddToInternalCache(i,e){const t=this.cacheStore.get(i);if((t==null?void 0:t.status)===ee.LOADING){await this.handleLoading(i,async()=>{this.cacheStore.set(i,{content:"",status:ee.IDLE}),await this.fetchAndAddToInternalCache(i,e)});return}if(!(t!=null&&t.content)){this.cacheStore.set(i,{content:"",status:ee.LOADING});try{const s=await ta(i,e);this.cacheStore.set(i,{content:s,status:ee.LOADED})}catch(s){throw this.cacheStore.set(i,{content:"",status:ee.FAILED}),s}}}async fetchAndAddToPersistentCache(i,e){var o,r,M;const t=this.cacheStore.get(i);if((t==null?void 0:t.status)===ee.LOADED)return;if((t==null?void 0:t.status)===ee.LOADING){await this.handleLoading(i,async()=>{this.cacheStore.set(i,{content:"",status:ee.IDLE}),await this.fetchAndAddToPersistentCache(i,e)});return}this.cacheStore.set(i,{content:"",status:ee.LOADING});const s=await((o=this.cacheApi)==null?void 0:o.match(i));if(s){const n=await s.text();this.cacheStore.set(i,{content:n,status:ee.LOADED});return}try{await((r=this.cacheApi)==null?void 0:r.add(new Request(i,e)));const n=await((M=this.cacheApi)==null?void 0:M.match(i)),u=await(n==null?void 0:n.text())??"";this.cacheStore.set(i,{content:u,status:ee.LOADED})}catch(n){throw this.cacheStore.set(i,{content:"",status:ee.FAILED}),n}}async handleLoading(i,e){var t;for(let s=0;s({[i]:e}))}async delete(i){this.cacheApi&&await this.cacheApi.delete(i),this.cacheStore.delete(i)}async clear(){if(this.cacheApi){const i=await this.cacheApi.keys();await Promise.allSettled(i.map(e=>this.cacheApi.delete(e)))}this.cacheStore.clear()}};function NM(i){const e=b.useRef(void 0);return b.useEffect(()=>{e.current=i}),e.current}function mne(i){const{baseURL:e,content:t,description:s,handleError:o,hash:r,preProcessor:M,title:n,uniquifyIDs:u=!1}=i;try{const N=One(t,M),l=ea(N,{nodeOnly:!0});if(!l||!(l instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const c=sa(l,{baseURL:e,hash:r,uniquifyIDs:u});if(s){const L=c.querySelector("desc");L!=null&&L.parentNode&&L.parentNode.removeChild(L);const j=document.createElementNS("http://www.w3.org/2000/svg","desc");j.innerHTML=s,c.prepend(j)}if(typeof n<"u"){const L=c.querySelector("title");if(L!=null&&L.parentNode&&L.parentNode.removeChild(L),n){const j=document.createElementNS("http://www.w3.org/2000/svg","title");j.innerHTML=n,c.prepend(j)}}return c}catch(N){return o(N)}}function One(i,e){return e?e(i):i}function sa(i,e){const{baseURL:t="",hash:s,uniquifyIDs:o}=e,r=["id","href","xlink:href","xlink:role","xlink:arcrole"],M=["href","xlink:href"],n=(u,N)=>M.includes(u)&&(N?!N.includes("#"):!1);return o&&[...i.children].forEach(u=>{var N;if((N=u.attributes)!=null&&N.length){const l=Object.values(u.attributes).map(c=>{const L=c,j=/url\((.*?)\)/.exec(c.value);return j!=null&&j[1]&&(L.value=c.value.replace(j[0],`url(${t}${j[1]}__${s})`)),L});r.forEach(c=>{const L=l.find(j=>j.name===c);L&&!n(c,L.value)&&(L.value=`${L.value}__${s}`)})}return u.children.length?sa(u,e):u}),i}var Jt;function Ene(i){const{cacheRequests:e=!0,children:t=null,description:s,fetchOptions:o,innerRef:r,loader:M=null,onError:n,onLoad:u,src:N,title:l,uniqueHash:c}=i,[L,j]=b.useReducer((F,G)=>({...F,...G}),{content:"",element:null,isCached:e&&Jt.isCached(i.src),status:ee.IDLE}),{content:T,element:D,isCached:z,status:h}=L,O=NM(i),p=NM(L),E=b.useRef(c??Cne(8)),C=b.useRef(!1),I=b.useRef(!1),_=b.useCallback(F=>{C.current&&(j({status:F.message==="Browser does not support SVG"?ee.UNSUPPORTED:ee.FAILED}),n==null||n(F))},[n]),k=b.useCallback((F,G=!1)=>{C.current&&j({content:F,isCached:G,status:ee.LOADED})},[]),f=b.useCallback(async()=>{const F=await ta(N,o);k(F)},[o,k,N]),P=b.useCallback(()=>{try{const F=mne({...i,handleError:_,hash:E.current,content:T}),G=ea(F);if(!G||!b.isValidElement(G))throw new Error("Could not convert the src to a React element");j({element:G,status:ee.READY})}catch(F){_(F)}},[T,_,i]),Y=b.useCallback(async()=>{const F=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(N);let G;if(F?G=F[1]?window.atob(F[2]):decodeURIComponent(F[2]):N.includes("{C.current&&j({content:"",element:null,isCached:!1,status:ee.LOADING})},[]);b.useEffect(()=>{if(C.current=!0,!(!js()||I.current)){try{if(h===ee.IDLE){if(!Ine())throw new Error("Browser does not support SVG");if(!N)throw new Error("Missing src");V()}}catch(F){_(F)}return I.current=!0,()=>{C.current=!1}}},[]),b.useEffect(()=>{if(!(!js()||!O)&&O.src!==N){if(!N){_(new Error("Missing src"));return}V()}},[_,V,O,N]),b.useEffect(()=>{h===ee.LOADED&&P()},[h,P]),b.useEffect(()=>{!js()||!O||O.src!==N||(O.title!==l||O.description!==s)&&P()},[s,P,O,N,l]),b.useEffect(()=>{if(p)switch(h){case ee.LOADING:{p.status!==ee.LOADING&&Y();break}case ee.LOADED:{p.status!==ee.LOADED&&P();break}case ee.READY:{p.status!==ee.READY&&(u==null||u(N,z));break}}},[Y,P,z,u,p,N,h]);const oe=wne(i,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return js()?D?b.cloneElement(D,{ref:r,...oe}):[ee.UNSUPPORTED,ee.FAILED].includes(h)?t:M:M}function No(i){Jt||(Jt=new pne);const{loader:e}=i,[t,s]=b.useState(Jt.isReady);return b.useEffect(()=>{t||Jt.onReady(()=>{s(!0)})},[t]),t?a.createElement(Ene,{...i}):e}function _ne(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.createElement("path",{fill:"currentColor",d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"}))}function o4e(i){let e;const t=i==null?void 0:i._id;return t?(t.startsWith("_design/")||t==="system"?e=a.createElement(m.SettingsApplications,{className:"iconOwn"}):t==="0_userdata"||t==="0_userdata.0"?e=a.createElement(m.Photo,{className:"iconOwn"}):t==="alias"||t==="alias.0"?e=a.createElement(_ne,{className:"iconOwn"}):t==="system.adapter"?e=a.createElement(m.SettingsApplications,{className:"iconOwn"}):t==="system.group"?e=a.createElement(m.SupervisedUserCircle,{className:"iconOwn"}):t==="system.user"?e=a.createElement(m.PersonOutlined,{className:"iconOwn"}):t==="system.host"?e=a.createElement(m.Router,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?e=a.createElement(m.Wifi,{className:"iconOwn"}):t.endsWith(".info")?e=a.createElement(m.Info,{className:"iconOwn"}):(i==null?void 0:i.type)==="meta"&&(e=a.createElement(m.Description,{className:"iconOwn"})),e||null):null}function r4e(i,e){e=e||".";let t="";const s=i==null?void 0:i.common;if(s){const o=s.icon;if(o)if(o.startsWith("data:image/"))t=o;else if(o.includes(".")){let r;i.type==="instance"||i.type==="adapter"?t=`${e}/adapter/${s.name}/${o}`:i._id&&i._id.startsWith("system.adapter.")?(r=i._id.split(".",3),o[0]==="/"?r[2]+=o:r[2]+=`/${o}`,t=`${e}/adapter/${r[2]}`):(r=i._id.split(".",2),o[0]==="/"?r[0]+=o:r[0]+=`/${o}`,t=`${e}/adapter/${r[0]}`)}else return null}return t||null}const Sne=window.location.hostname.endsWith("iobroker.in"),lM=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);function Ie(i){var e,t,s;if(i.src){if(typeof i.src=="string"){if(i.src.length<3)return i.sx?a.createElement(g.Box,{component:"span",sx:i.sx,title:i.title||void 0,style:{height:27,marginTop:-8,...i.styleUTF8||i.style},className:S.clsx(i.className,"iconOwn")},i.src):a.createElement("span",{title:i.title||void 0,style:{height:27,marginTop:-8,...i.styleUTF8||i.style},className:S.clsx(i.className,"iconOwn")},i.src);if(i.src.startsWith("data:image/svg"))return a.createElement(No,{title:i.title||void 0,src:i.src,className:S.clsx(i.className,"iconOwn"),width:((e=i.style)==null?void 0:e.width)||28,height:((t=i.style)==null?void 0:t.height)||((s=i.style)==null?void 0:s.width)||28,style:i.style||void 0});if(Sne&&!i.src.startsWith("http://")&&!i.src.startsWith("https://")){let o=i.src;return o.startsWith("./")?o=lM+o.substring(2):o.startsWith("/")||(o=lM+o),i.sx?a.createElement(g.Box,{component:"img",sx:i.sx,title:i.title||void 0,style:i.style||void 0,className:S.clsx(i.className,"iconOwn"),src:`https://remote-files.iobroker.in${o}`,alt:i.alt||void 0,ref:i.ref,onError:r=>i.onError&&i.onError(r)}):a.createElement("img",{title:i.title||void 0,style:i.style||void 0,className:S.clsx(i.className,"iconOwn"),src:`https://remote-files.iobroker.in${o}`,alt:i.alt||void 0,ref:i.ref,onError:r=>i.onError&&i.onError(r)})}return i.sx?a.createElement(g.Box,{component:"img",sx:i.sx,title:i.title||void 0,style:i.style||void 0,className:S.clsx(i.className,"iconOwn"),src:i.src,alt:i.alt||void 0,ref:i.ref,onError:i.onError}):a.createElement("img",{title:i.title||void 0,style:i.style||void 0,className:S.clsx(i.className,"iconOwn"),src:i.src,alt:i.alt||void 0,ref:i.ref,onError:i.onError})}return i.src}return null}const zt={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"}},ge={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 LM(i,e){let t="";const s=new Uint8Array((i==null?void 0:i.data)||i),o=s.byteLength;for(let r=0;r{let r="";o.file!==void 0&&(r=o.file);const M={copyPossible:this.state.copyPossible,ext:this.state.ext};if(r.type==="Buffer")if(s.toLowerCase().endsWith(".json5")){M.ext="json5",M.copyPossible=!0;try{r=atob(LM(r,!0))}catch{console.error("Cannot convert base64 to string"),r=""}}else{const n=S.detectMimeType(LM(r));n&&(M.ext=n,M.copyPossible=ge.code.includes(n)||ge.txt.includes(n))}M.copyPossible&&(M.ext&&ge.txt.includes(M.ext)?(M.text=r,M.editingValue=r):M.ext&&ge.code.includes(M.ext)&&(M.code=r,M.editingValue=r)),this.setState(M)}).catch(o=>window.alert(`Cannot read file: ${o}`))}}componentDidMount(){this.readFile();const e=this.props.href.split("/");e.splice(0,2);const t=e[0],s=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,s,this.onFileChanged).catch(o=>window.alert(`Cannot subscribe on file: ${o}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);const e=this.props.href.split("/");e.splice(0,2);const t=e[0],s=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,s,this.onFileChanged).catch(o=>window.alert(`Cannot subscribe on file: ${o}`))}onFileChanged=(e,t,s)=>{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,s===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))};getEditorOrViewer(){return a.createElement(g.TextField,{variant:"standard",style:zt.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&ge.images.includes(this.state.ext)?this.state.imgError?a.createElement(Fo,{style:{...zt.img,...this.props.getStyleBackgroundImage()}}):a.createElement(Ie,{onError:e=>{e.target.onerror=null,this.setState({imgError:!0})},style:{...zt.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&ge.audio.includes(this.state.ext)?a.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},a.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&ge.video.includes(this.state.ext)?a.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},a.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},a.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 a.createElement(g.Dialog,{sx:{"&.MuiDialog-scrollPaper":zt.dialog,"& .MuiDialog-paper":zt.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},a.createElement("div",{style:zt.dialogTitle},a.createElement(g.DialogTitle,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&ge.images.includes(this.state.ext)&&a.createElement("div",null,a.createElement(g.IconButton,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},a.createElement(m.Brightness6,null)))),a.createElement(g.DialogContent,{style:zt.content},this.getContent()),a.createElement(g.DialogActions,null,this.state.copyPossible?a.createElement(g.Button,{color:"grey",onClick:e=>{e.stopPropagation(),e.preventDefault(),S.copyToClipboard(this.state.text||this.state.code||"")},startIcon:a.createElement(m.ContentCopy,null)},this.props.t("Copy content")):null,this.state.editing?a.createElement(g.Button,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:a.createElement(m.Save,null)},this.props.t("Save")):null,a.createElement(g.Button,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:a.createElement(m.Close,null)},this.props.t("Close"))))}}const fne=di()(xne),vt=32,He=32,$s=120,jM=64,gM="Not found",Ps={all:m.InsertDriveFile,images:m.Image,code:m.Code,txt:m.FontDownload,audio:m.AudioFile,video:m.Videocam},U={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 8px)",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 ${jM}px`},itemTile:i=>({position:"relative",userSelect:"none",cursor:"pointer",height:$s,width:jM,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:i.palette.secondary.light,color:S.invertColor(i.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:i=>({width:"100%",height:$s-32-16-8,display:"block",pl:1,color:i.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:i=>({position:"absolute",top:22,left:18,zIndex:1,color:(i.palette.mode==="dark","#FFF")}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:$s-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:$s-32-16-8,display:"block",objectFit:"contain"},itemSelected:i=>({background:i.palette.primary.main,color:S.invertColor(i.palette.primary.main,!0)}),itemTable:i=>({userSelect:"none",cursor:"pointer",height:vt,display:"inline-flex",lineHeight:`${vt}px`,"&:hover":{background:i.palette.secondary.light,color:S.invertColor(i.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:i=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:i.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:i=>({display:"inline-block",width:He,height:vt,minWidth:He,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${He/2}px`,"&:hover":{backgroundColor:i.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:i.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:He,height:vt,minWidth:He,padding:0},itemAclButtonTable:{width:He,height:vt,minWidth:He,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:He,height:vt,minWidth:He,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:i=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:i.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:i=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:i.palette.secondary.main,color:i.palette.secondary.contrastText,borderRadius:"4px 4px 0 0"}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:i=>({pl:"2px",pr:"2px",cursor:"pointer",color:"white","&:hover":{backgroundColor:i.palette.primary.main,color:i.palette.primary.contrastText}}),pathDivBreadcrumbSelected:{color:"#FFF"},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:i=>({color:i.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},rt="0_userdata.0";function bt(i){const e=(i||"").split("/");return e.length&&e.pop(),e.join("/")}function Yi(i){const e=S.getFileExtension(i);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const q="Table",Qi="Tile";function TM(i,e){return i.folder&&e.folder?i.name>e.name?1:i.namee.name?1:i.name{var N;return u.startsWith(`${this.limitToPath}/`)||u===this.limitToPath||((N=this.limitToPath)==null?void 0:N.startsWith(`${u}/`))}))}catch{s=[]}let o;this.props.showViewTypeButton?o=this.localStorage.getItem("files.viewType")||q:o=q;let r=this.props.selected||this.localStorage.getItem("files.selected")||rt,M;if(e.restrictToFolder){r=e.restrictToFolder,M=e.restrictToFolder;const u=e.restrictToFolder.split("/");s=[];let N="";for(let l=0;l{if(this.state.viewType===q&&!this.findItem(this.state.selected)){const t=this.state.selected.split("/");for(;t.length&&!this.findItem(t.join("/"));)t.pop();let s;t.length?s=t.join("/"):s=rt,this.setState({selected:s,path:s,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){const e=document.getElementById(this.state.selected);e==null||e.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(e=>console.error(`Cannot load folders: ${e}`)),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(e=>e&&clearTimeout(e)),this._tempTimeout={}}browseFoldersCb(e,t,s){if(!(e!=null&&e.length))s(t);else{const o=e.shift();o?this.browseFolder(o,t).catch(r=>console.error(`Cannot read folder ${o}: ${r.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(e,t,s),0)}):setTimeout(()=>this.browseFoldersCb(e,t,s),0)}}browseFolders(e,t){let s;return t?s=t:(s={},Object.keys(this.state.folders).forEach(o=>s[o]=this.state.folders[o])),e!=null&&e.length?new Promise(o=>{this.browseFoldersCb(e,s,o)}):Promise.resolve(s)}readDirSerial(e,t){return new Promise((s,o)=>{this.browseList&&(this.browseList.push({resolve:s,reject:o,adapter:e,relPath:t}),this.browseListRunning||this.processBrowseList())})}processBrowseList(e=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(t=>{if(this.browseList){const s=this.browseList.shift();if(s){const o=s.resolve;s.resolve=null,s.reject=null,s.adapter=null,s.relPath=null,o&&o(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(t=>{if(this.browseList){const s=this.browseList.shift();if(s){const o=s.reject;s.resolve=null,s.reject=null,s.adapter=null,s.relPath=null,o&&o(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(e,t,s,o){let r;if(t?r=t:(r={},Object.keys(this.state.folders).forEach(c=>{r[c]=this.state.folders[c]})),r[e]&&!o)return s?Promise.resolve(r):new Promise((c,L)=>{Promise.all(r[e].filter(j=>j.folder).map(j=>this.browseFolder(j.id,r,!0).catch(()=>{}))).then(()=>c(r)).catch(j=>L(new Error(j)))});if(!e||e==="/"){try{let c=await this.props.socket.readMetaItems();const L=[];let j=null;if(this.state.restrictToFolder){const D=this.state.restrictToFolder.split("/")[0];c=c.filter(z=>z._id===D)}else this.state.expertMode||(c=c.filter(D=>!D._id.endsWith(".admin")));const T=c.findIndex(D=>D._id==="system.meta.uuid");if(T!==-1&&c.splice(T,1),c.forEach(D=>{if(this.limitToObjectID&&this.limitToObjectID!==D._id)return;const z={id:D._id,name:D._id,title:D.common&&D.common.name||D._id,meta:!0,from:D.from,ts:D.ts,color:D.common&&D.common.color,icon:D.common&&D.common.icon,folder:!0,acl:D.acl,level:0};z.id===rt?j=z:L.push(z)}),L.sort((D,z)=>D.id>z.id?1:D.idD.folder).map(D=>this.browseFolder(D.id,r,!0).catch(()=>{}))).then(()=>r)}catch(c){const L=c;this.initialReadFinished&&window.alert(`Cannot read meta items: ${L.message}`),r[e||"/"]=[]}return r}const M=e.split("/"),n=M.length,u=M.shift(),N=M.join("/");let l;try{l=await this.readDirSerial(u||"",N)}catch(c){if(c==="Not exists"&&u==="0_userdata.0")l=[];else throw c}try{const c=[];if(l.forEach(L=>{var T;const j={id:`${e}/${L.file}`,ext:S.getFileExtension(L.file),folder:L.isDir,name:L.file,size:(T=L.stats)==null?void 0:T.size,modified:L.modifiedAt,acl:L.acl,level:n};this.state.restrictToFolder?(j.folder&&(j.id.startsWith(`${this.state.restrictToFolder}/`)||j.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${j.id}/`))||j.id.startsWith(`${this.state.restrictToFolder}/`))&&c.push(j):this.limitToPath?(j.folder&&(j.id.startsWith(`${this.limitToPath}/`)||j.id===this.limitToPath||this.limitToPath.startsWith(`${j.id}/`))||j.id.startsWith(`${this.limitToPath}/`))&&c.push(j):c.push(j)}),c.sort(TM),r[e]=c,!s)return Promise.all(c.filter(L=>L.folder).map(L=>this.browseFolder(L.id,r,!0))).then(()=>r)}catch(c){const L=c;this.initialReadFinished&&window.alert(`Cannot read ${u}${N?`/${N}`:""}: ${L==null?void 0:L.message}`),r[e]=[]}return r}toggleFolder(e,t){t==null||t.stopPropagation();const s=[...this.state.expanded],o=s.indexOf(e.id);o===-1?(s.push(e.id),s.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(s)),e.temp?this.setState({expanded:s}):this.browseFolder(e.id).then(r=>this.setState({expanded:s,folders:r})).catch(r=>window.alert(r===gM?this.props.t('ra_Cannot find "%s"',e.id):this.props.t('ra_Cannot read "%s"',e.id)))):(s.splice(o,1),this.localStorage.setItem("files.expanded",JSON.stringify(s)),this.setState({expanded:s}))}onFileChange=(e,t,s)=>{const o=`${e}/${t}`,r=o.lastIndexOf("/"),M=o.substring(0,r);console.log(`File changed ${o}[${s}]`),this.state.folders[M]&&(this._tempTimeout[M]&&clearTimeout(this._tempTimeout[M]),this._tempTimeout[M]=setTimeout(()=>{delete this._tempTimeout[M],this.browseFolder(M,null,!1,!0).then(n=>this.setState({folders:n})).catch(n=>console.error(`Cannot read folder: ${n.message}`))},300))};changeFolder(e,t){var o;e==null||e.stopPropagation(),this.lastSelect=Date.now();let s=t||bt(this.state.currentDir);if(s==="/"&&(s=""),this.state.viewType==="Tile"&&((o=this.refFileDiv.current)!=null&&o.scrollTop)&&(this.scrollPositions[this.state.currentDir]=this.refFileDiv.current.scrollTop),this.localStorage.setItem("files.currentDir",s),t&&e&&(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)){this.setState({selected:s});return}if(s&&!this.state.folders[s]){this.browseFolder(s).then(r=>this.setState({folders:r,path:s,currentDir:s,selected:s,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(r=>console.error(`Cannot read folder: ${r.message}`));return}this.setState({currentDir:s,selected:s,path:s,pathFocus:!1},()=>{if(this.props.onSelect&&this.props.onSelect(""),this.state.viewType==="Tile"&&this.scrollPositions[this.state.currentDir]){const r=this.scrollPositions[this.state.currentDir];delete this.scrollPositions[this.state.currentDir],this.refFileDiv.current&&(this.refFileDiv.current.scrollTop=r)}})}select(e,t,s){t&&t.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",e),this.setState({selected:e,path:e,pathFocus:!1},()=>{if(this.props.onSelect){const o=S.getFileExtension(e);(!this.props.filterFiles||o&&this.props.filterFiles.includes(o))&&(!this.state.filterByType||o&&ge[this.state.filterByType].includes(o))?this.props.onSelect(e,!1,!!this.state.folders[e]):this.props.onSelect("")}s&&s()})}getText(e){if(e)return typeof e=="object"?e[this.props.lang]||e.en||void 0:e}renderFolder(e,t){var u;if(this.state.filterEmpty&&!((u=this.state.folders[e.id])!=null&&u.length)&&e.id!==rt&&!e.temp)return null;const s=t?Ks:Gt,o=this.state.viewType===q?e.level*this.levelPadding:0,r=e.name===rt,M=r||e.name==="vis.0"||e.name==="vis-2.0",n=S.getStyle(this.props.theme,U[`itemFolderIcon${this.state.viewType}`],M&&U.specialFolder);return a.createElement(g.Box,{component:"div",key:e.id,id:e.id,style:this.state.viewType===q?{marginLeft:o,width:`calc(100% - ${o}px`}:void 0,onClick:N=>this.state.viewType===q?this.select(e.id,N):this.changeFolder(N,e.id),onDoubleClick:N=>this.state.viewType===q&&this.toggleFolder(e,N),title:this.getText(e.title),className:"browserItem",sx:S.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFolder${this.state.viewType}`],this.state.selected===e.id?U.itemSelected:{},e.temp?U.itemFolderTemp:{})},a.createElement(s,{style:n,onClick:this.state.viewType===q?N=>this.toggleFolder(e,N):void 0}),a.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,U[`itemName${this.state.viewType}`],U[`itemNameFolder${this.state.viewType}`])},r?this.props.t("ra_User files"):e.name),a.createElement(g.Box,{component:"div",style:U[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===q&&this.state.folders[e.id]?this.state.folders[e.id].length:""),a.createElement(g.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===q&&this.props.expertMode?this.formatAcl(e.acl):null),this.state.viewType===q&&this.props.expertMode?a.createElement(g.Box,{component:"div",sx:{...U.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===q&&this.props.allowDownload?a.createElement("div",{style:U[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===q&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?a.createElement(g.IconButton,{"aria-label":"delete",onClick:N=>{N.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:U[`itemDeleteButton${this.state.viewType}`],size:"large"},a.createElement(m.Delete,{fontSize:"small"})):this.state.viewType===q&&this.props.allowDelete?a.createElement(g.Box,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return a.createElement(g.Box,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:e=>this.changeFolder(e),title:this.props.t("ra_Back to %s",bt(this.state.currentDir)),className:"browserItem",sx:S.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFolder${this.state.viewType}`])},a.createElement(Gt,{style:S.getStyle(this.props.theme,U[`itemFolderIcon${this.state.viewType}`])}),a.createElement(m.ArrowBack,{sx:U.itemFolderIconBack}),a.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,U[`itemName${this.state.viewType}`],U[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(e){return a.createElement("div",{style:U[`itemSize${this.state.viewType}`]},e||e===0?S.formatBytes(e):"")}formatAcl(e){const t=e?e.permissions||e.file:0;let s;return t?s=t.toString(16).padStart(3,"0"):s="",a.createElement("div",{style:U[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?a.createElement(g.IconButton,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:U[`itemAclButton${this.state.viewType}`]},s||"---"):s||"---")}getFileIcon(e){switch(e){case"json":case"json5":return a.createElement(m.Bookmark,{style:U[`itemIcon${this.state.viewType}`]});case"css":return a.createElement(m.BookmarkBorder,{style:U[`itemIcon${this.state.viewType}`]});case"js":case"ts":return a.createElement(m.Code,{style:U[`itemIcon${this.state.viewType}`]});case"html":case"md":return a.createElement(m.Description,{style:U[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return a.createElement(m.MusicNote,{style:U[`itemIcon${this.state.viewType}`]});default:return a.createElement(m.InsertDriveFile,{style:U[`itemIcon${this.state.viewType}`]})}}static getEditFile(e){switch(e){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":return!0;default:return!1}}setStateBackgroundImage=()=>{const e=["light","dark","colored","delete"];this.setState(({backgroundImage:t})=>t&&e.indexOf(t)!==-1&&e.length-1!==e.indexOf(t)?(this.localStorage.setItem("files.backgroundImage",e[e.indexOf(t)+1]),{backgroundImage:e[e.indexOf(t)+1]}):(this.localStorage.setItem("files.backgroundImage",e[0]),{backgroundImage:e[0]}))};getStyleBackgroundImage=()=>{switch(this.state.backgroundImage){case"light":return U.backgroundImageLight;case"dark":return U.backgroundImageDark;case"colored":return U.backgroundImageColored;case"delete":return null;default:return null}};renderFile(e){const t=this.state.viewType===q?e.level*this.levelPadding:0,s=S.getFileExtension(e.name);return a.createElement(g.Box,{component:"div",key:e.id,id:e.id,onDoubleClick:o=>{o.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&ge[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:s})},onClick:o=>this.select(e.id,o),style:this.state.viewType===q?{marginLeft:t,width:`calc(100% - ${t}px)`}:void 0,className:"browserItem",sx:S.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFile${this.state.viewType}`],this.state.selected===e.id?U.itemSelected:void 0)},s&&ge.images.includes(s)?this.state.fileErrors.includes(e.id)?a.createElement(Fo,{style:{...U[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...U[`itemNoImage${this.state.viewType}`]}}):a.createElement(Ie,{onError:o=>{o.target.onerror=null;const r=[...this.state.fileErrors];r.includes(e.id)||(r.push(e.id),this.setState({fileErrors:r}))},style:{...U[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+e.id,alt:e.name}):this.getFileIcon(s),a.createElement(g.Box,{component:"div",sx:U[`itemName${this.state.viewType}`]},e.name),a.createElement(g.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(e.size)),a.createElement(g.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===q&&this.props.expertMode?this.formatAcl(e.acl):null),a.createElement(g.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===q&&this.props.expertMode&&Go.getEditFile(s)?a.createElement(g.IconButton,{"aria-label":"edit",onClick:o=>{o.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&ge[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:s})},sx:U.itemDeleteButtonTable,size:"large"},a.createElement(m.Edit,{fontSize:"small"})):a.createElement(g.Box,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===q&&this.props.allowDownload?a.createElement(g.Box,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:U.itemDownloadButtonTable,tabIndex:0,download:e.id,href:this.imagePrefix+e.id,onClick:o=>o.stopPropagation()},a.createElement(m.SaveAlt,null)):null,this.state.viewType===q&&this.props.allowDelete&&e.id!=="vis.0/"&&e.id!=="vis-2.0/"&&e.id!==rt?a.createElement(g.IconButton,{"aria-label":"delete",onClick:o=>{o.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:U[`itemDeleteButton${this.state.viewType}`],size:"large"},a.createElement(m.Delete,{fontSize:"small"})):this.state.viewType===q&&this.props.allowDelete?a.createElement(g.Box,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(e){var t;if((t=this.state.folders)!=null&&t[e]){if(this.state.viewType===Qi){const o=[];return e&&e!=="/"&&o.push(this.renderBackFolder()),this.state.folders[e].forEach(r=>{r.folder?o.push(this.renderFolder(r)):(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&ge[this.state.filterByType].includes(r.ext))&&o.push(this.renderFile(r))}),o}const s=[];return this.state.folders[e].forEach(o=>{if(o.folder){const r=this.state.expanded.includes(o.id),M=this.renderFolder(o,r);if(Array.isArray(M)?M.forEach(n=>s.push(n)):s.push(M),this.state.folders[o.id]&&r){const n=this.renderItems(o.id);Array.isArray(n)?n.forEach(u=>s.push(u)):s.push(n)}}else(!this.props.filterFiles||o.ext&&this.props.filterFiles.includes(o.ext))&&(!this.state.filterByType||o.ext&&ge[this.state.filterByType].includes(o.ext))&&s.push(this.renderFile(o))}),s}return a.createElement("div",{style:{position:"relative"}},a.createElement(g.CircularProgress,{key:e,color:"secondary",size:24}),a.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){const e=this.props.showTypeSelector?Ps[this.state.filterByType||"all"]||Ps.all:null,t=this.findFirstFolder(this.state.selected);return a.createElement(g.Toolbar,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?a.createElement(g.IconButton,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...U.menuButton,...this.state.restrictToFolder?U.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},a.createElement(m.FolderSpecial,{fontSize:"small"})):null,this.props.showExpertButton?a.createElement(g.IconButton,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...U.menuButton,...this.state.expertMode?U.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},a.createElement(uo,null)):null,this.props.showViewTypeButton?a.createElement(g.IconButton,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:U.menuButton,"aria-label":"view mode",onClick:()=>{const s=this.state.viewType===q?Qi:q;this.localStorage.setItem("files.viewType",s);let o=this.state.selected;Yi(o)&&(o=bt(o)),this.setState({viewType:s,currentDir:o},()=>{this.state.viewType===q&&this.scrollToSelected()})},size:"small"},this.state.viewType!==q?a.createElement(m.List,{fontSize:"small"}):a.createElement(m.ViewModule,{fontSize:"small"})):null,a.createElement(g.IconButton,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:U.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"},a.createElement(m.FolderOpen,{fontSize:"small"})),a.createElement(g.IconButton,{edge:"start",title:this.props.t("ra_Reload files"),style:U.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},a.createElement(m.Refresh,{fontSize:"small"})),this.props.allowCreateFolder?a.createElement(g.IconButton,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:U.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},a.createElement(m.CreateNewFolder,{fontSize:"small"})):null,this.props.allowUpload?a.createElement(g.IconButton,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:U.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},a.createElement(m.Publish,{fontSize:"small"})):null,this.props.showTypeSelector&&e?a.createElement(g.Tooltip,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:U.tooltip}}},a.createElement(g.IconButton,{size:"small",onClick:s=>this.setState({showTypesMenu:s.target})},a.createElement(e,{fontSize:"small"}))):null,this.state.showTypesMenu?a.createElement(g.Menu,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(Ps).map(s=>{const o=Ps[s];return a.createElement(g.MenuItem,{key:s,selected:this.state.filterByType===s,onClick:()=>{s==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",s),this.setState({filterByType:s,showTypesMenu:null}))}},a.createElement(g.ListItemIcon,null,a.createElement(o,{fontSize:"small"})),a.createElement(g.ListItemText,null,this.props.t(`ra_fileType_${s}`)))})):null,a.createElement(g.Tooltip,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:U.tooltip}}},a.createElement(g.IconButton,{color:"inherit",edge:"start",style:U.menuButton,onClick:this.setStateBackgroundImage,size:"small"},a.createElement(m.Brightness6,{fontSize:"small"}))),this.state.viewType!==q&&this.props.allowDelete?a.createElement(g.Tooltip,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:U.tooltip}}},a.createElement("span",null,a.createElement(g.IconButton,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===rt,color:"inherit",edge:"start",style:U.menuButton,onClick:s=>{s.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},a.createElement(m.Delete,{fontSize:"small"})))):null)}findItem(e,t){if(t=t||this.state.folders,!t)return null;const s=e.split("/");s.pop();const o=s.join("/")||"/";return t[o]&&t[o].find(r=>r.id===e)||null}renderInputDialog(){if(this.state.addFolder){const e=this.findFirstFolder(this.state.selected);return e?a.createElement(cne,{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:t=>this.state.folders[e].find(s=>s.name===t)?"":this.props.t("ra_Duplicate name"),onClose:t=>{if(t){const s={};Object.keys(this.state.folders).forEach(n=>s[n]=this.state.folders[n]);const o=this.findItem(e),r=`${e}/${t}`;s[e].push({id:r,level:((o==null?void 0:o.level)||0)+1,name:t,folder:!0,temp:!0}),s[e].sort(TM),s[r]=[];const M=[...this.state.expanded];M.includes(e)||(M.push(e),M.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(M)),this.setState({addFolder:!1,folders:s,expanded:M},()=>this.select(r))}else this.setState({addFolder:!1})},replace:t=>t.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;const e=window.document.getElementsByClassName("browserItem");for(let t=0;tthis.setState({uploadFile:!1})},a.createElement(m.Close,null)),a.createElement(un,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:e=>{let t=e.length;e.forEach(s=>{const o=new FileReader;o.onabort=()=>console.log("file reading was aborted"),o.onerror=()=>console.log("file reading has failed"),o.onload=()=>{const r=this.findFirstFolder(this.state.selected);if(!r)window.alert(this.props.t("ra_Invalid parent folder!"));else{const M=`${r}/${s.name}`;this.uploadFile(M,o.result).then(()=>{--t||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){const n=[...this.state.expanded];n.includes(r)||(n.push(r),n.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(n))),this.setState({expanded:n},()=>this.select(M))}else setTimeout(()=>this.browseFolder(r,null,!1,!0).then(n=>{const u=[...this.state.expanded];u.includes(r)||(u.push(r),u.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(u))),this.setState({folders:n,expanded:u},()=>this.select(M))}),500)})})}},o.readAsArrayBuffer(s)})}},({getRootProps:e,getInputProps:t})=>a.createElement("div",{style:{...U.uploadDiv,...this.state.uploadFile==="dragging"?U.uploadDivDragging:void 0},...e()},a.createElement("input",{...t()}),a.createElement(g.Box,{component:"div",sx:U.uploadCenterDiv},a.createElement("div",{style:U.uploadCenterTextAndIcon},a.createElement(m.Publish,{style:U.uploadCenterIcon}),a.createElement("div",{style:U.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(e){const t=this.findItem(e);if(t!=null&&t.folder)return(this.state.folders[e]?Promise.all(this.state.folders[e].map(r=>this.deleteRecursive(r.id))):Promise.resolve()).then(()=>{if(t.level>=1){const r=e.split("/"),M=r.shift();this.props.socket.deleteFolder(M||"",r.join("/")).then(()=>{const n=JSON.parse(JSON.stringify(this.state.folders));delete n[t.id];const u=bt(t.id),N=n[u];if(N){const l=N.findIndex(c=>c.id===t.id);l!==-1&&N.splice(l,1),this.select(u,null,()=>this.setState({folders:n}))}})}});const s=e.split("/"),o=s.shift();return s.length?this.props.socket.deleteFile(o||"",s.join("/")).catch(r=>window.alert(`Cannot delete file: ${r}`)):Promise.resolve()}deleteItem(e){e=e||this.state.deleteItem,this.state.suppressDeleteConfirm&&(this.suppressDeleteConfirm=Date.now()+6e4*5),this.setState({deleteItem:"",suppressDeleteConfirm:!1},()=>this.deleteRecursive(e).then(()=>{const t={},s=this.state.expanded.indexOf(e);if(s!==-1){const o=[...this.state.expanded];o.splice(s,1),this.localStorage.setItem("files.expanded",JSON.stringify(o)),t.expanded=o}if(this.state.selected===e){const o=this.state.selected.split("/");o.pop(),t.selected=o.join("/")}if(this.supportSubscribes)this.setState(t);else{const o=this.findFirstFolder(e),r={};Object.keys(this.state.folders).forEach(M=>{M!==o&&!M.startsWith(`${o}/`)&&(r[M]=this.state.folders[M])}),t.folders=r,this.setState(t,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],r).then(M=>this.setState({folders:M})).catch(M=>console.error(M))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?a.createElement(g.Dialog,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},a.createElement(g.DialogTitle,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),a.createElement(g.DialogContent,null,a.createElement(g.DialogContentText,null,this.props.t("ra_Are you sure?")),a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{checked:this.state.suppressDeleteConfirm,onChange:()=>{this.setState({suppressDeleteConfirm:!this.state.suppressDeleteConfirm})}}),label:this.props.t("ra_no confirm for 5 mins")})),a.createElement(g.DialogActions,null,a.createElement(g.Button,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),a.createElement(g.Button,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const e=this.props.FileViewer||fne;return this.state.viewer?a.createElement(e,{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?a.createElement(Xn,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(e){this.cacheFolders||=JSON.parse(JSON.stringify(this.state.folders));let t;e.forEach(s=>{const o=this.findItem(s.id,this.cacheFolders);o&&JSON.stringify(o.acl)!==JSON.stringify(s.acl)&&(o.acl=s.acl,t=!0)}),t&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;const s=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:s})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let e=this.state.path;Yi(this.state.path)&&(e=bt(this.state.path)),new Promise(t=>{this.state.folders[e]?t(!0):this.browseFolder(e).then(s=>this.setState({folders:s},()=>t(!0))).catch(s=>this.setState({errorText:s===gM?this.props.t('ra_Cannot find "%s"',e):this.props.t('ra_Cannot read "%s"',e)}))}).then(t=>t&&this.setState({selected:this.state.path,currentDir:e,pathFocus:!1})).catch(t=>console.error(t))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){const e=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),t=[];return a.createElement(g.Breadcrumbs,{style:{paddingLeft:8,color:"#FFF"}},e.map((s,o)=>{s&&t.push(s);const r=t.join("/");return othis.changeFolder(M,r||"/")},s||this.props.t("ra_Root")):a.createElement("div",{style:U.pathDivBreadcrumbSelected,key:`${this.state.selected}_${o}`,onClick:()=>this.setState({pathFocus:!0})},s)}))}renderPath(){return a.createElement(g.Box,{component:"div",key:"path",sx:U.pathDiv},this.state.pathFocus?a.createElement(g.Input,{value:this.state.path,onKeyDown:e=>{e.key==="Enter"?this.changeToPath():e.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:a.createElement(g.IconButton,{size:"small",onClick:()=>this.changeToPath()},a.createElement(m.KeyboardReturn,null)),onBlur:()=>this.changeToPath(),onChange:e=>this.setState({path:e.target.value}),style:U.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(e=>console.error(`Cannot load folders: ${e}`))})},300)),a.createElement("div",{style:{...U.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===Qi?this.renderPath():null,a.createElement("div",{style:{...U.filesDiv,...U[`filesDiv${this.state.viewType}`]},onClick:e=>{this.state.viewType!==q&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(e,this.state.currentDir||"/"):e.stopPropagation())},id:"dev",ref:this.refFileDiv},this.state.viewType===q?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==q?a.createElement("div",{style:U.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())):a.createElement(g.LinearProgress,null)}}const kne=di()(Go),Yne="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIC0xMjAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDcyIDBoLTQ2NGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxOTJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGgzMnYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQwYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDI4OHYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQwYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDMyYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTE5MmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tMzkyIDIyNGgtMjR2LTE2aDI0em0zNDQgMGgtMjR2LTE2aDI0em00MC0zMmgtNDQ4di0xNzZoNDQ4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjU2IDE3NmMzNS4zNDc2NTYgMCA2NC0yOC42NTIzNDQgNjQtNjRzLTI4LjY1MjM0NC02NC02NC02NC02NCAyOC42NTIzNDQtNjQgNjRjLjAzOTA2MiAzNS4zMjgxMjUgMjguNjcxODc1IDYzLjk2MDkzOCA2NCA2NHptLTgtMTExLjI4MTI1djE1LjI4MTI1aDE2di0xNS4yODEyNWMyNC42MDU0NjkgNC4xNjAxNTYgNDEuOTE3OTY5IDI2LjQ3NjU2MiAzOS44MzIwMzEgNTEuMzQzNzUtMi4wODU5MzcgMjQuODY3MTg4LTIyLjg3ODkwNiA0My45ODQzNzUtNDcuODMyMDMxIDQzLjk4NDM3NXMtNDUuNzQ2MDk0LTE5LjExNzE4Ny00Ny44MzIwMzEtNDMuOTg0Mzc1Yy0yLjA4NTkzOC0yNC44NjcxODggMTUuMjI2NTYyLTQ3LjE4MzU5NCAzOS44MzIwMzEtNTEuMzQzNzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjAgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYwIDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNjQgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNjQgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzY4IDE3NmMxNi4wOTM3NS4wMTk1MzEgMjkuNjg3NS0xMS45Mzc1IDMxLjcxODc1LTI3LjkwNjI1IDIuMDM1MTU2LTE1Ljk2NDg0NC04LjEzMjgxMi0zMC45NDUzMTItMjMuNzE4NzUtMzQuOTU3MDMxdi0xNy4xMzY3MTloLTE2djE3LjEzNjcxOWMtMTUuNTg1OTM4IDQuMDExNzE5LTI1Ljc1MzkwNiAxOC45OTIxODctMjMuNzE4NzUgMzQuOTU3MDMxIDIuMDMxMjUgMTUuOTY4NzUgMTUuNjI1IDI3LjkyNTc4MSAzMS43MTg3NSAyNy45MDYyNXptMC00OGM4LjgzNTkzOCAwIDE2IDcuMTY0MDYyIDE2IDE2cy03LjE2NDA2MiAxNi0xNiAxNi0xNi03LjE2NDA2Mi0xNi0xNiA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im02NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDggMTEyaDMyYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTMyYy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDh6bTgtNjRoMTZ2MTZoLTE2em0wIDMyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMiAxMzZjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MzIgMTY4YzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Qne="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTUwNy41NDYgMTA1LjEyNWMwLTEuMDQ0LS4yMDUtMi4wOTEtLjY0Ny0zLjA3MmwtNDMuOTMtOTcuNjNjLTEuMjEtMi42OTItMy44ODgtNC40MjMtNi44MzktNC40MjNoLTE4Mi42M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgyMy44MTJ2ODIuNjNoLTgyLjYyNXYtODIuNjNoMjMuODEzYzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xODIuNjNjLTIuOTUxIDAtNS42MjkgMS43MzEtNi44NCA0LjQyM2wtNDMuOTMgOTcuNjNjLS40NDEuOTgxLS42NDYgMi4wMjgtLjY0NyAzLjA3MmgtLjAxNXYxMi4yMDNjMCAyOS41MTQgMjIuODI3IDUzLjc4IDUxLjc1MSA1Ni4xMTJsMzEuODY1IDU4LjQxOWgtNC4wMDdjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTYuNjMzYy4wMDUgMCAuMDEuMDAxLjAxNS4wMDFzLjAxMS0uMDAxLjAxNi0uMDAxaDE2LjYxOGM0LjE0MyAwIDcuNS0zLjM1NyA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTIuMTg5bC0zMi40NTYtNTkuNTAzYzE1Ljc1LTMuNDEzIDI5LjA1Ny0xMy40MzMgMzYuODc5LTI3LjAwMyA5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM3LjgyMiAxMy41NzEgMjEuMTI5IDIzLjU5MSAzNi44NzkgMjcuMDAzbC0zMi40NTYgNTkuNTAzaC0xMi4xODhjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTYuNjE4Yy4wMDUgMCAuMDExLjAwMS4wMTYuMDAxcy4wMS0uMDAxLjAxNS0uMDAxaDE2LjYzM2M0LjE0MyAwIDcuNS0zLjM1NyA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNC4wMDdsMzEuODY1LTU4LjQxOWMyOC45MjQtMi4zMzIgNTEuNzUxLTI2LjU5OCA1MS43NTEtNTYuMTEydi0xMi4yMDN6bS0xOS4wODUtNy40OTVoLTc4LjUyM3YtODIuNjNoNDEuMzQzem0tOTMuNTIzLTgyLjYzdjgyLjYzaC04Mi42MjV2LTgyLjYzem0tMTk1LjI1IDgyLjYzaC04Mi42MjV2LTgyLjYzaDgyLjYyNXptLTEzOC45NjgtODIuNjNoNDEuMzQzdjgyLjYzaC03OC41MjR6bS4wMzQgMTQzLjY0MWMtLjAxMSAwLS4wMjEtLjAwMS0uMDMyLS4wMDEtMjIuNzY3LS4wMTUtNDEuMjg1LTE4LjU0Mi00MS4yODUtNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjMCAyMi43NzgtMTguNTMxIDQxLjMxLTQxLjMwOCA0MS4zMTN6bTk3LjYyMSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjYyNSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMtLjAwMSAyMi43NzgtMTguNTM0IDQxLjMxMi00MS4zMTMgNDEuMzEyem05Ny42MjUgMGMtMjIuNzc5IDAtNDEuMzEyLTE4LjUzMy00MS4zMTItNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjMCAyMi43NzgtMTguNTM0IDQxLjMxMi00MS4zMTMgNDEuMzEyem05Ny42NDgtLjAwMWMtLjAwNSAwLS4wMDkgMC0uMDE0IDAtLjAwMyAwLS4wMDYgMC0uMDA5IDAtMjIuNzc5IDAtNDEuMzEyLTE4LjUzMy00MS4zMTItNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjLS4wMDEgMjIuNzcyLTE4LjUyMSA0MS4zLTQxLjI5IDQxLjMxMnoiLz4KICAgIDwvZz4KPC9zdmc+",Une="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOC41MzYgNTA4LjUzNiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ5OC41MzYgMzQ0LjMyMWgtMTcuMjk4Yy40MzQtMTcuNjcyLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjI5OGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OTdjMCAyNC42MDEgMTUuNzEyIDQ1LjU5NiAzNy42MjUgNTMuNDk0bC0xMS42MDEgMTEuNjAxYy0xMS4wODYgMTEuMDg2LTI1LjgyNiAxNy4xOTEtNDEuNTAzIDE3LjE5MS0zMi4zNjQgMC01OC42OTMtMjYuMzMtNTguNjkzLTU4LjY5M3YtNjYuNjRjMzYuMDg4IDEuMjY2IDU3Ljg0Ni0yMi4zOSA4MS4xNDktNDUuNjk0IDI4LjUxNy0zLjAyNCA1MC44MDktMjcuMjE2IDUwLjgwOS01Ni41MjJ2LTI1LjY5OGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC0xNy4yOThjLjQzNC0xNy42NzEtMTAuMjY3LTM0LjIxMi0yOS41NDctMzQuMjEycy0yOS45ODIgMTYuNTQtMjkuNTQ3IDM0LjIxMmgtMTcuM2MtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OThjMCAyNC42MDEgMTUuNzExIDQ1LjU5NiAzNy42MjUgNTMuNDk0bC0xMS42MDEgMTEuNjAxYy0xMS4wODYgMTEuMDg2LTI1LjgyNiAxNy4xOTEtNDEuNTAzIDE3LjE5MS0zMi4zNjQgMC01OC42OTMtMjYuMzMtNTguNjkzLTU4LjY5NCAwLTI1Ljg5NSAwLTUxLjc5MSAwLTc3LjY4NmgyMi43MTZjMTIuMjg1IDAgMTguNzI2IDE1LjUzIDEwLjAzMyAyNC4yMjEtOS4xMjIgOS4xMjEgNS4wMiAyMy4yNjQgMTQuMTQyIDE0LjE0MyA2LjQ1OC02LjQ1NyAxMC4wMTQtMTUuMDQyIDEwLjAxNC0yNC4xNzUgMC0xOC44NTItMTUuMzM3LTM0LjE4OC0zNC4xODktMzQuMTg4aC0yMi43MTZ2LTE4LjgyNGMyNi4yNTctNS4wNDMgNDYuMTYxLTI4LjE3NSA0Ni4xNjEtNTUuODgxdi0yMC44NTFjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMzYuOTE0di0yNC4yMzZoMzYuOTE0YzEyLjg0IDAgMTIuODU5LTIwIDAtMjBoLTkzLjgyOGMtMTIuODQgMC0xMi44NTkgMjAgMCAyMGgzNi45MTR2MjQuMjM1aC0zNi45MTRjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjAuODUxYzAgMjguMjMzIDIwLjY2OSA1MS43MTkgNDcuNjY3IDU2LjE1MXYxOC41NTVoLTIyLjcxNmMtMTguODUyIDAtMzQuMTg5IDE1LjMzNy0zNC4xODkgMzQuMTg4IDAgOS4xMzIgMy41NTYgMTcuNzE3IDEwLjAxNCAyNC4xNzUgOS4xMjEgOS4xMjEgMjMuMjYzLTUuMDIxIDE0LjE0My0xNC4xNDMtOC42ODUtOC42ODQtMi4yNjQtMjQuMjIxIDEwLjAzMy0yNC4yMjFoMjIuNzE2djc3LjY4NmMwIDMyLjM2NC0yNi4zMyA1OC42OTQtNTguNjk0IDU4LjY5NC0xNS42NzcgMC0zMC40MTctNi4xMDUtNDEuNTAyLTE3LjE5MWwtMTEuMjE4LTExLjIxOGMyMi41LTcuNTc1IDM4Ljc1Ni0yOC44NTYgMzguNzU2LTUzLjg3N3YtMjUuNjk4YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5OGMuNDM0LTE3LjY3MS0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4zYy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5OGMwIDI4LjcwNyAyMS4zOTQgNTIuNDk4IDQ5LjA3MyA1Ni4zbDIyLjkzNyAyMi45MzdjMTUuMTY0IDE1LjE2MyAzNi4wMSAyMy40ODYgNTcuNDMzIDIzLjAwM3Y2Ni42MTRjMCAzMi4zNjQtMjYuMzMgNTguNjkzLTU4LjY5MyA1OC42OTMtMTUuNjc3IDAtMzAuNDE3LTYuMTA1LTQxLjUwMi0xNy4xOTFsLTExLjYwMi0xMS42MDJjMjEuOTE0LTcuODk4IDM3LjYyNS0yOC44OTIgMzcuNjI1LTUzLjQ5NHYtMjUuNjk3YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5N2MuNDM0LTE3LjY3Mi0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4yOTljLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjUuNjk3YzAgMjkuMzA1IDIyLjI5MiA1My40OTcgNTAuODA4IDU2LjUyMWwyMi43MTcgMjIuNzE2YzE0Ljg2MyAxNC44NjMgMzQuNjI1IDIzLjA0OCA1NS42NDUgMjMuMDQ4IDQzLjM5MiAwIDc4LjY5My0zNS4zMDIgNzguNjkzLTc4LjY5M3YtNjkuNjU3YzE0LjQyNi00LjE2NCAyNy4xNjEtMTIuMzQyIDM2LjkwNS0yMy4yNTd2MjAuNTIyYzAgMTIuODQgMjAgMTIuODU5IDIwIDB2LTIwLjUyMmM5LjUyIDEwLjY2MyAyMS44ODkgMTguNzIzIDM1LjkwNSAyMi45NzJ2NjkuOTQ2YzAgNDMuMzkyIDM1LjMwMiA3OC42OTMgNzguNjkzIDc4LjY5MyAyMS4wMiAwIDQwLjc4MS04LjE4NiA1NS42NDUtMjMuMDQ4bDIyLjcxNi0yMi43MTZjMjguNTE2LTMuMDI1IDUwLjgwOC0yNy4yMTYgNTAuODA4LTU2LjUyMXYtMjUuNjk3Yy4wMDEtNS41MjQtNC40NzYtMTAuMDAxLTkuOTk5LTEwLjAwMXptLTExMi4yOTgtMTQ5LjkyN2MwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY0aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk4YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTh6bS0zMjYuOTE0LTI0LjY2NGMwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY0aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk4YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTh6bS0xMDQuODEyIDEyMC41OTljMC0xMi4zMTMgMTkuMDk1LTEyLjMxMyAxOS4wOTUgMHY0LjY2NWgtMTkuMDk1em00Ni4zOTIgMjQuNjY0djE1LjY5N2MwIDIwLjMxNi0xNi41MjkgMzYuODQ1LTM2Ljg0NSAzNi44NDVzLTM2Ljg0NS0xNi41MjgtMzYuODQ1LTM2Ljg0NXYtMTUuNjk3em0xMjMuNDExLTI3OC4zNjR2LTEwLjg1MWg3My44Mjh2MTAuODUxYzAgNDcuNTk2LTczLjgyOCA0Ny41OTYtNzMuODI4IDB6bTIyNS4wNDIgMjUzLjdjMC0xMi4zMTMgMTkuMDk1LTEyLjMxMyAxOS4wOTUgMHY0LjY2NWgtMTkuMDk1em00Ni4zOTMgMjQuNjY0djE1LjY5N2MwIDIwLjMxNi0xNi41MjkgMzYuODQ1LTM2Ljg0NSAzNi44NDVzLTM2Ljg0NS0xNi41MjktMzYuODQ1LTM2Ljg0NXYtMTUuNjk3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yODEuMjA2IDQ0MS44NDctMTYuNDM4LTkuNDl2LTIxLjY0NWMwLTEyLjg0LTIwLTEyLjg1OS0yMCAwdjIxLjYxOWwtMTYuNDgzIDkuNTE2Yy0zLjA5NCAxLjc4Ni01IDUuMDg3LTUgOC42NnYyNC43OGMwIDMuNTczIDEuOTA2IDYuODc0IDUgOC42NmwyMS40NiAxMi4zOWMzLjA2NyAxLjc3MSA2LjkzMyAxLjc3MSAxMCAwbDIxLjQ2LTEyLjM5YzMuMDk0LTEuNzg2IDUtNS4wODcgNS04LjY2di0yNC43OGMuMDAxLTMuNTczLTEuOTA1LTYuODc0LTQuOTk5LTguNjZ6bS0xNSAyNy42NjctMTEuNDYgNi42MTctMTEuNDYtNi42MTd2LTEzLjIzM2wxMS40Ni02LjYxNyAxMS40NiA2LjYxN3oiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ1LjUzNSAzNzQuMTgzYzEuNjM1IDMuOTI0IDUuNzE2IDYuNDY2IDkuOTY4IDYuMTM4IDQuMTY5LS4zMjIgNy43NzgtMy4yNzIgOC44OTctNy4zMDMgMi4zNjQtOC41MTMtNy4xOTEtMTUuNzU5LTE0Ljc3My0xMS4yMzUtNC4yMTQgMi41MTQtNS45NDUgNy44OC00LjA5MiAxMi40eiIvPgogICAgPC9nPgo8L3N2Zz4=",vne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtOSAxN2M0LjQxMSAwIDgtMy41ODkgOC04IDAtMS4yNTYtLjI5OS0yLjQ0MS0uODE4LTMuNTAxIDEuMTAzLTEuNTQ4IDIuODk4LTIuNDk5IDQuODE4LTIuNDk5IDIuODQgMCA1LjI3OCAyLjA2NCA1Ljc5OSA0LjgzMS0uMTkuMTA1LS4zNzUuMjE4LS41NTQuMzQyLTEuMjI0LS43NDctMi42MzYtMS4xNzMtNC4wNzQtMS4xNzNoLS4xNzF2MmguMTcxYy44OTYgMCAxLjc4LjIyMSAyLjU4LjYxNS0uMDgzLjEwOS0uMTcxLjIxMS0uMjQ4LjMyNmwtLjMzNi41MDQgMS42NjQgMS4xMDkuMzM2LS41MDRjLjg1Ny0xLjI4MyAyLjI5LTIuMDUgMy44MzMtMi4wNSAxLjEwMyAwIDIgLjg5NyAyIDJzLS44OTcgMi0yIDJoLTdjLTEuMTAzIDAtMi0uODk3LTItMmgtMmMwIDIuMjA2IDEuNzk0IDQgNCA0aDI1YzIuMjA2IDAgNC0xLjc5NCA0LTRzLTEuNzk0LTQtNC00Yy0uNDczIDAtLjkzNS4wNi0xLjM4Ny4xNTctMS4xNTktMy42MjMtNC41NDItNi4xNTctOC40My02LjE1Ny0zLjU0OSAwLTYuNzQ2IDIuMTA3LTguMTQ0IDUuMzY5bC0uMjc3LjY0NmMtLjM1Ni4wMTMtLjcwNi4wNTUtMS4wNS4xMjMtLjgyLTMuNTQyLTQuMDIzLTYuMTM4LTcuNzEyLTYuMTM4LTIuMzEyIDAtNC40ODggMS4wMzQtNS45NzggMi43NTEtMS40NjctMS42ODItMy42Mi0yLjc1MS02LjAyMi0yLjc1MS00LjQxMSAwLTggMy41ODktOCA4czMuNTg5IDggOCA4em0yOS4xODMtMTRjMy4wNDcgMCA1LjY3NiAyLjAxNyA2LjU0MSA0Ljg3Ny0uMTYzLjA5My0uMzI1LjE4OC0uNDc5LjI5NS0xLjIyNS0uNzQ2LTIuNjM2LTEuMTcyLTQuMDc0LTEuMTcyaC0uMTcxdjJoLjE3MWMuODk1IDAgMS43OC4yMjEgMi41OC42MTUtLjA4My4xMDktLjE3MS4yMTEtLjI0OC4zMjZsLS4zMzYuNTA0IDEuNjY0IDEuMTA5LjMzNi0uNTA0Yy44NTctMS4yODMgMi4yOS0yLjA1IDMuODMzLTIuMDUgMS4xMDMgMCAyIC44OTcgMiAycy0uODk3IDItMiAyaC0xNC41NTZjLjM0NC0uNTkxLjU1Ni0xLjI2OC41NTYtMiAwLTEuNTcxLS45MTgtMi45MTktMi4yMzgtMy41NzNsLjExNi0uMjdjMS4wODItMi41MjUgMy41NTctNC4xNTcgNi4zMDUtNC4xNTd6bS0yOS4xODMgMGMzLjMwOSAwIDYgMi42OTEgNiA2cy0yLjY5MSA2LTYgNi02LTIuNjkxLTYtNiAyLjY5MS02IDYtNnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTcgMzd2LTQuNWw0LTN2LTIuNWgtMnYxLjVsLTIgMS41di01aC0ydjdsLTItMS41di0xLjVoLTJ2Mi41bDQgM3YyLjVoLTEwdi02LjVsNC0zdi0yLjVoLTJ2MS41bC0yIDEuNXYtNC41ODZsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny40MTRsLTItMS41di0xLjVoLTJ2Mi41bDQgM3Y0LjVoLTE0di0xLjI3OWwuNDk2LS4xNjVjMy4yOTItMS4wOTggNS41MDQtNC4xNjYgNS41MDQtNy42MzYgMC0yLjE0OS0uODM3LTQuMTcxLTIuMzU3LTUuNjkxbC00LjY0My00LjY0My0zLjgyNSAzLjgyNWMtLjM5LS44MDItLjg5Ni0xLjU0Ni0xLjUzMi0yLjE4M2wtNC42NDMtNC42NDItNC42NDMgNC42NDNjLTEuNTIgMS41Mi0yLjM1NyAzLjU0Mi0yLjM1NyA1LjY5MSAwIDMuNDcgMi4yMTIgNi41MzggNS41MDMgNy42MzVsLjQ5Ny4xNjV2NC4yOGgtMTYuMjgxbC40OSAxLjk1OWMzLjUzOSAxNC4xNTUgMTYuMjAxIDI0LjA0MSAzMC43OTEgMjQuMDQxczI3LjI1Mi05Ljg4NiAzMC43OTEtMjQuMDQxbC40OS0xLjk1OXptLTI3LjM2NCA2LjI1OCAxLjE0NSAxLjcxN2MuMTQzLjIxNC4yMTkuNDY0LjIxOS43MjIgMCAuNzE5LS41ODQgMS4zMDMtMS4zMDMgMS4zMDNoLTE1LjM5NGMtLjcxOSAwLTEuMzAzLS41ODQtMS4zMDMtMS4zMDMgMC0uMjU4LjA3Ni0uNTA4LjIxOS0uNzIzbDEuMTQ2LTEuNzE4Yy40MTUtLjYyNC42MzUtMS4zNTEuNjM1LTIuMTAxIDAtLjc3LS4yNDYtMS41MjUtLjY4MS0yLjE1NWgxNS4zNjJjLS40MzUuNjMxLS42ODEgMS4zODUtLjY4MSAyLjE1NSAwIC43NS4yMiAxLjQ3Ny42MzYgMi4xMDN6bS0xLjYzNi0yMi44NDQgMy4yMjkgMy4yMjljMS4xNDIgMS4xNDIgMS43NzEgMi42NjIgMS43NzEgNC4yNzcgMCAyLjU1Ny0xLjYwNCA0LjgxNy00IDUuNjgxdi0xLjE4NmwyLjcwNy0yLjcwNy0xLjQxNC0xLjQxNC0xLjI5MyAxLjI5MnYtMi4xNzJsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny4wMTRjLTIuMzk2LS44NjMtNC0zLjEyMi00LTUuNjggMC0xLjYxNS42MjktMy4xMzUgMS43NzEtNC4yNzd6bS0xNSA0LjUwNmMwLTEuNjE1LjYyOS0zLjEzNSAxLjc3MS00LjI3N2wzLjIyOS0zLjIyOSAzLjIyOSAzLjIyOWMuNjY2LjY2NiAxLjE1MyAxLjQ4MSAxLjQ0OSAyLjM3MS0xLjA4NCAxLjQtMS42NzggMy4xMDYtMS42NzggNC45MDYgMCAuNDY0LjA0Ni45MTguMTIyIDEuMzY0LS42MDkuNTgxLTEuMzI5IDEuMDM0LTIuMTIyIDEuMzE5di02LjNsMS44MzItMi43NDgtMS42NjQtMS4xMDktMS4zMjMgMS45ODUtMS4xMzgtMS4xMzgtMS40MTQgMS40MTQgMS43MDcgMS43MDd2Mi4xNzJsLTEuMjkzLTEuMjkzLTEuNDE0IDEuNDE0IDIuNzA3IDIuNzA3djEuMTg2Yy0yLjM5Ni0uODYzLTQtMy4xMjItNC01LjY4em02IDcuODAxLjQ5Ni0uMTY1Yy44MjUtLjI3NSAxLjU4OS0uNjk2IDIuMjgxLTEuMjE2LjkxNiAxLjk0OCAyLjU4NiAzLjUwMiA0LjcyNiA0LjIxNWwuNDk3LjE2NXYxLjI4aC04em0tNy40MTQgNi4yNzkuODkuODljLjMzMy4zMzMuNTI0Ljc5NS41MjQgMS4yNjUgMCAuMzU0LS4xMDQuNjk4LS4zLjk5M2wtMS4xNDUgMS43MTdjLS4zNjMuNTQ0LS41NTUgMS4xNzgtLjU1NSAxLjgzMiAwIDEuODIyIDEuNDgxIDMuMzAzIDMuMzAzIDMuMzAzaDE1LjM5NWMxLjgyMSAwIDMuMzAyLTEuNDgxIDMuMzAyLTMuMzAzIDAtLjY1NC0uMTkyLTEuMjg4LS41NTUtMS44MzJsLTEuMTQ1LTEuNzE2Yy0uMTk2LS4yOTUtLjMtLjYzOS0uMy0uOTk0IDAtLjQ3MS4xOTEtLjkzMy41MjQtMS4yNjZsLjg5LS44OWg2LjgzNmMtLjE2LjM4NS0uMjUuODA2LS4yNSAxLjI0NyAwIDEuNDkyIDEuMDExIDIuNzg4IDIuNDU5IDMuMTQ5bDQuMjIgMS4wNTVjLjc3OC4xOTYgMS4zMjEuODkxIDEuMzIxIDEuNjkzIDAgLjcxNy0uNDMgMS4zNTMtMS4wOTYgMS42MThsLTYuMjc1IDIuNTExYy0xLjU5Ny42MzktMi42MjkgMi4xNjMtMi42MjkgMy44ODIgMCAxLjQ5Ni44MDcgMi44ODggMi4xMDcgMy42M2wyLjcxNSAxLjU1MWMtMy4wMDQgMS4wNDktNi4yMTUgMS42MjEtOS41MzcgMS42NTNsLTUuMDg2LTMuMzkxYy0uMTI0LS4wODItLjE5OS0uMjIxLS4xOTktLjM3MSAwLS4yMTkuMTU3LS40MDQuMzc0LS40NGwzLjQzNS0uNTcyYzEuMjY5LS4yMTMgMi4xOTEtMS4zMDIgMi4xOTEtMi41OSAwLTEuNDQ3LTEuMTc3LTIuNjI0LTIuNjI0LTIuNjI0aC0yMC42MDVjLTIuOTg5LTMuMzY3LTUuMjU2LTcuNDMtNi40ODYtMTJ6bTE0LjUwMyAyMC4yNjIgMi4yMyAxLjQ4N2MtNi4zMjktLjc4NC0xMi4xMDUtMy41NDgtMTYuNjA3LTcuNzQ5aDE4LjY2NGMuMzQ0IDAgLjYyNC4yOC42MjQuNjI0IDAgLjMwNy0uMjE5LjU2NS0uNTIxLjYxNmwtMy40MzQuNTcyYy0xLjE4NS4xOTgtMi4wNDUgMS4yMTItMi4wNDUgMi40MTQgMCAuODE5LjQwNyAxLjU4MSAxLjA4OSAyLjAzNnptMTguMTAzLS44NzUtNC4wOTMtMi4zMzljLS42NzgtLjM4OC0xLjA5OS0xLjExMy0xLjA5OS0xLjg5NCAwLS44OTcuNTM5LTEuNjkyIDEuMzcyLTIuMDI1bDYuMjc1LTIuNTExYzEuNDI5LS41NzEgMi4zNTMtMS45MzUgMi4zNTMtMy40NzUgMC0xLjcyMS0xLjE2Ni0zLjIxNC0yLjgzNS0zLjYzMmwtNC4yMi0xLjA1NWMtLjU1Ny0uMTQtLjk0NS0uNjM3LS45NDUtMS4yMSAwLS42ODcuNTU5LTEuMjQ2IDEuMjQ2LTEuMjQ2aDE4LjQ2OGMtMi4zNzYgOC44MjgtOC41NjUgMTUuODE0LTE2LjUyMiAxOS4zODd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDE3aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzkgMjFoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00MyAxN2gydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3IDE5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTEgMjNoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im01MSAxN2gydjJoLTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",bne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiID4KPGcgZmlsbD0iY3VycmVudENvbG9yIj4KCTxwYXRoIGQ9Ik01MTEuOTc2LDQxNi4wNjNjLTAuMDA1LTAuMDc1LTAuMDA0LTAuMTQ5LTAuMDExLTAuMjI0Yy0wLjAyNy0wLjI5Ny0wLjA3LTAuNTg4LTAuMTMxLTAuODczCgkJYy0wLjAwNi0wLjAyOC0wLjAxNS0wLjA1Ni0wLjAyMi0wLjA4NGMtMC4wNTktMC4yNjItMC4xMzItMC41MTgtMC4yMTgtMC43NjhjLTAuMDIzLTAuMDY3LTAuMDQ4LTAuMTMyLTAuMDczLTAuMTk4CgkJYy0wLjA4NC0wLjIyNy0wLjE3OS0wLjQ0OC0wLjI4NC0wLjY2M2MtMC4wMTgtMC4wMzgtMC4wMy0wLjA3Ny0wLjA0OS0wLjExNWwtNDAuMTEyLTc5LjExOFY3My43MgoJCWMwLTguMDA2LTYuNTEzLTE0LjUxOS0xNC41MTktMTQuNTE5SDU1LjQ0MWMtOC4wMDYsMC0xNC41MTksNi41MTMtMTQuNTE5LDE0LjUxOXYyNjAuMjk4TDAuODExLDQxMy4xMzcKCQljLTAuMDE5LDAuMDM4LTAuMDMxLDAuMDc3LTAuMDQ5LDAuMTE1Yy0wLjEwNSwwLjIxNS0wLjE5OSwwLjQzNi0wLjI4NCwwLjY2MmMtMC4wMjUsMC4wNjYtMC4wNSwwLjEzMi0wLjA3MywwLjE5OQoJCWMtMC4wODUsMC4yNTEtMC4xNTksMC41MDgtMC4yMTgsMC43N2MtMC4wMDYsMC4wMjctMC4wMTUsMC4wNTQtMC4wMjEsMC4wODFjLTAuMDYxLDAuMjg2LTAuMTA0LDAuNTc3LTAuMTMxLDAuODc0CgkJYy0wLjAwNywwLjA3NC0wLjAwNywwLjE0OS0wLjAxMSwwLjIyM0MwLjAxNCw0MTYuMjE3LDAsNDE2LjM3MSwwLDQxNi41Mjl2MTkuMDI2YzAsOS41MDksNy43MzUsMTcuMjQ0LDE3LjI0NCwxNy4yNDRoNDc3LjUxMgoJCWM5LjUwOSwwLDE3LjI0NC03LjczNSwxNy4yNDQtMTcuMjQ0di0xOS4wMjZDNTEyLDQxNi4zNzEsNTExLjk4Niw0MTYuMjE3LDUxMS45NzYsNDE2LjA2M3ogTTU1LjkyMyw3NC4yMDNoNDAwLjE1NHYyNTQuMTA5CgkJSDU1LjkyM1Y3NC4yMDN6IE01My4wMjksMzQzLjMxMUg0NTguOTdsMzMuMzE4LDY1LjcxN2gtMTY0Ljc4bC04LjI3MS0yOS45ODljLTEuNjg0LTYuMTA1LTcuMjgyLTEwLjM2OS0xMy42MTUtMTAuMzY5aC05OS4yNDYKCQljLTYuMzMzLDAtMTEuOTMyLDQuMjY0LTEzLjYxNSwxMC4zNjhsLTguMjcxLDI5Ljk5SDE5LjcxMUw1My4wMjksMzQzLjMxMXogTTMxMS45NDgsNDA5LjAyOUgyMDAuMDUybDYuOTkzLTI1LjM1OGg5Ny45MQoJCUwzMTEuOTQ4LDQwOS4wMjl6IE00OTcsNDM1LjU1NGMwLDEuMjM3LTEuMDA3LDIuMjQ0LTIuMjQ0LDIuMjQ0SDE3LjI0NGMtMS4yMzcsMC0yLjI0NC0xLjAwNy0yLjI0NC0yLjI0NHYtMTEuNTI2aDQ4MlY0MzUuNTU0eiIKCQkvPgoJPHBhdGggZD0iTTQzMi41NzcsMjEzLjc1NmMtNC4xNDMsMC03LjUsMy4zNTctNy41LDcuNXY3Ni4wNTVIODYuOTIzdi03Ni4wNTVjMC00LjE0My0zLjM1Ny03LjUtNy41LTcuNQoJCQljLTQuMTQzLDAtNy41LDMuMzU3LTcuNSw3LjV2NzkuMjk0YzAsNi40ODUsNS4yNzUsMTEuNzYxLDExLjc2MSwxMS43NjFoMzQ0LjYzM2M2LjQ4NSwwLDExLjc2MS01LjI3NSwxMS43NjEtMTEuNzYxdi03OS4yOTQKCQkJQzQ0MC4wNzcsMjE3LjExNSw0MzYuNzIsMjEzLjc1Niw0MzIuNTc3LDIxMy43NTZ6Ii8+Cgk8cGF0aCBkPSJNNDI4LjMxNiw5MC4yMDNIODMuNjg0Yy02LjQ4NSwwLTExLjc2MSw1LjI3NS0xMS43NjEsMTEuNzYxdjc5LjI5NGMwLDQuMTQzLDMuMzU3LDcuNSw3LjUsNy41YzQuMTQzLDAsNy41LTMuMzU3LDcuNS03LjUKCQkJdi03Ni4wNTVoMzM4LjE1NHY3Ni4wNTVjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNXM3LjUtMy4zNTcsNy41LTcuNXYtNzkuMjk0QzQ0MC4wNzcsOTUuNDc3LDQzNC44MDIsOTAuMjAzLDQyOC4zMTYsOTAuMjAzeiIvPgo8L2c+Cjwvc3ZnPgo=",$ne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTE2NC4zOTkgMjA1Ljg3MmM0LjA5OS42NjQgOC4yMDYtMS4yNzMgMTAuMjg0LTQuOTFsNjAtMTA1YzEuNzY5LTMuMDk1IDEuNzU2LTYuODk3LS4wMzMtOS45OHMtNS4wODUtNC45ODEtOC42NDktNC45ODFoLTM2LjY4MmwtMTMuNDg2LTcyLjgyMWMtLjc3Mi00LjE2OS00LjA4OS03LjM5OC04LjI3Ny04LjA1OC00LjE4NS0uNjYtOC4zMzcgMS4zOTQtMTAuMzUzIDUuMTIzbC02MCAxMTFjLTEuNjc1IDMuMDk5LTEuNTk3IDYuODUxLjIwOCA5Ljg3NiAxLjgwNCAzLjAyNSA1LjA2NiA0Ljg3OSA4LjU4OSA0Ljg3OWgzNi44MDJsMTMuMzkzIDY2Ljk2MWMuODE3IDQuMDkgNC4wODggNy4yNDIgOC4yMDQgNy45MTF6bS0xMy4zOTktOTQuODcxaC0yOC4yMjhsMzguNTU0LTcxLjMyMyA5Ljg0MSA1My4xNDRjLjg3OCA0Ljc0IDUuMDEzIDguMTc5IDkuODMzIDguMTc5aDI3Ljc2OWwtMzguMiA2Ni44NS05Ljc2My00OC44MTFjLS45MzUtNC42NzQtNS4wMzktOC4wMzktOS44MDYtOC4wMzl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwIDQ1OS4wMDFjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoMjZjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzgtMTAtMTAtMTBoLTU2di02OGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY2OGgtNDB2LTIyM2g0MHY2NWMwIDUuNTIzIDQuNDc4IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi03NWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHYyMzNoLTQwdi0xNzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTB2MTczaC00MHYtMTEzYzAtNS41MjMtNC40NzgtMTAtMTAtMTBoLTYwYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwdjExM2gtNzN2LTQ0OWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHYyNmgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDN6bTI1Ni0xNjNoNDB2MTYzaC00MHptLTEyMCA2MGg0MHYxMDNoLTQweiIvPgogICAgICAgIDxwYXRoIGQ9Im00MzYgMTQ2LjAwMWM1LjUyMiAwIDEwLTQuNDc3IDEwLTEwdi02MGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgzNS44NTdsLTEwMCAxMDBoLTU1Ljg1N2MtMi42NTIgMC01LjE5NSAxLjA1NC03LjA3MSAyLjkyOWwtOTAgOTBjLTMuOTA1IDMuOTA1LTMuOTA1IDEwLjIzNyAwIDE0LjE0MyAzLjkwNyAzLjkwNSAxMC4yMzYgMy45MDQgMTQuMTQzIDBsODcuMDcxLTg3LjA3MWg1NS44NTdjMi42NTIgMCA1LjE5NS0xLjA1NCA3LjA3MS0yLjkyOWwxMDIuOTI5LTEwMi45M3YzNS44NTdjMCA1LjUyNCA0LjQ3OCAxMC4wMDEgMTAgMTAuMDAxeiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjQzNiIgY3k9IjM0Ni4wMDEiIHI9IjEwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Pne="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHJlY3QgeD0iMjE2IiB5PSI4OC40ODkiIHdpZHRoPSI4MCIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjIxNiIgeT0iNjIuNDg5IiB3aWR0aD0iODAiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cGF0aCBkPSJNMzAsNTIuNDk0djkuMjg1Yy0yLjM0Ny0wLjgzMi00Ljg3Mi0xLjI4NS03LjUtMS4yODVjLTEyLjQwNiwwLTIyLjUsMTAuMDkzLTIyLjUsMjIuNWMwLDEyLjQwNywxMC4wOTQsMjIuNSwyMi41LDIyLjUKCQkJYzIuNjI4LDAsNS4xNTMtMC40NTMsNy41LTEuMjg1djM1NS4yOThoNy41YzguNjk5LDAsMTMuMzU0LTIuODE5LDE3LjA5NS01LjA4NWMyLjg5OS0xLjc1NSw0LjgxNC0yLjkxNSw5LjMyNS0yLjkxNQoJCQljNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1YzguNjk4LDAsMTMuMzU0LTIuODE5LDE3LjA5NC01LjA4NQoJCQljMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjItMi45MTVjNC41MDksMCw2LjQyNCwxLjE2LDkuMzIxLDIuOTE1YzMuNzQsMi4yNjYsOC4zOTUsNS4wODUsMTcuMDkzLDUuMDg1CgkJCXMxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIxLTIuOTE1YzQuNTEsMCw2LjQyNSwxLjE2LDkuMzIyLDIuOTE1CgkJCWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTN2LTQwN0gzMHogTTIyLjUsOTAuNDk0Yy00LjEzNiwwLTcuNS0zLjM2NC03LjUtNy41YzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjUKCQkJczcuNSwzLjM2NCw3LjUsNy41QzMwLDg3LjEzLDI2LjYzNiw5MC40OTQsMjIuNSw5MC40OTR6IE0xODguNSw0NDIuNjY0Yy0wLjU4NS0wLjMyNS0xLjE3OS0wLjY4NS0xLjgyMS0xLjA3NAoJCQljLTMuMzM5LTIuMDIyLTcuNDA3LTQuNDg2LTE0LjQyOS00Ljk5MVYyMjYuNTU1aC0xNXYyMTIuNDMxYy0xLjgyNCwwLjgyNy0zLjM1NSwxLjc1NS00Ljc1OCwyLjYwNAoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOAoJCQljLTIuNzM0LTEuMDA1LTYuMDk3LTEuNzI2LTEwLjQ5NC0xLjcyNmMtMS42MzgsMC0zLjEzMywwLjEtNC41MDYsMC4yNzh2LTIxNi43OWgtMTV2MjIyLjk4OGMtMS44NDksMC45NTEtMy43MzgsMS41MjUtNi45MSwxLjUyNQoJCQljLTMuODQzLDAtNS44MDItMC44NDItOC4wOS0yLjE3NlYxNDEuOTk0aC0xNXYyOTQuNjYxYy0xLjA0MS0wLjA5Ni0yLjE0OC0wLjE0OC0zLjMzLTAuMTQ4Yy04LjY5OSwwLTEzLjM1NCwyLjgxOS0xNy4wOTUsNS4wODUKCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFoNDYuMjVWNDQyLjY2NHoiLz4KICAgICAgICA8cmVjdCB4PSIxNTcuMjUiIHk9IjEzNi45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSI2NiIvPgogICAgICAgIDxyZWN0IHg9IjE1Ny4yNSIgeT0iMTExLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSI4Ni45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9Ijk3LjI1IiB5PSIxMzAuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iNjYiLz4KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iODAuOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTA1Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHJlY3QgeD0iNDM1Ljc1IiB5PSIxMTMuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSI0MzUuNzUiIHk9IjEzOC45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSI2NiIvPgogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iODguOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjE1NS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjM3NS43NSIgeT0iODAuOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEwNS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjM3NS43NSIgeT0iMTMwLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ4OS41LDYwLjQ5NGMtMi42MjgsMC01LjE1MywwLjQ1My03LjUsMS4yODV2LTkuMjg1SDMwOC41djQwNy4wMTNoNy41YzguNjk5LDAsMTMuMzU0LTIuODE5LDE3LjA5NS01LjA4NQoJCQljMi44OTktMS43NTUsNC44MTQtMi45MTUsOS4zMjUtMi45MTVjNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1CgkJCWM4LjY5OCwwLDEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjItMi45MTVjNC41MDksMCw2LjQyNCwxLjE2LDkuMzIxLDIuOTE1CgkJCWMzLjc0LDIuMjY2LDguMzk1LDUuMDg1LDE3LjA5Myw1LjA4NXMxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIxLTIuOTE1CgkJCWM0LjUxLDAsNi40MjUsMS4xNiw5LjMyMiwyLjkxNWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTNWMTA0LjIwOGMyLjM0NywwLjgzMiw0Ljg3MiwxLjI4NSw3LjUsMS4yODUKCQkJYzEyLjQwNiwwLDIyLjUtMTAuMDkzLDIyLjUtMjIuNUM1MTIsNzAuNTg1LDUwMS45MDYsNjAuNDk0LDQ4OS41LDYwLjQ5NHogTTQ2Nyw0NDIuNjY0Yy0wLjU4NS0wLjMyNS0xLjE3OS0wLjY4NS0xLjgyMS0xLjA3NAoJCQljLTMuMzM5LTIuMDIyLTcuNDA3LTQuNDg2LTE0LjQyOS00Ljk5MVYyMjYuNTU1aC0xNXYyMTIuNDMxYy0xLjgyNCwwLjgyNy0zLjM1NSwxLjc1NS00Ljc1OCwyLjYwNAoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOAoJCQljLTIuNzM0LTEuMDA1LTYuMDk3LTEuNzI2LTEwLjQ5NC0xLjcyNmMtMS42MzgsMC0zLjEzMywwLjEtNC41MDYsMC4yNzh2LTI1MC43OWgtMTV2MjU2Ljk4OGMtMS44NDksMC45NTEtMy43MzgsMS41MjUtNi45MSwxLjUyNQoJCQljLTMuODQzLDAtNS44MDItMC44NDItOC4wOS0yLjE3NlYxNDEuOTk0aC0xNXYyOTQuNjYxYy0xLjA0MS0wLjA5Ni0yLjE0OC0wLjE0OC0zLjMzLTAuMTQ4Yy04LjY5OSwwLTEzLjM1NCwyLjgxOS0xNy4wOTUsNS4wODUKCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFINDY3VjQ0Mi42NjR6IE00ODkuNSw5MC40OTRjLTQuMTM2LDAtNy41LTMuMzY0LTcuNS03LjUKCQkJYzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjVzNy41LDMuMzY0LDcuNSw3LjVDNDk3LDg3LjEzLDQ5My42MzYsOTAuNDk0LDQ4OS41LDkwLjQ5NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Wne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDIgMTJjMi4yMDYgMCA0LTEuNzk0IDQtNHMtMS43OTQtNC00LTQtNCAxLjc5NC00IDQgMS43OTQgNCA0IDR6bTItNGMwIDEuMTAzLS44OTcgMi0yIDJzLTItLjg5Ny0yLTJjMC0uMTc4LjAzMS0uMzQ3LjA3NS0uNTExbDEuMjE4IDEuMjE4IDEuNDE0LTEuNDE0LTEuMjE4LTEuMjE4Yy4xNjQtLjA0NC4zMzMtLjA3NS41MTEtLjA3NSAxLjEwMyAwIDIgLjg5NyAyIDJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyIDRjLTIuMjA2IDAtNCAxLjc5NC00IDRzMS43OTQgNCA0IDQgNC0xLjc5NCA0LTQtMS43OTQtNC00LTR6bTAgNmMtMS4xMDMgMC0yLS44OTctMi0ycy44OTctMiAyLTJjLjE3OCAwIC4zNDcuMDMxLjUxMS4wNzVsLTEuMjE4IDEuMjE4IDEuNDE0IDEuNDE0IDEuMjE4LTEuMjE4Yy4wNDQuMTY0LjA3NS4zMzMuMDc1LjUxMSAwIDEuMTAzLS44OTcgMi0yIDJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUxIDEyaDJjMS42NTQgMCAzLTEuMzQ2IDMtM3MtMS4zNDYtMy0zLTNoLTJjLTEuNjU0IDAtMyAxLjM0Ni0zIDNzMS4zNDYgMyAzIDN6bTAtNGgyYy41NTEgMCAxIC40NDkgMSAxcy0uNDQ5IDEtMSAxaC0yYy0uNTUxIDAtMS0uNDQ5LTEtMXMuNDQ5LTEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMyA2aC0yYy0xLjY1NCAwLTMgMS4zNDYtMyAzczEuMzQ2IDMgMyAzaDJjMS42NTQgMCAzLTEuMzQ2IDMtM3MtMS4zNDYtMy0zLTN6bTAgNGgtMmMtLjU1MSAwLTEtLjQ0OS0xLTFzLjQ0OS0xIDEtMWgyYy41NTEgMCAxIC40NDkgMSAxcy0uNDQ5IDEtMSAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im02Mi45OTcgNThjMC0uMTYzLS4wMzctLjMyNi0uMTE3LS40NzRsLTIuODgtNS4zNDl2LTM4LjE3Ny0xMGMwLTEuNjU0LTEuMzQ2LTMtMy0zaC01MGMtMS42NTQgMC0zIDEuMzQ2LTMgM3YxMCAzOC4xNzdsLTIuODggNS4zNDljLS4wOC4xNDgtLjExNy4zMTEtLjExNy40NzRoLS4wMDN2MmMwIDEuNjU0IDEuMzQ2IDMgMyAzaDU2YzEuNjU0IDAgMy0xLjM0NiAzLTN2LTJ6bS02Ljk5Ny0xMy4yNTF2LTI5Ljc0OWgydjMzLjQ2M3ptLTQxLjkzMS0yLjc0OWMuMTg5IDEuNTAyLjc5MiAyLjg3NSAxLjY5NSA0aC0yLjc2NHYtNHptMzYuOTMxIDB2NGgtMi43NjVjLjkwNC0xLjEyNSAxLjUwNy0yLjQ5OCAxLjY5NS00em0tNS42OSA0aC0uMzF2LTIuMzgyYy40MDItLjQ2LjctMS4wMDkuODU4LTEuNjE4aDIuMDUyYy0uMjgyIDEuNjY2LTEuMjQ2IDMuMTAxLTIuNiA0em0tOC4zMS0xLjY5di0yLjMxaDEuMTQyYy40NDcgMS43MjEgMiAzIDMuODU4IDMgLjM0NyAwIC42NzgtLjA1OCAxLS4xNDJ2MS4xNDJoLTQuMzFjLS42Ny0uNDQ1LTEuMjQ1LTEuMDItMS42OS0xLjY5em0zLjI3OC00LjMxYy4zNDctLjU5NS45ODUtMSAxLjcyMi0xczEuMzc1LjQwNSAxLjcyMiAxem0yLjcyMiAydi43MjJjLS4yOTUuMTcyLS42MzQuMjc4LTEgLjI3OC0uNzM3IDAtMS4zNzUtLjQwNS0xLjcyMi0xem0yLjg1OC0yYy0uNDQ3LTEuNzIxLTItMy0zLjg1OC0zcy0zLjQxMSAxLjI3OS0zLjg1OCAzaC0yLjA1MmMuNDc4LTIuODMzIDIuOTQyLTUgNS45MS01czUuNDMxIDIuMTY3IDUuOTEgNXptLTExLjcyNS03LjA4NGMuNTEzLTIuNzkyIDIuOTU5LTQuOTE2IDUuODk3LTQuOTE2IDEuNjEgMCAzLjA2NS42MzEgNC4xNDMgMS42Ni0uOTczLS40MjMtMi4wNDYtLjY2LTMuMTczLS42Ni0yLjkxOCAwLTUuNDY5IDEuNTc2LTYuODY3IDMuOTE2em0uODY3IDQuMDg0YzAtMy4zMDkgMi42OTEtNiA2LTYgMi4zMzUgMCA0LjM1NyAxLjM0MyA1LjM0OCAzLjI5NC0xLjI1My0uODE1LTIuNzQ1LTEuMjk0LTQuMzQ4LTEuMjk0LTMuMDA0IDAtNS42MjQgMS42NjctNi45OTIgNC4xMjItLjAwMS0uMDQxLS4wMDgtLjA4MS0uMDA4LS4xMjJ6bS0uOTMxIDVjLjEyOSAxLjAyNy40NDkgMS45OTYuOTMxIDIuODY0djEuMTM2aC02di0xLjEzNmMuNDgyLS44NjkuODAyLTEuODM3LjkzMS0yLjg2NHptLTEzLjA2OSA0di0xLjE0MmMuMzIyLjA4NC42NTMuMTQyIDEgLjE0MiAxLjg1OCAwIDMuNDExLTEuMjc5IDMuODU4LTNoMS4xNDJ2Mi4zMWMtLjQ0NS42Ny0xLjAyIDEuMjQ1LTEuNjkgMS42OXptMC00aDIuNzIyYy0uMzQ3LjU5NS0uOTg1IDEtMS43MjIgMS0uMzY2IDAtLjcwNS0uMTA2LTEtLjI3OHptLS43MjItMmMuMzQ3LS41OTUuOTg1LTEgMS43MjItMXMxLjM3NS40MDUgMS43MjIgMXptOC43MTQtMi44NzhjLTEuMzY4LTIuNDU1LTMuOTg4LTQuMTIyLTYuOTkyLTQuMTIyLTEuNjAzIDAtMy4wOTUuNDc5LTQuMzQ4IDEuMjk0Ljk5MS0xLjk1MSAzLjAxMy0zLjI5NCA1LjM0OC0zLjI5NCAzLjMwOSAwIDYgMi42OTEgNiA2IDAgLjA0MS0uMDA3LjA4MS0uMDA4LjEyMnptLTUuOTkyLTguMTIyYy0xLjEwNiAwLTIuMTYuMjI2LTMuMTE5LjYzNCAxLjA3Ni0xLjAxNSAyLjUyMi0xLjYzNCA0LjExOS0xLjYzNCAyLjk2MSAwIDUuNDIyIDIuMTU4IDUuOTA3IDQuOTgzLTEuMzg4LTIuMzc4LTMuOTYxLTMuOTgzLTYuOTA3LTMuOTgzem0tMSA2YzIuOTY3IDAgNS40MzEgMi4xNjcgNS45MSA1aC0yLjA1MmMtLjQ0Ny0xLjcyMS0yLTMtMy44NTgtM3MtMy40MTEgMS4yNzktMy44NTggM2gtMi4wNTJjLjQ3OS0yLjgzMyAyLjk0My01IDUuOTEtNXptLTMuODU4IDdjLjE1OC42MDkuNDU2IDEuMTU3Ljg1OCAxLjYxOHYyLjM4MmgtLjMxYy0xLjM1NC0uODk5LTIuMzE5LTIuMzM0LTIuNi00em0tNS4xNDIgNmg1LjEzNmMuMjc4LjE1NC41NjcuMjkuODY0LjQxMXYzLjU4OWgtNnptOCAuOTMxYy4zMjguMDQxLjY2MS4wNjkgMSAuMDY5IDEuNDAxIDAgMi43MTgtLjM2NCAzLjg2NC0xaDEuMTM2djRoLTZ6bTgtLjkzMWg2djRoLTZ6bTggMGgxLjEzNmMxLjE0Ny42MzYgMi40NjMgMSAzLjg2NCAxIC4zMzkgMCAuNjcyLS4wMjggMS0uMDY5djMuMDY5aC02em04IC40MTFjLjI5Ny0uMTIxLjU4Ni0uMjU3Ljg2NC0uNDExaDUuMTM2djRoLTZ6bTcuOTY4LTcuNTcyLjAxOS0uMDAzLTIuNzc0LTE2LjY0M2MtLjIxMi0xLjI3MS0xLjMwMS0yLjE5My0yLjU4OS0yLjE5My0xLjQ0NyAwLTIuNjI0IDEuMTc3LTIuNjI0IDIuNjI0djEuMzc2aDJ2LTEuMzc2YzAtLjM0NC4yOC0uNjI0LjYyNC0uNjI0LjMwNyAwIC41NjUuMjE5LjYxNi41MjFsMi41OCAxNS40NzloLS44ODljLS4xMjktMS4wMy0uNDUxLTItLjkzNC0yLjg3IDAtLjA0NC4wMDMtLjA4Ni4wMDMtLjEzIDAtMS40Mi0uMzc2LTIuNzUxLTEuMDI3LTMuOTA4LS40NTctNC4wNTQtMy44NDEtNy4wOTItNy45NDMtNy4wOTItNC40MTEgMC04IDMuNTg5LTggOCAwIDEuMzczLjM2NCAyLjcxMyAxLjAzMSAzLjkwNC4wODIuNzIxLjI2MSAxLjQyNS41MzIgMi4wOTZoLTMuMTg3Yy4yNjMtLjY1LjQ0Mi0xLjMzLjUyNy0yLjAyOC42OTItMS4yMDggMS4wNjctMi41NzQgMS4wNjctMy45NzIgMC00LjQxMS0zLjU4OS04LTgtOC00LjA4IDAtNy40NDggMy4wMDYtNy45MzQgNy4wMjctLjY3NCAxLjE3Mi0xLjA2NiAyLjUyNi0xLjA2NiAzLjk3MyAwIC4wNDQuMDAzLjA4Ni4wMDQuMTMtLjQ4NC44Ny0uODA1IDEuODQtLjkzNSAyLjg3aC0uODg5bDIuNTgtMTUuNDc5Yy4wNTEtLjMwMi4zMDktLjUyMS42MTYtLjUyMS4zNDQgMCAuNjI0LjI4LjYyNC42MjR2MS4zNzZoMnYtMS4zNzZjMC0xLjQ0Ny0xLjE3Ny0yLjYyNC0yLjYyNC0yLjYyNC0xLjI4OCAwLTIuMzc3LjkyMi0yLjU4OCAyLjE5MmwtMi43NzQgMTYuNjQ0LjAxOS4wMDNjLS4wMS4wNTQtLjAzMy4xMDQtLjAzMy4xNjF2M2gtMXYtMjNoNDR2MjNoLTF2LTNjMC0uMDU3LS4wMjMtLjEwNy0uMDMyLS4xNjF6bTEuMDMyLTI1LjgzOXY0aC00NHYtNHptLTIwLTJoLTR2LTRjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptLTI4LTljMC0uNTUxLjQ0OS0xIDEtMWg1MGMuNTUxIDAgMSAuNDQ5IDEgMXY5aC0yMnYtNGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY0aC0yMnptMCAxMWgydjI5Ljc0OWwtMiAzLjcxNHptMy41OTcgMzFoMS40MDN2N2MwIC41NTMuNDQ4IDEgMSAxaDQwYy41NTIgMCAxLS40NDcgMS0xdi03aDEuNDAzbDUuOTIzIDExaC01Ni42NTJ6bTUwLjQwMyAxNWgtNTZjLS41NTEgMC0xLS40NDgtMS0xdi0xaDU4djFjMCAuNTUyLS40NDkgMS0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyIDE2aDR2MmgtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggMTZoNHYyaC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMSA5aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+",Rne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMTMuMjA2IDEwNi4yNjVoLTEzLjYyM3YtODYuMjhhMS43NDkgMS43NDkgMCAwIDAgLTEuNTU0LTEuNzM4bC00Ni01LjE5MmExLjc1IDEuNzUgMCAwIDAgLTEuOTQ2IDEuNzM5djMuNDQxaC0xOS45MTZhMS43NSAxLjc1IDAgMCAwIC0xLjc1IDEuNzV2ODYuMjhoLTEzLjYyM2ExLjc1IDEuNzUgMCAxIDAgMCAzLjVoMzUuMjg5djMuNDQxYTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzUgMS42MSAxLjYxIDAgMCAwIC4yLS4wMTFsNDUuOS01LjE4aDE1LjI3NmExLjc1IDEuNzUgMCAwIDAgMC0zLjV6bS04MS4yODktODQuNTNoMTguMTY2djQuNWgtMTEuOTE3YTEuNzUgMS43NSAwIDAgMCAtMS43NSAxLjc1djc4LjI4aC00LjV6bTggODQuNTN2LTc2LjUzaDEwLjE2NnY3Ni41M3ptMTMuNjY2LTg5LjUxMyA0Mi41IDQuOHY4NC45bC00Mi41IDQuOHoiLz4KICAgICAgICA8cGF0aCBkPSJtNjEuMTI1IDU4Ljc5MmE1LjIwOCA1LjIwOCAwIDEgMCA1LjIwOCA1LjIwOCA1LjIxNCA1LjIxNCAwIDAgMCAtNS4yMDgtNS4yMDh6bTAgNi45MTZhMS43MDggMS43MDggMCAxIDEgMS43MDgtMS43MDggMS43MSAxLjcxIDAgMCAxIC0xLjcwOCAxLjcwOHoiLz4KICAgIDwvZz4KPC9zdmc+",Jne="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQwMS4wNjcsMEgxMTAuOTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2NDk0LjkzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDI5MC4xMzMKCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y4LjUzM0M0MDkuNiwzLjgxNCw0MDUuNzc3LDAsNDAxLjA2NywweiBNMzkyLjUzMyw0OTQuOTMzSDExOS40NjdWMTcuMDY3aDI3My4wNjdWNDk0LjkzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzY2LjkzMywzNC4xMzNIMTQ1LjA2N2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjQ2MC44YzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjIxLjg2NwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzdi00NjAuOEMzNzUuNDY3LDM3Ljk0OCwzNzEuNjQ0LDM0LjEzMywzNjYuOTMzLDM0LjEzM3ogTTM1OC40LDQ5NC45MzNIMTUzLjZWNTEuMmgyMDQuOFY0OTQuOTMzegoJCQkiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDY4LjI2N2MtNDcuMDUzLDAtODUuMzMzLDM4LjI4MS04NS4zMzMsODUuMzMzdjguNTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTUzLjYKCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxNTMuNkMzNDEuMzMzLDEwNi41NDcsMzAzLjA1Myw2OC4yNjcsMjU2LDY4LjI2N3ogTTE4Ny43MzMsMTUzLjYKCQkJYzAtMzcuNjQxLDMwLjYyNi02OC4yNjcsNjguMjY3LTY4LjI2N2MzNy42NDEsMCw2OC4yNjcsMzAuNjI2LDY4LjI2Nyw2OC4yNjdIMTg3LjczM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywxODcuNzMzSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczMwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjE5Ni4yNjdDMjQ3LjQ2NywxOTEuNTQ4LDI0My42NDQsMTg3LjczMywyMzguOTMzLDE4Ny43MzN6IE0yMzAuNCwzMDcuMmgtNDIuNjY3VjIwNC44SDIzMC40CgkJCVYzMDcuMnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzMyLjgsMTg3LjczM2gtNTkuNzMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDMzMi44CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMTk2LjI2N0MzNDEuMzMzLDE5MS41NDgsMzM3LjUxLDE4Ny43MzMsMzMyLjgsMTg3LjczM3ogTTMyNC4yNjcsMzA3LjJIMjgxLjZWMjA0LjhoNDIuNjY3VjMwNy4yCgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNDEuMzMzSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczMwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjM0OS44NjdDMjQ3LjQ2NywzNDUuMTQ4LDI0My42NDQsMzQxLjMzMywyMzguOTMzLDM0MS4zMzN6IE0yMzAuNCw0NjAuOGgtNDIuNjY3VjM1OC40SDIzMC40CgkJCVY0NjAuOHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzMyLjgsMzQxLjMzM2gtNTkuNzMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDMzMi44CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzQ5Ljg2N0MzNDEuMzMzLDM0NS4xNDgsMzM3LjUxLDM0MS4zMzMsMzMyLjgsMzQxLjMzM3ogTTMyNC4yNjcsNDYwLjhIMjgxLjZWMzU4LjRoNDIuNjY3VjQ2MC44CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDY4LjI2N2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjg1LjMzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODE0LDguNTMzLTguNTMzVjc2LjgKCQkJQzI2NC41MzMsNzIuMDgxLDI2MC43MSw2OC4yNjcsMjU2LDY4LjI2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzIwLjQzNSw5Ny42OThjLTMuMzI4LTMuMzM2LTguNzMtMy4zMzYtMTIuMDY2LDBMMjQ5Ljk2NywxNTYuMWMtMy4zMzcsMy4zMzctMy4zMzcsOC43MywwLDEyLjA2NgoJCQljMS42NjQsMS42NjQsMy44NDksMi41LDYuMDMzLDIuNWMyLjE4NSwwLDQuMzY5LTAuODM2LDYuMDMzLTIuNWw1OC40MDItNTguNDAyQzMyMy43NzIsMTA2LjQyOCwzMjMuNzcyLDEwMS4wMzUsMzIwLjQzNSw5Ny42OTh6IgogICAgICAgIC8+CiAgICAgICAgPHBhdGggZD0iTTI2Mi4wMzMsMTU2LjFMMjAzLjYzMSw5Ny42OWMtMy4zMjgtMy4zMzctOC43My0zLjMzNy0xMi4wNjYsMGMtMy4zMzcsMy4zMzYtMy4zMzcsOC43MywwLDEyLjA2Nmw1OC40MDIsNTguNDExCgkJCWMxLjY2NCwxLjY2NCwzLjg0OSwyLjUsNi4wMzMsMi41YzIuMTg1LDAsNC4zNjktMC44MzYsNi4wMzMtMi41QzI2NS4zNywxNjQuODMsMjY1LjM3LDE1OS40MzcsMjYyLjAzMywxNTYuMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNTkuNzMzLDQ5NC45MzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM0MwLDUwOC4xODYsMy44MjMsNTEyLDguNTMzLDUxMmg1MS4yCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNjguMjY3LDQ5OC43NDgsNjQuNDQ0LDQ5NC45MzMsNTkuNzMzLDQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsNDk0LjkzM2gtMTAyLjRjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDEwMi40CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNTEyLDQ5OC43NDgsNTA4LjE3Nyw0OTQuOTMzLDUwMy40NjcsNDk0LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Bne="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjBhOTYgOTYgMCAxIDAgOTYgOTYgOTYuMTA4IDk2LjEwOCAwIDAgMCAtOTYtOTZ6bTAgMTc2YTgwIDgwIDAgMSAxIDgwLTgwIDgwLjA5MSA4MC4wOTEgMCAwIDEgLTgwIDgweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTI4YTEyOCAxMjggMCAxIDAgMTI4IDEyOCAxMjguMTQ1IDEyOC4xNDUgMCAwIDAgLTEyOC0xMjh6bTAgMjQwYTExMiAxMTIgMCAxIDEgMTEyLTExMiAxMTIuMTI3IDExMi4xMjcgMCAwIDEgLTExMiAxMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzMiA0ODh2LTQ2NGE4IDggMCAwIDAgLTgtOGgtMzM2YTggOCAwIDAgMCAtOCA4djQ2NGE4IDggMCAwIDAgOCA4aDMzNmE4IDggMCAwIDAgOC04em0tMzM2LTM3NmgzMjB2MzA0aC0zMjB6bTk2LTgwaDE0NHY0MGE4IDggMCAwIDAgOCA4aDcydjE2aC0yMjR6bTIyNCAzMmgtNjR2LTMyaDY0em0tMjQwLTMydjY0aC04MHYtNjR6bS04MCA0NDh2LTQ4aDMyMHY0OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4IDQwYTI0IDI0IDAgMSAwIDI0IDI0IDI0LjAyNyAyNC4wMjcgMCAwIDAgLTI0LTI0em0wIDMyYTggOCAwIDEgMSA4LTggOC4wMDkgOC4wMDkgMCAwIDEgLTggOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTEyIDU2aDQ4djE2aC00OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg4IDQwaDMydjE2aC0zMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg4IDcyaDMydjE2aC0zMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjcyIDIwMGE4IDggMCAwIDAgLTE2IDBjMCA2LjM3My0yLjQxNyA5LjE5MS02LjA3NCAxMy40NTgtNC40MjYgNS4xNTktOS45MjYgMTEuNTgtOS45MjYgMjMuODcyczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTMtNi4wNzQgMTMuNDYxYy00LjQyNiA1LjE1OS05LjkyNiAxMS41ODEtOS45MjYgMjMuODc0YTggOCAwIDAgMCAxNiAwYzAtNi4zNzUgMi40MTctOS4xOTQgNi4wNzQtMTMuNDYyIDQuNDIzLTUuMTU5IDkuOTI2LTExLjU4IDkuOTI2LTIzLjg3M3MtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXMyLjQxNy05LjE5MSA2LjA3NC0xMy40NThjNC40MjYtNS4xNTkgOS45MjYtMTEuNTggOS45MjYtMjMuODcyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOTYgMjM3LjMzYzAtNi4zNzMgMi40MTctOS4xOTIgNi4wNzUtMTMuNDYuODEyLS45NDcgMS42MjMtMS45IDIuNDA3LTIuODc4YTggOCAwIDAgMCAtMTIuNS05Ljk4NGMtLjY2OC44MzYtMS4zNjEgMS42NDEtMi4wNTMgMi40NDktNC40MjkgNS4xNTktOS45MjkgMTEuNTgxLTkuOTI5IDIzLjg3M3M1LjUgMTguNzE0IDkuOTI2IDIzLjg3M2MzLjY1NyA0LjI2OCA2LjA3NCA3LjA4NyA2LjA3NCAxMy40NjJzLTIuNDE3IDkuMTk0LTYuMDc1IDEzLjQ2MmMtLjgxMy45NDktMS42MjUgMS45LTIuNDA5IDIuODgxYTggOCAwIDAgMCAxMi41IDkuOTg0Yy42NjgtLjgzNyAxLjM2Mi0xLjY0NCAyLjA1NC0yLjQ1MiA0LjQzLTUuMTYgOS45My0xMS41ODIgOS45My0yMy44NzVzLTUuNS0xOC43MTUtOS45MjYtMjMuODc0Yy0zLjY1Ny00LjI2OC02LjA3NC03LjA5MS02LjA3NC0xMy40NjF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxNiAyMzcuMzNjMC02LjM3MyAyLjQxNy05LjE5MiA2LjA3NS0xMy40Ni44MTItLjk0NyAxLjYyMy0xLjkgMi40MDctMi44NzhhOCA4IDAgMCAwIC0xMi41LTkuOTg0Yy0uNjY4LjgzNi0xLjM2MSAxLjY0MS0yLjA1MyAyLjQ0OS00LjQyOSA1LjE1OS05LjkyOSAxMS41ODEtOS45MjkgMjMuODczczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTQtNi4wNzUgMTMuNDYyYy0uODEzLjk0OS0xLjYyNSAxLjktMi40MDkgMi44ODFhOCA4IDAgMCAwIDEyLjUgOS45ODRjLjY2OC0uODM3IDEuMzYyLTEuNjQ0IDIuMDU0LTIuNDUyIDQuNDMtNS4xNiA5LjkzLTExLjU4MiA5LjkzLTIzLjg3NXMtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXoiLz4KICAgIDwvZz4KPC9zdmc+",Fne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3Ni4wNjUgNDc2LjA2NSI+CjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+Cgk8cGF0aCBkPSJNNDMyLjU1OCwxNzIuMDJDNDE5LjMwMyw2NC41ODcsMzIxLjQ2Ni0xMS43NiwyMTQuMDMzLDEuNDk1UzMwLjI1MywxMTIuNTg3LDQzLjUwOCwyMjAuMDIKCQljMTEuMDA4LDg5LjIyMiw4MS4zMDMsMTU5LjUxNywxNzAuNTI1LDE3MC41MjV2MzcuNTJoLTU2Yy0xMy4yNTUsMC0yNCwxMC43NDUtMjQsMjR2MjRoMjA4di0yNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTU2CgkJdi0zNy41MkMzNjkuNDY2LDM3Ny4yOSw0NDUuODEzLDI3OS40NTMsNDMyLjU1OCwxNzIuMDJ6IE0zMTguMDMzLDQ0NC4wNjVjNC40MTgsMCw4LDMuNTgyLDgsOHY4aC0xNzZ2LThjMC00LjQxOCwzLjU4Mi04LDgtOAoJCUgzMTguMDMzeiBNMjMwLjAzMyw0MjguMDY1di0zMmgxNnYzMkgyMzAuMDMzeiBNMjM4LjAzMywzNzYuMDY1Yy05OS40MTEsMC0xODAtODAuNTg5LTE4MC0xODAKCQljMC4xMTUtOTkuMzY0LDgwLjYzNi0xNzkuODg1LDE4MC0xODBjOTkuNDExLDAsMTgwLDgwLjU4OSwxODAsMTgwUzMzNy40NDQsMzc2LjA2NSwyMzguMDMzLDM3Ni4wNjV6Ii8+Cgk8cGF0aCBkPSJNNDA2LjAzMywyMTIuMDY1di0xNmMwLTQuNDE4LTMuNTgyLTgtOC04aC05My41MzZjMzkuOC0yNy44MzIsNDkuNTAyLTgyLjY1OCwyMS42Ny0xMjIuNDU4CgkJYy0xNi40NjctMjMuNTQ4LTQzLjQtMzcuNTY1LTcyLjEzNC0zNy41NDJoLTE2Yy00LjQxOCwwLTgsMy41ODItOCw4djkzLjUzNmMtMjcuODMyLTM5LjgtODIuNjU4LTQ5LjUwMi0xMjIuNDU4LTIxLjY3CgkJYy0yMy41NDgsMTYuNDY3LTM3LjU2NSw0My40LTM3LjU0Miw3Mi4xMzR2MTZjMCw0LjQxOCwzLjU4Miw4LDgsOGg5My41MzZjLTIzLjQ2NSwxNi40NzgtMzcuNDYzLDQzLjMyOC0zNy41MzYsNzIKCQljMC4wNTcsNDguNTc3LDM5LjQyMyw4Ny45NDMsODgsODhoMTZjNC40MTgsMCw4LTMuNTgyLDgtOHYtOTMuNTM2YzI3LjgzMiwzOS44LDgyLjY1OCw0OS41MDIsMTIyLjQ1OCwyMS42NwoJCUMzOTIuMDM4LDI2Ny43MzMsNDA2LjA1NiwyNDAuOCw0MDYuMDMzLDIxMi4wNjV6IE0yNDYuMDMzLDQ0LjA2NWg4YzM5Ljc2NCwwLjA1NSw3MS45NTUsMzIuMzM2LDcxLjksNzIuMQoJCWMtMC4wNDMsMzEuMTctMjAuMTM4LDU4Ljc3Mi00OS43ODgsNjguMzg4Yy00LjIwMi0xNC4wNTItMTUuNzU4LTI0LjY3Ny0zMC4xMTItMjcuNjg4VjQ0LjA2NXogTTg2LjAzMywxODguMDY1di04CgkJYzAuMDczLTM5Ljc2NCwzMi4zNjgtNzEuOTQsNzIuMTMzLTcxLjg2N2MzMS4xNDgsMC4wNTcsNTguNzI3LDIwLjEzOCw2OC4zNDcsNDkuNzYzYy0xNC4wNDcsNC4yMDMtMjQuNjY4LDE1Ljc1NS0yNy42OCwzMC4xMDQKCQlIODYuMDMzeiBNMjMwLjAzMywzNDguMDY1aC04Yy0zOS43NjQtMC4wNTUtNzEuOTU1LTMyLjMzNi03MS45LTcyLjFjMC4wNDMtMzEuMTcsMjAuMTM4LTU4Ljc3Miw0OS43ODgtNjguMzg4CgkJYzQuMjAyLDE0LjA1MiwxNS43NTgsMjQuNjc3LDMwLjExMiwyNy42ODhWMzQ4LjA2NXogTTIzOC4wMzMsMjIwLjA2NWMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNAoJCXMyNCwxMC43NDUsMjQsMjRTMjUxLjI4NywyMjAuMDY1LDIzOC4wMzMsMjIwLjA2NXogTTMxNy45LDI4My45MzJjLTMxLjE0OC0wLjA1Ny01OC43MjctMjAuMTM4LTY4LjM0Ny00OS43NjMKCQljMTQuMDQ3LTQuMjAzLDI0LjY2OC0xNS43NTUsMjcuNjgtMzAuMTA0aDExMi44djhDMzg5Ljk1OSwyNTEuODMsMzU3LjY2NCwyODQuMDA2LDMxNy45LDI4My45MzJ6Ii8+CjwvZz4KPC9zdmc+Cg==",Gne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuOTk5LDEyNi4wMDFoLTAuMDI3YzYuMjkyLTguMzYyLDEwLjAyNy0xOC43NTIsMTAuMDI3LTMwYzAtMjcuNTctMjIuNDMtNTAuMDAxLTUwLTUwLjAwMQoJCXMtNTAuMDAxLDIyLjQzLTUwLjAwMSw1MC4wMDFjMCwxMS4yNDgsMy43MzYsMjEuNjM4LDEwLjAyNywzMGgtMC4wMjdjLTUuNTIyLDAtMTAsNC40NzctMTAsMTB2MzUuNTQ1CgkJYy0xMS4zMjgtNy4yMzMtMjMuMTI4LTEzLjY1OC0zNS4zMzQtMTkuMjQxdi0xNi4zMDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHMtMTAsNC40NzctMTAsMTB2OC4wMzcKCQljLTMuMzY5LTEuMjQ3LTYuNzY0LTIuNDM4LTEwLjE4Ni0zLjU2MmMtOC4yOTEtMi43MjMtMTYuNjgzLTUuMDUyLTI1LjE0Ni03LjAxMXYtMjAuODMzYzAtNS41MjMtNC40NzgtMTAtMTAtMTAKCQljLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTYuOTMyYy0xMS42OC0xLjg0OS0yMy40NzQtMi45NzQtMzUuMzMyLTMuMzgxVjk2LjAwMWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwCgkJdjMwLjE4M2MtMTEuODU5LDAuNDA3LTIzLjY1MywxLjUzMi0zNS4zMzMsMy4zODF2LTE2LjkzMmMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjIwLjgzMwoJCWMtOC40NjIsMS45NTktMTYuODUyLDQuMjg3LTI1LjE0Miw3LjAwOWMtMy40MjQsMS4xMjQtNi44MTksMi4zMTYtMTAuMTkxLDMuNTYzdi04LjAzN2MwLTUuNTIzLTQuNDc3LTEwLTEwLTEwCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE2LjMwNGMtMTIuMjA1LDUuNTgzLTI0LjAwNCwxMi4wMDctMzUuMzM0LDE5LjI0di0zNS41NDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMC4wMjcKCQljNi4yOTMtOC4zNjIsMTAuMDI3LTE4Ljc1MiwxMC4wMjctMzBjMC0yNy41Ny0yMi40My01MC01MC01MHMtNTAsMjIuNDMtNTAsNTBjMCwxMS4yNDgsMy43MzQsMjEuNjM4LDEwLjAyNywzMEgxMAoJCWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYzMTkuOTk5YzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDBoNDBoMzEuMDMzYzUuNTIyLDAsMTAtNC40NzcsMTAtMTBjMC01LjUyMi00LjQ3OC0xMC0xMC0xMEgxMDAKCQl2LTIwLjAwMWgzMTEuOTk4djIwLjAwMWgtMjEuMDMzYy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMzEuMDMzaDQwLjAwMWg0MGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwCgkJVjEzNi4wMDFDNTExLjk5OSwxMzAuNDc3LDUwNy41MjEsMTI2LjAwMSw1MDEuOTk5LDEyNi4wMDF6IE04MCw0NDUuOTk5SDUwSDIwVjE0Ni4wMDFoMjB2NDEuODk4YzAsNS41MjMsNC40NzcsMTAsMTAsMTAKCQlzMTAtNC40NzcsMTAtMTB2LTQxLjg5OGgyMFY0NDUuOTk5eiBNNTAsMTI2LjAwMWMtMTYuNTQzLDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1Ny0zMCwzMC0zMGMxNi41NDMsMCwzMCwxMy40NTgsMzAsMzAKCQlTNjYuNTQzLDEyNi4wMDEsNTAsMTI2LjAwMXogTTEzNS4zMzQsNDA1Ljk5OEgxMDBWMTk1LjYyOWMxMS4zMTgtOC4wMiwyMy4xMjYtMTUuMDk1LDM1LjMzNC0yMS4yMThWNDA1Ljk5OHogTTE5MC42NjcsNDA2CgkJaC0zNS4zMzNWMTY1LjM4NGMxMS41LTQuNjMsMjMuMjk4LTguNDQ5LDM1LjMzMy0xMS40MzdWNDA2eiBNMjQ2LDQwNmgtMzUuMzMzVjE0OS43ODdjMTEuNjE0LTEuOTU4LDIzLjQwOS0zLjE2OCwzNS4zMzMtMy41OTkKCQlWNDA2eiBNMzAxLjMzMiw0MDUuOTk4SDI2NnYtMjU5LjgxYzExLjkyNCwwLjQzMSwyMy43MTcsMS42NDEsMzUuMzMyLDMuNTk5VjQwNS45OTh6IE0zNTYuNjY0LDQwNS45OTloLTM1LjMzMlYxNTMuOTQ4CgkJYzEyLjAzNSwyLjk4OCwyMy44MzIsNi44MDcsMzUuMzMyLDExLjQzOFY0MDUuOTk5eiBNNDExLjk5OCw0MDUuOTk4aC0zNS4zMzRWMTc0LjQxMmMxMi4yMDksNi4xMjMsMjQuMDE3LDEzLjIsMzUuMzM0LDIxLjIyCgkJVjQwNS45OTh6IE00OTEuOTk5LDQ0NS45OTloLTMwaC0zMC4wMDFWMTQ2LjAwMWgyMC4wMDF2NDEuODk4YzAsNS41MjMsNC40NzgsMTAsMTAsMTBjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtNDEuODk4aDIwCgkJVjQ0NS45OTl6IE00NjEuOTk5LDEyNi4wMDFjLTE2LjU0MiwwLTMwLjAwMS0xMy40NTgtMzAuMDAxLTMwYzAtMTYuNTQzLDEzLjQ1OS0zMC4wMDEsMzAuMDAxLTMwLjAwMQoJCWMxNi41NDIsMCwzMCwxMy40NTgsMzAsMzAuMDAxQzQ5MS45OTksMTEyLjU0Miw0NzguNTQxLDEyNi4wMDEsNDYxLjk5OSwxMjYuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNTAsNDQ1Ljk5OWgtMC4yMzZjLTUuNTIzLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMEgxNTBjNS41MjMsMCwxMC00LjQ3NywxMC0xMAoJCUMxNjAsNDUwLjQ3NywxNTUuNTIzLDQ0NS45OTksMTUwLDQ0NS45OTl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2Mi4yMzQsNDQ1Ljk5OWgtMC4yMzdjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3OCwxMCwxMCwxMGgwLjIzN2M1LjUyMywwLDEwLTQuNDc3LDEwLTEwCgkJQzM3Mi4yMzQsNDUwLjQ3NywzNjcuNzU4LDQ0NS45OTksMzYyLjIzNCw0NDUuOTk5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MCwyMDYuNjMxYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjAuMjM1YzAsNS41MjMsNC40NzcsMTAsMTAsMTBzMTAtNC40NzcsMTAtMTB2LTAuMjM1CgkJQzYwLDIxMS4xMDgsNTUuNTIzLDIwNi42MzEsNTAsMjA2LjYzMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDYxLjk5OSwyMDYuNjMxYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjAuMjM1YzAsNS41MjMsNC40NzgsMTAsMTAsMTBjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtMC4yMzUKCQlDNDcxLjk5OSwyMTEuMTA4LDQ2Ny41MjEsMjA2LjYzMSw0NjEuOTk5LDIwNi42MzF6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Hne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDQuMDA1LDEwOC4wMDNjLTEzLjI1NSwwLTI0LDEwLjc0NS0yNCwyNGMwLDQuNDE4LDMuNTgyLDgsOCw4czgtMy41ODIsOC04czMuNTgyLTgsOC04czgtMy41ODIsOC04CgkJCVMxMDguNDIzLDEwOC4wMDMsMTA0LjAwNSwxMDguMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zODUuMzU3LDc2LjExNWwtMjgwLTQ4Yy0wLjQ0Ny0wLjA3My0wLjg5OS0wLjExMS0xLjM1Mi0wLjExMkM0Ni42MTIsMjcuOTU2LDAuMDQ3LDc0LjQ0NCwwLDEzMS44MzcKCQkJYy0wLjAyNiwzMS4wNTksMTMuODQzLDYwLjUwMSwzNy44MDUsODAuMjYxbDU4LjQ0LDIzMy44NDhjMC44OTIsMy41NTksNC4wOTEsNi4wNTYsNy43Niw2LjA1Nmg2NAoJCQljNC40MTgsMC4wMDgsOC4wMDctMy41NjYsOC4wMTUtNy45ODVjMC0wLjE3MS0wLjAwNS0wLjM0MS0wLjAxNS0wLjUxMWwtMTMuNi0yMTcuNGwyMjIuOTItMzguMjE2CgkJCWMzLjg1NC0wLjY0NSw2LjY3OS0zLjk4LDYuNjgtNy44ODh2LTk2QzM5Mi4wMDcsODAuMTA1LDM4OS4xOTksNzYuNzczLDM4NS4zNTcsNzYuMTE1eiBNMTEwLjI1Myw0MzYuMDAzTDU3LjYwNSwyMjUuMTcxCgkJCWMwLjUwNCwwLjI0OCwxLjA0LDAuNDE2LDEuNTQ0LDAuNjY0YzIuNTc2LDEuMjMyLDUuMTg5LDIuMzUyLDcuODQsMy4zNmMwLjc0NCwwLjI4LDEuNDY0LDAuNiwyLjIwOCwwLjg2NAoJCQljMy4zMTksMS4xNzQsNi42OTcsMi4xNzUsMTAuMTIsM2MwLjgsMC4xOTIsMS42LDAuMzI4LDIuNCwwLjUwNGMyLjc2OCwwLjU5Miw1LjU2NSwxLjA3Nyw4LjM5MiwxLjQ1NgoJCQljMS4wMDgsMC4xMjgsMi4wMTYsMC4yNjQsMy4wMjQsMC4zNjhjMy42MTEsMC4zOSw3LjI0LDAuNTk2LDEwLjg3MiwwLjYxNmMwLjQ1My0wLjAwMSwwLjkwNS0wLjAzOSwxLjM1Mi0wLjExMmw0MS4yMTYtNy4wODgKCQkJbDEyLjkyLDIwNy4ySDExMC4yNTN6IE0zNDQuMDA1LDE3OC43MzlsLTIzOC4wODgsNDAuOGwtMi41NzYsMC40NjRjLTQ4LjM2Ny0wLjMwNC04Ny4zOTktMzkuNjMyLTg3LjMzNi04OAoJCQljMC4wNTUtNDguMzIsMzkuMDE4LTg3LjU3OSw4Ny4zMzYtODhsMjQwLjY2NCw0MS4yNjRWMTc4LjczOXogTTM3Ni4wMDUsMTczLjI1OWwtMTYsMi43NDR2LTg4bDE2LDIuNzQ0VjE3My4yNTl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwNC4wMDUsNzYuMDAzYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2CgkJCUMxNjAuMDA1LDEwMS4wNzUsMTM0LjkzMyw3Ni4wMDMsMTA0LjAwNSw3Ni4wMDN6IE0xMDQuMDA1LDE3Mi4wMDNjLTIyLjA5MSwwLTQwLTE3LjkwOS00MC00MGMwLjAyNi0yMi4wOCwxNy45Mi0zOS45NzQsNDAtNDAKCQkJYzIyLjA5MSwwLDQwLDE3LjkwOSw0MCw0MFMxMjYuMDk3LDE3Mi4wMDMsMTA0LjAwNSwxNzIuMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNDEuOTMzLDQxMS41MjNsLTkuNjY0LTE1NS4wMjRjLTAuMjc2LTQuNDE4LTQuMDgyLTcuNzc2LTguNS03LjVjLTQuNDE4LDAuMjc2LTcuNzc2LDQuMDgyLTcuNSw4LjVsOS42NjQsMTU1CgkJCWMwLjI2Myw0LjIyNywzLjc3Myw3LjUxNiw4LjAwOCw3LjUwNGMwLjE2OCwwLDAuMzM2LDAsMC41MDQsMEMxMzguODU0LDQxOS43MjgsMTQyLjIwNyw0MTUuOTMyLDE0MS45MzMsNDExLjUyM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDcyLjAwNSwxMjQuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsMTI0LjAwMyw0NzIuMDA1LDEyNC4wMDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ3Mi4wMDUsMTU2LjAwM2gtNDhjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoNDhjNC40MTgsMCw4LTMuNTgyLDgtOFM0NzYuNDIzLDE1Ni4wMDMsNDcyLjAwNSwxNTYuMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NzIuMDA1LDkyLjAwM2gtNDhjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoNDhjNC40MTgsMCw4LTMuNTgyLDgtOFM0NzYuNDIzLDkyLjAwMyw0NzIuMDA1LDkyLjAwM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Vne="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00OC40NTcsNzcuMjI3YTguMDYzLDguMDYzLDAsMCwwLTEwLjQsMTIuMzI1djYuOTI3YTUuMjczLDUuMjczLDAsMCwwLDEwLjU0NSwwVjg5LjU1M2E4LjA2Myw4LjA2MywwLDAsMC0uMTQ2LTEyLjMyNlpNNDUuODc0LDg3LjI0YTEuNzUsMS43NSwwLDAsMC0uNzcxLDEuNDUxdjcuNzg3YTEuNzczLDEuNzczLDAsMCwxLTMuNTQ1LDBWODguNjkxYTEuNzQ3LDEuNzQ3LDAsMCwwLS43NzMtMS40NTFBNC41NjYsNC41NjYsMCwwLDEsNDIuNCw3OC45NzhhNC44NzYsNC44NzYsMCwwLDEsLjk0LS4wOTIsNC41LDQuNSwwLDAsMSwyLjg5MywxLjA0MSw0LjU2Miw0LjU2MiwwLDAsMS0uMzU2LDcuMzEzWiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDUuMjI4LDQ0LjY2Myw2NS41OCw0My4zNlYxOS41MTRhNS4zNyw1LjM3LDAsMCwwLTUuMzYzLTUuMzY0SDI2LjQ0M2E1LjM3LDUuMzcsMCwwLDAtNS4zNjMsNS4zNjR2ODguOTcyYTUuMzcsNS4zNywwLDAsMCw1LjM2Myw1LjM2NEg2MC4yMTdhNS4zNyw1LjM3LDAsMCwwLDUuMzYzLTUuMzY0VjU5LjhsMzkuNjQ4LTEuM2ExLjc1LDEuNzUsMCwwLDAsMS42OTItMS43NDlWNDYuNDEyQTEuNzUsMS43NSwwLDAsMCwxMDUuMjI4LDQ0LjY2M1pNNjIuMDgsMTA4LjQ4NmExLjg2NiwxLjg2NiwwLDAsMS0xLjg2MywxLjg2NEgyNi40NDNhMS44NjYsMS44NjYsMCwwLDEtMS44NjMtMS44NjRWMTkuNTE0YTEuODY2LDEuODY2LDAsMCwxLDEuODYzLTEuODY0SDYwLjIxN2ExLjg2NiwxLjg2NiwwLDAsMSwxLjg2MywxLjg2NFY0My4yNDVsLTYuMjY3LS4yMDZhMTUuMTI3LDE1LjEyNywwLDEsMCwwLDE3LjA4Nmw2LjI2NC0uMjA2Wk00NC4zOSw2MC41aDBMNTEsNjAuMjg0YTExLjYxMiwxMS42MTIsMCwxLDEsLjA0LTE3LjRsLTYuNjQ5LS4yMTloLS4wNThBOC45Miw4LjkyLDAsMSwwLDQ0LjM5LDYwLjVabTU5LjAzLTUuNDQyLTM5LjU4NywxLjNoLS4wMDhMNDQuMzM0LDU3YTUuNDIsNS40MiwwLDAsMS0uMDI3LTEwLjg0bDU5LjExMywxLjk0M1oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Zne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuMzQsMTE3LjMzNmMtNS45MDYsMC0xMC42ODgsNC43NzMtMTAuNjg4LDEwLjY2NHY4NS4zMzVINDY5LjM0di0yMS4zMzZjMC0yMy41MjMtMTkuMTU2LTQyLjY2My00Mi42ODgtNDIuNjYzCgkJYy0xMi43MTgsMC0yNC4xNTUsNS42MDktMzEuOTk5LDE0LjQ5MWMtNy44MTItOC44ODItMTkuMjUtMTQuNDkxLTMyLTE0LjQ5MWMtMTIuNzE4LDAtMjQuMTU1LDUuNjA5LTMxLjk5OSwxNC40OTEKCQljLTcuODEyLTguODgyLTE5LjI1LTE0LjQ5MS0zMi0xNC40OTFjLTEyLjcxOSwwLTI0LjE1Niw1LjYwOS0zMS45OTIsMTQuNDkxYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxCgkJYy0xMi43MjYsMC0yNC4xNzEsNS42MDktMzIsMTQuNDkxYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xMi43MjYsMC0yNC4xNzEsNS42MDktMzIsMTQuNDkxCgkJYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xOS44MzUsMC0zNi41NywxMy42MTYtNDEuMzIsMzEuOTk5SDMyYy01Ljg5MSwwLTEwLjY2NCw0Ljc3My0xMC42NjQsMTAuNjY0djIxLjMzNkgxMC42NjQKCQlDNC43NzMsMjEzLjMzNSwwLDIxOC4xMDgsMCwyMjMuOTk5czQuNzczLDEwLjY2NCwxMC42NjQsMTAuNjY0aDEwLjY3MnYyMS4zMzZjMCw1Ljg5MSw0Ljc3MywxMC42NjQsMTAuNjY0LDEwLjY2NGgzMnYyMDIuNjc4CgkJYzAsMjMuNTE2LDE5LjE0MSw0Mi42NTYsNDIuNjY0LDQyLjY1NmMxMi43NDIsMCwyNC4xOC01LjYyNSwzMi0xNC41YzcuODI4LDguODc1LDE5LjI3MywxNC41LDMyLDE0LjUKCQljMTIuNzQyLDAsMjQuMTgtNS42MjUsMzItMTQuNWM3LjgyOCw4Ljg3NSwxOS4yNzMsMTQuNSwzMiwxNC41YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjUKCQljNy44MzYsOC44NzUsMTkuMjczLDE0LjUsMzEuOTkyLDE0LjVjMTIuNzUsMCwyNC4xODgtNS42MjUsMzItMTQuNWM3Ljg0NCw4Ljg3NSwxOS4yODEsMTQuNSwzMS45OTksMTQuNQoJCWMxMi43NSwwLDI0LjE4OC01LjYyNSwzMi0xNC41YzcuODQ0LDguODc1LDE5LjI4MSwxNC41LDMxLjk5OSwxNC41YzIzLjUzMSwwLDQyLjY4OC0xOS4xNDEsNDIuNjg4LTQyLjY1NlYyMzQuNjYzaDMyCgkJYzUuODc1LDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRWMTI4QzUxMS45OTYsMTIyLjEwOSw1MDcuMjE1LDExNy4zMzYsNTAxLjM0LDExNy4zMzZ6IE02NCwyNDUuMzM1SDQyLjY2NHYtNDIuNjcySDY0VjI0NS4zMzUKCQl6IE0xMjcuOTk5LDQ2OS4zNDFjMCwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMjU1Ljk5OXYtNjQKCQljMC0xMS43NTgsOS41Ny0yMS4zMzYsMjEuMzI4LTIxLjMzNmMxMS43NzMsMCwyMS4zMzYsOS41NzgsMjEuMzM2LDIxLjMzNlY0NjkuMzQxeiBNMTkxLjk5OSw0NjkuMzQxCgkJYy0wLjAwMSwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2CgkJYzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6IE0yNTUuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzM2LDIxLjMxMgoJCWMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2YzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6CgkJIE0zMTkuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzUsMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5CgkJYzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2YzExLjc4MSwwLDIxLjM0NCw5LjU3OCwyMS4zNDQsMjEuMzM2VjQ2OS4zNDF6IE0zODMuOTk3LDQ2OS4zNDEKCQljMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzQ5LDAtMjEuMzEyLTkuNTYyLTIxLjMxMi0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU2Mi0yMS4zMzYsMjEuMzEyLTIxLjMzNgoJCWMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNNDQ3Ljk5Niw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjM0NCwyMS4zMTIKCQljLTExLjc0OSwwLTIxLjMxMi05LjU2Mi0yMS4zMTItMjEuMzEyVjE5MS45OTljMC0xMS43NTgsOS41NjItMjEuMzM2LDIxLjMxMi0yMS4zMzZjMTEuNzgxLDAsMjEuMzQ0LDkuNTc4LDIxLjM0NCwyMS4zMzZWNDY5LjM0MQoJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzU2Ljg3MSwxMDMuNjcyYy0xLjMxMi00LjUzOS0wLjUtNy44NDQsMi42ODgtMTEuMDU1YzguNjU2LTguNjk1LDExLjUzMS0xOS45ODQsOC4wNjItMzEuODEyCgkJCWMtMi4zMTItNy45MzgtNi44MTItMTMuNTQ3LTcuMzc1LTE0LjI1Yy0wLjAzMSwwLTAuMDMxLTAuMDA4LTAuMDMxLTAuMDA4di0wLjAxNWMtMS45NjktMi4zNTktNC45MDYtMy44NjctOC4yMTktMy44NjcKCQkJYy01Ljg5LDAtMTAuNjU1LDQuNzgxLTEwLjY1NSwxMC42NzJjMCwyLjU4NiwwLjkwNiw0Ljk2MSwyLjQzOCw2LjgwNWMwLjAzMSwwLjAyMywyLjI4MSwyLjkzOCwzLjM3NSw2LjY1NgoJCQljMS4yNjYsNC4zNjcsMC40NjksNy41ODYtMi43MTksMTAuNzY2Yy04LjYyNSw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc4LDMxLjk5OGMyLjMyOCw4LjEwMiw2LjgyOCwxMy44MzYsNy4zMjgsMTQuNDY5di0wLjAwOAoJCQljMS45NjksMi40MjIsNC45NTMsMy45NzcsOC4zMTIsMy45NzdjNS44OTEsMCwxMC42NTYtNC43NzMsMTAuNjU2LTEwLjY2NGMwLTIuNTM5LTAuODc1LTQuODY3LTIuMzQ0LTYuNjk1CgkJCUMzNjAuMjc4LDExMC42MSwzNTcuOTY1LDEwNy41NTUsMzU2Ljg3MSwxMDMuNjcyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNjguNjU2LDk2LjYxYy0yLjQ2MS05LjgzNi0wLjQ5Mi0xOC4xOTUsNi0yNS41NDdjMTEuNDA2LTEyLjg5MSwxNS4wMzEtMjguNjk1LDEwLjUtNDUuNzI2CgkJCWMtMy4xODgtMTEuOTM4LTkuMzEyLTIwLjIyNy0xMC0yMS4xMzNWNC4yMmMtMS45NjktMi41NTUtNS4wMjMtNC4yMTktOC40OTItNC4yMTljLTUuODkzLDAtMTAuNjY2LDQuNzczLTEwLjY2NiwxMC42NjQKCQkJYzAsMi40MTQsMC44MDUsNC42MzMsMi4xNTYsNi40MTRoLTAuMDE2YzAuMDQ3LDAuMDYyLDQuNDkyLDYuMTA5LDYuNTQ3LDE0LjMyYzIuNDUzLDkuODI3LDAuNDg0LDE4LjE4Ny02LjAxNiwyNS41MzgKCQkJYy0xMS4zOSwxMi44OTEtMTUuMDE1LDI4LjY5Ni0xMC40ODMsNDUuNzI3YzMuMTcyLDExLjkzOCw5LjMwNSwyMC4yMjcsOS45ODQsMjEuMTMzbDAuMDE2LTAuMDE2CgkJCWMxLjk0NSwyLjU3LDUuMDE2LDQuMjE5LDguNDc3LDQuMjE5YzUuODk4LDAsMTAuNjgtNC43NzMsMTAuNjgtMTAuNjY0YzAtMi40MTQtMC44MTItNC42MzMtMi4xNTYtNi40MTQKCQkJQzI3NS4xNCwxMTAuODYsMjcwLjY5NSwxMDQuODEzLDI2OC42NTYsOTYuNjF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE4OS42NCwxMTAuNjQxYy0wLjAyMy0wLjAzMS0yLjMyOC0zLjA4Ni0zLjQ0NS02Ljk2OWMtMS4zMDUtNC41MzktMC41LTcuODQ0LDIuNjk1LTExLjA1NQoJCQljOC42NjQtOC42OTUsMTEuNTIzLTE5Ljk4NCw4LjA2Mi0zMS44MTJjLTIuMzItNy45MzgtNi43ODktMTMuNTMxLTcuMzkxLTE0LjI1YzAsMCwwLTAuMDA4LTAuMDA4LTAuMDA4bC0wLjAwOC0wLjAyM3YwLjAwOAoJCQljLTEuOTYxLTIuMzU5LTQuOTA2LTMuODY3LTguMjExLTMuODY3Yy01Ljg5MSwwLTEwLjY3Miw0Ljc4MS0xMC42NzIsMTAuNjcyYzAsMi41ODYsMC45MjIsNC45NjEsMi40NTMsNi44MDUKCQkJYzAuMDIzLDAuMDIzLDIuMjczLDIuOTM4LDMuMzU5LDYuNjU2YzEuMjgxLDQuMzY3LDAuNDY5LDcuNTg2LTIuNzAzLDEwLjc2NmMtOC42NCw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc3LDMxLjk5OAoJCQljMi4zMjgsOC4xMDIsNi44MjgsMTMuODM2LDcuMzM2LDE0LjQ2OXYtMC4wMDhjMS45NjEsMi40MjIsNC45NDUsMy45NzcsOC4zMDUsMy45NzdjNS44OTEsMCwxMC42NjQtNC43NzMsMTAuNjY0LTEwLjY2NAoJCQljMC0yLjUzOS0wLjg5MS00Ljg2Ny0yLjM2Ny02LjY5NUgxODkuNjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Xne="PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIC0xIDQ5NiA0OTUiIHdpZHRoPSI0OTZwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ4OCAzMjAuNWgtNDB2LTMyYzAtMi4xMjg5MDYtLjgzOTg0NC00LjE2MDE1Ni0yLjM0Mzc1LTUuNjU2MjVsLTEyMC0xMjBjLTEuNDk2MDk0LTEuNTAzOTA2LTMuNTI3MzQ0LTIuMzQzNzUtNS42NTYyNS0yLjM0Mzc1aC0xNnYtMTUyYzAtNC40MjU3ODEtMy41NzQyMTktOC04LThoLTk2Yy00LjQyNTc4MSAwLTggMy41NzQyMTktOCA4djE1MmgtMjRjLTIuMTI4OTA2IDAtNC4xNjAxNTYuODM5ODQ0LTUuNjU2MjUgMi4zNDM3NWwtMTIwIDEyMGMtMS41MDM5MDYgMS40OTYwOTQtMi4zNDM3NSAzLjUyNzM0NC0yLjM0Mzc1IDUuNjU2MjV2MzJoLTMyYy00LjQyNTc4MSAwLTggMy41NzQyMTktOCA4djQ4YzAgNC40MjU3ODEgMy41NzQyMTkgOCA4IDhoNDgwYzQuNDI1NzgxIDAgOC0zLjU3NDIxOSA4LTh2LTQ4YzAtNC40MjU3ODEtMy41NzQyMTktOC04LTh6bS0yODAtMzA0aDgwdjE5MmgtODB6bS0xNTIgMjc1LjMxMjUgMTE1LjMxMjUtMTE1LjMxMjVoMjAuNjg3NXY0MGMwIDQuNDI1NzgxIDMuNTc0MjE5IDggOCA4aDk2YzQuNDI1NzgxIDAgOC0zLjU3NDIxOSA4LTh2LTQwaDEyLjY4NzVsMTE1LjMxMjUgMTE1LjMxMjV2MjguNjg3NWgtMzc2em00MjQgNzYuNjg3NWgtNDY0di0zMmg0NjR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNzkuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjI3LjMxMjUgNDQwLjVjLTIuMTM2NzE5LTIuMTQ0NTMxLTMuMzEyNS00Ljk3NjU2Mi0zLjMxMjUtOHMxLjE3NTc4MS01Ljg1NTQ2OSAzLjMxMjUtOGwxMC4zNDM3NS0xMC4zNDM3NS0xMS4zMTI1LTExLjMxMjUtMTAuMzQzNzUgMTAuMzQzNzVjLTUuMTYwMTU2IDUuMTYwMTU2LTggMTIuMDE1NjI1LTggMTkuMzEyNXMyLjgzOTg0NCAxNC4xNjAxNTYgOCAxOS4zMTI1bDQuNjg3NSA0LjY4NzVjMi4xMzY3MTkgMi4xNDQ1MzEgMy4zMTI1IDQuOTc2NTYyIDMuMzEyNSA4cy0xLjE3NTc4MSA1Ljg1NTQ2OS0zLjMxMjUgOGwtMTAuMzQzNzUgMTAuMzQzNzUgMTEuMzEyNSAxMS4zMTI1IDEwLjM0Mzc1LTEwLjM0Mzc1YzUuMTYwMTU2LTUuMTYwMTU2IDgtMTIuMDE1NjI1IDgtMTkuMzEyNXMtMi44Mzk4NDQtMTQuMTYwMTU2LTgtMTkuMzEyNXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI3NS4zMTI1IDQ0MC41Yy0yLjEzNjcxOS0yLjE0NDUzMS0zLjMxMjUtNC45NzY1NjItMy4zMTI1LThzMS4xNzU3ODEtNS44NTU0NjkgMy4zMTI1LThsMTAuMzQzNzUtMTAuMzQzNzUtMTEuMzEyNS0xMS4zMTI1LTEwLjM0Mzc1IDEwLjM0Mzc1Yy01LjE2MDE1NiA1LjE2MDE1Ni04IDEyLjAxNTYyNS04IDE5LjMxMjVzMi44Mzk4NDQgMTQuMTYwMTU2IDggMTkuMzEyNWw0LjY4NzUgNC42ODc1YzIuMTM2NzE5IDIuMTQ0NTMxIDMuMzEyNSA0Ljk3NjU2MiAzLjMxMjUgOHMtMS4xNzU3ODEgNS44NTU0NjktMy4zMTI1IDhsLTEwLjM0Mzc1IDEwLjM0Mzc1IDExLjMxMjUgMTEuMzEyNSAxMC4zNDM3NS0xMC4zNDM3NWM1LjE2MDE1Ni01LjE2MDE1NiA4LTEyLjAxNTYyNSA4LTE5LjMxMjVzLTIuODM5ODQ0LTE0LjE2MDE1Ni04LTE5LjMxMjV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjMuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzg0IDI4OC41aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAyODguNWgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAgMjg4LjVoMTZ2MTZoLTE2em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Kne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDUgNTEyLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0zMjcuMTU5LDIuNzY2Yy00LjA2My0zLjY4OC0xMC4yNS0zLjY4OC0xNC4zMTMsMGMtNC42NDIsNC4xODYtMTEwLjg4OSwxMDEuMjkyLTE2MC4yMjgsMjEzLjgzOQoJCQkJYy01LjMxOC0xLjg2Ny0xMS40NC0zLjI2Ni0xOS4zNTUtMy4yNjZjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2CgkJCQljLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3CgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWMxMiwwLDE3LjU2MywzLjg2NSwyNC42MDQsOC43NgoJCQkJYzguMDUyLDUuNjA0LDE4LjA4MywxMi41NzMsMzYuNzcxLDEyLjU3M2MxOC42NzcsMCwyOC43MDgtNi45NjksMzYuNzcxLTEyLjU3M2M3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NgoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzMKCQkJCWMtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTExLjIwOCwwLTE2LjgyMy0zLjQxOS0yMy4yNDItNy44NTRjNDAuMTIxLTkyLjY2MSwxMjMuNjYxLTE3Ny40NjYsMTQ4LjYwNy0yMDEuNDkKCQkJCWMzMy4yMTksMzIuMDEsMTcwLjY2NywxNzEuODY1LDE3MC42NjcsMjk0LjY3N2MwLDk0LjEwNC03Ni41NjMsMTcwLjY2Ny0xNzAuNjY3LDE3MC42NjdjLTQyLjQ3NywwLTgyLjY2OS0xNS44MjItMTEzLjc4LTQzLjc1OAoJCQkJYzExLjU0Mi0yLjEzOCwxOC45OTQtNy4xNzcsMjUuMTg2LTExLjQ4MmM3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NmM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3CgkJCQlzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzYKCQkJCWMtMTIsMC0xNy41NjMtMy44NjUtMjQuNTk0LTguNzZjLTguMDYzLTUuNjA0LTE4LjA5NC0xMi41NzMtMzYuNzgxLTEyLjU3M2MtMTguNjc3LDAtMjguNjk4LDYuOTY5LTM2Ljc1LDEyLjU3MwoJCQkJYy03LjAzMSw0Ljg5Ni0xMi41ODMsOC43Ni0yNC41NzMsOC43NmMtMTEuOTY5LDAtMTcuNTIxLTMuODY1LTI0LjU0Mi04Ljc1Yy04LjA0Mi01LjYwNC0xOC4wNjMtMTIuNTgzLTM2LjcyOS0xMi41ODMKCQkJCWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzUKCQkJCWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODNjMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NQoJCQkJYzEyLDAsMTcuNTYzLDMuODY1LDI0LjYwNCw4Ljc2YzQuMzQ1LDMuMDIzLDkuNDE0LDYuMzU1LDE1Ljk2MSw4Ljg2NWMzNi42LDQyLjk5Niw4OS42NTUsNjcuNzA4LDE0Ni4xNzQsNjcuNzA4CgkJCQljMTA1Ljg2NSwwLDE5Mi04Ni4xMzUsMTkyLTE5MkM1MTIuMDAzLDE3MS42NDEsMzM0LjcwMSw5LjU4OSwzMjcuMTU5LDIuNzY2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMC42NjksMzYyLjY3MmMxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzUKCQkJCWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzQuNzczLDM2Mi42NzIsMTAuNjY5LDM2Mi42NzJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEzMy4yNjMsMzQxLjMzOWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMiwwLDE3LjU2MywzLjg2NSwyNC41OTQsOC43NgoJCQkJYzguMDYzLDUuNjA0LDE4LjA5NCwxMi41NzMsMzYuNzgxLDEyLjU3M2MxOC42NzcsMCwyOC43MDgtNi45NjksMzYuNzcxLTEyLjU3M2M3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NgoJCQkJYzEyLjE5OCwwLDE4LjQwNiwzLjk2OSwyNi4yNSw4Ljk5YzkuMDUyLDUuNzgxLDE5LjMxMywxMi4zNDQsMzcuNzUsMTIuMzQ0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcKCQkJCWMwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xMi4xOTgsMC0xOC40MDYtMy45NjktMjYuMjUtOC45OWMtOS4wNTItNS43ODEtMTkuMzEzLTEyLjM0NC0zNy43NS0xMi4zNDQKCQkJCWMtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU5NCw4Ljc2LTI0LjU4Myw4Ljc2Yy0xMiwwLTE3LjU2My0zLjg2NS0yNC42MDQtOC43NgoJCQkJQzE2MS45ODIsMzQ4LjMwNywxNTEuOTUxLDM0MS4zMzksMTMzLjI2MywzNDEuMzM5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMzMuMjYzLDI3Ny4zMzljLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2CgkJCQljLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3CgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3CgkJCQlDMTQzLjkzLDI4Mi4xMDksMTM5LjE1OSwyNzcuMzM5LDEzMy4yNjMsMjc3LjMzOXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjMxLjQwOSwzMDcuNDMyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NQoJCQkJYzguMDQyLDUuNjA0LDE4LjA2MywxMi41ODMsMzYuNzI5LDEyLjU4M2MxOC42NzcsMCwyOC43MDgtNi45NzksMzYuNzYtMTIuNTgzYzcuMDMxLTQuODg1LDEyLjU4My04Ljc1LDI0LjU2My04Ljc1CgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42NzcsMC0yOC42OTgsNi45NjktMzYuNzUsMTIuNTczCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4MwoJCQkJYy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjcKCQkJCXM0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N0MyMTMuMzE1LDMyMC4wMDUsMjIzLjM0NiwzMTMuMDM2LDIzMS40MDksMzA3LjQzMnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",qne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MTIgMTYzLjg3YzAtMTMuOS01LjQxMi0yNi45NjEtMTUuMjMzLTM2Ljc3LTkuODE1LTkuODI4LTIyLjg3Ni0xNS4yNC0zNi43NzYtMTUuMjRoLTgwLjk3Yy0yNi43MDUgMC00OC40My0yMS43MjYtNDguNDMtNDguNDMgMC0xMi45MzggNS4wMzctMjUuMTAxIDE0LjE4NC0zNC4yNDcgOS4xNDQtOS4xNDYgMjEuMzA3LTE0LjE4MyAzNC4yNDUtMTQuMTgzaDEyNS40OGM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtMTI1LjQ4Yy0xNi45NDUgMC0zMi44NzQgNi41OTctNDQuODUzIDE4LjU3Ny0xMS45NzkgMTEuOTc5LTE4LjU3NyAyNy45MDgtMTguNTc3IDQ0Ljg1MyAwIDM0Ljk3NSAyOC40NTUgNjMuNDMgNjMuNDMgNjMuNDNoODAuOTdjOS44OSAwIDE5LjE4MiAzLjg1IDI2LjE2OSAxMC44NDcgNi45OTEgNi45ODIgMTAuODQxIDE2LjI3MyAxMC44NDEgMjYuMTYzIDAgOC42MzctMy4wMzggMTcuMDQ0LTguNTU3IDIzLjY3NGwtMjIuMzA1IDI2LjgyMmMtNy44ODQtMi43MjUtMTYuOTg5LS45NzItMjMuMjgyIDUuMzExbC05LjA1OCA5LjA1OGMtMjAuMzItLjQyLTQzLjA5OCAzLjk0LTYyLjgyMSA3LjQyNy00LjA3OS43MjEtNi44MDEgNC42MTMtNi4wNzkgOC42OTEuNzIxIDQuMDc5IDQuNjEzIDYuNzk5IDguNjkxIDYuMDc5IDE4Ljk0Mi0zLjM1IDM4LjM5Mi01Ljc2OCA1Ny44MDktNy4xODUgNy42ODEtLjU2NiAxNC44MzMgNC4zOTMgMTYuOTg1IDExLjc4IDEuODI3IDYuMjcgNDcuMDI3IDE2MC4xNjcgNDguNTMzIDE2Ni41NzUuNDk4IDIuMTE5LS43MzggMy42Ni0yLjkxMiAzLjY2LTIyLjc4NiAwLTQxLjA0MiAxNS42Ni00OC40NjQgMzYuNDg4aC0zMjAuMzcxYy00LjE0MiAwLTcuNSAzLjM1Ny03LjUgNy41czMuMzU4IDcuNSA3LjUgNy41aDMyNy43ODdjNS40NDUgMCA5Ljg3NSA0LjQzIDkuODc1IDkuODc1cy00LjQzMSA5Ljg3NS05Ljg3NiA5Ljg3NWgtNDM2LjkwNmMzLjI2NS0xMS4zOTEgMTMuNzc1LTE5Ljc1IDI2LjItMTkuNzVoNTIuOTE5YzQuMTQyIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC00NC45NDRjNjIuNDYyLTExMS41OTggMTcxLjkwMy0xNzcuMDI3IDI5NC43NzgtMjA1LjQ4NiA0LjAzNS0uOTM1IDYuNTQ5LTQuOTYzIDUuNjE0LTguOTk5LS45MzQtNC4wMzUtNC45NjQtNi41NDktOC45OTktNS42MTQtNzEuNjMyIDE2LjU5OS0xNDMuNTkzIDQ3LjA1MS0yMDEuNDczIDkyLjYwNmwtMTAuMDcxLTEwLjA3Yy04LjYzNS04Ljc1Mi0yMy4xNTktOC42NzgtMzEuODI2LS4wMS04LjYzMSA4LjYzMi04LjcyOCAyMy4xNjYgMCAzMS44MDdsOC4wNTEgOC4wNTFjLTI5LjQ2NyAyOC45NTktNTQuMTAyIDYyLjMyLTc0LjA0MiA5OC45Mi0xOC40ODcgNC41MDItMzIuMjU2IDIxLjE5MS0zMi4yNTYgNDEuMDQ1IDAgNC4xNDMgMy4zNTggNy41IDcuNSA3LjVoNDQ1LjQ1NWMxMy43MTYgMCAyNC44NzUtMTEuMTU5IDI0Ljg3NS0yNC44NzUgMC0xMC43NS02Ljg1NS0xOS45MjctMTYuNDI0LTIzLjM5NSA1LjI2My0xMy41NzMgMTcuOTAzLTIyLjk2OSAzMi41OTgtMjIuOTY5IDExLjQ4MyAwIDIwLjMwMi0xMS40MDEgMTcuNDExLTIyLjUxLS4wMTgtLjA3MS0uMDM4LS4xNDItLjA1OC0uMjExbC00NS44NTctMTU3LjM5MSA5LjE2My05LjE1NmM3LjM1OS03LjMwMyA4LjY0NC0xOS4wOTMgMy4xOTctMjcuNzYybDIyLjExNS0yNi41OTNjNy43NTQtOS4zMTggMTIuMDI1LTIxLjEzMiAxMi4wMjUtMzMuMjY4em0tNDAzLjE0NiAxNzEuNDEzYzEuNDItMS40MjEgMy4zMDUtMi4yMDMgNS4zMDctMi4yMDMgMS45OTkgMCAzLjg3Ny43NzkgNS4yOTYgMi4yMDRsOS4wMTQgOS4wMTRjLTMuODI1IDMuMjQzLTcuNTgyIDYuNTUxLTExLjI3NCA5LjkyMmwtOC4zNDQtOC4zNDRjLTIuOTItMi45Mi0yLjkyLTcuNjcyLjAwMS0xMC41OTN6bTM1NS4yMDUtOTQuMzk4LTMuOTg2IDMuOTgzYy0yLjQ5Ni00LjQ2MS02LjAzNy04LjIwMy0xMC4yMzMtMTAuOTYxbDMuNjE5LTMuNjE5YzIuOTI2LTIuOTIgNy42OC0yLjkyMiAxMC41OTgtLjAwNCAxLjQyMSAxLjQyMSAyLjIwMyAzLjMwMiAyLjIwMyA1LjI5NyAwIDItLjc4MiAzLjg4NS0yLjIwMSA1LjMwNHptLTIxNS43NjUgOTQuNzY0Yy0xMy44MjQgNy42NTMtMjIuNDEyIDIyLjIzNS0yMi40MTIgMzguMDU2IDAgMTEuOTg3IDUuMDE5IDIzLjU2MyAxMy43NzEgMzEuNzU4IDguMDY2IDcuNTUzIDE4Ljc4OCAxMS43NTYgMjkuNzg2IDExLjc1NS45NCAwIDE1MS4wOC05LjgzOCAxNTEuMDgtOS44MzggNi45MTEtLjQ1NCAxMy4yMjUtMy45MTYgMTcuMzIyLTkuNDk4IDQuMDk2LTUuNTc5IDUuNTA3LTEyLjYzNyAzLjg3Mi0xOS4zNjJsLTE5LjUzOC04MC4zMjNjLTMuMDE3LTEyLjQwNC0xNS4xODMtMjAuMDEzLTI3LjY5My0xNy4zMjktMzAuMDk0IDYuNDY2LTU5Ljc4NyAxNS41OTQtODguMjU2IDI3LjEzLTE5Ljc2OCA4LjAxLTM5LjI1OSAxNy4zMTMtNTcuOTMyIDI3LjY1MXptMTA3LjI2NiA2MC45NjktNjcuNDMgNC40MzN2LTE3LjY4MWMwLS4yMzguMjAyLS40NC40NC0uNDRoNjYuNTVjLjI0MyAwIC40NC4xOTcuNDQuNDR6bTQyLjA3MS0xMDEuMDg1Yy42MTMtLjEzMiAxLjIyMy0uMTk1IDEuODIzLS4xOTUgMy44MTQgMCA3LjIxIDIuNTU5IDguMTQ1IDYuNDAzbDE5LjUzOCA4MC4zMjNjLjU5NSAyLjQ0Ni4xMDIgNC45MTEtMS4zODggNi45NC0xLjQ5MiAyLjAzMi0zLjY5OSAzLjI0Mi02LjIxNSAzLjQwOGwtNDguOTc0IDMuMjE5di0xMi4yNjFjMC04LjUxNC02LjkyNi0xNS40NC0xNS40NC0xNS40NGgtNjYuNTVjLTguNTE0IDAtMTUuNDQgNi45MjctMTUuNDQgMTUuNDR2MTguNjY3bC0xLjg1LjEyMmMtNy45NTcuNTE4LTE1LjU1Mi0yLjE5Mi0yMS4zNzUtNy42NDUtNS44MTktNS40NDktOS4wMjQtMTIuODM5LTkuMDI0LTIwLjgwOSAwLTEwLjM2NyA1LjYyNC0xOS45MjEgMTQuNjc3LTI0LjkzMyAxOC4xNDgtMTAuMDQ3IDM3LjA5LTE5LjA4OCA1Ni4zMDEtMjYuODczIDI3LjY2Ni0xMS4yMTEgNTYuNTI1LTIwLjA4MyA4NS43NzItMjYuMzY2eiIvPgogICAgPC9nPgo8L3N2Zz4=",eae="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQzNS4yIDMyNC4yNjdoLTEwLjkwNmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY3Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTIzMi43NzJjLTE0LjEzOCAwLTI1LjYtMTEuNDYyLTI1LjYtMjUuNnMxMS40NjItMjUuNiAyNS42LTI1LjZoMzYuNTA2YzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2g2Mi4xMDZjMTQuMTM4IDAgMjUuNi0xMS40NjIgMjUuNi0yNS42cy0xMS40NjItMjUuNi0yNS42LTI1LjZoLTYyLjEwNmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY2Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTM2LjUwNmMtNDIuNDE1IDAtNzYuOCAzNC4zODUtNzYuOCA3Ni44czM0LjM4NSA3Ni44IDc2LjggNzYuOGgyMzIuNzcyYzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2gxMC45MDdjMTQuMTM4IDAgMjUuNiAxMS40NjIgMjUuNiAyNS42cy0xMS40NjIgMjUuNi0yNS42IDI1LjZoLTMwOS41NzJjLTMuMDI0LTUuMjYzLTguNjI0LTguNTE1LTE0LjY5NC04LjUzM3YtMTcuMDY3YzAtOS40MjYtNy42NDEtMTcuMDY3LTE3LjA2Ny0xNy4wNjdoLTE3LjA2N2MtOS40MjYgMC0xNy4wNjcgNy42NDEtMTcuMDY3IDE3LjA2N3YxNy4wNjdjLTYuMDcuMDE4LTExLjY3IDMuMjctMTQuNjk0IDguNTMzaC0xOS40MzljLTE0LjEzOCAwLTI1LjYgMTEuNDYyLTI1LjYgMjUuNnMxMS40NjIgMjUuNiAyNS42IDI1LjZoMTkuNDM5YzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2gzMDkuNTczYzQyLjQxNSAwIDc2LjgtMzQuMzg1IDc2LjgtNzYuOHMtMzQuMzg1LTc2LjgtNzYuOC03Ni44em0tNTkuNzMzLTI1LjZoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tNzYuOC01MS4yYzAgNC43MTMtMy44MjEgOC41MzMtOC41MzMgOC41MzNoLTU5LjczNHYtMTcuMDY3aDU5LjczM2M0LjcxMyAwIDguNTM0IDMuODIxIDguNTM0IDguNTM0em0tMTE5LjQ2Ny01MS4yaDE3LjA2N3YxNy4wNjdoLTE3LjA2N3ptLTguNTMzIDM0LjEzM2g0Mi42Njd2MzQuMTMzaC01MS4ydi0zNC4xMzN6bS0xMTkuNDY3IDY4LjI2N2MuMDM4LTMyLjk3NCAyNi43NTktNTkuNjk2IDU5LjczMy01OS43MzNoMzQuMTMzdjE3LjA2NmgtMzQuMTMzYy0yMy41NjQgMC00Mi42NjcgMTkuMTAzLTQyLjY2NyA0Mi42NjdzMTkuMTAzIDQyLjY2NyA0Mi42NjcgNDIuNjY3aDIzMC40djE3LjA2NmgtMjMwLjRjLTMyLjk3NC0uMDM4LTU5LjY5NS0yNi43NTktNTkuNzMzLTU5LjczM3ptMzA3LjIgNjguMjY2di0zNC4xMzNoNTEuMnYzNC4xMzN6bS0yODEuNiAzNC4xMzRoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tNTkuNzMzIDUxLjJjMC00LjcxMyAzLjgyMS04LjUzMyA4LjUzMy04LjUzM2gxNy4wNjd2MTcuMDY2aC0xNy4wNjdjLTQuNzEzIDAtOC41MzMtMy44Mi04LjUzMy04LjUzM3ptNDIuNjY2IDE3LjA2NnYtMzQuMTMzaDUxLjJ2MzQuMTMzem0zNzUuNDY3LTguNTMzaC0zMDcuMnYtMTcuMDY3aDMwNy4yYzIzLjU2NCAwIDQyLjY2Ny0xOS4xMDMgNDIuNjY3LTQyLjY2N3MtMTkuMTAzLTQyLjY2Ny00Mi42NjctNDIuNjY3aC04LjUzM3YtMTcuMDY3aDguNTMzYzMyLjk5IDAgNTkuNzMzIDI2Ljc0NCA1OS43MzMgNTkuNzMzcy0yNi43NDMgNTkuNzM1LTU5LjczMyA1OS43MzV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4Ny43MzMgMTYyLjEzM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xODcuNzMzIDExMC45MzNjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44MjEtOC41MzMtOC41MzMtOC41MzMtNC43MTMgMC04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMyAzLjgyMSA4LjUzMyA4LjUzMyA4LjUzM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTg3LjczMyA1OS43MzNjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44MjEtOC41MzMtOC41MzMtOC41MzMtNC43MTMgMC04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMyAzLjgyMSA4LjUzMyA4LjUzMyA4LjUzM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTU0Ljc0MyAxNTcuODY3YzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjkuMTQzIDExMy40OTNjMS41MTMgMi42NjIgNC4zMzcgNC4zMDkgNy4zOTkgNC4zMTZzNS44OTMtMS42MjggNy40MTgtNC4yODMgMS41MTEtNS45MjQtLjAzOC04LjU2NmwtOC41MzMtMTQuNzhjLTEuNTEzLTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwMy41NDMgNjkuMTg4YzIuMzcyIDQuMDQ3IDcuNTY2IDUuNDIgMTEuNjI4IDMuMDc0IDQuMDYyLTIuMzQ1IDUuNDctNy41MyAzLjE1MS0xMS42MDhsLTguNTMzLTE0Ljc4OGMtMS41MTMtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjA5LjA2NyAxNjAuOTljNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43OGMtMi4zNTggNC4wODEtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjM0LjY2NyAxMTYuNjUxYzQuMDgxIDIuMzU2IDkuMy45NTggMTEuNjU3LTMuMTIzbDguNTMzLTE0Ljc4YzEuNTQ5LTIuNjQyIDEuNTYzLTUuOTExLjAzOC04LjU2NnMtNC4zNTYtNC4yOS03LjQxOC00LjI4My01Ljg4NiAxLjY1NC03LjM5OSA0LjMxNmwtOC41MzMgMTQuNzhjLTIuMzU4IDQuMDgtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjYwLjI2NyA3Mi4zMTFjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzg4YzEuNTQ5LTIuNjQyIDEuNTYzLTUuOTExLjAzOC04LjU2NnMtNC4zNTYtNC4yOS03LjQxOC00LjI4My01Ljg4NiAxLjY1NC03LjM5OSA0LjMxNmwtOC41MzMgMTQuNzg4Yy0yLjM1OCA0LjA4MS0uOTYgOS4zIDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzg0IDI3My4wNjdjNC43MTMgMCA4LjUzMy0zLjgyIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMjIxLjg2N2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMTcwLjY2N2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNTEuMDEgMjY4LjhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzhjLTEuNTE0LTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyNS40MSAyMjQuNDI3YzEuNTE0IDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxNC0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOTkuODEgMTgwLjEyMmMyLjM3MiA0LjA0NyA3LjU2NiA1LjQyIDExLjYyOCAzLjA3NCA0LjA2Mi0yLjM0NSA1LjQ3LTcuNTMgMy4xNTEtMTEuNjA4bC04LjUzMy0xNC43ODhjLTEuNTEzLTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNS4zMzMgMjcxLjkyM2M0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4LTQuMDYyLTIuMzQ1LTkuMjU2LS45NzItMTEuNjI4IDMuMDc0bC04LjUzMyAxNC43OGMtMi4zNTcgNC4wODItLjk1OSA5LjMwMSAzLjEyMiAxMS42NTd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzMC45MzMgMjI3LjU4NGM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4cy05LjI1Ni0uOTcyLTExLjYyOCAzLjA3NGwtOC41MzMgMTQuNzhjLTIuMzU3IDQuMDgyLS45NTkgOS4zMDEgMy4xMjIgMTEuNjU3eiIvPgogICAgICAgIDxwYXRoIGQ9Im00NTYuNTMzIDE4My4yNDVjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzg4YzIuMzE4LTQuMDc4LjkxMS05LjI2Mi0zLjE1MS0xMS42MDgtNC4wNjItMi4zNDUtOS4yNTYtLjk3Mi0xMS42MjggMy4wNzRsLTguNTMzIDE0Ljc4OGMtMi4zNTcgNC4wODItLjk1OSA5LjMgMy4xMjIgMTEuNjU3eiIvPgogICAgPC9nPgo8L3N2Zz4=",tae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDIgNTEyLjAwMiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTM5OC41ODkgMjQ2LjM0MmMtNjQuNjY2LTE3LjMyOC0xMTUuNjAxLTY4LjI2NC0xMzIuOTI5LTEzMi45MjktMS4xNzEtNC4zNzItNS4xMzMtNy40MTItOS42NTktNy40MTJzLTguNDg4IDMuMDQtOS42NTkgNy40MTJjLTE3LjMyOCA2NC42NjYtNjguMjYzIDExNS42MDEtMTMyLjkyOSAxMzIuOTI5LTQuMzcyIDEuMTcxLTcuNDEyIDUuMTMzLTcuNDEyIDkuNjU5czMuMDQgOC40ODggNy40MTIgOS42NTljNjQuNjY2IDE3LjMyOSAxMTUuNjAxIDY4LjI2NCAxMzIuOTI5IDEzMi45MjkgMS4xNzEgNC4zNzIgNS4xMzMgNy40MTIgOS42NTkgNy40MTJzOC40ODgtMy4wNCA5LjY1OS03LjQxMmMxNy4zMjgtNjQuNjY1IDY4LjI2NC0xMTUuNjAxIDEzMi45MjktMTMyLjkyOSA0LjM3Mi0xLjE3MSA3LjQxMi01LjEzMyA3LjQxMi05LjY1OXMtMy4wNC04LjQ4OC03LjQxMi05LjY1OXptLTE0Mi41ODggMTE5LjE3NmMtMjEuMDM5LTQ5LjA5Ni02MC40Mi04OC40NzgtMTA5LjUxNi0xMDkuNTE3IDQ5LjA5Ni0yMS4wMzkgODguNDc4LTYwLjQyIDEwOS41MTYtMTA5LjUxNyAyMS4wMzkgNDkuMDk3IDYwLjQyIDg4LjQ3OCAxMDkuNTE3IDEwOS41MTctNDkuMDk3IDIxLjAzOS04OC40NzggNjAuNDItMTA5LjUxNyAxMDkuNTE3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjQuMDM2IDIwMC40NThjLTEuODg2LTIuNTQ1LTQuODY3LTQuMDQ3LTguMDM1LTQuMDQ3cy02LjE0OSAxLjUwMS04LjAzNSA0LjA0N2MtMTMuNDE2IDE4LjEwNy0yOS40IDM0LjA5MS00Ny41MDggNDcuNTA4LTIuNTQ1IDEuODg2LTQuMDQ3IDQuODY3LTQuMDQ3IDguMDM1czEuNTAxIDYuMTQ5IDQuMDQ3IDguMDM1YzE4LjEwOCAxMy40MTYgMzQuMDkyIDI5LjQgNDcuNTA4IDQ3LjUwOCAxLjg4NiAyLjU0NSA0Ljg2NyA0LjA0NyA4LjAzNSA0LjA0N3M2LjE0OS0xLjUwMSA4LjAzNS00LjA0N2MxMy40MTYtMTguMTA4IDI5LjQtMzQuMDkyIDQ3LjUwOC00Ny41MDggMi41NDUtMS44ODYgNC4wNDctNC44NjcgNC4wNDctOC4wMzVzLTEuNTAxLTYuMTQ5LTQuMDQ3LTguMDM1Yy0xOC4xMDgtMTMuNDE3LTM0LjA5Mi0yOS40MDEtNDcuNTA4LTQ3LjUwOHptLTguMDM1IDg4LjkwOWMtMTAuMDQtMTIuMTYyLTIxLjIwNC0yMy4zMjYtMzMuMzY2LTMzLjM2NiAxMi4xNjMtMTAuMDQgMjMuMzI2LTIxLjIwNCAzMy4zNjYtMzMuMzY2IDEwLjA0IDEyLjE2MyAyMS4yMDQgMjMuMzI2IDMzLjM2NiAzMy4zNjYtMTIuMTYyIDEwLjA0LTIzLjMyNiAyMS4yMDQtMzMuMzY2IDMzLjM2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjU2LjAwMSA3NS45OTljNS41MjMgMCAxMC00LjQ3NyAxMC0xMHYtNTUuOTk5YzAtNS41MjMtNC40NzctMTAtMTAtMTBzLTEwIDQuNDc3LTEwIDEwdjU1Ljk5OWMwIDUuNTIzIDQuNDc3IDEwIDEwIDEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTQuNTc5IDEyOC43MjFjMS45NTMgMS45NTMgNC41MTIgMi45MjkgNy4wNzEgMi45MjlzNS4xMTktLjk3NiA3LjA3MS0yLjkyOWMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNsLTM5LjU5Ny0zOS41OThjLTMuOTA1LTMuOTA1LTEwLjIzNy0zLjkwNS0xNC4xNDMgMHMtMy45MDUgMTAuMjM3IDAgMTQuMTQzeiIvPgogICAgICAgIDxwYXRoIGQ9Im03NiAyNTYuMDAxYzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTU2Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU2YzUuNTIyIDAgMTAtNC40NzcgMTAtMTB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExNC41NzkgMzgzLjI4MS0zOS41OTggMzkuNTk4Yy0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDMgMS45NTMgMS45NTMgNC41MTIgMi45MjkgNy4wNzEgMi45MjlzNS4xMTktLjk3NiA3LjA3MS0yLjkyOWwzOS41OTgtMzkuNTk4YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3MtMTAuMjM3LTMuOTA2LTE0LjE0MiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMDAxIDQzNi4wMDNjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2NTUuOTk5YzAgNS41MjMgNC40NzcgMTAgMTAgMTBzMTAtNC40NzcgMTAtMTB2LTU1Ljk5OWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTcuNDI0IDM4My4yODFjLTMuOTA1LTMuOTA0LTEwLjIzNi0zLjkwNC0xNC4xNDMgMC0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDNsMzkuNTk3IDM5LjU5OGMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc3IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3oiLz4KICAgICAgICA8cGF0aCBkPSJtNTAyLjAwMiAyNDYuMDAxaC01NS45OTljLTUuNTIzIDAtMTAgNC40NzctMTAgMTBzNC40NzcgMTAgMTAgMTBoNTUuOTk5YzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTAuMzUzIDEzMS42NDljMi41NTkgMCA1LjExOS0uOTc2IDcuMDcxLTIuOTI5bDM5LjU5Ny0zOS41OThjMy45MDUtMy45MDUgMy45MDUtMTAuMjM3IDAtMTQuMTQzcy0xMC4yMzctMy45MDUtMTQuMTQzIDBsLTM5LjU5NyAzOS41OThjLTMuOTA1IDMuOTA1LTMuOTA1IDEwLjIzNyAwIDE0LjE0MyAxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MiAyLjkyOXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYxLjg2OCAzOC43MzVjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMSA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xM2wtLjAwMy0uMDA3Yy0yLjE3NS01LjA3Ni04LjA1MS03LjQyMy0xMy4xMjktNS4yNDktNS4wNzYgMi4xNzUtNy40MjYgOC4wNTgtNS4yNSAxMy4xMzQgMS42MjUgMy43OTIgNS4zMTYgNi4wNjMgOS4xOTYgNi4wNjN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2OS44NDQgNzQuMTMxIDEzLjA1NCAzMS41MTRjMS41OTUgMy44NTEgNS4zMTggNi4xNzUgOS4yNDMgNi4xNzUgMS4yNzUgMCAyLjU3Mi0uMjQ1IDMuODIzLS43NjQgNS4xMDItMi4xMTQgNy41MjUtNy45NjMgNS40MTItMTMuMDY2bC0xMy4wNTQtMzEuNTE0Yy0yLjExNC01LjEwMy03Ljk2My03LjUyNy0xMy4wNjYtNS40MTJzLTcuNTI2IDcuOTY0LTUuNDEyIDEzLjA2N3oiLz4KICAgICAgICA8cGF0aCBkPSJtMjQuNTQyIDE3MC45NDNjMS4zNTcuNjI2IDIuNzgyLjkyMyA0LjE4NC45MjMgMy43OCAwIDcuMzk4LTIuMTU0IDkuMDg2LTUuODEyIDIuMzE0LTUuMDE0LjEyNS0xMC45NTYtNC44ODktMTMuMjdsLS4wMDYtLjAwM2MtNS4wMTMtMi4zMTUtMTAuOTUyLS4xMjUtMTMuMjY3IDQuODkxLTIuMzE2IDUuMDE0LS4xMjMgMTAuOTU2IDQuODkyIDEzLjI3MXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjYuNDc3IDE4OC4zMjEgMzEuNTE1IDEzLjA1NGMxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2IDIuMTE0LTUuMTAzLS4zMS0xMC45NTItNS40MTItMTMuMDY1bC0zMS41MTYtMTMuMDU0Yy01LjEwMS0yLjExMy0xMC45NTIuMzEtMTMuMDY1IDUuNDEyLTIuMTE0IDUuMTAyLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwNS42NDUgMzI5LjEwNGM1LjEwMy0yLjExMyA3LjUyNi03Ljk2MyA1LjQxMi0xMy4wNjUtMi4xMTMtNS4xMDMtNy45NjQtNy41MjctMTMuMDY1LTUuNDEybC0zMS41MTQgMTMuMDU0Yy01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjUgMS41OTUgMy44NTIgNS4zMTggNi4xNzYgOS4yNDMgNi4xNzYgMS4yNzUgMCAyLjU3Mi0uMjQ1IDMuODIzLS43NjR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI0Ljc5MyAzNDAuOTQ3LS4wMDcuMDAzYy01LjA3NiAyLjE3NS03LjQyNCA4LjA1My01LjI0OSAxMy4xMjkgMS42MjUgMy43OTIgNS4zMTcgNi4wNjIgOS4xOTggNi4wNjIgMS4zMTUgMCAyLjY1Mi0uMjYxIDMuOTM2LS44MTIgNS4wNzctMi4xNzUgNy40MjgtOC4wNTQgNS4yNTItMTMuMTMxLTIuMTc0LTUuMDc1LTguMDUzLTcuNDI2LTEzLjEzLTUuMjUxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjYuMDU0IDQ3NC4xOWMtNS4wMTUtMi4zMTUtMTAuOTU2LS4xMjUtMTMuMjcgNC44ODlsLS4wMDMuMDA2Yy0yLjMxNCA1LjAxNC0uMTI0IDEwLjk1MyA0Ljg5MSAxMy4yNjcgMS4zNTYuNjI2IDIuNzguOTIyIDQuMTgyLjkyMiAzLjc4MSAwIDcuNDAxLTIuMTU2IDkuMDg5LTUuODE0IDIuMzE0LTUuMDE0LjEyNS0xMC45NTUtNC44ODktMTMuMjd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE5NS45NjMgNDAwLjk0NWMtNS4xMDEtMi4xMTQtMTAuOTUyLjMxLTEzLjA2NSA1LjQxMmwtMTMuMDU0IDMxLjUxNWMtMi4xMTQgNS4xMDMuMzEgMTAuOTUyIDUuNDEyIDEzLjA2NSAxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2bDEzLjA1NC0zMS41MTVjMi4xMTMtNS4xMDItLjMxMS0xMC45NTItNS40MTMtMTMuMDY1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNDYuMTk5IDQ3NC4wNzhjLTUuMDc2IDIuMTc1LTcuNDI4IDguMDU0LTUuMjUyIDEzLjEzbC4wMDMuMDA3YzEuNjI1IDMuNzkxIDUuMzE0IDYuMDYgOS4xOTIgNi4wNiAxLjMxNSAwIDIuNjUxLS4yNjEgMy45MzctLjgxMiA1LjA3Ni0yLjE3NSA3LjQyNi04LjA1OCA1LjI1LTEzLjEzNC0yLjE3NC01LjA3Ni04LjA1MS03LjQyNi0xMy4xMy01LjI1MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQyLjE1OCA0MzcuODcxLTEzLjA1NC0zMS41MTRjLTIuMTE0LTUuMTAzLTcuOTY1LTcuNTI3LTEzLjA2NS01LjQxMi01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjVsMTMuMDU0IDMxLjUxNGMxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NCA1LjEwMi0yLjExMiA3LjUyNS03Ljk2MiA1LjQxMS0xMy4wNjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4Ny4yMDggMzQwLjk0N2MtNS4wNzYtMi4xNzctMTAuOTU1LjE3Ny0xMy4xMyA1LjI1Mi0yLjE3NiA1LjA3Ny4xNzYgMTAuOTU2IDUuMjUyIDEzLjEzMWwuMDA2LjAwM2MxLjI4NS41NSAyLjYxOS44MTEgMy45MzMuODExIDMuODc5IDAgNy41NjktMi4yNzIgOS4xOTQtNi4wNjQgMi4xNzctNS4wNzctLjE3OC0xMC45NTctNS4yNTUtMTMuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NDUuNTI1IDMyMy42ODEtMzEuNTE0LTEzLjA1NGMtNS4xMDItMi4xMTMtMTAuOTUxLjMxLTEzLjA2NSA1LjQxMnMuMzEgMTAuOTUyIDUuNDEyIDEzLjA2NWwzMS41MTQgMTMuMDU0YzEuMjUyLjUxOSAyLjU0OC43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzYgMi4xMTMtNS4xMDItLjMxMS0xMC45NTItNS40MTMtMTMuMDY1eiIvPgogICAgICAgIDxwYXRoIGQ9Im00ODMuMjc0IDE3MS44NjZjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMWwuMDA3LS4wMDNjNS4wNzYtMi4xNzUgNy40MjQtOC4wNTMgNS4yNDktMTMuMTI5cy04LjA2LTcuNDI3LTEzLjEzNC01LjI1Yy01LjA3NyAyLjE3NS03LjQyOCA4LjA1NC01LjI1MiAxMy4xMzEgMS42MjUgMy43OTEgNS4zMTYgNi4wNjIgOS4xOTYgNi4wNjJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNi4zNTcgMTgyLjg5N2MtNS4xMDMgMi4xMTMtNy41MjYgNy45NjMtNS40MTIgMTMuMDY1IDEuNTk1IDMuODUyIDUuMzE4IDYuMTc2IDkuMjQzIDYuMTc2IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0bDMxLjUxNC0xMy4wNTRjNS4xMDMtMi4xMTMgNy41MjYtNy45NjMgNS40MTItMTMuMDY1LTIuMTE0LTUuMTAzLTcuOTYzLTcuNTI3LTEzLjA2Ni01LjQxMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQ2LjE5OSAzNy45MjNjMS4yODUuNTUxIDIuNjIxLjgxMSAzLjkzNS44MTEgMy44OCAwIDcuNTcxLTIuMjcxIDkuMTk2LTYuMDYzbC4wMDMtLjAwN2MyLjE3Ni01LjA3Ni0uMTc3LTEwLjk1Mi01LjI1My0xMy4xMjctNS4wNzQtMi4xNzYtMTAuOTU3LjE3OS0xMy4xMzIgNS4yNTYtMi4xNzcgNS4wNzYuMTc1IDEwLjk1NSA1LjI1MSAxMy4xM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMzE2LjAzOSAxMTEuMDU3YzEuMjUxLjUxOSAyLjU0Ny43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzZsMTMuMDU0LTMxLjUxNGMyLjExNC01LjEwMy0uMzEtMTAuOTUzLTUuNDEyLTEzLjA2Ni01LjEwMS0yLjExNC0xMC45NTEuMzEtMTMuMDY1IDUuNDEybC0xMy4wNTQgMzEuNTE0Yy0yLjExNSA1LjEwMi4zMDkgMTAuOTUyIDUuNDExIDEzLjA2NnoiLz4KICAgIDwvZz4KPC9zdmc+",sae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0yNDAuMDAzLDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThWOGMwLTQuNDE4LTMuNTgyLTgtOC04cy04LDMuNTgyLTgsOHYzMkMyMzIuMDAzLDQ0LjQxOCwyMzUuNTg0LDQ4LDI0MC4wMDMsNDh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0MS4wNzUsMzYuNjU2bDE2LDI3LjcwNGMyLjE4NCwzLjg0MSw3LjA2OCw1LjE4NCwxMC45MDksM3M1LjE4NC03LjA2OCwzLTEwLjkwOWMtMC4wMTctMC4wMzEtMC4wMzUtMC4wNjEtMC4wNTMtMC4wOTIKCQkJCWwtMTYtMjcuNzA0Yy0yLjE4NC0zLjg0MS03LjA2OC01LjE4NC0xMC45MDktM2MtMy44NDEsMi4xODQtNS4xODQsNy4wNjgtMywxMC45MDlDMTQxLjAzOSwzNi41OTUsMTQxLjA1NywzNi42MjYsMTQxLjA3NSwzNi42NTYKCQkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuNTY3LDEwNi44NzVjMC4wMywwLjAxOCwwLjA2MSwwLjAzNSwwLjA5MiwwLjA1M2wyNy43MDQsMTZjMy44MTIsMi4yMzQsOC43MTMsMC45NTYsMTAuOTQ3LTIuODU2CgkJCQljMi4yMzQtMy44MTIsMC45NTYtOC43MTMtMi44NTYtMTAuOTQ3Yy0wLjAzLTAuMDE4LTAuMDYxLTAuMDM1LTAuMDkyLTAuMDUzbC0yNy43MDQtMTZjLTMuODEyLTIuMjM0LTguNzEzLTAuOTU2LTEwLjk0NywyLjg1NgoJCQkJQzcxLjQ3Nyw5OS43MzksNzIuNzU1LDEwNC42NDEsNzYuNTY3LDEwNi44NzV6Ii8+CiAgICAgICAgPHBhdGggZD0iTTk2LjAwMywxOTJjMC00LjQxOC0zLjU4Mi04LTgtOGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJDOTIuNDIxLDIwMCw5Ni4wMDMsMTk2LjQxOCw5Ni4wMDMsMTkyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDQuNDU2LDI2MS4wMThjLTAuMDMxLDAuMDE4LTAuMDYyLDAuMDM2LTAuMDkzLDAuMDU0bC0yNy43MDQsMTZjLTMuODQxLDIuMTgzLTUuMTg1LDcuMDY3LTMuMDAyLDEwLjkwOAoJCQkJYzIuMTgzLDMuODQxLDcuMDY3LDUuMTg1LDEwLjkwOCwzLjAwMmMwLjAzMS0wLjAxOCwwLjA2Mi0wLjAzNiwwLjA5My0wLjA1NGwyNy43MDQtMTZjMy44NDEtMi4xODMsNS4xODUtNy4wNjcsMy4wMDItMTAuOTA4CgkJCQlDMTEzLjE4MSwyNjAuMTc5LDEwOC4yOTcsMjU4LjgzNSwxMDQuNDU2LDI2MS4wMTh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQwMy40NCwyNzcuMTI2Yy0wLjAzMS0wLjAxOC0wLjA2Mi0wLjAzNi0wLjA5My0wLjA1NGwtMjcuNzA0LTE2Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQKCQkJCWMtMi4yMzUsMy44MTEtMC45NTcsOC43MTMsMi44NTQsMTAuOTQ4YzAuMDMxLDAuMDE4LDAuMDYyLDAuMDM2LDAuMDkzLDAuMDU0bDI3LjcwNCwxNmMzLjgxMSwyLjIzNSw4LjcxMywwLjk1NywxMC45NDgtMi44NTQKCQkJCUM0MDguNTI5LDI4NC4yNjIsNDA3LjI1MSwyNzkuMzYxLDQwMy40NCwyNzcuMTI2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjQuMDAzLDE4NGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM0MjguNDIxLDE4NCw0MjQuMDAzLDE4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzcxLjY1MSwxMjRjMS40MDQsMCwyLjc4NC0wLjM3LDQtMS4wNzJsMjcuNzA0LTE2YzMuODQxLTIuMTg0LDUuMTg0LTcuMDY4LDMtMTAuOTA5cy03LjA2OC01LjE4NC0xMC45MDktMwoJCQkJYy0wLjAzMSwwLjAxNy0wLjA2MSwwLjAzNS0wLjA5MiwwLjA1M2wtMjcuNzA0LDE2Yy0zLjgyNiwyLjIwOS01LjEzNyw3LjEwMi0yLjkyOCwxMC45MjgKCQkJCUMzNjYuMTUyLDEyMi40NzUsMzY4Ljc5MywxMjQsMzcxLjY1MSwxMjR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTMxMS45OTMsNjcuMjkxYzAuMDAzLDAuMDAyLDAuMDA2LDAuMDA0LDAuMDA5LDAuMDA1YzMuODI3LDIuMjA3LDguNzIsMC44OTQsMTAuOTI3LTIuOTM0CgkJCQljMC0wLjAwMSwwLjAwMS0wLjAwMiwwLjAwMS0wLjAwMmwxNi0yNy43MDRjMi4yMzUtMy44MTEsMC45NTctOC43MTMtMi44NTQtMTAuOTQ4Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQKCQkJCWMtMC4wMTgsMC4wMzEtMC4wMzYsMC4wNjItMC4wNTQsMC4wOTNsLTE2LDI3LjcwNEMzMDYuODYyLDYwLjE4NCwzMDguMTY5LDY1LjA3OCwzMTEuOTkzLDY3LjI5MXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LjAwMywzMjBjNC40MTgsMCw4LTMuNTgyLDgtOHYtODhoMTZjMTcuNjczLDAsMzItMTQuMzI3LDMyLTMycy0xNC4zMjctMzItMzItMzJjLTE3LjY3MywwLTMyLDE0LjMyNy0zMiwzMnYxNmgtMTYKCQkJCXYtMTZjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiwxNC4zMjctMzIsMzJzMTQuMzI3LDMyLDMyLDMyaDE2djg4YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LTh2LTg4aDE2djg4CgkJCQlDMjQ4LjAwMywzMTYuNDE4LDI1MS41ODQsMzIwLDI1Ni4wMDMsMzIweiBNMjY0LjAwMywxOTJjMC04LjgzNyw3LjE2My0xNiwxNi0xNnMxNiw3LjE2MywxNiwxNnMtNy4xNjMsMTYtMTYsMTZoLTE2VjE5MnoKCQkJCSBNMjE2LjAwMywyMDhoLTE2Yy04LjgzNywwLTE2LTcuMTYzLTE2LTE2czcuMTYzLTE2LDE2LTE2czE2LDcuMTYzLDE2LDE2VjIwOHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjQ2LjIxOSw2NC4xNTJjLTcwLjYxMS0zLjM5Mi0xMzAuNjAzLDUxLjA5OS0xMzMuOTk1LDEyMS43MWMtMS45NDMsNDAuNDMyLDE1LjM1NCw3OS40LDQ2LjY0MywxMDUuMDgyCgkJCQljNS42MzksNC40MTcsOC45OTQsMTEuMTM1LDkuMTM2LDE4LjI5NlYzMjhjMC4wNDIsMTAuMTM0LDYuNDQ1LDE5LjE1LDE2LDIyLjUyOFYzNjBjMC4wMjEsNS45MjMsMi4yNDUsMTEuNjI3LDYuMjQsMTYKCQkJCWMtOC4zMiw5LjA0NC04LjMyLDIyLjk1NiwwLDMyYy04Ljg5NCw5Ljc1LTguMiwyNC44NjQsMS41NSwzMy43NThjNC40MjksNC4wNCwxMC4yMTUsNi4yNjgsMTYuMjEsNi4yNDIKCQkJCWM0LjMwNiwwLjExMyw3Ljg4OS0zLjI4Nyw4LjAwMS03LjU5M2MwLjA0NC0xLjY4LTAuNDU2LTMuMzMtMS40MjUtNC43MDNjLTAuMjUzLTAuNDg5LTAuNTUzLTAuOTUzLTAuODk2LTEuMzg0CgkJCQljLTAuNjU4LTAuNjAyLTEuNDA5LTEuMDk0LTIuMjI0LTEuNDU2Yy0wLjIzMi0wLjEyLTAuNDY0LTAuMjE2LTAuNzA0LTAuMzEyYy0wLjgxLTAuMjk1LTEuNjU5LTAuNDY1LTIuNTItMC41MDQKCQkJCWMtMC4wOCwwLTAuMTUyLTAuMDQ4LTAuMjMyLTAuMDQ4Yy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMgoJCQkJYy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMmMtNC40MTgsMC04LTMuNTgyLTgtOHYtOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04CgkJCQlzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LTMuNTgyLTgtOHYtMTguNzZjLTAuMTMxLTExLjk2Mi01LjY0LTIzLjIzLTE1LTMwLjY4Yy00Ny43ODgtMzkuMjc0LTU0LjY4OS0xMDkuODUyLTE1LjQxNS0xNTcuNjQKCQkJCWMyMi40NjYtMjcuMzM2LDU2LjUyOC00Mi40NDgsOTEuODcxLTQwLjc2YzU5LjEwNywzLjUxNiwxMDUuNTM2LDUxLjk1NywxMDYuNTQ0LDExMS4xNmMwLjI4NywzNC4wNTItMTUuMDI0LDY2LjM2My00MS41Niw4Ny43MDQKCQkJCWMtOS4yOSw3LjY1Mi0xNC42MDIsMTkuMTA5LTE0LjQ0LDMxLjE0NFYzMjhjMCw0LjQxOC0zLjU4Miw4LTgsOGgtMjRjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMTZ2OAoJCQkJYzAsNC40MTgtMy41ODIsOC04LDhoLThjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoOGM0LjQxOCwwLDgsMy41ODIsOCw4cy0zLjU4Miw4LTgsOGgtOGMtNC40MTgsMC04LDMuNTgyLTgsOAoJCQkJczMuNTgyLDgsOCw4aDhjNC40MTgsMCw4LDMuNTgyLDgsOHMtMy41ODIsOC04LDhoLTQwYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMwLjYzMgoJCQkJYy00LjQxNywxMi40OTctMTguMTI5LDE5LjA0Ny0zMC42MjYsMTQuNjNjLTMuODI2LTEuMzUyLTcuMjQ2LTMuNjUzLTkuOTQyLTYuNjg2Yy0yLjkzOC0zLjMtNy45OTYtMy41OTQtMTEuMjk2LTAuNjU2CgkJCQljLTMuMywyLjkzOC0zLjU5NCw3Ljk5Ni0wLjY1NiwxMS4yOTZjMTQuNjMxLDE2LjQ4NywzOS44NTcsMTcuOTkyLDU2LjM0NCwzLjM2MmM2LjgxLTYuMDQzLDExLjM0OS0xNC4yMzIsMTIuODY0LTIzLjIxCgkJCQljMTIuNTI5LTMuOTE2LDE5LjUxMS0xNy4yNDcsMTUuNTk2LTI5Ljc3NmMtMS4wNC0zLjMyOS0yLjgwMS02LjM4OC01LjE1Ni04Ljk2YzguMzItOS4wNDQsOC4zMi0yMi45NTYsMC0zMgoJCQkJYzMuOTk1LTQuMzczLDYuMjE5LTEwLjA3Nyw2LjI0LTE2di05LjQ3MmM5LjU1NS0zLjM3OCwxNS45NTgtMTIuMzk0LDE2LTIyLjUyOHYtMTcuODMyYy0wLjEwNy03LjE4NywzLjAwNy0xNC4wNDYsOC40ODgtMTguNjk2CgkJCQljMzAuMzQ0LTI0LjM5NSw0Ny44NS02MS4zMzksNDcuNTEyLTEwMC4yNzJDMzY2Ljg0NywxMjMuNTMyLDMxMy43NzcsNjguMTY5LDI0Ni4yMTksNjQuMTUyeiIvPgogICAgPC9nPgo8L3N2Zz4K",iae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjU1Ljk5OSwwYy03OS4wNDQsMC0xNDMuMzUyLDY0LjMwOC0xNDMuMzUyLDE0My4zNTN2NzAuMTkzYzAsNC43OCwzLjg3OSw4LjY1Niw4LjY1OSw4LjY1Nmg0OC4wNTcKCQkJYzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzYzAtNDIuOTk4LDM0Ljk4MS03Ny45OCw3Ny45NzktNzcuOThzNzcuOTc5LDM0Ljk4Miw3Ny45NzksNzcuOTh2NzAuMTkzCgkJCWMwLDQuNzgsMy44OCw4LjY1Niw4LjY2MSw4LjY1Nmg0OC4wNTdjNC43OCwwLDguNjU2LTMuODc2LDguNjU2LTguNjU2di03MC4xOTNDMzk5LjM1Miw2NC4zMDgsMzM1LjA0NCwwLDI1NS45OTksMHoKCQkJIE0zODIuMDQsMjA0Ljg5aC0zMC43NDh2LTYxLjUzN2MwLTUyLjU0NC00Mi43NDgtOTUuMjkyLTk1LjI5MS05NS4yOTJzLTk1LjI5MSw0Mi43NDgtOTUuMjkxLDk1LjI5MnY2MS41MzdoLTMwLjc0OHYtNjEuNTM3CgkJCWMwLTY5LjQ5OSw1Ni41NC0xMjYuMDQsMTI2LjAzOC0xMjYuMDRjNjkuNDk5LDAsMTI2LjA0LDU2LjU0MSwxMjYuMDQsMTI2LjA0VjIwNC44OXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDEwLjYzLDIwNC44OUgxMDEuMzcxYy0yMC41MDUsMC0zNy4xODgsMTYuNjgzLTM3LjE4OCwzNy4xODh2MjMyLjczNGMwLDIwLjUwNSwxNi42ODMsMzcuMTg4LDM3LjE4OCwzNy4xODhINDEwLjYzCgkJCWMyMC41MDUsMCwzNy4xODctMTYuNjgzLDM3LjE4Ny0zNy4xODlWMjQyLjA3OEM0NDcuODE3LDIyMS41NzMsNDMxLjEzNSwyMDQuODksNDEwLjYzLDIwNC44OXogTTQzMC41MDUsNDc0LjgxMQoJCQljMCwxMC45Ni04LjkxNiwxOS44NzYtMTkuODc1LDE5Ljg3NkgxMDEuMzcxYy0xMC45NiwwLTE5Ljg3Ni04LjkxNi0xOS44NzYtMTkuODc2VjI0Mi4wNzhjMC0xMC45Niw4LjkxNi0xOS44NzYsMTkuODc2LTE5Ljg3NgoJCQlINDEwLjYzYzEwLjk1OSwwLDE5Ljg3NSw4LjkxNiwxOS44NzUsMTkuODc2VjQ3NC44MTF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI4NS4xMSwzNjkuNzgxYzEwLjExMy04LjUyMSwxNS45OTgtMjAuOTc4LDE1Ljk5OC0zNC4zNjVjMC0yNC44NzMtMjAuMjM2LTQ1LjEwOS00NS4xMDktNDUuMTA5CgkJCWMtMjQuODc0LDAtNDUuMTEsMjAuMjM2LTQ1LjExLDQ1LjEwOWMwLDEzLjM4Nyw1Ljg4NSwyNS44NDQsMTYsMzQuMzY3bC05LjczMSw0Ni4zNjJjLTAuNTM1LDIuNTU0LDAuMTA4LDUuMjExLDEuNzUyLDcuMjM2CgkJCWMxLjY0NSwyLjAyMyw0LjExMywzLjIsNi43MiwzLjJoNjAuNzM4YzIuNjA4LDAsNS4wNzYtMS4xNzYsNi43MTktMy4yYzEuNjQzLTIuMDI2LDIuMjg2LTQuNjgzLDEuNzUxLTcuMjM0TDI4NS4xMSwzNjkuNzgxegoJCQkgTTI3MC44NTEsMzU4LjgyYy0zLjA0LDEuOTM2LTQuNTY1LDUuNTUzLTMuODI0LDkuMDgxbDguNjgsNDEuMzY2aC0zOS40MTVsOC42ODItNDEuMzYzYzAuNzQtMy41MjktMC43ODItNy4xNDYtMy44MjQtOS4wODEKCQkJYy04LjEwOC01LjE2LTEyLjk0OC0xMy45MTEtMTIuOTQ4LTIzLjQwNmMwLTE1LjMyNywxMi40NjktMjcuNzk2LDI3Ljc5Ny0yNy43OTZjMTUuMzI3LDAsMjcuNzk2LDEyLjQ2OSwyNy43OTYsMjcuNzk2CgkJCUMyODMuNzk3LDM0NC45MTQsMjc4Ljk1NywzNTMuNjYzLDI3MC44NTEsMzU4LjgyeiIvPgogICAgPC9nPgo8L3N2Zz4K",oae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDk0LjkzMzU5NCAwaC00NzcuODY3MTg4Yy05LjQyMTg3NS4wMDc4MTI1LTE3LjA1ODU5MzUgNy42NDQ1MzEtMTcuMDY2NDA2IDE3LjA2NjQwNnY1OS43MzQzNzVjLjAwNzgxMjUgOS40MjE4NzUgNy42NDQ1MzEgMTcuMDU0Njg4IDE3LjA2NjQwNiAxNy4wNjY0MDdoMTAuODk0NTMybC0yNi44MzU5MzggNDYuOTY0ODQzYy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE5NTMxIDEuNTI3MzQ0IDIuNjI4OTA3IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTMgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA2IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45Njg3NWMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODgyODEzLjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYyODkwNyA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY0ODQ0Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjMyODEyIDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNTM5MDZoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY0ODQ0Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjMyODEzIDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45Njg3NWMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODgyODEzLjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYyODkwNiA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoNDk0LjkyOTY4OGMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDk0IDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY4NzVoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MTcxODcgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYyODkwNiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45NjQ4NDRoMTkuNDI1NzgyYzMuMDQyOTY4LS4wMDM5MDYgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNTM5MDYgMS41MjczNDQtMi42Mjg5MDYgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY0ODQ0aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDkzIDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY4NzVoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYxNzE4NyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjI4OTA2IDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2NDg0NGgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYyMTA5MyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjMyODEyIDEuNTM1MTU2LTUuODc4OTA2LjAyNzM0NC04LjUxOTUzMWwtMjYuODM1OTM4LTQ2Ljk2NDg0M2gxMC44OTQ1MzJjOS40MjE4NzUtLjAxMTcxOSAxNy4wNTQ2ODctNy42NDQ1MzIgMTcuMDY2NDA2LTE3LjA2NjQwN3YtNTkuNzM0Mzc1Yy0uMDExNzE5LTkuNDIxODc1LTcuNjQ0NTMxLTE3LjA1NDY4NzItMTcuMDY2NDA2LTE3LjA2NjQwNnptLTQ0Ny4zMTY0MDYgOTMuODY3MTg4aDQ2LjI1djQyLjY2Nzk2OGgtNzAuNjI4OTA3em0zMTkuMzE2NDA2IDB2NDIuNjY3OTY4aC0yMjEuODY3MTg4di00Mi42Njc5Njh6bTY4LjI2NTYyNSAwdjQyLjY2Nzk2OGgtMTcuMDY2NDA3di00Mi42Njc5Njh6bS0yOTAuMTMyODEzIDM0MS4zMzIwMzF2LTQyLjY2NDA2M2gyMjEuODY3MTg4djQyLjY2NDA2M3ptMjIxLjg2NzE4OCAxNy4wNjY0MDZ2NDIuNjY3OTY5aC0yMjEuODY3MTg4di00Mi42Njc5Njl6bTAtMjU2aC0yMjEuODY3MTg4di00Mi42NjQwNjNoMjIxLjg2NzE4OHptMTcuMDY2NDA2LTQyLjY2NDA2M2gxNy4wNjY0MDZ2NDIuNjY0MDYzaC0xNy4wNjY0MDZ6bS0yMzguOTMzNTk0IDE2Mi4xMzI4MTN2LTQyLjY2Nzk2OWgyMjEuODY3MTg4djQyLjY2Nzk2OXptMjIxLjg2NzE4OCAxNy4wNjY0MDZ2NDIuNjY0MDYzaC0yMjEuODY3MTg4di00Mi42NjQwNjN6bS0yMjEuODY3MTg4LTc2LjgwMDc4MXYtNDIuNjY3OTY5aDIyMS44NjcxODh2NDIuNjY3OTY5em0tMTcuMDY2NDA2LTU5LjczNDM3NWgtMTcuMDY2NDA2di00Mi42NjQwNjNoMTcuMDY2NDA2em0wIDE3LjA2NjQwNnY0Mi42Njc5NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY5em0wIDU5LjczNDM3NXY0Mi42Njc5NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY5em0wIDU5LjczNDM3NXY0Mi42NjQwNjNoLTE3LjA2NjQwNnYtNDIuNjY0MDYzem0wIDU5LjczNDM3NXY0Mi42NjQwNjNoLTE3LjA2NjQwNnYtNDIuNjY0MDYzem0yNTYgMGgxNy4wNjY0MDZ2NDIuNjY0MDYzaC0xNy4wNjY0MDZ6bTAtMTcuMDcwMzEydi00Mi42NjQwNjNoMTcuMDY2NDA2djQyLjY2NDA2M3ptMC01OS43MzA0Njl2LTQyLjY2Nzk2OWgxNy4wNjY0MDZ2NDIuNjY3OTY5em0wLTU5LjczNDM3NXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTM0LjEzMjgxMi00Mi42Njc5NjloMTcuMDY2NDA3djQyLjY2Nzk2OWgtMTcuMDY2NDA3em0wLTE3LjA2NjQwNnYtNDIuNjY0MDYzaDE3LjA2NjQwN3Y0Mi42NjQwNjN6bS0xNy4wNjY0MDYtNTkuNzMwNDY5aC0xNy4wNjY0MDZ2LTQyLjY2Nzk2OGgxNy4wNjY0MDZ6bS0yNzMuMDY2NDA2IDBoLTE3LjA2NjQwNnYtNDIuNjY3OTY4aDE3LjA2NjQwNnptLTgwLjM4MjgxMiAxNy4wNjY0MDZoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzMwNDY5aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em0wIDU5LjczNDM3NWg0Ni4yNXY0Mi42Njc5NjloLTcwLjYyODkwN3ptMCA1OS43MzQzNzVoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzM0Mzc1aDQ2LjI1djQyLjY2NDA2M2gtNzAuNjI4OTA3em0wIDU5LjczMDQ2OWg0Ni4yNXY0Mi42Njc5NjloLTcwLjYyODkwN3ptNjMuMzE2NDA2IDQyLjY2Nzk2OXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTI3My4wNjY0MDYgMHYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTEwNC43NTc4MTIgMGgtNzAuNjI1di00Mi42Njc5NjloNDYuMjV6bTAtNTkuNzM0Mzc1aC03MC42MjV2LTQyLjY2NDA2M2g0Ni4yNXptMC01OS43MzQzNzVoLTcwLjYyNXYtNDIuNjY0MDYzaDQ2LjI1em0wLTU5LjczMDQ2OWgtNzAuNjI1di00Mi42Njc5NjloMTcuMDY2NDA3djE3LjA2NjQwNmMwIDQuNzE0ODQ0IDMuODIwMzEyIDguNTM1MTU3IDguNTM1MTU2IDguNTM1MTU3IDQuNzEwOTM3IDAgOC41MzEyNS0zLjgyMDMxMyA4LjUzMTI1LTguNTM1MTU3di0xNy4wNjY0MDZoMTIuMTE3MTg3em0wLTU5LjczNDM3NWgtMzYuNDkyMTg3di00Mi42Njc5NjloMTIuMTE3MTg3em0wLTU5LjczNDM3NWgtMzYuNDkyMTg3di00Mi42NjQwNjNoMTIuMTE3MTg3em0wLTU5LjczMDQ2OWgtMzYuNDkyMTg3di00Mi42Njc5NjhoMTIuMTE3MTg3em0tMTkuNDI1NzgxLTU5LjczNDM3NWgtNDUyLjI2NTYyNXYtNTkuNzM0Mzc1aDQ3Ny44NjcxODhsLjAwNzgxMiA1OS43MzQzNzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im01OS43MzQzNzUgNDIuNjY3OTY5aC0xNy4wNjY0MDZjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDE3LjA2NjQwNmM0LjcxMDkzNyAwIDguNTMxMjUtMy44MjAzMTMgOC41MzEyNS04LjUzNTE1NiAwLTQuNzEwOTM4LTMuODIwMzEzLTguNTMxMjUtOC41MzEyNS04LjUzMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ1LjA2NjQwNiA0Mi42Njc5NjloLTUxLjE5OTIxOGMtNC43MTQ4NDQgMC04LjUzNTE1NyAzLjgyMDMxMi04LjUzNTE1NyA4LjUzMTI1IDAgNC43MTQ4NDMgMy44MjAzMTMgOC41MzUxNTYgOC41MzUxNTcgOC41MzUxNTZoNTEuMTk5MjE4YzQuNzE0ODQ0IDAgOC41MzUxNTYtMy44MjAzMTMgOC41MzUxNTYtOC41MzUxNTYgMC00LjcxMDkzOC0zLjgyMDMxMi04LjUzMTI1LTguNTM1MTU2LTguNTMxMjV6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",rae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yMzQgMjQzLjc4M2MtLjk1MSAwLTEuODY4LjE0MS0yLjczOS4zODlsLS4wMDItLjAwNy0yOC43MjIgOC4xODdjLTUuMzExIDEuNTE0LTguMzkgNy4wNDctNi44NzYgMTIuMzU4IDEuMjUzIDQuMzk2IDUuMjU4IDcuMjYxIDkuNjEyIDcuMjYxLjkwNyAwIDEuODMtLjEyNSAyLjc0Ni0uMzg1bDE1Ljk4MS00LjU1NHYzNS40MmwtMTI0IDM1LjM0NXYtMzUuNDJsMjEuNDY0LTYuMTE4YzUuMzExLTEuNTE0IDguMzktNy4wNDcgNi44NzYtMTIuMzU4cy03LjA0NS04LjM4Ny0xMi4zNTgtNi44NzZsLTI4LjcyMyA4LjE4Ny4wMDEuMDA3Yy00LjE4OSAxLjE5My03LjI2IDUuMDM5LTcuMjYgOS42MXYxMjcuMTk5Yy04LjM2My02LjI5My0xOC43NTItMTAuMDI4LTMwLTEwLjAyOC0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDA2bDEyNC0zNS4zNDV2NTcuNzMzYy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xNjcuMTcyYzAtNS41MjMtNC40NzctMTAtMTAtMTB6bS0xODQgMjQ4LjIxN2MtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xNDQtNDEuMDQ1Yy0xNi41NDIgMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU4LTMwIDMwLTMwIDMwIDEzLjQ1OCAzMCAzMC0xMy40NTggMzAtMzAgMzB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUwOC4wMTMgMi4wMWMtMi41MTEtMS44ODktNS43NjMtMi40ODctOC43ODItMS42MTlsLTEwNC40MDggMzAuMDg5Yy00LjI4MiAxLjIzNC03LjIzMSA1LjE1Mi03LjIzMSA5LjYwOXYxMjcuMTk5Yy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDNsOTcuMTc3LTI4LjAwNWM0LjI4Mi0xLjIzNCA3LjIzMS01LjE1MiA3LjIzMS05LjYwOXYtNTYuMjE3YzAtMy4xNDItMS40NzctNi4xMDEtMy45ODctNy45OXptLTE1MC40MjEgMjM1LjI1MWMtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xMzQuNDA4LTE3OC41NjktODQuNDA4IDI0LjMyNXYtMzUuNDAzbDg0LjQwOC0yNC4zMjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3MS41OTEgMzQ4Ljc2Mi00OC4yODgtNy4wMTctMjEuNTk1LTQzLjc1NmMtMS42ODUtMy40MTMtNS4xNjEtNS41NzQtOC45NjctNS41NzRzLTcuMjgzIDIuMTYxLTguOTY3IDUuNTc0bC0yMS41OTUgNDMuNzU2LTQ4LjI4OCA3LjAxN2MtMy43NjcuNTQ3LTYuODk2IDMuMTg2LTguMDczIDYuODA2cy0uMTk1IDcuNTk0IDIuNTMxIDEwLjI1MWwzNC45NDEgMzQuMDYtOC4yNDkgNDguMDkzYy0uNjQ0IDMuNzUxLjg5OCA3LjU0MyAzLjk3OCA5Ljc4MSAzLjA3OSAyLjIzNiA3LjE2MiAyLjUzMiAxMC41MzEuNzYxbDQzLjE5LTIyLjcwNyA0My4xOSAyMi43MDZjMS40NjMuNzcgMy4wNjEgMS4xNDkgNC42NTIgMS4xNDkgMi4wNzMgMCA0LjEzNy0uNjQ0IDUuODc5LTEuOTEgMy4wOC0yLjIzNyA0LjYyMi02LjAyOSAzLjk3OC05Ljc4MWwtOC4yNDktNDguMDkzIDM0Ljk0MS0zNC4wNmMyLjcyNi0yLjY1NyAzLjcwNy02LjYzMSAyLjUzMS0xMC4yNTFzLTQuMzA0LTYuMjU4LTguMDcxLTYuODA1em0tNDcuMTI0IDQwLjQ2NGMtMi4zNTcgMi4yOTctMy40MzMgNS42MDctMi44NzYgOC44NTFsNS43MTIgMzMuMzA0LTI5LjkwOS0xNS43MjRjLTIuOTEzLTEuNTMyLTYuMzkzLTEuNTMyLTkuMzA3IDBsLTI5LjkwOSAxNS43MjQgNS43MTItMzMuMzA0Yy41NTctMy4yNDQtLjUxOS02LjU1NC0yLjg3Ni04Ljg1MWwtMjQuMTk2LTIzLjU4NiAzMy40MzktNC44NTljMy4yNTctLjQ3MyA2LjA3My0yLjUxOSA3LjUyOS01LjQ3bDE0Ljk1NS0zMC4zMDEgMTQuOTU0IDMwLjMwMWMxLjQ1NyAyLjk1MSA0LjI3MiA0Ljk5NyA3LjUyOSA1LjQ3bDMzLjQzOSA0Ljg1OXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIuNjIgOTAuNzA2LTYuNjIgMzguNTkzYy0uNjQ0IDMuNzUxLjg5OCA3LjU0MyAzLjk3OCA5Ljc4MSAzLjA3OSAyLjIzNyA3LjE2MyAyLjUzMyAxMC41MzEuNzYxbDM0LjY1OC0xOC4yMjEgMzQuNjU5IDE4LjIyMWMxLjQ2My43NjkgMy4wNjEgMS4xNDggNC42NTIgMS4xNDggMi4wNzMgMCA0LjEzNy0uNjQ0IDUuODc5LTEuOTEgMy4wOC0yLjIzOCA0LjYyMi02LjAyOSAzLjk3OC05Ljc4MWwtNi42Mi0zOC41OTMgMjguMDQtMjcuMzMxYzIuNzI2LTIuNjU3IDMuNzA3LTYuNjMxIDIuNTMxLTEwLjI1MXMtNC4zMDYtNi4yNTgtOC4wNzMtNi44MDZsLTM4Ljc1LTUuNjMxLTE3LjMyOC0zNS4xMTJjLTEuNjg0LTMuNDEzLTUuMTYtNS41NzQtOC45NjctNS41NzRzLTcuMjgzIDIuMTYxLTguOTY3IDUuNTc0bC0xNy4zMjkgMzUuMTEzLTM4Ljc1IDUuNjMxYy0zLjc2Ny41NDctNi44OTYgMy4xODYtOC4wNzMgNi44MDZzLS4xOTUgNy41OTQgMi41MzEgMTAuMjUxem0yNC4zMy0zMC45ODNjMy4yNTctLjQ3MyA2LjA3My0yLjUxOSA3LjUyOS01LjQ3bDEwLjY4OC0yMS42NTcgMTAuNjg4IDIxLjY1N2MxLjQ1NyAyLjk1MSA0LjI3MiA0Ljk5NyA3LjUyOSA1LjQ3bDIzLjkgMy40NzMtMTcuMjkyIDE2Ljg1OGMtMi4zNTcgMi4yOTgtMy40MzMgNS42MDgtMi44NzYgOC44NTJsNC4wODMgMjMuODA0LTIxLjM3Ny0xMS4yMzhjLTEuNDU3LS43NjYtMy4wNTUtMS4xNDktNC42NTMtMS4xNDktMS41OTkgMC0zLjE5Ny4zODMtNC42NTMgMS4xNDlsLTIxLjM3NyAxMS4yMzggNC4wODMtMjMuODA0Yy41NTctMy4yNDQtLjUxOS02LjU1NC0yLjg3Ni04Ljg1MmwtMTcuMjk2LTE2Ljg1OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjM0IDg2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzQgMTU2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzQgMTI2LjMwNmgtMTBjLTUuNTIzIDAtMTAgNC40NzctMTAgMTBzNC40NzcgMTAgMTAgMTBoMTBjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE5NCAxNDYuMzA2aDEwYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEwaC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYyIDI4NC4zMWMyLjYzIDAgNS4yMS0xLjA3IDcuMDctMi45M3MyLjkzLTQuNDQgMi45My03LjA3YzAtMi42NC0xLjA3LTUuMjEtMi45My03LjA4LTEuODYtMS44Ni00LjQ0LTIuOTItNy4wNy0yLjkycy01LjIxIDEuMDYtNy4wNyAyLjkyYy0xLjg2IDEuODctMi45MyA0LjQ0LTIuOTMgNy4wOCAwIDIuNjMgMS4wNyA1LjIxIDIuOTMgNy4wN3M0LjQ0IDIuOTMgNy4wNyAyLjkzeiIvPgogICAgPC9nPgo8L3N2Zz4=",Mae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwNS40IDUwNS40Ij4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQzNy4xLDIzMy40NWMxNC44LTEwLjQsMjQuNi0yNy43LDI0LjYtNDcuMmMwLTMxLjktMjUuOC01Ny43LTU3LjctNTcuN2MtMzEuOSwwLTU3LjcsMjUuOC01Ny43LDU3LjcKCQkJYzAsMTkuNSw5LjcsMzYuOCwyNC42LDQ3LjJjLTEyLjcsNC40LTI0LjMsMTEuMi0zNC4xLDIwYy0xMy41LTExLjUtMjkuNC0yMC4zLTQ2LjgtMjUuNWMyMS4xLTEyLjgsMzUuMy0zNi4xLDM1LjMtNjIuNgoJCQljMC00MC40LTMyLjctNzMuMS03My4xLTczLjFjLTQwLjQsMC03My4xLDMyLjgtNzMuMSw3My4xYzAsMjYuNSwxNC4xLDQ5LjgsMzUuMyw2Mi42Yy0xNy4yLDUuMi0zMi45LDEzLjktNDYuMywyNS4yCgkJCWMtOS44LTguNi0yMS4yLTE1LjMtMzMuNy0xOS42YzE0LjgtMTAuNCwyNC42LTI3LjcsMjQuNi00Ny4yYzAtMzEuOS0yNS44LTU3LjctNTcuNy01Ny43cy01Ny43LDI1LjgtNTcuNyw1Ny43CgkJCWMwLDE5LjUsOS43LDM2LjgsMjQuNiw0Ny4yQzI4LjUsMjQ3LjI1LDAsMjg0Ljk1LDAsMzI5LjI1djYuNmMwLDAuMiwwLjIsMC40LDAuNCwwLjRoMTIyLjNjLTAuNyw1LjUtMS4xLDExLjItMS4xLDE2Ljl2Ni44CgkJCWMwLDI5LjQsMjMuOCw1My4yLDUzLjIsNTMuMmgxNTVjMjkuNCwwLDUzLjItMjMuOCw1My4yLTUzLjJ2LTYuOGMwLTUuNy0wLjQtMTEuNC0xLjEtMTYuOUg1MDVjMC4yLDAsMC40LTAuMiwwLjQtMC40di02LjYKCQkJQzUwNS4yLDI4NC44NSw0NzYuOCwyNDcuMTUsNDM3LjEsMjMzLjQ1eiBNMzYyLjMsMTg2LjE1YzAtMjMsMTguNy00MS43LDQxLjctNDEuN3M0MS43LDE4LjcsNDEuNyw0MS43CgkJCWMwLDIyLjctMTguMyw0MS4yLTQwLjksNDEuN2MtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzM4MC41LDIyNy40NSwzNjIuMywyMDguOTUsMzYyLjMsMTg2LjE1eiBNMTk0LjksMTY1LjM1CgkJCWMwLTMxLjUsMjUuNi01Ny4xLDU3LjEtNTcuMXM1Ny4xLDI1LjYsNTcuMSw1Ny4xYzAsMzAuNC0yMy45LDU1LjMtNTMuOCw1N2MtMS4xLDAtMi4yLDAtMy4zLDBjLTEuMSwwLTIuMiwwLTMuMywwCgkJCUMyMTguOCwyMjAuNjUsMTk0LjksMTk1Ljc1LDE5NC45LDE2NS4zNXogTTU5LjMsMTg2LjE1YzAtMjMsMTguNy00MS43LDQxLjctNDEuN3M0MS43LDE4LjcsNDEuNyw0MS43YzAsMjIuNy0xOC4zLDQxLjItNDAuOSw0MS43CgkJCWMtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzc3LjYsMjI3LjQ1LDU5LjMsMjA4Ljk1LDU5LjMsMTg2LjE1eiBNMTI1LjUsMzIwLjE1SDE2LjJjNC41LTQyLjYsNDAuNS03Niw4NC4yLTc2LjMKCQkJYzAuMiwwLDAuNCwwLDAuNiwwczAuNCwwLDAuNiwwYzIwLjgsMC4xLDM5LjgsNy44LDU0LjUsMjAuM0MxNDEuNywyNzkuNzUsMTMxLDI5OC45NSwxMjUuNSwzMjAuMTV6IE0zNjYuOCwzNTkuOTUKCQkJYzAsMjAuNS0xNi43LDM3LjItMzcuMiwzNy4yaC0xNTVjLTIwLjUsMC0zNy4yLTE2LjctMzcuMi0zNy4ydi02LjhjMC02Mi4xLDQ5LjYtMTEyLjksMTExLjMtMTE0LjdjMS4xLDAuMSwyLjMsMC4xLDMuNCwwLjEKCQkJczIuMywwLDMuNC0wLjFjNjEuNywxLjgsMTExLjMsNTIuNiwxMTEuMywxMTQuN1YzNTkuOTV6IE0zNzguNywzMjAuMTVjLTUuNS0yMS4xLTE2LTQwLTMwLjMtNTUuNmMxNC44LTEyLjgsMzQtMjAuNSw1NS0yMC43CgkJCWMwLjIsMCwwLjQsMCwwLjYsMHMwLjQsMCwwLjYsMGM0My43LDAuMyw3OS43LDMzLjcsODQuMiw3Ni4zSDM3OC43eiIvPgogICAgPC9nPgo8L3N2Zz4K",nae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNjcuMDQzIDE3MC40MTRjLTEwLjUxNi0uMzY1LTIwLjAxNi01LjA0Ny0yNi43NDktMTMuMTgxLTQuOTE0LTUuOTM3LTEzLjkzOC01LjkyNS0xOC44NDIgMC0xNC41OTcgMTcuNjM3LTQxLjQ2MiAxNy42MDYtNTYuMDMxIDAtNC45NzMtNi4wMDctMTQuMDA1LTUuODQyLTE4Ljg0MyAwLTE0LjU5MiAxNy42MzMtNDEuNDU1IDE3LjYxMy01Ni4wMzEtLjAwMS00LjkyMi01Ljk0NS0xMy45NDUtNS45MTUtMTguODQxIDAtNi43MzMgOC4xMzUtMTYuMjMzIDEyLjgxNi0yNi43NDkgMTMuMTgyLTQuMTQuMTQ0LTcuMzc5IDMuNjE2LTcuMjM0IDcuNzU2LjE0NCA0LjE0IDMuNTk0IDcuMzcxIDcuNzU2IDcuMjM1IDEzLjU2Ni0uNDcyIDI2LjM4Ni02LjMyOCAzNS42NDYtMTYuMTg3IDIwLjI3NiAyMS42MjkgNTQuNTY5IDIxLjY1NyA3NC44NzUuMDAxIDIwLjI3OCAyMS42MjkgNTQuNTcxIDIxLjY1NCA3NC44NzQtLjAwMSA5LjI2MiA5Ljg1OSAyMi4wOCAxNS43MTUgMzUuNjQ3IDE2LjE4NyA0LjEyMS4xNDkgNy42MTMtMy4wOTUgNy43NTYtNy4yMzUuMTQ1LTQuMTQtMy4wOTQtNy42MTItNy4yMzQtNy43NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjc4MiAxMDcuN2MtOC4wODItMS43MDMtMTUuMTY3LTYtMjAuNDg3LTEyLjQyNy00LjkxNC01LjkzNy0xMy45MzgtNS45MjUtMTguODQyIDAtMTQuNTk3IDE3LjYzNy00MS40NjIgMTcuNjA2LTU2LjAzMSAwLTQuOTczLTYuMDA3LTE0LjAwNS01Ljg0Mi0xOC44NDMgMC0xNC41OTIgMTcuNjMzLTQxLjQ1NSAxNy42MTMtNTYuMDMxLS4wMDEtNC45MjItNS45NDUtMTMuOTQ1LTUuOTE1LTE4Ljg0MSAwLTUuMzIgNi40MjctMTIuNDA0IDEwLjcyNS0yMC40ODYgMTIuNDI4LTQuMDU0Ljg1NC02LjY0NyA0LjgzMi01Ljc5MyA4Ljg4NXM0Ljg0IDYuNjQ3IDguODg1IDUuNzkyYzEwLjM4My0yLjE4OCAxOS41OTItNy4zOSAyNi44MTYtMTUuMTE3IDIwLjI4MiAyMS42MzEgNTQuNTcyIDIxLjY0OCA3NC44NzItLjAwMSAyMC4yNzYgMjEuNjI2IDU0LjU2NyAyMS42NTYgNzQuODcxLjAwMiA3LjIyNiA3LjcyNyAxNi40MzYgMTIuOTMgMjYuODE4IDE1LjExNiA0LjA0OC44NTUgOC4wMy0xLjc0IDguODg1LTUuNzkzLjg1My00LjA1My0xLjc0MS04LjAzMS01Ljc5My04Ljg4NHoiLz4KICAgICAgICA8cGF0aCBkPSJtNTQuOTg1IDQyOS4yNzNoMTY5LjczMnY2OS41NzljMCA3LjI1IDUuODk4IDEzLjE0OCAxMy4xNDkgMTMuMTQ4aDI1LjE5MmM3LjI1IDAgMTMuMTQ4LTUuODk4IDEzLjE0OC0xMy4xNDh2LTEuNDY0aDc0LjE5OXYxLjQ2NGMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtNjkuNTc5aDU1LjExOWMyNC4xMjEgMCA0My4wODEtMjAuODg2IDQwLjY1Ny00NC45NTYtLjAwNC0uMDQtLjAwOC0uMDgtLjAxMy0uMTJsLTEzLjAzNS0xMTEuNTY3Yy0uNDgxLTQuMTE0LTQuMjE1LTcuMDYyLTguMzE5LTYuNTc5LTQuMTE0LjQ4MS03LjA2IDQuMjA2LTYuNTc5IDguMzJsMTMuMDMgMTExLjUwM2MxLjQ2IDE0LjgzMy0xMC4wOTQgMjguMzk4LTI1LjczOCAyOC4zOThoLTU1LjExOXYtMTkuMDU4aDQ0LjkzN2M5LjQ3IDAgMTYuODgtOC4xOTEgMTUuOTM1LTE3LjYxNi0uMDA1LS4wNDMtLjAxLS4wODYtLjAxNS0uMTI5bC0zOC43NTYtMzI5LjA3NGMtLjg2MS04LjE3OS03LjY5NS0xNC4zMzctMTUuOTI3LTE0LjMzN2gtMTM0LjU3MWMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxMzQuNTcxYy41MjMgMCAuOTU3LjM5MyAxLjAxLjkxNC4wMDQuMDQyLjAwOS4wODMuMDE0LjEyNWwzOC43NSAzMjkuMDM0Yy4wMTkuMjc1LS4wNzQuNTQ3LS4yNi43NTEtLjE5MS4yMTItLjQ2Ni4zMzMtLjc1Mi4zMzNoLTQ0LjkzN3YtMjIuODkyYzAtMzkuNDc3LTMyLjI1Ni03MC4zNDQtNzAuMzQ1LTcwLjM0NC0yNi43NzggMC01MC45NDcgMTUuMTg5LTYyLjgzOSAzOC43NDQtMTIuMDA4LTIzLjc3Mi0zNi43MjUtMzkuMjUtNjQuMjA2LTM4LjczMS0zNy43LjcwOS02OC45ODggMzEuNTkzLTY4Ljk4OCA3MC4zMzJ2MjIuODkyaC03MC4zNTJjLS4yODYgMC0uNTYtLjEyMi0uNzUzLS4zMzUtLjE4NS0uMjA0LS4yNzctLjQ3Ni0uMjU5LS43NTFsMzguNzUyLTMyOS4wMzJjLjAwNS0uMDQyLjAxLS4wODQuMDE0LS4xMjcuMDUzLS41Mi40ODYtLjkxMiAxLjAxLS45MTJoMTM0LjU3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMzQuNTdjLTguMjMzIDAtMTUuMDY3IDYuMTYtMTUuOTI3IDE0LjMzOWwtMzguNzU3IDMyOS4wNzNjLS4wMDUuMDQzLS4wMS4wODYtLjAxNS4xMjktLjk0NiA5LjQyMiA2LjQ2NCAxNy42MTYgMTUuOTM1IDE3LjYxNmgxNTkuNTUxdjE5LjA1OGgtMTY5LjczMmMtMTQuODUyIDAtMjcuMjc5LTEyLjc4Mi0yNS43MzktMjguMzk5bDQwLjYwOS0zNDcuNDgzYy4wMDUtLjA0LjAwOS0uMDguMDEzLS4xMTkgMS4zMzYtMTMuMjY4IDEyLjM5OS0yMy4yNzMgMjUuNzM0LTIzLjI3M2gzMjAuNzk4YzEzLjMzNSAwIDI0LjM5NyAxMC4wMDUgMjUuNzMzIDIzLjI3Mi4wMDQuMDQuMDA4LjA4LjAxMy4xMmwyMy40ODcgMjAwLjk3OWMuNDgxIDQuMTE1IDQuMjE3IDcuMDYzIDguMzE5IDYuNTc5IDQuMTE0LS40OCA3LjA2LTQuMjA2IDYuNTc5LTguMzJsLTIzLjQ4LTIwMC45MjJjLTIuMTM4LTIwLjkzMi0xOS42MDMtMzYuNzA4LTQwLjY1MS0zNi43MDhoLTMyMC43OThjLTIxLjA0OSAwLTM4LjUxNiAxNS43NzctNDAuNjUyIDM2LjcxbC00MC42MSAzNDcuNDg4Yy0uMDA1LjA0LS4wMDkuMDgtLjAxMy4xMi0yLjQxNSAyMy45OTkgMTYuNDY2IDQ0Ljk1NSA0MC42NTggNDQuOTU1em0yNTcuNzEzLTcxLjMwMmMwLTEwLjMyNSA4LjEyMi0xOS4yODkgMTguNS0xOS40ODMgMTAuNjgyLS4yMDQgMTkuMjA5IDguNDkxIDE5LjIwOSAxOC44MzZ2MjIuODkyaC0zNy43MDl6bS0zNi40OTEgNzEuMzAyaDc0LjE5OXYxOS4wNThoLTc0LjE5OXptNzguMjE1LTM0LjA1OGM1LjU2OSAwIDEwLjAxNCA0LjgxOCA5LjQ4NCAxMC40My0uNDczIDQuODg0LTQuNTkgOC42MjctOS40ODQgOC42MjdoLTc4LjIxNXYtMTkuMDU4YzI2LjExMi4wMDEgNTIuMTY3LjAwMSA3OC4yMTUuMDAxem0tNzguMjE1IDY4LjExNmg3OC4yMTVjNS41MzcgMCAxMC4wMTYgNC43OTYgOS40ODQgMTAuNDMtLjQ3MiA0Ljg3NC00LjU4NyA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1em0xMTAuNjkgMzMuNjY5aC0yMS40OXYtMi4yMTNjMTguMDE0LTkuMTI3IDE4LjA1NC0zNC43MDggMC00My44NTV2LTI0LjI2YzE4LjA5OC05LjE3IDE3Ljk2OC0zNC43NTIgMC00My44NTV2LTI1LjQ5M2MwLTIwLjQ4Ni0xOC4yMDItMzYuNTE3LTM4Ljc5NC0zMy40OS0xNi4zNTMgMi40LTI4LjkxNSAxNi41MjYtMjguOTE1IDMzLjQ5djIyLjg5MmgtMjEuNDl2LTIxLjgzN2MwLTMwLjU1MiAyNC40Ni01Ni4wOTQgNTQuODIyLTU2LjM4NiAzMS4yMTgtLjI2MiA1NS44NjcgMjUuMDU4IDU1Ljg2NyA1NS4zMzF6bS0yMzYuMzc3LTExNi43ODV2LTIxLjgzOGMwLTMyLjIyNCAyNi42OTYtNTcuNTgzIDU3LjU4OS01Ni4zNDIgMjkuNDgzIDEuMjA0IDUzLjA5OSAyNS41MDMgNTMuMDk5IDU1LjI4N3YxMzkuNjc3aC0yMS40OWMwLTE0LjQxOCAwLTEyMS4wNjMgMC0xMzkuNjc3IDAtMTcuOTUtMTQuMDY1LTMyLjgwNC0zMS45MTUtMzMuNzk1LTE5LjI3Ni0xLjA5Ni0zNS43OTMgMTQuMjYxLTM1Ljc5MyAzMy43OTV2MjIuODkyaC0yMS40OXptMzYuNDkgMHYtMjIuMjQ1YzAtOS40MjUgNi43NjItMTcuNzI0IDE1Ljg3Ny0xOS4yNDMgMTEuNjM5LTEuODUyIDIxLjgzIDcuMjM3IDIxLjgzIDE4LjU5NnYyMi44OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",aae="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAxNjBoLTMydi04MGMwLTguODIyLTcuMTc4LTE2LTE2LTE2aC0zMnYtNDBjMC0xMy4yMzMtMTAuNzY3LTI0LTI0LTI0aC0yMjRjLTEzLjIzMyAwLTI0IDEwLjc2Ny0yNCAyNHY0MGgtMzJjLTguODIyIDAtMTYgNy4xNzgtMTYgMTZ2ODBoLTMyYy0yMi4wNTYgMC00MCAxNy45NDQtNDAgNDB2MTc2YzAgMjIuMDU2IDE3Ljk0NCA0MCA0MCA0MGg4MHY3MmMwIDEzLjIzMyAxMC43NjcgMjQgMjQgMjRoMjI0YzEzLjIzMyAwIDI0LTEwLjc2NyAyNC0yNHYtNzJoODBjMjIuMDU2IDAgNDAtMTcuOTQ0IDQwLTQwdi0xNzZjMC0yMi4wNTYtMTcuOTQ0LTQwLTQwLTQwem0tNDgtODB2ODBoLTMydi04MHptLTI4OC01NmMwLTQuNDExIDMuNTg5LTggOC04aDIyNGM0LjQxMSAwIDggMy41ODkgOCA4djEzNmgtMjQwYzAtMS42MzUgMC0xMzAuMjExIDAtMTM2em0tNDggNTZoMzJ2ODBoLTMyem0yODggNDA4YzAgNC40MTEtMy41ODkgOC04IDhoLTIyNGMtNC40MTEgMC04LTMuNTg5LTgtOHYtMTM2aDI0MHptMTIwLTExMmMwIDEzLjIzMy0xMC43NjcgMjQtMjQgMjRoLTgwdi00OGgxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOGMtMjguNjU3IDAtMjkwLjg4MyAwLTMwNCAwLTQuNDE4IDAtOCAzLjU4Mi04IDhzMy41ODIgOCA4IDhoMTZ2NDhoLTgwYy0xMy4yMzMgMC0yNC0xMC43NjctMjQtMjR2LTE3NmMwLTEzLjIzMyAxMC43NjctMjQgMjQtMjRoNDMyYzEzLjIzMyAwIDI0IDEwLjc2NyAyNCAyNHoiLz4KICAgICAgICA8cGF0aCBkPSJtNDU2IDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTIgMTkyYy0xMy4yMzMgMC0yNCAxMC43NjctMjQgMjRzMTAuNzY3IDI0IDI0IDI0IDI0LTEwLjc2NyAyNC0yNC0xMC43NjctMjQtMjQtMjR6bTAgMzJjLTQuNDExIDAtOC0zLjU4OS04LThzMy41ODktOCA4LTggOCAzLjU4OSA4IDgtMy41ODkgOC04IDh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCAzNzZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCA0MTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCA0NTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",cae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NzMuNTc0IDI1Mi40MzJoLTczLjE4NHYtNDMuNzYxYzAtMTEuNDczLTkuMzM0LTIwLjgwNy0yMC44MDctMjAuODA3LTkuODg2IDAtMzQuMjk1IDAtNDQuMzAyIDB2LTE3Ljg0MWMwLTEyLjM5OS0xMC4wODctMjIuNDg2LTIyLjQ4Ni0yMi40ODZoLTE3LjU5NWwxNC43MjQtNDcuNTM1YzE2Ljc1OS42OTIgMzAuNTM5LTEyLjc1IDMwLjUzOS0yOS4yODQgMC0xNi4xNjQtMTMuMTUxLTI5LjMxNS0yOS4zMTUtMjkuMzE1LTI5LjI2OCAwLTQwLjQ1NSAzOC41MS0xNS41NDEgNTQuMTU0bC0xNi4xMDEgNTEuOTc5aC0zMC4xMzNjLTEwLjU3NiAwLTE5LjgzMSA3LjUxNC0yMi4wMDYgMTcuODY2LS4xMDYuNTA3LS4xNiAxLjAyNC0uMTYgMS41NDJ2MjAuOTE5aC0zOC4xNDZ2LTE4LjgwMWMwLTguNjczLTcuMDU3LTE1LjczLTE1LjczLTE1LjczaC0xLjM3OXYtMTkuNTcyYzkuNDY5LS4yMDMgMTcuMTEzLTcuOTUzIDE3LjExMy0xNy40N3YtMTUuNjE2YzAtOS41MTctNy42NDQtMTcuMjY3LTE3LjExMy0xNy40N3YtNDMuNjk5YzAtMjEuNjk1LTE3LjY1LTM5LjM0Ni0zOS4zNDYtMzkuMzQ2aC01MS42NzdjLTQuMTQgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NXMzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg1MS42NzhjMTMuNDI5IDAgMjQuMzU1IDEwLjkyNiAyNC4zNTUgMjQuMzU1djQzLjY4MmgtMzcuOTU3di0yMi41ODRjMC00LjE0LTMuMzU2LTcuNDk1LTcuNDk1LTcuNDk1aC05Ni4ydi0zNy45NTdoMzUuNjM4YzQuMTQgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NXMtMy4zNTUtNy40OTUtNy40OTUtNy40OTVoLTQzLjEzM2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djUyLjk0N2MwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoOTYuMnYxNS4xMDljLTkuNDY4LjIwMy0xNy4xMTIgNy45NTQtMTcuMTEyIDE3LjQ3djE1LjYxNmMwIDkuNTE2IDcuNjQ0IDE3LjI2NyAxNy4xMTIgMTcuNDd2MTkuNTcyaC0xLjM3OWMtOC42NzMgMC0xNS43MyA3LjA1Ny0xNS43MyAxNS43M3YxOC44MDFoLTIyLjU1NWMtMTEuNDczIDAtMjAuODA3IDkuMzM0LTIwLjgwNyAyMC44MDd2Mi40ODlsLTMzLjQwMiA3LjU4OWMtMy40MTMuNzc1LTUuODM1IDMuODA5LTUuODM1IDcuMzA5djEwNy4yNDNjMCAzLjQ5OSAyLjQyMSA2LjUzMyA1LjgzMyA3LjMwOGwzMy40MDQgNy41OTh2Mi40ODdjMCAxMS40NzMgOS4zMzQgMjAuODA3IDIwLjgwNyAyMC44MDdoNi40MjR2MjcuNzk5aC0xNS4xMjdjLTQuMTQgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NSAwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoMzMzLjg0OWMxLjM3OCAwIDIuNDk4IDEuMTIxIDIuNDk4IDIuNDk4djI1LjUyYy0xNS44MzYtMi44My0zMi40MTguMTAzLTQ2LjcwNyA4LjgxMS0xNi43NTQgMTAuMjExLTM3LjU3IDEwLjIxMi01NC4zMjQgMC0yMS41NjctMTMuMTQ0LTQ4LjM2MS0xMy4xNDUtNjkuOTI4IDAtMTYuNzU0IDEwLjIxMS0zNy41NyAxMC4yMTItNTQuMzI0IDAtMjEuNTY3LTEzLjE0NC00OC4zNjEtMTMuMTQ1LTY5LjkyOCAwLTE2Ljc1NCAxMC4yMTItMzcuNTcgMTAuMjEyLTU0LjMyNCAwbC0yNy40NjktMTYuNzQydi0yMC4wODdoMTAuNjc2YzQuMTQgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NXMtMy4zNTYtNy40OTUtNy40OTUtNy40OTVoLTE4LjE3MmMtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djk3LjU0OWMwIDQuMTM5IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDQ5Ny4wMDljNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1IDAtODguNTA2IDAtMTE4LjAwOSAwLTIxMy40ODcuMDAxLTIxLjE4OC0xNy4yMzctMzguNDI2LTM4LjQyNS0zOC40MjZ6bS0xNjIuNDI1LTE5Ni4wMzdjNy44OTggMCAxNC4zMjUgNi40MjYgMTQuMzI1IDE0LjMyNHMtNi40MjYgMTQuMzI1LTE0LjMyNSAxNC4zMjVjLTcuODk4IDAtMTQuMzI0LTYuNDI2LTE0LjMyNC0xNC4zMjVzNi40MjYtMTQuMzI0IDE0LjMyNC0xNC4zMjR6bS0yNjcuNjA0IDI3Ni40NC0yNC4yNDctNS41MTV2LTk1LjI3N2wyNC4yNDctNS41MDl6bTE5OC42NTMtMTY0Ljk3NGMuOTQ3LTMuMTI1IDMuODY3LTUuMzMzIDcuMTc2LTUuMzMzaDYzLjQyYzQuMTMzIDAgNy40OTUgMy4zNjIgNy40OTUgNy40OTV2MTcuODQxaC03OC4wOTF6bS0xNDAuMzA1LTUxLjU2OXYtMTUuNjE2YzAtMS4zNzggMS4xMjEtMi40OTggMi40OTgtMi40OThoNjcuMTg1YzEuMzc4IDAgMi40OTggMS4xMjEgMi40OTggMi40OTh2MTUuNjE2YzAgMS4zNzgtMS4xMjEgMi40OTgtMi40OTggMi40OThoLTY3LjE4NWMtMS4zNzcuMDAxLTIuNDk4LTEuMTItMi40OTgtMi40OTh6bTU1LjA2OSAxNy40ODl2MTkuNTUzaC0zNy45NTd2LTE5LjU1M3ptLTU1LjA2NiAzNS4yODNjMC0uNDA3LjMzMi0uNzM5LjczOS0uNzM5aDcwLjY5NmMuNDA3IDAgLjczOS4zMzIuNzM5LjczOXYxOC44MDFoLTcyLjE3NXYtMTguODAxem0tLjAwMyAzMy43OTFoMjQwLjE0OHYxNTMuNjU2aC0yNDAuMTQ4em0tMzcuNTQyIDE1My42NTZjLTMuMjA3IDAtNS44MTYtMi42MDktNS44MTYtNS44MTZ2LTE0Mi4wMjNjMC0zLjIwNyAyLjYwOS01LjgxNiA1LjgxNi01LjgxNmgyMi41NTF2MTUzLjY1NmMtNS4yMTEtLjAwMS0xNy40ODgtLjAwMS0yMi41NTEtLjAwMXptMjk5LjM3MiA0Mi43OWgtMjc3Ljk1N3YtMjcuNzk5aDI3Ny45NTZ2MjcuNzk5em03LjQ5NS00Mi43OTRjLS4wMjkgMC0uMDU4LjAwNC0uMDg3LjAwNGgtMTQuMDk5di0xNTMuNjU2aDIyLjU1MWMzLjIwNyAwIDUuODE2IDIuNjA5IDUuODE2IDUuODE2djE0Mi4wMjRjMCAzLjIwNy0yLjYwOSA1LjgxNi01LjgxNiA1LjgxNmgtOC4yNzhjLS4wMjkgMC0uMDU4LS4wMDQtLjA4Ny0uMDA0em0xMjUuNzkxIDE0MC4zNDNjLTkuMzc5IDAtNDcxLjEwNyAwLTQ4Mi4wMTkgMHYtNDQuOTE2bDE5LjY2NyAxMS45ODdjMjEuNTY3IDEzLjE0NSA0OC4zNjEgMTMuMTQ1IDY5LjkyOCAwIDE2Ljc1NC0xMC4yMTEgMzcuNTctMTAuMjEyIDU0LjMyNCAwIDIxLjU2OCAxMy4xNDUgNDguMzYxIDEzLjE0NSA2OS45MjggMCAxNi43NTQtMTAuMjExIDM3LjU3LTEwLjIxMiA1NC4zMjQgMCAyMS41NjggMTMuMTQ1IDQ4LjM2MSAxMy4xNDUgNjkuOTI4IDAgMTcuMDk3LTEwLjQyMSAzNy45NDEtOS45ODYgNTQuMzI0IDAgMjEuNTY3IDEzLjE0NCA0OC4zNjIgMTMuMTQ0IDY5LjkyOCAwbDE5LjY2Ny0xMS45ODdjLjAwMSAxMC41NTYuMDAxIDIyLjM4LjAwMSA0NC45MTZ6bTAtNjIuNDcyYy0yOS43ODkgMTguMTU2LTMwLjM1MyAxOC44MzYtMzYuNTI3IDIxLjEzMnYtNDQuMjU3YzAtNC4xMzktMy4zNTYtNy40OTUtNy40OTUtNy40OTVzLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djQ3LjQyN2MtMTkuNDcyIDEuMTcyLTI4Ljk4NC03LjY4OC0zOC41MDYtMTEuODM2di0zMC4wNTRjMC05LjY0My03Ljg0Ni0xNy40ODktMTcuNDg5LTE3LjQ4OWgtMTAuNzgzdi0yNy43OTljMTMuMzQyIDAgMjEuNjc2LTEwLjA0OSAyMS42NzYtMjAuODA3di0zMS43NTVoNDUuMTAydjYyLjMzMWMwIDQuMTM5IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1czcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1di02OS44MjZjMC00LjEzOS0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NWgtNTIuNTk3di0zNi41MjdoNzMuMTg0YzEyLjkyMyAwIDIzLjQzNiAxMC41MTMgMjMuNDM2IDIzLjQzNXYxNDMuNTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxMS4wMjQgMjI3LjE1M2gtNzkuNzI2Yy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTAuMDdjMCA0LjE0IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDc5LjcyNmM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTkwLjA3Yy4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6bS03LjQ5NSA5MC4wN2gtNjQuNzM1di03NS4wNzloNjQuNzM1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTIuNjM1IDI0MC45N2gtNjQuNTA1Yy00LjEzOSAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1IDAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg2NC41MDVjNC4xMzkgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NS4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMxMi42MzUgMjcyLjE4OGgtNjQuNTA1Yy00LjEzOSAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1czMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDY0LjUwNWM0LjEzOSAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1NS03LjQ5NS03LjQ5NS03LjQ5NXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAzMDMuNDA2aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjEuODk5IDI4Ny4xNzloNy41NDhsLTIuOTA0IDcuNDMyYy0xLjUwNyAzLjg1NS4zOTcgOC4yMDIgNC4yNTMgOS43MDkuODk2LjM1IDEuODE5LjUxNiAyLjcyNi41MTYgMi45OTcgMCA1LjgyNi0xLjgwOSA2Ljk4My00Ljc2OWw2LjktMTcuNjU1Yy45MDItMi4zMDcuNjA2LTQuOTEtLjc5MS02Ljk1NXMtMy43MTMtMy4yNjgtNi4xOS0zLjI2OGgtNy41NDhsMi45MDQtNy40MzJjMS41MDctMy44NTUtLjM5Ny04LjIwMi00LjI1My05LjcwOS0zLjg1NS0xLjUwOS04LjIwMy4zOTYtOS43MDkgNC4yNTNsLTYuOSAxNy42NTVjLS45MDIgMi4zMDctLjYwNiA0LjkxLjc5MSA2Ljk1NSAxLjM5NiAyLjA0NCAzLjcxMyAzLjI2OCA2LjE5IDMuMjY4eiIvPgogICAgPC9nPgo8L3N2Zz4=",uae="PHN2ZyB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTk0LjcyNyA3My43MDhhNi43NSA2Ljc1IDAgMSAwIDYuNzUgNi43NSA2Ljc1NiA2Ljc1NiAwIDAgMCAtNi43NS02Ljc1em0wIDEwYTMuMjUgMy4yNSAwIDEgMSAzLjI1LTMuMjUgMy4yNTQgMy4yNTQgMCAwIDEgLTMuMjUgMy4yNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNzMuMDgxIDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU3IDYuNzU3IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjY0Ljk2NiIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9Ijc3LjU5MSIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjkwLjIxNiIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjEwMi44NDEiIGN5PSI0OC4wMjEiIHI9IjMiLz4KICAgICAgICA8cGF0aCBkPSJtMTIxLjUgMzMuNWgtMTE1YTEuNzUxIDEuNzUxIDAgMCAwIC0xLjc1IDEuNzV2NTcuNWExLjc1MSAxLjc1MSAwIDAgMCAxLjc1IDEuNzVoMTUuOTQydjguMjVhMS43NTEgMS43NTEgMCAwIDAgMS43NSAxLjc1aDEwYTEuNzUgMS43NSAwIDAgMCAxLjc1LTEuNzV2LTguMjVoNTYuMTE2djguMjVhMS43NSAxLjc1IDAgMCAwIDEuNzUgMS43NWgxMGExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTguMjVoMTUuOTQyYTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUtMS43NXYtNTcuNWExLjc1MSAxLjc1MSAwIDAgMCAtMS43NS0xLjc1em0tODkuMDU4IDY3LjVoLTYuNXYtNi41aDYuNXptNjkuNjE2IDBoLTYuNXYtNi41aDYuNXptMTcuNjkyLTEwaC0xMTEuNXYtNTRoMTExLjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA3NC4yNWExMC4yNSAxMC4yNSAwIDEgMCAtMTAuMjUtMTAuMjUgMTAuMjYxIDEwLjI2MSAwIDAgMCAxMC4yNSAxMC4yNXptLTEuNzUtMTYuNzYydjQuMDEyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtNC4wMTJhNi43NSA2Ljc1IDAgMSAxIC0zLjUgMHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIuNjkyIDQ5Ljk1OGExLjc0OSAxLjc0OSAwIDAgMCAxLjc1LTEuNzV2LTNhMS43NSAxLjc1IDAgMCAwIC0zLjUgMHYzYTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM4Ljc5MiA1MS4zNTNhMS43NSAxLjc1IDAgMCAwIDIuMzM3LS44MTZsMS4zLTIuN2ExLjc1IDEuNzUgMCAwIDAgLTMuMTUyLTEuNTJsLTEuMyAyLjdhMS43NSAxLjc1IDAgMCAwIC44MTUgMi4zMzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1LjA1MiA1NS45MTlhMS43NDggMS43NDggMCAwIDAgMS4wODgtLjM4bDIuMzQ4LTEuODY4YTEuNzUgMS43NSAwIDAgMCAtMi4xNzktMi43MzlsLTIuMzQ4IDEuODY4YTEuNzUgMS43NSAwIDAgMCAxLjA5MSAzLjEyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNC4yNTYgNTAuNTM3YTEuNzUgMS43NSAwIDEgMCAzLjE1Mi0xLjUyMWwtMS4zLTIuN2ExLjc1IDEuNzUgMCAwIDAgLTMuMTUyIDEuNTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2LjkgNTMuNjcxIDIuMzQ5IDEuODY4YTEuNzUgMS43NSAwIDAgMCAyLjE3OC0yLjc0bC0yLjM0OC0xLjg2N2ExLjc1IDEuNzUgMCAxIDAgLTIuMTc5IDIuNzM5eiIvPgogICAgICAgIDxwYXRoIGQ9Im01OC44MDggNzAuMjkyaDUwLjE5MmExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTEwYTEuNzUgMS43NSAwIDAgMCAtMS43NS0xLjc1aC01MC4xOTJhMS43NDkgMS43NDkgMCAwIDAgLTEuNzUgMS43NXYxMGExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1em0xLjc1LTEwaDQ2LjY5MnY2LjVoLTQ2LjY5MnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYuMTM1IDg3LjIwOGgzMy4xMTVhMS43NSAxLjc1IDAgMCAwIDAtMy41aC0zMy4xMTVhMS43NSAxLjc1IDAgMCAwIDAgMy41eiIvPgogICAgPC9nPgo8L3N2Zz4=",Nae="PHN2ZyBoZWlnaHQ9IjYwMHB0IiB2aWV3Qm94PSItNDUgLTE5IDYwMCA2MDAuMDAxIiB3aWR0aD0iNjAwcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTguMjE0ODQ0IDBoLTUwLjk3NjU2M2MtMTguMTk1MzEyLjAyNzM0MzgtMzIuOTMzNTkzIDE0Ljc2OTUzMS0zMi45NjQ4NDMgMzIuOTY0ODQ0djI0Ljg3MTA5NGgtMTQ0LjgyNDIxOWMtNjEuNDM3NS4wOTM3NS0xMTIuMjUzOTA3IDQ3Ljg3MTA5My0xMTYuMTMyODEzIDEwOS4xODc1aC0zOS4wNjY0MDZjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40Njg3NS05Ljk4ODI4MSA5Ljk4ODI4MXYzMC41MTE3MTloLTEwLjI4NTE1N2MtMy43MDcwMzEgMC03LjEwNTQ2OCAyLjA0Njg3NC04LjgzNTkzNyA1LjMyODEyNGwtODUuNzY5NTMxIDE2Mi41NTQ2ODhjLTEuNjM2NzE5IDMuMDk3NjU2LTEuNTMxMjUgNi44MjQyMTkuMjc3MzQ0IDkuODI0MjE5IDEuODA4NTkzIDMgNS4wNTA3ODEgNC44MjgxMjUgOC41NTQ2ODcgNC44MjgxMjVoMTA4LjEyMTA5NGMuMTc1NzgxIDMuOTU3MDMxLjY3NTc4MSA3Ljg4NjcxOCAxLjQ5NjA5MyAxMS43NjE3MTggNy41NzAzMTMgMzUuMDU0Njg4IDM4LjU1ODU5NCA2MC4wOTM3NSA3NC40MjU3ODIgNjAuMTI1IDM1Ljg3MTA5NC4wMzUxNTcgNjYuOTAyMzQ0LTI0Ljk0OTIxOCA3NC41MzUxNTYtNTkuOTk2MDkzLjg0Mzc1LTMuOTEwMTU3IDEuMzY3MTg4LTcuODkwNjI1IDEuNTUwNzgxLTExLjg5NDUzMWgxMDguMTM2NzE5YzMuNSAwIDYuNzUtMS44MzIwMzIgOC41NTQ2ODgtNC44MzIwMzIgMS44MDg1OTMtMyAxLjkxNzk2OC02LjcyNjU2Mi4yNzczNDMtOS44MjAzMTJsLTg1Ljc2OTUzMS0xNjIuNTQ2ODc1Yy0xLjczMDQ2OS0zLjI4OTA2My01LjE0NDUzMS01LjMzOTg0NC04Ljg1OTM3NS01LjMzMjAzMWgtMTAuMjYxNzE5di0zMC41MTE3MTljMC01LjUxOTUzMS00LjQ3MjY1Ni05Ljk4ODI4MS05Ljk4ODI4MS05Ljk4ODI4MWgtNDQuNTM1MTU2YzIuMTQwNjI1LTIyLjQ3MjY1NyAyMC45ODgyODEtMzkuNjQ0NTMyIDQzLjU2MjUtMzkuNjk5MjE5aDE0NC44MDQ2ODd2MjguMTYwMTU2Yy4wMzUxNTYgMTguMTkxNDA2IDE0Ljc3NzM0NCAzMi45MzM1OTQgMzIuOTY4NzUgMzIuOTYwOTM3aDUwLjk4MDQ2OWM1LjUxNTYyNSAwIDkuOTg4MjgxLTQuNDY0ODQzIDkuOTg4MjgxLTkuOTg4Mjgxdi0xNjguNDY4NzVjMC01LjUxMTcxOS00LjQ2NDg0NC05Ljk4MDQ2ODUtOS45NzY1NjItOS45ODgyODF6bS0yNTAuOTE3OTY5IDM5Ny42MzI4MTJjLTUuNTY2NDA2IDI1LjkzMzU5NC0yOC41MDc4MTMgNDQuNDUzMTI2LTU1LjAzMTI1IDQ0LjQyMTg3Ni0yNi41MzEyNS0uMDI3MzQ0LTQ5LjQyNTc4MS0xOC41OTc2NTctNTQuOTMzNTk0LTQ0LjU0Njg3Ni0uNTU0Njg3LTIuNDUzMTI0LS45MjU3ODEtNC45NDkyMTgtMS4xMjEwOTMtNy40NTMxMjRoMTEyLjIzNDM3NGMtLjE5OTIxOCAyLjU1MDc4MS0uNTg1OTM3IDUuMDgyMDMxLTEuMTQ4NDM3IDcuNTc4MTI0em0xMTIuNjA1NDY5LTI3LjU3NDIxOGgtMTAxLjM5NDUzMmMtLjA2NjQwNiAwLS4xMzY3MTggMC0uMjAzMTI0IDBoLTEzMS45NjA5MzhjLS4wNzAzMTIgMC0uMTM2NzE5IDAtLjIwNzAzMSAwaC0xMDEuMzk0NTMxbDc1LjI1MzkwNi0xNDIuNTU0Njg4aDE4NC42ODM1OTR6bS05OS40NzI2NTYtMTYyLjUzNTE1NmgtMTM2LjE5MTQwN3YtMjAuNTE5NTMyaDEzNi4xOTE0MDd6bTguOTk2MDkzLTEwMC4xODM1OTRjLTMzLjUzNTE1Ni4yNzM0MzctNjEuMjQ2MDkzIDI2LjIzODI4MS02My42OTUzMTIgNTkuNjgzNTk0aC0zMi40MzM1OTRjMy44NDc2NTYtNTAuMjczNDM4IDQ1LjczMDQ2OS04OS4xMjUgOTYuMTUyMzQ0LTg5LjE4NzVoMTQ0LjgwNDY4N3YyOS41MDM5MDZ6bTIxOC43Njk1MzEgNjEuMTQwNjI1aC00MC45ODQzNzRjLTcuMTY3OTY5LS4wMTk1MzEtMTIuOTcyNjU3LTUuODI0MjE5LTEyLjk5MjE4OC0xMi45ODgyODF2LTEyMi41MDc4MTNjLjAxOTUzMS03LjE2MDE1NiA1LjgyNDIxOS0xMi45NjQ4NDQgMTIuOTkyMTg4LTEyLjk4NDM3NWg0MC45ODQzNzR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im05MC41MTU2MjUgNDE1Ljk5MjE4OGMwLTUuNTE1NjI2LTQuNDcyNjU2LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4MjgyaC02MS4zOTg0MzhjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40NzI2NTYtOS45ODgyODEgOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NiA5Ljk5MjE4NyA5Ljk4ODI4MSA5Ljk5MjE4N2g2MS4zOTg0MzhjNS41MTU2MjUgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTExNy41MzkwNjIgNDcyLjY3MTg3NS00MC4wNzAzMTIgMzcuNzQ2MDk0Yy0yLjY0MDYyNSAyLjQzMzU5My0zLjc3MzQzOCA2LjEwMTU2Mi0yLjk1NzAzMSA5LjU5NzY1Ni44MTI1IDMuNTAzOTA2IDMuNDQxNDA2IDYuMjk2ODc1IDYuODg2NzE5IDcuMzE2NDA2IDMuNDQ1MzEyIDEuMDIzNDM4IDcuMTc1NzgxLjExNzE4OCA5Ljc2NTYyNC0yLjM3NWw0MC4wNzAzMTMtMzcuNzM4MjgxYzIuNjQwNjI1LTIuNDMzNTk0IDMuNzY5NTMxLTYuMTAxNTYyIDIuOTU3MDMxLTkuNjA1NDY5LS44MTY0MDYtMy40OTYwOTMtMy40NDUzMTItNi4yOTI5NjktNi44ODY3MTgtNy4zMTY0MDYtMy40NDkyMTktMS4wMTk1MzEtNy4xNzU3ODItLjExMzI4MS05Ljc2NTYyNiAyLjM3NXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM2NS41NDY4NzUgNDA2LjAwMzkwNmgtNjEuMzkwNjI1Yy01LjUxOTUzMSAwLTkuOTkyMTg4IDQuNDcyNjU2LTkuOTkyMTg4IDkuOTg4MjgyIDAgNS41MTk1MzEgNC40NzI2NTcgOS45OTIxODcgOS45OTIxODggOS45OTIxODdoNjEuMzkwNjI1YzUuNTE5NTMxIDAgOS45ODgyODEtNC40NzI2NTYgOS45ODgyODEtOS45OTIxODcgMC01LjUxNTYyNi00LjQ2ODc1LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4Mjgyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY3LjA0Njg3NSA0NzIuNjcxODc1Yy0yLjU4OTg0NC0yLjQ4ODI4MS02LjMxNjQwNi0zLjM5NDUzMS05Ljc2NTYyNS0yLjM3NS0zLjQ0NTMxMiAxLjAyMzQzNy02LjA3NDIxOSAzLjgyMDMxMy02Ljg4NjcxOSA3LjMxNjQwNi0uODE2NDA2IDMuNTAzOTA3LjMxNjQwNyA3LjE3MTg3NSAyLjk1MzEyNSA5LjYwNTQ2OWw0MC4wNjI1IDM3LjcyMjY1NmMyLjU4OTg0NCAyLjQ5MjE4OCA2LjMxNjQwNiAzLjQwMjM0NCA5Ljc2NTYyNSAyLjM3NSAzLjQ0MTQwNy0xLjAxOTUzMSA2LjA3MDMxMy0zLjgxMjUgNi44ODY3MTktNy4zMTY0MDYuODEyNS0zLjQ5NjA5NC0uMzE2NDA2LTcuMTY0MDYyLTIuOTU3MDMxLTkuNjAxNTYyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTkyLjI3MzQzOCA0OTAuOTMzNTk0Yy01LjUxNTYyNiAwLTkuOTg4MjgyIDQuNDcyNjU2LTkuOTg4MjgyIDkuOTkyMTg3djUwLjg0NzY1N2MwIC4yNDYwOTMtLjAyMzQzNy41MDM5MDYtLjAyMzQzNy43MzgyODEgMCA1LjUxNTYyNSA0LjQ3MjY1NiA5Ljk4ODI4MSA5Ljk4ODI4MSA5Ljk4ODI4MS40MjU3ODEtLjAwMzkwNi44NTU0NjktLjAyNzM0NCAxLjI3NzM0NC0uMDg1OTM4IDQuOTkyMTg3LS42Mjg5MDYgOC43MzgyODEtNC44Nzg5MDYgOC43MzgyODEtOS45MDYyNXYtNTEuNTgyMDMxYzAtNS41MTk1MzEtNC40NzI2NTYtOS45OTIxODctOS45OTIxODctOS45OTIxODd6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",lae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NzguNTExLDg4LjYyMkM0MDMuNjk0LDY5LjIyMywzMjguNDM3LDM5LjAxNywyNjAuODc4LDEuMjY5Yy0zLjAzLTEuNjkyLTYuNzIzLTEuNjkzLTkuNzU1LDAKCQkJQzE4MS42MjEsNDAuMDk5LDExMC40MzIsNjguNjcyLDMzLjQ4OSw4OC42MjNjLTQuNDEsMS4xNDQtNy40OSw1LjEyNC03LjQ5LDkuNjh2MTEwLjM5NGMwLDExMy41MzUsNTUuMjkyLDE4OC42MzksMTAxLjY3OCwyMzEuNjUKCQkJYzQ5Ljc1Nyw0Ni4xMzgsMTA3LjQ2LDcxLjY1NSwxMjguMzI0LDcxLjY1NWMyMC44NjQsMCw3OC41NjctMjUuNTE3LDEyOC4zMjQtNzEuNjU1CgkJCWM0Ni4zODQtNDMuMDExLDEwMS42NzgtMTE4LjExNCwxMDEuNjc4LTIzMS42NVY5OC4zMDJDNDg2LjAwMiw5My43NDYsNDgyLjkyMiw4OS43NjYsNDc4LjUxMSw4OC42MjJ6IE0zNzAuNzI2LDQyNS42NzgKCQkJYy0yNy41NTcsMjUuNTUzLTU0LjMzNiw0MS42ODUtNzEuOTUsNTAuNzE4Yy0yMi4zMTksMTEuNDQ3LTM3LjgxLDE1LjYwMy00Mi43NzYsMTUuNjAzYy00Ljk2NiwwLTIwLjQ1Ni00LjE1NS00Mi43NzYtMTUuNjAzCgkJCWMtMTcuNjEyLTkuMDMzLTQ0LjM5Mi0yNS4xNjUtNzEuOTUtNTAuNzE4Yy00My40NjQtNDAuMzAzLTk1LjI3Ni0xMTAuNjYzLTk1LjI3Ni0yMTYuOTgzVjEwNi4wMDgKCQkJYzczLjk2NC0xOS44LDE0Mi44MDEtNDcuNTIzLDIxMC4wMDMtODQuNTc0YzY1LjQ5OCwzNi4wNTksMTM3LjgyNyw2NS4xODUsMjEwLDg0LjU3MXYxMDIuNjloMC4wMDEKCQkJQzQ2Ni4wMDEsMzE1LjAxNSw0MTQuMTksMzg1LjM3NSwzNzAuNzI2LDQyNS42Nzh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ0My43OTMsMTE1LjM2OGMtNjMuMzM2LTE4LjQxMy0xMjQuOTM2LTQzLjQyNC0xODMuMDg3LTc0LjMzN2MtMi45MzgtMS41NjMtNi40NjEtMS41Ni05LjM5NywwLjAwNgoJCQlDMTkzLjA2OSw3Mi4wNzksMTMxLjQ3LDk3LjA5NCw2OC4yMiwxMTUuMzg3Yy00LjI3NywxLjIzNy03LjIyMiw1LjE1My03LjIyMiw5LjYwNnY4My43MDJjMCwzOS4wNzcsNy40MDUsNzYuMTYxLDIyLjAwOCwxMTAuMjIyCgkJCWMxNC41MywzMy44OTEsMzYuMjAxLDY0LjgyLDY0LjQwOSw5MS45MzNjMjAuMTc1LDE5LjM5LDQzLjQ2OSwzNi40NzcsNjcuMzY3LDQ5LjQxM2M0LjI4MiwyLjMxOCwyNi4zMDUsMTQuMDAzLDM5LjQwMiwxNi40MjEKCQkJYzAuNiwwLjExLDEuMjA3LDAuMTY2LDEuODE1LDAuMTY2YzAuNjA4LDAsMS4yMTUtMC4wNTYsMS44MTUtMC4xNjZjMTMuMDk3LTIuNDE4LDM1LjEyLTE0LjEwMywzOS40MDItMTYuNDIxCgkJCWMyMy44OTUtMTIuOTM2LDQ3LjE5LTMwLjAyMyw2Ny4zNjctNDkuNDEzYzI4LjIwOC0yNy4xMTEsNDkuODc4LTU4LjA0MSw2NC40MDktOTEuOTMzYzE0LjYwMy0zNC4wNiwyMi4wMDgtNzEuMTQ0LDIyLjAwOC0xMTAuMjIyCgkJCXYtODMuNzI0QzQ1MS4wMDEsMTIwLjUyNCw0NDguMDYzLDExNi42MTEsNDQzLjc5MywxMTUuMzY4eiBNNDMxLjAwMSwyMDguNjk1YzAsNzMuMzc2LTI3LjAwOCwxMzYuNTM4LTgwLjI3NiwxODcuNzM0CgkJCWMtMTguODk4LDE4LjE2Mi00MC42OTMsMzQuMTUzLTYzLjAyOSw0Ni4yNDVjLTEwLjE2Nyw1LjUwMy0yMy44OTIsMTEuOTE5LTMxLjY5NywxMy45MzRjLTcuODA1LTIuMDE1LTIxLjUzLTguNDMxLTMxLjY5Ni0xMy45MzQKCQkJYy0yMi4zMzctMTIuMDkzLTQ0LjEzMi0yOC4wODQtNjMuMDI5LTQ2LjI0NWMtNTMuMjY3LTUxLjE5NS04MC4yNzYtMTE0LjM1OS04MC4yNzYtMTg3LjczNFYxMzIuNDgKCQkJYzYwLjM1NC0xNy45NjksMTE5LjE3Mi00MS45MzEsMTc1LjAxOS03MS4zMDZjNTUuNzU3LDI5LjI1MSwxMTQuNTY5LDUzLjIwNCwxNzQuOTgzLDcxLjI3NFYyMDguNjk1eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNzMuMDI3LDM1OC4zMDVsLTAuMi0wLjIxNWMtMy43MDEtNC4wNTUtOS45ODctNC4zNjctMTQuMDczLTAuNjg5Yy00LjEwNSwzLjY5NC00LjQzOCwxMC4wMTctMC43NDQsMTQuMTIybDAuMiwwLjIxNQoJCQljMS45NzEsMi4xNTgsNC42NzMsMy4yNTYsNy4zODcsMy4yNTZjMi4zODMsMCw0Ljc3NS0wLjg0OCw2LjY4Ni0yLjU2N0MxNzYuMzg4LDM2OC43MzMsMTc2LjcyMSwzNjIuNDA5LDE3My4wMjcsMzU4LjMwNXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjI2Ljk2Myw0MDMuNjk1Yy0xMi4wNDYtNy42MDItMjMuNjQ1LTE2LjM2NC0zNC40NzMtMjYuMDQ0Yy00LjExNy0zLjY4Mi0xMC40MzktMy4zMjctMTQuMTIsMC43OQoJCQljLTMuNjgsNC4xMTgtMy4zMjYsMTAuNDM5LDAuNzkyLDE0LjEyYzExLjY1MywxMC40MTgsMjQuMTQ1LDE5Ljg1NCwzNy4xMjksMjguMDQ4YzEuNjU3LDEuMDQ1LDMuNTAyLDEuNTQ0LDUuMzI3LDEuNTQ0CgkJCWMzLjMxOCwwLDYuNTY0LTEuNjUsOC40NjYtNC42NjRDMjMzLjAzMiw0MTIuODE4LDIzMS42MzUsNDA2LjY0MiwyMjYuOTYzLDQwMy42OTV6Ii8+CiAgICAgICAgPHBhdGggZD0iTTMwOC44OTgsMjA5LjA3N3YtMzIuOTIxYzAtMjkuMTY4LTIzLjczLTUyLjg5OC01Mi45LTUyLjg5OGMtMjkuMTY4LDAtNTIuODk4LDIzLjczLTUyLjg5OCw1Mi44OTh2MzIuOTIxCgkJCWMtMTEuODk4LDAuNDI5LTIxLjQ0NywxMC4yMzUtMjEuNDQ3LDIyLjIzNnY3Ni43NjljLTAuMDAxLDEyLjI3Myw5Ljk4NCwyMi4yNTcsMjIuMjU3LDIyLjI1N0gzMDguMDkKCQkJYzEyLjI3MywwLDIyLjI1OC05Ljk4NCwyMi4yNTgtMjIuMjU3di03Ni43NjlDMzMwLjM0OCwyMTkuMzExLDMyMC43OTgsMjA5LjUwNCwzMDguODk4LDIwOS4wNzd6IE0yMjMuMDk5LDE3Ni4xNTYKCQkJYzAtMTguMTQsMTQuNzU5LTMyLjg5OCwzMi45LTMyLjg5OGMxOC4xNCwwLDMyLjg5OCwxNC43NTgsMzIuODk4LDMyLjg5OHYzMi45aC02NS43OTlWMTc2LjE1NnogTTMxMC4zNDcsMzA4LjA4MwoJCQljMCwxLjIyNC0xLjAzNCwyLjI1Ny0yLjI1OCwyLjI1N0gyMDMuOTA4Yy0xLjIyNCwwLTIuMjU4LTEuMDMzLTIuMjU4LTIuMjU3di03Ni43NjloMC4wMDFjMC0xLjIyNCwxLjAzNC0yLjI1NywyLjI1OC0yLjI1N2g5LjE4OQoJCQloODUuNzk5aDkuMTkyYzEuMjI0LDAsMi4yNTgsMS4wMzMsMi4yNTgsMi4yNTdWMzA4LjA4M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI0OS42NGMtNy43MDEsMC0xMy45ODIsNi4yODEtMTMuOTgyLDEzLjk4MmMwLDMuNzg2LDEuNTIzLDcuMjI1LDMuOTgyLDkuNzQ2djkuNzg3YzAsNS41MjIsNC40NzcsMTAsMTAsMTAKCQkJYzUuNTIzLDAsMTAtNC40NzgsMTAtMTB2LTkuNzg3YzIuNDU5LTIuNTIyLDMuOTgyLTUuOTYsMy45ODItOS43NDZDMjY5Ljk4MiwyNTUuOTIxLDI2My43MDEsMjQ5LjY0LDI1NiwyNDkuNjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Lae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDk2Ljg4MjgxMiAwaC00ODEuNzY1NjI0Yy04LjM0NzY1NyAwLTE1LjExNzE4OCA2Ljc2OTUzMS0xNS4xMTcxODggMTUuMTE3MTg4djQ4MS43NjU2MjRjMCA4LjM0NzY1NyA2Ljc2OTUzMSAxNS4xMTcxODggMTUuMTE3MTg4IDE1LjExNzE4OGg0ODEuNzY1NjI0YzguMzQ3NjU3IDAgMTUuMTE3MTg4LTYuNzY5NTMxIDE1LjExNzE4OC0xNS4xMTcxODh2LTQ4MS43NjU2MjRjMC04LjM0NzY1Ny02Ljc2OTUzMS0xNS4xMTcxODgtMTUuMTE3MTg4LTE1LjExNzE4OHptLTQwNi4xNzU3ODEgNDIxLjI5Mjk2OXYtODguNjk1MzEzaDExOS4wNzQyMTl2ODguNjk1MzEzem0tNjAuNDcyNjU2LTM5MS4wNTg1OTRoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0wIDYwLjQ3MjY1Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTM1Mi44Mzk4NDQtNTguNDUzMTI1djI4LjIxODc1aC0yNTQuMTQ4NDM4di0yOC4yMTg3NXptLTI1NC4xNDg0MzggMjM5Ljg3MTA5NGgyNTQuMTUyMzQ0djMwLjIzODI4MWgtMjU0LjE1MjM0NHptMC0zMC4yMzQzNzV2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptMC02MC40NzI2NTZ2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptMC02MC40NzI2NTd2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptLTk4LjY5MTQwNiAzMC4yMzQzNzZoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0wIDYwLjQ3MjY1Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMzgzLjA3ODEyNSAwaDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptNjguNDUzMTI1LTMwLjIzNDM3NWgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1NmgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1N2gtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1NmgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0tMjQxLjc1IDI3Mi4xMjVoMzAuMjM4Mjgxdjg4LjY5NTMxM2gtMzAuMjM4Mjgxem02MC40NzY1NjMgMGgxMjAuODAwNzgxdjg4LjY5NTMxM2gtMTIwLjgwMDc4MXptLTI3MC4yNTc4MTMgMTQ5LjE2Nzk2OXYtMTQ5LjE2Nzk2OWgzMC4yMzgyODF2MTAzLjgxMjVjMCA4LjM0NzY1NiA2Ljc2OTUzMiAxNS4xMTcxODggMTUuMTE3MTg4IDE1LjExNzE4OGgzNjAuODIwMzEyYzguMzQ3NjU2IDAgMTUuMTE3MTg4LTYuNzY5NTMyIDE1LjExNzE4OC0xNS4xMTcxODh2LTEwMy44MTI1aDMwLjIzODI4MXYxNDkuMTY3OTY5em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",jae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0yIDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTM0OC4yNDYwOTQgMzc2Ljc4NTE1NmMtMy4yNS0yLjYwNTQ2OC03Ljk5MjE4OC0yLjA4MjAzMS0xMC41OTc2NTYgMS4xNjQwNjNsLTI4Ljk0OTIxOSAzNi4wOTM3NWMtMy45ODQzNzUgNC45Njg3NS0uMzY3MTg4IDEyLjI1NzgxMiA1Ljg3NSAxMi4yNTc4MTIgMi4yMTA5MzcgMCA0LjM5ODQzNy0uOTY4NzUgNS44ODY3MTktMi44MjQyMTlsMjguOTQ5MjE4LTM2LjA5Mzc1YzIuNjA1NDY5LTMuMjUgMi4wODU5MzgtNy45OTIxODctMS4xNjQwNjItMTAuNTk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzkwLjM1OTM3NSAzNTguNzM4MjgxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg3LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzOCAwIDQuMzk4NDM4LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOGwyOC45NDkyMTktMzYuMDkzNzVjMi42MDU0NjgtMy4yNDYwOTQgMi4wODU5MzctNy45OTIxODgtMS4xNjQwNjMtMTAuNTk3NjU3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTExLjc1IDQyMi4wNTA3ODFjMi4xMDkzNzUgMCA0LjIwNzAzMS0uODc4OTA2IDUuNjk5MjE5LTIuNTk3NjU2bDM5LjYxMzI4MS00NS42NDQ1MzFjMi43MzA0NjktMy4xNDQ1MzIgMi4zOTQ1MzEtNy45MDYyNS0uNzUtMTAuNjMyODEzLTMuMTQ0NTMxLTIuNzMwNDY5LTcuOTEwMTU2LTIuMzk0NTMxLTEwLjYzNjcxOS43NWwtMzkuNjE3MTg3IDQ1LjY0NDUzMWMtNC4yNTM5MDYgNC45MDIzNDQtLjY5NTMxMyAxMi40ODA0NjkgNS42OTE0MDYgMTIuNDgwNDY5em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTk2LjYyMTA5NCAzNzYuNzg1MTU2Yy0zLjI1LTIuNjA1NDY4LTcuOTk2MDk0LTIuMDgyMDMxLTEwLjYwMTU2MyAxLjE2NDA2M2wtMTQuNDcyNjU2IDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5NjA5NCAxLjE2NDA2MyAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjUgOC4wMTE3MTggMi4wNjI1IDEwLjU5NzY1Ni0xLjE2NDA2MmwxNC40NzY1NjItMTguMDQ2ODc2YzIuNjA1NDY5LTMuMjUgMi4wODIwMzItNy45OTIxODctMS4xNjQwNjItMTAuNTk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDM3Ljk5MjE4OCAzOTQuODMyMDMxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NyAxLjE2NDA2M2wtMTQuNDc2NTYyIDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjYwMTU2My0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA1NDY5LTMuMjQ2MDk0IDIuMDgyMDMxLTcuOTkyMTg4LTEuMTY0MDYyLTEwLjU5NzY1N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTExNi40NzI2NTYgMzYyLjk4NDM3NWMtMy4yNS0yLjYwNTQ2OS03Ljk5MjE4Ny0yLjA4MjAzMS0xMC41OTc2NTYgMS4xNjQwNjNsLTE0LjQ3NjU2MiAxOC4wNTA3ODFjLTIuNjA1NDY5IDMuMjQ2MDkzLTIuMDgyMDMyIDcuOTkyMTg3IDEuMTY0MDYyIDEwLjU5NzY1NiAzLjI2OTUzMSAyLjYyMTA5NCA4LjAxMTcxOSAyLjA2MjUgMTAuNTk3NjU2LTEuMTY0MDYzbDE0LjQ3MjY1Ni0xOC4wNDY4NzRjMi42MDkzNzYtMy4yNSAyLjA4NTkzOC03Ljk5NjA5NC0xLjE2MDE1Ni0xMC42MDE1NjN6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im01MDQuNDYwOTM4IDBjLTE3LjI1MzkwNyAwLTQ2Ni41OTM3NSAwLTQ5Ni45MjE4NzYgMC00LjE2MDE1NiAwLTcuNTM5MDYyIDMuMzY3MTg4LTcuNTM5MDYyIDcuNTM5MDYydjQ5My44NjcxODhjMCA0LjE3MTg3NSAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MiA3LjUzOTA2Mmg0MjIuMjEwOTM4YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNjcxODcgNy41MzkwNjItNy41MzkwNjIgMC00LjE2NDA2Mi0zLjM3ODkwNi03LjU0Mjk2OS03LjUzOTA2Mi03LjU0Mjk2OWgtNDE0LjY3MTg3NXYtMTQzLjg4MjgxMmgxNC4zNjcxODd2OTAuOTU3MDMxYzAgNC4xNjQwNjIgMy4zNzUgNy41MzkwNjIgNy41MzkwNjMgNy41MzkwNjJoMTI2LjQwMjM0NGM0LjE2MDE1NiAwIDcuNTM5MDYyLTMuMzc1IDcuNTM5MDYyLTcuNTM5MDYyIDAtNC4xNjAxNTYtMy4zNzg5MDYtNy41MzkwNjItNy41MzkwNjItNy41MzkwNjJoLTExOC44NjMyODF2LTgzLjQxNzk2OWgxNC41MzkwNjJ2MjYuMTIxMDkzYzAgNC4xNjQwNjMgMy4zNzUgNy41MzkwNjMgNy41MzkwNjIgNy41MzkwNjMgNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM3NSA3LjUzOTA2My03LjUzOTA2M3YtMjYuMTIxMDkzaDE1My43MTA5Mzd2ODMuNDE3OTY5aC0zNC4zMDg1OTNjLTQuMTYwMTU3IDAtNy41MzkwNjMgMy4zNzg5MDYtNy41MzkwNjMgNy41MzkwNjIgMCA0LjE2NDA2MiAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MyA3LjUzOTA2MmgyODEuNDcyNjU2YzQuMTY0MDYzIDAgNy41MzkwNjMtMy4zNzUgNy41MzkwNjMtNy41MzkwNjJ2LTkwLjk1NzAzMWgxNC4zNjcxODd2MTQzLjg4MjgxMmgtMzcuMDE1NjI1Yy00LjE2MDE1NiAwLTcuNTM5MDYyIDMuMzc4OTA3LTcuNTM5MDYyIDcuNTQyOTY5IDAgNC4xNzE4NzUgMy4zNzg5MDYgNy41MzkwNjIgNy41MzkwNjIgNy41MzkwNjJoNDQuNTU0Njg4YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNjcxODcgNy41MzkwNjItNy41MzkwNjIgMC01My44NjMyODEgMC00MzcuNDk2MDk0IDAtNDkzLjg2NzE4OCAwLTQuMTcxODc0LTMuMzc4OTA2LTcuNTM5MDYyLTcuNTM5MDYyLTcuNTM5MDYyem0tNDQ1LjM5ODQzOCAzMzQuOTAyMzQ0Yy0xMy43MTQ4NDQgMC0zMC4wNTg1OTQgMC00My45ODQzNzUgMCAwLTkuNTUwNzgyIDAtMTYuMjU3ODEzIDAtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2Mmg0My45ODQzNzV6bTAtNDEuODcxMDk0aC00My45ODQzNzV2LTI2Ljc3NzM0M2g0My45ODQzNzV6bTAtNDEuODU5Mzc0Yy05LjcwMzEyNSAwLTMzLjkxNzk2OSAwLTQzLjk4NDM3NSAwdi0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMTUuMDc4MTI1LTI2Ljc4MTI1aDM2My43MTg3NXYyNi43ODEyNWgtMzYzLjcxODc1em0wIDgzLjcxODc1aDI4OS4zMDA3ODFjNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM2NzE4NyA3LjUzOTA2My03LjUzOTA2MyAwLTQuMTYwMTU2LTMuMzc1LTcuNTM5MDYyLTcuNTM5MDYzLTcuNTM5MDYyLTEuMjM0Mzc1IDAtMjgyLjk0MTQwNiAwLTI4OS4zMDA3ODEgMHYtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1aC00NC4yNTc4MTNjLTQuMTY0MDYyIDAtNy41MzkwNjIgMy4zNzg5MDYtNy41MzkwNjIgNy41MzkwNjIgMCA0LjE3MTg3NiAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MiA3LjUzOTA2M2g0NC4yNTc4MTN2MjYuNzg5MDYzYy0xMS42MjUgMC0zNTQuNDkyMTg3IDAtMzYzLjcxODc1IDB6bTAgNDEuODcxMDk0aDM2My43MTg3NXYyNi43NzczNDNoLTM2My43MTg3NXptMCA0MS44NTkzNzVoMzYzLjcxODc1djI2Ljc4OTA2MmgtMzYzLjcxODc1em0wIDQxLjg2NzE4N2gzNjMuNzE4NzV2MjYuNzgxMjVoLTM2My43MTg3NXptMCA0MS44NTkzNzVoMzYzLjcxODc1djI2Ljc4OTA2M2gtMzYzLjcxODc1em0wIDY4LjY0ODQzOHYtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1Yy0zNS42MTcxODcgMC0zMjYuOTUzMTI1IDAtMzYzLjcxODc1IDB6bTM5My4zMzU5MzcgOTguNDk2MDk0aC0xODMuMzI4MTI0di00MC42Njc5NjljMC00LjE2NDA2My0zLjM3NS03LjUzOTA2My03LjUzOTA2My03LjUzOTA2M3MtNy41MzkwNjMgMy4zNzUtNy41MzkwNjMgNy41MzkwNjN2NDAuNjY3OTY5aC0yNi4xNDA2MjR2LTgzLjQxNDA2M2gyNi4xNDA2MjR2MTIuNTg1OTM3YzAgNC4xNjc5NjkgMy4zNzUgNy41MzkwNjMgNy41MzkwNjMgNy41MzkwNjNzNy41MzkwNjMtMy4zNzEwOTQgNy41MzkwNjMtNy41MzkwNjN2LTEyLjU4OTg0M2gxNTMuNzEwOTM3djI2LjEyMTA5M2MwIDQuMTY0MDYzIDMuMzc1IDcuNTM5MDYzIDcuNTM5MDYzIDcuNTM5MDYzIDQuMTY0MDYyIDAgNy41MzkwNjItMy4zNzUgNy41MzkwNjItNy41MzkwNjN2LTI2LjEyMTA5M2gxNC41MzkwNjJ6bTI5LjQ0NTMxMy05OC40OTYwOTRjLTEzLjc4OTA2MyAwLTI5Ljg2NzE4NyAwLTQzLjk4NDM3NSAwdi0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYyaDQzLjk4NDM3NXptMC00MS44NzEwOTRoLTQzLjk4NDM3NXYtMjYuNzc3MzQzaDQzLjk4NDM3NXptMC00MS44NTkzNzRoLTQzLjk4NDM3NXYtMjYuNzg5MDYzaDQzLjk4NDM3NXptMC00MS44NjcxODhoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",gae="PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01Ni44MzggMWgtNDkuNjc2Yy0zLjM5OCAwLTYuMTYyIDIuNzY0LTYuMTYyIDYuMTYyIDAgLjY2NS4xMDYgMS4zMi4zMTYgMS45NDlsLjU1OCAxLjY3NmMuODQxIDIuNTIgMy4xOSA0LjIxMyA1Ljg0NyA0LjIxM2g0LjM4NGwxLjUwNiAxMy41NTJjLjI4MiAyLjUzNiAyLjQxOCA0LjQ0OCA0Ljk2OSA0LjQ0OGgyNi44NGMyLjU1MSAwIDQuNjg4LTEuOTEyIDQuOTY5LTQuNDQ4bDEuNTA2LTEzLjU1Mmg0LjM4NGMyLjY1NyAwIDUuMDA2LTEuNjkzIDUuODQ2LTQuMjE0bC41NTgtMS42NzRjLjIxMS0uNjMuMzE3LTEuMjg1LjMxNy0xLjk1IDAtMy4zOTgtMi43NjQtNi4xNjItNi4xNjItNi4xNjJ6bS0zMi44MzggMzBoLTR2LThjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptMTAgMGgtNHYtOGMwLTEuMTAzLjg5Ny0yIDItMnMyIC44OTcgMiAyem0xMCAwaC00di04YzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTQuNDAyLTIuNjY4Yy0uMTQ3IDEuMzI0LTEuMTM4IDIuMzYzLTIuNDAyIDIuNjExdi03Ljk0M2MwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY4aC0ydi04YzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0djhoLTJ2LThjMC0yLjIwNi0xLjc5NC00LTQtNHMtNCAxLjc5NC00IDR2Ny45NDJjLTEuMjY0LS4yNDgtMi4yNTQtMS4yODctMi40MDItMi42MTFsLTEuNDgxLTEzLjMzMWgzNS43NjZ6bTEyLjM4NC0xOS44NTMtLjU1OCAxLjY3NWMtLjU2NyAxLjcwMi0yLjE1NCAyLjg0Ni0zLjk0OSAyLjg0NmgtNDguNTU4Yy0xLjc5NCAwLTMuMzgxLTEuMTQ0LTMuOTQ5LTIuODQ2bC0uNTU4LTEuNjc2Yy0uMTQyLS40MjQtLjIxNC0uODY3LS4yMTQtMS4zMTYgMC0yLjI5NSAxLjg2Ny00LjE2MiA0LjE2Mi00LjE2Mmg0OS42NzZjMi4yOTUgMCA0LjE2MiAxLjg2NyA0LjE2MiA0LjE2MiAwIC40NDktLjA3Mi44OTItLjIxNCAxLjMxN3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTUgNWgtNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJoNmMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yem0tNiA0di0yaDZsLjAwMSAyeiIvPgogICAgICAgIDxwYXRoIGQ9Im01MSA1aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDcgNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDVoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NyA5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTEgOWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDloMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NCA0MHYtMWgtMWMtLjExOSAwLTEuNzk5LjA0Mi0zLjE3OSAyLjAzNS0uMDQ2LS4wNjMtLjA5Mi0uMTMxLS4xMzgtLjE5My0uOTAzLTEuMjMtMS42ODMtMi4yOTMtMS42ODMtNC44NDJ2LTFoLTFjLS4xMzkgMC0yLjg5My4wNTctNC42MjQgMy4yNzgtMi4wNTMtMy4yMjMtNS4zMjgtMy4yNzgtNS4zNzYtMy4yNzhoLTF2MWMwIDIuNTU5LS43ODQgMy42MzMtMS42OTIgNC44NzctLjA0LjA1NS0uMDguMTE0LS4xMi4xNjktMS4zODMtMi4wMDQtMy4wNjktMi4wNDYtMy4xODgtMi4wNDZoLTF2MWMwIDIuNTQzLS45OTUgMy44MzMtMi4xNDcgNS4zMjctMS4zMzcgMS43MzMtMi44NTMgMy42OTctMi44NTMgNy42NzMgMCA2LjA3NSAzLjkyNSAxMCAxMCAxMGgxNGM2LjA3NSAwIDEwLTMuOTI1IDEwLTEwIDAtMy45NzYtMS41MTYtNS45NC0yLjg1My03LjY3My0xLjE1Mi0xLjQ5NC0yLjE0Ny0yLjc4NC0yLjE0Ny01LjMyN3ptLTE5IDE3YzAtMi4zOTYgMS4zNTgtMy43MTkgMi42NzItNSAuODUxLS44MyAxLjcyNC0xLjY4IDIuMTE1LTIuNzczLjU2LjMxIDEuMjEzIDEuMDQzIDEuMjEzIDIuNzczdjNoMnYtMWMwLTEuOTg2IDEuMjM5LTIuNjYgMi4xNDctMi44ODcuMzU1IDEuMzA0IDEuMjk1IDIuMjQ0IDIuMTQ2IDMuMDk0LjkxNi45MTYgMS43MDcgMS43MDcgMS43MDcgMi43OTMgMCAxLjM4My0xLjQ2MyA0LTcgNHMtNy0yLjYxNy03LTR6bTE0IDRoLS4xMDJjMS41NjItMS4yOCAyLjEwMi0yLjg5OSAyLjEwMi00IDAtMS45MTQtMS4yMTgtMy4xMzItMi4yOTMtNC4yMDctLjkxNi0uOTE2LTEuNzA3LTEuNzA3LTEuNzA3LTIuNzkzdi0xaC0xYy0uODkyIDAtMi4xOTMuMjc4LTMuMjQ1IDEuMDg5LS42ODItMi4zOTUtMi42MjgtMy4wODktMy43NTUtMy4wODloLTF2MWMwIC44NDUtLjY1NSAxLjUyNi0xLjcyNCAyLjU2OC0xLjQ2IDEuNDIzLTMuMjc2IDMuMTkzLTMuMjc2IDYuNDMyIDAgMS4xMDEuNTQgMi43MiAyLjEwMiA0aC0uMTAyYy0zLjg2OCAwLTgtMi4xMDItOC04IDAtMy4yOTQgMS4xODMtNC44MjggMi40MzYtNi40NTIgMS4wNTUtMS4zNjcgMi4xMzktMi43NzIgMi40NjUtNS4wODQuODkxLjczOSAyLjA5OSAyLjY0MiAyLjA5OSA3LjUzNmgyYzAtMi41Ni0uMzIzLTQuNDYxLS44MDMtNS44NzguMjI4LS4zNjYuNDY5LS43MTMuNzI2LTEuMDY2Ljg0Ni0xLjE1OSAxLjc5MS0yLjQ1MyAyLjAyMy00Ljg3OSAxLjQ1Ni40NTMgNC4wNTQgMi4wNjkgNC4wNTQgNy44MjNoMmMwLTEuNjMtLjE5MS0yLjk5LS41MDYtNC4xMzIuNjM3LTIuMjczIDEuNzYxLTMuMjE4IDIuNTY3LTMuNjAxLjIzOCAyLjM0NiAxLjEzNyAzLjU3IDIuMDEgNC43NTkuMjYyLjM1Ny41MDcuNzA4LjczOCAxLjA4LS40ODMgMS40MTgtLjgwOSAzLjMyNC0uODA5IDUuODk0aDJjMC00LjkwNiAxLjIxNC02LjgwNyAyLjA5OC03LjU0Mi4zMjUgMi4zMTUgMS40MTEgMy43MjIgMi40NjYgNS4wOSAxLjI1MyAxLjYyNCAyLjQzNiAzLjE1OCAyLjQzNiA2LjQ1MiAwIDUuODk4LTQuMTMyIDgtOCA4eiIvPgogICAgPC9nPgo8L3N2Zz4=",Tae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQ2NywwSDQ1QzIwLjE4NywwLDAsMjAuMTg3LDAsNDV2NDIyYzAsMjQuODEzLDIwLjE4Nyw0NSw0NSw0NWg0MjJjMjQuODEzLDAsNDUtMjAuMTg3LDQ1LTQ1VjQ1CgkJCUM1MTIsMjAuMTg3LDQ5MS44MTMsMCw0NjcsMHogTTQ4Miw0NjdjMCw4LjI3MS02LjcyOSwxNS0xNSwxNUg0NWMtOC4yNzEsMC0xNS02LjcyOS0xNS0xNVY0NWMwLTguMjcxLDYuNzI5LTE1LDE1LTE1aDQyMgoJCQljOC4yNzEsMCwxNSw2LjcyOSwxNSwxNVY0Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI1Niw4MWMtOTYuNDk1LDAtMTc1LDc4LjUwNS0xNzUsMTc1czc4LjUwNSwxNzUsMTc1LDE3NXMxNzUtNzguNTA1LDE3NS0xNzVTMzUyLjQ5NSw4MSwyNTYsODF6IE0yNTYsNDAxCgkJCWMtNzkuOTUzLDAtMTQ1LTY1LjA0Ny0xNDUtMTQ1czY1LjA0Ny0xNDUsMTQ1LTE0NXMxNDUsNjUuMDQ3LDE0NSwxNDVTMzM1Ljk1Myw0MDEsMjU2LDQwMXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTg3LDIxNmMtMjIuMDU2LDAtNDAsMTcuOTQ0LTQwLDQwYzAsMjIuMDU2LDE3Ljk0NCw0MCw0MCw0MGMyMi4wNTYsMCw0MC0xNy45NDQsNDAtNDBDMjI3LDIzMy45NDQsMjA5LjA1NiwyMTYsMTg3LDIxNnoKCQkJIE0xODcsMjY2Yy01LjUxNCwwLTEwLTQuNDg2LTEwLTEwYzAtNS41MTQsNC40ODYtMTAsMTAtMTBjNS41MTQsMCwxMCw0LjQ4NiwxMCwxMEMxOTcsMjYxLjUxNCwxOTIuNTE0LDI2NiwxODcsMjY2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMjUsMjE2Yy0yMi4wNTYsMC00MCwxNy45NDQtNDAsNDBjMCwyMi4wNTYsMTcuOTQ0LDQwLDQwLDQwYzIyLjA1NiwwLDQwLTE3Ljk0NCw0MC00MEMzNjUsMjMzLjk0NCwzNDcuMDU2LDIxNiwzMjUsMjE2egoJCQkgTTMyNSwyNjZjLTUuNTE0LDAtMTAtNC40ODYtMTAtMTBjMC01LjUxNCw0LjQ4Ni0xMCwxMC0xMGM1LjUxNCwwLDEwLDQuNDg2LDEwLDEwQzMzNSwyNjEuNTE0LDMzMC41MTQsMjY2LDMyNSwyNjZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",yae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMzYwLDBIMTIwQzk3LjkyLDAuMDI2LDgwLjAyNiwxNy45Miw4MCw0MHYzNjhjMC4wMjQsMTkuMDAxLDEzLjM4OSwzNS4zNzMsMzIsMzkuMlY0ODBoNDh2LTMyaDE2MHYzMmg0OHYtMzIuOAoJCQljMTguNjExLTMuODI3LDMxLjk3Ni0yMC4xOTksMzItMzkuMlY0MEMzOTkuOTc0LDE3LjkyLDM4Mi4wOCwwLjAyNiwzNjAsMHogTTE0NCw0NjRoLTE2di0xNmgxNlY0NjR6IE0zNTIsNDY0aC0xNnYtMTZoMTZWNDY0egoJCQkgTTM4NCw0MDhjMCwxMy4yNTUtMTAuNzQ1LDI0LTI0LDI0SDEyMGMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0VjQwYzAtMTMuMjU1LDEwLjc0NS0yNCwyNC0yNGgyNDBjMTMuMjU1LDAsMjQsMTAuNzQ1LDI0LDI0VjQwOAoJCQl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCwxNjBjLTcwLjY5MiwwLTEyOCw1Ny4zMDgtMTI4LDEyOGMwLjA4NCw3MC42NTgsNTcuMzQyLDEyNy45MTYsMTI4LDEyOGM3MC42OTIsMCwxMjgtNTcuMzA4LDEyOC0xMjgKCQkJUzMxMC42OTIsMTYwLDI0MCwxNjB6IE0yNDAsNDAwYy02MS44NTYsMC0xMTItNTAuMTQ0LTExMi0xMTJjMC4wNjYtNjEuODI4LDUwLjE3Mi0xMTEuOTM0LDExMi0xMTJjNjEuODU2LDAsMTEyLDUwLjE0NCwxMTIsMTEyCgkJCVMzMDEuODU2LDQwMCwyNDAsNDAweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNDAsMTkyYy01My4wMTksMC05Niw0Mi45ODEtOTYsOTZjMC4wNTcsNTIuOTk2LDQzLjAwNCw5NS45NDMsOTYsOTZjNTMuMDE5LDAsOTYtNDIuOTgxLDk2LTk2UzI5My4wMTksMTkyLDI0MCwxOTJ6CgkJCSBNMjQwLDM2OGMtNDQuMTgzLDAtODAtMzUuODE3LTgwLTgwYzAuMDQ5LTQ0LjE2MywzNS44MzctNzkuOTUyLDgwLTgwYzQ0LjE4MywwLDgwLDM1LjgxNyw4MCw4MEMzMjAsMzMyLjE4MywyODQuMTgzLDM2OCwyNDAsMzY4CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjQwLDMyYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2CgkJCUMyOTYsNTcuMDcyLDI3MC45MjgsMzIsMjQwLDMyeiBNMjQwLDEyOGMtMjIuMDkxLDAtNDAtMTcuOTA5LTQwLTQwYzAuMDI2LTIyLjA4LDE3LjkyLTM5Ljk3NCw0MC00MGMyMi4wOTEsMCw0MCwxNy45MDksNDAsNDAKCQkJUzI2Mi4wOTEsMTI4LDI0MCwxMjh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCw2NGMtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0czEwLjc0NSwyNCwyNCwyNHMyNC0xMC43NDUsMjQtMjRTMjUzLjI1NSw2NCwyNDAsNjR6IE0yNDAsOTZjLTQuNDE4LDAtOC0zLjU4Mi04LTgKCQkJczMuNTgyLTgsOC04czgsMy41ODIsOCw4UzI0NC40MTgsOTYsMjQwLDk2eiIvPgogICAgICAgIDxyZWN0IHg9IjExMiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPgogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPgogICAgICAgIDxyZWN0IHg9IjExMiIgeT0iNDAwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz4KICAgICAgICA8cmVjdCB4PSIzNTIiIHk9IjQwMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCwyNDhjLTIyLjA5MSwwLTQwLDE3LjkwOS00MCw0MGMwLjAyNiwyMi4wOCwxNy45MiwzOS45NzQsNDAsNDBjMjIuMDkxLDAsNDAtMTcuOTA5LDQwLTQwCgkJCUMyODAsMjY1LjkwOSwyNjIuMDkxLDI0OCwyNDAsMjQ4eiBNMjQwLDMxMmMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNHMyNCwxMC43NDUsMjQsMjRTMjUzLjI1NSwzMTIsMjQwLDMxMnoiLz4KICAgICAgICA8cGF0aCBkPSJNNDgsMjgwSDE2Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThTNTIuNDE4LDI4MCw0OCwyODB6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUzLjY1NiwyMjYuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNjktOC4yNDMtMi45ODEtMTEuMzEyLDAuMTk3Yy0yLjk5NCwzLjEtMi45OTQsOC4wMTUsMCwxMS4xMTVsMjQsMjQKCQkJYzMuMTc4LDMuMDY5LDguMjQzLDIuOTgxLDExLjMxMi0wLjE5N0M1Ni42NSwyMzQuMzU5LDU2LjY1LDIyOS40NDQsNTMuNjU2LDIyNi4zNDR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUzLjQ2LDMzOC4zNDRjLTMuMS0yLjk5NS04LjAxNi0yLjk5NS0xMS4xMTYsMGwtMjQsMjRjLTMuMTc4LDMuMDctMy4yNjYsOC4xMzQtMC4xOTYsMTEuMzEyczguMTM0LDMuMjY2LDExLjMxMiwwLjE5NgoJCQljMC4wNjctMC4wNjQsMC4xMzItMC4xMywwLjE5Ni0wLjE5NmwyNC0yNEM1Ni43MjYsMzQ2LjQ3OCw1Ni42MzgsMzQxLjQxNCw1My40NiwzMzguMzQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjQsMjgwaC0zMmMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGgzMmM0LjQxOCwwLDgtMy41ODIsOC04UzQ2OC40MTgsMjgwLDQ2NCwyODB6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ2MS40NiwyMDIuMzQ0Yy0zLjEtMi45OTQtOC4wMTUtMi45OTQtMTEuMTE2LDBsLTI0LDI0Yy0zLjEyNCwzLjEyNS0zLjEyMyw4LjE5LDAuMDAyLDExLjMxNAoJCQljMS41LDEuNDk5LDMuNTM0LDIuMzQyLDUuNjU0LDIuMzQyYzIuMTIyLDAsNC4xNTYtMC44NDQsNS42NTYtMi4zNDRsMjQtMjRDNDY0LjcyNiwyMTAuNDc4LDQ2NC42MzgsMjA1LjQxNCw0NjEuNDYsMjAyLjM0NHoiLz4KICAgICAgICA8cGF0aCBkPSJNNDYxLjY1NiwzNjIuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNy04LjI0Mi0yLjk4Mi0xMS4zMTIsMC4xOTZjLTIuOTk1LDMuMS0yLjk5NSw4LjAxNiwwLDExLjExNmwyNCwyNAoJCQljMy4xNzgsMy4wNyw4LjI0MiwyLjk4MiwxMS4zMTItMC4xOTZDNDY0LjY1MSwzNzAuMzYsNDY0LjY1MSwzNjUuNDQ0LDQ2MS42NTYsMzYyLjM0NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Dae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTEyIDU2LjE2NDA2MmMwLTEyLjc5Njg3NC0xMC40MDYyNS0yMy4yMDMxMjQtMjMuMjAzMTI1LTIzLjIwMzEyNGgtNDkuOTY4NzV2LTE1LjA0Njg3NmMwLTkuODc4OTA2LTguMDM1MTU2LTE3LjkxNDA2Mi0xNy45MTQwNjMtMTcuOTE0MDYyaC0xMDMuMDg5ODQzYy05Ljg3ODkwNyAwLTE3LjkxNDA2MyA4LjAzOTA2Mi0xNy45MTQwNjMgMTcuOTE0MDYydjE1LjA0Njg3NmgtODcuODE2NDA2di0xNS4wNDY4NzZjMC05Ljg3ODkwNi04LjAzOTA2Mi0xNy45MTQwNjItMTcuOTE3OTY5LTE3LjkxNDA2MmgtMTAzLjA4OTg0M2MtOS44Nzg5MDcgMC0xNy45MTQwNjMgOC4wMzkwNjItMTcuOTE0MDYzIDE3LjkxNDA2MnYxNS4wNDY4NzZoLTQ5Ljk2ODc1Yy0xMi43OTY4NzUgMC0yMy4yMDMxMjUgMTAuNDA2MjUtMjMuMjAzMTI1IDIzLjIwMzEyNHY0OS41YzAgNi4wNTA3ODIgMi4zMjgxMjUgMTEuNTYyNSA2LjEzNjcxOSAxNS42OTkyMTktMy44MDg1OTQgNC4xMzI4MTMtNi4xMzY3MTkgOS42NDg0MzgtNi4xMzY3MTkgMTUuNjk5MjE5djMwNS44MDg1OTRjMCAxMi43OTI5NjggMTAuNDA2MjUgMjMuMjAzMTI1IDIzLjIwMzEyNSAyMy4yMDMxMjVoMi4zNzg5MDZ2MjIuNDUzMTI1YzAgMTIuNzgxMjUgMTAuMzk4NDM4IDIzLjE3NTc4MSAyMy4xNzk2ODggMjMuMTc1NzgxaDIzMi42MTcxODdjNC4xNDQ1MzIgMCA3LjUwMzkwNi0zLjM1OTM3NSA3LjUwMzkwNi03LjUgMC00LjE0NDUzMS0zLjM1OTM3NC03LjUwMzkwNi03LjUwMzkwNi03LjUwMzkwNmgtMjMyLjYxNzE4N2MtNC41MDc4MTMgMC04LjE3MTg3NS0zLjY2Nzk2OS04LjE3MTg3NS04LjE3MTg3NXYtMjIuNDUzMTI1aDQzMC44MjAzMTJ2MjIuNDUzMTI1YzAgNC41MDc4MTItMy42NjQwNjIgOC4xNzE4NzUtOC4xNzE4NzUgOC4xNzE4NzVoLTE0Ny4xMjVjLTQuMTQ4NDM3IDAtNy41MDM5MDYgMy4zNTkzNzUtNy41MDM5MDYgNy41MDM5MDYgMCA0LjE0MDYyNSAzLjM1NTQ2OSA3LjUgNy41MDM5MDYgNy41aDE0Ny4xMjVjMTIuNzgxMjUgMCAyMy4xNzk2ODgtMTAuMzk0NTMxIDIzLjE3OTY4OC0yMy4xNzU3ODF2LTIyLjQ1MzEyNWgyLjM3ODkwNmMxMi43OTI5NjkgMCAyMy4yMDMxMjUtMTAuNDEwMTU3IDIzLjIwMzEyNS0yMy4yMDMxMjV2LTMwNS44MDg1OTRjMC02LjA1MDc4MS0yLjMzMjAzMS0xMS41NjY0MDYtNi4xMzY3MTktMTUuNjk5MjE5IDMuODA0Njg4LTQuMTM2NzE5IDYuMTM2NzE5LTkuNjQ4NDM3IDYuMTM2NzE5LTE1LjY5OTIxOXptLTE5Ny4wODU5MzgtMzguMjVjMC0xLjYwNTQ2OCAxLjMwNDY4OC0yLjkwNjI1IDIuOTEwMTU3LTIuOTA2MjVoMTAzLjA4OTg0M2MxLjYwNTQ2OSAwIDIuOTEwMTU3IDEuMzA0Njg4IDIuOTEwMTU3IDIuOTA2MjV2MTUuMDQ2ODc2aC0xMDguOTEwMTU3em0tMjI2LjczODI4MSAwYzAtMS42MDU0NjggMS4zMDQ2ODgtMi45MDYyNSAyLjkxMDE1Ny0yLjkwNjI1aDEwMy4wODk4NDNjMS42MDU0NjkgMCAyLjkxMDE1NyAxLjMwNDY4OCAyLjkxMDE1NyAyLjkwNjI1djE1LjA0Njg3NmgtMTA4LjkxMDE1N3ptNDA4LjgxNjQwNyA0MjQuOTU3MDMyYzAgNC41MTk1MzEtMy42NzU3ODIgOC4xOTkyMTgtOC4xOTUzMTMgOC4xOTkyMThoLTQ2NS41OTM3NWMtNC41MTk1MzEgMC04LjE5NTMxMy0zLjY3OTY4Ny04LjE5NTMxMy04LjE5OTIxOHYtMzA1LjgwODU5NGMwLTQuNTE5NTMxIDMuNjc1NzgyLTguMTk5MjE5IDguMTk1MzEzLTguMTk5MjE5aDQ2NS41OTM3NWM0LjUyMzQzNyAwIDguMTk1MzEzIDMuNjc5Njg4IDguMTk1MzEzIDguMTk5MjE5em0wLTMzNy4yMDcwMzJjMCA0LjUxOTUzMi0zLjY3NTc4MiA4LjE5NTMxMy04LjE5NTMxMyA4LjE5NTMxM2gtNDY1LjU5Mzc1Yy00LjUxOTUzMSAwLTguMTk1MzEzLTMuNjc1NzgxLTguMTk1MzEzLTguMTk1MzEzdi00OS41YzAtNC41MjM0MzcgMy42NzU3ODItOC4xOTkyMTggOC4xOTUzMTMtOC4xOTkyMThoNDY1LjU5Mzc1YzQuNTE5NTMxIDAgOC4xOTUzMTMgMy42NzU3ODEgOC4xOTUzMTMgOC4xOTkyMTh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDYuMDk3NjU2IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE4IDExLjU1NDY4Ny0yNS43NjE3MTggMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzYxNzE4IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU4NTk0LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg4IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOCAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3OS4xNjc5NjkgNTUuMTUyMzQ0Yy0xNC4yMDcwMzEgMC0yNS43NjE3MTkgMTEuNTU0Njg3LTI1Ljc2MTcxOSAyNS43NTc4MTIgMCAxNC4yMDcwMzIgMTEuNTU0Njg4IDI1Ljc2MTcxOSAyNS43NjE3MTkgMjUuNzYxNzE5IDE0LjIwMzEyNSAwIDI1Ljc1NzgxMi0xMS41NTQ2ODcgMjUuNzU3ODEyLTI1Ljc2MTcxOSAwLTE0LjIwMzEyNS0xMS41NTQ2ODctMjUuNzU3ODEyLTI1Ljc1NzgxMi0yNS43NTc4MTJ6bTAgMzYuNTE1NjI1Yy01LjkzMzU5NCAwLTEwLjc1NzgxMy00LjgyNDIxOS0xMC43NTc4MTMtMTAuNzUzOTA3IDAtNS45Mjk2ODcgNC44MjQyMTktMTAuNzU3ODEyIDEwLjc1NzgxMy0xMC43NTc4MTIgNS45Mjk2ODcgMCAxMC43NTM5MDYgNC44MjgxMjUgMTAuNzUzOTA2IDEwLjc1NzgxMiAwIDUuOTI5Njg4LTQuODI0MjE5IDEwLjc1MzkwNy0xMC43NTM5MDYgMTAuNzUzOTA3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzMyLjgzMjAzMSA1NS4xNTIzNDRjLTE0LjIwMzEyNSAwLTI1Ljc1NzgxMiAxMS41NTQ2ODctMjUuNzU3ODEyIDI1Ljc1NzgxMiAwIDE0LjIwNzAzMiAxMS41NTQ2ODcgMjUuNzYxNzE5IDI1Ljc1NzgxMiAyNS43NjE3MTkgMTQuMjA3MDMxIDAgMjUuNzYxNzE5LTExLjU1NDY4NyAyNS43NjE3MTktMjUuNzYxNzE5IDAtMTQuMjAzMTI1LTExLjU1NDY4OC0yNS43NTc4MTItMjUuNzYxNzE5LTI1Ljc1NzgxMnptMCAzNi41MTU2MjVjLTUuOTI5Njg3IDAtMTAuNzUzOTA2LTQuODI0MjE5LTEwLjc1MzkwNi0xMC43NTM5MDcgMC01LjkyOTY4NyA0LjgyNDIxOS0xMC43NTc4MTIgMTAuNzUzOTA2LTEwLjc1NzgxMiA1LjkzMzU5NCAwIDEwLjc1NzgxMyA0LjgyODEyNSAxMC43NTc4MTMgMTAuNzU3ODEyIDAgNS45Mjk2ODgtNC44MjQyMTkgMTAuNzUzOTA3LTEwLjc1NzgxMyAxMC43NTM5MDd6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDUuOTAyMzQ0IDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1ODU5NCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTgtMTEuNTU0Njg3IDI1Ljc2MTcxOC0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NjE3MTgtMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODggMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE4LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzNC43NDIxODggMTcxLjkzNzVoLTIxOC4xNDg0MzhjLTQuMTQ0NTMxIDAtNy41MDM5MDYgMy4zNTkzNzUtNy41MDM5MDYgNy41IDAgNC4xNDQ1MzEgMy4zNTkzNzUgNy41MDM5MDYgNy41MDM5MDYgNy41MDM5MDZoMjE4LjE0ODQzOGMxLjQzNzUgMCAyLjYwNTQ2OCAxLjE3MTg3NSAyLjYwNTQ2OCAyLjYwOTM3NXYxOS44NTE1NjNjMCAxLjQzNzUtMS4xNjc5NjggMi42MDkzNzUtMi42MDU0NjggMi42MDkzNzVoLTM1Ny40ODQzNzZjLTEuNDM3NSAwLTIuNjA1NDY4LTEuMTcxODc1LTIuNjA1NDY4LTIuNjA5Mzc1di0xOS44NTE1NjNjMC0xLjQzNzUgMS4xNjc5NjgtMi42MDkzNzUgMi42MDU0NjgtMi42MDkzNzVoMTA0LjI2OTUzMmM0LjE0NDUzMSAwIDcuNTAzOTA2LTMuMzU5Mzc1IDcuNTAzOTA2LTcuNTAzOTA2IDAtNC4xNDA2MjUtMy4zNTkzNzUtNy41LTcuNTAzOTA2LTcuNWgtMTA0LjI2OTUzMmMtOS43MTA5MzcgMC0xNy42MDkzNzQgNy44OTg0MzgtMTcuNjA5Mzc0IDE3LjYxMzI4MXYxOS44NTE1NjNjMCA5LjcxMDkzNyA3Ljg5ODQzNyAxNy42MTMyODEgMTcuNjA5Mzc0IDE3LjYxMzI4MWgxMC4wMzUxNTd2MTY2LjQ2NDg0NGMwIDE0LjI3NzM0MyAxMS42MTcxODcgMjUuODk0NTMxIDI1Ljg5NDUzMSAyNS44OTQ1MzFoMjg1LjYyNWMxNC4yNzczNDQgMCAyNS44OTQ1MzEtMTEuNjE3MTg4IDI1Ljg5NDUzMS0yNS44OTQ1MzF2LTE2Ni40NjQ4NDRoMTAuMDM1MTU3YzkuNzEwOTM3IDAgMTcuNjEzMjgxLTcuODk4NDM3IDE3LjYxMzI4MS0xNy42MTMyODF2LTE5Ljg1MTU2M2MwLTkuNzEwOTM3LTcuOTAyMzQ0LTE3LjYxMzI4MS0xNy42MTMyODEtMTcuNjEzMjgxem0tMjUuMDQyOTY5IDIyMS41NDI5NjljMCA2LjAwMzkwNi00Ljg4MjgxMyAxMC44ODY3MTktMTAuODg2NzE5IDEwLjg4NjcxOWgtMjg1LjYyNWMtNi4wMDM5MDYgMC0xMC44OTA2MjUtNC44ODI4MTMtMTAuODkwNjI1LTEwLjg4NjcxOXYtMTY2LjQ2NDg0NGgzMDcuNDAyMzQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyLjU0Mjk2OSAyOTQuODU5Mzc1YzIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNiA1LjUyMzQzNy0yLjQyMTg3NWwyMy4wMTE3MTktMjUuMDE1NjI1YzIuODA4NTk0LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDYtMTAuNjAxNTYzLTMuMDUwNzgxLTIuODA0Njg3LTcuNzkyOTY5LTIuNjA5Mzc0LTEwLjYwMTU2My40NDE0MDdsLTIzLjAxMTcxOCAyNS4wMTU2MjVjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA5Mzc2IDcuNzkyOTY4LjQ0MTQwNiAxMC42MDE1NjIgMS40NDE0MDYgMS4zMjQyMTkgMy4yNjE3MTggMS45ODA0NjkgNS4wNzgxMjUgMS45ODA0Njl6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNTQuMTg3NSAzMjQuMTM2NzE5YzEuNDQxNDA2IDEuMzI4MTI1IDMuMjYxNzE5IDEuOTgwNDY5IDUuMDc4MTI1IDEuOTgwNDY5IDIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNyA1LjUyMzQzNy0yLjQyMTg3Nmw0Ny4zMTY0MDctNTEuNDI5Njg3YzIuODA0Njg3LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDctMTAuNjA1NDY5LTMuMDUwNzgxLTIuODA0Njg3LTcuNzk2ODc0LTIuNjA1NDY4LTEwLjYwMTU2Mi40NDE0MDZsLTQ3LjMxNjQwNiA1MS40MzM1OTRjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA1NDY5IDcuNzk2ODc1LjQ0MTQwNiAxMC42MDE1NjN6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",dae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMjIuMjUgMTcuMjY2aC0xMTYuNWE1Ljc1NiA1Ljc1NiAwIDAgMCAtNS43NSA1Ljc1djY3Ljk5NGE1Ljc1NyA1Ljc1NyAwIDAgMCA1Ljc1IDUuNzVoOS44ODNsLTMuMDY4IDQuNDRhNi4wNzkgNi4wNzkgMCAwIDAgMTAgNi45MTJsNy44NDctMTEuMzUyaDY3LjE3Nmw3Ljg0NCAxMS4zNTFhNi4wNzkgNi4wNzkgMCAwIDAgMTAtNi45MTJsLTMuMDY4LTQuNDM5aDkuODgzYTUuNzU3IDUuNzU3IDAgMCAwIDUuNzUzLTUuNzV2LTY3Ljk5NGE1Ljc1NiA1Ljc1NiAwIDAgMCAtNS43NS01Ljc1em0tMTAyLjU2MSA4OC44NTZhMi41ODIgMi41ODIgMCAwIDEgLTIuMTIyIDEuMTEyIDIuNTggMi41OCAwIDAgMSAtMi4xMjMtNC4wNDZsNC40NDMtNi40MjhoNi4yNzF6bTkyLjg2Ny0yLjkzNGEyLjU4IDIuNTggMCAwIDEgLTIuMTIzIDQuMDQ2IDIuNTg1IDIuNTg1IDAgMCAxIC0yLjEyMy0xLjExMmwtNi40NjgtOS4zNjJoNi4yNzF6bTExLjk0NC0xMi4xNzhhMi4yNTMgMi4yNTMgMCAwIDEgLTIuMjUgMi4yNWgtMTE2LjVhMi4yNTMgMi4yNTMgMCAwIDEgLTIuMjUtMi4yNXYtNjcuOTk0YTIuMjUzIDIuMjUzIDAgMCAxIDIuMjUtMi4yNWgxMTYuNWEyLjI1MyAyLjI1MyAwIDAgMSAyLjI1IDIuMjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExOC4yNSAyNS4yNjZoLTEwOC41YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1IDEuNzV2NTkuOTk0YTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzVoMTA4LjVhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtNTkuOTk0YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1LTEuNzV6bS0xLjc1IDU5Ljk5NGgtMTA1di01Ni40OTRoMTA1eiIvPgogICAgICAgIDxwYXRoIGQ9Im00MS4zNzUgNDcuOTIyaDcuM3YxOS45MzJhMS43NSAxLjc1IDAgMCAwIDMuNSAwdi0xOS45MzJoNy4zYTEuNzUgMS43NSAwIDAgMCAwLTMuNWgtMTguMWExLjc1IDEuNzUgMCAwIDAgMCAzLjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTc1Ljk2MyA2OC41MjdhMS43NDkgMS43NDkgMCAwIDAgMy4yMyAwbDkuMDQ3LTIxLjY4MWExLjc1IDEuNzUgMCAxIDAgLTMuMjMtMS4zNDZsLTcuNDMyIDE3LjgwOS03LjQzMi0xNy44MDlhMS43NSAxLjc1IDAgMSAwIC0zLjIzIDEuMzQ4eiIvPgogICAgPC9nPgo8L3N2Zz4=",zae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTksMkg1QTMsMywwLDAsMCwyLDVWNTlhMywzLDAsMCwwLDMsM0g1OWEzLDMsMCwwLDAsMy0zVjVBMywzLDAsMCwwLDU5LDJabTEsNTdhMSwxLDAsMCwxLTEsMUg1YTEsMSwwLDAsMS0xLTFWNUExLDEsMCwwLDEsNSw0SDU5YTEsMSwwLDAsMSwxLDFaIi8+CiAgICAgICAgPHBhdGggZD0iTTMyLDZBMjYsMjYsMCwxLDAsNTgsMzIsMjYuMDI5LDI2LjAyOSwwLDAsMCwzMiw2Wm0wLDUwQTI0LDI0LDAsMSwxLDU2LDMyLDI0LjAyOCwyNC4wMjgsMCwwLDEsMzIsNTZaIi8+CiAgICAgICAgPHBhdGggZD0iTTMyLDEwQTIyLDIyLDAsMSwwLDU0LDMyLDIyLjAyNSwyMi4wMjUsMCwwLDAsMzIsMTBabTEwLjE3NSw0LjgxM2MyLjQ2OSw5LjU1LTMuNjEzLDEyLjktNi40MjgsMTMuOTExYTUsNSwwLDAsMC0xLjY1LTEuMjQ3LDExLjM3NCwxMS4zNzQsMCwwLDAsMy4zMTEtNi43OTRjLjI0OS0yLjg0NS0uNzktNS43MDYtMy4wNS04LjUzMUExOS44MjQsMTkuODI0LDAsMCwxLDQyLjE3NSwxNC44MTNaTTM1LDMyYTMsMywwLDEsMS0zLTNBMywzLDAsMCwxLDM1LDMyWk0zMS41ODYsMTIuMDIxYzIuNzY3LDIuODczLDQuMDY2LDUuNzIyLDMuODMxLDguNDdhMTAuMSwxMC4xLDAsMCwxLTMuNzg0LDYuNTMsMTkuNjUyLDE5LjY1MiwwLDAsMC05LjU4NS0xMi4zNDRBMTkuODM4LDE5LjgzOCwwLDAsMSwzMS41ODYsMTIuMDIxWk0yMC4xMiwxNS45NDhhMTcuNjU3LDE3LjY1NywwLDAsMSw5LjU5MiwxMS42MzMsNC45NTEsNC45NTEsMCwwLDAtLjk1Ny42NDcsMTguODg2LDE4Ljg4NiwwLDAsMC0xNC4zMzgtNS43NTJBMjAuMTI2LDIwLjEyNiwwLDAsMSwyMC4xMiwxNS45NDhaTTEyLDMyYTE5Ljg3LDE5Ljg3LDAsMCwxLDEuNDQyLTcuNDE2QTE2LjM4NSwxNi4zODUsMCwwLDEsMjUuODE2LDI4LjI2YTEzLjc5LDEzLjc5LDAsMCwwLTguMDY0LDEuMjkxQTEyLjY0NCwxMi42NDQsMCwwLDAsMTIuMzExLDM1LjQsMTkuOTEzLDE5LjkxMywwLDAsMSwxMiwzMlptMS4xNjQsNi42NmMxLjEzLTMuNTI5LDIuOTgyLTYsNS41Mi03LjM0YTEyLjY0MywxMi42NDMsMCwwLDEsOC41NjEtLjc4N0E0LjkxOSw0LjkxOSwwLDAsMCwyNywzMmMwLC4xMDkuMDI1LjIxMS4wMzIuMzE4LTIuMDA4LjkxNS03Ljk2MSw0LjQyLTguOSwxNC4wNjNBMjAuMDM0LDIwLjAzNCwwLDAsMSwxMy4xNjQsMzguNjZabTYuODc4LDkuMzMzYy4zNjQtOS4yNzksNS41NjMtMTIuNzQzLDcuNTMxLTEzLjcxOWE1LDUsMCwwLDAsMS4wNjUsMS40Yy0uOTU4LDIuNjA5LTIuODUzLDkuNzkxLDIuMTA4LDE2LjI2MUExOS44NTYsMTkuODU2LDAsMCwxLDIwLjA0Miw0Ny45OTNaTTMzLjM4MSw1MS45M2MtNS40LTUuNzMzLTMuOTItMTIuNDk1LTIuOTg4LTE1LjIxOUE0LjkyOSw0LjkyOSwwLDAsMCwzMiwzN2MuMDgxLDAsLjE1Ni0uMDIuMjM1LS4wMjQuNiwzLjA0OSwyLjgyOSw5LjIyMywxMS4xMTEsMTEuNDc1QTE5Ljg1NiwxOS44NTYsMCwwLDEsMzMuMzgxLDUxLjkzWm0xMS45NjYtNS4wNzhjLTguNDQxLTEuNjE3LTEwLjYyMy03LjI5Mi0xMS4xNzQtMTAuMzdhNS4wMDYsNS4wMDYsMCwwLDAsMS4wODQtLjcxOWMxLjg2OCwxLjksNi4yMTUsNS42MzMsMTEuNTIyLDUuNjMzYTExLjIwOCwxMS4yMDgsMCwwLDAsMy4wODUtLjQ1NUEyMC4wNjksMjAuMDY5LDAsMCwxLDQ1LjM0Nyw0Ni44NTJaTTUyLDMyYTE5LjksMTkuOSwwLDAsMS0xLjA3NCw2LjQxNGMtNi41MDcsMy4xMi0xMi40NjItMi4xODQtMTQuNDM4LTQuMjUxYTQuOTI3LDQuOTI3LDAsMCwwLC4zNjktMS4wMjUsMTYuNiwxNi42LDAsMCwwLDEuNzg5LjA5NCwxOC4zMjgsMTguMzI4LDAsMCwwLDEyLjkyNi01LjMzOUEyMCwyMCwwLDAsMSw1MiwzMlptLTE1LjA4OC0uODY4YTQuNzQ1LDQuNzQ1LDAsMCwwLS4xNzMtLjY1YzIuOTI2LTEuMTU1LDkuMjM0LTQuNzY2LDcuODE3LTE0LjAyOGEyMC4wNTcsMjAuMDU3LDAsMCwxLDYuMzk0LDkuMkExNi4zNDQsMTYuMzQ0LDAsMCwxLDM2LjkxMiwzMS4xMzJaIi8+CiAgICAgICAgPHBhdGggZD0iTTksMTJBMywzLDAsMSwwLDYsOSwzLDMsMCwwLDAsOSwxMlpNOSw4QTEsMSwwLDEsMSw4LDksMSwxLDAsMCwxLDksOFoiLz4KICAgICAgICA8cGF0aCBkPSJNNTUsNmEzLDMsMCwxLDAsMywzQTMsMywwLDAsMCw1NSw2Wm0wLDRhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsNTUsMTBaIi8+CiAgICAgICAgPHBhdGggZD0iTTEyLDU1YTMsMywwLDAsMC0zLTMsMi45NjYsMi45NjYsMCwwLDAtMSwuMTg0VjQ1SDZWNTVhMywzLDAsMCwwLDMsM2g2VjU2SDExLjgxNkEyLjk2NiwyLjk2NiwwLDAsMCwxMiw1NVpNOSw1NmExLDEsMCwxLDEsMS0xQTEsMSwwLDAsMSw5LDU2WiIvPgogICAgICAgIDxwYXRoIGQ9Ik01Niw1Mi4xODRBMi45NjYsMi45NjYsMCwwLDAsNTUsNTJhMywzLDAsMCwwLTMsMywyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDV2Mkg1NWEzLDMsMCwwLDAsMy0zVjQ5SDU2Wk01NSw1NmExLDEsMCwxLDEsMS0xQTEsMSwwLDAsMSw1NSw1NloiLz4KICAgICAgICA8cmVjdCB4PSIxNyIgeT0iNTYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Iae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQyOC42MDcgNDI4LjYwNyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00MjMuNzczLDM0My44NzFMNDIzLjc3MywzNDMuODcxYy02LjYxNy00LjU5OS0xMi40NC0xMC4yNDYtMTcuMjQxLTE2LjcxOGMtMTEuNDk0LTEzLjA2MS0yNi4xMjItMjkuMjU3LTUzLjI5LTI5LjI1NwoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUKCQkJCWMtMTAuOTcxLTEyLjUzOS0yNS42LTI5Ljc4LTUzLjI5LTI5Ljc4Yy0yNy42OSwwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhjLTEyLjAxNiwxNC4xMDYtMTkuODUzLDIyLjQ2NS0zNy42MTYsMjIuNDY1CgkJCQlzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1Yy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyCgkJCQljLTIuNTk3LDUuMTk0LTAuNDkyLDExLjUwOSw0LjcwMiwxNC4xMDZjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgKCQkJCXM0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1czI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1CgkJCQljMTAuOTcxLDEyLjUzOSwyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4YzI3LjY5LDAsNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUKCQkJCUM0MzAuMDgyLDM1My41OTQsNDI4LjY3OSwzNDcuMDQ1LDQyMy43NzMsMzQzLjg3MXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDIzLjc3MywyNjUuNTAzTDQyMy43NzMsMjY1LjUwM2MtNi42MTctNC41OTktMTIuNDQtMTAuMjQ2LTE3LjI0MS0xNi43MThjLTExLjQ5NC0xMy4wNjEtMjYuMTIyLTI5LjI1Ny01My4yOS0yOS4yNTcKCQkJCWMtMjcuMTY3LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1CgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQoJCQkJcy0yNi42NDUtOS45MjctMzcuNjE2LTIyLjQ2NWMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMgoJCQkJcy0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzEwLjk3MSwxMi41MzksMjUuNiwyOS43OCw1My4yOSwyOS43OGMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjUKCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NWM0LjkwNSwzLjE3NCwxMS40NTUsMS43NzEsMTQuNjI5LTMuMTM1CgkJCQlDNDMwLjA4MiwyNzUuMjI3LDQyOC42NzksMjY4LjY3Nyw0MjMuNzczLDI2NS41MDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQyMy43NzMsMTgxLjkxMUw0MjMuNzczLDE4MS45MTFjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3CgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhzLTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVzLTI1LjYtMjkuNzgtNTMuMjktMjkuNzgKCQkJCWMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUKCQkJCWMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMmMtMi41OTcsNS4xOTQtMC40OTIsMTEuNTA5LDQuNzAyLDE0LjEwNgoJCQkJYzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4czQxLjI3My0xNS42NzMsNTMuMjktMjkuNzgKCQkJCWMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NXMyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQljMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4czE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUKCQkJCUM0MzAuMDgyLDE5MS42MzUsNDI4LjY3OSwxODUuMDg1LDQyMy43NzMsMTgxLjkxMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNS44MTQsODIuMTI0YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzEwLjk3MSwxMi41MzksMjUuNiwyOS43OCw1My4yOSwyOS43OGMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjUKCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NmM0LjkwNSwzLjE3NCwxMS40NTUsMS43NywxNC42MjktMy4xMzUKCQkJCWMzLjE3NC00LjkwNSwxLjc3MS0xMS40NTUtMy4xMzUtMTQuNjI5aDBjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3CgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhjLTEyLjAxNiwxNC4xMDYtMTkuODUzLDIyLjQ2NS0zNy42MTYsMjIuNDY1cy0yNi42NDUtOS45MjctMzcuNjE2LTIyLjQ2NQoJCQkJYy0xMC45NzEtMTIuNTM5LTI1LjYtMjkuNzgtNTMuMjktMjkuNzhjLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjUKCQkJCVM1My44OCw5OS44ODcsNDIuOTA4LDg3LjM0OGMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMgoJCQkJUzAuNjIxLDc5LjUyNyw1LjgxNCw4Mi4xMjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",wae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwOCA1MDgiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cmVjdCB4PSIxMzkuMyIgd2lkdGg9IjE2LjQiIGhlaWdodD0iMzguMiIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTA0LjEsMjEuNCA4OC45LDI3LjcgOTgsNDkuOCAxMTMuMiw0My41IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNy41LDg5LjQgMjEuMywxMDQuNiA0My4zLDExMy43IDQ5LjUsOTguNSAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTkwLjksMjEuNCAxODEuOCw0My41IDE5Ni45LDQ5LjggMjA2LDI3LjcgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQzLjMsMTgyLjcgMjEuMywxOTEuOCAyNy41LDIwNyA0OS41LDE5Ny45IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNjcuNCw4OS40IDI0NS40LDk4LjUgMjUxLjcsMTEzLjcgMjczLjcsMTA0LjYgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjI0NiwzNy42IDIxOS4xLDY0LjYgMjMwLjcsNzYuMyAyNTcuNiw0OS4yIAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2NC4zLDIyMC4xIDM3LjQsMjQ3LjEgNDksMjU4LjggNzUuOSwyMzEuNyAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTQuMywxNDAgMCwxNDAgMCwxNTYuNCAxNC4zLDE1Ni40IDM4LjEsMTU2LjQgMzguMSwxNDAgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjU5LjEsNDcuNyA0OSwzNy42IDM3LjQsNDkuMiA2NC4zLDc2LjMgNzUuOSw2NC42IAkJIi8+CiAgICAgICAgPHBhdGggZD0iTTMxOS41LDE3Mi45djE2LjVjNDkuNywwLDkwLjEsNDAuNiw5MC4xLDkwLjZINDI2QzQyNi4xLDIyMC45LDM3OC4zLDE3Mi45LDMxOS41LDE3Mi45eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjYuMSwyOTUuNWMwLjYtNS42LDAuOS0xMC42LDAuOS0xNS42YzAtODEuNy02Ni4yLTE0OC4yLTE0Ny41LTE0OC4yYy0yOC40LDAtNTUuNSw4LjItNzguNywyM2MwLjItMi4yLDAuNS00LjMsMC41LTYuNQoJCQljMC01Mi00Mi4xLTk0LjMtOTMuOC05NC4zcy05My44LDQyLjMtOTMuOCw5NC4zYzAsMzAuNiwxNC45LDU5LjEsMzkuNSw3Ni43Yy0xNS40LDE3LjItMjUuNSwzOS4zLTI3LjMsNjMuNwoJCQljLTM3LDQtNjUuOCwzNS41LTY1LjgsNzMuN2MwLDQwLjksMzMuMSw3NC4xLDczLjcsNzQuMWgzNjAuNWM0MC43LDAsNzMuNy0zMy4yLDczLjctNzQuMUM1MDgsMzMzLjcsNDkxLjQsMzA3LjcsNDY2LjEsMjk1LjV6CgkJCSBNNzAsMTQ4LjJjMC00Mi45LDM0LjctNzcuOCw3Ny40LTc3LjhjNDIuNywwLDc3LjQsMzQuOSw3Ny40LDc3LjhjMCw2LjktMC45LDEzLjktMi43LDIwLjZjLTguMyw3LjQtMTUuNywxNS41LTIyLjEsMjQuNAoJCQljLTMzLjEtOS4xLTY4LjctMS4zLTk0LjksMjAuMUM4My4zLDE5OSw3MCwxNzQuNSw3MCwxNDguMnogTTQzNC4zLDQxOS45SDczLjdjLTMxLjYsMC01Ny40LTI1LjktNTcuNC01Ny42CgkJCWMwLTMxLjgsMjUuNy01Ny42LDU3LjQtNTcuNmg4LjJ2LTguMmMwLTQ5LjksNDAuNC05MC42LDkwLjEtOTAuNmMxNC40LDAsMzQuNyw2LjgsMzQuNyw2LjhzMzguNy02NC40LDExMi44LTY0LjQKCQkJYzcyLjMsMCwxMzEuMSw1OS4xLDEzMS4xLDEzMS43YzAsMTMuOS0yLjYsMjYuMS0yLjYsMjYuMWw2LjIsMi4zYzIyLjMsOC40LDM3LjMsMzAuMSwzNy4zLDUzLjkKCQkJQzQ5MS42LDM5NCw0NjUuOSw0MTkuOSw0MzQuMyw0MTkuOXoiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9Ijg4LjQsNDU1LjIgNDcuNSw0OTYuNCA1OS4xLDUwOCAxMDAsNDY2LjggCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE3OC42LDQ1NS4yIDEzNy42LDQ5Ni40IDE0OS4yLDUwOCAxOTAuMSw0NjYuOCAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjY4LjcsNDU1LjIgMjI3LjcsNDk2LjQgMjM5LjMsNTA4IDI4MC4zLDQ2Ni44IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIzNTguOCw0NTUuMiAzMTcuOSw0OTYuNCAzMjkuNCw1MDggMzcwLjQsNDY2LjggCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQ0OC45LDQ1NS4yIDQwOCw0OTYuNCA0MTkuNiw1MDggNDYwLjUsNDY2LjggCQkiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Cae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjEgNTVoLTV2LTQ0YTMuMDA5IDMuMDA5IDAgMCAwIDMtM3YtNWExIDEgMCAwIDAgLTEtMWgtNTJhMSAxIDAgMCAwIC0xIDF2NWEzLjAwOSAzLjAwOSAwIDAgMCAzIDN2NDRoLTVhMSAxIDAgMCAwIC0xIDF2NWExIDEgMCAwIDAgMSAxaDU4YTEgMSAwIDAgMCAxLTF2LTVhMSAxIDAgMCAwIC0xLTF6bS01NC00N3YtNGg1MHY0YTEgMSAwIDAgMSAtMSAxaC00OGExIDEgMCAwIDEgLTEtMXptNDcgM3Y0NGgtNDR2LTQ0em02IDQ5aC01NnYtM2g1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTIgMTJoLTQwYTEgMSAwIDAgMCAtMSAxdjQwYTEgMSAwIDAgMCAxIDFoNDBhMSAxIDAgMCAwIDEtMXYtNDBhMSAxIDAgMCAwIC0xLTF6bS0yMSA0MGgtMTh2LTE5aDE4em0wLTIxaC0xOHYtMTdoMTh6bTIwIDIxaC0xOHYtMTloMTh6bTAtMjFoLTE4di0xN2gxOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTUuMTcyIDE4aDUuNjU3djJoLTUuNjU3eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcwNyAtLjcwNyAuNzA3IC43MDcgLTguMTYzIDE4LjI5MykiLz4KICAgICAgICA8cGF0aCBkPSJtMTQuMTM2IDIwLjVoMTIuNzI4djJoLTEyLjcyOHoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC05LjE5OCAyMC43OTMpIi8+CiAgICA8L2c+Cjwvc3ZnPg==",hae={"Alarm Systems":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSItMzEgMCA1MTEgNTExLjk5OTk4IiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yMzUuMzI4MTI1IDExOS4xNjc5NjljMjAuODM5ODQ0IDguMDU4NTkzIDM1LjY0NDUzMSAyMS4xNDg0MzcgNDQuNjMyODEzIDQxLjUwMzkwNiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzEuNjg3NSAxMjguNTg1OTM4YzE4Ljk4MDQ2OSA3LjMzOTg0MyAzMS4zODI4MTIgMTguODMyMDMxIDM5LjAzNTE1NiAzNi4xNjQwNjIgMS42Njc5NjkgMy43NzM0MzggNS4zNjMyODIgNi4wMjM0MzggOS4yNDIxODggNi4wMjM0MzggMS4zNjMyODEgMCAyLjc0NjA5NC0uMjc3MzQ0IDQuMDcwMzEyLS44NjMyODIgNS4xMDU0NjktMi4yNTM5MDYgNy40MTQwNjMtOC4yMTQ4NDQgNS4xNjAxNTYtMTMuMzE2NDA2LTkuODIwMzEyLTIyLjI1LTI2LjI1LTM3LjU3NDIxOS01MC4yMjY1NjItNDYuODQzNzUtNS4xOTkyMTktMi4wMTE3MTktMTEuMDQ2ODc1LjU3NDIxOS0xMy4wNTg1OTQgNS43NzczNDQtMi4wMTE3MTggNS4yMDMxMjUuNTc4MTI1IDExLjA0Njg3NSA1Ljc3NzM0NCAxMy4wNTg1OTR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDcuMTA1NDY5IDIzNy44MTI1YzIwLjA4OTg0MyAwIDM2LjQzNzUtMTYuMzQzNzUgMzYuNDM3NS0zNi40MzM1OTQgMC0yMC4wOTM3NS0xNi4zNDc2NTctMzYuNDM3NS0zNi40Mzc1LTM2LjQzNzUtMjAuMDg5ODQ0IDAtMzYuNDM3NSAxNi4zNDM3NS0zNi40Mzc1IDM2LjQzNzUgMCAyMC4wODk4NDQgMTYuMzQ3NjU2IDM2LjQzMzU5NCAzNi40Mzc1IDM2LjQzMzU5NHptMC01Mi42NzU3ODFjOC45NTMxMjUgMCAxNi4yNDIxODcgNy4yODUxNTYgMTYuMjQyMTg3IDE2LjI0MjE4NyAwIDguOTUzMTI1LTcuMjg5MDYyIDE2LjIzODI4Mi0xNi4yNDIxODcgMTYuMjM4MjgyLTguOTU3MDMxIDAtMTYuMjQyMTg4LTcuMjg1MTU3LTE2LjI0MjE4OC0xNi4yMzgyODIgMC04Ljk1NzAzMSA3LjI4NTE1Ny0xNi4yNDIxODcgMTYuMjQyMTg4LTE2LjI0MjE4N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM5MC4xNzk2ODggMTQ3LjAxNTYyNWMzLjc2NTYyNCAwIDcuMzk4NDM3LS41NzQyMTkgMTAuODIwMzEyLTEuNjM2NzE5bDcuMzM5ODQ0IDkuODcxMDk0YzEzLjk0MTQwNiAxOC43NSAyMS42MjEwOTQgNDEuOTQ1MzEyIDIxLjYyMTA5NCA2NS4zMTI1djU5LjE1MjM0NGMwIDUuNTc4MTI1IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2IDUuNTc0MjE4IDAgMTAuMDk3NjU2LTQuNTE5NTMxIDEwLjA5NzY1Ni0xMC4wOTc2NTZ2LTU5LjE1MjM0NGMwLTI3LjY3NTc4MS05LjA5Mzc1LTU1LjE1MjM0NC0yNS42MDkzNzUtNzcuMzU5Mzc1bC02LjY3NTc4MS04Ljk4MDQ2OWM1LjQ0OTIxOC02LjM2NzE4NyA4Ljc0NjA5NC0xNC42MjUgOC43NDYwOTQtMjMuNjQwNjI1IDAtMjAuMDkzNzUtMTYuMzQzNzUtMzYuNDM3NS0zNi40Mzc1LTM2LjQzNzUtMjAuMDg5ODQ0IDAtMzYuNDMzNTk0IDE2LjM0Mzc1LTM2LjQzMzU5NCAzNi40Mzc1IDAgMjAuMDg5ODQ0IDE2LjM0Mzc1IDM2LjQzMzU5NCAzNi40MzM1OTQgMzYuNDMzNTk0em0wLTUyLjY3NTc4MWM4Ljk1NzAzMSAwIDE2LjI0MjE4NyA3LjI4NTE1NiAxNi4yNDIxODcgMTYuMjQyMTg3IDAgOC45NTMxMjUtNy4yODUxNTYgMTYuMjQyMTg4LTE2LjI0MjE4NyAxNi4yNDIxODgtOC45NTMxMjYgMC0xNi4yNDIxODgtNy4yODkwNjMtMTYuMjQyMTg4LTE2LjI0MjE4OCAwLTguOTU3MDMxIDcuMjg5MDYyLTE2LjI0MjE4NyAxNi4yNDIxODgtMTYuMjQyMTg3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjA1ODU5NCAzNDkuMDUwNzgxYy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU3djYzLjMyMDMxMmMwIDE0LjIzMDQ2OS0xMS41NzgxMjYgMjUuODA4NTk0LTI1LjgwODU5NCAyNS44MDg1OTRoLTQ0LjU5NzY1NnYtMzMuNDI5Njg4YzAtNS41NzgxMjUtNC41MTk1MzItMTAuMDk3NjU2LTEwLjA5Mzc1LTEwLjA5NzY1NmgtNDIuMjY1NjI2di0xMTIuNDUzMTI1YzIxLjg1NTQ2OS0yNC4wMzUxNTYgMzUuMTkxNDA3LTU1Ljk0OTIxOSAzNS4xOTE0MDctOTAuOTE3OTY5IDAtNzQuNTk3NjU2LTYwLjY4NzUtMTM1LjI4NTE1Ni0xMzUuMjgxMjUtMTM1LjI4NTE1NnMtMTM1LjI4MTI1IDYwLjY4NzUtMTM1LjI4MTI1IDEzNS4yODUxNTZjMCAzMy4xMDU0NjkgMTEuOTU3MDMxIDYzLjQ2NDg0NCAzMS43NzczNDMgODcuMDAzOTA2djIxMy41MTk1MzJjMCA1LjU3ODEyNSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU3IDEwLjA5NzY1NmgyMzUuNzYxNzE5YzUuNTc0MjE4IDAgMTAuMDkzNzUtNC41MTk1MzEgMTAuMDkzNzUtMTAuMDk3NjU2di0zMy40Mjk2ODhoNDQuNTk3NjU2YzI1LjM2NzE4NyAwIDQ2LjAwMzkwNi0yMC42MzY3MTggNDYuMDAzOTA2LTQ2LjAwMzkwNnYtNjMuMzIwMzEyYzAtNS41NzgxMjYtNC41MjM0MzgtMTAuMDk3NjU3LTEwLjA5NzY1Ni0xMC4wOTc2NTd6bS0yMzIuOTUzMTI1LTI2Mi43NjE3MTljNjMuNDU3MDMxIDAgMTE1LjA4NTkzNyA1MS42Mjg5MDcgMTE1LjA4NTkzNyAxMTUuMDg5ODQ0IDAgNjMuNDU3MDMyLTUxLjYyODkwNiAxMTUuMDg1OTM4LTExNS4wODU5MzcgMTE1LjA4NTkzOC02My40NjA5MzggMC0xMTUuMDg1OTM4LTUxLjYyODkwNi0xMTUuMDg1OTM4LTExNS4wODU5MzggMC02My40NjA5MzcgNTEuNjI1LTExNS4wODk4NDQgMTE1LjA4NTkzOC0xMTUuMDg5ODQ0em0tODMuMzA4NTk0IDIyMS42MDE1NjNjMjIuOTgwNDY5IDE4LjAxNTYyNSA1MS45MTAxNTYgMjguNzY5NTMxIDgzLjMwODU5NCAyOC43Njk1MzEgMjkuODYzMjgxIDAgNTcuNDkyMTg3LTkuNzM0Mzc1IDc5Ljg5NDUzMS0yNi4xODc1djE4MS4zMzIwMzJoLTE2My4yMDMxMjV6bTIxNS41NjY0MDYgMTgzLjkxNDA2M2gtMzIuMTY3OTY5di02Ni44NTkzNzZoMzIuMTY3OTY5em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ4LjE2MDE1NiAzNzcuNzg5MDYyaDE3LjkyNTc4MmM1LjU3NDIxOCAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MjM0MzgtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTE3LjkyNTc4MmMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTk4LjE0NDUzMSAzNzcuNzg5MDYyaDE3LjkyMTg3NWM1LjU3NDIxOSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MjM0MzctMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTE3LjkyMTg3NWMtNS41NzgxMjUgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTE5NTMxIDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY2LjA0Njg3NSAzNTcuNTkzNzVoLTE3LjkyMTg3NWMtNS41NzQyMTkgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDE3LjkyMTg3NWM1LjU3ODEyNSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDguMTYwMTU2IDQyMC42NzU3ODFoNjcuOTA2MjVjNS41NzQyMTkgMCAxMC4wOTc2NTYtNC41MTk1MzEgMTAuMDk3NjU2LTEwLjA5NzY1NnMtNC41MjM0MzctMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTY3LjkwNjI1Yy01LjU3NDIxOCAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2czQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4LjEyNSA0NDMuMTU2MjVoLTk5Ljk2NDg0NGMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDk5Ljk2NDg0NGM1LjU3NDIxOSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDYuMzU1NDY5IDQwLjEzNjcxOWMxLjg0Mzc1IDMuMzIwMzEyIDUuMjg1MTU2IDUuMTkxNDA2IDguODMyMDMxIDUuMTkxNDA2IDEuNjYwMTU2IDAgMy4zNDM3NS0uNDE0MDYzIDQuODk4NDM4LTEuMjc3MzQ0IDQuODc1LTIuNzEwOTM3IDYuNjI1LTguODU5Mzc1IDMuOTE0MDYyLTEzLjczNDM3NWwtMTMuOTg0Mzc1LTI1LjEyODkwNmMtMi43MTA5MzctNC44NzEwOTQtOC44NTkzNzUtNi42MjUtMTMuNzM0Mzc1LTMuOTEwMTU2LTQuODcxMDk0IDIuNzEwOTM3LTYuNjI1IDguODU5Mzc1LTMuOTE0MDYyIDEzLjczNDM3NXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTYzLjE0NDUzMSA4My4wMTU2MjUtMjYuMDU0Njg3LTE1LjAzOTA2M2MtNC44MzIwMzItMi43ODkwNjItMTEuMDAzOTA2LTEuMTMyODEyLTEzLjc5Mjk2OSAzLjY5NTMxM3MtMS4xMzI4MTMgMTEuMDAzOTA2IDMuNjk1MzEzIDEzLjc5Mjk2OWwyNi4wNTQ2ODcgMTUuMDQyOTY4YzEuNTg5ODQ0LjkxNzk2OSAzLjMyODEyNSAxLjM1MTU2MyA1LjAzOTA2MyAxLjM1MTU2MyAzLjQ4ODI4MSAwIDYuODgyODEyLTEuODA4NTk0IDguNzUzOTA2LTUuMDQ2ODc1IDIuNzg5MDYyLTQuODMyMDMxIDEuMTMyODEyLTExLjAwNzgxMi0zLjY5NTMxMy0xMy43OTY4NzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MS4xMTMyODEgMTQ2LjIxMDkzOC0zMC4wODU5MzctMS4yODEyNWMtNS41ODIwMzItLjI1LTEwLjI4MTI1IDQuMDg5ODQzLTEwLjUxOTUzMiA5LjY2MDE1Ni0uMjM0Mzc0IDUuNTcwMzEyIDQuMDg5ODQ0IDEwLjI4MTI1IDkuNjYwMTU3IDEwLjUxNTYyNWwzMC4wODU5MzcgMS4yODEyNWMuMTQ0NTMyLjAwNzgxMi4yOTI5NjkuMDA3ODEyLjQzNzUuMDA3ODEyIDUuMzc4OTA2IDAgOS44NTE1NjMtNC4yNDIxODcgMTAuMDc4MTI1LTkuNjY3OTY5LjIzODI4MS01LjU3MDMxMi00LjA4NTkzNy0xMC4yNzczNDMtOS42NTYyNS0xMC41MTU2MjR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yODMuNjQwNjI1IDE5OC42MjUuMTIxMDk0LjI5Njg3NWMxLjU4OTg0MyAzLjkyNTc4MSA1LjM2NzE4NyA2LjMwNDY4NyA5LjM1OTM3NSA2LjMwNDY4NyAxLjI2MTcxOCAwIDIuNTQ2ODc1LS4yMzgyODEgMy43ODkwNjItLjc0MjE4NyA1LjE2Nzk2OS0yLjA5Mzc1IDcuNjYwMTU2LTcuOTgwNDY5IDUuNTY2NDA2LTEzLjE0ODQzN2wtLjEyMTA5My0uMjk2ODc2Yy0yLjA5Mzc1LTUuMTY3OTY4LTcuOTgwNDY5LTcuNjU2MjUtMTMuMTQ4NDM4LTUuNTYyNXMtNy42NjAxNTYgNy45ODA0NjktNS41NjY0MDYgMTMuMTQ4NDM4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQ5LjM2NzE4OCAzMTUuNjY3OTY5Yy0yLjA3ODEyNi01LjE3MTg3NS03Ljk2NDg0NC03LjY3OTY4OC0xMy4xMzY3MTktNS42MDE1NjMtNS4xNzE4NzUgMi4wODIwMzItNy42Nzk2ODggNy45NjA5MzgtNS42MDE1NjMgMTMuMTM2NzE5bC4xMTcxODguMjkyOTY5YzEuNTg1OTM3IDMuOTQxNDA2IDUuMzcxMDk0IDYuMzM1OTM3IDkuMzc1IDYuMzM1OTM3IDEuMjUzOTA2IDAgMi41MjczNDQtLjIzNDM3NSAzLjc2MTcxOC0uNzM0Mzc1IDUuMTc1NzgyLTIuMDc4MTI1IDcuNjgzNTk0LTcuOTYwOTM3IDUuNjAxNTYzLTEzLjEzMjgxMnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Amplifier:Yne,Awnings:Qne,"Battery Status":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zOTQuMDYzIDM5MS45OTZjLTkuMTk4LTUuMjktMTguMzczLTEwLjYyMy0yNy41NTgtMTUuOTM3IDUuMDAyLTExLjc2OSAxMC4xOTQtMjMuOTAyIDE0LjkwMy0zNi4wNTMgMS44MDktNC42NjcgMS4xODktOS45MTEtMS42NTUtMTQuMDI4LTUuNzc2LTguMzYxLTE2Ljg2My04Ljg1NS0yNC4zNDQtMS43NC0xOS42NjEgMTguNy0zOS4wODUgMzctNTguNjUyIDU1LjUzNy0zLjc3NSAzLjU3Ny01LjYzOSA4LjQzNC01LjExIDEzLjMyNy41MjMgNC44NDYgMy4zMzkgOS4xNDQgNy43MjUgMTEuNzkyIDkuMzQ1IDUuNjQxIDE4Ljc2MSAxMC45NTUgMjguMDk4IDE2LjI5MS00LjY0NCAxMC45NTEtMTAuMzcyIDI0LjI0Ni0xNC45MiAzNi4wMDItMi44ODcgNy40NjIuNDIxIDE1Ljc0NCA3LjY5MyAxOS4yNjQgNS43MTQgMi43NjYgMTIuMjggMi4yMTEgMTguMjk5LTMuNDgzIDE5LjM0NC0xOC4zIDM5LjM0My0zNy4yMTQgNTguNjctNTUuNTQ3IDMuODE4LTMuNjIyIDUuNjc0LTguNTEyIDUuMDktMTMuNDE2LS41OTEtNC45NjItMy41OTQtOS4zMzgtOC4yMzktMTIuMDA5em0tNy4xNzQgMTQuNTRjLTE1LjYzNCAxNC44MzItNTguOTQ5IDU2Ljk3My02MC4xMDkgNTYuNDEyLS4xMTgtLjA1Ny0uMzA2LS4xNzgtLjI0LS4zNDkgNS4xNzktMTMuNTI2IDExLjYzNS0yOC4yNzIgMTYuOTE4LTQwLjczMiAxLjQ5My0zLjUyMi45MDctOC4yOC0zLjc2OC0xMC45Ny0xMC44NC02LjIzNy0yMS43OTEtMTIuMzU0LTMyLjU2NC0xOC44NDUtLjgwMi0uNDgzLS43NjctLjcxLS4wNTEtMS4zODggMjAuODc0LTE5Ljc3OSA1Ny45NTktNTUuMzExIDU5LjgwMy01Ni40NTkuMzk2LjA4NC41NDQuMjk5LjU0NS4zODQtNS4zMDcgMTMuNjg0LTExLjIxMyAyNy4zMDUtMTYuOSA0MC43MzktMS43OTQgNC4yMzctLjI5MyA4LjY0OSAzLjczOSAxMC45OCA0LjM5OSAyLjU0IDguNzk2IDUuMDg3IDEzLjE5MSA3LjYzNCA2LjM3NCAzLjY5MyAxMi43NDggNy4zODcgMTkuMTM0IDExLjA1OSAxLjEwNi42MzUgMS4xMzYuNzQ0LjMwMiAxLjUzNXptLTgxLjc4NC0yMDguNGgtMjAxLjQ2Yy0xMC4yNzMgMC0xOC42MzEgOC4zMy0xOC42MzEgMTguNTY5djQ0LjI3NmMwIDEwLjIzOSA4LjM1NyAxOC41NjkgMTguNjMxIDE4LjU2OWgyMDEuNDYxYzEwLjI3MyAwIDE4LjYzMS04LjMzIDE4LjYzMS0xOC41Njl2LTQ0LjI3NmMtLjAwMS0xMC4yMzktOC4zNTgtMTguNTY5LTE4LjYzMi0xOC41Njl6bTMuNjMxIDYyLjg0NWMwIDEuOTY4LTEuNjI5IDMuNTY5LTMuNjMxIDMuNTY5aC0yMDEuNDZjLTIuMDAyIDAtMy42MzEtMS42MDEtMy42MzEtMy41Njl2LTQ0LjI3NmMwLTEuOTY4IDEuNjI5LTMuNTY5IDMuNjMxLTMuNTY5aDIwMS40NjFjMi4wMDIgMCAzLjYzMSAxLjYwMSAzLjYzMSAzLjU2OXY0NC4yNzZ6bTE1LTE0My44OThjMC0xMC4yMzktOC4zNTctMTguNTY5LTE4LjYzMS0xOC41NjloLTIwMS40NmMtMTAuMjczIDAtMTguNjMxIDguMzMtMTguNjMxIDE4LjU2OXY0NC4yNzZjMCAxMC4yMzkgOC4zNTcgMTguNTY5IDE4LjYzMSAxOC41NjloMjAxLjQ2MWMxMC4yNzMgMCAxOC42MzEtOC4zMyAxOC42MzEtMTguNTY5di00NC4yNzZ6bS0xNSA0NC4yNzdjMCAxLjk2OC0xLjYyOSAzLjU2OS0zLjYzMSAzLjU2OWgtMjAxLjQ2Yy0yLjAwMiAwLTMuNjMxLTEuNjAxLTMuNjMxLTMuNTY5di00NC4yNzZjMC0xLjk2OCAxLjYyOS0zLjU2OSAzLjYzMS0zLjU2OWgyMDEuNDYxYzIuMDAyIDAgMy42MzEgMS42MDEgMy42MzEgMy41Njl2NDQuMjc2em0zOC4yNDcgMTIzLjg1N2MtMTguNjUzIDAtMzYuMjY2IDQuNTI5LTUxLjgwMyAxMi41NDJoLTE5MS41MzVjLTEwLjI3MiAwLTE4LjYzIDguMzMxLTE4LjYzIDE4LjU3djQ0LjI3YzAgMTAuMjM5IDguMzU3IDE4LjU3IDE4LjYzIDE4LjU3aDEzMS42MjFjLTEuMDk2IDYuMzE4LTEuNjczIDEyLjgxMi0xLjY3MyAxOS40MzggMCAyNC4yNDMgNy42NTEgNDYuNzI5IDIwLjY2IDY1LjE4MmgtMTUwLjYwOGMtMi4wMDIgMC0zLjYzLTEuNjAyLTMuNjMtMy41N3YtNDQuMjdjMC0xLjk2OSAxLjYyOC0zLjU3IDMuNjMtMy41N2gxMDcuNjQxYzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMDcuNjQxYy0xMC4yNzIgMC0xOC42MyA4LjMzMS0xOC42MyAxOC41N3Y0NC4yN2MwIDEwLjIzOSA4LjM1NyAxOC41NyAxOC42MyAxOC41N2gxNjMuMjM3YzcuMDcgNy4wNjMgMTUuMDY1IDEzLjE5OSAyMy43ODUgMTguMjFoLTE5OC4yNDJjLTE0LjIyNyAwLTI1LjgtMTEuNTc0LTI1LjgtMjUuOHYtMzY1LjA4OWMwLTE0LjIyNiAxMS41NzMtMjUuOCAyNS44LTI1LjhoMjIzLjljMTQuMjI3IDAgMjUuOCAxMS41NzQgMjUuOCAyNS44djE1Ni42NGMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0xNTYuNjRjMC0yMi40OTctMTguMzAzLTQwLjgtNDAuOC00MC44aC00MC4wNjd2LTM1LjYxMWMwLTE2LjM3Ni0xMy4zMjMtMjkuNjk5LTI5LjY5OS0yOS42OTloLTg0LjM2N2MtMTYuMzc2IDAtMjkuNjk5IDEzLjMyMy0yOS42OTkgMjkuNjk5djM1LjYxMWgtNDAuMDY4Yy0yMi40OTcgMC00MC44IDE4LjMwMy00MC44IDQwLjh2MzY1LjA5YzAgMjIuNDk3IDE4LjMwMyA0MC44IDQwLjggNDAuOGgyMjMuOWMzLjg5MiAwIDcuNzMxLS41NTMgMTEuNDQyLTEuNjM2IDYuMjQ4IDEuMDcxIDEyLjY2NyAxLjYzNiAxOS4yMTYgMS42MzYgNjIuNTI0IDAgMTEzLjM5Mi01MC44NjcgMTEzLjM5Mi0xMTMuMzkyIDAtNjIuNTI0LTUwLjg2Ny0xMTMuMzkxLTExMy4zOTItMTEzLjM5MXptLTE5OS40OTEtMjU1LjUxOGMwLTguMTA1IDYuNTk0LTE0LjY5OSAxNC42OTktMTQuNjk5aDg0LjM2N2M4LjEwNSAwIDE0LjY5OSA2LjU5NCAxNC42OTkgMTQuNjk5djM1LjYxMWgtMTEzLjc2NXptLTQzLjg0NyAzMzQuNDcxYy0yLjAwMiAwLTMuNjMtMS42MDItMy42My0zLjU3di00NC4yN2MwLTEuOTY5IDEuNjI4LTMuNTcgMy42My0zLjU3aDE2OS4zNDFjLTE1LjY2NiAxMy41MjEtMjcuNiAzMS4yNS0zNC4wNDEgNTEuNDF6bTI0My4zMzggMTMyLjgzYy01NC4yNTMgMC05OC4zOTItNDQuMTM4LTk4LjM5Mi05OC4zOTIgMC01NC4yNTMgNDQuMTM5LTk4LjM5MSA5OC4zOTItOTguMzkxczk4LjM5MiA0NC4xMzggOTguMzkyIDk4LjM5MWMwIDU0LjI1NC00NC4xMzkgOTguMzkyLTk4LjM5MiA5OC4zOTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Ceiling Spotlights":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDc0IDc0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDYuNDQgNGgtMi45N2ExIDEgMCAwIDEgMC0yaDIuOTdhMSAxIDAgMCAxIDAgMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNjguNjQgMTAuMzhoLTYzLjI4YTEgMSAwIDAgMSAtMS0xdi02LjM4YTEgMSAwIDAgMSAxLTFoMjEuMmExIDEgMCAwIDEgMCAyaC0yMC4ydjQuMzhoNjEuMjh2LTQuMzhoLTE0LjJhMSAxIDAgMCAxIDAtMmgxNS4yYTEgMSAwIDAgMSAxIDF2Ni4zOGExIDEgMCAwIDEgLTEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYuNDcgNGgtMi45MWExIDEgMCAwIDEgMC0yaDIuOTFhMSAxIDAgMCAxIDAgMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcgNTEuMjA3YTEgMSAwIDAgMSAtMS0xdi00MC44MjhhMSAxIDAgMSAxIDIgMHY0MC44MjhhMSAxIDAgMCAxIC0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ2Ljc3MSA2Ny4wN2gtMTkuNTQyYTEgMSAwIDAgMSAtLjk3Ny0xLjIxNWwzLjQ5LTE1Ljg1NWExIDEgMCAwIDEgLjk3Ny0uNzg1aDEyLjU2MmExIDEgMCAwIDEgLjk3Ny43ODVsMy40OSAxNS44NmExIDEgMCAwIDEgLS45NzcgMS4yMTV6bS0xOC4zLTJoMTcuMDU2bC0zLjA0OS0xMy44NmgtMTAuOTU2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyA3MmE1LjkzNiA1LjkzNiAwIDAgMSAtNS45My01LjkzIDEgMSAwIDAgMSAyIDAgMy45MyAzLjkzIDAgMCAwIDcuODYgMCAxIDEgMCAwIDEgMiAwIDUuOTM2IDUuOTM2IDAgMCAxIC01LjkzIDUuOTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTYwLjQxNiAzNS4xMTRhMSAxIDAgMCAxIC0xLTF2LTI0LjczNWExIDEgMCAwIDEgMiAwdjI0LjczNWExIDEgMCAwIDEgLTEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjkuNiA1MC4wMjZoLTE4LjM3YTEgMSAwIDAgMSAtLjk3Ni0xLjIxNWwzLjI4LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgwOWExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgybC0yLjgzOS0xMi45MDloLTEwLjJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTYwLjQxNiA1NC42NmE1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQtNS42MzQgMSAxIDAgMSAxIDIgMCAzLjYzNCAzLjYzNCAwIDEgMCA3LjI2OCAwIDEgMSAwIDEgMSAyIDAgNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0IDUuNjM0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMy41ODQgMzUuMTE0YTEgMSAwIDAgMSAtMS0xdi0yNC43MzVhMSAxIDAgMCAxIDIgMHYyNC43MzVhMSAxIDAgMCAxIC0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyLjc3IDUwLjAyNmgtMTguMzdhMSAxIDAgMCAxIC0uOTc2LTEuMjE1bDMuMjc2LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgxMmExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgxbC0yLjgzOS0xMi45MDloLTEwLjIwM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTMuNTg0IDU0LjY2YTUuNjQxIDUuNjQxIDAgMCAxIC01LjYzNC01LjYzNCAxIDEgMCAwIDEgMiAwIDMuNjM0IDMuNjM0IDAgMCAwIDcuMjY4IDAgMSAxIDAgMCAxIDIgMCA1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQgNS42MzR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Chandelier:Une,Climate:vne,"Coffee Makers":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NjYgMTExLjk5NmgtNDkuNzE5bC0xMDkuMjE1LTQ2LjM2MSA0Ljg4OS01NC43NDZjLjI1LTIuNzk2LS42ODctNS41NjgtMi41ODItNy42MzktMS44OTQtMi4wNy00LjU3Mi0zLjI1LTcuMzc4LTMuMjVoLTYwYy0yLjgwNyAwLTUuNDg0IDEuMTgtNy4zNzkgMy4yNS0xLjg5NSAyLjA3MS0yLjgzMSA0Ljg0My0yLjU4MiA3LjYzOWw0Ljg5OCA1NC44NTQtMTA0Ljc5NSA0Ni4yNTNoLTI2LjEzN2MtMzguNTk4IDAtNzAgMzEuNDAyLTcwIDcwdjY5Ljk5N2MwIDE2LjU0MiAxMy40NTggMzAgMzAgMzBzMzAtMTMuNDU4IDMwLTMwdi02OS45OTdjMC01LjQyIDQuNTgtMTAgMTAtMTBoMjYuOTE1bDIxLjQ4MyAxMjEuNzM4YzEuOTI3IDEwLjkyMyA5LjkwNCAxOC4yNjMgMTkuODQ4IDE4LjI2M3Y0MC4wMDNjLTkuNjUyIDAtMTcuMjE3IDYuODAyLTE5Ljc0NCAxNy43NTFsLTMwLjAwMSAxMzBjLS42ODUgMi45NjkuMDIxIDYuMDg5IDEuOTE4IDguNDc0czQuNzc4IDMuNzc0IDcuODI2IDMuNzc0aDI4MGMzLjA0NyAwIDUuOTI5LTEuMzkgNy44MjYtMy43NzQgMS44OTctMi4zODUgMi42MDQtNS41MDUgMS45MTgtOC40NzRsLTMwLjAwMS0xMzBjLTIuNTI1LTEwLjk0OS0xMC4wOTEtMTcuNzUxLTE5Ljc0My0xNy43NTF2LTQwLjAwMmM5Ljk0NCAwIDE3LjkyLTcuMzM5IDE5Ljg0Ny0xOC4yNjJsMTQuMzgxLTgxLjQ5MiA2NC4wNTYtNTUuMjM2YzIuMjAzLTEuODk5IDMuNDctNC42NjUgMy40Ny03LjU3M3YtMjcuNDM4Yy4wMDEtNS41MjQtNC40NzctMTAuMDAxLTkuOTk5LTEwLjAwMXptLTE3NC45MzgtOTEuOTk2LTMuNzUgNDEuOTk2aC0zMC42MzRsLTMuNzUxLTQxLjk5NnptLTQxLjQyMyA2MS45OTZoNDQuNzg1bDcwLjY3MiAzMGgtMTgzLjQyOHptLTE0My42MzkgNzAuMDAxYy0xNi41NDIgMC0zMCAxMy40NTgtMzAgMzB2NjkuOTk3YzAgNS41MTQtNC40ODYgMTAtMTAgMTBzLTEwLTQuNDg2LTEwLTEwdi02OS45OTdjMC0yNy41NyAyMi40My01MCA1MC01MGgxOS44NTZsMy41MyAyMHptNjguMDk0IDEzOC4yNjMtMjcuOTI5LTE1OC4yNjRoNjIuNzYybDIuNTI4IDM1LjgxN2MuMzcyIDUuMjcgNC43NjIgOS4yOTYgOS45NjUgOS4yOTYuMjM2IDAgLjQ3NS0uMDA4LjcxNC0uMDI1IDUuNTA5LS4zODkgOS42Ni01LjE3IDkuMjcxLTEwLjY3OWwtMi40MjktMzQuNDA5aDkwLjUzOWwtMTEuMjk1IDE2MC4wMDJoLTY3Ljk0OWwtMi41MjktMzUuODE3Yy0uMzg5LTUuNTA5LTUuMTY2LTkuNjYxLTEwLjY3OS05LjI3MS01LjUwOS4zODktOS42NiA1LjE3LTkuMjcxIDEwLjY3OWwyLjQyOSAzNC40MDloLTQ1LjUxOGMtLjE5OS0uMzIxLS40NjMtLjkxNC0uNjA5LTEuNzM4em0tLjEwMyA4My45ODhjLjI1OS0xLjEyNS42MS0xLjg1Ny44NTMtMi4yNDloNDUuMzZsLTExLjA3NyAxMjBoLTYyLjMxem0xMzQuMjEyLTIuMjQ4IDExLjA3NyAxMjBoLTkwLjA2OWwxMS4wNzctMTIwem02Ni4yOTcgMi4yNDggMjcuMTc1IDExNy43NTJoLTYyLjMxbC0xMS4wNzctMTIwaDQ1LjM2Yy4yNDMuMzkxLjU5MyAxLjEyMy44NTIgMi4yNDh6bS0yMC4yNTUtMjIuMjQ4aC0xNTkuOTk4di00MC4wMDJoMTU5Ljk5OHptMjAuMTUxLTYxLjc0Yy0uMTQ2LjgyNC0uNDA5IDEuNDE3LS42MDggMS43MzdoLTQ1LjUxOGwxMS4yOTUtMTYwLjAwMWg2Mi43NjJsLTEyLjkzNyA3My4zMDljMCAuMDAxIDAgLjAwMi0uMDAxLjAwM3ptODEuNjA0LTE0NS40MDctNDIuMDI5IDM2LjI0MiA4LjY2NS00OS4wOTloMzMuMzY0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMjQuNTk5IDIyMS45OTdjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBoLS4wMDdjLTUuNTIzIDAtOS45OTYgNC40NzctOS45OTYgMTBzNC40OCAxMCAxMC4wMDMgMTB6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Cold Water":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3NSA0NzUiID4KPGcgZmlsbD0iY3VycmVudENvbG9yIj4KCTxwYXRoIGQ9Ik00MzguNDEzLDM0My4xODhDNDI4LjA1OSwzMzUuMDg1LDQxNS4xNzQsMzI1LDM5MC44MzUsMzI1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3NywxOC4xODgKCQlDMzM0LjQ5NiwzNTAuMDQ1LDMyOC4xNjUsMzU1LDMxNC4xNywzNTVjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzQzI3NC43MjksMzM1LjA4NSwyNjEuODQ0LDMyNSwyMzcuNTA2LDMyNQoJCWMtMjQuMzM5LDAtMzcuMjI0LDEwLjA4NS00Ny41NzgsMTguMTg4QzE4MS4xNjYsMzUwLjA0NSwxNzQuODM0LDM1NSwxNjAuODQsMzU1Yy0xMy45OTYsMC0yMC4zMjctNC45NTUtMjkuMDktMTEuODEzCgkJQzEyMS4zOTUsMzM1LjA4NCwxMDguNTA5LDMyNSw4NC4xNywzMjVjLTI0LjMzOSwwLTM3LjIyNSwxMC4wODQtNDcuNTc5LDE4LjE4OEMyNy44MjgsMzUwLjA0NSwyMS40OTYsMzU1LDcuNSwzNTV2MzAKCQljMjQuMzM5LDAsMzcuMjI1LTEwLjA4NCw0Ny41NzktMTguMTg4QzYzLjg0MiwzNTkuOTU1LDcwLjE3NCwzNTUsODQuMTcsMzU1YzEzLjk5NiwwLDIwLjMyNyw0Ljk1NSwyOS4wOTEsMTEuODEzCgkJQzEyMy42MTUsMzc0LjkxNiwxMzYuNSwzODUsMTYwLjg0LDM4NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg0LDQ3LjU3OC0xOC4xODhDMjE3LjE4LDM1OS45NTUsMjIzLjUxMSwzNTUsMjM3LjUwNiwzNTUKCQljMTMuOTk0LDAsMjAuMzI1LDQuOTU1LDI5LjA4NywxMS44MTNDMjc2Ljk0NywzNzQuOTE1LDI4OS44MzMsMzg1LDMxNC4xNywzODVjMjQuMzM4LDAsMzcuMjI0LTEwLjA4NSw0Ny41NzctMTguMTg4CgkJQzM3MC41MSwzNTkuOTU1LDM3Ni44NDEsMzU1LDM5MC44MzUsMzU1YzEzLjk5NSwwLDIwLjMyNSw0Ljk1NSwyOS4wODgsMTEuODEzQzQzMC4yNzcsMzc0LjkxNSw0NDMuMTYyLDM4NSw0NjcuNSwzODV2LTMwCgkJQzQ1My41MDYsMzU1LDQ0Ny4xNzUsMzUwLjA0NSw0MzguNDEzLDM0My4xODh6Ii8+Cgk8cGF0aCBkPSJNMzkwLjgzNSw0MTVjLTI0LjMzOCwwLTM3LjIyNCwxMC4wODUtNDcuNTc3LDE4LjE4OEMzMzQuNDk2LDQ0MC4wNDUsMzI4LjE2NSw0NDUsMzE0LjE3LDQ0NQoJCWMtMTMuOTk0LDAtMjAuMzI1LTQuOTU1LTI5LjA4Ny0xMS44MTNDMjc0LjcyOSw0MjUuMDg1LDI2MS44NDQsNDE1LDIzNy41MDYsNDE1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3OCwxOC4xODgKCQlDMTgxLjE2Niw0NDAuMDQ1LDE3NC44MzQsNDQ1LDE2MC44NCw0NDVjLTEzLjk5NiwwLTIwLjMyNy00Ljk1NS0yOS4wOS0xMS44MTNDMTIxLjM5NSw0MjUuMDg0LDEwOC41MDksNDE1LDg0LjE3LDQxNQoJCWMtMjQuMzM5LDAtMzcuMjI1LDEwLjA4NC00Ny41NzksMTguMTg4QzI3LjgyOCw0NDAuMDQ1LDIxLjQ5Niw0NDUsNy41LDQ0NXYzMGMyNC4zMzksMCwzNy4yMjUtMTAuMDg0LDQ3LjU3OS0xOC4xODgKCQlDNjMuODQyLDQ0OS45NTUsNzAuMTc0LDQ0NSw4NC4xNyw0NDVjMTMuOTk2LDAsMjAuMzI3LDQuOTU1LDI5LjA5MSwxMS44MTNDMTIzLjYxNSw0NjQuOTE2LDEzNi41LDQ3NSwxNjAuODQsNDc1CgkJYzI0LjMzOCwwLDM3LjIyNC0xMC4wODQsNDcuNTc4LTE4LjE4OEMyMTcuMTgsNDQ5Ljk1NSwyMjMuNTExLDQ0NSwyMzcuNTA2LDQ0NWMxMy45OTQsMCwyMC4zMjUsNC45NTUsMjkuMDg3LDExLjgxMwoJCUMyNzYuOTQ3LDQ2NC45MTUsMjg5LjgzMyw0NzUsMzE0LjE3LDQ3NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg1LDQ3LjU3Ny0xOC4xODhDMzcwLjUxLDQ0OS45NTUsMzc2Ljg0MSw0NDUsMzkwLjgzNSw0NDUKCQljMTMuOTk1LDAsMjAuMzI1LDQuOTU1LDI5LjA4OCwxMS44MTNDNDMwLjI3Nyw0NjQuOTE1LDQ0My4xNjIsNDc1LDQ2Ny41LDQ3NXYtMzBjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzCgkJQzQyOC4wNTksNDI1LjA4NSw0MTUuMTc0LDQxNSwzOTAuODM1LDQxNXoiLz4KCTxwb2x5Z29uIHBvaW50cz0iMTg0LjM3OCwyNTguMzIzIDIyMi41LDIzNi4zMTMgMjIyLjUsMjgwLjMzMyAyNTIuNSwyODAuMzMzIDI1Mi41LDIzNi4zMTMgMjkwLjYyMiwyNTguMzIzIDMwNS42MjIsMjMyLjM0MwoJCTI2Ny41LDIxMC4zMzMgMzA1LjYyMiwxODguMzIzIDI5MC42MjIsMTYyLjM0MyAyNTIuNSwxODQuMzUzIDI1Mi41LDE0MC4zMzMgMjIyLjUsMTQwLjMzMyAyMjIuNSwxODQuMzUzIDE4NC4zNzgsMTYyLjM0MwoJCTE2OS4zNzgsMTg4LjMyMyAyMDcuNSwyMTAuMzMzIDE2OS4zNzgsMjMyLjM0MyAJCQkiLz4KCTxwb2x5Z29uIHBvaW50cz0iMjQuMDk1LDExNy45OSA2Mi4yMTYsOTUuOTggNjIuMjE2LDE0MCA5Mi4yMTYsMTQwIDkyLjIxNiw5NS45OCAxMzAuMzM4LDExNy45OSAxNDUuMzM4LDkyLjAxIDEwNy4yMTYsNzAKCQkxNDUuMzM4LDQ3Ljk5IDEzMC4zMzgsMjIuMDEgOTIuMjE2LDQ0LjAyIDkyLjIxNiwwIDYyLjIxNiwwIDYyLjIxNiw0NC4wMiAyNC4wOTUsMjIuMDEgOS4wOTUsNDcuOTkgNDcuMjE3LDcwIDkuMDk1LDkyLjAxCgkJIi8+Cgk8cG9seWdvbiBwb2ludHM9IjM0NC42NjIsMTE3Ljk5IDM4Mi43ODQsOTUuOTggMzgyLjc4NCwxNDAgNDEyLjc4NCwxNDAgNDEyLjc4NCw5NS45OCA0NTAuOTA1LDExNy45OSA0NjUuOTA1LDkyLjAxIDQyNy43ODMsNzAKCQk0NjUuOTA1LDQ3Ljk5IDQ1MC45MDUsMjIuMDEgNDEyLjc4NCw0NC4wMiA0MTIuNzg0LDAgMzgyLjc4NCwwIDM4Mi43ODQsNDQuMDIgMzQ0LjY2MiwyMi4wMSAzMjkuNjYyLDQ3Ljk5IDM2Ny43ODQsNzAKCQkzMjkuNjYyLDkyLjAxIAkJCSIvPgo8L2c+Cjwvc3ZnPgo=",Computer:bne,Consumption:$ne,Curtains:Pne,Dishwashers:Wne,Doors:Rne,Doorstep:Jne,Dryer:Bne,Fan:Fne,"Floor Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNzcuMDE4IDEwNC40LTU0Ljg2MS05My40MTZjLTMuOTgtNi43NzUtMTEuMzM0LTEwLjk4NC0xOS4xOTEtMTAuOTg0aC05MS42NTVjLTcuNjk3IDAtMTQuOTczIDQuMDc5LTE4Ljk4NyAxMC42NDRsLTU3LjEzNSA5My40MTRjLTkuMDU1IDE0LjgwMyAxLjYyNiAzMy44NyAxOC45ODcgMzMuODdoMjguMTgyYzIuMjIyIDMzLjQ1MiAyNi44MDggNjAuODg0IDU4LjkxNiA2Ny40MS0uMjc0IDEuODI2LS4xODQtMTMuNTEtLjE4NCAyMTcuMTk1aC0zNy40ODRjLTExLjg5OCAwLTIxLjU3OSA5LjY4LTIxLjU3OSAyMS41Nzl2NDYuMzFjMCAxMS44OTggOS42OCAyMS41NzkgMjEuNTc5IDIxLjU3OWgxMDQuNzljMTEuODk5IDAgMjEuNTc5LTkuNjggMjEuNTc5LTIxLjU3OXYtNDYuMzFjMC0xMS44OTgtOS42OC0yMS41NzktMjEuNTc5LTIxLjU3OWgtMzcuNDg0YzAtMjMwLjc2Ni4wOS0yMTUuMzctLjE4NC0yMTcuMTk1IDIyLjAyNS00LjQ3NiA0MC41MDUtMTguNzk1IDUwLjY2Ni0zOC4xNDF2MzcuNjMxYzAgOC4yMzUgNi42NzYgMTQuOTExIDE0LjkxMSAxNC45MTFzMTQuOTExLTYuNjc2IDE0LjkxMS0xNC45MTF2LTY2LjloNi42MWMxNy4xNjYgMCAyNy44OTMtMTguNzA4IDE5LjE5Mi0zMy41Mjh6bS03Ni44NjYgMzc3Ljc3OGgtODguMzAydi0yOS44MjJoODguMzAyem0tODQuNTk5LTQ1Mi4zNTZoODMuMDgzbDQ1Ljk3NCA3OC4yODRjLTcuMDYxIDAtMTY5LjkwMyAwLTE3Ni45MzggMHptNDAuNDQ3IDE0Ny4xNzJjLTIyLjU5NSAwLTQxLjI2Ny0xNy4xMTctNDMuNzI5LTM5LjA2Nmg4Ny40NThjLTIuNDYyIDIxLjk0OS0yMS4xMzQgMzkuMDY2LTQzLjcyOSAzOS4wNjZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Garage Doors":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDcyLDY0YzQuNDE4LDAsOC0zLjU4Miw4LThWOGMwLTQuNDE4LTMuNTgyLTgtOC04SDhDMy41ODIsMCwwLDMuNTgyLDAsOHY0OGMwLDQuNDE4LDMuNTgyLDgsOCw4aDE2djQwMEg4CgkJYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ2NGM0LjQxOCwwLDgtMy41ODIsOC04cy0zLjU4Mi04LTgtOGgtMTZWNjRINDcyeiBNNDA4LDQ2NEg3MnYtNDhoMzM2VjQ2NHogTTQwOCw0MDBINzJ2LTQ4CgkJaDMzNlY0MDB6IE00MDgsMzM2SDcydi00OGgzMzZWMzM2eiBNNDA4LDI3Mkg3MnYtNDhoMzM2VjI3MnogTTQwOCwyMDhINzJ2LTQ4aDMzNlYyMDh6IE00MDgsMTQ0SDcyVjk2aDMzNlYxNDR6IE00NDAsNDY0aC0xNlY4OAoJCWMwLTQuNDE4LTMuNTgyLTgtOC04SDY0Yy00LjQxOCwwLTgsMy41ODItOCw4djM3Nkg0MFY2NGg0MDBWNDY0eiBNMTYsNDhWMTZoNDQ4djMySDE2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTYsNDU2aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LDMuNTgyLTgsOFMyMTEuNTgyLDQ1NiwyMTYsNDU2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Gates:Gne,Hairdryer:Hne,Handle:Vne,"Hanging Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im05My41MjUgMzU5Ljc3MWgxMDcuODg1djQuMTI5YTUzLjA3MiA1My4wNzIgMCAxIDAgMTA2LjE0NCAwdi00LjEyNGgxMTAuOTIxYTYgNiAwIDAgMCA2LTZjMC04Mi4wMTUtNTguOTEzLTE1MC41MTgtMTM2LjY0LTE2NS40NDR2LTIwLjMxOWEzMS44ODMgMzEuODgzIDAgMCAwIC0yNS44MzUtMzEuMjZ2LTEyMC43NTNhNiA2IDAgMCAwIC0xMiAwdjEyMC43NTNhMzEuODgzIDMxLjg4MyAwIDAgMCAtMjUuODM1IDMxLjI2djIwLjMxNGMtNzcuNzI3IDE0LjkyNi0xMzYuNjQgODMuNDI5LTEzNi42NCAxNjUuNDQ0YTYgNiAwIDAgMCA2IDZ6bTIwMi4wMjkgNC4xMjlhNDEuMDcyIDQxLjA3MiAwIDEgMSAtODIuMTQ0IDB2LTQuMTI0aDgyLjE0NHptLTM5LjU1NC0yMTUuNzIyYTE5Ljg1MSAxOS44NTEgMCAwIDEgMTkuMTggMTQuODY4aC0zOC4zNmExOS44NTEgMTkuODUxIDAgMCAxIDE5LjE4LTE0Ljg2OHptLTE5LjgzNSAyNi44NjhoMzkuNjd2MTEuNDI0YTE2OC4yODggMTY4LjI4OCAwIDAgMCAtMzkuNjcgMHptMTkuODM1IDIyLjI1NGM4NC4yNzQgMCAxNTMuMiA2Ni45NiAxNTYuMzYxIDE1MC40NzRoLTMxMi43MjJjMy4xNjEtODMuNTE3IDcyLjA4Ny0xNTAuNDc0IDE1Ni4zNjEtMTUwLjQ3NHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjUwIDQ1NS41MDh2NDAuNDkyYTYgNiAwIDAgMCAxMiAwdi00MC40OTJhNiA2IDAgMCAwIC0xMiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDMuNDIyIDQzMS40ODhhNiA2IDAgMCAwIC0uMDc1IDguNDg1bDI4LjM0NCAyOC44NTFhNiA2IDAgMCAwIDguNTYxLTguNDFsLTI4LjM0NC0yOC44NTFhNiA2IDAgMCAwIC04LjQ4Ni0uMDc1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAuMDkyIDQzMS41NjMtMjguMzQ0IDI4Ljg1MWE2IDYgMCAwIDAgOC41NjEgOC40MWwyOC4zNDQtMjguODUxYTYgNiAwIDAgMCAtOC41NjEtOC40MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTg2Ljc1IDIzNi44MWExNjguNzMxIDE2OC43MzEgMCAwIDAgLTQ1LjkyNyA0OC4xNDMgNiA2IDAgMSAwIDEwLjE0MSA2LjQxNyAxNTYuNzgxIDE1Ni43ODEgMCAwIDEgNDIuNjc3LTQ0LjczNiA2IDYgMCAwIDAgLTYuODkxLTkuODI0eiIvPgogICAgPC9nPgo8L3N2Zz4=",Heater:Zne,Hoods:Xne,"Hot Water":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMCA1MTAiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTUgMjQxLjkwMmMtMTguMjIzIDAtMzMuMzU4LTUuOTM3LTQ1LjA5Mi0xNy42MnYtMTQ5LjM1NGMwLTQxLjMxNS0zMy42MTMtNzQuOTI4LTc0LjkyOS03NC45MjhzLTc0LjkyOCAzMy42MTMtNzQuOTI4IDc0LjkyOHYxNDkuMzk1Yy0yNC4yNTQgMjQuMTA3LTY5LjQ3NiAyNC40MTUtOTMuNjYzLTMuODAzLTUuOTgxLTYuOTc4LTE2Ljc5My02Ljk4Mi0yMi43NzcgMC0yNC41ODYgMjguNjg1LTcyLjUzOCAyOC43OTgtOTcuMjIzIDAtNi4zMjItNy4zNzgtMTcuODY3LTYuODY3LTIzLjUzNy45NjMtLjE0OC4yMDQtMTUuNjg4IDIwLjQxOC00Ny44NTIgMjAuNDE4LTguMjg0IDAtMTUgNi43MTYtMTUgMTVzNi43MTYgMTUgMTUgMTVjMjguNjMyIDAgNDguNDg5LTExLjI4IDYwLjAyNy0yMC42MjQgMzMuNDQ3IDI3LjYxNSA4Ni41MTIgMjcuNjI1IDExOS45NzMtLjAyMiAzMC4xOTEgMjQuOTQ0IDc0LjM2MiAyNi4xNzkgMTA1LjA1MiA5Ljk1N3Y0MC40NzFjLTI3Ljk4NCAyMy4xMzEtNDMuODExIDU3Ljg3OC00Mi42NTggOTQuNDUzIDEuOTc0IDYyLjcyOCA1My43NDMgMTEzLjg2NCAxMTcuNTg2IDExMy44NjQgNjQuODcxIDAgMTE3LjY0Ny01Mi43NzYgMTE3LjY0Ny0xMTcuNjQ2IDAtMzUuMDctMTUuODM3LTY4LjQwNi00Mi43MTktOTAuNjY2di00MC40OTdjMTMuMzI1IDcuMDUyIDI4LjUxNyAxMC43MSA0NS4wOTIgMTAuNzEgOC4yODQgMCAxNS02LjcxNiAxNS0xNXMtNi43MTUtMTQuOTk5LTE0Ljk5OS0xNC45OTl6bS0xMjAuMDItMjExLjkwMmMyNC43NzMgMCA0NC45MjggMjAuMTU1IDQ0LjkyOCA0NC45Mjh2MTQ5LjUzN2MtOC4zMTQgOC4yMTEtMTguMzI3IDEzLjU1MS0yOS45MjkgMTUuOTUzdi0xNDMuOTU3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVzLTE1IDYuNzE2LTE1IDE1djE0My45NDdjLTExLjYwMy0yLjQwOS0yMS42MTUtNy43NTktMjkuOTI4LTE1Ljk4M3YtMTQ5LjQ5N2MuMDAxLTI0Ljc3MyAyMC4xNTYtNDQuOTI4IDQ0LjkyOS00NC45Mjh6bS0uMDAxIDM0My41MDRjMTAuNTMyIDAgMTkuMTAxIDguNTY4IDE5LjEwMSAxOS4xcy04LjU2OCAxOS4xLTE5LjEwMSAxOS4xYy0xMC41MzEgMC0xOS4xLTguNTY4LTE5LjEtMTkuMXM4LjU2OS0xOS4xIDE5LjEtMTkuMXptODcuNjQ4IDE4Ljg1YzAgNDguMzI5LTM5LjMxOCA4Ny42NDYtODcuNjQ3IDg3LjY0Ni00Ni44MzEgMC04Ni4xMjktMzguMDQ0LTg3LjYwMi04NC44MDgtLjkyLTI5LjIxOCAxMi43MDQtNTYuODc1IDM2LjQ0My03My45ODEgMy45MTItMi44MTkgNi4yMy03LjM0NyA2LjIzLTEyLjE2OXYtNDcuNzc0YzkuMTQ4IDQuODIgMTkuMTc3IDguMDMzIDI5LjkyOCA5LjU2OHY3NS4wMmMtMTkuNzU4IDYuMzU1LTM0LjEgMjQuOTA1LTM0LjEgNDYuNzQ4IDAgMjcuMDc0IDIyLjAyNiA0OS4xIDQ5LjEgNDkuMXM0OS4xMDEtMjIuMDI2IDQ5LjEwMS00OS4xYzAtMjEuODQzLTE0LjM0Mi00MC4zOTMtMzQuMTAxLTQ2Ljc0OHYtNzUuMDE0YzEwLjc1LTEuNTMxIDIwLjc4LTQuNzM4IDI5LjkyOS05LjU1MnY0Ny43NTNjMCA0LjgyMiAyLjMxOCA5LjM1MSA2LjIzIDEyLjE2OSAyMi44NDggMTYuNDYzIDM2LjQ4OSA0My4wNTkgMzYuNDg5IDcxLjE0MnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc4LjE5IDMwOC4zMzJjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNzMuODU3IDM3OS4xMTdjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjQuODYzIDE1NC4xNDNjLTUuODU4IDUuODU4LTUuODU4IDE1LjM1NSAwIDIxLjIxMyA1Ljg1NyA1Ljg1NyAxNS4zNTUgNS44NTggMjEuMjEzIDAgMjEuMDQ2LTIxLjA0NiAyMS4wNDYtNTUuMjkxIDAtNzYuMzM4LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ny01Ljg1OC0xNS4zNTUtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzQ5IDkuMzQ5IDkuMzQ5IDI0LjU2MSAwIDMzLjkxMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTQyLjI1MSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcxIDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjE5LjYzOSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcgOS4zNzEgOS4zNzMgMjQuNTM5IDAgMzMuOTEyeiIvPgogICAgPC9nPgo8L3N2Zz4=",Humidity:Kne,Iron:qne,Irrigation:eae,"Led Strip":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMTYgMThhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2IDI2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNiA0MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgNTBhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2IDU4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNiAzNGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTIgNjJoOGExIDEgMCAwIDAgMS0xdi00OWg2djQxYTEgMSAwIDAgMCAuMjkzLjcwN2w4IDhhMSAxIDAgMCAwIC43MDcuMjkzaDhhMSAxIDAgMCAwIC43MDctLjI5M2w4LThhMSAxIDAgMCAwIC4yOTMtLjcwN3YtNTBhMSAxIDAgMCAwIC0xLTFoLThhMSAxIDAgMCAwIC0xIDF2NDloLTZ2LTQ5YTEgMSAwIDAgMCAtMS0xaC0xNmExIDEgMCAwIDAgLS43MDcuMjkzbC04IDhhMSAxIDAgMCAwIC0uMjkzLjcwN3Y1MGExIDEgMCAwIDAgMSAxem0zMy0xM3YtNDVoNnY0OC41ODZsLTYgNnptLTggNWg2djZoLTZ6bS04LTV2LTQ1aDZ2NTQuNTg2bC02LTZ6bS04LTQ1aDZ2NmgtNnptLTggNTF2LTQzLjU4Nmw2LTZ2NTQuNTg2aC02eiIvPgogICAgICAgIDxwYXRoIGQ9Im00OCA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggNDRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4IDI4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im00OCAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggMTJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4IDM2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMiA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgNDRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDI4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMiAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgMTJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDM2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMyA2aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzkgNTZoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00IDMxaDV2MmgtNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNiAyNWgydjVoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNiAtLjggLjggLjYgLTE5LjIgMTYuNikiLz4KICAgICAgICA8cGF0aCBkPSJtNC41IDM1LjVoNXYyaC01eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjggLS42IC42IC44IC0yMC41MDUgMTEuNTA1KSIvPgogICAgICAgIDxwYXRoIGQ9Im01NSAzMWg1djJoLTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU0LjUgMjYuNWg1djJoLTV6IiB0cmFuc2Zvcm09Im1hdHJpeCguOCAtLjYgLjYgLjggLTUuMDk4IDM5LjcxMikiLz4KICAgICAgICA8cGF0aCBkPSJtNTYgMzRoMnY1aC0yeiIgdHJhbnNmb3JtPSJtYXRyaXgoLjYgLS44IC44IC42IC02LjQgNjAuMikiLz4KICAgIDwvZz4KPC9zdmc+",Light:tae,Lightings:sae,Lock:iae,Louvre:oae,"Mowing Machine":"PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NyA1NGM1LjUxNCAwIDEwLTQuNDg2IDEwLTEwcy00LjQ4Ni0xMC0xMC0xMC0xMCA0LjQ4Ni0xMCAxMCA0LjQ4NiAxMCAxMCAxMHptLTcuOTMxLTExYy4xODMtMS40NTguNzU5LTIuNzkyIDEuNjE5LTMuODk4bDEuMzYyIDEuMzYzIDEuNDE0LTEuNDE0LTEuMzYyLTEuMzYyYzEuMTA2LS44NiAyLjQ0LTEuNDM2IDMuODk4LTEuNjE5djEuOTNoMnYtMS45MzFjMS40NTguMTgzIDIuNzkyLjc1OSAzLjg5OCAxLjYxOWwtMS4zNjIgMS4zNjIgMS40MTQgMS40MTQgMS4zNjItMS4zNjNjLjg2IDEuMTA2IDEuNDM2IDIuNDQgMS42MTkgMy44OThoLTEuOTMxdjJoMS45MzFjLS4xODMgMS40NTgtLjc1OSAyLjc5Mi0xLjYxOSAzLjg5OGwtMS4zNjItMS4zNjMtMS40MTQgMS40MTQgMS4zNjIgMS4zNjJjLTEuMTA2Ljg2LTIuNDQgMS40MzYtMy44OTggMS42MTl2LTEuOTI5aC0ydjEuOTMxYy0xLjQ1OC0uMTgzLTIuNzkyLS43NTktMy44OTgtMS42MTlsMS4zNjItMS4zNjItMS40MTQtMS40MTQtMS4zNjIgMS4zNjNjLS44Ni0xLjEwNi0xLjQzNi0yLjQ0LTEuNjE5LTMuODk4aDEuOTMxdi0yaC0xLjkzMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNTcgMjFoLTI0Ljk4Yy0xLjUxMSAwLTIuOTg0LjQyNi00LjI2MiAxLjIyOWwtMjIuMDIxIDEzLjg2NmMtMi4zNCAxLjQ3My0zLjczNyA0LjAwNS0zLjczNyA2Ljc2OXY2LjEzNmMwIC41NTMuNDQ4IDEgMSAxaDMzLjA4OGMuMzQxIDAgLjY1OC0uMTc0Ljg0Mi0uNDYuMTg0LS4yODcuMjA5LS42NDcuMDY3LS45NTctLjc1LTEuNjM1LTEuMDgtMy4zODctLjk3OS01LjIwOC4zMDktNS41OTEgNC45MzYtMTAuMTQ1IDEwLjUzNS0xMC4zNjYgMy4wMjgtLjExNiA1Ljg5Mi45NjcgOC4wNjkgMy4wNiAyLjE3OCAyLjA5MyAzLjM3OCA0LjkxIDMuMzc4IDcuOTMxIDAgLjU1My40NDggMSAxIDFoM2MuNTUyIDAgMS0uNDQ3IDEtMXYtMTdjMC0zLjMwOS0yLjY5MS02LTYtNnptLTI4LjE3NyAyLjkyM2MuOTU5LS42MDQgMi4wNjQtLjkyMyAzLjE5Ny0uOTIzaDEwLjM3bC04LjM5MSA1LjAzNXYtLjAzNWgtMTEuNjUxem0tMjIuMDIgMTMuODY0IDEyLjM2OC03Ljc4N2gxMS41NTJsLTE4LjIzMyAxMC45NGMtMS4xNTcuNjk0LTIuNDggMS4wNi0zLjgyNyAxLjA2aC00LjU5NmMuMjQ4LTEuNzI4IDEuMjI5LTMuMjYzIDIuNzM2LTQuMjEzem01NC4xOTcgNS4yMTNoLTEuMDM4Yy0uMjM5LTMuMTg4LTEuNjIzLTYuMTMyLTMuOTU1LTguMzc0LTIuNTczLTIuNDczLTUuOTYzLTMuNzUtOS41MzQtMy42MTUtNi4xOS4yNDUtMTEuMzc0IDQuOTctMTIuMzE3IDEwLjk4OWgtMTcuMTU2djJoMTcuMDEzYy4wMDIgMS4zNjEuMjAyIDIuNzE1LjYxNSA0aC0zMC42Mjh2LTRoNC42NjNjMS43MDkgMCAzLjM4OS0uNDY1IDQuODU2LTEuMzQ1bDMyLjc1OC0xOS42NTVoMTAuNzIzYzIuMjA2IDAgNCAxLjc5NCA0IDR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3IDQ4YzIuMjA2IDAgNC0xLjc5NCA0LTRzLTEuNzk0LTQtNC00LTQgMS43OTQtNCA0IDEuNzk0IDQgNCA0em0wLTZjMS4xMDMgMCAyIC44OTcgMiAycy0uODk3IDItMiAyLTItLjg5Ny0yLTIgLjg5Ny0yIDItMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNi42NTEgMTUuNjM1Yy0xLjc1NyAyLjEyNS0xLjQ1OCA1LjI4Mi42NjcgNy4wNGw0LjYyNCAzLjgyM2MuMTg3LjE1NC40MTIuMjI5LjYzNy4yMjkuMjg4IDAgLjU3My0uMTI0Ljc3MS0uMzYyIDEuNzU3LTIuMTI1IDEuNDU4LTUuMjgyLS42NjctNy4wNGwtNC42MjQtMy44MjNjLS40MjYtLjM1Mi0xLjA1Ni0uMjkyLTEuNDA4LjEzM3ptNS42NjIgOC41NzYtMy43MjEtMy4wNzdjLTEuMDA0LS44MzEtMS4zMjktMi4xODUtLjkwNS0zLjM0NWwzLjcyMSAzLjA3N2MxLjAwNS44MzEgMS4zMjkgMi4xODUuOTA1IDMuMzQ1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMS40NDUgOS4yMjktNC42MjQgMy44MjNjLTIuMTI1IDEuNzU4LTIuNDI0IDQuOTE2LS42NjcgNy4wNC4xOTguMjM5LjQ4My4zNjIuNzcxLjM2Mi4yMjUgMCAuNDUtLjA3NS42MzctLjIyOWw0LjYyNC0zLjgyM2MyLjEyNS0xLjc1NyAyLjQyNC00LjkxNS42NjctNy4wNC0uMzUyLS40MjQtLjk4My0uNDg0LTEuNDA4LS4xMzN6bS0uNTMzIDUuNjMyLTMuNzIyIDMuMDc4Yy0uMTUyLS40MTUtLjIxMS0uODYzLS4xNjgtMS4zMTYuMDc2LS43OTguNDU4LTEuNTE5IDEuMDc1LTIuMDI5bDMuNzIxLTMuMDc3Yy40MjMgMS4xNi4wOTkgMi41MTMtLjkwNiAzLjM0NHoiLz4KICAgIDwvZz4KPC9zdmc+",Music:rae,"Outdoor Blinds":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NTcgMGgtNDAyYy0zMC4zMjcgMC01NSAyNC42NzMtNTUgNTV2NDU3aDQzMnYtNDA4LjAzNWM3LjUwNyAzLjg0OCAxNiA2LjAzNSAyNSA2LjAzNSAzMC4zMjcgMCA1NS0yNC42NzMgNTUtNTVzLTI0LjY3My01NS01NS01NXptLTQwMiAzMGgzNTMuMDM1Yy0zLjg0OCA3LjUwNy02LjAzNSAxNi02LjAzNSAyNXY3aC0zNzJ2LTdjMC0xMy43ODUgMTEuMjE1LTI1IDI1LTI1em0tMjUgMjcydi0zMGgzNzJ2MzB6bTM3MiAzMHYzMGgtMzcydi0zMHptLTM3Mi05MHYtMzBoMzcydjMwem0wLTYwdi0zMGgzNzJ2MzB6bTAtNjB2LTMwaDM3MnYzMHptMCAzNjB2LTkwaDM3MnY5MHptNDI3LTQwMmMtMTMuNzg1IDAtMjUtMTEuMjE1LTI1LTI1czExLjIxNS0yNSAyNS0yNSAyNSAxMS4yMTUgMjUgMjUtMTEuMjE1IDI1LTI1IDI1eiIvPgogICAgICAgIDxwYXRoIGQ9Im02MCA0MjJoMzB2MzBoLTMweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNDIgNDIyaDMwdjMwaC0zMHoiLz4KICAgIDwvZz4KPC9zdmc+",People:Mae,Pool:nae,"Power Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMTIgM2MtLjI3NiAwLS41LS4yMjQtLjUtLjV2LTJjMC0uMjc2LjIyNC0uNS41LS41cy41LjIyNC41LjV2MmMwIC4yNzYtLjIyNC41LS41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4LjcxOCA1Ljc4MmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMy41IDEyLjVoLTJjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgyYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMjAuMTMyIDIwLjYzMmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDZsLTEuNDE0LTEuNDE0Yy0uMTk1LS4xOTUtLjE5NS0uNTEyIDAtLjcwN3MuNTEyLS4xOTUuNzA3IDBsMS40MTQgMS40MTRjLjE5NS4xOTUuMTk1LjUxMiAwIC43MDctLjA5Ny4wOTctLjIyNS4xNDYtLjM1My4xNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyIDI0Yy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMy44NjggMjAuNjMyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0Ni0uMTk1LS4xOTUtLjE5NS0uNTEyIDAtLjcwN2wxLjQxNC0xLjQxNGMuMTk1LS4xOTUuNTEyLS4xOTUuNzA3IDBzLjE5NS41MTIgMCAuNzA3bC0xLjQxNCAxLjQxNGMtLjA5Ny4wOTctLjIyNS4xNDYtLjM1My4xNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIuNSAxMi41aC0yYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXMuMjI0LS41LjUtLjVoMmMuMjc2IDAgLjUuMjI0LjUuNXMtLjIyNC41LS41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUuMjgyIDUuNzgyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTMtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk4LjA5Ny0uMjI2LjE0Ni0uMzU0LjE0NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTAuNTczIDIwYy0uMDU5IDAtLjExNy0uMDEtLjE3NS0uMDMxLS4yMTktLjA4Mi0uMzUyLS4zMDQtLjMyMS0uNTM0bC44NTMtNi40MzVoLTMuNDNjLS4xODkgMC0uMzYyLS4xMDctLjQ0Ny0uMjc2cy0uMDY3LS4zNzIuMDQ3LS41MjRsNi04Yy4xMzktLjE4Ni4zODYtLjI1Mi41OTctLjE2LjIxMi4wOTEuMzM1LjMxNC4yOTcuNTQybC0uOTA0IDUuNDE4aDMuNDFjLjE4NCAwIC4zNTMuMTAxLjQ0LjI2M3MuMDc4LjM1OC0uMDIyLjUxM2wtNS45MjcgOWMtLjA5NS4xNDMtLjI1NC4yMjQtLjQxOC4yMjR6bS0yLjA3My04aDNjLjE0NSAwIC4yODEuMDYzLjM3Ni4xNzEuMDk1LjEwNy4xMzkuMjUyLjEyLjM5NWwtLjY0MSA0LjgzOCA0LjIxNy02LjQwNGgtMy4wNzJjLS4xNDcgMC0uMjg2LS4wNjQtLjM4Mi0uMTc3LS4wOTUtLjExMi0uMTM2LS4yNjEtLjExMS0uNDA1bC42NjMtMy45Nzh6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Printer:aae,Pump:cae,Receiver:uae,Sconces:Nae,Security:lae,Shading:Lae,Shutters:jae,SmokeDetector:gae,Sockets:Tae,Speaker:yae,Stove:Dae,"Table Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im05Ny41IDIyMC4zNjEtMTUuOTE0IDE1LjkxNGE2IDYgMCAxIDAgOC40ODQgOC40ODZsMTUuOTE1LTE1LjkxNWE2IDYgMCAxIDAgLTguNDg0LTguNDg1eiIvPgogICAgICAgIDxwYXRoIGQ9Im05NS41MSAxMTdhNiA2IDAgMCAwIDQuMjQzLTEwLjI0MmwtMTUuOTE0LTE1LjkxNWE2IDYgMCAwIDAgLTguNDg2IDguNDg2bDE1LjkxNCAxNS45MTRhNS45NzggNS45NzggMCAwIDAgNC4yNDMgMS43NTd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIzNS41IDI0Mi41MDgtMTUuOTEtMTUuOTE0YTYgNiAwIDAgMCAtOC40ODYgOC40ODVsMTUuOTE0IDE1LjkxNWE2IDYgMCAwIDAgOC40ODYtOC40ODZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTg2LjgyNiAxNzFhNiA2IDAgMCAwIC02LTZoLTI0LjgzN2E2IDYgMCAwIDAgMCAxMmgyNC44MzdhNiA2IDAgMCAwIDYtNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTU1IDIzOS41MjFhNiA2IDAgMCAwIC02IDZ2MjQuODM2YTYgNiAwIDAgMCAxMiAwdi0yNC44MzZhNiA2IDAgMCAwIC02LTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzOC44NTIgNDUxLjk2OWE0MS44MzcgNDEuODM3IDAgMCAwIC00MS4xNjYtMzUuOTY5aC0yOC42ODZ2LTMyNi42ODRhNjkuMzA5IDY5LjMwOSAwIDAgMCAtMTIxLjctNDUuMzgyIDU2LjAyMiA1Ni4wMjIgMCAwIDAgLTQ4LjcwOSA2LjM0OWwtODEuNTE5IDU0LjA2OGE2IDYgMCAwIDAgLS45MjUgOS4yNDJsMjMuNDIyIDIzLjQyMy0xLjQ0MiAxLjQ0MmEzNS4xODggMzUuMTg4IDAgMCAwIDQ5Ljc2MyA0OS43NjNsMS40NDItMS40NDIgMjMuNDIyIDIzLjQyMWE2IDYgMCAwIDAgNC4yNDYgMS43NTljLjIgMCAuNC0uMDEuNi0uMDNhNiA2IDAgMCAwIDQuNC0yLjY1NGw1NC4wNjctODEuNTE5YTU2LjA4OCA1Ni4wODggMCAwIDAgMy40ODgtNTUuNjU2IDI2LjM4NiAyNi4zODYgMCAwIDEgNDYuNDQ1IDE3LjIxNnYzMjYuNjg0aC0yOS4xODJhNDIgNDIgMCAwIDAgLTQxLjM0MyAzNi4wNzYgMjYuNCAyNi40IDAgMCAwIC0yMi40NzUgMjUuOTU2djcuOTY4YTYuMjgyIDYuMjgyIDAgMCAwIDYuMzE5IDZoMjE2LjY5MmE1Ljk5MiA1Ljk5MiAwIDAgMCA1Ljk4OS02di03Ljk2OGEyNi4yNDcgMjYuMjQ3IDAgMCAwIC0yMy4xNDgtMjYuMDYzem0tMjU5LjQ1Mi0yNzIuMjM0YTIzLjE4OCAyMy4xODggMCAwIDEgLTMyLjc5My0zMi43OTJsMS40NDMtMS40NDMgMzIuNzkzIDMyLjc5M3ptMzYuNjQ4IDE2Ljc5NC04Ni4yMy04Ni4yMjkgMTguMDkzLTEyIDgwLjE0IDgwLjE0em01MC4wMTItNzUuNC0zMS4yNDYgNDcuMTEtNzYuNy03Ni43MDUgNDcuMTEtMzEuMjQ2YTQzLjg5NCA0My44OTQgMCAwIDEgNjAuODQgNjAuODQxem0zMy41MjgtNzAuMjcyYTM4LjI1MiAzOC4yNTIgMCAwIDAgLTI2LjY4OCAxMC44MjMgNTQuNjIgNTQuNjIgMCAwIDAgLTE0LjE4Ni0xMi40MzUgNTcuMzEgNTcuMzEgMCAwIDEgOTguMjg2IDQwLjA3MXYzMjYuNjg0aC0xOXYtMzI2LjY4NGEzOC40NjEgMzguNDYxIDAgMCAwIC0zOC40MDktMzguNDY0em0tMi43NyAzNzcuMTQzaDEwMC44NjhjMTQuMjU5IDAgMjYuMTk1IDExIDI4Ljk3NiAyNGgtMTU4LjgxOWMyLjc4MS0xMyAxNC43MTYtMjQgMjguOTc1LTI0em0xNTMuMTgyIDUyaC0yMDV2LTEuOTY4YTE0LjMyIDE0LjMyIDAgMCAxIDE0LjMxOS0xNC4wMzJoMTc2LjY5MmExNC4wMzQgMTQuMDM0IDAgMCAxIDEzLjk4OSAxNC4wMzJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMwNSAzODEuMDMxYTYgNiAwIDAgMCAxMiAwdi03NS44MDZhNiA2IDAgMCAwIC0xMiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTEgMjkwLjg0NGE2IDYgMCAwIDAgNi02di00LjgzNGE2IDYgMCAwIDAgLTEyIDB2NC44MzRhNiA2IDAgMCAwIDYgNnoiLz4KICAgIDwvZz4KPC9zdmc+","Temperature Sensors":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTM1MiwzODUuNDA2VjUzLjMzM0MzNTIsMjMuOTI3LDMyOC4wNzMsMCwyOTguNjY3LDBzLTUzLjMzMywyMy45MjctNTMuMzMzLDUzLjMzM3YzMzIuMDczCgkJCQlDMjMxLjcxOSwzOTkuMzY1LDIyNCw0MTguMDMxLDIyNCw0MzcuMzMzQzIyNCw0NzguNSwyNTcuNSw1MTIsMjk4LjY2Nyw1MTJjNDEuMTY3LDAsNzQuNjY3LTMzLjUsNzQuNjY3LTc0LjY2NwoJCQkJQzM3My4zMzMsNDE4LjAzMSwzNjUuNjE1LDM5OS4zNjUsMzUyLDM4NS40MDZ6IE0yOTguNjY3LDQ5MC42NjdjLTI5LjQwNiwwLTUzLjMzMy0yMy45MjctNTMuMzMzLTUzLjMzMwoJCQkJYzAtMTUuMTA0LDYuMzIzLTI5LjEyNSwxNy44MTMtMzkuNDY5YzIuMjQtMi4wMzEsMy41MjEtNC45MDYsMy41MjEtNy45MjdWNTMuMzMzYzAtMTcuNjQ2LDE0LjM1NC0zMiwzMi0zMgoJCQkJYzE3LjY0NiwwLDMyLDE0LjM1NCwzMiwzMnYzMzYuNjA0YzAsMy4wMjEsMS4yODEsNS44OTYsMy41MjEsNy45MjdDMzQ1LjY3Nyw0MDguMjA4LDM1Miw0MjIuMjI5LDM1Miw0MzcuMzMzCgkJCQlDMzUyLDQ2Ni43NCwzMjguMDczLDQ5MC42NjcsMjk4LjY2Nyw0OTAuNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDkuMzMzLDQwNy4yOThWMjI0YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42Njd2MTgzLjI5OAoJCQkJYy0xMi4zODksNC40MTgtMjEuMzMzLDE2LjE0Ny0yMS4zMzMsMzAuMDM1YzAsMTcuNjQ2LDE0LjM1NCwzMiwzMiwzMmMxNy42NDYsMCwzMi0xNC4zNTQsMzItMzIKCQkJCUMzMzAuNjY3LDQyMy40NDUsMzIxLjcyMyw0MTEuNzE2LDMwOS4zMzMsNDA3LjI5OHogTTI5OC42NjcsNDQ4Yy01Ljg4NSwwLTEwLjY2Ny00Ljc4MS0xMC42NjctMTAuNjY3CgkJCQljMC01Ljg4NSw0Ljc4MS0xMC42NjcsMTAuNjY3LTEwLjY2N2M1Ljg4NSwwLDEwLjY2Nyw0Ljc4MSwxMC42NjcsMTAuNjY3QzMwOS4zMzMsNDQzLjIxOSwzMDQuNTUyLDQ0OCwyOTguNjY3LDQ0OHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywzNDEuMzMzaC02NGMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDY0CgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzQ2LjEwNCwyMTkuMjI5LDM0MS4zMzMsMjEzLjMzMywzNDEuMzMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDI5OC42NjdIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzAzLjQzOCwyMTkuMjI5LDI5OC42NjcsMjEzLjMzMywyOTguNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDI1NkgxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMKCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwyNjAuNzcxLDIxOS4yMjksMjU2LDIxMy4zMzMsMjU2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDIzNC42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0CgkJCQljLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdTMTQzLjQzOCwyMzQuNjY3LDE0OS4zMzMsMjM0LjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTQ5LjMzMywxMDYuNjY3aDY0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3aC02NAoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMTA2LjY2NywxNDkuMzMzLDEwNi42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTcwLjY2N0gxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMKCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwxNzUuNDM4LDIxOS4yMjksMTcwLjY2NywyMTMuMzMzLDE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTI4SDE5MmMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDIxLjMzMwoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDEzMi43NzEsMjE5LjIyOSwxMjgsMjEzLjMzMywxMjh6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Tv:dae,"Vacuum Cleaner":"PHN2ZyB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ0MCA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOC0uMDI3MzQ0LTIyLjA4MjAzMS0xNy45MTc5NjktMzkuOTcyNjU2LTQwLTQwLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LThjMzAuOTE0MDYyLjAzNTE1NiA1NS45NjQ4NDQgMjUuMDg1OTM4IDU2IDU2IDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzLTMuNTgyMDMxLTgtOC04LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04YzEzLjI1MzkwNiAwIDI0IDEwLjc0NjA5NCAyNCAyNCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04LS4wNDY4NzUtMzkuNzQ2MDk0LTMyLjI1MzkwNi03MS45NTMxMjUtNzItNzItNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOHMzLjU4MjAzMS04IDgtOGM0OC41NzgxMjUuMDU4NTkzOCA4Ny45NDE0MDYgMzkuNDIxODc1IDg4IDg4IDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOCAuMDM1MTU2LTMwLjkxNDA2MiAyNS4wODU5MzgtNTUuOTY0ODQ0IDU2LTU2IDQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4Yy0yMi4wODIwMzEuMDI3MzQ0LTM5Ljk3MjY1NiAxNy45MTc5NjktNDAgNDAgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IDAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOC04IDMuNTgyMDMxLTggOC0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LTggLjA1ODU5MzgtNDguNTc4MTI1IDM5LjQyMTg3NS04Ny45NDE0MDYyIDg4LTg4IDQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4Yy0zOS43NDYwOTQuMDQ2ODc1LTcxLjk1MzEyNSAzMi4yNTM5MDYtNzIgNzIgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0MCA0MTZjMjYuNTA3ODEyIDAgNDgtMjEuNDkyMTg4IDQ4LTQ4cy0yMS40OTIxODgtNDgtNDgtNDgtNDggMjEuNDkyMTg4LTQ4IDQ4Yy4wMjczNDQgMjYuNSAyMS41IDQ3Ljk3MjY1NiA0OCA0OHptMC04MGMxNy42NzE4NzUgMCAzMiAxNC4zMjgxMjUgMzIgMzJzLTE0LjMyODEyNSAzMi0zMiAzMi0zMi0xNC4zMjgxMjUtMzItMzIgMTQuMzI4MTI1LTMyIDMyLTMyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQwIDE4NGMxMy4yNTM5MDYgMCAyNC0xMC43NDYwOTQgMjQtMjRzLTEwLjc0NjA5NC0yNC0yNC0yNC0yNCAxMC43NDYwOTQtMjQgMjQgMTAuNzQ2MDk0IDI0IDI0IDI0em0wLTMyYzQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzE3Ljk0NTMxMiAxNTJ2LjA0Njg3NWguMDU0Njg4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE1Mmg0OHYxNmgtNDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yODAgMTUyaDQ4djE2aC00OHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0MCA0OGMtMTAxLjI2NTYyNS0uMDExNzE5LTE4OC45NDUzMTIgNzAuMzMyMDMxLTIxMC44OTA2MjUgMTY5LjE4NzUtMjEuOTQ1MzEzIDk4Ljg1OTM3NSAyNy43MzQzNzUgMTk5LjY5MTQwNiAxMTkuNDkyMTg3IDI0Mi41MzEyNSA1Ny45MjU3ODIgMjcuMDM1MTU2IDEyNC44NTE1NjMgMjcuMDM1MTU2IDE4Mi43ODEyNSAwIDkxLjc1NzgxMy00Mi44MzU5MzggMTQxLjQzMzU5NC0xNDMuNjY0MDYyIDExOS40OTIxODgtMjQyLjUyMzQzOC0yMS45NDE0MDYtOTguODU1NDY4LTEwOS42MTMyODEtMTY5LjE5OTIxOC0yMTAuODc1LTE2OS4xOTUzMTJ6bTAgMTZjMTA3LjI4NTE1Ni4xMzI4MTIgMTk1LjM5ODQzOCA4NC44MDQ2ODggMTk5LjgwMDc4MSAxOTJoLTE2Yy00LjU4MjAzMS05OC4xNzk2ODgtODUuNTE1NjI1LTE3NS40MjE4NzUtMTgzLjgwMDc4MS0xNzUuNDIxODc1cy0xNzkuMjE4NzUgNzcuMjQyMTg3LTE4My44MDA3ODEgMTc1LjQyMTg3NWgtMTZjNC40MDIzNDMtMTA3LjE5NTMxMiA5Mi41MTU2MjUtMTkxLjg2NzE4OCAxOTkuODAwNzgxLTE5MnptMjkuMTEzMjgxIDI0NS40OTYwOTRjMzAuNjgzNTk0IDExLjk4ODI4MSA1MC44ODI4MTMgNDEuNTU4NTk0IDUwLjg4NjcxOSA3NC41MDM5MDZ2MjcuNjQwNjI1Yy00OS44Nzg5MDYgMjcuMTQ0NTMxLTExMC4xMjEwOTQgMjcuMTQ0NTMxLTE2MCAwdi0yNy42NDA2MjVjLjAwMzkwNi0yNi40Mjk2ODggMTMuMDYyNS01MS4xNTIzNDQgMzQuODg2NzE5LTY2LjA1NDY4OCAyMS44MjgxMjUtMTQuOTA2MjUgNDkuNjA5Mzc1LTE4LjA2NjQwNiA3NC4yMjY1NjItOC40NDkyMTh6bTY2Ljg4NjcxOSA3NC41MDM5MDZjMC01My4wMTk1MzEtNDIuOTgwNDY5LTk2LTk2LTk2cy05NiA0Mi45ODA0NjktOTYgOTZ2MTcuNzM0Mzc1Yy0zOC44NjMyODEtMjYuOTgwNDY5LTY0LjUwNzgxMi02OS4xMzI4MTMtNzAuNjAxNTYyLTExNi4wNDY4NzUtNi4wOTc2NTctNDYuOTE3OTY5IDcuOTI1NzgxLTk0LjIyMjY1NiAzOC42MDE1NjItMTMwLjIzODI4MXYzNi41NTA3ODFjLjAyNzM0NCAyMi4wODIwMzEgMTcuOTE3OTY5IDM5Ljk3MjY1NiA0MCA0MGgxNzZjMjIuMDgyMDMxLS4wMjczNDQgMzkuOTcyNjU2LTE3LjkxNzk2OSA0MC00MHYtMzYuNTUwNzgxYzMwLjY3NTc4MSAzNi4wMTU2MjUgNDQuNjk5MjE5IDgzLjMyMDMxMiAzOC42MDE1NjIgMTMwLjIzODI4MS02LjA5Mzc1IDQ2LjkxNDA2Mi0zMS43MzgyODEgODkuMDY2NDA2LTcwLjYwMTU2MiAxMTYuMDQ2ODc1em0tMjA4LTI0NC44NjMyODFjNjMuNTg5ODQ0LTU3LjUxNTYyNSAxNjAuNDEwMTU2LTU3LjUxNTYyNSAyMjQgMHY1Mi44NjMyODFjMCAxMy4yNTM5MDYtMTAuNzQ2MDk0IDI0LTI0IDI0aC0xNzZjLTEzLjI1MzkwNiAwLTI0LTEwLjc0NjA5NC0yNC0yNHptLTg3LjcxMDkzOCAxMzIuODYzMjgxaDE2YzIuODM1OTM4IDYxLjAzOTA2MiAzNS42NzE4NzYgMTE2LjcyMjY1NiA4Ny43MTA5MzggMTQ4Ljc1MzkwNnYxOC42NDQ1MzJjLTYxLjQzNzUtMzMuODUxNTYzLTEwMC43NTM5MDYtOTcuMzEyNS0xMDMuNzEwOTM4LTE2Ny4zOTg0Mzh6bTExOS43MTA5MzggMTc1LjI0NjA5NHYtMTcuNjQ0NTMyYzUwLjUwMzkwNiAyNC41NjI1IDEwOS40OTYwOTQgMjQuNTYyNSAxNjAgMHYxNy42NzE4NzZjLTUwLjk5NjA5NCAyMi4zMzU5MzctMTA5LjAwMzkwNiAyMi4zMzU5MzctMTYwIDB6bTE3Ni03Ljg0NzY1NnYtMTguNjQ0NTMyYzUyLjA0Mjk2OS0zMi4wMjczNDQgODQuODg2NzE5LTg3LjcxMDkzNyA4Ny43MjY1NjItMTQ4Ljc1MzkwNmgxNmMtMi45NjA5MzcgNzAuMDg5ODQ0LTQyLjI4NTE1NiAxMzMuNTUwNzgxLTEwMy43MjY1NjIgMTY3LjM5ODQzOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Ventilation:zae,"Washing Machines":"PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIDAgNDk2IDQ5NiIgd2lkdGg9IjQ5NnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDg4IDBoLTQwMGMtNC40MjU3ODEgMC04IDMuNTg1OTM4LTggOHYyOTYuODMyMDMxYy0yLjYwMTU2Mi0uNTI3MzQzLTUuMjczNDM4LS44MzIwMzEtOC0uODMyMDMxLTIyLjA1NDY4OCAwLTQwIDE3Ljk0NTMxMi00MCA0MHYuMTY3OTY5Yy03LjgyNDIxOSA1Ljg4NjcxOS0xMy4xNTIzNDQgMTQuMzk4NDM3LTE1LjEyMTA5NCAyMy44MzIwMzFoLTguODc4OTA2Yy00LjQyNTc4MSAwLTggMy41ODU5MzgtOCA4djMyYzAgNC40MTQwNjIgMy41NzQyMTkgOCA4IDhoOHYyNGMwIDMwLjg3ODkwNiAyNS4xMjg5MDYgNTYgNTYgNTZoNDE2YzQuNDI1NzgxIDAgOC0zLjU4NTkzOCA4LTh2LTQ4MGMwLTQuNDE0MDYyLTMuNTc0MjE5LTgtOC04em0tOCAxNnY4MGgtMzg0di04MHptLTQzNS42NTYyNSAzMzkuMTc1NzgxYzIuODM5ODQ0LTEuNjAxNTYyIDQuNDMzNTk0LTQuNzYxNzE5IDQuMDE1NjI1LThsLS4xMjg5MDYtLjkyOTY4N2MtLjEwMTU2My0uNzM0Mzc1LS4yMzA0NjktMS40Njg3NS0uMjMwNDY5LTIuMjQ2MDk0IDAtMTMuMjMwNDY5IDEwLjc2OTUzMS0yNCAyNC0yNCA4LjQ0OTIxOSAwIDE2LjEyMTA5NCA0LjQwNjI1IDIwLjUyNzM0NCAxMS44MDA3ODEgMS4xOTkyMTggMi4wMTU2MjUgMy4yMzQzNzUgMy40MDYyNSA1LjU1MDc4MSAzLjc5Mjk2OSAyLjMyODEyNS4zOTg0MzggNC42OTkyMTktLjI2NTYyNSA2LjQ5NjA5NC0xLjc5Mjk2OSAzLjEyMTA5My0yLjY0ODQzNyA4LjMyMDMxMi01LjgwMDc4MSAxNS40MjU3ODEtNS44MDA3ODEgOC41NTg1OTQgMCAxNi41MzUxNTYgNC43MjY1NjIgMjAuODE2NDA2IDEyLjMzNTkzOCAxLjY2NDA2MyAyLjk3NjU2MiA1LjA1NDY4OCA0LjU1ODU5MyA4LjM4MjgxMyAzLjk2MDkzNyA4LjM1MTU2Mi0xLjQ4ODI4MSAxNi45MDYyNSA0LjI0NjA5NCAxOC40OTYwOTMgMTIuNzQyMTg3LjU3MDMxMyAzLjAzOTA2MyAyLjgzOTg0NCA1LjQ4ODI4MiA1LjgzOTg0NCA2LjI3MzQzOCAzLjAxNTYyNS44MDA3ODEgNi4xNjc5NjktLjIzNDM3NSA4LjE2Nzk2OS0yLjYwOTM3NSA0LjYxNzE4Ny01LjUyNzM0NCAxMS4yODkwNjMtOC43MDMxMjUgMTguMjk2ODc1LTguNzAzMTI1IDEwLjQxNDA2MiAwIDE5LjIxNDg0NCA2LjcxMDkzOCAyMi41MjczNDQgMTZoLTE4OC45MjU3ODJjMS45NDE0MDctNS4yOTY4NzUgNS42MDU0NjktOS45Mzc1IDEwLjc0MjE4OC0xMi44MjQyMTl6bTEwNy42NTYyNS03NS4xNzU3ODFjMC03NC45OTIxODggNjEuMDA3ODEyLTEzNiAxMzYtMTM2czEzNiA2MS4wMDc4MTIgMTM2IDEzNi02MS4wMDc4MTIgMTM2LTEzNiAxMzZjLTExLjI4OTA2MiAwLTIyLjMyODEyNS0xLjUxOTUzMS0zMy4wNzgxMjUtNC4yMTQ4NDQuNjI4OTA2LTEuMTQ0NTMxIDEuMDc4MTI1LTIuMzk0NTMxIDEuMDc4MTI1LTMuNzg1MTU2di0xMi4zMzU5MzhjMTAuMzY3MTg4IDIuODYzMjgyIDIxLjA3ODEyNSA0LjMzNTkzOCAzMiA0LjMzNTkzOCA2Ni4xNjc5NjkgMCAxMjAtNTMuODMyMDMxIDEyMC0xMjBzLTUzLjgzMjAzMS0xMjAtMTIwLTEyMC0xMjAgNTMuODMyMDMxLTEyMCAxMjBjMCAyMS4wODk4NDQgNS40ODA0NjkgNDEuNDMzNTk0IDE1LjgyNDIxOSA1OS41MDM5MDYtMS43OTI5NjkuODA4NTk0LTMuNTM1MTU3IDEuNzI2NTYzLTUuMTkxNDA3IDIuODAwNzgyLTQuMDU4NTkzLTYuMTEzMjgyLTEwLjE1MjM0My0xMC42MzI4MTMtMTcuMjA3MDMxLTEyLjgyNDIxOS02LjE2Nzk2OS0xNS43NjE3MTktOS40MjU3ODEtMzIuMzU5Mzc1LTkuNDI1NzgxLTQ5LjQ4MDQ2OXptNDguNDY0ODQ0IDU2LjA0Njg3NWMtNi4zNjcxODgtOS45MTAxNTYtMTEtMjAuNzAzMTI1LTEzLjY3OTY4OC0zMi4wNDY4NzVoNS4yMTQ4NDRjNy4yODkwNjIgMCAxNC4xNTIzNDQtMi44Mzk4NDQgMTkuMzEyNS04bDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGMxMC4zMjgxMjUgMTAuMzEyNSAyOC4yOTY4NzUgMTAuMzIwMzEyIDM4LjYyNSAwbDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGMxMC4zMjgxMjUgMTAuMzEyNSAyOC4yOTY4NzUgMTAuMzIwMzEyIDM4LjYyNSAwbDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGM1LjE2Nzk2OSA1LjE2MDE1NiAxMi4wMjM0MzggOCAxOS4zMTI1IDhoNS4wOTc2NTZjLTEwLjg4MjgxMiA0NS43OTI5NjktNTIuMDI3MzQ0IDgwLTEwMS4wOTc2NTYgODAtMTAuOTc2NTYyIDAtMjEuNjk1MzEyLTEuNzkyOTY5LTMyLTUuMTI4OTA2di0yLjg3MTA5NGMwLTQuNDE0MDYyLTMuNTc0MjE5LTgtOC04aC04LjgwODU5NGMtMy42ODc1LTE4LjA4OTg0NC0xOS42MjUtMzEuNzI2NTYyLTM4LjcyNjU2Mi0zMS45NTMxMjV6bS0xNi40NjQ4NDQtNTYuMDQ2ODc1YzAtNTcuMzQzNzUgNDYuNjU2MjUtMTA0IDEwNC0xMDRzMTA0IDQ2LjY1NjI1IDEwNCAxMDRjMCAyLjcwMzEyNS0uMTk5MjE5IDUuMzUxNTYyLS40MDYyNSA4aC03LjU5Mzc1Yy0zLjAyMzQzOCAwLTUuODU1NDY5LTEuMTc1NzgxLTgtMy4zMTI1bC00LjY4NzUtNC42ODc1Yy0xMC4zMjgxMjUtMTAuMzEyNS0yOC4yOTY4NzUtMTAuMzIwMzEyLTM4LjYyNSAwbC00LjY4NzUgNC42Nzk2ODhjLTQuMjgxMjUgNC4yODEyNS0xMS43MTg3NSA0LjI4MTI1LTE2IDBsLTQuNjg3NS00LjY3OTY4OGMtMTAuMzI4MTI1LTEwLjMxMjUtMjguMjk2ODc1LTEwLjMyMDMxMi0zOC42MjUgMGwtNC42ODc1IDQuNjc5Njg4Yy00LjI4MTI1IDQuMjgxMjUtMTEuNzE4NzUgNC4yODEyNS0xNiAwbC00LjY4NzUtNC42Nzk2ODhjLTEwLjMyODEyNS0xMC4zMTI1LTI4LjI5Njg3NS0xMC4zMjAzMTItMzguNjI1IDBsLTQuNjg3NSA0LjY3OTY4OGMtMi4xNDQ1MzEgMi4xNDQ1MzEtNC45NzY1NjIgMy4zMjAzMTItOCAzLjMyMDMxMmgtNy42OTUzMTJjLS4xOTkyMTktMi42NDg0MzgtLjMwNDY4OC01LjMyMDMxMi0uMzA0Njg4LTh6bS0xNjggMTA0aDIyNHYxNmgtMjI0em0xNjAgOTZoLTEwNGMtMjIuMDU0Njg4IDAtNDAtMTcuOTQ1MzEyLTQwLTQwdi0yNGgxOTJ2MjRjMCAyMi4wNTQ2ODgtMTcuOTQ1MzEyIDQwLTQwIDQwem00Ny4xMTMyODEgMGMxMC40MDYyNS0xMC4xNzU3ODEgMTYuODg2NzE5LTI0LjMzNTkzOCAxNi44ODY3MTktNDB2LTE1Ljg3MTA5NGMxNS40MjU3ODEgNS4xNDQ1MzIgMzEuNTAzOTA2IDcuODcxMDk0IDQ4IDcuODcxMDk0IDgzLjgxNjQwNiAwIDE1Mi02OC4xODM1OTQgMTUyLTE1MnMtNjguMTgzNTk0LTE1Mi0xNTItMTUyLTE1MiA2OC4xODM1OTQtMTUyIDE1MmMwIDEzLjAxNTYyNSAxLjgwMDc4MSAyNS43MzQzNzUgNS4wMDc4MTIgMzguMTEzMjgxLTYuMjIyNjU2LTMuOTA2MjUtMTMuNDY0ODQzLTYuMTEzMjgxLTIxLjAwNzgxMi02LjExMzI4MS02LjUzNTE1NiAwLTEzIDEuNjcxODc1LTE4Ljc4NTE1NiA0LjgxNjQwNi0xLjU4OTg0NC0xLjcyNjU2Mi0zLjM3NS0zLjIxNDg0NC01LjIxNDg0NC00LjYyNXYtMjAwLjE5MTQwNmgzODR2MzY4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTM2IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjAwIDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY0IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQ4IDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ0OCAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDE2IDMyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM4NCA2NGgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzUyIDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=","Water Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yNjguOTkgMTg3LjQ5OWMtNS43NTEtOS45NTktMjAuMTk2LTEwLjAxNi0yNS45NzkgMC0yMS44MSA0MC42MTEtMzIuMDExIDQ4LjA2MS0zMi4wMTEgNjcuNTAxIDAgMjQuODEzIDIwLjE4NyA0NSA0NSA0NXM0NS0yMC4xODcgNDUtNDVjMC0xOS40NTgtMTAuNDg2LTI3LjQyMS0zMi4wMS02Ny41MDF6bS0xMi45OSA4Mi41MDFjLTguMjcxIDAtMTUtNi43MjktMTUtMTUgMC02LjY4NyAzLjA0Mi04LjIxNSAxNS0zMC4wMDUgMTEuOTc0IDIxLjgxOCAxNSAyMy4zMTggMTUgMzAuMDA1IDAgOC4yNzEtNi43MjkgMTUtMTUgMTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNiAwaC0zMDBjLTguNzY5IDAtMTUuNjc2IDcuNTAyLTE0Ljk0OCAxNi4yNDZsMzAgMzYwYy42NDggNy43NzQgNy4xNDcgMTMuNzU0IDE0Ljk0OCAxMy43NTRoNzV2MzJoLTE1Yy0xMy4zMTggMC0yMC4wNDggMTYuMTY1LTEwLjYwNiAyNS42MDZsNjAgNjBjNS44NTcgNS44NTggMTUuMzU1IDUuODU5IDIxLjIxMyAwbDYwLTYwYzkuNDE3LTkuNDE3IDIuNzQ1LTI1LjYwNi0xMC42MDctMjUuNjA2aC0xNXYtMzJoNzVjNy44MDEgMCAxNC4zLTUuOTggMTQuOTQ4LTEzLjc1NGwzMC0zNjBjLjcyOC04LjczOS02LjE3NC0xNi4yNDYtMTQuOTQ4LTE2LjI0NnptLTE2LjMwMiAzMC01LjM0NiA2NC4xNDdjLTIxLjc2OCA4LjM0My0zNS44NzEgMjUuODUzLTUzLjM1MiAyNS44NTMtMjIuNzE3IDAtNDAuNDIzLTMwLTc1LTMwLTM0LjcyNyAwLTUyLjE3NiAzMC03NSAzMC0xNy40ODUgMC0zMS41NTYtMTcuNDk5LTUzLjM1Mi0yNS44NTNsLTUuMzQ2LTY0LjE0N3ptLTI3LjUgMzMwaC03Ni4xOThjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NjJjMCA2LjQzMiA0LjA0OCAxMS45MTkgOS43MzYgMTQuMDVsLTI0LjczNiAyNC43MzctMjQuNzM2LTI0LjczNmM1LjY4OC0yLjEzMSA5LjczNi03LjYxOCA5LjczNi0xNC4wNXYtNjJjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtNzYuMTk4bC0xOS4yMDgtMjMwLjUwMmMxNC4zMTUgOS4xNTMgMjkuMDc2IDIwLjUwMSA1MC40MDYgMjAuNTAxIDM0LjcyNyAwIDUyLjE3Ni0zMCA3NS0zMCAyMi43MTcgMCA0MC40MjMgMzAgNzUgMzAgMjEuMDE5IDAgMzUuNDQ5LTEwLjkzNyA1MC40MDYtMjAuNTAyeiIvPgogICAgPC9nPgo8L3N2Zz4=","Water Heater":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTY3LDE4NS4zMjV2MjgxYTM1LjU0MSwzNS41NDEsMCwwLDAsMzUuNDY5LDM1LjYzMUwzMTkuMDYsNTAyaC4wMDZBMzUuODkxLDM1Ljg5MSwwLDAsMCwzNTUsNDY2LjM2OVY0NjRoNjAuNjJjMzQuODM3LDAsNjMuMzgtMjcuODcsNjMuMzgtNjIuNzE1VjE4OS43M2MwLTM0Ljg0NC0yOC41NDMtNjIuNzMtNjMuMzgtNjIuNzNIMzU1di05LjY4OWMwLS4wNzQtLjE2LS4xNDYtLjE2Mi0uMjE5cy0uMDY1LS4xMTQtLjA2NS0uMTg3QTYyLjA0NCw2Mi4wNDQsMCwwLDAsMjkyLjc2Myw1NUgyMTlWNDRoMTcuODI4QzI0NS42NSw0NCwyNTMsMzcuMiwyNTMsMjguMzc0VjI2YTE2LjE2NywxNi4xNjcsMCwwLDAtMTYuMTcyLTE2SDE4OS43MDZBMTUuNzcsMTUuNzcsMCwwLDAsMTc0LDI2djIuMzc0QTE1LjQ1NCwxNS40NTQsMCwwLDAsMTg5LjcwNiw0NEgyMDdWNTVIMTMzLjc3MUMxMDEuNSw1NSw3NC45MjQsODAsNzIuMSwxMTFIMzkuMmE2LjA1Niw2LjA1NiwwLDAsMC01LjIsOC45MjlaTTM1NSwxNjFoNjAuNjJBMjguNTgxLDI4LjU4MSwwLDAsMSw0NDQsMTg5LjczVjQwMS4yODVBMjguNTY4LDI4LjU2OCwwLDAsMSw0MTUuNjIsNDMwSDM1NVptMCwyODFoNjAuNjJBNDAuNTgxLDQwLjU4MSwwLDAsMCw0NTYsNDAxLjI4NVYxODkuNzNBNDAuNTk0LDQwLjU5NCwwLDAsMCw0MTUuNjIsMTQ5SDM1NVYxMzloNjAuNjJjMjguMjIxLDAsNTEuMzgsMjIuNSw1MS4zOCw1MC43M1Y0MDEuMjg1QzQ2Nyw0MjkuNTEzLDQ0My44NDEsNDUyLDQxNS42Miw0NTJIMzU1Wm0tMTIsMjQuMzY5QTIzLjg5MSwyMy44OTEsMCwwLDEsMzE5LjA2Niw0OTBoMGwtMjE2LjU5MS0uMDQxQTIzLjUyNywyMy41MjcsMCwwLDEsNzksNDY2LjMyOFY0NTIuNTdsMjY0LC4wNDlaTTE5MCwzMmE0LDQsMCwwLDEtNC00VjI2YTQsNCwwLDAsMSw0LTRoNDdhNCw0LDAsMCwxLDQsNHYyYTQsNCwwLDAsMS00LDRaTTEzMy43NzEsNjdIMjkyLjc2M2E0OS44MjksNDkuODI5LDAsMCwxLDQ5LjU3Niw0NEg4NC4yQTQ5LjgzLDQ5LjgzLDAsMCwxLDEzMy43NzEsNjdaTTM0MywxMjNWNDQwLjYxOUw3OSw0NDAuNTdWMTgzLjlhNi44NTMsNi44NTMsMCwwLDAtLjgtMi44NTFMNDguOTM0LDEyM1oiLz4KICAgICAgICA8cGF0aCBkPSJNMjAzLDM4OC40NDNBMzUuMDE3LDM1LjAxNywwLDAsMCwyMzgsMzUzLjZWMjM2Ljg0NGEzNSwzNSwwLDAsMC03MCwwVjM1My42QTM1LjAxNywzNS4wMTcsMCwwLDAsMjAzLDM4OC40NDNabS0yMy0xNTEuNmEyMywyMywwLDAsMSw0NiwwVjI4OUgxODBaTTE4MCwzMDFoNDZ2NTIuNmEyMywyMywwLDAsMS00NiwwWiIvPgogICAgICAgIDxwYXRoIGQ9Ik05OSwzMTQuOTEzYTYsNiwwLDAsMCw2LTZWMjMzLjEwNmE2LDYsMCwwLDAtMTIsMHY3NS44MDdBNiw2LDAsMCwwLDk5LDMxNC45MTNaIi8+CiAgICAgICAgPHBhdGggZD0iTTk5LDIxOC43MjZhNiw2LDAsMCwwLDYtNnYtNC44MzRhNiw2LDAsMCwwLTEyLDB2NC44MzRBNiw2LDAsMCwwLDk5LDIxOC43MjZaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=",Water:Iae,Weather:wae,Window:Cae},Aae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTA0IDQ4LjAxNTYyNWgtNDk2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTktOC04di0zMi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OTZjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHYzMi4wMTU2MjVjMCA0LjQyNTc4MS0zLjU3NDIxOSA4LTggOHptLTQ4OC0xNmg0ODB2LTE2LjAxNTYyNWgtNDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQwIDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDk2IDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00NzIgMTg0LjEyODkwNmgtNDMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcxLjk4NDM3NSAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMjIuMDU4NTk0IDE3LjkzNzUtNDAgMzkuOTkyMTg3LTQwIDQuNDIxODc2IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNCA4LTggOC0xMy4yMjI2NTYgMC0yMy45OTIxODcgMTAuNzY1NjI1LTIzLjk5MjE4NyAyNCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTc5Ljk4NDM3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTIwLjAwNzgxMiAxMjguMTI4OTA2aC0xNi4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAzMTI1YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjM0Mzc1LTEwLjc2OTUzMS0yNC0yMy45OTIxODgtMjQtNC40MjE4NzQgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI2LTggOC04IDIyLjA1NDY4OCAwIDM5Ljk5MjE4OCAxNy45NDE0MDYgMzkuOTkyMTg4IDQwIDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xODMuOTg0Mzc1IDEzOC45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDIuODM5ODQ0YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LTggNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOHY0Mi44Mzk4NDRjMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzIgODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIwMCA5Ni4xMjg5MDZoLTE2LjAxNTYyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAxNTYyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNDcuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI4MC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOC00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggMTMuMjM0Mzc1IDAgMjQgMTAuNzY1NjI1IDI0IDI0IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzIuMTY3OTY5IDI2NC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQ3Ljk4NDM3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djQ3Ljk4NDM3NWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1Ni4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZjLTQuNDIxODc1IDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzI4LjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2aC04MC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg4MC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41ODIwMzEgOC04LjAwNzgxMyA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjY0LjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOHYtNDhjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djQ4YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjE5OTIxOSAyMTYuMTQ0NTMxaC00OC4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ4LjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMi4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",pae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2Mi43ODcgMzYyLjc4NyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0yNjAuOTQ1LDE0NC45NzljLTIuNjY3LDAtNS4xMzMsMS40MTYtNi40NzcsMy43MTlsLTQ3LjQ4NCw4MS4zMzNjLTEuMzU0LDIuMzE5LTEuMzY1LDUuMTg2LTAuMDI3LDcuNTE2CgkJYzEuMzM3LDIuMzI5LDMuODE4LDMuNzY2LDYuNTA0LDMuNzY2aDk0Ljk2OGMyLjY4NiwwLDUuMTY3LTEuNDM3LDYuNTA0LTMuNzY2YzEuMzM4LTIuMzMsMS4zMjctNS4xOTYtMC4wMjctNy41MTZsLTQ3LjQ4My04MS4zMzMKCQlDMjY2LjA3OCwxNDYuMzk1LDI2My42MTIsMTQ0Ljk3OSwyNjAuOTQ1LDE0NC45Nzl6IE0yMjYuNTI0LDIyNi4zMTJsMzQuNDIxLTU4Ljk1OGwzNC40Miw1OC45NThIMjI2LjUyNHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzU1LjI4NywyNTQuNjloLTE3NS42Mmw4MS4yNzgtMTM5LjIxOGw2Mi45MjYsMTA3Ljc4M2MyLjA4OCwzLjU3OCw2LjY4Myw0Ljc4NCwxMC4yNTgsMi42OTYKCQljMy41NzctMi4wODgsNC43ODQtNi42ODEsMi42OTUtMTAuMjU4TDI2Ny40MjIsOTYuODE1Yy0wLjAyMS0wLjAzNi0wLjA0OC0wLjA2Ny0wLjA2OS0wLjEwM2MtMC4xMjYtMC4yMDgtMC4yNjItMC40MDgtMC40MDctMC42MDMKCQljLTAuMDQ0LTAuMDU5LTAuMDg2LTAuMTE4LTAuMTMxLTAuMTc2Yy0wLjE4My0wLjIzLTAuMzc2LTAuNDUxLTAuNTg0LTAuNjU4Yy0wLjAyNC0wLjAyNC0wLjA1MS0wLjA0NS0wLjA3Ni0wLjA2OQoJCWMtMC4xODYtMC4xOC0wLjM4My0wLjM0OS0wLjU4Ny0wLjUwOWMtMC4wNjUtMC4wNTEtMC4xMzItMC4xLTAuMTk5LTAuMTQ4Yy0wLjE4Ny0wLjEzNy0wLjM3OS0wLjI2NC0wLjU3OC0wLjM4NAoJCWMtMC4wNTUtMC4wMzMtMC4xMDgtMC4wNjgtMC4xNjQtMC4xYy0wLjI2MS0wLjE0Ny0wLjUzLTAuMjgyLTAuODA5LTAuMzk3Yy0wLjAxMS0wLjAwNC0wLjAyMi0wLjAwOC0wLjAzMy0wLjAxMgoJCWMtMC4yNi0wLjEwNi0wLjUyOC0wLjE5Ni0wLjgwMi0wLjI3M2MtMC4wNzMtMC4wMjEtMC4xNDYtMC4wMzgtMC4yMi0wLjA1NmMtMC4yMjItMC4wNTUtMC40NDctMC4xLTAuNjc3LTAuMTM1CgkJYy0wLjA3OS0wLjAxMi0wLjE1Ny0wLjAyNi0wLjIzNi0wLjAzNmMtMC4yOTctMC4wMzYtMC41OTgtMC4wNi0wLjkwNi0wLjA2SDEwMS44NDJjLTIuNjY3LDAtNS4xMzMsMS40MTYtNi40NzcsMy43MTkKCQlMMS4wMjMsMjU4LjQwOGMtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTZjMS4zMzcsMi4zMjksMy44MTgsMy43NjYsNi41MDQsMy43NjZoODYuNTM4YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDEKCQlzMC4wMTUtMC4wMDEsMC4wMjMtMC4wMDFoMzUuODg5YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDFzMC4wMTUtMC4wMDEsMC4wMjMtMC4wMDFoMzYuNTg2aDE4OC42ODQKCQljNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNVMzNTkuNDMsMjU0LjY5LDM1NS4yODcsMjU0LjY5eiBNMTYyLjI5OCwyNTQuNjloLTE5LjI2M2w2OS40My0xMTkuNDcKCQljMi4wODEtMy41ODIsMC44NjUtOC4xNzItMi43MTYtMTAuMjUzYy0zLjU4LTIuMDgzLTguMTczLTAuODY2LTEwLjI1MywyLjcxNmwtNzMuODEsMTI3LjAwN0gxMDcuMWw4NS4xOTItMTQ2LjU5NGg1NS41OQoJCUwxNjIuMjk4LDI1NC42OXogTTEwNi4xNDcsMTA4LjA5NmgzNC4wOTFMNzQuNzg5LDIyMC43MTdjLTIuMDgxLDMuNTgyLTAuODY1LDguMTcyLDIuNzE2LDEwLjI1MwoJCWMxLjE4NiwwLjY4OSwyLjQ4MiwxLjAxNywzLjc2MiwxLjAxN2MyLjU4NCwwLDUuMS0xLjMzNyw2LjQ5MS0zLjczM2w2OS44My0xMjAuMTU4aDE3LjM1Nkw4OS43NTEsMjU0LjY5SDIwLjU2M0wxMDYuMTQ3LDEwOC4wOTZ6IgogICAgICAgIC8+CiAgICA8L2c+Cjwvc3ZnPgo=",mae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTYuNzA0IDI3Mi4wODZoLTgxLjcwNHYtODguMDczYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djg4LjA3M2gtMTV2LTE5My43MWMwLTguMjQ5LTYuNzExLTE0Ljk1OS0xNC45NTktMTQuOTU5aC05MS41ODJjLTguMjQ4IDAtMTQuOTU5IDYuNzEtMTQuOTU5IDE0Ljk1OXYxOTMuNzFoLTE1di0xOTMuNzFjMC04LjI0OS02LjcxMS0xNC45NTktMTQuOTU5LTE0Ljk1OWgtOTEuNTgyYy04LjI0OCAwLTE0Ljk1OSA2LjcxLTE0Ljk1OSAxNC45NTl2MTkzLjcxaC0xNXYtMjIzLjY2OWgyODh2MTAwLjU5NmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0xMDAuNTk2aDMuMjA0YzguNDM1IDAgMTUuMjk2LTYuODgzIDE1LjI5Ni0xNS4zNDR2LTE3LjczYzAtOC40Ni02Ljg2MS0xNS4zNDMtMTUuMjk2LTE1LjM0M2gtMzI0LjQwOGMtOC40MzUgMC0xNS4yOTYgNi44ODMtMTUuMjk2IDE1LjM0NHYxNy43M2MwIDguNDYgNi44NjEgMTUuMzQ0IDE1LjI5NiAxNS4zNDRoMy4yMDR2MjIzLjY2OWgtODEuNzA0Yy04LjQzNS0uMDAxLTE1LjI5NiA2Ljg2MS0xNS4yOTYgMTUuMjk1djE3LjYyMmMwIDguNDM1IDYuODYxIDE1LjI5NiAxNS4yOTYgMTUuMjk2aC41djE0My40ODZoLS41Yy04LjQzNSAwLTE1LjI5NiA2Ljg2Mi0xNS4yOTYgMTUuMjk2djE3LjYyMmMwIDguNDM0IDYuODYxIDE1LjI5NiAxNS4yOTYgMTUuMjk2aDIyMy4yMDRjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTIyMy4yMDRjLS4xNjMgMC0uMjk2LS4xMzMtLjI5Ni0uMjk2di0xNy42MjJjMC0uMTYzLjEzMy0uMjk2LjI5Ni0uMjk2aDQ4MS40MDhjLjE2MyAwIC4yOTYuMTMzLjI5Ni4yOTZ2MTcuNjIyYzAgLjE2My0uMTMzLjI5Ni0uMjk2LjI5NmgtMjIzLjIwNGMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgyMjMuMjA0YzguNDM1IDAgMTUuMjk2LTYuODYyIDE1LjI5Ni0xNS4yOTZ2LTE3LjYyMmMwLTguNDM0LTYuODYxLTE1LjI5Ni0xNS4yOTYtMTUuMjk2aC0uNXYtMTQzLjQ4NmguNWM4LjQzNSAwIDE1LjI5Ni02Ljg2MiAxNS4yOTYtMTUuMjk2di0xNy42MjJjMC04LjQzNC02Ljg2MS0xNS4yOTYtMTUuMjk2LTE1LjI5NnptLTQwMy4yMDQtMjM5LjAxMnYtMTcuNzNjMC0uMjEyLjE1My0uMzQ0LjI5Ni0uMzQ0aDMyNC40MDhjLjE0MyAwIC4yOTYuMTMxLjI5Ni4zNDR2MTcuNzNjMCAuMjEyLS4xNTMuMzQ0LS4yOTYuMzQ0LTE1LjM2NyAwLTMwOS4wNTEgMC0zMjQuNDA4IDAtLjE0My0uMDAxLS4yOTYtLjEzMi0uMjk2LS4zNDR6bTE4NC45NTkgNDUuMzQzIDkxLjU0MS0uMDQxdjE5My43MWgtOTEuNTAyem0tMTM2LjUgMCA5MS41NDEtLjA0MXYxOTMuNzFoLTkxLjUwMnptMzM5LjI0NSAzODQuODE3aC00NTAuNDA4di0xNDIuOTM0aDQ1MC40MDh6bTE1Ljc5Ni0xNTguMjNjMCAuMTY0LS4xMzMuMjk2LS4yOTYuMjk2LTIuODI0IDAtNDcxLjE1MyAwLTQ4MS40MDggMC0uMTYzIDAtLjI5Ni0uMTMzLS4yOTYtLjI5NnYtMTcuNjIyYzAtLjE2My4xMzMtLjI5Ni4yOTYtLjI5Nmg0ODEuNDA4Yy4xNjMgMCAuMjk2LjEzMy4yOTYuMjk2eiIvPgogICAgICAgIDxwYXRoIGQ9Im02Ny42NTUgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjktNy4xMzMgMTUuOS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzMtMTUuOTAxLTE1LjktMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NiAwIC45LjQwNC45LjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTM5LjQwNiA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjMCA4Ljc2OCA3LjEzNCAxNS45MDEgMTUuOTAxIDE1LjkwMXptLS45MDEtODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45MDEtLjkwMWgxOC45ODljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45ODljLS40OTcgMC0uOTAxLS40MDQtLjkwMS0uOTAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMTAuNzk2IDQ0Mi43MDRoMTguOTljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTljLTguNzY4IDAtMTUuOSA3LjEzMy0xNS45IDE1LjkwMXY2OS41MmMwIDguNzY4IDcuMTMyIDE1LjkwMSAxNS45IDE1LjkwMXptLS45LTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOS0uOTAxaDE4Ljk5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTljLS40OTYgMC0uOS0uNDA0LS45LS45MDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI4Mi41NDcgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzU0LjEzMSA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjLS4wMDEgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAyLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDI1LjUyMSA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjMCA4Ljc2OCA3LjEzNCAxNS45MDEgMTUuOTAxIDE1LjkwMXptLS45MDEtODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45MDEtLjkwMWgxOC45ODljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45ODljLS40OTcgMC0uOTAxLS40MDQtLjkwMS0uOTAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTYuNDExIDEwNy4yNjhjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDIzLjUxMiAyMy41MTJjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQyLjYwNCA5Mi44MzJjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDExLjc1NiAxMS43NTZjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4KICAgIDwvZz4KPC9zdmc+",Oae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00MTMuOTA3IDBjLTU0LjEwNCAwLTk4LjEyMiA0NC4wMDUtOTguMTIyIDk4LjA5NnY0My41ODJzLTY5LjgzMS0zNi45MTItNzEuMDY1LTM3LjU5M2MtOS41NDQtNS4yNjYtMTIuMTg1LTUuMjY3LTIxLjczMSAwLTEuMjM0LjY4MS0xMzYuMTQxIDcxLjk1OC0xMzYuMTQxIDcxLjk1OC0xMS40MzcgNi4wMTctMTMuMDQ1IDcuNzQ1LTE3Ljg3OCAxNS43ODMtLjc4OCAxLjMxMS02NS42OTggMTA0LjIzLTY1LjY5OCAxMDQuMjMtMy4xNzUgNS4wMjMtNC4wNzcgMTAuOTYyLTIuNTM5IDE2LjcyMiAxLjYxNyA2LjA1NiA1Ljg0IDExLjI2OSAxMS41NzcgMTQuMjk1IDMuNjQ2IDEuOTMgNy41ODIgMi44NSAxMS40NjUgMi44NSA2LjIwMiAwIDEyLjI1NS0yLjM1OCAxNi43NDUtNi42ODh2NjUuMDQ0YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTg3LjU0MXM0OS4xMzQtNzcuODU1IDQ5LjY1Mi03OC42ODJjMi4zMzQtMy43MjkgMy4zMjgtNS4yODMgNC40OTYtNi4zMTggMS4zMzMtMS4xODEgMy42NjUtMi40NjQgOC42NjUtNS4xMDdsMTEzLjAwMi01OS42NDljLjgwMS0uNDI1IDEuNDktLjgwMyAyLjA5My0xLjEzMy4xNDEtLjA3Ny4yODUtLjE1Ni40MjgtLjIzNC4xNDMuMDc4LjI4Ny4xNTcuNDI4LjIzNC42MDMuMzMxIDEuMjkyLjcwOCAyLjEwOSAxLjE0MiAwIDAgMTE4LjE5MyA2Mi40MTMgMTE5LjY0MiA2My4zMS44NjkuNTM4IDEuNTA5Ljk5NSAyLjAwOSAxLjQzOCAxLjE2NyAxLjAzNSAyLjE2MiAyLjU4OSA0LjQ5NiA2LjMxOC41MTguODI3IDQ5LjY1MSA3OC42ODEgNDkuNjUxIDc4LjY4MXYxNjAuNzE2aC04NC45MjF2LTEwNC4zNGgxMi42MjVjNy42NTIgMCAxMy44NzgtNi4yMjYgMTMuODc4LTEzLjg3OHYtMjEuNDNjMC03LjY1Mi02LjIyNi0xMy44NzgtMTMuODc4LTEzLjg3OGgtODUuMTIyYy00LjE0MiAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU4IDcuNSA3LjUgNy41aDg0djE5LjE4NmgtMjA5Ljgxdi0xOS4xODZoOTEuMmM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtOTIuMzIyYy03LjY1MiAwLTEzLjg3OCA2LjIyNi0xMy44NzggMTMuODc4djIxLjQzYzAgNy42NTIgNi4yMjYgMTMuODc4IDEzLjg3OCAxMy44NzhoMTIuNjI1djEwNC4zMzloLTg0Ljk0N3YtMzguNTYzYzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djc2LjUzNmMwIDYuOTM0IDUuNjQxIDEyLjU3NCAxMi41NzQgMTIuNTc0aDQ0NS45MDdjNy4xNjcgMCAxMi45OTktNS44MzIgMTIuOTk5LTEyLjk5OXYtNDAwLjkwNWMuMDAxLTU0LjA5MS00NC4wMDQtOTguMDk2LTk4LjA5Mi05OC4wOTZ6bS0yNzMuNDQgNDk3aC04NC45NDh2LTIwLjU0Nmg4NC45NDd2MjAuNTQ2em0xNTkuNzgzLTEzOS44ODYtNjYuMzgyIDU5Ljg0NS02Ni4zODItNTkuODQ1em0tMTQ0Ljc4MyA5LjM1OSA2Ny4yMDEgNjAuNTg0LTY3LjIwMSA2MC41ODR6bTEyLjAyIDEzMC41MjcgNjYuMzgyLTU5Ljg0NSA2Ni4zODEgNTkuODQ1em0xNDQuNzgzLTkuMzU5LTY3LjIwMS02MC41ODQgNjcuMjAxLTYwLjU4NHptOTkuOTE5IDkuMzU5aC04NC45MTl2LTIwLjU0Nmg4NC45MTl6bTUzLjQ0NS0xOTguODIzYy0uMzQ3LS43Mi0uNzMzLTEuNDI3LTEuMTY2LTIuMTE3bC01MS45NDUtODIuMjY2aDg0LjQ3N3Y4NC4zODN6bS0xMzQuODQ4LTIwMC4wODFjMC00NS44MTkgMzcuMjg4LTgzLjA5NiA4My4xMjItODMuMDk2IDQ1LjgxNiAwIDgzLjA5MiAzNy4yNzYgODMuMDkyIDgzLjA5NnYxLjI4N2gtMTY2LjIxNHptMCAxNi4yODdoMTY2LjIxNHY4NC40MTJoLTkzLjk0OXMtMy41MjMtNS42NTYtNC4zMTItNi45NjZjLTQuODMxLTguMDM2LTYuNDQtOS43NjYtMTcuODY4LTE1Ljc3OGwtNTAuMDg2LTI2LjQ1di0zNS4yMTh6bTk1LjI0NiAxODAuMTc3cy01MC4yNzUtNzkuNjU2LTUwLjc4LTgwLjQ2M2MtNC43OTktNy42NjUtNi41MTQtOS44MjUtMTMuMjgxLTEzLjY5Mi0uNTIxLS4yOTctMTE5LjkyOS02My40MDgtMTIwLjQ4Mi02My43MTEtNS4xMDEtMi43OTUtNy44NDctMy4zMi0xMi4wNjctMS41NzItLjAzNy4wMTUtLjA3Ni4wMzQtLjExMy4wNS0uNjE2LjI1OS0xMTcuOTg1IDYyLjE5Ny0xMTcuOTg1IDYyLjE5Ny0xMS43MjcgNi4yLTEyLjk2MSA3LjI5NS0xOC44NjggMTYuNzI5LS41MDUuODA3LTUwLjc4IDgwLjQ2My01MC43OCA4MC40NjMtLjAxLjAxNi0uMDE2LjAzMy0uMDI2LjA0OWwtMTAuMjk0IDE2LjMxYy0yLjM3NSAzLjc2Ny03Ljg4NSA1LjA5Ni0xMi4wMzkgMi44OTQtMi4wNi0xLjA4Ni0zLjU1Mi0yLjg3My00LjA5My00LjkwMS0uMzE2LTEuMTg0LS40NDYtMi45ODQuNzI5LTQuODQzIDAgMCA2NS4wMzctMTAzLjEyNCA2NS44NzItMTA0LjUxMiAzLjQ0OC01LjczNCAzLjQ0OC01LjczNCAxMi4wMTctMTAuMjQzIDAgMCAxMzkuMTkzLTczLjYzOSAxNDAuMDEyLTc0LjAxMy44Mi4zNzQgMTQwLjAxMiA3NC4wMTMgMTQwLjAxMiA3NC4wMTMuMDAzLjAwMi4wMDcuMDA0LjAxMS4wMDYgOC41NTkgNC41MDIgOC41NTkgNC41MDIgMTIuMDA3IDEwLjIzOC44MzQgMS4zODggMS44MTYgMy4wMiAzLjA1OCA0Ljk4N2w2Mi44MzMgOTkuNTA5YzEuMTY4IDEuODYgMS4wMzQgMy42NjkuNzE2IDQuODU5LS41NDQgMi4wMzItMi4wMzIgMy44Mi00LjA3MiA0Ljg5OS00LjIyNiAyLjIzMS05LjY0NS45MjQtMTIuMDY5LTIuODk2bC0xMC4yOTItMTYuMzA3Yy0uMDEtLjAxNy0uMDE2LS4wMzUtLjAyNi0uMDV6bTcwLjk2OCAyMDIuNDRoLTY5LjgxMXYtODQuNDExaDY5LjgxMXptLTY5LjgxMS05OS40MTF2LTc0LjM4OWM3LjMxMyA3LjA0MiAxOC43NjMgOC44NzQgMjguMjM4IDMuODc1IDUuNi0yLjk2NSA5Ljc0Ni04LjAxNiAxMS40MzgtMTMuODk3aDMwLjEzNXY4NC40MTJoLTY5LjgxMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg1LjI2MiAyMzcuODczYzAtMjguMzQ3LTIzLjA2Mi01MS40MDktNTEuNDA4LTUxLjQwOS0yOC4zMzEgMC01MS4zNzkgMjMuMDYyLTUxLjM3OSA1MS40MDlzMjMuMDQ5IDUxLjQwOSA1MS4zNzkgNTEuNDA5YzI4LjM0Ny0uMDAxIDUxLjQwOC0yMy4wNjMgNTEuNDA4LTUxLjQwOXptLTg3Ljc4NyAwYzAtMjAuMDc2IDE2LjMyLTM2LjQwOSAzNi4zNzktMzYuNDA5IDIwLjA3NSAwIDM2LjQwOCAxNi4zMzMgMzYuNDA4IDM2LjQwOXMtMTYuMzMzIDM2LjQwOS0zNi40MDggMzYuNDA5Yy0yMC4wNTktLjAwMS0zNi4zNzktMTYuMzM0LTM2LjM3OS0zNi40MDl6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Eae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTIuOTk1IDE2Ni40ODktMzEuOTk1LTIzLjk5NnYtMTEyLjQ5M2M4LjI4NCAwIDE1LTYuNzE2IDE1LTE1cy02LjcxNi0xNS0xNS0xNWgtOTBjLTguMjg0IDAtMTUgNi43MTYtMTUgMTVzNi43MTYgMTUgMTUgMTV2NDQuOTkybC04OC4wMDktNjYuMDA2Yy0xNS44OTMtMTEuOTA0LTM4LjA5LTExLjkwNS01My45ODkuMDA1bC0yMDkuOTk5IDE1Ny41Yy0xOS44NTMgMTQuODkzLTIzLjg5MSA0My4xNTUtOS4wMDEgNjMuMDA0IDcuMjIgOS42MiAxNy43NTIgMTUuODUzIDI5LjY1NyAxNy41NSAyLjE1Ny4zMDggNC4zMS40NiA2LjQ1LjQ1OSA1LjEwOSAwIDEwLjEzLS44NzYgMTQuODkxLTIuNTY0djI1Mi4wNmMwIDguMjg0IDYuNzE2IDE1IDE1IDE1aDM2MGM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di0yNTIuMDY4YzQuNzYzIDEuNjg1IDkuODAzIDIuNTYgMTQuOTc4IDIuNTYgMTQuMSAwIDI3LjU2NS02LjcyOSAzNi4wMjItMTggMTQuODg4LTE5Ljg0NiAxMC44NDktNDguMTA4LTkuMDA1LTYzLjAwM3ptLTkxLjk5NS0xMzYuNDg5aDMwdjg5Ljk5MmwtMzAtMjIuNXptLTEyMCAyNzJoLTUwdi05Mmg1MHptMzAgMHYtMTA3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVoLTgwYy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djEwN2gtMTA5Ljk5OXYtNzcuMDA0bDE2NC45OTktMTIzLjc1MiAxNjUgMTIzLjc1M3Y3Ny4wMDN6bS0yMTkuOTk5IDMwaDIwOS45OTl2MzBoLTQ1Yy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djQ1aC00NWMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXY0NWgtOTB6bTExOS45OTkgMTUwdi0zMGg0NWM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di00NWg0NWM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di00NWg5MHYxNTB6bTI2Ny4wMDItMjcwLjUxMWMtMi44NjMgMy44MTUtNy4yNDUgNi4wMDQtMTIuMDI0IDYuMDA0LTMuMjYgMC02LjM2NS0xLjAzNi04Ljk3OS0yLjk5NmwtMTkxLjk5OS0xNDQuMDAzYy01LjMzMy00LTEyLjY2Ny00LTE4IDBsLTE5Mi4wMDggMTQ0LjAwOWMtMy4xOTMgMi4zOTctNy4xMzYgMy40MDgtMTEuMDk4IDIuODQyLTMuOTczLS41NjYtNy40ODgtMi42NDctOS44OTYtNS44NTYtNC45NjEtNi42MTQtMy42MTItMTYuMDM1IDMuMDA2LTIxbDIwOS45OTEtMTU3LjQ5MmMyLjY1Mi0xLjk4NyA1LjgzLTIuOTc5IDkuMDA3LTIuOTc5IDMuMTc1IDAgNi4zNDkuOTkyIDguOTk2IDIuOTc0bDIwOS45OTYgMTU3LjQ5N2M2LjYyIDQuOTY2IDcuOTY5IDE0LjM4NiAzLjAwOCAyMXoiLz4KICAgIDwvZz4KPC9zdmc+",_ae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDg1LjQsMjcyLjA2N2gtOC41MzN2LTE3OS4yYzAtNDIuNjY3LTM0LjEzMy03Ni44LTc2LjgtNzYuOGMtMzcuNzcsMC02NC45MzUsMjguMDA2LTY3Ljk3NCw2OS4wNDEKCQkJCWMtMTkuODI5LDMuNzQ4LTM0LjQyNiwyMC44MjYtMzQuNDI2LDQxLjg5MmMwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNoNjguMjY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzMwoJCQkJYzAtMjAuODMzLTE0LjI3NC0zNy43NjktMzMuNzY3LTQxLjc2N2MyLjU1LTI3LjExNiwxOC44MzYtNTIuMSw1MC44MzQtNTIuMWMzMy4yOCwwLDU5LjczMywyNi40NTMsNTkuNzMzLDU5LjczM3YxNzkuMkgyMDIuOTc1CgkJCQljLTMuODYtMTkuNjgxLTIwLjg3OC0zNC4xMzMtNDEuODQxLTM0LjEzM2MtOC41MzMtMTAuMjQtMjAuNDgtMTcuMDY3LTM0LjEzMy0xNy4wNjdjLTE2LjIxMywwLTMwLjcyLDkuMzg3LTM3LjU0NywyMy4wNAoJCQkJYy02LjgyNy0zLjQxMy0xNC41MDctNS45NzMtMjIuMTg3LTUuOTczYy0yMC45NjMsMC0zNy45ODEsMTQuNDUyLTQxLjg0MSwzNC4xMzNIMjQuNmMtMTQuNTA3LDAtMjUuNiwxMS4wOTMtMjUuNiwyNS42CgkJCQljMCwxNC41MDcsMTEuMDkzLDI1LjYsMjUuNiwyNS42aDEwLjI1NWwyMy4wMjUsOTEuMzA3YzYuODI3LDI2LjQ1MywzMC43Miw0NS4yMjcsNTguMDI3LDQ1LjIyN2g2LjgyN2wtMTEuMDkzLDIyLjE4NwoJCQkJYy0yLjU2LDQuMjY3LTAuODUzLDkuMzg3LDMuNDEzLDExLjA5M2MwLjg1MywwLjg1MywyLjU2LDAuODUzLDMuNDEzLDAuODUzYzMuNDEzLDAsNS45NzMtMS43MDcsNy42OC00LjI2N0wxNDEuMDgsNDU5LjhoMjM2LjgKCQkJCWwxNC41MDcsMjkuMDEzYzEuNzA3LDMuNDEzLDQuMjY3LDUuMTIsNy42OCw1LjEyYzEuNzA3LDAsMi41NiwwLDMuNDEzLTEuNzA3YzMuNDEzLTEuNzA3LDUuMTItNi44MjcsMy40MTMtMTEuMDkzCgkJCQlsLTEwLjY4OS0yMS4zNzljMjYuNDE5LTAuOTM4LDQ5LjI2Ni0xOS4zOSw1NS45MTYtNDQuMzI4bDIzLjI0LTkyLjE2aDEwLjA0YzE0LjUwNywwLDI1LjYtMTEuMDkzLDI1LjYtMjUuNgoJCQkJQzUxMSwyODMuMTYsNDk5LjkwNywyNzIuMDY3LDQ4NS40LDI3Mi4wNjd6IE0zNjUuMDgsMTE4LjQ2N2gtNDguNjRjMy40MTMtMTAuMjQsMTMuNjUzLTE3LjA2NywyNC43NDctMTcuMDY3CgkJCQlTMzYxLjY2NywxMDguMjI3LDM2NS4wOCwxMTguNDY3eiBNNjcuMjY3LDI1NWM3LjY4LDAsMTQuNTA3LDMuNDEzLDIwLjQ4LDkuMzg3YzEuNzA3LDIuNTYsNS4xMiwzLjQxMyw4LjUzMywyLjU2CgkJCQlzNS4xMi0zLjQxMyw1Ljk3My02LjgyN2MyLjU2LTEyLjgsMTIuOC0yMi4xODcsMjUuNi0yMi4xODdjOS4zODcsMCwxNy45Miw0LjI2NywyMi4xODcsMTIuOGMxLjcwNywzLjQxMyw1Ljk3Myw1LjEyLDkuMzg3LDQuMjY3CgkJCQljMC44NTMsMCwxLjcwNywwLDIuNTYsMGMxMS4wOTMsMCwyMC40OCw2LjgyNywyMy44OTMsMTcuMDY3SDQzLjM3M0M0Ni43ODcsMjYxLjgyNyw1Ni4xNzMsMjU1LDY3LjI2NywyNTV6IE00MzYuNzYsNDEwLjMwNwoJCQkJYy01LjEyLDE4Ljc3My0yMi4xODcsMzIuNDI3LTQxLjgxMywzMi40MjdIMTE2Ljc2Yy0xOS42MjcsMC0zNi42OTMtMTMuNjUzLTQxLjgxMy0zMi40MjdsLTIyLjE4Ny04Ny4wNGg0MDQuNDhMNDM2Ljc2LDQxMC4zMDd6CgkJCQkgTTQ4NS40LDMwNi4yaC0xNy4wNjdINDEuNjY3SDI0LjZjLTUuMTIsMC04LjUzMy0zLjQxMy04LjUzMy04LjUzM3MzLjQxMy04LjUzMyw4LjUzMy04LjUzM2g4LjUzM2gxNjIuMTMzSDQ4NS40CgkJCQljNS4xMiwwLDguNTMzLDMuNDEzLDguNTMzLDguNTMzUzQ5MC41MiwzMDYuMiw0ODUuNCwzMDYuMnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcKCQkJCUMyOTcuNjY3LDE3MC41MiwzMDEuMDgsMTczLjkzMywzMDYuMiwxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDYuMiwyMTMuMTg3YzUuMTIsMCw4LjUzMy00LjI2Nyw4LjUzMy04LjUzM3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y5LjM4NwoJCQkJQzI5Ny42NjcsMjA5Ljc3MywzMDEuMDgsMjEzLjE4NywzMDYuMiwyMTMuMTg3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDYuMiwyNDYuNDY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y0LjI2NwoJCQkJQzI5Ny42NjcsMjQzLjA1MywzMDEuMDgsMjQ2LjQ2NywzMDYuMiwyNDYuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNDAuMzMzLDE3My45MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCWMtNS4xMiwwLTguNTMzLDMuNDEzLTguNTMzLDguNTMzdjQuMjY3QzMzMS44LDE3MC41MiwzMzUuMjEzLDE3My45MzMsMzQwLjMzMywxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMzEuOCwyMDQuNjUzYzAsNS4xMiwzLjQxMyw4LjUzMyw4LjUzMyw4LjUzM2M1LjEyLDAsOC41MzMtNC4yNjcsOC41MzMtOC41MzN2LTkuMzg3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzMwoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjA0LjY1M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzMxLjgsMjM3LjkzM2MwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCWMtNS4xMiwwLTguNTMzLDMuNDEzLTguNTMzLDguNTMzVjIzNy45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM3NC40NjcsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcKCQkJCUMzNjUuOTMzLDE3MC41MiwzNjkuMzQ3LDE3My45MzMsMzc0LjQ2NywxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuOTMzLDIwNC42NTNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzUzM4MywyMDguOTIsMzgzLDIwNC42NTN2LTkuMzg3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzMwoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMDQuNjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuOTMzLDIzNy45MzNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCXMtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjM3LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Sae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00OTYsMzQ0aC04VjI4MGEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMyVjExMmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDg4YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJWMjQ4YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJ2NjRIMTZhOCw4LDAsMCwwLTgsOHYzMmE4LDgsMCwwLDAsOCw4aDh2MzJhOCw4LDAsMCwwLDgsOEg1NmE3Ljk5LDcuOTksMCwwLDAsNy44NC02LjQzTDcwLjU2LDM5Mkg0NDEuNDRsNi43MiwzMy41N0E3Ljk5LDcuOTksMCwwLDAsNDU2LDQzMmgyNGE4LDgsMCwwLDAsOC04VjM5Mmg4YTgsOCwwLDAsMCw4LThWMzUyQTgsOCwwLDAsMCw0OTYsMzQ0Wk03MiwxMTJBMTYuMDIxLDE2LjAyMSwwLDAsMSw4OCw5Nkg0MjRhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNiwxNlYyNDhINDI0VjIxNmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDI5NmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLDMydjMySDI0OFYyMTZhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMi0zMkgxMjBhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMnYzMkg3MlpNNDA4LDIxNnYzMkgyODBWMjE2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZoOTZBMTYuMDIxLDE2LjAyMSwwLDAsMSw0MDgsMjE2Wm0tMTc2LDB2MzJIMTA0VjIxNmExNi4wMjEsMTYuMDIxLDAsMCwxLDE2LTE2aDk2QTE2LjAyMSwxNi4wMjEsMCwwLDEsMjMyLDIxNlpNNDAsMjgwYTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZINDU2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYsMTZ2NjRINDBabTkuNDQsMTM2SDQwVjM5Mkg1NC4yNFpNNDcyLDQxNmgtOS40NGwtNC44LTI0SDQ3MlptMTYtNDBIMjRWMzYwSDQ4OFoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",xae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NS4zOTMgNDUuMzkzIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQzLjUxOCwxMi43MDlMMjUuMTc4LDAuNzI4Yy0xLjUxMS0wLjk3OC0zLjQ1OC0wLjk2OC00Ljk2LDAuMDIxTDEuODU5LDEyLjcxOWMtMS4xNCwwLjc1MS0xLjQ1NSwyLjI4NC0wLjcwNSwzLjQyNAoJCQljMC43NTEsMS4xNCwyLjI4MywxLjQ1NiwzLjQyNCwwLjcwNEwyMi43MTUsNS4wMjFMNDAuODMsMTYuODU3YzAuNDE2LDAuMjY5LDAuODgxLDAuMzk2LDEuMzQxLDAuMzk2CgkJCWMwLjgxMiwwLDEuNjA0LTAuMzk3LDIuMDc3LTEuMTI3QzQ0Ljk5LDE0Ljk4LDQ0LjY2MiwxMy40NTIsNDMuNTE4LDEyLjcwOXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzguODc5LDI3LjYxNmMtMC4xNTEtMC44NjUtMC45MDMtMS41MDUtMS43OC0xLjUwNWgtMS4wMDhsLTAuMzgzLTMuOTg3Yy0wLjQwOS00LjI2NC0zLjk0OC03LjQ5LTguMjMyLTcuNDlIMTcuOTIKCQkJYy00LjI4NSwwLTcuODIzLDMuMjI3LTguMjMzLDcuNDlsLTAuMzgyLDMuOTg3SDguMjk2Yy0wLjg3OCwwLTEuNjI5LDAuNjQtMS43ODIsMS41MDVsLTEuNSw4LjUwNAoJCQljLTAuMTg2LDEuMDU0LDAuMTEyLDIuMTM5LDAuOCwyLjk1N2MwLjY2MiwwLjc4OCwxLjYzNywxLjI1OCwyLjY1NywxLjI5M3YxLjQxMmMwLDEuOTk5LDEuNjAyLDMuNjEsMy42MDMsMy42MWgxLjEzOAoJCQljMS45OTksMCwzLjYyNS0xLjYxMSwzLjYyNS0zLjYxdi0xLjM4OWgxMS43MzJ2MS4zODZjMCwyLDEuNjEzLDMuNjEzLDMuNjEyLDMuNjEzaDEuMTM5YzEuOTk5LDAsMy42MTQtMS42MTMsMy42MTQtMy42MTNWNDAuMzcKCQkJYzEuMDItMC4wMzUsMS45ODktMC41MDEsMi42NDktMS4yODhjMC42ODgtMC44MiwwLjk4Mi0xLjg5OSwwLjc5OC0yLjk1NUwzOC44NzksMjcuNjE2eiBNMTEuNjQyLDM3LjExMwoJCQljLTEuNjg3LDAtMy4wNTUtMS4zNjctMy4wNTUtMy4wNTZjMC0xLjY4OSwxLjM2OC0zLjA1NywzLjA1NS0zLjA1N2MxLjY4OCwwLDMuMDU3LDEuMzY3LDMuMDU3LDMuMDU3CgkJCUMxNC42OTksMzUuNzQ2LDEzLjMzLDM3LjExMywxMS42NDIsMzcuMTEzeiBNMTIuNDA0LDI2LjExMWwwLjM1My0zLjY3OGMwLjI1Ny0yLjY3NCwyLjQ3Ni00LjY4OCw1LjE2My00LjY4OGgwLjU1MXYxLjE1NgoJCQljMCwxLjAwMywwLjc5NywxLjgwMiwxLjc5OSwxLjgwMmg0Ljg1NmMxLjAwMiwwLDEuODEzLTAuNzk5LDEuODEzLTEuODAydi0xLjE1NWgwLjUzN2MyLjY4NywwLDQuOTA2LDIuMDE0LDUuMTYyLDQuNjg4CgkJCWwwLjM1NCwzLjY3OEwxMi40MDQsMjYuMTExTDEyLjQwNCwyNi4xMTF6IE0zMy43NSwzNy4xMTNjLTEuNjg3LDAtMy4wNTUtMS4zNjctMy4wNTUtMy4wNTZjMC0xLjY4OSwxLjM2OC0zLjA1NywzLjA1NS0zLjA1NwoJCQljMS42ODgsMCwzLjA1NywxLjM2NywzLjA1NywzLjA1N0MzNi44MDcsMzUuNzQ2LDM1LjQzOCwzNy4xMTMsMzMuNzUsMzcuMTEzeiIvPgogICAgPC9nPgo8L3N2Zz4K",fae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDk0LjU5NCwzOTQuMjM3aC0xOS40NjFjMTIuOTU0LTE5LjU0MywyMC41MTItNDIuOTU4LDIwLjUxMi02OC4xMDljMC02OC4xNTctNTUuNDQ5LTEyMy42MDYtMTIzLjYwNi0xMjMuNjA2CgkJCWMtNy4xNzEsMC0xNC4yLDAuNjIyLTIxLjA0LDEuNzk5YzE3Ljg1My0yMS40MzUsMjguNjA4LTQ4Ljk3OSwyOC42MDgtNzguOTlDMzc5LjYwNiw1Ny4xNzQsMzI0LjE1NywxLjcyNCwyNTYsMS43MjQKCQkJYy02OC4xNTcsMC0xMjMuNjA2LDU1LjQ0OS0xMjMuNjA2LDEyMy42MDZjMCwzMC4wMTIsMTAuNzU1LDU3LjU1NSwyOC42MDgsNzguOTljLTYuODQtMS4xNzgtMTMuODY5LTEuNzk5LTIxLjA0LTEuNzk5CgkJCWMtNjguMTU3LDAtMTIzLjYwNiw1NS40NDktMTIzLjYwNiwxMjMuNjA2YzAsMjUuMTUxLDcuNTU4LDQ4LjU2NywyMC41MTIsNjguMTA5SDE3LjQwNkwwLDUxMC4yNzZoOTMuMjk0bDE1LjEzNS0yMC4xODFoNjMuMDY0CgkJCWwxNS4xMzUsMjAuMTgxaDEzOC43NDJsMTUuMTM1LTIwLjE4MWg2My4wNjRsMTUuMTM1LDIwLjE4MUg1MTJMNDk0LjU5NCwzOTQuMjM3eiBNNDY5LjUxOSwzNzMuNjdsLTEzLjE0Mi03LjU4OAoJCQljNC43MzYtOS45NTgsNy43Ni0yMC44ODEsOC42ODgtMzIuMzg3aDE1LjE3NUM0NzkuMjU0LDM0Ny45NDgsNDc1LjUwMywzNjEuNDUsNDY5LjUxOSwzNzMuNjd6IE00MDkuODc3LDM5NC41MzN2LTEzNi44MQoJCQljMjQuMDQ1LDEzLjM1NCw0MC4zNjEsMzkuMDA1LDQwLjM2MSw2OC40MDVTNDMzLjkyMiwzODEuMTc4LDQwOS44NzcsMzk0LjUzM3ogTTQxOS41ODEsNDIzLjYwOAoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMNDE5LjU4MSw0MjMuNjA4eiBNNDQ4Ljc4NywzNzkuMTc2CgkJCWwxMy4xNDgsNy41OTFjLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzQzNC4zMzYsMzk2LjQ2NCw0NDIuMzc1LDM4OC40MjUsNDQ4Ljc4NywzNzkuMTc2egoJCQkgTTQ4MC4yNDEsMzE4LjU2aC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEM0NzUuNTAzLDI5MC44MDUsNDc5LjI1NCwzMDQuMzA3LDQ4MC4yNDEsMzE4LjU2egoJCQkgTTQzMi42NzgsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTkKCQkJTDQzMi42NzgsMjM2LjIzMXogTTQxMS45OTQsMjQxLjc4OWMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4di0xNS4xNzZjMTQuMjUyLDAuOTg3LDI3Ljc1NCw0LjczOCwzOS45NzQsMTAuNzIyCgkJCUw0MTEuOTk0LDI0MS43ODl6IE0zOTQuNzQyLDI1MS4zdjE0OS42NTVjLTcuMTg5LDIuMTg2LTE0LjgxLDMuMzcyLTIyLjcwMywzLjM3MmMtNy44OTQsMC0xNS41MTQtMS4xODctMjIuNzAzLTMuMzcyVjI1MS4zCgkJCWM3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMzc5LjkzMiwyNDcuOTI4LDM4Ny41NTIsMjQ5LjExNCwzOTQuNzQyLDI1MS4zeiBNMTc3LjgsMzk0LjUzM3YtMTM2LjgxCgkJCWMyNC4wNDUsMTMuMzU0LDQwLjM2MSwzOS4wMDUsNDAuMzYxLDY4LjQwNVMyMDEuODQ1LDM4MS4xNzgsMTc3LjgsMzk0LjUzM3ogTTE4Ny41MDQsNDIzLjYwOAoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMMTg3LjUwNCw0MjMuNjA4eiBNMjgyLjE0MiwyNjUuNDg4CgkJCWM3Ljc5NC0xMS41MTcsMTcuNzQtMjEuNDYzLDI5LjI1Ni0yOS4yNTZsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OUwyODIuMTQyLDI2NS40ODh6IE0yODcuNywyODYuMTczCgkJCWMtNC43MzYsOS45NTgtNy43NiwyMC44ODEtOC42ODgsMzIuMzg3aC0xNS4xNzVjMC45ODctMTQuMjUzLDQuNzM3LTI3Ljc1NCwxMC43MjItMzkuOTc1TDI4Ny43LDI4Ni4xNzN6IE0zMTYuNjQsMjE1LjIyNwoJCQlsLTcuNTkxLTEzLjE0OGM5LjI0OS02LjQxMiwxNy4yODctMTQuNDUsMjMuNjk5LTIzLjY5OWwxMy4xNDgsNy41OTFDMzM4LjEwMywxOTcuNDg3LDMyOC4xNTcsMjA3LjQzMywzMTYuNjQsMjE1LjIyN3oKCQkJIE0yOTMuODM5LDE5My43MzZWNTYuOTI1QzMxNy44ODQsNzAuMjgsMzM0LjIsOTUuOTMsMzM0LjIsMTI1LjMzMVMzMTcuODg0LDE4MC4zODEsMjkzLjgzOSwxOTMuNzM2eiBNMjk1Ljk1NSwyMDkuNjY5CgkJCWw3LjU4NywxMy4xNDJjLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVDMjc1LjA3NCwyMTcuNDMsMjg1Ljk5NiwyMTQuNDA3LDI5NS45NTUsMjA5LjY2OXogTTI3Ny4wNCwyNDcuMTM4CgkJCWMtOC45NTEsMTAuNzQ3LTE2LjExOSwyMy4wMjgtMjEuMDQsMzYuMzg5Yy00LjkyMS0xMy4zNjEtMTIuMDg5LTI1LjY0MS0yMS4wNC0zNi4zODljNi44NCwxLjE3OCwxMy44NjksMS43OTksMjEuMDQsMS43OTkKCQkJQzI2My4xNzEsMjQ4LjkzNywyNzAuMiwyNDguMzE1LDI3Ny4wNCwyNDcuMTM4eiBNMjQ4LjE2NCwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4CgkJCUMyNDMuNDI2LDI5MC44MDUsMjQ3LjE3NywzMDQuMzA3LDI0OC4xNjQsMzE4LjU2eiBNMjQ4LjQzMSwyMzMuNTMzYy0xNC4yNTItMC45ODctMjcuNzU0LTQuNzM4LTM5Ljk3NC0xMC43MjJsNy41ODctMTMuMTQyCgkJCWM5Ljk1OCw0LjczNiwyMC44ODEsNy43NiwzMi4zODcsOC42ODhWMjMzLjUzM3ogTTIxOC4xNjEsMTkzLjczNmMtMjQuMDQ1LTEzLjM1NC00MC4zNjEtMzkuMDA1LTQwLjM2MS02OC40MDUKCQkJYzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDVWMTkzLjczNnogTTE3OS4yNTEsMTc4LjM3OWM2LjQxMiw5LjI0OSwxNC40NSwxNy4yODcsMjMuNjk5LDIzLjY5OWwtNy41OTEsMTMuMTQ4CgkJCWMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2TDE3OS4yNTEsMTc4LjM3OXogTTIwMC42MDEsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTYKCQkJbC0xMy4xNDgsNy41OTFjLTYuNDEyLTkuMjQ5LTE0LjQ1LTE3LjI4Ny0yMy42OTktMjMuNjk5TDIwMC42MDEsMjM2LjIzMXogTTIxNi43MSwzNzkuMTc2bDEzLjE0OCw3LjU5MQoJCQljLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzIwMi4yNTksMzk2LjQ2NCwyMTAuMjk4LDM4OC40MjUsMjE2LjcxLDM3OS4xNzZ6IE0yMjQuMywzNjYuMDgyCgkJCWM0LjczNi05Ljk1OCw3Ljc2LTIwLjg4MSw4LjY4OC0zMi4zODdoMTUuMTc1Yy0wLjk4NywxNC4yNTMtNC43MzcsMjcuNzU0LTEwLjcyMiwzOS45NzVMMjI0LjMsMzY2LjA4MnogTTI1NiwzNjguNzI5CgkJCWMzLjMzMiw5LjA0NSw3LjY5NywxNy41OTMsMTIuOTQ0LDI1LjUwOGgtMjUuODg4QzI0OC4zMDMsMzg2LjMyMSwyNTIuNjY4LDM3Ny43NzQsMjU2LDM2OC43Mjl6IE0yNjMuODM2LDMzMy42OTVoMTUuMTc1CgkJCWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N2wtMTMuMTQyLDcuNTg4QzI2OC41NzQsMzYxLjQ1LDI2NC44MjMsMzQ3Ljk0OCwyNjMuODM2LDMzMy42OTV6IE0yOTUuMjksMzc5LjE3NgoJCQljNi40MTIsOS4yNDksMTQuNDUsMTcuMjg3LDIzLjY5OSwyMy42OTlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2TDI5NS4yOSwzNzkuMTc2egoJCQkgTTI5My44MzksMzI2LjEyOGMwLTI5LjQsMTYuMzE2LTU1LjA1MSw0MC4zNjEtNjguNDA1djEzNi44MUMzMTAuMTU1LDM4MS4xNzgsMjkzLjgzOSwzNTUuNTI4LDI5My44MzksMzI2LjEyOHogTTMzMi4wODQsNDEwLjQ2NgoJCQljOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDMzMi4wODQsNDEwLjQ2NnogTTM2NC40NzEsMjE3LjkyNVYyMzMuMQoJCQljLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDJDMzM2LjcxNiwyMjIuNjYzLDM1MC4yMTgsMjE4LjkxMiwzNjQuNDcxLDIxNy45MjV6IE0zNTMuNDgsMTcyLjg3MwoJCQlsLTEzLjE0Mi03LjU4OGM0LjczNi05Ljk1OCw3Ljc2LTIwLjg4MSw4LjY4OC0zMi4zODdoMTUuMTc1QzM2My4yMTYsMTQ3LjE1MSwzNTkuNDY1LDE2MC42NTMsMzUzLjQ4LDE3Mi44NzN6IE0zNjQuMjAyLDExNy43NjMKCQkJaC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEMzNTkuNDY1LDkwLjAwOCwzNjMuMjE2LDEwMy41MSwzNjQuMjAyLDExNy43NjN6IE0zMTYuNjQsMzUuNDM0CgkJCWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTlMMzE2LjY0LDM1LjQzNHogTTI5NS45NTYsNDAuOTkyCgkJCWMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4VjE3LjEyOGMxNC4yNTIsMC45ODcsMjcuNzU0LDQuNzM4LDM5Ljk3NCwxMC43MjJMMjk1Ljk1Niw0MC45OTJ6IE0yNzguNzAzLDUwLjUwM3YxNDkuNjU1CgkJCWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWNTAuNTAzYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3MgoJCQlDMjYzLjg5NCw0Ny4xMzEsMjcxLjUxNCw0OC4zMTcsMjc4LjcwMyw1MC41MDN6IE0yNDguNDMyLDE3LjEyOHYxNS4xNzVjLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDIKCQkJQzIyMC42NzgsMjEuODY2LDIzNC4xOCwxOC4xMTUsMjQ4LjQzMiwxNy4xMjh6IE0xOTUuMzYsMzUuNDM0bDcuNTkxLDEzLjE0OGMtOS4yNDksNi40MTItMTcuMjg3LDE0LjQ1LTIzLjY5OSwyMy42OTkKCQkJbC0xMy4xNDgtNy41OTFDMTczLjg5Nyw1My4xNzQsMTgzLjg0Myw0My4yMjgsMTk1LjM2LDM1LjQzNHogTTE1OC41Miw3Ny43ODhsMTMuMTQyLDcuNTg4Yy00LjczNiw5Ljk1OC03Ljc2LDIwLjg4MS04LjY4OCwzMi4zODcKCQkJaC0xNS4xNzVDMTQ4Ljc4NSwxMDMuNTEsMTUyLjUzNSw5MC4wMDgsMTU4LjUyLDc3Ljc4OHogTTE1OC41MiwxNzIuODczYy01Ljk4NC0xMi4yMi05LjczNS0yNS43MjItMTAuNzIyLTM5Ljk3NWgxNS4xNzUKCQkJYzAuOTI3LDExLjUwNiwzLjk1MSwyMi40MjksOC42ODgsMzIuMzg3TDE1OC41MiwxNzIuODczeiBNMTg3LjUwNCwyMjguNjQ3bC03LjU4NywxMy4xNDJjLTkuOTU4LTQuNzM2LTIwLjg4MS03Ljc2LTMyLjM4Ny04LjY4OAoJCQl2LTE1LjE3NkMxNjEuNzgyLDIxOC45MTIsMTc1LjI4NCwyMjIuNjY0LDE4Ny41MDQsMjI4LjY0N3ogTTE2Mi42NjUsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyCgkJCWMtNy44OTQsMC0xNS41MTQtMS4xODctMjIuNzAzLTMuMzcyVjI1MS4zYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3MkMxNDcuODU1LDI0Ny45MjgsMTU1LjQ3NSwyNDkuMTE0LDE2Mi42NjUsMjUxLjN6CgkJCSBNNjEuNzYyLDMyNi4xMjhjMC0yOS40LDE2LjMxNi01NS4wNTEsNDAuMzYxLTY4LjQwNXYxMzYuODFDNzguMDc4LDM4MS4xNzgsNjEuNzYyLDM1NS41MjgsNjEuNzYyLDMyNi4xMjh6IE04Ni45MTMsNDAyLjg3NgoJCQlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2bDEzLjE0OC03LjU5MUM2OS42MjUsMzg4LjQyNSw3Ny42NjQsMzk2LjQ2NCw4Ni45MTMsNDAyLjg3NnoKCQkJIE0xMDAuMDA3LDQxMC40NjZjOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDEwMC4wMDcsNDEwLjQ2NnoKCQkJIE0xMzIuMzk0LDIxNy45MjVWMjMzLjFjLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDJDMTA0LjYzOSwyMjIuNjYzLDExOC4xNDEsMjE4LjkxMiwxMzIuMzk0LDIxNy45MjUKCQkJeiBNNzkuMzIyLDIzNi4yMzFsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OWwtMTMuMTQ4LTcuNTkxCgkJCUM1Ny44NTksMjUzLjk3MSw2Ny44MDUsMjQ0LjAyNSw3OS4zMjIsMjM2LjIzMXogTTQyLjQ4MSwyNzguNTg1bDEzLjE0Miw3LjU4OGMtNC43MzYsOS45NTgtNy43NiwyMC44ODEtOC42ODgsMzIuMzg3SDMxLjc1OQoJCQlDMzIuNzQ2LDMwNC4zMDcsMzYuNDk3LDI5MC44MDUsNDIuNDgxLDI3OC41ODV6IE0zMS43NTksMzMzLjY5NWgxNS4xNzVjMC45MjcsMTEuNTA2LDMuOTUxLDIyLjQyOSw4LjY4OCwzMi4zODdMNDIuNDgsMzczLjY3CgkJCUMzNi40OTcsMzYxLjQ1LDMyLjc0NiwzNDcuOTQ4LDMxLjc1OSwzMzMuNjk1eiBNNDI2LjI3NCw0OTUuMTRsLTE1LjEzNS0yMC4xODFoLTc4LjJsLTE1LjEzNSwyMC4xODFIMTk0LjE5N2wtMTUuMTM1LTIwLjE4MQoJCQloLTc4LjJMODUuNzI2LDQ5NS4xNEgxNy41NzVsMTIuODY1LTg1Ljc2OGgxOC4yM2MyMi42MiwyNC43ODYsNTUuMTcxLDQwLjM2MSw5MS4yOTEsNDAuMzYxczY4LjY3MS0xNS41NzUsOTEuMjkxLTQwLjM2MWg0OS40OTQKCQkJYzIyLjYyLDI0Ljc4Niw1NS4xNzEsNDAuMzYxLDkxLjI5MSw0MC4zNjFzNjguNjcxLTE1LjU3NSw5MS4yOTEtNDAuMzYxaDE4LjIzbDEyLjg2NSw4NS43NjhINDI2LjI3NHoiLz4KICAgICAgICA8cmVjdCB4PSIzMDUuOTQ4IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjE5MC45MTkiIHk9IjExNi43NTUiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMjQ4LjQzMyIgeT0iMTExLjIwNSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI2NS43OTkiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+CiAgICAgICAgPHJlY3QgeD0iMjQ4LjQzMyIgeT0iMTcxLjc0NyIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSI0MjEuOTg2IiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjMwNi45NTciIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMzY0LjQ3MiIgeT0iMzEyLjAwMiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIzNjQuNDcyIiB5PSIyNjYuNTk2IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjMwLjI3MSIvPgogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTg5LjkxIiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9Ijc0Ljg4IiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTMyLjM5NSIgeT0iMjY2LjU5NiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIzMC4yNzEiLz4KICAgICAgICA8cmVjdCB4PSIxMzIuMzk1IiB5PSIzNzIuNTQ0IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjQ2MS4zODciIHk9IjQ3MC44ODEiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTg4OSAtMC4xNDgzIDAuMTQ4MyAwLjk4ODkgLTY1Ljc3MiA3NC44NDExKSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjQ1Ni4yMSIgeT0iNDMxLjkzNSIgdHJhbnNmb3JtPSJtYXRyaXgoMC45ODg5IC0wLjE0ODMgMC4xNDgzIDAuOTg4OSAtNjAuNzE5OSA3My42OTAzKSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjI0LjE0NSIvPgogICAgICAgIDxyZWN0IHg9IjI0OC40MzMiIHk9IjQ2NC44NyIgd2lkdGg9IjQ1LjQwNiIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyMTguMTYyIiB5PSI0NjQuODciIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMjYzLjU2OSIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyMzMuMjk4IiB5PSI0MjQuNTA5IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjM2LjEyNyIgeT0iNDM2LjQ2MSIgdHJhbnNmb3JtPSJtYXRyaXgoMC4xNDgzIC0wLjk4ODkgMC45ODg5IDAuMTQ4MyAtMzk4LjA2NzUgNDI1Ljg0MjcpIgogICAgICAgICAgICAgIHdpZHRoPSIyNC4xNDUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMzUuNDY4IiB5PSI0NzAuODYiIHRyYW5zZm9ybT0ibWF0cml4KDAuMTQ4MyAtMC45ODg5IDAuOTg4OSAwLjE0ODMgLTQzNi40ODM4IDQ1MC4wMzI1KSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgPC9nPgo8L3N2Zz4K",kae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik02MSwyMUgzYTEsMSwwLDAsMCwwLDJINjFhMSwxLDAsMCwwLDAtMloiLz4KICAgICAgICA8cGF0aCBkPSJNNjEsMkg0OWExLDEsMCwwLDAtMSwxVjE3SDQ2di0uNzY0YTEwLjUzMywxMC41MzMsMCwwLDAtMS4xLTQuNjgzQTguNTIyLDguNTIyLDAsMCwxLDQ0LDcuNzY0VjNhMSwxLDAsMCwwLTEtMUgzOWExLDEsMCwwLDAtMSwxVjcuNzY0YTguNTIyLDguNTIyLDAsMCwxLS45LDMuNzg5Yy0uMDM5LjA4LS4wNjcuMTY1LS4xLjI0Ni0uMDM4LS4wODEtLjA2Ni0uMTY2LS4xLS4yNDZBOC41MjIsOC41MjIsMCwwLDEsMzYsNy43NjRWM2ExLDEsMCwwLDAtMS0xSDMxYTEsMSwwLDAsMC0xLDFWNy43NjRhOC41MjIsOC41MjIsMCwwLDEtLjg5NSwzLjc4OUExMC41MzMsMTAuNTMzLDAsMCwwLDI4LDE2LjIzNlYxN0gxOFYxMC40MTRhMi4zOTQsMi4zOTQsMCwwLDEsLjcwNy0xLjcwNkE0LjM4NSw0LjM4NSwwLDAsMCwyMCw1LjU4NlY0aDJWNS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMjQsMTAuNDE0VjE0YTEsMSwwLDAsMCwyLDBWMTAuNDE0YTQuMzg1LDQuMzg1LDAsMCwwLTEuMjkzLTMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDI0LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxOWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC41MTUsNC41MTUsMCwwLDAsMTcsNy42NDlhNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDE2LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxMWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC4zODUsNC4zODUsMCwwLDAsOCwxMC40MTRWMTdIM2ExLDEsMCwwLDAsMCwySDYxYTEsMSwwLDAsMCwwLTJINTBWMTRINjBhMSwxLDAsMCwwLDIsMFYzQTEsMSwwLDAsMCw2MSwyWk00Miw0VjdINDBWNFpNMTAuNzA3LDguNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDEyLDUuNTg2VjRoMlY1LjU4NmE0LjM4NSw0LjM4NSwwLDAsMCwxLjI5MywzLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwxNiwxMC40MTRWMTJIMTBWMTAuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDEwLjcwNyw4LjcwOFpNMTAsMTRoNnYzSDEwWm0yMCwyLjIzNmE4LjUyMiw4LjUyMiwwLDAsMSwuODk1LTMuNzg5QTEwLjUzMywxMC41MzMsMCwwLDAsMzIsNy43NjRWNGgyVjcuNzY0YTEwLjUzMywxMC41MzMsMCwwLDAsMS4xLDQuNjgzLDguNTIyLDguNTIyLDAsMCwxLC45LDMuNzg5VjE3SDMwWk0zOCwxN3YtLjc2NGE4LjUyMiw4LjUyMiwwLDAsMSwuOS0zLjc4OUExMC41NDEsMTAuNTQxLDAsMCwwLDM5LjkyNCw5aDIuMTUyYTEwLjU0MSwxMC41NDEsMCwwLDAsMS4wMjksMy40NDcsOC41MjIsOC41MjIsMCwwLDEsLjksMy43ODlWMTdaTTYwLDRWNkg1MFY0Wk01MCwxMlY4SDYwdjRaIi8+CiAgICAgICAgPHBhdGggZD0iTTYxLDQ0SDNhMSwxLDAsMCwwLDAsMkg2MFY2MEg0NlY0OWExLDEsMCwwLDAtMiwwVjYwSDQyVjUzYTEsMSwwLDAsMC0xLTFIMjZhMSwxLDAsMCwwLTEsMXY3SDIyVjQ5YTEsMSwwLDAsMC0xLTFINWExLDEsMCwwLDAtMSwxVjYwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsMS0xVjQ1QTEsMSwwLDAsMCw2MSw0NFpNNDAsNTZIMzdWNTRoM1ptLTUsMEgzMlY1NGgzWm0tNS0ydjJIMjdWNTRaTTIwLDUyLjM4MmEzLjk0NywzLjk0NywwLDAsMC02LDBWNTBoNlpNMTksNTVhMiwyLDAsMSwxLTItMkEyLDIsMCwwLDEsMTksNTVaTTYsNTRoNnYySDZabTYtNHYySDZWNTBaTTYsNThoNnYySDZabTgsMlY1Ny42MThhMy45NDcsMy45NDcsMCwwLDAsNiwwVjYwWm0xMy0yaDN2MkgyN1ptNSwwaDN2MkgzMlptNSwyVjU4aDN2MloiLz4KICAgICAgICA8cGF0aCBkPSJNNTcsNTZhMSwxLDAsMCwwLDEtMVY1MWExLDEsMCwwLDAtMS0xSDQ5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxWm0tNy00aDZ2Mkg1MFoiLz4KICAgICAgICA8cGF0aCBkPSJNNjAsMjkuMTg0VjI2YTEsMSwwLDAsMC0xLTFINTVhMSwxLDAsMCwwLTEsMXYzLjE4NEEzLDMsMCwwLDAsNTIsMzJ2N2EyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDlWMzRhMSwxLDAsMCwwLDAtMkg0MWExLDEsMCwwLDAsMCwydjZIMzhWMzFhMSwxLDAsMCwwLTEtMUgyNWExLDEsMCwwLDAtMSwxdjlIMjJWMzlhMSwxLDAsMCwwLTIsMHYxSDE0VjMzLjQxNGEyLjM5NCwyLjM5NCwwLDAsMSwuNzA3LTEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDE2LDI4LjU4NlYyN2gydjEuNTg2YTQuMzg1LDQuMzg1LDAsMCwwLDEuMjkzLDMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDIwLDMzLjQxNFYzNWExLDEsMCwwLDAsMiwwVjMzLjQxNGE0LjM4NSw0LjM4NSwwLDAsMC0xLjI5My0zLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwyMCwyOC41ODZWMjZhMSwxLDAsMCwwLTEtMUgxNWExLDEsMCwwLDAtMSwxdjIuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDYsNC41MTUsNC41MTUsMCwwLDAtLjI5My4zNTcsNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDEyLDI4LjU4NlYyNmExLDEsMCwwLDAtMS0xSDdhMSwxLDAsMCwwLTEsMXYyLjU4NmEyLjM5NCwyLjM5NCwwLDAsMS0uNzA3LDEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDQsMzMuNDE0VjQwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsLjctMS43MTNBMi45NjQsMi45NjQsMCwwLDAsNjIsMzlWMzJBMywzLDAsMCwwLDYwLDI5LjE4NFpNNi43MDcsMzEuNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDgsMjguNTg2VjI3aDJ2MS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMTIsMzMuNDE0VjM1SDZWMzMuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDYuNzA3LDMxLjcwOFpNNiwzN2g2djNINlpNNTYsMjdoMnYySDU2Wm0tMSw0aDRhMSwxLDAsMCwxLDEsMXYzSDU0VjMyQTEsMSwwLDAsMSw1NSwzMVpNMzYsMzZIMzJWMzJoNFptLTYtNHYySDI2VjMyWm0tNCw0aDR2NEgyNlptNiw0VjM4aDR2MlptMTEsMFYzNGg0djZabTEyLDBhMSwxLDAsMCwxLTEtMVYzN2g2djJhMSwxLDAsMCwxLTEsMVoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Yae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTA0IDQ4LjAxNTYyNWgtNDk2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTktOC04di0zMi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OTZjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHYzMi4wMTU2MjVjMCA0LjQyNTc4MS0zLjU3NDIxOSA4LTggOHptLTQ4OC0xNmg0ODB2LTE2LjAxNTYyNWgtNDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQwIDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDk2IDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00NzIgMTg0LjEyODkwNmgtNDMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcxLjk4NDM3NSAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMjIuMDU4NTk0IDE3LjkzNzUtNDAgMzkuOTkyMTg3LTQwIDQuNDIxODc2IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNCA4LTggOC0xMy4yMjI2NTYgMC0yMy45OTIxODcgMTAuNzY1NjI1LTIzLjk5MjE4NyAyNCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTc5Ljk4NDM3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTIwLjAwNzgxMiAxMjguMTI4OTA2aC0xNi4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAzMTI1YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjM0Mzc1LTEwLjc2OTUzMS0yNC0yMy45OTIxODgtMjQtNC40MjE4NzQgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI2LTggOC04IDIyLjA1NDY4OCAwIDM5Ljk5MjE4OCAxNy45NDE0MDYgMzkuOTkyMTg4IDQwIDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xODMuOTg0Mzc1IDEzOC45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDIuODM5ODQ0YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LTggNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOHY0Mi44Mzk4NDRjMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzIgODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIwMCA5Ni4xMjg5MDZoLTE2LjAxNTYyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAxNTYyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNDcuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI4MC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOC00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggMTMuMjM0Mzc1IDAgMjQgMTAuNzY1NjI1IDI0IDI0IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzIuMTY3OTY5IDI2NC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQ3Ljk4NDM3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djQ3Ljk4NDM3NWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1Ni4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZjLTQuNDIxODc1IDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzI4LjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2aC04MC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg4MC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41ODIwMzEgOC04LjAwNzgxMyA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjY0LjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOHYtNDhjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djQ4YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjE5OTIxOSAyMTYuMTQ0NTMxaC00OC4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ4LjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMi4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Qae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Uae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNzMgNTEyLjI3MyIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTUwNy44OTEgMjM4LjM5OWMtNi43MjMtMzUuODgxLTIxLjg1My02Ni45MDUtNDMuNzU1LTg5LjcxOC05Ljg0NS0xMC4yNTMtMjEuNDU2LTE5Ljc1LTM0LjUxNC0yOC4yMjctMTQuOTQtOS42OTktMzIuMTkyLTE4LjQzOC01NC4yOTMtMjcuNTAzLTkuNjg0LTMuOTcyLTE5LjM3NS03LjYzNy0yOC40MDYtMTEuMDA1LTE0LjY0Mi01LjQ2LTMwLjA2NC0xMC45NTgtNDUuODQzLTE2LjMzNy01LjQyNy0xLjg1MS0xMC45MjEtMy42MDYtMTYuMjM0LTUuMzAzLTguNTA1LTIuNzE3LTE3LjMtNS41MjctMjUuNzcxLTguNzIxLTUuMjI0LTEuOTctNy40MjYtMy40NjQtOC4zMjEtNC4yNTguMDQ2LS4wNTYuMDk2LS4xMTUuMTUxLS4xNzcgNC4wNDgtNC42MTUgMjcuNjAzLTIzLjEwNSA0MS41MDEtMzMuNjc3IDIuNTYyLTEuOTQ5IDMuNTk1LTUuMzE1IDIuNTY2LTguMzY1cy0zLjg4OS01LjEwNC03LjEwNy01LjEwNGwtMTU0LjA1Mi0uMDA0Yy0xLjMyMSAwLTIuNjE5LjM0OS0zLjc2MiAxLjAxMi0xNy4yODIgMTAuMDIxLTMxLjYyMyAyNS43OS0zOS4zNDYgNDMuMjYyLTguOTQ2IDIwLjI0LTkuMDE2IDQxLjQyNS0uMjAyIDYxLjI2MyAxMi4wNyAyNy4xNjcgMzcuNTY3IDQyLjIzNyA2MC4wNjMgNTUuNTMzIDUuODcgMy40NjkgMTEuNDE0IDYuNzQ2IDE2LjY1NSAxMC4xNjcgMy4wOTUgMi4wMiA2LjI3MyA0LjAwMyA5LjM0NyA1LjkyMiAxMS41NDUgNy4yMDggMjIuNDUgMTQuMDE2IDMxLjE2NyAyMy42MDQgOC45ODEgOS44NzcgMTEuNjkzIDIyLjUwMSA3Ljg0MiAzNi41MDctOC45NDggMzIuNTQ0LTM1LjU0NCA2MS43ODEtNTkuMDA5IDg3LjU3Ni00LjM0MiA0Ljc3My04LjQ0MiA5LjI4MS0xMi40MDkgMTMuNzc2LTExLjEwNyAxMi41ODctMjcuMzkzIDMwLjg5LTQ0LjYzNCA1MC4yNjctNTYuODY5IDYzLjkxNC05NC40MTUgMTA2LjIyOS05OCAxMTEuODQ2LTEuNDc0IDIuMzA5LTEuNTcxIDUuMjM4LS4yNTQgNy42NCAxLjMxNiAyLjQwMiAzLjgzOCAzLjg5NSA2LjU3NyAzLjg5NWw0NDYuMzE2LjAwM2guMDAxYzMuMjUxIDAgNi4xMzItMi4wOTQgNy4xMzUtNS4xODcgMTEuNjU5LTM1Ljk2IDIyLjIxMi03Mi4yMzIgMzUuMjgzLTEyMS4yODMgMTUuNTkxLTU4LjUxNSAxOS4xODUtMTA1LjM1NCAxMS4zMDgtMTQ3LjQwNHptLTI1LjgwMyAxNDMuNTQzYy0xMi4zNyA0Ni40Mi0yMi40NjQgODEuMzA1LTMzLjM4NSAxMTUuMzMxbC0yNi45NC0uMDAyYzEuMjg4LTMuOTQ4IDIuNTczLTcuOTAzIDMuODYxLTExLjg0MiAxMS41OC0zNS40MSAyMi44NzctNzAuOTI1IDMyLjUwNC0xMDYuODg4IDEuNTM1LTUuNzQgMy4xMjItMTEuNjc0IDQuNjctMTcuNjQ1IDEuMDQtNC4wMDktMS4zNjgtOC4xMDMtNS4zNzgtOS4xNDItNC4wMDktMS4wMzgtOC4xMDIgMS4zNjktOS4xNDIgNS4zNzgtMS41MzMgNS45MTQtMy4xMTMgMTEuODItNC42NDEgMTcuNTMxLTkuNDM5IDM1LjI3NS0yMC43OTcgNzEuMDI1LTMyLjI3IDEwNi4xMDQtMS43OTcgNS40OTMtMy41OTUgMTAuOTkyLTUuMzg5IDE2LjUwNGgtMTU3Ljk3OGMtLjQzMi0xLjg1OC0xLjU2Ny0zLjU1My0zLjMwOS00LjY0OS0zLjUwNC0yLjIwNi04LjEzNi0xLjE1Mi0xMC4zNDIgMi4zNTMtLjQ5NS43ODYtLjk3MyAxLjU0Mi0xLjQ0OSAyLjI5NmgtMTU2LjIzNGMyNC40NzMtMzAuNTUxIDkxLjg5Ny0xMTIuMDczIDEyNC4yMzgtMTQ4LjcyNCAxNy4yNC0xOS41MzcgMzEuMzY4LTM4LjcyNiA0MS45OTQtNTcuMDMzIDE3LjU5OC0zMC4zMTkgMjQuNTY3LTU2Ljc2NSAyMC43MTYtNzguNjAxLTguMjczLTQ2LjkwOS00NS4xMjctNjUuNzY0LTc3LjY0My04Mi4zOTgtMy40MzktMS43NTktNi45OTUtMy41NzktMTAuNDA3LTUuMzc1bC0uNjA5LS4zMjFjLTMuNjYzLTEuOTMzLTguMi0uNTMtMTAuMTMzIDMuMTMzcy0uNTMgOC4yIDMuMTMzIDEwLjEzM2wuNjE2LjMyNWMzLjQ5NiAxLjg0IDcuMDkxIDMuNjggMTAuNTY4IDUuNDU4IDMyLjI1NyAxNi41MDIgNjIuNzI2IDMyLjA5IDY5LjcwMyA3MS42NSAzLjIyIDE4LjI1Ni0zLjE0NSA0MS4yOTEtMTguOTE3IDY4LjQ2Ni05Ljk4OSAxNy4yMS0yMy45MTQgMzYuMTA0LTQwLjI2OCA1NC42MzgtMzUuMjg2IDM5Ljk4OC0xMTYuMDk4IDEzNy44MzgtMTMyLjA1NiAxNTguNjQ4aC0zMy44NWMxNy44ODItMjAuNzUzIDU2Ljc0NC02NC40MjggODYuOTgxLTk4LjQxMSAxNy4yNTItMTkuMzg5IDMzLjU0Ny0zNy43MDIgNDQuNjc1LTUwLjMxMyAzLjg5Mi00LjQxIDcuOTU2LTguODc4IDEyLjI1OC0xMy42MDcgMjQuNTk3LTI3LjA0IDUyLjQ3Ni01Ny42ODggNjIuMzc1LTkzLjY5MyA1LjIwNy0xOC45MzkgMS4yMjctMzYuOS0xMS4yMDctNTAuNTc1LTE2LjQyMy0xOC4wNjItMzkuODYzLTMwLjIzNy02MC42MzUtNDIuNTE0LTIxLjU2NS0xMi43NDYtNDMuODY0LTI1LjkyNi01My45ODctNDguNzEtMTUuMDIzLTMzLjgxNSA0LjM2Ni02Ny43MTggMzEuNjY3LTg0LjQ0N2gxMy42MzljLTIwLjU1NyAxNS4wNzQtMzIuNTY4IDMwLjMwNS0zNi40OTQgNDYuMTk1LTMuMTgzIDEyLjg4Mi0uODEzIDI1Ljc1NiA3LjA0NSAzOC4yNjUgNC4zMjQgNi44ODMgOS45MDQgMTMuMTEyIDE3LjA1OCAxOS4wNDIgMy4xODggMi42NDMgNy45MTYgMi4yMDEgMTAuNTYxLS45ODggMi42NDMtMy4xODkgMi4yMDEtNy45MTctLjk4OC0xMC41NjEtNS45MDktNC44OTgtMTAuNDY1LTkuOTU5LTEzLjkyOS0xNS40NzItNS42ODgtOS4wNTYtNy4zODQtMTcuNzg2LTUuMTg1LTI2LjY4OCAzLjk3OS0xNi4xMDMgMjAuNTY4LTMyLjg1MSA0OS4zMTQtNDkuNzkzaDUwLjcxNWMtMTMuMzA2IDEwLjQ3OS0yOC4xMDUgMjQuNzc1LTI0LjA5NSA0Mi4zNTMgMy45NzkgMTcuNDQxIDI0LjE3NyAyNy4xNzkgMzkuMTc4IDMzLjQ3MiAxOS41NTggOC4yMDUgMzkuODM1IDE0LjcyIDU5LjQ0NSAyMS4wMjEgMzIuMDg4IDEwLjMxIDY1LjI2OSAyMC45NzEgOTUuMDAzIDM5LjEzNyAzMy45MzQgMjAuNzMxIDU1LjUxOCA1MS4xNTggNjIuNDIgODcuOTg5IDQuNDc4IDIzLjg5NiAzLjQyNiA1MC42MzQtMy4zMTEgODQuMTUybC0uMTA3LjUzNmMtLjgxNCA0LjA2MiAxLjgxOCA4LjAxNCA1Ljg4IDguODI4LjQ5OC4xLjk5My4xNDcgMS40ODEuMTQ3IDMuNTAxIDAgNi42MzItMi40NjQgNy4zNDYtNi4wMjhsLjEwNi0uNTMyYzcuMTI4LTM1LjQ2MiA4LjE5MS02NC4wMTggMy4zNDktODkuODY3LTcuNzA3LTQxLjEyMy0zMS42ODYtNzUuMDItNjkuMzQ0LTk4LjAyNi0zMS4yNjItMTkuMDk5LTY1LjMwOS0zMC4wMzktOTguMjM0LTQwLjYxOC0xOS4zMDctNi4yMDMtMzkuMjcxLTEyLjYxOC01OC4yMy0yMC41NzItNS43ODctMi40MjktMTAuNzEyLTQuOTEyLTE1LjA1Ny03LjU5LTUuNDY0LTMuMzY4LTEzLjcyMS04LjQ1Ny0xNS4zMDItMTUuMzg4LTIuNTc5LTExLjMwOSAxNC4zMy0yMy45OTggMjUuNTItMzIuMzk1IDMuMjE2LTIuNDE0IDYuMTA2LTQuNTg1IDguNDczLTYuNjE3IDAgMCAxMy43ODkgMCAxMy43ODcuMDAyLTkuODkyIDcuNzg2LTM0LjE1NiAxOS43MzMtMzAuMTc0IDM1LjY1MyAxLjk5OCA3Ljk4NiAxMC42ODggMTIuMTkxIDE4LjAzNSAxNC45NjIgMTMuOTgxIDUuMjcyIDI4LjMyNCA5LjM2NyA0Mi40NTYgMTQuMTg2IDE1LjY0NCA1LjMzNSAzMC45MzMgMTAuNzgzIDQ1LjQ0MiAxNi4xOTUgOC45MTMgMy4zMjUgMTguNDcgNi45MzggMjcuOTU3IDEwLjgyOSAyMS4yMTQgOC43MDEgMzcuNjc5IDE3LjAyOCA1MS44MTYgMjYuMjA2IDEyLjA5NCA3Ljg1MiAyMi44MTMgMTYuNjExIDMxLjg2MSAyNi4wMzUgMTkuODc1IDIwLjcwMSAzMy42NDggNDkuMDg4IDM5LjgzMSA4Mi4wOTEgNy40NTEgMzkuNzcxIDMuOTM3IDg0LjUwNS0xMS4wNTggMTQwLjc4MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQ0LjM2NSAxOTkuNDA3YzEuNDYxIDIuMDczIDMuNzggMy4xOCA2LjEzOCAzLjE4IDEuNDkyIDAgMy0uNDQ0IDQuMzEzLTEuMzcgMy4zODYtMi4zODYgNC4xOTYtNy4wNjUgMS44MTEtMTAuNDUxLTQuMTA5LTUuODMxLTguODExLTExLjI5My0xMy45NzMtMTYuMjMzLTIuOTkzLTIuODY1LTcuNzQxLTIuNzYtMTAuNjA0LjIzMi0yLjg2NCAyLjk5My0yLjc2MSA3Ljc0LjIzMiAxMC42MDQgNC40NjUgNC4yNzQgOC41MzEgOC45OTcgMTIuMDgzIDE0LjAzOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjU1LjA4MyAxMjIuNTE4LS40NzMtLjI0NmMtNS43NzYtMi45OTMtMTEuNTQ1LTUuOTgzLTE3LjMzNC04Ljk0NS0zLjY4NC0xLjg4My04LjIwNi0uNDI2LTEwLjA5MyAzLjI2Mi0xLjg4NiAzLjY4OC0uNDI2IDguMjA2IDMuMjYyIDEwLjA5MyA1Ljc2NSAyLjk0OSAxMS41MTEgNS45MjcgMTcuMjYzIDguOTA4bC40NzMuMjQ1YzEuMTA0LjU3MiAyLjI4My44NDMgMy40NDUuODQzIDIuNzEyIDAgNS4zMzEtMS40NzYgNi42NjUtNC4wNSAxLjkwNi0zLjY3OC40Ny04LjIwNC0zLjIwOC0xMC4xMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc5LjY4MyA1Ny41ODRjMS43NDQtNS41MSA0LjcxOS0xMC4xOTYgOC4xNjMtMTIuODU2IDMuMjc4LTIuNTMyIDMuODgyLTcuMjQyIDEuMzUxLTEwLjUyLTIuNTM0LTMuMjc5LTcuMjQ0LTMuODgyLTEwLjUyMS0xLjM1MS01Ljg4OSA0LjU0OS0xMC42MSAxMS43MjQtMTMuMjkzIDIwLjIwMS0xLjI1IDMuOTQ5LjkzOCA4LjE2NCA0Ljg4NyA5LjQxNC43NTMuMjM4IDEuNTE1LjM1MiAyLjI2NS4zNTIgMy4xODItLjAwMSA2LjEzNi0yLjA0MyA3LjE0OC01LjI0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDEuMTM2IDk1LjkwM2MtNi43NTEtMy4zMTQtMTEuNDI0LTYuMjY4LTE1LjE1Mi05LjU3Ni0zLjA5OC0yLjc1LTcuODM4LTIuNDY2LTEwLjU4OC42MzEtMi43NSAzLjA5OC0yLjQ2NyA3LjgzOC42MzEgMTAuNTg4IDQuNzc5IDQuMjQyIDEwLjQ4NCA3Ljg4OCAxOC40OTkgMTEuODIyIDEuMDYzLjUyMiAyLjE5Ljc2OSAzLjMuNzY5IDIuNzcgMCA1LjQzNS0xLjU0MiA2LjczOC00LjE5NiAxLjgyNS0zLjcxOC4yOS04LjIxMi0zLjQyOC0xMC4wMzh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI3NS44NTUgNDQxLjI3NmMtMy41NTMtMi4xMjYtOC4xNTktLjk3Mi0xMC4yODcgMi41ODMtMy40OTQgNS44MzUtNi45NDkgMTEuNTc2LTEwLjMwNiAxNy4xMjItMi4xNDUgMy41NDMtMS4wMTEgOC4xNTUgMi41MzMgMTAuMjk5IDEuMjE1LjczNSAyLjU1NCAxLjA4NSAzLjg3NyAxLjA4NSAyLjUzNyAwIDUuMDE0LTEuMjg4IDYuNDIzLTMuNjE4IDMuMzY4LTUuNTY1IDYuODM3LTExLjMyNyAxMC4zNDMtMTcuMTgzIDIuMTI3LTMuNTU0Ljk3MS04LjE2LTIuNTgzLTEwLjI4OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzY0Ljg2NCAyMjQuMTUyYy00LjA2Ny43ODYtNi43MjcgNC43Mi01Ljk0IDguNzg3LjkxIDQuNzEzIDEuMzcyIDkuNDY4IDEuMzcyIDE0LjEzMiAwIC4zNTgtLjAwMy43MTYtLjAwOSAxLjA5LS4wMTUuOTc2LS4wNDQgMS45NDctLjA4NyAyLjkxNS0uMTg3IDQuMTM4IDMuMDE4IDcuNjQzIDcuMTU1IDcuODI5LjExNS4wMDUuMjI5LjAwOC4zNDMuMDA4IDMuOTg2IDAgNy4zMDYtMy4xNCA3LjQ4Ni03LjE2My4wNTEtMS4xMTcuMDg0LTIuMjM5LjEwMS0zLjM1LjAwOC0uNDQzLjAxMS0uODg3LjAxMS0xLjMzIDAtNS42MTctLjU1NC0xMS4zMy0xLjY0NS0xNi45NzgtLjc4Ny00LjA2Ny00LjcyOC02LjcyNS04Ljc4Ny01Ljk0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDYuMjU0IDM4OS40ODFjLTMuNTgyLTIuMDczLTguMTcyLS44NTMtMTAuMjQ5IDIuNzMxLTMuMjMyIDUuNTgyLTYuNjA2IDExLjM3LTEwLjA2MiAxNy4yNjEtMi4wOTYgMy41NzMtLjg5NyA4LjE2OCAyLjY3NiAxMC4yNjQgMS4xOTIuNjk5IDIuNDk4IDEuMDMxIDMuNzg3IDEuMDMxIDIuNTc0IDAgNS4wOC0xLjMyNiA2LjQ3Ny0zLjcwNyAzLjQ2OS01LjkxNSA2Ljg1Ni0xMS43MjggMTAuMTAzLTE3LjMzMiAyLjA3Ni0zLjU4My44NTItOC4xNzEtMi43MzItMTAuMjQ4eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjEuOTI5IDI4My4zMTRjLTMuODgzLTEuNDQ2LTguMjAxLjUzLTkuNjQ2IDQuNDEzLTIuMDkxIDUuNjE5LTQuNTkyIDExLjQwNC03LjY0NiAxNy42ODYtMS44MTEgMy43MjUtLjI1OSA4LjIxMyAzLjQ2NiAxMC4wMjQgMS4wNTcuNTE0IDIuMTc0Ljc1NiAzLjI3My43NTYgMi43ODEgMCA1LjQ1NC0xLjU1MyA2Ljc1MS00LjIyMyAzLjI2Ni02LjcxOCA1Ljk1Mi0xMi45MzcgOC4yMTQtMTkuMDExIDEuNDQ1LTMuODgyLS41My04LjItNC40MTItOS42NDV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzNS45MiAzMzcuMjc1Yy0zLjU4NS0yLjA3NS04LjE3My0uODUyLTEwLjI0OSAyLjczMy0zLjEwOSA1LjM3Mi02LjYzNCAxMS40Ni05Ljk3NSAxNy41MTctMiAzLjYyNy0uNjgyIDguMTg5IDIuOTQ1IDEwLjE5IDEuMTQ4LjYzMyAyLjM5MS45MzQgMy42MTUuOTM0IDIuNjQ0IDAgNS4yMDctMS40MDEgNi41NzQtMy44NzkgMy4yNjYtNS45MiA2Ljc0OS0xMS45MzggOS44MjItMTcuMjQ3IDIuMDc3LTMuNTg1Ljg1Mi04LjE3Mi0yLjczMi0xMC4yNDh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMwOC4wMDEgMTUxLjQwMmMtMy4yMTgtMS44MzgtNi40NzQtMy43NjMtOS42MjEtNS42MjQtMi41MzEtMS40OTYtNS4wNTktMi45OS03LjYtNC40NjEtMy41ODYtMi4wNzUtOC4xNzQtLjg1Mi0xMC4yNDggMi43MzMtMi4wNzYgMy41ODQtLjg1MyA4LjE3MyAyLjczMiAxMC4yNDkgMi41MDEgMS40NDggNC45OSAyLjkxOSA3LjQ4MiA0LjM5MyAzLjE5NCAxLjg4OCA2LjQ5OCAzLjg0MSA5LjgxMyA1LjczNSAxLjE3NC42NyAyLjQ1Mi45ODkgMy43MTQuOTg5IDIuNjA0IDAgNS4xMzUtMS4zNTggNi41MTktMy43ODEgMi4wNTYtMy41OTcuODA2LTguMTc4LTIuNzkxLTEwLjIzM3oiLz4KICAgIDwvZz4KPC9zdmc+",vae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cmVjdCB4PSIxODguNjMyIiB5PSIyNTYiIHdpZHRoPSIzNS45MyIgaGVpZ2h0PSIxNy45NjUiLz4KICAgICAgICA8cGF0aCBkPSJNNDQxLjkxNyw0NzEuNTc5bDE2LjAzOS04OC4yMTljMC40ODItMi42MjMtMC4yMjgtNS4zMTYtMS45MzktNy4zNmMtMS43MDItMi4wNDQtNC4yMjgtMy4yMjgtNi44OTUtMy4yMjhoLTg5LjgyNQoJCQljLTIuNjY3LDAtNS4xOTMsMS4xODQtNi44OTUsMy4yMjhjLTEuNzExLDIuMDQ0LTIuNDIxLDQuNzM3LTEuOTM5LDcuMzZsMTYuMDM5LDg4LjIxOUgyNjAuNDkxVjMxLjQzOQoJCQljMC00Ljk2NS00LjAxOC04Ljk4Mi04Ljk4Mi04Ljk4Mkg1My44OTVjLTQuOTY1LDAtOC45ODIsNC4wMTgtOC45ODIsOC45ODJ2NDQwLjE0SDB2MTcuOTY1aDUzLjg5NWgxOTcuNjE0aDEyNS43NTRoNTMuODk1SDUxMgoJCQl2LTE3Ljk2NUg0NDEuOTE3eiBNMjQyLjUyNiw0NzEuNTc5SDYyLjg3N1Y0MC40MjFoMTc5LjY0OVY0NzEuNTc5eiBNNDIzLjY1OCw0NzEuNTc5aC0zOC44OTVsLTE0LjcwMi04MC44NDJoNjguMjk4CgkJCUw0MjMuNjU4LDQ3MS41Nzl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ1OC4xMDUsNzYuMzUxYy0yNy40NTYsMC00NC40ODksMTIuNDk2LTUzLjg5NSwyNS4xOTVjLTkuNDA4LTEyLjY5OS0yNi40MzktMjUuMTk1LTUzLjg5NS0yNS4xOTUKCQkJYy00Ljk2NSwwLTguOTgyLDQuMDE4LTguOTgyLDguOTgyYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJjMzMuNzU0LDAsNDMuMjcyLDIzLjMwNyw0NC45MTIsMjguMjQ2djIzMi4yNDYKCQkJYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJzOC45ODItNC4wMTgsOC45ODItOC45ODJWMTIyLjU3MmMxLjU0NC00LjY4LDEwLjk4Ny0yOC4yNTcsNDQuOTEyLTI4LjI1NwoJCQljNC45NjUsMCw4Ljk4Mi00LjAxOCw4Ljk4Mi04Ljk4MkM0NjcuMDg4LDgwLjM2OCw0NjMuMDcsNzYuMzUxLDQ1OC4xMDUsNzYuMzUxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDExOS4yNjNjLTE1LjU1My0xNS41NTMtMzYuODQyLTIyLjM3Ny01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5NgoJCQljLTQuNTc5LDE4Ljc3MiwyLjIzNyw0MC4wOTcsMTcuNzk4LDU1LjY2N2MxMi4zNiwxMi4zNiwyOC4zNiwxOS4yMDIsNDMuODE2LDE5LjIwMmM0LjAwOSwwLDcuOTgyLTAuNDY1LDExLjg1MS0xLjQwNAoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwxNTYuMTU4LDM4MS4zOTUsMTM0LjgzMywzNjUuODMzLDExOS4yNjN6IE0zNjcuMDA5LDE2NC45MDMKCQkJYy0xMS4xNTgsMC40MzktMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NzksMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcKCQkJQzM2Mi40NzQsMTQxLjMxNiwzNjcuNTcsMTUzLjcwMiwzNjcuMDA5LDE2NC45MDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2NS44MzMsMjAwLjEwNWMtMTUuNTUzLTE1LjU1My0zNi44NDItMjIuMzY5LTU1LjY2Ny0xNy43OThjLTMuMjU0LDAuNzk4LTUuNzk4LDMuMzQyLTYuNTk2LDYuNTk2CgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0CgkJCWMzLjI1NS0wLjc5OCw1Ljc5OC0zLjM0Miw2LjU5Ni02LjU5NkMzODguMjExLDIzNywzODEuMzk1LDIxNS42NzYsMzY1LjgzMywyMDAuMTA1eiBNMzY3LjAwOSwyNDUuNzQ2CgkJCWMtMTEuMTU4LDAuNDkxLTIzLjU5Ni00LjU0NC0zMi45MzktMTMuODc3Yy05LjM0Mi05LjM1MS0xNC40MzktMjEuNzM3LTEzLjg3Ny0zMi45MzljMTEuMTIzLTAuNTM1LDIzLjU4OCw0LjUzNSwzMi45MzksMTMuODc3CgkJCUMzNjIuNDc0LDIyMi4xNTgsMzY3LjU3LDIzNC41NDQsMzY3LjAwOSwyNDUuNzQ2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDI4MC45NDdjLTE1LjU1My0xNS41NjEtMzYuODQyLTIyLjM2OS01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5NgoJCQljLTQuNTc5LDE4Ljc3MiwyLjIzNyw0MC4wOTcsMTcuNzk4LDU1LjY2N2MxMi4zNiwxMi4zNiwyOC4zNiwxOS4yMDIsNDMuODE2LDE5LjIwMmM0LjAwOSwwLDcuOTgyLTAuNDY1LDExLjg1MS0xLjQwNAoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwzMTcuODQyLDM4MS4zOTUsMjk2LjUxOCwzNjUuODMzLDI4MC45NDd6IE0zNjcuMDA5LDMyNi41ODgKCQkJYy0xMS4xNTgsMC40NDctMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NywyMy41ODgsNC41MzUsMzIuOTM5LDEzLjg3NwoJCQlDMzYyLjQ3NCwzMDMsMzY3LjU3LDMxNS4zODYsMzY3LjAwOSwzMjYuNTg4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDkuMzg2LDEwOC4wNjFjLTAuNzk4LTMuMjU0LTMuMzQyLTUuNzk4LTYuNTk2LTYuNTk2Yy0xOC43ODktNC41Ny00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OAoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjgsMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0CgkJCWMxNS40NjUsMCwzMS40NjUtNi44NDIsNDMuODI1LTE5LjIwMkM1MDcuMTQ5LDE0OC4xNTgsNTEzLjk2NSwxMjYuODMzLDUwOS4zODYsMTA4LjA2MXogTTQ3OC44ODYsMTUxLjAyNgoJCQljLTkuMzUxLDkuMzQyLTIxLjg3NywxNC4zMjUtMzIuOTM5LDEzLjg3N2MtMC41NjEtMTEuMjAyLDQuNTM1LTIzLjU4OCwxMy44NzctMzIuOTM5YzkuMzUxLTkuMzQyLDIxLjc5OC0xNC40NDcsMzIuOTM5LTEzLjg3NwoJCQlDNDkzLjMyNSwxMjkuMjg5LDQ4OC4yMjgsMTQxLjY3NSw0NzguODg2LDE1MS4wMjZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwOS4zODYsMTg4LjkwM2MtMC43OTgtMy4yNTQtMy4zNDItNS43OTgtNi41OTYtNi41OTZjLTE4Ljc4OS00LjU3OS00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OAoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjksMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0CgkJCWMxNS40NjUsMCwzMS40NjUtNi44NDIsNDMuODI1LTE5LjIwMkM1MDcuMTQ5LDIyOSw1MTMuOTY1LDIwNy42NzYsNTA5LjM4NiwxODguOTAzeiBNNDc4Ljg4NiwyMzEuODY4CgkJCWMtOS4zNTEsOS4zMzMtMjEuODc3LDE0LjM2OC0zMi45MzksMTMuODc3Yy0wLjU2MS0xMS4yMDIsNC41MzUtMjMuNTg4LDEzLjg3Ny0zMi45MzljOS4zNTEtOS4zNDIsMjEuNzk4LTE0LjQwMywzMi45MzktMTMuODc3CgkJCUM0OTMuMzI1LDIxMC4xMzIsNDg4LjIyOCwyMjIuNTE3LDQ3OC44ODYsMjMxLjg2OHoiLz4KICAgICAgICA8cGF0aCBkPSJNNTA5LjM4NiwyNjkuNzQ2Yy0wLjc5OC0zLjI1NC0zLjM0Mi01Ljc5OC02LjU5Ni02LjU5NmMtMTguNzg5LTQuNTc5LTQwLjEwNSwyLjIzNy01NS42NjcsMTcuNzk4CgkJCWMtMTUuNTYxLDE1LjU3LTIyLjM3NywzNi44OTUtMTcuNzk4LDU1LjY2N2MwLjc5OCwzLjI1NSwzLjM0Miw1Ljc5OCw2LjU5Niw2LjU5NmMzLjg2OSwwLjkzOSw3LjgzMywxLjQwNCwxMS44NDIsMS40MDQKCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMzA5Ljg0Miw1MTMuOTY1LDI4OC41MTgsNTA5LjM4NiwyNjkuNzQ2eiBNNDc4Ljg4NiwzMTIuNzEKCQkJYy05LjM1MSw5LjM0Mi0yMS44NzcsMTQuMzMzLTMyLjkzOSwxMy44NzdjLTAuNTYxLTExLjIwMiw0LjUzNS0yMy41ODgsMTMuODc3LTMyLjkzOWM5LjM1MS05LjM0MiwyMS43OTgtMTQuNDQ3LDMyLjkzOS0xMy44NzcKCQkJQzQ5My4zMjUsMjkwLjk3NCw0ODguMjI4LDMwMy4zNiw0NzguODg2LDMxMi43MXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",bae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDIzMC41NjZoMjMyLjEzNWMyMi40MDUgMCA0MC42MzQtMTguMjI4IDQwLjYzNC00MC42MzN2LTE0OS4zYy0uMDAxLTIyLjQwNS0xOC4yMjktNDAuNjMzLTQwLjYzNS00MC42MzNoLTIzMi4xMzRjLTIyLjQwNSAwLTQwLjYzNCAxOC4yMjgtNDAuNjM0IDQwLjYzM3YxNDkuMjk5YzAgMjIuNDA2IDE4LjIyOCA0MC42MzQgNDAuNjM0IDQwLjYzNHptLTI1LjYzNC0xODkuOTMzYzAtMTQuMTM0IDExLjQ5OS0yNS42MzMgMjUuNjM0LTI1LjYzM2gyMzIuMTM1YzE0LjEzNSAwIDI1LjYzNCAxMS40OTkgMjUuNjM0IDI1LjYzM3YxNDkuMjk5YzAgMTQuMTM0LTExLjQ5OSAyNS42MzMtMjUuNjM0IDI1LjYzM2gtMjMyLjEzNWMtMTQuMTM1IDAtMjUuNjM0LTExLjQ5OS0yNS42MzQtMjUuNjMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDUuMTEgMTY0LjgxM2MxMC40MjMgMi4wODEgMTguODUgMTAuMTggMjAuOTcgMjAuMTU3IDEuNTM2IDcuMjIyIDguMDIyIDEyLjQ2MyAxNS40MjIgMTIuNDYzaDE0OC45NDdjNy40OCAwIDEzLjk4LTUuMzEgMTUuNDU1LTEyLjYyNCAyLjExNS0xMC40ODIgMTAuNTc2LTE4LjkzNiAyMS4wNTItMjEuMDM4IDcuMzA4LTEuNDY2IDEyLjYxMS03Ljk2NSAxMi42MTEtMTUuNDU0di02Ni4wNjdjMC03LjQ4NC01LjMxMS0xMy45ODUtMTIuNjI3LTE1LjQ1Ny0xMC40NzItMi4xMDctMTguOTI1LTEwLjU2My0yMS4wMzYtMjEuMDQxLTEuNDc1LTcuMzEyLTcuOTY3LTEyLjYxOC0xNS40MzktMTIuNjE4aC0xNDguOTcxYy03LjM5NSAwLTEzLjg3OCA1LjI0Mi0xNS40MTQgMTIuNDY1LTIuMTE4IDkuOTY5LTEwLjU0IDE4LjA2Ny0yMC45NTUgMjAuMTUzLTcuMzU1IDEuNDcyLTEyLjY5MiA3Ljk3OS0xMi42OTIgMTUuNDd2NjguMTI1YzAgNy40OTQgNS4zMzEgMTMuOTk5IDEyLjY3NyAxNS40NjZ6bTIuMzIzLTgzLjU5MmMwLS4zNzQuMjYyLS42ODcuNjM4LS43NjIgMTYuMjAzLTMuMjQ0IDI5LjMzNy0xNiAzMi42ODItMzEuNzQxLjA3My0uMzQ0LjM3OC0uNTg1Ljc0Mi0uNTg1aDE0OC45NzJjLjM1NyAwIC42NjYuMjQ1LjczMy41ODMgMy4yOSAxNi4zMjUgMTYuNDY0IDI5LjQ5OSAzMi43ODIgMzIuNzgyLjM0LjA2OC41ODYuMzg1LjU4Ni43NTJ2NjYuMDY3YzAgLjM2MS0uMjQxLjY4My0uNTYxLjc0Ny0xNi4zMjYgMy4yNzQtMjkuNTEgMTYuNDQ3LTMyLjgwNiAzMi43NzgtLjA2OS4zNDItLjM4Ni41OTEtLjc1Mi41OTFoLTE0OC45NDdjLS4zNjIgMC0uNjc4LS4yNDYtLjc1LS41ODItMy4zNDctMTUuNzUyLTE2LjQ5LTI4LjUxMS0zMi43MDUtMzEuNzQ4LS4zNTctLjA3MS0uNjE0LS4zODktLjYxNC0uNzU3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNzIuMDY3IDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU4IDcuNSA3LjUgNy41eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDE5OS41MDNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXYtNC4xNDJjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NC4xNDJjMCA0LjE0MyAzLjM1NyA3LjUgNy41IDcuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcyLjA2NyAxODAuMzYyYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41djQuMTQyYzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTQuMTQyYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4OS43MzMgMTY0LjFoNDkuN2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNS42MzNoMTcuMzVjMi42IDAgNS4wMTQtMS4zNDYgNi4zOC0zLjU1N3MxLjQ5MS00Ljk3Mi4zMjgtNy4yOTdsLTI0Ljg1LTQ5LjdjLTEuMjcxLTIuNTQxLTMuODY3LTQuMTQ2LTYuNzA4LTQuMTQ2cy01LjQzOCAxLjYwNS02LjcwOCA0LjE0NmwtMTQuNDkzIDI4Ljk4N2gtMjguNDk4Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41djQ5LjdjLS4wMDEgNC4xNDIgMy4zNTcgNy41IDcuNDk5IDcuNXptNDkuNzAxLTczLjU2MyAxMi43MTUgMjUuNDNoLTI1LjQzem0tNDIuMjAxIDIzLjg2M2gxMy40OThsLTIuODU2IDUuNzEzYy0xLjE2MyAyLjMyNS0xLjAzOCA1LjA4Ni4zMjggNy4yOTdzMy43OCAzLjU1NyA2LjM4IDMuNTU3aDE3LjM1MXYxOC4xMzNoLTM0Ljd2LTM0Ljd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMxMy45ODMgMTQ3LjUzM2MxNy44MzggMCAzMi4zNS0xNC41MTIgMzIuMzUtMzIuMzUgMC0xNy44MzctMTQuNTEyLTMyLjM1LTMyLjM1LTMyLjM1cy0zMi4zNTEgMTQuNTEyLTMyLjM1MSAzMi4zNWMuMDAxIDE3LjgzOCAxNC41MTQgMzIuMzUgMzIuMzUxIDMyLjM1em0wLTQ5LjY5OWM5LjU2NiAwIDE3LjM1IDcuNzgzIDE3LjM1IDE3LjM1cy03Ljc4MyAxNy4zNS0xNy4zNSAxNy4zNS0xNy4zNTEtNy43ODMtMTcuMzUxLTE3LjM1Yy4wMDEtOS41NjcgNy43ODQtMTcuMzUgMTcuMzUxLTE3LjM1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzAuODY3IDI0OC41Yy04LjU0NyAwLTE1LjUgNi45NTMtMTUuNSAxNS41djE3LjEzM2MwIDguNTQ3IDYuOTUzIDE1LjUgMTUuNSAxNS41aDUwLjI2NmM4LjU0NyAwIDE1LjUtNi45NTMgMTUuNS0xNS41di0xNy4xMzNjMC04LjU0Ny02Ljk1My0xNS41LTE1LjUtMTUuNXptNTAuNzY2IDE1LjV2MTcuMTMzYzAgLjI3Ni0uMjI1LjUtLjUuNWgtNTAuMjY2Yy0uMjc1IDAtLjUtLjIyNC0uNS0uNXYtMTcuMTMzYzAtLjI3Ni4yMjUtLjUuNS0uNWg1MC4yNjZjLjI3NSAwIC41LjIyNC41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ5Ni41IDQ2My44NjdoLTE3LjY3MmMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi04LjI4NGMwLTEwLjY1Mi02Ljk1OS0xOS43MDQtMTYuNTY3LTIyLjg2NHYtMTM2LjUwNWM5LjYwOC0zLjE2IDE2LjU2Ny0xMi4yMTIgMTYuNTY3LTIyLjg2NHYtOC4yODRjMC04LjcwMy03LjA4MS0xNS43ODMtMTUuNzg0LTE1Ljc4M2gtMi41NjJjMS4xNDMtMi44IDEuNzc5LTUuODYgMS43NzktOS4wNjcgMC0xMy4yNy0xMC43OTYtMjQuMDY2LTI0LjA2Ni0yNC4wNjZzLTI0LjA2NiAxMC43OTYtMjQuMDY2IDI0LjA2NmMwIDMuMjA3LjYzNSA2LjI2NiAxLjc3OSA5LjA2N2gtMi41NjNjLTguNzAzIDAtMTUuNzgzIDcuMDgxLTE1Ljc4MyAxNS43ODN2OC4yODRjMCAxMC41MTggNi43ODYgMTkuNDc2IDE2LjIwNyAyMi43NDEtMTguNjE2IDE4LjQzOC00MC4wMzcgMzMuMzUxLTYzLjczNCA0NC4zMzctMy43NTggMS43NDItNS4zOTMgNi4yMDEtMy42NSA5Ljk1OCAxLjI3IDIuNzM3IDMuOTc4IDQuMzQ4IDYuODEgNC4zNDggMS4wNTYgMCAyLjEyOS0uMjI0IDMuMTQ5LS42OTggMjEuMDU4LTkuNzYyIDQwLjQyNy0yMi40MzIgNTcuNzg2LTM3Ljc1NHYyMy43MTJjLTQ1LjQxIDM1LjQ5NS0xMDAuMDE0IDU0LjI0Ny0xNTguMTY3IDU0LjI0Ny01OC4xNDggMC0xMTIuNzU2LTE4Ljc1My0xNTguMTY3LTU0LjI0OXYtMjMuNjljNDMuNzY0IDM4LjY5IDk5LjI4IDU5LjgwNSAxNTguMTY3IDU5LjgwNSAyMy41OTIgMCA0Ni45MTMtMy40NDEgNjkuMzE0LTEwLjIyOCAzLjk2NC0xLjIwMSA2LjIwNC01LjM4OCA1LjAwMy05LjM1My0xLjIwMS0zLjk2NC01LjM4OS02LjIwNy05LjM1My01LjAwMy0yMC45ODkgNi4zNTktNDIuODQ3IDkuNTgzLTY0Ljk2NCA5LjU4My01OS41NzIgMC0xMTUuNDYyLTIzLjA3LTE1Ny44MDItNjUuMDE4IDkuNDE5LTMuMjY3IDE2LjIwMi0xMi4yMjQgMTYuMjAyLTIyLjc0di04LjI4NGMwLTguNzAzLTcuMDgtMTUuNzgzLTE1Ljc4My0xNS43ODNoLTIuNTYzYzEuMTQzLTIuOCAxLjc3OS01Ljg2IDEuNzc5LTkuMDY3IDAtMTMuMjctMTAuNzk2LTI0LjA2Ni0yNC4wNjYtMjQuMDY2cy0yNC4wNyAxMC43OTgtMjQuMDcgMjQuMDY4YzAgMy4yMDcuNjM2IDYuMjY2IDEuNzc5IDkuMDY3aC0yLjU2MmMtOC43MDMgMC0xNS43ODQgNy4wODEtMTUuNzg0IDE1Ljc4M3Y4LjI4NGMwIDEwLjY1MiA2Ljk1OSAxOS43MDQgMTYuNTY3IDIyLjg2NHYxMzYuNTA2Yy05LjYwOCAzLjE2LTE2LjU2NyAxMi4yMTItMTYuNTY3IDIyLjg2NHY4LjI4NGMwIC4yNjQuMDI3LjUyMi4wNC43ODNoLTE3LjY3M2MtOC41NDcgMC0xNS41IDYuOTUzLTE1LjUgMTUuNXYxNy4xMzJjMCA4LjU0NyA2Ljk1MyAxNS41IDE1LjUgMTUuNWg1OS44MzNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTU5LjgzM2MtLjI3NSAwLS41LS4yMjQtLjUtLjV2LTE3LjEzM2MwLS4yNzYuMjI1LS41LjUtLjVoNDgxYy4yNzUgMCAuNS4yMjQuNS41djE3LjEzM2MwIC4yNzYtLjIyNS41LS41LjVoLTM5MS4xNjdjLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMzkxLjE2N2M4LjU0NyAwIDE1LjUtNi45NTMgMTUuNS0xNS41di0xNy4xMzNjMC04LjU0Ny02Ljk1My0xNS41LTE1LjUtMTUuNXptLTY3LjMzMy0xNjQuNTc3Yy4xNjEtLjg3OC4xNTgtMS43NzguMDA1LTIuNjU2aDE4LjEyOHYxOC4xMzNoLTE4LjEzM3ptMCA0My45MDRjLjAxMi0uMjM5LjAxMi0uNDc5IDAtLjcxOXYtMTIuNzA5aDE4LjEzM3YxMDAuOTY3aC0xOC4xMzN6bTAtMTAzLjc2MWMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY2LTkuMDY2czkuMDY2IDQuMDY3IDkuMDY2IDkuMDY2LTQuMDY3IDkuMDY3LTkuMDY2IDkuMDY3LTkuMDY2LTQuMDY3LTkuMDY2LTkuMDY3em0tMTYuNTY3IDI0Ljg1YzAtLjQzMi4zNTItLjc4My43ODMtLjc4M2g0OS43Yy40MzMgMCAuNzg0LjM1Mi43ODQuNzgzdjguMjg0YzAgNC45OTktNC4wNjcgOS4wNjYtOS4wNjcgOS4wNjZoLTMzLjEzM2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY2em0tMTU2LjYgMTQ0LjE3NmM1Ny42NDggMCAxMTIuMDA3LTE3LjQyMiAxNTguMTY3LTUwLjUxNHY3My45OTFjLTkuNjA4IDMuMTYtMTYuNTY3IDEyLjIxMi0xNi41NjcgMjIuODY0djguMjg0YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMjgzLjI3OWMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi04LjI4NGMwLTEwLjY1Mi02Ljk1OS0xOS43MDQtMTYuNTY3LTIyLjg2NHYtNzMuOTkyYzQ2LjE2MSAzMy4wOTIgMTAwLjUyMyA1MC41MTUgMTU4LjE2NiA1MC41MTV6bS0xNzMuMTY3LTExMC43ODljLS4wMTIuMjQ3LS4wMTIuNDk1IDAgLjc0MnYxNi4zNTVoLTE4LjEzM3YtMTguMTMzaDE4LjEzM3ptLTE4LjEzMyAzMi4wOTdoMTguMTMzdjEwMC45NjdoLTE4LjEzM3ptMC05MC4zMzRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ni05LjA2NnM5LjA2NiA0LjA2NyA5LjA2NiA5LjA2Ni00LjA2NyA5LjA2Ny05LjA2NiA5LjA2Ny05LjA2Ni00LjA2Ny05LjA2Ni05LjA2N3ptLTE2LjU2NyAyNC44NWMwLS40MzIuMzUyLS43ODMuNzg0LS43ODNoNDkuN2MuNDMyIDAgLjc4My4zNTIuNzgzLjc4M3Y4LjI4NGMwIDQuOTk5LTQuMDY3IDkuMDY2LTkuMDY3IDkuMDY2aC0zMy4xMzNjLTUgMC05LjA2Ny00LjA2Ny05LjA2Ny05LjA2NnptLjc4NCAxOTkuNTg0Yy0uNDMzIDAtLjc4NC0uMzUyLS43ODQtLjc4M3YtOC4yODRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ny05LjA2NmgzMy4xMzNjNSAwIDkuMDY3IDQuMDY3IDkuMDY3IDkuMDY2djguMjg0YzAgLjQzMi0uMzUyLjc4My0uNzgzLjc4M3ptMzY0LjQ2NiAwYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtOC4yODRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ny05LjA2NmgzMy4xMzNjNSAwIDkuMDY3IDQuMDY3IDkuMDY3IDkuMDY2djguMjg0YzAgLjQzMi0uMzUyLjc4My0uNzg0Ljc4M3oiLz4KICAgIDwvZz4KPC9zdmc+",$ae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDc0LjYwOCw4MC40MzlsLTIzMi04MGMtMS42OS0wLjU4My0zLjUyNi0wLjU4My01LjIxNiwwbC0yMzIsODBDMi4xNjYsODEuNTUxLDAuMDAxLDg0LjU4NywwLDg3Ljk5OXYzODQKCQkJYzAsNC40MTgsMy41ODIsOCw4LDhoNDBjNC40MTgsMCw4LTMuNTgyLDgtOHYtMjQ4aDM2OHYyNDhjMCw0LjQxOCwzLjU4Miw4LDgsOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04di0zODQKCQkJQzQ3OS45OTksODQuNTg3LDQ3Ny44MzQsODEuNTUxLDQ3NC42MDgsODAuNDM5eiBNNDAsMjE1Ljk5OXYyNDhIMTZ2LTMwNGgyNFYyMTUuOTk5eiBNNDI0LDIwNy45OTlINTZ2LTE2aDM2OFYyMDcuOTk5egoJCQkgTTQyNCwxNzUuOTk5SDU2di0xNmgzNjhWMTc1Ljk5OXogTTQ2NCw0NjMuOTk5aC0yNHYtMzA0aDI0VjQ2My45OTl6IE00NjQsMTQzLjk5OUgxNlY5My43MDNsMjI0LTc3LjI0bDIyNCw3Ny4yNFYxNDMuOTk5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zOTUuNTc2LDM0NC43OTlsLTI5LjYtMTQuOGwtMjYuNC01Mi44Yy00LjA2MS04LjEyNS0xMi4zODEtMTMuMjQyLTIxLjQ2NC0xMy4ySDE2MS44ODgKCQkJYy05LjA5OC0wLjAzLTE3LjQyMSw1LjExNC0yMS40NjQsMTMuMjY0bC0yNi40LDUyLjhsLTI5LjYsMTQuOGMtMi43MDUsMS4zNTItNC40MTYsNC4xMTItNC40MjQsNy4xMzZ2MTEyYzAsOC44MzcsNy4xNjMsMTYsMTYsMTYKCQkJaDMyYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTI0aDE5MnYyNGMwLDguODM3LDcuMTYzLDE2LDE2LDE2aDMyYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTExMgoJCQlDNDAwLjAxNywzNDguOTUyLDM5OC4zMDEsMzQ2LjE2LDM5NS41NzYsMzQ0Ljc5OXogTTE1NC43MzYsMjg0LjQyM2MxLjM0NS0yLjcxOCw0LjExOS00LjQzNCw3LjE1Mi00LjQyNGgxNTYuMjI0CgkJCWMzLjAzMy0wLjAxLDUuODA3LDEuNzA2LDcuMTUyLDQuNDI0bDIxLjc5Miw0My41NzZIMTMyLjk0NEwxNTQuNzM2LDI4NC40MjN6IE0xMjgsNDYzLjk5OUg5NnYtMjRoMzJWNDYzLjk5OXogTTM4NCw0NjMuOTk5aC0zMgoJCQl2LTI0aDMyVjQ2My45OTl6IE0zODQsNDIzLjk5OUgxMzZIOTZ2LTY3LjA1NmwyNS44ODgtMTIuOTQ0aDIzNi4yMjRMMzg0LDM1Ni45NDNWNDIzLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzE2OCwzNjcuMTYyLDE2MC44MzcsMzU5Ljk5OSwxNTIsMzU5Ljk5OXogTTE1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzM2OCwzNjcuMTYyLDM2MC44MzcsMzU5Ljk5OSwzNTIsMzU5Ljk5OXogTTM1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjgwLDM1OS45OTloLTgwYy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoODBjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzI5NiwzNjcuMTYyLDI4OC44MzcsMzU5Ljk5OSwyODAsMzU5Ljk5OXogTTI4MCwzOTEuOTk5aC04MHYtMTZoODBWMzkxLjk5OXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Pae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMS45NzggNTExLjk3OCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjIzLjI0OGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0xNi42OTZjMC0xMi41NTcgMTAuMjE2LTIyLjc3MyAyMi43NzItMjIuNzczaDE1LjM5MmM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTUuMzkyYy0yMC44MjggMC0zNy43NzIgMTYuOTQ1LTM3Ljc3MiAzNy43NzN2MTYuNjk2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjgxLjE4N2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNC43NDZjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MjQuNzQ2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE1Ny44NTYgMjA4Ljg2djM2LjMzOWMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0zNi4zMzljMC0zLjI5NCAyLjc5Ni02LjA3OCA2LjEwNS02LjA3OGgxMy4yMzdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzLjIzN2MtMTEuNjM3IDAtMjEuMTA1IDkuNDU1LTIxLjEwNSAyMS4wNzh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyOC4xODEgMjExLjQzYzIuOTQyIDEuOTY0IDYuMzgyIDIuOTYzIDkuODg5IDIuOTYzIDIuNDQyIDAgNC45MTktLjQ4NSA3LjI4Mi0xLjQ2N2wyNC43Ni0xMC4yNTUgNjMuNTk1IDQuOTA2IDQuNjYxIDE2LjEyMWMxLjYxOSA1LjYwMSA1LjU5NiAxMC4wNzQgMTEuMTk3IDEyLjU5NSAzLjE0OCAxLjQxNyA2LjU5MSAyLjEyNCAxMC4wNDEgMi4xMjQgMy42NTMgMCA3LjMxNi0uNzkzIDEwLjY0NC0yLjM3NGwxMTcuMjkxLTU1LjcyOWM2LjQ2OS0zLjA3NCAxMS40MjUtOS4wMSAxMy4yNTgtMTUuODggMS41ODItNS45MzIuNjI5LTExLjgzNS0yLjY4NC0xNi42MTlsLTIzLjYzOS0zNC4xNjRjMTcuNzYzLTIwLjQ2MiAyMS45NDEtNDkuNTk1IDEwLjEyNy03NC40NjEtMTYuMjcyLTM0LjIwMS01Ny4zMzItNDguNzk3LTkxLjUxLTMyLjU1LTI2LjE4MSAxMi40MzUtNDEuNTkyIDQwLjAwOC0zOC45MSA2OC40NThsLTMzLjc2NiAxNi4wNDJjLS4wMDEgMC0uMDAxIDAtLjAwMSAwLTEwLjcyNSA1LjA5Ni0xNS4zOTEgMTcuMjgxLTExLjYxMSAzMC4zMTVsOC43NDUgMzAuMjQyaC00Ny4xNTdsLTI1LjA1NS0xMC4zNzdjLTUuNzYzLTIuMzcxLTEyLjE3OS0xLjc5My0xNy4xNjcgMS41NDYtNC43MTMgMy4xNTctNy40MTYgOC4yMjEtNy40MTYgMTMuODkzdjQwLjc2MWMtLjAwMiA1LjY5MSAyLjcwNiAxMC43NiA3LjQyNiAxMy45MXptMjU3LjYtNTUuMDc3Yy43OSAxLjE0Ljk2NiAyLjU1OC41MjQgNC4yMTQtLjY5MiAyLjU5My0yLjczNCA1LjAyNi01LjIwMiA2LjE5OWwtMTE3LjI5MSA1NS43MjhjLTIuNDcgMS4xNzMtNS42NDYgMS4yMjEtOC4wOTEuMTItMS41NjUtLjcwNC0yLjU1Ni0xLjc0MS0yLjk0My0zLjA4M2wtMjIuMzc2LTc3LjM4NSAxMDkuNTQyLTUyLjA0em0tODYuMjUyLTEzNi4xNjJjLjAwMSAwIC4wMDItLjAwMS4wMDMtLjAwMSAyNi43MTYtMTIuNzAzIDU4LjgwNi0xLjI4OCA3MS41MjQgMjUuNDQyIDguNjY0IDE4LjIzNyA2LjMzIDM5LjQxNy01LjQ2MyA1NS4xNzNsLS4wMjQtLjAyNi0yOC4wMDItNDAuNDdjLTcuNzI5LTExLjE2LTIwLjEzNS0xNS4yNDEtMzAuODY4LTEwLjE1N2wtMzcuODAzIDE3Ljk1OC0uMDEyLjAwM2MuMjE3LTIwLjE5IDExLjg5OS0zOS4wMTkgMzAuNjQ1LTQ3LjkyMnptLTcyLjY3NiA4NC40OTggODYuMjczLTQwLjk4NGM0Ljc1LTIuMjUxIDkuNDkyIDEuMzY2IDEyLjEwNyA1LjE0M2w2LjA2MiA4Ljc2LTEwNS4xMTUgNDkuOTM3LTIuOTY3LTEwLjI2MmMtMS4yNzgtNC40MDQtMS4wOS0xMC4zNDYgMy42NC0xMi41OTR6bS01MC40NTMgNjIuMDA5aDQ1LjQ3OGw3LjM2NSAyNS40OS01Mi44NDMtNC4wNzd6bS00MC42NDctOS45MzhjMC0uMzk1LjA3OS0uOTcyLjc2NS0xLjQzMS4yMDQtLjEzNy43NzEtLjQ1NSAxLjYxMy0uNDU1LjQyNyAwIC45MjQuMDgyIDEuNDguMzExbDIxLjc4OCA5LjAyNHYyNS44MzRsLTIxLjc5NyA5LjAyN2MtMS42NjUuNjk0LTIuNzkyLjA4NS0zLjA5Ni0uMTE4LS42NjgtLjQ0Ni0uNzU0LS45OTktLjc1NC0xLjQzMXYtNDAuNzYxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTcuOTYgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xOTAuOTIgNDY4LjI3N2MtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyNy03LjY3OC0yLjkyNy0xMC42MDcuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDcuOTU3IDQ2NC40NzljLTIuOTI5IDIuOTI5LTIuOTI5IDcuNjc4IDAgMTAuNjA2bC4wMjguMDI4YzEuNDYyIDEuNDYxIDMuMzcxIDIuMTkgNS4yODMgMi4xOSAxLjkyIDAgMy44NDItLjczNiA1LjMxLTIuMjA0IDIuOTI5LTIuOTI5IDIuOTE1LTcuNjkyLS4wMTQtMTAuNjIxLTIuOTMtMi45MjgtNy42NzgtMi45MjgtMTAuNjA3LjAwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjIyMiA0ODEuMTAyYzEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOS03LjY3OC0yLjkyOS0xMC42MDcgMHMtMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjIgMy4zNzEgMi4xOTEgNS4yODMgMi4xOTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3MC43ODQgNDA5LjM4NWMyMi43MTMtMi4yNzggNDEuMTkxLTIyLjc5MiA0MS4xOTEtNDUuNzI5di0yOC43NDNjMC0zLjcwOS0xLjU0OS03LjIzNC00LjI0OC05LjY3MS0yLjY5Mi0yLjQzMS02LjM1Mi0zLjYwOS0xMC4wMS0zLjIzM2wtMjguODEgMi44OTJjLTkuOTIzIDEuMDEtMTkuMDM3IDUuNTAyLTI2LjE1MSAxMi4xNTJsLjA2My01LjE1NGMwLTIyLjkwMy0xOC4zMzctNDMuMjY2LTQxLjA1NC00NS41NzhsLTI4Ljc4My0yLjg5Yy0zLjY4Ny0uMzc5LTcuMzM0LjgwMi0xMC4wMjUgMy4yMzItMi42OTkgMi40MzgtNC4yNDggNS45NjItNC4yNDggOS42NzF2MjguNzQzYzAgMjIuOTAzIDE4LjQ3MyA0My40MTcgNDEuMTg1IDQ1LjcyOWwyNy44NjMgMi44MTR2NTMuOTk2aC01NC41MTljLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTE5LjMwNGMyLjQ0NCAwIDQuNDM0IDEuOTc2IDQuNDM0IDQuNDA1djQ1LjUyM2MwIDIuNDAzLTIuMDMgNC40MzQtNC40MzQgNC40MzRoLTQ3My4xMzRjLTIuMzg4IDAtNC40MDUtMi4wMy00LjQwNS00LjQzNHYtNDUuNTIzYzAtMi4zODggMi4wMTgtNC40MDUgNC40MDUtNC40MDVoMzE5LjE5MmM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNzUuMTI2di0xNS4zOTdsMjguMDU3LTIuODMzYzIyLjcxMy0yLjI3OCA0MS4xOS0yMi43OTIgNDEuMTktNDUuNzI5di0yOC43NDNjMC0zLjcwNS0xLjU1Mi03LjIyOS00LjI1Ny05LjY2OS0yLjctMi40MzUtNi4zNTktMy42MTItMTAuMDAxLTMuMjM1bC0yOC44MSAyLjg5MmMtOS45MzQgMS4wMTEtMTkuMDU4IDUuNTA3LTI2LjE4IDEyLjE2MyAwIDAgLjE5OS00LjQyOS4xOTktNS4wMTMgMC0yMi45MDctMTguNDc0LTQzLjQyLTQxLjE5LTQ1LjcyOWwtMjguNzc2LTIuODljLTMuNjY2LS4zNzUtNy4zMDguNzk2LTkuOTk3IDMuMjIyLTIuNzA0IDIuNDM5LTQuMjU1IDUuOTY3LTQuMjU1IDkuNjgxdjI4Ljc0M2MwIDIyLjkwMyAxOC40NzQgNDMuNDE3IDQxLjE4NiA0NS43MjlsMjcuODM0IDIuODEzdjUzLjk5NmgtMTY0LjI1M3YtMTUuMzk4bDI4LjAyNi0yLjgzMmMyMi43MTMtMi4yNzQgNDEuMTkxLTIyLjc4OSA0MS4xOTEtNDUuNzI5di0yOC43NDNjMC0zLjcxMy0xLjU1MS03LjI0Mi00LjI1NS05LjY4MS0yLjY4OS0yLjQyNi02LjMzMy0zLjYwNC05Ljk3NS0zLjIyNGwtMjguODEgMi44OTJjLTkuOTM0IDEuMDExLTE5LjA1OCA1LjUwNy0yNi4xNzkgMTIuMTYyIDAgMCAuMTk4LTQuNDMuMTk4LTUuMDEyIDAtMjIuOTAzLTE4LjQ3NC00My40MTctNDEuMTktNDUuNzI5bC0yOC43NzYtMi44OWMtMy42Ni0uMzc0LTcuMzA2Ljc5NS05Ljk5NyAzLjIyMi0yLjcwNCAyLjQzOS00LjI1NSA1Ljk2OC00LjI1NSA5LjY4MXYyOC43NDNjMCAyMi45MDMgMTguNDc0IDQzLjQxNyA0MS4xODYgNDUuNzI5bDI3LjgzNSAyLjgxM3YzMS43OTUgMjIuMjAxaC00OS44MTJjLTEwLjcgMC0xOS40MDUgOC43MDUtMTkuNDA1IDE5LjQwNXY0NS41MjNjMCAxMC43MTYgOC43MDUgMTkuNDM0IDE5LjQwNSAxOS40MzRoNDczLjEzNGMxMC43MTYgMCAxOS40MzQtOC43MTggMTkuNDM0LTE5LjQzNHYtNDUuNTIzYzAtMTAuNy04LjcxOC0xOS40MDUtMTkuNDM0LTE5LjQwNWgtNDkuNzg1di0xNS4zOTh6bS0yOC4wMjgtMzguNzU2YzAtMTUuMTcxIDEyLjY3Mi0yOS4yNzkgMjcuNjYtMzAuODA1bDI2LjU1OS0yLjY2NnYyNi40OThjMCAxNS4xOTItMTIuNjggMjkuMjk5LTI3LjY5MyAzMC44MDVsLTE1LjQxNSAxLjU1OCAxOS4wNjktMjEuMDk3YzIuNzc3LTMuMDczIDIuNTM3LTcuODE2LS41MzUtMTAuNTkzLTMuMDcyLTIuNzc1LTcuODE0LTIuNTM5LTEwLjU5NC41MzVsLTE5LjA1MSAyMS4wNzd6bS0xNS0yMy40NTctMTguODgtMjAuODg4Yy0yLjc3OS0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41Mi0uNTM1IDEwLjU5M2wxOS4wNjcgMjEuMDk2LTE1LjQwOC0xLjU1NmMtMTUuMDE0LTEuNTI4LTI3LjY5OC0xNS42MzUtMjcuNjk4LTMwLjgwNXYtMjYuNDk3bDI2LjU0OCAyLjY2NmMxNS4wMTUgMS41MjggMjcuNSAxNS42MzUgMjcuNSAzMC44MDV6bS0xNjQuMjgyIDIzLjQ1N2MwLTE1LjE3IDEyLjY4NS0yOS4yNzcgMjcuNjg4LTMwLjgwNWwyNi41NTktMi42NjZ2MjYuNDk4YzAgMTUuMTkyLTEyLjY3OSAyOS4yOTktMjcuNjkyIDMwLjgwNWwtMTUuNDE0IDEuNTU3IDE5LjA2OC0yMS4wOTZjMi43NzctMy4wNzMgMi41MzctNy44MTYtLjUzNS0xMC41OTMtMy4wNzItMi43NzUtNy44MTQtMi41MzktMTAuNTk0LjUzNWwtMTkuMDc5IDIxLjEwOHYtMTUuMzQzem0tNDQuOTgtMzQuMjg2IDE5LjA2OSAyMS4wOTctMTUuNDA5LTEuNTU3Yy0xNS4wMTUtMS41MjgtMjcuNjk5LTE1LjYzNS0yNy42OTktMzAuODA1di0yNi40OTVsMjYuNTIxIDIuNjYzYzE1LjAxNSAxLjUyNiAyNy40OTkgMTUuNjMzIDI3LjQ5OSAzMC44MDV2MTUuMDkxbC0xOC44NTItMjAuODU3Yy0yLjc3OC0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41Mi0uNTM1IDEwLjU5M3ptLTEzNC4yNzMgMzQuMjg2YzAtMTUuMTcgMTIuNjg1LTI5LjI3NyAyNy42ODgtMzAuODA1bDI2LjUzLTIuNjYzdjI2LjQ5NWMwIDE1LjE5NS0xMi42NzkgMjkuMzAxLTI3LjY5MiAzMC44MDVsLTE1LjQwNSAxLjU1NyAxOS4wODMtMjEuMDk0YzIuNzc5LTMuMDcyIDIuNTQyLTcuODE0LS41My0xMC41OTMtMy4wNjgtMi43NzgtNy44MTMtMi41NDItMTAuNTkzLjUzbC0xOS4wODEgMjEuMDkxem0tNDQuOTgxLTM0LjI4NiAxOS4wNjkgMjEuMDk3LTE1LjQwOS0xLjU1OGMtMTUuMDE1LTEuNTI4LTI3LjY5OS0xNS42MzUtMjcuNjk5LTMwLjgwNXYtMjYuNDk1bDI2LjUyIDIuNjYzYzE1LjAxNSAxLjUyOCAyNy41MDEgMTUuNjM1IDI3LjUwMSAzMC44MDV2MTUuMDkybC0xOC44NTMtMjAuODU4Yy0yLjc3OS0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41MjEtLjUzNSAxMC41OTR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Wae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yNi42MjIgMTUxLjc0MWgxMC44djM1LjY4MWMwIDExLjEyNSA5LjA1MSAyMC4xNzUgMjAuMTc1IDIwLjE3NWgxNC44MTRjNC43OTkgMCA5LjIwOC0xLjY5MSAxMi42NzUtNC41IDMuNDY3IDIuODA5IDcuODc1IDQuNSAxMi42NzUgNC41aDE0LjgxNGMxMS4xMjQgMCAyMC4xNzUtOS4wNSAyMC4xNzUtMjAuMTc1di0zOS45NGgyMC4xMzl2MTg1LjExNWgtMjMuNDU3Yy0xMC45MzggMC0xOS44MzcgOC44OTgtMTkuODM3IDE5LjgzNnYzNy4zMjRjMCA5Ljk2OCA3LjM5OCAxOC4yMTkgMTYuOTg4IDE5LjYwOHY4Ny41NzZjMCA4LjMwNCA2Ljc1NSAxNS4wNTkgMTUuMDU5IDE1LjA1OWgzMC4zMzVjOC4zMDQgMCAxNS4wNTktNi43NTUgMTUuMDU5LTE1LjA1OXYtNTMuODQ0aDUxLjQ2NGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWMtOS43NjUgMC04NS43ODUgMC05Ni45MTcgMHYtMTguNTAzaDIyOC44MzR2MTguNTAzYy0xMS4xMzcgMC04Ny4yMTcgMC05Ni45MTcgMC00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDUxLjQ2NXY1My44NDRjMCA4LjMwNCA2Ljc1NSAxNS4wNTkgMTUuMDU5IDE1LjA1OWgzMC4zMzRjOC4zMDQgMCAxNS4wNi02Ljc1NSAxNS4wNi0xNS4wNTkgMC0xMC4xNTQgMC03Ny4wMzYgMC04Ny41NzYgOS41OS0xLjM4OSAxNi45ODgtOS42NCAxNi45ODgtMTkuNjA4di0zNy4zMjRjMC0xMC45MzgtOC44OTgtMTkuODM2LTE5LjgzNy0xOS44MzZoLTIzLjQ1N3YtNzUuMDU4YzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djc1LjA1OGgtMjUuMTY0YzAtMjEuNzEzIDAtMTYyLjkxMiAwLTE4NS4xMTVoMjUuMTY0djc1LjA1OGMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di03NS4wNThoMjAuMTM5djM5Ljk0YzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1aDE0LjgxNGM0Ljc5OSAwIDkuMjA4LTEuNjkxIDEyLjY3NS00LjUgMy40NjcgMi44MDkgNy44NzUgNC41IDEyLjY3NCA0LjVoMTQuODE1YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTM1LjY4MWgxMC44YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTE0LjgxNGMwLTExLjEyNS05LjA1MS0yMC4xNzUtMjAuMTc1LTIwLjE3NWgtMTAuOHYtMzUuNjgxYzAtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTVjLTQuNzk5IDAtOS4yMDcgMS42OTEtMTIuNjc0IDQuNS0zLjQ2Ny0yLjgwOS03Ljg3NS00LjUtMTIuNjc1LTQuNWgtMTQuODE0Yy0xMS4xMjQgMC0yMC4xNzUgOS4wNS0yMC4xNzUgMjAuMTc0djM5Ljk0MWgtMjAuMTM5di04MC42NjNjLS4wMDEtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTRjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzR2NTAuNTM0aC05NS44OTZ2LTUwLjUzNGMwLTExLjEyNC05LjA1LTIwLjE3NC0yMC4xNzQtMjAuMTc0aC0xNC44MTVjLTExLjEyNCAwLTIwLjE3NCA5LjA1LTIwLjE3NCAyMC4xNzR2ODAuNjYzaC0yMC4xMzl2LTM5Ljk0MWMwLTExLjEyNC05LjA1MS0yMC4xNzQtMjAuMTc1LTIwLjE3NGgtMTQuODE0Yy00Ljc5OSAwLTkuMjA4IDEuNjkxLTEyLjY3NSA0LjUtMy40NjctMi44MDktNy44NzUtNC41LTEyLjY3NS00LjVoLTE0LjgxNGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NHYzNS42ODFoLTEwLjhjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzV2MTQuODE0YzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1em0xNDEuMjY3LTQuMjZoMjUuMTYzdjE4NS4xMTVoLTI1LjE2M3ptNDAuMTYzIDY4LjcxMmg5NS44OTZ2NzYuOTAxaC05NS44OTZ6bTk1Ljg5NS0xNWgtOTUuODk2di0yMy41ODNoOTUuODk2em0tMTMxLjkxOSAyNDEuOTA0LS4wNTEgNTMuOTAzLTMwLjM5My0uMDM5YzAtLjAwMS0uMDAxLS4wMDgtLjAwMS0uMDJ2LTUzLjg0NHptMTk4LjMyOSA1My45MDMtMzAuMzkzLS4wNTl2LTUzLjg0NGgzMC40NDV6bTEyLjIxMS0xNDkuNDAzYzIuNjY3IDAgNC44MzcgMi4xNjkgNC44MzcgNC44MzZ2MzcuMzI0YzAgMi42NjctMi4xNyA0LjgzNi00LjgzNyA0LjgzNi0xMy4yMDIgMC0yNDEuMjU2IDAtMjUzLjEzNyAwLTIuNjY3IDAtNC44MzctMi4xNjktNC44MzctNC44MzZ2LTM3LjMyNGMwLTIuNjY3IDIuMTctNC44MzYgNC44MzctNC44MzZ6bS0xNzQuNTE2LTE1di0yNC41MDNoOTUuODk2djI0LjUwM3ptOTUuODk1LTE2OS45ODdoLTk1Ljg5NnYtMTUuMTI4aDk1Ljg5NnptLTExNS45NzctMzAuMTI5di0xNi42NDVoMTM2LjA2djE2LjY0NWMtNC42NTMgMC0xMzAuNDExIDAtMTM2LjA2IDB6bTI5Ny40MDgtMjAuOTA0YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NXYxNC44MTRjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xMC44di0yNS4xNjR6bS00NS43OS01NS44NTVoMTQuODE1YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NHYxMjYuNTI2YzAgMi44MDUtMi4zNyA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE1Yy0yLjgwNSAwLTUuMTc0LTIuMzctNS4xNzQtNS4xNzV2LTEyNi41MjZjMC0yLjgwNSAyLjM2OS01LjE3NCA1LjE3NC01LjE3NHptLTQ1LjMzOCA1LjE3NGMwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzRoMTQuODE0YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NHYxMjYuNTI2YzAgMi44MDUtMi4zNyA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1IDAtMi45MDQgMC0xMjIuNjAyIDAtMTI2LjUyNnptLTE1IDcxLjU4NWMtMTMuNDYzIDAtMjUuMTg2IDAtNDAuMjIxIDB2LTE2LjY0NWg0MC4yMjF6bS02MC4zMDMtMTEyLjMwN2MwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzRoMTQuODE0YzIuODU0IDAgNS4xNzUgMi4zMjEgNS4xNzUgNS4xNzR2ODAuNjYzYy05LjEwNiAwLTE2LjA1OCAwLTI1LjE2NCAwIDAtOS4zNzMgMC03MC44ODUgMC04MC42NjN6bS0xNSA2NS41MzR2MTUuMTI4aC05NS44OTZ2LTE1LjEyOHptLTEzNi4wNTgtNjUuNTM0YzAtMi44MDUgMi4zNjktNS4xNzQgNS4xNzQtNS4xNzRoMTQuODE1YzIuODA1IDAgNS4xNzQgMi4zNyA1LjE3NCA1LjE3NHY4MC42NjNjLTkuMTA0IDAtMTYuMDM5IDAtMjUuMTYzIDB6bTUuMDgxIDk1LjY2M3YxNi42NDVjLTE1LjI3MyAwLTI2LjQ2IDAtNDAuMjIgMHYtMTYuNjQ1em0tNzUuMjA5LTYwLjExNWgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjg1NC0yLjMyMSA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjgwNSAwLTUuMTc1LTIuMzctNS4xNzUtNS4xNzV2LTEyNi41MjZjMC0yLjgwNSAyLjM3LTUuMTc0IDUuMTc1LTUuMTc0em0tNDUuMzM5IDUuMTc0YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjg1NC0yLjMyMSA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1IDAtNS42NzkgMC0xMjAuODI3IDAtMTI2LjUyNnptLTMwLjk3NSA1NS44NTZjMC0yLjg1NCAyLjMyMS01LjE3NSA1LjE3NS01LjE3NWgxMC44djI1LjE2NGgtMTAuOGMtMi44NTQgMC01LjE3NS0yLjMyMS01LjE3NS01LjE3NXoiLz4KICAgIDwvZz4KPC9zdmc+",Rae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDcyLDI4MGgtMTZWMTY2LjRjMC0xMi05LjYtMjIuNC0yMi40LTIyLjRoLTRjLTEyLDAtMjIuNCw5LjYtMjIuNCwyMi40VjI4MGgtMjR2LTE2YzAtMTMuNi0xMC40LTI0LTI0LTI0SDEyMAoJCQljLTEzLjYsMC0yNCwxMC40LTI0LDI0djE2SDcyVjE2Ni40YzAtMTItOS42LTIyLjQtMjIuNC0yMi40aC0zLjJjLTEyLjgsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwSDhjLTQuOCwwLTgsMy4yLTgsOHMzLjIsOCw4LDhoOAoJCQl2MTQ0YzAsNC44LDMuMiw4LDgsOGg4djhjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtOGgzODR2OGMwLDQuOCwzLjIsOCw4LDhzOC0zLjIsOC04di04aDhjNC44LDAsOC0zLjIsOC04VjI5Nmg4CgkJCWM0LjgsMCw4LTMuMiw4LThTNDc2LjgsMjgwLDQ3MiwyODB6IE00MzAuNCwxNjBoNGMzLjIsMCw2LjQsMi40LDYuNCw2LjRWMjgwaC0xNlYxNjYuNEg0MjRDNDI0LDE2My4yLDQyNi40LDE2MCw0MzAuNCwxNjB6CgkJCSBNMTEyLDI2NGMwLTQuOCwzLjItOCw4LThoMjQwYzQuOCwwLDgsMy4yLDgsOHYxNkgxMTJWMjY0eiBNNDAsMTY2LjRjMC00LDIuNC02LjQsNi40LTYuNGg0YzMuMiwwLDUuNiwyLjQsNS42LDYuNFYyODBINDBWMTY2LjR6CgkJCSBNMjMyLDQzMkgzMnYtNjRoMjAwVjQzMnogTTQ0OCw0MzJIMjQ4di02NGgyMDBWNDMyeiBNNDQ4LDM1MkgzMnYtNTZoNDE2VjM1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjA4LDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzIxNiwzODcuMiwyMTIuOCwzODQsMjA4LDM4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjcyLDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzI4MCwzODcuMiwyNzYuOCwzODQsMjcyLDM4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzg0LDE2SDk2Yy00LjgsMC04LDMuMi04LDh2MTYwYzAsNC44LDMuMiw4LDgsOGgyODhjNC44LDAsOC0zLjIsOC04VjI0QzM5MiwxOS4yLDM4OC44LDE2LDM4NCwxNnogTTM3NiwxNzZIMTA0VjMyaDI3MgoJCQlWMTc2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMTQ0aC04Yy00LjgsMC04LDMuMi04LDhzMy4yLDgsOCw4aDhjNC44LDAsOC0zLjIsOC04UzM1Ni44LDE0NCwzNTIsMTQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNTcuNiw1MC40Yy0zLjItMy4yLTgtMy4yLTExLjIsMGwtMjQsMjRjLTMuMiwzLjItMy4yLDgsMCwxMS4yYzMuMiwzLjIsOCwzLjIsMTEuMiwwbDI0LTI0CgkJCUMxNjAuOCw1OC40LDE2MC44LDUzLjYsMTU3LjYsNTAuNHoiLz4KICAgICAgICA8cGF0aCBkPSJNMTk3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTU2LDU2Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGw1Ni01NgoJCQlDMjAwLjgsNTguNCwyMDAuOCw1My42LDE5Ny42LDUwLjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Jae="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDcyIDk2aC0xNDRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MTg0aC0xNzZ2LTI0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTI0djE2aDE2djE2aC0zMnYtMzJoLTE2djMyaC0zMnYtMTZoMTZ2LTE2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYyNGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MTc2YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDY0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTM2OGMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tMTM2IDE2aDEyOHY5NmgtMTI4em0tMTYgMjI0aC0xNDR2LTMyaDE0NHptLTMwNC0zMmgxNDR2MzJoLTE0NHptMCA0OGgxNDR2MTEyaC0xNDR6bTE2MCAwaDY0djExMmgtNjR6bTgwIDBoNjR2MTEyaC02NHptODAgMTEydi0yNDBoMTI4djI0MHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAxNDRoMTZ2MzJoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzUyIDI1NmgxNnYzMmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00OCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im04MCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTIgMzIwYzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ0IDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTggMTUyaDE2MGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGMwLTIuMTIxMDk0LS44NDM3NS00LjE1NjI1LTIuMzQzNzUtNS42NTYyNWwtMzItMzJjLTEuNS0xLjUtMy41MzUxNTYtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTh2LTcyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djcyaC04Yy0yLjEyMTA5NCAwLTQuMTU2MjUuODQzNzUtNS42NTYyNSAyLjM0Mzc1bC0zMiAzMmMtMS41IDEuNS0yLjM0Mzc1IDMuNTM1MTU2LTIuMzQzNzUgNS42NTYyNXYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em01Ni0xMzZoNDh2NjRoLTQ4em0tNDggMTA3LjMxMjUgMjcuMzEyNS0yNy4zMTI1aDg5LjM3NWwyNy4zMTI1IDI3LjMxMjV2MTIuNjg3NWgtMTQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTM2IDM2OGgtOTZjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di02NGMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tOCA2NGgtODB2LTQ4aDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjMyIDMxMmgzMnYxNmgtMzJ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDggMzkyaDE2djMyaC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI3MiAzOTJoMTZ2MzJoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTkyIDIwMGg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi0xNTMuMTM2NzE5aC0xNnYxNTMuMTM2NzE5Yy0xNC4wODU5MzggMy42MzY3MTktMjMuOTQ1MzEyIDE2LjMxNjQwNi0yNCAzMC44NjMyODF2OGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em0yNC0zMmM4LjgzNTkzOCAwIDE2IDcuMTY0MDYyIDE2IDE2aC0zMmMwLTguODM1OTM4IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4IDEzNmg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi04OS4xMzY3MTloLTE2djg5LjEzNjcxOWMtMTQuMDg1OTM4IDMuNjM2NzE5LTIzLjk0NTMxMiAxNi4zMTY0MDYtMjQgMzAuODYzMjgxdjhjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptMjQtMzJjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNmgtMzJjMC04LjgzNTkzOCA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Bae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MTAuNDE3IDIzMy4yMjUtNTguNjQ0LTExNy4yNzljLTE1LjkzOS0zMS44NzctNDcuOTc4LTUxLjY4LTgzLjYyLTUxLjY4LTguNTg2IDAtMTYuOTg0IDEuMTg4LTI1LjAzMiAzLjQzNy4xMDUtMS40ODkuMTc4LTIuOTg4LjE3OC00LjUwMyAwLTM0Ljg0OS0yOC4zNTEtNjMuMi02My4yLTYzLjJzLTYzLjIgMjguMzUyLTYzLjIgNjMuMmMwIDMwLjk5MyAyMi40MzIgNTYuODI4IDUxLjkwOSA2Mi4xNjlsLTYxLjM2NiA2MS40N2MtNi44NzUgNi44ODYtMjEuODcxIDI3LjgyLTEwLjMzMyA1NC40Ni0xLjcwNS0uMTkxLTMuNDIxLS4yOTktNS4xNDQtLjI5OS0yMy4wODcgMC00Mi4zMzYgMTYuNjktNDYuMzUxIDM4LjYzNS03Ljc0LTQuMTQ0LTE2LjU3My02LjUwMS0yNS45NDktNi41MDEtMzAuNDE5IDAtNTUuMTY3IDI0Ljc0OC01NS4xNjcgNTUuMTY3IDAgOS4wNjMgMi4yMTEgMTcuNjE1IDYuMSAyNS4xNjdoLTQwLjU5OHYtMzM4LjQ2OGMwLTguMjg0LTYuNzE2LTE1LTE1LTE1cy0xNSA2LjcxNi0xNSAxNXY0ODJjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXMxNS02LjcxNiAxNS0xNXYtNDkuMjY3aDMwNi41NjNjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtNjQuMjY3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVoLTM2LjQxMmMzLjI3NC04LjM5NSAzLjIxNC0xNS4yNjMgMy4yMTQtMTguMiAyOC40NjkgMCA0OC4yLTIyLjA5OCA0OC4yLTQ3LjEzMyAwLTI1Ljk4OS0yMS4xNDQtNDcuMTMzLTQ3LjEzMy00Ny4xMzNoLTEyLjMwNGw1NS45MDQtNTYuMDg2IDUzLjczNiAxMDYuNzc3LS4xMDMgMjA1LjMwMWMtLjAwMiAzLjk3OSAxLjU3OCA3Ljc5NiA0LjM5MSAxMC42MTEgMi44MTMgMi44MTQgNi42MyA0LjM5NiAxMC42MDkgNC4zOTZoODAuMzM1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTI1Ny4wNjZjMC0yLjMyOS0uNTQyLTQuNjI1LTEuNTgzLTYuNzA4em0tMjYzLjUxNy0xNzAuMDI1YzAtMTguMzA3IDE0Ljg5NC0zMy4yIDMzLjItMzMuMnMzMy4yIDE0Ljg5NCAzMy4yIDMzLjItMTQuODk0IDMzLjItMzMuMiAzMy4yYy0xOC4zMDcgMC0zMy4yLTE0Ljg5My0zMy4yLTMzLjJ6bS0xMjcuMjMzIDIzOS45MzNjMTMuODc3IDAgMjUuMTY3IDExLjI5IDI1LjE2NyAyNS4xNjdzLTExLjI5IDI1LjE2Ny0yNS4xNjcgMjUuMTY3LTI1LjE2Ny0xMS4yOS0yNS4xNjctMjUuMTY3IDExLjI5LTI1LjE2NyAyNS4xNjctMjUuMTY3em0yMDEuODk2IDgwLjMzNHYzNC4yNjdoLTI5MS41NjN2LTM0LjI2N3ptLTE3LjEzLTExMi40NjdjOS40NDcgMCAxNy4xMzMgNy42ODYgMTcuMTMzIDE3LjEzMyAwIDkuNTgzLTcuODE0IDE3LjEzMy0xNy4xMzMgMTcuMTMzaC0xNi4wNjdjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTYuMDY3YzAgOS41ODMtNy44MTQgMTcuMTMzLTE3LjEzMyAxNy4xMzNoLTY0LjI2N2MtOS40NDcgMC0xNy4xMzMtNy42ODYtMTcuMTMzLTE3LjEzM3YtNDguMmMwLTkuNDQ3IDcuNjg2LTE3LjEzMyAxNy4xMzMtMTcuMTMzIDkuMjk3IDAgMTcuMTMzIDcuNTI2IDE3LjEzMyAxNy4xMzN2MTYuMDY3YzAgOC4yODQgNi43MTYgMTUgMTUgMTVzMTUtNi43MTYgMTUtMTV2LTE2LjA2N2MwLTkuNDI5IDcuNjE2LTE3LjEzMyAxNy4xMzMtMTcuMTMzem0xNzcuNTY3IDIxMWgtNTAuMzI2bC4wOTctMTkzLjg1OWMuMDAxLTIuMzQ0LS41NDctNC42NTYtMS42MDEtNi43NWwtNjQuNjg1LTEyOC41MzNjLTIuMTY3LTQuMzA1LTYuMjY5LTcuMzA2LTExLjAyNy04LjA2OC00Ljc2MS0uNzYyLTkuNTk0LjgxLTEyLjk5NSA0LjIyMmwtODYuNDU4IDg2LjczOWMtNy4yNjMgNy4yOTEtMTkuMTE1IDYuODA3LTI2LjMwOC0uMzg2LTcuMzgxLTcuMzgxLTcuNzI4LTE5LjYxMS0uMDIyLTI3LjMyOWw5NS4yNy05NS40MzFjMTEuNzk5LTExLjgyNSAyNy41LTE4LjMzNyA0NC4yMTctMTguMzM3IDI0LjE5OSAwIDQ1Ljk1NSAxMy40NDggNTYuNzc5IDM1LjA5N2w1Ny4wNTkgMTE0LjEwOXoiLz4KICAgIDwvZz4KPC9zdmc+",Fae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTkyLjU0NSwxODUuMDljNTEuMDI5LDAsOTIuNTQ1LTQxLjUxNiw5Mi41NDUtOTIuNTQ1UzE0My41NzQsMCw5Mi41NDUsMFMwLDQxLjUxNiwwLDkyLjU0NSAgICBTNDEuNTE2LDE4NS4wOSw5Mi41NDUsMTg1LjA5eiBNOTIuNTQ1LDIwYzQwLjAwMSwwLDcyLjU0NSwzMi41NDQsNzIuNTQ1LDcyLjU0NXMtMzIuNTQ0LDcyLjU0NS03Mi41NDUsNzIuNTQ1ICAgIFMyMCwxMzIuNTQ2LDIwLDkyLjU0NVM1Mi41NDQsMjAsOTIuNTQ1LDIweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDAuNTAxLDExNC41MjZjMS45NTIsMS45NDUsNC41MDYsMi45MTcsNy4wNiwyLjkxN2MyLjU2NCwwLDUuMTMtMC45OCw3LjA4My0yLjk0ICAgIGMzLjg5OC0zLjkxMiwzLjg4OC0xMC4yNDQtMC4wMjMtMTQuMTQzbC0xMi4wMDgtMTEuOTY4VjQ0YzAtNS41MjItNC40NzgtMTAtMTAtMTBzLTEwLDQuNDc4LTEwLDEwdjQ4LjU0NSAgICBjMCwyLjY1OCwxLjA1OSw1LjIwNywyLjk0LDcuMDgzTDEwMC41MDEsMTE0LjUyNnoiLz4KICAgICAgICA8cGF0aCBkPSJNNTAyLDMzMmgtNjEuNTQ3Yy04LjQ2LTEyLjAzNC0yMS4xNzItMjAuNTU4LTM1LjY3MS0yMy43MjhsLTQzLjk2NC05LjYxMyAgICBjMTcuOTkxLTEyLjEzNCwyOS44NDctMzIuNzAyLDI5Ljg0Ny01NS45ODh2LTI0LjQxN3YtMTEuMjk3di0yLjU0MmMwLTM3LjIxMi0zMC4yNzQtNjcuNDg2LTY3LjQ4Ni02Ny40ODYgICAgcy02Ny40ODYsMzAuMjc0LTY3LjQ4Niw2Ny40ODZ2Mi41NDJ2MTEuMjk3djI0LjQxN2MwLDIzLjI1NiwxMS44MjUsNDMuODAzLDI5Ljc3OCw1NS45NDNsLTQzLjkzNiw5LjYzOSAgICBjLTEuODc3LDAuNDEyLTMuNzIyLDAuOTE3LTUuNTM1LDEuNTAyVjIyN2MwLTUuNTIyLTQuNDc4LTEwLTEwLTEwaC02OGMtNS41MjIsMC0xMCw0LjQ3OC0xMCwxMHM0LjQ3OCwxMCwxMCwxMGg1OHYxNDBoLTY4di01MCAgICBjMC0xNi41NDItMTMuNDU4LTMwLTMwLTMwcy0zMCwxMy40NTgtMzAsMzB2NTBIMjBWMjM3aDU4YzUuNTIyLDAsMTAtNC40NzgsMTAtMTBzLTQuNDc4LTEwLTEwLTEwSDEwYy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjE2MCAgICBjMCw1LjUyMiw0LjQ3OCwxMCwxMCwxMGg3OHYxOWgtMWMtMTcuMDk0LDAtMzEsMTMuOTA2LTMxLDMxdjVIMTBjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTB2NDBjMCw1LjUyMiw0LjQ3OCwxMCwxMCwxMGg0OTIgICAgYzUuNTIyLDAsMTAtNC40NzgsMTAtMTB2LTQwdi00MHYtNDB2LTQwQzUxMiwzMzYuNDc4LDUwNy41MjIsMzMyLDUwMiwzMzJ6IE00NDEuMTc5LDQ1MkgzODR2LTIwaDEwOHYyMEg0NDEuMTc5eiBNNDkyLDQxMkgzODQgICAgdi0yMGgxMDhWNDEyeiBNNDkyLDM3MkgzODR2LTIwaDUwLjg3NGMwLjAzLDAsMC4wNiwwLjAwNiwwLjA4OSwwLjAwNmMwLjAzMSwwLDAuMDYzLTAuMDA2LDAuMDk0LTAuMDA2SDQ5MlYzNzJ6IE0yNzUuNjkyLDIwNC40MTYgICAgYzAtMjYuMTg0LDIxLjMwMy00Ny40ODYsNDcuNDg2LTQ3LjQ4NmMyNC45MzMsMCw0NS40MzksMTkuMzE0LDQ3LjM0Miw0My43NjdsLTIzLjI0Ni0xMy42NTcgICAgYy00LjIxMS0yLjQ3NS05LjU5My0xLjU0NC0xMi43MywyLjE5OWMtMTAuMTI2LDEyLjA4NS0yNC45NzcsMTkuMDE3LTQwLjc0NCwxOS4wMTdoLTE4LjEwN3YtMS4yOTdWMjA0LjQxNnogTTI3NS42OTIsMjI4LjI1NSAgICBIMjkzLjhjMTguODI1LDAsMzYuNy03LjE3OSw1MC4yMDUtMTkuOTRsMjYuNjYsMTUuNjYzdjE4LjY5NGMwLDI2LjE4NC0yMS4zMDMsNDcuNDg2LTQ3LjQ4Niw0Ny40ODZzLTQ3LjQ4Ni0yMS4zMDMtNDcuNDg2LTQ3LjQ4NiAgICBWMjI4LjI1NXogTTMzOC44NDQsMzA4LjMwM2wtMTUuODE1LDQyLjI5NGwtMTUuODQ0LTQyLjM3YzUuMTMsMS4yNTIsMTAuNDgzLDEuOTMxLDE1Ljk5MywxLjkzMSAgICBDMzI4LjU3MiwzMTAuMTU4LDMzMy44MTMsMzA5LjUwNCwzMzguODQ0LDMwOC4zMDN6IE0yMjYsMzk3YzUuNTIyLDAsMTAtNC40NzgsMTAtMTB2LTU1LjYyM2MzLjA4NS0xLjYyNiw2LjM3NC0yLjgzMiw5LjgyLTMuNTg4ICAgIGw0My43NC05LjU5NmwyNC4xMDMsNjQuNDU3YzEuNDYxLDMuOTA3LDUuMTk0LDYuNDk3LDkuMzY2LDYuNDk3czcuOTA1LTIuNTksOS4zNjYtNi40OThsMjQuMTA0LTY0LjQ2MWw0NC4wMTEsOS42MjMgICAgYzMuODYzLDAuODQ0LDcuNTI5LDIuMjc0LDEwLjkwMiw0LjE4OEgzNzRjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTB2NDB2NDB2MzBIMjE1LjE3OXYtNTVIMjI2eiBNMTk1LjE3OSwzOTd2NTVIMTgwdi01ICAgIGMwLTE3LjA5NC0xMy45MDYtMzEtMzEtMzFoLTF2LTE5SDE5NS4xNzl6IE0xMDgsMzI3YzAtNS41MTQsNC40ODYtMTAsMTAtMTBzMTAsNC40ODYsMTAsMTB2ODloLTIwVjMyN3ogTTc2LDQ0NyAgICBjMC02LjA2NSw0LjkzNS0xMSwxMS0xMWgxMWg0MGgxMWM2LjA2NSwwLDExLDQuOTM1LDExLDExdjVINzZWNDQ3eiBNNDkyLDQ5MkgyMHYtMjBoNDcyVjQ5MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzLDIxOS45M2MtMS44NiwxLjg2LTIuOTMsNC40NC0yLjkzLDcuMDdzMS4wNjksNS4yMSwyLjkzLDcuMDY5YzEuODYsMS44Niw0LjQ0LDIuOTMxLDcuMDcsMi45MzEgICAgczUuMjEtMS4wNyw3LjA2OS0yLjkzMUMxMjYuOTMsMjMyLjIxLDEyOCwyMjkuNjMsMTI4LDIyN3MtMS4wNy01LjIxLTIuOTMxLTcuMDdjLTEuODU5LTEuODYtNC40MzktMi45My03LjA2OS0yLjkzICAgIFMxMTIuNzksMjE4LjA2OSwxMTAuOTMsMjE5LjkzeiIvPgogICAgPC9nPgo8L3N2Zz4K",Gae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTUsMzUuOTM1YzQuNDkzLS41NTUsOC00LjgsOC05LjkzNSwwLTQuODg1LTMuNTM1LTE5LTktMTlzLTksMTQuMTE1LTksMTljMCw1LjEzOCwzLjUwNyw5LjM4LDgsOS45MzVWNDJINDkuOTQ5YTkuOTc4LDkuOTc4LDAsMCwwLTE0LjQ0MS03LjkyMmwtMS42LTIuNTEzTDMyLjM4OCwyN0gzNi41YTEuNSwxLjUsMCwwLDEsMCwzSDM2djJoLjVhMy41LDMuNSwwLDAsMCwwLTdIMzFhMSwxLDAsMCwwLS45NDgsMS4zMTZMMzEuNjEzLDMxSDIwVjI5aDNhMSwxLDAsMCwwLDEtMSw1LDUsMCwwLDAtMTAsMCwxLDEsMCwwLDAsMSwxaDN2Mi42NzVsLTEuOTY0LDIuN2E5Ljk5MSw5Ljk5MSwwLDEsMCw0LjUxLDExLjYwNiwzLjk4NSwzLjk4NSwwLDEsMCw2LjQyNS00LjYzNGw1LjUyMS04LjI4MywxLjMyOSwyLjA4OUE5Ljk5NSw5Ljk5NSwwLDEsMCw0OS45NDksNDRINjNWNDJINTVaTTQ3LDI2YzAtNS4wNjcsMy42NjEtMTcsNy0xN3M3LDExLjkzMyw3LDE3YzAsNC4wMjItMi42MTQsNy4zNTEtNiw3LjkwOVYxOC41MzVsMi41NTUtMS43LTEuMTEtMS42NjQtMywyQTEsMSwwLDAsMCw1MywxOHY3bC0yLjQtMS44LTEuMiwxLjZMNTMsMjcuNXY2LjQwOUM0OS42MTQsMzMuMzUxLDQ3LDMwLjAyMiw0NywyNlpNMTksMjVhMy4wMDYsMy4wMDYsMCwwLDEsMi44MjksMkgxNi4xNzFBMy4wMDYsMy4wMDYsMCwwLDEsMTksMjVabTUsMTVhMy44MzYsMy44MzYsMCwwLDAtLjU2LjA1N0wyMC41LDMzaDkuNjMybC00LjgyNSw3LjIzN0EzLjk2OCwzLjk2OCwwLDAsMCwyNCw0MFpNMTEsNTFhOCw4LDAsMSwxLDMuODU3LTE1bC0zLjAxMSw0LjE0QTIuOTYsMi45NiwwLDAsMCwxMSw0MGEzLDMsMCwxLDAsMi43MzgsNC4yMTRsNS4xLjM5MkE4LjAxNCw4LjAxNCwwLDAsMSwxMSw1MVptNy45OC04LjM4OS01LjEtLjM5MmEzLjAwNSwzLjAwNSwwLDAsMC0uNDE0LS45MTZsMy00LjEyNUE3Ljk2OSw3Ljk2OSwwLDAsMSwxOC45OCw0Mi42MTFaTTEyLDQzYTEsMSwwLDEsMS0xLTFBMSwxLDAsMCwxLDEyLDQzWm04Ljg3OS0xLjQ3MmE5Ljk2OCw5Ljk2OCwwLDAsMC0zLjIyOC01Ljk3NGwxLjExMS0xLjUyNywyLjgzMiw2LjhBNC4wMzIsNC4wMzIsMCwwLDAsMjAuODc5LDQxLjUyOFpNMjQsNDZhMiwyLDAsMSwxLDItMkEyLDIsMCwwLDEsMjQsNDZabTE2LDVhOCw4LDAsMCwxLTUuMS0xNC4xNTZsMi43NDgsNC4zMTlBMi45NjYsMi45NjYsMCwwLDAsMzcsNDNhMywzLDAsMSwwLDMtMywyLjk2MywyLjk2MywwLDAsMC0uNjcxLjA4MmwtMi43NDEtNC4zMDdBOCw4LDAsMSwxLDQwLDUxWm0wLTlhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsNDAsNDJaIi8+CiAgICAgICAgPHBhdGggZD0iTTcsMThhNCw0LDAsMCwwLDIuNzg4LTEuMTM5LDUuNjMzLDUuNjMzLDAsMCwwLDMuOTYxLS41NDVBMy45NTQsMy45NTQsMCwwLDAsMTcsMThhNCw0LDAsMSwwLS4wODMtOCw2LDYsMCwwLDAtMTEuOS41MzhBMy45OTIsMy45OTIsMCwwLDAsNywxOFptLS42NTMtNS44NzdhMSwxLDAsMCwwLC42Ny0uOTc3QS42LjYsMCwwLDAsNywxMWE0LDQsMCwwLDEsOC0uMDQxYzAsLjAzMy0uMDE4LjE1Mi0uMDIuMTg1YTEsMSwwLDAsMCwxLjMzOS45ODZBMS45NywxLjk3LDAsMCwxLDE3LDEyYTIsMiwwLDEsMS0xLjksMi41NzMsMSwxLDAsMCwwLTEuNTg5LS40ODcsMy44LDMuOCwwLDAsMS0zLjc1MS42OTMsMSwxLDAsMCwwLTEuMTI5LjM3MiwxLjk5NCwxLjk5NCwwLDEsMS0yLjI4Mi0zLjAyOFoiLz4KICAgICAgICA8cmVjdCB4PSIxIiB5PSI1NSIgd2lkdGg9IjYyIiBoZWlnaHQ9IjIiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Hae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xNjguOTkyIDI3Ny41OTFjMC0yNi41NTEtMjEuNjAxLTQ4LjE1MS00OC4xNTEtNDguMTUxcy00OC4xNTEgMjEuNjAxLTQ4LjE1MSA0OC4xNTEgMjEuNjAxIDQ4LjE1IDQ4LjE1MSA0OC4xNSA0OC4xNTEtMjEuNiA0OC4xNTEtNDguMTV6bS04MS4zMDMgMGMwLTE4LjI3OSAxNC44NzItMzMuMTUxIDMzLjE1MS0zMy4xNTFzMzMuMTUxIDE0Ljg3MiAzMy4xNTEgMzMuMTUxLTE0Ljg3MiAzMy4xNS0zMy4xNTEgMzMuMTUtMzMuMTUxLTE0Ljg3MS0zMy4xNTEtMzMuMTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3OS4yNzIgNDYyaC0zNC4wNjJsLTM5LjE1OC0zNi42NjdjLTMuMDIzLTIuODMxLTcuNzctMi42NzUtMTAuNjAxLjM0OXMtMi42NzUgNy43Ny4zNDkgMTAuNjAxbDQxLjMyMSAzOC42OTJjMS4zOSAxLjMwMiAzLjIyMiAyLjAyNSA1LjEyNiAyLjAyNWgzNy4wMjRjOS43NzUgMCAxNy43MjggNy45NTMgMTcuNzI4IDE3LjcyOXYyLjI3MWgtNjAuODQ0Yy0yLjE0OCAwLTQuMjYxLS43MDMtNS45ODEtMS45ODZsLTE4OC40OTItMTc4LjkxNHYtMjQuMTMybDEzMi4yMDcgMTIzLjc5NmMzLjAyMyAyLjgzMSA3Ljc3IDIuNjc1IDEwLjYwMS0uMzQ5czIuNjc1LTcuNzctLjM0OS0xMC42MDFsLTE0Mi40NTktMTMzLjM5NnYtMi40NThjMC04LjI4NC02Ljc0LTE1LjAyNC0xNS4wMjUtMTUuMDI0aC0xMi41NDh2LTQyLjc4NmgxMS40MzhjNi41MzYgMCAxMi4zOC0zLjkwMSAxNC44ODYtOS45MzggMi41MDctNi4wMzcgMS4xNDUtMTIuOTMtMy40NzEtMTcuNTZsLTEwNC43MDYtMTA1LjAzNmMtMS4xNjgtMS4xNzItMi40ODctMi4xMzgtMy45MS0yLjg4OXYtMTAuODY5aDUwLjE0OGM4Ljk1OSAwIDE2LjI0OC03LjI4OSAxNi4yNDgtMTYuMjQ4di0yNS4yMTNjMC04Ljk1OS03LjI4OS0xNi4yNDgtMTYuMjQ4LTE2LjI0OGgtNTAuMTY2Yy0uMTg0LTMuOTc4LTMuNDU4LTcuMTQ5LTcuNDgyLTcuMTQ5LTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjV2NjguMjIzYy0xLjQyNy43NTEtMi43NDkgMS43MTktMy45MiAyLjg5NGwtNDAuMDE1IDQwLjE0Yy0yLjkyNSAyLjkzNC0yLjkxNyA3LjY4Mi4wMTcgMTAuNjA2IDIuOTMzIDIuOTIzIDcuNjgxIDIuOTE3IDEwLjYwNi0uMDE3bDQwLjAxNi00MC4xNDFjLjI3MS0uMjcxLjU3OS0uMzI4Ljc5MS0uMzI4LjIxMSAwIC41MjEuMDU3Ljc5Mi4zMjlsMTA0LjcwNSAxMDUuMDM1Yy4xNTcuMTU4LjUyNy41MjkuMjQgMS4yMTktLjI4Ni42ODktLjgwOS42ODktMS4wMzIuNjg5aC0yMDkuNDFjLS4yMjQgMC0uNzQ3IDAtMS4wMzMtLjY4OXMuMDg0LTEuMDYxLjI0MS0xLjIxOWw0My41MjEtNDMuNjU4YzIuOTI1LTIuOTM0IDIuOTE3LTcuNjgzLS4wMTctMTAuNjA2LTIuOTM0LTIuOTI1LTcuNjgzLTIuOTE4LTEwLjYwNi4wMTdsLTQzLjUyMSA0My42NTdjLTQuNjE1IDQuNjMtNS45NzggMTEuNTIyLTMuNDcyIDE3LjU2MSAyLjUwNyA2LjAzNyA4LjM1IDkuOTM4IDE0Ljg4NyA5LjkzOGgxMS40Mzh2NjkuNDQ0YzAgNC4xNDMgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU3IDcuNS03LjV2LTY5LjQ0NGgxNTYuNTM1djEzMi44ODJoLTE1Ni41MzZ2LTMzLjQ1MmMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTctNy41IDcuNXYxODYuNDJoLTIwLjA3M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWg0OTdjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXYtOS43NzFjMC0xOC4wNDctMTQuNjgyLTMyLjcyOS0zMi43MjgtMzIuNzI5em0tMjk5LjUzLTQzOC42MDN2MjUuMjEzYzAgLjY4OC0uNTYgMS4yNDgtMS4yNDggMS4yNDhoLTUwLjE0OHYtMjcuNzA5aDUwLjE0OGMuNjg5IDAgMS4yNDguNTYgMS4yNDggMS4yNDh6bTE2Ny4xOTYgNDEzLjI5MSA2My41NDEgNjAuMzEyaC02My41NDF6bS0xNSA2MC4zMTJoLTYwLjgxMXYtMTMyLjI3bDYwLjgxMSA1Ny43MnptLTc1LjgxLTE0Ni41MDh2MTQ2LjUwOGgtNDIuMDJ2LTE1Ni45NDJoMTIuNTQ4YzQuOTM5IDAgOS4zMTYtMi40MDYgMTIuMDU2LTYuMDk2em0tMjkuNDQ2LTgxLjUzMi0uMDEyIDU2LjA5N3MtLjAwNC4wMDEtLjAxNC4wMDFoLTEyLjU0OHYtNTYuMTEzem0tMjcuNTc0IDIyOC4wNGgtMzcuMTV2LTEzNy45NjloMzcuMTV6bS0xMDQuMzg0LTYxLjQ4NGg1Mi4yMzR2MjEuNDM2aC01Mi4yMzR6bTUyLjIzNC0xNWgtNTIuMjM0di0yMS40MzZoNTIuMjM0em0tNTIuMjM0IDUxLjQzNWg1Mi4yMzR2MjUuMDQ5aC01Mi4yMzR6bTUyLjIzNC0xMTIuOTJ2MjUuMDQ5aC01Mi4yMzR2LTI1LjA0OXptLTEwNC4zODUgMGgzNy4xNXYxMzcuOTY5aC0zNy4xNXoiLz4KICAgIDwvZz4KPC9zdmc+",Vae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNjcuMDQzIDE3MC40MTRjLTEwLjUxNi0uMzY1LTIwLjAxNi01LjA0Ny0yNi43NDktMTMuMTgxLTQuOTE0LTUuOTM3LTEzLjkzOC01LjkyNS0xOC44NDIgMC0xNC41OTcgMTcuNjM3LTQxLjQ2MiAxNy42MDYtNTYuMDMxIDAtNC45NzMtNi4wMDctMTQuMDA1LTUuODQyLTE4Ljg0MyAwLTE0LjU5MiAxNy42MzMtNDEuNDU1IDE3LjYxMy01Ni4wMzEtLjAwMS00LjkyMi01Ljk0NS0xMy45NDUtNS45MTUtMTguODQxIDAtNi43MzMgOC4xMzUtMTYuMjMzIDEyLjgxNi0yNi43NDkgMTMuMTgyLTQuMTQuMTQ0LTcuMzc5IDMuNjE2LTcuMjM0IDcuNzU2LjE0NCA0LjE0IDMuNTk0IDcuMzcxIDcuNzU2IDcuMjM1IDEzLjU2Ni0uNDcyIDI2LjM4Ni02LjMyOCAzNS42NDYtMTYuMTg3IDIwLjI3NiAyMS42MjkgNTQuNTY5IDIxLjY1NyA3NC44NzUuMDAxIDIwLjI3OCAyMS42MjkgNTQuNTcxIDIxLjY1NCA3NC44NzQtLjAwMSA5LjI2MiA5Ljg1OSAyMi4wOCAxNS43MTUgMzUuNjQ3IDE2LjE4NyA0LjEyMS4xNDkgNy42MTMtMy4wOTUgNy43NTYtNy4yMzUuMTQ1LTQuMTQtMy4wOTQtNy42MTItNy4yMzQtNy43NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjc4MiAxMDcuN2MtOC4wODItMS43MDMtMTUuMTY3LTYtMjAuNDg3LTEyLjQyNy00LjkxNC01LjkzNy0xMy45MzgtNS45MjUtMTguODQyIDAtMTQuNTk3IDE3LjYzNy00MS40NjIgMTcuNjA2LTU2LjAzMSAwLTQuOTczLTYuMDA3LTE0LjAwNS01Ljg0Mi0xOC44NDMgMC0xNC41OTIgMTcuNjMzLTQxLjQ1NSAxNy42MTMtNTYuMDMxLS4wMDEtNC45MjItNS45NDUtMTMuOTQ1LTUuOTE1LTE4Ljg0MSAwLTUuMzIgNi40MjctMTIuNDA0IDEwLjcyNS0yMC40ODYgMTIuNDI4LTQuMDU0Ljg1NC02LjY0NyA0LjgzMi01Ljc5MyA4Ljg4NXM0Ljg0IDYuNjQ3IDguODg1IDUuNzkyYzEwLjM4My0yLjE4OCAxOS41OTItNy4zOSAyNi44MTYtMTUuMTE3IDIwLjI4MiAyMS42MzEgNTQuNTcyIDIxLjY0OCA3NC44NzItLjAwMSAyMC4yNzYgMjEuNjI2IDU0LjU2NyAyMS42NTYgNzQuODcxLjAwMiA3LjIyNiA3LjcyNyAxNi40MzYgMTIuOTMgMjYuODE4IDE1LjExNiA0LjA0OC44NTUgOC4wMy0xLjc0IDguODg1LTUuNzkzLjg1My00LjA1My0xLjc0MS04LjAzMS01Ljc5My04Ljg4NHoiLz4KICAgICAgICA8cGF0aCBkPSJtNTQuOTg1IDQyOS4yNzNoMTY5LjczMnY2OS41NzljMCA3LjI1IDUuODk4IDEzLjE0OCAxMy4xNDkgMTMuMTQ4aDI1LjE5MmM3LjI1IDAgMTMuMTQ4LTUuODk4IDEzLjE0OC0xMy4xNDh2LTEuNDY0aDc0LjE5OXYxLjQ2NGMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtNjkuNTc5aDU1LjExOWMyNC4xMjEgMCA0My4wODEtMjAuODg2IDQwLjY1Ny00NC45NTYtLjAwNC0uMDQtLjAwOC0uMDgtLjAxMy0uMTJsLTEzLjAzNS0xMTEuNTY3Yy0uNDgxLTQuMTE0LTQuMjE1LTcuMDYyLTguMzE5LTYuNTc5LTQuMTE0LjQ4MS03LjA2IDQuMjA2LTYuNTc5IDguMzJsMTMuMDMgMTExLjUwM2MxLjQ2IDE0LjgzMy0xMC4wOTQgMjguMzk4LTI1LjczOCAyOC4zOThoLTU1LjExOXYtMTkuMDU4aDQ0LjkzN2M5LjQ3IDAgMTYuODgtOC4xOTEgMTUuOTM1LTE3LjYxNi0uMDA1LS4wNDMtLjAxLS4wODYtLjAxNS0uMTI5bC0zOC43NTYtMzI5LjA3NGMtLjg2MS04LjE3OS03LjY5NS0xNC4zMzctMTUuOTI3LTE0LjMzN2gtMTM0LjU3MWMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxMzQuNTcxYy41MjMgMCAuOTU3LjM5MyAxLjAxLjkxNC4wMDQuMDQyLjAwOS4wODMuMDE0LjEyNWwzOC43NSAzMjkuMDM0Yy4wMTkuMjc1LS4wNzQuNTQ3LS4yNi43NTEtLjE5MS4yMTItLjQ2Ni4zMzMtLjc1Mi4zMzNoLTQ0LjkzN3YtMjIuODkyYzAtMzkuNDc3LTMyLjI1Ni03MC4zNDQtNzAuMzQ1LTcwLjM0NC0yNi43NzggMC01MC45NDcgMTUuMTg5LTYyLjgzOSAzOC43NDQtMTIuMDA4LTIzLjc3Mi0zNi43MjUtMzkuMjUtNjQuMjA2LTM4LjczMS0zNy43LjcwOS02OC45ODggMzEuNTkzLTY4Ljk4OCA3MC4zMzJ2MjIuODkyaC03MC4zNTJjLS4yODYgMC0uNTYtLjEyMi0uNzUzLS4zMzUtLjE4NS0uMjA0LS4yNzctLjQ3Ni0uMjU5LS43NTFsMzguNzUyLTMyOS4wMzJjLjAwNS0uMDQyLjAxLS4wODQuMDE0LS4xMjcuMDUzLS41Mi40ODYtLjkxMiAxLjAxLS45MTJoMTM0LjU3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMzQuNTdjLTguMjMzIDAtMTUuMDY3IDYuMTYtMTUuOTI3IDE0LjMzOWwtMzguNzU3IDMyOS4wNzNjLS4wMDUuMDQzLS4wMS4wODYtLjAxNS4xMjktLjk0NiA5LjQyMiA2LjQ2NCAxNy42MTYgMTUuOTM1IDE3LjYxNmgxNTkuNTUxdjE5LjA1OGgtMTY5LjczMmMtMTQuODUyIDAtMjcuMjc5LTEyLjc4Mi0yNS43MzktMjguMzk5bDQwLjYwOS0zNDcuNDgzYy4wMDUtLjA0LjAwOS0uMDguMDEzLS4xMTkgMS4zMzYtMTMuMjY4IDEyLjM5OS0yMy4yNzMgMjUuNzM0LTIzLjI3M2gzMjAuNzk4YzEzLjMzNSAwIDI0LjM5NyAxMC4wMDUgMjUuNzMzIDIzLjI3Mi4wMDQuMDQuMDA4LjA4LjAxMy4xMmwyMy40ODcgMjAwLjk3OWMuNDgxIDQuMTE1IDQuMjE3IDcuMDYzIDguMzE5IDYuNTc5IDQuMTE0LS40OCA3LjA2LTQuMjA2IDYuNTc5LTguMzJsLTIzLjQ4LTIwMC45MjJjLTIuMTM4LTIwLjkzMi0xOS42MDMtMzYuNzA4LTQwLjY1MS0zNi43MDhoLTMyMC43OThjLTIxLjA0OSAwLTM4LjUxNiAxNS43NzctNDAuNjUyIDM2LjcxbC00MC42MSAzNDcuNDg4Yy0uMDA1LjA0LS4wMDkuMDgtLjAxMy4xMi0yLjQxNSAyMy45OTkgMTYuNDY2IDQ0Ljk1NSA0MC42NTggNDQuOTU1em0yNTcuNzEzLTcxLjMwMmMwLTEwLjMyNSA4LjEyMi0xOS4yODkgMTguNS0xOS40ODMgMTAuNjgyLS4yMDQgMTkuMjA5IDguNDkxIDE5LjIwOSAxOC44MzZ2MjIuODkyaC0zNy43MDl6bS0zNi40OTEgNzEuMzAyaDc0LjE5OXYxOS4wNThoLTc0LjE5OXptNzguMjE1LTM0LjA1OGM1LjU2OSAwIDEwLjAxNCA0LjgxOCA5LjQ4NCAxMC40My0uNDczIDQuODg0LTQuNTkgOC42MjctOS40ODQgOC42MjdoLTc4LjIxNXYtMTkuMDU4YzI2LjExMi4wMDEgNTIuMTY3LjAwMSA3OC4yMTUuMDAxem0tNzguMjE1IDY4LjExNmg3OC4yMTVjNS41MzcgMCAxMC4wMTYgNC43OTYgOS40ODQgMTAuNDMtLjQ3MiA0Ljg3NC00LjU4NyA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1em0xMTAuNjkgMzMuNjY5aC0yMS40OXYtMi4yMTNjMTguMDE0LTkuMTI3IDE4LjA1NC0zNC43MDggMC00My44NTV2LTI0LjI2YzE4LjA5OC05LjE3IDE3Ljk2OC0zNC43NTIgMC00My44NTV2LTI1LjQ5M2MwLTIwLjQ4Ni0xOC4yMDItMzYuNTE3LTM4Ljc5NC0zMy40OS0xNi4zNTMgMi40LTI4LjkxNSAxNi41MjYtMjguOTE1IDMzLjQ5djIyLjg5MmgtMjEuNDl2LTIxLjgzN2MwLTMwLjU1MiAyNC40Ni01Ni4wOTQgNTQuODIyLTU2LjM4NiAzMS4yMTgtLjI2MiA1NS44NjcgMjUuMDU4IDU1Ljg2NyA1NS4zMzF6bS0yMzYuMzc3LTExNi43ODV2LTIxLjgzOGMwLTMyLjIyNCAyNi42OTYtNTcuNTgzIDU3LjU4OS01Ni4zNDIgMjkuNDgzIDEuMjA0IDUzLjA5OSAyNS41MDMgNTMuMDk5IDU1LjI4N3YxMzkuNjc3aC0yMS40OWMwLTE0LjQxOCAwLTEyMS4wNjMgMC0xMzkuNjc3IDAtMTcuOTUtMTQuMDY1LTMyLjgwNC0zMS45MTUtMzMuNzk1LTE5LjI3Ni0xLjA5Ni0zNS43OTMgMTQuMjYxLTM1Ljc5MyAzMy43OTV2MjIuODkyaC0yMS40OXptMzYuNDkgMHYtMjIuMjQ1YzAtOS40MjUgNi43NjItMTcuNzI0IDE1Ljg3Ny0xOS4yNDMgMTEuNjM5LTEuODUyIDIxLjgzIDcuMjM3IDIxLjgzIDE4LjU5NnYyMi44OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Zae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjE2LDI1MkgxMTZjLTUuNTEsMC0xMCw0LjQ5LTEwLDEwczQuNDksMTAsMTAsMTBoMTAwYzUuNTEsMCwxMC00LjQ5LDEwLTEwUzIyMS41MSwyNTIsMjE2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1MmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMHMxMC00LjQ5LDEwLTEwUzI2MS41MSwyNTIsMjU2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzk2LDI1MkgyOTZjLTUuNTEsMC0xMCw0LjQ5LTEwLDEwczQuNDksMTAsMTAsMTBoMTAwYzUuNTEsMCwxMC00LjQ5LDEwLTEwUzQwMS41MSwyNTIsMzk2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjg2LDEwN2gtNjBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NjBjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg2MGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi02MAoJCQlDMjk2LDExMS40NzcsMjkxLjUyMywxMDcsMjg2LDEwN3ogTTI3NiwxNjdoLTQwdi00MGg0MFYxNjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMiw0OTJoLTEzVjIzM2MwLTYyLjIzNy0yNC4yMzYtMTIwLjc0OC02OC4yNDQtMTY0Ljc1NkMzNzYuNzQ4LDI0LjIzNiwzMTguMjM3LDAsMjU2LDBTMTM1LjI1MiwyNC4yMzYsOTEuMjQ0LDY4LjI0NAoJCQlTMjMsMTcwLjc2MywyMywyMzN2MjU5SDEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwczQuNDc3LDEwLDEwLDEwaDQ5MmM1LjUyMywwLDEwLTQuNDc3LDEwLTEwUzUwNy41MjMsNDkyLDUwMiw0OTJ6IE0zODYsNDkySDEyNgoJCQl2LTIwaDI2MFY0OTJ6IE0zODYsNDUySDEyNnYtMjBoMjYwVjQ1MnogTTM4Niw0MTJIMTI2di0yMGgyNjBWNDEyeiBNMzg2LDM3MkgxMjZ2LTIwaDI2MFYzNzJ6IE0zODYsMzMySDEyNnYtMjBoMjYwVjMzMnoKCQkJIE00MjksNDkyaC0yM1YzMDJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMEgxMTZjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTkwSDgzVjIzM2MwLTk1LjY2OCw3Ny4zODMtMTczLjUsMTcyLjUtMTczLjUKCQkJQzM1MS4xNjgsNTkuNSw0MjksMTM3LjMzMiw0MjksMjMzVjQ5MnogTTQ2OSw0OTJoLTIwVjIzM2MwLTEwNi42OTYtODYuODA0LTE5My41LTE5My41LTE5My41CgkJCWMtNTEuNjM5LDAtMTAwLjA2MywyMC4xMzctMTM2LjM1Miw1Ni43MDJDODIuOTQsMTMyLjY4NCw2MywxODEuMjY3LDYzLDIzM3YyNTlINDNWMjMzYzAtMTE3LjQ0OSw5NS41NTEtMjEzLDIxMy0yMTMKCQkJczIxMyw5NS41NTEsMjEzLDIxM1Y0OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Xae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MDguNTQxIDIxOC4zODQtMTYyLjUwNy0yMDMuMTM0Yy03Ljc1My05LjY5Mi0xOS4zMTgtMTUuMjUtMzEuNzI5LTE1LjI1aC04My4xNTVjLTguNzAzIDAtMTUuNzgzIDcuMDgtMTUuNzgzIDE1Ljc4M3YxNi41NjdjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDMzLjkxN3YxMTcuNTMzaC0zMC42MzJsLTEyMC4zMzQtMTUwLjQxNmMtNy43NTMtOS42OTEtMTkuMzE4LTE1LjI1LTMxLjcyOS0xNS4yNWgtNjYuNTg5Yy04LjcwMyAwLTE1Ljc4MyA3LjA4LTE1Ljc4MyAxNS43ODN2MTYuNTY3YzAgOC43MDMgNy4wOCAxNS43ODMgMTUuNzgzIDE1Ljc4M2gxNy4zNXYxMTcuNTMzaC0xNy4zNWMtOC43MDMuMDAxLTE1Ljc4MyA3LjA4MS0xNS43ODMgMTUuNzg0djMwNi40ODNjMCAxMy4yNzEgMTAuNzk2IDI0LjA2NyAyNC4wNjcgMjQuMDY3aDQ3Mi4xNWM4LjcwMyAwIDE1Ljc4My03LjA4IDE1Ljc4My0xNS43ODN2LTc0LjU1LTE0My4yODktNTAuMTM0YzAtMy41NzEtMS4yMjgtNy4wNzMtMy40NTktOS44NnptLTYyLjAyNCAxOTUuNzgzYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtNzQuNTUtMTIxLjkwOGwxOC4xMzQgMjIuNjY3djE3NC41NzR6bS0yMzEuOTM0IDBjLS40MzIgMC0uNzg0LS4zNTItLjc4NC0uNzgzdi02Ny4wNWgxOC4xMzN2NjcuODMzem0tNjYuMjY2LTgyLjgzNGMtLjQzMiAwLS43ODQtLjM1Mi0uNzg0LS43ODR2LTY3LjA0OWgxOC4xMzN2NjcuODMzem0tNjYuMjY3LTgyLjgzM2MtLjQzMiAwLS43ODMtLjM1Mi0uNzgzLS43ODN2LTY3LjA1aDE4LjEzM3Y2Ny44MzN6bTgzLjYxNi05MS43NDF2OC45MDhoLTE4LjEzM3YtMzEuNTc0em02Ni4yNjcgODIuODMzdjguOTA4aC0xOC4xMzN2LTMxLjU3NHptODEuMjY3IDguMTI1di0xOTYuNDI4Yy4wNzIuMDg0LjE1Mi4xNi4yMjIuMjQ3bDE3LjkxMSAyMi4zODl2MTc0LjU3NWgtMTcuMzVjLS40MzEgMC0uNzgzLS4zNTItLjc4My0uNzgzem0xMTcuNTMzIDUwLjQ4M2gtMTguMTMzdi0xMjIuNjkxbDE4LjEzNCAyMi42Njd2MTAwLjAyNHptLTE4LjEzMyAxNWgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bS0xNSAxOC4xMzNoLTE3LjM1Yy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4NHYtNzQuNTQ5LTEyMS45MDhsMTguMTMzIDIyLjY2NnptLTMzLjEzMy0xMTUuOTY2aC0xOC4xMzR2LTEyMi42OTFsMTguMTM0IDIyLjY2N3ptLTE4LjEzNCAxNWgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bTE4LjEzNCAzMy4xMzN2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzg0aC04NC40NHYtNTIuOTU1LTE0Ljg3OXptLTk5LjQwMSAxNy41MDl2MTAwLjAyNGgtMTguMTMzdi0xMjIuNjkxbDUuMDg2IDYuMzU3em0tMTUwLjY2Ni0xODguMzMzIDE4LjEzMyAyMi42Njd2MTAwLjAyNGgtMTguMTMzem0zMy4xMzMgODcuOTkxaDE4LjEzM3Y2Ny44MzNoLTE4LjEzM3ptMzMuMTMzLTUuMTU4IDE4LjEzMyAyMi42Njd2MTAwLjAyNGgtMTguMTMzem0zMy4xMzQgODcuOTkxaDE4LjEzM3Y2Ny44MzNoLTE4LjEzM3ptLTExNC40LTk3LjgzM2gtMTguMTMzdi0xMTQuMzc4Yy4wNzMuMDg0LjE1Mi4xNi4yMjIuMjQ3bDE3LjkxMSAyMi4zOXptMTUgNjQuN2gxOC4xMzN2MTguMTMzaC0xOC4xMzN6bTY2LjI2NiA4Mi44MzNoMTguMTM0djE4LjEzM2gtMTguMTMzdi0xOC4xMzN6bTY2LjI2NyA4Mi44MzNoMTguMTMzdjE4LjEzM2gtMTguMTMzem0zMy4xMzMtNDkuN2gxNTAuNjY3djY3LjA1YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMTUwLjcwN3ptMjA3LjMxNi03Ny4zNDYgOS42MTggMTIuMDIydjEwMC4wMjRoLTE4LjEzM3YtMTIyLjY5em0tOC41MTUgMTI3LjA0NmgxOC4xMzN2MTguMTMzaC0xOC4xMzN6bS0yNDguNS0zNjMuNjgzdi0xNi41NjdjMC0uNDMyLjM1Mi0uNzgzLjc4My0uNzgzaDgzLjE1NWM3LjgzIDAgMTUuMTI1IDMuNTA2IDIwLjAxNyA5LjYybDE2Mi41MDcgMjAzLjEzNGMwIC4wMDEuMDAxLjAwMS4wMDIuMDAyLjEwOS4xMzcuMTcuMzExLjE3LjQ4OHYyOC43NTNsLTE3MS44NjYtMjE0LjgzMWMtNC41OTMtNS43NC0xMS40NDItOS4wMzItMTguNzkzLTkuMDMyaC0uNjQyLTc0LjU1Yy0uNDMyLS4wMDEtLjc4My0uMzUyLS43ODMtLjc4NHptNjcuODMzIDE1Ljc4M3Y4NC40aC0xOC4xMzR2LTg0LjR6bS0xOC4xMzQgOTkuNGgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bTE4LjEzNCAzMy4xMzR2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0xOC4xNzR2LTIwLjI1NmMwLTMuNTctMS4yMjgtNy4wNzItMy40NTgtOS44NTkgMC0uMDAxIDAtLjAwMSAwLS4wMDFsLTMwLjE3NC0zNy43MThoNTEuNzY2em0tMjgzLjItMTQ4LjMxN3YtMTYuNTY3YzAtLjQzMS4zNTItLjc4My43ODMtLjc4M2g2Ni41ODhjNy44MyAwIDE1LjEyNSAzLjUwNiAyMC4wMTYgOS42MmwxNjIuNTA4IDIwMy4xMzRjLjExLjEzOC4xNzEuMzEzLjE3MS40OXYyOC43NTRsLTE3MS44NjUtMjE0LjgzMmMtNC41OTItNS43NC0xMS40NDItOS4wMzMtMTguNzkzLTkuMDMzaC0uNjQyLTU3Ljk4M2MtLjQzMSAwLS43ODMtLjM1MS0uNzgzLS43ODN6bTUxLjI2NyAxNS43ODN2ODQuNGgtMTguMTM0di04NC40em0tMTguMTM0IDk5LjRoMTguMTMzdjE4LjEzM2gtMTguMTMzem0tMjQuMDY2IDM0OS40NjdjLTUgMC05LjA2Ny00LjA2Ny05LjA2Ny05LjA2N3YtMzA2LjQ4M2MwLS40MzIuMzUyLS43ODQuNzgzLS43ODRoNTAuNDgzdjY3LjA1YzAgOC43MDMgNy4wOCAxNS43ODMgMTUuNzgzIDE1Ljc4M2g1MC40ODN2NjcuMDVjMCA4LjcwMyA3LjA4MSAxNS43ODQgMTUuNzg0IDE1Ljc4NGg1MC40ODR2NjcuMDVjMCA4LjcwMyA3LjA4MSAxNS43ODMgMTUuNzg0IDE1Ljc4M2g1MC40ODN2NjcuMDVjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzaC0yNDAuMjE3em00NzIuOTMzLS43ODNjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzaC0yMTYuMTljLjAxMy0uMjYxLjA0LS41MTkuMDQtLjc4M3YtNjcuMDVoMjE2LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+",Kae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuOTk4LDMwLjU5OGgtMTUyYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjQwLjAwM2MwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDIwLjAwMXY3NC43OTRoLTE5MAoJCQkJYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjQwLjAwMmMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwSDIwMHY3NC43OTZIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAxYzAsNS41MjMsNC40NzcsMTAsMTAsMTAKCQkJCWgxMy45OTZWNDcxLjRjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGgxODEuNzZjMi4yNTYsMCw0LjQ0NS0wLjc2Myw2LjIxMy0yLjE2NWwyODYuMjQzLTIyNi45NzIKCQkJCWMyLjM5Mi0xLjg5NiwzLjc4Ni00Ljc4MiwzLjc4Ni03LjgzNVY4MC42MDFWNDAuNTk4QzUxMS45OTgsMzUuMDc1LDUwNy41MjIsMzAuNTk4LDUwMS45OTgsMzAuNTk4eiBNMTg5Ljk5OSwyMDUuMzk3di0yMC4wMDIKCQkJCWgxODB2MjAuMDAySDE4OS45OTl6IE0yMCwzNDAuMTk0di0yMC4wMDFoMTgwdjIwLjAwMUgyMHogTTQ5MS45OTgsMTA5Ljg3OWgtNDEuMDM1Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwCgkJCQljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg0MS4wMzV2MTA5LjcxNUwyMTIuMjcxLDQ2MS40SDQzLjk5NnYtNjIuMjUzaDQxLjAzNmM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwcy00LjQ3OC0xMC0xMC0xMEg0My45OTYKCQkJCXYtMTguOTUzSDIxMGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi00MC4wMDF2LTg0Ljc5NmgxNTkuOTk5YzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTQwLjAwMlY5MC42MDFoMTAxLjk5OVYxMDkuODc5egoJCQkJIE00OTEuOTk4LDcwLjYwMWgtMTMyVjUwLjU5OGgxMzJWNzAuNjAxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMTQsMzc5LjE0NGgtMC4yMzZjLTUuNTI0LDAtMTAsNC40NzctMTAsMTBzNC40NzYsMTAsMTAsMTBIMTE0YzUuNTIyLDAsMTAtNC40NzcsMTAtMTBTMTE5LjUyMiwzNzkuMTQ0LDExNCwzNzkuMTQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjEuOTk4LDEyOS44OGgwLjIzNWM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwcy00LjQ3OC0xMC0xMC0xMGgtMC4yMzVjLTUuNTIzLDAtMTAsNC40NzctMTAsMTAKCQkJCVM0MTYuNDc1LDEyOS44OCw0MjEuOTk4LDEyOS44OHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",qae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNS41MTggNjRoMi45ODZjLjU1MyAwIDEtLjQ0NyAxLTF2LTIuMDIxaDQ0Ljk5MnYyLjAyMWMwIC41NTMuNDQ3IDEgMSAxaDNjLjU1MyAwIDEtLjQ0NyAxLTF2LTYwLjVjMC0xLjM3OC0xLjEyMS0yLjUtMi41LTIuNXMtMi41IDEuMTIyLTIuNSAyLjV2MTUuNTA0aC0yLjk5OHYtMTMuOTk2YzAtLjU1Mi0uNDQ3LTEtMS0xaC0xNS45OTZjLS41NTMgMC0xIC40NDgtMSAxdjEzLjk5NWgtMy4wMDJ2LTEzLjk5NWMwLS41NTItLjQ0Ny0xLTEtMWgtMTUuOTk2Yy0uNTUzIDAtMSAuNDQ4LTEgMXYxMy45OTVoLTN2LTE1LjUwM2MwLTEuMzc4LTEuMTIxLTIuNS0yLjUtMi41cy0yLjUgMS4xMjItMi41IDIuNWwuMDE0IDYwLjVjMCAuNTUzLjQ0NyAxIDEgMXptNTAuOTc4LTYxLjVjMC0uMjc2LjIyNS0uNS41LS41cy41LjIyNC41LjV2NTkuNWgtMXptLTE0Ljk5OCAyLjUwOGgyLjAwMnYxLjAwOGgtMi4wMDJ6bS01Ljk5NiAwaDMuOTk2djIuMDA4YzAgLjU1Mi40NDcgMSAxIDFoNC4wMDJjLjU1MyAwIDEtLjQ0OCAxLTF2LTIuMDA4aDMuOTk4djEyLjk5NWgtMTMuOTk2em0tMTUuMDAyIDBoMnYxLjAwOGgtMnptLTUuOTk2IDBoMy45OTZ2Mi4wMDhjMCAuNTUyLjQ0NyAxIDEgMWg0Yy41NTMgMCAxLS40NDggMS0xdi0yLjAwOGg0djEyLjk5NWgtMTMuOTk2em0tNSAxNC45OTVoNCAxNS45OTYgNS4wMDIgMTUuOTk2IDMuOTk4djFoLTQ0Ljk5MnptMCAzaDQ0Ljk5MnYxMy45NzFoLTIuOTk2di0xMC45OWMwLS41NTItLjQ0Ny0xLTEtMWgtMzdjLS41NTMgMC0xIC40NDgtMSAxdjEwLjk5MWgtMi45OTZ6bTE5Ljk5NiA2Ljk4MWg1Yy41NTMgMCAxLS40NDggMS0xdi0yaDE0djkuOTkxaC0zNXYtOS45OTFoMTR2MmMwIC41NTIuNDQ3IDEgMSAxem0xLTJ2LTFoM3Yxem0tMjAuOTk2IDEwLjk5MWgzLjk5NiAzNyAzLjk5NnYxLjAwMmgtNDQuOTkyem0wIDMuMDAyaDQ0Ljk5MnYxNGgtMi45OTR2LTExLjk5YzAtLjU1My0uNDQ3LTEtMS0xaC0xNC4wMDJjLS41NTMgMC0xIC40NDctMSAxdjExLjk5aC0yLjk5NHYtOC45ODhjMC0uNTUzLS40NDctMS0xLTFoLTYuOTk0Yy0uMDA0IDAtLjAwNi0uMDAyLS4wMS0uMDAycy0uMDA2LjAwMi0uMDEuMDAyaC0zLjk4MmMtLjAwNCAwLS4wMDYtLjAwMi0uMDEtLjAwMnMtLjAwNi4wMDItLjAxLjAwMmgtNi45ODZjLS41NTMgMC0xIC40NDctMSAxdjguOTg4aC0zem0zMS45OTYgNi4wMTdoNC4wMDJjLjU1MyAwIDEtLjQ0NyAxLTF2LTIuMDA4aDN2MTAuOTloLTEyLjAwMnYtMTAuOTloM3YyLjAwOGMwIC41NTMuNDQ3IDEgMSAxem0xLTJ2LTEuMDA4aDIuMDAydjEuMDA4em0tMjIgNWg0LjAwMmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMDZoNS4wMDR2Ny45ODhoLTE2LjAwMnYtNy45ODhoNC45OTZ2Mi4wMDZjMCAuNTUzLjQ0NyAxIDEgMXptMS0ydi0xLjAwNmgyLjAwMnYxLjAwNnptLTExLjk5NiA4Ljk4M2g0IDE4LjAwMiA0Ljk5NCAxNC4wMDIgMy45OTR2MS4wMDJoLTQ0Ljk5MnptLTIuNS01NS45NzdjLjI3NSAwIC41LjIyNC41LjV2NTkuNWgtLjk4NmwtLjAxNC01OS41YzAtLjI3Ni4yMjUtLjUuNS0uNXoiLz4KICAgIDwvZz4KPC9zdmc+",ece="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjMgM3YtMmgtMzFjLS41NTMgMC0xIC40NDctMSAxdjhjMCAuNTUzLjQ0NyAxIDEgMWgxdjUwaC0zMnYyaDMzIDQgOCA0IDEzdi0yaC0xMnYtNWgxMnYtMmgtMTMtNC0zdi0yaDIwdi0yaC0yMWMtLjU1MyAwLTEgLjQ0Ny0xIDF2NGMwIC41NTMuNDQ3IDEgMSAxaDN2NWgtNnYtNTBoMjR2LTJoLTI1LTQtMXYtNnptLTE2IDUzaDJ2NWgtMnptLTEwLTQ1djUwaC0ydi01MHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjEgMzJjMC0yLjExOC0uNTAxLTQuMjM4LTEuNDQ3LTYuMTMxbC0uNjU4LTEuMzE2Yy0uMzQtLjY3OC0xLjQ0OS0uNjc4LTEuNzg5IDBsLS42NTggMS4zMTZjLS45NDcgMS44OTMtMS40NDggNC4wMTMtMS40NDggNi4xMzEgMCAuMjQxLjAyOS40ODEuMDQyLjcyMi0uNjQ2LS40ODMtMS4zODMtLjgzNy0yLjE3Mi0xLjAzNGwtMi42MjgtLjY1N2MtLjMzOC0uMDg3LS43MDEuMDE1LS45NDkuMjYzcy0uMzQ5LjYwOC0uMjYzLjk0OWwuNjU3IDIuNjI5Yy4yNjkgMS4wNzMuODIzIDIuMDU1IDEuNjA1IDIuODM2Ljc4MS43ODIgMS43NjMgMS4zMzcgMi44MzYgMS42MDVoLjAwMWwuNjcyLjE2OC0xLjI1LjYyNS44OTUgMS43ODkgMi41NTQtMS4yNzd2Mi4zODJoLTdjLS41NTMgMC0xIC40NDctMSAxdjRjMCAuNTUzLjQ0NyAxIDEgMWgxLjA5NWwuOTEgOS4xYy4wNTEuNTEuNDgxLjkuOTk1LjloMTBjLjUxNCAwIC45NDQtLjM5Ljk5NS0uOWwuOTEtOS4xaDEuMDk1Yy41NTMgMCAxLS40NDcgMS0xdi00YzAtLjU1My0uNDQ3LTEtMS0xaC03di0yLjM4MmwyLjU1MyAxLjI3Ni44OTUtMS43ODktMS4yNS0uNjI1LjY3Mi0uMTY4aC4wMDFjMS4wNzMtLjI2OSAyLjA1NS0uODIzIDIuODM2LTEuNjA1Ljc4Mi0uNzgxIDEuMzM3LTEuNzYzIDEuNjA1LTIuODM3bC42NTctMi42MjhjLjA4Ni0uMzQxLS4wMTUtLjcwMS0uMjYzLS45NDlzLS42MDktLjM1LS45NDktLjI2M2wtMi42MjkuNjU3Yy0uNzg4LjE5Ny0xLjUyNS41NTEtMi4xNzEgMS4wMzQuMDE0LS4yNC4wNDMtLjQ4LjA0My0uNzIxem0xLjA5NSAyNWgtOC4xODlsLS44LThoOS43OXptMi45MDUtMTBoLTE0di0yaDE0em0tNy0xOS43MzRjLjY1NSAxLjQ4NSAxIDMuMTEgMSA0LjczNHMtLjM0NSAzLjI0OS0xIDQuNzM0Yy0uNjU1LTEuNDg1LTEtMy4xMS0xLTQuNzM0cy4zNDUtMy4yNDkgMS00LjczNHptLTUuMjkzIDkuMDI3Yy0uNTI1LS41MjUtLjg5OC0xLjE4Ni0xLjA4LTEuOTA3bC0uMjUyLTEuMDExIDEuMDEuMjUyYy43MjMuMTgyIDEuMzgzLjU1NSAxLjkwOCAxLjA4cy44OTggMS4xODYgMS4wOCAxLjkwN2wuMjUyIDEuMDExLTEuMDEtLjI1MmMtLjcyMi0uMTgyLTEuMzgzLS41NTUtMS45MDgtMS4wOHptMTAuOTA3LTIuNjY2IDEuMDExLS4yNTItLjI1MiAxLjAxYy0uMTgyLjcyMy0uNTU1IDEuMzgzLTEuMDggMS45MDhzLTEuMTg2Ljg5OC0xLjkwOCAxLjA4bC0xLjAxLjI1Mi4yNTItMS4wMWMuMTgyLS43MjMuNTU1LTEuMzgzIDEuMDgtMS45MDhzMS4xODYtLjg5OCAxLjkwNy0xLjA4eiIvPgogICAgICAgIDxwYXRoIGQ9Im01IDE1aDEzYzIuNzU3IDAgNS0yLjI0MyA1LTVzLTIuMjQzLTUtNS01Yy0uNDM4IDAtLjg3Ny4wNjEtMS4zMDMuMTgtLjc2Ni0yLjQ1NS0zLjAyMy00LjE4LTUuNjk3LTQuMTgtMy4zMDkgMC02IDIuNjkxLTYgNi0yLjIwNiAwLTQgMS43OTQtNCA0czEuNzk0IDQgNCA0em0wLTZjLjI3IDAgLjUzMy4wNTQuNzgzLjE2LjM1Mi4xNDcuNzU2LjA4NSAxLjA0My0uMTYzLjI4OC0uMjQ4LjQxMS0uNjM5LjMxNy0xLjAwNy0uMDk4LS4zNzctLjE0My0uNjkyLS4xNDMtLjk5IDAtMi4yMDYgMS43OTQtNCA0LTQgMi4wODEgMCAzLjc4NCAxLjU3NCAzLjk2MSAzLjY2Mi4wMjguMzQ1LjIzMy42NDguNTQuODA2LjMwOC4xNTguNjc1LjE0NS45Ny0uMDMyLjQ4My0uMjkuOTk3LS40MzYgMS41MjktLjQzNiAxLjY1NCAwIDMgMS4zNDYgMyAzcy0xLjM0NiAzLTMgM2gtMTNjLTEuMTAzIDAtMi0uODk3LTItMnMuODk3LTIgMi0yeiIvPgogICAgPC9nPgo8L3N2Zz4=",tce="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTEsNTdINDguNDE0bC0uODc5LS44NzlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEtNS4xMTJDNTEuMTUzLDQ4LjU4Nyw1NS42MDcsNDEuOTM0LDU1Ljk1NywzNEg1NmExLDEsMCwwLDAsMS0xVjMwYTEsMSwwLDAsMC0xLTFINTIuNDY0YTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMtNEg1N2ExLDEsMCwwLDAsMS0xVjRhMSwxLDAsMCwwLTEtMUg0Ni44NDFBMTIuNywxMi43LDAsMCwwLDMzLjE1OSwzSDIzYTEsMSwwLDAsMC0xLDFWMjRhMSwxLDAsMCwwLDEsMWgyLjg2M2ExOS41ODIsMTkuNTgyLDAsMCwwLDEuNjczLDRIMjRhMSwxLDAsMCwwLTEsMXYzYTEsMSwwLDAsMCwxLDFoLjA0M2MuMzUsNy45MzQsNC44LDE0LjU4NywxMC44OTMsMTcuMDA5YTguNTg3LDguNTg3LDAsMCwxLTIuNDcxLDUuMTEyTDMxLjU4Niw1N0gyOWExLDEsMCwwLDAtMSwxdjRhMSwxLDAsMCwwLDEsMUg1MWExLDEsMCwwLDAsMS0xVjU4QTEsMSwwLDAsMCw1MSw1N1pNNTYsNVYyM0g1NC42MTFBMjEuNDQ3LDIxLjQ0NywwLDAsMCw1NSwxOSwxOS40OTMsMTkuNDkzLDAsMCwwLDQ5LjQwNyw1Wk0yNCwyM1Y1aDYuNTkzQTE5LjQ5MywxOS40OTMsMCwwLDAsMjUsMTlhMjEuNDQ3LDIxLjQ0NywwLDAsMCwuMzg5LDRabTMtNGMwLTguODIyLDUuODMyLTE2LDEzLTE2czEzLDcuMTc4LDEzLDE2YTE4LjQwNywxOC40MDcsMCwwLDEtMi44NzIsMTBINDcuNjgyQTE2LDE2LDAsMCwwLDUxLDE5YzAtNy43Mi00LjkzNS0xNC0xMS0xNFMyOSwxMS4yOCwyOSwxOWExNiwxNiwwLDAsMCwzLjMxOCwxMEgyOS44NzJBMTguNDA3LDE4LjQwNywwLDAsMSwyNywxOVptOC4wNjEsMTBBMTMuMzA4LDEzLjMwOCwwLDAsMSwzMSwxOWMwLTYuNjE3LDQuMDM3LTEyLDktMTJzOSw1LjM4Myw5LDEyYTEzLjMwOCwxMy4zMDgsMCwwLDEtNC4wNjEsMTBaTTI1LDMxSDU1djFIMjVabTEuMDQyLDNINTMuOTU4QzUzLjUyOCw0Mi45MDgsNDcuNDQyLDUwLDQwLDUwUzI2LjQ3Miw0Mi45MDgsMjYuMDQyLDM0Wk0zNi44NjQsNTEuNjI5YTEzLjQ0LDEzLjQ0LDAsMCwwLDYuMjcyLDBBMTAuNTM5LDEwLjUzOSwwLDAsMCw0NS42MzYsNTdIMzQuMzY0QTEwLjUzOSwxMC41MzksMCwwLDAsMzYuODY0LDUxLjYyOVpNNTAsNjFIMzBWNTlINTBaIi8+CiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgICAgICA8cGF0aCBkPSJNMjMsNTdoLS4wOEE3LjAxLDcuMDEsMCwwLDAsMTksNTEuNjg1VjQ4YTEsMSwwLDAsMC0xLTFIMTdWMjYuODE2YTMsMywwLDEsMC0yLDBWNDdIMTRhMSwxLDAsMCwwLTEsMXYzLjY4NUE3LjAxLDcuMDEsMCwwLDAsOS4wOCw1N0g5YTMsMywwLDAsMCwwLDZIMjNhMywzLDAsMCwwLDAtNlpNMTYsMjNhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsMTYsMjNaTTE1LDQ5aDJ2Mi4wOGE2LjI5LDYuMjksMCwwLDAtMiwwWm0xLDRhNS4wMDYsNS4wMDYsMCwwLDEsNSw1SDExQTUuMDA2LDUuMDA2LDAsMCwxLDE2LDUzWm03LDhIOWExLDEsMCwwLDEsMC0yLDEsMSwwLDAsMCwxLDFIMjJhMSwxLDAsMCwwLDEtMSwxLDEsMCwwLDEsMCwyWiIvPgogICAgICAgIDxwYXRoIGQ9Ik04LDE1YTEsMSwwLDAsMCwxLTEsNS4wMDYsNS4wMDYsMCwwLDEsNS01LDEsMSwwLDAsMCwwLTJBNS4wMDYsNS4wMDYsMCwwLDEsOSwyLDEsMSwwLDAsMCw3LDIsNS4wMDYsNS4wMDYsMCwwLDEsMiw3LDEsMSwwLDAsMCwyLDlhNS4wMDYsNS4wMDYsMCwwLDEsNSw1QTEsMSwwLDAsMCw4LDE1Wk01LjYsOEE3LjA2Niw3LjA2NiwwLDAsMCw4LDUuNiw3LjA2Niw3LjA2NiwwLDAsMCwxMC40LDgsNy4wNjYsNy4wNjYsMCwwLDAsOCwxMC40LDcuMDY2LDcuMDY2LDAsMCwwLDUuNiw4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4KICAgICAgICA8cGF0aCBkPSJNNjIsNDhhMywzLDAsMCwxLTMtMywxLDEsMCwwLDAtMiwwLDMsMywwLDAsMS0zLDMsMSwxLDAsMCwwLDAsMiwzLDMsMCwwLDEsMywzLDEsMSwwLDAsMCwyLDAsMywzLDAsMCwxLDMtMywxLDEsMCwwLDAsMC0yWm0tNCwyYTUuMDE3LDUuMDE3LDAsMCwwLTEtMSw1LjAxNyw1LjAxNywwLDAsMCwxLTEsNS4wMTcsNS4wMTcsMCwwLDAsMSwxQTUuMDE3LDUuMDE3LDAsMCwwLDU4LDUwWiIvPgogICAgPC9nPgo8L3N2Zz4K",sce="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOSA1MDkiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNTkuMiAwdjg5LjhoLTg5LjgwMXY4OS44aC04OS44djg5LjhoLTg5Ljc5OXY4OS44aC04OS44djE0OS44aDUwOXYtNTA5em0xMTkuOCA0NzloLTQ0OXYtODkuOGg4OS44di04OS44aDg5Ljh2LTg5LjhoODkuOHYtODkuOGg4OS44di04OS44aDg5Ljh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTY4LjQ0OCAxNzYuOTU2IDk0LjA0MS05NC4wNC0zLjYyOSA0My4wNjYgMjkuODk1IDIuNTE5IDguNTYyLTEwMS42MjYtMTAxLjYyNyA4LjU2MiAyLjUxOCAyOS44OTQgNDMuMDY4LTMuNjI4LTk0LjA0MSA5NC4wNHoiLz4KICAgIDwvZz4KPC9zdmc+",ice="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y0Mi42NjcKCQkJQzI0Ny40NjcsMzcuOTU2LDI0My42NDQsMzQuMTMzLDIzOC45MzMsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NzcuODY3LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjc2LjhjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzUzQ4Ni40LDgxLjUxLDQ4Ni40LDc2LjhWNDIuNjY3CgkJCUM0ODYuNCwzNy45NTYsNDgyLjU3NywzNC4xMzMsNDc3Ljg2NywzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE3OS4yLDBIOC41MzNDMy44MjMsMCwwLDMuODIzLDAsOC41MzN2NDk0LjkzM0MwLDUwOC4xNzcsMy44MjMsNTEyLDguNTMzLDUxMkgxNzkuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMKCQkJVjguNTMzQzE4Ny43MzMsMy44MjMsMTgzLjkxLDAsMTc5LjIsMHogTTE3MC42NjcsNDk0LjkzM2gtMTUzLjZWMTcuMDY3aDE1My42VjQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMzU4LjRIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxMzYuNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3CgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzY2LjkzM0M1MTIsMzYyLjIyMyw1MDguMTc3LDM1OC40LDUwMy40NjcsMzU4LjR6IE00OTQuOTMzLDQ5NC45MzNoLTMwNy4yVjM3NS40NjdoMzA3LjIKCQkJVjQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2NwoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjguNTMzQzUxMiwzLjgyMyw1MDguMTc3LDAsNTAzLjQ2NywweiBNNDk0LjkzMywzNC4xMzNoLTMwNy4yVjE3LjA2N2gzMDcuMlYzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEzNi41MzMsMjQ3LjQ2N2gtMjUuNmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDI1LjZjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVMxNDEuMjQ0LDI0Ny40NjcsMTM2LjUzMywyNDcuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMzLDI0Ny40NjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YyNS42YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YyNTYKCQkJQzExOS40NjcsMjUxLjI5LDExNS42NDQsMjQ3LjQ2NywxMTAuOTMzLDI0Ny40Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsNDE4LjEzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDUxLjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVMzNzEuNjQ0LDQxOC4xMzMsMzY2LjkzMyw0MTguMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNDEuMzMzLDQxOC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxNy4wNjdjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCXYtMTcuMDY3QzM0OS44NjcsNDIxLjk1NiwzNDYuMDQ0LDQxOC4xMzMsMzQxLjMzMyw0MTguMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yCgkJCUMyOTguNjY3LDM3Ljk1NiwyOTQuODQ0LDM0LjEzMywyOTAuMTMzLDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywxMTkuNDY3Yy00NS45MzUsMC03Ni44LDE3LjE0My03Ni44LDQyLjY2N1YxNzkuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTcuMDY3djc2LjgKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcKCQkJQzM2Ni45MzMsMTM2LjYxLDMzNi4wNjgsMTE5LjQ2NywyOTAuMTMzLDExOS40Njd6IE0zNDkuODY3LDE3MC42NjdIMzMyLjhjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZIMjU2di03Ni44CgkJCWMwLTQuNzEtMy44MjMtOC41MzMtOC41MzMtOC41MzNIMjMwLjR2LTguNTMzYzAtMTIuNDA3LDIwLjkzMi0yNS42LDU5LjczMy0yNS42czU5LjczMywxMy4xOTMsNTkuNzMzLDI1LjZWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzQ5Ljg2NywxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNwoJCQljMCw0LjAxMSwyLjc5LDcuNDc1LDYuNzA3LDguMzM3YzE5LjI1MSw0LjIxNSwzMS42OTMsMTMuMTY3LDMxLjY5MywyMi44MDF2OC41MzNIMzMyLjhjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2NwoJCQlDNDI2LjY2NywxMzYuNjEsMzk1LjgwMiwxMTkuNDY3LDM0OS44NjcsMTE5LjQ2N3ogTTQwOS42LDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcKCQkJSDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3YzAtOS44MTMtNC43MzYtMTguNTc3LTEzLjM4LTI1LjU1N2MzNi40MzcsMC44MDIsNTYuMDQ3LDEzLjU0Miw1Ni4wNDcsMjUuNTU3CgkJCVYxNzAuNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MDkuNiwxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNwoJCQljMCw0LjAxMSwyLjc5LDcuNDc1LDYuNzA3LDguMzM3YzE5LjI1MSw0LjIxNSwzMS42OTMsMTMuMTY3LDMxLjY5MywyMi44MDF2OC41MzNoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjg1LjMzMwoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3CgkJCUM0ODYuNCwxMzYuNjEsNDU1LjUzNSwxMTkuNDY3LDQwOS42LDExOS40Njd6IE00NjkuMzMzLDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcKCQkJaDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1NwoJCQlWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMwoJCQljMCw0LjcwMi0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzYzE0LjExNCwwLDI1LjYtMTEuNDg2LDI1LjYtMjUuNgoJCQlTMzA0LjI0Nyw4NS4zMzMsMjkwLjEzMyw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM1OC40LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yCgkJCUMzNjYuOTMzLDM3Ljk1NiwzNjMuMTEsMzQuMTMzLDM1OC40LDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzU4LjQsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMKCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYKCQkJUzM3Mi41MTQsODUuMzMzLDM1OC40LDg1LjMzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDNDM1LjIsMzcuOTU2LDQzMS4zNzcsMzQuMTMzLDQyNi42NjcsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjYuNjY3LDg1LjMzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcwMiwwLDguNTMzLDMuODMxLDguNTMzLDguNTMzCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42CgkJCVM0NDAuNzgxLDg1LjMzMyw0MjYuNjY3LDg1LjMzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDg2LjQsMzI0LjI2N0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzA3LjIKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YzMzIuOEM0OTQuOTMzLDMyOC4wOSw0OTEuMTEsMzI0LjI2Nyw0ODYuNCwzMjQuMjY3eiBNNDc3Ljg2NywzNTguNEgxODcuNzMzdi0xNy4wNjdoMjkwLjEzMwoJCQlWMzU4LjR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ2OS4zMzMsMzkyLjUzM2gtMjU2Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2NjguMjY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNTYKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNjguMjY3QzQ3Ny44NjcsMzk2LjM1Niw0NzQuMDQ0LDM5Mi41MzMsNDY5LjMzMywzOTIuNTMzeiBNNDYwLjgsNDYwLjhIMjIxLjg2N3YtNTEuMkg0NjAuOAoJCQlWNDYwLjh6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",oce="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTUuNzU4IDYxLTEuNTY5LTUuNTdjNC4wNTMtMi4yMDQgNi44MTEtNi41MDEgNi44MTEtMTEuNDN2LTFjMS4xMDMgMCAyLS44OTcgMi0ydi0yYzAtMS4xMDMtLjg5Ny0yLTItMnYtMTBjMS4xMDMgMCAyLS44OTcgMi0ydi0yYzAtMS4xMDMtLjg5Ny0yLTItMmgtMjZjLTEuMTAzIDAtMiAuODk3LTIgMnYyYzAgMS4xMDMuODk3IDIgMiAydjEwYy0xLjEwMyAwLTIgLjg5Ny0yIDJ2MmMwIDEuMTAzLjg5NyAyIDIgMnYxYzAgNC45MjkgMi43NTggOS4yMjYgNi44MTEgMTEuNDNsLTEuNTY5IDUuNTdoLTEzLjM0M2MtLjQ2NS0yLjI3OS0yLjQ4NC00LTQuODk5LTRoLTF2LTkuMDAzYzQuNjkzLTEuOTYzIDgtNi42IDgtMTEuOTk3di03aC0xOHYtNGg0djJoMnYtMmMwLTEuMTAzLS44OTctMi0yLTJoLTYtMS0xYy0xLjEwMyAwLTIgLjg5Ny0yIDJ2NGgtMnY3YzAgNS4zOTcgMy4zMDcgMTAuMDM0IDggMTEuOTk3djkuMDAzaC0xYy0yLjQxNCAwLTQuNDM0IDEuNzIxLTQuODk5IDRoLTUuMTAxdjJoNjR2LTJ6bS0yMC43NTktMzhoMjYuMDAxdjJoLTI2em0yLjAwMSA4aDR2LTJoLTR2LTJoMjJ2MTBoLTIyem0tMi4wMDEgOGgyNi4wMDF2MmgtMjZ6bTIuMDAxIDV2LTFoMjJ2MWMwIDYuMDY1LTQuOTM1IDExLTExIDExcy0xMS00LjkzNS0xMS0xMXptNi42NjEgMTIuMjRjMS4zNi40ODMgMi44MTYuNzYgNC4zMzkuNzZzMi45NzktLjI3NyA0LjMzOS0uNzZsMS4zNCA0Ljc2aC0xMS4zNTh6bS0zNi42NjEtMzEuMjRoMSAxdjRoLTJ6bTIwIDZ2MmgtMjJ2LTJ6bS0yMiA1di0xaDIydjFjMCA2LjA2NS00LjkzNSAxMS0xMSAxMXMtMTEtNC45MzUtMTEtMTF6bTggMTIuNjM3Yy45NjUuMjI5IDEuOTY2LjM2MyAzIC4zNjNzMi4wMzUtLjEzNCAzLS4zNjN2OC4zNjNoLTZ6bS0zIDEwLjM2M2gxMmMxLjMwMiAwIDIuNDAyLjgzOSAyLjgxNiAyaC0xNy42MzJjLjQxNC0xLjE2MSAxLjUxNC0yIDIuODE2LTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQgMjFoMjRjMS42NTQgMCAzLTEuMzQ2IDMtM3YtMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM2gtMjRjLTEuNjU0IDAtMyAxLjM0Ni0zIDN2MTRjMCAxLjY1NCAxLjM0NiAzIDMgM3ptLTEtMTdjMC0uNTUxLjQ0OC0xIDEtMWgyNGMuNTUyIDAgMSAuNDQ5IDEgMXYxNGMwIC41NTEtLjQ0OCAxLTEgMWgtMjRjLS41NTIgMC0xLS40NDktMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMCAyLjUxNWgydjE2Ljk3MWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC00LjU1NiAxMSkiLz4KICAgICAgICA8cGF0aCBkPSJtMjAgMi41MTVoMnYxNi45NzFoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzA3IC0uNzA3IC43MDcgLjcwNyAtMS42MjcgMTguMDcxKSIvPgogICAgICAgIDxwYXRoIGQ9Im0zNSA5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzUgMTNoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyAxMWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzIDExaDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDUgM2gydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1IDdoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDMgNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDEzaDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTUgMTdoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im01NyAxNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUzIDE1aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+",rce="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTEsNTdINDguNDE0bC0uODc5LS44NzlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEtNS4xMTJDNTEuMTUzLDQ4LjU4Nyw1NS42MDcsNDEuOTM0LDU1Ljk1NywzNEg1NmExLDEsMCwwLDAsMS0xVjMwYTEsMSwwLDAsMC0xLTFINTIuNDY0YTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMtNEg1N2ExLDEsMCwwLDAsMS0xVjRhMSwxLDAsMCwwLTEtMUg0Ni44NDFBMTIuNywxMi43LDAsMCwwLDMzLjE1OSwzSDIzYTEsMSwwLDAsMC0xLDFWMjRhMSwxLDAsMCwwLDEsMWgyLjg2M2ExOS41ODIsMTkuNTgyLDAsMCwwLDEuNjczLDRIMjRhMSwxLDAsMCwwLTEsMXYzYTEsMSwwLDAsMCwxLDFoLjA0M2MuMzUsNy45MzQsNC44LDE0LjU4NywxMC44OTMsMTcuMDA5YTguNTg3LDguNTg3LDAsMCwxLTIuNDcxLDUuMTEyTDMxLjU4Niw1N0gyOWExLDEsMCwwLDAtMSwxdjRhMSwxLDAsMCwwLDEsMUg1MWExLDEsMCwwLDAsMS0xVjU4QTEsMSwwLDAsMCw1MSw1N1pNNTYsNVYyM0g1NC42MTFBMjEuNDQ3LDIxLjQ0NywwLDAsMCw1NSwxOSwxOS40OTMsMTkuNDkzLDAsMCwwLDQ5LjQwNyw1Wk0yNCwyM1Y1aDYuNTkzQTE5LjQ5MywxOS40OTMsMCwwLDAsMjUsMTlhMjEuNDQ3LDIxLjQ0NywwLDAsMCwuMzg5LDRabTMtNGMwLTguODIyLDUuODMyLTE2LDEzLTE2czEzLDcuMTc4LDEzLDE2YTE4LjQwNywxOC40MDcsMCwwLDEtMi44NzIsMTBINDcuNjgyQTE2LDE2LDAsMCwwLDUxLDE5YzAtNy43Mi00LjkzNS0xNC0xMS0xNFMyOSwxMS4yOCwyOSwxOWExNiwxNiwwLDAsMCwzLjMxOCwxMEgyOS44NzJBMTguNDA3LDE4LjQwNywwLDAsMSwyNywxOVptOC4wNjEsMTBBMTMuMzA4LDEzLjMwOCwwLDAsMSwzMSwxOWMwLTYuNjE3LDQuMDM3LTEyLDktMTJzOSw1LjM4Myw5LDEyYTEzLjMwOCwxMy4zMDgsMCwwLDEtNC4wNjEsMTBaTTI1LDMxSDU1djFIMjVabTEuMDQyLDNINTMuOTU4QzUzLjUyOCw0Mi45MDgsNDcuNDQyLDUwLDQwLDUwUzI2LjQ3Miw0Mi45MDgsMjYuMDQyLDM0Wk0zNi44NjQsNTEuNjI5YTEzLjQ0LDEzLjQ0LDAsMCwwLDYuMjcyLDBBMTAuNTM5LDEwLjUzOSwwLDAsMCw0NS42MzYsNTdIMzQuMzY0QTEwLjUzOSwxMC41MzksMCwwLDAsMzYuODY0LDUxLjYyOVpNNTAsNjFIMzBWNTlINTBaIi8+CiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgICAgICA8cGF0aCBkPSJNMjMsNTdoLS4wOEE3LjAxLDcuMDEsMCwwLDAsMTksNTEuNjg1VjQ4YTEsMSwwLDAsMC0xLTFIMTdWMjYuODE2YTMsMywwLDEsMC0yLDBWNDdIMTRhMSwxLDAsMCwwLTEsMXYzLjY4NUE3LjAxLDcuMDEsMCwwLDAsOS4wOCw1N0g5YTMsMywwLDAsMCwwLDZIMjNhMywzLDAsMCwwLDAtNlpNMTYsMjNhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsMTYsMjNaTTE1LDQ5aDJ2Mi4wOGE2LjI5LDYuMjksMCwwLDAtMiwwWm0xLDRhNS4wMDYsNS4wMDYsMCwwLDEsNSw1SDExQTUuMDA2LDUuMDA2LDAsMCwxLDE2LDUzWm03LDhIOWExLDEsMCwwLDEsMC0yLDEsMSwwLDAsMCwxLDFIMjJhMSwxLDAsMCwwLDEtMSwxLDEsMCwwLDEsMCwyWiIvPgogICAgICAgIDxwYXRoIGQ9Ik04LDE1YTEsMSwwLDAsMCwxLTEsNS4wMDYsNS4wMDYsMCwwLDEsNS01LDEsMSwwLDAsMCwwLTJBNS4wMDYsNS4wMDYsMCwwLDEsOSwyLDEsMSwwLDAsMCw3LDIsNS4wMDYsNS4wMDYsMCwwLDEsMiw3LDEsMSwwLDAsMCwyLDlhNS4wMDYsNS4wMDYsMCwwLDEsNSw1QTEsMSwwLDAsMCw4LDE1Wk01LjYsOEE3LjA2Niw3LjA2NiwwLDAsMCw4LDUuNiw3LjA2Niw3LjA2NiwwLDAsMCwxMC40LDgsNy4wNjYsNy4wNjYsMCwwLDAsOCwxMC40LDcuMDY2LDcuMDY2LDAsMCwwLDUuNiw4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4KICAgICAgICA8cGF0aCBkPSJNNjIsNDhhMywzLDAsMCwxLTMtMywxLDEsMCwwLDAtMiwwLDMsMywwLDAsMS0zLDMsMSwxLDAsMCwwLDAsMiwzLDMsMCwwLDEsMywzLDEsMSwwLDAsMCwyLDAsMywzLDAsMCwxLDMtMywxLDEsMCwwLDAsMC0yWm0tNCwyYTUuMDE3LDUuMDE3LDAsMCwwLTEtMSw1LjAxNyw1LjAxNywwLDAsMCwxLTEsNS4wMTcsNS4wMTcsMCwwLDAsMSwxQTUuMDE3LDUuMDE3LDAsMCwwLDU4LDUwWiIvPgogICAgPC9nPgo8L3N2Zz4K",Mce="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWNzYuOGMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWNDIuNjY3CgkJCUMyNDcuNDY3LDM3Ljk1NiwyNDMuNjQ0LDM0LjEzMywyMzguOTMzLDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDc3Ljg2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1M0ODYuNCw4MS41MSw0ODYuNCw3Ni44VjQyLjY2NwoJCQlDNDg2LjQsMzcuOTU2LDQ4Mi41NzcsMzQuMTMzLDQ3Ny44NjcsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNzkuMiwwSDguNTMzQzMuODIzLDAsMCwzLjgyMywwLDguNTMzdjQ5NC45MzNDMCw1MDguMTc3LDMuODIzLDUxMiw4LjUzMyw1MTJIMTc5LjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVY4LjUzM0MxODcuNzMzLDMuODIzLDE4My45MSwwLDE3OS4yLDB6IE0xNzAuNjY3LDQ5NC45MzNoLTE1My42VjE3LjA2N2gxNTMuNlY0OTQuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDM1OC40SDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTM2LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2NwoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjM2Ni45MzNDNTEyLDM2Mi4yMjMsNTA4LjE3NywzNTguNCw1MDMuNDY3LDM1OC40eiBNNDk0LjkzMyw0OTQuOTMzaC0zMDcuMlYzNzUuNDY3aDMwNy4yCgkJCVY0OTQuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDBIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMyNC4yNjcKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y4LjUzM0M1MTIsMy44MjMsNTA4LjE3NywwLDUwMy40NjcsMHogTTQ5NC45MzMsMzQuMTMzaC0zMDcuMlYxNy4wNjdoMzA3LjJWMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMzYuNTMzLDI0Ny40NjdoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNS42YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQlTMTQxLjI0NCwyNDcuNDY3LDEzNi41MzMsMjQ3LjQ2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzMywyNDcuNDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MjUuNmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWMjU2CgkJCUMxMTkuNDY3LDI1MS4yOSwxMTUuNjQ0LDI0Ny40NjcsMTEwLjkzMywyNDcuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjYuOTMzLDQxOC4xMzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1MS4yYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQlTMzcxLjY0NCw0MTguMTMzLDM2Ni45MzMsNDE4LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzQxLjMzMyw0MTguMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTcuMDY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQl2LTE3LjA2N0MzNDkuODY3LDQyMS45NTYsMzQ2LjA0NCw0MTguMTMzLDM0MS4zMzMsNDE4LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDMjk4LjY2NywzNy45NTYsMjk0Ljg0NCwzNC4xMzMsMjkwLjEzMywzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsMTE5LjQ2N2MtNDUuOTM1LDAtNzYuOCwxNy4xNDMtNzYuOCw0Mi42NjdWMTc5LjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDE3LjA2N3Y3Ni44CgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNIMzMyLjhjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44SDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3CgkJCUMzNjYuOTMzLDEzNi42MSwzMzYuMDY4LDExOS40NjcsMjkwLjEzMywxMTkuNDY3eiBNMzQ5Ljg2NywxNzAuNjY3SDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWMjU2SDI1NnYtNzYuOAoJCQljMC00LjcxLTMuODIzLTguNTMzLTguNTMzLTguNTMzSDIzMC40di04LjUzM2MwLTEyLjQwNywyMC45MzItMjUuNiw1OS43MzMtMjUuNnM1OS43MzMsMTMuMTkzLDU5LjczMywyNS42VjE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM0OS44NjcsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcKCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzSDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTkuNzMzYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNzYuOGgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcKCQkJQzQyNi42NjcsMTM2LjYxLDM5NS44MDIsMTE5LjQ2NywzNDkuODY3LDExOS40Njd6IE00MDkuNiwxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3CgkJCUgzNTguNGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1NwoJCQlWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDA5LjYsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcKCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzaC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2NwoJCQlDNDg2LjQsMTM2LjYxLDQ1NS41MzUsMTE5LjQ2Nyw0MDkuNiwxMTkuNDY3eiBNNDY5LjMzMywxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3CgkJCWgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcKCQkJVjE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMKCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYKCQkJUzMwNC4yNDcsODUuMzMzLDI5MC4xMzMsODUuMzMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCwzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDMzY2LjkzMywzNy45NTYsMzYzLjExLDM0LjEzMywzNTguNCwzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM1OC40LDg1LjMzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcwMiwwLDguNTMzLDMuODMxLDguNTMzLDguNTMzCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42CgkJCVMzNzIuNTE0LDg1LjMzMywzNTguNCw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQyNi42NjcsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2NTEuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTUxLjIKCQkJQzQzNS4yLDM3Ljk1Niw0MzEuMzc3LDM0LjEzMyw0MjYuNjY3LDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2Nyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMwoJCQljMCw0LjcwMi0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzYzE0LjExNCwwLDI1LjYtMTEuNDg2LDI1LjYtMjUuNgoJCQlTNDQwLjc4MSw4NS4zMzMsNDI2LjY2Nyw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ4Ni40LDMyNC4yNjdIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMwNy4yCgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzMyLjhDNDk0LjkzMywzMjguMDksNDkxLjExLDMyNC4yNjcsNDg2LjQsMzI0LjI2N3ogTTQ3Ny44NjcsMzU4LjRIMTg3LjczM3YtMTcuMDY3aDI5MC4xMzMKCQkJVjM1OC40eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjkuMzMzLDM5Mi41MzNoLTI1NmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjY4LjI2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjU2CgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTY4LjI2N0M0NzcuODY3LDM5Ni4zNTYsNDc0LjA0NCwzOTIuNTMzLDQ2OS4zMzMsMzkyLjUzM3ogTTQ2MC44LDQ2MC44SDIyMS44Njd2LTUxLjJINDYwLjgKCQkJVjQ2MC44eiIvPgogICAgPC9nPgo8L3N2Zz4K",nce="PHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTE5NC44MzYgNThoLTExOS4zMjhjLTI0LjQ0NSAwLTQ0LjMzNiAxOS44ODktNDQuMzM2IDQ0LjMzNnYxMTkuMzI4YzAgMjQuNDQ3IDE5Ljg5MSA0NC4zMzYgNDQuMzM2IDQ0LjMzNmgxMTkuMzI4YzI0LjQ0NSAwIDQ0LjMzNi0xOS44ODkgNDQuMzM2LTQ0LjMzNnYtMTE5LjMyOGMwLTI0LjQ0Ny0xOS44OTEtNDQuMzM2LTQ0LjMzNi00NC4zMzZ6bTM2LjMzNiAxNjMuNjY0YzAgMjAuMDM1LTE2LjMwMSAzNi4zMzYtMzYuMzM2IDM2LjMzNmgtMTE5LjMyOGMtMjAuMDM1IDAtMzYuMzM2LTE2LjMwMS0zNi4zMzYtMzYuMzM2di0xMTkuMzI4YzAtMjAuMDM1IDE2LjMwMS0zNi4zMzYgMzYuMzM2LTM2LjMzNmgxMTkuMzI4YzIwLjAzNSAwIDM2LjMzNiAxNi4zMDEgMzYuMzM2IDM2LjMzNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA3NGMtNDkuNjI1IDAtOTAgNDAuMzczLTkwIDkwczQwLjM3NSA5MCA5MCA5MCA5MC00MC4zNzMgOTAtOTAtNDAuMzc1LTkwLTkwLTkwem0wIDE3MmMtNDUuMjE1IDAtODItMzYuNzg1LTgyLTgyczM2Ljc4NS04MiA4Mi04MiA4MiAzNi43ODUgODIgODItMzYuNzg1IDgyLTgyIDgyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzUuMTcyIDkwYy00MC44MDUgMC03NCAzMy4xOTUtNzQgNzRzMzMuMTk1IDc0IDc0IDc0IDc0LTMzLjE5NSA3NC03NC0zMy4xOTUtNzQtNzQtNzR6bTAgMTQwYy0zNi4zOTEgMC02Ni0yOS42MDctNjYtNjZzMjkuNjA5LTY2IDY2LTY2IDY2IDI5LjYwNyA2NiA2Ni0yOS42MSA2Ni02NiA2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtNzkuMTcyIDEzOHYzMmMwIDIuMjA5IDEuNzg5IDQgNCA0aDEwNGMyLjIxMSAwIDQtMS43OTEgNC00di0zMmMwLTIuMjA5LTEuNzg5LTQtNC00aC0xMDRjLTIuMjExIDAtNCAxLjc5MS00IDR6bTggNGg5NnYyNGgtOTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExNy4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyOS4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE0NS4xNzIgMTUxLjQ3Yy0yLjUwMiAwLTQuNTMgMi4wMjgtNC41MyA0LjUzIDAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTMgMi41MDEgMCA0LjUzLTIuMDI4IDQuNTMtNC41My0uMDAxLTIuNTAyLTIuMDI5LTQuNTMtNC41My00LjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNTMuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjE5OS4xNzIiIGN5PSIzOCIgcj0iNCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzkuMTcyIDQ2Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyczUuMzgzIDEyIDEyIDEyIDEyLTUuMzgzIDEyLTEyLTUuMzgzLTEyLTEyLTEyem0wIDE2Yy0yLjIwNyAwLTQtMS43OTUtNC00czEuNzkzLTQgNC00IDQgMS43OTUgNCA0LTEuNzkzIDQtNCA0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjQuODI4IDExMCAyLjgyOC0yLjgyOGMxLjU2Mi0xLjU2MiAxLjU2Mi00LjA5NCAwLTUuNjU2cy00LjA5NC0xLjU2Mi01LjY1NiAwbC0yLjgyOCAyLjgyOC0yLjgyOC0yLjgyOGMtMS41NjItMS41NjItNC4wOTQtMS41NjItNS42NTYgMHMtMS41NjIgNC4wOTQgMCA1LjY1NmwyLjgyOCAyLjgyOC0yLjgyOCAyLjgyOGMtMS41NjIgMS41NjItMS41NjIgNC4wOTQgMCA1LjY1Ni43ODEuNzgxIDEuODA1IDEuMTcyIDIuODI4IDEuMTcyczIuMDQ3LS4zOTEgMi44MjgtMS4xNzJsMi44MjgtMi44MjggMi44MjggMi44MjhjLjc4MS43ODEgMS44MDUgMS4xNzIgMi44MjggMS4xNzJzMi4wNDctLjM5MSAyLjgyOC0xLjE3MmMxLjU2Mi0xLjU2MiAxLjU2Mi00LjA5NCAwLTUuNjU2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuMTcyIDE5NGgtNC45MzRsNS44NTktOS43NjhjMS4xMzctMS44OTUuNTIzLTQuMzUyLTEuMzcxLTUuNDg4LTEuODk4LTEuMTM3LTQuMzUyLS41MjEtNS40ODggMS4zNzFsLTkuNDk2IDE1LjgyNmMtLjc0MiAxLjIzNi0uNzYyIDIuNzc1LS4wNTEgNC4wMjlzMi4wMzkgMi4wMjkgMy40OCAyLjAyOWg1LjUyN2wtNS4xMDUgMTAuMjExYy0uOTg4IDEuOTc3LS4xODggNC4zNzkgMS43ODkgNS4zNjcuNTc0LjI4NyAxLjE4NC40MjIgMS43ODUuNDIyIDEuNDY5IDAgMi44NzktLjgwOSAzLjU4Mi0yLjIxMWw4LTE2Yy42MjEtMS4yNC41NTUtMi43MTMtLjE3Ni0zLjg5My0uNzI5LTEuMTc2LTIuMDE0LTEuODk1LTMuNDAxLTEuODk1eiIvPgogICAgICAgIDxwYXRoIGQ9Im05NS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDcuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTE5LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEzMS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjMuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc1LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",ace="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMi41IDUxMi41IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsNDE4LjVjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjV2NzguNWMwLDkuNjczLDE1LDkuNjczLDE1LDBWNDI2QzUxMi4yNSw0MjEuODU4LDUwOC44OTMsNDE4LjUsNTA0Ljc1LDQxOC41eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsMjQ5LjM1NWgtNTguODk0di0yNy4wNDNoMTguMDExYzEwLjk2NCwwLDE5Ljg4My04LjkxOSwxOS44ODMtMTkuODgzVjE5Ljg4NEM0ODMuNzUsOC45Miw0NzQuODMxLDAsNDYzLjg2NywwICAgSDE4NC4wNTljLTEwLjk2NCwwLTE5Ljg4Myw4LjkyLTE5Ljg4MywxOS44ODR2MjYuOTI5YzAsOS42NzMsMTUsOS42NzMsMTUsMFYxOS44ODRjMC0yLjY5MywyLjE5LTQuODg0LDQuODgzLTQuODg0aDI3OS44MDkgICBjMi42OTIsMCw0Ljg4MywyLjE5MSw0Ljg4Myw0Ljg4NHYxNDUuNDI5aC0yMi44OTRWODUuNDA2YzAtMi40NzUtMS4yMjEtNC43OS0zLjI2My02LjE4OGMtMi4wNDEtMS4zOTgtNC42NDEtMS42OTktNi45NDktMC44MDUgICBjLTEuOTYyLDAuNzYxLTQzLjM0LDE3LjY1OS01Mi4xNDYsODYuODk5SDE3OS4xNzZ2LTc5LjVjMC05LjY3My0xNS05LjY3My0xNSwwdjExNi42MTdjMCwxMC45NjQsOC45MTksMTkuODgzLDE5Ljg4MywxOS44ODMgICBoMTAwLjc0NnYyNy4wNDNIMTE0LjUxNmMxNi42MTItMTYuNTk0LDE4LjIzNC00Mi44NzEsMTguMjM0LTY0Ljk0OWMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41aC00MC41di0xNC4xNTkgICBjMjQuMDYsNS4xMTQsNTAuMjg4LTE0LjYxNiw0OS45NjctMzkuNjQ1Yy0wLjA0My0zLjM1Mi0wLjQ1OS02Ljc1OC0zLjU1Ni04LjgwM2MtMTQuMjQ2LTkuNDAzLTMzLjg2Ni01LjQ4NS00Ni40MTEsNC43ODN2LTEzLjUyOSAgIGMyMS40MzMtMTQuNzkzLDIzLjAyNS00OS42MjksMi40MjktNjUuODg5Yy0yLjA3NS0xLjYzOC00LjM3MS0zLjE5Ny02LjgzNC00LjIwMWMtMTAuNTcxLTQuMzE2LTIyLjE5MSwxNC41MTMtMjQuNzEsMjEuNzgxICAgYy01Ljk1MSwxNy4xNzQtMC41NjgsMzYuOTI2LDE0LjExNCw0Ny44MjR2MTMuOTMxYy05LjYyNy03LjgzMy0yMi4yLTExLjY5Ni0zNC40ODMtOS4yMzZjLTUuMDc2LDEuMDE3LTEzLjk3MSwzLjMxNC0xNS4wNzgsOS40NjcgICBjLTQuNzU4LDI2LjQ3NiwyNS4yMzUsNDguNjQzLDQ5LjU2Miw0My41Mzl2MTQuMTM3aC00My41Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41YzAsMjIuMDQ3LDEuMTk2LDQ4LjM1NywxNy44MDYsNjQuOTQ5SDcuNzUgICBjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjVWNTA0LjVjMCw5LjY3MywxNSw5LjY3MywxNSwwdi0zNWgxMzUuNXYzNWMwLDkuNjczLDE1LDkuNjczLDE1LDB2LTE5MWgyNjUuMjE1ICAgYzAuMDM5LDIuNjEzLDAuMjg5LDE2LjY4OCwwLjMyLDIwLjkwNkgzMDQuMzU2Yy0yOS42NTEsMC01MS42Miw3LjcxOC02NS4yOTgsMjIuOTM5Yy0xNi40MjIsMTguMjc0LTE0LjI2LDQwLjQyNi0xNC4xNTksNDEuMzU5ICAgYzAuNDA4LDMuODExLDMuNjI0LDYuNzAxLDcuNDU3LDYuNzAxaDk2Ljg5NHYxMy41aC0yOS41Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMjkuNVY0OTdoLTk2Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMTAwLjgyNSAgIGMwLjgzMiwwLjMxOCwxLjczMSwwLjUsMi42NzUsMC41czEuODQzLTAuMTgyLDIuNjc1LTAuNUg0NDAuMjVjOS42NzMsMCw5LjY3My0xNSwwLTE1aC05NnYtOTEuNTk0aDUwLjEwNiAgIGMxNy4yMTgsMCwyOS42NjQtNC4xNTEsMzguMDUyLTEyLjY5YzE0LjY5OS0xNC45NjUsMTQuMjUxLTQwLjAyMiwxMy42ODQtNzEuNzQ3Yy0wLjA0NC0yLjQ1NC0wLjA4Ny00Ljk1LTAuMTI1LTcuNDdoNTEuMjgzVjM4NCAgIGMwLDkuNjczLDE1LDkuNjczLDE1LDBWMjU2Ljg1NUM1MTIuMjUsMjUyLjcxMyw1MDguODkzLDI0OS4zNTUsNTA0Ljc1LDI0OS4zNTV6IE05Ny4yNzYsMTI4LjQ5NiAgIGM5LjY1Mi02LjEyNCwxOC4wNDktNC42ODEsMjIuNDIxLTMuMTM3Yy0xLjMyLDE1LjU0Ny0yMC4yMjEsMjYuODYtMzQuNjY4LDIxLjk2M0M4NS42MzUsMTQyLjUxMSw4OC4wNzcsMTM0LjMzMiw5Ny4yNzYsMTI4LjQ5NnogICAgTTQ3LjQyNCwxNDQuMDk3Yy02LjM3Mi00LjA0My0xMS43OTItMTEuMDA1LTEyLjQ5My0xOC43NDJjMTUuMDItNS4yOCwzMi42ODMsNi40MTgsMzQuNjQsMjEuOTY3ICAgQzYyLjI4NiwxNDkuNzkyLDUzLjgxLDE0OC4xNDgsNDcuNDI0LDE0NC4wOTd6IE03Ny42MzcsNTEuMTY5YzEyLjU2LDkuNTU0LDExLjk5NywzMS4zNTktMC4wNDQsNDEuMDU0ICAgYy0zLjcxNS0zLjA1NS05LjMxOS05LjQ4MS05LjMxOS0yMC40NDFDNjguMjczLDYwLjM1Miw3My45OTEsNTQuMDM1LDc3LjYzNyw1MS4xNjl6IE0zMy44NTYsMTkxLjkwNmg4My43ODEgICBjLTEuMjcsNDAuNTE1LTEzLjM2Miw1Ni41LTQxLjg4OCw1Ni41QzQ2LjgzMiwyNDguNDA3LDM1LjA3MiwyMzIuOTM2LDMzLjg1NiwxOTEuOTA2eiBNNDIxLjcwNywzODIuMjA1ICAgYy01LjQyMSw1LjUxOS0xNC4zNjcsOC4yMDEtMjcuMzUxLDguMjAxSDI0MC4wMTNjMC42OTQtNS45ODgsMy4wMDYtMTUuMDI2LDEwLjIwMy0yMy4wMzUgICBjMTAuNzEyLTExLjkyMSwyOC45MjctMTcuOTY1LDU0LjE0MS0xNy45NjVoMTI2LjczNkM0MzAuNDczLDM2NC4xMDUsNDI4LjI1MSwzNzUuNTQzLDQyMS43MDcsMzgyLjIwNXogTTQ2OC43NSwxODAuMzEzdjIyLjExNyAgIGMwLDIuNjkzLTIuMTksNC44ODMtNC44ODMsNC44ODNoLTE4LjAxMXYtMjdINDY4Ljc1eiBNNDE5LjEyNiwxMTEuMzU4YzQuMDg0LTUuMzk1LDguMTktOS40MSwxMS43My0xMi4zMjJ2MTg3Ljg2MyAgIGMtMy41MjgtMy4wMjMtNy42MDQtNy4xNDYtMTEuNjU5LTEyLjYyMmMtMTQuNjE1LTE5LjczOS0yMi4zNDEtNDguMDQ5LTIyLjM0MS04MS44NzIgICBDMzk2Ljg1NiwxNTguNjMyLDQwNC41NTgsMTMwLjYwNiw0MTkuMTI2LDExMS4zNTh6IE0zODMuODczLDIyMi4zMTNjMS40MzIsMTAuMDk1LDMuNTUzLDE5LjA3Nyw2LjEzOCwyNy4wNDNoLTI2Ljg5di0yNy4wNDMgICBIMzgzLjg3M3ogTTE3OS4xNzYsMjAyLjQyOXYtMjIuMTE3aDIwMi45OTNjLTAuNDY5LDguOTkyLTAuNDE1LDE4LjAxNSwwLjE2OSwyN0gxODQuMDU5ICAgQzE4MS4zNjYsMjA3LjMxMywxNzkuMTc2LDIwNS4xMjIsMTc5LjE3NiwyMDIuNDI5eiBNMjk5LjgwNSwyMjIuMzEzaDQ4LjMxNnYyNy4wNDNoLTQ4LjMxNlYyMjIuMzEzeiBNMzk1LjkwMSwyNjQuMzU1ICAgYzcuODE1LDE2LjcsMTcuNTE2LDI3LjQ4OCwyNS4zNjUsMzQuMTQ1SDE1LjI1di0zNC4xNDVIMzk1LjkwMXogTTE1LjI1LDQ1NC41di02M2gxMzUuNXY2M0gxNS4yNXogTTE1MC43NSwzNzYuNUgxNS4yNXYtNjNoMTM1LjUgICBWMzc2LjV6IE00NDUuODU2LDI5OC41di0zNC4xNDVoNTEuMzk0VjI5OC41SDQ0NS44NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTU0Ljc1LDM1Mi41aDU3YzkuNjczLDAsOS42NzMtMTUsMC0xNWgtNTdDNDUuMDc3LDMzNy41LDQ1LjA3NywzNTIuNSw1NC43NSwzNTIuNXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTExLjc1LDQxNS41aC01N2MtOS42NzMsMC05LjY3MywxNSwwLDE1aDU3QzEyMS40MjMsNDMwLjUsMTIxLjQyMyw0MTUuNSwxMTEuNzUsNDE1LjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",cce={Anteroom:Aae,Attic:pae,Balcony:mae,Barn:Oae,Basement:Eae,Bathroom:_ae,Bedroom:Sae,"Boiler Room":"PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSItMyAwIDQ4MCA0ODAiIHdpZHRoPSI0ODBwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTIzNC45Njg3NSA2NGMtMTMuMjUzOTA2IDAtMjQgMTAuNzQ2MDk0LTI0IDI0czEwLjc0NjA5NCAyNCAyNCAyNCAyNC0xMC43NDYwOTQgMjQtMjQtMTAuNzQ2MDk0LTI0LTI0LTI0em0wIDMyYy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04czMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzA2Ljk2ODc1IDE2MGgtMTQ0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoMTQ0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS04IDY0aC0xMjh2LTQ4aDEyOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE4Ni45Njg3NSAxOTJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjE4Ljk2ODc1IDE5MmgzMnYxNmgtMzJ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEzOC45Njg3NSA3MnYzMmgxNnYtMjRoMTZ2LTE2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ2Ni45Njg3NSAwaC0zMmMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxOTJjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOGgtNTZ2LTU2aDI0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTQ4YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTI0di0xNmMtLjAyNzM0NC0yMi4wODIwMzEtMTcuOTIxODc1LTM5Ljk3MjY1Ni00MC00MGgtMTZ2LTE2aC0xNnYxNmgtMTcuNzYxNzE5bC02LjQ4MDQ2OS0yNS45Mzc1Yy0uODg2NzE4LTMuNTYyNS00LjA4NTkzNy02LjA2MjUtNy43NTc4MTItNi4wNjI1aC00OGMtMy42NzE4NzUgMC02Ljg3MTA5NCAyLjUtNy43NjE3MTkgNi4wNjI1bC02LjQ4MDQ2OSAyNS45Mzc1aC0xNy43NTc4MTJ2LTE2aC0xNnYxNmgtMTZjLTIyLjA4MjAzMS4wMjczNDQtMzkuOTcyNjU2IDE3LjkxNzk2OS00MCA0MHY1NmgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGgyNHYyMjRoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djMyYzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTQxLjcxMDkzOGMxMi4zNzEwOTQgNi4zNzUgMjYuMDgyMDMxIDkuNzAzMTI2IDQwIDkuNzEwOTM4aDh2MjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGg4YzEzLjkxNDA2Mi0uMDA3ODEyIDI3LjYyODkwNi0zLjMzNTkzOCA0MC05LjcxMDkzOHY0MS43MTA5MzhoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djMyYzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTE3Nmg1NmMzMC45MTAxNTYtLjAzOTA2MiA1NS45NjA5MzgtMjUuMDg5ODQ0IDU2LTU2di0xOTJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOHptLTg4IDEwNHYzMmgtMTZ2LTMyem0tMTYxLjc1MzkwNi04OGgzNS41MDM5MDZsNCAxNmgtNDMuNTAzOTA2em0tOTQuMjQ2MDk0IDU2YzAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNGgxNzZjMTMuMjUzOTA2IDAgMjQgMTAuNzQ2MDk0IDI0IDI0djU2aC0yMjR6bS0zMiAxMjB2LTQ4aDE2djQ4em04MCAyNzJoLTgwdi0xNmg4MHptLTMyLTMyaC0xNnYtNjkuNTU4NTk0YzQuNTM1MTU2IDYuNDg0Mzc1IDkuOTE0MDYyIDEyLjMzMjAzMiAxNiAxNy4zOTA2MjV6bTExMi0xNmgtMzJ2LTE2aDMyem0xMjggNDhoLTgwdi0xNmg4MHptLTMyLTMyaC0xNnYtNTIuMTY3OTY5YzYuMDgyMDMxLTUuMDU4NTkzIDExLjQ2NDg0NC0xMC45MDYyNSAxNi0xNy4zOTA2MjV6bTAtMTIwYy0uMDQyOTY5IDM5Ljc0NjA5NC0zMi4yNTM5MDYgNzEuOTU3MDMxLTcyIDcyaC04MGMtMzkuNzQ2MDk0LS4wNDI5NjktNzEuOTU3MDMxLTMyLjI1MzkwNi03Mi03MnYtMTY4aDIyNHptMTEyLTExMmMtLjAyNzM0NCAyMi4wODIwMzEtMTcuOTIxODc1IDM5Ljk3MjY1Ni00MCA0MGgtNTZ2LTE2aDU2YzEzLjI1MzkwNiAwIDI0LTEwLjc0NjA5NCAyNC0yNHYtMTg0aDE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNTYuNjI1IDUzLjY1NjI1IDEwLjM0Mzc1LTEwLjM0Mzc1IDE4LjM0Mzc1IDE4LjM0Mzc1IDExLjMxMjUtMTEuMzEyNS0yNC0yNGMtMy4xMjUtMy4xMjEwOTQtOC4xODc1LTMuMTIxMDk0LTExLjMxMjUgMGwtMTAuOTM3NSAxMC45Mzc1LTM0LjM5ODQzOC0yNy41MjczNDQtMTAuMDA3ODEyIDEyLjQ5MjE4OCA0MCAzMmMzLjE4MzU5NCAyLjU1MDc4MSA3Ljc3MzQzOCAyLjI5Mjk2OCAxMC42NTYyNS0uNTg5ODQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMCA4Ny40MzM1OTQgNDAgMTZjMi45NzI2NTYgMS4xODM1OTQgNi4zNjMyODEuNDg0Mzc1IDguNjI1LTEuNzc3MzQ0bDExLjkxNzk2OS0xMS45MjE4NzUgMjYuODQ3NjU2IDEzLjQ2NDg0NCA3LjE1MjM0NC0xNC4zMjAzMTMtMzItMTZjLTMuMDc4MTI1LTEuNTM1MTU2LTYuNzk2ODc1LS45Mjk2ODctOS4yMzA0NjkgMS41MDM5MDZsLTEyLjI3MzQzOCAxMi4yMjY1NjMtMzUuMTAxNTYyLTE0LjA0Mjk2OXptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Carport:xae,Cellar:fae,Chamber:kae,Corridor:Yae,"Dining Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K","Dining Room":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Dining:Qae,"Dressing Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTcuMDA0IDI3Ni4xNjljMC00LjEzOSAzLjM3NC03LjUxMiA3LjUxMi03LjUxMnM3LjQ4MyAzLjM3MyA3LjQ4MyA3LjUxMnYxMzcuMzQgMzkuOTk3YzAgNC4xMzktMy4zNDUgNy40ODMtNy40ODMgNy40ODNoLTQ5Ny4wMDRjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODMgMC0xMjQuNzU0IDAtMjQ5LjUzNiAwLTM3NC4yOTEgMC03Ljc2NyAzLjE3NS0xNC44MjUgOC4yNzctMTkuOTI4IDUuMTAzLTUuMTAzIDEyLjE2MS04LjI3NyAxOS45MjgtOC4yNzdoMTI0LjI0NGM3LjkwOSAwIDE1LjM2NCAzLjMxNiAyMC43MjIgOS4wOTkgNS4zNTctNS43ODMgMTIuODEyLTkuMDk5IDIwLjcyMi05LjA5OWgxMjQuMjQzYzcuODgxIDAgMTUuMzY0IDMuMzE2IDIwLjY5MyA5LjA5OSA1LjM1OC01Ljc4MyAxMi44MTMtOS4wOTkgMjAuNzIyLTkuMDk5aDEyNC4yNDRjNy43NjcgMCAxNC44MjYgMy4xNzUgMTkuOTI4IDguMjc3IDUuMTAyIDUuMTAzIDguMjc3IDEyLjE2MSA4LjI3NyAxOS45Mjh2MjUuNjI1IDEzNy4zNGMwIDQuMTM5LTMuMzQ1IDcuNTEyLTcuNDgzIDcuNTEyLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJ2LTEyOS44NTVoLTY3LjgzNXYxMi45MjZsNDYuODMgMjMuODM5YzQuMTk1IDIuMTI2IDcuMTE1IDUuNzU1IDguNDQ3IDkuODk0IDEuMzYgNC4xMzkgMS4xMzQgOC43ODctLjk5MiAxMi45NTQtMS40NDYgMi44MzUtMy42NTcgNS4xNTktNi4yOTMgNi43NzUtMi42NjQgMS42NDQtNS43MjYgMi41MjMtOC44NzIgMi41MjNoLTMuMzQ1djk1LjYxM2MwIDQuMTM5LTMuMzQ1IDcuNDg0LTcuNDg0IDcuNDg0aC03MS4xNWMtNC4xMzkgMC03LjQ4My0zLjM0NS03LjQ4My03LjQ4NHYtMzQuNTU0YzAtNC4xNjcgMy4zNDUtNy41MTIgNy40ODMtNy41MTIgNC4xMzkgMCA3LjUxMiAzLjM0NSA3LjUxMiA3LjUxMnYyNy4wNDNoNTYuMTI3di04OC4xMDJoLTU2LjEyN3YyNy4wNzFjMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnMtNy40ODMtMy4zNzMtNy40ODMtNy41MTJ2LTI3LjA3MWgtMy4zNDVjLTQuNzA2IDAtOC45NTctMS44OTktMTIuMDE5LTQuOTg5LTMuMDktMy4wNjEtNC45ODktNy4zMTMtNC45ODktMTIuMDE5IDAtMy4zNDUuOTkyLTYuNTIgMi42OTMtOS4xNTYgMS43MjktMi42NjQgNC4xMzktNC44MTkgNi45NzQtNi4xOGw0Ni4wMzUtMjMuNDQzdi0xMy4xMjRoLTY3LjgzNHYyOTMuNzAxaDE1MC42NjN2LTEyOS44NTd6bS03My44NDMtMTM3LjE5OWMtLjgyMi0uNTEtMS42NzItLjUxLTIuNDk1IDBsLTQ1LjcyMyAyMy4zMDFjLS45MDcuMzQtMS40NzQuOTM2LTEuNDc0IDEuOTU2IDAgMS4xMDUuOTA3IDIuMDEzIDIuMDEzIDIuMDEzaDkyLjgwN2MuNzkzIDAgMS40NDYtLjM5NyAxLjc4Ni0xLjEwNS41MS0uOTkyLjE0Mi0yLjE4My0uODc4LTIuNjkzbC0xNS4zMzYtNy44MjNjLTkuMDQzLTQuNTkzLTE4LjA1Ny05LjE1OC0zMC43LTE1LjY0OXptLTE2NS44LS4wODVjLS43MDktLjQyNS0xLjQ3NC0uNDI1LTIuMjQgMGwtNDUuODY1IDIzLjM4NmMtLjg3OS4zNC0xLjQ0Ni45MzYtMS40NDYgMS45NTYgMCAxLjEwNS45MDcgMi4wMTMgMi4wMTMgMi4wMTNoOTIuODA3Yy43OTQgMCAxLjQ0Ni0uMzk3IDEuNzg2LTEuMTA1LjUxLS45OTIuMTQyLTIuMTgzLS44NzktMi42OTMtMTUuMzkyLTcuODI0LTMwLjgxMi0xNS42NDgtNDYuMTc2LTIzLjU1N3ptLTIxMS42NjYtMjYuNTZjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODRzMy4zNzMtNy41MTIgNy41MTItNy41MTJoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNzQgNy41MTIgNy41MTIgMCA0LjEzOS0zLjM3MyA3LjQ4NC03LjUxMiA3LjQ4NHptMCAxMDEuOTM0Yy00LjEzOSAwLTcuNTEyLTMuMzczLTcuNTEyLTcuNTEyczMuMzczLTcuNDgzIDcuNTEyLTcuNDgzaDg5LjI5MmM0LjEzOCAwIDcuNTEyIDMuMzQ1IDcuNTEyIDcuNDgzIDAgNC4xMzktMy4zNzMgNy41MTItNy41MTIgNy41MTJ6bTAtMzMuOTg4Yy00LjEzOSAwLTcuNTEyLTMuMzQ1LTcuNTEyLTcuNDgzczMuMzczLTcuNTEyIDcuNTEyLTcuNTEyaDg5LjI5MmM0LjEzOCAwIDcuNTEyIDMuMzczIDcuNTEyIDcuNTEycy0zLjM3MyA3LjQ4My03LjUxMiA3LjQ4M3ptMC0zMy45NTljLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJzMy4zNzMtNy40ODMgNy41MTItNy40ODNoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNDUgNy41MTIgNy40ODMgMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnptMjAyLjgyMi0yMC44NjN2LTEzLjEyNGgtNjcuODM0djEyOS44NTdjMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnMtNy41MTItMy4zNzMtNy41MTItNy41MTJ2LTE2Mi45NjdjMC0zLjYyOC0xLjQ3NC02LjkxNy0zLjg4My05LjMyNi0yLjM4MS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNi0zLjg4NGgtMTI0LjI0NGMtMy42MjggMC02LjkxNyAxLjUwMi05LjMyNyAzLjg4NC0yLjM4MSAyLjQwOS0zLjg4MyA1LjY5Ny0zLjg4MyA5LjMyNnYxOTIuMzYxaDE1LjMwOGM2LjA5NCAwIDExLjU5NCAyLjQ2NiAxNS41OSA2LjQ2NCAzLjk5NyAzLjk5NyA2LjQ5MiA5LjUyNSA2LjQ5MiAxNS41OXYyMy4zMDFjMCA2LjA2Ny0yLjQ5NSAxMS41OTQtNi40OTIgMTUuNTkxcy05LjQ5NiA2LjQ2My0xNS41OSA2LjQ2M2gtMTUuMzA4djEwNy4wMDloMTUwLjY2M3YtMTY5LjgyNWMwLTQuMTM5IDMuMzc0LTcuNTEyIDcuNTEyLTcuNTEyczcuNTEyIDMuMzczIDcuNTEyIDcuNTEydjEyOS44NTZoMTUwLjY2M3YtMjkzLjdoLTY3LjgzNHYxMi45MjZsNDYuNjMgMjMuNzI2YzQuMTY3IDIuMTI2IDcuMiA1LjUyOCA4LjY0NiAxMC4wMDcgMi40NjYgNy41NjgtLjUzOSAxNS41OS03LjI4NSAxOS43MjktMi42NjQgMS42NDQtNS43NTQgMi41MjMtOC44NzIgMi41MjNoLTkyLjgwN2MtNC43MDYgMC04Ljk1OC0xLjg5OS0xMi4wNDctNC45ODktMy4wNjEtMy4wNjEtNC45Ni03LjMxMy00Ljk2LTEyLjAxOSAwLTMuMzQ1Ljk5Mi02LjUyIDIuNjkzLTkuMTU2IDEuNzAxLTIuNjY0IDQuMTEtNC44MTkgNi45NzMtNi4xOHptLTIzMy41MjEgMTcyLjMyaDYuMDk0YzQuMTM5IDAgNy41MTIgMy4zNzMgNy41MTIgNy41MTJzLTMuMzczIDcuNTEyLTcuNTEyIDcuNTEyaC02LjA5NHYxMS4xOThoMTUuMzA4YzEuOTU2IDAgMy43MTMtLjc5NCA0Ljk4OS0yLjA2OSAxLjI3Ni0xLjMwNSAyLjA5OC0zLjA2MSAyLjA5OC00Ljk5di0yMy4zMDJjMC0xLjkyOC0uODIyLTMuNjg1LTIuMDk4LTQuOTg5LTEuMjc1LTEuMjc2LTMuMDMzLTIuMDY5LTQuOTg5LTIuMDY5aC0xNS4zMDh6bTMzMS4zNDUtMjE4LjU1NHYxOC4xMTNoMTUwLjY2M3YtMTguMTEzYzAtMy42MjgtMS40NzQtNi45MTctMy44ODMtOS4zMjYtMi40MDktMi4zODEtNS42OTgtMy44ODQtOS4zMjctMy44ODRoLTEyNC4yNDNjLTMuNjI4IDAtNi45MTcgMS41MDItOS4zMjYgMy44ODQtMi40MSAyLjQxLTMuODg0IDUuNjk4LTMuODg0IDkuMzI2em0tMTY1LjY1OCAxOC4xMTRoMTUwLjY2M3YtMTguMTE0YzAtMy42MjgtMS41MDItNi45MTctMy44ODMtOS4zMjYtMi40MS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNy0zLjg4NGgtMTI0LjI0M2MtMy42MjkgMC02Ljk0NSAxLjUwMi05LjMyNyAzLjg4NC0yLjQxIDIuNDA5LTMuODgzIDUuNjk3LTMuODgzIDkuMzI2em0zMTYuMzIxIDMyMy42OTJoLTMxNi4zMjF2MjQuOTczaDMxNi4zMjJ2LTI0Ljk3M3oiLz4KICAgIDwvZz4KPC9zdmc+",Driveway:Uae,Entrance:vae,"Equipment Room":"PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC00IDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTMwMy4wOTM3NSAxNzQuMjVjMy4zOTQ1MzEgMi4zNzg5MDYgOC4wNzAzMTIgMS41NTA3ODEgMTAuNDQ1MzEyLTEuODM5ODQ0bDE1Ljk1MzEyNi0yMi43ODkwNjJjMi4zNzg5MDYtMy4zOTQ1MzIgMS41NTQ2ODctOC4wNzAzMTMtMS44Mzk4NDQtMTAuNDQ1MzEzLTMuMzk0NTMyLTIuMzc1LTguMDcwMzEzLTEuNTUwNzgxLTEwLjQ0NTMxMyAxLjg0Mzc1bC0xNS45NTcwMzEgMjIuNzg1MTU3Yy0yLjM3NSAzLjM5NDUzMS0xLjU1MDc4MSA4LjA3MDMxMiAxLjg0Mzc1IDEwLjQ0NTMxMnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM0MS42NzE4NzUgMTU1Ljk4NDM3NS01LjQxNzk2OSAyNy4yODUxNTZjLS45MTc5NjggNC42NDA2MjUgMi42MzI4MTMgOC45NjA5MzggNy4zNjcxODggOC45NjA5MzggMy41MDc4MTIgMCA2LjY0MDYyNS0yLjQ3MjY1NyA3LjM0NzY1Ni02LjAzOTA2M2w1LjQxNDA2Mi0yNy4yODkwNjJjLjgwODU5NC00LjA2MjUtMS44MzIwMzEtOC4wMTE3MTktNS44OTQ1MzEtOC44MTY0MDYtNC4wNjY0MDYtLjgwNDY4OC04LjAxMTcxOSAxLjgzMjAzMS04LjgxNjQwNiA1Ljg5ODQzN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTMwOS41ODk4NDQgMTIxLjQ0OTIxOWMtMi4xNDQ1MzItMy41NDI5NjktNi43NTc4MTMtNC42NzE4NzUtMTAuMzAwNzgyLTIuNTI3MzQ0bC0yMy43ODkwNjIgMTQuNDIxODc1Yy0zLjU0Mjk2OSAyLjE0ODQzOC00LjY3MTg3NSA2Ljc2MTcxOS0yLjUyNzM0NCAxMC4zMDQ2ODggMi4xNTIzNDQgMy41NDI5NjggNi43NjU2MjUgNC42Njc5NjggMTAuMzA0Njg4IDIuNTIzNDM3bDIzLjc4OTA2Mi0xNC40MTc5NjljMy41NDI5NjktMi4xNDg0MzcgNC42NzE4NzUtNi43NjE3MTggMi41MjM0MzgtMTAuMzA0Njg3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtODMuNjUyMzQ0IDE1Mi4xNzk2ODhjMi43NTc4MTIgMS4zNTkzNzQgNi4xMTMyODEgMS40MDYyNSA4Ljk2ODc1IDAgNy0zLjQ1MzEyNiAyOS44MzU5MzctMTYuNTA3ODEzIDI5LjgzNTkzNy0zOS40NjQ4NDQgMC0xOC4yMDMxMjUtMjEuMjE0ODQzLTI3LjA2NjQwNi0zNC4zMTI1LTE2LjA3NDIxOS01LjA2MjUtNC4yNjE3MTktMTEuOTQxNDA2LTUuODkwNjI1LTE4Ljc1MzkwNi00LjA4OTg0NC05LjMxNjQwNiAyLjQ1NzAzMS0xNS41NzAzMTMgMTAuNTYyNS0xNS41NzAzMTMgMjAuMTY0MDYzIDAgMjMuMDE1NjI1IDIyLjg0Mzc1IDM2LjAzMTI1IDI5LjgzMjAzMiAzOS40NjQ4NDR6bS0zLjc3NzM0NC00Mi4zNjcxODhjMS4zOTg0MzggMi40Njg3NSA0LjQ2ODc1IDQuNjI1IDguMDIzNDM4IDQuNzEwOTM4IDMuNTgyMDMxLjExMzI4MSA2Ljk3MjY1Ni0yLjA0Njg3NiA4LjQ2MDkzNy00LjY1MjM0NCAzLjA1NDY4Ny01LjM1NTQ2OSAxMS4wOTc2NTYtMy4xNDQ1MzIgMTEuMDk3NjU2IDIuODQ3NjU2IDAgMTIuNjkxNDA2LTEzLjM5NDUzMSAyMS41NjY0MDYtMTkuMzI0MjE5IDI0Ljg3NS01LjkyOTY4Ny0zLjI5Mjk2OS0xOS4zMTI1LTEyLjE0NDUzMS0xOS4zMTI1LTI0Ljg3NSAwLTYuMDQyOTY5IDguMDg1OTM4LTguMTMyODEyIDExLjA1NDY4OC0yLjkwNjI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMDMuNjE3MTg4aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDA2MjYtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzQtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMzAuMDI3MzQ0aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDQ1MzItMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTU0NjgtNy41IDcuNSAwIDQuMTQwNjI1IDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxNTYuNDM3NWgyOS42MzY3MTljNC4xNDQ1MzEgMCA3LjUtMy4zNTU0NjkgNy41LTcuNXMtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTU0NjktNy41IDcuNXMzLjM1NTQ2OSA3LjUgNy41IDcuNXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NS43Njk1MzEgMTUuMDA3ODEyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY4IDcuNS03LjUgMC00LjE0NDUzMS0zLjM1NTQ2OS03LjQ5OTk5OTUtNy41LTcuNDk5OTk5NWgtNzMuNzEwOTM3Yy0uMTE3MTg4IDAtLjIzMDQ2OS4wMTE3MTg3LS4zNDc2NTYuMDE1NjI1LTIuNDk2MDk0LS4xMjg5MDY1LTUgLjk4NDM3NDUtNi41MzkwNjMgMy4xODM1OTM1bC0yNS44OTA2MjUgMzYuOTcyNjU3LTMyLjgzOTg0NC0yMi45OTYwOTRjLTE3LjM3MTA5NC0xMi4xNjQwNjMtMzguOTAyMzQ0LTE2LjI4OTA2My01OS41OTM3NS0xMS41MzkwNjNsLTIuNTk3NjU2LTEuODIwMzEyYy05LjU4OTg0NC02LjcxMDkzOC0yMi44MTY0MDYtNC4zNDc2NTctMjkuNSA1LjE5OTIxOWwtNS45Njg3NSA4LjUyMzQzN2MtNi42OTUzMTIgOS41NjI1LTQuMzYzMjgxIDIyLjgwMDc4MSA1LjIwMzEyNSAyOS40OTYwOTRsMi4wNDY4NzUgMS40MzM1OTNjLTYuODU5Mzc1IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDgyMDMyIDUzLjE3OTY4OCAzNy4yMzgyODJsNC4xOTE0MDYgMi45MzM1OTRjLTYuODUxNTYzIDMwLjU3MDMxMiAyNi44MDQ2ODcgNTQuMTE3MTg3IDUzLjE3NTc4MSAzNy4yMzgyODFsNC4xOTUzMTMgMi45MzM1OTNjLTYuODU5Mzc2IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDc4MTI2IDUzLjE3NTc4MSAzNy4yMzQzNzZsMi4wNTQ2ODcgMS40NDE0MDZjOS41NjY0MDYgNi42OTUzMTIgMjIuODAwNzgyIDQuMzYzMjgxIDI5LjQ5NjA5NC01LjIwMzEyNWw1Ljk2ODc1LTguNTIzNDM4YzYuNjk1MzEyLTkuNTYyNSA0LjM2MzI4MS0yMi44MDA3ODEtNS4xOTkyMTktMjkuNDk2MDkzbC0zLjI3MzQzNy0yLjI5Mjk2OWMtMi42MTMyODItMjEuMDY2NDA3LTEzLjg1NTQ2OS0zOS44ODY3MTktMzEuMjI2NTYzLTUyLjA1NDY4OGwtMzAuMTk5MjE5LTIxLjE0MDYyNSAyMy42NTIzNDQtMzMuNzc3MzQ0em0tMjE1LjQ1NzAzMSA0My40NzI2NTcgMjQuNjIxMDk0IDE3LjI0MjE4N2MtMTEuNzk2ODc1IDIuNzkyOTY5LTIzLjIyMjY1Ni01LjIzNDM3NS0yNC42MjEwOTQtMTcuMjQyMTg3em01Ny4zNjcxODggNDAuMTY3OTY5IDI0LjYyNSAxNy4yNDIxODdjLTExLjc2OTUzMiAyLjc5Njg3NS0yMy4yMjI2NTctNS4yMDcwMzEtMjQuNjI1LTE3LjI0MjE4N3ptNTcuMzcxMDkzIDQwLjE3MTg3NGMxNC45MTc5NjkgMTAuNDQ1MzEzIDkuNzc3MzQ0IDYuODQzNzUgMjQuNjI1IDE3LjI0MjE4OC0xMS43NzM0MzcgMi43OTY4NzUtMjMuMjIyNjU2LTUuMjE0ODQ0LTI0LjYyNS0xNy4yNDIxODh6bTY0LjEyODkwNyA2LjM0Mzc1LTUuOTY4NzUgOC41MjM0MzhjLTEuOTUzMTI2IDIuNzg5MDYyLTUuODEyNSAzLjQ3MjY1Ni04LjYwNTQ2OSAxLjUxOTUzMS0yLjQxMDE1Ny0xLjY4NzUtMTY5Ljg1OTM3NS0xMTguOTQxNDA2LTE3Mi4wMTk1MzEtMTIwLjQ0OTIxOS0yLjc2OTUzMi0xLjk0MTQwNi0zLjQ1NzAzMi01LjgzMjAzMS0xLjUxNTYyNi04LjYwNTQ2OGw1Ljk2ODc1LTguNTIzNDM4YzEuOTQ5MjE5LTIuNzgxMjUgNS44NDM3NS0zLjQ0OTIxOCA4LjYwNTQ2OS0xLjUxNTYyNWwxNzIuMDE5NTMxIDEyMC40NDUzMTNjMi43NzM0MzggMS45NDE0MDYgMy40NTcwMzIgNS44MzU5MzcgMS41MTU2MjYgOC42MDU0Njh6bS0xNC45MDIzNDQtMzYuMjg5MDYyYy03Ljg5NDUzMi01LjUzMTI1LTEyNS4wNDY4NzUtODcuNTU4NTk0LTEyOC43MTA5MzgtOTAuMTI1IDExLjQ3MjY1Ni4zNTE1NjIgMjIuNjcxODc1IDQgMzIuMjczNDM4IDEwLjcyMjY1Nmw3NS4zMjQyMTggNTIuNzQyMTg4YzkuNTk3NjU3IDYuNzIyNjU2IDE2Ljg1OTM3NiAxNiAyMS4xMTMyODIgMjYuNjYwMTU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDkwLjgyMDMxMiAzMTAuNTE1NjI1aC0yMTcuMzIwMzEyYy00LjE0NDUzMSAwLTcuNSAzLjM1OTM3NS03LjUgNy41IDAgNC4xNDQ1MzEgMy4zNTU0NjkgNy41MDM5MDYgNy41IDcuNTAzOTA2aDIxNy4zMjAzMTJjMy40MDYyNSAwIDYuMTc5Njg4IDIuNzY5NTMxIDYuMTc5Njg4IDYuMTc1NzgxdjEzLjY3OTY4OGMwIDMuNDA2MjUtMi43NzM0MzggNi4xNzk2ODgtNi4xNzk2ODggNi4xNzk2ODgtMy40NDUzMTIgMC00NjMuNjA5Mzc0IDAtNDY5LjY0MDYyNCAwLTMuNDA2MjUgMC02LjE3OTY4OC0yLjc2OTUzMi02LjE3OTY4OC02LjE3OTY4OHYtMTMuNjc5Njg4YzAtMy40MDYyNSAyLjc3MzQzOC02LjE3NTc4MSA2LjE3OTY4OC02LjE3NTc4MWgyMTcuMzIwMzEyYzQuMTQ0NTMxIDAgNy41LTMuMzU5Mzc1IDcuNS03LjUwMzkwNiAwLTQuMTQwNjI1LTMuMzU1NDY5LTcuNS03LjUtNy41aC04NS4zNTU0NjljLjU5NzY1Ny0xLjk1MzEyNS45MjU3ODEtNC4wMjczNDQuOTI1NzgxLTYuMTc1Nzgxdi0xMy42Nzk2ODhjMC0xMS42Nzk2ODctOS41LTIxLjE3OTY4Ny0yMS4xNzk2ODctMjEuMTc5Njg3aC0xMTEuNzEwOTM3Yy0xMS42Nzk2ODggMC0yMS4xNzk2ODggOS41LTIxLjE3OTY4OCAyMS4xNzk2ODd2MTMuNjc5Njg4YzAgNS4yMTQ4NDQgMS45MDIzNDQgOS45ODQzNzUgNS4wMzkwNjIgMTMuNjc5Njg3LTMuMTM2NzE4IDMuNjkxNDA3LTUuMDM5MDYyIDguNDY0ODQ0LTUuMDM5MDYyIDEzLjY3NTc4MXYxMy42Nzk2ODhjMCAxMS4zMjgxMjUgOC45NDUzMTIgMjAuNTc4MTI1IDIwLjEzNjcxOSAyMS4xMjg5MDZ2Ni42MDkzNzVjMCAxMS42Nzk2ODggOS41MDM5MDYgMjEuMTc5Njg4IDIxLjE3OTY4NyAyMS4xNzk2ODhoMjAuNzE0ODQ0djk1LjE0MDYyNWMwIDcuODc4OTA2IDYuNDEwMTU2IDE0LjI4OTA2MiAxNC4yOTI5NjkgMTQuMjg5MDYyaDE0LjE1MjM0M2M3Ljg3ODkwNyAwIDE0LjI5Mjk2OS02LjQxMDE1NiAxNC4yOTI5NjktMTQuMjg5MDYydi05NS4xNDA2MjVoMzAyLjQ2MDkzOHY5NS4xNDA2MjVjMCA3Ljg3ODkwNiA2LjQxMDE1NiAxNC4yODkwNjIgMTQuMjkyOTY5IDE0LjI4OTA2MmgxNC4xNTIzNDNjNy44ODI4MTMgMCAxNC4yOTI5NjktNi40MTAxNTYgMTQuMjkyOTY5LTE0LjI4OTA2MnYtOTUuMTQwNjI1aDIwLjcxMDkzOGMxMS42Nzk2ODcgMCAyMS4xNzk2ODctOS41IDIxLjE3OTY4Ny0yMS4xNzk2ODh2LTYuNjA5Mzc1YzExLjE5NTMxMy0uNTUwNzgxIDIwLjE0MDYyNS05LjgwMDc4MSAyMC4xNDA2MjUtMjEuMTI4OTA2di0xMy42Nzk2ODhjMC0xMS42NzU3ODEtOS41LTIxLjE3OTY4Ny0yMS4xNzk2ODgtMjEuMTc5Njg3em0tNDc1LjgyMDMxMi0xOS44NTU0NjljMC0zLjQwNjI1IDIuNzczNDM4LTYuMTc5Njg3IDYuMTc5Njg4LTYuMTc5Njg3aDExMS43MTA5MzdjMy40MDYyNSAwIDYuMTc5Njg3IDIuNzczNDM3IDYuMTc5Njg3IDYuMTc5Njg3djEzLjY3OTY4OGMwIDMuNDA2MjUtMi43NzM0MzcgNi4xNzk2ODctNi4xNzk2ODcgNi4xNzk2ODdoLTExMS43MTA5MzdjLTMuNDA2MjUgMC02LjE3OTY4OC0yLjc3MzQzNy02LjE3OTY4OC02LjE3OTY4N3ptNzQuNzY1NjI1IDE5OC4wNjI1aC0xMi43MzQzNzV2LTk0LjQyOTY4N2gxMi43MzQzNzV6bTM0NS4yMDMxMjUgMGgtMTIuNzM4Mjgxdi05NC40Mjk2ODdoMTIuNzM4Mjgxem00MS44OTA2MjUtMTE1LjYwOTM3NWMwIDMuNDA2MjUtMi43Njk1MzEgNi4xNzk2ODgtNi4xNzk2ODcgNi4xNzk2ODgtMTMuNzE0ODQ0IDAtNDE1LjAzNTE1NyAwLTQyOS4zNjMyODIgMC0zLjQwNjI1IDAtNi4xNzk2ODctMi43NzM0MzgtNi4xNzk2ODctNi4xNzk2ODh2LTYuNTU4NTkzaDQ0MS43MjI2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMjguOTYwOTM4IDExMi41MjczNDRjNC4xNDQ1MzEgMCA3LjUtMy4zNTkzNzUgNy41LTcuNXYtNDEuMTM2NzE5YzAtMTYuMzE2NDA2LTEzLjI3MzQzOC0yOS41OTM3NS0yOS41ODk4NDQtMjkuNTkzNzVoLTE3Ny4yODEyNWMtMTYuMzE2NDA2IDAtMjkuNTg5ODQ0IDEzLjI3MzQzNy0yOS41ODk4NDQgMjkuNTkzNzV2MTE3LjI3NzM0NGMwIDE2LjMxNjQwNiAxMy4yNzM0MzggMjkuNTg5ODQzIDI5LjU4OTg0NCAyOS41ODk4NDNoMTc3LjI4MTI1YzE2LjMxNjQwNiAwIDI5LjU5Mzc1LTEzLjI3MzQzNyAyOS41OTM3NS0yOS41ODk4NDN2LTQxLjE0MDYyNWMwLTQuMTQwNjI1LTMuMzU5Mzc1LTcuNS03LjUwMzkwNi03LjUtNC4xNDA2MjYgMC03LjUgMy4zNTkzNzUtNy41IDcuNXY0MS4xNDA2MjVjMCA4LjA0Mjk2OS02LjU0Njg3NiAxNC41ODk4NDMtMTQuNTg5ODQ0IDE0LjU4OTg0M2gtMTc3LjI4MTI1Yy04LjA0Mjk2OSAwLTE0LjU4OTg0NC02LjU0Njg3NC0xNC41ODk4NDQtMTQuNTg5ODQzdi0xMTcuMjc3MzQ0YzAtOC4wNDY4NzUgNi41NDY4NzUtMTQuNTkzNzUgMTQuNTg5ODQ0LTE0LjU5Mzc1aDE3Ny4yODEyNWM4LjA0Mjk2OCAwIDE0LjU4OTg0NCA2LjU0Njg3NSAxNC41ODk4NDQgMTQuNTkzNzV2NDEuMTM2NzE5YzAgNC4xNDA2MjUgMy4zNTkzNzQgNy41IDcuNSA3LjV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNC43NzM0MzggNjEuNTcwMzEyYy00LjE0NDUzMiAwLTcuNSAzLjM1OTM3Ni03LjUgNy41djEwNi45MTQwNjNjMCA0LjE0NDUzMSAzLjM1NTQ2OCA3LjUgNy41IDcuNWgxNjYuOTE0MDYyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY5IDcuNS03LjV2LTEwNi45MTQwNjNjMC00LjE0MDYyNC0zLjM1NTQ2OS03LjUtNy41LTcuNXptMTU5LjQxNDA2MiAxMDYuOTE0MDYzaC0xNTEuOTE0MDYydi05MS45MTQwNjNoMTUxLjkxNDA2MnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==","Front Yard":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMTI2LjQ5LDM2Ljk0N2MtMzEuNTc5LDAtNTcuMjcsMjUuNjkxLTU3LjI3LDU3LjI3YzAsMzEuNTc5LDI1LjY5MSw1Ny4yNyw1Ny4yNyw1Ny4yN2MzMS41NzgsMCw1Ny4yNy0yNS42OTEsNTcuMjctNTcuMjcKCQkJQzE4My43NjEsNjIuNjM4LDE1OC4wNywzNi45NDcsMTI2LjQ5LDM2Ljk0N3ogTTEyNi40OSwxMzEuNDg3Yy0yMC41NTEsMC0zNy4yNy0xNi43MTktMzcuMjctMzcuMjcKCQkJYzAtMjAuNTUxLDE2LjcxOS0zNy4yNywzNy4yNy0zNy4yN2MyMC41NSwwLDM3LjI3LDE2LjcxOSwzNy4yNywzNy4yN0MxNjMuNzYxLDExNC43NjgsMTQ3LjA0MiwxMzEuNDg3LDEyNi40OSwxMzEuNDg3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMFYxMEMxMzYuNDksNC40NzcsMTMyLjAxNCwwLDEyNi40OSwweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMTU2LjA5N2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMTIuMzM4CgkJCUMxMzYuNDksMTYwLjU3NCwxMzIuMDE0LDE1Ni4wOTcsMTI2LjQ5LDE1Ni4wOTd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMC43MDgsODQuMjE3SDE5OC4zN2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgxMi4zMzhjNS41MjMsMCwxMC00LjQ3NywxMC0xMAoJCQlTMjE2LjIzLDg0LjIxNywyMTAuNzA4LDg0LjIxN3oiLz4KICAgICAgICA8cGF0aCBkPSJNNTQuNjEsODQuMjE3SDQyLjI3MmMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgxMi4zMzljNS41MjMsMCwxMC00LjQ3Nyw5Ljk5OS0xMAoJCQlDNjQuNjEsODguNjk0LDYwLjEzNCw4NC4yMTcsNTQuNjEsODQuMjE3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMDAuOTc3LDE5LjcyOWMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwbC05Ljg3Nyw5Ljg3N2MtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzCgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOWMyLjU1OSwwLDUuMTE5LTAuOTc2LDcuMDcxLTIuOTI5bDkuODc3LTkuODc3QzIwNC44ODMsMjkuOTY2LDIwNC44ODMsMjMuNjM0LDIwMC45NzcsMTkuNzI5CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuMDIzLDE0NC42ODVjLTMuOTA2LTMuOTA1LTEwLjIzOC0zLjkwNS0xNC4xNDMsMGwtOS44NzcsOS44NzdjLTMuOTA1LDMuOTA2LTMuOTA1LDEwLjIzOCwwLDE0LjE0MwoJCQljMS45NTIsMS45NTMsNC41MTIsMi45MjksNy4wNzEsMi45MjlzNS4xMTktMC45NzYsNy4wNzItMi45MjlsOS44NzctOS44NzdDNzkuOTI4LDE1NC45MjIsNzkuOTI4LDE0OC41OSw3Ni4wMjMsMTQ0LjY4NXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuMDIxLDI5LjYwNmwtOS44NzctOS44NzdjLTMuOTA1LTMuOTA1LTEwLjIzNy0zLjkwNS0xNC4xNDIsMGMtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzbDkuODc3LDkuODc3CgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOXM1LjExOS0wLjk3Niw3LjA3MS0yLjkyOUM3OS45MjcsMzkuODQzLDc5LjkyNywzMy41MTEsNzYuMDIxLDI5LjYwNnoiLz4KICAgICAgICA8cGF0aCBkPSJNNDU5LjU0LDQ2OC4zODljLTAuMTI5LTAuNjQtMC4zMi0xLjI3LTAuNTctMS44N2MtMC4yNS0wLjYtMC41Ni0xLjE4LTAuOTItMS43MmMtMC4zNi0wLjU1LTAuNzgtMS4wNi0xLjI0LTEuNTMKCQkJYy0wLjQ2LTAuNDYtMC45Ny0wLjg3LTEuNTItMS4yNGMtMC41NC0wLjM2LTEuMTItMC42Ny0xLjczLTAuOTJjLTAuNTk5LTAuMjUtMS4yMjktMC40NC0xLjg3LTAuNTdjLTEuMjktMC4yNi0yLjYyLTAuMjYtMy45MDksMAoJCQljLTAuNjMxLDAuMTMtMS4yNjEsMC4zMi0xLjg3LDAuNTdjLTAuNjAxLDAuMjUtMS4xODEsMC41Ni0xLjcyMSwwLjkyYy0wLjU1LDAuMzctMS4wNiwwLjc4LTEuNTIsMS4yNAoJCQljLTAuNDYsMC40Ny0wLjg4LDAuOTgtMS4yNSwxLjUzYy0wLjM2LDAuNTQtMC42NywxLjEyLTAuOTIsMS43MmMtMC4yNSwwLjYtMC40NCwxLjIzLTAuNTcsMS44NwoJCQljLTAuMTMsMC42NTEtMC4xOSwxLjMwMS0wLjE5LDEuOTYxYzAsMC42NSwwLjA2LDEuMzEsMC4xOSwxLjk1YzAuMTMsMC42NCwwLjMyLDEuMjcsMC41NywxLjg3YzAuMjUsMC42LDAuNTYsMS4xOCwwLjkyLDEuNzMKCQkJYzAuMzcsMC41NCwwLjc5LDEuMDYsMS4yNSwxLjUyYzAuNDYsMC40NiwwLjk3LDAuODgsMS41MiwxLjI0YzAuNTQsMC4zNiwxLjEyLDAuNjcsMS43MjEsMC45MmMwLjYwOSwwLjI1LDEuMjM5LDAuNDQsMS44NywwLjU3CgkJCWMwLjY1LDAuMTMsMS4zMSwwLjIsMS45NiwwLjJjMC42NSwwLDEuMzEtMC4wNywxLjk0OS0wLjJjMC42NDEtMC4xMywxLjI3LTAuMzIsMS44Ny0wLjU3YzAuNjEtMC4yNSwxLjE5LTAuNTYsMS43My0wLjkyCgkJCWMwLjU1LTAuMzYsMS4wNi0wLjc4LDEuNTItMS4yNGMwLjQ2LTAuNDYsMC44OC0wLjk4LDEuMjQtMS41MmMwLjM2MS0wLjU1LDAuNjctMS4xMywwLjkyLTEuNzNjMC4yNS0wLjYsMC40NC0xLjIzLDAuNTctMS44NwoJCQlzMC4yLTEuMywwLjItMS45NUM0NTkuNzQsNDY5LjY4OSw0NTkuNjcsNDY5LjAzOSw0NTkuNTQsNDY4LjM4OXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDA5LjczOSw0NjAuMzQ2SDYyLjEzOGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgzNDcuNmM1LjUyMywwLDEwLTQuNDc3LDEwLjAwMS0xMAoJCQlDNDE5LjczOSw0NjQuODIzLDQxNS4yNjEsNDYwLjM0Niw0MDkuNzM5LDQ2MC4zNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMS41NjMsNDI3LjkzMWgtNi44MDljLTMuODA2LTIxLjMxMi0yMi40NzYtMzcuNTQtNDQuODY0LTM3LjU0Yy0zLjMsMC02LjU5MSwwLjM2Mi05LjgwMywxLjA2N1YyOTMuMjkKCQkJYzM2LjQ4Mi00LjkwMiw2NC43MDQtMzYuMjM2LDY0LjcwNC03NC4wMzdjMC0xOS43MDktNy43ODEtMzguNTMxLTIxLjUyNC01Mi40NjRjMC4xODYtMS44MTQsMC4yNzgtMy42NDEsMC4yNzgtNS40NjgKCQkJYzAtMjkuNDc3LTIzLjk4MS01My40NTgtNTMuNDU4LTUzLjQ1OGMtMjkuNDc3LDAtNTMuNDU4LDIzLjk4Mi01My40NTgsNTMuNDU4YzAsMS44MjcsMC4wOTMsMy42NTMsMC4yNzcsNS40NjcKCQkJYy0xMy43NDEsMTMuOTM0LTIxLjUyMywzMi43NTYtMjEuNTIzLDUyLjQ2NWMwLDM3LjgwMiwyOC4yMjMsNjkuMTM2LDY0LjcwNCw3NC4wMzd2ODkuNjJjLTQuNjg1LTEuNjMyLTkuNzE2LTIuNTItMTQuOTUxLTIuNTIKCQkJYy0yNS4xMjksMC00NS41NzMsMjAuNDQ0LTQ1LjU3Myw0NS41NzR2MS45NjhoLTguNTA2di0zNS4xM2gwLjAwMWM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi00M2MwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC0wLjAwMQoJCQl2LTQ3LjMyOWMwLTIuODQ0LTEuMjExLTUuNTUzLTMuMzMtNy40NUwzMTYuMjcsMjQ2Ljg2Yy0zLjc5Ny0zLjM5OS05LjU0My0zLjM5OS0xMy4zNCwwbC0yNC43ODcsMjIuMTkxbC0yNC43ODgtMjIuMTkxCgkJCWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMGwtMjQuNzg4LDIyLjE5MWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTktOS41NDMtMy4zOTktMTMuMzQsMC4wMDFsLTI0Ljc4NywyMi4xOTEKCQkJbC0yNC43ODgtMjIuMTkxYy0zLjc5Ny0zLjM5OC05LjU0My0zLjM5OC0xMy4zNCwwTDg5LjM5OCwyNjkuMDVMNjQuNjEsMjQ2Ljg1OWMtMy43OTYtMy4zOTktOS41NDMtMy4zOTktMTMuMzQtMC4wMDEKCQkJbC0zMS40NTgsMjguMTYzYy0yLjExOSwxLjg5Ny0zLjMzLDQuNjA2LTMuMzMsNy40NTF2NDcuMzI5aC0wLjAwMWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHY0M2MwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDAuMDAxCgkJCXYzNS4xM2gtNi4wNDRjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBWNTAyYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDkxLjEyM2M1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi02NC4wNjkKCQkJQzUxMS41NjMsNDMyLjQwOCw1MDcuMDg1LDQyNy45MzEsNTAxLjU2Myw0MjcuOTMxeiBNNDQ5Ljg5LDQxMC4zOTFjMTEuMjk2LDAsMjAuOTA1LDcuMzYyLDI0LjI4MSwxNy41NGgtMjMuNDYydi0xLjk2OAoJCQljMC01LjQ0MS0wLjk1OS0xMC42NjItMi43MTYtMTUuNTA0QzQ0OC42Miw0MTAuNDE0LDQ0OS4yNTMsNDEwLjM5MSw0NDkuODksNDEwLjM5MXogTTQyMC4wODcsMTg1LjU3NHYzMy4xMThsLTEwLjQwNy0xMC40MDcKCQkJYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBjLTMuOTA1LDMuOTA1LTMuOTA1LDEwLjIzNywwLDE0LjE0M2wyMy4yNTcsMjMuMjU3YzAuNDA3LDAuNDA2LDAuODM5LDAuNzcsMS4yOTMsMS4wOTEKCQkJdjI2LjI2NWMtMjUuNDA1LTQuNzEyLTQ0LjcwNC0yNy4wMzktNDQuNzA0LTUzLjc4OWMwLTE1LjgxNiw2Ljg0NS0zMC44NTQsMTguNzc4LTQxLjI1NmMyLjc0LTIuMzg4LDMuOTY5LTYuMDc1LDMuMjA5LTkuNjI5CgkJCWMtMC40OTItMi4yOTktMC43NDEtNC42Ny0wLjc0MS03LjA0N2MwLTE4LjQ0OSwxNS4wMDktMzMuNDU4LDMzLjQ1OC0zMy40NThjMTguNDQ5LDAsMzMuNDU4LDE1LjAwOSwzMy40NTgsMzMuNDU4CgkJCWMwLDIuMzc4LTAuMjQ5LDQuNzQ4LTAuNzQxLDcuMDQ1Yy0wLjc2MiwzLjU1NSwwLjQ2Nyw3LjI0MywzLjIwOCw5LjYzMmMxMS45MzUsMTAuNDAzLDE4Ljc3OSwyNS40NCwxOC43NzksNDEuMjU2CgkJCWMwLDI2Ljc1LTE5LjI5OSw0OS4wNzYtNDQuNzA0LDUzLjc4OHYtMjYuMjY1YzAuNDUzLTAuMzIyLDAuODg3LTAuNjg1LDEuMjkzLTEuMDkxbDIzLjI1Ny0yMy4yNTcKCQkJYzMuOTA1LTMuOTA1LDMuOTA1LTEwLjIzNywwLTE0LjE0M2MtMy45MDYtMy45MDQtMTAuMjM2LTMuOTA0LTE0LjE0MywwbC0xMC40MDcsMTAuNDA3di0zMy4xMThjMC01LjUyMy00LjQ3OC0xMC0xMC0xMAoJCQlDNDI0LjU2NCwxNzUuNTc0LDQyMC4wODcsMTgwLjA1MSw0MjAuMDg3LDE4NS41NzR6IE0zNzkuNTYzLDQyNS45NjNjMC0xNC4xMDIsMTEuNDcyLTI1LjU3NCwyNS41NzMtMjUuNTc0CgkJCWMxNC4xMDIsMCwyNS41NzMsMTEuNDcyLDI1LjU3MywyNS41NzR2MS45NjhoLTUxLjE0NlY0MjUuOTYzeiBNMjg4LjE0MywyODYuOTQxbDIxLjQ1Ny0xOS4yMWwyMS40NTcsMTkuMjFWMzI5LjhoLTQyLjkxNFYyODYuOTQxCgkJCXogTTIyNS4yMjcsMjg2Ljk0MWwyMS40NTgtMTkuMjFsMjEuNDU3LDE5LjIxVjMyOS44aC00Mi45MTVWMjg2Ljk0MXogTTE2Mi4zMTMsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44aC00Mi45MTUKCQkJVjI4Ni45NDF6IE05OS4zOTgsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44SDk5LjM5OFYyODYuOTQxeiBNMzYuNDgzLDI4Ni45NDFsMjEuNDU3LTE5LjIxbDIxLjQ1NywxOS4yMVYzMjkuOAoJCQlIMzYuNDgzVjI4Ni45NDF6IE0yNi40ODIsMzQ5LjgwMWgzMTQuNTc1djIzSDI2LjQ4MlYzNDkuODAxeiBNMzMxLjA1NywzOTIuODAxdjM1LjEzaC00Mi45MTR2LTM1LjEzSDMzMS4wNTd6IE0yNjguMTQzLDM5Mi44MDEKCQkJdjM1LjEzaC00Mi45MTV2LTM1LjEzSDI2OC4xNDN6IE0yMDUuMjI3LDM5Mi44MDF2MzUuMTNoLTQyLjkxNXYtMzUuMTNIMjA1LjIyN3ogTTE0Mi4zMTMsMzkyLjgwMXYzNS4xM0g5OS4zOTh2LTM1LjEzSDE0Mi4zMTN6CgkJCSBNNzkuMzk4LDM5Mi44MDF2MzUuMTNIMzYuNDgzdi0zNS4xM0g3OS4zOTh6IE0yMC40MzgsNDkydi00NC4wNjloNDcxLjEyM1Y0OTJIMjAuNDM4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNzguNDg3LDEyNy44NDNjLTAuNTU2LDAtMS4xMTIsMC4wMTEtMS42NjgsMC4wMzNjLTcuNTQzLTE0LjQyLTIyLjUxOS0yMy45MjMtMzguODk0LTIzLjkyMwoJCQljLTIwLjU4NywwLTM4LjA0NywxNC42ODMtNDIuNzczLDM0LjM0NmMtMTkuNzgzLDEuOTMtMzUuMzA5LDE5LjAwMS0zNS4zMDksMzkuNzA3YzAsMjEuOTk0LDE3LjUxNywzOS44ODcsMzkuMDQ4LDM5Ljg4N2g3OS41OTYKCQkJYzI0LjI4NSwwLDQ0LjA0MS0yMC4xOTgsNDQuMDQxLTQ1LjAyNUMzMjIuNTI3LDE0OC4wNDEsMzAyLjc3MSwxMjcuODQzLDI3OC40ODcsMTI3Ljg0M3ogTTI3OC40ODcsMTk3Ljg5M2gtNzkuNTk2CgkJCWMtMTAuNTAzLDAtMTkuMDQ4LTguOTIxLTE5LjA0OC0xOS44ODdjMC0xMC45NjcsOC41NDUtMTkuODg4LDE5LjA0OC0xOS44ODhjMS4wNTYsMCwyLjE0OCwwLjA5OSwzLjI0NCwwLjI5NgoJCQljMi44OTMsMC41MTYsNS44Ny0wLjI2Nyw4LjEzNS0yLjE0MWMyLjI2NS0xLjg3NSwzLjU5LTQuNjUyLDMuNjIzLTcuNTkyYzAuMTUzLTEzLjYzNSwxMC45MzMtMjQuNzI4LDI0LjAzMi0yNC43MjgKCQkJYzEwLjYzOCwwLDE5Ljg3Nyw3LjEwOCwyMi45ODgsMTcuNjg5YzEuNTExLDUuMTM1LDYuNzk0LDguMTczLDExLjk5NCw2Ljg4NmMxLjgzOC0wLjQ1NCwzLjcxNS0wLjY4NCw1LjU4LTAuNjg0CgkJCWMxMy4yNTYsMCwyNC4wNDEsMTEuMjI2LDI0LjA0MSwyNS4wMjVDMzAyLjUyNywxODYuNjY3LDI5MS43NDMsMTk3Ljg5MywyNzguNDg3LDE5Ny44OTN6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Gallery:bae,Garage:$ae,Garden:Pae,"Ground Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBzdHJva2U9IiIgZD0iTTQ3Ny40NDQsNDcxLjAzNGgtMy44MzNjLTMuNjc5LTE0LjQzNS0xNS45MjYtMjUuMzU2LTMwLjg1OS0yNy4yNDFWMzA4LjU4N2gyLjEzOGM5LjkxNywwLDE3Ljk4NS04LjA2OCwxNy45ODUtMTcuOTg2CgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNAoJCQljMC0wLjAzMy0wLjAwNS0wLjA2NS0wLjAwNS0wLjA5OGMtMC4wMDEtMC4wOTgtMC4wMDktMC4xOTYtMC4wMTUtMC4yOTRjLTAuMDA5LTAuMTcxLTAuMDIxLTAuMzQyLTAuMDQyLTAuNTEKCQkJYy0wLjAxMS0wLjA4OS0wLjAyNi0wLjE3Ny0wLjA0MS0wLjI2NmMtMC4wMjktMC4xODMtMC4wNjUtMC4zNjQtMC4xMDgtMC41NDJjLTAuMDEtMC4wNC0wLjAxNC0wLjA4MS0wLjAyNC0wLjEyMUw0NDYuMTIzLDI1LjQyCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQKCQkJSDMzNS4zNzJMMjkyLjM0NywyOS43aDQ1Ljg2NmM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3YzAtNC4wMjUtMy4yNjItNy4yODctNy4yODctNy4yODdoLTU1LjU5NmwtMC45MjYtMS4zODcKCQkJQzI3NS45NDgsNS4xMzcsMjY2LjM0MiwwLDI1NS45OTcsMGMtMTAuMzQ1LDAtMTkuOTUsNS4xMzYtMjUuNjk0LDEzLjczOWwtMC45MjcsMS4zODhINzkuMTc4CgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyCgkJCWMtMC4wMTQsMC4wODktMC4wMywwLjE3Ny0wLjA0MSwwLjI2NmMtMC4wMjEsMC4xNjgtMC4wMzMsMC4zMzgtMC4wNDIsMC41MWMtMC4wMDUsMC4wOTgtMC4wMTQsMC4xOTYtMC4wMTUsMC4yOTQKCQkJYzAsMC4wMzMtMC4wMDUsMC4wNjUtMC4wMDUsMC4wOTh2MTQuOTA0YzAsNy4xOTcsNS44NTUsMTMuMDUyLDEzLjA1MiwxMy4wNTJoOS44MTV2MTQzLjIzM2gtMi4xMzgKCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3CgkJCXM3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtNDYuNjk2aDM0NC4zNjR2MTI5LjMxMWMtMC4wNTUtMC4wMzItMC4xMTMtMC4wNi0wLjE2OS0wLjA5MmMtMC43MTQtMC40MTUtMS40MzktMC44MS0yLjE3Ni0xLjE4MgoJCQljLTAuMTQ0LTAuMDczLTAuMjkxLTAuMTM5LTAuNDM1LTAuMjFjLTAuNjE0LTAuMzAyLTEuMjM1LTAuNTg4LTEuODYzLTAuODU5Yy0wLjIxMy0wLjA5Mi0wLjQyNS0wLjE4My0wLjYzOS0wLjI3MgoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2CgkJCWMtMC4yMTktMC4wNjItMC40NC0wLjExOC0wLjY2LTAuMTc2Yy0wLjY0Mi0wLjE2OS0xLjI4OS0wLjMyMy0xLjk0LTAuNDYyYy0wLjE4OC0wLjA0LTAuMzc1LTAuMDg1LTAuNTY0LTAuMTIzCgkJCWMtMC44MTItMC4xNjItMS42MjktMC4zLTIuNDUxLTAuNDE0Yy0wLjE3OC0wLjAyNS0wLjM1OC0wLjA0Mi0wLjUzNy0wLjA2NGMtMC42NzEtMC4wODQtMS4zNDUtMC4xNTItMi4wMjItMC4yMDQKCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUKCQkJYy0wLjg0Ni0wLjAyLTEuNjg0LDAuMDAxLTIuNTE2LDAuMDQ2Yy0wLjE5NSwwLjAxMS0wLjM4NywwLjAzNC0wLjU4MSwwLjA0OGMtMC42MzYsMC4wNDctMS4yNjgsMC4xMDctMS44OTQsMC4xOQoJCQljLTAuMjMsMC4wMzEtMC40NTgsMC4wNzEtMC42ODYsMC4xMDdjLTAuNTg2LDAuMDkyLTEuMTY4LDAuMTk3LTEuNzQ0LDAuMzIxYy0wLjIzNCwwLjA1LTAuNDY1LDAuMTA0LTAuNjk3LDAuMTU5CgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQKCQkJYy0wLjE3MSwwLjA2Ny0wLjM0NSwwLjEyNy0wLjUxNSwwLjE5N2MtMC43MDUsMC4yOS0xLjM5OSwwLjYwMi0yLjA3OSwwLjk0MWMtMC4wMjgsMC4wMTQtMC4wNTgsMC4wMjYtMC4wODYsMC4wNAoJCQljLTAuNzMzLDAuMzY5LTEuNDUsMC43NjYtMi4xNSwxLjE5Yy0wLjA2NiwwLjA0LTAuMTI5LDAuMDg2LTAuMTk1LDAuMTI3Yy0wLjYsMC4zNy0xLjE4NywwLjc1OS0xLjc2LDEuMTY5CgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQoJCQljLTAuMzkxLDAuMzQ1LTAuNzc0LDAuNjk4LTEuMTQ4LDEuMDYzYy0wLjIwMSwwLjE5Ni0wLjQwMSwwLjM5NC0wLjU5NywwLjU5NmMtMC4zNjUsMC4zNzYtMC43MTcsMC43NjMtMS4wNjQsMS4xNTgKCQkJYy0wLjE3OCwwLjIwMy0wLjM1OSwwLjQwNC0wLjUzMywwLjYxMmMtMC4zNjcsMC40NDEtMC43MTcsMC44OTctMS4wNiwxLjM1OWMtMC4xMzEsMC4xNzYtMC4yNjksMC4zNDYtMC4zOTYsMC41MjUKCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkKCQkJYy03LjEzNSwwLTEyLjkzOSw1LjgwNS0xMi45MzksMTIuOTM5djEyNC44NTNoLTYwLjYzOWMtMC4xODgtMC40NjktMC4zOTktMC45MjUtMC42MDUtMS4zODMKCQkJYy0wLjA4OC0wLjE5NC0wLjE2Ni0wLjM5NC0wLjI1Ni0wLjU4NmMtMC4zNTMtMC43NDktMC43MjgtMS40ODMtMS4xMjgtMi4yMDJjLTAuMDc1LTAuMTM1LTAuMTYtMC4yNjMtMC4yMzYtMC4zOTcKCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQKCQkJYy0wLjE4My0wLjI0NS0wLjM3Mi0wLjQ4NC0wLjU2Mi0wLjcyNGMtMC4zMi0wLjQwNS0wLjY0Ni0wLjgwMy0wLjk4Mi0xLjE5M2MtMC4yMDItMC4yMzQtMC40MDUtMC40NjctMC42MTItMC42OTUKCQkJYy0wLjM1Mi0wLjM4OC0wLjcxNC0wLjc2Ni0xLjA4MS0xLjEzOGMtMC4yMDUtMC4yMDctMC40MDctMC40MTctMC42MTYtMC42MmMtMC40MTktMC40MDUtMC44NTItMC43OTQtMS4yOS0xLjE3OAoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDEKCQkJYy0wLjU4OC0wLjQyNi0xLjE4OC0wLjgzNi0xLjgwMS0xLjIyNmMtMC4yMjUtMC4xNDQtMC40NTgtMC4yNzYtMC42ODYtMC40MTRjLTAuNDY3LTAuMjgzLTAuOTM4LTAuNTYyLTEuNDE4LTAuODI0CgkJCWMtMC4yNy0wLjE0OC0wLjU0NS0wLjI4Ny0wLjgxOS0wLjQyOGMtMC40NTYtMC4yMzQtMC45MTYtMC40NjEtMS4zODMtMC42NzZjLTAuMjktMC4xMzQtMC41ODEtMC4yNjQtMC44NzUtMC4zOTEKCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQKCQkJYy0wLjI1Ni0wLjA3Ny0wLjUwOC0wLjE2Mi0wLjc2Ni0wLjIzM2MtMC44LTAuMjIxLTEuNjA4LTAuNDIxLTIuNDI4LTAuNTg4Yy0wLjUyNy0wLjcxOC0xLjA3NC0xLjQxOC0xLjYzNy0yLjA5OQoJCQljLTAuMTkzLTAuMjMzLTAuMzk4LTAuNDUyLTAuNTk1LTAuNjgxYy0wLjM3OC0wLjQ0LTAuNzU0LTAuODgyLTEuMTQ3LTEuMzA2Yy0wLjI0Ni0wLjI2NS0wLjUwNS0wLjUxNC0wLjc1Ny0wLjc3MgoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQoJCQljLTAuMzAxLTAuMjU3LTAuNjE0LTAuNDk4LTAuOTIxLTAuNzQ3Yy0wLjM2OC0wLjI5OC0wLjczMi0wLjYtMS4xMDgtMC44ODZjLTAuMzIyLTAuMjQ0LTAuNjU0LTAuNDcyLTAuOTgxLTAuNzA3CgkJCWMtMC4zNzYtMC4yNy0wLjc0OS0wLjU0NC0xLjEzMy0wLjgwMWMtMC4zMzktMC4yMjctMC42ODctMC40MzktMS4wMzEtMC42NTdjLTAuMzg3LTAuMjQ1LTAuNzcxLTAuNDkzLTEuMTY0LTAuNzI1CgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQKCQkJYy0wLjQwNi0wLjE5NS0wLjgxMS0wLjM5My0xLjIyNC0wLjU3NmMtMC4zOC0wLjE2OS0wLjc2NS0wLjMyMy0xLjE1LTAuNDgyYy0wLjQxNy0wLjE3MS0wLjgzMi0wLjM0NC0xLjI1NS0wLjUwMwoJCQljLTAuMzg5LTAuMTQ3LTAuNzg0LTAuMjgtMS4xNzgtMC40MTZjLTAuNDI3LTAuMTQ3LTAuODU0LTAuMjk2LTEuMjg2LTAuNDNjLTAuMzk4LTAuMTI0LTAuODAxLTAuMjM2LTEuMjA0LTAuMzQ5CgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5CgkJCWMtMC40MTQtMC4wNzgtMC44MzEtMC4xNDUtMS4yNDgtMC4yMTJjLTAuNDUzLTAuMDcyLTAuOTA1LTAuMTQzLTEuMzYxLTAuMjAyYy0wLjQyLTAuMDU0LTAuODQyLTAuMDk4LTEuMjY0LTAuMTQxCgkJCWMtMC40Ni0wLjA0Ny0wLjkyMS0wLjA5LTEuMzg1LTAuMTIyYy0wLjQyNC0wLjAzLTAuODUtMC4wNTEtMS4yNzYtMC4wNjljLTAuMjY5LTAuMDEyLTAuNTM0LTAuMDM2LTAuODA0LTAuMDQzdi0yOS44NTEKCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyCgkJCWMtMTEuMjk0LDAtMjAuNDgzLDkuMTg5LTIwLjQ4MywyMC40ODNzOS4xODksMjAuNDgzLDIwLjQ4MywyMC40ODNoNDQyLjg5NGMxMS4yOTQsMCwyMC40ODMtOS4xODksMjAuNDgzLTIwLjQ4MwoJCQlDNDk3LjkyNyw0ODAuMjIzLDQ4OC43MzgsNDcxLjAzNCw0NzcuNDQ0LDQ3MS4wMzR6IE0yMzkuMzMzLDI2LjQ2YzAtMC4wMDEsMC4wMDEtMC4wMDEsMC4wMDEtMC4wMDFsMy4wODktNC42MjcKCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1MwoJCQljLTIuMzU4LTMuNTMxLTYuMy01LjYzOS0xMC41NDYtNS42MzljLTQuMjQ2LDAtOC4xODksMi4xMDgtMTAuNTQ2LDUuNjM5TDE5OS4zNDcsOTQuMTRoLTUuMjAybDguNzc4LTEzLjE0OEwyMzkuMzMzLDI2LjQ2egoJCQkgTTI5NS4xMjQsOTQuMTRIMjE2Ljg3bDM5LjEyNy01OC42MDRMMjk1LjEyNCw5NC4xNHogTTc5LjgxNiwyOS43aDEzOS44MzFMMjA5LjUxLDQ0Ljg4M0wxNzYuNjIyLDk0LjE0SDYzLjA4MUw3OS44MTYsMjkuN3oKCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQKCQkJYy0xLjg4MSwwLTMuNDEyLTEuNTMxLTMuNDEyLTMuNDEzYzAtMS44ODEsMS41My0zLjQxMiwzLjQxMi0zLjQxMkg0NDQuODljMS44ODEsMCwzLjQxMiwxLjUzMSwzLjQxMiwzLjQxMgoJCQljMCwxLjg4Mi0xLjUzLDMuNDEzLTMuNDEyLDMuNDEzSDY3LjEwNHogTTM2MC40MTYsNDcwLjg5M2MwLjMxNy0wLjE4NywwLjYzOC0wLjM2OCwwLjk2Ny0wLjUzNQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4CgkJCWMwLjI3Mi0wLjA5OCwwLjU0Ny0wLjE4NywwLjgyNC0wLjI3MWMwLjIwMS0wLjA2LDAuNDAyLTAuMTIxLDAuNjA1LTAuMTc0YzAuMjc2LTAuMDcyLDAuNTU2LTAuMTMyLDAuODM2LTAuMTkKCQkJYzAuMjA3LTAuMDQzLDAuNDExLTAuMDkxLDAuNjItMC4xMjZjMC4zNTYtMC4wNiwwLjcxOC0wLjEwMiwxLjA4MS0wLjEzOWMwLjE3Ni0wLjAxOCwwLjM1Mi0wLjAzOSwwLjUyOS0wLjA1MgoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYKCQkJYzAuNTcyLDAuMDY1LDEuMTQ2LDAuMTU1LDEuNzE5LDAuMjc5YzMuNTA5LDAuNzU2LDcuMDQ3LTEuMTU1LDguMzM3LTQuNTA3YzQuMDkyLTEwLjYzOSwxNC40OTYtMTcuNzg3LDI1Ljg5MS0xNy43ODcKCQkJYzcuOTUsMCwxNS41MzMsMy40MjgsMjAuODA2LDkuNDA2YzAuMjEsMC4yMzgsMC40MzMsMC40NiwwLjY2OSwwLjY2NmMwLjAxMywwLjAxMSwwLjAyOCwwLjAyLDAuMDQxLDAuMDMyCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxCgkJCUMzNjAuMjUsNDcwLjk4NSwzNjAuMzM0LDQ3MC45NDIsMzYwLjQxNiw0NzAuODkzeiBNMjkxLjAzOCwzNDcuODE1djEyMy4yMTloLTcwLjA4MlYzNDcuODE1SDI5MS4wMzh6IE03Ny43OTcsNDQ1LjM1MgoJCQljMC43NjctMC4xMjEsMS41MzYtMC4yMTUsMi4zMDUtMC4yNzljMC4wNjYtMC4wMDUsMC4xMzItMC4wMDksMC4xOTgtMC4wMTRjMC43ODQtMC4wNiwxLjU2Ny0wLjA5NiwyLjM0My0wLjA5NgoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNgoJCQljMC4xMTUsMC4wMiwwLjIzLDAuMDQxLDAuMzQ1LDAuMDYzYzAuNSwwLjA5NywwLjk5NSwwLjIwOCwxLjQ4MywwLjMzOGMwLjA2MywwLjAxNywwLjEyNSwwLjAzNywwLjE4OSwwLjA1NQoJCQljMC40NDQsMC4xMjMsMC44ODEsMC4yNjEsMS4zMTMsMC40MTFjMC4wOTksMC4wMzQsMC4xOTksMC4wNjcsMC4yOTgsMC4xMDNjMC40NjcsMC4xNjksMC45MjcsMC4zNTMsMS4zNzksMC41NTMKCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYKCQkJYzAuNDMxLDAuMjM2LDAuODUyLDAuNDg4LDEuMjY1LDAuNzUyYzAuMDk0LDAuMDYsMC4xODcsMC4xMjIsMC4yOCwwLjE4NGMwLjM4OCwwLjI1NywwLjc2OSwwLjUyMywxLjEzOSwwLjgwMwoJCQljMC4wMzIsMC4wMjQsMC4wNjYsMC4wNDcsMC4wOTgsMC4wNzJjMC4zOTIsMC4zLDAuNzcsMC42MTcsMS4xNDEsMC45NDNjMC4wODcsMC4wNzcsMC4xNzQsMC4xNTQsMC4yNiwwLjIzMgoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQoJCQljMC4wNzIsMC4wODYsMC4xNDUsMC4xNzIsMC4yMTYsMC4yNmMwLjA1MywwLjA2NiwwLjEwMSwwLjEzNiwwLjE1NCwwLjIwMkg1Mi4xODFDNTQuMjI5LDQ1Ny44NjgsNjQuNjQzLDQ0Ny40MzksNzcuNzk3LDQ0NS4zNTJ6CgkJCSBNNDc3LjQ0NCw0OTcuNDI3SDM0LjU1Yy0zLjI1OSwwLTUuOTEtMi42NTEtNS45MS01LjkxYzAtMy4yNTksMi42NTEtNS45MSw1LjkxLTUuOTFoNDQyLjg5NGMzLjI1OSwwLDUuOTEsMi42NTEsNS45MSw1LjkxCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiAgZD0iTTE4Ni4yMTMsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODgsNy4yODdoODYuNzljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgIGQ9Ik0yOTkuNjY4LDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU1Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0NgoJCQloLTMuMzM4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAuMDAxLDQuMDI0LDMuMjYzLDcuMjg3LDcuMjg3LDcuMjg3aDg2Ljc5MWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3CgkJCUMzMDYuOTU1LDIzNC44MzUsMzAzLjY5MywyMzEuNTcyLDI5OS42NjgsMjMxLjU3MnogTTI4MS43NTgsMjMxLjU3M2gtNTAuOTd2LTYxLjU1NGg1MC45N1YyMzEuNTczeiIvPgogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiICBkPSJNNDEyLjU3MiwyMzEuNTcyaC0zLjMzOHYtNjUuNzQ2YzAtNS43MjQtNC42NTctMTAuMzgtMTAuMzc5LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDNDE5Ljg1OSwyMzQuODM1LDQxNi41OTcsMjMxLjU3Miw0MTIuNTcyLDIzMS41NzJ6IE0zOTQuNjYxLDIzMS41NzNoLTUwLjk3di02MS41NTRoNTAuOTdWMjMxLjU3M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTgyLjgxMyw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTUsNC41MjktMTAuMDk1LDEwLjA5NXY2MC4wNDUKCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0aDU5LjUwNGg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3CgkJCUMxOTAuMSw0MTcuMDk1LDE4Ni44MzgsNDEzLjgzMywxODIuODEzLDQxMy44MzN6IE0xNjcuNzEyLDQxMy44MzNoLTQ0LjkzMXYtNTUuNTY3aDQ0LjkzMVY0MTMuODMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MDQuMzE0LDQxMy44MzNoLTAuNTI4di02MC4wNDVjMC01LjU2Ni00LjUyOS0xMC4wOTUtMTAuMDk1LTEwLjA5NWgtNTMuODg2Yy01LjU2NiwwLTEwLjA5Niw0LjUyOS0xMC4wOTYsMTAuMDk1djYwLjA0NQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRIMzk2LjVoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDNDExLjYwMSw0MTcuMDk1LDQwOC4zMzksNDEzLjgzMyw0MDQuMzE0LDQxMy44MzN6IE0zODkuMjEzLDQxMy44MzNoLTQ0LjkzMnYtNTUuNTY3aDQ0LjkzMlY0MTMuODMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNzYuNTQ1LDQwNS4wODljLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MTIuNjNjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4NwoJCQljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtMTIuNjNDMjgzLjgzMiw0MDguMzUyLDI4MC41Nyw0MDUuMDg5LDI3Ni41NDUsNDA1LjA4OXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==","Guest Bathroom":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjMuNjE4IDYyLTIuNzE4LTUuNDQ3YTEgMSAwIDAgMCAtLjktLjU1M2gtMXYtMzBoM3YtMmgtM3YtMTlhNS4wMDYgNS4wMDYgMCAwIDAgLTUtNWgtMTRhNS4wMDYgNS4wMDYgMCAwIDAgLTUgNXYxYTMgMyAwIDAgMCAtMyAzdjFoLTVhMyAzIDAgMCAwIC0zIDN2MmExIDEgMCAwIDAgMSAxaDE1di0yaC0xNHYtMWExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MWgtNHYyaDVhMSAxIDAgMCAwIDEtMXYtMmEzIDMgMCAwIDAgLTMtM2gtNXYtMWEzIDMgMCAwIDAgLTMtM3YtMWEzIDMgMCAwIDEgMy0zaDE0YTMgMyAwIDAgMSAzIDN2MTloLTV2Mmg1djE0aC0zdi0yaC0ydjZoMnYtMmgzdjE0aC0xYTEgMSAwIDAgMCAtLjkuNTUzbC0yLjcxOCA1LjQ0N2gtNTIuMzgydjJoNjR2LTJ6bS0yNS42MTgtNTN2MWgtNHYtMWExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXptMTguNjE4IDQ5aDIuNzY0bDIgNGgtNi43NjR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI5IDE4aDJ2NGgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjkgMjRoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOSAzNGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDM0aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjkgMjhoMnY0aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMyAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzIDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzMgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00MSAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQxIDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDEgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyAxOGgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDI0aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcgMjhoMnY0aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NSAzNGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1IDE4aDJ2NGgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDUgMjRoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NSAyOGgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQxIDE4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzMgMThoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNSAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI1IDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjUgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNSAxOGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIgMzcuOTg3djE5LjAxM2ExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTE5LjFsMi0uMDEzdjIuMTEzaDJ2LTZoLTJ2MS44ODJsLTE4LjAwNi4xMTguMDEyIDJ6bTIgMTIuMDEzaDEwdjFoLTEwem0wIDZ2LTNoMTB2M3ptMTAtOGgtMTB2LTEwLjAyNmwxMC0uMDY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMCAyOWM0LjQ4NiAwIDgtNS4yNzEgOC0xMnMtMy41MTQtMTItOC0xMi04IDUuMjcxLTggMTIgMy41MTQgMTIgOCAxMnptMC0yMmMzLjI1MiAwIDYgNC41NzkgNiAxMHMtMi43NDggMTAtNiAxMC02LTQuNTc5LTYtMTAgMi43NDgtMTAgNi0xMHoiLz4KICAgICAgICA8cGF0aCBkPSJtNS4wOTUgMTMuNWg3LjgxdjJoLTcuODF6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzY4IC0uNjQgLjY0IC43NjggLTcuMTk3IDkuMTIyKSIvPgogICAgICAgIDxwYXRoIGQ9Im03LjA5NSAxOC41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtOS45MzQgMTEuNTYyKSIvPgogICAgPC9nPgo8L3N2Zz4=","Guest Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NTYsMzI4YTQwLjAzNyw0MC4wMzcsMCwwLDAtOCwuODA0OTNWMTQ0YTcuOTc1MjIsNy45NzUyMiwwLDAsMC0yLjM0MzgxLTUuNjU3NDcsMTQuNjQ1MzUsMTQuNjQ1MzUsMCwwLDEsMC0yMC42ODUwNkE3Ljk3NTIyLDcuOTc1MjIsMCwwLDAsNDQ4LDExMlY4OGg0MGE3Ljk5OTQ2LDcuOTk5NDYsMCwwLDAsNi45NDU4LTExLjk2ODc1bC0zMi01NkE3Ljk5ODYzLDcuOTk4NjMsMCwwLDAsNDU2LDE2SDM4NGE3Ljk5ODYzLDcuOTk4NjMsMCwwLDAtNi45NDU4LDQuMDMxMjVsLTMyLDU2QTcuOTk5NDYsNy45OTk0NiwwLDAsMCwzNTIsODhoNDB2MjRhNy45NzUyMiw3Ljk3NTIyLDAsMCwwLDIuMzQzODEsNS42NTc0NywxNC42NDUzNSwxNC42NDUzNSwwLDAsMSwwLDIwLjY4NTA2QTcuOTc1MjIsNy45NzUyMiwwLDAsMCwzOTIsMTQ0VjMyMEgzMTJWMjg4aDI0YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMjQ4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMzEyVjIxNmg0OGE4LjAwMDA4LDguMDAwMDgsMCwwLDAsOC04VjExMmE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04SDIwOGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOCw4djk2YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LDhoNDh2MjRIMjA1LjQxNjA4bC0xMy42MDU1My0zNC4wMTQ2NS00Ljk3NDEyLTM5Ljc5M0E1Ni41MzE0OCw1Ni41MzE0OCwwLDAsMCwxODQsMTU0LjI2VjgwQTY0LDY0LDAsMCwwLDU2LDgwdjUyLjgyODYxQTU2LjA0MTkzLDU2LjA0MTkzLDAsMCwwLDMzLjU5NDI0LDE2MS45MTlsLTE3LjE4MzYsNTEuNTUwNzhhNy45OTgsNy45OTgsMCwwLDAtLjE3MTg3LDQuNDcwN2w1LjU5MTM3LDIyLjM2NTQ4QTcuOTk3NDUsNy45OTc0NSwwLDAsMCwxNiwyNDhWNDg4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LDhINDg4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMzY4QTQwLjA0NTUyLDQwLjA0NTUyLDAsMCwwLDQ1NiwzMjhabTI0LDQwdjU2SDQzMlYzNjhhMjQsMjQsMCwwLDEsNDgsMFpNMjY0LDQyNFY0MDBhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgtOEg0MDhhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgsOHYyNFpNOTYsNDI0VjQwMGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOC04SDI0MGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOCw4djI0Wm0zMjAtODB2MzMuMzc2MjJBMjMuODgyMTIsMjMuODgyMTIsMCwwLDAsNDA4LDM3NkgyNzJhMjMuOTAxMTEsMjMuOTAxMTEsMCwwLDAtMTYsNi4xMzA4NkEyMy45MDExMSwyMy45MDExMSwwLDAsMCwyNDAsMzc2SDEwNGEyMy44ODIxMiwyMy44ODIxMiwwLDAsMC04LDEuMzc2MjJWMzQ0YTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LThINDA4QTguMDA5MTcsOC4wMDkxNywwLDAsMSw0MTYsMzQ0Wm0xMC40NTE3Mi0yMDhINDEzLjU0ODI4YTMwLjg0MzUxLDMwLjg0MzUxLDAsMCwwLDAtMTZoMTIuOTAzNDRBMzAuODQzNTEsMzAuODQzNTEsMCwwLDAsNDI2LjQ1MTcyLDEzNlpNMzg4LjY0MjU4LDMyaDYyLjcxNDg0bDIyLjg1Njk0LDQwSDM2NS43ODU2NFpNNDMyLDg4djE2SDQwOFY4OFptLTI0LDY0aDI0VjMzNi4wMjJjLS4zNjYzMy4yNzU2NC0uNzI0MTguNTYyLTEuMDgwNjkuODQ5NjFBMjQuMDQzNjksMjQuMDQzNjksMCwwLDAsNDA4LDMyMFpNMjk2LDMyMEgxMDRhMjQuMDQzNjksMjQuMDQzNjksMCwwLDAtMjIuOTE5MzEsMTYuODcxNThBMzkuOSwzOS45LDAsMCwwLDMyLDMzNi4wMjJWMjg4SDI5NlptMzItNDhIMzJWMjU2SDMyOFpNNzIsMjQwSDY0VjIyNS41NDFsNy4zMTY4OS0xOC4yOTJMNzIsMjA5LjI5Nzg1Wm04OC0uMDAwMjQuMDAwMjQuMDAwMjRIMTYwWk0yMTYsMjAwVjEyMEgzNTJ2ODBIMzEyVjE2OGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04SDI2NGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOCw4djMyWm01Ni0yNGgyNHY2NEgyNzJaTTEyMCwzMmE0OC4wNTQsNDguMDU0LDAsMCwxLDQ4LDQ4djUwLjg1MzUyYTU2LjcyNTYyLDU2LjcyNTYyLDAsMCwwLTcuOTE5OTItNS43MzUzNmwtMTEuNDQxNjUtNi44NjVBMzEuNzk0MDUsMzEuNzk0MDUsMCwwLDAsMTUyLDEwNFY4MGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04aC02LjExMTMzYTIwLjgzMDUzLDIwLjgzMDUzLDAsMCwxLTE4LjczMzQtMTEuNTc4MTIsOC4wMDA2NCw4LjAwMDY0LDAsMCwwLTEyLjgxMi0yLjA3OTExbC0xNiwxNkE4LjAwMDc2LDguMDAwNzYsMCwwLDAsODgsODB2MjRhMzEuODAxODgsMzEuODAxODgsMCwwLDAsMi43NTc1MSwxMi45NzExOUw3MiwxMjUuMDFWODBBNDguMDU0LDQ4LjA1NCwwLDAsMSwxMjAsMzJabTE2LDcyYTE2LDE2LDAsMCwxLTMyLDBWODMuMzEzNDhsNi45NDY3OC02Ljk0NjI5QTM2LjY5ODE2LDM2LjY5ODE2LDAsMCwwLDEzNiw4Ny45NTMxMlptLTM0Ljc3MTkxLDI1Ljg5MjA5YTMxLjkxNjEzLDMxLjkxNjEzLDAsMCwwLDM2LjcwNDQ3LjU5NzE3bDEuMjM3MTguNzQyNDNMMTIwLDE1NS4xOTMzNmwtMTkuODY2MjctMjQuODMyMjhaTTQ4Ljc3MywxNjYuOTc5NDlBNDAuMDM1MzgsNDAuMDM1MzgsMCwwLDEsNzAuOTYzODcsMTQyLjg2MjNsMTMuOTExNjItNS45NjE5MSwyOC44Nzc0NCwzNi4wOTY2OGE3Ljk5OTQzLDcuOTk5NDMsMCwwLDAsMTIuNDk0MTQsMEwxNTIuOTksMTM5LjU2ODM2YTM5LjcyNzc5LDM5LjcyNzc5LDAsMCwxLDE3Ljk2OTQ4LDI4LjYwODRsNS4xMDI1NCw0MC44MTU0M2E3Ljk4MjgxLDcuOTgyODEsMCwwLDAsLjUxMDI2LDEuOTc4NTFMMTg4LjE4MzU5LDI0MEgxODBsLTIwLTI2LjY2N1YyMDEuODA2NjRhNTAuODIzMzgsNTAuODIzMzgsMCwwLDAsMS45MzI2Mi0zNy4zMDc2MmwtMi4zNDMyNi03LjAyOTI5LTE1LjE3ODcyLDUuMDYwNTQsMi4zNDMyNyw3LjAyOTNhMzQuOTU1MTMsMzQuOTU1MTMsMCwwLDEtMS45MDkxOCwyNi44NjIzMUE3Ljk5OTM0LDcuOTk5MzQsMCwwLDAsMTQ0LDIwMHY0MEg4OFYyMDhhOC4wMDY0Myw4LjAwNjQzLDAsMCwwLS40MTA2NC0yLjUzMDI3bC04LTI0YTguMDAwMDksOC4wMDAwOSwwLDAsMC0xNS4wMTcwOS0uNDQwNDNsLTE2LDQwQTcuOTk3MjMsNy45OTcyMywwLDAsMCw0OCwyMjR2MTZIMzguMjQ2MDlsLTUuOTE5OTItMjMuNjgwNjZaTTMyLDM2OGEyNCwyNCwwLDAsMSw0OCwwdjU2SDMyWk00ODAsNDgwSDMyVjQ0MEg0ODBaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=",Gym:Wae,Hall:Rae,"Home Theater":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSIxIC00NCA1MTEuOTk4OTkgNTExIiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgPHBhdGggZD0ibTI4Mi41MTk1MzEgMzMzLjk4ODI4MWMtNC4xNzE4NzUgMC03LjU0Njg3NSAzLjM3ODkwNy03LjU0Njg3NSA3LjU0Njg3NSAwIDQuMTY3OTY5IDMuMzc1IDcuNTQ2ODc1IDcuNTQ2ODc1IDcuNTQ2ODc1aDExNC4zMzk4NDRjNy4wODIwMzEgMCAxMi44NDM3NS01Ljc2MTcxOSAxMi44NDM3NS0xMi44NDc2NTZ2LTE5MS45Mjk2ODdjMC03LjA4MjAzMi01Ljc2MTcxOS0xMi44NDc2NTctMTIuODQzNzUtMTIuODQ3NjU3aC0yODEuNzE4NzVjLTcuMDgyMDMxIDAtMTIuODQzNzUgNS43NjU2MjUtMTIuODQzNzUgMTIuODQ3NjU3djE5MS45Mjk2ODdjMCA3LjA4NTkzNyA1Ljc2MTcxOSAxMi44NDc2NTYgMTIuODQzNzUgMTIuODQ3NjU2aDEzNy4xOTE0MDZjNC4xNjc5NjkgMCA3LjU0Njg3NS0zLjM3ODkwNiA3LjU0Njg3NS03LjU0Njg3NSAwLTQuMTY3OTY4LTMuMzc4OTA2LTcuNTQ2ODc1LTcuNTQ2ODc1LTcuNTQ2ODc1aC0xMzQuOTQ1MzEydi0xODcuNDM3NWgyNzcuMjI2NTYydjE4Ny40Mzc1em0wIDAiLz4KICAgIDxwYXRoIGQ9Im00OS4yNjE3MTkgODIuNzQyMTg4YzE1LjU4MjAzMSAwIDI4LjI2MTcxOS0xMi42Nzk2ODggMjguMjYxNzE5LTI4LjI1MzkwNyAwLTE1LjU4NTkzNy0xMi42Nzk2ODgtMjguMjYxNzE5LTI4LjI2MTcxOS0yOC4yNjE3MTktMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjYxNzE5IDAgMTUuNTc0MjE5IDEyLjY3NTc4MiAyOC4yNTM5MDcgMjguMjUzOTA3IDI4LjI1MzkwN3ptMC00MS40MjU3ODJjNy4yNjE3MTkgMCAxMy4xNjc5NjkgNS45MDYyNSAxMy4xNjc5NjkgMTMuMTcxODc1IDAgNy4yNTM5MDctNS45MDYyNSAxMy4xNjAxNTctMTMuMTY3OTY5IDEzLjE2MDE1Ny03LjI1MzkwNyAwLTEzLjE2MDE1Ny01LjkwNjI1LTEzLjE2MDE1Ny0xMy4xNjAxNTcgMC03LjI2NTYyNSA1LjkwNjI1LTEzLjE3MTg3NSAxMy4xNjAxNTctMTMuMTcxODc1em0wIDAiLz4KICAgIDxwYXRoIGQ9Im00NjIuNzM4MjgxLjVjLTI3LjE2NDA2MiAwLTQ5LjI2OTUzMSAyMi4xMDU0NjktNDkuMjY5NTMxIDQ5LjI2OTUzMXY1Ni4zMDQ2ODhjLTUuNjUyMzQ0LTEuMzY3MTg4LTYuMDQyOTY5LS41MzUxNTctNTQuMzMyMDMxLS43NzczNDQtNC4xNjQwNjMgMC03LjU0Mjk2OSAzLjM4MjgxMy03LjU0Mjk2OSA3LjU0Njg3NXMzLjM3ODkwNiA3LjU0Njg3NSA3LjU0Mjk2OSA3LjU0Njg3NWg0Ny43MjI2NTZjNy43MzA0NjkgMCAxMy45MTQwNjMgNi4zMDQ2ODcgMTMuOTE0MDYzIDEzLjkxNDA2M3YyMTEuOTMzNTkzYzAgNy42NjQwNjMtNi4yNDYwOTQgMTMuOTE0MDYzLTEzLjkxNDA2MyAxMy45MTQwNjMtNTkuNDE3OTY5IDAtMjMxLjU1NDY4NyAwLTMwMS43MTg3NSAwLTcuNjY3OTY5IDAtMTMuOTE0MDYzLTYuMjUtMTMuOTE0MDYzLTEzLjkxNDA2MyAwLTEwLjc0NjA5MyAwLTIwNC41ODk4NDMgMC0yMTEuOTMzNTkzIDAtNS4yNzM0MzggMi45NTcwMzItOS44Nzg5MDcgNy4zMDQ2ODgtMTIuMjQ2MDk0IDUuODQzNzUtMy4xNzU3ODItNC4yNDIxODgtMS4wNDY4NzUgMjMwLjQyMTg3NS0xLjY2Nzk2OSA0LjE3NTc4MSAwIDcuNTQ2ODc1LTMuMzgyODEzIDcuNTQ2ODc1LTcuNTQ2ODc1cy0zLjM3MTA5NC03LjU0Njg3NS03LjU0Njg3NS03LjU0Njg3NWMtMjM2LjM1MTU2My4yNzM0MzctMjI0LjU1MDc4MS0uNjQ0NTMxLTIzMC40MjE4NzUuNzc3MzQ0di01Ni4zMDQ2ODhjMC0yNy4xNjQwNjItMjIuMTA1NDY5LTQ5LjI2OTUzMS00OS4yNjk1MzEtNDkuMjY5NTMxLTIyLjc2OTUzMSAwLTQyLjQ0OTIxOSAxNS40MzM1OTQtNDcuODYzMjgxIDM3LjUyNzM0NC0uOTg0Mzc2IDQuMDU0Njg3IDEuNSA4LjE0MDYyNSA1LjU0Mjk2OCA5LjEyNSA0LjA0Njg3NS45ODgyODEgOC4xMjg5MDYtMS40ODgyODIgOS4xMjUtNS41MzEyNSAzLjc0NjA5NC0xNS4zMjQyMTkgMTcuMzk4NDM4LTI2LjAzMTI1IDMzLjE5NTMxMy0yNi4wMzEyNSAxOC44NDM3NSAwIDM0LjE3NTc4MSAxNS4zMzU5MzcgMzQuMTc1NzgxIDM0LjE3OTY4N3Y2NS4zMTY0MDdjLTMuMTEzMjgxIDMuNTExNzE4LTUuMzkwNjI1IDcuNzczNDM3LTYuNTExNzE5IDEyLjQ4MDQ2OC0yLjY3MTg3NS0xMi44MjQyMTgtMTQuMDU4NTkzLTIyLjQ4ODI4MS0yNy42NjQwNjItMjIuNDg4MjgxLTE1LjU3ODEyNSAwLTI4LjI1MzkwNyAxMi42Nzk2ODctMjguMjUzOTA3IDI4LjI1NzgxMyAwIDE1LjU3ODEyNCAxMi42NzU3ODIgMjguMjU3ODEyIDI4LjI1MzkwNyAyOC4yNTc4MTIgMTIuNTM1MTU2IDAgMjMuMTg3NS04LjIxMDkzOCAyNi44NzEwOTMtMTkuNTMxMjV2NjEuMzk4NDM4Yy0zLjY4MzU5My0xMS4zMjAzMTMtMTQuMzM1OTM3LTE5LjUyNzM0NC0yNi44NzEwOTMtMTkuNTI3MzQ0LTE1LjU3ODEyNSAwLTI4LjI1MzkwNyAxMi42NzU3ODEtMjguMjUzOTA3IDI4LjI1MzkwNiAwIDE1LjU4MjAzMSAxMi42NzU3ODIgMjguMjU3ODEyIDI4LjI1MzkwNyAyOC4yNTc4MTIgMTIuNTM1MTU2IDAgMjMuMTg3NS04LjIwNzAzMSAyNi44NzEwOTMtMTkuNTMxMjV2NjEuNDAyMzQ0Yy0zLjY4MzU5My0xMS4zMjQyMTgtMTQuMzM1OTM3LTE5LjUzMTI1LTI2Ljg3MTA5My0xOS41MzEyNS0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc1NzgyLTI4LjI1MzkwNyAyOC4yNTM5MDYgMCAxNS41ODIwMzIgMTIuNjc1NzgyIDI4LjI1NzgxMyAyOC4yNTM5MDcgMjguMjU3ODEzIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMDcwMzEgMjYuODcxMDkzLTE5LjUzMTI1djE3LjA4OTg0NGMtMjAuMTA1NDY4IDI1LjUzMTI1LTYxLjAzOTA2MiAxMS4xMjUtNjEuMDM5MDYyLTIxLjA5NzY1N3YtMjI1Ljg0Mzc1YzAtNC4xNzU3ODEtMy4zODI4MTItNy41NDY4NzQtNy41NDY4NzUtNy41NDY4NzQtNC4xNzU3ODEgMC03LjU0Njg3NSAzLjM3MTA5My03LjU0Njg3NSA3LjU0Njg3NHYyMjUuODQzNzVjMCAyNC42MDE1NjMgMTguMTIxMDk0IDQ1LjA1MDc4MiA0MS43MTg3NSA0OC42OTUzMTN2NjIuNTI3MzQ0aC0xOC45NjQ4NDRjLTQuMTY3OTY4IDAtNy41NDY4NzUgMy4zNzg5MDYtNy41NDY4NzUgNy41NDY4NzUgMCA0LjE2Nzk2OCAzLjM3ODkwNyA3LjU0Njg3NSA3LjU0Njg3NSA3LjU0Njg3NWg1My4wMTk1MzJjNC4xNjc5NjggMCA3LjU0Njg3NC0zLjM3ODkwNyA3LjU0Njg3NC03LjU0Njg3NSAwLTQuMTY3OTY5LTMuMzc4OTA2LTcuNTQ2ODc1LTcuNTQ2ODc0LTcuNTQ2ODc1aC0xOC45NjQ4NDR2LTYyLjUzMTI1YzcuMDQyOTY4LTEuMDg1OTM4IDEzLjU5NzY1Ni0zLjY2Nzk2OSAxOS4zMjQyMTgtNy40MTAxNTd2OS4xOTkyMTljMCAxNS45ODQzNzUgMTMuMDE5NTMyIDI5LjAwMzkwNyAyOS4wMDc4MTMgMjkuMDAzOTA3aDQ1LjgyMDMxM3YzNS44OTg0MzdjMCA2LjI4OTA2MyA1LjEwOTM3NCAxMS40MTAxNTYgMTEuMzk4NDM3IDExLjQxMDE1NmgyMS4xMjg5MDZjNi4yODkwNjMgMCAxMS4zOTg0MzgtNS4xMjEwOTMgMTEuMzk4NDM4LTExLjQxMDE1NnYtMzUuODk4NDM3aDEyMi4yMjY1NjJ2MzUuODk4NDM3YzAgNi4yODkwNjMgNS4xMDkzNzUgMTEuNDEwMTU2IDExLjM5ODQzOCAxMS40MTAxNTZoMjEuMTI4OTA2YzYuMjg5MDYzIDAgMTEuMzk4NDM3LTUuMTIxMDkzIDExLjM5ODQzNy0xMS40MTAxNTZ2LTM1Ljg5ODQzN2g0NS44MjAzMTNjMTUuOTg4MjgxIDAgMjkuMDA3ODEzLTEzLjAxOTUzMiAyOS4wMDc4MTMtMjkuMDAzOTA3di05LjE5OTIxOWM1LjcyNjU2MiAzLjc0MjE4OCAxMi4yODEyNSA2LjMyNDIxOSAxOS4zMjQyMTggNy40MTAxNTd2NjIuNTMxMjVoLTE4Ljk2NDg0NGMtNC4xNjc5NjggMC03LjU0Njg3NCAzLjM3ODkwNi03LjU0Njg3NCA3LjU0Njg3NSAwIDQuMTY3OTY4IDMuMzc4OTA2IDcuNTQ2ODc1IDcuNTQ2ODc0IDcuNTQ2ODc1aDUzLjAxOTUzMmM0LjE2Nzk2OCAwIDcuNTQ2ODc1LTMuMzc4OTA3IDcuNTQ2ODc1LTcuNTQ2ODc1IDAtNC4xNjc5NjktMy4zNzg5MDctNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVoLTE4Ljk2NDg0NHYtNjIuNTI3MzQ0YzIzLjU5NzY1Ni0zLjY0NDUzMSA0MS43MTg3NS0yNC4wOTM3NSA0MS43MTg3NS00OC42OTUzMTN2LTI0NS45ODgyODFjMC0yNy4xNjQwNjItMjIuMDkzNzUtNDkuMjY5NTMxLTQ5LjI2MTcxOS00OS4yNjk1MzF6bS00MTMuNDc2NTYyIDE0NmMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY0MDYyIDAtNy4yNTc4MTMgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY0MDYzLTEzLjE2NDA2MyA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjMgMCA3LjI1NzgxMi01LjkwNjI1IDEzLjE2NDA2Mi0xMy4xNjQwNjIgMTMuMTY0MDYyem0wIDc4Ljg1NTQ2OWMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY3OTY5IDAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYzLTEzLjE2NDA2MiA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjIgMTMuMTY3OTY5em0wIDc4Ljg1MTU2MmMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY3OTY5IDAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYzLTEzLjE2NDA2MiA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjIgMTMuMTY3OTY5em0xMzAuNTM1MTU2IDEwMy4yNTM5MDdoLTEzLjc0NjA5NHYtMzIuMjE4NzVoMTMuNzQ2MDk0em0xNjYuMTUyMzQ0IDBoLTEzLjc0NjA5NHYtMzIuMjE4NzVoMTMuNzQ2MDk0em0xNTAuOTU3MDMxLTExMS43MDMxMjZjMCAzMi4yMzgyODItNDAuOTQxNDA2IDQ2LjYyMTA5NC02MS4wMzkwNjIgMjEuMDk3NjU3di0xNy4wODU5MzhjMy42ODM1OTMgMTEuMzIwMzEzIDE0LjMzNTkzNyAxOS41MjczNDQgMjYuODcxMDkzIDE5LjUyNzM0NCAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTc4MTMgMC0xNS41NzgxMjQtMTIuNjc1NzgyLTI4LjI1MzkwNi0yOC4yNTM5MDctMjguMjUzOTA2LTEyLjUzNTE1NiAwLTIzLjE4MzU5MyA4LjIwNzAzMi0yNi44NzEwOTMgMTkuNTI3MzQ0di02MS4zOTQ1MzFjMy42ODM1OTMgMTEuMzIwMzEyIDE0LjMzNTkzNyAxOS41MjczNDMgMjYuODcxMDkzIDE5LjUyNzM0MyAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTc4MTIgMC0xNS41NzgxMjUtMTIuNjc1NzgyLTI4LjI1MzkwNi0yOC4yNTM5MDctMjguMjUzOTA2LTEyLjUzNTE1NiAwLTIzLjE4MzU5MyA4LjIwNzAzMS0yNi44NzEwOTMgMTkuNTI3MzQ0di02MS4zOTg0MzhjMy42ODM1OTMgMTEuMzI0MjE5IDE0LjMzNTkzNyAxOS41MzEyNSAyNi44NzEwOTMgMTkuNTMxMjUgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEyIDAtMTUuNTc4MTI2LTEyLjY3NTc4Mi0yOC4yNTM5MDctMjguMjUzOTA3LTI4LjI1MzkwNy0xMy42MDU0NjkgMC0yNC45OTIxODcgOS42NjAxNTctMjcuNjY0MDYyIDIyLjQ4NDM3NS0xLjEyMTA5NC00LjcwNzAzMS0zLjM5ODQzOC04Ljk2ODc1LTYuNTExNzE5LTEyLjQ3NjU2MnYtNjUuMzIwMzEzYzAtMTguODQzNzUgMTUuMzMyMDMxLTM0LjE3OTY4NyAzNC4xNzk2ODgtMzQuMTc5Njg3IDE4Ljg0Mzc1IDAgMzQuMTY3OTY4IDE1LjMzNTkzNyAzNC4xNjc5NjggMzQuMTc5Njg3djI0NS45ODgyODF6bS00Ny4zMzIwMzEtNC43MTg3NWMwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2Mi0xMy4xNjQwNjIgNy4yNTc4MTMgMCAxMy4xNjQwNjMgNS45MDYyNSAxMy4xNjQwNjMgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYzIDEzLjE2Nzk2OS03LjI1NzgxMiAwLTEzLjE2NDA2Mi01LjkwNjI1LTEzLjE2NDA2Mi0xMy4xNjc5Njl6bTAtNzguODUxNTYyYzAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYyLTEzLjE2NDA2MiA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwNjI1IDEzLjE2NDA2MyAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjMgMTMuMTY3OTY5LTcuMjU3ODEyIDAtMTMuMTY0MDYyLTUuOTA2MjUtMTMuMTY0MDYyLTEzLjE2Nzk2OXptMC03OC44NTE1NjJjMC03LjI1NzgxMyA1LjkwNjI1LTEzLjE2NDA2MyAxMy4xNjQwNjItMTMuMTY0MDYzIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTA2MjUgMTMuMTY0MDYzIDEzLjE2NDA2MyAwIDcuMjU3ODEyLTUuOTA2MjUgMTMuMTY0MDYyLTEzLjE2NDA2MyAxMy4xNjQwNjItNy4yNTc4MTIgMC0xMy4xNjQwNjItNS45MDYyNS0xMy4xNjQwNjItMTMuMTY0MDYyem0wIDAiLz4KICAgIDxwYXRoIGQ9Im00NjIuNzM4MjgxIDI2LjIyNjU2MmMtMTUuNTgyMDMxIDAtMjguMjU3ODEyIDEyLjY3NTc4Mi0yOC4yNTc4MTIgMjguMjU3ODEzIDAgMTUuNTc4MTI1IDEyLjY3NTc4MSAyOC4yNTM5MDYgMjguMjU3ODEyIDI4LjI1MzkwNiAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTM5MDYgMC0xNS41ODIwMzEtMTIuNjc1NzgyLTI4LjI1NzgxMy0yOC4yNTM5MDctMjguMjU3ODEzem0wIDQxLjQyMTg3NmMtNy4yNjE3MTkgMC0xMy4xNjc5NjktNS45MDYyNS0xMy4xNjc5NjktMTMuMTY0MDYzIDAtNy4yNjE3MTkgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY3OTY5LTEzLjE2NDA2MyA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwMjM0NCAxMy4xNjQwNjMgMTMuMTY0MDYzIDAgNy4yNTc4MTMtNS45MDYyNSAxMy4xNjQwNjMtMTMuMTY0MDYzIDEzLjE2NDA2M3ptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Kitchen:Jae,"Laundry Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjEgMmgtNThjLS41NTIgMC0xIC40NDgtMSAxdjU4YzAgLjU1Mi40NDggMSAxIDFoNThjLjU1MiAwIDEtLjQ0OCAxLTF2LTU4YzAtLjU1Mi0uNDQ4LTEtMS0xem0tMSA2aC00di0yYzAtLjU1Mi0uNDQ4LTEtMS0xaC02Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyaC0zYy0uNTUyIDAtMSAuNDQ4LTEgMXY5aC0ydi0xNGgxOHptLTEyLjE0MiAzMS0xLjY5Mi0xMWg5LjY2OWwtMS42OTIgMTF6bTEuMTQyLTEzYzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTguNzU5LjM0OWMtLjE5LS4yMjItLjQ2Ny0uMzQ5LS43NTktLjM0OWgtMmMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNGgtMmMtLjI5MiAwLS41NjkuMTI3LS43NTkuMzQ5cy0uMjc0LjUxNS0uMjI5LjgwM2wxLjgyMyAxMS44NDhoLTMuODM1di0xOWgxOHYxOWgtMy44MzVsMS44MjMtMTEuODQ4Yy4wNDUtLjI4OC0uMDM5LS41ODItLjIyOS0uODAzem0tNy43NTktMTcuMzQ5di0yaDR2MTFoLTR6bS0yIDloLTJ2LThoMnptOCAwdi04aDR2OHptLTE2LTE0djE0aC0ydi0xMGMwLS41NTItLjQ0OC0xLTEtMWgtNmMtLjU1MiAwLTEgLjQ0OC0xIDF2MTBoLTJ2LTdjMC0uMjY1LS4xMDUtLjUyLS4yOTMtLjcwN2wtMS43MDctMS43MDd2LTIuNTg2YzAtLjU1Mi0uNDQ4LTEtMS0xaC00Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyLjU4NmwtMS43MDcgMS43MDdjLS4xODguMTg3LS4yOTMuNDQyLS4yOTMuNzA3djdoLTJ2LTEwYzAtLjU1Mi0uNDQ4LTEtMS0xaC04Yy0uNTUyIDAtMSAuNDQ4LTEgMXYxMGgtMnYtMTR6bS00IDE0aC00di05aDR6bS0xMS43MDctOC4yOTMgMS43MDcgMS43MDd2Ni41ODZoLTZ2LTYuNTg2bDEuNzA3LTEuNzA3Yy4xODgtLjE4Ny4yOTMtLjQ0Mi4yOTMtLjcwN3YtMmgydjJjMCAuMjY1LjEwNS41Mi4yOTMuNzA3em0tMTAuMjkzIDguMjkzaC02di05aDZ6bS0xMCAyaDM2djQwaC0zNnptNDUgMjhoLTJ2LTFoMnptLTMgMmg0LjY0OWw0LjM1MSAzLjQ4djYuNTJoLTl6bTExIDEwdi03YzAtLjMwNC0uMTM4LS41OTEtLjM3NS0uNzgxbC01LTRjLS4xNzgtLjE0Mi0uMzk4LS4yMTktLjYyNS0uMjE5di0yYzAtLjU1Mi0uNDQ4LTEtMS0xaC00Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyYy0uNTUyIDAtMSAuNDQ4LTEgMXYxMWgtMnYtMTloMTh2MTl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDIyaC0zMGMtLjU1MiAwLTEgLjQ0OC0xIDF2MzRjMCAuNTUyLjQ0OCAxIDEgMWgzMGMuNTUyIDAgMS0uNDQ4IDEtMXYtMzRjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDJ2NWgtMjh2LTV6bS0yOCAzMnYtMjVoMjh2MjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyIDMzYy02LjA2NSAwLTExIDQuOTM1LTExIDExczQuOTM1IDExIDExIDExIDExLTQuOTM1IDExLTExLTQuOTM1LTExLTExLTExem0wIDIwYy00Ljk2MiAwLTktNC4wMzgtOS05czQuMDM4LTkgOS05IDkgNC4wMzggOSA5LTQuMDM4IDktOSA5eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNi4xOTkgNDguMjg2IDEuMzk5IDEuNDI5Yy42NzctLjY2MyAxLjIyNi0xLjQzMiAxLjYzMS0yLjI4NmwtMS44MDctLjg1N2MtLjMwMy42MzktLjcxNCAxLjIxNi0xLjIyMyAxLjcxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjIgMzZ2MmMzLjMwOSAwIDYgMi42OTEgNiA2aDJjMC00LjQxMS0zLjU4OS04LTgtOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTAgMjVoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNCAyNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDI1aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+","Living Area":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTQuNSAyNzcuNjY3aC01LjV2LTM2LjVjMC0xNS4xNjQtMTIuMzM2LTI3LjUtMjcuNS0yNy41aC0xMTBjLTcuODc1IDAtMTQuOTgyIDMuMzMyLTIwIDguNjU1LTUuMDE4LTUuMzIyLTEyLjEyNS04LjY1NS0yMC04LjY1NWgtMTEwYy03Ljg3NSAwLTE0Ljk4MiAzLjMzMi0yMCA4LjY1NS01LjAxOC01LjMyMi0xMi4xMjUtOC42NTUtMjAtOC42NTVoLTQwLjVjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoNDAuNWM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djc3LjAxOGMtMy43NTMtMS45MjQtOC0zLjAxOC0xMi41LTMuMDE4aC0xMDEuNXYtMjBjMC05LjY0OS03Ljg1MS0xNy41LTE3LjUtMTcuNWgtMy41di0zNi41YzAtNi44OTMgNS42MDctMTIuNSAxMi41LTEyLjVoMzQuNWM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtMzQuNWMtMTUuMTY0IDAtMjcuNSAxMi4zMzYtMjcuNSAyNy41djM2LjVoLTYuNWMtOS42NDkgMC0xNy41IDcuODUxLTE3LjUgMTcuNXY0Mi41YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTQyLjVjMC0xLjM3OCAxLjEyMi0yLjUgMi41LTIuNWgyNWMxLjM3OCAwIDIuNSAxLjEyMiAyLjUgMi41djE0MC41aC0yNy41Yy0xLjM3OCAwLTIuNS0xLjEyMi0yLjUtMi41di02MC41YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djYwLjVjMCA5LjY0OSA3Ljg1MSAxNy41IDE3LjUgMTcuNWgyNy41djE0LjY2N2MwIDYuODkzIDUuNjA3IDEyLjUgMTIuNSAxMi41aDI1YzYuODkzIDAgMTIuNS01LjYwNyAxMi41LTEyLjV2LTE0LjY2N2gzMjJ2MTQuNjY3YzAgNi44OTMgNS42MDcgMTIuNSAxMi41IDEyLjVoMjVjNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtMTQuNjY3aDI3LjVjOS42NDkgMCAxNy41LTcuODUxIDE3LjUtMTcuNXYtMTM4YzAtOS42NS03Ljg1MS0xNy41LTE3LjUtMTcuNXptLTE0My00OWgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXYzNi41aC00LjVjLTkuNjQ5IDAtMTcuNSA3Ljg1MS0xNy41IDE3LjV2MjBoLTEwMC41Yy00LjUgMC04Ljc0NyAxLjA5My0xMi41IDMuMDE4di03Ny4wMThjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNXptLTI5MS41IDIwN3YtMTVoMzI2YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0zMjZ2LTE1LjVoMTAxLjVjNy44NzUgMCAxNC45ODItMy4zMzIgMjAtOC42NTUgNS4wMTggNS4zMjIgMTIuMTI1IDguNjU1IDIwIDguNjU1aDExMGM3Ljg3NSAwIDE0Ljk4Mi0zLjMzMiAyMC04LjY1NSA1LjAxOCA1LjMyMiAxMi4xMjUgOC42NTUgMjAgOC42NTVoMTAwLjV2MTUuNWgtMzFjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoMzF2MTV6bTM5Mi02MC41aC0xMDAuNWMtNi44OTMgMC0xMi41LTUuNjA3LTEyLjUtMTIuNXYtMjBjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgxMDAuNXptLTEyOC0xMi41YzAgNi44OTMtNS42MDcgMTIuNS0xMi41IDEyLjVoLTExMGMtNi44OTMgMC0xMi41LTUuNjA3LTEyLjUtMTIuNXYtMjBjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXptLTEyMi41LTEzNGgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXY3Ny4wMThjLTMuNzUzLTEuOTI0LTgtMy4wMTgtMTIuNS0zLjAxOGgtMTEwYy00LjUgMC04Ljc0NyAxLjA5My0xMi41IDMuMDE4di03Ny4wMThjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNXptLTQwIDEwMS41YzYuODkzIDAgMTIuNSA1LjYwNyAxMi41IDEyLjV2MjBjMCA2Ljg5My01LjYwNyAxMi41LTEyLjUgMTIuNWgtMTAxLjV2LTQ1em0tODEuNSAxMzIuNjY2aC0yMHYtMTIuMTY3aDIwem0zNTIgMHYtMTIuMTY3aDIwdjEyLjE2N3ptNjUtMjkuNjY2YzAgMS4zNzgtMS4xMjIgMi41LTIuNSAyLjVoLTI3LjV2LTE0MC41YzAtMS4zNzggMS4xMjItMi41IDIuNS0yLjVoMjVjMS4zNzggMCAyLjUgMS4xMjIgMi41IDIuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAuNDkgMTMwLjE2N2gxMTIuMDJjNi44ODcgMCAxMi40OS01LjYwMyAxMi40OS0xMi40OXYtMTYuNTQ5YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djE0LjAzOWgtMTA3di02NmgxMDd2MTYuOTYxYzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTE5LjQ3MmMwLTYuODg3LTUuNjAzLTEyLjQ5LTEyLjQ5LTEyLjQ5aC0xMTIuMDJjLTYuODg3IDAtMTIuNDkgNS42MDMtMTIuNDkgMTIuNDl2NzEuMDIxYzAgNi44ODYgNS42MDMgMTIuNDkgMTIuNDkgMTIuNDl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIzMS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM4MS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwMC4yMzIgMjQ3LjIxNWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjhjNy4zNDkgNC44MjggMTMuNTIyIDExLjAwMiAxOC4zNTEgMTguMzUxIDEuMzg3IDIuMTEgMy43NDMgMy4zODEgNi4yNjggMy4zODFzNC44ODEtMS4yNzEgNi4yNjgtMy4zODFjNC44MjgtNy4zNDkgMTEuMDAyLTEzLjUyMiAxOC4zNTEtMTguMzUxIDIuMTEtMS4zODcgMy4zODEtMy43NDMgMy4zODEtNi4yNjhzLTEuMjcxLTQuODgxLTMuMzgxLTYuMjY4Yy03LjM0OS00LjgyOC0xMy41MjItMTEuMDAyLTE4LjM1MS0xOC4zNTEtMS4zODctMi4xMS0zLjc0My0zLjM4MS02LjI2OC0zLjM4MXMtNC44ODEgMS4yNy02LjI2OCAzLjM4MXptMTQuMzQ0IDI0LjYxOGMtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTQgNS41ODMtNS4xODkgOC4wNzYtOC4wNzYgMi40OTQgMi44ODggNS4xODkgNS41ODMgOC4wNzYgOC4wNzZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Living Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NzMsMzMxLjkxNlYyNzMuNjQ4QTM5LjcxLDM5LjcxLDAsMCwwLDQzMy4zMjgsMjM0SDM3NlYxNzBoNDQuMDA5YTYuMjg5LDYuMjg5LDAsMCwwLDUuNzQ3LTguMDJMNDA0LjgzMSw5Mi4yNDhBNS45NzYsNS45NzYsMCwwLDAsMzk5LjA4NCw4OEgzNDAuOTE2YTUuOTMyLDUuOTMyLDAsMCwwLTUuNzQ3LDQuMkwzMTQuMjQ0LDE2MS45MmE2LjM3Miw2LjM3MiwwLDAsMCwuOTM0LDUuNDgzLDYuMTc2LDYuMTc2LDAsMCwwLDQuODEzLDIuNkgzNjR2NjRIODguNjc1QTM5LjcxMywzOS43MTMsMCwwLDAsNDksMjczLjY0OHY1OC4yNjhhMzkuNDE3LDM5LjQxNywwLDAsMC0zNywzOS41NTZWNDYzLjFhNS45MTUsNS45MTUsMCwwLDAsNiw1LjlIMzV2MzBhNi4yNDYsNi4yNDYsMCwwLDAsNi4yOCw2aDY3Ljg2N0E1Ljg3Nyw1Ljg3NywwLDAsMCwxMTUsNDk5VjQ2OUg0MDd2MzBhNS44NzksNS44NzksMCwwLDAsNS44NTUsNmg2Ny44NjlBNi4yNDMsNi4yNDMsMCwwLDAsNDg3LDQ5OVY0NjloMTdhNS45MTMsNS45MTMsMCwwLDAsNi01LjlWMzcxLjQ3MkEzOS40MTcsMzkuNDE3LDAsMCwwLDQ3MywzMzEuOTE2Wk0zNDUuMzgxLDEwMGg0OS4yMzhsMTcuMzI2LDU4aC04My44OVpNODguNjc1LDI0Nkg0MzMuMzI4QTI3LjcsMjcuNywwLDAsMSw0NjEsMjczLjY0OHY1OS4zYTM5Ljg1NCwzOS44NTQsMCwwLDAtMzAsMzguNTI2VjM5MEg5MVYzNzEuNDcyYTM5Ljg1NCwzOS44NTQsMCwwLDAtMzAtMzguNTI2di01OS4zQTI3LjcsMjcuNywwLDAsMSw4OC42NzUsMjQ2Wk0xMDMsNDkzSDQ3VjQ2OWg1NlptMzcyLDBINDE5VjQ2OWg1NlptMjMtMzZIMjRWMzcxLjQ3MmEyNy41LDI3LjUsMCwxLDEsNTUsMFYzOTUuOGE2LjQ0OCw2LjQ0OCwwLDAsMCw2LjMxLDYuMkg0MzYuNjkzQTYuNDQ1LDYuNDQ1LDAsMCwwLDQ0MywzOTUuOFYzNzEuNDcyYTI3LjUsMjcuNSwwLDEsMSw1NSwwWiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTQsMjAzLjIzOFY1Ni42MjZBNS42NCw1LjY0LDAsMCwwLDIwOC4wNjIsNTFoLTUzLjkyTDExMi4yNzIsOC45NDRhNS43MzcsNS43MzcsMCwwLDAtOC40ODQuMDQ3TDYxLjkxOSw1MUg4YTUuNjkzLDUuNjkzLDAsMCwwLTYsNS42MjZWMjAzLjIzOEE1LjgsNS44LDAsMCwwLDgsMjA5SDIwOC4wNjJBNS43NDksNS43NDksMCwwLDAsMjE0LDIwMy4yMzhaTTE3NCwxMzEuOGwtNDIuMjMsMTkuNjg2TDgwLjM2NSwxMTYuNDQzYTYuMjQ1LDYuMjQ1LDAsMCwwLTcuMTMxLjE2M0w0MSwxNDAuNjg2Vjg3SDE3NFpNNDEsMTU1LjY4OWwzNi4wNjItMjYuOTExLDUwLjg4NSwzNC41NDJhNi4xNyw2LjE3LDAsMCwwLDMuNDI3LDEuMDM5LDUuMTY5LDUuMTY5LDAsMCwwLDIuMzMyLS41NTdMMTc0LDE0NS4wMjVWMTczSDQxWk0xNzguMTU1LDc1SDM3LjY4OUwyMy4yNDMsNjNIMTkyLjVaTTI5LDg0LjA5MVYxNzYuMkwxNCwxODkuOTI4VjcwLjQ3M1pNMzcuNywxODVIMTc4LjE0bDEzLjc2NywxMkgyMy44MzVaTTE4NiwxNzYuMjFWODQuMDc4bDE2LTEzLjlWMTkwLjIyNlpNMTA4LjAzLDIxLjg1OSwxMzcuMTcyLDUxSDc4Ljg4OVoiLz4KICAgICAgICA8cGF0aCBkPSJNMTI4LjM3NCwxMzMuMmEyMC4yMTQsMjAuMjE0LDAsMSwwLTIwLjIxNC0yMC4yMTRBMjAuMjM2LDIwLjIzNiwwLDAsMCwxMjguMzc0LDEzMy4yWm0wLTI4LjQyN2E4LjIxNCw4LjIxNCwwLDEsMS04LjIxNCw4LjIxM0E4LjIyMyw4LjIyMywwLDAsMSwxMjguMzc0LDEwNC43NjhaIi8+CiAgICAgICAgPHBhdGggZD0iTTM0OC43ODcsMzA4LjQ0YTIyLjA4NywyMi4wODcsMCwwLDAsMCwyMS42NjJsLTguNDc5LDguNDc5YTYsNiwwLDEsMCw4LjQ4NCw4LjQ4NWw4LjQ3OS04LjQ4YTIyLjA5LDIyLjA5LDAsMCwwLDIxLjY2MiwwbDguNDc4LDguNDc5YTYsNiwwLDAsMCw4LjQ4Ni04LjQ4NWwtOC40ODctOC40ODhhMjIuMjExLDIyLjIxMSwwLDAsMCwwLTIxLjY0NGw4LjQ4Ny04LjQ4OGE2LDYsMCwwLDAtOC40ODYtOC40ODVsLTguNDc4LDguNDc5YTIyLjA5MiwyMi4wOTIsMCwwLDAtMjEuNjYxLDBsLTguNDgtOC40NzlhNiw2LDAsMSwwLTguNDg0LDguNDg1Wm0xOS4zMTYuNjc4YTEwLjE1NiwxMC4xNTYsMCwxLDEtNy4xNzksMi45NzRBMTAuMDgzLDEwLjA4MywwLDAsMSwzNjguMSwzMDkuMTE4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMzguNzg3LDMwOC40NGEyMi4wODcsMjIuMDg3LDAsMCwwLDAsMjEuNjYybC04LjQ3OSw4LjQ3OWE2LDYsMCwxLDAsOC40ODQsOC40ODVsOC40NzktOC40OGEyMi4wOSwyMi4wOSwwLDAsMCwyMS42NjIsMGw4LjQ3OCw4LjQ3OWE2LDYsMCwwLDAsOC40ODYtOC40ODVsLTguNDg3LTguNDg4YTIyLjIxMSwyMi4yMTEsMCwwLDAsMC0yMS42NDRsOC40ODctOC40ODhhNiw2LDAsMCwwLTguNDg2LTguNDg1bC04LjQ3OCw4LjQ3OWEyMi4wOTIsMjIuMDkyLDAsMCwwLTIxLjY2MSwwbC04LjQ4LTguNDc5YTYsNiwwLDEsMC04LjQ4NCw4LjQ4NVptMTkuMzE2LjY3OGExMC4xNTYsMTAuMTU2LDAsMSwxLTcuMTc5LDIuOTc0QTEwLjA4MywxMC4wODMsMCwwLDEsMjU4LjEsMzA5LjExOFoiLz4KICAgICAgICA8cGF0aCBkPSJNMTI4Ljc4NywzMDguNDRhMjIuMDg3LDIyLjA4NywwLDAsMCwwLDIxLjY2MmwtOC40NzksOC40NzlhNiw2LDAsMSwwLDguNDg0LDguNDg1bDguNDc5LTguNDhhMjIuMDksMjIuMDksMCwwLDAsMjEuNjYyLDBsOC40NzgsOC40NzlhNiw2LDAsMCwwLDguNDg2LTguNDg1bC04LjQ4Ny04LjQ4OGEyMi4yMTEsMjIuMjExLDAsMCwwLDAtMjEuNjQ0bDguNDg3LTguNDg4YTYsNiwwLDAsMC04LjQ4Ni04LjQ4NWwtOC40NzgsOC40NzlhMjIuMDkyLDIyLjA5MiwwLDAsMC0yMS42NjEsMGwtOC40OC04LjQ3OWE2LDYsMCwxLDAtOC40ODQsOC40ODVabTE5LjMxNi42NzhhMTAuMTU2LDEwLjE1NiwwLDEsMS03LjE3OSwyLjk3NEExMC4wODMsMTAuMDgzLDAsMCwxLDE0OC4xLDMwOS4xMThaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=","Locker Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMjMgNGgtMTVjLTIuMjA5MTM5IDAtNCAxLjc5MDg2MS00IDR2MzRjMCAyLjIwOTEzOSAxLjc5MDg2MSA0IDQgNGg2Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC02Yy0xLjEwNDU2OTUgMC0yLS44OTU0MzA1LTItMnYtMzRjMC0xLjEwNDU2OTUuODk1NDMwNS0yIDItMmgxNWMxLjEwNDU2OTUgMCAyIC44OTU0MzA1IDIgMnYxMi4wNWMwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTEyLjA1YzAtMi4yMDkxMzktMS43OTA4NjEtNC00LTR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExIDEyaDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExIDE2aDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxIDE5YzAtLjU1MjI4NDctLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDFoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im05IDM1Yy0uNTUyMjg0NzUgMC0xIC40NDc3MTUzLTEgMXY1YzAgLjU1MjI4NDcuNDQ3NzE1MjUgMSAxIDFoM2MuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtMnYtNGMwLS41NTIyODQ3LS40NDc3MTUyNS0xLTEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNTIgMGgtMTVjLTIuOTEyMjE0Mi4wMDE4MDY5MS01LjU5MzQwMDggMS41ODYwMDUxOC03IDQuMTM2LTEuNDA2NTk5Mi0yLjU0OTk5NDgyLTQuMDg3Nzg1OC00LjEzNDE5MzA5LTctNC4xMzZoLTE1Yy00LjQxNjIyMTkyLjAwNDk1OTg4LTcuOTk1MDQwMTIgMy41ODM3NzgwOC04IDh2MzRjLjAwNDk1OTg4IDQuNDE2MjIxOSAzLjU4Mzc3ODA4IDcuOTk1MDQwMSA4IDhoNmMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtNmMtMy4zMTIzMzc1Ny0uMDAzMzA3NC01Ljk5NjY5MjYyLTIuNjg3NjYyNC02LTZ2LTM0Yy4wMDMzMDczOC0zLjMxMjMzNzU3IDIuNjg3NjYyNDMtNS45OTY2OTI2MiA2LTZoMTVjMy4zMTIzMzc2LjAwMzMwNzM4IDUuOTk2NjkyNiAyLjY4NzY2MjQzIDYgNnYxMmMwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTEyYy4wMDMzMDc0LTMuMzEyMzM3NTcgMi42ODc2NjI0LTUuOTk2NjkyNjIgNi02aDE1YzMuMzEyMzM3Ni4wMDMzMDczOCA1Ljk5NjY5MjYgMi42ODc2NjI0MyA2IDZ2MzRjLS4wMDMzMDc0IDMuMzEyMzM3Ni0yLjY4NzY2MjQgNS45OTY2OTI2LTYgNmgtNmMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMWg2YzQuNDE2MjIxOS0uMDA0OTU5OSA3Ljk5NTA0MDEtMy41ODM3NzgxIDgtOHYtMzRjLS4wMDQ5NTk5LTQuNDE2MjIxOTItMy41ODM3NzgxLTcuOTk1MDQwMTItOC04eiIvPgogICAgICAgIDxwYXRoIGQ9Im00NiA0Nmg2YzIuMjA5MTM5IDAgNC0xLjc5MDg2MSA0LTR2LTM0YzAtMi4yMDkxMzktMS43OTA4NjEtNC00LTRoLTE1Yy0yLjIwOTEzOSAwLTQgMS43OTA4NjEtNCA0djEyLjA1YzAgLjU1MjI4NDcuNDQ3NzE1MyAxIDEgMXMxLS40NDc3MTUzIDEtMXYtMTIuMDVjMC0xLjEwNDU2OTUuODk1NDMwNS0yIDItMmgxNWMxLjEwNDU2OTUgMCAyIC44OTU0MzA1IDIgMnYzNGMwIDEuMTA0NTY5NS0uODk1NDMwNSAyLTIgMmgtNmMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMTJoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMTZoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMjBoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDkgMjd2M2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTNjMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMXMtMSAuNDQ3NzE1My0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI3IDIzYy0zLjg2NDE2NTcuMDA0NDA4Ni02Ljk5NTU5MTQgMy4xMzU4MzQzLTcgN3Y2Yy0xLjY1Njg1NDIgMC0zIDEuMzQzMTQ1OC0zIDN2MThjMCAxLjY1Njg1NDIgMS4zNDMxNDU4IDMgMyAzaDIwYzEuNjU2ODU0MiAwIDMtMS4zNDMxNDU4IDMtM3YtMThjMC0xLjY1Njg1NDItMS4zNDMxNDU4LTMtMy0zdi02Yy0uMDA0NDA4Ni0zLjg2NDE2NTctMy4xMzU4MzQzLTYuOTk1NTkxNC03LTd6bTE0IDE2djE4YzAgLjU1MjI4NDctLjQ0NzcxNTMgMS0xIDFoLTIwYy0uNTUyMjg0NyAwLTEtLjQ0NzcxNTMtMS0xdi0xOGMwLS41NTIyODQ3LjQ0NzcxNTMtMSAxLTFoMjBjLjU1MjI4NDcgMCAxIC40NDc3MTUzIDEgMXptLTctM2gtOHYtNmMwLS41NTIyODQ3LjQ0NzcxNTMtMSAxLTFoNmMuNTUyMjg0NyAwIDEgLjQ0NzcxNTMgMSAxem00LTZ2NmgtMnYtNmMwLTEuNjU2ODU0Mi0xLjM0MzE0NTgtMy0zLTNoLTZjLTEuNjU2ODU0MiAwLTMgMS4zNDMxNDU4LTMgM3Y2aC0ydi02Yy4wMDMzMDYxLTIuNzYwMDUzMiAyLjIzOTk0NjgtNC45OTY2OTM5IDUtNWg2YzIuNzYwMDUzMi4wMDMzMDYxIDQuOTk2NjkzOSAyLjIzOTk0NjggNSA1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMS4yMTMgNDEuMTQ0Yy0xLjUwNDE3Mi0uMzY5MzcyNy0zLjA5NDY0MjYtLjAyNTYwNjgtNC4zMTIuOTMyLTEuMjE3ODgzNC45NjE4MTM0LTEuOTIwMTI3NSAyLjQzNDYwODktMS45MDA3NDAzIDMuOTg2MzY1Ny4wMTkzODcxIDEuNTUxNzU2OC43NTgyMDc2IDMuMDA2NTQ4MSAxLjk5OTc0MDMgMy45Mzc2MzQzdjNjMCAxLjY1Njg1NDIgMS4zNDMxNDU4IDMgMyAzczMtMS4zNDMxNDU4IDMtM3YtM2MxLjU0NDUxMDctMS4xNTY5NTQ0IDIuMjg1MzQ5Mi0zLjA5OTQ1NTcgMS45MDM1MTkxLTQuOTkxMDg1Mi0uMzgxODMwMS0xLjg5MTYyOTYtMS44MTgxNTg3LTMuMzk0NjY0My0zLjY5MDUxOTEtMy44NjE5MTQ4em0uNTg3IDcuMjU2Yy0uNDk3MTQ3OS4zNTc2MDY2LS43OTQyNDAxLjkzMDYyMzItLjggMS41NDN2My4wNTdjMCAuNTUyMjg0Ny0uNDQ3NzE1MyAxLTEgMXMtMS0uNDQ3NzE1My0xLTF2LTMuMDgxYy0uMDA1NzA4Mi0uNjAyMDUyMi0uMjk5NDI1OS0xLjE2NDk0OTItLjc5LTEuNTE0LTEuMDM1MDU1My0uNzcxNzg3Mi0xLjQ2MDIxNjQtMi4xMTkyNTA3LTEuMDU1NTM2NC0zLjM0NTMxMzFzMS41NDg0MjEtMi4wNTU2ODY3IDIuODM5NTM2NC0yLjA1OTY4NjljLjI1NTAzMDkuMDAwNTA4NS41MDkxMTQ0LjAzMTA1MjIuNzU3LjA5MSAxLjA1NTg2OC4yNjMyNDYxIDEuODgyOTA3IDEuMDgzMzc3MiAyLjE1NSAyLjEzNy4zMTMzNzQ2IDEuMTgzOTY5NS0uMTI0NDE2NSAyLjQzOTU1MTItMS4xMDYgMy4xNzJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Nursery:Bae,Office:Fae,Outdoors:Gae,Playroom:Hae,Pool:Vae,"Rear Wall":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2Nyw4LjUzM0gzODRjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3YxMTkuNDY3VjI1NnY1MS4yaC02OS43MzVjMC45NDgtMi42NzEsMS40NjgtNS41NDIsMS40NjgtOC41MzMKCQkJCWMwLTE0LjExNC0xMS40ODYtMjUuNi0yNS42LTI1LjZoLTE3LjA2N1YyNTZoODUuMzMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxMTAuOTMzYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzMKCQkJCUgxNjIuMTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTM2LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDg1LjMzM3YxNy4wNjdIMjMwLjQKCQkJCWMtMTQuMTE0LDAtMjUuNiwxMS40ODYtMjUuNiwyNS42YzAsMi45OTEsMC41MjEsNS44NjIsMS40NjgsOC41MzNoLTY5LjczNVYyNTZWMTM2LjUzM1YxNy4wNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzMwoJCQkJSDguNTMzQzMuODIzLDguNTMzLDAsMTIuMzQ4LDAsMTcuMDY3djExOS40NjdWMjU2djExOS40Njd2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDEyOGgyNTZoMTE5LjQ2NwoJCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YzNzUuNDY3VjI1NlYxMzYuNTMzVjE3LjA2N0M1MTIsMTIuMzQ4LDUwOC4xNzcsOC41MzMsNTAzLjQ2Nyw4LjUzM3ogTTE3MC42NjcsMTUzLjZoMTcwLjY2NwoJCQkJdjUxLjJIMTcwLjY2N1YxNTMuNnogTTM0MS4zMzMsMTE5LjQ2N3YxNy4wNjdIMTcwLjY2N3YtMTcuMDY3SDM0MS4zMzN6IE0xNzAuNjY3LDIyMS44NjdoMTcwLjY2N3YxNy4wNjdIMTcwLjY2N1YyMjEuODY3egoJCQkJIE0zNzUuNDY3LDQ4Ni40SDI2NC41MzN2LTkzLjg2N2g1MS4yaDU5LjczM1Y0ODYuNHogTTMwNy4yLDM3NS40NjdIMjA0LjhWMzU4LjRoMTAyLjRWMzc1LjQ2N3ogTTQ5NC45MzMsMjQ3LjQ2N2gtMTcuMDY3VjE3OS4yCgkJCQljMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM2gtMjUuNmgtMjUuNmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjY4LjI2N2gtMTcuMDY3di0xMDIuNGgxMDIuNFYyNDcuNDY3egoJCQkJIE00MjYuNjY3LDI0Ny40Njd2LTU5LjczM2g4LjUzM3Y1OS43MzNINDI2LjY2N3ogTTQ1Mi4yNjcsMTg3LjczM2g4LjUzM3Y1OS43MzNoLTguNTMzVjE4Ny43MzN6IE0zOTIuNTMzLDMxNS43MzN2LTUxLjJoMjUuNgoJCQkJaDI1LjZoMjUuNmgyNS42djEwMi40aC0xMDIuNFYzMTUuNzMzeiBNMzkyLjUzMywyNS42aDEwMi40VjEyOGgtMTAyLjRWMjUuNnogTTIyMS44NjcsMjk4LjY2N2MwLTQuNzEsMy44MzEtOC41MzMsOC41MzMtOC41MzMKCQkJCWg1MS4yYzQuNzAyLDAsOC41MzMsMy44MjMsOC41MzMsOC41MzNzLTMuODMxLDguNTMzLTguNTMzLDguNTMzaC01MS4yQzIyNS42OTgsMzA3LjIsMjIxLjg2NywzMDMuMzc3LDIyMS44NjcsMjk4LjY2N3oKCQkJCSBNMjMwLjQsMzI0LjI2N2g1MS4yaDkzLjg2N3Y1MS4yaC01MS4yVjM1OC40YzAtOS40MTItNy42NTQtMTcuMDY3LTE3LjA2Ny0xNy4wNjdIMjA0LjhjLTkuNDEyLDAtMTcuMDY3LDcuNjU0LTE3LjA2NywxNy4wNjcKCQkJCXYxNy4wNjdoLTUxLjJ2LTUxLjJIMjMwLjR6IE01MS4yLDMzMi44aDM0LjEzM3Y4LjUzM0g1MS4yVjMzMi44eiBNODUuMzMzLDMxNS43MzNINTEuMlYzMDcuMmgzNC4xMzNWMzE1LjczM3ogTTUxLjIsMzU4LjQKCQkJCWgzNC4xMzN2OC41MzNINTEuMlYzNTguNHogTTEwMi40LDM0OS44Njd2LTI1LjZ2LTI1LjZjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzCgkJCQl2MjUuNnYyNS42djE3LjA2N0gxNy4wNjd2LTEwMi40aDEwMi40djUxLjJ2NTEuMkgxMDIuNFYzNDkuODY3eiBNNTkuNzMzLDExMC45MzNINzYuOFYxMjhINTkuNzMzVjExMC45MzN6IE01MS4yLDE0NS4wNjdoMzQuMTMzCgkJCQloMzQuMTMzdjEwMi40aC0xMDIuNHYtMTAyLjRINTEuMnogTTE3LjA2NywyNS42aDEwMi40VjEyOGgtMjUuNnYtMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzMwoJCQkJYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTguNTMzSDUxLjJoLTguNTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1YxMjgKCQkJCWgtMjUuNlYyNS42eiBNMTcuMDY3LDM4NGgyNS42aDUxLjJoMjUuNnYxMDIuNGgtMTAyLjRWMzg0eiBNMTM2LjUzMywzOTIuNTMzaDU5LjczM2g1MS4yVjQ4Ni40SDEzNi41MzNWMzkyLjUzM3ogTTQ5NC45MzMsNDg2LjQKCQkJCWgtMTcuMDY3di02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjcKCQkJCWMwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjgxNC04LjUzMyw4LjUzM1Y0ODYuNGgtOC41MzN2LTY4LjI2N2MwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzCgkJCQlzLTguNTMzLDMuODE0LTguNTMzLDguNTMzVjQ4Ni40aC0xNy4wNjdWMzg0aDEwMi40VjQ4Ni40eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjEuODY3LDQwOS42SDIwNC44Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoOC41MzN2OC41MzMKCQkJCWMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM3YtMTcuMDY3QzIzMC40LDQxMy40MTQsMjI2LjU3Nyw0MDkuNiwyMjEuODY3LDQwOS42eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDcuMiw0MDkuNmgtMTcuMDY3Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDM1LjJjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgxNCw4LjUzMy04LjUzMwoJCQkJdi04LjUzM2g4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNTMzExLjkxLDQwOS42LDMwNy4yLDQwOS42eiIvPgogICAgPC9nPgo8L3N2Zz4K","Second Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBzdHJva2U9IiIgZD0iTTQ3Ny40NDQsNDcxLjAzNGgtMy44MzNjLTMuNjc5LTE0LjQzNS0xNS45MjYtMjUuMzU2LTMwLjg1OS0yNy4yNDFWMzA4LjU4N2gyLjEzOGM5LjkxNywwLDE3Ljk4NS04LjA2OCwxNy45ODUtMTcuOTg2CgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNAoJCQljMC0wLjAzMy0wLjAwNS0wLjA2NS0wLjAwNS0wLjA5OGMtMC4wMDEtMC4wOTgtMC4wMDktMC4xOTYtMC4wMTUtMC4yOTRjLTAuMDA5LTAuMTcxLTAuMDIxLTAuMzQyLTAuMDQyLTAuNTEKCQkJYy0wLjAxMS0wLjA4OS0wLjAyNi0wLjE3Ny0wLjA0MS0wLjI2NmMtMC4wMjktMC4xODMtMC4wNjUtMC4zNjQtMC4xMDgtMC41NDJjLTAuMDEtMC4wNC0wLjAxNC0wLjA4MS0wLjAyNC0wLjEyMUw0NDYuMTIzLDI1LjQyCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQKCQkJSDMzNS4zNzJMMjkyLjM0NywyOS43aDQ1Ljg2NmM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3YzAtNC4wMjUtMy4yNjItNy4yODctNy4yODctNy4yODdoLTU1LjU5NmwtMC45MjYtMS4zODcKCQkJQzI3NS45NDgsNS4xMzcsMjY2LjM0MiwwLDI1NS45OTcsMGMtMTAuMzQ1LDAtMTkuOTUsNS4xMzYtMjUuNjk0LDEzLjczOWwtMC45MjcsMS4zODhINzkuMTc4CgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyCgkJCWMtMC4wMTQsMC4wODktMC4wMywwLjE3Ny0wLjA0MSwwLjI2NmMtMC4wMjEsMC4xNjgtMC4wMzMsMC4zMzgtMC4wNDIsMC41MWMtMC4wMDUsMC4wOTgtMC4wMTQsMC4xOTYtMC4wMTUsMC4yOTQKCQkJYzAsMC4wMzMtMC4wMDUsMC4wNjUtMC4wMDUsMC4wOTh2MTQuOTA0YzAsNy4xOTcsNS44NTUsMTMuMDUyLDEzLjA1MiwxMy4wNTJoOS44MTV2MTQzLjIzM2gtMi4xMzgKCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3CgkJCXM3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtNDYuNjk2aDM0NC4zNjR2MTI5LjMxMWMtMC4wNTUtMC4wMzItMC4xMTMtMC4wNi0wLjE2OS0wLjA5MmMtMC43MTQtMC40MTUtMS40MzktMC44MS0yLjE3Ni0xLjE4MgoJCQljLTAuMTQ0LTAuMDczLTAuMjkxLTAuMTM5LTAuNDM1LTAuMjFjLTAuNjE0LTAuMzAyLTEuMjM1LTAuNTg4LTEuODYzLTAuODU5Yy0wLjIxMy0wLjA5Mi0wLjQyNS0wLjE4My0wLjYzOS0wLjI3MgoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2CgkJCWMtMC4yMTktMC4wNjItMC40NC0wLjExOC0wLjY2LTAuMTc2Yy0wLjY0Mi0wLjE2OS0xLjI4OS0wLjMyMy0xLjk0LTAuNDYyYy0wLjE4OC0wLjA0LTAuMzc1LTAuMDg1LTAuNTY0LTAuMTIzCgkJCWMtMC44MTItMC4xNjItMS42MjktMC4zLTIuNDUxLTAuNDE0Yy0wLjE3OC0wLjAyNS0wLjM1OC0wLjA0Mi0wLjUzNy0wLjA2NGMtMC42NzEtMC4wODQtMS4zNDUtMC4xNTItMi4wMjItMC4yMDQKCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUKCQkJYy0wLjg0Ni0wLjAyLTEuNjg0LDAuMDAxLTIuNTE2LDAuMDQ2Yy0wLjE5NSwwLjAxMS0wLjM4NywwLjAzNC0wLjU4MSwwLjA0OGMtMC42MzYsMC4wNDctMS4yNjgsMC4xMDctMS44OTQsMC4xOQoJCQljLTAuMjMsMC4wMzEtMC40NTgsMC4wNzEtMC42ODYsMC4xMDdjLTAuNTg2LDAuMDkyLTEuMTY4LDAuMTk3LTEuNzQ0LDAuMzIxYy0wLjIzNCwwLjA1LTAuNDY1LDAuMTA0LTAuNjk3LDAuMTU5CgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQKCQkJYy0wLjE3MSwwLjA2Ny0wLjM0NSwwLjEyNy0wLjUxNSwwLjE5N2MtMC43MDUsMC4yOS0xLjM5OSwwLjYwMi0yLjA3OSwwLjk0MWMtMC4wMjgsMC4wMTQtMC4wNTgsMC4wMjYtMC4wODYsMC4wNAoJCQljLTAuNzMzLDAuMzY5LTEuNDUsMC43NjYtMi4xNSwxLjE5Yy0wLjA2NiwwLjA0LTAuMTI5LDAuMDg2LTAuMTk1LDAuMTI3Yy0wLjYsMC4zNy0xLjE4NywwLjc1OS0xLjc2LDEuMTY5CgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQoJCQljLTAuMzkxLDAuMzQ1LTAuNzc0LDAuNjk4LTEuMTQ4LDEuMDYzYy0wLjIwMSwwLjE5Ni0wLjQwMSwwLjM5NC0wLjU5NywwLjU5NmMtMC4zNjUsMC4zNzYtMC43MTcsMC43NjMtMS4wNjQsMS4xNTgKCQkJYy0wLjE3OCwwLjIwMy0wLjM1OSwwLjQwNC0wLjUzMywwLjYxMmMtMC4zNjcsMC40NDEtMC43MTcsMC44OTctMS4wNiwxLjM1OWMtMC4xMzEsMC4xNzYtMC4yNjksMC4zNDYtMC4zOTYsMC41MjUKCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkKCQkJYy03LjEzNSwwLTEyLjkzOSw1LjgwNS0xMi45MzksMTIuOTM5djEyNC44NTNoLTYwLjYzOWMtMC4xODgtMC40NjktMC4zOTktMC45MjUtMC42MDUtMS4zODMKCQkJYy0wLjA4OC0wLjE5NC0wLjE2Ni0wLjM5NC0wLjI1Ni0wLjU4NmMtMC4zNTMtMC43NDktMC43MjgtMS40ODMtMS4xMjgtMi4yMDJjLTAuMDc1LTAuMTM1LTAuMTYtMC4yNjMtMC4yMzYtMC4zOTcKCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQKCQkJYy0wLjE4My0wLjI0NS0wLjM3Mi0wLjQ4NC0wLjU2Mi0wLjcyNGMtMC4zMi0wLjQwNS0wLjY0Ni0wLjgwMy0wLjk4Mi0xLjE5M2MtMC4yMDItMC4yMzQtMC40MDUtMC40NjctMC42MTItMC42OTUKCQkJYy0wLjM1Mi0wLjM4OC0wLjcxNC0wLjc2Ni0xLjA4MS0xLjEzOGMtMC4yMDUtMC4yMDctMC40MDctMC40MTctMC42MTYtMC42MmMtMC40MTktMC40MDUtMC44NTItMC43OTQtMS4yOS0xLjE3OAoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDEKCQkJYy0wLjU4OC0wLjQyNi0xLjE4OC0wLjgzNi0xLjgwMS0xLjIyNmMtMC4yMjUtMC4xNDQtMC40NTgtMC4yNzYtMC42ODYtMC40MTRjLTAuNDY3LTAuMjgzLTAuOTM4LTAuNTYyLTEuNDE4LTAuODI0CgkJCWMtMC4yNy0wLjE0OC0wLjU0NS0wLjI4Ny0wLjgxOS0wLjQyOGMtMC40NTYtMC4yMzQtMC45MTYtMC40NjEtMS4zODMtMC42NzZjLTAuMjktMC4xMzQtMC41ODEtMC4yNjQtMC44NzUtMC4zOTEKCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQKCQkJYy0wLjI1Ni0wLjA3Ny0wLjUwOC0wLjE2Mi0wLjc2Ni0wLjIzM2MtMC44LTAuMjIxLTEuNjA4LTAuNDIxLTIuNDI4LTAuNTg4Yy0wLjUyNy0wLjcxOC0xLjA3NC0xLjQxOC0xLjYzNy0yLjA5OQoJCQljLTAuMTkzLTAuMjMzLTAuMzk4LTAuNDUyLTAuNTk1LTAuNjgxYy0wLjM3OC0wLjQ0LTAuNzU0LTAuODgyLTEuMTQ3LTEuMzA2Yy0wLjI0Ni0wLjI2NS0wLjUwNS0wLjUxNC0wLjc1Ny0wLjc3MgoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQoJCQljLTAuMzAxLTAuMjU3LTAuNjE0LTAuNDk4LTAuOTIxLTAuNzQ3Yy0wLjM2OC0wLjI5OC0wLjczMi0wLjYtMS4xMDgtMC44ODZjLTAuMzIyLTAuMjQ0LTAuNjU0LTAuNDcyLTAuOTgxLTAuNzA3CgkJCWMtMC4zNzYtMC4yNy0wLjc0OS0wLjU0NC0xLjEzMy0wLjgwMWMtMC4zMzktMC4yMjctMC42ODctMC40MzktMS4wMzEtMC42NTdjLTAuMzg3LTAuMjQ1LTAuNzcxLTAuNDkzLTEuMTY0LTAuNzI1CgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQKCQkJYy0wLjQwNi0wLjE5NS0wLjgxMS0wLjM5My0xLjIyNC0wLjU3NmMtMC4zOC0wLjE2OS0wLjc2NS0wLjMyMy0xLjE1LTAuNDgyYy0wLjQxNy0wLjE3MS0wLjgzMi0wLjM0NC0xLjI1NS0wLjUwMwoJCQljLTAuMzg5LTAuMTQ3LTAuNzg0LTAuMjgtMS4xNzgtMC40MTZjLTAuNDI3LTAuMTQ3LTAuODU0LTAuMjk2LTEuMjg2LTAuNDNjLTAuMzk4LTAuMTI0LTAuODAxLTAuMjM2LTEuMjA0LTAuMzQ5CgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5CgkJCWMtMC40MTQtMC4wNzgtMC44MzEtMC4xNDUtMS4yNDgtMC4yMTJjLTAuNDUzLTAuMDcyLTAuOTA1LTAuMTQzLTEuMzYxLTAuMjAyYy0wLjQyLTAuMDU0LTAuODQyLTAuMDk4LTEuMjY0LTAuMTQxCgkJCWMtMC40Ni0wLjA0Ny0wLjkyMS0wLjA5LTEuMzg1LTAuMTIyYy0wLjQyNC0wLjAzLTAuODUtMC4wNTEtMS4yNzYtMC4wNjljLTAuMjY5LTAuMDEyLTAuNTM0LTAuMDM2LTAuODA0LTAuMDQzdi0yOS44NTEKCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyCgkJCWMtMTEuMjk0LDAtMjAuNDgzLDkuMTg5LTIwLjQ4MywyMC40ODNzOS4xODksMjAuNDgzLDIwLjQ4MywyMC40ODNoNDQyLjg5NGMxMS4yOTQsMCwyMC40ODMtOS4xODksMjAuNDgzLTIwLjQ4MwoJCQlDNDk3LjkyNyw0ODAuMjIzLDQ4OC43MzgsNDcxLjAzNCw0NzcuNDQ0LDQ3MS4wMzR6IE0yMzkuMzMzLDI2LjQ2YzAtMC4wMDEsMC4wMDEtMC4wMDEsMC4wMDEtMC4wMDFsMy4wODktNC42MjcKCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1MwoJCQljLTIuMzU4LTMuNTMxLTYuMy01LjYzOS0xMC41NDYtNS42MzljLTQuMjQ2LDAtOC4xODksMi4xMDgtMTAuNTQ2LDUuNjM5TDE5OS4zNDcsOTQuMTRoLTUuMjAybDguNzc4LTEzLjE0OEwyMzkuMzMzLDI2LjQ2egoJCQkgTTI5NS4xMjQsOTQuMTRIMjE2Ljg3bDM5LjEyNy01OC42MDRMMjk1LjEyNCw5NC4xNHogTTc5LjgxNiwyOS43aDEzOS44MzFMMjA5LjUxLDQ0Ljg4M0wxNzYuNjIyLDk0LjE0SDYzLjA4MUw3OS44MTYsMjkuN3oKCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQKCQkJYy0xLjg4MSwwLTMuNDEyLTEuNTMxLTMuNDEyLTMuNDEzYzAtMS44ODEsMS41My0zLjQxMiwzLjQxMi0zLjQxMkg0NDQuODljMS44ODEsMCwzLjQxMiwxLjUzMSwzLjQxMiwzLjQxMgoJCQljMCwxLjg4Mi0xLjUzLDMuNDEzLTMuNDEyLDMuNDEzSDY3LjEwNHogTTM2MC40MTYsNDcwLjg5M2MwLjMxNy0wLjE4NywwLjYzOC0wLjM2OCwwLjk2Ny0wLjUzNQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4CgkJCWMwLjI3Mi0wLjA5OCwwLjU0Ny0wLjE4NywwLjgyNC0wLjI3MWMwLjIwMS0wLjA2LDAuNDAyLTAuMTIxLDAuNjA1LTAuMTc0YzAuMjc2LTAuMDcyLDAuNTU2LTAuMTMyLDAuODM2LTAuMTkKCQkJYzAuMjA3LTAuMDQzLDAuNDExLTAuMDkxLDAuNjItMC4xMjZjMC4zNTYtMC4wNiwwLjcxOC0wLjEwMiwxLjA4MS0wLjEzOWMwLjE3Ni0wLjAxOCwwLjM1Mi0wLjAzOSwwLjUyOS0wLjA1MgoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYKCQkJYzAuNTcyLDAuMDY1LDEuMTQ2LDAuMTU1LDEuNzE5LDAuMjc5YzMuNTA5LDAuNzU2LDcuMDQ3LTEuMTU1LDguMzM3LTQuNTA3YzQuMDkyLTEwLjYzOSwxNC40OTYtMTcuNzg3LDI1Ljg5MS0xNy43ODcKCQkJYzcuOTUsMCwxNS41MzMsMy40MjgsMjAuODA2LDkuNDA2YzAuMjEsMC4yMzgsMC40MzMsMC40NiwwLjY2OSwwLjY2NmMwLjAxMywwLjAxMSwwLjAyOCwwLjAyLDAuMDQxLDAuMDMyCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxCgkJCUMzNjAuMjUsNDcwLjk4NSwzNjAuMzM0LDQ3MC45NDIsMzYwLjQxNiw0NzAuODkzeiBNMjkxLjAzOCwzNDcuODE1djEyMy4yMTloLTcwLjA4MlYzNDcuODE1SDI5MS4wMzh6IE03Ny43OTcsNDQ1LjM1MgoJCQljMC43NjctMC4xMjEsMS41MzYtMC4yMTUsMi4zMDUtMC4yNzljMC4wNjYtMC4wMDUsMC4xMzItMC4wMDksMC4xOTgtMC4wMTRjMC43ODQtMC4wNiwxLjU2Ny0wLjA5NiwyLjM0My0wLjA5NgoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNgoJCQljMC4xMTUsMC4wMiwwLjIzLDAuMDQxLDAuMzQ1LDAuMDYzYzAuNSwwLjA5NywwLjk5NSwwLjIwOCwxLjQ4MywwLjMzOGMwLjA2MywwLjAxNywwLjEyNSwwLjAzNywwLjE4OSwwLjA1NQoJCQljMC40NDQsMC4xMjMsMC44ODEsMC4yNjEsMS4zMTMsMC40MTFjMC4wOTksMC4wMzQsMC4xOTksMC4wNjcsMC4yOTgsMC4xMDNjMC40NjcsMC4xNjksMC45MjcsMC4zNTMsMS4zNzksMC41NTMKCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYKCQkJYzAuNDMxLDAuMjM2LDAuODUyLDAuNDg4LDEuMjY1LDAuNzUyYzAuMDk0LDAuMDYsMC4xODcsMC4xMjIsMC4yOCwwLjE4NGMwLjM4OCwwLjI1NywwLjc2OSwwLjUyMywxLjEzOSwwLjgwMwoJCQljMC4wMzIsMC4wMjQsMC4wNjYsMC4wNDcsMC4wOTgsMC4wNzJjMC4zOTIsMC4zLDAuNzcsMC42MTcsMS4xNDEsMC45NDNjMC4wODcsMC4wNzcsMC4xNzQsMC4xNTQsMC4yNiwwLjIzMgoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQoJCQljMC4wNzIsMC4wODYsMC4xNDUsMC4xNzIsMC4yMTYsMC4yNmMwLjA1MywwLjA2NiwwLjEwMSwwLjEzNiwwLjE1NCwwLjIwMkg1Mi4xODFDNTQuMjI5LDQ1Ny44NjgsNjQuNjQzLDQ0Ny40MzksNzcuNzk3LDQ0NS4zNTJ6CgkJCSBNNDc3LjQ0NCw0OTcuNDI3SDM0LjU1Yy0zLjI1OSwwLTUuOTEtMi42NTEtNS45MS01LjkxYzAtMy4yNTksMi42NTEtNS45MSw1LjkxLTUuOTFoNDQyLjg5NGMzLjI1OSwwLDUuOTEsMi42NTEsNS45MSw1LjkxCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4KICAgICAgICA8cGF0aCAgZD0iTTE4Ni4yMTMsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODgsNy4yODdoODYuNzljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5OS42NjgsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTVjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzMwNi45NTUsMjM0LjgzNSwzMDMuNjkzLDIzMS41NzIsMjk5LjY2OCwyMzEuNTcyeiBNMjgxLjc1OCwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQxMi41NzIsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM3OS0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0NgoJCQloLTMuMzM4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzQxOS44NTksMjM0LjgzNSw0MTYuNTk3LDIzMS41NzIsNDEyLjU3MiwyMzEuNTcyeiBNMzk0LjY2MSwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTE4Mi44MTMsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk1LDQuNTI5LTEwLjA5NSwxMC4wOTV2NjAuMDQ1CgkJCWgtMC41MjhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNSwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g3LjgxNGg1OS41MDRoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkwLjEsNDE3LjA5NSwxODYuODM4LDQxMy44MzMsMTgyLjgxMyw0MTMuODMzeiBNMTY3LjcxMiw0MTMuODMzaC00NC45MzF2LTU1LjU2N2g0NC45MzFWNDEzLjgzM3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiBkPSJNNDA0LjMxNCw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTYsNC41MjktMTAuMDk2LDEwLjA5NXY2MC4wNDUKCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0SDM5Ni41aDcuODE0YzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzQxMS42MDEsNDE3LjA5NSw0MDguMzM5LDQxMy44MzMsNDA0LjMxNCw0MTMuODMzeiBNMzg5LjIxMyw0MTMuODMzaC00NC45MzJ2LTU1LjU2N2g0NC45MzJWNDEzLjgzM3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiBkPSJNMjc2LjU0NSw0MDUuMDg5Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3djEyLjYzYzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODcKCQkJYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODd2LTEyLjYzQzI4My44MzIsNDA4LjM1MiwyODAuNTcsNDA1LjA4OSwyNzYuNTQ1LDQwNS4wODl6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Shed:Zae,"Sleeping Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDU2LDIyNGMtMTQuMTMzLDAtMjQsNi4zMDEtMjQsMTUuMzJ2MjcuNTA1QzQxOS4zMzMsMjQxLjc5MywzOTkuODUsMjI0LDM3NiwyMjRIMTUyYy00LjQxNy0wLjAwMS03Ljk5OSwzLjU3OS04LDcuOTk2CgkJCWMwLDAuMDAxLDAsMC4wMDMsMCwwLjAwNHY0OC4wNjdjMC4wNDUtMTMuMDUyLTUuMjAxLTI2LjA3NS0xNS41ODYtMzUuNTgzYy0xOS41NTItMTcuOTAyLTQ5LjkxNS0xNi41NjQtNjcuODE2LDIuOTg5CgkJCWMtMTYuNzY0LDE4LjMwOS0xNi44MDEsNDYuMzgtMC4wODYsNjQuNzM0Yy00LjYxMiwwLjUwOC04Ljk2OCwyLjM4LTEyLjUxMiw1LjM3NVYxMTUuMTk5QzQ4LDEwNC40MzQsMzcuNDYxLDk2LDI0LDk2CgkJCXMtMjQsOC40MzQtMjQsMTkuMTk5djM0NS42MDJDMCw0NzEuNTY2LDEwLjUzOSw0ODAsMjQsNDgwczI0LTguNDM0LDI0LTE5LjE5OVY0MDhoMzg0djU2LjY4YzAsOS4wMTksOS44NjcsMTUuMzIsMjQsMTUuMzIKCQkJczI0LTYuMzAxLDI0LTE1LjMyVjIzOS4zMkM0ODAsMjMwLjMwMSw0NzAuMTMzLDIyNCw0NTYsMjI0eiBNMzIsNDYwLjgwMWMtMC4wODYsMC42NTYtMi43NzMsMy4xOTktOCwzLjE5OQoJCQljLTUuMjUsMC03LjkyMi0yLjU0My04LTMuMTk5VjExNS4xOTljMC4wNzgtMC42NTYsMi43NS0zLjE5OSw4LTMuMTk5YzUuMjI3LDAsNy45MTQsMi41NDMsOCwzLjE5OVY0NjAuODAxeiBNMTYwLDI0MGgyMTYKCQkJYzMwLjE3MiwwLDUzLjE3Miw0NC45MjYsNTUuNzU4LDg4SDE2MFYyNDB6IE0xNDQsMjgwLjA4M3YzOC41NmMtMy40NTItMy4zNTMtNy44NDgtNS41NjYtMTIuNTk3LTYuMzQyCgkJCUMxMzkuNzkzLDMwMy4xMzcsMTQzLjk1NiwyOTEuNiwxNDQsMjgwLjA4M3ogTTk2LDI0OGMxNy42NzMsMCwzMiwxNC4zMjcsMzIsMzJjMCwxNy42NzMtMTQuMzI3LDMyLTMyLDMycy0zMi0xNC4zMjctMzItMzIKCQkJQzY0LjAxOSwyNjIuMzM1LDc4LjMzNSwyNDguMDE5LDk2LDI0OHogTTQzMiwzOTJINDh2LTQ4LjAyM2M0LjE2My0wLjMyOCw3LjM3NC0zLjgwMSw3LjM3NS03Ljk3NwoJCQljLTAuMDc3LTQuMzMxLDMuMzY0LTcuOTA5LDcuNjk1LThoNjQuNjFjNC4zMzEsMC4wOTEsNy43NzIsMy42NjksNy42OTUsOGMtMC4wMDEsNC40MTcsMy41NzksNy45OTksNy45OTYsOAoJCQljMC4wMDEsMCwwLjAwMywwLDAuMDA0LDBINDMyVjM5MnogTTQ2NCw0NjIuNTk0Yy01LjE2OSwxLjg3NS0xMC44MzEsMS44NzUtMTYsMFYyNDEuNDA2YzUuMTY5LTEuODc1LDEwLjgzMS0xLjg3NSwxNiwwVjQ2Mi41OTR6IgogICAgICAgIC8+CiAgICAgICAgPHBhdGggZD0iTTEzNy4wNzgsMTc2bDI5LjA3LTM0Ljg3OWMxLjk4Ni0yLjM4NiwyLjQxMy01LjcwNSwxLjA5NC04LjUxNmMtMS4zMTYtMi44MS00LjEzOS00LjYwNS03LjI0Mi00LjYwNWgtNDh2MTZoMzAuOTIyCgkJCWwtMjkuMDcsMzQuODc5Yy0yLjgyNywzLjM5OC0yLjM2NCw4LjQ0NCwxLjAzNCwxMS4yN2MxLjQzNywxLjE5NSwzLjI0NiwxLjg1LDUuMTE0LDEuODUxaDQ4di0xNkgxMzcuMDc4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjQuMzU5LDEzNmw0NS45NTMtNTkuMDljMS44NzctMi40MTEsMi4yMTctNS42ODEsMC44NzUtOC40MjZjLTEuMzQ0LTIuNzQzLTQuMTMyLTQuNDgzLTcuMTg4LTQuNDg0aC02NHYxNmg0Ny42NDEKCQkJbC00NS45NTMsNTkuMDljLTIuNzE0LDMuNDg0LTIuMDg5LDguNTA5LDEuMzk2LDExLjIyM2MxLjQwNSwxLjA5NCwzLjEzNiwxLjY4OCw0LjkxNywxLjY4OGg2NHYtMTZIMjI0LjM1OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzI4LDk2bDYyLjM5OC04My4xOTljMi42NTItMy41MzMsMS45MzktOC41NDYtMS41OTQtMTEuMTk5QzM4Ny40MTksMC41NjIsMzg1LjczMywwLDM4NCwwaC03MnYxNmg1NmwtNjIuMzk4LDgzLjE5OQoJCQljLTEuODE4LDIuNDI0LTIuMTEyLDUuNjY4LTAuNzU4LDguMzc5QzMwNi4yLDExMC4yODgsMzA4Ljk3LDExMiwzMTIsMTEyaDgwVjk2SDMyOHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Stairway:Xae,Stairwell:Kae,Storeroom:qae,"Summer House":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xNzMuODMyLDIyNS4yNjNoLTQzLjAzOWMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXY2MC4xMzRjMCw0LjE0MiwzLjM1Nyw3LjUsNy41LDcuNWg0My4wMzljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNQoJCQl2LTYwLjEzNEMxODEuMzMyLDIyOC42MjIsMTc3Ljk3NCwyMjUuMjYzLDE3My44MzIsMjI1LjI2M3ogTTE2Ni4zMzEsMjg1LjM5N2gtMjguMDM4di00NS4xMzNoMjguMDM4VjI4NS4zOTd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ1OS4xMjcsMjAxLjE5M2MzLjMxNCwyLjI3OCw4LjA5MSwxLjQ3MSwxMC40My0xLjkzMmMwLDAsMjMuMDA5LTMzLjQ2OSwyMy4wMjktMzMuNDk4CgkJCWMyLjMxNS0zLjM2OCwxLjQyOC04LjEyMS0xLjkzMi0xMC40MzFMMjcxLjc2Myw0Ljg2MWMtOS40MjktNi40OC0yMi4wOTctNi40ODEtMzEuNTI2LDBjMCwwLTEzOS43NjIsOTYuMDc3LTE0MC4yNzMsOTYuNDI4CgkJCWMtNy45MTEsNS40MzgsMC40MjksMTcuOTEsOC40OTcsMTIuMzYzbDE0MC4yNzQtOTYuNDI5YzQuMzQ3LTIuOTg3LDEwLjE4Ny0yLjk4NywxNC41MzEtMC4wMDFsMjEyLjcwOSwxNDYuMjI0bC0xNC41MzEsMjEuMTM3CgkJCWMwLDAtMjAxLjE0My0xMzguMjcyLTIwMS4xOTUtMTM4LjMwOGMtMi40OTUtMS43MTUtNS45OTktMS43MTgtOC40OTgtMC4wMDFMNTAuNTU3LDE4NC41ODNsLTE0LjUzLTIxLjEzNwoJCQljMCwwLDQ3LjExNy0zMi4zOSw0Ny4yODktMzIuNTA5YzcuODA3LTUuMzY2LTAuNDE2LTE3LjkxNy04LjQ5OC0xMi4zNjJjMCwwLTUzLjMwMSwzNi42NC01My40NzEsMzYuNzU3CgkJCWMtMy4zNzQsMi4zMi00LjI0MSw3LjA3MS0xLjkzMywxMC40MzFsMjEuNzA5LDMxLjU3OXYzMDcuMTU2YzAsNC4xNDIsMy4zNTgsNy41LDcuNSw3LjVIMjU2YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVWMzk1Ljk3MQoJCQlINDAyLjY0djEwOC41MjhjMCw0LjE0MiwzLjM1OCw3LjUsNy41MDEsNy41aDMwLjQ4OGM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41VjM5NS45NzFoMjMuNzY5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjV2LTMwLjQ4NwoJCQljMC00LjE0My0zLjM1OC03LjUtNy41LTcuNWgtMjMuNzY5di01Ny4yNTloMjMuNzY5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjV2LTMwLjQ4OGMwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC0yMy43Njl2LTU0LjEwMwoJCQlMNDU5LjEyNywyMDEuMTkzeiBNNDE3LjY0MSwxODYuODc2aDE1LjQ4N3Y2MC44NThoLTE1LjQ4N1YxODYuODc2eiBNMjU2LDYxLjU1NmwzOS4wNzUsMjYuODYxaC03OC4xNDlMMjU2LDYxLjU1NnoKCQkJIE01Ni4xMjUsMjcwLjMzMmgzOC4zOTl2NTMuMDU1YzAsNC4xNDEsMy4zNTgsNy41LDcuNSw3LjVIMjAyLjZjNC4xNDIsMCw3LjUwMS0zLjM1OCw3LjUwMS03LjV2LTUzLjA1NWgzOC4zOTh2NjguNDU2SDU2LjEyNQoJCQlWMjcwLjMzMnogTTEwOS41MjUsMzE1Ljg4NlYyMDkuNzc3aDg1LjU3NXYxMDYuMTA5SDEwOS41MjV6IE05NC41MjQsNDk2Ljk5OEg1Ni4xMjV2LTU5Ljc1NGgzOC4zOTlWNDk2Ljk5OHogTTE2Ni4zMzEsNDk2Ljk5NwoJCQloLTI4LjAzOHYtODUuNzgzaDI4LjAzOFY0OTYuOTk3eiBNMTk1LjA5OSw0OTYuOTk3aC0xMy43Njd2LTkzLjI4M2MwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC00My4wMzkKCQkJYy00LjE0MiwwLTcuNTAxLDMuMzU4LTcuNTAxLDcuNXY5My4yODNoLTEzLjc2OFYzODAuNzI3aDg1LjU3NVY0OTYuOTk3eiBNMjQ4LjQ5OSw0OTYuOTk4SDIxMC4xdi01OS43NTRoMzguMzk4VjQ5Ni45OTh6CgkJCSBNMjQ4LjUsNDIyLjI0NGgtMzguMzk5di00OS4wMThjLTAuMDAxLTQuMTQyLTMuMzU5LTcuNS03LjUwMi03LjVIMTAyLjAyNGMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNTAxdjQ5LjAxOEg1Ni4xMjV2LTY4LjQ1NgoJCQlIMjQ4LjVWNDIyLjI0NHogTTI0OC41LDI1NS4yMjVjMCwwLjAwMywwLDAuMDA2LDAsMC4wMXYwLjA5NmgtMzguMzk5di01My4wNTVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNUgxMDIuMDI0CgkJCWMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXY1My4wNTVINTYuMTI1di01Ni4zNzNsMTcuNjYzLTEyLjE0M2MwLjI5NywwLjAzNiwwLjU5NywwLjA2LDAuOTA0LDAuMDZIMjQ4LjVWMjU1LjIyNXoKCQkJIE05NS41MjMsMTcxLjg3NWw5OS41ODEtNjguNDU2aDEyMS43OTNsOTkuNTgxLDY4LjQ1NmgtNi4zMzZIOTUuNTIzeiBNNDAyLjY0LDE4Ni44NzZ2NjAuODU4SDI2My41MDF2LTYwLjg1OEg0MDIuNjR6CgkJCSBNMjYzLjUwMSwyOTMuMjIzaDE1LjQ4NnY1Ny4yNTloLTE1LjQ4NlYyOTMuMjIzeiBNNDMzLjEyOCw0OTYuOTk4aC0xNS40ODdWMzk1Ljk3MWgxNS40ODdWNDk2Ljk5OHogTTQ2NC4zOTcsMzY1LjQ4NHYxNS40ODYKCQkJSDI2My41MDF2LTE1LjQ4Nkg0NjQuMzk3eiBNMjkzLjk4OCwzNTAuNDgydi01Ny4yNTloMTUuNDg3djU3LjI1OUgyOTMuOTg4eiBNMzI0LjQ3NiwzNTAuNDgydi01Ny4yNTloMTYuMzM3djU3LjI1OUgzMjQuNDc2egoJCQkgTTM1NS44MTQsMzUwLjQ4MnYtNTcuMjU5aDE1LjQ4N3Y1Ny4yNTlIMzU1LjgxNHogTTM4Ni4zMDIsMzUwLjQ4MnYtNTcuMjU5aDE2LjMzN3Y1Ny4yNTlIMzg2LjMwMnogTTQxNy42NDEsMzUwLjQ4MnYtNTcuMjU5CgkJCWgxNS40ODd2NTcuMjU5SDQxNy42NDF6IE00NjQuMzk3LDI2Mi43MzV2MTUuNDg3SDI2My41MDF2LTE1LjQ4N0g0NjQuMzk3eiIvPgogICAgPC9nPgo8L3N2Zz4K","Swimming Pool":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Ny43MzMgMTg3LjczMyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xODcuNTk5LDE1MS40NThMMTUzLjQ2NSwzMy4xODZjLTAuNDIyLTEuNDYxLTEuNzU4LTIuNDY2LTMuMjc5LTIuNDY2SDM3LjU0N2MtMS41MjEsMC0yLjg1NywxLjAwNS0zLjI3OSwyLjQ2NgoJCQlMMC4xMzUsMTUxLjQ1OEMwLjA0NCwxNTEuNzY1LDAsMTUyLjA4NSwwLDE1Mi40MDV2MjUuMDg4YzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNIMTg0LjMyCgkJCWMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzdi0yNS4wODhDMTg3LjczMywxNTIuMDg1LDE4Ny42ODcsMTUxLjc2NSwxODcuNTk5LDE1MS40NTh6IE0xODAuOTA3LDE3NC4wOEg2LjgyN3YtMjEuMTkyCgkJCUw0MC4xMTUsMzcuNTQ3SDE0Ny42MmwzMy4yODcsMTE1LjM0MlYxNzQuMDh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTc4LjUwNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNzMy40MTMtMS41MjksMy40MTMtMy40MTN2LTUxLjIKCQkJQzgxLjkyLDguMzU2LDgwLjM5MSw2LjgyNyw3OC41MDcsNi44Mjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsNi44MjdjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTN2NTEuMmMwLDEuODg0LDEuNTI5LDMuNDEzLDMuNDEzLDMuNDEzYzEuODg0LDAsMy40MTMtMS41MjksMy40MTMtMy40MTMKCQkJdi01MS4yQzExMi42NCw4LjM1NiwxMTEuMTExLDYuODI3LDEwOS4yMjcsNi44Mjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsMTcuMDY3aC0zMC43MmMtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3MxLjUyOSwzLjQxMywzLjQxMywzLjQxM2gzMC43MmMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzCgkJCVMxMTEuMTExLDE3LjA2NywxMDkuMjI3LDE3LjA2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNywzMC43MmgtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMwoJCQlTMTExLjExMSwzMC43MiwxMDkuMjI3LDMwLjcyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDkuMjI3LDQ0LjM3M2gtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMwoJCQlTMTExLjExMSw0NC4zNzMsMTA5LjIyNyw0NC4zNzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE2My43ODksMTQ2LjE3OWwtMTcuNTE2LTk4Ljk4N2MtMC4yODgtMS42My0xLjcwNS0yLjgxOC0zLjM2LTIuODE4SDQ4LjMyOGMtMS42MTMsMC0zLjAwNSwxLjEyNi0zLjM0LDIuNzAzCgkJCWwtMjEuMDE5LDk4Ljk4N2MtMC4yMTMsMS4wMDcsMC4wMzgsMi4wNTcsMC42ODYsMi44NTdjMC42NDksMC44LDEuNjIxLDEuMjY1LDIuNjUyLDEuMjY1aDEzMy4xMmMxLjAwOSwwLDEuOTY2LTAuNDQ3LDIuNjE2LTEuMjE5CgkJCUMxNjMuNjkxLDE0OC4xOTUsMTYzLjk2NSwxNDcuMTc0LDE2My43ODksMTQ2LjE3OXogTTMxLjUyLDE0My4zNkw1MS4wODksNTEuMmg4OC45NThsMTYuMzA5LDkyLjE2SDMxLjUyeiIvPgogICAgPC9nPgo8L3N2Zz4K",Terrace:ece,Toilet:tce,Upstairs:sce,Wardrobe:ice,Washroom:oce,Wc:rce,Windscreen:Mce,Workshop:nce,Workspace:ace},uce=[{_id:"hood",name:{en:"Hood",ru:"Вытяжка",de:"Abzugshaube",fr:"Capot",it:"Cappe",nl:"Hood",pl:"Okapy",pt:"Hood",es:"Campana","zh-cn":"抽油烟机"},icon:"Hoods.svg"},{_id:"alarm_system",name:{en:"Alarm System",ru:"Сигнализация",de:"Alarmanlage",fr:"Systèmes D'Alarme",it:"Sistemi Di Allarme",nl:"Alarm Systems",pl:"Systemy Alarmowe",pt:"Sistemas De Alarme",es:"Sistemas De Alarma","zh-cn":"报警系统"},icon:"Alarm Systems.svg"},{_id:"battery_status",name:{en:"Battery Status",ru:"Заряд батареи",de:"Batteriestatus",fr:"État De La Batterie",it:"Stato Della Batteria",nl:"Batterij Status",pl:"Stan Baterii",pt:"Estado Da Bateria",es:"Estado De La Batería","zh-cn":"电池状态"},icon:"Battery Status.svg"},{_id:"lighting",name:{en:"Lighting",ru:"Светильник",de:"Beleuchtung",fr:"Éclairages",it:"Illuminazione",nl:"Verlichting",pl:"Oprawy Oświetleniowe",pt:"Iluminações",es:"Iluminaciones","zh-cn":"照明"},icon:"Lightings.svg"},{_id:"shading",name:{en:"Shading",ru:"Затенение",de:"Beschattungen",fr:"Ombres",it:"Ombreggiatura",nl:"Shading",pl:"Zacienienie",pt:"Shading",es:"Sombreado","zh-cn":"底纹"},icon:"Shading.svg"},{_id:"irrigation",name:{en:"Irrigation",ru:"Орошение",de:"Bewässerung",fr:"Irrigation",it:"Irrigazione",nl:"Irrigatie",pl:"Nawadnianie",pt:"Irrigação",es:"Irrigación","zh-cn":"灌溉"},icon:"Irrigation.svg"},{_id:"iron",name:{en:"Iron",ru:"Утюг",de:"Bügeleisen",fr:"Le Fer",it:"Ferro",nl:"Ijzer",pl:"Żelazo",pt:"Ferro",es:"Hierro","zh-cn":"铁"},icon:"Iron.svg"},{_id:"computer",name:{en:"Computer",ru:"Компьютер",de:"Rechner",fr:"L'Ordinateur",it:"Computer",nl:"Computer",pl:"Komputer",pt:"Computador",es:"Ordenador","zh-cn":"电脑"},icon:"Computer.svg"},{_id:"ceiling_spotlight",name:{en:"Ceiling Spotlight",ru:"Потолочный прожектор",de:"Deckenspot",fr:"Plafond Spotlight",it:"Faretti A Soffitto",nl:"Plafond Spotlight",pl:"Reflektory Sufitowe",pt:"Tecto Foco",es:"Focos De Techo","zh-cn":"天花射灯"},icon:"Ceiling Spotlights.svg"},{_id:"printer",name:{en:"Printer",de:"Drucker",ru:"Принтер",pt:"Impressora",nl:"Printer",fr:"Imprimante",it:"Stampante",es:"Impresora",pl:"Drukarka","zh-cn":"打印机"},icon:"Printer.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"window",name:{en:"Window",ru:"Окно",de:"Fenster",fr:"La Fenêtre",it:"Finestra",nl:"Venster",pl:"Okno",pt:"Janela",es:"Ventana","zh-cn":"窗户"},icon:"Window.svg"},{_id:"garage_door",name:{en:"Garage Door",ru:"Гаражные Ворота",de:"Garagentor",fr:"Portes De Garage",it:"Garage Door",nl:"Garage Door",pl:"Bramy Garażowe",pt:"Portas De Garagem",es:"Las Puertas De Garaje","zh-cn":"车库门"},icon:"Garage Doors.svg"},{_id:"hairdryer",name:{en:"Hairdryer",ru:"Фен",de:"Haartrockner",fr:"Sèche-Cheveux",it:"Asciugacapelli",nl:"Haardroger",pl:"Suszarka Do Włosów",pt:"Secador De Cabelo",es:"Secador De Pelo","zh-cn":"电吹风"},icon:"Hairdryer.svg"},{_id:"hanging_lamp",name:{en:"Hanging Lamp",ru:"Подвесной светильник",de:"Hängelampe",fr:"Lampes Suspendues",it:"Lampade A Sospensione",nl:"Opknoping Lampen",pl:"Lampy Wiszące",pt:"Lâmpadas De Suspensão",es:"Lámparas Colgantes","zh-cn":"挂灯"},icon:"Hanging Lamps.svg"},{_id:"doorstep",name:{en:"Enterance",ru:"Входная дверь",de:"Haustür",fr:"Seuil De Porte",it:"Gradino Della Porta",nl:"Drempel",pl:"Próg",pt:"Porta",es:"Peldaño","zh-cn":"门阶"},icon:"Doorstep.svg"},{_id:"hot_water",name:{en:"Hot Water",ru:"Горячая вода",de:"Heißwasser",fr:"Eau Chaude",it:"Acqua Calda",nl:"Heet Water",pl:"Gorąca Woda",pt:"Água Quente",es:"Agua Caliente","zh-cn":"热水"},icon:"Hot Water.svg"},{_id:"heating",name:{en:"Heating",ru:"Отопление",de:"Heizung",fr:"Chauffe-Eau",it:"Riscaldatore",nl:"Verwarmer",pl:"Podgrzewacz",pt:"Aquecedor",es:"Calentador","zh-cn":"加热器"},icon:"Heater.svg"},{_id:"stove",name:{en:"Stove",ru:"Печь",de:"Herd",fr:"Le Fourneau",it:"Stufa",nl:"Fornuis",pl:"Kuchenka",pt:"Forno",es:"Cocina","zh-cn":"火炉"},icon:"Stove.svg"},{_id:"louvre",name:{en:"Louvre",ru:"Жалюзи",de:"Jalousie",fr:"Persienne",it:"Persiana Di Ventilazione",nl:"Louvre",pl:"Żaluzja",pt:"Trapeira",es:"Lumbrera","zh-cn":"卢浮宫"},icon:"Louvre.svg"},{_id:"coffee_maker",name:{en:"Coffee Maker",ru:"Кофеварка",de:"Kaffemaschine",fr:"Cafetière",it:"Macchine Da Caffè",nl:"Koffie Maker",pl:"Ekspresy Do Kawy",pt:"Cafeteira",es:"Cafetera","zh-cn":"咖啡壶"},icon:"Coffee Makers.svg"},{_id:"cold_water",name:{en:"Cold Water",ru:"Холодная вода",de:"Kaltwasser",fr:"Eau Froide",it:"Acqua Fredda",nl:"Koud Water",pl:"Zimna Woda",pt:"Água Fria",es:"Agua Fría","zh-cn":"冷水"},icon:"Cold Water.svg"},{_id:"climate",name:{en:"Climate",ru:"Климат",de:"Klima",fr:"Climat",it:"Clima",nl:"Klimaat",pl:"Klimat",pt:"Clima",es:"Clima","zh-cn":"气候"},icon:"Climate.svg"},{_id:"speaker",name:{en:"Speaker",ru:"Звуковая система",de:"Lautsprecher",fr:"Orateur",it:"Altoparlante",nl:"Spreker",pl:"Głośnik",pt:"Palestrante",es:"Altavoz","zh-cn":"扬声器"},icon:"Speaker.svg"},{_id:"led_strip",name:{en:"Led Strip",ru:"Светодиодная лента",de:"LED Leiste",fr:"Led Strip",it:"Led Strip",nl:"Loden Strip",pl:"Pasek Ledowy",pt:"Led Faixa",es:"Tira Llevada","zh-cn":"灯带"},icon:"Led Strip.svg"},{_id:"light",name:{en:"Light",ru:"Свет",de:"Licht",fr:"Lumière",it:"Leggero",nl:"Licht",pl:"Lekki",pt:"Luz",es:"Luz","zh-cn":"光"},icon:"Light.svg"},{_id:"fan",name:{en:"Fan",ru:"Вентилятор",de:"Lüfter",fr:"Ventilateur",it:"Fan",nl:"Ventilator",pl:"Wentylator",pt:"Ventilador",es:"Ventilador","zh-cn":"扇子"},icon:"Fan.svg"},{_id:"humidity",name:{en:"Humidity",ru:"Влажность",de:"Luftfeuchtigkeit",fr:"Humidité",it:"Umidità",nl:"Vochtigheid",pl:"Wilgotność",pt:"Umidade",es:"Humedad","zh-cn":"湿度"},icon:"Humidity.svg"},{_id:"ventilation",name:{en:"Ventilation",ru:"Вентиляция",de:"Lüftung",fr:"Ventilation",it:"Ventilazione",nl:"Ventilatie",pl:"Wentylacja",pt:"Ventilação",es:"Ventilación","zh-cn":"通风"},icon:"Ventilation.svg"},{_id:"chandelier",name:{en:"Chandelier",ru:"Люстра",de:"Kronleuchter",fr:"Lustre",it:"Lampadario",nl:"Kroonluchter",pl:"Żyrandol",pt:"Lustre",es:"Candelabro","zh-cn":"枝形吊灯"},icon:"Chandelier.svg"},{_id:"awning",name:{en:"Awning",ru:"Маркиза",de:"Markise",fr:"Auvents",it:"Tende",nl:"Luifels",pl:"Okrycia",pt:"Toldos",es:"Toldos","zh-cn":"遮阳篷"},icon:"Awnings.svg"},{_id:"music",name:{en:"Music",ru:"Музыка",de:"Musik",fr:"Musique",it:"Musica",nl:"Muziek",pl:"Muzyka",pt:"Música",es:"Música","zh-cn":"音乐"},icon:"Music.svg"},{_id:"people",name:{en:"People",ru:"Люди",de:"Personen",fr:"Gens",it:"Persone",nl:"Mensen",pl:"Ludzie",pt:"Pessoas",es:"Personas","zh-cn":"人们"},icon:"People.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"pump",name:{en:"Pump",ru:"Насос",de:"Pumpe",fr:"Pompe",it:"Pompa",nl:"Pomp",pl:"Pompa",pt:"Bombear",es:"Bomba","zh-cn":"泵"},icon:"Pump.svg"},{_id:"outdoor_blinds",name:{en:"Outdoor Blinds",ru:"Внещгте жалюзи",de:"Raffstore",fr:"Volets",it:"Tende Da Esterni",nl:"Outdoor Blinds",pl:"Rolety Zewnętrzne",pt:"Estores Exteriores",es:"Persianas Exteriores","zh-cn":"室外百叶窗"},icon:"Outdoor Blinds.svg"},{_id:"mowing_machine",name:{en:"Mowing Machine",ru:"Газонокосилка",de:"Rasenmäher",fr:"Machine De Fauchage",it:"Macchina Di Falciatura",nl:"Maaimachine",pl:"Kosiarka",pt:"Roçada Máquina",es:"Segadora","zh-cn":"割草机"},icon:"Mowing Machine.svg"},{_id:"receiver",name:{en:"Receiver",ru:"Приставка",de:"Receiver",fr:"Destinataire",it:"Ricevitore",nl:"Ontvanger",pl:"Odbiorca",pt:"Recebedor",es:"Receptor","zh-cn":"接收者"},icon:"Receiver.svg"},{_id:"shutters",name:{en:"Shutters",ru:"Ставни",de:"Rollladen",fr:"Volets",it:"Persiane",nl:"Shutters",pl:"Żaluzje",pt:"Persianas",es:"Persianas","zh-cn":"百叶窗"},icon:"Shutters.svg"},{_id:"smoke_detector",name:{en:"Smoke detector",de:"Rauchmelder",ru:"Детектор дыма",pt:"Detector de fumaça",nl:"Rookdetector",fr:"Détecteur de fumée",it:"Rilevatore di fumo",es:"Detector de humo",pl:"Wykrywacz dymu","zh-cn":"烟雾探测器"},icon:"SmokeDetector.svg"},{_id:"lock",name:{en:"Lock",ru:"Замок",de:"Schloß",fr:"Fermer À Clé",it:"Serratura",nl:"Slot",pl:"Zamek",pt:"Trancar",es:"Cerrar Con Llave","zh-cn":"锁"},icon:"Lock.svg"},{_id:"security",name:{en:"Security",ru:"Безопасность",de:"Sicherheit",fr:"Sécurité",it:"Sicurezza",nl:"Veiligheid",pl:"Bezpieczeństwo",pt:"Segurança",es:"Seguridad","zh-cn":"安全"},icon:"Security.svg"},{_id:"dishwasher",name:{en:"Dishwasher",ru:"Посудомоечная машина",de:"Spülmaschine",fr:"Lave-Vaisselles",it:"Lavastoviglie",nl:"Vaatwassers",pl:"Zmywarki",pt:"Máquinas De Lavar Louça",es:"Lavaplatos","zh-cn":"洗碗机"},icon:"Dishwashers.svg"},{_id:"vacuum_cleaner",name:{en:"Vacuum Cleaner",ru:"Пылесос",de:"Staubsauger",fr:"Aspirateur",it:"Aspirapolvere",nl:"Stofzuiger",pl:"Odkurzacz",pt:"Aspirador De Pó",es:"Aspiradora","zh-cn":"吸尘器"},icon:"Vacuum Cleaner.svg"},{_id:"socket",name:{en:"Socket",ru:"Розетка",de:"Steckdose",fr:"Prise",it:"Socket",nl:"Socket",pl:"Gniazdka",pt:"Tomada",es:"Zócalo","zh-cn":"套接字"},icon:"Sockets.svg"},{_id:"floor_lamp",name:{en:"Floor Lamp",ru:"Торшер",de:"Stehlampe",fr:"Lampes Pour Plancher",it:"Lampade A Stelo",nl:"Vloerlampen",pl:"Lampy Podłogowe",pt:"Lâmpadas Chão",es:"Lámparas De Pie","zh-cn":"落地灯"},icon:"Floor Lamps.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"temperature_sensor",name:{en:"Temperature Sensor",ru:"Температурный датчик",de:"Temperatur-Sensor",fr:"Capteur De Température",it:"Sensori Di Temperatura",nl:"Temperatuursensor",pl:"Czujniki Temperatury",pt:"Sensores De Temperatura",es:"Sensores De Temperatura","zh-cn":"温度传感器"},icon:"Temperature Sensors.svg"},{_id:"table_lamp",name:{en:"Table Lamp",ru:"Настольная лампа",de:"Tischlampe",fr:"Lampe De Chevet",it:"Lampade Da Tavolo",nl:"Tafellampen",pl:"Lampy Stołowe",pt:"Lâmpadas De Mesa",es:"Lámparas De Mesa","zh-cn":"台灯"},icon:"Table Lamps.svg"},{_id:"gate",name:{en:"Gate",ru:"Ворота",de:"Tor",fr:"Porte",it:"Gate",nl:"Gate",pl:"Bramy",pt:"Portões",es:"Puertas","zh-cn":"盖茨"},icon:"Gates.svg"},{_id:"dryer",name:{en:"Dryer",ru:"Сушилка",de:"Trockner",fr:"Séchoir",it:"Asciugatrice",nl:"Droger",pl:"Suszarka",pt:"Secador",es:"Secadora","zh-cn":"烘干机"},icon:"Dryer.svg"},{_id:"door",name:{en:"Door",ru:"Дверь",de:"Tür",fr:"Des Portes",it:"Porte",nl:"Deuren",pl:"Drzwi",pt:"Portas",es:"Puertas","zh-cn":"门"},icon:"Doors.svg"},{_id:"tv",name:{en:"Tv",ru:"Телевизор",de:"TV",fr:"La Télé",it:"Tv",nl:"Tv",pl:"Telewizja",pt:"Televisão",es:"Televisor","zh-cn":"电视"},icon:"Tv.svg"},{_id:"consumption",name:{en:"Consumption",ru:"Потребление",de:"Verbrauch",fr:"Consommation",it:"Consumo",nl:"Consumptie",pl:"Konsumpcja",pt:"Consumo",es:"Consumo","zh-cn":"消费"},icon:"Consumption.svg"},{_id:"amplifier",name:{en:"Amplifier",ru:"Усилитель звука",de:"Verstärker",fr:"Amplificateur",it:"Amplificatore",nl:"Versterker",pl:"Wzmacniacz",pt:"Amplificador",es:"Amplificador","zh-cn":"放大器"},icon:"Amplifier.svg"},{_id:"curtains",name:{en:"Curtains",ru:"Шторы",de:"Vorhänge",fr:"Des Rideaux",it:"Le Tende",nl:"Gordijnen",pl:"Zasłony",pt:"Cortinas",es:"Cortinas","zh-cn":"窗帘"},icon:"Curtains.svg"},{_id:"sconce",name:{en:"Sconce",ru:"Настенный светильник",de:"Wandlampe",fr:"Sconce",it:"Sconce",nl:"Sconce",pl:"Kinkiety",pt:"Arandelas",es:"Los Apliques","zh-cn":"壁灯"},icon:"Sconces.svg"},{_id:"washing_machine",name:{en:"Washing Machine",ru:"Стиральная машина",de:"Waschmaschine",fr:"Machines À Laver",it:"Lavatrici",nl:"Wasmachines",pl:"Pralki",pt:"Máquinas De Lavar Roupas",es:"Lavadoras","zh-cn":"洗衣机"},icon:"Washing Machines.svg"},{_id:"water",name:{en:"Water",ru:"Вода",de:"Wasser",fr:"L'Eau",it:"Acqua",nl:"Water",pl:"Woda",pt:"Água",es:"Agua","zh-cn":"水"},icon:"Water.svg"},{_id:"water_heater",name:{en:"Water Heater",ru:"Нагреватель воды",de:"Wasserkocher",fr:"Chauffe-Eau",it:"Scaldabagno",nl:"Waterkoker",pl:"Podgrzewacz Wody",pt:"Aquecedor De Água",es:"Calentador De Agua","zh-cn":"热水器"},icon:"Water Heater.svg"},{_id:"water_consumption",name:{en:"Water Consumption",ru:"Потребление воды",de:"Wasserverbrauch",fr:"Consommation D'Eau",it:"Consumo D'Acqua",nl:"Waterverbruik",pl:"Konsumpcja Wody",pt:"Consumo De Água",es:"Consumo De Agua","zh-cn":"耗水量"},icon:"Water Consumption.svg"},{_id:"weather",name:{en:"Weather",ru:"Погода",de:"Wetter",fr:"La Météo",it:"Tempo Metereologico",nl:"Weer",pl:"Pogoda",pt:"Clima",es:"Tiempo","zh-cn":"天气"},icon:"Weather.svg"}],Nce=[{_id:"storeroom",name:{en:"Storeroom",ru:"Кладовая",de:"Abstellraum",fr:"Débarras",it:"Dispensa",nl:"Bergplaats",pl:"Magazyn",pt:"Despensa",es:"Trastero","zh-cn":"库房"},icon:"Storeroom.svg"},{_id:"second_floor",name:{en:"Second floor",ru:"Второй этаж",de:"Erster OG",pt:"Primeiro andar",nl:"Eerste verdieping",fr:"Premier étage",it:"Primo piano",es:"Primer piso",pl:"Pierwsze piętro","zh-cn":"第一层"},icon:"Second Floor.svg"},{_id:"dressing_room",name:{en:"Dressing Room",ru:"Гардеробная",de:"Ankleide",fr:"Vestiaire",it:"Camerino",nl:"Kleedkamer",pl:"Przebieralnia",pt:"Provador",es:"Vestidor","zh-cn":"更衣室"},icon:"Dressing Room.svg"},{_id:"workspace",name:{en:"Workspace",ru:"Рабочая Среда",de:"Arbeitszimmer",fr:"Espace De Travail",it:"Area Di Lavoro",nl:"Workspace",pl:"Workspace",pt:"Área De Trabalho",es:"Espacio De Trabajo","zh-cn":"工作区"},icon:"Workspace.svg"},{_id:"driveway",name:{en:"Driveway",ru:"Дорога",de:"Auffahrt",fr:"Allée",it:"Viale",nl:"Pad",pl:"Podjazd",pt:"Entrada Da Garagem",es:"Entrada De Coches","zh-cn":"车道"},icon:"Driveway.svg"},{_id:"outdoors",name:{en:"Outdoors",ru:"На Улице",de:"Außenbereich",fr:"En Plein Air",it:"All'Aperto",nl:"Buitenshuis",pl:"Na Dworze",pt:"Ao Ar Livre",es:"Al Aire Libre","zh-cn":"户外"},icon:"Outdoors.svg"},{_id:"bathroom",name:{en:"Bathroom",ru:"Ванная Комната",de:"Badezimmer",fr:"Salle De Bains",it:"Bagno",nl:"Badkamer",pl:"Łazienka",pt:"Banheiro",es:"Baño","zh-cn":"浴室"},icon:"Bathroom.svg"},{_id:"balcony",name:{en:"Balcony",ru:"Балкон",de:"Balkon",fr:"Balcon",it:"Balcone",nl:"Balkon",pl:"Balkon",pt:"Sacada",es:"Balcón","zh-cn":"阳台"},icon:"Balcony.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"carport",name:{en:"Carport",ru:"Навес",de:"Carport",fr:"Carport",it:"Posto Auto Coperto",nl:"Carport",pl:"Wiata",pt:"Telheiro",es:"Cochera","zh-cn":"车棚"},icon:"Carport.svg"},{_id:"attic",name:{en:"Attic",ru:"Чердак",de:"Dachgeschoss",fr:"Grenier",it:"Attico",nl:"Zolder",pl:"Poddasze",pt:"Sótão",es:"Ático","zh-cn":"阁楼"},icon:"Attic.svg"},{_id:"hall",name:{en:"Hall",ru:"Зал",de:"Diele",fr:"Salle",it:"Sala",nl:"Hal",pl:"Sala",pt:"Corredor",es:"Sala","zh-cn":"大厅"},icon:"Hall.svg"},{_id:"entrance",name:{en:"Entrance",ru:"Вход",de:"Eingang",fr:"Entrée",it:"Ingresso",nl:"Ingang",pl:"Wejście",pt:"Entrada",es:"Entrada","zh-cn":"入口"},icon:"Entrance.svg"},{_id:"ground_floor",name:{en:"Ground Floor",ru:"Первый Этаж",de:"Erdgeschoss",fr:"Rez-De-Chaussée",it:"Piano Terra",nl:"Begane Grond",pl:"Parter",pt:"Térreo",es:"Planta Baja","zh-cn":"一楼"},icon:"Ground Floor.svg"},{_id:"dining_area",name:{en:"Dining Area",ru:"Столовая",de:"Essbereich",fr:"Salle À Manger",it:"Zona Pranzo",nl:"Eethoek",pl:"Jadalnia",pt:"Área De Refeições",es:"Comedor","zh-cn":"用餐区"},icon:"Dining Area.svg"},{_id:"dining_room",name:{en:"Dining Room",ru:"Столовая",de:"Esszimmer",fr:"Salle À Manger",it:"Sala Da Pranzo",nl:"Eetkamer",pl:"Jadalnia",pt:"Sala De Jantar",es:"Comedor","zh-cn":"饭厅"},icon:"Dining Room.svg"},{_id:"gym",name:{en:"Gym",ru:"Спортзал",de:"Fitnessraum",fr:"Gym",it:"Palestra",nl:"Sportschool",pl:"Siłownia",pt:"Ginásio",es:"Gimnasio","zh-cn":"健身房"},icon:"Gym.svg"},{_id:"gallery",name:{en:"Gallery",ru:"Галерея",de:"Galerie",fr:"Galerie",it:"Galleria",nl:"Galerij",pl:"Galeria",pt:"Galeria",es:"Galería","zh-cn":"画廊"},icon:"Gallery.svg"},{_id:"garage",name:{en:"Garage",ru:"Гараж",de:"Garage",fr:"Garage",it:"Box Auto",nl:"Garage",pl:"Garaż",pt:"Garagem",es:"Garaje","zh-cn":"车库"},icon:"Garage.svg"},{_id:"wardrobe",name:{en:"Wardrobe",ru:"Гардероб",de:"Garderobe",fr:"Penderie",it:"Armadio",nl:"Garderobe",pl:"Szafa",pt:"Guarda Roupa",es:"Armario","zh-cn":"衣柜"},icon:"Wardrobe.svg"},{_id:"garden",name:{en:"Garden",ru:"Сад",de:"Garten",fr:"Jardin",it:"Giardino",nl:"Tuin",pl:"Ogród",pt:"Jardim",es:"Jardín","zh-cn":"花园"},icon:"Garden.svg"},{_id:"summer_house",name:{en:"Summer House",ru:"Дача",de:"Gartenhaus",fr:"Maison D'Été",it:"Casa Estiva",nl:"Zomerhuis",pl:"Domek Letniskowy",pt:"Summer House",es:"Casa De Verano","zh-cn":"凉亭"},icon:"Summer House.svg"},{_id:"guest_bathroom",name:{en:"Guest Bathroom",ru:"Гостевая Комната",de:"Gäste-WC",fr:"Salle De Bains Invité",it:"Guest Bathroom",nl:"Gastenbadkamer",pl:"Łazienka Gościnna",pt:"Banheiro De Hóspedes",es:"Baño De Visitas","zh-cn":"客用浴室"},icon:"Guest Bathroom.svg"},{_id:"guest_room",name:{en:"Guest Room",ru:"Гостевая Комната",de:"Gästezimmer",fr:"Chambre D'Amis",it:"Stanza Degli Ospiti",nl:"Guest Room",pl:"Pokój Gościnny",pt:"Quarto De Hóspedes",es:"Habitación De Huéspedes","zh-cn":"客房"},icon:"Guest Room.svg"},{_id:"laundry_room",name:{en:"Laundry Room",ru:"Прачечная",de:"Hauswirtschaftsraum",fr:"Buanderie",it:"Lavanderia",nl:"Wasruimte",pl:"Pralnia",pt:"Lavandaria",es:"Cuarto De Lavado","zh-cn":"洗衣房"},icon:"Laundry Room.svg"},{_id:"home_theater",name:{en:"Home Theater",ru:"Домашний Театр",de:"Heimkino",fr:"Cinéma Maison",it:"Home Theater",nl:"Thuisbioscoop",pl:"Kino Domowe",pt:"Cinema Em Casa",es:"Cine En Casa","zh-cn":"家庭电影院"},icon:"Home Theater.svg"},{_id:"boiler_room",name:{en:"Boiler Room",ru:"Бойлерная",de:"Heizungsraum",fr:"Chaufferie",it:"Locale Caldaia",nl:"Boiler Room",pl:"Kotłownia",pt:"Sala Da Caldeira",es:"Sala De Calderas","zh-cn":"锅炉房"},icon:"Boiler Room.svg"},{_id:"chamber",name:{en:"Chamber",ru:"Камера",de:"Kammer",fr:"Chambre",it:"Camera",nl:"Kamer",pl:"Izba",pt:"Câmara",es:"Cámara","zh-cn":"商会"},icon:"Chamber.svg"},{_id:"basement,_cellar",name:{en:"Basement, Cellar",ru:"Подвал, Погреб",de:"Keller",fr:"Sous-Sol, Cave",it:"Taverna, Cantina",nl:"Kelder, Kelder",pl:"Piwnica, Piwnica",pt:"Porão, Adega",es:"Sótano, Bodega","zh-cn":"地下室,地窖"},icon:"Basement.svg"},{_id:"nursery",name:{en:"Nursery",ru:"Питомник",de:"Kinderzimmer",fr:"Garderie",it:"Asilo",nl:"Kinderkamer",pl:"Żłobek",pt:"Berçário",es:"Guardería","zh-cn":"苗圃"},icon:"Nursery.svg"},{_id:"corridor",name:{en:"Corridor",ru:"Коридор",de:"Korridor",fr:"Couloir",it:"Corridoio",nl:"Gang",pl:"Korytarz",pt:"Corredor",es:"Corredor","zh-cn":"走廊"},icon:"Corridor.svg"},{_id:"kitchen",name:{en:"Kitchen",ru:"Кухня",de:"Küche",fr:"Cuisine",it:"Cucina",nl:"Keuken",pl:"Kuchnia",pt:"Cozinha",es:"Cocina","zh-cn":"厨房"},icon:"Kitchen.svg"},{_id:"upstairs",name:{en:"Upstairs",ru:"Вверх По Лестнице",de:"Obergeschoss",fr:"En Haut",it:"Di Sopra",nl:"Boven",pl:"Na Górę",pt:"Andar De Cima",es:"Piso Superior","zh-cn":"楼上"},icon:"Upstairs.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"rear_wall",name:{en:"Rear Wall",ru:"Задняя Стенка",de:"Rückwand",fr:"Paroi Arrière",it:"Parete Posteriore",nl:"Achterwand",pl:"Tylna Ściana",pt:"Parede Traseira",es:"Pared Posterior","zh-cn":"后墙"},icon:"Rear Wall.svg"},{_id:"barn",name:{en:"Barn",ru:"Амбар",de:"Scheune",fr:"Grange",it:"Fienile",nl:"Schuur",pl:"Stodoła",pt:"Celeiro",es:"Granero","zh-cn":"谷仓"},icon:"Barn.svg"},{_id:"sleeping_area",name:{en:"Sleeping Area",ru:"Спальное Место",de:"Schlafbereich",fr:"Coin Montagne",it:"Area Sleeping",nl:"Sleeping Area",pl:"Powierzchnia Spania",pt:"Sleeping Area",es:"Área De Dormir","zh-cn":"睡眠区"},icon:"Sleeping Area.svg"},{_id:"bedroom",name:{en:"Bedroom",ru:"Спальная Комната",de:"Schlafzimmer",fr:"Chambre",it:"Camera Da Letto",nl:"Slaapkamer",pl:"Sypialnia",pt:"Quarto",es:"Cuarto","zh-cn":"卧室"},icon:"Bedroom.svg"},{_id:"shed",name:{en:"Shed",ru:"Сбрасывать",de:"Schuppen",fr:"Hangar",it:"Capannone",nl:"Schuur",pl:"Budka",pt:"Cabana",es:"Cobertizo","zh-cn":"棚"},icon:"Shed.svg"},{_id:"swimming_pool",name:{en:"Swimming Pool",ru:"Плавательный Бассейн",de:"Schwimmbad",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"游泳池"},icon:"Swimming Pool.svg"},{_id:"dining",name:{en:"Dining",ru:"Обеденный",de:"Speis",fr:"À Manger",it:"Cenare",nl:"Dining",pl:"Jadalnia",pt:"Jantar",es:"Comida","zh-cn":"用餐"},icon:"Dining.svg"},{_id:"playroom",name:{en:"Playroom",ru:"Игровая Комната",de:"Spielzimmer",fr:"Salle De Jeux",it:"Stanza Dei Giochi",nl:"Speelkamer",pl:"Pokój Zabaw",pt:"Sala De Jogos",es:"Cuarto De Jugar","zh-cn":"游戏室"},icon:"Playroom.svg"},{_id:"stairway",name:{en:"Stairway",ru:"Лестница",de:"Treppe",fr:"Escalier",it:"Scala",nl:"Trap",pl:"Klatka Schodowa",pt:"Escada",es:"Escalera","zh-cn":"楼梯"},icon:"Stairway.svg"},{_id:"equipment_room",name:{en:"Equipment Room",ru:"Оборудование Номера",de:"Technikraum",fr:"Salle D'Équipement",it:"Stanza Degli Attrezzi",nl:"Technische Ruimte",pl:"Wyposażenie Pokoi",pt:"Sala De Equipamentos",es:"Cuarto De Equipos","zh-cn":"机房"},icon:"Equipment Room.svg"},{_id:"terrace",name:{en:"Terrace",ru:"Терраса",de:"Terrasse",fr:"Terrasse",it:"Terrazza",nl:"Terras",pl:"Taras",pt:"Terraço",es:"Terraza","zh-cn":"阳台"},icon:"Terrace.svg"},{_id:"toilet",name:{en:"Toilet",ru:"Туалет",de:"Toilette",fr:"Toilette",it:"Gabinetto",nl:"Toilet",pl:"Toaleta",pt:"Banheiro",es:"Inodoro","zh-cn":"洗手间"},icon:"Toilet.svg"},{_id:"stairwell",name:{en:"Stairwell",ru:"Лестничная клетка",de:"Treppenhaus",fr:"Cage D'Escalier",it:"Tromba Delle Scale",nl:"Trappenhuis",pl:"Klatka Schodowa",pt:"Caixa De Escada",es:"Hueco De Escalera","zh-cn":"楼梯间"},icon:"Stairwell.svg"},{_id:"locker_room",name:{en:"Locker Room",ru:"Камера Хранения",de:"Umkleideraum",fr:"Vestiaire",it:"Spogliatoio",nl:"Kleedkamer",pl:"Szatnia",pt:"Vestiário",es:"Vestuario","zh-cn":"更衣室"},icon:"Locker Room.svg"},{_id:"basement",name:{en:"Basement",ru:"Подвал",de:"Untergeschoss",fr:"Sous-Sol",it:"Seminterrato",nl:"Kelder",pl:"Piwnica",pt:"Porão",es:"Sótano","zh-cn":"地下室"},icon:"Basement.svg"},{_id:"front_yard",name:{en:"Front Yard",ru:"Передний Двор",de:"Vorgarten",fr:"Front Yard",it:"Cortile",nl:"Voortuin",pl:"Podwórko",pt:"Jardim Da Frente",es:"Patio Delantero","zh-cn":"前院"},icon:"Front Yard.svg"},{_id:"anteroom",name:{en:"Anteroom",ru:"Передняя",de:"Vorraum",fr:"Antichambre",it:"Anticamera",nl:"Voorkamer",pl:"Przedpokój",pt:"Ante-Sala",es:"Antesala","zh-cn":"接待室"},icon:"Anteroom.svg"},{_id:"washroom",name:{en:"Washroom",ru:"Уборная",de:"Waschraum",fr:"Toilettes",it:"Bagno",nl:"Waskamer",pl:"Umywalnia",pt:"Banheiro",es:"Baño","zh-cn":"卫生间"},icon:"Washroom.svg"},{_id:"wc",name:{en:"Wc",ru:"Туалет",de:"WC",fr:"Toilettes",it:"Bagno",nl:"Wc",pl:"Toaleta",pt:"Banheiro",es:"Wc","zh-cn":"厕所"},icon:"Wc.svg"},{_id:"workshop",name:{en:"Workshop",ru:"Мастерская",de:"Werkstatt",fr:"Atelier",it:"Laboratorio",nl:"Werkplaats",pl:"Warsztat",pt:"Oficina",es:"Taller","zh-cn":"作坊"},icon:"Workshop.svg"},{_id:"windscreen",name:{en:"Windscreen",ru:"Ветровое Стекло",de:"Windfang",fr:"Pare-Brise",it:"Parabrezza",nl:"Voorruit",pl:"Szyba Przednia",pt:"Pára-Brisas",es:"Parabrisas","zh-cn":"风档"},icon:"Windscreen.svg"},{_id:"living_area",name:{en:"Living Area",ru:"Жилая Площадь",de:"Wohnbereich",fr:"Salon",it:"Zona Giorno",nl:"Living Area",pl:"Powierzchnia Mieszkalna",pt:"Sala-De-Estar",es:"Sala De Estar","zh-cn":"生活区域"},icon:"Living Area.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"}];class lce extends b.Component{constructor(e){super(e),this.state={opened:!1,names:[],filter:"",icons:null,loading:!1,isAnyName:!1}}loadAllIcons(){this.state.loading||this.state.icons||this.setState({loading:!0},()=>{const e=[],t=[];if(this.props.icons){const s=this.props.icons.map((o,r)=>{let M;if(typeof o=="object"){if(M=o.icon||o.src||o.href||"",t[r]=typeof o.name=="object"?o.name[this.props.lang]||o.name.en||o._id||"":o.name||"",!t[r]){const n=M.split(".");n.pop(),t[r]=n[n.length-1]}}else M=o;return M?M.startsWith("data:")?(e[r]=M,Promise.resolve()):S.getSvg(M).then(n=>e[r]=n):Promise.resolve()});Promise.all(s).catch(o=>console.error(o)).then(()=>this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(o=>o)}))}else{let s=this.props.onlyRooms||!this.props.onlyRooms&&!this.props.onlyDevices?Nce:null;if(s&&(s.forEach(o=>{o.name&&typeof o.name=="object"&&(o.name=o.name[this.props.lang]||o.name.en||o._id),o.name=o.name||o._id}),s=s.filter((o,r)=>!(s!=null&&s.find((M,n)=>r!==n&&M.icon===o.icon&&M.name===o.name))),s.forEach((o,r)=>{t[r]=o.name,e[r]=`data:image/svg+xml;base64,${cce[o.icon.replace(/\.svg$/,"")]}`})),s=this.props.onlyDevices||!this.props.onlyRooms&&!this.props.onlyDevices?uce:null,s){const o=e.length;s&&s.forEach(r=>{r.name&&typeof r.name=="object"&&(r.name=r.name[this.props.lang]||r.name.en||r._id),r.name=r.name||r._id}),s=s.filter((r,M)=>!(s!=null&&s.find((n,u)=>M!==u&&n.icon===r.icon&&n.name===r.name))),s.forEach((r,M)=>{t[M+o]=r.name,e[M+o]=`data:image/svg+xml;base64,${hae[r.icon.replace(/\.svg$/,"")]}`})}this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(o=>o)})}})}render(){return this.state.loading?a.createElement(g.CircularProgress,null):a.createElement(a.Fragment,null,a.createElement(g.Button,{color:"grey",variant:"outlined",title:this.props.t("ra_Select predefined icon"),onClick:()=>this.setState({opened:!0},()=>this.loadAllIcons()),style:{minWidth:40,marginRight:8}},"..."),this.state.opened?a.createElement(g.Dialog,{onClose:()=>this.setState({opened:!1}),open:!0},a.createElement(g.DialogTitle,null,this.props.t("ra_Select predefined icon"),this.state.isAnyName?a.createElement(g.TextField,{variant:"standard",margin:"dense",style:{marginLeft:20},value:this.state.filter,onChange:e=>this.setState({filter:e.target.value.toLowerCase()}),placeholder:this.props.t("ra_Filter"),slotProps:{input:{endAdornment:this.state.filter?a.createElement(g.IconButton,{tabIndex:-1,size:"small",onClick:()=>this.setState({filter:""})},a.createElement(m.Clear,null)):void 0}}}):null),a.createElement(g.DialogContent,null,a.createElement("div",{style:{width:"100%",textAlign:"center"}},this.state.icons&&this.state.icons.map((e,t)=>!this.state.filter||this.state.names[t]&&this.state.names[t].toLowerCase().includes(this.state.filter)?a.createElement(g.Tooltip,{title:this.state.names[t]||"",key:t,slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(g.IconButton,{onClick:()=>this.setState({opened:!1},()=>{const s=this.props.onSelect||this.props.onChange;s&&s(e)}),size:"large"},a.createElement(Ie,{src:e,alt:t.toString(),style:{width:32,height:32,borderRadius:5}}))):null))),a.createElement(g.DialogActions,null,a.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({opened:!1}),startIcon:a.createElement(m.Close,null)},this.props.t("ra_Close")))):null)}}const Mt={formContainer:{display:"flex",justifyContent:"left",alignItems:"center"},formControl:{display:"flex",padding:24,flexGrow:1e3},divContainer:{width:64,height:32,whiteSpace:"nowrap",lineHeight:"32px",marginRight:8},dragField:{textAlign:"center",display:"table",minHeight:90,width:"calc(100% - 60px)",border:"2px dashed #777",borderRadius:10,padding:4},formIcon:{margin:10,opacity:.6},text:{display:"table-cell",verticalAlign:"middle"}};function M4e(i){var n,u,N,l;const e=i.icon,t=i.onChange,s=b.useCallback(c=>{const L=new FileReader;L.addEventListener("load",()=>t(L.result),!1),c[0]&&L.readAsDataURL(c[0])},[t]),{getRootProps:o,getInputProps:r,isDragActive:M}=sc({onDrop:s});return a.createElement("div",{style:Mt.formContainer},e?a.createElement(e,{style:Mt.formIcon}):null,a.createElement(g.FormControl,{variant:"standard",style:{...Mt.formControl,padding:3}},a.createElement(g.InputLabel,{shrink:!0,sx:(n=i.customStyles)!=null&&n.label?{"&.MuiInputLabel-root":i.customStyles.label}:void 0,classes:{root:(u=i.customClasses)==null?void 0:u.label}},i.label),a.createElement("div",{style:Mt.formContainer},i.value?a.createElement("div",{style:Mt.divContainer},a.createElement(Ie,{style:{...i.previewStyle,...((N=i.customStyles)==null?void 0:N.icon)||void 0},src:i.value,className:S.clsx(i.previewClassName,(l=i.customClasses)==null?void 0:l.icon)}),!i.disabled&&a.createElement(g.IconButton,{style:{verticalAlign:"top"},title:d.t("ra_Clear icon"),size:"small",onClick:()=>i.onChange("")},a.createElement(m.Clear,null))):!i.disabled&&a.createElement(lce,{icons:i.icons,onlyRooms:i.onlyRooms,onlyDevices:i.onlyDevices,onSelect:c=>i.onChange(c),t:d.t,lang:d.getLanguage()}),!i.disabled&&a.createElement("div",{...o(),style:{...Mt.dragField,...M?{backgroundColor:"rgba(0, 255, 0, 0.1)"}:{cursor:"pointer"}}},a.createElement("input",{...r()}),M?a.createElement("span",{style:Mt.text},d.t("ra_Drop the files here...")):a.createElement("span",{style:Mt.text},d.t("ra_Drag 'n' drop some files here, or click to select files"))))))}function Lce(i){const e=document.createElement("div");e.innerHTML=i;const t=e.firstElementChild;return t!=null&&t.remove?t.remove():t&&e.removeChild(t),e.remove(),t}function jce(i){const e={};if(!i)return e;for(let t,s=0;sr[1].toUpperCase()),e[t]=i[s].value}return e}class qs extends b.Component{svg;static REMOTE_SERVER=window.location.hostname.includes("iobroker.in");static REMOTE_PREFIX=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);constructor(e){var t;super(e),this.state={svg:!!((t=this.props.src)!=null&&t.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(e,t){var r;const s={};let o=!1;return e&&t&&e.src!==t.src&&(s.src=e.src,s.svg=(r=e.src)==null?void 0:r.startsWith("data:"),s.created=!1,o=!0),e&&t&&e.color!==t.color&&(s.color=e.color,s.created=!1,o=!0),e&&t&&e.showError!==t.showError&&(s.showError=e.showError,o=!0),o?s:null}getSvgFromData(e){const t="data:image/svg+xml;base64,";if(!e.startsWith(t))return null;e=e.substring(t.length);try{e=atob(e);const s=Lce(e),o=s.innerHTML,r=jce(s.attributes);return s.remove(),a.createElement(g.Box,{component:"svg",sx:this.props.sx,className:this.props.className,style:this.state.color?{color:this.state.color}:void 0,...r,dangerouslySetInnerHTML:{__html:o}})}catch{}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 a.createElement(Fo,{className:this.props.className});if(qs.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let e=(this.props.imagePrefix||"")+this.state.src;return e.startsWith("./")?e=qs.REMOTE_PREFIX+e.substring(2):e.startsWith("/")||(e=qs.REMOTE_PREFIX+e),a.createElement(g.Box,{component:"img",sx:this.props.sx,className:this.props.className,src:`https://remote-files.iobroker.in${e}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return a.createElement(g.Box,{component:"img",sx:this.props.sx,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}}var R={},zi={},dt={};Object.defineProperty(dt,"__esModule",{value:!0});dt.StateType=dt.Types=void 0;var yM;(function(i){i.unknown="unknown",i.airCondition="airCondition",i.blind="blind",i.blindButtons="blindButtons",i.button="button",i.buttonSensor="buttonSensor",i.camera="camera",i.chart="chart",i.cie="cie",i.ct="ct",i.dimmer="dimmer",i.door="door",i.fireAlarm="fireAlarm",i.floodAlarm="floodAlarm",i.gate="gate",i.hue="hue",i.humidity="humidity",i.illuminance="illuminance",i.image="image",i.info="info",i.instance="instance",i.light="light",i.location="location",i.locationOne="locationOne",i.lock="lock",i.media="media",i.motion="motion",i.rgb="rgb",i.rgbSingle="rgbSingle",i.rgbwSingle="rgbwSingle",i.slider="slider",i.socket="socket",i.temperature="temperature",i.thermostat="thermostat",i.vacuumCleaner="vacuumCleaner",i.volume="volume",i.volumeGroup="volumeGroup",i.warning="warning",i.weatherCurrent="weatherCurrent",i.weatherForecast="weatherForecast",i.window="window",i.windowTilt="windowTilt"})(yM||(dt.Types=yM={}));var DM;(function(i){i.Number="number",i.String="string",i.Boolean="boolean"})(DM||(dt.StateType=DM={}));var De={};Object.defineProperty(De,"__esModule",{value:!0});De.checkEnum=ia;De.roleOrEnum=ss;De.roleOrEnumLight=gce;De.roleOrEnumBlind=Tce;De.roleOrEnumGate=yce;De.roleOrEnumWindow=Dce;De.roleOrEnumDoor=dce;De.getEnums=zce;De.getAllStatesInChannel=Ice;De.getAllStatesInDevice=wce;De.getObjectsBelowId=la;De.getFunctionEnums=Cce;De.getParentId=hce;function ia(i,e){let t=!1;return i&&i.forEach(s=>{const o=s.lastIndexOf(".");o!==-1&&(s=s.substring(o+1));for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&e[r].find(M=>M.test(s)))return t=!0,!1}),t}function ss(i,e,t,s){return i.common.role&&(t!=null&&t.includes(i.common.role))?!0:ia(e,s)}const oa={en:[/lights?/i,/lamps?/i,/ceilings?/i],de:[/licht(er)?/i,/lampen?/i,/beleuchtung(en)?/i],ru:[/свет/i,/ламп[аы]/i,/торшеры?/,/подсветк[аи]/i,/лампочк[аи]/i,/светильники?/i]},ra=["switch.light","dimmer","value.dimmer","level.dimmer","sensor.light","state.light"];function gce(i,e){return ss(i,e,ra,oa)}const Mi={en:[/blinds?/i,/windows?/i,/shutters?/i],de:[/rollladen?/i,/fenstern?/i,/beschattung(en)?/i,/jalousien?/i],ru:[/ставни/i,/рольставни/i,/окна|окно/,/жалюзи/i]},Ma=["blind","level.blind","value.blind","action.stop","button.stop","button.stop.blind","button.open.blind","button.close.blind","level.tilt","value.tilt","button.tilt.open","button.tilt.close","button.tilt.stop"];function Tce(i,e){return ss(i,e,Ma,Mi)}const na={en:[/gates?/i],de:[/^toren$/i,/^tor$/i],ru:[/ворота/i]},aa=["gate","value.gate","switch.gate","action.stop","button.stop"];function yce(i,e){return ss(i,e,aa,na)}const ca=["window","state.window","sensor.window","value.window"];function Dce(i,e){return ss(i,e,ca,Mi)}const ua={en:[/doors?/i,/gates?/i,/wickets?/i,/entry|entries/i],de:[/^türe?/i,/^tuere?/i,/^tore?$/i,/einfahrt(en)?/i,/pforten?/i],ru:[/двери|дверь/i,/ворота/i,/калитка|калитки/,/въезды?/i,/входы?/i]},Na=["door","state.door","sensor.door"];function dce(i,e){return ss(i,e,Na,ua)}function zce(){return{door:{roles:Na,words:ua},window:{roles:ca,words:Mi},blind:{roles:Ma,words:Mi},gate:{roles:aa,words:na},light:{roles:ra,words:oa}}}function Ice(i,e){const t=[],s=new RegExp(`^${e.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+$`);return i.forEach(o=>s.test(o)&&t.push(o)),t}function wce(i,e){const t=[],s=new RegExp(`^${e.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+\\.[^.]+$`);return i.forEach(o=>s.test(o)&&t.push(o)),t}function la(i,e){const t=[];e+=".";let s=0,o=i.length-1,r=-1;for(;s<=o;){const M=Math.floor((s+o)/2);i[M]=i.length)return t;for(let M=r;M{e[M].common.members.includes(t)&&r.push(M)}),!r.length&&((o=e[t])===null||o===void 0?void 0:o.type)==="state"){const M=(0,Nt.getParentId)(t);e[M]&&(e[M].type==="channel"||e[M].type==="device")&&this.enums.forEach(n=>{e[n].common.members.includes(M)&&r.push(n)})}return r.length?r:null}static copyState(e,t){const s=t||JSON.parse(JSON.stringify(e));return s.original=e.original||e,"enums"in e&&e.enums&&(s.enums=e.enums),"role"in e&&e.role&&(s.role=e.role),"channelRole"in e&&e.channelRole&&(s.channelRole=e.channelRole),s}_testOneState(e){var t,s,o,r,M,n;const u=e.objects,N=e.pattern,l=e.state,c=e.channelStates,L=e.usedIds,j=e.usedInCurrentDevice,T=e.ignoreIndicators,D=e.ignoreEnums,z=e.sortedKeys;let h=e.result,O=!1;for(const p of c)if(!(l.name==="COVER"&&(h!=null&&h.states.find(E=>E.id&&E.name==="COVER")))){if(l.indicator&&T){const C=p.split(".").pop()||"";if(C&&T.includes(C))continue}if((l.indicator||!j.includes(p)&&(l.notSingle||!L.includes(p)))&&this._applyPattern(u,p,l,D,z)){if(h||(h=JSON.parse(JSON.stringify(nt.patterns[N])),e.result=h,h==null||h.states.forEach((E,C)=>xe.copyState(nt.patterns[N].states[C],E))),h.states.find(({id:E})=>E===p))O=!0;else for(const E of h.states)if(E.name===l.name){if(E.id){let C;e.favorId&&(p===e.favorId?C=!0:E.id===e.favorId&&(C=!1));const I=(o=(s=(t=u[E.id])===null||t===void 0?void 0:t.common)===null||s===void 0?void 0:s.role)!==null&&o!==void 0?o:"",_=(n=(M=(r=u[p])===null||r===void 0?void 0:r.common)===null||M===void 0?void 0:M.role)!==null&&n!==void 0?n:"",k=E.defaultRole;if(k&&C===void 0&&(_===k?C=!0:I===k&&(C=!1)),C===void 0){const f=_.split("."),P=f.length,Y=I.split("."),V=Y.length;_===""||f[0]==="state"&&Y[0]!=="state"?C=!1:f[0]!=="state"&&Y[0]==="state"||P>V?C=!0:P1)){for(const E of c)if(E!==p&&(l.indicator||!j.includes(E)&&(l.notSingle||!L.includes(E)))&&this._applyPattern(u,E,l,D,z))if(l.indicator||j.push(E),Array.isArray(l)){const C=xe.copyState(l[0]);C.id=E,h.states.push(C)}else{const C=xe.copyState(l);C.id=E,h.states.push(C)}}}}return O}static findParentChannelOrDevice(e,t){if(!e[t])return;const s=t.split("."),o=t;if(e[t].type==="state"&&(s.pop(),t=s.join(".")),s.length<=2)return t;const r=e[t];if((r==null?void 0:r.type)==="device")return t;s.pop();const M=s.join("."),n=e[M];if(!n)return r?t:o;if(n.type==="device"||s.length<=2)return M;if(r.type==="channel")return t;s.pop();const u=s.join("."),N=e[u];return!N||N.type!=="device"&&N.type!=="channel"?M:u}static getChannelOrDeviceStates(e,t,s,o=!1){var r;const M=(r=e[t])===null||r===void 0?void 0:r.type;switch(M){case void 0:return[...(0,Nt.getObjectsBelowId)(s,t)];case"state":case"channel":case"device":case"folder":if(o&&M!=="device"){const n=xe.findParentChannelOrDevice(e,t);return n?[...(0,Nt.getObjectsBelowId)(s,n)]:[t]}return M!=="state"?[...(0,Nt.getObjectsBelowId)(s,t)]:[t];default:return[t]}}static patternIsAllowed(e,t,s){if(!e)return!1;if(Array.isArray(e.type)){for(let o=0;o{const r=e.indexOf(s),M=e.indexOf(o);if(r===-1||M===-1)return;const n=e.splice(r,1);e.splice(M,0,...n)}),e}_detectNext(e){var t,s,o,r;const{objects:M,id:n,_usedIdsOptional:u=[],ignoreIndicators:N,prioritizedTypes:l,detectParent:c,allowedTypes:L,excludedTypes:j,_keysOptional:T}=e;let{_patternList:D}=e;e._usedIdsOptional=u;const z=xe.getChannelOrDeviceStates(M,n,T||[],c);if(!(!((t=M[n])===null||t===void 0)&&t.common)&&!z.length)return null;if(e._checkedPatterns=(s=e._checkedPatterns)!==null&&s!==void 0?s:[],!D){const p=Object.keys(nt.patterns).filter(E=>xe.patternIsAllowed(nt.patterns[E],L,j));D=l?this.sortTypes(p,l):p,e._patternList=D}const h={objects:M,channelStates:z,usedIds:u,ignoreIndicators:N||[],pattern:It.Types.unknown,usedInCurrentDevice:[],state:{},ignoreEnums:!!e.ignoreEnums,sortedKeys:T,favorId:e.detectParent?void 0:n},O=(o=M[n])===null||o===void 0?void 0:o.type;for(const p of D){if(e._checkedPatterns.includes(p))continue;e._checkedPatterns.push(p),delete h.result,h.pattern=p,h.usedInCurrentDevice=[];for(const C of nt.patterns[p].states){let I=!1;if(h.state=C,this._testOneState(h)&&(I=!0),C.required&&!I){delete h.result;break}}if(!xe.allRequiredStatesFound(h))continue;h.usedInCurrentDevice.forEach(C=>u.push(C));let E;if(O!=="device"){const C=(r=xe.findParentChannelOrDevice(M,n))!==null&&r!==void 0?r:n;if(M[C]&&(M[C].type==="channel"||M[C].type==="device")){E=(0,Nt.getObjectsBelowId)(T,C);for(const I of E)h.result.states.forEach((_,k)=>{!_.id&&(_.indicator||_.searchInParent)&&!_.noDeviceDetection&&this._applyPattern(M,I,_.original,!!e.ignoreEnums,h.sortedKeys)&&h.result&&(h.result.states[k].id=I)})}}if(h.result.states.forEach(C=>xe.cleanState(C,h.objects)),e.limitTypesToOneOf){for(const C of e.limitTypesToOneOf)if(C.includes(p))for(const I of C)I===p||e._checkedPatterns.includes(I)||e._checkedPatterns.push(I)}return h.result}return null}detect(e){var t;const{objects:s,id:o,ignoreCache:r,detectAllPossibleDevices:M}=e;let{_keysOptional:n,_usedIdsOptional:u}=e;if(!r&&this.cache[o]){const{allowedTypes:c=[],excludedTypes:L=[]}=e;if(!c.length&&!L.length)return this.cache[o];const j=this.cache[o].filter(({type:T})=>c.includes(T)&&!L.includes(T));if(j.length)return j}n?e._keysOptionalSorted||n.sort():(n=Object.keys(s),n.sort(),e._keysOptional=n),u&&!e.detectParent&&(u=[],e._usedIdsOptional=u),e.ignoreEnums===void 0&&((t=e.allowedTypes)===null||t===void 0?void 0:t.length)===1&&(e.ignoreEnums=!0),M&&(e.excludedTypes||(e.excludedTypes=[]),e.excludedTypes.includes(It.Types.info)||e.excludedTypes.push(It.Types.info)),e._checkedPatterns=[];const N=[];let l;for(;l=this._detectNext(e);)N.push(l),e.detectAllPossibleDevices&&(e._usedIdsOptional=[]);return this.cache[o]=N.length?N:null,this.cache[o]}static getPatterns(){const e={};return Object.keys(nt.patterns).forEach(t=>{const s=JSON.parse(JSON.stringify(nt.patterns[t]));s.states.forEach((o,r)=>{const M=nt.patterns[t].states[r];M.role&&(s.states[r].role=M.role.toString()),M.enums&&(s.states[r].enums=!0)}),e[t]=s}),e}}zi.ChannelDetector=xe;xe.getEnums=Nt.getEnums;(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.StateType=i.Types=void 0;const e=zi;i.default=e.ChannelDetector;var t=dt;Object.defineProperty(i,"Types",{enumerable:!0,get:function(){return t.Types}}),Object.defineProperty(i,"StateType",{enumerable:!0,get:function(){return t.StateType}})})(R);var La={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},dM=a.createContext&&a.createContext(La),Ace=["attr","size","title"];function pce(i,e){if(i==null)return{};var t=mce(i,e),s,o;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(i,s)&&(t[s]=i[s])}return t}function mce(i,e){if(i==null)return{};var t={};for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)){if(e.indexOf(s)>=0)continue;t[s]=i[s]}return t}function ni(){return ni=Object.assign?Object.assign.bind():function(i){for(var e=1;ea.createElement(e.tag,ai({key:t},e.attr),ja(e.child)))}function v(i){return e=>a.createElement(Sce,ni({attr:ai({},i.attr)},e),ja(i.child))}function Sce(i){var e=t=>{var{attr:s,size:o,title:r}=i,M=pce(i,Ace),n=o||t.size||"1em",u;return t.className&&(u=t.className),i.className&&(u=(u?u+" ":"")+i.className),a.createElement("svg",ni({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,s,M,{className:u,style:ai(ai({color:i.color||t.color},t.style),i.style),height:n,width:n,xmlns:"http://www.w3.org/2000/svg"}),r&&a.createElement("title",null,r),i.children)};return dM!==void 0?a.createElement(dM.Consumer,null,t=>e(t)):e(La)}function xce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z"},child:[]}]})(i)}function fce(i){return v({attr:{t:"1569683928793",viewBox:"0 0 1024 1024",version:"1.1"},child:[{tag:"path",attr:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function kce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"},child:[]}]})(i)}function Yce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z"},child:[]}]})(i)}function Qce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z"},child:[]}]})(i)}function Uce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z"},child:[]}]})(i)}function vce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function bce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function $ce(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M24 5.25v13a.75.75 0 0 1-1.136.643L16.5 15.075v2.175A1.75 1.75 0 0 1 14.75 19h-13A1.75 1.75 0 0 1 0 17.25v-11C0 5.284.784 4.5 1.75 4.5h13c.966 0 1.75.784 1.75 1.75v2.175l6.364-3.818A.75.75 0 0 1 24 5.25Zm-9 1a.25.25 0 0 0-.25-.25h-13a.25.25 0 0 0-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 0 0 .25-.25v-11Zm1.5 7.075 6 3.6V6.575l-6 3.6Z"},child:[]}]})(i)}function Pce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"},child:[]}]})(i)}function Wce(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"},child:[]}]})(i)}function Rce(i){return v({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"},child:[]}]})(i)}function Jce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"},child:[]}]})(i)}function Bce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"},child:[]}]})(i)}function Fce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},child:[]}]})(i)}function Gce(i){return v({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"},child:[]}]})(i)}function Hce(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(i)}function Vce(i){return v({attr:{viewBox:"0 0 416 512"},child:[{tag:"path",attr:{d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"},child:[]}]})(i)}function Zce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"},child:[]}]})(i)}function Xce(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"},child:[]}]})(i)}function Kce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"},child:[]}]})(i)}function qce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"},child:[]}]})(i)}function IM(i){return v({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"},child:[]}]})(i)}function eue(i){return v({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"},child:[]}]})(i)}function tue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(i)}function sue(i){return v({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(i)}function iue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"},child:[]}]})(i)}function oue(i){return v({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"},child:[]}]})(i)}function wM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"},child:[]}]})(i)}function rue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15zM14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z"},child:[]}]})(i)}function CM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"},child:[]}]})(i)}function Mue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(i)}function hM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"},child:[]}]})(i)}function nue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.54 5.54 13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92 1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10 1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"12",r:"3"},child:[]}]})(i)}function aue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77a4.504 4.504 0 0 1-1.09-3.69l-2.03-.68A2.997 2.997 0 0 1 0 9.5c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68a4.468 4.468 0 0 1 3.22-2.32V5.91A3.018 3.018 0 0 1 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68a4.49 4.49 0 0 1-1.09 3.69l1.41 1.77c.38-.18.79-.27 1.23-.27 1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0L8.4 18.2z"},child:[]}]})(i)}function AM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z"},child:[]}]})(i)}function cue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17 6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z"},child:[]}]})(i)}function uue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(i)}function pM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.56 8.94 7.62 0 6.21 1.41l2.38 2.38-5.15 5.15a1.49 1.49 0 0 0 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10 10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"},child:[]}]})(i)}function Nue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15 16v1.26l-6-3v-3.17L11.7 8H16V2h-6v4.9L7.3 10H3v6h5l7 3.5V22h6v-6z"},child:[]}]})(i)}function lue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m17 16-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"},child:[]}]})(i)}function Lue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z"},child:[]}]})(i)}function jue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"19",r:"2"},child:[]},{tag:"path",attr:{d:"M10 3h4v12h-4z"},child:[]}]})(i)}function gue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(i)}function mM(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M3.89,17.6c0-0.99,0.31-1.88,0.93-2.65s1.41-1.27,2.38-1.49c0.26-1.17,0.85-2.14,1.78-2.88c0.93-0.75,2-1.12,3.22-1.12 +`;function ZMe(){try{return window.self!==window.top}catch{return!0}}class At extends Ts{socket;isIFrame=ZMe();instance;adapterName;instanceId;newReact;encryptedFields;sentryDSN;alertDialogRendered;_secret;_systemConfig;savedNative;common=null;sentryStarted=!1;sentryInited=!1;resizeTimer=null;constructor(e,t){const s=e.Connection||(t==null?void 0:t.Connection)||je;if(!window.document.getElementById("generic-app-iobroker-component")){const l=window.document.createElement("style");l.setAttribute("id","generic-app-iobroker-component"),l.innerHTML=VMe,window.document.head.appendChild(l)}if(!At.isWeb()&&window.io&&window.location.port==="3000")try{const l=new window.SocketClient;delete window.io,window.io=l}catch{}super(e),Q4();const o=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),r={};o.trim().split("&").filter(l=>l.trim()).forEach(l=>{const c=l.split("=");r[c[0]]=c.length===2?c[1]:!0,r[c[0]]==="true"?r[c[0]]=!0:r[c[0]]==="false"&&(r[c[0]]=!1)}),this.instance=(t==null?void 0:t.instance)??e.instance??(r.instance!==void 0?parseInt(r.instance,10)||0:parseInt(window.location.search.slice(1),10)||0);const M=window.location.pathname.split("/");this.adapterName=(t==null?void 0:t.adapterName)||e.adapterName||window.adapterName||M[M.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=r.newReact===!0;const a=Ts.getLocation();a.tab=a.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";const u=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:u,themeName:this.getThemeName(u),themeType:this.getThemeType(u),bottomButtons:(t&&t.bottomButtons)===!1?!1:(e==null?void 0:e.bottomButtons)!==!1,width:At.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});const N=HMe;t!=null&&t.translations?Object.keys(t.translations).forEach(l=>{t.translations&&(N[l]=Object.assign(N[l],t.translations[l]||{}))}):e.translations&&Object.keys(e.translations).forEach(l=>{e.translations&&(N[l]=Object.assign(N[l],e.translations[l]||{}))}),d.setTranslations(N),this.savedNative={},this.encryptedFields=e.encryptedFields||(t==null?void 0:t.encryptedFields)||[],this.sentryDSN=t&&t.sentryDSN||e.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.iobOldAlert||(window.iobOldAlert=window.alert),window.alert=l=>{if(!this.alertDialogRendered){window.iobOldAlert(l);return}l!=null&&l.toString().toLowerCase().includes("error")?(console.error(l),this.showAlert(l.toString(),"error")):(console.log(l),this.showAlert(l.toString(),"info"))},this.socket=new s({...(e==null?void 0:e.socket)||(t==null?void 0:t.socket),name:this.adapterName,doNotLoadAllObjects:t==null?void 0:t.doNotLoadAllObjects,onProgress:l=>{l===Re.CONNECTING?this.setState({connected:!1}):l===Re.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(l=>(this._secret=typeof l<"u"&&l.native&&l.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(l==null?void 0:l.common)||{},this.socket.getObject(this.instanceId))).then(async l=>{var D,I;let c;const L=l,T=((D=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:D.val)!==!1&&((I=this._systemConfig)==null?void 0:I.diag)!=="none"&&(L==null?void 0:L.common)&&L.common.name&&L.common.version&&!L.common.disableDataReporting&&window.location.host!=="localhost:3000";!this.sentryStarted&&this.sentryDSN&&T&&(this.sentryStarted=!0,Y4({dsn:this.sentryDSN,release:`iobroker.${L.common.name}@${L.common.version}`,integrations:[Wn()]}),console.log("Sentry initialized")),!this.sentryInited&&T&&(this.sentryInited=!0,c=this.socket.getObject("system.meta.uuid").then(C=>{C&&C.native&&C.native.uuid&&ot().setUser({id:C.native.uuid})})),c=c instanceof Promise?c:Promise.resolve(),c.then(()=>{L?(this.common=L==null?void 0:L.common,this.onPrepareLoad(L.native,L.encryptedNative),this.savedNative=JSON.parse(JSON.stringify(L.native)),this.setState({native:L.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(l=>window.alert(`Cannot settings: ${l}`))},onError:l=>{console.error(l),this.showError(l)}})}static isWeb(){return window.socketUrl!==void 0}showAlert(e,t){t!=="error"&&t!=="warning"&&t!=="info"&&t!=="success"&&(t="info"),this.setState({_alert:!0,_alertType:t,_alertMessage:e})}renderAlertSnackbar(){return this.alertDialogRendered=!0,n.createElement(g.Snackbar,{style:this.state._alertType==="error"?{backgroundColor:"#f44336"}:this.state._alertType==="success"?{backgroundColor:"#4caf50"}:void 0,open:this.state._alert,autoHideDuration:6e3,onClose:(e,t)=>t!=="clickaway"&&this.setState({_alert:!1}),message:this.state._alertMessage})}onSystemConfigChanged=(e,t)=>{var s,o;t&&e==="system.config"&&(this.socket.systemLang!==(t==null?void 0:t.common.language)&&(this.socket.systemLang=(t==null?void 0:t.common.language)||"en",d.setLanguage(this.socket.systemLang)),((s=this._systemConfig)==null?void 0:s.expertMode)!==!!((o=t==null?void 0:t.common)!=null&&o.expertMode)?(this._systemConfig=(t==null?void 0:t.common)||{},this.setState({expertMode:this.getExpertMode()})):this._systemConfig=(t==null?void 0:t.common)||{})};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),window.iobOldAlert&&(window.alert=window.iobOldAlert,delete window.iobOldAlert),super.componentWillUnmount()}onReceiveMessage=e=>{if(e!=null&&e.data)if(e.data==="updateTheme"){const t=S.getThemeName();S.setThemeName(S.getThemeName());const s=this.createTheme(t);this.setState({theme:s,themeName:this.getThemeName(s),themeType:this.getThemeType(s)},()=>{this.props.onThemeChange&&this.props.onThemeChange(t),this.onThemeChanged&&this.onThemeChanged(t)})}else e.data==="updateExpertMode"?this.onToggleExpertMode&&this.onToggleExpertMode(this.getExpertMode()):e.data!=="chartReady"&&console.debug(`Received unknown message: "${JSON.stringify(e.data)}". May be it will be processed later`)};onResize=()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.setState({width:At.getWidth()})},200)};static getWidth(){const e={xs:0,sm:600,md:960,lg:1280,xl:1920},t=window.innerWidth;return Object.keys(e).reverse().find(r=>t>=e[r])||"xs"}createTheme(e){return cc(S.getThemeName(e))}getThemeName(e){return e.name}getThemeType(e){return e.palette.mode}onThemeChanged(e){}onToggleExpertMode(e){}toggleTheme(e){const t=this.state.themeName;if(e=e||(t==="dark"||t==="blue"||t==="colored"?"light":"dark"),e!==t){S.setThemeName(e);const s=this.createTheme(e);this.setState({theme:s,themeName:this.getThemeName(s),themeType:this.getThemeType(s)},()=>{this.props.onThemeChange&&this.props.onThemeChange(e||"light"),this.onThemeChanged&&this.onThemeChanged(e||"light")})}}getSystemConfig(){return this.socket.getSystemConfig()}getExpertMode(){var e;return window.sessionStorage.getItem("App.expertMode")==="true"||!!((e=this._systemConfig)!=null&&e.expertMode)}onConnectionReady(){}encrypt(e){let t="";if(this._secret)for(let s=0;s{e[s]&&(e[s]=this.encrypt(e[s]))}),!0}onPrepareLoad(e,t){var s;(s=this.encryptedFields)==null||s.forEach(o=>{e[o]&&(e[o]=this.decrypt(e[o]))}),t==null||t.forEach(o=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(o)&&this.encryptedFields.push(o),e[o]&&(e[o]=this.decrypt(e[o]))})}async getExtendableInstances(){try{const e=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.香");return Object.values(e).filter(t=>{var s;return!!((s=t==null?void 0:t.common)!=null&&s.webExtendable)})}catch{return[]}}async getIpAddresses(e){var r;const t=await this.socket.getHostByIp(e||((r=this.common)==null?void 0:r.host)||""),s=t.find(M=>M.address==="0.0.0.0");s&&(s.name=`[IPv4] 0.0.0.0 - ${d.t("ra_Listen on all IPs")}`);const o=t.find(M=>M.address==="::");return o&&(o.name=`[IPv4] :: - ${d.t("ra_Listen on all IPs")}`),t}onSave(e){let t;if(this.state.isConfigurationError){this.setState({errorText:this.state.isConfigurationError});return}this.socket.getObject(this.instanceId).then(s=>{t=s||{};for(const o in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,o)&&(this.state.native[o]===null?t.native[o]=null:this.state.native[o]!==void 0?t.native[o]=JSON.parse(JSON.stringify(this.state.native[o])):delete t.native[o]);if(this.state.common)for(const o in this.state.common)this.state.common[o]===null?t.common[o]=null:this.state.common[o]!==void 0?t.common[o]=JSON.parse(JSON.stringify(this.state.common[o])):delete t.common[o];return this.onPrepareSave(t.native)!==!1?this.socket.setObject(this.instanceId,t):Promise.reject(new Error("Invalid configuration"))}).then(()=>{this.savedNative=t.native,globalThis.changed=!1;try{window.parent.postMessage("nochange","*")}catch{}this.setState({changed:!1},()=>{e&&At.onClose()})}).catch(s=>console.error(`Cannot save configuration: ${s}`))}renderToast(){return this.state.toast?n.createElement(g.Snackbar,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:n.createElement("span",{id:"message-id"},this.state.toast),action:[n.createElement(g.IconButton,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>this.setState({toast:""}),size:"large"},n.createElement(m.Close,null))]}):null}static onClose(){if(typeof window.parent<"u"&&window.parent)try{window.parent.$iframeDialog&&typeof window.parent.$iframeDialog.close=="function"?window.parent.$iframeDialog.close():window.parent.postMessage("close","*")}catch{window.parent.postMessage("close","*")}}renderError(){return this.state.errorText?n.createElement(qn,{text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}getIsChanged(e){e=e||this.state.native;const t=JSON.stringify(e)!==JSON.stringify(this.savedNative);return globalThis.changed=t,t}onLoadConfig(e){JSON.stringify(e)!==JSON.stringify(this.state.native)&&this.setState({native:e,changed:this.getIsChanged(e)})}setConfigurationError(e){this.state.isConfigurationError!==e&&this.setState({isConfigurationError:e})}renderSaveCloseButtons(){return!this.state.confirmClose&&!this.state.bottomButtons?null:n.createElement(n.Fragment,null,this.state.bottomButtons?n.createElement(J4,{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:e=>this.onSave(e),onClose:()=>{this.state.changed?this.setState({confirmClose:!0}):At.onClose()},error:!!this.state.isConfigurationError}):null,this.state.confirmClose?n.createElement(Kn,{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:e=>this.setState({confirmClose:!1},()=>e&&At.onClose())}):null)}_updateNativeValue(e,t,s){typeof t!="object"&&(t=t.split("."));const o=t.shift()||"";if(!t.length)return s&&typeof s=="object"?JSON.stringify(e[o])!==JSON.stringify(s)?(e[o]=s,!0):!1:e[o]!==s?(e[o]=s,!0):!1;if(e[o]=e[o]||{},typeof e[o]!="object")throw new Error(`attribute ${o} is no object, but ${typeof e[o]}`);return this._updateNativeValue(e[o],t,s)}updateNativeValue(e,t,s){const o=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(o,e,t)){const r=this.getIsChanged(o);if(r!==this.state.changed)try{window.parent.postMessage(r?"change":"nochange","*")}catch{}this.setState({native:o,changed:r},s)}}showError(e){this.setState({errorText:e})}showToast(e){this.setState({toast:e})}renderHelperDialogs(){return n.createElement(n.Fragment,null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar())}render(){return this.state.loaded?n.createElement("div",{className:"App"},this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar()):n.createElement(v4,{themeType:this.state.themeType})}}const Qe={color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{mt:"16px",p:"5px",backgroundColor:"background.paper",borderRadius:"1px",boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{"& .MuiPaper-root":{textAlign:"right",backgroundColor:"#00000000",boxShadow:"none"}},popoverList:{padding:0},closeButton:i=>({backgroundColor:`${i.palette.background.paper} !important`,borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:`${i.palette.secondary.main} !important`}}),textDense:{mt:0,mb:0},iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}};class Ls extends b.Component{constructor(e){super(e),this.state={displayColorPicker:!1,color:this.props.value||this.props.color||"",anchorEl:null}}handleClick=e=>{this.setState({displayColorPicker:!this.state.displayColorPicker,anchorEl:this.state.displayColorPicker?null:e.currentTarget})};handleClose=()=>{this.setState({displayColorPicker:!1,anchorEl:null})};static getColor(e,t){if(e&&typeof e=="object"){const s=e;if(s.rgb)return t?`#${s.rgb.r.toString(16).padStart(2,"0")}${s.rgb.g.toString(16).padStart(2,"0")}${s.rgb.b.toString(16).padStart(2,"0")}`:`rgba(${s.rgb.r},${s.rgb.g},${s.rgb.b},${s.rgb.a})`;const o=e;return t?`#${o.r.toString(16).padStart(2,"0")}${o.g.toString(16).padStart(2,"0")}${o.b.toString(16).padStart(2,"0")}`:`rgba(${o.r},${o.g},${o.b},${o.a})`}return typeof e=="string"?t?Ls.rgb2hex(e||""):e||"":""}static rgb2hex(e){const t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(t){const s=parseInt(t[1],10).toString(16).padStart(2,"0"),o=parseInt(t[2],10).toString(16).padStart(2,"0"),r=parseInt(t[3],10).toString(16).padStart(2,"0");return(t==null?void 0:t.length)===4?`#${s}${o}${r}`:e}return e}handleChange=e=>{this.setState({color:e},()=>this.props.onChange&&this.props.onChange(Ls.getColor(e)))};componentDidUpdate(e,t){const s=Ls.getColor(this.props.color||this.props.value||"");s!==t.color&&this.setState({color:s})}renderCustomPalette(){return this.props.customPalette?n.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(e=>n.createElement(g.Button,{style:Qe.button,key:e,onClick:()=>{this.handleChange(e),setTimeout(()=>this.handleClose(),300)}},n.createElement("div",{style:{...Qe.iconButton,background:e}})))):null}render(){var s;const e={...this.props.style||{}};e.position="relative";const{color:t}=this.state;return n.createElement(g.Box,{component:"div",style:e,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:n.createElement(g.TextField,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",label:this.props.label||this.props.name,value:t||"",margin:"dense",sx:{"&.MuiFormControl-root":Qe.textDense,width:t?"calc(100% - 80px)":"calc(100% - 56px)",mr:t?void 0:1},onChange:o=>this.handleChange(o.target.value)}),!this.props.noInputField&&t?n.createElement(g.IconButton,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?Qe.delButton:void 0},n.createElement(m.Delete,null)):null,n.createElement(g.Box,{component:"div",onClick:o=>!this.props.disabled&&this.handleClick(o),title:d.t("ra_Select color"),sx:{...Qe.swatch,...this.props.disabled?Qe.swatchDisabled:void 0,background:t?void 0:"transparent",border:t?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField||!(this.props.label||this.props.name)?0:void 0}},n.createElement("div",{style:{...Qe.color,background:Ls.getColor(t),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?n.createElement(g.Menu,{sx:{...Qe.popover,"&. MuiMenu-list":Qe.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},n.createElement(ic,{color:this.state.color||void 0,onChangeComplete:o=>this.handleChange(o.rgb),styles:{default:{picker:{backgroundColor:((s=this.props.theme)==null?void 0:s.palette.background.paper)||"#888"}}}}),t&&this.props.noInputField?n.createElement(g.IconButton,{sx:Qe.closeButton,onClick:()=>this.handleChange("")},n.createElement(m.Delete,null)):null,n.createElement(g.IconButton,{sx:Qe.closeButton,onClick:()=>this.handleClose()},n.createElement(m.Close,null)),this.renderCustomPalette()):null)}}var ea={exports:{}};(function(i,e){(function(s,o){i.exports=o()})(globalThis,()=>(()=>{var t={949:(M,a,u)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.CronParser=void 0;var N=u(515),l=function(){function c(L,j,T){j===void 0&&(j=!0),T===void 0&&(T=!1),this.expression=L,this.dayOfWeekStartIndexZero=j,this.monthStartIndexZero=T}return c.prototype.parse=function(){var L,j,T=(L=this.expression)!==null&&L!==void 0?L:"";if(T==="@reboot")return j=["@reboot","","","","","",""],j;if(T.startsWith("@")){var D=this.parseSpecial(this.expression);j=this.extractParts(D)}else j=this.extractParts(this.expression);return this.normalize(j),this.validate(j),j},c.prototype.parseSpecial=function(L){var j={"@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 * * * *","@reboot":"@reboot"},T=j[L];if(!T)throw new Error("Unknown special expression.");return T},c.prototype.extractParts=function(L){if(!this.expression)throw new Error("cron expression is empty");for(var j=L.trim().split(/[ ]+/),T=0;T7)throw new Error("Expression has ".concat(j.length," parts; too many!"));return j},c.prototype.normalize=function(L){var j=this;if(L[3]=L[3].replace("?","*"),L[5]=L[5].replace("?","*"),L[2]=L[2].replace("?","*"),L[0].indexOf("0/")==0&&(L[0]=L[0].replace("0/","*/")),L[1].indexOf("0/")==0&&(L[1]=L[1].replace("0/","*/")),L[2].indexOf("0/")==0&&(L[2]=L[2].replace("0/","*/")),L[3].indexOf("1/")==0&&(L[3]=L[3].replace("1/","*/")),L[4].indexOf("1/")==0&&(L[4]=L[4].replace("1/","*/")),L[6].indexOf("1/")==0&&(L[6]=L[6].replace("1/","*/")),L[5]=L[5].replace(/(^\d)|([^#/\s]\d)/g,function(p){var z=p.replace(/\D/,""),O=z;return j.dayOfWeekStartIndexZero?z=="7"&&(O="0"):O=(parseInt(z)-1).toString(),p.replace(z,O)}),L[5]=="L"&&(L[5]="6"),L[3]=="?"&&(L[3]="*"),L[3].indexOf("W")>-1&&(L[3].indexOf(",")>-1||L[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 T={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var D in T)L[5]=L[5].replace(new RegExp(D,"gi"),T[D].toString());L[4]=L[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(p){var z=p.replace(/\D/,""),O=z;return j.monthStartIndexZero&&(O=(parseInt(z)+1).toString()),p.replace(z,O)});var I={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 C in I)L[4]=L[4].replace(new RegExp(C,"gi"),I[C].toString());L[0]=="0"&&(L[0]=""),!/\*|\-|\,|\//.test(L[2])&&(/\*|\//.test(L[1])||/\*|\//.test(L[0]))&&(L[2]+="-".concat(L[2]));for(var E=0;E-1&&!/^\*|\-|\,/.test(L[E])){var A=null;switch(E){case 4:A="12";break;case 5:A="6";break;case 6:A="9999";break;default:A=null;break}if(A!==null){var _=L[E].split("/");L[E]="".concat(_[0],"-").concat(A,"/").concat(_[1])}}},c.prototype.validate=function(L){var j="0-9,\\-*/";this.validateOnlyExpectedCharactersFound(L[0],j),this.validateOnlyExpectedCharactersFound(L[1],j),this.validateOnlyExpectedCharactersFound(L[2],j),this.validateOnlyExpectedCharactersFound(L[3],"0-9,\\-*/LW"),this.validateOnlyExpectedCharactersFound(L[4],j),this.validateOnlyExpectedCharactersFound(L[5],"0-9,\\-*/L#"),this.validateOnlyExpectedCharactersFound(L[6],j),this.validateAnyRanges(L)},c.prototype.validateAnyRanges=function(L){N.default.secondRange(L[0]),N.default.minuteRange(L[1]),N.default.hourRange(L[2]),N.default.dayOfMonthRange(L[3]),N.default.monthRange(L[4],this.monthStartIndexZero),N.default.dayOfWeekRange(L[5],this.dayOfWeekStartIndexZero)},c.prototype.validateOnlyExpectedCharactersFound=function(L,j){var T=L.match(new RegExp("[^".concat(j,"]+"),"gi"));if(T&&T.length)throw new Error("Expression contains invalid values: '".concat(T.toString(),"'"))},c}();a.CronParser=l},333:(M,a,u)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.ExpressionDescriptor=void 0;var N=u(823),l=u(949),c=function(){function L(j,T){if(this.expression=j,this.options=T,this.expressionParts=new Array(5),!this.options.locale&&L.defaultLocale&&(this.options.locale=L.defaultLocale),!L.locales[this.options.locale]){var D=Object.keys(L.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(D,"'.")),this.options.locale=D}this.i18n=L.locales[this.options.locale],T.use24HourTimeFormat===void 0&&(T.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return L.toString=function(j,T){var D=T===void 0?{}:T,I=D.throwExceptionOnParseError,C=I===void 0?!0:I,E=D.verbose,A=E===void 0?!1:E,_=D.dayOfWeekStartIndexZero,p=_===void 0?!0:_,z=D.monthStartIndexZero,O=z===void 0?!1:z,k=D.use24HourTimeFormat,f=D.locale,P=f===void 0?null:f,Y={throwExceptionOnParseError:C,verbose:A,dayOfWeekStartIndexZero:p,monthStartIndexZero:O,use24HourTimeFormat:k,locale:P};Y.tzOffset&&console.warn("'tzOffset' option has been deprecated and is no longer supported.");var V=new L(j,Y);return V.getFullDescription()},L.initialize=function(j,T){T===void 0&&(T="en"),L.specialCharacters=["/","-",",","*"],L.defaultLocale=T,j.load(L.locales)},L.prototype.getFullDescription=function(){var j,T,D="";try{var I=new l.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=I.parse(),this.expressionParts[0]==="@reboot")return((T=(j=this.i18n).atReboot)===null||T===void 0?void 0:T.call(j))||"Run once, at startup";var C=this.getTimeOfDayDescription(),E=this.getDayOfMonthDescription(),A=this.getMonthDescription(),_=this.getDayOfWeekDescription(),p=this.getYearDescription();D+=C+E+_+A+p,D=this.transformVerbosity(D,!!this.options.verbose),D=D.charAt(0).toLocaleUpperCase()+D.substr(1)}catch(z){if(!this.options.throwExceptionOnParseError)D=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(z)}return D},L.prototype.getTimeOfDayDescription=function(){var j=this.expressionParts[0],T=this.expressionParts[1],D=this.expressionParts[2],I="";if(!N.StringUtilities.containsAny(T,L.specialCharacters)&&!N.StringUtilities.containsAny(D,L.specialCharacters)&&!N.StringUtilities.containsAny(j,L.specialCharacters))I+=this.i18n.atSpace()+this.formatTime(D,T,j);else if(!j&&T.indexOf("-")>-1&&!(T.indexOf(",")>-1)&&!(T.indexOf("/")>-1)&&!N.StringUtilities.containsAny(D,L.specialCharacters)){var C=T.split("-");I+=N.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(D,C[0],""),this.formatTime(D,C[1],""))}else if(!j&&D.indexOf(",")>-1&&D.indexOf("-")==-1&&D.indexOf("/")==-1&&!N.StringUtilities.containsAny(T,L.specialCharacters)){var E=D.split(",");I+=this.i18n.at();for(var A=0;A-1?E=I.substring(0,I.indexOf("#")):I.indexOf("L")>-1&&(E=E.replace("L",""));var A=parseInt(E),_=j.i18n.daysOfTheWeekInCase?j.i18n.daysOfTheWeekInCase(C)[A]:T[A];if(I.indexOf("#")>-1){var p=null,z=I.substring(I.indexOf("#")+1),O=I.substring(0,I.indexOf("#"));switch(z){case"1":p=j.i18n.first(O);break;case"2":p=j.i18n.second(O);break;case"3":p=j.i18n.third(O);break;case"4":p=j.i18n.fourth(O);break;case"5":p=j.i18n.fifth(O);break}_=p+" "+_}return _},function(I){return parseInt(I)==1?"":N.StringUtilities.format(j.i18n.commaEveryX0DaysOfTheWeek(I),I)},function(I){var C=I.substring(0,I.indexOf("-")),E=j.expressionParts[3]!="*";return E?j.i18n.commaAndX0ThroughX1(C):j.i18n.commaX0ThroughX1(C)},function(I){var C=null;if(I.indexOf("#")>-1){var E=I.substring(I.indexOf("#")+1),A=I.substring(0,I.indexOf("#"));C=j.i18n.commaOnThe(E,A).trim()+j.i18n.spaceX0OfTheMonth()}else if(I.indexOf("L")>-1)C=j.i18n.commaOnTheLastX0OfTheMonth(I.replace("L",""));else{var _=j.expressionParts[3]!="*";C=_?j.i18n.commaAndOnX0():j.i18n.commaOnlyOnX0(I)}return C}),D},L.prototype.getMonthDescription=function(){var j=this,T=this.i18n.monthsOfTheYear(),D=this.getSegmentDescription(this.expressionParts[4],"",function(I,C){return C&&j.i18n.monthsOfTheYearInCase?j.i18n.monthsOfTheYearInCase(C)[parseInt(I)-1]:T[parseInt(I)-1]},function(I){return parseInt(I)==1?"":N.StringUtilities.format(j.i18n.commaEveryX0Months(I),I)},function(I){return j.i18n.commaMonthX0ThroughMonthX1()||j.i18n.commaX0ThroughX1()},function(I){return j.i18n.commaOnlyInMonthX0?j.i18n.commaOnlyInMonthX0():j.i18n.commaOnlyInX0()});return D},L.prototype.getDayOfMonthDescription=function(){var j=this,T=null,D=this.expressionParts[3];switch(D){case"L":T=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":T=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var I=D.match(/(\d{1,2}W)|(W\d{1,2})/);if(I){var C=parseInt(I[0].replace("W","")),E=C==1?this.i18n.firstWeekday():N.StringUtilities.format(this.i18n.weekdayNearestDayX0(),C.toString());T=N.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),E);break}else{var A=D.match(/L-(\d{1,2})/);if(A){var _=A[1];T=N.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(_),_);break}else{if(D=="*"&&this.expressionParts[5]!="*")return"";T=this.getSegmentDescription(D,this.i18n.commaEveryDay(),function(p){return p=="L"?j.i18n.lastDay():j.i18n.dayX0?N.StringUtilities.format(j.i18n.dayX0(),p):p},function(p){return p=="1"?j.i18n.commaEveryDay():j.i18n.commaEveryX0Days(p)},function(p){return j.i18n.commaBetweenDayX0AndX1OfTheMonth(p)},function(p){return j.i18n.commaOnDayX0OfTheMonth(p)})}break}}return T},L.prototype.getYearDescription=function(){var j=this,T=this.getSegmentDescription(this.expressionParts[6],"",function(D){return/^\d+$/.test(D)?new Date(parseInt(D),1).getFullYear().toString():D},function(D){return N.StringUtilities.format(j.i18n.commaEveryX0Years(D),D)},function(D){return j.i18n.commaYearX0ThroughYearX1()||j.i18n.commaX0ThroughX1()},function(D){return j.i18n.commaOnlyInYearX0?j.i18n.commaOnlyInYearX0():j.i18n.commaOnlyInX0()});return T},L.prototype.getSegmentDescription=function(j,T,D,I,C,E){var A=null,_=j.indexOf("/")>-1,p=j.indexOf("-")>-1,z=j.indexOf(",")>-1;if(!j)A="";else if(j==="*")A=T;else if(!_&&!p&&!z)A=N.StringUtilities.format(E(j),D(j));else if(z){for(var O=j.split(","),k="",f=0;f0&&O.length>2&&(k+=",",f0&&O.length>1&&(f==O.length-1||O.length==2)&&(k+="".concat(this.i18n.spaceAnd()," ")),O[f].indexOf("/")>-1||O[f].indexOf("-")>-1){var P=O[f].indexOf("-")>-1&&O[f].indexOf("/")==-1,Y=this.getSegmentDescription(O[f],T,D,I,P?this.i18n.commaX0ThroughX1:C,E);P&&(Y=Y.replace(", ","")),k+=Y}else _?k+=this.getSegmentDescription(O[f],T,D,I,C,E):k+=D(O[f]);_?A=k:A=N.StringUtilities.format(E(j),k)}else if(_){var O=j.split("/");if(A=N.StringUtilities.format(I(O[1]),O[1]),O[0].indexOf("-")>-1){var V=this.generateRangeSegmentDescription(O[0],C,D);V.indexOf(", ")!=0&&(A+=", "),A+=V}else if(O[0].indexOf("*")==-1){var oe=N.StringUtilities.format(E(O[0]),D(O[0]));oe=oe.replace(", ",""),A+=N.StringUtilities.format(this.i18n.commaStartingX0(),oe)}}else p&&(A=this.generateRangeSegmentDescription(j,C,D));return A},L.prototype.generateRangeSegmentDescription=function(j,T,D){var I="",C=j.split("-"),E=D(C[0],1),A=D(C[1],2),_=T(j);return I+=N.StringUtilities.format(_,E,A),I},L.prototype.formatTime=function(j,T,D){var I=0,C=0,E=parseInt(j)+I,A=parseInt(T)+C;A>=60?(A-=60,E+=1):A<0&&(A+=60,E-=1),E>=24?E=E-24:E<0&&(E=24+E);var _="",p=!1;this.options.use24HourTimeFormat||(p=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),_=p?"".concat(this.getPeriod(E)," "):" ".concat(this.getPeriod(E)),E>12&&(E-=12),E===0&&(E=12));var z="";return D&&(z=":".concat(("00"+D).substring(D.length))),"".concat(p?_:"").concat(("00"+E.toString()).substring(E.toString().length),":").concat(("00"+A.toString()).substring(A.toString().length)).concat(z).concat(p?"":_)},L.prototype.transformVerbosity=function(j,T){if(!T&&(j=j.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),j=j.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),j=j.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),j=j.replace(/\, ?$/,""),this.i18n.conciseVerbosityReplacements))for(var D=0,I=Object.entries(this.i18n.conciseVerbosityReplacements());D=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},L.locales={},L}();a.ExpressionDescriptor=c},747:(M,a,u)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.enLocaleLoader=void 0;var N=u(486),l=function(){function c(){}return c.prototype.load=function(L){L.en=new N.en},c}();a.enLocaleLoader=l},486:(M,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.en=void 0;var u=function(){function N(){}return N.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},N.prototype.atX0MinutesPastTheHourGt20=function(){return null},N.prototype.commaMonthX0ThroughMonthX1=function(){return null},N.prototype.commaYearX0ThroughYearX1=function(){return null},N.prototype.use24HourTimeFormatByDefault=function(){return!1},N.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occurred when generating the expression description. Check the cron expression syntax."},N.prototype.everyMinute=function(){return"every minute"},N.prototype.everyHour=function(){return"every hour"},N.prototype.atSpace=function(){return"At "},N.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},N.prototype.at=function(){return"At"},N.prototype.spaceAnd=function(){return" and"},N.prototype.everySecond=function(){return"every second"},N.prototype.everyX0Seconds=function(){return"every %s seconds"},N.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},N.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},N.prototype.everyX0Minutes=function(){return"every %s minutes"},N.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},N.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},N.prototype.everyX0Hours=function(){return"every %s hours"},N.prototype.betweenX0AndX1=function(){return"between %s and %s"},N.prototype.atX0=function(){return"at %s"},N.prototype.commaEveryDay=function(){return", every day"},N.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},N.prototype.commaX0ThroughX1=function(){return", %s through %s"},N.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},N.prototype.first=function(){return"first"},N.prototype.second=function(){return"second"},N.prototype.third=function(){return"third"},N.prototype.fourth=function(){return"fourth"},N.prototype.fifth=function(){return"fifth"},N.prototype.commaOnThe=function(){return", on the "},N.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},N.prototype.lastDay=function(){return"the last day"},N.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},N.prototype.commaOnlyOnX0=function(){return", only on %s"},N.prototype.commaAndOnX0=function(){return", and on %s"},N.prototype.commaEveryX0Months=function(){return", every %s months"},N.prototype.commaOnlyInX0=function(){return", only in %s"},N.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},N.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},N.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},N.prototype.firstWeekday=function(){return"first weekday"},N.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},N.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},N.prototype.commaEveryX0Days=function(){return", every %s days"},N.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},N.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},N.prototype.commaEveryHour=function(){return", every hour"},N.prototype.commaEveryX0Years=function(){return", every %s years"},N.prototype.commaStartingX0=function(){return", starting %s"},N.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},N.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},N.prototype.atReboot=function(){return"Run once, at startup"},N}();a.en=u},515:(M,a)=>{Object.defineProperty(a,"__esModule",{value:!0});function u(l,c){if(!l)throw new Error(c)}var N=function(){function l(){}return l.secondRange=function(c){for(var L=c.split(","),j=0;j=0&&T<=59,"seconds part must be >= 0 and <= 59")}},l.minuteRange=function(c){for(var L=c.split(","),j=0;j=0&&T<=59,"minutes part must be >= 0 and <= 59")}},l.hourRange=function(c){for(var L=c.split(","),j=0;j=0&&T<=23,"hours part must be >= 0 and <= 23")}},l.dayOfMonthRange=function(c){for(var L=c.split(","),j=0;j=1&&T<=31,"DOM part must be >= 1 and <= 31")}},l.monthRange=function(c,L){for(var j=c.split(","),T=0;T=1&&D<=12,L?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},l.dayOfWeekRange=function(c,L){for(var j=c.split(","),T=0;T=0&&D<=6,L?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},l}();a.default=N},823:(M,a)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.StringUtilities=void 0;var u=function(){function N(){}return N.format=function(l){for(var c=[],L=1;L-1})},N}();a.StringUtilities=u}},s={};function o(M){var a=s[M];if(a!==void 0)return a.exports;var u=s[M]={exports:{}};return t[M](u,u.exports,o),u.exports}var r={};return(()=>{var M=r;Object.defineProperty(M,"__esModule",{value:!0}),M.toString=void 0;var a=o(333),u=o(747);a.ExpressionDescriptor.initialize(new u.enLocaleLoader),M.default=a.ExpressionDescriptor;var N=a.ExpressionDescriptor.toString;M.toString=N})(),r})())})(ea);var Ge=ea.exports;const XMe=rc(Ge);var KMe={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.fr=void 0;var l=function(){function c(){}return c.prototype.conciseVerbosityReplacements=function(){return{"de le":"du"}},c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en générant la description de l'expression cron. Vérifiez sa syntaxe."},c.prototype.everyMinute=function(){return"toutes les minutes"},c.prototype.everyHour=function(){return"toutes les heures"},c.prototype.atSpace=function(){return"À "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},c.prototype.at=function(){return"À"},c.prototype.spaceAnd=function(){return" et"},c.prototype.everySecond=function(){return"toutes les secondes"},c.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s après la minute"},c.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes après la minute"},c.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s après l'heure"},c.prototype.atX0MinutesPastTheHour=function(){return"%s minutes après l'heure"},c.prototype.everyX0Hours=function(){return"toutes les %s heures"},c.prototype.betweenX0AndX1=function(){return"de %s à %s"},c.prototype.atX0=function(){return"%s"},c.prototype.commaEveryDay=function(){return", tous les jours"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},c.prototype.commaX0ThroughX1=function(){return", de %s à %s"},c.prototype.commaAndX0ThroughX1=function(){return", et de %s à %s"},c.prototype.first=function(){return"premier"},c.prototype.second=function(){return"second"},c.prototype.third=function(){return"troisième"},c.prototype.fourth=function(){return"quatrième"},c.prototype.fifth=function(){return"cinquième"},c.prototype.commaOnThe=function(){return", le "},c.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},c.prototype.lastDay=function(){return"le dernier jour"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},c.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},c.prototype.commaAndOnX0=function(){return", et %s"},c.prototype.commaEveryX0Months=function(){return", tous les %s mois"},c.prototype.commaOnlyInX0=function(){return", uniquement en %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},c.prototype.firstWeekday=function(){return"premier jour ouvrable"},c.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},c.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},c.prototype.commaEveryX0Days=function(){return", tous les %s jours"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},c.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},c.prototype.commaEveryHour=function(){return", chaque heure"},c.prototype.commaEveryX0Years=function(){return", tous les %s ans"},c.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},c.prototype.commaStartingX0=function(){return", à partir de %s"},c.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},c.prototype.monthsOfTheYear=function(){return["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},c}();return N.fr=l,u().locales.fr=new l,M})())})(KMe);var qMe={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.es=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurrió un error mientras se generaba la descripción de la expresión. Revise la sintaxis de la expresión de cron."},c.prototype.at=function(){return"A las"},c.prototype.atSpace=function(){return"A las "},c.prototype.atX0=function(){return"a las %s"},c.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},c.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},c.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los días %s y %s del mes"},c.prototype.commaEveryDay=function(){return", cada día"},c.prototype.commaEveryX0Days=function(){return", cada %s días"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s días de la semana"},c.prototype.commaEveryX0Months=function(){return", cada %s meses"},c.prototype.commaOnDayX0OfTheMonth=function(){return", el día %s del mes"},c.prototype.commaOnlyInX0=function(){return", sólo en %s"},c.prototype.commaOnlyOnX0=function(){return", sólo el %s"},c.prototype.commaAndOnX0=function(){return", y el %s"},c.prototype.commaOnThe=function(){return", en el "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el último día del mes"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el último día de la semana del mes"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s días antes del último día del mes"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el último %s del mes"},c.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},c.prototype.commaX0ThroughX1=function(){return", de %s a %s"},c.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},c.prototype.everyHour=function(){return"cada hora"},c.prototype.everyMinute=function(){return"cada minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},c.prototype.everySecond=function(){return"cada segundo"},c.prototype.everyX0Hours=function(){return"cada %s horas"},c.prototype.everyX0Minutes=function(){return"cada %s minutos"},c.prototype.everyX0Seconds=function(){return"cada %s segundos"},c.prototype.fifth=function(){return"quinto"},c.prototype.first=function(){return"primero"},c.prototype.firstWeekday=function(){return"primer día de la semana"},c.prototype.fourth=function(){return"cuarto"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},c.prototype.second=function(){return"segundo"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},c.prototype.spaceAnd=function(){return" y"},c.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},c.prototype.lastDay=function(){return"el último día"},c.prototype.third=function(){return"tercer"},c.prototype.weekdayNearestDayX0=function(){return"día de la semana más próximo al %s"},c.prototype.commaEveryX0Years=function(){return", cada %s años"},c.prototype.commaStartingX0=function(){return", comenzando %s"},c.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},c.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},c}();return N.es=l,u().locales.es=new l,M})())})(qMe);var ene={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.de=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.everyMinute=function(){return"jede Minute"},c.prototype.everyHour=function(){return"jede Stunde"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. Überprüfen Sie die Syntax des Cron-Ausdrucks."},c.prototype.atSpace=function(){return"Um "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},c.prototype.at=function(){return"Um"},c.prototype.spaceAnd=function(){return" und"},c.prototype.everySecond=function(){return"Jede Sekunde"},c.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},c.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},c.prototype.everyX0Minutes=function(){return"alle %s Minuten"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},c.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},c.prototype.everyX0Hours=function(){return"alle %s Stunden"},c.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},c.prototype.atX0=function(){return"um %s"},c.prototype.commaEveryDay=function(){return", jeden Tag"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},c.prototype.commaX0ThroughX1=function(){return", %s bis %s"},c.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},c.prototype.first=function(){return"ersten"},c.prototype.second=function(){return"zweiten"},c.prototype.third=function(){return"dritten"},c.prototype.fourth=function(){return"vierten"},c.prototype.fifth=function(){return"fünften"},c.prototype.commaOnThe=function(){return", am "},c.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},c.prototype.lastDay=function(){return"der letzte Tag"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},c.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},c.prototype.commaAndOnX0=function(){return", und jeden %s"},c.prototype.commaEveryX0Months=function(){return", alle %s Monate"},c.prototype.commaOnlyInX0=function(){return", nur im %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},c.prototype.firstWeekday=function(){return"ersten Werktag"},c.prototype.weekdayNearestDayX0=function(){return"Werktag am nächsten zum %s Tag"},c.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},c.prototype.commaEveryX0Days=function(){return", alle %s Tage"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},c.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},c.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},c.prototype.commaStartingX0=function(){return", beginnend %s"},c.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},c.prototype.monthsOfTheYear=function(){return["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},c}();return N.de=l,u().locales.de=new l,M})())})(ene);var tne={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.it=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"È verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},c.prototype.at=function(){return"Alle"},c.prototype.atSpace=function(){return"Alle "},c.prototype.atX0=function(){return"alle %s"},c.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},c.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},c.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},c.prototype.commaEveryDay=function(){return", ogni giorno"},c.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},c.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},c.prototype.commaEveryX0Years=function(){return", ogni %s anni"},c.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},c.prototype.commaOnlyInX0=function(){return", solo in %s"},c.prototype.commaOnlyOnX0=function(){return", solo il %s"},c.prototype.commaAndOnX0=function(){return", e il %s"},c.prototype.commaOnThe=function(){return", il "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},c.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},c.prototype.commaX0ThroughX1=function(){return", %s al %s"},c.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},c.prototype.everyHour=function(){return"ogni ora"},c.prototype.everyMinute=function(){return"ogni minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},c.prototype.everySecond=function(){return"ogni secondo"},c.prototype.everyX0Hours=function(){return"ogni %s ore"},c.prototype.everyX0Minutes=function(){return"ogni %s minuti"},c.prototype.everyX0Seconds=function(){return"ogni %s secondi"},c.prototype.fifth=function(){return"quinto"},c.prototype.first=function(){return"primo"},c.prototype.firstWeekday=function(){return"primo giorno della settimana"},c.prototype.fourth=function(){return"quarto"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},c.prototype.second=function(){return"secondo"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},c.prototype.spaceAnd=function(){return" e"},c.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},c.prototype.lastDay=function(){return"l'ultimo giorno"},c.prototype.third=function(){return"terzo"},c.prototype.weekdayNearestDayX0=function(){return"giorno della settimana più vicino al %s"},c.prototype.commaStartingX0=function(){return", a partire %s"},c.prototype.daysOfTheWeek=function(){return["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},c.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},c}();return N.it=l,u().locales.it=new l,M})())})(tne);var sne={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:j=>{j.exports=t}},o={};function r(j){var T=o[j];if(T!==void 0)return T.exports;var D=o[j]={exports:{}};return s[j](D,D.exports,r),D.exports}r.n=j=>{var T=j&&j.__esModule?()=>j.default:()=>j;return r.d(T,{a:T}),T},r.d=(j,T)=>{for(var D in T)r.o(T,D)&&!r.o(j,D)&&Object.defineProperty(j,D,{enumerable:!0,get:T[D]})},r.o=(j,T)=>Object.prototype.hasOwnProperty.call(j,T),r.r=j=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(j,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(j,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.ru=void 0;var l=function(j,T){var D=Number(j);return D!==void 0?T[D%100>4&&D%100<20?2:[2,0,1,1,1,2][D%10<5?Math.abs(D)%10:5]]:T[2]},c=function(j,T){var D=Number(j);return D!==void 0?T[D===0?0:D===1||D===2||D===4?1:2]:T[1]},L=function(){function j(){}return j.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},j.prototype.atX0MinutesPastTheHourGt20=function(){return null},j.prototype.commaMonthX0ThroughMonthX1=function(){return null},j.prototype.commaYearX0ThroughYearX1=function(){return null},j.prototype.use24HourTimeFormatByDefault=function(){return!0},j.prototype.everyMinute=function(){return"каждую минуту"},j.prototype.everyHour=function(){return"каждый час"},j.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Произошла ошибка во время генерации описания выражения. Проверьте синтаксис крон-выражения."},j.prototype.atSpace=function(){return"В "},j.prototype.everyMinuteBetweenX0AndX1=function(){return"Каждую минуту с %s по %s"},j.prototype.at=function(){return"В"},j.prototype.spaceAnd=function(){return" и"},j.prototype.everySecond=function(){return"каждую секунду"},j.prototype.everyX0Seconds=function(T){return l(T,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},j.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},j.prototype.atX0SecondsPastTheMinute=function(T){return l(T,["в %s секунду","в %s секунды","в %s секунд"])},j.prototype.everyX0Minutes=function(T){return l(T,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},j.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},j.prototype.atX0MinutesPastTheHour=function(T){return l(T,["в %s минуту","в %s минуты","в %s минут"])},j.prototype.everyX0Hours=function(T){return l(T,["каждый %s час","каждые %s часа","каждые %s часов"])},j.prototype.betweenX0AndX1=function(){return"с %s по %s"},j.prototype.atX0=function(){return"в %s"},j.prototype.commaEveryDay=function(){return", каждый день"},j.prototype.commaEveryX0DaysOfTheWeek=function(T){return l(T,["",", каждые %s дня недели",", каждые %s дней недели"])},j.prototype.commaX0ThroughX1=function(T){return T&&(T[0]=="2"||T[0]=="3")?", со %s по %s":", с %s по %s"},j.prototype.commaAndX0ThroughX1=function(T){return T&&(T[0]=="2"||T[0]=="3")?" и со %s по %s":" и с %s по %s"},j.prototype.first=function(T){return c(T,["первое","первый","первую"])},j.prototype.second=function(T){return c(T,["второе","второй","вторую"])},j.prototype.third=function(T){return c(T,["третье","третий","третью"])},j.prototype.fourth=function(T){return c(T,["четвертое","четвертый","четвертую"])},j.prototype.fifth=function(T){return c(T,["пятое","пятый","пятую"])},j.prototype.commaOnThe=function(T){return T==="2"?", во ":", в "},j.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},j.prototype.lastDay=function(){return"последний день"},j.prototype.commaOnTheLastX0OfTheMonth=function(T){return c(T,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},j.prototype.commaOnlyOnX0=function(T){return T&&T[0]==="2"?", только во %s":", только в %s"},j.prototype.commaAndOnX0=function(){return", и %s"},j.prototype.commaEveryX0Months=function(T){return l(T,[""," каждые %s месяца"," каждые %s месяцев"])},j.prototype.commaOnlyInMonthX0=function(){return", только %s"},j.prototype.commaOnlyInX0=function(){return", только в %s"},j.prototype.commaOnTheLastDayOfTheMonth=function(){return", в последний день месяца"},j.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в последний будний день месяца"},j.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(T){return l(T,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},j.prototype.firstWeekday=function(){return"первый будний день"},j.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},j.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},j.prototype.commaEveryX0Days=function(T){return l(T,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},j.prototype.commaBetweenDayX0AndX1OfTheMonth=function(T){return T&&T.substring(0,T.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},j.prototype.commaOnDayX0OfTheMonth=function(T){return T&&T[0]=="2"?", во %s число месяца":", в %s число месяца"},j.prototype.commaEveryX0Years=function(T){return l(T,[", каждый %s год",", каждые %s года",", каждые %s лет"])},j.prototype.commaStartingX0=function(){return", начало %s"},j.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},j.prototype.daysOfTheWeekInCase=function(T){return T===void 0&&(T=2),T==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},j.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},j.prototype.monthsOfTheYearInCase=function(T){return T==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},j}();return N.ru=L,u().locales.ru=new L,M})())})(sne);var ine={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.zh_CN=void 0;var l=function(){function c(){}return c.prototype.setPeriodBeforeTime=function(){return!0},c.prototype.pm=function(){return"下午"},c.prototype.am=function(){return"上午"},c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return", 从%s年至%s年"},c.prototype.use24HourTimeFormatByDefault=function(){return!1},c.prototype.everyMinute=function(){return"每分钟"},c.prototype.everyHour=function(){return"每小时"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"生成表达式描述时发生了错误,请检查cron表达式语法。"},c.prototype.atSpace=function(){return"在"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"在 %s 至 %s 之间的每分钟"},c.prototype.at=function(){return"在"},c.prototype.spaceAnd=function(){return" 和"},c.prototype.everySecond=function(){return"每秒"},c.prototype.everyX0Seconds=function(){return"每隔 %s 秒"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"在一分钟后的第 %s 到 %s 秒"},c.prototype.atX0SecondsPastTheMinute=function(){return"在一分钟后的第 %s 秒"},c.prototype.everyX0Minutes=function(){return"每隔 %s 分钟"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"在整点后的第 %s 到 %s 分钟"},c.prototype.atX0MinutesPastTheHour=function(){return"在整点后的第 %s 分钟"},c.prototype.everyX0Hours=function(){return"每隔 %s 小时"},c.prototype.betweenX0AndX1=function(){return"在 %s 和 %s 之间"},c.prototype.atX0=function(){return"在%s"},c.prototype.commaEveryDay=function(){return", 每天"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", 每周的每 %s 天"},c.prototype.commaX0ThroughX1=function(){return", %s至%s"},c.prototype.commaAndX0ThroughX1=function(){return", 和%s至%s"},c.prototype.first=function(){return"第一个"},c.prototype.second=function(){return"第二个"},c.prototype.third=function(){return"第三个"},c.prototype.fourth=function(){return"第四个"},c.prototype.fifth=function(){return"第五个"},c.prototype.commaOnThe=function(){return", 限每月的"},c.prototype.spaceX0OfTheMonth=function(){return"%s"},c.prototype.lastDay=function(){return"本月最后一天"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", 限每月的最后一个%s"},c.prototype.commaOnlyOnX0=function(){return", 仅%s"},c.prototype.commaAndOnX0=function(){return", 或者为%s"},c.prototype.commaEveryX0Months=function(){return", 每隔 %s 个月"},c.prototype.commaOnlyInX0=function(){return", 仅限%s"},c.prototype.commaOnlyInMonthX0=function(){return", 仅于%s份"},c.prototype.commaOnlyInYearX0=function(){return", 仅于 %s 年"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", 限每月的最后一天"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", 限每月的最后一个工作日"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", 限每月最后%s天"},c.prototype.firstWeekday=function(){return"第一个工作日"},c.prototype.weekdayNearestDayX0=function(){return"最接近 %s 号的工作日"},c.prototype.commaOnTheX0OfTheMonth=function(){return", 限每月的%s"},c.prototype.commaEveryX0Days=function(){return", 每隔 %s 天"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", 限每月的 %s 至 %s 之间"},c.prototype.commaOnDayX0OfTheMonth=function(){return", 限每月%s"},c.prototype.commaEveryX0Years=function(){return", 每隔 %s 年"},c.prototype.commaStartingX0=function(){return", %s开始"},c.prototype.dayX0=function(){return" %s 号"},c.prototype.daysOfTheWeek=function(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},c.prototype.monthsOfTheYear=function(){return["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},c}();return N.zh_CN=l,u().locales.zh_CN=new l,M})())})(ine);var one={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.uk=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.everyMinute=function(){return"щохвилини"},c.prototype.everyHour=function(){return"щогодини"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"ВІдбулася помилка підчас генерації опису. Перевірта правильність написання cron виразу."},c.prototype.atSpace=function(){return"О "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Щохвилини між %s та %s"},c.prototype.at=function(){return"О"},c.prototype.spaceAnd=function(){return" та"},c.prototype.everySecond=function(){return"Щосекунди"},c.prototype.everyX0Seconds=function(){return"кожні %s секунд"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"з %s по %s секунду"},c.prototype.atX0SecondsPastTheMinute=function(){return"о %s секунді"},c.prototype.everyX0Minutes=function(){return"кожні %s хвилин"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"з %s по %s хвилину"},c.prototype.atX0MinutesPastTheHour=function(){return"о %s хвилині"},c.prototype.everyX0Hours=function(){return"кожні %s годин"},c.prototype.betweenX0AndX1=function(){return"між %s та %s"},c.prototype.atX0=function(){return"о %s"},c.prototype.commaEveryDay=function(){return", щоденно"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", кожен %s день тижня"},c.prototype.commaX0ThroughX1=function(){return", %s по %s"},c.prototype.commaAndX0ThroughX1=function(){return", та %s по %s"},c.prototype.first=function(){return"перший"},c.prototype.second=function(){return"другий"},c.prototype.third=function(){return"третій"},c.prototype.fourth=function(){return"четвертий"},c.prototype.fifth=function(){return"п'ятий"},c.prototype.commaOnThe=function(){return", в "},c.prototype.spaceX0OfTheMonth=function(){return" %s місяця"},c.prototype.lastDay=function(){return"останній день"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", в останній %s місяця"},c.prototype.commaOnlyOnX0=function(){return", тільки в %s"},c.prototype.commaAndOnX0=function(){return", і в %s"},c.prototype.commaEveryX0Months=function(){return", кожен %s місяць"},c.prototype.commaOnlyInX0=function(){return", тільки в %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", в останній день місяця"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в останній будень місяця"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s днів до останнього дня місяця"},c.prototype.firstWeekday=function(){return"перший будень"},c.prototype.weekdayNearestDayX0=function(){return"будень найближчий до %s дня"},c.prototype.commaOnTheX0OfTheMonth=function(){return", в %s місяця"},c.prototype.commaEveryX0Days=function(){return", кожен %s день"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", між %s та %s днями місяця"},c.prototype.commaOnDayX0OfTheMonth=function(){return", на %s день місяця"},c.prototype.commaEveryX0Years=function(){return", кожні %s роки"},c.prototype.commaStartingX0=function(){return", початок %s"},c.prototype.daysOfTheWeek=function(){return["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"]},c.prototype.monthsOfTheYear=function(){return["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},c}();return N.uk=l,u().locales.uk=new l,M})())})(one);var rne={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.pt_BR=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descrição da expressão Cron."},c.prototype.at=function(){return"às"},c.prototype.atSpace=function(){return"às "},c.prototype.atX0=function(){return"Às %s"},c.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},c.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},c.prototype.betweenX0AndX1=function(){return"entre %s e %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do mês"},c.prototype.commaEveryDay=function(){return", a cada dia"},c.prototype.commaEveryX0Days=function(){return", a cada %s dias"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},c.prototype.commaEveryX0Months=function(){return", a cada %s meses"},c.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do mês"},c.prototype.commaOnlyInX0=function(L){return L&&L.length>1&&L[1]==="-"?"somente %s":", somente em %s"},c.prototype.commaOnlyOnX0=function(L){return L&&L.length>1&&L[1]==="-"?", somente %s":", somente de %s"},c.prototype.commaAndOnX0=function(){return", e de %s"},c.prototype.commaOnThe=function(L,j){return j==="6"||j==="0"?", no":", na "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", no último dia do mês"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no último dia da semana do mês"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do último dia do mês"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", na última %s do mês"},c.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do mês"},c.prototype.commaX0ThroughX1=function(){return", de %s a %s"},c.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},c.prototype.everyHour=function(){return"a cada hora"},c.prototype.everyMinute=function(){return"a cada minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},c.prototype.everySecond=function(){return"a cada segundo"},c.prototype.everyX0Hours=function(){return"a cada %s horas"},c.prototype.everyX0Minutes=function(){return"a cada %s minutos"},c.prototype.everyX0Seconds=function(){return"a cada %s segundos"},c.prototype.fifth=function(L){return L==="6"||L==="0"?"quinto":"quinta"},c.prototype.first=function(L){return L==="6"||L==="0"?"primeiro":"primeira"},c.prototype.firstWeekday=function(){return"primeiro dia da semana"},c.prototype.fourth=function(L){return L==="6"||L==="0"?"quarto":"quarta"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s até %s de cada hora"},c.prototype.second=function(L){return L==="6"||L==="0"?"segundo":"segunda"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s até %s de cada minuto"},c.prototype.spaceAnd=function(){return" e"},c.prototype.spaceX0OfTheMonth=function(){return" %s do mês"},c.prototype.lastDay=function(){return"o último dia"},c.prototype.third=function(L){return L==="6"||L==="0"?"terceiro":"terceira"},c.prototype.weekdayNearestDayX0=function(){return"dia da semana mais próximo do dia %s"},c.prototype.commaEveryX0Years=function(){return", a cada %s anos"},c.prototype.commaStartingX0=function(){return", iniciando %s"},c.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},c.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},c}();return N.pt_BR=l,u().locales.pt_BR=new l,M})())})(rne);var Mne={exports:{}};(function(i,e){(function(s,o){i.exports=o(Ge)})(globalThis,t=>(()=>{var s={93:c=>{c.exports=t}},o={};function r(c){var L=o[c];if(L!==void 0)return L.exports;var j=o[c]={exports:{}};return s[c](j,j.exports,r),j.exports}r.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return r.d(L,{a:L}),L},r.d=(c,L)=>{for(var j in L)r.o(L,j)&&!r.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},r.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),r.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};r.r(M);var a=r(93),u=r.n(a),N=M;Object.defineProperty(N,"__esModule",{value:!0}),N.pl=void 0;var l=function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wystąpił błąd podczas generowania opisu wyrażenia cron. Sprawdź składnię wyrażenia cron."},c.prototype.at=function(){return"O"},c.prototype.atSpace=function(){return"O "},c.prototype.atX0=function(){return"o %s"},c.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},c.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},c.prototype.betweenX0AndX1=function(){return"od %s do %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesiąca"},c.prototype.commaEveryDay=function(){return", co dzień"},c.prototype.commaEveryX0Days=function(){return", co %s dni"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},c.prototype.commaEveryX0Months=function(){return", co %s miesięcy"},c.prototype.commaEveryX0Years=function(){return", co %s lat"},c.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesiąca"},c.prototype.commaOnlyInX0=function(){return", tylko %s"},c.prototype.commaOnlyOnX0=function(){return", tylko %s"},c.prototype.commaAndOnX0=function(){return", i %s"},c.prototype.commaOnThe=function(){return", "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzień miesiąca"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzień roboczy miesiąca"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesiąca"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesiąca"},c.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesiąca"},c.prototype.commaX0ThroughX1=function(){return", od %s do %s"},c.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},c.prototype.everyHour=function(){return"co godzinę"},c.prototype.everyMinute=function(){return"co minutę"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minutę od %s do %s"},c.prototype.everySecond=function(){return"co sekundę"},c.prototype.everyX0Hours=function(){return"co %s godzin"},c.prototype.everyX0Minutes=function(){return"co %s minut"},c.prototype.everyX0Seconds=function(){return"co %s sekund"},c.prototype.fifth=function(){return"piąty"},c.prototype.first=function(){return"pierwszy"},c.prototype.firstWeekday=function(){return"pierwszy dzień roboczy"},c.prototype.fourth=function(){return"czwarty"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},c.prototype.second=function(){return"drugi"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},c.prototype.spaceAnd=function(){return" i"},c.prototype.spaceX0OfTheMonth=function(){return" %s miesiąca"},c.prototype.lastDay=function(){return"ostatni dzień"},c.prototype.third=function(){return"trzeci"},c.prototype.weekdayNearestDayX0=function(){return"dzień roboczy najbliższy %s-ego dnia"},c.prototype.commaStartingX0=function(){return", startowy %s"},c.prototype.daysOfTheWeek=function(){return["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},c.prototype.monthsOfTheYear=function(){return["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},c}();return N.pl=l,u().locales.pl=new l,M})())})(Mne);function ta(i,e){return XMe.toString(i,{locale:e})}const he={mainDiv:{width:"100%",height:"100%"},periodSelect:{display:"block",width:250},tabContent:{padding:20,height:"calc(100% - 240px)",overflow:"auto"},numberButton:{padding:4,minWidth:40,margin:5},appBar:{color:"white"},warning:{marginLeft:16,color:"red",fontSize:12}},nne=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ane=["January","February","March","April","May","June","July","August","September","October","November","December"];function MM(i,e){const t=[];if(i==="*"){if(e===24||e===60||e===7)for(let o=0;o1){const M=parseInt(r[1],10);for(let a=parseInt(r[0],10);a<=M;a++)t.push(a)}else t.push(parseInt(s[o],10))}t.sort();for(let o=t.length-1;o>=0;o--)t[o]===t[o+1]&&t.splice(o+1,1);return t}function nM(i,e){if(typeof i!="object"&&(i=[i]),i.length===e)return"*";const t=[];if(!i.length)return"-";i=i.map(r=>parseInt(r,10)),i.sort((r,M)=>r-M);let s=i[0],o=i[0];for(let r=1;rthis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(e){e=e.replace(/['"]/g,"").trim();const t=e.split(" ").map(o=>o.trim());let s;return t.length===6?s={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",dates:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:s={seconds:!1,minutes:t[0]||"*",hours:t[1]||"*",dates:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},s}static state2cron(e){let t=`${e.minutes} ${e.hours} ${e.dates} ${e.months} ${e.dow}`;return e.seconds!==!1&&(t=`${e.seconds} ${t}`),t}recalcCron(){const e=Lt.state2cron(this.state);e!==this.state.cron&&this.setState({cron:e},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(e,t,s){if(e===!0)this.setCronAttr(t,"*");else if(e===!1)s===60||s===24?this.setCronAttr(t,"0"):this.setCronAttr(t,"1");else{const o=MM(this.state[t],s),r=o.indexOf(e);r!==-1?o.splice(r,1):(o.push(e),o.sort()),this.setCronAttr(t,nM(o,s))}}getDigitsSelector(e,t){let s=[];if(t===7)s=[1,2,3,4,5,6,0];else if(t===60||t===24)for(let r=0;rthis.onToggle(!1,e,t)},d.t("ra_Deselect all")),n.createElement(g.Button,{key:"addall",variant:"contained",style:he.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,t)},d.t("ra_Select all")),n.createElement("div",{key:"all"},s.map(r=>[t===7&&r===4||t===12&&r===7||t===31&&!((r-1)%10)||t===60&&r&&!(r%10)||t===24&&r&&!(r%6)?n.createElement("div",{key:`allInner${r}`,style:{width:"100%"}}):null,n.createElement(g.Button,{key:`_${r}`,variant:o.indexOf(r)!==-1?"contained":"outlined",style:he.numberButton,color:o.indexOf(r)!==-1?"secondary":"primary",onClick:()=>this.onToggle(r,e,t)},t===7?d.t(nne[r]):t===12?ane[r-1]:r)]))]}getPeriodsTab(e,t){const s=this.state[e];let o=s==="*",r=s==null?!1:s.toString().includes("/"),M;if(this.state.modes[e]===null){M=o?"every":r?"everyN":"specific";const u=JSON.parse(JSON.stringify(this.state.modes));return u[e]=M,setTimeout(()=>this.setState({modes:u},()=>this.recalcCron()),100),null}o=this.state.modes[e]==="every",r=this.state.modes[e]==="everyN",M=this.state.modes[e];let a=1;return r&&s&&(a=parseInt(s.replace("*/",""),10)||1),n.createElement("div",null,n.createElement(g.Select,{variant:"standard",style:{...he.periodSelect,verticalAlign:"bottom"},value:M,onChange:u=>{const N=JSON.parse(JSON.stringify(this.state.modes));if(N[e]=u.target.value,u.target.value==="every")this.setCronAttr(e,"*",N);else if(u.target.value==="everyN"){const l=parseInt((this.state[e]||"").toString().replace("*/",""),10)||1;this.setCronAttr(e,`*/${l}`,N)}else if(u.target.value==="specific"){let l=parseInt((this.state[e]||"").toString().split(",")[0],10)||0;!l&&(e==="months"||e==="dates")&&(l=1),this.setCronAttr(e,nM(l,t),N)}}},n.createElement(g.MenuItem,{key:"every",value:"every"},d.t(`sc_every_${e}`)),n.createElement(g.MenuItem,{key:"everyN",value:"everyN"},d.t(`sc_everyN_${e}`)),n.createElement(g.MenuItem,{key:"specific",value:"specific"},d.t(`sc_specific_${e}`))),r&&n.createElement(g.TextField,{variant:"standard",key:"interval",label:d.t(`sc_${e}`),value:a,slotProps:{htmlInput:{min:1,max:t},inputLabel:{shrink:!0}},onChange:u=>{this.setState({[e]:`*/${u.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!o&&!r&&this.getDigitsSelector(e,t))}static convertCronToText(e,t){return e.split(" ").includes("-")?d.t("ra_Invalid CRON"):ta(e,t)}setCronAttr(e,t,s){s?e==="seconds"?this.setState({seconds:t,modes:s},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t,modes:s},()=>this.recalcCron()):e==="hours"?this.setState({hours:t,modes:s},()=>this.recalcCron()):e==="dates"?this.setState({dates:t,modes:s},()=>this.recalcCron()):e==="months"?this.setState({months:t,modes:s},()=>this.recalcCron()):e==="dow"?this.setState({dow:t,modes:s},()=>this.recalcCron()):this.setState({modes:s},()=>this.recalcCron()):e==="seconds"?this.setState({seconds:t},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t},()=>this.recalcCron()):e==="hours"?this.setState({hours:t},()=>this.recalcCron()):e==="dates"?this.setState({dates:t},()=>this.recalcCron()):e==="months"?this.setState({months:t},()=>this.recalcCron()):e==="dow"&&this.setState({dow:t},()=>this.recalcCron())}render(){const e=this.state.seconds!==!1?this.state.tab:this.state.tab+1,t=this.state.minutes==="*"||this.state.minutes==="*/1",s=this.state.seconds==="*"||this.state.seconds==="*/1";return n.createElement("div",{style:he.mainDiv},n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},n.createElement(g.TextField,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},Lt.convertCronToText(this.state.cron,this.props.language||"en"),n.createElement("span",{style:he.warning},s?d.t("ra_warning_every_second"):t?d.t("ra_warning_every_minute"):"")),n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{checked:!!this.state.seconds,onChange:o=>this.setState({seconds:o.target.checked?"*":!1},()=>this.recalcCron())}),label:d.t("ra_use seconds")}),n.createElement(g.AppBar,{position:"static",sx:{"&.MuiAppBar-root":he.appBar},color:"secondary"},n.createElement(g.Tabs,{value:this.state.tab,style:he.appBar,color:"secondary",onChange:(o,r)=>this.setState({tab:r})},this.state.seconds!==!1&&n.createElement(g.Tab,{id:"sc_seconds",label:d.t("sc_seconds")}),n.createElement(g.Tab,{id:"minutes",label:d.t("sc_minutes")}),n.createElement(g.Tab,{id:"hours",label:d.t("sc_hours")}),n.createElement(g.Tab,{id:"dates",label:d.t("sc_dates")}),n.createElement(g.Tab,{id:"months",label:d.t("sc_months")}),n.createElement(g.Tab,{id:"dow",label:d.t("sc_dows")}))),e===0&&n.createElement("div",{style:he.tabContent},this.getPeriodsTab("seconds",60)),e===1&&n.createElement("div",{style:he.tabContent},this.getPeriodsTab("minutes",60)),e===2&&n.createElement("div",{style:he.tabContent},this.getPeriodsTab("hours",24)),e===3&&n.createElement("div",{style:he.tabContent},this.getPeriodsTab("dates",31)),e===4&&n.createElement("div",{style:he.tabContent},this.getPeriodsTab("months",12)),e===5&&n.createElement("div",{style:he.tabContent},this.getPeriodsTab("dow",7)))}}const Ut={modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:8,top:8},languageButtonActive:i=>({color:i.palette.primary.main})};function r4e(i){const{open:e,toggleTranslation:t,noTranslation:s,title:o,fullWidth:r,help:M,maxWidth:a,progress:u,icon:N,applyDisabled:l,applyButton:c,onClose:L,children:j,titleButtonApply:T,titleButtonClose:D,onApply:I,textInput:C,defaultValue:E,overflowHidden:A}=i,[_,p]=b.useState(E||"");b.useEffect(()=>{p(E||"")},[E]);let z=null;return N&&(z=N),n.createElement(g.Dialog,{open:e,maxWidth:a||"md",fullWidth:!!r,disableEscapeKeyDown:!1,onClose:L,sx:{"& .MuiDialog-paper":Ut.modalDialog}},o&&n.createElement(g.DialogTitle,null,N?n.createElement(z,{style:Ut.titleIcon}):null,o,d.getLanguage()!=="en"&&t?n.createElement(g.IconButton,{size:"large",sx:S.getStyle(i.theme,Ut.languageButton,s&&Ut.languageButtonActive),onClick:()=>t(),title:d.t("Disable/Enable translation")},n.createElement(m.Language,null)):null),n.createElement(g.DialogContent,{style:{...Ut.content,...A?Ut.overflowHidden:void 0,paddingTop:8}},C&&n.createElement(g.TextField,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:_,onChange:O=>p(O.target.value)}),j,M?n.createElement("div",null,M):null),n.createElement(g.DialogActions,null,c!==!1&&n.createElement(g.Button,{startIcon:n.createElement(m.Check,null),disabled:u||l&&E===_,onClick:()=>I(C?_:""),variant:"contained",color:"primary"},d.t(T||"ra_Ok")),n.createElement(g.Button,{color:"grey",onClick:L,disabled:u,variant:"contained",startIcon:n.createElement(m.Close,null)},d.t(D||"ra_Cancel"))))}function cne(){const i=Mc();return[...i.breakpoints.keys].reverse().reduce((t,s)=>{const o=g.useMediaQuery(i.breakpoints.up(s));return!t&&o?s:t},null)||"xs"}function di(){return i=>function(t){const s=cne();return n.createElement(i,{...t,width:s})}}function une(i){const[e,t]=n.useState(i.input||i.value||""),[s,o]=n.useState("");return n.createElement(g.Dialog,{open:!0,onClose:()=>i.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:i.fullWidth!==void 0?i.fullWidth:!1},n.createElement(g.DialogTitle,{id:"form-dialog-title"},i.titleText),n.createElement(g.DialogContent,null,n.createElement(g.DialogContentText,null,i.promptText),n.createElement(g.TextField,{variant:"standard",autoFocus:!0,margin:"dense",error:!!s,helperText:s===!0||!s?"":s,value:e,label:i.labelText||"",type:i.type||"text",onKeyUp:r=>r.code==="Enter"&&e&&i.onClose(e),onChange:r=>{let M="";i.verify&&(M=!i.verify(r.target.value)),i.rule?t(i.rule(r.target.value)):t(r.target.value),o(M)},fullWidth:!0})),n.createElement(g.DialogActions,null,n.createElement(g.Button,{variant:"contained",disabled:!e||!!s,onClick:()=>i.onClose(e),color:"primary",startIcon:n.createElement(m.Check,null)},i.applyText||d.t("ra_Ok")),n.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>i.onClose(null),startIcon:n.createElement(m.Close,null)},i.cancelText||d.t("ra_Cancel"))))}const Nne=di()(une);function uo(i){return n.createElement("svg",{onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 486 486",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:i.className,style:i.style},n.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"}),n.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"}))}function Gt(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 650 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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"}))}function Ks(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 650 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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"}))}function Fo(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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 lne=i=>typeof i!="string"?{}:i.split(/ ?; ?/).reduce((e,t)=>{const[s,o]=t.split(/ ?: ?/).map((r,M)=>M===0?r.replace(/\s+/g,""):r.trim());if(s&&o){const r=s.replace(/(\w)-(\w)/g,(a,u,N)=>`${u}${N.toUpperCase()}`);let M=o.trim();Number.isNaN(Number(o))||(M=Number(o)),e[s.startsWith("-")?s:r]=M}return e},{});function Lne(i=6){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let t="";for(let s=i;s>0;--s)t+=e[Math.round(Math.random()*(e.length-1))];return t}var jne=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],aM={"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 gne(i,e){var r;const{key:t,level:s,...o}=e;switch(i.nodeType){case 1:return b.createElement(yne(i.nodeName),Tne(i,t),cM(i.childNodes,s,o));case 3:{const M=((r=i.nodeValue)==null?void 0:r.toString())??"";if(!o.allowWhiteSpaces&&/^\s+$/.test(M)&&!/[\u00A0\u202F]/.test(M))return null;if(!i.parentNode)return M;const a=i.parentNode.nodeName.toLowerCase();return jne.includes(a)?(/\S/.test(M)&&console.warn(`A textNode is not allowed inside '${a}'. Your text "${M}" will be ignored`),null):M}case 8:return null;case 11:return cM(i.childNodes,s,e);default:return null}}function Tne(i,e){const t={key:e};if(i instanceof Element){const s=i.getAttribute("class");s&&(t.className=s),[...i.attributes].forEach(o=>{switch(o.name){case"class":break;case"style":t[o.name]=lne(o.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":t[aM[o.name]||o.name]=!0;break;default:t[aM[o.name]||o.name]=o.value}})}return t}function cM(i,e,t){const s=[...i].map((o,r)=>ri(o,{...t,index:r,level:e+1})).filter(Boolean);return s.length?s:null}function yne(i){return/[a-z]+[A-Z]+[a-z]+/.test(i)?i:i.toLowerCase()}function sa(i,e={}){return typeof i=="string"?Dne(i,e):i instanceof Node?ri(i,e):null}function ri(i,e={}){if(!i||!(i instanceof Node))return null;const{actions:t=[],index:s=0,level:o=0,randomKey:r}=e;let M=i,a=`${o}-${s}`;const u=[];return r&&o===0&&(a=`${Lne()}-${a}`),Array.isArray(t)&&t.forEach(N=>{N.condition(M,a,o)&&(typeof N.pre=="function"&&(M=N.pre(M,a,o),M instanceof Node||(M=i)),typeof N.post=="function"&&u.push(N.post(M,a,o)))}),u.length?u:gne(M,{key:a,level:o,...e})}function Dne(i,e={}){if(!i||typeof i!="string")return null;const{includeAllNodes:t=!1,nodeOnly:s=!1,selector:o="body > *",type:r="text/html"}=e;try{const a=new DOMParser().parseFromString(i,r);if(t){const{childNodes:N}=a.body;return s?N:[...N].map(l=>ri(l,e))}const u=a.querySelector(o)||a.body.childNodes[0];if(!(u instanceof Node))throw new TypeError("Error parsing input");return s?u:ri(u,e)}catch{}return null}var dne=Object.defineProperty,zne=(i,e,t)=>e in i?dne(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,bs=(i,e,t)=>zne(i,typeof e!="symbol"?e+"":e,t),uM="react-inlinesvg",Ine=10,ee={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function wne(i){return i[Math.floor(Math.random()*i.length)]}function js(){var i;return!!(typeof window<"u"&&((i=window.document)!=null&&i.createElement))}function Cne(){return mne()&&typeof window<"u"&&window!==null}function hne(i,...e){const t={};for(const s in i)({}).hasOwnProperty.call(i,s)&&(e.includes(s)||(t[s]=i[s]));return t}function Ane(i){const e="abcdefghijklmnopqrstuvwxyz",s=`${e}${e.toUpperCase()}1234567890`;let o="";for(let r=0;r299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(r=>o.includes(r)))throw new Error(`Content type isn't valid: ${o}`);return t.text()}function pne(i=1){return new Promise(e=>{setTimeout(e,i*1e3)})}function mne(){if(!document)return!1;const i=document.createElement("div");i.innerHTML="";const e=i.firstChild;return!!e&&e.namespaceURI==="http://www.w3.org/2000/svg"}var One=class{constructor(){bs(this,"cacheApi"),bs(this,"cacheStore"),bs(this,"subscribers",[]),bs(this,"isReady",!1),this.cacheStore=new Map;let i=uM,e=!1;js()&&(i=window.REACT_INLINESVG_CACHE_NAME??uM,e=!!window.REACT_INLINESVG_PERSISTENT_CACHE&&"caches"in window),e?caches.open(i).then(t=>{this.cacheApi=t}).catch(t=>{console.error(`Failed to open cache: ${t.message}`),this.cacheApi=void 0}).finally(()=>{this.isReady=!0;const t=[...this.subscribers];this.subscribers.length=0,t.forEach(s=>{try{s()}catch(o){console.error(`Error in CacheStore subscriber callback: ${o.message}`)}})}):this.isReady=!0}onReady(i){this.isReady?i():this.subscribers.push(i)}async get(i,e){var t;return await(this.cacheApi?this.fetchAndAddToPersistentCache(i,e):this.fetchAndAddToInternalCache(i,e)),((t=this.cacheStore.get(i))==null?void 0:t.content)??""}set(i,e){this.cacheStore.set(i,e)}isCached(i){var e;return((e=this.cacheStore.get(i))==null?void 0:e.status)===ee.LOADED}async fetchAndAddToInternalCache(i,e){const t=this.cacheStore.get(i);if((t==null?void 0:t.status)===ee.LOADING){await this.handleLoading(i,async()=>{this.cacheStore.set(i,{content:"",status:ee.IDLE}),await this.fetchAndAddToInternalCache(i,e)});return}if(!(t!=null&&t.content)){this.cacheStore.set(i,{content:"",status:ee.LOADING});try{const s=await ia(i,e);this.cacheStore.set(i,{content:s,status:ee.LOADED})}catch(s){throw this.cacheStore.set(i,{content:"",status:ee.FAILED}),s}}}async fetchAndAddToPersistentCache(i,e){var o,r,M;const t=this.cacheStore.get(i);if((t==null?void 0:t.status)===ee.LOADED)return;if((t==null?void 0:t.status)===ee.LOADING){await this.handleLoading(i,async()=>{this.cacheStore.set(i,{content:"",status:ee.IDLE}),await this.fetchAndAddToPersistentCache(i,e)});return}this.cacheStore.set(i,{content:"",status:ee.LOADING});const s=await((o=this.cacheApi)==null?void 0:o.match(i));if(s){const a=await s.text();this.cacheStore.set(i,{content:a,status:ee.LOADED});return}try{await((r=this.cacheApi)==null?void 0:r.add(new Request(i,e)));const a=await((M=this.cacheApi)==null?void 0:M.match(i)),u=await(a==null?void 0:a.text())??"";this.cacheStore.set(i,{content:u,status:ee.LOADED})}catch(a){throw this.cacheStore.set(i,{content:"",status:ee.FAILED}),a}}async handleLoading(i,e){var t;for(let s=0;s({[i]:e}))}async delete(i){this.cacheApi&&await this.cacheApi.delete(i),this.cacheStore.delete(i)}async clear(){if(this.cacheApi){const i=await this.cacheApi.keys();await Promise.allSettled(i.map(e=>this.cacheApi.delete(e)))}this.cacheStore.clear()}};function NM(i){const e=b.useRef(void 0);return b.useEffect(()=>{e.current=i}),e.current}function Ene(i){const{baseURL:e,content:t,description:s,handleError:o,hash:r,preProcessor:M,title:a,uniquifyIDs:u=!1}=i;try{const N=_ne(t,M),l=sa(N,{nodeOnly:!0});if(!l||!(l instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const c=oa(l,{baseURL:e,hash:r,uniquifyIDs:u});if(s){const L=c.querySelector("desc");L!=null&&L.parentNode&&L.parentNode.removeChild(L);const j=document.createElementNS("http://www.w3.org/2000/svg","desc");j.innerHTML=s,c.prepend(j)}if(typeof a<"u"){const L=c.querySelector("title");if(L!=null&&L.parentNode&&L.parentNode.removeChild(L),a){const j=document.createElementNS("http://www.w3.org/2000/svg","title");j.innerHTML=a,c.prepend(j)}}return c}catch(N){return o(N)}}function _ne(i,e){return e?e(i):i}function oa(i,e){const{baseURL:t="",hash:s,uniquifyIDs:o}=e,r=["id","href","xlink:href","xlink:role","xlink:arcrole"],M=["href","xlink:href"],a=(u,N)=>M.includes(u)&&(N?!N.includes("#"):!1);return o&&[...i.children].forEach(u=>{var N;if((N=u.attributes)!=null&&N.length){const l=Object.values(u.attributes).map(c=>{const L=c,j=/url\((.*?)\)/.exec(c.value);return j!=null&&j[1]&&(L.value=c.value.replace(j[0],`url(${t}${j[1]}__${s})`)),L});r.forEach(c=>{const L=l.find(j=>j.name===c);L&&!a(c,L.value)&&(L.value=`${L.value}__${s}`)})}return u.children.length?oa(u,e):u}),i}var Jt;function Sne(i){const{cacheRequests:e=!0,children:t=null,description:s,fetchOptions:o,innerRef:r,loader:M=null,onError:a,onLoad:u,src:N,title:l,uniqueHash:c}=i,[L,j]=b.useReducer((F,G)=>({...F,...G}),{content:"",element:null,isCached:e&&Jt.isCached(i.src),status:ee.IDLE}),{content:T,element:D,isCached:I,status:C}=L,E=NM(i),A=NM(L),_=b.useRef(c??Ane(8)),p=b.useRef(!1),z=b.useRef(!1),O=b.useCallback(F=>{p.current&&(j({status:F.message==="Browser does not support SVG"?ee.UNSUPPORTED:ee.FAILED}),a==null||a(F))},[a]),k=b.useCallback((F,G=!1)=>{p.current&&j({content:F,isCached:G,status:ee.LOADED})},[]),f=b.useCallback(async()=>{const F=await ia(N,o);k(F)},[o,k,N]),P=b.useCallback(()=>{try{const F=Ene({...i,handleError:O,hash:_.current,content:T}),G=sa(F);if(!G||!b.isValidElement(G))throw new Error("Could not convert the src to a React element");j({element:G,status:ee.READY})}catch(F){O(F)}},[T,O,i]),Y=b.useCallback(async()=>{const F=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(N);let G;if(F?G=F[1]?window.atob(F[2]):decodeURIComponent(F[2]):N.includes("{p.current&&j({content:"",element:null,isCached:!1,status:ee.LOADING})},[]);b.useEffect(()=>{if(p.current=!0,!(!js()||z.current)){try{if(C===ee.IDLE){if(!Cne())throw new Error("Browser does not support SVG");if(!N)throw new Error("Missing src");V()}}catch(F){O(F)}return z.current=!0,()=>{p.current=!1}}},[]),b.useEffect(()=>{if(!(!js()||!E)&&E.src!==N){if(!N){O(new Error("Missing src"));return}V()}},[O,V,E,N]),b.useEffect(()=>{C===ee.LOADED&&P()},[C,P]),b.useEffect(()=>{!js()||!E||E.src!==N||(E.title!==l||E.description!==s)&&P()},[s,P,E,N,l]),b.useEffect(()=>{if(A)switch(C){case ee.LOADING:{A.status!==ee.LOADING&&Y();break}case ee.LOADED:{A.status!==ee.LOADED&&P();break}case ee.READY:{A.status!==ee.READY&&(u==null||u(N,I));break}}},[Y,P,I,u,A,N,C]);const oe=hne(i,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return js()?D?b.cloneElement(D,{ref:r,...oe}):[ee.UNSUPPORTED,ee.FAILED].includes(C)?t:M:M}function No(i){Jt||(Jt=new One);const{loader:e}=i,[t,s]=b.useState(Jt.isReady);return b.useEffect(()=>{t||Jt.onReady(()=>{s(!0)})},[t]),t?n.createElement(Sne,{...i}):e}function xne(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"}))}function M4e(i){let e;const t=i==null?void 0:i._id;return t?(t.startsWith("_design/")||t==="system"?e=n.createElement(m.SettingsApplications,{className:"iconOwn"}):t==="0_userdata"||t==="0_userdata.0"?e=n.createElement(m.Photo,{className:"iconOwn"}):t==="alias"||t==="alias.0"?e=n.createElement(xne,{className:"iconOwn"}):t==="system.adapter"?e=n.createElement(m.SettingsApplications,{className:"iconOwn"}):t==="system.group"?e=n.createElement(m.SupervisedUserCircle,{className:"iconOwn"}):t==="system.user"?e=n.createElement(m.PersonOutlined,{className:"iconOwn"}):t==="system.host"?e=n.createElement(m.Router,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?e=n.createElement(m.Wifi,{className:"iconOwn"}):t.endsWith(".info")?e=n.createElement(m.Info,{className:"iconOwn"}):(i==null?void 0:i.type)==="meta"&&(e=n.createElement(m.Description,{className:"iconOwn"})),e||null):null}function n4e(i,e){e=e||".";let t="";const s=i==null?void 0:i.common;if(s){const o=s.icon;if(o)if(o.startsWith("data:image/"))t=o;else if(o.includes(".")){let r;i.type==="instance"||i.type==="adapter"?t=`${e}/adapter/${s.name}/${o}`:i._id&&i._id.startsWith("system.adapter.")?(r=i._id.split(".",3),o[0]==="/"?r[2]+=o:r[2]+=`/${o}`,t=`${e}/adapter/${r[2]}`):(r=i._id.split(".",2),o[0]==="/"?r[0]+=o:r[0]+=`/${o}`,t=`${e}/adapter/${r[0]}`)}else return null}return t||null}const fne=window.location.hostname.endsWith("iobroker.in"),lM=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);function Ie(i){var e,t,s;if(i.src){if(typeof i.src=="string"){if(i.src.length<3)return i.sx?n.createElement(g.Box,{component:"span",sx:i.sx,title:i.title||void 0,style:{height:27,marginTop:-8,...i.styleUTF8||i.style},className:S.clsx(i.className,"iconOwn")},i.src):n.createElement("span",{title:i.title||void 0,style:{height:27,marginTop:-8,...i.styleUTF8||i.style},className:S.clsx(i.className,"iconOwn")},i.src);if(i.src.startsWith("data:image/svg"))return n.createElement(No,{title:i.title||void 0,src:i.src,className:S.clsx(i.className,"iconOwn"),width:((e=i.style)==null?void 0:e.width)||28,height:((t=i.style)==null?void 0:t.height)||((s=i.style)==null?void 0:s.width)||28,style:i.style||void 0});if(fne&&!i.src.startsWith("http://")&&!i.src.startsWith("https://")){let o=i.src;return o.startsWith("./")?o=lM+o.substring(2):o.startsWith("/")||(o=lM+o),i.sx?n.createElement(g.Box,{component:"img",sx:i.sx,title:i.title||void 0,style:i.style||void 0,className:S.clsx(i.className,"iconOwn"),src:`https://remote-files.iobroker.in${o}`,alt:i.alt||void 0,ref:i.ref,onError:r=>i.onError&&i.onError(r)}):n.createElement("img",{title:i.title||void 0,style:i.style||void 0,className:S.clsx(i.className,"iconOwn"),src:`https://remote-files.iobroker.in${o}`,alt:i.alt||void 0,ref:i.ref,onError:r=>i.onError&&i.onError(r)})}return i.sx?n.createElement(g.Box,{component:"img",sx:i.sx,title:i.title||void 0,style:i.style||void 0,className:S.clsx(i.className,"iconOwn"),src:i.src,alt:i.alt||void 0,ref:i.ref,onError:i.onError}):n.createElement("img",{title:i.title||void 0,style:i.style||void 0,className:S.clsx(i.className,"iconOwn"),src:i.src,alt:i.alt||void 0,ref:i.ref,onError:i.onError})}return i.src}return null}const zt={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"}},ge={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 LM(i,e){let t="";const s=new Uint8Array((i==null?void 0:i.data)||i),o=s.byteLength;for(let r=0;r{let r="";o.file!==void 0&&(r=o.file);const M={copyPossible:this.state.copyPossible,ext:this.state.ext};if(r.type==="Buffer")if(s.toLowerCase().endsWith(".json5")){M.ext="json5",M.copyPossible=!0;try{r=atob(LM(r,!0))}catch{console.error("Cannot convert base64 to string"),r=""}}else{const a=S.detectMimeType(LM(r));a&&(M.ext=a,M.copyPossible=ge.code.includes(a)||ge.txt.includes(a))}M.copyPossible&&(M.ext&&ge.txt.includes(M.ext)?(M.text=r,M.editingValue=r):M.ext&&ge.code.includes(M.ext)&&(M.code=r,M.editingValue=r)),this.setState(M)}).catch(o=>window.alert(`Cannot read file: ${o}`))}}componentDidMount(){this.readFile();const e=this.props.href.split("/");e.splice(0,2);const t=e[0],s=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,s,this.onFileChanged).catch(o=>window.alert(`Cannot subscribe on file: ${o}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);const e=this.props.href.split("/");e.splice(0,2);const t=e[0],s=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,s,this.onFileChanged).catch(o=>window.alert(`Cannot subscribe on file: ${o}`))}onFileChanged=(e,t,s)=>{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,s===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))};getEditorOrViewer(){return n.createElement(g.TextField,{variant:"standard",style:zt.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&ge.images.includes(this.state.ext)?this.state.imgError?n.createElement(Fo,{style:{...zt.img,...this.props.getStyleBackgroundImage()}}):n.createElement(Ie,{onError:e=>{e.target.onerror=null,this.setState({imgError:!0})},style:{...zt.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&ge.audio.includes(this.state.ext)?n.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},n.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&ge.video.includes(this.state.ext)?n.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},n.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},n.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 n.createElement(g.Dialog,{sx:{"&.MuiDialog-scrollPaper":zt.dialog,"& .MuiDialog-paper":zt.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},n.createElement("div",{style:zt.dialogTitle},n.createElement(g.DialogTitle,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&ge.images.includes(this.state.ext)&&n.createElement("div",null,n.createElement(g.IconButton,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},n.createElement(m.Brightness6,null)))),n.createElement(g.DialogContent,{style:zt.content},this.getContent()),n.createElement(g.DialogActions,null,this.state.copyPossible?n.createElement(g.Button,{color:"grey",onClick:e=>{e.stopPropagation(),e.preventDefault(),S.copyToClipboard(this.state.text||this.state.code||"")},startIcon:n.createElement(m.ContentCopy,null)},this.props.t("Copy content")):null,this.state.editing?n.createElement(g.Button,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:n.createElement(m.Save,null)},this.props.t("Save")):null,n.createElement(g.Button,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:n.createElement(m.Close,null)},this.props.t("Close"))))}}const Yne=di()(kne),vt=32,He=32,$s=120,jM=64,gM="Not found",Ps={all:m.InsertDriveFile,images:m.Image,code:m.Code,txt:m.FontDownload,audio:m.AudioFile,video:m.Videocam},U={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 8px)",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 ${jM}px`},itemTile:i=>({position:"relative",userSelect:"none",cursor:"pointer",height:$s,width:jM,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:i.palette.secondary.light,color:S.invertColor(i.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:i=>({width:"100%",height:$s-32-16-8,display:"block",pl:1,color:i.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:i=>({position:"absolute",top:22,left:18,zIndex:1,color:(i.palette.mode==="dark","#FFF")}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:$s-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:$s-32-16-8,display:"block",objectFit:"contain"},itemSelected:i=>({background:i.palette.primary.main,color:S.invertColor(i.palette.primary.main,!0)}),itemTable:i=>({userSelect:"none",cursor:"pointer",height:vt,display:"inline-flex",lineHeight:`${vt}px`,"&:hover":{background:i.palette.secondary.light,color:S.invertColor(i.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:i=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:i.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:i=>({display:"inline-block",width:He,height:vt,minWidth:He,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${He/2}px`,"&:hover":{backgroundColor:i.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:i.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:He,height:vt,minWidth:He,padding:0},itemAclButtonTable:{width:He,height:vt,minWidth:He,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:He,height:vt,minWidth:He,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:i=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:i.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:i=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:i.palette.secondary.main,color:i.palette.secondary.contrastText,borderRadius:"4px 4px 0 0"}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:i=>({pl:"2px",pr:"2px",cursor:"pointer",color:"white","&:hover":{backgroundColor:i.palette.primary.main,color:i.palette.primary.contrastText}}),pathDivBreadcrumbSelected:{color:"#FFF"},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:i=>({color:i.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},rt="0_userdata.0";function bt(i){const e=(i||"").split("/");return e.length&&e.pop(),e.join("/")}function Yi(i){const e=S.getFileExtension(i);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const q="Table",Qi="Tile";function TM(i,e){return i.folder&&e.folder?i.name>e.name?1:i.namee.name?1:i.name{var N;return u.startsWith(`${this.limitToPath}/`)||u===this.limitToPath||((N=this.limitToPath)==null?void 0:N.startsWith(`${u}/`))}))}catch{s=[]}let o;this.props.showViewTypeButton?o=this.localStorage.getItem("files.viewType")||q:o=q;let r=this.props.selected||this.localStorage.getItem("files.selected")||rt,M;if(e.restrictToFolder){r=e.restrictToFolder,M=e.restrictToFolder;const u=e.restrictToFolder.split("/");s=[];let N="";for(let l=0;l{if(this.state.viewType===q&&!this.findItem(this.state.selected)){const t=this.state.selected.split("/");for(;t.length&&!this.findItem(t.join("/"));)t.pop();let s;t.length?s=t.join("/"):s=rt,this.setState({selected:s,path:s,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){const e=document.getElementById(this.state.selected);e==null||e.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(e=>console.error(`Cannot load folders: ${e}`)),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(e=>e&&clearTimeout(e)),this._tempTimeout={}}browseFoldersCb(e,t,s){if(!(e!=null&&e.length))s(t);else{const o=e.shift();o?this.browseFolder(o,t).catch(r=>console.error(`Cannot read folder ${o}: ${r.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(e,t,s),0)}):setTimeout(()=>this.browseFoldersCb(e,t,s),0)}}browseFolders(e,t){let s;return t?s=t:(s={},Object.keys(this.state.folders).forEach(o=>s[o]=this.state.folders[o])),e!=null&&e.length?new Promise(o=>{this.browseFoldersCb(e,s,o)}):Promise.resolve(s)}readDirSerial(e,t){return new Promise((s,o)=>{this.browseList&&(this.browseList.push({resolve:s,reject:o,adapter:e,relPath:t}),this.browseListRunning||this.processBrowseList())})}processBrowseList(e=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(t=>{if(this.browseList){const s=this.browseList.shift();if(s){const o=s.resolve;s.resolve=null,s.reject=null,s.adapter=null,s.relPath=null,o&&o(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(t=>{if(this.browseList){const s=this.browseList.shift();if(s){const o=s.reject;s.resolve=null,s.reject=null,s.adapter=null,s.relPath=null,o&&o(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(e,t,s,o){let r;if(t?r=t:(r={},Object.keys(this.state.folders).forEach(c=>{r[c]=this.state.folders[c]})),r[e]&&!o)return s?Promise.resolve(r):new Promise((c,L)=>{Promise.all(r[e].filter(j=>j.folder).map(j=>this.browseFolder(j.id,r,!0).catch(()=>{}))).then(()=>c(r)).catch(j=>L(new Error(j)))});if(!e||e==="/"){try{let c=await this.props.socket.readMetaItems();const L=[];let j=null;if(this.state.restrictToFolder){const D=this.state.restrictToFolder.split("/")[0];c=c.filter(I=>I._id===D)}else this.state.expertMode||(c=c.filter(D=>!D._id.endsWith(".admin")));const T=c.findIndex(D=>D._id==="system.meta.uuid");if(T!==-1&&c.splice(T,1),c.forEach(D=>{if(this.limitToObjectID&&this.limitToObjectID!==D._id)return;const I={id:D._id,name:D._id,title:D.common&&D.common.name||D._id,meta:!0,from:D.from,ts:D.ts,color:D.common&&D.common.color,icon:D.common&&D.common.icon,folder:!0,acl:D.acl,level:0};I.id===rt?j=I:L.push(I)}),L.sort((D,I)=>D.id>I.id?1:D.idD.folder).map(D=>this.browseFolder(D.id,r,!0).catch(()=>{}))).then(()=>r)}catch(c){const L=c;this.initialReadFinished&&window.alert(`Cannot read meta items: ${L.message}`),r[e||"/"]=[]}return r}const M=e.split("/"),a=M.length,u=M.shift(),N=M.join("/");let l;try{l=await this.readDirSerial(u||"",N)}catch(c){if(c==="Not exists"&&u==="0_userdata.0")l=[];else throw c}try{const c=[];if(l.forEach(L=>{var T;const j={id:`${e}/${L.file}`,ext:S.getFileExtension(L.file),folder:L.isDir,name:L.file,size:(T=L.stats)==null?void 0:T.size,modified:L.modifiedAt,acl:L.acl,level:a};this.state.restrictToFolder?(j.folder&&(j.id.startsWith(`${this.state.restrictToFolder}/`)||j.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${j.id}/`))||j.id.startsWith(`${this.state.restrictToFolder}/`))&&c.push(j):this.limitToPath?(j.folder&&(j.id.startsWith(`${this.limitToPath}/`)||j.id===this.limitToPath||this.limitToPath.startsWith(`${j.id}/`))||j.id.startsWith(`${this.limitToPath}/`))&&c.push(j):c.push(j)}),c.sort(TM),r[e]=c,!s)return Promise.all(c.filter(L=>L.folder).map(L=>this.browseFolder(L.id,r,!0))).then(()=>r)}catch(c){const L=c;this.initialReadFinished&&window.alert(`Cannot read ${u}${N?`/${N}`:""}: ${L==null?void 0:L.message}`),r[e]=[]}return r}toggleFolder(e,t){t==null||t.stopPropagation();const s=[...this.state.expanded],o=s.indexOf(e.id);o===-1?(s.push(e.id),s.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(s)),e.temp?this.setState({expanded:s}):this.browseFolder(e.id).then(r=>this.setState({expanded:s,folders:r})).catch(r=>window.alert(r===gM?this.props.t('ra_Cannot find "%s"',e.id):this.props.t('ra_Cannot read "%s"',e.id)))):(s.splice(o,1),this.localStorage.setItem("files.expanded",JSON.stringify(s)),this.setState({expanded:s}))}onFileChange=(e,t,s)=>{const o=`${e}/${t}`,r=o.lastIndexOf("/"),M=o.substring(0,r);console.log(`File changed ${o}[${s}]`),this.state.folders[M]&&(this._tempTimeout[M]&&clearTimeout(this._tempTimeout[M]),this._tempTimeout[M]=setTimeout(()=>{delete this._tempTimeout[M],this.browseFolder(M,null,!1,!0).then(a=>this.setState({folders:a})).catch(a=>console.error(`Cannot read folder: ${a.message}`))},300))};changeFolder(e,t){var o;e==null||e.stopPropagation(),this.lastSelect=Date.now();let s=t||bt(this.state.currentDir);if(s==="/"&&(s=""),this.state.viewType==="Tile"&&((o=this.refFileDiv.current)!=null&&o.scrollTop)&&(this.scrollPositions[this.state.currentDir]=this.refFileDiv.current.scrollTop),this.localStorage.setItem("files.currentDir",s),t&&e&&(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)){this.setState({selected:s});return}if(s&&!this.state.folders[s]){this.browseFolder(s).then(r=>this.setState({folders:r,path:s,currentDir:s,selected:s,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(r=>console.error(`Cannot read folder: ${r.message}`));return}this.setState({currentDir:s,selected:s,path:s,pathFocus:!1},()=>{if(this.props.onSelect&&this.props.onSelect(""),this.state.viewType==="Tile"&&this.scrollPositions[this.state.currentDir]){const r=this.scrollPositions[this.state.currentDir];delete this.scrollPositions[this.state.currentDir],this.refFileDiv.current&&(this.refFileDiv.current.scrollTop=r)}})}select(e,t,s){t&&t.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",e),this.setState({selected:e,path:e,pathFocus:!1},()=>{if(this.props.onSelect){const o=S.getFileExtension(e);(!this.props.filterFiles||o&&this.props.filterFiles.includes(o))&&(!this.state.filterByType||o&&ge[this.state.filterByType].includes(o))?this.props.onSelect(e,!1,!!this.state.folders[e]):this.props.onSelect("")}s&&s()})}getText(e){if(e)return typeof e=="object"?e[this.props.lang]||e.en||void 0:e}renderFolder(e,t){var u;if(this.state.filterEmpty&&!((u=this.state.folders[e.id])!=null&&u.length)&&e.id!==rt&&!e.temp)return null;const s=t?Ks:Gt,o=this.state.viewType===q?e.level*this.levelPadding:0,r=e.name===rt,M=r||e.name==="vis.0"||e.name==="vis-2.0",a=S.getStyle(this.props.theme,U[`itemFolderIcon${this.state.viewType}`],M&&U.specialFolder);return n.createElement(g.Box,{component:"div",key:e.id,id:e.id,style:this.state.viewType===q?{marginLeft:o,width:`calc(100% - ${o}px`}:void 0,onClick:N=>this.state.viewType===q?this.select(e.id,N):this.changeFolder(N,e.id),onDoubleClick:N=>this.state.viewType===q&&this.toggleFolder(e,N),title:this.getText(e.title),className:"browserItem",sx:S.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFolder${this.state.viewType}`],this.state.selected===e.id?U.itemSelected:{},e.temp?U.itemFolderTemp:{})},n.createElement(s,{style:a,onClick:this.state.viewType===q?N=>this.toggleFolder(e,N):void 0}),n.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,U[`itemName${this.state.viewType}`],U[`itemNameFolder${this.state.viewType}`])},r?this.props.t("ra_User files"):e.name),n.createElement(g.Box,{component:"div",style:U[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===q&&this.state.folders[e.id]?this.state.folders[e.id].length:""),n.createElement(g.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===q&&this.props.expertMode?this.formatAcl(e.acl):null),this.state.viewType===q&&this.props.expertMode?n.createElement(g.Box,{component:"div",sx:{...U.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===q&&this.props.allowDownload?n.createElement("div",{style:U[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===q&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?n.createElement(g.IconButton,{"aria-label":"delete",onClick:N=>{N.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:U[`itemDeleteButton${this.state.viewType}`],size:"large"},n.createElement(m.Delete,{fontSize:"small"})):this.state.viewType===q&&this.props.allowDelete?n.createElement(g.Box,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return n.createElement(g.Box,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:e=>this.changeFolder(e),title:this.props.t("ra_Back to %s",bt(this.state.currentDir)),className:"browserItem",sx:S.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFolder${this.state.viewType}`])},n.createElement(Gt,{style:S.getStyle(this.props.theme,U[`itemFolderIcon${this.state.viewType}`])}),n.createElement(m.ArrowBack,{sx:U.itemFolderIconBack}),n.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,U[`itemName${this.state.viewType}`],U[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(e){return n.createElement("div",{style:U[`itemSize${this.state.viewType}`]},e||e===0?S.formatBytes(e):"")}formatAcl(e){const t=e?e.permissions||e.file:0;let s;return t?s=t.toString(16).padStart(3,"0"):s="",n.createElement("div",{style:U[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?n.createElement(g.IconButton,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:U[`itemAclButton${this.state.viewType}`]},s||"---"):s||"---")}getFileIcon(e){switch(e){case"json":case"json5":return n.createElement(m.Bookmark,{style:U[`itemIcon${this.state.viewType}`]});case"css":return n.createElement(m.BookmarkBorder,{style:U[`itemIcon${this.state.viewType}`]});case"js":case"ts":return n.createElement(m.Code,{style:U[`itemIcon${this.state.viewType}`]});case"html":case"md":return n.createElement(m.Description,{style:U[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return n.createElement(m.MusicNote,{style:U[`itemIcon${this.state.viewType}`]});default:return n.createElement(m.InsertDriveFile,{style:U[`itemIcon${this.state.viewType}`]})}}static getEditFile(e){switch(e){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":return!0;default:return!1}}setStateBackgroundImage=()=>{const e=["light","dark","colored","delete"];this.setState(({backgroundImage:t})=>t&&e.indexOf(t)!==-1&&e.length-1!==e.indexOf(t)?(this.localStorage.setItem("files.backgroundImage",e[e.indexOf(t)+1]),{backgroundImage:e[e.indexOf(t)+1]}):(this.localStorage.setItem("files.backgroundImage",e[0]),{backgroundImage:e[0]}))};getStyleBackgroundImage=()=>{switch(this.state.backgroundImage){case"light":return U.backgroundImageLight;case"dark":return U.backgroundImageDark;case"colored":return U.backgroundImageColored;case"delete":return null;default:return null}};renderFile(e){const t=this.state.viewType===q?e.level*this.levelPadding:0,s=S.getFileExtension(e.name);return n.createElement(g.Box,{component:"div",key:e.id,id:e.id,onDoubleClick:o=>{o.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&ge[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:s})},onClick:o=>this.select(e.id,o),style:this.state.viewType===q?{marginLeft:t,width:`calc(100% - ${t}px)`}:void 0,className:"browserItem",sx:S.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFile${this.state.viewType}`],this.state.selected===e.id?U.itemSelected:void 0)},s&&ge.images.includes(s)?this.state.fileErrors.includes(e.id)?n.createElement(Fo,{style:{...U[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...U[`itemNoImage${this.state.viewType}`]}}):n.createElement(Ie,{onError:o=>{o.target.onerror=null;const r=[...this.state.fileErrors];r.includes(e.id)||(r.push(e.id),this.setState({fileErrors:r}))},style:{...U[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+e.id,alt:e.name}):this.getFileIcon(s),n.createElement(g.Box,{component:"div",sx:U[`itemName${this.state.viewType}`]},e.name),n.createElement(g.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(e.size)),n.createElement(g.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===q&&this.props.expertMode?this.formatAcl(e.acl):null),n.createElement(g.Box,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===q&&this.props.expertMode&&Go.getEditFile(s)?n.createElement(g.IconButton,{"aria-label":"edit",onClick:o=>{o.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&ge[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:s})},sx:U.itemDeleteButtonTable,size:"large"},n.createElement(m.Edit,{fontSize:"small"})):n.createElement(g.Box,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===q&&this.props.allowDownload?n.createElement(g.Box,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:U.itemDownloadButtonTable,tabIndex:0,download:e.id,href:this.imagePrefix+e.id,onClick:o=>o.stopPropagation()},n.createElement(m.SaveAlt,null)):null,this.state.viewType===q&&this.props.allowDelete&&e.id!=="vis.0/"&&e.id!=="vis-2.0/"&&e.id!==rt?n.createElement(g.IconButton,{"aria-label":"delete",onClick:o=>{o.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:U[`itemDeleteButton${this.state.viewType}`],size:"large"},n.createElement(m.Delete,{fontSize:"small"})):this.state.viewType===q&&this.props.allowDelete?n.createElement(g.Box,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(e){var t;if((t=this.state.folders)!=null&&t[e]){if(this.state.viewType===Qi){const o=[];return e&&e!=="/"&&o.push(this.renderBackFolder()),this.state.folders[e].forEach(r=>{r.folder?o.push(this.renderFolder(r)):(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&ge[this.state.filterByType].includes(r.ext))&&o.push(this.renderFile(r))}),o}const s=[];return this.state.folders[e].forEach(o=>{if(o.folder){const r=this.state.expanded.includes(o.id),M=this.renderFolder(o,r);if(Array.isArray(M)?M.forEach(a=>s.push(a)):s.push(M),this.state.folders[o.id]&&r){const a=this.renderItems(o.id);Array.isArray(a)?a.forEach(u=>s.push(u)):s.push(a)}}else(!this.props.filterFiles||o.ext&&this.props.filterFiles.includes(o.ext))&&(!this.state.filterByType||o.ext&&ge[this.state.filterByType].includes(o.ext))&&s.push(this.renderFile(o))}),s}return n.createElement("div",{style:{position:"relative"}},n.createElement(g.CircularProgress,{key:e,color:"secondary",size:24}),n.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){const e=this.props.showTypeSelector?Ps[this.state.filterByType||"all"]||Ps.all:null,t=this.findFirstFolder(this.state.selected);return n.createElement(g.Toolbar,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?n.createElement(g.IconButton,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...U.menuButton,...this.state.restrictToFolder?U.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},n.createElement(m.FolderSpecial,{fontSize:"small"})):null,this.props.showExpertButton?n.createElement(g.IconButton,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...U.menuButton,...this.state.expertMode?U.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},n.createElement(uo,null)):null,this.props.showViewTypeButton?n.createElement(g.IconButton,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:U.menuButton,"aria-label":"view mode",onClick:()=>{const s=this.state.viewType===q?Qi:q;this.localStorage.setItem("files.viewType",s);let o=this.state.selected;Yi(o)&&(o=bt(o)),this.setState({viewType:s,currentDir:o},()=>{this.state.viewType===q&&this.scrollToSelected()})},size:"small"},this.state.viewType!==q?n.createElement(m.List,{fontSize:"small"}):n.createElement(m.ViewModule,{fontSize:"small"})):null,n.createElement(g.IconButton,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:U.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"},n.createElement(m.FolderOpen,{fontSize:"small"})),n.createElement(g.IconButton,{edge:"start",title:this.props.t("ra_Reload files"),style:U.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},n.createElement(m.Refresh,{fontSize:"small"})),this.props.allowCreateFolder?n.createElement(g.IconButton,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:U.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},n.createElement(m.CreateNewFolder,{fontSize:"small"})):null,this.props.allowUpload?n.createElement(g.IconButton,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:U.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},n.createElement(m.Publish,{fontSize:"small"})):null,this.props.showTypeSelector&&e?n.createElement(g.Tooltip,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:U.tooltip}}},n.createElement(g.IconButton,{size:"small",onClick:s=>this.setState({showTypesMenu:s.target})},n.createElement(e,{fontSize:"small"}))):null,this.state.showTypesMenu?n.createElement(g.Menu,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(Ps).map(s=>{const o=Ps[s];return n.createElement(g.MenuItem,{key:s,selected:this.state.filterByType===s,onClick:()=>{s==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",s),this.setState({filterByType:s,showTypesMenu:null}))}},n.createElement(g.ListItemIcon,null,n.createElement(o,{fontSize:"small"})),n.createElement(g.ListItemText,null,this.props.t(`ra_fileType_${s}`)))})):null,n.createElement(g.Tooltip,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:U.tooltip}}},n.createElement(g.IconButton,{color:"inherit",edge:"start",style:U.menuButton,onClick:this.setStateBackgroundImage,size:"small"},n.createElement(m.Brightness6,{fontSize:"small"}))),this.state.viewType!==q&&this.props.allowDelete?n.createElement(g.Tooltip,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:U.tooltip}}},n.createElement("span",null,n.createElement(g.IconButton,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===rt,color:"inherit",edge:"start",style:U.menuButton,onClick:s=>{s.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},n.createElement(m.Delete,{fontSize:"small"})))):null)}findItem(e,t){if(t=t||this.state.folders,!t)return null;const s=e.split("/");s.pop();const o=s.join("/")||"/";return t[o]&&t[o].find(r=>r.id===e)||null}renderInputDialog(){if(this.state.addFolder){const e=this.findFirstFolder(this.state.selected);return e?n.createElement(Nne,{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:t=>this.state.folders[e].find(s=>s.name===t)?"":this.props.t("ra_Duplicate name"),onClose:t=>{if(t){const s={};Object.keys(this.state.folders).forEach(a=>s[a]=this.state.folders[a]);const o=this.findItem(e),r=`${e}/${t}`;s[e].push({id:r,level:((o==null?void 0:o.level)||0)+1,name:t,folder:!0,temp:!0}),s[e].sort(TM),s[r]=[];const M=[...this.state.expanded];M.includes(e)||(M.push(e),M.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(M)),this.setState({addFolder:!1,folders:s,expanded:M},()=>this.select(r))}else this.setState({addFolder:!1})},replace:t=>t.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;const e=window.document.getElementsByClassName("browserItem");for(let t=0;tthis.setState({uploadFile:!1})},n.createElement(m.Close,null)),n.createElement(ln,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:e=>{let t=e.length;e.forEach(s=>{const o=new FileReader;o.onabort=()=>console.log("file reading was aborted"),o.onerror=()=>console.log("file reading has failed"),o.onload=()=>{const r=this.findFirstFolder(this.state.selected);if(!r)window.alert(this.props.t("ra_Invalid parent folder!"));else{const M=`${r}/${s.name}`;this.uploadFile(M,o.result).then(()=>{--t||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){const a=[...this.state.expanded];a.includes(r)||(a.push(r),a.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(a))),this.setState({expanded:a},()=>this.select(M))}else setTimeout(()=>this.browseFolder(r,null,!1,!0).then(a=>{const u=[...this.state.expanded];u.includes(r)||(u.push(r),u.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(u))),this.setState({folders:a,expanded:u},()=>this.select(M))}),500)})})}},o.readAsArrayBuffer(s)})}},({getRootProps:e,getInputProps:t})=>n.createElement("div",{style:{...U.uploadDiv,...this.state.uploadFile==="dragging"?U.uploadDivDragging:void 0},...e()},n.createElement("input",{...t()}),n.createElement(g.Box,{component:"div",sx:U.uploadCenterDiv},n.createElement("div",{style:U.uploadCenterTextAndIcon},n.createElement(m.Publish,{style:U.uploadCenterIcon}),n.createElement("div",{style:U.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(e){const t=this.findItem(e);if(t!=null&&t.folder)return(this.state.folders[e]?Promise.all(this.state.folders[e].map(r=>this.deleteRecursive(r.id))):Promise.resolve()).then(()=>{if(t.level>=1){const r=e.split("/"),M=r.shift();this.props.socket.deleteFolder(M||"",r.join("/")).then(()=>{const a=JSON.parse(JSON.stringify(this.state.folders));delete a[t.id];const u=bt(t.id),N=a[u];if(N){const l=N.findIndex(c=>c.id===t.id);l!==-1&&N.splice(l,1),this.select(u,null,()=>this.setState({folders:a}))}})}});const s=e.split("/"),o=s.shift();return s.length?this.props.socket.deleteFile(o||"",s.join("/")).catch(r=>window.alert(`Cannot delete file: ${r}`)):Promise.resolve()}deleteItem(e){e=e||this.state.deleteItem,this.state.suppressDeleteConfirm&&(this.suppressDeleteConfirm=Date.now()+6e4*5),this.setState({deleteItem:"",suppressDeleteConfirm:!1},()=>this.deleteRecursive(e).then(()=>{const t={},s=this.state.expanded.indexOf(e);if(s!==-1){const o=[...this.state.expanded];o.splice(s,1),this.localStorage.setItem("files.expanded",JSON.stringify(o)),t.expanded=o}if(this.state.selected===e){const o=this.state.selected.split("/");o.pop(),t.selected=o.join("/")}if(this.supportSubscribes)this.setState(t);else{const o=this.findFirstFolder(e),r={};Object.keys(this.state.folders).forEach(M=>{M!==o&&!M.startsWith(`${o}/`)&&(r[M]=this.state.folders[M])}),t.folders=r,this.setState(t,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],r).then(M=>this.setState({folders:M})).catch(M=>console.error(M))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?n.createElement(g.Dialog,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},n.createElement(g.DialogTitle,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),n.createElement(g.DialogContent,null,n.createElement(g.DialogContentText,null,this.props.t("ra_Are you sure?")),n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{checked:this.state.suppressDeleteConfirm,onChange:()=>{this.setState({suppressDeleteConfirm:!this.state.suppressDeleteConfirm})}}),label:this.props.t("ra_no confirm for 5 mins")})),n.createElement(g.DialogActions,null,n.createElement(g.Button,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),n.createElement(g.Button,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const e=this.props.FileViewer||Yne;return this.state.viewer?n.createElement(e,{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?n.createElement(qn,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(e){this.cacheFolders||=JSON.parse(JSON.stringify(this.state.folders));let t;e.forEach(s=>{const o=this.findItem(s.id,this.cacheFolders);o&&JSON.stringify(o.acl)!==JSON.stringify(s.acl)&&(o.acl=s.acl,t=!0)}),t&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;const s=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:s})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let e=this.state.path;Yi(this.state.path)&&(e=bt(this.state.path)),new Promise(t=>{this.state.folders[e]?t(!0):this.browseFolder(e).then(s=>this.setState({folders:s},()=>t(!0))).catch(s=>this.setState({errorText:s===gM?this.props.t('ra_Cannot find "%s"',e):this.props.t('ra_Cannot read "%s"',e)}))}).then(t=>t&&this.setState({selected:this.state.path,currentDir:e,pathFocus:!1})).catch(t=>console.error(t))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){const e=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),t=[];return n.createElement(g.Breadcrumbs,{style:{paddingLeft:8,color:"#FFF"}},e.map((s,o)=>{s&&t.push(s);const r=t.join("/");return othis.changeFolder(M,r||"/")},s||this.props.t("ra_Root")):n.createElement("div",{style:U.pathDivBreadcrumbSelected,key:`${this.state.selected}_${o}`,onClick:()=>this.setState({pathFocus:!0})},s)}))}renderPath(){return n.createElement(g.Box,{component:"div",key:"path",sx:U.pathDiv},this.state.pathFocus?n.createElement(g.Input,{value:this.state.path,onKeyDown:e=>{e.key==="Enter"?this.changeToPath():e.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:n.createElement(g.IconButton,{size:"small",onClick:()=>this.changeToPath()},n.createElement(m.KeyboardReturn,null)),onBlur:()=>this.changeToPath(),onChange:e=>this.setState({path:e.target.value}),style:U.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(e=>console.error(`Cannot load folders: ${e}`))})},300)),n.createElement("div",{style:{...U.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===Qi?this.renderPath():null,n.createElement("div",{style:{...U.filesDiv,...U[`filesDiv${this.state.viewType}`]},onClick:e=>{this.state.viewType!==q&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(e,this.state.currentDir||"/"):e.stopPropagation())},id:"dev",ref:this.refFileDiv},this.state.viewType===q?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==q?n.createElement("div",{style:U.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())):n.createElement(g.LinearProgress,null)}}const Qne=di()(Go),Une="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIC0xMjAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDcyIDBoLTQ2NGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxOTJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGgzMnYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQwYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDI4OHYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQwYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDMyYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTE5MmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tMzkyIDIyNGgtMjR2LTE2aDI0em0zNDQgMGgtMjR2LTE2aDI0em00MC0zMmgtNDQ4di0xNzZoNDQ4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjU2IDE3NmMzNS4zNDc2NTYgMCA2NC0yOC42NTIzNDQgNjQtNjRzLTI4LjY1MjM0NC02NC02NC02NC02NCAyOC42NTIzNDQtNjQgNjRjLjAzOTA2MiAzNS4zMjgxMjUgMjguNjcxODc1IDYzLjk2MDkzOCA2NCA2NHptLTgtMTExLjI4MTI1djE1LjI4MTI1aDE2di0xNS4yODEyNWMyNC42MDU0NjkgNC4xNjAxNTYgNDEuOTE3OTY5IDI2LjQ3NjU2MiAzOS44MzIwMzEgNTEuMzQzNzUtMi4wODU5MzcgMjQuODY3MTg4LTIyLjg3ODkwNiA0My45ODQzNzUtNDcuODMyMDMxIDQzLjk4NDM3NXMtNDUuNzQ2MDk0LTE5LjExNzE4Ny00Ny44MzIwMzEtNDMuOTg0Mzc1Yy0yLjA4NTkzOC0yNC44NjcxODggMTUuMjI2NTYyLTQ3LjE4MzU5NCAzOS44MzIwMzEtNTEuMzQzNzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjAgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYwIDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNjQgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNjQgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzY4IDE3NmMxNi4wOTM3NS4wMTk1MzEgMjkuNjg3NS0xMS45Mzc1IDMxLjcxODc1LTI3LjkwNjI1IDIuMDM1MTU2LTE1Ljk2NDg0NC04LjEzMjgxMi0zMC45NDUzMTItMjMuNzE4NzUtMzQuOTU3MDMxdi0xNy4xMzY3MTloLTE2djE3LjEzNjcxOWMtMTUuNTg1OTM4IDQuMDExNzE5LTI1Ljc1MzkwNiAxOC45OTIxODctMjMuNzE4NzUgMzQuOTU3MDMxIDIuMDMxMjUgMTUuOTY4NzUgMTUuNjI1IDI3LjkyNTc4MSAzMS43MTg3NSAyNy45MDYyNXptMC00OGM4LjgzNTkzOCAwIDE2IDcuMTY0MDYyIDE2IDE2cy03LjE2NDA2MiAxNi0xNiAxNi0xNi03LjE2NDA2Mi0xNi0xNiA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im02NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDggMTEyaDMyYzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTMyYy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDh6bTgtNjRoMTZ2MTZoLTE2em0wIDMyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMiAxMzZjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MzIgMTY4YzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",vne="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTUwNy41NDYgMTA1LjEyNWMwLTEuMDQ0LS4yMDUtMi4wOTEtLjY0Ny0zLjA3MmwtNDMuOTMtOTcuNjNjLTEuMjEtMi42OTItMy44ODgtNC40MjMtNi44MzktNC40MjNoLTE4Mi42M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgyMy44MTJ2ODIuNjNoLTgyLjYyNXYtODIuNjNoMjMuODEzYzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xODIuNjNjLTIuOTUxIDAtNS42MjkgMS43MzEtNi44NCA0LjQyM2wtNDMuOTMgOTcuNjNjLS40NDEuOTgxLS42NDYgMi4wMjgtLjY0NyAzLjA3MmgtLjAxNXYxMi4yMDNjMCAyOS41MTQgMjIuODI3IDUzLjc4IDUxLjc1MSA1Ni4xMTJsMzEuODY1IDU4LjQxOWgtNC4wMDdjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTYuNjMzYy4wMDUgMCAuMDEuMDAxLjAxNS4wMDFzLjAxMS0uMDAxLjAxNi0uMDAxaDE2LjYxOGM0LjE0MyAwIDcuNS0zLjM1NyA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTIuMTg5bC0zMi40NTYtNTkuNTAzYzE1Ljc1LTMuNDEzIDI5LjA1Ny0xMy40MzMgMzYuODc5LTI3LjAwMyA5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM5LjczMyAxNi44ODcgMjcuOTYxIDI4LjI4OCA0OC44MTIgMjguMjg4czM5LjA3OS0xMS40MDEgNDguODEyLTI4LjI4OGM3LjgyMiAxMy41NzEgMjEuMTI5IDIzLjU5MSAzNi44NzkgMjcuMDAzbC0zMi40NTYgNTkuNTAzaC0xMi4xODhjLTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTYuNjE4Yy4wMDUgMCAuMDExLjAwMS4wMTYuMDAxcy4wMS0uMDAxLjAxNS0uMDAxaDE2LjYzM2M0LjE0MyAwIDcuNS0zLjM1NyA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNC4wMDdsMzEuODY1LTU4LjQxOWMyOC45MjQtMi4zMzIgNTEuNzUxLTI2LjU5OCA1MS43NTEtNTYuMTEydi0xMi4yMDN6bS0xOS4wODUtNy40OTVoLTc4LjUyM3YtODIuNjNoNDEuMzQzem0tOTMuNTIzLTgyLjYzdjgyLjYzaC04Mi42MjV2LTgyLjYzem0tMTk1LjI1IDgyLjYzaC04Mi42MjV2LTgyLjYzaDgyLjYyNXptLTEzOC45NjgtODIuNjNoNDEuMzQzdjgyLjYzaC03OC41MjR6bS4wMzQgMTQzLjY0MWMtLjAxMSAwLS4wMjEtLjAwMS0uMDMyLS4wMDEtMjIuNzY3LS4wMTUtNDEuMjg1LTE4LjU0Mi00MS4yODUtNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjMCAyMi43NzgtMTguNTMxIDQxLjMxLTQxLjMwOCA0MS4zMTN6bTk3LjYyMSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjYyNSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMtLjAwMSAyMi43NzgtMTguNTM0IDQxLjMxMi00MS4zMTMgNDEuMzEyem05Ny42MjUgMGMtMjIuNzc5IDAtNDEuMzEyLTE4LjUzMy00MS4zMTItNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjMCAyMi43NzgtMTguNTM0IDQxLjMxMi00MS4zMTMgNDEuMzEyem05Ny42NDgtLjAwMWMtLjAwNSAwLS4wMDkgMC0uMDE0IDAtLjAwMyAwLS4wMDYgMC0uMDA5IDAtMjIuNzc5IDAtNDEuMzEyLTE4LjUzMy00MS4zMTItNDEuMzEydi00LjY5OGg4Mi42MjV2NC42OThjLS4wMDEgMjIuNzcyLTE4LjUyMSA0MS4zLTQxLjI5IDQxLjMxMnoiLz4KICAgIDwvZz4KPC9zdmc+",bne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOC41MzYgNTA4LjUzNiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ5OC41MzYgMzQ0LjMyMWgtMTcuMjk4Yy40MzQtMTcuNjcyLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjI5OGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OTdjMCAyNC42MDEgMTUuNzEyIDQ1LjU5NiAzNy42MjUgNTMuNDk0bC0xMS42MDEgMTEuNjAxYy0xMS4wODYgMTEuMDg2LTI1LjgyNiAxNy4xOTEtNDEuNTAzIDE3LjE5MS0zMi4zNjQgMC01OC42OTMtMjYuMzMtNTguNjkzLTU4LjY5M3YtNjYuNjRjMzYuMDg4IDEuMjY2IDU3Ljg0Ni0yMi4zOSA4MS4xNDktNDUuNjk0IDI4LjUxNy0zLjAyNCA1MC44MDktMjcuMjE2IDUwLjgwOS01Ni41MjJ2LTI1LjY5OGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC0xNy4yOThjLjQzNC0xNy42NzEtMTAuMjY3LTM0LjIxMi0yOS41NDctMzQuMjEycy0yOS45ODIgMTYuNTQtMjkuNTQ3IDM0LjIxMmgtMTcuM2MtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OThjMCAyNC42MDEgMTUuNzExIDQ1LjU5NiAzNy42MjUgNTMuNDk0bC0xMS42MDEgMTEuNjAxYy0xMS4wODYgMTEuMDg2LTI1LjgyNiAxNy4xOTEtNDEuNTAzIDE3LjE5MS0zMi4zNjQgMC01OC42OTMtMjYuMzMtNTguNjkzLTU4LjY5NCAwLTI1Ljg5NSAwLTUxLjc5MSAwLTc3LjY4NmgyMi43MTZjMTIuMjg1IDAgMTguNzI2IDE1LjUzIDEwLjAzMyAyNC4yMjEtOS4xMjIgOS4xMjEgNS4wMiAyMy4yNjQgMTQuMTQyIDE0LjE0MyA2LjQ1OC02LjQ1NyAxMC4wMTQtMTUuMDQyIDEwLjAxNC0yNC4xNzUgMC0xOC44NTItMTUuMzM3LTM0LjE4OC0zNC4xODktMzQuMTg4aC0yMi43MTZ2LTE4LjgyNGMyNi4yNTctNS4wNDMgNDYuMTYxLTI4LjE3NSA0Ni4xNjEtNTUuODgxdi0yMC44NTFjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMzYuOTE0di0yNC4yMzZoMzYuOTE0YzEyLjg0IDAgMTIuODU5LTIwIDAtMjBoLTkzLjgyOGMtMTIuODQgMC0xMi44NTkgMjAgMCAyMGgzNi45MTR2MjQuMjM1aC0zNi45MTRjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjAuODUxYzAgMjguMjMzIDIwLjY2OSA1MS43MTkgNDcuNjY3IDU2LjE1MXYxOC41NTVoLTIyLjcxNmMtMTguODUyIDAtMzQuMTg5IDE1LjMzNy0zNC4xODkgMzQuMTg4IDAgOS4xMzIgMy41NTYgMTcuNzE3IDEwLjAxNCAyNC4xNzUgOS4xMjEgOS4xMjEgMjMuMjYzLTUuMDIxIDE0LjE0My0xNC4xNDMtOC42ODUtOC42ODQtMi4yNjQtMjQuMjIxIDEwLjAzMy0yNC4yMjFoMjIuNzE2djc3LjY4NmMwIDMyLjM2NC0yNi4zMyA1OC42OTQtNTguNjk0IDU4LjY5NC0xNS42NzcgMC0zMC40MTctNi4xMDUtNDEuNTAyLTE3LjE5MWwtMTEuMjE4LTExLjIxOGMyMi41LTcuNTc1IDM4Ljc1Ni0yOC44NTYgMzguNzU2LTUzLjg3N3YtMjUuNjk4YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5OGMuNDM0LTE3LjY3MS0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4zYy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5OGMwIDI4LjcwNyAyMS4zOTQgNTIuNDk4IDQ5LjA3MyA1Ni4zbDIyLjkzNyAyMi45MzdjMTUuMTY0IDE1LjE2MyAzNi4wMSAyMy40ODYgNTcuNDMzIDIzLjAwM3Y2Ni42MTRjMCAzMi4zNjQtMjYuMzMgNTguNjkzLTU4LjY5MyA1OC42OTMtMTUuNjc3IDAtMzAuNDE3LTYuMTA1LTQxLjUwMi0xNy4xOTFsLTExLjYwMi0xMS42MDJjMjEuOTE0LTcuODk4IDM3LjYyNS0yOC44OTIgMzcuNjI1LTUzLjQ5NHYtMjUuNjk3YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5N2MuNDM0LTE3LjY3Mi0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4yOTljLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjUuNjk3YzAgMjkuMzA1IDIyLjI5MiA1My40OTcgNTAuODA4IDU2LjUyMWwyMi43MTcgMjIuNzE2YzE0Ljg2MyAxNC44NjMgMzQuNjI1IDIzLjA0OCA1NS42NDUgMjMuMDQ4IDQzLjM5MiAwIDc4LjY5My0zNS4zMDIgNzguNjkzLTc4LjY5M3YtNjkuNjU3YzE0LjQyNi00LjE2NCAyNy4xNjEtMTIuMzQyIDM2LjkwNS0yMy4yNTd2MjAuNTIyYzAgMTIuODQgMjAgMTIuODU5IDIwIDB2LTIwLjUyMmM5LjUyIDEwLjY2MyAyMS44ODkgMTguNzIzIDM1LjkwNSAyMi45NzJ2NjkuOTQ2YzAgNDMuMzkyIDM1LjMwMiA3OC42OTMgNzguNjkzIDc4LjY5MyAyMS4wMiAwIDQwLjc4MS04LjE4NiA1NS42NDUtMjMuMDQ4bDIyLjcxNi0yMi43MTZjMjguNTE2LTMuMDI1IDUwLjgwOC0yNy4yMTYgNTAuODA4LTU2LjUyMXYtMjUuNjk3Yy4wMDEtNS41MjQtNC40NzYtMTAuMDAxLTkuOTk5LTEwLjAwMXptLTExMi4yOTgtMTQ5LjkyN2MwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY0aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk4YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTh6bS0zMjYuOTE0LTI0LjY2NGMwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY0aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk4YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTh6bS0xMDQuODEyIDEyMC41OTljMC0xMi4zMTMgMTkuMDk1LTEyLjMxMyAxOS4wOTUgMHY0LjY2NWgtMTkuMDk1em00Ni4zOTIgMjQuNjY0djE1LjY5N2MwIDIwLjMxNi0xNi41MjkgMzYuODQ1LTM2Ljg0NSAzNi44NDVzLTM2Ljg0NS0xNi41MjgtMzYuODQ1LTM2Ljg0NXYtMTUuNjk3em0xMjMuNDExLTI3OC4zNjR2LTEwLjg1MWg3My44Mjh2MTAuODUxYzAgNDcuNTk2LTczLjgyOCA0Ny41OTYtNzMuODI4IDB6bTIyNS4wNDIgMjUzLjdjMC0xMi4zMTMgMTkuMDk1LTEyLjMxMyAxOS4wOTUgMHY0LjY2NWgtMTkuMDk1em00Ni4zOTMgMjQuNjY0djE1LjY5N2MwIDIwLjMxNi0xNi41MjkgMzYuODQ1LTM2Ljg0NSAzNi44NDVzLTM2Ljg0NS0xNi41MjktMzYuODQ1LTM2Ljg0NXYtMTUuNjk3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yODEuMjA2IDQ0MS44NDctMTYuNDM4LTkuNDl2LTIxLjY0NWMwLTEyLjg0LTIwLTEyLjg1OS0yMCAwdjIxLjYxOWwtMTYuNDgzIDkuNTE2Yy0zLjA5NCAxLjc4Ni01IDUuMDg3LTUgOC42NnYyNC43OGMwIDMuNTczIDEuOTA2IDYuODc0IDUgOC42NmwyMS40NiAxMi4zOWMzLjA2NyAxLjc3MSA2LjkzMyAxLjc3MSAxMCAwbDIxLjQ2LTEyLjM5YzMuMDk0LTEuNzg2IDUtNS4wODcgNS04LjY2di0yNC43OGMuMDAxLTMuNTczLTEuOTA1LTYuODc0LTQuOTk5LTguNjZ6bS0xNSAyNy42NjctMTEuNDYgNi42MTctMTEuNDYtNi42MTd2LTEzLjIzM2wxMS40Ni02LjYxNyAxMS40NiA2LjYxN3oiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ1LjUzNSAzNzQuMTgzYzEuNjM1IDMuOTI0IDUuNzE2IDYuNDY2IDkuOTY4IDYuMTM4IDQuMTY5LS4zMjIgNy43NzgtMy4yNzIgOC44OTctNy4zMDMgMi4zNjQtOC41MTMtNy4xOTEtMTUuNzU5LTE0Ljc3My0xMS4yMzUtNC4yMTQgMi41MTQtNS45NDUgNy44OC00LjA5MiAxMi40eiIvPgogICAgPC9nPgo8L3N2Zz4=",$ne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtOSAxN2M0LjQxMSAwIDgtMy41ODkgOC04IDAtMS4yNTYtLjI5OS0yLjQ0MS0uODE4LTMuNTAxIDEuMTAzLTEuNTQ4IDIuODk4LTIuNDk5IDQuODE4LTIuNDk5IDIuODQgMCA1LjI3OCAyLjA2NCA1Ljc5OSA0LjgzMS0uMTkuMTA1LS4zNzUuMjE4LS41NTQuMzQyLTEuMjI0LS43NDctMi42MzYtMS4xNzMtNC4wNzQtMS4xNzNoLS4xNzF2MmguMTcxYy44OTYgMCAxLjc4LjIyMSAyLjU4LjYxNS0uMDgzLjEwOS0uMTcxLjIxMS0uMjQ4LjMyNmwtLjMzNi41MDQgMS42NjQgMS4xMDkuMzM2LS41MDRjLjg1Ny0xLjI4MyAyLjI5LTIuMDUgMy44MzMtMi4wNSAxLjEwMyAwIDIgLjg5NyAyIDJzLS44OTcgMi0yIDJoLTdjLTEuMTAzIDAtMi0uODk3LTItMmgtMmMwIDIuMjA2IDEuNzk0IDQgNCA0aDI1YzIuMjA2IDAgNC0xLjc5NCA0LTRzLTEuNzk0LTQtNC00Yy0uNDczIDAtLjkzNS4wNi0xLjM4Ny4xNTctMS4xNTktMy42MjMtNC41NDItNi4xNTctOC40My02LjE1Ny0zLjU0OSAwLTYuNzQ2IDIuMTA3LTguMTQ0IDUuMzY5bC0uMjc3LjY0NmMtLjM1Ni4wMTMtLjcwNi4wNTUtMS4wNS4xMjMtLjgyLTMuNTQyLTQuMDIzLTYuMTM4LTcuNzEyLTYuMTM4LTIuMzEyIDAtNC40ODggMS4wMzQtNS45NzggMi43NTEtMS40NjctMS42ODItMy42Mi0yLjc1MS02LjAyMi0yLjc1MS00LjQxMSAwLTggMy41ODktOCA4czMuNTg5IDggOCA4em0yOS4xODMtMTRjMy4wNDcgMCA1LjY3NiAyLjAxNyA2LjU0MSA0Ljg3Ny0uMTYzLjA5My0uMzI1LjE4OC0uNDc5LjI5NS0xLjIyNS0uNzQ2LTIuNjM2LTEuMTcyLTQuMDc0LTEuMTcyaC0uMTcxdjJoLjE3MWMuODk1IDAgMS43OC4yMjEgMi41OC42MTUtLjA4My4xMDktLjE3MS4yMTEtLjI0OC4zMjZsLS4zMzYuNTA0IDEuNjY0IDEuMTA5LjMzNi0uNTA0Yy44NTctMS4yODMgMi4yOS0yLjA1IDMuODMzLTIuMDUgMS4xMDMgMCAyIC44OTcgMiAycy0uODk3IDItMiAyaC0xNC41NTZjLjM0NC0uNTkxLjU1Ni0xLjI2OC41NTYtMiAwLTEuNTcxLS45MTgtMi45MTktMi4yMzgtMy41NzNsLjExNi0uMjdjMS4wODItMi41MjUgMy41NTctNC4xNTcgNi4zMDUtNC4xNTd6bS0yOS4xODMgMGMzLjMwOSAwIDYgMi42OTEgNiA2cy0yLjY5MSA2LTYgNi02LTIuNjkxLTYtNiAyLjY5MS02IDYtNnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTcgMzd2LTQuNWw0LTN2LTIuNWgtMnYxLjVsLTIgMS41di01aC0ydjdsLTItMS41di0xLjVoLTJ2Mi41bDQgM3YyLjVoLTEwdi02LjVsNC0zdi0yLjVoLTJ2MS41bC0yIDEuNXYtNC41ODZsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny40MTRsLTItMS41di0xLjVoLTJ2Mi41bDQgM3Y0LjVoLTE0di0xLjI3OWwuNDk2LS4xNjVjMy4yOTItMS4wOTggNS41MDQtNC4xNjYgNS41MDQtNy42MzYgMC0yLjE0OS0uODM3LTQuMTcxLTIuMzU3LTUuNjkxbC00LjY0My00LjY0My0zLjgyNSAzLjgyNWMtLjM5LS44MDItLjg5Ni0xLjU0Ni0xLjUzMi0yLjE4M2wtNC42NDMtNC42NDItNC42NDMgNC42NDNjLTEuNTIgMS41Mi0yLjM1NyAzLjU0Mi0yLjM1NyA1LjY5MSAwIDMuNDcgMi4yMTIgNi41MzggNS41MDMgNy42MzVsLjQ5Ny4xNjV2NC4yOGgtMTYuMjgxbC40OSAxLjk1OWMzLjUzOSAxNC4xNTUgMTYuMjAxIDI0LjA0MSAzMC43OTEgMjQuMDQxczI3LjI1Mi05Ljg4NiAzMC43OTEtMjQuMDQxbC40OS0xLjk1OXptLTI3LjM2NCA2LjI1OCAxLjE0NSAxLjcxN2MuMTQzLjIxNC4yMTkuNDY0LjIxOS43MjIgMCAuNzE5LS41ODQgMS4zMDMtMS4zMDMgMS4zMDNoLTE1LjM5NGMtLjcxOSAwLTEuMzAzLS41ODQtMS4zMDMtMS4zMDMgMC0uMjU4LjA3Ni0uNTA4LjIxOS0uNzIzbDEuMTQ2LTEuNzE4Yy40MTUtLjYyNC42MzUtMS4zNTEuNjM1LTIuMTAxIDAtLjc3LS4yNDYtMS41MjUtLjY4MS0yLjE1NWgxNS4zNjJjLS40MzUuNjMxLS42ODEgMS4zODUtLjY4MSAyLjE1NSAwIC43NS4yMiAxLjQ3Ny42MzYgMi4xMDN6bS0xLjYzNi0yMi44NDQgMy4yMjkgMy4yMjljMS4xNDIgMS4xNDIgMS43NzEgMi42NjIgMS43NzEgNC4yNzcgMCAyLjU1Ny0xLjYwNCA0LjgxNy00IDUuNjgxdi0xLjE4NmwyLjcwNy0yLjcwNy0xLjQxNC0xLjQxNC0xLjI5MyAxLjI5MnYtMi4xNzJsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny4wMTRjLTIuMzk2LS44NjMtNC0zLjEyMi00LTUuNjggMC0xLjYxNS42MjktMy4xMzUgMS43NzEtNC4yNzd6bS0xNSA0LjUwNmMwLTEuNjE1LjYyOS0zLjEzNSAxLjc3MS00LjI3N2wzLjIyOS0zLjIyOSAzLjIyOSAzLjIyOWMuNjY2LjY2NiAxLjE1MyAxLjQ4MSAxLjQ0OSAyLjM3MS0xLjA4NCAxLjQtMS42NzggMy4xMDYtMS42NzggNC45MDYgMCAuNDY0LjA0Ni45MTguMTIyIDEuMzY0LS42MDkuNTgxLTEuMzI5IDEuMDM0LTIuMTIyIDEuMzE5di02LjNsMS44MzItMi43NDgtMS42NjQtMS4xMDktMS4zMjMgMS45ODUtMS4xMzgtMS4xMzgtMS40MTQgMS40MTQgMS43MDcgMS43MDd2Mi4xNzJsLTEuMjkzLTEuMjkzLTEuNDE0IDEuNDE0IDIuNzA3IDIuNzA3djEuMTg2Yy0yLjM5Ni0uODYzLTQtMy4xMjItNC01LjY4em02IDcuODAxLjQ5Ni0uMTY1Yy44MjUtLjI3NSAxLjU4OS0uNjk2IDIuMjgxLTEuMjE2LjkxNiAxLjk0OCAyLjU4NiAzLjUwMiA0LjcyNiA0LjIxNWwuNDk3LjE2NXYxLjI4aC04em0tNy40MTQgNi4yNzkuODkuODljLjMzMy4zMzMuNTI0Ljc5NS41MjQgMS4yNjUgMCAuMzU0LS4xMDQuNjk4LS4zLjk5M2wtMS4xNDUgMS43MTdjLS4zNjMuNTQ0LS41NTUgMS4xNzgtLjU1NSAxLjgzMiAwIDEuODIyIDEuNDgxIDMuMzAzIDMuMzAzIDMuMzAzaDE1LjM5NWMxLjgyMSAwIDMuMzAyLTEuNDgxIDMuMzAyLTMuMzAzIDAtLjY1NC0uMTkyLTEuMjg4LS41NTUtMS44MzJsLTEuMTQ1LTEuNzE2Yy0uMTk2LS4yOTUtLjMtLjYzOS0uMy0uOTk0IDAtLjQ3MS4xOTEtLjkzMy41MjQtMS4yNjZsLjg5LS44OWg2LjgzNmMtLjE2LjM4NS0uMjUuODA2LS4yNSAxLjI0NyAwIDEuNDkyIDEuMDExIDIuNzg4IDIuNDU5IDMuMTQ5bDQuMjIgMS4wNTVjLjc3OC4xOTYgMS4zMjEuODkxIDEuMzIxIDEuNjkzIDAgLjcxNy0uNDMgMS4zNTMtMS4wOTYgMS42MThsLTYuMjc1IDIuNTExYy0xLjU5Ny42MzktMi42MjkgMi4xNjMtMi42MjkgMy44ODIgMCAxLjQ5Ni44MDcgMi44ODggMi4xMDcgMy42M2wyLjcxNSAxLjU1MWMtMy4wMDQgMS4wNDktNi4yMTUgMS42MjEtOS41MzcgMS42NTNsLTUuMDg2LTMuMzkxYy0uMTI0LS4wODItLjE5OS0uMjIxLS4xOTktLjM3MSAwLS4yMTkuMTU3LS40MDQuMzc0LS40NGwzLjQzNS0uNTcyYzEuMjY5LS4yMTMgMi4xOTEtMS4zMDIgMi4xOTEtMi41OSAwLTEuNDQ3LTEuMTc3LTIuNjI0LTIuNjI0LTIuNjI0aC0yMC42MDVjLTIuOTg5LTMuMzY3LTUuMjU2LTcuNDMtNi40ODYtMTJ6bTE0LjUwMyAyMC4yNjIgMi4yMyAxLjQ4N2MtNi4zMjktLjc4NC0xMi4xMDUtMy41NDgtMTYuNjA3LTcuNzQ5aDE4LjY2NGMuMzQ0IDAgLjYyNC4yOC42MjQuNjI0IDAgLjMwNy0uMjE5LjU2NS0uNTIxLjYxNmwtMy40MzQuNTcyYy0xLjE4NS4xOTgtMi4wNDUgMS4yMTItMi4wNDUgMi40MTQgMCAuODE5LjQwNyAxLjU4MSAxLjA4OSAyLjAzNnptMTguMTAzLS44NzUtNC4wOTMtMi4zMzljLS42NzgtLjM4OC0xLjA5OS0xLjExMy0xLjA5OS0xLjg5NCAwLS44OTcuNTM5LTEuNjkyIDEuMzcyLTIuMDI1bDYuMjc1LTIuNTExYzEuNDI5LS41NzEgMi4zNTMtMS45MzUgMi4zNTMtMy40NzUgMC0xLjcyMS0xLjE2Ni0zLjIxNC0yLjgzNS0zLjYzMmwtNC4yMi0xLjA1NWMtLjU1Ny0uMTQtLjk0NS0uNjM3LS45NDUtMS4yMSAwLS42ODcuNTU5LTEuMjQ2IDEuMjQ2LTEuMjQ2aDE4LjQ2OGMtMi4zNzYgOC44MjgtOC41NjUgMTUuODE0LTE2LjUyMiAxOS4zODd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDE3aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzkgMjFoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00MyAxN2gydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3IDE5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTEgMjNoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im01MSAxN2gydjJoLTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Pne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiID4KPGcgZmlsbD0iY3VycmVudENvbG9yIj4KCTxwYXRoIGQ9Ik01MTEuOTc2LDQxNi4wNjNjLTAuMDA1LTAuMDc1LTAuMDA0LTAuMTQ5LTAuMDExLTAuMjI0Yy0wLjAyNy0wLjI5Ny0wLjA3LTAuNTg4LTAuMTMxLTAuODczCgkJYy0wLjAwNi0wLjAyOC0wLjAxNS0wLjA1Ni0wLjAyMi0wLjA4NGMtMC4wNTktMC4yNjItMC4xMzItMC41MTgtMC4yMTgtMC43NjhjLTAuMDIzLTAuMDY3LTAuMDQ4LTAuMTMyLTAuMDczLTAuMTk4CgkJYy0wLjA4NC0wLjIyNy0wLjE3OS0wLjQ0OC0wLjI4NC0wLjY2M2MtMC4wMTgtMC4wMzgtMC4wMy0wLjA3Ny0wLjA0OS0wLjExNWwtNDAuMTEyLTc5LjExOFY3My43MgoJCWMwLTguMDA2LTYuNTEzLTE0LjUxOS0xNC41MTktMTQuNTE5SDU1LjQ0MWMtOC4wMDYsMC0xNC41MTksNi41MTMtMTQuNTE5LDE0LjUxOXYyNjAuMjk4TDAuODExLDQxMy4xMzcKCQljLTAuMDE5LDAuMDM4LTAuMDMxLDAuMDc3LTAuMDQ5LDAuMTE1Yy0wLjEwNSwwLjIxNS0wLjE5OSwwLjQzNi0wLjI4NCwwLjY2MmMtMC4wMjUsMC4wNjYtMC4wNSwwLjEzMi0wLjA3MywwLjE5OQoJCWMtMC4wODUsMC4yNTEtMC4xNTksMC41MDgtMC4yMTgsMC43N2MtMC4wMDYsMC4wMjctMC4wMTUsMC4wNTQtMC4wMjEsMC4wODFjLTAuMDYxLDAuMjg2LTAuMTA0LDAuNTc3LTAuMTMxLDAuODc0CgkJYy0wLjAwNywwLjA3NC0wLjAwNywwLjE0OS0wLjAxMSwwLjIyM0MwLjAxNCw0MTYuMjE3LDAsNDE2LjM3MSwwLDQxNi41Mjl2MTkuMDI2YzAsOS41MDksNy43MzUsMTcuMjQ0LDE3LjI0NCwxNy4yNDRoNDc3LjUxMgoJCWM5LjUwOSwwLDE3LjI0NC03LjczNSwxNy4yNDQtMTcuMjQ0di0xOS4wMjZDNTEyLDQxNi4zNzEsNTExLjk4Niw0MTYuMjE3LDUxMS45NzYsNDE2LjA2M3ogTTU1LjkyMyw3NC4yMDNoNDAwLjE1NHYyNTQuMTA5CgkJSDU1LjkyM1Y3NC4yMDN6IE01My4wMjksMzQzLjMxMUg0NTguOTdsMzMuMzE4LDY1LjcxN2gtMTY0Ljc4bC04LjI3MS0yOS45ODljLTEuNjg0LTYuMTA1LTcuMjgyLTEwLjM2OS0xMy42MTUtMTAuMzY5aC05OS4yNDYKCQljLTYuMzMzLDAtMTEuOTMyLDQuMjY0LTEzLjYxNSwxMC4zNjhsLTguMjcxLDI5Ljk5SDE5LjcxMUw1My4wMjksMzQzLjMxMXogTTMxMS45NDgsNDA5LjAyOUgyMDAuMDUybDYuOTkzLTI1LjM1OGg5Ny45MQoJCUwzMTEuOTQ4LDQwOS4wMjl6IE00OTcsNDM1LjU1NGMwLDEuMjM3LTEuMDA3LDIuMjQ0LTIuMjQ0LDIuMjQ0SDE3LjI0NGMtMS4yMzcsMC0yLjI0NC0xLjAwNy0yLjI0NC0yLjI0NHYtMTEuNTI2aDQ4MlY0MzUuNTU0eiIKCQkvPgoJPHBhdGggZD0iTTQzMi41NzcsMjEzLjc1NmMtNC4xNDMsMC03LjUsMy4zNTctNy41LDcuNXY3Ni4wNTVIODYuOTIzdi03Ni4wNTVjMC00LjE0My0zLjM1Ny03LjUtNy41LTcuNQoJCQljLTQuMTQzLDAtNy41LDMuMzU3LTcuNSw3LjV2NzkuMjk0YzAsNi40ODUsNS4yNzUsMTEuNzYxLDExLjc2MSwxMS43NjFoMzQ0LjYzM2M2LjQ4NSwwLDExLjc2MS01LjI3NSwxMS43NjEtMTEuNzYxdi03OS4yOTQKCQkJQzQ0MC4wNzcsMjE3LjExNSw0MzYuNzIsMjEzLjc1Niw0MzIuNTc3LDIxMy43NTZ6Ii8+Cgk8cGF0aCBkPSJNNDI4LjMxNiw5MC4yMDNIODMuNjg0Yy02LjQ4NSwwLTExLjc2MSw1LjI3NS0xMS43NjEsMTEuNzYxdjc5LjI5NGMwLDQuMTQzLDMuMzU3LDcuNSw3LjUsNy41YzQuMTQzLDAsNy41LTMuMzU3LDcuNS03LjUKCQkJdi03Ni4wNTVoMzM4LjE1NHY3Ni4wNTVjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNXM3LjUtMy4zNTcsNy41LTcuNXYtNzkuMjk0QzQ0MC4wNzcsOTUuNDc3LDQzNC44MDIsOTAuMjAzLDQyOC4zMTYsOTAuMjAzeiIvPgo8L2c+Cjwvc3ZnPgo=",Wne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTE2NC4zOTkgMjA1Ljg3MmM0LjA5OS42NjQgOC4yMDYtMS4yNzMgMTAuMjg0LTQuOTFsNjAtMTA1YzEuNzY5LTMuMDk1IDEuNzU2LTYuODk3LS4wMzMtOS45OHMtNS4wODUtNC45ODEtOC42NDktNC45ODFoLTM2LjY4MmwtMTMuNDg2LTcyLjgyMWMtLjc3Mi00LjE2OS00LjA4OS03LjM5OC04LjI3Ny04LjA1OC00LjE4NS0uNjYtOC4zMzcgMS4zOTQtMTAuMzUzIDUuMTIzbC02MCAxMTFjLTEuNjc1IDMuMDk5LTEuNTk3IDYuODUxLjIwOCA5Ljg3NiAxLjgwNCAzLjAyNSA1LjA2NiA0Ljg3OSA4LjU4OSA0Ljg3OWgzNi44MDJsMTMuMzkzIDY2Ljk2MWMuODE3IDQuMDkgNC4wODggNy4yNDIgOC4yMDQgNy45MTF6bS0xMy4zOTktOTQuODcxaC0yOC4yMjhsMzguNTU0LTcxLjMyMyA5Ljg0MSA1My4xNDRjLjg3OCA0Ljc0IDUuMDEzIDguMTc5IDkuODMzIDguMTc5aDI3Ljc2OWwtMzguMiA2Ni44NS05Ljc2My00OC44MTFjLS45MzUtNC42NzQtNS4wMzktOC4wMzktOS44MDYtOC4wMzl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwIDQ1OS4wMDFjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoMjZjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzgtMTAtMTAtMTBoLTU2di02OGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY2OGgtNDB2LTIyM2g0MHY2NWMwIDUuNTIzIDQuNDc4IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi03NWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHYyMzNoLTQwdi0xNzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTB2MTczaC00MHYtMTEzYzAtNS41MjMtNC40NzgtMTAtMTAtMTBoLTYwYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwdjExM2gtNzN2LTQ0OWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHYyNmgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDN6bTI1Ni0xNjNoNDB2MTYzaC00MHptLTEyMCA2MGg0MHYxMDNoLTQweiIvPgogICAgICAgIDxwYXRoIGQ9Im00MzYgMTQ2LjAwMWM1LjUyMiAwIDEwLTQuNDc3IDEwLTEwdi02MGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgzNS44NTdsLTEwMCAxMDBoLTU1Ljg1N2MtMi42NTIgMC01LjE5NSAxLjA1NC03LjA3MSAyLjkyOWwtOTAgOTBjLTMuOTA1IDMuOTA1LTMuOTA1IDEwLjIzNyAwIDE0LjE0MyAzLjkwNyAzLjkwNSAxMC4yMzYgMy45MDQgMTQuMTQzIDBsODcuMDcxLTg3LjA3MWg1NS44NTdjMi42NTIgMCA1LjE5NS0xLjA1NCA3LjA3MS0yLjkyOWwxMDIuOTI5LTEwMi45M3YzNS44NTdjMCA1LjUyNCA0LjQ3OCAxMC4wMDEgMTAgMTAuMDAxeiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjQzNiIgY3k9IjM0Ni4wMDEiIHI9IjEwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Rne="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHJlY3QgeD0iMjE2IiB5PSI4OC40ODkiIHdpZHRoPSI4MCIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjIxNiIgeT0iNjIuNDg5IiB3aWR0aD0iODAiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cGF0aCBkPSJNMzAsNTIuNDk0djkuMjg1Yy0yLjM0Ny0wLjgzMi00Ljg3Mi0xLjI4NS03LjUtMS4yODVjLTEyLjQwNiwwLTIyLjUsMTAuMDkzLTIyLjUsMjIuNWMwLDEyLjQwNywxMC4wOTQsMjIuNSwyMi41LDIyLjUKCQkJYzIuNjI4LDAsNS4xNTMtMC40NTMsNy41LTEuMjg1djM1NS4yOThoNy41YzguNjk5LDAsMTMuMzU0LTIuODE5LDE3LjA5NS01LjA4NWMyLjg5OS0xLjc1NSw0LjgxNC0yLjkxNSw5LjMyNS0yLjkxNQoJCQljNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1YzguNjk4LDAsMTMuMzU0LTIuODE5LDE3LjA5NC01LjA4NQoJCQljMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjItMi45MTVjNC41MDksMCw2LjQyNCwxLjE2LDkuMzIxLDIuOTE1YzMuNzQsMi4yNjYsOC4zOTUsNS4wODUsMTcuMDkzLDUuMDg1CgkJCXMxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIxLTIuOTE1YzQuNTEsMCw2LjQyNSwxLjE2LDkuMzIyLDIuOTE1CgkJCWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTN2LTQwN0gzMHogTTIyLjUsOTAuNDk0Yy00LjEzNiwwLTcuNS0zLjM2NC03LjUtNy41YzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjUKCQkJczcuNSwzLjM2NCw3LjUsNy41QzMwLDg3LjEzLDI2LjYzNiw5MC40OTQsMjIuNSw5MC40OTR6IE0xODguNSw0NDIuNjY0Yy0wLjU4NS0wLjMyNS0xLjE3OS0wLjY4NS0xLjgyMS0xLjA3NAoJCQljLTMuMzM5LTIuMDIyLTcuNDA3LTQuNDg2LTE0LjQyOS00Ljk5MVYyMjYuNTU1aC0xNXYyMTIuNDMxYy0xLjgyNCwwLjgyNy0zLjM1NSwxLjc1NS00Ljc1OCwyLjYwNAoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOAoJCQljLTIuNzM0LTEuMDA1LTYuMDk3LTEuNzI2LTEwLjQ5NC0xLjcyNmMtMS42MzgsMC0zLjEzMywwLjEtNC41MDYsMC4yNzh2LTIxNi43OWgtMTV2MjIyLjk4OGMtMS44NDksMC45NTEtMy43MzgsMS41MjUtNi45MSwxLjUyNQoJCQljLTMuODQzLDAtNS44MDItMC44NDItOC4wOS0yLjE3NlYxNDEuOTk0aC0xNXYyOTQuNjYxYy0xLjA0MS0wLjA5Ni0yLjE0OC0wLjE0OC0zLjMzLTAuMTQ4Yy04LjY5OSwwLTEzLjM1NCwyLjgxOS0xNy4wOTUsNS4wODUKCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFoNDYuMjVWNDQyLjY2NHoiLz4KICAgICAgICA8cmVjdCB4PSIxNTcuMjUiIHk9IjEzNi45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSI2NiIvPgogICAgICAgIDxyZWN0IHg9IjE1Ny4yNSIgeT0iMTExLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSI4Ni45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9Ijk3LjI1IiB5PSIxMzAuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iNjYiLz4KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iODAuOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTA1Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHJlY3QgeD0iNDM1Ljc1IiB5PSIxMTMuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSI0MzUuNzUiIHk9IjEzOC45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSI2NiIvPgogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iODguOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjE1NS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjM3NS43NSIgeT0iODAuOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEwNS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgogICAgICAgIDxyZWN0IHg9IjM3NS43NSIgeT0iMTMwLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ4OS41LDYwLjQ5NGMtMi42MjgsMC01LjE1MywwLjQ1My03LjUsMS4yODV2LTkuMjg1SDMwOC41djQwNy4wMTNoNy41YzguNjk5LDAsMTMuMzU0LTIuODE5LDE3LjA5NS01LjA4NQoJCQljMi44OTktMS43NTUsNC44MTQtMi45MTUsOS4zMjUtMi45MTVjNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1CgkJCWM4LjY5OCwwLDEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjItMi45MTVjNC41MDksMCw2LjQyNCwxLjE2LDkuMzIxLDIuOTE1CgkJCWMzLjc0LDIuMjY2LDguMzk1LDUuMDg1LDE3LjA5Myw1LjA4NXMxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIxLTIuOTE1CgkJCWM0LjUxLDAsNi40MjUsMS4xNiw5LjMyMiwyLjkxNWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTNWMTA0LjIwOGMyLjM0NywwLjgzMiw0Ljg3MiwxLjI4NSw3LjUsMS4yODUKCQkJYzEyLjQwNiwwLDIyLjUtMTAuMDkzLDIyLjUtMjIuNUM1MTIsNzAuNTg1LDUwMS45MDYsNjAuNDk0LDQ4OS41LDYwLjQ5NHogTTQ2Nyw0NDIuNjY0Yy0wLjU4NS0wLjMyNS0xLjE3OS0wLjY4NS0xLjgyMS0xLjA3NAoJCQljLTMuMzM5LTIuMDIyLTcuNDA3LTQuNDg2LTE0LjQyOS00Ljk5MVYyMjYuNTU1aC0xNXYyMTIuNDMxYy0xLjgyNCwwLjgyNy0zLjM1NSwxLjc1NS00Ljc1OCwyLjYwNAoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOAoJCQljLTIuNzM0LTEuMDA1LTYuMDk3LTEuNzI2LTEwLjQ5NC0xLjcyNmMtMS42MzgsMC0zLjEzMywwLjEtNC41MDYsMC4yNzh2LTI1MC43OWgtMTV2MjU2Ljk4OGMtMS44NDksMC45NTEtMy43MzgsMS41MjUtNi45MSwxLjUyNQoJCQljLTMuODQzLDAtNS44MDItMC44NDItOC4wOS0yLjE3NlYxNDEuOTk0aC0xNXYyOTQuNjYxYy0xLjA0MS0wLjA5Ni0yLjE0OC0wLjE0OC0zLjMzLTAuMTQ4Yy04LjY5OSwwLTEzLjM1NCwyLjgxOS0xNy4wOTUsNS4wODUKCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFINDY3VjQ0Mi42NjR6IE00ODkuNSw5MC40OTRjLTQuMTM2LDAtNy41LTMuMzY0LTcuNS03LjUKCQkJYzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjVzNy41LDMuMzY0LDcuNSw3LjVDNDk3LDg3LjEzLDQ5My42MzYsOTAuNDk0LDQ4OS41LDkwLjQ5NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Jne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDIgMTJjMi4yMDYgMCA0LTEuNzk0IDQtNHMtMS43OTQtNC00LTQtNCAxLjc5NC00IDQgMS43OTQgNCA0IDR6bTItNGMwIDEuMTAzLS44OTcgMi0yIDJzLTItLjg5Ny0yLTJjMC0uMTc4LjAzMS0uMzQ3LjA3NS0uNTExbDEuMjE4IDEuMjE4IDEuNDE0LTEuNDE0LTEuMjE4LTEuMjE4Yy4xNjQtLjA0NC4zMzMtLjA3NS41MTEtLjA3NSAxLjEwMyAwIDIgLjg5NyAyIDJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyIDRjLTIuMjA2IDAtNCAxLjc5NC00IDRzMS43OTQgNCA0IDQgNC0xLjc5NCA0LTQtMS43OTQtNC00LTR6bTAgNmMtMS4xMDMgMC0yLS44OTctMi0ycy44OTctMiAyLTJjLjE3OCAwIC4zNDcuMDMxLjUxMS4wNzVsLTEuMjE4IDEuMjE4IDEuNDE0IDEuNDE0IDEuMjE4LTEuMjE4Yy4wNDQuMTY0LjA3NS4zMzMuMDc1LjUxMSAwIDEuMTAzLS44OTcgMi0yIDJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUxIDEyaDJjMS42NTQgMCAzLTEuMzQ2IDMtM3MtMS4zNDYtMy0zLTNoLTJjLTEuNjU0IDAtMyAxLjM0Ni0zIDNzMS4zNDYgMyAzIDN6bTAtNGgyYy41NTEgMCAxIC40NDkgMSAxcy0uNDQ5IDEtMSAxaC0yYy0uNTUxIDAtMS0uNDQ5LTEtMXMuNDQ5LTEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMyA2aC0yYy0xLjY1NCAwLTMgMS4zNDYtMyAzczEuMzQ2IDMgMyAzaDJjMS42NTQgMCAzLTEuMzQ2IDMtM3MtMS4zNDYtMy0zLTN6bTAgNGgtMmMtLjU1MSAwLTEtLjQ0OS0xLTFzLjQ0OS0xIDEtMWgyYy41NTEgMCAxIC40NDkgMSAxcy0uNDQ5IDEtMSAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im02Mi45OTcgNThjMC0uMTYzLS4wMzctLjMyNi0uMTE3LS40NzRsLTIuODgtNS4zNDl2LTM4LjE3Ny0xMGMwLTEuNjU0LTEuMzQ2LTMtMy0zaC01MGMtMS42NTQgMC0zIDEuMzQ2LTMgM3YxMCAzOC4xNzdsLTIuODggNS4zNDljLS4wOC4xNDgtLjExNy4zMTEtLjExNy40NzRoLS4wMDN2MmMwIDEuNjU0IDEuMzQ2IDMgMyAzaDU2YzEuNjU0IDAgMy0xLjM0NiAzLTN2LTJ6bS02Ljk5Ny0xMy4yNTF2LTI5Ljc0OWgydjMzLjQ2M3ptLTQxLjkzMS0yLjc0OWMuMTg5IDEuNTAyLjc5MiAyLjg3NSAxLjY5NSA0aC0yLjc2NHYtNHptMzYuOTMxIDB2NGgtMi43NjVjLjkwNC0xLjEyNSAxLjUwNy0yLjQ5OCAxLjY5NS00em0tNS42OSA0aC0uMzF2LTIuMzgyYy40MDItLjQ2LjctMS4wMDkuODU4LTEuNjE4aDIuMDUyYy0uMjgyIDEuNjY2LTEuMjQ2IDMuMTAxLTIuNiA0em0tOC4zMS0xLjY5di0yLjMxaDEuMTQyYy40NDcgMS43MjEgMiAzIDMuODU4IDMgLjM0NyAwIC42NzgtLjA1OCAxLS4xNDJ2MS4xNDJoLTQuMzFjLS42Ny0uNDQ1LTEuMjQ1LTEuMDItMS42OS0xLjY5em0zLjI3OC00LjMxYy4zNDctLjU5NS45ODUtMSAxLjcyMi0xczEuMzc1LjQwNSAxLjcyMiAxem0yLjcyMiAydi43MjJjLS4yOTUuMTcyLS42MzQuMjc4LTEgLjI3OC0uNzM3IDAtMS4zNzUtLjQwNS0xLjcyMi0xem0yLjg1OC0yYy0uNDQ3LTEuNzIxLTItMy0zLjg1OC0zcy0zLjQxMSAxLjI3OS0zLjg1OCAzaC0yLjA1MmMuNDc4LTIuODMzIDIuOTQyLTUgNS45MS01czUuNDMxIDIuMTY3IDUuOTEgNXptLTExLjcyNS03LjA4NGMuNTEzLTIuNzkyIDIuOTU5LTQuOTE2IDUuODk3LTQuOTE2IDEuNjEgMCAzLjA2NS42MzEgNC4xNDMgMS42Ni0uOTczLS40MjMtMi4wNDYtLjY2LTMuMTczLS42Ni0yLjkxOCAwLTUuNDY5IDEuNTc2LTYuODY3IDMuOTE2em0uODY3IDQuMDg0YzAtMy4zMDkgMi42OTEtNiA2LTYgMi4zMzUgMCA0LjM1NyAxLjM0MyA1LjM0OCAzLjI5NC0xLjI1My0uODE1LTIuNzQ1LTEuMjk0LTQuMzQ4LTEuMjk0LTMuMDA0IDAtNS42MjQgMS42NjctNi45OTIgNC4xMjItLjAwMS0uMDQxLS4wMDgtLjA4MS0uMDA4LS4xMjJ6bS0uOTMxIDVjLjEyOSAxLjAyNy40NDkgMS45OTYuOTMxIDIuODY0djEuMTM2aC02di0xLjEzNmMuNDgyLS44NjkuODAyLTEuODM3LjkzMS0yLjg2NHptLTEzLjA2OSA0di0xLjE0MmMuMzIyLjA4NC42NTMuMTQyIDEgLjE0MiAxLjg1OCAwIDMuNDExLTEuMjc5IDMuODU4LTNoMS4xNDJ2Mi4zMWMtLjQ0NS42Ny0xLjAyIDEuMjQ1LTEuNjkgMS42OXptMC00aDIuNzIyYy0uMzQ3LjU5NS0uOTg1IDEtMS43MjIgMS0uMzY2IDAtLjcwNS0uMTA2LTEtLjI3OHptLS43MjItMmMuMzQ3LS41OTUuOTg1LTEgMS43MjItMXMxLjM3NS40MDUgMS43MjIgMXptOC43MTQtMi44NzhjLTEuMzY4LTIuNDU1LTMuOTg4LTQuMTIyLTYuOTkyLTQuMTIyLTEuNjAzIDAtMy4wOTUuNDc5LTQuMzQ4IDEuMjk0Ljk5MS0xLjk1MSAzLjAxMy0zLjI5NCA1LjM0OC0zLjI5NCAzLjMwOSAwIDYgMi42OTEgNiA2IDAgLjA0MS0uMDA3LjA4MS0uMDA4LjEyMnptLTUuOTkyLTguMTIyYy0xLjEwNiAwLTIuMTYuMjI2LTMuMTE5LjYzNCAxLjA3Ni0xLjAxNSAyLjUyMi0xLjYzNCA0LjExOS0xLjYzNCAyLjk2MSAwIDUuNDIyIDIuMTU4IDUuOTA3IDQuOTgzLTEuMzg4LTIuMzc4LTMuOTYxLTMuOTgzLTYuOTA3LTMuOTgzem0tMSA2YzIuOTY3IDAgNS40MzEgMi4xNjcgNS45MSA1aC0yLjA1MmMtLjQ0Ny0xLjcyMS0yLTMtMy44NTgtM3MtMy40MTEgMS4yNzktMy44NTggM2gtMi4wNTJjLjQ3OS0yLjgzMyAyLjk0My01IDUuOTEtNXptLTMuODU4IDdjLjE1OC42MDkuNDU2IDEuMTU3Ljg1OCAxLjYxOHYyLjM4MmgtLjMxYy0xLjM1NC0uODk5LTIuMzE5LTIuMzM0LTIuNi00em0tNS4xNDIgNmg1LjEzNmMuMjc4LjE1NC41NjcuMjkuODY0LjQxMXYzLjU4OWgtNnptOCAuOTMxYy4zMjguMDQxLjY2MS4wNjkgMSAuMDY5IDEuNDAxIDAgMi43MTgtLjM2NCAzLjg2NC0xaDEuMTM2djRoLTZ6bTgtLjkzMWg2djRoLTZ6bTggMGgxLjEzNmMxLjE0Ny42MzYgMi40NjMgMSAzLjg2NCAxIC4zMzkgMCAuNjcyLS4wMjggMS0uMDY5djMuMDY5aC02em04IC40MTFjLjI5Ny0uMTIxLjU4Ni0uMjU3Ljg2NC0uNDExaDUuMTM2djRoLTZ6bTcuOTY4LTcuNTcyLjAxOS0uMDAzLTIuNzc0LTE2LjY0M2MtLjIxMi0xLjI3MS0xLjMwMS0yLjE5My0yLjU4OS0yLjE5My0xLjQ0NyAwLTIuNjI0IDEuMTc3LTIuNjI0IDIuNjI0djEuMzc2aDJ2LTEuMzc2YzAtLjM0NC4yOC0uNjI0LjYyNC0uNjI0LjMwNyAwIC41NjUuMjE5LjYxNi41MjFsMi41OCAxNS40NzloLS44ODljLS4xMjktMS4wMy0uNDUxLTItLjkzNC0yLjg3IDAtLjA0NC4wMDMtLjA4Ni4wMDMtLjEzIDAtMS40Mi0uMzc2LTIuNzUxLTEuMDI3LTMuOTA4LS40NTctNC4wNTQtMy44NDEtNy4wOTItNy45NDMtNy4wOTItNC40MTEgMC04IDMuNTg5LTggOCAwIDEuMzczLjM2NCAyLjcxMyAxLjAzMSAzLjkwNC4wODIuNzIxLjI2MSAxLjQyNS41MzIgMi4wOTZoLTMuMTg3Yy4yNjMtLjY1LjQ0Mi0xLjMzLjUyNy0yLjAyOC42OTItMS4yMDggMS4wNjctMi41NzQgMS4wNjctMy45NzIgMC00LjQxMS0zLjU4OS04LTgtOC00LjA4IDAtNy40NDggMy4wMDYtNy45MzQgNy4wMjctLjY3NCAxLjE3Mi0xLjA2NiAyLjUyNi0xLjA2NiAzLjk3MyAwIC4wNDQuMDAzLjA4Ni4wMDQuMTMtLjQ4NC44Ny0uODA1IDEuODQtLjkzNSAyLjg3aC0uODg5bDIuNTgtMTUuNDc5Yy4wNTEtLjMwMi4zMDktLjUyMS42MTYtLjUyMS4zNDQgMCAuNjI0LjI4LjYyNC42MjR2MS4zNzZoMnYtMS4zNzZjMC0xLjQ0Ny0xLjE3Ny0yLjYyNC0yLjYyNC0yLjYyNC0xLjI4OCAwLTIuMzc3LjkyMi0yLjU4OCAyLjE5MmwtMi43NzQgMTYuNjQ0LjAxOS4wMDNjLS4wMS4wNTQtLjAzMy4xMDQtLjAzMy4xNjF2M2gtMXYtMjNoNDR2MjNoLTF2LTNjMC0uMDU3LS4wMjMtLjEwNy0uMDMyLS4xNjF6bTEuMDMyLTI1LjgzOXY0aC00NHYtNHptLTIwLTJoLTR2LTRjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptLTI4LTljMC0uNTUxLjQ0OS0xIDEtMWg1MGMuNTUxIDAgMSAuNDQ5IDEgMXY5aC0yMnYtNGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY0aC0yMnptMCAxMWgydjI5Ljc0OWwtMiAzLjcxNHptMy41OTcgMzFoMS40MDN2N2MwIC41NTMuNDQ4IDEgMSAxaDQwYy41NTIgMCAxLS40NDcgMS0xdi03aDEuNDAzbDUuOTIzIDExaC01Ni42NTJ6bTUwLjQwMyAxNWgtNTZjLS41NTEgMC0xLS40NDgtMS0xdi0xaDU4djFjMCAuNTUyLS40NDkgMS0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyIDE2aDR2MmgtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggMTZoNHYyaC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMSA5aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+",Bne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMTMuMjA2IDEwNi4yNjVoLTEzLjYyM3YtODYuMjhhMS43NDkgMS43NDkgMCAwIDAgLTEuNTU0LTEuNzM4bC00Ni01LjE5MmExLjc1IDEuNzUgMCAwIDAgLTEuOTQ2IDEuNzM5djMuNDQxaC0xOS45MTZhMS43NSAxLjc1IDAgMCAwIC0xLjc1IDEuNzV2ODYuMjhoLTEzLjYyM2ExLjc1IDEuNzUgMCAxIDAgMCAzLjVoMzUuMjg5djMuNDQxYTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzUgMS42MSAxLjYxIDAgMCAwIC4yLS4wMTFsNDUuOS01LjE4aDE1LjI3NmExLjc1IDEuNzUgMCAwIDAgMC0zLjV6bS04MS4yODktODQuNTNoMTguMTY2djQuNWgtMTEuOTE3YTEuNzUgMS43NSAwIDAgMCAtMS43NSAxLjc1djc4LjI4aC00LjV6bTggODQuNTN2LTc2LjUzaDEwLjE2NnY3Ni41M3ptMTMuNjY2LTg5LjUxMyA0Mi41IDQuOHY4NC45bC00Mi41IDQuOHoiLz4KICAgICAgICA8cGF0aCBkPSJtNjEuMTI1IDU4Ljc5MmE1LjIwOCA1LjIwOCAwIDEgMCA1LjIwOCA1LjIwOCA1LjIxNCA1LjIxNCAwIDAgMCAtNS4yMDgtNS4yMDh6bTAgNi45MTZhMS43MDggMS43MDggMCAxIDEgMS43MDgtMS43MDggMS43MSAxLjcxIDAgMCAxIC0xLjcwOCAxLjcwOHoiLz4KICAgIDwvZz4KPC9zdmc+",Fne="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQwMS4wNjcsMEgxMTAuOTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2NDk0LjkzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDI5MC4xMzMKCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y4LjUzM0M0MDkuNiwzLjgxNCw0MDUuNzc3LDAsNDAxLjA2NywweiBNMzkyLjUzMyw0OTQuOTMzSDExOS40NjdWMTcuMDY3aDI3My4wNjdWNDk0LjkzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzY2LjkzMywzNC4xMzNIMTQ1LjA2N2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjQ2MC44YzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjIxLjg2NwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzdi00NjAuOEMzNzUuNDY3LDM3Ljk0OCwzNzEuNjQ0LDM0LjEzMywzNjYuOTMzLDM0LjEzM3ogTTM1OC40LDQ5NC45MzNIMTUzLjZWNTEuMmgyMDQuOFY0OTQuOTMzegoJCQkiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDY4LjI2N2MtNDcuMDUzLDAtODUuMzMzLDM4LjI4MS04NS4zMzMsODUuMzMzdjguNTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTUzLjYKCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxNTMuNkMzNDEuMzMzLDEwNi41NDcsMzAzLjA1Myw2OC4yNjcsMjU2LDY4LjI2N3ogTTE4Ny43MzMsMTUzLjYKCQkJYzAtMzcuNjQxLDMwLjYyNi02OC4yNjcsNjguMjY3LTY4LjI2N2MzNy42NDEsMCw2OC4yNjcsMzAuNjI2LDY4LjI2Nyw2OC4yNjdIMTg3LjczM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywxODcuNzMzSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczMwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjE5Ni4yNjdDMjQ3LjQ2NywxOTEuNTQ4LDI0My42NDQsMTg3LjczMywyMzguOTMzLDE4Ny43MzN6IE0yMzAuNCwzMDcuMmgtNDIuNjY3VjIwNC44SDIzMC40CgkJCVYzMDcuMnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzMyLjgsMTg3LjczM2gtNTkuNzMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDMzMi44CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMTk2LjI2N0MzNDEuMzMzLDE5MS41NDgsMzM3LjUxLDE4Ny43MzMsMzMyLjgsMTg3LjczM3ogTTMyNC4yNjcsMzA3LjJIMjgxLjZWMjA0LjhoNDIuNjY3VjMwNy4yCgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNDEuMzMzSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczMwoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjM0OS44NjdDMjQ3LjQ2NywzNDUuMTQ4LDI0My42NDQsMzQxLjMzMywyMzguOTMzLDM0MS4zMzN6IE0yMzAuNCw0NjAuOGgtNDIuNjY3VjM1OC40SDIzMC40CgkJCVY0NjAuOHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzMyLjgsMzQxLjMzM2gtNTkuNzMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDMzMi44CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzQ5Ljg2N0MzNDEuMzMzLDM0NS4xNDgsMzM3LjUxLDM0MS4zMzMsMzMyLjgsMzQxLjMzM3ogTTMyNC4yNjcsNDYwLjhIMjgxLjZWMzU4LjRoNDIuNjY3VjQ2MC44CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDY4LjI2N2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjg1LjMzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODE0LDguNTMzLTguNTMzVjc2LjgKCQkJQzI2NC41MzMsNzIuMDgxLDI2MC43MSw2OC4yNjcsMjU2LDY4LjI2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzIwLjQzNSw5Ny42OThjLTMuMzI4LTMuMzM2LTguNzMtMy4zMzYtMTIuMDY2LDBMMjQ5Ljk2NywxNTYuMWMtMy4zMzcsMy4zMzctMy4zMzcsOC43MywwLDEyLjA2NgoJCQljMS42NjQsMS42NjQsMy44NDksMi41LDYuMDMzLDIuNWMyLjE4NSwwLDQuMzY5LTAuODM2LDYuMDMzLTIuNWw1OC40MDItNTguNDAyQzMyMy43NzIsMTA2LjQyOCwzMjMuNzcyLDEwMS4wMzUsMzIwLjQzNSw5Ny42OTh6IgogICAgICAgIC8+CiAgICAgICAgPHBhdGggZD0iTTI2Mi4wMzMsMTU2LjFMMjAzLjYzMSw5Ny42OWMtMy4zMjgtMy4zMzctOC43My0zLjMzNy0xMi4wNjYsMGMtMy4zMzcsMy4zMzYtMy4zMzcsOC43MywwLDEyLjA2Nmw1OC40MDIsNTguNDExCgkJCWMxLjY2NCwxLjY2NCwzLjg0OSwyLjUsNi4wMzMsMi41YzIuMTg1LDAsNC4zNjktMC44MzYsNi4wMzMtMi41QzI2NS4zNywxNjQuODMsMjY1LjM3LDE1OS40MzcsMjYyLjAzMywxNTYuMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNTkuNzMzLDQ5NC45MzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM0MwLDUwOC4xODYsMy44MjMsNTEyLDguNTMzLDUxMmg1MS4yCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNjguMjY3LDQ5OC43NDgsNjQuNDQ0LDQ5NC45MzMsNTkuNzMzLDQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsNDk0LjkzM2gtMTAyLjRjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDEwMi40CgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNTEyLDQ5OC43NDgsNTA4LjE3Nyw0OTQuOTMzLDUwMy40NjcsNDk0LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Gne="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjBhOTYgOTYgMCAxIDAgOTYgOTYgOTYuMTA4IDk2LjEwOCAwIDAgMCAtOTYtOTZ6bTAgMTc2YTgwIDgwIDAgMSAxIDgwLTgwIDgwLjA5MSA4MC4wOTEgMCAwIDEgLTgwIDgweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTI4YTEyOCAxMjggMCAxIDAgMTI4IDEyOCAxMjguMTQ1IDEyOC4xNDUgMCAwIDAgLTEyOC0xMjh6bTAgMjQwYTExMiAxMTIgMCAxIDEgMTEyLTExMiAxMTIuMTI3IDExMi4xMjcgMCAwIDEgLTExMiAxMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzMiA0ODh2LTQ2NGE4IDggMCAwIDAgLTgtOGgtMzM2YTggOCAwIDAgMCAtOCA4djQ2NGE4IDggMCAwIDAgOCA4aDMzNmE4IDggMCAwIDAgOC04em0tMzM2LTM3NmgzMjB2MzA0aC0zMjB6bTk2LTgwaDE0NHY0MGE4IDggMCAwIDAgOCA4aDcydjE2aC0yMjR6bTIyNCAzMmgtNjR2LTMyaDY0em0tMjQwLTMydjY0aC04MHYtNjR6bS04MCA0NDh2LTQ4aDMyMHY0OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4IDQwYTI0IDI0IDAgMSAwIDI0IDI0IDI0LjAyNyAyNC4wMjcgMCAwIDAgLTI0LTI0em0wIDMyYTggOCAwIDEgMSA4LTggOC4wMDkgOC4wMDkgMCAwIDEgLTggOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTEyIDU2aDQ4djE2aC00OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg4IDQwaDMydjE2aC0zMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg4IDcyaDMydjE2aC0zMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjcyIDIwMGE4IDggMCAwIDAgLTE2IDBjMCA2LjM3My0yLjQxNyA5LjE5MS02LjA3NCAxMy40NTgtNC40MjYgNS4xNTktOS45MjYgMTEuNTgtOS45MjYgMjMuODcyczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTMtNi4wNzQgMTMuNDYxYy00LjQyNiA1LjE1OS05LjkyNiAxMS41ODEtOS45MjYgMjMuODc0YTggOCAwIDAgMCAxNiAwYzAtNi4zNzUgMi40MTctOS4xOTQgNi4wNzQtMTMuNDYyIDQuNDIzLTUuMTU5IDkuOTI2LTExLjU4IDkuOTI2LTIzLjg3M3MtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXMyLjQxNy05LjE5MSA2LjA3NC0xMy40NThjNC40MjYtNS4xNTkgOS45MjYtMTEuNTggOS45MjYtMjMuODcyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOTYgMjM3LjMzYzAtNi4zNzMgMi40MTctOS4xOTIgNi4wNzUtMTMuNDYuODEyLS45NDcgMS42MjMtMS45IDIuNDA3LTIuODc4YTggOCAwIDAgMCAtMTIuNS05Ljk4NGMtLjY2OC44MzYtMS4zNjEgMS42NDEtMi4wNTMgMi40NDktNC40MjkgNS4xNTktOS45MjkgMTEuNTgxLTkuOTI5IDIzLjg3M3M1LjUgMTguNzE0IDkuOTI2IDIzLjg3M2MzLjY1NyA0LjI2OCA2LjA3NCA3LjA4NyA2LjA3NCAxMy40NjJzLTIuNDE3IDkuMTk0LTYuMDc1IDEzLjQ2MmMtLjgxMy45NDktMS42MjUgMS45LTIuNDA5IDIuODgxYTggOCAwIDAgMCAxMi41IDkuOTg0Yy42NjgtLjgzNyAxLjM2Mi0xLjY0NCAyLjA1NC0yLjQ1MiA0LjQzLTUuMTYgOS45My0xMS41ODIgOS45My0yMy44NzVzLTUuNS0xOC43MTUtOS45MjYtMjMuODc0Yy0zLjY1Ny00LjI2OC02LjA3NC03LjA5MS02LjA3NC0xMy40NjF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxNiAyMzcuMzNjMC02LjM3MyAyLjQxNy05LjE5MiA2LjA3NS0xMy40Ni44MTItLjk0NyAxLjYyMy0xLjkgMi40MDctMi44NzhhOCA4IDAgMCAwIC0xMi41LTkuOTg0Yy0uNjY4LjgzNi0xLjM2MSAxLjY0MS0yLjA1MyAyLjQ0OS00LjQyOSA1LjE1OS05LjkyOSAxMS41ODEtOS45MjkgMjMuODczczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTQtNi4wNzUgMTMuNDYyYy0uODEzLjk0OS0xLjYyNSAxLjktMi40MDkgMi44ODFhOCA4IDAgMCAwIDEyLjUgOS45ODRjLjY2OC0uODM3IDEuMzYyLTEuNjQ0IDIuMDU0LTIuNDUyIDQuNDMtNS4xNiA5LjkzLTExLjU4MiA5LjkzLTIzLjg3NXMtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXoiLz4KICAgIDwvZz4KPC9zdmc+",Hne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3Ni4wNjUgNDc2LjA2NSI+CjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+Cgk8cGF0aCBkPSJNNDMyLjU1OCwxNzIuMDJDNDE5LjMwMyw2NC41ODcsMzIxLjQ2Ni0xMS43NiwyMTQuMDMzLDEuNDk1UzMwLjI1MywxMTIuNTg3LDQzLjUwOCwyMjAuMDIKCQljMTEuMDA4LDg5LjIyMiw4MS4zMDMsMTU5LjUxNywxNzAuNTI1LDE3MC41MjV2MzcuNTJoLTU2Yy0xMy4yNTUsMC0yNCwxMC43NDUtMjQsMjR2MjRoMjA4di0yNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTU2CgkJdi0zNy41MkMzNjkuNDY2LDM3Ny4yOSw0NDUuODEzLDI3OS40NTMsNDMyLjU1OCwxNzIuMDJ6IE0zMTguMDMzLDQ0NC4wNjVjNC40MTgsMCw4LDMuNTgyLDgsOHY4aC0xNzZ2LThjMC00LjQxOCwzLjU4Mi04LDgtOAoJCUgzMTguMDMzeiBNMjMwLjAzMyw0MjguMDY1di0zMmgxNnYzMkgyMzAuMDMzeiBNMjM4LjAzMywzNzYuMDY1Yy05OS40MTEsMC0xODAtODAuNTg5LTE4MC0xODAKCQljMC4xMTUtOTkuMzY0LDgwLjYzNi0xNzkuODg1LDE4MC0xODBjOTkuNDExLDAsMTgwLDgwLjU4OSwxODAsMTgwUzMzNy40NDQsMzc2LjA2NSwyMzguMDMzLDM3Ni4wNjV6Ii8+Cgk8cGF0aCBkPSJNNDA2LjAzMywyMTIuMDY1di0xNmMwLTQuNDE4LTMuNTgyLTgtOC04aC05My41MzZjMzkuOC0yNy44MzIsNDkuNTAyLTgyLjY1OCwyMS42Ny0xMjIuNDU4CgkJYy0xNi40NjctMjMuNTQ4LTQzLjQtMzcuNTY1LTcyLjEzNC0zNy41NDJoLTE2Yy00LjQxOCwwLTgsMy41ODItOCw4djkzLjUzNmMtMjcuODMyLTM5LjgtODIuNjU4LTQ5LjUwMi0xMjIuNDU4LTIxLjY3CgkJYy0yMy41NDgsMTYuNDY3LTM3LjU2NSw0My40LTM3LjU0Miw3Mi4xMzR2MTZjMCw0LjQxOCwzLjU4Miw4LDgsOGg5My41MzZjLTIzLjQ2NSwxNi40NzgtMzcuNDYzLDQzLjMyOC0zNy41MzYsNzIKCQljMC4wNTcsNDguNTc3LDM5LjQyMyw4Ny45NDMsODgsODhoMTZjNC40MTgsMCw4LTMuNTgyLDgtOHYtOTMuNTM2YzI3LjgzMiwzOS44LDgyLjY1OCw0OS41MDIsMTIyLjQ1OCwyMS42NwoJCUMzOTIuMDM4LDI2Ny43MzMsNDA2LjA1NiwyNDAuOCw0MDYuMDMzLDIxMi4wNjV6IE0yNDYuMDMzLDQ0LjA2NWg4YzM5Ljc2NCwwLjA1NSw3MS45NTUsMzIuMzM2LDcxLjksNzIuMQoJCWMtMC4wNDMsMzEuMTctMjAuMTM4LDU4Ljc3Mi00OS43ODgsNjguMzg4Yy00LjIwMi0xNC4wNTItMTUuNzU4LTI0LjY3Ny0zMC4xMTItMjcuNjg4VjQ0LjA2NXogTTg2LjAzMywxODguMDY1di04CgkJYzAuMDczLTM5Ljc2NCwzMi4zNjgtNzEuOTQsNzIuMTMzLTcxLjg2N2MzMS4xNDgsMC4wNTcsNTguNzI3LDIwLjEzOCw2OC4zNDcsNDkuNzYzYy0xNC4wNDcsNC4yMDMtMjQuNjY4LDE1Ljc1NS0yNy42OCwzMC4xMDQKCQlIODYuMDMzeiBNMjMwLjAzMywzNDguMDY1aC04Yy0zOS43NjQtMC4wNTUtNzEuOTU1LTMyLjMzNi03MS45LTcyLjFjMC4wNDMtMzEuMTcsMjAuMTM4LTU4Ljc3Miw0OS43ODgtNjguMzg4CgkJYzQuMjAyLDE0LjA1MiwxNS43NTgsMjQuNjc3LDMwLjExMiwyNy42ODhWMzQ4LjA2NXogTTIzOC4wMzMsMjIwLjA2NWMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNAoJCXMyNCwxMC43NDUsMjQsMjRTMjUxLjI4NywyMjAuMDY1LDIzOC4wMzMsMjIwLjA2NXogTTMxNy45LDI4My45MzJjLTMxLjE0OC0wLjA1Ny01OC43MjctMjAuMTM4LTY4LjM0Ny00OS43NjMKCQljMTQuMDQ3LTQuMjAzLDI0LjY2OC0xNS43NTUsMjcuNjgtMzAuMTA0aDExMi44djhDMzg5Ljk1OSwyNTEuODMsMzU3LjY2NCwyODQuMDA2LDMxNy45LDI4My45MzJ6Ii8+CjwvZz4KPC9zdmc+Cg==",Vne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuOTk5LDEyNi4wMDFoLTAuMDI3YzYuMjkyLTguMzYyLDEwLjAyNy0xOC43NTIsMTAuMDI3LTMwYzAtMjcuNTctMjIuNDMtNTAuMDAxLTUwLTUwLjAwMQoJCXMtNTAuMDAxLDIyLjQzLTUwLjAwMSw1MC4wMDFjMCwxMS4yNDgsMy43MzYsMjEuNjM4LDEwLjAyNywzMGgtMC4wMjdjLTUuNTIyLDAtMTAsNC40NzctMTAsMTB2MzUuNTQ1CgkJYy0xMS4zMjgtNy4yMzMtMjMuMTI4LTEzLjY1OC0zNS4zMzQtMTkuMjQxdi0xNi4zMDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHMtMTAsNC40NzctMTAsMTB2OC4wMzcKCQljLTMuMzY5LTEuMjQ3LTYuNzY0LTIuNDM4LTEwLjE4Ni0zLjU2MmMtOC4yOTEtMi43MjMtMTYuNjgzLTUuMDUyLTI1LjE0Ni03LjAxMXYtMjAuODMzYzAtNS41MjMtNC40NzgtMTAtMTAtMTAKCQljLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTYuOTMyYy0xMS42OC0xLjg0OS0yMy40NzQtMi45NzQtMzUuMzMyLTMuMzgxVjk2LjAwMWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwCgkJdjMwLjE4M2MtMTEuODU5LDAuNDA3LTIzLjY1MywxLjUzMi0zNS4zMzMsMy4zODF2LTE2LjkzMmMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjIwLjgzMwoJCWMtOC40NjIsMS45NTktMTYuODUyLDQuMjg3LTI1LjE0Miw3LjAwOWMtMy40MjQsMS4xMjQtNi44MTksMi4zMTYtMTAuMTkxLDMuNTYzdi04LjAzN2MwLTUuNTIzLTQuNDc3LTEwLTEwLTEwCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE2LjMwNGMtMTIuMjA1LDUuNTgzLTI0LjAwNCwxMi4wMDctMzUuMzM0LDE5LjI0di0zNS41NDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMC4wMjcKCQljNi4yOTMtOC4zNjIsMTAuMDI3LTE4Ljc1MiwxMC4wMjctMzBjMC0yNy41Ny0yMi40My01MC01MC01MHMtNTAsMjIuNDMtNTAsNTBjMCwxMS4yNDgsMy43MzQsMjEuNjM4LDEwLjAyNywzMEgxMAoJCWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYzMTkuOTk5YzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDBoNDBoMzEuMDMzYzUuNTIyLDAsMTAtNC40NzcsMTAtMTBjMC01LjUyMi00LjQ3OC0xMC0xMC0xMEgxMDAKCQl2LTIwLjAwMWgzMTEuOTk4djIwLjAwMWgtMjEuMDMzYy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMzEuMDMzaDQwLjAwMWg0MGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwCgkJVjEzNi4wMDFDNTExLjk5OSwxMzAuNDc3LDUwNy41MjEsMTI2LjAwMSw1MDEuOTk5LDEyNi4wMDF6IE04MCw0NDUuOTk5SDUwSDIwVjE0Ni4wMDFoMjB2NDEuODk4YzAsNS41MjMsNC40NzcsMTAsMTAsMTAKCQlzMTAtNC40NzcsMTAtMTB2LTQxLjg5OGgyMFY0NDUuOTk5eiBNNTAsMTI2LjAwMWMtMTYuNTQzLDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1Ny0zMCwzMC0zMGMxNi41NDMsMCwzMCwxMy40NTgsMzAsMzAKCQlTNjYuNTQzLDEyNi4wMDEsNTAsMTI2LjAwMXogTTEzNS4zMzQsNDA1Ljk5OEgxMDBWMTk1LjYyOWMxMS4zMTgtOC4wMiwyMy4xMjYtMTUuMDk1LDM1LjMzNC0yMS4yMThWNDA1Ljk5OHogTTE5MC42NjcsNDA2CgkJaC0zNS4zMzNWMTY1LjM4NGMxMS41LTQuNjMsMjMuMjk4LTguNDQ5LDM1LjMzMy0xMS40MzdWNDA2eiBNMjQ2LDQwNmgtMzUuMzMzVjE0OS43ODdjMTEuNjE0LTEuOTU4LDIzLjQwOS0zLjE2OCwzNS4zMzMtMy41OTkKCQlWNDA2eiBNMzAxLjMzMiw0MDUuOTk4SDI2NnYtMjU5LjgxYzExLjkyNCwwLjQzMSwyMy43MTcsMS42NDEsMzUuMzMyLDMuNTk5VjQwNS45OTh6IE0zNTYuNjY0LDQwNS45OTloLTM1LjMzMlYxNTMuOTQ4CgkJYzEyLjAzNSwyLjk4OCwyMy44MzIsNi44MDcsMzUuMzMyLDExLjQzOFY0MDUuOTk5eiBNNDExLjk5OCw0MDUuOTk4aC0zNS4zMzRWMTc0LjQxMmMxMi4yMDksNi4xMjMsMjQuMDE3LDEzLjIsMzUuMzM0LDIxLjIyCgkJVjQwNS45OTh6IE00OTEuOTk5LDQ0NS45OTloLTMwaC0zMC4wMDFWMTQ2LjAwMWgyMC4wMDF2NDEuODk4YzAsNS41MjMsNC40NzgsMTAsMTAsMTBjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtNDEuODk4aDIwCgkJVjQ0NS45OTl6IE00NjEuOTk5LDEyNi4wMDFjLTE2LjU0MiwwLTMwLjAwMS0xMy40NTgtMzAuMDAxLTMwYzAtMTYuNTQzLDEzLjQ1OS0zMC4wMDEsMzAuMDAxLTMwLjAwMQoJCWMxNi41NDIsMCwzMCwxMy40NTgsMzAsMzAuMDAxQzQ5MS45OTksMTEyLjU0Miw0NzguNTQxLDEyNi4wMDEsNDYxLjk5OSwxMjYuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNTAsNDQ1Ljk5OWgtMC4yMzZjLTUuNTIzLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMEgxNTBjNS41MjMsMCwxMC00LjQ3NywxMC0xMAoJCUMxNjAsNDUwLjQ3NywxNTUuNTIzLDQ0NS45OTksMTUwLDQ0NS45OTl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2Mi4yMzQsNDQ1Ljk5OWgtMC4yMzdjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3OCwxMCwxMCwxMGgwLjIzN2M1LjUyMywwLDEwLTQuNDc3LDEwLTEwCgkJQzM3Mi4yMzQsNDUwLjQ3NywzNjcuNzU4LDQ0NS45OTksMzYyLjIzNCw0NDUuOTk5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MCwyMDYuNjMxYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjAuMjM1YzAsNS41MjMsNC40NzcsMTAsMTAsMTBzMTAtNC40NzcsMTAtMTB2LTAuMjM1CgkJQzYwLDIxMS4xMDgsNTUuNTIzLDIwNi42MzEsNTAsMjA2LjYzMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDYxLjk5OSwyMDYuNjMxYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjAuMjM1YzAsNS41MjMsNC40NzgsMTAsMTAsMTBjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtMC4yMzUKCQlDNDcxLjk5OSwyMTEuMTA4LDQ2Ny41MjEsMjA2LjYzMSw0NjEuOTk5LDIwNi42MzF6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Zne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDQuMDA1LDEwOC4wMDNjLTEzLjI1NSwwLTI0LDEwLjc0NS0yNCwyNGMwLDQuNDE4LDMuNTgyLDgsOCw4czgtMy41ODIsOC04czMuNTgyLTgsOC04czgtMy41ODIsOC04CgkJCVMxMDguNDIzLDEwOC4wMDMsMTA0LjAwNSwxMDguMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zODUuMzU3LDc2LjExNWwtMjgwLTQ4Yy0wLjQ0Ny0wLjA3My0wLjg5OS0wLjExMS0xLjM1Mi0wLjExMkM0Ni42MTIsMjcuOTU2LDAuMDQ3LDc0LjQ0NCwwLDEzMS44MzcKCQkJYy0wLjAyNiwzMS4wNTksMTMuODQzLDYwLjUwMSwzNy44MDUsODAuMjYxbDU4LjQ0LDIzMy44NDhjMC44OTIsMy41NTksNC4wOTEsNi4wNTYsNy43Niw2LjA1Nmg2NAoJCQljNC40MTgsMC4wMDgsOC4wMDctMy41NjYsOC4wMTUtNy45ODVjMC0wLjE3MS0wLjAwNS0wLjM0MS0wLjAxNS0wLjUxMWwtMTMuNi0yMTcuNGwyMjIuOTItMzguMjE2CgkJCWMzLjg1NC0wLjY0NSw2LjY3OS0zLjk4LDYuNjgtNy44ODh2LTk2QzM5Mi4wMDcsODAuMTA1LDM4OS4xOTksNzYuNzczLDM4NS4zNTcsNzYuMTE1eiBNMTEwLjI1Myw0MzYuMDAzTDU3LjYwNSwyMjUuMTcxCgkJCWMwLjUwNCwwLjI0OCwxLjA0LDAuNDE2LDEuNTQ0LDAuNjY0YzIuNTc2LDEuMjMyLDUuMTg5LDIuMzUyLDcuODQsMy4zNmMwLjc0NCwwLjI4LDEuNDY0LDAuNiwyLjIwOCwwLjg2NAoJCQljMy4zMTksMS4xNzQsNi42OTcsMi4xNzUsMTAuMTIsM2MwLjgsMC4xOTIsMS42LDAuMzI4LDIuNCwwLjUwNGMyLjc2OCwwLjU5Miw1LjU2NSwxLjA3Nyw4LjM5MiwxLjQ1NgoJCQljMS4wMDgsMC4xMjgsMi4wMTYsMC4yNjQsMy4wMjQsMC4zNjhjMy42MTEsMC4zOSw3LjI0LDAuNTk2LDEwLjg3MiwwLjYxNmMwLjQ1My0wLjAwMSwwLjkwNS0wLjAzOSwxLjM1Mi0wLjExMmw0MS4yMTYtNy4wODgKCQkJbDEyLjkyLDIwNy4ySDExMC4yNTN6IE0zNDQuMDA1LDE3OC43MzlsLTIzOC4wODgsNDAuOGwtMi41NzYsMC40NjRjLTQ4LjM2Ny0wLjMwNC04Ny4zOTktMzkuNjMyLTg3LjMzNi04OAoJCQljMC4wNTUtNDguMzIsMzkuMDE4LTg3LjU3OSw4Ny4zMzYtODhsMjQwLjY2NCw0MS4yNjRWMTc4LjczOXogTTM3Ni4wMDUsMTczLjI1OWwtMTYsMi43NDR2LTg4bDE2LDIuNzQ0VjE3My4yNTl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwNC4wMDUsNzYuMDAzYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2CgkJCUMxNjAuMDA1LDEwMS4wNzUsMTM0LjkzMyw3Ni4wMDMsMTA0LjAwNSw3Ni4wMDN6IE0xMDQuMDA1LDE3Mi4wMDNjLTIyLjA5MSwwLTQwLTE3LjkwOS00MC00MGMwLjAyNi0yMi4wOCwxNy45Mi0zOS45NzQsNDAtNDAKCQkJYzIyLjA5MSwwLDQwLDE3LjkwOSw0MCw0MFMxMjYuMDk3LDE3Mi4wMDMsMTA0LjAwNSwxNzIuMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNDEuOTMzLDQxMS41MjNsLTkuNjY0LTE1NS4wMjRjLTAuMjc2LTQuNDE4LTQuMDgyLTcuNzc2LTguNS03LjVjLTQuNDE4LDAuMjc2LTcuNzc2LDQuMDgyLTcuNSw4LjVsOS42NjQsMTU1CgkJCWMwLjI2Myw0LjIyNywzLjc3Myw3LjUxNiw4LjAwOCw3LjUwNGMwLjE2OCwwLDAuMzM2LDAsMC41MDQsMEMxMzguODU0LDQxOS43MjgsMTQyLjIwNyw0MTUuOTMyLDE0MS45MzMsNDExLjUyM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDcyLjAwNSwxMjQuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsMTI0LjAwMyw0NzIuMDA1LDEyNC4wMDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ3Mi4wMDUsMTU2LjAwM2gtNDhjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoNDhjNC40MTgsMCw4LTMuNTgyLDgtOFM0NzYuNDIzLDE1Ni4wMDMsNDcyLjAwNSwxNTYuMDAzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NzIuMDA1LDkyLjAwM2gtNDhjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoNDhjNC40MTgsMCw4LTMuNTgyLDgtOFM0NzYuNDIzLDkyLjAwMyw0NzIuMDA1LDkyLjAwM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Xne="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00OC40NTcsNzcuMjI3YTguMDYzLDguMDYzLDAsMCwwLTEwLjQsMTIuMzI1djYuOTI3YTUuMjczLDUuMjczLDAsMCwwLDEwLjU0NSwwVjg5LjU1M2E4LjA2Myw4LjA2MywwLDAsMC0uMTQ2LTEyLjMyNlpNNDUuODc0LDg3LjI0YTEuNzUsMS43NSwwLDAsMC0uNzcxLDEuNDUxdjcuNzg3YTEuNzczLDEuNzczLDAsMCwxLTMuNTQ1LDBWODguNjkxYTEuNzQ3LDEuNzQ3LDAsMCwwLS43NzMtMS40NTFBNC41NjYsNC41NjYsMCwwLDEsNDIuNCw3OC45NzhhNC44NzYsNC44NzYsMCwwLDEsLjk0LS4wOTIsNC41LDQuNSwwLDAsMSwyLjg5MywxLjA0MSw0LjU2Miw0LjU2MiwwLDAsMS0uMzU2LDcuMzEzWiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDUuMjI4LDQ0LjY2Myw2NS41OCw0My4zNlYxOS41MTRhNS4zNyw1LjM3LDAsMCwwLTUuMzYzLTUuMzY0SDI2LjQ0M2E1LjM3LDUuMzcsMCwwLDAtNS4zNjMsNS4zNjR2ODguOTcyYTUuMzcsNS4zNywwLDAsMCw1LjM2Myw1LjM2NEg2MC4yMTdhNS4zNyw1LjM3LDAsMCwwLDUuMzYzLTUuMzY0VjU5LjhsMzkuNjQ4LTEuM2ExLjc1LDEuNzUsMCwwLDAsMS42OTItMS43NDlWNDYuNDEyQTEuNzUsMS43NSwwLDAsMCwxMDUuMjI4LDQ0LjY2M1pNNjIuMDgsMTA4LjQ4NmExLjg2NiwxLjg2NiwwLDAsMS0xLjg2MywxLjg2NEgyNi40NDNhMS44NjYsMS44NjYsMCwwLDEtMS44NjMtMS44NjRWMTkuNTE0YTEuODY2LDEuODY2LDAsMCwxLDEuODYzLTEuODY0SDYwLjIxN2ExLjg2NiwxLjg2NiwwLDAsMSwxLjg2MywxLjg2NFY0My4yNDVsLTYuMjY3LS4yMDZhMTUuMTI3LDE1LjEyNywwLDEsMCwwLDE3LjA4Nmw2LjI2NC0uMjA2Wk00NC4zOSw2MC41aDBMNTEsNjAuMjg0YTExLjYxMiwxMS42MTIsMCwxLDEsLjA0LTE3LjRsLTYuNjQ5LS4yMTloLS4wNThBOC45Miw4LjkyLDAsMSwwLDQ0LjM5LDYwLjVabTU5LjAzLTUuNDQyLTM5LjU4NywxLjNoLS4wMDhMNDQuMzM0LDU3YTUuNDIsNS40MiwwLDAsMS0uMDI3LTEwLjg0bDU5LjExMywxLjk0M1oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Kne="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuMzQsMTE3LjMzNmMtNS45MDYsMC0xMC42ODgsNC43NzMtMTAuNjg4LDEwLjY2NHY4NS4zMzVINDY5LjM0di0yMS4zMzZjMC0yMy41MjMtMTkuMTU2LTQyLjY2My00Mi42ODgtNDIuNjYzCgkJYy0xMi43MTgsMC0yNC4xNTUsNS42MDktMzEuOTk5LDE0LjQ5MWMtNy44MTItOC44ODItMTkuMjUtMTQuNDkxLTMyLTE0LjQ5MWMtMTIuNzE4LDAtMjQuMTU1LDUuNjA5LTMxLjk5OSwxNC40OTEKCQljLTcuODEyLTguODgyLTE5LjI1LTE0LjQ5MS0zMi0xNC40OTFjLTEyLjcxOSwwLTI0LjE1Niw1LjYwOS0zMS45OTIsMTQuNDkxYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxCgkJYy0xMi43MjYsMC0yNC4xNzEsNS42MDktMzIsMTQuNDkxYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xMi43MjYsMC0yNC4xNzEsNS42MDktMzIsMTQuNDkxCgkJYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xOS44MzUsMC0zNi41NywxMy42MTYtNDEuMzIsMzEuOTk5SDMyYy01Ljg5MSwwLTEwLjY2NCw0Ljc3My0xMC42NjQsMTAuNjY0djIxLjMzNkgxMC42NjQKCQlDNC43NzMsMjEzLjMzNSwwLDIxOC4xMDgsMCwyMjMuOTk5czQuNzczLDEwLjY2NCwxMC42NjQsMTAuNjY0aDEwLjY3MnYyMS4zMzZjMCw1Ljg5MSw0Ljc3MywxMC42NjQsMTAuNjY0LDEwLjY2NGgzMnYyMDIuNjc4CgkJYzAsMjMuNTE2LDE5LjE0MSw0Mi42NTYsNDIuNjY0LDQyLjY1NmMxMi43NDIsMCwyNC4xOC01LjYyNSwzMi0xNC41YzcuODI4LDguODc1LDE5LjI3MywxNC41LDMyLDE0LjUKCQljMTIuNzQyLDAsMjQuMTgtNS42MjUsMzItMTQuNWM3LjgyOCw4Ljg3NSwxOS4yNzMsMTQuNSwzMiwxNC41YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjUKCQljNy44MzYsOC44NzUsMTkuMjczLDE0LjUsMzEuOTkyLDE0LjVjMTIuNzUsMCwyNC4xODgtNS42MjUsMzItMTQuNWM3Ljg0NCw4Ljg3NSwxOS4yODEsMTQuNSwzMS45OTksMTQuNQoJCWMxMi43NSwwLDI0LjE4OC01LjYyNSwzMi0xNC41YzcuODQ0LDguODc1LDE5LjI4MSwxNC41LDMxLjk5OSwxNC41YzIzLjUzMSwwLDQyLjY4OC0xOS4xNDEsNDIuNjg4LTQyLjY1NlYyMzQuNjYzaDMyCgkJYzUuODc1LDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRWMTI4QzUxMS45OTYsMTIyLjEwOSw1MDcuMjE1LDExNy4zMzYsNTAxLjM0LDExNy4zMzZ6IE02NCwyNDUuMzM1SDQyLjY2NHYtNDIuNjcySDY0VjI0NS4zMzUKCQl6IE0xMjcuOTk5LDQ2OS4zNDFjMCwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMjU1Ljk5OXYtNjQKCQljMC0xMS43NTgsOS41Ny0yMS4zMzYsMjEuMzI4LTIxLjMzNmMxMS43NzMsMCwyMS4zMzYsOS41NzgsMjEuMzM2LDIxLjMzNlY0NjkuMzQxeiBNMTkxLjk5OSw0NjkuMzQxCgkJYy0wLjAwMSwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2CgkJYzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6IE0yNTUuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzM2LDIxLjMxMgoJCWMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2YzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6CgkJIE0zMTkuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzUsMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5CgkJYzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2YzExLjc4MSwwLDIxLjM0NCw5LjU3OCwyMS4zNDQsMjEuMzM2VjQ2OS4zNDF6IE0zODMuOTk3LDQ2OS4zNDEKCQljMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzQ5LDAtMjEuMzEyLTkuNTYyLTIxLjMxMi0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU2Mi0yMS4zMzYsMjEuMzEyLTIxLjMzNgoJCWMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNNDQ3Ljk5Niw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjM0NCwyMS4zMTIKCQljLTExLjc0OSwwLTIxLjMxMi05LjU2Mi0yMS4zMTItMjEuMzEyVjE5MS45OTljMC0xMS43NTgsOS41NjItMjEuMzM2LDIxLjMxMi0yMS4zMzZjMTEuNzgxLDAsMjEuMzQ0LDkuNTc4LDIxLjM0NCwyMS4zMzZWNDY5LjM0MQoJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzU2Ljg3MSwxMDMuNjcyYy0xLjMxMi00LjUzOS0wLjUtNy44NDQsMi42ODgtMTEuMDU1YzguNjU2LTguNjk1LDExLjUzMS0xOS45ODQsOC4wNjItMzEuODEyCgkJCWMtMi4zMTItNy45MzgtNi44MTItMTMuNTQ3LTcuMzc1LTE0LjI1Yy0wLjAzMSwwLTAuMDMxLTAuMDA4LTAuMDMxLTAuMDA4di0wLjAxNWMtMS45NjktMi4zNTktNC45MDYtMy44NjctOC4yMTktMy44NjcKCQkJYy01Ljg5LDAtMTAuNjU1LDQuNzgxLTEwLjY1NSwxMC42NzJjMCwyLjU4NiwwLjkwNiw0Ljk2MSwyLjQzOCw2LjgwNWMwLjAzMSwwLjAyMywyLjI4MSwyLjkzOCwzLjM3NSw2LjY1NgoJCQljMS4yNjYsNC4zNjcsMC40NjksNy41ODYtMi43MTksMTAuNzY2Yy04LjYyNSw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc4LDMxLjk5OGMyLjMyOCw4LjEwMiw2LjgyOCwxMy44MzYsNy4zMjgsMTQuNDY5di0wLjAwOAoJCQljMS45NjksMi40MjIsNC45NTMsMy45NzcsOC4zMTIsMy45NzdjNS44OTEsMCwxMC42NTYtNC43NzMsMTAuNjU2LTEwLjY2NGMwLTIuNTM5LTAuODc1LTQuODY3LTIuMzQ0LTYuNjk1CgkJCUMzNjAuMjc4LDExMC42MSwzNTcuOTY1LDEwNy41NTUsMzU2Ljg3MSwxMDMuNjcyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNjguNjU2LDk2LjYxYy0yLjQ2MS05LjgzNi0wLjQ5Mi0xOC4xOTUsNi0yNS41NDdjMTEuNDA2LTEyLjg5MSwxNS4wMzEtMjguNjk1LDEwLjUtNDUuNzI2CgkJCWMtMy4xODgtMTEuOTM4LTkuMzEyLTIwLjIyNy0xMC0yMS4xMzNWNC4yMmMtMS45NjktMi41NTUtNS4wMjMtNC4yMTktOC40OTItNC4yMTljLTUuODkzLDAtMTAuNjY2LDQuNzczLTEwLjY2NiwxMC42NjQKCQkJYzAsMi40MTQsMC44MDUsNC42MzMsMi4xNTYsNi40MTRoLTAuMDE2YzAuMDQ3LDAuMDYyLDQuNDkyLDYuMTA5LDYuNTQ3LDE0LjMyYzIuNDUzLDkuODI3LDAuNDg0LDE4LjE4Ny02LjAxNiwyNS41MzgKCQkJYy0xMS4zOSwxMi44OTEtMTUuMDE1LDI4LjY5Ni0xMC40ODMsNDUuNzI3YzMuMTcyLDExLjkzOCw5LjMwNSwyMC4yMjcsOS45ODQsMjEuMTMzbDAuMDE2LTAuMDE2CgkJCWMxLjk0NSwyLjU3LDUuMDE2LDQuMjE5LDguNDc3LDQuMjE5YzUuODk4LDAsMTAuNjgtNC43NzMsMTAuNjgtMTAuNjY0YzAtMi40MTQtMC44MTItNC42MzMtMi4xNTYtNi40MTQKCQkJQzI3NS4xNCwxMTAuODYsMjcwLjY5NSwxMDQuODEzLDI2OC42NTYsOTYuNjF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE4OS42NCwxMTAuNjQxYy0wLjAyMy0wLjAzMS0yLjMyOC0zLjA4Ni0zLjQ0NS02Ljk2OWMtMS4zMDUtNC41MzktMC41LTcuODQ0LDIuNjk1LTExLjA1NQoJCQljOC42NjQtOC42OTUsMTEuNTIzLTE5Ljk4NCw4LjA2Mi0zMS44MTJjLTIuMzItNy45MzgtNi43ODktMTMuNTMxLTcuMzkxLTE0LjI1YzAsMCwwLTAuMDA4LTAuMDA4LTAuMDA4bC0wLjAwOC0wLjAyM3YwLjAwOAoJCQljLTEuOTYxLTIuMzU5LTQuOTA2LTMuODY3LTguMjExLTMuODY3Yy01Ljg5MSwwLTEwLjY3Miw0Ljc4MS0xMC42NzIsMTAuNjcyYzAsMi41ODYsMC45MjIsNC45NjEsMi40NTMsNi44MDUKCQkJYzAuMDIzLDAuMDIzLDIuMjczLDIuOTM4LDMuMzU5LDYuNjU2YzEuMjgxLDQuMzY3LDAuNDY5LDcuNTg2LTIuNzAzLDEwLjc2NmMtOC42NCw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc3LDMxLjk5OAoJCQljMi4zMjgsOC4xMDIsNi44MjgsMTMuODM2LDcuMzM2LDE0LjQ2OXYtMC4wMDhjMS45NjEsMi40MjIsNC45NDUsMy45NzcsOC4zMDUsMy45NzdjNS44OTEsMCwxMC42NjQtNC43NzMsMTAuNjY0LTEwLjY2NAoJCQljMC0yLjUzOS0wLjg5MS00Ljg2Ny0yLjM2Ny02LjY5NUgxODkuNjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",qne="PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIC0xIDQ5NiA0OTUiIHdpZHRoPSI0OTZwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ4OCAzMjAuNWgtNDB2LTMyYzAtMi4xMjg5MDYtLjgzOTg0NC00LjE2MDE1Ni0yLjM0Mzc1LTUuNjU2MjVsLTEyMC0xMjBjLTEuNDk2MDk0LTEuNTAzOTA2LTMuNTI3MzQ0LTIuMzQzNzUtNS42NTYyNS0yLjM0Mzc1aC0xNnYtMTUyYzAtNC40MjU3ODEtMy41NzQyMTktOC04LThoLTk2Yy00LjQyNTc4MSAwLTggMy41NzQyMTktOCA4djE1MmgtMjRjLTIuMTI4OTA2IDAtNC4xNjAxNTYuODM5ODQ0LTUuNjU2MjUgMi4zNDM3NWwtMTIwIDEyMGMtMS41MDM5MDYgMS40OTYwOTQtMi4zNDM3NSAzLjUyNzM0NC0yLjM0Mzc1IDUuNjU2MjV2MzJoLTMyYy00LjQyNTc4MSAwLTggMy41NzQyMTktOCA4djQ4YzAgNC40MjU3ODEgMy41NzQyMTkgOCA4IDhoNDgwYzQuNDI1NzgxIDAgOC0zLjU3NDIxOSA4LTh2LTQ4YzAtNC40MjU3ODEtMy41NzQyMTktOC04LTh6bS0yODAtMzA0aDgwdjE5MmgtODB6bS0xNTIgMjc1LjMxMjUgMTE1LjMxMjUtMTE1LjMxMjVoMjAuNjg3NXY0MGMwIDQuNDI1NzgxIDMuNTc0MjE5IDggOCA4aDk2YzQuNDI1NzgxIDAgOC0zLjU3NDIxOSA4LTh2LTQwaDEyLjY4NzVsMTE1LjMxMjUgMTE1LjMxMjV2MjguNjg3NWgtMzc2em00MjQgNzYuNjg3NWgtNDY0di0zMmg0NjR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNzkuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjI3LjMxMjUgNDQwLjVjLTIuMTM2NzE5LTIuMTQ0NTMxLTMuMzEyNS00Ljk3NjU2Mi0zLjMxMjUtOHMxLjE3NTc4MS01Ljg1NTQ2OSAzLjMxMjUtOGwxMC4zNDM3NS0xMC4zNDM3NS0xMS4zMTI1LTExLjMxMjUtMTAuMzQzNzUgMTAuMzQzNzVjLTUuMTYwMTU2IDUuMTYwMTU2LTggMTIuMDE1NjI1LTggMTkuMzEyNXMyLjgzOTg0NCAxNC4xNjAxNTYgOCAxOS4zMTI1bDQuNjg3NSA0LjY4NzVjMi4xMzY3MTkgMi4xNDQ1MzEgMy4zMTI1IDQuOTc2NTYyIDMuMzEyNSA4cy0xLjE3NTc4MSA1Ljg1NTQ2OS0zLjMxMjUgOGwtMTAuMzQzNzUgMTAuMzQzNzUgMTEuMzEyNSAxMS4zMTI1IDEwLjM0Mzc1LTEwLjM0Mzc1YzUuMTYwMTU2LTUuMTYwMTU2IDgtMTIuMDE1NjI1IDgtMTkuMzEyNXMtMi44Mzk4NDQtMTQuMTYwMTU2LTgtMTkuMzEyNXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI3NS4zMTI1IDQ0MC41Yy0yLjEzNjcxOS0yLjE0NDUzMS0zLjMxMjUtNC45NzY1NjItMy4zMTI1LThzMS4xNzU3ODEtNS44NTU0NjkgMy4zMTI1LThsMTAuMzQzNzUtMTAuMzQzNzUtMTEuMzEyNS0xMS4zMTI1LTEwLjM0Mzc1IDEwLjM0Mzc1Yy01LjE2MDE1NiA1LjE2MDE1Ni04IDEyLjAxNTYyNS04IDE5LjMxMjVzMi44Mzk4NDQgMTQuMTYwMTU2IDggMTkuMzEyNWw0LjY4NzUgNC42ODc1YzIuMTM2NzE5IDIuMTQ0NTMxIDMuMzEyNSA0Ljk3NjU2MiAzLjMxMjUgOHMtMS4xNzU3ODEgNS44NTU0NjktMy4zMTI1IDhsLTEwLjM0Mzc1IDEwLjM0Mzc1IDExLjMxMjUgMTEuMzEyNSAxMC4zNDM3NS0xMC4zNDM3NWM1LjE2MDE1Ni01LjE2MDE1NiA4LTEyLjAxNTYyNSA4LTE5LjMxMjVzLTIuODM5ODQ0LTE0LjE2MDE1Ni04LTE5LjMxMjV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjMuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzg0IDI4OC41aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAyODguNWgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAgMjg4LjVoMTZ2MTZoLTE2em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",eae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDUgNTEyLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0zMjcuMTU5LDIuNzY2Yy00LjA2My0zLjY4OC0xMC4yNS0zLjY4OC0xNC4zMTMsMGMtNC42NDIsNC4xODYtMTEwLjg4OSwxMDEuMjkyLTE2MC4yMjgsMjEzLjgzOQoJCQkJYy01LjMxOC0xLjg2Ny0xMS40NC0zLjI2Ni0xOS4zNTUtMy4yNjZjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2CgkJCQljLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3CgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWMxMiwwLDE3LjU2MywzLjg2NSwyNC42MDQsOC43NgoJCQkJYzguMDUyLDUuNjA0LDE4LjA4MywxMi41NzMsMzYuNzcxLDEyLjU3M2MxOC42NzcsMCwyOC43MDgtNi45NjksMzYuNzcxLTEyLjU3M2M3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NgoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzMKCQkJCWMtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTExLjIwOCwwLTE2LjgyMy0zLjQxOS0yMy4yNDItNy44NTRjNDAuMTIxLTkyLjY2MSwxMjMuNjYxLTE3Ny40NjYsMTQ4LjYwNy0yMDEuNDkKCQkJCWMzMy4yMTksMzIuMDEsMTcwLjY2NywxNzEuODY1LDE3MC42NjcsMjk0LjY3N2MwLDk0LjEwNC03Ni41NjMsMTcwLjY2Ny0xNzAuNjY3LDE3MC42NjdjLTQyLjQ3NywwLTgyLjY2OS0xNS44MjItMTEzLjc4LTQzLjc1OAoJCQkJYzExLjU0Mi0yLjEzOCwxOC45OTQtNy4xNzcsMjUuMTg2LTExLjQ4MmM3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NmM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3CgkJCQlzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzYKCQkJCWMtMTIsMC0xNy41NjMtMy44NjUtMjQuNTk0LTguNzZjLTguMDYzLTUuNjA0LTE4LjA5NC0xMi41NzMtMzYuNzgxLTEyLjU3M2MtMTguNjc3LDAtMjguNjk4LDYuOTY5LTM2Ljc1LDEyLjU3MwoJCQkJYy03LjAzMSw0Ljg5Ni0xMi41ODMsOC43Ni0yNC41NzMsOC43NmMtMTEuOTY5LDAtMTcuNTIxLTMuODY1LTI0LjU0Mi04Ljc1Yy04LjA0Mi01LjYwNC0xOC4wNjMtMTIuNTgzLTM2LjcyOS0xMi41ODMKCQkJCWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzUKCQkJCWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODNjMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NQoJCQkJYzEyLDAsMTcuNTYzLDMuODY1LDI0LjYwNCw4Ljc2YzQuMzQ1LDMuMDIzLDkuNDE0LDYuMzU1LDE1Ljk2MSw4Ljg2NWMzNi42LDQyLjk5Niw4OS42NTUsNjcuNzA4LDE0Ni4xNzQsNjcuNzA4CgkJCQljMTA1Ljg2NSwwLDE5Mi04Ni4xMzUsMTkyLTE5MkM1MTIuMDAzLDE3MS42NDEsMzM0LjcwMSw5LjU4OSwzMjcuMTU5LDIuNzY2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMC42NjksMzYyLjY3MmMxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzUKCQkJCWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzQuNzczLDM2Mi42NzIsMTAuNjY5LDM2Mi42NzJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEzMy4yNjMsMzQxLjMzOWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMiwwLDE3LjU2MywzLjg2NSwyNC41OTQsOC43NgoJCQkJYzguMDYzLDUuNjA0LDE4LjA5NCwxMi41NzMsMzYuNzgxLDEyLjU3M2MxOC42NzcsMCwyOC43MDgtNi45NjksMzYuNzcxLTEyLjU3M2M3LjAzMS00Ljg5NiwxMi41OTQtOC43NiwyNC41OTQtOC43NgoJCQkJYzEyLjE5OCwwLDE4LjQwNiwzLjk2OSwyNi4yNSw4Ljk5YzkuMDUyLDUuNzgxLDE5LjMxMywxMi4zNDQsMzcuNzUsMTIuMzQ0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcKCQkJCWMwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xMi4xOTgsMC0xOC40MDYtMy45NjktMjYuMjUtOC45OWMtOS4wNTItNS43ODEtMTkuMzEzLTEyLjM0NC0zNy43NS0xMi4zNDQKCQkJCWMtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU5NCw4Ljc2LTI0LjU4Myw4Ljc2Yy0xMiwwLTE3LjU2My0zLjg2NS0yNC42MDQtOC43NgoJCQkJQzE2MS45ODIsMzQ4LjMwNywxNTEuOTUxLDM0MS4zMzksMTMzLjI2MywzNDEuMzM5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMzMuMjYzLDI3Ny4zMzljLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2CgkJCQljLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3CgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3CgkJCQlDMTQzLjkzLDI4Mi4xMDksMTM5LjE1OSwyNzcuMzM5LDEzMy4yNjMsMjc3LjMzOXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjMxLjQwOSwzMDcuNDMyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NQoJCQkJYzguMDQyLDUuNjA0LDE4LjA2MywxMi41ODMsMzYuNzI5LDEyLjU4M2MxOC42NzcsMCwyOC43MDgtNi45NzksMzYuNzYtMTIuNTgzYzcuMDMxLTQuODg1LDEyLjU4My04Ljc1LDI0LjU2My04Ljc1CgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42NzcsMC0yOC42OTgsNi45NjktMzYuNzUsMTIuNTczCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4MwoJCQkJYy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjcKCQkJCXM0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N0MyMTMuMzE1LDMyMC4wMDUsMjIzLjM0NiwzMTMuMDM2LDIzMS40MDksMzA3LjQzMnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",tae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MTIgMTYzLjg3YzAtMTMuOS01LjQxMi0yNi45NjEtMTUuMjMzLTM2Ljc3LTkuODE1LTkuODI4LTIyLjg3Ni0xNS4yNC0zNi43NzYtMTUuMjRoLTgwLjk3Yy0yNi43MDUgMC00OC40My0yMS43MjYtNDguNDMtNDguNDMgMC0xMi45MzggNS4wMzctMjUuMTAxIDE0LjE4NC0zNC4yNDcgOS4xNDQtOS4xNDYgMjEuMzA3LTE0LjE4MyAzNC4yNDUtMTQuMTgzaDEyNS40OGM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtMTI1LjQ4Yy0xNi45NDUgMC0zMi44NzQgNi41OTctNDQuODUzIDE4LjU3Ny0xMS45NzkgMTEuOTc5LTE4LjU3NyAyNy45MDgtMTguNTc3IDQ0Ljg1MyAwIDM0Ljk3NSAyOC40NTUgNjMuNDMgNjMuNDMgNjMuNDNoODAuOTdjOS44OSAwIDE5LjE4MiAzLjg1IDI2LjE2OSAxMC44NDcgNi45OTEgNi45ODIgMTAuODQxIDE2LjI3MyAxMC44NDEgMjYuMTYzIDAgOC42MzctMy4wMzggMTcuMDQ0LTguNTU3IDIzLjY3NGwtMjIuMzA1IDI2LjgyMmMtNy44ODQtMi43MjUtMTYuOTg5LS45NzItMjMuMjgyIDUuMzExbC05LjA1OCA5LjA1OGMtMjAuMzItLjQyLTQzLjA5OCAzLjk0LTYyLjgyMSA3LjQyNy00LjA3OS43MjEtNi44MDEgNC42MTMtNi4wNzkgOC42OTEuNzIxIDQuMDc5IDQuNjEzIDYuNzk5IDguNjkxIDYuMDc5IDE4Ljk0Mi0zLjM1IDM4LjM5Mi01Ljc2OCA1Ny44MDktNy4xODUgNy42ODEtLjU2NiAxNC44MzMgNC4zOTMgMTYuOTg1IDExLjc4IDEuODI3IDYuMjcgNDcuMDI3IDE2MC4xNjcgNDguNTMzIDE2Ni41NzUuNDk4IDIuMTE5LS43MzggMy42Ni0yLjkxMiAzLjY2LTIyLjc4NiAwLTQxLjA0MiAxNS42Ni00OC40NjQgMzYuNDg4aC0zMjAuMzcxYy00LjE0MiAwLTcuNSAzLjM1Ny03LjUgNy41czMuMzU4IDcuNSA3LjUgNy41aDMyNy43ODdjNS40NDUgMCA5Ljg3NSA0LjQzIDkuODc1IDkuODc1cy00LjQzMSA5Ljg3NS05Ljg3NiA5Ljg3NWgtNDM2LjkwNmMzLjI2NS0xMS4zOTEgMTMuNzc1LTE5Ljc1IDI2LjItMTkuNzVoNTIuOTE5YzQuMTQyIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC00NC45NDRjNjIuNDYyLTExMS41OTggMTcxLjkwMy0xNzcuMDI3IDI5NC43NzgtMjA1LjQ4NiA0LjAzNS0uOTM1IDYuNTQ5LTQuOTYzIDUuNjE0LTguOTk5LS45MzQtNC4wMzUtNC45NjQtNi41NDktOC45OTktNS42MTQtNzEuNjMyIDE2LjU5OS0xNDMuNTkzIDQ3LjA1MS0yMDEuNDczIDkyLjYwNmwtMTAuMDcxLTEwLjA3Yy04LjYzNS04Ljc1Mi0yMy4xNTktOC42NzgtMzEuODI2LS4wMS04LjYzMSA4LjYzMi04LjcyOCAyMy4xNjYgMCAzMS44MDdsOC4wNTEgOC4wNTFjLTI5LjQ2NyAyOC45NTktNTQuMTAyIDYyLjMyLTc0LjA0MiA5OC45Mi0xOC40ODcgNC41MDItMzIuMjU2IDIxLjE5MS0zMi4yNTYgNDEuMDQ1IDAgNC4xNDMgMy4zNTggNy41IDcuNSA3LjVoNDQ1LjQ1NWMxMy43MTYgMCAyNC44NzUtMTEuMTU5IDI0Ljg3NS0yNC44NzUgMC0xMC43NS02Ljg1NS0xOS45MjctMTYuNDI0LTIzLjM5NSA1LjI2My0xMy41NzMgMTcuOTAzLTIyLjk2OSAzMi41OTgtMjIuOTY5IDExLjQ4MyAwIDIwLjMwMi0xMS40MDEgMTcuNDExLTIyLjUxLS4wMTgtLjA3MS0uMDM4LS4xNDItLjA1OC0uMjExbC00NS44NTctMTU3LjM5MSA5LjE2My05LjE1NmM3LjM1OS03LjMwMyA4LjY0NC0xOS4wOTMgMy4xOTctMjcuNzYybDIyLjExNS0yNi41OTNjNy43NTQtOS4zMTggMTIuMDI1LTIxLjEzMiAxMi4wMjUtMzMuMjY4em0tNDAzLjE0NiAxNzEuNDEzYzEuNDItMS40MjEgMy4zMDUtMi4yMDMgNS4zMDctMi4yMDMgMS45OTkgMCAzLjg3Ny43NzkgNS4yOTYgMi4yMDRsOS4wMTQgOS4wMTRjLTMuODI1IDMuMjQzLTcuNTgyIDYuNTUxLTExLjI3NCA5LjkyMmwtOC4zNDQtOC4zNDRjLTIuOTItMi45Mi0yLjkyLTcuNjcyLjAwMS0xMC41OTN6bTM1NS4yMDUtOTQuMzk4LTMuOTg2IDMuOTgzYy0yLjQ5Ni00LjQ2MS02LjAzNy04LjIwMy0xMC4yMzMtMTAuOTYxbDMuNjE5LTMuNjE5YzIuOTI2LTIuOTIgNy42OC0yLjkyMiAxMC41OTgtLjAwNCAxLjQyMSAxLjQyMSAyLjIwMyAzLjMwMiAyLjIwMyA1LjI5NyAwIDItLjc4MiAzLjg4NS0yLjIwMSA1LjMwNHptLTIxNS43NjUgOTQuNzY0Yy0xMy44MjQgNy42NTMtMjIuNDEyIDIyLjIzNS0yMi40MTIgMzguMDU2IDAgMTEuOTg3IDUuMDE5IDIzLjU2MyAxMy43NzEgMzEuNzU4IDguMDY2IDcuNTUzIDE4Ljc4OCAxMS43NTYgMjkuNzg2IDExLjc1NS45NCAwIDE1MS4wOC05LjgzOCAxNTEuMDgtOS44MzggNi45MTEtLjQ1NCAxMy4yMjUtMy45MTYgMTcuMzIyLTkuNDk4IDQuMDk2LTUuNTc5IDUuNTA3LTEyLjYzNyAzLjg3Mi0xOS4zNjJsLTE5LjUzOC04MC4zMjNjLTMuMDE3LTEyLjQwNC0xNS4xODMtMjAuMDEzLTI3LjY5My0xNy4zMjktMzAuMDk0IDYuNDY2LTU5Ljc4NyAxNS41OTQtODguMjU2IDI3LjEzLTE5Ljc2OCA4LjAxLTM5LjI1OSAxNy4zMTMtNTcuOTMyIDI3LjY1MXptMTA3LjI2NiA2MC45NjktNjcuNDMgNC40MzN2LTE3LjY4MWMwLS4yMzguMjAyLS40NC40NC0uNDRoNjYuNTVjLjI0MyAwIC40NC4xOTcuNDQuNDR6bTQyLjA3MS0xMDEuMDg1Yy42MTMtLjEzMiAxLjIyMy0uMTk1IDEuODIzLS4xOTUgMy44MTQgMCA3LjIxIDIuNTU5IDguMTQ1IDYuNDAzbDE5LjUzOCA4MC4zMjNjLjU5NSAyLjQ0Ni4xMDIgNC45MTEtMS4zODggNi45NC0xLjQ5MiAyLjAzMi0zLjY5OSAzLjI0Mi02LjIxNSAzLjQwOGwtNDguOTc0IDMuMjE5di0xMi4yNjFjMC04LjUxNC02LjkyNi0xNS40NC0xNS40NC0xNS40NGgtNjYuNTVjLTguNTE0IDAtMTUuNDQgNi45MjctMTUuNDQgMTUuNDR2MTguNjY3bC0xLjg1LjEyMmMtNy45NTcuNTE4LTE1LjU1Mi0yLjE5Mi0yMS4zNzUtNy42NDUtNS44MTktNS40NDktOS4wMjQtMTIuODM5LTkuMDI0LTIwLjgwOSAwLTEwLjM2NyA1LjYyNC0xOS45MjEgMTQuNjc3LTI0LjkzMyAxOC4xNDgtMTAuMDQ3IDM3LjA5LTE5LjA4OCA1Ni4zMDEtMjYuODczIDI3LjY2Ni0xMS4yMTEgNTYuNTI1LTIwLjA4MyA4NS43NzItMjYuMzY2eiIvPgogICAgPC9nPgo8L3N2Zz4=",sae="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQzNS4yIDMyNC4yNjdoLTEwLjkwNmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY3Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTIzMi43NzJjLTE0LjEzOCAwLTI1LjYtMTEuNDYyLTI1LjYtMjUuNnMxMS40NjItMjUuNiAyNS42LTI1LjZoMzYuNTA2YzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2g2Mi4xMDZjMTQuMTM4IDAgMjUuNi0xMS40NjIgMjUuNi0yNS42cy0xMS40NjItMjUuNi0yNS42LTI1LjZoLTYyLjEwNmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY2Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTM2LjUwNmMtNDIuNDE1IDAtNzYuOCAzNC4zODUtNzYuOCA3Ni44czM0LjM4NSA3Ni44IDc2LjggNzYuOGgyMzIuNzcyYzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2gxMC45MDdjMTQuMTM4IDAgMjUuNiAxMS40NjIgMjUuNiAyNS42cy0xMS40NjIgMjUuNi0yNS42IDI1LjZoLTMwOS41NzJjLTMuMDI0LTUuMjYzLTguNjI0LTguNTE1LTE0LjY5NC04LjUzM3YtMTcuMDY3YzAtOS40MjYtNy42NDEtMTcuMDY3LTE3LjA2Ny0xNy4wNjdoLTE3LjA2N2MtOS40MjYgMC0xNy4wNjcgNy42NDEtMTcuMDY3IDE3LjA2N3YxNy4wNjdjLTYuMDcuMDE4LTExLjY3IDMuMjctMTQuNjk0IDguNTMzaC0xOS40MzljLTE0LjEzOCAwLTI1LjYgMTEuNDYyLTI1LjYgMjUuNnMxMS40NjIgMjUuNiAyNS42IDI1LjZoMTkuNDM5YzMuMDI0IDUuMjYzIDguNjI0IDguNTE1IDE0LjY5NCA4LjUzM2g1MS4yYzYuMDctLjAxOCAxMS42Ny0zLjI3IDE0LjY5NC04LjUzM2gzMDkuNTczYzQyLjQxNSAwIDc2LjgtMzQuMzg1IDc2LjgtNzYuOHMtMzQuMzg1LTc2LjgtNzYuOC03Ni44em0tNTkuNzMzLTI1LjZoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tNzYuOC01MS4yYzAgNC43MTMtMy44MjEgOC41MzMtOC41MzMgOC41MzNoLTU5LjczNHYtMTcuMDY3aDU5LjczM2M0LjcxMyAwIDguNTM0IDMuODIxIDguNTM0IDguNTM0em0tMTE5LjQ2Ny01MS4yaDE3LjA2N3YxNy4wNjdoLTE3LjA2N3ptLTguNTMzIDM0LjEzM2g0Mi42Njd2MzQuMTMzaC01MS4ydi0zNC4xMzN6bS0xMTkuNDY3IDY4LjI2N2MuMDM4LTMyLjk3NCAyNi43NTktNTkuNjk2IDU5LjczMy01OS43MzNoMzQuMTMzdjE3LjA2NmgtMzQuMTMzYy0yMy41NjQgMC00Mi42NjcgMTkuMTAzLTQyLjY2NyA0Mi42NjdzMTkuMTAzIDQyLjY2NyA0Mi42NjcgNDIuNjY3aDIzMC40djE3LjA2NmgtMjMwLjRjLTMyLjk3NC0uMDM4LTU5LjY5NS0yNi43NTktNTkuNzMzLTU5LjczM3ptMzA3LjIgNjguMjY2di0zNC4xMzNoNTEuMnYzNC4xMzN6bS0yODEuNiAzNC4xMzRoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tNTkuNzMzIDUxLjJjMC00LjcxMyAzLjgyMS04LjUzMyA4LjUzMy04LjUzM2gxNy4wNjd2MTcuMDY2aC0xNy4wNjdjLTQuNzEzIDAtOC41MzMtMy44Mi04LjUzMy04LjUzM3ptNDIuNjY2IDE3LjA2NnYtMzQuMTMzaDUxLjJ2MzQuMTMzem0zNzUuNDY3LTguNTMzaC0zMDcuMnYtMTcuMDY3aDMwNy4yYzIzLjU2NCAwIDQyLjY2Ny0xOS4xMDMgNDIuNjY3LTQyLjY2N3MtMTkuMTAzLTQyLjY2Ny00Mi42NjctNDIuNjY3aC04LjUzM3YtMTcuMDY3aDguNTMzYzMyLjk5IDAgNTkuNzMzIDI2Ljc0NCA1OS43MzMgNTkuNzMzcy0yNi43NDMgNTkuNzM1LTU5LjczMyA1OS43MzV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4Ny43MzMgMTYyLjEzM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xODcuNzMzIDExMC45MzNjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44MjEtOC41MzMtOC41MzMtOC41MzMtNC43MTMgMC04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMyAzLjgyMSA4LjUzMyA4LjUzMyA4LjUzM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTg3LjczMyA1OS43MzNjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44MjEtOC41MzMtOC41MzMtOC41MzMtNC43MTMgMC04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMyAzLjgyMSA4LjUzMyA4LjUzMyA4LjUzM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTU0Ljc0MyAxNTcuODY3YzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjkuMTQzIDExMy40OTNjMS41MTMgMi42NjIgNC4zMzcgNC4zMDkgNy4zOTkgNC4zMTZzNS44OTMtMS42MjggNy40MTgtNC4yODMgMS41MTEtNS45MjQtLjAzOC04LjU2NmwtOC41MzMtMTQuNzhjLTEuNTEzLTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwMy41NDMgNjkuMTg4YzIuMzcyIDQuMDQ3IDcuNTY2IDUuNDIgMTEuNjI4IDMuMDc0IDQuMDYyLTIuMzQ1IDUuNDctNy41MyAzLjE1MS0xMS42MDhsLTguNTMzLTE0Ljc4OGMtMS41MTMtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjA5LjA2NyAxNjAuOTljNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43OGMtMi4zNTggNC4wODEtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjM0LjY2NyAxMTYuNjUxYzQuMDgxIDIuMzU2IDkuMy45NTggMTEuNjU3LTMuMTIzbDguNTMzLTE0Ljc4YzEuNTQ5LTIuNjQyIDEuNTYzLTUuOTExLjAzOC04LjU2NnMtNC4zNTYtNC4yOS03LjQxOC00LjI4My01Ljg4NiAxLjY1NC03LjM5OSA0LjMxNmwtOC41MzMgMTQuNzhjLTIuMzU4IDQuMDgtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjYwLjI2NyA3Mi4zMTFjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzg4YzEuNTQ5LTIuNjQyIDEuNTYzLTUuOTExLjAzOC04LjU2NnMtNC4zNTYtNC4yOS03LjQxOC00LjI4My01Ljg4NiAxLjY1NC03LjM5OSA0LjMxNmwtOC41MzMgMTQuNzg4Yy0yLjM1OCA0LjA4MS0uOTYgOS4zIDMuMTIyIDExLjY1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzg0IDI3My4wNjdjNC43MTMgMCA4LjUzMy0zLjgyIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMjIxLjg2N2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMTcwLjY2N2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNTEuMDEgMjY4LjhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzhjLTEuNTE0LTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyNS40MSAyMjQuNDI3YzEuNTE0IDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxNC0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOTkuODEgMTgwLjEyMmMyLjM3MiA0LjA0NyA3LjU2NiA1LjQyIDExLjYyOCAzLjA3NCA0LjA2Mi0yLjM0NSA1LjQ3LTcuNTMgMy4xNTEtMTEuNjA4bC04LjUzMy0xNC43ODhjLTEuNTEzLTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNS4zMzMgMjcxLjkyM2M0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4LTQuMDYyLTIuMzQ1LTkuMjU2LS45NzItMTEuNjI4IDMuMDc0bC04LjUzMyAxNC43OGMtMi4zNTcgNC4wODItLjk1OSA5LjMwMSAzLjEyMiAxMS42NTd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzMC45MzMgMjI3LjU4NGM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4cy05LjI1Ni0uOTcyLTExLjYyOCAzLjA3NGwtOC41MzMgMTQuNzhjLTIuMzU3IDQuMDgyLS45NTkgOS4zMDEgMy4xMjIgMTEuNjU3eiIvPgogICAgICAgIDxwYXRoIGQ9Im00NTYuNTMzIDE4My4yNDVjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzg4YzIuMzE4LTQuMDc4LjkxMS05LjI2Mi0zLjE1MS0xMS42MDgtNC4wNjItMi4zNDUtOS4yNTYtLjk3Mi0xMS42MjggMy4wNzRsLTguNTMzIDE0Ljc4OGMtMi4zNTcgNC4wODItLjk1OSA5LjMgMy4xMjIgMTEuNjU3eiIvPgogICAgPC9nPgo8L3N2Zz4=",iae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDIgNTEyLjAwMiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTM5OC41ODkgMjQ2LjM0MmMtNjQuNjY2LTE3LjMyOC0xMTUuNjAxLTY4LjI2NC0xMzIuOTI5LTEzMi45MjktMS4xNzEtNC4zNzItNS4xMzMtNy40MTItOS42NTktNy40MTJzLTguNDg4IDMuMDQtOS42NTkgNy40MTJjLTE3LjMyOCA2NC42NjYtNjguMjYzIDExNS42MDEtMTMyLjkyOSAxMzIuOTI5LTQuMzcyIDEuMTcxLTcuNDEyIDUuMTMzLTcuNDEyIDkuNjU5czMuMDQgOC40ODggNy40MTIgOS42NTljNjQuNjY2IDE3LjMyOSAxMTUuNjAxIDY4LjI2NCAxMzIuOTI5IDEzMi45MjkgMS4xNzEgNC4zNzIgNS4xMzMgNy40MTIgOS42NTkgNy40MTJzOC40ODgtMy4wNCA5LjY1OS03LjQxMmMxNy4zMjgtNjQuNjY1IDY4LjI2NC0xMTUuNjAxIDEzMi45MjktMTMyLjkyOSA0LjM3Mi0xLjE3MSA3LjQxMi01LjEzMyA3LjQxMi05LjY1OXMtMy4wNC04LjQ4OC03LjQxMi05LjY1OXptLTE0Mi41ODggMTE5LjE3NmMtMjEuMDM5LTQ5LjA5Ni02MC40Mi04OC40NzgtMTA5LjUxNi0xMDkuNTE3IDQ5LjA5Ni0yMS4wMzkgODguNDc4LTYwLjQyIDEwOS41MTYtMTA5LjUxNyAyMS4wMzkgNDkuMDk3IDYwLjQyIDg4LjQ3OCAxMDkuNTE3IDEwOS41MTctNDkuMDk3IDIxLjAzOS04OC40NzggNjAuNDItMTA5LjUxNyAxMDkuNTE3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjQuMDM2IDIwMC40NThjLTEuODg2LTIuNTQ1LTQuODY3LTQuMDQ3LTguMDM1LTQuMDQ3cy02LjE0OSAxLjUwMS04LjAzNSA0LjA0N2MtMTMuNDE2IDE4LjEwNy0yOS40IDM0LjA5MS00Ny41MDggNDcuNTA4LTIuNTQ1IDEuODg2LTQuMDQ3IDQuODY3LTQuMDQ3IDguMDM1czEuNTAxIDYuMTQ5IDQuMDQ3IDguMDM1YzE4LjEwOCAxMy40MTYgMzQuMDkyIDI5LjQgNDcuNTA4IDQ3LjUwOCAxLjg4NiAyLjU0NSA0Ljg2NyA0LjA0NyA4LjAzNSA0LjA0N3M2LjE0OS0xLjUwMSA4LjAzNS00LjA0N2MxMy40MTYtMTguMTA4IDI5LjQtMzQuMDkyIDQ3LjUwOC00Ny41MDggMi41NDUtMS44ODYgNC4wNDctNC44NjcgNC4wNDctOC4wMzVzLTEuNTAxLTYuMTQ5LTQuMDQ3LTguMDM1Yy0xOC4xMDgtMTMuNDE3LTM0LjA5Mi0yOS40MDEtNDcuNTA4LTQ3LjUwOHptLTguMDM1IDg4LjkwOWMtMTAuMDQtMTIuMTYyLTIxLjIwNC0yMy4zMjYtMzMuMzY2LTMzLjM2NiAxMi4xNjMtMTAuMDQgMjMuMzI2LTIxLjIwNCAzMy4zNjYtMzMuMzY2IDEwLjA0IDEyLjE2MyAyMS4yMDQgMjMuMzI2IDMzLjM2NiAzMy4zNjYtMTIuMTYyIDEwLjA0LTIzLjMyNiAyMS4yMDQtMzMuMzY2IDMzLjM2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjU2LjAwMSA3NS45OTljNS41MjMgMCAxMC00LjQ3NyAxMC0xMHYtNTUuOTk5YzAtNS41MjMtNC40NzctMTAtMTAtMTBzLTEwIDQuNDc3LTEwIDEwdjU1Ljk5OWMwIDUuNTIzIDQuNDc3IDEwIDEwIDEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTQuNTc5IDEyOC43MjFjMS45NTMgMS45NTMgNC41MTIgMi45MjkgNy4wNzEgMi45MjlzNS4xMTktLjk3NiA3LjA3MS0yLjkyOWMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNsLTM5LjU5Ny0zOS41OThjLTMuOTA1LTMuOTA1LTEwLjIzNy0zLjkwNS0xNC4xNDMgMHMtMy45MDUgMTAuMjM3IDAgMTQuMTQzeiIvPgogICAgICAgIDxwYXRoIGQ9Im03NiAyNTYuMDAxYzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTU2Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU2YzUuNTIyIDAgMTAtNC40NzcgMTAtMTB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExNC41NzkgMzgzLjI4MS0zOS41OTggMzkuNTk4Yy0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDMgMS45NTMgMS45NTMgNC41MTIgMi45MjkgNy4wNzEgMi45MjlzNS4xMTktLjk3NiA3LjA3MS0yLjkyOWwzOS41OTgtMzkuNTk4YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3MtMTAuMjM3LTMuOTA2LTE0LjE0MiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMDAxIDQzNi4wMDNjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2NTUuOTk5YzAgNS41MjMgNC40NzcgMTAgMTAgMTBzMTAtNC40NzcgMTAtMTB2LTU1Ljk5OWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTcuNDI0IDM4My4yODFjLTMuOTA1LTMuOTA0LTEwLjIzNi0zLjkwNC0xNC4xNDMgMC0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDNsMzkuNTk3IDM5LjU5OGMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc3IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3oiLz4KICAgICAgICA8cGF0aCBkPSJtNTAyLjAwMiAyNDYuMDAxaC01NS45OTljLTUuNTIzIDAtMTAgNC40NzctMTAgMTBzNC40NzcgMTAgMTAgMTBoNTUuOTk5YzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTAuMzUzIDEzMS42NDljMi41NTkgMCA1LjExOS0uOTc2IDcuMDcxLTIuOTI5bDM5LjU5Ny0zOS41OThjMy45MDUtMy45MDUgMy45MDUtMTAuMjM3IDAtMTQuMTQzcy0xMC4yMzctMy45MDUtMTQuMTQzIDBsLTM5LjU5NyAzOS41OThjLTMuOTA1IDMuOTA1LTMuOTA1IDEwLjIzNyAwIDE0LjE0MyAxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MiAyLjkyOXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYxLjg2OCAzOC43MzVjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMSA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xM2wtLjAwMy0uMDA3Yy0yLjE3NS01LjA3Ni04LjA1MS03LjQyMy0xMy4xMjktNS4yNDktNS4wNzYgMi4xNzUtNy40MjYgOC4wNTgtNS4yNSAxMy4xMzQgMS42MjUgMy43OTIgNS4zMTYgNi4wNjMgOS4xOTYgNi4wNjN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2OS44NDQgNzQuMTMxIDEzLjA1NCAzMS41MTRjMS41OTUgMy44NTEgNS4zMTggNi4xNzUgOS4yNDMgNi4xNzUgMS4yNzUgMCAyLjU3Mi0uMjQ1IDMuODIzLS43NjQgNS4xMDItMi4xMTQgNy41MjUtNy45NjMgNS40MTItMTMuMDY2bC0xMy4wNTQtMzEuNTE0Yy0yLjExNC01LjEwMy03Ljk2My03LjUyNy0xMy4wNjYtNS40MTJzLTcuNTI2IDcuOTY0LTUuNDEyIDEzLjA2N3oiLz4KICAgICAgICA8cGF0aCBkPSJtMjQuNTQyIDE3MC45NDNjMS4zNTcuNjI2IDIuNzgyLjkyMyA0LjE4NC45MjMgMy43OCAwIDcuMzk4LTIuMTU0IDkuMDg2LTUuODEyIDIuMzE0LTUuMDE0LjEyNS0xMC45NTYtNC44ODktMTMuMjdsLS4wMDYtLjAwM2MtNS4wMTMtMi4zMTUtMTAuOTUyLS4xMjUtMTMuMjY3IDQuODkxLTIuMzE2IDUuMDE0LS4xMjMgMTAuOTU2IDQuODkyIDEzLjI3MXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjYuNDc3IDE4OC4zMjEgMzEuNTE1IDEzLjA1NGMxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2IDIuMTE0LTUuMTAzLS4zMS0xMC45NTItNS40MTItMTMuMDY1bC0zMS41MTYtMTMuMDU0Yy01LjEwMS0yLjExMy0xMC45NTIuMzEtMTMuMDY1IDUuNDEyLTIuMTE0IDUuMTAyLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwNS42NDUgMzI5LjEwNGM1LjEwMy0yLjExMyA3LjUyNi03Ljk2MyA1LjQxMi0xMy4wNjUtMi4xMTMtNS4xMDMtNy45NjQtNy41MjctMTMuMDY1LTUuNDEybC0zMS41MTQgMTMuMDU0Yy01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjUgMS41OTUgMy44NTIgNS4zMTggNi4xNzYgOS4yNDMgNi4xNzYgMS4yNzUgMCAyLjU3Mi0uMjQ1IDMuODIzLS43NjR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI0Ljc5MyAzNDAuOTQ3LS4wMDcuMDAzYy01LjA3NiAyLjE3NS03LjQyNCA4LjA1My01LjI0OSAxMy4xMjkgMS42MjUgMy43OTIgNS4zMTcgNi4wNjIgOS4xOTggNi4wNjIgMS4zMTUgMCAyLjY1Mi0uMjYxIDMuOTM2LS44MTIgNS4wNzctMi4xNzUgNy40MjgtOC4wNTQgNS4yNTItMTMuMTMxLTIuMTc0LTUuMDc1LTguMDUzLTcuNDI2LTEzLjEzLTUuMjUxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjYuMDU0IDQ3NC4xOWMtNS4wMTUtMi4zMTUtMTAuOTU2LS4xMjUtMTMuMjcgNC44ODlsLS4wMDMuMDA2Yy0yLjMxNCA1LjAxNC0uMTI0IDEwLjk1MyA0Ljg5MSAxMy4yNjcgMS4zNTYuNjI2IDIuNzguOTIyIDQuMTgyLjkyMiAzLjc4MSAwIDcuNDAxLTIuMTU2IDkuMDg5LTUuODE0IDIuMzE0LTUuMDE0LjEyNS0xMC45NTUtNC44ODktMTMuMjd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE5NS45NjMgNDAwLjk0NWMtNS4xMDEtMi4xMTQtMTAuOTUyLjMxLTEzLjA2NSA1LjQxMmwtMTMuMDU0IDMxLjUxNWMtMi4xMTQgNS4xMDMuMzEgMTAuOTUyIDUuNDEyIDEzLjA2NSAxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2bDEzLjA1NC0zMS41MTVjMi4xMTMtNS4xMDItLjMxMS0xMC45NTItNS40MTMtMTMuMDY1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNDYuMTk5IDQ3NC4wNzhjLTUuMDc2IDIuMTc1LTcuNDI4IDguMDU0LTUuMjUyIDEzLjEzbC4wMDMuMDA3YzEuNjI1IDMuNzkxIDUuMzE0IDYuMDYgOS4xOTIgNi4wNiAxLjMxNSAwIDIuNjUxLS4yNjEgMy45MzctLjgxMiA1LjA3Ni0yLjE3NSA3LjQyNi04LjA1OCA1LjI1LTEzLjEzNC0yLjE3NC01LjA3Ni04LjA1MS03LjQyNi0xMy4xMy01LjI1MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQyLjE1OCA0MzcuODcxLTEzLjA1NC0zMS41MTRjLTIuMTE0LTUuMTAzLTcuOTY1LTcuNTI3LTEzLjA2NS01LjQxMi01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjVsMTMuMDU0IDMxLjUxNGMxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NCA1LjEwMi0yLjExMiA3LjUyNS03Ljk2MiA1LjQxMS0xMy4wNjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4Ny4yMDggMzQwLjk0N2MtNS4wNzYtMi4xNzctMTAuOTU1LjE3Ny0xMy4xMyA1LjI1Mi0yLjE3NiA1LjA3Ny4xNzYgMTAuOTU2IDUuMjUyIDEzLjEzMWwuMDA2LjAwM2MxLjI4NS41NSAyLjYxOS44MTEgMy45MzMuODExIDMuODc5IDAgNy41NjktMi4yNzIgOS4xOTQtNi4wNjQgMi4xNzctNS4wNzctLjE3OC0xMC45NTctNS4yNTUtMTMuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NDUuNTI1IDMyMy42ODEtMzEuNTE0LTEzLjA1NGMtNS4xMDItMi4xMTMtMTAuOTUxLjMxLTEzLjA2NSA1LjQxMnMuMzEgMTAuOTUyIDUuNDEyIDEzLjA2NWwzMS41MTQgMTMuMDU0YzEuMjUyLjUxOSAyLjU0OC43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzYgMi4xMTMtNS4xMDItLjMxMS0xMC45NTItNS40MTMtMTMuMDY1eiIvPgogICAgICAgIDxwYXRoIGQ9Im00ODMuMjc0IDE3MS44NjZjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMWwuMDA3LS4wMDNjNS4wNzYtMi4xNzUgNy40MjQtOC4wNTMgNS4yNDktMTMuMTI5cy04LjA2LTcuNDI3LTEzLjEzNC01LjI1Yy01LjA3NyAyLjE3NS03LjQyOCA4LjA1NC01LjI1MiAxMy4xMzEgMS42MjUgMy43OTEgNS4zMTYgNi4wNjIgOS4xOTYgNi4wNjJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNi4zNTcgMTgyLjg5N2MtNS4xMDMgMi4xMTMtNy41MjYgNy45NjMtNS40MTIgMTMuMDY1IDEuNTk1IDMuODUyIDUuMzE4IDYuMTc2IDkuMjQzIDYuMTc2IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0bDMxLjUxNC0xMy4wNTRjNS4xMDMtMi4xMTMgNy41MjYtNy45NjMgNS40MTItMTMuMDY1LTIuMTE0LTUuMTAzLTcuOTYzLTcuNTI3LTEzLjA2Ni01LjQxMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQ2LjE5OSAzNy45MjNjMS4yODUuNTUxIDIuNjIxLjgxMSAzLjkzNS44MTEgMy44OCAwIDcuNTcxLTIuMjcxIDkuMTk2LTYuMDYzbC4wMDMtLjAwN2MyLjE3Ni01LjA3Ni0uMTc3LTEwLjk1Mi01LjI1My0xMy4xMjctNS4wNzQtMi4xNzYtMTAuOTU3LjE3OS0xMy4xMzIgNS4yNTYtMi4xNzcgNS4wNzYuMTc1IDEwLjk1NSA1LjI1MSAxMy4xM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMzE2LjAzOSAxMTEuMDU3YzEuMjUxLjUxOSAyLjU0Ny43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzZsMTMuMDU0LTMxLjUxNGMyLjExNC01LjEwMy0uMzEtMTAuOTUzLTUuNDEyLTEzLjA2Ni01LjEwMS0yLjExNC0xMC45NTEuMzEtMTMuMDY1IDUuNDEybC0xMy4wNTQgMzEuNTE0Yy0yLjExNSA1LjEwMi4zMDkgMTAuOTUyIDUuNDExIDEzLjA2NnoiLz4KICAgIDwvZz4KPC9zdmc+",oae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0yNDAuMDAzLDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThWOGMwLTQuNDE4LTMuNTgyLTgtOC04cy04LDMuNTgyLTgsOHYzMkMyMzIuMDAzLDQ0LjQxOCwyMzUuNTg0LDQ4LDI0MC4wMDMsNDh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0MS4wNzUsMzYuNjU2bDE2LDI3LjcwNGMyLjE4NCwzLjg0MSw3LjA2OCw1LjE4NCwxMC45MDksM3M1LjE4NC03LjA2OCwzLTEwLjkwOWMtMC4wMTctMC4wMzEtMC4wMzUtMC4wNjEtMC4wNTMtMC4wOTIKCQkJCWwtMTYtMjcuNzA0Yy0yLjE4NC0zLjg0MS03LjA2OC01LjE4NC0xMC45MDktM2MtMy44NDEsMi4xODQtNS4xODQsNy4wNjgtMywxMC45MDlDMTQxLjAzOSwzNi41OTUsMTQxLjA1NywzNi42MjYsMTQxLjA3NSwzNi42NTYKCQkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuNTY3LDEwNi44NzVjMC4wMywwLjAxOCwwLjA2MSwwLjAzNSwwLjA5MiwwLjA1M2wyNy43MDQsMTZjMy44MTIsMi4yMzQsOC43MTMsMC45NTYsMTAuOTQ3LTIuODU2CgkJCQljMi4yMzQtMy44MTIsMC45NTYtOC43MTMtMi44NTYtMTAuOTQ3Yy0wLjAzLTAuMDE4LTAuMDYxLTAuMDM1LTAuMDkyLTAuMDUzbC0yNy43MDQtMTZjLTMuODEyLTIuMjM0LTguNzEzLTAuOTU2LTEwLjk0NywyLjg1NgoJCQkJQzcxLjQ3Nyw5OS43MzksNzIuNzU1LDEwNC42NDEsNzYuNTY3LDEwNi44NzV6Ii8+CiAgICAgICAgPHBhdGggZD0iTTk2LjAwMywxOTJjMC00LjQxOC0zLjU4Mi04LTgtOGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJDOTIuNDIxLDIwMCw5Ni4wMDMsMTk2LjQxOCw5Ni4wMDMsMTkyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDQuNDU2LDI2MS4wMThjLTAuMDMxLDAuMDE4LTAuMDYyLDAuMDM2LTAuMDkzLDAuMDU0bC0yNy43MDQsMTZjLTMuODQxLDIuMTgzLTUuMTg1LDcuMDY3LTMuMDAyLDEwLjkwOAoJCQkJYzIuMTgzLDMuODQxLDcuMDY3LDUuMTg1LDEwLjkwOCwzLjAwMmMwLjAzMS0wLjAxOCwwLjA2Mi0wLjAzNiwwLjA5My0wLjA1NGwyNy43MDQtMTZjMy44NDEtMi4xODMsNS4xODUtNy4wNjcsMy4wMDItMTAuOTA4CgkJCQlDMTEzLjE4MSwyNjAuMTc5LDEwOC4yOTcsMjU4LjgzNSwxMDQuNDU2LDI2MS4wMTh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQwMy40NCwyNzcuMTI2Yy0wLjAzMS0wLjAxOC0wLjA2Mi0wLjAzNi0wLjA5My0wLjA1NGwtMjcuNzA0LTE2Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQKCQkJCWMtMi4yMzUsMy44MTEtMC45NTcsOC43MTMsMi44NTQsMTAuOTQ4YzAuMDMxLDAuMDE4LDAuMDYyLDAuMDM2LDAuMDkzLDAuMDU0bDI3LjcwNCwxNmMzLjgxMSwyLjIzNSw4LjcxMywwLjk1NywxMC45NDgtMi44NTQKCQkJCUM0MDguNTI5LDI4NC4yNjIsNDA3LjI1MSwyNzkuMzYxLDQwMy40NCwyNzcuMTI2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjQuMDAzLDE4NGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM0MjguNDIxLDE4NCw0MjQuMDAzLDE4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzcxLjY1MSwxMjRjMS40MDQsMCwyLjc4NC0wLjM3LDQtMS4wNzJsMjcuNzA0LTE2YzMuODQxLTIuMTg0LDUuMTg0LTcuMDY4LDMtMTAuOTA5cy03LjA2OC01LjE4NC0xMC45MDktMwoJCQkJYy0wLjAzMSwwLjAxNy0wLjA2MSwwLjAzNS0wLjA5MiwwLjA1M2wtMjcuNzA0LDE2Yy0zLjgyNiwyLjIwOS01LjEzNyw3LjEwMi0yLjkyOCwxMC45MjgKCQkJCUMzNjYuMTUyLDEyMi40NzUsMzY4Ljc5MywxMjQsMzcxLjY1MSwxMjR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTMxMS45OTMsNjcuMjkxYzAuMDAzLDAuMDAyLDAuMDA2LDAuMDA0LDAuMDA5LDAuMDA1YzMuODI3LDIuMjA3LDguNzIsMC44OTQsMTAuOTI3LTIuOTM0CgkJCQljMC0wLjAwMSwwLjAwMS0wLjAwMiwwLjAwMS0wLjAwMmwxNi0yNy43MDRjMi4yMzUtMy44MTEsMC45NTctOC43MTMtMi44NTQtMTAuOTQ4Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQKCQkJCWMtMC4wMTgsMC4wMzEtMC4wMzYsMC4wNjItMC4wNTQsMC4wOTNsLTE2LDI3LjcwNEMzMDYuODYyLDYwLjE4NCwzMDguMTY5LDY1LjA3OCwzMTEuOTkzLDY3LjI5MXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LjAwMywzMjBjNC40MTgsMCw4LTMuNTgyLDgtOHYtODhoMTZjMTcuNjczLDAsMzItMTQuMzI3LDMyLTMycy0xNC4zMjctMzItMzItMzJjLTE3LjY3MywwLTMyLDE0LjMyNy0zMiwzMnYxNmgtMTYKCQkJCXYtMTZjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiwxNC4zMjctMzIsMzJzMTQuMzI3LDMyLDMyLDMyaDE2djg4YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LTh2LTg4aDE2djg4CgkJCQlDMjQ4LjAwMywzMTYuNDE4LDI1MS41ODQsMzIwLDI1Ni4wMDMsMzIweiBNMjY0LjAwMywxOTJjMC04LjgzNyw3LjE2My0xNiwxNi0xNnMxNiw3LjE2MywxNiwxNnMtNy4xNjMsMTYtMTYsMTZoLTE2VjE5MnoKCQkJCSBNMjE2LjAwMywyMDhoLTE2Yy04LjgzNywwLTE2LTcuMTYzLTE2LTE2czcuMTYzLTE2LDE2LTE2czE2LDcuMTYzLDE2LDE2VjIwOHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjQ2LjIxOSw2NC4xNTJjLTcwLjYxMS0zLjM5Mi0xMzAuNjAzLDUxLjA5OS0xMzMuOTk1LDEyMS43MWMtMS45NDMsNDAuNDMyLDE1LjM1NCw3OS40LDQ2LjY0MywxMDUuMDgyCgkJCQljNS42MzksNC40MTcsOC45OTQsMTEuMTM1LDkuMTM2LDE4LjI5NlYzMjhjMC4wNDIsMTAuMTM0LDYuNDQ1LDE5LjE1LDE2LDIyLjUyOFYzNjBjMC4wMjEsNS45MjMsMi4yNDUsMTEuNjI3LDYuMjQsMTYKCQkJCWMtOC4zMiw5LjA0NC04LjMyLDIyLjk1NiwwLDMyYy04Ljg5NCw5Ljc1LTguMiwyNC44NjQsMS41NSwzMy43NThjNC40MjksNC4wNCwxMC4yMTUsNi4yNjgsMTYuMjEsNi4yNDIKCQkJCWM0LjMwNiwwLjExMyw3Ljg4OS0zLjI4Nyw4LjAwMS03LjU5M2MwLjA0NC0xLjY4LTAuNDU2LTMuMzMtMS40MjUtNC43MDNjLTAuMjUzLTAuNDg5LTAuNTUzLTAuOTUzLTAuODk2LTEuMzg0CgkJCQljLTAuNjU4LTAuNjAyLTEuNDA5LTEuMDk0LTIuMjI0LTEuNDU2Yy0wLjIzMi0wLjEyLTAuNDY0LTAuMjE2LTAuNzA0LTAuMzEyYy0wLjgxLTAuMjk1LTEuNjU5LTAuNDY1LTIuNTItMC41MDQKCQkJCWMtMC4wOCwwLTAuMTUyLTAuMDQ4LTAuMjMyLTAuMDQ4Yy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMgoJCQkJYy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMmMtNC40MTgsMC04LTMuNTgyLTgtOHYtOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04CgkJCQlzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LTMuNTgyLTgtOHYtMTguNzZjLTAuMTMxLTExLjk2Mi01LjY0LTIzLjIzLTE1LTMwLjY4Yy00Ny43ODgtMzkuMjc0LTU0LjY4OS0xMDkuODUyLTE1LjQxNS0xNTcuNjQKCQkJCWMyMi40NjYtMjcuMzM2LDU2LjUyOC00Mi40NDgsOTEuODcxLTQwLjc2YzU5LjEwNywzLjUxNiwxMDUuNTM2LDUxLjk1NywxMDYuNTQ0LDExMS4xNmMwLjI4NywzNC4wNTItMTUuMDI0LDY2LjM2My00MS41Niw4Ny43MDQKCQkJCWMtOS4yOSw3LjY1Mi0xNC42MDIsMTkuMTA5LTE0LjQ0LDMxLjE0NFYzMjhjMCw0LjQxOC0zLjU4Miw4LTgsOGgtMjRjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMTZ2OAoJCQkJYzAsNC40MTgtMy41ODIsOC04LDhoLThjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoOGM0LjQxOCwwLDgsMy41ODIsOCw4cy0zLjU4Miw4LTgsOGgtOGMtNC40MTgsMC04LDMuNTgyLTgsOAoJCQkJczMuNTgyLDgsOCw4aDhjNC40MTgsMCw4LDMuNTgyLDgsOHMtMy41ODIsOC04LDhoLTQwYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMwLjYzMgoJCQkJYy00LjQxNywxMi40OTctMTguMTI5LDE5LjA0Ny0zMC42MjYsMTQuNjNjLTMuODI2LTEuMzUyLTcuMjQ2LTMuNjUzLTkuOTQyLTYuNjg2Yy0yLjkzOC0zLjMtNy45OTYtMy41OTQtMTEuMjk2LTAuNjU2CgkJCQljLTMuMywyLjkzOC0zLjU5NCw3Ljk5Ni0wLjY1NiwxMS4yOTZjMTQuNjMxLDE2LjQ4NywzOS44NTcsMTcuOTkyLDU2LjM0NCwzLjM2MmM2LjgxLTYuMDQzLDExLjM0OS0xNC4yMzIsMTIuODY0LTIzLjIxCgkJCQljMTIuNTI5LTMuOTE2LDE5LjUxMS0xNy4yNDcsMTUuNTk2LTI5Ljc3NmMtMS4wNC0zLjMyOS0yLjgwMS02LjM4OC01LjE1Ni04Ljk2YzguMzItOS4wNDQsOC4zMi0yMi45NTYsMC0zMgoJCQkJYzMuOTk1LTQuMzczLDYuMjE5LTEwLjA3Nyw2LjI0LTE2di05LjQ3MmM5LjU1NS0zLjM3OCwxNS45NTgtMTIuMzk0LDE2LTIyLjUyOHYtMTcuODMyYy0wLjEwNy03LjE4NywzLjAwNy0xNC4wNDYsOC40ODgtMTguNjk2CgkJCQljMzAuMzQ0LTI0LjM5NSw0Ny44NS02MS4zMzksNDcuNTEyLTEwMC4yNzJDMzY2Ljg0NywxMjMuNTMyLDMxMy43NzcsNjguMTY5LDI0Ni4yMTksNjQuMTUyeiIvPgogICAgPC9nPgo8L3N2Zz4K",rae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjU1Ljk5OSwwYy03OS4wNDQsMC0xNDMuMzUyLDY0LjMwOC0xNDMuMzUyLDE0My4zNTN2NzAuMTkzYzAsNC43OCwzLjg3OSw4LjY1Niw4LjY1OSw4LjY1Nmg0OC4wNTcKCQkJYzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzYzAtNDIuOTk4LDM0Ljk4MS03Ny45OCw3Ny45NzktNzcuOThzNzcuOTc5LDM0Ljk4Miw3Ny45NzksNzcuOTh2NzAuMTkzCgkJCWMwLDQuNzgsMy44OCw4LjY1Niw4LjY2MSw4LjY1Nmg0OC4wNTdjNC43OCwwLDguNjU2LTMuODc2LDguNjU2LTguNjU2di03MC4xOTNDMzk5LjM1Miw2NC4zMDgsMzM1LjA0NCwwLDI1NS45OTksMHoKCQkJIE0zODIuMDQsMjA0Ljg5aC0zMC43NDh2LTYxLjUzN2MwLTUyLjU0NC00Mi43NDgtOTUuMjkyLTk1LjI5MS05NS4yOTJzLTk1LjI5MSw0Mi43NDgtOTUuMjkxLDk1LjI5MnY2MS41MzdoLTMwLjc0OHYtNjEuNTM3CgkJCWMwLTY5LjQ5OSw1Ni41NC0xMjYuMDQsMTI2LjAzOC0xMjYuMDRjNjkuNDk5LDAsMTI2LjA0LDU2LjU0MSwxMjYuMDQsMTI2LjA0VjIwNC44OXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDEwLjYzLDIwNC44OUgxMDEuMzcxYy0yMC41MDUsMC0zNy4xODgsMTYuNjgzLTM3LjE4OCwzNy4xODh2MjMyLjczNGMwLDIwLjUwNSwxNi42ODMsMzcuMTg4LDM3LjE4OCwzNy4xODhINDEwLjYzCgkJCWMyMC41MDUsMCwzNy4xODctMTYuNjgzLDM3LjE4Ny0zNy4xODlWMjQyLjA3OEM0NDcuODE3LDIyMS41NzMsNDMxLjEzNSwyMDQuODksNDEwLjYzLDIwNC44OXogTTQzMC41MDUsNDc0LjgxMQoJCQljMCwxMC45Ni04LjkxNiwxOS44NzYtMTkuODc1LDE5Ljg3NkgxMDEuMzcxYy0xMC45NiwwLTE5Ljg3Ni04LjkxNi0xOS44NzYtMTkuODc2VjI0Mi4wNzhjMC0xMC45Niw4LjkxNi0xOS44NzYsMTkuODc2LTE5Ljg3NgoJCQlINDEwLjYzYzEwLjk1OSwwLDE5Ljg3NSw4LjkxNiwxOS44NzUsMTkuODc2VjQ3NC44MTF6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI4NS4xMSwzNjkuNzgxYzEwLjExMy04LjUyMSwxNS45OTgtMjAuOTc4LDE1Ljk5OC0zNC4zNjVjMC0yNC44NzMtMjAuMjM2LTQ1LjEwOS00NS4xMDktNDUuMTA5CgkJCWMtMjQuODc0LDAtNDUuMTEsMjAuMjM2LTQ1LjExLDQ1LjEwOWMwLDEzLjM4Nyw1Ljg4NSwyNS44NDQsMTYsMzQuMzY3bC05LjczMSw0Ni4zNjJjLTAuNTM1LDIuNTU0LDAuMTA4LDUuMjExLDEuNzUyLDcuMjM2CgkJCWMxLjY0NSwyLjAyMyw0LjExMywzLjIsNi43MiwzLjJoNjAuNzM4YzIuNjA4LDAsNS4wNzYtMS4xNzYsNi43MTktMy4yYzEuNjQzLTIuMDI2LDIuMjg2LTQuNjgzLDEuNzUxLTcuMjM0TDI4NS4xMSwzNjkuNzgxegoJCQkgTTI3MC44NTEsMzU4LjgyYy0zLjA0LDEuOTM2LTQuNTY1LDUuNTUzLTMuODI0LDkuMDgxbDguNjgsNDEuMzY2aC0zOS40MTVsOC42ODItNDEuMzYzYzAuNzQtMy41MjktMC43ODItNy4xNDYtMy44MjQtOS4wODEKCQkJYy04LjEwOC01LjE2LTEyLjk0OC0xMy45MTEtMTIuOTQ4LTIzLjQwNmMwLTE1LjMyNywxMi40NjktMjcuNzk2LDI3Ljc5Ny0yNy43OTZjMTUuMzI3LDAsMjcuNzk2LDEyLjQ2OSwyNy43OTYsMjcuNzk2CgkJCUMyODMuNzk3LDM0NC45MTQsMjc4Ljk1NywzNTMuNjYzLDI3MC44NTEsMzU4LjgyeiIvPgogICAgPC9nPgo8L3N2Zz4K",Mae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDk0LjkzMzU5NCAwaC00NzcuODY3MTg4Yy05LjQyMTg3NS4wMDc4MTI1LTE3LjA1ODU5MzUgNy42NDQ1MzEtMTcuMDY2NDA2IDE3LjA2NjQwNnY1OS43MzQzNzVjLjAwNzgxMjUgOS40MjE4NzUgNy42NDQ1MzEgMTcuMDU0Njg4IDE3LjA2NjQwNiAxNy4wNjY0MDdoMTAuODk0NTMybC0yNi44MzU5MzggNDYuOTY0ODQzYy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE5NTMxIDEuNTI3MzQ0IDIuNjI4OTA3IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTMgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA2IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45Njg3NWMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODgyODEzLjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYyODkwNyA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY0ODQ0Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjMyODEyIDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNTM5MDZoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY0ODQ0Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODY3MTkuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjMyODEzIDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45Njg3NWMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODgyODEzLjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYyODkwNiA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoNDk0LjkyOTY4OGMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDk0IDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY4NzVoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MTcxODcgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYyODkwNiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45NjQ4NDRoMTkuNDI1NzgyYzMuMDQyOTY4LS4wMDM5MDYgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNTM5MDYgMS41MjczNDQtMi42Mjg5MDYgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY0ODQ0aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDkzIDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY4NzVoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYxNzE4NyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjI4OTA2IDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2NDg0NGgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYyMTA5MyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjMyODEyIDEuNTM1MTU2LTUuODc4OTA2LjAyNzM0NC04LjUxOTUzMWwtMjYuODM1OTM4LTQ2Ljk2NDg0M2gxMC44OTQ1MzJjOS40MjE4NzUtLjAxMTcxOSAxNy4wNTQ2ODctNy42NDQ1MzIgMTcuMDY2NDA2LTE3LjA2NjQwN3YtNTkuNzM0Mzc1Yy0uMDExNzE5LTkuNDIxODc1LTcuNjQ0NTMxLTE3LjA1NDY4NzItMTcuMDY2NDA2LTE3LjA2NjQwNnptLTQ0Ny4zMTY0MDYgOTMuODY3MTg4aDQ2LjI1djQyLjY2Nzk2OGgtNzAuNjI4OTA3em0zMTkuMzE2NDA2IDB2NDIuNjY3OTY4aC0yMjEuODY3MTg4di00Mi42Njc5Njh6bTY4LjI2NTYyNSAwdjQyLjY2Nzk2OGgtMTcuMDY2NDA3di00Mi42Njc5Njh6bS0yOTAuMTMyODEzIDM0MS4zMzIwMzF2LTQyLjY2NDA2M2gyMjEuODY3MTg4djQyLjY2NDA2M3ptMjIxLjg2NzE4OCAxNy4wNjY0MDZ2NDIuNjY3OTY5aC0yMjEuODY3MTg4di00Mi42Njc5Njl6bTAtMjU2aC0yMjEuODY3MTg4di00Mi42NjQwNjNoMjIxLjg2NzE4OHptMTcuMDY2NDA2LTQyLjY2NDA2M2gxNy4wNjY0MDZ2NDIuNjY0MDYzaC0xNy4wNjY0MDZ6bS0yMzguOTMzNTk0IDE2Mi4xMzI4MTN2LTQyLjY2Nzk2OWgyMjEuODY3MTg4djQyLjY2Nzk2OXptMjIxLjg2NzE4OCAxNy4wNjY0MDZ2NDIuNjY0MDYzaC0yMjEuODY3MTg4di00Mi42NjQwNjN6bS0yMjEuODY3MTg4LTc2LjgwMDc4MXYtNDIuNjY3OTY5aDIyMS44NjcxODh2NDIuNjY3OTY5em0tMTcuMDY2NDA2LTU5LjczNDM3NWgtMTcuMDY2NDA2di00Mi42NjQwNjNoMTcuMDY2NDA2em0wIDE3LjA2NjQwNnY0Mi42Njc5NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY5em0wIDU5LjczNDM3NXY0Mi42Njc5NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY5em0wIDU5LjczNDM3NXY0Mi42NjQwNjNoLTE3LjA2NjQwNnYtNDIuNjY0MDYzem0wIDU5LjczNDM3NXY0Mi42NjQwNjNoLTE3LjA2NjQwNnYtNDIuNjY0MDYzem0yNTYgMGgxNy4wNjY0MDZ2NDIuNjY0MDYzaC0xNy4wNjY0MDZ6bTAtMTcuMDcwMzEydi00Mi42NjQwNjNoMTcuMDY2NDA2djQyLjY2NDA2M3ptMC01OS43MzA0Njl2LTQyLjY2Nzk2OWgxNy4wNjY0MDZ2NDIuNjY3OTY5em0wLTU5LjczNDM3NXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTM0LjEzMjgxMi00Mi42Njc5NjloMTcuMDY2NDA3djQyLjY2Nzk2OWgtMTcuMDY2NDA3em0wLTE3LjA2NjQwNnYtNDIuNjY0MDYzaDE3LjA2NjQwN3Y0Mi42NjQwNjN6bS0xNy4wNjY0MDYtNTkuNzMwNDY5aC0xNy4wNjY0MDZ2LTQyLjY2Nzk2OGgxNy4wNjY0MDZ6bS0yNzMuMDY2NDA2IDBoLTE3LjA2NjQwNnYtNDIuNjY3OTY4aDE3LjA2NjQwNnptLTgwLjM4MjgxMiAxNy4wNjY0MDZoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzMwNDY5aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em0wIDU5LjczNDM3NWg0Ni4yNXY0Mi42Njc5NjloLTcwLjYyODkwN3ptMCA1OS43MzQzNzVoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzM0Mzc1aDQ2LjI1djQyLjY2NDA2M2gtNzAuNjI4OTA3em0wIDU5LjczMDQ2OWg0Ni4yNXY0Mi42Njc5NjloLTcwLjYyODkwN3ptNjMuMzE2NDA2IDQyLjY2Nzk2OXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTI3My4wNjY0MDYgMHYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTEwNC43NTc4MTIgMGgtNzAuNjI1di00Mi42Njc5NjloNDYuMjV6bTAtNTkuNzM0Mzc1aC03MC42MjV2LTQyLjY2NDA2M2g0Ni4yNXptMC01OS43MzQzNzVoLTcwLjYyNXYtNDIuNjY0MDYzaDQ2LjI1em0wLTU5LjczMDQ2OWgtNzAuNjI1di00Mi42Njc5NjloMTcuMDY2NDA3djE3LjA2NjQwNmMwIDQuNzE0ODQ0IDMuODIwMzEyIDguNTM1MTU3IDguNTM1MTU2IDguNTM1MTU3IDQuNzEwOTM3IDAgOC41MzEyNS0zLjgyMDMxMyA4LjUzMTI1LTguNTM1MTU3di0xNy4wNjY0MDZoMTIuMTE3MTg3em0wLTU5LjczNDM3NWgtMzYuNDkyMTg3di00Mi42Njc5NjloMTIuMTE3MTg3em0wLTU5LjczNDM3NWgtMzYuNDkyMTg3di00Mi42NjQwNjNoMTIuMTE3MTg3em0wLTU5LjczMDQ2OWgtMzYuNDkyMTg3di00Mi42Njc5NjhoMTIuMTE3MTg3em0tMTkuNDI1NzgxLTU5LjczNDM3NWgtNDUyLjI2NTYyNXYtNTkuNzM0Mzc1aDQ3Ny44NjcxODhsLjAwNzgxMiA1OS43MzQzNzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im01OS43MzQzNzUgNDIuNjY3OTY5aC0xNy4wNjY0MDZjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDE3LjA2NjQwNmM0LjcxMDkzNyAwIDguNTMxMjUtMy44MjAzMTMgOC41MzEyNS04LjUzNTE1NiAwLTQuNzEwOTM4LTMuODIwMzEzLTguNTMxMjUtOC41MzEyNS04LjUzMTI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ1LjA2NjQwNiA0Mi42Njc5NjloLTUxLjE5OTIxOGMtNC43MTQ4NDQgMC04LjUzNTE1NyAzLjgyMDMxMi04LjUzNTE1NyA4LjUzMTI1IDAgNC43MTQ4NDMgMy44MjAzMTMgOC41MzUxNTYgOC41MzUxNTcgOC41MzUxNTZoNTEuMTk5MjE4YzQuNzE0ODQ0IDAgOC41MzUxNTYtMy44MjAzMTMgOC41MzUxNTYtOC41MzUxNTYgMC00LjcxMDkzOC0zLjgyMDMxMi04LjUzMTI1LTguNTM1MTU2LTguNTMxMjV6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",nae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yMzQgMjQzLjc4M2MtLjk1MSAwLTEuODY4LjE0MS0yLjczOS4zODlsLS4wMDItLjAwNy0yOC43MjIgOC4xODdjLTUuMzExIDEuNTE0LTguMzkgNy4wNDctNi44NzYgMTIuMzU4IDEuMjUzIDQuMzk2IDUuMjU4IDcuMjYxIDkuNjEyIDcuMjYxLjkwNyAwIDEuODMtLjEyNSAyLjc0Ni0uMzg1bDE1Ljk4MS00LjU1NHYzNS40MmwtMTI0IDM1LjM0NXYtMzUuNDJsMjEuNDY0LTYuMTE4YzUuMzExLTEuNTE0IDguMzktNy4wNDcgNi44NzYtMTIuMzU4cy03LjA0NS04LjM4Ny0xMi4zNTgtNi44NzZsLTI4LjcyMyA4LjE4Ny4wMDEuMDA3Yy00LjE4OSAxLjE5My03LjI2IDUuMDM5LTcuMjYgOS42MXYxMjcuMTk5Yy04LjM2My02LjI5My0xOC43NTItMTAuMDI4LTMwLTEwLjAyOC0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDA2bDEyNC0zNS4zNDV2NTcuNzMzYy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xNjcuMTcyYzAtNS41MjMtNC40NzctMTAtMTAtMTB6bS0xODQgMjQ4LjIxN2MtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xNDQtNDEuMDQ1Yy0xNi41NDIgMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU4LTMwIDMwLTMwIDMwIDEzLjQ1OCAzMCAzMC0xMy40NTggMzAtMzAgMzB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUwOC4wMTMgMi4wMWMtMi41MTEtMS44ODktNS43NjMtMi40ODctOC43ODItMS42MTlsLTEwNC40MDggMzAuMDg5Yy00LjI4MiAxLjIzNC03LjIzMSA1LjE1Mi03LjIzMSA5LjYwOXYxMjcuMTk5Yy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDNsOTcuMTc3LTI4LjAwNWM0LjI4Mi0xLjIzNCA3LjIzMS01LjE1MiA3LjIzMS05LjYwOXYtNTYuMjE3YzAtMy4xNDItMS40NzctNi4xMDEtMy45ODctNy45OXptLTE1MC40MjEgMjM1LjI1MWMtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xMzQuNDA4LTE3OC41NjktODQuNDA4IDI0LjMyNXYtMzUuNDAzbDg0LjQwOC0yNC4zMjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3MS41OTEgMzQ4Ljc2Mi00OC4yODgtNy4wMTctMjEuNTk1LTQzLjc1NmMtMS42ODUtMy40MTMtNS4xNjEtNS41NzQtOC45NjctNS41NzRzLTcuMjgzIDIuMTYxLTguOTY3IDUuNTc0bC0yMS41OTUgNDMuNzU2LTQ4LjI4OCA3LjAxN2MtMy43NjcuNTQ3LTYuODk2IDMuMTg2LTguMDczIDYuODA2cy0uMTk1IDcuNTk0IDIuNTMxIDEwLjI1MWwzNC45NDEgMzQuMDYtOC4yNDkgNDguMDkzYy0uNjQ0IDMuNzUxLjg5OCA3LjU0MyAzLjk3OCA5Ljc4MSAzLjA3OSAyLjIzNiA3LjE2MiAyLjUzMiAxMC41MzEuNzYxbDQzLjE5LTIyLjcwNyA0My4xOSAyMi43MDZjMS40NjMuNzcgMy4wNjEgMS4xNDkgNC42NTIgMS4xNDkgMi4wNzMgMCA0LjEzNy0uNjQ0IDUuODc5LTEuOTEgMy4wOC0yLjIzNyA0LjYyMi02LjAyOSAzLjk3OC05Ljc4MWwtOC4yNDktNDguMDkzIDM0Ljk0MS0zNC4wNmMyLjcyNi0yLjY1NyAzLjcwNy02LjYzMSAyLjUzMS0xMC4yNTFzLTQuMzA0LTYuMjU4LTguMDcxLTYuODA1em0tNDcuMTI0IDQwLjQ2NGMtMi4zNTcgMi4yOTctMy40MzMgNS42MDctMi44NzYgOC44NTFsNS43MTIgMzMuMzA0LTI5LjkwOS0xNS43MjRjLTIuOTEzLTEuNTMyLTYuMzkzLTEuNTMyLTkuMzA3IDBsLTI5LjkwOSAxNS43MjQgNS43MTItMzMuMzA0Yy41NTctMy4yNDQtLjUxOS02LjU1NC0yLjg3Ni04Ljg1MWwtMjQuMTk2LTIzLjU4NiAzMy40MzktNC44NTljMy4yNTctLjQ3MyA2LjA3My0yLjUxOSA3LjUyOS01LjQ3bDE0Ljk1NS0zMC4zMDEgMTQuOTU0IDMwLjMwMWMxLjQ1NyAyLjk1MSA0LjI3MiA0Ljk5NyA3LjUyOSA1LjQ3bDMzLjQzOSA0Ljg1OXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIuNjIgOTAuNzA2LTYuNjIgMzguNTkzYy0uNjQ0IDMuNzUxLjg5OCA3LjU0MyAzLjk3OCA5Ljc4MSAzLjA3OSAyLjIzNyA3LjE2MyAyLjUzMyAxMC41MzEuNzYxbDM0LjY1OC0xOC4yMjEgMzQuNjU5IDE4LjIyMWMxLjQ2My43NjkgMy4wNjEgMS4xNDggNC42NTIgMS4xNDggMi4wNzMgMCA0LjEzNy0uNjQ0IDUuODc5LTEuOTEgMy4wOC0yLjIzOCA0LjYyMi02LjAyOSAzLjk3OC05Ljc4MWwtNi42Mi0zOC41OTMgMjguMDQtMjcuMzMxYzIuNzI2LTIuNjU3IDMuNzA3LTYuNjMxIDIuNTMxLTEwLjI1MXMtNC4zMDYtNi4yNTgtOC4wNzMtNi44MDZsLTM4Ljc1LTUuNjMxLTE3LjMyOC0zNS4xMTJjLTEuNjg0LTMuNDEzLTUuMTYtNS41NzQtOC45NjctNS41NzRzLTcuMjgzIDIuMTYxLTguOTY3IDUuNTc0bC0xNy4zMjkgMzUuMTEzLTM4Ljc1IDUuNjMxYy0zLjc2Ny41NDctNi44OTYgMy4xODYtOC4wNzMgNi44MDZzLS4xOTUgNy41OTQgMi41MzEgMTAuMjUxem0yNC4zMy0zMC45ODNjMy4yNTctLjQ3MyA2LjA3My0yLjUxOSA3LjUyOS01LjQ3bDEwLjY4OC0yMS42NTcgMTAuNjg4IDIxLjY1N2MxLjQ1NyAyLjk1MSA0LjI3MiA0Ljk5NyA3LjUyOSA1LjQ3bDIzLjkgMy40NzMtMTcuMjkyIDE2Ljg1OGMtMi4zNTcgMi4yOTgtMy40MzMgNS42MDgtMi44NzYgOC44NTJsNC4wODMgMjMuODA0LTIxLjM3Ny0xMS4yMzhjLTEuNDU3LS43NjYtMy4wNTUtMS4xNDktNC42NTMtMS4xNDktMS41OTkgMC0zLjE5Ny4zODMtNC42NTMgMS4xNDlsLTIxLjM3NyAxMS4yMzggNC4wODMtMjMuODA0Yy41NTctMy4yNDQtLjUxOS02LjU1NC0yLjg3Ni04Ljg1MmwtMTcuMjk2LTE2Ljg1OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjM0IDg2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzQgMTU2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzQgMTI2LjMwNmgtMTBjLTUuNTIzIDAtMTAgNC40NzctMTAgMTBzNC40NzcgMTAgMTAgMTBoMTBjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTB6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE5NCAxNDYuMzA2aDEwYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEwaC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYyIDI4NC4zMWMyLjYzIDAgNS4yMS0xLjA3IDcuMDctMi45M3MyLjkzLTQuNDQgMi45My03LjA3YzAtMi42NC0xLjA3LTUuMjEtMi45My03LjA4LTEuODYtMS44Ni00LjQ0LTIuOTItNy4wNy0yLjkycy01LjIxIDEuMDYtNy4wNyAyLjkyYy0xLjg2IDEuODctMi45MyA0LjQ0LTIuOTMgNy4wOCAwIDIuNjMgMS4wNyA1LjIxIDIuOTMgNy4wN3M0LjQ0IDIuOTMgNy4wNyAyLjkzeiIvPgogICAgPC9nPgo8L3N2Zz4=",aae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwNS40IDUwNS40Ij4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQzNy4xLDIzMy40NWMxNC44LTEwLjQsMjQuNi0yNy43LDI0LjYtNDcuMmMwLTMxLjktMjUuOC01Ny43LTU3LjctNTcuN2MtMzEuOSwwLTU3LjcsMjUuOC01Ny43LDU3LjcKCQkJYzAsMTkuNSw5LjcsMzYuOCwyNC42LDQ3LjJjLTEyLjcsNC40LTI0LjMsMTEuMi0zNC4xLDIwYy0xMy41LTExLjUtMjkuNC0yMC4zLTQ2LjgtMjUuNWMyMS4xLTEyLjgsMzUuMy0zNi4xLDM1LjMtNjIuNgoJCQljMC00MC40LTMyLjctNzMuMS03My4xLTczLjFjLTQwLjQsMC03My4xLDMyLjgtNzMuMSw3My4xYzAsMjYuNSwxNC4xLDQ5LjgsMzUuMyw2Mi42Yy0xNy4yLDUuMi0zMi45LDEzLjktNDYuMywyNS4yCgkJCWMtOS44LTguNi0yMS4yLTE1LjMtMzMuNy0xOS42YzE0LjgtMTAuNCwyNC42LTI3LjcsMjQuNi00Ny4yYzAtMzEuOS0yNS44LTU3LjctNTcuNy01Ny43cy01Ny43LDI1LjgtNTcuNyw1Ny43CgkJCWMwLDE5LjUsOS43LDM2LjgsMjQuNiw0Ny4yQzI4LjUsMjQ3LjI1LDAsMjg0Ljk1LDAsMzI5LjI1djYuNmMwLDAuMiwwLjIsMC40LDAuNCwwLjRoMTIyLjNjLTAuNyw1LjUtMS4xLDExLjItMS4xLDE2Ljl2Ni44CgkJCWMwLDI5LjQsMjMuOCw1My4yLDUzLjIsNTMuMmgxNTVjMjkuNCwwLDUzLjItMjMuOCw1My4yLTUzLjJ2LTYuOGMwLTUuNy0wLjQtMTEuNC0xLjEtMTYuOUg1MDVjMC4yLDAsMC40LTAuMiwwLjQtMC40di02LjYKCQkJQzUwNS4yLDI4NC44NSw0NzYuOCwyNDcuMTUsNDM3LjEsMjMzLjQ1eiBNMzYyLjMsMTg2LjE1YzAtMjMsMTguNy00MS43LDQxLjctNDEuN3M0MS43LDE4LjcsNDEuNyw0MS43CgkJCWMwLDIyLjctMTguMyw0MS4yLTQwLjksNDEuN2MtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzM4MC41LDIyNy40NSwzNjIuMywyMDguOTUsMzYyLjMsMTg2LjE1eiBNMTk0LjksMTY1LjM1CgkJCWMwLTMxLjUsMjUuNi01Ny4xLDU3LjEtNTcuMXM1Ny4xLDI1LjYsNTcuMSw1Ny4xYzAsMzAuNC0yMy45LDU1LjMtNTMuOCw1N2MtMS4xLDAtMi4yLDAtMy4zLDBjLTEuMSwwLTIuMiwwLTMuMywwCgkJCUMyMTguOCwyMjAuNjUsMTk0LjksMTk1Ljc1LDE5NC45LDE2NS4zNXogTTU5LjMsMTg2LjE1YzAtMjMsMTguNy00MS43LDQxLjctNDEuN3M0MS43LDE4LjcsNDEuNyw0MS43YzAsMjIuNy0xOC4zLDQxLjItNDAuOSw0MS43CgkJCWMtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzc3LjYsMjI3LjQ1LDU5LjMsMjA4Ljk1LDU5LjMsMTg2LjE1eiBNMTI1LjUsMzIwLjE1SDE2LjJjNC41LTQyLjYsNDAuNS03Niw4NC4yLTc2LjMKCQkJYzAuMiwwLDAuNCwwLDAuNiwwczAuNCwwLDAuNiwwYzIwLjgsMC4xLDM5LjgsNy44LDU0LjUsMjAuM0MxNDEuNywyNzkuNzUsMTMxLDI5OC45NSwxMjUuNSwzMjAuMTV6IE0zNjYuOCwzNTkuOTUKCQkJYzAsMjAuNS0xNi43LDM3LjItMzcuMiwzNy4yaC0xNTVjLTIwLjUsMC0zNy4yLTE2LjctMzcuMi0zNy4ydi02LjhjMC02Mi4xLDQ5LjYtMTEyLjksMTExLjMtMTE0LjdjMS4xLDAuMSwyLjMsMC4xLDMuNCwwLjEKCQkJczIuMywwLDMuNC0wLjFjNjEuNywxLjgsMTExLjMsNTIuNiwxMTEuMywxMTQuN1YzNTkuOTV6IE0zNzguNywzMjAuMTVjLTUuNS0yMS4xLTE2LTQwLTMwLjMtNTUuNmMxNC44LTEyLjgsMzQtMjAuNSw1NS0yMC43CgkJCWMwLjIsMCwwLjQsMCwwLjYsMHMwLjQsMCwwLjYsMGM0My43LDAuMyw3OS43LDMzLjcsODQuMiw3Ni4zSDM3OC43eiIvPgogICAgPC9nPgo8L3N2Zz4K",cae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNjcuMDQzIDE3MC40MTRjLTEwLjUxNi0uMzY1LTIwLjAxNi01LjA0Ny0yNi43NDktMTMuMTgxLTQuOTE0LTUuOTM3LTEzLjkzOC01LjkyNS0xOC44NDIgMC0xNC41OTcgMTcuNjM3LTQxLjQ2MiAxNy42MDYtNTYuMDMxIDAtNC45NzMtNi4wMDctMTQuMDA1LTUuODQyLTE4Ljg0MyAwLTE0LjU5MiAxNy42MzMtNDEuNDU1IDE3LjYxMy01Ni4wMzEtLjAwMS00LjkyMi01Ljk0NS0xMy45NDUtNS45MTUtMTguODQxIDAtNi43MzMgOC4xMzUtMTYuMjMzIDEyLjgxNi0yNi43NDkgMTMuMTgyLTQuMTQuMTQ0LTcuMzc5IDMuNjE2LTcuMjM0IDcuNzU2LjE0NCA0LjE0IDMuNTk0IDcuMzcxIDcuNzU2IDcuMjM1IDEzLjU2Ni0uNDcyIDI2LjM4Ni02LjMyOCAzNS42NDYtMTYuMTg3IDIwLjI3NiAyMS42MjkgNTQuNTY5IDIxLjY1NyA3NC44NzUuMDAxIDIwLjI3OCAyMS42MjkgNTQuNTcxIDIxLjY1NCA3NC44NzQtLjAwMSA5LjI2MiA5Ljg1OSAyMi4wOCAxNS43MTUgMzUuNjQ3IDE2LjE4NyA0LjEyMS4xNDkgNy42MTMtMy4wOTUgNy43NTYtNy4yMzUuMTQ1LTQuMTQtMy4wOTQtNy42MTItNy4yMzQtNy43NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjc4MiAxMDcuN2MtOC4wODItMS43MDMtMTUuMTY3LTYtMjAuNDg3LTEyLjQyNy00LjkxNC01LjkzNy0xMy45MzgtNS45MjUtMTguODQyIDAtMTQuNTk3IDE3LjYzNy00MS40NjIgMTcuNjA2LTU2LjAzMSAwLTQuOTczLTYuMDA3LTE0LjAwNS01Ljg0Mi0xOC44NDMgMC0xNC41OTIgMTcuNjMzLTQxLjQ1NSAxNy42MTMtNTYuMDMxLS4wMDEtNC45MjItNS45NDUtMTMuOTQ1LTUuOTE1LTE4Ljg0MSAwLTUuMzIgNi40MjctMTIuNDA0IDEwLjcyNS0yMC40ODYgMTIuNDI4LTQuMDU0Ljg1NC02LjY0NyA0LjgzMi01Ljc5MyA4Ljg4NXM0Ljg0IDYuNjQ3IDguODg1IDUuNzkyYzEwLjM4My0yLjE4OCAxOS41OTItNy4zOSAyNi44MTYtMTUuMTE3IDIwLjI4MiAyMS42MzEgNTQuNTcyIDIxLjY0OCA3NC44NzItLjAwMSAyMC4yNzYgMjEuNjI2IDU0LjU2NyAyMS42NTYgNzQuODcxLjAwMiA3LjIyNiA3LjcyNyAxNi40MzYgMTIuOTMgMjYuODE4IDE1LjExNiA0LjA0OC44NTUgOC4wMy0xLjc0IDguODg1LTUuNzkzLjg1My00LjA1My0xLjc0MS04LjAzMS01Ljc5My04Ljg4NHoiLz4KICAgICAgICA8cGF0aCBkPSJtNTQuOTg1IDQyOS4yNzNoMTY5LjczMnY2OS41NzljMCA3LjI1IDUuODk4IDEzLjE0OCAxMy4xNDkgMTMuMTQ4aDI1LjE5MmM3LjI1IDAgMTMuMTQ4LTUuODk4IDEzLjE0OC0xMy4xNDh2LTEuNDY0aDc0LjE5OXYxLjQ2NGMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtNjkuNTc5aDU1LjExOWMyNC4xMjEgMCA0My4wODEtMjAuODg2IDQwLjY1Ny00NC45NTYtLjAwNC0uMDQtLjAwOC0uMDgtLjAxMy0uMTJsLTEzLjAzNS0xMTEuNTY3Yy0uNDgxLTQuMTE0LTQuMjE1LTcuMDYyLTguMzE5LTYuNTc5LTQuMTE0LjQ4MS03LjA2IDQuMjA2LTYuNTc5IDguMzJsMTMuMDMgMTExLjUwM2MxLjQ2IDE0LjgzMy0xMC4wOTQgMjguMzk4LTI1LjczOCAyOC4zOThoLTU1LjExOXYtMTkuMDU4aDQ0LjkzN2M5LjQ3IDAgMTYuODgtOC4xOTEgMTUuOTM1LTE3LjYxNi0uMDA1LS4wNDMtLjAxLS4wODYtLjAxNS0uMTI5bC0zOC43NTYtMzI5LjA3NGMtLjg2MS04LjE3OS03LjY5NS0xNC4zMzctMTUuOTI3LTE0LjMzN2gtMTM0LjU3MWMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxMzQuNTcxYy41MjMgMCAuOTU3LjM5MyAxLjAxLjkxNC4wMDQuMDQyLjAwOS4wODMuMDE0LjEyNWwzOC43NSAzMjkuMDM0Yy4wMTkuMjc1LS4wNzQuNTQ3LS4yNi43NTEtLjE5MS4yMTItLjQ2Ni4zMzMtLjc1Mi4zMzNoLTQ0LjkzN3YtMjIuODkyYzAtMzkuNDc3LTMyLjI1Ni03MC4zNDQtNzAuMzQ1LTcwLjM0NC0yNi43NzggMC01MC45NDcgMTUuMTg5LTYyLjgzOSAzOC43NDQtMTIuMDA4LTIzLjc3Mi0zNi43MjUtMzkuMjUtNjQuMjA2LTM4LjczMS0zNy43LjcwOS02OC45ODggMzEuNTkzLTY4Ljk4OCA3MC4zMzJ2MjIuODkyaC03MC4zNTJjLS4yODYgMC0uNTYtLjEyMi0uNzUzLS4zMzUtLjE4NS0uMjA0LS4yNzctLjQ3Ni0uMjU5LS43NTFsMzguNzUyLTMyOS4wMzJjLjAwNS0uMDQyLjAxLS4wODQuMDE0LS4xMjcuMDUzLS41Mi40ODYtLjkxMiAxLjAxLS45MTJoMTM0LjU3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMzQuNTdjLTguMjMzIDAtMTUuMDY3IDYuMTYtMTUuOTI3IDE0LjMzOWwtMzguNzU3IDMyOS4wNzNjLS4wMDUuMDQzLS4wMS4wODYtLjAxNS4xMjktLjk0NiA5LjQyMiA2LjQ2NCAxNy42MTYgMTUuOTM1IDE3LjYxNmgxNTkuNTUxdjE5LjA1OGgtMTY5LjczMmMtMTQuODUyIDAtMjcuMjc5LTEyLjc4Mi0yNS43MzktMjguMzk5bDQwLjYwOS0zNDcuNDgzYy4wMDUtLjA0LjAwOS0uMDguMDEzLS4xMTkgMS4zMzYtMTMuMjY4IDEyLjM5OS0yMy4yNzMgMjUuNzM0LTIzLjI3M2gzMjAuNzk4YzEzLjMzNSAwIDI0LjM5NyAxMC4wMDUgMjUuNzMzIDIzLjI3Mi4wMDQuMDQuMDA4LjA4LjAxMy4xMmwyMy40ODcgMjAwLjk3OWMuNDgxIDQuMTE1IDQuMjE3IDcuMDYzIDguMzE5IDYuNTc5IDQuMTE0LS40OCA3LjA2LTQuMjA2IDYuNTc5LTguMzJsLTIzLjQ4LTIwMC45MjJjLTIuMTM4LTIwLjkzMi0xOS42MDMtMzYuNzA4LTQwLjY1MS0zNi43MDhoLTMyMC43OThjLTIxLjA0OSAwLTM4LjUxNiAxNS43NzctNDAuNjUyIDM2LjcxbC00MC42MSAzNDcuNDg4Yy0uMDA1LjA0LS4wMDkuMDgtLjAxMy4xMi0yLjQxNSAyMy45OTkgMTYuNDY2IDQ0Ljk1NSA0MC42NTggNDQuOTU1em0yNTcuNzEzLTcxLjMwMmMwLTEwLjMyNSA4LjEyMi0xOS4yODkgMTguNS0xOS40ODMgMTAuNjgyLS4yMDQgMTkuMjA5IDguNDkxIDE5LjIwOSAxOC44MzZ2MjIuODkyaC0zNy43MDl6bS0zNi40OTEgNzEuMzAyaDc0LjE5OXYxOS4wNThoLTc0LjE5OXptNzguMjE1LTM0LjA1OGM1LjU2OSAwIDEwLjAxNCA0LjgxOCA5LjQ4NCAxMC40My0uNDczIDQuODg0LTQuNTkgOC42MjctOS40ODQgOC42MjdoLTc4LjIxNXYtMTkuMDU4YzI2LjExMi4wMDEgNTIuMTY3LjAwMSA3OC4yMTUuMDAxem0tNzguMjE1IDY4LjExNmg3OC4yMTVjNS41MzcgMCAxMC4wMTYgNC43OTYgOS40ODQgMTAuNDMtLjQ3MiA0Ljg3NC00LjU4NyA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1em0xMTAuNjkgMzMuNjY5aC0yMS40OXYtMi4yMTNjMTguMDE0LTkuMTI3IDE4LjA1NC0zNC43MDggMC00My44NTV2LTI0LjI2YzE4LjA5OC05LjE3IDE3Ljk2OC0zNC43NTIgMC00My44NTV2LTI1LjQ5M2MwLTIwLjQ4Ni0xOC4yMDItMzYuNTE3LTM4Ljc5NC0zMy40OS0xNi4zNTMgMi40LTI4LjkxNSAxNi41MjYtMjguOTE1IDMzLjQ5djIyLjg5MmgtMjEuNDl2LTIxLjgzN2MwLTMwLjU1MiAyNC40Ni01Ni4wOTQgNTQuODIyLTU2LjM4NiAzMS4yMTgtLjI2MiA1NS44NjcgMjUuMDU4IDU1Ljg2NyA1NS4zMzF6bS0yMzYuMzc3LTExNi43ODV2LTIxLjgzOGMwLTMyLjIyNCAyNi42OTYtNTcuNTgzIDU3LjU4OS01Ni4zNDIgMjkuNDgzIDEuMjA0IDUzLjA5OSAyNS41MDMgNTMuMDk5IDU1LjI4N3YxMzkuNjc3aC0yMS40OWMwLTE0LjQxOCAwLTEyMS4wNjMgMC0xMzkuNjc3IDAtMTcuOTUtMTQuMDY1LTMyLjgwNC0zMS45MTUtMzMuNzk1LTE5LjI3Ni0xLjA5Ni0zNS43OTMgMTQuMjYxLTM1Ljc5MyAzMy43OTV2MjIuODkyaC0yMS40OXptMzYuNDkgMHYtMjIuMjQ1YzAtOS40MjUgNi43NjItMTcuNzI0IDE1Ljg3Ny0xOS4yNDMgMTEuNjM5LTEuODUyIDIxLjgzIDcuMjM3IDIxLjgzIDE4LjU5NnYyMi44OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",uae="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAxNjBoLTMydi04MGMwLTguODIyLTcuMTc4LTE2LTE2LTE2aC0zMnYtNDBjMC0xMy4yMzMtMTAuNzY3LTI0LTI0LTI0aC0yMjRjLTEzLjIzMyAwLTI0IDEwLjc2Ny0yNCAyNHY0MGgtMzJjLTguODIyIDAtMTYgNy4xNzgtMTYgMTZ2ODBoLTMyYy0yMi4wNTYgMC00MCAxNy45NDQtNDAgNDB2MTc2YzAgMjIuMDU2IDE3Ljk0NCA0MCA0MCA0MGg4MHY3MmMwIDEzLjIzMyAxMC43NjcgMjQgMjQgMjRoMjI0YzEzLjIzMyAwIDI0LTEwLjc2NyAyNC0yNHYtNzJoODBjMjIuMDU2IDAgNDAtMTcuOTQ0IDQwLTQwdi0xNzZjMC0yMi4wNTYtMTcuOTQ0LTQwLTQwLTQwem0tNDgtODB2ODBoLTMydi04MHptLTI4OC01NmMwLTQuNDExIDMuNTg5LTggOC04aDIyNGM0LjQxMSAwIDggMy41ODkgOCA4djEzNmgtMjQwYzAtMS42MzUgMC0xMzAuMjExIDAtMTM2em0tNDggNTZoMzJ2ODBoLTMyem0yODggNDA4YzAgNC40MTEtMy41ODkgOC04IDhoLTIyNGMtNC40MTEgMC04LTMuNTg5LTgtOHYtMTM2aDI0MHptMTIwLTExMmMwIDEzLjIzMy0xMC43NjcgMjQtMjQgMjRoLTgwdi00OGgxNmM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOGMtMjguNjU3IDAtMjkwLjg4MyAwLTMwNCAwLTQuNDE4IDAtOCAzLjU4Mi04IDhzMy41ODIgOCA4IDhoMTZ2NDhoLTgwYy0xMy4yMzMgMC0yNC0xMC43NjctMjQtMjR2LTE3NmMwLTEzLjIzMyAxMC43NjctMjQgMjQtMjRoNDMyYzEzLjIzMyAwIDI0IDEwLjc2NyAyNCAyNHoiLz4KICAgICAgICA8cGF0aCBkPSJtNDU2IDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zOTIgMTkyYy0xMy4yMzMgMC0yNCAxMC43NjctMjQgMjRzMTAuNzY3IDI0IDI0IDI0IDI0LTEwLjc2NyAyNC0yNC0xMC43NjctMjQtMjQtMjR6bTAgMzJjLTQuNDExIDAtOC0zLjU4OS04LThzMy41ODktOCA4LTggOCAzLjU4OSA4IDgtMy41ODkgOC04IDh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCAzNzZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCA0MTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0NCA0NTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Nae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NzMuNTc0IDI1Mi40MzJoLTczLjE4NHYtNDMuNzYxYzAtMTEuNDczLTkuMzM0LTIwLjgwNy0yMC44MDctMjAuODA3LTkuODg2IDAtMzQuMjk1IDAtNDQuMzAyIDB2LTE3Ljg0MWMwLTEyLjM5OS0xMC4wODctMjIuNDg2LTIyLjQ4Ni0yMi40ODZoLTE3LjU5NWwxNC43MjQtNDcuNTM1YzE2Ljc1OS42OTIgMzAuNTM5LTEyLjc1IDMwLjUzOS0yOS4yODQgMC0xNi4xNjQtMTMuMTUxLTI5LjMxNS0yOS4zMTUtMjkuMzE1LTI5LjI2OCAwLTQwLjQ1NSAzOC41MS0xNS41NDEgNTQuMTU0bC0xNi4xMDEgNTEuOTc5aC0zMC4xMzNjLTEwLjU3NiAwLTE5LjgzMSA3LjUxNC0yMi4wMDYgMTcuODY2LS4xMDYuNTA3LS4xNiAxLjAyNC0uMTYgMS41NDJ2MjAuOTE5aC0zOC4xNDZ2LTE4LjgwMWMwLTguNjczLTcuMDU3LTE1LjczLTE1LjczLTE1LjczaC0xLjM3OXYtMTkuNTcyYzkuNDY5LS4yMDMgMTcuMTEzLTcuOTUzIDE3LjExMy0xNy40N3YtMTUuNjE2YzAtOS41MTctNy42NDQtMTcuMjY3LTE3LjExMy0xNy40N3YtNDMuNjk5YzAtMjEuNjk1LTE3LjY1LTM5LjM0Ni0zOS4zNDYtMzkuMzQ2aC01MS42NzdjLTQuMTQgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NXMzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg1MS42NzhjMTMuNDI5IDAgMjQuMzU1IDEwLjkyNiAyNC4zNTUgMjQuMzU1djQzLjY4MmgtMzcuOTU3di0yMi41ODRjMC00LjE0LTMuMzU2LTcuNDk1LTcuNDk1LTcuNDk1aC05Ni4ydi0zNy45NTdoMzUuNjM4YzQuMTQgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NXMtMy4zNTUtNy40OTUtNy40OTUtNy40OTVoLTQzLjEzM2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djUyLjk0N2MwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoOTYuMnYxNS4xMDljLTkuNDY4LjIwMy0xNy4xMTIgNy45NTQtMTcuMTEyIDE3LjQ3djE1LjYxNmMwIDkuNTE2IDcuNjQ0IDE3LjI2NyAxNy4xMTIgMTcuNDd2MTkuNTcyaC0xLjM3OWMtOC42NzMgMC0xNS43MyA3LjA1Ny0xNS43MyAxNS43M3YxOC44MDFoLTIyLjU1NWMtMTEuNDczIDAtMjAuODA3IDkuMzM0LTIwLjgwNyAyMC44MDd2Mi40ODlsLTMzLjQwMiA3LjU4OWMtMy40MTMuNzc1LTUuODM1IDMuODA5LTUuODM1IDcuMzA5djEwNy4yNDNjMCAzLjQ5OSAyLjQyMSA2LjUzMyA1LjgzMyA3LjMwOGwzMy40MDQgNy41OTh2Mi40ODdjMCAxMS40NzMgOS4zMzQgMjAuODA3IDIwLjgwNyAyMC44MDdoNi40MjR2MjcuNzk5aC0xNS4xMjdjLTQuMTQgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NSAwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoMzMzLjg0OWMxLjM3OCAwIDIuNDk4IDEuMTIxIDIuNDk4IDIuNDk4djI1LjUyYy0xNS44MzYtMi44My0zMi40MTguMTAzLTQ2LjcwNyA4LjgxMS0xNi43NTQgMTAuMjExLTM3LjU3IDEwLjIxMi01NC4zMjQgMC0yMS41NjctMTMuMTQ0LTQ4LjM2MS0xMy4xNDUtNjkuOTI4IDAtMTYuNzU0IDEwLjIxMS0zNy41NyAxMC4yMTItNTQuMzI0IDAtMjEuNTY3LTEzLjE0NC00OC4zNjEtMTMuMTQ1LTY5LjkyOCAwLTE2Ljc1NCAxMC4yMTItMzcuNTcgMTAuMjEyLTU0LjMyNCAwbC0yNy40NjktMTYuNzQydi0yMC4wODdoMTAuNjc2YzQuMTQgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NXMtMy4zNTYtNy40OTUtNy40OTUtNy40OTVoLTE4LjE3MmMtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djk3LjU0OWMwIDQuMTM5IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDQ5Ny4wMDljNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1IDAtODguNTA2IDAtMTE4LjAwOSAwLTIxMy40ODcuMDAxLTIxLjE4OC0xNy4yMzctMzguNDI2LTM4LjQyNS0zOC40MjZ6bS0xNjIuNDI1LTE5Ni4wMzdjNy44OTggMCAxNC4zMjUgNi40MjYgMTQuMzI1IDE0LjMyNHMtNi40MjYgMTQuMzI1LTE0LjMyNSAxNC4zMjVjLTcuODk4IDAtMTQuMzI0LTYuNDI2LTE0LjMyNC0xNC4zMjVzNi40MjYtMTQuMzI0IDE0LjMyNC0xNC4zMjR6bS0yNjcuNjA0IDI3Ni40NC0yNC4yNDctNS41MTV2LTk1LjI3N2wyNC4yNDctNS41MDl6bTE5OC42NTMtMTY0Ljk3NGMuOTQ3LTMuMTI1IDMuODY3LTUuMzMzIDcuMTc2LTUuMzMzaDYzLjQyYzQuMTMzIDAgNy40OTUgMy4zNjIgNy40OTUgNy40OTV2MTcuODQxaC03OC4wOTF6bS0xNDAuMzA1LTUxLjU2OXYtMTUuNjE2YzAtMS4zNzggMS4xMjEtMi40OTggMi40OTgtMi40OThoNjcuMTg1YzEuMzc4IDAgMi40OTggMS4xMjEgMi40OTggMi40OTh2MTUuNjE2YzAgMS4zNzgtMS4xMjEgMi40OTgtMi40OTggMi40OThoLTY3LjE4NWMtMS4zNzcuMDAxLTIuNDk4LTEuMTItMi40OTgtMi40OTh6bTU1LjA2OSAxNy40ODl2MTkuNTUzaC0zNy45NTd2LTE5LjU1M3ptLTU1LjA2NiAzNS4yODNjMC0uNDA3LjMzMi0uNzM5LjczOS0uNzM5aDcwLjY5NmMuNDA3IDAgLjczOS4zMzIuNzM5LjczOXYxOC44MDFoLTcyLjE3NXYtMTguODAxem0tLjAwMyAzMy43OTFoMjQwLjE0OHYxNTMuNjU2aC0yNDAuMTQ4em0tMzcuNTQyIDE1My42NTZjLTMuMjA3IDAtNS44MTYtMi42MDktNS44MTYtNS44MTZ2LTE0Mi4wMjNjMC0zLjIwNyAyLjYwOS01LjgxNiA1LjgxNi01LjgxNmgyMi41NTF2MTUzLjY1NmMtNS4yMTEtLjAwMS0xNy40ODgtLjAwMS0yMi41NTEtLjAwMXptMjk5LjM3MiA0Mi43OWgtMjc3Ljk1N3YtMjcuNzk5aDI3Ny45NTZ2MjcuNzk5em03LjQ5NS00Mi43OTRjLS4wMjkgMC0uMDU4LjAwNC0uMDg3LjAwNGgtMTQuMDk5di0xNTMuNjU2aDIyLjU1MWMzLjIwNyAwIDUuODE2IDIuNjA5IDUuODE2IDUuODE2djE0Mi4wMjRjMCAzLjIwNy0yLjYwOSA1LjgxNi01LjgxNiA1LjgxNmgtOC4yNzhjLS4wMjkgMC0uMDU4LS4wMDQtLjA4Ny0uMDA0em0xMjUuNzkxIDE0MC4zNDNjLTkuMzc5IDAtNDcxLjEwNyAwLTQ4Mi4wMTkgMHYtNDQuOTE2bDE5LjY2NyAxMS45ODdjMjEuNTY3IDEzLjE0NSA0OC4zNjEgMTMuMTQ1IDY5LjkyOCAwIDE2Ljc1NC0xMC4yMTEgMzcuNTctMTAuMjEyIDU0LjMyNCAwIDIxLjU2OCAxMy4xNDUgNDguMzYxIDEzLjE0NSA2OS45MjggMCAxNi43NTQtMTAuMjExIDM3LjU3LTEwLjIxMiA1NC4zMjQgMCAyMS41NjggMTMuMTQ1IDQ4LjM2MSAxMy4xNDUgNjkuOTI4IDAgMTcuMDk3LTEwLjQyMSAzNy45NDEtOS45ODYgNTQuMzI0IDAgMjEuNTY3IDEzLjE0NCA0OC4zNjIgMTMuMTQ0IDY5LjkyOCAwbDE5LjY2Ny0xMS45ODdjLjAwMSAxMC41NTYuMDAxIDIyLjM4LjAwMSA0NC45MTZ6bTAtNjIuNDcyYy0yOS43ODkgMTguMTU2LTMwLjM1MyAxOC44MzYtMzYuNTI3IDIxLjEzMnYtNDQuMjU3YzAtNC4xMzktMy4zNTYtNy40OTUtNy40OTUtNy40OTVzLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1djQ3LjQyN2MtMTkuNDcyIDEuMTcyLTI4Ljk4NC03LjY4OC0zOC41MDYtMTEuODM2di0zMC4wNTRjMC05LjY0My03Ljg0Ni0xNy40ODktMTcuNDg5LTE3LjQ4OWgtMTAuNzgzdi0yNy43OTljMTMuMzQyIDAgMjEuNjc2LTEwLjA0OSAyMS42NzYtMjAuODA3di0zMS43NTVoNDUuMTAydjYyLjMzMWMwIDQuMTM5IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1czcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1di02OS44MjZjMC00LjEzOS0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NWgtNTIuNTk3di0zNi41MjdoNzMuMTg0YzEyLjkyMyAwIDIzLjQzNiAxMC41MTMgMjMuNDM2IDIzLjQzNXYxNDMuNTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxMS4wMjQgMjI3LjE1M2gtNzkuNzI2Yy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTAuMDdjMCA0LjE0IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDc5LjcyNmM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTkwLjA3Yy4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6bS03LjQ5NSA5MC4wN2gtNjQuNzM1di03NS4wNzloNjQuNzM1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTIuNjM1IDI0MC45N2gtNjQuNTA1Yy00LjEzOSAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1IDAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg2NC41MDVjNC4xMzkgMCA3LjQ5NS0zLjM1NiA3LjQ5NS03LjQ5NS4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMxMi42MzUgMjcyLjE4OGgtNjQuNTA1Yy00LjEzOSAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1czMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDY0LjUwNWM0LjEzOSAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1NS03LjQ5NS03LjQ5NS03LjQ5NXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAzMDMuNDA2aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjEuODk5IDI4Ny4xNzloNy41NDhsLTIuOTA0IDcuNDMyYy0xLjUwNyAzLjg1NS4zOTcgOC4yMDIgNC4yNTMgOS43MDkuODk2LjM1IDEuODE5LjUxNiAyLjcyNi41MTYgMi45OTcgMCA1LjgyNi0xLjgwOSA2Ljk4My00Ljc2OWw2LjktMTcuNjU1Yy45MDItMi4zMDcuNjA2LTQuOTEtLjc5MS02Ljk1NXMtMy43MTMtMy4yNjgtNi4xOS0zLjI2OGgtNy41NDhsMi45MDQtNy40MzJjMS41MDctMy44NTUtLjM5Ny04LjIwMi00LjI1My05LjcwOS0zLjg1NS0xLjUwOS04LjIwMy4zOTYtOS43MDkgNC4yNTNsLTYuOSAxNy42NTVjLS45MDIgMi4zMDctLjYwNiA0LjkxLjc5MSA2Ljk1NSAxLjM5NiAyLjA0NCAzLjcxMyAzLjI2OCA2LjE5IDMuMjY4eiIvPgogICAgPC9nPgo8L3N2Zz4=",lae="PHN2ZyB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTk0LjcyNyA3My43MDhhNi43NSA2Ljc1IDAgMSAwIDYuNzUgNi43NSA2Ljc1NiA2Ljc1NiAwIDAgMCAtNi43NS02Ljc1em0wIDEwYTMuMjUgMy4yNSAwIDEgMSAzLjI1LTMuMjUgMy4yNTQgMy4yNTQgMCAwIDEgLTMuMjUgMy4yNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNzMuMDgxIDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU3IDYuNzU3IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjY0Ljk2NiIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9Ijc3LjU5MSIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjkwLjIxNiIgY3k9IjQ4LjAyMSIgcj0iMyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjEwMi44NDEiIGN5PSI0OC4wMjEiIHI9IjMiLz4KICAgICAgICA8cGF0aCBkPSJtMTIxLjUgMzMuNWgtMTE1YTEuNzUxIDEuNzUxIDAgMCAwIC0xLjc1IDEuNzV2NTcuNWExLjc1MSAxLjc1MSAwIDAgMCAxLjc1IDEuNzVoMTUuOTQydjguMjVhMS43NTEgMS43NTEgMCAwIDAgMS43NSAxLjc1aDEwYTEuNzUgMS43NSAwIDAgMCAxLjc1LTEuNzV2LTguMjVoNTYuMTE2djguMjVhMS43NSAxLjc1IDAgMCAwIDEuNzUgMS43NWgxMGExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTguMjVoMTUuOTQyYTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUtMS43NXYtNTcuNWExLjc1MSAxLjc1MSAwIDAgMCAtMS43NS0xLjc1em0tODkuMDU4IDY3LjVoLTYuNXYtNi41aDYuNXptNjkuNjE2IDBoLTYuNXYtNi41aDYuNXptMTcuNjkyLTEwaC0xMTEuNXYtNTRoMTExLjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA3NC4yNWExMC4yNSAxMC4yNSAwIDEgMCAtMTAuMjUtMTAuMjUgMTAuMjYxIDEwLjI2MSAwIDAgMCAxMC4yNSAxMC4yNXptLTEuNzUtMTYuNzYydjQuMDEyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtNC4wMTJhNi43NSA2Ljc1IDAgMSAxIC0zLjUgMHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIuNjkyIDQ5Ljk1OGExLjc0OSAxLjc0OSAwIDAgMCAxLjc1LTEuNzV2LTNhMS43NSAxLjc1IDAgMCAwIC0zLjUgMHYzYTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM4Ljc5MiA1MS4zNTNhMS43NSAxLjc1IDAgMCAwIDIuMzM3LS44MTZsMS4zLTIuN2ExLjc1IDEuNzUgMCAwIDAgLTMuMTUyLTEuNTJsLTEuMyAyLjdhMS43NSAxLjc1IDAgMCAwIC44MTUgMi4zMzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1LjA1MiA1NS45MTlhMS43NDggMS43NDggMCAwIDAgMS4wODgtLjM4bDIuMzQ4LTEuODY4YTEuNzUgMS43NSAwIDAgMCAtMi4xNzktMi43MzlsLTIuMzQ4IDEuODY4YTEuNzUgMS43NSAwIDAgMCAxLjA5MSAzLjEyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNC4yNTYgNTAuNTM3YTEuNzUgMS43NSAwIDEgMCAzLjE1Mi0xLjUyMWwtMS4zLTIuN2ExLjc1IDEuNzUgMCAwIDAgLTMuMTUyIDEuNTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2LjkgNTMuNjcxIDIuMzQ5IDEuODY4YTEuNzUgMS43NSAwIDAgMCAyLjE3OC0yLjc0bC0yLjM0OC0xLjg2N2ExLjc1IDEuNzUgMCAxIDAgLTIuMTc5IDIuNzM5eiIvPgogICAgICAgIDxwYXRoIGQ9Im01OC44MDggNzAuMjkyaDUwLjE5MmExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTEwYTEuNzUgMS43NSAwIDAgMCAtMS43NS0xLjc1aC01MC4xOTJhMS43NDkgMS43NDkgMCAwIDAgLTEuNzUgMS43NXYxMGExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1em0xLjc1LTEwaDQ2LjY5MnY2LjVoLTQ2LjY5MnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYuMTM1IDg3LjIwOGgzMy4xMTVhMS43NSAxLjc1IDAgMCAwIDAtMy41aC0zMy4xMTVhMS43NSAxLjc1IDAgMCAwIDAgMy41eiIvPgogICAgPC9nPgo8L3N2Zz4=",Lae="PHN2ZyBoZWlnaHQ9IjYwMHB0IiB2aWV3Qm94PSItNDUgLTE5IDYwMCA2MDAuMDAxIiB3aWR0aD0iNjAwcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTguMjE0ODQ0IDBoLTUwLjk3NjU2M2MtMTguMTk1MzEyLjAyNzM0MzgtMzIuOTMzNTkzIDE0Ljc2OTUzMS0zMi45NjQ4NDMgMzIuOTY0ODQ0djI0Ljg3MTA5NGgtMTQ0LjgyNDIxOWMtNjEuNDM3NS4wOTM3NS0xMTIuMjUzOTA3IDQ3Ljg3MTA5My0xMTYuMTMyODEzIDEwOS4xODc1aC0zOS4wNjY0MDZjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40Njg3NS05Ljk4ODI4MSA5Ljk4ODI4MXYzMC41MTE3MTloLTEwLjI4NTE1N2MtMy43MDcwMzEgMC03LjEwNTQ2OCAyLjA0Njg3NC04LjgzNTkzNyA1LjMyODEyNGwtODUuNzY5NTMxIDE2Mi41NTQ2ODhjLTEuNjM2NzE5IDMuMDk3NjU2LTEuNTMxMjUgNi44MjQyMTkuMjc3MzQ0IDkuODI0MjE5IDEuODA4NTkzIDMgNS4wNTA3ODEgNC44MjgxMjUgOC41NTQ2ODcgNC44MjgxMjVoMTA4LjEyMTA5NGMuMTc1NzgxIDMuOTU3MDMxLjY3NTc4MSA3Ljg4NjcxOCAxLjQ5NjA5MyAxMS43NjE3MTggNy41NzAzMTMgMzUuMDU0Njg4IDM4LjU1ODU5NCA2MC4wOTM3NSA3NC40MjU3ODIgNjAuMTI1IDM1Ljg3MTA5NC4wMzUxNTcgNjYuOTAyMzQ0LTI0Ljk0OTIxOCA3NC41MzUxNTYtNTkuOTk2MDkzLjg0Mzc1LTMuOTEwMTU3IDEuMzY3MTg4LTcuODkwNjI1IDEuNTUwNzgxLTExLjg5NDUzMWgxMDguMTM2NzE5YzMuNSAwIDYuNzUtMS44MzIwMzIgOC41NTQ2ODgtNC44MzIwMzIgMS44MDg1OTMtMyAxLjkxNzk2OC02LjcyNjU2Mi4yNzczNDMtOS44MjAzMTJsLTg1Ljc2OTUzMS0xNjIuNTQ2ODc1Yy0xLjczMDQ2OS0zLjI4OTA2My01LjE0NDUzMS01LjMzOTg0NC04Ljg1OTM3NS01LjMzMjAzMWgtMTAuMjYxNzE5di0zMC41MTE3MTljMC01LjUxOTUzMS00LjQ3MjY1Ni05Ljk4ODI4MS05Ljk4ODI4MS05Ljk4ODI4MWgtNDQuNTM1MTU2YzIuMTQwNjI1LTIyLjQ3MjY1NyAyMC45ODgyODEtMzkuNjQ0NTMyIDQzLjU2MjUtMzkuNjk5MjE5aDE0NC44MDQ2ODd2MjguMTYwMTU2Yy4wMzUxNTYgMTguMTkxNDA2IDE0Ljc3NzM0NCAzMi45MzM1OTQgMzIuOTY4NzUgMzIuOTYwOTM3aDUwLjk4MDQ2OWM1LjUxNTYyNSAwIDkuOTg4MjgxLTQuNDY0ODQzIDkuOTg4MjgxLTkuOTg4Mjgxdi0xNjguNDY4NzVjMC01LjUxMTcxOS00LjQ2NDg0NC05Ljk4MDQ2ODUtOS45NzY1NjItOS45ODgyODF6bS0yNTAuOTE3OTY5IDM5Ny42MzI4MTJjLTUuNTY2NDA2IDI1LjkzMzU5NC0yOC41MDc4MTMgNDQuNDUzMTI2LTU1LjAzMTI1IDQ0LjQyMTg3Ni0yNi41MzEyNS0uMDI3MzQ0LTQ5LjQyNTc4MS0xOC41OTc2NTctNTQuOTMzNTk0LTQ0LjU0Njg3Ni0uNTU0Njg3LTIuNDUzMTI0LS45MjU3ODEtNC45NDkyMTgtMS4xMjEwOTMtNy40NTMxMjRoMTEyLjIzNDM3NGMtLjE5OTIxOCAyLjU1MDc4MS0uNTg1OTM3IDUuMDgyMDMxLTEuMTQ4NDM3IDcuNTc4MTI0em0xMTIuNjA1NDY5LTI3LjU3NDIxOGgtMTAxLjM5NDUzMmMtLjA2NjQwNiAwLS4xMzY3MTggMC0uMjAzMTI0IDBoLTEzMS45NjA5MzhjLS4wNzAzMTIgMC0uMTM2NzE5IDAtLjIwNzAzMSAwaC0xMDEuMzk0NTMxbDc1LjI1MzkwNi0xNDIuNTU0Njg4aDE4NC42ODM1OTR6bS05OS40NzI2NTYtMTYyLjUzNTE1NmgtMTM2LjE5MTQwN3YtMjAuNTE5NTMyaDEzNi4xOTE0MDd6bTguOTk2MDkzLTEwMC4xODM1OTRjLTMzLjUzNTE1Ni4yNzM0MzctNjEuMjQ2MDkzIDI2LjIzODI4MS02My42OTUzMTIgNTkuNjgzNTk0aC0zMi40MzM1OTRjMy44NDc2NTYtNTAuMjczNDM4IDQ1LjczMDQ2OS04OS4xMjUgOTYuMTUyMzQ0LTg5LjE4NzVoMTQ0LjgwNDY4N3YyOS41MDM5MDZ6bTIxOC43Njk1MzEgNjEuMTQwNjI1aC00MC45ODQzNzRjLTcuMTY3OTY5LS4wMTk1MzEtMTIuOTcyNjU3LTUuODI0MjE5LTEyLjk5MjE4OC0xMi45ODgyODF2LTEyMi41MDc4MTNjLjAxOTUzMS03LjE2MDE1NiA1LjgyNDIxOS0xMi45NjQ4NDQgMTIuOTkyMTg4LTEyLjk4NDM3NWg0MC45ODQzNzR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im05MC41MTU2MjUgNDE1Ljk5MjE4OGMwLTUuNTE1NjI2LTQuNDcyNjU2LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4MjgyaC02MS4zOTg0MzhjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40NzI2NTYtOS45ODgyODEgOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NiA5Ljk5MjE4NyA5Ljk4ODI4MSA5Ljk5MjE4N2g2MS4zOTg0MzhjNS41MTU2MjUgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTExNy41MzkwNjIgNDcyLjY3MTg3NS00MC4wNzAzMTIgMzcuNzQ2MDk0Yy0yLjY0MDYyNSAyLjQzMzU5My0zLjc3MzQzOCA2LjEwMTU2Mi0yLjk1NzAzMSA5LjU5NzY1Ni44MTI1IDMuNTAzOTA2IDMuNDQxNDA2IDYuMjk2ODc1IDYuODg2NzE5IDcuMzE2NDA2IDMuNDQ1MzEyIDEuMDIzNDM4IDcuMTc1NzgxLjExNzE4OCA5Ljc2NTYyNC0yLjM3NWw0MC4wNzAzMTMtMzcuNzM4MjgxYzIuNjQwNjI1LTIuNDMzNTk0IDMuNzY5NTMxLTYuMTAxNTYyIDIuOTU3MDMxLTkuNjA1NDY5LS44MTY0MDYtMy40OTYwOTMtMy40NDUzMTItNi4yOTI5NjktNi44ODY3MTgtNy4zMTY0MDYtMy40NDkyMTktMS4wMTk1MzEtNy4xNzU3ODItLjExMzI4MS05Ljc2NTYyNiAyLjM3NXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM2NS41NDY4NzUgNDA2LjAwMzkwNmgtNjEuMzkwNjI1Yy01LjUxOTUzMSAwLTkuOTkyMTg4IDQuNDcyNjU2LTkuOTkyMTg4IDkuOTg4MjgyIDAgNS41MTk1MzEgNC40NzI2NTcgOS45OTIxODcgOS45OTIxODggOS45OTIxODdoNjEuMzkwNjI1YzUuNTE5NTMxIDAgOS45ODgyODEtNC40NzI2NTYgOS45ODgyODEtOS45OTIxODcgMC01LjUxNTYyNi00LjQ2ODc1LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4Mjgyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY3LjA0Njg3NSA0NzIuNjcxODc1Yy0yLjU4OTg0NC0yLjQ4ODI4MS02LjMxNjQwNi0zLjM5NDUzMS05Ljc2NTYyNS0yLjM3NS0zLjQ0NTMxMiAxLjAyMzQzNy02LjA3NDIxOSAzLjgyMDMxMy02Ljg4NjcxOSA3LjMxNjQwNi0uODE2NDA2IDMuNTAzOTA3LjMxNjQwNyA3LjE3MTg3NSAyLjk1MzEyNSA5LjYwNTQ2OWw0MC4wNjI1IDM3LjcyMjY1NmMyLjU4OTg0NCAyLjQ5MjE4OCA2LjMxNjQwNiAzLjQwMjM0NCA5Ljc2NTYyNSAyLjM3NSAzLjQ0MTQwNy0xLjAxOTUzMSA2LjA3MDMxMy0zLjgxMjUgNi44ODY3MTktNy4zMTY0MDYuODEyNS0zLjQ5NjA5NC0uMzE2NDA2LTcuMTY0MDYyLTIuOTU3MDMxLTkuNjAxNTYyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTkyLjI3MzQzOCA0OTAuOTMzNTk0Yy01LjUxNTYyNiAwLTkuOTg4MjgyIDQuNDcyNjU2LTkuOTg4MjgyIDkuOTkyMTg3djUwLjg0NzY1N2MwIC4yNDYwOTMtLjAyMzQzNy41MDM5MDYtLjAyMzQzNy43MzgyODEgMCA1LjUxNTYyNSA0LjQ3MjY1NiA5Ljk4ODI4MSA5Ljk4ODI4MSA5Ljk4ODI4MS40MjU3ODEtLjAwMzkwNi44NTU0NjktLjAyNzM0NCAxLjI3NzM0NC0uMDg1OTM4IDQuOTkyMTg3LS42Mjg5MDYgOC43MzgyODEtNC44Nzg5MDYgOC43MzgyODEtOS45MDYyNXYtNTEuNTgyMDMxYzAtNS41MTk1MzEtNC40NzI2NTYtOS45OTIxODctOS45OTIxODctOS45OTIxODd6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",jae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NzguNTExLDg4LjYyMkM0MDMuNjk0LDY5LjIyMywzMjguNDM3LDM5LjAxNywyNjAuODc4LDEuMjY5Yy0zLjAzLTEuNjkyLTYuNzIzLTEuNjkzLTkuNzU1LDAKCQkJQzE4MS42MjEsNDAuMDk5LDExMC40MzIsNjguNjcyLDMzLjQ4OSw4OC42MjNjLTQuNDEsMS4xNDQtNy40OSw1LjEyNC03LjQ5LDkuNjh2MTEwLjM5NGMwLDExMy41MzUsNTUuMjkyLDE4OC42MzksMTAxLjY3OCwyMzEuNjUKCQkJYzQ5Ljc1Nyw0Ni4xMzgsMTA3LjQ2LDcxLjY1NSwxMjguMzI0LDcxLjY1NWMyMC44NjQsMCw3OC41NjctMjUuNTE3LDEyOC4zMjQtNzEuNjU1CgkJCWM0Ni4zODQtNDMuMDExLDEwMS42NzgtMTE4LjExNCwxMDEuNjc4LTIzMS42NVY5OC4zMDJDNDg2LjAwMiw5My43NDYsNDgyLjkyMiw4OS43NjYsNDc4LjUxMSw4OC42MjJ6IE0zNzAuNzI2LDQyNS42NzgKCQkJYy0yNy41NTcsMjUuNTUzLTU0LjMzNiw0MS42ODUtNzEuOTUsNTAuNzE4Yy0yMi4zMTksMTEuNDQ3LTM3LjgxLDE1LjYwMy00Mi43NzYsMTUuNjAzYy00Ljk2NiwwLTIwLjQ1Ni00LjE1NS00Mi43NzYtMTUuNjAzCgkJCWMtMTcuNjEyLTkuMDMzLTQ0LjM5Mi0yNS4xNjUtNzEuOTUtNTAuNzE4Yy00My40NjQtNDAuMzAzLTk1LjI3Ni0xMTAuNjYzLTk1LjI3Ni0yMTYuOTgzVjEwNi4wMDgKCQkJYzczLjk2NC0xOS44LDE0Mi44MDEtNDcuNTIzLDIxMC4wMDMtODQuNTc0YzY1LjQ5OCwzNi4wNTksMTM3LjgyNyw2NS4xODUsMjEwLDg0LjU3MXYxMDIuNjloMC4wMDEKCQkJQzQ2Ni4wMDEsMzE1LjAxNSw0MTQuMTksMzg1LjM3NSwzNzAuNzI2LDQyNS42Nzh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ0My43OTMsMTE1LjM2OGMtNjMuMzM2LTE4LjQxMy0xMjQuOTM2LTQzLjQyNC0xODMuMDg3LTc0LjMzN2MtMi45MzgtMS41NjMtNi40NjEtMS41Ni05LjM5NywwLjAwNgoJCQlDMTkzLjA2OSw3Mi4wNzksMTMxLjQ3LDk3LjA5NCw2OC4yMiwxMTUuMzg3Yy00LjI3NywxLjIzNy03LjIyMiw1LjE1My03LjIyMiw5LjYwNnY4My43MDJjMCwzOS4wNzcsNy40MDUsNzYuMTYxLDIyLjAwOCwxMTAuMjIyCgkJCWMxNC41MywzMy44OTEsMzYuMjAxLDY0LjgyLDY0LjQwOSw5MS45MzNjMjAuMTc1LDE5LjM5LDQzLjQ2OSwzNi40NzcsNjcuMzY3LDQ5LjQxM2M0LjI4MiwyLjMxOCwyNi4zMDUsMTQuMDAzLDM5LjQwMiwxNi40MjEKCQkJYzAuNiwwLjExLDEuMjA3LDAuMTY2LDEuODE1LDAuMTY2YzAuNjA4LDAsMS4yMTUtMC4wNTYsMS44MTUtMC4xNjZjMTMuMDk3LTIuNDE4LDM1LjEyLTE0LjEwMywzOS40MDItMTYuNDIxCgkJCWMyMy44OTUtMTIuOTM2LDQ3LjE5LTMwLjAyMyw2Ny4zNjctNDkuNDEzYzI4LjIwOC0yNy4xMTEsNDkuODc4LTU4LjA0MSw2NC40MDktOTEuOTMzYzE0LjYwMy0zNC4wNiwyMi4wMDgtNzEuMTQ0LDIyLjAwOC0xMTAuMjIyCgkJCXYtODMuNzI0QzQ1MS4wMDEsMTIwLjUyNCw0NDguMDYzLDExNi42MTEsNDQzLjc5MywxMTUuMzY4eiBNNDMxLjAwMSwyMDguNjk1YzAsNzMuMzc2LTI3LjAwOCwxMzYuNTM4LTgwLjI3NiwxODcuNzM0CgkJCWMtMTguODk4LDE4LjE2Mi00MC42OTMsMzQuMTUzLTYzLjAyOSw0Ni4yNDVjLTEwLjE2Nyw1LjUwMy0yMy44OTIsMTEuOTE5LTMxLjY5NywxMy45MzRjLTcuODA1LTIuMDE1LTIxLjUzLTguNDMxLTMxLjY5Ni0xMy45MzQKCQkJYy0yMi4zMzctMTIuMDkzLTQ0LjEzMi0yOC4wODQtNjMuMDI5LTQ2LjI0NWMtNTMuMjY3LTUxLjE5NS04MC4yNzYtMTE0LjM1OS04MC4yNzYtMTg3LjczNFYxMzIuNDgKCQkJYzYwLjM1NC0xNy45NjksMTE5LjE3Mi00MS45MzEsMTc1LjAxOS03MS4zMDZjNTUuNzU3LDI5LjI1MSwxMTQuNTY5LDUzLjIwNCwxNzQuOTgzLDcxLjI3NFYyMDguNjk1eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNzMuMDI3LDM1OC4zMDVsLTAuMi0wLjIxNWMtMy43MDEtNC4wNTUtOS45ODctNC4zNjctMTQuMDczLTAuNjg5Yy00LjEwNSwzLjY5NC00LjQzOCwxMC4wMTctMC43NDQsMTQuMTIybDAuMiwwLjIxNQoJCQljMS45NzEsMi4xNTgsNC42NzMsMy4yNTYsNy4zODcsMy4yNTZjMi4zODMsMCw0Ljc3NS0wLjg0OCw2LjY4Ni0yLjU2N0MxNzYuMzg4LDM2OC43MzMsMTc2LjcyMSwzNjIuNDA5LDE3My4wMjcsMzU4LjMwNXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjI2Ljk2Myw0MDMuNjk1Yy0xMi4wNDYtNy42MDItMjMuNjQ1LTE2LjM2NC0zNC40NzMtMjYuMDQ0Yy00LjExNy0zLjY4Mi0xMC40MzktMy4zMjctMTQuMTIsMC43OQoJCQljLTMuNjgsNC4xMTgtMy4zMjYsMTAuNDM5LDAuNzkyLDE0LjEyYzExLjY1MywxMC40MTgsMjQuMTQ1LDE5Ljg1NCwzNy4xMjksMjguMDQ4YzEuNjU3LDEuMDQ1LDMuNTAyLDEuNTQ0LDUuMzI3LDEuNTQ0CgkJCWMzLjMxOCwwLDYuNTY0LTEuNjUsOC40NjYtNC42NjRDMjMzLjAzMiw0MTIuODE4LDIzMS42MzUsNDA2LjY0MiwyMjYuOTYzLDQwMy42OTV6Ii8+CiAgICAgICAgPHBhdGggZD0iTTMwOC44OTgsMjA5LjA3N3YtMzIuOTIxYzAtMjkuMTY4LTIzLjczLTUyLjg5OC01Mi45LTUyLjg5OGMtMjkuMTY4LDAtNTIuODk4LDIzLjczLTUyLjg5OCw1Mi44OTh2MzIuOTIxCgkJCWMtMTEuODk4LDAuNDI5LTIxLjQ0NywxMC4yMzUtMjEuNDQ3LDIyLjIzNnY3Ni43NjljLTAuMDAxLDEyLjI3Myw5Ljk4NCwyMi4yNTcsMjIuMjU3LDIyLjI1N0gzMDguMDkKCQkJYzEyLjI3MywwLDIyLjI1OC05Ljk4NCwyMi4yNTgtMjIuMjU3di03Ni43NjlDMzMwLjM0OCwyMTkuMzExLDMyMC43OTgsMjA5LjUwNCwzMDguODk4LDIwOS4wNzd6IE0yMjMuMDk5LDE3Ni4xNTYKCQkJYzAtMTguMTQsMTQuNzU5LTMyLjg5OCwzMi45LTMyLjg5OGMxOC4xNCwwLDMyLjg5OCwxNC43NTgsMzIuODk4LDMyLjg5OHYzMi45aC02NS43OTlWMTc2LjE1NnogTTMxMC4zNDcsMzA4LjA4MwoJCQljMCwxLjIyNC0xLjAzNCwyLjI1Ny0yLjI1OCwyLjI1N0gyMDMuOTA4Yy0xLjIyNCwwLTIuMjU4LTEuMDMzLTIuMjU4LTIuMjU3di03Ni43NjloMC4wMDFjMC0xLjIyNCwxLjAzNC0yLjI1NywyLjI1OC0yLjI1N2g5LjE4OQoJCQloODUuNzk5aDkuMTkyYzEuMjI0LDAsMi4yNTgsMS4wMzMsMi4yNTgsMi4yNTdWMzA4LjA4M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI0OS42NGMtNy43MDEsMC0xMy45ODIsNi4yODEtMTMuOTgyLDEzLjk4MmMwLDMuNzg2LDEuNTIzLDcuMjI1LDMuOTgyLDkuNzQ2djkuNzg3YzAsNS41MjIsNC40NzcsMTAsMTAsMTAKCQkJYzUuNTIzLDAsMTAtNC40NzgsMTAtMTB2LTkuNzg3YzIuNDU5LTIuNTIyLDMuOTgyLTUuOTYsMy45ODItOS43NDZDMjY5Ljk4MiwyNTUuOTIxLDI2My43MDEsMjQ5LjY0LDI1NiwyNDkuNjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",gae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDk2Ljg4MjgxMiAwaC00ODEuNzY1NjI0Yy04LjM0NzY1NyAwLTE1LjExNzE4OCA2Ljc2OTUzMS0xNS4xMTcxODggMTUuMTE3MTg4djQ4MS43NjU2MjRjMCA4LjM0NzY1NyA2Ljc2OTUzMSAxNS4xMTcxODggMTUuMTE3MTg4IDE1LjExNzE4OGg0ODEuNzY1NjI0YzguMzQ3NjU3IDAgMTUuMTE3MTg4LTYuNzY5NTMxIDE1LjExNzE4OC0xNS4xMTcxODh2LTQ4MS43NjU2MjRjMC04LjM0NzY1Ny02Ljc2OTUzMS0xNS4xMTcxODgtMTUuMTE3MTg4LTE1LjExNzE4OHptLTQwNi4xNzU3ODEgNDIxLjI5Mjk2OXYtODguNjk1MzEzaDExOS4wNzQyMTl2ODguNjk1MzEzem0tNjAuNDcyNjU2LTM5MS4wNTg1OTRoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0wIDYwLjQ3MjY1Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTM1Mi44Mzk4NDQtNTguNDUzMTI1djI4LjIxODc1aC0yNTQuMTQ4NDM4di0yOC4yMTg3NXptLTI1NC4xNDg0MzggMjM5Ljg3MTA5NGgyNTQuMTUyMzQ0djMwLjIzODI4MWgtMjU0LjE1MjM0NHptMC0zMC4yMzQzNzV2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptMC02MC40NzI2NTZ2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptMC02MC40NzI2NTd2LTMwLjIzODI4MWgyNTQuMTUyMzQ0djMwLjIzODI4MXptLTk4LjY5MTQwNiAzMC4yMzQzNzZoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0wIDYwLjQ3MjY1Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMzgzLjA3ODEyNSAwaDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptNjguNDUzMTI1LTMwLjIzNDM3NWgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1NmgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1N2gtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0wLTYwLjQ3MjY1NmgtNjguNDUzMTI1di0zMC4yMzgyODFoNjguNDUzMTI1em0tMjQxLjc1IDI3Mi4xMjVoMzAuMjM4Mjgxdjg4LjY5NTMxM2gtMzAuMjM4Mjgxem02MC40NzY1NjMgMGgxMjAuODAwNzgxdjg4LjY5NTMxM2gtMTIwLjgwMDc4MXptLTI3MC4yNTc4MTMgMTQ5LjE2Nzk2OXYtMTQ5LjE2Nzk2OWgzMC4yMzgyODF2MTAzLjgxMjVjMCA4LjM0NzY1NiA2Ljc2OTUzMiAxNS4xMTcxODggMTUuMTE3MTg4IDE1LjExNzE4OGgzNjAuODIwMzEyYzguMzQ3NjU2IDAgMTUuMTE3MTg4LTYuNzY5NTMyIDE1LjExNzE4OC0xNS4xMTcxODh2LTEwMy44MTI1aDMwLjIzODI4MXYxNDkuMTY3OTY5em0wIDAiLz4KICAgIDwvZz4KPC9zdmc+",Tae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0yIDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTM0OC4yNDYwOTQgMzc2Ljc4NTE1NmMtMy4yNS0yLjYwNTQ2OC03Ljk5MjE4OC0yLjA4MjAzMS0xMC41OTc2NTYgMS4xNjQwNjNsLTI4Ljk0OTIxOSAzNi4wOTM3NWMtMy45ODQzNzUgNC45Njg3NS0uMzY3MTg4IDEyLjI1NzgxMiA1Ljg3NSAxMi4yNTc4MTIgMi4yMTA5MzcgMCA0LjM5ODQzNy0uOTY4NzUgNS44ODY3MTktMi44MjQyMTlsMjguOTQ5MjE4LTM2LjA5Mzc1YzIuNjA1NDY5LTMuMjUgMi4wODU5MzgtNy45OTIxODctMS4xNjQwNjItMTAuNTk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzkwLjM1OTM3NSAzNTguNzM4MjgxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg3LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzOCAwIDQuMzk4NDM4LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOGwyOC45NDkyMTktMzYuMDkzNzVjMi42MDU0NjgtMy4yNDYwOTQgMi4wODU5MzctNy45OTIxODgtMS4xNjQwNjMtMTAuNTk3NjU3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTExLjc1IDQyMi4wNTA3ODFjMi4xMDkzNzUgMCA0LjIwNzAzMS0uODc4OTA2IDUuNjk5MjE5LTIuNTk3NjU2bDM5LjYxMzI4MS00NS42NDQ1MzFjMi43MzA0NjktMy4xNDQ1MzIgMi4zOTQ1MzEtNy45MDYyNS0uNzUtMTAuNjMyODEzLTMuMTQ0NTMxLTIuNzMwNDY5LTcuOTEwMTU2LTIuMzk0NTMxLTEwLjYzNjcxOS43NWwtMzkuNjE3MTg3IDQ1LjY0NDUzMWMtNC4yNTM5MDYgNC45MDIzNDQtLjY5NTMxMyAxMi40ODA0NjkgNS42OTE0MDYgMTIuNDgwNDY5em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTk2LjYyMTA5NCAzNzYuNzg1MTU2Yy0zLjI1LTIuNjA1NDY4LTcuOTk2MDk0LTIuMDgyMDMxLTEwLjYwMTU2MyAxLjE2NDA2M2wtMTQuNDcyNjU2IDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5NjA5NCAxLjE2NDA2MyAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjUgOC4wMTE3MTggMi4wNjI1IDEwLjU5NzY1Ni0xLjE2NDA2MmwxNC40NzY1NjItMTguMDQ2ODc2YzIuNjA1NDY5LTMuMjUgMi4wODIwMzItNy45OTIxODctMS4xNjQwNjItMTAuNTk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDM3Ljk5MjE4OCAzOTQuODMyMDMxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NyAxLjE2NDA2M2wtMTQuNDc2NTYyIDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjYwMTU2My0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA1NDY5LTMuMjQ2MDk0IDIuMDgyMDMxLTcuOTkyMTg4LTEuMTY0MDYyLTEwLjU5NzY1N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTExNi40NzI2NTYgMzYyLjk4NDM3NWMtMy4yNS0yLjYwNTQ2OS03Ljk5MjE4Ny0yLjA4MjAzMS0xMC41OTc2NTYgMS4xNjQwNjNsLTE0LjQ3NjU2MiAxOC4wNTA3ODFjLTIuNjA1NDY5IDMuMjQ2MDkzLTIuMDgyMDMyIDcuOTkyMTg3IDEuMTY0MDYyIDEwLjU5NzY1NiAzLjI2OTUzMSAyLjYyMTA5NCA4LjAxMTcxOSAyLjA2MjUgMTAuNTk3NjU2LTEuMTY0MDYzbDE0LjQ3MjY1Ni0xOC4wNDY4NzRjMi42MDkzNzYtMy4yNSAyLjA4NTkzOC03Ljk5NjA5NC0xLjE2MDE1Ni0xMC42MDE1NjN6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im01MDQuNDYwOTM4IDBjLTE3LjI1MzkwNyAwLTQ2Ni41OTM3NSAwLTQ5Ni45MjE4NzYgMC00LjE2MDE1NiAwLTcuNTM5MDYyIDMuMzY3MTg4LTcuNTM5MDYyIDcuNTM5MDYydjQ5My44NjcxODhjMCA0LjE3MTg3NSAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MiA3LjUzOTA2Mmg0MjIuMjEwOTM4YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNjcxODcgNy41MzkwNjItNy41MzkwNjIgMC00LjE2NDA2Mi0zLjM3ODkwNi03LjU0Mjk2OS03LjUzOTA2Mi03LjU0Mjk2OWgtNDE0LjY3MTg3NXYtMTQzLjg4MjgxMmgxNC4zNjcxODd2OTAuOTU3MDMxYzAgNC4xNjQwNjIgMy4zNzUgNy41MzkwNjIgNy41MzkwNjMgNy41MzkwNjJoMTI2LjQwMjM0NGM0LjE2MDE1NiAwIDcuNTM5MDYyLTMuMzc1IDcuNTM5MDYyLTcuNTM5MDYyIDAtNC4xNjAxNTYtMy4zNzg5MDYtNy41MzkwNjItNy41MzkwNjItNy41MzkwNjJoLTExOC44NjMyODF2LTgzLjQxNzk2OWgxNC41MzkwNjJ2MjYuMTIxMDkzYzAgNC4xNjQwNjMgMy4zNzUgNy41MzkwNjMgNy41MzkwNjIgNy41MzkwNjMgNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM3NSA3LjUzOTA2My03LjUzOTA2M3YtMjYuMTIxMDkzaDE1My43MTA5Mzd2ODMuNDE3OTY5aC0zNC4zMDg1OTNjLTQuMTYwMTU3IDAtNy41MzkwNjMgMy4zNzg5MDYtNy41MzkwNjMgNy41MzkwNjIgMCA0LjE2NDA2MiAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MyA3LjUzOTA2MmgyODEuNDcyNjU2YzQuMTY0MDYzIDAgNy41MzkwNjMtMy4zNzUgNy41MzkwNjMtNy41MzkwNjJ2LTkwLjk1NzAzMWgxNC4zNjcxODd2MTQzLjg4MjgxMmgtMzcuMDE1NjI1Yy00LjE2MDE1NiAwLTcuNTM5MDYyIDMuMzc4OTA3LTcuNTM5MDYyIDcuNTQyOTY5IDAgNC4xNzE4NzUgMy4zNzg5MDYgNy41MzkwNjIgNy41MzkwNjIgNy41MzkwNjJoNDQuNTU0Njg4YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNjcxODcgNy41MzkwNjItNy41MzkwNjIgMC01My44NjMyODEgMC00MzcuNDk2MDk0IDAtNDkzLjg2NzE4OCAwLTQuMTcxODc0LTMuMzc4OTA2LTcuNTM5MDYyLTcuNTM5MDYyLTcuNTM5MDYyem0tNDQ1LjM5ODQzOCAzMzQuOTAyMzQ0Yy0xMy43MTQ4NDQgMC0zMC4wNTg1OTQgMC00My45ODQzNzUgMCAwLTkuNTUwNzgyIDAtMTYuMjU3ODEzIDAtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2Mmg0My45ODQzNzV6bTAtNDEuODcxMDk0aC00My45ODQzNzV2LTI2Ljc3NzM0M2g0My45ODQzNzV6bTAtNDEuODU5Mzc0Yy05LjcwMzEyNSAwLTMzLjkxNzk2OSAwLTQzLjk4NDM3NSAwdi0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMTUuMDc4MTI1LTI2Ljc4MTI1aDM2My43MTg3NXYyNi43ODEyNWgtMzYzLjcxODc1em0wIDgzLjcxODc1aDI4OS4zMDA3ODFjNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM2NzE4NyA3LjUzOTA2My03LjUzOTA2MyAwLTQuMTYwMTU2LTMuMzc1LTcuNTM5MDYyLTcuNTM5MDYzLTcuNTM5MDYyLTEuMjM0Mzc1IDAtMjgyLjk0MTQwNiAwLTI4OS4zMDA3ODEgMHYtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1aC00NC4yNTc4MTNjLTQuMTY0MDYyIDAtNy41MzkwNjIgMy4zNzg5MDYtNy41MzkwNjIgNy41MzkwNjIgMCA0LjE3MTg3NiAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MiA3LjUzOTA2M2g0NC4yNTc4MTN2MjYuNzg5MDYzYy0xMS42MjUgMC0zNTQuNDkyMTg3IDAtMzYzLjcxODc1IDB6bTAgNDEuODcxMDk0aDM2My43MTg3NXYyNi43NzczNDNoLTM2My43MTg3NXptMCA0MS44NTkzNzVoMzYzLjcxODc1djI2Ljc4OTA2MmgtMzYzLjcxODc1em0wIDQxLjg2NzE4N2gzNjMuNzE4NzV2MjYuNzgxMjVoLTM2My43MTg3NXptMCA0MS44NTkzNzVoMzYzLjcxODc1djI2Ljc4OTA2M2gtMzYzLjcxODc1em0wIDY4LjY0ODQzOHYtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1Yy0zNS42MTcxODcgMC0zMjYuOTUzMTI1IDAtMzYzLjcxODc1IDB6bTM5My4zMzU5MzcgOTguNDk2MDk0aC0xODMuMzI4MTI0di00MC42Njc5NjljMC00LjE2NDA2My0zLjM3NS03LjUzOTA2My03LjUzOTA2My03LjUzOTA2M3MtNy41MzkwNjMgMy4zNzUtNy41MzkwNjMgNy41MzkwNjN2NDAuNjY3OTY5aC0yNi4xNDA2MjR2LTgzLjQxNDA2M2gyNi4xNDA2MjR2MTIuNTg1OTM3YzAgNC4xNjc5NjkgMy4zNzUgNy41MzkwNjMgNy41MzkwNjMgNy41MzkwNjNzNy41MzkwNjMtMy4zNzEwOTQgNy41MzkwNjMtNy41MzkwNjN2LTEyLjU4OTg0M2gxNTMuNzEwOTM3djI2LjEyMTA5M2MwIDQuMTY0MDYzIDMuMzc1IDcuNTM5MDYzIDcuNTM5MDYzIDcuNTM5MDYzIDQuMTY0MDYyIDAgNy41MzkwNjItMy4zNzUgNy41MzkwNjItNy41MzkwNjN2LTI2LjEyMTA5M2gxNC41MzkwNjJ6bTI5LjQ0NTMxMy05OC40OTYwOTRjLTEzLjc4OTA2MyAwLTI5Ljg2NzE4NyAwLTQzLjk4NDM3NSAwdi0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYyaDQzLjk4NDM3NXptMC00MS44NzEwOTRoLTQzLjk4NDM3NXYtMjYuNzc3MzQzaDQzLjk4NDM3NXptMC00MS44NTkzNzRoLTQzLjk4NDM3NXYtMjYuNzg5MDYzaDQzLjk4NDM3NXptMC00MS44NjcxODhoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",yae="PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01Ni44MzggMWgtNDkuNjc2Yy0zLjM5OCAwLTYuMTYyIDIuNzY0LTYuMTYyIDYuMTYyIDAgLjY2NS4xMDYgMS4zMi4zMTYgMS45NDlsLjU1OCAxLjY3NmMuODQxIDIuNTIgMy4xOSA0LjIxMyA1Ljg0NyA0LjIxM2g0LjM4NGwxLjUwNiAxMy41NTJjLjI4MiAyLjUzNiAyLjQxOCA0LjQ0OCA0Ljk2OSA0LjQ0OGgyNi44NGMyLjU1MSAwIDQuNjg4LTEuOTEyIDQuOTY5LTQuNDQ4bDEuNTA2LTEzLjU1Mmg0LjM4NGMyLjY1NyAwIDUuMDA2LTEuNjkzIDUuODQ2LTQuMjE0bC41NTgtMS42NzRjLjIxMS0uNjMuMzE3LTEuMjg1LjMxNy0xLjk1IDAtMy4zOTgtMi43NjQtNi4xNjItNi4xNjItNi4xNjJ6bS0zMi44MzggMzBoLTR2LThjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptMTAgMGgtNHYtOGMwLTEuMTAzLjg5Ny0yIDItMnMyIC44OTcgMiAyem0xMCAwaC00di04YzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTQuNDAyLTIuNjY4Yy0uMTQ3IDEuMzI0LTEuMTM4IDIuMzYzLTIuNDAyIDIuNjExdi03Ljk0M2MwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY4aC0ydi04YzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0djhoLTJ2LThjMC0yLjIwNi0xLjc5NC00LTQtNHMtNCAxLjc5NC00IDR2Ny45NDJjLTEuMjY0LS4yNDgtMi4yNTQtMS4yODctMi40MDItMi42MTFsLTEuNDgxLTEzLjMzMWgzNS43NjZ6bTEyLjM4NC0xOS44NTMtLjU1OCAxLjY3NWMtLjU2NyAxLjcwMi0yLjE1NCAyLjg0Ni0zLjk0OSAyLjg0NmgtNDguNTU4Yy0xLjc5NCAwLTMuMzgxLTEuMTQ0LTMuOTQ5LTIuODQ2bC0uNTU4LTEuNjc2Yy0uMTQyLS40MjQtLjIxNC0uODY3LS4yMTQtMS4zMTYgMC0yLjI5NSAxLjg2Ny00LjE2MiA0LjE2Mi00LjE2Mmg0OS42NzZjMi4yOTUgMCA0LjE2MiAxLjg2NyA0LjE2MiA0LjE2MiAwIC40NDktLjA3Mi44OTItLjIxNCAxLjMxN3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTUgNWgtNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJoNmMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yem0tNiA0di0yaDZsLjAwMSAyeiIvPgogICAgICAgIDxwYXRoIGQ9Im01MSA1aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDcgNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDVoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NyA5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTEgOWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDloMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NCA0MHYtMWgtMWMtLjExOSAwLTEuNzk5LjA0Mi0zLjE3OSAyLjAzNS0uMDQ2LS4wNjMtLjA5Mi0uMTMxLS4xMzgtLjE5My0uOTAzLTEuMjMtMS42ODMtMi4yOTMtMS42ODMtNC44NDJ2LTFoLTFjLS4xMzkgMC0yLjg5My4wNTctNC42MjQgMy4yNzgtMi4wNTMtMy4yMjMtNS4zMjgtMy4yNzgtNS4zNzYtMy4yNzhoLTF2MWMwIDIuNTU5LS43ODQgMy42MzMtMS42OTIgNC44NzctLjA0LjA1NS0uMDguMTE0LS4xMi4xNjktMS4zODMtMi4wMDQtMy4wNjktMi4wNDYtMy4xODgtMi4wNDZoLTF2MWMwIDIuNTQzLS45OTUgMy44MzMtMi4xNDcgNS4zMjctMS4zMzcgMS43MzMtMi44NTMgMy42OTctMi44NTMgNy42NzMgMCA2LjA3NSAzLjkyNSAxMCAxMCAxMGgxNGM2LjA3NSAwIDEwLTMuOTI1IDEwLTEwIDAtMy45NzYtMS41MTYtNS45NC0yLjg1My03LjY3My0xLjE1Mi0xLjQ5NC0yLjE0Ny0yLjc4NC0yLjE0Ny01LjMyN3ptLTE5IDE3YzAtMi4zOTYgMS4zNTgtMy43MTkgMi42NzItNSAuODUxLS44MyAxLjcyNC0xLjY4IDIuMTE1LTIuNzczLjU2LjMxIDEuMjEzIDEuMDQzIDEuMjEzIDIuNzczdjNoMnYtMWMwLTEuOTg2IDEuMjM5LTIuNjYgMi4xNDctMi44ODcuMzU1IDEuMzA0IDEuMjk1IDIuMjQ0IDIuMTQ2IDMuMDk0LjkxNi45MTYgMS43MDcgMS43MDcgMS43MDcgMi43OTMgMCAxLjM4My0xLjQ2MyA0LTcgNHMtNy0yLjYxNy03LTR6bTE0IDRoLS4xMDJjMS41NjItMS4yOCAyLjEwMi0yLjg5OSAyLjEwMi00IDAtMS45MTQtMS4yMTgtMy4xMzItMi4yOTMtNC4yMDctLjkxNi0uOTE2LTEuNzA3LTEuNzA3LTEuNzA3LTIuNzkzdi0xaC0xYy0uODkyIDAtMi4xOTMuMjc4LTMuMjQ1IDEuMDg5LS42ODItMi4zOTUtMi42MjgtMy4wODktMy43NTUtMy4wODloLTF2MWMwIC44NDUtLjY1NSAxLjUyNi0xLjcyNCAyLjU2OC0xLjQ2IDEuNDIzLTMuMjc2IDMuMTkzLTMuMjc2IDYuNDMyIDAgMS4xMDEuNTQgMi43MiAyLjEwMiA0aC0uMTAyYy0zLjg2OCAwLTgtMi4xMDItOC04IDAtMy4yOTQgMS4xODMtNC44MjggMi40MzYtNi40NTIgMS4wNTUtMS4zNjcgMi4xMzktMi43NzIgMi40NjUtNS4wODQuODkxLjczOSAyLjA5OSAyLjY0MiAyLjA5OSA3LjUzNmgyYzAtMi41Ni0uMzIzLTQuNDYxLS44MDMtNS44NzguMjI4LS4zNjYuNDY5LS43MTMuNzI2LTEuMDY2Ljg0Ni0xLjE1OSAxLjc5MS0yLjQ1MyAyLjAyMy00Ljg3OSAxLjQ1Ni40NTMgNC4wNTQgMi4wNjkgNC4wNTQgNy44MjNoMmMwLTEuNjMtLjE5MS0yLjk5LS41MDYtNC4xMzIuNjM3LTIuMjczIDEuNzYxLTMuMjE4IDIuNTY3LTMuNjAxLjIzOCAyLjM0NiAxLjEzNyAzLjU3IDIuMDEgNC43NTkuMjYyLjM1Ny41MDcuNzA4LjczOCAxLjA4LS40ODMgMS40MTgtLjgwOSAzLjMyNC0uODA5IDUuODk0aDJjMC00LjkwNiAxLjIxNC02LjgwNyAyLjA5OC03LjU0Mi4zMjUgMi4zMTUgMS40MTEgMy43MjIgMi40NjYgNS4wOSAxLjI1MyAxLjYyNCAyLjQzNiAzLjE1OCAyLjQzNiA2LjQ1MiAwIDUuODk4LTQuMTMyIDgtOCA4eiIvPgogICAgPC9nPgo8L3N2Zz4=",Dae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQ2NywwSDQ1QzIwLjE4NywwLDAsMjAuMTg3LDAsNDV2NDIyYzAsMjQuODEzLDIwLjE4Nyw0NSw0NSw0NWg0MjJjMjQuODEzLDAsNDUtMjAuMTg3LDQ1LTQ1VjQ1CgkJCUM1MTIsMjAuMTg3LDQ5MS44MTMsMCw0NjcsMHogTTQ4Miw0NjdjMCw4LjI3MS02LjcyOSwxNS0xNSwxNUg0NWMtOC4yNzEsMC0xNS02LjcyOS0xNS0xNVY0NWMwLTguMjcxLDYuNzI5LTE1LDE1LTE1aDQyMgoJCQljOC4yNzEsMCwxNSw2LjcyOSwxNSwxNVY0Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI1Niw4MWMtOTYuNDk1LDAtMTc1LDc4LjUwNS0xNzUsMTc1czc4LjUwNSwxNzUsMTc1LDE3NXMxNzUtNzguNTA1LDE3NS0xNzVTMzUyLjQ5NSw4MSwyNTYsODF6IE0yNTYsNDAxCgkJCWMtNzkuOTUzLDAtMTQ1LTY1LjA0Ny0xNDUtMTQ1czY1LjA0Ny0xNDUsMTQ1LTE0NXMxNDUsNjUuMDQ3LDE0NSwxNDVTMzM1Ljk1Myw0MDEsMjU2LDQwMXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTg3LDIxNmMtMjIuMDU2LDAtNDAsMTcuOTQ0LTQwLDQwYzAsMjIuMDU2LDE3Ljk0NCw0MCw0MCw0MGMyMi4wNTYsMCw0MC0xNy45NDQsNDAtNDBDMjI3LDIzMy45NDQsMjA5LjA1NiwyMTYsMTg3LDIxNnoKCQkJIE0xODcsMjY2Yy01LjUxNCwwLTEwLTQuNDg2LTEwLTEwYzAtNS41MTQsNC40ODYtMTAsMTAtMTBjNS41MTQsMCwxMCw0LjQ4NiwxMCwxMEMxOTcsMjYxLjUxNCwxOTIuNTE0LDI2NiwxODcsMjY2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMjUsMjE2Yy0yMi4wNTYsMC00MCwxNy45NDQtNDAsNDBjMCwyMi4wNTYsMTcuOTQ0LDQwLDQwLDQwYzIyLjA1NiwwLDQwLTE3Ljk0NCw0MC00MEMzNjUsMjMzLjk0NCwzNDcuMDU2LDIxNiwzMjUsMjE2egoJCQkgTTMyNSwyNjZjLTUuNTE0LDAtMTAtNC40ODYtMTAtMTBjMC01LjUxNCw0LjQ4Ni0xMCwxMC0xMGM1LjUxNCwwLDEwLDQuNDg2LDEwLDEwQzMzNSwyNjEuNTE0LDMzMC41MTQsMjY2LDMyNSwyNjZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",dae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMzYwLDBIMTIwQzk3LjkyLDAuMDI2LDgwLjAyNiwxNy45Miw4MCw0MHYzNjhjMC4wMjQsMTkuMDAxLDEzLjM4OSwzNS4zNzMsMzIsMzkuMlY0ODBoNDh2LTMyaDE2MHYzMmg0OHYtMzIuOAoJCQljMTguNjExLTMuODI3LDMxLjk3Ni0yMC4xOTksMzItMzkuMlY0MEMzOTkuOTc0LDE3LjkyLDM4Mi4wOCwwLjAyNiwzNjAsMHogTTE0NCw0NjRoLTE2di0xNmgxNlY0NjR6IE0zNTIsNDY0aC0xNnYtMTZoMTZWNDY0egoJCQkgTTM4NCw0MDhjMCwxMy4yNTUtMTAuNzQ1LDI0LTI0LDI0SDEyMGMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0VjQwYzAtMTMuMjU1LDEwLjc0NS0yNCwyNC0yNGgyNDBjMTMuMjU1LDAsMjQsMTAuNzQ1LDI0LDI0VjQwOAoJCQl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCwxNjBjLTcwLjY5MiwwLTEyOCw1Ny4zMDgtMTI4LDEyOGMwLjA4NCw3MC42NTgsNTcuMzQyLDEyNy45MTYsMTI4LDEyOGM3MC42OTIsMCwxMjgtNTcuMzA4LDEyOC0xMjgKCQkJUzMxMC42OTIsMTYwLDI0MCwxNjB6IE0yNDAsNDAwYy02MS44NTYsMC0xMTItNTAuMTQ0LTExMi0xMTJjMC4wNjYtNjEuODI4LDUwLjE3Mi0xMTEuOTM0LDExMi0xMTJjNjEuODU2LDAsMTEyLDUwLjE0NCwxMTIsMTEyCgkJCVMzMDEuODU2LDQwMCwyNDAsNDAweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNDAsMTkyYy01My4wMTksMC05Niw0Mi45ODEtOTYsOTZjMC4wNTcsNTIuOTk2LDQzLjAwNCw5NS45NDMsOTYsOTZjNTMuMDE5LDAsOTYtNDIuOTgxLDk2LTk2UzI5My4wMTksMTkyLDI0MCwxOTJ6CgkJCSBNMjQwLDM2OGMtNDQuMTgzLDAtODAtMzUuODE3LTgwLTgwYzAuMDQ5LTQ0LjE2MywzNS44MzctNzkuOTUyLDgwLTgwYzQ0LjE4MywwLDgwLDM1LjgxNyw4MCw4MEMzMjAsMzMyLjE4MywyODQuMTgzLDM2OCwyNDAsMzY4CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjQwLDMyYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2CgkJCUMyOTYsNTcuMDcyLDI3MC45MjgsMzIsMjQwLDMyeiBNMjQwLDEyOGMtMjIuMDkxLDAtNDAtMTcuOTA5LTQwLTQwYzAuMDI2LTIyLjA4LDE3LjkyLTM5Ljk3NCw0MC00MGMyMi4wOTEsMCw0MCwxNy45MDksNDAsNDAKCQkJUzI2Mi4wOTEsMTI4LDI0MCwxMjh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCw2NGMtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0czEwLjc0NSwyNCwyNCwyNHMyNC0xMC43NDUsMjQtMjRTMjUzLjI1NSw2NCwyNDAsNjR6IE0yNDAsOTZjLTQuNDE4LDAtOC0zLjU4Mi04LTgKCQkJczMuNTgyLTgsOC04czgsMy41ODIsOCw4UzI0NC40MTgsOTYsMjQwLDk2eiIvPgogICAgICAgIDxyZWN0IHg9IjExMiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPgogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPgogICAgICAgIDxyZWN0IHg9IjExMiIgeT0iNDAwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz4KICAgICAgICA8cmVjdCB4PSIzNTIiIHk9IjQwMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgICAgICAgPHBhdGggZD0iTTI0MCwyNDhjLTIyLjA5MSwwLTQwLDE3LjkwOS00MCw0MGMwLjAyNiwyMi4wOCwxNy45MiwzOS45NzQsNDAsNDBjMjIuMDkxLDAsNDAtMTcuOTA5LDQwLTQwCgkJCUMyODAsMjY1LjkwOSwyNjIuMDkxLDI0OCwyNDAsMjQ4eiBNMjQwLDMxMmMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNHMyNCwxMC43NDUsMjQsMjRTMjUzLjI1NSwzMTIsMjQwLDMxMnoiLz4KICAgICAgICA8cGF0aCBkPSJNNDgsMjgwSDE2Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThTNTIuNDE4LDI4MCw0OCwyODB6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUzLjY1NiwyMjYuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNjktOC4yNDMtMi45ODEtMTEuMzEyLDAuMTk3Yy0yLjk5NCwzLjEtMi45OTQsOC4wMTUsMCwxMS4xMTVsMjQsMjQKCQkJYzMuMTc4LDMuMDY5LDguMjQzLDIuOTgxLDExLjMxMi0wLjE5N0M1Ni42NSwyMzQuMzU5LDU2LjY1LDIyOS40NDQsNTMuNjU2LDIyNi4zNDR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUzLjQ2LDMzOC4zNDRjLTMuMS0yLjk5NS04LjAxNi0yLjk5NS0xMS4xMTYsMGwtMjQsMjRjLTMuMTc4LDMuMDctMy4yNjYsOC4xMzQtMC4xOTYsMTEuMzEyczguMTM0LDMuMjY2LDExLjMxMiwwLjE5NgoJCQljMC4wNjctMC4wNjQsMC4xMzItMC4xMywwLjE5Ni0wLjE5NmwyNC0yNEM1Ni43MjYsMzQ2LjQ3OCw1Ni42MzgsMzQxLjQxNCw1My40NiwzMzguMzQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjQsMjgwaC0zMmMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGgzMmM0LjQxOCwwLDgtMy41ODIsOC04UzQ2OC40MTgsMjgwLDQ2NCwyODB6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ2MS40NiwyMDIuMzQ0Yy0zLjEtMi45OTQtOC4wMTUtMi45OTQtMTEuMTE2LDBsLTI0LDI0Yy0zLjEyNCwzLjEyNS0zLjEyMyw4LjE5LDAuMDAyLDExLjMxNAoJCQljMS41LDEuNDk5LDMuNTM0LDIuMzQyLDUuNjU0LDIuMzQyYzIuMTIyLDAsNC4xNTYtMC44NDQsNS42NTYtMi4zNDRsMjQtMjRDNDY0LjcyNiwyMTAuNDc4LDQ2NC42MzgsMjA1LjQxNCw0NjEuNDYsMjAyLjM0NHoiLz4KICAgICAgICA8cGF0aCBkPSJNNDYxLjY1NiwzNjIuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNy04LjI0Mi0yLjk4Mi0xMS4zMTIsMC4xOTZjLTIuOTk1LDMuMS0yLjk5NSw4LjAxNiwwLDExLjExNmwyNCwyNAoJCQljMy4xNzgsMy4wNyw4LjI0MiwyLjk4MiwxMS4zMTItMC4xOTZDNDY0LjY1MSwzNzAuMzYsNDY0LjY1MSwzNjUuNDQ0LDQ2MS42NTYsMzYyLjM0NHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",zae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTEyIDU2LjE2NDA2MmMwLTEyLjc5Njg3NC0xMC40MDYyNS0yMy4yMDMxMjQtMjMuMjAzMTI1LTIzLjIwMzEyNGgtNDkuOTY4NzV2LTE1LjA0Njg3NmMwLTkuODc4OTA2LTguMDM1MTU2LTE3LjkxNDA2Mi0xNy45MTQwNjMtMTcuOTE0MDYyaC0xMDMuMDg5ODQzYy05Ljg3ODkwNyAwLTE3LjkxNDA2MyA4LjAzOTA2Mi0xNy45MTQwNjMgMTcuOTE0MDYydjE1LjA0Njg3NmgtODcuODE2NDA2di0xNS4wNDY4NzZjMC05Ljg3ODkwNi04LjAzOTA2Mi0xNy45MTQwNjItMTcuOTE3OTY5LTE3LjkxNDA2MmgtMTAzLjA4OTg0M2MtOS44Nzg5MDcgMC0xNy45MTQwNjMgOC4wMzkwNjItMTcuOTE0MDYzIDE3LjkxNDA2MnYxNS4wNDY4NzZoLTQ5Ljk2ODc1Yy0xMi43OTY4NzUgMC0yMy4yMDMxMjUgMTAuNDA2MjUtMjMuMjAzMTI1IDIzLjIwMzEyNHY0OS41YzAgNi4wNTA3ODIgMi4zMjgxMjUgMTEuNTYyNSA2LjEzNjcxOSAxNS42OTkyMTktMy44MDg1OTQgNC4xMzI4MTMtNi4xMzY3MTkgOS42NDg0MzgtNi4xMzY3MTkgMTUuNjk5MjE5djMwNS44MDg1OTRjMCAxMi43OTI5NjggMTAuNDA2MjUgMjMuMjAzMTI1IDIzLjIwMzEyNSAyMy4yMDMxMjVoMi4zNzg5MDZ2MjIuNDUzMTI1YzAgMTIuNzgxMjUgMTAuMzk4NDM4IDIzLjE3NTc4MSAyMy4xNzk2ODggMjMuMTc1NzgxaDIzMi42MTcxODdjNC4xNDQ1MzIgMCA3LjUwMzkwNi0zLjM1OTM3NSA3LjUwMzkwNi03LjUgMC00LjE0NDUzMS0zLjM1OTM3NC03LjUwMzkwNi03LjUwMzkwNi03LjUwMzkwNmgtMjMyLjYxNzE4N2MtNC41MDc4MTMgMC04LjE3MTg3NS0zLjY2Nzk2OS04LjE3MTg3NS04LjE3MTg3NXYtMjIuNDUzMTI1aDQzMC44MjAzMTJ2MjIuNDUzMTI1YzAgNC41MDc4MTItMy42NjQwNjIgOC4xNzE4NzUtOC4xNzE4NzUgOC4xNzE4NzVoLTE0Ny4xMjVjLTQuMTQ4NDM3IDAtNy41MDM5MDYgMy4zNTkzNzUtNy41MDM5MDYgNy41MDM5MDYgMCA0LjE0MDYyNSAzLjM1NTQ2OSA3LjUgNy41MDM5MDYgNy41aDE0Ny4xMjVjMTIuNzgxMjUgMCAyMy4xNzk2ODgtMTAuMzk0NTMxIDIzLjE3OTY4OC0yMy4xNzU3ODF2LTIyLjQ1MzEyNWgyLjM3ODkwNmMxMi43OTI5NjkgMCAyMy4yMDMxMjUtMTAuNDEwMTU3IDIzLjIwMzEyNS0yMy4yMDMxMjV2LTMwNS44MDg1OTRjMC02LjA1MDc4MS0yLjMzMjAzMS0xMS41NjY0MDYtNi4xMzY3MTktMTUuNjk5MjE5IDMuODA0Njg4LTQuMTM2NzE5IDYuMTM2NzE5LTkuNjQ4NDM3IDYuMTM2NzE5LTE1LjY5OTIxOXptLTE5Ny4wODU5MzgtMzguMjVjMC0xLjYwNTQ2OCAxLjMwNDY4OC0yLjkwNjI1IDIuOTEwMTU3LTIuOTA2MjVoMTAzLjA4OTg0M2MxLjYwNTQ2OSAwIDIuOTEwMTU3IDEuMzA0Njg4IDIuOTEwMTU3IDIuOTA2MjV2MTUuMDQ2ODc2aC0xMDguOTEwMTU3em0tMjI2LjczODI4MSAwYzAtMS42MDU0NjggMS4zMDQ2ODgtMi45MDYyNSAyLjkxMDE1Ny0yLjkwNjI1aDEwMy4wODk4NDNjMS42MDU0NjkgMCAyLjkxMDE1NyAxLjMwNDY4OCAyLjkxMDE1NyAyLjkwNjI1djE1LjA0Njg3NmgtMTA4LjkxMDE1N3ptNDA4LjgxNjQwNyA0MjQuOTU3MDMyYzAgNC41MTk1MzEtMy42NzU3ODIgOC4xOTkyMTgtOC4xOTUzMTMgOC4xOTkyMThoLTQ2NS41OTM3NWMtNC41MTk1MzEgMC04LjE5NTMxMy0zLjY3OTY4Ny04LjE5NTMxMy04LjE5OTIxOHYtMzA1LjgwODU5NGMwLTQuNTE5NTMxIDMuNjc1NzgyLTguMTk5MjE5IDguMTk1MzEzLTguMTk5MjE5aDQ2NS41OTM3NWM0LjUyMzQzNyAwIDguMTk1MzEzIDMuNjc5Njg4IDguMTk1MzEzIDguMTk5MjE5em0wLTMzNy4yMDcwMzJjMCA0LjUxOTUzMi0zLjY3NTc4MiA4LjE5NTMxMy04LjE5NTMxMyA4LjE5NTMxM2gtNDY1LjU5Mzc1Yy00LjUxOTUzMSAwLTguMTk1MzEzLTMuNjc1NzgxLTguMTk1MzEzLTguMTk1MzEzdi00OS41YzAtNC41MjM0MzcgMy42NzU3ODItOC4xOTkyMTggOC4xOTUzMTMtOC4xOTkyMThoNDY1LjU5Mzc1YzQuNTE5NTMxIDAgOC4xOTUzMTMgMy42NzU3ODEgOC4xOTUzMTMgOC4xOTkyMTh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDYuMDk3NjU2IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE4IDExLjU1NDY4Ny0yNS43NjE3MTggMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzYxNzE4IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU4NTk0LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg4IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOCAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3OS4xNjc5NjkgNTUuMTUyMzQ0Yy0xNC4yMDcwMzEgMC0yNS43NjE3MTkgMTEuNTU0Njg3LTI1Ljc2MTcxOSAyNS43NTc4MTIgMCAxNC4yMDcwMzIgMTEuNTU0Njg4IDI1Ljc2MTcxOSAyNS43NjE3MTkgMjUuNzYxNzE5IDE0LjIwMzEyNSAwIDI1Ljc1NzgxMi0xMS41NTQ2ODcgMjUuNzU3ODEyLTI1Ljc2MTcxOSAwLTE0LjIwMzEyNS0xMS41NTQ2ODctMjUuNzU3ODEyLTI1Ljc1NzgxMi0yNS43NTc4MTJ6bTAgMzYuNTE1NjI1Yy01LjkzMzU5NCAwLTEwLjc1NzgxMy00LjgyNDIxOS0xMC43NTc4MTMtMTAuNzUzOTA3IDAtNS45Mjk2ODcgNC44MjQyMTktMTAuNzU3ODEyIDEwLjc1NzgxMy0xMC43NTc4MTIgNS45Mjk2ODcgMCAxMC43NTM5MDYgNC44MjgxMjUgMTAuNzUzOTA2IDEwLjc1NzgxMiAwIDUuOTI5Njg4LTQuODI0MjE5IDEwLjc1MzkwNy0xMC43NTM5MDYgMTAuNzUzOTA3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzMyLjgzMjAzMSA1NS4xNTIzNDRjLTE0LjIwMzEyNSAwLTI1Ljc1NzgxMiAxMS41NTQ2ODctMjUuNzU3ODEyIDI1Ljc1NzgxMiAwIDE0LjIwNzAzMiAxMS41NTQ2ODcgMjUuNzYxNzE5IDI1Ljc1NzgxMiAyNS43NjE3MTkgMTQuMjA3MDMxIDAgMjUuNzYxNzE5LTExLjU1NDY4NyAyNS43NjE3MTktMjUuNzYxNzE5IDAtMTQuMjAzMTI1LTExLjU1NDY4OC0yNS43NTc4MTItMjUuNzYxNzE5LTI1Ljc1NzgxMnptMCAzNi41MTU2MjVjLTUuOTI5Njg3IDAtMTAuNzUzOTA2LTQuODI0MjE5LTEwLjc1MzkwNi0xMC43NTM5MDcgMC01LjkyOTY4NyA0LjgyNDIxOS0xMC43NTc4MTIgMTAuNzUzOTA2LTEwLjc1NzgxMiA1LjkzMzU5NCAwIDEwLjc1NzgxMyA0LjgyODEyNSAxMC43NTc4MTMgMTAuNzU3ODEyIDAgNS45Mjk2ODgtNC44MjQyMTkgMTAuNzUzOTA3LTEwLjc1NzgxMyAxMC43NTM5MDd6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDUuOTAyMzQ0IDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1ODU5NCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTgtMTEuNTU0Njg3IDI1Ljc2MTcxOC0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NjE3MTgtMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODggMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE4LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzNC43NDIxODggMTcxLjkzNzVoLTIxOC4xNDg0MzhjLTQuMTQ0NTMxIDAtNy41MDM5MDYgMy4zNTkzNzUtNy41MDM5MDYgNy41IDAgNC4xNDQ1MzEgMy4zNTkzNzUgNy41MDM5MDYgNy41MDM5MDYgNy41MDM5MDZoMjE4LjE0ODQzOGMxLjQzNzUgMCAyLjYwNTQ2OCAxLjE3MTg3NSAyLjYwNTQ2OCAyLjYwOTM3NXYxOS44NTE1NjNjMCAxLjQzNzUtMS4xNjc5NjggMi42MDkzNzUtMi42MDU0NjggMi42MDkzNzVoLTM1Ny40ODQzNzZjLTEuNDM3NSAwLTIuNjA1NDY4LTEuMTcxODc1LTIuNjA1NDY4LTIuNjA5Mzc1di0xOS44NTE1NjNjMC0xLjQzNzUgMS4xNjc5NjgtMi42MDkzNzUgMi42MDU0NjgtMi42MDkzNzVoMTA0LjI2OTUzMmM0LjE0NDUzMSAwIDcuNTAzOTA2LTMuMzU5Mzc1IDcuNTAzOTA2LTcuNTAzOTA2IDAtNC4xNDA2MjUtMy4zNTkzNzUtNy41LTcuNTAzOTA2LTcuNWgtMTA0LjI2OTUzMmMtOS43MTA5MzcgMC0xNy42MDkzNzQgNy44OTg0MzgtMTcuNjA5Mzc0IDE3LjYxMzI4MXYxOS44NTE1NjNjMCA5LjcxMDkzNyA3Ljg5ODQzNyAxNy42MTMyODEgMTcuNjA5Mzc0IDE3LjYxMzI4MWgxMC4wMzUxNTd2MTY2LjQ2NDg0NGMwIDE0LjI3NzM0MyAxMS42MTcxODcgMjUuODk0NTMxIDI1Ljg5NDUzMSAyNS44OTQ1MzFoMjg1LjYyNWMxNC4yNzczNDQgMCAyNS44OTQ1MzEtMTEuNjE3MTg4IDI1Ljg5NDUzMS0yNS44OTQ1MzF2LTE2Ni40NjQ4NDRoMTAuMDM1MTU3YzkuNzEwOTM3IDAgMTcuNjEzMjgxLTcuODk4NDM3IDE3LjYxMzI4MS0xNy42MTMyODF2LTE5Ljg1MTU2M2MwLTkuNzEwOTM3LTcuOTAyMzQ0LTE3LjYxMzI4MS0xNy42MTMyODEtMTcuNjEzMjgxem0tMjUuMDQyOTY5IDIyMS41NDI5NjljMCA2LjAwMzkwNi00Ljg4MjgxMyAxMC44ODY3MTktMTAuODg2NzE5IDEwLjg4NjcxOWgtMjg1LjYyNWMtNi4wMDM5MDYgMC0xMC44OTA2MjUtNC44ODI4MTMtMTAuODkwNjI1LTEwLjg4NjcxOXYtMTY2LjQ2NDg0NGgzMDcuNDAyMzQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyLjU0Mjk2OSAyOTQuODU5Mzc1YzIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNiA1LjUyMzQzNy0yLjQyMTg3NWwyMy4wMTE3MTktMjUuMDE1NjI1YzIuODA4NTk0LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDYtMTAuNjAxNTYzLTMuMDUwNzgxLTIuODA0Njg3LTcuNzkyOTY5LTIuNjA5Mzc0LTEwLjYwMTU2My40NDE0MDdsLTIzLjAxMTcxOCAyNS4wMTU2MjVjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA5Mzc2IDcuNzkyOTY4LjQ0MTQwNiAxMC42MDE1NjIgMS40NDE0MDYgMS4zMjQyMTkgMy4yNjE3MTggMS45ODA0NjkgNS4wNzgxMjUgMS45ODA0Njl6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNTQuMTg3NSAzMjQuMTM2NzE5YzEuNDQxNDA2IDEuMzI4MTI1IDMuMjYxNzE5IDEuOTgwNDY5IDUuMDc4MTI1IDEuOTgwNDY5IDIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNyA1LjUyMzQzNy0yLjQyMTg3Nmw0Ny4zMTY0MDctNTEuNDI5Njg3YzIuODA0Njg3LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDctMTAuNjA1NDY5LTMuMDUwNzgxLTIuODA0Njg3LTcuNzk2ODc0LTIuNjA1NDY4LTEwLjYwMTU2Mi40NDE0MDZsLTQ3LjMxNjQwNiA1MS40MzM1OTRjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA1NDY5IDcuNzk2ODc1LjQ0MTQwNiAxMC42MDE1NjN6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=",Iae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMjIuMjUgMTcuMjY2aC0xMTYuNWE1Ljc1NiA1Ljc1NiAwIDAgMCAtNS43NSA1Ljc1djY3Ljk5NGE1Ljc1NyA1Ljc1NyAwIDAgMCA1Ljc1IDUuNzVoOS44ODNsLTMuMDY4IDQuNDRhNi4wNzkgNi4wNzkgMCAwIDAgMTAgNi45MTJsNy44NDctMTEuMzUyaDY3LjE3Nmw3Ljg0NCAxMS4zNTFhNi4wNzkgNi4wNzkgMCAwIDAgMTAtNi45MTJsLTMuMDY4LTQuNDM5aDkuODgzYTUuNzU3IDUuNzU3IDAgMCAwIDUuNzUzLTUuNzV2LTY3Ljk5NGE1Ljc1NiA1Ljc1NiAwIDAgMCAtNS43NS01Ljc1em0tMTAyLjU2MSA4OC44NTZhMi41ODIgMi41ODIgMCAwIDEgLTIuMTIyIDEuMTEyIDIuNTggMi41OCAwIDAgMSAtMi4xMjMtNC4wNDZsNC40NDMtNi40MjhoNi4yNzF6bTkyLjg2Ny0yLjkzNGEyLjU4IDIuNTggMCAwIDEgLTIuMTIzIDQuMDQ2IDIuNTg1IDIuNTg1IDAgMCAxIC0yLjEyMy0xLjExMmwtNi40NjgtOS4zNjJoNi4yNzF6bTExLjk0NC0xMi4xNzhhMi4yNTMgMi4yNTMgMCAwIDEgLTIuMjUgMi4yNWgtMTE2LjVhMi4yNTMgMi4yNTMgMCAwIDEgLTIuMjUtMi4yNXYtNjcuOTk0YTIuMjUzIDIuMjUzIDAgMCAxIDIuMjUtMi4yNWgxMTYuNWEyLjI1MyAyLjI1MyAwIDAgMSAyLjI1IDIuMjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExOC4yNSAyNS4yNjZoLTEwOC41YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1IDEuNzV2NTkuOTk0YTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzVoMTA4LjVhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtNTkuOTk0YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1LTEuNzV6bS0xLjc1IDU5Ljk5NGgtMTA1di01Ni40OTRoMTA1eiIvPgogICAgICAgIDxwYXRoIGQ9Im00MS4zNzUgNDcuOTIyaDcuM3YxOS45MzJhMS43NSAxLjc1IDAgMCAwIDMuNSAwdi0xOS45MzJoNy4zYTEuNzUgMS43NSAwIDAgMCAwLTMuNWgtMTguMWExLjc1IDEuNzUgMCAwIDAgMCAzLjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTc1Ljk2MyA2OC41MjdhMS43NDkgMS43NDkgMCAwIDAgMy4yMyAwbDkuMDQ3LTIxLjY4MWExLjc1IDEuNzUgMCAxIDAgLTMuMjMtMS4zNDZsLTcuNDMyIDE3LjgwOS03LjQzMi0xNy44MDlhMS43NSAxLjc1IDAgMSAwIC0zLjIzIDEuMzQ4eiIvPgogICAgPC9nPgo8L3N2Zz4=",wae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTksMkg1QTMsMywwLDAsMCwyLDVWNTlhMywzLDAsMCwwLDMsM0g1OWEzLDMsMCwwLDAsMy0zVjVBMywzLDAsMCwwLDU5LDJabTEsNTdhMSwxLDAsMCwxLTEsMUg1YTEsMSwwLDAsMS0xLTFWNUExLDEsMCwwLDEsNSw0SDU5YTEsMSwwLDAsMSwxLDFaIi8+CiAgICAgICAgPHBhdGggZD0iTTMyLDZBMjYsMjYsMCwxLDAsNTgsMzIsMjYuMDI5LDI2LjAyOSwwLDAsMCwzMiw2Wm0wLDUwQTI0LDI0LDAsMSwxLDU2LDMyLDI0LjAyOCwyNC4wMjgsMCwwLDEsMzIsNTZaIi8+CiAgICAgICAgPHBhdGggZD0iTTMyLDEwQTIyLDIyLDAsMSwwLDU0LDMyLDIyLjAyNSwyMi4wMjUsMCwwLDAsMzIsMTBabTEwLjE3NSw0LjgxM2MyLjQ2OSw5LjU1LTMuNjEzLDEyLjktNi40MjgsMTMuOTExYTUsNSwwLDAsMC0xLjY1LTEuMjQ3LDExLjM3NCwxMS4zNzQsMCwwLDAsMy4zMTEtNi43OTRjLjI0OS0yLjg0NS0uNzktNS43MDYtMy4wNS04LjUzMUExOS44MjQsMTkuODI0LDAsMCwxLDQyLjE3NSwxNC44MTNaTTM1LDMyYTMsMywwLDEsMS0zLTNBMywzLDAsMCwxLDM1LDMyWk0zMS41ODYsMTIuMDIxYzIuNzY3LDIuODczLDQuMDY2LDUuNzIyLDMuODMxLDguNDdhMTAuMSwxMC4xLDAsMCwxLTMuNzg0LDYuNTMsMTkuNjUyLDE5LjY1MiwwLDAsMC05LjU4NS0xMi4zNDRBMTkuODM4LDE5LjgzOCwwLDAsMSwzMS41ODYsMTIuMDIxWk0yMC4xMiwxNS45NDhhMTcuNjU3LDE3LjY1NywwLDAsMSw5LjU5MiwxMS42MzMsNC45NTEsNC45NTEsMCwwLDAtLjk1Ny42NDcsMTguODg2LDE4Ljg4NiwwLDAsMC0xNC4zMzgtNS43NTJBMjAuMTI2LDIwLjEyNiwwLDAsMSwyMC4xMiwxNS45NDhaTTEyLDMyYTE5Ljg3LDE5Ljg3LDAsMCwxLDEuNDQyLTcuNDE2QTE2LjM4NSwxNi4zODUsMCwwLDEsMjUuODE2LDI4LjI2YTEzLjc5LDEzLjc5LDAsMCwwLTguMDY0LDEuMjkxQTEyLjY0NCwxMi42NDQsMCwwLDAsMTIuMzExLDM1LjQsMTkuOTEzLDE5LjkxMywwLDAsMSwxMiwzMlptMS4xNjQsNi42NmMxLjEzLTMuNTI5LDIuOTgyLTYsNS41Mi03LjM0YTEyLjY0MywxMi42NDMsMCwwLDEsOC41NjEtLjc4N0E0LjkxOSw0LjkxOSwwLDAsMCwyNywzMmMwLC4xMDkuMDI1LjIxMS4wMzIuMzE4LTIuMDA4LjkxNS03Ljk2MSw0LjQyLTguOSwxNC4wNjNBMjAuMDM0LDIwLjAzNCwwLDAsMSwxMy4xNjQsMzguNjZabTYuODc4LDkuMzMzYy4zNjQtOS4yNzksNS41NjMtMTIuNzQzLDcuNTMxLTEzLjcxOWE1LDUsMCwwLDAsMS4wNjUsMS40Yy0uOTU4LDIuNjA5LTIuODUzLDkuNzkxLDIuMTA4LDE2LjI2MUExOS44NTYsMTkuODU2LDAsMCwxLDIwLjA0Miw0Ny45OTNaTTMzLjM4MSw1MS45M2MtNS40LTUuNzMzLTMuOTItMTIuNDk1LTIuOTg4LTE1LjIxOUE0LjkyOSw0LjkyOSwwLDAsMCwzMiwzN2MuMDgxLDAsLjE1Ni0uMDIuMjM1LS4wMjQuNiwzLjA0OSwyLjgyOSw5LjIyMywxMS4xMTEsMTEuNDc1QTE5Ljg1NiwxOS44NTYsMCwwLDEsMzMuMzgxLDUxLjkzWm0xMS45NjYtNS4wNzhjLTguNDQxLTEuNjE3LTEwLjYyMy03LjI5Mi0xMS4xNzQtMTAuMzdhNS4wMDYsNS4wMDYsMCwwLDAsMS4wODQtLjcxOWMxLjg2OCwxLjksNi4yMTUsNS42MzMsMTEuNTIyLDUuNjMzYTExLjIwOCwxMS4yMDgsMCwwLDAsMy4wODUtLjQ1NUEyMC4wNjksMjAuMDY5LDAsMCwxLDQ1LjM0Nyw0Ni44NTJaTTUyLDMyYTE5LjksMTkuOSwwLDAsMS0xLjA3NCw2LjQxNGMtNi41MDcsMy4xMi0xMi40NjItMi4xODQtMTQuNDM4LTQuMjUxYTQuOTI3LDQuOTI3LDAsMCwwLC4zNjktMS4wMjUsMTYuNiwxNi42LDAsMCwwLDEuNzg5LjA5NCwxOC4zMjgsMTguMzI4LDAsMCwwLDEyLjkyNi01LjMzOUEyMCwyMCwwLDAsMSw1MiwzMlptLTE1LjA4OC0uODY4YTQuNzQ1LDQuNzQ1LDAsMCwwLS4xNzMtLjY1YzIuOTI2LTEuMTU1LDkuMjM0LTQuNzY2LDcuODE3LTE0LjAyOGEyMC4wNTcsMjAuMDU3LDAsMCwxLDYuMzk0LDkuMkExNi4zNDQsMTYuMzQ0LDAsMCwxLDM2LjkxMiwzMS4xMzJaIi8+CiAgICAgICAgPHBhdGggZD0iTTksMTJBMywzLDAsMSwwLDYsOSwzLDMsMCwwLDAsOSwxMlpNOSw4QTEsMSwwLDEsMSw4LDksMSwxLDAsMCwxLDksOFoiLz4KICAgICAgICA8cGF0aCBkPSJNNTUsNmEzLDMsMCwxLDAsMywzQTMsMywwLDAsMCw1NSw2Wm0wLDRhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsNTUsMTBaIi8+CiAgICAgICAgPHBhdGggZD0iTTEyLDU1YTMsMywwLDAsMC0zLTMsMi45NjYsMi45NjYsMCwwLDAtMSwuMTg0VjQ1SDZWNTVhMywzLDAsMCwwLDMsM2g2VjU2SDExLjgxNkEyLjk2NiwyLjk2NiwwLDAsMCwxMiw1NVpNOSw1NmExLDEsMCwxLDEsMS0xQTEsMSwwLDAsMSw5LDU2WiIvPgogICAgICAgIDxwYXRoIGQ9Ik01Niw1Mi4xODRBMi45NjYsMi45NjYsMCwwLDAsNTUsNTJhMywzLDAsMCwwLTMsMywyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDV2Mkg1NWEzLDMsMCwwLDAsMy0zVjQ5SDU2Wk01NSw1NmExLDEsMCwxLDEsMS0xQTEsMSwwLDAsMSw1NSw1NloiLz4KICAgICAgICA8cmVjdCB4PSIxNyIgeT0iNTYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Cae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQyOC42MDcgNDI4LjYwNyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00MjMuNzczLDM0My44NzFMNDIzLjc3MywzNDMuODcxYy02LjYxNy00LjU5OS0xMi40NC0xMC4yNDYtMTcuMjQxLTE2LjcxOGMtMTEuNDk0LTEzLjA2MS0yNi4xMjItMjkuMjU3LTUzLjI5LTI5LjI1NwoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUKCQkJCWMtMTAuOTcxLTEyLjUzOS0yNS42LTI5Ljc4LTUzLjI5LTI5Ljc4Yy0yNy42OSwwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhjLTEyLjAxNiwxNC4xMDYtMTkuODUzLDIyLjQ2NS0zNy42MTYsMjIuNDY1CgkJCQlzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1Yy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyCgkJCQljLTIuNTk3LDUuMTk0LTAuNDkyLDExLjUwOSw0LjcwMiwxNC4xMDZjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgKCQkJCXM0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1czI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1CgkJCQljMTAuOTcxLDEyLjUzOSwyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4YzI3LjY5LDAsNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUKCQkJCUM0MzAuMDgyLDM1My41OTQsNDI4LjY3OSwzNDcuMDQ1LDQyMy43NzMsMzQzLjg3MXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDIzLjc3MywyNjUuNTAzTDQyMy43NzMsMjY1LjUwM2MtNi42MTctNC41OTktMTIuNDQtMTAuMjQ2LTE3LjI0MS0xNi43MThjLTExLjQ5NC0xMy4wNjEtMjYuMTIyLTI5LjI1Ny01My4yOS0yOS4yNTcKCQkJCWMtMjcuMTY3LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1CgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQoJCQkJcy0yNi42NDUtOS45MjctMzcuNjE2LTIyLjQ2NWMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMgoJCQkJcy0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzEwLjk3MSwxMi41MzksMjUuNiwyOS43OCw1My4yOSwyOS43OGMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjUKCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NWM0LjkwNSwzLjE3NCwxMS40NTUsMS43NzEsMTQuNjI5LTMuMTM1CgkJCQlDNDMwLjA4MiwyNzUuMjI3LDQyOC42NzksMjY4LjY3Nyw0MjMuNzczLDI2NS41MDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQyMy43NzMsMTgxLjkxMUw0MjMuNzczLDE4MS45MTFjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3CgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhzLTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVzLTI1LjYtMjkuNzgtNTMuMjktMjkuNzgKCQkJCWMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUKCQkJCWMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMmMtMi41OTcsNS4xOTQtMC40OTIsMTEuNTA5LDQuNzAyLDE0LjEwNgoJCQkJYzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4czQxLjI3My0xNS42NzMsNTMuMjktMjkuNzgKCQkJCWMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NXMyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQljMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4czE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUKCQkJCUM0MzAuMDgyLDE5MS42MzUsNDI4LjY3OSwxODUuMDg1LDQyMy43NzMsMTgxLjkxMXoiLz4KICAgICAgICA8cGF0aCBkPSJNNS44MTQsODIuMTI0YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4CgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQoJCQkJYzEwLjk3MSwxMi41MzksMjUuNiwyOS43OCw1My4yOSwyOS43OGMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjUKCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NmM0LjkwNSwzLjE3NCwxMS40NTUsMS43NywxNC42MjktMy4xMzUKCQkJCWMzLjE3NC00LjkwNSwxLjc3MS0xMS40NTUtMy4xMzUtMTQuNjI5aDBjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3CgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhjLTEyLjAxNiwxNC4xMDYtMTkuODUzLDIyLjQ2NS0zNy42MTYsMjIuNDY1cy0yNi42NDUtOS45MjctMzcuNjE2LTIyLjQ2NQoJCQkJYy0xMC45NzEtMTIuNTM5LTI1LjYtMjkuNzgtNTMuMjktMjkuNzhjLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjUKCQkJCVM1My44OCw5OS44ODcsNDIuOTA4LDg3LjM0OGMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMgoJCQkJUzAuNjIxLDc5LjUyNyw1LjgxNCw4Mi4xMjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",hae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwOCA1MDgiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cmVjdCB4PSIxMzkuMyIgd2lkdGg9IjE2LjQiIGhlaWdodD0iMzguMiIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTA0LjEsMjEuNCA4OC45LDI3LjcgOTgsNDkuOCAxMTMuMiw0My41IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNy41LDg5LjQgMjEuMywxMDQuNiA0My4zLDExMy43IDQ5LjUsOTguNSAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTkwLjksMjEuNCAxODEuOCw0My41IDE5Ni45LDQ5LjggMjA2LDI3LjcgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQzLjMsMTgyLjcgMjEuMywxOTEuOCAyNy41LDIwNyA0OS41LDE5Ny45IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNjcuNCw4OS40IDI0NS40LDk4LjUgMjUxLjcsMTEzLjcgMjczLjcsMTA0LjYgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjI0NiwzNy42IDIxOS4xLDY0LjYgMjMwLjcsNzYuMyAyNTcuNiw0OS4yIAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2NC4zLDIyMC4xIDM3LjQsMjQ3LjEgNDksMjU4LjggNzUuOSwyMzEuNyAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTQuMywxNDAgMCwxNDAgMCwxNTYuNCAxNC4zLDE1Ni40IDM4LjEsMTU2LjQgMzguMSwxNDAgCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjU5LjEsNDcuNyA0OSwzNy42IDM3LjQsNDkuMiA2NC4zLDc2LjMgNzUuOSw2NC42IAkJIi8+CiAgICAgICAgPHBhdGggZD0iTTMxOS41LDE3Mi45djE2LjVjNDkuNywwLDkwLjEsNDAuNiw5MC4xLDkwLjZINDI2QzQyNi4xLDIyMC45LDM3OC4zLDE3Mi45LDMxOS41LDE3Mi45eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjYuMSwyOTUuNWMwLjYtNS42LDAuOS0xMC42LDAuOS0xNS42YzAtODEuNy02Ni4yLTE0OC4yLTE0Ny41LTE0OC4yYy0yOC40LDAtNTUuNSw4LjItNzguNywyM2MwLjItMi4yLDAuNS00LjMsMC41LTYuNQoJCQljMC01Mi00Mi4xLTk0LjMtOTMuOC05NC4zcy05My44LDQyLjMtOTMuOCw5NC4zYzAsMzAuNiwxNC45LDU5LjEsMzkuNSw3Ni43Yy0xNS40LDE3LjItMjUuNSwzOS4zLTI3LjMsNjMuNwoJCQljLTM3LDQtNjUuOCwzNS41LTY1LjgsNzMuN2MwLDQwLjksMzMuMSw3NC4xLDczLjcsNzQuMWgzNjAuNWM0MC43LDAsNzMuNy0zMy4yLDczLjctNzQuMUM1MDgsMzMzLjcsNDkxLjQsMzA3LjcsNDY2LjEsMjk1LjV6CgkJCSBNNzAsMTQ4LjJjMC00Mi45LDM0LjctNzcuOCw3Ny40LTc3LjhjNDIuNywwLDc3LjQsMzQuOSw3Ny40LDc3LjhjMCw2LjktMC45LDEzLjktMi43LDIwLjZjLTguMyw3LjQtMTUuNywxNS41LTIyLjEsMjQuNAoJCQljLTMzLjEtOS4xLTY4LjctMS4zLTk0LjksMjAuMUM4My4zLDE5OSw3MCwxNzQuNSw3MCwxNDguMnogTTQzNC4zLDQxOS45SDczLjdjLTMxLjYsMC01Ny40LTI1LjktNTcuNC01Ny42CgkJCWMwLTMxLjgsMjUuNy01Ny42LDU3LjQtNTcuNmg4LjJ2LTguMmMwLTQ5LjksNDAuNC05MC42LDkwLjEtOTAuNmMxNC40LDAsMzQuNyw2LjgsMzQuNyw2LjhzMzguNy02NC40LDExMi44LTY0LjQKCQkJYzcyLjMsMCwxMzEuMSw1OS4xLDEzMS4xLDEzMS43YzAsMTMuOS0yLjYsMjYuMS0yLjYsMjYuMWw2LjIsMi4zYzIyLjMsOC40LDM3LjMsMzAuMSwzNy4zLDUzLjkKCQkJQzQ5MS42LDM5NCw0NjUuOSw0MTkuOSw0MzQuMyw0MTkuOXoiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9Ijg4LjQsNDU1LjIgNDcuNSw0OTYuNCA1OS4xLDUwOCAxMDAsNDY2LjggCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE3OC42LDQ1NS4yIDEzNy42LDQ5Ni40IDE0OS4yLDUwOCAxOTAuMSw0NjYuOCAJCSIvPgogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjY4LjcsNDU1LjIgMjI3LjcsNDk2LjQgMjM5LjMsNTA4IDI4MC4zLDQ2Ni44IAkJIi8+CiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIzNTguOCw0NTUuMiAzMTcuOSw0OTYuNCAzMjkuNCw1MDggMzcwLjQsNDY2LjggCQkiLz4KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQ0OC45LDQ1NS4yIDQwOCw0OTYuNCA0MTkuNiw1MDggNDYwLjUsNDY2LjggCQkiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Aae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjEgNTVoLTV2LTQ0YTMuMDA5IDMuMDA5IDAgMCAwIDMtM3YtNWExIDEgMCAwIDAgLTEtMWgtNTJhMSAxIDAgMCAwIC0xIDF2NWEzLjAwOSAzLjAwOSAwIDAgMCAzIDN2NDRoLTVhMSAxIDAgMCAwIC0xIDF2NWExIDEgMCAwIDAgMSAxaDU4YTEgMSAwIDAgMCAxLTF2LTVhMSAxIDAgMCAwIC0xLTF6bS01NC00N3YtNGg1MHY0YTEgMSAwIDAgMSAtMSAxaC00OGExIDEgMCAwIDEgLTEtMXptNDcgM3Y0NGgtNDR2LTQ0em02IDQ5aC01NnYtM2g1NnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTIgMTJoLTQwYTEgMSAwIDAgMCAtMSAxdjQwYTEgMSAwIDAgMCAxIDFoNDBhMSAxIDAgMCAwIDEtMXYtNDBhMSAxIDAgMCAwIC0xLTF6bS0yMSA0MGgtMTh2LTE5aDE4em0wLTIxaC0xOHYtMTdoMTh6bTIwIDIxaC0xOHYtMTloMTh6bTAtMjFoLTE4di0xN2gxOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTUuMTcyIDE4aDUuNjU3djJoLTUuNjU3eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcwNyAtLjcwNyAuNzA3IC43MDcgLTguMTYzIDE4LjI5MykiLz4KICAgICAgICA8cGF0aCBkPSJtMTQuMTM2IDIwLjVoMTIuNzI4djJoLTEyLjcyOHoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC05LjE5OCAyMC43OTMpIi8+CiAgICA8L2c+Cjwvc3ZnPg==",pae={"Alarm Systems":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSItMzEgMCA1MTEgNTExLjk5OTk4IiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yMzUuMzI4MTI1IDExOS4xNjc5NjljMjAuODM5ODQ0IDguMDU4NTkzIDM1LjY0NDUzMSAyMS4xNDg0MzcgNDQuNjMyODEzIDQxLjUwMzkwNiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzEuNjg3NSAxMjguNTg1OTM4YzE4Ljk4MDQ2OSA3LjMzOTg0MyAzMS4zODI4MTIgMTguODMyMDMxIDM5LjAzNTE1NiAzNi4xNjQwNjIgMS42Njc5NjkgMy43NzM0MzggNS4zNjMyODIgNi4wMjM0MzggOS4yNDIxODggNi4wMjM0MzggMS4zNjMyODEgMCAyLjc0NjA5NC0uMjc3MzQ0IDQuMDcwMzEyLS44NjMyODIgNS4xMDU0NjktMi4yNTM5MDYgNy40MTQwNjMtOC4yMTQ4NDQgNS4xNjAxNTYtMTMuMzE2NDA2LTkuODIwMzEyLTIyLjI1LTI2LjI1LTM3LjU3NDIxOS01MC4yMjY1NjItNDYuODQzNzUtNS4xOTkyMTktMi4wMTE3MTktMTEuMDQ2ODc1LjU3NDIxOS0xMy4wNTg1OTQgNS43NzczNDQtMi4wMTE3MTggNS4yMDMxMjUuNTc4MTI1IDExLjA0Njg3NSA1Ljc3NzM0NCAxMy4wNTg1OTR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDcuMTA1NDY5IDIzNy44MTI1YzIwLjA4OTg0MyAwIDM2LjQzNzUtMTYuMzQzNzUgMzYuNDM3NS0zNi40MzM1OTQgMC0yMC4wOTM3NS0xNi4zNDc2NTctMzYuNDM3NS0zNi40Mzc1LTM2LjQzNzUtMjAuMDg5ODQ0IDAtMzYuNDM3NSAxNi4zNDM3NS0zNi40Mzc1IDM2LjQzNzUgMCAyMC4wODk4NDQgMTYuMzQ3NjU2IDM2LjQzMzU5NCAzNi40Mzc1IDM2LjQzMzU5NHptMC01Mi42NzU3ODFjOC45NTMxMjUgMCAxNi4yNDIxODcgNy4yODUxNTYgMTYuMjQyMTg3IDE2LjI0MjE4NyAwIDguOTUzMTI1LTcuMjg5MDYyIDE2LjIzODI4Mi0xNi4yNDIxODcgMTYuMjM4MjgyLTguOTU3MDMxIDAtMTYuMjQyMTg4LTcuMjg1MTU3LTE2LjI0MjE4OC0xNi4yMzgyODIgMC04Ljk1NzAzMSA3LjI4NTE1Ny0xNi4yNDIxODcgMTYuMjQyMTg4LTE2LjI0MjE4N3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM5MC4xNzk2ODggMTQ3LjAxNTYyNWMzLjc2NTYyNCAwIDcuMzk4NDM3LS41NzQyMTkgMTAuODIwMzEyLTEuNjM2NzE5bDcuMzM5ODQ0IDkuODcxMDk0YzEzLjk0MTQwNiAxOC43NSAyMS42MjEwOTQgNDEuOTQ1MzEyIDIxLjYyMTA5NCA2NS4zMTI1djU5LjE1MjM0NGMwIDUuNTc4MTI1IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2IDUuNTc0MjE4IDAgMTAuMDk3NjU2LTQuNTE5NTMxIDEwLjA5NzY1Ni0xMC4wOTc2NTZ2LTU5LjE1MjM0NGMwLTI3LjY3NTc4MS05LjA5Mzc1LTU1LjE1MjM0NC0yNS42MDkzNzUtNzcuMzU5Mzc1bC02LjY3NTc4MS04Ljk4MDQ2OWM1LjQ0OTIxOC02LjM2NzE4NyA4Ljc0NjA5NC0xNC42MjUgOC43NDYwOTQtMjMuNjQwNjI1IDAtMjAuMDkzNzUtMTYuMzQzNzUtMzYuNDM3NS0zNi40Mzc1LTM2LjQzNzUtMjAuMDg5ODQ0IDAtMzYuNDMzNTk0IDE2LjM0Mzc1LTM2LjQzMzU5NCAzNi40Mzc1IDAgMjAuMDg5ODQ0IDE2LjM0Mzc1IDM2LjQzMzU5NCAzNi40MzM1OTQgMzYuNDMzNTk0em0wLTUyLjY3NTc4MWM4Ljk1NzAzMSAwIDE2LjI0MjE4NyA3LjI4NTE1NiAxNi4yNDIxODcgMTYuMjQyMTg3IDAgOC45NTMxMjUtNy4yODUxNTYgMTYuMjQyMTg4LTE2LjI0MjE4NyAxNi4yNDIxODgtOC45NTMxMjYgMC0xNi4yNDIxODgtNy4yODkwNjMtMTYuMjQyMTg4LTE2LjI0MjE4OCAwLTguOTU3MDMxIDcuMjg5MDYyLTE2LjI0MjE4NyAxNi4yNDIxODgtMTYuMjQyMTg3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjA1ODU5NCAzNDkuMDUwNzgxYy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU3djYzLjMyMDMxMmMwIDE0LjIzMDQ2OS0xMS41NzgxMjYgMjUuODA4NTk0LTI1LjgwODU5NCAyNS44MDg1OTRoLTQ0LjU5NzY1NnYtMzMuNDI5Njg4YzAtNS41NzgxMjUtNC41MTk1MzItMTAuMDk3NjU2LTEwLjA5Mzc1LTEwLjA5NzY1NmgtNDIuMjY1NjI2di0xMTIuNDUzMTI1YzIxLjg1NTQ2OS0yNC4wMzUxNTYgMzUuMTkxNDA3LTU1Ljk0OTIxOSAzNS4xOTE0MDctOTAuOTE3OTY5IDAtNzQuNTk3NjU2LTYwLjY4NzUtMTM1LjI4NTE1Ni0xMzUuMjgxMjUtMTM1LjI4NTE1NnMtMTM1LjI4MTI1IDYwLjY4NzUtMTM1LjI4MTI1IDEzNS4yODUxNTZjMCAzMy4xMDU0NjkgMTEuOTU3MDMxIDYzLjQ2NDg0NCAzMS43NzczNDMgODcuMDAzOTA2djIxMy41MTk1MzJjMCA1LjU3ODEyNSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU3IDEwLjA5NzY1NmgyMzUuNzYxNzE5YzUuNTc0MjE4IDAgMTAuMDkzNzUtNC41MTk1MzEgMTAuMDkzNzUtMTAuMDk3NjU2di0zMy40Mjk2ODhoNDQuNTk3NjU2YzI1LjM2NzE4NyAwIDQ2LjAwMzkwNi0yMC42MzY3MTggNDYuMDAzOTA2LTQ2LjAwMzkwNnYtNjMuMzIwMzEyYzAtNS41NzgxMjYtNC41MjM0MzgtMTAuMDk3NjU3LTEwLjA5NzY1Ni0xMC4wOTc2NTd6bS0yMzIuOTUzMTI1LTI2Mi43NjE3MTljNjMuNDU3MDMxIDAgMTE1LjA4NTkzNyA1MS42Mjg5MDcgMTE1LjA4NTkzNyAxMTUuMDg5ODQ0IDAgNjMuNDU3MDMyLTUxLjYyODkwNiAxMTUuMDg1OTM4LTExNS4wODU5MzcgMTE1LjA4NTkzOC02My40NjA5MzggMC0xMTUuMDg1OTM4LTUxLjYyODkwNi0xMTUuMDg1OTM4LTExNS4wODU5MzggMC02My40NjA5MzcgNTEuNjI1LTExNS4wODk4NDQgMTE1LjA4NTkzOC0xMTUuMDg5ODQ0em0tODMuMzA4NTk0IDIyMS42MDE1NjNjMjIuOTgwNDY5IDE4LjAxNTYyNSA1MS45MTAxNTYgMjguNzY5NTMxIDgzLjMwODU5NCAyOC43Njk1MzEgMjkuODYzMjgxIDAgNTcuNDkyMTg3LTkuNzM0Mzc1IDc5Ljg5NDUzMS0yNi4xODc1djE4MS4zMzIwMzJoLTE2My4yMDMxMjV6bTIxNS41NjY0MDYgMTgzLjkxNDA2M2gtMzIuMTY3OTY5di02Ni44NTkzNzZoMzIuMTY3OTY5em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ4LjE2MDE1NiAzNzcuNzg5MDYyaDE3LjkyNTc4MmM1LjU3NDIxOCAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MjM0MzgtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTE3LjkyNTc4MmMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTk4LjE0NDUzMSAzNzcuNzg5MDYyaDE3LjkyMTg3NWM1LjU3NDIxOSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MjM0MzctMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTE3LjkyMTg3NWMtNS41NzgxMjUgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTE5NTMxIDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY2LjA0Njg3NSAzNTcuNTkzNzVoLTE3LjkyMTg3NWMtNS41NzQyMTkgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDE3LjkyMTg3NWM1LjU3ODEyNSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDguMTYwMTU2IDQyMC42NzU3ODFoNjcuOTA2MjVjNS41NzQyMTkgMCAxMC4wOTc2NTYtNC41MTk1MzEgMTAuMDk3NjU2LTEwLjA5NzY1NnMtNC41MjM0MzctMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZoLTY3LjkwNjI1Yy01LjU3NDIxOCAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2czQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4LjEyNSA0NDMuMTU2MjVoLTk5Ljk2NDg0NGMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM4IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDk5Ljk2NDg0NGM1LjU3NDIxOSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDYuMzU1NDY5IDQwLjEzNjcxOWMxLjg0Mzc1IDMuMzIwMzEyIDUuMjg1MTU2IDUuMTkxNDA2IDguODMyMDMxIDUuMTkxNDA2IDEuNjYwMTU2IDAgMy4zNDM3NS0uNDE0MDYzIDQuODk4NDM4LTEuMjc3MzQ0IDQuODc1LTIuNzEwOTM3IDYuNjI1LTguODU5Mzc1IDMuOTE0MDYyLTEzLjczNDM3NWwtMTMuOTg0Mzc1LTI1LjEyODkwNmMtMi43MTA5MzctNC44NzEwOTQtOC44NTkzNzUtNi42MjUtMTMuNzM0Mzc1LTMuOTEwMTU2LTQuODcxMDk0IDIuNzEwOTM3LTYuNjI1IDguODU5Mzc1LTMuOTE0MDYyIDEzLjczNDM3NXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTYzLjE0NDUzMSA4My4wMTU2MjUtMjYuMDU0Njg3LTE1LjAzOTA2M2MtNC44MzIwMzItMi43ODkwNjItMTEuMDAzOTA2LTEuMTMyODEyLTEzLjc5Mjk2OSAzLjY5NTMxM3MtMS4xMzI4MTMgMTEuMDAzOTA2IDMuNjk1MzEzIDEzLjc5Mjk2OWwyNi4wNTQ2ODcgMTUuMDQyOTY4YzEuNTg5ODQ0LjkxNzk2OSAzLjMyODEyNSAxLjM1MTU2MyA1LjAzOTA2MyAxLjM1MTU2MyAzLjQ4ODI4MSAwIDYuODgyODEyLTEuODA4NTk0IDguNzUzOTA2LTUuMDQ2ODc1IDIuNzg5MDYyLTQuODMyMDMxIDEuMTMyODEyLTExLjAwNzgxMi0zLjY5NTMxMy0xMy43OTY4NzV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MS4xMTMyODEgMTQ2LjIxMDkzOC0zMC4wODU5MzctMS4yODEyNWMtNS41ODIwMzItLjI1LTEwLjI4MTI1IDQuMDg5ODQzLTEwLjUxOTUzMiA5LjY2MDE1Ni0uMjM0Mzc0IDUuNTcwMzEyIDQuMDg5ODQ0IDEwLjI4MTI1IDkuNjYwMTU3IDEwLjUxNTYyNWwzMC4wODU5MzcgMS4yODEyNWMuMTQ0NTMyLjAwNzgxMi4yOTI5NjkuMDA3ODEyLjQzNzUuMDA3ODEyIDUuMzc4OTA2IDAgOS44NTE1NjMtNC4yNDIxODcgMTAuMDc4MTI1LTkuNjY3OTY5LjIzODI4MS01LjU3MDMxMi00LjA4NTkzNy0xMC4yNzczNDMtOS42NTYyNS0xMC41MTU2MjR6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yODMuNjQwNjI1IDE5OC42MjUuMTIxMDk0LjI5Njg3NWMxLjU4OTg0MyAzLjkyNTc4MSA1LjM2NzE4NyA2LjMwNDY4NyA5LjM1OTM3NSA2LjMwNDY4NyAxLjI2MTcxOCAwIDIuNTQ2ODc1LS4yMzgyODEgMy43ODkwNjItLjc0MjE4NyA1LjE2Nzk2OS0yLjA5Mzc1IDcuNjYwMTU2LTcuOTgwNDY5IDUuNTY2NDA2LTEzLjE0ODQzN2wtLjEyMTA5My0uMjk2ODc2Yy0yLjA5Mzc1LTUuMTY3OTY4LTcuOTgwNDY5LTcuNjU2MjUtMTMuMTQ4NDM4LTUuNTYyNXMtNy42NjAxNTYgNy45ODA0NjktNS41NjY0MDYgMTMuMTQ4NDM4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQ5LjM2NzE4OCAzMTUuNjY3OTY5Yy0yLjA3ODEyNi01LjE3MTg3NS03Ljk2NDg0NC03LjY3OTY4OC0xMy4xMzY3MTktNS42MDE1NjMtNS4xNzE4NzUgMi4wODIwMzItNy42Nzk2ODggNy45NjA5MzgtNS42MDE1NjMgMTMuMTM2NzE5bC4xMTcxODguMjkyOTY5YzEuNTg1OTM3IDMuOTQxNDA2IDUuMzcxMDk0IDYuMzM1OTM3IDkuMzc1IDYuMzM1OTM3IDEuMjUzOTA2IDAgMi41MjczNDQtLjIzNDM3NSAzLjc2MTcxOC0uNzM0Mzc1IDUuMTc1NzgyLTIuMDc4MTI1IDcuNjgzNTk0LTcuOTYwOTM3IDUuNjAxNTYzLTEzLjEzMjgxMnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Amplifier:Une,Awnings:vne,"Battery Status":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zOTQuMDYzIDM5MS45OTZjLTkuMTk4LTUuMjktMTguMzczLTEwLjYyMy0yNy41NTgtMTUuOTM3IDUuMDAyLTExLjc2OSAxMC4xOTQtMjMuOTAyIDE0LjkwMy0zNi4wNTMgMS44MDktNC42NjcgMS4xODktOS45MTEtMS42NTUtMTQuMDI4LTUuNzc2LTguMzYxLTE2Ljg2My04Ljg1NS0yNC4zNDQtMS43NC0xOS42NjEgMTguNy0zOS4wODUgMzctNTguNjUyIDU1LjUzNy0zLjc3NSAzLjU3Ny01LjYzOSA4LjQzNC01LjExIDEzLjMyNy41MjMgNC44NDYgMy4zMzkgOS4xNDQgNy43MjUgMTEuNzkyIDkuMzQ1IDUuNjQxIDE4Ljc2MSAxMC45NTUgMjguMDk4IDE2LjI5MS00LjY0NCAxMC45NTEtMTAuMzcyIDI0LjI0Ni0xNC45MiAzNi4wMDItMi44ODcgNy40NjIuNDIxIDE1Ljc0NCA3LjY5MyAxOS4yNjQgNS43MTQgMi43NjYgMTIuMjggMi4yMTEgMTguMjk5LTMuNDgzIDE5LjM0NC0xOC4zIDM5LjM0My0zNy4yMTQgNTguNjctNTUuNTQ3IDMuODE4LTMuNjIyIDUuNjc0LTguNTEyIDUuMDktMTMuNDE2LS41OTEtNC45NjItMy41OTQtOS4zMzgtOC4yMzktMTIuMDA5em0tNy4xNzQgMTQuNTRjLTE1LjYzNCAxNC44MzItNTguOTQ5IDU2Ljk3My02MC4xMDkgNTYuNDEyLS4xMTgtLjA1Ny0uMzA2LS4xNzgtLjI0LS4zNDkgNS4xNzktMTMuNTI2IDExLjYzNS0yOC4yNzIgMTYuOTE4LTQwLjczMiAxLjQ5My0zLjUyMi45MDctOC4yOC0zLjc2OC0xMC45Ny0xMC44NC02LjIzNy0yMS43OTEtMTIuMzU0LTMyLjU2NC0xOC44NDUtLjgwMi0uNDgzLS43NjctLjcxLS4wNTEtMS4zODggMjAuODc0LTE5Ljc3OSA1Ny45NTktNTUuMzExIDU5LjgwMy01Ni40NTkuMzk2LjA4NC41NDQuMjk5LjU0NS4zODQtNS4zMDcgMTMuNjg0LTExLjIxMyAyNy4zMDUtMTYuOSA0MC43MzktMS43OTQgNC4yMzctLjI5MyA4LjY0OSAzLjczOSAxMC45OCA0LjM5OSAyLjU0IDguNzk2IDUuMDg3IDEzLjE5MSA3LjYzNCA2LjM3NCAzLjY5MyAxMi43NDggNy4zODcgMTkuMTM0IDExLjA1OSAxLjEwNi42MzUgMS4xMzYuNzQ0LjMwMiAxLjUzNXptLTgxLjc4NC0yMDguNGgtMjAxLjQ2Yy0xMC4yNzMgMC0xOC42MzEgOC4zMy0xOC42MzEgMTguNTY5djQ0LjI3NmMwIDEwLjIzOSA4LjM1NyAxOC41NjkgMTguNjMxIDE4LjU2OWgyMDEuNDYxYzEwLjI3MyAwIDE4LjYzMS04LjMzIDE4LjYzMS0xOC41Njl2LTQ0LjI3NmMtLjAwMS0xMC4yMzktOC4zNTgtMTguNTY5LTE4LjYzMi0xOC41Njl6bTMuNjMxIDYyLjg0NWMwIDEuOTY4LTEuNjI5IDMuNTY5LTMuNjMxIDMuNTY5aC0yMDEuNDZjLTIuMDAyIDAtMy42MzEtMS42MDEtMy42MzEtMy41Njl2LTQ0LjI3NmMwLTEuOTY4IDEuNjI5LTMuNTY5IDMuNjMxLTMuNTY5aDIwMS40NjFjMi4wMDIgMCAzLjYzMSAxLjYwMSAzLjYzMSAzLjU2OXY0NC4yNzZ6bTE1LTE0My44OThjMC0xMC4yMzktOC4zNTctMTguNTY5LTE4LjYzMS0xOC41NjloLTIwMS40NmMtMTAuMjczIDAtMTguNjMxIDguMzMtMTguNjMxIDE4LjU2OXY0NC4yNzZjMCAxMC4yMzkgOC4zNTcgMTguNTY5IDE4LjYzMSAxOC41NjloMjAxLjQ2MWMxMC4yNzMgMCAxOC42MzEtOC4zMyAxOC42MzEtMTguNTY5di00NC4yNzZ6bS0xNSA0NC4yNzdjMCAxLjk2OC0xLjYyOSAzLjU2OS0zLjYzMSAzLjU2OWgtMjAxLjQ2Yy0yLjAwMiAwLTMuNjMxLTEuNjAxLTMuNjMxLTMuNTY5di00NC4yNzZjMC0xLjk2OCAxLjYyOS0zLjU2OSAzLjYzMS0zLjU2OWgyMDEuNDYxYzIuMDAyIDAgMy42MzEgMS42MDEgMy42MzEgMy41Njl2NDQuMjc2em0zOC4yNDcgMTIzLjg1N2MtMTguNjUzIDAtMzYuMjY2IDQuNTI5LTUxLjgwMyAxMi41NDJoLTE5MS41MzVjLTEwLjI3MiAwLTE4LjYzIDguMzMxLTE4LjYzIDE4LjU3djQ0LjI3YzAgMTAuMjM5IDguMzU3IDE4LjU3IDE4LjYzIDE4LjU3aDEzMS42MjFjLTEuMDk2IDYuMzE4LTEuNjczIDEyLjgxMi0xLjY3MyAxOS40MzggMCAyNC4yNDMgNy42NTEgNDYuNzI5IDIwLjY2IDY1LjE4MmgtMTUwLjYwOGMtMi4wMDIgMC0zLjYzLTEuNjAyLTMuNjMtMy41N3YtNDQuMjdjMC0xLjk2OSAxLjYyOC0zLjU3IDMuNjMtMy41N2gxMDcuNjQxYzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMDcuNjQxYy0xMC4yNzIgMC0xOC42MyA4LjMzMS0xOC42MyAxOC41N3Y0NC4yN2MwIDEwLjIzOSA4LjM1NyAxOC41NyAxOC42MyAxOC41N2gxNjMuMjM3YzcuMDcgNy4wNjMgMTUuMDY1IDEzLjE5OSAyMy43ODUgMTguMjFoLTE5OC4yNDJjLTE0LjIyNyAwLTI1LjgtMTEuNTc0LTI1LjgtMjUuOHYtMzY1LjA4OWMwLTE0LjIyNiAxMS41NzMtMjUuOCAyNS44LTI1LjhoMjIzLjljMTQuMjI3IDAgMjUuOCAxMS41NzQgMjUuOCAyNS44djE1Ni42NGMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0xNTYuNjRjMC0yMi40OTctMTguMzAzLTQwLjgtNDAuOC00MC44aC00MC4wNjd2LTM1LjYxMWMwLTE2LjM3Ni0xMy4zMjMtMjkuNjk5LTI5LjY5OS0yOS42OTloLTg0LjM2N2MtMTYuMzc2IDAtMjkuNjk5IDEzLjMyMy0yOS42OTkgMjkuNjk5djM1LjYxMWgtNDAuMDY4Yy0yMi40OTcgMC00MC44IDE4LjMwMy00MC44IDQwLjh2MzY1LjA5YzAgMjIuNDk3IDE4LjMwMyA0MC44IDQwLjggNDAuOGgyMjMuOWMzLjg5MiAwIDcuNzMxLS41NTMgMTEuNDQyLTEuNjM2IDYuMjQ4IDEuMDcxIDEyLjY2NyAxLjYzNiAxOS4yMTYgMS42MzYgNjIuNTI0IDAgMTEzLjM5Mi01MC44NjcgMTEzLjM5Mi0xMTMuMzkyIDAtNjIuNTI0LTUwLjg2Ny0xMTMuMzkxLTExMy4zOTItMTEzLjM5MXptLTE5OS40OTEtMjU1LjUxOGMwLTguMTA1IDYuNTk0LTE0LjY5OSAxNC42OTktMTQuNjk5aDg0LjM2N2M4LjEwNSAwIDE0LjY5OSA2LjU5NCAxNC42OTkgMTQuNjk5djM1LjYxMWgtMTEzLjc2NXptLTQzLjg0NyAzMzQuNDcxYy0yLjAwMiAwLTMuNjMtMS42MDItMy42My0zLjU3di00NC4yN2MwLTEuOTY5IDEuNjI4LTMuNTcgMy42My0zLjU3aDE2OS4zNDFjLTE1LjY2NiAxMy41MjEtMjcuNiAzMS4yNS0zNC4wNDEgNTEuNDF6bTI0My4zMzggMTMyLjgzYy01NC4yNTMgMC05OC4zOTItNDQuMTM4LTk4LjM5Mi05OC4zOTIgMC01NC4yNTMgNDQuMTM5LTk4LjM5MSA5OC4zOTItOTguMzkxczk4LjM5MiA0NC4xMzggOTguMzkyIDk4LjM5MWMwIDU0LjI1NC00NC4xMzkgOTguMzkyLTk4LjM5MiA5OC4zOTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Ceiling Spotlights":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDc0IDc0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDYuNDQgNGgtMi45N2ExIDEgMCAwIDEgMC0yaDIuOTdhMSAxIDAgMCAxIDAgMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNjguNjQgMTAuMzhoLTYzLjI4YTEgMSAwIDAgMSAtMS0xdi02LjM4YTEgMSAwIDAgMSAxLTFoMjEuMmExIDEgMCAwIDEgMCAyaC0yMC4ydjQuMzhoNjEuMjh2LTQuMzhoLTE0LjJhMSAxIDAgMCAxIDAtMmgxNS4yYTEgMSAwIDAgMSAxIDF2Ni4zOGExIDEgMCAwIDEgLTEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYuNDcgNGgtMi45MWExIDEgMCAwIDEgMC0yaDIuOTFhMSAxIDAgMCAxIDAgMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcgNTEuMjA3YTEgMSAwIDAgMSAtMS0xdi00MC44MjhhMSAxIDAgMSAxIDIgMHY0MC44MjhhMSAxIDAgMCAxIC0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ2Ljc3MSA2Ny4wN2gtMTkuNTQyYTEgMSAwIDAgMSAtLjk3Ny0xLjIxNWwzLjQ5LTE1Ljg1NWExIDEgMCAwIDEgLjk3Ny0uNzg1aDEyLjU2MmExIDEgMCAwIDEgLjk3Ny43ODVsMy40OSAxNS44NmExIDEgMCAwIDEgLS45NzcgMS4yMTV6bS0xOC4zLTJoMTcuMDU2bC0zLjA0OS0xMy44NmgtMTAuOTU2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyA3MmE1LjkzNiA1LjkzNiAwIDAgMSAtNS45My01LjkzIDEgMSAwIDAgMSAyIDAgMy45MyAzLjkzIDAgMCAwIDcuODYgMCAxIDEgMCAwIDEgMiAwIDUuOTM2IDUuOTM2IDAgMCAxIC01LjkzIDUuOTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTYwLjQxNiAzNS4xMTRhMSAxIDAgMCAxIC0xLTF2LTI0LjczNWExIDEgMCAwIDEgMiAwdjI0LjczNWExIDEgMCAwIDEgLTEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjkuNiA1MC4wMjZoLTE4LjM3YTEgMSAwIDAgMSAtLjk3Ni0xLjIxNWwzLjI4LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgwOWExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgybC0yLjgzOS0xMi45MDloLTEwLjJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTYwLjQxNiA1NC42NmE1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQtNS42MzQgMSAxIDAgMSAxIDIgMCAzLjYzNCAzLjYzNCAwIDEgMCA3LjI2OCAwIDEgMSAwIDEgMSAyIDAgNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0IDUuNjM0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMy41ODQgMzUuMTE0YTEgMSAwIDAgMSAtMS0xdi0yNC43MzVhMSAxIDAgMCAxIDIgMHYyNC43MzVhMSAxIDAgMCAxIC0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyLjc3IDUwLjAyNmgtMTguMzdhMSAxIDAgMCAxIC0uOTc2LTEuMjE1bDMuMjc2LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgxMmExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgxbC0yLjgzOS0xMi45MDloLTEwLjIwM3oiLz4KICAgICAgICA8cGF0aCBkPSJtMTMuNTg0IDU0LjY2YTUuNjQxIDUuNjQxIDAgMCAxIC01LjYzNC01LjYzNCAxIDEgMCAwIDEgMiAwIDMuNjM0IDMuNjM0IDAgMCAwIDcuMjY4IDAgMSAxIDAgMCAxIDIgMCA1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQgNS42MzR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Chandelier:bne,Climate:$ne,"Coffee Makers":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NjYgMTExLjk5NmgtNDkuNzE5bC0xMDkuMjE1LTQ2LjM2MSA0Ljg4OS01NC43NDZjLjI1LTIuNzk2LS42ODctNS41NjgtMi41ODItNy42MzktMS44OTQtMi4wNy00LjU3Mi0zLjI1LTcuMzc4LTMuMjVoLTYwYy0yLjgwNyAwLTUuNDg0IDEuMTgtNy4zNzkgMy4yNS0xLjg5NSAyLjA3MS0yLjgzMSA0Ljg0My0yLjU4MiA3LjYzOWw0Ljg5OCA1NC44NTQtMTA0Ljc5NSA0Ni4yNTNoLTI2LjEzN2MtMzguNTk4IDAtNzAgMzEuNDAyLTcwIDcwdjY5Ljk5N2MwIDE2LjU0MiAxMy40NTggMzAgMzAgMzBzMzAtMTMuNDU4IDMwLTMwdi02OS45OTdjMC01LjQyIDQuNTgtMTAgMTAtMTBoMjYuOTE1bDIxLjQ4MyAxMjEuNzM4YzEuOTI3IDEwLjkyMyA5LjkwNCAxOC4yNjMgMTkuODQ4IDE4LjI2M3Y0MC4wMDNjLTkuNjUyIDAtMTcuMjE3IDYuODAyLTE5Ljc0NCAxNy43NTFsLTMwLjAwMSAxMzBjLS42ODUgMi45NjkuMDIxIDYuMDg5IDEuOTE4IDguNDc0czQuNzc4IDMuNzc0IDcuODI2IDMuNzc0aDI4MGMzLjA0NyAwIDUuOTI5LTEuMzkgNy44MjYtMy43NzQgMS44OTctMi4zODUgMi42MDQtNS41MDUgMS45MTgtOC40NzRsLTMwLjAwMS0xMzBjLTIuNTI1LTEwLjk0OS0xMC4wOTEtMTcuNzUxLTE5Ljc0My0xNy43NTF2LTQwLjAwMmM5Ljk0NCAwIDE3LjkyLTcuMzM5IDE5Ljg0Ny0xOC4yNjJsMTQuMzgxLTgxLjQ5MiA2NC4wNTYtNTUuMjM2YzIuMjAzLTEuODk5IDMuNDctNC42NjUgMy40Ny03LjU3M3YtMjcuNDM4Yy4wMDEtNS41MjQtNC40NzctMTAuMDAxLTkuOTk5LTEwLjAwMXptLTE3NC45MzgtOTEuOTk2LTMuNzUgNDEuOTk2aC0zMC42MzRsLTMuNzUxLTQxLjk5NnptLTQxLjQyMyA2MS45OTZoNDQuNzg1bDcwLjY3MiAzMGgtMTgzLjQyOHptLTE0My42MzkgNzAuMDAxYy0xNi41NDIgMC0zMCAxMy40NTgtMzAgMzB2NjkuOTk3YzAgNS41MTQtNC40ODYgMTAtMTAgMTBzLTEwLTQuNDg2LTEwLTEwdi02OS45OTdjMC0yNy41NyAyMi40My01MCA1MC01MGgxOS44NTZsMy41MyAyMHptNjguMDk0IDEzOC4yNjMtMjcuOTI5LTE1OC4yNjRoNjIuNzYybDIuNTI4IDM1LjgxN2MuMzcyIDUuMjcgNC43NjIgOS4yOTYgOS45NjUgOS4yOTYuMjM2IDAgLjQ3NS0uMDA4LjcxNC0uMDI1IDUuNTA5LS4zODkgOS42Ni01LjE3IDkuMjcxLTEwLjY3OWwtMi40MjktMzQuNDA5aDkwLjUzOWwtMTEuMjk1IDE2MC4wMDJoLTY3Ljk0OWwtMi41MjktMzUuODE3Yy0uMzg5LTUuNTA5LTUuMTY2LTkuNjYxLTEwLjY3OS05LjI3MS01LjUwOS4zODktOS42NiA1LjE3LTkuMjcxIDEwLjY3OWwyLjQyOSAzNC40MDloLTQ1LjUxOGMtLjE5OS0uMzIxLS40NjMtLjkxNC0uNjA5LTEuNzM4em0tLjEwMyA4My45ODhjLjI1OS0xLjEyNS42MS0xLjg1Ny44NTMtMi4yNDloNDUuMzZsLTExLjA3NyAxMjBoLTYyLjMxem0xMzQuMjEyLTIuMjQ4IDExLjA3NyAxMjBoLTkwLjA2OWwxMS4wNzctMTIwem02Ni4yOTcgMi4yNDggMjcuMTc1IDExNy43NTJoLTYyLjMxbC0xMS4wNzctMTIwaDQ1LjM2Yy4yNDMuMzkxLjU5MyAxLjEyMy44NTIgMi4yNDh6bS0yMC4yNTUtMjIuMjQ4aC0xNTkuOTk4di00MC4wMDJoMTU5Ljk5OHptMjAuMTUxLTYxLjc0Yy0uMTQ2LjgyNC0uNDA5IDEuNDE3LS42MDggMS43MzdoLTQ1LjUxOGwxMS4yOTUtMTYwLjAwMWg2Mi43NjJsLTEyLjkzNyA3My4zMDljMCAuMDAxIDAgLjAwMi0uMDAxLjAwM3ptODEuNjA0LTE0NS40MDctNDIuMDI5IDM2LjI0MiA4LjY2NS00OS4wOTloMzMuMzY0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMjQuNTk5IDIyMS45OTdjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBoLS4wMDdjLTUuNTIzIDAtOS45OTYgNC40NzctOS45OTYgMTBzNC40OCAxMCAxMC4wMDMgMTB6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Cold Water":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3NSA0NzUiID4KPGcgZmlsbD0iY3VycmVudENvbG9yIj4KCTxwYXRoIGQ9Ik00MzguNDEzLDM0My4xODhDNDI4LjA1OSwzMzUuMDg1LDQxNS4xNzQsMzI1LDM5MC44MzUsMzI1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3NywxOC4xODgKCQlDMzM0LjQ5NiwzNTAuMDQ1LDMyOC4xNjUsMzU1LDMxNC4xNywzNTVjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzQzI3NC43MjksMzM1LjA4NSwyNjEuODQ0LDMyNSwyMzcuNTA2LDMyNQoJCWMtMjQuMzM5LDAtMzcuMjI0LDEwLjA4NS00Ny41NzgsMTguMTg4QzE4MS4xNjYsMzUwLjA0NSwxNzQuODM0LDM1NSwxNjAuODQsMzU1Yy0xMy45OTYsMC0yMC4zMjctNC45NTUtMjkuMDktMTEuODEzCgkJQzEyMS4zOTUsMzM1LjA4NCwxMDguNTA5LDMyNSw4NC4xNywzMjVjLTI0LjMzOSwwLTM3LjIyNSwxMC4wODQtNDcuNTc5LDE4LjE4OEMyNy44MjgsMzUwLjA0NSwyMS40OTYsMzU1LDcuNSwzNTV2MzAKCQljMjQuMzM5LDAsMzcuMjI1LTEwLjA4NCw0Ny41NzktMTguMTg4QzYzLjg0MiwzNTkuOTU1LDcwLjE3NCwzNTUsODQuMTcsMzU1YzEzLjk5NiwwLDIwLjMyNyw0Ljk1NSwyOS4wOTEsMTEuODEzCgkJQzEyMy42MTUsMzc0LjkxNiwxMzYuNSwzODUsMTYwLjg0LDM4NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg0LDQ3LjU3OC0xOC4xODhDMjE3LjE4LDM1OS45NTUsMjIzLjUxMSwzNTUsMjM3LjUwNiwzNTUKCQljMTMuOTk0LDAsMjAuMzI1LDQuOTU1LDI5LjA4NywxMS44MTNDMjc2Ljk0NywzNzQuOTE1LDI4OS44MzMsMzg1LDMxNC4xNywzODVjMjQuMzM4LDAsMzcuMjI0LTEwLjA4NSw0Ny41NzctMTguMTg4CgkJQzM3MC41MSwzNTkuOTU1LDM3Ni44NDEsMzU1LDM5MC44MzUsMzU1YzEzLjk5NSwwLDIwLjMyNSw0Ljk1NSwyOS4wODgsMTEuODEzQzQzMC4yNzcsMzc0LjkxNSw0NDMuMTYyLDM4NSw0NjcuNSwzODV2LTMwCgkJQzQ1My41MDYsMzU1LDQ0Ny4xNzUsMzUwLjA0NSw0MzguNDEzLDM0My4xODh6Ii8+Cgk8cGF0aCBkPSJNMzkwLjgzNSw0MTVjLTI0LjMzOCwwLTM3LjIyNCwxMC4wODUtNDcuNTc3LDE4LjE4OEMzMzQuNDk2LDQ0MC4wNDUsMzI4LjE2NSw0NDUsMzE0LjE3LDQ0NQoJCWMtMTMuOTk0LDAtMjAuMzI1LTQuOTU1LTI5LjA4Ny0xMS44MTNDMjc0LjcyOSw0MjUuMDg1LDI2MS44NDQsNDE1LDIzNy41MDYsNDE1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3OCwxOC4xODgKCQlDMTgxLjE2Niw0NDAuMDQ1LDE3NC44MzQsNDQ1LDE2MC44NCw0NDVjLTEzLjk5NiwwLTIwLjMyNy00Ljk1NS0yOS4wOS0xMS44MTNDMTIxLjM5NSw0MjUuMDg0LDEwOC41MDksNDE1LDg0LjE3LDQxNQoJCWMtMjQuMzM5LDAtMzcuMjI1LDEwLjA4NC00Ny41NzksMTguMTg4QzI3LjgyOCw0NDAuMDQ1LDIxLjQ5Niw0NDUsNy41LDQ0NXYzMGMyNC4zMzksMCwzNy4yMjUtMTAuMDg0LDQ3LjU3OS0xOC4xODgKCQlDNjMuODQyLDQ0OS45NTUsNzAuMTc0LDQ0NSw4NC4xNyw0NDVjMTMuOTk2LDAsMjAuMzI3LDQuOTU1LDI5LjA5MSwxMS44MTNDMTIzLjYxNSw0NjQuOTE2LDEzNi41LDQ3NSwxNjAuODQsNDc1CgkJYzI0LjMzOCwwLDM3LjIyNC0xMC4wODQsNDcuNTc4LTE4LjE4OEMyMTcuMTgsNDQ5Ljk1NSwyMjMuNTExLDQ0NSwyMzcuNTA2LDQ0NWMxMy45OTQsMCwyMC4zMjUsNC45NTUsMjkuMDg3LDExLjgxMwoJCUMyNzYuOTQ3LDQ2NC45MTUsMjg5LjgzMyw0NzUsMzE0LjE3LDQ3NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg1LDQ3LjU3Ny0xOC4xODhDMzcwLjUxLDQ0OS45NTUsMzc2Ljg0MSw0NDUsMzkwLjgzNSw0NDUKCQljMTMuOTk1LDAsMjAuMzI1LDQuOTU1LDI5LjA4OCwxMS44MTNDNDMwLjI3Nyw0NjQuOTE1LDQ0My4xNjIsNDc1LDQ2Ny41LDQ3NXYtMzBjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzCgkJQzQyOC4wNTksNDI1LjA4NSw0MTUuMTc0LDQxNSwzOTAuODM1LDQxNXoiLz4KCTxwb2x5Z29uIHBvaW50cz0iMTg0LjM3OCwyNTguMzIzIDIyMi41LDIzNi4zMTMgMjIyLjUsMjgwLjMzMyAyNTIuNSwyODAuMzMzIDI1Mi41LDIzNi4zMTMgMjkwLjYyMiwyNTguMzIzIDMwNS42MjIsMjMyLjM0MwoJCTI2Ny41LDIxMC4zMzMgMzA1LjYyMiwxODguMzIzIDI5MC42MjIsMTYyLjM0MyAyNTIuNSwxODQuMzUzIDI1Mi41LDE0MC4zMzMgMjIyLjUsMTQwLjMzMyAyMjIuNSwxODQuMzUzIDE4NC4zNzgsMTYyLjM0MwoJCTE2OS4zNzgsMTg4LjMyMyAyMDcuNSwyMTAuMzMzIDE2OS4zNzgsMjMyLjM0MyAJCQkiLz4KCTxwb2x5Z29uIHBvaW50cz0iMjQuMDk1LDExNy45OSA2Mi4yMTYsOTUuOTggNjIuMjE2LDE0MCA5Mi4yMTYsMTQwIDkyLjIxNiw5NS45OCAxMzAuMzM4LDExNy45OSAxNDUuMzM4LDkyLjAxIDEwNy4yMTYsNzAKCQkxNDUuMzM4LDQ3Ljk5IDEzMC4zMzgsMjIuMDEgOTIuMjE2LDQ0LjAyIDkyLjIxNiwwIDYyLjIxNiwwIDYyLjIxNiw0NC4wMiAyNC4wOTUsMjIuMDEgOS4wOTUsNDcuOTkgNDcuMjE3LDcwIDkuMDk1LDkyLjAxCgkJIi8+Cgk8cG9seWdvbiBwb2ludHM9IjM0NC42NjIsMTE3Ljk5IDM4Mi43ODQsOTUuOTggMzgyLjc4NCwxNDAgNDEyLjc4NCwxNDAgNDEyLjc4NCw5NS45OCA0NTAuOTA1LDExNy45OSA0NjUuOTA1LDkyLjAxIDQyNy43ODMsNzAKCQk0NjUuOTA1LDQ3Ljk5IDQ1MC45MDUsMjIuMDEgNDEyLjc4NCw0NC4wMiA0MTIuNzg0LDAgMzgyLjc4NCwwIDM4Mi43ODQsNDQuMDIgMzQ0LjY2MiwyMi4wMSAzMjkuNjYyLDQ3Ljk5IDM2Ny43ODQsNzAKCQkzMjkuNjYyLDkyLjAxIAkJCSIvPgo8L2c+Cjwvc3ZnPgo=",Computer:Pne,Consumption:Wne,Curtains:Rne,Dishwashers:Jne,Doors:Bne,Doorstep:Fne,Dryer:Gne,Fan:Hne,"Floor Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNzcuMDE4IDEwNC40LTU0Ljg2MS05My40MTZjLTMuOTgtNi43NzUtMTEuMzM0LTEwLjk4NC0xOS4xOTEtMTAuOTg0aC05MS42NTVjLTcuNjk3IDAtMTQuOTczIDQuMDc5LTE4Ljk4NyAxMC42NDRsLTU3LjEzNSA5My40MTRjLTkuMDU1IDE0LjgwMyAxLjYyNiAzMy44NyAxOC45ODcgMzMuODdoMjguMTgyYzIuMjIyIDMzLjQ1MiAyNi44MDggNjAuODg0IDU4LjkxNiA2Ny40MS0uMjc0IDEuODI2LS4xODQtMTMuNTEtLjE4NCAyMTcuMTk1aC0zNy40ODRjLTExLjg5OCAwLTIxLjU3OSA5LjY4LTIxLjU3OSAyMS41Nzl2NDYuMzFjMCAxMS44OTggOS42OCAyMS41NzkgMjEuNTc5IDIxLjU3OWgxMDQuNzljMTEuODk5IDAgMjEuNTc5LTkuNjggMjEuNTc5LTIxLjU3OXYtNDYuMzFjMC0xMS44OTgtOS42OC0yMS41NzktMjEuNTc5LTIxLjU3OWgtMzcuNDg0YzAtMjMwLjc2Ni4wOS0yMTUuMzctLjE4NC0yMTcuMTk1IDIyLjAyNS00LjQ3NiA0MC41MDUtMTguNzk1IDUwLjY2Ni0zOC4xNDF2MzcuNjMxYzAgOC4yMzUgNi42NzYgMTQuOTExIDE0LjkxMSAxNC45MTFzMTQuOTExLTYuNjc2IDE0LjkxMS0xNC45MTF2LTY2LjloNi42MWMxNy4xNjYgMCAyNy44OTMtMTguNzA4IDE5LjE5Mi0zMy41Mjh6bS03Ni44NjYgMzc3Ljc3OGgtODguMzAydi0yOS44MjJoODguMzAyem0tODQuNTk5LTQ1Mi4zNTZoODMuMDgzbDQ1Ljk3NCA3OC4yODRjLTcuMDYxIDAtMTY5LjkwMyAwLTE3Ni45MzggMHptNDAuNDQ3IDE0Ny4xNzJjLTIyLjU5NSAwLTQxLjI2Ny0xNy4xMTctNDMuNzI5LTM5LjA2Nmg4Ny40NThjLTIuNDYyIDIxLjk0OS0yMS4xMzQgMzkuMDY2LTQzLjcyOSAzOS4wNjZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Garage Doors":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDcyLDY0YzQuNDE4LDAsOC0zLjU4Miw4LThWOGMwLTQuNDE4LTMuNTgyLTgtOC04SDhDMy41ODIsMCwwLDMuNTgyLDAsOHY0OGMwLDQuNDE4LDMuNTgyLDgsOCw4aDE2djQwMEg4CgkJYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ2NGM0LjQxOCwwLDgtMy41ODIsOC04cy0zLjU4Mi04LTgtOGgtMTZWNjRINDcyeiBNNDA4LDQ2NEg3MnYtNDhoMzM2VjQ2NHogTTQwOCw0MDBINzJ2LTQ4CgkJaDMzNlY0MDB6IE00MDgsMzM2SDcydi00OGgzMzZWMzM2eiBNNDA4LDI3Mkg3MnYtNDhoMzM2VjI3MnogTTQwOCwyMDhINzJ2LTQ4aDMzNlYyMDh6IE00MDgsMTQ0SDcyVjk2aDMzNlYxNDR6IE00NDAsNDY0aC0xNlY4OAoJCWMwLTQuNDE4LTMuNTgyLTgtOC04SDY0Yy00LjQxOCwwLTgsMy41ODItOCw4djM3Nkg0MFY2NGg0MDBWNDY0eiBNMTYsNDhWMTZoNDQ4djMySDE2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTYsNDU2aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LDMuNTgyLTgsOFMyMTEuNTgyLDQ1NiwyMTYsNDU2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Gates:Vne,Hairdryer:Zne,Handle:Xne,"Hanging Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im05My41MjUgMzU5Ljc3MWgxMDcuODg1djQuMTI5YTUzLjA3MiA1My4wNzIgMCAxIDAgMTA2LjE0NCAwdi00LjEyNGgxMTAuOTIxYTYgNiAwIDAgMCA2LTZjMC04Mi4wMTUtNTguOTEzLTE1MC41MTgtMTM2LjY0LTE2NS40NDR2LTIwLjMxOWEzMS44ODMgMzEuODgzIDAgMCAwIC0yNS44MzUtMzEuMjZ2LTEyMC43NTNhNiA2IDAgMCAwIC0xMiAwdjEyMC43NTNhMzEuODgzIDMxLjg4MyAwIDAgMCAtMjUuODM1IDMxLjI2djIwLjMxNGMtNzcuNzI3IDE0LjkyNi0xMzYuNjQgODMuNDI5LTEzNi42NCAxNjUuNDQ0YTYgNiAwIDAgMCA2IDZ6bTIwMi4wMjkgNC4xMjlhNDEuMDcyIDQxLjA3MiAwIDEgMSAtODIuMTQ0IDB2LTQuMTI0aDgyLjE0NHptLTM5LjU1NC0yMTUuNzIyYTE5Ljg1MSAxOS44NTEgMCAwIDEgMTkuMTggMTQuODY4aC0zOC4zNmExOS44NTEgMTkuODUxIDAgMCAxIDE5LjE4LTE0Ljg2OHptLTE5LjgzNSAyNi44NjhoMzkuNjd2MTEuNDI0YTE2OC4yODggMTY4LjI4OCAwIDAgMCAtMzkuNjcgMHptMTkuODM1IDIyLjI1NGM4NC4yNzQgMCAxNTMuMiA2Ni45NiAxNTYuMzYxIDE1MC40NzRoLTMxMi43MjJjMy4xNjEtODMuNTE3IDcyLjA4Ny0xNTAuNDc0IDE1Ni4zNjEtMTUwLjQ3NHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjUwIDQ1NS41MDh2NDAuNDkyYTYgNiAwIDAgMCAxMiAwdi00MC40OTJhNiA2IDAgMCAwIC0xMiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDMuNDIyIDQzMS40ODhhNiA2IDAgMCAwIC0uMDc1IDguNDg1bDI4LjM0NCAyOC44NTFhNiA2IDAgMCAwIDguNTYxLTguNDFsLTI4LjM0NC0yOC44NTFhNiA2IDAgMCAwIC04LjQ4Ni0uMDc1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAuMDkyIDQzMS41NjMtMjguMzQ0IDI4Ljg1MWE2IDYgMCAwIDAgOC41NjEgOC40MWwyOC4zNDQtMjguODUxYTYgNiAwIDAgMCAtOC41NjEtOC40MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTg2Ljc1IDIzNi44MWExNjguNzMxIDE2OC43MzEgMCAwIDAgLTQ1LjkyNyA0OC4xNDMgNiA2IDAgMSAwIDEwLjE0MSA2LjQxNyAxNTYuNzgxIDE1Ni43ODEgMCAwIDEgNDIuNjc3LTQ0LjczNiA2IDYgMCAwIDAgLTYuODkxLTkuODI0eiIvPgogICAgPC9nPgo8L3N2Zz4=",Heater:Kne,Hoods:qne,"Hot Water":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMCA1MTAiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTUgMjQxLjkwMmMtMTguMjIzIDAtMzMuMzU4LTUuOTM3LTQ1LjA5Mi0xNy42MnYtMTQ5LjM1NGMwLTQxLjMxNS0zMy42MTMtNzQuOTI4LTc0LjkyOS03NC45MjhzLTc0LjkyOCAzMy42MTMtNzQuOTI4IDc0LjkyOHYxNDkuMzk1Yy0yNC4yNTQgMjQuMTA3LTY5LjQ3NiAyNC40MTUtOTMuNjYzLTMuODAzLTUuOTgxLTYuOTc4LTE2Ljc5My02Ljk4Mi0yMi43NzcgMC0yNC41ODYgMjguNjg1LTcyLjUzOCAyOC43OTgtOTcuMjIzIDAtNi4zMjItNy4zNzgtMTcuODY3LTYuODY3LTIzLjUzNy45NjMtLjE0OC4yMDQtMTUuNjg4IDIwLjQxOC00Ny44NTIgMjAuNDE4LTguMjg0IDAtMTUgNi43MTYtMTUgMTVzNi43MTYgMTUgMTUgMTVjMjguNjMyIDAgNDguNDg5LTExLjI4IDYwLjAyNy0yMC42MjQgMzMuNDQ3IDI3LjYxNSA4Ni41MTIgMjcuNjI1IDExOS45NzMtLjAyMiAzMC4xOTEgMjQuOTQ0IDc0LjM2MiAyNi4xNzkgMTA1LjA1MiA5Ljk1N3Y0MC40NzFjLTI3Ljk4NCAyMy4xMzEtNDMuODExIDU3Ljg3OC00Mi42NTggOTQuNDUzIDEuOTc0IDYyLjcyOCA1My43NDMgMTEzLjg2NCAxMTcuNTg2IDExMy44NjQgNjQuODcxIDAgMTE3LjY0Ny01Mi43NzYgMTE3LjY0Ny0xMTcuNjQ2IDAtMzUuMDctMTUuODM3LTY4LjQwNi00Mi43MTktOTAuNjY2di00MC40OTdjMTMuMzI1IDcuMDUyIDI4LjUxNyAxMC43MSA0NS4wOTIgMTAuNzEgOC4yODQgMCAxNS02LjcxNiAxNS0xNXMtNi43MTUtMTQuOTk5LTE0Ljk5OS0xNC45OTl6bS0xMjAuMDItMjExLjkwMmMyNC43NzMgMCA0NC45MjggMjAuMTU1IDQ0LjkyOCA0NC45Mjh2MTQ5LjUzN2MtOC4zMTQgOC4yMTEtMTguMzI3IDEzLjU1MS0yOS45MjkgMTUuOTUzdi0xNDMuOTU3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVzLTE1IDYuNzE2LTE1IDE1djE0My45NDdjLTExLjYwMy0yLjQwOS0yMS42MTUtNy43NTktMjkuOTI4LTE1Ljk4M3YtMTQ5LjQ5N2MuMDAxLTI0Ljc3MyAyMC4xNTYtNDQuOTI4IDQ0LjkyOS00NC45Mjh6bS0uMDAxIDM0My41MDRjMTAuNTMyIDAgMTkuMTAxIDguNTY4IDE5LjEwMSAxOS4xcy04LjU2OCAxOS4xLTE5LjEwMSAxOS4xYy0xMC41MzEgMC0xOS4xLTguNTY4LTE5LjEtMTkuMXM4LjU2OS0xOS4xIDE5LjEtMTkuMXptODcuNjQ4IDE4Ljg1YzAgNDguMzI5LTM5LjMxOCA4Ny42NDYtODcuNjQ3IDg3LjY0Ni00Ni44MzEgMC04Ni4xMjktMzguMDQ0LTg3LjYwMi04NC44MDgtLjkyLTI5LjIxOCAxMi43MDQtNTYuODc1IDM2LjQ0My03My45ODEgMy45MTItMi44MTkgNi4yMy03LjM0NyA2LjIzLTEyLjE2OXYtNDcuNzc0YzkuMTQ4IDQuODIgMTkuMTc3IDguMDMzIDI5LjkyOCA5LjU2OHY3NS4wMmMtMTkuNzU4IDYuMzU1LTM0LjEgMjQuOTA1LTM0LjEgNDYuNzQ4IDAgMjcuMDc0IDIyLjAyNiA0OS4xIDQ5LjEgNDkuMXM0OS4xMDEtMjIuMDI2IDQ5LjEwMS00OS4xYzAtMjEuODQzLTE0LjM0Mi00MC4zOTMtMzQuMTAxLTQ2Ljc0OHYtNzUuMDE0YzEwLjc1LTEuNTMxIDIwLjc4LTQuNzM4IDI5LjkyOS05LjU1MnY0Ny43NTNjMCA0LjgyMiAyLjMxOCA5LjM1MSA2LjIzIDEyLjE2OSAyMi44NDggMTYuNDYzIDM2LjQ4OSA0My4wNTkgMzYuNDg5IDcxLjE0MnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc4LjE5IDMwOC4zMzJjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNzMuODU3IDM3OS4xMTdjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjQuODYzIDE1NC4xNDNjLTUuODU4IDUuODU4LTUuODU4IDE1LjM1NSAwIDIxLjIxMyA1Ljg1NyA1Ljg1NyAxNS4zNTUgNS44NTggMjEuMjEzIDAgMjEuMDQ2LTIxLjA0NiAyMS4wNDYtNTUuMjkxIDAtNzYuMzM4LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ny01Ljg1OC0xNS4zNTUtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzQ5IDkuMzQ5IDkuMzQ5IDI0LjU2MSAwIDMzLjkxMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTQyLjI1MSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcxIDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjE5LjYzOSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcgOS4zNzEgOS4zNzMgMjQuNTM5IDAgMzMuOTEyeiIvPgogICAgPC9nPgo8L3N2Zz4=",Humidity:eae,Iron:tae,Irrigation:sae,"Led Strip":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMTYgMThhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2IDI2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNiA0MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgNTBhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE2IDU4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNiAzNGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTIgNjJoOGExIDEgMCAwIDAgMS0xdi00OWg2djQxYTEgMSAwIDAgMCAuMjkzLjcwN2w4IDhhMSAxIDAgMCAwIC43MDcuMjkzaDhhMSAxIDAgMCAwIC43MDctLjI5M2w4LThhMSAxIDAgMCAwIC4yOTMtLjcwN3YtNTBhMSAxIDAgMCAwIC0xLTFoLThhMSAxIDAgMCAwIC0xIDF2NDloLTZ2LTQ5YTEgMSAwIDAgMCAtMS0xaC0xNmExIDEgMCAwIDAgLS43MDcuMjkzbC04IDhhMSAxIDAgMCAwIC0uMjkzLjcwN3Y1MGExIDEgMCAwIDAgMSAxem0zMy0xM3YtNDVoNnY0OC41ODZsLTYgNnptLTggNWg2djZoLTZ6bS04LTV2LTQ1aDZ2NTQuNTg2bC02LTZ6bS04LTQ1aDZ2NmgtNnptLTggNTF2LTQzLjU4Nmw2LTZ2NTQuNTg2aC02eiIvPgogICAgICAgIDxwYXRoIGQ9Im00OCA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggNDRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4IDI4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im00OCAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDggMTJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ4IDM2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMiA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgNDRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDI4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMiAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzIgMTJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDM2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMyA2aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzkgNTZoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00IDMxaDV2MmgtNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNiAyNWgydjVoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNiAtLjggLjggLjYgLTE5LjIgMTYuNikiLz4KICAgICAgICA8cGF0aCBkPSJtNC41IDM1LjVoNXYyaC01eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjggLS42IC42IC44IC0yMC41MDUgMTEuNTA1KSIvPgogICAgICAgIDxwYXRoIGQ9Im01NSAzMWg1djJoLTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU0LjUgMjYuNWg1djJoLTV6IiB0cmFuc2Zvcm09Im1hdHJpeCguOCAtLjYgLjYgLjggLTUuMDk4IDM5LjcxMikiLz4KICAgICAgICA8cGF0aCBkPSJtNTYgMzRoMnY1aC0yeiIgdHJhbnNmb3JtPSJtYXRyaXgoLjYgLS44IC44IC42IC02LjQgNjAuMikiLz4KICAgIDwvZz4KPC9zdmc+",Light:iae,Lightings:oae,Lock:rae,Louvre:Mae,"Mowing Machine":"PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NyA1NGM1LjUxNCAwIDEwLTQuNDg2IDEwLTEwcy00LjQ4Ni0xMC0xMC0xMC0xMCA0LjQ4Ni0xMCAxMCA0LjQ4NiAxMCAxMCAxMHptLTcuOTMxLTExYy4xODMtMS40NTguNzU5LTIuNzkyIDEuNjE5LTMuODk4bDEuMzYyIDEuMzYzIDEuNDE0LTEuNDE0LTEuMzYyLTEuMzYyYzEuMTA2LS44NiAyLjQ0LTEuNDM2IDMuODk4LTEuNjE5djEuOTNoMnYtMS45MzFjMS40NTguMTgzIDIuNzkyLjc1OSAzLjg5OCAxLjYxOWwtMS4zNjIgMS4zNjIgMS40MTQgMS40MTQgMS4zNjItMS4zNjNjLjg2IDEuMTA2IDEuNDM2IDIuNDQgMS42MTkgMy44OThoLTEuOTMxdjJoMS45MzFjLS4xODMgMS40NTgtLjc1OSAyLjc5Mi0xLjYxOSAzLjg5OGwtMS4zNjItMS4zNjMtMS40MTQgMS40MTQgMS4zNjIgMS4zNjJjLTEuMTA2Ljg2LTIuNDQgMS40MzYtMy44OTggMS42MTl2LTEuOTI5aC0ydjEuOTMxYy0xLjQ1OC0uMTgzLTIuNzkyLS43NTktMy44OTgtMS42MTlsMS4zNjItMS4zNjItMS40MTQtMS40MTQtMS4zNjIgMS4zNjNjLS44Ni0xLjEwNi0xLjQzNi0yLjQ0LTEuNjE5LTMuODk4aDEuOTMxdi0yaC0xLjkzMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNTcgMjFoLTI0Ljk4Yy0xLjUxMSAwLTIuOTg0LjQyNi00LjI2MiAxLjIyOWwtMjIuMDIxIDEzLjg2NmMtMi4zNCAxLjQ3My0zLjczNyA0LjAwNS0zLjczNyA2Ljc2OXY2LjEzNmMwIC41NTMuNDQ4IDEgMSAxaDMzLjA4OGMuMzQxIDAgLjY1OC0uMTc0Ljg0Mi0uNDYuMTg0LS4yODcuMjA5LS42NDcuMDY3LS45NTctLjc1LTEuNjM1LTEuMDgtMy4zODctLjk3OS01LjIwOC4zMDktNS41OTEgNC45MzYtMTAuMTQ1IDEwLjUzNS0xMC4zNjYgMy4wMjgtLjExNiA1Ljg5Mi45NjcgOC4wNjkgMy4wNiAyLjE3OCAyLjA5MyAzLjM3OCA0LjkxIDMuMzc4IDcuOTMxIDAgLjU1My40NDggMSAxIDFoM2MuNTUyIDAgMS0uNDQ3IDEtMXYtMTdjMC0zLjMwOS0yLjY5MS02LTYtNnptLTI4LjE3NyAyLjkyM2MuOTU5LS42MDQgMi4wNjQtLjkyMyAzLjE5Ny0uOTIzaDEwLjM3bC04LjM5MSA1LjAzNXYtLjAzNWgtMTEuNjUxem0tMjIuMDIgMTMuODY0IDEyLjM2OC03Ljc4N2gxMS41NTJsLTE4LjIzMyAxMC45NGMtMS4xNTcuNjk0LTIuNDggMS4wNi0zLjgyNyAxLjA2aC00LjU5NmMuMjQ4LTEuNzI4IDEuMjI5LTMuMjYzIDIuNzM2LTQuMjEzem01NC4xOTcgNS4yMTNoLTEuMDM4Yy0uMjM5LTMuMTg4LTEuNjIzLTYuMTMyLTMuOTU1LTguMzc0LTIuNTczLTIuNDczLTUuOTYzLTMuNzUtOS41MzQtMy42MTUtNi4xOS4yNDUtMTEuMzc0IDQuOTctMTIuMzE3IDEwLjk4OWgtMTcuMTU2djJoMTcuMDEzYy4wMDIgMS4zNjEuMjAyIDIuNzE1LjYxNSA0aC0zMC42Mjh2LTRoNC42NjNjMS43MDkgMCAzLjM4OS0uNDY1IDQuODU2LTEuMzQ1bDMyLjc1OC0xOS42NTVoMTAuNzIzYzIuMjA2IDAgNCAxLjc5NCA0IDR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3IDQ4YzIuMjA2IDAgNC0xLjc5NCA0LTRzLTEuNzk0LTQtNC00LTQgMS43OTQtNCA0IDEuNzk0IDQgNCA0em0wLTZjMS4xMDMgMCAyIC44OTcgMiAycy0uODk3IDItMiAyLTItLjg5Ny0yLTIgLjg5Ny0yIDItMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNi42NTEgMTUuNjM1Yy0xLjc1NyAyLjEyNS0xLjQ1OCA1LjI4Mi42NjcgNy4wNGw0LjYyNCAzLjgyM2MuMTg3LjE1NC40MTIuMjI5LjYzNy4yMjkuMjg4IDAgLjU3My0uMTI0Ljc3MS0uMzYyIDEuNzU3LTIuMTI1IDEuNDU4LTUuMjgyLS42NjctNy4wNGwtNC42MjQtMy44MjNjLS40MjYtLjM1Mi0xLjA1Ni0uMjkyLTEuNDA4LjEzM3ptNS42NjIgOC41NzYtMy43MjEtMy4wNzdjLTEuMDA0LS44MzEtMS4zMjktMi4xODUtLjkwNS0zLjM0NWwzLjcyMSAzLjA3N2MxLjAwNS44MzEgMS4zMjkgMi4xODUuOTA1IDMuMzQ1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMS40NDUgOS4yMjktNC42MjQgMy44MjNjLTIuMTI1IDEuNzU4LTIuNDI0IDQuOTE2LS42NjcgNy4wNC4xOTguMjM5LjQ4My4zNjIuNzcxLjM2Mi4yMjUgMCAuNDUtLjA3NS42MzctLjIyOWw0LjYyNC0zLjgyM2MyLjEyNS0xLjc1NyAyLjQyNC00LjkxNS42NjctNy4wNC0uMzUyLS40MjQtLjk4My0uNDg0LTEuNDA4LS4xMzN6bS0uNTMzIDUuNjMyLTMuNzIyIDMuMDc4Yy0uMTUyLS40MTUtLjIxMS0uODYzLS4xNjgtMS4zMTYuMDc2LS43OTguNDU4LTEuNTE5IDEuMDc1LTIuMDI5bDMuNzIxLTMuMDc3Yy40MjMgMS4xNi4wOTkgMi41MTMtLjkwNiAzLjM0NHoiLz4KICAgIDwvZz4KPC9zdmc+",Music:nae,"Outdoor Blinds":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00NTcgMGgtNDAyYy0zMC4zMjcgMC01NSAyNC42NzMtNTUgNTV2NDU3aDQzMnYtNDA4LjAzNWM3LjUwNyAzLjg0OCAxNiA2LjAzNSAyNSA2LjAzNSAzMC4zMjcgMCA1NS0yNC42NzMgNTUtNTVzLTI0LjY3My01NS01NS01NXptLTQwMiAzMGgzNTMuMDM1Yy0zLjg0OCA3LjUwNy02LjAzNSAxNi02LjAzNSAyNXY3aC0zNzJ2LTdjMC0xMy43ODUgMTEuMjE1LTI1IDI1LTI1em0tMjUgMjcydi0zMGgzNzJ2MzB6bTM3MiAzMHYzMGgtMzcydi0zMHptLTM3Mi05MHYtMzBoMzcydjMwem0wLTYwdi0zMGgzNzJ2MzB6bTAtNjB2LTMwaDM3MnYzMHptMCAzNjB2LTkwaDM3MnY5MHptNDI3LTQwMmMtMTMuNzg1IDAtMjUtMTEuMjE1LTI1LTI1czExLjIxNS0yNSAyNS0yNSAyNSAxMS4yMTUgMjUgMjUtMTEuMjE1IDI1LTI1IDI1eiIvPgogICAgICAgIDxwYXRoIGQ9Im02MCA0MjJoMzB2MzBoLTMweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNDIgNDIyaDMwdjMwaC0zMHoiLz4KICAgIDwvZz4KPC9zdmc+",People:aae,Pool:cae,"Power Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMTIgM2MtLjI3NiAwLS41LS4yMjQtLjUtLjV2LTJjMC0uMjc2LjIyNC0uNS41LS41cy41LjIyNC41LjV2MmMwIC4yNzYtLjIyNC41LS41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4LjcxOCA1Ljc4MmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMy41IDEyLjVoLTJjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgyYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMjAuMTMyIDIwLjYzMmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDZsLTEuNDE0LTEuNDE0Yy0uMTk1LS4xOTUtLjE5NS0uNTEyIDAtLjcwN3MuNTEyLS4xOTUuNzA3IDBsMS40MTQgMS40MTRjLjE5NS4xOTUuMTk1LjUxMiAwIC43MDctLjA5Ny4wOTctLjIyNS4xNDYtLjM1My4xNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyIDI0Yy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMy44NjggMjAuNjMyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0Ni0uMTk1LS4xOTUtLjE5NS0uNTEyIDAtLjcwN2wxLjQxNC0xLjQxNGMuMTk1LS4xOTUuNTEyLS4xOTUuNzA3IDBzLjE5NS41MTIgMCAuNzA3bC0xLjQxNCAxLjQxNGMtLjA5Ny4wOTctLjIyNS4xNDYtLjM1My4xNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIuNSAxMi41aC0yYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXMuMjI0LS41LjUtLjVoMmMuMjc2IDAgLjUuMjI0LjUuNXMtLjIyNC41LS41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUuMjgyIDUuNzgyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTMtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk4LjA5Ny0uMjI2LjE0Ni0uMzU0LjE0NnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTAuNTczIDIwYy0uMDU5IDAtLjExNy0uMDEtLjE3NS0uMDMxLS4yMTktLjA4Mi0uMzUyLS4zMDQtLjMyMS0uNTM0bC44NTMtNi40MzVoLTMuNDNjLS4xODkgMC0uMzYyLS4xMDctLjQ0Ny0uMjc2cy0uMDY3LS4zNzIuMDQ3LS41MjRsNi04Yy4xMzktLjE4Ni4zODYtLjI1Mi41OTctLjE2LjIxMi4wOTEuMzM1LjMxNC4yOTcuNTQybC0uOTA0IDUuNDE4aDMuNDFjLjE4NCAwIC4zNTMuMTAxLjQ0LjI2M3MuMDc4LjM1OC0uMDIyLjUxM2wtNS45MjcgOWMtLjA5NS4xNDMtLjI1NC4yMjQtLjQxOC4yMjR6bS0yLjA3My04aDNjLjE0NSAwIC4yODEuMDYzLjM3Ni4xNzEuMDk1LjEwNy4xMzkuMjUyLjEyLjM5NWwtLjY0MSA0LjgzOCA0LjIxNy02LjQwNGgtMy4wNzJjLS4xNDcgMC0uMjg2LS4wNjQtLjM4Mi0uMTc3LS4wOTUtLjExMi0uMTM2LS4yNjEtLjExMS0uNDA1bC42NjMtMy45Nzh6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Printer:uae,Pump:Nae,Receiver:lae,Sconces:Lae,Security:jae,Shading:gae,Shutters:Tae,SmokeDetector:yae,Sockets:Dae,Speaker:dae,Stove:zae,"Table Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im05Ny41IDIyMC4zNjEtMTUuOTE0IDE1LjkxNGE2IDYgMCAxIDAgOC40ODQgOC40ODZsMTUuOTE1LTE1LjkxNWE2IDYgMCAxIDAgLTguNDg0LTguNDg1eiIvPgogICAgICAgIDxwYXRoIGQ9Im05NS41MSAxMTdhNiA2IDAgMCAwIDQuMjQzLTEwLjI0MmwtMTUuOTE0LTE1LjkxNWE2IDYgMCAwIDAgLTguNDg2IDguNDg2bDE1LjkxNCAxNS45MTRhNS45NzggNS45NzggMCAwIDAgNC4yNDMgMS43NTd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIzNS41IDI0Mi41MDgtMTUuOTEtMTUuOTE0YTYgNiAwIDAgMCAtOC40ODYgOC40ODVsMTUuOTE0IDE1LjkxNWE2IDYgMCAwIDAgOC40ODYtOC40ODZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTg2LjgyNiAxNzFhNiA2IDAgMCAwIC02LTZoLTI0LjgzN2E2IDYgMCAwIDAgMCAxMmgyNC44MzdhNiA2IDAgMCAwIDYtNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTU1IDIzOS41MjFhNiA2IDAgMCAwIC02IDZ2MjQuODM2YTYgNiAwIDAgMCAxMiAwdi0yNC44MzZhNiA2IDAgMCAwIC02LTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQzOC44NTIgNDUxLjk2OWE0MS44MzcgNDEuODM3IDAgMCAwIC00MS4xNjYtMzUuOTY5aC0yOC42ODZ2LTMyNi42ODRhNjkuMzA5IDY5LjMwOSAwIDAgMCAtMTIxLjctNDUuMzgyIDU2LjAyMiA1Ni4wMjIgMCAwIDAgLTQ4LjcwOSA2LjM0OWwtODEuNTE5IDU0LjA2OGE2IDYgMCAwIDAgLS45MjUgOS4yNDJsMjMuNDIyIDIzLjQyMy0xLjQ0MiAxLjQ0MmEzNS4xODggMzUuMTg4IDAgMCAwIDQ5Ljc2MyA0OS43NjNsMS40NDItMS40NDIgMjMuNDIyIDIzLjQyMWE2IDYgMCAwIDAgNC4yNDYgMS43NTljLjIgMCAuNC0uMDEuNi0uMDNhNiA2IDAgMCAwIDQuNC0yLjY1NGw1NC4wNjctODEuNTE5YTU2LjA4OCA1Ni4wODggMCAwIDAgMy40ODgtNTUuNjU2IDI2LjM4NiAyNi4zODYgMCAwIDEgNDYuNDQ1IDE3LjIxNnYzMjYuNjg0aC0yOS4xODJhNDIgNDIgMCAwIDAgLTQxLjM0MyAzNi4wNzYgMjYuNCAyNi40IDAgMCAwIC0yMi40NzUgMjUuOTU2djcuOTY4YTYuMjgyIDYuMjgyIDAgMCAwIDYuMzE5IDZoMjE2LjY5MmE1Ljk5MiA1Ljk5MiAwIDAgMCA1Ljk4OS02di03Ljk2OGEyNi4yNDcgMjYuMjQ3IDAgMCAwIC0yMy4xNDgtMjYuMDYzem0tMjU5LjQ1Mi0yNzIuMjM0YTIzLjE4OCAyMy4xODggMCAwIDEgLTMyLjc5My0zMi43OTJsMS40NDMtMS40NDMgMzIuNzkzIDMyLjc5M3ptMzYuNjQ4IDE2Ljc5NC04Ni4yMy04Ni4yMjkgMTguMDkzLTEyIDgwLjE0IDgwLjE0em01MC4wMTItNzUuNC0zMS4yNDYgNDcuMTEtNzYuNy03Ni43MDUgNDcuMTEtMzEuMjQ2YTQzLjg5NCA0My44OTQgMCAwIDEgNjAuODQgNjAuODQxem0zMy41MjgtNzAuMjcyYTM4LjI1MiAzOC4yNTIgMCAwIDAgLTI2LjY4OCAxMC44MjMgNTQuNjIgNTQuNjIgMCAwIDAgLTE0LjE4Ni0xMi40MzUgNTcuMzEgNTcuMzEgMCAwIDEgOTguMjg2IDQwLjA3MXYzMjYuNjg0aC0xOXYtMzI2LjY4NGEzOC40NjEgMzguNDYxIDAgMCAwIC0zOC40MDktMzguNDY0em0tMi43NyAzNzcuMTQzaDEwMC44NjhjMTQuMjU5IDAgMjYuMTk1IDExIDI4Ljk3NiAyNGgtMTU4LjgxOWMyLjc4MS0xMyAxNC43MTYtMjQgMjguOTc1LTI0em0xNTMuMTgyIDUyaC0yMDV2LTEuOTY4YTE0LjMyIDE0LjMyIDAgMCAxIDE0LjMxOS0xNC4wMzJoMTc2LjY5MmExNC4wMzQgMTQuMDM0IDAgMCAxIDEzLjk4OSAxNC4wMzJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMwNSAzODEuMDMxYTYgNiAwIDAgMCAxMiAwdi03NS44MDZhNiA2IDAgMCAwIC0xMiAweiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTEgMjkwLjg0NGE2IDYgMCAwIDAgNi02di00LjgzNGE2IDYgMCAwIDAgLTEyIDB2NC44MzRhNiA2IDAgMCAwIDYgNnoiLz4KICAgIDwvZz4KPC9zdmc+","Temperature Sensors":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTM1MiwzODUuNDA2VjUzLjMzM0MzNTIsMjMuOTI3LDMyOC4wNzMsMCwyOTguNjY3LDBzLTUzLjMzMywyMy45MjctNTMuMzMzLDUzLjMzM3YzMzIuMDczCgkJCQlDMjMxLjcxOSwzOTkuMzY1LDIyNCw0MTguMDMxLDIyNCw0MzcuMzMzQzIyNCw0NzguNSwyNTcuNSw1MTIsMjk4LjY2Nyw1MTJjNDEuMTY3LDAsNzQuNjY3LTMzLjUsNzQuNjY3LTc0LjY2NwoJCQkJQzM3My4zMzMsNDE4LjAzMSwzNjUuNjE1LDM5OS4zNjUsMzUyLDM4NS40MDZ6IE0yOTguNjY3LDQ5MC42NjdjLTI5LjQwNiwwLTUzLjMzMy0yMy45MjctNTMuMzMzLTUzLjMzMwoJCQkJYzAtMTUuMTA0LDYuMzIzLTI5LjEyNSwxNy44MTMtMzkuNDY5YzIuMjQtMi4wMzEsMy41MjEtNC45MDYsMy41MjEtNy45MjdWNTMuMzMzYzAtMTcuNjQ2LDE0LjM1NC0zMiwzMi0zMgoJCQkJYzE3LjY0NiwwLDMyLDE0LjM1NCwzMiwzMnYzMzYuNjA0YzAsMy4wMjEsMS4yODEsNS44OTYsMy41MjEsNy45MjdDMzQ1LjY3Nyw0MDguMjA4LDM1Miw0MjIuMjI5LDM1Miw0MzcuMzMzCgkJCQlDMzUyLDQ2Ni43NCwzMjguMDczLDQ5MC42NjcsMjk4LjY2Nyw0OTAuNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDkuMzMzLDQwNy4yOThWMjI0YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42Njd2MTgzLjI5OAoJCQkJYy0xMi4zODksNC40MTgtMjEuMzMzLDE2LjE0Ny0yMS4zMzMsMzAuMDM1YzAsMTcuNjQ2LDE0LjM1NCwzMiwzMiwzMmMxNy42NDYsMCwzMi0xNC4zNTQsMzItMzIKCQkJCUMzMzAuNjY3LDQyMy40NDUsMzIxLjcyMyw0MTEuNzE2LDMwOS4zMzMsNDA3LjI5OHogTTI5OC42NjcsNDQ4Yy01Ljg4NSwwLTEwLjY2Ny00Ljc4MS0xMC42NjctMTAuNjY3CgkJCQljMC01Ljg4NSw0Ljc4MS0xMC42NjcsMTAuNjY3LTEwLjY2N2M1Ljg4NSwwLDEwLjY2Nyw0Ljc4MSwxMC42NjcsMTAuNjY3QzMwOS4zMzMsNDQzLjIxOSwzMDQuNTUyLDQ0OCwyOTguNjY3LDQ0OHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywzNDEuMzMzaC02NGMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDY0CgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzQ2LjEwNCwyMTkuMjI5LDM0MS4zMzMsMjEzLjMzMywzNDEuMzMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDI5OC42NjdIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzAzLjQzOCwyMTkuMjI5LDI5OC42NjcsMjEzLjMzMywyOTguNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDI1NkgxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMKCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwyNjAuNzcxLDIxOS4yMjksMjU2LDIxMy4zMzMsMjU2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDIzNC42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0CgkJCQljLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdTMTQzLjQzOCwyMzQuNjY3LDE0OS4zMzMsMjM0LjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTQ5LjMzMywxMDYuNjY3aDY0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3aC02NAoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMTA2LjY2NywxNDkuMzMzLDEwNi42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTcwLjY2N0gxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMKCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwxNzUuNDM4LDIxOS4yMjksMTcwLjY2NywyMTMuMzMzLDE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTI4SDE5MmMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDIxLjMzMwoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDEzMi43NzEsMjE5LjIyOSwxMjgsMjEzLjMzMywxMjh6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Tv:Iae,"Vacuum Cleaner":"PHN2ZyB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTQ0MCA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOC0uMDI3MzQ0LTIyLjA4MjAzMS0xNy45MTc5NjktMzkuOTcyNjU2LTQwLTQwLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LThjMzAuOTE0MDYyLjAzNTE1NiA1NS45NjQ4NDQgMjUuMDg1OTM4IDU2IDU2IDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MDggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzLTMuNTgyMDMxLTgtOC04LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04YzEzLjI1MzkwNiAwIDI0IDEwLjc0NjA5NCAyNCAyNCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04LS4wNDY4NzUtMzkuNzQ2MDk0LTMyLjI1MzkwNi03MS45NTMxMjUtNzItNzItNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOHMzLjU4MjAzMS04IDgtOGM0OC41NzgxMjUuMDU4NTkzOCA4Ny45NDE0MDYgMzkuNDIxODc1IDg4IDg4IDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOCAuMDM1MTU2LTMwLjkxNDA2MiAyNS4wODU5MzgtNTUuOTY0ODQ0IDU2LTU2IDQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4Yy0yMi4wODIwMzEuMDI3MzQ0LTM5Ljk3MjY1NiAxNy45MTc5NjktNDAgNDAgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IDAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOC04IDMuNTgyMDMxLTggOC0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LTggLjA1ODU5MzgtNDguNTc4MTI1IDM5LjQyMTg3NS04Ny45NDE0MDYyIDg4LTg4IDQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4Yy0zOS43NDYwOTQuMDQ2ODc1LTcxLjk1MzEyNSAzMi4yNTM5MDYtNzIgNzIgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0MCA0MTZjMjYuNTA3ODEyIDAgNDgtMjEuNDkyMTg4IDQ4LTQ4cy0yMS40OTIxODgtNDgtNDgtNDgtNDggMjEuNDkyMTg4LTQ4IDQ4Yy4wMjczNDQgMjYuNSAyMS41IDQ3Ljk3MjY1NiA0OCA0OHptMC04MGMxNy42NzE4NzUgMCAzMiAxNC4zMjgxMjUgMzIgMzJzLTE0LjMyODEyNSAzMi0zMiAzMi0zMi0xNC4zMjgxMjUtMzItMzIgMTQuMzI4MTI1LTMyIDMyLTMyem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQwIDE4NGMxMy4yNTM5MDYgMCAyNC0xMC43NDYwOTQgMjQtMjRzLTEwLjc0NjA5NC0yNC0yNC0yNC0yNCAxMC43NDYwOTQtMjQgMjQgMTAuNzQ2MDk0IDI0IDI0IDI0em0wLTMyYzQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzE3Ljk0NTMxMiAxNTJ2LjA0Njg3NWguMDU0Njg4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE1Mmg0OHYxNmgtNDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yODAgMTUyaDQ4djE2aC00OHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0MCA0OGMtMTAxLjI2NTYyNS0uMDExNzE5LTE4OC45NDUzMTIgNzAuMzMyMDMxLTIxMC44OTA2MjUgMTY5LjE4NzUtMjEuOTQ1MzEzIDk4Ljg1OTM3NSAyNy43MzQzNzUgMTk5LjY5MTQwNiAxMTkuNDkyMTg3IDI0Mi41MzEyNSA1Ny45MjU3ODIgMjcuMDM1MTU2IDEyNC44NTE1NjMgMjcuMDM1MTU2IDE4Mi43ODEyNSAwIDkxLjc1NzgxMy00Mi44MzU5MzggMTQxLjQzMzU5NC0xNDMuNjY0MDYyIDExOS40OTIxODgtMjQyLjUyMzQzOC0yMS45NDE0MDYtOTguODU1NDY4LTEwOS42MTMyODEtMTY5LjE5OTIxOC0yMTAuODc1LTE2OS4xOTUzMTJ6bTAgMTZjMTA3LjI4NTE1Ni4xMzI4MTIgMTk1LjM5ODQzOCA4NC44MDQ2ODggMTk5LjgwMDc4MSAxOTJoLTE2Yy00LjU4MjAzMS05OC4xNzk2ODgtODUuNTE1NjI1LTE3NS40MjE4NzUtMTgzLjgwMDc4MS0xNzUuNDIxODc1cy0xNzkuMjE4NzUgNzcuMjQyMTg3LTE4My44MDA3ODEgMTc1LjQyMTg3NWgtMTZjNC40MDIzNDMtMTA3LjE5NTMxMiA5Mi41MTU2MjUtMTkxLjg2NzE4OCAxOTkuODAwNzgxLTE5MnptMjkuMTEzMjgxIDI0NS40OTYwOTRjMzAuNjgzNTk0IDExLjk4ODI4MSA1MC44ODI4MTMgNDEuNTU4NTk0IDUwLjg4NjcxOSA3NC41MDM5MDZ2MjcuNjQwNjI1Yy00OS44Nzg5MDYgMjcuMTQ0NTMxLTExMC4xMjEwOTQgMjcuMTQ0NTMxLTE2MCAwdi0yNy42NDA2MjVjLjAwMzkwNi0yNi40Mjk2ODggMTMuMDYyNS01MS4xNTIzNDQgMzQuODg2NzE5LTY2LjA1NDY4OCAyMS44MjgxMjUtMTQuOTA2MjUgNDkuNjA5Mzc1LTE4LjA2NjQwNiA3NC4yMjY1NjItOC40NDkyMTh6bTY2Ljg4NjcxOSA3NC41MDM5MDZjMC01My4wMTk1MzEtNDIuOTgwNDY5LTk2LTk2LTk2cy05NiA0Mi45ODA0NjktOTYgOTZ2MTcuNzM0Mzc1Yy0zOC44NjMyODEtMjYuOTgwNDY5LTY0LjUwNzgxMi02OS4xMzI4MTMtNzAuNjAxNTYyLTExNi4wNDY4NzUtNi4wOTc2NTctNDYuOTE3OTY5IDcuOTI1NzgxLTk0LjIyMjY1NiAzOC42MDE1NjItMTMwLjIzODI4MXYzNi41NTA3ODFjLjAyNzM0NCAyMi4wODIwMzEgMTcuOTE3OTY5IDM5Ljk3MjY1NiA0MCA0MGgxNzZjMjIuMDgyMDMxLS4wMjczNDQgMzkuOTcyNjU2LTE3LjkxNzk2OSA0MC00MHYtMzYuNTUwNzgxYzMwLjY3NTc4MSAzNi4wMTU2MjUgNDQuNjk5MjE5IDgzLjMyMDMxMiAzOC42MDE1NjIgMTMwLjIzODI4MS02LjA5Mzc1IDQ2LjkxNDA2Mi0zMS43MzgyODEgODkuMDY2NDA2LTcwLjYwMTU2MiAxMTYuMDQ2ODc1em0tMjA4LTI0NC44NjMyODFjNjMuNTg5ODQ0LTU3LjUxNTYyNSAxNjAuNDEwMTU2LTU3LjUxNTYyNSAyMjQgMHY1Mi44NjMyODFjMCAxMy4yNTM5MDYtMTAuNzQ2MDk0IDI0LTI0IDI0aC0xNzZjLTEzLjI1MzkwNiAwLTI0LTEwLjc0NjA5NC0yNC0yNHptLTg3LjcxMDkzOCAxMzIuODYzMjgxaDE2YzIuODM1OTM4IDYxLjAzOTA2MiAzNS42NzE4NzYgMTE2LjcyMjY1NiA4Ny43MTA5MzggMTQ4Ljc1MzkwNnYxOC42NDQ1MzJjLTYxLjQzNzUtMzMuODUxNTYzLTEwMC43NTM5MDYtOTcuMzEyNS0xMDMuNzEwOTM4LTE2Ny4zOTg0Mzh6bTExOS43MTA5MzggMTc1LjI0NjA5NHYtMTcuNjQ0NTMyYzUwLjUwMzkwNiAyNC41NjI1IDEwOS40OTYwOTQgMjQuNTYyNSAxNjAgMHYxNy42NzE4NzZjLTUwLjk5NjA5NCAyMi4zMzU5MzctMTA5LjAwMzkwNiAyMi4zMzU5MzctMTYwIDB6bTE3Ni03Ljg0NzY1NnYtMTguNjQ0NTMyYzUyLjA0Mjk2OS0zMi4wMjczNDQgODQuODg2NzE5LTg3LjcxMDkzNyA4Ny43MjY1NjItMTQ4Ljc1MzkwNmgxNmMtMi45NjA5MzcgNzAuMDg5ODQ0LTQyLjI4NTE1NiAxMzMuNTUwNzgxLTEwMy43MjY1NjIgMTY3LjM5ODQzOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Ventilation:wae,"Washing Machines":"PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIDAgNDk2IDQ5NiIgd2lkdGg9IjQ5NnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDg4IDBoLTQwMGMtNC40MjU3ODEgMC04IDMuNTg1OTM4LTggOHYyOTYuODMyMDMxYy0yLjYwMTU2Mi0uNTI3MzQzLTUuMjczNDM4LS44MzIwMzEtOC0uODMyMDMxLTIyLjA1NDY4OCAwLTQwIDE3Ljk0NTMxMi00MCA0MHYuMTY3OTY5Yy03LjgyNDIxOSA1Ljg4NjcxOS0xMy4xNTIzNDQgMTQuMzk4NDM3LTE1LjEyMTA5NCAyMy44MzIwMzFoLTguODc4OTA2Yy00LjQyNTc4MSAwLTggMy41ODU5MzgtOCA4djMyYzAgNC40MTQwNjIgMy41NzQyMTkgOCA4IDhoOHYyNGMwIDMwLjg3ODkwNiAyNS4xMjg5MDYgNTYgNTYgNTZoNDE2YzQuNDI1NzgxIDAgOC0zLjU4NTkzOCA4LTh2LTQ4MGMwLTQuNDE0MDYyLTMuNTc0MjE5LTgtOC04em0tOCAxNnY4MGgtMzg0di04MHptLTQzNS42NTYyNSAzMzkuMTc1NzgxYzIuODM5ODQ0LTEuNjAxNTYyIDQuNDMzNTk0LTQuNzYxNzE5IDQuMDE1NjI1LThsLS4xMjg5MDYtLjkyOTY4N2MtLjEwMTU2My0uNzM0Mzc1LS4yMzA0NjktMS40Njg3NS0uMjMwNDY5LTIuMjQ2MDk0IDAtMTMuMjMwNDY5IDEwLjc2OTUzMS0yNCAyNC0yNCA4LjQ0OTIxOSAwIDE2LjEyMTA5NCA0LjQwNjI1IDIwLjUyNzM0NCAxMS44MDA3ODEgMS4xOTkyMTggMi4wMTU2MjUgMy4yMzQzNzUgMy40MDYyNSA1LjU1MDc4MSAzLjc5Mjk2OSAyLjMyODEyNS4zOTg0MzggNC42OTkyMTktLjI2NTYyNSA2LjQ5NjA5NC0xLjc5Mjk2OSAzLjEyMTA5My0yLjY0ODQzNyA4LjMyMDMxMi01LjgwMDc4MSAxNS40MjU3ODEtNS44MDA3ODEgOC41NTg1OTQgMCAxNi41MzUxNTYgNC43MjY1NjIgMjAuODE2NDA2IDEyLjMzNTkzOCAxLjY2NDA2MyAyLjk3NjU2MiA1LjA1NDY4OCA0LjU1ODU5MyA4LjM4MjgxMyAzLjk2MDkzNyA4LjM1MTU2Mi0xLjQ4ODI4MSAxNi45MDYyNSA0LjI0NjA5NCAxOC40OTYwOTMgMTIuNzQyMTg3LjU3MDMxMyAzLjAzOTA2MyAyLjgzOTg0NCA1LjQ4ODI4MiA1LjgzOTg0NCA2LjI3MzQzOCAzLjAxNTYyNS44MDA3ODEgNi4xNjc5NjktLjIzNDM3NSA4LjE2Nzk2OS0yLjYwOTM3NSA0LjYxNzE4Ny01LjUyNzM0NCAxMS4yODkwNjMtOC43MDMxMjUgMTguMjk2ODc1LTguNzAzMTI1IDEwLjQxNDA2MiAwIDE5LjIxNDg0NCA2LjcxMDkzOCAyMi41MjczNDQgMTZoLTE4OC45MjU3ODJjMS45NDE0MDctNS4yOTY4NzUgNS42MDU0NjktOS45Mzc1IDEwLjc0MjE4OC0xMi44MjQyMTl6bTEwNy42NTYyNS03NS4xNzU3ODFjMC03NC45OTIxODggNjEuMDA3ODEyLTEzNiAxMzYtMTM2czEzNiA2MS4wMDc4MTIgMTM2IDEzNi02MS4wMDc4MTIgMTM2LTEzNiAxMzZjLTExLjI4OTA2MiAwLTIyLjMyODEyNS0xLjUxOTUzMS0zMy4wNzgxMjUtNC4yMTQ4NDQuNjI4OTA2LTEuMTQ0NTMxIDEuMDc4MTI1LTIuMzk0NTMxIDEuMDc4MTI1LTMuNzg1MTU2di0xMi4zMzU5MzhjMTAuMzY3MTg4IDIuODYzMjgyIDIxLjA3ODEyNSA0LjMzNTkzOCAzMiA0LjMzNTkzOCA2Ni4xNjc5NjkgMCAxMjAtNTMuODMyMDMxIDEyMC0xMjBzLTUzLjgzMjAzMS0xMjAtMTIwLTEyMC0xMjAgNTMuODMyMDMxLTEyMCAxMjBjMCAyMS4wODk4NDQgNS40ODA0NjkgNDEuNDMzNTk0IDE1LjgyNDIxOSA1OS41MDM5MDYtMS43OTI5NjkuODA4NTk0LTMuNTM1MTU3IDEuNzI2NTYzLTUuMTkxNDA3IDIuODAwNzgyLTQuMDU4NTkzLTYuMTEzMjgyLTEwLjE1MjM0My0xMC42MzI4MTMtMTcuMjA3MDMxLTEyLjgyNDIxOS02LjE2Nzk2OS0xNS43NjE3MTktOS40MjU3ODEtMzIuMzU5Mzc1LTkuNDI1NzgxLTQ5LjQ4MDQ2OXptNDguNDY0ODQ0IDU2LjA0Njg3NWMtNi4zNjcxODgtOS45MTAxNTYtMTEtMjAuNzAzMTI1LTEzLjY3OTY4OC0zMi4wNDY4NzVoNS4yMTQ4NDRjNy4yODkwNjIgMCAxNC4xNTIzNDQtMi44Mzk4NDQgMTkuMzEyNS04bDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGMxMC4zMjgxMjUgMTAuMzEyNSAyOC4yOTY4NzUgMTAuMzIwMzEyIDM4LjYyNSAwbDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGMxMC4zMjgxMjUgMTAuMzEyNSAyOC4yOTY4NzUgMTAuMzIwMzEyIDM4LjYyNSAwbDQuNjg3NS00LjY3OTY4OGM0LjI4MTI1LTQuMjgxMjUgMTEuNzE4NzUtNC4yODEyNSAxNiAwbDQuNjg3NSA0LjY3OTY4OGM1LjE2Nzk2OSA1LjE2MDE1NiAxMi4wMjM0MzggOCAxOS4zMTI1IDhoNS4wOTc2NTZjLTEwLjg4MjgxMiA0NS43OTI5NjktNTIuMDI3MzQ0IDgwLTEwMS4wOTc2NTYgODAtMTAuOTc2NTYyIDAtMjEuNjk1MzEyLTEuNzkyOTY5LTMyLTUuMTI4OTA2di0yLjg3MTA5NGMwLTQuNDE0MDYyLTMuNTc0MjE5LTgtOC04aC04LjgwODU5NGMtMy42ODc1LTE4LjA4OTg0NC0xOS42MjUtMzEuNzI2NTYyLTM4LjcyNjU2Mi0zMS45NTMxMjV6bS0xNi40NjQ4NDQtNTYuMDQ2ODc1YzAtNTcuMzQzNzUgNDYuNjU2MjUtMTA0IDEwNC0xMDRzMTA0IDQ2LjY1NjI1IDEwNCAxMDRjMCAyLjcwMzEyNS0uMTk5MjE5IDUuMzUxNTYyLS40MDYyNSA4aC03LjU5Mzc1Yy0zLjAyMzQzOCAwLTUuODU1NDY5LTEuMTc1NzgxLTgtMy4zMTI1bC00LjY4NzUtNC42ODc1Yy0xMC4zMjgxMjUtMTAuMzEyNS0yOC4yOTY4NzUtMTAuMzIwMzEyLTM4LjYyNSAwbC00LjY4NzUgNC42Nzk2ODhjLTQuMjgxMjUgNC4yODEyNS0xMS43MTg3NSA0LjI4MTI1LTE2IDBsLTQuNjg3NS00LjY3OTY4OGMtMTAuMzI4MTI1LTEwLjMxMjUtMjguMjk2ODc1LTEwLjMyMDMxMi0zOC42MjUgMGwtNC42ODc1IDQuNjc5Njg4Yy00LjI4MTI1IDQuMjgxMjUtMTEuNzE4NzUgNC4yODEyNS0xNiAwbC00LjY4NzUtNC42Nzk2ODhjLTEwLjMyODEyNS0xMC4zMTI1LTI4LjI5Njg3NS0xMC4zMjAzMTItMzguNjI1IDBsLTQuNjg3NSA0LjY3OTY4OGMtMi4xNDQ1MzEgMi4xNDQ1MzEtNC45NzY1NjIgMy4zMjAzMTItOCAzLjMyMDMxMmgtNy42OTUzMTJjLS4xOTkyMTktMi42NDg0MzgtLjMwNDY4OC01LjMyMDMxMi0uMzA0Njg4LTh6bS0xNjggMTA0aDIyNHYxNmgtMjI0em0xNjAgOTZoLTEwNGMtMjIuMDU0Njg4IDAtNDAtMTcuOTQ1MzEyLTQwLTQwdi0yNGgxOTJ2MjRjMCAyMi4wNTQ2ODgtMTcuOTQ1MzEyIDQwLTQwIDQwem00Ny4xMTMyODEgMGMxMC40MDYyNS0xMC4xNzU3ODEgMTYuODg2NzE5LTI0LjMzNTkzOCAxNi44ODY3MTktNDB2LTE1Ljg3MTA5NGMxNS40MjU3ODEgNS4xNDQ1MzIgMzEuNTAzOTA2IDcuODcxMDk0IDQ4IDcuODcxMDk0IDgzLjgxNjQwNiAwIDE1Mi02OC4xODM1OTQgMTUyLTE1MnMtNjguMTgzNTk0LTE1Mi0xNTItMTUyLTE1MiA2OC4xODM1OTQtMTUyIDE1MmMwIDEzLjAxNTYyNSAxLjgwMDc4MSAyNS43MzQzNzUgNS4wMDc4MTIgMzguMTEzMjgxLTYuMjIyNjU2LTMuOTA2MjUtMTMuNDY0ODQzLTYuMTEzMjgxLTIxLjAwNzgxMi02LjExMzI4MS02LjUzNTE1NiAwLTEzIDEuNjcxODc1LTE4Ljc4NTE1NiA0LjgxNjQwNi0xLjU4OTg0NC0xLjcyNjU2Mi0zLjM3NS0zLjIxNDg0NC01LjIxNDg0NC00LjYyNXYtMjAwLjE5MTQwNmgzODR2MzY4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTM2IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjAwIDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjY0IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQ4IDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ0OCAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDE2IDMyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM4NCA2NGgxNnYxNmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zODQgMzJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzUyIDY0aDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAzMmgxNnYxNmgtMTZ6bTAgMCIvPgogICAgPC9nPgo8L3N2Zz4=","Water Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yNjguOTkgMTg3LjQ5OWMtNS43NTEtOS45NTktMjAuMTk2LTEwLjAxNi0yNS45NzkgMC0yMS44MSA0MC42MTEtMzIuMDExIDQ4LjA2MS0zMi4wMTEgNjcuNTAxIDAgMjQuODEzIDIwLjE4NyA0NSA0NSA0NXM0NS0yMC4xODcgNDUtNDVjMC0xOS40NTgtMTAuNDg2LTI3LjQyMS0zMi4wMS02Ny41MDF6bS0xMi45OSA4Mi41MDFjLTguMjcxIDAtMTUtNi43MjktMTUtMTUgMC02LjY4NyAzLjA0Mi04LjIxNSAxNS0zMC4wMDUgMTEuOTc0IDIxLjgxOCAxNSAyMy4zMTggMTUgMzAuMDA1IDAgOC4yNzEtNi43MjkgMTUtMTUgMTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQwNiAwaC0zMDBjLTguNzY5IDAtMTUuNjc2IDcuNTAyLTE0Ljk0OCAxNi4yNDZsMzAgMzYwYy42NDggNy43NzQgNy4xNDcgMTMuNzU0IDE0Ljk0OCAxMy43NTRoNzV2MzJoLTE1Yy0xMy4zMTggMC0yMC4wNDggMTYuMTY1LTEwLjYwNiAyNS42MDZsNjAgNjBjNS44NTcgNS44NTggMTUuMzU1IDUuODU5IDIxLjIxMyAwbDYwLTYwYzkuNDE3LTkuNDE3IDIuNzQ1LTI1LjYwNi0xMC42MDctMjUuNjA2aC0xNXYtMzJoNzVjNy44MDEgMCAxNC4zLTUuOTggMTQuOTQ4LTEzLjc1NGwzMC0zNjBjLjcyOC04LjczOS02LjE3NC0xNi4yNDYtMTQuOTQ4LTE2LjI0NnptLTE2LjMwMiAzMC01LjM0NiA2NC4xNDdjLTIxLjc2OCA4LjM0My0zNS44NzEgMjUuODUzLTUzLjM1MiAyNS44NTMtMjIuNzE3IDAtNDAuNDIzLTMwLTc1LTMwLTM0LjcyNyAwLTUyLjE3NiAzMC03NSAzMC0xNy40ODUgMC0zMS41NTYtMTcuNDk5LTUzLjM1Mi0yNS44NTNsLTUuMzQ2LTY0LjE0N3ptLTI3LjUgMzMwaC03Ni4xOThjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NjJjMCA2LjQzMiA0LjA0OCAxMS45MTkgOS43MzYgMTQuMDVsLTI0LjczNiAyNC43MzctMjQuNzM2LTI0LjczNmM1LjY4OC0yLjEzMSA5LjczNi03LjYxOCA5LjczNi0xNC4wNXYtNjJjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtNzYuMTk4bC0xOS4yMDgtMjMwLjUwMmMxNC4zMTUgOS4xNTMgMjkuMDc2IDIwLjUwMSA1MC40MDYgMjAuNTAxIDM0LjcyNyAwIDUyLjE3Ni0zMCA3NS0zMCAyMi43MTcgMCA0MC40MjMgMzAgNzUgMzAgMjEuMDE5IDAgMzUuNDQ5LTEwLjkzNyA1MC40MDYtMjAuNTAyeiIvPgogICAgPC9nPgo8L3N2Zz4=","Water Heater":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTY3LDE4NS4zMjV2MjgxYTM1LjU0MSwzNS41NDEsMCwwLDAsMzUuNDY5LDM1LjYzMUwzMTkuMDYsNTAyaC4wMDZBMzUuODkxLDM1Ljg5MSwwLDAsMCwzNTUsNDY2LjM2OVY0NjRoNjAuNjJjMzQuODM3LDAsNjMuMzgtMjcuODcsNjMuMzgtNjIuNzE1VjE4OS43M2MwLTM0Ljg0NC0yOC41NDMtNjIuNzMtNjMuMzgtNjIuNzNIMzU1di05LjY4OWMwLS4wNzQtLjE2LS4xNDYtLjE2Mi0uMjE5cy0uMDY1LS4xMTQtLjA2NS0uMTg3QTYyLjA0NCw2Mi4wNDQsMCwwLDAsMjkyLjc2Myw1NUgyMTlWNDRoMTcuODI4QzI0NS42NSw0NCwyNTMsMzcuMiwyNTMsMjguMzc0VjI2YTE2LjE2NywxNi4xNjcsMCwwLDAtMTYuMTcyLTE2SDE4OS43MDZBMTUuNzcsMTUuNzcsMCwwLDAsMTc0LDI2djIuMzc0QTE1LjQ1NCwxNS40NTQsMCwwLDAsMTg5LjcwNiw0NEgyMDdWNTVIMTMzLjc3MUMxMDEuNSw1NSw3NC45MjQsODAsNzIuMSwxMTFIMzkuMmE2LjA1Niw2LjA1NiwwLDAsMC01LjIsOC45MjlaTTM1NSwxNjFoNjAuNjJBMjguNTgxLDI4LjU4MSwwLDAsMSw0NDQsMTg5LjczVjQwMS4yODVBMjguNTY4LDI4LjU2OCwwLDAsMSw0MTUuNjIsNDMwSDM1NVptMCwyODFoNjAuNjJBNDAuNTgxLDQwLjU4MSwwLDAsMCw0NTYsNDAxLjI4NVYxODkuNzNBNDAuNTk0LDQwLjU5NCwwLDAsMCw0MTUuNjIsMTQ5SDM1NVYxMzloNjAuNjJjMjguMjIxLDAsNTEuMzgsMjIuNSw1MS4zOCw1MC43M1Y0MDEuMjg1QzQ2Nyw0MjkuNTEzLDQ0My44NDEsNDUyLDQxNS42Miw0NTJIMzU1Wm0tMTIsMjQuMzY5QTIzLjg5MSwyMy44OTEsMCwwLDEsMzE5LjA2Niw0OTBoMGwtMjE2LjU5MS0uMDQxQTIzLjUyNywyMy41MjcsMCwwLDEsNzksNDY2LjMyOFY0NTIuNTdsMjY0LC4wNDlaTTE5MCwzMmE0LDQsMCwwLDEtNC00VjI2YTQsNCwwLDAsMSw0LTRoNDdhNCw0LDAsMCwxLDQsNHYyYTQsNCwwLDAsMS00LDRaTTEzMy43NzEsNjdIMjkyLjc2M2E0OS44MjksNDkuODI5LDAsMCwxLDQ5LjU3Niw0NEg4NC4yQTQ5LjgzLDQ5LjgzLDAsMCwxLDEzMy43NzEsNjdaTTM0MywxMjNWNDQwLjYxOUw3OSw0NDAuNTdWMTgzLjlhNi44NTMsNi44NTMsMCwwLDAtLjgtMi44NTFMNDguOTM0LDEyM1oiLz4KICAgICAgICA8cGF0aCBkPSJNMjAzLDM4OC40NDNBMzUuMDE3LDM1LjAxNywwLDAsMCwyMzgsMzUzLjZWMjM2Ljg0NGEzNSwzNSwwLDAsMC03MCwwVjM1My42QTM1LjAxNywzNS4wMTcsMCwwLDAsMjAzLDM4OC40NDNabS0yMy0xNTEuNmEyMywyMywwLDAsMSw0NiwwVjI4OUgxODBaTTE4MCwzMDFoNDZ2NTIuNmEyMywyMywwLDAsMS00NiwwWiIvPgogICAgICAgIDxwYXRoIGQ9Ik05OSwzMTQuOTEzYTYsNiwwLDAsMCw2LTZWMjMzLjEwNmE2LDYsMCwwLDAtMTIsMHY3NS44MDdBNiw2LDAsMCwwLDk5LDMxNC45MTNaIi8+CiAgICAgICAgPHBhdGggZD0iTTk5LDIxOC43MjZhNiw2LDAsMCwwLDYtNnYtNC44MzRhNiw2LDAsMCwwLTEyLDB2NC44MzRBNiw2LDAsMCwwLDk5LDIxOC43MjZaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=",Water:Cae,Weather:hae,Window:Aae},mae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTA0IDQ4LjAxNTYyNWgtNDk2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTktOC04di0zMi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OTZjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHYzMi4wMTU2MjVjMCA0LjQyNTc4MS0zLjU3NDIxOSA4LTggOHptLTQ4OC0xNmg0ODB2LTE2LjAxNTYyNWgtNDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQwIDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDk2IDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00NzIgMTg0LjEyODkwNmgtNDMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcxLjk4NDM3NSAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMjIuMDU4NTk0IDE3LjkzNzUtNDAgMzkuOTkyMTg3LTQwIDQuNDIxODc2IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNCA4LTggOC0xMy4yMjI2NTYgMC0yMy45OTIxODcgMTAuNzY1NjI1LTIzLjk5MjE4NyAyNCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTc5Ljk4NDM3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTIwLjAwNzgxMiAxMjguMTI4OTA2aC0xNi4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAzMTI1YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjM0Mzc1LTEwLjc2OTUzMS0yNC0yMy45OTIxODgtMjQtNC40MjE4NzQgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI2LTggOC04IDIyLjA1NDY4OCAwIDM5Ljk5MjE4OCAxNy45NDE0MDYgMzkuOTkyMTg4IDQwIDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xODMuOTg0Mzc1IDEzOC45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDIuODM5ODQ0YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LTggNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOHY0Mi44Mzk4NDRjMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzIgODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIwMCA5Ni4xMjg5MDZoLTE2LjAxNTYyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAxNTYyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNDcuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI4MC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOC00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggMTMuMjM0Mzc1IDAgMjQgMTAuNzY1NjI1IDI0IDI0IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzIuMTY3OTY5IDI2NC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQ3Ljk4NDM3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djQ3Ljk4NDM3NWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1Ni4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZjLTQuNDIxODc1IDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzI4LjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2aC04MC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg4MC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41ODIwMzEgOC04LjAwNzgxMyA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjY0LjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOHYtNDhjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djQ4YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjE5OTIxOSAyMTYuMTQ0NTMxaC00OC4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ4LjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMi4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Oae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2Mi43ODcgMzYyLjc4NyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0yNjAuOTQ1LDE0NC45NzljLTIuNjY3LDAtNS4xMzMsMS40MTYtNi40NzcsMy43MTlsLTQ3LjQ4NCw4MS4zMzNjLTEuMzU0LDIuMzE5LTEuMzY1LDUuMTg2LTAuMDI3LDcuNTE2CgkJYzEuMzM3LDIuMzI5LDMuODE4LDMuNzY2LDYuNTA0LDMuNzY2aDk0Ljk2OGMyLjY4NiwwLDUuMTY3LTEuNDM3LDYuNTA0LTMuNzY2YzEuMzM4LTIuMzMsMS4zMjctNS4xOTYtMC4wMjctNy41MTZsLTQ3LjQ4My04MS4zMzMKCQlDMjY2LjA3OCwxNDYuMzk1LDI2My42MTIsMTQ0Ljk3OSwyNjAuOTQ1LDE0NC45Nzl6IE0yMjYuNTI0LDIyNi4zMTJsMzQuNDIxLTU4Ljk1OGwzNC40Miw1OC45NThIMjI2LjUyNHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzU1LjI4NywyNTQuNjloLTE3NS42Mmw4MS4yNzgtMTM5LjIxOGw2Mi45MjYsMTA3Ljc4M2MyLjA4OCwzLjU3OCw2LjY4Myw0Ljc4NCwxMC4yNTgsMi42OTYKCQljMy41NzctMi4wODgsNC43ODQtNi42ODEsMi42OTUtMTAuMjU4TDI2Ny40MjIsOTYuODE1Yy0wLjAyMS0wLjAzNi0wLjA0OC0wLjA2Ny0wLjA2OS0wLjEwM2MtMC4xMjYtMC4yMDgtMC4yNjItMC40MDgtMC40MDctMC42MDMKCQljLTAuMDQ0LTAuMDU5LTAuMDg2LTAuMTE4LTAuMTMxLTAuMTc2Yy0wLjE4My0wLjIzLTAuMzc2LTAuNDUxLTAuNTg0LTAuNjU4Yy0wLjAyNC0wLjAyNC0wLjA1MS0wLjA0NS0wLjA3Ni0wLjA2OQoJCWMtMC4xODYtMC4xOC0wLjM4My0wLjM0OS0wLjU4Ny0wLjUwOWMtMC4wNjUtMC4wNTEtMC4xMzItMC4xLTAuMTk5LTAuMTQ4Yy0wLjE4Ny0wLjEzNy0wLjM3OS0wLjI2NC0wLjU3OC0wLjM4NAoJCWMtMC4wNTUtMC4wMzMtMC4xMDgtMC4wNjgtMC4xNjQtMC4xYy0wLjI2MS0wLjE0Ny0wLjUzLTAuMjgyLTAuODA5LTAuMzk3Yy0wLjAxMS0wLjAwNC0wLjAyMi0wLjAwOC0wLjAzMy0wLjAxMgoJCWMtMC4yNi0wLjEwNi0wLjUyOC0wLjE5Ni0wLjgwMi0wLjI3M2MtMC4wNzMtMC4wMjEtMC4xNDYtMC4wMzgtMC4yMi0wLjA1NmMtMC4yMjItMC4wNTUtMC40NDctMC4xLTAuNjc3LTAuMTM1CgkJYy0wLjA3OS0wLjAxMi0wLjE1Ny0wLjAyNi0wLjIzNi0wLjAzNmMtMC4yOTctMC4wMzYtMC41OTgtMC4wNi0wLjkwNi0wLjA2SDEwMS44NDJjLTIuNjY3LDAtNS4xMzMsMS40MTYtNi40NzcsMy43MTkKCQlMMS4wMjMsMjU4LjQwOGMtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTZjMS4zMzcsMi4zMjksMy44MTgsMy43NjYsNi41MDQsMy43NjZoODYuNTM4YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDEKCQlzMC4wMTUtMC4wMDEsMC4wMjMtMC4wMDFoMzUuODg5YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDFzMC4wMTUtMC4wMDEsMC4wMjMtMC4wMDFoMzYuNTg2aDE4OC42ODQKCQljNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNVMzNTkuNDMsMjU0LjY5LDM1NS4yODcsMjU0LjY5eiBNMTYyLjI5OCwyNTQuNjloLTE5LjI2M2w2OS40My0xMTkuNDcKCQljMi4wODEtMy41ODIsMC44NjUtOC4xNzItMi43MTYtMTAuMjUzYy0zLjU4LTIuMDgzLTguMTczLTAuODY2LTEwLjI1MywyLjcxNmwtNzMuODEsMTI3LjAwN0gxMDcuMWw4NS4xOTItMTQ2LjU5NGg1NS41OQoJCUwxNjIuMjk4LDI1NC42OXogTTEwNi4xNDcsMTA4LjA5NmgzNC4wOTFMNzQuNzg5LDIyMC43MTdjLTIuMDgxLDMuNTgyLTAuODY1LDguMTcyLDIuNzE2LDEwLjI1MwoJCWMxLjE4NiwwLjY4OSwyLjQ4MiwxLjAxNywzLjc2MiwxLjAxN2MyLjU4NCwwLDUuMS0xLjMzNyw2LjQ5MS0zLjczM2w2OS44My0xMjAuMTU4aDE3LjM1Nkw4OS43NTEsMjU0LjY5SDIwLjU2M0wxMDYuMTQ3LDEwOC4wOTZ6IgogICAgICAgIC8+CiAgICA8L2c+Cjwvc3ZnPgo=",Eae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTYuNzA0IDI3Mi4wODZoLTgxLjcwNHYtODguMDczYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djg4LjA3M2gtMTV2LTE5My43MWMwLTguMjQ5LTYuNzExLTE0Ljk1OS0xNC45NTktMTQuOTU5aC05MS41ODJjLTguMjQ4IDAtMTQuOTU5IDYuNzEtMTQuOTU5IDE0Ljk1OXYxOTMuNzFoLTE1di0xOTMuNzFjMC04LjI0OS02LjcxMS0xNC45NTktMTQuOTU5LTE0Ljk1OWgtOTEuNTgyYy04LjI0OCAwLTE0Ljk1OSA2LjcxLTE0Ljk1OSAxNC45NTl2MTkzLjcxaC0xNXYtMjIzLjY2OWgyODh2MTAwLjU5NmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0xMDAuNTk2aDMuMjA0YzguNDM1IDAgMTUuMjk2LTYuODgzIDE1LjI5Ni0xNS4zNDR2LTE3LjczYzAtOC40Ni02Ljg2MS0xNS4zNDMtMTUuMjk2LTE1LjM0M2gtMzI0LjQwOGMtOC40MzUgMC0xNS4yOTYgNi44ODMtMTUuMjk2IDE1LjM0NHYxNy43M2MwIDguNDYgNi44NjEgMTUuMzQ0IDE1LjI5NiAxNS4zNDRoMy4yMDR2MjIzLjY2OWgtODEuNzA0Yy04LjQzNS0uMDAxLTE1LjI5NiA2Ljg2MS0xNS4yOTYgMTUuMjk1djE3LjYyMmMwIDguNDM1IDYuODYxIDE1LjI5NiAxNS4yOTYgMTUuMjk2aC41djE0My40ODZoLS41Yy04LjQzNSAwLTE1LjI5NiA2Ljg2Mi0xNS4yOTYgMTUuMjk2djE3LjYyMmMwIDguNDM0IDYuODYxIDE1LjI5NiAxNS4yOTYgMTUuMjk2aDIyMy4yMDRjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTIyMy4yMDRjLS4xNjMgMC0uMjk2LS4xMzMtLjI5Ni0uMjk2di0xNy42MjJjMC0uMTYzLjEzMy0uMjk2LjI5Ni0uMjk2aDQ4MS40MDhjLjE2MyAwIC4yOTYuMTMzLjI5Ni4yOTZ2MTcuNjIyYzAgLjE2My0uMTMzLjI5Ni0uMjk2LjI5NmgtMjIzLjIwNGMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgyMjMuMjA0YzguNDM1IDAgMTUuMjk2LTYuODYyIDE1LjI5Ni0xNS4yOTZ2LTE3LjYyMmMwLTguNDM0LTYuODYxLTE1LjI5Ni0xNS4yOTYtMTUuMjk2aC0uNXYtMTQzLjQ4NmguNWM4LjQzNSAwIDE1LjI5Ni02Ljg2MiAxNS4yOTYtMTUuMjk2di0xNy42MjJjMC04LjQzNC02Ljg2MS0xNS4yOTYtMTUuMjk2LTE1LjI5NnptLTQwMy4yMDQtMjM5LjAxMnYtMTcuNzNjMC0uMjEyLjE1My0uMzQ0LjI5Ni0uMzQ0aDMyNC40MDhjLjE0MyAwIC4yOTYuMTMxLjI5Ni4zNDR2MTcuNzNjMCAuMjEyLS4xNTMuMzQ0LS4yOTYuMzQ0LTE1LjM2NyAwLTMwOS4wNTEgMC0zMjQuNDA4IDAtLjE0My0uMDAxLS4yOTYtLjEzMi0uMjk2LS4zNDR6bTE4NC45NTkgNDUuMzQzIDkxLjU0MS0uMDQxdjE5My43MWgtOTEuNTAyem0tMTM2LjUgMCA5MS41NDEtLjA0MXYxOTMuNzFoLTkxLjUwMnptMzM5LjI0NSAzODQuODE3aC00NTAuNDA4di0xNDIuOTM0aDQ1MC40MDh6bTE1Ljc5Ni0xNTguMjNjMCAuMTY0LS4xMzMuMjk2LS4yOTYuMjk2LTIuODI0IDAtNDcxLjE1MyAwLTQ4MS40MDggMC0uMTYzIDAtLjI5Ni0uMTMzLS4yOTYtLjI5NnYtMTcuNjIyYzAtLjE2My4xMzMtLjI5Ni4yOTYtLjI5Nmg0ODEuNDA4Yy4xNjMgMCAuMjk2LjEzMy4yOTYuMjk2eiIvPgogICAgICAgIDxwYXRoIGQ9Im02Ny42NTUgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjktNy4xMzMgMTUuOS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzMtMTUuOTAxLTE1LjktMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NiAwIC45LjQwNC45LjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTM5LjQwNiA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjMCA4Ljc2OCA3LjEzNCAxNS45MDEgMTUuOTAxIDE1LjkwMXptLS45MDEtODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45MDEtLjkwMWgxOC45ODljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45ODljLS40OTcgMC0uOTAxLS40MDQtLjkwMS0uOTAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMTAuNzk2IDQ0Mi43MDRoMTguOTljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTljLTguNzY4IDAtMTUuOSA3LjEzMy0xNS45IDE1LjkwMXY2OS41MmMwIDguNzY4IDcuMTMyIDE1LjkwMSAxNS45IDE1LjkwMXptLS45LTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOS0uOTAxaDE4Ljk5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTljLS40OTYgMC0uOS0uNDA0LS45LS45MDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI4Mi41NDcgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzU0LjEzMSA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjLS4wMDEgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAyLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDI1LjUyMSA0NDIuNzA0aDE4Ljk4OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45ODljLTguNzY4IDAtMTUuOTAxIDcuMTMzLTE1LjkwMSAxNS45MDF2NjkuNTJjMCA4Ljc2OCA3LjEzNCAxNS45MDEgMTUuOTAxIDE1LjkwMXptLS45MDEtODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45MDEtLjkwMWgxOC45ODljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45ODljLS40OTcgMC0uOTAxLS40MDQtLjkwMS0uOTAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMTYuNDExIDEwNy4yNjhjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDIzLjUxMiAyMy41MTJjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQyLjYwNCA5Mi44MzJjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDExLjc1NiAxMS43NTZjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4KICAgIDwvZz4KPC9zdmc+",_ae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00MTMuOTA3IDBjLTU0LjEwNCAwLTk4LjEyMiA0NC4wMDUtOTguMTIyIDk4LjA5NnY0My41ODJzLTY5LjgzMS0zNi45MTItNzEuMDY1LTM3LjU5M2MtOS41NDQtNS4yNjYtMTIuMTg1LTUuMjY3LTIxLjczMSAwLTEuMjM0LjY4MS0xMzYuMTQxIDcxLjk1OC0xMzYuMTQxIDcxLjk1OC0xMS40MzcgNi4wMTctMTMuMDQ1IDcuNzQ1LTE3Ljg3OCAxNS43ODMtLjc4OCAxLjMxMS02NS42OTggMTA0LjIzLTY1LjY5OCAxMDQuMjMtMy4xNzUgNS4wMjMtNC4wNzcgMTAuOTYyLTIuNTM5IDE2LjcyMiAxLjYxNyA2LjA1NiA1Ljg0IDExLjI2OSAxMS41NzcgMTQuMjk1IDMuNjQ2IDEuOTMgNy41ODIgMi44NSAxMS40NjUgMi44NSA2LjIwMiAwIDEyLjI1NS0yLjM1OCAxNi43NDUtNi42ODh2NjUuMDQ0YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTg3LjU0MXM0OS4xMzQtNzcuODU1IDQ5LjY1Mi03OC42ODJjMi4zMzQtMy43MjkgMy4zMjgtNS4yODMgNC40OTYtNi4zMTggMS4zMzMtMS4xODEgMy42NjUtMi40NjQgOC42NjUtNS4xMDdsMTEzLjAwMi01OS42NDljLjgwMS0uNDI1IDEuNDktLjgwMyAyLjA5My0xLjEzMy4xNDEtLjA3Ny4yODUtLjE1Ni40MjgtLjIzNC4xNDMuMDc4LjI4Ny4xNTcuNDI4LjIzNC42MDMuMzMxIDEuMjkyLjcwOCAyLjEwOSAxLjE0MiAwIDAgMTE4LjE5MyA2Mi40MTMgMTE5LjY0MiA2My4zMS44NjkuNTM4IDEuNTA5Ljk5NSAyLjAwOSAxLjQzOCAxLjE2NyAxLjAzNSAyLjE2MiAyLjU4OSA0LjQ5NiA2LjMxOC41MTguODI3IDQ5LjY1MSA3OC42ODEgNDkuNjUxIDc4LjY4MXYxNjAuNzE2aC04NC45MjF2LTEwNC4zNGgxMi42MjVjNy42NTIgMCAxMy44NzgtNi4yMjYgMTMuODc4LTEzLjg3OHYtMjEuNDNjMC03LjY1Mi02LjIyNi0xMy44NzgtMTMuODc4LTEzLjg3OGgtODUuMTIyYy00LjE0MiAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU4IDcuNSA3LjUgNy41aDg0djE5LjE4NmgtMjA5Ljgxdi0xOS4xODZoOTEuMmM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtOTIuMzIyYy03LjY1MiAwLTEzLjg3OCA2LjIyNi0xMy44NzggMTMuODc4djIxLjQzYzAgNy42NTIgNi4yMjYgMTMuODc4IDEzLjg3OCAxMy44NzhoMTIuNjI1djEwNC4zMzloLTg0Ljk0N3YtMzguNTYzYzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djc2LjUzNmMwIDYuOTM0IDUuNjQxIDEyLjU3NCAxMi41NzQgMTIuNTc0aDQ0NS45MDdjNy4xNjcgMCAxMi45OTktNS44MzIgMTIuOTk5LTEyLjk5OXYtNDAwLjkwNWMuMDAxLTU0LjA5MS00NC4wMDQtOTguMDk2LTk4LjA5Mi05OC4wOTZ6bS0yNzMuNDQgNDk3aC04NC45NDh2LTIwLjU0Nmg4NC45NDd2MjAuNTQ2em0xNTkuNzgzLTEzOS44ODYtNjYuMzgyIDU5Ljg0NS02Ni4zODItNTkuODQ1em0tMTQ0Ljc4MyA5LjM1OSA2Ny4yMDEgNjAuNTg0LTY3LjIwMSA2MC41ODR6bTEyLjAyIDEzMC41MjcgNjYuMzgyLTU5Ljg0NSA2Ni4zODEgNTkuODQ1em0xNDQuNzgzLTkuMzU5LTY3LjIwMS02MC41ODQgNjcuMjAxLTYwLjU4NHptOTkuOTE5IDkuMzU5aC04NC45MTl2LTIwLjU0Nmg4NC45MTl6bTUzLjQ0NS0xOTguODIzYy0uMzQ3LS43Mi0uNzMzLTEuNDI3LTEuMTY2LTIuMTE3bC01MS45NDUtODIuMjY2aDg0LjQ3N3Y4NC4zODN6bS0xMzQuODQ4LTIwMC4wODFjMC00NS44MTkgMzcuMjg4LTgzLjA5NiA4My4xMjItODMuMDk2IDQ1LjgxNiAwIDgzLjA5MiAzNy4yNzYgODMuMDkyIDgzLjA5NnYxLjI4N2gtMTY2LjIxNHptMCAxNi4yODdoMTY2LjIxNHY4NC40MTJoLTkzLjk0OXMtMy41MjMtNS42NTYtNC4zMTItNi45NjZjLTQuODMxLTguMDM2LTYuNDQtOS43NjYtMTcuODY4LTE1Ljc3OGwtNTAuMDg2LTI2LjQ1di0zNS4yMTh6bTk1LjI0NiAxODAuMTc3cy01MC4yNzUtNzkuNjU2LTUwLjc4LTgwLjQ2M2MtNC43OTktNy42NjUtNi41MTQtOS44MjUtMTMuMjgxLTEzLjY5Mi0uNTIxLS4yOTctMTE5LjkyOS02My40MDgtMTIwLjQ4Mi02My43MTEtNS4xMDEtMi43OTUtNy44NDctMy4zMi0xMi4wNjctMS41NzItLjAzNy4wMTUtLjA3Ni4wMzQtLjExMy4wNS0uNjE2LjI1OS0xMTcuOTg1IDYyLjE5Ny0xMTcuOTg1IDYyLjE5Ny0xMS43MjcgNi4yLTEyLjk2MSA3LjI5NS0xOC44NjggMTYuNzI5LS41MDUuODA3LTUwLjc4IDgwLjQ2My01MC43OCA4MC40NjMtLjAxLjAxNi0uMDE2LjAzMy0uMDI2LjA0OWwtMTAuMjk0IDE2LjMxYy0yLjM3NSAzLjc2Ny03Ljg4NSA1LjA5Ni0xMi4wMzkgMi44OTQtMi4wNi0xLjA4Ni0zLjU1Mi0yLjg3My00LjA5My00LjkwMS0uMzE2LTEuMTg0LS40NDYtMi45ODQuNzI5LTQuODQzIDAgMCA2NS4wMzctMTAzLjEyNCA2NS44NzItMTA0LjUxMiAzLjQ0OC01LjczNCAzLjQ0OC01LjczNCAxMi4wMTctMTAuMjQzIDAgMCAxMzkuMTkzLTczLjYzOSAxNDAuMDEyLTc0LjAxMy44Mi4zNzQgMTQwLjAxMiA3NC4wMTMgMTQwLjAxMiA3NC4wMTMuMDAzLjAwMi4wMDcuMDA0LjAxMS4wMDYgOC41NTkgNC41MDIgOC41NTkgNC41MDIgMTIuMDA3IDEwLjIzOC44MzQgMS4zODggMS44MTYgMy4wMiAzLjA1OCA0Ljk4N2w2Mi44MzMgOTkuNTA5YzEuMTY4IDEuODYgMS4wMzQgMy42NjkuNzE2IDQuODU5LS41NDQgMi4wMzItMi4wMzIgMy44Mi00LjA3MiA0Ljg5OS00LjIyNiAyLjIzMS05LjY0NS45MjQtMTIuMDY5LTIuODk2bC0xMC4yOTItMTYuMzA3Yy0uMDEtLjAxNy0uMDE2LS4wMzUtLjAyNi0uMDV6bTcwLjk2OCAyMDIuNDRoLTY5LjgxMXYtODQuNDExaDY5LjgxMXptLTY5LjgxMS05OS40MTF2LTc0LjM4OWM3LjMxMyA3LjA0MiAxOC43NjMgOC44NzQgMjguMjM4IDMuODc1IDUuNi0yLjk2NSA5Ljc0Ni04LjAxNiAxMS40MzgtMTMuODk3aDMwLjEzNXY4NC40MTJoLTY5LjgxMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMjg1LjI2MiAyMzcuODczYzAtMjguMzQ3LTIzLjA2Mi01MS40MDktNTEuNDA4LTUxLjQwOS0yOC4zMzEgMC01MS4zNzkgMjMuMDYyLTUxLjM3OSA1MS40MDlzMjMuMDQ5IDUxLjQwOSA1MS4zNzkgNTEuNDA5YzI4LjM0Ny0uMDAxIDUxLjQwOC0yMy4wNjMgNTEuNDA4LTUxLjQwOXptLTg3Ljc4NyAwYzAtMjAuMDc2IDE2LjMyLTM2LjQwOSAzNi4zNzktMzYuNDA5IDIwLjA3NSAwIDM2LjQwOCAxNi4zMzMgMzYuNDA4IDM2LjQwOXMtMTYuMzMzIDM2LjQwOS0zNi40MDggMzYuNDA5Yy0yMC4wNTktLjAwMS0zNi4zNzktMTYuMzM0LTM2LjM3OS0zNi40MDl6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Sae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTIuOTk1IDE2Ni40ODktMzEuOTk1LTIzLjk5NnYtMTEyLjQ5M2M4LjI4NCAwIDE1LTYuNzE2IDE1LTE1cy02LjcxNi0xNS0xNS0xNWgtOTBjLTguMjg0IDAtMTUgNi43MTYtMTUgMTVzNi43MTYgMTUgMTUgMTV2NDQuOTkybC04OC4wMDktNjYuMDA2Yy0xNS44OTMtMTEuOTA0LTM4LjA5LTExLjkwNS01My45ODkuMDA1bC0yMDkuOTk5IDE1Ny41Yy0xOS44NTMgMTQuODkzLTIzLjg5MSA0My4xNTUtOS4wMDEgNjMuMDA0IDcuMjIgOS42MiAxNy43NTIgMTUuODUzIDI5LjY1NyAxNy41NSAyLjE1Ny4zMDggNC4zMS40NiA2LjQ1LjQ1OSA1LjEwOSAwIDEwLjEzLS44NzYgMTQuODkxLTIuNTY0djI1Mi4wNmMwIDguMjg0IDYuNzE2IDE1IDE1IDE1aDM2MGM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di0yNTIuMDY4YzQuNzYzIDEuNjg1IDkuODAzIDIuNTYgMTQuOTc4IDIuNTYgMTQuMSAwIDI3LjU2NS02LjcyOSAzNi4wMjItMTggMTQuODg4LTE5Ljg0NiAxMC44NDktNDguMTA4LTkuMDA1LTYzLjAwM3ptLTkxLjk5NS0xMzYuNDg5aDMwdjg5Ljk5MmwtMzAtMjIuNXptLTEyMCAyNzJoLTUwdi05Mmg1MHptMzAgMHYtMTA3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVoLTgwYy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djEwN2gtMTA5Ljk5OXYtNzcuMDA0bDE2NC45OTktMTIzLjc1MiAxNjUgMTIzLjc1M3Y3Ny4wMDN6bS0yMTkuOTk5IDMwaDIwOS45OTl2MzBoLTQ1Yy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djQ1aC00NWMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXY0NWgtOTB6bTExOS45OTkgMTUwdi0zMGg0NWM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di00NWg0NWM4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di00NWg5MHYxNTB6bTI2Ny4wMDItMjcwLjUxMWMtMi44NjMgMy44MTUtNy4yNDUgNi4wMDQtMTIuMDI0IDYuMDA0LTMuMjYgMC02LjM2NS0xLjAzNi04Ljk3OS0yLjk5NmwtMTkxLjk5OS0xNDQuMDAzYy01LjMzMy00LTEyLjY2Ny00LTE4IDBsLTE5Mi4wMDggMTQ0LjAwOWMtMy4xOTMgMi4zOTctNy4xMzYgMy40MDgtMTEuMDk4IDIuODQyLTMuOTczLS41NjYtNy40ODgtMi42NDctOS44OTYtNS44NTYtNC45NjEtNi42MTQtMy42MTItMTYuMDM1IDMuMDA2LTIxbDIwOS45OTEtMTU3LjQ5MmMyLjY1Mi0xLjk4NyA1LjgzLTIuOTc5IDkuMDA3LTIuOTc5IDMuMTc1IDAgNi4zNDkuOTkyIDguOTk2IDIuOTc0bDIwOS45OTYgMTU3LjQ5N2M2LjYyIDQuOTY2IDcuOTY5IDE0LjM4NiAzLjAwOCAyMXoiLz4KICAgIDwvZz4KPC9zdmc+",xae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDg1LjQsMjcyLjA2N2gtOC41MzN2LTE3OS4yYzAtNDIuNjY3LTM0LjEzMy03Ni44LTc2LjgtNzYuOGMtMzcuNzcsMC02NC45MzUsMjguMDA2LTY3Ljk3NCw2OS4wNDEKCQkJCWMtMTkuODI5LDMuNzQ4LTM0LjQyNiwyMC44MjYtMzQuNDI2LDQxLjg5MmMwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNoNjguMjY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzMwoJCQkJYzAtMjAuODMzLTE0LjI3NC0zNy43NjktMzMuNzY3LTQxLjc2N2MyLjU1LTI3LjExNiwxOC44MzYtNTIuMSw1MC44MzQtNTIuMWMzMy4yOCwwLDU5LjczMywyNi40NTMsNTkuNzMzLDU5LjczM3YxNzkuMkgyMDIuOTc1CgkJCQljLTMuODYtMTkuNjgxLTIwLjg3OC0zNC4xMzMtNDEuODQxLTM0LjEzM2MtOC41MzMtMTAuMjQtMjAuNDgtMTcuMDY3LTM0LjEzMy0xNy4wNjdjLTE2LjIxMywwLTMwLjcyLDkuMzg3LTM3LjU0NywyMy4wNAoJCQkJYy02LjgyNy0zLjQxMy0xNC41MDctNS45NzMtMjIuMTg3LTUuOTczYy0yMC45NjMsMC0zNy45ODEsMTQuNDUyLTQxLjg0MSwzNC4xMzNIMjQuNmMtMTQuNTA3LDAtMjUuNiwxMS4wOTMtMjUuNiwyNS42CgkJCQljMCwxNC41MDcsMTEuMDkzLDI1LjYsMjUuNiwyNS42aDEwLjI1NWwyMy4wMjUsOTEuMzA3YzYuODI3LDI2LjQ1MywzMC43Miw0NS4yMjcsNTguMDI3LDQ1LjIyN2g2LjgyN2wtMTEuMDkzLDIyLjE4NwoJCQkJYy0yLjU2LDQuMjY3LTAuODUzLDkuMzg3LDMuNDEzLDExLjA5M2MwLjg1MywwLjg1MywyLjU2LDAuODUzLDMuNDEzLDAuODUzYzMuNDEzLDAsNS45NzMtMS43MDcsNy42OC00LjI2N0wxNDEuMDgsNDU5LjhoMjM2LjgKCQkJCWwxNC41MDcsMjkuMDEzYzEuNzA3LDMuNDEzLDQuMjY3LDUuMTIsNy42OCw1LjEyYzEuNzA3LDAsMi41NiwwLDMuNDEzLTEuNzA3YzMuNDEzLTEuNzA3LDUuMTItNi44MjcsMy40MTMtMTEuMDkzCgkJCQlsLTEwLjY4OS0yMS4zNzljMjYuNDE5LTAuOTM4LDQ5LjI2Ni0xOS4zOSw1NS45MTYtNDQuMzI4bDIzLjI0LTkyLjE2aDEwLjA0YzE0LjUwNywwLDI1LjYtMTEuMDkzLDI1LjYtMjUuNgoJCQkJQzUxMSwyODMuMTYsNDk5LjkwNywyNzIuMDY3LDQ4NS40LDI3Mi4wNjd6IE0zNjUuMDgsMTE4LjQ2N2gtNDguNjRjMy40MTMtMTAuMjQsMTMuNjUzLTE3LjA2NywyNC43NDctMTcuMDY3CgkJCQlTMzYxLjY2NywxMDguMjI3LDM2NS4wOCwxMTguNDY3eiBNNjcuMjY3LDI1NWM3LjY4LDAsMTQuNTA3LDMuNDEzLDIwLjQ4LDkuMzg3YzEuNzA3LDIuNTYsNS4xMiwzLjQxMyw4LjUzMywyLjU2CgkJCQlzNS4xMi0zLjQxMyw1Ljk3My02LjgyN2MyLjU2LTEyLjgsMTIuOC0yMi4xODcsMjUuNi0yMi4xODdjOS4zODcsMCwxNy45Miw0LjI2NywyMi4xODcsMTIuOGMxLjcwNywzLjQxMyw1Ljk3Myw1LjEyLDkuMzg3LDQuMjY3CgkJCQljMC44NTMsMCwxLjcwNywwLDIuNTYsMGMxMS4wOTMsMCwyMC40OCw2LjgyNywyMy44OTMsMTcuMDY3SDQzLjM3M0M0Ni43ODcsMjYxLjgyNyw1Ni4xNzMsMjU1LDY3LjI2NywyNTV6IE00MzYuNzYsNDEwLjMwNwoJCQkJYy01LjEyLDE4Ljc3My0yMi4xODcsMzIuNDI3LTQxLjgxMywzMi40MjdIMTE2Ljc2Yy0xOS42MjcsMC0zNi42OTMtMTMuNjUzLTQxLjgxMy0zMi40MjdsLTIyLjE4Ny04Ny4wNGg0MDQuNDhMNDM2Ljc2LDQxMC4zMDd6CgkJCQkgTTQ4NS40LDMwNi4yaC0xNy4wNjdINDEuNjY3SDI0LjZjLTUuMTIsMC04LjUzMy0zLjQxMy04LjUzMy04LjUzM3MzLjQxMy04LjUzMyw4LjUzMy04LjUzM2g4LjUzM2gxNjIuMTMzSDQ4NS40CgkJCQljNS4xMiwwLDguNTMzLDMuNDEzLDguNTMzLDguNTMzUzQ5MC41MiwzMDYuMiw0ODUuNCwzMDYuMnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcKCQkJCUMyOTcuNjY3LDE3MC41MiwzMDEuMDgsMTczLjkzMywzMDYuMiwxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDYuMiwyMTMuMTg3YzUuMTIsMCw4LjUzMy00LjI2Nyw4LjUzMy04LjUzM3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y5LjM4NwoJCQkJQzI5Ny42NjcsMjA5Ljc3MywzMDEuMDgsMjEzLjE4NywzMDYuMiwyMTMuMTg3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDYuMiwyNDYuNDY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y0LjI2NwoJCQkJQzI5Ny42NjcsMjQzLjA1MywzMDEuMDgsMjQ2LjQ2NywzMDYuMiwyNDYuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNDAuMzMzLDE3My45MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCWMtNS4xMiwwLTguNTMzLDMuNDEzLTguNTMzLDguNTMzdjQuMjY3QzMzMS44LDE3MC41MiwzMzUuMjEzLDE3My45MzMsMzQwLjMzMywxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMzEuOCwyMDQuNjUzYzAsNS4xMiwzLjQxMyw4LjUzMyw4LjUzMyw4LjUzM2M1LjEyLDAsOC41MzMtNC4yNjcsOC41MzMtOC41MzN2LTkuMzg3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzMwoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjA0LjY1M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzMxLjgsMjM3LjkzM2MwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCWMtNS4xMiwwLTguNTMzLDMuNDEzLTguNTMzLDguNTMzVjIzNy45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM3NC40NjcsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcKCQkJCUMzNjUuOTMzLDE3MC41MiwzNjkuMzQ3LDE3My45MzMsMzc0LjQ2NywxNzMuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuOTMzLDIwNC42NTNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzUzM4MywyMDguOTIsMzgzLDIwNC42NTN2LTkuMzg3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzMwoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMDQuNjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuOTMzLDIzNy45MzNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMKCQkJCXMtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjM3LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+Cg==",fae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00OTYsMzQ0aC04VjI4MGEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMyVjExMmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDg4YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJWMjQ4YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJ2NjRIMTZhOCw4LDAsMCwwLTgsOHYzMmE4LDgsMCwwLDAsOCw4aDh2MzJhOCw4LDAsMCwwLDgsOEg1NmE3Ljk5LDcuOTksMCwwLDAsNy44NC02LjQzTDcwLjU2LDM5Mkg0NDEuNDRsNi43MiwzMy41N0E3Ljk5LDcuOTksMCwwLDAsNDU2LDQzMmgyNGE4LDgsMCwwLDAsOC04VjM5Mmg4YTgsOCwwLDAsMCw4LThWMzUyQTgsOCwwLDAsMCw0OTYsMzQ0Wk03MiwxMTJBMTYuMDIxLDE2LjAyMSwwLDAsMSw4OCw5Nkg0MjRhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNiwxNlYyNDhINDI0VjIxNmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDI5NmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLDMydjMySDI0OFYyMTZhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMi0zMkgxMjBhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMnYzMkg3MlpNNDA4LDIxNnYzMkgyODBWMjE2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZoOTZBMTYuMDIxLDE2LjAyMSwwLDAsMSw0MDgsMjE2Wm0tMTc2LDB2MzJIMTA0VjIxNmExNi4wMjEsMTYuMDIxLDAsMCwxLDE2LTE2aDk2QTE2LjAyMSwxNi4wMjEsMCwwLDEsMjMyLDIxNlpNNDAsMjgwYTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZINDU2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYsMTZ2NjRINDBabTkuNDQsMTM2SDQwVjM5Mkg1NC4yNFpNNDcyLDQxNmgtOS40NGwtNC44LTI0SDQ3MlptMTYtNDBIMjRWMzYwSDQ4OFoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",kae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NS4zOTMgNDUuMzkzIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTQzLjUxOCwxMi43MDlMMjUuMTc4LDAuNzI4Yy0xLjUxMS0wLjk3OC0zLjQ1OC0wLjk2OC00Ljk2LDAuMDIxTDEuODU5LDEyLjcxOWMtMS4xNCwwLjc1MS0xLjQ1NSwyLjI4NC0wLjcwNSwzLjQyNAoJCQljMC43NTEsMS4xNCwyLjI4MywxLjQ1NiwzLjQyNCwwLjcwNEwyMi43MTUsNS4wMjFMNDAuODMsMTYuODU3YzAuNDE2LDAuMjY5LDAuODgxLDAuMzk2LDEuMzQxLDAuMzk2CgkJCWMwLjgxMiwwLDEuNjA0LTAuMzk3LDIuMDc3LTEuMTI3QzQ0Ljk5LDE0Ljk4LDQ0LjY2MiwxMy40NTIsNDMuNTE4LDEyLjcwOXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzguODc5LDI3LjYxNmMtMC4xNTEtMC44NjUtMC45MDMtMS41MDUtMS43OC0xLjUwNWgtMS4wMDhsLTAuMzgzLTMuOTg3Yy0wLjQwOS00LjI2NC0zLjk0OC03LjQ5LTguMjMyLTcuNDlIMTcuOTIKCQkJYy00LjI4NSwwLTcuODIzLDMuMjI3LTguMjMzLDcuNDlsLTAuMzgyLDMuOTg3SDguMjk2Yy0wLjg3OCwwLTEuNjI5LDAuNjQtMS43ODIsMS41MDVsLTEuNSw4LjUwNAoJCQljLTAuMTg2LDEuMDU0LDAuMTEyLDIuMTM5LDAuOCwyLjk1N2MwLjY2MiwwLjc4OCwxLjYzNywxLjI1OCwyLjY1NywxLjI5M3YxLjQxMmMwLDEuOTk5LDEuNjAyLDMuNjEsMy42MDMsMy42MWgxLjEzOAoJCQljMS45OTksMCwzLjYyNS0xLjYxMSwzLjYyNS0zLjYxdi0xLjM4OWgxMS43MzJ2MS4zODZjMCwyLDEuNjEzLDMuNjEzLDMuNjEyLDMuNjEzaDEuMTM5YzEuOTk5LDAsMy42MTQtMS42MTMsMy42MTQtMy42MTNWNDAuMzcKCQkJYzEuMDItMC4wMzUsMS45ODktMC41MDEsMi42NDktMS4yODhjMC42ODgtMC44MiwwLjk4Mi0xLjg5OSwwLjc5OC0yLjk1NUwzOC44NzksMjcuNjE2eiBNMTEuNjQyLDM3LjExMwoJCQljLTEuNjg3LDAtMy4wNTUtMS4zNjctMy4wNTUtMy4wNTZjMC0xLjY4OSwxLjM2OC0zLjA1NywzLjA1NS0zLjA1N2MxLjY4OCwwLDMuMDU3LDEuMzY3LDMuMDU3LDMuMDU3CgkJCUMxNC42OTksMzUuNzQ2LDEzLjMzLDM3LjExMywxMS42NDIsMzcuMTEzeiBNMTIuNDA0LDI2LjExMWwwLjM1My0zLjY3OGMwLjI1Ny0yLjY3NCwyLjQ3Ni00LjY4OCw1LjE2My00LjY4OGgwLjU1MXYxLjE1NgoJCQljMCwxLjAwMywwLjc5NywxLjgwMiwxLjc5OSwxLjgwMmg0Ljg1NmMxLjAwMiwwLDEuODEzLTAuNzk5LDEuODEzLTEuODAydi0xLjE1NWgwLjUzN2MyLjY4NywwLDQuOTA2LDIuMDE0LDUuMTYyLDQuNjg4CgkJCWwwLjM1NCwzLjY3OEwxMi40MDQsMjYuMTExTDEyLjQwNCwyNi4xMTF6IE0zMy43NSwzNy4xMTNjLTEuNjg3LDAtMy4wNTUtMS4zNjctMy4wNTUtMy4wNTZjMC0xLjY4OSwxLjM2OC0zLjA1NywzLjA1NS0zLjA1NwoJCQljMS42ODgsMCwzLjA1NywxLjM2NywzLjA1NywzLjA1N0MzNi44MDcsMzUuNzQ2LDM1LjQzOCwzNy4xMTMsMzMuNzUsMzcuMTEzeiIvPgogICAgPC9nPgo8L3N2Zz4K",Yae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDk0LjU5NCwzOTQuMjM3aC0xOS40NjFjMTIuOTU0LTE5LjU0MywyMC41MTItNDIuOTU4LDIwLjUxMi02OC4xMDljMC02OC4xNTctNTUuNDQ5LTEyMy42MDYtMTIzLjYwNi0xMjMuNjA2CgkJCWMtNy4xNzEsMC0xNC4yLDAuNjIyLTIxLjA0LDEuNzk5YzE3Ljg1My0yMS40MzUsMjguNjA4LTQ4Ljk3OSwyOC42MDgtNzguOTlDMzc5LjYwNiw1Ny4xNzQsMzI0LjE1NywxLjcyNCwyNTYsMS43MjQKCQkJYy02OC4xNTcsMC0xMjMuNjA2LDU1LjQ0OS0xMjMuNjA2LDEyMy42MDZjMCwzMC4wMTIsMTAuNzU1LDU3LjU1NSwyOC42MDgsNzguOTljLTYuODQtMS4xNzgtMTMuODY5LTEuNzk5LTIxLjA0LTEuNzk5CgkJCWMtNjguMTU3LDAtMTIzLjYwNiw1NS40NDktMTIzLjYwNiwxMjMuNjA2YzAsMjUuMTUxLDcuNTU4LDQ4LjU2NywyMC41MTIsNjguMTA5SDE3LjQwNkwwLDUxMC4yNzZoOTMuMjk0bDE1LjEzNS0yMC4xODFoNjMuMDY0CgkJCWwxNS4xMzUsMjAuMTgxaDEzOC43NDJsMTUuMTM1LTIwLjE4MWg2My4wNjRsMTUuMTM1LDIwLjE4MUg1MTJMNDk0LjU5NCwzOTQuMjM3eiBNNDY5LjUxOSwzNzMuNjdsLTEzLjE0Mi03LjU4OAoJCQljNC43MzYtOS45NTgsNy43Ni0yMC44ODEsOC42ODgtMzIuMzg3aDE1LjE3NUM0NzkuMjU0LDM0Ny45NDgsNDc1LjUwMywzNjEuNDUsNDY5LjUxOSwzNzMuNjd6IE00MDkuODc3LDM5NC41MzN2LTEzNi44MQoJCQljMjQuMDQ1LDEzLjM1NCw0MC4zNjEsMzkuMDA1LDQwLjM2MSw2OC40MDVTNDMzLjkyMiwzODEuMTc4LDQwOS44NzcsMzk0LjUzM3ogTTQxOS41ODEsNDIzLjYwOAoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMNDE5LjU4MSw0MjMuNjA4eiBNNDQ4Ljc4NywzNzkuMTc2CgkJCWwxMy4xNDgsNy41OTFjLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzQzNC4zMzYsMzk2LjQ2NCw0NDIuMzc1LDM4OC40MjUsNDQ4Ljc4NywzNzkuMTc2egoJCQkgTTQ4MC4yNDEsMzE4LjU2aC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEM0NzUuNTAzLDI5MC44MDUsNDc5LjI1NCwzMDQuMzA3LDQ4MC4yNDEsMzE4LjU2egoJCQkgTTQzMi42NzgsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTkKCQkJTDQzMi42NzgsMjM2LjIzMXogTTQxMS45OTQsMjQxLjc4OWMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4di0xNS4xNzZjMTQuMjUyLDAuOTg3LDI3Ljc1NCw0LjczOCwzOS45NzQsMTAuNzIyCgkJCUw0MTEuOTk0LDI0MS43ODl6IE0zOTQuNzQyLDI1MS4zdjE0OS42NTVjLTcuMTg5LDIuMTg2LTE0LjgxLDMuMzcyLTIyLjcwMywzLjM3MmMtNy44OTQsMC0xNS41MTQtMS4xODctMjIuNzAzLTMuMzcyVjI1MS4zCgkJCWM3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMzc5LjkzMiwyNDcuOTI4LDM4Ny41NTIsMjQ5LjExNCwzOTQuNzQyLDI1MS4zeiBNMTc3LjgsMzk0LjUzM3YtMTM2LjgxCgkJCWMyNC4wNDUsMTMuMzU0LDQwLjM2MSwzOS4wMDUsNDAuMzYxLDY4LjQwNVMyMDEuODQ1LDM4MS4xNzgsMTc3LjgsMzk0LjUzM3ogTTE4Ny41MDQsNDIzLjYwOAoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMMTg3LjUwNCw0MjMuNjA4eiBNMjgyLjE0MiwyNjUuNDg4CgkJCWM3Ljc5NC0xMS41MTcsMTcuNzQtMjEuNDYzLDI5LjI1Ni0yOS4yNTZsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OUwyODIuMTQyLDI2NS40ODh6IE0yODcuNywyODYuMTczCgkJCWMtNC43MzYsOS45NTgtNy43NiwyMC44ODEtOC42ODgsMzIuMzg3aC0xNS4xNzVjMC45ODctMTQuMjUzLDQuNzM3LTI3Ljc1NCwxMC43MjItMzkuOTc1TDI4Ny43LDI4Ni4xNzN6IE0zMTYuNjQsMjE1LjIyNwoJCQlsLTcuNTkxLTEzLjE0OGM5LjI0OS02LjQxMiwxNy4yODctMTQuNDUsMjMuNjk5LTIzLjY5OWwxMy4xNDgsNy41OTFDMzM4LjEwMywxOTcuNDg3LDMyOC4xNTcsMjA3LjQzMywzMTYuNjQsMjE1LjIyN3oKCQkJIE0yOTMuODM5LDE5My43MzZWNTYuOTI1QzMxNy44ODQsNzAuMjgsMzM0LjIsOTUuOTMsMzM0LjIsMTI1LjMzMVMzMTcuODg0LDE4MC4zODEsMjkzLjgzOSwxOTMuNzM2eiBNMjk1Ljk1NSwyMDkuNjY5CgkJCWw3LjU4NywxMy4xNDJjLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVDMjc1LjA3NCwyMTcuNDMsMjg1Ljk5NiwyMTQuNDA3LDI5NS45NTUsMjA5LjY2OXogTTI3Ny4wNCwyNDcuMTM4CgkJCWMtOC45NTEsMTAuNzQ3LTE2LjExOSwyMy4wMjgtMjEuMDQsMzYuMzg5Yy00LjkyMS0xMy4zNjEtMTIuMDg5LTI1LjY0MS0yMS4wNC0zNi4zODljNi44NCwxLjE3OCwxMy44NjksMS43OTksMjEuMDQsMS43OTkKCQkJQzI2My4xNzEsMjQ4LjkzNywyNzAuMiwyNDguMzE1LDI3Ny4wNCwyNDcuMTM4eiBNMjQ4LjE2NCwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4CgkJCUMyNDMuNDI2LDI5MC44MDUsMjQ3LjE3NywzMDQuMzA3LDI0OC4xNjQsMzE4LjU2eiBNMjQ4LjQzMSwyMzMuNTMzYy0xNC4yNTItMC45ODctMjcuNzU0LTQuNzM4LTM5Ljk3NC0xMC43MjJsNy41ODctMTMuMTQyCgkJCWM5Ljk1OCw0LjczNiwyMC44ODEsNy43NiwzMi4zODcsOC42ODhWMjMzLjUzM3ogTTIxOC4xNjEsMTkzLjczNmMtMjQuMDQ1LTEzLjM1NC00MC4zNjEtMzkuMDA1LTQwLjM2MS02OC40MDUKCQkJYzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDVWMTkzLjczNnogTTE3OS4yNTEsMTc4LjM3OWM2LjQxMiw5LjI0OSwxNC40NSwxNy4yODcsMjMuNjk5LDIzLjY5OWwtNy41OTEsMTMuMTQ4CgkJCWMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2TDE3OS4yNTEsMTc4LjM3OXogTTIwMC42MDEsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTYKCQkJbC0xMy4xNDgsNy41OTFjLTYuNDEyLTkuMjQ5LTE0LjQ1LTE3LjI4Ny0yMy42OTktMjMuNjk5TDIwMC42MDEsMjM2LjIzMXogTTIxNi43MSwzNzkuMTc2bDEzLjE0OCw3LjU5MQoJCQljLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzIwMi4yNTksMzk2LjQ2NCwyMTAuMjk4LDM4OC40MjUsMjE2LjcxLDM3OS4xNzZ6IE0yMjQuMywzNjYuMDgyCgkJCWM0LjczNi05Ljk1OCw3Ljc2LTIwLjg4MSw4LjY4OC0zMi4zODdoMTUuMTc1Yy0wLjk4NywxNC4yNTMtNC43MzcsMjcuNzU0LTEwLjcyMiwzOS45NzVMMjI0LjMsMzY2LjA4MnogTTI1NiwzNjguNzI5CgkJCWMzLjMzMiw5LjA0NSw3LjY5NywxNy41OTMsMTIuOTQ0LDI1LjUwOGgtMjUuODg4QzI0OC4zMDMsMzg2LjMyMSwyNTIuNjY4LDM3Ny43NzQsMjU2LDM2OC43Mjl6IE0yNjMuODM2LDMzMy42OTVoMTUuMTc1CgkJCWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N2wtMTMuMTQyLDcuNTg4QzI2OC41NzQsMzYxLjQ1LDI2NC44MjMsMzQ3Ljk0OCwyNjMuODM2LDMzMy42OTV6IE0yOTUuMjksMzc5LjE3NgoJCQljNi40MTIsOS4yNDksMTQuNDUsMTcuMjg3LDIzLjY5OSwyMy42OTlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2TDI5NS4yOSwzNzkuMTc2egoJCQkgTTI5My44MzksMzI2LjEyOGMwLTI5LjQsMTYuMzE2LTU1LjA1MSw0MC4zNjEtNjguNDA1djEzNi44MUMzMTAuMTU1LDM4MS4xNzgsMjkzLjgzOSwzNTUuNTI4LDI5My44MzksMzI2LjEyOHogTTMzMi4wODQsNDEwLjQ2NgoJCQljOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDMzMi4wODQsNDEwLjQ2NnogTTM2NC40NzEsMjE3LjkyNVYyMzMuMQoJCQljLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDJDMzM2LjcxNiwyMjIuNjYzLDM1MC4yMTgsMjE4LjkxMiwzNjQuNDcxLDIxNy45MjV6IE0zNTMuNDgsMTcyLjg3MwoJCQlsLTEzLjE0Mi03LjU4OGM0LjczNi05Ljk1OCw3Ljc2LTIwLjg4MSw4LjY4OC0zMi4zODdoMTUuMTc1QzM2My4yMTYsMTQ3LjE1MSwzNTkuNDY1LDE2MC42NTMsMzUzLjQ4LDE3Mi44NzN6IE0zNjQuMjAyLDExNy43NjMKCQkJaC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEMzNTkuNDY1LDkwLjAwOCwzNjMuMjE2LDEwMy41MSwzNjQuMjAyLDExNy43NjN6IE0zMTYuNjQsMzUuNDM0CgkJCWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTlMMzE2LjY0LDM1LjQzNHogTTI5NS45NTYsNDAuOTkyCgkJCWMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4VjE3LjEyOGMxNC4yNTIsMC45ODcsMjcuNzU0LDQuNzM4LDM5Ljk3NCwxMC43MjJMMjk1Ljk1Niw0MC45OTJ6IE0yNzguNzAzLDUwLjUwM3YxNDkuNjU1CgkJCWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWNTAuNTAzYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3MgoJCQlDMjYzLjg5NCw0Ny4xMzEsMjcxLjUxNCw0OC4zMTcsMjc4LjcwMyw1MC41MDN6IE0yNDguNDMyLDE3LjEyOHYxNS4xNzVjLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDIKCQkJQzIyMC42NzgsMjEuODY2LDIzNC4xOCwxOC4xMTUsMjQ4LjQzMiwxNy4xMjh6IE0xOTUuMzYsMzUuNDM0bDcuNTkxLDEzLjE0OGMtOS4yNDksNi40MTItMTcuMjg3LDE0LjQ1LTIzLjY5OSwyMy42OTkKCQkJbC0xMy4xNDgtNy41OTFDMTczLjg5Nyw1My4xNzQsMTgzLjg0Myw0My4yMjgsMTk1LjM2LDM1LjQzNHogTTE1OC41Miw3Ny43ODhsMTMuMTQyLDcuNTg4Yy00LjczNiw5Ljk1OC03Ljc2LDIwLjg4MS04LjY4OCwzMi4zODcKCQkJaC0xNS4xNzVDMTQ4Ljc4NSwxMDMuNTEsMTUyLjUzNSw5MC4wMDgsMTU4LjUyLDc3Ljc4OHogTTE1OC41MiwxNzIuODczYy01Ljk4NC0xMi4yMi05LjczNS0yNS43MjItMTAuNzIyLTM5Ljk3NWgxNS4xNzUKCQkJYzAuOTI3LDExLjUwNiwzLjk1MSwyMi40MjksOC42ODgsMzIuMzg3TDE1OC41MiwxNzIuODczeiBNMTg3LjUwNCwyMjguNjQ3bC03LjU4NywxMy4xNDJjLTkuOTU4LTQuNzM2LTIwLjg4MS03Ljc2LTMyLjM4Ny04LjY4OAoJCQl2LTE1LjE3NkMxNjEuNzgyLDIxOC45MTIsMTc1LjI4NCwyMjIuNjY0LDE4Ny41MDQsMjI4LjY0N3ogTTE2Mi42NjUsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyCgkJCWMtNy44OTQsMC0xNS41MTQtMS4xODctMjIuNzAzLTMuMzcyVjI1MS4zYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3MkMxNDcuODU1LDI0Ny45MjgsMTU1LjQ3NSwyNDkuMTE0LDE2Mi42NjUsMjUxLjN6CgkJCSBNNjEuNzYyLDMyNi4xMjhjMC0yOS40LDE2LjMxNi01NS4wNTEsNDAuMzYxLTY4LjQwNXYxMzYuODFDNzguMDc4LDM4MS4xNzgsNjEuNzYyLDM1NS41MjgsNjEuNzYyLDMyNi4xMjh6IE04Ni45MTMsNDAyLjg3NgoJCQlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2bDEzLjE0OC03LjU5MUM2OS42MjUsMzg4LjQyNSw3Ny42NjQsMzk2LjQ2NCw4Ni45MTMsNDAyLjg3NnoKCQkJIE0xMDAuMDA3LDQxMC40NjZjOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDEwMC4wMDcsNDEwLjQ2NnoKCQkJIE0xMzIuMzk0LDIxNy45MjVWMjMzLjFjLTExLjUwNiwwLjkyNy0yMi40MjksMy45NTEtMzIuMzg3LDguNjg4bC03LjU4Ny0xMy4xNDJDMTA0LjYzOSwyMjIuNjYzLDExOC4xNDEsMjE4LjkxMiwxMzIuMzk0LDIxNy45MjUKCQkJeiBNNzkuMzIyLDIzNi4yMzFsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OWwtMTMuMTQ4LTcuNTkxCgkJCUM1Ny44NTksMjUzLjk3MSw2Ny44MDUsMjQ0LjAyNSw3OS4zMjIsMjM2LjIzMXogTTQyLjQ4MSwyNzguNTg1bDEzLjE0Miw3LjU4OGMtNC43MzYsOS45NTgtNy43NiwyMC44ODEtOC42ODgsMzIuMzg3SDMxLjc1OQoJCQlDMzIuNzQ2LDMwNC4zMDcsMzYuNDk3LDI5MC44MDUsNDIuNDgxLDI3OC41ODV6IE0zMS43NTksMzMzLjY5NWgxNS4xNzVjMC45MjcsMTEuNTA2LDMuOTUxLDIyLjQyOSw4LjY4OCwzMi4zODdMNDIuNDgsMzczLjY3CgkJCUMzNi40OTcsMzYxLjQ1LDMyLjc0NiwzNDcuOTQ4LDMxLjc1OSwzMzMuNjk1eiBNNDI2LjI3NCw0OTUuMTRsLTE1LjEzNS0yMC4xODFoLTc4LjJsLTE1LjEzNSwyMC4xODFIMTk0LjE5N2wtMTUuMTM1LTIwLjE4MQoJCQloLTc4LjJMODUuNzI2LDQ5NS4xNEgxNy41NzVsMTIuODY1LTg1Ljc2OGgxOC4yM2MyMi42MiwyNC43ODYsNTUuMTcxLDQwLjM2MSw5MS4yOTEsNDAuMzYxczY4LjY3MS0xNS41NzUsOTEuMjkxLTQwLjM2MWg0OS40OTQKCQkJYzIyLjYyLDI0Ljc4Niw1NS4xNzEsNDAuMzYxLDkxLjI5MSw0MC4zNjFzNjguNjcxLTE1LjU3NSw5MS4yOTEtNDAuMzYxaDE4LjIzbDEyLjg2NSw4NS43NjhINDI2LjI3NHoiLz4KICAgICAgICA8cmVjdCB4PSIzMDUuOTQ4IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjE5MC45MTkiIHk9IjExNi43NTUiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMjQ4LjQzMyIgeT0iMTExLjIwNSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI2NS43OTkiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+CiAgICAgICAgPHJlY3QgeD0iMjQ4LjQzMyIgeT0iMTcxLjc0NyIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSI0MjEuOTg2IiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjMwNi45NTciIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMzY0LjQ3MiIgeT0iMzEyLjAwMiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIzNjQuNDcyIiB5PSIyNjYuNTk2IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjMwLjI3MSIvPgogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTg5LjkxIiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9Ijc0Ljg4IiB5PSIzMTcuNTUyIiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMTMyLjM5NSIgeT0iMjY2LjU5NiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIzMC4yNzEiLz4KICAgICAgICA8cmVjdCB4PSIxMzIuMzk1IiB5PSIzNzIuNTQ0IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjQ2MS4zODciIHk9IjQ3MC44ODEiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTg4OSAtMC4xNDgzIDAuMTQ4MyAwLjk4ODkgLTY1Ljc3MiA3NC44NDExKSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjQ1Ni4yMSIgeT0iNDMxLjkzNSIgdHJhbnNmb3JtPSJtYXRyaXgoMC45ODg5IC0wLjE0ODMgMC4xNDgzIDAuOTg4OSAtNjAuNzE5OSA3My42OTAzKSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjI0LjE0NSIvPgogICAgICAgIDxyZWN0IHg9IjI0OC40MzMiIHk9IjQ2NC44NyIgd2lkdGg9IjQ1LjQwNiIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyMTguMTYyIiB5PSI0NjQuODciIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMjYzLjU2OSIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4KICAgICAgICA8cmVjdCB4PSIyMzMuMjk4IiB5PSI0MjQuNTA5IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgICAgIDxyZWN0IHg9IjM2LjEyNyIgeT0iNDM2LjQ2MSIgdHJhbnNmb3JtPSJtYXRyaXgoMC4xNDgzIC0wLjk4ODkgMC45ODg5IDAuMTQ4MyAtMzk4LjA2NzUgNDI1Ljg0MjcpIgogICAgICAgICAgICAgIHdpZHRoPSIyNC4xNDUiIGhlaWdodD0iMTUuMTM1Ii8+CiAgICAgICAgPHJlY3QgeD0iMzUuNDY4IiB5PSI0NzAuODYiIHRyYW5zZm9ybT0ibWF0cml4KDAuMTQ4MyAtMC45ODg5IDAuOTg4OSAwLjE0ODMgLTQzNi40ODM4IDQ1MC4wMzI1KSIKICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPgogICAgPC9nPgo8L3N2Zz4K",Qae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik02MSwyMUgzYTEsMSwwLDAsMCwwLDJINjFhMSwxLDAsMCwwLDAtMloiLz4KICAgICAgICA8cGF0aCBkPSJNNjEsMkg0OWExLDEsMCwwLDAtMSwxVjE3SDQ2di0uNzY0YTEwLjUzMywxMC41MzMsMCwwLDAtMS4xLTQuNjgzQTguNTIyLDguNTIyLDAsMCwxLDQ0LDcuNzY0VjNhMSwxLDAsMCwwLTEtMUgzOWExLDEsMCwwLDAtMSwxVjcuNzY0YTguNTIyLDguNTIyLDAsMCwxLS45LDMuNzg5Yy0uMDM5LjA4LS4wNjcuMTY1LS4xLjI0Ni0uMDM4LS4wODEtLjA2Ni0uMTY2LS4xLS4yNDZBOC41MjIsOC41MjIsMCwwLDEsMzYsNy43NjRWM2ExLDEsMCwwLDAtMS0xSDMxYTEsMSwwLDAsMC0xLDFWNy43NjRhOC41MjIsOC41MjIsMCwwLDEtLjg5NSwzLjc4OUExMC41MzMsMTAuNTMzLDAsMCwwLDI4LDE2LjIzNlYxN0gxOFYxMC40MTRhMi4zOTQsMi4zOTQsMCwwLDEsLjcwNy0xLjcwNkE0LjM4NSw0LjM4NSwwLDAsMCwyMCw1LjU4NlY0aDJWNS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMjQsMTAuNDE0VjE0YTEsMSwwLDAsMCwyLDBWMTAuNDE0YTQuMzg1LDQuMzg1LDAsMCwwLTEuMjkzLTMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDI0LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxOWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC41MTUsNC41MTUsMCwwLDAsMTcsNy42NDlhNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDE2LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxMWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC4zODUsNC4zODUsMCwwLDAsOCwxMC40MTRWMTdIM2ExLDEsMCwwLDAsMCwySDYxYTEsMSwwLDAsMCwwLTJINTBWMTRINjBhMSwxLDAsMCwwLDIsMFYzQTEsMSwwLDAsMCw2MSwyWk00Miw0VjdINDBWNFpNMTAuNzA3LDguNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDEyLDUuNTg2VjRoMlY1LjU4NmE0LjM4NSw0LjM4NSwwLDAsMCwxLjI5MywzLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwxNiwxMC40MTRWMTJIMTBWMTAuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDEwLjcwNyw4LjcwOFpNMTAsMTRoNnYzSDEwWm0yMCwyLjIzNmE4LjUyMiw4LjUyMiwwLDAsMSwuODk1LTMuNzg5QTEwLjUzMywxMC41MzMsMCwwLDAsMzIsNy43NjRWNGgyVjcuNzY0YTEwLjUzMywxMC41MzMsMCwwLDAsMS4xLDQuNjgzLDguNTIyLDguNTIyLDAsMCwxLC45LDMuNzg5VjE3SDMwWk0zOCwxN3YtLjc2NGE4LjUyMiw4LjUyMiwwLDAsMSwuOS0zLjc4OUExMC41NDEsMTAuNTQxLDAsMCwwLDM5LjkyNCw5aDIuMTUyYTEwLjU0MSwxMC41NDEsMCwwLDAsMS4wMjksMy40NDcsOC41MjIsOC41MjIsMCwwLDEsLjksMy43ODlWMTdaTTYwLDRWNkg1MFY0Wk01MCwxMlY4SDYwdjRaIi8+CiAgICAgICAgPHBhdGggZD0iTTYxLDQ0SDNhMSwxLDAsMCwwLDAsMkg2MFY2MEg0NlY0OWExLDEsMCwwLDAtMiwwVjYwSDQyVjUzYTEsMSwwLDAsMC0xLTFIMjZhMSwxLDAsMCwwLTEsMXY3SDIyVjQ5YTEsMSwwLDAsMC0xLTFINWExLDEsMCwwLDAtMSwxVjYwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsMS0xVjQ1QTEsMSwwLDAsMCw2MSw0NFpNNDAsNTZIMzdWNTRoM1ptLTUsMEgzMlY1NGgzWm0tNS0ydjJIMjdWNTRaTTIwLDUyLjM4MmEzLjk0NywzLjk0NywwLDAsMC02LDBWNTBoNlpNMTksNTVhMiwyLDAsMSwxLTItMkEyLDIsMCwwLDEsMTksNTVaTTYsNTRoNnYySDZabTYtNHYySDZWNTBaTTYsNThoNnYySDZabTgsMlY1Ny42MThhMy45NDcsMy45NDcsMCwwLDAsNiwwVjYwWm0xMy0yaDN2MkgyN1ptNSwwaDN2MkgzMlptNSwyVjU4aDN2MloiLz4KICAgICAgICA8cGF0aCBkPSJNNTcsNTZhMSwxLDAsMCwwLDEtMVY1MWExLDEsMCwwLDAtMS0xSDQ5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxWm0tNy00aDZ2Mkg1MFoiLz4KICAgICAgICA8cGF0aCBkPSJNNjAsMjkuMTg0VjI2YTEsMSwwLDAsMC0xLTFINTVhMSwxLDAsMCwwLTEsMXYzLjE4NEEzLDMsMCwwLDAsNTIsMzJ2N2EyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDlWMzRhMSwxLDAsMCwwLDAtMkg0MWExLDEsMCwwLDAsMCwydjZIMzhWMzFhMSwxLDAsMCwwLTEtMUgyNWExLDEsMCwwLDAtMSwxdjlIMjJWMzlhMSwxLDAsMCwwLTIsMHYxSDE0VjMzLjQxNGEyLjM5NCwyLjM5NCwwLDAsMSwuNzA3LTEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDE2LDI4LjU4NlYyN2gydjEuNTg2YTQuMzg1LDQuMzg1LDAsMCwwLDEuMjkzLDMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDIwLDMzLjQxNFYzNWExLDEsMCwwLDAsMiwwVjMzLjQxNGE0LjM4NSw0LjM4NSwwLDAsMC0xLjI5My0zLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwyMCwyOC41ODZWMjZhMSwxLDAsMCwwLTEtMUgxNWExLDEsMCwwLDAtMSwxdjIuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDYsNC41MTUsNC41MTUsMCwwLDAtLjI5My4zNTcsNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDEyLDI4LjU4NlYyNmExLDEsMCwwLDAtMS0xSDdhMSwxLDAsMCwwLTEsMXYyLjU4NmEyLjM5NCwyLjM5NCwwLDAsMS0uNzA3LDEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDQsMzMuNDE0VjQwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsLjctMS43MTNBMi45NjQsMi45NjQsMCwwLDAsNjIsMzlWMzJBMywzLDAsMCwwLDYwLDI5LjE4NFpNNi43MDcsMzEuNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDgsMjguNTg2VjI3aDJ2MS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMTIsMzMuNDE0VjM1SDZWMzMuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDYuNzA3LDMxLjcwOFpNNiwzN2g2djNINlpNNTYsMjdoMnYySDU2Wm0tMSw0aDRhMSwxLDAsMCwxLDEsMXYzSDU0VjMyQTEsMSwwLDAsMSw1NSwzMVpNMzYsMzZIMzJWMzJoNFptLTYtNHYySDI2VjMyWm0tNCw0aDR2NEgyNlptNiw0VjM4aDR2MlptMTEsMFYzNGg0djZabTEyLDBhMSwxLDAsMCwxLTEtMVYzN2g2djJhMSwxLDAsMCwxLTEsMVoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Uae="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTA0IDQ4LjAxNTYyNWgtNDk2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTktOC04di0zMi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OTZjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHYzMi4wMTU2MjVjMCA0LjQyNTc4MS0zLjU3NDIxOSA4LTggOHptLTQ4OC0xNmg0ODB2LTE2LjAxNTYyNWgtNDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ3MiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQwIDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDk2IDI5Ni4xNjAxNTZoLTI0Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMjRjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00NzIgMTg0LjEyODkwNmgtNDMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTcxLjk4NDM3NSAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMjIuMDU4NTk0IDE3LjkzNzUtNDAgMzkuOTkyMTg3LTQwIDQuNDIxODc2IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNCA4LTggOC0xMy4yMjI2NTYgMC0yMy45OTIxODcgMTAuNzY1NjI1LTIzLjk5MjE4NyAyNCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTc5Ljk4NDM3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMjggODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEyOCAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTIwLjAwNzgxMiAxMjguMTI4OTA2aC0xNi4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAzMTI1YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1NiAxNjAuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjM0Mzc1LTEwLjc2OTUzMS0yNC0yMy45OTIxODgtMjQtNC40MjE4NzQgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI2LTggOC04IDIyLjA1NDY4OCAwIDM5Ljk5MjE4OCAxNy45NDE0MDYgMzkuOTkyMTg4IDQwIDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xODMuOTg0Mzc1IDEzOC45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDIuODM5ODQ0YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LTggNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOHY0Mi44Mzk4NDRjMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzIgODAuMTI4OTA2aC0zMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDMyYzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIwMCA5Ni4xMjg5MDZoLTE2LjAxNTYyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE2LjAxNTYyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNDcuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI4MC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOC00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggMTMuMjM0Mzc1IDAgMjQgMTAuNzY1NjI1IDI0IDI0IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNzIuMTY3OTY5IDI2NC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQ3Ljk4NDM3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djQ3Ljk4NDM3NWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI1Ni4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZjLTQuNDIxODc1IDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41NzQyMTggOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzI4LjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2aC04MC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg4MC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41ODIwMzEgOC04LjAwNzgxMyA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjY0LjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOHYtNDhjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djQ4YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDI0LjE5OTIxOSAyMTYuMTQ0NTMxaC00OC4wMzEyNWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ4LjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQzMi4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",vae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K",bae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNzMgNTEyLjI3MyIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTUwNy44OTEgMjM4LjM5OWMtNi43MjMtMzUuODgxLTIxLjg1My02Ni45MDUtNDMuNzU1LTg5LjcxOC05Ljg0NS0xMC4yNTMtMjEuNDU2LTE5Ljc1LTM0LjUxNC0yOC4yMjctMTQuOTQtOS42OTktMzIuMTkyLTE4LjQzOC01NC4yOTMtMjcuNTAzLTkuNjg0LTMuOTcyLTE5LjM3NS03LjYzNy0yOC40MDYtMTEuMDA1LTE0LjY0Mi01LjQ2LTMwLjA2NC0xMC45NTgtNDUuODQzLTE2LjMzNy01LjQyNy0xLjg1MS0xMC45MjEtMy42MDYtMTYuMjM0LTUuMzAzLTguNTA1LTIuNzE3LTE3LjMtNS41MjctMjUuNzcxLTguNzIxLTUuMjI0LTEuOTctNy40MjYtMy40NjQtOC4zMjEtNC4yNTguMDQ2LS4wNTYuMDk2LS4xMTUuMTUxLS4xNzcgNC4wNDgtNC42MTUgMjcuNjAzLTIzLjEwNSA0MS41MDEtMzMuNjc3IDIuNTYyLTEuOTQ5IDMuNTk1LTUuMzE1IDIuNTY2LTguMzY1cy0zLjg4OS01LjEwNC03LjEwNy01LjEwNGwtMTU0LjA1Mi0uMDA0Yy0xLjMyMSAwLTIuNjE5LjM0OS0zLjc2MiAxLjAxMi0xNy4yODIgMTAuMDIxLTMxLjYyMyAyNS43OS0zOS4zNDYgNDMuMjYyLTguOTQ2IDIwLjI0LTkuMDE2IDQxLjQyNS0uMjAyIDYxLjI2MyAxMi4wNyAyNy4xNjcgMzcuNTY3IDQyLjIzNyA2MC4wNjMgNTUuNTMzIDUuODcgMy40NjkgMTEuNDE0IDYuNzQ2IDE2LjY1NSAxMC4xNjcgMy4wOTUgMi4wMiA2LjI3MyA0LjAwMyA5LjM0NyA1LjkyMiAxMS41NDUgNy4yMDggMjIuNDUgMTQuMDE2IDMxLjE2NyAyMy42MDQgOC45ODEgOS44NzcgMTEuNjkzIDIyLjUwMSA3Ljg0MiAzNi41MDctOC45NDggMzIuNTQ0LTM1LjU0NCA2MS43ODEtNTkuMDA5IDg3LjU3Ni00LjM0MiA0Ljc3My04LjQ0MiA5LjI4MS0xMi40MDkgMTMuNzc2LTExLjEwNyAxMi41ODctMjcuMzkzIDMwLjg5LTQ0LjYzNCA1MC4yNjctNTYuODY5IDYzLjkxNC05NC40MTUgMTA2LjIyOS05OCAxMTEuODQ2LTEuNDc0IDIuMzA5LTEuNTcxIDUuMjM4LS4yNTQgNy42NCAxLjMxNiAyLjQwMiAzLjgzOCAzLjg5NSA2LjU3NyAzLjg5NWw0NDYuMzE2LjAwM2guMDAxYzMuMjUxIDAgNi4xMzItMi4wOTQgNy4xMzUtNS4xODcgMTEuNjU5LTM1Ljk2IDIyLjIxMi03Mi4yMzIgMzUuMjgzLTEyMS4yODMgMTUuNTkxLTU4LjUxNSAxOS4xODUtMTA1LjM1NCAxMS4zMDgtMTQ3LjQwNHptLTI1LjgwMyAxNDMuNTQzYy0xMi4zNyA0Ni40Mi0yMi40NjQgODEuMzA1LTMzLjM4NSAxMTUuMzMxbC0yNi45NC0uMDAyYzEuMjg4LTMuOTQ4IDIuNTczLTcuOTAzIDMuODYxLTExLjg0MiAxMS41OC0zNS40MSAyMi44NzctNzAuOTI1IDMyLjUwNC0xMDYuODg4IDEuNTM1LTUuNzQgMy4xMjItMTEuNjc0IDQuNjctMTcuNjQ1IDEuMDQtNC4wMDktMS4zNjgtOC4xMDMtNS4zNzgtOS4xNDItNC4wMDktMS4wMzgtOC4xMDIgMS4zNjktOS4xNDIgNS4zNzgtMS41MzMgNS45MTQtMy4xMTMgMTEuODItNC42NDEgMTcuNTMxLTkuNDM5IDM1LjI3NS0yMC43OTcgNzEuMDI1LTMyLjI3IDEwNi4xMDQtMS43OTcgNS40OTMtMy41OTUgMTAuOTkyLTUuMzg5IDE2LjUwNGgtMTU3Ljk3OGMtLjQzMi0xLjg1OC0xLjU2Ny0zLjU1My0zLjMwOS00LjY0OS0zLjUwNC0yLjIwNi04LjEzNi0xLjE1Mi0xMC4zNDIgMi4zNTMtLjQ5NS43ODYtLjk3MyAxLjU0Mi0xLjQ0OSAyLjI5NmgtMTU2LjIzNGMyNC40NzMtMzAuNTUxIDkxLjg5Ny0xMTIuMDczIDEyNC4yMzgtMTQ4LjcyNCAxNy4yNC0xOS41MzcgMzEuMzY4LTM4LjcyNiA0MS45OTQtNTcuMDMzIDE3LjU5OC0zMC4zMTkgMjQuNTY3LTU2Ljc2NSAyMC43MTYtNzguNjAxLTguMjczLTQ2LjkwOS00NS4xMjctNjUuNzY0LTc3LjY0My04Mi4zOTgtMy40MzktMS43NTktNi45OTUtMy41NzktMTAuNDA3LTUuMzc1bC0uNjA5LS4zMjFjLTMuNjYzLTEuOTMzLTguMi0uNTMtMTAuMTMzIDMuMTMzcy0uNTMgOC4yIDMuMTMzIDEwLjEzM2wuNjE2LjMyNWMzLjQ5NiAxLjg0IDcuMDkxIDMuNjggMTAuNTY4IDUuNDU4IDMyLjI1NyAxNi41MDIgNjIuNzI2IDMyLjA5IDY5LjcwMyA3MS42NSAzLjIyIDE4LjI1Ni0zLjE0NSA0MS4yOTEtMTguOTE3IDY4LjQ2Ni05Ljk4OSAxNy4yMS0yMy45MTQgMzYuMTA0LTQwLjI2OCA1NC42MzgtMzUuMjg2IDM5Ljk4OC0xMTYuMDk4IDEzNy44MzgtMTMyLjA1NiAxNTguNjQ4aC0zMy44NWMxNy44ODItMjAuNzUzIDU2Ljc0NC02NC40MjggODYuOTgxLTk4LjQxMSAxNy4yNTItMTkuMzg5IDMzLjU0Ny0zNy43MDIgNDQuNjc1LTUwLjMxMyAzLjg5Mi00LjQxIDcuOTU2LTguODc4IDEyLjI1OC0xMy42MDcgMjQuNTk3LTI3LjA0IDUyLjQ3Ni01Ny42ODggNjIuMzc1LTkzLjY5MyA1LjIwNy0xOC45MzkgMS4yMjctMzYuOS0xMS4yMDctNTAuNTc1LTE2LjQyMy0xOC4wNjItMzkuODYzLTMwLjIzNy02MC42MzUtNDIuNTE0LTIxLjU2NS0xMi43NDYtNDMuODY0LTI1LjkyNi01My45ODctNDguNzEtMTUuMDIzLTMzLjgxNSA0LjM2Ni02Ny43MTggMzEuNjY3LTg0LjQ0N2gxMy42MzljLTIwLjU1NyAxNS4wNzQtMzIuNTY4IDMwLjMwNS0zNi40OTQgNDYuMTk1LTMuMTgzIDEyLjg4Mi0uODEzIDI1Ljc1NiA3LjA0NSAzOC4yNjUgNC4zMjQgNi44ODMgOS45MDQgMTMuMTEyIDE3LjA1OCAxOS4wNDIgMy4xODggMi42NDMgNy45MTYgMi4yMDEgMTAuNTYxLS45ODggMi42NDMtMy4xODkgMi4yMDEtNy45MTctLjk4OC0xMC41NjEtNS45MDktNC44OTgtMTAuNDY1LTkuOTU5LTEzLjkyOS0xNS40NzItNS42ODgtOS4wNTYtNy4zODQtMTcuNzg2LTUuMTg1LTI2LjY4OCAzLjk3OS0xNi4xMDMgMjAuNTY4LTMyLjg1MSA0OS4zMTQtNDkuNzkzaDUwLjcxNWMtMTMuMzA2IDEwLjQ3OS0yOC4xMDUgMjQuNzc1LTI0LjA5NSA0Mi4zNTMgMy45NzkgMTcuNDQxIDI0LjE3NyAyNy4xNzkgMzkuMTc4IDMzLjQ3MiAxOS41NTggOC4yMDUgMzkuODM1IDE0LjcyIDU5LjQ0NSAyMS4wMjEgMzIuMDg4IDEwLjMxIDY1LjI2OSAyMC45NzEgOTUuMDAzIDM5LjEzNyAzMy45MzQgMjAuNzMxIDU1LjUxOCA1MS4xNTggNjIuNDIgODcuOTg5IDQuNDc4IDIzLjg5NiAzLjQyNiA1MC42MzQtMy4zMTEgODQuMTUybC0uMTA3LjUzNmMtLjgxNCA0LjA2MiAxLjgxOCA4LjAxNCA1Ljg4IDguODI4LjQ5OC4xLjk5My4xNDcgMS40ODEuMTQ3IDMuNTAxIDAgNi42MzItMi40NjQgNy4zNDYtNi4wMjhsLjEwNi0uNTMyYzcuMTI4LTM1LjQ2MiA4LjE5MS02NC4wMTggMy4zNDktODkuODY3LTcuNzA3LTQxLjEyMy0zMS42ODYtNzUuMDItNjkuMzQ0LTk4LjAyNi0zMS4yNjItMTkuMDk5LTY1LjMwOS0zMC4wMzktOTguMjM0LTQwLjYxOC0xOS4zMDctNi4yMDMtMzkuMjcxLTEyLjYxOC01OC4yMy0yMC41NzItNS43ODctMi40MjktMTAuNzEyLTQuOTEyLTE1LjA1Ny03LjU5LTUuNDY0LTMuMzY4LTEzLjcyMS04LjQ1Ny0xNS4zMDItMTUuMzg4LTIuNTc5LTExLjMwOSAxNC4zMy0yMy45OTggMjUuNTItMzIuMzk1IDMuMjE2LTIuNDE0IDYuMTA2LTQuNTg1IDguNDczLTYuNjE3IDAgMCAxMy43ODkgMCAxMy43ODcuMDAyLTkuODkyIDcuNzg2LTM0LjE1NiAxOS43MzMtMzAuMTc0IDM1LjY1MyAxLjk5OCA3Ljk4NiAxMC42ODggMTIuMTkxIDE4LjAzNSAxNC45NjIgMTMuOTgxIDUuMjcyIDI4LjMyNCA5LjM2NyA0Mi40NTYgMTQuMTg2IDE1LjY0NCA1LjMzNSAzMC45MzMgMTAuNzgzIDQ1LjQ0MiAxNi4xOTUgOC45MTMgMy4zMjUgMTguNDcgNi45MzggMjcuOTU3IDEwLjgyOSAyMS4yMTQgOC43MDEgMzcuNjc5IDE3LjAyOCA1MS44MTYgMjYuMjA2IDEyLjA5NCA3Ljg1MiAyMi44MTMgMTYuNjExIDMxLjg2MSAyNi4wMzUgMTkuODc1IDIwLjcwMSAzMy42NDggNDkuMDg4IDM5LjgzMSA4Mi4wOTEgNy40NTEgMzkuNzcxIDMuOTM3IDg0LjUwNS0xMS4wNTggMTQwLjc4MXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzQ0LjM2NSAxOTkuNDA3YzEuNDYxIDIuMDczIDMuNzggMy4xOCA2LjEzOCAzLjE4IDEuNDkyIDAgMy0uNDQ0IDQuMzEzLTEuMzcgMy4zODYtMi4zODYgNC4xOTYtNy4wNjUgMS44MTEtMTAuNDUxLTQuMTA5LTUuODMxLTguODExLTExLjI5My0xMy45NzMtMTYuMjMzLTIuOTkzLTIuODY1LTcuNzQxLTIuNzYtMTAuNjA0LjIzMi0yLjg2NCAyLjk5My0yLjc2MSA3Ljc0LjIzMiAxMC42MDQgNC40NjUgNC4yNzQgOC41MzEgOC45OTcgMTIuMDgzIDE0LjAzOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjU1LjA4MyAxMjIuNTE4LS40NzMtLjI0NmMtNS43NzYtMi45OTMtMTEuNTQ1LTUuOTgzLTE3LjMzNC04Ljk0NS0zLjY4NC0xLjg4My04LjIwNi0uNDI2LTEwLjA5MyAzLjI2Mi0xLjg4NiAzLjY4OC0uNDI2IDguMjA2IDMuMjYyIDEwLjA5MyA1Ljc2NSAyLjk0OSAxMS41MTEgNS45MjcgMTcuMjYzIDguOTA4bC40NzMuMjQ1YzEuMTA0LjU3MiAyLjI4My44NDMgMy40NDUuODQzIDIuNzEyIDAgNS4zMzEtMS40NzYgNi42NjUtNC4wNSAxLjkwNi0zLjY3OC40Ny04LjIwNC0zLjIwOC0xMC4xMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc5LjY4MyA1Ny41ODRjMS43NDQtNS41MSA0LjcxOS0xMC4xOTYgOC4xNjMtMTIuODU2IDMuMjc4LTIuNTMyIDMuODgyLTcuMjQyIDEuMzUxLTEwLjUyLTIuNTM0LTMuMjc5LTcuMjQ0LTMuODgyLTEwLjUyMS0xLjM1MS01Ljg4OSA0LjU0OS0xMC42MSAxMS43MjQtMTMuMjkzIDIwLjIwMS0xLjI1IDMuOTQ5LjkzOCA4LjE2NCA0Ljg4NyA5LjQxNC43NTMuMjM4IDEuNTE1LjM1MiAyLjI2NS4zNTIgMy4xODItLjAwMSA2LjEzNi0yLjA0MyA3LjE0OC01LjI0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDEuMTM2IDk1LjkwM2MtNi43NTEtMy4zMTQtMTEuNDI0LTYuMjY4LTE1LjE1Mi05LjU3Ni0zLjA5OC0yLjc1LTcuODM4LTIuNDY2LTEwLjU4OC42MzEtMi43NSAzLjA5OC0yLjQ2NyA3LjgzOC42MzEgMTAuNTg4IDQuNzc5IDQuMjQyIDEwLjQ4NCA3Ljg4OCAxOC40OTkgMTEuODIyIDEuMDYzLjUyMiAyLjE5Ljc2OSAzLjMuNzY5IDIuNzcgMCA1LjQzNS0xLjU0MiA2LjczOC00LjE5NiAxLjgyNS0zLjcxOC4yOS04LjIxMi0zLjQyOC0xMC4wMzh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI3NS44NTUgNDQxLjI3NmMtMy41NTMtMi4xMjYtOC4xNTktLjk3Mi0xMC4yODcgMi41ODMtMy40OTQgNS44MzUtNi45NDkgMTEuNTc2LTEwLjMwNiAxNy4xMjItMi4xNDUgMy41NDMtMS4wMTEgOC4xNTUgMi41MzMgMTAuMjk5IDEuMjE1LjczNSAyLjU1NCAxLjA4NSAzLjg3NyAxLjA4NSAyLjUzNyAwIDUuMDE0LTEuMjg4IDYuNDIzLTMuNjE4IDMuMzY4LTUuNTY1IDYuODM3LTExLjMyNyAxMC4zNDMtMTcuMTgzIDIuMTI3LTMuNTU0Ljk3MS04LjE2LTIuNTgzLTEwLjI4OHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzY0Ljg2NCAyMjQuMTUyYy00LjA2Ny43ODYtNi43MjcgNC43Mi01Ljk0IDguNzg3LjkxIDQuNzEzIDEuMzcyIDkuNDY4IDEuMzcyIDE0LjEzMiAwIC4zNTgtLjAwMy43MTYtLjAwOSAxLjA5LS4wMTUuOTc2LS4wNDQgMS45NDctLjA4NyAyLjkxNS0uMTg3IDQuMTM4IDMuMDE4IDcuNjQzIDcuMTU1IDcuODI5LjExNS4wMDUuMjI5LjAwOC4zNDMuMDA4IDMuOTg2IDAgNy4zMDYtMy4xNCA3LjQ4Ni03LjE2My4wNTEtMS4xMTcuMDg0LTIuMjM5LjEwMS0zLjM1LjAwOC0uNDQzLjAxMS0uODg3LjAxMS0xLjMzIDAtNS42MTctLjU1NC0xMS4zMy0xLjY0NS0xNi45NzgtLjc4Ny00LjA2Ny00LjcyOC02LjcyNS04Ljc4Ny01Ljk0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDYuMjU0IDM4OS40ODFjLTMuNTgyLTIuMDczLTguMTcyLS44NTMtMTAuMjQ5IDIuNzMxLTMuMjMyIDUuNTgyLTYuNjA2IDExLjM3LTEwLjA2MiAxNy4yNjEtMi4wOTYgMy41NzMtLjg5NyA4LjE2OCAyLjY3NiAxMC4yNjQgMS4xOTIuNjk5IDIuNDk4IDEuMDMxIDMuNzg3IDEuMDMxIDIuNTc0IDAgNS4wOC0xLjMyNiA2LjQ3Ny0zLjcwNyAzLjQ2OS01LjkxNSA2Ljg1Ni0xMS43MjggMTAuMTAzLTE3LjMzMiAyLjA3Ni0zLjU4My44NTItOC4xNzEtMi43MzItMTAuMjQ4eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjEuOTI5IDI4My4zMTRjLTMuODgzLTEuNDQ2LTguMjAxLjUzLTkuNjQ2IDQuNDEzLTIuMDkxIDUuNjE5LTQuNTkyIDExLjQwNC03LjY0NiAxNy42ODYtMS44MTEgMy43MjUtLjI1OSA4LjIxMyAzLjQ2NiAxMC4wMjQgMS4wNTcuNTE0IDIuMTc0Ljc1NiAzLjI3My43NTYgMi43ODEgMCA1LjQ1NC0xLjU1MyA2Ljc1MS00LjIyMyAzLjI2Ni02LjcxOCA1Ljk1Mi0xMi45MzcgOC4yMTQtMTkuMDExIDEuNDQ1LTMuODgyLS41My04LjItNC40MTItOS42NDV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzNS45MiAzMzcuMjc1Yy0zLjU4NS0yLjA3NS04LjE3My0uODUyLTEwLjI0OSAyLjczMy0zLjEwOSA1LjM3Mi02LjYzNCAxMS40Ni05Ljk3NSAxNy41MTctMiAzLjYyNy0uNjgyIDguMTg5IDIuOTQ1IDEwLjE5IDEuMTQ4LjYzMyAyLjM5MS45MzQgMy42MTUuOTM0IDIuNjQ0IDAgNS4yMDctMS40MDEgNi41NzQtMy44NzkgMy4yNjYtNS45MiA2Ljc0OS0xMS45MzggOS44MjItMTcuMjQ3IDIuMDc3LTMuNTg1Ljg1Mi04LjE3Mi0yLjczMi0xMC4yNDh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMwOC4wMDEgMTUxLjQwMmMtMy4yMTgtMS44MzgtNi40NzQtMy43NjMtOS42MjEtNS42MjQtMi41MzEtMS40OTYtNS4wNTktMi45OS03LjYtNC40NjEtMy41ODYtMi4wNzUtOC4xNzQtLjg1Mi0xMC4yNDggMi43MzMtMi4wNzYgMy41ODQtLjg1MyA4LjE3MyAyLjczMiAxMC4yNDkgMi41MDEgMS40NDggNC45OSAyLjkxOSA3LjQ4MiA0LjM5MyAzLjE5NCAxLjg4OCA2LjQ5OCAzLjg0MSA5LjgxMyA1LjczNSAxLjE3NC42NyAyLjQ1Mi45ODkgMy43MTQuOTg5IDIuNjA0IDAgNS4xMzUtMS4zNTggNi41MTktMy43ODEgMi4wNTYtMy41OTcuODA2LTguMTc4LTIuNzkxLTEwLjIzM3oiLz4KICAgIDwvZz4KPC9zdmc+",$ae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cmVjdCB4PSIxODguNjMyIiB5PSIyNTYiIHdpZHRoPSIzNS45MyIgaGVpZ2h0PSIxNy45NjUiLz4KICAgICAgICA8cGF0aCBkPSJNNDQxLjkxNyw0NzEuNTc5bDE2LjAzOS04OC4yMTljMC40ODItMi42MjMtMC4yMjgtNS4zMTYtMS45MzktNy4zNmMtMS43MDItMi4wNDQtNC4yMjgtMy4yMjgtNi44OTUtMy4yMjhoLTg5LjgyNQoJCQljLTIuNjY3LDAtNS4xOTMsMS4xODQtNi44OTUsMy4yMjhjLTEuNzExLDIuMDQ0LTIuNDIxLDQuNzM3LTEuOTM5LDcuMzZsMTYuMDM5LDg4LjIxOUgyNjAuNDkxVjMxLjQzOQoJCQljMC00Ljk2NS00LjAxOC04Ljk4Mi04Ljk4Mi04Ljk4Mkg1My44OTVjLTQuOTY1LDAtOC45ODIsNC4wMTgtOC45ODIsOC45ODJ2NDQwLjE0SDB2MTcuOTY1aDUzLjg5NWgxOTcuNjE0aDEyNS43NTRoNTMuODk1SDUxMgoJCQl2LTE3Ljk2NUg0NDEuOTE3eiBNMjQyLjUyNiw0NzEuNTc5SDYyLjg3N1Y0MC40MjFoMTc5LjY0OVY0NzEuNTc5eiBNNDIzLjY1OCw0NzEuNTc5aC0zOC44OTVsLTE0LjcwMi04MC44NDJoNjguMjk4CgkJCUw0MjMuNjU4LDQ3MS41Nzl6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ1OC4xMDUsNzYuMzUxYy0yNy40NTYsMC00NC40ODksMTIuNDk2LTUzLjg5NSwyNS4xOTVjLTkuNDA4LTEyLjY5OS0yNi40MzktMjUuMTk1LTUzLjg5NS0yNS4xOTUKCQkJYy00Ljk2NSwwLTguOTgyLDQuMDE4LTguOTgyLDguOTgyYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJjMzMuNzU0LDAsNDMuMjcyLDIzLjMwNyw0NC45MTIsMjguMjQ2djIzMi4yNDYKCQkJYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJzOC45ODItNC4wMTgsOC45ODItOC45ODJWMTIyLjU3MmMxLjU0NC00LjY4LDEwLjk4Ny0yOC4yNTcsNDQuOTEyLTI4LjI1NwoJCQljNC45NjUsMCw4Ljk4Mi00LjAxOCw4Ljk4Mi04Ljk4MkM0NjcuMDg4LDgwLjM2OCw0NjMuMDcsNzYuMzUxLDQ1OC4xMDUsNzYuMzUxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDExOS4yNjNjLTE1LjU1My0xNS41NTMtMzYuODQyLTIyLjM3Ny01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5NgoJCQljLTQuNTc5LDE4Ljc3MiwyLjIzNyw0MC4wOTcsMTcuNzk4LDU1LjY2N2MxMi4zNiwxMi4zNiwyOC4zNiwxOS4yMDIsNDMuODE2LDE5LjIwMmM0LjAwOSwwLDcuOTgyLTAuNDY1LDExLjg1MS0xLjQwNAoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwxNTYuMTU4LDM4MS4zOTUsMTM0LjgzMywzNjUuODMzLDExOS4yNjN6IE0zNjcuMDA5LDE2NC45MDMKCQkJYy0xMS4xNTgsMC40MzktMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NzksMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcKCQkJQzM2Mi40NzQsMTQxLjMxNiwzNjcuNTcsMTUzLjcwMiwzNjcuMDA5LDE2NC45MDN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2NS44MzMsMjAwLjEwNWMtMTUuNTUzLTE1LjU1My0zNi44NDItMjIuMzY5LTU1LjY2Ny0xNy43OThjLTMuMjU0LDAuNzk4LTUuNzk4LDMuMzQyLTYuNTk2LDYuNTk2CgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0CgkJCWMzLjI1NS0wLjc5OCw1Ljc5OC0zLjM0Miw2LjU5Ni02LjU5NkMzODguMjExLDIzNywzODEuMzk1LDIxNS42NzYsMzY1LjgzMywyMDAuMTA1eiBNMzY3LjAwOSwyNDUuNzQ2CgkJCWMtMTEuMTU4LDAuNDkxLTIzLjU5Ni00LjU0NC0zMi45MzktMTMuODc3Yy05LjM0Mi05LjM1MS0xNC40MzktMjEuNzM3LTEzLjg3Ny0zMi45MzljMTEuMTIzLTAuNTM1LDIzLjU4OCw0LjUzNSwzMi45MzksMTMuODc3CgkJCUMzNjIuNDc0LDIyMi4xNTgsMzY3LjU3LDIzNC41NDQsMzY3LjAwOSwyNDUuNzQ2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDI4MC45NDdjLTE1LjU1My0xNS41NjEtMzYuODQyLTIyLjM2OS01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5NgoJCQljLTQuNTc5LDE4Ljc3MiwyLjIzNyw0MC4wOTcsMTcuNzk4LDU1LjY2N2MxMi4zNiwxMi4zNiwyOC4zNiwxOS4yMDIsNDMuODE2LDE5LjIwMmM0LjAwOSwwLDcuOTgyLTAuNDY1LDExLjg1MS0xLjQwNAoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwzMTcuODQyLDM4MS4zOTUsMjk2LjUxOCwzNjUuODMzLDI4MC45NDd6IE0zNjcuMDA5LDMyNi41ODgKCQkJYy0xMS4xNTgsMC40NDctMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NywyMy41ODgsNC41MzUsMzIuOTM5LDEzLjg3NwoJCQlDMzYyLjQ3NCwzMDMsMzY3LjU3LDMxNS4zODYsMzY3LjAwOSwzMjYuNTg4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDkuMzg2LDEwOC4wNjFjLTAuNzk4LTMuMjU0LTMuMzQyLTUuNzk4LTYuNTk2LTYuNTk2Yy0xOC43ODktNC41Ny00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OAoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjgsMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0CgkJCWMxNS40NjUsMCwzMS40NjUtNi44NDIsNDMuODI1LTE5LjIwMkM1MDcuMTQ5LDE0OC4xNTgsNTEzLjk2NSwxMjYuODMzLDUwOS4zODYsMTA4LjA2MXogTTQ3OC44ODYsMTUxLjAyNgoJCQljLTkuMzUxLDkuMzQyLTIxLjg3NywxNC4zMjUtMzIuOTM5LDEzLjg3N2MtMC41NjEtMTEuMjAyLDQuNTM1LTIzLjU4OCwxMy44NzctMzIuOTM5YzkuMzUxLTkuMzQyLDIxLjc5OC0xNC40NDcsMzIuOTM5LTEzLjg3NwoJCQlDNDkzLjMyNSwxMjkuMjg5LDQ4OC4yMjgsMTQxLjY3NSw0NzguODg2LDE1MS4wMjZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwOS4zODYsMTg4LjkwM2MtMC43OTgtMy4yNTQtMy4zNDItNS43OTgtNi41OTYtNi41OTZjLTE4Ljc4OS00LjU3OS00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OAoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjksMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0CgkJCWMxNS40NjUsMCwzMS40NjUtNi44NDIsNDMuODI1LTE5LjIwMkM1MDcuMTQ5LDIyOSw1MTMuOTY1LDIwNy42NzYsNTA5LjM4NiwxODguOTAzeiBNNDc4Ljg4NiwyMzEuODY4CgkJCWMtOS4zNTEsOS4zMzMtMjEuODc3LDE0LjM2OC0zMi45MzksMTMuODc3Yy0wLjU2MS0xMS4yMDIsNC41MzUtMjMuNTg4LDEzLjg3Ny0zMi45MzljOS4zNTEtOS4zNDIsMjEuNzk4LTE0LjQwMywzMi45MzktMTMuODc3CgkJCUM0OTMuMzI1LDIxMC4xMzIsNDg4LjIyOCwyMjIuNTE3LDQ3OC44ODYsMjMxLjg2OHoiLz4KICAgICAgICA8cGF0aCBkPSJNNTA5LjM4NiwyNjkuNzQ2Yy0wLjc5OC0zLjI1NC0zLjM0Mi01Ljc5OC02LjU5Ni02LjU5NmMtMTguNzg5LTQuNTc5LTQwLjEwNSwyLjIzNy01NS42NjcsMTcuNzk4CgkJCWMtMTUuNTYxLDE1LjU3LTIyLjM3NywzNi44OTUtMTcuNzk4LDU1LjY2N2MwLjc5OCwzLjI1NSwzLjM0Miw1Ljc5OCw2LjU5Niw2LjU5NmMzLjg2OSwwLjkzOSw3LjgzMywxLjQwNCwxMS44NDIsMS40MDQKCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMzA5Ljg0Miw1MTMuOTY1LDI4OC41MTgsNTA5LjM4NiwyNjkuNzQ2eiBNNDc4Ljg4NiwzMTIuNzEKCQkJYy05LjM1MSw5LjM0Mi0yMS44NzcsMTQuMzMzLTMyLjkzOSwxMy44NzdjLTAuNTYxLTExLjIwMiw0LjUzNS0yMy41ODgsMTMuODc3LTMyLjkzOWM5LjM1MS05LjM0MiwyMS43OTgtMTQuNDQ3LDMyLjkzOS0xMy44NzcKCQkJQzQ5My4zMjUsMjkwLjk3NCw0ODguMjI4LDMwMy4zNiw0NzguODg2LDMxMi43MXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Pae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDIzMC41NjZoMjMyLjEzNWMyMi40MDUgMCA0MC42MzQtMTguMjI4IDQwLjYzNC00MC42MzN2LTE0OS4zYy0uMDAxLTIyLjQwNS0xOC4yMjktNDAuNjMzLTQwLjYzNS00MC42MzNoLTIzMi4xMzRjLTIyLjQwNSAwLTQwLjYzNCAxOC4yMjgtNDAuNjM0IDQwLjYzM3YxNDkuMjk5YzAgMjIuNDA2IDE4LjIyOCA0MC42MzQgNDAuNjM0IDQwLjYzNHptLTI1LjYzNC0xODkuOTMzYzAtMTQuMTM0IDExLjQ5OS0yNS42MzMgMjUuNjM0LTI1LjYzM2gyMzIuMTM1YzE0LjEzNSAwIDI1LjYzNCAxMS40OTkgMjUuNjM0IDI1LjYzM3YxNDkuMjk5YzAgMTQuMTM0LTExLjQ5OSAyNS42MzMtMjUuNjM0IDI1LjYzM2gtMjMyLjEzNWMtMTQuMTM1IDAtMjUuNjM0LTExLjQ5OS0yNS42MzQtMjUuNjMzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDUuMTEgMTY0LjgxM2MxMC40MjMgMi4wODEgMTguODUgMTAuMTggMjAuOTcgMjAuMTU3IDEuNTM2IDcuMjIyIDguMDIyIDEyLjQ2MyAxNS40MjIgMTIuNDYzaDE0OC45NDdjNy40OCAwIDEzLjk4LTUuMzEgMTUuNDU1LTEyLjYyNCAyLjExNS0xMC40ODIgMTAuNTc2LTE4LjkzNiAyMS4wNTItMjEuMDM4IDcuMzA4LTEuNDY2IDEyLjYxMS03Ljk2NSAxMi42MTEtMTUuNDU0di02Ni4wNjdjMC03LjQ4NC01LjMxMS0xMy45ODUtMTIuNjI3LTE1LjQ1Ny0xMC40NzItMi4xMDctMTguOTI1LTEwLjU2My0yMS4wMzYtMjEuMDQxLTEuNDc1LTcuMzEyLTcuOTY3LTEyLjYxOC0xNS40MzktMTIuNjE4aC0xNDguOTcxYy03LjM5NSAwLTEzLjg3OCA1LjI0Mi0xNS40MTQgMTIuNDY1LTIuMTE4IDkuOTY5LTEwLjU0IDE4LjA2Ny0yMC45NTUgMjAuMTUzLTcuMzU1IDEuNDcyLTEyLjY5MiA3Ljk3OS0xMi42OTIgMTUuNDd2NjguMTI1YzAgNy40OTQgNS4zMzEgMTMuOTk5IDEyLjY3NyAxNS40NjZ6bTIuMzIzLTgzLjU5MmMwLS4zNzQuMjYyLS42ODcuNjM4LS43NjIgMTYuMjAzLTMuMjQ0IDI5LjMzNy0xNiAzMi42ODItMzEuNzQxLjA3My0uMzQ0LjM3OC0uNTg1Ljc0Mi0uNTg1aDE0OC45NzJjLjM1NyAwIC42NjYuMjQ1LjczMy41ODMgMy4yOSAxNi4zMjUgMTYuNDY0IDI5LjQ5OSAzMi43ODIgMzIuNzgyLjM0LjA2OC41ODYuMzg1LjU4Ni43NTJ2NjYuMDY3YzAgLjM2MS0uMjQxLjY4My0uNTYxLjc0Ny0xNi4zMjYgMy4yNzQtMjkuNTEgMTYuNDQ3LTMyLjgwNiAzMi43NzgtLjA2OS4zNDItLjM4Ni41OTEtLjc1Mi41OTFoLTE0OC45NDdjLS4zNjIgMC0uNjc4LS4yNDYtLjc1LS41ODItMy4zNDctMTUuNzUyLTE2LjQ5LTI4LjUxMS0zMi43MDUtMzEuNzQ4LS4zNTctLjA3MS0uNjE0LS4zODktLjYxNC0uNzU3eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNzIuMDY3IDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU4IDcuNSA3LjUgNy41eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDE5OS41MDNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXYtNC4xNDJjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NC4xNDJjMCA0LjE0MyAzLjM1NyA3LjUgNy41IDcuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcyLjA2NyAxODAuMzYyYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41djQuMTQyYzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTQuMTQyYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE4OS43MzMgMTY0LjFoNDkuN2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNS42MzNoMTcuMzVjMi42IDAgNS4wMTQtMS4zNDYgNi4zOC0zLjU1N3MxLjQ5MS00Ljk3Mi4zMjgtNy4yOTdsLTI0Ljg1LTQ5LjdjLTEuMjcxLTIuNTQxLTMuODY3LTQuMTQ2LTYuNzA4LTQuMTQ2cy01LjQzOCAxLjYwNS02LjcwOCA0LjE0NmwtMTQuNDkzIDI4Ljk4N2gtMjguNDk4Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41djQ5LjdjLS4wMDEgNC4xNDIgMy4zNTcgNy41IDcuNDk5IDcuNXptNDkuNzAxLTczLjU2MyAxMi43MTUgMjUuNDNoLTI1LjQzem0tNDIuMjAxIDIzLjg2M2gxMy40OThsLTIuODU2IDUuNzEzYy0xLjE2MyAyLjMyNS0xLjAzOCA1LjA4Ni4zMjggNy4yOTdzMy43OCAzLjU1NyA2LjM4IDMuNTU3aDE3LjM1MXYxOC4xMzNoLTM0Ljd2LTM0Ljd6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMxMy45ODMgMTQ3LjUzM2MxNy44MzggMCAzMi4zNS0xNC41MTIgMzIuMzUtMzIuMzUgMC0xNy44MzctMTQuNTEyLTMyLjM1LTMyLjM1LTMyLjM1cy0zMi4zNTEgMTQuNTEyLTMyLjM1MSAzMi4zNWMuMDAxIDE3LjgzOCAxNC41MTQgMzIuMzUgMzIuMzUxIDMyLjM1em0wLTQ5LjY5OWM5LjU2NiAwIDE3LjM1IDcuNzgzIDE3LjM1IDE3LjM1cy03Ljc4MyAxNy4zNS0xNy4zNSAxNy4zNS0xNy4zNTEtNy43ODMtMTcuMzUxLTE3LjM1Yy4wMDEtOS41NjcgNy43ODQtMTcuMzUgMTcuMzUxLTE3LjM1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzAuODY3IDI0OC41Yy04LjU0NyAwLTE1LjUgNi45NTMtMTUuNSAxNS41djE3LjEzM2MwIDguNTQ3IDYuOTUzIDE1LjUgMTUuNSAxNS41aDUwLjI2NmM4LjU0NyAwIDE1LjUtNi45NTMgMTUuNS0xNS41di0xNy4xMzNjMC04LjU0Ny02Ljk1My0xNS41LTE1LjUtMTUuNXptNTAuNzY2IDE1LjV2MTcuMTMzYzAgLjI3Ni0uMjI1LjUtLjUuNWgtNTAuMjY2Yy0uMjc1IDAtLjUtLjIyNC0uNS0uNXYtMTcuMTMzYzAtLjI3Ni4yMjUtLjUuNS0uNWg1MC4yNjZjLjI3NSAwIC41LjIyNC41LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ5Ni41IDQ2My44NjdoLTE3LjY3MmMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi04LjI4NGMwLTEwLjY1Mi02Ljk1OS0xOS43MDQtMTYuNTY3LTIyLjg2NHYtMTM2LjUwNWM5LjYwOC0zLjE2IDE2LjU2Ny0xMi4yMTIgMTYuNTY3LTIyLjg2NHYtOC4yODRjMC04LjcwMy03LjA4MS0xNS43ODMtMTUuNzg0LTE1Ljc4M2gtMi41NjJjMS4xNDMtMi44IDEuNzc5LTUuODYgMS43NzktOS4wNjcgMC0xMy4yNy0xMC43OTYtMjQuMDY2LTI0LjA2Ni0yNC4wNjZzLTI0LjA2NiAxMC43OTYtMjQuMDY2IDI0LjA2NmMwIDMuMjA3LjYzNSA2LjI2NiAxLjc3OSA5LjA2N2gtMi41NjNjLTguNzAzIDAtMTUuNzgzIDcuMDgxLTE1Ljc4MyAxNS43ODN2OC4yODRjMCAxMC41MTggNi43ODYgMTkuNDc2IDE2LjIwNyAyMi43NDEtMTguNjE2IDE4LjQzOC00MC4wMzcgMzMuMzUxLTYzLjczNCA0NC4zMzctMy43NTggMS43NDItNS4zOTMgNi4yMDEtMy42NSA5Ljk1OCAxLjI3IDIuNzM3IDMuOTc4IDQuMzQ4IDYuODEgNC4zNDggMS4wNTYgMCAyLjEyOS0uMjI0IDMuMTQ5LS42OTggMjEuMDU4LTkuNzYyIDQwLjQyNy0yMi40MzIgNTcuNzg2LTM3Ljc1NHYyMy43MTJjLTQ1LjQxIDM1LjQ5NS0xMDAuMDE0IDU0LjI0Ny0xNTguMTY3IDU0LjI0Ny01OC4xNDggMC0xMTIuNzU2LTE4Ljc1My0xNTguMTY3LTU0LjI0OXYtMjMuNjljNDMuNzY0IDM4LjY5IDk5LjI4IDU5LjgwNSAxNTguMTY3IDU5LjgwNSAyMy41OTIgMCA0Ni45MTMtMy40NDEgNjkuMzE0LTEwLjIyOCAzLjk2NC0xLjIwMSA2LjIwNC01LjM4OCA1LjAwMy05LjM1My0xLjIwMS0zLjk2NC01LjM4OS02LjIwNy05LjM1My01LjAwMy0yMC45ODkgNi4zNTktNDIuODQ3IDkuNTgzLTY0Ljk2NCA5LjU4My01OS41NzIgMC0xMTUuNDYyLTIzLjA3LTE1Ny44MDItNjUuMDE4IDkuNDE5LTMuMjY3IDE2LjIwMi0xMi4yMjQgMTYuMjAyLTIyLjc0di04LjI4NGMwLTguNzAzLTcuMDgtMTUuNzgzLTE1Ljc4My0xNS43ODNoLTIuNTYzYzEuMTQzLTIuOCAxLjc3OS01Ljg2IDEuNzc5LTkuMDY3IDAtMTMuMjctMTAuNzk2LTI0LjA2Ni0yNC4wNjYtMjQuMDY2cy0yNC4wNyAxMC43OTgtMjQuMDcgMjQuMDY4YzAgMy4yMDcuNjM2IDYuMjY2IDEuNzc5IDkuMDY3aC0yLjU2MmMtOC43MDMgMC0xNS43ODQgNy4wODEtMTUuNzg0IDE1Ljc4M3Y4LjI4NGMwIDEwLjY1MiA2Ljk1OSAxOS43MDQgMTYuNTY3IDIyLjg2NHYxMzYuNTA2Yy05LjYwOCAzLjE2LTE2LjU2NyAxMi4yMTItMTYuNTY3IDIyLjg2NHY4LjI4NGMwIC4yNjQuMDI3LjUyMi4wNC43ODNoLTE3LjY3M2MtOC41NDcgMC0xNS41IDYuOTUzLTE1LjUgMTUuNXYxNy4xMzJjMCA4LjU0NyA2Ljk1MyAxNS41IDE1LjUgMTUuNWg1OS44MzNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTU5LjgzM2MtLjI3NSAwLS41LS4yMjQtLjUtLjV2LTE3LjEzM2MwLS4yNzYuMjI1LS41LjUtLjVoNDgxYy4yNzUgMCAuNS4yMjQuNS41djE3LjEzM2MwIC4yNzYtLjIyNS41LS41LjVoLTM5MS4xNjdjLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMzkxLjE2N2M4LjU0NyAwIDE1LjUtNi45NTMgMTUuNS0xNS41di0xNy4xMzNjMC04LjU0Ny02Ljk1My0xNS41LTE1LjUtMTUuNXptLTY3LjMzMy0xNjQuNTc3Yy4xNjEtLjg3OC4xNTgtMS43NzguMDA1LTIuNjU2aDE4LjEyOHYxOC4xMzNoLTE4LjEzM3ptMCA0My45MDRjLjAxMi0uMjM5LjAxMi0uNDc5IDAtLjcxOXYtMTIuNzA5aDE4LjEzM3YxMDAuOTY3aC0xOC4xMzN6bTAtMTAzLjc2MWMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY2LTkuMDY2czkuMDY2IDQuMDY3IDkuMDY2IDkuMDY2LTQuMDY3IDkuMDY3LTkuMDY2IDkuMDY3LTkuMDY2LTQuMDY3LTkuMDY2LTkuMDY3em0tMTYuNTY3IDI0Ljg1YzAtLjQzMi4zNTItLjc4My43ODMtLjc4M2g0OS43Yy40MzMgMCAuNzg0LjM1Mi43ODQuNzgzdjguMjg0YzAgNC45OTktNC4wNjcgOS4wNjYtOS4wNjcgOS4wNjZoLTMzLjEzM2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY2em0tMTU2LjYgMTQ0LjE3NmM1Ny42NDggMCAxMTIuMDA3LTE3LjQyMiAxNTguMTY3LTUwLjUxNHY3My45OTFjLTkuNjA4IDMuMTYtMTYuNTY3IDEyLjIxMi0xNi41NjcgMjIuODY0djguMjg0YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMjgzLjI3OWMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi04LjI4NGMwLTEwLjY1Mi02Ljk1OS0xOS43MDQtMTYuNTY3LTIyLjg2NHYtNzMuOTkyYzQ2LjE2MSAzMy4wOTIgMTAwLjUyMyA1MC41MTUgMTU4LjE2NiA1MC41MTV6bS0xNzMuMTY3LTExMC43ODljLS4wMTIuMjQ3LS4wMTIuNDk1IDAgLjc0MnYxNi4zNTVoLTE4LjEzM3YtMTguMTMzaDE4LjEzM3ptLTE4LjEzMyAzMi4wOTdoMTguMTMzdjEwMC45NjdoLTE4LjEzM3ptMC05MC4zMzRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ni05LjA2NnM5LjA2NiA0LjA2NyA5LjA2NiA5LjA2Ni00LjA2NyA5LjA2Ny05LjA2NiA5LjA2Ny05LjA2Ni00LjA2Ny05LjA2Ni05LjA2N3ptLTE2LjU2NyAyNC44NWMwLS40MzIuMzUyLS43ODMuNzg0LS43ODNoNDkuN2MuNDMyIDAgLjc4My4zNTIuNzgzLjc4M3Y4LjI4NGMwIDQuOTk5LTQuMDY3IDkuMDY2LTkuMDY3IDkuMDY2aC0zMy4xMzNjLTUgMC05LjA2Ny00LjA2Ny05LjA2Ny05LjA2NnptLjc4NCAxOTkuNTg0Yy0uNDMzIDAtLjc4NC0uMzUyLS43ODQtLjc4M3YtOC4yODRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ny05LjA2NmgzMy4xMzNjNSAwIDkuMDY3IDQuMDY3IDkuMDY3IDkuMDY2djguMjg0YzAgLjQzMi0uMzUyLjc4My0uNzgzLjc4M3ptMzY0LjQ2NiAwYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtOC4yODRjMC00Ljk5OSA0LjA2Ny05LjA2NiA5LjA2Ny05LjA2NmgzMy4xMzNjNSAwIDkuMDY3IDQuMDY3IDkuMDY3IDkuMDY2djguMjg0YzAgLjQzMi0uMzUyLjc4My0uNzg0Ljc4M3oiLz4KICAgIDwvZz4KPC9zdmc+",Wae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDc0LjYwOCw4MC40MzlsLTIzMi04MGMtMS42OS0wLjU4My0zLjUyNi0wLjU4My01LjIxNiwwbC0yMzIsODBDMi4xNjYsODEuNTUxLDAuMDAxLDg0LjU4NywwLDg3Ljk5OXYzODQKCQkJYzAsNC40MTgsMy41ODIsOCw4LDhoNDBjNC40MTgsMCw4LTMuNTgyLDgtOHYtMjQ4aDM2OHYyNDhjMCw0LjQxOCwzLjU4Miw4LDgsOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04di0zODQKCQkJQzQ3OS45OTksODQuNTg3LDQ3Ny44MzQsODEuNTUxLDQ3NC42MDgsODAuNDM5eiBNNDAsMjE1Ljk5OXYyNDhIMTZ2LTMwNGgyNFYyMTUuOTk5eiBNNDI0LDIwNy45OTlINTZ2LTE2aDM2OFYyMDcuOTk5egoJCQkgTTQyNCwxNzUuOTk5SDU2di0xNmgzNjhWMTc1Ljk5OXogTTQ2NCw0NjMuOTk5aC0yNHYtMzA0aDI0VjQ2My45OTl6IE00NjQsMTQzLjk5OUgxNlY5My43MDNsMjI0LTc3LjI0bDIyNCw3Ny4yNFYxNDMuOTk5eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zOTUuNTc2LDM0NC43OTlsLTI5LjYtMTQuOGwtMjYuNC01Mi44Yy00LjA2MS04LjEyNS0xMi4zODEtMTMuMjQyLTIxLjQ2NC0xMy4ySDE2MS44ODgKCQkJYy05LjA5OC0wLjAzLTE3LjQyMSw1LjExNC0yMS40NjQsMTMuMjY0bC0yNi40LDUyLjhsLTI5LjYsMTQuOGMtMi43MDUsMS4zNTItNC40MTYsNC4xMTItNC40MjQsNy4xMzZ2MTEyYzAsOC44MzcsNy4xNjMsMTYsMTYsMTYKCQkJaDMyYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTI0aDE5MnYyNGMwLDguODM3LDcuMTYzLDE2LDE2LDE2aDMyYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTExMgoJCQlDNDAwLjAxNywzNDguOTUyLDM5OC4zMDEsMzQ2LjE2LDM5NS41NzYsMzQ0Ljc5OXogTTE1NC43MzYsMjg0LjQyM2MxLjM0NS0yLjcxOCw0LjExOS00LjQzNCw3LjE1Mi00LjQyNGgxNTYuMjI0CgkJCWMzLjAzMy0wLjAxLDUuODA3LDEuNzA2LDcuMTUyLDQuNDI0bDIxLjc5Miw0My41NzZIMTMyLjk0NEwxNTQuNzM2LDI4NC40MjN6IE0xMjgsNDYzLjk5OUg5NnYtMjRoMzJWNDYzLjk5OXogTTM4NCw0NjMuOTk5aC0zMgoJCQl2LTI0aDMyVjQ2My45OTl6IE0zODQsNDIzLjk5OUgxMzZIOTZ2LTY3LjA1NmwyNS44ODgtMTIuOTQ0aDIzNi4yMjRMMzg0LDM1Ni45NDNWNDIzLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzE2OCwzNjcuMTYyLDE2MC44MzcsMzU5Ljk5OSwxNTIsMzU5Ljk5OXogTTE1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzM2OCwzNjcuMTYyLDM2MC44MzcsMzU5Ljk5OSwzNTIsMzU5Ljk5OXogTTM1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMjgwLDM1OS45OTloLTgwYy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoODBjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYKCQkJQzI5NiwzNjcuMTYyLDI4OC44MzcsMzU5Ljk5OSwyODAsMzU5Ljk5OXogTTI4MCwzOTEuOTk5aC04MHYtMTZoODBWMzkxLjk5OXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Rae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMS45NzggNTExLjk3OCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjIzLjI0OGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0xNi42OTZjMC0xMi41NTcgMTAuMjE2LTIyLjc3MyAyMi43NzItMjIuNzczaDE1LjM5MmM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTUuMzkyYy0yMC44MjggMC0zNy43NzIgMTYuOTQ1LTM3Ljc3MiAzNy43NzN2MTYuNjk2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjgxLjE4N2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNC43NDZjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MjQuNzQ2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE1Ny44NTYgMjA4Ljg2djM2LjMzOWMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di0zNi4zMzljMC0zLjI5NCAyLjc5Ni02LjA3OCA2LjEwNS02LjA3OGgxMy4yMzdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzLjIzN2MtMTEuNjM3IDAtMjEuMTA1IDkuNDU1LTIxLjEwNSAyMS4wNzh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyOC4xODEgMjExLjQzYzIuOTQyIDEuOTY0IDYuMzgyIDIuOTYzIDkuODg5IDIuOTYzIDIuNDQyIDAgNC45MTktLjQ4NSA3LjI4Mi0xLjQ2N2wyNC43Ni0xMC4yNTUgNjMuNTk1IDQuOTA2IDQuNjYxIDE2LjEyMWMxLjYxOSA1LjYwMSA1LjU5NiAxMC4wNzQgMTEuMTk3IDEyLjU5NSAzLjE0OCAxLjQxNyA2LjU5MSAyLjEyNCAxMC4wNDEgMi4xMjQgMy42NTMgMCA3LjMxNi0uNzkzIDEwLjY0NC0yLjM3NGwxMTcuMjkxLTU1LjcyOWM2LjQ2OS0zLjA3NCAxMS40MjUtOS4wMSAxMy4yNTgtMTUuODggMS41ODItNS45MzIuNjI5LTExLjgzNS0yLjY4NC0xNi42MTlsLTIzLjYzOS0zNC4xNjRjMTcuNzYzLTIwLjQ2MiAyMS45NDEtNDkuNTk1IDEwLjEyNy03NC40NjEtMTYuMjcyLTM0LjIwMS01Ny4zMzItNDguNzk3LTkxLjUxLTMyLjU1LTI2LjE4MSAxMi40MzUtNDEuNTkyIDQwLjAwOC0zOC45MSA2OC40NThsLTMzLjc2NiAxNi4wNDJjLS4wMDEgMC0uMDAxIDAtLjAwMSAwLTEwLjcyNSA1LjA5Ni0xNS4zOTEgMTcuMjgxLTExLjYxMSAzMC4zMTVsOC43NDUgMzAuMjQyaC00Ny4xNTdsLTI1LjA1NS0xMC4zNzdjLTUuNzYzLTIuMzcxLTEyLjE3OS0xLjc5My0xNy4xNjcgMS41NDYtNC43MTMgMy4xNTctNy40MTYgOC4yMjEtNy40MTYgMTMuODkzdjQwLjc2MWMtLjAwMiA1LjY5MSAyLjcwNiAxMC43NiA3LjQyNiAxMy45MXptMjU3LjYtNTUuMDc3Yy43OSAxLjE0Ljk2NiAyLjU1OC41MjQgNC4yMTQtLjY5MiAyLjU5My0yLjczNCA1LjAyNi01LjIwMiA2LjE5OWwtMTE3LjI5MSA1NS43MjhjLTIuNDcgMS4xNzMtNS42NDYgMS4yMjEtOC4wOTEuMTItMS41NjUtLjcwNC0yLjU1Ni0xLjc0MS0yLjk0My0zLjA4M2wtMjIuMzc2LTc3LjM4NSAxMDkuNTQyLTUyLjA0em0tODYuMjUyLTEzNi4xNjJjLjAwMSAwIC4wMDItLjAwMS4wMDMtLjAwMSAyNi43MTYtMTIuNzAzIDU4LjgwNi0xLjI4OCA3MS41MjQgMjUuNDQyIDguNjY0IDE4LjIzNyA2LjMzIDM5LjQxNy01LjQ2MyA1NS4xNzNsLS4wMjQtLjAyNi0yOC4wMDItNDAuNDdjLTcuNzI5LTExLjE2LTIwLjEzNS0xNS4yNDEtMzAuODY4LTEwLjE1N2wtMzcuODAzIDE3Ljk1OC0uMDEyLjAwM2MuMjE3LTIwLjE5IDExLjg5OS0zOS4wMTkgMzAuNjQ1LTQ3LjkyMnptLTcyLjY3NiA4NC40OTggODYuMjczLTQwLjk4NGM0Ljc1LTIuMjUxIDkuNDkyIDEuMzY2IDEyLjEwNyA1LjE0M2w2LjA2MiA4Ljc2LTEwNS4xMTUgNDkuOTM3LTIuOTY3LTEwLjI2MmMtMS4yNzgtNC40MDQtMS4wOS0xMC4zNDYgMy42NC0xMi41OTR6bS01MC40NTMgNjIuMDA5aDQ1LjQ3OGw3LjM2NSAyNS40OS01Mi44NDMtNC4wNzd6bS00MC42NDctOS45MzhjMC0uMzk1LjA3OS0uOTcyLjc2NS0xLjQzMS4yMDQtLjEzNy43NzEtLjQ1NSAxLjYxMy0uNDU1LjQyNyAwIC45MjQuMDgyIDEuNDguMzExbDIxLjc4OCA5LjAyNHYyNS44MzRsLTIxLjc5NyA5LjAyN2MtMS42NjUuNjk0LTIuNzkyLjA4NS0zLjA5Ni0uMTE4LS42NjgtLjQ0Ni0uNzU0LS45OTktLjc1NC0xLjQzMXYtNDAuNzYxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTcuOTYgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xOTAuOTIgNDY4LjI3N2MtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyNy03LjY3OC0yLjkyNy0xMC42MDcuMDAxeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMDcuOTU3IDQ2NC40NzljLTIuOTI5IDIuOTI5LTIuOTI5IDcuNjc4IDAgMTAuNjA2bC4wMjguMDI4YzEuNDYyIDEuNDYxIDMuMzcxIDIuMTkgNS4yODMgMi4xOSAxLjkyIDAgMy44NDItLjczNiA1LjMxLTIuMjA0IDIuOTI5LTIuOTI5IDIuOTE1LTcuNjkyLS4wMTQtMTAuNjIxLTIuOTMtMi45MjgtNy42NzgtMi45MjgtMTAuNjA3LjAwMXoiLz4KICAgICAgICA8cGF0aCBkPSJtMzc2LjIyMiA0ODEuMTAyYzEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOS03LjY3OC0yLjkyOS0xMC42MDcgMHMtMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjIgMy4zNzEgMi4xOTEgNS4yODMgMi4xOTF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3MC43ODQgNDA5LjM4NWMyMi43MTMtMi4yNzggNDEuMTkxLTIyLjc5MiA0MS4xOTEtNDUuNzI5di0yOC43NDNjMC0zLjcwOS0xLjU0OS03LjIzNC00LjI0OC05LjY3MS0yLjY5Mi0yLjQzMS02LjM1Mi0zLjYwOS0xMC4wMS0zLjIzM2wtMjguODEgMi44OTJjLTkuOTIzIDEuMDEtMTkuMDM3IDUuNTAyLTI2LjE1MSAxMi4xNTJsLjA2My01LjE1NGMwLTIyLjkwMy0xOC4zMzctNDMuMjY2LTQxLjA1NC00NS41NzhsLTI4Ljc4My0yLjg5Yy0zLjY4Ny0uMzc5LTcuMzM0LjgwMi0xMC4wMjUgMy4yMzItMi42OTkgMi40MzgtNC4yNDggNS45NjItNC4yNDggOS42NzF2MjguNzQzYzAgMjIuOTAzIDE4LjQ3MyA0My40MTcgNDEuMTg1IDQ1LjcyOWwyNy44NjMgMi44MTR2NTMuOTk2aC01NC41MTljLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoMTE5LjMwNGMyLjQ0NCAwIDQuNDM0IDEuOTc2IDQuNDM0IDQuNDA1djQ1LjUyM2MwIDIuNDAzLTIuMDMgNC40MzQtNC40MzQgNC40MzRoLTQ3My4xMzRjLTIuMzg4IDAtNC40MDUtMi4wMy00LjQwNS00LjQzNHYtNDUuNTIzYzAtMi4zODggMi4wMTgtNC40MDUgNC40MDUtNC40MDVoMzE5LjE5MmM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNzUuMTI2di0xNS4zOTdsMjguMDU3LTIuODMzYzIyLjcxMy0yLjI3OCA0MS4xOS0yMi43OTIgNDEuMTktNDUuNzI5di0yOC43NDNjMC0zLjcwNS0xLjU1Mi03LjIyOS00LjI1Ny05LjY2OS0yLjctMi40MzUtNi4zNTktMy42MTItMTAuMDAxLTMuMjM1bC0yOC44MSAyLjg5MmMtOS45MzQgMS4wMTEtMTkuMDU4IDUuNTA3LTI2LjE4IDEyLjE2MyAwIDAgLjE5OS00LjQyOS4xOTktNS4wMTMgMC0yMi45MDctMTguNDc0LTQzLjQyLTQxLjE5LTQ1LjcyOWwtMjguNzc2LTIuODljLTMuNjY2LS4zNzUtNy4zMDguNzk2LTkuOTk3IDMuMjIyLTIuNzA0IDIuNDM5LTQuMjU1IDUuOTY3LTQuMjU1IDkuNjgxdjI4Ljc0M2MwIDIyLjkwMyAxOC40NzQgNDMuNDE3IDQxLjE4NiA0NS43MjlsMjcuODM0IDIuODEzdjUzLjk5NmgtMTY0LjI1M3YtMTUuMzk4bDI4LjAyNi0yLjgzMmMyMi43MTMtMi4yNzQgNDEuMTkxLTIyLjc4OSA0MS4xOTEtNDUuNzI5di0yOC43NDNjMC0zLjcxMy0xLjU1MS03LjI0Mi00LjI1NS05LjY4MS0yLjY4OS0yLjQyNi02LjMzMy0zLjYwNC05Ljk3NS0zLjIyNGwtMjguODEgMi44OTJjLTkuOTM0IDEuMDExLTE5LjA1OCA1LjUwNy0yNi4xNzkgMTIuMTYyIDAgMCAuMTk4LTQuNDMuMTk4LTUuMDEyIDAtMjIuOTAzLTE4LjQ3NC00My40MTctNDEuMTktNDUuNzI5bC0yOC43NzYtMi44OWMtMy42Ni0uMzc0LTcuMzA2Ljc5NS05Ljk5NyAzLjIyMi0yLjcwNCAyLjQzOS00LjI1NSA1Ljk2OC00LjI1NSA5LjY4MXYyOC43NDNjMCAyMi45MDMgMTguNDc0IDQzLjQxNyA0MS4xODYgNDUuNzI5bDI3LjgzNSAyLjgxM3YzMS43OTUgMjIuMjAxaC00OS44MTJjLTEwLjcgMC0xOS40MDUgOC43MDUtMTkuNDA1IDE5LjQwNXY0NS41MjNjMCAxMC43MTYgOC43MDUgMTkuNDM0IDE5LjQwNSAxOS40MzRoNDczLjEzNGMxMC43MTYgMCAxOS40MzQtOC43MTggMTkuNDM0LTE5LjQzNHYtNDUuNTIzYzAtMTAuNy04LjcxOC0xOS40MDUtMTkuNDM0LTE5LjQwNWgtNDkuNzg1di0xNS4zOTh6bS0yOC4wMjgtMzguNzU2YzAtMTUuMTcxIDEyLjY3Mi0yOS4yNzkgMjcuNjYtMzAuODA1bDI2LjU1OS0yLjY2NnYyNi40OThjMCAxNS4xOTItMTIuNjggMjkuMjk5LTI3LjY5MyAzMC44MDVsLTE1LjQxNSAxLjU1OCAxOS4wNjktMjEuMDk3YzIuNzc3LTMuMDczIDIuNTM3LTcuODE2LS41MzUtMTAuNTkzLTMuMDcyLTIuNzc1LTcuODE0LTIuNTM5LTEwLjU5NC41MzVsLTE5LjA1MSAyMS4wNzd6bS0xNS0yMy40NTctMTguODgtMjAuODg4Yy0yLjc3OS0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41Mi0uNTM1IDEwLjU5M2wxOS4wNjcgMjEuMDk2LTE1LjQwOC0xLjU1NmMtMTUuMDE0LTEuNTI4LTI3LjY5OC0xNS42MzUtMjcuNjk4LTMwLjgwNXYtMjYuNDk3bDI2LjU0OCAyLjY2NmMxNS4wMTUgMS41MjggMjcuNSAxNS42MzUgMjcuNSAzMC44MDV6bS0xNjQuMjgyIDIzLjQ1N2MwLTE1LjE3IDEyLjY4NS0yOS4yNzcgMjcuNjg4LTMwLjgwNWwyNi41NTktMi42NjZ2MjYuNDk4YzAgMTUuMTkyLTEyLjY3OSAyOS4yOTktMjcuNjkyIDMwLjgwNWwtMTUuNDE0IDEuNTU3IDE5LjA2OC0yMS4wOTZjMi43NzctMy4wNzMgMi41MzctNy44MTYtLjUzNS0xMC41OTMtMy4wNzItMi43NzUtNy44MTQtMi41MzktMTAuNTk0LjUzNWwtMTkuMDc5IDIxLjEwOHYtMTUuMzQzem0tNDQuOTgtMzQuMjg2IDE5LjA2OSAyMS4wOTctMTUuNDA5LTEuNTU3Yy0xNS4wMTUtMS41MjgtMjcuNjk5LTE1LjYzNS0yNy42OTktMzAuODA1di0yNi40OTVsMjYuNTIxIDIuNjYzYzE1LjAxNSAxLjUyNiAyNy40OTkgMTUuNjMzIDI3LjQ5OSAzMC44MDV2MTUuMDkxbC0xOC44NTItMjAuODU3Yy0yLjc3OC0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41Mi0uNTM1IDEwLjU5M3ptLTEzNC4yNzMgMzQuMjg2YzAtMTUuMTcgMTIuNjg1LTI5LjI3NyAyNy42ODgtMzAuODA1bDI2LjUzLTIuNjYzdjI2LjQ5NWMwIDE1LjE5NS0xMi42NzkgMjkuMzAxLTI3LjY5MiAzMC44MDVsLTE1LjQwNSAxLjU1NyAxOS4wODMtMjEuMDk0YzIuNzc5LTMuMDcyIDIuNTQyLTcuODE0LS41My0xMC41OTMtMy4wNjgtMi43NzgtNy44MTMtMi41NDItMTAuNTkzLjUzbC0xOS4wODEgMjEuMDkxem0tNDQuOTgxLTM0LjI4NiAxOS4wNjkgMjEuMDk3LTE1LjQwOS0xLjU1OGMtMTUuMDE1LTEuNTI4LTI3LjY5OS0xNS42MzUtMjcuNjk5LTMwLjgwNXYtMjYuNDk1bDI2LjUyIDIuNjYzYzE1LjAxNSAxLjUyOCAyNy41MDEgMTUuNjM1IDI3LjUwMSAzMC44MDV2MTUuMDkybC0xOC44NTMtMjAuODU4Yy0yLjc3OS0zLjA3Mi03LjUyMS0zLjMxMi0xMC41OTQtLjUzNXMtMy4zMTMgNy41MjEtLjUzNSAxMC41OTR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Jae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0yNi42MjIgMTUxLjc0MWgxMC44djM1LjY4MWMwIDExLjEyNSA5LjA1MSAyMC4xNzUgMjAuMTc1IDIwLjE3NWgxNC44MTRjNC43OTkgMCA5LjIwOC0xLjY5MSAxMi42NzUtNC41IDMuNDY3IDIuODA5IDcuODc1IDQuNSAxMi42NzUgNC41aDE0LjgxNGMxMS4xMjQgMCAyMC4xNzUtOS4wNSAyMC4xNzUtMjAuMTc1di0zOS45NGgyMC4xMzl2MTg1LjExNWgtMjMuNDU3Yy0xMC45MzggMC0xOS44MzcgOC44OTgtMTkuODM3IDE5LjgzNnYzNy4zMjRjMCA5Ljk2OCA3LjM5OCAxOC4yMTkgMTYuOTg4IDE5LjYwOHY4Ny41NzZjMCA4LjMwNCA2Ljc1NSAxNS4wNTkgMTUuMDU5IDE1LjA1OWgzMC4zMzVjOC4zMDQgMCAxNS4wNTktNi43NTUgMTUuMDU5LTE1LjA1OXYtNTMuODQ0aDUxLjQ2NGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWMtOS43NjUgMC04NS43ODUgMC05Ni45MTcgMHYtMTguNTAzaDIyOC44MzR2MTguNTAzYy0xMS4xMzcgMC04Ny4yMTcgMC05Ni45MTcgMC00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDUxLjQ2NXY1My44NDRjMCA4LjMwNCA2Ljc1NSAxNS4wNTkgMTUuMDU5IDE1LjA1OWgzMC4zMzRjOC4zMDQgMCAxNS4wNi02Ljc1NSAxNS4wNi0xNS4wNTkgMC0xMC4xNTQgMC03Ny4wMzYgMC04Ny41NzYgOS41OS0xLjM4OSAxNi45ODgtOS42NCAxNi45ODgtMTkuNjA4di0zNy4zMjRjMC0xMC45MzgtOC44OTgtMTkuODM2LTE5LjgzNy0xOS44MzZoLTIzLjQ1N3YtNzUuMDU4YzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djc1LjA1OGgtMjUuMTY0YzAtMjEuNzEzIDAtMTYyLjkxMiAwLTE4NS4xMTVoMjUuMTY0djc1LjA1OGMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di03NS4wNThoMjAuMTM5djM5Ljk0YzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1aDE0LjgxNGM0Ljc5OSAwIDkuMjA4LTEuNjkxIDEyLjY3NS00LjUgMy40NjcgMi44MDkgNy44NzUgNC41IDEyLjY3NCA0LjVoMTQuODE1YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTM1LjY4MWgxMC44YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTE0LjgxNGMwLTExLjEyNS05LjA1MS0yMC4xNzUtMjAuMTc1LTIwLjE3NWgtMTAuOHYtMzUuNjgxYzAtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTVjLTQuNzk5IDAtOS4yMDcgMS42OTEtMTIuNjc0IDQuNS0zLjQ2Ny0yLjgwOS03Ljg3NS00LjUtMTIuNjc1LTQuNWgtMTQuODE0Yy0xMS4xMjQgMC0yMC4xNzUgOS4wNS0yMC4xNzUgMjAuMTc0djM5Ljk0MWgtMjAuMTM5di04MC42NjNjLS4wMDEtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTRjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzR2NTAuNTM0aC05NS44OTZ2LTUwLjUzNGMwLTExLjEyNC05LjA1LTIwLjE3NC0yMC4xNzQtMjAuMTc0aC0xNC44MTVjLTExLjEyNCAwLTIwLjE3NCA5LjA1LTIwLjE3NCAyMC4xNzR2ODAuNjYzaC0yMC4xMzl2LTM5Ljk0MWMwLTExLjEyNC05LjA1MS0yMC4xNzQtMjAuMTc1LTIwLjE3NGgtMTQuODE0Yy00Ljc5OSAwLTkuMjA4IDEuNjkxLTEyLjY3NSA0LjUtMy40NjctMi44MDktNy44NzUtNC41LTEyLjY3NS00LjVoLTE0LjgxNGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NHYzNS42ODFoLTEwLjhjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzV2MTQuODE0YzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1em0xNDEuMjY3LTQuMjZoMjUuMTYzdjE4NS4xMTVoLTI1LjE2M3ptNDAuMTYzIDY4LjcxMmg5NS44OTZ2NzYuOTAxaC05NS44OTZ6bTk1Ljg5NS0xNWgtOTUuODk2di0yMy41ODNoOTUuODk2em0tMTMxLjkxOSAyNDEuOTA0LS4wNTEgNTMuOTAzLTMwLjM5My0uMDM5YzAtLjAwMS0uMDAxLS4wMDgtLjAwMS0uMDJ2LTUzLjg0NHptMTk4LjMyOSA1My45MDMtMzAuMzkzLS4wNTl2LTUzLjg0NGgzMC40NDV6bTEyLjIxMS0xNDkuNDAzYzIuNjY3IDAgNC44MzcgMi4xNjkgNC44MzcgNC44MzZ2MzcuMzI0YzAgMi42NjctMi4xNyA0LjgzNi00LjgzNyA0LjgzNi0xMy4yMDIgMC0yNDEuMjU2IDAtMjUzLjEzNyAwLTIuNjY3IDAtNC44MzctMi4xNjktNC44MzctNC44MzZ2LTM3LjMyNGMwLTIuNjY3IDIuMTctNC44MzYgNC44MzctNC44MzZ6bS0xNzQuNTE2LTE1di0yNC41MDNoOTUuODk2djI0LjUwM3ptOTUuODk1LTE2OS45ODdoLTk1Ljg5NnYtMTUuMTI4aDk1Ljg5NnptLTExNS45NzctMzAuMTI5di0xNi42NDVoMTM2LjA2djE2LjY0NWMtNC42NTMgMC0xMzAuNDExIDAtMTM2LjA2IDB6bTI5Ny40MDgtMjAuOTA0YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NXYxNC44MTRjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xMC44di0yNS4xNjR6bS00NS43OS01NS44NTVoMTQuODE1YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NHYxMjYuNTI2YzAgMi44MDUtMi4zNyA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE1Yy0yLjgwNSAwLTUuMTc0LTIuMzctNS4xNzQtNS4xNzV2LTEyNi41MjZjMC0yLjgwNSAyLjM2OS01LjE3NCA1LjE3NC01LjE3NHptLTQ1LjMzOCA1LjE3NGMwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzRoMTQuODE0YzIuODA1IDAgNS4xNzUgMi4zNyA1LjE3NSA1LjE3NHYxMjYuNTI2YzAgMi44MDUtMi4zNyA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1IDAtMi45MDQgMC0xMjIuNjAyIDAtMTI2LjUyNnptLTE1IDcxLjU4NWMtMTMuNDYzIDAtMjUuMTg2IDAtNDAuMjIxIDB2LTE2LjY0NWg0MC4yMjF6bS02MC4zMDMtMTEyLjMwN2MwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzRoMTQuODE0YzIuODU0IDAgNS4xNzUgMi4zMjEgNS4xNzUgNS4xNzR2ODAuNjYzYy05LjEwNiAwLTE2LjA1OCAwLTI1LjE2NCAwIDAtOS4zNzMgMC03MC44ODUgMC04MC42NjN6bS0xNSA2NS41MzR2MTUuMTI4aC05NS44OTZ2LTE1LjEyOHptLTEzNi4wNTgtNjUuNTM0YzAtMi44MDUgMi4zNjktNS4xNzQgNS4xNzQtNS4xNzRoMTQuODE1YzIuODA1IDAgNS4xNzQgMi4zNyA1LjE3NCA1LjE3NHY4MC42NjNjLTkuMTA0IDAtMTYuMDM5IDAtMjUuMTYzIDB6bTUuMDgxIDk1LjY2M3YxNi42NDVjLTE1LjI3MyAwLTI2LjQ2IDAtNDAuMjIgMHYtMTYuNjQ1em0tNzUuMjA5LTYwLjExNWgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjg1NC0yLjMyMSA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjgwNSAwLTUuMTc1LTIuMzctNS4xNzUtNS4xNzV2LTEyNi41MjZjMC0yLjgwNSAyLjM3LTUuMTc0IDUuMTc1LTUuMTc0em0tNDUuMzM5IDUuMTc0YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjg1NC0yLjMyMSA1LjE3NS01LjE3NSA1LjE3NWgtMTQuODE0Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1IDAtNS42NzkgMC0xMjAuODI3IDAtMTI2LjUyNnptLTMwLjk3NSA1NS44NTZjMC0yLjg1NCAyLjMyMS01LjE3NSA1LjE3NS01LjE3NWgxMC44djI1LjE2NGgtMTAuOGMtMi44NTQgMC01LjE3NS0yLjMyMS01LjE3NS01LjE3NXoiLz4KICAgIDwvZz4KPC9zdmc+",Bae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDcyLDI4MGgtMTZWMTY2LjRjMC0xMi05LjYtMjIuNC0yMi40LTIyLjRoLTRjLTEyLDAtMjIuNCw5LjYtMjIuNCwyMi40VjI4MGgtMjR2LTE2YzAtMTMuNi0xMC40LTI0LTI0LTI0SDEyMAoJCQljLTEzLjYsMC0yNCwxMC40LTI0LDI0djE2SDcyVjE2Ni40YzAtMTItOS42LTIyLjQtMjIuNC0yMi40aC0zLjJjLTEyLjgsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwSDhjLTQuOCwwLTgsMy4yLTgsOHMzLjIsOCw4LDhoOAoJCQl2MTQ0YzAsNC44LDMuMiw4LDgsOGg4djhjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtOGgzODR2OGMwLDQuOCwzLjIsOCw4LDhzOC0zLjIsOC04di04aDhjNC44LDAsOC0zLjIsOC04VjI5Nmg4CgkJCWM0LjgsMCw4LTMuMiw4LThTNDc2LjgsMjgwLDQ3MiwyODB6IE00MzAuNCwxNjBoNGMzLjIsMCw2LjQsMi40LDYuNCw2LjRWMjgwaC0xNlYxNjYuNEg0MjRDNDI0LDE2My4yLDQyNi40LDE2MCw0MzAuNCwxNjB6CgkJCSBNMTEyLDI2NGMwLTQuOCwzLjItOCw4LThoMjQwYzQuOCwwLDgsMy4yLDgsOHYxNkgxMTJWMjY0eiBNNDAsMTY2LjRjMC00LDIuNC02LjQsNi40LTYuNGg0YzMuMiwwLDUuNiwyLjQsNS42LDYuNFYyODBINDBWMTY2LjR6CgkJCSBNMjMyLDQzMkgzMnYtNjRoMjAwVjQzMnogTTQ0OCw0MzJIMjQ4di02NGgyMDBWNDMyeiBNNDQ4LDM1MkgzMnYtNTZoNDE2VjM1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjA4LDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzIxNiwzODcuMiwyMTIuOCwzODQsMjA4LDM4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMjcyLDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzI4MCwzODcuMiwyNzYuOCwzODQsMjcyLDM4NHoiLz4KICAgICAgICA8cGF0aCBkPSJNMzg0LDE2SDk2Yy00LjgsMC04LDMuMi04LDh2MTYwYzAsNC44LDMuMiw4LDgsOGgyODhjNC44LDAsOC0zLjIsOC04VjI0QzM5MiwxOS4yLDM4OC44LDE2LDM4NCwxNnogTTM3NiwxNzZIMTA0VjMyaDI3MgoJCQlWMTc2eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMTQ0aC04Yy00LjgsMC04LDMuMi04LDhzMy4yLDgsOCw4aDhjNC44LDAsOC0zLjIsOC04UzM1Ni44LDE0NCwzNTIsMTQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNTcuNiw1MC40Yy0zLjItMy4yLTgtMy4yLTExLjIsMGwtMjQsMjRjLTMuMiwzLjItMy4yLDgsMCwxMS4yYzMuMiwzLjIsOCwzLjIsMTEuMiwwbDI0LTI0CgkJCUMxNjAuOCw1OC40LDE2MC44LDUzLjYsMTU3LjYsNTAuNHoiLz4KICAgICAgICA8cGF0aCBkPSJNMTk3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTU2LDU2Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGw1Ni01NgoJCQlDMjAwLjgsNTguNCwyMDAuOCw1My42LDE5Ny42LDUwLjR6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Fae="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNDcyIDk2aC0xNDRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MTg0aC0xNzZ2LTI0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTI0djE2aDE2djE2aC0zMnYtMzJoLTE2djMyaC0zMnYtMTZoMTZ2LTE2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYyNGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MTc2YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDY0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTM2OGMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tMTM2IDE2aDEyOHY5NmgtMTI4em0tMTYgMjI0aC0xNDR2LTMyaDE0NHptLTMwNC0zMmgxNDR2MzJoLTE0NHptMCA0OGgxNDR2MTEyaC0xNDR6bTE2MCAwaDY0djExMmgtNjR6bTgwIDBoNjR2MTEyaC02NHptODAgMTEydi0yNDBoMTI4djI0MHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM1MiAxNDRoMTZ2MzJoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzUyIDI1NmgxNnYzMmgtMTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im00OCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im04MCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0xMTIgMzIwYzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQ0IDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTggMTUyaDE2MGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGMwLTIuMTIxMDk0LS44NDM3NS00LjE1NjI1LTIuMzQzNzUtNS42NTYyNWwtMzItMzJjLTEuNS0xLjUtMy41MzUxNTYtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTh2LTcyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djcyaC04Yy0yLjEyMTA5NCAwLTQuMTU2MjUuODQzNzUtNS42NTYyNSAyLjM0Mzc1bC0zMiAzMmMtMS41IDEuNS0yLjM0Mzc1IDMuNTM1MTU2LTIuMzQzNzUgNS42NTYyNXYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em01Ni0xMzZoNDh2NjRoLTQ4em0tNDggMTA3LjMxMjUgMjcuMzEyNS0yNy4zMTI1aDg5LjM3NWwyNy4zMTI1IDI3LjMxMjV2MTIuNjg3NWgtMTQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTM2IDM2OGgtOTZjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di02NGMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tOCA2NGgtODB2LTQ4aDgwem0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjMyIDMxMmgzMnYxNmgtMzJ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDggMzkyaDE2djMyaC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTI3MiAzOTJoMTZ2MzJoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTkyIDIwMGg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi0xNTMuMTM2NzE5aC0xNnYxNTMuMTM2NzE5Yy0xNC4wODU5MzggMy42MzY3MTktMjMuOTQ1MzEyIDE2LjMxNjQwNi0yNCAzMC44NjMyODF2OGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em0yNC0zMmM4LjgzNTkzOCAwIDE2IDcuMTY0MDYyIDE2IDE2aC0zMmMwLTguODM1OTM4IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjQ4IDEzNmg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi04OS4xMzY3MTloLTE2djg5LjEzNjcxOWMtMTQuMDg1OTM4IDMuNjM2NzE5LTIzLjk0NTMxMiAxNi4zMTY0MDYtMjQgMzAuODYzMjgxdjhjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptMjQtMzJjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNmgtMzJjMC04LjgzNTkzOCA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Gae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MTAuNDE3IDIzMy4yMjUtNTguNjQ0LTExNy4yNzljLTE1LjkzOS0zMS44NzctNDcuOTc4LTUxLjY4LTgzLjYyLTUxLjY4LTguNTg2IDAtMTYuOTg0IDEuMTg4LTI1LjAzMiAzLjQzNy4xMDUtMS40ODkuMTc4LTIuOTg4LjE3OC00LjUwMyAwLTM0Ljg0OS0yOC4zNTEtNjMuMi02My4yLTYzLjJzLTYzLjIgMjguMzUyLTYzLjIgNjMuMmMwIDMwLjk5MyAyMi40MzIgNTYuODI4IDUxLjkwOSA2Mi4xNjlsLTYxLjM2NiA2MS40N2MtNi44NzUgNi44ODYtMjEuODcxIDI3LjgyLTEwLjMzMyA1NC40Ni0xLjcwNS0uMTkxLTMuNDIxLS4yOTktNS4xNDQtLjI5OS0yMy4wODcgMC00Mi4zMzYgMTYuNjktNDYuMzUxIDM4LjYzNS03Ljc0LTQuMTQ0LTE2LjU3My02LjUwMS0yNS45NDktNi41MDEtMzAuNDE5IDAtNTUuMTY3IDI0Ljc0OC01NS4xNjcgNTUuMTY3IDAgOS4wNjMgMi4yMTEgMTcuNjE1IDYuMSAyNS4xNjdoLTQwLjU5OHYtMzM4LjQ2OGMwLTguMjg0LTYuNzE2LTE1LTE1LTE1cy0xNSA2LjcxNi0xNSAxNXY0ODJjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXMxNS02LjcxNiAxNS0xNXYtNDkuMjY3aDMwNi41NjNjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtNjQuMjY3YzAtOC4yODQtNi43MTYtMTUtMTUtMTVoLTM2LjQxMmMzLjI3NC04LjM5NSAzLjIxNC0xNS4yNjMgMy4yMTQtMTguMiAyOC40NjkgMCA0OC4yLTIyLjA5OCA0OC4yLTQ3LjEzMyAwLTI1Ljk4OS0yMS4xNDQtNDcuMTMzLTQ3LjEzMy00Ny4xMzNoLTEyLjMwNGw1NS45MDQtNTYuMDg2IDUzLjczNiAxMDYuNzc3LS4xMDMgMjA1LjMwMWMtLjAwMiAzLjk3OSAxLjU3OCA3Ljc5NiA0LjM5MSAxMC42MTEgMi44MTMgMi44MTQgNi42MyA0LjM5NiAxMC42MDkgNC4zOTZoODAuMzM1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTI1Ny4wNjZjMC0yLjMyOS0uNTQyLTQuNjI1LTEuNTgzLTYuNzA4em0tMjYzLjUxNy0xNzAuMDI1YzAtMTguMzA3IDE0Ljg5NC0zMy4yIDMzLjItMzMuMnMzMy4yIDE0Ljg5NCAzMy4yIDMzLjItMTQuODk0IDMzLjItMzMuMiAzMy4yYy0xOC4zMDcgMC0zMy4yLTE0Ljg5My0zMy4yLTMzLjJ6bS0xMjcuMjMzIDIzOS45MzNjMTMuODc3IDAgMjUuMTY3IDExLjI5IDI1LjE2NyAyNS4xNjdzLTExLjI5IDI1LjE2Ny0yNS4xNjcgMjUuMTY3LTI1LjE2Ny0xMS4yOS0yNS4xNjctMjUuMTY3IDExLjI5LTI1LjE2NyAyNS4xNjctMjUuMTY3em0yMDEuODk2IDgwLjMzNHYzNC4yNjdoLTI5MS41NjN2LTM0LjI2N3ptLTE3LjEzLTExMi40NjdjOS40NDcgMCAxNy4xMzMgNy42ODYgMTcuMTMzIDE3LjEzMyAwIDkuNTgzLTcuODE0IDE3LjEzMy0xNy4xMzMgMTcuMTMzaC0xNi4wNjdjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTYuMDY3YzAgOS41ODMtNy44MTQgMTcuMTMzLTE3LjEzMyAxNy4xMzNoLTY0LjI2N2MtOS40NDcgMC0xNy4xMzMtNy42ODYtMTcuMTMzLTE3LjEzM3YtNDguMmMwLTkuNDQ3IDcuNjg2LTE3LjEzMyAxNy4xMzMtMTcuMTMzIDkuMjk3IDAgMTcuMTMzIDcuNTI2IDE3LjEzMyAxNy4xMzN2MTYuMDY3YzAgOC4yODQgNi43MTYgMTUgMTUgMTVzMTUtNi43MTYgMTUtMTV2LTE2LjA2N2MwLTkuNDI5IDcuNjE2LTE3LjEzMyAxNy4xMzMtMTcuMTMzem0xNzcuNTY3IDIxMWgtNTAuMzI2bC4wOTctMTkzLjg1OWMuMDAxLTIuMzQ0LS41NDctNC42NTYtMS42MDEtNi43NWwtNjQuNjg1LTEyOC41MzNjLTIuMTY3LTQuMzA1LTYuMjY5LTcuMzA2LTExLjAyNy04LjA2OC00Ljc2MS0uNzYyLTkuNTk0LjgxLTEyLjk5NSA0LjIyMmwtODYuNDU4IDg2LjczOWMtNy4yNjMgNy4yOTEtMTkuMTE1IDYuODA3LTI2LjMwOC0uMzg2LTcuMzgxLTcuMzgxLTcuNzI4LTE5LjYxMS0uMDIyLTI3LjMyOWw5NS4yNy05NS40MzFjMTEuNzk5LTExLjgyNSAyNy41LTE4LjMzNyA0NC4yMTctMTguMzM3IDI0LjE5OSAwIDQ1Ljk1NSAxMy40NDggNTYuNzc5IDM1LjA5N2w1Ny4wNTkgMTE0LjEwOXoiLz4KICAgIDwvZz4KPC9zdmc+",Hae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTkyLjU0NSwxODUuMDljNTEuMDI5LDAsOTIuNTQ1LTQxLjUxNiw5Mi41NDUtOTIuNTQ1UzE0My41NzQsMCw5Mi41NDUsMFMwLDQxLjUxNiwwLDkyLjU0NSAgICBTNDEuNTE2LDE4NS4wOSw5Mi41NDUsMTg1LjA5eiBNOTIuNTQ1LDIwYzQwLjAwMSwwLDcyLjU0NSwzMi41NDQsNzIuNTQ1LDcyLjU0NXMtMzIuNTQ0LDcyLjU0NS03Mi41NDUsNzIuNTQ1ICAgIFMyMCwxMzIuNTQ2LDIwLDkyLjU0NVM1Mi41NDQsMjAsOTIuNTQ1LDIweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDAuNTAxLDExNC41MjZjMS45NTIsMS45NDUsNC41MDYsMi45MTcsNy4wNiwyLjkxN2MyLjU2NCwwLDUuMTMtMC45OCw3LjA4My0yLjk0ICAgIGMzLjg5OC0zLjkxMiwzLjg4OC0xMC4yNDQtMC4wMjMtMTQuMTQzbC0xMi4wMDgtMTEuOTY4VjQ0YzAtNS41MjItNC40NzgtMTAtMTAtMTBzLTEwLDQuNDc4LTEwLDEwdjQ4LjU0NSAgICBjMCwyLjY1OCwxLjA1OSw1LjIwNywyLjk0LDcuMDgzTDEwMC41MDEsMTE0LjUyNnoiLz4KICAgICAgICA8cGF0aCBkPSJNNTAyLDMzMmgtNjEuNTQ3Yy04LjQ2LTEyLjAzNC0yMS4xNzItMjAuNTU4LTM1LjY3MS0yMy43MjhsLTQzLjk2NC05LjYxMyAgICBjMTcuOTkxLTEyLjEzNCwyOS44NDctMzIuNzAyLDI5Ljg0Ny01NS45ODh2LTI0LjQxN3YtMTEuMjk3di0yLjU0MmMwLTM3LjIxMi0zMC4yNzQtNjcuNDg2LTY3LjQ4Ni02Ny40ODYgICAgcy02Ny40ODYsMzAuMjc0LTY3LjQ4Niw2Ny40ODZ2Mi41NDJ2MTEuMjk3djI0LjQxN2MwLDIzLjI1NiwxMS44MjUsNDMuODAzLDI5Ljc3OCw1NS45NDNsLTQzLjkzNiw5LjYzOSAgICBjLTEuODc3LDAuNDEyLTMuNzIyLDAuOTE3LTUuNTM1LDEuNTAyVjIyN2MwLTUuNTIyLTQuNDc4LTEwLTEwLTEwaC02OGMtNS41MjIsMC0xMCw0LjQ3OC0xMCwxMHM0LjQ3OCwxMCwxMCwxMGg1OHYxNDBoLTY4di01MCAgICBjMC0xNi41NDItMTMuNDU4LTMwLTMwLTMwcy0zMCwxMy40NTgtMzAsMzB2NTBIMjBWMjM3aDU4YzUuNTIyLDAsMTAtNC40NzgsMTAtMTBzLTQuNDc4LTEwLTEwLTEwSDEwYy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjE2MCAgICBjMCw1LjUyMiw0LjQ3OCwxMCwxMCwxMGg3OHYxOWgtMWMtMTcuMDk0LDAtMzEsMTMuOTA2LTMxLDMxdjVIMTBjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTB2NDBjMCw1LjUyMiw0LjQ3OCwxMCwxMCwxMGg0OTIgICAgYzUuNTIyLDAsMTAtNC40NzgsMTAtMTB2LTQwdi00MHYtNDB2LTQwQzUxMiwzMzYuNDc4LDUwNy41MjIsMzMyLDUwMiwzMzJ6IE00NDEuMTc5LDQ1MkgzODR2LTIwaDEwOHYyMEg0NDEuMTc5eiBNNDkyLDQxMkgzODQgICAgdi0yMGgxMDhWNDEyeiBNNDkyLDM3MkgzODR2LTIwaDUwLjg3NGMwLjAzLDAsMC4wNiwwLjAwNiwwLjA4OSwwLjAwNmMwLjAzMSwwLDAuMDYzLTAuMDA2LDAuMDk0LTAuMDA2SDQ5MlYzNzJ6IE0yNzUuNjkyLDIwNC40MTYgICAgYzAtMjYuMTg0LDIxLjMwMy00Ny40ODYsNDcuNDg2LTQ3LjQ4NmMyNC45MzMsMCw0NS40MzksMTkuMzE0LDQ3LjM0Miw0My43NjdsLTIzLjI0Ni0xMy42NTcgICAgYy00LjIxMS0yLjQ3NS05LjU5My0xLjU0NC0xMi43MywyLjE5OWMtMTAuMTI2LDEyLjA4NS0yNC45NzcsMTkuMDE3LTQwLjc0NCwxOS4wMTdoLTE4LjEwN3YtMS4yOTdWMjA0LjQxNnogTTI3NS42OTIsMjI4LjI1NSAgICBIMjkzLjhjMTguODI1LDAsMzYuNy03LjE3OSw1MC4yMDUtMTkuOTRsMjYuNjYsMTUuNjYzdjE4LjY5NGMwLDI2LjE4NC0yMS4zMDMsNDcuNDg2LTQ3LjQ4Niw0Ny40ODZzLTQ3LjQ4Ni0yMS4zMDMtNDcuNDg2LTQ3LjQ4NiAgICBWMjI4LjI1NXogTTMzOC44NDQsMzA4LjMwM2wtMTUuODE1LDQyLjI5NGwtMTUuODQ0LTQyLjM3YzUuMTMsMS4yNTIsMTAuNDgzLDEuOTMxLDE1Ljk5MywxLjkzMSAgICBDMzI4LjU3MiwzMTAuMTU4LDMzMy44MTMsMzA5LjUwNCwzMzguODQ0LDMwOC4zMDN6IE0yMjYsMzk3YzUuNTIyLDAsMTAtNC40NzgsMTAtMTB2LTU1LjYyM2MzLjA4NS0xLjYyNiw2LjM3NC0yLjgzMiw5LjgyLTMuNTg4ICAgIGw0My43NC05LjU5NmwyNC4xMDMsNjQuNDU3YzEuNDYxLDMuOTA3LDUuMTk0LDYuNDk3LDkuMzY2LDYuNDk3czcuOTA1LTIuNTksOS4zNjYtNi40OThsMjQuMTA0LTY0LjQ2MWw0NC4wMTEsOS42MjMgICAgYzMuODYzLDAuODQ0LDcuNTI5LDIuMjc0LDEwLjkwMiw0LjE4OEgzNzRjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTB2NDB2NDB2MzBIMjE1LjE3OXYtNTVIMjI2eiBNMTk1LjE3OSwzOTd2NTVIMTgwdi01ICAgIGMwLTE3LjA5NC0xMy45MDYtMzEtMzEtMzFoLTF2LTE5SDE5NS4xNzl6IE0xMDgsMzI3YzAtNS41MTQsNC40ODYtMTAsMTAtMTBzMTAsNC40ODYsMTAsMTB2ODloLTIwVjMyN3ogTTc2LDQ0NyAgICBjMC02LjA2NSw0LjkzNS0xMSwxMS0xMWgxMWg0MGgxMWM2LjA2NSwwLDExLDQuOTM1LDExLDExdjVINzZWNDQ3eiBNNDkyLDQ5MkgyMHYtMjBoNDcyVjQ5MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzLDIxOS45M2MtMS44NiwxLjg2LTIuOTMsNC40NC0yLjkzLDcuMDdzMS4wNjksNS4yMSwyLjkzLDcuMDY5YzEuODYsMS44Niw0LjQ0LDIuOTMxLDcuMDcsMi45MzEgICAgczUuMjEtMS4wNyw3LjA2OS0yLjkzMUMxMjYuOTMsMjMyLjIxLDEyOCwyMjkuNjMsMTI4LDIyN3MtMS4wNy01LjIxLTIuOTMxLTcuMDdjLTEuODU5LTEuODYtNC40MzktMi45My03LjA2OS0yLjkzICAgIFMxMTIuNzksMjE4LjA2OSwxMTAuOTMsMjE5LjkzeiIvPgogICAgPC9nPgo8L3N2Zz4K",Vae="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTUsMzUuOTM1YzQuNDkzLS41NTUsOC00LjgsOC05LjkzNSwwLTQuODg1LTMuNTM1LTE5LTktMTlzLTksMTQuMTE1LTksMTljMCw1LjEzOCwzLjUwNyw5LjM4LDgsOS45MzVWNDJINDkuOTQ5YTkuOTc4LDkuOTc4LDAsMCwwLTE0LjQ0MS03LjkyMmwtMS42LTIuNTEzTDMyLjM4OCwyN0gzNi41YTEuNSwxLjUsMCwwLDEsMCwzSDM2djJoLjVhMy41LDMuNSwwLDAsMCwwLTdIMzFhMSwxLDAsMCwwLS45NDgsMS4zMTZMMzEuNjEzLDMxSDIwVjI5aDNhMSwxLDAsMCwwLDEtMSw1LDUsMCwwLDAtMTAsMCwxLDEsMCwwLDAsMSwxaDN2Mi42NzVsLTEuOTY0LDIuN2E5Ljk5MSw5Ljk5MSwwLDEsMCw0LjUxLDExLjYwNiwzLjk4NSwzLjk4NSwwLDEsMCw2LjQyNS00LjYzNGw1LjUyMS04LjI4MywxLjMyOSwyLjA4OUE5Ljk5NSw5Ljk5NSwwLDEsMCw0OS45NDksNDRINjNWNDJINTVaTTQ3LDI2YzAtNS4wNjcsMy42NjEtMTcsNy0xN3M3LDExLjkzMyw3LDE3YzAsNC4wMjItMi42MTQsNy4zNTEtNiw3LjkwOVYxOC41MzVsMi41NTUtMS43LTEuMTEtMS42NjQtMywyQTEsMSwwLDAsMCw1MywxOHY3bC0yLjQtMS44LTEuMiwxLjZMNTMsMjcuNXY2LjQwOUM0OS42MTQsMzMuMzUxLDQ3LDMwLjAyMiw0NywyNlpNMTksMjVhMy4wMDYsMy4wMDYsMCwwLDEsMi44MjksMkgxNi4xNzFBMy4wMDYsMy4wMDYsMCwwLDEsMTksMjVabTUsMTVhMy44MzYsMy44MzYsMCwwLDAtLjU2LjA1N0wyMC41LDMzaDkuNjMybC00LjgyNSw3LjIzN0EzLjk2OCwzLjk2OCwwLDAsMCwyNCw0MFpNMTEsNTFhOCw4LDAsMSwxLDMuODU3LTE1bC0zLjAxMSw0LjE0QTIuOTYsMi45NiwwLDAsMCwxMSw0MGEzLDMsMCwxLDAsMi43MzgsNC4yMTRsNS4xLjM5MkE4LjAxNCw4LjAxNCwwLDAsMSwxMSw1MVptNy45OC04LjM4OS01LjEtLjM5MmEzLjAwNSwzLjAwNSwwLDAsMC0uNDE0LS45MTZsMy00LjEyNUE3Ljk2OSw3Ljk2OSwwLDAsMSwxOC45OCw0Mi42MTFaTTEyLDQzYTEsMSwwLDEsMS0xLTFBMSwxLDAsMCwxLDEyLDQzWm04Ljg3OS0xLjQ3MmE5Ljk2OCw5Ljk2OCwwLDAsMC0zLjIyOC01Ljk3NGwxLjExMS0xLjUyNywyLjgzMiw2LjhBNC4wMzIsNC4wMzIsMCwwLDAsMjAuODc5LDQxLjUyOFpNMjQsNDZhMiwyLDAsMSwxLDItMkEyLDIsMCwwLDEsMjQsNDZabTE2LDVhOCw4LDAsMCwxLTUuMS0xNC4xNTZsMi43NDgsNC4zMTlBMi45NjYsMi45NjYsMCwwLDAsMzcsNDNhMywzLDAsMSwwLDMtMywyLjk2MywyLjk2MywwLDAsMC0uNjcxLjA4MmwtMi43NDEtNC4zMDdBOCw4LDAsMSwxLDQwLDUxWm0wLTlhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsNDAsNDJaIi8+CiAgICAgICAgPHBhdGggZD0iTTcsMThhNCw0LDAsMCwwLDIuNzg4LTEuMTM5LDUuNjMzLDUuNjMzLDAsMCwwLDMuOTYxLS41NDVBMy45NTQsMy45NTQsMCwwLDAsMTcsMThhNCw0LDAsMSwwLS4wODMtOCw2LDYsMCwwLDAtMTEuOS41MzhBMy45OTIsMy45OTIsMCwwLDAsNywxOFptLS42NTMtNS44NzdhMSwxLDAsMCwwLC42Ny0uOTc3QS42LjYsMCwwLDAsNywxMWE0LDQsMCwwLDEsOC0uMDQxYzAsLjAzMy0uMDE4LjE1Mi0uMDIuMTg1YTEsMSwwLDAsMCwxLjMzOS45ODZBMS45NywxLjk3LDAsMCwxLDE3LDEyYTIsMiwwLDEsMS0xLjksMi41NzMsMSwxLDAsMCwwLTEuNTg5LS40ODcsMy44LDMuOCwwLDAsMS0zLjc1MS42OTMsMSwxLDAsMCwwLTEuMTI5LjM3MiwxLjk5NCwxLjk5NCwwLDEsMS0yLjI4Mi0zLjAyOFoiLz4KICAgICAgICA8cmVjdCB4PSIxIiB5PSI1NSIgd2lkdGg9IjYyIiBoZWlnaHQ9IjIiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Zae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0xNjguOTkyIDI3Ny41OTFjMC0yNi41NTEtMjEuNjAxLTQ4LjE1MS00OC4xNTEtNDguMTUxcy00OC4xNTEgMjEuNjAxLTQ4LjE1MSA0OC4xNTEgMjEuNjAxIDQ4LjE1IDQ4LjE1MSA0OC4xNSA0OC4xNTEtMjEuNiA0OC4xNTEtNDguMTV6bS04MS4zMDMgMGMwLTE4LjI3OSAxNC44NzItMzMuMTUxIDMzLjE1MS0zMy4xNTFzMzMuMTUxIDE0Ljg3MiAzMy4xNTEgMzMuMTUxLTE0Ljg3MiAzMy4xNS0zMy4xNTEgMzMuMTUtMzMuMTUxLTE0Ljg3MS0zMy4xNTEtMzMuMTV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ3OS4yNzIgNDYyaC0zNC4wNjJsLTM5LjE1OC0zNi42NjdjLTMuMDIzLTIuODMxLTcuNzctMi42NzUtMTAuNjAxLjM0OXMtMi42NzUgNy43Ny4zNDkgMTAuNjAxbDQxLjMyMSAzOC42OTJjMS4zOSAxLjMwMiAzLjIyMiAyLjAyNSA1LjEyNiAyLjAyNWgzNy4wMjRjOS43NzUgMCAxNy43MjggNy45NTMgMTcuNzI4IDE3LjcyOXYyLjI3MWgtNjAuODQ0Yy0yLjE0OCAwLTQuMjYxLS43MDMtNS45ODEtMS45ODZsLTE4OC40OTItMTc4LjkxNHYtMjQuMTMybDEzMi4yMDcgMTIzLjc5NmMzLjAyMyAyLjgzMSA3Ljc3IDIuNjc1IDEwLjYwMS0uMzQ5czIuNjc1LTcuNzctLjM0OS0xMC42MDFsLTE0Mi40NTktMTMzLjM5NnYtMi40NThjMC04LjI4NC02Ljc0LTE1LjAyNC0xNS4wMjUtMTUuMDI0aC0xMi41NDh2LTQyLjc4NmgxMS40MzhjNi41MzYgMCAxMi4zOC0zLjkwMSAxNC44ODYtOS45MzggMi41MDctNi4wMzcgMS4xNDUtMTIuOTMtMy40NzEtMTcuNTZsLTEwNC43MDYtMTA1LjAzNmMtMS4xNjgtMS4xNzItMi40ODctMi4xMzgtMy45MS0yLjg4OXYtMTAuODY5aDUwLjE0OGM4Ljk1OSAwIDE2LjI0OC03LjI4OSAxNi4yNDgtMTYuMjQ4di0yNS4yMTNjMC04Ljk1OS03LjI4OS0xNi4yNDgtMTYuMjQ4LTE2LjI0OGgtNTAuMTY2Yy0uMTg0LTMuOTc4LTMuNDU4LTcuMTQ5LTcuNDgyLTcuMTQ5LTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjV2NjguMjIzYy0xLjQyNy43NTEtMi43NDkgMS43MTktMy45MiAyLjg5NGwtNDAuMDE1IDQwLjE0Yy0yLjkyNSAyLjkzNC0yLjkxNyA3LjY4Mi4wMTcgMTAuNjA2IDIuOTMzIDIuOTIzIDcuNjgxIDIuOTE3IDEwLjYwNi0uMDE3bDQwLjAxNi00MC4xNDFjLjI3MS0uMjcxLjU3OS0uMzI4Ljc5MS0uMzI4LjIxMSAwIC41MjEuMDU3Ljc5Mi4zMjlsMTA0LjcwNSAxMDUuMDM1Yy4xNTcuMTU4LjUyNy41MjkuMjQgMS4yMTktLjI4Ni42ODktLjgwOS42ODktMS4wMzIuNjg5aC0yMDkuNDFjLS4yMjQgMC0uNzQ3IDAtMS4wMzMtLjY4OXMuMDg0LTEuMDYxLjI0MS0xLjIxOWw0My41MjEtNDMuNjU4YzIuOTI1LTIuOTM0IDIuOTE3LTcuNjgzLS4wMTctMTAuNjA2LTIuOTM0LTIuOTI1LTcuNjgzLTIuOTE4LTEwLjYwNi4wMTdsLTQzLjUyMSA0My42NTdjLTQuNjE1IDQuNjMtNS45NzggMTEuNTIyLTMuNDcyIDE3LjU2MSAyLjUwNyA2LjAzNyA4LjM1IDkuOTM4IDE0Ljg4NyA5LjkzOGgxMS40Mzh2NjkuNDQ0YzAgNC4xNDMgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU3IDcuNS03LjV2LTY5LjQ0NGgxNTYuNTM1djEzMi44ODJoLTE1Ni41MzZ2LTMzLjQ1MmMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTctNy41IDcuNXYxODYuNDJoLTIwLjA3M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWg0OTdjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXYtOS43NzFjMC0xOC4wNDctMTQuNjgyLTMyLjcyOS0zMi43MjgtMzIuNzI5em0tMjk5LjUzLTQzOC42MDN2MjUuMjEzYzAgLjY4OC0uNTYgMS4yNDgtMS4yNDggMS4yNDhoLTUwLjE0OHYtMjcuNzA5aDUwLjE0OGMuNjg5IDAgMS4yNDguNTYgMS4yNDggMS4yNDh6bTE2Ny4xOTYgNDEzLjI5MSA2My41NDEgNjAuMzEyaC02My41NDF6bS0xNSA2MC4zMTJoLTYwLjgxMXYtMTMyLjI3bDYwLjgxMSA1Ny43MnptLTc1LjgxLTE0Ni41MDh2MTQ2LjUwOGgtNDIuMDJ2LTE1Ni45NDJoMTIuNTQ4YzQuOTM5IDAgOS4zMTYtMi40MDYgMTIuMDU2LTYuMDk2em0tMjkuNDQ2LTgxLjUzMi0uMDEyIDU2LjA5N3MtLjAwNC4wMDEtLjAxNC4wMDFoLTEyLjU0OHYtNTYuMTEzem0tMjcuNTc0IDIyOC4wNGgtMzcuMTV2LTEzNy45NjloMzcuMTV6bS0xMDQuMzg0LTYxLjQ4NGg1Mi4yMzR2MjEuNDM2aC01Mi4yMzR6bTUyLjIzNC0xNWgtNTIuMjM0di0yMS40MzZoNTIuMjM0em0tNTIuMjM0IDUxLjQzNWg1Mi4yMzR2MjUuMDQ5aC01Mi4yMzR6bTUyLjIzNC0xMTIuOTJ2MjUuMDQ5aC01Mi4yMzR2LTI1LjA0OXptLTEwNC4zODUgMGgzNy4xNXYxMzcuOTY5aC0zNy4xNXoiLz4KICAgIDwvZz4KPC9zdmc+",Xae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNjcuMDQzIDE3MC40MTRjLTEwLjUxNi0uMzY1LTIwLjAxNi01LjA0Ny0yNi43NDktMTMuMTgxLTQuOTE0LTUuOTM3LTEzLjkzOC01LjkyNS0xOC44NDIgMC0xNC41OTcgMTcuNjM3LTQxLjQ2MiAxNy42MDYtNTYuMDMxIDAtNC45NzMtNi4wMDctMTQuMDA1LTUuODQyLTE4Ljg0MyAwLTE0LjU5MiAxNy42MzMtNDEuNDU1IDE3LjYxMy01Ni4wMzEtLjAwMS00LjkyMi01Ljk0NS0xMy45NDUtNS45MTUtMTguODQxIDAtNi43MzMgOC4xMzUtMTYuMjMzIDEyLjgxNi0yNi43NDkgMTMuMTgyLTQuMTQuMTQ0LTcuMzc5IDMuNjE2LTcuMjM0IDcuNzU2LjE0NCA0LjE0IDMuNTk0IDcuMzcxIDcuNzU2IDcuMjM1IDEzLjU2Ni0uNDcyIDI2LjM4Ni02LjMyOCAzNS42NDYtMTYuMTg3IDIwLjI3NiAyMS42MjkgNTQuNTY5IDIxLjY1NyA3NC44NzUuMDAxIDIwLjI3OCAyMS42MjkgNTQuNTcxIDIxLjY1NCA3NC44NzQtLjAwMSA5LjI2MiA5Ljg1OSAyMi4wOCAxNS43MTUgMzUuNjQ3IDE2LjE4NyA0LjEyMS4xNDkgNy42MTMtMy4wOTUgNy43NTYtNy4yMzUuMTQ1LTQuMTQtMy4wOTQtNy42MTItNy4yMzQtNy43NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMzYwLjc4MiAxMDcuN2MtOC4wODItMS43MDMtMTUuMTY3LTYtMjAuNDg3LTEyLjQyNy00LjkxNC01LjkzNy0xMy45MzgtNS45MjUtMTguODQyIDAtMTQuNTk3IDE3LjYzNy00MS40NjIgMTcuNjA2LTU2LjAzMSAwLTQuOTczLTYuMDA3LTE0LjAwNS01Ljg0Mi0xOC44NDMgMC0xNC41OTIgMTcuNjMzLTQxLjQ1NSAxNy42MTMtNTYuMDMxLS4wMDEtNC45MjItNS45NDUtMTMuOTQ1LTUuOTE1LTE4Ljg0MSAwLTUuMzIgNi40MjctMTIuNDA0IDEwLjcyNS0yMC40ODYgMTIuNDI4LTQuMDU0Ljg1NC02LjY0NyA0LjgzMi01Ljc5MyA4Ljg4NXM0Ljg0IDYuNjQ3IDguODg1IDUuNzkyYzEwLjM4My0yLjE4OCAxOS41OTItNy4zOSAyNi44MTYtMTUuMTE3IDIwLjI4MiAyMS42MzEgNTQuNTcyIDIxLjY0OCA3NC44NzItLjAwMSAyMC4yNzYgMjEuNjI2IDU0LjU2NyAyMS42NTYgNzQuODcxLjAwMiA3LjIyNiA3LjcyNyAxNi40MzYgMTIuOTMgMjYuODE4IDE1LjExNiA0LjA0OC44NTUgOC4wMy0xLjc0IDguODg1LTUuNzkzLjg1My00LjA1My0xLjc0MS04LjAzMS01Ljc5My04Ljg4NHoiLz4KICAgICAgICA8cGF0aCBkPSJtNTQuOTg1IDQyOS4yNzNoMTY5LjczMnY2OS41NzljMCA3LjI1IDUuODk4IDEzLjE0OCAxMy4xNDkgMTMuMTQ4aDI1LjE5MmM3LjI1IDAgMTMuMTQ4LTUuODk4IDEzLjE0OC0xMy4xNDh2LTEuNDY0aDc0LjE5OXYxLjQ2NGMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtNjkuNTc5aDU1LjExOWMyNC4xMjEgMCA0My4wODEtMjAuODg2IDQwLjY1Ny00NC45NTYtLjAwNC0uMDQtLjAwOC0uMDgtLjAxMy0uMTJsLTEzLjAzNS0xMTEuNTY3Yy0uNDgxLTQuMTE0LTQuMjE1LTcuMDYyLTguMzE5LTYuNTc5LTQuMTE0LjQ4MS03LjA2IDQuMjA2LTYuNTc5IDguMzJsMTMuMDMgMTExLjUwM2MxLjQ2IDE0LjgzMy0xMC4wOTQgMjguMzk4LTI1LjczOCAyOC4zOThoLTU1LjExOXYtMTkuMDU4aDQ0LjkzN2M5LjQ3IDAgMTYuODgtOC4xOTEgMTUuOTM1LTE3LjYxNi0uMDA1LS4wNDMtLjAxLS4wODYtLjAxNS0uMTI5bC0zOC43NTYtMzI5LjA3NGMtLjg2MS04LjE3OS03LjY5NS0xNC4zMzctMTUuOTI3LTE0LjMzN2gtMTM0LjU3MWMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxMzQuNTcxYy41MjMgMCAuOTU3LjM5MyAxLjAxLjkxNC4wMDQuMDQyLjAwOS4wODMuMDE0LjEyNWwzOC43NSAzMjkuMDM0Yy4wMTkuMjc1LS4wNzQuNTQ3LS4yNi43NTEtLjE5MS4yMTItLjQ2Ni4zMzMtLjc1Mi4zMzNoLTQ0LjkzN3YtMjIuODkyYzAtMzkuNDc3LTMyLjI1Ni03MC4zNDQtNzAuMzQ1LTcwLjM0NC0yNi43NzggMC01MC45NDcgMTUuMTg5LTYyLjgzOSAzOC43NDQtMTIuMDA4LTIzLjc3Mi0zNi43MjUtMzkuMjUtNjQuMjA2LTM4LjczMS0zNy43LjcwOS02OC45ODggMzEuNTkzLTY4Ljk4OCA3MC4zMzJ2MjIuODkyaC03MC4zNTJjLS4yODYgMC0uNTYtLjEyMi0uNzUzLS4zMzUtLjE4NS0uMjA0LS4yNzctLjQ3Ni0uMjU5LS43NTFsMzguNzUyLTMyOS4wMzJjLjAwNS0uMDQyLjAxLS4wODQuMDE0LS4xMjcuMDUzLS41Mi40ODYtLjkxMiAxLjAxLS45MTJoMTM0LjU3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMzQuNTdjLTguMjMzIDAtMTUuMDY3IDYuMTYtMTUuOTI3IDE0LjMzOWwtMzguNzU3IDMyOS4wNzNjLS4wMDUuMDQzLS4wMS4wODYtLjAxNS4xMjktLjk0NiA5LjQyMiA2LjQ2NCAxNy42MTYgMTUuOTM1IDE3LjYxNmgxNTkuNTUxdjE5LjA1OGgtMTY5LjczMmMtMTQuODUyIDAtMjcuMjc5LTEyLjc4Mi0yNS43MzktMjguMzk5bDQwLjYwOS0zNDcuNDgzYy4wMDUtLjA0LjAwOS0uMDguMDEzLS4xMTkgMS4zMzYtMTMuMjY4IDEyLjM5OS0yMy4yNzMgMjUuNzM0LTIzLjI3M2gzMjAuNzk4YzEzLjMzNSAwIDI0LjM5NyAxMC4wMDUgMjUuNzMzIDIzLjI3Mi4wMDQuMDQuMDA4LjA4LjAxMy4xMmwyMy40ODcgMjAwLjk3OWMuNDgxIDQuMTE1IDQuMjE3IDcuMDYzIDguMzE5IDYuNTc5IDQuMTE0LS40OCA3LjA2LTQuMjA2IDYuNTc5LTguMzJsLTIzLjQ4LTIwMC45MjJjLTIuMTM4LTIwLjkzMi0xOS42MDMtMzYuNzA4LTQwLjY1MS0zNi43MDhoLTMyMC43OThjLTIxLjA0OSAwLTM4LjUxNiAxNS43NzctNDAuNjUyIDM2LjcxbC00MC42MSAzNDcuNDg4Yy0uMDA1LjA0LS4wMDkuMDgtLjAxMy4xMi0yLjQxNSAyMy45OTkgMTYuNDY2IDQ0Ljk1NSA0MC42NTggNDQuOTU1em0yNTcuNzEzLTcxLjMwMmMwLTEwLjMyNSA4LjEyMi0xOS4yODkgMTguNS0xOS40ODMgMTAuNjgyLS4yMDQgMTkuMjA5IDguNDkxIDE5LjIwOSAxOC44MzZ2MjIuODkyaC0zNy43MDl6bS0zNi40OTEgNzEuMzAyaDc0LjE5OXYxOS4wNThoLTc0LjE5OXptNzguMjE1LTM0LjA1OGM1LjU2OSAwIDEwLjAxNCA0LjgxOCA5LjQ4NCAxMC40My0uNDczIDQuODg0LTQuNTkgOC42MjctOS40ODQgOC42MjdoLTc4LjIxNXYtMTkuMDU4YzI2LjExMi4wMDEgNTIuMTY3LjAwMSA3OC4yMTUuMDAxem0tNzguMjE1IDY4LjExNmg3OC4yMTVjNS41MzcgMCAxMC4wMTYgNC43OTYgOS40ODQgMTAuNDMtLjQ3MiA0Ljg3NC00LjU4NyA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1em0xMTAuNjkgMzMuNjY5aC0yMS40OXYtMi4yMTNjMTguMDE0LTkuMTI3IDE4LjA1NC0zNC43MDggMC00My44NTV2LTI0LjI2YzE4LjA5OC05LjE3IDE3Ljk2OC0zNC43NTIgMC00My44NTV2LTI1LjQ5M2MwLTIwLjQ4Ni0xOC4yMDItMzYuNTE3LTM4Ljc5NC0zMy40OS0xNi4zNTMgMi40LTI4LjkxNSAxNi41MjYtMjguOTE1IDMzLjQ5djIyLjg5MmgtMjEuNDl2LTIxLjgzN2MwLTMwLjU1MiAyNC40Ni01Ni4wOTQgNTQuODIyLTU2LjM4NiAzMS4yMTgtLjI2MiA1NS44NjcgMjUuMDU4IDU1Ljg2NyA1NS4zMzF6bS0yMzYuMzc3LTExNi43ODV2LTIxLjgzOGMwLTMyLjIyNCAyNi42OTYtNTcuNTgzIDU3LjU4OS01Ni4zNDIgMjkuNDgzIDEuMjA0IDUzLjA5OSAyNS41MDMgNTMuMDk5IDU1LjI4N3YxMzkuNjc3aC0yMS40OWMwLTE0LjQxOCAwLTEyMS4wNjMgMC0xMzkuNjc3IDAtMTcuOTUtMTQuMDY1LTMyLjgwNC0zMS45MTUtMzMuNzk1LTE5LjI3Ni0xLjA5Ni0zNS43OTMgMTQuMjYxLTM1Ljc5MyAzMy43OTV2MjIuODkyaC0yMS40OXptMzYuNDkgMHYtMjIuMjQ1YzAtOS40MjUgNi43NjItMTcuNzI0IDE1Ljg3Ny0xOS4yNDMgMTEuNjM5LTEuODUyIDIxLjgzIDcuMjM3IDIxLjgzIDE4LjU5NnYyMi44OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Kae="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjE2LDI1MkgxMTZjLTUuNTEsMC0xMCw0LjQ5LTEwLDEwczQuNDksMTAsMTAsMTBoMTAwYzUuNTEsMCwxMC00LjQ5LDEwLTEwUzIyMS41MSwyNTIsMjE2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1MmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMHMxMC00LjQ5LDEwLTEwUzI2MS41MSwyNTIsMjU2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMzk2LDI1MkgyOTZjLTUuNTEsMC0xMCw0LjQ5LTEwLDEwczQuNDksMTAsMTAsMTBoMTAwYzUuNTEsMCwxMC00LjQ5LDEwLTEwUzQwMS41MSwyNTIsMzk2LDI1MnoiLz4KICAgICAgICA8cGF0aCBkPSJNMjg2LDEwN2gtNjBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NjBjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg2MGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi02MAoJCQlDMjk2LDExMS40NzcsMjkxLjUyMywxMDcsMjg2LDEwN3ogTTI3NiwxNjdoLTQwdi00MGg0MFYxNjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMiw0OTJoLTEzVjIzM2MwLTYyLjIzNy0yNC4yMzYtMTIwLjc0OC02OC4yNDQtMTY0Ljc1NkMzNzYuNzQ4LDI0LjIzNiwzMTguMjM3LDAsMjU2LDBTMTM1LjI1MiwyNC4yMzYsOTEuMjQ0LDY4LjI0NAoJCQlTMjMsMTcwLjc2MywyMywyMzN2MjU5SDEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwczQuNDc3LDEwLDEwLDEwaDQ5MmM1LjUyMywwLDEwLTQuNDc3LDEwLTEwUzUwNy41MjMsNDkyLDUwMiw0OTJ6IE0zODYsNDkySDEyNgoJCQl2LTIwaDI2MFY0OTJ6IE0zODYsNDUySDEyNnYtMjBoMjYwVjQ1MnogTTM4Niw0MTJIMTI2di0yMGgyNjBWNDEyeiBNMzg2LDM3MkgxMjZ2LTIwaDI2MFYzNzJ6IE0zODYsMzMySDEyNnYtMjBoMjYwVjMzMnoKCQkJIE00MjksNDkyaC0yM1YzMDJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMEgxMTZjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTkwSDgzVjIzM2MwLTk1LjY2OCw3Ny4zODMtMTczLjUsMTcyLjUtMTczLjUKCQkJQzM1MS4xNjgsNTkuNSw0MjksMTM3LjMzMiw0MjksMjMzVjQ5MnogTTQ2OSw0OTJoLTIwVjIzM2MwLTEwNi42OTYtODYuODA0LTE5My41LTE5My41LTE5My41CgkJCWMtNTEuNjM5LDAtMTAwLjA2MywyMC4xMzctMTM2LjM1Miw1Ni43MDJDODIuOTQsMTMyLjY4NCw2MywxODEuMjY3LDYzLDIzM3YyNTlINDNWMjMzYzAtMTE3LjQ0OSw5NS41NTEtMjEzLDIxMy0yMTMKCQkJczIxMyw5NS41NTEsMjEzLDIxM1Y0OTJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",qae="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im01MDguNTQxIDIxOC4zODQtMTYyLjUwNy0yMDMuMTM0Yy03Ljc1My05LjY5Mi0xOS4zMTgtMTUuMjUtMzEuNzI5LTE1LjI1aC04My4xNTVjLTguNzAzIDAtMTUuNzgzIDcuMDgtMTUuNzgzIDE1Ljc4M3YxNi41NjdjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDMzLjkxN3YxMTcuNTMzaC0zMC42MzJsLTEyMC4zMzQtMTUwLjQxNmMtNy43NTMtOS42OTEtMTkuMzE4LTE1LjI1LTMxLjcyOS0xNS4yNWgtNjYuNTg5Yy04LjcwMyAwLTE1Ljc4MyA3LjA4LTE1Ljc4MyAxNS43ODN2MTYuNTY3YzAgOC43MDMgNy4wOCAxNS43ODMgMTUuNzgzIDE1Ljc4M2gxNy4zNXYxMTcuNTMzaC0xNy4zNWMtOC43MDMuMDAxLTE1Ljc4MyA3LjA4MS0xNS43ODMgMTUuNzg0djMwNi40ODNjMCAxMy4yNzEgMTAuNzk2IDI0LjA2NyAyNC4wNjcgMjQuMDY3aDQ3Mi4xNWM4LjcwMyAwIDE1Ljc4My03LjA4IDE1Ljc4My0xNS43ODN2LTc0LjU1LTE0My4yODktNTAuMTM0YzAtMy41NzEtMS4yMjgtNy4wNzMtMy40NTktOS44NnptLTYyLjAyNCAxOTUuNzgzYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtNzQuNTUtMTIxLjkwOGwxOC4xMzQgMjIuNjY3djE3NC41NzR6bS0yMzEuOTM0IDBjLS40MzIgMC0uNzg0LS4zNTItLjc4NC0uNzgzdi02Ny4wNWgxOC4xMzN2NjcuODMzem0tNjYuMjY2LTgyLjgzNGMtLjQzMiAwLS43ODQtLjM1Mi0uNzg0LS43ODR2LTY3LjA0OWgxOC4xMzN2NjcuODMzem0tNjYuMjY3LTgyLjgzM2MtLjQzMiAwLS43ODMtLjM1Mi0uNzgzLS43ODN2LTY3LjA1aDE4LjEzM3Y2Ny44MzN6bTgzLjYxNi05MS43NDF2OC45MDhoLTE4LjEzM3YtMzEuNTc0em02Ni4yNjcgODIuODMzdjguOTA4aC0xOC4xMzN2LTMxLjU3NHptODEuMjY3IDguMTI1di0xOTYuNDI4Yy4wNzIuMDg0LjE1Mi4xNi4yMjIuMjQ3bDE3LjkxMSAyMi4zODl2MTc0LjU3NWgtMTcuMzVjLS40MzEgMC0uNzgzLS4zNTItLjc4My0uNzgzem0xMTcuNTMzIDUwLjQ4M2gtMTguMTMzdi0xMjIuNjkxbDE4LjEzNCAyMi42Njd2MTAwLjAyNHptLTE4LjEzMyAxNWgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bS0xNSAxOC4xMzNoLTE3LjM1Yy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4NHYtNzQuNTQ5LTEyMS45MDhsMTguMTMzIDIyLjY2NnptLTMzLjEzMy0xMTUuOTY2aC0xOC4xMzR2LTEyMi42OTFsMTguMTM0IDIyLjY2N3ptLTE4LjEzNCAxNWgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bTE4LjEzNCAzMy4xMzN2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzg0aC04NC40NHYtNTIuOTU1LTE0Ljg3OXptLTk5LjQwMSAxNy41MDl2MTAwLjAyNGgtMTguMTMzdi0xMjIuNjkxbDUuMDg2IDYuMzU3em0tMTUwLjY2Ni0xODguMzMzIDE4LjEzMyAyMi42Njd2MTAwLjAyNGgtMTguMTMzem0zMy4xMzMgODcuOTkxaDE4LjEzM3Y2Ny44MzNoLTE4LjEzM3ptMzMuMTMzLTUuMTU4IDE4LjEzMyAyMi42Njd2MTAwLjAyNGgtMTguMTMzem0zMy4xMzQgODcuOTkxaDE4LjEzM3Y2Ny44MzNoLTE4LjEzM3ptLTExNC40LTk3LjgzM2gtMTguMTMzdi0xMTQuMzc4Yy4wNzMuMDg0LjE1Mi4xNi4yMjIuMjQ3bDE3LjkxMSAyMi4zOXptMTUgNjQuN2gxOC4xMzN2MTguMTMzaC0xOC4xMzN6bTY2LjI2NiA4Mi44MzNoMTguMTM0djE4LjEzM2gtMTguMTMzdi0xOC4xMzN6bTY2LjI2NyA4Mi44MzNoMTguMTMzdjE4LjEzM2gtMTguMTMzem0zMy4xMzMtNDkuN2gxNTAuNjY3djY3LjA1YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMTUwLjcwN3ptMjA3LjMxNi03Ny4zNDYgOS42MTggMTIuMDIydjEwMC4wMjRoLTE4LjEzM3YtMTIyLjY5em0tOC41MTUgMTI3LjA0NmgxOC4xMzN2MTguMTMzaC0xOC4xMzN6bS0yNDguNS0zNjMuNjgzdi0xNi41NjdjMC0uNDMyLjM1Mi0uNzgzLjc4My0uNzgzaDgzLjE1NWM3LjgzIDAgMTUuMTI1IDMuNTA2IDIwLjAxNyA5LjYybDE2Mi41MDcgMjAzLjEzNGMwIC4wMDEuMDAxLjAwMS4wMDIuMDAyLjEwOS4xMzcuMTcuMzExLjE3LjQ4OHYyOC43NTNsLTE3MS44NjYtMjE0LjgzMWMtNC41OTMtNS43NC0xMS40NDItOS4wMzItMTguNzkzLTkuMDMyaC0uNjQyLTc0LjU1Yy0uNDMyLS4wMDEtLjc4My0uMzUyLS43ODMtLjc4NHptNjcuODMzIDE1Ljc4M3Y4NC40aC0xOC4xMzR2LTg0LjR6bS0xOC4xMzQgOTkuNGgxOC4xMzR2MTguMTMzaC0xOC4xMzR6bTE4LjEzNCAzMy4xMzR2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0xOC4xNzR2LTIwLjI1NmMwLTMuNTctMS4yMjgtNy4wNzItMy40NTgtOS44NTkgMC0uMDAxIDAtLjAwMSAwLS4wMDFsLTMwLjE3NC0zNy43MThoNTEuNzY2em0tMjgzLjItMTQ4LjMxN3YtMTYuNTY3YzAtLjQzMS4zNTItLjc4My43ODMtLjc4M2g2Ni41ODhjNy44MyAwIDE1LjEyNSAzLjUwNiAyMC4wMTYgOS42MmwxNjIuNTA4IDIwMy4xMzRjLjExLjEzOC4xNzEuMzEzLjE3MS40OXYyOC43NTRsLTE3MS44NjUtMjE0LjgzMmMtNC41OTItNS43NC0xMS40NDItOS4wMzMtMTguNzkzLTkuMDMzaC0uNjQyLTU3Ljk4M2MtLjQzMSAwLS43ODMtLjM1MS0uNzgzLS43ODN6bTUxLjI2NyAxNS43ODN2ODQuNGgtMTguMTM0di04NC40em0tMTguMTM0IDk5LjRoMTguMTMzdjE4LjEzM2gtMTguMTMzem0tMjQuMDY2IDM0OS40NjdjLTUgMC05LjA2Ny00LjA2Ny05LjA2Ny05LjA2N3YtMzA2LjQ4M2MwLS40MzIuMzUyLS43ODQuNzgzLS43ODRoNTAuNDgzdjY3LjA1YzAgOC43MDMgNy4wOCAxNS43ODMgMTUuNzgzIDE1Ljc4M2g1MC40ODN2NjcuMDVjMCA4LjcwMyA3LjA4MSAxNS43ODQgMTUuNzg0IDE1Ljc4NGg1MC40ODR2NjcuMDVjMCA4LjcwMyA3LjA4MSAxNS43ODMgMTUuNzg0IDE1Ljc4M2g1MC40ODN2NjcuMDVjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzaC0yNDAuMjE3em00NzIuOTMzLS43ODNjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzaC0yMTYuMTljLjAxMy0uMjYxLjA0LS41MTkuMDQtLjc4M3YtNjcuMDVoMjE2LjkzM3oiLz4KICAgIDwvZz4KPC9zdmc+",ece="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDEuOTk4LDMwLjU5OGgtMTUyYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjQwLjAwM2MwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDIwLjAwMXY3NC43OTRoLTE5MAoJCQkJYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjQwLjAwMmMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwSDIwMHY3NC43OTZIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAxYzAsNS41MjMsNC40NzcsMTAsMTAsMTAKCQkJCWgxMy45OTZWNDcxLjRjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGgxODEuNzZjMi4yNTYsMCw0LjQ0NS0wLjc2Myw2LjIxMy0yLjE2NWwyODYuMjQzLTIyNi45NzIKCQkJCWMyLjM5Mi0xLjg5NiwzLjc4Ni00Ljc4MiwzLjc4Ni03LjgzNVY4MC42MDFWNDAuNTk4QzUxMS45OTgsMzUuMDc1LDUwNy41MjIsMzAuNTk4LDUwMS45OTgsMzAuNTk4eiBNMTg5Ljk5OSwyMDUuMzk3di0yMC4wMDIKCQkJCWgxODB2MjAuMDAySDE4OS45OTl6IE0yMCwzNDAuMTk0di0yMC4wMDFoMTgwdjIwLjAwMUgyMHogTTQ5MS45OTgsMTA5Ljg3OWgtNDEuMDM1Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwCgkJCQljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg0MS4wMzV2MTA5LjcxNUwyMTIuMjcxLDQ2MS40SDQzLjk5NnYtNjIuMjUzaDQxLjAzNmM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwcy00LjQ3OC0xMC0xMC0xMEg0My45OTYKCQkJCXYtMTguOTUzSDIxMGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi00MC4wMDF2LTg0Ljc5NmgxNTkuOTk5YzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTQwLjAwMlY5MC42MDFoMTAxLjk5OVYxMDkuODc5egoJCQkJIE00OTEuOTk4LDcwLjYwMWgtMTMyVjUwLjU5OGgxMzJWNzAuNjAxeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMTQsMzc5LjE0NGgtMC4yMzZjLTUuNTI0LDAtMTAsNC40NzctMTAsMTBzNC40NzYsMTAsMTAsMTBIMTE0YzUuNTIyLDAsMTAtNC40NzcsMTAtMTBTMTE5LjUyMiwzNzkuMTQ0LDExNCwzNzkuMTQ0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjEuOTk4LDEyOS44OGgwLjIzNWM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwcy00LjQ3OC0xMC0xMC0xMGgtMC4yMzVjLTUuNTIzLDAtMTAsNC40NzctMTAsMTAKCQkJCVM0MTYuNDc1LDEyOS44OCw0MjEuOTk4LDEyOS44OHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",tce="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNS41MTggNjRoMi45ODZjLjU1MyAwIDEtLjQ0NyAxLTF2LTIuMDIxaDQ0Ljk5MnYyLjAyMWMwIC41NTMuNDQ3IDEgMSAxaDNjLjU1MyAwIDEtLjQ0NyAxLTF2LTYwLjVjMC0xLjM3OC0xLjEyMS0yLjUtMi41LTIuNXMtMi41IDEuMTIyLTIuNSAyLjV2MTUuNTA0aC0yLjk5OHYtMTMuOTk2YzAtLjU1Mi0uNDQ3LTEtMS0xaC0xNS45OTZjLS41NTMgMC0xIC40NDgtMSAxdjEzLjk5NWgtMy4wMDJ2LTEzLjk5NWMwLS41NTItLjQ0Ny0xLTEtMWgtMTUuOTk2Yy0uNTUzIDAtMSAuNDQ4LTEgMXYxMy45OTVoLTN2LTE1LjUwM2MwLTEuMzc4LTEuMTIxLTIuNS0yLjUtMi41cy0yLjUgMS4xMjItMi41IDIuNWwuMDE0IDYwLjVjMCAuNTUzLjQ0NyAxIDEgMXptNTAuOTc4LTYxLjVjMC0uMjc2LjIyNS0uNS41LS41cy41LjIyNC41LjV2NTkuNWgtMXptLTE0Ljk5OCAyLjUwOGgyLjAwMnYxLjAwOGgtMi4wMDJ6bS01Ljk5NiAwaDMuOTk2djIuMDA4YzAgLjU1Mi40NDcgMSAxIDFoNC4wMDJjLjU1MyAwIDEtLjQ0OCAxLTF2LTIuMDA4aDMuOTk4djEyLjk5NWgtMTMuOTk2em0tMTUuMDAyIDBoMnYxLjAwOGgtMnptLTUuOTk2IDBoMy45OTZ2Mi4wMDhjMCAuNTUyLjQ0NyAxIDEgMWg0Yy41NTMgMCAxLS40NDggMS0xdi0yLjAwOGg0djEyLjk5NWgtMTMuOTk2em0tNSAxNC45OTVoNCAxNS45OTYgNS4wMDIgMTUuOTk2IDMuOTk4djFoLTQ0Ljk5MnptMCAzaDQ0Ljk5MnYxMy45NzFoLTIuOTk2di0xMC45OWMwLS41NTItLjQ0Ny0xLTEtMWgtMzdjLS41NTMgMC0xIC40NDgtMSAxdjEwLjk5MWgtMi45OTZ6bTE5Ljk5NiA2Ljk4MWg1Yy41NTMgMCAxLS40NDggMS0xdi0yaDE0djkuOTkxaC0zNXYtOS45OTFoMTR2MmMwIC41NTIuNDQ3IDEgMSAxem0xLTJ2LTFoM3Yxem0tMjAuOTk2IDEwLjk5MWgzLjk5NiAzNyAzLjk5NnYxLjAwMmgtNDQuOTkyem0wIDMuMDAyaDQ0Ljk5MnYxNGgtMi45OTR2LTExLjk5YzAtLjU1My0uNDQ3LTEtMS0xaC0xNC4wMDJjLS41NTMgMC0xIC40NDctMSAxdjExLjk5aC0yLjk5NHYtOC45ODhjMC0uNTUzLS40NDctMS0xLTFoLTYuOTk0Yy0uMDA0IDAtLjAwNi0uMDAyLS4wMS0uMDAycy0uMDA2LjAwMi0uMDEuMDAyaC0zLjk4MmMtLjAwNCAwLS4wMDYtLjAwMi0uMDEtLjAwMnMtLjAwNi4wMDItLjAxLjAwMmgtNi45ODZjLS41NTMgMC0xIC40NDctMSAxdjguOTg4aC0zem0zMS45OTYgNi4wMTdoNC4wMDJjLjU1MyAwIDEtLjQ0NyAxLTF2LTIuMDA4aDN2MTAuOTloLTEyLjAwMnYtMTAuOTloM3YyLjAwOGMwIC41NTMuNDQ3IDEgMSAxem0xLTJ2LTEuMDA4aDIuMDAydjEuMDA4em0tMjIgNWg0LjAwMmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMDZoNS4wMDR2Ny45ODhoLTE2LjAwMnYtNy45ODhoNC45OTZ2Mi4wMDZjMCAuNTUzLjQ0NyAxIDEgMXptMS0ydi0xLjAwNmgyLjAwMnYxLjAwNnptLTExLjk5NiA4Ljk4M2g0IDE4LjAwMiA0Ljk5NCAxNC4wMDIgMy45OTR2MS4wMDJoLTQ0Ljk5MnptLTIuNS01NS45NzdjLjI3NSAwIC41LjIyNC41LjV2NTkuNWgtLjk4NmwtLjAxNC01OS41YzAtLjI3Ni4yMjUtLjUuNS0uNXoiLz4KICAgIDwvZz4KPC9zdmc+",sce="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjMgM3YtMmgtMzFjLS41NTMgMC0xIC40NDctMSAxdjhjMCAuNTUzLjQ0NyAxIDEgMWgxdjUwaC0zMnYyaDMzIDQgOCA0IDEzdi0yaC0xMnYtNWgxMnYtMmgtMTMtNC0zdi0yaDIwdi0yaC0yMWMtLjU1MyAwLTEgLjQ0Ny0xIDF2NGMwIC41NTMuNDQ3IDEgMSAxaDN2NWgtNnYtNTBoMjR2LTJoLTI1LTQtMXYtNnptLTE2IDUzaDJ2NWgtMnptLTEwLTQ1djUwaC0ydi01MHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjEgMzJjMC0yLjExOC0uNTAxLTQuMjM4LTEuNDQ3LTYuMTMxbC0uNjU4LTEuMzE2Yy0uMzQtLjY3OC0xLjQ0OS0uNjc4LTEuNzg5IDBsLS42NTggMS4zMTZjLS45NDcgMS44OTMtMS40NDggNC4wMTMtMS40NDggNi4xMzEgMCAuMjQxLjAyOS40ODEuMDQyLjcyMi0uNjQ2LS40ODMtMS4zODMtLjgzNy0yLjE3Mi0xLjAzNGwtMi42MjgtLjY1N2MtLjMzOC0uMDg3LS43MDEuMDE1LS45NDkuMjYzcy0uMzQ5LjYwOC0uMjYzLjk0OWwuNjU3IDIuNjI5Yy4yNjkgMS4wNzMuODIzIDIuMDU1IDEuNjA1IDIuODM2Ljc4MS43ODIgMS43NjMgMS4zMzcgMi44MzYgMS42MDVoLjAwMWwuNjcyLjE2OC0xLjI1LjYyNS44OTUgMS43ODkgMi41NTQtMS4yNzd2Mi4zODJoLTdjLS41NTMgMC0xIC40NDctMSAxdjRjMCAuNTUzLjQ0NyAxIDEgMWgxLjA5NWwuOTEgOS4xYy4wNTEuNTEuNDgxLjkuOTk1LjloMTBjLjUxNCAwIC45NDQtLjM5Ljk5NS0uOWwuOTEtOS4xaDEuMDk1Yy41NTMgMCAxLS40NDcgMS0xdi00YzAtLjU1My0uNDQ3LTEtMS0xaC03di0yLjM4MmwyLjU1MyAxLjI3Ni44OTUtMS43ODktMS4yNS0uNjI1LjY3Mi0uMTY4aC4wMDFjMS4wNzMtLjI2OSAyLjA1NS0uODIzIDIuODM2LTEuNjA1Ljc4Mi0uNzgxIDEuMzM3LTEuNzYzIDEuNjA1LTIuODM3bC42NTctMi42MjhjLjA4Ni0uMzQxLS4wMTUtLjcwMS0uMjYzLS45NDlzLS42MDktLjM1LS45NDktLjI2M2wtMi42MjkuNjU3Yy0uNzg4LjE5Ny0xLjUyNS41NTEtMi4xNzEgMS4wMzQuMDE0LS4yNC4wNDMtLjQ4LjA0My0uNzIxem0xLjA5NSAyNWgtOC4xODlsLS44LThoOS43OXptMi45MDUtMTBoLTE0di0yaDE0em0tNy0xOS43MzRjLjY1NSAxLjQ4NSAxIDMuMTEgMSA0LjczNHMtLjM0NSAzLjI0OS0xIDQuNzM0Yy0uNjU1LTEuNDg1LTEtMy4xMS0xLTQuNzM0cy4zNDUtMy4yNDkgMS00LjczNHptLTUuMjkzIDkuMDI3Yy0uNTI1LS41MjUtLjg5OC0xLjE4Ni0xLjA4LTEuOTA3bC0uMjUyLTEuMDExIDEuMDEuMjUyYy43MjMuMTgyIDEuMzgzLjU1NSAxLjkwOCAxLjA4cy44OTggMS4xODYgMS4wOCAxLjkwN2wuMjUyIDEuMDExLTEuMDEtLjI1MmMtLjcyMi0uMTgyLTEuMzgzLS41NTUtMS45MDgtMS4wOHptMTAuOTA3LTIuNjY2IDEuMDExLS4yNTItLjI1MiAxLjAxYy0uMTgyLjcyMy0uNTU1IDEuMzgzLTEuMDggMS45MDhzLTEuMTg2Ljg5OC0xLjkwOCAxLjA4bC0xLjAxLjI1Mi4yNTItMS4wMWMuMTgyLS43MjMuNTU1LTEuMzgzIDEuMDgtMS45MDhzMS4xODYtLjg5OCAxLjkwNy0xLjA4eiIvPgogICAgICAgIDxwYXRoIGQ9Im01IDE1aDEzYzIuNzU3IDAgNS0yLjI0MyA1LTVzLTIuMjQzLTUtNS01Yy0uNDM4IDAtLjg3Ny4wNjEtMS4zMDMuMTgtLjc2Ni0yLjQ1NS0zLjAyMy00LjE4LTUuNjk3LTQuMTgtMy4zMDkgMC02IDIuNjkxLTYgNi0yLjIwNiAwLTQgMS43OTQtNCA0czEuNzk0IDQgNCA0em0wLTZjLjI3IDAgLjUzMy4wNTQuNzgzLjE2LjM1Mi4xNDcuNzU2LjA4NSAxLjA0My0uMTYzLjI4OC0uMjQ4LjQxMS0uNjM5LjMxNy0xLjAwNy0uMDk4LS4zNzctLjE0My0uNjkyLS4xNDMtLjk5IDAtMi4yMDYgMS43OTQtNCA0LTQgMi4wODEgMCAzLjc4NCAxLjU3NCAzLjk2MSAzLjY2Mi4wMjguMzQ1LjIzMy42NDguNTQuODA2LjMwOC4xNTguNjc1LjE0NS45Ny0uMDMyLjQ4My0uMjkuOTk3LS40MzYgMS41MjktLjQzNiAxLjY1NCAwIDMgMS4zNDYgMyAzcy0xLjM0NiAzLTMgM2gtMTNjLTEuMTAzIDAtMi0uODk3LTItMnMuODk3LTIgMi0yeiIvPgogICAgPC9nPgo8L3N2Zz4=",ice="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTEsNTdINDguNDE0bC0uODc5LS44NzlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEtNS4xMTJDNTEuMTUzLDQ4LjU4Nyw1NS42MDcsNDEuOTM0LDU1Ljk1NywzNEg1NmExLDEsMCwwLDAsMS0xVjMwYTEsMSwwLDAsMC0xLTFINTIuNDY0YTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMtNEg1N2ExLDEsMCwwLDAsMS0xVjRhMSwxLDAsMCwwLTEtMUg0Ni44NDFBMTIuNywxMi43LDAsMCwwLDMzLjE1OSwzSDIzYTEsMSwwLDAsMC0xLDFWMjRhMSwxLDAsMCwwLDEsMWgyLjg2M2ExOS41ODIsMTkuNTgyLDAsMCwwLDEuNjczLDRIMjRhMSwxLDAsMCwwLTEsMXYzYTEsMSwwLDAsMCwxLDFoLjA0M2MuMzUsNy45MzQsNC44LDE0LjU4NywxMC44OTMsMTcuMDA5YTguNTg3LDguNTg3LDAsMCwxLTIuNDcxLDUuMTEyTDMxLjU4Niw1N0gyOWExLDEsMCwwLDAtMSwxdjRhMSwxLDAsMCwwLDEsMUg1MWExLDEsMCwwLDAsMS0xVjU4QTEsMSwwLDAsMCw1MSw1N1pNNTYsNVYyM0g1NC42MTFBMjEuNDQ3LDIxLjQ0NywwLDAsMCw1NSwxOSwxOS40OTMsMTkuNDkzLDAsMCwwLDQ5LjQwNyw1Wk0yNCwyM1Y1aDYuNTkzQTE5LjQ5MywxOS40OTMsMCwwLDAsMjUsMTlhMjEuNDQ3LDIxLjQ0NywwLDAsMCwuMzg5LDRabTMtNGMwLTguODIyLDUuODMyLTE2LDEzLTE2czEzLDcuMTc4LDEzLDE2YTE4LjQwNywxOC40MDcsMCwwLDEtMi44NzIsMTBINDcuNjgyQTE2LDE2LDAsMCwwLDUxLDE5YzAtNy43Mi00LjkzNS0xNC0xMS0xNFMyOSwxMS4yOCwyOSwxOWExNiwxNiwwLDAsMCwzLjMxOCwxMEgyOS44NzJBMTguNDA3LDE4LjQwNywwLDAsMSwyNywxOVptOC4wNjEsMTBBMTMuMzA4LDEzLjMwOCwwLDAsMSwzMSwxOWMwLTYuNjE3LDQuMDM3LTEyLDktMTJzOSw1LjM4Myw5LDEyYTEzLjMwOCwxMy4zMDgsMCwwLDEtNC4wNjEsMTBaTTI1LDMxSDU1djFIMjVabTEuMDQyLDNINTMuOTU4QzUzLjUyOCw0Mi45MDgsNDcuNDQyLDUwLDQwLDUwUzI2LjQ3Miw0Mi45MDgsMjYuMDQyLDM0Wk0zNi44NjQsNTEuNjI5YTEzLjQ0LDEzLjQ0LDAsMCwwLDYuMjcyLDBBMTAuNTM5LDEwLjUzOSwwLDAsMCw0NS42MzYsNTdIMzQuMzY0QTEwLjUzOSwxMC41MzksMCwwLDAsMzYuODY0LDUxLjYyOVpNNTAsNjFIMzBWNTlINTBaIi8+CiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgICAgICA8cGF0aCBkPSJNMjMsNTdoLS4wOEE3LjAxLDcuMDEsMCwwLDAsMTksNTEuNjg1VjQ4YTEsMSwwLDAsMC0xLTFIMTdWMjYuODE2YTMsMywwLDEsMC0yLDBWNDdIMTRhMSwxLDAsMCwwLTEsMXYzLjY4NUE3LjAxLDcuMDEsMCwwLDAsOS4wOCw1N0g5YTMsMywwLDAsMCwwLDZIMjNhMywzLDAsMCwwLDAtNlpNMTYsMjNhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsMTYsMjNaTTE1LDQ5aDJ2Mi4wOGE2LjI5LDYuMjksMCwwLDAtMiwwWm0xLDRhNS4wMDYsNS4wMDYsMCwwLDEsNSw1SDExQTUuMDA2LDUuMDA2LDAsMCwxLDE2LDUzWm03LDhIOWExLDEsMCwwLDEsMC0yLDEsMSwwLDAsMCwxLDFIMjJhMSwxLDAsMCwwLDEtMSwxLDEsMCwwLDEsMCwyWiIvPgogICAgICAgIDxwYXRoIGQ9Ik04LDE1YTEsMSwwLDAsMCwxLTEsNS4wMDYsNS4wMDYsMCwwLDEsNS01LDEsMSwwLDAsMCwwLTJBNS4wMDYsNS4wMDYsMCwwLDEsOSwyLDEsMSwwLDAsMCw3LDIsNS4wMDYsNS4wMDYsMCwwLDEsMiw3LDEsMSwwLDAsMCwyLDlhNS4wMDYsNS4wMDYsMCwwLDEsNSw1QTEsMSwwLDAsMCw4LDE1Wk01LjYsOEE3LjA2Niw3LjA2NiwwLDAsMCw4LDUuNiw3LjA2Niw3LjA2NiwwLDAsMCwxMC40LDgsNy4wNjYsNy4wNjYsMCwwLDAsOCwxMC40LDcuMDY2LDcuMDY2LDAsMCwwLDUuNiw4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4KICAgICAgICA8cGF0aCBkPSJNNjIsNDhhMywzLDAsMCwxLTMtMywxLDEsMCwwLDAtMiwwLDMsMywwLDAsMS0zLDMsMSwxLDAsMCwwLDAsMiwzLDMsMCwwLDEsMywzLDEsMSwwLDAsMCwyLDAsMywzLDAsMCwxLDMtMywxLDEsMCwwLDAsMC0yWm0tNCwyYTUuMDE3LDUuMDE3LDAsMCwwLTEtMSw1LjAxNyw1LjAxNywwLDAsMCwxLTEsNS4wMTcsNS4wMTcsMCwwLDAsMSwxQTUuMDE3LDUuMDE3LDAsMCwwLDU4LDUwWiIvPgogICAgPC9nPgo8L3N2Zz4K",oce="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOSA1MDkiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im0zNTkuMiAwdjg5LjhoLTg5LjgwMXY4OS44aC04OS44djg5LjhoLTg5Ljc5OXY4OS44aC04OS44djE0OS44aDUwOXYtNTA5em0xMTkuOCA0NzloLTQ0OXYtODkuOGg4OS44di04OS44aDg5Ljh2LTg5LjhoODkuOHYtODkuOGg4OS44di04OS44aDg5Ljh6Ii8+CiAgICAgICAgPHBhdGggZD0ibTY4LjQ0OCAxNzYuOTU2IDk0LjA0MS05NC4wNC0zLjYyOSA0My4wNjYgMjkuODk1IDIuNTE5IDguNTYyLTEwMS42MjYtMTAxLjYyNyA4LjU2MiAyLjUxOCAyOS44OTQgNDMuMDY4LTMuNjI4LTk0LjA0MSA5NC4wNHoiLz4KICAgIDwvZz4KPC9zdmc+",rce="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y0Mi42NjcKCQkJQzI0Ny40NjcsMzcuOTU2LDI0My42NDQsMzQuMTMzLDIzOC45MzMsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NzcuODY3LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjc2LjhjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzUzQ4Ni40LDgxLjUxLDQ4Ni40LDc2LjhWNDIuNjY3CgkJCUM0ODYuNCwzNy45NTYsNDgyLjU3NywzNC4xMzMsNDc3Ljg2NywzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE3OS4yLDBIOC41MzNDMy44MjMsMCwwLDMuODIzLDAsOC41MzN2NDk0LjkzM0MwLDUwOC4xNzcsMy44MjMsNTEyLDguNTMzLDUxMkgxNzkuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMKCQkJVjguNTMzQzE4Ny43MzMsMy44MjMsMTgzLjkxLDAsMTc5LjIsMHogTTE3MC42NjcsNDk0LjkzM2gtMTUzLjZWMTcuMDY3aDE1My42VjQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMzU4LjRIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxMzYuNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3CgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzY2LjkzM0M1MTIsMzYyLjIyMyw1MDguMTc3LDM1OC40LDUwMy40NjcsMzU4LjR6IE00OTQuOTMzLDQ5NC45MzNoLTMwNy4yVjM3NS40NjdoMzA3LjIKCQkJVjQ5NC45MzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2NwoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjguNTMzQzUxMiwzLjgyMyw1MDguMTc3LDAsNTAzLjQ2NywweiBNNDk0LjkzMywzNC4xMzNoLTMwNy4yVjE3LjA2N2gzMDcuMlYzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEzNi41MzMsMjQ3LjQ2N2gtMjUuNmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDI1LjZjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVMxNDEuMjQ0LDI0Ny40NjcsMTM2LjUzMywyNDcuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMzLDI0Ny40NjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YyNS42YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YyNTYKCQkJQzExOS40NjcsMjUxLjI5LDExNS42NDQsMjQ3LjQ2NywxMTAuOTMzLDI0Ny40Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsNDE4LjEzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDUxLjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVMzNzEuNjQ0LDQxOC4xMzMsMzY2LjkzMyw0MTguMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNDEuMzMzLDQxOC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxNy4wNjdjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCXYtMTcuMDY3QzM0OS44NjcsNDIxLjk1NiwzNDYuMDQ0LDQxOC4xMzMsMzQxLjMzMyw0MTguMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yCgkJCUMyOTguNjY3LDM3Ljk1NiwyOTQuODQ0LDM0LjEzMywyOTAuMTMzLDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywxMTkuNDY3Yy00NS45MzUsMC03Ni44LDE3LjE0My03Ni44LDQyLjY2N1YxNzkuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTcuMDY3djc2LjgKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcKCQkJQzM2Ni45MzMsMTM2LjYxLDMzNi4wNjgsMTE5LjQ2NywyOTAuMTMzLDExOS40Njd6IE0zNDkuODY3LDE3MC42NjdIMzMyLjhjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZIMjU2di03Ni44CgkJCWMwLTQuNzEtMy44MjMtOC41MzMtOC41MzMtOC41MzNIMjMwLjR2LTguNTMzYzAtMTIuNDA3LDIwLjkzMi0yNS42LDU5LjczMy0yNS42czU5LjczMywxMy4xOTMsNTkuNzMzLDI1LjZWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzQ5Ljg2NywxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNwoJCQljMCw0LjAxMSwyLjc5LDcuNDc1LDYuNzA3LDguMzM3YzE5LjI1MSw0LjIxNSwzMS42OTMsMTMuMTY3LDMxLjY5MywyMi44MDF2OC41MzNIMzMyLjhjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2NwoJCQlDNDI2LjY2NywxMzYuNjEsMzk1LjgwMiwxMTkuNDY3LDM0OS44NjcsMTE5LjQ2N3ogTTQwOS42LDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcKCQkJSDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3YzAtOS44MTMtNC43MzYtMTguNTc3LTEzLjM4LTI1LjU1N2MzNi40MzcsMC44MDIsNTYuMDQ3LDEzLjU0Miw1Ni4wNDcsMjUuNTU3CgkJCVYxNzAuNjY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MDkuNiwxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNwoJCQljMCw0LjAxMSwyLjc5LDcuNDc1LDYuNzA3LDguMzM3YzE5LjI1MSw0LjIxNSwzMS42OTMsMTMuMTY3LDMxLjY5MywyMi44MDF2OC41MzNoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjg1LjMzMwoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3CgkJCUM0ODYuNCwxMzYuNjEsNDU1LjUzNSwxMTkuNDY3LDQwOS42LDExOS40Njd6IE00NjkuMzMzLDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcKCQkJaDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1NwoJCQlWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMwoJCQljMCw0LjcwMi0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzYzE0LjExNCwwLDI1LjYtMTEuNDg2LDI1LjYtMjUuNgoJCQlTMzA0LjI0Nyw4NS4zMzMsMjkwLjEzMyw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM1OC40LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yCgkJCUMzNjYuOTMzLDM3Ljk1NiwzNjMuMTEsMzQuMTMzLDM1OC40LDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzU4LjQsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMKCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYKCQkJUzM3Mi41MTQsODUuMzMzLDM1OC40LDg1LjMzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDNDM1LjIsMzcuOTU2LDQzMS4zNzcsMzQuMTMzLDQyNi42NjcsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MjYuNjY3LDg1LjMzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcwMiwwLDguNTMzLDMuODMxLDguNTMzLDguNTMzCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42CgkJCVM0NDAuNzgxLDg1LjMzMyw0MjYuNjY3LDg1LjMzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDg2LjQsMzI0LjI2N0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzA3LjIKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YzMzIuOEM0OTQuOTMzLDMyOC4wOSw0OTEuMTEsMzI0LjI2Nyw0ODYuNCwzMjQuMjY3eiBNNDc3Ljg2NywzNTguNEgxODcuNzMzdi0xNy4wNjdoMjkwLjEzMwoJCQlWMzU4LjR6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ2OS4zMzMsMzkyLjUzM2gtMjU2Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2NjguMjY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNTYKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNjguMjY3QzQ3Ny44NjcsMzk2LjM1Niw0NzQuMDQ0LDM5Mi41MzMsNDY5LjMzMywzOTIuNTMzeiBNNDYwLjgsNDYwLjhIMjIxLjg2N3YtNTEuMkg0NjAuOAoJCQlWNDYwLjh6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Mce="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNTUuNzU4IDYxLTEuNTY5LTUuNTdjNC4wNTMtMi4yMDQgNi44MTEtNi41MDEgNi44MTEtMTEuNDN2LTFjMS4xMDMgMCAyLS44OTcgMi0ydi0yYzAtMS4xMDMtLjg5Ny0yLTItMnYtMTBjMS4xMDMgMCAyLS44OTcgMi0ydi0yYzAtMS4xMDMtLjg5Ny0yLTItMmgtMjZjLTEuMTAzIDAtMiAuODk3LTIgMnYyYzAgMS4xMDMuODk3IDIgMiAydjEwYy0xLjEwMyAwLTIgLjg5Ny0yIDJ2MmMwIDEuMTAzLjg5NyAyIDIgMnYxYzAgNC45MjkgMi43NTggOS4yMjYgNi44MTEgMTEuNDNsLTEuNTY5IDUuNTdoLTEzLjM0M2MtLjQ2NS0yLjI3OS0yLjQ4NC00LTQuODk5LTRoLTF2LTkuMDAzYzQuNjkzLTEuOTYzIDgtNi42IDgtMTEuOTk3di03aC0xOHYtNGg0djJoMnYtMmMwLTEuMTAzLS44OTctMi0yLTJoLTYtMS0xYy0xLjEwMyAwLTIgLjg5Ny0yIDJ2NGgtMnY3YzAgNS4zOTcgMy4zMDcgMTAuMDM0IDggMTEuOTk3djkuMDAzaC0xYy0yLjQxNCAwLTQuNDM0IDEuNzIxLTQuODk5IDRoLTUuMTAxdjJoNjR2LTJ6bS0yMC43NTktMzhoMjYuMDAxdjJoLTI2em0yLjAwMSA4aDR2LTJoLTR2LTJoMjJ2MTBoLTIyem0tMi4wMDEgOGgyNi4wMDF2MmgtMjZ6bTIuMDAxIDV2LTFoMjJ2MWMwIDYuMDY1LTQuOTM1IDExLTExIDExcy0xMS00LjkzNS0xMS0xMXptNi42NjEgMTIuMjRjMS4zNi40ODMgMi44MTYuNzYgNC4zMzkuNzZzMi45NzktLjI3NyA0LjMzOS0uNzZsMS4zNCA0Ljc2aC0xMS4zNTh6bS0zNi42NjEtMzEuMjRoMSAxdjRoLTJ6bTIwIDZ2MmgtMjJ2LTJ6bS0yMiA1di0xaDIydjFjMCA2LjA2NS00LjkzNSAxMS0xMSAxMXMtMTEtNC45MzUtMTEtMTF6bTggMTIuNjM3Yy45NjUuMjI5IDEuOTY2LjM2MyAzIC4zNjNzMi4wMzUtLjEzNCAzLS4zNjN2OC4zNjNoLTZ6bS0zIDEwLjM2M2gxMmMxLjMwMiAwIDIuNDAyLjgzOSAyLjgxNiAyaC0xNy42MzJjLjQxNC0xLjE2MSAxLjUxNC0yIDIuODE2LTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQgMjFoMjRjMS42NTQgMCAzLTEuMzQ2IDMtM3YtMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM2gtMjRjLTEuNjU0IDAtMyAxLjM0Ni0zIDN2MTRjMCAxLjY1NCAxLjM0NiAzIDMgM3ptLTEtMTdjMC0uNTUxLjQ0OC0xIDEtMWgyNGMuNTUyIDAgMSAuNDQ5IDEgMXYxNGMwIC41NTEtLjQ0OCAxLTEgMWgtMjRjLS41NTIgMC0xLS40NDktMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMCAyLjUxNWgydjE2Ljk3MWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC00LjU1NiAxMSkiLz4KICAgICAgICA8cGF0aCBkPSJtMjAgMi41MTVoMnYxNi45NzFoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzA3IC0uNzA3IC43MDcgLjcwNyAtMS42MjcgMTguMDcxKSIvPgogICAgICAgIDxwYXRoIGQ9Im0zNSA5aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzUgMTNoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyAxMWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzIDExaDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDUgM2gydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1IDdoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDMgNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTU1IDEzaDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNTUgMTdoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im01NyAxNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTUzIDE1aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+",nce="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTEsNTdINDguNDE0bC0uODc5LS44NzlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEtNS4xMTJDNTEuMTUzLDQ4LjU4Nyw1NS42MDcsNDEuOTM0LDU1Ljk1NywzNEg1NmExLDEsMCwwLDAsMS0xVjMwYTEsMSwwLDAsMC0xLTFINTIuNDY0YTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMtNEg1N2ExLDEsMCwwLDAsMS0xVjRhMSwxLDAsMCwwLTEtMUg0Ni44NDFBMTIuNywxMi43LDAsMCwwLDMzLjE1OSwzSDIzYTEsMSwwLDAsMC0xLDFWMjRhMSwxLDAsMCwwLDEsMWgyLjg2M2ExOS41ODIsMTkuNTgyLDAsMCwwLDEuNjczLDRIMjRhMSwxLDAsMCwwLTEsMXYzYTEsMSwwLDAsMCwxLDFoLjA0M2MuMzUsNy45MzQsNC44LDE0LjU4NywxMC44OTMsMTcuMDA5YTguNTg3LDguNTg3LDAsMCwxLTIuNDcxLDUuMTEyTDMxLjU4Niw1N0gyOWExLDEsMCwwLDAtMSwxdjRhMSwxLDAsMCwwLDEsMUg1MWExLDEsMCwwLDAsMS0xVjU4QTEsMSwwLDAsMCw1MSw1N1pNNTYsNVYyM0g1NC42MTFBMjEuNDQ3LDIxLjQ0NywwLDAsMCw1NSwxOSwxOS40OTMsMTkuNDkzLDAsMCwwLDQ5LjQwNyw1Wk0yNCwyM1Y1aDYuNTkzQTE5LjQ5MywxOS40OTMsMCwwLDAsMjUsMTlhMjEuNDQ3LDIxLjQ0NywwLDAsMCwuMzg5LDRabTMtNGMwLTguODIyLDUuODMyLTE2LDEzLTE2czEzLDcuMTc4LDEzLDE2YTE4LjQwNywxOC40MDcsMCwwLDEtMi44NzIsMTBINDcuNjgyQTE2LDE2LDAsMCwwLDUxLDE5YzAtNy43Mi00LjkzNS0xNC0xMS0xNFMyOSwxMS4yOCwyOSwxOWExNiwxNiwwLDAsMCwzLjMxOCwxMEgyOS44NzJBMTguNDA3LDE4LjQwNywwLDAsMSwyNywxOVptOC4wNjEsMTBBMTMuMzA4LDEzLjMwOCwwLDAsMSwzMSwxOWMwLTYuNjE3LDQuMDM3LTEyLDktMTJzOSw1LjM4Myw5LDEyYTEzLjMwOCwxMy4zMDgsMCwwLDEtNC4wNjEsMTBaTTI1LDMxSDU1djFIMjVabTEuMDQyLDNINTMuOTU4QzUzLjUyOCw0Mi45MDgsNDcuNDQyLDUwLDQwLDUwUzI2LjQ3Miw0Mi45MDgsMjYuMDQyLDM0Wk0zNi44NjQsNTEuNjI5YTEzLjQ0LDEzLjQ0LDAsMCwwLDYuMjcyLDBBMTAuNTM5LDEwLjUzOSwwLDAsMCw0NS42MzYsNTdIMzQuMzY0QTEwLjUzOSwxMC41MzksMCwwLDAsMzYuODY0LDUxLjYyOVpNNTAsNjFIMzBWNTlINTBaIi8+CiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4KICAgICAgICA8cGF0aCBkPSJNMjMsNTdoLS4wOEE3LjAxLDcuMDEsMCwwLDAsMTksNTEuNjg1VjQ4YTEsMSwwLDAsMC0xLTFIMTdWMjYuODE2YTMsMywwLDEsMC0yLDBWNDdIMTRhMSwxLDAsMCwwLTEsMXYzLjY4NUE3LjAxLDcuMDEsMCwwLDAsOS4wOCw1N0g5YTMsMywwLDAsMCwwLDZIMjNhMywzLDAsMCwwLDAtNlpNMTYsMjNhMSwxLDAsMSwxLTEsMUExLDEsMCwwLDEsMTYsMjNaTTE1LDQ5aDJ2Mi4wOGE2LjI5LDYuMjksMCwwLDAtMiwwWm0xLDRhNS4wMDYsNS4wMDYsMCwwLDEsNSw1SDExQTUuMDA2LDUuMDA2LDAsMCwxLDE2LDUzWm03LDhIOWExLDEsMCwwLDEsMC0yLDEsMSwwLDAsMCwxLDFIMjJhMSwxLDAsMCwwLDEtMSwxLDEsMCwwLDEsMCwyWiIvPgogICAgICAgIDxwYXRoIGQ9Ik04LDE1YTEsMSwwLDAsMCwxLTEsNS4wMDYsNS4wMDYsMCwwLDEsNS01LDEsMSwwLDAsMCwwLTJBNS4wMDYsNS4wMDYsMCwwLDEsOSwyLDEsMSwwLDAsMCw3LDIsNS4wMDYsNS4wMDYsMCwwLDEsMiw3LDEsMSwwLDAsMCwyLDlhNS4wMDYsNS4wMDYsMCwwLDEsNSw1QTEsMSwwLDAsMCw4LDE1Wk01LjYsOEE3LjA2Niw3LjA2NiwwLDAsMCw4LDUuNiw3LjA2Niw3LjA2NiwwLDAsMCwxMC40LDgsNy4wNjYsNy4wNjYsMCwwLDAsOCwxMC40LDcuMDY2LDcuMDY2LDAsMCwwLDUuNiw4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4KICAgICAgICA8cGF0aCBkPSJNNjIsNDhhMywzLDAsMCwxLTMtMywxLDEsMCwwLDAtMiwwLDMsMywwLDAsMS0zLDMsMSwxLDAsMCwwLDAsMiwzLDMsMCwwLDEsMywzLDEsMSwwLDAsMCwyLDAsMywzLDAsMCwxLDMtMywxLDEsMCwwLDAsMC0yWm0tNCwyYTUuMDE3LDUuMDE3LDAsMCwwLTEtMSw1LjAxNyw1LjAxNywwLDAsMCwxLTEsNS4wMTcsNS4wMTcsMCwwLDAsMSwxQTUuMDE3LDUuMDE3LDAsMCwwLDU4LDUwWiIvPgogICAgPC9nPgo8L3N2Zz4K",ace="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWNzYuOGMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWNDIuNjY3CgkJCUMyNDcuNDY3LDM3Ljk1NiwyNDMuNjQ0LDM0LjEzMywyMzguOTMzLDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDc3Ljg2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1M0ODYuNCw4MS41MSw0ODYuNCw3Ni44VjQyLjY2NwoJCQlDNDg2LjQsMzcuOTU2LDQ4Mi41NzcsMzQuMTMzLDQ3Ny44NjcsMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xNzkuMiwwSDguNTMzQzMuODIzLDAsMCwzLjgyMywwLDguNTMzdjQ5NC45MzNDMCw1MDguMTc3LDMuODIzLDUxMiw4LjUzMyw1MTJIMTc5LjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzCgkJCVY4LjUzM0MxODcuNzMzLDMuODIzLDE4My45MSwwLDE3OS4yLDB6IE0xNzAuNjY3LDQ5NC45MzNoLTE1My42VjE3LjA2N2gxNTMuNlY0OTQuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDM1OC40SDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTM2LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2NwoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjM2Ni45MzNDNTEyLDM2Mi4yMjMsNTA4LjE3NywzNTguNCw1MDMuNDY3LDM1OC40eiBNNDk0LjkzMyw0OTQuOTMzaC0zMDcuMlYzNzUuNDY3aDMwNy4yCgkJCVY0OTQuOTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDBIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMyNC4yNjcKCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y4LjUzM0M1MTIsMy44MjMsNTA4LjE3NywwLDUwMy40NjcsMHogTTQ5NC45MzMsMzQuMTMzaC0zMDcuMlYxNy4wNjdoMzA3LjJWMzQuMTMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMzYuNTMzLDI0Ny40NjdoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNS42YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQlTMTQxLjI0NCwyNDcuNDY3LDEzNi41MzMsMjQ3LjQ2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzMywyNDcuNDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MjUuNmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWMjU2CgkJCUMxMTkuNDY3LDI1MS4yOSwxMTUuNjQ0LDI0Ny40NjcsMTEwLjkzMywyNDcuNDY3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNjYuOTMzLDQxOC4xMzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1MS4yYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQlTMzcxLjY0NCw0MTguMTMzLDM2Ni45MzMsNDE4LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMzQxLjMzMyw0MTguMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTcuMDY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzMwoJCQl2LTE3LjA2N0MzNDkuODY3LDQyMS45NTYsMzQ2LjA0NCw0MTguMTMzLDM0MS4zMzMsNDE4LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDMjk4LjY2NywzNy45NTYsMjk0Ljg0NCwzNC4xMzMsMjkwLjEzMywzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsMTE5LjQ2N2MtNDUuOTM1LDAtNzYuOCwxNy4xNDMtNzYuOCw0Mi42NjdWMTc5LjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDE3LjA2N3Y3Ni44CgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNIMzMyLjhjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44SDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3CgkJCUMzNjYuOTMzLDEzNi42MSwzMzYuMDY4LDExOS40NjcsMjkwLjEzMywxMTkuNDY3eiBNMzQ5Ljg2NywxNzAuNjY3SDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWMjU2SDI1NnYtNzYuOAoJCQljMC00LjcxLTMuODIzLTguNTMzLTguNTMzLTguNTMzSDIzMC40di04LjUzM2MwLTEyLjQwNywyMC45MzItMjUuNiw1OS43MzMtMjUuNnM1OS43MzMsMTMuMTkzLDU5LjczMywyNS42VjE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM0OS44NjcsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcKCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzSDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTkuNzMzYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNzYuOGgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcKCQkJQzQyNi42NjcsMTM2LjYxLDM5NS44MDIsMTE5LjQ2NywzNDkuODY3LDExOS40Njd6IE00MDkuNiwxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3CgkJCUgzNTguNGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1NwoJCQlWMTcwLjY2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDA5LjYsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcKCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzaC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMKCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2NwoJCQlDNDg2LjQsMTM2LjYxLDQ1NS41MzUsMTE5LjQ2Nyw0MDkuNiwxMTkuNDY3eiBNNDY5LjMzMywxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3CgkJCWgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcKCQkJVjE3MC42Njd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMKCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYKCQkJUzMwNC4yNDcsODUuMzMzLDI5MC4xMzMsODUuMzMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCwzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMgoJCQlDMzY2LjkzMywzNy45NTYsMzYzLjExLDM0LjEzMywzNTguNCwzNC4xMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTM1OC40LDg1LjMzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcwMiwwLDguNTMzLDMuODMxLDguNTMzLDguNTMzCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42CgkJCVMzNzIuNTE0LDg1LjMzMywzNTguNCw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQyNi42NjcsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2NTEuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTUxLjIKCQkJQzQzNS4yLDM3Ljk1Niw0MzEuMzc3LDM0LjEzMyw0MjYuNjY3LDM0LjEzM3oiLz4KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2Nyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMwoJCQljMCw0LjcwMi0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzYzE0LjExNCwwLDI1LjYtMTEuNDg2LDI1LjYtMjUuNgoJCQlTNDQwLjc4MSw4NS4zMzMsNDI2LjY2Nyw4NS4zMzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ4Ni40LDMyNC4yNjdIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMwNy4yCgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzMyLjhDNDk0LjkzMywzMjguMDksNDkxLjExLDMyNC4yNjcsNDg2LjQsMzI0LjI2N3ogTTQ3Ny44NjcsMzU4LjRIMTg3LjczM3YtMTcuMDY3aDI5MC4xMzMKCQkJVjM1OC40eiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NjkuMzMzLDM5Mi41MzNoLTI1NmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjY4LjI2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjU2CgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTY4LjI2N0M0NzcuODY3LDM5Ni4zNTYsNDc0LjA0NCwzOTIuNTMzLDQ2OS4zMzMsMzkyLjUzM3ogTTQ2MC44LDQ2MC44SDIyMS44Njd2LTUxLjJINDYwLjgKCQkJVjQ2MC44eiIvPgogICAgPC9nPgo8L3N2Zz4K",cce="PHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTE5NC44MzYgNThoLTExOS4zMjhjLTI0LjQ0NSAwLTQ0LjMzNiAxOS44ODktNDQuMzM2IDQ0LjMzNnYxMTkuMzI4YzAgMjQuNDQ3IDE5Ljg5MSA0NC4zMzYgNDQuMzM2IDQ0LjMzNmgxMTkuMzI4YzI0LjQ0NSAwIDQ0LjMzNi0xOS44ODkgNDQuMzM2LTQ0LjMzNnYtMTE5LjMyOGMwLTI0LjQ0Ny0xOS44OTEtNDQuMzM2LTQ0LjMzNi00NC4zMzZ6bTM2LjMzNiAxNjMuNjY0YzAgMjAuMDM1LTE2LjMwMSAzNi4zMzYtMzYuMzM2IDM2LjMzNmgtMTE5LjMyOGMtMjAuMDM1IDAtMzYuMzM2LTE2LjMwMS0zNi4zMzYtMzYuMzM2di0xMTkuMzI4YzAtMjAuMDM1IDE2LjMwMS0zNi4zMzYgMzYuMzM2LTM2LjMzNmgxMTkuMzI4YzIwLjAzNSAwIDM2LjMzNiAxNi4zMDEgMzYuMzM2IDM2LjMzNnoiLz4KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA3NGMtNDkuNjI1IDAtOTAgNDAuMzczLTkwIDkwczQwLjM3NSA5MCA5MCA5MCA5MC00MC4zNzMgOTAtOTAtNDAuMzc1LTkwLTkwLTkwem0wIDE3MmMtNDUuMjE1IDAtODItMzYuNzg1LTgyLTgyczM2Ljc4NS04MiA4Mi04MiA4MiAzNi43ODUgODIgODItMzYuNzg1IDgyLTgyIDgyeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzUuMTcyIDkwYy00MC44MDUgMC03NCAzMy4xOTUtNzQgNzRzMzMuMTk1IDc0IDc0IDc0IDc0LTMzLjE5NSA3NC03NC0zMy4xOTUtNzQtNzQtNzR6bTAgMTQwYy0zNi4zOTEgMC02Ni0yOS42MDctNjYtNjZzMjkuNjA5LTY2IDY2LTY2IDY2IDI5LjYwNyA2NiA2Ni0yOS42MSA2Ni02NiA2NnoiLz4KICAgICAgICA8cGF0aCBkPSJtNzkuMTcyIDEzOHYzMmMwIDIuMjA5IDEuNzg5IDQgNCA0aDEwNGMyLjIxMSAwIDQtMS43OTEgNC00di0zMmMwLTIuMjA5LTEuNzg5LTQtNC00aC0xMDRjLTIuMjExIDAtNCAxLjc5MS00IDR6bTggNGg5NnYyNGgtOTZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExNy4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEyOS4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+CiAgICAgICAgPHBhdGggZD0ibTE0NS4xNzIgMTUxLjQ3Yy0yLjUwMiAwLTQuNTMgMi4wMjgtNC41MyA0LjUzIDAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTMgMi41MDEgMCA0LjUzLTIuMDI4IDQuNTMtNC41My0uMDAxLTIuNTAyLTIuMDI5LTQuNTMtNC41My00LjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNTMuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjE5OS4xNzIiIGN5PSIzOCIgcj0iNCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMzkuMTcyIDQ2Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyczUuMzgzIDEyIDEyIDEyIDEyLTUuMzgzIDEyLTEyLTUuMzgzLTEyLTEyLTEyem0wIDE2Yy0yLjIwNyAwLTQtMS43OTUtNC00czEuNzkzLTQgNC00IDQgMS43OTUgNCA0LTEuNzkzIDQtNCA0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjQuODI4IDExMCAyLjgyOC0yLjgyOGMxLjU2Mi0xLjU2MiAxLjU2Mi00LjA5NCAwLTUuNjU2cy00LjA5NC0xLjU2Mi01LjY1NiAwbC0yLjgyOCAyLjgyOC0yLjgyOC0yLjgyOGMtMS41NjItMS41NjItNC4wOTQtMS41NjItNS42NTYgMHMtMS41NjIgNC4wOTQgMCA1LjY1NmwyLjgyOCAyLjgyOC0yLjgyOCAyLjgyOGMtMS41NjIgMS41NjItMS41NjIgNC4wOTQgMCA1LjY1Ni43ODEuNzgxIDEuODA1IDEuMTcyIDIuODI4IDEuMTcyczIuMDQ3LS4zOTEgMi44MjgtMS4xNzJsMi44MjgtMi44MjggMi44MjggMi44MjhjLjc4MS43ODEgMS44MDUgMS4xNzIgMi44MjggMS4xNzJzMi4wNDctLjM5MSAyLjgyOC0xLjE3MmMxLjU2Mi0xLjU2MiAxLjU2Mi00LjA5NCAwLTUuNjU2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMzkuMTcyIDE5NGgtNC45MzRsNS44NTktOS43NjhjMS4xMzctMS44OTUuNTIzLTQuMzUyLTEuMzcxLTUuNDg4LTEuODk4LTEuMTM3LTQuMzUyLS41MjEtNS40ODggMS4zNzFsLTkuNDk2IDE1LjgyNmMtLjc0MiAxLjIzNi0uNzYyIDIuNzc1LS4wNTEgNC4wMjlzMi4wMzkgMi4wMjkgMy40OCAyLjAyOWg1LjUyN2wtNS4xMDUgMTAuMjExYy0uOTg4IDEuOTc3LS4xODggNC4zNzkgMS43ODkgNS4zNjcuNTc0LjI4NyAxLjE4NC40MjIgMS43ODUuNDIyIDEuNDY5IDAgMi44NzktLjgwOSAzLjU4Mi0yLjIxMWw4LTE2Yy42MjEtMS4yNC41NTUtMi43MTMtLjE3Ni0zLjg5My0uNzI5LTEuMTc2LTIuMDE0LTEuODk1LTMuNDAxLTEuODk1eiIvPgogICAgICAgIDxwYXRoIGQ9Im05NS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMDcuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTE5LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEzMS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNjMuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTc1LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",uce="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMi41IDUxMi41IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsNDE4LjVjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjV2NzguNWMwLDkuNjczLDE1LDkuNjczLDE1LDBWNDI2QzUxMi4yNSw0MjEuODU4LDUwOC44OTMsNDE4LjUsNTA0Ljc1LDQxOC41eiIvPgogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsMjQ5LjM1NWgtNTguODk0di0yNy4wNDNoMTguMDExYzEwLjk2NCwwLDE5Ljg4My04LjkxOSwxOS44ODMtMTkuODgzVjE5Ljg4NEM0ODMuNzUsOC45Miw0NzQuODMxLDAsNDYzLjg2NywwICAgSDE4NC4wNTljLTEwLjk2NCwwLTE5Ljg4Myw4LjkyLTE5Ljg4MywxOS44ODR2MjYuOTI5YzAsOS42NzMsMTUsOS42NzMsMTUsMFYxOS44ODRjMC0yLjY5MywyLjE5LTQuODg0LDQuODgzLTQuODg0aDI3OS44MDkgICBjMi42OTIsMCw0Ljg4MywyLjE5MSw0Ljg4Myw0Ljg4NHYxNDUuNDI5aC0yMi44OTRWODUuNDA2YzAtMi40NzUtMS4yMjEtNC43OS0zLjI2My02LjE4OGMtMi4wNDEtMS4zOTgtNC42NDEtMS42OTktNi45NDktMC44MDUgICBjLTEuOTYyLDAuNzYxLTQzLjM0LDE3LjY1OS01Mi4xNDYsODYuODk5SDE3OS4xNzZ2LTc5LjVjMC05LjY3My0xNS05LjY3My0xNSwwdjExNi42MTdjMCwxMC45NjQsOC45MTksMTkuODgzLDE5Ljg4MywxOS44ODMgICBoMTAwLjc0NnYyNy4wNDNIMTE0LjUxNmMxNi42MTItMTYuNTk0LDE4LjIzNC00Mi44NzEsMTguMjM0LTY0Ljk0OWMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41aC00MC41di0xNC4xNTkgICBjMjQuMDYsNS4xMTQsNTAuMjg4LTE0LjYxNiw0OS45NjctMzkuNjQ1Yy0wLjA0My0zLjM1Mi0wLjQ1OS02Ljc1OC0zLjU1Ni04LjgwM2MtMTQuMjQ2LTkuNDAzLTMzLjg2Ni01LjQ4NS00Ni40MTEsNC43ODN2LTEzLjUyOSAgIGMyMS40MzMtMTQuNzkzLDIzLjAyNS00OS42MjksMi40MjktNjUuODg5Yy0yLjA3NS0xLjYzOC00LjM3MS0zLjE5Ny02LjgzNC00LjIwMWMtMTAuNTcxLTQuMzE2LTIyLjE5MSwxNC41MTMtMjQuNzEsMjEuNzgxICAgYy01Ljk1MSwxNy4xNzQtMC41NjgsMzYuOTI2LDE0LjExNCw0Ny44MjR2MTMuOTMxYy05LjYyNy03LjgzMy0yMi4yLTExLjY5Ni0zNC40ODMtOS4yMzZjLTUuMDc2LDEuMDE3LTEzLjk3MSwzLjMxNC0xNS4wNzgsOS40NjcgICBjLTQuNzU4LDI2LjQ3NiwyNS4yMzUsNDguNjQzLDQ5LjU2Miw0My41Mzl2MTQuMTM3aC00My41Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41YzAsMjIuMDQ3LDEuMTk2LDQ4LjM1NywxNy44MDYsNjQuOTQ5SDcuNzUgICBjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjVWNTA0LjVjMCw5LjY3MywxNSw5LjY3MywxNSwwdi0zNWgxMzUuNXYzNWMwLDkuNjczLDE1LDkuNjczLDE1LDB2LTE5MWgyNjUuMjE1ICAgYzAuMDM5LDIuNjEzLDAuMjg5LDE2LjY4OCwwLjMyLDIwLjkwNkgzMDQuMzU2Yy0yOS42NTEsMC01MS42Miw3LjcxOC02NS4yOTgsMjIuOTM5Yy0xNi40MjIsMTguMjc0LTE0LjI2LDQwLjQyNi0xNC4xNTksNDEuMzU5ICAgYzAuNDA4LDMuODExLDMuNjI0LDYuNzAxLDcuNDU3LDYuNzAxaDk2Ljg5NHYxMy41aC0yOS41Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMjkuNVY0OTdoLTk2Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMTAwLjgyNSAgIGMwLjgzMiwwLjMxOCwxLjczMSwwLjUsMi42NzUsMC41czEuODQzLTAuMTgyLDIuNjc1LTAuNUg0NDAuMjVjOS42NzMsMCw5LjY3My0xNSwwLTE1aC05NnYtOTEuNTk0aDUwLjEwNiAgIGMxNy4yMTgsMCwyOS42NjQtNC4xNTEsMzguMDUyLTEyLjY5YzE0LjY5OS0xNC45NjUsMTQuMjUxLTQwLjAyMiwxMy42ODQtNzEuNzQ3Yy0wLjA0NC0yLjQ1NC0wLjA4Ny00Ljk1LTAuMTI1LTcuNDdoNTEuMjgzVjM4NCAgIGMwLDkuNjczLDE1LDkuNjczLDE1LDBWMjU2Ljg1NUM1MTIuMjUsMjUyLjcxMyw1MDguODkzLDI0OS4zNTUsNTA0Ljc1LDI0OS4zNTV6IE05Ny4yNzYsMTI4LjQ5NiAgIGM5LjY1Mi02LjEyNCwxOC4wNDktNC42ODEsMjIuNDIxLTMuMTM3Yy0xLjMyLDE1LjU0Ny0yMC4yMjEsMjYuODYtMzQuNjY4LDIxLjk2M0M4NS42MzUsMTQyLjUxMSw4OC4wNzcsMTM0LjMzMiw5Ny4yNzYsMTI4LjQ5NnogICAgTTQ3LjQyNCwxNDQuMDk3Yy02LjM3Mi00LjA0My0xMS43OTItMTEuMDA1LTEyLjQ5My0xOC43NDJjMTUuMDItNS4yOCwzMi42ODMsNi40MTgsMzQuNjQsMjEuOTY3ICAgQzYyLjI4NiwxNDkuNzkyLDUzLjgxLDE0OC4xNDgsNDcuNDI0LDE0NC4wOTd6IE03Ny42MzcsNTEuMTY5YzEyLjU2LDkuNTU0LDExLjk5NywzMS4zNTktMC4wNDQsNDEuMDU0ICAgYy0zLjcxNS0zLjA1NS05LjMxOS05LjQ4MS05LjMxOS0yMC40NDFDNjguMjczLDYwLjM1Miw3My45OTEsNTQuMDM1LDc3LjYzNyw1MS4xNjl6IE0zMy44NTYsMTkxLjkwNmg4My43ODEgICBjLTEuMjcsNDAuNTE1LTEzLjM2Miw1Ni41LTQxLjg4OCw1Ni41QzQ2LjgzMiwyNDguNDA3LDM1LjA3MiwyMzIuOTM2LDMzLjg1NiwxOTEuOTA2eiBNNDIxLjcwNywzODIuMjA1ICAgYy01LjQyMSw1LjUxOS0xNC4zNjcsOC4yMDEtMjcuMzUxLDguMjAxSDI0MC4wMTNjMC42OTQtNS45ODgsMy4wMDYtMTUuMDI2LDEwLjIwMy0yMy4wMzUgICBjMTAuNzEyLTExLjkyMSwyOC45MjctMTcuOTY1LDU0LjE0MS0xNy45NjVoMTI2LjczNkM0MzAuNDczLDM2NC4xMDUsNDI4LjI1MSwzNzUuNTQzLDQyMS43MDcsMzgyLjIwNXogTTQ2OC43NSwxODAuMzEzdjIyLjExNyAgIGMwLDIuNjkzLTIuMTksNC44ODMtNC44ODMsNC44ODNoLTE4LjAxMXYtMjdINDY4Ljc1eiBNNDE5LjEyNiwxMTEuMzU4YzQuMDg0LTUuMzk1LDguMTktOS40MSwxMS43My0xMi4zMjJ2MTg3Ljg2MyAgIGMtMy41MjgtMy4wMjMtNy42MDQtNy4xNDYtMTEuNjU5LTEyLjYyMmMtMTQuNjE1LTE5LjczOS0yMi4zNDEtNDguMDQ5LTIyLjM0MS04MS44NzIgICBDMzk2Ljg1NiwxNTguNjMyLDQwNC41NTgsMTMwLjYwNiw0MTkuMTI2LDExMS4zNTh6IE0zODMuODczLDIyMi4zMTNjMS40MzIsMTAuMDk1LDMuNTUzLDE5LjA3Nyw2LjEzOCwyNy4wNDNoLTI2Ljg5di0yNy4wNDMgICBIMzgzLjg3M3ogTTE3OS4xNzYsMjAyLjQyOXYtMjIuMTE3aDIwMi45OTNjLTAuNDY5LDguOTkyLTAuNDE1LDE4LjAxNSwwLjE2OSwyN0gxODQuMDU5ICAgQzE4MS4zNjYsMjA3LjMxMywxNzkuMTc2LDIwNS4xMjIsMTc5LjE3NiwyMDIuNDI5eiBNMjk5LjgwNSwyMjIuMzEzaDQ4LjMxNnYyNy4wNDNoLTQ4LjMxNlYyMjIuMzEzeiBNMzk1LjkwMSwyNjQuMzU1ICAgYzcuODE1LDE2LjcsMTcuNTE2LDI3LjQ4OCwyNS4zNjUsMzQuMTQ1SDE1LjI1di0zNC4xNDVIMzk1LjkwMXogTTE1LjI1LDQ1NC41di02M2gxMzUuNXY2M0gxNS4yNXogTTE1MC43NSwzNzYuNUgxNS4yNXYtNjNoMTM1LjUgICBWMzc2LjV6IE00NDUuODU2LDI5OC41di0zNC4xNDVoNTEuMzk0VjI5OC41SDQ0NS44NTZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTU0Ljc1LDM1Mi41aDU3YzkuNjczLDAsOS42NzMtMTUsMC0xNWgtNTdDNDUuMDc3LDMzNy41LDQ1LjA3NywzNTIuNSw1NC43NSwzNTIuNXoiLz4KICAgICAgICA8cGF0aCBkPSJNMTExLjc1LDQxNS41aC01N2MtOS42NzMsMC05LjY3MywxNSwwLDE1aDU3QzEyMS40MjMsNDMwLjUsMTIxLjQyMyw0MTUuNSwxMTEuNzUsNDE1LjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Nce={Anteroom:mae,Attic:Oae,Balcony:Eae,Barn:_ae,Basement:Sae,Bathroom:xae,Bedroom:fae,"Boiler Room":"PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSItMyAwIDQ4MCA0ODAiIHdpZHRoPSI0ODBwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTIzNC45Njg3NSA2NGMtMTMuMjUzOTA2IDAtMjQgMTAuNzQ2MDk0LTI0IDI0czEwLjc0NjA5NCAyNCAyNCAyNCAyNC0xMC43NDYwOTQgMjQtMjQtMTAuNzQ2MDk0LTI0LTI0LTI0em0wIDMyYy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04czMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMzA2Ljk2ODc1IDE2MGgtMTQ0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoMTQ0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS04IDY0aC0xMjh2LTQ4aDEyOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTE4Ni45Njg3NSAxOTJoMTZ2MTZoLTE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMjE4Ljk2ODc1IDE5MmgzMnYxNmgtMzJ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yNjYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTEzOC45Njg3NSA3MnYzMmgxNnYtMjRoMTZ2LTE2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ2Ni45Njg3NSAwaC0zMmMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxOTJjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOGgtNTZ2LTU2aDI0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTQ4YzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTI0di0xNmMtLjAyNzM0NC0yMi4wODIwMzEtMTcuOTIxODc1LTM5Ljk3MjY1Ni00MC00MGgtMTZ2LTE2aC0xNnYxNmgtMTcuNzYxNzE5bC02LjQ4MDQ2OS0yNS45Mzc1Yy0uODg2NzE4LTMuNTYyNS00LjA4NTkzNy02LjA2MjUtNy43NTc4MTItNi4wNjI1aC00OGMtMy42NzE4NzUgMC02Ljg3MTA5NCAyLjUtNy43NjE3MTkgNi4wNjI1bC02LjQ4MDQ2OSAyNS45Mzc1aC0xNy43NTc4MTJ2LTE2aC0xNnYxNmgtMTZjLTIyLjA4MjAzMS4wMjczNDQtMzkuOTcyNjU2IDE3LjkxNzk2OS00MCA0MHY1NmgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGgyNHYyMjRoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djMyYzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTQxLjcxMDkzOGMxMi4zNzEwOTQgNi4zNzUgMjYuMDgyMDMxIDkuNzAzMTI2IDQwIDkuNzEwOTM4aDh2MjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGg4YzEzLjkxNDA2Mi0uMDA3ODEyIDI3LjYyODkwNi0zLjMzNTkzOCA0MC05LjcxMDkzOHY0MS43MTA5MzhoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djMyYzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTE3Nmg1NmMzMC45MTAxNTYtLjAzOTA2MiA1NS45NjA5MzgtMjUuMDg5ODQ0IDU2LTU2di0xOTJjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOHptLTg4IDEwNHYzMmgtMTZ2LTMyem0tMTYxLjc1MzkwNi04OGgzNS41MDM5MDZsNCAxNmgtNDMuNTAzOTA2em0tOTQuMjQ2MDk0IDU2YzAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNGgxNzZjMTMuMjUzOTA2IDAgMjQgMTAuNzQ2MDk0IDI0IDI0djU2aC0yMjR6bS0zMiAxMjB2LTQ4aDE2djQ4em04MCAyNzJoLTgwdi0xNmg4MHptLTMyLTMyaC0xNnYtNjkuNTU4NTk0YzQuNTM1MTU2IDYuNDg0Mzc1IDkuOTE0MDYyIDEyLjMzMjAzMiAxNiAxNy4zOTA2MjV6bTExMi0xNmgtMzJ2LTE2aDMyem0xMjggNDhoLTgwdi0xNmg4MHptLTMyLTMyaC0xNnYtNTIuMTY3OTY5YzYuMDgyMDMxLTUuMDU4NTkzIDExLjQ2NDg0NC0xMC45MDYyNSAxNi0xNy4zOTA2MjV6bTAtMTIwYy0uMDQyOTY5IDM5Ljc0NjA5NC0zMi4yNTM5MDYgNzEuOTU3MDMxLTcyIDcyaC04MGMtMzkuNzQ2MDk0LS4wNDI5NjktNzEuOTU3MDMxLTMyLjI1MzkwNi03Mi03MnYtMTY4aDIyNHptMTEyLTExMmMtLjAyNzM0NCAyMi4wODIwMzEtMTcuOTIxODc1IDM5Ljk3MjY1Ni00MCA0MGgtNTZ2LTE2aDU2YzEzLjI1MzkwNiAwIDI0LTEwLjc0NjA5NCAyNC0yNHYtMTg0aDE2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNTYuNjI1IDUzLjY1NjI1IDEwLjM0Mzc1LTEwLjM0Mzc1IDE4LjM0Mzc1IDE4LjM0Mzc1IDExLjMxMjUtMTEuMzEyNS0yNC0yNGMtMy4xMjUtMy4xMjEwOTQtOC4xODc1LTMuMTIxMDk0LTExLjMxMjUgMGwtMTAuOTM3NSAxMC45Mzc1LTM0LjM5ODQzOC0yNy41MjczNDQtMTAuMDA3ODEyIDEyLjQ5MjE4OCA0MCAzMmMzLjE4MzU5NCAyLjU1MDc4MSA3Ljc3MzQzOCAyLjI5Mjk2OCAxMC42NTYyNS0uNTg5ODQ0em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMCA4Ny40MzM1OTQgNDAgMTZjMi45NzI2NTYgMS4xODM1OTQgNi4zNjMyODEuNDg0Mzc1IDguNjI1LTEuNzc3MzQ0bDExLjkxNzk2OS0xMS45MjE4NzUgMjYuODQ3NjU2IDEzLjQ2NDg0NCA3LjE1MjM0NC0xNC4zMjAzMTMtMzItMTZjLTMuMDc4MTI1LTEuNTM1MTU2LTYuNzk2ODc1LS45Mjk2ODctOS4yMzA0NjkgMS41MDM5MDZsLTEyLjI3MzQzOCAxMi4yMjY1NjMtMzUuMTAxNTYyLTE0LjA0Mjk2OXptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Carport:kae,Cellar:Yae,Chamber:Qae,Corridor:Uae,"Dining Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K","Dining Room":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik01MDUuOTQ3LDEyMy41OTdjLTQuMzUzLTQuNzUyLTEwLjU0Ni03LjQ3Ny0xNi45OS03LjQ3N2gtNi44MzdjLTE3LjkyOSwwLTMyLjYzMSwxMy40NjgtMzQuMTk4LDMxLjMyOGwtNy4zOTcsODQuMjc5CgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5NwoJCQkJYzAsMTIuMzk1LDEwLjA4MywyMi40NzgsMjIuNDc4LDIyLjQ3OGgxMy43MjNsLTEzLjUxNCw0NC4xMzVjLTAuMDEsMC4wMzMtMC4wMiwwLjA2Ni0wLjAzLDAuMDk5bC0xMC4zMywzMy43MzYKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUg0NjMuMjQKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTI0LjUxNy04MC4wNjZjNC4zMDUtMS4yMTksOC40NjItMi45NTMsMTIuMzYyLTUuMTg4YzMuNTkzLTIuMDYsNC44MzYtNi42NDMsMi43NzYtMTAuMjM2CgkJCQljLTIuMDYtMy41OTMtNi42NDQtNC44MzYtMTAuMjM3LTIuNzc2Yy02LjA0NCwzLjQ2NS0xMi45MzksNS4yOTctMTkuOTQsNS4yOTdoLTc1LjQwMmMtMC4wMjUsMC0wLjA1LDAtMC4wNzQsMGgtMjMuNzkzCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTEKCQkJCWw3LjM5Ni04NC4yOGMwLjg4Mi0xMC4wNTYsOS4xNi0xNy42NCwxOS4yNTUtMTcuNjRoNi44MzdjMi4yODIsMCw0LjM4OSwwLjkyNyw1LjkzLDIuNjFjMS41NDIsMS42ODMsMi4yODIsMy44NjIsMi4wODIsNi4xMzYKCQkJCWwtMTAuMjQyLDExNi43MTFjLTAuMjUyLDIuODc4LTAuODEzLDUuNzI2LTEuNjY2LDguNDY0Yy0xLjIzMiwzLjk1NSwwLjk3Niw4LjE2LDQuOTMxLDkuMzkxYzMuOTYsMS4yMzIsOC4xNTktMC45NzcsOS4zOTItNC45MwoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUKCQkJCWwxMS45MTQsMzguOTFoLTkzLjY4NEwzNzYuODc1LDMwOC4yMTJ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE0OS44MDMsMjQ0LjgzSDg1Ljc3N2MtNy40OTksMC0xMy42NDctNS42MzItMTQuMzAzLTEzLjEwMmwtNy4zOTYtODQuMjc5Yy0xLjU2Ny0xNy44Ni0xNi4yNjktMzEuMzI4LTM0LjE5OC0zMS4zMjgKCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTEKCQkJCWMxLjIwOSwxMy43NzMsNy40ODksMjYuNTAxLDE3LjY4NCwzNS44NDFjNi40MDUsNS44NjgsMTQuMDEsMTAuMDc3LDIyLjIwNiwxMi4zOTdsLTI0LjUxNCw4MC4wNTUKCQkJCWMtMS4yMTMsMy45NjEsMS4wMTUsOC4xNTQsNC45NzUsOS4zNjdjMC43MzIsMC4yMjQsMS40NzIsMC4zMzEsMi4xOTksMC4zMzFjMy4yMDksMCw2LjE4LTIuMDc3LDcuMTY4LTUuMzA2bDguNzEyLTI4LjQ1MUgxNTEuNjMKCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3CgkJCQlsLTEwLjMzLTMzLjczNmMtMC4wMS0wLjAzMy0wLjAyLTAuMDY2LTAuMDMtMC4wOTlsLTEzLjUxNC00NC4xMzVoMTMuNzIzYzEyLjM5NSwwLDIyLjQ3Ny0xMC4wODMsMjIuNDc3LTIyLjQ3OHYtMy42OTcKCQkJCUMxODcuMDEsMjYxLjUyMSwxNzAuMzE5LDI0NC44MywxNDkuODAzLDI0NC44M3ogTTUzLjM1MywzNDcuMTIybDExLjkxNC0zOC45MWg2OS44NTVsMTEuOTE0LDM4LjkxSDUzLjM1M3ogTTE3Mi4wMSwyODUuNzM0CgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4MwoJCQkJYy0wLjAwMSwwLTAuMDAzLDAtMC4wMDUsMGMtMTguNzY0LTIuMTY5LTMzLjU1OC0xNy4wNjUtMzUuMjUtMzYuMzUyTDE1LjAzLDEzOS44NjdjLTAuMi0yLjI3NSwwLjU0LTQuNDU0LDIuMDgyLTYuMTM3CgkJCQljMS41NDEtMS42ODMsMy42NDctMi42MSw1LjkzLTIuNjFoNi44MzdjMTAuMDk1LDAsMTguMzczLDcuNTgzLDE5LjI1NSwxNy42NGw3LjM5Niw4NC4yNzl2LTAuMDAxCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMTIuOTQ4LDM3MS4xNDFjLTMuMDk1LTExLjg5Ny0xMy44NDEtMjAuMjA2LTI2LjEzNC0yMC4yMDZoLTQuNjQyVjIxNC40MDFoOTIuMzU0YzUuMzIsMCwxMC4yOTktMi4zNjUsMTMuNjYxLTYuNDg4CgkJCQljMy4zNjItNC4xMjQsNC42NzctOS40NzgsMy42MDUtMTQuNjljLTMuMjI2LTE1LjY4NC0xNy4xODgtMjcuMDY3LTMzLjE5OS0yNy4wNjdIMjAyLjY2NWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQoJCQkJYy0wLjI5NSwwLjM2MS0wLjk1MSwwLjk2Ny0yLjAzNiwwLjk2N0gxMzcuNDcyYy0xLjA4NSwwLTEuNzQxLTAuNjA2LTIuMDM2LTAuOTY3Yy0wLjI5NC0wLjM2MS0wLjc1Ni0xLjEyNy0wLjUzNy0yLjE5CgkJCQljMS43OTgtOC43NDMsOS41OC0xNS4wODksMTguNTA2LTE1LjA4OWgxNC4wODRjNC4xNDMsMCw3LjUtMy4zNTgsNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE0LjA4NAoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQoJCQkJdjEzNi41MzVoLTQuNjQyYy0xMi4yOTMsMC0yMy4wMzksOC4zMDktMjYuMTM0LDIwLjIwNWwtMS43NjEsNi43NjdjLTEuMTI3LDQuMzM1LTAuMjAzLDguODUyLDIuNTM2LDEyLjM5NgoJCQkJYzIuNzQsMy41NDMsNi44OCw1LjU3NiwxMS4zNTgsNS41NzZoODkuNjNjNC40NzksMCw4LjYxOC0yLjAzMiwxMS4zNTgtNS41NzZjMi43MzktMy41NDMsMy42NjMtOC4wNjEsMi41MzYtMTIuMzk2CgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjIKCQkJCWMxLjM3NS01LjI4OCw2LjE1Mi04Ljk4MSwxMS42MTYtOC45ODFoNjEuNjI5YzUuNDY0LDAsMTAuMjQxLDMuNjkzLDExLjYxNiw4Ljk4MWwxLjU1Miw1Ljk2MkgyMTIuMDE2eiIvPgogICAgPC9nPgo8L3N2Zz4K",Dining:vae,"Dressing Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTcuMDA0IDI3Ni4xNjljMC00LjEzOSAzLjM3NC03LjUxMiA3LjUxMi03LjUxMnM3LjQ4MyAzLjM3MyA3LjQ4MyA3LjUxMnYxMzcuMzQgMzkuOTk3YzAgNC4xMzktMy4zNDUgNy40ODMtNy40ODMgNy40ODNoLTQ5Ny4wMDRjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODMgMC0xMjQuNzU0IDAtMjQ5LjUzNiAwLTM3NC4yOTEgMC03Ljc2NyAzLjE3NS0xNC44MjUgOC4yNzctMTkuOTI4IDUuMTAzLTUuMTAzIDEyLjE2MS04LjI3NyAxOS45MjgtOC4yNzdoMTI0LjI0NGM3LjkwOSAwIDE1LjM2NCAzLjMxNiAyMC43MjIgOS4wOTkgNS4zNTctNS43ODMgMTIuODEyLTkuMDk5IDIwLjcyMi05LjA5OWgxMjQuMjQzYzcuODgxIDAgMTUuMzY0IDMuMzE2IDIwLjY5MyA5LjA5OSA1LjM1OC01Ljc4MyAxMi44MTMtOS4wOTkgMjAuNzIyLTkuMDk5aDEyNC4yNDRjNy43NjcgMCAxNC44MjYgMy4xNzUgMTkuOTI4IDguMjc3IDUuMTAyIDUuMTAzIDguMjc3IDEyLjE2MSA4LjI3NyAxOS45Mjh2MjUuNjI1IDEzNy4zNGMwIDQuMTM5LTMuMzQ1IDcuNTEyLTcuNDgzIDcuNTEyLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJ2LTEyOS44NTVoLTY3LjgzNXYxMi45MjZsNDYuODMgMjMuODM5YzQuMTk1IDIuMTI2IDcuMTE1IDUuNzU1IDguNDQ3IDkuODk0IDEuMzYgNC4xMzkgMS4xMzQgOC43ODctLjk5MiAxMi45NTQtMS40NDYgMi44MzUtMy42NTcgNS4xNTktNi4yOTMgNi43NzUtMi42NjQgMS42NDQtNS43MjYgMi41MjMtOC44NzIgMi41MjNoLTMuMzQ1djk1LjYxM2MwIDQuMTM5LTMuMzQ1IDcuNDg0LTcuNDg0IDcuNDg0aC03MS4xNWMtNC4xMzkgMC03LjQ4My0zLjM0NS03LjQ4My03LjQ4NHYtMzQuNTU0YzAtNC4xNjcgMy4zNDUtNy41MTIgNy40ODMtNy41MTIgNC4xMzkgMCA3LjUxMiAzLjM0NSA3LjUxMiA3LjUxMnYyNy4wNDNoNTYuMTI3di04OC4xMDJoLTU2LjEyN3YyNy4wNzFjMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnMtNy40ODMtMy4zNzMtNy40ODMtNy41MTJ2LTI3LjA3MWgtMy4zNDVjLTQuNzA2IDAtOC45NTctMS44OTktMTIuMDE5LTQuOTg5LTMuMDktMy4wNjEtNC45ODktNy4zMTMtNC45ODktMTIuMDE5IDAtMy4zNDUuOTkyLTYuNTIgMi42OTMtOS4xNTYgMS43MjktMi42NjQgNC4xMzktNC44MTkgNi45NzQtNi4xOGw0Ni4wMzUtMjMuNDQzdi0xMy4xMjRoLTY3LjgzNHYyOTMuNzAxaDE1MC42NjN2LTEyOS44NTd6bS03My44NDMtMTM3LjE5OWMtLjgyMi0uNTEtMS42NzItLjUxLTIuNDk1IDBsLTQ1LjcyMyAyMy4zMDFjLS45MDcuMzQtMS40NzQuOTM2LTEuNDc0IDEuOTU2IDAgMS4xMDUuOTA3IDIuMDEzIDIuMDEzIDIuMDEzaDkyLjgwN2MuNzkzIDAgMS40NDYtLjM5NyAxLjc4Ni0xLjEwNS41MS0uOTkyLjE0Mi0yLjE4My0uODc4LTIuNjkzbC0xNS4zMzYtNy44MjNjLTkuMDQzLTQuNTkzLTE4LjA1Ny05LjE1OC0zMC43LTE1LjY0OXptLTE2NS44LS4wODVjLS43MDktLjQyNS0xLjQ3NC0uNDI1LTIuMjQgMGwtNDUuODY1IDIzLjM4NmMtLjg3OS4zNC0xLjQ0Ni45MzYtMS40NDYgMS45NTYgMCAxLjEwNS45MDcgMi4wMTMgMi4wMTMgMi4wMTNoOTIuODA3Yy43OTQgMCAxLjQ0Ni0uMzk3IDEuNzg2LTEuMTA1LjUxLS45OTIuMTQyLTIuMTgzLS44NzktMi42OTMtMTUuMzkyLTcuODI0LTMwLjgxMi0xNS42NDgtNDYuMTc2LTIzLjU1N3ptLTIxMS42NjYtMjYuNTZjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODRzMy4zNzMtNy41MTIgNy41MTItNy41MTJoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNzQgNy41MTIgNy41MTIgMCA0LjEzOS0zLjM3MyA3LjQ4NC03LjUxMiA3LjQ4NHptMCAxMDEuOTM0Yy00LjEzOSAwLTcuNTEyLTMuMzczLTcuNTEyLTcuNTEyczMuMzczLTcuNDgzIDcuNTEyLTcuNDgzaDg5LjI5MmM0LjEzOCAwIDcuNTEyIDMuMzQ1IDcuNTEyIDcuNDgzIDAgNC4xMzktMy4zNzMgNy41MTItNy41MTIgNy41MTJ6bTAtMzMuOTg4Yy00LjEzOSAwLTcuNTEyLTMuMzQ1LTcuNTEyLTcuNDgzczMuMzczLTcuNTEyIDcuNTEyLTcuNTEyaDg5LjI5MmM0LjEzOCAwIDcuNTEyIDMuMzczIDcuNTEyIDcuNTEycy0zLjM3MyA3LjQ4My03LjUxMiA3LjQ4M3ptMC0zMy45NTljLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJzMy4zNzMtNy40ODMgNy41MTItNy40ODNoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNDUgNy41MTIgNy40ODMgMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnptMjAyLjgyMi0yMC44NjN2LTEzLjEyNGgtNjcuODM0djEyOS44NTdjMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnMtNy41MTItMy4zNzMtNy41MTItNy41MTJ2LTE2Mi45NjdjMC0zLjYyOC0xLjQ3NC02LjkxNy0zLjg4My05LjMyNi0yLjM4MS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNi0zLjg4NGgtMTI0LjI0NGMtMy42MjggMC02LjkxNyAxLjUwMi05LjMyNyAzLjg4NC0yLjM4MSAyLjQwOS0zLjg4MyA1LjY5Ny0zLjg4MyA5LjMyNnYxOTIuMzYxaDE1LjMwOGM2LjA5NCAwIDExLjU5NCAyLjQ2NiAxNS41OSA2LjQ2NCAzLjk5NyAzLjk5NyA2LjQ5MiA5LjUyNSA2LjQ5MiAxNS41OXYyMy4zMDFjMCA2LjA2Ny0yLjQ5NSAxMS41OTQtNi40OTIgMTUuNTkxcy05LjQ5NiA2LjQ2My0xNS41OSA2LjQ2M2gtMTUuMzA4djEwNy4wMDloMTUwLjY2M3YtMTY5LjgyNWMwLTQuMTM5IDMuMzc0LTcuNTEyIDcuNTEyLTcuNTEyczcuNTEyIDMuMzczIDcuNTEyIDcuNTEydjEyOS44NTZoMTUwLjY2M3YtMjkzLjdoLTY3LjgzNHYxMi45MjZsNDYuNjMgMjMuNzI2YzQuMTY3IDIuMTI2IDcuMiA1LjUyOCA4LjY0NiAxMC4wMDcgMi40NjYgNy41NjgtLjUzOSAxNS41OS03LjI4NSAxOS43MjktMi42NjQgMS42NDQtNS43NTQgMi41MjMtOC44NzIgMi41MjNoLTkyLjgwN2MtNC43MDYgMC04Ljk1OC0xLjg5OS0xMi4wNDctNC45ODktMy4wNjEtMy4wNjEtNC45Ni03LjMxMy00Ljk2LTEyLjAxOSAwLTMuMzQ1Ljk5Mi02LjUyIDIuNjkzLTkuMTU2IDEuNzAxLTIuNjY0IDQuMTEtNC44MTkgNi45NzMtNi4xOHptLTIzMy41MjEgMTcyLjMyaDYuMDk0YzQuMTM5IDAgNy41MTIgMy4zNzMgNy41MTIgNy41MTJzLTMuMzczIDcuNTEyLTcuNTEyIDcuNTEyaC02LjA5NHYxMS4xOThoMTUuMzA4YzEuOTU2IDAgMy43MTMtLjc5NCA0Ljk4OS0yLjA2OSAxLjI3Ni0xLjMwNSAyLjA5OC0zLjA2MSAyLjA5OC00Ljk5di0yMy4zMDJjMC0xLjkyOC0uODIyLTMuNjg1LTIuMDk4LTQuOTg5LTEuMjc1LTEuMjc2LTMuMDMzLTIuMDY5LTQuOTg5LTIuMDY5aC0xNS4zMDh6bTMzMS4zNDUtMjE4LjU1NHYxOC4xMTNoMTUwLjY2M3YtMTguMTEzYzAtMy42MjgtMS40NzQtNi45MTctMy44ODMtOS4zMjYtMi40MDktMi4zODEtNS42OTgtMy44ODQtOS4zMjctMy44ODRoLTEyNC4yNDNjLTMuNjI4IDAtNi45MTcgMS41MDItOS4zMjYgMy44ODQtMi40MSAyLjQxLTMuODg0IDUuNjk4LTMuODg0IDkuMzI2em0tMTY1LjY1OCAxOC4xMTRoMTUwLjY2M3YtMTguMTE0YzAtMy42MjgtMS41MDItNi45MTctMy44ODMtOS4zMjYtMi40MS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNy0zLjg4NGgtMTI0LjI0M2MtMy42MjkgMC02Ljk0NSAxLjUwMi05LjMyNyAzLjg4NC0yLjQxIDIuNDA5LTMuODgzIDUuNjk3LTMuODgzIDkuMzI2em0zMTYuMzIxIDMyMy42OTJoLTMxNi4zMjF2MjQuOTczaDMxNi4zMjJ2LTI0Ljk3M3oiLz4KICAgIDwvZz4KPC9zdmc+",Driveway:bae,Entrance:$ae,"Equipment Room":"PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC00IDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZD0ibTMwMy4wOTM3NSAxNzQuMjVjMy4zOTQ1MzEgMi4zNzg5MDYgOC4wNzAzMTIgMS41NTA3ODEgMTAuNDQ1MzEyLTEuODM5ODQ0bDE1Ljk1MzEyNi0yMi43ODkwNjJjMi4zNzg5MDYtMy4zOTQ1MzIgMS41NTQ2ODctOC4wNzAzMTMtMS44Mzk4NDQtMTAuNDQ1MzEzLTMuMzk0NTMyLTIuMzc1LTguMDcwMzEzLTEuNTUwNzgxLTEwLjQ0NTMxMyAxLjg0Mzc1bC0xNS45NTcwMzEgMjIuNzg1MTU3Yy0yLjM3NSAzLjM5NDUzMS0xLjU1MDc4MSA4LjA3MDMxMiAxLjg0Mzc1IDEwLjQ0NTMxMnptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTM0MS42NzE4NzUgMTU1Ljk4NDM3NS01LjQxNzk2OSAyNy4yODUxNTZjLS45MTc5NjggNC42NDA2MjUgMi42MzI4MTMgOC45NjA5MzggNy4zNjcxODggOC45NjA5MzggMy41MDc4MTIgMCA2LjY0MDYyNS0yLjQ3MjY1NyA3LjM0NzY1Ni02LjAzOTA2M2w1LjQxNDA2Mi0yNy4yODkwNjJjLjgwODU5NC00LjA2MjUtMS44MzIwMzEtOC4wMTE3MTktNS44OTQ1MzEtOC44MTY0MDYtNC4wNjY0MDYtLjgwNDY4OC04LjAxMTcxOSAxLjgzMjAzMS04LjgxNjQwNiA1Ljg5ODQzN3ptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTMwOS41ODk4NDQgMTIxLjQ0OTIxOWMtMi4xNDQ1MzItMy41NDI5NjktNi43NTc4MTMtNC42NzE4NzUtMTAuMzAwNzgyLTIuNTI3MzQ0bC0yMy43ODkwNjIgMTQuNDIxODc1Yy0zLjU0Mjk2OSAyLjE0ODQzOC00LjY3MTg3NSA2Ljc2MTcxOS0yLjUyNzM0NCAxMC4zMDQ2ODggMi4xNTIzNDQgMy41NDI5NjggNi43NjU2MjUgNC42Njc5NjggMTAuMzA0Njg4IDIuNTIzNDM3bDIzLjc4OTA2Mi0xNC40MTc5NjljMy41NDI5NjktMi4xNDg0MzcgNC42NzE4NzUtNi43NjE3MTggMi41MjM0MzgtMTAuMzA0Njg3em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtODMuNjUyMzQ0IDE1Mi4xNzk2ODhjMi43NTc4MTIgMS4zNTkzNzQgNi4xMTMyODEgMS40MDYyNSA4Ljk2ODc1IDAgNy0zLjQ1MzEyNiAyOS44MzU5MzctMTYuNTA3ODEzIDI5LjgzNTkzNy0zOS40NjQ4NDQgMC0xOC4yMDMxMjUtMjEuMjE0ODQzLTI3LjA2NjQwNi0zNC4zMTI1LTE2LjA3NDIxOS01LjA2MjUtNC4yNjE3MTktMTEuOTQxNDA2LTUuODkwNjI1LTE4Ljc1MzkwNi00LjA4OTg0NC05LjMxNjQwNiAyLjQ1NzAzMS0xNS41NzAzMTMgMTAuNTYyNS0xNS41NzAzMTMgMjAuMTY0MDYzIDAgMjMuMDE1NjI1IDIyLjg0Mzc1IDM2LjAzMTI1IDI5LjgzMjAzMiAzOS40NjQ4NDR6bS0zLjc3NzM0NC00Mi4zNjcxODhjMS4zOTg0MzggMi40Njg3NSA0LjQ2ODc1IDQuNjI1IDguMDIzNDM4IDQuNzEwOTM4IDMuNTgyMDMxLjExMzI4MSA2Ljk3MjY1Ni0yLjA0Njg3NiA4LjQ2MDkzNy00LjY1MjM0NCAzLjA1NDY4Ny01LjM1NTQ2OSAxMS4wOTc2NTYtMy4xNDQ1MzIgMTEuMDk3NjU2IDIuODQ3NjU2IDAgMTIuNjkxNDA2LTEzLjM5NDUzMSAyMS41NjY0MDYtMTkuMzI0MjE5IDI0Ljg3NS01LjkyOTY4Ny0zLjI5Mjk2OS0xOS4zMTI1LTEyLjE0NDUzMS0xOS4zMTI1LTI0Ljg3NSAwLTYuMDQyOTY5IDguMDg1OTM4LTguMTMyODEyIDExLjA1NDY4OC0yLjkwNjI1em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMDMuNjE3MTg4aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDA2MjYtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzQtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMzAuMDI3MzQ0aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDQ1MzItMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTU0NjgtNy41IDcuNSAwIDQuMTQwNjI1IDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxNTYuNDM3NWgyOS42MzY3MTljNC4xNDQ1MzEgMCA3LjUtMy4zNTU0NjkgNy41LTcuNXMtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTU0NjktNy41IDcuNXMzLjM1NTQ2OSA3LjUgNy41IDcuNXptMCAwIi8+CiAgICAgICAgPHBhdGggZD0ibTQ5NS43Njk1MzEgMTUuMDA3ODEyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY4IDcuNS03LjUgMC00LjE0NDUzMS0zLjM1NTQ2OS03LjQ5OTk5OTUtNy41LTcuNDk5OTk5NWgtNzMuNzEwOTM3Yy0uMTE3MTg4IDAtLjIzMDQ2OS4wMTE3MTg3LS4zNDc2NTYuMDE1NjI1LTIuNDk2MDk0LS4xMjg5MDY1LTUgLjk4NDM3NDUtNi41MzkwNjMgMy4xODM1OTM1bC0yNS44OTA2MjUgMzYuOTcyNjU3LTMyLjgzOTg0NC0yMi45OTYwOTRjLTE3LjM3MTA5NC0xMi4xNjQwNjMtMzguOTAyMzQ0LTE2LjI4OTA2My01OS41OTM3NS0xMS41MzkwNjNsLTIuNTk3NjU2LTEuODIwMzEyYy05LjU4OTg0NC02LjcxMDkzOC0yMi44MTY0MDYtNC4zNDc2NTctMjkuNSA1LjE5OTIxOWwtNS45Njg3NSA4LjUyMzQzN2MtNi42OTUzMTIgOS41NjI1LTQuMzYzMjgxIDIyLjgwMDc4MSA1LjIwMzEyNSAyOS40OTYwOTRsMi4wNDY4NzUgMS40MzM1OTNjLTYuODU5Mzc1IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDgyMDMyIDUzLjE3OTY4OCAzNy4yMzgyODJsNC4xOTE0MDYgMi45MzM1OTRjLTYuODUxNTYzIDMwLjU3MDMxMiAyNi44MDQ2ODcgNTQuMTE3MTg3IDUzLjE3NTc4MSAzNy4yMzgyODFsNC4xOTUzMTMgMi45MzM1OTNjLTYuODU5Mzc2IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDc4MTI2IDUzLjE3NTc4MSAzNy4yMzQzNzZsMi4wNTQ2ODcgMS40NDE0MDZjOS41NjY0MDYgNi42OTUzMTIgMjIuODAwNzgyIDQuMzYzMjgxIDI5LjQ5NjA5NC01LjIwMzEyNWw1Ljk2ODc1LTguNTIzNDM4YzYuNjk1MzEyLTkuNTYyNSA0LjM2MzI4MS0yMi44MDA3ODEtNS4xOTkyMTktMjkuNDk2MDkzbC0zLjI3MzQzNy0yLjI5Mjk2OWMtMi42MTMyODItMjEuMDY2NDA3LTEzLjg1NTQ2OS0zOS44ODY3MTktMzEuMjI2NTYzLTUyLjA1NDY4OGwtMzAuMTk5MjE5LTIxLjE0MDYyNSAyMy42NTIzNDQtMzMuNzc3MzQ0em0tMjE1LjQ1NzAzMSA0My40NzI2NTcgMjQuNjIxMDk0IDE3LjI0MjE4N2MtMTEuNzk2ODc1IDIuNzkyOTY5LTIzLjIyMjY1Ni01LjIzNDM3NS0yNC42MjEwOTQtMTcuMjQyMTg3em01Ny4zNjcxODggNDAuMTY3OTY5IDI0LjYyNSAxNy4yNDIxODdjLTExLjc2OTUzMiAyLjc5Njg3NS0yMy4yMjI2NTctNS4yMDcwMzEtMjQuNjI1LTE3LjI0MjE4N3ptNTcuMzcxMDkzIDQwLjE3MTg3NGMxNC45MTc5NjkgMTAuNDQ1MzEzIDkuNzc3MzQ0IDYuODQzNzUgMjQuNjI1IDE3LjI0MjE4OC0xMS43NzM0MzcgMi43OTY4NzUtMjMuMjIyNjU2LTUuMjE0ODQ0LTI0LjYyNS0xNy4yNDIxODh6bTY0LjEyODkwNyA2LjM0Mzc1LTUuOTY4NzUgOC41MjM0MzhjLTEuOTUzMTI2IDIuNzg5MDYyLTUuODEyNSAzLjQ3MjY1Ni04LjYwNTQ2OSAxLjUxOTUzMS0yLjQxMDE1Ny0xLjY4NzUtMTY5Ljg1OTM3NS0xMTguOTQxNDA2LTE3Mi4wMTk1MzEtMTIwLjQ0OTIxOS0yLjc2OTUzMi0xLjk0MTQwNi0zLjQ1NzAzMi01LjgzMjAzMS0xLjUxNTYyNi04LjYwNTQ2OGw1Ljk2ODc1LTguNTIzNDM4YzEuOTQ5MjE5LTIuNzgxMjUgNS44NDM3NS0zLjQ0OTIxOCA4LjYwNTQ2OS0xLjUxNTYyNWwxNzIuMDE5NTMxIDEyMC40NDUzMTNjMi43NzM0MzggMS45NDE0MDYgMy40NTcwMzIgNS44MzU5MzcgMS41MTU2MjYgOC42MDU0Njh6bS0xNC45MDIzNDQtMzYuMjg5MDYyYy03Ljg5NDUzMi01LjUzMTI1LTEyNS4wNDY4NzUtODcuNTU4NTk0LTEyOC43MTA5MzgtOTAuMTI1IDExLjQ3MjY1Ni4zNTE1NjIgMjIuNjcxODc1IDQgMzIuMjczNDM4IDEwLjcyMjY1Nmw3NS4zMjQyMTggNTIuNzQyMTg4YzkuNTk3NjU3IDYuNzIyNjU2IDE2Ljg1OTM3NiAxNiAyMS4xMTMyODIgMjYuNjYwMTU2em0wIDAiLz4KICAgICAgICA8cGF0aCBkPSJtNDkwLjgyMDMxMiAzMTAuNTE1NjI1aC0yMTcuMzIwMzEyYy00LjE0NDUzMSAwLTcuNSAzLjM1OTM3NS03LjUgNy41IDAgNC4xNDQ1MzEgMy4zNTU0NjkgNy41MDM5MDYgNy41IDcuNTAzOTA2aDIxNy4zMjAzMTJjMy40MDYyNSAwIDYuMTc5Njg4IDIuNzY5NTMxIDYuMTc5Njg4IDYuMTc1NzgxdjEzLjY3OTY4OGMwIDMuNDA2MjUtMi43NzM0MzggNi4xNzk2ODgtNi4xNzk2ODggNi4xNzk2ODgtMy40NDUzMTIgMC00NjMuNjA5Mzc0IDAtNDY5LjY0MDYyNCAwLTMuNDA2MjUgMC02LjE3OTY4OC0yLjc2OTUzMi02LjE3OTY4OC02LjE3OTY4OHYtMTMuNjc5Njg4YzAtMy40MDYyNSAyLjc3MzQzOC02LjE3NTc4MSA2LjE3OTY4OC02LjE3NTc4MWgyMTcuMzIwMzEyYzQuMTQ0NTMxIDAgNy41LTMuMzU5Mzc1IDcuNS03LjUwMzkwNiAwLTQuMTQwNjI1LTMuMzU1NDY5LTcuNS03LjUtNy41aC04NS4zNTU0NjljLjU5NzY1Ny0xLjk1MzEyNS45MjU3ODEtNC4wMjczNDQuOTI1NzgxLTYuMTc1Nzgxdi0xMy42Nzk2ODhjMC0xMS42Nzk2ODctOS41LTIxLjE3OTY4Ny0yMS4xNzk2ODctMjEuMTc5Njg3aC0xMTEuNzEwOTM3Yy0xMS42Nzk2ODggMC0yMS4xNzk2ODggOS41LTIxLjE3OTY4OCAyMS4xNzk2ODd2MTMuNjc5Njg4YzAgNS4yMTQ4NDQgMS45MDIzNDQgOS45ODQzNzUgNS4wMzkwNjIgMTMuNjc5Njg3LTMuMTM2NzE4IDMuNjkxNDA3LTUuMDM5MDYyIDguNDY0ODQ0LTUuMDM5MDYyIDEzLjY3NTc4MXYxMy42Nzk2ODhjMCAxMS4zMjgxMjUgOC45NDUzMTIgMjAuNTc4MTI1IDIwLjEzNjcxOSAyMS4xMjg5MDZ2Ni42MDkzNzVjMCAxMS42Nzk2ODggOS41MDM5MDYgMjEuMTc5Njg4IDIxLjE3OTY4NyAyMS4xNzk2ODhoMjAuNzE0ODQ0djk1LjE0MDYyNWMwIDcuODc4OTA2IDYuNDEwMTU2IDE0LjI4OTA2MiAxNC4yOTI5NjkgMTQuMjg5MDYyaDE0LjE1MjM0M2M3Ljg3ODkwNyAwIDE0LjI5Mjk2OS02LjQxMDE1NiAxNC4yOTI5NjktMTQuMjg5MDYydi05NS4xNDA2MjVoMzAyLjQ2MDkzOHY5NS4xNDA2MjVjMCA3Ljg3ODkwNiA2LjQxMDE1NiAxNC4yODkwNjIgMTQuMjkyOTY5IDE0LjI4OTA2MmgxNC4xNTIzNDNjNy44ODI4MTMgMCAxNC4yOTI5NjktNi40MTAxNTYgMTQuMjkyOTY5LTE0LjI4OTA2MnYtOTUuMTQwNjI1aDIwLjcxMDkzOGMxMS42Nzk2ODcgMCAyMS4xNzk2ODctOS41IDIxLjE3OTY4Ny0yMS4xNzk2ODh2LTYuNjA5Mzc1YzExLjE5NTMxMy0uNTUwNzgxIDIwLjE0MDYyNS05LjgwMDc4MSAyMC4xNDA2MjUtMjEuMTI4OTA2di0xMy42Nzk2ODhjMC0xMS42NzU3ODEtOS41LTIxLjE3OTY4Ny0yMS4xNzk2ODgtMjEuMTc5Njg3em0tNDc1LjgyMDMxMi0xOS44NTU0NjljMC0zLjQwNjI1IDIuNzczNDM4LTYuMTc5Njg3IDYuMTc5Njg4LTYuMTc5Njg3aDExMS43MTA5MzdjMy40MDYyNSAwIDYuMTc5Njg3IDIuNzczNDM3IDYuMTc5Njg3IDYuMTc5Njg3djEzLjY3OTY4OGMwIDMuNDA2MjUtMi43NzM0MzcgNi4xNzk2ODctNi4xNzk2ODcgNi4xNzk2ODdoLTExMS43MTA5MzdjLTMuNDA2MjUgMC02LjE3OTY4OC0yLjc3MzQzNy02LjE3OTY4OC02LjE3OTY4N3ptNzQuNzY1NjI1IDE5OC4wNjI1aC0xMi43MzQzNzV2LTk0LjQyOTY4N2gxMi43MzQzNzV6bTM0NS4yMDMxMjUgMGgtMTIuNzM4Mjgxdi05NC40Mjk2ODdoMTIuNzM4Mjgxem00MS44OTA2MjUtMTE1LjYwOTM3NWMwIDMuNDA2MjUtMi43Njk1MzEgNi4xNzk2ODgtNi4xNzk2ODcgNi4xNzk2ODgtMTMuNzE0ODQ0IDAtNDE1LjAzNTE1NyAwLTQyOS4zNjMyODIgMC0zLjQwNjI1IDAtNi4xNzk2ODctMi43NzM0MzgtNi4xNzk2ODctNi4xNzk2ODh2LTYuNTU4NTkzaDQ0MS43MjI2NTZ6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0yMjguOTYwOTM4IDExMi41MjczNDRjNC4xNDQ1MzEgMCA3LjUtMy4zNTkzNzUgNy41LTcuNXYtNDEuMTM2NzE5YzAtMTYuMzE2NDA2LTEzLjI3MzQzOC0yOS41OTM3NS0yOS41ODk4NDQtMjkuNTkzNzVoLTE3Ny4yODEyNWMtMTYuMzE2NDA2IDAtMjkuNTg5ODQ0IDEzLjI3MzQzNy0yOS41ODk4NDQgMjkuNTkzNzV2MTE3LjI3NzM0NGMwIDE2LjMxNjQwNiAxMy4yNzM0MzggMjkuNTg5ODQzIDI5LjU4OTg0NCAyOS41ODk4NDNoMTc3LjI4MTI1YzE2LjMxNjQwNiAwIDI5LjU5Mzc1LTEzLjI3MzQzNyAyOS41OTM3NS0yOS41ODk4NDN2LTQxLjE0MDYyNWMwLTQuMTQwNjI1LTMuMzU5Mzc1LTcuNS03LjUwMzkwNi03LjUtNC4xNDA2MjYgMC03LjUgMy4zNTkzNzUtNy41IDcuNXY0MS4xNDA2MjVjMCA4LjA0Mjk2OS02LjU0Njg3NiAxNC41ODk4NDMtMTQuNTg5ODQ0IDE0LjU4OTg0M2gtMTc3LjI4MTI1Yy04LjA0Mjk2OSAwLTE0LjU4OTg0NC02LjU0Njg3NC0xNC41ODk4NDQtMTQuNTg5ODQzdi0xMTcuMjc3MzQ0YzAtOC4wNDY4NzUgNi41NDY4NzUtMTQuNTkzNzUgMTQuNTg5ODQ0LTE0LjU5Mzc1aDE3Ny4yODEyNWM4LjA0Mjk2OCAwIDE0LjU4OTg0NCA2LjU0Njg3NSAxNC41ODk4NDQgMTQuNTkzNzV2NDEuMTM2NzE5YzAgNC4xNDA2MjUgMy4zNTkzNzQgNy41IDcuNSA3LjV6bTAgMCIvPgogICAgICAgIDxwYXRoIGQ9Im0zNC43NzM0MzggNjEuNTcwMzEyYy00LjE0NDUzMiAwLTcuNSAzLjM1OTM3Ni03LjUgNy41djEwNi45MTQwNjNjMCA0LjE0NDUzMSAzLjM1NTQ2OCA3LjUgNy41IDcuNWgxNjYuOTE0MDYyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY5IDcuNS03LjV2LTEwNi45MTQwNjNjMC00LjE0MDYyNC0zLjM1NTQ2OS03LjUtNy41LTcuNXptMTU5LjQxNDA2MiAxMDYuOTE0MDYzaC0xNTEuOTE0MDYydi05MS45MTQwNjNoMTUxLjkxNDA2MnptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==","Front Yard":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNMTI2LjQ5LDM2Ljk0N2MtMzEuNTc5LDAtNTcuMjcsMjUuNjkxLTU3LjI3LDU3LjI3YzAsMzEuNTc5LDI1LjY5MSw1Ny4yNyw1Ny4yNyw1Ny4yN2MzMS41NzgsMCw1Ny4yNy0yNS42OTEsNTcuMjctNTcuMjcKCQkJQzE4My43NjEsNjIuNjM4LDE1OC4wNywzNi45NDcsMTI2LjQ5LDM2Ljk0N3ogTTEyNi40OSwxMzEuNDg3Yy0yMC41NTEsMC0zNy4yNy0xNi43MTktMzcuMjctMzcuMjcKCQkJYzAtMjAuNTUxLDE2LjcxOS0zNy4yNywzNy4yNy0zNy4yN2MyMC41NSwwLDM3LjI3LDE2LjcxOSwzNy4yNywzNy4yN0MxNjMuNzYxLDExNC43NjgsMTQ3LjA0MiwxMzEuNDg3LDEyNi40OSwxMzEuNDg3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMFYxMEMxMzYuNDksNC40NzcsMTMyLjAxNCwwLDEyNi40OSwweiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMTU2LjA5N2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMTIuMzM4CgkJCUMxMzYuNDksMTYwLjU3NCwxMzIuMDE0LDE1Ni4wOTcsMTI2LjQ5LDE1Ni4wOTd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTIxMC43MDgsODQuMjE3SDE5OC4zN2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgxMi4zMzhjNS41MjMsMCwxMC00LjQ3NywxMC0xMAoJCQlTMjE2LjIzLDg0LjIxNywyMTAuNzA4LDg0LjIxN3oiLz4KICAgICAgICA8cGF0aCBkPSJNNTQuNjEsODQuMjE3SDQyLjI3MmMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgxMi4zMzljNS41MjMsMCwxMC00LjQ3Nyw5Ljk5OS0xMAoJCQlDNjQuNjEsODguNjk0LDYwLjEzNCw4NC4yMTcsNTQuNjEsODQuMjE3eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMDAuOTc3LDE5LjcyOWMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwbC05Ljg3Nyw5Ljg3N2MtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzCgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOWMyLjU1OSwwLDUuMTE5LTAuOTc2LDcuMDcxLTIuOTI5bDkuODc3LTkuODc3QzIwNC44ODMsMjkuOTY2LDIwNC44ODMsMjMuNjM0LDIwMC45NzcsMTkuNzI5CgkJCXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuMDIzLDE0NC42ODVjLTMuOTA2LTMuOTA1LTEwLjIzOC0zLjkwNS0xNC4xNDMsMGwtOS44NzcsOS44NzdjLTMuOTA1LDMuOTA2LTMuOTA1LDEwLjIzOCwwLDE0LjE0MwoJCQljMS45NTIsMS45NTMsNC41MTIsMi45MjksNy4wNzEsMi45MjlzNS4xMTktMC45NzYsNy4wNzItMi45MjlsOS44NzctOS44NzdDNzkuOTI4LDE1NC45MjIsNzkuOTI4LDE0OC41OSw3Ni4wMjMsMTQ0LjY4NXoiLz4KICAgICAgICA8cGF0aCBkPSJNNzYuMDIxLDI5LjYwNmwtOS44NzctOS44NzdjLTMuOTA1LTMuOTA1LTEwLjIzNy0zLjkwNS0xNC4xNDIsMGMtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzbDkuODc3LDkuODc3CgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOXM1LjExOS0wLjk3Niw3LjA3MS0yLjkyOUM3OS45MjcsMzkuODQzLDc5LjkyNywzMy41MTEsNzYuMDIxLDI5LjYwNnoiLz4KICAgICAgICA8cGF0aCBkPSJNNDU5LjU0LDQ2OC4zODljLTAuMTI5LTAuNjQtMC4zMi0xLjI3LTAuNTctMS44N2MtMC4yNS0wLjYtMC41Ni0xLjE4LTAuOTItMS43MmMtMC4zNi0wLjU1LTAuNzgtMS4wNi0xLjI0LTEuNTMKCQkJYy0wLjQ2LTAuNDYtMC45Ny0wLjg3LTEuNTItMS4yNGMtMC41NC0wLjM2LTEuMTItMC42Ny0xLjczLTAuOTJjLTAuNTk5LTAuMjUtMS4yMjktMC40NC0xLjg3LTAuNTdjLTEuMjktMC4yNi0yLjYyLTAuMjYtMy45MDksMAoJCQljLTAuNjMxLDAuMTMtMS4yNjEsMC4zMi0xLjg3LDAuNTdjLTAuNjAxLDAuMjUtMS4xODEsMC41Ni0xLjcyMSwwLjkyYy0wLjU1LDAuMzctMS4wNiwwLjc4LTEuNTIsMS4yNAoJCQljLTAuNDYsMC40Ny0wLjg4LDAuOTgtMS4yNSwxLjUzYy0wLjM2LDAuNTQtMC42NywxLjEyLTAuOTIsMS43MmMtMC4yNSwwLjYtMC40NCwxLjIzLTAuNTcsMS44NwoJCQljLTAuMTMsMC42NTEtMC4xOSwxLjMwMS0wLjE5LDEuOTYxYzAsMC42NSwwLjA2LDEuMzEsMC4xOSwxLjk1YzAuMTMsMC42NCwwLjMyLDEuMjcsMC41NywxLjg3YzAuMjUsMC42LDAuNTYsMS4xOCwwLjkyLDEuNzMKCQkJYzAuMzcsMC41NCwwLjc5LDEuMDYsMS4yNSwxLjUyYzAuNDYsMC40NiwwLjk3LDAuODgsMS41MiwxLjI0YzAuNTQsMC4zNiwxLjEyLDAuNjcsMS43MjEsMC45MmMwLjYwOSwwLjI1LDEuMjM5LDAuNDQsMS44NywwLjU3CgkJCWMwLjY1LDAuMTMsMS4zMSwwLjIsMS45NiwwLjJjMC42NSwwLDEuMzEtMC4wNywxLjk0OS0wLjJjMC42NDEtMC4xMywxLjI3LTAuMzIsMS44Ny0wLjU3YzAuNjEtMC4yNSwxLjE5LTAuNTYsMS43My0wLjkyCgkJCWMwLjU1LTAuMzYsMS4wNi0wLjc4LDEuNTItMS4yNGMwLjQ2LTAuNDYsMC44OC0wLjk4LDEuMjQtMS41MmMwLjM2MS0wLjU1LDAuNjctMS4xMywwLjkyLTEuNzNjMC4yNS0wLjYsMC40NC0xLjIzLDAuNTctMS44NwoJCQlzMC4yLTEuMywwLjItMS45NUM0NTkuNzQsNDY5LjY4OSw0NTkuNjcsNDY5LjAzOSw0NTkuNTQsNDY4LjM4OXoiLz4KICAgICAgICA8cGF0aCBkPSJNNDA5LjczOSw0NjAuMzQ2SDYyLjEzOGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHM0LjQ3NywxMCwxMCwxMGgzNDcuNmM1LjUyMywwLDEwLTQuNDc3LDEwLjAwMS0xMAoJCQlDNDE5LjczOSw0NjQuODIzLDQxNS4yNjEsNDYwLjM0Niw0MDkuNzM5LDQ2MC4zNDZ6Ii8+CiAgICAgICAgPHBhdGggZD0iTTUwMS41NjMsNDI3LjkzMWgtNi44MDljLTMuODA2LTIxLjMxMi0yMi40NzYtMzcuNTQtNDQuODY0LTM3LjU0Yy0zLjMsMC02LjU5MSwwLjM2Mi05LjgwMywxLjA2N1YyOTMuMjkKCQkJYzM2LjQ4Mi00LjkwMiw2NC43MDQtMzYuMjM2LDY0LjcwNC03NC4wMzdjMC0xOS43MDktNy43ODEtMzguNTMxLTIxLjUyNC01Mi40NjRjMC4xODYtMS44MTQsMC4yNzgtMy42NDEsMC4yNzgtNS40NjgKCQkJYzAtMjkuNDc3LTIzLjk4MS01My40NTgtNTMuNDU4LTUzLjQ1OGMtMjkuNDc3LDAtNTMuNDU4LDIzLjk4Mi01My40NTgsNTMuNDU4YzAsMS44MjcsMC4wOTMsMy42NTMsMC4yNzcsNS40NjcKCQkJYy0xMy43NDEsMTMuOTM0LTIxLjUyMywzMi43NTYtMjEuNTIzLDUyLjQ2NWMwLDM3LjgwMiwyOC4yMjMsNjkuMTM2LDY0LjcwNCw3NC4wMzd2ODkuNjJjLTQuNjg1LTEuNjMyLTkuNzE2LTIuNTItMTQuOTUxLTIuNTIKCQkJYy0yNS4xMjksMC00NS41NzMsMjAuNDQ0LTQ1LjU3Myw0NS41NzR2MS45NjhoLTguNTA2di0zNS4xM2gwLjAwMWM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi00M2MwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC0wLjAwMQoJCQl2LTQ3LjMyOWMwLTIuODQ0LTEuMjExLTUuNTUzLTMuMzMtNy40NUwzMTYuMjcsMjQ2Ljg2Yy0zLjc5Ny0zLjM5OS05LjU0My0zLjM5OS0xMy4zNCwwbC0yNC43ODcsMjIuMTkxbC0yNC43ODgtMjIuMTkxCgkJCWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMGwtMjQuNzg4LDIyLjE5MWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTktOS41NDMtMy4zOTktMTMuMzQsMC4wMDFsLTI0Ljc4NywyMi4xOTEKCQkJbC0yNC43ODgtMjIuMTkxYy0zLjc5Ny0zLjM5OC05LjU0My0zLjM5OC0xMy4zNCwwTDg5LjM5OCwyNjkuMDVMNjQuNjEsMjQ2Ljg1OWMtMy43OTYtMy4zOTktOS41NDMtMy4zOTktMTMuMzQtMC4wMDEKCQkJbC0zMS40NTgsMjguMTYzYy0yLjExOSwxLjg5Ny0zLjMzLDQuNjA2LTMuMzMsNy40NTF2NDcuMzI5aC0wLjAwMWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHY0M2MwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDAuMDAxCgkJCXYzNS4xM2gtNi4wNDRjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBWNTAyYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDkxLjEyM2M1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi02NC4wNjkKCQkJQzUxMS41NjMsNDMyLjQwOCw1MDcuMDg1LDQyNy45MzEsNTAxLjU2Myw0MjcuOTMxeiBNNDQ5Ljg5LDQxMC4zOTFjMTEuMjk2LDAsMjAuOTA1LDcuMzYyLDI0LjI4MSwxNy41NGgtMjMuNDYydi0xLjk2OAoJCQljMC01LjQ0MS0wLjk1OS0xMC42NjItMi43MTYtMTUuNTA0QzQ0OC42Miw0MTAuNDE0LDQ0OS4yNTMsNDEwLjM5MSw0NDkuODksNDEwLjM5MXogTTQyMC4wODcsMTg1LjU3NHYzMy4xMThsLTEwLjQwNy0xMC40MDcKCQkJYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBjLTMuOTA1LDMuOTA1LTMuOTA1LDEwLjIzNywwLDE0LjE0M2wyMy4yNTcsMjMuMjU3YzAuNDA3LDAuNDA2LDAuODM5LDAuNzcsMS4yOTMsMS4wOTEKCQkJdjI2LjI2NWMtMjUuNDA1LTQuNzEyLTQ0LjcwNC0yNy4wMzktNDQuNzA0LTUzLjc4OWMwLTE1LjgxNiw2Ljg0NS0zMC44NTQsMTguNzc4LTQxLjI1NmMyLjc0LTIuMzg4LDMuOTY5LTYuMDc1LDMuMjA5LTkuNjI5CgkJCWMtMC40OTItMi4yOTktMC43NDEtNC42Ny0wLjc0MS03LjA0N2MwLTE4LjQ0OSwxNS4wMDktMzMuNDU4LDMzLjQ1OC0zMy40NThjMTguNDQ5LDAsMzMuNDU4LDE1LjAwOSwzMy40NTgsMzMuNDU4CgkJCWMwLDIuMzc4LTAuMjQ5LDQuNzQ4LTAuNzQxLDcuMDQ1Yy0wLjc2MiwzLjU1NSwwLjQ2Nyw3LjI0MywzLjIwOCw5LjYzMmMxMS45MzUsMTAuNDAzLDE4Ljc3OSwyNS40NCwxOC43NzksNDEuMjU2CgkJCWMwLDI2Ljc1LTE5LjI5OSw0OS4wNzYtNDQuNzA0LDUzLjc4OHYtMjYuMjY1YzAuNDUzLTAuMzIyLDAuODg3LTAuNjg1LDEuMjkzLTEuMDkxbDIzLjI1Ny0yMy4yNTcKCQkJYzMuOTA1LTMuOTA1LDMuOTA1LTEwLjIzNywwLTE0LjE0M2MtMy45MDYtMy45MDQtMTAuMjM2LTMuOTA0LTE0LjE0MywwbC0xMC40MDcsMTAuNDA3di0zMy4xMThjMC01LjUyMy00LjQ3OC0xMC0xMC0xMAoJCQlDNDI0LjU2NCwxNzUuNTc0LDQyMC4wODcsMTgwLjA1MSw0MjAuMDg3LDE4NS41NzR6IE0zNzkuNTYzLDQyNS45NjNjMC0xNC4xMDIsMTEuNDcyLTI1LjU3NCwyNS41NzMtMjUuNTc0CgkJCWMxNC4xMDIsMCwyNS41NzMsMTEuNDcyLDI1LjU3MywyNS41NzR2MS45NjhoLTUxLjE0NlY0MjUuOTYzeiBNMjg4LjE0MywyODYuOTQxbDIxLjQ1Ny0xOS4yMWwyMS40NTcsMTkuMjFWMzI5LjhoLTQyLjkxNFYyODYuOTQxCgkJCXogTTIyNS4yMjcsMjg2Ljk0MWwyMS40NTgtMTkuMjFsMjEuNDU3LDE5LjIxVjMyOS44aC00Mi45MTVWMjg2Ljk0MXogTTE2Mi4zMTMsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44aC00Mi45MTUKCQkJVjI4Ni45NDF6IE05OS4zOTgsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44SDk5LjM5OFYyODYuOTQxeiBNMzYuNDgzLDI4Ni45NDFsMjEuNDU3LTE5LjIxbDIxLjQ1NywxOS4yMVYzMjkuOAoJCQlIMzYuNDgzVjI4Ni45NDF6IE0yNi40ODIsMzQ5LjgwMWgzMTQuNTc1djIzSDI2LjQ4MlYzNDkuODAxeiBNMzMxLjA1NywzOTIuODAxdjM1LjEzaC00Mi45MTR2LTM1LjEzSDMzMS4wNTd6IE0yNjguMTQzLDM5Mi44MDEKCQkJdjM1LjEzaC00Mi45MTV2LTM1LjEzSDI2OC4xNDN6IE0yMDUuMjI3LDM5Mi44MDF2MzUuMTNoLTQyLjkxNXYtMzUuMTNIMjA1LjIyN3ogTTE0Mi4zMTMsMzkyLjgwMXYzNS4xM0g5OS4zOTh2LTM1LjEzSDE0Mi4zMTN6CgkJCSBNNzkuMzk4LDM5Mi44MDF2MzUuMTNIMzYuNDgzdi0zNS4xM0g3OS4zOTh6IE0yMC40MzgsNDkydi00NC4wNjloNDcxLjEyM1Y0OTJIMjAuNDM4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNzguNDg3LDEyNy44NDNjLTAuNTU2LDAtMS4xMTIsMC4wMTEtMS42NjgsMC4wMzNjLTcuNTQzLTE0LjQyLTIyLjUxOS0yMy45MjMtMzguODk0LTIzLjkyMwoJCQljLTIwLjU4NywwLTM4LjA0NywxNC42ODMtNDIuNzczLDM0LjM0NmMtMTkuNzgzLDEuOTMtMzUuMzA5LDE5LjAwMS0zNS4zMDksMzkuNzA3YzAsMjEuOTk0LDE3LjUxNywzOS44ODcsMzkuMDQ4LDM5Ljg4N2g3OS41OTYKCQkJYzI0LjI4NSwwLDQ0LjA0MS0yMC4xOTgsNDQuMDQxLTQ1LjAyNUMzMjIuNTI3LDE0OC4wNDEsMzAyLjc3MSwxMjcuODQzLDI3OC40ODcsMTI3Ljg0M3ogTTI3OC40ODcsMTk3Ljg5M2gtNzkuNTk2CgkJCWMtMTAuNTAzLDAtMTkuMDQ4LTguOTIxLTE5LjA0OC0xOS44ODdjMC0xMC45NjcsOC41NDUtMTkuODg4LDE5LjA0OC0xOS44ODhjMS4wNTYsMCwyLjE0OCwwLjA5OSwzLjI0NCwwLjI5NgoJCQljMi44OTMsMC41MTYsNS44Ny0wLjI2Nyw4LjEzNS0yLjE0MWMyLjI2NS0xLjg3NSwzLjU5LTQuNjUyLDMuNjIzLTcuNTkyYzAuMTUzLTEzLjYzNSwxMC45MzMtMjQuNzI4LDI0LjAzMi0yNC43MjgKCQkJYzEwLjYzOCwwLDE5Ljg3Nyw3LjEwOCwyMi45ODgsMTcuNjg5YzEuNTExLDUuMTM1LDYuNzk0LDguMTczLDExLjk5NCw2Ljg4NmMxLjgzOC0wLjQ1NCwzLjcxNS0wLjY4NCw1LjU4LTAuNjg0CgkJCWMxMy4yNTYsMCwyNC4wNDEsMTEuMjI2LDI0LjA0MSwyNS4wMjVDMzAyLjUyNywxODYuNjY3LDI5MS43NDMsMTk3Ljg5MywyNzguNDg3LDE5Ny44OTN6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Gallery:Pae,Garage:Wae,Garden:Rae,"Ground Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBzdHJva2U9IiIgZD0iTTQ3Ny40NDQsNDcxLjAzNGgtMy44MzNjLTMuNjc5LTE0LjQzNS0xNS45MjYtMjUuMzU2LTMwLjg1OS0yNy4yNDFWMzA4LjU4N2gyLjEzOGM5LjkxNywwLDE3Ljk4NS04LjA2OCwxNy45ODUtMTcuOTg2CgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNAoJCQljMC0wLjAzMy0wLjAwNS0wLjA2NS0wLjAwNS0wLjA5OGMtMC4wMDEtMC4wOTgtMC4wMDktMC4xOTYtMC4wMTUtMC4yOTRjLTAuMDA5LTAuMTcxLTAuMDIxLTAuMzQyLTAuMDQyLTAuNTEKCQkJYy0wLjAxMS0wLjA4OS0wLjAyNi0wLjE3Ny0wLjA0MS0wLjI2NmMtMC4wMjktMC4xODMtMC4wNjUtMC4zNjQtMC4xMDgtMC41NDJjLTAuMDEtMC4wNC0wLjAxNC0wLjA4MS0wLjAyNC0wLjEyMUw0NDYuMTIzLDI1LjQyCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQKCQkJSDMzNS4zNzJMMjkyLjM0NywyOS43aDQ1Ljg2NmM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3YzAtNC4wMjUtMy4yNjItNy4yODctNy4yODctNy4yODdoLTU1LjU5NmwtMC45MjYtMS4zODcKCQkJQzI3NS45NDgsNS4xMzcsMjY2LjM0MiwwLDI1NS45OTcsMGMtMTAuMzQ1LDAtMTkuOTUsNS4xMzYtMjUuNjk0LDEzLjczOWwtMC45MjcsMS4zODhINzkuMTc4CgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyCgkJCWMtMC4wMTQsMC4wODktMC4wMywwLjE3Ny0wLjA0MSwwLjI2NmMtMC4wMjEsMC4xNjgtMC4wMzMsMC4zMzgtMC4wNDIsMC41MWMtMC4wMDUsMC4wOTgtMC4wMTQsMC4xOTYtMC4wMTUsMC4yOTQKCQkJYzAsMC4wMzMtMC4wMDUsMC4wNjUtMC4wMDUsMC4wOTh2MTQuOTA0YzAsNy4xOTcsNS44NTUsMTMuMDUyLDEzLjA1MiwxMy4wNTJoOS44MTV2MTQzLjIzM2gtMi4xMzgKCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3CgkJCXM3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtNDYuNjk2aDM0NC4zNjR2MTI5LjMxMWMtMC4wNTUtMC4wMzItMC4xMTMtMC4wNi0wLjE2OS0wLjA5MmMtMC43MTQtMC40MTUtMS40MzktMC44MS0yLjE3Ni0xLjE4MgoJCQljLTAuMTQ0LTAuMDczLTAuMjkxLTAuMTM5LTAuNDM1LTAuMjFjLTAuNjE0LTAuMzAyLTEuMjM1LTAuNTg4LTEuODYzLTAuODU5Yy0wLjIxMy0wLjA5Mi0wLjQyNS0wLjE4My0wLjYzOS0wLjI3MgoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2CgkJCWMtMC4yMTktMC4wNjItMC40NC0wLjExOC0wLjY2LTAuMTc2Yy0wLjY0Mi0wLjE2OS0xLjI4OS0wLjMyMy0xLjk0LTAuNDYyYy0wLjE4OC0wLjA0LTAuMzc1LTAuMDg1LTAuNTY0LTAuMTIzCgkJCWMtMC44MTItMC4xNjItMS42MjktMC4zLTIuNDUxLTAuNDE0Yy0wLjE3OC0wLjAyNS0wLjM1OC0wLjA0Mi0wLjUzNy0wLjA2NGMtMC42NzEtMC4wODQtMS4zNDUtMC4xNTItMi4wMjItMC4yMDQKCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUKCQkJYy0wLjg0Ni0wLjAyLTEuNjg0LDAuMDAxLTIuNTE2LDAuMDQ2Yy0wLjE5NSwwLjAxMS0wLjM4NywwLjAzNC0wLjU4MSwwLjA0OGMtMC42MzYsMC4wNDctMS4yNjgsMC4xMDctMS44OTQsMC4xOQoJCQljLTAuMjMsMC4wMzEtMC40NTgsMC4wNzEtMC42ODYsMC4xMDdjLTAuNTg2LDAuMDkyLTEuMTY4LDAuMTk3LTEuNzQ0LDAuMzIxYy0wLjIzNCwwLjA1LTAuNDY1LDAuMTA0LTAuNjk3LDAuMTU5CgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQKCQkJYy0wLjE3MSwwLjA2Ny0wLjM0NSwwLjEyNy0wLjUxNSwwLjE5N2MtMC43MDUsMC4yOS0xLjM5OSwwLjYwMi0yLjA3OSwwLjk0MWMtMC4wMjgsMC4wMTQtMC4wNTgsMC4wMjYtMC4wODYsMC4wNAoJCQljLTAuNzMzLDAuMzY5LTEuNDUsMC43NjYtMi4xNSwxLjE5Yy0wLjA2NiwwLjA0LTAuMTI5LDAuMDg2LTAuMTk1LDAuMTI3Yy0wLjYsMC4zNy0xLjE4NywwLjc1OS0xLjc2LDEuMTY5CgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQoJCQljLTAuMzkxLDAuMzQ1LTAuNzc0LDAuNjk4LTEuMTQ4LDEuMDYzYy0wLjIwMSwwLjE5Ni0wLjQwMSwwLjM5NC0wLjU5NywwLjU5NmMtMC4zNjUsMC4zNzYtMC43MTcsMC43NjMtMS4wNjQsMS4xNTgKCQkJYy0wLjE3OCwwLjIwMy0wLjM1OSwwLjQwNC0wLjUzMywwLjYxMmMtMC4zNjcsMC40NDEtMC43MTcsMC44OTctMS4wNiwxLjM1OWMtMC4xMzEsMC4xNzYtMC4yNjksMC4zNDYtMC4zOTYsMC41MjUKCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkKCQkJYy03LjEzNSwwLTEyLjkzOSw1LjgwNS0xMi45MzksMTIuOTM5djEyNC44NTNoLTYwLjYzOWMtMC4xODgtMC40NjktMC4zOTktMC45MjUtMC42MDUtMS4zODMKCQkJYy0wLjA4OC0wLjE5NC0wLjE2Ni0wLjM5NC0wLjI1Ni0wLjU4NmMtMC4zNTMtMC43NDktMC43MjgtMS40ODMtMS4xMjgtMi4yMDJjLTAuMDc1LTAuMTM1LTAuMTYtMC4yNjMtMC4yMzYtMC4zOTcKCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQKCQkJYy0wLjE4My0wLjI0NS0wLjM3Mi0wLjQ4NC0wLjU2Mi0wLjcyNGMtMC4zMi0wLjQwNS0wLjY0Ni0wLjgwMy0wLjk4Mi0xLjE5M2MtMC4yMDItMC4yMzQtMC40MDUtMC40NjctMC42MTItMC42OTUKCQkJYy0wLjM1Mi0wLjM4OC0wLjcxNC0wLjc2Ni0xLjA4MS0xLjEzOGMtMC4yMDUtMC4yMDctMC40MDctMC40MTctMC42MTYtMC42MmMtMC40MTktMC40MDUtMC44NTItMC43OTQtMS4yOS0xLjE3OAoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDEKCQkJYy0wLjU4OC0wLjQyNi0xLjE4OC0wLjgzNi0xLjgwMS0xLjIyNmMtMC4yMjUtMC4xNDQtMC40NTgtMC4yNzYtMC42ODYtMC40MTRjLTAuNDY3LTAuMjgzLTAuOTM4LTAuNTYyLTEuNDE4LTAuODI0CgkJCWMtMC4yNy0wLjE0OC0wLjU0NS0wLjI4Ny0wLjgxOS0wLjQyOGMtMC40NTYtMC4yMzQtMC45MTYtMC40NjEtMS4zODMtMC42NzZjLTAuMjktMC4xMzQtMC41ODEtMC4yNjQtMC44NzUtMC4zOTEKCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQKCQkJYy0wLjI1Ni0wLjA3Ny0wLjUwOC0wLjE2Mi0wLjc2Ni0wLjIzM2MtMC44LTAuMjIxLTEuNjA4LTAuNDIxLTIuNDI4LTAuNTg4Yy0wLjUyNy0wLjcxOC0xLjA3NC0xLjQxOC0xLjYzNy0yLjA5OQoJCQljLTAuMTkzLTAuMjMzLTAuMzk4LTAuNDUyLTAuNTk1LTAuNjgxYy0wLjM3OC0wLjQ0LTAuNzU0LTAuODgyLTEuMTQ3LTEuMzA2Yy0wLjI0Ni0wLjI2NS0wLjUwNS0wLjUxNC0wLjc1Ny0wLjc3MgoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQoJCQljLTAuMzAxLTAuMjU3LTAuNjE0LTAuNDk4LTAuOTIxLTAuNzQ3Yy0wLjM2OC0wLjI5OC0wLjczMi0wLjYtMS4xMDgtMC44ODZjLTAuMzIyLTAuMjQ0LTAuNjU0LTAuNDcyLTAuOTgxLTAuNzA3CgkJCWMtMC4zNzYtMC4yNy0wLjc0OS0wLjU0NC0xLjEzMy0wLjgwMWMtMC4zMzktMC4yMjctMC42ODctMC40MzktMS4wMzEtMC42NTdjLTAuMzg3LTAuMjQ1LTAuNzcxLTAuNDkzLTEuMTY0LTAuNzI1CgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQKCQkJYy0wLjQwNi0wLjE5NS0wLjgxMS0wLjM5My0xLjIyNC0wLjU3NmMtMC4zOC0wLjE2OS0wLjc2NS0wLjMyMy0xLjE1LTAuNDgyYy0wLjQxNy0wLjE3MS0wLjgzMi0wLjM0NC0xLjI1NS0wLjUwMwoJCQljLTAuMzg5LTAuMTQ3LTAuNzg0LTAuMjgtMS4xNzgtMC40MTZjLTAuNDI3LTAuMTQ3LTAuODU0LTAuMjk2LTEuMjg2LTAuNDNjLTAuMzk4LTAuMTI0LTAuODAxLTAuMjM2LTEuMjA0LTAuMzQ5CgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5CgkJCWMtMC40MTQtMC4wNzgtMC44MzEtMC4xNDUtMS4yNDgtMC4yMTJjLTAuNDUzLTAuMDcyLTAuOTA1LTAuMTQzLTEuMzYxLTAuMjAyYy0wLjQyLTAuMDU0LTAuODQyLTAuMDk4LTEuMjY0LTAuMTQxCgkJCWMtMC40Ni0wLjA0Ny0wLjkyMS0wLjA5LTEuMzg1LTAuMTIyYy0wLjQyNC0wLjAzLTAuODUtMC4wNTEtMS4yNzYtMC4wNjljLTAuMjY5LTAuMDEyLTAuNTM0LTAuMDM2LTAuODA0LTAuMDQzdi0yOS44NTEKCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyCgkJCWMtMTEuMjk0LDAtMjAuNDgzLDkuMTg5LTIwLjQ4MywyMC40ODNzOS4xODksMjAuNDgzLDIwLjQ4MywyMC40ODNoNDQyLjg5NGMxMS4yOTQsMCwyMC40ODMtOS4xODksMjAuNDgzLTIwLjQ4MwoJCQlDNDk3LjkyNyw0ODAuMjIzLDQ4OC43MzgsNDcxLjAzNCw0NzcuNDQ0LDQ3MS4wMzR6IE0yMzkuMzMzLDI2LjQ2YzAtMC4wMDEsMC4wMDEtMC4wMDEsMC4wMDEtMC4wMDFsMy4wODktNC42MjcKCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1MwoJCQljLTIuMzU4LTMuNTMxLTYuMy01LjYzOS0xMC41NDYtNS42MzljLTQuMjQ2LDAtOC4xODksMi4xMDgtMTAuNTQ2LDUuNjM5TDE5OS4zNDcsOTQuMTRoLTUuMjAybDguNzc4LTEzLjE0OEwyMzkuMzMzLDI2LjQ2egoJCQkgTTI5NS4xMjQsOTQuMTRIMjE2Ljg3bDM5LjEyNy01OC42MDRMMjk1LjEyNCw5NC4xNHogTTc5LjgxNiwyOS43aDEzOS44MzFMMjA5LjUxLDQ0Ljg4M0wxNzYuNjIyLDk0LjE0SDYzLjA4MUw3OS44MTYsMjkuN3oKCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQKCQkJYy0xLjg4MSwwLTMuNDEyLTEuNTMxLTMuNDEyLTMuNDEzYzAtMS44ODEsMS41My0zLjQxMiwzLjQxMi0zLjQxMkg0NDQuODljMS44ODEsMCwzLjQxMiwxLjUzMSwzLjQxMiwzLjQxMgoJCQljMCwxLjg4Mi0xLjUzLDMuNDEzLTMuNDEyLDMuNDEzSDY3LjEwNHogTTM2MC40MTYsNDcwLjg5M2MwLjMxNy0wLjE4NywwLjYzOC0wLjM2OCwwLjk2Ny0wLjUzNQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4CgkJCWMwLjI3Mi0wLjA5OCwwLjU0Ny0wLjE4NywwLjgyNC0wLjI3MWMwLjIwMS0wLjA2LDAuNDAyLTAuMTIxLDAuNjA1LTAuMTc0YzAuMjc2LTAuMDcyLDAuNTU2LTAuMTMyLDAuODM2LTAuMTkKCQkJYzAuMjA3LTAuMDQzLDAuNDExLTAuMDkxLDAuNjItMC4xMjZjMC4zNTYtMC4wNiwwLjcxOC0wLjEwMiwxLjA4MS0wLjEzOWMwLjE3Ni0wLjAxOCwwLjM1Mi0wLjAzOSwwLjUyOS0wLjA1MgoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYKCQkJYzAuNTcyLDAuMDY1LDEuMTQ2LDAuMTU1LDEuNzE5LDAuMjc5YzMuNTA5LDAuNzU2LDcuMDQ3LTEuMTU1LDguMzM3LTQuNTA3YzQuMDkyLTEwLjYzOSwxNC40OTYtMTcuNzg3LDI1Ljg5MS0xNy43ODcKCQkJYzcuOTUsMCwxNS41MzMsMy40MjgsMjAuODA2LDkuNDA2YzAuMjEsMC4yMzgsMC40MzMsMC40NiwwLjY2OSwwLjY2NmMwLjAxMywwLjAxMSwwLjAyOCwwLjAyLDAuMDQxLDAuMDMyCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxCgkJCUMzNjAuMjUsNDcwLjk4NSwzNjAuMzM0LDQ3MC45NDIsMzYwLjQxNiw0NzAuODkzeiBNMjkxLjAzOCwzNDcuODE1djEyMy4yMTloLTcwLjA4MlYzNDcuODE1SDI5MS4wMzh6IE03Ny43OTcsNDQ1LjM1MgoJCQljMC43NjctMC4xMjEsMS41MzYtMC4yMTUsMi4zMDUtMC4yNzljMC4wNjYtMC4wMDUsMC4xMzItMC4wMDksMC4xOTgtMC4wMTRjMC43ODQtMC4wNiwxLjU2Ny0wLjA5NiwyLjM0My0wLjA5NgoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNgoJCQljMC4xMTUsMC4wMiwwLjIzLDAuMDQxLDAuMzQ1LDAuMDYzYzAuNSwwLjA5NywwLjk5NSwwLjIwOCwxLjQ4MywwLjMzOGMwLjA2MywwLjAxNywwLjEyNSwwLjAzNywwLjE4OSwwLjA1NQoJCQljMC40NDQsMC4xMjMsMC44ODEsMC4yNjEsMS4zMTMsMC40MTFjMC4wOTksMC4wMzQsMC4xOTksMC4wNjcsMC4yOTgsMC4xMDNjMC40NjcsMC4xNjksMC45MjcsMC4zNTMsMS4zNzksMC41NTMKCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYKCQkJYzAuNDMxLDAuMjM2LDAuODUyLDAuNDg4LDEuMjY1LDAuNzUyYzAuMDk0LDAuMDYsMC4xODcsMC4xMjIsMC4yOCwwLjE4NGMwLjM4OCwwLjI1NywwLjc2OSwwLjUyMywxLjEzOSwwLjgwMwoJCQljMC4wMzIsMC4wMjQsMC4wNjYsMC4wNDcsMC4wOTgsMC4wNzJjMC4zOTIsMC4zLDAuNzcsMC42MTcsMS4xNDEsMC45NDNjMC4wODcsMC4wNzcsMC4xNzQsMC4xNTQsMC4yNiwwLjIzMgoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQoJCQljMC4wNzIsMC4wODYsMC4xNDUsMC4xNzIsMC4yMTYsMC4yNmMwLjA1MywwLjA2NiwwLjEwMSwwLjEzNiwwLjE1NCwwLjIwMkg1Mi4xODFDNTQuMjI5LDQ1Ny44NjgsNjQuNjQzLDQ0Ny40MzksNzcuNzk3LDQ0NS4zNTJ6CgkJCSBNNDc3LjQ0NCw0OTcuNDI3SDM0LjU1Yy0zLjI1OSwwLTUuOTEtMi42NTEtNS45MS01LjkxYzAtMy4yNTksMi42NTEtNS45MSw1LjkxLTUuOTFoNDQyLjg5NGMzLjI1OSwwLDUuOTEsMi42NTEsNS45MSw1LjkxCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiAgZD0iTTE4Ni4yMTMsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODgsNy4yODdoODYuNzljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgIGQ9Ik0yOTkuNjY4LDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU1Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0NgoJCQloLTMuMzM4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAuMDAxLDQuMDI0LDMuMjYzLDcuMjg3LDcuMjg3LDcuMjg3aDg2Ljc5MWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3CgkJCUMzMDYuOTU1LDIzNC44MzUsMzAzLjY5MywyMzEuNTcyLDI5OS42NjgsMjMxLjU3MnogTTI4MS43NTgsMjMxLjU3M2gtNTAuOTd2LTYxLjU1NGg1MC45N1YyMzEuNTczeiIvPgogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiICBkPSJNNDEyLjU3MiwyMzEuNTcyaC0zLjMzOHYtNjUuNzQ2YzAtNS43MjQtNC42NTctMTAuMzgtMTAuMzc5LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDNDE5Ljg1OSwyMzQuODM1LDQxNi41OTcsMjMxLjU3Miw0MTIuNTcyLDIzMS41NzJ6IE0zOTQuNjYxLDIzMS41NzNoLTUwLjk3di02MS41NTRoNTAuOTdWMjMxLjU3M3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTgyLjgxMyw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTUsNC41MjktMTAuMDk1LDEwLjA5NXY2MC4wNDUKCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0aDU5LjUwNGg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3CgkJCUMxOTAuMSw0MTcuMDk1LDE4Ni44MzgsNDEzLjgzMywxODIuODEzLDQxMy44MzN6IE0xNjcuNzEyLDQxMy44MzNoLTQ0LjkzMXYtNTUuNTY3aDQ0LjkzMVY0MTMuODMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik00MDQuMzE0LDQxMy44MzNoLTAuNTI4di02MC4wNDVjMC01LjU2Ni00LjUyOS0xMC4wOTUtMTAuMDk1LTEwLjA5NWgtNTMuODg2Yy01LjU2NiwwLTEwLjA5Niw0LjUyOS0xMC4wOTYsMTAuMDk1djYwLjA0NQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRIMzk2LjVoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDNDExLjYwMSw0MTcuMDk1LDQwOC4zMzksNDEzLjgzMyw0MDQuMzE0LDQxMy44MzN6IE0zODkuMjEzLDQxMy44MzNoLTQ0LjkzMnYtNTUuNTY3aDQ0LjkzMlY0MTMuODMzeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yNzYuNTQ1LDQwNS4wODljLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MTIuNjNjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4NwoJCQljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtMTIuNjNDMjgzLjgzMiw0MDguMzUyLDI4MC41Nyw0MDUuMDg5LDI3Ni41NDUsNDA1LjA4OXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==","Guest Bathroom":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjMuNjE4IDYyLTIuNzE4LTUuNDQ3YTEgMSAwIDAgMCAtLjktLjU1M2gtMXYtMzBoM3YtMmgtM3YtMTlhNS4wMDYgNS4wMDYgMCAwIDAgLTUtNWgtMTRhNS4wMDYgNS4wMDYgMCAwIDAgLTUgNXYxYTMgMyAwIDAgMCAtMyAzdjFoLTVhMyAzIDAgMCAwIC0zIDN2MmExIDEgMCAwIDAgMSAxaDE1di0yaC0xNHYtMWExIDEgMCAwIDEgMS0xaDE4YTEgMSAwIDAgMSAxIDF2MWgtNHYyaDVhMSAxIDAgMCAwIDEtMXYtMmEzIDMgMCAwIDAgLTMtM2gtNXYtMWEzIDMgMCAwIDAgLTMtM3YtMWEzIDMgMCAwIDEgMy0zaDE0YTMgMyAwIDAgMSAzIDN2MTloLTV2Mmg1djE0aC0zdi0yaC0ydjZoMnYtMmgzdjE0aC0xYTEgMSAwIDAgMCAtLjkuNTUzbC0yLjcxOCA1LjQ0N2gtNTIuMzgydjJoNjR2LTJ6bS0yNS42MTgtNTN2MWgtNHYtMWExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXptMTguNjE4IDQ5aDIuNzY0bDIgNGgtNi43NjR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI5IDE4aDJ2NGgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjkgMjRoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yOSAzNGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDM0aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjkgMjhoMnY0aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMyAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMzIDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzMgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00MSAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQxIDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDEgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNyAxOGgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDI0aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzcgMjhoMnY0aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NSAzNGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQ1IDE4aDJ2NGgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtNDUgMjRoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im00NSAyOGgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTQxIDE4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMzMgMThoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNSAyMmgydjRoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI1IDI4aDJ2MmgtMnoiLz4KICAgICAgICA8cGF0aCBkPSJtMjUgMzJoMnY2aC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNSAxOGgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIgMzcuOTg3djE5LjAxM2ExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTE5LjFsMi0uMDEzdjIuMTEzaDJ2LTZoLTJ2MS44ODJsLTE4LjAwNi4xMTguMDEyIDJ6bTIgMTIuMDEzaDEwdjFoLTEwem0wIDZ2LTNoMTB2M3ptMTAtOGgtMTB2LTEwLjAyNmwxMC0uMDY2eiIvPgogICAgICAgIDxwYXRoIGQ9Im0xMCAyOWM0LjQ4NiAwIDgtNS4yNzEgOC0xMnMtMy41MTQtMTItOC0xMi04IDUuMjcxLTggMTIgMy41MTQgMTIgOCAxMnptMC0yMmMzLjI1MiAwIDYgNC41NzkgNiAxMHMtMi43NDggMTAtNiAxMC02LTQuNTc5LTYtMTAgMi43NDgtMTAgNi0xMHoiLz4KICAgICAgICA8cGF0aCBkPSJtNS4wOTUgMTMuNWg3LjgxdjJoLTcuODF6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzY4IC0uNjQgLjY0IC43NjggLTcuMTk3IDkuMTIyKSIvPgogICAgICAgIDxwYXRoIGQ9Im03LjA5NSAxOC41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtOS45MzQgMTEuNTYyKSIvPgogICAgPC9nPgo8L3N2Zz4=","Guest Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NTYsMzI4YTQwLjAzNyw0MC4wMzcsMCwwLDAtOCwuODA0OTNWMTQ0YTcuOTc1MjIsNy45NzUyMiwwLDAsMC0yLjM0MzgxLTUuNjU3NDcsMTQuNjQ1MzUsMTQuNjQ1MzUsMCwwLDEsMC0yMC42ODUwNkE3Ljk3NTIyLDcuOTc1MjIsMCwwLDAsNDQ4LDExMlY4OGg0MGE3Ljk5OTQ2LDcuOTk5NDYsMCwwLDAsNi45NDU4LTExLjk2ODc1bC0zMi01NkE3Ljk5ODYzLDcuOTk4NjMsMCwwLDAsNDU2LDE2SDM4NGE3Ljk5ODYzLDcuOTk4NjMsMCwwLDAtNi45NDU4LDQuMDMxMjVsLTMyLDU2QTcuOTk5NDYsNy45OTk0NiwwLDAsMCwzNTIsODhoNDB2MjRhNy45NzUyMiw3Ljk3NTIyLDAsMCwwLDIuMzQzODEsNS42NTc0NywxNC42NDUzNSwxNC42NDUzNSwwLDAsMSwwLDIwLjY4NTA2QTcuOTc1MjIsNy45NzUyMiwwLDAsMCwzOTIsMTQ0VjMyMEgzMTJWMjg4aDI0YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMjQ4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMzEyVjIxNmg0OGE4LjAwMDA4LDguMDAwMDgsMCwwLDAsOC04VjExMmE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04SDIwOGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOCw4djk2YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LDhoNDh2MjRIMjA1LjQxNjA4bC0xMy42MDU1My0zNC4wMTQ2NS00Ljk3NDEyLTM5Ljc5M0E1Ni41MzE0OCw1Ni41MzE0OCwwLDAsMCwxODQsMTU0LjI2VjgwQTY0LDY0LDAsMCwwLDU2LDgwdjUyLjgyODYxQTU2LjA0MTkzLDU2LjA0MTkzLDAsMCwwLDMzLjU5NDI0LDE2MS45MTlsLTE3LjE4MzYsNTEuNTUwNzhhNy45OTgsNy45OTgsMCwwLDAtLjE3MTg3LDQuNDcwN2w1LjU5MTM3LDIyLjM2NTQ4QTcuOTk3NDUsNy45OTc0NSwwLDAsMCwxNiwyNDhWNDg4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LDhINDg4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMzY4QTQwLjA0NTUyLDQwLjA0NTUyLDAsMCwwLDQ1NiwzMjhabTI0LDQwdjU2SDQzMlYzNjhhMjQsMjQsMCwwLDEsNDgsMFpNMjY0LDQyNFY0MDBhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgtOEg0MDhhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgsOHYyNFpNOTYsNDI0VjQwMGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOC04SDI0MGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOCw4djI0Wm0zMjAtODB2MzMuMzc2MjJBMjMuODgyMTIsMjMuODgyMTIsMCwwLDAsNDA4LDM3NkgyNzJhMjMuOTAxMTEsMjMuOTAxMTEsMCwwLDAtMTYsNi4xMzA4NkEyMy45MDExMSwyMy45MDExMSwwLDAsMCwyNDAsMzc2SDEwNGEyMy44ODIxMiwyMy44ODIxMiwwLDAsMC04LDEuMzc2MjJWMzQ0YTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LThINDA4QTguMDA5MTcsOC4wMDkxNywwLDAsMSw0MTYsMzQ0Wm0xMC40NTE3Mi0yMDhINDEzLjU0ODI4YTMwLjg0MzUxLDMwLjg0MzUxLDAsMCwwLDAtMTZoMTIuOTAzNDRBMzAuODQzNTEsMzAuODQzNTEsMCwwLDAsNDI2LjQ1MTcyLDEzNlpNMzg4LjY0MjU4LDMyaDYyLjcxNDg0bDIyLjg1Njk0LDQwSDM2NS43ODU2NFpNNDMyLDg4djE2SDQwOFY4OFptLTI0LDY0aDI0VjMzNi4wMjJjLS4zNjYzMy4yNzU2NC0uNzI0MTguNTYyLTEuMDgwNjkuODQ5NjFBMjQuMDQzNjksMjQuMDQzNjksMCwwLDAsNDA4LDMyMFpNMjk2LDMyMEgxMDRhMjQuMDQzNjksMjQuMDQzNjksMCwwLDAtMjIuOTE5MzEsMTYuODcxNThBMzkuOSwzOS45LDAsMCwwLDMyLDMzNi4wMjJWMjg4SDI5NlptMzItNDhIMzJWMjU2SDMyOFpNNzIsMjQwSDY0VjIyNS41NDFsNy4zMTY4OS0xOC4yOTJMNzIsMjA5LjI5Nzg1Wm04OC0uMDAwMjQuMDAwMjQuMDAwMjRIMTYwWk0yMTYsMjAwVjEyMEgzNTJ2ODBIMzEyVjE2OGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04SDI2NGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOCw4djMyWm01Ni0yNGgyNHY2NEgyNzJaTTEyMCwzMmE0OC4wNTQsNDguMDU0LDAsMCwxLDQ4LDQ4djUwLjg1MzUyYTU2LjcyNTYyLDU2LjcyNTYyLDAsMCwwLTcuOTE5OTItNS43MzUzNmwtMTEuNDQxNjUtNi44NjVBMzEuNzk0MDUsMzEuNzk0MDUsMCwwLDAsMTUyLDEwNFY4MGE4LjAwMDA4LDguMDAwMDgsMCwwLDAtOC04aC02LjExMTMzYTIwLjgzMDUzLDIwLjgzMDUzLDAsMCwxLTE4LjczMzQtMTEuNTc4MTIsOC4wMDA2NCw4LjAwMDY0LDAsMCwwLTEyLjgxMi0yLjA3OTExbC0xNiwxNkE4LjAwMDc2LDguMDAwNzYsMCwwLDAsODgsODB2MjRhMzEuODAxODgsMzEuODAxODgsMCwwLDAsMi43NTc1MSwxMi45NzExOUw3MiwxMjUuMDFWODBBNDguMDU0LDQ4LjA1NCwwLDAsMSwxMjAsMzJabTE2LDcyYTE2LDE2LDAsMCwxLTMyLDBWODMuMzEzNDhsNi45NDY3OC02Ljk0NjI5QTM2LjY5ODE2LDM2LjY5ODE2LDAsMCwwLDEzNiw4Ny45NTMxMlptLTM0Ljc3MTkxLDI1Ljg5MjA5YTMxLjkxNjEzLDMxLjkxNjEzLDAsMCwwLDM2LjcwNDQ3LjU5NzE3bDEuMjM3MTguNzQyNDNMMTIwLDE1NS4xOTMzNmwtMTkuODY2MjctMjQuODMyMjhaTTQ4Ljc3MywxNjYuOTc5NDlBNDAuMDM1MzgsNDAuMDM1MzgsMCwwLDEsNzAuOTYzODcsMTQyLjg2MjNsMTMuOTExNjItNS45NjE5MSwyOC44Nzc0NCwzNi4wOTY2OGE3Ljk5OTQzLDcuOTk5NDMsMCwwLDAsMTIuNDk0MTQsMEwxNTIuOTksMTM5LjU2ODM2YTM5LjcyNzc5LDM5LjcyNzc5LDAsMCwxLDE3Ljk2OTQ4LDI4LjYwODRsNS4xMDI1NCw0MC44MTU0M2E3Ljk4MjgxLDcuOTgyODEsMCwwLDAsLjUxMDI2LDEuOTc4NTFMMTg4LjE4MzU5LDI0MEgxODBsLTIwLTI2LjY2N1YyMDEuODA2NjRhNTAuODIzMzgsNTAuODIzMzgsMCwwLDAsMS45MzI2Mi0zNy4zMDc2MmwtMi4zNDMyNi03LjAyOTI5LTE1LjE3ODcyLDUuMDYwNTQsMi4zNDMyNyw3LjAyOTNhMzQuOTU1MTMsMzQuOTU1MTMsMCwwLDEtMS45MDkxOCwyNi44NjIzMUE3Ljk5OTM0LDcuOTk5MzQsMCwwLDAsMTQ0LDIwMHY0MEg4OFYyMDhhOC4wMDY0Myw4LjAwNjQzLDAsMCwwLS40MTA2NC0yLjUzMDI3bC04LTI0YTguMDAwMDksOC4wMDAwOSwwLDAsMC0xNS4wMTcwOS0uNDQwNDNsLTE2LDQwQTcuOTk3MjMsNy45OTcyMywwLDAsMCw0OCwyMjR2MTZIMzguMjQ2MDlsLTUuOTE5OTItMjMuNjgwNjZaTTMyLDM2OGEyNCwyNCwwLDAsMSw0OCwwdjU2SDMyWk00ODAsNDgwSDMyVjQ0MEg0ODBaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=",Gym:Jae,Hall:Bae,"Home Theater":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSIxIC00NCA1MTEuOTk4OTkgNTExIiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgPHBhdGggZD0ibTI4Mi41MTk1MzEgMzMzLjk4ODI4MWMtNC4xNzE4NzUgMC03LjU0Njg3NSAzLjM3ODkwNy03LjU0Njg3NSA3LjU0Njg3NSAwIDQuMTY3OTY5IDMuMzc1IDcuNTQ2ODc1IDcuNTQ2ODc1IDcuNTQ2ODc1aDExNC4zMzk4NDRjNy4wODIwMzEgMCAxMi44NDM3NS01Ljc2MTcxOSAxMi44NDM3NS0xMi44NDc2NTZ2LTE5MS45Mjk2ODdjMC03LjA4MjAzMi01Ljc2MTcxOS0xMi44NDc2NTctMTIuODQzNzUtMTIuODQ3NjU3aC0yODEuNzE4NzVjLTcuMDgyMDMxIDAtMTIuODQzNzUgNS43NjU2MjUtMTIuODQzNzUgMTIuODQ3NjU3djE5MS45Mjk2ODdjMCA3LjA4NTkzNyA1Ljc2MTcxOSAxMi44NDc2NTYgMTIuODQzNzUgMTIuODQ3NjU2aDEzNy4xOTE0MDZjNC4xNjc5NjkgMCA3LjU0Njg3NS0zLjM3ODkwNiA3LjU0Njg3NS03LjU0Njg3NSAwLTQuMTY3OTY4LTMuMzc4OTA2LTcuNTQ2ODc1LTcuNTQ2ODc1LTcuNTQ2ODc1aC0xMzQuOTQ1MzEydi0xODcuNDM3NWgyNzcuMjI2NTYydjE4Ny40Mzc1em0wIDAiLz4KICAgIDxwYXRoIGQ9Im00OS4yNjE3MTkgODIuNzQyMTg4YzE1LjU4MjAzMSAwIDI4LjI2MTcxOS0xMi42Nzk2ODggMjguMjYxNzE5LTI4LjI1MzkwNyAwLTE1LjU4NTkzNy0xMi42Nzk2ODgtMjguMjYxNzE5LTI4LjI2MTcxOS0yOC4yNjE3MTktMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjYxNzE5IDAgMTUuNTc0MjE5IDEyLjY3NTc4MiAyOC4yNTM5MDcgMjguMjUzOTA3IDI4LjI1MzkwN3ptMC00MS40MjU3ODJjNy4yNjE3MTkgMCAxMy4xNjc5NjkgNS45MDYyNSAxMy4xNjc5NjkgMTMuMTcxODc1IDAgNy4yNTM5MDctNS45MDYyNSAxMy4xNjAxNTctMTMuMTY3OTY5IDEzLjE2MDE1Ny03LjI1MzkwNyAwLTEzLjE2MDE1Ny01LjkwNjI1LTEzLjE2MDE1Ny0xMy4xNjAxNTcgMC03LjI2NTYyNSA1LjkwNjI1LTEzLjE3MTg3NSAxMy4xNjAxNTctMTMuMTcxODc1em0wIDAiLz4KICAgIDxwYXRoIGQ9Im00NjIuNzM4MjgxLjVjLTI3LjE2NDA2MiAwLTQ5LjI2OTUzMSAyMi4xMDU0NjktNDkuMjY5NTMxIDQ5LjI2OTUzMXY1Ni4zMDQ2ODhjLTUuNjUyMzQ0LTEuMzY3MTg4LTYuMDQyOTY5LS41MzUxNTctNTQuMzMyMDMxLS43NzczNDQtNC4xNjQwNjMgMC03LjU0Mjk2OSAzLjM4MjgxMy03LjU0Mjk2OSA3LjU0Njg3NXMzLjM3ODkwNiA3LjU0Njg3NSA3LjU0Mjk2OSA3LjU0Njg3NWg0Ny43MjI2NTZjNy43MzA0NjkgMCAxMy45MTQwNjMgNi4zMDQ2ODcgMTMuOTE0MDYzIDEzLjkxNDA2M3YyMTEuOTMzNTkzYzAgNy42NjQwNjMtNi4yNDYwOTQgMTMuOTE0MDYzLTEzLjkxNDA2MyAxMy45MTQwNjMtNTkuNDE3OTY5IDAtMjMxLjU1NDY4NyAwLTMwMS43MTg3NSAwLTcuNjY3OTY5IDAtMTMuOTE0MDYzLTYuMjUtMTMuOTE0MDYzLTEzLjkxNDA2MyAwLTEwLjc0NjA5MyAwLTIwNC41ODk4NDMgMC0yMTEuOTMzNTkzIDAtNS4yNzM0MzggMi45NTcwMzItOS44Nzg5MDcgNy4zMDQ2ODgtMTIuMjQ2MDk0IDUuODQzNzUtMy4xNzU3ODItNC4yNDIxODgtMS4wNDY4NzUgMjMwLjQyMTg3NS0xLjY2Nzk2OSA0LjE3NTc4MSAwIDcuNTQ2ODc1LTMuMzgyODEzIDcuNTQ2ODc1LTcuNTQ2ODc1cy0zLjM3MTA5NC03LjU0Njg3NS03LjU0Njg3NS03LjU0Njg3NWMtMjM2LjM1MTU2My4yNzM0MzctMjI0LjU1MDc4MS0uNjQ0NTMxLTIzMC40MjE4NzUuNzc3MzQ0di01Ni4zMDQ2ODhjMC0yNy4xNjQwNjItMjIuMTA1NDY5LTQ5LjI2OTUzMS00OS4yNjk1MzEtNDkuMjY5NTMxLTIyLjc2OTUzMSAwLTQyLjQ0OTIxOSAxNS40MzM1OTQtNDcuODYzMjgxIDM3LjUyNzM0NC0uOTg0Mzc2IDQuMDU0Njg3IDEuNSA4LjE0MDYyNSA1LjU0Mjk2OCA5LjEyNSA0LjA0Njg3NS45ODgyODEgOC4xMjg5MDYtMS40ODgyODIgOS4xMjUtNS41MzEyNSAzLjc0NjA5NC0xNS4zMjQyMTkgMTcuMzk4NDM4LTI2LjAzMTI1IDMzLjE5NTMxMy0yNi4wMzEyNSAxOC44NDM3NSAwIDM0LjE3NTc4MSAxNS4zMzU5MzcgMzQuMTc1NzgxIDM0LjE3OTY4N3Y2NS4zMTY0MDdjLTMuMTEzMjgxIDMuNTExNzE4LTUuMzkwNjI1IDcuNzczNDM3LTYuNTExNzE5IDEyLjQ4MDQ2OC0yLjY3MTg3NS0xMi44MjQyMTgtMTQuMDU4NTkzLTIyLjQ4ODI4MS0yNy42NjQwNjItMjIuNDg4MjgxLTE1LjU3ODEyNSAwLTI4LjI1MzkwNyAxMi42Nzk2ODctMjguMjUzOTA3IDI4LjI1NzgxMyAwIDE1LjU3ODEyNCAxMi42NzU3ODIgMjguMjU3ODEyIDI4LjI1MzkwNyAyOC4yNTc4MTIgMTIuNTM1MTU2IDAgMjMuMTg3NS04LjIxMDkzOCAyNi44NzEwOTMtMTkuNTMxMjV2NjEuMzk4NDM4Yy0zLjY4MzU5My0xMS4zMjAzMTMtMTQuMzM1OTM3LTE5LjUyNzM0NC0yNi44NzEwOTMtMTkuNTI3MzQ0LTE1LjU3ODEyNSAwLTI4LjI1MzkwNyAxMi42NzU3ODEtMjguMjUzOTA3IDI4LjI1MzkwNiAwIDE1LjU4MjAzMSAxMi42NzU3ODIgMjguMjU3ODEyIDI4LjI1MzkwNyAyOC4yNTc4MTIgMTIuNTM1MTU2IDAgMjMuMTg3NS04LjIwNzAzMSAyNi44NzEwOTMtMTkuNTMxMjV2NjEuNDAyMzQ0Yy0zLjY4MzU5My0xMS4zMjQyMTgtMTQuMzM1OTM3LTE5LjUzMTI1LTI2Ljg3MTA5My0xOS41MzEyNS0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc1NzgyLTI4LjI1MzkwNyAyOC4yNTM5MDYgMCAxNS41ODIwMzIgMTIuNjc1NzgyIDI4LjI1NzgxMyAyOC4yNTM5MDcgMjguMjU3ODEzIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMDcwMzEgMjYuODcxMDkzLTE5LjUzMTI1djE3LjA4OTg0NGMtMjAuMTA1NDY4IDI1LjUzMTI1LTYxLjAzOTA2MiAxMS4xMjUtNjEuMDM5MDYyLTIxLjA5NzY1N3YtMjI1Ljg0Mzc1YzAtNC4xNzU3ODEtMy4zODI4MTItNy41NDY4NzQtNy41NDY4NzUtNy41NDY4NzQtNC4xNzU3ODEgMC03LjU0Njg3NSAzLjM3MTA5My03LjU0Njg3NSA3LjU0Njg3NHYyMjUuODQzNzVjMCAyNC42MDE1NjMgMTguMTIxMDk0IDQ1LjA1MDc4MiA0MS43MTg3NSA0OC42OTUzMTN2NjIuNTI3MzQ0aC0xOC45NjQ4NDRjLTQuMTY3OTY4IDAtNy41NDY4NzUgMy4zNzg5MDYtNy41NDY4NzUgNy41NDY4NzUgMCA0LjE2Nzk2OCAzLjM3ODkwNyA3LjU0Njg3NSA3LjU0Njg3NSA3LjU0Njg3NWg1My4wMTk1MzJjNC4xNjc5NjggMCA3LjU0Njg3NC0zLjM3ODkwNyA3LjU0Njg3NC03LjU0Njg3NSAwLTQuMTY3OTY5LTMuMzc4OTA2LTcuNTQ2ODc1LTcuNTQ2ODc0LTcuNTQ2ODc1aC0xOC45NjQ4NDR2LTYyLjUzMTI1YzcuMDQyOTY4LTEuMDg1OTM4IDEzLjU5NzY1Ni0zLjY2Nzk2OSAxOS4zMjQyMTgtNy40MTAxNTd2OS4xOTkyMTljMCAxNS45ODQzNzUgMTMuMDE5NTMyIDI5LjAwMzkwNyAyOS4wMDc4MTMgMjkuMDAzOTA3aDQ1LjgyMDMxM3YzNS44OTg0MzdjMCA2LjI4OTA2MyA1LjEwOTM3NCAxMS40MTAxNTYgMTEuMzk4NDM3IDExLjQxMDE1NmgyMS4xMjg5MDZjNi4yODkwNjMgMCAxMS4zOTg0MzgtNS4xMjEwOTMgMTEuMzk4NDM4LTExLjQxMDE1NnYtMzUuODk4NDM3aDEyMi4yMjY1NjJ2MzUuODk4NDM3YzAgNi4yODkwNjMgNS4xMDkzNzUgMTEuNDEwMTU2IDExLjM5ODQzOCAxMS40MTAxNTZoMjEuMTI4OTA2YzYuMjg5MDYzIDAgMTEuMzk4NDM3LTUuMTIxMDkzIDExLjM5ODQzNy0xMS40MTAxNTZ2LTM1Ljg5ODQzN2g0NS44MjAzMTNjMTUuOTg4MjgxIDAgMjkuMDA3ODEzLTEzLjAxOTUzMiAyOS4wMDc4MTMtMjkuMDAzOTA3di05LjE5OTIxOWM1LjcyNjU2MiAzLjc0MjE4OCAxMi4yODEyNSA2LjMyNDIxOSAxOS4zMjQyMTggNy40MTAxNTd2NjIuNTMxMjVoLTE4Ljk2NDg0NGMtNC4xNjc5NjggMC03LjU0Njg3NCAzLjM3ODkwNi03LjU0Njg3NCA3LjU0Njg3NSAwIDQuMTY3OTY4IDMuMzc4OTA2IDcuNTQ2ODc1IDcuNTQ2ODc0IDcuNTQ2ODc1aDUzLjAxOTUzMmM0LjE2Nzk2OCAwIDcuNTQ2ODc1LTMuMzc4OTA3IDcuNTQ2ODc1LTcuNTQ2ODc1IDAtNC4xNjc5NjktMy4zNzg5MDctNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVoLTE4Ljk2NDg0NHYtNjIuNTI3MzQ0YzIzLjU5NzY1Ni0zLjY0NDUzMSA0MS43MTg3NS0yNC4wOTM3NSA0MS43MTg3NS00OC42OTUzMTN2LTI0NS45ODgyODFjMC0yNy4xNjQwNjItMjIuMDkzNzUtNDkuMjY5NTMxLTQ5LjI2MTcxOS00OS4yNjk1MzF6bS00MTMuNDc2NTYyIDE0NmMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY0MDYyIDAtNy4yNTc4MTMgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY0MDYzLTEzLjE2NDA2MyA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjMgMCA3LjI1NzgxMi01LjkwNjI1IDEzLjE2NDA2Mi0xMy4xNjQwNjIgMTMuMTY0MDYyem0wIDc4Ljg1NTQ2OWMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY3OTY5IDAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYzLTEzLjE2NDA2MiA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjIgMTMuMTY3OTY5em0wIDc4Ljg1MTU2MmMtNy4yNTc4MTMgMC0xMy4xNjQwNjMtNS45MDYyNS0xMy4xNjQwNjMtMTMuMTY3OTY5IDAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYzLTEzLjE2NDA2MiA3LjI1NzgxMiAwIDEzLjE2NDA2MiA1LjkwNjI1IDEzLjE2NDA2MiAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjIgMTMuMTY3OTY5em0xMzAuNTM1MTU2IDEwMy4yNTM5MDdoLTEzLjc0NjA5NHYtMzIuMjE4NzVoMTMuNzQ2MDk0em0xNjYuMTUyMzQ0IDBoLTEzLjc0NjA5NHYtMzIuMjE4NzVoMTMuNzQ2MDk0em0xNTAuOTU3MDMxLTExMS43MDMxMjZjMCAzMi4yMzgyODItNDAuOTQxNDA2IDQ2LjYyMTA5NC02MS4wMzkwNjIgMjEuMDk3NjU3di0xNy4wODU5MzhjMy42ODM1OTMgMTEuMzIwMzEzIDE0LjMzNTkzNyAxOS41MjczNDQgMjYuODcxMDkzIDE5LjUyNzM0NCAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTc4MTMgMC0xNS41NzgxMjQtMTIuNjc1NzgyLTI4LjI1MzkwNi0yOC4yNTM5MDctMjguMjUzOTA2LTEyLjUzNTE1NiAwLTIzLjE4MzU5MyA4LjIwNzAzMi0yNi44NzEwOTMgMTkuNTI3MzQ0di02MS4zOTQ1MzFjMy42ODM1OTMgMTEuMzIwMzEyIDE0LjMzNTkzNyAxOS41MjczNDMgMjYuODcxMDkzIDE5LjUyNzM0MyAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTc4MTIgMC0xNS41NzgxMjUtMTIuNjc1NzgyLTI4LjI1MzkwNi0yOC4yNTM5MDctMjguMjUzOTA2LTEyLjUzNTE1NiAwLTIzLjE4MzU5MyA4LjIwNzAzMS0yNi44NzEwOTMgMTkuNTI3MzQ0di02MS4zOTg0MzhjMy42ODM1OTMgMTEuMzI0MjE5IDE0LjMzNTkzNyAxOS41MzEyNSAyNi44NzEwOTMgMTkuNTMxMjUgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEyIDAtMTUuNTc4MTI2LTEyLjY3NTc4Mi0yOC4yNTM5MDctMjguMjUzOTA3LTI4LjI1MzkwNy0xMy42MDU0NjkgMC0yNC45OTIxODcgOS42NjAxNTctMjcuNjY0MDYyIDIyLjQ4NDM3NS0xLjEyMTA5NC00LjcwNzAzMS0zLjM5ODQzOC04Ljk2ODc1LTYuNTExNzE5LTEyLjQ3NjU2MnYtNjUuMzIwMzEzYzAtMTguODQzNzUgMTUuMzMyMDMxLTM0LjE3OTY4NyAzNC4xNzk2ODgtMzQuMTc5Njg3IDE4Ljg0Mzc1IDAgMzQuMTY3OTY4IDE1LjMzNTkzNyAzNC4xNjc5NjggMzQuMTc5Njg3djI0NS45ODgyODF6bS00Ny4zMzIwMzEtNC43MTg3NWMwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2Mi0xMy4xNjQwNjIgNy4yNTc4MTMgMCAxMy4xNjQwNjMgNS45MDYyNSAxMy4xNjQwNjMgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYzIDEzLjE2Nzk2OS03LjI1NzgxMiAwLTEzLjE2NDA2Mi01LjkwNjI1LTEzLjE2NDA2Mi0xMy4xNjc5Njl6bTAtNzguODUxNTYyYzAtNy4yNTc4MTIgNS45MDYyNS0xMy4xNjQwNjIgMTMuMTY0MDYyLTEzLjE2NDA2MiA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwNjI1IDEzLjE2NDA2MyAxMy4xNjQwNjIgMCA3LjI2MTcxOS01LjkwNjI1IDEzLjE2Nzk2OS0xMy4xNjQwNjMgMTMuMTY3OTY5LTcuMjU3ODEyIDAtMTMuMTY0MDYyLTUuOTA2MjUtMTMuMTY0MDYyLTEzLjE2Nzk2OXptMC03OC44NTE1NjJjMC03LjI1NzgxMyA1LjkwNjI1LTEzLjE2NDA2MyAxMy4xNjQwNjItMTMuMTY0MDYzIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTA2MjUgMTMuMTY0MDYzIDEzLjE2NDA2MyAwIDcuMjU3ODEyLTUuOTA2MjUgMTMuMTY0MDYyLTEzLjE2NDA2MyAxMy4xNjQwNjItNy4yNTc4MTIgMC0xMy4xNjQwNjItNS45MDYyNS0xMy4xNjQwNjItMTMuMTY0MDYyem0wIDAiLz4KICAgIDxwYXRoIGQ9Im00NjIuNzM4MjgxIDI2LjIyNjU2MmMtMTUuNTgyMDMxIDAtMjguMjU3ODEyIDEyLjY3NTc4Mi0yOC4yNTc4MTIgMjguMjU3ODEzIDAgMTUuNTc4MTI1IDEyLjY3NTc4MSAyOC4yNTM5MDYgMjguMjU3ODEyIDI4LjI1MzkwNiAxNS41NzgxMjUgMCAyOC4yNTM5MDctMTIuNjc1NzgxIDI4LjI1MzkwNy0yOC4yNTM5MDYgMC0xNS41ODIwMzEtMTIuNjc1NzgyLTI4LjI1NzgxMy0yOC4yNTM5MDctMjguMjU3ODEzem0wIDQxLjQyMTg3NmMtNy4yNjE3MTkgMC0xMy4xNjc5NjktNS45MDYyNS0xMy4xNjc5NjktMTMuMTY0MDYzIDAtNy4yNjE3MTkgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY3OTY5LTEzLjE2NDA2MyA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwMjM0NCAxMy4xNjQwNjMgMTMuMTY0MDYzIDAgNy4yNTc4MTMtNS45MDYyNSAxMy4xNjQwNjMtMTMuMTY0MDYzIDEzLjE2NDA2M3ptMCAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==",Kitchen:Fae,"Laundry Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtNjEgMmgtNThjLS41NTIgMC0xIC40NDgtMSAxdjU4YzAgLjU1Mi40NDggMSAxIDFoNThjLjU1MiAwIDEtLjQ0OCAxLTF2LTU4YzAtLjU1Mi0uNDQ4LTEtMS0xem0tMSA2aC00di0yYzAtLjU1Mi0uNDQ4LTEtMS0xaC02Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyaC0zYy0uNTUyIDAtMSAuNDQ4LTEgMXY5aC0ydi0xNGgxOHptLTEyLjE0MiAzMS0xLjY5Mi0xMWg5LjY2OWwtMS42OTIgMTF6bTEuMTQyLTEzYzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTguNzU5LjM0OWMtLjE5LS4yMjItLjQ2Ny0uMzQ5LS43NTktLjM0OWgtMmMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNGgtMmMtLjI5MiAwLS41NjkuMTI3LS43NTkuMzQ5cy0uMjc0LjUxNS0uMjI5LjgwM2wxLjgyMyAxMS44NDhoLTMuODM1di0xOWgxOHYxOWgtMy44MzVsMS44MjMtMTEuODQ4Yy4wNDUtLjI4OC0uMDM5LS41ODItLjIyOS0uODAzem0tNy43NTktMTcuMzQ5di0yaDR2MTFoLTR6bS0yIDloLTJ2LThoMnptOCAwdi04aDR2OHptLTE2LTE0djE0aC0ydi0xMGMwLS41NTItLjQ0OC0xLTEtMWgtNmMtLjU1MiAwLTEgLjQ0OC0xIDF2MTBoLTJ2LTdjMC0uMjY1LS4xMDUtLjUyLS4yOTMtLjcwN2wtMS43MDctMS43MDd2LTIuNTg2YzAtLjU1Mi0uNDQ4LTEtMS0xaC00Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyLjU4NmwtMS43MDcgMS43MDdjLS4xODguMTg3LS4yOTMuNDQyLS4yOTMuNzA3djdoLTJ2LTEwYzAtLjU1Mi0uNDQ4LTEtMS0xaC04Yy0uNTUyIDAtMSAuNDQ4LTEgMXYxMGgtMnYtMTR6bS00IDE0aC00di05aDR6bS0xMS43MDctOC4yOTMgMS43MDcgMS43MDd2Ni41ODZoLTZ2LTYuNTg2bDEuNzA3LTEuNzA3Yy4xODgtLjE4Ny4yOTMtLjQ0Mi4yOTMtLjcwN3YtMmgydjJjMCAuMjY1LjEwNS41Mi4yOTMuNzA3em0tMTAuMjkzIDguMjkzaC02di05aDZ6bS0xMCAyaDM2djQwaC0zNnptNDUgMjhoLTJ2LTFoMnptLTMgMmg0LjY0OWw0LjM1MSAzLjQ4djYuNTJoLTl6bTExIDEwdi03YzAtLjMwNC0uMTM4LS41OTEtLjM3NS0uNzgxbC01LTRjLS4xNzgtLjE0Mi0uMzk4LS4yMTktLjYyNS0uMjE5di0yYzAtLjU1Mi0uNDQ4LTEtMS0xaC00Yy0uNTUyIDAtMSAuNDQ4LTEgMXYyYy0uNTUyIDAtMSAuNDQ4LTEgMXYxMWgtMnYtMTloMTh2MTl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM3IDIyaC0zMGMtLjU1MiAwLTEgLjQ0OC0xIDF2MzRjMCAuNTUyLjQ0OCAxIDEgMWgzMGMuNTUyIDAgMS0uNDQ4IDEtMXYtMzRjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDJ2NWgtMjh2LTV6bS0yOCAzMnYtMjVoMjh2MjV6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIyIDMzYy02LjA2NSAwLTExIDQuOTM1LTExIDExczQuOTM1IDExIDExIDExIDExLTQuOTM1IDExLTExLTQuOTM1LTExLTExLTExem0wIDIwYy00Ljk2MiAwLTktNC4wMzgtOS05czQuMDM4LTkgOS05IDkgNC4wMzggOSA5LTQuMDM4IDktOSA5eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yNi4xOTkgNDguMjg2IDEuMzk5IDEuNDI5Yy42NzctLjY2MyAxLjIyNi0xLjQzMiAxLjYzMS0yLjI4NmwtMS44MDctLjg1N2MtLjMwMy42MzktLjcxNCAxLjIxNi0xLjIyMyAxLjcxNHoiLz4KICAgICAgICA8cGF0aCBkPSJtMjIgMzZ2MmMzLjMwOSAwIDYgMi42OTEgNiA2aDJjMC00LjQxMS0zLjU4OS04LTgtOHoiLz4KICAgICAgICA8cGF0aCBkPSJtMTAgMjVoMnYyaC0yeiIvPgogICAgICAgIDxwYXRoIGQ9Im0xNCAyNWgydjJoLTJ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTMyIDI1aDJ2MmgtMnoiLz4KICAgIDwvZz4KPC9zdmc+","Living Area":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Im00OTQuNSAyNzcuNjY3aC01LjV2LTM2LjVjMC0xNS4xNjQtMTIuMzM2LTI3LjUtMjcuNS0yNy41aC0xMTBjLTcuODc1IDAtMTQuOTgyIDMuMzMyLTIwIDguNjU1LTUuMDE4LTUuMzIyLTEyLjEyNS04LjY1NS0yMC04LjY1NWgtMTEwYy03Ljg3NSAwLTE0Ljk4MiAzLjMzMi0yMCA4LjY1NS01LjAxOC01LjMyMi0xMi4xMjUtOC42NTUtMjAtOC42NTVoLTQwLjVjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoNDAuNWM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djc3LjAxOGMtMy43NTMtMS45MjQtOC0zLjAxOC0xMi41LTMuMDE4aC0xMDEuNXYtMjBjMC05LjY0OS03Ljg1MS0xNy41LTE3LjUtMTcuNWgtMy41di0zNi41YzAtNi44OTMgNS42MDctMTIuNSAxMi41LTEyLjVoMzQuNWM0LjE0MiAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1OC03LjUtNy41LTcuNWgtMzQuNWMtMTUuMTY0IDAtMjcuNSAxMi4zMzYtMjcuNSAyNy41djM2LjVoLTYuNWMtOS42NDkgMC0xNy41IDcuODUxLTE3LjUgMTcuNXY0Mi41YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTQyLjVjMC0xLjM3OCAxLjEyMi0yLjUgMi41LTIuNWgyNWMxLjM3OCAwIDIuNSAxLjEyMiAyLjUgMi41djE0MC41aC0yNy41Yy0xLjM3OCAwLTIuNS0xLjEyMi0yLjUtMi41di02MC41YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djYwLjVjMCA5LjY0OSA3Ljg1MSAxNy41IDE3LjUgMTcuNWgyNy41djE0LjY2N2MwIDYuODkzIDUuNjA3IDEyLjUgMTIuNSAxMi41aDI1YzYuODkzIDAgMTIuNS01LjYwNyAxMi41LTEyLjV2LTE0LjY2N2gzMjJ2MTQuNjY3YzAgNi44OTMgNS42MDcgMTIuNSAxMi41IDEyLjVoMjVjNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtMTQuNjY3aDI3LjVjOS42NDkgMCAxNy41LTcuODUxIDE3LjUtMTcuNXYtMTM4YzAtOS42NS03Ljg1MS0xNy41LTE3LjUtMTcuNXptLTE0My00OWgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXYzNi41aC00LjVjLTkuNjQ5IDAtMTcuNSA3Ljg1MS0xNy41IDE3LjV2MjBoLTEwMC41Yy00LjUgMC04Ljc0NyAxLjA5My0xMi41IDMuMDE4di03Ny4wMThjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNXptLTI5MS41IDIwN3YtMTVoMzI2YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0zMjZ2LTE1LjVoMTAxLjVjNy44NzUgMCAxNC45ODItMy4zMzIgMjAtOC42NTUgNS4wMTggNS4zMjIgMTIuMTI1IDguNjU1IDIwIDguNjU1aDExMGM3Ljg3NSAwIDE0Ljk4Mi0zLjMzMiAyMC04LjY1NSA1LjAxOCA1LjMyMiAxMi4xMjUgOC42NTUgMjAgOC42NTVoMTAwLjV2MTUuNWgtMzFjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoMzF2MTV6bTM5Mi02MC41aC0xMDAuNWMtNi44OTMgMC0xMi41LTUuNjA3LTEyLjUtMTIuNXYtMjBjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgxMDAuNXptLTEyOC0xMi41YzAgNi44OTMtNS42MDcgMTIuNS0xMi41IDEyLjVoLTExMGMtNi44OTMgMC0xMi41LTUuNjA3LTEyLjUtMTIuNXYtMjBjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXptLTEyMi41LTEzNGgxMTBjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXY3Ny4wMThjLTMuNzUzLTEuOTI0LTgtMy4wMTgtMTIuNS0zLjAxOGgtMTEwYy00LjUgMC04Ljc0NyAxLjA5My0xMi41IDMuMDE4di03Ny4wMThjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNXptLTQwIDEwMS41YzYuODkzIDAgMTIuNSA1LjYwNyAxMi41IDEyLjV2MjBjMCA2Ljg5My01LjYwNyAxMi41LTEyLjUgMTIuNWgtMTAxLjV2LTQ1em0tODEuNSAxMzIuNjY2aC0yMHYtMTIuMTY3aDIwem0zNTIgMHYtMTIuMTY3aDIwdjEyLjE2N3ptNjUtMjkuNjY2YzAgMS4zNzgtMS4xMjIgMi41LTIuNSAyLjVoLTI3LjV2LTE0MC41YzAtMS4zNzggMS4xMjItMi41IDIuNS0yLjVoMjVjMS4zNzggMCAyLjUgMS4xMjIgMi41IDIuNXoiLz4KICAgICAgICA8cGF0aCBkPSJtNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPgogICAgICAgIDxwYXRoIGQ9Im0yMDAuNDkgMTMwLjE2N2gxMTIuMDJjNi44ODcgMCAxMi40OS01LjYwMyAxMi40OS0xMi40OXYtMTYuNTQ5YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djE0LjAzOWgtMTA3di02NmgxMDd2MTYuOTYxYzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTE5LjQ3MmMwLTYuODg3LTUuNjAzLTEyLjQ5LTEyLjQ5LTEyLjQ5aC0xMTIuMDJjLTYuODg3IDAtMTIuNDkgNS42MDMtMTIuNDkgMTIuNDl2NzEuMDIxYzAgNi44ODYgNS42MDMgMTIuNDkgMTIuNDkgMTIuNDl6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIzMS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTM4MS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+CiAgICAgICAgPHBhdGggZD0ibTEwMC4yMzIgMjQ3LjIxNWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjhjNy4zNDkgNC44MjggMTMuNTIyIDExLjAwMiAxOC4zNTEgMTguMzUxIDEuMzg3IDIuMTEgMy43NDMgMy4zODEgNi4yNjggMy4zODFzNC44ODEtMS4yNzEgNi4yNjgtMy4zODFjNC44MjgtNy4zNDkgMTEuMDAyLTEzLjUyMiAxOC4zNTEtMTguMzUxIDIuMTEtMS4zODcgMy4zODEtMy43NDMgMy4zODEtNi4yNjhzLTEuMjcxLTQuODgxLTMuMzgxLTYuMjY4Yy03LjM0OS00LjgyOC0xMy41MjItMTEuMDAyLTE4LjM1MS0xOC4zNTEtMS4zODctMi4xMS0zLjc0My0zLjM4MS02LjI2OC0zLjM4MXMtNC44ODEgMS4yNy02LjI2OCAzLjM4MXptMTQuMzQ0IDI0LjYxOGMtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTQgNS41ODMtNS4xODkgOC4wNzYtOC4wNzYgMi40OTQgMi44ODggNS4xODkgNS41ODMgOC4wNzYgOC4wNzZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==","Living Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik00NzMsMzMxLjkxNlYyNzMuNjQ4QTM5LjcxLDM5LjcxLDAsMCwwLDQzMy4zMjgsMjM0SDM3NlYxNzBoNDQuMDA5YTYuMjg5LDYuMjg5LDAsMCwwLDUuNzQ3LTguMDJMNDA0LjgzMSw5Mi4yNDhBNS45NzYsNS45NzYsMCwwLDAsMzk5LjA4NCw4OEgzNDAuOTE2YTUuOTMyLDUuOTMyLDAsMCwwLTUuNzQ3LDQuMkwzMTQuMjQ0LDE2MS45MmE2LjM3Miw2LjM3MiwwLDAsMCwuOTM0LDUuNDgzLDYuMTc2LDYuMTc2LDAsMCwwLDQuODEzLDIuNkgzNjR2NjRIODguNjc1QTM5LjcxMywzOS43MTMsMCwwLDAsNDksMjczLjY0OHY1OC4yNjhhMzkuNDE3LDM5LjQxNywwLDAsMC0zNywzOS41NTZWNDYzLjFhNS45MTUsNS45MTUsMCwwLDAsNiw1LjlIMzV2MzBhNi4yNDYsNi4yNDYsMCwwLDAsNi4yOCw2aDY3Ljg2N0E1Ljg3Nyw1Ljg3NywwLDAsMCwxMTUsNDk5VjQ2OUg0MDd2MzBhNS44NzksNS44NzksMCwwLDAsNS44NTUsNmg2Ny44NjlBNi4yNDMsNi4yNDMsMCwwLDAsNDg3LDQ5OVY0NjloMTdhNS45MTMsNS45MTMsMCwwLDAsNi01LjlWMzcxLjQ3MkEzOS40MTcsMzkuNDE3LDAsMCwwLDQ3MywzMzEuOTE2Wk0zNDUuMzgxLDEwMGg0OS4yMzhsMTcuMzI2LDU4aC04My44OVpNODguNjc1LDI0Nkg0MzMuMzI4QTI3LjcsMjcuNywwLDAsMSw0NjEsMjczLjY0OHY1OS4zYTM5Ljg1NCwzOS44NTQsMCwwLDAtMzAsMzguNTI2VjM5MEg5MVYzNzEuNDcyYTM5Ljg1NCwzOS44NTQsMCwwLDAtMzAtMzguNTI2di01OS4zQTI3LjcsMjcuNywwLDAsMSw4OC42NzUsMjQ2Wk0xMDMsNDkzSDQ3VjQ2OWg1NlptMzcyLDBINDE5VjQ2OWg1NlptMjMtMzZIMjRWMzcxLjQ3MmEyNy41LDI3LjUsMCwxLDEsNTUsMFYzOTUuOGE2LjQ0OCw2LjQ0OCwwLDAsMCw2LjMxLDYuMkg0MzYuNjkzQTYuNDQ1LDYuNDQ1LDAsMCwwLDQ0MywzOTUuOFYzNzEuNDcyYTI3LjUsMjcuNSwwLDEsMSw1NSwwWiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMTQsMjAzLjIzOFY1Ni42MjZBNS42NCw1LjY0LDAsMCwwLDIwOC4wNjIsNTFoLTUzLjkyTDExMi4yNzIsOC45NDRhNS43MzcsNS43MzcsMCwwLDAtOC40ODQuMDQ3TDYxLjkxOSw1MUg4YTUuNjkzLDUuNjkzLDAsMCwwLTYsNS42MjZWMjAzLjIzOEE1LjgsNS44LDAsMCwwLDgsMjA5SDIwOC4wNjJBNS43NDksNS43NDksMCwwLDAsMjE0LDIwMy4yMzhaTTE3NCwxMzEuOGwtNDIuMjMsMTkuNjg2TDgwLjM2NSwxMTYuNDQzYTYuMjQ1LDYuMjQ1LDAsMCwwLTcuMTMxLjE2M0w0MSwxNDAuNjg2Vjg3SDE3NFpNNDEsMTU1LjY4OWwzNi4wNjItMjYuOTExLDUwLjg4NSwzNC41NDJhNi4xNyw2LjE3LDAsMCwwLDMuNDI3LDEuMDM5LDUuMTY5LDUuMTY5LDAsMCwwLDIuMzMyLS41NTdMMTc0LDE0NS4wMjVWMTczSDQxWk0xNzguMTU1LDc1SDM3LjY4OUwyMy4yNDMsNjNIMTkyLjVaTTI5LDg0LjA5MVYxNzYuMkwxNCwxODkuOTI4VjcwLjQ3M1pNMzcuNywxODVIMTc4LjE0bDEzLjc2NywxMkgyMy44MzVaTTE4NiwxNzYuMjFWODQuMDc4bDE2LTEzLjlWMTkwLjIyNlpNMTA4LjAzLDIxLjg1OSwxMzcuMTcyLDUxSDc4Ljg4OVoiLz4KICAgICAgICA8cGF0aCBkPSJNMTI4LjM3NCwxMzMuMmEyMC4yMTQsMjAuMjE0LDAsMSwwLTIwLjIxNC0yMC4yMTRBMjAuMjM2LDIwLjIzNiwwLDAsMCwxMjguMzc0LDEzMy4yWm0wLTI4LjQyN2E4LjIxNCw4LjIxNCwwLDEsMS04LjIxNCw4LjIxM0E4LjIyMyw4LjIyMywwLDAsMSwxMjguMzc0LDEwNC43NjhaIi8+CiAgICAgICAgPHBhdGggZD0iTTM0OC43ODcsMzA4LjQ0YTIyLjA4NywyMi4wODcsMCwwLDAsMCwyMS42NjJsLTguNDc5LDguNDc5YTYsNiwwLDEsMCw4LjQ4NCw4LjQ4NWw4LjQ3OS04LjQ4YTIyLjA5LDIyLjA5LDAsMCwwLDIxLjY2MiwwbDguNDc4LDguNDc5YTYsNiwwLDAsMCw4LjQ4Ni04LjQ4NWwtOC40ODctOC40ODhhMjIuMjExLDIyLjIxMSwwLDAsMCwwLTIxLjY0NGw4LjQ4Ny04LjQ4OGE2LDYsMCwwLDAtOC40ODYtOC40ODVsLTguNDc4LDguNDc5YTIyLjA5MiwyMi4wOTIsMCwwLDAtMjEuNjYxLDBsLTguNDgtOC40NzlhNiw2LDAsMSwwLTguNDg0LDguNDg1Wm0xOS4zMTYuNjc4YTEwLjE1NiwxMC4xNTYsMCwxLDEtNy4xNzksMi45NzRBMTAuMDgzLDEwLjA4MywwLDAsMSwzNjguMSwzMDkuMTE4WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMzguNzg3LDMwOC40NGEyMi4wODcsMjIuMDg3LDAsMCwwLDAsMjEuNjYybC04LjQ3OSw4LjQ3OWE2LDYsMCwxLDAsOC40ODQsOC40ODVsOC40NzktOC40OGEyMi4wOSwyMi4wOSwwLDAsMCwyMS42NjIsMGw4LjQ3OCw4LjQ3OWE2LDYsMCwwLDAsOC40ODYtOC40ODVsLTguNDg3LTguNDg4YTIyLjIxMSwyMi4yMTEsMCwwLDAsMC0yMS42NDRsOC40ODctOC40ODhhNiw2LDAsMCwwLTguNDg2LTguNDg1bC04LjQ3OCw4LjQ3OWEyMi4wOTIsMjIuMDkyLDAsMCwwLTIxLjY2MSwwbC04LjQ4LTguNDc5YTYsNiwwLDEsMC04LjQ4NCw4LjQ4NVptMTkuMzE2LjY3OGExMC4xNTYsMTAuMTU2LDAsMSwxLTcuMTc5LDIuOTc0QTEwLjA4MywxMC4wODMsMCwwLDEsMjU4LjEsMzA5LjExOFoiLz4KICAgICAgICA8cGF0aCBkPSJNMTI4Ljc4NywzMDguNDRhMjIuMDg3LDIyLjA4NywwLDAsMCwwLDIxLjY2MmwtOC40NzksOC40NzlhNiw2LDAsMSwwLDguNDg0LDguNDg1bDguNDc5LTguNDhhMjIuMDksMjIuMDksMCwwLDAsMjEuNjYyLDBsOC40NzgsOC40NzlhNiw2LDAsMCwwLDguNDg2LTguNDg1bC04LjQ4Ny04LjQ4OGEyMi4yMTEsMjIuMjExLDAsMCwwLDAtMjEuNjQ0bDguNDg3LTguNDg4YTYsNiwwLDAsMC04LjQ4Ni04LjQ4NWwtOC40NzgsOC40NzlhMjIuMDkyLDIyLjA5MiwwLDAsMC0yMS42NjEsMGwtOC40OC04LjQ3OWE2LDYsMCwxLDAtOC40ODQsOC40ODVabTE5LjMxNi42NzhhMTAuMTU2LDEwLjE1NiwwLDEsMS03LjE3OSwyLjk3NEExMC4wODMsMTAuMDgzLDAsMCwxLDE0OC4xLDMwOS4xMThaIi8+CiAgICA8L2c+Cjwvc3ZnPgo=","Locker Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJtMjMgNGgtMTVjLTIuMjA5MTM5IDAtNCAxLjc5MDg2MS00IDR2MzRjMCAyLjIwOTEzOSAxLjc5MDg2MSA0IDQgNGg2Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC02Yy0xLjEwNDU2OTUgMC0yLS44OTU0MzA1LTItMnYtMzRjMC0xLjEwNDU2OTUuODk1NDMwNS0yIDItMmgxNWMxLjEwNDU2OTUgMCAyIC44OTU0MzA1IDIgMnYxMi4wNWMwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTEyLjA1YzAtMi4yMDkxMzktMS43OTA4NjEtNC00LTR6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExIDEyaDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTExIDE2aDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTIxIDE5YzAtLjU1MjI4NDctLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDFoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xeiIvPgogICAgICAgIDxwYXRoIGQ9Im05IDM1Yy0uNTUyMjg0NzUgMC0xIC40NDc3MTUzLTEgMXY1YzAgLjU1MjI4NDcuNDQ3NzE1MjUgMSAxIDFoM2MuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtMnYtNGMwLS41NTIyODQ3LS40NDc3MTUyNS0xLTEtMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNTIgMGgtMTVjLTIuOTEyMjE0Mi4wMDE4MDY5MS01LjU5MzQwMDggMS41ODYwMDUxOC03IDQuMTM2LTEuNDA2NTk5Mi0yLjU0OTk5NDgyLTQuMDg3Nzg1OC00LjEzNDE5MzA5LTctNC4xMzZoLTE1Yy00LjQxNjIyMTkyLjAwNDk1OTg4LTcuOTk1MDQwMTIgMy41ODM3NzgwOC04IDh2MzRjLjAwNDk1OTg4IDQuNDE2MjIxOSAzLjU4Mzc3ODA4IDcuOTk1MDQwMSA4IDhoNmMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtNmMtMy4zMTIzMzc1Ny0uMDAzMzA3NC01Ljk5NjY5MjYyLTIuNjg3NjYyNC02LTZ2LTM0Yy4wMDMzMDczOC0zLjMxMjMzNzU3IDIuNjg3NjYyNDMtNS45OTY2OTI2MiA2LTZoMTVjMy4zMTIzMzc2LjAwMzMwNzM4IDUuOTk2NjkyNiAyLjY4NzY2MjQzIDYgNnYxMmMwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTEyYy4wMDMzMDc0LTMuMzEyMzM3NTcgMi42ODc2NjI0LTUuOTk2NjkyNjIgNi02aDE1YzMuMzEyMzM3Ni4wMDMzMDczOCA1Ljk5NjY5MjYgMi42ODc2NjI0MyA2IDZ2MzRjLS4wMDMzMDc0IDMuMzEyMzM3Ni0yLjY4NzY2MjQgNS45OTY2OTI2LTYgNmgtNmMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMWg2YzQuNDE2MjIxOS0uMDA0OTU5OSA3Ljk5NTA0MDEtMy41ODM3NzgxIDgtOHYtMzRjLS4wMDQ5NTk5LTQuNDE2MjIxOTItMy41ODM3NzgxLTcuOTk1MDQwMTItOC04eiIvPgogICAgICAgIDxwYXRoIGQ9Im00NiA0Nmg2YzIuMjA5MTM5IDAgNC0xLjc5MDg2MSA0LTR2LTM0YzAtMi4yMDkxMzktMS43OTA4NjEtNC00LTRoLTE1Yy0yLjIwOTEzOSAwLTQgMS43OTA4NjEtNCA0djEyLjA1YzAgLjU1MjI4NDcuNDQ3NzE1MyAxIDEgMXMxLS40NDc3MTUzIDEtMXYtMTIuMDVjMC0xLjEwNDU2OTUuODk1NDMwNS0yIDItMmgxNWMxLjEwNDU2OTUgMCAyIC44OTU0MzA1IDIgMnYzNGMwIDEuMTA0NTY5NS0uODk1NDMwNSAyLTIgMmgtNmMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMTJoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMTZoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDAgMjBoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4KICAgICAgICA8cGF0aCBkPSJtNDkgMjd2M2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTNjMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMXMtMSAuNDQ3NzE1My0xIDF6Ii8+CiAgICAgICAgPHBhdGggZD0ibTI3IDIzYy0zLjg2NDE2NTcuMDA0NDA4Ni02Ljk5NTU5MTQgMy4xMzU4MzQzLTcgN3Y2Yy0xLjY1Njg1NDIgMC0zIDEuMzQzMTQ1OC0zIDN2MThjMCAxLjY1Njg1NDIgMS4zNDMxNDU4IDMgMyAzaDIwYzEuNjU2ODU0MiAwIDMtMS4zNDMxNDU4IDMtM3YtMThjMC0xLjY1Njg1NDItMS4zNDMxNDU4LTMtMy0zdi02Yy0uMDA0NDA4Ni0zLjg2NDE2NTctMy4xMzU4MzQzLTYuOTk1NTkxNC03LTd6bTE0IDE2djE4YzAgLjU1MjI4NDctLjQ0NzcxNTMgMS0xIDFoLTIwYy0uNTUyMjg0NyAwLTEtLjQ0NzcxNTMtMS0xdi0xOGMwLS41NTIyODQ3LjQ0NzcxNTMtMSAxLTFoMjBjLjU1MjI4NDcgMCAxIC40NDc3MTUzIDEgMXptLTctM2gtOHYtNmMwLS41NTIyODQ3LjQ0NzcxNTMtMSAxLTFoNmMuNTUyMjg0NyAwIDEgLjQ0NzcxNTMgMSAxem00LTZ2NmgtMnYtNmMwLTEuNjU2ODU0Mi0xLjM0MzE0NTgtMy0zLTNoLTZjLTEuNjU2ODU0MiAwLTMgMS4zNDMxNDU4LTMgM3Y2aC0ydi02Yy4wMDMzMDYxLTIuNzYwMDUzMiAyLjIzOTk0NjgtNC45OTY2OTM5IDUtNWg2YzIuNzYwMDUzMi4wMDMzMDYxIDQuOTk2NjkzOSAyLjIzOTk0NjggNSA1eiIvPgogICAgICAgIDxwYXRoIGQ9Im0zMS4yMTMgNDEuMTQ0Yy0xLjUwNDE3Mi0uMzY5MzcyNy0zLjA5NDY0MjYtLjAyNTYwNjgtNC4zMTIuOTMyLTEuMjE3ODgzNC45NjE4MTM0LTEuOTIwMTI3NSAyLjQzNDYwODktMS45MDA3NDAzIDMuOTg2MzY1Ny4wMTkzODcxIDEuNTUxNzU2OC43NTgyMDc2IDMuMDA2NTQ4MSAxLjk5OTc0MDMgMy45Mzc2MzQzdjNjMCAxLjY1Njg1NDIgMS4zNDMxNDU4IDMgMyAzczMtMS4zNDMxNDU4IDMtM3YtM2MxLjU0NDUxMDctMS4xNTY5NTQ0IDIuMjg1MzQ5Mi0zLjA5OTQ1NTcgMS45MDM1MTkxLTQuOTkxMDg1Mi0uMzgxODMwMS0xLjg5MTYyOTYtMS44MTgxNTg3LTMuMzk0NjY0My0zLjY5MDUxOTEtMy44NjE5MTQ4em0uNTg3IDcuMjU2Yy0uNDk3MTQ3OS4zNTc2MDY2LS43OTQyNDAxLjkzMDYyMzItLjggMS41NDN2My4wNTdjMCAuNTUyMjg0Ny0uNDQ3NzE1MyAxLTEgMXMtMS0uNDQ3NzE1My0xLTF2LTMuMDgxYy0uMDA1NzA4Mi0uNjAyMDUyMi0uMjk5NDI1OS0xLjE2NDk0OTItLjc5LTEuNTE0LTEuMDM1MDU1My0uNzcxNzg3Mi0xLjQ2MDIxNjQtMi4xMTkyNTA3LTEuMDU1NTM2NC0zLjM0NTMxMzFzMS41NDg0MjEtMi4wNTU2ODY3IDIuODM5NTM2NC0yLjA1OTY4NjljLjI1NTAzMDkuMDAwNTA4NS41MDkxMTQ0LjAzMTA1MjIuNzU3LjA5MSAxLjA1NTg2OC4yNjMyNDYxIDEuODgyOTA3IDEuMDgzMzc3MiAyLjE1NSAyLjEzNy4zMTMzNzQ2IDEuMTgzOTY5NS0uMTI0NDE2NSAyLjQzOTU1MTItMS4xMDYgMy4xNzJ6Ii8+CiAgICA8L2c+Cjwvc3ZnPg==",Nursery:Gae,Office:Hae,Outdoors:Vae,Playroom:Zae,Pool:Xae,"Rear Wall":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2Nyw4LjUzM0gzODRjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3YxMTkuNDY3VjI1NnY1MS4yaC02OS43MzVjMC45NDgtMi42NzEsMS40NjgtNS41NDIsMS40NjgtOC41MzMKCQkJCWMwLTE0LjExNC0xMS40ODYtMjUuNi0yNS42LTI1LjZoLTE3LjA2N1YyNTZoODUuMzMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxMTAuOTMzYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzMKCQkJCUgxNjIuMTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzN2MTM2LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDg1LjMzM3YxNy4wNjdIMjMwLjQKCQkJCWMtMTQuMTE0LDAtMjUuNiwxMS40ODYtMjUuNiwyNS42YzAsMi45OTEsMC41MjEsNS44NjIsMS40NjgsOC41MzNoLTY5LjczNVYyNTZWMTM2LjUzM1YxNy4wNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzMwoJCQkJSDguNTMzQzMuODIzLDguNTMzLDAsMTIuMzQ4LDAsMTcuMDY3djExOS40NjdWMjU2djExOS40Njd2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDEyOGgyNTZoMTE5LjQ2NwoJCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YzNzUuNDY3VjI1NlYxMzYuNTMzVjE3LjA2N0M1MTIsMTIuMzQ4LDUwOC4xNzcsOC41MzMsNTAzLjQ2Nyw4LjUzM3ogTTE3MC42NjcsMTUzLjZoMTcwLjY2NwoJCQkJdjUxLjJIMTcwLjY2N1YxNTMuNnogTTM0MS4zMzMsMTE5LjQ2N3YxNy4wNjdIMTcwLjY2N3YtMTcuMDY3SDM0MS4zMzN6IE0xNzAuNjY3LDIyMS44NjdoMTcwLjY2N3YxNy4wNjdIMTcwLjY2N1YyMjEuODY3egoJCQkJIE0zNzUuNDY3LDQ4Ni40SDI2NC41MzN2LTkzLjg2N2g1MS4yaDU5LjczM1Y0ODYuNHogTTMwNy4yLDM3NS40NjdIMjA0LjhWMzU4LjRoMTAyLjRWMzc1LjQ2N3ogTTQ5NC45MzMsMjQ3LjQ2N2gtMTcuMDY3VjE3OS4yCgkJCQljMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM2gtMjUuNmgtMjUuNmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjY4LjI2N2gtMTcuMDY3di0xMDIuNGgxMDIuNFYyNDcuNDY3egoJCQkJIE00MjYuNjY3LDI0Ny40Njd2LTU5LjczM2g4LjUzM3Y1OS43MzNINDI2LjY2N3ogTTQ1Mi4yNjcsMTg3LjczM2g4LjUzM3Y1OS43MzNoLTguNTMzVjE4Ny43MzN6IE0zOTIuNTMzLDMxNS43MzN2LTUxLjJoMjUuNgoJCQkJaDI1LjZoMjUuNmgyNS42djEwMi40aC0xMDIuNFYzMTUuNzMzeiBNMzkyLjUzMywyNS42aDEwMi40VjEyOGgtMTAyLjRWMjUuNnogTTIyMS44NjcsMjk4LjY2N2MwLTQuNzEsMy44MzEtOC41MzMsOC41MzMtOC41MzMKCQkJCWg1MS4yYzQuNzAyLDAsOC41MzMsMy44MjMsOC41MzMsOC41MzNzLTMuODMxLDguNTMzLTguNTMzLDguNTMzaC01MS4yQzIyNS42OTgsMzA3LjIsMjIxLjg2NywzMDMuMzc3LDIyMS44NjcsMjk4LjY2N3oKCQkJCSBNMjMwLjQsMzI0LjI2N2g1MS4yaDkzLjg2N3Y1MS4yaC01MS4yVjM1OC40YzAtOS40MTItNy42NTQtMTcuMDY3LTE3LjA2Ny0xNy4wNjdIMjA0LjhjLTkuNDEyLDAtMTcuMDY3LDcuNjU0LTE3LjA2NywxNy4wNjcKCQkJCXYxNy4wNjdoLTUxLjJ2LTUxLjJIMjMwLjR6IE01MS4yLDMzMi44aDM0LjEzM3Y4LjUzM0g1MS4yVjMzMi44eiBNODUuMzMzLDMxNS43MzNINTEuMlYzMDcuMmgzNC4xMzNWMzE1LjczM3ogTTUxLjIsMzU4LjQKCQkJCWgzNC4xMzN2OC41MzNINTEuMlYzNTguNHogTTEwMi40LDM0OS44Njd2LTI1LjZ2LTI1LjZjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzCgkJCQl2MjUuNnYyNS42djE3LjA2N0gxNy4wNjd2LTEwMi40aDEwMi40djUxLjJ2NTEuMkgxMDIuNFYzNDkuODY3eiBNNTkuNzMzLDExMC45MzNINzYuOFYxMjhINTkuNzMzVjExMC45MzN6IE01MS4yLDE0NS4wNjdoMzQuMTMzCgkJCQloMzQuMTMzdjEwMi40aC0xMDIuNHYtMTAyLjRINTEuMnogTTE3LjA2NywyNS42aDEwMi40VjEyOGgtMjUuNnYtMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzMwoJCQkJYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTguNTMzSDUxLjJoLTguNTMzYy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1YxMjgKCQkJCWgtMjUuNlYyNS42eiBNMTcuMDY3LDM4NGgyNS42aDUxLjJoMjUuNnYxMDIuNGgtMTAyLjRWMzg0eiBNMTM2LjUzMywzOTIuNTMzaDU5LjczM2g1MS4yVjQ4Ni40SDEzNi41MzNWMzkyLjUzM3ogTTQ5NC45MzMsNDg2LjQKCQkJCWgtMTcuMDY3di02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjcKCQkJCWMwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzcy04LjUzMywzLjgxNC04LjUzMyw4LjUzM1Y0ODYuNGgtOC41MzN2LTY4LjI2N2MwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzCgkJCQlzLTguNTMzLDMuODE0LTguNTMzLDguNTMzVjQ4Ni40aC0xNy4wNjdWMzg0aDEwMi40VjQ4Ni40eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjEuODY3LDQwOS42SDIwNC44Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoOC41MzN2OC41MzMKCQkJCWMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM3YtMTcuMDY3QzIzMC40LDQxMy40MTQsMjI2LjU3Nyw0MDkuNiwyMjEuODY3LDQwOS42eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0zMDcuMiw0MDkuNmgtMTcuMDY3Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDM1LjJjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgxNCw4LjUzMy04LjUzMwoJCQkJdi04LjUzM2g4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNTMzExLjkxLDQwOS42LDMwNy4yLDQwOS42eiIvPgogICAgPC9nPgo8L3N2Zz4K","Second Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBzdHJva2U9IiIgZD0iTTQ3Ny40NDQsNDcxLjAzNGgtMy44MzNjLTMuNjc5LTE0LjQzNS0xNS45MjYtMjUuMzU2LTMwLjg1OS0yNy4yNDFWMzA4LjU4N2gyLjEzOGM5LjkxNywwLDE3Ljk4NS04LjA2OCwxNy45ODUtMTcuOTg2CgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNAoJCQljMC0wLjAzMy0wLjAwNS0wLjA2NS0wLjAwNS0wLjA5OGMtMC4wMDEtMC4wOTgtMC4wMDktMC4xOTYtMC4wMTUtMC4yOTRjLTAuMDA5LTAuMTcxLTAuMDIxLTAuMzQyLTAuMDQyLTAuNTEKCQkJYy0wLjAxMS0wLjA4OS0wLjAyNi0wLjE3Ny0wLjA0MS0wLjI2NmMtMC4wMjktMC4xODMtMC4wNjUtMC4zNjQtMC4xMDgtMC41NDJjLTAuMDEtMC4wNC0wLjAxNC0wLjA4MS0wLjAyNC0wLjEyMUw0NDYuMTIzLDI1LjQyCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQKCQkJSDMzNS4zNzJMMjkyLjM0NywyOS43aDQ1Ljg2NmM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3YzAtNC4wMjUtMy4yNjItNy4yODctNy4yODctNy4yODdoLTU1LjU5NmwtMC45MjYtMS4zODcKCQkJQzI3NS45NDgsNS4xMzcsMjY2LjM0MiwwLDI1NS45OTcsMGMtMTAuMzQ1LDAtMTkuOTUsNS4xMzYtMjUuNjk0LDEzLjczOWwtMC45MjcsMS4zODhINzkuMTc4CgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyCgkJCWMtMC4wMTQsMC4wODktMC4wMywwLjE3Ny0wLjA0MSwwLjI2NmMtMC4wMjEsMC4xNjgtMC4wMzMsMC4zMzgtMC4wNDIsMC41MWMtMC4wMDUsMC4wOTgtMC4wMTQsMC4xOTYtMC4wMTUsMC4yOTQKCQkJYzAsMC4wMzMtMC4wMDUsMC4wNjUtMC4wMDUsMC4wOTh2MTQuOTA0YzAsNy4xOTcsNS44NTUsMTMuMDUyLDEzLjA1MiwxMy4wNTJoOS44MTV2MTQzLjIzM2gtMi4xMzgKCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3CgkJCXM3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtNDYuNjk2aDM0NC4zNjR2MTI5LjMxMWMtMC4wNTUtMC4wMzItMC4xMTMtMC4wNi0wLjE2OS0wLjA5MmMtMC43MTQtMC40MTUtMS40MzktMC44MS0yLjE3Ni0xLjE4MgoJCQljLTAuMTQ0LTAuMDczLTAuMjkxLTAuMTM5LTAuNDM1LTAuMjFjLTAuNjE0LTAuMzAyLTEuMjM1LTAuNTg4LTEuODYzLTAuODU5Yy0wLjIxMy0wLjA5Mi0wLjQyNS0wLjE4My0wLjYzOS0wLjI3MgoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2CgkJCWMtMC4yMTktMC4wNjItMC40NC0wLjExOC0wLjY2LTAuMTc2Yy0wLjY0Mi0wLjE2OS0xLjI4OS0wLjMyMy0xLjk0LTAuNDYyYy0wLjE4OC0wLjA0LTAuMzc1LTAuMDg1LTAuNTY0LTAuMTIzCgkJCWMtMC44MTItMC4xNjItMS42MjktMC4zLTIuNDUxLTAuNDE0Yy0wLjE3OC0wLjAyNS0wLjM1OC0wLjA0Mi0wLjUzNy0wLjA2NGMtMC42NzEtMC4wODQtMS4zNDUtMC4xNTItMi4wMjItMC4yMDQKCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUKCQkJYy0wLjg0Ni0wLjAyLTEuNjg0LDAuMDAxLTIuNTE2LDAuMDQ2Yy0wLjE5NSwwLjAxMS0wLjM4NywwLjAzNC0wLjU4MSwwLjA0OGMtMC42MzYsMC4wNDctMS4yNjgsMC4xMDctMS44OTQsMC4xOQoJCQljLTAuMjMsMC4wMzEtMC40NTgsMC4wNzEtMC42ODYsMC4xMDdjLTAuNTg2LDAuMDkyLTEuMTY4LDAuMTk3LTEuNzQ0LDAuMzIxYy0wLjIzNCwwLjA1LTAuNDY1LDAuMTA0LTAuNjk3LDAuMTU5CgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQKCQkJYy0wLjE3MSwwLjA2Ny0wLjM0NSwwLjEyNy0wLjUxNSwwLjE5N2MtMC43MDUsMC4yOS0xLjM5OSwwLjYwMi0yLjA3OSwwLjk0MWMtMC4wMjgsMC4wMTQtMC4wNTgsMC4wMjYtMC4wODYsMC4wNAoJCQljLTAuNzMzLDAuMzY5LTEuNDUsMC43NjYtMi4xNSwxLjE5Yy0wLjA2NiwwLjA0LTAuMTI5LDAuMDg2LTAuMTk1LDAuMTI3Yy0wLjYsMC4zNy0xLjE4NywwLjc1OS0xLjc2LDEuMTY5CgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQoJCQljLTAuMzkxLDAuMzQ1LTAuNzc0LDAuNjk4LTEuMTQ4LDEuMDYzYy0wLjIwMSwwLjE5Ni0wLjQwMSwwLjM5NC0wLjU5NywwLjU5NmMtMC4zNjUsMC4zNzYtMC43MTcsMC43NjMtMS4wNjQsMS4xNTgKCQkJYy0wLjE3OCwwLjIwMy0wLjM1OSwwLjQwNC0wLjUzMywwLjYxMmMtMC4zNjcsMC40NDEtMC43MTcsMC44OTctMS4wNiwxLjM1OWMtMC4xMzEsMC4xNzYtMC4yNjksMC4zNDYtMC4zOTYsMC41MjUKCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkKCQkJYy03LjEzNSwwLTEyLjkzOSw1LjgwNS0xMi45MzksMTIuOTM5djEyNC44NTNoLTYwLjYzOWMtMC4xODgtMC40NjktMC4zOTktMC45MjUtMC42MDUtMS4zODMKCQkJYy0wLjA4OC0wLjE5NC0wLjE2Ni0wLjM5NC0wLjI1Ni0wLjU4NmMtMC4zNTMtMC43NDktMC43MjgtMS40ODMtMS4xMjgtMi4yMDJjLTAuMDc1LTAuMTM1LTAuMTYtMC4yNjMtMC4yMzYtMC4zOTcKCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQKCQkJYy0wLjE4My0wLjI0NS0wLjM3Mi0wLjQ4NC0wLjU2Mi0wLjcyNGMtMC4zMi0wLjQwNS0wLjY0Ni0wLjgwMy0wLjk4Mi0xLjE5M2MtMC4yMDItMC4yMzQtMC40MDUtMC40NjctMC42MTItMC42OTUKCQkJYy0wLjM1Mi0wLjM4OC0wLjcxNC0wLjc2Ni0xLjA4MS0xLjEzOGMtMC4yMDUtMC4yMDctMC40MDctMC40MTctMC42MTYtMC42MmMtMC40MTktMC40MDUtMC44NTItMC43OTQtMS4yOS0xLjE3OAoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDEKCQkJYy0wLjU4OC0wLjQyNi0xLjE4OC0wLjgzNi0xLjgwMS0xLjIyNmMtMC4yMjUtMC4xNDQtMC40NTgtMC4yNzYtMC42ODYtMC40MTRjLTAuNDY3LTAuMjgzLTAuOTM4LTAuNTYyLTEuNDE4LTAuODI0CgkJCWMtMC4yNy0wLjE0OC0wLjU0NS0wLjI4Ny0wLjgxOS0wLjQyOGMtMC40NTYtMC4yMzQtMC45MTYtMC40NjEtMS4zODMtMC42NzZjLTAuMjktMC4xMzQtMC41ODEtMC4yNjQtMC44NzUtMC4zOTEKCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQKCQkJYy0wLjI1Ni0wLjA3Ny0wLjUwOC0wLjE2Mi0wLjc2Ni0wLjIzM2MtMC44LTAuMjIxLTEuNjA4LTAuNDIxLTIuNDI4LTAuNTg4Yy0wLjUyNy0wLjcxOC0xLjA3NC0xLjQxOC0xLjYzNy0yLjA5OQoJCQljLTAuMTkzLTAuMjMzLTAuMzk4LTAuNDUyLTAuNTk1LTAuNjgxYy0wLjM3OC0wLjQ0LTAuNzU0LTAuODgyLTEuMTQ3LTEuMzA2Yy0wLjI0Ni0wLjI2NS0wLjUwNS0wLjUxNC0wLjc1Ny0wLjc3MgoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQoJCQljLTAuMzAxLTAuMjU3LTAuNjE0LTAuNDk4LTAuOTIxLTAuNzQ3Yy0wLjM2OC0wLjI5OC0wLjczMi0wLjYtMS4xMDgtMC44ODZjLTAuMzIyLTAuMjQ0LTAuNjU0LTAuNDcyLTAuOTgxLTAuNzA3CgkJCWMtMC4zNzYtMC4yNy0wLjc0OS0wLjU0NC0xLjEzMy0wLjgwMWMtMC4zMzktMC4yMjctMC42ODctMC40MzktMS4wMzEtMC42NTdjLTAuMzg3LTAuMjQ1LTAuNzcxLTAuNDkzLTEuMTY0LTAuNzI1CgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQKCQkJYy0wLjQwNi0wLjE5NS0wLjgxMS0wLjM5My0xLjIyNC0wLjU3NmMtMC4zOC0wLjE2OS0wLjc2NS0wLjMyMy0xLjE1LTAuNDgyYy0wLjQxNy0wLjE3MS0wLjgzMi0wLjM0NC0xLjI1NS0wLjUwMwoJCQljLTAuMzg5LTAuMTQ3LTAuNzg0LTAuMjgtMS4xNzgtMC40MTZjLTAuNDI3LTAuMTQ3LTAuODU0LTAuMjk2LTEuMjg2LTAuNDNjLTAuMzk4LTAuMTI0LTAuODAxLTAuMjM2LTEuMjA0LTAuMzQ5CgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5CgkJCWMtMC40MTQtMC4wNzgtMC44MzEtMC4xNDUtMS4yNDgtMC4yMTJjLTAuNDUzLTAuMDcyLTAuOTA1LTAuMTQzLTEuMzYxLTAuMjAyYy0wLjQyLTAuMDU0LTAuODQyLTAuMDk4LTEuMjY0LTAuMTQxCgkJCWMtMC40Ni0wLjA0Ny0wLjkyMS0wLjA5LTEuMzg1LTAuMTIyYy0wLjQyNC0wLjAzLTAuODUtMC4wNTEtMS4yNzYtMC4wNjljLTAuMjY5LTAuMDEyLTAuNTM0LTAuMDM2LTAuODA0LTAuMDQzdi0yOS44NTEKCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyCgkJCWMtMTEuMjk0LDAtMjAuNDgzLDkuMTg5LTIwLjQ4MywyMC40ODNzOS4xODksMjAuNDgzLDIwLjQ4MywyMC40ODNoNDQyLjg5NGMxMS4yOTQsMCwyMC40ODMtOS4xODksMjAuNDgzLTIwLjQ4MwoJCQlDNDk3LjkyNyw0ODAuMjIzLDQ4OC43MzgsNDcxLjAzNCw0NzcuNDQ0LDQ3MS4wMzR6IE0yMzkuMzMzLDI2LjQ2YzAtMC4wMDEsMC4wMDEtMC4wMDEsMC4wMDEtMC4wMDFsMy4wODktNC42MjcKCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1MwoJCQljLTIuMzU4LTMuNTMxLTYuMy01LjYzOS0xMC41NDYtNS42MzljLTQuMjQ2LDAtOC4xODksMi4xMDgtMTAuNTQ2LDUuNjM5TDE5OS4zNDcsOTQuMTRoLTUuMjAybDguNzc4LTEzLjE0OEwyMzkuMzMzLDI2LjQ2egoJCQkgTTI5NS4xMjQsOTQuMTRIMjE2Ljg3bDM5LjEyNy01OC42MDRMMjk1LjEyNCw5NC4xNHogTTc5LjgxNiwyOS43aDEzOS44MzFMMjA5LjUxLDQ0Ljg4M0wxNzYuNjIyLDk0LjE0SDYzLjA4MUw3OS44MTYsMjkuN3oKCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQKCQkJYy0xLjg4MSwwLTMuNDEyLTEuNTMxLTMuNDEyLTMuNDEzYzAtMS44ODEsMS41My0zLjQxMiwzLjQxMi0zLjQxMkg0NDQuODljMS44ODEsMCwzLjQxMiwxLjUzMSwzLjQxMiwzLjQxMgoJCQljMCwxLjg4Mi0xLjUzLDMuNDEzLTMuNDEyLDMuNDEzSDY3LjEwNHogTTM2MC40MTYsNDcwLjg5M2MwLjMxNy0wLjE4NywwLjYzOC0wLjM2OCwwLjk2Ny0wLjUzNQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4CgkJCWMwLjI3Mi0wLjA5OCwwLjU0Ny0wLjE4NywwLjgyNC0wLjI3MWMwLjIwMS0wLjA2LDAuNDAyLTAuMTIxLDAuNjA1LTAuMTc0YzAuMjc2LTAuMDcyLDAuNTU2LTAuMTMyLDAuODM2LTAuMTkKCQkJYzAuMjA3LTAuMDQzLDAuNDExLTAuMDkxLDAuNjItMC4xMjZjMC4zNTYtMC4wNiwwLjcxOC0wLjEwMiwxLjA4MS0wLjEzOWMwLjE3Ni0wLjAxOCwwLjM1Mi0wLjAzOSwwLjUyOS0wLjA1MgoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYKCQkJYzAuNTcyLDAuMDY1LDEuMTQ2LDAuMTU1LDEuNzE5LDAuMjc5YzMuNTA5LDAuNzU2LDcuMDQ3LTEuMTU1LDguMzM3LTQuNTA3YzQuMDkyLTEwLjYzOSwxNC40OTYtMTcuNzg3LDI1Ljg5MS0xNy43ODcKCQkJYzcuOTUsMCwxNS41MzMsMy40MjgsMjAuODA2LDkuNDA2YzAuMjEsMC4yMzgsMC40MzMsMC40NiwwLjY2OSwwLjY2NmMwLjAxMywwLjAxMSwwLjAyOCwwLjAyLDAuMDQxLDAuMDMyCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxCgkJCUMzNjAuMjUsNDcwLjk4NSwzNjAuMzM0LDQ3MC45NDIsMzYwLjQxNiw0NzAuODkzeiBNMjkxLjAzOCwzNDcuODE1djEyMy4yMTloLTcwLjA4MlYzNDcuODE1SDI5MS4wMzh6IE03Ny43OTcsNDQ1LjM1MgoJCQljMC43NjctMC4xMjEsMS41MzYtMC4yMTUsMi4zMDUtMC4yNzljMC4wNjYtMC4wMDUsMC4xMzItMC4wMDksMC4xOTgtMC4wMTRjMC43ODQtMC4wNiwxLjU2Ny0wLjA5NiwyLjM0My0wLjA5NgoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNgoJCQljMC4xMTUsMC4wMiwwLjIzLDAuMDQxLDAuMzQ1LDAuMDYzYzAuNSwwLjA5NywwLjk5NSwwLjIwOCwxLjQ4MywwLjMzOGMwLjA2MywwLjAxNywwLjEyNSwwLjAzNywwLjE4OSwwLjA1NQoJCQljMC40NDQsMC4xMjMsMC44ODEsMC4yNjEsMS4zMTMsMC40MTFjMC4wOTksMC4wMzQsMC4xOTksMC4wNjcsMC4yOTgsMC4xMDNjMC40NjcsMC4xNjksMC45MjcsMC4zNTMsMS4zNzksMC41NTMKCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYKCQkJYzAuNDMxLDAuMjM2LDAuODUyLDAuNDg4LDEuMjY1LDAuNzUyYzAuMDk0LDAuMDYsMC4xODcsMC4xMjIsMC4yOCwwLjE4NGMwLjM4OCwwLjI1NywwLjc2OSwwLjUyMywxLjEzOSwwLjgwMwoJCQljMC4wMzIsMC4wMjQsMC4wNjYsMC4wNDcsMC4wOTgsMC4wNzJjMC4zOTIsMC4zLDAuNzcsMC42MTcsMS4xNDEsMC45NDNjMC4wODcsMC4wNzcsMC4xNzQsMC4xNTQsMC4yNiwwLjIzMgoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQoJCQljMC4wNzIsMC4wODYsMC4xNDUsMC4xNzIsMC4yMTYsMC4yNmMwLjA1MywwLjA2NiwwLjEwMSwwLjEzNiwwLjE1NCwwLjIwMkg1Mi4xODFDNTQuMjI5LDQ1Ny44NjgsNjQuNjQzLDQ0Ny40MzksNzcuNzk3LDQ0NS4zNTJ6CgkJCSBNNDc3LjQ0NCw0OTcuNDI3SDM0LjU1Yy0zLjI1OSwwLTUuOTEtMi42NTEtNS45MS01LjkxYzAtMy4yNTksMi42NTEtNS45MSw1LjkxLTUuOTFoNDQyLjg5NGMzLjI1OSwwLDUuOTEsMi42NTEsNS45MSw1LjkxCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4KICAgICAgICA8cGF0aCAgZD0iTTE4Ni4yMTMsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTZjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODgsNy4yODdoODYuNzljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTI5OS42NjgsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM4LTEwLjM4aC01OS4zNTVjLTUuNzI0LDAtMTAuMzgsNC42NTctMTAuMzgsMTAuMzh2NjUuNzQ2CgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzMwNi45NTUsMjM0LjgzNSwzMDMuNjkzLDIzMS41NzIsMjk5LjY2OCwyMzEuNTcyeiBNMjgxLjc1OCwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQxMi41NzIsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM3OS0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0NgoJCQloLTMuMzM4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzQxOS44NTksMjM0LjgzNSw0MTYuNTk3LDIzMS41NzIsNDEyLjU3MiwyMzEuNTcyeiBNMzk0LjY2MSwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+CiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTE4Mi44MTMsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk1LDQuNTI5LTEwLjA5NSwxMC4wOTV2NjAuMDQ1CgkJCWgtMC41MjhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNSwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g3LjgxNGg1OS41MDRoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4NwoJCQlDMTkwLjEsNDE3LjA5NSwxODYuODM4LDQxMy44MzMsMTgyLjgxMyw0MTMuODMzeiBNMTY3LjcxMiw0MTMuODMzaC00NC45MzF2LTU1LjU2N2g0NC45MzFWNDEzLjgzM3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiBkPSJNNDA0LjMxNCw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTYsNC41MjktMTAuMDk2LDEwLjA5NXY2MC4wNDUKCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0SDM5Ni41aDcuODE0YzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcKCQkJQzQxMS42MDEsNDE3LjA5NSw0MDguMzM5LDQxMy44MzMsNDA0LjMxNCw0MTMuODMzeiBNMzg5LjIxMyw0MTMuODMzaC00NC45MzJ2LTU1LjU2N2g0NC45MzJWNDEzLjgzM3oiLz4KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiBkPSJNMjc2LjU0NSw0MDUuMDg5Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3djEyLjYzYzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODcKCQkJYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODd2LTEyLjYzQzI4My44MzIsNDA4LjM1MiwyODAuNTcsNDA1LjA4OSwyNzYuNTQ1LDQwNS4wODl6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=",Shed:Kae,"Sleeping Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPgogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBkPSJNNDU2LDIyNGMtMTQuMTMzLDAtMjQsNi4zMDEtMjQsMTUuMzJ2MjcuNTA1QzQxOS4zMzMsMjQxLjc5MywzOTkuODUsMjI0LDM3NiwyMjRIMTUyYy00LjQxNy0wLjAwMS03Ljk5OSwzLjU3OS04LDcuOTk2CgkJCWMwLDAuMDAxLDAsMC4wMDMsMCwwLjAwNHY0OC4wNjdjMC4wNDUtMTMuMDUyLTUuMjAxLTI2LjA3NS0xNS41ODYtMzUuNTgzYy0xOS41NTItMTcuOTAyLTQ5LjkxNS0xNi41NjQtNjcuODE2LDIuOTg5CgkJCWMtMTYuNzY0LDE4LjMwOS0xNi44MDEsNDYuMzgtMC4wODYsNjQuNzM0Yy00LjYxMiwwLjUwOC04Ljk2OCwyLjM4LTEyLjUxMiw1LjM3NVYxMTUuMTk5QzQ4LDEwNC40MzQsMzcuNDYxLDk2LDI0LDk2CgkJCXMtMjQsOC40MzQtMjQsMTkuMTk5djM0NS42MDJDMCw0NzEuNTY2LDEwLjUzOSw0ODAsMjQsNDgwczI0LTguNDM0LDI0LTE5LjE5OVY0MDhoMzg0djU2LjY4YzAsOS4wMTksOS44NjcsMTUuMzIsMjQsMTUuMzIKCQkJczI0LTYuMzAxLDI0LTE1LjMyVjIzOS4zMkM0ODAsMjMwLjMwMSw0NzAuMTMzLDIyNCw0NTYsMjI0eiBNMzIsNDYwLjgwMWMtMC4wODYsMC42NTYtMi43NzMsMy4xOTktOCwzLjE5OQoJCQljLTUuMjUsMC03LjkyMi0yLjU0My04LTMuMTk5VjExNS4xOTljMC4wNzgtMC42NTYsMi43NS0zLjE5OSw4LTMuMTk5YzUuMjI3LDAsNy45MTQsMi41NDMsOCwzLjE5OVY0NjAuODAxeiBNMTYwLDI0MGgyMTYKCQkJYzMwLjE3MiwwLDUzLjE3Miw0NC45MjYsNTUuNzU4LDg4SDE2MFYyNDB6IE0xNDQsMjgwLjA4M3YzOC41NmMtMy40NTItMy4zNTMtNy44NDgtNS41NjYtMTIuNTk3LTYuMzQyCgkJCUMxMzkuNzkzLDMwMy4xMzcsMTQzLjk1NiwyOTEuNiwxNDQsMjgwLjA4M3ogTTk2LDI0OGMxNy42NzMsMCwzMiwxNC4zMjcsMzIsMzJjMCwxNy42NzMtMTQuMzI3LDMyLTMyLDMycy0zMi0xNC4zMjctMzItMzIKCQkJQzY0LjAxOSwyNjIuMzM1LDc4LjMzNSwyNDguMDE5LDk2LDI0OHogTTQzMiwzOTJINDh2LTQ4LjAyM2M0LjE2My0wLjMyOCw3LjM3NC0zLjgwMSw3LjM3NS03Ljk3NwoJCQljLTAuMDc3LTQuMzMxLDMuMzY0LTcuOTA5LDcuNjk1LThoNjQuNjFjNC4zMzEsMC4wOTEsNy43NzIsMy42NjksNy42OTUsOGMtMC4wMDEsNC40MTcsMy41NzksNy45OTksNy45OTYsOAoJCQljMC4wMDEsMCwwLjAwMywwLDAuMDA0LDBINDMyVjM5MnogTTQ2NCw0NjIuNTk0Yy01LjE2OSwxLjg3NS0xMC44MzEsMS44NzUtMTYsMFYyNDEuNDA2YzUuMTY5LTEuODc1LDEwLjgzMS0xLjg3NSwxNiwwVjQ2Mi41OTR6IgogICAgICAgIC8+CiAgICAgICAgPHBhdGggZD0iTTEzNy4wNzgsMTc2bDI5LjA3LTM0Ljg3OWMxLjk4Ni0yLjM4NiwyLjQxMy01LjcwNSwxLjA5NC04LjUxNmMtMS4zMTYtMi44MS00LjEzOS00LjYwNS03LjI0Mi00LjYwNWgtNDh2MTZoMzAuOTIyCgkJCWwtMjkuMDcsMzQuODc5Yy0yLjgyNywzLjM5OC0yLjM2NCw4LjQ0NCwxLjAzNCwxMS4yN2MxLjQzNywxLjE5NSwzLjI0NiwxLjg1LDUuMTE0LDEuODUxaDQ4di0xNkgxMzcuMDc4eiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMjQuMzU5LDEzNmw0NS45NTMtNTkuMDljMS44NzctMi40MTEsMi4yMTctNS42ODEsMC44NzUtOC40MjZjLTEuMzQ0LTIuNzQzLTQuMTMyLTQuNDgzLTcuMTg4LTQuNDg0aC02NHYxNmg0Ny42NDEKCQkJbC00NS45NTMsNTkuMDljLTIuNzE0LDMuNDg0LTIuMDg5LDguNTA5LDEuMzk2LDExLjIyM2MxLjQwNSwxLjA5NCwzLjEzNiwxLjY4OCw0LjkxNywxLjY4OGg2NHYtMTZIMjI0LjM1OXoiLz4KICAgICAgICA8cGF0aCBkPSJNMzI4LDk2bDYyLjM5OC04My4xOTljMi42NTItMy41MzMsMS45MzktOC41NDYtMS41OTQtMTEuMTk5QzM4Ny40MTksMC41NjIsMzg1LjczMywwLDM4NCwwaC03MnYxNmg1NmwtNjIuMzk4LDgzLjE5OQoJCQljLTEuODE4LDIuNDI0LTIuMTEyLDUuNjY4LTAuNzU4LDguMzc5QzMwNi4yLDExMC4yODgsMzA4Ljk3LDExMiwzMTIsMTEyaDgwVjk2SDMyOHoiLz4KICAgIDwvZz4KPC9zdmc+Cg==",Stairway:qae,Stairwell:ece,Storeroom:tce,"Summer House":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xNzMuODMyLDIyNS4yNjNoLTQzLjAzOWMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXY2MC4xMzRjMCw0LjE0MiwzLjM1Nyw3LjUsNy41LDcuNWg0My4wMzljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNQoJCQl2LTYwLjEzNEMxODEuMzMyLDIyOC42MjIsMTc3Ljk3NCwyMjUuMjYzLDE3My44MzIsMjI1LjI2M3ogTTE2Ni4zMzEsMjg1LjM5N2gtMjguMDM4di00NS4xMzNoMjguMDM4VjI4NS4zOTd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTQ1OS4xMjcsMjAxLjE5M2MzLjMxNCwyLjI3OCw4LjA5MSwxLjQ3MSwxMC40My0xLjkzMmMwLDAsMjMuMDA5LTMzLjQ2OSwyMy4wMjktMzMuNDk4CgkJCWMyLjMxNS0zLjM2OCwxLjQyOC04LjEyMS0xLjkzMi0xMC40MzFMMjcxLjc2Myw0Ljg2MWMtOS40MjktNi40OC0yMi4wOTctNi40ODEtMzEuNTI2LDBjMCwwLTEzOS43NjIsOTYuMDc3LTE0MC4yNzMsOTYuNDI4CgkJCWMtNy45MTEsNS40MzgsMC40MjksMTcuOTEsOC40OTcsMTIuMzYzbDE0MC4yNzQtOTYuNDI5YzQuMzQ3LTIuOTg3LDEwLjE4Ny0yLjk4NywxNC41MzEtMC4wMDFsMjEyLjcwOSwxNDYuMjI0bC0xNC41MzEsMjEuMTM3CgkJCWMwLDAtMjAxLjE0My0xMzguMjcyLTIwMS4xOTUtMTM4LjMwOGMtMi40OTUtMS43MTUtNS45OTktMS43MTgtOC40OTgtMC4wMDFMNTAuNTU3LDE4NC41ODNsLTE0LjUzLTIxLjEzNwoJCQljMCwwLDQ3LjExNy0zMi4zOSw0Ny4yODktMzIuNTA5YzcuODA3LTUuMzY2LTAuNDE2LTE3LjkxNy04LjQ5OC0xMi4zNjJjMCwwLTUzLjMwMSwzNi42NC01My40NzEsMzYuNzU3CgkJCWMtMy4zNzQsMi4zMi00LjI0MSw3LjA3MS0xLjkzMywxMC40MzFsMjEuNzA5LDMxLjU3OXYzMDcuMTU2YzAsNC4xNDIsMy4zNTgsNy41LDcuNSw3LjVIMjU2YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVWMzk1Ljk3MQoJCQlINDAyLjY0djEwOC41MjhjMCw0LjE0MiwzLjM1OCw3LjUsNy41MDEsNy41aDMwLjQ4OGM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41VjM5NS45NzFoMjMuNzY5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjV2LTMwLjQ4NwoJCQljMC00LjE0My0zLjM1OC03LjUtNy41LTcuNWgtMjMuNzY5di01Ny4yNTloMjMuNzY5YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjV2LTMwLjQ4OGMwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC0yMy43Njl2LTU0LjEwMwoJCQlMNDU5LjEyNywyMDEuMTkzeiBNNDE3LjY0MSwxODYuODc2aDE1LjQ4N3Y2MC44NThoLTE1LjQ4N1YxODYuODc2eiBNMjU2LDYxLjU1NmwzOS4wNzUsMjYuODYxaC03OC4xNDlMMjU2LDYxLjU1NnoKCQkJIE01Ni4xMjUsMjcwLjMzMmgzOC4zOTl2NTMuMDU1YzAsNC4xNDEsMy4zNTgsNy41LDcuNSw3LjVIMjAyLjZjNC4xNDIsMCw3LjUwMS0zLjM1OCw3LjUwMS03LjV2LTUzLjA1NWgzOC4zOTh2NjguNDU2SDU2LjEyNQoJCQlWMjcwLjMzMnogTTEwOS41MjUsMzE1Ljg4NlYyMDkuNzc3aDg1LjU3NXYxMDYuMTA5SDEwOS41MjV6IE05NC41MjQsNDk2Ljk5OEg1Ni4xMjV2LTU5Ljc1NGgzOC4zOTlWNDk2Ljk5OHogTTE2Ni4zMzEsNDk2Ljk5NwoJCQloLTI4LjAzOHYtODUuNzgzaDI4LjAzOFY0OTYuOTk3eiBNMTk1LjA5OSw0OTYuOTk3aC0xMy43Njd2LTkzLjI4M2MwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC00My4wMzkKCQkJYy00LjE0MiwwLTcuNTAxLDMuMzU4LTcuNTAxLDcuNXY5My4yODNoLTEzLjc2OFYzODAuNzI3aDg1LjU3NVY0OTYuOTk3eiBNMjQ4LjQ5OSw0OTYuOTk4SDIxMC4xdi01OS43NTRoMzguMzk4VjQ5Ni45OTh6CgkJCSBNMjQ4LjUsNDIyLjI0NGgtMzguMzk5di00OS4wMThjLTAuMDAxLTQuMTQyLTMuMzU5LTcuNS03LjUwMi03LjVIMTAyLjAyNGMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNTAxdjQ5LjAxOEg1Ni4xMjV2LTY4LjQ1NgoJCQlIMjQ4LjVWNDIyLjI0NHogTTI0OC41LDI1NS4yMjVjMCwwLjAwMywwLDAuMDA2LDAsMC4wMXYwLjA5NmgtMzguMzk5di01My4wNTVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNUgxMDIuMDI0CgkJCWMtNC4xNDIsMC03LjUsMy4zNTgtNy41LDcuNXY1My4wNTVINTYuMTI1di01Ni4zNzNsMTcuNjYzLTEyLjE0M2MwLjI5NywwLjAzNiwwLjU5NywwLjA2LDAuOTA0LDAuMDZIMjQ4LjVWMjU1LjIyNXoKCQkJIE05NS41MjMsMTcxLjg3NWw5OS41ODEtNjguNDU2aDEyMS43OTNsOTkuNTgxLDY4LjQ1NmgtNi4zMzZIOTUuNTIzeiBNNDAyLjY0LDE4Ni44NzZ2NjAuODU4SDI2My41MDF2LTYwLjg1OEg0MDIuNjR6CgkJCSBNMjYzLjUwMSwyOTMuMjIzaDE1LjQ4NnY1Ny4yNTloLTE1LjQ4NlYyOTMuMjIzeiBNNDMzLjEyOCw0OTYuOTk4aC0xNS40ODdWMzk1Ljk3MWgxNS40ODdWNDk2Ljk5OHogTTQ2NC4zOTcsMzY1LjQ4NHYxNS40ODYKCQkJSDI2My41MDF2LTE1LjQ4Nkg0NjQuMzk3eiBNMjkzLjk4OCwzNTAuNDgydi01Ny4yNTloMTUuNDg3djU3LjI1OUgyOTMuOTg4eiBNMzI0LjQ3NiwzNTAuNDgydi01Ny4yNTloMTYuMzM3djU3LjI1OUgzMjQuNDc2egoJCQkgTTM1NS44MTQsMzUwLjQ4MnYtNTcuMjU5aDE1LjQ4N3Y1Ny4yNTlIMzU1LjgxNHogTTM4Ni4zMDIsMzUwLjQ4MnYtNTcuMjU5aDE2LjMzN3Y1Ny4yNTlIMzg2LjMwMnogTTQxNy42NDEsMzUwLjQ4MnYtNTcuMjU5CgkJCWgxNS40ODd2NTcuMjU5SDQxNy42NDF6IE00NjQuMzk3LDI2Mi43MzV2MTUuNDg3SDI2My41MDF2LTE1LjQ4N0g0NjQuMzk3eiIvPgogICAgPC9nPgo8L3N2Zz4K","Swimming Pool":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Ny43MzMgMTg3LjczMyI+CiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGQ9Ik0xODcuNTk5LDE1MS40NThMMTUzLjQ2NSwzMy4xODZjLTAuNDIyLTEuNDYxLTEuNzU4LTIuNDY2LTMuMjc5LTIuNDY2SDM3LjU0N2MtMS41MjEsMC0yLjg1NywxLjAwNS0zLjI3OSwyLjQ2NgoJCQlMMC4xMzUsMTUxLjQ1OEMwLjA0NCwxNTEuNzY1LDAsMTUyLjA4NSwwLDE1Mi40MDV2MjUuMDg4YzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNIMTg0LjMyCgkJCWMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzdi0yNS4wODhDMTg3LjczMywxNTIuMDg1LDE4Ny42ODcsMTUxLjc2NSwxODcuNTk5LDE1MS40NTh6IE0xODAuOTA3LDE3NC4wOEg2LjgyN3YtMjEuMTkyCgkJCUw0MC4xMTUsMzcuNTQ3SDE0Ny42MmwzMy4yODcsMTE1LjM0MlYxNzQuMDh6Ii8+CiAgICAgICAgPHBhdGggZD0iTTc4LjUwNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNzMy40MTMtMS41MjksMy40MTMtMy40MTN2LTUxLjIKCQkJQzgxLjkyLDguMzU2LDgwLjM5MSw2LjgyNyw3OC41MDcsNi44Mjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsNi44MjdjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTN2NTEuMmMwLDEuODg0LDEuNTI5LDMuNDEzLDMuNDEzLDMuNDEzYzEuODg0LDAsMy40MTMtMS41MjksMy40MTMtMy40MTMKCQkJdi01MS4yQzExMi42NCw4LjM1NiwxMTEuMTExLDYuODI3LDEwOS4yMjcsNi44Mjd6Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsMTcuMDY3aC0zMC43MmMtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3MxLjUyOSwzLjQxMywzLjQxMywzLjQxM2gzMC43MmMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzCgkJCVMxMTEuMTExLDE3LjA2NywxMDkuMjI3LDE3LjA2N3oiLz4KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNywzMC43MmgtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMwoJCQlTMTExLjExMSwzMC43MiwxMDkuMjI3LDMwLjcyeiIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDkuMjI3LDQ0LjM3M2gtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMwoJCQlTMTExLjExMSw0NC4zNzMsMTA5LjIyNyw0NC4zNzN6Ii8+CiAgICAgICAgPHBhdGggZD0iTTE2My43ODksMTQ2LjE3OWwtMTcuNTE2LTk4Ljk4N2MtMC4yODgtMS42My0xLjcwNS0yLjgxOC0zLjM2LTIuODE4SDQ4LjMyOGMtMS42MTMsMC0zLjAwNSwxLjEyNi0zLjM0LDIuNzAzCgkJCWwtMjEuMDE5LDk4Ljk4N2MtMC4yMTMsMS4wMDcsMC4wMzgsMi4wNTcsMC42ODYsMi44NTdjMC42NDksMC44LDEuNjIxLDEuMjY1LDIuNjUyLDEuMjY1aDEzMy4xMmMxLjAwOSwwLDEuOTY2LTAuNDQ3LDIuNjE2LTEuMjE5CgkJCUMxNjMuNjkxLDE0OC4xOTUsMTYzLjk2NSwxNDcuMTc0LDE2My43ODksMTQ2LjE3OXogTTMxLjUyLDE0My4zNkw1MS4wODksNTEuMmg4OC45NThsMTYuMzA5LDkyLjE2SDMxLjUyeiIvPgogICAgPC9nPgo8L3N2Zz4K",Terrace:sce,Toilet:ice,Upstairs:oce,Wardrobe:rce,Washroom:Mce,Wc:nce,Windscreen:ace,Workshop:cce,Workspace:uce},lce=[{_id:"hood",name:{en:"Hood",ru:"Вытяжка",de:"Abzugshaube",fr:"Capot",it:"Cappe",nl:"Hood",pl:"Okapy",pt:"Hood",es:"Campana","zh-cn":"抽油烟机"},icon:"Hoods.svg"},{_id:"alarm_system",name:{en:"Alarm System",ru:"Сигнализация",de:"Alarmanlage",fr:"Systèmes D'Alarme",it:"Sistemi Di Allarme",nl:"Alarm Systems",pl:"Systemy Alarmowe",pt:"Sistemas De Alarme",es:"Sistemas De Alarma","zh-cn":"报警系统"},icon:"Alarm Systems.svg"},{_id:"battery_status",name:{en:"Battery Status",ru:"Заряд батареи",de:"Batteriestatus",fr:"État De La Batterie",it:"Stato Della Batteria",nl:"Batterij Status",pl:"Stan Baterii",pt:"Estado Da Bateria",es:"Estado De La Batería","zh-cn":"电池状态"},icon:"Battery Status.svg"},{_id:"lighting",name:{en:"Lighting",ru:"Светильник",de:"Beleuchtung",fr:"Éclairages",it:"Illuminazione",nl:"Verlichting",pl:"Oprawy Oświetleniowe",pt:"Iluminações",es:"Iluminaciones","zh-cn":"照明"},icon:"Lightings.svg"},{_id:"shading",name:{en:"Shading",ru:"Затенение",de:"Beschattungen",fr:"Ombres",it:"Ombreggiatura",nl:"Shading",pl:"Zacienienie",pt:"Shading",es:"Sombreado","zh-cn":"底纹"},icon:"Shading.svg"},{_id:"irrigation",name:{en:"Irrigation",ru:"Орошение",de:"Bewässerung",fr:"Irrigation",it:"Irrigazione",nl:"Irrigatie",pl:"Nawadnianie",pt:"Irrigação",es:"Irrigación","zh-cn":"灌溉"},icon:"Irrigation.svg"},{_id:"iron",name:{en:"Iron",ru:"Утюг",de:"Bügeleisen",fr:"Le Fer",it:"Ferro",nl:"Ijzer",pl:"Żelazo",pt:"Ferro",es:"Hierro","zh-cn":"铁"},icon:"Iron.svg"},{_id:"computer",name:{en:"Computer",ru:"Компьютер",de:"Rechner",fr:"L'Ordinateur",it:"Computer",nl:"Computer",pl:"Komputer",pt:"Computador",es:"Ordenador","zh-cn":"电脑"},icon:"Computer.svg"},{_id:"ceiling_spotlight",name:{en:"Ceiling Spotlight",ru:"Потолочный прожектор",de:"Deckenspot",fr:"Plafond Spotlight",it:"Faretti A Soffitto",nl:"Plafond Spotlight",pl:"Reflektory Sufitowe",pt:"Tecto Foco",es:"Focos De Techo","zh-cn":"天花射灯"},icon:"Ceiling Spotlights.svg"},{_id:"printer",name:{en:"Printer",de:"Drucker",ru:"Принтер",pt:"Impressora",nl:"Printer",fr:"Imprimante",it:"Stampante",es:"Impresora",pl:"Drukarka","zh-cn":"打印机"},icon:"Printer.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"window",name:{en:"Window",ru:"Окно",de:"Fenster",fr:"La Fenêtre",it:"Finestra",nl:"Venster",pl:"Okno",pt:"Janela",es:"Ventana","zh-cn":"窗户"},icon:"Window.svg"},{_id:"garage_door",name:{en:"Garage Door",ru:"Гаражные Ворота",de:"Garagentor",fr:"Portes De Garage",it:"Garage Door",nl:"Garage Door",pl:"Bramy Garażowe",pt:"Portas De Garagem",es:"Las Puertas De Garaje","zh-cn":"车库门"},icon:"Garage Doors.svg"},{_id:"hairdryer",name:{en:"Hairdryer",ru:"Фен",de:"Haartrockner",fr:"Sèche-Cheveux",it:"Asciugacapelli",nl:"Haardroger",pl:"Suszarka Do Włosów",pt:"Secador De Cabelo",es:"Secador De Pelo","zh-cn":"电吹风"},icon:"Hairdryer.svg"},{_id:"hanging_lamp",name:{en:"Hanging Lamp",ru:"Подвесной светильник",de:"Hängelampe",fr:"Lampes Suspendues",it:"Lampade A Sospensione",nl:"Opknoping Lampen",pl:"Lampy Wiszące",pt:"Lâmpadas De Suspensão",es:"Lámparas Colgantes","zh-cn":"挂灯"},icon:"Hanging Lamps.svg"},{_id:"doorstep",name:{en:"Enterance",ru:"Входная дверь",de:"Haustür",fr:"Seuil De Porte",it:"Gradino Della Porta",nl:"Drempel",pl:"Próg",pt:"Porta",es:"Peldaño","zh-cn":"门阶"},icon:"Doorstep.svg"},{_id:"hot_water",name:{en:"Hot Water",ru:"Горячая вода",de:"Heißwasser",fr:"Eau Chaude",it:"Acqua Calda",nl:"Heet Water",pl:"Gorąca Woda",pt:"Água Quente",es:"Agua Caliente","zh-cn":"热水"},icon:"Hot Water.svg"},{_id:"heating",name:{en:"Heating",ru:"Отопление",de:"Heizung",fr:"Chauffe-Eau",it:"Riscaldatore",nl:"Verwarmer",pl:"Podgrzewacz",pt:"Aquecedor",es:"Calentador","zh-cn":"加热器"},icon:"Heater.svg"},{_id:"stove",name:{en:"Stove",ru:"Печь",de:"Herd",fr:"Le Fourneau",it:"Stufa",nl:"Fornuis",pl:"Kuchenka",pt:"Forno",es:"Cocina","zh-cn":"火炉"},icon:"Stove.svg"},{_id:"louvre",name:{en:"Louvre",ru:"Жалюзи",de:"Jalousie",fr:"Persienne",it:"Persiana Di Ventilazione",nl:"Louvre",pl:"Żaluzja",pt:"Trapeira",es:"Lumbrera","zh-cn":"卢浮宫"},icon:"Louvre.svg"},{_id:"coffee_maker",name:{en:"Coffee Maker",ru:"Кофеварка",de:"Kaffemaschine",fr:"Cafetière",it:"Macchine Da Caffè",nl:"Koffie Maker",pl:"Ekspresy Do Kawy",pt:"Cafeteira",es:"Cafetera","zh-cn":"咖啡壶"},icon:"Coffee Makers.svg"},{_id:"cold_water",name:{en:"Cold Water",ru:"Холодная вода",de:"Kaltwasser",fr:"Eau Froide",it:"Acqua Fredda",nl:"Koud Water",pl:"Zimna Woda",pt:"Água Fria",es:"Agua Fría","zh-cn":"冷水"},icon:"Cold Water.svg"},{_id:"climate",name:{en:"Climate",ru:"Климат",de:"Klima",fr:"Climat",it:"Clima",nl:"Klimaat",pl:"Klimat",pt:"Clima",es:"Clima","zh-cn":"气候"},icon:"Climate.svg"},{_id:"speaker",name:{en:"Speaker",ru:"Звуковая система",de:"Lautsprecher",fr:"Orateur",it:"Altoparlante",nl:"Spreker",pl:"Głośnik",pt:"Palestrante",es:"Altavoz","zh-cn":"扬声器"},icon:"Speaker.svg"},{_id:"led_strip",name:{en:"Led Strip",ru:"Светодиодная лента",de:"LED Leiste",fr:"Led Strip",it:"Led Strip",nl:"Loden Strip",pl:"Pasek Ledowy",pt:"Led Faixa",es:"Tira Llevada","zh-cn":"灯带"},icon:"Led Strip.svg"},{_id:"light",name:{en:"Light",ru:"Свет",de:"Licht",fr:"Lumière",it:"Leggero",nl:"Licht",pl:"Lekki",pt:"Luz",es:"Luz","zh-cn":"光"},icon:"Light.svg"},{_id:"fan",name:{en:"Fan",ru:"Вентилятор",de:"Lüfter",fr:"Ventilateur",it:"Fan",nl:"Ventilator",pl:"Wentylator",pt:"Ventilador",es:"Ventilador","zh-cn":"扇子"},icon:"Fan.svg"},{_id:"humidity",name:{en:"Humidity",ru:"Влажность",de:"Luftfeuchtigkeit",fr:"Humidité",it:"Umidità",nl:"Vochtigheid",pl:"Wilgotność",pt:"Umidade",es:"Humedad","zh-cn":"湿度"},icon:"Humidity.svg"},{_id:"ventilation",name:{en:"Ventilation",ru:"Вентиляция",de:"Lüftung",fr:"Ventilation",it:"Ventilazione",nl:"Ventilatie",pl:"Wentylacja",pt:"Ventilação",es:"Ventilación","zh-cn":"通风"},icon:"Ventilation.svg"},{_id:"chandelier",name:{en:"Chandelier",ru:"Люстра",de:"Kronleuchter",fr:"Lustre",it:"Lampadario",nl:"Kroonluchter",pl:"Żyrandol",pt:"Lustre",es:"Candelabro","zh-cn":"枝形吊灯"},icon:"Chandelier.svg"},{_id:"awning",name:{en:"Awning",ru:"Маркиза",de:"Markise",fr:"Auvents",it:"Tende",nl:"Luifels",pl:"Okrycia",pt:"Toldos",es:"Toldos","zh-cn":"遮阳篷"},icon:"Awnings.svg"},{_id:"music",name:{en:"Music",ru:"Музыка",de:"Musik",fr:"Musique",it:"Musica",nl:"Muziek",pl:"Muzyka",pt:"Música",es:"Música","zh-cn":"音乐"},icon:"Music.svg"},{_id:"people",name:{en:"People",ru:"Люди",de:"Personen",fr:"Gens",it:"Persone",nl:"Mensen",pl:"Ludzie",pt:"Pessoas",es:"Personas","zh-cn":"人们"},icon:"People.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"pump",name:{en:"Pump",ru:"Насос",de:"Pumpe",fr:"Pompe",it:"Pompa",nl:"Pomp",pl:"Pompa",pt:"Bombear",es:"Bomba","zh-cn":"泵"},icon:"Pump.svg"},{_id:"outdoor_blinds",name:{en:"Outdoor Blinds",ru:"Внещгте жалюзи",de:"Raffstore",fr:"Volets",it:"Tende Da Esterni",nl:"Outdoor Blinds",pl:"Rolety Zewnętrzne",pt:"Estores Exteriores",es:"Persianas Exteriores","zh-cn":"室外百叶窗"},icon:"Outdoor Blinds.svg"},{_id:"mowing_machine",name:{en:"Mowing Machine",ru:"Газонокосилка",de:"Rasenmäher",fr:"Machine De Fauchage",it:"Macchina Di Falciatura",nl:"Maaimachine",pl:"Kosiarka",pt:"Roçada Máquina",es:"Segadora","zh-cn":"割草机"},icon:"Mowing Machine.svg"},{_id:"receiver",name:{en:"Receiver",ru:"Приставка",de:"Receiver",fr:"Destinataire",it:"Ricevitore",nl:"Ontvanger",pl:"Odbiorca",pt:"Recebedor",es:"Receptor","zh-cn":"接收者"},icon:"Receiver.svg"},{_id:"shutters",name:{en:"Shutters",ru:"Ставни",de:"Rollladen",fr:"Volets",it:"Persiane",nl:"Shutters",pl:"Żaluzje",pt:"Persianas",es:"Persianas","zh-cn":"百叶窗"},icon:"Shutters.svg"},{_id:"smoke_detector",name:{en:"Smoke detector",de:"Rauchmelder",ru:"Детектор дыма",pt:"Detector de fumaça",nl:"Rookdetector",fr:"Détecteur de fumée",it:"Rilevatore di fumo",es:"Detector de humo",pl:"Wykrywacz dymu","zh-cn":"烟雾探测器"},icon:"SmokeDetector.svg"},{_id:"lock",name:{en:"Lock",ru:"Замок",de:"Schloß",fr:"Fermer À Clé",it:"Serratura",nl:"Slot",pl:"Zamek",pt:"Trancar",es:"Cerrar Con Llave","zh-cn":"锁"},icon:"Lock.svg"},{_id:"security",name:{en:"Security",ru:"Безопасность",de:"Sicherheit",fr:"Sécurité",it:"Sicurezza",nl:"Veiligheid",pl:"Bezpieczeństwo",pt:"Segurança",es:"Seguridad","zh-cn":"安全"},icon:"Security.svg"},{_id:"dishwasher",name:{en:"Dishwasher",ru:"Посудомоечная машина",de:"Spülmaschine",fr:"Lave-Vaisselles",it:"Lavastoviglie",nl:"Vaatwassers",pl:"Zmywarki",pt:"Máquinas De Lavar Louça",es:"Lavaplatos","zh-cn":"洗碗机"},icon:"Dishwashers.svg"},{_id:"vacuum_cleaner",name:{en:"Vacuum Cleaner",ru:"Пылесос",de:"Staubsauger",fr:"Aspirateur",it:"Aspirapolvere",nl:"Stofzuiger",pl:"Odkurzacz",pt:"Aspirador De Pó",es:"Aspiradora","zh-cn":"吸尘器"},icon:"Vacuum Cleaner.svg"},{_id:"socket",name:{en:"Socket",ru:"Розетка",de:"Steckdose",fr:"Prise",it:"Socket",nl:"Socket",pl:"Gniazdka",pt:"Tomada",es:"Zócalo","zh-cn":"套接字"},icon:"Sockets.svg"},{_id:"floor_lamp",name:{en:"Floor Lamp",ru:"Торшер",de:"Stehlampe",fr:"Lampes Pour Plancher",it:"Lampade A Stelo",nl:"Vloerlampen",pl:"Lampy Podłogowe",pt:"Lâmpadas Chão",es:"Lámparas De Pie","zh-cn":"落地灯"},icon:"Floor Lamps.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"temperature_sensor",name:{en:"Temperature Sensor",ru:"Температурный датчик",de:"Temperatur-Sensor",fr:"Capteur De Température",it:"Sensori Di Temperatura",nl:"Temperatuursensor",pl:"Czujniki Temperatury",pt:"Sensores De Temperatura",es:"Sensores De Temperatura","zh-cn":"温度传感器"},icon:"Temperature Sensors.svg"},{_id:"table_lamp",name:{en:"Table Lamp",ru:"Настольная лампа",de:"Tischlampe",fr:"Lampe De Chevet",it:"Lampade Da Tavolo",nl:"Tafellampen",pl:"Lampy Stołowe",pt:"Lâmpadas De Mesa",es:"Lámparas De Mesa","zh-cn":"台灯"},icon:"Table Lamps.svg"},{_id:"gate",name:{en:"Gate",ru:"Ворота",de:"Tor",fr:"Porte",it:"Gate",nl:"Gate",pl:"Bramy",pt:"Portões",es:"Puertas","zh-cn":"盖茨"},icon:"Gates.svg"},{_id:"dryer",name:{en:"Dryer",ru:"Сушилка",de:"Trockner",fr:"Séchoir",it:"Asciugatrice",nl:"Droger",pl:"Suszarka",pt:"Secador",es:"Secadora","zh-cn":"烘干机"},icon:"Dryer.svg"},{_id:"door",name:{en:"Door",ru:"Дверь",de:"Tür",fr:"Des Portes",it:"Porte",nl:"Deuren",pl:"Drzwi",pt:"Portas",es:"Puertas","zh-cn":"门"},icon:"Doors.svg"},{_id:"tv",name:{en:"Tv",ru:"Телевизор",de:"TV",fr:"La Télé",it:"Tv",nl:"Tv",pl:"Telewizja",pt:"Televisão",es:"Televisor","zh-cn":"电视"},icon:"Tv.svg"},{_id:"consumption",name:{en:"Consumption",ru:"Потребление",de:"Verbrauch",fr:"Consommation",it:"Consumo",nl:"Consumptie",pl:"Konsumpcja",pt:"Consumo",es:"Consumo","zh-cn":"消费"},icon:"Consumption.svg"},{_id:"amplifier",name:{en:"Amplifier",ru:"Усилитель звука",de:"Verstärker",fr:"Amplificateur",it:"Amplificatore",nl:"Versterker",pl:"Wzmacniacz",pt:"Amplificador",es:"Amplificador","zh-cn":"放大器"},icon:"Amplifier.svg"},{_id:"curtains",name:{en:"Curtains",ru:"Шторы",de:"Vorhänge",fr:"Des Rideaux",it:"Le Tende",nl:"Gordijnen",pl:"Zasłony",pt:"Cortinas",es:"Cortinas","zh-cn":"窗帘"},icon:"Curtains.svg"},{_id:"sconce",name:{en:"Sconce",ru:"Настенный светильник",de:"Wandlampe",fr:"Sconce",it:"Sconce",nl:"Sconce",pl:"Kinkiety",pt:"Arandelas",es:"Los Apliques","zh-cn":"壁灯"},icon:"Sconces.svg"},{_id:"washing_machine",name:{en:"Washing Machine",ru:"Стиральная машина",de:"Waschmaschine",fr:"Machines À Laver",it:"Lavatrici",nl:"Wasmachines",pl:"Pralki",pt:"Máquinas De Lavar Roupas",es:"Lavadoras","zh-cn":"洗衣机"},icon:"Washing Machines.svg"},{_id:"water",name:{en:"Water",ru:"Вода",de:"Wasser",fr:"L'Eau",it:"Acqua",nl:"Water",pl:"Woda",pt:"Água",es:"Agua","zh-cn":"水"},icon:"Water.svg"},{_id:"water_heater",name:{en:"Water Heater",ru:"Нагреватель воды",de:"Wasserkocher",fr:"Chauffe-Eau",it:"Scaldabagno",nl:"Waterkoker",pl:"Podgrzewacz Wody",pt:"Aquecedor De Água",es:"Calentador De Agua","zh-cn":"热水器"},icon:"Water Heater.svg"},{_id:"water_consumption",name:{en:"Water Consumption",ru:"Потребление воды",de:"Wasserverbrauch",fr:"Consommation D'Eau",it:"Consumo D'Acqua",nl:"Waterverbruik",pl:"Konsumpcja Wody",pt:"Consumo De Água",es:"Consumo De Agua","zh-cn":"耗水量"},icon:"Water Consumption.svg"},{_id:"weather",name:{en:"Weather",ru:"Погода",de:"Wetter",fr:"La Météo",it:"Tempo Metereologico",nl:"Weer",pl:"Pogoda",pt:"Clima",es:"Tiempo","zh-cn":"天气"},icon:"Weather.svg"}],Lce=[{_id:"storeroom",name:{en:"Storeroom",ru:"Кладовая",de:"Abstellraum",fr:"Débarras",it:"Dispensa",nl:"Bergplaats",pl:"Magazyn",pt:"Despensa",es:"Trastero","zh-cn":"库房"},icon:"Storeroom.svg"},{_id:"second_floor",name:{en:"Second floor",ru:"Второй этаж",de:"Erster OG",pt:"Primeiro andar",nl:"Eerste verdieping",fr:"Premier étage",it:"Primo piano",es:"Primer piso",pl:"Pierwsze piętro","zh-cn":"第一层"},icon:"Second Floor.svg"},{_id:"dressing_room",name:{en:"Dressing Room",ru:"Гардеробная",de:"Ankleide",fr:"Vestiaire",it:"Camerino",nl:"Kleedkamer",pl:"Przebieralnia",pt:"Provador",es:"Vestidor","zh-cn":"更衣室"},icon:"Dressing Room.svg"},{_id:"workspace",name:{en:"Workspace",ru:"Рабочая Среда",de:"Arbeitszimmer",fr:"Espace De Travail",it:"Area Di Lavoro",nl:"Workspace",pl:"Workspace",pt:"Área De Trabalho",es:"Espacio De Trabajo","zh-cn":"工作区"},icon:"Workspace.svg"},{_id:"driveway",name:{en:"Driveway",ru:"Дорога",de:"Auffahrt",fr:"Allée",it:"Viale",nl:"Pad",pl:"Podjazd",pt:"Entrada Da Garagem",es:"Entrada De Coches","zh-cn":"车道"},icon:"Driveway.svg"},{_id:"outdoors",name:{en:"Outdoors",ru:"На Улице",de:"Außenbereich",fr:"En Plein Air",it:"All'Aperto",nl:"Buitenshuis",pl:"Na Dworze",pt:"Ao Ar Livre",es:"Al Aire Libre","zh-cn":"户外"},icon:"Outdoors.svg"},{_id:"bathroom",name:{en:"Bathroom",ru:"Ванная Комната",de:"Badezimmer",fr:"Salle De Bains",it:"Bagno",nl:"Badkamer",pl:"Łazienka",pt:"Banheiro",es:"Baño","zh-cn":"浴室"},icon:"Bathroom.svg"},{_id:"balcony",name:{en:"Balcony",ru:"Балкон",de:"Balkon",fr:"Balcon",it:"Balcone",nl:"Balkon",pl:"Balkon",pt:"Sacada",es:"Balcón","zh-cn":"阳台"},icon:"Balcony.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"carport",name:{en:"Carport",ru:"Навес",de:"Carport",fr:"Carport",it:"Posto Auto Coperto",nl:"Carport",pl:"Wiata",pt:"Telheiro",es:"Cochera","zh-cn":"车棚"},icon:"Carport.svg"},{_id:"attic",name:{en:"Attic",ru:"Чердак",de:"Dachgeschoss",fr:"Grenier",it:"Attico",nl:"Zolder",pl:"Poddasze",pt:"Sótão",es:"Ático","zh-cn":"阁楼"},icon:"Attic.svg"},{_id:"hall",name:{en:"Hall",ru:"Зал",de:"Diele",fr:"Salle",it:"Sala",nl:"Hal",pl:"Sala",pt:"Corredor",es:"Sala","zh-cn":"大厅"},icon:"Hall.svg"},{_id:"entrance",name:{en:"Entrance",ru:"Вход",de:"Eingang",fr:"Entrée",it:"Ingresso",nl:"Ingang",pl:"Wejście",pt:"Entrada",es:"Entrada","zh-cn":"入口"},icon:"Entrance.svg"},{_id:"ground_floor",name:{en:"Ground Floor",ru:"Первый Этаж",de:"Erdgeschoss",fr:"Rez-De-Chaussée",it:"Piano Terra",nl:"Begane Grond",pl:"Parter",pt:"Térreo",es:"Planta Baja","zh-cn":"一楼"},icon:"Ground Floor.svg"},{_id:"dining_area",name:{en:"Dining Area",ru:"Столовая",de:"Essbereich",fr:"Salle À Manger",it:"Zona Pranzo",nl:"Eethoek",pl:"Jadalnia",pt:"Área De Refeições",es:"Comedor","zh-cn":"用餐区"},icon:"Dining Area.svg"},{_id:"dining_room",name:{en:"Dining Room",ru:"Столовая",de:"Esszimmer",fr:"Salle À Manger",it:"Sala Da Pranzo",nl:"Eetkamer",pl:"Jadalnia",pt:"Sala De Jantar",es:"Comedor","zh-cn":"饭厅"},icon:"Dining Room.svg"},{_id:"gym",name:{en:"Gym",ru:"Спортзал",de:"Fitnessraum",fr:"Gym",it:"Palestra",nl:"Sportschool",pl:"Siłownia",pt:"Ginásio",es:"Gimnasio","zh-cn":"健身房"},icon:"Gym.svg"},{_id:"gallery",name:{en:"Gallery",ru:"Галерея",de:"Galerie",fr:"Galerie",it:"Galleria",nl:"Galerij",pl:"Galeria",pt:"Galeria",es:"Galería","zh-cn":"画廊"},icon:"Gallery.svg"},{_id:"garage",name:{en:"Garage",ru:"Гараж",de:"Garage",fr:"Garage",it:"Box Auto",nl:"Garage",pl:"Garaż",pt:"Garagem",es:"Garaje","zh-cn":"车库"},icon:"Garage.svg"},{_id:"wardrobe",name:{en:"Wardrobe",ru:"Гардероб",de:"Garderobe",fr:"Penderie",it:"Armadio",nl:"Garderobe",pl:"Szafa",pt:"Guarda Roupa",es:"Armario","zh-cn":"衣柜"},icon:"Wardrobe.svg"},{_id:"garden",name:{en:"Garden",ru:"Сад",de:"Garten",fr:"Jardin",it:"Giardino",nl:"Tuin",pl:"Ogród",pt:"Jardim",es:"Jardín","zh-cn":"花园"},icon:"Garden.svg"},{_id:"summer_house",name:{en:"Summer House",ru:"Дача",de:"Gartenhaus",fr:"Maison D'Été",it:"Casa Estiva",nl:"Zomerhuis",pl:"Domek Letniskowy",pt:"Summer House",es:"Casa De Verano","zh-cn":"凉亭"},icon:"Summer House.svg"},{_id:"guest_bathroom",name:{en:"Guest Bathroom",ru:"Гостевая Комната",de:"Gäste-WC",fr:"Salle De Bains Invité",it:"Guest Bathroom",nl:"Gastenbadkamer",pl:"Łazienka Gościnna",pt:"Banheiro De Hóspedes",es:"Baño De Visitas","zh-cn":"客用浴室"},icon:"Guest Bathroom.svg"},{_id:"guest_room",name:{en:"Guest Room",ru:"Гостевая Комната",de:"Gästezimmer",fr:"Chambre D'Amis",it:"Stanza Degli Ospiti",nl:"Guest Room",pl:"Pokój Gościnny",pt:"Quarto De Hóspedes",es:"Habitación De Huéspedes","zh-cn":"客房"},icon:"Guest Room.svg"},{_id:"laundry_room",name:{en:"Laundry Room",ru:"Прачечная",de:"Hauswirtschaftsraum",fr:"Buanderie",it:"Lavanderia",nl:"Wasruimte",pl:"Pralnia",pt:"Lavandaria",es:"Cuarto De Lavado","zh-cn":"洗衣房"},icon:"Laundry Room.svg"},{_id:"home_theater",name:{en:"Home Theater",ru:"Домашний Театр",de:"Heimkino",fr:"Cinéma Maison",it:"Home Theater",nl:"Thuisbioscoop",pl:"Kino Domowe",pt:"Cinema Em Casa",es:"Cine En Casa","zh-cn":"家庭电影院"},icon:"Home Theater.svg"},{_id:"boiler_room",name:{en:"Boiler Room",ru:"Бойлерная",de:"Heizungsraum",fr:"Chaufferie",it:"Locale Caldaia",nl:"Boiler Room",pl:"Kotłownia",pt:"Sala Da Caldeira",es:"Sala De Calderas","zh-cn":"锅炉房"},icon:"Boiler Room.svg"},{_id:"chamber",name:{en:"Chamber",ru:"Камера",de:"Kammer",fr:"Chambre",it:"Camera",nl:"Kamer",pl:"Izba",pt:"Câmara",es:"Cámara","zh-cn":"商会"},icon:"Chamber.svg"},{_id:"basement,_cellar",name:{en:"Basement, Cellar",ru:"Подвал, Погреб",de:"Keller",fr:"Sous-Sol, Cave",it:"Taverna, Cantina",nl:"Kelder, Kelder",pl:"Piwnica, Piwnica",pt:"Porão, Adega",es:"Sótano, Bodega","zh-cn":"地下室,地窖"},icon:"Basement.svg"},{_id:"nursery",name:{en:"Nursery",ru:"Питомник",de:"Kinderzimmer",fr:"Garderie",it:"Asilo",nl:"Kinderkamer",pl:"Żłobek",pt:"Berçário",es:"Guardería","zh-cn":"苗圃"},icon:"Nursery.svg"},{_id:"corridor",name:{en:"Corridor",ru:"Коридор",de:"Korridor",fr:"Couloir",it:"Corridoio",nl:"Gang",pl:"Korytarz",pt:"Corredor",es:"Corredor","zh-cn":"走廊"},icon:"Corridor.svg"},{_id:"kitchen",name:{en:"Kitchen",ru:"Кухня",de:"Küche",fr:"Cuisine",it:"Cucina",nl:"Keuken",pl:"Kuchnia",pt:"Cozinha",es:"Cocina","zh-cn":"厨房"},icon:"Kitchen.svg"},{_id:"upstairs",name:{en:"Upstairs",ru:"Вверх По Лестнице",de:"Obergeschoss",fr:"En Haut",it:"Di Sopra",nl:"Boven",pl:"Na Górę",pt:"Andar De Cima",es:"Piso Superior","zh-cn":"楼上"},icon:"Upstairs.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"rear_wall",name:{en:"Rear Wall",ru:"Задняя Стенка",de:"Rückwand",fr:"Paroi Arrière",it:"Parete Posteriore",nl:"Achterwand",pl:"Tylna Ściana",pt:"Parede Traseira",es:"Pared Posterior","zh-cn":"后墙"},icon:"Rear Wall.svg"},{_id:"barn",name:{en:"Barn",ru:"Амбар",de:"Scheune",fr:"Grange",it:"Fienile",nl:"Schuur",pl:"Stodoła",pt:"Celeiro",es:"Granero","zh-cn":"谷仓"},icon:"Barn.svg"},{_id:"sleeping_area",name:{en:"Sleeping Area",ru:"Спальное Место",de:"Schlafbereich",fr:"Coin Montagne",it:"Area Sleeping",nl:"Sleeping Area",pl:"Powierzchnia Spania",pt:"Sleeping Area",es:"Área De Dormir","zh-cn":"睡眠区"},icon:"Sleeping Area.svg"},{_id:"bedroom",name:{en:"Bedroom",ru:"Спальная Комната",de:"Schlafzimmer",fr:"Chambre",it:"Camera Da Letto",nl:"Slaapkamer",pl:"Sypialnia",pt:"Quarto",es:"Cuarto","zh-cn":"卧室"},icon:"Bedroom.svg"},{_id:"shed",name:{en:"Shed",ru:"Сбрасывать",de:"Schuppen",fr:"Hangar",it:"Capannone",nl:"Schuur",pl:"Budka",pt:"Cabana",es:"Cobertizo","zh-cn":"棚"},icon:"Shed.svg"},{_id:"swimming_pool",name:{en:"Swimming Pool",ru:"Плавательный Бассейн",de:"Schwimmbad",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"游泳池"},icon:"Swimming Pool.svg"},{_id:"dining",name:{en:"Dining",ru:"Обеденный",de:"Speis",fr:"À Manger",it:"Cenare",nl:"Dining",pl:"Jadalnia",pt:"Jantar",es:"Comida","zh-cn":"用餐"},icon:"Dining.svg"},{_id:"playroom",name:{en:"Playroom",ru:"Игровая Комната",de:"Spielzimmer",fr:"Salle De Jeux",it:"Stanza Dei Giochi",nl:"Speelkamer",pl:"Pokój Zabaw",pt:"Sala De Jogos",es:"Cuarto De Jugar","zh-cn":"游戏室"},icon:"Playroom.svg"},{_id:"stairway",name:{en:"Stairway",ru:"Лестница",de:"Treppe",fr:"Escalier",it:"Scala",nl:"Trap",pl:"Klatka Schodowa",pt:"Escada",es:"Escalera","zh-cn":"楼梯"},icon:"Stairway.svg"},{_id:"equipment_room",name:{en:"Equipment Room",ru:"Оборудование Номера",de:"Technikraum",fr:"Salle D'Équipement",it:"Stanza Degli Attrezzi",nl:"Technische Ruimte",pl:"Wyposażenie Pokoi",pt:"Sala De Equipamentos",es:"Cuarto De Equipos","zh-cn":"机房"},icon:"Equipment Room.svg"},{_id:"terrace",name:{en:"Terrace",ru:"Терраса",de:"Terrasse",fr:"Terrasse",it:"Terrazza",nl:"Terras",pl:"Taras",pt:"Terraço",es:"Terraza","zh-cn":"阳台"},icon:"Terrace.svg"},{_id:"toilet",name:{en:"Toilet",ru:"Туалет",de:"Toilette",fr:"Toilette",it:"Gabinetto",nl:"Toilet",pl:"Toaleta",pt:"Banheiro",es:"Inodoro","zh-cn":"洗手间"},icon:"Toilet.svg"},{_id:"stairwell",name:{en:"Stairwell",ru:"Лестничная клетка",de:"Treppenhaus",fr:"Cage D'Escalier",it:"Tromba Delle Scale",nl:"Trappenhuis",pl:"Klatka Schodowa",pt:"Caixa De Escada",es:"Hueco De Escalera","zh-cn":"楼梯间"},icon:"Stairwell.svg"},{_id:"locker_room",name:{en:"Locker Room",ru:"Камера Хранения",de:"Umkleideraum",fr:"Vestiaire",it:"Spogliatoio",nl:"Kleedkamer",pl:"Szatnia",pt:"Vestiário",es:"Vestuario","zh-cn":"更衣室"},icon:"Locker Room.svg"},{_id:"basement",name:{en:"Basement",ru:"Подвал",de:"Untergeschoss",fr:"Sous-Sol",it:"Seminterrato",nl:"Kelder",pl:"Piwnica",pt:"Porão",es:"Sótano","zh-cn":"地下室"},icon:"Basement.svg"},{_id:"front_yard",name:{en:"Front Yard",ru:"Передний Двор",de:"Vorgarten",fr:"Front Yard",it:"Cortile",nl:"Voortuin",pl:"Podwórko",pt:"Jardim Da Frente",es:"Patio Delantero","zh-cn":"前院"},icon:"Front Yard.svg"},{_id:"anteroom",name:{en:"Anteroom",ru:"Передняя",de:"Vorraum",fr:"Antichambre",it:"Anticamera",nl:"Voorkamer",pl:"Przedpokój",pt:"Ante-Sala",es:"Antesala","zh-cn":"接待室"},icon:"Anteroom.svg"},{_id:"washroom",name:{en:"Washroom",ru:"Уборная",de:"Waschraum",fr:"Toilettes",it:"Bagno",nl:"Waskamer",pl:"Umywalnia",pt:"Banheiro",es:"Baño","zh-cn":"卫生间"},icon:"Washroom.svg"},{_id:"wc",name:{en:"Wc",ru:"Туалет",de:"WC",fr:"Toilettes",it:"Bagno",nl:"Wc",pl:"Toaleta",pt:"Banheiro",es:"Wc","zh-cn":"厕所"},icon:"Wc.svg"},{_id:"workshop",name:{en:"Workshop",ru:"Мастерская",de:"Werkstatt",fr:"Atelier",it:"Laboratorio",nl:"Werkplaats",pl:"Warsztat",pt:"Oficina",es:"Taller","zh-cn":"作坊"},icon:"Workshop.svg"},{_id:"windscreen",name:{en:"Windscreen",ru:"Ветровое Стекло",de:"Windfang",fr:"Pare-Brise",it:"Parabrezza",nl:"Voorruit",pl:"Szyba Przednia",pt:"Pára-Brisas",es:"Parabrisas","zh-cn":"风档"},icon:"Windscreen.svg"},{_id:"living_area",name:{en:"Living Area",ru:"Жилая Площадь",de:"Wohnbereich",fr:"Salon",it:"Zona Giorno",nl:"Living Area",pl:"Powierzchnia Mieszkalna",pt:"Sala-De-Estar",es:"Sala De Estar","zh-cn":"生活区域"},icon:"Living Area.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"}];class jce extends b.Component{constructor(e){super(e),this.state={opened:!1,names:[],filter:"",icons:null,loading:!1,isAnyName:!1}}loadAllIcons(){this.state.loading||this.state.icons||this.setState({loading:!0},()=>{const e=[],t=[];if(this.props.icons){const s=this.props.icons.map((o,r)=>{let M;if(typeof o=="object"){if(M=o.icon||o.src||o.href||"",t[r]=typeof o.name=="object"?o.name[this.props.lang]||o.name.en||o._id||"":o.name||"",!t[r]){const a=M.split(".");a.pop(),t[r]=a[a.length-1]}}else M=o;return M?M.startsWith("data:")?(e[r]=M,Promise.resolve()):S.getSvg(M).then(a=>e[r]=a):Promise.resolve()});Promise.all(s).catch(o=>console.error(o)).then(()=>this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(o=>o)}))}else{let s=this.props.onlyRooms||!this.props.onlyRooms&&!this.props.onlyDevices?Lce:null;if(s&&(s.forEach(o=>{o.name&&typeof o.name=="object"&&(o.name=o.name[this.props.lang]||o.name.en||o._id),o.name=o.name||o._id}),s=s.filter((o,r)=>!(s!=null&&s.find((M,a)=>r!==a&&M.icon===o.icon&&M.name===o.name))),s.forEach((o,r)=>{t[r]=o.name,e[r]=`data:image/svg+xml;base64,${Nce[o.icon.replace(/\.svg$/,"")]}`})),s=this.props.onlyDevices||!this.props.onlyRooms&&!this.props.onlyDevices?lce:null,s){const o=e.length;s&&s.forEach(r=>{r.name&&typeof r.name=="object"&&(r.name=r.name[this.props.lang]||r.name.en||r._id),r.name=r.name||r._id}),s=s.filter((r,M)=>!(s!=null&&s.find((a,u)=>M!==u&&a.icon===r.icon&&a.name===r.name))),s.forEach((r,M)=>{t[M+o]=r.name,e[M+o]=`data:image/svg+xml;base64,${pae[r.icon.replace(/\.svg$/,"")]}`})}this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(o=>o)})}})}render(){return this.state.loading?n.createElement(g.CircularProgress,null):n.createElement(n.Fragment,null,n.createElement(g.Button,{color:"grey",variant:"outlined",title:this.props.t("ra_Select predefined icon"),onClick:()=>this.setState({opened:!0},()=>this.loadAllIcons()),style:{minWidth:40,marginRight:8}},"..."),this.state.opened?n.createElement(g.Dialog,{onClose:()=>this.setState({opened:!1}),open:!0},n.createElement(g.DialogTitle,null,this.props.t("ra_Select predefined icon"),this.state.isAnyName?n.createElement(g.TextField,{variant:"standard",margin:"dense",style:{marginLeft:20},value:this.state.filter,onChange:e=>this.setState({filter:e.target.value.toLowerCase()}),placeholder:this.props.t("ra_Filter"),slotProps:{input:{endAdornment:this.state.filter?n.createElement(g.IconButton,{tabIndex:-1,size:"small",onClick:()=>this.setState({filter:""})},n.createElement(m.Clear,null)):void 0}}}):null),n.createElement(g.DialogContent,null,n.createElement("div",{style:{width:"100%",textAlign:"center"}},this.state.icons&&this.state.icons.map((e,t)=>!this.state.filter||this.state.names[t]&&this.state.names[t].toLowerCase().includes(this.state.filter)?n.createElement(g.Tooltip,{title:this.state.names[t]||"",key:t,slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(g.IconButton,{onClick:()=>this.setState({opened:!1},()=>{const s=this.props.onSelect||this.props.onChange;s&&s(e)}),size:"large"},n.createElement(Ie,{src:e,alt:t.toString(),style:{width:32,height:32,borderRadius:5}}))):null))),n.createElement(g.DialogActions,null,n.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({opened:!1}),startIcon:n.createElement(m.Close,null)},this.props.t("ra_Close")))):null)}}const Mt={formContainer:{display:"flex",justifyContent:"left",alignItems:"center"},formControl:{display:"flex",padding:24,flexGrow:1e3},divContainer:{width:64,height:32,whiteSpace:"nowrap",lineHeight:"32px",marginRight:8},dragField:{textAlign:"center",display:"table",minHeight:90,width:"calc(100% - 60px)",border:"2px dashed #777",borderRadius:10,padding:4},formIcon:{margin:10,opacity:.6},text:{display:"table-cell",verticalAlign:"middle"}};function a4e(i){var a,u,N,l;const e=i.icon,t=i.onChange,s=b.useCallback(c=>{const L=new FileReader;L.addEventListener("load",()=>t(L.result),!1),c[0]&&L.readAsDataURL(c[0])},[t]),{getRootProps:o,getInputProps:r,isDragActive:M}=oc({onDrop:s});return n.createElement("div",{style:Mt.formContainer},e?n.createElement(e,{style:Mt.formIcon}):null,n.createElement(g.FormControl,{variant:"standard",style:{...Mt.formControl,padding:3}},n.createElement(g.InputLabel,{shrink:!0,sx:(a=i.customStyles)!=null&&a.label?{"&.MuiInputLabel-root":i.customStyles.label}:void 0,classes:{root:(u=i.customClasses)==null?void 0:u.label}},i.label),n.createElement("div",{style:Mt.formContainer},i.value?n.createElement("div",{style:Mt.divContainer},n.createElement(Ie,{style:{...i.previewStyle,...((N=i.customStyles)==null?void 0:N.icon)||void 0},src:i.value,className:S.clsx(i.previewClassName,(l=i.customClasses)==null?void 0:l.icon)}),!i.disabled&&n.createElement(g.IconButton,{style:{verticalAlign:"top"},title:d.t("ra_Clear icon"),size:"small",onClick:()=>i.onChange("")},n.createElement(m.Clear,null))):!i.disabled&&n.createElement(jce,{icons:i.icons,onlyRooms:i.onlyRooms,onlyDevices:i.onlyDevices,onSelect:c=>i.onChange(c),t:d.t,lang:d.getLanguage()}),!i.disabled&&n.createElement("div",{...o(),style:{...Mt.dragField,...M?{backgroundColor:"rgba(0, 255, 0, 0.1)"}:{cursor:"pointer"}}},n.createElement("input",{...r()}),M?n.createElement("span",{style:Mt.text},d.t("ra_Drop the files here...")):n.createElement("span",{style:Mt.text},d.t("ra_Drag 'n' drop some files here, or click to select files"))))))}function gce(i){const e=document.createElement("div");e.innerHTML=i;const t=e.firstElementChild;return t!=null&&t.remove?t.remove():t&&e.removeChild(t),e.remove(),t}function Tce(i){const e={};if(!i)return e;for(let t,s=0;sr[1].toUpperCase()),e[t]=i[s].value}return e}class qs extends b.Component{svg;static REMOTE_SERVER=window.location.hostname.includes("iobroker.in");static REMOTE_PREFIX=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);constructor(e){var t;super(e),this.state={svg:!!((t=this.props.src)!=null&&t.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(e,t){var r;const s={};let o=!1;return e&&t&&e.src!==t.src&&(s.src=e.src,s.svg=(r=e.src)==null?void 0:r.startsWith("data:"),s.created=!1,o=!0),e&&t&&e.color!==t.color&&(s.color=e.color,s.created=!1,o=!0),e&&t&&e.showError!==t.showError&&(s.showError=e.showError,o=!0),o?s:null}getSvgFromData(e){const t="data:image/svg+xml;base64,";if(!e.startsWith(t))return null;e=e.substring(t.length);try{e=atob(e);const s=gce(e),o=s.innerHTML,r=Tce(s.attributes);return s.remove(),n.createElement(g.Box,{component:"svg",sx:this.props.sx,className:this.props.className,style:this.state.color?{color:this.state.color}:void 0,...r,dangerouslySetInnerHTML:{__html:o}})}catch{}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 n.createElement(Fo,{className:this.props.className});if(qs.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let e=(this.props.imagePrefix||"")+this.state.src;return e.startsWith("./")?e=qs.REMOTE_PREFIX+e.substring(2):e.startsWith("/")||(e=qs.REMOTE_PREFIX+e),n.createElement(g.Box,{component:"img",sx:this.props.sx,className:this.props.className,src:`https://remote-files.iobroker.in${e}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return n.createElement(g.Box,{component:"img",sx:this.props.sx,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}}var R={},zi={},dt={};Object.defineProperty(dt,"__esModule",{value:!0});dt.StateType=dt.Types=void 0;var yM;(function(i){i.unknown="unknown",i.airCondition="airCondition",i.blind="blind",i.blindButtons="blindButtons",i.button="button",i.buttonSensor="buttonSensor",i.camera="camera",i.chart="chart",i.cie="cie",i.ct="ct",i.dimmer="dimmer",i.door="door",i.fireAlarm="fireAlarm",i.floodAlarm="floodAlarm",i.gate="gate",i.hue="hue",i.humidity="humidity",i.illuminance="illuminance",i.image="image",i.info="info",i.instance="instance",i.light="light",i.location="location",i.locationOne="locationOne",i.lock="lock",i.media="media",i.motion="motion",i.rgb="rgb",i.rgbSingle="rgbSingle",i.rgbwSingle="rgbwSingle",i.slider="slider",i.socket="socket",i.temperature="temperature",i.thermostat="thermostat",i.vacuumCleaner="vacuumCleaner",i.volume="volume",i.volumeGroup="volumeGroup",i.warning="warning",i.weatherCurrent="weatherCurrent",i.weatherForecast="weatherForecast",i.window="window",i.windowTilt="windowTilt"})(yM||(dt.Types=yM={}));var DM;(function(i){i.Number="number",i.String="string",i.Boolean="boolean"})(DM||(dt.StateType=DM={}));var De={};Object.defineProperty(De,"__esModule",{value:!0});De.checkEnum=ra;De.roleOrEnum=ss;De.roleOrEnumLight=yce;De.roleOrEnumBlind=Dce;De.roleOrEnumGate=dce;De.roleOrEnumWindow=zce;De.roleOrEnumDoor=Ice;De.getEnums=wce;De.getAllStatesInChannel=Cce;De.getAllStatesInDevice=hce;De.getObjectsBelowId=ja;De.getFunctionEnums=Ace;De.getParentId=pce;function ra(i,e){let t=!1;return i&&i.forEach(s=>{const o=s.lastIndexOf(".");o!==-1&&(s=s.substring(o+1));for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&e[r].find(M=>M.test(s)))return t=!0,!1}),t}function ss(i,e,t,s){return i.common.role&&(t!=null&&t.includes(i.common.role))?!0:ra(e,s)}const Ma={en:[/lights?/i,/lamps?/i,/ceilings?/i],de:[/licht(er)?/i,/lampen?/i,/beleuchtung(en)?/i],ru:[/свет/i,/ламп[аы]/i,/торшеры?/,/подсветк[аи]/i,/лампочк[аи]/i,/светильники?/i]},na=["switch.light","dimmer","value.dimmer","level.dimmer","sensor.light","state.light"];function yce(i,e){return ss(i,e,na,Ma)}const Mi={en:[/blinds?/i,/windows?/i,/shutters?/i],de:[/rollladen?/i,/fenstern?/i,/beschattung(en)?/i,/jalousien?/i],ru:[/ставни/i,/рольставни/i,/окна|окно/,/жалюзи/i]},aa=["blind","level.blind","value.blind","action.stop","button.stop","button.stop.blind","button.open.blind","button.close.blind","level.tilt","value.tilt","button.tilt.open","button.tilt.close","button.tilt.stop"];function Dce(i,e){return ss(i,e,aa,Mi)}const ca={en:[/gates?/i],de:[/^toren$/i,/^tor$/i],ru:[/ворота/i]},ua=["gate","value.gate","switch.gate","action.stop","button.stop"];function dce(i,e){return ss(i,e,ua,ca)}const Na=["window","state.window","sensor.window","value.window"];function zce(i,e){return ss(i,e,Na,Mi)}const la={en:[/doors?/i,/gates?/i,/wickets?/i,/entry|entries/i],de:[/^türe?/i,/^tuere?/i,/^tore?$/i,/einfahrt(en)?/i,/pforten?/i],ru:[/двери|дверь/i,/ворота/i,/калитка|калитки/,/въезды?/i,/входы?/i]},La=["door","state.door","sensor.door"];function Ice(i,e){return ss(i,e,La,la)}function wce(){return{door:{roles:La,words:la},window:{roles:Na,words:Mi},blind:{roles:aa,words:Mi},gate:{roles:ua,words:ca},light:{roles:na,words:Ma}}}function Cce(i,e){const t=[],s=new RegExp(`^${e.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+$`);return i.forEach(o=>s.test(o)&&t.push(o)),t}function hce(i,e){const t=[],s=new RegExp(`^${e.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+\\.[^.]+$`);return i.forEach(o=>s.test(o)&&t.push(o)),t}function ja(i,e){const t=[];e+=".";let s=0,o=i.length-1,r=-1;for(;s<=o;){const M=Math.floor((s+o)/2);i[M]=i.length)return t;for(let M=r;M{e[M].common.members.includes(t)&&r.push(M)}),!r.length&&((o=e[t])===null||o===void 0?void 0:o.type)==="state"){const M=(0,Nt.getParentId)(t);e[M]&&(e[M].type==="channel"||e[M].type==="device")&&this.enums.forEach(a=>{e[a].common.members.includes(M)&&r.push(a)})}return r.length?r:null}static copyState(e,t){const s=t||JSON.parse(JSON.stringify(e));return s.original=e.original||e,"enums"in e&&e.enums&&(s.enums=e.enums),"role"in e&&e.role&&(s.role=e.role),"channelRole"in e&&e.channelRole&&(s.channelRole=e.channelRole),s}_testOneState(e){var t,s,o,r,M,a;const u=e.objects,N=e.pattern,l=e.state,c=e.channelStates,L=e.usedIds,j=e.usedInCurrentDevice,T=e.ignoreIndicators,D=e.ignoreEnums,I=e.sortedKeys;let C=e.result,E=!1;for(const A of c)if(!(l.name==="COVER"&&(C!=null&&C.states.find(_=>_.id&&_.name==="COVER")))){if(l.indicator&&T){const p=A.split(".").pop()||"";if(p&&T.includes(p))continue}if((l.indicator||!j.includes(A)&&(l.notSingle||!L.includes(A)))&&this._applyPattern(u,A,l,D,I)){if(C||(C=JSON.parse(JSON.stringify(nt.patterns[N])),e.result=C,C==null||C.states.forEach((_,p)=>xe.copyState(nt.patterns[N].states[p],_))),C.states.find(({id:_})=>_===A))E=!0;else for(const _ of C.states)if(_.name===l.name){if(_.id){let p;e.favorId&&(A===e.favorId?p=!0:_.id===e.favorId&&(p=!1));const z=(o=(s=(t=u[_.id])===null||t===void 0?void 0:t.common)===null||s===void 0?void 0:s.role)!==null&&o!==void 0?o:"",O=(a=(M=(r=u[A])===null||r===void 0?void 0:r.common)===null||M===void 0?void 0:M.role)!==null&&a!==void 0?a:"",k=_.defaultRole;if(k&&p===void 0&&(O===k?p=!0:z===k&&(p=!1)),p===void 0){const f=O.split("."),P=f.length,Y=z.split("."),V=Y.length;O===""||f[0]==="state"&&Y[0]!=="state"?p=!1:f[0]!=="state"&&Y[0]==="state"||P>V?p=!0:P1)){for(const _ of c)if(_!==A&&(l.indicator||!j.includes(_)&&(l.notSingle||!L.includes(_)))&&this._applyPattern(u,_,l,D,I))if(l.indicator||j.push(_),Array.isArray(l)){const p=xe.copyState(l[0]);p.id=_,C.states.push(p)}else{const p=xe.copyState(l);p.id=_,C.states.push(p)}}}}return E}static findParentChannelOrDevice(e,t){if(!e[t])return;const s=t.split("."),o=t;if(e[t].type==="state"&&(s.pop(),t=s.join(".")),s.length<=2)return t;const r=e[t];if((r==null?void 0:r.type)==="device")return t;s.pop();const M=s.join("."),a=e[M];if(!a)return r?t:o;if(a.type==="device"||s.length<=2)return M;if(r.type==="channel")return t;s.pop();const u=s.join("."),N=e[u];return!N||N.type!=="device"&&N.type!=="channel"?M:u}static getChannelOrDeviceStates(e,t,s,o=!1){var r;const M=(r=e[t])===null||r===void 0?void 0:r.type;switch(M){case void 0:return[...(0,Nt.getObjectsBelowId)(s,t)];case"state":case"channel":case"device":case"folder":if(o&&M!=="device"){const a=xe.findParentChannelOrDevice(e,t);return a?[...(0,Nt.getObjectsBelowId)(s,a)]:[t]}return M!=="state"?[...(0,Nt.getObjectsBelowId)(s,t)]:[t];default:return[t]}}static patternIsAllowed(e,t,s){if(!e)return!1;if(Array.isArray(e.type)){for(let o=0;o{const r=e.indexOf(s),M=e.indexOf(o);if(r===-1||M===-1)return;const a=e.splice(r,1);e.splice(M,0,...a)}),e}_detectNext(e){var t,s,o,r;const{objects:M,id:a,_usedIdsOptional:u=[],ignoreIndicators:N,prioritizedTypes:l,detectParent:c,allowedTypes:L,excludedTypes:j,_keysOptional:T}=e;let{_patternList:D}=e;e._usedIdsOptional=u;const I=xe.getChannelOrDeviceStates(M,a,T||[],c);if(!(!((t=M[a])===null||t===void 0)&&t.common)&&!I.length)return null;if(e._checkedPatterns=(s=e._checkedPatterns)!==null&&s!==void 0?s:[],!D){const A=Object.keys(nt.patterns).filter(_=>xe.patternIsAllowed(nt.patterns[_],L,j));D=l?this.sortTypes(A,l):A,e._patternList=D}const C={objects:M,channelStates:I,usedIds:u,ignoreIndicators:N||[],pattern:It.Types.unknown,usedInCurrentDevice:[],state:{},ignoreEnums:!!e.ignoreEnums,sortedKeys:T,favorId:e.detectParent?void 0:a},E=(o=M[a])===null||o===void 0?void 0:o.type;for(const A of D){if(e._checkedPatterns.includes(A))continue;e._checkedPatterns.push(A),delete C.result,C.pattern=A,C.usedInCurrentDevice=[];for(const p of nt.patterns[A].states){let z=!1;if(C.state=p,this._testOneState(C)&&(z=!0),p.required&&!z){delete C.result;break}}if(!xe.allRequiredStatesFound(C))continue;C.usedInCurrentDevice.forEach(p=>u.push(p));let _;if(E!=="device"){const p=(r=xe.findParentChannelOrDevice(M,a))!==null&&r!==void 0?r:a;if(M[p]&&(M[p].type==="channel"||M[p].type==="device")){_=(0,Nt.getObjectsBelowId)(T,p);for(const z of _)C.result.states.forEach((O,k)=>{!O.id&&(O.indicator||O.searchInParent)&&!O.noDeviceDetection&&this._applyPattern(M,z,O.original,!!e.ignoreEnums,C.sortedKeys)&&C.result&&(C.result.states[k].id=z)})}}if(C.result.states.forEach(p=>xe.cleanState(p,C.objects)),e.limitTypesToOneOf){for(const p of e.limitTypesToOneOf)if(p.includes(A))for(const z of p)z===A||e._checkedPatterns.includes(z)||e._checkedPatterns.push(z)}return C.result}return null}detect(e){var t;const{objects:s,id:o,ignoreCache:r,detectAllPossibleDevices:M}=e;let{_keysOptional:a,_usedIdsOptional:u}=e;if(!r&&this.cache[o]){const{allowedTypes:c=[],excludedTypes:L=[]}=e;if(!c.length&&!L.length)return this.cache[o];const j=this.cache[o].filter(({type:T})=>c.includes(T)&&!L.includes(T));if(j.length)return j}a?e._keysOptionalSorted||a.sort():(a=Object.keys(s),a.sort(),e._keysOptional=a),u&&!e.detectParent&&(u=[],e._usedIdsOptional=u),e.ignoreEnums===void 0&&((t=e.allowedTypes)===null||t===void 0?void 0:t.length)===1&&(e.ignoreEnums=!0),M&&(e.excludedTypes||(e.excludedTypes=[]),e.excludedTypes.includes(It.Types.info)||e.excludedTypes.push(It.Types.info)),e._checkedPatterns=[];const N=[];let l;for(;l=this._detectNext(e);)N.push(l),e.detectAllPossibleDevices&&(e._usedIdsOptional=[]);return this.cache[o]=N.length?N:null,this.cache[o]}static getPatterns(){const e={};return Object.keys(nt.patterns).forEach(t=>{const s=JSON.parse(JSON.stringify(nt.patterns[t]));s.states.forEach((o,r)=>{const M=nt.patterns[t].states[r];M.role&&(s.states[r].role=M.role.toString()),M.enums&&(s.states[r].enums=!0)}),e[t]=s}),e}}zi.ChannelDetector=xe;xe.getEnums=Nt.getEnums;(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.StateType=i.Types=void 0;const e=zi;i.default=e.ChannelDetector;var t=dt;Object.defineProperty(i,"Types",{enumerable:!0,get:function(){return t.Types}}),Object.defineProperty(i,"StateType",{enumerable:!0,get:function(){return t.StateType}})})(R);var ga={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},dM=n.createContext&&n.createContext(ga),mce=["attr","size","title"];function Oce(i,e){if(i==null)return{};var t=Ece(i,e),s,o;if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(i,s)&&(t[s]=i[s])}return t}function Ece(i,e){if(i==null)return{};var t={};for(var s in i)if(Object.prototype.hasOwnProperty.call(i,s)){if(e.indexOf(s)>=0)continue;t[s]=i[s]}return t}function ni(){return ni=Object.assign?Object.assign.bind():function(i){for(var e=1;en.createElement(e.tag,ai({key:t},e.attr),Ta(e.child)))}function v(i){return e=>n.createElement(fce,ni({attr:ai({},i.attr)},e),Ta(i.child))}function fce(i){var e=t=>{var{attr:s,size:o,title:r}=i,M=Oce(i,mce),a=o||t.size||"1em",u;return t.className&&(u=t.className),i.className&&(u=(u?u+" ":"")+i.className),n.createElement("svg",ni({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,s,M,{className:u,style:ai(ai({color:i.color||t.color},t.style),i.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),r&&n.createElement("title",null,r),i.children)};return dM!==void 0?n.createElement(dM.Consumer,null,t=>e(t)):e(ga)}function kce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z"},child:[]}]})(i)}function Yce(i){return v({attr:{t:"1569683928793",viewBox:"0 0 1024 1024",version:"1.1"},child:[{tag:"path",attr:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function Qce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"},child:[]}]})(i)}function Uce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z"},child:[]}]})(i)}function vce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z"},child:[]}]})(i)}function bce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z"},child:[]}]})(i)}function $ce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function Pce(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function Wce(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M24 5.25v13a.75.75 0 0 1-1.136.643L16.5 15.075v2.175A1.75 1.75 0 0 1 14.75 19h-13A1.75 1.75 0 0 1 0 17.25v-11C0 5.284.784 4.5 1.75 4.5h13c.966 0 1.75.784 1.75 1.75v2.175l6.364-3.818A.75.75 0 0 1 24 5.25Zm-9 1a.25.25 0 0 0-.25-.25h-13a.25.25 0 0 0-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 0 0 .25-.25v-11Zm1.5 7.075 6 3.6V6.575l-6 3.6Z"},child:[]}]})(i)}function Rce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"},child:[]}]})(i)}function Jce(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"},child:[]}]})(i)}function Bce(i){return v({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"},child:[]}]})(i)}function Fce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"},child:[]}]})(i)}function Gce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"},child:[]}]})(i)}function Hce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},child:[]}]})(i)}function Vce(i){return v({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"},child:[]}]})(i)}function Zce(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(i)}function Xce(i){return v({attr:{viewBox:"0 0 416 512"},child:[{tag:"path",attr:{d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"},child:[]}]})(i)}function Kce(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"},child:[]}]})(i)}function qce(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"},child:[]}]})(i)}function eue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"},child:[]}]})(i)}function tue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"},child:[]}]})(i)}function IM(i){return v({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"},child:[]}]})(i)}function sue(i){return v({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"},child:[]}]})(i)}function iue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(i)}function oue(i){return v({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(i)}function rue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"},child:[]}]})(i)}function Mue(i){return v({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"},child:[]}]})(i)}function wM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"},child:[]}]})(i)}function nue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15zM14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z"},child:[]}]})(i)}function CM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"},child:[]}]})(i)}function aue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(i)}function hM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"},child:[]}]})(i)}function cue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.54 5.54 13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92 1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10 1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"12",r:"3"},child:[]}]})(i)}function uue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77a4.504 4.504 0 0 1-1.09-3.69l-2.03-.68A2.997 2.997 0 0 1 0 9.5c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68a4.468 4.468 0 0 1 3.22-2.32V5.91A3.018 3.018 0 0 1 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68a4.49 4.49 0 0 1-1.09 3.69l1.41 1.77c.38-.18.79-.27 1.23-.27 1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0L8.4 18.2z"},child:[]}]})(i)}function AM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z"},child:[]}]})(i)}function Nue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17 6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z"},child:[]}]})(i)}function lue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(i)}function pM(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.56 8.94 7.62 0 6.21 1.41l2.38 2.38-5.15 5.15a1.49 1.49 0 0 0 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10 10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"},child:[]}]})(i)}function Lue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15 16v1.26l-6-3v-3.17L11.7 8H16V2h-6v4.9L7.3 10H3v6h5l7 3.5V22h6v-6z"},child:[]}]})(i)}function jue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m17 16-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"},child:[]}]})(i)}function gue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z"},child:[]}]})(i)}function Tue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"19",r:"2"},child:[]},{tag:"path",attr:{d:"M10 3h4v12h-4z"},child:[]}]})(i)}function yue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(i)}function mM(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M3.89,17.6c0-0.99,0.31-1.88,0.93-2.65s1.41-1.27,2.38-1.49c0.26-1.17,0.85-2.14,1.78-2.88c0.93-0.75,2-1.12,3.22-1.12 c1.18,0,2.24,0.36,3.16,1.09c0.93,0.73,1.53,1.66,1.8,2.8h0.27c1.18,0,2.18,0.41,3.01,1.24s1.25,1.83,1.25,3 c0,1.18-0.42,2.18-1.25,3.01s-1.83,1.25-3.01,1.25H8.16c-0.58,0-1.13-0.11-1.65-0.34S5.52,21,5.14,20.62 c-0.38-0.38-0.68-0.84-0.91-1.36S3.89,18.17,3.89,17.6z M5.34,17.6c0,0.76,0.28,1.42,0.82,1.96s1.21,0.82,1.99,0.82h9.28 @@ -306,7 +306,7 @@ body { c0.65,0,1.21,0.23,1.68,0.7c0.47,0.47,0.7,1.02,0.7,1.66c0,0.6-0.21,1.12-0.62,1.57s-0.92,0.7-1.53,0.77c-0.1,0-0.15,0.05-0.15,0.16 v1.13c0,0.11,0.05,0.16,0.15,0.16c1.01-0.06,1.86-0.46,2.55-1.19s1.04-1.6,1.04-2.6c0-1.06-0.37-1.96-1.12-2.7 c-0.75-0.75-1.65-1.12-2.7-1.12h-0.15c-0.26-1-0.81-1.82-1.65-2.47c-0.83-0.65-1.77-0.97-2.8-0.97C16.28,7.29,15.11,7.82,14.19,8.88 - z`},child:[]}]})(i)}function Tue(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M4.37,14.62c0-0.24,0.08-0.45,0.25-0.62c0.17-0.16,0.38-0.24,0.6-0.24h2.04c0.23,0,0.42,0.08,0.58,0.25 + z`},child:[]}]})(i)}function Due(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M4.37,14.62c0-0.24,0.08-0.45,0.25-0.62c0.17-0.16,0.38-0.24,0.6-0.24h2.04c0.23,0,0.42,0.08,0.58,0.25 c0.15,0.17,0.23,0.37,0.23,0.61S8,15.06,7.85,15.23c-0.15,0.17-0.35,0.25-0.58,0.25H5.23c-0.23,0-0.43-0.08-0.6-0.25 C4.46,15.06,4.37,14.86,4.37,14.62z M7.23,21.55c0-0.23,0.08-0.43,0.23-0.61l1.47-1.43c0.15-0.16,0.35-0.23,0.59-0.23 c0.24,0,0.44,0.08,0.6,0.23s0.24,0.34,0.24,0.57c0,0.24-0.08,0.46-0.24,0.64L8.7,22.14c-0.41,0.32-0.82,0.32-1.23,0 @@ -327,7 +327,7 @@ body { c0.24,0,0.44,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6c0,0.25-0.08,0.46-0.24,0.62l-1.46,1.43c-0.18,0.16-0.38,0.24-0.6,0.24 c-0.23,0-0.41-0.08-0.56-0.24S19.66,9.4,19.66,9.16z M21.92,14.62c0-0.24,0.08-0.44,0.24-0.62c0.16-0.16,0.35-0.24,0.57-0.24h2.02 c0.23,0,0.43,0.09,0.6,0.26c0.17,0.17,0.26,0.37,0.26,0.6s-0.09,0.43-0.26,0.6c-0.17,0.17-0.37,0.25-0.6,0.25h-2.02 - c-0.23,0-0.43-0.08-0.58-0.25S21.92,14.86,21.92,14.62z`},child:[]}]})(i)}function yue(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M7.38,21.83c0-0.3,0.1-0.55,0.29-0.76c0.19-0.21,0.43-0.31,0.7-0.31v-0.02l13.16,0.04c0.06-0.01,0.1-0.02,0.1-0.02 + c-0.23,0-0.43-0.08-0.58-0.25S21.92,14.86,21.92,14.62z`},child:[]}]})(i)}function due(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M7.38,21.83c0-0.3,0.1-0.55,0.29-0.76c0.19-0.21,0.43-0.31,0.7-0.31v-0.02l13.16,0.04c0.06-0.01,0.1-0.02,0.1-0.02 c0.27,0.01,0.51,0.12,0.7,0.33c0.19,0.21,0.29,0.47,0.28,0.77c0,0.3-0.1,0.55-0.29,0.76c-0.19,0.21-0.43,0.31-0.7,0.31v0.01 L8.59,22.9c-0.1,0.01-0.17,0.02-0.22,0.02c-0.28-0.01-0.51-0.11-0.7-0.32C7.47,22.39,7.37,22.13,7.38,21.83z M8.2,16.37 c-0.01-0.43,0.04-0.93,0.16-1.52c0.06-0.3,0.2-0.76,0.44-1.37c0.02-0.05,0.07-0.14,0.13-0.28c0.01,0.02,0.03,0.03,0.04,0.05 @@ -343,7 +343,7 @@ body { c0.02,0.04,0.04,0.07,0.05,0.1c0.13,0.31,0.22,0.63,0.27,0.97c0.08,0.38,0.1,0.75,0.08,1.13c-0.02,0.29-0.07,0.56-0.16,0.81 c-0.08,0.24-0.16,0.43-0.22,0.58c-0.19,0.38-0.39,0.71-0.62,0.98c-0.06,0.07-0.11,0.13-0.14,0.16H9.67 c-0.01-0.01-0.03-0.03-0.07-0.06s-0.06-0.05-0.08-0.07C9.26,18.98,8.98,18.6,8.7,18.1c-0.08-0.15-0.18-0.38-0.29-0.69 - C8.29,17.1,8.22,16.75,8.2,16.37z`},child:[]}]})(i)}function Due(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M7.56,17.19c0-0.88,0.24-1.89,0.72-3.03s1.1-2.25,1.86-3.31c1.56-2.06,2.92-3.62,4.06-4.67l0.75-0.72 + C8.29,17.1,8.22,16.75,8.2,16.37z`},child:[]}]})(i)}function zue(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M7.56,17.19c0-0.88,0.24-1.89,0.72-3.03s1.1-2.25,1.86-3.31c1.56-2.06,2.92-3.62,4.06-4.67l0.75-0.72 c0.25,0.26,0.53,0.5,0.83,0.72c0.41,0.42,1.04,1.11,1.88,2.09s1.57,1.85,2.17,2.65c0.71,1.01,1.32,2.1,1.81,3.25 s0.74,2.16,0.74,3.03c0,1-0.19,1.95-0.58,2.86c-0.39,0.91-0.91,1.7-1.57,2.36c-0.66,0.66-1.45,1.19-2.37,1.58 c-0.92,0.39-1.89,0.59-2.91,0.59c-1,0-1.95-0.19-2.86-0.57c-0.91-0.38-1.7-0.89-2.36-1.55c-0.66-0.65-1.19-1.44-1.58-2.35 @@ -360,7 +360,7 @@ body { c0.01-0.12,0.03-0.27,0.06-0.45s0.09-0.3,0.17-0.38s0.19-0.12,0.33-0.12c0.09,0,0.17,0.02,0.24,0.06c0.07,0.04,0.12,0.1,0.16,0.19 c0.04,0.09,0.07,0.17,0.1,0.24s0.04,0.18,0.05,0.32l0.01,0.32l0,0.34c0,0.16,0,0.28,0,0.35l-0.01,0.32l-0.05,0.32l-0.1,0.24 l-0.16,0.19l-0.24,0.06c-0.14,0-0.25-0.04-0.33-0.12s-0.14-0.21-0.17-0.38c-0.03-0.18-0.05-0.33-0.06-0.45S17.85,19.25,17.85,19.02z - `},child:[]}]})(i)}function due(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M6.34,12.48c0-0.94,0.3-1.78,0.89-2.52s1.34-1.21,2.25-1.41C9.73,7.43,10.3,6.5,11.2,5.78s1.92-1.08,3.08-1.08 + `},child:[]}]})(i)}function Iue(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M6.34,12.48c0-0.94,0.3-1.78,0.89-2.52s1.34-1.21,2.25-1.41C9.73,7.43,10.3,6.5,11.2,5.78s1.92-1.08,3.08-1.08 c1.12,0,2.13,0.35,3.02,1.05c0.89,0.7,1.46,1.6,1.73,2.69h0.27c1.12,0,2.08,0.39,2.88,1.18c0.79,0.78,1.19,1.74,1.19,2.85 c0,0.6-0.12,1.17-0.37,1.7c-0.25,0.53-0.59,0.99-1.03,1.37v0.03c0,0.59-0.19,1.12-0.56,1.59c-0.37,0.47-0.84,0.76-1.4,0.89 c-0.14,0.62-0.45,1.15-0.91,1.58c-0.46,0.43-1.01,0.7-1.63,0.8c0.29,0.34,0.43,0.72,0.43,1.13c0,0.48-0.17,0.89-0.51,1.24 @@ -371,7 +371,7 @@ body { c0.41,0.48,0.92,0.71,1.54,0.71c0.57,0,1.05-0.2,1.46-0.6c0.4-0.4,0.6-0.89,0.6-1.46c0.4-0.27,0.72-0.61,0.95-1.04 c0.23-0.42,0.35-0.88,0.35-1.37c0-0.79-0.28-1.47-0.85-2.02c-0.57-0.55-1.25-0.83-2.05-0.83c-0.56,0-1.07,0.15-1.53,0.44 c0.06-0.24,0.08-0.51,0.08-0.79c0-0.96-0.34-1.78-1.03-2.46c-0.69-0.68-1.52-1.01-2.49-1.01c-0.94,0-1.75,0.33-2.43,0.97 - s-1.04,1.44-1.07,2.37c-0.02,0-0.05,0-0.08,0c-0.04,0-0.07,0-0.09,0c-0.79,0-1.46,0.28-2.03,0.84S7.74,11.45,7.74,12.23z`},child:[]}]})(i)}function zue(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M9.91,19.56c0-0.85,0.2-1.64,0.59-2.38s0.94-1.35,1.65-1.84V5.42c0-0.8,0.27-1.48,0.82-2.03S14.2,2.55,15,2.55 + s-1.04,1.44-1.07,2.37c-0.02,0-0.05,0-0.08,0c-0.04,0-0.07,0-0.09,0c-0.79,0-1.46,0.28-2.03,0.84S7.74,11.45,7.74,12.23z`},child:[]}]})(i)}function wue(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M9.91,19.56c0-0.85,0.2-1.64,0.59-2.38s0.94-1.35,1.65-1.84V5.42c0-0.8,0.27-1.48,0.82-2.03S14.2,2.55,15,2.55 c0.81,0,1.49,0.28,2.04,0.83c0.55,0.56,0.83,1.23,0.83,2.03v9.92c0.71,0.49,1.25,1.11,1.64,1.84s0.58,1.53,0.58,2.38 c0,0.92-0.23,1.78-0.68,2.56s-1.07,1.4-1.85,1.85s-1.63,0.68-2.56,0.68c-0.92,0-1.77-0.23-2.55-0.68s-1.4-1.07-1.86-1.85 S9.91,20.48,9.91,19.56z M11.67,19.56c0,0.93,0.33,1.73,0.98,2.39c0.65,0.66,1.44,0.99,2.36,0.99c0.93,0,1.73-0.33,2.4-1 @@ -380,7 +380,7 @@ body { c0,0.15-0.05,0.25-0.14,0.29l-0.27,0.14c-0.55,0.29-0.98,0.7-1.29,1.23C11.82,18.35,11.67,18.92,11.67,19.56z M12.45,19.56 c0,0.71,0.24,1.32,0.73,1.82s1.07,0.75,1.76,0.75s1.28-0.25,1.79-0.75c0.51-0.5,0.76-1.11,0.76-1.81c0-0.63-0.22-1.19-0.65-1.67 c-0.43-0.48-0.96-0.77-1.58-0.85V9.69c0-0.06-0.03-0.13-0.1-0.19c-0.07-0.07-0.14-0.1-0.22-0.1c-0.09,0-0.16,0.03-0.21,0.08 - c-0.05,0.06-0.08,0.12-0.08,0.21v7.34c-0.61,0.09-1.13,0.37-1.56,0.85C12.66,18.37,12.45,18.92,12.45,19.56z`},child:[]}]})(i)}function Iue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M430.1 347.9c-6.6-6.1-16.3-7.6-24.6-9-11.5-1.9-15.9-4-22.6-10-14.3-12.7-14.3-31.1 0-43.8l30.3-26.9c46.4-41 46.4-108.2 0-149.2-34.2-30.1-80.1-45-127.8-45-55.7 0-113.9 20.3-158.8 60.1-83.5 73.8-83.5 194.7 0 268.5 41.5 36.7 97.5 55 152.9 55.4h1.7c55.4 0 110-17.9 148.8-52.4 14.4-12.7 12-36.6.1-47.7zM120 216c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm40 126c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-161c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm72 219c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm24-208c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"},child:[]}]})(i)}function wue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]},{tag:"path",attr:{d:"M363.5 148.5C334.8 119.8 296.6 104 256 104c-40.6 0-78.8 15.8-107.5 44.5C119.8 177.2 104 215.4 104 256s15.8 78.8 44.5 107.5C177.2 392.2 215.4 408 256 408c40.6 0 78.8-15.8 107.5-44.5C392.2 334.8 408 296.6 408 256s-15.8-78.8-44.5-107.5z"},child:[]}]})(i)}function OM(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352 146.4c-34.4-48.6-67.5-78.5-90.8-96.6-3.1-2.4-7.3-2.4-10.4-.1-23 17.1-56.1 48.4-90.5 96.5-37.3 52-63 108.4-64.2 170.9 0 1.2-.1 2.5-.1 3.7 0 18.4 3.9 35.9 10.9 52.1 4.1 9.3 9.2 18.1 15.2 26.3 28.5 39 77.8 64.8 133.8 64.8 88.4 0 160.1-64.1 160.1-143.2 0-63.7-27-122.2-64-174.4zm-86 264.3h-.5c-9.9 0-12-14.1-2.6-17.1 45.1-14.2 69.6-38.5 86.4-80.8 3.5-8.9 16.7-6.5 16.8 3.1v1.4c-.1 51.6-44.9 93.4-100.1 93.4z"},child:[]}]})(i)}function Cue(i){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M8 12a4 4 0 0 0 4 4m0 -8a4 4 0 0 0 -4 4"},child:[]},{tag:"path",attr:{d:"M3 12h1"},child:[]},{tag:"path",attr:{d:"M12 3v1"},child:[]},{tag:"path",attr:{d:"M12 20v1"},child:[]},{tag:"path",attr:{d:"M5.6 5.6l.7 .7"},child:[]},{tag:"path",attr:{d:"M6.3 17.7l-.7 .7"},child:[]},{tag:"path",attr:{d:"M20 7l-3 5h4l-3 5"},child:[]}]})(i)}function hue(i){return v({attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M224,127.17a96.48,96.48,0,0,1-2.39,22.18A24,24,0,0,1,198.21,168H152a24,24,0,0,0-24,24,24,24,0,0,1-32,22.61C58.73,201.44,32,169.81,32,128a96,96,0,0,1,95-96C179.84,31.47,223.55,74.35,224,127.17Z",opacity:"0.2"},child:[]},{tag:"path",attr:{d:"M200.77,53.89A103.27,103.27,0,0,0,128,24h-1.07A104,104,0,0,0,24,128c0,43,26.58,79.06,69.36,94.17A32,32,0,0,0,136,192a16,16,0,0,1,16-16h46.21a31.81,31.81,0,0,0,31.2-24.88,104.43,104.43,0,0,0,2.59-24A103.28,103.28,0,0,0,200.77,53.89Zm13,93.71A15.89,15.89,0,0,1,198.21,160H152a32,32,0,0,0-32,32,16,16,0,0,1-21.31,15.07C62.49,194.3,40,164,40,128a88,88,0,0,1,87.09-88h.9a88.35,88.35,0,0,1,88,87.25A88.86,88.86,0,0,1,213.81,147.6ZM140,76a12,12,0,1,1-12-12A12,12,0,0,1,140,76ZM96,100A12,12,0,1,1,84,88,12,12,0,0,1,96,100Zm0,56a12,12,0,1,1-12-12A12,12,0,0,1,96,156Zm88-56a12,12,0,1,1-12-12A12,12,0,0,1,184,100Z"},child:[]}]})(i)}function Aue(i){return a.createElement("svg",{viewBox:"0 0 512 512",...i},a.createElement("g",{fill:"currentColor"},a.createElement("path",{d:"M296,320H216a24,24,0,0,0,0,48h80a24,24,0,0,0,0-48Zm0,32H216a8,8,0,0,1,0-16h80a8,8,0,0,1,0,16Z"}),a.createElement("path",{d:"M68.071,123.492c22.578-13.918,52.2-25.229,85.674-32.71l-3.49-15.615c-35.688,7.977-66.163,19.653-90.58,34.705-17.914,11.043-32.041,23.643-41.99,37.451l12.98,9.354C39.376,144.588,51.961,133.423,68.071,123.492Z"}),a.createElement("path",{d:"M435.533,137.112C409.439,121.027,374,108.967,332.845,102.144,322.474,87,288.213,80,256,80s-66.474,7-76.845,22.144C138,108.967,102.561,121.027,76.467,137.112,47.376,155.045,32,176.792,32,200v96c0,29,24.155,55.7,68.016,75.193C141.813,389.77,197.209,400,256,400s114.187-10.23,155.984-28.807C455.845,351.7,480,325,480,296V200C480,176.792,464.624,155.045,435.533,137.112ZM177.64,151.23C185.676,168.192,221.98,176,256,176s70.324-7.808,78.36-24.77c21.862,4.212,41.832,10.19,58.13,17.44C422.343,181.941,432,195.509,432,200s-9.657,18.059-39.51,31.33C357.224,247.008,307.475,256,256,256s-101.224-8.992-136.49-24.67C89.657,218.059,80,204.491,80,200s9.657-18.059,39.512-31.331C135.808,161.42,155.778,155.442,177.64,151.23Zm14.36-19c15.6,8,40.35,11.773,64,11.773s48.4-3.775,64-11.773V144c0,.687-2.715,5.08-15.618,9.381C291.577,157.649,274.4,160,256,160s-35.577-2.351-48.382-6.619C194.715,149.08,192,144.687,192,144Zm15.618-29.608C220.423,98.351,237.605,96,256,96s35.577,2.351,48.382,6.619C317.285,106.92,320,111.313,320,112s-2.715,5.08-15.618,9.381C291.577,125.649,274.4,128,256,128s-35.577-2.351-48.382-6.619C194.715,117.08,192,112.687,192,112S194.715,106.92,207.618,102.619ZM176,118.937v16.319c-23.589,4.453-45.254,10.9-62.99,18.794C82.779,167.489,64,185.1,64,200s18.779,32.511,49.01,45.95C150.249,262.505,202.367,272,256,272s105.751-9.5,142.99-26.05C429.221,232.511,448,214.9,448,200s-18.779-32.511-49.008-45.95c-17.738-7.89-39.4-14.341-62.992-18.794V118.937C411.852,132.7,464,165.41,464,200c0,21.967-21.328,44.044-58.516,60.572C365.688,278.259,312.6,288,256,288s-109.688-9.741-149.484-27.428C69.328,244.044,48,221.967,48,200,48,165.41,100.148,132.7,176,118.937ZM464,296c0,21.967-21.327,44.044-58.514,60.572C365.689,374.259,312.6,384,256,384s-109.689-9.741-149.486-27.428C69.327,340.044,48,317.967,48,296V239.371c11.522,13.444,29.066,25.621,52.018,35.822C141.814,293.77,197.211,304,256,304s114.186-10.23,155.982-28.807c22.952-10.2,40.5-22.378,52.018-35.822Z"}),a.createElement("path",{d:"M418.482,385.814C374.684,405.28,316.979,416,256,416a488.01,488.01,0,0,1-78.705-6.23l-2.59,15.789A504.064,504.064,0,0,0,256,432c63.169,0,123.181-11.21,168.981-31.565q1.3-.576,2.572-1.16l-6.655-14.55Q419.7,385.274,418.482,385.814Z"}),a.createElement("path",{d:"M436.123,377.062l7.754,14c5.883-3.259,11.492-6.728,16.674-10.31l-9.1-13.161C446.7,370.871,441.546,374.059,436.123,377.062Z"}),a.createElement("rect",{x:"248",y:"192",width:"16",height:"16"}),a.createElement("rect",{x:"280",y:"192",width:"16",height:"16"}),a.createElement("rect",{x:"216",y:"192",width:"16",height:"16"})))}function pue(i){return a.createElement("svg",{viewBox:"0 0 512 512",...i},a.createElement("path",{fill:"currentColor",d:"M298.667 298.667c17.643 0 32-14.357 32-32s-14.357-32-32-32-32 14.357-32 32c0 17.642 14.357 32 32 32zm0-42.667c5.867 0 10.667 4.779 10.667 10.667s-4.8 10.667-10.667 10.667S288 272.555 288 266.667 292.8 256 298.667 256z"}),a.createElement("path",{fill:"currentColor",d:"M448 490.667h-32v-480C416 4.779 411.221 0 405.333 0H106.667c-.597 0-1.131.256-1.707.341-.555.085-1.088.149-1.621.32-.939.32-1.749.789-2.56 1.344-.32.213-.704.277-1.003.533-.107.085-.149.213-.256.32-.768.704-1.365 1.579-1.899 2.496-.213.341-.512.619-.661.981-.597 1.345-.96 2.774-.96 4.332v480H64c-5.888 0-10.667 4.779-10.667 10.667C53.333 507.221 58.112 512 64 512h42.667c.576 0 1.173-.043 1.749-.149l256-42.667a10.672 10.672 0 0 0 8.917-10.517V53.333c0-5.227-3.776-9.664-8.917-10.517L235.541 21.333h159.125v480c0 5.888 4.779 10.667 10.667 10.667H448c5.888 0 10.667-4.779 10.667-10.667s-4.779-10.666-10.667-10.666zm-96-428.31v387.264l-234.667 39.125V23.253L352 62.357z"}))}function EM(i){return a.createElement("svg",{viewBox:"0 0 512.006 512.006",...i},a.createElement("path",{d:"M502.379 211.249c0 74.656-60.52 135.176-135.176 135.176-6.469.01-12.919-.473-19.311-1.448-66.487-9.598-115.837-66.555-115.866-133.728-.019-67.212 49.349-124.227 115.866-133.825a142.128 142.128 0 0 1 19.311-1.352c74.656 0 135.176 60.521 135.176 135.177z",fill:"#c52828"}),a.createElement("path",{d:"M463.757 211.249c-.029 67.173-49.378 124.131-115.865 133.728-66.487-9.598-115.837-66.555-115.866-133.728-.019-67.212 49.349-124.227 115.866-133.825 66.516 9.598 115.875 66.613 115.865 133.825z",fill:"#f44335"}),a.createElement("g",{fill:"#fdd834"},a.createElement("path",{d:"M380.527 230.56h-26.649a8.208 8.208 0 0 1-8.4-7.242l-7.242-90.472c-.212-4.47 3.235-8.275 7.705-8.497.232-.01.463-.01.695 0h41.036a8.105 8.105 0 0 1 8.4 7.802c.01.232.01.463 0 .695l-7.242 90.472c-.501 4.181-4.093 7.319-8.303 7.242zM362.085 269.181h10.235c7.84 0 14.194 6.353 14.194 14.194v10.235c0 7.84-6.353 14.194-14.194 14.194h-10.235c-7.84 0-14.194-6.353-14.194-14.194v-10.235c.001-7.84 6.354-14.194 14.194-14.194z"})),a.createElement("path",{d:"M308.015 332.714a132.057 132.057 0 0 1-24.332-15.256 138.367 138.367 0 0 1-25.587-26.456 134.123 134.123 0 0 1-26.07-79.754 136.453 136.453 0 0 1 3.09-28.966 129.801 129.801 0 0 1 9.655-28.966c-24.428-39.201-50.691-78.113-85.547-108.334-2.607-2.221-5.214-4.442-7.917-6.566a161.051 161.051 0 0 0-14.387-10.621 80.965 80.965 0 0 0-13.807-7.145c1.641 7.338 3.476 14.773 4.731 22.208a180.355 180.355 0 0 1 2.993 26.939v7.145a192.012 192.012 0 0 1-60.829 139.521 202.647 202.647 0 0 0-43.836 52.719 149.063 149.063 0 0 0-6.566 120.017 152.006 152.006 0 0 0 22.208 40.167 164.926 164.926 0 0 0 106.21 61.891 86.874 86.874 0 0 1-44.801-32.249 51.315 51.315 0 0 1-3.669-5.6 77.46 77.46 0 0 1-6.469-13.325 79.464 79.464 0 0 1 3.766-63.726 111.914 111.914 0 0 1 23.463-28.387 101.983 101.983 0 0 0 32.442-74.25v-3.862a97.875 97.875 0 0 0-4.731-27.132 112.539 112.539 0 0 1 10.911 6.566 108.053 108.053 0 0 1 30.222 30.801 100.963 100.963 0 0 1 15.835 46.443v8.4a100.92 100.92 0 0 1-18.249 57.933c22.98 13.035 38.622-8.593 44.994-28.966a60.067 60.067 0 0 0 2.51-12.842 88.458 88.458 0 0 1 28.966 61.312v5.214c-2.704 33.678-25.346 62.451-57.45 72.995 73.353-11.789 128.717-72.889 133.245-147.053a131.977 131.977 0 0 1-30.994-10.815z",fill:"#f57c00"}),a.createElement("path",{d:"M263.117 417.489v-5.214a88.462 88.462 0 0 0-28.966-61.312 60.129 60.129 0 0 1-2.51 12.842c-5.986 20.47-22.014 42.098-44.994 28.966a100.923 100.923 0 0 0 18.249-57.933v-.966-7.338a100.971 100.971 0 0 0-15.835-46.443 108.027 108.027 0 0 0-30.222-30.801 108.949 108.949 0 0 0-39.877-35.532 97.838 97.838 0 0 1 4.731 27.132v3.862a101.988 101.988 0 0 1-32.442 74.25 111.924 111.924 0 0 0-23.366 28.387 79.491 79.491 0 0 0-3.573 63.726 83.948 83.948 0 0 0 35.436 42.291 51.315 51.315 0 0 0 3.669 5.6 86.886 86.886 0 0 0 44.415 32.249 164.927 164.927 0 0 1-106.21-61.892 152.082 152.082 0 0 1-22.014-40.167 149.055 149.055 0 0 1 6.564-120.015 202.714 202.714 0 0 1 44.029-53.202A192.012 192.012 0 0 0 131.03 76.458v-7.145a180.486 180.486 0 0 0-2.993-26.939c-1.255-7.435-3.09-14.869-4.731-22.208a80.965 80.965 0 0 1 13.807 7.145 159.446 159.446 0 0 1 14.773 10.718c2.704 2.124 5.311 4.345 7.917 6.566 34.856 30.222 61.119 69.133 85.547 108.334a129.75 129.75 0 0 0-9.655 28.966 136.634 136.634 0 0 0-3.669 29.353 134.116 134.116 0 0 0 26.07 79.754 138.396 138.396 0 0 0 25.587 26.456 132.164 132.164 0 0 0 24.332 15.256 152.203 152.203 0 0 1-44.898 84.775z",fill:"#ff9801"}),a.createElement("path",{d:"M147.831 500.912h-1.448c-61.756-8.7-113.963-50.15-136.432-108.334a158.725 158.725 0 0 1 7.338-127.355 212.528 212.528 0 0 1 45.96-55.809 181.787 181.787 0 0 0 57.933-132.473v-6.759a171.298 171.298 0 0 0-2.8-25.587c-.966-5.697-2.221-11.2-3.476-16.704l-1.159-5.117c-1.178-5.204 2.076-10.37 7.28-11.548a9.663 9.663 0 0 1 5.948.541 89.473 89.473 0 0 1 15.449 8.014 172.47 172.47 0 0 1 15.449 11.2c41.036 32.732 70.871 77.244 95.589 117.314a9.673 9.673 0 0 1 .483 9.655 121.056 121.056 0 0 0-9.655 26.842 128.158 128.158 0 0 0-2.607 26.456c.01 59.198 41.374 110.333 99.258 122.721a9.655 9.655 0 0 1 7.628 9.655c-3.186 77.244-61.216 141.742-141.163 156.129-5.253.927-10.254-2.588-11.181-7.84a9.65 9.65 0 0 1 6.353-10.795c29.99-9.8 50.517-37.492 51.174-69.037a67.618 67.618 0 0 0-14.387-40.746 56.78 56.78 0 0 1-24.139 31.091 33.122 33.122 0 0 1-33.408-1.448c-4.644-2.626-6.276-8.516-3.659-13.16.145-.261.299-.502.473-.743a91.187 91.187 0 0 0 16.511-52.429v-.772a90.743 90.743 0 0 0-14.58-48.277 98.107 98.107 0 0 0-19.311-21.532v9.945a111.13 111.13 0 0 1-35.436 81.299 103.445 103.445 0 0 0-21.532 25.78 69.873 69.873 0 0 0-3.09 56.002 76.304 76.304 0 0 0 49.533 44.512c5.33.801 9.009 5.774 8.207 11.104-.801 5.328-5.774 8.997-11.103 8.205zM137.113 39.478v1.738a188.136 188.136 0 0 1 3.09 28.194v7.435A200.926 200.926 0 0 1 76.38 223.318a192.998 192.998 0 0 0-42.098 50.498 139.414 139.414 0 0 0-6.469 111.907 148.682 148.682 0 0 0 65.561 76.568 89.522 89.522 0 0 1-15.159-49.726 91.25 91.25 0 0 1 9.655-40.167 119.46 119.46 0 0 1 25.394-31.091 92.026 92.026 0 0 0 29.449-67.588v-3.09a88.799 88.799 0 0 0-4.248-24.911 9.653 9.653 0 0 1 6.237-12.147 9.638 9.638 0 0 1 7.473.657 119.392 119.392 0 0 1 44.705 40.649 110.062 110.062 0 0 1 17.669 58.898v1.159a110.343 110.343 0 0 1-13.035 52.139 12.555 12.555 0 0 0 4.731-1.448c9.655-5.31 17.283-22.497 18.345-35.436.434-5.31 5.088-9.269 10.409-8.844a9.61 9.61 0 0 1 6.006 2.761 95.586 95.586 0 0 1 32.153 68.168 89.528 89.528 0 0 1-13.711 47.408 146.774 146.774 0 0 0 69.133-108.817c-62.77-17.37-106.22-74.492-106.21-139.618a146.655 146.655 0 0 1 3.283-30.994 139.876 139.876 0 0 1 8.497-26.263c-23.27-37.077-51.27-78.402-88.541-108.045a113.049 113.049 0 0 0-8.496-6.467z"}),a.createElement("path",{d:"M367.203 356.081a144.841 144.841 0 0 1-89.506-30.994 143.882 143.882 0 0 1-55.326-113.838 146.655 146.655 0 0 1 3.283-30.994 140.652 140.652 0 0 1 10.814-31.091c23.965-50.498 74.839-82.699 130.735-82.747 79.986.019 144.813 64.875 144.803 144.861a144.848 144.848 0 0 1-55.297 113.809 143.543 143.543 0 0 1-89.506 30.994zm0-270.353c-48.47.019-92.586 27.943-113.355 71.74a121.83 121.83 0 0 0-9.655 26.939 127.805 127.805 0 0 0-2.51 26.842c.01 59.198 41.374 110.333 99.258 122.721a125.763 125.763 0 0 0 26.263 2.8c69.326 0 125.521-56.195 125.521-125.521S436.519 85.728 367.203 85.728z"}),a.createElement("path",{d:"M380.527 240.215h-26.649c-9.279.097-17.109-6.894-18.056-16.125l-7.242-90.085a17.201 17.201 0 0 1 4.538-13.035 18.38 18.38 0 0 1 13.518-5.89h41.036a18.375 18.375 0 0 1 13.518 5.89 17.204 17.204 0 0 1 4.635 13.035l-7.242 90.472c-1.139 9.076-8.912 15.854-18.056 15.738zm-25.49-19.311h24.525l6.952-86.899h-38.622l7.145 86.899zM372.32 317.459h-10.235c-13.151-.048-23.801-10.698-23.849-23.849v-10.235c.048-13.151 10.698-23.801 23.849-23.849h10.138c13.189 0 23.888 10.66 23.946 23.849v10.138c0 13.18-10.669 23.888-23.849 23.946zm-10.138-38.622a4.635 4.635 0 0 0-4.538 4.538v10.138a4.635 4.635 0 0 0 4.538 4.538h10.138a4.635 4.635 0 0 0 4.538-4.538v-10.138a4.635 4.635 0 0 0-4.538-4.538h-10.138z"}))}function _M(i){return a.createElement("svg",{viewBox:"0 0 512.002 512.002",...i},a.createElement("path",{d:"M481.929 324.35c0 65.951-53.464 119.415-119.415 119.415a111.938 111.938 0 0 1-17.059-1.279c-58.735-8.478-102.33-58.795-102.356-118.135-.017-59.375 43.595-109.742 102.356-118.221a125.333 125.333 0 0 1 17.059-1.194c65.951-.001 119.415 53.462 119.415 119.414z",fill:"#c52828"}),a.createElement("path",{d:"M447.81 324.35c-.026 59.341-43.621 109.657-102.356 118.135-58.735-8.478-102.33-58.795-102.356-118.135-.017-59.375 43.595-109.742 102.356-118.221 58.77 8.487 102.373 58.846 102.356 118.221z",fill:"#f44335"}),a.createElement("g",{fill:"#fdd834"},a.createElement("path",{d:"M374.285 341.409h-23.542a7.251 7.251 0 0 1-7.421-6.397l-6.397-79.923a7.174 7.174 0 0 1 6.807-7.506c.205-.009.409-.009.614 0h36.251a7.16 7.16 0 0 1 7.421 6.892c.009.205.009.409 0 .614l-6.397 79.923a7.249 7.249 0 0 1-7.336 6.397zM357.993 375.527h9.041c6.926 0 12.539 5.612 12.539 12.539v9.041c0 6.926-5.612 12.539-12.539 12.539h-9.041c-6.926 0-12.539-5.612-12.539-12.539v-9.041c0-6.926 5.621-12.539 12.539-12.539z"})),a.createElement("path",{d:"M318.415 435.235a153.553 153.553 0 0 1-19.192 22.859 157.081 157.081 0 0 1-50.154 33.095 159.575 159.575 0 0 1-61.413 12.283 149.268 149.268 0 0 1-20.556-1.365 155.17 155.17 0 0 1-40.857-10.833 156.698 156.698 0 0 1-84.017-82.311 152.753 152.753 0 0 1-12.368-60.219 150.27 150.27 0 0 1 17.059-69.005 752.602 752.602 0 0 1 42.648-68.237c15.268-22.774 29.513-46.145 44.013-69.346l34.119-54.504 7.335-11.771c4.504-7.353 14.117-9.656 21.469-5.143a15.525 15.525 0 0 1 5.143 5.143l34.716 55.869c-2.644 4.18-5.032 8.53-7.335 12.709a96.424 96.424 0 0 0-11.515 44.439 98.026 98.026 0 0 0 8.018 38.725 100.313 100.313 0 0 0 21.921 31.56 106.83 106.83 0 0 0 9.98 8.53 115.344 115.344 0 0 0-11.6 31.048 120.546 120.546 0 0 0-2.729 25.589c.041 48.9 29.878 92.828 75.315 110.885z",fill:"#0377bc"}),a.createElement("path",{d:"M277.217 435.235a153.553 153.553 0 0 1-19.192 22.859 157.081 157.081 0 0 1-50.154 33.095 158.847 158.847 0 0 1-40.772 10.833 155.17 155.17 0 0 1-40.857-10.833 156.698 156.698 0 0 1-84.017-82.311 152.657 152.657 0 0 1-12.368-60.134 150.27 150.27 0 0 1 17.059-69.005 752.602 752.602 0 0 1 42.648-68.237c15.268-22.774 29.513-46.145 44.013-69.346l34.119-54.504c9.212 14.671 18.339 29.427 27.465 44.098-2.644 4.18-5.032 8.53-7.335 12.709a96.502 96.502 0 0 0-10.833 44.354 98.026 98.026 0 0 0 8.018 38.725 100.313 100.313 0 0 0 21.921 31.56 106.83 106.83 0 0 0 9.98 8.53 115.323 115.323 0 0 0-12.283 31.133 120.546 120.546 0 0 0-2.729 25.589c.043 48.9 29.88 92.828 75.317 110.885z",fill:"#02a9f4"}),a.createElement("path",{d:"M411.388 144.545a477.911 477.911 0 0 0-27.636-43.842c-9.894-14.586-19.192-29.598-28.489-44.525L328.395 13.53c-3.037-4.708-9.323-6.065-14.031-3.028a10.259 10.259 0 0 0-3.028 3.028l-12.794 20.215-14.074 22.433c-9.297 14.927-18.595 29.939-28.489 44.525-6.994 10.236-13.989 20.471-20.301 31.133-2.644 4.18-5.032 8.53-7.335 12.709a96.502 96.502 0 0 0-10.833 44.354 98.758 98.758 0 0 0 29.939 70.284 106.83 106.83 0 0 0 9.98 8.53 119.423 119.423 0 0 1 84.017-60.902 114.9 114.9 0 0 1 21.068-1.877c5.186.009 10.372.324 15.524.938a119.369 119.369 0 0 1 39.578 12.539 96.462 96.462 0 0 0-6.228-73.866z",fill:"#0377bc"}),a.createElement("path",{d:"M379.573 188.899a93.046 93.046 0 0 1-1.535 17.059 131.537 131.537 0 0 0-15.524-1.024 114.797 114.797 0 0 0-21.068 1.877 119.425 119.425 0 0 0-84.017 60.902 106.96 106.96 0 0 1-9.98-8.53c-31.099-29.743-38.878-76.417-19.106-114.638 2.303-4.35 4.691-8.53 7.335-12.709 6.312-10.662 13.306-20.898 20.301-31.133 9.894-14.586 19.192-29.598 28.489-44.525l14.074-22.433 14.074 22.433c9.297 14.927 18.595 29.939 28.489 44.525a477.911 477.911 0 0 1 27.636 43.842 96.401 96.401 0 0 1 10.832 44.354z",fill:"#02a9f4"}),a.createElement("path",{d:"M187.656 512.002a167.398 167.398 0 0 1-64.655-12.88 165.226 165.226 0 0 1-88.623-86.746 160.466 160.466 0 0 1-13.05-63.631 158.81 158.81 0 0 1 17.656-72.928 698.388 698.388 0 0 1 39.663-63.887l3.412-5.032c12.027-17.998 23.627-36.677 34.886-54.76L167.1 71.531c6.986-11.353 21.861-14.893 33.214-7.898a24.1 24.1 0 0 1 7.898 7.898l17.059 27.38 17.827 28.404a8.521 8.521 0 0 1 0 9.383c-2.559 4.009-4.777 8.018-6.994 12.112a87.69 87.69 0 0 0-10.065 40.089 89.456 89.456 0 0 0 7.335 35.398 92.438 92.438 0 0 0 20.045 28.83 99.608 99.608 0 0 0 9.212 7.847 8.534 8.534 0 0 1 2.303 10.918 106.955 106.955 0 0 0-10.747 28.745 112.483 112.483 0 0 0-2.559 23.712c.009 45.429 27.721 86.26 69.943 103.038 4.393 1.706 6.559 6.653 4.853 11.046a8.584 8.584 0 0 1-.93 1.749 162.407 162.407 0 0 1-20.301 24.139 164.29 164.29 0 0 1-52.884 34.886 167.489 167.489 0 0 1-64.653 12.795zm0-435.012a6.99 6.99 0 0 0-6.056 3.412l-50.154 80.69c-11.344 18.168-23.03 37.019-35.227 55.187l-3.412 5.032a687.543 687.543 0 0 0-38.725 62.266 141.613 141.613 0 0 0-15.695 65.166 143.56 143.56 0 0 0 11.686 56.893 148.16 148.16 0 0 0 79.411 77.79 152.855 152.855 0 0 0 116.344 0 147.616 147.616 0 0 0 47.425-31.133 143.446 143.446 0 0 0 12.027-13.306c-43.322-21.802-70.668-66.139-70.711-114.638a129.576 129.576 0 0 1 2.9-27.38 124.357 124.357 0 0 1 9.212-26.954 136.293 136.293 0 0 1-5.203-4.691 109.87 109.87 0 0 1-23.798-34.119 106.411 106.411 0 0 1-8.53-42.136c0-16.803 4.035-33.359 11.771-48.278 1.621-3.071 3.241-5.971 4.862-8.53l-14.927-24.054-17.059-27.38a7.087 7.087 0 0 0-6.141-3.837z"}),a.createElement("path",{d:"M99.971 442.4A8.521 8.521 0 0 1 94 439.926a129.631 129.631 0 0 1-28.318-41.113 126.28 126.28 0 0 1-10.236-50.069 124.503 124.503 0 0 1 13.818-57.234c1.868-4.325 6.883-6.32 11.208-4.452s6.32 6.883 4.452 11.208c-.162.375-.35.742-.563 1.092a107.494 107.494 0 0 0-11.856 49.387 109.211 109.211 0 0 0 8.53 43.331 112.626 112.626 0 0 0 24.565 35.739c3.344 3.318 3.369 8.717.051 12.061a8.549 8.549 0 0 1-6.022 2.525l.342-.001zM257.428 276.242a8.526 8.526 0 0 1-5.118-1.706 115.222 115.222 0 0 1-10.747-9.212 109.87 109.87 0 0 1-23.798-34.119 106.411 106.411 0 0 1-8.53-42.136c0-16.803 4.035-33.359 11.771-48.278 2.559-4.862 5.118-9.212 7.677-13.306 6.312-10.662 13.392-21.068 20.386-31.218 9.041-13.903 17.912-27.807 26.442-41.881L304 8.753c5.485-8.734 17.017-11.379 25.751-5.894a18.698 18.698 0 0 1 5.894 5.894l28.574 45.634c8.53 13.733 17.059 27.977 26.612 41.539l1.706 2.474a457.473 457.473 0 0 1 26.442 42.136 104.968 104.968 0 0 1 6.824 80.434c-1.433 4.487-6.235 6.969-10.722 5.536a8.282 8.282 0 0 1-1.39-.589 112.612 112.612 0 0 0-106.535 2.388 110.28 110.28 0 0 0-42.136 43.416 8.52 8.52 0 0 1-5.715 4.265l-1.877.256zm62.437-258.959a1.541 1.541 0 0 0-1.365.768l-28.489 45.378c-8.53 13.903-17.571 28.233-26.954 42.051-6.909 10.065-13.903 20.301-20.045 30.707-2.644 4.18-4.947 8.53-7.165 12.368a87.722 87.722 0 0 0-9.809 40.345 89.456 89.456 0 0 0 7.335 35.398 92.438 92.438 0 0 0 20.045 28.83l1.791 1.706a127.216 127.216 0 0 1 43.331-41.369 129.73 129.73 0 0 1 113.359-7.25 87.904 87.904 0 0 0-8.53-57.831 444.102 444.102 0 0 0-25.589-40.516l-1.706-2.474c-9.383-13.818-18.339-28.148-26.954-42.051L321.23 18.05a1.532 1.532 0 0 0-1.365-.767z"}),a.createElement("path",{d:"M271.246 243.233a8.519 8.519 0 0 1-5.971-2.388 75.502 75.502 0 0 1-16.292-23.456 71.923 71.923 0 0 1-5.885-28.489 70.537 70.537 0 0 1 7.933-32.498c1.877-3.582 4.009-7.25 6.227-10.833l.512-.768a8.538 8.538 0 0 1 11.609-3.284 8.538 8.538 0 0 1 3.284 11.609 6.997 6.997 0 0 1-.392.631l-.512.853c-2.132 3.327-3.924 6.568-5.63 9.724a53.307 53.307 0 0 0-5.971 24.565 54.816 54.816 0 0 0 4.435 21.665 58.198 58.198 0 0 0 12.624 18.083c3.395 3.267 3.489 8.666.222 12.061a8.518 8.518 0 0 1-6.193 2.61v-.085z"}),a.createElement("path",{d:"M362.514 452.294c-70.66 0-127.945-57.285-127.945-127.945a129.576 129.576 0 0 1 2.9-27.38 123.98 123.98 0 0 1 12.453-33.351 127.15 127.15 0 0 1 48.619-50.154c37.94-21.495 84.136-22.518 122.997-2.729 62.744 32.489 87.275 109.7 54.777 172.452-22.005 42.512-65.916 69.184-113.801 69.107zm0-238.83c-40.763.009-78.234 22.382-97.579 58.257a107.238 107.238 0 0 0-10.747 28.83 112.818 112.818 0 0 0-2.559 23.798c0 61.243 49.643 110.885 110.885 110.885s110.885-49.642 110.885-110.885-49.643-110.885-110.885-110.885z"}),a.createElement("path",{d:"M374.285 349.939h-23.542c-8.231.085-15.157-6.141-15.95-14.33l-6.397-79.496a15.26 15.26 0 0 1 4.009-11.515 16.312 16.312 0 0 1 11.942-5.203h36.251a16.31 16.31 0 0 1 11.941 5.203 15.27 15.27 0 0 1 4.094 11.515l-6.397 79.923c-.999 8.026-7.865 14.013-15.951 13.903zm-22.519-17.06h21.665l6.141-76.767h-34.119l6.313 76.767zM367.034 418.176h-9.041c-11.617-.043-21.026-9.451-21.068-21.068v-9.041c.043-11.617 9.451-21.026 21.068-21.068h8.956c11.651 0 21.102 9.417 21.153 21.068v8.956c.001 11.651-9.416 21.11-21.068 21.153zm-8.956-34.119a4.095 4.095 0 0 0-4.009 4.009v8.956a4.095 4.095 0 0 0 4.009 4.009h8.956a4.095 4.095 0 0 0 4.009-4.009v-8.956a4.095 4.095 0 0 0-4.009-4.009h-8.956z"}))}function mue(i){return a.createElement("svg",{viewBox:"0 0 512 512",...i},a.createElement("path",{fill:"currentColor",d:"M462,226c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.52,0,10-4.48,10-10S467.52,226,462,226z"}),a.createElement("path",{fill:"currentColor",d:"M50,226c-5.52,0-10,4.48-10,10s4.48,10,10,10s10-4.48,10-10S55.52,226,50,226z"}),a.createElement("path",{fill:"currentColor",d:`M502,126h-0.027C508.265,117.637,512,107.248,512,96c0-27.57-22.43-50-50-50s-50,22.43-50,50 + c-0.05,0.06-0.08,0.12-0.08,0.21v7.34c-0.61,0.09-1.13,0.37-1.56,0.85C12.66,18.37,12.45,18.92,12.45,19.56z`},child:[]}]})(i)}function Cue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M430.1 347.9c-6.6-6.1-16.3-7.6-24.6-9-11.5-1.9-15.9-4-22.6-10-14.3-12.7-14.3-31.1 0-43.8l30.3-26.9c46.4-41 46.4-108.2 0-149.2-34.2-30.1-80.1-45-127.8-45-55.7 0-113.9 20.3-158.8 60.1-83.5 73.8-83.5 194.7 0 268.5 41.5 36.7 97.5 55 152.9 55.4h1.7c55.4 0 110-17.9 148.8-52.4 14.4-12.7 12-36.6.1-47.7zM120 216c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm40 126c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-161c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm72 219c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm24-208c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"},child:[]}]})(i)}function hue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]},{tag:"path",attr:{d:"M363.5 148.5C334.8 119.8 296.6 104 256 104c-40.6 0-78.8 15.8-107.5 44.5C119.8 177.2 104 215.4 104 256s15.8 78.8 44.5 107.5C177.2 392.2 215.4 408 256 408c40.6 0 78.8-15.8 107.5-44.5C392.2 334.8 408 296.6 408 256s-15.8-78.8-44.5-107.5z"},child:[]}]})(i)}function OM(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352 146.4c-34.4-48.6-67.5-78.5-90.8-96.6-3.1-2.4-7.3-2.4-10.4-.1-23 17.1-56.1 48.4-90.5 96.5-37.3 52-63 108.4-64.2 170.9 0 1.2-.1 2.5-.1 3.7 0 18.4 3.9 35.9 10.9 52.1 4.1 9.3 9.2 18.1 15.2 26.3 28.5 39 77.8 64.8 133.8 64.8 88.4 0 160.1-64.1 160.1-143.2 0-63.7-27-122.2-64-174.4zm-86 264.3h-.5c-9.9 0-12-14.1-2.6-17.1 45.1-14.2 69.6-38.5 86.4-80.8 3.5-8.9 16.7-6.5 16.8 3.1v1.4c-.1 51.6-44.9 93.4-100.1 93.4z"},child:[]}]})(i)}function Aue(i){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M8 12a4 4 0 0 0 4 4m0 -8a4 4 0 0 0 -4 4"},child:[]},{tag:"path",attr:{d:"M3 12h1"},child:[]},{tag:"path",attr:{d:"M12 3v1"},child:[]},{tag:"path",attr:{d:"M12 20v1"},child:[]},{tag:"path",attr:{d:"M5.6 5.6l.7 .7"},child:[]},{tag:"path",attr:{d:"M6.3 17.7l-.7 .7"},child:[]},{tag:"path",attr:{d:"M20 7l-3 5h4l-3 5"},child:[]}]})(i)}function pue(i){return v({attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M224,127.17a96.48,96.48,0,0,1-2.39,22.18A24,24,0,0,1,198.21,168H152a24,24,0,0,0-24,24,24,24,0,0,1-32,22.61C58.73,201.44,32,169.81,32,128a96,96,0,0,1,95-96C179.84,31.47,223.55,74.35,224,127.17Z",opacity:"0.2"},child:[]},{tag:"path",attr:{d:"M200.77,53.89A103.27,103.27,0,0,0,128,24h-1.07A104,104,0,0,0,24,128c0,43,26.58,79.06,69.36,94.17A32,32,0,0,0,136,192a16,16,0,0,1,16-16h46.21a31.81,31.81,0,0,0,31.2-24.88,104.43,104.43,0,0,0,2.59-24A103.28,103.28,0,0,0,200.77,53.89Zm13,93.71A15.89,15.89,0,0,1,198.21,160H152a32,32,0,0,0-32,32,16,16,0,0,1-21.31,15.07C62.49,194.3,40,164,40,128a88,88,0,0,1,87.09-88h.9a88.35,88.35,0,0,1,88,87.25A88.86,88.86,0,0,1,213.81,147.6ZM140,76a12,12,0,1,1-12-12A12,12,0,0,1,140,76ZM96,100A12,12,0,1,1,84,88,12,12,0,0,1,96,100Zm0,56a12,12,0,1,1-12-12A12,12,0,0,1,96,156Zm88-56a12,12,0,1,1-12-12A12,12,0,0,1,184,100Z"},child:[]}]})(i)}function mue(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M296,320H216a24,24,0,0,0,0,48h80a24,24,0,0,0,0-48Zm0,32H216a8,8,0,0,1,0-16h80a8,8,0,0,1,0,16Z"}),n.createElement("path",{d:"M68.071,123.492c22.578-13.918,52.2-25.229,85.674-32.71l-3.49-15.615c-35.688,7.977-66.163,19.653-90.58,34.705-17.914,11.043-32.041,23.643-41.99,37.451l12.98,9.354C39.376,144.588,51.961,133.423,68.071,123.492Z"}),n.createElement("path",{d:"M435.533,137.112C409.439,121.027,374,108.967,332.845,102.144,322.474,87,288.213,80,256,80s-66.474,7-76.845,22.144C138,108.967,102.561,121.027,76.467,137.112,47.376,155.045,32,176.792,32,200v96c0,29,24.155,55.7,68.016,75.193C141.813,389.77,197.209,400,256,400s114.187-10.23,155.984-28.807C455.845,351.7,480,325,480,296V200C480,176.792,464.624,155.045,435.533,137.112ZM177.64,151.23C185.676,168.192,221.98,176,256,176s70.324-7.808,78.36-24.77c21.862,4.212,41.832,10.19,58.13,17.44C422.343,181.941,432,195.509,432,200s-9.657,18.059-39.51,31.33C357.224,247.008,307.475,256,256,256s-101.224-8.992-136.49-24.67C89.657,218.059,80,204.491,80,200s9.657-18.059,39.512-31.331C135.808,161.42,155.778,155.442,177.64,151.23Zm14.36-19c15.6,8,40.35,11.773,64,11.773s48.4-3.775,64-11.773V144c0,.687-2.715,5.08-15.618,9.381C291.577,157.649,274.4,160,256,160s-35.577-2.351-48.382-6.619C194.715,149.08,192,144.687,192,144Zm15.618-29.608C220.423,98.351,237.605,96,256,96s35.577,2.351,48.382,6.619C317.285,106.92,320,111.313,320,112s-2.715,5.08-15.618,9.381C291.577,125.649,274.4,128,256,128s-35.577-2.351-48.382-6.619C194.715,117.08,192,112.687,192,112S194.715,106.92,207.618,102.619ZM176,118.937v16.319c-23.589,4.453-45.254,10.9-62.99,18.794C82.779,167.489,64,185.1,64,200s18.779,32.511,49.01,45.95C150.249,262.505,202.367,272,256,272s105.751-9.5,142.99-26.05C429.221,232.511,448,214.9,448,200s-18.779-32.511-49.008-45.95c-17.738-7.89-39.4-14.341-62.992-18.794V118.937C411.852,132.7,464,165.41,464,200c0,21.967-21.328,44.044-58.516,60.572C365.688,278.259,312.6,288,256,288s-109.688-9.741-149.484-27.428C69.328,244.044,48,221.967,48,200,48,165.41,100.148,132.7,176,118.937ZM464,296c0,21.967-21.327,44.044-58.514,60.572C365.689,374.259,312.6,384,256,384s-109.689-9.741-149.486-27.428C69.327,340.044,48,317.967,48,296V239.371c11.522,13.444,29.066,25.621,52.018,35.822C141.814,293.77,197.211,304,256,304s114.186-10.23,155.982-28.807c22.952-10.2,40.5-22.378,52.018-35.822Z"}),n.createElement("path",{d:"M418.482,385.814C374.684,405.28,316.979,416,256,416a488.01,488.01,0,0,1-78.705-6.23l-2.59,15.789A504.064,504.064,0,0,0,256,432c63.169,0,123.181-11.21,168.981-31.565q1.3-.576,2.572-1.16l-6.655-14.55Q419.7,385.274,418.482,385.814Z"}),n.createElement("path",{d:"M436.123,377.062l7.754,14c5.883-3.259,11.492-6.728,16.674-10.31l-9.1-13.161C446.7,370.871,441.546,374.059,436.123,377.062Z"}),n.createElement("rect",{x:"248",y:"192",width:"16",height:"16"}),n.createElement("rect",{x:"280",y:"192",width:"16",height:"16"}),n.createElement("rect",{x:"216",y:"192",width:"16",height:"16"})))}function Oue(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M298.667 298.667c17.643 0 32-14.357 32-32s-14.357-32-32-32-32 14.357-32 32c0 17.642 14.357 32 32 32zm0-42.667c5.867 0 10.667 4.779 10.667 10.667s-4.8 10.667-10.667 10.667S288 272.555 288 266.667 292.8 256 298.667 256z"}),n.createElement("path",{fill:"currentColor",d:"M448 490.667h-32v-480C416 4.779 411.221 0 405.333 0H106.667c-.597 0-1.131.256-1.707.341-.555.085-1.088.149-1.621.32-.939.32-1.749.789-2.56 1.344-.32.213-.704.277-1.003.533-.107.085-.149.213-.256.32-.768.704-1.365 1.579-1.899 2.496-.213.341-.512.619-.661.981-.597 1.345-.96 2.774-.96 4.332v480H64c-5.888 0-10.667 4.779-10.667 10.667C53.333 507.221 58.112 512 64 512h42.667c.576 0 1.173-.043 1.749-.149l256-42.667a10.672 10.672 0 0 0 8.917-10.517V53.333c0-5.227-3.776-9.664-8.917-10.517L235.541 21.333h159.125v480c0 5.888 4.779 10.667 10.667 10.667H448c5.888 0 10.667-4.779 10.667-10.667s-4.779-10.666-10.667-10.666zm-96-428.31v387.264l-234.667 39.125V23.253L352 62.357z"}))}function EM(i){return n.createElement("svg",{viewBox:"0 0 512.006 512.006",...i},n.createElement("path",{d:"M502.379 211.249c0 74.656-60.52 135.176-135.176 135.176-6.469.01-12.919-.473-19.311-1.448-66.487-9.598-115.837-66.555-115.866-133.728-.019-67.212 49.349-124.227 115.866-133.825a142.128 142.128 0 0 1 19.311-1.352c74.656 0 135.176 60.521 135.176 135.177z",fill:"#c52828"}),n.createElement("path",{d:"M463.757 211.249c-.029 67.173-49.378 124.131-115.865 133.728-66.487-9.598-115.837-66.555-115.866-133.728-.019-67.212 49.349-124.227 115.866-133.825 66.516 9.598 115.875 66.613 115.865 133.825z",fill:"#f44335"}),n.createElement("g",{fill:"#fdd834"},n.createElement("path",{d:"M380.527 230.56h-26.649a8.208 8.208 0 0 1-8.4-7.242l-7.242-90.472c-.212-4.47 3.235-8.275 7.705-8.497.232-.01.463-.01.695 0h41.036a8.105 8.105 0 0 1 8.4 7.802c.01.232.01.463 0 .695l-7.242 90.472c-.501 4.181-4.093 7.319-8.303 7.242zM362.085 269.181h10.235c7.84 0 14.194 6.353 14.194 14.194v10.235c0 7.84-6.353 14.194-14.194 14.194h-10.235c-7.84 0-14.194-6.353-14.194-14.194v-10.235c.001-7.84 6.354-14.194 14.194-14.194z"})),n.createElement("path",{d:"M308.015 332.714a132.057 132.057 0 0 1-24.332-15.256 138.367 138.367 0 0 1-25.587-26.456 134.123 134.123 0 0 1-26.07-79.754 136.453 136.453 0 0 1 3.09-28.966 129.801 129.801 0 0 1 9.655-28.966c-24.428-39.201-50.691-78.113-85.547-108.334-2.607-2.221-5.214-4.442-7.917-6.566a161.051 161.051 0 0 0-14.387-10.621 80.965 80.965 0 0 0-13.807-7.145c1.641 7.338 3.476 14.773 4.731 22.208a180.355 180.355 0 0 1 2.993 26.939v7.145a192.012 192.012 0 0 1-60.829 139.521 202.647 202.647 0 0 0-43.836 52.719 149.063 149.063 0 0 0-6.566 120.017 152.006 152.006 0 0 0 22.208 40.167 164.926 164.926 0 0 0 106.21 61.891 86.874 86.874 0 0 1-44.801-32.249 51.315 51.315 0 0 1-3.669-5.6 77.46 77.46 0 0 1-6.469-13.325 79.464 79.464 0 0 1 3.766-63.726 111.914 111.914 0 0 1 23.463-28.387 101.983 101.983 0 0 0 32.442-74.25v-3.862a97.875 97.875 0 0 0-4.731-27.132 112.539 112.539 0 0 1 10.911 6.566 108.053 108.053 0 0 1 30.222 30.801 100.963 100.963 0 0 1 15.835 46.443v8.4a100.92 100.92 0 0 1-18.249 57.933c22.98 13.035 38.622-8.593 44.994-28.966a60.067 60.067 0 0 0 2.51-12.842 88.458 88.458 0 0 1 28.966 61.312v5.214c-2.704 33.678-25.346 62.451-57.45 72.995 73.353-11.789 128.717-72.889 133.245-147.053a131.977 131.977 0 0 1-30.994-10.815z",fill:"#f57c00"}),n.createElement("path",{d:"M263.117 417.489v-5.214a88.462 88.462 0 0 0-28.966-61.312 60.129 60.129 0 0 1-2.51 12.842c-5.986 20.47-22.014 42.098-44.994 28.966a100.923 100.923 0 0 0 18.249-57.933v-.966-7.338a100.971 100.971 0 0 0-15.835-46.443 108.027 108.027 0 0 0-30.222-30.801 108.949 108.949 0 0 0-39.877-35.532 97.838 97.838 0 0 1 4.731 27.132v3.862a101.988 101.988 0 0 1-32.442 74.25 111.924 111.924 0 0 0-23.366 28.387 79.491 79.491 0 0 0-3.573 63.726 83.948 83.948 0 0 0 35.436 42.291 51.315 51.315 0 0 0 3.669 5.6 86.886 86.886 0 0 0 44.415 32.249 164.927 164.927 0 0 1-106.21-61.892 152.082 152.082 0 0 1-22.014-40.167 149.055 149.055 0 0 1 6.564-120.015 202.714 202.714 0 0 1 44.029-53.202A192.012 192.012 0 0 0 131.03 76.458v-7.145a180.486 180.486 0 0 0-2.993-26.939c-1.255-7.435-3.09-14.869-4.731-22.208a80.965 80.965 0 0 1 13.807 7.145 159.446 159.446 0 0 1 14.773 10.718c2.704 2.124 5.311 4.345 7.917 6.566 34.856 30.222 61.119 69.133 85.547 108.334a129.75 129.75 0 0 0-9.655 28.966 136.634 136.634 0 0 0-3.669 29.353 134.116 134.116 0 0 0 26.07 79.754 138.396 138.396 0 0 0 25.587 26.456 132.164 132.164 0 0 0 24.332 15.256 152.203 152.203 0 0 1-44.898 84.775z",fill:"#ff9801"}),n.createElement("path",{d:"M147.831 500.912h-1.448c-61.756-8.7-113.963-50.15-136.432-108.334a158.725 158.725 0 0 1 7.338-127.355 212.528 212.528 0 0 1 45.96-55.809 181.787 181.787 0 0 0 57.933-132.473v-6.759a171.298 171.298 0 0 0-2.8-25.587c-.966-5.697-2.221-11.2-3.476-16.704l-1.159-5.117c-1.178-5.204 2.076-10.37 7.28-11.548a9.663 9.663 0 0 1 5.948.541 89.473 89.473 0 0 1 15.449 8.014 172.47 172.47 0 0 1 15.449 11.2c41.036 32.732 70.871 77.244 95.589 117.314a9.673 9.673 0 0 1 .483 9.655 121.056 121.056 0 0 0-9.655 26.842 128.158 128.158 0 0 0-2.607 26.456c.01 59.198 41.374 110.333 99.258 122.721a9.655 9.655 0 0 1 7.628 9.655c-3.186 77.244-61.216 141.742-141.163 156.129-5.253.927-10.254-2.588-11.181-7.84a9.65 9.65 0 0 1 6.353-10.795c29.99-9.8 50.517-37.492 51.174-69.037a67.618 67.618 0 0 0-14.387-40.746 56.78 56.78 0 0 1-24.139 31.091 33.122 33.122 0 0 1-33.408-1.448c-4.644-2.626-6.276-8.516-3.659-13.16.145-.261.299-.502.473-.743a91.187 91.187 0 0 0 16.511-52.429v-.772a90.743 90.743 0 0 0-14.58-48.277 98.107 98.107 0 0 0-19.311-21.532v9.945a111.13 111.13 0 0 1-35.436 81.299 103.445 103.445 0 0 0-21.532 25.78 69.873 69.873 0 0 0-3.09 56.002 76.304 76.304 0 0 0 49.533 44.512c5.33.801 9.009 5.774 8.207 11.104-.801 5.328-5.774 8.997-11.103 8.205zM137.113 39.478v1.738a188.136 188.136 0 0 1 3.09 28.194v7.435A200.926 200.926 0 0 1 76.38 223.318a192.998 192.998 0 0 0-42.098 50.498 139.414 139.414 0 0 0-6.469 111.907 148.682 148.682 0 0 0 65.561 76.568 89.522 89.522 0 0 1-15.159-49.726 91.25 91.25 0 0 1 9.655-40.167 119.46 119.46 0 0 1 25.394-31.091 92.026 92.026 0 0 0 29.449-67.588v-3.09a88.799 88.799 0 0 0-4.248-24.911 9.653 9.653 0 0 1 6.237-12.147 9.638 9.638 0 0 1 7.473.657 119.392 119.392 0 0 1 44.705 40.649 110.062 110.062 0 0 1 17.669 58.898v1.159a110.343 110.343 0 0 1-13.035 52.139 12.555 12.555 0 0 0 4.731-1.448c9.655-5.31 17.283-22.497 18.345-35.436.434-5.31 5.088-9.269 10.409-8.844a9.61 9.61 0 0 1 6.006 2.761 95.586 95.586 0 0 1 32.153 68.168 89.528 89.528 0 0 1-13.711 47.408 146.774 146.774 0 0 0 69.133-108.817c-62.77-17.37-106.22-74.492-106.21-139.618a146.655 146.655 0 0 1 3.283-30.994 139.876 139.876 0 0 1 8.497-26.263c-23.27-37.077-51.27-78.402-88.541-108.045a113.049 113.049 0 0 0-8.496-6.467z"}),n.createElement("path",{d:"M367.203 356.081a144.841 144.841 0 0 1-89.506-30.994 143.882 143.882 0 0 1-55.326-113.838 146.655 146.655 0 0 1 3.283-30.994 140.652 140.652 0 0 1 10.814-31.091c23.965-50.498 74.839-82.699 130.735-82.747 79.986.019 144.813 64.875 144.803 144.861a144.848 144.848 0 0 1-55.297 113.809 143.543 143.543 0 0 1-89.506 30.994zm0-270.353c-48.47.019-92.586 27.943-113.355 71.74a121.83 121.83 0 0 0-9.655 26.939 127.805 127.805 0 0 0-2.51 26.842c.01 59.198 41.374 110.333 99.258 122.721a125.763 125.763 0 0 0 26.263 2.8c69.326 0 125.521-56.195 125.521-125.521S436.519 85.728 367.203 85.728z"}),n.createElement("path",{d:"M380.527 240.215h-26.649c-9.279.097-17.109-6.894-18.056-16.125l-7.242-90.085a17.201 17.201 0 0 1 4.538-13.035 18.38 18.38 0 0 1 13.518-5.89h41.036a18.375 18.375 0 0 1 13.518 5.89 17.204 17.204 0 0 1 4.635 13.035l-7.242 90.472c-1.139 9.076-8.912 15.854-18.056 15.738zm-25.49-19.311h24.525l6.952-86.899h-38.622l7.145 86.899zM372.32 317.459h-10.235c-13.151-.048-23.801-10.698-23.849-23.849v-10.235c.048-13.151 10.698-23.801 23.849-23.849h10.138c13.189 0 23.888 10.66 23.946 23.849v10.138c0 13.18-10.669 23.888-23.849 23.946zm-10.138-38.622a4.635 4.635 0 0 0-4.538 4.538v10.138a4.635 4.635 0 0 0 4.538 4.538h10.138a4.635 4.635 0 0 0 4.538-4.538v-10.138a4.635 4.635 0 0 0-4.538-4.538h-10.138z"}))}function _M(i){return n.createElement("svg",{viewBox:"0 0 512.002 512.002",...i},n.createElement("path",{d:"M481.929 324.35c0 65.951-53.464 119.415-119.415 119.415a111.938 111.938 0 0 1-17.059-1.279c-58.735-8.478-102.33-58.795-102.356-118.135-.017-59.375 43.595-109.742 102.356-118.221a125.333 125.333 0 0 1 17.059-1.194c65.951-.001 119.415 53.462 119.415 119.414z",fill:"#c52828"}),n.createElement("path",{d:"M447.81 324.35c-.026 59.341-43.621 109.657-102.356 118.135-58.735-8.478-102.33-58.795-102.356-118.135-.017-59.375 43.595-109.742 102.356-118.221 58.77 8.487 102.373 58.846 102.356 118.221z",fill:"#f44335"}),n.createElement("g",{fill:"#fdd834"},n.createElement("path",{d:"M374.285 341.409h-23.542a7.251 7.251 0 0 1-7.421-6.397l-6.397-79.923a7.174 7.174 0 0 1 6.807-7.506c.205-.009.409-.009.614 0h36.251a7.16 7.16 0 0 1 7.421 6.892c.009.205.009.409 0 .614l-6.397 79.923a7.249 7.249 0 0 1-7.336 6.397zM357.993 375.527h9.041c6.926 0 12.539 5.612 12.539 12.539v9.041c0 6.926-5.612 12.539-12.539 12.539h-9.041c-6.926 0-12.539-5.612-12.539-12.539v-9.041c0-6.926 5.621-12.539 12.539-12.539z"})),n.createElement("path",{d:"M318.415 435.235a153.553 153.553 0 0 1-19.192 22.859 157.081 157.081 0 0 1-50.154 33.095 159.575 159.575 0 0 1-61.413 12.283 149.268 149.268 0 0 1-20.556-1.365 155.17 155.17 0 0 1-40.857-10.833 156.698 156.698 0 0 1-84.017-82.311 152.753 152.753 0 0 1-12.368-60.219 150.27 150.27 0 0 1 17.059-69.005 752.602 752.602 0 0 1 42.648-68.237c15.268-22.774 29.513-46.145 44.013-69.346l34.119-54.504 7.335-11.771c4.504-7.353 14.117-9.656 21.469-5.143a15.525 15.525 0 0 1 5.143 5.143l34.716 55.869c-2.644 4.18-5.032 8.53-7.335 12.709a96.424 96.424 0 0 0-11.515 44.439 98.026 98.026 0 0 0 8.018 38.725 100.313 100.313 0 0 0 21.921 31.56 106.83 106.83 0 0 0 9.98 8.53 115.344 115.344 0 0 0-11.6 31.048 120.546 120.546 0 0 0-2.729 25.589c.041 48.9 29.878 92.828 75.315 110.885z",fill:"#0377bc"}),n.createElement("path",{d:"M277.217 435.235a153.553 153.553 0 0 1-19.192 22.859 157.081 157.081 0 0 1-50.154 33.095 158.847 158.847 0 0 1-40.772 10.833 155.17 155.17 0 0 1-40.857-10.833 156.698 156.698 0 0 1-84.017-82.311 152.657 152.657 0 0 1-12.368-60.134 150.27 150.27 0 0 1 17.059-69.005 752.602 752.602 0 0 1 42.648-68.237c15.268-22.774 29.513-46.145 44.013-69.346l34.119-54.504c9.212 14.671 18.339 29.427 27.465 44.098-2.644 4.18-5.032 8.53-7.335 12.709a96.502 96.502 0 0 0-10.833 44.354 98.026 98.026 0 0 0 8.018 38.725 100.313 100.313 0 0 0 21.921 31.56 106.83 106.83 0 0 0 9.98 8.53 115.323 115.323 0 0 0-12.283 31.133 120.546 120.546 0 0 0-2.729 25.589c.043 48.9 29.88 92.828 75.317 110.885z",fill:"#02a9f4"}),n.createElement("path",{d:"M411.388 144.545a477.911 477.911 0 0 0-27.636-43.842c-9.894-14.586-19.192-29.598-28.489-44.525L328.395 13.53c-3.037-4.708-9.323-6.065-14.031-3.028a10.259 10.259 0 0 0-3.028 3.028l-12.794 20.215-14.074 22.433c-9.297 14.927-18.595 29.939-28.489 44.525-6.994 10.236-13.989 20.471-20.301 31.133-2.644 4.18-5.032 8.53-7.335 12.709a96.502 96.502 0 0 0-10.833 44.354 98.758 98.758 0 0 0 29.939 70.284 106.83 106.83 0 0 0 9.98 8.53 119.423 119.423 0 0 1 84.017-60.902 114.9 114.9 0 0 1 21.068-1.877c5.186.009 10.372.324 15.524.938a119.369 119.369 0 0 1 39.578 12.539 96.462 96.462 0 0 0-6.228-73.866z",fill:"#0377bc"}),n.createElement("path",{d:"M379.573 188.899a93.046 93.046 0 0 1-1.535 17.059 131.537 131.537 0 0 0-15.524-1.024 114.797 114.797 0 0 0-21.068 1.877 119.425 119.425 0 0 0-84.017 60.902 106.96 106.96 0 0 1-9.98-8.53c-31.099-29.743-38.878-76.417-19.106-114.638 2.303-4.35 4.691-8.53 7.335-12.709 6.312-10.662 13.306-20.898 20.301-31.133 9.894-14.586 19.192-29.598 28.489-44.525l14.074-22.433 14.074 22.433c9.297 14.927 18.595 29.939 28.489 44.525a477.911 477.911 0 0 1 27.636 43.842 96.401 96.401 0 0 1 10.832 44.354z",fill:"#02a9f4"}),n.createElement("path",{d:"M187.656 512.002a167.398 167.398 0 0 1-64.655-12.88 165.226 165.226 0 0 1-88.623-86.746 160.466 160.466 0 0 1-13.05-63.631 158.81 158.81 0 0 1 17.656-72.928 698.388 698.388 0 0 1 39.663-63.887l3.412-5.032c12.027-17.998 23.627-36.677 34.886-54.76L167.1 71.531c6.986-11.353 21.861-14.893 33.214-7.898a24.1 24.1 0 0 1 7.898 7.898l17.059 27.38 17.827 28.404a8.521 8.521 0 0 1 0 9.383c-2.559 4.009-4.777 8.018-6.994 12.112a87.69 87.69 0 0 0-10.065 40.089 89.456 89.456 0 0 0 7.335 35.398 92.438 92.438 0 0 0 20.045 28.83 99.608 99.608 0 0 0 9.212 7.847 8.534 8.534 0 0 1 2.303 10.918 106.955 106.955 0 0 0-10.747 28.745 112.483 112.483 0 0 0-2.559 23.712c.009 45.429 27.721 86.26 69.943 103.038 4.393 1.706 6.559 6.653 4.853 11.046a8.584 8.584 0 0 1-.93 1.749 162.407 162.407 0 0 1-20.301 24.139 164.29 164.29 0 0 1-52.884 34.886 167.489 167.489 0 0 1-64.653 12.795zm0-435.012a6.99 6.99 0 0 0-6.056 3.412l-50.154 80.69c-11.344 18.168-23.03 37.019-35.227 55.187l-3.412 5.032a687.543 687.543 0 0 0-38.725 62.266 141.613 141.613 0 0 0-15.695 65.166 143.56 143.56 0 0 0 11.686 56.893 148.16 148.16 0 0 0 79.411 77.79 152.855 152.855 0 0 0 116.344 0 147.616 147.616 0 0 0 47.425-31.133 143.446 143.446 0 0 0 12.027-13.306c-43.322-21.802-70.668-66.139-70.711-114.638a129.576 129.576 0 0 1 2.9-27.38 124.357 124.357 0 0 1 9.212-26.954 136.293 136.293 0 0 1-5.203-4.691 109.87 109.87 0 0 1-23.798-34.119 106.411 106.411 0 0 1-8.53-42.136c0-16.803 4.035-33.359 11.771-48.278 1.621-3.071 3.241-5.971 4.862-8.53l-14.927-24.054-17.059-27.38a7.087 7.087 0 0 0-6.141-3.837z"}),n.createElement("path",{d:"M99.971 442.4A8.521 8.521 0 0 1 94 439.926a129.631 129.631 0 0 1-28.318-41.113 126.28 126.28 0 0 1-10.236-50.069 124.503 124.503 0 0 1 13.818-57.234c1.868-4.325 6.883-6.32 11.208-4.452s6.32 6.883 4.452 11.208c-.162.375-.35.742-.563 1.092a107.494 107.494 0 0 0-11.856 49.387 109.211 109.211 0 0 0 8.53 43.331 112.626 112.626 0 0 0 24.565 35.739c3.344 3.318 3.369 8.717.051 12.061a8.549 8.549 0 0 1-6.022 2.525l.342-.001zM257.428 276.242a8.526 8.526 0 0 1-5.118-1.706 115.222 115.222 0 0 1-10.747-9.212 109.87 109.87 0 0 1-23.798-34.119 106.411 106.411 0 0 1-8.53-42.136c0-16.803 4.035-33.359 11.771-48.278 2.559-4.862 5.118-9.212 7.677-13.306 6.312-10.662 13.392-21.068 20.386-31.218 9.041-13.903 17.912-27.807 26.442-41.881L304 8.753c5.485-8.734 17.017-11.379 25.751-5.894a18.698 18.698 0 0 1 5.894 5.894l28.574 45.634c8.53 13.733 17.059 27.977 26.612 41.539l1.706 2.474a457.473 457.473 0 0 1 26.442 42.136 104.968 104.968 0 0 1 6.824 80.434c-1.433 4.487-6.235 6.969-10.722 5.536a8.282 8.282 0 0 1-1.39-.589 112.612 112.612 0 0 0-106.535 2.388 110.28 110.28 0 0 0-42.136 43.416 8.52 8.52 0 0 1-5.715 4.265l-1.877.256zm62.437-258.959a1.541 1.541 0 0 0-1.365.768l-28.489 45.378c-8.53 13.903-17.571 28.233-26.954 42.051-6.909 10.065-13.903 20.301-20.045 30.707-2.644 4.18-4.947 8.53-7.165 12.368a87.722 87.722 0 0 0-9.809 40.345 89.456 89.456 0 0 0 7.335 35.398 92.438 92.438 0 0 0 20.045 28.83l1.791 1.706a127.216 127.216 0 0 1 43.331-41.369 129.73 129.73 0 0 1 113.359-7.25 87.904 87.904 0 0 0-8.53-57.831 444.102 444.102 0 0 0-25.589-40.516l-1.706-2.474c-9.383-13.818-18.339-28.148-26.954-42.051L321.23 18.05a1.532 1.532 0 0 0-1.365-.767z"}),n.createElement("path",{d:"M271.246 243.233a8.519 8.519 0 0 1-5.971-2.388 75.502 75.502 0 0 1-16.292-23.456 71.923 71.923 0 0 1-5.885-28.489 70.537 70.537 0 0 1 7.933-32.498c1.877-3.582 4.009-7.25 6.227-10.833l.512-.768a8.538 8.538 0 0 1 11.609-3.284 8.538 8.538 0 0 1 3.284 11.609 6.997 6.997 0 0 1-.392.631l-.512.853c-2.132 3.327-3.924 6.568-5.63 9.724a53.307 53.307 0 0 0-5.971 24.565 54.816 54.816 0 0 0 4.435 21.665 58.198 58.198 0 0 0 12.624 18.083c3.395 3.267 3.489 8.666.222 12.061a8.518 8.518 0 0 1-6.193 2.61v-.085z"}),n.createElement("path",{d:"M362.514 452.294c-70.66 0-127.945-57.285-127.945-127.945a129.576 129.576 0 0 1 2.9-27.38 123.98 123.98 0 0 1 12.453-33.351 127.15 127.15 0 0 1 48.619-50.154c37.94-21.495 84.136-22.518 122.997-2.729 62.744 32.489 87.275 109.7 54.777 172.452-22.005 42.512-65.916 69.184-113.801 69.107zm0-238.83c-40.763.009-78.234 22.382-97.579 58.257a107.238 107.238 0 0 0-10.747 28.83 112.818 112.818 0 0 0-2.559 23.798c0 61.243 49.643 110.885 110.885 110.885s110.885-49.642 110.885-110.885-49.643-110.885-110.885-110.885z"}),n.createElement("path",{d:"M374.285 349.939h-23.542c-8.231.085-15.157-6.141-15.95-14.33l-6.397-79.496a15.26 15.26 0 0 1 4.009-11.515 16.312 16.312 0 0 1 11.942-5.203h36.251a16.31 16.31 0 0 1 11.941 5.203 15.27 15.27 0 0 1 4.094 11.515l-6.397 79.923c-.999 8.026-7.865 14.013-15.951 13.903zm-22.519-17.06h21.665l6.141-76.767h-34.119l6.313 76.767zM367.034 418.176h-9.041c-11.617-.043-21.026-9.451-21.068-21.068v-9.041c.043-11.617 9.451-21.026 21.068-21.068h8.956c11.651 0 21.102 9.417 21.153 21.068v8.956c.001 11.651-9.416 21.11-21.068 21.153zm-8.956-34.119a4.095 4.095 0 0 0-4.009 4.009v8.956a4.095 4.095 0 0 0 4.009 4.009h8.956a4.095 4.095 0 0 0 4.009-4.009v-8.956a4.095 4.095 0 0 0-4.009-4.009h-8.956z"}))}function Eue(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M462,226c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.52,0,10-4.48,10-10S467.52,226,462,226z"}),n.createElement("path",{fill:"currentColor",d:"M50,226c-5.52,0-10,4.48-10,10s4.48,10,10,10s10-4.48,10-10S55.52,226,50,226z"}),n.createElement("path",{fill:"currentColor",d:`M502,126h-0.027C508.265,117.637,512,107.248,512,96c0-27.57-22.43-50-50-50s-50,22.43-50,50 c0,11.248,3.735,21.637,10.027,30H422c-5.522,0-10,4.478-10,10v50.03c-7.399,0.025-17.158,0.065-23,0.113V166.63 c0-5.522-4.478-10-10-10c-5.522,0-10,4.478-10,10v12.435c-0.931-0.964-1.899-2.045-2.923-3.258 c-10.745-12.754-24.515-23.761-40.077-32.106V121.83c0-5.522-4.478-10-10-10c-5.522,0-10,4.478-10,10v12.983 @@ -403,24 +403,24 @@ body { c-14.663-3.788-27.83-11.575-36.517-21.887c-2.039-2.417-4.216-4.742-6.483-6.965v-27.672c9.465,6.201,17.88,13.567,24.789,21.767 c4.64,5.496,10.324,11.234,18.211,14.57V223.458z M412,425h-23v-19h23V425z M412,386h-23V246h23V386z M412,226h-23v-19.856 c5.683-0.048,15.526-0.088,23-0.113V226z M492,446h-60V146h20v50c0,5.522,4.478,10,10,10c5.522,0,10-4.478,10-10v-50h20V446z - M462,126c-16.542,0-30-13.458-30-30s13.458-30,30-30s30,13.458,30,30S478.542,126,462,126z`}))}function Oue(i){return a.createElement("svg",{viewBox:"0 0 511.448 511.448",...i},a.createElement("path",{d:"M344.556 112.216C318.38 78.84 291.34 44.344 269.516 7.32c-5.76-9.76-21.824-9.76-27.552 0-21.856 37.024-48.896 71.52-75.072 104.896-53.056 67.68-103.168 131.616-103.168 207.232 0 105.888 86.112 192 192 192s192-86.112 192-192c0-75.616-50.112-139.552-103.168-207.232z",fill:"#2196f3"}),a.createElement("g",{fill:"#fafafa"},a.createElement("path",{d:"M207.724 287.448c-26.464 0-48-21.536-48-48s21.536-48 48-48 48 21.536 48 48-21.536 48-48 48zm0-64c-8.832 0-16 7.168-16 16s7.168 16 16 16 16-7.168 16-16-7.168-16-16-16zM303.724 447.448c-26.464 0-48-21.536-48-48s21.536-48 48-48 48 21.536 48 48-21.536 48-48 48zm0-64c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zM175.724 415.448a16.07 16.07 0 0 1-11.328-4.672c-6.24-6.24-6.24-16.384 0-22.624l160-160c6.24-6.24 16.384-6.24 22.624 0s6.24 16.384 0 22.624l-160 160a15.943 15.943 0 0 1-11.296 4.672z"})))}function SM(i){return a.createElement("svg",{viewBox:"0 0 508.16 508.16",...i},a.createElement("path",{d:"M504.18 13.67a3.924 3.924 0 0 0-.42.02H4a4 4 0 0 0-4 4v47.28a4 4 0 0 0 4 4h19.72l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.16a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h479.8a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.64-42.08h9.84a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h19.72a4 4 0 0 0 4-4V17.69a4 4 0 0 0-3.98-4.02zM99.08 486.49H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm26.8 378.24h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm.16-47.28h-18.96V68.97h18.96v39.28zm247.84 378.24h-240v-39.28h240v39.28zm-240-47.28v-39.28h239.68v39.28H133.88zm240-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm-240-47.28V68.97h239.84v39.28H133.88zm266.64 378.24h-18.64l-.32-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm.32-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm-18.96-47.28V68.97h18.8v39.28h-18.8zm63.56 8v39.28h-36.92v-39.28h36.92zm-36.76-8V68.97h36.92v39.28h-36.92zm36.76 55.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.76l-.16-39.28h36.92zm42.68 181.12h-79.44v-39.28h66.96l12.48 39.28zm0-47.28h-79.44v-39.28h66.96l12.48 39.28zm0-47.28h-79.44v-39.28h36.92v17.44a4 4 0 0 0 8 0v-17.44h22.04l12.48 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6V68.97h22.04l12.56 39.28zm11.56-47.28H8V21.69h491.76l-.08 39.28z",fill:"currentColor"}),a.createElement("path",{d:"M454.32 37.33h-13.76a4 4 0 0 0 0 8h13.76a4 4 0 0 0 0-8zM414.84 37.33h-96a4 4 0 0 0 0 8h96a4 4 0 0 0 0-8z",fill:"currentColor"}))}function Eue(i){return a.createElement("svg",{viewBox:"0 0 63.907 63.907",fill:"currentColor",...i},a.createElement("circle",{fill:"currentColor",cx:30.515,cy:6.136,r:6.136}),a.createElement("path",{fill:"currentColor",d:"M47.399 27.455C42.346 24.53 38.2 20.579 34.71 15.931c-2.193-3.084-7.991-2.923-10.347-.097-3.584 3.487-6.625 7.081-9.037 10.677a3.209 3.209 0 0 0 5.329 3.573 54.205 54.205 0 0 1 3.59-4.734c-.051 3.333.116 9.347.2 12.05.028.9-.177 1.78-.595 2.579-3.308 6.317-5.424 12.294-7.572 19.606a3.37 3.37 0 1 0 6.465 1.901c1.982-6.742 3.897-12.201 6.884-17.981.152.006.304.006.458-.001 1.907 5.69 3.815 11.383 5.725 17.073 1.387 4.147 7.822 1.993 6.431-2.155-2.087-6.221-4.171-12.439-6.251-18.659-.121-.357-.414-1.755-.455-2.211-.344-3.832-.469-7.652-.432-11.477a51.027 51.027 0 0 0 9.782 7.328c3.597 2.088 6.063-3.891 2.514-5.948z"}))}function _ue(i){return a.createElement("svg",{viewBox:"0 0 285 285",...i},a.createElement("g",null,a.createElement("path",{fill:"currentColor",d:`M88.4,87.996c2.525-2.146,2.832-5.933,0.687-8.458C82.801,72.144,79.34,62.719,79.34,53c0-22.607,18.393-41,41-41 + M462,126c-16.542,0-30-13.458-30-30s13.458-30,30-30s30,13.458,30,30S478.542,126,462,126z`}))}function _ue(i){return n.createElement("svg",{viewBox:"0 0 511.448 511.448",...i},n.createElement("path",{d:"M344.556 112.216C318.38 78.84 291.34 44.344 269.516 7.32c-5.76-9.76-21.824-9.76-27.552 0-21.856 37.024-48.896 71.52-75.072 104.896-53.056 67.68-103.168 131.616-103.168 207.232 0 105.888 86.112 192 192 192s192-86.112 192-192c0-75.616-50.112-139.552-103.168-207.232z",fill:"#2196f3"}),n.createElement("g",{fill:"#fafafa"},n.createElement("path",{d:"M207.724 287.448c-26.464 0-48-21.536-48-48s21.536-48 48-48 48 21.536 48 48-21.536 48-48 48zm0-64c-8.832 0-16 7.168-16 16s7.168 16 16 16 16-7.168 16-16-7.168-16-16-16zM303.724 447.448c-26.464 0-48-21.536-48-48s21.536-48 48-48 48 21.536 48 48-21.536 48-48 48zm0-64c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zM175.724 415.448a16.07 16.07 0 0 1-11.328-4.672c-6.24-6.24-6.24-16.384 0-22.624l160-160c6.24-6.24 16.384-6.24 22.624 0s6.24 16.384 0 22.624l-160 160a15.943 15.943 0 0 1-11.296 4.672z"})))}function SM(i){return n.createElement("svg",{viewBox:"0 0 508.16 508.16",...i},n.createElement("path",{d:"M504.18 13.67a3.924 3.924 0 0 0-.42.02H4a4 4 0 0 0-4 4v47.28a4 4 0 0 0 4 4h19.72l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.16a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h479.8a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.64-42.08h9.84a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h19.72a4 4 0 0 0 4-4V17.69a4 4 0 0 0-3.98-4.02zM99.08 486.49H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm26.8 378.24h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm.16-47.28h-18.96V68.97h18.96v39.28zm247.84 378.24h-240v-39.28h240v39.28zm-240-47.28v-39.28h239.68v39.28H133.88zm240-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm-240-47.28V68.97h239.84v39.28H133.88zm266.64 378.24h-18.64l-.32-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm.32-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm-18.96-47.28V68.97h18.8v39.28h-18.8zm63.56 8v39.28h-36.92v-39.28h36.92zm-36.76-8V68.97h36.92v39.28h-36.92zm36.76 55.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.76l-.16-39.28h36.92zm42.68 181.12h-79.44v-39.28h66.96l12.48 39.28zm0-47.28h-79.44v-39.28h66.96l12.48 39.28zm0-47.28h-79.44v-39.28h36.92v17.44a4 4 0 0 0 8 0v-17.44h22.04l12.48 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6V68.97h22.04l12.56 39.28zm11.56-47.28H8V21.69h491.76l-.08 39.28z",fill:"currentColor"}),n.createElement("path",{d:"M454.32 37.33h-13.76a4 4 0 0 0 0 8h13.76a4 4 0 0 0 0-8zM414.84 37.33h-96a4 4 0 0 0 0 8h96a4 4 0 0 0 0-8z",fill:"currentColor"}))}function Sue(i){return n.createElement("svg",{viewBox:"0 0 63.907 63.907",fill:"currentColor",...i},n.createElement("circle",{fill:"currentColor",cx:30.515,cy:6.136,r:6.136}),n.createElement("path",{fill:"currentColor",d:"M47.399 27.455C42.346 24.53 38.2 20.579 34.71 15.931c-2.193-3.084-7.991-2.923-10.347-.097-3.584 3.487-6.625 7.081-9.037 10.677a3.209 3.209 0 0 0 5.329 3.573 54.205 54.205 0 0 1 3.59-4.734c-.051 3.333.116 9.347.2 12.05.028.9-.177 1.78-.595 2.579-3.308 6.317-5.424 12.294-7.572 19.606a3.37 3.37 0 1 0 6.465 1.901c1.982-6.742 3.897-12.201 6.884-17.981.152.006.304.006.458-.001 1.907 5.69 3.815 11.383 5.725 17.073 1.387 4.147 7.822 1.993 6.431-2.155-2.087-6.221-4.171-12.439-6.251-18.659-.121-.357-.414-1.755-.455-2.211-.344-3.832-.469-7.652-.432-11.477a51.027 51.027 0 0 0 9.782 7.328c3.597 2.088 6.063-3.891 2.514-5.948z"}))}function xue(i){return n.createElement("svg",{viewBox:"0 0 285 285",...i},n.createElement("g",null,n.createElement("path",{fill:"currentColor",d:`M88.4,87.996c2.525-2.146,2.832-5.933,0.687-8.458C82.801,72.144,79.34,62.719,79.34,53c0-22.607,18.393-41,41-41 c22.607,0,41,18.393,41,41c0,9.729-3.467,19.161-9.761,26.557c-2.148,2.523-1.843,6.311,0.681,8.458 c1.129,0.961,2.511,1.431,3.886,1.431c1.698,0,3.386-0.717,4.572-2.111C168.858,77.77,173.34,65.576,173.34,53 c0-29.225-23.775-53-53-53c-29.225,0-53,23.775-53,53c0,12.563,4.476,24.748,12.602,34.31C82.089,89.835,85.873,90.141,88.4,87.996 - z`}),a.createElement("path",{fill:"currentColor",d:`M120.186,41.201c13.228,0,23.812,8.105,27.313,19.879c0.761-2.562,1.176-5.271,1.176-8.08 + z`}),n.createElement("path",{fill:"currentColor",d:`M120.186,41.201c13.228,0,23.812,8.105,27.313,19.879c0.761-2.562,1.176-5.271,1.176-8.08 c0-15.649-12.685-28.335-28.335-28.335c-15.648,0-28.334,12.686-28.334,28.335c0,2.623,0.364,5.16,1.031,7.571 - C96.691,49.076,107.152,41.201,120.186,41.201z`}),a.createElement("path",{fill:"currentColor",d:`M234.21,169.856c-3.769-22.452-19.597-26.04-27.034-26.462c-2.342-0.133-4.516-1.32-5.801-3.282 + C96.691,49.076,107.152,41.201,120.186,41.201z`}),n.createElement("path",{fill:"currentColor",d:`M234.21,169.856c-3.769-22.452-19.597-26.04-27.034-26.462c-2.342-0.133-4.516-1.32-5.801-3.282 c-5.388-8.225-12.609-10.4-18.742-10.4c-4.405,0-8.249,1.122-10.449,1.932c-0.275,0.102-0.559,0.15-0.837,0.15 c-0.87,0-1.701-0.47-2.163-1.262c-5.472-9.387-13.252-11.809-19.822-11.809c-3.824,0-7.237,0.82-9.548,1.564 c-0.241,0.077-0.764,0.114-1.001,0.114c-1.256,0-2.637-1.03-2.637-2.376V69.753c0-11.035-8.224-16.552-16.5-16.552 c-8.276,0-16.5,5.517-16.5,16.552v84.912c0,4.989-3.811,8.074-7.918,8.074c-2.495,0-4.899-1.138-6.552-3.678l-7.937-12.281 c-3.508-5.788-8.576-8.188-13.625-8.189c-11.412-0.001-22.574,12.258-14.644,25.344l62.491,119.692 c0.408,0.782,1.225,1.373,2.108,1.373h87.757c1.253,0,2.289-1.075,2.365-2.325l2.196-35.816c0.025-0.413,0.162-0.84,0.39-1.186 - C231.591,212.679,237.828,191.414,234.21,169.856z`})))}function Ui(i){return a.createElement("svg",{viewBox:"1 -10 511.99999 511",...i},a.createElement("g",{fill:"currentColor"},a.createElement("path",{d:"M 405.5 150 C 405.5 232.566406 338.566406 299.5 256 299.5 C 173.433594 299.5 106.5 232.566406 106.5 150 C 106.5 67.433594 173.433594 0.5 256 0.5 C 338.566406 0.5 405.5 67.433594 405.5 150 Z M 405.5 150 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(25.882353%,75.294118%,88.627451%)",fillOpacity:1}}),a.createElement("path",{d:"M 512 342.921875 C 512 425.488281 445.066406 492.421875 362.5 492.421875 C 279.933594 492.421875 213 425.488281 213 342.921875 C 213 260.355469 279.933594 193.421875 362.5 193.421875 C 445.066406 193.421875 512 260.355469 512 342.921875 Z M 512 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,81.568627%,38.039216%)",fillOpacity:1}}),a.createElement("path",{d:"M 220.746094 295.308594 C 232.050781 298.039062 243.855469 299.5 256 299.5 C 321.917969 299.5 377.871094 256.835938 397.753906 197.613281 C 386.449219 194.878906 374.644531 193.421875 362.5 193.421875 C 296.582031 193.421875 240.628906 236.085938 220.746094 295.308594 Z M 220.746094 295.308594 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(28.627451%,74.117647%,56.470588%)",fillOpacity:1}}),a.createElement("path",{d:"M 299 342.921875 C 299 425.488281 232.066406 492.421875 149.5 492.421875 C 66.933594 492.421875 0 425.488281 0 342.921875 C 0 260.355469 66.933594 193.421875 149.5 193.421875 C 232.066406 193.421875 299 260.355469 299 342.921875 Z M 299 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(98.039216%,43.921569%,69.803922%)",fillOpacity:1}}),a.createElement("path",{d:"M 114.246094 197.613281 C 134.128906 256.835938 190.082031 299.5 256 299.5 C 268.144531 299.5 279.949219 298.039062 291.253906 295.308594 C 271.371094 236.085938 215.417969 193.421875 149.5 193.421875 C 137.355469 193.421875 125.550781 194.878906 114.246094 197.613281 Z M 114.246094 197.613281 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(68.627451%,48.235294%,77.647059%)",fillOpacity:1}}),a.createElement("path",{d:"M 213 342.921875 C 213 383.800781 229.414062 420.839844 256 447.828125 C 282.585938 420.839844 299 383.800781 299 342.921875 C 299 302.042969 282.585938 265.003906 256 238.015625 C 229.414062 265.003906 213 302.042969 213 342.921875 Z M 213 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(93.72549%,38.039216%,13.333333%)",fillOpacity:1}}),a.createElement("path",{d:"M 291.253906 295.320312 C 279.949219 298.046875 268.140625 299.5 256 299.5 C 243.859375 299.5 232.050781 298.046875 220.746094 295.320312 C 228.058594 273.542969 240.242188 254.015625 256 238.015625 C 271.757812 254.015625 283.941406 273.542969 291.253906 295.320312 Z M 291.253906 295.320312 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,100%,100%)",fillOpacity:1}})))}function Sue(i){return a.createElement("svg",{width:32,height:32,viewBox:"0 0 365.445 365.445",...i},a.createElement("g",{fill:"currentColor"},a.createElement("path",{d:"M146.7 162.775h-26.8a6.655 6.655 0 0 0-6.647 6.647v26.602a6.653 6.653 0 0 0 6.647 6.646h26.8a6.654 6.654 0 0 0 6.647-6.646v-26.602a6.655 6.655 0 0 0-6.647-6.647zM245.547 162.775h-26.801a6.653 6.653 0 0 0-6.646 6.647v26.602a6.652 6.652 0 0 0 6.646 6.646h26.801a6.654 6.654 0 0 0 6.646-6.646v-26.602a6.655 6.655 0 0 0-6.646-6.647z"})),a.createElement("path",{d:"M345.445 1.204H20c-11.046 0-20 8.954-20 20v323.037c0 11.045 8.954 20 20 20h325.445c11.045 0 20-8.955 20-20V21.204c0-11.045-8.953-20-20-20zM182.723 287.66c-57.955 0-104.937-46.981-104.937-104.937 0-57.957 46.982-104.938 104.937-104.938S287.66 124.767 287.66 182.723 240.678 287.66 182.723 287.66z",fill:"currentColor"}))}function xue(i){return a.createElement("svg",{width:32,height:32,viewBox:"0 0 45.659 45.659",...i},a.createElement("path",{fill:"currentColor",d:"M30.619 27.309V7.781C30.619 3.49 27.124 0 22.833 0c-4.29 0-7.785 3.491-7.785 7.78v19.528a10.722 10.722 0 0 0-3.05 7.522c0 5.972 4.857 10.828 10.829 10.828 5.97 0 10.834-4.856 10.834-10.828 0-2.918-1.141-5.572-3.042-7.521zM22.825 42.66c-4.316 0-7.824-3.512-7.824-7.828 0-2.527 1.174-4.779 3.077-6.211V16.237h3.372c.552 0 1-.47 1-1.022 0-.553-.448-1.021-1-1.021h-3.372v-2.466h3.372c.552 0 1-.434 1-.986a.989.989 0 0 0-1-.986h-3.372V7.78c0-2.636 2.119-4.78 4.754-4.78 2.637 0 4.756 2.144 4.756 4.781v20.871c1.903 1.434 3.047 3.671 3.047 6.18 0 4.316-3.494 7.828-7.81 7.828z"}),a.createElement("path",{fill:"currentColor",d:"M25.334 30.463V18.632h-5.002v11.831a4.973 4.973 0 0 0-2.537 4.369 5.038 5.038 0 0 0 5.038 5.046 5.034 5.034 0 0 0 5.034-5.046c0-1.866-.982-3.495-2.533-4.369z"}))}function fue(i){return a.createElement("svg",{viewBox:"0 0 297 297",...i},a.createElement("g",null,a.createElement("path",{fill:"currentColor",d:"m243.404,138.042c-5.775,0-10.458,4.683-10.458,10.458 0,46.564-37.883,84.446-84.446,84.446s-84.446-37.882-84.446-84.446 37.883-84.446 84.446-84.446c5.775,0 10.458-4.683 10.458-10.458s-4.683-10.457-10.458-10.457c-58.097,0-105.361,47.265-105.361,105.361s47.264,105.361 105.361,105.361 105.361-47.264 105.361-105.361c0-5.775-4.681-10.458-10.457-10.458z"}),a.createElement("path",{fill:"currentColor",d:"m142.963,121.344l-20.272-30.41c-3.203-4.807-9.695-6.104-14.502-2.9-4.805,3.202-6.104,9.695-2.9,14.502l20.279,30.422c-3.015,4.436-4.78,9.787-4.78,15.543 0,15.281 12.432,27.713 27.713,27.713 15.281,0 27.713-12.432 27.713-27.713 0-15.281-12.432-27.713-27.713-27.713-1.897-0.001-3.749,0.191-5.538,0.556zm12.335,27.156c0,3.748-3.05,6.798-6.798,6.798s-6.798-3.05-6.798-6.798 3.05-6.798 6.798-6.798 6.798,3.05 6.798,6.798z"}),a.createElement("path",{fill:"currentColor",d:"M148.5,0C66.617,0,0,66.617,0,148.5S66.617,297,148.5,297S297,230.383,297,148.5S230.383,0,148.5,0z M158.958,275.653 v-6.366c0-5.775-4.683-10.458-10.458-10.458c-5.775,0-10.458,4.683-10.458,10.458v6.366 c-62.027-5.056-111.64-54.668-116.695-116.695h6.366c5.775,0,10.458-4.683,10.458-10.458s-4.683-10.458-10.458-10.458h-6.366 c5.056-62.027,54.668-111.64,116.695-116.695v6.366c0,5.775,4.683,10.458,10.458,10.458c5.775,0,10.458-4.683,10.458-10.458v-6.366 c62.027,5.056,111.64,54.668,116.695,116.695h-6.366c-5.775,0-10.458,4.683-10.458,10.458s4.683,10.458,10.458,10.458h6.366 C270.598,220.985,220.985,270.598,158.958,275.653z"})))}function kue(i){return a.createElement("svg",{viewBox:"0 0 361 361",...i},a.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),a.createElement("path",{d:"M228.5 205.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H228.5c-2.726 0-5 2.274-5 5s2.274 5 5 5z",fill:"currentColor"}),a.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),a.createElement("path",{d:"M232.826 280.905c-.339 3.356-18.813-.782-20.919-1.06l-45.073-5.94-45.074-5.94-14.507-1.912c-1.456-.192-6.201-.055-6.412-2.147-.621-6.157 0-12.699 0-18.878v-43.5-82.076-5.13c0-2.551 5.184-1.015 6.412-.853l35.438 4.67 83.723 11.035c1.457.192 6.201.055 6.412 2.147.169 1.673 0 3.451 0 5.13v144.454c0 6.448 10 6.448 10 0V136.451v-5.13c0-7.619-6.137-10.793-12.673-11.655l-28.531-3.76-88.411-11.652-9.897-1.304c-6.555-.864-12.473 4.9-12.473 11.38v144.832c0 2.023-.071 4.04.132 6.053.717 7.111 6.606 9.563 12.759 10.374l76.827 10.125 39.896 5.259 9.697 1.278c7.063.931 12.011-4.778 12.673-11.346.648-6.415-9.358-6.352-9.999 0z",fill:"currentColor"}))}function ga(i){return a.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...i},a.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),a.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9zM265.732 265.178c.584 2.887-1.629 5.228-4.942 5.228H103.457c-3.313 0-6.474-2.341-7.058-5.228L75.24 130.633c-.584-2.887 1.628-5.228 4.942-5.228h157.333c3.313 0 6.474 2.34 7.058 5.228l21.159 134.545z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),a.createElement("path",{d:"M247.194 199.667h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5h-6.639c-2.726 0-5 2.274-5 5s2.275 5 5 5z",fill:"currentColor"}))}const Yue={"type-Device type":"Device type","type-airCondition":"Air conditioner","type-blind":"Blinds","type-blindButtons":"Blind controlled by buttons","type-button":"Button","type-buttonSensor":"Button with feedback","type-camera":"Camera","type-chart":"Chart","type-cie":"CIE color light","type-ct":"Color temperature","type-dimmer":"Dimmer","type-door":"Door","type-fireAlarm":"Fire alarm","type-floodAlarm":"Flood alarm","type-gate":"Gate","type-hue":"HUE light","type-humidity":"Humidity","type-illuminance":"Illuminance","type-image":"Image","type-info":"Information","type-instance":"Instance","type-light":"Light","type-location":"Position","type-locationOne":"Position as one state","type-lock":"Lock","type-media":"Media-player","type-motion":"Motion sensor","type-rgb":"RGB light","type-rgbSingle":"R,G,B light - single states","type-rgbwSingle":"R,G,B,W light - single states","type-slider":"Slider","type-socket":"Socket","type-temperature":"Temperature","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Vacuum cleaner","type-valve":"Valve","type-volume":"Volume","type-volumeGroup":"Volume group","type-warning":"Warning","type-weatherCurrent":"Current weather","type-weatherForecast":"Weather forecast","type-window":"Window sensor","type-windowTilt":"Window tilt sensor"},Que={"type-Device type":"Gerätetyp","type-airCondition":"Klimaanlage","type-blind":"Jalousien","type-blindButtons":"Jalousie über Tasten gesteuert","type-button":"Taste","type-buttonSensor":"Taste mit Rückmeldung","type-camera":"Kamera","type-chart":"Diagramm","type-cie":"CIE Farblicht","type-ct":"Farbtemperatur","type-dimmer":"Dimmer","type-door":"Türsensor","type-fireAlarm":"Feueralarm","type-floodAlarm":"Wasseralarm","type-gate":"Tor-Steuerung","type-hue":"HUE-Licht","type-humidity":"Feuchtigkeit","type-illuminance":"Beleuchtungsstärke","type-image":"Bild","type-info":"Information","type-instance":"Instanz","type-light":"Licht","type-location":"Position","type-locationOne":"Position als ein Zustand","type-lock":"Schloss","type-media":"Mediaplayer","type-motion":"Bewegungssensor","type-rgb":"RGB-Licht","type-rgbSingle":"R,G,B-Licht Einzelwerte","type-rgbwSingle":"R,G,B,W-Licht Einzelwerte","type-slider":"Schieberegler","type-socket":"Steckdose","type-temperature":"Temperatur","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Staubsauger","type-valve":"Ventil","type-volume":"Lautstärke","type-volumeGroup":"Lautstärke-Gruppe","type-warning":"Warnung","type-weatherCurrent":"Aktuelle Wetterlage","type-weatherForecast":"Wettervorhersage","type-window":"Fenstersensor","type-windowTilt":"Fensterkippung-Sensor"},Uue={"type-Device type":"Тип устройства","type-airCondition":"Кондиционер","type-blind":"Рольставни/Жалюзи","type-blindButtons":"Жалюзи управляющиеся кнопками","type-button":"Кнопка","type-buttonSensor":"Кнопка с обратной связью","type-camera":"Камера","type-chart":"Диаграмма","type-cie":"CIE свет","type-ct":"Цветовая температура","type-dimmer":"Диммер","type-door":"Датчик положения двери","type-fireAlarm":"Датчик дыма","type-floodAlarm":"Датчик затопления","type-gate":"Ворота","type-hue":"HUE свет","type-humidity":"Влажность","type-illuminance":"Освещенность","type-image":"Изображение","type-info":"Информация","type-instance":"Инстанция","type-light":"Свет","type-location":"Местоположение","type-locationOne":"Позиция в одном состоянии","type-lock":"Замок","type-media":"Медиа-плейер","type-motion":"Датчик движения","type-rgb":"RGB свет","type-rgbSingle":"R,G,B как отдельные значение","type-rgbwSingle":"R,G,B,W как отдельные значение","type-slider":"Ползунок","type-socket":"Розетка","type-temperature":"Температура","type-thermostat":"Термостат","type-url":"URL","type-vacuumCleaner":"Пылесос","type-valve":"Вентиль","type-volume":"Громкость","type-volumeGroup":"Группа громкости","type-warning":"Предупреждение","type-weatherCurrent":"Актуальная погода","type-weatherForecast":"Прогноз погоды","type-window":"Датчик открытия окна","type-windowTilt":"Датчик наклона окна"},vue={"type-Device type":"Tipo de dispositivo","type-airCondition":"Ar condicionado","type-blind":"persianas","type-blindButtons":"Persiana controlada por botões","type-button":"botão","type-buttonSensor":"Sensor de botão","type-camera":"câmera","type-chart":"Gráfico","type-cie":"Luz colorida CIE","type-ct":"Temperatura de cor","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"alarme de incêndio","type-floodAlarm":"alarme de inundação","type-gate":"portão","type-hue":"Luz HUE","type-humidity":"umidade","type-illuminance":"Iluminância","type-image":"imagem","type-info":"informação","type-instance":"exemplo","type-light":"luz","type-location":"localização","type-locationOne":"Posição como um estado","type-lock":"trancar","type-media":"mídia","type-motion":"movimento","type-rgb":"Luz RGB","type-rgbSingle":"Luz RGB única","type-rgbwSingle":"RGBW como valor único","type-slider":"controle deslizante","type-socket":"soquete","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirador de pó","type-valve":"válvula","type-volume":"volume","type-volumeGroup":"grupo de volume","type-warning":"aviso","type-weatherCurrent":"clima atual","type-weatherForecast":"previsão do tempo","type-window":"janela","type-windowTilt":"inclinação da janela"},bue={"type-Device type":"Typ urządzenia","type-airCondition":"Klimatyzator","type-blind":"żaluzje","type-blindButtons":"Roleta sterowana przyciskami","type-button":"przycisk","type-buttonSensor":"Czujnik przycisku","type-camera":"kamera","type-chart":"Wykres","type-cie":"Światło kolorowe CIE","type-ct":"Temperatura barwowa","type-dimmer":"opornik","type-door":"drzwi","type-fireAlarm":"alarm pożarowy","type-floodAlarm":"alarm przeciwpowodziowy","type-gate":"brama","type-hue":"Światło HUE","type-humidity":"wilgotność","type-illuminance":"Natężenie oświetlenia","type-image":"obraz","type-info":"Informacje","type-instance":"przykład","type-light":"światło","type-location":"lokalizacja","type-locationOne":"Pozycja jako państwa","type-lock":"zamek","type-media":"głoska bezdźwięczna","type-motion":"ruch","type-rgb":"Światło RGB","type-rgbSingle":"Pojedyncze światło RGB","type-rgbwSingle":"RGBW jako pojedyncza wartość","type-slider":"suwak","type-socket":"gniazdo","type-temperature":"temperatura","type-thermostat":"termostat","type-url":"Adres URL","type-vacuumCleaner":"Odkurzacz","type-valve":"zawór","type-volume":"tom","type-volumeGroup":"grupa woluminów","type-warning":"ostrzeżenie","type-weatherCurrent":"aktualna pogoda","type-weatherForecast":"prognoza pogody","type-window":"okno","type-windowTilt":"pochylenie okna"},$ue={"type-Device type":"Type d'appareil","type-airCondition":"Climatiseur","type-blind":"stores","type-blindButtons":"Store commandé par boutons","type-button":"bouton","type-buttonSensor":"Capteur de bouton","type-camera":"caméra","type-chart":"Graphique","type-cie":"lumière colorée CIE","type-ct":"Température de couleur","type-dimmer":"variateur","type-door":"porte","type-fireAlarm":"alarme incendie","type-floodAlarm":"alarme d'inondation","type-gate":"grille","type-hue":"Lumière HUE","type-humidity":"humidité","type-illuminance":"Éclairement","type-image":"image","type-info":"informations","type-instance":"exemple","type-light":"lumière","type-location":"emplacement","type-locationOne":"Position en tant qu'État","type-lock":"verrouillage","type-media":"médias","type-motion":"mouvement","type-rgb":"lumière RVB","type-rgbSingle":"Lumière RVB simple","type-rgbwSingle":"RGBW comme valeur unique","type-slider":"curseur","type-socket":"douille","type-temperature":"température","type-thermostat":"thermostat","type-url":"URL","type-vacuumCleaner":"Aspirateur","type-valve":"soupape","type-volume":"volume","type-volumeGroup":"groupe de volumes","type-warning":"avertissement","type-weatherCurrent":"météo actuelle","type-weatherForecast":"prévisions météorologiques","type-window":"fenêtre","type-windowTilt":"inclinaison de la fenêtre"},Pue={"type-Device type":"Tipo di dispositivo","type-airCondition":"Condizionatore d'aria","type-blind":"tende","type-blindButtons":"Tenda controllata da pulsanti","type-button":"pulsante","type-buttonSensor":"Sensore del pulsante","type-camera":"telecamera","type-chart":"Grafico","type-cie":"Luce colorata CIE","type-ct":"Temperatura del colore","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"allarme antincendio","type-floodAlarm":"allarme allagamento","type-gate":"cancello","type-hue":"Luce HUE","type-humidity":"umidità","type-illuminance":"Illuminamento","type-image":"immagine","type-info":"informazioni","type-instance":"esempio","type-light":"leggero","type-location":"posizione","type-locationOne":"Posizione come stato","type-lock":"serratura","type-media":"media","type-motion":"movimento","type-rgb":"luce RGB","type-rgbSingle":"Luce RGB singola","type-rgbwSingle":"RGBW come valore singolo","type-slider":"cursore","type-socket":"PRESA","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirapolvere","type-valve":"valvola","type-volume":"volume","type-volumeGroup":"gruppo di volumi","type-warning":"avvertimento","type-weatherCurrent":"meteo attuale","type-weatherForecast":"previsioni del tempo","type-window":"finestra","type-windowTilt":"inclinazione della finestra"},Wue={"type-Device type":"Apparaattype","type-airCondition":"Airconditioner","type-blind":"jaloezieën","type-blindButtons":"Jaloezie bediend door knoppen","type-button":"knop","type-buttonSensor":"Knopsensor","type-camera":"camera","type-chart":"Grafiek","type-cie":"CIE-kleurenlicht","type-ct":"Kleurtemperatuur","type-dimmer":"dimmer","type-door":"deur","type-fireAlarm":"brandalarm","type-floodAlarm":"overstromingsalarm","type-gate":"hek","type-hue":"HUE-licht","type-humidity":"vochtigheid","type-illuminance":"Verlichtingssterkte","type-image":"afbeelding","type-info":"informatie","type-instance":"aanleg","type-light":"licht","type-location":"locatie","type-locationOne":"Positie als staat","type-lock":"slot","type-media":"media","type-motion":"beweging","type-rgb":"RGB-licht","type-rgbSingle":"RGB-licht enkel","type-rgbwSingle":"RGBW als enkele waarde","type-slider":"schuifregelaar","type-socket":"stopcontact","type-temperature":"temperatuur","type-thermostat":"thermostaat","type-url":"URL","type-vacuumCleaner":"Stofzuiger","type-valve":"ventiel","type-volume":"volume","type-volumeGroup":"volumegroep","type-warning":"waarschuwing","type-weatherCurrent":"huidige weersomstandigheden","type-weatherForecast":"weersvoorspelling","type-window":"raam","type-windowTilt":"raamkanteling"},Rue={"type-Device type":"Тип пристрою","type-airCondition":"Кондиціонер","type-blind":"жалюзі","type-blindButtons":"Штора керується кнопками","type-button":"кнопку","type-buttonSensor":"Датчик кнопки","type-camera":"камера","type-chart":"Діаграма","type-cie":"Кольорове світло CIE","type-ct":"Колірна температура","type-dimmer":"диммер","type-door":"двері","type-fireAlarm":"пожежна сигналізація","type-floodAlarm":"сигналізація про повінь","type-gate":"ворота","type-hue":"світло HUE","type-humidity":"вологість","type-illuminance":"Освітленість","type-image":"зображення","type-info":"інформація","type-instance":"екземпляр","type-light":"світло","type-location":"розташування","type-locationOne":"Позиція як держави","type-lock":"замок","type-media":"ЗМІ","type-motion":"руху","type-rgb":"RGB світло","type-rgbSingle":"Одиночне світло RGB","type-rgbwSingle":"RGBW як одне значення","type-slider":"повзунок","type-socket":"гніздо","type-temperature":"температура","type-thermostat":"термостат","type-url":"URL","type-vacuumCleaner":"Пилосос","type-valve":"клапан","type-volume":"обсяг","type-volumeGroup":"група обсягів","type-warning":"УВАГА","type-weatherCurrent":"поточна погода","type-weatherForecast":"прогноз погоди","type-window":"вікно","type-windowTilt":"нахил вікна"},Jue={"type-Device type":"设备类型","type-airCondition":"空调","type-blind":"百叶窗","type-blindButtons":"按钮控制百叶窗","type-button":"按钮","type-buttonSensor":"按钮传感器","type-camera":"相机","type-chart":"图表","type-cie":"CIE色光","type-ct":"色温","type-dimmer":"调光器","type-door":"门","type-fireAlarm":"火灾报警","type-floodAlarm":"洪水警报","type-gate":"门","type-hue":"色调灯","type-humidity":"湿度","type-illuminance":"照度","type-image":"图像","type-info":"信息","type-instance":"实例","type-light":"光","type-location":"地点","type-locationOne":"作为一个国家的地位","type-lock":"锁","type-media":"媒体","type-motion":"运动","type-rgb":"RGB灯","type-rgbSingle":"RGB灯单","type-rgbwSingle":"RGBW 作为单一值","type-slider":"滑块","type-socket":"插座","type-temperature":"温度","type-thermostat":"恒温器","type-url":"网址","type-vacuumCleaner":"吸尘器","type-valve":"阀门","type-volume":"体积","type-volumeGroup":"卷组","type-warning":"警告","type-weatherCurrent":"当前天气","type-weatherForecast":"天气预报","type-window":"窗户","type-windowTilt":"窗户倾斜"};function Ta(){d.extendTranslations({en:Yue,de:Que,ru:Uue,pt:vue,pl:bue,fr:$ue,it:Pue,nl:Wue,uk:Rue,"zh-cn":Jue})}const xM={[R.Types.airCondition]:Jce,[R.Types.blind]:SM,[R.Types.blindButtons]:SM,[R.Types.button]:_ue,[R.Types.buttonSensor]:wue,[R.Types.camera]:$ce,[R.Types.chart]:Qce,[R.Types.image]:Bce,[R.Types.dimmer]:oue,[R.Types.door]:pue,[R.Types.fireAlarm]:EM,"sensor.alarm.fire":EM,[R.Types.floodAlarm]:_M,"sensor.alarm.flood":_M,[R.Types.gate]:mue,[R.Types.humidity]:Oue,[R.Types.illuminance]:Cue,[R.Types.info]:Fce,[R.Types.light]:Gce,[R.Types.lock]:Hce,[R.Types.location]:Kce,[R.Types.locationOne]:gue,[R.Types.media]:Xce,[R.Types.motion]:Eue,[R.Types.ct]:pM,[R.Types.rgb]:Ui,[R.Types.rgbSingle]:Ui,[R.Types.rgbwSingle]:hue,[R.Types.hue]:pM,[R.Types.cie]:Ui,[R.Types.slider]:Zce,[R.Types.socket]:Sue,[R.Types.temperature]:xue,[R.Types.thermostat]:fue,[R.Types.vacuumCleaner]:Aue,[R.Types.volume]:eue,[R.Types.volumeGroup]:sue,[R.Types.window]:kue,[R.Types.windowTilt]:ga,[R.Types.weatherCurrent]:mM,[R.Types.weatherForecast]:mM,[R.Types.warning]:hM,[R.Types.unknown]:rue,[R.Types.instance]:iue,invalid:hM,hub3:lue,node:Nue,hub5:aue,controller:nue},Ws={width:32,height:32};function Bue(i){const[e,t]=a.useState(!1);if(b.useEffect(()=>{i.title&&!e&&(Ta(),t(!0))},[i.title]),!e&&i.title)return a.createElement(g.Box,{style:{...Ws,...i.style||void 0},className:i.className,sx:i.sx});const s=i.type||(i.src?Object.keys(xM).find(M=>i.src===M):void 0);if(!s&&i.src)return a.createElement(Ie,{style:Ws,...i,title:i.title===!0?void 0:i.title,src:i.src});const o=s&&xM[s];if(!o)return s?a.createElement("span",{style:{...Ws,...i.style||void 0}},s[0].toUpperCase()):null;const r=a.createElement(o,{style:{...Ws,...i.style||void 0},onClick:i.onClick,className:i.className,sx:i.sx});return i.title?a.createElement(g.Tooltip,{slotProps:{popper:{sx:{pointerEvents:"none"}}},title:i.title===!0?d.t(`type-${s}`):i.title},a.createElement("div",{style:{display:"flex"}},r)):r}const at={itemChildrenWrapper:{display:"flex",width:"100%",justifyContent:"space-between"},type:{marginTop:10},selectIcon:{paddingRight:8,verticalAlign:"middle",width:20,height:20},selectText:{verticalAlign:"middle"},iconWrapper:{display:"flex",alignItems:"center"},iconStyle:{width:16,height:16,margin:"0 3px"},emptyIcon:{width:16,height:16,margin:"0 3px"}};function n4e(i){const[e,t]=a.useState({}),[s,o]=a.useState([]);return b.useEffect(()=>{const r={};Object.keys(R.Types).filter(n=>{var u,N;return(!i.supportedDevices||((u=i.supportedDevices)==null?void 0:u.includes(n)))&&!((N=i.unsupportedDevices)!=null&&N.includes(n))}).forEach(n=>r[n]=d.t(`type-${R.Types[n]}`));const M=Object.keys(r);M.sort((n,u)=>r[n]===r[u]?0:r[n].localeCompare(r[u],"de")),Ta(),o(M),t(r)},[i.supportedDevices,i.unsupportedDevices]),s?a.createElement(g.FormControl,{style:{...at.type,...i.style},sx:i.sx,variant:"standard",error:!!i.error},a.createElement(g.InputLabel,null,i.label||d.t("type-Device type")),a.createElement(g.Select,{variant:"standard",disabled:!!i.disabled,value:i.value,onChange:r=>i.onChange(r.target.value)},s.map(r=>{var M;return a.createElement(g.MenuItem,{key:R.Types[r],value:R.Types[r]},a.createElement("div",{style:at.itemChildrenWrapper},a.createElement("div",null,a.createElement(Bue,{type:R.Types[r],style:{...at.selectIcon,color:i.themeType==="dark"?"#FFFFFF":"#000"}}),a.createElement("span",{style:at.selectText},e[r])),(M=i.showApplications)!=null&&M.TYPE_OPTIONS[r]?a.createElement("div",{style:at.iconWrapper},Object.keys(i.showApplications.TYPE_OPTIONS[r]).map(n=>i.showApplications.TYPE_OPTIONS[r][n]?a.createElement(Ie,{key:n,style:at.iconStyle,src:i.showApplications.ICONS_TYPE[n]}):a.createElement("div",{key:n,style:at.emptyIcon}))):null))}))):a.createElement(g.Box,{style:{...at.type,...i.style},sx:i.sx})}function Fue(i){return v({attr:{version:"1",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48"},child:[{tag:"circle",attr:{fill:"#B2EBF2",cx:"32",cy:"24",r:"9"},child:[]},{tag:"path",attr:{fill:"#4DD0E1",d:"M32,12c-6.6,0-12,5.4-12,12c0,6.6,5.4,12,12,12s12-5.4,12-12C44,17.4,38.6,12,32,12z M32,32 c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S36.4,32,32,32z"},child:[]},{tag:"g",attr:{fill:"#3F51B5"},child:[{tag:"polygon",attr:{points:"25.4,22 19.8,5.1 13.6,27.7 11.4,22 4,22 4,26 8.6,26 14.4,40.3 20.2,18.9 22.6,26 30,26 30,22"},child:[]},{tag:"circle",attr:{cx:"32",cy:"24",r:"4"},child:[]}]}]})(i)}function Gue(i){return v({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4.428 2.727l3.335 3.335c-.486.07-.903.276-1.32.624L.886 12.383c-1.181 1.18-1.181 3.194 0 4.375a2.41 2.41 0 0 0 1.598.834l17.088 3.681-3.335-3.333c.486-.07.903-.278 1.32-.626l5.557-5.695c1.181-1.181 1.181-3.196 0-4.377a2.411 2.411 0 0 0-1.598-.833zM11.653 6.2c.694 0 1.25.486 1.25 1.18 0 .695-.486 1.251-1.181 1.251-.695 0-1.25-.485-1.25-1.18s.555-1.251 1.18-1.251zm1.51 3.792c.049-.006.088.046.088.098-.139.694-.695 1.181-1.39 1.181-.694 0-1.32-.487-1.46-1.112 0 0 .002-.07.071 0 .487.278.972.348 1.32.278.346 0 .833-.07 1.32-.416a.092.092 0 0 1 .05-.029zm.723 2.511c.058.013.06.106.06.158-.209.903-.973 1.666-1.946 1.666a2.167 2.167 0 0 1-2.084-1.528c-.07-.07 0-.138.138-.138.695.347 1.39.416 1.877.416.486 0 1.18-.14 1.875-.556.035-.017.06-.022.08-.018zm.597 3.018c.049-.013.087.09.087.195-.278 1.181-1.25 2.085-2.5 2.155-1.251 0-2.293-.835-2.57-1.946 0-.139.068-.278.207-.209.834.486 1.737.556 2.362.556s1.529-.208 2.362-.694c.018-.035.036-.053.052-.057z"},child:[]}]})(i)}function Hue(i){return v({attr:{version:"1.2",baseProfile:"tiny",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13 5l.855 3.42 3.389-.971 1.501 2.6-2.535 2.449 2.535 2.451-1.5 2.6-3.39-.971-.855 3.422h-3l-.855-3.422-3.39.971-1.501-2.6 2.535-2.451-2.534-2.449 1.5-2.6 3.39.971.855-3.42h3m0-2h-3c-.918 0-1.718.625-1.939 1.516l-.354 1.412-1.4-.4c-.184-.053-.369-.078-.552-.078-.7 0-1.368.37-1.731 1l-1.5 2.6c-.459.796-.317 1.802.342 2.438l1.047 1.011-1.048 1.015c-.66.637-.802 1.643-.343 2.438l1.502 2.6c.363.631 1.031 1 1.731 1 .183 0 .368-.025.552-.076l1.399-.401.354 1.415c.222.885 1.022 1.51 1.94 1.51h3c.918 0 1.718-.625 1.939-1.516l.354-1.414 1.399.4c.184.053.369.077.552.077.7 0 1.368-.37 1.731-1l1.5-2.6c.459-.796.317-1.8-.342-2.438l-1.047-1.013 1.047-1.013c.66-.637.801-1.644.342-2.438l-1.5-2.6c-.365-.631-1.031-1-1.732-1-.184 0-.368.025-.551.076l-1.4.401-.354-1.413c-.22-.884-1.02-1.509-1.938-1.509zM11.5 10.5c1.104 0 2 .895 2 2 0 1.104-.896 2-2 2s-2-.896-2-2c0-1.105.896-2 2-2m0-1c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3-1.346-3-3-3z"},child:[]}]})(i)}function Vue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M7.707 17.707 13.414 12 7.707 6.293 6.293 7.707 10.586 12l-4.293 4.293zM15 6h2v12h-2z"},child:[]}]})(i)}function Zue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M376 211H256V16L136 301h120v195z"},child:[]}]})(i)}function Xue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 32l-64 96 80 16-16 80 64-96-80-16 16-80zm-96 217c-1.9 0-9.8 3-15.8 6.7-2.8 1.7-5.3 3.5-7.2 4.8v119c1.9 1.3 4.4 3.1 7.2 4.8 6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 5.9-3.7 10.6-7.3 10.6-7.3l2.5-2H201V265h-12.1l-2.5-2s-4.7-3.6-10.6-7.3c-6-3.7-13.9-6.7-15.8-6.7zm192 0c-1.9 0-9.8 3-15.8 6.7-5.9 3.7-10.6 7.3-10.6 7.3l-2.5 2H311v110h12.1l2.5 2s4.7 3.6 10.6 7.3c6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 2.8-1.7 5.3-3.5 7.2-4.8v-119c-1.9-1.3-4.4-3.1-7.2-4.8-6-3.7-13.9-6.7-15.8-6.7zm-133 16v110h14V265h-14zm32 0v110h42V265h-42zM95.5 311c-18.8 0-36.6 9.2-49.94 22.7C32.22 347.1 23 365 23 384v106h18V384c0-13 6.78-27.1 17.32-37.7C68.85 335.8 82.8 329 95.5 329H119v-18H95.5zm297.5 0v18h22.9c13.1 0 27.1 6.8 37.7 17.4C464.2 357 471 371 471 384v106h18V384c0-19-9.2-37-22.7-50.4-13.4-13.4-31.4-22.6-50.4-22.6H393z"},child:[]}]})(i)}function Kue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M20.127 52.803v58.986L250.46 245.153c26.367-28.823 70.087-36.533 105.313-16.195 35.29 20.374 50.465 62.207 38.567 99.503l101.648 58.855-64.728-74.65 35.638-37.352-57.27-7.687 84.72-86.92-125.71 33.186 12.995-120.208-66.578 96.363-27.448-80.593-16.353 88.77L20.127 52.803zm0 105.12l-.008.018.007.005v-.02zm0 .022l-.002 87.582 155.344 89.95-89.94 33.287h135.493l-63.658 99.87 116.22-70.083 15.77 85.852 38.543-80.01 63.66 87.018-5.853-87.047 90.54 17.268-102.4-59.198c-26.546 26.964-68.89 33.744-103.183 13.945-34.322-19.816-49.62-59.928-39.49-96.424L20.127 157.945zm316.6 119.442c-.938-.003-1.874.027-2.805.092-12.42.86-24.164 7.707-30.9 19.375-10.78 18.67-4.455 42.27 14.214 53.047 18.67 10.78 42.27 4.455 53.047-14.214 10.78-18.67 4.454-42.27-14.215-53.047-6.125-3.536-12.78-5.23-19.34-5.253z"},child:[]}]})(i)}function que(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M33.125 19.406L135.5 128.22l81-23.157 18.72-5.344-7.564 17.936-46.125 109.78 134.282-70 26.157-13.655L328.436 170 256.5 309.25l91.25-57.125 22.97-14.375-9.22 25.47-34.625 95.624 71-36.375 21.188-10.845L410.906 334l-33.937 93.063 45.124-6.688 4.53-.656 3.313 3.155 64.313 61.47-30.5-80.5 23.313-46.908-72.5 39.532 51.062-141.158-91.188 47.47 72.344-142.813-128.217 82.81L421.875 70.063 239.03 168.69l30.44-99.563-103.845 25.25-132.5-74.97zM18.155 30.78l77.876 108.25-31.124 75.532 94.125-46.78-98.905 166.812 190.25-99.656-101.03 185.406 140.25-79.063-46.94 102.22 106.5-53-45.655 92.28 86.5-14.467 93.47 31.562-63.158-60.344-56.125 8.314-15.53 2.312 5.374-14.75 31.158-85.437-70.907 36.31-21.124 10.814 8.094-22.313 33.47-92.436-97.22 60.875-28.938 18.092L224.22 331l74.06-143.344-131.06 68.313-22.97 12 10.03-23.908 48.626-115.687-67.75 19.375-5.5 1.563-3.875-4.157L18.157 30.78z"},child:[]}]})(i)}function eNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M288.3 13.4c-12.3-.01-23 6.49-27.3 15.31l-2.9 5.95-6.6-1.01c-5.5-.85-11.3-1.32-17.1-1.32-18.8 0-35.7 4.5-47.3 11.14-11.5 6.64-16.9 14.59-16.9 22 0 7.42 5.4 15.37 16.9 22 11.6 6.64 28.5 11.13 47.3 11.13 7.5-.02 14.9-.74 21.8-2.13l6.3-1.23 3.2 5.46c5.6 9.2 23.7 18.2 44.7 18.2 13.9 0 26.4-3.6 34.8-8.8 8.4-5.2 12.2-11.23 12.2-16.9 0-5.09-3-10.48-10-15.44-6.9-4.97-17.6-8.87-30-9.95l-18.3-1.59 12.5-13.49c4.1-4.41 6.1-9.6 6.1-14.87 0-12.88-12.4-24.46-29.4-24.46zM152.2 65.46C84.8 102.3 39 173.9 39 256c0 32.1 7 62.6 19.54 90 5.95-7.9 10.48-13.4 12.67-16C62.05 307.2 57 282.2 57 256c0-74 40.27-138.5 100.1-172.78-3.1-5.39-4.9-11.34-4.9-17.74v-.02zm210.7 1.75c7.5 6.93 12.5 15.9 12.5 25.99 0 1.14-.1 2.27-.2 3.38C423.7 132.9 455 190.7 455 256c0 23.7-4.2 46.5-11.8 67.6l18.3 2.2c7.4-21.9 11.5-45.4 11.5-69.8 0-80.8-44.4-151.5-110.1-188.79zm58.6 270.49c-11.1.2-23 1.1-35.9 3.1l-.5.1-.5.1c-25.8 7.3-37.1 15.2-46.4 24.7l-2.2 2.2-.3 3.1c-3.4 29.6-5.8 60 0 91.8l1.3 6.8 6.8.6c30.6 2.6 58.7 1.4 86.2 0l1-.1.9-.2c18.5-5.2 34.4-12.8 46.4-24.6l1.7-1.6.6-2.2c10-33.4 3.4-63.8.4-92.7l-.8-7.4-7.3-.7c-16.2-1.5-32.8-3.2-51.4-3zM79.62 348.2c-4.94 6.1-11.43 14.5-18.58 25.6-12.29 18.9-22.53 42.4-20.51 54.9 1.43 8.8 6.97 19.6 14.51 27.6 7.54 7.9 16.69 12.8 24.58 12.8 7.87 0 17.03-4.9 24.58-12.8 7.5-8 13.1-18.8 14.5-27.6 2-12.5-8.2-36-20.5-54.9-7.15-11-13.64-19.5-18.58-25.6zM427 355.7c1.7 0 3.3 0 5 .1 5.4.1 10.7.4 16 .8-5.9 3.4-12.1 6.8-19.5 9.9l-2.4.2c-19.5 1.4-37.7.3-55.4-2 4.7-2 10.5-4 18.3-6.2 13.8-2.2 26.3-2.9 38-2.8zm38 11.6c2.8 22.9 5 44.5-1 66.6-7 6.3-16 11.4-27 15.4 3-22.5 2-44.8-.5-66.6 11.3-5 20.2-10.2 28.5-15.4zm-112.2 13.1c20.7 3.2 42.3 5.4 65.8 4.5 2.5 23 3.5 45.6-.4 67.8-21.5 1-43.1 1.5-65.8-.1-3.5-24-2.2-47.9.4-72.2zm-216.4 34.7c.9 5.5 1 11 .1 16.4-.3 1.6-.6 3.3-1 4.9C170 459.5 211.4 473 256 473c21.6 0 42.5-3.2 62.3-9.1l-2-18.2c-19 6-39.3 9.3-60.3 9.3-44.9 0-86.3-14.8-119.6-39.9z"},child:[]}]})(i)}function fM(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M140 29.92c-31.4 0-59.89 3.25-79.89 8.25-9.9 2.5-17.8 5.51-22.4 8.25-3.2 1.87-4.1 3.15-4.5 3.58.4.43 1.3 1.71 4.5 3.58 4.6 2.74 12.5 5.75 22.4 8.25 20 5 48.49 8.25 79.89 8.25h5.7c5.3-2 11.1-3.78 17.6-5.4 20.3-5.08 46.5-8.42 75.8-9.36 1.2-.57 2.3-1.14 3.2-1.7 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zm232 0c-31.4 0-59.9 3.25-79.8 8.25-10 2.5-17.9 5.51-22.5 8.25-3.1 1.87-4.1 3.15-4.5 3.58.4.43 1.4 1.71 4.5 3.58.9.56 2 1.13 3.2 1.7 29.3.94 55.5 4.28 75.8 9.36 6.5 1.62 12.3 3.4 17.6 5.4h5.7c31.4 0 59.9-3.25 79.8-8.25 10-2.5 17.9-5.51 22.5-8.25 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zM33.01 71.44V369.9c0 4.3 1.8 8 6.8 12.3 5 4.3 13.1 8.5 23.3 11.9 15.3 5.1 35 8.5 55.89 9.8V278.3l-16.5 28.6-7.79-4.5c-27.4-15.9-44.3-45.3-44.4-77v-9h52.59c-.6 2.6-.9 5.3-.9 8.1 0 13.1 6.8 24.8 17 31.7v-63.4c-1.9 1.3-3.6 2.7-5.2 4.2l-25.99-45.1 7.8-4.5c7.49-4.2 15.29-7.3 23.39-9.3V87.61c-24.19-1.08-45.99-4.01-63.19-8.32-8.9-2.21-16.5-4.76-22.8-7.85zm445.99 0c-6.3 3.09-14 5.63-22.8 7.84-17.2 4.31-39 7.24-63.2 8.32v50.6c8.1 2 16 5.1 23.4 9.3l7.7 4.5-4.4 7.8-21.5 37.2c-1.6-1.5-3.3-2.9-5.2-4.2v63.4c10.2-6.9 17-18.6 17-31.7 0-2.8-.3-5.5-.9-8.1h50.8v9c0 31.8-17 61.1-44.4 77l-7.8 4.5-14.7-25.5v122.5c20.9-1.3 40.7-4.7 55.9-9.8 10.2-3.4 18.3-7.6 23.3-11.9 5-4.3 6.8-8 6.8-12.3zM256 73c-34.7 0-66.2 3.57-88.3 9.1-11.1 2.77-19.8 6.09-25.1 9.19-4.3 2.58-5.3 4.42-5.5 4.71.2.29 1.2 2.12 5.5 4.7 5.3 3.1 14 6.4 25.1 9.2 22.1 5.5 53.6 9.1 88.3 9.1 34.7 0 66.2-3.6 88.3-9.1 11.1-2.8 19.8-6.1 25.1-9.2 4.3-2.58 5.3-4.41 5.5-4.7-.2-.29-1.2-2.13-5.5-4.71-5.3-3.1-14-6.42-25.1-9.19-22.1-5.53-53.6-9.1-88.3-9.1zm118.9 23c.1.1.1.1.1 0s0-.1-.1 0zm-237.8 0c-.1-.1-.1-.1-.1 0s0 .1.1 0zm-.1 22.1V448c0 5 2.2 9.3 7.9 14.2 5.6 4.8 14.7 9.5 25.9 13.3 22.6 7.5 54 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2V118.1c-7.2 3.7-16 6.6-26.3 9.3-24.2 6-56.7 9.6-92.7 9.6s-68.5-3.6-92.7-9.6c-10.3-2.7-19.1-5.6-26.3-9.3zM256 191c16.8 0 33.5 4.4 48.5 13l7.8 4.5-4.5 7.8-24.1 41.6c-7.3-6.7-17-10.9-27.7-10.9s-20.4 4.2-27.7 10.9l-28.6-49.4 7.8-4.5c15-8.7 31.7-13 48.5-13zm0 74c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm-98 15h57.8c-.5 2.6-.8 5.3-.8 8 0 18.1 12 33.7 28.5 39l-29.2 50.5-7.8-4.5c-30-17.3-48.5-49.4-48.5-84zm138.2 0H352v9c0 34.6-18.5 66.7-48.5 84l-7.8 4.5-28.8-50c17.3-4.8 30.1-20.8 30.1-39.5 0-2.7-.3-5.4-.8-8z"},child:[]}]})(i)}function tNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 54.28c-124.603 0-226 101.398-226 226 0 47.864 14.975 92.293 40.465 128.876l29.79-19.86c-17.188-24.545-28.708-53.362-32.696-84.577H96v-18H66.115c-.07-2.14-.115-4.284-.115-6.44 0-45.378 15.816-86.97 42.236-119.598l17.4 17.4 12.727-12.727-18.133-18.132C152.735 114.057 197.335 92.8 247 90.498v29.22h18V90.5c49.665 2.302 94.265 23.56 126.77 56.725l-18.133 18.132 12.726 12.727 17.4-17.4c26.42 32.63 42.237 74.22 42.237 119.6 0 2.154-.044 4.3-.115 6.437H416v18h28.44c-3.987 31.214-15.507 60.03-32.694 84.575l29.79 19.86C467.025 372.574 482 328.146 482 280.282c0-124.602-101.397-226-226-226zm15.83 66.23a144 160 0 0 1 74.608 100.062l49.966-17.568a160 160 0 0 0-4.3-7.012l-5.135 5.153-30.368-30.29-5.76-5.746 7.85-7.874a160 160 0 0 0-86.862-36.726zm156.15 89.844l-175.332 60.6C240.505 272.618 231 283.155 231 295.72c0 13.7 11.3 25 25 25 6.77 0 12.95-2.764 17.473-7.208L427.98 210.354zm-16.513 32.322l-60.713 40.72a144 160 0 0 1-56.6 108.323h76.057a160 160 0 0 0 39.763-68.572H398.48v-52.515h17.022a160 160 0 0 0-4.035-27.957zM128 421.72v36h256v-36H128z"},child:[]}]})(i)}function sNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.7 21.04l-194.4.41L21.04 159.3l.41 194.4L159.3 491l194.4-.4L491 352.7l-.4-194.4L352.7 21.04zm-8 19.66l126.2 125.7.4 178.3-123.1 123.6-2.6 2.6-178.3.4L41.08 345.6l-.38-178.3L166.4 41.08l178.3-.38zm-7.5 18.01l-163.3.34L58.71 174.8l.34 163.3L174.8 453.3l163.3-.3 115.2-115.8-.3-163.3L337.2 58.71zM108.4 210.4c5.3 0 10.8.5 16.4 1.3 5.7.8 11.5 2 17.5 3.6v20.5c-5.3-2.4-10.5-4.2-15.6-5.4-5.1-1.2-9.9-1.8-14.4-1.8-6 0-10.4.8-13.25 2.5-2.87 1.6-4.3 4.2-4.3 7.7 0 2.6.96 4.6 2.87 6.1 1.95 1.4 5.48 2.7 10.58 3.7l10.6 2.1c10.8 2.2 18.5 5.5 23.1 9.9 4.5 4.5 6.8 10.8 6.8 18.9 0 10.7-3.2 18.7-9.5 24-6.4 5.2-16.1 7.8-29.2 7.8-6.1 0-12.3-.6-18.51-1.8-6.2-1.1-12.41-2.9-18.61-5.2v-21.1c6.2 3.3 12.19 5.8 17.96 7.5 5.82 1.6 11.46 2.4 16.76 2.4 5.5 0 9.7-.9 12.6-2.7 2.9-1.8 4.4-4.4 4.4-7.8 0-3.1-1-5.4-3-7.1-2-1.6-5.9-3.1-11.8-4.4l-9.7-2.1c-9.73-2.1-16.85-5.4-21.37-10-4.47-4.5-6.7-10.7-6.7-18.4 0-9.7 3.12-17.1 9.37-22.3 6.25-5.3 15.24-7.9 27-7.9zm187.7 0c15.6 0 27.8 4.5 36.7 13.5 8.9 8.9 13.3 21.2 13.3 37 0 15.7-4.4 28-13.3 37-8.9 8.9-21.1 13.4-36.7 13.4-15.6 0-27.8-4.5-36.7-13.4-8.9-9-13.3-21.3-13.3-37 0-15.8 4.4-28.1 13.3-37 8.9-9 21.1-13.5 36.7-13.5zm-141.9 1.8h89.6v18.9h-32.2v78.3h-25.1v-78.3h-32.3v-18.9zm205.8 0h41.6c12.3 0 21.8 2.8 28.4 8.3 6.7 5.4 10 13.2 10 23.4s-3.3 18.1-10 23.6c-6.6 5.4-16.1 8.2-28.4 8.2H385v33.7h-25v-97.2zm-63.9 16.4c-7.7 0-13.6 2.8-17.8 8.5-4.2 5.6-6.3 13.6-6.3 23.8 0 10.2 2.1 18.1 6.3 23.8 4.2 5.6 10.1 8.4 17.8 8.4 7.7 0 13.6-2.8 17.8-8.4 4.2-5.7 6.3-13.6 6.3-23.8 0-10.2-2.1-18.2-6.3-23.8-4.2-5.7-10.1-8.5-17.8-8.5zm88.9 1.8v27.1h13.9c4.9 0 8.6-1.2 11.3-3.5 2.6-2.4 3.9-5.8 3.9-10.1s-1.3-7.7-3.9-10c-2.7-2.4-6.4-3.5-11.3-3.5H385z"},child:[]}]})(i)}function iNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M327.467 19.992c.748 14.94 2.317 51.268 2.59 98.76 3.474-.286 6.557-.381 9.72 1.08 18.04 8.345 27.243 29.326 27.026 50.506-.217 21.18-11.283 44.136-36.104 54.307a41.62 41.62 0 0 1-2.486.923c-3.408 80.504-12.307 166.37-33.754 225.5-6.876 15.831-17.029 29.217-26.828 40.94l55.27.422c20.676-12.19 32.041-27.395 36.32-46.407l17.558 3.954c-3.67 16.312-11.99 30.662-24.511 42.677l143.052 1.094c-5.13-14.524-16.16-46.501-20.357-70.217C451.89 293.171 450.15 45 450.025 19.992zM18.279 38.984l.881 18.725c17.856 12.047 32.035 23.91 45.969 35.527 12.887-11.156 2.404-29.725-5.82-39.091-13.668-5.346-27.335-10.467-41.03-15.16zM86.723 65.13c4.77 14.56 3.347 29.656-7.477 39.746 24.105 19.479 50.832 38.151 97.1 55.635 13.836-22.588 12.08-43.852-3.338-60.739-29.03-10.9-57.703-22.997-86.285-34.642zm-31.721 42.988V400h17.996V122.723c-6.187-4.856-12.114-9.73-17.996-14.606zm145.264 1.434c3.253 8.283 4.54 16.754 3.982 25.043-.765 11.35-4.673 22.135-10.545 32.095 16.926 5.691 36.192 11.248 58.451 16.655l2.604.633 1.834 1.953c9.223 9.826 22.535 17.206 35.469 21.006 12.933 3.8 25.473 3.655 31.814 1.056 18.024-7.385 24.773-22.363 24.932-37.84.152-14.822-7.069-28.554-15.479-33.306-45.88-1.699-89.948-12.607-133.062-27.295zm-33.264 66.476V400h17.996V182.605a502.784 502.784 0 0 1-17.996-6.578zM32 419.002v17.996h176v-17.996z"},child:[]}]})(i)}function oNe(i){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M18.36 6.64a9 9 0 1 1-12.73 0"},child:[]},{tag:"line",attr:{x1:"12",y1:"2",x2:"12",y2:"12"},child:[]}]})(i)}function rNe(i){return v({attr:{fill:"none",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"},child:[]}]})(i)}function MNe(i){return v({attr:{version:"1.1",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M6 0l-6 8h6l-4 8 14-10h-8l6-6z"},child:[]}]})(i)}const a4e={SET:fce,WORKING:CM,UNREACH:wM,LOWBAT:AM,MAINTAIN:jue,ERROR:Mue,DIRECTION:Lue,CONNECTED:wM,ACTUAL:Hue,SECOND:Vue,PRESS_LONG:Pce,PRESS:Wce,MUTE:tue,ACCURACY:Kue,RADIUS:vce,ELEVATION:kce,LATITUDE:Yce,LONGITUDE:bce,GPS:uue,ON_ACTUAL:IM,ON_SET:IM,OPEN:Rce,STOP:sNe,WATER_ALARM:OM,WASTE_ALARM:fM,PAUSE:xce,STATE:eNe,BATTERY:AM,WASTE:fM,WATER:OM,WORK_MODE:CM,MODE:cue,POWER:Uce,BOOST:Gue,HUMIDITY:Due,TEMPERATURE:zue,BRIGHTNESS:Tue,MOTION:Vce,FIRE:yue,WINDOW:ga,SMOKE:due,SWING:iNe,SPEED:tNe,DIMMER:rNe,ON:oNe,COLOR_TEMP:qce,ELECTRIC_POWER:MNe,CURRENT:Zue,VOLTAGE:Xue,CONSUMPTION:Fue,FREQUENCY:que,HUE:Iue};class ya extends a.Component{static generateFile(e,t){const s=window.document.createElement("a");s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),s.setAttribute("download",e),s.style.display="none",window.document.body.appendChild(s),s.click(),window.document.body.removeChild(s)}handleFileSelect=e=>{const t=e.target,s=t==null?void 0:t.files;if(!s||!s.length){console.error("No files found. Please report to developers");return}const o=s[0];if(o){const r=new window.FileReader;r.onload=()=>{var n;const M=((n=r.result)==null?void 0:n.toString())||"";try{const u=JSON.parse(M);u.native&&u.common?u.common.name!==this.props.common.name?this.props.onError&&this.props.onError(d.t("ra_otherConfig",u.common.name)):this.props.onLoad&&this.props.onLoad(u.native):this.props.onError&&this.props.onError(d.t("ra_invalidConfig"))}catch(u){this.props.onError&&this.props.onError(u==null?void 0:u.toString())}},r.readAsText(o)}else alert("Failed to open JSON File")};download(){const e={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};e.common.news&&delete e.common.news,e.common.titleLang&&delete e.common.titleLang,e.common.desc&&delete e.common.desc,ya.generateFile(`${e._id}.json`,e)}upload(){const e=window.document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",this.handleFileSelect,!1),e.click()}render(){return a.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?a.createElement(Ie,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?a.createElement(g.Fab,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{const e=window.open(this.props.common.readme,"_blank");e==null||e.focus()}},a.createElement(m.Help,null)):null,a.createElement(g.Fab,{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()},a.createElement(m.VerticalAlignTop,null)),a.createElement(g.Fab,{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()},a.createElement(m.VerticalAlignBottom,null)))}}class Da{static text2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static getTitle(e){const t=Da.extractHeader(e);let s=t.body;const o=t.header;if(!o.title){s=s.replace(/{[^}]*}/g,""),s=s.trim();const r=s.replace(/\r/g,"").split(` + C231.591,212.679,237.828,191.414,234.21,169.856z`})))}function Ui(i){return n.createElement("svg",{viewBox:"1 -10 511.99999 511",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M 405.5 150 C 405.5 232.566406 338.566406 299.5 256 299.5 C 173.433594 299.5 106.5 232.566406 106.5 150 C 106.5 67.433594 173.433594 0.5 256 0.5 C 338.566406 0.5 405.5 67.433594 405.5 150 Z M 405.5 150 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(25.882353%,75.294118%,88.627451%)",fillOpacity:1}}),n.createElement("path",{d:"M 512 342.921875 C 512 425.488281 445.066406 492.421875 362.5 492.421875 C 279.933594 492.421875 213 425.488281 213 342.921875 C 213 260.355469 279.933594 193.421875 362.5 193.421875 C 445.066406 193.421875 512 260.355469 512 342.921875 Z M 512 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,81.568627%,38.039216%)",fillOpacity:1}}),n.createElement("path",{d:"M 220.746094 295.308594 C 232.050781 298.039062 243.855469 299.5 256 299.5 C 321.917969 299.5 377.871094 256.835938 397.753906 197.613281 C 386.449219 194.878906 374.644531 193.421875 362.5 193.421875 C 296.582031 193.421875 240.628906 236.085938 220.746094 295.308594 Z M 220.746094 295.308594 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(28.627451%,74.117647%,56.470588%)",fillOpacity:1}}),n.createElement("path",{d:"M 299 342.921875 C 299 425.488281 232.066406 492.421875 149.5 492.421875 C 66.933594 492.421875 0 425.488281 0 342.921875 C 0 260.355469 66.933594 193.421875 149.5 193.421875 C 232.066406 193.421875 299 260.355469 299 342.921875 Z M 299 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(98.039216%,43.921569%,69.803922%)",fillOpacity:1}}),n.createElement("path",{d:"M 114.246094 197.613281 C 134.128906 256.835938 190.082031 299.5 256 299.5 C 268.144531 299.5 279.949219 298.039062 291.253906 295.308594 C 271.371094 236.085938 215.417969 193.421875 149.5 193.421875 C 137.355469 193.421875 125.550781 194.878906 114.246094 197.613281 Z M 114.246094 197.613281 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(68.627451%,48.235294%,77.647059%)",fillOpacity:1}}),n.createElement("path",{d:"M 213 342.921875 C 213 383.800781 229.414062 420.839844 256 447.828125 C 282.585938 420.839844 299 383.800781 299 342.921875 C 299 302.042969 282.585938 265.003906 256 238.015625 C 229.414062 265.003906 213 302.042969 213 342.921875 Z M 213 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(93.72549%,38.039216%,13.333333%)",fillOpacity:1}}),n.createElement("path",{d:"M 291.253906 295.320312 C 279.949219 298.046875 268.140625 299.5 256 299.5 C 243.859375 299.5 232.050781 298.046875 220.746094 295.320312 C 228.058594 273.542969 240.242188 254.015625 256 238.015625 C 271.757812 254.015625 283.941406 273.542969 291.253906 295.320312 Z M 291.253906 295.320312 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,100%,100%)",fillOpacity:1}})))}function fue(i){return n.createElement("svg",{width:32,height:32,viewBox:"0 0 365.445 365.445",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M146.7 162.775h-26.8a6.655 6.655 0 0 0-6.647 6.647v26.602a6.653 6.653 0 0 0 6.647 6.646h26.8a6.654 6.654 0 0 0 6.647-6.646v-26.602a6.655 6.655 0 0 0-6.647-6.647zM245.547 162.775h-26.801a6.653 6.653 0 0 0-6.646 6.647v26.602a6.652 6.652 0 0 0 6.646 6.646h26.801a6.654 6.654 0 0 0 6.646-6.646v-26.602a6.655 6.655 0 0 0-6.646-6.647z"})),n.createElement("path",{d:"M345.445 1.204H20c-11.046 0-20 8.954-20 20v323.037c0 11.045 8.954 20 20 20h325.445c11.045 0 20-8.955 20-20V21.204c0-11.045-8.953-20-20-20zM182.723 287.66c-57.955 0-104.937-46.981-104.937-104.937 0-57.957 46.982-104.938 104.937-104.938S287.66 124.767 287.66 182.723 240.678 287.66 182.723 287.66z",fill:"currentColor"}))}function kue(i){return n.createElement("svg",{width:32,height:32,viewBox:"0 0 45.659 45.659",...i},n.createElement("path",{fill:"currentColor",d:"M30.619 27.309V7.781C30.619 3.49 27.124 0 22.833 0c-4.29 0-7.785 3.491-7.785 7.78v19.528a10.722 10.722 0 0 0-3.05 7.522c0 5.972 4.857 10.828 10.829 10.828 5.97 0 10.834-4.856 10.834-10.828 0-2.918-1.141-5.572-3.042-7.521zM22.825 42.66c-4.316 0-7.824-3.512-7.824-7.828 0-2.527 1.174-4.779 3.077-6.211V16.237h3.372c.552 0 1-.47 1-1.022 0-.553-.448-1.021-1-1.021h-3.372v-2.466h3.372c.552 0 1-.434 1-.986a.989.989 0 0 0-1-.986h-3.372V7.78c0-2.636 2.119-4.78 4.754-4.78 2.637 0 4.756 2.144 4.756 4.781v20.871c1.903 1.434 3.047 3.671 3.047 6.18 0 4.316-3.494 7.828-7.81 7.828z"}),n.createElement("path",{fill:"currentColor",d:"M25.334 30.463V18.632h-5.002v11.831a4.973 4.973 0 0 0-2.537 4.369 5.038 5.038 0 0 0 5.038 5.046 5.034 5.034 0 0 0 5.034-5.046c0-1.866-.982-3.495-2.533-4.369z"}))}function Yue(i){return n.createElement("svg",{viewBox:"0 0 297 297",...i},n.createElement("g",null,n.createElement("path",{fill:"currentColor",d:"m243.404,138.042c-5.775,0-10.458,4.683-10.458,10.458 0,46.564-37.883,84.446-84.446,84.446s-84.446-37.882-84.446-84.446 37.883-84.446 84.446-84.446c5.775,0 10.458-4.683 10.458-10.458s-4.683-10.457-10.458-10.457c-58.097,0-105.361,47.265-105.361,105.361s47.264,105.361 105.361,105.361 105.361-47.264 105.361-105.361c0-5.775-4.681-10.458-10.457-10.458z"}),n.createElement("path",{fill:"currentColor",d:"m142.963,121.344l-20.272-30.41c-3.203-4.807-9.695-6.104-14.502-2.9-4.805,3.202-6.104,9.695-2.9,14.502l20.279,30.422c-3.015,4.436-4.78,9.787-4.78,15.543 0,15.281 12.432,27.713 27.713,27.713 15.281,0 27.713-12.432 27.713-27.713 0-15.281-12.432-27.713-27.713-27.713-1.897-0.001-3.749,0.191-5.538,0.556zm12.335,27.156c0,3.748-3.05,6.798-6.798,6.798s-6.798-3.05-6.798-6.798 3.05-6.798 6.798-6.798 6.798,3.05 6.798,6.798z"}),n.createElement("path",{fill:"currentColor",d:"M148.5,0C66.617,0,0,66.617,0,148.5S66.617,297,148.5,297S297,230.383,297,148.5S230.383,0,148.5,0z M158.958,275.653 v-6.366c0-5.775-4.683-10.458-10.458-10.458c-5.775,0-10.458,4.683-10.458,10.458v6.366 c-62.027-5.056-111.64-54.668-116.695-116.695h6.366c5.775,0,10.458-4.683,10.458-10.458s-4.683-10.458-10.458-10.458h-6.366 c5.056-62.027,54.668-111.64,116.695-116.695v6.366c0,5.775,4.683,10.458,10.458,10.458c5.775,0,10.458-4.683,10.458-10.458v-6.366 c62.027,5.056,111.64,54.668,116.695,116.695h-6.366c-5.775,0-10.458,4.683-10.458,10.458s4.683,10.458,10.458,10.458h6.366 C270.598,220.985,220.985,270.598,158.958,275.653z"})))}function Que(i){return n.createElement("svg",{viewBox:"0 0 361 361",...i},n.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M228.5 205.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H228.5c-2.726 0-5 2.274-5 5s2.274 5 5 5z",fill:"currentColor"}),n.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M232.826 280.905c-.339 3.356-18.813-.782-20.919-1.06l-45.073-5.94-45.074-5.94-14.507-1.912c-1.456-.192-6.201-.055-6.412-2.147-.621-6.157 0-12.699 0-18.878v-43.5-82.076-5.13c0-2.551 5.184-1.015 6.412-.853l35.438 4.67 83.723 11.035c1.457.192 6.201.055 6.412 2.147.169 1.673 0 3.451 0 5.13v144.454c0 6.448 10 6.448 10 0V136.451v-5.13c0-7.619-6.137-10.793-12.673-11.655l-28.531-3.76-88.411-11.652-9.897-1.304c-6.555-.864-12.473 4.9-12.473 11.38v144.832c0 2.023-.071 4.04.132 6.053.717 7.111 6.606 9.563 12.759 10.374l76.827 10.125 39.896 5.259 9.697 1.278c7.063.931 12.011-4.778 12.673-11.346.648-6.415-9.358-6.352-9.999 0z",fill:"currentColor"}))}function ya(i){return n.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...i},n.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9zM265.732 265.178c.584 2.887-1.629 5.228-4.942 5.228H103.457c-3.313 0-6.474-2.341-7.058-5.228L75.24 130.633c-.584-2.887 1.628-5.228 4.942-5.228h157.333c3.313 0 6.474 2.34 7.058 5.228l21.159 134.545z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M247.194 199.667h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5h-6.639c-2.726 0-5 2.274-5 5s2.275 5 5 5z",fill:"currentColor"}))}const Uue={"type-Device type":"Device type","type-airCondition":"Air conditioner","type-blind":"Blinds","type-blindButtons":"Blind controlled by buttons","type-button":"Button","type-buttonSensor":"Button with feedback","type-camera":"Camera","type-chart":"Chart","type-cie":"CIE color light","type-ct":"Color temperature","type-dimmer":"Dimmer","type-door":"Door","type-fireAlarm":"Fire alarm","type-floodAlarm":"Flood alarm","type-gate":"Gate","type-hue":"HUE light","type-humidity":"Humidity","type-illuminance":"Illuminance","type-image":"Image","type-info":"Information","type-instance":"Instance","type-light":"Light","type-location":"Position","type-locationOne":"Position as one state","type-lock":"Lock","type-media":"Media-player","type-motion":"Motion sensor","type-rgb":"RGB light","type-rgbSingle":"R,G,B light - single states","type-rgbwSingle":"R,G,B,W light - single states","type-slider":"Slider","type-socket":"Socket","type-temperature":"Temperature","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Vacuum cleaner","type-valve":"Valve","type-volume":"Volume","type-volumeGroup":"Volume group","type-warning":"Warning","type-weatherCurrent":"Current weather","type-weatherForecast":"Weather forecast","type-window":"Window sensor","type-windowTilt":"Window tilt sensor"},vue={"type-Device type":"Gerätetyp","type-airCondition":"Klimaanlage","type-blind":"Jalousien","type-blindButtons":"Jalousie über Tasten gesteuert","type-button":"Taste","type-buttonSensor":"Taste mit Rückmeldung","type-camera":"Kamera","type-chart":"Diagramm","type-cie":"CIE Farblicht","type-ct":"Farbtemperatur","type-dimmer":"Dimmer","type-door":"Türsensor","type-fireAlarm":"Feueralarm","type-floodAlarm":"Wasseralarm","type-gate":"Tor-Steuerung","type-hue":"HUE-Licht","type-humidity":"Feuchtigkeit","type-illuminance":"Beleuchtungsstärke","type-image":"Bild","type-info":"Information","type-instance":"Instanz","type-light":"Licht","type-location":"Position","type-locationOne":"Position als ein Zustand","type-lock":"Schloss","type-media":"Mediaplayer","type-motion":"Bewegungssensor","type-rgb":"RGB-Licht","type-rgbSingle":"R,G,B-Licht Einzelwerte","type-rgbwSingle":"R,G,B,W-Licht Einzelwerte","type-slider":"Schieberegler","type-socket":"Steckdose","type-temperature":"Temperatur","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Staubsauger","type-valve":"Ventil","type-volume":"Lautstärke","type-volumeGroup":"Lautstärke-Gruppe","type-warning":"Warnung","type-weatherCurrent":"Aktuelle Wetterlage","type-weatherForecast":"Wettervorhersage","type-window":"Fenstersensor","type-windowTilt":"Fensterkippung-Sensor"},bue={"type-Device type":"Тип устройства","type-airCondition":"Кондиционер","type-blind":"Рольставни/Жалюзи","type-blindButtons":"Жалюзи управляющиеся кнопками","type-button":"Кнопка","type-buttonSensor":"Кнопка с обратной связью","type-camera":"Камера","type-chart":"Диаграмма","type-cie":"CIE свет","type-ct":"Цветовая температура","type-dimmer":"Диммер","type-door":"Датчик положения двери","type-fireAlarm":"Датчик дыма","type-floodAlarm":"Датчик затопления","type-gate":"Ворота","type-hue":"HUE свет","type-humidity":"Влажность","type-illuminance":"Освещенность","type-image":"Изображение","type-info":"Информация","type-instance":"Инстанция","type-light":"Свет","type-location":"Местоположение","type-locationOne":"Позиция в одном состоянии","type-lock":"Замок","type-media":"Медиа-плейер","type-motion":"Датчик движения","type-rgb":"RGB свет","type-rgbSingle":"R,G,B как отдельные значение","type-rgbwSingle":"R,G,B,W как отдельные значение","type-slider":"Ползунок","type-socket":"Розетка","type-temperature":"Температура","type-thermostat":"Термостат","type-url":"URL","type-vacuumCleaner":"Пылесос","type-valve":"Вентиль","type-volume":"Громкость","type-volumeGroup":"Группа громкости","type-warning":"Предупреждение","type-weatherCurrent":"Актуальная погода","type-weatherForecast":"Прогноз погоды","type-window":"Датчик открытия окна","type-windowTilt":"Датчик наклона окна"},$ue={"type-Device type":"Tipo de dispositivo","type-airCondition":"Ar condicionado","type-blind":"persianas","type-blindButtons":"Persiana controlada por botões","type-button":"botão","type-buttonSensor":"Sensor de botão","type-camera":"câmera","type-chart":"Gráfico","type-cie":"Luz colorida CIE","type-ct":"Temperatura de cor","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"alarme de incêndio","type-floodAlarm":"alarme de inundação","type-gate":"portão","type-hue":"Luz HUE","type-humidity":"umidade","type-illuminance":"Iluminância","type-image":"imagem","type-info":"informação","type-instance":"exemplo","type-light":"luz","type-location":"localização","type-locationOne":"Posição como um estado","type-lock":"trancar","type-media":"mídia","type-motion":"movimento","type-rgb":"Luz RGB","type-rgbSingle":"Luz RGB única","type-rgbwSingle":"RGBW como valor único","type-slider":"controle deslizante","type-socket":"soquete","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirador de pó","type-valve":"válvula","type-volume":"volume","type-volumeGroup":"grupo de volume","type-warning":"aviso","type-weatherCurrent":"clima atual","type-weatherForecast":"previsão do tempo","type-window":"janela","type-windowTilt":"inclinação da janela"},Pue={"type-Device type":"Typ urządzenia","type-airCondition":"Klimatyzator","type-blind":"żaluzje","type-blindButtons":"Roleta sterowana przyciskami","type-button":"przycisk","type-buttonSensor":"Czujnik przycisku","type-camera":"kamera","type-chart":"Wykres","type-cie":"Światło kolorowe CIE","type-ct":"Temperatura barwowa","type-dimmer":"opornik","type-door":"drzwi","type-fireAlarm":"alarm pożarowy","type-floodAlarm":"alarm przeciwpowodziowy","type-gate":"brama","type-hue":"Światło HUE","type-humidity":"wilgotność","type-illuminance":"Natężenie oświetlenia","type-image":"obraz","type-info":"Informacje","type-instance":"przykład","type-light":"światło","type-location":"lokalizacja","type-locationOne":"Pozycja jako państwa","type-lock":"zamek","type-media":"głoska bezdźwięczna","type-motion":"ruch","type-rgb":"Światło RGB","type-rgbSingle":"Pojedyncze światło RGB","type-rgbwSingle":"RGBW jako pojedyncza wartość","type-slider":"suwak","type-socket":"gniazdo","type-temperature":"temperatura","type-thermostat":"termostat","type-url":"Adres URL","type-vacuumCleaner":"Odkurzacz","type-valve":"zawór","type-volume":"tom","type-volumeGroup":"grupa woluminów","type-warning":"ostrzeżenie","type-weatherCurrent":"aktualna pogoda","type-weatherForecast":"prognoza pogody","type-window":"okno","type-windowTilt":"pochylenie okna"},Wue={"type-Device type":"Type d'appareil","type-airCondition":"Climatiseur","type-blind":"stores","type-blindButtons":"Store commandé par boutons","type-button":"bouton","type-buttonSensor":"Capteur de bouton","type-camera":"caméra","type-chart":"Graphique","type-cie":"lumière colorée CIE","type-ct":"Température de couleur","type-dimmer":"variateur","type-door":"porte","type-fireAlarm":"alarme incendie","type-floodAlarm":"alarme d'inondation","type-gate":"grille","type-hue":"Lumière HUE","type-humidity":"humidité","type-illuminance":"Éclairement","type-image":"image","type-info":"informations","type-instance":"exemple","type-light":"lumière","type-location":"emplacement","type-locationOne":"Position en tant qu'État","type-lock":"verrouillage","type-media":"médias","type-motion":"mouvement","type-rgb":"lumière RVB","type-rgbSingle":"Lumière RVB simple","type-rgbwSingle":"RGBW comme valeur unique","type-slider":"curseur","type-socket":"douille","type-temperature":"température","type-thermostat":"thermostat","type-url":"URL","type-vacuumCleaner":"Aspirateur","type-valve":"soupape","type-volume":"volume","type-volumeGroup":"groupe de volumes","type-warning":"avertissement","type-weatherCurrent":"météo actuelle","type-weatherForecast":"prévisions météorologiques","type-window":"fenêtre","type-windowTilt":"inclinaison de la fenêtre"},Rue={"type-Device type":"Tipo di dispositivo","type-airCondition":"Condizionatore d'aria","type-blind":"tende","type-blindButtons":"Tenda controllata da pulsanti","type-button":"pulsante","type-buttonSensor":"Sensore del pulsante","type-camera":"telecamera","type-chart":"Grafico","type-cie":"Luce colorata CIE","type-ct":"Temperatura del colore","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"allarme antincendio","type-floodAlarm":"allarme allagamento","type-gate":"cancello","type-hue":"Luce HUE","type-humidity":"umidità","type-illuminance":"Illuminamento","type-image":"immagine","type-info":"informazioni","type-instance":"esempio","type-light":"leggero","type-location":"posizione","type-locationOne":"Posizione come stato","type-lock":"serratura","type-media":"media","type-motion":"movimento","type-rgb":"luce RGB","type-rgbSingle":"Luce RGB singola","type-rgbwSingle":"RGBW come valore singolo","type-slider":"cursore","type-socket":"PRESA","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirapolvere","type-valve":"valvola","type-volume":"volume","type-volumeGroup":"gruppo di volumi","type-warning":"avvertimento","type-weatherCurrent":"meteo attuale","type-weatherForecast":"previsioni del tempo","type-window":"finestra","type-windowTilt":"inclinazione della finestra"},Jue={"type-Device type":"Apparaattype","type-airCondition":"Airconditioner","type-blind":"jaloezieën","type-blindButtons":"Jaloezie bediend door knoppen","type-button":"knop","type-buttonSensor":"Knopsensor","type-camera":"camera","type-chart":"Grafiek","type-cie":"CIE-kleurenlicht","type-ct":"Kleurtemperatuur","type-dimmer":"dimmer","type-door":"deur","type-fireAlarm":"brandalarm","type-floodAlarm":"overstromingsalarm","type-gate":"hek","type-hue":"HUE-licht","type-humidity":"vochtigheid","type-illuminance":"Verlichtingssterkte","type-image":"afbeelding","type-info":"informatie","type-instance":"aanleg","type-light":"licht","type-location":"locatie","type-locationOne":"Positie als staat","type-lock":"slot","type-media":"media","type-motion":"beweging","type-rgb":"RGB-licht","type-rgbSingle":"RGB-licht enkel","type-rgbwSingle":"RGBW als enkele waarde","type-slider":"schuifregelaar","type-socket":"stopcontact","type-temperature":"temperatuur","type-thermostat":"thermostaat","type-url":"URL","type-vacuumCleaner":"Stofzuiger","type-valve":"ventiel","type-volume":"volume","type-volumeGroup":"volumegroep","type-warning":"waarschuwing","type-weatherCurrent":"huidige weersomstandigheden","type-weatherForecast":"weersvoorspelling","type-window":"raam","type-windowTilt":"raamkanteling"},Bue={"type-Device type":"Тип пристрою","type-airCondition":"Кондиціонер","type-blind":"жалюзі","type-blindButtons":"Штора керується кнопками","type-button":"кнопку","type-buttonSensor":"Датчик кнопки","type-camera":"камера","type-chart":"Діаграма","type-cie":"Кольорове світло CIE","type-ct":"Колірна температура","type-dimmer":"диммер","type-door":"двері","type-fireAlarm":"пожежна сигналізація","type-floodAlarm":"сигналізація про повінь","type-gate":"ворота","type-hue":"світло HUE","type-humidity":"вологість","type-illuminance":"Освітленість","type-image":"зображення","type-info":"інформація","type-instance":"екземпляр","type-light":"світло","type-location":"розташування","type-locationOne":"Позиція як держави","type-lock":"замок","type-media":"ЗМІ","type-motion":"руху","type-rgb":"RGB світло","type-rgbSingle":"Одиночне світло RGB","type-rgbwSingle":"RGBW як одне значення","type-slider":"повзунок","type-socket":"гніздо","type-temperature":"температура","type-thermostat":"термостат","type-url":"URL","type-vacuumCleaner":"Пилосос","type-valve":"клапан","type-volume":"обсяг","type-volumeGroup":"група обсягів","type-warning":"УВАГА","type-weatherCurrent":"поточна погода","type-weatherForecast":"прогноз погоди","type-window":"вікно","type-windowTilt":"нахил вікна"},Fue={"type-Device type":"设备类型","type-airCondition":"空调","type-blind":"百叶窗","type-blindButtons":"按钮控制百叶窗","type-button":"按钮","type-buttonSensor":"按钮传感器","type-camera":"相机","type-chart":"图表","type-cie":"CIE色光","type-ct":"色温","type-dimmer":"调光器","type-door":"门","type-fireAlarm":"火灾报警","type-floodAlarm":"洪水警报","type-gate":"门","type-hue":"色调灯","type-humidity":"湿度","type-illuminance":"照度","type-image":"图像","type-info":"信息","type-instance":"实例","type-light":"光","type-location":"地点","type-locationOne":"作为一个国家的地位","type-lock":"锁","type-media":"媒体","type-motion":"运动","type-rgb":"RGB灯","type-rgbSingle":"RGB灯单","type-rgbwSingle":"RGBW 作为单一值","type-slider":"滑块","type-socket":"插座","type-temperature":"温度","type-thermostat":"恒温器","type-url":"网址","type-vacuumCleaner":"吸尘器","type-valve":"阀门","type-volume":"体积","type-volumeGroup":"卷组","type-warning":"警告","type-weatherCurrent":"当前天气","type-weatherForecast":"天气预报","type-window":"窗户","type-windowTilt":"窗户倾斜"};let xM=!1;function Da(){xM||(xM=!0,d.extendTranslations({en:Uue,de:vue,ru:bue,pt:$ue,pl:Pue,fr:Wue,it:Rue,nl:Jue,uk:Bue,"zh-cn":Fue}))}const fM={[R.Types.airCondition]:Fce,[R.Types.blind]:SM,[R.Types.blindButtons]:SM,[R.Types.button]:xue,[R.Types.buttonSensor]:hue,[R.Types.camera]:Wce,[R.Types.chart]:vce,[R.Types.image]:Gce,[R.Types.dimmer]:Mue,[R.Types.door]:Oue,[R.Types.fireAlarm]:EM,"sensor.alarm.fire":EM,[R.Types.floodAlarm]:_M,"sensor.alarm.flood":_M,[R.Types.gate]:Eue,[R.Types.humidity]:_ue,[R.Types.illuminance]:Aue,[R.Types.info]:Hce,[R.Types.light]:Vce,[R.Types.lock]:Zce,[R.Types.location]:eue,[R.Types.locationOne]:yue,[R.Types.media]:qce,[R.Types.motion]:Sue,[R.Types.ct]:pM,[R.Types.rgb]:Ui,[R.Types.rgbSingle]:Ui,[R.Types.rgbwSingle]:pue,[R.Types.hue]:pM,[R.Types.cie]:Ui,[R.Types.slider]:Kce,[R.Types.socket]:fue,[R.Types.temperature]:kue,[R.Types.thermostat]:Yue,[R.Types.vacuumCleaner]:mue,[R.Types.volume]:sue,[R.Types.volumeGroup]:oue,[R.Types.window]:Que,[R.Types.windowTilt]:ya,[R.Types.weatherCurrent]:mM,[R.Types.weatherForecast]:mM,[R.Types.warning]:hM,[R.Types.unknown]:nue,[R.Types.instance]:rue,invalid:hM,hub3:jue,node:Lue,hub5:uue,controller:cue},Ws={width:32,height:32};function Gue(i){const[e,t]=n.useState(!1);if(b.useEffect(()=>{i.title&&!e&&(Da(),t(!0))},[i.title,e]),!e&&i.title)return n.createElement(g.Box,{style:{...Ws,...i.style||void 0},className:i.className,sx:i.sx});const s=i.type||(i.src?Object.keys(fM).find(M=>i.src===M):void 0);if(!s&&i.src)return n.createElement(Ie,{style:Ws,...i,title:i.title===!0?void 0:i.title,src:i.src});const o=s&&fM[s];if(!o)return s?n.createElement("span",{style:{...Ws,...i.style||void 0}},s[0].toUpperCase()):null;const r=n.createElement(o,{style:{...Ws,...i.style||void 0},onClick:i.onClick,className:i.className,sx:i.sx});return i.title?n.createElement(g.Tooltip,{slotProps:{popper:{sx:{pointerEvents:"none"}}},title:i.title===!0?d.t(`type-${s}`):i.title},n.createElement("div",{style:{display:"flex"}},r)):r}const at={itemChildrenWrapper:{display:"flex",width:"100%",justifyContent:"space-between"},type:{marginTop:10},selectIcon:{paddingRight:8,verticalAlign:"middle",width:20,height:20},selectText:{verticalAlign:"middle"},iconWrapper:{display:"flex",alignItems:"center"},iconStyle:{width:16,height:16,margin:"0 3px"},emptyIcon:{width:16,height:16,margin:"0 3px"}};function c4e(i){const[e,t]=n.useState({}),[s,o]=n.useState([]);return b.useEffect(()=>{const r={};Object.keys(R.Types).filter(a=>{var u,N;return(!i.supportedDevices||((u=i.supportedDevices)==null?void 0:u.includes(a)))&&!((N=i.unsupportedDevices)!=null&&N.includes(a))}).forEach(a=>r[a]=d.t(`type-${R.Types[a]}`));const M=Object.keys(r);M.sort((a,u)=>r[a]===r[u]?0:r[a].localeCompare(r[u],"de")),Da(),o(M),t(r)},[i.supportedDevices,i.unsupportedDevices]),s?n.createElement(g.FormControl,{style:{...at.type,...i.style},sx:i.sx,variant:"standard",error:!!i.error},n.createElement(g.InputLabel,null,i.label||d.t("type-Device type")),n.createElement(g.Select,{variant:"standard",disabled:!!i.disabled,value:i.value,onChange:r=>i.onChange(r.target.value)},s.map(r=>{var M;return n.createElement(g.MenuItem,{key:R.Types[r],value:R.Types[r]},n.createElement("div",{style:at.itemChildrenWrapper},n.createElement("div",null,n.createElement(Gue,{type:R.Types[r],style:{...at.selectIcon,color:i.themeType==="dark"?"#FFFFFF":"#000"}}),n.createElement("span",{style:at.selectText},e[r])),(M=i.showApplications)!=null&&M.TYPE_OPTIONS[r]?n.createElement("div",{style:at.iconWrapper},Object.keys(i.showApplications.TYPE_OPTIONS[r]).map(a=>i.showApplications.TYPE_OPTIONS[r][a]?n.createElement(Ie,{key:a,style:at.iconStyle,src:i.showApplications.ICONS_TYPE[a]}):n.createElement("div",{key:a,style:at.emptyIcon}))):null))}))):n.createElement(g.Box,{style:{...at.type,...i.style},sx:i.sx})}function Hue(i){return v({attr:{version:"1",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48"},child:[{tag:"circle",attr:{fill:"#B2EBF2",cx:"32",cy:"24",r:"9"},child:[]},{tag:"path",attr:{fill:"#4DD0E1",d:"M32,12c-6.6,0-12,5.4-12,12c0,6.6,5.4,12,12,12s12-5.4,12-12C44,17.4,38.6,12,32,12z M32,32 c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S36.4,32,32,32z"},child:[]},{tag:"g",attr:{fill:"#3F51B5"},child:[{tag:"polygon",attr:{points:"25.4,22 19.8,5.1 13.6,27.7 11.4,22 4,22 4,26 8.6,26 14.4,40.3 20.2,18.9 22.6,26 30,26 30,22"},child:[]},{tag:"circle",attr:{cx:"32",cy:"24",r:"4"},child:[]}]}]})(i)}function Vue(i){return v({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4.428 2.727l3.335 3.335c-.486.07-.903.276-1.32.624L.886 12.383c-1.181 1.18-1.181 3.194 0 4.375a2.41 2.41 0 0 0 1.598.834l17.088 3.681-3.335-3.333c.486-.07.903-.278 1.32-.626l5.557-5.695c1.181-1.181 1.181-3.196 0-4.377a2.411 2.411 0 0 0-1.598-.833zM11.653 6.2c.694 0 1.25.486 1.25 1.18 0 .695-.486 1.251-1.181 1.251-.695 0-1.25-.485-1.25-1.18s.555-1.251 1.18-1.251zm1.51 3.792c.049-.006.088.046.088.098-.139.694-.695 1.181-1.39 1.181-.694 0-1.32-.487-1.46-1.112 0 0 .002-.07.071 0 .487.278.972.348 1.32.278.346 0 .833-.07 1.32-.416a.092.092 0 0 1 .05-.029zm.723 2.511c.058.013.06.106.06.158-.209.903-.973 1.666-1.946 1.666a2.167 2.167 0 0 1-2.084-1.528c-.07-.07 0-.138.138-.138.695.347 1.39.416 1.877.416.486 0 1.18-.14 1.875-.556.035-.017.06-.022.08-.018zm.597 3.018c.049-.013.087.09.087.195-.278 1.181-1.25 2.085-2.5 2.155-1.251 0-2.293-.835-2.57-1.946 0-.139.068-.278.207-.209.834.486 1.737.556 2.362.556s1.529-.208 2.362-.694c.018-.035.036-.053.052-.057z"},child:[]}]})(i)}function Zue(i){return v({attr:{version:"1.2",baseProfile:"tiny",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13 5l.855 3.42 3.389-.971 1.501 2.6-2.535 2.449 2.535 2.451-1.5 2.6-3.39-.971-.855 3.422h-3l-.855-3.422-3.39.971-1.501-2.6 2.535-2.451-2.534-2.449 1.5-2.6 3.39.971.855-3.42h3m0-2h-3c-.918 0-1.718.625-1.939 1.516l-.354 1.412-1.4-.4c-.184-.053-.369-.078-.552-.078-.7 0-1.368.37-1.731 1l-1.5 2.6c-.459.796-.317 1.802.342 2.438l1.047 1.011-1.048 1.015c-.66.637-.802 1.643-.343 2.438l1.502 2.6c.363.631 1.031 1 1.731 1 .183 0 .368-.025.552-.076l1.399-.401.354 1.415c.222.885 1.022 1.51 1.94 1.51h3c.918 0 1.718-.625 1.939-1.516l.354-1.414 1.399.4c.184.053.369.077.552.077.7 0 1.368-.37 1.731-1l1.5-2.6c.459-.796.317-1.8-.342-2.438l-1.047-1.013 1.047-1.013c.66-.637.801-1.644.342-2.438l-1.5-2.6c-.365-.631-1.031-1-1.732-1-.184 0-.368.025-.551.076l-1.4.401-.354-1.413c-.22-.884-1.02-1.509-1.938-1.509zM11.5 10.5c1.104 0 2 .895 2 2 0 1.104-.896 2-2 2s-2-.896-2-2c0-1.105.896-2 2-2m0-1c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3-1.346-3-3-3z"},child:[]}]})(i)}function Xue(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M7.707 17.707 13.414 12 7.707 6.293 6.293 7.707 10.586 12l-4.293 4.293zM15 6h2v12h-2z"},child:[]}]})(i)}function Kue(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M376 211H256V16L136 301h120v195z"},child:[]}]})(i)}function que(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 32l-64 96 80 16-16 80 64-96-80-16 16-80zm-96 217c-1.9 0-9.8 3-15.8 6.7-2.8 1.7-5.3 3.5-7.2 4.8v119c1.9 1.3 4.4 3.1 7.2 4.8 6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 5.9-3.7 10.6-7.3 10.6-7.3l2.5-2H201V265h-12.1l-2.5-2s-4.7-3.6-10.6-7.3c-6-3.7-13.9-6.7-15.8-6.7zm192 0c-1.9 0-9.8 3-15.8 6.7-5.9 3.7-10.6 7.3-10.6 7.3l-2.5 2H311v110h12.1l2.5 2s4.7 3.6 10.6 7.3c6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 2.8-1.7 5.3-3.5 7.2-4.8v-119c-1.9-1.3-4.4-3.1-7.2-4.8-6-3.7-13.9-6.7-15.8-6.7zm-133 16v110h14V265h-14zm32 0v110h42V265h-42zM95.5 311c-18.8 0-36.6 9.2-49.94 22.7C32.22 347.1 23 365 23 384v106h18V384c0-13 6.78-27.1 17.32-37.7C68.85 335.8 82.8 329 95.5 329H119v-18H95.5zm297.5 0v18h22.9c13.1 0 27.1 6.8 37.7 17.4C464.2 357 471 371 471 384v106h18V384c0-19-9.2-37-22.7-50.4-13.4-13.4-31.4-22.6-50.4-22.6H393z"},child:[]}]})(i)}function eNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M20.127 52.803v58.986L250.46 245.153c26.367-28.823 70.087-36.533 105.313-16.195 35.29 20.374 50.465 62.207 38.567 99.503l101.648 58.855-64.728-74.65 35.638-37.352-57.27-7.687 84.72-86.92-125.71 33.186 12.995-120.208-66.578 96.363-27.448-80.593-16.353 88.77L20.127 52.803zm0 105.12l-.008.018.007.005v-.02zm0 .022l-.002 87.582 155.344 89.95-89.94 33.287h135.493l-63.658 99.87 116.22-70.083 15.77 85.852 38.543-80.01 63.66 87.018-5.853-87.047 90.54 17.268-102.4-59.198c-26.546 26.964-68.89 33.744-103.183 13.945-34.322-19.816-49.62-59.928-39.49-96.424L20.127 157.945zm316.6 119.442c-.938-.003-1.874.027-2.805.092-12.42.86-24.164 7.707-30.9 19.375-10.78 18.67-4.455 42.27 14.214 53.047 18.67 10.78 42.27 4.455 53.047-14.214 10.78-18.67 4.454-42.27-14.215-53.047-6.125-3.536-12.78-5.23-19.34-5.253z"},child:[]}]})(i)}function tNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M33.125 19.406L135.5 128.22l81-23.157 18.72-5.344-7.564 17.936-46.125 109.78 134.282-70 26.157-13.655L328.436 170 256.5 309.25l91.25-57.125 22.97-14.375-9.22 25.47-34.625 95.624 71-36.375 21.188-10.845L410.906 334l-33.937 93.063 45.124-6.688 4.53-.656 3.313 3.155 64.313 61.47-30.5-80.5 23.313-46.908-72.5 39.532 51.062-141.158-91.188 47.47 72.344-142.813-128.217 82.81L421.875 70.063 239.03 168.69l30.44-99.563-103.845 25.25-132.5-74.97zM18.155 30.78l77.876 108.25-31.124 75.532 94.125-46.78-98.905 166.812 190.25-99.656-101.03 185.406 140.25-79.063-46.94 102.22 106.5-53-45.655 92.28 86.5-14.467 93.47 31.562-63.158-60.344-56.125 8.314-15.53 2.312 5.374-14.75 31.158-85.437-70.907 36.31-21.124 10.814 8.094-22.313 33.47-92.436-97.22 60.875-28.938 18.092L224.22 331l74.06-143.344-131.06 68.313-22.97 12 10.03-23.908 48.626-115.687-67.75 19.375-5.5 1.563-3.875-4.157L18.157 30.78z"},child:[]}]})(i)}function sNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M288.3 13.4c-12.3-.01-23 6.49-27.3 15.31l-2.9 5.95-6.6-1.01c-5.5-.85-11.3-1.32-17.1-1.32-18.8 0-35.7 4.5-47.3 11.14-11.5 6.64-16.9 14.59-16.9 22 0 7.42 5.4 15.37 16.9 22 11.6 6.64 28.5 11.13 47.3 11.13 7.5-.02 14.9-.74 21.8-2.13l6.3-1.23 3.2 5.46c5.6 9.2 23.7 18.2 44.7 18.2 13.9 0 26.4-3.6 34.8-8.8 8.4-5.2 12.2-11.23 12.2-16.9 0-5.09-3-10.48-10-15.44-6.9-4.97-17.6-8.87-30-9.95l-18.3-1.59 12.5-13.49c4.1-4.41 6.1-9.6 6.1-14.87 0-12.88-12.4-24.46-29.4-24.46zM152.2 65.46C84.8 102.3 39 173.9 39 256c0 32.1 7 62.6 19.54 90 5.95-7.9 10.48-13.4 12.67-16C62.05 307.2 57 282.2 57 256c0-74 40.27-138.5 100.1-172.78-3.1-5.39-4.9-11.34-4.9-17.74v-.02zm210.7 1.75c7.5 6.93 12.5 15.9 12.5 25.99 0 1.14-.1 2.27-.2 3.38C423.7 132.9 455 190.7 455 256c0 23.7-4.2 46.5-11.8 67.6l18.3 2.2c7.4-21.9 11.5-45.4 11.5-69.8 0-80.8-44.4-151.5-110.1-188.79zm58.6 270.49c-11.1.2-23 1.1-35.9 3.1l-.5.1-.5.1c-25.8 7.3-37.1 15.2-46.4 24.7l-2.2 2.2-.3 3.1c-3.4 29.6-5.8 60 0 91.8l1.3 6.8 6.8.6c30.6 2.6 58.7 1.4 86.2 0l1-.1.9-.2c18.5-5.2 34.4-12.8 46.4-24.6l1.7-1.6.6-2.2c10-33.4 3.4-63.8.4-92.7l-.8-7.4-7.3-.7c-16.2-1.5-32.8-3.2-51.4-3zM79.62 348.2c-4.94 6.1-11.43 14.5-18.58 25.6-12.29 18.9-22.53 42.4-20.51 54.9 1.43 8.8 6.97 19.6 14.51 27.6 7.54 7.9 16.69 12.8 24.58 12.8 7.87 0 17.03-4.9 24.58-12.8 7.5-8 13.1-18.8 14.5-27.6 2-12.5-8.2-36-20.5-54.9-7.15-11-13.64-19.5-18.58-25.6zM427 355.7c1.7 0 3.3 0 5 .1 5.4.1 10.7.4 16 .8-5.9 3.4-12.1 6.8-19.5 9.9l-2.4.2c-19.5 1.4-37.7.3-55.4-2 4.7-2 10.5-4 18.3-6.2 13.8-2.2 26.3-2.9 38-2.8zm38 11.6c2.8 22.9 5 44.5-1 66.6-7 6.3-16 11.4-27 15.4 3-22.5 2-44.8-.5-66.6 11.3-5 20.2-10.2 28.5-15.4zm-112.2 13.1c20.7 3.2 42.3 5.4 65.8 4.5 2.5 23 3.5 45.6-.4 67.8-21.5 1-43.1 1.5-65.8-.1-3.5-24-2.2-47.9.4-72.2zm-216.4 34.7c.9 5.5 1 11 .1 16.4-.3 1.6-.6 3.3-1 4.9C170 459.5 211.4 473 256 473c21.6 0 42.5-3.2 62.3-9.1l-2-18.2c-19 6-39.3 9.3-60.3 9.3-44.9 0-86.3-14.8-119.6-39.9z"},child:[]}]})(i)}function kM(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M140 29.92c-31.4 0-59.89 3.25-79.89 8.25-9.9 2.5-17.8 5.51-22.4 8.25-3.2 1.87-4.1 3.15-4.5 3.58.4.43 1.3 1.71 4.5 3.58 4.6 2.74 12.5 5.75 22.4 8.25 20 5 48.49 8.25 79.89 8.25h5.7c5.3-2 11.1-3.78 17.6-5.4 20.3-5.08 46.5-8.42 75.8-9.36 1.2-.57 2.3-1.14 3.2-1.7 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zm232 0c-31.4 0-59.9 3.25-79.8 8.25-10 2.5-17.9 5.51-22.5 8.25-3.1 1.87-4.1 3.15-4.5 3.58.4.43 1.4 1.71 4.5 3.58.9.56 2 1.13 3.2 1.7 29.3.94 55.5 4.28 75.8 9.36 6.5 1.62 12.3 3.4 17.6 5.4h5.7c31.4 0 59.9-3.25 79.8-8.25 10-2.5 17.9-5.51 22.5-8.25 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zM33.01 71.44V369.9c0 4.3 1.8 8 6.8 12.3 5 4.3 13.1 8.5 23.3 11.9 15.3 5.1 35 8.5 55.89 9.8V278.3l-16.5 28.6-7.79-4.5c-27.4-15.9-44.3-45.3-44.4-77v-9h52.59c-.6 2.6-.9 5.3-.9 8.1 0 13.1 6.8 24.8 17 31.7v-63.4c-1.9 1.3-3.6 2.7-5.2 4.2l-25.99-45.1 7.8-4.5c7.49-4.2 15.29-7.3 23.39-9.3V87.61c-24.19-1.08-45.99-4.01-63.19-8.32-8.9-2.21-16.5-4.76-22.8-7.85zm445.99 0c-6.3 3.09-14 5.63-22.8 7.84-17.2 4.31-39 7.24-63.2 8.32v50.6c8.1 2 16 5.1 23.4 9.3l7.7 4.5-4.4 7.8-21.5 37.2c-1.6-1.5-3.3-2.9-5.2-4.2v63.4c10.2-6.9 17-18.6 17-31.7 0-2.8-.3-5.5-.9-8.1h50.8v9c0 31.8-17 61.1-44.4 77l-7.8 4.5-14.7-25.5v122.5c20.9-1.3 40.7-4.7 55.9-9.8 10.2-3.4 18.3-7.6 23.3-11.9 5-4.3 6.8-8 6.8-12.3zM256 73c-34.7 0-66.2 3.57-88.3 9.1-11.1 2.77-19.8 6.09-25.1 9.19-4.3 2.58-5.3 4.42-5.5 4.71.2.29 1.2 2.12 5.5 4.7 5.3 3.1 14 6.4 25.1 9.2 22.1 5.5 53.6 9.1 88.3 9.1 34.7 0 66.2-3.6 88.3-9.1 11.1-2.8 19.8-6.1 25.1-9.2 4.3-2.58 5.3-4.41 5.5-4.7-.2-.29-1.2-2.13-5.5-4.71-5.3-3.1-14-6.42-25.1-9.19-22.1-5.53-53.6-9.1-88.3-9.1zm118.9 23c.1.1.1.1.1 0s0-.1-.1 0zm-237.8 0c-.1-.1-.1-.1-.1 0s0 .1.1 0zm-.1 22.1V448c0 5 2.2 9.3 7.9 14.2 5.6 4.8 14.7 9.5 25.9 13.3 22.6 7.5 54 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2V118.1c-7.2 3.7-16 6.6-26.3 9.3-24.2 6-56.7 9.6-92.7 9.6s-68.5-3.6-92.7-9.6c-10.3-2.7-19.1-5.6-26.3-9.3zM256 191c16.8 0 33.5 4.4 48.5 13l7.8 4.5-4.5 7.8-24.1 41.6c-7.3-6.7-17-10.9-27.7-10.9s-20.4 4.2-27.7 10.9l-28.6-49.4 7.8-4.5c15-8.7 31.7-13 48.5-13zm0 74c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm-98 15h57.8c-.5 2.6-.8 5.3-.8 8 0 18.1 12 33.7 28.5 39l-29.2 50.5-7.8-4.5c-30-17.3-48.5-49.4-48.5-84zm138.2 0H352v9c0 34.6-18.5 66.7-48.5 84l-7.8 4.5-28.8-50c17.3-4.8 30.1-20.8 30.1-39.5 0-2.7-.3-5.4-.8-8z"},child:[]}]})(i)}function iNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 54.28c-124.603 0-226 101.398-226 226 0 47.864 14.975 92.293 40.465 128.876l29.79-19.86c-17.188-24.545-28.708-53.362-32.696-84.577H96v-18H66.115c-.07-2.14-.115-4.284-.115-6.44 0-45.378 15.816-86.97 42.236-119.598l17.4 17.4 12.727-12.727-18.133-18.132C152.735 114.057 197.335 92.8 247 90.498v29.22h18V90.5c49.665 2.302 94.265 23.56 126.77 56.725l-18.133 18.132 12.726 12.727 17.4-17.4c26.42 32.63 42.237 74.22 42.237 119.6 0 2.154-.044 4.3-.115 6.437H416v18h28.44c-3.987 31.214-15.507 60.03-32.694 84.575l29.79 19.86C467.025 372.574 482 328.146 482 280.282c0-124.602-101.397-226-226-226zm15.83 66.23a144 160 0 0 1 74.608 100.062l49.966-17.568a160 160 0 0 0-4.3-7.012l-5.135 5.153-30.368-30.29-5.76-5.746 7.85-7.874a160 160 0 0 0-86.862-36.726zm156.15 89.844l-175.332 60.6C240.505 272.618 231 283.155 231 295.72c0 13.7 11.3 25 25 25 6.77 0 12.95-2.764 17.473-7.208L427.98 210.354zm-16.513 32.322l-60.713 40.72a144 160 0 0 1-56.6 108.323h76.057a160 160 0 0 0 39.763-68.572H398.48v-52.515h17.022a160 160 0 0 0-4.035-27.957zM128 421.72v36h256v-36H128z"},child:[]}]})(i)}function oNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.7 21.04l-194.4.41L21.04 159.3l.41 194.4L159.3 491l194.4-.4L491 352.7l-.4-194.4L352.7 21.04zm-8 19.66l126.2 125.7.4 178.3-123.1 123.6-2.6 2.6-178.3.4L41.08 345.6l-.38-178.3L166.4 41.08l178.3-.38zm-7.5 18.01l-163.3.34L58.71 174.8l.34 163.3L174.8 453.3l163.3-.3 115.2-115.8-.3-163.3L337.2 58.71zM108.4 210.4c5.3 0 10.8.5 16.4 1.3 5.7.8 11.5 2 17.5 3.6v20.5c-5.3-2.4-10.5-4.2-15.6-5.4-5.1-1.2-9.9-1.8-14.4-1.8-6 0-10.4.8-13.25 2.5-2.87 1.6-4.3 4.2-4.3 7.7 0 2.6.96 4.6 2.87 6.1 1.95 1.4 5.48 2.7 10.58 3.7l10.6 2.1c10.8 2.2 18.5 5.5 23.1 9.9 4.5 4.5 6.8 10.8 6.8 18.9 0 10.7-3.2 18.7-9.5 24-6.4 5.2-16.1 7.8-29.2 7.8-6.1 0-12.3-.6-18.51-1.8-6.2-1.1-12.41-2.9-18.61-5.2v-21.1c6.2 3.3 12.19 5.8 17.96 7.5 5.82 1.6 11.46 2.4 16.76 2.4 5.5 0 9.7-.9 12.6-2.7 2.9-1.8 4.4-4.4 4.4-7.8 0-3.1-1-5.4-3-7.1-2-1.6-5.9-3.1-11.8-4.4l-9.7-2.1c-9.73-2.1-16.85-5.4-21.37-10-4.47-4.5-6.7-10.7-6.7-18.4 0-9.7 3.12-17.1 9.37-22.3 6.25-5.3 15.24-7.9 27-7.9zm187.7 0c15.6 0 27.8 4.5 36.7 13.5 8.9 8.9 13.3 21.2 13.3 37 0 15.7-4.4 28-13.3 37-8.9 8.9-21.1 13.4-36.7 13.4-15.6 0-27.8-4.5-36.7-13.4-8.9-9-13.3-21.3-13.3-37 0-15.8 4.4-28.1 13.3-37 8.9-9 21.1-13.5 36.7-13.5zm-141.9 1.8h89.6v18.9h-32.2v78.3h-25.1v-78.3h-32.3v-18.9zm205.8 0h41.6c12.3 0 21.8 2.8 28.4 8.3 6.7 5.4 10 13.2 10 23.4s-3.3 18.1-10 23.6c-6.6 5.4-16.1 8.2-28.4 8.2H385v33.7h-25v-97.2zm-63.9 16.4c-7.7 0-13.6 2.8-17.8 8.5-4.2 5.6-6.3 13.6-6.3 23.8 0 10.2 2.1 18.1 6.3 23.8 4.2 5.6 10.1 8.4 17.8 8.4 7.7 0 13.6-2.8 17.8-8.4 4.2-5.7 6.3-13.6 6.3-23.8 0-10.2-2.1-18.2-6.3-23.8-4.2-5.7-10.1-8.5-17.8-8.5zm88.9 1.8v27.1h13.9c4.9 0 8.6-1.2 11.3-3.5 2.6-2.4 3.9-5.8 3.9-10.1s-1.3-7.7-3.9-10c-2.7-2.4-6.4-3.5-11.3-3.5H385z"},child:[]}]})(i)}function rNe(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M327.467 19.992c.748 14.94 2.317 51.268 2.59 98.76 3.474-.286 6.557-.381 9.72 1.08 18.04 8.345 27.243 29.326 27.026 50.506-.217 21.18-11.283 44.136-36.104 54.307a41.62 41.62 0 0 1-2.486.923c-3.408 80.504-12.307 166.37-33.754 225.5-6.876 15.831-17.029 29.217-26.828 40.94l55.27.422c20.676-12.19 32.041-27.395 36.32-46.407l17.558 3.954c-3.67 16.312-11.99 30.662-24.511 42.677l143.052 1.094c-5.13-14.524-16.16-46.501-20.357-70.217C451.89 293.171 450.15 45 450.025 19.992zM18.279 38.984l.881 18.725c17.856 12.047 32.035 23.91 45.969 35.527 12.887-11.156 2.404-29.725-5.82-39.091-13.668-5.346-27.335-10.467-41.03-15.16zM86.723 65.13c4.77 14.56 3.347 29.656-7.477 39.746 24.105 19.479 50.832 38.151 97.1 55.635 13.836-22.588 12.08-43.852-3.338-60.739-29.03-10.9-57.703-22.997-86.285-34.642zm-31.721 42.988V400h17.996V122.723c-6.187-4.856-12.114-9.73-17.996-14.606zm145.264 1.434c3.253 8.283 4.54 16.754 3.982 25.043-.765 11.35-4.673 22.135-10.545 32.095 16.926 5.691 36.192 11.248 58.451 16.655l2.604.633 1.834 1.953c9.223 9.826 22.535 17.206 35.469 21.006 12.933 3.8 25.473 3.655 31.814 1.056 18.024-7.385 24.773-22.363 24.932-37.84.152-14.822-7.069-28.554-15.479-33.306-45.88-1.699-89.948-12.607-133.062-27.295zm-33.264 66.476V400h17.996V182.605a502.784 502.784 0 0 1-17.996-6.578zM32 419.002v17.996h176v-17.996z"},child:[]}]})(i)}function MNe(i){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M18.36 6.64a9 9 0 1 1-12.73 0"},child:[]},{tag:"line",attr:{x1:"12",y1:"2",x2:"12",y2:"12"},child:[]}]})(i)}function nNe(i){return v({attr:{fill:"none",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"},child:[]}]})(i)}function aNe(i){return v({attr:{version:"1.1",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M6 0l-6 8h6l-4 8 14-10h-8l6-6z"},child:[]}]})(i)}const u4e={SET:Yce,WORKING:CM,UNREACH:wM,LOWBAT:AM,MAINTAIN:Tue,ERROR:aue,DIRECTION:gue,CONNECTED:wM,ACTUAL:Zue,SECOND:Xue,PRESS_LONG:Rce,PRESS:Jce,MUTE:iue,ACCURACY:eNe,RADIUS:$ce,ELEVATION:Qce,LATITUDE:Uce,LONGITUDE:Pce,GPS:lue,ON_ACTUAL:IM,ON_SET:IM,OPEN:Bce,STOP:oNe,WATER_ALARM:OM,WASTE_ALARM:kM,PAUSE:kce,STATE:sNe,BATTERY:AM,WASTE:kM,WATER:OM,WORK_MODE:CM,MODE:Nue,POWER:bce,BOOST:Vue,HUMIDITY:zue,TEMPERATURE:wue,BRIGHTNESS:Due,MOTION:Xce,FIRE:due,WINDOW:ya,SMOKE:Iue,SWING:rNe,SPEED:iNe,DIMMER:nNe,ON:MNe,COLOR_TEMP:tue,ELECTRIC_POWER:aNe,CURRENT:Kue,VOLTAGE:que,CONSUMPTION:Hue,FREQUENCY:tNe,HUE:Cue};class da extends n.Component{static generateFile(e,t){const s=window.document.createElement("a");s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),s.setAttribute("download",e),s.style.display="none",window.document.body.appendChild(s),s.click(),window.document.body.removeChild(s)}handleFileSelect=e=>{const t=e.target,s=t==null?void 0:t.files;if(!s||!s.length){console.error("No files found. Please report to developers");return}const o=s[0];if(o){const r=new window.FileReader;r.onload=()=>{var a;const M=((a=r.result)==null?void 0:a.toString())||"";try{const u=JSON.parse(M);u.native&&u.common?u.common.name!==this.props.common.name?this.props.onError&&this.props.onError(d.t("ra_otherConfig",u.common.name)):this.props.onLoad&&this.props.onLoad(u.native):this.props.onError&&this.props.onError(d.t("ra_invalidConfig"))}catch(u){this.props.onError&&this.props.onError(u==null?void 0:u.toString())}},r.readAsText(o)}else alert("Failed to open JSON File")};download(){const e={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};e.common.news&&delete e.common.news,e.common.titleLang&&delete e.common.titleLang,e.common.desc&&delete e.common.desc,da.generateFile(`${e._id}.json`,e)}upload(){const e=window.document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",this.handleFileSelect,!1),e.click()}render(){return n.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?n.createElement(Ie,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?n.createElement(g.Fab,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{const e=window.open(this.props.common.readme,"_blank");e==null||e.focus()}},n.createElement(m.Help,null)):null,n.createElement(g.Fab,{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()},n.createElement(m.VerticalAlignTop,null)),n.createElement(g.Fab,{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()},n.createElement(m.VerticalAlignBottom,null)))}}class za{static text2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static getTitle(e){const t=za.extractHeader(e);let s=t.body;const o=t.header;if(!o.title){s=s.replace(/{[^}]*}/g,""),s=s.trim();const r=s.replace(/\r/g,"").split(` `);for(let M=0;M{if(!M.trim())return;const n=M.indexOf(":");if(n!==-1){const u=M.substring(0,n).trim();let N=M.substring(n+1).trim();N=N.replace(/^['"]|['"]$/g,""),N==="true"?t[u]=!0:N==="false"?t[u]=!1:parseFloat(N).toString()===N?t[u]=parseFloat(N):t[u]=N}else t[M.trim()]=!0}),e=e.substring(s+7))}return{header:t,body:e}}static removeDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(s=>e=e.replace(s,"")),e}static onCopy(e,t){Vn(t),e&&e.stopPropagation(),e&&e.preventDefault()}}function nNe(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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"}))}function da(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.createElement("g",{fill:"currentColor"},a.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),a.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),a.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),a.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function $t(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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"}))}function za(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.createElement("g",{fill:"currentColor"},a.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),a.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),a.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),a.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),a.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),a.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),a.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),a.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),a.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),a.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function aNe(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:e=>i.onClick&&i.onClick(e),width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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"}))}function cNe(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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"}),a.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"}))}function uNe(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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"}))}function gs(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),a.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"}))}function NNe(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 24 24",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.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"}))}const vi={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function lNe(i){var e;return a.createElement(g.Paper,{elevation:Number.isNaN(i.elevation)?1:i.elevation,style:{...vi.root,...((e=i.styles)==null?void 0:e.root)||void 0,...i.overflow!=="visible"?vi.overflowHidden:void 0},onKeyDown:i.onKeyDown,tabIndex:i.tabIndex},a.createElement(g.Grid2,{container:!0,direction:"column",wrap:"nowrap",sx:vi.container},i.children))}const kM={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}};function LNe(i){return a.createElement(g.Grid2,{sx:{...kM.root,...(i==null?void 0:i.style)||void 0,...i.overflow==="auto"?kM.overflowAuto:void 0},ref:i.ref},i.children)}function jNe(i){return a.createElement(g.Grid2,{container:!0,alignItems:"center"},i.children)}const Pt=24,de=32,gNe=16,ne=20,Ia=i=>i==="dark"?"#62ff25":"#37c400",wa=i=>i==="dark"?"#ee56ff":"#a204b4",TNe=i=>i==="dark"?"#fff46e":"#b89101",Ca=i=>"#ff6d69",ha=i=>"#5773ff",Aa="#ff413c",pa="#86211f",lo="#57ff45",Lo="#098c04",jo="#f3ad11",go="#6c5008",A={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:i=>({pl:1,height:de,lineHeight:`${de}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${i.palette.mode==="dark"?i.palette.primary.dark:i.palette.primary.light} !important`,color:S.invertColor(i.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:i=>({borderBottom:`1px solid ${i.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${i.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:de+10},tableRowAliasReadWrite:{height:de+22},tableRowFocused:i=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:i.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:de-4,height:de-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:i=>({marginRight:8,width:de-4,height:de-4,cursor:"pointer",color:i.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(de-ne)/2,marginRight:8,width:ne,height:ne},cellIdIconOwn:{},cellIdTooltip:{fontSize:14},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellCopyButton:{width:ne,height:ne,top:(de-ne)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:ne,height:ne,top:(de-ne)/2,opacity:.8},cellEditButton:{width:ne,height:ne,color:"white",position:"absolute",top:(de-ne)/2,right:ne+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:i=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:i.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:Pt,height:Pt,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:de,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:ne+4,height:ne+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${ne+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:i=>({color:i.palette.mode==="dark"?i.palette.primary.main:i.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:i=>({position:"absolute",top:ne/2-2,opacity:.7,width:ne-2,height:ne-2,color:i.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:ne/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:i=>({background:`${i.palette.primary.main} !important`,color:`${S.invertColor(i.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:de,pt:0,"& .itemIcon":{verticalAlign:"middle",width:Pt,height:Pt,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:Pt,height:Pt,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"},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:i=>({color:i.palette.mode==="dark"?lo:Lo,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:i=>({color:i.palette.mode==="dark"?jo:go,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:i=>({color:i.palette.mode==="dark"?Aa:pa,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:i=>({backgroundColor:i.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:i=>({backgroundColor:i.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:i=>({color:i.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:i=>({color:i.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:i=>({color:i.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:i=>({color:i.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:i=>({color:i.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:i=>({color:i.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:i=>({color:i.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:i=>({color:i.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"}};function yNe(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:i==null?void 0:i.style,width:"24",height:"24",className:"admin-button"},a.createElement("g",{fill:"currentColor"},a.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"}),a.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 DNe(i,e){const t=[];for(let s=0;s{if(o==null)return;const M=typeof o=="object";if(t&&M&&typeof o.en=="string"&&typeof o.de=="string"){s[r]=o.en;return}s[r]=M?To(o,e,t):o}):dNe(i,(s,o,r)=>{if(o==null||e.includes(r))return;const M=typeof o=="object";if(t&&M&&typeof o.en=="string"&&typeof o.de=="string"){s[r]=o.en;return}s[r]=M?To(o,e,t):o})}function YM(i,e,t){const s=document.createElement("a"),o=[];t.excludeSystemRepositories&&o.push("system.repositories");const r=o.length>0||t.excludeTranslations?To(e,o,t.excludeTranslations):e,M=t.beautify?JSON.stringify(r,null,2):JSON.stringify(r);s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(M)}`),s.setAttribute("download",i),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}function Is(i,e,t,s){if(t=t||0,s===void 0&&(s=i.length-1,!s))return i[0]===e;const o=Math.floor((t+s)/2);return e===i[o]?!0:s-1===t?i[t]===e||i[s]===e:e>i[o]?Is(i,e,o,s):eC.role.startsWith(I))||(N=!0)):N=!0),!N&&((O=M.common)==null?void 0:O.custom)==="_"&&(C!=null&&C.custom))N=!0;else if(!N&&((p=M.common)!=null&&p.custom)&&((E=M.common)==null?void 0:E.custom)!=="_"){const I=M.common.custom;if(!(C!=null&&C.custom))N=!0;else if(I==="_dataSources")Object.keys(C.custom).find(_=>_.startsWith("history.")||_.startsWith("sql.")||_.startsWith("influxdb."))||(N=!0);else if(Array.isArray(I)){const _=Object.keys(C.custom);I.find(k=>_.find(f=>f.startsWith(k)))&&(N=!0)}else I!==!0&&!Object.keys(C.custom).find(_=>_.startsWith(I))&&(N=!0)}}!N&&!e.expertMode&&(N=l.id==="system"||l.id==="enum"||l.id.startsWith("system.")||l.id.startsWith("enum.")||l.id.startsWith("_design/")||l.id.endsWith(".admin")||!!(C!=null&&C.expert)),!N&&o.id&&(l.fID===void 0&&(l.fID=l.id.toLowerCase()),N=!l.fID.includes(o.id)),!N&&o.name&&(C?(l.fName===void 0&&(l.fName=C&&Oe(C.name,t)||"",l.fName=l.fName.toLowerCase()),N=!l.fName.includes(o.name)):N=!0),!N&&e.role&&C&&(C?N=!(typeof C.role=="string"&&C.role.startsWith(o.role)):N=!0),!N&&o.room&&(N=!o.room.find(I=>I===l.id||l.id.startsWith(`${I}.`))),!N&&o.func&&(N=!o.func.find(I=>I===l.id||l.id.startsWith(`${I}.`))),!N&&o.type&&(N=!(l.obj&&l.obj.type&&l.obj.type===o.type)),!N&&n&&(N=!(l.obj&&l.obj.type&&n.includes(l.obj.type))),!N&&o.custom&&(C?o.custom==="_"?N=!!C.custom:N=!C.custom||!C.custom[o.custom]:N=!0)}return l.visible=!N,l.hasVisibleChildren=!1,i.children&&u<20&&i.children.forEach(C=>{yo(C,e,t,s,o,r,M,n,u+1)&&(l.hasVisibleChildren=!0)}),l.sumVisibility=l.visible||l.hasVisibleChildren,r&&l.sumVisibility&&r.count++,l.id&&l.sumVisibility&&i.children&&i.children.forEach(C=>C.data.hasVisibleParent=!0),l.visible||l.hasVisibleChildren}function ma(i,e,t,s){var r;s=s||[];const o=i.data;return o.sumVisibility&&(o.id&&t[o.id]&&t[o.id].type===e&&s.push(o.id),(r=i.children)==null||r.forEach(M=>ma(M,e,t,s))),s}function QM(i,e,t,s,o,r){let M;return e==="alias"||e==="alias.0"?M=a.createElement(m.Link,{className:"iconOwn",style:{color:wa(s)}}):e==="0_userdata"||e==="0_userdata.0"?M=a.createElement(m.DataObject,{className:"iconOwn",style:{color:Ia(s)}}):e.startsWith("_design/")||e==="system"?M=a.createElement(m.SettingsApplications,{className:"iconOwn",style:{color:Ca(s)}}):e==="system.adapter"?M=a.createElement(m.SettingsApplications,{className:"iconOwn",style:{color:ha(s)}}):e==="system.group"?M=a.createElement(m.SupervisedUserCircle,{className:"iconOwn"}):e==="system.user"?M=a.createElement(m.PersonOutlined,{className:"iconOwn"}):e==="system.host"?M=a.createElement(m.Router,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?M=a.createElement(m.Wifi,{className:"iconOwn"}):e.endsWith(".info")?M=a.createElement(m.Info,{className:"iconOwn"}):i[e]&&i[e].type==="meta"?M=a.createElement(m.Description,{className:"iconOwn"}):t<2&&i[`system.adapter.${e}`]&&(M=ci(i,`system.adapter.${e}`,o,r)),M||null}function Oa(i,e){var t,s;return(s=(t=i==null?void 0:i.obj)==null?void 0:t.common)!=null&&s.desc&&Oe(i.obj.common.desc,e)||null}function zNe(i,e){const t=Oa(i,e);return t!=null&&t.startsWith("http")?a.createElement(g.Box,{component:"a",sx:A.cellIdTooltipLink,href:t,target:"_blank",rel:"noreferrer"},t):a.createElement("span",{style:A.cellIdTooltip},t||i.id||"")}function UM(i,e){var l,c,L,j,T,D,z,h,O,p;const t=e.imagePrefix||".";let s=Object.keys(i);s.sort((E,C)=>E===C?0:(E=E.replace(/\./g,"!!!"),C=C.replace(/\./g,"!!!"),E>C?1:-1)),e.root&&(s=s.filter(E=>E===e.root||E.startsWith(`${e.root}.`)));let o=[],r="",M=0;const n={data:{name:"",id:""},children:[]},u={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:i,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let N=n;for(let E=0;EY.role===P)?typeof P!="string"?console.warn(`Invalid role type "${typeof P}" in "${I._id}"`):u.roles.push({role:P,type:f.type}):C.startsWith("enum.rooms.")?(u.roomEnums.push(C),u.enums.push(C)):C.startsWith("enum.functions.")?(u.funcEnums.push(C),u.enums.push(C)):I.type==="enum"?u.enums.push(C):I.type==="instance"&&f&&(f.supportCustoms||(l=f.adminUI)!=null&&l.custom)&&(u.hasSomeCustoms=!0,u.customs.push(C.substring(15))),C.startsWith("alias.")&&((c=I.common.alias)!=null&&c.id))if(typeof I.common.alias.id=="string"){const Y=I.common.alias.id;u.aliasesMap[Y]?u.aliasesMap[Y].includes(C)||u.aliasesMap[Y].push(C):u.aliasesMap[Y]=[C]}else{const Y=I.common.alias.id.read;Y&&(u.aliasesMap[Y]?u.aliasesMap[Y].includes(C)||u.aliasesMap[Y].push(C):u.aliasesMap[Y]=[C]);const V=I.common.alias.id.write;V&&(u.aliasesMap[V]?u.aliasesMap[V].includes(C)||u.aliasesMap[V].push(C):u.aliasesMap[V]=[C])}}u.ids.push(C);let k;do if(k=!1,!r||C.startsWith(`${r}.`)){if(_.length-M>1){let P=r;for(let Y=M;Y<_.length-1;Y++)if(P+=(P?".":"")+_[Y],Is(u.ids,P))N.children&&(N=N.children.find(V=>V.data.name===_[Y]));else{const V={data:{name:_[Y],parent:N,id:P,obj:i[P],level:Y,icon:QM(i,P,Y,e.themeType,e.lang,t),generated:!0}};N.children=N.children||[],N.children.push(V),N=V,u.ids.push(P)}}const f={data:{name:_[_.length-1],title:Oe((L=I==null?void 0:I.common)==null?void 0:L.name,e.lang),obj:I,parent:N,icon:ci(i,C,e.lang,t)||QM(i,C,0,e.themeType,e.lang,t),id:C,hasCustoms:!!((j=I.common)!=null&&j.custom&&Object.keys(I.common.custom).length),level:_.length-1,generated:!1,button:I.type==="state"&&!!((T=I.common)!=null&&T.role)&&typeof I.common.role=="string"&&I.common.role.startsWith("button")&&((D=I.common)==null?void 0:D.write)!==!1,switch:I.type==="state"&&((z=I.common)==null?void 0:z.type)==="boolean"&&((h=I.common)==null?void 0:h.write)!==!1&&((O=I.common)==null?void 0:O.read)!==!1,url:!!((p=I.common)!=null&&p.role)&&typeof I.common.role=="string"&&I.common.role.startsWith("url")}};N.children=N.children||[],N.children.push(f),N=f,M=_.length,o=_,r=C}else{let f=0;for(;o[f]===_[f];)f++;if(f>0){let P=o.length;for(o=o.splice(0,f),M=f,r=o.join(".");P>f;)N.data.parent?N=N.data.parent:console.error(`Parent is null for ${C} ${r} ${o.join(".")}`),P--}else N=n,o=[],r="",M=0;k=!0}while(k)}return u.roomEnums.sort((E,C)=>{var k,f,P,Y;const I=Oe((f=(k=i[E])==null?void 0:k.common)==null?void 0:f.name,e.lang)||E.split(".").pop(),_=Oe((Y=(P=i[C])==null?void 0:P.common)==null?void 0:Y.name,e.lang)||C.split(".").pop();return I>_?1:I<_?-1:0}),u.funcEnums.sort((E,C)=>{var k,f,P,Y;const I=Oe((f=(k=i[E])==null?void 0:k.common)==null?void 0:f.name,e.lang)||E.split(".").pop(),_=Oe((Y=(P=i[C])==null?void 0:P.common)==null?void 0:Y.name,e.lang)||C.split(".").pop();return I>_?1:I<_?-1:0}),u.roles.sort((E,C)=>E.role.localeCompare(C.role)),u.types.sort(),{info:u,root:n}}function Ea(i,e,t,s,o){if(i.data.id===e)return i;if(t||(t=e.split("."),o=0,s=t[o]),!i.children&&i.data.id!==e)return null;let r;if(i.children)for(let M=0;Ms)break}return r?(o=o||0,Ea(r,e,t,`${s}.${t[o+1]}`,o+1)):null}function _a(i,e,t,s){var M,n;if(!e)return{rooms:[],per:!1};s=s||[];for(const u of i.roomEnums){const N=(M=i.objects[u])==null?void 0:M.common;if(!N)continue;const l=Oe(N.name,t);(n=N.members)!=null&&n.includes(e)&&!s.includes(l)&&s.push(l)}let o;const r=e.split(".");return r.pop(),e=r.join("."),i.objects[e]&&(o=s.length,_a(i,e,t,s)),{rooms:s,per:!o}}function Wt(i,e,t,s){var o,r;if(!e)return[];s=s||[];for(let M=0;M946681200&&N<9466812e5&&(N*=1e3),N=N&&new Date(N).toString();else l==="number"?Number.isInteger(N)||(N=Math.round(N*1e8)/1e8,s&&(N=N.toString().replace(".",","))):l==="object"?N=JSON.stringify(N):l!=="string"?N=N.toString():N.startsWith("data:image/")&&(u="image"),typeof N!="string"&&(N=N.toString());const c={v:N};M&&M[N]!==void 0&&N!==M[N]&&(c.s=N,N=M[N],c.v=N),((j=c.v)==null?void 0:j.length)>40&&(c.c=c.v,c.v=`${c.v.substring(0,40)}...`),n!=null&&n.unit&&(c.u=n.unit);let L;if(i.full&&(typeof N=="string"&&N.length>100?L=[{t:o.value,v:`${N.substring(0,100)}...`}]:L=[{t:o.value,v:N}],t)){if(t.ack!==void 0&&t.ack!==null&&L.push({t:o.ack,v:t.ack.toString()}),t.ts&&L.push({t:o.ts,v:t.ts?S.formatDate(new Date(t.ts),e):""}),t.lc&&L.push({t:o.lc,v:t.lc?S.formatDate(new Date(t.lc),e):""}),t.from){let T=t.from.toString();T.startsWith("system.adapter.")&&(T=T.substring(15)),L.push({t:o.from,v:T})}if(t.user){let T=t.user.toString();T.startsWith("system.user.")&&(T=T.substring(12)),L.push({t:o.user,v:T})}t.c&&L.push({t:o.c,v:t.c}),L.push({t:o.quality,v:S.quality2text(t.q||0).join(", "),nbr:!0})}return{valText:c,valFull:L,fileViewer:u}}function INe(i){const{state:e}=i;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function wNe(i,e){let t=e,s=1;const o=[];for(;s=t)o.push(0);else if(sthis.filterRefs[z]=b.createRef()),this.visibleCols=e.columns||re[e.width||"lg"].fields,e.types&&e.types.length===1){const z=this.visibleCols.indexOf("type");z!==-1&&this.visibleCols.splice(z,1)}this.possibleCols=re.xl.fields;let n=null;if(e.router){const z=e.router.getLocation();z.id&&z.dialog==="customs"&&(n=[z.id],this.pauseSubscribe(!0))}let u;Array.isArray(e.selected)?u=e.selected:u=[e.selected||""],u=u.map(z=>z.replace(/["']/g,"")).filter(z=>z),this.selectFirst=u.length&&u[0]?u[0]:this.selectFirst;const N=this.localStorage.getItem(`${e.dialogName||"App"}.columns`);let l;try{l=N?JSON.parse(N):null}catch{l=null}let c=null;try{c=c?JSON.parse(c):{}}catch{c={}}this.imagePrefix=e.imagePrefix||".";let L;const j=this.localStorage.getItem(`${e.dialogName||"App"}.foldersFirst`);j==="false"?L=!1:j==="true"?L=!0:L=e.foldersFirst===void 0?!0:e.foldersFirst;let T=!1;try{T=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${e.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={loaded:!1,foldersFirst:L,selected:u,selectedNonObject:this.localStorage.getItem(`${e.dialogName||"App"}.selectedNonObject`)||"",filter:r,filterKey:0,focused:this.localStorage.getItem(`${e.dialogName||"App"}.focused`)||"",depth:0,expandAllVisible:!1,expanded:s,toast:"",scrollBarWidth:16,customDialog:n,editObjectDialog:"",editObjectAlias:!1,viewFileDialog:"",showAliasEditor:"",enumDialog:null,roleDialog:null,statesView:T,columns:l,columnsForAdmin:null,columnsSelectorShow:!1,columnsAuto:this.localStorage.getItem(`${e.dialogName||"App"}.columnsAuto`)!=="false",columnsWidths:c,columnsDialogTransparent:100,columnsEditCustomDialog:null,customColumnDialogValueChanged:!1,showExportDialog:!1,showAllExportOptions:!1,linesEnabled:this.localStorage.getItem(`${e.dialogName||"App"}.lines`)==="true",showDescription:this.localStorage.getItem(`${e.dialogName||"App"}.desc`)!=="false",showContextMenu:null,noStatesByExportImport:!1,beautifyJsonExport:!0,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,tooltipInfo:null,aliasMenu:"",showRenameDialog:null},this.texts={name:e.t("ra_Name"),categories:e.t("ra_Categories"),value:e.t("ra_tooltip_value"),ack:e.t("ra_tooltip_ack"),ts:e.t("ra_tooltip_ts"),lc:e.t("ra_tooltip_lc"),from:e.t("ra_tooltip_from"),user:e.t("ra_tooltip_user"),c:e.t("ra_tooltip_comment"),quality:e.t("ra_tooltip_quality"),editObject:e.t("ra_tooltip_editObject"),deleteObject:e.t("ra_tooltip_deleteObject"),customConfig:e.t("ra_tooltip_customConfig"),copyState:e.t("ra_tooltip_copyState"),editState:e.t("ra_tooltip_editState"),ctrlForLink:e.t("ra_tooltip_ctrlForLink"),close:e.t("ra_Close"),filter_id:e.t("ra_filter_id"),filter_name:e.t("ra_filter_name"),filter_type:e.t("ra_filter_type"),filter_role:e.t("ra_filter_role"),filter_room:e.t("ra_filter_room"),filter_func:e.t("ra_filter_func"),filter_custom:e.t("ra_filter_customs"),filterCustomsWithout:e.t("ra_filter_customs_without"),objectChangedByUser:e.t("ra_object_changed_by_user"),objectChangedBy:e.t("ra_object_changed_by"),objectChangedFrom:e.t("ra_state_changed_from"),stateChangedBy:e.t("ra_state_changed_by"),stateChangedFrom:e.t("ra_state_changed_from"),ownerGroup:e.t("ra_Owner group"),ownerUser:e.t("ra_Owner user"),showAll:e.t("ra_show_all"),deviceError:e.t("ra_Error"),deviceDisconnected:e.t("ra_Disconnected"),deviceConnected:e.t("ra_Connected"),aclOwner_read_object:e.t("ra_aclOwner_read_object"),aclOwner_read_state:e.t("ra_aclOwner_read_state"),aclOwner_write_object:e.t("ra_aclOwner_write_object"),aclOwner_write_state:e.t("ra_aclOwner_write_state"),aclGroup_read_object:e.t("ra_aclGroup_read_object"),aclGroup_read_state:e.t("ra_aclGroup_read_state"),aclGroup_write_object:e.t("ra_aclGroup_write_object"),aclGroup_write_state:e.t("ra_aclGroup_write_state"),aclEveryone_read_object:e.t("ra_aclEveryone_read_object"),aclEveryone_read_state:e.t("ra_aclEveryone_read_state"),aclEveryone_write_object:e.t("ra_aclEveryone_write_object"),aclEveryone_write_state:e.t("ra_aclEveryone_write_state"),create:e.t("ra_Create"),createBooleanState:e.t("ra_create_boolean_state"),createNumberState:e.t("ra_create_number_state"),createStringState:e.t("ra_create_string_state"),createState:e.t("ra_create_state"),createChannel:e.t("ra_create_channel"),createDevice:e.t("ra_create_device"),createFolder:e.t("ra_Create folder")},this.levelPadding=e.levelPadding||gNe;const D=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(D)try{const z=JSON.parse(D),h=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(re[h])),Object.keys(z).forEach(O=>{O==="id"?re[h].idWidth=z.id:O==="nameHeader"?re[h].widths.name=z[O]:re[h].widths[O]!==void 0&&(re[h].widths[O]=z[O])}),this.customWidth=!0}catch{}this.calculateColumnsVisibility()}async loadAllObjects(e){const t=this.props;try{await new Promise(u=>{this.setState({updating:!0},()=>u())});const s=(this.props.objectsWorker?await this.props.objectsWorker.getObjects(e):await t.socket.getObjects(e,!0))||{};if(t.types&&je.isWeb())for(let u=0;u{try{if(u(s[N]))this.objects[N]=s[N];else{const l=s[N]&&s[N].type;l&&(l==="channel"||l==="device"||l==="folder"||l==="adapter"||l==="instance")&&(this.objects[N]=s[N])}}catch(l){console.log(`Error by filtering of "${N}": ${l}`)}})}else if(t.types){this.objects={};const u=t.types;Object.keys(s).forEach(N=>{const l=s[N]&&s[N].type;l&&(l==="channel"||l==="device"||l==="enum"||l==="folder"||l==="adapter"||l==="instance"||u.includes(l))&&(this.objects[N]=s[N])})}else this.objects=s;t.setObjectsReference&&t.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&t.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(u=>{u!=null&&u.val||(this.defaultHistory="")}).catch(u=>window.alert(`Cannot get state: ${u}`));const o=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,o);const{info:r,root:M}=UM(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=M,this.info=r;const n=this.state.selected&&this.state.selected.length&&Ea(this.root,this.state.selected[0]);this.lastAppliedFilter=null,n&&!yo(n,this.state.filter,this.props.lang,this.objects,void 0,void 0,t.customFilter,t.types)?this.setState({filter:{...Rs},columnsForAdmin:o},()=>{this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):this.setState({loaded:!0,updating:!1,columnsForAdmin:o},()=>this.expandAllSelected(()=>this.onAfterSelect()))}catch(s){this.showError(s)}}static isNonExpertId(e){return!!We.#e.find(t=>e.startsWith(t))}expandAllSelected(e){const t=[...this.state.expanded];let s=!1;this.state.selected.forEach(o=>{const r=o.split("."),M=[];for(let n=0;n{this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}):this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}static getDerivedStateFromProps(e,t){const s={};let o=!1;return e.expertMode!==void 0&&e.expertMode!==t.filter.expertMode&&(o=!0,s.filter={...t.filter},s.filter.expertMode=e.expertMode),o?s:null}async componentDidMount(){await this.loadAllObjects(!bM),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),bM=!0,window.addEventListener("contextmenu",this.onContextMenu,!0),window.addEventListener("keydown",this.onKeyPress,!0),window.addEventListener("keyup",this.onKeyPress,!0)}onKeyPress=e=>{e.type==="keydown"&&e.ctrlKey&&!this.cltrPressed?(this.cltrPressed=!0,this.tableRef.current&&(this.tableRef.current.className="highlight-link")):e.type==="keyup"&&!e.ctrlKey&&this.cltrPressed&&(this.cltrPressed=!1,this.tableRef.current&&(this.tableRef.current.className=""))};componentWillUnmount(){this.filterTimer&&(clearTimeout(this.filterTimer),this.filterTimer=null),window.removeEventListener("contextmenu",this.onContextMenu,!0),window.removeEventListener("keydown",this.onKeyPress,!0),window.removeEventListener("keyup",this.onKeyPress,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(e=>console.error(`Cannot unsubscribe *: ${e}`)),this.subscribes.forEach(e=>{console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(e){var u,N;const{id:t,obj:s,item:o}=e,r=Object.keys(this.objects);r.sort();let M=0;const n=`${t}.`;for(let l=0;ln)break;this.props.onObjectDelete&&this.props.onObjectDelete(t,!!((u=o.children)!=null&&u.length),!((N=s.common)!=null&&N.dontDelete),M+1)}onContextMenu=e=>{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(e.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:e.clientX+2,top:e.clientY-6}}})):this.state.showContextMenu&&(e.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null};refreshComponent(){this.subscribes.forEach(e=>{console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(e=>this.showError(e))}renderErrorDialog(){return this.state.error?a.createElement(g.Dialog,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},a.createElement(g.DialogTitle,{id:"alert-dialog-title"},this.props.t("ra_Error")),a.createElement(g.DialogContent,null,a.createElement(g.DialogContentText,{id:"alert-dialog-description"},this.state.error)),a.createElement(g.DialogActions,null,a.createElement(g.Button,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:a.createElement(m.Check,null)},this.props.t("ra_Ok")))):null}showError(e){this.setState({error:typeof e=="object"?e&&typeof e.toString=="function"?e.toString():JSON.stringify(e):e})}onSelect(e,t,s){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,e),!this.props.multiSelect)this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==e?this.setState({selected:[e],selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),s&&s()}):t&&this.props.onSelect&&this.onAfterSelect(t)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,e),this.setState({selected:[],selectedNonObject:e,focused:e},()=>{this.onAfterSelect(),s&&s()}));else if(this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);const o=[...this.state.selected],r=o.indexOf(e);r===-1?(o.push(e),o.sort()):t||o.splice(r,1),this.setState({selected:o,selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),s&&s()})}}_renderDefinedList(e){const t=[...this.possibleCols];if(t.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){const s=t.indexOf("buttons");s!==-1&&t.splice(s,1)}return t.filter(s=>e&&(s==="val"||s==="buttons")||!e&&s!=="val"&&s!=="buttons").map(s=>{var o;return a.createElement(g.ListItemButton,{onClick:()=>{if(!this.state.columnsAuto&&s!=="id"){const r=[...this.state.columns||[]],M=r.indexOf(s);M===-1?(r.push(s),r.sort()):r.splice(M,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(r)),this.calculateColumnsVisibility(null,r),this.setState({columns:r})}},key:s},a.createElement(g.Checkbox,{edge:"start",disabled:s==="id"||this.state.columnsAuto,checked:s==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(s):(o=this.state.columns)!=null&&o.includes(s)),disableRipple:!0}),a.createElement(g.ListItemText,{primary:this.texts[`filter_${s}`]||this.props.t(`ra_${s}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?a.createElement(g.Dialog,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":S.getStyle(this.props.theme,A.dialogColumns,A[`transparent_${this.state.columnsDialogTransparent}`])}},a.createElement(g.DialogTitle,{sx:A.fontSizeTitle},this.props.t("ra_Configure")),a.createElement(g.DialogContent,{sx:A.fontSizeTitle},a.createElement(g.FormControlLabel,{style:A.switchColumnAuto,control:a.createElement(g.Switch,{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")}),a.createElement(g.FormControlLabel,{style:A.switchColumnAuto,control:a.createElement(g.Switch,{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")}),a.createElement(g.FormControlLabel,{style:A.switchColumnAuto,control:a.createElement(g.Switch,{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)")}),a.createElement(g.List,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(e=>this.state.columnsForAdmin&&this.state.columnsForAdmin[e].map(t=>{var s;return a.createElement(g.ListItemButton,{onClick:()=>{if(!this.state.columnsAuto){const o=[...this.state.columns||[]],r=`_${e}_${t.path}`,M=o.indexOf(r);M===-1?(o.push(r),o.sort()):o.splice(M,1),this.calculateColumnsVisibility(null,o),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(o)),this.setState({columns:o})}},key:`${e}_${t.name}`},a.createElement(g.ListItemIcon,null,a.createElement(g.Checkbox,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((s=this.state.columns)==null?void 0:s.includes(`_${e}_${t.path}`)),disableRipple:!0})),a.createElement(g.ListItemText,{primary:`${t.name} (${e})`}))})),this._renderDefinedList(!0))),a.createElement(g.DialogActions,null,a.createElement(g.Button,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:a.createElement(m.Close,null)},this.texts.close))):null}async getAdditionalColumns(){try{const e=await this.props.socket.getAdapters();let t=null;return e.forEach(s=>t=this.parseObjectForAdmins(t,s)),t}catch(e){return console.error(`Cannot get adapters: ${e}`),null}}checkUnsubscribes(){for(let e=this.subscribes.length-1;e>=0;e--)this.recordStates.includes(this.subscribes[e])||this.unsubscribe(this.subscribes[e]);this.recordStates=[]}findItem(e,t,s,o){if(t=t||e.split("."),s=s||this.root,!s||!t.length)return null;if(o=(o?`${o}.`:"")+t.shift(),s.children){const r=s.children.find(M=>M.data.id===o);if(r){if(r.data.id===e)return r;if(t.length)return this.findItem(e,t,r,o)}else return null}return null}onStateChange=(e,t)=>{if(console.log(`> stateChange ${e}`),this.states[e]){const s=this.findItem(e);s!=null&&s.data.state&&(s.data.state=void 0)}t?this.states[e]=t:delete this.states[e],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))};parseObjectForAdmins(e,t){if(t.common&&t.common.adminColumns&&t.common.name){const s=t.common.adminColumns;let o;s&&typeof s!="object"?o=[s]:s&&(o=s);let r;s?r=o.map(M=>{if(typeof M!="object")return{path:M,name:M.split(".").pop()};const n=M;return n.objTypes&&typeof n.objTypes!="object"?n.objTypes=[n.objTypes]:n.objTypes||(n.objTypes=void 0),!n.name&&n.path?{path:n.path,name:n.path.split(".").pop(),width:n.width,edit:!!n.edit,type:n.type,objTypes:n.objTypes}:n.path?{path:n.path,name:Oe(n.name||"",this.props.lang),width:n.width,edit:!!n.edit,type:n.type,objTypes:n.objTypes}:(console.warn(`Admin columns for ${t._id} ignored, because path not found`),null)}).filter(M=>M):r=null,r&&r.length&&(e=e||{},e[t.common.name]=r.sort((M,n)=>M.path>n.path?-1:M.path{if(Array.isArray(e)){let t=null;e.forEach(s=>{const{newInnerState:o,filtered:r}=this.processOnObjectChangeElement(s.id,s.obj);r||(o&&t?Object.assign(t,o):t=o)}),t&&this.setState(t),this.afterObjectUpdated()}};onObjectChange=(e,t)=>{const{newInnerState:s,filtered:o}=this.processOnObjectChangeElement(e,t);o||(s&&this.setState(s),this.afterObjectUpdated())};afterObjectUpdated(){!this.objectsUpdateTimer&&this.objects&&(this.objectsUpdateTimer=setTimeout(()=>{this.objectsUpdateTimer=null;const{info:e,root:t}=UM(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=t,this.info=e,this.lastAppliedFilter=null,this.pausedSubscribes||this.forceUpdate()},500))}updateAliases(e){var s,o,r;if(!this.objects||!((s=this.info)!=null&&s.aliasesMap)||!(e!=null&&e.startsWith("alias.")))return;const t=Object.keys(this.objects).filter(M=>M.startsWith("alias.0"));this.info.aliasesMap={};for(const M of t){const n=this.objects[M];if((r=(o=n==null?void 0:n.common)==null?void 0:o.alias)!=null&&r.id)if(typeof n.common.alias.id=="string"){const u=n.common.alias.id;this.info.aliasesMap[u]?this.info.aliasesMap[u].includes(M)||this.info.aliasesMap[u].push(M):this.info.aliasesMap[u]=[M]}else{const u=n.common.alias.id.read;u&&(this.info.aliasesMap[u]?this.info.aliasesMap[u].includes(M)||this.info.aliasesMap[u].push(M):this.info.aliasesMap[u]=[M]);const N=n.common.alias.id.write;N&&(this.info.aliasesMap[N]?this.info.aliasesMap[N].includes(M)||this.info.aliasesMap[N].push(M):this.info.aliasesMap[N]=[M])}}}processOnObjectChangeElement(e,t){console.log(`> objectChange ${e}`);const s=t==null?void 0:t.type;if(t&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(t)&&s!=="channel"&&s!=="device"&&s!=="folder"&&s!=="adapter"&&s!=="instance")return{newInnerState:null,filtered:!0};let o=null;if(e.startsWith("system.adapter.")&&(t==null?void 0:t.type)==="adapter"){const r=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(r,t),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(r)&&(o={columnsForAdmin:r})}return this.objects=this.objects||{},t?this.objects[e]=t:this.objects[e]&&delete this.objects[e],this.updateAliases(e),{newInnerState:o,filtered:!1}}subscribe(e){this.subscribes.includes(e)||(this.subscribes.push(e),console.log(`+ subscribe ${e}`),this.pausedSubscribes||this.props.socket.subscribeState(e,this.onStateChange).catch(t=>console.error(`Cannot subscribe on state ${e}: ${t}`)))}unsubscribe(e){const t=this.subscribes.indexOf(e);t!==-1&&(this.subscribes.splice(t,1),this.states[e]&&delete this.states[e],console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(e){!this.pausedSubscribes&&e?(this.pausedSubscribes=!0,this.subscribes.forEach(t=>this.props.socket.unsubscribeState(t,this.onStateChange))):this.pausedSubscribes&&!e&&(this.pausedSubscribes=!1,this.subscribes.forEach(t=>this.props.socket.subscribeState(t,this.onStateChange)))}onFilter(e,t){this.filterTimer=null;const s={...this.state.filter};Object.keys(this.filterRefs).forEach(o=>{if(this.filterRefs[o]&&this.filterRefs[o].current){const r=this.filterRefs[o].current;for(let M=0;Mthis.props.onFilterChanged&&this.props.onFilterChanged(s)))}clearFilter(){const e={...this.state.filter};Object.keys(this.filterRefs).forEach(t=>{if(this.filterRefs[t]&&this.filterRefs[t].current){const s=this.filterRefs[t].current;for(let o=0;othis.props.onFilterChanged&&this.props.onFilterChanged(e)))}isFilterEmpty(){return!Object.keys(this.state.filter).find(t=>t!=="expertMode"&&this.state.filter[t])}getFilterInput(e){var t,s,o;return a.createElement(g.FormControl,{sx:this.styles.filterInput,key:`${e}_${this.state.filterKey}`,margin:"dense"},a.createElement(g.Input,{ref:this.filterRefs[e],classes:{underline:"no-underline"},id:e,placeholder:this.texts[`filter_${e}`],defaultValue:this.state.filter[e]||"",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},autoComplete:"off"}),(o=(s=(t=this.filterRefs[e])==null?void 0:t.current)==null?void 0:s.firstChild)!=null&&o.value?a.createElement("div",{style:{position:"absolute",right:0}},a.createElement(g.IconButton,{size:"small",onClick:()=>{var r;((r=this.filterRefs[e].current)==null?void 0:r.firstChild).value="",this.onFilter(e,"")}},a.createElement(m.Close,null))):null)}getFilterSelect(e,t){var o,r,M;const s=!!(t!=null&&t.find(n=>n.icon));return a.createElement("div",{style:{position:"relative"}},a.createElement(g.Select,{variant:"standard",key:`${e}_${this.state.filterKey}`,ref:this.filterRefs[e],sx:A.headerCellInput,className:"no-underline",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},defaultValue:this.state.filter[e]||"",inputProps:{name:e,id:e},displayEmpty:!0},a.createElement(g.MenuItem,{key:"empty",value:""},a.createElement("span",{style:A.selectNone},e==="custom"?this.texts.showAll:this.texts[`filter_${e}`])),t==null?void 0:t.map(n=>{let u,N,l;return typeof n=="object"?(u=n.value,N=n.name,l=n.icon):(u=n,N=n),a.createElement(g.MenuItem,{sx:A.headerCellSelectItem,key:u,value:u},l||(s?a.createElement("div",{className:"itemIcon"}):null),N)})),(M=(r=(o=this.filterRefs[e])==null?void 0:o.current)==null?void 0:r.childNodes[1])!=null&&M.value?a.createElement(g.Box,{component:"div",sx:A.selectClearButton},a.createElement(g.IconButton,{size:"small",onClick:()=>{var u;const n={...this.state.filter};n[e]="",((u=this.filterRefs[e].current)==null?void 0:u.childNodes[1]).value="",this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(n)),this.setState({filter:n,filterKey:this.state.filterKey+1},()=>this.props.onFilterChanged&&this.props.onFilterChanged(n))}},a.createElement(m.Close,null))):null)}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles.map(e=>e.role))}getFilterSelectRoom(){const e=this.info.roomEnums.map(t=>{var s,o,r,M;return{name:Oe((o=(s=this.objects[t])==null?void 0:s.common)==null?void 0:o.name,this.props.lang)||t.split(".").pop(),value:t,icon:a.createElement(Ie,{src:((M=(r=this.objects[t])==null?void 0:r.common)==null?void 0:M.icon)||"",style:A.selectIcon})}});return this.getFilterSelect("room",e)}getFilterSelectFunction(){const e=this.info.funcEnums.map(t=>{var s,o,r,M;return{name:Oe((o=(s=this.objects[t])==null?void 0:s.common)==null?void 0:o.name,this.props.lang)||t.split(".").pop(),value:t,icon:a.createElement(Ie,{src:((M=(r=this.objects[t])==null?void 0:r.common)==null?void 0:M.icon)||"",style:A.selectIcon})}});return this.getFilterSelect("func",e)}getFilterSelectType(){const e=this.info.types.map(t=>({name:t,value:t,icon:vM[t]||null}));return this.getFilterSelect("type",e)}getFilterSelectCustoms(){if(this.info.customs.length>1){const e=this.info.customs.map(t=>({name:t==="_"?this.texts.filterCustomsWithout:t,value:t,icon:t==="_"?null:a.createElement(Ie,{src:ci(this.objects,t,this.props.lang,this.imagePrefix)||"",style:A.selectIcon})}));return this.getFilterSelect("custom",e)}return null}onExpandAll(e,t){var o;const s=e||this.root;t=t||[],(o=s==null?void 0:s.children)==null||o.forEach(r=>{r.data.sumVisibility&&(t.push(r.data.id),this.onExpandAll(r,t))}),s===this.root&&(t.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t}))}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(e,t,s){var o;e=e||this.root,t>0&&((o=e.children)==null||o.forEach(r=>{r.data.sumVisibility&&(Is(s,r.data.id)||(s.push(r.data.id),s.sort()),t-1>0&&this.expandDepth(r,t-1,s))}))}static collapseDepth(e,t){return t.filter(s=>s.split(".").length<=e)}onExpandVisible(){if(this.state.depth<9){const e=this.state.depth+1,t=[...this.state.expanded];this.root&&this.expandDepth(this.root,e,t),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}onStatesViewVisible(){const e=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(e)),this.setState({statesView:e})}onCollapseVisible(){if(this.state.depth>0){const e=this.state.depth-1,t=We.collapseDepth(e,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}getEnumsForId=e=>{const t=[];return this.info.enums.forEach(s=>{var o,r,M;if((M=(r=(o=this.objects[s])==null?void 0:o.common)==null?void 0:r.members)!=null&&M.includes(e)){const n={_id:this.objects[s]._id,common:JSON.parse(JSON.stringify(this.objects[s].common)),native:this.objects[s].native,type:"enum"};n.common&&(delete n.common.members,delete n.common.custom,delete n.common.mobile),t.push(n)}}),t.length?t:void 0};_createAllEnums=async(e,t)=>{var s,o;for(let r=0;ro)break}return e}return[]}async _exportObjects(e){var r;if(e.isAll){YM("allObjects.json",this.objects,e);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}const t={},s=this.state.selected[0]||this.state.selectedNonObject,o=this._getSelectedIdsForExport();for(const M of o){if(t[M]=JSON.parse(JSON.stringify(this.objects[M])),((r=t[M])==null?void 0:r.type)==="state"&&!e.noStatesByExportImport){const n=await this.props.socket.getState(M);n&&(t[M].val=n.val,t[M].ack=n.ack)}if(t[M].common){const n=this.getEnumsForId(M);n&&(t[M].common.enums=n)}}YM(`${s}.json`,t,e)}renderExportDialog(){return this.state.showExportDialog===!1?null:a.createElement(g.Dialog,{open:!0,maxWidth:"lg"},a.createElement(g.DialogTitle,null,this.props.t("ra_Select type of export")),a.createElement(g.DialogContent,null,a.createElement(g.DialogContentText,null,this.state.filter.expertMode||this.state.showAllExportOptions?a.createElement(a.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),a.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),a.createElement("br",null),a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{checked:this.state.noStatesByExportImport,onChange:e=>this.setState({noStatesByExportImport:e.target.checked})}),label:this.props.t("ra_Do not export values of states")}),a.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{checked:this.state.beautifyJsonExport,onChange:e=>this.setState({beautifyJsonExport:e.target.checked})}),label:this.props.t("Beautify JSON output")}),a.createElement("br",null),a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:e=>this.setState({excludeSystemRepositoriesFromExport:e.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{checked:this.state.excludeTranslations,onChange:e=>this.setState({excludeTranslations:e.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),a.createElement(g.DialogActions,null,this.state.filter.expertMode||this.state.showAllExportOptions?a.createElement(g.Button,{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}))},a.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):a.createElement(g.Button,{color:"grey",variant:"outlined",startIcon:a.createElement(uo,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),a.createElement(g.Button,{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}))},a.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),a.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:a.createElement(m.Close,null)},this.props.t("ra_Cancel"))))}renderRenameDialog(){var t;if(!this.state.showRenameDialog)return null;const e=this.props.objectMoveRenameDialog;return a.createElement(e,{expertMode:this.props.expertMode,onClose:()=>this.setState({showRenameDialog:null}),id:this.state.showRenameDialog.id,childrenIds:this.state.showRenameDialog.childrenIds,theme:this.props.theme,socket:this.props.socket,t:this.props.t,objectType:(t=this.objects[this.state.showRenameDialog.id])==null?void 0:t.type})}handleJsonUpload(e){var o;const t=e.target,s=((o=t.files)==null?void 0:o.length)&&t.files[0];if(s){const r=new FileReader;r.onload=async M=>{var u;const n=(u=M.target)==null?void 0:u.result;try{const N=JSON.parse(n),l=Object.keys(N).length,c=N._id;if(c===void 0&&l)await this.loadObjects(N),window.alert(this.props.t("ra_%s object(s) processed",l));else{if(!c)return window.alert(this.props.t("ra_Invalid structure"));try{let L,j,T;if(N.common.enums&&(L=N.common.enums,delete N.common.enums),N.val&&(j=N.val,delete N.val),N.ack!==void 0&&(T=N.ack,delete N.ack),await this.props.socket.setObject(N._id,N),N.type==="state")if(j!=null)await this.props.socket.setState(N._id,j,T===void 0?!0:T);else{const D=await this.props.socket.getState(N._id);(!D||D.val===null||D.val===void 0)&&await this.props.socket.setState(N._id,N.common.def===void 0?null:N.common.def,!0)}L&&await this._createAllEnums(L,N._id),window.alert(this.props.t("ra_%s was imported",N._id))}catch(L){window.alert(L)}}}catch(N){window.alert(N)}return null},r.readAsText(s)}else window.alert(this.props.t("ra_Failed to open JSON File"))}toolTipObjectCreating=()=>{var s,o;const{t:e}=this.props;let t=[a.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),a.createElement("div",{key:2},e("ra_Folder → State")),a.createElement("div",{key:3},e("ra_Folder → Channel → State")),a.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),a.createElement("div",{key:5},e("ra_Device → Channel → State")),a.createElement("div",{key:6},e("ra_Channel → State")),a.createElement("div",{key:7,style:{height:10}}),a.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),a.createElement("div",{key:9},e('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){const r=this.state.selected[0]||this.state.selectedNonObject;if(!(r.split(".").length<2||this.objects[r]&&((s=this.objects[r])==null?void 0:s.type)==="state"))if(this.state.filter.expertMode)switch((o=this.objects[r])==null?void 0:o.type){case"device":t=[a.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),a.createElement("div",{key:5},e("ra_Device → Channel → State")),a.createElement("div",{key:7,style:{height:10}}),a.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),a.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":t=[a.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),a.createElement("div",{key:2},e("ra_Folder → State")),a.createElement("div",{key:3},e("ra_Folder → Channel → State")),a.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),a.createElement("div",{key:7,style:{height:10}}),a.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),a.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":t=[a.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),a.createElement("div",{key:1},e("ra_Channel → State")),a.createElement("div",{key:7,style:{height:10}}),a.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),a.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break}else(r.startsWith("alias.0")||r.startsWith("0_userdata"))&&(t=[a.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),a.createElement("div",{key:2},e("ra_Folder → State")),a.createElement("div",{key:3},e("ra_Folder → Channel → State")),a.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),a.createElement("div",{key:5},e("ra_Device → Channel → State")),a.createElement("div",{key:6},e("ra_Channel → State")),a.createElement("div",{key:7,style:{height:10}}),a.createElement("div",{key:7},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),a.createElement("div",{key:8},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return t.length?t:e("ra_Add new child object to selected parent")};getToolbar(){let e=!1;if(this.state.selected.length||this.state.selectedNonObject){const t=this.state.selected[0]||this.state.selectedNonObject;t.split(".").length<2||this.objects[t]&&this.objects[t].type==="state"?e=!1:(this.state.filter.expertMode||t.startsWith("alias.0")||t.startsWith("0_userdata"))&&(e=!0)}return a.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},a.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},a.createElement(g.Tooltip,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:A.tooltip}}},a.createElement("div",null,a.createElement(g.IconButton,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},a.createElement(m.Refresh,null)))),this.props.showExpertButton&&!this.props.expertMode&&a.createElement(g.Tooltip,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>this.onFilter("expertMode",!this.state.filter.expertMode),size:"large"},a.createElement(uo,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&a.createElement(g.Tooltip,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},a.createElement(m.ViewColumn,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&a.createElement(g.Tooltip,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},a.createElement(Ks,null))),a.createElement(g.Tooltip,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},a.createElement(Gt,null))),this.props.width!=="xs"&&a.createElement(g.Tooltip,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},a.createElement(g.Badge,{badgeContent:this.state.depth,color:"secondary",sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}})},a.createElement(Ks,null)))),this.props.width!=="xs"&&a.createElement(g.Tooltip,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},a.createElement(g.Badge,{sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},a.createElement(Gt,null)))),this.props.objectStatesView&&a.createElement(g.Tooltip,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{onClick:()=>this.onStatesViewVisible(),size:"large"},a.createElement(m.LooksOne,{color:this.state.statesView?"primary":"inherit"}))),a.createElement(g.Tooltip,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},a.createElement(m.TextFields,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?a.createElement(g.Tooltip,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:A.tooltip}}},a.createElement("div",null,a.createElement(g.IconButton,{disabled:!e,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},a.createElement(m.Add,null)))):null,this.props.objectImportExport&&a.createElement(g.Tooltip,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{onClick:()=>{const t=document.createElement("input");t.setAttribute("type","file"),t.setAttribute("id","files"),t.setAttribute("opacity","0"),t.addEventListener("change",s=>this.handleJsonUpload(s),!1),t.click()},size:"large"},a.createElement(m.Publish,null))),this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&a.createElement(g.Tooltip,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},a.createElement(m.Publish,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&a.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(t=>this.info.objects[t].type==="state").length}`),this.props.objectEditBoolean&&a.createElement(g.Tooltip,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{onClick:()=>{var s;const t=this.root?ma(this.root,"state",this.objects):[];t.length?(this.pauseSubscribe(!0),t.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(s=this.props.router)==null||s.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:t,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},a.createElement(m.Build,null))))}toggleExpanded(e){const t=JSON.parse(JSON.stringify(this.state.expanded)),s=t.indexOf(e);s===-1?(t.push(e),t.sort()):t.splice(s,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t})}onCopy(e,t){e.stopPropagation(),e.preventDefault(),t&&(S.copyToClipboard(t),t.length<50?this.setState({toast:this.props.t("ra_Copied %s",t)}):this.setState({toast:this.props.t("ra_Copied")}))}renderTooltipAccessControl=e=>{if(!e)return null;const t=[{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"}],s=[],o=r=>{const M=e[r];t.forEach((n,u)=>{M&n.valueNum&&s.push(a.createElement("span",{key:r+u},this.texts[`acl${n.group}_${n.title}_${r}`],",",a.createElement("span",{style:r==="object"?A.rightsObject:A.rightsState},n.value)))})};return s.push(a.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(e.ownerGroup||"").replace("system.group.","")}`)),s.push(a.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(e.owner||"").replace("system.user.","")}`)),o("object"),e.state&&o("state"),s.length?a.createElement("span",{style:A.tooltipAccessControl},s.map(r=>r)):null};renderColumnButtons(e,t){var M,n,u;if(!t.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?a.createElement("div",{style:A.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?a.createElement(g.IconButton,{sx:{...A.cellButtonsButton,...A.cellButtonsEmptyButton,...A.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},a.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&t.children&&t.children.length?a.createElement(g.IconButton,{sx:{...A.cellButtonsButton,...A.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var L;const N=Object.keys(this.objects);N.sort();let l=0;const c=`${e}.`;for(let j=0;jc)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((L=t.children)!=null&&L.length),!1,l+1)}},a.createElement(m.Delete,{style:A.cellButtonsButtonIcon})):null):null;t.data.aclTooltip=t.data.aclTooltip||this.renderTooltipAccessControl(t.data.obj.acl);const s=t.data.obj.acl?t.data.obj.type==="state"?t.data.obj.acl.state:t.data.obj.acl.object:0,o=t.data.obj.acl&&(t.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),r=this.state.filter.expertMode||We.isNonExpertId(t.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?a.createElement(g.Tooltip,{key:"acl",title:t.data.aclTooltip,slotProps:{popper:{sx:A.tooltip}}},a.createElement(g.IconButton,{sx:{...A.cellButtonsButton,...A.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},a.createElement("div",{style:A.aclText},Number.isNaN(Number(s))?Number(o).toString(16):Number(s).toString(16)))):a.createElement("div",{key:"aclEmpty",style:A.cellButtonMinWidth}),r?a.createElement(g.IconButton,{key:"edit",sx:{marginRight:"2px",...A.cellButtonsButton},size:"small","aria-label":"edit",title:this.texts.editObject,onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.setState({editObjectDialog:e,editObjectAlias:!1})}},a.createElement(m.Edit,{style:A.cellButtonsButtonIcon})):a.createElement(g.Box,{component:"div",key:"editDisabled",sx:A.cellButtonsButton}),this.props.onObjectDelete&&((M=t.children)!=null&&M.length||!((n=t.data.obj.common)!=null&&n.dontDelete))?a.createElement(g.IconButton,{key:"delete",sx:A.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var L,j,T;const N=Object.keys(this.objects);N.sort();let l=0;const c=`${e}.`;for(let D=0;Dc)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((L=t.children)!=null&&L.length),!((T=(j=t.data.obj)==null?void 0:j.common)!=null&&T.dontDelete),l)},title:this.texts.deleteObject},a.createElement(m.Delete,{style:A.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&t.data.obj.type==="state"&&((u=t.data.obj.common)==null?void 0:u.type)!=="file"?a.createElement(g.IconButton,{sx:{...A.cellButtonsButton,...t.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:A.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var N;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.pauseSubscribe(!0),(N=this.props.router)==null||N.doNavigate(null,"customs",e),this.setState({customDialog:[e],customDialogAll:!1})}},a.createElement(m.Settings,{style:A.cellButtonsButtonIcon})):null]}readHistory(e){var t,s;if(window.sparkline&&this.defaultHistory&&((s=(t=this.objects[e])==null?void 0:t.common)!=null&&s.custom)&&this.objects[e].common.custom[this.defaultHistory]){const o=new Date;o.setHours(o.getHours()-24),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0);const r=o.getTime();this.props.socket.getHistory(e,{instance:this.defaultHistory,start:r,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addId:!1,aggregate:"minmax"}).then(M=>{const n=window.document.getElementsByClassName("sparkline");for(let u=0;uconsole.warn(`Cannot read history: ${M}`))}}getTooltipInfo(e,t){var N,l,c;const s=this.objects[e],o=this.states[e],{valFull:r,fileViewer:M}=bi({state:o,obj:s,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}),n=[];r==null||r.forEach(L=>{L.t===this.texts.quality&&o.q?(n.push(a.createElement("div",{style:A.cellValueTooltipBoth,key:L.t},L.t,": ",L.v)),L.nbr||n.push(a.createElement("br",{key:`${L.t}_br`}))):(n.push(a.createElement("div",{style:A.cellValueTooltipTitle,key:L.t},L.t,": ")),n.push(a.createElement("div",{style:A.cellValueTooltipValue,key:`${L.t}_v`},L.v)),L.nbr||n.push(a.createElement("br",{key:`${L.t}_br`})))});const u=((N=s==null?void 0:s.common)==null?void 0:N.role)||"";M==="image"?n.push(a.createElement("img",{style:A.cellValueTooltipImage,src:o.val,alt:e})):u==="url"||s.common.role==="url.self"||s.common.role==="url.blank"?n.unshift(a.createElement("div",{key:"ctrl",style:{textDecoration:"underline",fontWeight:"bold"}},this.texts.ctrlForLink)):this.defaultHistory&&((c=(l=s==null?void 0:s.common)==null?void 0:l.custom)!=null&&c[this.defaultHistory])&&n.push(a.createElement("svg",{key:"sparkline",className:"sparkline","data-id":e,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:n,id:e}},()=>t&&t())}renderColumnValue(e,t,s){var u,N;const o=t.data.obj;if(!o||!this.states)return null;if(((u=o.common)==null?void 0:u.type)==="file")return a.createElement(g.Box,{component:"div",sx:{...A.cellValueText,...A.cellValueFile}},"[file]");if(!this.states[e])return o.type==="state"&&(this.recordStates.includes(e)||this.recordStates.push(e),this.states[e]={val:null},this.subscribe(e)),null;this.recordStates.includes(e)||this.recordStates.push(e);const r=this.states[e];let M=t.data.state;if(!M){const{valText:l}=bi({state:r,obj:o,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),c=[];if(t.data.state={valTextRx:c},c.push(a.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${l.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},l.v.toString())),l.u&&c.push(a.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:A.cellValueTextUnit,key:`${l.v.toString()}unit`},l.u)),l.s!==void 0&&c.push(a.createElement("span",{style:A.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${l.v.toString()}states`},"(",l.s,")")),!s){const L=l.c!==void 0?l.c:l.v||"";c.push(a.createElement($t,{className:"copyButton",style:this.styles.iconCopy,onClick:j=>this.onCopy(j,L),key:"cc"}))}M=t.data.state}M.style=INe({state:r,isExpertMode:this.state.filter.expertMode,isButton:t.data.button});let n=M.valTextRx;return this.state.filter.expertMode||(t.data.button?n=[a.createElement(yNe,{key:"button",style:{color:M.style.color,...A.cellValueButton}})]:t.data.switch&&(n=[a.createElement(g.Switch,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:M.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[e].val&&this.state.selected.includes(e)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[e].val})])),a.createElement(g.Tooltip,{key:"value",title:(N=this.state.tooltipInfo)==null?void 0:N.el,slotProps:{popper:{sx:A.cellValueTooltipBox},tooltip:{sx:A.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(e,()=>this.readHistory(e)),onClose:()=>{var l;return((l=this.state.tooltipInfo)==null?void 0:l.id)===e&&this.setState({tooltipInfo:null})}},a.createElement(g.Box,{component:"div",style:M.style,className:t.data.url?"iob-link":void 0,sx:{...A.cellValueText,height:s?void 0:de,"& .admin-button:active":{transform:"translate(0, 2px)"}}},n))}_syncEnum(e,t,s,o){var n,u,N;if(!t||!t.length){o&&o();return}const r=t.pop()||"",M=[];if((n=this.info.objects[r])!=null&&n.common){if((u=this.info.objects[r].common.members)!=null&&u.length){const l=this.info.objects[r].common.members.indexOf(e);if(l!==-1&&!s.includes(r)){const c=JSON.parse(JSON.stringify(this.info.objects[r]));c.common.members.splice(l,1),M.push(this.props.socket.setObject(r,c).then(()=>this.info.objects[r]=c).catch(L=>this.showError(L)))}}if(s.includes(r)&&!((N=this.info.objects[r].common.members)!=null&&N.includes(e))){const l=JSON.parse(JSON.stringify(this.info.objects[r]));l.common.members=l.common.members||[],l.common.members.push(e),l.common.members.sort(),M.push(this.props.socket.setObject(r,l).then(()=>this.info.objects[r]=l).catch(c=>this.showError(c)))}}Promise.all(M).then(()=>{setTimeout(()=>this._syncEnum(e,t,s,o),0)})}syncEnum(e,t,s){const o=[...this.info[t==="func"?"funcEnums":"roomEnums"]];return new Promise(r=>{this._syncEnum(e,o,s,()=>{r()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;const e=this.state.enumDialog.type,t=this.state.enumDialog.item,s=this.state.enumDialogEnums,o=this.state.enumDialog.enumsOriginal,r=(e==="room"?this.info.roomEnums:this.info.funcEnums).map(M=>{var n,u;return{name:Oe(((u=(n=this.objects[M])==null?void 0:n.common)==null?void 0:u.name)||M.split(".").pop()||"",this.props.lang),value:M,icon:ci(this.objects,M,this.props.lang,this.imagePrefix)}}).sort((M,n)=>M.name>n.name?1:-1);return r.forEach(M=>{M.icon&&typeof M.icon=="string"&&(M.icon=a.createElement(g.Box,{style:A.enumIconDiv},a.createElement("img",{src:M.icon,style:A.enumIcon,alt:M.name})))}),a.createElement(g.Dialog,{sx:{"& .MuiPaper-root":A.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},a.createElement(g.DialogTitle,{id:"enum-dialog-title",style:{display:"flex",justifyContent:"space-between",width:"100%",flexWrap:"nowrap",gap:8,paddingRight:12}},e==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),a.createElement(g.Fab,{color:"primary",disabled:o===JSON.stringify(s),size:"small",onClick:()=>this.syncEnum(t.data.id,e,s).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},a.createElement(m.Check,null))),a.createElement(g.List,{sx:{"&.MuiList-root":A.enumList}},r.map(M=>{let n,u,N;typeof M=="object"?(n=M.value,u=M.name,N=M.icon):(n=M,u=M);const l=`checkbox-list-label-${n}`;return a.createElement(g.ListItem,{sx:A.headerCellSelectItem,key:n,onClick:()=>{const c=s.indexOf(n),L=JSON.parse(JSON.stringify(this.state.enumDialogEnums));c===-1?(L.push(n),L.sort()):L.splice(c,1),this.setState({enumDialogEnums:L})},secondaryAction:N},a.createElement(g.ListItemIcon,{sx:{"&.MuiListItemIcon-root":A.enumCheckbox}},a.createElement(g.Checkbox,{edge:"start",checked:s.includes(n),tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":l}})),a.createElement(g.ListItemText,{id:l},u))})))}renderEditRoleDialog(){var e,t;if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){const s=this.props.objectBrowserEditRole;return a.createElement(s,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roleArray:this.info.roles,commonType:(t=(e=this.info.objects[this.state.roleDialog])==null?void 0:e.common)==null?void 0:t.type,onClose:o=>{o&&(this.info.objects[this.state.roleDialog]=o),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(e){var s,o;const t=this.customColumnDialog;if(e){let r=t.value;t.type==="boolean"?r=r==="true"||r===!0:t.type==="number"&&(r=parseFloat(r)),this.customColumnDialog=null,this.props.socket.getObject(((o=(s=this.state.columnsEditCustomDialog)==null?void 0:s.obj)==null?void 0:o._id)||"").then(M=>{var n;if(M&&We.setCustomValue(M,(n=this.state.columnsEditCustomDialog)==null?void 0:n.it,r))return this.props.socket.setObject(M._id,M);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(M=>this.showError(M))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){const e=We.getCustomValue(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof e,initValue:(e??"").toString(),value:(e??"").toString()}}return a.createElement(g.Dialog,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},a.createElement(g.DialogTitle,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),a.createElement(g.DialogContent,null,a.createElement(g.DialogContentText,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:e=>{const t=this.customColumnDialog;t.value=e.target.checked.toString();const s=t.value!==t.initValue;s===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:s})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):a.createElement(g.TextField,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:e=>{const t=this.customColumnDialog;t.value=e.target.value;const s=t.value!==t.initValue;s===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:s})},autoFocus:!0}))),a.createElement(g.DialogActions,null,a.createElement(g.Button,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:a.createElement(m.Check,null)},this.props.t("ra_Update")),a.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:a.createElement(m.Close,null)},this.props.t("ra_Cancel"))))}static getCustomValue(e,t){var s;if((s=e==null?void 0:e._id)!=null&&s.startsWith(`${t.adapter}.`)&&t.path.length>1){const o=t.path;let r;const M=e;if(M[o[0]]&&typeof M[o[0]]=="object")return o.length===2?r=M[o[0]][o[1]]:o.length===3?r=M[o[0]][o[1]]&&typeof M[o[0]][o[1]]=="object"?M[o[0]][o[1]][o[2]]:null:o.length===4?r=M[o[0]][o[1]]&&typeof M[o[0]][o[1]]=="object"&&M[o[0]][o[1]][o[2]]?M[o[0]][o[1]][o[2]][o[3]]:null:o.length===5?r=M[o[0]][o[1]]&&typeof M[o[0]][o[1]]=="object"&&M[o[0]][o[1]][o[2]]&&M[o[0]][o[1]][o[2]][o[3]]?M[o[0]][o[1]][o[2]][o[3]][o[4]]:null:o.length===6&&(r=M[o[0]][o[1]]&&typeof M[o[0]][o[1]]=="object"&&M[o[0]][o[1]][o[2]]&&M[o[0]][o[1]][o[2]][o[3]]&&M[o[0]][o[1]][o[2]][o[3]][o[4]]?M[o[0]][o[1]][o[2]][o[3]][o[4]][o[5]]:null),r??null}return null}static setCustomValue(e,t,s){var o;if((o=e==null?void 0:e._id)!=null&&o.startsWith(`${t.adapter}.`)&&t.path.length>1){const r=t.path,M=e;if(M[r[0]]&&typeof M[r[0]]=="object"){if(r.length===2)return M[r[0]][r[1]]=s,!0;if(r.length===3){if(M[r[0]][r[1]]&&typeof M[r[0]][r[1]]=="object")return M[r[0]][r[1]][r[2]]=s,!0}else if(r.length===4){if(M[r[0]][r[1]]&&typeof M[r[0]][r[1]]=="object"&&M[r[0]][r[1]][r[2]]&&typeof M[r[0]][r[1]][r[2]]=="object")return M[r[0]][r[1]][r[2]][r[3]]=s,!0}else if(r.length===5){if(M[r[0]][r[1]]&&typeof M[r[0]][r[1]]=="object"&&M[r[0]][r[1]][r[2]]&&typeof M[r[0]][r[1]][r[2]]=="object"&&M[r[0]][r[1]][r[2]][r[3]]&&typeof M[r[0]][r[1]][r[2]][r[3]]=="object")return M[r[0]][r[1]][r[2]][r[3]][r[4]]=s,!0}else if(r.length===6&&M[r[0]][r[1]]&&typeof M[r[0]][r[1]]=="object"&&M[r[0]][r[1]][r[2]]&&typeof M[r[0]][r[1]][r[2]]=="object"&&M[r[0]][r[1]][r[2]][r[3]]&&typeof M[r[0]][r[1]][r[2]][r[3]]=="object"&&M[r[0]][r[1]][r[2]][r[3]][r[4]]&&typeof M[r[0]][r[1]][r[2]][r[3]][r[4]]=="object")return M[r[0]][r[1]][r[2]][r[3]][r[4]][r[5]]=s,!0}}return!1}renderCustomValue(e,t,s){const o=We.getCustomValue(e,t);return o!=null?t.edit&&!this.props.notEditable&&(!t.objTypes||t.objTypes.includes(e.type))?a.createElement(g.Box,{component:"div",style:{...A.columnCustom,...A.columnCustomEditable,...A[`columnCustom_${t.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:s,it:t,obj:e},customColumnDialogValueChanged:!1})},o):a.createElement(g.Box,{component:"div",style:{...A.columnCustom,...A[`columnCustom_${t.align}`]}},o):null}renderAliasLink(e,t,s){const o=t||0,r=this.objects[this.info.aliasesMap[e][o]].common.alias.id;return r?a.createElement(g.Box,{component:"div",onClick:M=>{M.stopPropagation(),M.preventDefault();const n=this.info.aliasesMap[e][o];this.info.aliasesMap[e].length>1&&this.setState({aliasMenu:""}),this.onSelect(n),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(n)),100)},sx:s||this.styles.aliasAlone},a.createElement("span",{className:"admin-browser-arrow"},typeof r=="string"||r.read===e&&r.write===e?"↔":r.read===e?"→":"←"),this.info.aliasesMap[e][o]):null}renderLeaf(e,t,s){var is,os,rs,_s,Ss,er,tr,sr,ir,or,rr,Mr,nr,ar;const o=e.data.id;s.count++,t=t===void 0?this.state.expanded.includes(o):t;let r;const M=e.data.obj,n=M==null?void 0:M.type;e.children||n==="folder"||n==="device"||n==="channel"||n==="meta"?r=t?a.createElement(Ks,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(o)}):a.createElement(Gt,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(o)}):M&&M.common&&M.common.write===!1&&M.type==="state"?r=a.createElement(cNe,{style:this.styles.cellIdIconDocument}):r=a.createElement(aNe,{style:this.styles.cellIdIconDocument});let u=null;e.data.icon&&(typeof e.data.icon=="string"?e.data.icon.length<3?u=a.createElement("span",{className:"iconOwn",style:A.cellIdIconOwn},e.data.icon):u=a.createElement(Ie,{style:A.cellIdIconOwn,className:"iconOwn",src:e.data.icon,alt:""}):u=e.data.icon);const N=M==null?void 0:M.common,l=(M==null?void 0:M.type)&&vM[M.type]||a.createElement("div",{className:"itemIcon"}),c=this.levelPadding*(e.data.level||0);if(e.data.lang!==this.props.lang){const{rooms:Q,per:X}=_a(this.info,o,this.props.lang);e.data.rooms=Q.join(", "),e.data.per=X;const{funcs:Ce,pef:Ne}=Sa(this.info,o,this.props.lang);e.data.funcs=Ce.join(", "),e.data.pef=Ne,e.data.lang=this.props.lang}const L=this.props.multiSelect&&this.objects[o]&&(!this.props.types||this.props.types.includes(this.objects[o].type))?a.createElement(g.Checkbox,{style:A.checkBox,checked:this.state.selected.includes(o)}):null;let j=!this.props.notEditable&&n==="state"&&(this.state.filter.expertMode||(N==null?void 0:N.write)!==!1);this.props.objectBrowserViewFile&&(N==null?void 0:N.type)==="file"&&(j=!0);const T=!this.props.notEditable&&this.objects[o]&&(this.state.filter.expertMode||n==="state"||n==="channel"||n==="device"),D=this.state.statesView&&(n==="state"||n==="channel"||n==="device");let z="";const h=[];if(D&&(z=(is=this.states[o])==null?void 0:is.from,z===void 0?z=" ":(z=z?z.replace(/^system\.adapter\.|^system\./,""):"",h.push(`${this.texts.stateChangedFrom} ${z}`)),M!=null&&M.user)){const Q=M.user.replace("system.user.","");z+=`/${Q}`,h.push(`${this.texts.stateChangedBy} ${Q}`)}M&&(M.from&&h.push(`${this.texts.objectChangedFrom} ${M.from.replace(/^system\.adapter\.|^system\./,"")}`),M.user&&h.push(`${this.texts.objectChangedBy} ${M.user.replace(/^system\.user\./,"")}`),M.ts&&h.push(`${this.texts.objectChangedByUser} ${S.formatDate(new Date(M.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let O=!1,p=null;o.startsWith("alias.")&&((os=N==null?void 0:N.alias)!=null&&os.id)?(O=typeof N.alias.id=="object",O?p=a.createElement("div",{style:A.cellIdAliasReadWriteDiv},N.alias.id.read?a.createElement(g.Box,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(N.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(N.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"←",N.alias.id.read):null,N.alias.id.write?a.createElement(g.Box,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(N.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(N.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"→",N.alias.id.write):null):p=a.createElement(g.Box,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(N.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(N.alias.id)),100)},sx:this.styles.aliasAlone},"→",N.alias.id)):this.info.aliasesMap[o]&&(this.info.aliasesMap[o].length>1?p=a.createElement(g.Box,{component:"div",id:`alias_${o}`,onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.setState({aliasMenu:o})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[o].length)):p=this.renderAliasLink(o,0));let E=N==null?void 0:N.color,C;if(E&&!this.state.selected.includes(o)){const Q=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";S.colorDistance(E,Q)<1e3&&(C=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let I=!1;o==="0_userdata"?(E=Ia(this.props.themeType),I=!0):o==="alias"?(E=wa(this.props.themeType),I=!0):o==="javascript"?(E=TNe(this.props.themeType),I=!0):o==="system"?(E=Ca(this.props.themeType),I=!0):o==="system.adapter"?E=ha(this.props.themeType):(!E||this.state.selected.includes(o))&&(E="inherit");const _=[];if(N!=null&&N.statusStates){const Q={};Object.keys(N.statusStates).forEach(Ce=>{var be;let Ne=N.statusStates[Ce];Ne.split(".").length<3&&(Ne=`${o}.${Ne}`),Q[Ce]=Ne,this.states[Ne]?this.recordStates.includes(Ne)||this.recordStates.push(Ne):((be=this.objects[Ne])==null?void 0:be.type)==="state"&&(this.recordStates.includes(Ne)||this.recordStates.push(Ne),this.states[Ne]={val:null},this.subscribe(Ne))});let X=!1;N.statusStates.errorId&&this.states[Q.errorId]&&this.states[Q.errorId].val&&(E=this.props.themeType==="dark"?Aa:pa,X=!0,_.push(a.createElement(m.Error,{key:"error",style:this.styles.iconDeviceError}))),Q.onlineId&&this.states[Q.onlineId]?X?this.states[Q.onlineId].val?_.push(a.createElement(m.Wifi,{key:"conn",style:this.styles.iconDeviceConnected})):_.push(a.createElement(m.WifiOff,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[Q.onlineId].val?(E=this.props.themeType==="dark"?lo:Lo,_.push(a.createElement(m.Wifi,{key:"conn",style:this.styles.iconDeviceConnected}))):(E=this.props.themeType==="dark"?jo:go,_.push(a.createElement(m.WifiOff,{key:"disc",style:this.styles.iconDeviceDisconnected}))):Q.offlineId&&this.states[Q.offlineId]&&(X?this.states[Q.offlineId].val?_.push(a.createElement(m.WifiOff,{key:"disc",style:this.styles.iconDeviceDisconnected})):_.push(a.createElement(m.Wifi,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[Q.offlineId].val?(E=this.props.themeType==="dark"?jo:go,_.push(a.createElement(m.WifiOff,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(E=this.props.themeType==="dark"?lo:Lo,_.push(a.createElement(m.Wifi,{key:"conn",style:this.styles.iconDeviceConnected}))))}const k=D?S.quality2text(((rs=this.states[o])==null?void 0:rs.q)||0).join(", "):null;let f=((_s=e.data)==null?void 0:_s.title)||"",P=!1;if(this.state.showDescription){const Q=Oa(e.data,this.props.lang);Q&&(f=[a.createElement("div",{key:"name",style:A.cellNameDivDiv},f),a.createElement("div",{key:"desc",style:A.cellDescription},Q)],P=!!Q)}const Y=this.props.width==="xs"&&this.state.focused===o,V=a.createElement(g.Grid2,{container:!0,wrap:"nowrap",direction:"row",sx:A.cellId,style:{width:this.columnsVisibility.id,paddingLeft:c}},a.createElement(g.Grid2,{container:!0,alignItems:"center"},L,r),a.createElement(g.Grid2,{style:{...A.cellIdSpan,...C?this.styles.invertedBackground:void 0,color:E,fontWeight:I?"bold":void 0}},a.createElement(g.Tooltip,{title:zNe(e.data,this.props.lang),slotProps:{popper:{sx:A.tooltip}}},a.createElement("div",null,e.data.name)),p,_),a.createElement("div",{style:{...A.grow,...C?this.styles.invertedBackgroundFlex:{}}}),a.createElement(g.Grid2,{container:!0,alignItems:"center"},u),this.props.width!=="xs"?a.createElement("div",null,a.createElement($t,{className:Y?"":"copyButton",style:A.cellCopyButton,onClick:Q=>this.onCopy(Q,o)})):null);let oe=Y&&f||this.columnsVisibility.name?a.createElement(g.Box,{component:"div",sx:{...A.cellName,...P?A.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:Y?0:"5px"}},f,!Y&&((Ss=e.data)!=null&&Ss.title)?a.createElement(g.Box,{style:{color:E}},a.createElement($t,{className:"copyButton",style:A.cellCopyButton,onClick:Q=>{var X;return this.onCopy(Q,(X=e.data)==null?void 0:X.title)}})):null):null,F;this.state.statesView?F=[Y&&D&&((er=this.states[o])!=null&&er.from)||this.columnsVisibility.changedFrom?{el:a.createElement("div",{key:"from",style:{...A.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:h.join(` -`)},D&&((tr=this.states[o])!=null&&tr.from)?z:null),type:"from"}:null,Y&&k||this.columnsVisibility.qualityCode?{el:a.createElement("div",{key:"q",style:{...A.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:k||""},k),type:"quality"}:null,Y&&D&&((sr=this.states[o])!=null&&sr.ts)||this.columnsVisibility.timestamp?{el:a.createElement("div",{key:"ts",style:{...A.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},D&&((ir=this.states[o])!=null&&ir.ts)?S.formatDate(new Date(this.states[o].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,Y&&D&&((or=this.states[o])!=null&&or.lc)||this.columnsVisibility.lastChange?{el:a.createElement("div",{key:"lc",style:{...A.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},D&&((rr=this.states[o])!=null&&rr.lc)?S.formatDate(new Date(this.states[o].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:F=[Y&&(M!=null&&M.type)||this.columnsVisibility.type?{el:a.createElement("div",{key:"type",style:{...A.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},l," ",M==null?void 0:M.type),type:"filter_type"}:null,Y&&N||this.columnsVisibility.role?{el:a.createElement("div",{key:"role",style:{...A.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&T&&this.props.objectBrowserEditRole?"text":"default"},onClick:!Y&&this.state.filter.expertMode&&T&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0},N==null?void 0:N.role),type:"filter_role",onClick:Y&&this.state.filter.expertMode&&T&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0}:null,Y&&N||this.columnsVisibility.room?{el:a.createElement("div",{key:"room",style:{...A.cellRoom,...e.data.per?A.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:T?"text":"default"},onClick:!Y&&T?()=>{const Q=Wt(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(Q)}})}:void 0},e.data.rooms),type:"filter_room",onClick:Y&&T?()=>{const Q=Wt(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(Q)}})}:void 0}:null,Y&&N||this.columnsVisibility.func?{el:a.createElement("div",{key:"func",style:{...A.cellFunc,...e.data.pef?A.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:T?"text":"default"},onClick:!Y&&T?()=>{const Q=Wt(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(Q)}})}:void 0},e.data.funcs),type:"filter_func",onClick:Y&&T?()=>{const Q=Wt(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(Q)}})}:void 0}:null];let G=((Mr=this.adapterColumns)==null?void 0:Mr.map(Q=>a.createElement("div",{style:{...A.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[Q.id]:void 0},key:Q.id,title:`${Q.adapter} => ${Q.pathText}`},M?this.renderCustomValue(M,Q,e):null)))||null;const ue=Y||this.columnsVisibility.val?this.renderColumnValue(o,e,Y):null;let ke=Y&&ue||this.columnsVisibility.val?a.createElement("div",{style:{...A.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:j?(N==null?void 0:N.type)==="file"?"zoom-in":e.data.button?"grab":"text":"default"},onClick:Q=>{var X,Ce,Ne;if(j){if(!(!M||!this.states))if((N==null?void 0:N.type)==="file")this.setState({viewFileDialog:o});else if(e.data.url&&Q.ctrlKey){if((X=this.states[o])!=null&&X.val&&typeof this.states[o].val=="string")if((N==null?void 0:N.role)==="url.self")window.location.href=this.states[o].val;else{const be=window.open(this.states[o].val,"_blank");be==null||be.focus()}}else!this.state.filter.expertMode&&e.data.button?this.props.socket.setState(o,!0).catch(be=>window.alert(`Cannot write state "${o}": ${be}`)):!this.state.filter.expertMode&&e.data.switch?this.props.socket.setState(o,!this.states[o].val).catch(be=>window.alert(`Cannot write state "${o}": ${be}`)):(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}))}else(N==null?void 0:N.role)==="url"||(N==null?void 0:N.role)==="url.blank"&&Q.ctrlKey?(Ce=this.states[o])!=null&&Ce.val&&typeof this.states[o].val=="string"&&window.open(this.states[o].val,"_blank"):(N==null?void 0:N.role)==="url.self"&&Q.ctrlKey&&(Ne=this.states[o])!=null&&Ne.val&&typeof this.states[o].val=="string"&&(window.location.href=this.states[o].val)}},ue):null,Ye=Y||this.columnsVisibility.buttons?a.createElement("div",{style:{...A.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(o,e)):null,Qt=null;if(this.props.width==="xs"&&this.state.focused===o){F=F.filter(X=>X);let Q;F.length?Q=F.map(X=>X?a.createElement("div",{key:X.type,style:A.cellDetailsLine},a.createElement("span",{style:A.cellDetailsName},this.texts[X.type],":"),X.el,a.createElement("div",{style:{flexGrow:1}}),X.onClick?a.createElement(m.Edit,{style:A.cellCopyButtonInDetails,onClick:()=>{X!=null&&X.onClick&&X.onClick()}}):null):null):Q=null,G.length||(G=null),Qt=a.createElement(g.Paper,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},a.createElement("div",{style:A.cellDetailsLine},a.createElement("div",{style:{flexGrow:1}}),a.createElement($t,{style:A.cellCopyButtonInDetails,onClick:X=>this.onCopy(X,o)})),oe&&a.createElement("div",{style:A.cellDetailsLine},a.createElement("span",{style:A.cellDetailsName},this.texts.name,":"),oe,a.createElement("div",{style:{flexGrow:1}}),(nr=e.data)!=null&&nr.title?a.createElement($t,{className:"copyButton",style:A.cellCopyButtonInDetails,onClick:X=>{var Ce;return this.onCopy(X,(Ce=e.data)==null?void 0:Ce.title)}}):null),Q,G&&a.createElement("div",{style:A.cellDetailsLine},G),((ar=this.objects[o])==null?void 0:ar.type)==="state"&&a.createElement("div",{style:A.cellDetailsLine},a.createElement("span",{style:A.cellDetailsName},this.texts.value,":"),ke,a.createElement("div",{style:{flexGrow:1}}),a.createElement($t,{className:"copyButton",style:A.cellCopyButtonInDetails,onClick:X=>{const{valText:Ce}=bi({state:this.states[o],obj:this.objects[o],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(X,Ce.c!==void 0?Ce.c:Ce.v.toString())},key:"cc"})),Ye&&a.createElement("div",{style:{...A.cellDetailsLine,justifyContent:"right"}},Ye)),oe=null,F=null,G=null,ke=null,Ye=null}return{row:a.createElement(g.Grid2,{container:!0,direction:"row",wrap:"nowrap",sx:S.getStyle(this.props.theme,A.tableRow,this.state.linesEnabled&&A.tableRowLines,!this.props.dragEnabled&&A.tableRowNoDragging,p&&A.tableRowAlias,O&&A.tableRowAliasReadWrite,this.state.focused===o&&this.props.multiSelect&&A.tableRowFocused,!e.data.visible&&A.filteredOut,e.data.hasVisibleParent&&!e.data.visible&&!e.data.hasVisibleChildren&&A.filteredParentOut,this.state.selected.includes(o)&&A.itemSelected,this.state.selectedNonObject===o&&A.itemSelected),key:o,id:o,onMouseDown:Q=>{this.onSelect(o);let X;"which"in Q?X=Q.which===3:"button"in Q&&(X=Q.button===2),X?this.contextMenu={item:e,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{e.children?this.toggleExpanded(o):this.onSelect(o,!0)}},V,oe,F==null?void 0:F.map(Q=>Q==null?void 0:Q.el),G,ke,Ye),details:Qt}}renderItem(e,t,s){const o=[];s=s||{count:0};const r=this.renderLeaf(e,t,s);let M;const n=this.props.DragWrapper;return this.props.dragEnabled&&n?e.data.sumVisibility?M=a.createElement(n,{key:e.data.id,item:e,style:A.draggable},r.row):M=a.createElement("div",{key:e.data.id,style:A.nonDraggable},r.row):M=r.row,e.data.id&&M&&o.push(M),r.details&&o.push(r.details),t=t===void 0?Is(this.state.expanded,e.data.id):t,(!e.data.id||t)&&(this.state.foldersFirst?e.children&&(o.push(e.children.map(u=>u.children&&(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null)),o.push(e.children.map(u=>!u.children&&(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null))):e.children&&o.push(e.children.map(u=>(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null))),o}calculateColumnsVisibility(e,t,s,o){let r=o||this.state.columnsWidths;const M=s||this.state.columnsForAdmin,n=t||this.state.columns||[],u=typeof e!="boolean"?this.state.columnsAuto:e;r=JSON.parse(JSON.stringify(r)),Object.keys(r).forEach(l=>{r[l]&&(r[l]=parseInt(r[l],10)||0)}),this.adapterColumns=[];const N=re[this.props.width||"lg"].widths;if(u){if(this.columnsVisibility={id:re[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&N.name||0,nameHeader:this.visibleCols.includes("name")&&N.name||0,type:this.visibleCols.includes("type")&&N.type||0,role:this.visibleCols.includes("role")&&N.role||0,room:this.visibleCols.includes("room")&&N.room||0,func:this.visibleCols.includes("func")&&N.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&N.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&N.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&N.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&N.lastChange||0,val:this.visibleCols.includes("val")&&N.val||0,buttons:this.visibleCols.includes("buttons")&&N.buttons||0},this.columnsVisibility.name&&!this.customWidth){let l=this.columnsVisibility.id||0;this.state.statesView?(l+=this.columnsVisibility.changedFrom||0,l+=this.columnsVisibility.qualityCode||0,l+=this.columnsVisibility.timestamp||0,l+=this.columnsVisibility.lastChange||0):(l+=this.columnsVisibility.type||0,l+=this.columnsVisibility.role||0,l+=this.columnsVisibility.room||0,l+=this.columnsVisibility.func||0),l+=this.columnsVisibility.val||0,l+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${l+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${l+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let l=0;this.state.statesView?(l+=this.columnsVisibility.changedFrom||0,l+=this.columnsVisibility.qualityCode||0,l+=this.columnsVisibility.timestamp||0,l+=this.columnsVisibility.lastChange||0):(l+=this.columnsVisibility.type||0,l+=this.columnsVisibility.role||0,l+=this.columnsVisibility.room||0,l+=this.columnsVisibility.func||0),l+=this.columnsVisibility.val||0,l+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${l+5}px)`}}else{const l=this.props.width||"lg";this.columnsVisibility={id:r.id||re[l].idWidth,name:n.includes("name")&&(r.name||N.name||re[l].widths.name)||0,type:n.includes("type")&&(r.type||N.type||re[l].widths.type)||0,role:n.includes("role")&&(r.role||N.role||re[l].widths.role)||0,room:n.includes("room")&&(r.room||N.room||re[l].widths.room)||0,func:n.includes("func")&&(r.func||N.func||re[l].widths.func)||0};let c=this.columnsVisibility.id;if(this.columnsVisibility.name&&(c+=this.columnsVisibility.type||0,c+=this.columnsVisibility.role||0,c+=this.columnsVisibility.room||0,c+=this.columnsVisibility.func||0),M&&n&&Object.keys(M).sort().forEach(L=>M[L].forEach(j=>{const T=`_${L}_${j.path}`;if(n.includes(T)){const D={adapter:L,id:`_${L}_${j.path}`,name:j.name,path:j.path.split("."),pathText:j.path};j.edit&&(D.edit=!0,j.type&&(D.type=j.type),j.objTypes&&(D.objTypes=j.objTypes)),this.adapterColumns.push(D),this.columnsVisibility[T]=r[D.id]||j.width||re[l].widths.func||re.xl.widths.func||0,c+=this.columnsVisibility[T]}else this.columnsVisibility[T]=0})),this.adapterColumns.sort((L,j)=>L.id>j.id?-1:L.idT==="id"||typeof this.columnsVisibility[T]=="string"||!this.columnsVisibility[T]?j:j+this.columnsVisibility[T],0);this.columnsVisibility.id=`calc(100% - ${L}px)`}}}resizerMouseMove=e=>{if(this.resizerActiveDiv){let t,s;this.resizeLeft?(t=this.resizerOldWidth-e.clientX+this.resizerPosition,s=this.resizerOldWidthNext+e.clientX-this.resizerPosition):(t=this.resizerOldWidth+e.clientX-this.resizerPosition,s=this.resizerOldWidthNext-e.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||t>this.resizerMin)&&(!this.resizerNextMin||s>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=t,this.resizerCurrentWidths[this.resizerNextName]=s,this.resizerActiveDiv.style.width=`${t}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${s}px`),this.columnsVisibility[this.resizerActiveName]=t,this.columnsVisibility[this.resizerNextName]=s,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=s-this.state.scrollBarWidth,this.resizerCurrentWidths.name=s-this.state.scrollBarWidth):this.resizerActiveName==="nameHeader"&&(this.columnsVisibility.name=t-this.state.scrollBarWidth,this.resizerCurrentWidths.name=t-this.state.scrollBarWidth),this.customWidth=!0,this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=null,this.forceUpdate()},200))}};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)};resizerMouseDown=e=>{if(this.storedWidths||=JSON.parse(JSON.stringify(re[this.props.width||"lg"])),this.resizerCurrentWidths=this.resizerCurrentWidths||{},this.resizerActiveDiv=e.target.parentNode,this.resizerActiveName=this.resizerActiveDiv.dataset.name||null,this.resizerActiveName){let t=0;if(e.target.dataset.left==="true"){this.resizeLeft=!0,this.resizerNextDiv=this.resizerActiveDiv.previousElementSibling;let s=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!s&&t<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,s=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),t++;(s==null?void 0:s.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=e.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)}};navigateKeyPress(e){var s,o;const t=this.state.selectedNonObject||this.state.selected[0];if(t){if(e.code==="ArrowUp"||e.code==="ArrowDown"){e.preventDefault();const r=[];(s=this.tableRef.current)==null||s.childNodes.forEach(N=>r.push(N.id));const M=r.indexOf(t),n=e.code==="ArrowDown"?M+1:M-1,u=r[n]||t;this.onSelect(u),this.scrollToItem(u)}if((e.code==="ArrowRight"||e.code==="ArrowLeft")&&this.toggleExpanded(t),e.code==="Delete"&&this.root&&t){const r=We.getItemFromRoot(this.root,t);if(r){const{obj:M}=r.data;M&&!((o=M.common)!=null&&o.dontDelete)&&this.showDeleteDialog({id:t,obj:M,item:r})}}}}static getItemFromRoot(e,t){const s=t.split(".");let o="",r=e;for(let M=0;M{this.customWidth=!1,re[this.props.width||"lg"]=JSON.parse(JSON.stringify(this.storedWidths)),this.calculateColumnsVisibility(),this.localStorage.removeItem(`${this.props.dialogName||"App"}.table`),this.forceUpdate()};renderHandleRight(){return a.createElement(g.Box,{component:"div",className:"iob-ob-resize-handler",sx:{...A.resizeHandle,...A.resizeHandleRight},onMouseDown:this.resizerMouseDown,onDoubleClick:this.resizerReset,title:this.props.t("ra_Double click to reset table layout")})}renderHeader(){let e=null;return!this.columnsVisibility.buttons&&!this.isFilterEmpty()&&(e=a.createElement(g.IconButton,{onClick:()=>this.clearFilter(),style:A.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},a.createElement(NNe,null),a.createElement(m.Close,{style:A.buttonClearFilterIcon}))),this.props.width==="xs"?a.createElement("div",{style:A.headerRow},a.createElement("div",{style:{...A.headerCell,width:"100%"}},this.getFilterInput("id"))):a.createElement("div",{style:A.headerRow},a.createElement("div",{style:{...A.headerCell,width:this.columnsVisibility.id,position:"relative"},"data-min":240,"data-name":"id"},this.getFilterInput("id"),this.renderHandleRight()),this.columnsVisibility.name?a.createElement("div",{style:{...A.headerCell,width:this.columnsVisibility.nameHeader,position:"relative"},"data-min":100,"data-name":"nameHeader"},this.getFilterInput("name"),this.renderHandleRight()):null,!this.state.statesView&&a.createElement(a.Fragment,null,this.columnsVisibility.type?a.createElement("div",{style:{...A.headerCell,width:this.columnsVisibility.type,position:"relative"},"data-min":100,"data-name":"type"},this.getFilterSelectType(),this.renderHandleRight()):null,this.columnsVisibility.role?a.createElement("div",{style:{...A.headerCell,width:this.columnsVisibility.role,position:"relative"},"data-min":100,"data-name":"role"},this.getFilterSelectRole(),this.renderHandleRight()):null,this.columnsVisibility.room?a.createElement("div",{style:{...A.headerCell,width:this.columnsVisibility.room,position:"relative"},"data-min":100,"data-name":"room"},this.getFilterSelectRoom(),this.renderHandleRight()):null,this.columnsVisibility.func?a.createElement("div",{style:{...A.headerCell,width:this.columnsVisibility.func,position:"relative"},"data-min":100,"data-name":"func"},this.getFilterSelectFunction(),this.renderHandleRight()):null),this.state.statesView&&a.createElement(a.Fragment,null,a.createElement("div",{style:{...A.headerCell,...A.headerCellValue,width:this.columnsVisibility.changedFrom,position:"relative"},"data-min":100,"data-name":"changedFrom"},this.props.t("ra_Changed from"),this.renderHandleRight()),a.createElement("div",{style:{...A.headerCell,...A.headerCellValue,width:this.columnsVisibility.qualityCode,position:"relative"},"data-min":100,"data-name":"qualityCode"},this.props.t("ra_Quality code"),this.renderHandleRight()),a.createElement("div",{style:{...A.headerCell,...A.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),a.createElement("div",{style:{...A.headerCell,...A.headerCellValue,width:this.columnsVisibility.lastChange,position:"relative"},"data-min":100,"data-name":"lastChange"},this.props.t("ra_Last change"),this.renderHandleRight())),this.adapterColumns.map(t=>a.createElement("div",{style:{...A.headerCell,...A.headerCellValue,width:this.columnsVisibility[t.id]},title:t.adapter,key:t.id,"data-min":100,"data-name":t.id},t.name)),this.columnsVisibility.val?a.createElement("div",{style:{...A.headerCell,...A.headerCellValue,width:this.columnsVisibility.val,position:"relative"},"data-min":120,"data-name":"val"},this.props.t("ra_Value"),e):null,this.columnsVisibility.buttons?a.createElement("div",{title:this.texts.filter_custom,style:{...A.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return a.createElement(g.Snackbar,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:a.createElement(g.IconButton,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},a.createElement(m.Close,{fontSize:"small"}))})}componentDidUpdate(){if(this.tableRef.current){const e=this.tableRef.current.offsetWidth-this.tableRef.current.clientWidth;this.state.scrollBarWidth!==e?setTimeout(()=>this.setState({scrollBarWidth:e}),100):this.selectFirst&&this.scrollToItem(this.selectFirst)}}scrollToItem(e){this.selectFirst="";const t=window.document.getElementById(e);t==null||t.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}renderCustomDialog(){if(this.state.customDialog&&this.props.objectCustomDialog){const e=this.props.objectCustomDialog;return a.createElement(e,{reportChangedIds:t=>this.changedIds=[...t],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 t;this.pauseSubscribe(!1),this.setState({customDialog:null}),this.changedIds&&(this.changedIds=null,this.forceUpdate()),(t=this.props.router)==null||t.doNavigate("tab-objects")},systemConfig:this.systemConfig})}return null}onUpdate(e){this.props.socket.setState(this.edit.id,{val:e.val,ack:e.ack,q:e.q||0,expire:e.expire||void 0}).catch(t=>this.showError(`Cannot write value: ${t}`))}renderEditObjectDialog(){if(!this.state.editObjectDialog||!this.props.objectBrowserEditObject)return null;const e=this.props.objectBrowserEditObject;return a.createElement(e,{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:t=>this.props.socket.setObject(t._id,t).then(()=>this.setState({editObjectDialog:t._id,editObjectAlias:!1},()=>this.onSelect(t._id))).catch(s=>this.showError(`Cannot write object: ${s}`)),onClose:t=>{var s,o;if(t){let r;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((s=this.objects[this.state.editObjectDialog].common)==null?void 0:s.alias)!==JSON.stringify((o=t.common)==null?void 0:o.alias)&&(r=this.state.editObjectDialog),this.props.socket.setObject(t._id,t).then(()=>{r&&this.subscribes.includes(r)&&(this.unsubscribe(r),setTimeout(()=>this.subscribe(r),100))}).catch(M=>this.showError(`Cannot write object: ${M}`))}this.setState({editObjectDialog:"",editObjectAlias:!1})},width:this.props.width})}renderViewObjectFileDialog(){if(!this.state.viewFileDialog||!this.props.objectBrowserViewFile)return null;const e=this.props.objectBrowserViewFile;return a.createElement(e,{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;const e=this.props.objectBrowserAliasEditor;return a.createElement(e,{key:"editAlias",obj:this.objects[this.state.showAliasEditor],roleArray:this.info.roles,objects:this.objects,socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({showAliasEditor:""}),onRedirect:(t,s)=>setTimeout(()=>this.onSelect(t,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(t),setTimeout(()=>this.setState({editObjectDialog:t,showAliasEditor:"",editObjectAlias:!0}),300)})),s||0)})}showAddDataPointDialog(e,t,s){this.setState({showContextMenu:null,modalNewObj:{id:e,initialType:t,initialStateType:s}})}renderAliasMenu(){return this.state.aliasMenu?a.createElement(g.Menu,{key:"aliasmenu",open:!0,anchorEl:window.document.getElementById(`alias_${this.state.aliasMenu}`),onClose:()=>this.setState({aliasMenu:""})},this.info.aliasesMap[this.state.aliasMenu].map((e,t)=>a.createElement(g.MenuItem,{key:e,onClick:()=>this.onSelect(e)},a.createElement(g.ListItemText,null,this.renderAliasLink(this.state.aliasMenu,t,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var L,j,T,D,z,h,O;if(!this.state.showContextMenu)return null;const e=this.state.showContextMenu.item,t=e.data.id,s=[],o=e.data.obj;let r="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!o)r="---";else{const p=o.acl?o.type==="state"?o.acl.state:o.acl.object:0,E=o.acl&&(o.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);r=Number.isNaN(Number(p))?Number(E).toString(16):Number(p).toString(16)}const M=!this.props.notEditable&&o&&(this.state.filter.expertMode||o.type==="state"||o.type==="channel"||o.type==="device"),n=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="channel"||e.data.obj.type==="device"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",u=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="device"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",N=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",l=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",c={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&o&&(this.state.filter.expertMode||We.isNonExpertId(t))),icon:a.createElement(m.Edit,{fontSize:"small",style:this.styles.contextMenuEdit}),label:this.texts.editObject,onClick:()=>this.setState({editObjectDialog:e.data.id,showContextMenu:null,editObjectAlias:!1})},EDIT_VALUE:{key:"1",visibility:!!(this.states&&!this.props.notEditable&&o&&o.type==="state"&&((L=o.common)==null?void 0:L.type)!=="file"&&(this.state.filter.expertMode||o.common.write!==!1)),icon:a.createElement(m.FormatItalic,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{this.edit={val:this.states[t]?this.states[t].val:"",q:this.states[t]&&this.states[t].q||0,ack:!1,id:t},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(o==null?void 0:o.type)==="state"&&((j=o.common)==null?void 0:j.type)==="file",icon:a.createElement(m.FindInPage,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(o==null?void 0:o._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&o&&o.type==="state"&&((T=o.common)==null?void 0:T.type)!=="file"),icon:a.createElement(m.Settings,{fontSize:"small",style:e.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:A.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var p;this.pauseSubscribe(!0),(p=this.props.router)==null||p.doNavigate(null,"customs",t),this.setState({customDialog:[t],showContextMenu:null})}},ACL:{key:"3",visibility:!!r,icon:r,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:e.data})},ROLE:{key:"4",visibility:!!(this.state.filter.expertMode&&M&&this.props.objectBrowserEditRole),icon:a.createElement(m.BorderColor,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit role"),onClick:()=>this.setState({roleDialog:e.data.id,showContextMenu:null})},FUNCTION:{key:"5",visibility:!!M,icon:a.createElement(m.BedroomParent,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{const p=Wt(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:p,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(p)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!M,icon:a.createElement(m.Construction,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{const p=Wt(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:p,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(p)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(o==null?void 0:o.type)==="state"&&((D=o.common)==null?void 0:D.type)!=="file"),icon:a.createElement(m.Link,{style:(z=o==null?void 0:o.common)!=null&&z.alias?this.styles.cellButtonsButtonWithCustoms:A.cellButtonsButtonWithoutCustoms}),label:this.info.aliasesMap[e.data.id]||e.data.id.startsWith("alias.0.")?this.props.t("ra_Edit alias"):this.props.t("ra_Create alias"),onClick:()=>{var p;(p=o==null?void 0:o.common)!=null&&p.alias?this.setState({showContextMenu:null,editObjectDialog:e.data.id,editObjectAlias:!0}):this.setState({showContextMenu:null,showAliasEditor:e.data.id})}},CREATE:{key:"+",visibility:(e.data.id.startsWith("0_userdata.0")||e.data.id.startsWith("javascript."))&&(n||u||N||l),icon:a.createElement(m.Add,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:A.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:n,icon:a.createElement(gs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:n,icon:a.createElement(gs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","number")},{label:this.texts.createStringState,visibility:n,icon:a.createElement(gs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","string")},{label:this.texts.createState,visibility:n,icon:a.createElement(gs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state")},{label:this.texts.createChannel,visibility:u,icon:a.createElement(da,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"channel")},{label:this.texts.createDevice,visibility:N,icon:a.createElement(za,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"device")},{label:this.texts.createFolder,icon:a.createElement(m.CreateNewFolder,{fontSize:"small"}),visibility:l,onClick:()=>this.showAddDataPointDialog(e.data.id,"folder")}]},RENAME:{key:"8",visibility:!!(!this.props.notEditable&&this.props.objectMoveRenameDialog&&!e.data.id.startsWith("system.")&&e.data.id.split(".").length>2&&(this.props.expertMode||e.data.id.startsWith("javascript.0.")||e.data.id.startsWith("0_userdata.0."))),icon:a.createElement(m.DriveFileRenameOutline,null),label:this.props.t("ra_Rename_Move_Copy"),onClick:()=>{const p=Object.keys(this.objects),E=`${e.data.id}.`;this.setState({showContextMenu:null,showRenameDialog:{id:e.data.id,childrenIds:p.filter(C=>C.startsWith(E))}})}},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((h=e.children)!=null&&h.length||o&&!((O=o.common)!=null&&O.dontDelete))),icon:a.createElement(m.Delete,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:t,obj:o||{},item:e}))}};return Object.keys(c).forEach(p=>{var E,C;c[p].visibility&&(c[p].subMenu?(s.push(a.createElement(g.MenuItem,{key:p,href:"",onClick:I=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:p,subAnchor:I.target}}),style:c[p].style},a.createElement(g.ListItemIcon,{style:{...c[p].iconStyle,...c[p].listItemIconStyle}},c[p].icon),a.createElement(g.ListItemText,null,c[p].label,"..."),a.createElement("div",{style:{...A.contextMenuKeys,opacity:1}},a.createElement(m.ArrowRight,null)))),((E=this.state.showContextMenu)==null?void 0:E.subItem)===p&&s.push(a.createElement(g.Menu,{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}},(C=c[p].subMenu)==null?void 0:C.map(I=>I.visibility?a.createElement(g.MenuItem,{key:I.label,onClick:I.onClick,style:I.style},a.createElement(g.ListItemIcon,{style:{...I.iconStyle,...I.listItemIconStyle||void 0}},I.icon),a.createElement(g.ListItemText,null,I.label)):null)))):s.push(a.createElement(g.MenuItem,{key:p,onClick:c[p].onClick,sx:c[p].style},a.createElement(g.ListItemIcon,{style:{...c[p].iconStyle,...c[p].listItemIconStyle}},c[p].icon),a.createElement(g.ListItemText,null,c[p].label),c[p].key?a.createElement("div",{style:A.contextMenuKeys},`Alt+${c[p].key==="Delete"?this.props.t("ra_Del"):c[p].key}`):null)))}),s.length?a.createElement(g.Menu,{key:"contextMenu",open:!0,onKeyUp:p=>{p.preventDefault(),p.altKey&&Object.keys(c).forEach(E=>{p.key===c[E].key&&c[E].onClick&&c[E].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},s):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var o;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;const e=(o=this.objects[this.edit.id].common)!=null&&o.type?this.objects[this.edit.id].common.type:typeof this.edit.val,t=this.objects[this.edit.id].common.role,s=this.props.objectBrowserValue;return a.createElement(s,{t:this.props.t,lang:this.props.lang,type:e,role:t||"",states:S.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:r=>{this.setState({updateOpened:!1}),r&&this.onUpdate(r)},width:this.props.width})}render(){this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:S.getStyle(this.props.theme,A.cellIdIconFolder),cellIdIconDocument:S.getStyle(this.props.theme,A.cellIdIconDocument),iconDeviceError:S.getStyle(this.props.theme,A.iconDeviceError),iconDeviceConnected:S.getStyle(this.props.theme,A.iconDeviceConnected),iconDeviceDisconnected:S.getStyle(this.props.theme,A.iconDeviceDisconnected),cellButtonsButtonWithCustoms:S.getStyle(this.props.theme,A.cellButtonsButtonWithCustoms),invertedBackground:S.getStyle(this.props.theme,A.invertedBackground),invertedBackgroundFlex:S.getStyle(this.props.theme,A.invertedBackgroundFlex),contextMenuEdit:S.getStyle(this.props.theme,A.contextMenuEdit),contextMenuEditValue:S.getStyle(this.props.theme,A.contextMenuEditValue),contextMenuView:S.getStyle(this.props.theme,A.contextMenuView),contextMenuCustom:S.getStyle(this.props.theme,A.contextMenuCustom),contextMenuACL:S.getStyle(this.props.theme,A.contextMenuACL),contextMenuRoom:S.getStyle(this.props.theme,A.contextMenuRoom),contextMenuRole:S.getStyle(this.props.theme,A.contextMenuRole),contextMenuDelete:S.getStyle(this.props.theme,A.contextMenuDelete),filterInput:S.getStyle(this.props.theme,A.headerCellInput,A.filterInput),iconCopy:S.getStyle(this.props.theme,A.cellButtonsValueButton,A.cellButtonsValueButtonCopy),aliasReadWrite:S.getStyle(this.props.theme,A.cellIdAlias,A.cellIdAliasReadWrite),aliasAlone:S.getStyle(this.props.theme,A.cellIdAlias,A.cellIdAliasAlone)},this.styleTheme=this.props.themeType);const e=JSON.stringify(this.state.filter);if(this.lastAppliedFilter!==e&&this.objects&&this.root){const s={count:0};yo(this.root,this.state.filter,this.props.lang,this.objects,void 0,s,this.props.customFilter,this.props.types),s.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):s.count>=500&&this.state.expandAllVisible&&setTimeout(()=>this.setState({expandAllVisible:!1})),this.lastAppliedFilter=e}if(this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),!this.state.loaded)return a.createElement(g.CircularProgress,{key:`${this.props.dialogName}_c`});const t=this.root?this.renderItem(this.root,void 0):null;return a.createElement(lNe,{key:this.props.dialogName},a.createElement("style",null,` +`).forEach(M=>{if(!M.trim())return;const a=M.indexOf(":");if(a!==-1){const u=M.substring(0,a).trim();let N=M.substring(a+1).trim();N=N.replace(/^['"]|['"]$/g,""),N==="true"?t[u]=!0:N==="false"?t[u]=!1:parseFloat(N).toString()===N?t[u]=parseFloat(N):t[u]=N}else t[M.trim()]=!0}),e=e.substring(s+7))}return{header:t,body:e}}static removeDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(s=>e=e.replace(s,"")),e}static onCopy(e,t){Xn(t),e&&e.stopPropagation(),e&&e.preventDefault()}}function cNe(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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"}))}function Ia(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),n.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function $t(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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"}))}function wa(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function uNe(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:e=>i.onClick&&i.onClick(e),width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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"}))}function NNe(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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"}),n.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"}))}function lNe(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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"}))}function gs(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),n.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"}))}function LNe(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 24 24",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.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"}))}const vi={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function jNe(i){var e;return n.createElement(g.Paper,{elevation:Number.isNaN(i.elevation)?1:i.elevation,style:{...vi.root,...((e=i.styles)==null?void 0:e.root)||void 0,...i.overflow!=="visible"?vi.overflowHidden:void 0},onKeyDown:i.onKeyDown,tabIndex:i.tabIndex},n.createElement(g.Grid2,{container:!0,direction:"column",wrap:"nowrap",sx:vi.container},i.children))}const YM={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}};function gNe(i){return n.createElement(g.Grid2,{sx:{...YM.root,...(i==null?void 0:i.style)||void 0,...i.overflow==="auto"?YM.overflowAuto:void 0},ref:i.ref},i.children)}function TNe(i){return n.createElement(g.Grid2,{container:!0,alignItems:"center"},i.children)}const Pt=24,de=32,yNe=16,ne=20,Ca=i=>i==="dark"?"#62ff25":"#37c400",ha=i=>i==="dark"?"#ee56ff":"#a204b4",DNe=i=>i==="dark"?"#fff46e":"#b89101",Aa=i=>"#ff6d69",pa=i=>"#5773ff",ma="#ff413c",Oa="#86211f",lo="#57ff45",Lo="#098c04",jo="#f3ad11",go="#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:i=>({pl:1,height:de,lineHeight:`${de}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${i.palette.mode==="dark"?i.palette.primary.dark:i.palette.primary.light} !important`,color:S.invertColor(i.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:i=>({borderBottom:`1px solid ${i.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${i.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:de+10},tableRowAliasReadWrite:{height:de+22},tableRowFocused:i=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:i.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:de-4,height:de-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:i=>({marginRight:8,width:de-4,height:de-4,cursor:"pointer",color:i.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(de-ne)/2,marginRight:8,width:ne,height:ne},cellIdIconOwn:{},cellIdTooltip:{fontSize:14},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellCopyButton:{width:ne,height:ne,top:(de-ne)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:ne,height:ne,top:(de-ne)/2,opacity:.8},cellEditButton:{width:ne,height:ne,color:"white",position:"absolute",top:(de-ne)/2,right:ne+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:i=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:i.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:Pt,height:Pt,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:de,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:ne+4,height:ne+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${ne+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:i=>({color:i.palette.mode==="dark"?i.palette.primary.main:i.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:i=>({position:"absolute",top:ne/2-2,opacity:.7,width:ne-2,height:ne-2,color:i.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:ne/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:i=>({background:`${i.palette.primary.main} !important`,color:`${S.invertColor(i.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:de,pt:0,"& .itemIcon":{verticalAlign:"middle",width:Pt,height:Pt,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:Pt,height:Pt,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"},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:i=>({color:i.palette.mode==="dark"?lo:Lo,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:i=>({color:i.palette.mode==="dark"?jo:go,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:i=>({color:i.palette.mode==="dark"?ma:Oa,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:i=>({backgroundColor:i.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:i=>({backgroundColor:i.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:i=>({color:i.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:i=>({color:i.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:i=>({color:i.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:i=>({color:i.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:i=>({color:i.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:i=>({color:i.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:i=>({color:i.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:i=>({color:i.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"}};function dNe(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:i==null?void 0:i.style,width:"24",height:"24",className:"admin-button"},n.createElement("g",{fill:"currentColor"},n.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"}),n.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 QM(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}function zNe(i,e){const t=[];for(let s=0;s{if(o==null)return;const M=typeof o=="object";if(t&&M&&typeof o.en=="string"&&typeof o.de=="string"){s[r]=o.en;return}s[r]=M?To(o,e,t):o}):INe(i,(s,o,r)=>{if(o==null||e.includes(r))return;const M=typeof o=="object";if(t&&M&&typeof o.en=="string"&&typeof o.de=="string"){s[r]=o.en;return}s[r]=M?To(o,e,t):o})}function UM(i,e,t){const s=document.createElement("a"),o=[];t.excludeSystemRepositories&&o.push("system.repositories");const r=o.length>0||t.excludeTranslations?To(e,o,t.excludeTranslations):e,M=t.beautify?JSON.stringify(r,null,2):JSON.stringify(r);s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(M)}`),s.setAttribute("download",i),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}function Is(i,e,t,s){if(t||=0,s===void 0&&(s=i.length-1,!s))return i[0]===e;const o=Math.floor((t+s)/2);return e===i[o]?!0:s-1===t?i[t]===e||i[s]===e:e>i[o]?Is(i,e,o,s):ez.role.startsWith(O))||(N=!0)):N=!0),!N&&((E=M.common)==null?void 0:E.custom)==="_"&&(z!=null&&z.custom))N=!0;else if(!N&&((A=M.common)!=null&&A.custom)&&((_=M.common)==null?void 0:_.custom)!=="_"){const O=M.common.custom;if(!(z!=null&&z.custom))N=!0;else if(O==="_dataSources")Object.keys(z.custom).find(k=>k.startsWith("history.")||k.startsWith("sql.")||k.startsWith("influxdb."))||(N=!0);else if(Array.isArray(O)){const k=Object.keys(z.custom);O.find(f=>k.find(P=>P.startsWith(f)))&&(N=!0)}else O!==!0&&!Object.keys(z.custom).find(k=>k.startsWith(O))&&(N=!0)}}!N&&!e.expertMode&&(N=l.id==="system"||l.id==="enum"||l.id.startsWith("system.")||l.id.startsWith("enum.")||l.id.startsWith("_design/")||l.id.endsWith(".admin")||!!(z!=null&&z.expert)),!N&&o.id&&(l.fID===void 0&&(l.fID=l.id.toLowerCase()),N=!l.fID.includes(o.id)),!N&&o.idRx&&(N=!o.idRx.test(l.id)),!N&&o.name&&(z?(l.fName===void 0&&(l.fName=Oe(z.name,t)||"",l.fName=l.fName.toLowerCase()),N=!l.fName.includes(o.name)):N=!0),!N&&o.nameRx&&z&&(l.fName===void 0&&(l.fName=Oe(z.name,t)||"",l.fName=l.fName.toLowerCase()),N=!o.nameRx.test(l.fName)),!N&&e.role&&z&&(z?N=!(typeof z.role=="string"&&z.role.startsWith(o.role)):N=!0),!N&&o.room&&(N=!o.room.find(O=>O===l.id||l.id.startsWith(`${O}.`))),!N&&o.func&&(N=!o.func.find(O=>O===l.id||l.id.startsWith(`${O}.`))),!N&&o.type&&(N=!(l.obj&&l.obj.type&&l.obj.type===o.type)),!N&&a&&(N=!(l.obj&&l.obj.type&&a.includes(l.obj.type))),!N&&o.custom&&(z?o.custom==="_"?N=!!z.custom:N=!((p=z.custom)!=null&&p[o.custom]):N=!0)}return l.visible=!N,l.hasVisibleChildren=!1,i.children&&u<20&&i.children.forEach(z=>{yo(z,e,t,s,o,r,M,a,u+1)&&(l.hasVisibleChildren=!0)}),l.sumVisibility=l.visible||l.hasVisibleChildren,r&&l.sumVisibility&&r.count++,l.id&&l.sumVisibility&&i.children&&i.children.forEach(z=>z.data.hasVisibleParent=!0),l.visible||l.hasVisibleChildren}function Ea(i,e,t,s){var r;s||=[];const o=i.data;return o.sumVisibility&&(o.id&&t[o.id]&&t[o.id].type===e&&s.push(o.id),(r=i.children)==null||r.forEach(M=>Ea(M,e,t,s))),s}function vM(i,e,t,s,o,r){let M;return e==="alias"||e==="alias.0"?M=n.createElement(m.Link,{className:"iconOwn",style:{color:ha(s)}}):e==="0_userdata"||e==="0_userdata.0"?M=n.createElement(m.DataObject,{className:"iconOwn",style:{color:Ca(s)}}):e.startsWith("_design/")||e==="system"?M=n.createElement(m.SettingsApplications,{className:"iconOwn",style:{color:Aa(s)}}):e==="system.adapter"?M=n.createElement(m.SettingsApplications,{className:"iconOwn",style:{color:pa(s)}}):e==="system.group"?M=n.createElement(m.SupervisedUserCircle,{className:"iconOwn"}):e==="system.user"?M=n.createElement(m.PersonOutlined,{className:"iconOwn"}):e==="system.host"?M=n.createElement(m.Router,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?M=n.createElement(m.Wifi,{className:"iconOwn"}):e.endsWith(".info")?M=n.createElement(m.Info,{className:"iconOwn"}):i[e]&&i[e].type==="meta"?M=n.createElement(m.Description,{className:"iconOwn"}):t<2&&i[`system.adapter.${e}`]&&(M=ci(i,`system.adapter.${e}`,o,r)),M||null}function _a(i,e){var t,s;return(s=(t=i==null?void 0:i.obj)==null?void 0:t.common)!=null&&s.desc&&Oe(i.obj.common.desc,e)||null}function wNe(i,e){const t=_a(i,e);return t!=null&&t.startsWith("http")?n.createElement(g.Box,{component:"a",sx:h.cellIdTooltipLink,href:t,target:"_blank",rel:"noreferrer"},t):n.createElement("span",{style:h.cellIdTooltip},t||i.id||"")}function bM(i,e){var l,c,L,j,T,D,I,C,E,A;const t=e.imagePrefix||".";let s=Object.keys(i);s.sort((_,p)=>_===p?0:(_=_.replace(/\./g,"!!!"),p=p.replace(/\./g,"!!!"),_>p?1:-1)),e.root&&(s=s.filter(_=>_===e.root||_.startsWith(`${e.root}.`)));let o=[],r="",M=0;const a={data:{name:"",id:""},children:[]},u={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:i,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let N=a;for(let _=0;_Y.role===P)?typeof P!="string"?console.warn(`Invalid role type "${typeof P}" in "${z._id}"`):u.roles.push({role:P,type:f.type}):p.startsWith("enum.rooms.")?(u.roomEnums.push(p),u.enums.push(p)):p.startsWith("enum.functions.")?(u.funcEnums.push(p),u.enums.push(p)):z.type==="enum"?u.enums.push(p):z.type==="instance"&&f&&(f.supportCustoms||(l=f.adminUI)!=null&&l.custom)&&(u.hasSomeCustoms=!0,u.customs.push(p.substring(15))),p.startsWith("alias.")&&((c=z.common.alias)!=null&&c.id))if(typeof z.common.alias.id=="string"){const Y=z.common.alias.id;u.aliasesMap[Y]?u.aliasesMap[Y].includes(p)||u.aliasesMap[Y].push(p):u.aliasesMap[Y]=[p]}else{const Y=z.common.alias.id.read;Y&&(u.aliasesMap[Y]?u.aliasesMap[Y].includes(p)||u.aliasesMap[Y].push(p):u.aliasesMap[Y]=[p]);const V=z.common.alias.id.write;V&&(u.aliasesMap[V]?u.aliasesMap[V].includes(p)||u.aliasesMap[V].push(p):u.aliasesMap[V]=[p])}}u.ids.push(p);let k;do if(k=!1,!r||p.startsWith(`${r}.`)){if(O.length-M>1){let P=r;for(let Y=M;YV.data.name===O[Y]));else{const V={data:{name:O[Y],parent:N,id:P,obj:i[P],level:Y,icon:vM(i,P,Y,e.themeType,e.lang,t),generated:!0}};N.children||=[],N.children.push(V),N=V,u.ids.push(P)}}const f={data:{name:O[O.length-1],title:Oe((L=z==null?void 0:z.common)==null?void 0:L.name,e.lang),obj:z,parent:N,icon:ci(i,p,e.lang,t)||vM(i,p,0,e.themeType,e.lang,t),id:p,hasCustoms:!!((j=z.common)!=null&&j.custom&&Object.keys(z.common.custom).length),level:O.length-1,generated:!1,button:z.type==="state"&&!!((T=z.common)!=null&&T.role)&&typeof z.common.role=="string"&&z.common.role.startsWith("button")&&((D=z.common)==null?void 0:D.write)!==!1,switch:z.type==="state"&&((I=z.common)==null?void 0:I.type)==="boolean"&&((C=z.common)==null?void 0:C.write)!==!1&&((E=z.common)==null?void 0:E.read)!==!1,url:!!((A=z.common)!=null&&A.role)&&typeof z.common.role=="string"&&z.common.role.startsWith("url")}};N.children||=[],N.children.push(f),N=f,M=O.length,o=O,r=p}else{let f=0;for(;o[f]===O[f];)f++;if(f>0){let P=o.length;for(o=o.splice(0,f),M=f,r=o.join(".");P>f;)N.data.parent?N=N.data.parent:console.error(`Parent is null for ${p} ${r} ${o.join(".")}`),P--}else N=a,o=[],r="",M=0;k=!0}while(k)}return u.roomEnums.sort((_,p)=>{var k,f,P,Y;const z=Oe((f=(k=i[_])==null?void 0:k.common)==null?void 0:f.name,e.lang)||_.split(".").pop(),O=Oe((Y=(P=i[p])==null?void 0:P.common)==null?void 0:Y.name,e.lang)||p.split(".").pop();return z>O?1:z{var k,f,P,Y;const z=Oe((f=(k=i[_])==null?void 0:k.common)==null?void 0:f.name,e.lang)||_.split(".").pop(),O=Oe((Y=(P=i[p])==null?void 0:P.common)==null?void 0:Y.name,e.lang)||p.split(".").pop();return z>O?1:z_.role.localeCompare(p.role)),u.types.sort(),{info:u,root:a}}function Sa(i,e,t,s,o){if(i.data.id===e)return i;if(t||(t=e.split("."),o=0,s=t[o]),!i.children&&i.data.id!==e)return null;let r;if(i.children)for(let M=0;Ms)break}return r?(o||=0,Sa(r,e,t,`${s}.${t[o+1]}`,o+1)):null}function xa(i,e,t,s){var M,a;if(!e)return{rooms:[],per:!1};s||=[];for(const u of i.roomEnums){const N=(M=i.objects[u])==null?void 0:M.common;if(!N)continue;const l=Oe(N.name,t);(a=N.members)!=null&&a.includes(e)&&!s.includes(l)&&s.push(l)}let o;const r=e.split(".");return r.pop(),e=r.join("."),i.objects[e]&&(o=s.length,xa(i,e,t,s)),{rooms:s,per:!o}}function Wt(i,e,t,s){var o,r;if(!e)return[];s||=[];for(let M=0;M946681200&&N<9466812e5&&(N*=1e3),N=N&&new Date(N).toString();else l==="number"?Number.isInteger(N)||(N=Math.round(N*1e8)/1e8,s&&(N=N.toString().replace(".",","))):l==="object"?N=JSON.stringify(N):l!=="string"?N=N.toString():N.startsWith("data:image/")&&(u="image"),typeof N!="string"&&(N=N.toString());const c={v:N};M&&M[N]!==void 0&&N!==M[N]&&(c.s=N,N=M[N],c.v=N),((j=c.v)==null?void 0:j.length)>40&&(c.c=c.v,c.v=`${c.v.substring(0,40)}...`),a!=null&&a.unit&&(c.u=a.unit);let L;if(i.full&&(typeof N=="string"&&N.length>100?L=[{t:o.value,v:`${N.substring(0,100)}...`}]:L=[{t:o.value,v:N}],t)){if(t.ack!==void 0&&t.ack!==null&&L.push({t:o.ack,v:t.ack.toString()}),t.ts&&L.push({t:o.ts,v:t.ts?S.formatDate(new Date(t.ts),e):""}),t.lc&&L.push({t:o.lc,v:t.lc?S.formatDate(new Date(t.lc),e):""}),t.from){let T=t.from.toString();T.startsWith("system.adapter.")&&(T=T.substring(15)),L.push({t:o.from,v:T})}if(t.user){let T=t.user.toString();T.startsWith("system.user.")&&(T=T.substring(12)),L.push({t:o.user,v:T})}t.c&&L.push({t:o.c,v:t.c}),L.push({t:o.quality,v:S.quality2text(t.q||0).join(", "),nbr:!0})}return{valText:c,valFull:L,fileViewer:u}}function CNe(i){const{state:e}=i;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function hNe(i,e){let t=e,s=1;const o=[];for(;s=t)o.push(0);else if(sthis.filterRefs[I]=b.createRef()),this.visibleCols=e.columns||re[e.width||"lg"].fields,e.types&&e.types.length===1){const I=this.visibleCols.indexOf("type");I!==-1&&this.visibleCols.splice(I,1)}this.possibleCols=re.xl.fields;let a=null;if(e.router){const I=e.router.getLocation();I.id&&I.dialog==="customs"&&(a=[I.id],this.pauseSubscribe(!0))}let u;Array.isArray(e.selected)?u=e.selected:u=[e.selected||""],u=u.map(I=>I.replace(/["']/g,"")).filter(I=>I),this.selectFirst=u.length&&u[0]?u[0]:this.selectFirst;const N=this.localStorage.getItem(`${e.dialogName||"App"}.columns`);let l;try{l=N?JSON.parse(N):null}catch{l=null}let c=null;try{c=c?JSON.parse(c):{}}catch{c={}}this.imagePrefix=e.imagePrefix||".";let L;const j=this.localStorage.getItem(`${e.dialogName||"App"}.foldersFirst`);j==="false"?L=!1:j==="true"?L=!0:L=e.foldersFirst===void 0?!0:e.foldersFirst;let T=!1;try{T=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${e.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={loaded:!1,foldersFirst:L,selected:u,selectedNonObject:this.localStorage.getItem(`${e.dialogName||"App"}.selectedNonObject`)||"",filter:r,filterKey:0,focused:this.localStorage.getItem(`${e.dialogName||"App"}.focused`)||"",depth:0,expandAllVisible:!1,expanded:s,toast:"",scrollBarWidth:16,customDialog:a,editObjectDialog:"",editObjectAlias:!1,viewFileDialog:"",showAliasEditor:"",enumDialog:null,roleDialog:null,statesView:T,columns:l,columnsForAdmin:null,columnsSelectorShow:!1,columnsAuto:this.localStorage.getItem(`${e.dialogName||"App"}.columnsAuto`)!=="false",columnsWidths:c,columnsDialogTransparent:100,columnsEditCustomDialog:null,customColumnDialogValueChanged:!1,showExportDialog:!1,showAllExportOptions:!1,linesEnabled:this.localStorage.getItem(`${e.dialogName||"App"}.lines`)==="true",showDescription:this.localStorage.getItem(`${e.dialogName||"App"}.desc`)!=="false",showContextMenu:null,noStatesByExportImport:!1,beautifyJsonExport:!0,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,tooltipInfo:null,aliasMenu:"",showRenameDialog:null},this.texts={name:e.t("ra_Name"),categories:e.t("ra_Categories"),value:e.t("ra_tooltip_value"),ack:e.t("ra_tooltip_ack"),ts:e.t("ra_tooltip_ts"),lc:e.t("ra_tooltip_lc"),from:e.t("ra_tooltip_from"),user:e.t("ra_tooltip_user"),c:e.t("ra_tooltip_comment"),quality:e.t("ra_tooltip_quality"),editObject:e.t("ra_tooltip_editObject"),deleteObject:e.t("ra_tooltip_deleteObject"),customConfig:e.t("ra_tooltip_customConfig"),copyState:e.t("ra_tooltip_copyState"),editState:e.t("ra_tooltip_editState"),ctrlForLink:e.t("ra_tooltip_ctrlForLink"),close:e.t("ra_Close"),filter_id:e.t("ra_filter_id"),filter_name:e.t("ra_filter_name"),filter_type:e.t("ra_filter_type"),filter_role:e.t("ra_filter_role"),filter_room:e.t("ra_filter_room"),filter_func:e.t("ra_filter_func"),filter_custom:e.t("ra_filter_customs"),filterCustomsWithout:e.t("ra_filter_customs_without"),objectChangedByUser:e.t("ra_object_changed_by_user"),objectChangedBy:e.t("ra_object_changed_by"),objectChangedFrom:e.t("ra_state_changed_from"),stateChangedBy:e.t("ra_state_changed_by"),stateChangedFrom:e.t("ra_state_changed_from"),ownerGroup:e.t("ra_Owner group"),ownerUser:e.t("ra_Owner user"),showAll:e.t("ra_show_all"),deviceError:e.t("ra_Error"),deviceDisconnected:e.t("ra_Disconnected"),deviceConnected:e.t("ra_Connected"),aclOwner_read_object:e.t("ra_aclOwner_read_object"),aclOwner_read_state:e.t("ra_aclOwner_read_state"),aclOwner_write_object:e.t("ra_aclOwner_write_object"),aclOwner_write_state:e.t("ra_aclOwner_write_state"),aclGroup_read_object:e.t("ra_aclGroup_read_object"),aclGroup_read_state:e.t("ra_aclGroup_read_state"),aclGroup_write_object:e.t("ra_aclGroup_write_object"),aclGroup_write_state:e.t("ra_aclGroup_write_state"),aclEveryone_read_object:e.t("ra_aclEveryone_read_object"),aclEveryone_read_state:e.t("ra_aclEveryone_read_state"),aclEveryone_write_object:e.t("ra_aclEveryone_write_object"),aclEveryone_write_state:e.t("ra_aclEveryone_write_state"),create:e.t("ra_Create"),createBooleanState:e.t("ra_create_boolean_state"),createNumberState:e.t("ra_create_number_state"),createStringState:e.t("ra_create_string_state"),createState:e.t("ra_create_state"),createChannel:e.t("ra_create_channel"),createDevice:e.t("ra_create_device"),createFolder:e.t("ra_Create folder")},this.levelPadding=e.levelPadding||yNe;const D=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(D)try{const I=JSON.parse(D),C=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(re[C])),Object.keys(I).forEach(E=>{E==="id"?re[C].idWidth=I.id:E==="nameHeader"?re[C].widths.name=I[E]:re[C].widths[E]!==void 0&&(re[C].widths[E]=I[E])}),this.customWidth=!0}catch{}this.calculateColumnsVisibility()}async loadAllObjects(e){var s;const t=this.props;try{await new Promise(N=>{this.setState({updating:!0},()=>N())});const o=(this.props.objectsWorker?await this.props.objectsWorker.getObjects(e):await t.socket.getObjects(e,!0))||{};if(t.types&&je.isWeb())for(let N=0;N{try{if(N(o[l]))this.objects[l]=o[l];else{const c=o[l]&&o[l].type;c&&(c==="channel"||c==="device"||c==="folder"||c==="adapter"||c==="instance")&&(this.objects[l]=o[l])}}catch(c){console.log(`Error by filtering of "${l}": ${c}`)}})}else if(t.types){this.objects={};const N=t.types;Object.keys(o).forEach(l=>{var L;const c=(L=o[l])==null?void 0:L.type;c&&(c==="channel"||c==="device"||c==="enum"||c==="folder"||c==="adapter"||c==="instance"||N.includes(c))&&(this.objects[l]=o[l])})}else this.objects=o;t.setObjectsReference&&t.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&t.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(N=>{N!=null&&N.val||(this.defaultHistory="")}).catch(N=>window.alert(`Cannot get state: ${N}`));const r=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,r);const{info:M,root:a}=bM(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=a,this.info=M;const u=((s=this.state.selected)==null?void 0:s.length)&&Sa(this.root,this.state.selected[0]);this.lastAppliedFilter=null,u&&!yo(u,this.state.filter,this.props.lang,this.objects,void 0,void 0,t.customFilter,t.types)?this.setState({filter:{...Rs},columnsForAdmin:r},()=>{this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):this.setState({loaded:!0,updating:!1,columnsForAdmin:r},()=>this.expandAllSelected(()=>this.onAfterSelect()))}catch(o){this.showError(o)}}static isNonExpertId(e){return!!We.#e.find(t=>e.startsWith(t))}expandAllSelected(e){const t=[...this.state.expanded];let s=!1;this.state.selected.forEach(o=>{const r=o.split("."),M=[];for(let a=0;a{this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}):this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}static getDerivedStateFromProps(e,t){const s={};let o=!1;return e.expertMode!==void 0&&e.expertMode!==t.filter.expertMode&&(o=!0,s.filter={...t.filter},s.filter.expertMode=e.expertMode),o?s:null}async componentDidMount(){await this.loadAllObjects(!PM),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),PM=!0,window.addEventListener("contextmenu",this.onContextMenu,!0),window.addEventListener("keydown",this.onKeyPress,!0),window.addEventListener("keyup",this.onKeyPress,!0)}onKeyPress=e=>{e.type==="keydown"&&e.ctrlKey&&!this.cltrPressed?(this.cltrPressed=!0,this.tableRef.current&&(this.tableRef.current.className="highlight-link")):e.type==="keyup"&&!e.ctrlKey&&this.cltrPressed&&(this.cltrPressed=!1,this.tableRef.current&&(this.tableRef.current.className=""))};componentWillUnmount(){this.filterTimer&&(clearTimeout(this.filterTimer),this.filterTimer=null),window.removeEventListener("contextmenu",this.onContextMenu,!0),window.removeEventListener("keydown",this.onKeyPress,!0),window.removeEventListener("keyup",this.onKeyPress,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(e=>console.error(`Cannot unsubscribe *: ${e}`)),this.subscribes.forEach(e=>{console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(e){var u,N,l,c;const{id:t,obj:s,item:o}=e,r=Object.keys(this.objects);r.sort();let M=0;const a=`${t}.`;for(let L=0;La)break;(c=(l=this.props).onObjectDelete)==null||c.call(l,t,!!((u=o.children)!=null&&u.length),!((N=s.common)!=null&&N.dontDelete),M+1)}onContextMenu=e=>{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(e.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:e.clientX+2,top:e.clientY-6}}})):this.state.showContextMenu&&(e.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null};refreshComponent(){this.subscribes.forEach(e=>{console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(e=>this.showError(e))}renderErrorDialog(){return this.state.error?n.createElement(g.Dialog,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},n.createElement(g.DialogTitle,{id:"alert-dialog-title"},this.props.t("ra_Error")),n.createElement(g.DialogContent,null,n.createElement(g.DialogContentText,{id:"alert-dialog-description"},this.state.error)),n.createElement(g.DialogActions,null,n.createElement(g.Button,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:n.createElement(m.Check,null)},this.props.t("ra_Ok")))):null}showError(e){this.setState({error:typeof e=="object"?e&&typeof e.toString=="function"?e.toString():JSON.stringify(e):e})}onSelect(e,t,s){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,e),!this.props.multiSelect)this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==e?this.setState({selected:[e],selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),s&&s()}):t&&this.props.onSelect&&this.onAfterSelect(t)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,e),this.setState({selected:[],selectedNonObject:e,focused:e},()=>{this.onAfterSelect(),s&&s()}));else if(this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);const o=[...this.state.selected],r=o.indexOf(e);r===-1?(o.push(e),o.sort()):t||o.splice(r,1),this.setState({selected:o,selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),s&&s()})}}_renderDefinedList(e){const t=[...this.possibleCols];if(t.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){const s=t.indexOf("buttons");s!==-1&&t.splice(s,1)}return t.filter(s=>e&&(s==="val"||s==="buttons")||!e&&s!=="val"&&s!=="buttons").map(s=>{var o;return n.createElement(g.ListItemButton,{onClick:()=>{if(!this.state.columnsAuto&&s!=="id"){const r=[...this.state.columns||[]],M=r.indexOf(s);M===-1?(r.push(s),r.sort()):r.splice(M,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(r)),this.calculateColumnsVisibility(null,r),this.setState({columns:r})}},key:s},n.createElement(g.Checkbox,{edge:"start",disabled:s==="id"||this.state.columnsAuto,checked:s==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(s):(o=this.state.columns)!=null&&o.includes(s)),disableRipple:!0}),n.createElement(g.ListItemText,{primary:this.texts[`filter_${s}`]||this.props.t(`ra_${s}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?n.createElement(g.Dialog,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":S.getStyle(this.props.theme,h.dialogColumns,h[`transparent_${this.state.columnsDialogTransparent}`])}},n.createElement(g.DialogTitle,{sx:h.fontSizeTitle},this.props.t("ra_Configure")),n.createElement(g.DialogContent,{sx:h.fontSizeTitle},n.createElement(g.FormControlLabel,{style:h.switchColumnAuto,control:n.createElement(g.Switch,{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")}),n.createElement(g.FormControlLabel,{style:h.switchColumnAuto,control:n.createElement(g.Switch,{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")}),n.createElement(g.FormControlLabel,{style:h.switchColumnAuto,control:n.createElement(g.Switch,{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)")}),n.createElement(g.List,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(e=>{var t;return(t=this.state.columnsForAdmin)==null?void 0:t[e].map(s=>{var o;return n.createElement(g.ListItemButton,{onClick:()=>{if(!this.state.columnsAuto){const r=[...this.state.columns||[]],M=`_${e}_${s.path}`,a=r.indexOf(M);a===-1?(r.push(M),r.sort()):r.splice(a,1),this.calculateColumnsVisibility(null,r),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(r)),this.setState({columns:r})}},key:`${e}_${s.name}`},n.createElement(g.ListItemIcon,null,n.createElement(g.Checkbox,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((o=this.state.columns)==null?void 0:o.includes(`_${e}_${s.path}`)),disableRipple:!0})),n.createElement(g.ListItemText,{primary:`${s.name} (${e})`}))})}),this._renderDefinedList(!0))),n.createElement(g.DialogActions,null,n.createElement(g.Button,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:n.createElement(m.Close,null)},this.texts.close))):null}async getAdditionalColumns(){try{const e=await this.props.socket.getAdapters();let t=null;return e.forEach(s=>t=this.parseObjectForAdmins(t,s)),t}catch(e){return console.error(`Cannot get adapters: ${e}`),null}}checkUnsubscribes(){for(let e=this.subscribes.length-1;e>=0;e--)this.recordStates.includes(this.subscribes[e])||this.unsubscribe(this.subscribes[e]);this.recordStates=[]}findItem(e,t,s,o){if(t||=e.split("."),s||=this.root,!s||!t.length)return null;if(o=(o?`${o}.`:"")+t.shift(),s.children){const r=s.children.find(M=>M.data.id===o);if(r){if(r.data.id===e)return r;if(t.length)return this.findItem(e,t,r,o)}else return null}return null}onStateChange=(e,t)=>{if(console.log(`> stateChange ${e}`),this.states[e]){const s=this.findItem(e);s!=null&&s.data.state&&(s.data.state=void 0)}t?this.states[e]=t:delete this.states[e],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))};parseObjectForAdmins(e,t){var s;if((s=t.common)!=null&&s.adminColumns&&t.common.name){const o=t.common.adminColumns;let r;o&&typeof o!="object"?r=[o]:o&&(r=o);let M;o?M=r.map(a=>{if(typeof a!="object")return{path:a,name:a.split(".").pop()};const u=a;return u.objTypes&&typeof u.objTypes!="object"?u.objTypes=[u.objTypes]:u.objTypes||(u.objTypes=void 0),!u.name&&u.path?{path:u.path,name:u.path.split(".").pop(),width:u.width,edit:!!u.edit,type:u.type,objTypes:u.objTypes}:u.path?{path:u.path,name:Oe(u.name||"",this.props.lang),width:u.width,edit:!!u.edit,type:u.type,objTypes:u.objTypes}:(console.warn(`Admin columns for ${t._id} ignored, because path not found`),null)}).filter(a=>a):M=null,M!=null&&M.length&&(e||={},e[t.common.name]=M.sort((a,u)=>a.path>u.path?-1:a.path{if(Array.isArray(e)){let t=null;e.forEach(s=>{const{newInnerState:o,filtered:r}=this.processOnObjectChangeElement(s.id,s.obj);r||(o&&t?Object.assign(t,o):t=o)}),t&&this.setState(t),this.afterObjectUpdated()}};onObjectChange=(e,t)=>{const{newInnerState:s,filtered:o}=this.processOnObjectChangeElement(e,t);o||(s&&this.setState(s),this.afterObjectUpdated())};afterObjectUpdated(){!this.objectsUpdateTimer&&this.objects&&(this.objectsUpdateTimer=setTimeout(()=>{this.objectsUpdateTimer=null;const{info:e,root:t}=bM(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=t,this.info=e,this.lastAppliedFilter=null,this.pausedSubscribes||this.forceUpdate()},500))}updateAliases(e){var s,o,r;if(!this.objects||!((s=this.info)!=null&&s.aliasesMap)||!(e!=null&&e.startsWith("alias.")))return;const t=Object.keys(this.objects).filter(M=>M.startsWith("alias.0"));this.info.aliasesMap={};for(const M of t){const a=this.objects[M];if((r=(o=a==null?void 0:a.common)==null?void 0:o.alias)!=null&&r.id)if(typeof a.common.alias.id=="string"){const u=a.common.alias.id;this.info.aliasesMap[u]?this.info.aliasesMap[u].includes(M)||this.info.aliasesMap[u].push(M):this.info.aliasesMap[u]=[M]}else{const u=a.common.alias.id.read;u&&(this.info.aliasesMap[u]?this.info.aliasesMap[u].includes(M)||this.info.aliasesMap[u].push(M):this.info.aliasesMap[u]=[M]);const N=a.common.alias.id.write;N&&(this.info.aliasesMap[N]?this.info.aliasesMap[N].includes(M)||this.info.aliasesMap[N].push(M):this.info.aliasesMap[N]=[M])}}}processOnObjectChangeElement(e,t){console.log(`> objectChange ${e}`);const s=t==null?void 0:t.type;if(t&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(t)&&s!=="channel"&&s!=="device"&&s!=="folder"&&s!=="adapter"&&s!=="instance")return{newInnerState:null,filtered:!0};let o=null;if(e.startsWith("system.adapter.")&&(t==null?void 0:t.type)==="adapter"){const r=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(r,t),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(r)&&(o={columnsForAdmin:r})}return this.objects||={},t?this.objects[e]=t:this.objects[e]&&delete this.objects[e],this.updateAliases(e),{newInnerState:o,filtered:!1}}subscribe(e){this.subscribes.includes(e)||(this.subscribes.push(e),console.log(`+ subscribe ${e}`),this.pausedSubscribes||this.props.socket.subscribeState(e,this.onStateChange).catch(t=>console.error(`Cannot subscribe on state ${e}: ${t}`)))}unsubscribe(e){const t=this.subscribes.indexOf(e);t!==-1&&(this.subscribes.splice(t,1),this.states[e]&&delete this.states[e],console.log(`- unsubscribe ${e}`),this.props.socket.unsubscribeState(e,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(e){!this.pausedSubscribes&&e?(this.pausedSubscribes=!0,this.subscribes.forEach(t=>this.props.socket.unsubscribeState(t,this.onStateChange))):this.pausedSubscribes&&!e&&(this.pausedSubscribes=!1,this.subscribes.forEach(t=>this.props.socket.subscribeState(t,this.onStateChange)))}onFilter(e,t){this.filterTimer=null;const s={...this.state.filter};Object.keys(this.filterRefs).forEach(o=>{var r;if((r=this.filterRefs[o])!=null&&r.current){const M=this.filterRefs[o].current;for(let a=0;athis.props.onFilterChanged&&this.props.onFilterChanged(s)))}clearFilter(){const e={...this.state.filter};Object.keys(this.filterRefs).forEach(t=>{var s;if((s=this.filterRefs[t])!=null&&s.current){const o=this.filterRefs[t].current;for(let r=0;r{var t,s;return(s=(t=this.props).onFilterChanged)==null?void 0:s.call(t,e)}))}isFilterEmpty(){return!Object.keys(this.state.filter).find(t=>t!=="expertMode"&&this.state.filter[t])}getFilterInput(e){var t,s,o;return n.createElement(g.FormControl,{sx:this.styles.filterInput,key:`${e}_${this.state.filterKey}`,title:e==="name"||e==="id"?this.props.t("ra_You can use * as wildcard"):void 0,margin:"dense"},n.createElement(g.Input,{ref:this.filterRefs[e],classes:{underline:"no-underline"},id:e,placeholder:this.texts[`filter_${e}`],defaultValue:this.state.filter[e]||"",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},autoComplete:"off"}),(o=(s=(t=this.filterRefs[e])==null?void 0:t.current)==null?void 0:s.firstChild)!=null&&o.value?n.createElement("div",{style:{position:"absolute",right:0}},n.createElement(g.IconButton,{size:"small",onClick:()=>{var r;((r=this.filterRefs[e].current)==null?void 0:r.firstChild).value="",this.onFilter(e,"")}},n.createElement(m.Close,null))):null)}getFilterSelect(e,t){var o,r,M;const s=!!(t!=null&&t.find(a=>a.icon));return n.createElement("div",{style:{position:"relative"}},n.createElement(g.Select,{variant:"standard",key:`${e}_${this.state.filterKey}`,ref:this.filterRefs[e],sx:h.headerCellInput,className:"no-underline",onChange:()=>{this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>this.onFilter(),400)},defaultValue:this.state.filter[e]||"",inputProps:{name:e,id:e},displayEmpty:!0},n.createElement(g.MenuItem,{key:"empty",value:""},n.createElement("span",{style:h.selectNone},e==="custom"?this.texts.showAll:this.texts[`filter_${e}`])),t==null?void 0:t.map(a=>{let u,N,l;return typeof a=="object"?(u=a.value,N=a.name,l=a.icon):(u=a,N=a),n.createElement(g.MenuItem,{sx:h.headerCellSelectItem,key:u,value:u},l||(s?n.createElement("div",{className:"itemIcon"}):null),N)})),(M=(r=(o=this.filterRefs[e])==null?void 0:o.current)==null?void 0:r.childNodes[1])!=null&&M.value?n.createElement(g.Box,{component:"div",sx:h.selectClearButton},n.createElement(g.IconButton,{size:"small",onClick:()=>{var u;const a={...this.state.filter};a[e]="",((u=this.filterRefs[e].current)==null?void 0:u.childNodes[1]).value="",this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(a)),this.setState({filter:a,filterKey:this.state.filterKey+1},()=>this.props.onFilterChanged&&this.props.onFilterChanged(a))}},n.createElement(m.Close,null))):null)}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles.map(e=>e.role))}getFilterSelectRoom(){const e=this.info.roomEnums.map(t=>{var s,o,r,M;return{name:Oe((o=(s=this.objects[t])==null?void 0:s.common)==null?void 0:o.name,this.props.lang)||t.split(".").pop(),value:t,icon:n.createElement(Ie,{src:((M=(r=this.objects[t])==null?void 0:r.common)==null?void 0:M.icon)||"",style:h.selectIcon})}});return this.getFilterSelect("room",e)}getFilterSelectFunction(){const e=this.info.funcEnums.map(t=>{var s,o,r,M;return{name:Oe((o=(s=this.objects[t])==null?void 0:s.common)==null?void 0:o.name,this.props.lang)||t.split(".").pop(),value:t,icon:n.createElement(Ie,{src:((M=(r=this.objects[t])==null?void 0:r.common)==null?void 0:M.icon)||"",style:h.selectIcon})}});return this.getFilterSelect("func",e)}getFilterSelectType(){const e=this.info.types.map(t=>({name:t,value:t,icon:$M[t]||null}));return this.getFilterSelect("type",e)}getFilterSelectCustoms(){if(this.info.customs.length>1){const e=this.info.customs.map(t=>({name:t==="_"?this.texts.filterCustomsWithout:t,value:t,icon:t==="_"?null:n.createElement(Ie,{src:ci(this.objects,t,this.props.lang,this.imagePrefix)||"",style:h.selectIcon})}));return this.getFilterSelect("custom",e)}return null}onExpandAll(e,t){var o;const s=e||this.root;t||=[],(o=s==null?void 0:s.children)==null||o.forEach(r=>{r.data.sumVisibility&&(t.push(r.data.id),this.onExpandAll(r,t))}),s===this.root&&(t.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t}))}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(e,t,s){var o;e||=this.root,t>0&&((o=e.children)==null||o.forEach(r=>{r.data.sumVisibility&&(Is(s,r.data.id)||(s.push(r.data.id),s.sort()),t-1>0&&this.expandDepth(r,t-1,s))}))}static collapseDepth(e,t){return t.filter(s=>s.split(".").length<=e)}onExpandVisible(){if(this.state.depth<9){const e=this.state.depth+1,t=[...this.state.expanded];this.root&&this.expandDepth(this.root,e,t),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}onStatesViewVisible(){const e=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(e)),this.setState({statesView:e})}onCollapseVisible(){if(this.state.depth>0){const e=this.state.depth-1,t=We.collapseDepth(e,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}getEnumsForId=e=>{const t=[];return this.info.enums.forEach(s=>{var o,r,M;if((M=(r=(o=this.objects[s])==null?void 0:o.common)==null?void 0:r.members)!=null&&M.includes(e)){const a={_id:this.objects[s]._id,common:JSON.parse(JSON.stringify(this.objects[s].common)),native:this.objects[s].native,type:"enum"};a.common&&(delete a.common.members,delete a.common.custom,delete a.common.mobile),t.push(a)}}),t.length?t:void 0};_createAllEnums=async(e,t)=>{var s,o;for(let r=0;ro)break}return e}return[]}async _exportObjects(e){var r;if(e.isAll){UM("allObjects.json",this.objects,e);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}const t={},s=this.state.selected[0]||this.state.selectedNonObject,o=this._getSelectedIdsForExport();for(const M of o){if(t[M]=JSON.parse(JSON.stringify(this.objects[M])),((r=t[M])==null?void 0:r.type)==="state"&&!e.noStatesByExportImport){const a=await this.props.socket.getState(M);a&&(t[M].val=a.val,t[M].ack=a.ack)}if(t[M].common){const a=this.getEnumsForId(M);a&&(t[M].common.enums=a)}}UM(`${s}.json`,t,e)}renderExportDialog(){return this.state.showExportDialog===!1?null:n.createElement(g.Dialog,{open:!0,maxWidth:"lg"},n.createElement(g.DialogTitle,null,this.props.t("ra_Select type of export")),n.createElement(g.DialogContent,null,n.createElement(g.DialogContentText,null,this.state.filter.expertMode||this.state.showAllExportOptions?n.createElement(n.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),n.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),n.createElement("br",null),n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{checked:this.state.noStatesByExportImport,onChange:e=>this.setState({noStatesByExportImport:e.target.checked})}),label:this.props.t("ra_Do not export values of states")}),n.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{checked:this.state.beautifyJsonExport,onChange:e=>this.setState({beautifyJsonExport:e.target.checked})}),label:this.props.t("Beautify JSON output")}),n.createElement("br",null),n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:e=>this.setState({excludeSystemRepositoriesFromExport:e.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{checked:this.state.excludeTranslations,onChange:e=>this.setState({excludeTranslations:e.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),n.createElement(g.DialogActions,null,this.state.filter.expertMode||this.state.showAllExportOptions?n.createElement(g.Button,{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}))},n.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):n.createElement(g.Button,{color:"grey",variant:"outlined",startIcon:n.createElement(uo,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),n.createElement(g.Button,{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}))},n.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),n.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:n.createElement(m.Close,null)},this.props.t("ra_Cancel"))))}renderRenameDialog(){var t;if(!this.state.showRenameDialog)return null;const e=this.props.objectMoveRenameDialog;return n.createElement(e,{expertMode:this.props.expertMode,onClose:()=>this.setState({showRenameDialog:null}),id:this.state.showRenameDialog.id,childrenIds:this.state.showRenameDialog.childrenIds,theme:this.props.theme,socket:this.props.socket,t:this.props.t,objectType:(t=this.objects[this.state.showRenameDialog.id])==null?void 0:t.type})}handleJsonUpload(e){var o;const t=e.target,s=((o=t.files)==null?void 0:o.length)&&t.files[0];if(s){const r=new FileReader;r.onload=async M=>{var u;const a=(u=M.target)==null?void 0:u.result;try{const N=JSON.parse(a),l=Object.keys(N).length,c=N._id;if(c===void 0&&l)await this.loadObjects(N),window.alert(this.props.t("ra_%s object(s) processed",l));else{if(!c)return window.alert(this.props.t("ra_Invalid structure"));try{let L,j,T;if(N.common.enums&&(L=N.common.enums,delete N.common.enums),N.val&&(j=N.val,delete N.val),N.ack!==void 0&&(T=N.ack,delete N.ack),await this.props.socket.setObject(N._id,N),N.type==="state")if(j!=null)await this.props.socket.setState(N._id,j,T===void 0?!0:T);else{const D=await this.props.socket.getState(N._id);(!D||D.val===null||D.val===void 0)&&await this.props.socket.setState(N._id,N.common.def===void 0?null:N.common.def,!0)}L&&await this._createAllEnums(L,N._id),window.alert(this.props.t("ra_%s was imported",N._id))}catch(L){window.alert(L)}}}catch(N){window.alert(N)}return null},r.readAsText(s)}else window.alert(this.props.t("ra_Failed to open JSON File"))}toolTipObjectCreating=()=>{var s,o;const{t:e}=this.props;let t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:6},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('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){const r=this.state.selected[0]||this.state.selectedNonObject;if(!(r.split(".").length<2||this.objects[r]&&((s=this.objects[r])==null?void 0:s.type)==="state"))if(this.state.filter.expertMode)switch((o=this.objects[r])==null?void 0:o.type){case"device":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:1},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break}else(r.startsWith("alias.0")||r.startsWith("0_userdata"))&&(t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:6},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:7},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:8},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return t.length?t:e("ra_Add new child object to selected parent")};getToolbar(){let e=!1;if(this.state.selected.length||this.state.selectedNonObject){const t=this.state.selected[0]||this.state.selectedNonObject;t.split(".").length<2||this.objects[t]&&this.objects[t].type==="state"?e=!1:(this.state.filter.expertMode||t.startsWith("alias.0")||t.startsWith("0_userdata"))&&(e=!0)}return n.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},n.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},n.createElement(g.Tooltip,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:h.tooltip}}},n.createElement("div",null,n.createElement(g.IconButton,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},n.createElement(m.Refresh,null)))),this.props.showExpertButton&&!this.props.expertMode&&n.createElement(g.Tooltip,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>this.onFilter("expertMode",!this.state.filter.expertMode),size:"large"},n.createElement(uo,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&n.createElement(g.Tooltip,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},n.createElement(m.ViewColumn,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&n.createElement(g.Tooltip,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},n.createElement(Ks,null))),n.createElement(g.Tooltip,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},n.createElement(Gt,null))),this.props.width!=="xs"&&n.createElement(g.Tooltip,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},n.createElement(g.Badge,{badgeContent:this.state.depth,color:"secondary",sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}})},n.createElement(Ks,null)))),this.props.width!=="xs"&&n.createElement(g.Tooltip,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},n.createElement(g.Badge,{sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},n.createElement(Gt,null)))),this.props.objectStatesView&&n.createElement(g.Tooltip,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{onClick:()=>this.onStatesViewVisible(),size:"large"},n.createElement(m.LooksOne,{color:this.state.statesView?"primary":"inherit"}))),n.createElement(g.Tooltip,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},n.createElement(m.TextFields,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?n.createElement(g.Tooltip,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:h.tooltip}}},n.createElement("div",null,n.createElement(g.IconButton,{disabled:!e,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},n.createElement(m.Add,null)))):null,this.props.objectImportExport&&n.createElement(g.Tooltip,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{onClick:()=>{const t=document.createElement("input");t.setAttribute("type","file"),t.setAttribute("id","files"),t.setAttribute("opacity","0"),t.addEventListener("change",s=>this.handleJsonUpload(s),!1),t.click()},size:"large"},n.createElement(m.Publish,null))),this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&n.createElement(g.Tooltip,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},n.createElement(m.Publish,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&n.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(t=>this.info.objects[t].type==="state").length}`),this.props.objectEditBoolean&&n.createElement(g.Tooltip,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{onClick:()=>{var s;const t=this.root?Ea(this.root,"state",this.objects):[];t.length?(this.pauseSubscribe(!0),t.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(s=this.props.router)==null||s.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:t,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},n.createElement(m.Build,null))))}toggleExpanded(e){const t=JSON.parse(JSON.stringify(this.state.expanded)),s=t.indexOf(e);s===-1?(t.push(e),t.sort()):t.splice(s,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t})}onCopy(e,t){e.stopPropagation(),e.preventDefault(),t&&(S.copyToClipboard(t),t.length<50?this.setState({toast:this.props.t("ra_Copied %s",t)}):this.setState({toast:this.props.t("ra_Copied")}))}renderTooltipAccessControl=e=>{if(!e)return null;const t=[{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"}],s=[],o=r=>{const M=e[r];t.forEach((a,u)=>{M&a.valueNum&&s.push(n.createElement("span",{key:r+u},this.texts[`acl${a.group}_${a.title}_${r}`],",",n.createElement("span",{style:r==="object"?h.rightsObject:h.rightsState},a.value)))})};return s.push(n.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(e.ownerGroup||"").replace("system.group.","")}`)),s.push(n.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(e.owner||"").replace("system.user.","")}`)),o("object"),e.state&&o("state"),s.length?n.createElement("span",{style:h.tooltipAccessControl},s.map(r=>r)):null};renderColumnButtons(e,t){var M,a,u,N;if(!t.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?n.createElement("div",{style:h.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?n.createElement(g.IconButton,{sx:{...h.cellButtonsButton,...h.cellButtonsEmptyButton,...h.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},n.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&((M=t.children)!=null&&M.length)?n.createElement(g.IconButton,{sx:{...h.cellButtonsButton,...h.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var j;const l=Object.keys(this.objects);l.sort();let c=0;const L=`${e}.`;for(let T=0;TL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((j=t.children)!=null&&j.length),!1,c+1)}},n.createElement(m.Delete,{style:h.cellButtonsButtonIcon})):null):null;t.data.aclTooltip=t.data.aclTooltip||this.renderTooltipAccessControl(t.data.obj.acl);const s=t.data.obj.acl?t.data.obj.type==="state"?t.data.obj.acl.state:t.data.obj.acl.object:0,o=t.data.obj.acl&&(t.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),r=this.state.filter.expertMode||We.isNonExpertId(t.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?n.createElement(g.Tooltip,{key:"acl",title:t.data.aclTooltip,slotProps:{popper:{sx:h.tooltip}}},n.createElement(g.IconButton,{sx:{...h.cellButtonsButton,...h.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},n.createElement("div",{style:h.aclText},Number.isNaN(Number(s))?Number(o).toString(16):Number(s).toString(16)))):n.createElement("div",{key:"aclEmpty",style:h.cellButtonMinWidth}),r?n.createElement(g.IconButton,{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`,e),this.setState({editObjectDialog:e,editObjectAlias:!1})}},n.createElement(m.Edit,{style:h.cellButtonsButtonIcon})):n.createElement(g.Box,{component:"div",key:"editDisabled",sx:h.cellButtonsButton}),this.props.onObjectDelete&&((a=t.children)!=null&&a.length||!((u=t.data.obj.common)!=null&&u.dontDelete))?n.createElement(g.IconButton,{key:"delete",sx:h.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var j,T,D;const l=Object.keys(this.objects);l.sort();let c=0;const L=`${e}.`;for(let I=0;IL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((j=t.children)!=null&&j.length),!((D=(T=t.data.obj)==null?void 0:T.common)!=null&&D.dontDelete),c)},title:this.texts.deleteObject},n.createElement(m.Delete,{style:h.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&t.data.obj.type==="state"&&((N=t.data.obj.common)==null?void 0:N.type)!=="file"?n.createElement(g.IconButton,{sx:{...h.cellButtonsButton,...t.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:h.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var l;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.pauseSubscribe(!0),(l=this.props.router)==null||l.doNavigate(null,"customs",e),this.setState({customDialog:[e],customDialogAll:!1})}},n.createElement(m.Settings,{style:h.cellButtonsButtonIcon})):null]}readHistory(e){var t,s;if(window.sparkline&&this.defaultHistory&&((s=(t=this.objects[e])==null?void 0:t.common)!=null&&s.custom)&&this.objects[e].common.custom[this.defaultHistory]){const o=new Date;o.setHours(o.getHours()-24),o.setMinutes(0),o.setSeconds(0),o.setMilliseconds(0);const r=o.getTime();this.props.socket.getHistory(e,{instance:this.defaultHistory,start:r,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addId:!1,aggregate:"minmax"}).then(M=>{const a=window.document.getElementsByClassName("sparkline");for(let u=0;uconsole.warn(`Cannot read history: ${M}`))}}getTooltipInfo(e,t){var N,l,c;const s=this.objects[e],o=this.states[e],{valFull:r,fileViewer:M}=bi({state:o,obj:s,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}),a=[];r==null||r.forEach(L=>{L.t===this.texts.quality&&o.q?(a.push(n.createElement("div",{style:h.cellValueTooltipBoth,key:L.t},L.t,": ",L.v)),L.nbr||a.push(n.createElement("br",{key:`${L.t}_br`}))):(a.push(n.createElement("div",{style:h.cellValueTooltipTitle,key:L.t},L.t,": ")),a.push(n.createElement("div",{style:h.cellValueTooltipValue,key:`${L.t}_v`},L.v)),L.nbr||a.push(n.createElement("br",{key:`${L.t}_br`})))});const u=((N=s==null?void 0:s.common)==null?void 0:N.role)||"";M==="image"?a.push(n.createElement("img",{style:h.cellValueTooltipImage,src:o.val,alt:e})):u==="url"||s.common.role==="url.self"||s.common.role==="url.blank"?a.unshift(n.createElement("div",{key:"ctrl",style:{textDecoration:"underline",fontWeight:"bold"}},this.texts.ctrlForLink)):this.defaultHistory&&((c=(l=s==null?void 0:s.common)==null?void 0:l.custom)!=null&&c[this.defaultHistory])&&a.push(n.createElement("svg",{key:"sparkline",className:"sparkline","data-id":e,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:a,id:e}},()=>t&&t())}renderColumnValue(e,t,s){var u,N;const o=t.data.obj;if(!o||!this.states)return null;if(((u=o.common)==null?void 0:u.type)==="file")return n.createElement(g.Box,{component:"div",sx:{...h.cellValueText,...h.cellValueFile}},"[file]");if(!this.states[e])return o.type==="state"&&(this.recordStates.includes(e)||this.recordStates.push(e),this.states[e]={val:null},this.subscribe(e)),null;this.recordStates.includes(e)||this.recordStates.push(e);const r=this.states[e];let M=t.data.state;if(!M){const{valText:l}=bi({state:r,obj:o,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),c=[];if(t.data.state={valTextRx:c},c.push(n.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${l.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},l.v.toString())),l.u&&c.push(n.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:h.cellValueTextUnit,key:`${l.v.toString()}unit`},l.u)),l.s!==void 0&&c.push(n.createElement("span",{style:h.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${l.v.toString()}states`},"(",l.s,")")),!s){const L=l.c!==void 0?l.c:l.v||"";c.push(n.createElement($t,{className:"copyButton",style:this.styles.iconCopy,onClick:j=>this.onCopy(j,L),key:"cc"}))}M=t.data.state}M.style=CNe({state:r,isExpertMode:this.state.filter.expertMode,isButton:t.data.button});let a=M.valTextRx;return this.state.filter.expertMode||(t.data.button?a=[n.createElement(dNe,{key:"button",style:{color:M.style.color,...h.cellValueButton}})]:t.data.switch&&(a=[n.createElement(g.Switch,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:M.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[e].val&&this.state.selected.includes(e)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[e].val})])),n.createElement(g.Tooltip,{key:"value",title:(N=this.state.tooltipInfo)==null?void 0:N.el,slotProps:{popper:{sx:h.cellValueTooltipBox},tooltip:{sx:h.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(e,()=>this.readHistory(e)),onClose:()=>{var l;return((l=this.state.tooltipInfo)==null?void 0:l.id)===e&&this.setState({tooltipInfo:null})}},n.createElement(g.Box,{component:"div",style:M.style,className:t.data.url?"iob-link":void 0,sx:{...h.cellValueText,height:s?void 0:de,"& .admin-button:active":{transform:"translate(0, 2px)"}}},a))}_syncEnum(e,t,s,o){var a,u,N;if(!(t!=null&&t.length)){o&&o();return}const r=t.pop()||"",M=[];if((a=this.info.objects[r])!=null&&a.common){if((u=this.info.objects[r].common.members)!=null&&u.length){const l=this.info.objects[r].common.members.indexOf(e);if(l!==-1&&!s.includes(r)){const c=JSON.parse(JSON.stringify(this.info.objects[r]));c.common.members.splice(l,1),M.push(this.props.socket.setObject(r,c).then(()=>this.info.objects[r]=c).catch(L=>this.showError(L)))}}if(s.includes(r)&&!((N=this.info.objects[r].common.members)!=null&&N.includes(e))){const l=JSON.parse(JSON.stringify(this.info.objects[r]));l.common.members||=[],l.common.members.push(e),l.common.members.sort(),M.push(this.props.socket.setObject(r,l).then(()=>this.info.objects[r]=l).catch(c=>this.showError(c)))}}Promise.all(M).then(()=>{setTimeout(()=>this._syncEnum(e,t,s,o),0)})}syncEnum(e,t,s){const o=[...this.info[t==="func"?"funcEnums":"roomEnums"]];return new Promise(r=>{this._syncEnum(e,o,s,()=>{r()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;const e=this.state.enumDialog.type,t=this.state.enumDialog.item,s=this.state.enumDialogEnums,o=this.state.enumDialog.enumsOriginal,r=(e==="room"?this.info.roomEnums:this.info.funcEnums).map(M=>{var a,u;return{name:Oe(((u=(a=this.objects[M])==null?void 0:a.common)==null?void 0:u.name)||M.split(".").pop()||"",this.props.lang),value:M,icon:ci(this.objects,M,this.props.lang,this.imagePrefix)}}).sort((M,a)=>M.name>a.name?1:-1);return r.forEach(M=>{M.icon&&typeof M.icon=="string"&&(M.icon=n.createElement(g.Box,{style:h.enumIconDiv},n.createElement("img",{src:M.icon,style:h.enumIcon,alt:M.name})))}),n.createElement(g.Dialog,{sx:{"& .MuiPaper-root":h.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},n.createElement(g.DialogTitle,{id:"enum-dialog-title",style:{display:"flex",justifyContent:"space-between",width:"100%",flexWrap:"nowrap",gap:8,paddingRight:12}},e==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),n.createElement(g.Fab,{color:"primary",disabled:o===JSON.stringify(s),size:"small",onClick:()=>this.syncEnum(t.data.id,e,s).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},n.createElement(m.Check,null))),n.createElement(g.List,{sx:{"&.MuiList-root":h.enumList}},r.map(M=>{let a,u,N;typeof M=="object"?(a=M.value,u=M.name,N=M.icon):(a=M,u=M);const l=`checkbox-list-label-${a}`;return n.createElement(g.ListItem,{sx:h.headerCellSelectItem,key:a,onClick:()=>{const c=s.indexOf(a),L=JSON.parse(JSON.stringify(this.state.enumDialogEnums));c===-1?(L.push(a),L.sort()):L.splice(c,1),this.setState({enumDialogEnums:L})},secondaryAction:N},n.createElement(g.ListItemIcon,{sx:{"&.MuiListItemIcon-root":h.enumCheckbox}},n.createElement(g.Checkbox,{edge:"start",checked:s.includes(a),tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":l}})),n.createElement(g.ListItemText,{id:l},u))})))}renderEditRoleDialog(){var e,t;if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){const s=this.props.objectBrowserEditRole;return n.createElement(s,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roleArray:this.info.roles,commonType:(t=(e=this.info.objects[this.state.roleDialog])==null?void 0:e.common)==null?void 0:t.type,onClose:o=>{o&&(this.info.objects[this.state.roleDialog]=o),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(e){var s,o;const t=this.customColumnDialog;if(e){let r=t.value;t.type==="boolean"?r=r==="true"||r===!0:t.type==="number"&&(r=parseFloat(r)),this.customColumnDialog=null,this.props.socket.getObject(((o=(s=this.state.columnsEditCustomDialog)==null?void 0:s.obj)==null?void 0:o._id)||"").then(M=>{var a;if(M&&We.setCustomValue(M,(a=this.state.columnsEditCustomDialog)==null?void 0:a.it,r))return this.props.socket.setObject(M._id,M);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(M=>this.showError(M))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){const e=We.getCustomValue(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof e,initValue:(e??"").toString(),value:(e??"").toString()}}return n.createElement(g.Dialog,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},n.createElement(g.DialogTitle,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),n.createElement(g.DialogContent,null,n.createElement(g.DialogContentText,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:e=>{const t=this.customColumnDialog;t.value=e.target.checked.toString();const s=t.value!==t.initValue;s===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:s})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):n.createElement(g.TextField,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:e=>{const t=this.customColumnDialog;t.value=e.target.value;const s=t.value!==t.initValue;s===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:s})},autoFocus:!0}))),n.createElement(g.DialogActions,null,n.createElement(g.Button,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:n.createElement(m.Check,null)},this.props.t("ra_Update")),n.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:n.createElement(m.Close,null)},this.props.t("ra_Cancel"))))}static getCustomValue(e,t){var s;if((s=e==null?void 0:e._id)!=null&&s.startsWith(`${t.adapter}.`)&&t.path.length>1){const o=t.path;let r;const M=e;if(M[o[0]]&&typeof M[o[0]]=="object")return o.length===2?r=M[o[0]][o[1]]:o.length===3?r=M[o[0]][o[1]]&&typeof M[o[0]][o[1]]=="object"?M[o[0]][o[1]][o[2]]:null:o.length===4?r=M[o[0]][o[1]]&&typeof M[o[0]][o[1]]=="object"&&M[o[0]][o[1]][o[2]]?M[o[0]][o[1]][o[2]][o[3]]:null:o.length===5?r=M[o[0]][o[1]]&&typeof M[o[0]][o[1]]=="object"&&M[o[0]][o[1]][o[2]]&&M[o[0]][o[1]][o[2]][o[3]]?M[o[0]][o[1]][o[2]][o[3]][o[4]]:null:o.length===6&&(r=M[o[0]][o[1]]&&typeof M[o[0]][o[1]]=="object"&&M[o[0]][o[1]][o[2]]&&M[o[0]][o[1]][o[2]][o[3]]&&M[o[0]][o[1]][o[2]][o[3]][o[4]]?M[o[0]][o[1]][o[2]][o[3]][o[4]][o[5]]:null),r??null}return null}static setCustomValue(e,t,s){var o;if((o=e==null?void 0:e._id)!=null&&o.startsWith(`${t.adapter}.`)&&t.path.length>1){const r=t.path,M=e;if(M[r[0]]&&typeof M[r[0]]=="object"){if(r.length===2)return M[r[0]][r[1]]=s,!0;if(r.length===3){if(M[r[0]][r[1]]&&typeof M[r[0]][r[1]]=="object")return M[r[0]][r[1]][r[2]]=s,!0}else if(r.length===4){if(M[r[0]][r[1]]&&typeof M[r[0]][r[1]]=="object"&&M[r[0]][r[1]][r[2]]&&typeof M[r[0]][r[1]][r[2]]=="object")return M[r[0]][r[1]][r[2]][r[3]]=s,!0}else if(r.length===5){if(M[r[0]][r[1]]&&typeof M[r[0]][r[1]]=="object"&&M[r[0]][r[1]][r[2]]&&typeof M[r[0]][r[1]][r[2]]=="object"&&M[r[0]][r[1]][r[2]][r[3]]&&typeof M[r[0]][r[1]][r[2]][r[3]]=="object")return M[r[0]][r[1]][r[2]][r[3]][r[4]]=s,!0}else if(r.length===6&&M[r[0]][r[1]]&&typeof M[r[0]][r[1]]=="object"&&M[r[0]][r[1]][r[2]]&&typeof M[r[0]][r[1]][r[2]]=="object"&&M[r[0]][r[1]][r[2]][r[3]]&&typeof M[r[0]][r[1]][r[2]][r[3]]=="object"&&M[r[0]][r[1]][r[2]][r[3]][r[4]]&&typeof M[r[0]][r[1]][r[2]][r[3]][r[4]]=="object")return M[r[0]][r[1]][r[2]][r[3]][r[4]][r[5]]=s,!0}}return!1}renderCustomValue(e,t,s){const o=We.getCustomValue(e,t);return o!=null?t.edit&&!this.props.notEditable&&(!t.objTypes||t.objTypes.includes(e.type))?n.createElement(g.Box,{component:"div",style:{...h.columnCustom,...h.columnCustomEditable,...h[`columnCustom_${t.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:s,it:t,obj:e},customColumnDialogValueChanged:!1})},o):n.createElement(g.Box,{component:"div",style:{...h.columnCustom,...h[`columnCustom_${t.align}`]}},o):null}renderAliasLink(e,t,s){const o=t||0,r=this.objects[this.info.aliasesMap[e][o]].common.alias.id;return r?n.createElement(g.Box,{component:"div",onClick:M=>{M.stopPropagation(),M.preventDefault();const a=this.info.aliasesMap[e][o];this.info.aliasesMap[e].length>1&&this.setState({aliasMenu:""}),this.onSelect(a),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(a)),100)},sx:s||this.styles.aliasAlone},n.createElement("span",{className:"admin-browser-arrow"},typeof r=="string"||r.read===e&&r.write===e?"↔":r.read===e?"→":"←"),this.info.aliasesMap[e][o]):null}renderLeaf(e,t,s){var is,os,rs,_s,Ss,er,tr,sr,ir,or,rr,Mr,nr,ar;const o=e.data.id;s.count++,t=t===void 0?this.state.expanded.includes(o):t;let r;const M=e.data.obj,a=M==null?void 0:M.type;e.children||a==="folder"||a==="device"||a==="channel"||a==="meta"?r=t?n.createElement(Ks,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(o)}):n.createElement(Gt,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(o)}):M&&M.common&&M.common.write===!1&&M.type==="state"?r=n.createElement(NNe,{style:this.styles.cellIdIconDocument}):r=n.createElement(uNe,{style:this.styles.cellIdIconDocument});let u=null;e.data.icon&&(typeof e.data.icon=="string"?e.data.icon.length<3?u=n.createElement("span",{className:"iconOwn",style:h.cellIdIconOwn},e.data.icon):u=n.createElement(Ie,{style:h.cellIdIconOwn,className:"iconOwn",src:e.data.icon,alt:""}):u=e.data.icon);const N=M==null?void 0:M.common,l=(M==null?void 0:M.type)&&$M[M.type]||n.createElement("div",{className:"itemIcon"}),c=this.levelPadding*(e.data.level||0);if(e.data.lang!==this.props.lang){const{rooms:Q,per:X}=xa(this.info,o,this.props.lang);e.data.rooms=Q.join(", "),e.data.per=X;const{funcs:Ce,pef:Ne}=fa(this.info,o,this.props.lang);e.data.funcs=Ce.join(", "),e.data.pef=Ne,e.data.lang=this.props.lang}const L=this.props.multiSelect&&this.objects[o]&&(!this.props.types||this.props.types.includes(this.objects[o].type))?n.createElement(g.Checkbox,{style:h.checkBox,checked:this.state.selected.includes(o)}):null;let j=!this.props.notEditable&&a==="state"&&(this.state.filter.expertMode||(N==null?void 0:N.write)!==!1);this.props.objectBrowserViewFile&&(N==null?void 0:N.type)==="file"&&(j=!0);const T=!this.props.notEditable&&this.objects[o]&&(this.state.filter.expertMode||a==="state"||a==="channel"||a==="device"),D=this.state.statesView&&(a==="state"||a==="channel"||a==="device");let I="";const C=[];if(D&&(I=(is=this.states[o])==null?void 0:is.from,I===void 0?I=" ":(I=I?I.replace(/^system\.adapter\.|^system\./,""):"",C.push(`${this.texts.stateChangedFrom} ${I}`)),M!=null&&M.user)){const Q=M.user.replace("system.user.","");I+=`/${Q}`,C.push(`${this.texts.stateChangedBy} ${Q}`)}M&&(M.from&&C.push(`${this.texts.objectChangedFrom} ${M.from.replace(/^system\.adapter\.|^system\./,"")}`),M.user&&C.push(`${this.texts.objectChangedBy} ${M.user.replace(/^system\.user\./,"")}`),M.ts&&C.push(`${this.texts.objectChangedByUser} ${S.formatDate(new Date(M.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let E=!1,A=null;o.startsWith("alias.")&&((os=N==null?void 0:N.alias)!=null&&os.id)?(E=typeof N.alias.id=="object",E?A=n.createElement("div",{style:h.cellIdAliasReadWriteDiv},N.alias.id.read?n.createElement(g.Box,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(N.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(N.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"←",N.alias.id.read):null,N.alias.id.write?n.createElement(g.Box,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(N.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(N.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"→",N.alias.id.write):null):A=n.createElement(g.Box,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(N.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(N.alias.id)),100)},sx:this.styles.aliasAlone},"→",N.alias.id)):this.info.aliasesMap[o]&&(this.info.aliasesMap[o].length>1?A=n.createElement(g.Box,{component:"div",id:`alias_${o}`,onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.setState({aliasMenu:o})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[o].length)):A=this.renderAliasLink(o,0));let _=N==null?void 0:N.color,p;if(_&&!this.state.selected.includes(o)){const Q=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";S.colorDistance(_,Q)<1e3&&(p=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let z=!1;o==="0_userdata"?(_=Ca(this.props.themeType),z=!0):o==="alias"?(_=ha(this.props.themeType),z=!0):o==="javascript"?(_=DNe(this.props.themeType),z=!0):o==="system"?(_=Aa(this.props.themeType),z=!0):o==="system.adapter"?_=pa(this.props.themeType):(!_||this.state.selected.includes(o))&&(_="inherit");const O=[];if(N!=null&&N.statusStates){const Q={};Object.keys(N.statusStates).forEach(Ce=>{var be;let Ne=N.statusStates[Ce];Ne.split(".").length<3&&(Ne=`${o}.${Ne}`),Q[Ce]=Ne,this.states[Ne]?this.recordStates.includes(Ne)||this.recordStates.push(Ne):((be=this.objects[Ne])==null?void 0:be.type)==="state"&&(this.recordStates.includes(Ne)||this.recordStates.push(Ne),this.states[Ne]={val:null},this.subscribe(Ne))});let X=!1;N.statusStates.errorId&&this.states[Q.errorId]&&this.states[Q.errorId].val&&(_=this.props.themeType==="dark"?ma:Oa,X=!0,O.push(n.createElement(m.Error,{key:"error",style:this.styles.iconDeviceError}))),Q.onlineId&&this.states[Q.onlineId]?X?this.states[Q.onlineId].val?O.push(n.createElement(m.Wifi,{key:"conn",style:this.styles.iconDeviceConnected})):O.push(n.createElement(m.WifiOff,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[Q.onlineId].val?(_=this.props.themeType==="dark"?lo:Lo,O.push(n.createElement(m.Wifi,{key:"conn",style:this.styles.iconDeviceConnected}))):(_=this.props.themeType==="dark"?jo:go,O.push(n.createElement(m.WifiOff,{key:"disc",style:this.styles.iconDeviceDisconnected}))):Q.offlineId&&this.states[Q.offlineId]&&(X?this.states[Q.offlineId].val?O.push(n.createElement(m.WifiOff,{key:"disc",style:this.styles.iconDeviceDisconnected})):O.push(n.createElement(m.Wifi,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[Q.offlineId].val?(_=this.props.themeType==="dark"?jo:go,O.push(n.createElement(m.WifiOff,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(_=this.props.themeType==="dark"?lo:Lo,O.push(n.createElement(m.Wifi,{key:"conn",style:this.styles.iconDeviceConnected}))))}const k=D?S.quality2text(((rs=this.states[o])==null?void 0:rs.q)||0).join(", "):null;let f=((_s=e.data)==null?void 0:_s.title)||"",P=!1;if(this.state.showDescription){const Q=_a(e.data,this.props.lang);Q&&(f=[n.createElement("div",{key:"name",style:h.cellNameDivDiv},f),n.createElement("div",{key:"desc",style:h.cellDescription},Q)],P=!!Q)}const Y=this.props.width==="xs"&&this.state.focused===o,V=n.createElement(g.Grid2,{container:!0,wrap:"nowrap",direction:"row",sx:h.cellId,style:{width:this.columnsVisibility.id,paddingLeft:c}},n.createElement(g.Grid2,{container:!0,alignItems:"center"},L,r),n.createElement(g.Grid2,{style:{...h.cellIdSpan,...p?this.styles.invertedBackground:void 0,color:_,fontWeight:z?"bold":void 0}},n.createElement(g.Tooltip,{title:wNe(e.data,this.props.lang),slotProps:{popper:{sx:h.tooltip}}},n.createElement("div",null,e.data.name)),A,O),n.createElement("div",{style:{...h.grow,...p?this.styles.invertedBackgroundFlex:{}}}),n.createElement(g.Grid2,{container:!0,alignItems:"center"},u),this.props.width!=="xs"?n.createElement("div",null,n.createElement($t,{className:Y?"":"copyButton",style:h.cellCopyButton,onClick:Q=>this.onCopy(Q,o)})):null);let oe=Y&&f||this.columnsVisibility.name?n.createElement(g.Box,{component:"div",sx:{...h.cellName,...P?h.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:Y?0:"5px"}},f,!Y&&((Ss=e.data)!=null&&Ss.title)?n.createElement(g.Box,{style:{color:_}},n.createElement($t,{className:"copyButton",style:h.cellCopyButton,onClick:Q=>{var X;return this.onCopy(Q,(X=e.data)==null?void 0:X.title)}})):null):null,F;this.state.statesView?F=[Y&&D&&((er=this.states[o])!=null&&er.from)||this.columnsVisibility.changedFrom?{el:n.createElement("div",{key:"from",style:{...h.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:C.join(` +`)},D&&((tr=this.states[o])!=null&&tr.from)?I:null),type:"from"}:null,Y&&k||this.columnsVisibility.qualityCode?{el:n.createElement("div",{key:"q",style:{...h.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:k||""},k),type:"quality"}:null,Y&&D&&((sr=this.states[o])!=null&&sr.ts)||this.columnsVisibility.timestamp?{el:n.createElement("div",{key:"ts",style:{...h.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},D&&((ir=this.states[o])!=null&&ir.ts)?S.formatDate(new Date(this.states[o].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,Y&&D&&((or=this.states[o])!=null&&or.lc)||this.columnsVisibility.lastChange?{el:n.createElement("div",{key:"lc",style:{...h.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},D&&((rr=this.states[o])!=null&&rr.lc)?S.formatDate(new Date(this.states[o].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:F=[Y&&(M!=null&&M.type)||this.columnsVisibility.type?{el:n.createElement("div",{key:"type",style:{...h.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},l," ",M==null?void 0:M.type),type:"filter_type"}:null,Y&&N||this.columnsVisibility.role?{el:n.createElement("div",{key:"role",style:{...h.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&T&&this.props.objectBrowserEditRole?"text":"default"},onClick:!Y&&this.state.filter.expertMode&&T&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0},N==null?void 0:N.role),type:"filter_role",onClick:Y&&this.state.filter.expertMode&&T&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0}:null,Y&&N||this.columnsVisibility.room?{el:n.createElement("div",{key:"room",style:{...h.cellRoom,...e.data.per?h.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:T?"text":"default"},onClick:!Y&&T?()=>{const Q=Wt(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(Q)}})}:void 0},e.data.rooms),type:"filter_room",onClick:Y&&T?()=>{const Q=Wt(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(Q)}})}:void 0}:null,Y&&N||this.columnsVisibility.func?{el:n.createElement("div",{key:"func",style:{...h.cellFunc,...e.data.pef?h.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:T?"text":"default"},onClick:!Y&&T?()=>{const Q=Wt(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(Q)}})}:void 0},e.data.funcs),type:"filter_func",onClick:Y&&T?()=>{const Q=Wt(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(Q)}})}:void 0}:null];let G=((Mr=this.adapterColumns)==null?void 0:Mr.map(Q=>n.createElement("div",{style:{...h.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[Q.id]:void 0},key:Q.id,title:`${Q.adapter} => ${Q.pathText}`},M?this.renderCustomValue(M,Q,e):null)))||null;const ue=Y||this.columnsVisibility.val?this.renderColumnValue(o,e,Y):null;let ke=Y&&ue||this.columnsVisibility.val?n.createElement("div",{style:{...h.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:j?(N==null?void 0:N.type)==="file"?"zoom-in":e.data.button?"grab":"text":"default"},onClick:Q=>{var X,Ce,Ne;if(j){if(!(!M||!this.states))if((N==null?void 0:N.type)==="file")this.setState({viewFileDialog:o});else if(e.data.url&&Q.ctrlKey){if((X=this.states[o])!=null&&X.val&&typeof this.states[o].val=="string")if((N==null?void 0:N.role)==="url.self")window.location.href=this.states[o].val;else{const be=window.open(this.states[o].val,"_blank");be==null||be.focus()}}else!this.state.filter.expertMode&&e.data.button?this.props.socket.setState(o,!0).catch(be=>window.alert(`Cannot write state "${o}": ${be}`)):!this.state.filter.expertMode&&e.data.switch?this.props.socket.setState(o,!this.states[o].val).catch(be=>window.alert(`Cannot write state "${o}": ${be}`)):(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}))}else(N==null?void 0:N.role)==="url"||(N==null?void 0:N.role)==="url.blank"&&Q.ctrlKey?(Ce=this.states[o])!=null&&Ce.val&&typeof this.states[o].val=="string"&&window.open(this.states[o].val,"_blank"):(N==null?void 0:N.role)==="url.self"&&Q.ctrlKey&&(Ne=this.states[o])!=null&&Ne.val&&typeof this.states[o].val=="string"&&(window.location.href=this.states[o].val)}},ue):null,Ye=Y||this.columnsVisibility.buttons?n.createElement("div",{style:{...h.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(o,e)):null,Qt=null;if(this.props.width==="xs"&&this.state.focused===o){F=F.filter(X=>X);let Q;F.length?Q=F.map(X=>X?n.createElement("div",{key:X.type,style:h.cellDetailsLine},n.createElement("span",{style:h.cellDetailsName},this.texts[X.type],":"),X.el,n.createElement("div",{style:{flexGrow:1}}),X.onClick?n.createElement(m.Edit,{style:h.cellCopyButtonInDetails,onClick:()=>{X!=null&&X.onClick&&X.onClick()}}):null):null):Q=null,G.length||(G=null),Qt=n.createElement(g.Paper,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},n.createElement("div",{style:h.cellDetailsLine},n.createElement("div",{style:{flexGrow:1}}),n.createElement($t,{style:h.cellCopyButtonInDetails,onClick:X=>this.onCopy(X,o)})),oe&&n.createElement("div",{style:h.cellDetailsLine},n.createElement("span",{style:h.cellDetailsName},this.texts.name,":"),oe,n.createElement("div",{style:{flexGrow:1}}),(nr=e.data)!=null&&nr.title?n.createElement($t,{className:"copyButton",style:h.cellCopyButtonInDetails,onClick:X=>{var Ce;return this.onCopy(X,(Ce=e.data)==null?void 0:Ce.title)}}):null),Q,G&&n.createElement("div",{style:h.cellDetailsLine},G),((ar=this.objects[o])==null?void 0:ar.type)==="state"&&n.createElement("div",{style:h.cellDetailsLine},n.createElement("span",{style:h.cellDetailsName},this.texts.value,":"),ke,n.createElement("div",{style:{flexGrow:1}}),n.createElement($t,{className:"copyButton",style:h.cellCopyButtonInDetails,onClick:X=>{const{valText:Ce}=bi({state:this.states[o],obj:this.objects[o],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(X,Ce.c!==void 0?Ce.c:Ce.v.toString())},key:"cc"})),Ye&&n.createElement("div",{style:{...h.cellDetailsLine,justifyContent:"right"}},Ye)),oe=null,F=null,G=null,ke=null,Ye=null}return{row:n.createElement(g.Grid2,{container:!0,direction:"row",wrap:"nowrap",sx:S.getStyle(this.props.theme,h.tableRow,this.state.linesEnabled&&h.tableRowLines,!this.props.dragEnabled&&h.tableRowNoDragging,A&&h.tableRowAlias,E&&h.tableRowAliasReadWrite,this.state.focused===o&&this.props.multiSelect&&h.tableRowFocused,!e.data.visible&&h.filteredOut,e.data.hasVisibleParent&&!e.data.visible&&!e.data.hasVisibleChildren&&h.filteredParentOut,this.state.selected.includes(o)&&h.itemSelected,this.state.selectedNonObject===o&&h.itemSelected),key:o,id:o,onMouseDown:Q=>{this.onSelect(o);let X;"which"in Q?X=Q.which===3:"button"in Q&&(X=Q.button===2),X?this.contextMenu={item:e,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{e.children?this.toggleExpanded(o):this.onSelect(o,!0)}},V,oe,F==null?void 0:F.map(Q=>Q==null?void 0:Q.el),G,ke,Ye),details:Qt}}renderItem(e,t,s){const o=[];s=s||{count:0};const r=this.renderLeaf(e,t,s);let M;const a=this.props.DragWrapper;return this.props.dragEnabled&&a?e.data.sumVisibility?M=n.createElement(a,{key:e.data.id,item:e,style:h.draggable},r.row):M=n.createElement("div",{key:e.data.id,style:h.nonDraggable},r.row):M=r.row,e.data.id&&M&&o.push(M),r.details&&o.push(r.details),t=t===void 0?Is(this.state.expanded,e.data.id):t,(!e.data.id||t)&&(this.state.foldersFirst?e.children&&(o.push(e.children.map(u=>u.children&&(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null)),o.push(e.children.map(u=>!u.children&&(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null))):e.children&&o.push(e.children.map(u=>(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null))),o}calculateColumnsVisibility(e,t,s,o){let r=o||this.state.columnsWidths;const M=s||this.state.columnsForAdmin,a=t||this.state.columns||[],u=typeof e!="boolean"?this.state.columnsAuto:e;r=JSON.parse(JSON.stringify(r)),Object.keys(r).forEach(l=>{r[l]&&(r[l]=parseInt(r[l],10)||0)}),this.adapterColumns=[];const N=re[this.props.width||"lg"].widths;if(u){if(this.columnsVisibility={id:re[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&N.name||0,nameHeader:this.visibleCols.includes("name")&&N.name||0,type:this.visibleCols.includes("type")&&N.type||0,role:this.visibleCols.includes("role")&&N.role||0,room:this.visibleCols.includes("room")&&N.room||0,func:this.visibleCols.includes("func")&&N.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&N.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&N.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&N.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&N.lastChange||0,val:this.visibleCols.includes("val")&&N.val||0,buttons:this.visibleCols.includes("buttons")&&N.buttons||0},this.columnsVisibility.name&&!this.customWidth){let l=this.columnsVisibility.id||0;this.state.statesView?(l+=this.columnsVisibility.changedFrom||0,l+=this.columnsVisibility.qualityCode||0,l+=this.columnsVisibility.timestamp||0,l+=this.columnsVisibility.lastChange||0):(l+=this.columnsVisibility.type||0,l+=this.columnsVisibility.role||0,l+=this.columnsVisibility.room||0,l+=this.columnsVisibility.func||0),l+=this.columnsVisibility.val||0,l+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${l+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${l+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let l=0;this.state.statesView?(l+=this.columnsVisibility.changedFrom||0,l+=this.columnsVisibility.qualityCode||0,l+=this.columnsVisibility.timestamp||0,l+=this.columnsVisibility.lastChange||0):(l+=this.columnsVisibility.type||0,l+=this.columnsVisibility.role||0,l+=this.columnsVisibility.room||0,l+=this.columnsVisibility.func||0),l+=this.columnsVisibility.val||0,l+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${l+5}px)`}}else{const l=this.props.width||"lg";this.columnsVisibility={id:r.id||re[l].idWidth,name:a.includes("name")&&(r.name||N.name||re[l].widths.name)||0,type:a.includes("type")&&(r.type||N.type||re[l].widths.type)||0,role:a.includes("role")&&(r.role||N.role||re[l].widths.role)||0,room:a.includes("room")&&(r.room||N.room||re[l].widths.room)||0,func:a.includes("func")&&(r.func||N.func||re[l].widths.func)||0};let c=this.columnsVisibility.id;if(this.columnsVisibility.name&&(c+=this.columnsVisibility.type||0,c+=this.columnsVisibility.role||0,c+=this.columnsVisibility.room||0,c+=this.columnsVisibility.func||0),M&&a&&Object.keys(M).sort().forEach(L=>M[L].forEach(j=>{const T=`_${L}_${j.path}`;if(a.includes(T)){const D={adapter:L,id:`_${L}_${j.path}`,name:j.name,path:j.path.split("."),pathText:j.path};j.edit&&(D.edit=!0,j.type&&(D.type=j.type),j.objTypes&&(D.objTypes=j.objTypes)),this.adapterColumns.push(D),this.columnsVisibility[T]=r[D.id]||j.width||re[l].widths.func||re.xl.widths.func||0,c+=this.columnsVisibility[T]}else this.columnsVisibility[T]=0})),this.adapterColumns.sort((L,j)=>L.id>j.id?-1:L.idT==="id"||typeof this.columnsVisibility[T]=="string"||!this.columnsVisibility[T]?j:j+this.columnsVisibility[T],0);this.columnsVisibility.id=`calc(100% - ${L}px)`}}}resizerMouseMove=e=>{if(this.resizerActiveDiv){let t,s;this.resizeLeft?(t=this.resizerOldWidth-e.clientX+this.resizerPosition,s=this.resizerOldWidthNext+e.clientX-this.resizerPosition):(t=this.resizerOldWidth+e.clientX-this.resizerPosition,s=this.resizerOldWidthNext-e.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||t>this.resizerMin)&&(!this.resizerNextMin||s>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=t,this.resizerCurrentWidths[this.resizerNextName]=s,this.resizerActiveDiv.style.width=`${t}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${s}px`),this.columnsVisibility[this.resizerActiveName]=t,this.columnsVisibility[this.resizerNextName]=s,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=s-this.state.scrollBarWidth,this.resizerCurrentWidths.name=s-this.state.scrollBarWidth):this.resizerActiveName==="nameHeader"&&(this.columnsVisibility.name=t-this.state.scrollBarWidth,this.resizerCurrentWidths.name=t-this.state.scrollBarWidth),this.customWidth=!0,this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=null,this.forceUpdate()},200))}};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)};resizerMouseDown=e=>{if(this.storedWidths||=JSON.parse(JSON.stringify(re[this.props.width||"lg"])),this.resizerCurrentWidths||={},this.resizerActiveDiv=e.target.parentNode,this.resizerActiveName=this.resizerActiveDiv.dataset.name||null,this.resizerActiveName){let t=0;if(e.target.dataset.left==="true"){this.resizeLeft=!0,this.resizerNextDiv=this.resizerActiveDiv.previousElementSibling;let s=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!s&&t<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,s=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),t++;(s==null?void 0:s.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=e.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)}};navigateKeyPress(e){var s,o;const t=this.state.selectedNonObject||this.state.selected[0];if(t){if(e.code==="ArrowUp"||e.code==="ArrowDown"){e.preventDefault();const r=[];(s=this.tableRef.current)==null||s.childNodes.forEach(N=>r.push(N.id));const M=r.indexOf(t),a=e.code==="ArrowDown"?M+1:M-1,u=r[a]||t;this.onSelect(u),this.scrollToItem(u)}if((e.code==="ArrowRight"||e.code==="ArrowLeft")&&this.toggleExpanded(t),e.code==="Delete"&&this.root&&t){const r=We.getItemFromRoot(this.root,t);if(r){const{obj:M}=r.data;M&&!((o=M.common)!=null&&o.dontDelete)&&this.showDeleteDialog({id:t,obj:M,item:r})}}}}static getItemFromRoot(e,t){const s=t.split(".");let o="",r=e;for(let M=0;M{this.customWidth=!1,re[this.props.width||"lg"]=JSON.parse(JSON.stringify(this.storedWidths)),this.calculateColumnsVisibility(),this.localStorage.removeItem(`${this.props.dialogName||"App"}.table`),this.forceUpdate()};renderHandleRight(){return n.createElement(g.Box,{component:"div",className:"iob-ob-resize-handler",sx:{...h.resizeHandle,...h.resizeHandleRight},onMouseDown:this.resizerMouseDown,onDoubleClick:this.resizerReset,title:this.props.t("ra_Double click to reset table layout")})}renderHeader(){let e=null;return!this.columnsVisibility.buttons&&!this.isFilterEmpty()&&(e=n.createElement(g.IconButton,{onClick:()=>this.clearFilter(),style:h.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},n.createElement(LNe,null),n.createElement(m.Close,{style:h.buttonClearFilterIcon}))),this.props.width==="xs"?n.createElement("div",{style:h.headerRow},n.createElement("div",{style:{...h.headerCell,width:"100%"}},this.getFilterInput("id"))):n.createElement("div",{style:h.headerRow},n.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?n.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&&n.createElement(n.Fragment,null,this.columnsVisibility.type?n.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?n.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?n.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?n.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&&n.createElement(n.Fragment,null,n.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()),n.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()),n.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()),n.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(t=>n.createElement("div",{style:{...h.headerCell,...h.headerCellValue,width:this.columnsVisibility[t.id]},title:t.adapter,key:t.id,"data-min":100,"data-name":t.id},t.name)),this.columnsVisibility.val?n.createElement("div",{style:{...h.headerCell,...h.headerCellValue,width:this.columnsVisibility.val,position:"relative"},"data-min":120,"data-name":"val"},this.props.t("ra_Value"),e):null,this.columnsVisibility.buttons?n.createElement("div",{title:this.texts.filter_custom,style:{...h.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return n.createElement(g.Snackbar,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:n.createElement(g.IconButton,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},n.createElement(m.Close,{fontSize:"small"}))})}componentDidUpdate(){if(this.tableRef.current){const e=this.tableRef.current.offsetWidth-this.tableRef.current.clientWidth;this.state.scrollBarWidth!==e?setTimeout(()=>this.setState({scrollBarWidth:e}),100):this.selectFirst&&this.scrollToItem(this.selectFirst)}}scrollToItem(e){this.selectFirst="";const t=window.document.getElementById(e);t==null||t.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}renderCustomDialog(){if(this.state.customDialog&&this.props.objectCustomDialog){const e=this.props.objectCustomDialog;return n.createElement(e,{reportChangedIds:t=>this.changedIds=[...t],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 t;this.pauseSubscribe(!1),this.setState({customDialog:null}),this.changedIds&&(this.changedIds=null,this.forceUpdate()),(t=this.props.router)==null||t.doNavigate("tab-objects")},systemConfig:this.systemConfig})}return null}onUpdate(e){this.props.socket.setState(this.edit.id,{val:e.val,ack:e.ack,q:e.q||0,expire:e.expire||void 0}).catch(t=>this.showError(`Cannot write value: ${t}`))}renderEditObjectDialog(){if(!this.state.editObjectDialog||!this.props.objectBrowserEditObject)return null;const e=this.props.objectBrowserEditObject;return n.createElement(e,{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:t=>this.props.socket.setObject(t._id,t).then(()=>this.setState({editObjectDialog:t._id,editObjectAlias:!1},()=>this.onSelect(t._id))).catch(s=>this.showError(`Cannot write object: ${s}`)),onClose:t=>{var s,o;if(t){let r;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((s=this.objects[this.state.editObjectDialog].common)==null?void 0:s.alias)!==JSON.stringify((o=t.common)==null?void 0:o.alias)&&(r=this.state.editObjectDialog),this.props.socket.setObject(t._id,t).then(()=>{r&&this.subscribes.includes(r)&&(this.unsubscribe(r),setTimeout(()=>this.subscribe(r),100))}).catch(M=>this.showError(`Cannot write object: ${M}`))}this.setState({editObjectDialog:"",editObjectAlias:!1})},width:this.props.width})}renderViewObjectFileDialog(){if(!this.state.viewFileDialog||!this.props.objectBrowserViewFile)return null;const e=this.props.objectBrowserViewFile;return n.createElement(e,{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;const e=this.props.objectBrowserAliasEditor;return n.createElement(e,{key:"editAlias",obj:this.objects[this.state.showAliasEditor],roleArray:this.info.roles,objects:this.objects,socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({showAliasEditor:""}),onRedirect:(t,s)=>setTimeout(()=>this.onSelect(t,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(t),setTimeout(()=>this.setState({editObjectDialog:t,showAliasEditor:"",editObjectAlias:!0}),300)})),s||0)})}showAddDataPointDialog(e,t,s){this.setState({showContextMenu:null,modalNewObj:{id:e,initialType:t,initialStateType:s}})}renderAliasMenu(){return this.state.aliasMenu?n.createElement(g.Menu,{key:"aliasmenu",open:!0,anchorEl:window.document.getElementById(`alias_${this.state.aliasMenu}`),onClose:()=>this.setState({aliasMenu:""})},this.info.aliasesMap[this.state.aliasMenu].map((e,t)=>n.createElement(g.MenuItem,{key:e,onClick:()=>this.onSelect(e)},n.createElement(g.ListItemText,null,this.renderAliasLink(this.state.aliasMenu,t,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var L,j,T,D,I,C,E;if(!this.state.showContextMenu)return null;const e=this.state.showContextMenu.item,t=e.data.id,s=[],o=e.data.obj;let r="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!o)r="---";else{const A=o.acl?o.type==="state"?o.acl.state:o.acl.object:0,_=o.acl&&(o.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);r=Number.isNaN(Number(A))?Number(_).toString(16):Number(A).toString(16)}const M=!this.props.notEditable&&o&&(this.state.filter.expertMode||o.type==="state"||o.type==="channel"||o.type==="device"),a=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="channel"||e.data.obj.type==="device"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",u=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="device"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",N=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",l=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",c={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&o&&(this.state.filter.expertMode||We.isNonExpertId(t))),icon:n.createElement(m.Edit,{fontSize:"small",style:this.styles.contextMenuEdit}),label:this.texts.editObject,onClick:()=>this.setState({editObjectDialog:e.data.id,showContextMenu:null,editObjectAlias:!1})},EDIT_VALUE:{key:"1",visibility:!!(this.states&&!this.props.notEditable&&o&&o.type==="state"&&((L=o.common)==null?void 0:L.type)!=="file"&&(this.state.filter.expertMode||o.common.write!==!1)),icon:n.createElement(m.FormatItalic,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{var A;this.edit={val:this.states[t]?this.states[t].val:"",q:((A=this.states[t])==null?void 0:A.q)||0,ack:!1,id:t},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(o==null?void 0:o.type)==="state"&&((j=o.common)==null?void 0:j.type)==="file",icon:n.createElement(m.FindInPage,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(o==null?void 0:o._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&o&&o.type==="state"&&((T=o.common)==null?void 0:T.type)!=="file"),icon:n.createElement(m.Settings,{fontSize:"small",style:e.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:h.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var A;this.pauseSubscribe(!0),(A=this.props.router)==null||A.doNavigate(null,"customs",t),this.setState({customDialog:[t],showContextMenu:null})}},ACL:{key:"3",visibility:!!r,icon:r,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:e.data})},ROLE:{key:"4",visibility:!!(this.state.filter.expertMode&&M&&this.props.objectBrowserEditRole),icon:n.createElement(m.BorderColor,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit role"),onClick:()=>this.setState({roleDialog:e.data.id,showContextMenu:null})},FUNCTION:{key:"5",visibility:!!M,icon:n.createElement(m.BedroomParent,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{const A=Wt(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:A,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(A)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!M,icon:n.createElement(m.Construction,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{const A=Wt(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:A,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(A)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(o==null?void 0:o.type)==="state"&&((D=o.common)==null?void 0:D.type)!=="file"),icon:n.createElement(m.Link,{style:(I=o==null?void 0:o.common)!=null&&I.alias?this.styles.cellButtonsButtonWithCustoms:h.cellButtonsButtonWithoutCustoms}),label:this.info.aliasesMap[e.data.id]||e.data.id.startsWith("alias.0.")?this.props.t("ra_Edit alias"):this.props.t("ra_Create alias"),onClick:()=>{var A;(A=o==null?void 0:o.common)!=null&&A.alias?this.setState({showContextMenu:null,editObjectDialog:e.data.id,editObjectAlias:!0}):this.setState({showContextMenu:null,showAliasEditor:e.data.id})}},CREATE:{key:"+",visibility:(e.data.id.startsWith("0_userdata.0")||e.data.id.startsWith("javascript."))&&(a||u||N||l),icon:n.createElement(m.Add,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:h.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:a,icon:n.createElement(gs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:a,icon:n.createElement(gs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","number")},{label:this.texts.createStringState,visibility:a,icon:n.createElement(gs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","string")},{label:this.texts.createState,visibility:a,icon:n.createElement(gs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state")},{label:this.texts.createChannel,visibility:u,icon:n.createElement(Ia,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"channel")},{label:this.texts.createDevice,visibility:N,icon:n.createElement(wa,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"device")},{label:this.texts.createFolder,icon:n.createElement(m.CreateNewFolder,{fontSize:"small"}),visibility:l,onClick:()=>this.showAddDataPointDialog(e.data.id,"folder")}]},RENAME:{key:"8",visibility:!!(!this.props.notEditable&&this.props.objectMoveRenameDialog&&!e.data.id.startsWith("system.")&&e.data.id.split(".").length>2&&(this.props.expertMode||e.data.id.startsWith("javascript.0.")||e.data.id.startsWith("0_userdata.0."))),icon:n.createElement(m.DriveFileRenameOutline,null),label:this.props.t("ra_Rename_Move_Copy"),onClick:()=>{const A=Object.keys(this.objects),_=`${e.data.id}.`;this.setState({showContextMenu:null,showRenameDialog:{id:e.data.id,childrenIds:A.filter(p=>p.startsWith(_))}})}},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((C=e.children)!=null&&C.length||o&&!((E=o.common)!=null&&E.dontDelete))),icon:n.createElement(m.Delete,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:t,obj:o||{},item:e}))}};return Object.keys(c).forEach(A=>{var _,p;c[A].visibility&&(c[A].subMenu?(s.push(n.createElement(g.MenuItem,{key:A,href:"",onClick:z=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:A,subAnchor:z.target}}),style:c[A].style},n.createElement(g.ListItemIcon,{style:{...c[A].iconStyle,...c[A].listItemIconStyle}},c[A].icon),n.createElement(g.ListItemText,null,c[A].label,"..."),n.createElement("div",{style:{...h.contextMenuKeys,opacity:1}},n.createElement(m.ArrowRight,null)))),((_=this.state.showContextMenu)==null?void 0:_.subItem)===A&&s.push(n.createElement(g.Menu,{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}},(p=c[A].subMenu)==null?void 0:p.map(z=>z.visibility?n.createElement(g.MenuItem,{key:z.label,onClick:z.onClick,style:z.style},n.createElement(g.ListItemIcon,{style:{...z.iconStyle,...z.listItemIconStyle||void 0}},z.icon),n.createElement(g.ListItemText,null,z.label)):null)))):s.push(n.createElement(g.MenuItem,{key:A,onClick:c[A].onClick,sx:c[A].style},n.createElement(g.ListItemIcon,{style:{...c[A].iconStyle,...c[A].listItemIconStyle}},c[A].icon),n.createElement(g.ListItemText,null,c[A].label),c[A].key?n.createElement("div",{style:h.contextMenuKeys},`Alt+${c[A].key==="Delete"?this.props.t("ra_Del"):c[A].key}`):null)))}),s.length?n.createElement(g.Menu,{key:"contextMenu",open:!0,onKeyUp:A=>{A.preventDefault(),A.altKey&&Object.keys(c).forEach(_=>{A.key===c[_].key&&c[_].onClick&&c[_].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},s):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var o;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;const e=(o=this.objects[this.edit.id].common)!=null&&o.type?this.objects[this.edit.id].common.type:typeof this.edit.val,t=this.objects[this.edit.id].common.role,s=this.props.objectBrowserValue;return n.createElement(s,{t:this.props.t,lang:this.props.lang,type:e,role:t||"",states:S.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:r=>{this.setState({updateOpened:!1}),r&&this.onUpdate(r)},width:this.props.width})}render(){this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:S.getStyle(this.props.theme,h.cellIdIconFolder),cellIdIconDocument:S.getStyle(this.props.theme,h.cellIdIconDocument),iconDeviceError:S.getStyle(this.props.theme,h.iconDeviceError),iconDeviceConnected:S.getStyle(this.props.theme,h.iconDeviceConnected),iconDeviceDisconnected:S.getStyle(this.props.theme,h.iconDeviceDisconnected),cellButtonsButtonWithCustoms:S.getStyle(this.props.theme,h.cellButtonsButtonWithCustoms),invertedBackground:S.getStyle(this.props.theme,h.invertedBackground),invertedBackgroundFlex:S.getStyle(this.props.theme,h.invertedBackgroundFlex),contextMenuEdit:S.getStyle(this.props.theme,h.contextMenuEdit),contextMenuEditValue:S.getStyle(this.props.theme,h.contextMenuEditValue),contextMenuView:S.getStyle(this.props.theme,h.contextMenuView),contextMenuCustom:S.getStyle(this.props.theme,h.contextMenuCustom),contextMenuACL:S.getStyle(this.props.theme,h.contextMenuACL),contextMenuRoom:S.getStyle(this.props.theme,h.contextMenuRoom),contextMenuRole:S.getStyle(this.props.theme,h.contextMenuRole),contextMenuDelete:S.getStyle(this.props.theme,h.contextMenuDelete),filterInput:S.getStyle(this.props.theme,h.headerCellInput,h.filterInput),iconCopy:S.getStyle(this.props.theme,h.cellButtonsValueButton,h.cellButtonsValueButtonCopy),aliasReadWrite:S.getStyle(this.props.theme,h.cellIdAlias,h.cellIdAliasReadWrite),aliasAlone:S.getStyle(this.props.theme,h.cellIdAlias,h.cellIdAliasAlone)},this.styleTheme=this.props.themeType);const e=JSON.stringify(this.state.filter);if(this.lastAppliedFilter!==e&&this.objects&&this.root){const s={count:0};yo(this.root,this.state.filter,this.props.lang,this.objects,void 0,s,this.props.customFilter,this.props.types),s.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):s.count>=500&&this.state.expandAllVisible&&setTimeout(()=>this.setState({expandAllVisible:!1})),this.lastAppliedFilter=e}if(this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),!this.state.loaded)return n.createElement(g.CircularProgress,{key:`${this.props.dialogName}_c`});const t=this.root?this.renderItem(this.root,void 0):null;return n.createElement(jNe,{key:this.props.dialogName},n.createElement("style",null,` @keyframes newValueAnimation-light { 0% { color: #00f900; @@ -453,7 +453,7 @@ body { text-decoration: underline; cursor: pointer; } -`),a.createElement(jNe,null,this.getToolbar()),a.createElement(LNe,null,this.renderHeader(),a.createElement(g.Box,{style:A.tableDiv,ref:this.tableRef,onKeyDown:s=>this.navigateKeyPress(s)},t)),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.renderRenameDialog(),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))}}const CNe=di()(We);class c4e extends a.Component{refTypo;height;width;constructor(e){super(e),this.state={closed:this.props.storeId?window.localStorage.getItem(this.props.storeId)==="true":!1},this.height=0,this.width=0,this.refTypo=a.createRef()}componentDidMount(){this.detectHeight()}onClick(){this.props.storeId&&this.props.closed===void 0&&(this.state.closed?window.localStorage.removeItem(this.props.storeId):window.localStorage.setItem(this.props.storeId,"true")),this.props.closed===void 0?this.setState({closed:!this.state.closed},()=>{this.props.onClose&&this.props.onClose(this.state.closed)}):this.props.onClose&&this.props.onClose(!this.props.closed)}detectHeight(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed;this.props.closeable&&!e&&this.refTypo.current&&window.requestAnimationFrame(()=>{(this.props.closed!==void 0?this.props.closed:this.state.closed)||this.refTypo.current&&(!this.height||this.width!==this.refTypo.current.clientWidth)&&(this.height=this.refTypo.current.clientHeight,this.width=this.refTypo.current.clientWidth,this.forceUpdate())})}componentDidUpdate(){this.detectHeight()}render(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed,t=e?m.Visibility:m.Close;return a.createElement(g.Box,{className:"iom-info-box",style:{whiteSpace:"preserve",display:"flex",gap:8,alignItems:e||this.props.iconPosition==="top"?"flex-start":"center",borderWidth:1,borderStyle:"solid",padding:4,borderRadius:5,marginBottom:8,maxWidth:"100%",transition:"height 0.5s",height:this.props.closeable?e?30:this.height||void 0:void 0,overflow:this.props.closeable?"hidden":void 0,position:"relative",...this.props.style},sx:{borderColor:s=>this.props.type==="ok"?s.palette.info.main:s.palette[this.props.type].main}},this.props.type==="ok"?a.createElement(m.Check,{style:{color:"#0F0"}}):this.props.type==="info"?a.createElement(m.Info,{color:"primary"}):a.createElement(m.Warning,{color:this.props.type}),a.createElement(g.Typography,{ref:this.refTypo},this.props.children),this.props.closeable?a.createElement(t,{sx:{color:s=>s.palette.mode==="dark"?"lightgray":"gray",cursor:"pointer",position:"absolute",top:4,right:4},onClick:()=>this.onClick()}):null,this.props.closeable?a.createElement("div",{style:{width:22}}):null,e?a.createElement(g.Box,{component:"div",sx:s=>{const o=s.palette[this.props.type==="ok"?"info":this.props.type].main;return{background:`linear-gradient(${o}00 0%, ${o}10 60%, ${o}90 100%)`}},style:{bottom:0,position:"absolute",left:0,right:0,height:10}}):null)}}const x={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:i=>({background:i.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:i=>({background:i.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowMonths:i=>({background:i.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:i=>({background:i.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:i=>({background:i.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDowsDows:i=>({background:i.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},$i=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Js=["January","February","March","April","May","June","July","August","September","October","November","December"],Pi={minutes:"minutes",hours:"hours"},ns=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function Ve(i){return i<10?`0${i}`:`${i}`}const $M={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 Wi(i){const e=i.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class le extends b.Component{refFrom;refTo;refOnce;timerOnce=null;timerFrom=null;timerTo=null;constructor(e){super(e);let t;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{t=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(t=this.props.schedule);(!t||!Object.keys(t).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),t=$M),t={...$M,...t},t.valid.from=t.valid.from||le.now2string(),this.refFrom=a.createRef(),this.refTo=a.createRef(),this.refOnce=a.createRef(),this.state={schedule:t,desc:le.state2text(t)},JSON.stringify(t)!==this.props.schedule&&setTimeout(()=>this.props.onChange&&this.props.onChange(JSON.stringify(t)),100)}onChange(e,t){const s=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||s){s&&this.setState({schedule:e,desc:le.state2text(e)});const o=JSON.parse(JSON.stringify(e));if(o.period.once){const r=o.period.once;delete o.period,o.period={once:r},delete o.valid}else if(o.period.days){const r=o.period.days,M=o.period.dows;delete o.period,o.period={days:r},M&&M!=="[]"&&(o.period.dows=M)}else if(o.period.weeks){const r=o.period.weeks,M=o.period.dows;delete o.period,o.period={weeks:r},M&&M!=="[]"&&(o.period.dows=M)}else if(o.period.months){const r=o.period.months,M=o.period.dates;delete o.period,o.period={months:r},M&&M!=="[]"&&(o.period.dates=M)}else if(o.period.years){const r=o.period.years,M=o.period.yearMonth,n=o.period.yearDate;delete o.period,o.period={years:r,yearDate:n},M&&(o.period.yearMonth=M)}if(o.time.exactTime?(delete o.time.end,delete o.time.mode,delete o.time.interval):delete o.time.exactTime,o.valid){if(o.valid.to||delete o.valid.to,o.period.days===1||o.period.weeks===1||o.period.months===1||o.period.years===1){const r=le.string2date(o.valid.from),M=new Date;M.setHours(0),M.setMinutes(0),M.setSeconds(0),M.setMilliseconds(0),r<=M&&delete o.valid.from}!o.valid.from&&!o.valid.to&&delete o.valid}this.props.onChange&&this.props.onChange(JSON.stringify(o),le.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const t=[],s=le.string2date(e.valid.from);if(e.period.once){const o=le.string2date(e.period.once),r=new Date;if(r.setMilliseconds(0),r.setSeconds(0),r.setMinutes(0),r.setHours(0),od.t($i[M]));if(r.length===1)t.push(d.t("sch_desc_onWeekday",r[0]));else if(r.length===7)t.push(d.t("sch_desc_everyDay"));else{const M=r.pop();t.push(d.t("sch_desc_onWeekdays",r.join(", "),M))}}}else t.push(d.t("sch_desc_everyDay"));else t.push(d.t("sch_desc_everyNDay",e.period.days.toString()));else if(e.period.weeks)if(e.period.weeks===1?t.push(d.t("sch_desc_everyWeek")):t.push(d.t("sch_desc_everyNWeeks",e.period.weeks.toString())),e.period.dows){const o=JSON.parse(e.period.dows);if(o.length===2&&o[0]===0&&o[1]===6)t.push(d.t("sch_desc_onWeekends"));else if(o.length===5&&o[0]===1&&o[1]===2&&o[2]===3&&o[3]===4&&o[4]===5)t.push(d.t("sch_desc_onWorkdays"));else{const r=o.map(M=>d.t($i[M]));if(r.length===1)t.push(d.t("sch_desc_onWeekday",r[0]));else if(r.length===7)t.push(d.t("sch_desc_everyDay"));else{const M=r.pop();t.push(d.t("sch_desc_onWeekdays",r.join(", "),M))}}}else return d.t("sch_desc_never");else if(e.period.months){if(e.period.dates){const o=JSON.parse(e.period.dates);if(o.length===1)t.push(d.t("sch_desc_onDate",o[0]));else if(o.length===31)t.push(d.t("sch_desc_onEveryDate"));else if(o.length){const r=o.pop();t.push(d.t("sch_desc_onDates",o.join(", "),r))}else return d.t("sch_desc_never")}else t.push(d.t("sch_desc_onEveryDate"));if(e.period.months===1)t.push(d.t("sch_desc_everyMonth"));else if(typeof e.period.months=="number")t.push(d.t("sch_desc_everyNMonths",e.period.months.toString()));else{const r=JSON.parse(e.period.months).map(M=>d.t(Js[M-1]));if(!r.length)return d.t("sch_desc_never");if(r.length===1)t.push(d.t("sch_desc_onMonth",r[0]));else if(r.length===12)t.push(d.t("sch_desc_everyMonth"));else{const M=r.pop();t.push(d.t("sch_desc_onMonths",r.join(", "),M))}}}else e.period.years&&(e.period.years===1?t.push(d.t("sch_desc_everyYear")):t.push(d.t("sch_desc_everyNYears",e.period.years.toString())),t.push(d.t("sch_desc_onDate",e.period.yearDate.toString(),e.period.yearMonth?d.t(Js[e.period.yearMonth-1]):d.t("sch_desc_everyMonth"))));if(e.time.exactTime)ns.includes(e.time.start)?t.push(d.t("sch_desc_atTime",d.t(`sch_astro_${e.time.start}`))):t.push(d.t("sch_desc_atTime",e.time.start));else{e.time.mode===Pi.minutes?e.time.interval===1?t.push(d.t("sch_desc_everyMinute")):t.push(d.t("sch_desc_everyNMinutes",e.time.interval.toString())):e.time.interval===1?t.push(d.t("sch_desc_everyHour")):t.push(d.t("sch_desc_everyNHours",e.time.interval.toString()));const o=ns.indexOf(e.time.start)!==-1?d.t(`sch_astro_${e.time.start}`):e.time.start,r=ns.indexOf(e.time.end)!==-1?d.t(`sch_astro_${e.time.end}`):e.time.end;(o!=="00:00"||r!=="24:00"&&r!=="23:59")&&t.push(d.t("sch_desc_intervalFromTo",o,r))}return e.period.once||(s.getTime()>Date.now()&&e.valid.to?t.push(d.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):s.getTime()>Date.now()?t.push(d.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(d.t("sch_desc_validTo",e.valid.to))),t.join(" ")}getTimePeriodElements(){const e=this.state.schedule;let t=!1,s=!1,o=!1,r=!0;return e.time.start==="00:00"&&e.time.end==="24:00"?(t=!0,r=!1):e.time.start==="sunrise"?(s=!0,r=!1):e.time.start==="sunset"&&(o=!0,r=!1),a.createElement("div",{key:"timePeriod",style:x.rowDiv},a.createElement("div",{style:x.modeDiv},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!e.time.exactTime,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.exactTime=!1,this.onChange(M)}}),label:d.t("sch_intervalTime")})),a.createElement("div",{style:x.settingsDiv},a.createElement("div",{style:x.settingsDiv},!e.time.exactTime&&a.createElement("div",null,a.createElement("div",null,a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!r,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="00:00",M.time.end="23:59",this.onChange(M)}}),label:r?"":d.t("sch_fromTo")}),r&&[a.createElement(g.TextField,{variant:"standard",style:{...x.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:M=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:M.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:M=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.start=M.target.value,this.onChange(n)},slotProps:{inputLabel:{shrink:!0}},label:d.t("sch_from"),margin:"normal"}),a.createElement(g.TextField,{variant:"standard",style:x.inputTime,key:"exactTimeTo",type:"time",sx:M=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:M.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:M=>{const n=JSON.parse(JSON.stringify(this.state.schedule));n.time.end=M.target.value,this.onChange(n)},slotProps:{inputLabel:{shrink:!0}},label:d.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&a.createElement("div",null,a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!t,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="00:00",M.time.end="24:00",this.onChange(M)}}),label:d.t("sch_wholeDay")})),!e.time.exactTime&&a.createElement("div",null,a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!s,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="sunrise",M.time.end="sunset",this.onChange(M)}}),label:d.t("sch_astroDay")})),!e.time.exactTime&&a.createElement("div",null,a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!o,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="sunset",M.time.end="sunrise",this.onChange(M)}}),label:d.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(r)))}getTimeExactElements(){const e=ns.includes(this.state.schedule.time.start);return a.createElement("div",{key:"timeExact",style:x.rowDiv},a.createElement("div",{style:x.modeDiv},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.time.exactTime=!0,this.onChange(t)}}),label:d.t("sch_exactTime")})),this.state.schedule.time.exactTime&&a.createElement(g.Select,{variant:"standard",value:e?this.state.schedule.time.start:"00:00",onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start=t.target.value,this.onChange(s)}},a.createElement(g.MenuItem,{key:"specific",value:"00:00"},d.t("sch_specificTime")),ns.map(t=>a.createElement(g.MenuItem,{key:t,value:t},d.t(`sch_astro_${t}`)))),this.state.schedule.time.exactTime&&!e&&a.createElement("div",{style:x.settingsDiv},a.createElement(g.TextField,{variant:"standard",style:x.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:t=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:t.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start=t.target.value,this.onChange(s)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return a.createElement("hr",{style:x.hr})}getPeriodModes(){const e=this.state.schedule,t=!e.period.dows&&!e.period.months&&!e.period.dates&&!e.period.years&&!e.period.days&&!e.period.weeks;return t&&!e.period.once&&(e.period.once=le.now2string(!0)),[a.createElement("div",{key:"once",style:{...x.rowDiv,...x.rowOnce}},a.createElement("div",{style:x.modeDiv},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!t,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.once=s.period.once||le.now2string(!0),s.period.dows="",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,this.onChange(s)}}),label:d.t("sch_periodOnce")})),t&&a.createElement("div",{style:x.settingsDiv},a.createElement(g.TextField,{variant:"standard",style:x.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:Wi(e.period.once),onChange:s=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(o=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),M=le.string2date(o);M.toString()!=="Invalid Date"&&(r.period.once=`${Ve(M.getDate())}.${Ve(M.getMonth()+1)}.${M.getFullYear()}`,this.onChange(r))},1500,s.target.value)},slotProps:{inputLabel:{shrink:!0}},label:d.t("sch_at"),margin:"normal"}))),a.createElement(g.Box,{component:"div",key:"days",sx:S.getStyle(this.props.theme,x.rowDiv,x.rowDays)},a.createElement("div",{style:x.modeDiv},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!e.period.days,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.days=1,s.period.dows="",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodDaily")})),a.createElement("div",{style:x.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),a.createElement(g.Box,{component:"div",key:"weeks",sx:S.getStyle(this.props.theme,x.rowDiv,x.rowDows)},a.createElement("div",{style:x.modeDiv},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!e.period.weeks,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.weeks=e.period.weeks?0:1,s.period.dows=e.period.dows||"[0]",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodWeekly")})),a.createElement(g.Box,{component:"div",style:x.settingsDiv},a.createElement("div",{style:x.settingsDiv},this.getPeriodSettingsWeekly()),a.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,x.settingsDiv,x.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),a.createElement(g.Box,{component:"div",key:"months",sx:S.getStyle(this.props.theme,x.rowDiv,x.rowMonths)},a.createElement("div",{style:x.modeDiv},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!e.period.months,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=1,s.period.dows="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodMonthly")})),a.createElement("div",{style:x.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?a.createElement(g.Box,null,a.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,x.settingsDiv,x.rowMonthsDates)},a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{style:x.inputRadio,checked:!!e.period.dates,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=s.period.months||1;const o=[];for(let r=1;r<=31;r++)o.push(r);s.period.dates=s.period.dates||JSON.stringify(o),s.period.dows="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodDates")})),a.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,x.settingsDiv,x.rowMonthsDates)},this.getPeriodSettingsDates())):null)),a.createElement(g.Box,{component:"div",key:"years",sx:S.getStyle(this.props.theme,x.rowDiv,x.rowYears)},a.createElement("div",{style:x.modeDiv},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!e.period.years,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.years=1,s.period.yearDate=1,s.period.yearMonth=1,s.period.dows="",s.period.months=0,s.period.dates="",s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodYearly")})),a.createElement("div",{style:x.settingsDiv},a.createElement("div",{style:x.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&a.createElement("div",{style:x.settingsDiv},a.createElement("span",null,d.t("sch_on")),a.createElement(g.Input,{key:"input",value:this.state.schedule.period.yearDate,style:x.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:s=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.yearDate=parseInt(s.target.value,10),o.period.yearDate<1&&(o.period.yearDate=31),o.period.yearDate>31&&(o.period.yearDate=1),this.onChange(o)}}),a.createElement(g.Select,{variant:"standard",value:e.period.yearMonth,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.yearMonth=s.target.value,this.onChange(o)}},a.createElement(g.MenuItem,{key:"every",value:0},d.t("sch_yearEveryMonth")),Js.map((s,o)=>a.createElement(g.MenuItem,{key:s,value:o+1},d.t(s)))))))]}getPeriodSettingsMinutes(e){return a.createElement("div",{style:{display:"inline-block",marginTop:e?15:"inherit"}},a.createElement("label",{style:{marginLeft:4,marginRight:4}},d.t("sch_every")),a.createElement(g.Input,{value:this.state.schedule.time.interval,style:{...x.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.interval=parseInt(t.target.value,10),this.onChange(s)}}),a.createElement(g.Select,{variant:"standard",value:this.state.schedule.time.mode,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.mode=t.target.value,this.onChange(s)}},a.createElement(g.MenuItem,{value:Pi.minutes},d.t("sch_periodMinutes")),a.createElement(g.MenuItem,{value:Pi.hours},d.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const e=this.state.schedule,t=e.period.dows&&e.period.dows!=="[1, 2, 3, 4, 5]"&&e.period.dows!=="[0, 6]";return[a.createElement("div",{key:"workdays"},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:e.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[1, 2, 3, 4, 5]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:d.t("sch_periodWorkdays")})),a.createElement("div",{key:"weekend"},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:e.period.dows==="[0, 6]",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[0, 6]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:d.t("sch_periodWeekend")})),a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},a.createElement(g.FormControlLabel,{style:{verticalAlign:"top"},control:a.createElement(g.Radio,{style:x.inputRadio,checked:!!t,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[0, 1, 2, 3, 4, 5, 6]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:d.t("sch_periodWeekdays")}),t&&(e.period.days===1||e.period.weeks)&&a.createElement(g.FormGroup,{row:!0,style:{...x.inputGroup,width:150}},[1,2,3,4,5,6,0].map(s=>a.createElement(g.FormControlLabel,{key:`specific_${s}`,style:x.inputGroupElement,control:a.createElement(g.Checkbox,{style:x.inputSmallCheck,checked:e.period.dows.includes(s.toString()),onChange:o=>{const r=JSON.parse(JSON.stringify(this.state.schedule));let M;try{M=JSON.parse(r.period.dows)}catch{M=[]}o.target.checked&&!M.includes(s)?M.push(s):!o.target.checked&&M.includes(s)&&M.splice(M.indexOf(s),1),M.sort((n,u)=>n-u),r.period.dows=JSON.stringify(M),r.period.days&&(r.period.days=1),this.onChange(r)}}),label:d.t($i[s])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[a.createElement("div",{key:"every_day"},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:e.period.days===1&&!e.period.dows,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=1,t.period.dows="",this.onChange(t)}}),label:d.t("sch_periodEveryDay")})),a.createElement("div",{key:"everyN_day"},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:e.period.days>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=2,t.period.dows="",this.onChange(t)}}),label:d.t("sch_periodEvery")}),e.period.days>1&&[a.createElement(g.Input,{key:"input",value:this.state.schedule.period.days,style:x.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.days=parseInt(t.target.value,10),s.period.dows="",this.onChange(s)}}),a.createElement("span",{key:"span",style:{paddingRight:10}},d.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const e=this.state.schedule;return[a.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},a.createElement("div",null,a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:e.period.weeks===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=1,this.onChange(t)}}),label:d.t("sch_periodEveryWeek")})),a.createElement("div",null,a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:e.period.weeks>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=2,this.onChange(t)}}),label:d.t("sch_periodEvery")}),e.period.weeks>1&&[a.createElement(g.Input,{key:"input",value:this.state.schedule.period.weeks,style:x.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.weeks=parseInt(t.target.value,10),this.onChange(s)}}),a.createElement("span",{key:"text"},d.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const e=this.state.schedule,t=[];for(let o=1;o<=31;o++)t.push(o);const s=JSON.parse(e.period.dates);return a.createElement(g.FormGroup,{row:!0,style:{...x.inputGroup,maxWidth:620}},a.createElement(g.FormControlLabel,{style:x.inputDateDay,control:a.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:s.length===31,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),r=[];for(let M=1;M<=31;M++)r.push(M);o.period.dates=JSON.stringify(r),this.onChange(o)}}),label:d.t("sch_all")}),a.createElement(g.FormControlLabel,{style:x.inputDateDay,control:a.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:!s.length,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dates="[]",this.onChange(o)}}),label:d.t("sch_no_one")}),s.length!==31&&!!s.length&&a.createElement(g.FormControlLabel,{style:x.inputDateDay,control:a.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:!1,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),r=[],M=JSON.parse(o.period.dates);for(let n=1;n<=31;n++)M.includes(n)||r.push(n);r.sort((n,u)=>n-u),o.period.dates=JSON.stringify(r),this.onChange(o)}}),label:d.t("sch_invert")}),a.createElement("div",null),t.map(o=>a.createElement(g.FormControlLabel,{key:`date_${o}`,style:o?x.inputDateDay:{...x.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:a.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(o),onChange:r=>{const M=JSON.parse(JSON.stringify(this.state.schedule));let n;try{n=JSON.parse(M.period.dates)}catch{n=[]}r.target.checked&&!n.includes(o)?n.push(o):!r.target.checked&&n.includes(o)&&n.splice(n.indexOf(o),1),n.sort((u,N)=>u-N),M.period.dates=JSON.stringify(n),this.onChange(M)}}),label:o<10?[a.createElement("span",{key:"0",style:{opacity:0}},"0"),a.createElement("span",{key:"num"},o)]:o})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const e=this.state.schedule,t=typeof e.period.months=="string"?JSON.parse(e.period.months):[];return[a.createElement("div",{key:"every"},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:typeof e.period.months=="number"&&e.period.months===1,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=1,this.onChange(e)}}),label:d.t("sch_periodEveryMonth")})),a.createElement("div",{key:"everyN"},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:typeof e.period.months=="number"&&e.period.months>1,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=2,this.onChange(s)}}),label:d.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[a.createElement(g.Input,{key:"input",value:e.period.months,style:x.inputEvery,type:"number",inputProps:{min:2},onChange:s=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=parseInt(s.target.value,10),o.period.months<1&&(o.period.months=1),this.onChange(o)}}),a.createElement("span",{key:"text"},d.t("sch_periodMonth"))]),a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},a.createElement(g.FormControlLabel,{style:{verticalAlign:"top"},control:a.createElement(g.Radio,{style:x.inputRadio,checked:typeof e.period.months=="string",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(s)}}),label:d.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&a.createElement(g.FormGroup,{row:!0,style:x.inputGroup},a.createElement(g.FormControlLabel,{style:x.inputDateDay,control:a.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:t.length===12,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule)),o=[];for(let r=1;r<=12;r++)o.push(r);s.period.months=JSON.stringify(o),this.onChange(s)}}),label:d.t("sch_all")}),a.createElement(g.FormControlLabel,{style:x.inputDateDay,control:a.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:!t.length,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months="[]",this.onChange(s)}}),label:d.t("sch_no_one")}),t.length!==12&&!!t.length&&a.createElement(g.FormControlLabel,{style:x.inputDateDay,control:a.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:!1,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule)),o=[],r=JSON.parse(s.period.months);for(let M=1;M<=12;M++)r.includes(M)||o.push(M);o.sort((M,n)=>M-n),s.period.months=JSON.stringify(o),this.onChange(s)}}),label:d.t("sch_invert")}),a.createElement("div",null),Js.map((s,o)=>a.createElement(g.FormControlLabel,{key:`month_${o}`,style:x.inputGroupElement,control:a.createElement(g.Checkbox,{style:x.inputSmallCheck,checked:typeof e.period.months=="string"?JSON.parse(e.period.months).includes(o+1):e.period.months===o,onChange:r=>{const M=JSON.parse(JSON.stringify(this.state.schedule));let n;try{n=JSON.parse(M.period.months)}catch{n=[]}r.target.checked&&!n.includes(o+1)?n.push(o+1):!r.target.checked&&n.includes(o+1)&&n.splice(n.indexOf(o+1),1),n.sort((u,N)=>u-N),M.period.months=JSON.stringify(n),this.onChange(M)}}),label:d.t(s)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[a.createElement("div",{key:"year"},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:e.period.years===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=1,this.onChange(t)}}),label:d.t("sch_periodEveryYear")})),a.createElement("div",{key:"every"},a.createElement(g.FormControlLabel,{control:a.createElement(g.Radio,{style:x.inputRadio,checked:e.period.years>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=2,this.onChange(t)}}),label:d.t("sch_periodEvery")}),e.period.years>1&&[a.createElement(g.Input,{key:"input",value:this.state.schedule.period.years,style:x.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.years=parseInt(t.target.value,10),s.period.years<1&&(s.period.years=1),this.onChange(s)}}),a.createElement("span",{key:"text"},d.t("sch_periodYear"))])]}static now2string(e){const t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),`${Ve(t.getDate())}.${Ve(t.getMonth()+1)}.${Ve(t.getFullYear())}`}static string2date(e){let t=e.split(".");return t.length===1?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}getValidSettings(){const e=this.state.schedule;return a.createElement("div",{style:x.rowDiv},a.createElement("div",{style:{...x.modeDiv,verticalAlign:"middle"}},a.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},d.t("sch_valid")),a.createElement("span",null,d.t("sch_validFrom"))),a.createElement("div",{style:x.settingsDiv},a.createElement(g.TextField,{variant:"standard",style:{...x.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:Wi(e.valid.from),type:"date",onChange:t=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(s=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),r=le.string2date(s);r.toString()!=="Invalid Date"&&(o.valid.from=`${Ve(r.getDate())}.${Ve(r.getMonth()+1)}.${r.getFullYear()}`,this.onChange(o))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),a.createElement(g.FormControlLabel,{control:a.createElement(g.Checkbox,{style:x.inputRadio,checked:!!e.valid.to,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.valid.to=t.valid.to?"":le.now2string(!0),this.onChange(t)}}),label:d.t("sch_validTo")}),!!e.valid.to&&a.createElement(g.TextField,{variant:"standard",inputRef:this.refTo,style:{...x.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:Wi(e.valid.to),onChange:t=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(s=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),r=le.string2date(s);r.toString()!=="Invalid Date"&&(o.valid.to=`${Ve(r.getDate())}.${Ve(r.getMonth()+1)}.${r.getFullYear()}`,this.onChange(o))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return a.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},a.createElement("div",null,this.state.desc),a.createElement("div",{style:x.scrollWindow},a.createElement("h5",null,d.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),le.getDivider(),a.createElement("h5",null,d.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&le.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}const Bs={different:{opacity:.5},icon:{width:16,height:16,marginRight:8}};class u4e extends b.Component{wordDifferent;timeout=null;constructor(e){super(e),e.different&&(this.wordDifferent=e.t("ra___different__"));let t;Array.isArray(e.list)?t=e.list.filter(s=>(s==null?void 0:s._id)&&s.common).map(s=>{var o,r;return{name:S.getObjectNameFromObj(s,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:s._id,icon:(o=s.common)==null?void 0:o.icon,color:(r=s.common)==null?void 0:r.color}}):t=Object.values(e.list).filter(s=>(s==null?void 0:s._id)&&s.common).map(s=>{var o,r;return{name:S.getObjectNameFromObj(s,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:s._id,icon:(o=s.common)==null?void 0:o.icon,color:(r=s.common)==null?void 0:r.color}}),e.different&&e.value===e.different&&t.unshift({value:e.different,name:this.wordDifferent||""}),e.allowNone&&t.unshift({value:"",name:d.t("ra_none")}),this.state={list:t}}render(){this.props.allowNone&&!this.state.list.find(o=>o.value==="")?this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const o=JSON.parse(JSON.stringify(this.state.list));o.unshift({value:"",name:d.t("ra_none")}),this.setState({list:o})},100):!this.props.allowNone&&this.state.list.find(o=>o.value==="")&&(this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const o=JSON.parse(JSON.stringify(this.state.list)),r=this.state.list.findIndex(M=>M.value==="");o.splice(r,1),this.setState({list:o})},100));const e=this.state.list.find(o=>o.value===this.props.value||this.props.removePrefix&&o.value.replace(this.props.removePrefix,"")===this.props.value),t=this.props.value===this.props.different?{}:{color:(e==null?void 0:e.color)||void 0,backgroundColor:S.getInvertedColor((e==null?void 0:e.color)||"",this.props.themeType)};this.props.dense&&this.props.style&&Object.assign(t,this.props.style);const s=a.createElement(g.Select,{variant:"standard",disabled:this.props.disabled,value:this.props.value,slotProps:{input:this.props.inputProps},renderValue:()=>a.createElement("span",null,e!=null&&e.icon?a.createElement(Ie,{src:e==null?void 0:e.icon,style:Bs.icon}):null,e==null?void 0:e.name),sx:{"&.MuiSelect-root":this.props.value===this.props.different?Bs.different:{}},classes:{root:this.props.dense?this.props.className:""},style:t,onChange:o=>{if(this.props.different&&o.target.value!==this.props.different){let r=null;for(let M=0;Mthis.props.onChange(o.target.value));return}}this.props.onChange(this.props.removePrefix?o.target.value.replace(this.props.removePrefix,""):o.target.value)}},this.state.list.map(o=>a.createElement(g.MenuItem,{style:this.props.different&&o.value===this.props.different?Bs.different:{color:o.color||void 0,backgroundColor:S.getInvertedColor(o.color||"",this.props.themeType)},key:o.value,value:o.value},o.icon?a.createElement(Ie,{src:o.icon,style:Bs.icon}):null,o.name)));return this.props.dense?s:a.createElement(g.FormControl,{variant:"standard",fullWidth:!!this.props.fullWidth,style:this.props.style,className:this.props.className},a.createElement(g.InputLabel,null,this.props.label),s)}}class N4e extends b.Component{resizerRefTable;resizerActiveIndex;resizerActiveDiv;resizerCurrentWidths;widthFilled=!1;installTimeout=null;resizerMin=0;resizerMinNext=0;resizerPosition=0;resizerOldWidth=0;resizerOldWidthNext=0;constructor(e){super(e),this.resizerRefTable=a.createRef(),this.resizerActiveIndex=null,this.resizerActiveDiv=null,this.resizerCurrentWidths=[]}componentDidMount(){this.resizerInstall()}componentWillUnmount(){this.resizerUninstall()}resizerInstall(){if(this.resizerRefTable.current&&!this.resizerRefTable.current._installed){this.resizerRefTable.current._installed=!0;const e=this.resizerRefTable.current.querySelectorAll("th"),t=(window._localStorage||window.localStorage).getItem(`App.${this.props.name||"history"}.table`);if(this.widthFilled=!1,t)try{this.resizerCurrentWidths=JSON.parse(t),this.widthFilled=!0}catch{}if(this.widthFilled)if(this.resizerCurrentWidths.length!==e.length)this.resizerCurrentWidths=[],this.widthFilled=!1;else{const s=this.resizerRefTable.current.offsetWidth;let o=0;for(let r=0;r20&&(this.resizerCurrentWidths=[],this.widthFilled=!1)}for(let s=0;s{this.installTimeout=null,this.resizerInstall()},100)}resizerReset=()=>{for(let e=0;e{if(this.resizerActiveDiv&&this.resizerActiveIndex!==null){const t=this.resizerOldWidth+e.clientX-this.resizerPosition,s=this.resizerOldWidthNext-e.clientX+this.resizerPosition;(!this.resizerMin||t>this.resizerMin)&&(!this.resizerMinNext||s>this.resizerMinNext)&&(this.resizerCurrentWidths[this.resizerActiveIndex]=t,this.resizerCurrentWidths[this.resizerActiveIndex+1]=s,this.resizerApplyWidths())}};resizerMouseUp=()=>{(window._localStorage||window.localStorage).setItem(`App.${this.props.name||"history"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveIndex=null,this.resizerActiveDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)};resizerMouseDown=e=>{var t,s,o,r;if(this.resizerActiveIndex===null||this.resizerActiveIndex===void 0){console.log(`Mouse down ${(t=e.target)==null?void 0:t.dataset.index}`),this.resizerActiveIndex=parseInt(((s=e.target)==null?void 0:s.dataset.index)||"0",10),this.resizerActiveDiv=e.target,this.resizerMin=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex]:0,this.resizerMinNext=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex+1]:0,this.resizerPosition=e.clientX;let M;this.resizerCurrentWidths[this.resizerActiveIndex]==="auto"&&(M=(o=this.resizerRefTable.current)==null?void 0:o.querySelectorAll("th"),M&&(this.resizerCurrentWidths[this.resizerActiveIndex]=M[this.resizerActiveIndex].offsetWidth)),this.resizerCurrentWidths[this.resizerActiveIndex+1]==="auto"&&(M=M||((r=this.resizerRefTable.current)==null?void 0:r.querySelectorAll("th")),M&&(this.resizerCurrentWidths[this.resizerActiveIndex+1]=M[this.resizerActiveIndex+1].offsetWidth)),this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveIndex],this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerActiveIndex+1],window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}};render(){if(this.props.ready===!1)return a.createElement(g.Skeleton,null);const e={gridTemplateColumns:this.resizerApplyWidths()};return a.createElement(g.Table,{stickyHeader:this.props.stickyHeader,size:this.props.size||"small",className:this.props.className,sx:this.props.sx,ref:this.resizerRefTable,style:{...this.props.style||void 0,...e}},this.props.children)}}const Ri={div:{borderRadius:3,padding:"0 3px",lineHeight:"20px",whiteSpace:"nowrap",overflow:"hidden",display:"flex",alignItems:"center"},icon:{width:16,height:16,marginRight:8,verticalAlign:"middle"},text:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}};function l4e(i){var r,M,n,u,N,l,c,L,j;const e=i.value;let t;const s=i.removePrefix||"";if(typeof e=="string"){const T=i.list;if(T)if(Array.isArray(T)){const D=T.find(z=>(z==null?void 0:z._id)===s+e);D?t={name:S.getObjectNameFromObj(D,i.lang).replace("system.group.",""),value:D._id,icon:i.icon||((r=D.common)==null?void 0:r.icon),color:i.color||((M=D.common)==null?void 0:M.color)}:t={name:e,value:s+e}}else if(T[s+e]){const D=T[s+e];t={name:S.getObjectNameFromObj(D,i.lang).replace("system.group.",""),value:D._id,icon:i.icon||((n=D.common)==null?void 0:n.icon),color:i.color||((u=D.common)==null?void 0:u.color)}}else t={name:e,value:s+e,icon:i.icon,color:i.color};else t={name:e,value:s+e,icon:i.icon,color:i.color}}else if(!e||typeof e!="object")t={name:"",value:"",icon:i.icon,color:i.color};else{const T=e;t={name:S.getObjectNameFromObj(T,i.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:T._id,icon:i.icon||((N=T.common)==null?void 0:N.icon),color:i.color||((l=T.common)==null?void 0:l.color)}}const o=t!=null&&t.color?{border:`1px solid ${S.invertColor(t==null?void 0:t.color)}`,color:S.getInvertedColor(t==null?void 0:t.color,i.themeType||"light",!0)||void 0,backgroundColor:t==null?void 0:t.color}:{};return a.createElement("div",{style:{...i.style||void 0,...Ri.div,...o||void 0},className:S.clsx(i.className,(c=i.moreClasses)==null?void 0:c.root),title:i.title||t.value},t!=null&&t.icon?a.createElement(Ie,{src:t==null?void 0:t.icon,className:(L=i.moreClasses)==null?void 0:L.icon,style:Ri.icon}):null,a.createElement("div",{style:Ri.text,className:(j=i.moreClasses)==null?void 0:j.text},t==null?void 0:t.name))}function L4e({themeName:i,toggleTheme:e,t,className:s,style:o,size:r}){return a.createElement("div",{className:s||void 0,style:o||void 0},a.createElement(g.Tooltip,{title:t("ra_Change color theme"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(g.IconButton,{onClick:()=>e(),size:r||"medium"},i==="dark"&&a.createElement(m.Brightness4,{className:s}),i==="blue"&&a.createElement(m.Brightness5,{className:s}),i==="colored"&&a.createElement(m.Brightness6,{className:s}),i!=="dark"&&i!=="blue"&&i!=="colored"&&a.createElement(m.Brightness7,{className:s}))))}function wi(){return(wi=Object.assign||function(i){for(var e=1;e=0||(o[t]=i[t]);return o}function Do(i){var e=b.useRef(i),t=b.useRef(function(s){e.current&&e.current(s)});return e.current=i,t.current}var ws=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),i>t?t:i0:z.buttons>0)&&o.current?r(PM(o.current,z,n.current)):D(!1)},T=function(){return D(!1)};function D(z){var h=u.current,O=zo(o.current),p=z?O.addEventListener:O.removeEventListener;p(h?"touchmove":"mousemove",j),p(h?"touchend":"mouseup",T)}return[function(z){var h=z.nativeEvent,O=o.current;if(O&&(WM(h),!function(E,C){return C&&!ys(E)}(h,u.current)&&O)){if(ys(h)){u.current=!0;var p=h.changedTouches||[];p.length&&(n.current=p[0].identifier)}O.focus(),r(PM(O,h,n.current)),D(!0)}},function(z){var h=z.which||z.keyCode;h<37||h>40||(z.preventDefault(),M({left:h===39?.05:h===37?-.05:0,top:h===40?.05:h===38?-.05:0}))},D]},[M,r]),l=N[0],c=N[1],L=N[2];return b.useEffect(function(){return L},[L]),a.createElement("div",wi({},s,{onTouchStart:l,onMouseDown:l,className:"react-colorful__interactive",ref:o,onKeyDown:c,tabIndex:0,role:"slider"}))}),Ho=function(i){return i.filter(Boolean).join(" ")},ka=function(i){var e=i.color,t=i.left,s=i.top,o=s===void 0?.5:s,r=Ho(["react-colorful__pointer",i.className]);return a.createElement("div",{className:r,style:{top:100*o+"%",left:100*t+"%"}},a.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},Le=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*i)/t},hNe=function(i){return ENe(Io(i))},Io=function(i){return i[0]==="#"&&(i=i.substring(1)),i.length<6?{r:parseInt(i[0]+i[0],16),g:parseInt(i[1]+i[1],16),b:parseInt(i[2]+i[2],16),a:i.length===4?Le(parseInt(i[3]+i[3],16)/255,2):1}:{r:parseInt(i.substring(0,2),16),g:parseInt(i.substring(2,4),16),b:parseInt(i.substring(4,6),16),a:i.length===8?Le(parseInt(i.substring(6,8),16)/255,2):1}},ANe=function(i){return ONe(mNe(i))},pNe=function(i){var e=i.s,t=i.v,s=i.a,o=(200-e)*t/100;return{h:Le(i.h),s:Le(o>0&&o<200?e*t/100/(o<=100?o:200-o)*100:0),l:Le(o/2),a:Le(s,2)}},wo=function(i){var e=pNe(i);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},mNe=function(i){var e=i.h,t=i.s,s=i.v,o=i.a;e=e/360*6,t/=100,s/=100;var r=Math.floor(e),M=s*(1-t),n=s*(1-(e-r)*t),u=s*(1-(1-e+r)*t),N=r%6;return{r:Le(255*[s,n,M,M,u,s][N]),g:Le(255*[u,s,s,n,M,M][N]),b:Le(255*[M,M,u,s,s,n][N]),a:Le(o,2)}},Fs=function(i){var e=i.toString(16);return e.length<2?"0"+e:e},ONe=function(i){var e=i.r,t=i.g,s=i.b,o=i.a,r=o<1?Fs(Le(255*o)):"";return"#"+Fs(e)+Fs(t)+Fs(s)+r},ENe=function(i){var e=i.r,t=i.g,s=i.b,o=i.a,r=Math.max(e,t,s),M=r-Math.min(e,t,s),n=M?r===e?(t-s)/M:r===t?2+(s-e)/M:4+(e-t)/M:0;return{h:Le(60*(n<0?n+6:n)),s:Le(r?M/r*100:0),v:Le(r/255*100),a:o}},_Ne=a.memo(function(i){var e=i.hue,t=i.onChange,s=Ho(["react-colorful__hue",i.className]);return a.createElement("div",{className:s},a.createElement(fa,{onMove:function(o){t({h:360*o.left})},onKey:function(o){t({h:ws(e+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":Le(e),"aria-valuemax":"360","aria-valuemin":"0"},a.createElement(ka,{className:"react-colorful__hue-pointer",left:e/360,color:wo({h:e,s:100,v:100,a:1})})))}),SNe=a.memo(function(i){var e=i.hsva,t=i.onChange,s={backgroundColor:wo({h:e.h,s:100,v:100,a:1})};return a.createElement("div",{className:"react-colorful__saturation",style:s},a.createElement(fa,{onMove:function(o){t({s:100*o.left,v:100-100*o.top})},onKey:function(o){t({s:ws(e.s+100*o.left,0,100),v:ws(e.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Le(e.s)+"%, Brightness "+Le(e.v)+"%"},a.createElement(ka,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:wo(e)})))}),Ya=function(i,e){if(i===e)return!0;for(var t in i)if(i[t]!==e[t])return!1;return!0},xNe=function(i,e){return i.toLowerCase()===e.toLowerCase()||Ya(Io(i),Io(e))};function fNe(i,e,t){var s=Do(t),o=b.useState(function(){return i.toHsva(e)}),r=o[0],M=o[1],n=b.useRef({color:e,hsva:r});b.useEffect(function(){if(!i.equal(e,n.current.color)){var N=i.toHsva(e);n.current={hsva:N,color:e},M(N)}},[e,i]),b.useEffect(function(){var N;Ya(r,n.current.hsva)||i.equal(N=i.fromHsva(r),n.current.color)||(n.current={hsva:r,color:N},s(N))},[r,i,s]);var u=b.useCallback(function(N){M(function(l){return Object.assign({},l,N)})},[]);return[r,u]}var kNe=typeof window<"u"?b.useLayoutEffect:b.useEffect,YNe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},RM=new Map,QNe=function(i){kNe(function(){var e=i.current?i.current.ownerDocument:document;if(e!==void 0&&!RM.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,RM.set(e,t);var s=YNe();s&&t.setAttribute("nonce",s),e.head.appendChild(t)}},[])},UNe=function(i){var e=i.className,t=i.colorModel,s=i.color,o=s===void 0?t.defaultColor:s,r=i.onChange,M=xa(i,["className","colorModel","color","onChange"]),n=b.useRef(null);QNe(n);var u=fNe(t,o,r),N=u[0],l=u[1],c=Ho(["react-colorful",e]);return a.createElement("div",wi({},M,{ref:n,className:c}),a.createElement(SNe,{hsva:N,onChange:l}),a.createElement(_Ne,{hue:N.h,onChange:l,className:"react-colorful__last-control"}))},vNe={defaultColor:"000",toHsva:hNe,fromHsva:function(i){return ANe({h:i.h,s:i.s,v:i.v,a:1})},equal:xNe},bNe=function(i){return a.createElement(UNe,wi({},i,{colorModel:vNe}))};class $Ne extends b.Component{dialogName;filters;filterFunc;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters||{}});let s=this.props.selected||[];if(Array.isArray(s)||(s=[s]),s=s.filter(o=>o),e.filterFunc)if(typeof e.filterFunc=="string")try{this.filterFunc=new Function("obj",e.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${e.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=e.filterFunc;this.state={selected:s,name:"",selectionBlocked:!1}}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 e;return this.state.name||this.state.selected.length?this.state.selected.length===1?e=[a.createElement("span",{key:"selected"},d.t("ra_Selected")," "),a.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:e=[a.createElement("span",{key:"selected"},d.t("ra_Selected")," "),a.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},d.t("%s items",this.state.selected.length.toString()))]:e=this.props.title||d.t("ra_Please select object ID..."),a.createElement(g.Dialog,{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"},a.createElement(g.DialogTitle,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),a.createElement(g.DialogContent,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},a.createElement(CNe,{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,allowNonObjects:this.props.allowNonObjects,onFilterChanged:t=>{this.filters=t,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(t))},onSelect:async(t,s,o)=>{let r;if(Array.isArray(t)?r=t:r=[t],JSON.stringify(r)!==JSON.stringify(this.state.selected)){let M=!0;if(this.props.onSelectConfirm){const n={};for(const u of r)try{n[u]=await this.props.socket.getObject(u)}catch{}M=await this.props.onSelectConfirm(r,n)}this.setState({selected:r,name:s,selectionBlocked:!M},()=>o&&this.handleOk())}else o&&this.handleOk()},filterFunc:this.filterFunc,title:"",classes:{}})),a.createElement(g.DialogActions,null,a.createElement(g.Button,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:a.createElement(m.Check,null),disabled:!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||d.t("ra_Ok")),a.createElement(g.Button,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}function lt(i,e,t){if(typeof e=="string"&&(e=e.split(".")),!i)return null;if(e.length===1)return t&&t[i[e[0]]]?t[i[e[0]]]:i[e[0]];const s=e.shift();return lt(i[s],e)}function Qa(i,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length===1)return i[e[0]]=t;const s=e.shift();return(i[s]===null||i[s]===void 0)&&(i[s]={}),Qa(i[s],e,t)}const W={tableContainer:{width:"100%",height:"100%",overflow:"auto"},table:{width:"100%",minWidth:800,maxWidth:1920},cell:{paddingTop:0,paddingBottom:0,paddingLeft:4,paddingRight:4},rowMainWithChildren:{},rowMainWithoutChildren:{},rowNoEdit:{opacity:.3},cellExpand:{width:30},cellButton:{width:30},cellHeader:{fontWeight:"bold",background:i=>(i.palette.mode==="dark","#888"),color:i=>i.palette.mode==="dark"?"#EEE":"#111",height:48,wordBreak:"break-word",whiteSpace:"pre"},width_name_nicknames:{maxWidth:150},width_ioType:{maxWidth:100},width_type:{maxWidth:100},width_displayTraits:{maxWidth:100},width_roomHint:{maxWidth:100},rowSecondary:{fontStyle:"italic"},cellSecondary:{fontSize:10},visuallyHidden:{border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",top:20,width:1},fieldEditWithButton:{width:"calc(100% - 33px)",display:"inline-block"},fieldEdit:{width:"100%",display:"inline-block",lineHeight:"50px",verticalAlign:"middle"},fieldButton:{width:30,display:"inline-block"},colorDialog:{overflow:"hidden",padding:15},subText:{fontSize:10,fontStyle:"italic"},glow:{animation:"glow 0.2s 2 alternate"}};function JM(i,e,t,s){const o=lt(i,t,s)||"",r=lt(e,t,s)||"";return ro?1:0}function PNe(i,e,t){return i==="desc"?(s,o)=>JM(s,o,e,t):(s,o)=>-JM(s,o,e,t)}function WNe(i,e){const t=i.map((s,o)=>({e:s,i:o}));return t.sort((s,o)=>{const r=e(s.e,o.e);return r||s.i-o.i}),t.map(s=>s.e)}class Co extends b.Component{selectCallback=null;updateTimeout=null;constructor(e){super(e);let t=(window._localStorage||window.localStorage).getItem(this.props.name||"iob-table")||"[]";try{t=JSON.parse(t)||[]}catch{t=[]}Array.isArray(t)||(t=[]),this.state={opened:t,editMode:!1,deleteMode:!1,editData:null,order:"asc",update:null,orderBy:this.props.columns[0].field,showSelectColor:!1}}static getDerivedStateFromProps(e,t){if(e.glowOnChange){const s=[];let o=0;return e.data&&t.data&&e.data.forEach(r=>{var n;o++;const M=(n=t.data)==null?void 0:n.find(u=>u.id===r.id);M?JSON.stringify(M)!==JSON.stringify(r)&&s.push(r.id):s.push(r.id)}),s.length&&s.length!==o?{data:e.data,update:s}:{data:e.data}}return{data:e.data}}renderCellEdit(e,t){let s=lt(e,t.field);return Array.isArray(s)&&(s=s[0]),t.lookup?this.renderCellEditSelect(t,s):t.editComponent?this.renderCellEditCustom(t,s,e):t.type==="boolean"||!t.type&&typeof s=="boolean"?this.renderCellEditBoolean(t,s):t.type==="color"?this.renderCellEditColor(t,s):t.type==="oid"?this.renderCellEditObjectID(t,s):t.type==="numeric"?this.renderCellEditNumber(t,s):this.renderCellEditString(t,s)}onChange(e,t,s){const o=this.state.editData?{...this.state.editData}:{};s===t?delete o[e.field]:o[e.field]=s,this.setState({editData:o})}renderCellEditSelect(e,t){return a.createElement(g.Select,{variant:"standard",onChange:s=>this.onChange(e,t,s.target.value),value:this.state.editData&&this.state.editData[e.field]||t},e.lookup&&Object.keys(e.lookup).map((s,o)=>{var r;return a.createElement(g.MenuItem,{key:o,value:s},(r=e.lookup)==null?void 0:r[s])}))}renderCellEditString(e,t){return a.createElement(g.TextField,{variant:"standard",style:W.fieldEdit,fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)})}renderCellEditNumber(e,t){return a.createElement(g.TextField,{variant:"standard",style:W.fieldEdit,type:"number",fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)})}renderCellEditCustom(e,t,s){const o=e.editComponent;return this.state.editData&&this.state.editData[e.field]!==void 0&&(t=this.state.editData[e.field],s=JSON.parse(JSON.stringify(s)),s[e.field]=t),o?a.createElement(o,{value:t,rowData:s,onChange:r=>this.onChange(e,t,r)}):null}renderCellEditBoolean(e,t){return a.createElement(g.Checkbox,{checked:this.state.editData&&this.state.editData[e.field]!==void 0?!!this.state.editData[e.field]:!!t,onChange:s=>this.onChange(e,!!t,s.target.checked),inputProps:{"aria-label":"checkbox"}})}renderSelectColorDialog(){return a.createElement(g.Dialog,{sx:{"& .MuiPaper-root":W.root,"& .MuiPaper-paper":W.paper},onClose:()=>{this.selectCallback=null,this.setState({showSelectColor:!1})},open:this.state.showSelectColor},a.createElement(bNe,{color:this.state.selectIdValue,onChange:e=>this.setState({selectIdValue:e},()=>{this.selectCallback&&this.selectCallback(e)})}))}renderCellEditColor(e,t){const s=this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t;return a.createElement("div",{style:W.fieldEdit},a.createElement(g.TextField,{variant:"standard",fullWidth:!0,style:W.fieldEditWithButton,value:s,inputProps:{style:{backgroundColor:s,color:S.isUseBright(s)?"#FFF":"#000"}},onChange:o=>this.onChange(e,!!t,o.target.value)}),a.createElement(g.IconButton,{style:W.fieldButton,onClick:()=>{this.selectCallback=o=>this.onChange(e,t,o),this.setState({showSelectColor:!0,selectIdValue:t})},size:"large"},a.createElement(m.Colorize,null)))}renderSelectIdDialog(){return this.state.showSelectId&&this.props.socket?a.createElement($Ne,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.adapterName,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,selected:this.state.selectIdValue,onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1,selectIdValue:null});const t=Array.isArray(e)?e[0]:e;t&&this.selectCallback&&(this.selectCallback&&this.selectCallback(t),this.selectCallback=null)}}):null}renderCellEditObjectID(e,t){return a.createElement("div",{style:W.fieldEdit},a.createElement(g.TextField,{variant:"standard",fullWidth:!0,style:W.fieldEditWithButton,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)}),a.createElement(g.IconButton,{style:W.fieldButton,onClick:()=>{this.selectCallback=s=>this.onChange(e,t,s),this.setState({showSelectId:!0,selectIdValue:t})},size:"large"},a.createElement(m.ViewHeadline,null)))}static renderCellNonEdit(e,t){let s=lt(e,t.field,t.lookup);return Array.isArray(s)&&(s=s[0]),t.type==="boolean"?a.createElement(g.Checkbox,{checked:!!s,disabled:!0,inputProps:{"aria-label":"checkbox"}}):s}renderCell(e,t,s,o){return this.state.editMode===o&&t.editable!=="never"&&t.editable!==!1?a.createElement(g.TableCell,{key:t.field,style:{...W.cell,...s?W.cellSecondary:void 0,...t.cellStyle},component:"th"},this.renderCellEdit(e,t)):a.createElement(g.TableCell,{key:t.field,style:{...W.cell,...s?W.cellSecondary:void 0,...t.cellStyle},component:"th"},Co.renderCellNonEdit(e,t))}static renderCellWithSubField(e,t){const s=lt(e,t.field,t.lookup);if(t.subField){const o=lt(e,t.subField,t.subLookup);return a.createElement("div",null,a.createElement("div",{style:W.mainText},s),a.createElement("div",{style:{...W.subText,...t.subStyle||void 0}},o))}return a.createElement("div",null,a.createElement("div",{style:W.mainText},s))}renderLine(e,t){const s=this.props.levelShift===void 0?24:this.props.levelShift;t=t||0;const o=this.props.data.indexOf(e);if(!e||!t&&e.parentId||t&&!e.parentId)return null;const r=this.state.opened.includes(e.id),M=this.props.data.filter(u=>u.parentId===e.id),n=a.createElement(g.TableRow,{key:e.id,className:`table-row-${(e.id||"").toString().replace(/[.$]/g,"_")}`,style:{...this.state.update&&this.state.update.includes(e.id)&&W.glow||void 0,...W.row,...t?W.rowSecondary:void 0,...!t&&M.length?W.rowMainWithChildren:void 0,...!t&&!M.length?W.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==o?W.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==o?W.rowNoEdit:void 0}},a.createElement(g.TableCell,{style:{...W.cell,...W.cellExpand,...t?W.cellSecondary:void 0}},M.length?a.createElement(g.IconButton,{onClick:()=>{const u=[...this.state.opened],N=u.indexOf(e.id);N===-1?(u.push(e.id),u.sort()):u.splice(N,1),(window._localStorage||window.localStorage).setItem(this.props.name||"iob-table",JSON.stringify(u)),this.setState({opened:u})},size:"small"},r?a.createElement(m.ExpandMore,null):a.createElement(m.NavigateNext,null)):null),a.createElement(g.TableCell,{scope:"row",style:{...W.cell,...t?W.cellSecondary:void 0,...this.props.columns[0].cellStyle,paddingLeft:s*t}},this.props.columns[0].subField?Co.renderCellWithSubField(e,this.props.columns[0]):lt(e,this.props.columns[0].field,this.props.columns[0].lookup)),this.props.columns.map((u,N)=>!N&&!u.hidden?null:this.renderCell(e,u,t,o)),this.props.onUpdate?a.createElement(g.TableCell,{style:{...W.cell,...W.cellButton}},this.state.editMode===o||this.state.deleteMode===o?a.createElement(g.IconButton,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>{if(this.state.editMode!==!1){const u=JSON.parse(JSON.stringify(e));this.state.editData&&Object.keys(this.state.editData).forEach(N=>{var l;return Qa(u,N,(l=this.state.editData)==null?void 0:l[N])}),this.setState({editMode:!1},()=>this.props.onUpdate&&this.props.onUpdate(u,e))}else this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e))},size:"large"},a.createElement(m.Check,null)):a.createElement(g.IconButton,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:o,editData:null}),size:"large"},a.createElement(m.Edit,null))):null,this.props.onDelete&&!this.props.onUpdate?a.createElement(g.TableCell,{style:{...W.cell,...W.cellButton}},this.state.deleteMode===o?a.createElement(g.IconButton,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e)),size:"large"},a.createElement(m.Check,null)):null):null,this.props.onUpdate||this.props.onDelete?a.createElement(g.TableCell,{style:{...W.cell,...W.cellButton}},this.state.editMode===o||this.state.deleteMode===o?a.createElement(g.IconButton,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),size:"large"},a.createElement(m.Close,null)):this.props.onDelete?a.createElement(g.IconButton,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:o}),size:"large"},a.createElement(m.Delete,null)):null):null);if(!t&&r){const u=M.map(N=>this.renderLine(N,t+1));return u.unshift(n),u}return n}handleRequestSort(e){const t=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:t?"desc":"asc",orderBy:e})}renderHead(){return a.createElement(g.TableHead,null,a.createElement(g.TableRow,{key:"headerRow"},a.createElement(g.TableCell,{component:"th",sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellExpand)}),a.createElement(g.TableCell,{component:"th",sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W[`width_${this.props.columns[0].field.replace(/\./g,"_")}`]),style:this.props.columns[0].headerStyle||this.props.columns[0].cellStyle,sortDirection:this.props.noSort?!1:this.state.orderBy===this.props.columns[0].field?this.state.order:!1},this.props.noSort?null:a.createElement(g.TableSortLabel,{active:this.state.orderBy===this.props.columns[0].field,direction:this.state.orderBy===this.props.columns[0].field?this.state.order:"asc",onClick:()=>this.handleRequestSort(this.props.columns[0].field)},this.props.columns[0].title||this.props.columns[0].field,this.state.orderBy===this.props.columns[0].field?a.createElement("span",{style:W.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null)),this.props.columns.map((e,t)=>!t&&!e.hidden?null:a.createElement(g.TableCell,{key:e.field,sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W[`width_${e.field.replace(/\./g,"_")}`]),style:e.headerStyle||e.cellStyle,component:"th"},this.props.noSort?null:a.createElement(g.TableSortLabel,{active:this.state.orderBy===e.field,direction:this.state.orderBy===e.field?this.state.order:"asc",onClick:()=>this.handleRequestSort(e.field)},e.title||e.field,this.state.orderBy===e.field?a.createElement("span",{style:W.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null))),this.props.onUpdate?a.createElement(g.TableCell,{component:"th",sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellButton)},this.props.noAdd?null:a.createElement(g.Fab,{color:"primary",size:"small",disabled:this.state.editMode!==!1,onClick:()=>this.props.onUpdate&&this.props.onUpdate(!0)},a.createElement(m.Add,null))):null,this.props.onDelete||this.props.onUpdate?a.createElement(g.TableCell,{component:"th",sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellButton)}):null))}render(){const e=this.props.columns.find(t=>t.field===this.state.orderBy);if(e){const t=e.lookup,s=WNe(this.props.data,PNe(this.state.order,this.state.orderBy,t));return this.state.update&&this.state.update.length&&(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=null,this.setState({update:null})},500)),a.createElement("div",{style:W.tableContainer,className:this.props.className},a.createElement(g.Table,{style:W.table,"aria-label":"simple table",size:"small",stickyHeader:!0},this.renderHead(),a.createElement(g.TableBody,null,s.map(o=>this.renderLine(o)))),this.renderSelectIdDialog(),this.renderSelectColorDialog())}return null}}/*! +`),n.createElement(TNe,null,this.getToolbar()),n.createElement(gNe,null,this.renderHeader(),n.createElement(g.Box,{style:h.tableDiv,ref:this.tableRef,onKeyDown:s=>this.navigateKeyPress(s)},t)),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.renderRenameDialog(),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))}}const ANe=di()(We);class N4e extends n.Component{refTypo;height;width;constructor(e){super(e),this.state={closed:this.props.storeId?window.localStorage.getItem(this.props.storeId)==="true":!1},this.height=0,this.width=0,this.refTypo=n.createRef()}componentDidMount(){this.detectHeight()}onClick(){this.props.storeId&&this.props.closed===void 0&&(this.state.closed?window.localStorage.removeItem(this.props.storeId):window.localStorage.setItem(this.props.storeId,"true")),this.props.closed===void 0?this.setState({closed:!this.state.closed},()=>{this.props.onClose&&this.props.onClose(this.state.closed)}):this.props.onClose&&this.props.onClose(!this.props.closed)}detectHeight(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed;this.props.closeable&&!e&&this.refTypo.current&&window.requestAnimationFrame(()=>{(this.props.closed!==void 0?this.props.closed:this.state.closed)||this.refTypo.current&&(!this.height||this.width!==this.refTypo.current.clientWidth)&&(this.height=this.refTypo.current.clientHeight,this.width=this.refTypo.current.clientWidth,this.forceUpdate())})}componentDidUpdate(){this.detectHeight()}render(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed,t=e?m.Visibility:m.Close;return n.createElement(g.Box,{className:"iom-info-box",style:{whiteSpace:"preserve",display:"flex",gap:8,alignItems:e||this.props.iconPosition==="top"?"flex-start":"center",borderWidth:1,borderStyle:"solid",padding:4,borderRadius:5,marginBottom:8,maxWidth:"100%",transition:"height 0.5s",height:this.props.closeable?e?30:this.height||void 0:void 0,overflow:this.props.closeable?"hidden":void 0,position:"relative",...this.props.style},sx:{borderColor:s=>this.props.type==="ok"?s.palette.info.main:s.palette[this.props.type].main}},this.props.type==="ok"?n.createElement(m.Check,{style:{color:"#0F0"}}):this.props.type==="info"?n.createElement(m.Info,{color:"primary"}):n.createElement(m.Warning,{color:this.props.type}),n.createElement(g.Typography,{ref:this.refTypo},this.props.children),this.props.closeable?n.createElement(t,{sx:{color:s=>s.palette.mode==="dark"?"lightgray":"gray",cursor:"pointer",position:"absolute",top:4,right:4},onClick:()=>this.onClick()}):null,this.props.closeable?n.createElement("div",{style:{width:22}}):null,e?n.createElement(g.Box,{component:"div",sx:s=>{const o=s.palette[this.props.type==="ok"?"info":this.props.type].main;return{background:`linear-gradient(${o}00 0%, ${o}10 60%, ${o}90 100%)`}},style:{bottom:0,position:"absolute",left:0,right:0,height:10}}):null)}}const x={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:i=>({background:i.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:i=>({background:i.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowMonths:i=>({background:i.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:i=>({background:i.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:i=>({background:i.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDowsDows:i=>({background:i.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},$i=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Js=["January","February","March","April","May","June","July","August","September","October","November","December"],Pi={minutes:"minutes",hours:"hours"},ns=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function Ve(i){return i<10?`0${i}`:`${i}`}const WM={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 Wi(i){const e=i.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class le extends b.Component{refFrom;refTo;refOnce;timerOnce=null;timerFrom=null;timerTo=null;constructor(e){super(e);let t;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{t=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(t=this.props.schedule);(!t||!Object.keys(t).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),t=WM),t={...WM,...t},t.valid.from||=le.now2string(),this.refFrom=n.createRef(),this.refTo=n.createRef(),this.refOnce=n.createRef(),this.state={schedule:t,desc:le.state2text(t)},JSON.stringify(t)!==this.props.schedule&&setTimeout(()=>{var s,o;return(o=(s=this.props).onChange)==null?void 0:o.call(s,JSON.stringify(t))},100)}onChange(e,t){var o,r;const s=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||s){s&&this.setState({schedule:e,desc:le.state2text(e)});const M=JSON.parse(JSON.stringify(e));if(M.period.once){const a=M.period.once;delete M.period,M.period={once:a},delete M.valid}else if(M.period.days){const a=M.period.days,u=M.period.dows;delete M.period,M.period={days:a},u&&u!=="[]"&&(M.period.dows=u)}else if(M.period.weeks){const a=M.period.weeks,u=M.period.dows;delete M.period,M.period={weeks:a},u&&u!=="[]"&&(M.period.dows=u)}else if(M.period.months){const a=M.period.months,u=M.period.dates;delete M.period,M.period={months:a},u&&u!=="[]"&&(M.period.dates=u)}else if(M.period.years){const a=M.period.years,u=M.period.yearMonth,N=M.period.yearDate;delete M.period,M.period={years:a,yearDate:N},u&&(M.period.yearMonth=u)}if(M.time.exactTime?(delete M.time.end,delete M.time.mode,delete M.time.interval):delete M.time.exactTime,M.valid){if(M.valid.to||delete M.valid.to,M.period.days===1||M.period.weeks===1||M.period.months===1||M.period.years===1){const a=le.string2date(M.valid.from),u=new Date;u.setHours(0),u.setMinutes(0),u.setSeconds(0),u.setMilliseconds(0),a<=u&&delete M.valid.from}!M.valid.from&&!M.valid.to&&delete M.valid}(r=(o=this.props).onChange)==null||r.call(o,JSON.stringify(M),le.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const t=[],s=le.string2date(e.valid.from);if(e.period.once){const o=le.string2date(e.period.once),r=new Date;if(r.setMilliseconds(0),r.setSeconds(0),r.setMinutes(0),r.setHours(0),od.t($i[M]));if(r.length===1)t.push(d.t("sch_desc_onWeekday",r[0]));else if(r.length===7)t.push(d.t("sch_desc_everyDay"));else{const M=r.pop();t.push(d.t("sch_desc_onWeekdays",r.join(", "),M))}}}else t.push(d.t("sch_desc_everyDay"));else t.push(d.t("sch_desc_everyNDay",e.period.days.toString()));else if(e.period.weeks)if(e.period.weeks===1?t.push(d.t("sch_desc_everyWeek")):t.push(d.t("sch_desc_everyNWeeks",e.period.weeks.toString())),e.period.dows){const o=JSON.parse(e.period.dows);if(o.length===2&&o[0]===0&&o[1]===6)t.push(d.t("sch_desc_onWeekends"));else if(o.length===5&&o[0]===1&&o[1]===2&&o[2]===3&&o[3]===4&&o[4]===5)t.push(d.t("sch_desc_onWorkdays"));else{const r=o.map(M=>d.t($i[M]));if(r.length===1)t.push(d.t("sch_desc_onWeekday",r[0]));else if(r.length===7)t.push(d.t("sch_desc_everyDay"));else{const M=r.pop();t.push(d.t("sch_desc_onWeekdays",r.join(", "),M))}}}else return d.t("sch_desc_never");else if(e.period.months){if(e.period.dates){const o=JSON.parse(e.period.dates);if(o.length===1)t.push(d.t("sch_desc_onDate",o[0]));else if(o.length===31)t.push(d.t("sch_desc_onEveryDate"));else if(o.length){const r=o.pop();t.push(d.t("sch_desc_onDates",o.join(", "),r))}else return d.t("sch_desc_never")}else t.push(d.t("sch_desc_onEveryDate"));if(e.period.months===1)t.push(d.t("sch_desc_everyMonth"));else if(typeof e.period.months=="number")t.push(d.t("sch_desc_everyNMonths",e.period.months.toString()));else{const r=JSON.parse(e.period.months).map(M=>d.t(Js[M-1]));if(!r.length)return d.t("sch_desc_never");if(r.length===1)t.push(d.t("sch_desc_onMonth",r[0]));else if(r.length===12)t.push(d.t("sch_desc_everyMonth"));else{const M=r.pop();t.push(d.t("sch_desc_onMonths",r.join(", "),M))}}}else e.period.years&&(e.period.years===1?t.push(d.t("sch_desc_everyYear")):t.push(d.t("sch_desc_everyNYears",e.period.years.toString())),t.push(d.t("sch_desc_onDate",e.period.yearDate.toString(),e.period.yearMonth?d.t(Js[e.period.yearMonth-1]):d.t("sch_desc_everyMonth"))));if(e.time.exactTime)ns.includes(e.time.start)?t.push(d.t("sch_desc_atTime",d.t(`sch_astro_${e.time.start}`))):t.push(d.t("sch_desc_atTime",e.time.start));else{e.time.mode===Pi.minutes?e.time.interval===1?t.push(d.t("sch_desc_everyMinute")):t.push(d.t("sch_desc_everyNMinutes",e.time.interval.toString())):e.time.interval===1?t.push(d.t("sch_desc_everyHour")):t.push(d.t("sch_desc_everyNHours",e.time.interval.toString()));const o=ns.indexOf(e.time.start)!==-1?d.t(`sch_astro_${e.time.start}`):e.time.start,r=ns.indexOf(e.time.end)!==-1?d.t(`sch_astro_${e.time.end}`):e.time.end;(o!=="00:00"||r!=="24:00"&&r!=="23:59")&&t.push(d.t("sch_desc_intervalFromTo",o,r))}return e.period.once||(s.getTime()>Date.now()&&e.valid.to?t.push(d.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):s.getTime()>Date.now()?t.push(d.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(d.t("sch_desc_validTo",e.valid.to))),t.join(" ")}getTimePeriodElements(){const e=this.state.schedule;let t=!1,s=!1,o=!1,r=!0;return e.time.start==="00:00"&&e.time.end==="24:00"?(t=!0,r=!1):e.time.start==="sunrise"?(s=!0,r=!1):e.time.start==="sunset"&&(o=!0,r=!1),n.createElement("div",{key:"timePeriod",style:x.rowDiv},n.createElement("div",{style:x.modeDiv},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!e.time.exactTime,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.exactTime=!1,this.onChange(M)}}),label:d.t("sch_intervalTime")})),n.createElement("div",{style:x.settingsDiv},n.createElement("div",{style:x.settingsDiv},!e.time.exactTime&&n.createElement("div",null,n.createElement("div",null,n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!r,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="00:00",M.time.end="23:59",this.onChange(M)}}),label:r?"":d.t("sch_fromTo")}),r&&[n.createElement(g.TextField,{variant:"standard",style:{...x.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:M=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:M.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:M=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=M.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:d.t("sch_from"),margin:"normal"}),n.createElement(g.TextField,{variant:"standard",style:x.inputTime,key:"exactTimeTo",type:"time",sx:M=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:M.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:M=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.end=M.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:d.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&n.createElement("div",null,n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!t,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="00:00",M.time.end="24:00",this.onChange(M)}}),label:d.t("sch_wholeDay")})),!e.time.exactTime&&n.createElement("div",null,n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!s,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="sunrise",M.time.end="sunset",this.onChange(M)}}),label:d.t("sch_astroDay")})),!e.time.exactTime&&n.createElement("div",null,n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!o,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="sunset",M.time.end="sunrise",this.onChange(M)}}),label:d.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(r)))}getTimeExactElements(){const e=ns.includes(this.state.schedule.time.start);return n.createElement("div",{key:"timeExact",style:x.rowDiv},n.createElement("div",{style:x.modeDiv},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.time.exactTime=!0,this.onChange(t)}}),label:d.t("sch_exactTime")})),this.state.schedule.time.exactTime&&n.createElement(g.Select,{variant:"standard",value:e?this.state.schedule.time.start:"00:00",onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start=t.target.value,this.onChange(s)}},n.createElement(g.MenuItem,{key:"specific",value:"00:00"},d.t("sch_specificTime")),ns.map(t=>n.createElement(g.MenuItem,{key:t,value:t},d.t(`sch_astro_${t}`)))),this.state.schedule.time.exactTime&&!e&&n.createElement("div",{style:x.settingsDiv},n.createElement(g.TextField,{variant:"standard",style:x.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:t=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:t.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start=t.target.value,this.onChange(s)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return n.createElement("hr",{style:x.hr})}getPeriodModes(){const e=this.state.schedule,t=!e.period.dows&&!e.period.months&&!e.period.dates&&!e.period.years&&!e.period.days&&!e.period.weeks;return t&&!e.period.once&&(e.period.once=le.now2string(!0)),[n.createElement("div",{key:"once",style:{...x.rowDiv,...x.rowOnce}},n.createElement("div",{style:x.modeDiv},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!t,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.once||=le.now2string(!0),s.period.dows="",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,this.onChange(s)}}),label:d.t("sch_periodOnce")})),t&&n.createElement("div",{style:x.settingsDiv},n.createElement(g.TextField,{variant:"standard",style:x.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:Wi(e.period.once),onChange:s=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(o=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),M=le.string2date(o);M.toString()!=="Invalid Date"&&(r.period.once=`${Ve(M.getDate())}.${Ve(M.getMonth()+1)}.${M.getFullYear()}`,this.onChange(r))},1500,s.target.value)},slotProps:{inputLabel:{shrink:!0}},label:d.t("sch_at"),margin:"normal"}))),n.createElement(g.Box,{component:"div",key:"days",sx:S.getStyle(this.props.theme,x.rowDiv,x.rowDays)},n.createElement("div",{style:x.modeDiv},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!e.period.days,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.days=1,s.period.dows="",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodDaily")})),n.createElement("div",{style:x.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),n.createElement(g.Box,{component:"div",key:"weeks",sx:S.getStyle(this.props.theme,x.rowDiv,x.rowDows)},n.createElement("div",{style:x.modeDiv},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!e.period.weeks,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.weeks=e.period.weeks?0:1,s.period.dows||="[0]",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodWeekly")})),n.createElement(g.Box,{component:"div",style:x.settingsDiv},n.createElement("div",{style:x.settingsDiv},this.getPeriodSettingsWeekly()),n.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,x.settingsDiv,x.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),n.createElement(g.Box,{component:"div",key:"months",sx:S.getStyle(this.props.theme,x.rowDiv,x.rowMonths)},n.createElement("div",{style:x.modeDiv},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!e.period.months,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=1,s.period.dows="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodMonthly")})),n.createElement("div",{style:x.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?n.createElement(g.Box,null,n.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,x.settingsDiv,x.rowMonthsDates)},n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{style:x.inputRadio,checked:!!e.period.dates,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months||=1;const o=[];for(let r=1;r<=31;r++)o.push(r);s.period.dates||=JSON.stringify(o),s.period.dows="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodDates")})),n.createElement(g.Box,{component:"div",sx:S.getStyle(this.props.theme,x.settingsDiv,x.rowMonthsDates)},this.getPeriodSettingsDates())):null)),n.createElement(g.Box,{component:"div",key:"years",sx:S.getStyle(this.props.theme,x.rowDiv,x.rowYears)},n.createElement("div",{style:x.modeDiv},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!e.period.years,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.years=1,s.period.yearDate=1,s.period.yearMonth=1,s.period.dows="",s.period.months=0,s.period.dates="",s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:d.t("sch_periodYearly")})),n.createElement("div",{style:x.settingsDiv},n.createElement("div",{style:x.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&n.createElement("div",{style:x.settingsDiv},n.createElement("span",null,d.t("sch_on")),n.createElement(g.Input,{key:"input",value:this.state.schedule.period.yearDate,style:x.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:s=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.yearDate=parseInt(s.target.value,10),o.period.yearDate<1&&(o.period.yearDate=31),o.period.yearDate>31&&(o.period.yearDate=1),this.onChange(o)}}),n.createElement(g.Select,{variant:"standard",value:e.period.yearMonth,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.yearMonth=s.target.value,this.onChange(o)}},n.createElement(g.MenuItem,{key:"every",value:0},d.t("sch_yearEveryMonth")),Js.map((s,o)=>n.createElement(g.MenuItem,{key:s,value:o+1},d.t(s)))))))]}getPeriodSettingsMinutes(e){return n.createElement("div",{style:{display:"inline-block",marginTop:e?15:"inherit"}},n.createElement("label",{style:{marginLeft:4,marginRight:4}},d.t("sch_every")),n.createElement(g.Input,{value:this.state.schedule.time.interval,style:{...x.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.interval=parseInt(t.target.value,10),this.onChange(s)}}),n.createElement(g.Select,{variant:"standard",value:this.state.schedule.time.mode,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.mode=t.target.value,this.onChange(s)}},n.createElement(g.MenuItem,{value:Pi.minutes},d.t("sch_periodMinutes")),n.createElement(g.MenuItem,{value:Pi.hours},d.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const e=this.state.schedule,t=e.period.dows&&e.period.dows!=="[1, 2, 3, 4, 5]"&&e.period.dows!=="[0, 6]";return[n.createElement("div",{key:"workdays"},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:e.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[1, 2, 3, 4, 5]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:d.t("sch_periodWorkdays")})),n.createElement("div",{key:"weekend"},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:e.period.dows==="[0, 6]",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[0, 6]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:d.t("sch_periodWeekend")})),n.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.createElement(g.FormControlLabel,{style:{verticalAlign:"top"},control:n.createElement(g.Radio,{style:x.inputRadio,checked:!!t,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[0, 1, 2, 3, 4, 5, 6]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:d.t("sch_periodWeekdays")}),t&&(e.period.days===1||e.period.weeks)&&n.createElement(g.FormGroup,{row:!0,style:{...x.inputGroup,width:150}},[1,2,3,4,5,6,0].map(s=>n.createElement(g.FormControlLabel,{key:`specific_${s}`,style:x.inputGroupElement,control:n.createElement(g.Checkbox,{style:x.inputSmallCheck,checked:e.period.dows.includes(s.toString()),onChange:o=>{const r=JSON.parse(JSON.stringify(this.state.schedule));let M;try{M=JSON.parse(r.period.dows)}catch{M=[]}o.target.checked&&!M.includes(s)?M.push(s):!o.target.checked&&M.includes(s)&&M.splice(M.indexOf(s),1),M.sort((a,u)=>a-u),r.period.dows=JSON.stringify(M),r.period.days&&(r.period.days=1),this.onChange(r)}}),label:d.t($i[s])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[n.createElement("div",{key:"every_day"},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:e.period.days===1&&!e.period.dows,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=1,t.period.dows="",this.onChange(t)}}),label:d.t("sch_periodEveryDay")})),n.createElement("div",{key:"everyN_day"},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:e.period.days>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=2,t.period.dows="",this.onChange(t)}}),label:d.t("sch_periodEvery")}),e.period.days>1&&[n.createElement(g.Input,{key:"input",value:this.state.schedule.period.days,style:x.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.days=parseInt(t.target.value,10),s.period.dows="",this.onChange(s)}}),n.createElement("span",{key:"span",style:{paddingRight:10}},d.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const e=this.state.schedule;return[n.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},n.createElement("div",null,n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:e.period.weeks===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=1,this.onChange(t)}}),label:d.t("sch_periodEveryWeek")})),n.createElement("div",null,n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:e.period.weeks>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=2,this.onChange(t)}}),label:d.t("sch_periodEvery")}),e.period.weeks>1&&[n.createElement(g.Input,{key:"input",value:this.state.schedule.period.weeks,style:x.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.weeks=parseInt(t.target.value,10),this.onChange(s)}}),n.createElement("span",{key:"text"},d.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const e=this.state.schedule,t=[];for(let o=1;o<=31;o++)t.push(o);const s=JSON.parse(e.period.dates);return n.createElement(g.FormGroup,{row:!0,style:{...x.inputGroup,maxWidth:620}},n.createElement(g.FormControlLabel,{style:x.inputDateDay,control:n.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:s.length===31,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),r=[];for(let M=1;M<=31;M++)r.push(M);o.period.dates=JSON.stringify(r),this.onChange(o)}}),label:d.t("sch_all")}),n.createElement(g.FormControlLabel,{style:x.inputDateDay,control:n.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:!s.length,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.dates="[]",this.onChange(o)}}),label:d.t("sch_no_one")}),s.length!==31&&!!s.length&&n.createElement(g.FormControlLabel,{style:x.inputDateDay,control:n.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:!1,onChange:()=>{const o=JSON.parse(JSON.stringify(this.state.schedule)),r=[],M=JSON.parse(o.period.dates);for(let a=1;a<=31;a++)M.includes(a)||r.push(a);r.sort((a,u)=>a-u),o.period.dates=JSON.stringify(r),this.onChange(o)}}),label:d.t("sch_invert")}),n.createElement("div",null),t.map(o=>n.createElement(g.FormControlLabel,{key:`date_${o}`,style:o?x.inputDateDay:{...x.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:n.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(o),onChange:r=>{const M=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(M.period.dates)}catch{a=[]}r.target.checked&&!a.includes(o)?a.push(o):!r.target.checked&&a.includes(o)&&a.splice(a.indexOf(o),1),a.sort((u,N)=>u-N),M.period.dates=JSON.stringify(a),this.onChange(M)}}),label:o<10?[n.createElement("span",{key:"0",style:{opacity:0}},"0"),n.createElement("span",{key:"num"},o)]:o})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const e=this.state.schedule,t=typeof e.period.months=="string"?JSON.parse(e.period.months):[];return[n.createElement("div",{key:"every"},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:typeof e.period.months=="number"&&e.period.months===1,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=1,this.onChange(e)}}),label:d.t("sch_periodEveryMonth")})),n.createElement("div",{key:"everyN"},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:typeof e.period.months=="number"&&e.period.months>1,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=2,this.onChange(s)}}),label:d.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[n.createElement(g.Input,{key:"input",value:e.period.months,style:x.inputEvery,type:"number",inputProps:{min:2},onChange:s=>{const o=JSON.parse(JSON.stringify(this.state.schedule));o.period.months=parseInt(s.target.value,10),o.period.months<1&&(o.period.months=1),this.onChange(o)}}),n.createElement("span",{key:"text"},d.t("sch_periodMonth"))]),n.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.createElement(g.FormControlLabel,{style:{verticalAlign:"top"},control:n.createElement(g.Radio,{style:x.inputRadio,checked:typeof e.period.months=="string",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(s)}}),label:d.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&n.createElement(g.FormGroup,{row:!0,style:x.inputGroup},n.createElement(g.FormControlLabel,{style:x.inputDateDay,control:n.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:t.length===12,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule)),o=[];for(let r=1;r<=12;r++)o.push(r);s.period.months=JSON.stringify(o),this.onChange(s)}}),label:d.t("sch_all")}),n.createElement(g.FormControlLabel,{style:x.inputDateDay,control:n.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:!t.length,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months="[]",this.onChange(s)}}),label:d.t("sch_no_one")}),t.length!==12&&!!t.length&&n.createElement(g.FormControlLabel,{style:x.inputDateDay,control:n.createElement(g.Checkbox,{style:x.inputDateDayCheck,checked:!1,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule)),o=[],r=JSON.parse(s.period.months);for(let M=1;M<=12;M++)r.includes(M)||o.push(M);o.sort((M,a)=>M-a),s.period.months=JSON.stringify(o),this.onChange(s)}}),label:d.t("sch_invert")}),n.createElement("div",null),Js.map((s,o)=>n.createElement(g.FormControlLabel,{key:`month_${o}`,style:x.inputGroupElement,control:n.createElement(g.Checkbox,{style:x.inputSmallCheck,checked:typeof e.period.months=="string"?JSON.parse(e.period.months).includes(o+1):e.period.months===o,onChange:r=>{const M=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(M.period.months)}catch{a=[]}r.target.checked&&!a.includes(o+1)?a.push(o+1):!r.target.checked&&a.includes(o+1)&&a.splice(a.indexOf(o+1),1),a.sort((u,N)=>u-N),M.period.months=JSON.stringify(a),this.onChange(M)}}),label:d.t(s)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[n.createElement("div",{key:"year"},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:e.period.years===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=1,this.onChange(t)}}),label:d.t("sch_periodEveryYear")})),n.createElement("div",{key:"every"},n.createElement(g.FormControlLabel,{control:n.createElement(g.Radio,{style:x.inputRadio,checked:e.period.years>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=2,this.onChange(t)}}),label:d.t("sch_periodEvery")}),e.period.years>1&&[n.createElement(g.Input,{key:"input",value:this.state.schedule.period.years,style:x.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.years=parseInt(t.target.value,10),s.period.years<1&&(s.period.years=1),this.onChange(s)}}),n.createElement("span",{key:"text"},d.t("sch_periodYear"))])]}static now2string(e){const t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),`${Ve(t.getDate())}.${Ve(t.getMonth()+1)}.${Ve(t.getFullYear())}`}static string2date(e){let t=e.split(".");return t.length===1?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}getValidSettings(){const e=this.state.schedule;return n.createElement("div",{style:x.rowDiv},n.createElement("div",{style:{...x.modeDiv,verticalAlign:"middle"}},n.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},d.t("sch_valid")),n.createElement("span",null,d.t("sch_validFrom"))),n.createElement("div",{style:x.settingsDiv},n.createElement(g.TextField,{variant:"standard",style:{...x.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:Wi(e.valid.from),type:"date",onChange:t=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(s=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),r=le.string2date(s);r.toString()!=="Invalid Date"&&(o.valid.from=`${Ve(r.getDate())}.${Ve(r.getMonth()+1)}.${r.getFullYear()}`,this.onChange(o))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),n.createElement(g.FormControlLabel,{control:n.createElement(g.Checkbox,{style:x.inputRadio,checked:!!e.valid.to,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.valid.to=t.valid.to?"":le.now2string(!0),this.onChange(t)}}),label:d.t("sch_validTo")}),!!e.valid.to&&n.createElement(g.TextField,{variant:"standard",inputRef:this.refTo,style:{...x.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:Wi(e.valid.to),onChange:t=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(s=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),r=le.string2date(s);r.toString()!=="Invalid Date"&&(o.valid.to=`${Ve(r.getDate())}.${Ve(r.getMonth()+1)}.${r.getFullYear()}`,this.onChange(o))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return n.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},n.createElement("div",null,this.state.desc),n.createElement("div",{style:x.scrollWindow},n.createElement("h5",null,d.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),le.getDivider(),n.createElement("h5",null,d.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&le.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}const Bs={different:{opacity:.5},icon:{width:16,height:16,marginRight:8}};class l4e extends b.Component{wordDifferent;timeout=null;constructor(e){super(e),e.different&&(this.wordDifferent=e.t("ra___different__"));let t;Array.isArray(e.list)?t=e.list.filter(s=>(s==null?void 0:s._id)&&s.common).map(s=>{var o,r;return{name:S.getObjectNameFromObj(s,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:s._id,icon:(o=s.common)==null?void 0:o.icon,color:(r=s.common)==null?void 0:r.color}}):t=Object.values(e.list).filter(s=>(s==null?void 0:s._id)&&s.common).map(s=>{var o,r;return{name:S.getObjectNameFromObj(s,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:s._id,icon:(o=s.common)==null?void 0:o.icon,color:(r=s.common)==null?void 0:r.color}}),e.different&&e.value===e.different&&t.unshift({value:e.different,name:this.wordDifferent||""}),e.allowNone&&t.unshift({value:"",name:d.t("ra_none")}),this.state={list:t}}render(){this.props.allowNone&&!this.state.list.find(o=>o.value==="")?this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const o=JSON.parse(JSON.stringify(this.state.list));o.unshift({value:"",name:d.t("ra_none")}),this.setState({list:o})},100):!this.props.allowNone&&this.state.list.find(o=>o.value==="")&&(this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const o=JSON.parse(JSON.stringify(this.state.list)),r=this.state.list.findIndex(M=>M.value==="");o.splice(r,1),this.setState({list:o})},100));const e=this.state.list.find(o=>o.value===this.props.value||this.props.removePrefix&&o.value.replace(this.props.removePrefix,"")===this.props.value),t=this.props.value===this.props.different?{}:{color:(e==null?void 0:e.color)||void 0,backgroundColor:S.getInvertedColor((e==null?void 0:e.color)||"",this.props.themeType)};this.props.dense&&this.props.style&&Object.assign(t,this.props.style);const s=n.createElement(g.Select,{variant:"standard",disabled:this.props.disabled,value:this.props.value,slotProps:{input:this.props.inputProps},renderValue:()=>n.createElement("span",null,e!=null&&e.icon?n.createElement(Ie,{src:e==null?void 0:e.icon,style:Bs.icon}):null,e==null?void 0:e.name),sx:{"&.MuiSelect-root":this.props.value===this.props.different?Bs.different:{}},classes:{root:this.props.dense?this.props.className:""},style:t,onChange:o=>{if(this.props.different&&o.target.value!==this.props.different){let r=null;for(let M=0;Mthis.props.onChange(o.target.value));return}}this.props.onChange(this.props.removePrefix?o.target.value.replace(this.props.removePrefix,""):o.target.value)}},this.state.list.map(o=>n.createElement(g.MenuItem,{style:this.props.different&&o.value===this.props.different?Bs.different:{color:o.color||void 0,backgroundColor:S.getInvertedColor(o.color||"",this.props.themeType)},key:o.value,value:o.value},o.icon?n.createElement(Ie,{src:o.icon,style:Bs.icon}):null,o.name)));return this.props.dense?s:n.createElement(g.FormControl,{variant:"standard",fullWidth:!!this.props.fullWidth,style:this.props.style,className:this.props.className},n.createElement(g.InputLabel,null,this.props.label),s)}}class L4e extends b.Component{resizerRefTable;resizerActiveIndex;resizerActiveDiv;resizerCurrentWidths;widthFilled=!1;installTimeout=null;resizerMin=0;resizerMinNext=0;resizerPosition=0;resizerOldWidth=0;resizerOldWidthNext=0;constructor(e){super(e),this.resizerRefTable=n.createRef(),this.resizerActiveIndex=null,this.resizerActiveDiv=null,this.resizerCurrentWidths=[]}componentDidMount(){this.resizerInstall()}componentWillUnmount(){this.resizerUninstall()}resizerInstall(){if(this.resizerRefTable.current&&!this.resizerRefTable.current._installed){this.resizerRefTable.current._installed=!0;const e=this.resizerRefTable.current.querySelectorAll("th"),t=(window._localStorage||window.localStorage).getItem(`App.${this.props.name||"history"}.table`);if(this.widthFilled=!1,t)try{this.resizerCurrentWidths=JSON.parse(t),this.widthFilled=!0}catch{}if(this.widthFilled)if(this.resizerCurrentWidths.length!==e.length)this.resizerCurrentWidths=[],this.widthFilled=!1;else{const s=this.resizerRefTable.current.offsetWidth;let o=0;for(let r=0;r20&&(this.resizerCurrentWidths=[],this.widthFilled=!1)}for(let s=0;s{this.installTimeout=null,this.resizerInstall()},100)}resizerReset=()=>{for(let e=0;e{if(this.resizerActiveDiv&&this.resizerActiveIndex!==null){const t=this.resizerOldWidth+e.clientX-this.resizerPosition,s=this.resizerOldWidthNext-e.clientX+this.resizerPosition;(!this.resizerMin||t>this.resizerMin)&&(!this.resizerMinNext||s>this.resizerMinNext)&&(this.resizerCurrentWidths[this.resizerActiveIndex]=t,this.resizerCurrentWidths[this.resizerActiveIndex+1]=s,this.resizerApplyWidths())}};resizerMouseUp=()=>{(window._localStorage||window.localStorage).setItem(`App.${this.props.name||"history"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveIndex=null,this.resizerActiveDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)};resizerMouseDown=e=>{var t,s,o,r;if(this.resizerActiveIndex===null||this.resizerActiveIndex===void 0){console.log(`Mouse down ${(t=e.target)==null?void 0:t.dataset.index}`),this.resizerActiveIndex=parseInt(((s=e.target)==null?void 0:s.dataset.index)||"0",10),this.resizerActiveDiv=e.target,this.resizerMin=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex]:0,this.resizerMinNext=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex+1]:0,this.resizerPosition=e.clientX;let M;this.resizerCurrentWidths[this.resizerActiveIndex]==="auto"&&(M=(o=this.resizerRefTable.current)==null?void 0:o.querySelectorAll("th"),M&&(this.resizerCurrentWidths[this.resizerActiveIndex]=M[this.resizerActiveIndex].offsetWidth)),this.resizerCurrentWidths[this.resizerActiveIndex+1]==="auto"&&(M=M||((r=this.resizerRefTable.current)==null?void 0:r.querySelectorAll("th")),M&&(this.resizerCurrentWidths[this.resizerActiveIndex+1]=M[this.resizerActiveIndex+1].offsetWidth)),this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveIndex],this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerActiveIndex+1],window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}};render(){if(this.props.ready===!1)return n.createElement(g.Skeleton,null);const e={gridTemplateColumns:this.resizerApplyWidths()};return n.createElement(g.Table,{stickyHeader:this.props.stickyHeader,size:this.props.size||"small",className:this.props.className,sx:this.props.sx,ref:this.resizerRefTable,style:{...this.props.style||void 0,...e}},this.props.children)}}const Ri={div:{borderRadius:3,padding:"0 3px",lineHeight:"20px",whiteSpace:"nowrap",overflow:"hidden",display:"flex",alignItems:"center"},icon:{width:16,height:16,marginRight:8,verticalAlign:"middle"},text:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}};function j4e(i){var r,M,a,u,N,l,c,L,j;const e=i.value;let t;const s=i.removePrefix||"";if(typeof e=="string"){const T=i.list;if(T)if(Array.isArray(T)){const D=T.find(I=>(I==null?void 0:I._id)===s+e);D?t={name:S.getObjectNameFromObj(D,i.lang).replace("system.group.",""),value:D._id,icon:i.icon||((r=D.common)==null?void 0:r.icon),color:i.color||((M=D.common)==null?void 0:M.color)}:t={name:e,value:s+e}}else if(T[s+e]){const D=T[s+e];t={name:S.getObjectNameFromObj(D,i.lang).replace("system.group.",""),value:D._id,icon:i.icon||((a=D.common)==null?void 0:a.icon),color:i.color||((u=D.common)==null?void 0:u.color)}}else t={name:e,value:s+e,icon:i.icon,color:i.color};else t={name:e,value:s+e,icon:i.icon,color:i.color}}else if(!e||typeof e!="object")t={name:"",value:"",icon:i.icon,color:i.color};else{const T=e;t={name:S.getObjectNameFromObj(T,i.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:T._id,icon:i.icon||((N=T.common)==null?void 0:N.icon),color:i.color||((l=T.common)==null?void 0:l.color)}}const o=t!=null&&t.color?{border:`1px solid ${S.invertColor(t==null?void 0:t.color)}`,color:S.getInvertedColor(t==null?void 0:t.color,i.themeType||"light",!0)||void 0,backgroundColor:t==null?void 0:t.color}:{};return n.createElement("div",{style:{...i.style||void 0,...Ri.div,...o||void 0},className:S.clsx(i.className,(c=i.moreClasses)==null?void 0:c.root),title:i.title||t.value},t!=null&&t.icon?n.createElement(Ie,{src:t==null?void 0:t.icon,className:(L=i.moreClasses)==null?void 0:L.icon,style:Ri.icon}):null,n.createElement("div",{style:Ri.text,className:(j=i.moreClasses)==null?void 0:j.text},t==null?void 0:t.name))}function g4e({themeName:i,toggleTheme:e,t,className:s,style:o,size:r}){return n.createElement("div",{className:s||void 0,style:o||void 0},n.createElement(g.Tooltip,{title:t("ra_Change color theme"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(g.IconButton,{onClick:()=>e(),size:r||"medium"},i==="dark"&&n.createElement(m.Brightness4,{className:s}),i==="blue"&&n.createElement(m.Brightness5,{className:s}),i==="colored"&&n.createElement(m.Brightness6,{className:s}),i!=="dark"&&i!=="blue"&&i!=="colored"&&n.createElement(m.Brightness7,{className:s}))))}function wi(){return(wi=Object.assign||function(i){for(var e=1;e=0||(o[t]=i[t]);return o}function Do(i){var e=b.useRef(i),t=b.useRef(function(s){e.current&&e.current(s)});return e.current=i,t.current}var ws=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),i>t?t:i0:I.buttons>0)&&o.current?r(RM(o.current,I,a.current)):D(!1)},T=function(){return D(!1)};function D(I){var C=u.current,E=zo(o.current),A=I?E.addEventListener:E.removeEventListener;A(C?"touchmove":"mousemove",j),A(C?"touchend":"mouseup",T)}return[function(I){var C=I.nativeEvent,E=o.current;if(E&&(JM(C),!function(_,p){return p&&!ys(_)}(C,u.current)&&E)){if(ys(C)){u.current=!0;var A=C.changedTouches||[];A.length&&(a.current=A[0].identifier)}E.focus(),r(RM(E,C,a.current)),D(!0)}},function(I){var C=I.which||I.keyCode;C<37||C>40||(I.preventDefault(),M({left:C===39?.05:C===37?-.05:0,top:C===40?.05:C===38?-.05:0}))},D]},[M,r]),l=N[0],c=N[1],L=N[2];return b.useEffect(function(){return L},[L]),n.createElement("div",wi({},s,{onTouchStart:l,onMouseDown:l,className:"react-colorful__interactive",ref:o,onKeyDown:c,tabIndex:0,role:"slider"}))}),Ho=function(i){return i.filter(Boolean).join(" ")},Qa=function(i){var e=i.color,t=i.left,s=i.top,o=s===void 0?.5:s,r=Ho(["react-colorful__pointer",i.className]);return n.createElement("div",{className:r,style:{top:100*o+"%",left:100*t+"%"}},n.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},Le=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*i)/t},pNe=function(i){return SNe(Io(i))},Io=function(i){return i[0]==="#"&&(i=i.substring(1)),i.length<6?{r:parseInt(i[0]+i[0],16),g:parseInt(i[1]+i[1],16),b:parseInt(i[2]+i[2],16),a:i.length===4?Le(parseInt(i[3]+i[3],16)/255,2):1}:{r:parseInt(i.substring(0,2),16),g:parseInt(i.substring(2,4),16),b:parseInt(i.substring(4,6),16),a:i.length===8?Le(parseInt(i.substring(6,8),16)/255,2):1}},mNe=function(i){return _Ne(ENe(i))},ONe=function(i){var e=i.s,t=i.v,s=i.a,o=(200-e)*t/100;return{h:Le(i.h),s:Le(o>0&&o<200?e*t/100/(o<=100?o:200-o)*100:0),l:Le(o/2),a:Le(s,2)}},wo=function(i){var e=ONe(i);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},ENe=function(i){var e=i.h,t=i.s,s=i.v,o=i.a;e=e/360*6,t/=100,s/=100;var r=Math.floor(e),M=s*(1-t),a=s*(1-(e-r)*t),u=s*(1-(1-e+r)*t),N=r%6;return{r:Le(255*[s,a,M,M,u,s][N]),g:Le(255*[u,s,s,a,M,M][N]),b:Le(255*[M,M,u,s,s,a][N]),a:Le(o,2)}},Fs=function(i){var e=i.toString(16);return e.length<2?"0"+e:e},_Ne=function(i){var e=i.r,t=i.g,s=i.b,o=i.a,r=o<1?Fs(Le(255*o)):"";return"#"+Fs(e)+Fs(t)+Fs(s)+r},SNe=function(i){var e=i.r,t=i.g,s=i.b,o=i.a,r=Math.max(e,t,s),M=r-Math.min(e,t,s),a=M?r===e?(t-s)/M:r===t?2+(s-e)/M:4+(e-t)/M:0;return{h:Le(60*(a<0?a+6:a)),s:Le(r?M/r*100:0),v:Le(r/255*100),a:o}},xNe=n.memo(function(i){var e=i.hue,t=i.onChange,s=Ho(["react-colorful__hue",i.className]);return n.createElement("div",{className:s},n.createElement(Ya,{onMove:function(o){t({h:360*o.left})},onKey:function(o){t({h:ws(e+360*o.left,0,360)})},"aria-label":"Hue","aria-valuenow":Le(e),"aria-valuemax":"360","aria-valuemin":"0"},n.createElement(Qa,{className:"react-colorful__hue-pointer",left:e/360,color:wo({h:e,s:100,v:100,a:1})})))}),fNe=n.memo(function(i){var e=i.hsva,t=i.onChange,s={backgroundColor:wo({h:e.h,s:100,v:100,a:1})};return n.createElement("div",{className:"react-colorful__saturation",style:s},n.createElement(Ya,{onMove:function(o){t({s:100*o.left,v:100-100*o.top})},onKey:function(o){t({s:ws(e.s+100*o.left,0,100),v:ws(e.v-100*o.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Le(e.s)+"%, Brightness "+Le(e.v)+"%"},n.createElement(Qa,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:wo(e)})))}),Ua=function(i,e){if(i===e)return!0;for(var t in i)if(i[t]!==e[t])return!1;return!0},kNe=function(i,e){return i.toLowerCase()===e.toLowerCase()||Ua(Io(i),Io(e))};function YNe(i,e,t){var s=Do(t),o=b.useState(function(){return i.toHsva(e)}),r=o[0],M=o[1],a=b.useRef({color:e,hsva:r});b.useEffect(function(){if(!i.equal(e,a.current.color)){var N=i.toHsva(e);a.current={hsva:N,color:e},M(N)}},[e,i]),b.useEffect(function(){var N;Ua(r,a.current.hsva)||i.equal(N=i.fromHsva(r),a.current.color)||(a.current={hsva:r,color:N},s(N))},[r,i,s]);var u=b.useCallback(function(N){M(function(l){return Object.assign({},l,N)})},[]);return[r,u]}var QNe=typeof window<"u"?b.useLayoutEffect:b.useEffect,UNe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},BM=new Map,vNe=function(i){QNe(function(){var e=i.current?i.current.ownerDocument:document;if(e!==void 0&&!BM.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,BM.set(e,t);var s=UNe();s&&t.setAttribute("nonce",s),e.head.appendChild(t)}},[])},bNe=function(i){var e=i.className,t=i.colorModel,s=i.color,o=s===void 0?t.defaultColor:s,r=i.onChange,M=ka(i,["className","colorModel","color","onChange"]),a=b.useRef(null);vNe(a);var u=YNe(t,o,r),N=u[0],l=u[1],c=Ho(["react-colorful",e]);return n.createElement("div",wi({},M,{ref:a,className:c}),n.createElement(fNe,{hsva:N,onChange:l}),n.createElement(xNe,{hue:N.h,onChange:l,className:"react-colorful__last-control"}))},$Ne={defaultColor:"000",toHsva:pNe,fromHsva:function(i){return mNe({h:i.h,s:i.s,v:i.v,a:1})},equal:kNe},PNe=function(i){return n.createElement(bNe,wi({},i,{colorModel:$Ne}))};class WNe extends b.Component{dialogName;filters;filterFunc;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters||{}});let s=this.props.selected||[];if(Array.isArray(s)||(s=[s]),s=s.filter(o=>o),e.filterFunc)if(typeof e.filterFunc=="string")try{this.filterFunc=new Function("obj",e.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${e.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=e.filterFunc;this.state={selected:s,name:"",selectionBlocked:!1}}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 e;return this.state.name||this.state.selected.length?this.state.selected.length===1?e=[n.createElement("span",{key:"selected"},d.t("ra_Selected")," "),n.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:e=[n.createElement("span",{key:"selected"},d.t("ra_Selected")," "),n.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},d.t("%s items",this.state.selected.length.toString()))]:e=this.props.title||d.t("ra_Please select object ID..."),n.createElement(g.Dialog,{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"},n.createElement(g.DialogTitle,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),n.createElement(g.DialogContent,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},n.createElement(ANe,{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,allowNonObjects:this.props.allowNonObjects,onFilterChanged:t=>{this.filters=t,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(t))},onSelect:async(t,s,o)=>{let r;if(Array.isArray(t)?r=t:r=[t],JSON.stringify(r)!==JSON.stringify(this.state.selected)){let M=!0;if(this.props.onSelectConfirm){const a={};for(const u of r)try{a[u]=await this.props.socket.getObject(u)}catch{}M=await this.props.onSelectConfirm(r,a)}this.setState({selected:r,name:s,selectionBlocked:!M},()=>o&&this.handleOk())}else o&&this.handleOk()},filterFunc:this.filterFunc,title:"",classes:{}})),n.createElement(g.DialogActions,null,n.createElement(g.Button,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:n.createElement(m.Check,null),disabled:!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||d.t("ra_Ok")),n.createElement(g.Button,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}function lt(i,e,t){if(typeof e=="string"&&(e=e.split(".")),!i)return null;if(e.length===1)return t&&t[i[e[0]]]?t[i[e[0]]]:i[e[0]];const s=e.shift();return lt(i[s],e)}function va(i,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length===1)return i[e[0]]=t;const s=e.shift();return(i[s]===null||i[s]===void 0)&&(i[s]={}),va(i[s],e,t)}const W={tableContainer:{width:"100%",height:"100%",overflow:"auto"},table:{width:"100%",minWidth:800,maxWidth:1920},cell:{paddingTop:0,paddingBottom:0,paddingLeft:4,paddingRight:4},rowMainWithChildren:{},rowMainWithoutChildren:{},rowNoEdit:{opacity:.3},cellExpand:{width:30},cellButton:{width:30},cellHeader:{fontWeight:"bold",background:i=>(i.palette.mode==="dark","#888"),color:i=>i.palette.mode==="dark"?"#EEE":"#111",height:48,wordBreak:"break-word",whiteSpace:"pre"},width_name_nicknames:{maxWidth:150},width_ioType:{maxWidth:100},width_type:{maxWidth:100},width_displayTraits:{maxWidth:100},width_roomHint:{maxWidth:100},rowSecondary:{fontStyle:"italic"},cellSecondary:{fontSize:10},visuallyHidden:{border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",top:20,width:1},fieldEditWithButton:{width:"calc(100% - 33px)",display:"inline-block"},fieldEdit:{width:"100%",display:"inline-block",lineHeight:"50px",verticalAlign:"middle"},fieldButton:{width:30,display:"inline-block"},colorDialog:{overflow:"hidden",padding:15},subText:{fontSize:10,fontStyle:"italic"},glow:{animation:"glow 0.2s 2 alternate"}};function FM(i,e,t,s){const o=lt(i,t,s)||"",r=lt(e,t,s)||"";return ro?1:0}function RNe(i,e,t){return i==="desc"?(s,o)=>FM(s,o,e,t):(s,o)=>-FM(s,o,e,t)}function JNe(i,e){const t=i.map((s,o)=>({e:s,i:o}));return t.sort((s,o)=>{const r=e(s.e,o.e);return r||s.i-o.i}),t.map(s=>s.e)}class Co extends b.Component{selectCallback=null;updateTimeout=null;constructor(e){super(e);let t=(window._localStorage||window.localStorage).getItem(this.props.name||"iob-table")||"[]";try{t=JSON.parse(t)||[]}catch{t=[]}Array.isArray(t)||(t=[]),this.state={opened:t,editMode:!1,deleteMode:!1,editData:null,order:"asc",update:null,orderBy:this.props.columns[0].field,showSelectColor:!1}}static getDerivedStateFromProps(e,t){if(e.glowOnChange){const s=[];let o=0;return e.data&&t.data&&e.data.forEach(r=>{var a;o++;const M=(a=t.data)==null?void 0:a.find(u=>u.id===r.id);M?JSON.stringify(M)!==JSON.stringify(r)&&s.push(r.id):s.push(r.id)}),s.length&&s.length!==o?{data:e.data,update:s}:{data:e.data}}return{data:e.data}}renderCellEdit(e,t){let s=lt(e,t.field);return Array.isArray(s)&&(s=s[0]),t.lookup?this.renderCellEditSelect(t,s):t.editComponent?this.renderCellEditCustom(t,s,e):t.type==="boolean"||!t.type&&typeof s=="boolean"?this.renderCellEditBoolean(t,s):t.type==="color"?this.renderCellEditColor(t,s):t.type==="oid"?this.renderCellEditObjectID(t,s):t.type==="numeric"?this.renderCellEditNumber(t,s):this.renderCellEditString(t,s)}onChange(e,t,s){const o=this.state.editData?{...this.state.editData}:{};s===t?delete o[e.field]:o[e.field]=s,this.setState({editData:o})}renderCellEditSelect(e,t){return n.createElement(g.Select,{variant:"standard",onChange:s=>this.onChange(e,t,s.target.value),value:this.state.editData&&this.state.editData[e.field]||t},e.lookup&&Object.keys(e.lookup).map((s,o)=>{var r;return n.createElement(g.MenuItem,{key:o,value:s},(r=e.lookup)==null?void 0:r[s])}))}renderCellEditString(e,t){return n.createElement(g.TextField,{variant:"standard",style:W.fieldEdit,fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)})}renderCellEditNumber(e,t){return n.createElement(g.TextField,{variant:"standard",style:W.fieldEdit,type:"number",fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)})}renderCellEditCustom(e,t,s){const o=e.editComponent;return this.state.editData&&this.state.editData[e.field]!==void 0&&(t=this.state.editData[e.field],s=JSON.parse(JSON.stringify(s)),s[e.field]=t),o?n.createElement(o,{value:t,rowData:s,onChange:r=>this.onChange(e,t,r)}):null}renderCellEditBoolean(e,t){return n.createElement(g.Checkbox,{checked:this.state.editData&&this.state.editData[e.field]!==void 0?!!this.state.editData[e.field]:!!t,onChange:s=>this.onChange(e,!!t,s.target.checked),inputProps:{"aria-label":"checkbox"}})}renderSelectColorDialog(){return n.createElement(g.Dialog,{sx:{"& .MuiPaper-root":W.root,"& .MuiPaper-paper":W.paper},onClose:()=>{this.selectCallback=null,this.setState({showSelectColor:!1})},open:this.state.showSelectColor},n.createElement(PNe,{color:this.state.selectIdValue,onChange:e=>this.setState({selectIdValue:e},()=>{this.selectCallback&&this.selectCallback(e)})}))}renderCellEditColor(e,t){const s=this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t;return n.createElement("div",{style:W.fieldEdit},n.createElement(g.TextField,{variant:"standard",fullWidth:!0,style:W.fieldEditWithButton,value:s,inputProps:{style:{backgroundColor:s,color:S.isUseBright(s)?"#FFF":"#000"}},onChange:o=>this.onChange(e,!!t,o.target.value)}),n.createElement(g.IconButton,{style:W.fieldButton,onClick:()=>{this.selectCallback=o=>this.onChange(e,t,o),this.setState({showSelectColor:!0,selectIdValue:t})},size:"large"},n.createElement(m.Colorize,null)))}renderSelectIdDialog(){return this.state.showSelectId&&this.props.socket?n.createElement(WNe,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.adapterName,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,selected:this.state.selectIdValue,onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1,selectIdValue:null});const t=Array.isArray(e)?e[0]:e;t&&this.selectCallback&&(this.selectCallback&&this.selectCallback(t),this.selectCallback=null)}}):null}renderCellEditObjectID(e,t){return n.createElement("div",{style:W.fieldEdit},n.createElement(g.TextField,{variant:"standard",fullWidth:!0,style:W.fieldEditWithButton,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)}),n.createElement(g.IconButton,{style:W.fieldButton,onClick:()=>{this.selectCallback=s=>this.onChange(e,t,s),this.setState({showSelectId:!0,selectIdValue:t})},size:"large"},n.createElement(m.ViewHeadline,null)))}static renderCellNonEdit(e,t){let s=lt(e,t.field,t.lookup);return Array.isArray(s)&&(s=s[0]),t.type==="boolean"?n.createElement(g.Checkbox,{checked:!!s,disabled:!0,inputProps:{"aria-label":"checkbox"}}):s}renderCell(e,t,s,o){return this.state.editMode===o&&t.editable!=="never"&&t.editable!==!1?n.createElement(g.TableCell,{key:t.field,style:{...W.cell,...s?W.cellSecondary:void 0,...t.cellStyle},component:"th"},this.renderCellEdit(e,t)):n.createElement(g.TableCell,{key:t.field,style:{...W.cell,...s?W.cellSecondary:void 0,...t.cellStyle},component:"th"},Co.renderCellNonEdit(e,t))}static renderCellWithSubField(e,t){const s=lt(e,t.field,t.lookup);if(t.subField){const o=lt(e,t.subField,t.subLookup);return n.createElement("div",null,n.createElement("div",{style:W.mainText},s),n.createElement("div",{style:{...W.subText,...t.subStyle||void 0}},o))}return n.createElement("div",null,n.createElement("div",{style:W.mainText},s))}renderLine(e,t){const s=this.props.levelShift===void 0?24:this.props.levelShift;t=t||0;const o=this.props.data.indexOf(e);if(!e||!t&&e.parentId||t&&!e.parentId)return null;const r=this.state.opened.includes(e.id),M=this.props.data.filter(u=>u.parentId===e.id),a=n.createElement(g.TableRow,{key:e.id,className:`table-row-${(e.id||"").toString().replace(/[.$]/g,"_")}`,style:{...this.state.update&&this.state.update.includes(e.id)&&W.glow||void 0,...W.row,...t?W.rowSecondary:void 0,...!t&&M.length?W.rowMainWithChildren:void 0,...!t&&!M.length?W.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==o?W.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==o?W.rowNoEdit:void 0}},n.createElement(g.TableCell,{style:{...W.cell,...W.cellExpand,...t?W.cellSecondary:void 0}},M.length?n.createElement(g.IconButton,{onClick:()=>{const u=[...this.state.opened],N=u.indexOf(e.id);N===-1?(u.push(e.id),u.sort()):u.splice(N,1),(window._localStorage||window.localStorage).setItem(this.props.name||"iob-table",JSON.stringify(u)),this.setState({opened:u})},size:"small"},r?n.createElement(m.ExpandMore,null):n.createElement(m.NavigateNext,null)):null),n.createElement(g.TableCell,{scope:"row",style:{...W.cell,...t?W.cellSecondary:void 0,...this.props.columns[0].cellStyle,paddingLeft:s*t}},this.props.columns[0].subField?Co.renderCellWithSubField(e,this.props.columns[0]):lt(e,this.props.columns[0].field,this.props.columns[0].lookup)),this.props.columns.map((u,N)=>!N&&!u.hidden?null:this.renderCell(e,u,t,o)),this.props.onUpdate?n.createElement(g.TableCell,{style:{...W.cell,...W.cellButton}},this.state.editMode===o||this.state.deleteMode===o?n.createElement(g.IconButton,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>{if(this.state.editMode!==!1){const u=JSON.parse(JSON.stringify(e));this.state.editData&&Object.keys(this.state.editData).forEach(N=>{var l;return va(u,N,(l=this.state.editData)==null?void 0:l[N])}),this.setState({editMode:!1},()=>this.props.onUpdate&&this.props.onUpdate(u,e))}else this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e))},size:"large"},n.createElement(m.Check,null)):n.createElement(g.IconButton,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:o,editData:null}),size:"large"},n.createElement(m.Edit,null))):null,this.props.onDelete&&!this.props.onUpdate?n.createElement(g.TableCell,{style:{...W.cell,...W.cellButton}},this.state.deleteMode===o?n.createElement(g.IconButton,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e)),size:"large"},n.createElement(m.Check,null)):null):null,this.props.onUpdate||this.props.onDelete?n.createElement(g.TableCell,{style:{...W.cell,...W.cellButton}},this.state.editMode===o||this.state.deleteMode===o?n.createElement(g.IconButton,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),size:"large"},n.createElement(m.Close,null)):this.props.onDelete?n.createElement(g.IconButton,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:o}),size:"large"},n.createElement(m.Delete,null)):null):null);if(!t&&r){const u=M.map(N=>this.renderLine(N,t+1));return u.unshift(a),u}return a}handleRequestSort(e){const t=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:t?"desc":"asc",orderBy:e})}renderHead(){return n.createElement(g.TableHead,null,n.createElement(g.TableRow,{key:"headerRow"},n.createElement(g.TableCell,{component:"th",sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellExpand)}),n.createElement(g.TableCell,{component:"th",sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W[`width_${this.props.columns[0].field.replace(/\./g,"_")}`]),style:this.props.columns[0].headerStyle||this.props.columns[0].cellStyle,sortDirection:this.props.noSort?!1:this.state.orderBy===this.props.columns[0].field?this.state.order:!1},this.props.noSort?null:n.createElement(g.TableSortLabel,{active:this.state.orderBy===this.props.columns[0].field,direction:this.state.orderBy===this.props.columns[0].field?this.state.order:"asc",onClick:()=>this.handleRequestSort(this.props.columns[0].field)},this.props.columns[0].title||this.props.columns[0].field,this.state.orderBy===this.props.columns[0].field?n.createElement("span",{style:W.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null)),this.props.columns.map((e,t)=>!t&&!e.hidden?null:n.createElement(g.TableCell,{key:e.field,sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W[`width_${e.field.replace(/\./g,"_")}`]),style:e.headerStyle||e.cellStyle,component:"th"},this.props.noSort?null:n.createElement(g.TableSortLabel,{active:this.state.orderBy===e.field,direction:this.state.orderBy===e.field?this.state.order:"asc",onClick:()=>this.handleRequestSort(e.field)},e.title||e.field,this.state.orderBy===e.field?n.createElement("span",{style:W.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null))),this.props.onUpdate?n.createElement(g.TableCell,{component:"th",sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellButton)},this.props.noAdd?null:n.createElement(g.Fab,{color:"primary",size:"small",disabled:this.state.editMode!==!1,onClick:()=>this.props.onUpdate&&this.props.onUpdate(!0)},n.createElement(m.Add,null))):null,this.props.onDelete||this.props.onUpdate?n.createElement(g.TableCell,{component:"th",sx:S.getStyle(this.props.theme,W.cell,W.cellHeader,W.cellButton)}):null))}render(){const e=this.props.columns.find(t=>t.field===this.state.orderBy);if(e){const t=e.lookup,s=JNe(this.props.data,RNe(this.state.order,this.state.orderBy,t));return this.state.update&&this.state.update.length&&(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=null,this.setState({update:null})},500)),n.createElement("div",{style:W.tableContainer,className:this.props.className},n.createElement(g.Table,{style:W.table,"aria-label":"simple table",size:"small",stickyHeader:!0},this.renderHead(),n.createElement(g.TableBody,null,s.map(o=>this.renderLine(o)))),this.renderSelectIdDialog(),this.renderSelectColorDialog())}return null}}/*! * Cropper.js v1.6.2 * https://fengyuanchen.github.io/cropperjs * @@ -461,8 +461,8 @@ body { * Released under the MIT license * * Date: 2024-04-21T07:43:05.335Z - */function BM(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(i);e&&(s=s.filter(function(o){return Object.getOwnPropertyDescriptor(i,o).enumerable})),t.push.apply(t,s)}return t}function Ua(i){for(var e=1;ei.length)&&(e=i.length);for(var t=0,s=new Array(e);t
',Mle=Number.isNaN||Fe.isNaN;function H(i){return typeof i=="number"&&!Mle(i)}var rn=function(e){return e>0&&e<1/0};function Ji(i){return typeof i>"u"}function ft(i){return ho(i)==="object"&&i!==null}var nle=Object.prototype.hasOwnProperty;function Bt(i){if(!ft(i))return!1;try{var e=i.constructor,t=e.prototype;return e&&t&&nle.call(t,"isPrototypeOf")}catch{return!1}}function pe(i){return typeof i=="function"}var ale=Array.prototype.slice;function Ga(i){return Array.from?Array.from(i):ale.call(i)}function ae(i,e){return i&&pe(e)&&(Array.isArray(i)||H(i.length)?Ga(i).forEach(function(t,s){e.call(i,t,s,i)}):ft(i)&&Object.keys(i).forEach(function(t){e.call(i,i[t],t,i)})),i}var ie=Object.assign||function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),o=1;o0&&s.forEach(function(r){ft(r)&&Object.keys(r).forEach(function(M){e[M]=r[M]})}),e},cle=/\.\d*(?:0|9){12}\d*$/;function Ht(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return cle.test(i)?Math.round(i*e)/e:i}var ule=/^width|height|left|top|marginLeft|marginTop$/;function jt(i,e){var t=i.style;ae(e,function(s,o){ule.test(o)&&H(s)&&(s="".concat(s,"px")),t[o]=s})}function Nle(i,e){return i.classList?i.classList.contains(e):i.className.indexOf(e)>-1}function ce(i,e){if(e){if(H(i.length)){ae(i,function(s){ce(s,e)});return}if(i.classList){i.classList.add(e);return}var t=i.className.trim();t?t.indexOf(e)<0&&(i.className="".concat(t," ").concat(e)):i.className=e}}function Be(i,e){if(e){if(H(i.length)){ae(i,function(t){Be(t,e)});return}if(i.classList){i.classList.remove(e);return}i.className.indexOf(e)>=0&&(i.className=i.className.replace(e,""))}}function Ft(i,e,t){if(e){if(H(i.length)){ae(i,function(s){Ft(s,e,t)});return}t?ce(i,e):Be(i,e)}}var lle=/([a-z\d])([A-Z])/g;function qo(i){return i.replace(lle,"$1-$2").toLowerCase()}function fo(i,e){return ft(i[e])?i[e]:i.dataset?i.dataset[e]:i.getAttribute("data-".concat(qo(e)))}function hs(i,e,t){ft(t)?i[e]=t:i.dataset?i.dataset[e]=t:i.setAttribute("data-".concat(qo(e)),t)}function Lle(i,e){if(ft(i[e]))try{delete i[e]}catch{i[e]=void 0}else if(i.dataset)try{delete i.dataset[e]}catch{i.dataset[e]=void 0}else i.removeAttribute("data-".concat(qo(e)))}var Ha=/\s\s*/,Va=function(){var i=!1;if(Ci){var e=!1,t=function(){},s=Object.defineProperty({},"once",{get:function(){return i=!0,e},set:function(r){e=r}});Fe.addEventListener("test",t,s),Fe.removeEventListener("test",t,s)}return i}();function Ue(i,e,t){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=t;e.trim().split(Ha).forEach(function(r){if(!Va){var M=i.listeners;M&&M[r]&&M[r][t]&&(o=M[r][t],delete M[r][t],Object.keys(M[r]).length===0&&delete M[r],Object.keys(M).length===0&&delete i.listeners)}i.removeEventListener(r,o,s)})}function Se(i,e,t){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=t;e.trim().split(Ha).forEach(function(r){if(s.once&&!Va){var M=i.listeners,n=M===void 0?{}:M;o=function(){delete n[r][t],i.removeEventListener(r,o,s);for(var N=arguments.length,l=new Array(N),c=0;cMath.abs(t)&&(t=L)})}),t}function Hs(i,e){var t=i.pageX,s=i.pageY,o={endX:t,endY:s};return e?o:Ua({startX:t,startY:s},o)}function Tle(i){var e=0,t=0,s=0;return ae(i,function(o){var r=o.startX,M=o.startY;e+=r,t+=M,s+=1}),e/=s,t/=s,{pageX:e,pageY:t}}function gt(i){var e=i.aspectRatio,t=i.height,s=i.width,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",r=rn(s),M=rn(t);if(r&&M){var n=t*e;o==="contain"&&n>s||o==="cover"&&n90?{width:u,height:n}:{width:n,height:u}}function Dle(i,e,t,s){var o=e.aspectRatio,r=e.naturalWidth,M=e.naturalHeight,n=e.rotate,u=n===void 0?0:n,N=e.scaleX,l=N===void 0?1:N,c=e.scaleY,L=c===void 0?1:c,j=t.aspectRatio,T=t.naturalWidth,D=t.naturalHeight,z=s.fillColor,h=z===void 0?"transparent":z,O=s.imageSmoothingEnabled,p=O===void 0?!0:O,E=s.imageSmoothingQuality,C=E===void 0?"low":E,I=s.maxWidth,_=I===void 0?1/0:I,k=s.maxHeight,f=k===void 0?1/0:k,P=s.minWidth,Y=P===void 0?0:P,V=s.minHeight,oe=V===void 0?0:V,F=document.createElement("canvas"),G=F.getContext("2d"),ue=gt({aspectRatio:j,width:_,height:f}),ke=gt({aspectRatio:j,width:Y,height:oe},"cover"),Ye=Math.min(ue.width,Math.max(ke.width,T)),Qt=Math.min(ue.height,Math.max(ke.height,D)),hi=gt({aspectRatio:o,width:_,height:f}),is=gt({aspectRatio:o,width:Y,height:oe},"cover"),os=Math.min(hi.width,Math.max(is.width,r)),rs=Math.min(hi.height,Math.max(is.height,M)),_s=[-os/2,-rs/2,os,rs];return F.width=Ht(Ye),F.height=Ht(Qt),G.fillStyle=h,G.fillRect(0,0,Ye,Qt),G.save(),G.translate(Ye/2,Qt/2),G.rotate(u*Math.PI/180),G.scale(l,L),G.imageSmoothingEnabled=p,G.imageSmoothingQuality=C,G.drawImage.apply(G,[i].concat(ba(_s.map(function(Ss){return Math.floor(Ht(Ss))})))),G.restore(),F}var Xa=String.fromCharCode;function dle(i,e,t){var s="";t+=e;for(var o=e;o0;)t.push(Xa.apply(null,Ga(o.subarray(0,s)))),o=o.subarray(s);return"data:".concat(e,";base64,").concat(btoa(t.join("")))}function Cle(i){var e=new DataView(i),t;try{var s,o,r;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var M=e.byteLength,n=2;n+1=8&&(r=N+c)}}}if(r){var L=e.getUint16(r,s),j,T;for(T=0;T=0?r:Ba),height:Math.max(s.offsetHeight,M>=0?M:Fa)};this.containerData=n,jt(o,{width:n.width,height:n.height}),ce(e,me),Be(o,me)},initCanvas:function(){var e=this.containerData,t=this.imageData,s=this.options.viewMode,o=Math.abs(t.rotate)%180===90,r=o?t.naturalHeight:t.naturalWidth,M=o?t.naturalWidth:t.naturalHeight,n=r/M,u=e.width,N=e.height;e.height*n>e.width?s===3?u=e.height*n:N=e.width/n:s===3?N=e.width/n:u=e.height*n;var l={aspectRatio:n,naturalWidth:r,naturalHeight:M,width:u,height:N};this.canvasData=l,this.limited=s===1||s===2,this.limitCanvas(!0,!0),l.width=Math.min(Math.max(l.width,l.minWidth),l.maxWidth),l.height=Math.min(Math.max(l.height,l.minHeight),l.maxHeight),l.left=(e.width-l.width)/2,l.top=(e.height-l.height)/2,l.oldLeft=l.left,l.oldTop=l.top,this.initialCanvasData=ie({},l)},limitCanvas:function(e,t){var s=this.options,o=this.containerData,r=this.canvasData,M=this.cropBoxData,n=s.viewMode,u=r.aspectRatio,N=this.cropped&&M;if(e){var l=Number(s.minCanvasWidth)||0,c=Number(s.minCanvasHeight)||0;n>1?(l=Math.max(l,o.width),c=Math.max(c,o.height),n===3&&(c*u>l?l=c*u:c=l/u)):n>0&&(l?l=Math.max(l,N?M.width:0):c?c=Math.max(c,N?M.height:0):N&&(l=M.width,c=M.height,c*u>l?l=c*u:c=l/u));var L=gt({aspectRatio:u,width:l,height:c});l=L.width,c=L.height,r.minWidth=l,r.minHeight=c,r.maxWidth=1/0,r.maxHeight=1/0}if(t)if(n>(N?0:1)){var j=o.width-r.width,T=o.height-r.height;r.minLeft=Math.min(0,j),r.minTop=Math.min(0,T),r.maxLeft=Math.max(0,j),r.maxTop=Math.max(0,T),N&&this.limited&&(r.minLeft=Math.min(M.left,M.left+(M.width-r.width)),r.minTop=Math.min(M.top,M.top+(M.height-r.height)),r.maxLeft=M.left,r.maxTop=M.top,n===2&&(r.width>=o.width&&(r.minLeft=Math.min(0,j),r.maxLeft=Math.max(0,j)),r.height>=o.height&&(r.minTop=Math.min(0,T),r.maxTop=Math.max(0,T))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=o.width,r.maxTop=o.height},renderCanvas:function(e,t){var s=this.canvasData,o=this.imageData;if(t){var r=yle({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),M=r.width,n=r.height,u=s.width*(M/s.naturalWidth),N=s.height*(n/s.naturalHeight);s.left-=(u-s.width)/2,s.top-=(N-s.height)/2,s.width=u,s.height=N,s.aspectRatio=M/n,s.naturalWidth=M,s.naturalHeight=n,this.limitCanvas(!0,!1)}(s.width>s.maxWidth||s.widths.maxHeight||s.heightt.width?r.height=r.width/s:r.width=r.height*s),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*o),r.height=Math.max(r.minHeight,r.height*o),r.left=t.left+(t.width-r.width)/2,r.top=t.top+(t.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=ie({},r)},limitCropBox:function(e,t){var s=this.options,o=this.containerData,r=this.canvasData,M=this.cropBoxData,n=this.limited,u=s.aspectRatio;if(e){var N=Number(s.minCropBoxWidth)||0,l=Number(s.minCropBoxHeight)||0,c=n?Math.min(o.width,r.width,r.width+r.left,o.width-r.left):o.width,L=n?Math.min(o.height,r.height,r.height+r.top,o.height-r.top):o.height;N=Math.min(N,o.width),l=Math.min(l,o.height),u&&(N&&l?l*u>N?l=N/u:N=l*u:N?l=N/u:l&&(N=l*u),L*u>c?L=c/u:c=L*u),M.minWidth=Math.min(N,c),M.minHeight=Math.min(l,L),M.maxWidth=c,M.maxHeight=L}t&&(n?(M.minLeft=Math.max(0,r.left),M.minTop=Math.max(0,r.top),M.maxLeft=Math.min(o.width,r.left+r.width)-M.width,M.maxTop=Math.min(o.height,r.top+r.height)-M.height):(M.minLeft=0,M.minTop=0,M.maxLeft=o.width-M.width,M.maxTop=o.height-M.height))},renderCropBox:function(){var e=this.options,t=this.containerData,s=this.cropBoxData;(s.width>s.maxWidth||s.widths.maxHeight||s.height=t.width&&s.height>=t.height?Pa:Xo),jt(this.cropBox,ie({width:s.width,height:s.height},Ds({translateX:s.left,translateY:s.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Vt(this.element,Oo,this.getData())}},ple={initPreview:function(){var e=this.element,t=this.crossOrigin,s=this.options.preview,o=t?this.crossOriginUrl:this.url,r=e.alt||"The image to preview",M=document.createElement("img");if(t&&(M.crossOrigin=t),M.src=o,M.alt=r,this.viewBox.appendChild(M),this.viewBoxImage=M,!!s){var n=s;typeof s=="string"?n=e.ownerDocument.querySelectorAll(s):s.querySelector&&(n=[s]),this.previews=n,ae(n,function(u){var N=document.createElement("img");hs(u,Gs,{width:u.offsetWidth,height:u.offsetHeight,html:u.innerHTML}),t&&(N.crossOrigin=t),N.src=o,N.alt=r,N.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;"',u.innerHTML="",u.appendChild(N)})}},resetPreview:function(){ae(this.previews,function(e){var t=fo(e,Gs);jt(e,{width:t.width,height:t.height}),e.innerHTML=t.html,Lle(e,Gs)})},preview:function(){var e=this.imageData,t=this.canvasData,s=this.cropBoxData,o=s.width,r=s.height,M=e.width,n=e.height,u=s.left-t.left-e.left,N=s.top-t.top-e.top;!this.cropped||this.disabled||(jt(this.viewBoxImage,ie({width:M,height:n},Ds(ie({translateX:-u,translateY:-N},e)))),ae(this.previews,function(l){var c=fo(l,Gs),L=c.width,j=c.height,T=L,D=j,z=1;o&&(z=L/o,D=r*z),r&&D>j&&(z=j/r,T=o*z,D=j),jt(l,{width:T,height:D}),jt(l.getElementsByTagName("img")[0],ie({width:M*z,height:n*z},Ds(ie({translateX:-u*z,translateY:-N*z},e))))}))}},mle={bind:function(){var e=this.element,t=this.options,s=this.cropper;pe(t.cropstart)&&Se(e,So,t.cropstart),pe(t.cropmove)&&Se(e,_o,t.cropmove),pe(t.cropend)&&Se(e,Eo,t.cropend),pe(t.crop)&&Se(e,Oo,t.crop),pe(t.zoom)&&Se(e,xo,t.zoom),Se(s,ZM,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&Se(s,tn,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Se(s,VM,this.onDblclick=this.dblclick.bind(this)),Se(e.ownerDocument,XM,this.onCropMove=this.cropMove.bind(this)),Se(e.ownerDocument,KM,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&Se(window,en,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,s=this.cropper;pe(t.cropstart)&&Ue(e,So,t.cropstart),pe(t.cropmove)&&Ue(e,_o,t.cropmove),pe(t.cropend)&&Ue(e,Eo,t.cropend),pe(t.crop)&&Ue(e,Oo,t.crop),pe(t.zoom)&&Ue(e,xo,t.zoom),Ue(s,ZM,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Ue(s,tn,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Ue(s,VM,this.onDblclick),Ue(e.ownerDocument,XM,this.onCropMove),Ue(e.ownerDocument,KM,this.onCropEnd),t.responsive&&Ue(window,en,this.onResize)}},Ole={resize:function(){if(!this.disabled){var e=this.options,t=this.container,s=this.containerData,o=t.offsetWidth/s.width,r=t.offsetHeight/s.height,M=Math.abs(o-1)>Math.abs(r-1)?o:r;if(M!==1){var n,u;e.restore&&(n=this.getCanvasData(),u=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(ae(n,function(N,l){n[l]=N*M})),this.setCropBoxData(ae(u,function(N,l){u[l]=N*M})))}}},dblclick:function(){this.disabled||this.options.dragMode===Ja||this.setDragMode(Nle(this.dragBox,po)?Ra:Ko)},wheel:function(e){var t=this,s=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),e.deltaY?o=e.deltaY>0?1:-1:e.wheelDelta?o=-e.wheelDelta/120:e.detail&&(o=e.detail>0?1:-1),this.zoom(-o*s,e)))},cropStart:function(e){var t=e.buttons,s=e.button;if(!(this.disabled||(e.type==="mousedown"||e.type==="pointerdown"&&e.pointerType==="mouse")&&(H(t)&&t!==1||H(s)&&s!==0||e.ctrlKey))){var o=this.options,r=this.pointers,M;e.changedTouches?ae(e.changedTouches,function(n){r[n.identifier]=Hs(n)}):r[e.pointerId||0]=Hs(e),Object.keys(r).length>1&&o.zoomable&&o.zoomOnTouch?M=Wa:M=fo(e.target,Cs),tle.test(M)&&Vt(this.element,So,{originalEvent:e,action:M})!==!1&&(e.preventDefault(),this.action=M,this.cropping=!1,M===$a&&(this.cropping=!0,ce(this.dragBox,ui)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var s=this.pointers;e.preventDefault(),Vt(this.element,_o,{originalEvent:e,action:t})!==!1&&(e.changedTouches?ae(e.changedTouches,function(o){ie(s[o.identifier]||{},Hs(o,!0))}):ie(s[e.pointerId||0]||{},Hs(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,s=this.pointers;e.changedTouches?ae(e.changedTouches,function(o){delete s[o.identifier]}):delete s[e.pointerId||0],t&&(e.preventDefault(),Object.keys(s).length||(this.action=""),this.cropping&&(this.cropping=!1,Ft(this.dragBox,ui,this.cropped&&this.options.modal)),Vt(this.element,Eo,{originalEvent:e,action:t}))}}},Ele={change:function(e){var t=this.options,s=this.canvasData,o=this.containerData,r=this.cropBoxData,M=this.pointers,n=this.action,u=t.aspectRatio,N=r.left,l=r.top,c=r.width,L=r.height,j=N+c,T=l+L,D=0,z=0,h=o.width,O=o.height,p=!0,E;!u&&e.shiftKey&&(u=c&&L?c/L:1),this.limited&&(D=r.minLeft,z=r.minTop,h=D+Math.min(o.width,s.width,s.left+s.width),O=z+Math.min(o.height,s.height,s.top+s.height));var C=M[Object.keys(M)[0]],I={x:C.endX-C.startX,y:C.endY-C.startY},_=function(f){switch(f){case wt:j+I.x>h&&(I.x=h-j);break;case Ct:N+I.xO&&(I.y=O-T);break}};switch(n){case Xo:N+=I.x,l+=I.y;break;case wt:if(I.x>=0&&(j>=h||u&&(l<=z||T>=O))){p=!1;break}_(wt),c+=I.x,c<0&&(n=Ct,c=-c,N-=c),u&&(L=c/u,l+=(r.height-L)/2);break;case ct:if(I.y<=0&&(l<=z||u&&(N<=D||j>=h))){p=!1;break}_(ct),L-=I.y,l+=I.y,L<0&&(n=Rt,L=-L,l-=L),u&&(c=L*u,N+=(r.width-c)/2);break;case Ct:if(I.x<=0&&(N<=D||u&&(l<=z||T>=O))){p=!1;break}_(Ct),c-=I.x,N+=I.x,c<0&&(n=wt,c=-c,N-=c),u&&(L=c/u,l+=(r.height-L)/2);break;case Rt:if(I.y>=0&&(T>=O||u&&(N<=D||j>=h))){p=!1;break}_(Rt),L+=I.y,L<0&&(n=ct,L=-L,l-=L),u&&(c=L*u,N+=(r.width-c)/2);break;case as:if(u){if(I.y<=0&&(l<=z||j>=h)){p=!1;break}_(ct),L-=I.y,l+=I.y,c=L*u}else _(ct),_(wt),I.x>=0?jz&&(L-=I.y,l+=I.y):(L-=I.y,l+=I.y);c<0&&L<0?(n=Ns,L=-L,c=-c,l-=L,N-=c):c<0?(n=cs,c=-c,N-=c):L<0&&(n=us,L=-L,l-=L);break;case cs:if(u){if(I.y<=0&&(l<=z||N<=D)){p=!1;break}_(ct),L-=I.y,l+=I.y,c=L*u,N+=r.width-c}else _(ct),_(Ct),I.x<=0?N>D?(c-=I.x,N+=I.x):I.y<=0&&l<=z&&(p=!1):(c-=I.x,N+=I.x),I.y<=0?l>z&&(L-=I.y,l+=I.y):(L-=I.y,l+=I.y);c<0&&L<0?(n=us,L=-L,c=-c,l-=L,N-=c):c<0?(n=as,c=-c,N-=c):L<0&&(n=Ns,L=-L,l-=L);break;case Ns:if(u){if(I.x<=0&&(N<=D||T>=O)){p=!1;break}_(Ct),c-=I.x,N+=I.x,L=c/u}else _(Rt),_(Ct),I.x<=0?N>D?(c-=I.x,N+=I.x):I.y>=0&&T>=O&&(p=!1):(c-=I.x,N+=I.x),I.y>=0?T=0&&(j>=h||T>=O)){p=!1;break}_(wt),c+=I.x,L=c/u}else _(Rt),_(wt),I.x>=0?j=0&&T>=O&&(p=!1):c+=I.x,I.y>=0?T0?n=I.y>0?us:as:I.x<0&&(N-=c,n=I.y>0?Ns:cs),I.y<0&&(l-=L),this.cropped||(Be(this.cropBox,me),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}p&&(r.width=c,r.height=L,r.left=N,r.top=l,this.action=n,this.renderCropBox()),ae(M,function(k){k.startX=k.endX,k.startY=k.endY})}},_le={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&ce(this.dragBox,ui),Be(this.cropBox,me),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ie({},this.initialImageData),this.canvasData=ie({},this.initialCanvasData),this.cropBoxData=ie({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ie(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Be(this.dragBox,ui),ce(this.cropBox,me)),this},replace:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,ae(this.previews,function(s){s.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Be(this.cropper,GM)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,ce(this.cropper,GM)),this},destroy:function(){var e=this.element;return e[se]?(e[se]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.canvasData,o=s.left,r=s.top;return this.moveTo(Ji(e)?e:o+Number(e),Ji(t)?t:r+Number(t))},moveTo:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.canvasData,o=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(H(e)&&(s.left=e,o=!0),H(t)&&(s.top=t,o=!0),o&&this.renderCanvas(!0)),this},zoom:function(e,t){var s=this.canvasData;return e=Number(e),e<0?e=1/(1-e):e=1+e,this.zoomTo(s.width*e/s.naturalWidth,null,t)},zoomTo:function(e,t,s){var o=this.options,r=this.canvasData,M=r.width,n=r.height,u=r.naturalWidth,N=r.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&o.zoomable){var l=u*e,c=N*e;if(Vt(this.element,xo,{ratio:e,oldRatio:M/u,originalEvent:s})===!1)return this;if(s){var L=this.pointers,j=Za(this.cropper),T=L&&Object.keys(L).length?Tle(L):{pageX:s.pageX,pageY:s.pageY};r.left-=(l-M)*((T.pageX-j.left-r.left)/M),r.top-=(c-n)*((T.pageY-j.top-r.top)/n)}else Bt(t)&&H(t.x)&&H(t.y)?(r.left-=(l-M)*((t.x-r.left)/M),r.top-=(c-n)*((t.y-r.top)/n)):(r.left-=(l-M)/2,r.top-=(c-n)/2);r.width=l,r.height=c,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),H(e)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,H(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(H(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.imageData,o=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(H(e)&&(s.scaleX=e,o=!0),H(t)&&(s.scaleY=t,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.options,s=this.imageData,o=this.canvasData,r=this.cropBoxData,M;if(this.ready&&this.cropped){M={x:r.left-o.left,y:r.top-o.top,width:r.width,height:r.height};var n=s.width/s.naturalWidth;if(ae(M,function(l,c){M[c]=l/n}),e){var u=Math.round(M.y+M.height),N=Math.round(M.x+M.width);M.x=Math.round(M.x),M.y=Math.round(M.y),M.width=N-M.x,M.height=u-M.y}}else M={x:0,y:0,width:0,height:0};return t.rotatable&&(M.rotate=s.rotate||0),t.scalable&&(M.scaleX=s.scaleX||1,M.scaleY=s.scaleY||1),M},setData:function(e){var t=this.options,s=this.imageData,o=this.canvasData,r={};if(this.ready&&!this.disabled&&Bt(e)){var M=!1;t.rotatable&&H(e.rotate)&&e.rotate!==s.rotate&&(s.rotate=e.rotate,M=!0),t.scalable&&(H(e.scaleX)&&e.scaleX!==s.scaleX&&(s.scaleX=e.scaleX,M=!0),H(e.scaleY)&&e.scaleY!==s.scaleY&&(s.scaleY=e.scaleY,M=!0)),M&&this.renderCanvas(!0,!0);var n=s.width/s.naturalWidth;H(e.x)&&(r.left=e.x*n+o.left),H(e.y)&&(r.top=e.y*n+o.top),H(e.width)&&(r.width=e.width*n),H(e.height)&&(r.height=e.height*n),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?ie({},this.containerData):{}},getImageData:function(){return this.sized?ie({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&ae(["left","top","width","height","naturalWidth","naturalHeight"],function(s){t[s]=e[s]}),t},setCanvasData:function(e){var t=this.canvasData,s=t.aspectRatio;return this.ready&&!this.disabled&&Bt(e)&&(H(e.left)&&(t.left=e.left),H(e.top)&&(t.top=e.top),H(e.width)?(t.width=e.width,t.height=e.width/s):H(e.height)&&(t.height=e.height,t.width=e.height*s),this.renderCanvas(!0)),this},getCropBoxData:function(){var e=this.cropBoxData,t;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(e){var t=this.cropBoxData,s=this.options.aspectRatio,o,r;return this.ready&&this.cropped&&!this.disabled&&Bt(e)&&(H(e.left)&&(t.left=e.left),H(e.top)&&(t.top=e.top),H(e.width)&&e.width!==t.width&&(o=!0,t.width=e.width),H(e.height)&&e.height!==t.height&&(r=!0,t.height=e.height),s&&(o?t.height=t.width/s:r&&(t.width=t.height*s)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,s=Dle(this.image,this.imageData,t,e);if(!this.cropped)return s;var o=this.getData(e.rounded),r=o.x,M=o.y,n=o.width,u=o.height,N=s.width/Math.floor(t.naturalWidth);N!==1&&(r*=N,M*=N,n*=N,u*=N);var l=n/u,c=gt({aspectRatio:l,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),L=gt({aspectRatio:l,width:e.minWidth||0,height:e.minHeight||0},"cover"),j=gt({aspectRatio:l,width:e.width||(N!==1?s.width:n),height:e.height||(N!==1?s.height:u)}),T=j.width,D=j.height;T=Math.min(c.width,Math.max(L.width,T)),D=Math.min(c.height,Math.max(L.height,D));var z=document.createElement("canvas"),h=z.getContext("2d");z.width=Ht(T),z.height=Ht(D),h.fillStyle=e.fillColor||"transparent",h.fillRect(0,0,T,D);var O=e.imageSmoothingEnabled,p=O===void 0?!0:O,E=e.imageSmoothingQuality;h.imageSmoothingEnabled=p,E&&(h.imageSmoothingQuality=E);var C=s.width,I=s.height,_=r,k=M,f,P,Y,V,oe,F;_<=-n||_>C?(_=0,f=0,Y=0,oe=0):_<=0?(Y=-_,_=0,f=Math.min(C,n+_),oe=f):_<=C&&(Y=0,f=Math.min(n,C-_),oe=f),f<=0||k<=-u||k>I?(k=0,P=0,V=0,F=0):k<=0?(V=-k,k=0,P=Math.min(I,u+k),F=P):k<=I&&(V=0,P=Math.min(u,I-k),F=P);var G=[_,k,f,P];if(oe>0&&F>0){var ue=T/n;G.push(Y*ue,V*ue,oe*ue,F*ue)}return h.drawImage.apply(h,[s].concat(ba(G.map(function(ke){return Math.floor(Ht(ke))})))),z},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!Ji(e)&&(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,s=this.dragBox,o=this.face;if(this.ready&&!this.disabled){var r=e===Ko,M=t.movable&&e===Ra;e=r||M?e:Ja,t.dragMode=e,hs(s,Cs,e),Ft(s,po,r),Ft(s,mo,M),t.cropBoxMovable||(hs(o,Cs,e),Ft(o,po,r),Ft(o,mo,M))}return this}},Sle=Fe.Cropper,Ka=function(){function i(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(JNe(this,i),!e||!ole.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=ie({},on,Bt(t)&&t),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 BNe(i,[{key:"init",value:function(){var t=this.element,s=t.tagName.toLowerCase(),o;if(!t[se]){if(t[se]=this,s==="img"){if(this.isImg=!0,o=t.getAttribute("src")||"",this.originalUrl=o,!o)return;o=t.src}else s==="canvas"&&window.HTMLCanvasElement&&(o=t.toDataURL());this.load(o)}}},{key:"load",value:function(t){var s=this;if(t){this.url=t,this.imageData={};var o=this.element,r=this.options;if(!r.rotatable&&!r.scalable&&(r.checkOrientation=!1),!r.checkOrientation||!window.ArrayBuffer){this.clone();return}if(sle.test(t)){ile.test(t)?this.read(Ile(t)):this.clone();return}var M=new XMLHttpRequest,n=this.clone.bind(this);this.reloading=!0,this.xhr=M,M.onabort=n,M.onerror=n,M.ontimeout=n,M.onprogress=function(){M.getResponseHeader("content-type")!==sn&&M.abort()},M.onload=function(){s.read(M.response)},M.onloadend=function(){s.reloading=!1,s.xhr=null},r.checkCrossOrigin&&Mn(t)&&o.crossOrigin&&(t=nn(t)),M.open("GET",t,!0),M.responseType="arraybuffer",M.withCredentials=o.crossOrigin==="use-credentials",M.send()}}},{key:"read",value:function(t){var s=this.options,o=this.imageData,r=Cle(t),M=0,n=1,u=1;if(r>1){this.url=wle(t,sn);var N=hle(r);M=N.rotate,n=N.scaleX,u=N.scaleY}s.rotatable&&(o.rotate=M),s.scalable&&(o.scaleX=n,o.scaleY=u),this.clone()}},{key:"clone",value:function(){var t=this.element,s=this.url,o=t.crossOrigin,r=s;this.options.checkCrossOrigin&&Mn(s)&&(o||(o="anonymous"),r=nn(s)),this.crossOrigin=o,this.crossOriginUrl=r;var M=document.createElement("img");o&&(M.crossOrigin=o),M.src=r||s,M.alt=t.alt||"The image to crop",this.image=M,M.onload=this.start.bind(this),M.onerror=this.stop.bind(this),ce(M,HM),t.parentNode.insertBefore(M,t.nextSibling)}},{key:"start",value:function(){var t=this,s=this.image;s.onload=null,s.onerror=null,this.sizing=!0;var o=Fe.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(Fe.navigator.userAgent),r=function(N,l){ie(t.imageData,{naturalWidth:N,naturalHeight:l,aspectRatio:N/l}),t.initialImageData=ie({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(s.naturalWidth&&!o){r(s.naturalWidth,s.naturalHeight);return}var M=document.createElement("img"),n=document.body||document.documentElement;this.sizingImage=M,M.onload=function(){r(M.width,M.height),o||n.removeChild(M)},M.src=s.src,o||(M.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.appendChild(M))}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var t=this.element,s=this.options,o=this.image,r=t.parentNode,M=document.createElement("div");M.innerHTML=rle;var n=M.querySelector(".".concat(se,"-container")),u=n.querySelector(".".concat(se,"-canvas")),N=n.querySelector(".".concat(se,"-drag-box")),l=n.querySelector(".".concat(se,"-crop-box")),c=l.querySelector(".".concat(se,"-face"));this.container=r,this.cropper=n,this.canvas=u,this.dragBox=N,this.cropBox=l,this.viewBox=n.querySelector(".".concat(se,"-view-box")),this.face=c,u.appendChild(o),ce(t,me),r.insertBefore(n,t.nextSibling),Be(o,HM),this.initPreview(),this.bind(),s.initialAspectRatio=Math.max(0,s.initialAspectRatio)||NaN,s.aspectRatio=Math.max(0,s.aspectRatio)||NaN,s.viewMode=Math.max(0,Math.min(3,Math.round(s.viewMode)))||0,ce(l,me),s.guides||ce(l.getElementsByClassName("".concat(se,"-dashed")),me),s.center||ce(l.getElementsByClassName("".concat(se,"-center")),me),s.background&&ce(n,"".concat(se,"-bg")),s.highlight||ce(c,XNe),s.cropBoxMovable&&(ce(c,mo),hs(c,Cs,Xo)),s.cropBoxResizable||(ce(l.getElementsByClassName("".concat(se,"-line")),me),ce(l.getElementsByClassName("".concat(se,"-point")),me)),this.render(),this.ready=!0,this.setDragMode(s.dragMode),s.autoCrop&&this.crop(),this.setData(s.data),pe(s.ready)&&Se(t,qM,s.ready,{once:!0}),Vt(t,qM)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),Be(this.element,me)}}},{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=Sle,i}},{key:"setDefaults",value:function(t){ie(on,Bt(t)&&t)}}])}();ie(Ka.prototype,Ale,ple,mle,Ole,Ele,_le);var mt=function(){return mt=Object.assign||function(i){for(var e,t=1,s=arguments.length;t0&&k.zoomTo(ke)}(_.currentTarget.cropper,p),z&&z(_)}}));h&&h(I)}return function(){var _,k;(k=(_=E.current)===null||_===void 0?void 0:_.cropper)===null||k===void 0||k.destroy()}},[E]);var C=function(I){return xle.reduce(function(_,k){var f=_,P=k;return f[P],Fi(f,[typeof P=="symbol"?P:P+""])},I)}(mt(mt({},O),{crossOrigin:u,src:r,alt:D}));return a.createElement("div",{style:M,className:n},a.createElement("img",mt({},C,{style:fle,ref:E})))});const Yle=` + */function GM(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(i);e&&(s=s.filter(function(o){return Object.getOwnPropertyDescriptor(i,o).enumerable})),t.push.apply(t,s)}return t}function ba(i){for(var e=1;ei.length)&&(e=i.length);for(var t=0,s=new Array(e);t
',ale=Number.isNaN||Fe.isNaN;function H(i){return typeof i=="number"&&!ale(i)}var nn=function(e){return e>0&&e<1/0};function Ji(i){return typeof i>"u"}function ft(i){return ho(i)==="object"&&i!==null}var cle=Object.prototype.hasOwnProperty;function Bt(i){if(!ft(i))return!1;try{var e=i.constructor,t=e.prototype;return e&&t&&cle.call(t,"isPrototypeOf")}catch{return!1}}function pe(i){return typeof i=="function"}var ule=Array.prototype.slice;function Va(i){return Array.from?Array.from(i):ule.call(i)}function ae(i,e){return i&&pe(e)&&(Array.isArray(i)||H(i.length)?Va(i).forEach(function(t,s){e.call(i,t,s,i)}):ft(i)&&Object.keys(i).forEach(function(t){e.call(i,i[t],t,i)})),i}var ie=Object.assign||function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),o=1;o0&&s.forEach(function(r){ft(r)&&Object.keys(r).forEach(function(M){e[M]=r[M]})}),e},Nle=/\.\d*(?:0|9){12}\d*$/;function Ht(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return Nle.test(i)?Math.round(i*e)/e:i}var lle=/^width|height|left|top|marginLeft|marginTop$/;function jt(i,e){var t=i.style;ae(e,function(s,o){lle.test(o)&&H(s)&&(s="".concat(s,"px")),t[o]=s})}function Lle(i,e){return i.classList?i.classList.contains(e):i.className.indexOf(e)>-1}function ce(i,e){if(e){if(H(i.length)){ae(i,function(s){ce(s,e)});return}if(i.classList){i.classList.add(e);return}var t=i.className.trim();t?t.indexOf(e)<0&&(i.className="".concat(t," ").concat(e)):i.className=e}}function Be(i,e){if(e){if(H(i.length)){ae(i,function(t){Be(t,e)});return}if(i.classList){i.classList.remove(e);return}i.className.indexOf(e)>=0&&(i.className=i.className.replace(e,""))}}function Ft(i,e,t){if(e){if(H(i.length)){ae(i,function(s){Ft(s,e,t)});return}t?ce(i,e):Be(i,e)}}var jle=/([a-z\d])([A-Z])/g;function qo(i){return i.replace(jle,"$1-$2").toLowerCase()}function fo(i,e){return ft(i[e])?i[e]:i.dataset?i.dataset[e]:i.getAttribute("data-".concat(qo(e)))}function hs(i,e,t){ft(t)?i[e]=t:i.dataset?i.dataset[e]=t:i.setAttribute("data-".concat(qo(e)),t)}function gle(i,e){if(ft(i[e]))try{delete i[e]}catch{i[e]=void 0}else if(i.dataset)try{delete i.dataset[e]}catch{i.dataset[e]=void 0}else i.removeAttribute("data-".concat(qo(e)))}var Za=/\s\s*/,Xa=function(){var i=!1;if(Ci){var e=!1,t=function(){},s=Object.defineProperty({},"once",{get:function(){return i=!0,e},set:function(r){e=r}});Fe.addEventListener("test",t,s),Fe.removeEventListener("test",t,s)}return i}();function Ue(i,e,t){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=t;e.trim().split(Za).forEach(function(r){if(!Xa){var M=i.listeners;M&&M[r]&&M[r][t]&&(o=M[r][t],delete M[r][t],Object.keys(M[r]).length===0&&delete M[r],Object.keys(M).length===0&&delete i.listeners)}i.removeEventListener(r,o,s)})}function Se(i,e,t){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=t;e.trim().split(Za).forEach(function(r){if(s.once&&!Xa){var M=i.listeners,a=M===void 0?{}:M;o=function(){delete a[r][t],i.removeEventListener(r,o,s);for(var N=arguments.length,l=new Array(N),c=0;cMath.abs(t)&&(t=L)})}),t}function Hs(i,e){var t=i.pageX,s=i.pageY,o={endX:t,endY:s};return e?o:ba({startX:t,startY:s},o)}function Dle(i){var e=0,t=0,s=0;return ae(i,function(o){var r=o.startX,M=o.startY;e+=r,t+=M,s+=1}),e/=s,t/=s,{pageX:e,pageY:t}}function gt(i){var e=i.aspectRatio,t=i.height,s=i.width,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",r=nn(s),M=nn(t);if(r&&M){var a=t*e;o==="contain"&&a>s||o==="cover"&&a90?{width:u,height:a}:{width:a,height:u}}function zle(i,e,t,s){var o=e.aspectRatio,r=e.naturalWidth,M=e.naturalHeight,a=e.rotate,u=a===void 0?0:a,N=e.scaleX,l=N===void 0?1:N,c=e.scaleY,L=c===void 0?1:c,j=t.aspectRatio,T=t.naturalWidth,D=t.naturalHeight,I=s.fillColor,C=I===void 0?"transparent":I,E=s.imageSmoothingEnabled,A=E===void 0?!0:E,_=s.imageSmoothingQuality,p=_===void 0?"low":_,z=s.maxWidth,O=z===void 0?1/0:z,k=s.maxHeight,f=k===void 0?1/0:k,P=s.minWidth,Y=P===void 0?0:P,V=s.minHeight,oe=V===void 0?0:V,F=document.createElement("canvas"),G=F.getContext("2d"),ue=gt({aspectRatio:j,width:O,height:f}),ke=gt({aspectRatio:j,width:Y,height:oe},"cover"),Ye=Math.min(ue.width,Math.max(ke.width,T)),Qt=Math.min(ue.height,Math.max(ke.height,D)),hi=gt({aspectRatio:o,width:O,height:f}),is=gt({aspectRatio:o,width:Y,height:oe},"cover"),os=Math.min(hi.width,Math.max(is.width,r)),rs=Math.min(hi.height,Math.max(is.height,M)),_s=[-os/2,-rs/2,os,rs];return F.width=Ht(Ye),F.height=Ht(Qt),G.fillStyle=C,G.fillRect(0,0,Ye,Qt),G.save(),G.translate(Ye/2,Qt/2),G.rotate(u*Math.PI/180),G.scale(l,L),G.imageSmoothingEnabled=A,G.imageSmoothingQuality=p,G.drawImage.apply(G,[i].concat(Pa(_s.map(function(Ss){return Math.floor(Ht(Ss))})))),G.restore(),F}var qa=String.fromCharCode;function Ile(i,e,t){var s="";t+=e;for(var o=e;o0;)t.push(qa.apply(null,Va(o.subarray(0,s)))),o=o.subarray(s);return"data:".concat(e,";base64,").concat(btoa(t.join("")))}function Ale(i){var e=new DataView(i),t;try{var s,o,r;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var M=e.byteLength,a=2;a+1=8&&(r=N+c)}}}if(r){var L=e.getUint16(r,s),j,T;for(T=0;T=0?r:Ga),height:Math.max(s.offsetHeight,M>=0?M:Ha)};this.containerData=a,jt(o,{width:a.width,height:a.height}),ce(e,me),Be(o,me)},initCanvas:function(){var e=this.containerData,t=this.imageData,s=this.options.viewMode,o=Math.abs(t.rotate)%180===90,r=o?t.naturalHeight:t.naturalWidth,M=o?t.naturalWidth:t.naturalHeight,a=r/M,u=e.width,N=e.height;e.height*a>e.width?s===3?u=e.height*a:N=e.width/a:s===3?N=e.width/a:u=e.height*a;var l={aspectRatio:a,naturalWidth:r,naturalHeight:M,width:u,height:N};this.canvasData=l,this.limited=s===1||s===2,this.limitCanvas(!0,!0),l.width=Math.min(Math.max(l.width,l.minWidth),l.maxWidth),l.height=Math.min(Math.max(l.height,l.minHeight),l.maxHeight),l.left=(e.width-l.width)/2,l.top=(e.height-l.height)/2,l.oldLeft=l.left,l.oldTop=l.top,this.initialCanvasData=ie({},l)},limitCanvas:function(e,t){var s=this.options,o=this.containerData,r=this.canvasData,M=this.cropBoxData,a=s.viewMode,u=r.aspectRatio,N=this.cropped&&M;if(e){var l=Number(s.minCanvasWidth)||0,c=Number(s.minCanvasHeight)||0;a>1?(l=Math.max(l,o.width),c=Math.max(c,o.height),a===3&&(c*u>l?l=c*u:c=l/u)):a>0&&(l?l=Math.max(l,N?M.width:0):c?c=Math.max(c,N?M.height:0):N&&(l=M.width,c=M.height,c*u>l?l=c*u:c=l/u));var L=gt({aspectRatio:u,width:l,height:c});l=L.width,c=L.height,r.minWidth=l,r.minHeight=c,r.maxWidth=1/0,r.maxHeight=1/0}if(t)if(a>(N?0:1)){var j=o.width-r.width,T=o.height-r.height;r.minLeft=Math.min(0,j),r.minTop=Math.min(0,T),r.maxLeft=Math.max(0,j),r.maxTop=Math.max(0,T),N&&this.limited&&(r.minLeft=Math.min(M.left,M.left+(M.width-r.width)),r.minTop=Math.min(M.top,M.top+(M.height-r.height)),r.maxLeft=M.left,r.maxTop=M.top,a===2&&(r.width>=o.width&&(r.minLeft=Math.min(0,j),r.maxLeft=Math.max(0,j)),r.height>=o.height&&(r.minTop=Math.min(0,T),r.maxTop=Math.max(0,T))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=o.width,r.maxTop=o.height},renderCanvas:function(e,t){var s=this.canvasData,o=this.imageData;if(t){var r=dle({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),M=r.width,a=r.height,u=s.width*(M/s.naturalWidth),N=s.height*(a/s.naturalHeight);s.left-=(u-s.width)/2,s.top-=(N-s.height)/2,s.width=u,s.height=N,s.aspectRatio=M/a,s.naturalWidth=M,s.naturalHeight=a,this.limitCanvas(!0,!1)}(s.width>s.maxWidth||s.widths.maxHeight||s.heightt.width?r.height=r.width/s:r.width=r.height*s),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*o),r.height=Math.max(r.minHeight,r.height*o),r.left=t.left+(t.width-r.width)/2,r.top=t.top+(t.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=ie({},r)},limitCropBox:function(e,t){var s=this.options,o=this.containerData,r=this.canvasData,M=this.cropBoxData,a=this.limited,u=s.aspectRatio;if(e){var N=Number(s.minCropBoxWidth)||0,l=Number(s.minCropBoxHeight)||0,c=a?Math.min(o.width,r.width,r.width+r.left,o.width-r.left):o.width,L=a?Math.min(o.height,r.height,r.height+r.top,o.height-r.top):o.height;N=Math.min(N,o.width),l=Math.min(l,o.height),u&&(N&&l?l*u>N?l=N/u:N=l*u:N?l=N/u:l&&(N=l*u),L*u>c?L=c/u:c=L*u),M.minWidth=Math.min(N,c),M.minHeight=Math.min(l,L),M.maxWidth=c,M.maxHeight=L}t&&(a?(M.minLeft=Math.max(0,r.left),M.minTop=Math.max(0,r.top),M.maxLeft=Math.min(o.width,r.left+r.width)-M.width,M.maxTop=Math.min(o.height,r.top+r.height)-M.height):(M.minLeft=0,M.minTop=0,M.maxLeft=o.width-M.width,M.maxTop=o.height-M.height))},renderCropBox:function(){var e=this.options,t=this.containerData,s=this.cropBoxData;(s.width>s.maxWidth||s.widths.maxHeight||s.height=t.width&&s.height>=t.height?Ra:Xo),jt(this.cropBox,ie({width:s.width,height:s.height},Ds({translateX:s.left,translateY:s.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Vt(this.element,Oo,this.getData())}},Ole={initPreview:function(){var e=this.element,t=this.crossOrigin,s=this.options.preview,o=t?this.crossOriginUrl:this.url,r=e.alt||"The image to preview",M=document.createElement("img");if(t&&(M.crossOrigin=t),M.src=o,M.alt=r,this.viewBox.appendChild(M),this.viewBoxImage=M,!!s){var a=s;typeof s=="string"?a=e.ownerDocument.querySelectorAll(s):s.querySelector&&(a=[s]),this.previews=a,ae(a,function(u){var N=document.createElement("img");hs(u,Gs,{width:u.offsetWidth,height:u.offsetHeight,html:u.innerHTML}),t&&(N.crossOrigin=t),N.src=o,N.alt=r,N.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;"',u.innerHTML="",u.appendChild(N)})}},resetPreview:function(){ae(this.previews,function(e){var t=fo(e,Gs);jt(e,{width:t.width,height:t.height}),e.innerHTML=t.html,gle(e,Gs)})},preview:function(){var e=this.imageData,t=this.canvasData,s=this.cropBoxData,o=s.width,r=s.height,M=e.width,a=e.height,u=s.left-t.left-e.left,N=s.top-t.top-e.top;!this.cropped||this.disabled||(jt(this.viewBoxImage,ie({width:M,height:a},Ds(ie({translateX:-u,translateY:-N},e)))),ae(this.previews,function(l){var c=fo(l,Gs),L=c.width,j=c.height,T=L,D=j,I=1;o&&(I=L/o,D=r*I),r&&D>j&&(I=j/r,T=o*I,D=j),jt(l,{width:T,height:D}),jt(l.getElementsByTagName("img")[0],ie({width:M*I,height:a*I},Ds(ie({translateX:-u*I,translateY:-N*I},e))))}))}},Ele={bind:function(){var e=this.element,t=this.options,s=this.cropper;pe(t.cropstart)&&Se(e,So,t.cropstart),pe(t.cropmove)&&Se(e,_o,t.cropmove),pe(t.cropend)&&Se(e,Eo,t.cropend),pe(t.crop)&&Se(e,Oo,t.crop),pe(t.zoom)&&Se(e,xo,t.zoom),Se(s,KM,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&Se(s,on,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Se(s,XM,this.onDblclick=this.dblclick.bind(this)),Se(e.ownerDocument,qM,this.onCropMove=this.cropMove.bind(this)),Se(e.ownerDocument,en,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&Se(window,sn,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,s=this.cropper;pe(t.cropstart)&&Ue(e,So,t.cropstart),pe(t.cropmove)&&Ue(e,_o,t.cropmove),pe(t.cropend)&&Ue(e,Eo,t.cropend),pe(t.crop)&&Ue(e,Oo,t.crop),pe(t.zoom)&&Ue(e,xo,t.zoom),Ue(s,KM,this.onCropStart),t.zoomable&&t.zoomOnWheel&&Ue(s,on,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Ue(s,XM,this.onDblclick),Ue(e.ownerDocument,qM,this.onCropMove),Ue(e.ownerDocument,en,this.onCropEnd),t.responsive&&Ue(window,sn,this.onResize)}},_le={resize:function(){if(!this.disabled){var e=this.options,t=this.container,s=this.containerData,o=t.offsetWidth/s.width,r=t.offsetHeight/s.height,M=Math.abs(o-1)>Math.abs(r-1)?o:r;if(M!==1){var a,u;e.restore&&(a=this.getCanvasData(),u=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(ae(a,function(N,l){a[l]=N*M})),this.setCropBoxData(ae(u,function(N,l){u[l]=N*M})))}}},dblclick:function(){this.disabled||this.options.dragMode===Fa||this.setDragMode(Lle(this.dragBox,po)?Ba:Ko)},wheel:function(e){var t=this,s=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),e.deltaY?o=e.deltaY>0?1:-1:e.wheelDelta?o=-e.wheelDelta/120:e.detail&&(o=e.detail>0?1:-1),this.zoom(-o*s,e)))},cropStart:function(e){var t=e.buttons,s=e.button;if(!(this.disabled||(e.type==="mousedown"||e.type==="pointerdown"&&e.pointerType==="mouse")&&(H(t)&&t!==1||H(s)&&s!==0||e.ctrlKey))){var o=this.options,r=this.pointers,M;e.changedTouches?ae(e.changedTouches,function(a){r[a.identifier]=Hs(a)}):r[e.pointerId||0]=Hs(e),Object.keys(r).length>1&&o.zoomable&&o.zoomOnTouch?M=Ja:M=fo(e.target,Cs),ile.test(M)&&Vt(this.element,So,{originalEvent:e,action:M})!==!1&&(e.preventDefault(),this.action=M,this.cropping=!1,M===Wa&&(this.cropping=!0,ce(this.dragBox,ui)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var s=this.pointers;e.preventDefault(),Vt(this.element,_o,{originalEvent:e,action:t})!==!1&&(e.changedTouches?ae(e.changedTouches,function(o){ie(s[o.identifier]||{},Hs(o,!0))}):ie(s[e.pointerId||0]||{},Hs(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,s=this.pointers;e.changedTouches?ae(e.changedTouches,function(o){delete s[o.identifier]}):delete s[e.pointerId||0],t&&(e.preventDefault(),Object.keys(s).length||(this.action=""),this.cropping&&(this.cropping=!1,Ft(this.dragBox,ui,this.cropped&&this.options.modal)),Vt(this.element,Eo,{originalEvent:e,action:t}))}}},Sle={change:function(e){var t=this.options,s=this.canvasData,o=this.containerData,r=this.cropBoxData,M=this.pointers,a=this.action,u=t.aspectRatio,N=r.left,l=r.top,c=r.width,L=r.height,j=N+c,T=l+L,D=0,I=0,C=o.width,E=o.height,A=!0,_;!u&&e.shiftKey&&(u=c&&L?c/L:1),this.limited&&(D=r.minLeft,I=r.minTop,C=D+Math.min(o.width,s.width,s.left+s.width),E=I+Math.min(o.height,s.height,s.top+s.height));var p=M[Object.keys(M)[0]],z={x:p.endX-p.startX,y:p.endY-p.startY},O=function(f){switch(f){case wt:j+z.x>C&&(z.x=C-j);break;case Ct:N+z.xE&&(z.y=E-T);break}};switch(a){case Xo:N+=z.x,l+=z.y;break;case wt:if(z.x>=0&&(j>=C||u&&(l<=I||T>=E))){A=!1;break}O(wt),c+=z.x,c<0&&(a=Ct,c=-c,N-=c),u&&(L=c/u,l+=(r.height-L)/2);break;case ct:if(z.y<=0&&(l<=I||u&&(N<=D||j>=C))){A=!1;break}O(ct),L-=z.y,l+=z.y,L<0&&(a=Rt,L=-L,l-=L),u&&(c=L*u,N+=(r.width-c)/2);break;case Ct:if(z.x<=0&&(N<=D||u&&(l<=I||T>=E))){A=!1;break}O(Ct),c-=z.x,N+=z.x,c<0&&(a=wt,c=-c,N-=c),u&&(L=c/u,l+=(r.height-L)/2);break;case Rt:if(z.y>=0&&(T>=E||u&&(N<=D||j>=C))){A=!1;break}O(Rt),L+=z.y,L<0&&(a=ct,L=-L,l-=L),u&&(c=L*u,N+=(r.width-c)/2);break;case as:if(u){if(z.y<=0&&(l<=I||j>=C)){A=!1;break}O(ct),L-=z.y,l+=z.y,c=L*u}else O(ct),O(wt),z.x>=0?jI&&(L-=z.y,l+=z.y):(L-=z.y,l+=z.y);c<0&&L<0?(a=Ns,L=-L,c=-c,l-=L,N-=c):c<0?(a=cs,c=-c,N-=c):L<0&&(a=us,L=-L,l-=L);break;case cs:if(u){if(z.y<=0&&(l<=I||N<=D)){A=!1;break}O(ct),L-=z.y,l+=z.y,c=L*u,N+=r.width-c}else O(ct),O(Ct),z.x<=0?N>D?(c-=z.x,N+=z.x):z.y<=0&&l<=I&&(A=!1):(c-=z.x,N+=z.x),z.y<=0?l>I&&(L-=z.y,l+=z.y):(L-=z.y,l+=z.y);c<0&&L<0?(a=us,L=-L,c=-c,l-=L,N-=c):c<0?(a=as,c=-c,N-=c):L<0&&(a=Ns,L=-L,l-=L);break;case Ns:if(u){if(z.x<=0&&(N<=D||T>=E)){A=!1;break}O(Ct),c-=z.x,N+=z.x,L=c/u}else O(Rt),O(Ct),z.x<=0?N>D?(c-=z.x,N+=z.x):z.y>=0&&T>=E&&(A=!1):(c-=z.x,N+=z.x),z.y>=0?T=0&&(j>=C||T>=E)){A=!1;break}O(wt),c+=z.x,L=c/u}else O(Rt),O(wt),z.x>=0?j=0&&T>=E&&(A=!1):c+=z.x,z.y>=0?T0?a=z.y>0?us:as:z.x<0&&(N-=c,a=z.y>0?Ns:cs),z.y<0&&(l-=L),this.cropped||(Be(this.cropBox,me),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}A&&(r.width=c,r.height=L,r.left=N,r.top=l,this.action=a,this.renderCropBox()),ae(M,function(k){k.startX=k.endX,k.startY=k.endY})}},xle={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&ce(this.dragBox,ui),Be(this.cropBox,me),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ie({},this.initialImageData),this.canvasData=ie({},this.initialCanvasData),this.cropBoxData=ie({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ie(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Be(this.dragBox,ui),ce(this.cropBox,me)),this},replace:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,ae(this.previews,function(s){s.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Be(this.cropper,VM)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,ce(this.cropper,VM)),this},destroy:function(){var e=this.element;return e[se]?(e[se]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.canvasData,o=s.left,r=s.top;return this.moveTo(Ji(e)?e:o+Number(e),Ji(t)?t:r+Number(t))},moveTo:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.canvasData,o=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(H(e)&&(s.left=e,o=!0),H(t)&&(s.top=t,o=!0),o&&this.renderCanvas(!0)),this},zoom:function(e,t){var s=this.canvasData;return e=Number(e),e<0?e=1/(1-e):e=1+e,this.zoomTo(s.width*e/s.naturalWidth,null,t)},zoomTo:function(e,t,s){var o=this.options,r=this.canvasData,M=r.width,a=r.height,u=r.naturalWidth,N=r.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&o.zoomable){var l=u*e,c=N*e;if(Vt(this.element,xo,{ratio:e,oldRatio:M/u,originalEvent:s})===!1)return this;if(s){var L=this.pointers,j=Ka(this.cropper),T=L&&Object.keys(L).length?Dle(L):{pageX:s.pageX,pageY:s.pageY};r.left-=(l-M)*((T.pageX-j.left-r.left)/M),r.top-=(c-a)*((T.pageY-j.top-r.top)/a)}else Bt(t)&&H(t.x)&&H(t.y)?(r.left-=(l-M)*((t.x-r.left)/M),r.top-=(c-a)*((t.y-r.top)/a)):(r.left-=(l-M)/2,r.top-=(c-a)/2);r.width=l,r.height=c,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),H(e)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,H(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(H(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.imageData,o=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(H(e)&&(s.scaleX=e,o=!0),H(t)&&(s.scaleY=t,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.options,s=this.imageData,o=this.canvasData,r=this.cropBoxData,M;if(this.ready&&this.cropped){M={x:r.left-o.left,y:r.top-o.top,width:r.width,height:r.height};var a=s.width/s.naturalWidth;if(ae(M,function(l,c){M[c]=l/a}),e){var u=Math.round(M.y+M.height),N=Math.round(M.x+M.width);M.x=Math.round(M.x),M.y=Math.round(M.y),M.width=N-M.x,M.height=u-M.y}}else M={x:0,y:0,width:0,height:0};return t.rotatable&&(M.rotate=s.rotate||0),t.scalable&&(M.scaleX=s.scaleX||1,M.scaleY=s.scaleY||1),M},setData:function(e){var t=this.options,s=this.imageData,o=this.canvasData,r={};if(this.ready&&!this.disabled&&Bt(e)){var M=!1;t.rotatable&&H(e.rotate)&&e.rotate!==s.rotate&&(s.rotate=e.rotate,M=!0),t.scalable&&(H(e.scaleX)&&e.scaleX!==s.scaleX&&(s.scaleX=e.scaleX,M=!0),H(e.scaleY)&&e.scaleY!==s.scaleY&&(s.scaleY=e.scaleY,M=!0)),M&&this.renderCanvas(!0,!0);var a=s.width/s.naturalWidth;H(e.x)&&(r.left=e.x*a+o.left),H(e.y)&&(r.top=e.y*a+o.top),H(e.width)&&(r.width=e.width*a),H(e.height)&&(r.height=e.height*a),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?ie({},this.containerData):{}},getImageData:function(){return this.sized?ie({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&ae(["left","top","width","height","naturalWidth","naturalHeight"],function(s){t[s]=e[s]}),t},setCanvasData:function(e){var t=this.canvasData,s=t.aspectRatio;return this.ready&&!this.disabled&&Bt(e)&&(H(e.left)&&(t.left=e.left),H(e.top)&&(t.top=e.top),H(e.width)?(t.width=e.width,t.height=e.width/s):H(e.height)&&(t.height=e.height,t.width=e.height*s),this.renderCanvas(!0)),this},getCropBoxData:function(){var e=this.cropBoxData,t;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(e){var t=this.cropBoxData,s=this.options.aspectRatio,o,r;return this.ready&&this.cropped&&!this.disabled&&Bt(e)&&(H(e.left)&&(t.left=e.left),H(e.top)&&(t.top=e.top),H(e.width)&&e.width!==t.width&&(o=!0,t.width=e.width),H(e.height)&&e.height!==t.height&&(r=!0,t.height=e.height),s&&(o?t.height=t.width/s:r&&(t.width=t.height*s)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,s=zle(this.image,this.imageData,t,e);if(!this.cropped)return s;var o=this.getData(e.rounded),r=o.x,M=o.y,a=o.width,u=o.height,N=s.width/Math.floor(t.naturalWidth);N!==1&&(r*=N,M*=N,a*=N,u*=N);var l=a/u,c=gt({aspectRatio:l,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),L=gt({aspectRatio:l,width:e.minWidth||0,height:e.minHeight||0},"cover"),j=gt({aspectRatio:l,width:e.width||(N!==1?s.width:a),height:e.height||(N!==1?s.height:u)}),T=j.width,D=j.height;T=Math.min(c.width,Math.max(L.width,T)),D=Math.min(c.height,Math.max(L.height,D));var I=document.createElement("canvas"),C=I.getContext("2d");I.width=Ht(T),I.height=Ht(D),C.fillStyle=e.fillColor||"transparent",C.fillRect(0,0,T,D);var E=e.imageSmoothingEnabled,A=E===void 0?!0:E,_=e.imageSmoothingQuality;C.imageSmoothingEnabled=A,_&&(C.imageSmoothingQuality=_);var p=s.width,z=s.height,O=r,k=M,f,P,Y,V,oe,F;O<=-a||O>p?(O=0,f=0,Y=0,oe=0):O<=0?(Y=-O,O=0,f=Math.min(p,a+O),oe=f):O<=p&&(Y=0,f=Math.min(a,p-O),oe=f),f<=0||k<=-u||k>z?(k=0,P=0,V=0,F=0):k<=0?(V=-k,k=0,P=Math.min(z,u+k),F=P):k<=z&&(V=0,P=Math.min(u,z-k),F=P);var G=[O,k,f,P];if(oe>0&&F>0){var ue=T/a;G.push(Y*ue,V*ue,oe*ue,F*ue)}return C.drawImage.apply(C,[s].concat(Pa(G.map(function(ke){return Math.floor(Ht(ke))})))),I},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!Ji(e)&&(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,s=this.dragBox,o=this.face;if(this.ready&&!this.disabled){var r=e===Ko,M=t.movable&&e===Ba;e=r||M?e:Fa,t.dragMode=e,hs(s,Cs,e),Ft(s,po,r),Ft(s,mo,M),t.cropBoxMovable||(hs(o,Cs,e),Ft(o,po,r),Ft(o,mo,M))}return this}},fle=Fe.Cropper,ec=function(){function i(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(FNe(this,i),!e||!Mle.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=ie({},Mn,Bt(t)&&t),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 GNe(i,[{key:"init",value:function(){var t=this.element,s=t.tagName.toLowerCase(),o;if(!t[se]){if(t[se]=this,s==="img"){if(this.isImg=!0,o=t.getAttribute("src")||"",this.originalUrl=o,!o)return;o=t.src}else s==="canvas"&&window.HTMLCanvasElement&&(o=t.toDataURL());this.load(o)}}},{key:"load",value:function(t){var s=this;if(t){this.url=t,this.imageData={};var o=this.element,r=this.options;if(!r.rotatable&&!r.scalable&&(r.checkOrientation=!1),!r.checkOrientation||!window.ArrayBuffer){this.clone();return}if(ole.test(t)){rle.test(t)?this.read(Cle(t)):this.clone();return}var M=new XMLHttpRequest,a=this.clone.bind(this);this.reloading=!0,this.xhr=M,M.onabort=a,M.onerror=a,M.ontimeout=a,M.onprogress=function(){M.getResponseHeader("content-type")!==rn&&M.abort()},M.onload=function(){s.read(M.response)},M.onloadend=function(){s.reloading=!1,s.xhr=null},r.checkCrossOrigin&&an(t)&&o.crossOrigin&&(t=cn(t)),M.open("GET",t,!0),M.responseType="arraybuffer",M.withCredentials=o.crossOrigin==="use-credentials",M.send()}}},{key:"read",value:function(t){var s=this.options,o=this.imageData,r=Ale(t),M=0,a=1,u=1;if(r>1){this.url=hle(t,rn);var N=ple(r);M=N.rotate,a=N.scaleX,u=N.scaleY}s.rotatable&&(o.rotate=M),s.scalable&&(o.scaleX=a,o.scaleY=u),this.clone()}},{key:"clone",value:function(){var t=this.element,s=this.url,o=t.crossOrigin,r=s;this.options.checkCrossOrigin&&an(s)&&(o||(o="anonymous"),r=cn(s)),this.crossOrigin=o,this.crossOriginUrl=r;var M=document.createElement("img");o&&(M.crossOrigin=o),M.src=r||s,M.alt=t.alt||"The image to crop",this.image=M,M.onload=this.start.bind(this),M.onerror=this.stop.bind(this),ce(M,ZM),t.parentNode.insertBefore(M,t.nextSibling)}},{key:"start",value:function(){var t=this,s=this.image;s.onload=null,s.onerror=null,this.sizing=!0;var o=Fe.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(Fe.navigator.userAgent),r=function(N,l){ie(t.imageData,{naturalWidth:N,naturalHeight:l,aspectRatio:N/l}),t.initialImageData=ie({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(s.naturalWidth&&!o){r(s.naturalWidth,s.naturalHeight);return}var M=document.createElement("img"),a=document.body||document.documentElement;this.sizingImage=M,M.onload=function(){r(M.width,M.height),o||a.removeChild(M)},M.src=s.src,o||(M.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;",a.appendChild(M))}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var t=this.element,s=this.options,o=this.image,r=t.parentNode,M=document.createElement("div");M.innerHTML=nle;var a=M.querySelector(".".concat(se,"-container")),u=a.querySelector(".".concat(se,"-canvas")),N=a.querySelector(".".concat(se,"-drag-box")),l=a.querySelector(".".concat(se,"-crop-box")),c=l.querySelector(".".concat(se,"-face"));this.container=r,this.cropper=a,this.canvas=u,this.dragBox=N,this.cropBox=l,this.viewBox=a.querySelector(".".concat(se,"-view-box")),this.face=c,u.appendChild(o),ce(t,me),r.insertBefore(a,t.nextSibling),Be(o,ZM),this.initPreview(),this.bind(),s.initialAspectRatio=Math.max(0,s.initialAspectRatio)||NaN,s.aspectRatio=Math.max(0,s.aspectRatio)||NaN,s.viewMode=Math.max(0,Math.min(3,Math.round(s.viewMode)))||0,ce(l,me),s.guides||ce(l.getElementsByClassName("".concat(se,"-dashed")),me),s.center||ce(l.getElementsByClassName("".concat(se,"-center")),me),s.background&&ce(a,"".concat(se,"-bg")),s.highlight||ce(c,qNe),s.cropBoxMovable&&(ce(c,mo),hs(c,Cs,Xo)),s.cropBoxResizable||(ce(l.getElementsByClassName("".concat(se,"-line")),me),ce(l.getElementsByClassName("".concat(se,"-point")),me)),this.render(),this.ready=!0,this.setDragMode(s.dragMode),s.autoCrop&&this.crop(),this.setData(s.data),pe(s.ready)&&Se(t,tn,s.ready,{once:!0}),Vt(t,tn)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),Be(this.element,me)}}},{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=fle,i}},{key:"setDefaults",value:function(t){ie(Mn,Bt(t)&&t)}}])}();ie(ec.prototype,mle,Ole,Ele,_le,Sle,xle);var mt=function(){return mt=Object.assign||function(i){for(var e,t=1,s=arguments.length;t0&&k.zoomTo(ke)}(O.currentTarget.cropper,A),I&&I(O)}}));C&&C(z)}return function(){var O,k;(k=(O=_.current)===null||O===void 0?void 0:O.cropper)===null||k===void 0||k.destroy()}},[_]);var p=function(z){return kle.reduce(function(O,k){var f=O,P=k;return f[P],Fi(f,[typeof P=="symbol"?P:P+""])},z)}(mt(mt({},E),{crossOrigin:u,src:r,alt:D}));return n.createElement("div",{style:M,className:a},n.createElement("img",mt({},p,{style:Yle,ref:_})))});const Ule=` /*! * Cropper.js v1.5.12 * https://fengyuanchen.github.io/cropperjs @@ -767,14 +767,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho .cropper-disabled .cropper-point { cursor: not-allowed; } -`,Ae={dropZone:{width:"100%",height:100,position:"relative"},dropZoneEmpty:{},image:{objectFit:"contain",margin:"auto",display:"flex",width:"100%",height:"100%"},uploadDiv:{position:"relative",width:"100%",height:300,opacity:.9,marginTop:30,cursor:"pointer",outline:"none"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"calc(100% - 10px)",height:"calc(100% - 10px)",position:"relative",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},disabledOpacity:{opacity:.3,cursor:"default"},buttonRemoveWrapper:{position:"absolute",zIndex:222,right:0},buttonCropWrapper:{position:"absolute",zIndex:222,right:0,top:50},error:{border:"2px solid red",boxSizing:"border-box"}};class j4e extends b.Component{cropperRef;constructor(e){if(super(e),this.state={uploadFile:!1,anchorEl:null,cropHandler:!1},this.cropperRef=b.createRef(),!window.document.getElementById("cropper-style-json-component")){const t=window.document.createElement("style");t.setAttribute("id","cropper-style-json-component"),t.innerHTML=Yle,window.document.head.appendChild(t)}}onDrop(e){const t=this.props.onChange,s=this.props.maxSize||10*1024,o=e[0],r=new FileReader;r.onabort=()=>console.log("file reading was aborted"),r.onerror=()=>console.log("file reading has failed"),r.onload=()=>{var u,N;if(!o||!o.name)return;const M=(u=o.name)==null?void 0:u.split(".");let n=M!=null&&M.length?`image/${(N=M.pop())==null?void 0:N.toLowerCase()}`:"image/jpeg";if(n==="image/jpg"?n="image/jpeg":n.includes("svg")&&(n="image/svg+xml"),o.size>s)window.alert(d.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(s/1024)));else{const l=`data:${n};base64,${btoa(new Uint8Array(r.result).reduce((c,L)=>c+String.fromCharCode(L),""))}`;t?t(l):console.log(l)}},r.readAsArrayBuffer(o)}render(){const{disabled:e,icon:t,removeIconFunc:s,error:o,crop:r,onChange:M}=this.props,n=this.props.maxSize||10*1024;let u=this.props.accept||{"image/*":[]};const{uploadFile:N,anchorEl:l,cropHandler:c}=this.state;if(typeof u=="string")u={[u]:[]};else if(Array.isArray(u)){const L={};u.forEach(j=>{L[j]=[]}),u=L}return a.createElement(un,{disabled:!!e||c,key:"dropzone",multiple:!1,accept:u,maxSize:n,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(L,j)=>{var T,D,z;this.setState({uploadFile:!1}),L.length?this.onDrop(L):window.alert(((z=(D=(T=j==null?void 0:j[0])==null?void 0:T.errors)==null?void 0:D[0])==null?void 0:z.message)||d.t("ra_Cannot upload"))}},({getRootProps:L,getInputProps:j})=>a.createElement("div",{style:{...Ae.uploadDiv,...N==="dragging"?Ae.uploadDivDragging:void 0,...Ae.dropZone,...e?Ae.disabledOpacity:void 0,...t?void 0:Ae.dropZoneEmpty},...L()},a.createElement("input",{...j()}),a.createElement("div",{style:{...Ae.uploadCenterDiv,...o?Ae.error:void 0}},t?s&&!c&&a.createElement("div",{style:Ae.buttonRemoveWrapper},a.createElement(g.Tooltip,{title:d.t("ra_Clear"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(g.IconButton,{size:"large",onClick:T=>{s&&s(),T.stopPropagation()}},a.createElement(m.Close,null)))):a.createElement("div",{style:Ae.uploadCenterTextAndIcon},a.createElement(m.UploadFileOutlined,{style:Ae.uploadCenterIcon}),a.createElement("div",{style:Ae.uploadCenterText},N==="dragging"?d.t("ra_Drop file here"):d.t("ra_Place your files here or click here to open the browse dialog"))),t&&r&&a.createElement("div",{style:Ae.buttonCropWrapper},a.createElement(g.Tooltip,{title:d.t("ra_Crop"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},a.createElement(g.IconButton,{size:"large",onClick:T=>{c?this.setState({anchorEl:T.currentTarget}):this.setState({cropHandler:!0}),T.stopPropagation()}},a.createElement(m.Crop,{color:c?"primary":"inherit"}))),a.createElement(g.Menu,{anchorEl:l,keepMounted:!0,open:!!l,onClose:()=>this.setState({anchorEl:null})},a.createElement(g.MenuItem,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1},()=>{var D,z;const T=(z=(D=this.cropperRef)==null?void 0:D.current)==null?void 0:z.cropper;T&&(M?M(T.getCroppedCanvas().toDataURL()):console.log(T.getCroppedCanvas().toDataURL()))})},d.t("ra_Save")),a.createElement(g.MenuItem,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1})},d.t("ra_Close")))),t&&!c?a.createElement(Ie,{src:t,style:Ae.image,alt:"icon"}):null,t&&r&&c?a.createElement(kle,{ref:this.cropperRef,style:Ae.image,src:t,initialAspectRatio:1,viewMode:1,guides:!1,minCropBoxHeight:10,minCropBoxWidth:10,background:!1,checkOrientation:!1}):null)))}}const ut={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},Qle={once:"once"},Te={seconds:"seconds",minutes:"minutes"},an=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function Je(i){return i<10?`0${i}`:`${i}`}const Ule={mode:"interval",interval:{period:1,unit:Te.minutes}};function ei(i){if(i==="*")return[0,1,2,3,4,5,6];const e=i.split(","),t=[];return e.forEach(s=>{const o=s.split("-");if(o.length===2){const r=parseInt(o[0],10),M=parseInt(o[1],10);for(let n=r;n<=M;n++)t.includes(n===7?0:n)||t.push(n===7?0:n)}else{s==="7"&&(s="0");const r=parseInt(s,10);t.includes(r)||t.push(r)}}),t.sort(),t}function qa(i,e){i=i.replace(/['"]/g,"").trim();const t=i.split(" ");let s,o=null;return t.length===6?s={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",date:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:s={seconds:null,minutes:t[0]||"*",hours:t[1]||"*",date:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},s.seconds===null&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)&&(o={mode:"interval",interval:{period:1,unit:Te.minutes}}),s.seconds==="*"&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"interval",interval:{period:1,unit:Te.seconds}}:s.seconds===null&&s.minutes.includes("/")&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"interval",interval:{period:parseInt(s.minutes.split("/")[1],10),unit:Te.minutes}}:s.seconds!==null&&s.seconds.includes("/")&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"interval",interval:{period:parseInt(s.seconds.split("/")[1],10),unit:Te.seconds}}:s.seconds!==null&&s.seconds.includes("/")&&s.minutes==="*"&&s.hours.includes("-")&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"intervalBetween",intervalBetween:{period:parseInt(s.seconds.split("/")[1],10),unit:Te.seconds,timeFrom:parseInt(s.hours.split("-")[0],10),timeTo:parseInt(s.hours.split("-")[1],10),weekdays:ei(s.dow)}}:s.seconds===null&&s.minutes.includes("/")&&s.hours.includes("-")&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"intervalBetween",intervalBetween:{period:parseInt(s.minutes.split("/")[1],10),unit:Te.minutes,timeFrom:parseInt(s.hours.split("-")[0],10),timeTo:parseInt(s.hours.split("-")[1],10),weekdays:ei(s.dow)}}:s.seconds===null&&parseInt(s.minutes,10).toString()===s.minutes&&parseInt(s.hours,10).toString()===s.hours&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"specific",specific:{time:`${Je(parseInt(s.hours,10))}:${Je(parseInt(s.minutes,10))}`,weekdays:ei(s.dow)}}:s.seconds===null&&parseInt(s.minutes,10).toString()===s.minutes&&parseInt(s.hours,10).toString()===s.hours&&parseInt(s.date,10).toString()===s.date&&parseInt(s.months,10).toString()===s.months&&(s.dow==="*"||e)&&(o={mode:"once",once:{time:`${Je(parseInt(s.hours,10))}:${Je(parseInt(s.minutes,10))}`,date:`${Je(parseInt(s.date,10))}.${Je(parseInt(s.months,10))}`}}),o}class As extends a.Component{constructor(e){super(e);let t=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";t[0]==="{"&&(t="");const s=qa(t||"* * * * *",!0)||Ule;this.state={extended:!1,cron:As.state2cron(s),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:Te.minutes},intervalBetween:{period:1,unit:Te.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,s),this.state.cron!==e.cronExpression&&setTimeout(()=>e.onChange&&e.onChange(this.state.cron),100)}static periodArray2text(e,t=7){if(t=t||7,e.length===t)return"*";const s=[];let o=null,r=null;if(!e.length)return"_";for(let M=0;M60&&(s.period=60),s.period!==void 0&&s.period<1&&(s.period=1),s.minutes!==void 0&&s.minutes!==null&&s.minutes>60&&(s.minutes=60),s.minutes!==void 0&&s.minutes!==null&&s.minutes<1&&(s.minutes=1),s.hours!==void 0&&s.hours!==null&&s.hours>24&&(s.hours=24),s.hours!==void 0&&s.hours!==null&&s.hours<1&&(s.hours=1),e.extended)t=`${s.minutes!==void 0&&s.minutes!==null&&s.minutes>1?`*/${s.minutes}`:"*"} ${s.hours!==void 0&&s.hours!==null&&s.hours>1?`*/${s.hours}`:"*"} * * *`;else switch(s.unit){case Te.seconds:t=`${s.period>1?`*/${s.period}`:"*"} * * * * *`;break;case Te.minutes:t=`${s.period>1?`*/${s.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const s=e.intervalBetween||{period:1,unit:Te.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]};let o;switch(s.timeFrom=s.timeFrom||0,s.timeTo=s.timeTo===void 0?24:s.timeTo,s.timeFrom!==0&&s.timeTo===24&&(s.timeTo=23),s.timeFrom===0&&s.timeTo===24?o="*":o=s.timeFrom!==s.timeTo?`${s.timeFrom}-${s.timeTo}`:"*",s.period>60&&(s.period=60),s.period<1&&(s.period=1),s.unit=s.unit||Te.minutes,s.unit){case Te.seconds:t=`${s.period>1?`*/${s.period}`:"*"} * ${o} * * ${this.periodArray2text(s.weekdays)}`;break;case Te.minutes:t=`${s.period>1?`*/${s.period}`:"*"} ${o} * * ${this.periodArray2text(s.weekdays)}`;break}}else if(e.mode==="specific"){const s=e.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},o=(s.time||"00:00").split(":");let r=parseInt(o[1],10)||0;r>59&&(r=59),r<0&&(r=0);let M=parseInt(o[0],10)||0;M>23&&(M=59),M<0&&(M=0),t=`${r} ${M} * * ${this.periodArray2text(s.weekdays||[])}`}else if(e.mode==="once"){const s=e.once||{time:"00:00",date:""};s.date||(s.date=`${new Date().getDate()}.${Je(new Date().getMonth()+1)}`);const o=(s.time||"00:00").split(":"),r=s.date.split(".");let M=parseInt(o[1],10)||0;M>59&&(M=59),M<0&&(M=0);let n=parseInt(o[0],10)||0;n>23&&(n=59),n<0&&(n=0);let u=parseInt(r[0],10)||1;u>31&&(u=31),u<1&&(n=1);let N=parseInt(r[1],10)||1;N>12&&(N=12),N<1&&(N=1),t=`${M} ${n} ${u} ${N} *`}return t}recalcCron(){this.onChange(As.state2cron(this.state))}getControlsWeekdaysElements(e){const t=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return a.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},a.createElement("h5",null,d.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(s=>a.createElement(g.FormControlLabel,{key:an[s],control:a.createElement(g.Checkbox,{checked:t.weekdays.includes(s),onChange:o=>{const r=JSON.parse(JSON.stringify(this.state[e])),M=r.weekdays.indexOf(s);o.target.checked?M===-1&&r.weekdays.push(s):M!==-1&&r.weekdays.splice(M,1),r.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:r},()=>this.recalcCron()):this.setState({specific:r},()=>this.recalcCron())},value:s.toString()}),label:d.t(an[s])})))}getControlsPeriodElements(e){const t=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?a.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},a.createElement("h5",{style:{marginBottom:5}},d.t("sc_period")),a.createElement(g.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:d.t("sc_minutes"),value:t.minutes,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.minutes=parseInt(s.target.value,10),o.minutes<1&&(o.minutes=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),a.createElement(g.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:d.t("sc_hours"),value:t.hours,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.hours=parseInt(s.target.value,10),o.hours<1&&(o.hours=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):a.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},a.createElement("h5",{style:{marginBottom:5}},d.t("sc_period")),a.createElement(g.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:d.t("sc_every"),value:t.period,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.period=parseInt(s.target.value,10),o.period<1&&(o.period=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),a.createElement(g.Select,{variant:"standard",style:{verticalAlign:"bottom"},value:t.unit,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.unit=s.target.value,e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())}},a.createElement(g.MenuItem,{value:"seconds"},d.t("sc_seconds")),")",a.createElement(g.MenuItem,{value:"minutes"},d.t("sc_minutes")),")"))}getControlsTime(e){const t=e==="once"?this.state.once:this.state.specific;return a.createElement(g.FormControl,{variant:"standard",sx:{...ut.formControl,"&.MuiFormControl-root":ut.formControlMarginRight}},a.createElement(g.TextField,{variant:"standard",key:"at",label:d.t("sc_time"),value:t.time,type:"time",sx:s=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:s.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.time=s.target.value,e==="once"?this.setState({once:o},()=>this.recalcCron()):this.setState({specific:o},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){const e=this.state.once;if(!e.date){const t=new Date;e.date=`${t.getDate()}.${Je(t.getMonth()+1)}`}return a.createElement(g.FormControl,{variant:"standard",style:ut.formControl},a.createElement(g.TextField,{variant:"standard",key:"date",label:d.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:ut.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.once));s.date=t.target.value,this.setState({once:s},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return a.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){const e=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),a.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},a.createElement("h5",{style:{marginBottom:5}},d.t("sc_hours")),a.createElement(g.FormControl,{variant:"standard",style:ut.formControl},a.createElement(g.InputLabel,{shrink:!0,htmlFor:"age-label-placeholder"},d.t("sc_from")),a.createElement(g.Select,{variant:"standard",style:{width:100},value:e.timeFrom,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.intervalBetween));s.timeFrom=parseInt(t.target.value,10),s.timeTo===24&&(s.timeTo=23),this.setState({intervalBetween:s},()=>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(t=>a.createElement(g.MenuItem,{key:`B_${t}`,value:t},`${Je(t)}:00`)))),a.createElement(g.FormControl,{variant:"standard",style:ut.formControl},a.createElement(g.InputLabel,{shrink:!0,htmlFor:"age-label-placeholder"},d.t("sc_to")),a.createElement(g.Select,{variant:"standard",style:{width:100},value:e.timeTo,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.intervalBetween));s.timeTo=parseInt(t.target.value,10),this.setState({intervalBetween:s},()=>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(t=>a.createElement(g.MenuItem,{key:`A_${t}`,value:t},`${Je(t)}:00`)),!e.timeFrom&&a.createElement(g.MenuItem,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[a.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(e){e!==this.state.mode&&this.setState({mode:e},()=>this.recalcCron())}onChange(e){e!==this.state.cron&&(this.setState({cron:e}),this.props.onChange&&this.props.onChange(e))}render(){return a.createElement("div",{style:ut.mainDiv},a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},a.createElement(g.TextField,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),a.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?d.t("sc_invalid_cron"):qn(this.state.cron,this.props.language||"en")),a.createElement("div",null,a.createElement(g.FormControl,{variant:"standard",style:{...ut.formControl,marginLeft:8,marginTop:8}},a.createElement(g.InputLabel,null,d.t("ra_Repeat")),a.createElement(g.Select,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},a.createElement(g.MenuItem,{value:"once"},d.t("sc_once")),a.createElement(g.MenuItem,{value:"interval"},d.t("sc_interval")),a.createElement(g.MenuItem,{value:"intervalBetween"},d.t("sc_intervalBetween")),a.createElement(g.MenuItem,{value:"specific"},d.t("sc_specific"))))),this.state.mode===Qle.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}const vle=` +`,Ae={dropZone:{width:"100%",height:100,position:"relative"},dropZoneEmpty:{},image:{objectFit:"contain",margin:"auto",display:"flex",width:"100%",height:"100%"},uploadDiv:{position:"relative",width:"100%",height:300,opacity:.9,marginTop:30,cursor:"pointer",outline:"none"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"calc(100% - 10px)",height:"calc(100% - 10px)",position:"relative",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},disabledOpacity:{opacity:.3,cursor:"default"},buttonRemoveWrapper:{position:"absolute",zIndex:222,right:0},buttonCropWrapper:{position:"absolute",zIndex:222,right:0,top:50},error:{border:"2px solid red",boxSizing:"border-box"}};class T4e extends b.Component{cropperRef;constructor(e){if(super(e),this.state={uploadFile:!1,anchorEl:null,cropHandler:!1},this.cropperRef=b.createRef(),!window.document.getElementById("cropper-style-json-component")){const t=window.document.createElement("style");t.setAttribute("id","cropper-style-json-component"),t.innerHTML=Ule,window.document.head.appendChild(t)}}onDrop(e){const t=this.props.onChange,s=this.props.maxSize||10*1024,o=e[0],r=new FileReader;r.onabort=()=>console.log("file reading was aborted"),r.onerror=()=>console.log("file reading has failed"),r.onload=()=>{var u,N;if(!o||!o.name)return;const M=(u=o.name)==null?void 0:u.split(".");let a=M!=null&&M.length?`image/${(N=M.pop())==null?void 0:N.toLowerCase()}`:"image/jpeg";if(a==="image/jpg"?a="image/jpeg":a.includes("svg")&&(a="image/svg+xml"),o.size>s)window.alert(d.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(s/1024)));else{const l=`data:${a};base64,${btoa(new Uint8Array(r.result).reduce((c,L)=>c+String.fromCharCode(L),""))}`;t?t(l):console.log(l)}},r.readAsArrayBuffer(o)}render(){const{disabled:e,icon:t,removeIconFunc:s,error:o,crop:r,onChange:M}=this.props,a=this.props.maxSize||10*1024;let u=this.props.accept||{"image/*":[]};const{uploadFile:N,anchorEl:l,cropHandler:c}=this.state;if(typeof u=="string")u={[u]:[]};else if(Array.isArray(u)){const L={};u.forEach(j=>{L[j]=[]}),u=L}return n.createElement(ln,{disabled:!!e||c,key:"dropzone",multiple:!1,accept:u,maxSize:a,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(L,j)=>{var T,D,I;this.setState({uploadFile:!1}),L.length?this.onDrop(L):window.alert(((I=(D=(T=j==null?void 0:j[0])==null?void 0:T.errors)==null?void 0:D[0])==null?void 0:I.message)||d.t("ra_Cannot upload"))}},({getRootProps:L,getInputProps:j})=>n.createElement("div",{style:{...Ae.uploadDiv,...N==="dragging"?Ae.uploadDivDragging:void 0,...Ae.dropZone,...e?Ae.disabledOpacity:void 0,...t?void 0:Ae.dropZoneEmpty},...L()},n.createElement("input",{...j()}),n.createElement("div",{style:{...Ae.uploadCenterDiv,...o?Ae.error:void 0}},t?s&&!c&&n.createElement("div",{style:Ae.buttonRemoveWrapper},n.createElement(g.Tooltip,{title:d.t("ra_Clear"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(g.IconButton,{size:"large",onClick:T=>{s&&s(),T.stopPropagation()}},n.createElement(m.Close,null)))):n.createElement("div",{style:Ae.uploadCenterTextAndIcon},n.createElement(m.UploadFileOutlined,{style:Ae.uploadCenterIcon}),n.createElement("div",{style:Ae.uploadCenterText},N==="dragging"?d.t("ra_Drop file here"):d.t("ra_Place your files here or click here to open the browse dialog"))),t&&r&&n.createElement("div",{style:Ae.buttonCropWrapper},n.createElement(g.Tooltip,{title:d.t("ra_Crop"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(g.IconButton,{size:"large",onClick:T=>{c?this.setState({anchorEl:T.currentTarget}):this.setState({cropHandler:!0}),T.stopPropagation()}},n.createElement(m.Crop,{color:c?"primary":"inherit"}))),n.createElement(g.Menu,{anchorEl:l,keepMounted:!0,open:!!l,onClose:()=>this.setState({anchorEl:null})},n.createElement(g.MenuItem,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1},()=>{var D,I;const T=(I=(D=this.cropperRef)==null?void 0:D.current)==null?void 0:I.cropper;T&&(M?M(T.getCroppedCanvas().toDataURL()):console.log(T.getCroppedCanvas().toDataURL()))})},d.t("ra_Save")),n.createElement(g.MenuItem,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1})},d.t("ra_Close")))),t&&!c?n.createElement(Ie,{src:t,style:Ae.image,alt:"icon"}):null,t&&r&&c?n.createElement(Qle,{ref:this.cropperRef,style:Ae.image,src:t,initialAspectRatio:1,viewMode:1,guides:!1,minCropBoxHeight:10,minCropBoxWidth:10,background:!1,checkOrientation:!1}):null)))}}const ut={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},vle={once:"once"},Te={seconds:"seconds",minutes:"minutes"},un=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function Je(i){return i<10?`0${i}`:`${i}`}const ble={mode:"interval",interval:{period:1,unit:Te.minutes}};function ei(i){if(i==="*")return[0,1,2,3,4,5,6];const e=i.split(","),t=[];return e.forEach(s=>{const o=s.split("-");if(o.length===2){const r=parseInt(o[0],10),M=parseInt(o[1],10);for(let a=r;a<=M;a++)t.includes(a===7?0:a)||t.push(a===7?0:a)}else{s==="7"&&(s="0");const r=parseInt(s,10);t.includes(r)||t.push(r)}}),t.sort(),t}function tc(i,e){i=i.replace(/['"]/g,"").trim();const t=i.split(" ");let s,o=null;return t.length===6?s={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",date:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:s={seconds:null,minutes:t[0]||"*",hours:t[1]||"*",date:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},s.seconds===null&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)&&(o={mode:"interval",interval:{period:1,unit:Te.minutes}}),s.seconds==="*"&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"interval",interval:{period:1,unit:Te.seconds}}:s.seconds===null&&s.minutes.includes("/")&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"interval",interval:{period:parseInt(s.minutes.split("/")[1],10),unit:Te.minutes}}:s.seconds!==null&&s.seconds.includes("/")&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"interval",interval:{period:parseInt(s.seconds.split("/")[1],10),unit:Te.seconds}}:s.seconds!==null&&s.seconds.includes("/")&&s.minutes==="*"&&s.hours.includes("-")&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"intervalBetween",intervalBetween:{period:parseInt(s.seconds.split("/")[1],10),unit:Te.seconds,timeFrom:parseInt(s.hours.split("-")[0],10),timeTo:parseInt(s.hours.split("-")[1],10),weekdays:ei(s.dow)}}:s.seconds===null&&s.minutes.includes("/")&&s.hours.includes("-")&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"intervalBetween",intervalBetween:{period:parseInt(s.minutes.split("/")[1],10),unit:Te.minutes,timeFrom:parseInt(s.hours.split("-")[0],10),timeTo:parseInt(s.hours.split("-")[1],10),weekdays:ei(s.dow)}}:s.seconds===null&&parseInt(s.minutes,10).toString()===s.minutes&&parseInt(s.hours,10).toString()===s.hours&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?o={mode:"specific",specific:{time:`${Je(parseInt(s.hours,10))}:${Je(parseInt(s.minutes,10))}`,weekdays:ei(s.dow)}}:s.seconds===null&&parseInt(s.minutes,10).toString()===s.minutes&&parseInt(s.hours,10).toString()===s.hours&&parseInt(s.date,10).toString()===s.date&&parseInt(s.months,10).toString()===s.months&&(s.dow==="*"||e)&&(o={mode:"once",once:{time:`${Je(parseInt(s.hours,10))}:${Je(parseInt(s.minutes,10))}`,date:`${Je(parseInt(s.date,10))}.${Je(parseInt(s.months,10))}`}}),o}class As extends n.Component{constructor(e){super(e);let t=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";t[0]==="{"&&(t="");const s=tc(t||"* * * * *",!0)||ble;this.state={extended:!1,cron:As.state2cron(s),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:Te.minutes},intervalBetween:{period:1,unit:Te.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,s),this.state.cron!==e.cronExpression&&setTimeout(()=>e.onChange&&e.onChange(this.state.cron),100)}static periodArray2text(e,t=7){if(t=t||7,e.length===t)return"*";const s=[];let o=null,r=null;if(!e.length)return"_";for(let M=0;M60&&(s.period=60),s.period!==void 0&&s.period<1&&(s.period=1),s.minutes!==void 0&&s.minutes!==null&&s.minutes>60&&(s.minutes=60),s.minutes!==void 0&&s.minutes!==null&&s.minutes<1&&(s.minutes=1),s.hours!==void 0&&s.hours!==null&&s.hours>24&&(s.hours=24),s.hours!==void 0&&s.hours!==null&&s.hours<1&&(s.hours=1),e.extended)t=`${s.minutes!==void 0&&s.minutes!==null&&s.minutes>1?`*/${s.minutes}`:"*"} ${s.hours!==void 0&&s.hours!==null&&s.hours>1?`*/${s.hours}`:"*"} * * *`;else switch(s.unit){case Te.seconds:t=`${s.period>1?`*/${s.period}`:"*"} * * * * *`;break;case Te.minutes:t=`${s.period>1?`*/${s.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const s=e.intervalBetween||{period:1,unit:Te.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]};let o;switch(s.timeFrom=s.timeFrom||0,s.timeTo=s.timeTo===void 0?24:s.timeTo,s.timeFrom!==0&&s.timeTo===24&&(s.timeTo=23),s.timeFrom===0&&s.timeTo===24?o="*":o=s.timeFrom!==s.timeTo?`${s.timeFrom}-${s.timeTo}`:"*",s.period>60&&(s.period=60),s.period<1&&(s.period=1),s.unit=s.unit||Te.minutes,s.unit){case Te.seconds:t=`${s.period>1?`*/${s.period}`:"*"} * ${o} * * ${this.periodArray2text(s.weekdays)}`;break;case Te.minutes:t=`${s.period>1?`*/${s.period}`:"*"} ${o} * * ${this.periodArray2text(s.weekdays)}`;break}}else if(e.mode==="specific"){const s=e.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},o=(s.time||"00:00").split(":");let r=parseInt(o[1],10)||0;r>59&&(r=59),r<0&&(r=0);let M=parseInt(o[0],10)||0;M>23&&(M=59),M<0&&(M=0),t=`${r} ${M} * * ${this.periodArray2text(s.weekdays||[])}`}else if(e.mode==="once"){const s=e.once||{time:"00:00",date:""};s.date||(s.date=`${new Date().getDate()}.${Je(new Date().getMonth()+1)}`);const o=(s.time||"00:00").split(":"),r=s.date.split(".");let M=parseInt(o[1],10)||0;M>59&&(M=59),M<0&&(M=0);let a=parseInt(o[0],10)||0;a>23&&(a=59),a<0&&(a=0);let u=parseInt(r[0],10)||1;u>31&&(u=31),u<1&&(a=1);let N=parseInt(r[1],10)||1;N>12&&(N=12),N<1&&(N=1),t=`${M} ${a} ${u} ${N} *`}return t}recalcCron(){this.onChange(As.state2cron(this.state))}getControlsWeekdaysElements(e){const t=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return n.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},n.createElement("h5",null,d.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(s=>n.createElement(g.FormControlLabel,{key:un[s],control:n.createElement(g.Checkbox,{checked:t.weekdays.includes(s),onChange:o=>{const r=JSON.parse(JSON.stringify(this.state[e])),M=r.weekdays.indexOf(s);o.target.checked?M===-1&&r.weekdays.push(s):M!==-1&&r.weekdays.splice(M,1),r.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:r},()=>this.recalcCron()):this.setState({specific:r},()=>this.recalcCron())},value:s.toString()}),label:d.t(un[s])})))}getControlsPeriodElements(e){const t=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?n.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},n.createElement("h5",{style:{marginBottom:5}},d.t("sc_period")),n.createElement(g.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:d.t("sc_minutes"),value:t.minutes,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.minutes=parseInt(s.target.value,10),o.minutes<1&&(o.minutes=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),n.createElement(g.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:d.t("sc_hours"),value:t.hours,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.hours=parseInt(s.target.value,10),o.hours<1&&(o.hours=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):n.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},n.createElement("h5",{style:{marginBottom:5}},d.t("sc_period")),n.createElement(g.TextField,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:d.t("sc_every"),value:t.period,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.period=parseInt(s.target.value,10),o.period<1&&(o.period=1),e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),n.createElement(g.Select,{variant:"standard",style:{verticalAlign:"bottom"},value:t.unit,onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.unit=s.target.value,e==="interval"?this.setState({interval:o},()=>this.recalcCron()):this.setState({intervalBetween:o},()=>this.recalcCron())}},n.createElement(g.MenuItem,{value:"seconds"},d.t("sc_seconds")),")",n.createElement(g.MenuItem,{value:"minutes"},d.t("sc_minutes")),")"))}getControlsTime(e){const t=e==="once"?this.state.once:this.state.specific;return n.createElement(g.FormControl,{variant:"standard",sx:{...ut.formControl,"&.MuiFormControl-root":ut.formControlMarginRight}},n.createElement(g.TextField,{variant:"standard",key:"at",label:d.t("sc_time"),value:t.time,type:"time",sx:s=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:s.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:s=>{const o=JSON.parse(JSON.stringify(this.state[e]));o.time=s.target.value,e==="once"?this.setState({once:o},()=>this.recalcCron()):this.setState({specific:o},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){const e=this.state.once;if(!e.date){const t=new Date;e.date=`${t.getDate()}.${Je(t.getMonth()+1)}`}return n.createElement(g.FormControl,{variant:"standard",style:ut.formControl},n.createElement(g.TextField,{variant:"standard",key:"date",label:d.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:ut.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.once));s.date=t.target.value,this.setState({once:s},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return n.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){const e=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),n.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},n.createElement("h5",{style:{marginBottom:5}},d.t("sc_hours")),n.createElement(g.FormControl,{variant:"standard",style:ut.formControl},n.createElement(g.InputLabel,{shrink:!0,htmlFor:"age-label-placeholder"},d.t("sc_from")),n.createElement(g.Select,{variant:"standard",style:{width:100},value:e.timeFrom,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.intervalBetween));s.timeFrom=parseInt(t.target.value,10),s.timeTo===24&&(s.timeTo=23),this.setState({intervalBetween:s},()=>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(t=>n.createElement(g.MenuItem,{key:`B_${t}`,value:t},`${Je(t)}:00`)))),n.createElement(g.FormControl,{variant:"standard",style:ut.formControl},n.createElement(g.InputLabel,{shrink:!0,htmlFor:"age-label-placeholder"},d.t("sc_to")),n.createElement(g.Select,{variant:"standard",style:{width:100},value:e.timeTo,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.intervalBetween));s.timeTo=parseInt(t.target.value,10),this.setState({intervalBetween:s},()=>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(t=>n.createElement(g.MenuItem,{key:`A_${t}`,value:t},`${Je(t)}:00`)),!e.timeFrom&&n.createElement(g.MenuItem,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[n.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(e){e!==this.state.mode&&this.setState({mode:e},()=>this.recalcCron())}onChange(e){e!==this.state.cron&&(this.setState({cron:e}),this.props.onChange&&this.props.onChange(e))}render(){return n.createElement("div",{style:ut.mainDiv},n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},n.createElement(g.TextField,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?d.t("sc_invalid_cron"):ta(this.state.cron,this.props.language||"en")),n.createElement("div",null,n.createElement(g.FormControl,{variant:"standard",style:{...ut.formControl,marginLeft:8,marginTop:8}},n.createElement(g.InputLabel,null,d.t("ra_Repeat")),n.createElement(g.Select,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},n.createElement(g.MenuItem,{value:"once"},d.t("sc_once")),n.createElement(g.MenuItem,{value:"interval"},d.t("sc_interval")),n.createElement(g.MenuItem,{value:"intervalBetween"},d.t("sc_intervalBetween")),n.createElement(g.MenuItem,{value:"specific"},d.t("sc_specific"))))),this.state.mode===vle.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}const $le=` .logo-background-light, .logo-background-colored { background: white; } .logo-background-dark, .logo-background-blue { background: black; } -`;function g4e(i){b.useEffect(()=>{if(!window.document.getElementById("vendor-iobroker-component")){const t=window.document.createElement("style");t.setAttribute("id","vendor-iobroker-component"),t.innerHTML=vle,window.document.head.appendChild(t)}},[]);const e=i.themeType||i.themeName||"light";return a.createElement("div",{className:`vendor-logo-back logo-background-${e}`,style:{display:"flex",flexDirection:"column",height:"100%",width:"10%",margin:"auto",backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:i.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},a.createElement("div",{style:{flexGrow:1}}),a.createElement(g.CircularProgress,{color:"secondary",size:i.size||200,thickness:5}),a.createElement("div",{style:{flexGrow:1}}))}const ble=` +`;function y4e(i){b.useEffect(()=>{if(!window.document.getElementById("vendor-iobroker-component")){const t=window.document.createElement("style");t.setAttribute("id","vendor-iobroker-component"),t.innerHTML=$le,window.document.head.appendChild(t)}},[]);const e=i.themeType||i.themeName||"light";return n.createElement("div",{className:`vendor-logo-back logo-background-${e}`,style:{display:"flex",flexDirection:"column",height:"100%",width:"10%",margin:"auto",backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:i.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{style:{flexGrow:1}}),n.createElement(g.CircularProgress,{color:"secondary",size:i.size||200,thickness:5}),n.createElement("div",{style:{flexGrow:1}}))}const Ple=` .logo-background-light, .logo-background-colored { background: white; } @@ -877,7 +877,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho transform: rotate(165deg); } } -`;function T4e(i){const e=i.size||200;b.useEffect(()=>{if(!window.document.getElementById("pt-iobroker-component")){const s=window.document.createElement("style");s.setAttribute("id","pt-iobroker-component"),s.innerHTML=ble,window.document.head.appendChild(s)}},[]);const t=i.themeType||i.themeName||"light";return a.createElement("div",{className:`pt-logo-back logo-background-${t}`,style:{backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:i.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},a.createElement("div",{className:"pt-logo-div",style:{width:e,height:e}},a.createElement("div",{style:{width:200,height:200}},a.createElement("div",{className:"pt-loader-blue pt-loader-block"}),a.createElement("div",{className:"pt-loader-green pt-loader-block"}),a.createElement("div",{className:"pt-loader-red pt-loader-block"}))))}function y4e(i){const e=i.themeType||"light",t=i.size||300;return a.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:e==="dark"?"#000":"#FFF",backgroundSize:"cover"}},a.createElement("div",{style:{width:t,height:t,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:2}},a.createElement("svg",{viewBox:"0 0 500 500",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%"},a.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"200"}),a.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"133"}),a.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"83"}),a.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"66"}),a.createElement("circle",{strokeWidth:"15",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"15"}),a.createElement("g",null,a.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),a.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),a.createElement("g",{transform:"rotate(60, 250, 250)"},a.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),a.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),a.createElement("g",{transform:"rotate(120, 250, 250)"},a.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),a.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),[0,15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345].map(s=>a.createElement("line",{key:s,transform:`rotate(${s}, 250, 250)`,y2:"250",x2:"115",y1:"240",x1:"135",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),a.createElement("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 250 250",to:"360 250 250",dur:"10s",additive:"sum",repeatCount:"indefinite"})),a.createElement("path",{d:"M 56.089 160.250 C 55.077 162.588, 46.037 182.950, 36 205.500 C 25.963 228.050, 16.923 248.412, 15.911 250.750 L 14.071 255 28.286 254.976 L 42.500 254.952 47.931 242.226 C 50.918 235.227, 54.366 227.250, 55.592 224.500 L 57.822 219.500 66.383 237.250 L 74.945 255 88.973 255 C 96.688 255, 103 254.841, 103 254.646 C 103 254.452, 100.043 248.071, 96.430 240.466 L 89.859 226.638 91.603 222.771 C 92.563 220.644, 93.660 218.710, 94.043 218.473 C 94.426 218.237, 108.609 246.609, 125.562 281.522 L 156.384 345 166.071 345 C 175.705 345, 175.763 344.985, 176.856 342.250 C 179.911 334.602, 208 260.765, 208 260.383 C 208 260.138, 202.546 260.065, 195.879 260.219 L 183.759 260.500 174.629 285.244 C 169.608 298.853, 165.254 309.990, 164.952 309.994 C 164.651 309.997, 148.901 277.389, 129.952 237.532 C 111.004 197.674, 95.275 165.057, 95 165.049 C 94.725 165.041, 90.685 172.415, 86.022 181.435 C 81.358 190.455, 77.308 197.689, 77.022 197.510 C 76.735 197.331, 72.675 187.920, 68 176.598 C 63.325 165.275, 59.147 156.008, 58.714 156.005 C 58.282 156.002, 57.101 157.912, 56.089 160.250 M 55.294 168.694 C 52.241 175.842, 52.166 176.323, 53.718 178.692 L 55.349 181.182 56.706 178.591 C 57.453 177.166, 58.406 176, 58.825 176 C 59.244 176, 60.777 178.363, 62.232 181.250 C 64.829 186.403, 64.879 186.440, 64.939 183.250 C 64.973 181.463, 65.422 180, 65.937 180 C 66.724 180, 60.176 162.824, 58.920 161.596 C 58.689 161.370, 57.057 164.564, 55.294 168.694 M 91.698 175.542 C 89.205 180.626, 89.099 181.308, 90.410 183.792 L 91.840 186.500 92.926 183.669 C 94.349 179.961, 96.024 180.653, 98.588 186.009 L 100.676 190.370 101.324 187.132 C 101.832 184.592, 101.217 182.395, 98.473 176.947 C 96.549 173.126, 94.849 170, 94.696 170 C 94.542 170, 93.193 172.494, 91.698 175.542 M 157.005 192.607 C 143.168 197.636, 134.999 209.202, 135.001 223.761 C 135.002 232.756, 138.710 240.755, 145.856 247.180 C 152.159 252.848, 158.121 255, 167.518 255 C 173.509 255, 175.684 254.499, 180.811 251.936 C 200.823 241.936, 205.088 216.155, 189.337 200.403 C 181.479 192.546, 166.868 189.022, 157.005 192.607 M 206 223 L 206 255 215.472 255 L 224.944 255 225.222 241.419 L 225.500 227.837 230.500 234.660 C 233.250 238.412, 238.002 244.636, 241.060 248.491 L 246.620 255.500 253.810 255.168 L 261 254.836 261 222.918 L 261 191 251.528 191 L 242.056 191 241.778 204.552 L 241.500 218.104 231.111 204.552 L 220.722 191 213.361 191 L 206 191 206 223 M 285.821 192.331 C 276.229 195.045, 270.010 202.130, 270.004 210.349 C 269.995 221.957, 275.913 226.925, 295.801 232.006 C 300.753 233.271, 302.228 235.609, 299.412 237.730 C 296.739 239.746, 288.369 238.774, 281.563 235.657 L 276.132 233.171 272.469 239.320 C 268.119 246.621, 268.341 247.287, 276.524 251.500 C 281.399 254.010, 283.761 254.556, 290.977 254.842 C 302.365 255.294, 307.420 253.846, 312.603 248.649 C 317.383 243.855, 319.463 236.989, 318.043 230.693 C 316.210 222.562, 311.258 218.610, 297.878 214.599 C 288.025 211.645, 285.443 209.631, 288.538 207.315 C 291.104 205.394, 302.270 205.946, 306.769 208.217 L 310.039 209.866 313.104 203.794 C 316.516 197.035, 316.622 197.304, 309.167 193.844 C 303.663 191.289, 292.140 190.542, 285.821 192.331 M 322 199 L 322 207 330 207 L 338 207 338 231 L 338 255 347.500 255 L 357 255 357 231.044 L 357 207.088 364.250 206.794 L 371.500 206.500 371.792 198.750 L 372.084 191 347.042 191 L 322 191 322 199 M 379 223 L 379 255 401 255 L 423 255 423 247.500 L 423 240 409.500 240 L 396 240 396 235 L 396 230 407.500 230 L 419 230 419 222 L 419 214 407.500 214 L 396 214 396 210.529 L 396 207.058 409.250 206.779 L 422.500 206.500 422.792 198.750 L 423.084 191 401.042 191 L 379 191 379 223 M 433 223 L 433 255 442 255 L 451 255 451 247 L 451 239 454.800 239 C 458.555 239, 458.645 239.092, 462.469 246.937 L 466.339 254.874 476.172 255.187 C 481.580 255.359, 486.003 255.111, 486.002 254.636 C 486.001 254.160, 483.277 249.264, 479.949 243.754 C 473.914 233.765, 473.903 233.732, 475.836 231.619 C 480.222 226.824, 482.359 220.791, 482.431 213 C 482.512 204.192, 480.272 198.822, 475.031 195.260 C 469.795 191.703, 465.527 191.012, 448.750 191.006 L 433 191 433 223 M 448.210 213.250 L 448.500 221.500 455.338 221.500 C 461.319 221.500, 462.417 221.204, 464.088 219.139 C 465.995 216.785, 466.556 212.613, 465.379 209.545 C 464.356 206.879, 459.449 205, 453.509 205 L 447.919 205 448.210 213.250 M 163.169 209.017 C 156.337 210.583, 151.176 218.533, 152.339 225.701 C 154.672 240.077, 175.040 242.355, 180.446 228.844 C 184.978 217.516, 175.176 206.267, 163.169 209.017 M 216.676 271.715 C 216.037 272.750, 188 344.021, 188 344.612 C 188 344.863, 192.811 344.940, 198.691 344.784 L 209.381 344.500 211.894 336.750 L 214.406 329 226.550 329 L 238.694 329 242.097 336.992 L 245.500 344.983 255.250 344.992 C 262.399 344.998, 264.994 344.667, 264.979 343.750 C 264.968 343.063, 258.477 326.525, 250.555 307 L 236.150 271.500 226.656 271.215 C 221.434 271.058, 216.943 271.283, 216.676 271.715 M 273 307 C 273 326.800, 272.887 343.337, 272.750 343.750 C 272.613 344.163, 277.102 344.628, 282.727 344.785 L 292.954 345.069 293.227 327.379 L 293.500 309.689 307 327.336 L 320.500 344.982 328.262 344.991 L 336.025 345 335.762 308.250 L 335.500 271.500 326.750 271.211 L 318 270.922 317.882 286.711 C 317.816 295.395, 317.816 302.837, 317.882 303.250 C 317.947 303.663, 317.808 304, 317.574 304 C 317.340 304, 310.809 296.575, 303.060 287.500 L 288.971 271 280.985 271 L 273 271 273 307 M 223.254 303.048 L 220.078 312 226.539 312 C 230.093 312, 233 311.861, 233 311.691 C 233 311.257, 226.886 294.553, 226.636 294.302 C 226.522 294.189, 225.001 298.125, 223.254 303.048",stroke:"none",fill:i.themeType==="dark"?"#EEE":"#111",fillRule:"evenodd"}))))}function D4e(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 436 436",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.createElement("g",{fill:"currentColor"},a.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"}),a.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 d4e(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 95 95",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.createElement("path",{fill:"currentColor",d:`M93.779,63.676c-0.981-1.082-2.24-1.653-3.639-1.653c-1.145,0-3.953,0.396-5.318,4.062 +`;function D4e(i){const e=i.size||200;b.useEffect(()=>{if(!window.document.getElementById("pt-iobroker-component")){const s=window.document.createElement("style");s.setAttribute("id","pt-iobroker-component"),s.innerHTML=Ple,window.document.head.appendChild(s)}},[]);const t=i.themeType||i.themeName||"light";return n.createElement("div",{className:`pt-logo-back logo-background-${t}`,style:{backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:i.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{className:"pt-logo-div",style:{width:e,height:e}},n.createElement("div",{style:{width:200,height:200}},n.createElement("div",{className:"pt-loader-blue pt-loader-block"}),n.createElement("div",{className:"pt-loader-green pt-loader-block"}),n.createElement("div",{className:"pt-loader-red pt-loader-block"}))))}function d4e(i){const e=i.themeType||"light",t=i.size||300;return n.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:e==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{style:{width:t,height:t,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:2}},n.createElement("svg",{viewBox:"0 0 500 500",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%"},n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"200"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"133"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"83"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"66"}),n.createElement("circle",{strokeWidth:"15",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"15"}),n.createElement("g",null,n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("g",{transform:"rotate(60, 250, 250)"},n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),n.createElement("g",{transform:"rotate(120, 250, 250)"},n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),[0,15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345].map(s=>n.createElement("line",{key:s,transform:`rotate(${s}, 250, 250)`,y2:"250",x2:"115",y1:"240",x1:"135",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),n.createElement("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 250 250",to:"360 250 250",dur:"10s",additive:"sum",repeatCount:"indefinite"})),n.createElement("path",{d:"M 56.089 160.250 C 55.077 162.588, 46.037 182.950, 36 205.500 C 25.963 228.050, 16.923 248.412, 15.911 250.750 L 14.071 255 28.286 254.976 L 42.500 254.952 47.931 242.226 C 50.918 235.227, 54.366 227.250, 55.592 224.500 L 57.822 219.500 66.383 237.250 L 74.945 255 88.973 255 C 96.688 255, 103 254.841, 103 254.646 C 103 254.452, 100.043 248.071, 96.430 240.466 L 89.859 226.638 91.603 222.771 C 92.563 220.644, 93.660 218.710, 94.043 218.473 C 94.426 218.237, 108.609 246.609, 125.562 281.522 L 156.384 345 166.071 345 C 175.705 345, 175.763 344.985, 176.856 342.250 C 179.911 334.602, 208 260.765, 208 260.383 C 208 260.138, 202.546 260.065, 195.879 260.219 L 183.759 260.500 174.629 285.244 C 169.608 298.853, 165.254 309.990, 164.952 309.994 C 164.651 309.997, 148.901 277.389, 129.952 237.532 C 111.004 197.674, 95.275 165.057, 95 165.049 C 94.725 165.041, 90.685 172.415, 86.022 181.435 C 81.358 190.455, 77.308 197.689, 77.022 197.510 C 76.735 197.331, 72.675 187.920, 68 176.598 C 63.325 165.275, 59.147 156.008, 58.714 156.005 C 58.282 156.002, 57.101 157.912, 56.089 160.250 M 55.294 168.694 C 52.241 175.842, 52.166 176.323, 53.718 178.692 L 55.349 181.182 56.706 178.591 C 57.453 177.166, 58.406 176, 58.825 176 C 59.244 176, 60.777 178.363, 62.232 181.250 C 64.829 186.403, 64.879 186.440, 64.939 183.250 C 64.973 181.463, 65.422 180, 65.937 180 C 66.724 180, 60.176 162.824, 58.920 161.596 C 58.689 161.370, 57.057 164.564, 55.294 168.694 M 91.698 175.542 C 89.205 180.626, 89.099 181.308, 90.410 183.792 L 91.840 186.500 92.926 183.669 C 94.349 179.961, 96.024 180.653, 98.588 186.009 L 100.676 190.370 101.324 187.132 C 101.832 184.592, 101.217 182.395, 98.473 176.947 C 96.549 173.126, 94.849 170, 94.696 170 C 94.542 170, 93.193 172.494, 91.698 175.542 M 157.005 192.607 C 143.168 197.636, 134.999 209.202, 135.001 223.761 C 135.002 232.756, 138.710 240.755, 145.856 247.180 C 152.159 252.848, 158.121 255, 167.518 255 C 173.509 255, 175.684 254.499, 180.811 251.936 C 200.823 241.936, 205.088 216.155, 189.337 200.403 C 181.479 192.546, 166.868 189.022, 157.005 192.607 M 206 223 L 206 255 215.472 255 L 224.944 255 225.222 241.419 L 225.500 227.837 230.500 234.660 C 233.250 238.412, 238.002 244.636, 241.060 248.491 L 246.620 255.500 253.810 255.168 L 261 254.836 261 222.918 L 261 191 251.528 191 L 242.056 191 241.778 204.552 L 241.500 218.104 231.111 204.552 L 220.722 191 213.361 191 L 206 191 206 223 M 285.821 192.331 C 276.229 195.045, 270.010 202.130, 270.004 210.349 C 269.995 221.957, 275.913 226.925, 295.801 232.006 C 300.753 233.271, 302.228 235.609, 299.412 237.730 C 296.739 239.746, 288.369 238.774, 281.563 235.657 L 276.132 233.171 272.469 239.320 C 268.119 246.621, 268.341 247.287, 276.524 251.500 C 281.399 254.010, 283.761 254.556, 290.977 254.842 C 302.365 255.294, 307.420 253.846, 312.603 248.649 C 317.383 243.855, 319.463 236.989, 318.043 230.693 C 316.210 222.562, 311.258 218.610, 297.878 214.599 C 288.025 211.645, 285.443 209.631, 288.538 207.315 C 291.104 205.394, 302.270 205.946, 306.769 208.217 L 310.039 209.866 313.104 203.794 C 316.516 197.035, 316.622 197.304, 309.167 193.844 C 303.663 191.289, 292.140 190.542, 285.821 192.331 M 322 199 L 322 207 330 207 L 338 207 338 231 L 338 255 347.500 255 L 357 255 357 231.044 L 357 207.088 364.250 206.794 L 371.500 206.500 371.792 198.750 L 372.084 191 347.042 191 L 322 191 322 199 M 379 223 L 379 255 401 255 L 423 255 423 247.500 L 423 240 409.500 240 L 396 240 396 235 L 396 230 407.500 230 L 419 230 419 222 L 419 214 407.500 214 L 396 214 396 210.529 L 396 207.058 409.250 206.779 L 422.500 206.500 422.792 198.750 L 423.084 191 401.042 191 L 379 191 379 223 M 433 223 L 433 255 442 255 L 451 255 451 247 L 451 239 454.800 239 C 458.555 239, 458.645 239.092, 462.469 246.937 L 466.339 254.874 476.172 255.187 C 481.580 255.359, 486.003 255.111, 486.002 254.636 C 486.001 254.160, 483.277 249.264, 479.949 243.754 C 473.914 233.765, 473.903 233.732, 475.836 231.619 C 480.222 226.824, 482.359 220.791, 482.431 213 C 482.512 204.192, 480.272 198.822, 475.031 195.260 C 469.795 191.703, 465.527 191.012, 448.750 191.006 L 433 191 433 223 M 448.210 213.250 L 448.500 221.500 455.338 221.500 C 461.319 221.500, 462.417 221.204, 464.088 219.139 C 465.995 216.785, 466.556 212.613, 465.379 209.545 C 464.356 206.879, 459.449 205, 453.509 205 L 447.919 205 448.210 213.250 M 163.169 209.017 C 156.337 210.583, 151.176 218.533, 152.339 225.701 C 154.672 240.077, 175.040 242.355, 180.446 228.844 C 184.978 217.516, 175.176 206.267, 163.169 209.017 M 216.676 271.715 C 216.037 272.750, 188 344.021, 188 344.612 C 188 344.863, 192.811 344.940, 198.691 344.784 L 209.381 344.500 211.894 336.750 L 214.406 329 226.550 329 L 238.694 329 242.097 336.992 L 245.500 344.983 255.250 344.992 C 262.399 344.998, 264.994 344.667, 264.979 343.750 C 264.968 343.063, 258.477 326.525, 250.555 307 L 236.150 271.500 226.656 271.215 C 221.434 271.058, 216.943 271.283, 216.676 271.715 M 273 307 C 273 326.800, 272.887 343.337, 272.750 343.750 C 272.613 344.163, 277.102 344.628, 282.727 344.785 L 292.954 345.069 293.227 327.379 L 293.500 309.689 307 327.336 L 320.500 344.982 328.262 344.991 L 336.025 345 335.762 308.250 L 335.500 271.500 326.750 271.211 L 318 270.922 317.882 286.711 C 317.816 295.395, 317.816 302.837, 317.882 303.250 C 317.947 303.663, 317.808 304, 317.574 304 C 317.340 304, 310.809 296.575, 303.060 287.500 L 288.971 271 280.985 271 L 273 271 273 307 M 223.254 303.048 L 220.078 312 226.539 312 C 230.093 312, 233 311.861, 233 311.691 C 233 311.257, 226.886 294.553, 226.636 294.302 C 226.522 294.189, 225.001 298.125, 223.254 303.048",stroke:"none",fill:i.themeType==="dark"?"#EEE":"#111",fillRule:"evenodd"}))))}function z4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 436 436",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.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"}),n.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 I4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 95 95",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:`M93.779,63.676c-0.981-1.082-2.24-1.653-3.639-1.653c-1.145,0-3.953,0.396-5.318,4.062 c-0.344,0.922-0.443,1.413-0.907,1.363c-0.786-0.078-3.845-3.346-4.845-8.145l-2.482-11.6c1.961-3.177,3.977-5.629,5.988-7.292 c1.08-0.882,2.314-1.349,3.808-1.43c3.815-0.26,5.203-0.74,6.14-1.399c1.547-1.115,2.397-2.728,2.397-4.542 c0-1.596-0.604-3.019-1.75-4.115c-1.106-1.059-2.581-1.618-4.26-1.618c-2.468,0-5.239,1.142-8.474,3.49 @@ -894,11 +894,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho c-1.525,0-2.91,0.625-4.002,1.804c-1.036,1.116-1.583,2.514-1.583,4.038c0,1.83,0.783,3.459,2.264,4.709 c1.357,1.146,3.034,1.728,4.981,1.728c2.414,0,4.884-0.921,7.344-2.737c2.053-1.519,4.697-4.526,8.074-9.189 c2.17,6.24,5.248,10.252,6.714,11.927c2.313,2.644,6.049,4.22,9.993,4.22c3.348,0,5.244-1.402,6.916-2.641l0.148-0.109 - c2.926-2.164,3.54-4.545,3.54-6.166C95.174,65.965,94.691,64.679,93.779,63.676z`}))}function z4e(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.createElement("path",{fill:"currentColor",d:"M510.371,226.513c-1.088-2.603-2.645-4.971-4.629-6.955l-63.979-63.979c-8.341-8.32-21.824-8.32-30.165,0 c-8.341,8.341-8.341,21.845,0,30.165l27.584,27.584H320.013c-11.797,0-21.333,9.557-21.333,21.333s9.536,21.333,21.333,21.333 h119.168l-27.584,27.584c-8.341,8.341-8.341,21.845,0,30.165c4.16,4.181,9.621,6.251,15.083,6.251s10.923-2.069,15.083-6.251 l63.979-63.979c1.984-1.963,3.541-4.331,4.629-6.955C512.525,237.606,512.525,231.718,510.371,226.513z"}),a.createElement("path",{fill:"currentColor",d:`M362.68,298.667c-11.797,0-21.333,9.557-21.333,21.333v106.667h-85.333V85.333c0-9.408-6.187-17.728-15.211-20.437 + c2.926-2.164,3.54-4.545,3.54-6.166C95.174,65.965,94.691,64.679,93.779,63.676z`}))}function w4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M510.371,226.513c-1.088-2.603-2.645-4.971-4.629-6.955l-63.979-63.979c-8.341-8.32-21.824-8.32-30.165,0 c-8.341,8.341-8.341,21.845,0,30.165l27.584,27.584H320.013c-11.797,0-21.333,9.557-21.333,21.333s9.536,21.333,21.333,21.333 h119.168l-27.584,27.584c-8.341,8.341-8.341,21.845,0,30.165c4.16,4.181,9.621,6.251,15.083,6.251s10.923-2.069,15.083-6.251 l63.979-63.979c1.984-1.963,3.541-4.331,4.629-6.955C512.525,237.606,512.525,231.718,510.371,226.513z"}),n.createElement("path",{fill:"currentColor",d:`M362.68,298.667c-11.797,0-21.333,9.557-21.333,21.333v106.667h-85.333V85.333c0-9.408-6.187-17.728-15.211-20.437 l-74.091-22.229h174.635v106.667c0,11.776,9.536,21.333,21.333,21.333s21.333-9.557,21.333-21.333v-128 C384.013,9.557,374.477,0,362.68,0H21.347c-0.768,0-1.451,0.32-2.197,0.405c-1.003,0.107-1.92,0.277-2.88,0.512 c-2.24,0.576-4.267,1.451-6.165,2.645c-0.469,0.299-1.045,0.32-1.493,0.661C8.44,4.352,8.376,4.587,8.205,4.715 C5.88,6.549,3.939,8.789,2.531,11.456c-0.299,0.576-0.363,1.195-0.597,1.792c-0.683,1.621-1.429,3.2-1.685,4.992 c-0.107,0.64,0.085,1.237,0.064,1.856c-0.021,0.427-0.299,0.811-0.299,1.237V448c0,10.176,7.189,18.923,17.152,20.907 l213.333,42.667c1.387,0.299,2.795,0.427,4.181,0.427c4.885,0,9.685-1.685,13.525-4.843c4.928-4.053,7.808-10.091,7.808-16.491 - v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z`}))}function I4e(i){return a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 339 339",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},a.createElement("path",{fill:"currentColor",d:"M 318.371 88.485 C 332.371 114.538 339.207 142.418 338.881 172.125 C 338.874 172.605 338.631 172.845 338.151 172.845 L 335.411 172.845 C 335.077 172.845 334.911 173.012 334.911 173.345 L 334.911 181.215 C 334.911 181.635 335.121 181.845 335.541 181.845 L 337.711 181.845 C 338.157 181.845 338.364 182.068 338.331 182.515 C 331.921 264.525 267.321 330.135 185.931 337.995 C 89.911 347.265 6.491 275.385 0.301 179.465 C 0.274 179.052 0.467 178.845 0.881 178.845 L 2.381 178.845 C 2.741 178.845 2.921 178.665 2.921 178.305 L 2.911 171.465 C 2.904 171.052 2.694 170.845 2.281 170.845 L 0.441 170.845 C 0.147 170.845 0.001 170.698 0.001 170.405 C -0.289 83.535 64.591 10.095 151.421 0.955 C 211.511 -5.375 269.171 20.055 305.341 68.135 C 305.538 68.391 305.938 68.338 306.062 68.039 C 306.065 68.031 306.068 68.023 306.071 68.015 L 311.541 51.395 C 311.63 51.125 311.924 50.977 312.201 51.065 L 316.881 52.625 C 317.274 52.758 317.407 53.022 317.281 53.415 L 310.271 74.305 C 310.157 74.645 310.197 74.968 310.391 75.275 L 314.011 80.905 C 314.204 81.205 314.481 81.378 314.841 81.425 L 336.771 84.365 C 337.124 84.412 337.277 84.612 337.231 84.965 L 336.601 89.775 C 336.547 90.182 336.321 90.358 335.921 90.305 L 318.721 87.975 C 318.267 87.915 318.151 88.085 318.371 88.485 Z M 200.701 172.615 C 170.541 200.245 121.671 181.975 117.251 140.865 C 117.211 140.518 117.017 140.345 116.671 140.345 L 8.941 140.345 C 8.68 140.346 8.46 140.532 8.421 140.785 C -10.469 249.095 80.901 345.385 189.421 331.625 C 265.701 321.955 325.741 260.435 332.311 183.415 C 343.611 50.895 200.811 -38.365 85.961 28.845 C 47.041 51.625 20.601 89.335 9.791 133.265 C 9.611 133.985 9.891 134.345 10.631 134.345 L 116.371 134.345 C 116.664 134.345 116.824 134.202 116.851 133.915 C 118.397 116.288 126.001 103.005 139.661 94.065 C 172.821 72.345 214.571 95.715 216.891 133.845 C 216.911 134.178 217.087 134.345 217.421 134.345 L 330.342 134.345 C 330.842 134.345 331.092 134.595 331.092 135.095 L 331.092 139.595 C 331.092 140.095 330.842 140.345 330.342 140.345 L 217.161 140.345 C 216.827 140.345 216.641 140.512 216.601 140.845 C 215.141 153.652 209.841 164.242 200.701 172.615 Z M 210.861 135.845 C 210.861 111.572 191.183 91.895 166.911 91.895 C 142.638 91.895 122.961 111.572 122.961 135.845 C 122.961 160.118 142.638 179.795 166.911 179.795 C 191.183 179.795 210.861 160.118 210.861 135.845 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),a.createElement("path",{fill:"currentColor",d:"M 222.771 42.215 C 224.237 43.708 223.741 45.092 221.281 46.365 C 220.5 46.768 219.574 46.779 218.781 46.395 C 183.761 29.182 149.014 29.638 114.541 47.765 C 113.252 48.444 111.662 47.8 111.211 46.415 C 110.891 45.435 110.867 44.465 111.141 43.505 C 111.234 43.158 111.437 42.898 111.751 42.725 C 145.631 23.545 186.631 23.045 221.051 41.045 C 221.831 41.452 222.404 41.842 222.771 42.215 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),a.createElement("text",{style:{whiteSpace:"pre",fontFamily:"Arial, sans-serif",fontSize:16},x:"139.395",y:"288.084",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"},"vacuum"))}const $le={dialogPaper:{height:"calc(100% - 96px)"}};class w4e extends a.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:t}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){const t=Lt.cron2state(this.state.cron);if(t.seconds==="*"||t.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(t.minutes==="*"||t.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?a.createElement(Zn,{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:e=>this.setState({showWarning:""},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return a.createElement(g.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":$le.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),a.createElement(g.DialogTitle,{id:"cron-dialog-title"},this.props.title||d.t("ra_Define schedule...")),a.createElement(g.DialogContent,{style:{height:"100%",overflow:"hidden"}},a.createElement(Lt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:d.getLanguage()})),a.createElement(g.DialogActions,null,!!this.props.clearButton&&a.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:a.createElement(m.Delete,null)},this.props.clear||d.t("ra_Clear")),a.createElement(g.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(m.Check,null)},this.props.ok||d.t("ra_Ok")),a.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}const Ple={dialogPaper:{height:"calc(100% - 96px)"}};class C4e extends a.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof t=="object"||t[0]==="{")&&!this.props.noWizard?"wizard":qa(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return a.createElement(g.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Ple.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},a.createElement(g.DialogTitle,{id:"cron-dialog-title"},this.props.title||d.t("ra_Define schedule...")),a.createElement(g.DialogContent,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?a.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&a.createElement(a.Fragment,null,a.createElement(g.Radio,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),a.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)&&a.createElement(a.Fragment,null,a.createElement(g.Radio,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),a.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)&&a.createElement(a.Fragment,null,a.createElement(g.Radio,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),a.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},d.t("sc_cron")))):null,this.state.mode==="simple"&&a.createElement(As,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:d.getLanguage()}),this.state.mode==="wizard"&&a.createElement(le,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&a.createElement(Lt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:d.getLanguage()})),a.createElement(g.DialogActions,null,a.createElement(g.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(m.Check,null)},this.props.ok||d.t("ra_Ok")),a.createElement(g.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}class h4e extends b.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return a.createElement(g.Dialog,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"ar_dialog_message_title","aria-describedby":"ar_dialog_message_description"},a.createElement(g.DialogTitle,{id:"ar_dialog_message_title"},this.props.title||d.t("ra_Message")),a.createElement(g.DialogContent,null,a.createElement(g.DialogContentText,{id:"ar_dialog_message_description"},a.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),a.createElement(g.DialogActions,null,a.createElement(g.Button,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:a.createElement(m.Close,null)},this.props.ok||d.t("ra_Close"))))}}const ht={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"}};class A4e extends a.Component{dialogName;filters;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let s=this.props.selected||[];typeof s!="object"?s=[s]:s=[...s],s=s.filter(o=>o),this.state={selected:s}}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 e;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?e=[a.createElement("span",{key:"selected"},d.t("ra_Selected")," "),a.createElement("span",{key:"id",style:ht.headerID},this.state.selected)]:e=[a.createElement("span",{key:"selected"},d.t("ra_Selected")," "),a.createElement("span",{key:"id",style:ht.headerID},d.t("%s items",this.state.selected.length))]:e=this.props.title||d.t("ra_Please select file..."),a.createElement(g.Dialog,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{...ht.dialog,...ht.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},a.createElement(g.DialogTitle,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":ht.titleRoot}},e),a.createElement(g.DialogContent,{style:{...ht.content,...ht.contentMobile}},a.createElement(kne,{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:(t,s,o)=>{this.setState({selected:Array.isArray(t)?t:[t]},()=>s&&(!this.props.selectOnlyFolders||o)&&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})),a.createElement(g.DialogActions,null,a.createElement(g.Button,{variant:"contained",onClick:()=>this.handleOk(),startIcon:a.createElement(m.Check,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||d.t("ra_Ok")),a.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:a.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}const Wle={dialogPaper:{height:"calc(100% - 96px)"}};class p4e extends a.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return a.createElement(g.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Wle.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},a.createElement(g.DialogTitle,{id:"cron-dialog-title"},this.props.title||d.t("ra_Define CRON...")),a.createElement(g.DialogContent,{style:{height:"100%",overflow:"hidden"}},a.createElement(As,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:d.getLanguage()})),a.createElement(g.DialogActions,null,a.createElement(g.Button,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:a.createElement(m.Check,null)},this.props.ok||d.t("ra_Ok")),a.createElement(g.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:a.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}const Ze={CONNECTING:0,CONNECTED:1,OBJECTS_LOADED:2,STATES_LOADED:3,READY:4},Xe="permissionError",$="notConnectedError";function cn(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}class J{_socket;_authTimer;systemLang="en";_waitForFirstConnection;_waitForFirstConnectionResolve=null;_promises={};_instanceSubscriptions;props;doNotLoadAllObjects;doNotLoadACL;states={};objects=null;scriptLoadCounter;acl=null;firstConnect=!0;waitForRestart=!1;connected=!1;statesSubscribes={};objectsSubscribes={};filesSubscribes={};onConnectionHandlers=[];onLogHandlers=[];onProgress;onError;loaded=!1;loadTimer=null;loadCounter=0;ignoreState="";simStates={};autoSubscribes;autoSubscribeLog;subscribed;isSecure;onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;systemConfig=null;constructor(e){e||={protocol:window.location.protocol,host:window.location.hostname},this.props=e,this.autoSubscribes=this.props.autoSubscribes||[],this.autoSubscribeLog=this.props.autoSubscribeLog||!1,this.props.protocol||=window.location.protocol,this.props.host||=window.location.hostname,this.props.port||=window.location.port==="3000"?J.isWeb()?8082:8081:window.location.port,this.props.ioTimeout=Math.max(this.props.ioTimeout||2e4,2e4),this.props.cmdTimeout=Math.max(this.props.cmdTimeout||5e3,5e3),this._instanceSubscriptions={},this.doNotLoadAllObjects=this.props.doNotLoadAllObjects===void 0?!0:this.props.doNotLoadAllObjects,this.doNotLoadACL=this.props.doNotLoadACL===void 0?!0:this.props.doNotLoadACL,this.states={},this._waitForFirstConnection=new Promise(t=>{this._waitForFirstConnectionResolve=t}),this.onProgress=this.props.onProgress||(()=>{}),this.onError=this.props.onError||(t=>console.error(t)),this.startSocket()}static isWeb(){const e=window.adapterName;return e==="material"||e==="vis"||(e==null?void 0:e.startsWith("vis-"))||e==="echarts-show"||window.socketUrl!==void 0}startSocket(){if(typeof window.io>"u"&&typeof window.iob>"u"){if(typeof window.registerSocketOnLoad!="function"){if(this.scriptLoadCounter||=0,this.scriptLoadCounter++,this.scriptLoadCounter<30){setTimeout(()=>this.startSocket(),100);return}window.alert("Cannot load socket.io.js!")}else window.registerSocketOnLoad(()=>this.startSocket());return}if(this._socket)return;let e=this.props.host,t=this.props.port,s=this.props.protocol.replace(":",""),o=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")o="";else{if(window.socketUrl){const n=new URL(window.socketUrl);e=n.hostname,t=n.port,s=n.protocol.replace(":","")}const M=o.lastIndexOf("/");if(M!==-1&&(o=o.substring(0,M+1)),J.isWeb()){const n=o.split("/");n.length>2&&(n.pop(),n[n.length-1].match(/\d+\.\d+\.\d+/)&&n.pop(),n.pop(),o=n.join("/"),o.endsWith("/")||(o+="/"))}}const r=t?`${s}://${e}:${t}${o}`:`${s}://${e}${o}`;this._socket=(window.io||window.iob).connect(r,{path:o.endsWith("/")?`${o}socket.io`:`${o}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid}),this._socket.on("connect",M=>{M!==!0?setTimeout(()=>this.getVersion().then(n=>{const[u,N,l]=n.version.split(".");parseInt(u,10)*1e4+parseInt(N,10)*100+parseInt(l,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(L,j)=>this.onPreConnect(L,j))}),500):this._socket.emit("authenticate",(n,u)=>this.onPreConnect(n,u))}),this._socket.on("reconnect",()=>{this.onProgress(Ze.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(M=>M(!0)))}),this._socket.on("disconnect",()=>{this.connected=!1,this.subscribed=!1,this.onProgress(Ze.CONNECTING),this.onConnectionHandlers.forEach(M=>M(!1))}),this._socket.on("reauthenticate",()=>J.authenticate()),this._socket.on("log",M=>{var n,u;(u=(n=this.props).onLog)==null||u.call(n,M),this.onLogHandlers.forEach(N=>N(M))}),this._socket.on("error",M=>{let n=M||"";typeof n.toString!="function"&&(n=JSON.stringify(n),console.error(`Received strange error: ${n}`)),n=n.toString(),n.includes("User not authorized")?J.authenticate():window.alert(`Socket Error: ${M}`)}),this._socket.on("connect_error",M=>console.error(`Connect error: ${M}`)),this._socket.on("permissionError",M=>this.onError({message:"no permission",operation:M.operation,type:M.type,id:M.id||""})),this._socket.on("objectChange",(M,n)=>setTimeout(()=>this.objectChange(M,n),0)),this._socket.on("stateChange",(M,n)=>setTimeout(()=>this.stateChange(M,n),0)),this._socket.on("im",(M,n,u)=>setTimeout(()=>this.instanceMessage(M,n,u),0)),this._socket.on("fileChange",(M,n,u)=>setTimeout(()=>this.fileChange(M,n,u),0)),this._socket.on("cmdStdout",(M,n)=>{var u;return(u=this.onCmdStdoutHandler)==null?void 0:u.call(this,M,n)}),this._socket.on("cmdStderr",(M,n)=>{var u;return(u=this.onCmdStderrHandler)==null?void 0:u.call(this,M,n)}),this._socket.on("cmdExit",(M,n)=>{var u;return(u=this.onCmdExitHandler)==null?void 0:u.call(this,M,n)})}onPreConnect(e,t){this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?(this.loadTimer=setTimeout(()=>{this.loadTimer=null,this.loadCounter++,this.loadCounter<10&&this.onConnect().catch(s=>this.onError(s))},1e3),this.loaded||this.onConnect().catch(s=>this.onError(s))):this.onProgress(Ze.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(s=>s(!0))),this._waitForFirstConnectionResolve&&(this._waitForFirstConnectionResolve(),this._waitForFirstConnectionResolve=null)}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!1:window.socketUrl.includes("iobroker.in")||window.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnection}async _getUserPermissions(){return this.doNotLoadACL?null:new Promise((e,t)=>{this._socket.emit("getUserPermissions",(s,o)=>s?t(new Error(s)):e(o))})}async onConnect(){var s,o,r,M,n;let e;try{e=await this._getUserPermissions()}catch(u){const N=u;this.onError(`Cannot read user permissions: ${N.message}`);return}if(!this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(Ze.CONNECTED),this.firstConnect=!1,this.acl=e}let t;try{if(t=await this.getSystemConfig(),this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(Ze.CONNECTED),this.firstConnect=!1}this.systemConfig=t,(s=this.systemConfig)!=null&&s.common?this.systemLang=this.systemConfig.common.language:(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.substr(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en")),(r=(o=this.props).onLanguage)==null||r.call(o,this.systemLang),this.doNotLoadAllObjects?(this.objects={"system.config":t},this.onProgress(Ze.READY),(n=(M=this.props).onReady)==null||n.call(M,this.objects)):(await this.getObjects(),this.onProgress(Ze.READY),this.props.onReady&&this.objects&&this.props.onReady(this.objects))}catch(u){this.onError(`Cannot read system config: ${u}`)}}static 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(e,t,s){typeof t=="function"&&(s=t,t=!1);let o;if(Array.isArray(e)?o=e:o=[e],!s)return console.error("No callback found for subscribeState"),Promise.reject(new Error("No callback found for subscribeState"));const r=[];for(let M=0;M{this._socket.emit(J.isWeb()?"getStates":"getForeignStates",o,(u,N)=>{u?(console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(u)}`),n(new Error(u))):(N&&Object.keys(N).forEach(l=>s(l,N[l])),M())})})}subscribeStateAsync(e,t){let s;Array.isArray(e)?s=e:s=[e];const o=[];for(let r=0;r{typeof t=="function"&&this.connected?this._socket.emit(J.isWeb()?"getStates":"getForeignStates",e,(n,u)=>{n&&console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(n)}`),u&&Object.keys(u).forEach(N=>t(N,u[N])),u?r():M(new Error(`Cannot getForeignStates "${e}": ${JSON.stringify(n)}`))}):this.connected?M(new Error("callback is not a function")):M(new Error("not connected"))})}unsubscribeState(e,t){let s;Array.isArray(e)?s=e:s=[e];const o=[];for(let r=0;r{(r===e||this.objectsSubscribes[r].reg.test(e))&&this.objectsSubscribes[r].cbs.forEach(M=>{try{M(e,t,s)}catch(n){console.error(`Error by callback of objectChange: ${n}`)}})}),o&&this.props.onObjectChange&&this.props.onObjectChange(e,t)}stateChange(e,t){for(const s in this.statesSubscribes)Object.prototype.hasOwnProperty.call(this.statesSubscribes,s)&&this.statesSubscribes[s].reg.test(e)&&this.statesSubscribes[s].cbs.forEach(o=>{try{o(e,t)}catch(r){const M=r;console.error(`Error by callback of stateChange: ${M==null?void 0:M.message}`)}})}instanceMessage(e,t,s){this._instanceSubscriptions[t]&&this._instanceSubscriptions[t].forEach(o=>{o.messageType===e&&o.callback(s,t,e)})}getStates(e,t){return this.connected?(typeof e=="boolean"&&(t=e,e=void 0),new Promise((s,o)=>{this._socket.emit("getStates",e,(r,M)=>{this.states=M,!t&&this.onProgress(Ze.STATES_LOADED),r?o(new Error(r)):s(this.states)})})):Promise.reject(new Error($))}getState(e){return this.connected?e&&e===this.ignoreState?Promise.resolve(this.simStates[e]||{val:null,ack:!0}):new Promise((t,s)=>{this._socket.emit("getState",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}getBinaryState(e){return this.connected?new Promise((t,s)=>{this._socket.emit("getBinaryState",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}setBinaryState(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("setBinaryState",e,t,r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}setState(e,t,s){if(!this.connected)return Promise.reject(new Error($));if(e&&e===this.ignoreState){let o;if(typeof s=="boolean"||typeof t=="object"&&t.val!==void 0?o=t:o={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=o,this.statesSubscribes[e])for(const r of this.statesSubscribes[e].cbs)try{r(e,o)}catch(M){console.error(`Error by callback of stateChanged: ${M}`)}return Promise.resolve()}return new Promise((o,r)=>{this._socket.emit("setState",e,t,M=>M?r(new Error(M)):o())})}getObjects(e,t){return this.connected?new Promise((s,o)=>{!e&&this.objects?s(this.objects):this._socket.emit(J.isWeb()?"getObjects":"getAllObjects",(r,M)=>{this.objects=M,t&&this.onProgress(Ze.OBJECTS_LOADED),r?o(new Error(r)):s(this.objects)})}):Promise.reject(new Error($))}getObjectsById(e){return this.connected?new Promise((t,s)=>{this._socket.emit("getObjects",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}_subscribe(e){if(e&&!this.subscribed){this.subscribed=!0,this.autoSubscribes.forEach(s=>this._socket.emit("subscribeObjects",s)),Object.keys(this.objectsSubscribes).forEach(s=>this._socket.emit("subscribeObjects",s)),this.autoSubscribeLog&&this._socket.emit("requireLog",!0);const t=Object.keys(this.statesSubscribes);t.forEach(s=>this._socket.emit("subscribe",s)),t.length&&this._socket.emit(J.isWeb()?"getStates":"getForeignStates",t,(s,o)=>{s&&console.error(`Cannot getForeignStates: ${JSON.stringify(s)}`),o&&Object.keys(o).forEach(r=>this.stateChange(r,o[r]))})}else!e&&this.subscribed&&(this.subscribed=!1,this.autoSubscribes.forEach(t=>this._socket.emit("unsubscribeObjects",t)),Object.keys(this.objectsSubscribes).forEach(t=>this._socket.emit("unsubscribeObjects",t)),this.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(t=>this._socket.emit("unsubscribe",t)))}requireLog(e){return this.connected?new Promise((t,s)=>{this._socket.emit("requireLog",e,o=>o?s(new Error(o)):t())}):Promise.reject(new Error($))}delObject(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("delObject",e,{maintenance:!!t},r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}delObjects(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("delObjects",e,{maintenance:!!t},r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}setObject(e,t){return this.connected?t?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((s,o)=>{this._socket.emit("setObject",e,t,r=>r?o(new Error(r)):s())})):Promise.reject(new Error("Null object is not allowed")):Promise.reject(new Error($))}getObject(e){return this.connected?e&&e===this.ignoreState?Promise.resolve({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed",read:!0,write:!0,role:"state"},native:{}}):new Promise((t,s)=>{this._socket.emit("getObject",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`instances_${e}`]instanceof Promise?this._promises[`instances_${e}`]:this.connected?(this._promises[`instances_${e}`]=new Promise((s,o)=>{this._socket.emit("getAdapterInstances",e,(r,M)=>r?o(new Error(r)):s(M))}),this._promises[`instances_${e}`]):Promise.reject(new Error($))}getAdapters(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`adapter_${e}`]instanceof Promise?this._promises[`adapter_${e}`]:this.connected?(this._promises[`adapter_${e}`]=new Promise((s,o)=>{this._socket.emit("getAdapters",e,(r,M)=>{r?o(new Error(r)):s(M)})}),this._promises[`adapter_${e}`]):Promise.reject(new Error($)))}_renameGroups(e,t){if(!(e!=null&&e.length))t==null||t(null);else{const s=e.pop();if(!s){setTimeout(()=>this._renameGroups(e,t),0);return}const o=s._id;s._id=s.newId,delete s.newId,this.setObject(s._id,s).then(()=>this.delObject(o)).then(()=>setTimeout(()=>this._renameGroups(e,t),0)).catch(r=>t==null?void 0:t(r))}}async renameGroup(e,t,s){if(J.isWeb())return Promise.reject(new Error("Allowed only in admin"));const o=await this.getGroups(!0);if(o.length){const r=o.filter(n=>n._id.startsWith(`${e}.`));r.forEach(n=>{n.newId=t+n._id.substring(e.length)}),await new Promise((n,u)=>{this._renameGroups(r,N=>N?u(new Error(N)):n(null))});const M=o.find(n=>n._id===e);if(M)return M._id=t,s!==void 0&&(M.common||={},M.common.name=s),this.setObject(M._id,M).then(()=>this.delObject(e))}return Promise.resolve()}sendTo(e,t,s){return this.connected?new Promise(o=>{this._socket.emit("sendTo",e,t,s,r=>o(r))}):Promise.reject(new Error($))}extendObject(e,t){return this.connected?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((s,o)=>{this._socket.emit("extendObject",e,t,r=>r?o(new Error(r)):s())})):Promise.reject(new Error($))}registerLogHandler(e){!this.onLogHandlers.includes(e)&&this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){!this.onConnectionHandlers.includes(e)&&this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return!t&&this._promises[`enums_${e||"all"}`]instanceof Promise?this._promises[`enums_${e||"all"}`]:this.connected?(this._promises[`enums_${e||"all"}`]=new Promise((s,o)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:`enum.${e?`${e}.`:""}香`},(r,M)=>{if(!r&&M){const n={};for(let u=0;u{this._socket.emit("getObjectView",e,t,{startkey:s,endkey:o},(n,u)=>{if(n)M(new Error(n));else{const N={};if(u&&u.rows)for(let l=0;l{const s=[];return t&&t.native&&t.native.certificates&&Object.keys(t.native.certificates).forEach(o=>{const r=t.native.certificates[o];if(!r)return;const M={name:o,type:""};r.length<700&&(r.includes("/")||r.includes("\\"))?(o.toLowerCase().includes("private")||r.toLowerCase().includes("private")?M.type="private":(o.toLowerCase().includes("public")||r.toLowerCase().includes("public"))&&(M.type="public"),s.push(M)):(M.type=r.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||r.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",M.type==="public"&&r.split("-----END CERTIFICATE-----").filter(u=>u.replace(/\r\n|\r|\n/,"").trim()).length>1&&(M.type="chained"),s.push(M))}),s}),this._promises.cert):Promise.reject(new Error($))}getLogs(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"getLogs",t||200,o=>s(o))}):Promise.reject(new Error($))}getLogsFiles(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("readLogs",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}delLogs(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("sendToHost",e,"delLogs",null,o=>o?s(new Error(o)):t())}):Promise.reject(new Error($))}readMetaItems(){return this.connected?new Promise((e,t)=>{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(s,o)=>s?t(new Error(s)):e(o.rows&&o.rows.map(r=>r.value)))}):Promise.reject(new Error($))}readDir(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("readDir",e,t,(r,M)=>r?o(new Error(r)):s(M))}):Promise.reject(new Error($))}readFile(e,t,s){return this.connected?new Promise((o,r)=>{s?this._socket.emit("readFile64",e,t,s,(M,n)=>M?r(new Error(M)):o(n)):this._socket.emit("readFile",e,t,(M,n,u)=>{M?r(new Error(M)):o({data:n,type:u})})}):Promise.reject(new Error($))}writeFile64(e,t,s){return this.connected?new Promise((o,r)=>{if(typeof s=="string")this._socket.emit("writeFile",e,t,s,M=>M?r(new Error(M)):o());else{const M=btoa(new Uint8Array(s).reduce((n,u)=>n+String.fromCharCode(u),""));this._socket.emit("writeFile64",e,t,M,n=>n?r(new Error(n)):o())}}):Promise.reject(new Error($))}deleteFile(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("unlink",e,t,r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}deleteFolder(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("deleteFolder",e,t,r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}getHosts(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hosts instanceof Promise?this._promises.hosts:this.connected?(this._promises.hosts=new Promise((t,s)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(o,r)=>{o?s(new Error(o)):t(r.rows.map(M=>M.value))})}),this._promises.hosts):Promise.reject(new Error($))}getUsers(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.users instanceof Promise?this._promises.users:this.connected?(this._promises.users=new Promise((t,s)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(o,r)=>{o?s(new Error(o)):t(r.rows.map(M=>M.value))})}),this._promises.users):Promise.reject(new Error($))}getGroups(e){return!e&&this._promises.groups instanceof Promise?this._promises.groups:this.connected?(this._promises.groups=new Promise((t,s)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(o,r)=>{o?s(new Error(o)):t(r.rows.map(M=>M.value))})}),this._promises.groups):Promise.reject(new Error($))}getHostInfo(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfo_${e}`]instanceof Promise?this._promises[`hostInfo_${e}`]:this.connected?(this._promises[`hostInfo_${e}`]=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("getHostInfo timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfo",null,n=>{M&&(clearTimeout(M),M=null,n===Xe?r(new Error('May not read "getHostInfo"')):!n||typeof n!="object"?r(new Error('Cannot read "getHostInfo"')):o(n))})}),this._promises[`hostInfo_${e}`]):Promise.reject(new Error($)))}getHostInfoShort(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfoShort_${e}`]instanceof Promise?this._promises[`hostInfoShort_${e}`]:this.connected?(this._promises[`hostInfoShort_${e}`]=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("hostInfoShort timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfoShort",null,n=>{M&&(clearTimeout(M),M=null,n===Xe?r(new Error('May not read "getHostInfoShort"')):!n||typeof n!="object"?r(new Error('Cannot read "getHostInfoShort"')):o(n))})}),this._promises[`hostInfoShort_${e}`]):Promise.reject(new Error($)))}getRepository(e,t,s,o){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!s&&this._promises.repo instanceof Promise?this._promises.repo:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repo=new Promise((r,M)=>{let n=setTimeout(()=>{n&&(n=null,M(new Error("getRepository timeout")))},o||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getRepository",t,u=>{n&&(clearTimeout(n),n=null,u===Xe?M(new Error('May not read "getRepository"')):!u||typeof u!="object"?M(new Error('Cannot read "getRepository"')):r(u))})}),this._promises.repo):Promise.reject(new Error($))}getInstalled(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installed=this._promises.installed||{},!t&&this._promises.installed[e]instanceof Promise?this._promises.installed[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installed[e]=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("getInstalled timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getInstalled",null,n=>{M&&(clearTimeout(M),M=null,n===Xe?r(new Error('May not read "getInstalled"')):!n||typeof n!="object"?r(new Error('Cannot read "getInstalled"')):o(n))})}),this._promises.installed[e]):Promise.reject(new Error($)))}rename(e,t,s){return this.connected?new Promise((o,r)=>{this._socket.emit("rename",e,t,s,M=>M?r(new Error(M)):o())}):Promise.reject(new Error($))}renameFile(e,t,s){return this.connected?new Promise((o,r)=>{this._socket.emit("renameFile",e,t,s,M=>M?r(new Error(M)):o())}):Promise.reject(new Error($))}cmdExec(e,t,s,o){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?(e.startsWith(e)||(e+=`system.host.${e}`),new Promise((r,M)=>{let n=o?setTimeout(()=>{n&&(n=null,M(new Error("cmdExec timeout")))},o):null;this._socket.emit("cmdExec",e,s,t,null,u=>{(!o||n)&&(n&&clearTimeout(n),n=null,u?M(new Error(u)):r())})})):Promise.reject(new Error($))}checkFeatureSupported(e,t){return!t&&this._promises[`supportedFeatures_${e}`]instanceof Promise?this._promises[`supportedFeatures_${e}`]:this.connected?(this._promises[`supportedFeatures_${e}`]=new Promise((s,o)=>{this._socket.emit("checkFeatureSupported",e,(r,M)=>r?o(new Error(r)):s(M))}),this._promises[`supportedFeatures_${e}`]):Promise.reject(new Error($))}async readBaseSettings(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):await this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS")?this.connected?new Promise((s,o)=>{let r=setTimeout(()=>{r&&(r=null,o(new Error("readBaseSettings timeout")))},this.props.cmdTimeout);e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),this._socket.emit("sendToHost",e,"readBaseSettings",null,M=>{r&&(clearTimeout(r),r=null,M===Xe?o(new Error('May not read "BaseSettings"')):!M||typeof M!="object"?o(new Error('Cannot read "BaseSettings"')):s(M))})}):Promise.reject(new Error($)):Promise.reject(new Error("Not supported"))}writeBaseSettings(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS").then(s=>s?this.connected?new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("writeBaseSettings timeout")))},this.props.cmdTimeout);this._socket.emit("sendToHost",e,"writeBaseSettings",t,n=>{M&&(clearTimeout(M),M=null,n===Xe?r(new Error('May not write "BaseSettings"')):n?o(n):r(new Error('Cannot write "BaseSettings"')))})}):Promise.reject(new Error($)):Promise.reject(new Error("Not supported")))}restartController(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,s)=>{this._socket.emit("sendToHost",e,"restartController",null,o=>{o?s(new Error(o)):t(!0)})})}getDiagData(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise(s=>{this._socket.emit("sendToHost",e,"getDiagData",t,o=>s(o))})}getForeignStates(e){return this.connected?J.isWeb()?new Promise((t,s)=>{this._socket.emit("getStates",e||"*",(o,r)=>o?s(new Error(o)):t(r))}):new Promise((t,s)=>{this._socket.emit("getForeignStates",e||"*",(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}getForeignObjects(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((s,o)=>{this._socket.emit("getForeignObjects",e||"*",t,(r,M)=>r?o(new Error(r)):s(M))}):Promise.reject(new Error($))}getSystemConfig(e){return!e&&this._promises.systemConfig instanceof Promise?this._promises.systemConfig:this.connected?(this._promises.systemConfig=this.getObject("system.config").then(t=>{const s=t||{};return s.common||={},s.native||={},s}),this._promises.systemConfig):Promise.reject(new Error($))}setSystemConfig(e){return this.setObject("system.config",e).then(()=>this._promises.systemConfig=Promise.resolve(e))}getRawSocket(){return this._socket}getHistory(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("getHistory",e,t,(r,M)=>r?o(new Error(r)):s(M))}):Promise.reject(new Error($))}getHistoryEx(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("getHistory",e,t,(r,M,n,u)=>r?o(new Error(r)):s({values:M,sessionId:u,step:n}))}):Promise.reject(new Error($))}changePassword(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((s,o)=>{this._socket.emit("changePassword",e,t,r=>r?o(new Error(r)):s())})}getIpAddresses(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e=`system.host.${e}`),!t&&this._promises[`IPs_${e}`]instanceof Promise?this._promises[`IPs_${e}`]:(this._promises[`IPs_${e}`]=this.getObject(e).then(s=>s!=null&&s.common?s.common.address||[]:[]),this._promises[`IPs_${e}`]))}getHostByIp(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),!t&&this._promises[`rIPs_${e}`]instanceof Promise?this._promises[`rIPs_${e}`]:(this._promises[`rIPs_${e}`]=new Promise(s=>{this._socket.emit("getHostByIp",e,(o,r)=>{var u,N;const M=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],n=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((N=(u=r==null?void 0:r.native)==null?void 0:u.hardware)!=null&&N.networkInterfaces){for(const l in r.native.hardware.networkInterfaces)if(Object.prototype.hasOwnProperty.call(r.native.hardware.networkInterfaces,l))for(let c=0;c{this._socket.emit("encrypt",e,(o,r)=>o?s(new Error(o)):t(r))})}decrypt(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,s)=>{this._socket.emit("decrypt",e,(o,r)=>o?s(new Error(o)):t(r))})}getVersion(e){return!e&&this._promises.version instanceof Promise?this._promises.version:(this._promises.version=new Promise((t,s)=>{this._socket.emit("getVersion",(o,r,M)=>{o&&!r&&typeof o=="string"&&o.match(/\d+\.\d+\.\d+/)?t({version:o,serverName:"socketio"}):o?s(new Error(o)):t({version:r,serverName:M})})}),this._promises.version)}getWebServerName(){return this._promises.webName instanceof Promise?this._promises.webName:(this._promises.webName=new Promise((e,t)=>{this._socket.emit("getAdapterName",(s,o)=>s?t(new Error(s)):e(o))}),this._promises.webName)}getAdminVersion(){return console.log("Deprecated: use getVersion"),this.getVersion()}chmodFile(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((o,r)=>{this._socket.emit("chmodFile",e,t,s,(M,n,u)=>M?r(new Error(M)):o({entries:n,id:u}))}):Promise.reject(new Error($))}chownFile(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((o,r)=>{this._socket.emit("chownFile",e,t,s,(M,n,u)=>M?r(new Error(M)):o({entries:n,id:u}))}):Promise.reject(new Error($))}fileExists(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("fileExists",e,t,(r,M)=>r?o(new Error(r)):s(M))}):Promise.reject(new Error($))}getNotifications(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},o=>s(o))}):Promise.reject(new Error($))}clearNotifications(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},o=>s(o))}):Promise.reject(new Error($))}getIsEasyModeStrict(){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getIsEasyModeStrict",(s,o)=>s?t(new Error(s)):e(o))}):Promise.reject(new Error($))}getEasyMode(){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getEasyMode",(s,o)=>s?t(new Error(s)):e(o))}):Promise.reject(new Error($))}getCurrentUser(){return this.connected?new Promise(e=>{this._socket.emit("authEnabled",(t,s)=>e(s))}):Promise.reject(new Error($))}getCurrentSession(e){return this.connected?new Promise((t,s)=>{const o=new AbortController;let r=setTimeout(()=>{r&&(r=null,o.abort(),s(new Error("getCurrentSession timeout")))},e||5e3);fetch("./session",{signal:o.signal}).then(M=>M.json()).then(M=>{r&&(clearTimeout(r),r=null,t(M))}).catch(M=>s(new Error(`getCurrentSession: ${M}`)))}):Promise.reject(new Error($))}getRatings(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("getRatings",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}getCurrentInstance(){return this.connected?this._promises.currentInstance instanceof Promise?this._promises.currentInstance:(this._promises.currentInstance=new Promise((e,t)=>{this._socket.emit("getCurrentInstance",(s,o)=>s?t(new Error(s)):e(o))}),this._promises.currentInstance):Promise.reject(new Error($))}getCompactAdapters(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactAdapters instanceof Promise?this._promises.compactAdapters:this.connected?(this._promises.compactAdapters=new Promise((t,s)=>{this._socket.emit("getCompactAdapters",(o,r)=>o?s(new Error(o)):t(r))}),this._promises.compactAdapters):Promise.reject(new Error($))}getAdaptersResetCache(e){e||="",delete this._promises.compactAdapters,delete this._promises[`adapter_${e}`]}getCompactInstances(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactInstances instanceof Promise?this._promises.compactInstances:this.connected?(this._promises.compactInstances=new Promise((t,s)=>{this._socket.emit("getCompactInstances",(o,r)=>o?s(new Error(o)):t(r))}),this._promises.compactInstances):Promise.reject(new Error($))}getAdapternInstancesResetCache(e){e||="",delete this._promises.compactInstances,delete this._promises[`instances_${e}`]}getCompactInstalled(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installedCompact||={},!t&&this._promises.installedCompact[e]instanceof Promise?this._promises.installedCompact[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installedCompact[e]=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("getCompactInstalled timeout")))},s||this.props.cmdTimeout);this._socket.emit("getCompactInstalled",e,n=>{M&&(clearTimeout(M),M=null,n===Xe?r(new Error('May not read "getCompactInstalled"')):!n||typeof n!="object"?r(new Error('Cannot read "getCompactInstalled"')):o(n))})}),this._promises.installedCompact[e]):Promise.reject(new Error($)))}getCompactSystemRepositories(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.getCompactSystemRepositories instanceof Promise?this._promises.getCompactSystemRepositories:this.connected?(this._promises.getCompactSystemRepositories=new Promise((s,o)=>{let r=setTimeout(()=>{r&&(r=null,o(new Error("getCompactSystemRepositories timeout")))},t||this.props.cmdTimeout);this._socket.emit("getCompactSystemRepositories",M=>{r&&(clearTimeout(r),r=null,M===Xe?o(new Error('May not read "getCompactSystemRepositories"')):!M||typeof M!="object"?o(new Error('Cannot read "getCompactSystemRepositories"')):s(M))})}),this._promises.getCompactSystemRepositories):Promise.reject(new Error($))}getCompactSystemConfig(e){return!e&&this._promises.systemConfigPromise instanceof Promise?this._promises.systemConfigPromise:this.connected?(this._promises.systemConfigPromise=new Promise((t,s)=>{this._socket.emit("getCompactSystemConfig",(o,r)=>o?s(new Error(o)):t(r))}),this._promises.systemConfigPromise):Promise.reject(new Error($))}getCompactRepository(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!t&&this._promises.repoCompact instanceof Promise?this._promises.repoCompact:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repoCompact=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("getCompactRepository timeout")))},s||this.props.cmdTimeout);this._socket.emit("getCompactRepository",e,n=>{M&&(clearTimeout(M),M=null,n===Xe?r(new Error('May not read "getCompactRepository"')):n?o(n):r(new Error('Cannot read "getCompactRepository"')))})}),this._promises.repoCompact):Promise.reject(new Error($))}getInstalledResetCache(){delete this._promises.repoCompact,delete this._promises.repo}getCompactHosts(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hostsCompact instanceof Promise?this._promises.hostsCompact:this.connected?(this._promises.hostsCompact=new Promise((t,s)=>{this._socket.emit("getCompactHosts",(o,r)=>o?s(new Error(o)):t(r))}),this._promises.hostsCompact):Promise.reject(new Error($))}getUuid(){return this._promises.uuid instanceof Promise?this._promises.uuid:this.connected?(this._promises.uuid=this.getObject("system.meta.uuid").then(e=>{var t;return(t=e==null?void 0:e.native)==null?void 0:t.uuid}),this._promises.uuid):Promise.reject(new Error($))}subscribeOnInstance(e,t,s,o){return this.connected?new Promise((r,M)=>{this._socket.emit("clientSubscribe",e,t,s,(n,u)=>{n?M(new Error(n)):u!=null&&u.error?M(new Error(u.error)):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]||=[],this._instanceSubscriptions[e].find(N=>N.messageType===t&&N.callback===o)||this._instanceSubscriptions[e].push({messageType:t,callback:o}),r(u))})}):Promise.reject(new Error($))}unsubscribeFromInstance(e,t,s){var M;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let o;const r=[];do{o=!1;const n=(M=this._instanceSubscriptions[e])==null?void 0:M.findIndex(u=>(!t||u.messageType===t)&&(!s||u.callback===s));if(n!=null&&n!==-1){o=!0;const u=this._instanceSubscriptions[e][n].messageType;this._instanceSubscriptions[e].splice(n,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(l=>l.messageType===u)||r.push(new Promise((l,c)=>{this._socket.emit("clientUnsubscribe",e,t,(L,j)=>{L?c(new Error(L)):l(j)})}))}}while(o&&(!s||!t));return r.length?Promise.all(r).then(n=>n.find(u=>u)||!1):Promise.resolve(!1)}log(e,t){e&&this._socket.emit("log",e,t||"debug")}logout(){return this.connected?new Promise((e,t)=>{this._socket.emit("logout",s=>s?t(new Error(s)):e())}):Promise.reject(new Error($))}setStateToIgnore(e){this.ignoreState=e||""}}function m4e(i){var e;return i.type==="object"?`iobobject://${i.address}/${i.path||""}`:i.type==="state"?`iobstate://${i.address}`:i.type==="file"?`iobfile://${i.address}/${i.path||""}`:i.type==="http"?i.address:(e=i.path)!=null&&e.includes("/")?`iobfile://${i.address}/${i.path}`:i.path?`iobobject://${i.address}/${i.path}`:`iobstate://${i.address}`}function Rle(i){const e={type:"object",address:""};if(i.startsWith("iobobject://")){e.type="object",i=i.replace("iobobject://","");const t=i.split("/");e.address=t[0],e.path=t[1]}else if(i.startsWith("iobstate://")){e.type="state",i=i.replace("iobstate://","");const t=i.split("/");e.address=t[0],e.path=t[1]}else if(i.startsWith("iobfile://")){e.type="file",i=i.replace("iobfile://","");const t=i.split("/");e.address=t.shift(),e.path=t.join("/")}else if(i.startsWith("http://")||i.startsWith("https://"))e.type="http",e.address=i;else if(i.startsWith("data:"))e.type="base64",e.address=i;else{const t=i.split("/");if(t.length===2)if(e.address=t[0],e.path=t[1],e.path.includes("."))e.type="object";else if(e.path)if(e.path==="val"||e.path==="q"||e.path==="ack"||e.path==="ts"||e.path==="lc"||e.path==="from"||e.path==="user"||e.path==="expire"||e.path==="c")e.type="state";else if(e.path==="common"||e.path==="native"||e.path==="from"||e.path==="acl"||e.path==="type")e.type="object";else throw new Error(`Unknown path: ${e.path}`);else e.type="state";else t.length===1?(e.address=t[0],e.type="state"):(e.address=t.shift(),e.type="file",e.path=t.join("/"))}return e}function ec(i,e,t){if(t=t||0,i==null||!e)return i;if(e.length-1===t)return i[e[t]];if(typeof i=="object")return ec(i[e[t]],e,t+1)}function Jle(i,e,t,s){if(s=s||0,i==null||!e)return t;if(e.length-1===s)return i[e[s]]=t,i;if(typeof i=="object")return Jle(i[e[s]],e,t,s+1)}async function O4e(i,e){var t;if(typeof i=="string"&&(i=Rle(i)),i.type==="object"){const s=await e.getObject(i.address);return ec(s,(t=i.path)==null?void 0:t.split("."))}if(i.type==="state"){const s=await e.getState(i.address);return i.path?s==null?void 0:s[i.path]:s}if(i.type==="file")return await e.readFile(i.address,i.path,!0);if(i.type==="http")return fetch(i.address).then(s=>s.text()).then(s=>{if(s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]"))try{return JSON.parse(s)}catch{}return s});throw new Error(`Unknown type: ${i.type}`)}const Gi=i=>{const e={};return i.forEach(t=>{e[t]={requiredVersion:"*",singleton:!0}}),e};function E4e(i){const e=["@emotion/react","@emotion/styled","@iobroker/adapter-react-v5","@iobroker/json-config","@iobroker/dm-gui-components","@mui/icons-material","@mui/material","@mui/x-date-pickers","date-fns","date-fns/locale","leaflet","leaflet-geosearch","react","react-ace","react-dom","react-dropzone","semver"];return Array.isArray(i)?Gi(e.filter(t=>i.includes(t))):i&&(i.dependencies||i.devDependencies)?Gi(e.filter(t=>{var s,o;return((s=i.dependencies)==null?void 0:s[t])||((o=i.devDependencies)==null?void 0:o[t])})):Gi(e)}export{s4e as AdminConnection,Ls as ColorPicker,Lt as ComplexCron,w4e as ComplexCronDialog,Zn as Confirm,je as Connection,C4e as Cron,i4e as CustomModal,Bue as DeviceTypeIcon,n4e as DeviceTypeSelector,w4e as DialogComplexCron,Zn as DialogConfirm,C4e as DialogCron,Xn as DialogError,h4e as DialogMessage,A4e as DialogSelectFile,$Ne as DialogSelectID,p4e as DialogSimpleCron,cne as DialogTextInput,ye as ERRORS,ge as EXTENSIONS,Xn as Error,kne as FileBrowser,Go as FileBrowserClass,fne as FileViewer,xne as FileViewerClass,At as GenericApp,d as I18n,vM as ITEM_IMAGES,Ie as Icon,nNe as IconAdapter,_ne as IconAlias,D4e as IconButtonImage,da as IconChannel,NNe as IconClearFilter,Gt as IconClosed,$t as IconCopy,za as IconDevice,aNe as IconDocument,cNe as IconDocumentReadOnly,uo as IconExpert,d4e as IconFx,uNe as IconInstance,z4e as IconLogout,Fo as IconNoIcon,Ks as IconOpen,M4e as IconPicker,lce as IconSelector,gs as IconState,I4e as IconVacuum,qs as Image,c4e as InfoBox,J as LegacyConnection,Q4 as Loader,y4e as LoaderMV,T4e as LoaderPT,g4e as LoaderVendor,ya as Logo,Da as MDUtils,h4e as Message,CNe as ObjectBrowser,We as ObjectBrowserClass,t4e as PERMISSION_ERROR,Re as PROGRESS,Ts as Router,a4e as STATES_NAME_ICONS,W4 as SaveCloseButtons,le as Schedule,A4e as SelectFile,$Ne as SelectID,u4e as SelectWithIcon,As as SimpleCron,p4e as SimpleCronDialog,lNe as TabContainer,LNe as TabContent,jNe as TabHeader,N4e as TableResize,cne as TextInput,l4e as TextWithIcon,nc as Theme,L4e as ToggleThemeMenu,Co as TreeTable,j4e as UploadImage,S as Utils,qn as convertCronToText,Vn as copy,qa as cron2state,FMe as dictionary,Ta as extendDeviceTypeTranslation,ec as getAttrInObject,r4e as getSelectIdIcon,ci as getSelectIdIconFromObjects,o4e as getSystemIcon,Rle as iobUriParse,O4e as iobUriRead,m4e as iobUriToString,E4e as moduleFederationShared,cn as pattern2RegEx,k4 as printPrompt,Jle as setAttrInObject,di as withWidth}; + v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z`}))}function C4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 339 339",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M 318.371 88.485 C 332.371 114.538 339.207 142.418 338.881 172.125 C 338.874 172.605 338.631 172.845 338.151 172.845 L 335.411 172.845 C 335.077 172.845 334.911 173.012 334.911 173.345 L 334.911 181.215 C 334.911 181.635 335.121 181.845 335.541 181.845 L 337.711 181.845 C 338.157 181.845 338.364 182.068 338.331 182.515 C 331.921 264.525 267.321 330.135 185.931 337.995 C 89.911 347.265 6.491 275.385 0.301 179.465 C 0.274 179.052 0.467 178.845 0.881 178.845 L 2.381 178.845 C 2.741 178.845 2.921 178.665 2.921 178.305 L 2.911 171.465 C 2.904 171.052 2.694 170.845 2.281 170.845 L 0.441 170.845 C 0.147 170.845 0.001 170.698 0.001 170.405 C -0.289 83.535 64.591 10.095 151.421 0.955 C 211.511 -5.375 269.171 20.055 305.341 68.135 C 305.538 68.391 305.938 68.338 306.062 68.039 C 306.065 68.031 306.068 68.023 306.071 68.015 L 311.541 51.395 C 311.63 51.125 311.924 50.977 312.201 51.065 L 316.881 52.625 C 317.274 52.758 317.407 53.022 317.281 53.415 L 310.271 74.305 C 310.157 74.645 310.197 74.968 310.391 75.275 L 314.011 80.905 C 314.204 81.205 314.481 81.378 314.841 81.425 L 336.771 84.365 C 337.124 84.412 337.277 84.612 337.231 84.965 L 336.601 89.775 C 336.547 90.182 336.321 90.358 335.921 90.305 L 318.721 87.975 C 318.267 87.915 318.151 88.085 318.371 88.485 Z M 200.701 172.615 C 170.541 200.245 121.671 181.975 117.251 140.865 C 117.211 140.518 117.017 140.345 116.671 140.345 L 8.941 140.345 C 8.68 140.346 8.46 140.532 8.421 140.785 C -10.469 249.095 80.901 345.385 189.421 331.625 C 265.701 321.955 325.741 260.435 332.311 183.415 C 343.611 50.895 200.811 -38.365 85.961 28.845 C 47.041 51.625 20.601 89.335 9.791 133.265 C 9.611 133.985 9.891 134.345 10.631 134.345 L 116.371 134.345 C 116.664 134.345 116.824 134.202 116.851 133.915 C 118.397 116.288 126.001 103.005 139.661 94.065 C 172.821 72.345 214.571 95.715 216.891 133.845 C 216.911 134.178 217.087 134.345 217.421 134.345 L 330.342 134.345 C 330.842 134.345 331.092 134.595 331.092 135.095 L 331.092 139.595 C 331.092 140.095 330.842 140.345 330.342 140.345 L 217.161 140.345 C 216.827 140.345 216.641 140.512 216.601 140.845 C 215.141 153.652 209.841 164.242 200.701 172.615 Z M 210.861 135.845 C 210.861 111.572 191.183 91.895 166.911 91.895 C 142.638 91.895 122.961 111.572 122.961 135.845 C 122.961 160.118 142.638 179.795 166.911 179.795 C 191.183 179.795 210.861 160.118 210.861 135.845 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),n.createElement("path",{fill:"currentColor",d:"M 222.771 42.215 C 224.237 43.708 223.741 45.092 221.281 46.365 C 220.5 46.768 219.574 46.779 218.781 46.395 C 183.761 29.182 149.014 29.638 114.541 47.765 C 113.252 48.444 111.662 47.8 111.211 46.415 C 110.891 45.435 110.867 44.465 111.141 43.505 C 111.234 43.158 111.437 42.898 111.751 42.725 C 145.631 23.545 186.631 23.045 221.051 41.045 C 221.831 41.452 222.404 41.842 222.771 42.215 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),n.createElement("text",{style:{whiteSpace:"pre",fontFamily:"Arial, sans-serif",fontSize:16},x:"139.395",y:"288.084",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"},"vacuum"))}const Wle={dialogPaper:{height:"calc(100% - 96px)"}};class h4e extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:t}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){const t=Lt.cron2state(this.state.cron);if(t.seconds==="*"||t.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(t.minutes==="*"||t.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?n.createElement(Kn,{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:e=>this.setState({showWarning:""},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return n.createElement(g.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Wle.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),n.createElement(g.DialogTitle,{id:"cron-dialog-title"},this.props.title||d.t("ra_Define schedule...")),n.createElement(g.DialogContent,{style:{height:"100%",overflow:"hidden"}},n.createElement(Lt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:d.getLanguage()})),n.createElement(g.DialogActions,null,!!this.props.clearButton&&n.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:n.createElement(m.Delete,null)},this.props.clear||d.t("ra_Clear")),n.createElement(g.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(m.Check,null)},this.props.ok||d.t("ra_Ok")),n.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}const Rle={dialogPaper:{height:"calc(100% - 96px)"}};class A4e extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof t=="object"||t[0]==="{")&&!this.props.noWizard?"wizard":tc(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return n.createElement(g.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Rle.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},n.createElement(g.DialogTitle,{id:"cron-dialog-title"},this.props.title||d.t("ra_Define schedule...")),n.createElement(g.DialogContent,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?n.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&n.createElement(n.Fragment,null,n.createElement(g.Radio,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),n.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)&&n.createElement(n.Fragment,null,n.createElement(g.Radio,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),n.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)&&n.createElement(n.Fragment,null,n.createElement(g.Radio,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),n.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},d.t("sc_cron")))):null,this.state.mode==="simple"&&n.createElement(As,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:d.getLanguage()}),this.state.mode==="wizard"&&n.createElement(le,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&n.createElement(Lt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:d.getLanguage()})),n.createElement(g.DialogActions,null,n.createElement(g.Button,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(m.Check,null)},this.props.ok||d.t("ra_Ok")),n.createElement(g.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}class p4e extends b.Component{handleOk(){this.props.onClose&&this.props.onClose()}render(){return n.createElement(g.Dialog,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"ar_dialog_message_title","aria-describedby":"ar_dialog_message_description"},n.createElement(g.DialogTitle,{id:"ar_dialog_message_title"},this.props.title||d.t("ra_Message")),n.createElement(g.DialogContent,null,n.createElement(g.DialogContentText,{id:"ar_dialog_message_description"},n.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),n.createElement(g.DialogActions,null,n.createElement(g.Button,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(m.Close,null)},this.props.ok||d.t("ra_Close"))))}}const ht={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"}};class m4e extends n.Component{dialogName;filters;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let s=this.props.selected||[];typeof s!="object"?s=[s]:s=[...s],s=s.filter(o=>o),this.state={selected:s}}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 e;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?e=[n.createElement("span",{key:"selected"},d.t("ra_Selected")," "),n.createElement("span",{key:"id",style:ht.headerID},this.state.selected)]:e=[n.createElement("span",{key:"selected"},d.t("ra_Selected")," "),n.createElement("span",{key:"id",style:ht.headerID},d.t("%s items",this.state.selected.length))]:e=this.props.title||d.t("ra_Please select file..."),n.createElement(g.Dialog,{onClose:()=>{},maxWidth:!1,sx:{"& .MuiDialog-paper":{...ht.dialog,...ht.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},n.createElement(g.DialogTitle,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":ht.titleRoot}},e),n.createElement(g.DialogContent,{style:{...ht.content,...ht.contentMobile}},n.createElement(Qne,{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:(t,s,o)=>{this.setState({selected:Array.isArray(t)?t:[t]},()=>s&&(!this.props.selectOnlyFolders||o)&&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})),n.createElement(g.DialogActions,null,n.createElement(g.Button,{variant:"contained",onClick:()=>this.handleOk(),startIcon:n.createElement(m.Check,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||d.t("ra_Ok")),n.createElement(g.Button,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}const Jle={dialogPaper:{height:"calc(100% - 96px)"}};class O4e extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return n.createElement(g.Dialog,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Jle.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},n.createElement(g.DialogTitle,{id:"cron-dialog-title"},this.props.title||d.t("ra_Define CRON...")),n.createElement(g.DialogContent,{style:{height:"100%",overflow:"hidden"}},n.createElement(As,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:d.getLanguage()})),n.createElement(g.DialogActions,null,n.createElement(g.Button,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(m.Check,null)},this.props.ok||d.t("ra_Ok")),n.createElement(g.Button,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(m.Cancel,null)},this.props.cancel||d.t("ra_Cancel"))))}}const Ze={CONNECTING:0,CONNECTED:1,OBJECTS_LOADED:2,STATES_LOADED:3,READY:4},Xe="permissionError",$="notConnectedError";function Nn(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}class J{_socket;_authTimer;systemLang="en";_waitForFirstConnection;_waitForFirstConnectionResolve=null;_promises={};_instanceSubscriptions;props;doNotLoadAllObjects;doNotLoadACL;states={};objects=null;scriptLoadCounter;acl=null;firstConnect=!0;waitForRestart=!1;connected=!1;statesSubscribes={};objectsSubscribes={};filesSubscribes={};onConnectionHandlers=[];onLogHandlers=[];onProgress;onError;loaded=!1;loadTimer=null;loadCounter=0;ignoreState="";simStates={};autoSubscribes;autoSubscribeLog;subscribed;isSecure;onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;systemConfig=null;constructor(e){e||={protocol:window.location.protocol,host:window.location.hostname},this.props=e,this.autoSubscribes=this.props.autoSubscribes||[],this.autoSubscribeLog=this.props.autoSubscribeLog||!1,this.props.protocol||=window.location.protocol,this.props.host||=window.location.hostname,this.props.port||=window.location.port==="3000"?J.isWeb()?8082:8081:window.location.port,this.props.ioTimeout=Math.max(this.props.ioTimeout||2e4,2e4),this.props.cmdTimeout=Math.max(this.props.cmdTimeout||5e3,5e3),this._instanceSubscriptions={},this.doNotLoadAllObjects=this.props.doNotLoadAllObjects===void 0?!0:this.props.doNotLoadAllObjects,this.doNotLoadACL=this.props.doNotLoadACL===void 0?!0:this.props.doNotLoadACL,this.states={},this._waitForFirstConnection=new Promise(t=>{this._waitForFirstConnectionResolve=t}),this.onProgress=this.props.onProgress||(()=>{}),this.onError=this.props.onError||(t=>console.error(t)),this.startSocket()}static isWeb(){const e=window.adapterName;return e==="material"||e==="vis"||(e==null?void 0:e.startsWith("vis-"))||e==="echarts-show"||window.socketUrl!==void 0}startSocket(){if(typeof window.io>"u"&&typeof window.iob>"u"){if(typeof window.registerSocketOnLoad!="function"){if(this.scriptLoadCounter||=0,this.scriptLoadCounter++,this.scriptLoadCounter<30){setTimeout(()=>this.startSocket(),100);return}window.alert("Cannot load socket.io.js!")}else window.registerSocketOnLoad(()=>this.startSocket());return}if(this._socket)return;let e=this.props.host,t=this.props.port,s=this.props.protocol.replace(":",""),o=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")o="";else{if(window.socketUrl){const a=new URL(window.socketUrl);e=a.hostname,t=a.port,s=a.protocol.replace(":","")}const M=o.lastIndexOf("/");if(M!==-1&&(o=o.substring(0,M+1)),J.isWeb()){const a=o.split("/");a.length>2&&(a.pop(),a[a.length-1].match(/\d+\.\d+\.\d+/)&&a.pop(),a.pop(),o=a.join("/"),o.endsWith("/")||(o+="/"))}}const r=t?`${s}://${e}:${t}${o}`:`${s}://${e}${o}`;this._socket=(window.io||window.iob).connect(r,{path:o.endsWith("/")?`${o}socket.io`:`${o}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid}),this._socket.on("connect",M=>{M!==!0?setTimeout(()=>this.getVersion().then(a=>{const[u,N,l]=a.version.split(".");parseInt(u,10)*1e4+parseInt(N,10)*100+parseInt(l,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(L,j)=>this.onPreConnect(L,j))}),500):this._socket.emit("authenticate",(a,u)=>this.onPreConnect(a,u))}),this._socket.on("reconnect",()=>{this.onProgress(Ze.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(M=>M(!0)))}),this._socket.on("disconnect",()=>{this.connected=!1,this.subscribed=!1,this.onProgress(Ze.CONNECTING),this.onConnectionHandlers.forEach(M=>M(!1))}),this._socket.on("reauthenticate",()=>J.authenticate()),this._socket.on("log",M=>{var a,u;(u=(a=this.props).onLog)==null||u.call(a,M),this.onLogHandlers.forEach(N=>N(M))}),this._socket.on("error",M=>{let a=M||"";typeof a.toString!="function"&&(a=JSON.stringify(a),console.error(`Received strange error: ${a}`)),a=a.toString(),a.includes("User not authorized")?J.authenticate():window.alert(`Socket Error: ${M}`)}),this._socket.on("connect_error",M=>console.error(`Connect error: ${M}`)),this._socket.on("permissionError",M=>this.onError({message:"no permission",operation:M.operation,type:M.type,id:M.id||""})),this._socket.on("objectChange",(M,a)=>setTimeout(()=>this.objectChange(M,a),0)),this._socket.on("stateChange",(M,a)=>setTimeout(()=>this.stateChange(M,a),0)),this._socket.on("im",(M,a,u)=>setTimeout(()=>this.instanceMessage(M,a,u),0)),this._socket.on("fileChange",(M,a,u)=>setTimeout(()=>this.fileChange(M,a,u),0)),this._socket.on("cmdStdout",(M,a)=>{var u;return(u=this.onCmdStdoutHandler)==null?void 0:u.call(this,M,a)}),this._socket.on("cmdStderr",(M,a)=>{var u;return(u=this.onCmdStderrHandler)==null?void 0:u.call(this,M,a)}),this._socket.on("cmdExit",(M,a)=>{var u;return(u=this.onCmdExitHandler)==null?void 0:u.call(this,M,a)})}onPreConnect(e,t){this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?(this.loadTimer=setTimeout(()=>{this.loadTimer=null,this.loadCounter++,this.loadCounter<10&&this.onConnect().catch(s=>this.onError(s))},1e3),this.loaded||this.onConnect().catch(s=>this.onError(s))):this.onProgress(Ze.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(s=>s(!0))),this._waitForFirstConnectionResolve&&(this._waitForFirstConnectionResolve(),this._waitForFirstConnectionResolve=null)}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!1:window.socketUrl.includes("iobroker.in")||window.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnection}async _getUserPermissions(){return this.doNotLoadACL?null:new Promise((e,t)=>{this._socket.emit("getUserPermissions",(s,o)=>s?t(new Error(s)):e(o))})}async onConnect(){var s,o,r,M,a;let e;try{e=await this._getUserPermissions()}catch(u){const N=u;this.onError(`Cannot read user permissions: ${N.message}`);return}if(!this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(Ze.CONNECTED),this.firstConnect=!1,this.acl=e}let t;try{if(t=await this.getSystemConfig(),this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(Ze.CONNECTED),this.firstConnect=!1}this.systemConfig=t,(s=this.systemConfig)!=null&&s.common?this.systemLang=this.systemConfig.common.language:(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.substr(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en")),(r=(o=this.props).onLanguage)==null||r.call(o,this.systemLang),this.doNotLoadAllObjects?(this.objects={"system.config":t},this.onProgress(Ze.READY),(a=(M=this.props).onReady)==null||a.call(M,this.objects)):(await this.getObjects(),this.onProgress(Ze.READY),this.props.onReady&&this.objects&&this.props.onReady(this.objects))}catch(u){this.onError(`Cannot read system config: ${u}`)}}static 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(e,t,s){typeof t=="function"&&(s=t,t=!1);let o;if(Array.isArray(e)?o=e:o=[e],!s)return console.error("No callback found for subscribeState"),Promise.reject(new Error("No callback found for subscribeState"));const r=[];for(let M=0;M{this._socket.emit(J.isWeb()?"getStates":"getForeignStates",o,(u,N)=>{u?(console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(u)}`),a(new Error(u))):(N&&Object.keys(N).forEach(l=>s(l,N[l])),M())})})}subscribeStateAsync(e,t){let s;Array.isArray(e)?s=e:s=[e];const o=[];for(let r=0;r{typeof t=="function"&&this.connected?this._socket.emit(J.isWeb()?"getStates":"getForeignStates",e,(a,u)=>{a&&console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`),u&&Object.keys(u).forEach(N=>t(N,u[N])),u?r():M(new Error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`))}):this.connected?M(new Error("callback is not a function")):M(new Error("not connected"))})}unsubscribeState(e,t){let s;Array.isArray(e)?s=e:s=[e];const o=[];for(let r=0;r{(r===e||this.objectsSubscribes[r].reg.test(e))&&this.objectsSubscribes[r].cbs.forEach(M=>{try{M(e,t,s)}catch(a){console.error(`Error by callback of objectChange: ${a}`)}})}),o&&this.props.onObjectChange&&this.props.onObjectChange(e,t)}stateChange(e,t){for(const s in this.statesSubscribes)Object.prototype.hasOwnProperty.call(this.statesSubscribes,s)&&this.statesSubscribes[s].reg.test(e)&&this.statesSubscribes[s].cbs.forEach(o=>{try{o(e,t)}catch(r){const M=r;console.error(`Error by callback of stateChange: ${M==null?void 0:M.message}`)}})}instanceMessage(e,t,s){this._instanceSubscriptions[t]&&this._instanceSubscriptions[t].forEach(o=>{o.messageType===e&&o.callback(s,t,e)})}getStates(e,t){return this.connected?(typeof e=="boolean"&&(t=e,e=void 0),new Promise((s,o)=>{this._socket.emit("getStates",e,(r,M)=>{this.states=M,!t&&this.onProgress(Ze.STATES_LOADED),r?o(new Error(r)):s(this.states)})})):Promise.reject(new Error($))}getState(e){return this.connected?e&&e===this.ignoreState?Promise.resolve(this.simStates[e]||{val:null,ack:!0}):new Promise((t,s)=>{this._socket.emit("getState",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}getBinaryState(e){return this.connected?new Promise((t,s)=>{this._socket.emit("getBinaryState",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}setBinaryState(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("setBinaryState",e,t,r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}setState(e,t,s){if(!this.connected)return Promise.reject(new Error($));if(e&&e===this.ignoreState){let o;if(typeof s=="boolean"||typeof t=="object"&&t.val!==void 0?o=t:o={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=o,this.statesSubscribes[e])for(const r of this.statesSubscribes[e].cbs)try{r(e,o)}catch(M){console.error(`Error by callback of stateChanged: ${M}`)}return Promise.resolve()}return new Promise((o,r)=>{this._socket.emit("setState",e,t,M=>M?r(new Error(M)):o())})}getObjects(e,t){return this.connected?new Promise((s,o)=>{!e&&this.objects?s(this.objects):this._socket.emit(J.isWeb()?"getObjects":"getAllObjects",(r,M)=>{this.objects=M,t&&this.onProgress(Ze.OBJECTS_LOADED),r?o(new Error(r)):s(this.objects)})}):Promise.reject(new Error($))}getObjectsById(e){return this.connected?new Promise((t,s)=>{this._socket.emit("getObjects",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}_subscribe(e){if(e&&!this.subscribed){this.subscribed=!0,this.autoSubscribes.forEach(s=>this._socket.emit("subscribeObjects",s)),Object.keys(this.objectsSubscribes).forEach(s=>this._socket.emit("subscribeObjects",s)),this.autoSubscribeLog&&this._socket.emit("requireLog",!0);const t=Object.keys(this.statesSubscribes);t.forEach(s=>this._socket.emit("subscribe",s)),t.length&&this._socket.emit(J.isWeb()?"getStates":"getForeignStates",t,(s,o)=>{s&&console.error(`Cannot getForeignStates: ${JSON.stringify(s)}`),o&&Object.keys(o).forEach(r=>this.stateChange(r,o[r]))})}else!e&&this.subscribed&&(this.subscribed=!1,this.autoSubscribes.forEach(t=>this._socket.emit("unsubscribeObjects",t)),Object.keys(this.objectsSubscribes).forEach(t=>this._socket.emit("unsubscribeObjects",t)),this.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(t=>this._socket.emit("unsubscribe",t)))}requireLog(e){return this.connected?new Promise((t,s)=>{this._socket.emit("requireLog",e,o=>o?s(new Error(o)):t())}):Promise.reject(new Error($))}delObject(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("delObject",e,{maintenance:!!t},r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}delObjects(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("delObjects",e,{maintenance:!!t},r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}setObject(e,t){return this.connected?t?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((s,o)=>{this._socket.emit("setObject",e,t,r=>r?o(new Error(r)):s())})):Promise.reject(new Error("Null object is not allowed")):Promise.reject(new Error($))}getObject(e){return this.connected?e&&e===this.ignoreState?Promise.resolve({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed",read:!0,write:!0,role:"state"},native:{}}):new Promise((t,s)=>{this._socket.emit("getObject",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`instances_${e}`]instanceof Promise?this._promises[`instances_${e}`]:this.connected?(this._promises[`instances_${e}`]=new Promise((s,o)=>{this._socket.emit("getAdapterInstances",e,(r,M)=>r?o(new Error(r)):s(M))}),this._promises[`instances_${e}`]):Promise.reject(new Error($))}getAdapters(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`adapter_${e}`]instanceof Promise?this._promises[`adapter_${e}`]:this.connected?(this._promises[`adapter_${e}`]=new Promise((s,o)=>{this._socket.emit("getAdapters",e,(r,M)=>{r?o(new Error(r)):s(M)})}),this._promises[`adapter_${e}`]):Promise.reject(new Error($)))}_renameGroups(e,t){if(!(e!=null&&e.length))t==null||t(null);else{const s=e.pop();if(!s){setTimeout(()=>this._renameGroups(e,t),0);return}const o=s._id;s._id=s.newId,delete s.newId,this.setObject(s._id,s).then(()=>this.delObject(o)).then(()=>setTimeout(()=>this._renameGroups(e,t),0)).catch(r=>t==null?void 0:t(r))}}async renameGroup(e,t,s){if(J.isWeb())return Promise.reject(new Error("Allowed only in admin"));const o=await this.getGroups(!0);if(o.length){const r=o.filter(a=>a._id.startsWith(`${e}.`));r.forEach(a=>{a.newId=t+a._id.substring(e.length)}),await new Promise((a,u)=>{this._renameGroups(r,N=>N?u(new Error(N)):a(null))});const M=o.find(a=>a._id===e);if(M)return M._id=t,s!==void 0&&(M.common||={},M.common.name=s),this.setObject(M._id,M).then(()=>this.delObject(e))}return Promise.resolve()}sendTo(e,t,s){return this.connected?new Promise(o=>{this._socket.emit("sendTo",e,t,s,r=>o(r))}):Promise.reject(new Error($))}extendObject(e,t){return this.connected?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((s,o)=>{this._socket.emit("extendObject",e,t,r=>r?o(new Error(r)):s())})):Promise.reject(new Error($))}registerLogHandler(e){!this.onLogHandlers.includes(e)&&this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){!this.onConnectionHandlers.includes(e)&&this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return!t&&this._promises[`enums_${e||"all"}`]instanceof Promise?this._promises[`enums_${e||"all"}`]:this.connected?(this._promises[`enums_${e||"all"}`]=new Promise((s,o)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:`enum.${e?`${e}.`:""}香`},(r,M)=>{if(!r&&M){const a={};for(let u=0;u{this._socket.emit("getObjectView",e,t,{startkey:s,endkey:o},(a,u)=>{if(a)M(new Error(a));else{const N={};if(u&&u.rows)for(let l=0;l{const s=[];return t&&t.native&&t.native.certificates&&Object.keys(t.native.certificates).forEach(o=>{const r=t.native.certificates[o];if(!r)return;const M={name:o,type:""};r.length<700&&(r.includes("/")||r.includes("\\"))?(o.toLowerCase().includes("private")||r.toLowerCase().includes("private")?M.type="private":(o.toLowerCase().includes("public")||r.toLowerCase().includes("public"))&&(M.type="public"),s.push(M)):(M.type=r.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||r.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",M.type==="public"&&r.split("-----END CERTIFICATE-----").filter(u=>u.replace(/\r\n|\r|\n/,"").trim()).length>1&&(M.type="chained"),s.push(M))}),s}),this._promises.cert):Promise.reject(new Error($))}getLogs(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"getLogs",t||200,o=>s(o))}):Promise.reject(new Error($))}getLogsFiles(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("readLogs",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}delLogs(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("sendToHost",e,"delLogs",null,o=>o?s(new Error(o)):t())}):Promise.reject(new Error($))}readMetaItems(){return this.connected?new Promise((e,t)=>{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(s,o)=>s?t(new Error(s)):e(o.rows&&o.rows.map(r=>r.value)))}):Promise.reject(new Error($))}readDir(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("readDir",e,t,(r,M)=>r?o(new Error(r)):s(M))}):Promise.reject(new Error($))}readFile(e,t,s){return this.connected?new Promise((o,r)=>{s?this._socket.emit("readFile64",e,t,s,(M,a)=>M?r(new Error(M)):o(a)):this._socket.emit("readFile",e,t,(M,a,u)=>{M?r(new Error(M)):o({data:a,type:u})})}):Promise.reject(new Error($))}writeFile64(e,t,s){return this.connected?new Promise((o,r)=>{if(typeof s=="string")this._socket.emit("writeFile",e,t,s,M=>M?r(new Error(M)):o());else{const M=btoa(new Uint8Array(s).reduce((a,u)=>a+String.fromCharCode(u),""));this._socket.emit("writeFile64",e,t,M,a=>a?r(new Error(a)):o())}}):Promise.reject(new Error($))}deleteFile(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("unlink",e,t,r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}deleteFolder(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("deleteFolder",e,t,r=>r?o(new Error(r)):s())}):Promise.reject(new Error($))}getHosts(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hosts instanceof Promise?this._promises.hosts:this.connected?(this._promises.hosts=new Promise((t,s)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(o,r)=>{o?s(new Error(o)):t(r.rows.map(M=>M.value))})}),this._promises.hosts):Promise.reject(new Error($))}getUsers(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.users instanceof Promise?this._promises.users:this.connected?(this._promises.users=new Promise((t,s)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(o,r)=>{o?s(new Error(o)):t(r.rows.map(M=>M.value))})}),this._promises.users):Promise.reject(new Error($))}getGroups(e){return!e&&this._promises.groups instanceof Promise?this._promises.groups:this.connected?(this._promises.groups=new Promise((t,s)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(o,r)=>{o?s(new Error(o)):t(r.rows.map(M=>M.value))})}),this._promises.groups):Promise.reject(new Error($))}getHostInfo(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfo_${e}`]instanceof Promise?this._promises[`hostInfo_${e}`]:this.connected?(this._promises[`hostInfo_${e}`]=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("getHostInfo timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{M&&(clearTimeout(M),M=null,a===Xe?r(new Error('May not read "getHostInfo"')):!a||typeof a!="object"?r(new Error('Cannot read "getHostInfo"')):o(a))})}),this._promises[`hostInfo_${e}`]):Promise.reject(new Error($)))}getHostInfoShort(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfoShort_${e}`]instanceof Promise?this._promises[`hostInfoShort_${e}`]:this.connected?(this._promises[`hostInfoShort_${e}`]=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("hostInfoShort timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{M&&(clearTimeout(M),M=null,a===Xe?r(new Error('May not read "getHostInfoShort"')):!a||typeof a!="object"?r(new Error('Cannot read "getHostInfoShort"')):o(a))})}),this._promises[`hostInfoShort_${e}`]):Promise.reject(new Error($)))}getRepository(e,t,s,o){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!s&&this._promises.repo instanceof Promise?this._promises.repo:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repo=new Promise((r,M)=>{let a=setTimeout(()=>{a&&(a=null,M(new Error("getRepository timeout")))},o||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getRepository",t,u=>{a&&(clearTimeout(a),a=null,u===Xe?M(new Error('May not read "getRepository"')):!u||typeof u!="object"?M(new Error('Cannot read "getRepository"')):r(u))})}),this._promises.repo):Promise.reject(new Error($))}getInstalled(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installed=this._promises.installed||{},!t&&this._promises.installed[e]instanceof Promise?this._promises.installed[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installed[e]=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("getInstalled timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getInstalled",null,a=>{M&&(clearTimeout(M),M=null,a===Xe?r(new Error('May not read "getInstalled"')):!a||typeof a!="object"?r(new Error('Cannot read "getInstalled"')):o(a))})}),this._promises.installed[e]):Promise.reject(new Error($)))}rename(e,t,s){return this.connected?new Promise((o,r)=>{this._socket.emit("rename",e,t,s,M=>M?r(new Error(M)):o())}):Promise.reject(new Error($))}renameFile(e,t,s){return this.connected?new Promise((o,r)=>{this._socket.emit("renameFile",e,t,s,M=>M?r(new Error(M)):o())}):Promise.reject(new Error($))}cmdExec(e,t,s,o){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?(e.startsWith(e)||(e+=`system.host.${e}`),new Promise((r,M)=>{let a=o?setTimeout(()=>{a&&(a=null,M(new Error("cmdExec timeout")))},o):null;this._socket.emit("cmdExec",e,s,t,null,u=>{(!o||a)&&(a&&clearTimeout(a),a=null,u?M(new Error(u)):r())})})):Promise.reject(new Error($))}checkFeatureSupported(e,t){return!t&&this._promises[`supportedFeatures_${e}`]instanceof Promise?this._promises[`supportedFeatures_${e}`]:this.connected?(this._promises[`supportedFeatures_${e}`]=new Promise((s,o)=>{this._socket.emit("checkFeatureSupported",e,(r,M)=>r?o(new Error(r)):s(M))}),this._promises[`supportedFeatures_${e}`]):Promise.reject(new Error($))}async readBaseSettings(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):await this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS")?this.connected?new Promise((s,o)=>{let r=setTimeout(()=>{r&&(r=null,o(new Error("readBaseSettings timeout")))},this.props.cmdTimeout);e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),this._socket.emit("sendToHost",e,"readBaseSettings",null,M=>{r&&(clearTimeout(r),r=null,M===Xe?o(new Error('May not read "BaseSettings"')):!M||typeof M!="object"?o(new Error('Cannot read "BaseSettings"')):s(M))})}):Promise.reject(new Error($)):Promise.reject(new Error("Not supported"))}writeBaseSettings(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS").then(s=>s?this.connected?new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("writeBaseSettings timeout")))},this.props.cmdTimeout);this._socket.emit("sendToHost",e,"writeBaseSettings",t,a=>{M&&(clearTimeout(M),M=null,a===Xe?r(new Error('May not write "BaseSettings"')):a?o(a):r(new Error('Cannot write "BaseSettings"')))})}):Promise.reject(new Error($)):Promise.reject(new Error("Not supported")))}restartController(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,s)=>{this._socket.emit("sendToHost",e,"restartController",null,o=>{o?s(new Error(o)):t(!0)})})}getDiagData(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise(s=>{this._socket.emit("sendToHost",e,"getDiagData",t,o=>s(o))})}getForeignStates(e){return this.connected?J.isWeb()?new Promise((t,s)=>{this._socket.emit("getStates",e||"*",(o,r)=>o?s(new Error(o)):t(r))}):new Promise((t,s)=>{this._socket.emit("getForeignStates",e||"*",(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}getForeignObjects(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((s,o)=>{this._socket.emit("getForeignObjects",e||"*",t,(r,M)=>r?o(new Error(r)):s(M))}):Promise.reject(new Error($))}getSystemConfig(e){return!e&&this._promises.systemConfig instanceof Promise?this._promises.systemConfig:this.connected?(this._promises.systemConfig=this.getObject("system.config").then(t=>{const s=t||{};return s.common||={},s.native||={},s}),this._promises.systemConfig):Promise.reject(new Error($))}setSystemConfig(e){return this.setObject("system.config",e).then(()=>this._promises.systemConfig=Promise.resolve(e))}getRawSocket(){return this._socket}getHistory(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("getHistory",e,t,(r,M)=>r?o(new Error(r)):s(M))}):Promise.reject(new Error($))}getHistoryEx(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("getHistory",e,t,(r,M,a,u)=>r?o(new Error(r)):s({values:M,sessionId:u,step:a}))}):Promise.reject(new Error($))}changePassword(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((s,o)=>{this._socket.emit("changePassword",e,t,r=>r?o(new Error(r)):s())})}getIpAddresses(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e=`system.host.${e}`),!t&&this._promises[`IPs_${e}`]instanceof Promise?this._promises[`IPs_${e}`]:(this._promises[`IPs_${e}`]=this.getObject(e).then(s=>s!=null&&s.common?s.common.address||[]:[]),this._promises[`IPs_${e}`]))}getHostByIp(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),!t&&this._promises[`rIPs_${e}`]instanceof Promise?this._promises[`rIPs_${e}`]:(this._promises[`rIPs_${e}`]=new Promise(s=>{this._socket.emit("getHostByIp",e,(o,r)=>{var u,N;const M=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],a=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((N=(u=r==null?void 0:r.native)==null?void 0:u.hardware)!=null&&N.networkInterfaces){for(const l in r.native.hardware.networkInterfaces)if(Object.prototype.hasOwnProperty.call(r.native.hardware.networkInterfaces,l))for(let c=0;c{this._socket.emit("encrypt",e,(o,r)=>o?s(new Error(o)):t(r))})}decrypt(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,s)=>{this._socket.emit("decrypt",e,(o,r)=>o?s(new Error(o)):t(r))})}getVersion(e){return!e&&this._promises.version instanceof Promise?this._promises.version:(this._promises.version=new Promise((t,s)=>{this._socket.emit("getVersion",(o,r,M)=>{o&&!r&&typeof o=="string"&&o.match(/\d+\.\d+\.\d+/)?t({version:o,serverName:"socketio"}):o?s(new Error(o)):t({version:r,serverName:M})})}),this._promises.version)}getWebServerName(){return this._promises.webName instanceof Promise?this._promises.webName:(this._promises.webName=new Promise((e,t)=>{this._socket.emit("getAdapterName",(s,o)=>s?t(new Error(s)):e(o))}),this._promises.webName)}getAdminVersion(){return console.log("Deprecated: use getVersion"),this.getVersion()}chmodFile(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((o,r)=>{this._socket.emit("chmodFile",e,t,s,(M,a,u)=>M?r(new Error(M)):o({entries:a,id:u}))}):Promise.reject(new Error($))}chownFile(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((o,r)=>{this._socket.emit("chownFile",e,t,s,(M,a,u)=>M?r(new Error(M)):o({entries:a,id:u}))}):Promise.reject(new Error($))}fileExists(e,t){return this.connected?new Promise((s,o)=>{this._socket.emit("fileExists",e,t,(r,M)=>r?o(new Error(r)):s(M))}):Promise.reject(new Error($))}getNotifications(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},o=>s(o))}):Promise.reject(new Error($))}clearNotifications(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},o=>s(o))}):Promise.reject(new Error($))}getIsEasyModeStrict(){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getIsEasyModeStrict",(s,o)=>s?t(new Error(s)):e(o))}):Promise.reject(new Error($))}getEasyMode(){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getEasyMode",(s,o)=>s?t(new Error(s)):e(o))}):Promise.reject(new Error($))}getCurrentUser(){return this.connected?new Promise(e=>{this._socket.emit("authEnabled",(t,s)=>e(s))}):Promise.reject(new Error($))}getCurrentSession(e){return this.connected?new Promise((t,s)=>{const o=new AbortController;let r=setTimeout(()=>{r&&(r=null,o.abort(),s(new Error("getCurrentSession timeout")))},e||5e3);fetch("./session",{signal:o.signal}).then(M=>M.json()).then(M=>{r&&(clearTimeout(r),r=null,t(M))}).catch(M=>s(new Error(`getCurrentSession: ${M}`)))}):Promise.reject(new Error($))}getRatings(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("getRatings",e,(o,r)=>o?s(new Error(o)):t(r))}):Promise.reject(new Error($))}getCurrentInstance(){return this.connected?this._promises.currentInstance instanceof Promise?this._promises.currentInstance:(this._promises.currentInstance=new Promise((e,t)=>{this._socket.emit("getCurrentInstance",(s,o)=>s?t(new Error(s)):e(o))}),this._promises.currentInstance):Promise.reject(new Error($))}getCompactAdapters(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactAdapters instanceof Promise?this._promises.compactAdapters:this.connected?(this._promises.compactAdapters=new Promise((t,s)=>{this._socket.emit("getCompactAdapters",(o,r)=>o?s(new Error(o)):t(r))}),this._promises.compactAdapters):Promise.reject(new Error($))}getAdaptersResetCache(e){e||="",delete this._promises.compactAdapters,delete this._promises[`adapter_${e}`]}getCompactInstances(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactInstances instanceof Promise?this._promises.compactInstances:this.connected?(this._promises.compactInstances=new Promise((t,s)=>{this._socket.emit("getCompactInstances",(o,r)=>o?s(new Error(o)):t(r))}),this._promises.compactInstances):Promise.reject(new Error($))}getAdapternInstancesResetCache(e){e||="",delete this._promises.compactInstances,delete this._promises[`instances_${e}`]}getCompactInstalled(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installedCompact||={},!t&&this._promises.installedCompact[e]instanceof Promise?this._promises.installedCompact[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installedCompact[e]=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("getCompactInstalled timeout")))},s||this.props.cmdTimeout);this._socket.emit("getCompactInstalled",e,a=>{M&&(clearTimeout(M),M=null,a===Xe?r(new Error('May not read "getCompactInstalled"')):!a||typeof a!="object"?r(new Error('Cannot read "getCompactInstalled"')):o(a))})}),this._promises.installedCompact[e]):Promise.reject(new Error($)))}getCompactSystemRepositories(e,t){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.getCompactSystemRepositories instanceof Promise?this._promises.getCompactSystemRepositories:this.connected?(this._promises.getCompactSystemRepositories=new Promise((s,o)=>{let r=setTimeout(()=>{r&&(r=null,o(new Error("getCompactSystemRepositories timeout")))},t||this.props.cmdTimeout);this._socket.emit("getCompactSystemRepositories",M=>{r&&(clearTimeout(r),r=null,M===Xe?o(new Error('May not read "getCompactSystemRepositories"')):!M||typeof M!="object"?o(new Error('Cannot read "getCompactSystemRepositories"')):s(M))})}),this._promises.getCompactSystemRepositories):Promise.reject(new Error($))}getCompactSystemConfig(e){return!e&&this._promises.systemConfigPromise instanceof Promise?this._promises.systemConfigPromise:this.connected?(this._promises.systemConfigPromise=new Promise((t,s)=>{this._socket.emit("getCompactSystemConfig",(o,r)=>o?s(new Error(o)):t(r))}),this._promises.systemConfigPromise):Promise.reject(new Error($))}getCompactRepository(e,t,s){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!t&&this._promises.repoCompact instanceof Promise?this._promises.repoCompact:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repoCompact=new Promise((o,r)=>{let M=setTimeout(()=>{M&&(M=null,r(new Error("getCompactRepository timeout")))},s||this.props.cmdTimeout);this._socket.emit("getCompactRepository",e,a=>{M&&(clearTimeout(M),M=null,a===Xe?r(new Error('May not read "getCompactRepository"')):a?o(a):r(new Error('Cannot read "getCompactRepository"')))})}),this._promises.repoCompact):Promise.reject(new Error($))}getInstalledResetCache(){delete this._promises.repoCompact,delete this._promises.repo}getCompactHosts(e){return J.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hostsCompact instanceof Promise?this._promises.hostsCompact:this.connected?(this._promises.hostsCompact=new Promise((t,s)=>{this._socket.emit("getCompactHosts",(o,r)=>o?s(new Error(o)):t(r))}),this._promises.hostsCompact):Promise.reject(new Error($))}getUuid(){return this._promises.uuid instanceof Promise?this._promises.uuid:this.connected?(this._promises.uuid=this.getObject("system.meta.uuid").then(e=>{var t;return(t=e==null?void 0:e.native)==null?void 0:t.uuid}),this._promises.uuid):Promise.reject(new Error($))}subscribeOnInstance(e,t,s,o){return this.connected?new Promise((r,M)=>{this._socket.emit("clientSubscribe",e,t,s,(a,u)=>{a?M(new Error(a)):u!=null&&u.error?M(new Error(u.error)):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]||=[],this._instanceSubscriptions[e].find(N=>N.messageType===t&&N.callback===o)||this._instanceSubscriptions[e].push({messageType:t,callback:o}),r(u))})}):Promise.reject(new Error($))}unsubscribeFromInstance(e,t,s){var M;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let o;const r=[];do{o=!1;const a=(M=this._instanceSubscriptions[e])==null?void 0:M.findIndex(u=>(!t||u.messageType===t)&&(!s||u.callback===s));if(a!=null&&a!==-1){o=!0;const u=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(l=>l.messageType===u)||r.push(new Promise((l,c)=>{this._socket.emit("clientUnsubscribe",e,t,(L,j)=>{L?c(new Error(L)):l(j)})}))}}while(o&&(!s||!t));return r.length?Promise.all(r).then(a=>a.find(u=>u)||!1):Promise.resolve(!1)}log(e,t){e&&this._socket.emit("log",e,t||"debug")}logout(){return this.connected?new Promise((e,t)=>{this._socket.emit("logout",s=>s?t(new Error(s)):e())}):Promise.reject(new Error($))}setStateToIgnore(e){this.ignoreState=e||""}}function E4e(i){var e;return i.type==="object"?`iobobject://${i.address}/${i.path||""}`:i.type==="state"?`iobstate://${i.address}`:i.type==="file"?`iobfile://${i.address}/${i.path||""}`:i.type==="http"?i.address:(e=i.path)!=null&&e.includes("/")?`iobfile://${i.address}/${i.path}`:i.path?`iobobject://${i.address}/${i.path}`:`iobstate://${i.address}`}function Ble(i){const e={type:"object",address:""};if(i.startsWith("iobobject://")){e.type="object",i=i.replace("iobobject://","");const t=i.split("/");e.address=t[0],e.path=t[1]}else if(i.startsWith("iobstate://")){e.type="state",i=i.replace("iobstate://","");const t=i.split("/");e.address=t[0],e.path=t[1]}else if(i.startsWith("iobfile://")){e.type="file",i=i.replace("iobfile://","");const t=i.split("/");e.address=t.shift(),e.path=t.join("/")}else if(i.startsWith("http://")||i.startsWith("https://"))e.type="http",e.address=i;else if(i.startsWith("data:"))e.type="base64",e.address=i;else{const t=i.split("/");if(t.length===2)if(e.address=t[0],e.path=t[1],e.path.includes("."))e.type="object";else if(e.path)if(e.path==="val"||e.path==="q"||e.path==="ack"||e.path==="ts"||e.path==="lc"||e.path==="from"||e.path==="user"||e.path==="expire"||e.path==="c")e.type="state";else if(e.path==="common"||e.path==="native"||e.path==="from"||e.path==="acl"||e.path==="type")e.type="object";else throw new Error(`Unknown path: ${e.path}`);else e.type="state";else t.length===1?(e.address=t[0],e.type="state"):(e.address=t.shift(),e.type="file",e.path=t.join("/"))}return e}function sc(i,e,t){if(t=t||0,i==null||!e)return i;if(e.length-1===t)return i[e[t]];if(typeof i=="object")return sc(i[e[t]],e,t+1)}function Fle(i,e,t,s){if(s=s||0,i==null||!e)return t;if(e.length-1===s)return i[e[s]]=t,i;if(typeof i=="object")return Fle(i[e[s]],e,t,s+1)}async function _4e(i,e){var t;if(typeof i=="string"&&(i=Ble(i)),i.type==="object"){const s=await e.getObject(i.address);return sc(s,(t=i.path)==null?void 0:t.split("."))}if(i.type==="state"){const s=await e.getState(i.address);return i.path?s==null?void 0:s[i.path]:s}if(i.type==="file")return await e.readFile(i.address,i.path,!0);if(i.type==="http")return fetch(i.address).then(s=>s.text()).then(s=>{if(s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]"))try{return JSON.parse(s)}catch{}return s});throw new Error(`Unknown type: ${i.type}`)}const Gi=i=>{const e={};return i.forEach(t=>{e[t]={requiredVersion:"*",singleton:!0}}),e};function S4e(i){const e=["@emotion/react","@emotion/styled","@iobroker/adapter-react-v5","@iobroker/json-config","@iobroker/dm-gui-components","@mui/icons-material","@mui/material","@mui/x-date-pickers","date-fns","date-fns/locale","leaflet","leaflet-geosearch","react","react-ace","react-dom","react-dropzone","semver"];return Array.isArray(i)?Gi(e.filter(t=>i.includes(t))):i&&(i.dependencies||i.devDependencies)?Gi(e.filter(t=>{var s,o;return((s=i.dependencies)==null?void 0:s[t])||((o=i.devDependencies)==null?void 0:o[t])})):Gi(e)}export{o4e as AdminConnection,Ls as ColorPicker,Lt as ComplexCron,h4e as ComplexCronDialog,Kn as Confirm,je as Connection,A4e as Cron,r4e as CustomModal,Gue as DeviceTypeIcon,c4e as DeviceTypeSelector,h4e as DialogComplexCron,Kn as DialogConfirm,A4e as DialogCron,qn as DialogError,p4e as DialogMessage,m4e as DialogSelectFile,WNe as DialogSelectID,O4e as DialogSimpleCron,Nne as DialogTextInput,ye as ERRORS,ge as EXTENSIONS,qn as Error,Qne as FileBrowser,Go as FileBrowserClass,Yne as FileViewer,kne as FileViewerClass,At as GenericApp,d as I18n,$M as ITEM_IMAGES,Ie as Icon,cNe as IconAdapter,xne as IconAlias,z4e as IconButtonImage,Ia as IconChannel,LNe as IconClearFilter,Gt as IconClosed,$t as IconCopy,wa as IconDevice,uNe as IconDocument,NNe as IconDocumentReadOnly,uo as IconExpert,I4e as IconFx,lNe as IconInstance,w4e as IconLogout,Fo as IconNoIcon,Ks as IconOpen,a4e as IconPicker,jce as IconSelector,gs as IconState,C4e as IconVacuum,qs as Image,N4e as InfoBox,J as LegacyConnection,v4 as Loader,d4e as LoaderMV,D4e as LoaderPT,y4e as LoaderVendor,da as Logo,za as MDUtils,p4e as Message,ANe as ObjectBrowser,We as ObjectBrowserClass,i4e as PERMISSION_ERROR,Re as PROGRESS,Ts as Router,u4e as STATES_NAME_ICONS,J4 as SaveCloseButtons,le as Schedule,m4e as SelectFile,WNe as SelectID,l4e as SelectWithIcon,As as SimpleCron,O4e as SimpleCronDialog,jNe as TabContainer,gNe as TabContent,TNe as TabHeader,L4e as TableResize,Nne as TextInput,j4e as TextWithIcon,cc as Theme,g4e as ToggleThemeMenu,Co as TreeTable,T4e as UploadImage,S as Utils,ta as convertCronToText,Xn as copy,tc as cron2state,HMe as dictionary,Da as extendDeviceTypeTranslation,sc as getAttrInObject,n4e as getSelectIdIcon,ci as getSelectIdIconFromObjects,M4e as getSystemIcon,Ble as iobUriParse,_4e as iobUriRead,E4e as iobUriToString,S4e as moduleFederationShared,Nn as pattern2RegEx,Q4 as printPrompt,Fle as setAttrInObject,di as withWidth}; diff --git a/admin/custom/assets/index-BzS6q3oS.js b/admin/custom/assets/index-DZqbj5K4.js similarity index 56% rename from admin/custom/assets/index-BzS6q3oS.js rename to admin/custom/assets/index-DZqbj5K4.js index 6cd508708..a3578b957 100644 --- a/admin/custom/assets/index-BzS6q3oS.js +++ b/admin/custom/assets/index-DZqbj5K4.js @@ -1,6 +1,6 @@ -import{C as rs,b as ns,S as ss,s as as,c as T,d as kr,h as mo,e as De,f as is,g as Sn,m as ls,i as Dr,j as cs,k as ps,l as wn,n as xo,o as ds,a as Tt,p as us,q as fs,t as gs,u as ms,v as bs,w as vs,x as ys,y as hs,z as xs,A as Ee,B as Fe,T as Cs,D as Ho,E as ko,F as Be}from"./createTheme-BwMO3rTt.js";import{Q as Bv,N as Nv,O as Ov,J as zv,P as jv,L as Dv,M as Ev,R as Fv,G as Uv,I as Wv,W as Hv,V as Vv,X as Gv,K as _v,H as qv,U as Xv}from"./createTheme-BwMO3rTt.js";import{d as Ss,c as j,e as ws,b as q,g as K,C as Rn,u as X,s as S,m as U,r as Se,a as Z,f as Xo}from"./DefaultPropsProvider-9qubdy-V.js";import{H as Tr,J as Yo,K as Rs,N as Er,O as $s,Q as Ps,R as ks,U as bo,V as Ts,W as V,c as re,X as Is,Y as To,Z as Vo,$ as Ms,B as fe,a0 as ro,T as Ir,a1 as Oe,a2 as Ue,d as ue,P as we,I as ze,e as We,a3 as As,a4 as $n,p as Ko,C as Ls,a5 as Fr,a6 as sr,b as Ce,a7 as Bs,a8 as Ns,a9 as vo,aa as Zo,ab as Os,ac as zs,ad as Pn,ae as js,af as Ds,n as Es,ag as Me,ah as Fs,ai as Us,aj as Ws,ak as Hs,v as kn,al as fo,G as Tn,am as Vs,an as Gs,ao as _s,M as qs,ap as Xs}from"./Tabs-CvEv0KOT.js";import{aq as Kv,q as Zv,ar as Jv,t as Qv,D as ty,x as ey,E as oy,l as ry,j as ny,F as sy,as as ay,a_ as iy,h as ly,i as cy,L as py,r as dy,at as uy,au as fy,g as gy,bi as my,av as by,aw as vy,bt as yy,bs as hy,ax as xy,S as Cy,y as Sy,ay as wy,z as Ry,k as $y,o as Py,aB as ky,aF as Ty,aD as Iy,aJ as My,aL as Ay,aO as Ly,w as By,aQ as Ny,aS as Oy,aT as zy,aV as jy,aX as Dy,aZ as Ey,aC as Fy,aH as Uy,aE as Wy,aK as Hy,aM as Vy,aP as Gy,aR as _y,aN as qy,aU as Xy,aW as Yy,aY as Ky,a$ as Zy,b1 as Jy,b4 as Qy,b6 as th,b2 as eh,bd as oh,ba as rh,b8 as nh,bh as sh,bf as ah,bk as ih,br as lh,bq as ch,bm as ph,bo as dh,bu as uh,bv as fh,bx as gh,bz as mh,bE as bh,bB as vh,bC as yh,bG as hh,aI as xh,bH as Ch,b0 as Sh,b3 as wh,b5 as Rh,b7 as $h,b9 as Ph,bb as kh,bc as Th,be as Ih,bg as Mh,bj as Ah,bl as Lh,bn as Bh,bp as Nh,bw as Oh,by as zh,bA as jh,bD as Dh,A as Eh,bF as Fh,aG as Uh,az as Wh,aA as Hh,u as Vh}from"./Tabs-CvEv0KOT.js";import{C as u}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js";import{j as d}from"./jsx-runtime-o-xyxrOj.js";import{u as se}from"./useTheme-CDtRWagv.js";import{e as Jo,a as ge,c as Ft,u as ne,f as _e,i as Le,b as Co,o as de,g as In,d as Ys,h as Ye,j as Mr,k as Uo,I as Ks}from"./FilledInput-BpuM_GyB.js";import{F as _h,G as qh,T as Xh,l as Yh,m as Kh}from"./FilledInput-BpuM_GyB.js";import{c as Ht,S as Zs}from"./createSvgIcon-BQThUM-f.js";import{g as Jh,s as Qh}from"./createSvgIcon-BQThUM-f.js";import{u as Mn,P as Qt}from"./useTheme-MELayQMj.js";import{u as He}from"./index-B7G6Jpdl.js";import{u as So,c as Ar,k as Lr}from"./useEnhancedEffect-CdLBzwyA.js";import{C as Ur}from"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DibxNPKw.js";import{r as Js}from"./DefaultPropsProvider-DbEA5uR6.js";import{C as e0,E as o0,T as r0,g as n0,u as s0}from"./ThemeProvider-DZTpMR8n.js";import"./defaultTheme-avbtL0lf.js";import"./useThemeWithoutDefault-C-hl_s0Z.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js";const ar=new Map,Qs=(t,e)=>{const o=ns(t);return o.sheet=new e({key:o.key,nonce:o.sheet.nonce,container:o.sheet.container,speedy:o.sheet.isSpeedy,prepend:o.sheet.prepend,insertionPoint:o.sheet.insertionPoint}),o};let ke;if(typeof document=="object"&&(ke=document.querySelector('[name="emotion-insertion-point"]'),!ke)){ke=document.createElement("meta"),ke.setAttribute("name","emotion-insertion-point"),ke.setAttribute("content","");const t=document.querySelector("head");t&&t.prepend(ke)}function ta(t,e){if(t||e){class o extends ss{insert(s,a){return this.key&&this.key.endsWith("global")&&(this.before=ke),super.insert(s,a)}}const r=Qs({key:"css",insertionPoint:t?ke:void 0},o);if(e){const n=r.insert;r.insert=(...s)=>(s[1].styles.startsWith("@layer")||(s[1].styles=`@layer mui {${s[1].styles}}`),n(...s))}return r}}function pm(t){const{injectFirst:e,enableCssLayer:o,children:r}=t,n=u.useMemo(()=>{const s=`${e}-${o}`;if(ar.has(s))return ar.get(s);const a=ta(e,o);return ar.set(s,a),a},[e,o]);return n?d.jsx(rs,{value:n,children:r}):r}function ea(t={}){const{themeId:e,defaultTheme:o,defaultClassName:r="MuiBox-root",generateClassName:n}=t,s=Ss("div",{shouldForwardProp:i=>i!=="theme"&&i!=="sx"&&i!=="as"})(as);return u.forwardRef(function(l,c){const p=Mn(o),{className:f,component:v="div",...m}=Jo(l);return d.jsx(s,{as:v,ref:c,className:j(f,n?n(r):r),theme:e&&p[e]||p,...m})})}const Br=ws();function dm(t,e){return()=>null}function um(t,e){return()=>null}function fm(t,e,o,r,n){return null}const Nr=t=>{const e=u.useRef({});return u.useEffect(()=>{e.current=t}),e.current};function An(t){return u.Children.toArray(t).filter(e=>u.isValidElement(e))}const oa=kr(),ra=Br("div",{name:"MuiContainer",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`maxWidth${T(String(o.maxWidth))}`],o.fixed&&e.fixed,o.disableGutters&&e.disableGutters]}}),na=t=>Tr({props:t,name:"MuiContainer",defaultTheme:oa}),sa=(t,e)=>{const o=l=>K(e,l),{classes:r,fixed:n,disableGutters:s,maxWidth:a}=t,i={root:["root",a&&`maxWidth${T(String(a))}`,n&&"fixed",s&&"disableGutters"]};return q(i,o,r)};function aa(t={}){const{createStyledComponent:e=ra,useThemeProps:o=na,componentName:r="MuiContainer"}=t,n=e(({theme:a,ownerState:i})=>({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",...!i.disableGutters&&{paddingLeft:a.spacing(2),paddingRight:a.spacing(2),[a.breakpoints.up("sm")]:{paddingLeft:a.spacing(3),paddingRight:a.spacing(3)}}}),({theme:a,ownerState:i})=>i.fixed&&Object.keys(a.breakpoints.values).reduce((l,c)=>{const p=c,f=a.breakpoints.values[p];return f!==0&&(l[a.breakpoints.up(p)]={maxWidth:`${f}${a.breakpoints.unit}`}),l},{}),({theme:a,ownerState:i})=>({...i.maxWidth==="xs"&&{[a.breakpoints.up("xs")]:{maxWidth:Math.max(a.breakpoints.values.xs,444)}},...i.maxWidth&&i.maxWidth!=="xs"&&{[a.breakpoints.up(i.maxWidth)]:{maxWidth:`${a.breakpoints.values[i.maxWidth]}${a.breakpoints.unit}`}}}));return u.forwardRef(function(i,l){const c=o(i),{className:p,component:f="div",disableGutters:v=!1,fixed:m=!1,maxWidth:y="lg",classes:g,...h}=c,b={...c,component:f,disableGutters:v,fixed:m,maxWidth:y},x=sa(b,r);return d.jsx(n,{as:f,ownerState:b,className:j(x.root,p),ref:l,...h})})}const ia=(t,e)=>t.filter(o=>e.includes(o)),Ze=(t,e,o)=>{const r=t.keys[0];Array.isArray(e)?e.forEach((n,s)=>{o((a,i)=>{s<=t.keys.length-1&&(s===0?Object.assign(a,i):a[t.up(t.keys[s])]=i)},n)}):e&&typeof e=="object"?(Object.keys(e).length>t.keys.length?t.keys:ia(t.keys,Object.keys(e))).forEach(s=>{if(t.keys.includes(s)){const a=e[s];a!==void 0&&o((i,l)=>{r===s?Object.assign(i,l):i[t.up(s)]=l},a)}}):(typeof e=="number"||typeof e=="string")&&o((n,s)=>{Object.assign(n,s)},e)};function Go(t){return`--Grid-${t}Spacing`}function Qo(t){return`--Grid-parent-${t}Spacing`}const Wr="--Grid-columns",Ke="--Grid-parent-columns",la=({theme:t,ownerState:e})=>{const o={};return Ze(t.breakpoints,e.size,(r,n)=>{let s={};n==="grow"&&(s={flexBasis:0,flexGrow:1,maxWidth:"100%"}),n==="auto"&&(s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof n=="number"&&(s={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${n} / var(${Ke}) - (var(${Ke}) - ${n}) * (var(${Qo("column")}) / var(${Ke})))`}),r(o,s)}),o},ca=({theme:t,ownerState:e})=>{const o={};return Ze(t.breakpoints,e.offset,(r,n)=>{let s={};n==="auto"&&(s={marginLeft:"auto"}),typeof n=="number"&&(s={marginLeft:n===0?"0px":`calc(100% * ${n} / var(${Ke}) + var(${Qo("column")}) * ${n} / var(${Ke}))`}),r(o,s)}),o},pa=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={[Wr]:12};return Ze(t.breakpoints,e.columns,(r,n)=>{const s=n??12;r(o,{[Wr]:s,"> *":{[Ke]:s}})}),o},da=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Ze(t.breakpoints,e.rowSpacing,(r,n)=>{var a;const s=typeof n=="string"?n:(a=t.spacing)==null?void 0:a.call(t,n);r(o,{[Go("row")]:s,"> *":{[Qo("row")]:s}})}),o},ua=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Ze(t.breakpoints,e.columnSpacing,(r,n)=>{var a;const s=typeof n=="string"?n:(a=t.spacing)==null?void 0:a.call(t,n);r(o,{[Go("column")]:s,"> *":{[Qo("column")]:s}})}),o},fa=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Ze(t.breakpoints,e.direction,(r,n)=>{r(o,{flexDirection:n})}),o},ga=({ownerState:t})=>({minWidth:0,boxSizing:"border-box",...t.container&&{display:"flex",flexWrap:"wrap",...t.wrap&&t.wrap!=="wrap"&&{flexWrap:t.wrap},gap:`var(${Go("row")}) var(${Go("column")})`}}),ma=t=>{const e=[];return Object.entries(t).forEach(([o,r])=>{r!==!1&&r!==void 0&&e.push(`grid-${o}-${String(r)}`)}),e},ba=(t,e="xs")=>{function o(r){return r===void 0?!1:typeof r=="string"&&!Number.isNaN(Number(r))||typeof r=="number"&&r>0}if(o(t))return[`spacing-${e}-${String(t)}`];if(typeof t=="object"&&!Array.isArray(t)){const r=[];return Object.entries(t).forEach(([n,s])=>{o(s)&&r.push(`spacing-${n}-${String(s)}`)}),r}return[]},va=t=>t===void 0?[]:typeof t=="object"?Object.entries(t).map(([e,o])=>`direction-${e}-${o}`):[`direction-xs-${String(t)}`];function ya(t,e){t.item!==void 0&&delete t.item,t.zeroMinWidth!==void 0&&delete t.zeroMinWidth,e.keys.forEach(o=>{t[o]!==void 0&&delete t[o]})}const ha=kr(),xa=Br("div",{name:"MuiGrid",slot:"Root",overridesResolver:(t,e)=>e.root});function Ca(t){return Tr({props:t,name:"MuiGrid",defaultTheme:ha})}function Sa(t={}){const{createStyledComponent:e=xa,useThemeProps:o=Ca,useTheme:r=Mn,componentName:n="MuiGrid"}=t,s=(c,p)=>{const{container:f,direction:v,spacing:m,wrap:y,size:g}=c,h={root:["root",f&&"container",y!=="wrap"&&`wrap-xs-${String(y)}`,...va(v),...ma(g),...f?ba(m,p.breakpoints.keys[0]):[]]};return q(h,b=>K(n,b),{})};function a(c,p,f=()=>!0){const v={};return c===null||(Array.isArray(c)?c.forEach((m,y)=>{m!==null&&f(m)&&p.keys[y]&&(v[p.keys[y]]=m)}):typeof c=="object"?Object.keys(c).forEach(m=>{const y=c[m];y!=null&&f(y)&&(v[m]=y)}):v[p.keys[0]]=c),v}const i=e(pa,ua,da,la,fa,ga,ca),l=u.forwardRef(function(p,f){const v=r(),m=o(p),y=Jo(m);ya(y,v.breakpoints);const{className:g,children:h,columns:b=12,container:x=!1,component:C="div",direction:R="row",wrap:P="wrap",size:N={},offset:$={},spacing:A=0,rowSpacing:k=A,columnSpacing:I=A,unstable_level:F=0,...L}=y,w=a(N,v.breakpoints,_=>_!==!1),M=a($,v.breakpoints),H=p.columns??(F?void 0:b),z=p.spacing??(F?void 0:A),Q=p.rowSpacing??p.spacing??(F?void 0:k),D=p.columnSpacing??p.spacing??(F?void 0:I),et={...y,level:F,columns:H,container:x,direction:R,wrap:P,spacing:z,rowSpacing:Q,columnSpacing:D,size:w,offset:M},pt=s(et,v);return d.jsx(i,{ref:f,as:C,ownerState:et,className:j(pt.root,g),...L,children:u.Children.map(h,_=>{var wt;return u.isValidElement(_)&&Yo(_,["Grid"])&&x&&_.props.container?u.cloneElement(_,{unstable_level:((wt=_.props)==null?void 0:wt.unstable_level)??F+1}):_})})});return l.muiName="Grid",l}const wa=kr(),Ra=Br("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root});function $a(t){return Tr({props:t,name:"MuiStack",defaultTheme:wa})}function Pa(t,e){const o=u.Children.toArray(t).filter(Boolean);return o.reduce((r,n,s)=>(r.push(n),s({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[t],Ta=({ownerState:t,theme:e})=>{let o={display:"flex",flexDirection:"column",...mo({theme:e},De({values:t.direction,breakpoints:e.breakpoints.values}),r=>({flexDirection:r}))};if(t.spacing){const r=is(e),n=Object.keys(e.breakpoints.values).reduce((l,c)=>((typeof t.spacing=="object"&&t.spacing[c]!=null||typeof t.direction=="object"&&t.direction[c]!=null)&&(l[c]=!0),l),{}),s=De({values:t.direction,base:n}),a=De({values:t.spacing,base:n});typeof s=="object"&&Object.keys(s).forEach((l,c,p)=>{if(!s[l]){const v=c>0?s[p[c-1]]:"column";s[l]=v}}),o=Sn(o,mo({theme:e},a,(l,c)=>t.useFlexGap?{gap:Dr(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${ka(c?s[c]:t.direction)}`]:Dr(r,l)}}))}return o=ls(e.breakpoints,o),o};function Ia(t={}){const{createStyledComponent:e=Ra,useThemeProps:o=$a,componentName:r="MuiStack"}=t,n=()=>q({root:["root"]},l=>K(r,l),{}),s=e(Ta);return u.forwardRef(function(l,c){const p=o(l),f=Jo(p),{component:v="div",direction:m="column",spacing:y=0,divider:g,children:h,className:b,useFlexGap:x=!1,...C}=f,R={direction:m,spacing:y,useFlexGap:x},P=n();return d.jsx(s,{as:v,ownerState:R,ref:c,className:j(P.root,b),...C,children:g?Pa(h,g):h})})}function gm(t){const{defaultProps:e={},mixins:o={},overrides:r={},palette:n={},props:s={},styleOverrides:a={},...i}=t,l={...i,components:{}};Object.keys(e).forEach(g=>{const h=l.components[g]||{};h.defaultProps=e[g],l.components[g]=h}),Object.keys(s).forEach(g=>{const h=l.components[g]||{};h.defaultProps=s[g],l.components[g]=h}),Object.keys(a).forEach(g=>{const h=l.components[g]||{};h.styleOverrides=a[g],l.components[g]=h}),Object.keys(r).forEach(g=>{const h=l.components[g]||{};h.styleOverrides=r[g],l.components[g]=h}),l.spacing=cs(t.spacing);const c=ps(t.breakpoints||{}),p=l.spacing;l.mixins={gutters:(g={})=>({paddingLeft:p(2),paddingRight:p(2),...g,[c.up("sm")]:{paddingLeft:p(3),paddingRight:p(3),...g[c.up("sm")]}}),...o};const{type:f,mode:v,...m}=n,y=v||f||"light";return l.palette={text:{hint:y==="dark"?"rgba(255, 255, 255, 0.5)":"rgba(0, 0, 0, 0.38)"},mode:y,type:y,...m},l}function mm(t,...e){return wn(Sn({unstable_strictMode:!0},t),...e)}let Hr=!1;function bm(t){return Hr||(console.warn(["MUI: createStyles from @mui/material/styles is deprecated.","Please use @mui/styles/createStyles"].join(` -`)),Hr=!0),t}function vm(t,e={}){const{breakpoints:o=["sm","md","lg"],disableAlign:r=!1,factor:n=2,variants:s=["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","button","overline"]}=e,a={...t};a.typography={...a.typography};const i=a.typography,l=Rs(i.htmlFontSize),c=o.map(p=>a.breakpoints.values[p]);return s.forEach(p=>{const f=i[p];if(!f)return;const v=parseFloat(l(f.fontSize,"rem"));if(v<=1)return;const m=v,y=1+(m-1)/n;let{lineHeight:g}=f;if(!Er(g)&&!r)throw new Error(xo(6));Er(g)||(g=parseFloat(l(g,"rem"))/parseFloat(v));let h=null;r||(h=b=>Ps({size:b,grid:ks({pixels:4,lineHeight:g,htmlFontSize:i.htmlFontSize})})),i[p]={...f,...$s({cssProperty:"fontSize",min:y,max:m,unit:"rem",breakpoints:c,transform:h})}}),a}function ym(){throw new Error(xo(14))}function hm(){throw new Error(xo(15))}function xm(){throw new Error(xo(16))}let Vr=!1;function Cm(...t){return Vr||(console.warn(["MUI: The `experimental_extendTheme` has been stabilized.","","You should use `import { extendTheme } from '@mui/material/styles'`"].join(` -`)),Vr=!0),ds(...t)}function Sm(){throw new Error(xo(19))}const wm={configure:t=>{Rn.configure(t)}},Ma=t=>{const{alignItems:e,classes:o}=t;return q({root:["root",e==="flex-start"&&"alignItemsFlexStart"]},Ts,o)},Aa=S("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.alignItems==="flex-start"&&e.alignItemsFlexStart]}})(U(({theme:t})=>({minWidth:56,color:(t.vars||t).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),Rm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListItemIcon"}),{className:n,...s}=r,a=u.useContext(bo),i={...r,alignItems:a.alignItems},l=Ma(i);return d.jsx(Aa,{className:j(l.root,n),ownerState:i,ref:o,...s})}),La=t=>{const{classes:e,inset:o,primary:r,secondary:n,dense:s}=t;return q({root:["root",o&&"inset",s&&"dense",r&&n&&"multiline"],primary:["primary"],secondary:["secondary"]},Is,e)},Ba=S("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${To.primary}`]:e.primary},{[`& .${To.secondary}`]:e.secondary},e.root,o.inset&&e.inset,o.primary&&o.secondary&&e.multiline,o.dense&&e.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${Vo.root}:where(& .${To.primary})`]:{display:"block"},[`.${Vo.root}:where(& .${To.secondary})`]:{display:"block"},variants:[{props:({ownerState:t})=>t.primary&&t.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:t})=>t.inset,style:{paddingLeft:56}}]}),$m=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListItemText"}),{children:n,className:s,disableTypography:a=!1,inset:i=!1,primary:l,primaryTypographyProps:c,secondary:p,secondaryTypographyProps:f,slots:v={},slotProps:m={},...y}=r,{dense:g}=u.useContext(bo);let h=l??n,b=p;const x={...r,disableTypography:a,inset:i,primary:!!h,secondary:!!b,dense:g},C=La(x),R={slots:v,slotProps:{primary:c,secondary:f,...m}},[P,N]=V("root",{className:j(C.root,s),elementType:Ba,externalForwardedProps:{...R,...y},ownerState:x,ref:o}),[$,A]=V("primary",{className:C.primary,elementType:re,externalForwardedProps:R,ownerState:x}),[k,I]=V("secondary",{className:C.secondary,elementType:re,externalForwardedProps:R,ownerState:x});return h!=null&&h.type!==re&&!a&&(h=d.jsx($,{variant:g?"body2":"body1",component:A!=null&&A.variant?void 0:"span",...A,children:h})),b!=null&&b.type!==re&&!a&&(b=d.jsx(k,{variant:"body2",color:"textSecondary",...I,children:b})),d.jsxs(P,{...N,children:[h,b]})}),Na=(t,e)=>{const{ownerState:o}=t;return[e.root,o.dense&&e.dense,o.alignItems==="flex-start"&&e.alignItemsFlexStart,o.divider&&e.divider,!o.disableGutters&&e.gutters]},Oa=t=>{const{alignItems:e,classes:o,dense:r,disabled:n,disableGutters:s,divider:a,selected:i}=t,c=q({root:["root",r&&"dense",!s&&"gutters",a&&"divider",n&&"disabled",e==="flex-start"&&"alignItemsFlexStart",i&&"selected"]},Ms,o);return{...o,...c}},za=S(fe,{shouldForwardProp:t=>Se(t)||t==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:Na})(U(({theme:t})=>({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:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ro.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${ro.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}},[`&.${ro.selected}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity)}},[`&.${ro.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${ro.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:({ownerState:e})=>e.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.dense,style:{paddingTop:4,paddingBottom:4}}]}))),Pm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListItemButton"}),{alignItems:n="center",autoFocus:s=!1,component:a="div",children:i,dense:l=!1,disableGutters:c=!1,divider:p=!1,focusVisibleClassName:f,selected:v=!1,className:m,...y}=r,g=u.useContext(bo),h=u.useMemo(()=>({dense:l||g.dense||!1,alignItems:n,disableGutters:c}),[n,g.dense,l,c]),b=u.useRef(null);So(()=>{s&&b.current&&b.current.focus()},[s]);const x={...r,alignItems:n,dense:h.dense,disableGutters:c,divider:p,selected:v},C=Oa(x),R=ge(b,o);return d.jsx(bo.Provider,{value:h,children:d.jsx(za,{ref:R,href:y.href||y.to,component:(y.href||y.to)&&a==="div"?"button":a,focusVisibleClassName:j(C.focusVisible,f),ownerState:x,className:j(C.root,m),...y,classes:C,children:i})})}),ja={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"},Da={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"},Ea={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"},Fa={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"},Ua={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"},Wa={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"},Ha={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"},Va={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"},Ga={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"},_a={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"},qa={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037"},Xa={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64"},km=Object.freeze(Object.defineProperty({__proto__:null,amber:Ga,blue:us,blueGrey:Xa,brown:qa,common:fs,cyan:Fa,deepOrange:_a,deepPurple:Da,green:gs,grey:ms,indigo:Ea,lightBlue:bs,lightGreen:Wa,lime:Ha,orange:vs,pink:ja,purple:ys,red:hs,teal:Ua,yellow:Va},Symbol.toStringTag,{value:"Module"}));function Ya(t){return K("MuiCollapse",t)}const Tm=Z("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]),Ka=t=>{const{orientation:e,classes:o}=t,r={root:["root",`${e}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${e}`],wrapperInner:["wrapperInner",`${e}`]};return q(r,Ya,o)},Za=S("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.state==="entered"&&e.entered,o.state==="exited"&&!o.in&&o.collapsedSize==="0px"&&e.hidden]}})(U(({theme:t})=>({height:0,overflow:"hidden",transition:t.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:t.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:e})=>e.state==="exited"&&!e.in&&e.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),Ja=S("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(t,e)=>e.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),Qa=S("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(t,e)=>e.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),yo=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCollapse"}),{addEndListener:n,children:s,className:a,collapsedSize:i="0px",component:l,easing:c,in:p,onEnter:f,onEntered:v,onEntering:m,onExit:y,onExited:g,onExiting:h,orientation:b="vertical",style:x,timeout:C=xs.standard,TransitionComponent:R=Ir,...P}=r,N={...r,orientation:b,collapsedSize:i},$=Ka(N),A=se(),k=Oe(),I=u.useRef(null),F=u.useRef(),L=typeof i=="number"?`${i}px`:i,w=b==="horizontal",M=w?"width":"height",H=u.useRef(null),z=ge(o,H),Q=rt=>W=>{if(rt){const it=H.current;W===void 0?rt(it):rt(it,W)}},D=()=>I.current?I.current[w?"clientWidth":"clientHeight"]:0,et=Q((rt,W)=>{I.current&&w&&(I.current.style.position="absolute"),rt.style[M]=L,f&&f(rt,W)}),pt=Q((rt,W)=>{const it=D();I.current&&w&&(I.current.style.position="");const{duration:dt,easing:bt}=Ue({style:x,timeout:C,easing:c},{mode:"enter"});if(C==="auto"){const $t=A.transitions.getAutoHeightDuration(it);rt.style.transitionDuration=`${$t}ms`,F.current=$t}else rt.style.transitionDuration=typeof dt=="string"?dt:`${dt}ms`;rt.style[M]=`${it}px`,rt.style.transitionTimingFunction=bt,m&&m(rt,W)}),_=Q((rt,W)=>{rt.style[M]="auto",v&&v(rt,W)}),wt=Q(rt=>{rt.style[M]=`${D()}px`,y&&y(rt)}),Lt=Q(g),Rt=Q(rt=>{const W=D(),{duration:it,easing:dt}=Ue({style:x,timeout:C,easing:c},{mode:"exit"});if(C==="auto"){const bt=A.transitions.getAutoHeightDuration(W);rt.style.transitionDuration=`${bt}ms`,F.current=bt}else rt.style.transitionDuration=typeof it=="string"?it:`${it}ms`;rt.style[M]=L,rt.style.transitionTimingFunction=dt,h&&h(rt)}),lt=rt=>{C==="auto"&&k.start(F.current||0,rt),n&&n(H.current,rt)};return d.jsx(R,{in:p,onEnter:et,onEntered:_,onEntering:pt,onExit:wt,onExited:Lt,onExiting:Rt,addEndListener:lt,nodeRef:H,timeout:C==="auto"?null:C,...P,children:(rt,{ownerState:W,...it})=>d.jsx(Za,{as:l,className:j($.root,a,{entered:$.entered,exited:!p&&L==="0px"&&$.hidden}[rt]),style:{[w?"minWidth":"minHeight"]:L,...x},ref:z,ownerState:{...N,state:rt},...it,children:d.jsx(Ja,{ownerState:{...N,state:rt},className:$.wrapper,ref:I,children:d.jsx(Qa,{ownerState:{...N,state:rt},className:$.wrapperInner,children:s})})})})});yo&&(yo.muiSupportAuto=!0);const Ln=u.createContext({});function ti(t){return K("MuiAccordion",t)}const Io=Z("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),ei=t=>{const{classes:e,square:o,expanded:r,disabled:n,disableGutters:s}=t;return q({root:["root",!o&&"rounded",r&&"expanded",n&&"disabled",!s&&"gutters"],heading:["heading"],region:["region"]},ti,e)},oi=S(we,{name:"MuiAccordion",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Io.region}`]:e.region},e.root,!o.square&&e.rounded,!o.disableGutters&&e.gutters]}})(U(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{position:"relative",transition:t.transitions.create(["margin"],e),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(t.vars||t).palette.divider,transition:t.transitions.create(["opacity","background-color"],e)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${Io.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${Io.disabled}`]:{backgroundColor:(t.vars||t).palette.action.disabledBackground}}}),U(({theme:t})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${Io.expanded}`]:{margin:"16px 0"}}}]}))),ri=S("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(t,e)=>e.heading})({all:"unset"}),Im=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAccordion"}),{children:n,className:s,defaultExpanded:a=!1,disabled:i=!1,disableGutters:l=!1,expanded:c,onChange:p,square:f=!1,slots:v={},slotProps:m={},TransitionComponent:y,TransitionProps:g,...h}=r,[b,x]=ue({controlled:c,default:a,name:"Accordion",state:"expanded"}),C=u.useCallback(D=>{x(!b),p&&p(D,!b)},[b,p,x]),[R,...P]=u.Children.toArray(n),N=u.useMemo(()=>({expanded:b,disabled:i,disableGutters:l,toggle:C}),[b,i,l,C]),$={...r,square:f,disabled:i,disableGutters:l,expanded:b},A=ei($),k={transition:y,...v},I={transition:g,...m},F={slots:k,slotProps:I},[L,w]=V("root",{elementType:oi,externalForwardedProps:{...F,...h},className:j(A.root,s),shouldForwardComponentProp:!0,ownerState:$,ref:o,additionalProps:{square:f}}),[M,H]=V("heading",{elementType:ri,externalForwardedProps:F,className:A.heading,ownerState:$}),[z,Q]=V("transition",{elementType:yo,externalForwardedProps:F,ownerState:$});return d.jsxs(L,{...w,children:[d.jsx(M,{...H,children:d.jsx(Ln.Provider,{value:N,children:R})}),d.jsx(z,{in:b,timeout:"auto",...Q,children:d.jsx("div",{"aria-labelledby":R.props.id,id:R.props["aria-controls"],role:"region",className:A.region,children:P})})]})});function ni(t){return K("MuiAccordionActions",t)}const Mm=Z("MuiAccordionActions",["root","spacing"]),si=t=>{const{classes:e,disableSpacing:o}=t;return q({root:["root",!o&&"spacing"]},ni,e)},ai=S("div",{name:"MuiAccordionActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",variants:[{props:t=>!t.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),Am=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAccordionActions"}),{className:n,disableSpacing:s=!1,...a}=r,i={...r,disableSpacing:s},l=si(i);return d.jsx(ai,{className:j(l.root,n),ref:o,ownerState:i,...a})});function ii(t){return K("MuiAccordionDetails",t)}const Lm=Z("MuiAccordionDetails",["root"]),li=t=>{const{classes:e}=t;return q({root:["root"]},ii,e)},ci=S("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({padding:t.spacing(1,2,2)}))),Bm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAccordionDetails"}),{className:n,...s}=r,a=r,i=li(a);return d.jsx(ci,{className:j(i.root,n),ref:o,ownerState:a,...s})});function pi(t){return K("MuiAccordionSummary",t)}const Xe=Z("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),di=t=>{const{classes:e,expanded:o,disabled:r,disableGutters:n}=t;return q({root:["root",o&&"expanded",r&&"disabled",!n&&"gutters"],focusVisible:["focusVisible"],content:["content",o&&"expanded",!n&&"contentGutters"],expandIconWrapper:["expandIconWrapper",o&&"expanded"]},pi,e)},ui=S(fe,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{display:"flex",width:"100%",minHeight:48,padding:t.spacing(0,2),transition:t.transitions.create(["min-height","background-color"],e),[`&.${Xe.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${Xe.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},[`&:hover:not(.${Xe.disabled})`]:{cursor:"pointer"},variants:[{props:o=>!o.disableGutters,style:{[`&.${Xe.expanded}`]:{minHeight:64}}}]}})),fi=S("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(t,e)=>e.content})(U(({theme:t})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest}),[`&.${Xe.expanded}`]:{margin:"20px 0"}}}]}))),gi=S("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(t,e)=>e.expandIconWrapper})(U(({theme:t})=>({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),[`&.${Xe.expanded}`]:{transform:"rotate(180deg)"}}))),Nm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAccordionSummary"}),{children:n,className:s,expandIcon:a,focusVisibleClassName:i,onClick:l,slots:c,slotProps:p,...f}=r,{disabled:v=!1,disableGutters:m,expanded:y,toggle:g}=u.useContext(Ln),h=I=>{g&&g(I),l&&l(I)},b={...r,expanded:y,disabled:v,disableGutters:m},x=di(b),C={slots:c,slotProps:p},[R,P]=V("root",{ref:o,shouldForwardComponentProp:!0,className:j(x.root,s),elementType:ui,externalForwardedProps:{...C,...f},ownerState:b,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:v,"aria-expanded":y,focusVisibleClassName:j(x.focusVisible,i)},getSlotProps:I=>({...I,onClick:F=>{var L;(L=I.onClick)==null||L.call(I,F),h(F)}})}),[N,$]=V("content",{className:x.content,elementType:fi,externalForwardedProps:C,ownerState:b}),[A,k]=V("expandIconWrapper",{className:x.expandIconWrapper,elementType:gi,externalForwardedProps:C,ownerState:b});return d.jsxs(R,{...P,children:[d.jsx(N,{...$,children:n}),a&&d.jsx(A,{...k,children:a})]})});function mi(t){return K("MuiAlert",t)}const Gr=Z("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),bi=Ht(d.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),vi=Ht(d.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),yi=Ht(d.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),hi=Ht(d.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),Bn=Ht(d.jsx("path",{d:"M19 6.41L17.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"),xi=t=>{const{variant:e,color:o,severity:r,classes:n}=t,s={root:["root",`color${T(o||r)}`,`${e}${T(o||r)}`,`${e}`],icon:["icon"],message:["message"],action:["action"]};return q(s,mi,n)},Ci=S(we,{name:"MuiAlert",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`${o.variant}${T(o.color||o.severity)}`]]}})(U(({theme:t})=>{const e=t.palette.mode==="light"?Ee:Fe,o=t.palette.mode==="light"?Fe:Ee;return{...t.typography.body2,backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter(Ft(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert[`${r}Color`]:e(t.palette[r].light,.6),backgroundColor:t.vars?t.vars.palette.Alert[`${r}StandardBg`]:o(t.palette[r].light,.9),[`& .${Gr.icon}`]:t.vars?{color:t.vars.palette.Alert[`${r}IconColor`]}:{color:t.palette[r].main}}})),...Object.entries(t.palette).filter(Ft(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert[`${r}Color`]:e(t.palette[r].light,.6),border:`1px solid ${(t.vars||t).palette[r].light}`,[`& .${Gr.icon}`]:t.vars?{color:t.vars.palette.Alert[`${r}IconColor`]}:{color:t.palette[r].main}}})),...Object.entries(t.palette).filter(Ft(["dark"])).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:{fontWeight:t.typography.fontWeightMedium,...t.vars?{color:t.vars.palette.Alert[`${r}FilledColor`],backgroundColor:t.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:t.palette.mode==="dark"?t.palette[r].dark:t.palette[r].main,color:t.palette.getContrastText(t.palette[r].main)}}}))]}})),Si=S("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(t,e)=>e.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),wi=S("div",{name:"MuiAlert",slot:"Message",overridesResolver:(t,e)=>e.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),Ri=S("div",{name:"MuiAlert",slot:"Action",overridesResolver:(t,e)=>e.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),_r={success:d.jsx(bi,{fontSize:"inherit"}),warning:d.jsx(vi,{fontSize:"inherit"}),error:d.jsx(yi,{fontSize:"inherit"}),info:d.jsx(hi,{fontSize:"inherit"})},Om=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAlert"}),{action:n,children:s,className:a,closeText:i="Close",color:l,components:c={},componentsProps:p={},icon:f,iconMapping:v=_r,onClose:m,role:y="alert",severity:g="success",slotProps:h={},slots:b={},variant:x="standard",...C}=r,R={...r,color:l,severity:g,variant:x,colorSeverity:l||g},P=xi(R),N={slots:{closeButton:c.CloseButton,closeIcon:c.CloseIcon,...b},slotProps:{...p,...h}},[$,A]=V("root",{ref:o,shouldForwardComponentProp:!0,className:j(P.root,a),elementType:Ci,externalForwardedProps:{...N,...C},ownerState:R,additionalProps:{role:y,elevation:0}}),[k,I]=V("icon",{className:P.icon,elementType:Si,externalForwardedProps:N,ownerState:R}),[F,L]=V("message",{className:P.message,elementType:wi,externalForwardedProps:N,ownerState:R}),[w,M]=V("action",{className:P.action,elementType:Ri,externalForwardedProps:N,ownerState:R}),[H,z]=V("closeButton",{elementType:ze,externalForwardedProps:N,ownerState:R}),[Q,D]=V("closeIcon",{elementType:Bn,externalForwardedProps:N,ownerState:R});return d.jsxs($,{...A,children:[f!==!1?d.jsx(k,{...I,children:f||v[g]||_r[g]}):null,d.jsx(F,{...L,children:s}),n!=null?d.jsx(w,{...M,children:n}):null,n==null&&m?d.jsx(w,{...M,children:d.jsx(H,{size:"small","aria-label":i,title:i,color:"inherit",onClick:m,...z,children:d.jsx(Q,{fontSize:"small",...D})})}):null]})});function $i(t){return K("MuiAlertTitle",t)}const zm=Z("MuiAlertTitle",["root"]),Pi=t=>{const{classes:e}=t;return q({root:["root"]},$i,e)},ki=S(re,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({fontWeight:t.typography.fontWeightMedium,marginTop:-2}))),jm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAlertTitle"}),{className:n,...s}=r,a=r,i=Pi(a);return d.jsx(ki,{gutterBottom:!0,component:"div",ownerState:a,ref:o,className:j(i.root,n),...s})});function Ti(t){return K("MuiAppBar",t)}const Dm=Z("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]),Ii=t=>{const{color:e,position:o,classes:r}=t,n={root:["root",`color${T(e)}`,`position${T(o)}`]};return q(n,Ti,r)},qr=(t,e)=>t?`${t==null?void 0:t.replace(")","")}, ${e})`:e,Mi=S(we,{name:"MuiAppBar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${T(o.position)}`],e[`color${T(o.color)}`]]}})(U(({theme:t})=>({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,variants:[{props:{position:"fixed"},style:{position:"fixed",zIndex:(t.vars||t).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}}},{props:{position:"absolute"},style:{position:"absolute",zIndex:(t.vars||t).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"sticky"},style:{position:"sticky",zIndex:(t.vars||t).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":t.vars?t.vars.palette.AppBar.defaultBg:t.palette.grey[100],"--AppBar-color":t.vars?t.vars.palette.text.primary:t.palette.getContrastText(t.palette.grey[100]),...t.applyStyles("dark",{"--AppBar-background":t.vars?t.vars.palette.AppBar.defaultBg:t.palette.grey[900],"--AppBar-color":t.vars?t.vars.palette.text.primary:t.palette.getContrastText(t.palette.grey[900])})}},...Object.entries(t.palette).filter(Ft(["contrastText"])).map(([e])=>({props:{color:e},style:{"--AppBar-background":(t.vars??t).palette[e].main,"--AppBar-color":(t.vars??t).palette[e].contrastText}})),{props:e=>e.enableColorOnDark===!0&&!["inherit","transparent"].includes(e.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)"}},{props:e=>e.enableColorOnDark===!1&&!["inherit","transparent"].includes(e.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...t.applyStyles("dark",{backgroundColor:t.vars?qr(t.vars.palette.AppBar.darkBg,"var(--AppBar-background)"):null,color:t.vars?qr(t.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)",...t.applyStyles("dark",{backgroundImage:"none"})}}]}))),Em=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAppBar"}),{className:n,color:s="primary",enableColorOnDark:a=!1,position:i="fixed",...l}=r,c={...r,color:s,position:i,enableColorOnDark:a},p=Ii(c);return d.jsx(Mi,{square:!0,component:"header",ownerState:c,elevation:4,className:j(p.root,n,i==="fixed"&&"mui-fixed"),ref:o,...l})});function Xr(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function Ai(t={}){const{ignoreAccents:e=!0,ignoreCase:o=!0,limit:r,matchFrom:n="any",stringify:s,trim:a=!1}=t;return(i,{inputValue:l,getOptionLabel:c})=>{let p=a?l.trim():l;o&&(p=p.toLowerCase()),e&&(p=Xr(p));const f=p?i.filter(v=>{let m=(s||c)(v);return o&&(m=m.toLowerCase()),e&&(m=Xr(m)),n==="start"?m.startsWith(p):m.includes(p)}):i;return typeof r=="number"?f.slice(0,r):f}}const Li=Ai(),Yr=5,Bi=t=>{var e;return t.current!==null&&((e=t.current.parentElement)==null?void 0:e.contains(document.activeElement))},Ni=[];function Kr(t,e,o){if(e||t==null)return"";const r=o(t);return typeof r=="string"?r:""}function Oi(t){const{unstable_isActiveElementInListbox:e=Bi,unstable_classNamePrefix:o="Mui",autoComplete:r=!1,autoHighlight:n=!1,autoSelect:s=!1,blurOnSelect:a=!1,clearOnBlur:i=!t.freeSolo,clearOnEscape:l=!1,componentName:c="useAutocomplete",defaultValue:p=t.multiple?Ni:null,disableClearable:f=!1,disableCloseOnSelect:v=!1,disabled:m,disabledItemsFocusable:y=!1,disableListWrap:g=!1,filterOptions:h=Li,filterSelectedOptions:b=!1,freeSolo:x=!1,getOptionDisabled:C,getOptionKey:R,getOptionLabel:P=O=>O.label??O,groupBy:N,handleHomeEndKeys:$=!t.freeSolo,id:A,includeInputInList:k=!1,inputValue:I,isOptionEqualToValue:F=(O,B)=>O===B,multiple:L=!1,onChange:w,onClose:M,onHighlightChange:H,onInputChange:z,onOpen:Q,open:D,openOnFocus:et=!1,options:pt,readOnly:_=!1,selectOnFocus:wt=!t.freeSolo,value:Lt}=t,Rt=We(A);let lt=P;lt=O=>{const B=P(O);return typeof B!="string"?String(B):B};const rt=u.useRef(!1),W=u.useRef(!0),it=u.useRef(null),dt=u.useRef(null),[bt,$t]=u.useState(null),[nt,ct]=u.useState(-1),vt=n?0:-1,yt=u.useRef(vt),Ot=u.useRef(Kr(p??Lt,L,lt)).current,[Y,tt]=ue({controlled:Lt,default:p,name:c}),[st,xt]=ue({controlled:I,default:Ot,name:c,state:"inputValue"}),[ft,Pt]=u.useState(!1),It=u.useCallback((O,B,at)=>{if(!(L?Y.length!(b&&(L?Y:[Y]).some(B=>B!==null&&F(O,B)))),{inputValue:gt&&G?"":st,getOptionLabel:lt}):[],ht=Nr({filteredOptions:J,value:Y,inputValue:st});u.useEffect(()=>{const O=Y!==ht.value;ft&&!O||x&&!O||It(null,Y,"reset")},[Y,It,ft,ht.value,x]);const Dt=Vt&&J.length>0&&!_,At=ne(O=>{O===-1?it.current.focus():bt.querySelector(`[data-tag-index="${O}"]`).focus()});u.useEffect(()=>{L&&nt>Y.length-1&&(ct(-1),At(-1))},[Y,L,nt,At]);function zt(O,B){if(!dt.current||O<0||O>=J.length)return-1;let at=O;for(;;){const Ct=dt.current.querySelector(`[data-option-index="${at}"]`),Mt=y?!1:!Ct||Ct.disabled||Ct.getAttribute("aria-disabled")==="true";if(Ct&&Ct.hasAttribute("tabindex")&&!Mt)return at;if(B==="next"?at=(at+1)%J.length:at=(at-1+J.length)%J.length,at===O)return-1}}const qt=ne(({event:O,index:B,reason:at})=>{if(yt.current=B,B===-1?it.current.removeAttribute("aria-activedescendant"):it.current.setAttribute("aria-activedescendant",`${Rt}-option-${B}`),H&&["mouse","keyboard","touch"].includes(at)&&H(O,B===-1?null:J[B],at),!dt.current)return;const Ct=dt.current.querySelector(`[role="option"].${o}-focused`);Ct&&(Ct.classList.remove(`${o}-focused`),Ct.classList.remove(`${o}-focusVisible`));let Mt=dt.current;if(dt.current.getAttribute("role")!=="listbox"&&(Mt=dt.current.parentElement.querySelector('[role="listbox"]')),!Mt)return;if(B===-1){Mt.scrollTop=0;return}const jt=dt.current.querySelector(`[data-option-index="${B}"]`);if(jt&&(jt.classList.add(`${o}-focused`),at==="keyboard"&&jt.classList.add(`${o}-focusVisible`),Mt.scrollHeight>Mt.clientHeight&&at!=="mouse"&&at!=="touch")){const Gt=jt,ie=Mt.clientHeight+Mt.scrollTop,nr=Gt.offsetTop+Gt.offsetHeight;nr>ie?Mt.scrollTop=nr-Mt.clientHeight:Gt.offsetTop-Gt.offsetHeight*(N?1.3:0){if(!ut)return;const jt=zt((()=>{const Gt=J.length-1;if(B==="reset")return vt;if(B==="start")return 0;if(B==="end")return Gt;const ie=yt.current+B;return ie<0?ie===-1&&k?-1:g&&yt.current!==-1||Math.abs(B)>1?0:Gt:ie>Gt?ie===Gt+1&&k?-1:g||Math.abs(B)>1?Gt:0:ie})(),at);if(qt({index:jt,reason:Ct,event:O}),r&&B!=="reset")if(jt===-1)it.current.value=st;else{const Gt=lt(J[jt]);it.current.value=Gt,Gt.toLowerCase().indexOf(st.toLowerCase())===0&&st.length>0&&it.current.setSelectionRange(st.length,Gt.length)}}),ye=()=>{const O=(B,at)=>{const Ct=B?lt(B):"",Mt=at?lt(at):"";return Ct===Mt};if(yt.current!==-1&&ht.filteredOptions&&ht.filteredOptions.length!==J.length&&ht.inputValue===st&&(L?Y.length===ht.value.length&&ht.value.every((B,at)=>lt(Y[at])===lt(B)):O(ht.value,Y))){const B=ht.filteredOptions[yt.current];if(B)return J.findIndex(at=>lt(at)===lt(B))}return-1},ae=u.useCallback(()=>{if(!ut)return;const O=ye();if(O!==-1){yt.current=O;return}const B=L?Y[0]:Y;if(J.length===0||B==null){Xt({diff:"reset"});return}if(dt.current){if(B!=null){const at=J[yt.current];if(L&&at&&Y.findIndex(Mt=>F(at,Mt))!==-1)return;const Ct=J.findIndex(Mt=>F(Mt,B));Ct===-1?Xt({diff:"reset"}):qt({index:Ct});return}if(yt.current>=J.length-1){qt({index:J.length-1});return}qt({index:yt.current})}},[J.length,L?!1:Y,b,Xt,qt,ut,st,L]),he=ne(O=>{As(dt,O),O&&ae()});u.useEffect(()=>{ae()},[ae]);const Yt=O=>{Vt||(E(!0),ot(!0),Q&&Q(O))},ce=(O,B)=>{Vt&&(E(!1),M&&M(O,B))},Bt=(O,B,at,Ct)=>{if(L){if(Y.length===B.length&&Y.every((Mt,jt)=>Mt===B[jt]))return}else if(Y===B)return;w&&w(O,B,at,Ct),tt(B)},Et=u.useRef(!1),Kt=(O,B,at="selectOption",Ct="options")=>{let Mt=at,jt=B;if(L){jt=Array.isArray(Y)?Y.slice():[];const Gt=jt.findIndex(ie=>F(B,ie));Gt===-1?jt.push(B):Ct!=="freeSolo"&&(jt.splice(Gt,1),Mt="removeOption")}It(O,jt,Mt),Bt(O,jt,Mt,{option:B}),!v&&(!O||!O.ctrlKey&&!O.metaKey)&&ce(O,Mt),(a===!0||a==="touch"&&Et.current||a==="mouse"&&!Et.current)&&it.current.blur()};function pe(O,B){if(O===-1)return-1;let at=O;for(;;){if(B==="next"&&at===Y.length||B==="previous"&&at===-1)return-1;const Ct=bt.querySelector(`[data-tag-index="${at}"]`);if(!Ct||!Ct.hasAttribute("tabindex")||Ct.disabled||Ct.getAttribute("aria-disabled")==="true")at+=B==="next"?1:-1;else return at}}const Zt=(O,B)=>{if(!L)return;st===""&&ce(O,"toggleInput");let at=nt;nt===-1?st===""&&B==="previous"&&(at=Y.length-1):(at+=B==="next"?1:-1,at<0&&(at=0),at===Y.length&&(at=-1)),at=pe(at,B),ct(at),At(at)},mt=O=>{rt.current=!0,xt(""),z&&z(O,"","clear"),Bt(O,L?[]:null,"clear")},te=O=>B=>{if(O.onKeyDown&&O.onKeyDown(B),!B.defaultMuiPrevented&&(nt!==-1&&!["ArrowLeft","ArrowRight"].includes(B.key)&&(ct(-1),At(-1)),B.which!==229))switch(B.key){case"Home":ut&&$&&(B.preventDefault(),Xt({diff:"start",direction:"next",reason:"keyboard",event:B}));break;case"End":ut&&$&&(B.preventDefault(),Xt({diff:"end",direction:"previous",reason:"keyboard",event:B}));break;case"PageUp":B.preventDefault(),Xt({diff:-Yr,direction:"previous",reason:"keyboard",event:B}),Yt(B);break;case"PageDown":B.preventDefault(),Xt({diff:Yr,direction:"next",reason:"keyboard",event:B}),Yt(B);break;case"ArrowDown":B.preventDefault(),Xt({diff:1,direction:"next",reason:"keyboard",event:B}),Yt(B);break;case"ArrowUp":B.preventDefault(),Xt({diff:-1,direction:"previous",reason:"keyboard",event:B}),Yt(B);break;case"ArrowLeft":Zt(B,"previous");break;case"ArrowRight":Zt(B,"next");break;case"Enter":if(yt.current!==-1&&ut){const at=J[yt.current],Ct=C?C(at):!1;if(B.preventDefault(),Ct)return;Kt(B,at,"selectOption"),r&&it.current.setSelectionRange(it.current.value.length,it.current.value.length)}else x&&st!==""&>===!1&&(L&&B.preventDefault(),Kt(B,st,"createOption","freeSolo"));break;case"Escape":ut?(B.preventDefault(),B.stopPropagation(),ce(B,"escape")):l&&(st!==""||L&&Y.length>0)&&(B.preventDefault(),B.stopPropagation(),mt(B));break;case"Backspace":if(L&&!_&&st===""&&Y.length>0){const at=nt===-1?Y.length-1:nt,Ct=Y.slice();Ct.splice(at,1),Bt(B,Ct,"removeOption",{option:Y[at]})}break;case"Delete":if(L&&!_&&st===""&&Y.length>0&&nt!==-1){const at=nt,Ct=Y.slice();Ct.splice(at,1),Bt(B,Ct,"removeOption",{option:Y[at]})}break}},Ge=O=>{Pt(!0),et&&!rt.current&&Yt(O)},Ae=O=>{if(e(dt)){it.current.focus();return}Pt(!1),W.current=!0,rt.current=!1,s&&yt.current!==-1&&ut?Kt(O,J[yt.current],"blur"):s&&x&&st!==""?Kt(O,st,"blur","freeSolo"):i&&It(O,Y,"blur"),ce(O,"blur")},Qe=O=>{const B=O.target.value;st!==B&&(xt(B),ot(!1),z&&z(O,B,"input")),B===""?!f&&!L&&Bt(O,null,"clear"):Yt(O)},to=O=>{const B=Number(O.currentTarget.getAttribute("data-option-index"));yt.current!==B&&qt({event:O,index:B,reason:"mouse"})},tr=O=>{qt({event:O,index:Number(O.currentTarget.getAttribute("data-option-index")),reason:"touch"}),Et.current=!0},er=O=>{const B=Number(O.currentTarget.getAttribute("data-option-index"));Kt(O,J[B],"selectOption"),Et.current=!1},or=O=>B=>{const at=Y.slice();at.splice(O,1),Bt(B,at,"removeOption",{option:Y[O]})},rr=O=>{Vt?ce(O,"toggleInput"):Yt(O)},eo=O=>{O.currentTarget.contains(O.target)&&O.target.getAttribute("id")!==Rt&&O.preventDefault()},Jt=O=>{O.currentTarget.contains(O.target)&&(it.current.focus(),wt&&W.current&&it.current.selectionEnd-it.current.selectionStart===0&&it.current.select(),W.current=!1)},_t=O=>{!m&&(st===""||!Vt)&&rr(O)};let me=x&&st.length>0;me=me||(L?Y.length>0:Y!==null);let Ro=J;return N&&(Ro=J.reduce((O,B,at)=>{const Ct=N(B);return O.length>0&&O[O.length-1].group===Ct?O[O.length-1].options.push(B):O.push({key:at,index:at,group:Ct,options:[B]}),O},[])),m&&ft&&Ae(),{getRootProps:(O={})=>({...O,onKeyDown:te(O),onMouseDown:eo,onClick:Jt}),getInputLabelProps:()=>({id:`${Rt}-label`,htmlFor:Rt}),getInputProps:()=>({id:Rt,value:st,onBlur:Ae,onFocus:Ge,onChange:Qe,onMouseDown:_t,"aria-activedescendant":ut?"":null,"aria-autocomplete":r?"both":"list","aria-controls":Dt?`${Rt}-listbox`:void 0,"aria-expanded":Dt,autoComplete:"off",ref:it,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:m}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:mt}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:rr}),getTagProps:({index:O})=>({key:O,"data-tag-index":O,tabIndex:-1,...!_&&{onDelete:or(O)}}),getListboxProps:()=>({role:"listbox",id:`${Rt}-listbox`,"aria-labelledby":`${Rt}-label`,ref:he,onMouseDown:O=>{O.preventDefault()}}),getOptionProps:({index:O,option:B})=>{const at=(L?Y:[Y]).some(Mt=>Mt!=null&&F(B,Mt)),Ct=C?C(B):!1;return{key:(R==null?void 0:R(B))??lt(B),tabIndex:-1,role:"option",id:`${Rt}-option-${O}`,onMouseMove:to,onClick:er,onTouchStart:tr,"data-option-index":O,"aria-disabled":Ct,"aria-selected":at}},id:Rt,inputValue:st,value:Y,dirty:me,expanded:ut&&bt,popupOpen:ut,focused:ft||nt!==-1,anchorEl:bt,setAnchorEl:$t,focusedTag:nt,groupedOptions:Ro}}function zi(t){return K("MuiListSubheader",t)}const Fm=Z("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]),ji=t=>{const{classes:e,color:o,disableGutters:r,inset:n,disableSticky:s}=t,a={root:["root",o!=="default"&&`color${T(o)}`,!r&&"gutters",n&&"inset",!s&&"sticky"]};return q(a,zi,e)},Di=S("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color!=="default"&&e[`color${T(o.color)}`],!o.disableGutters&&e.gutters,o.inset&&e.inset,!o.disableSticky&&e.sticky]}})(U(({theme:t})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(t.vars||t).palette.text.secondary,fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(t.vars||t).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.inset,style:{paddingLeft:72}},{props:({ownerState:e})=>!e.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(t.vars||t).palette.background.paper}}]}))),xr=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListSubheader"}),{className:n,color:s="default",component:a="li",disableGutters:i=!1,disableSticky:l=!1,inset:c=!1,...p}=r,f={...r,color:s,component:a,disableGutters:i,disableSticky:l,inset:c},v=ji(f);return d.jsx(Di,{as:a,className:j(v.root,n),ref:o,ownerState:f,...p})});xr&&(xr.muiSkipListHighlight=!0);function Ei(t){return K("MuiAutocomplete",t)}const kt=Z("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var Zr,Jr;const Fi=t=>{const{classes:e,disablePortal:o,expanded:r,focused:n,fullWidth:s,hasClearIcon:a,hasPopupIcon:i,inputFocused:l,popupOpen:c,size:p}=t,f={root:["root",r&&"expanded",n&&"focused",s&&"fullWidth",a&&"hasClearIcon",i&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${T(p)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",c&&"popupIndicatorOpen"],popper:["popper",o&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return q(f,Ei,e)},Ui=S("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{fullWidth:r,hasClearIcon:n,hasPopupIcon:s,inputFocused:a,size:i}=o;return[{[`& .${kt.tag}`]:e.tag},{[`& .${kt.tag}`]:e[`tagSize${T(i)}`]},{[`& .${kt.inputRoot}`]:e.inputRoot},{[`& .${kt.input}`]:e.input},{[`& .${kt.input}`]:a&&e.inputFocused},e.root,r&&e.fullWidth,s&&e.hasPopupIcon,n&&e.hasClearIcon]}})({[`&.${kt.focused} .${kt.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${kt.clearIndicator}`]:{visibility:"visible"}},[`& .${kt.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${kt.inputRoot}`]:{[`.${kt.hasPopupIcon}&, .${kt.hasClearIcon}&`]:{paddingRight:30},[`.${kt.hasPopupIcon}.${kt.hasClearIcon}&`]:{paddingRight:56},[`& .${kt.input}`]:{width:0,minWidth:30}},[`& .${sr.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${sr.root}.${Le.sizeSmall}`]:{[`& .${sr.input}`]:{padding:"2px 4px 3px 0"}},[`& .${Fr.root}`]:{padding:9,[`.${kt.hasPopupIcon}&, .${kt.hasClearIcon}&`]:{paddingRight:39},[`.${kt.hasPopupIcon}.${kt.hasClearIcon}&`]:{paddingRight:65},[`& .${kt.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${kt.endAdornment}`]:{right:9}},[`& .${Fr.root}.${Le.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${kt.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${_e.root}`]:{paddingTop:19,paddingLeft:8,[`.${kt.hasPopupIcon}&, .${kt.hasClearIcon}&`]:{paddingRight:39},[`.${kt.hasPopupIcon}.${kt.hasClearIcon}&`]:{paddingRight:65},[`& .${_e.input}`]:{padding:"7px 4px"},[`& .${kt.endAdornment}`]:{right:9}},[`& .${_e.root}.${Le.sizeSmall}`]:{paddingBottom:1,[`& .${_e.input}`]:{padding:"2.5px 4px"}},[`& .${Le.hiddenLabel}`]:{paddingTop:8},[`& .${_e.root}.${Le.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${kt.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${_e.root}.${Le.hiddenLabel}.${Le.sizeSmall}`]:{[`& .${kt.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${kt.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${kt.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${kt.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${kt.inputRoot}`]:{flexWrap:"wrap"}}}]}),Wi=S("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(t,e)=>e.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),Hi=S(ze,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(t,e)=>e.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),Vi=S(ze,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.popupIndicator,o.popupOpen&&e.popupIndicatorOpen]}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),Gi=S(Ko,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${kt.option}`]:e.option},e.popper,o.disablePortal&&e.popperDisablePortal]}})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),_i=S(we,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(t,e)=>e.paper})(U(({theme:t})=>({...t.typography.body1,overflow:"auto"}))),qi=S("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(t,e)=>e.loading})(U(({theme:t})=>({color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}))),Xi=S("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(t,e)=>e.noOptions})(U(({theme:t})=>({color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}))),Yi=S("ul",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(t,e)=>e.listbox})(U(({theme:t})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${kt.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[t.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${kt.focused}`]:{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${kt.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${kt.focused}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(t.vars||t).palette.action.selected}},[`&.${kt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}}}}))),Ki=S(xr,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(t,e)=>e.groupLabel})(U(({theme:t})=>({backgroundColor:(t.vars||t).palette.background.paper,top:-8}))),Zi=S("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(t,e)=>e.groupUl})({padding:0,[`& .${kt.option}`]:{paddingLeft:24}}),Um=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAutocomplete"}),{autoComplete:n=!1,autoHighlight:s=!1,autoSelect:a=!1,blurOnSelect:i=!1,ChipProps:l,className:c,clearIcon:p=Zr||(Zr=d.jsx(Bn,{fontSize:"small"})),clearOnBlur:f=!r.freeSolo,clearOnEscape:v=!1,clearText:m="Clear",closeText:y="Close",componentsProps:g,defaultValue:h=r.multiple?[]:null,disableClearable:b=!1,disableCloseOnSelect:x=!1,disabled:C=!1,disabledItemsFocusable:R=!1,disableListWrap:P=!1,disablePortal:N=!1,filterOptions:$,filterSelectedOptions:A=!1,forcePopupIcon:k="auto",freeSolo:I=!1,fullWidth:F=!1,getLimitTagsText:L=Nt=>`+${Nt}`,getOptionDisabled:w,getOptionKey:M,getOptionLabel:H,isOptionEqualToValue:z,groupBy:Q,handleHomeEndKeys:D=!r.freeSolo,id:et,includeInputInList:pt=!1,inputValue:_,limitTags:wt=-1,ListboxComponent:Lt,ListboxProps:Rt,loading:lt=!1,loadingText:rt="Loading…",multiple:W=!1,noOptionsText:it="No options",onChange:dt,onClose:bt,onHighlightChange:$t,onInputChange:nt,onOpen:ct,open:vt,openOnFocus:yt=!1,openText:Ot="Open",options:Y,PaperComponent:tt,PopperComponent:st,popupIcon:xt=Jr||(Jr=d.jsx($n,{})),readOnly:ft=!1,renderGroup:Pt,renderInput:It,renderOption:Vt,renderTags:E,selectOnFocus:G=!r.freeSolo,size:ot="medium",slots:gt={},slotProps:ut={},value:J,...ht}=r,{getRootProps:Dt,getInputProps:At,getInputLabelProps:zt,getPopupIndicatorProps:qt,getClearProps:Xt,getTagProps:ye,getListboxProps:ae,getOptionProps:he,value:Yt,dirty:ce,expanded:Bt,id:Et,popupOpen:Kt,focused:pe,focusedTag:Zt,anchorEl:mt,setAnchorEl:te,inputValue:Ge,groupedOptions:Ae}=Oi({...r,componentName:"Autocomplete"}),Qe=!b&&!C&&ce&&!ft,to=(!I||k===!0)&&k!==!1,{onMouseDown:tr}=At(),{ref:er,...or}=ae(),eo=H||(Nt=>Nt.label??Nt),Jt={...r,disablePortal:N,expanded:Bt,focused:pe,fullWidth:F,getOptionLabel:eo,hasClearIcon:Qe,hasPopupIcon:to,inputFocused:Zt===-1,popupOpen:Kt,size:ot},_t=Fi(Jt),me={slots:{paper:tt,popper:st,...gt},slotProps:{chip:l,listbox:Rt,...g,...ut}},[Ro,O]=V("listbox",{elementType:Yi,externalForwardedProps:me,ownerState:Jt,className:_t.listbox,additionalProps:or,ref:er}),[B,at]=V("paper",{elementType:we,externalForwardedProps:me,ownerState:Jt,className:_t.paper}),[Ct,Mt]=V("popper",{elementType:Ko,externalForwardedProps:me,ownerState:Jt,className:_t.popper,additionalProps:{disablePortal:N,style:{width:mt?mt.clientWidth:null},role:"presentation",anchorEl:mt,open:Kt}});let jt;if(W&&Yt.length>0){const Nt=be=>({className:_t.tag,disabled:C,...ye(be)});E?jt=E(Yt,Nt,Jt):jt=Yt.map((be,Re)=>{const{key:oo,...os}=Nt({index:Re});return d.jsx(Ls,{label:eo(be),size:ot,...os,...me.slotProps.chip},oo)})}if(wt>-1&&Array.isArray(jt)){const Nt=jt.length-wt;!pe&&Nt>0&&(jt=jt.splice(0,wt),jt.push(d.jsx("span",{className:_t.tag,children:L(Nt)},jt.length)))}const ie=Pt||(Nt=>d.jsxs("li",{children:[d.jsx(Ki,{className:_t.groupLabel,ownerState:Jt,component:"div",children:Nt.group}),d.jsx(Zi,{className:_t.groupUl,ownerState:Jt,children:Nt.children})]},Nt.key)),es=Vt||((Nt,be)=>{const{key:Re,...oo}=Nt;return d.jsx("li",{...oo,children:eo(be)},Re)}),jr=(Nt,be)=>{const Re=he({option:Nt,index:be});return es({...Re,className:_t.option},Nt,{selected:Re["aria-selected"],index:be,inputValue:Ge},Jt)},$o=me.slotProps.clearIndicator,Po=me.slotProps.popupIndicator;return d.jsxs(u.Fragment,{children:[d.jsx(Ui,{ref:o,className:j(_t.root,c),ownerState:Jt,...Dt(ht),children:It({id:Et,disabled:C,fullWidth:!0,size:ot==="small"?"small":void 0,InputLabelProps:zt(),InputProps:{ref:te,className:_t.inputRoot,startAdornment:jt,onMouseDown:Nt=>{Nt.target===Nt.currentTarget&&tr(Nt)},...(Qe||to)&&{endAdornment:d.jsxs(Wi,{className:_t.endAdornment,ownerState:Jt,children:[Qe?d.jsx(Hi,{...Xt(),"aria-label":m,title:m,ownerState:Jt,...$o,className:j(_t.clearIndicator,$o==null?void 0:$o.className),children:p}):null,to?d.jsx(Vi,{...qt(),disabled:C,"aria-label":Kt?y:Ot,title:Kt?y:Ot,ownerState:Jt,...Po,className:j(_t.popupIndicator,Po==null?void 0:Po.className),children:xt}):null]})}},inputProps:{className:_t.input,disabled:C,readOnly:ft,...At()}})}),mt?d.jsx(Gi,{as:Ct,...Mt,children:d.jsxs(_i,{as:B,...at,children:[lt&&Ae.length===0?d.jsx(qi,{className:_t.loading,ownerState:Jt,children:rt}):null,Ae.length===0&&!I&&!lt?d.jsx(Xi,{className:_t.noOptions,ownerState:Jt,role:"presentation",onMouseDown:Nt=>{Nt.preventDefault()},children:it}):null,Ae.length>0?d.jsx(Ro,{as:Lt,...O,children:Ae.map((Nt,be)=>Q?ie({key:Nt.key,group:Nt.group,children:Nt.options.map((Re,oo)=>jr(Re,Nt.index+oo))}):jr(Nt,be))}):null]})}):null]})}),Ji=Ht(d.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function Qi(t){return K("MuiAvatar",t)}const tl=Z("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]),el=t=>{const{classes:e,variant:o,colorDefault:r}=t;return q({root:["root",o,r&&"colorDefault"],img:["img"],fallback:["fallback"]},Qi,e)},ol=S("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],o.colorDefault&&e.colorDefault]}})(U(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:{color:(t.vars||t).palette.background.default,...t.vars?{backgroundColor:t.vars.palette.Avatar.defaultBg}:{backgroundColor:t.palette.grey[400],...t.applyStyles("dark",{backgroundColor:t.palette.grey[600]})}}}]}))),rl=S("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(t,e)=>e.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),nl=S(Ji,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(t,e)=>e.fallback})({width:"75%",height:"75%"});function sl({crossOrigin:t,referrerPolicy:e,src:o,srcSet:r}){const[n,s]=u.useState(!1);return u.useEffect(()=>{if(!o&&!r)return;s(!1);let a=!0;const i=new Image;return i.onload=()=>{a&&s("loaded")},i.onerror=()=>{a&&s("error")},i.crossOrigin=t,i.referrerPolicy=e,i.src=o,r&&(i.srcset=r),()=>{a=!1}},[t,e,o,r]),n}const al=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAvatar"}),{alt:n,children:s,className:a,component:i="div",slots:l={},slotProps:c={},imgProps:p,sizes:f,src:v,srcSet:m,variant:y="circular",...g}=r;let h=null;const b={...r,component:i,variant:y},x=sl({...p,...typeof c.img=="function"?c.img(b):c.img,src:v,srcSet:m}),C=v||m,R=C&&x!=="error";b.colorDefault=!R,delete b.ownerState;const P=el(b),[N,$]=V("img",{className:P.img,elementType:rl,externalForwardedProps:{slots:l,slotProps:{img:{...p,...c.img}}},additionalProps:{alt:n,src:v,srcSet:m,sizes:f},ownerState:b});return R?h=d.jsx(N,{...$}):s||s===0?h=s:C&&n?h=n[0]:h=d.jsx(nl,{ownerState:b,className:P.fallback}),d.jsx(ol,{as:i,className:j(P.root,a),ref:o,...g,ownerState:b,children:h})});function il(t){return K("MuiAvatarGroup",t)}const ll=Z("MuiAvatarGroup",["root","avatar"]),ir={small:-16,medium:-8},cl=t=>{const{classes:e}=t;return q({root:["root"],avatar:["avatar"]},il,e)},pl=S("div",{name:"MuiAvatarGroup",slot:"Root",overridesResolver:(t,e)=>[{[`& .${ll.avatar}`]:e.avatar},e.root]})(U(({theme:t})=>({display:"flex",flexDirection:"row-reverse",[`& .${tl.root}`]:{border:`2px solid ${(t.vars||t).palette.background.default}`,boxSizing:"content-box",marginLeft:"var(--AvatarGroup-spacing, -8px)","&:last-child":{marginLeft:0}}}))),Wm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAvatarGroup"}),{children:n,className:s,component:a="div",componentsProps:i,max:l=5,renderSurplus:c,slotProps:p={},slots:f={},spacing:v="medium",total:m,variant:y="circular",...g}=r;let h=l<2?2:l;const b={...r,max:l,spacing:v,component:a,variant:y},x=cl(b),C=u.Children.toArray(n).filter(L=>u.isValidElement(L)),R=m||C.length;R===h&&(h+=1),h=Math.min(R+1,h);const P=Math.min(C.length,h-1),N=Math.max(R-h,R-P,0),$=c?c(N):`+${N}`;let A;b.spacing&&ir[b.spacing]!==void 0?A=ir[b.spacing]:b.spacing===0?A=0:A=-b.spacing||ir.medium;const k={slots:f,slotProps:{surplus:p.additionalAvatar??(i==null?void 0:i.additionalAvatar),...i,...p}},[I,F]=V("surplus",{elementType:al,externalForwardedProps:k,className:x.avatar,ownerState:b,additionalProps:{variant:y}});return d.jsxs(pl,{as:a,ownerState:b,className:j(x.root,s),ref:o,...g,style:{"--AvatarGroup-spacing":`${A}px`,...g.style},children:[N?d.jsx(I,{...F,children:$}):null,C.slice(0,P).reverse().map(L=>u.cloneElement(L,{className:j(L.props.className,x.avatar),variant:L.props.variant||y}))]})});function dl(t){const{badgeContent:e,invisible:o=!1,max:r=99,showZero:n=!1}=t,s=Nr({badgeContent:e,max:r});let a=o;o===!1&&e===0&&!n&&(a=!0);const{badgeContent:i,max:l=r}=a?s:t,c=i&&Number(i)>l?`${l}+`:i;return{badgeContent:i,invisible:a,max:l,displayValue:c}}function ul(t){return K("MuiBadge",t)}const $e=Z("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"]),lr=10,cr=4,fl=t=>{const{color:e,anchorOrigin:o,invisible:r,overlap:n,variant:s,classes:a={}}=t,i={root:["root"],badge:["badge",s,r&&"invisible",`anchorOrigin${T(o.vertical)}${T(o.horizontal)}`,`anchorOrigin${T(o.vertical)}${T(o.horizontal)}${T(n)}`,`overlap${T(n)}`,e!=="default"&&`color${T(e)}`]};return q(i,ul,a)},gl=S("span",{name:"MuiBadge",slot:"Root",overridesResolver:(t,e)=>e.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),ml=S("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.badge,e[o.variant],e[`anchorOrigin${T(o.anchorOrigin.vertical)}${T(o.anchorOrigin.horizontal)}${T(o.overlap)}`],o.color!=="default"&&e[`color${T(o.color)}`],o.invisible&&e.invisible]}})(U(({theme:t})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(12),minWidth:lr*2,lineHeight:1,padding:"0 6px",height:lr*2,borderRadius:lr,zIndex:1,transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.enteringScreen}),variants:[...Object.entries(t.palette).filter(Ft(["contrastText"])).map(([e])=>({props:{color:e},style:{backgroundColor:(t.vars||t).palette[e].main,color:(t.vars||t).palette[e].contrastText}})),{props:{variant:"dot"},style:{borderRadius:cr,height:cr*2,minWidth:cr*2,padding:0}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.leavingScreen})}}]})));function Qr(t){return{vertical:(t==null?void 0:t.vertical)??"top",horizontal:(t==null?void 0:t.horizontal)??"right"}}const Hm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiBadge"}),{anchorOrigin:n,className:s,classes:a,component:i,components:l={},componentsProps:c={},children:p,overlap:f="rectangular",color:v="default",invisible:m=!1,max:y=99,badgeContent:g,slots:h,slotProps:b,showZero:x=!1,variant:C="standard",...R}=r,{badgeContent:P,invisible:N,max:$,displayValue:A}=dl({max:y,invisible:m,badgeContent:g,showZero:x}),k=Nr({anchorOrigin:Qr(n),color:v,overlap:f,variant:C,badgeContent:g}),I=N||P==null&&C!=="dot",{color:F=v,overlap:L=f,anchorOrigin:w,variant:M=C}=I?k:r,H=Qr(w),z=M!=="dot"?A:void 0,Q={...r,badgeContent:P,invisible:I,max:$,displayValue:z,showZero:x,anchorOrigin:H,color:F,overlap:L,variant:M},D=fl(Q),et={slots:{root:(h==null?void 0:h.root)??l.Root,badge:(h==null?void 0:h.badge)??l.Badge},slotProps:{root:(b==null?void 0:b.root)??c.root,badge:(b==null?void 0:b.badge)??c.badge}},[pt,_]=V("root",{elementType:gl,externalForwardedProps:{...et,...R},ownerState:Q,className:j(D.root,s),ref:o,additionalProps:{as:i}}),[wt,Lt]=V("badge",{elementType:ml,externalForwardedProps:et,ownerState:Q,className:D.badge});return d.jsxs(pt,{..._,children:[p,d.jsx(wt,{...Lt,children:z})]})});function bl(t){return K("MuiBottomNavigation",t)}const Vm=Z("MuiBottomNavigation",["root"]),vl=t=>{const{classes:e}=t;return q({root:["root"]},bl,e)},yl=S("div",{name:"MuiBottomNavigation",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({display:"flex",justifyContent:"center",height:56,backgroundColor:(t.vars||t).palette.background.paper}))),Gm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiBottomNavigation"}),{children:n,className:s,component:a="div",onChange:i,showLabels:l=!1,value:c,...p}=r,f={...r,component:a,showLabels:l},v=vl(f);return d.jsx(yl,{as:a,className:j(v.root,s),ref:o,ownerState:f,...p,children:u.Children.map(n,(m,y)=>{if(!u.isValidElement(m))return null;const g=m.props.value===void 0?y:m.props.value;return u.cloneElement(m,{selected:g===c,showLabel:m.props.showLabel!==void 0?m.props.showLabel:l,value:g,onChange:i})})})});function hl(t){return K("MuiBottomNavigationAction",t)}const Nn=Z("MuiBottomNavigationAction",["root","iconOnly","selected","label"]),xl=t=>{const{classes:e,showLabel:o,selected:r}=t;return q({root:["root",!o&&!r&&"iconOnly",r&&"selected"],label:["label",!o&&!r&&"iconOnly",r&&"selected"]},hl,e)},Cl=S(fe,{name:"MuiBottomNavigationAction",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.showLabel&&!o.selected&&e.iconOnly]}})(U(({theme:t})=>({transition:t.transitions.create(["color","padding-top"],{duration:t.transitions.duration.short}),padding:"0px 12px",minWidth:80,maxWidth:168,color:(t.vars||t).palette.text.secondary,flexDirection:"column",flex:"1",[`&.${Nn.selected}`]:{color:(t.vars||t).palette.primary.main},variants:[{props:({showLabel:e,selected:o})=>!e&&!o,style:{paddingTop:14}},{props:({showLabel:e,selected:o,label:r})=>!e&&!o&&!r,style:{paddingTop:0}}]}))),Sl=S("span",{name:"MuiBottomNavigationAction",slot:"Label",overridesResolver:(t,e)=>e.label})(U(({theme:t})=>({fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(12),opacity:1,transition:"font-size 0.2s, opacity 0.2s",transitionDelay:"0.1s",[`&.${Nn.selected}`]:{fontSize:t.typography.pxToRem(14)},variants:[{props:({showLabel:e,selected:o})=>!e&&!o,style:{opacity:0,transitionDelay:"0s"}}]}))),_m=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiBottomNavigationAction"}),{className:n,icon:s,label:a,onChange:i,onClick:l,selected:c,showLabel:p,value:f,slots:v={},slotProps:m={},...y}=r,g=r,h=xl(g),b=$=>{i&&i($,f),l&&l($)},x={slots:v,slotProps:m},[C,R]=V("root",{elementType:Cl,externalForwardedProps:{...x,...y},shouldForwardComponentProp:!0,ownerState:g,ref:o,className:j(h.root,n),additionalProps:{focusRipple:!0},getSlotProps:$=>({...$,onClick:A=>{var k;(k=$.onClick)==null||k.call($,A),b(A)}})}),[P,N]=V("label",{elementType:Sl,externalForwardedProps:x,ownerState:g,className:h.label});return d.jsxs(C,{...R,children:[s,d.jsx(P,{...N,children:a})]})}),wl=Z("MuiBox",["root"]),Rl=wn(),qm=ea({themeId:Cs,defaultTheme:Rl,defaultClassName:wl.root,generateClassName:Rn.generate}),$l=Ht(d.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"),Pl=S(fe)(U(({theme:t})=>({display:"flex",marginLeft:`calc(${t.spacing(1)} * 0.5)`,marginRight:`calc(${t.spacing(1)} * 0.5)`,...t.palette.mode==="light"?{backgroundColor:t.palette.grey[100],color:t.palette.grey[700]}:{backgroundColor:t.palette.grey[700],color:t.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{...t.palette.mode==="light"?{backgroundColor:t.palette.grey[200]}:{backgroundColor:t.palette.grey[600]}},"&:active":{boxShadow:t.shadows[0],...t.palette.mode==="light"?{backgroundColor:Ho(t.palette.grey[200],.12)}:{backgroundColor:Ho(t.palette.grey[600],.12)}}}))),kl=S($l)({width:24,height:16});function Tl(t){const{slots:e={},slotProps:o={},...r}=t,n=t;return d.jsx("li",{children:d.jsx(Pl,{focusRipple:!0,...r,ownerState:n,children:d.jsx(kl,{as:e.CollapsedIcon,ownerState:n,...o.collapsedIcon})})})}function Il(t){return K("MuiBreadcrumbs",t)}const Ml=Z("MuiBreadcrumbs",["root","ol","li","separator"]),Al=t=>{const{classes:e}=t;return q({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},Il,e)},Ll=S(re,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(t,e)=>[{[`& .${Ml.li}`]:e.li},e.root]})({}),Bl=S("ol",{name:"MuiBreadcrumbs",slot:"Ol",overridesResolver:(t,e)=>e.ol})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),Nl=S("li",{name:"MuiBreadcrumbs",slot:"Separator",overridesResolver:(t,e)=>e.separator})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function Ol(t,e,o,r){return t.reduce((n,s,a)=>(a{const A=()=>{h(!0);const k=R.current.querySelector("a[href],button,[tabindex]");k&&k.focus()};return f+p>=$.length?$:[...$.slice(0,f),d.jsx(Tl,{"aria-label":c,slots:{CollapsedIcon:i.CollapsedIcon},slotProps:{collapsedIcon:C},onClick:A},"ellipsis"),...$.slice($.length-p,$.length)]},N=u.Children.toArray(n).filter($=>u.isValidElement($)).map(($,A)=>d.jsx("li",{className:x.li,children:$},`child-${A}`));return d.jsx(Ll,{ref:o,component:a,color:"textSecondary",className:j(x.root,s),ownerState:b,...y,children:d.jsx(Bl,{className:x.ol,ref:R,ownerState:b,children:Ol(g||v&&N.length<=v?N:P(N),x.separator,m,b)})})});function zl(t){return K("MuiButtonGroup",t)}const St=Z("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","horizontal","vertical","colorPrimary","colorSecondary","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]),jl=(t,e)=>{const{ownerState:o}=t;return[{[`& .${St.grouped}`]:e.grouped},{[`& .${St.grouped}`]:e[`grouped${T(o.orientation)}`]},{[`& .${St.grouped}`]:e[`grouped${T(o.variant)}`]},{[`& .${St.grouped}`]:e[`grouped${T(o.variant)}${T(o.orientation)}`]},{[`& .${St.grouped}`]:e[`grouped${T(o.variant)}${T(o.color)}`]},{[`& .${St.firstButton}`]:e.firstButton},{[`& .${St.lastButton}`]:e.lastButton},{[`& .${St.middleButton}`]:e.middleButton},e.root,e[o.variant],o.disableElevation===!0&&e.disableElevation,o.fullWidth&&e.fullWidth,o.orientation==="vertical"&&e.vertical]},Dl=t=>{const{classes:e,color:o,disabled:r,disableElevation:n,fullWidth:s,orientation:a,variant:i}=t,l={root:["root",i,a,s&&"fullWidth",n&&"disableElevation",`color${T(o)}`],grouped:["grouped",`grouped${T(a)}`,`grouped${T(i)}`,`grouped${T(i)}${T(a)}`,`grouped${T(i)}${T(o)}`,r&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return q(l,zl,e)},El=S("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:jl})(U(({theme:t})=>({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius,variants:[{props:{variant:"contained"},style:{boxShadow:(t.vars||t).shadows[2]}},{props:{disableElevation:!0},style:{boxShadow:"none"}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${St.lastButton},& .${St.middleButton}`]:{borderTopRightRadius:0,borderTopLeftRadius:0},[`& .${St.firstButton},& .${St.middleButton}`]:{borderBottomRightRadius:0,borderBottomLeftRadius:0}}},{props:{orientation:"horizontal"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${St.lastButton},& .${St.middleButton}`]:{borderTopLeftRadius:0,borderBottomLeftRadius:0}}},{props:{variant:"text",orientation:"horizontal"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderRight:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${St.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},{props:{variant:"text",orientation:"vertical"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderBottom:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${St.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},...Object.entries(t.palette).filter(Ft()).flatMap(([e])=>[{props:{variant:"text",color:e},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.5)`:Tt(t.palette[e].main,.5)}}}]),{props:{variant:"outlined",orientation:"horizontal"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderRightColor:"transparent","&:hover":{borderRightColor:"currentColor"}},[`& .${St.lastButton},& .${St.middleButton}`]:{marginLeft:-1}}},{props:{variant:"outlined",orientation:"vertical"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderBottomColor:"transparent","&:hover":{borderBottomColor:"currentColor"}},[`& .${St.lastButton},& .${St.middleButton}`]:{marginTop:-1}}},{props:{variant:"contained",orientation:"horizontal"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderRight:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${St.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},{props:{variant:"contained",orientation:"vertical"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderBottom:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${St.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},...Object.entries(t.palette).filter(Ft(["dark"])).map(([e])=>({props:{variant:"contained",color:e},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderColor:(t.vars||t).palette[e].dark}}}))],[`& .${St.grouped}`]:{minWidth:40,boxShadow:"none",props:{variant:"contained"},style:{"&:hover":{boxShadow:"none"}}}}))),Ym=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiButtonGroup"}),{children:n,className:s,color:a="primary",component:i="div",disabled:l=!1,disableElevation:c=!1,disableFocusRipple:p=!1,disableRipple:f=!1,fullWidth:v=!1,orientation:m="horizontal",size:y="medium",variant:g="outlined",...h}=r,b={...r,color:a,component:i,disabled:l,disableElevation:c,disableFocusRipple:p,disableRipple:f,fullWidth:v,orientation:m,size:y,variant:g},x=Dl(b),C=u.useMemo(()=>({className:x.grouped,color:a,disabled:l,disableElevation:c,disableFocusRipple:p,disableRipple:f,fullWidth:v,size:y,variant:g}),[a,l,c,p,f,v,y,g,x.grouped]),R=An(n),P=R.length,N=$=>{const A=$===0,k=$===P-1;return A&&k?"":A?x.firstButton:k?x.lastButton:x.middleButton};return d.jsx(El,{as:i,role:"group",className:j(x.root,s),ref:o,ownerState:b,...h,children:d.jsx(Bs.Provider,{value:C,children:R.map(($,A)=>d.jsx(Ns.Provider,{value:N(A),children:$},A))})})});function Fl(t){return K("MuiCard",t)}const Km=Z("MuiCard",["root"]),Ul=t=>{const{classes:e}=t;return q({root:["root"]},Fl,e)},Wl=S(we,{name:"MuiCard",slot:"Root",overridesResolver:(t,e)=>e.root})({overflow:"hidden"}),Zm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCard"}),{className:n,raised:s=!1,...a}=r,i={...r,raised:s},l=Ul(i);return d.jsx(Wl,{className:j(l.root,n),elevation:s?8:void 0,ref:o,ownerState:i,...a})});function Hl(t){return K("MuiCardActionArea",t)}const pr=Z("MuiCardActionArea",["root","focusVisible","focusHighlight"]),Vl=t=>{const{classes:e}=t;return q({root:["root"],focusHighlight:["focusHighlight"]},Hl,e)},Gl=S(fe,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",[`&:hover .${pr.focusHighlight}`]:{opacity:(t.vars||t).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${pr.focusVisible} .${pr.focusHighlight}`]:{opacity:(t.vars||t).palette.action.focusOpacity}}))),_l=S("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(t,e)=>e.focusHighlight})(U(({theme:t})=>({overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:t.transitions.create("opacity",{duration:t.transitions.duration.short})}))),Jm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardActionArea"}),{children:n,className:s,focusVisibleClassName:a,slots:i={},slotProps:l={},...c}=r,p=r,f=Vl(p),v={slots:i,slotProps:l},[m,y]=V("root",{elementType:Gl,externalForwardedProps:{...v,...c},shouldForwardComponentProp:!0,ownerState:p,ref:o,className:j(f.root,s),additionalProps:{focusVisibleClassName:j(a,f.focusVisible)}}),[g,h]=V("focusHighlight",{elementType:_l,externalForwardedProps:v,ownerState:p,ref:o,className:f.focusHighlight});return d.jsxs(m,{...y,children:[n,d.jsx(g,{...h})]})});function ql(t){return K("MuiCardActions",t)}const Qm=Z("MuiCardActions",["root","spacing"]),Xl=t=>{const{classes:e,disableSpacing:o}=t;return q({root:["root",!o&&"spacing"]},ql,e)},Yl=S("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,variants:[{props:{disableSpacing:!1},style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),tb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardActions"}),{disableSpacing:n=!1,className:s,...a}=r,i={...r,disableSpacing:n},l=Xl(i);return d.jsx(Yl,{className:j(l.root,s),ownerState:i,ref:o,...a})});function Kl(t){return K("MuiCardContent",t)}const eb=Z("MuiCardContent",["root"]),Zl=t=>{const{classes:e}=t;return q({root:["root"]},Kl,e)},Jl=S("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:16,"&:last-child":{paddingBottom:24}}),ob=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardContent"}),{className:n,component:s="div",...a}=r,i={...r,component:s},l=Zl(i);return d.jsx(Jl,{as:s,className:j(l.root,n),ownerState:i,ref:o,...a})});function Ql(t){return K("MuiCardHeader",t)}const _o=Z("MuiCardHeader",["root","avatar","action","content","title","subheader"]),tc=t=>{const{classes:e}=t;return q({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},Ql,e)},ec=S("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(t,e)=>[{[`& .${_o.title}`]:e.title},{[`& .${_o.subheader}`]:e.subheader},e.root]})({display:"flex",alignItems:"center",padding:16}),oc=S("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(t,e)=>e.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),rc=S("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(t,e)=>e.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),nc=S("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(t,e)=>e.content})({flex:"1 1 auto",[`.${Vo.root}:where(& .${_o.title})`]:{display:"block"},[`.${Vo.root}:where(& .${_o.subheader})`]:{display:"block"}}),rb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardHeader"}),{action:n,avatar:s,component:a="div",disableTypography:i=!1,subheader:l,subheaderTypographyProps:c,title:p,titleTypographyProps:f,slots:v={},slotProps:m={},...y}=r,g={...r,component:a,disableTypography:i},h=tc(g),b={slots:v,slotProps:{title:f,subheader:c,...m}};let x=p;const[C,R]=V("title",{className:h.title,elementType:re,externalForwardedProps:b,ownerState:g,additionalProps:{variant:s?"body2":"h5",component:"span"}});x!=null&&x.type!==re&&!i&&(x=d.jsx(C,{...R,children:x}));let P=l;const[N,$]=V("subheader",{className:h.subheader,elementType:re,externalForwardedProps:b,ownerState:g,additionalProps:{variant:s?"body2":"body1",color:"textSecondary",component:"span"}});P!=null&&P.type!==re&&!i&&(P=d.jsx(N,{...$,children:P}));const[A,k]=V("root",{ref:o,className:h.root,elementType:ec,externalForwardedProps:{...b,...y,component:a},ownerState:g}),[I,F]=V("avatar",{className:h.avatar,elementType:oc,externalForwardedProps:b,ownerState:g}),[L,w]=V("content",{className:h.content,elementType:nc,externalForwardedProps:b,ownerState:g}),[M,H]=V("action",{className:h.action,elementType:rc,externalForwardedProps:b,ownerState:g});return d.jsxs(A,{...k,children:[s&&d.jsx(I,{...F,children:s}),d.jsxs(L,{...w,children:[x,P]}),n&&d.jsx(M,{...H,children:n})]})});function sc(t){return K("MuiCardMedia",t)}const nb=Z("MuiCardMedia",["root","media","img"]),ac=t=>{const{classes:e,isMediaComponent:o,isImageComponent:r}=t;return q({root:["root",o&&"media",r&&"img"]},sc,e)},ic=S("div",{name:"MuiCardMedia",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{isMediaComponent:r,isImageComponent:n}=o;return[e.root,r&&e.media,n&&e.img]}})({display:"block",backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",variants:[{props:{isMediaComponent:!0},style:{width:"100%"}},{props:{isImageComponent:!0},style:{objectFit:"cover"}}]}),lc=["video","audio","picture","iframe","img"],cc=["picture","img"],sb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardMedia"}),{children:n,className:s,component:a="div",image:i,src:l,style:c,...p}=r,f=lc.includes(a),v=!f&&i?{backgroundImage:`url("${i}")`,...c}:c,m={...r,component:a,isMediaComponent:f,isImageComponent:cc.includes(a)},y=ac(m);return d.jsx(ic,{className:j(y.root,s),as:a,role:!f&&i?"img":void 0,ref:o,style:v,ownerState:m,src:f?i||l:void 0,...p,children:n})});function pc(t){return K("PrivateSwitchBase",t)}Z("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const dc=t=>{const{classes:e,checked:o,disabled:r,edge:n}=t,s={root:["root",o&&"checked",r&&"disabled",n&&`edge${T(n)}`],input:["input"]};return q(s,pc,e)},uc=S(fe)({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:t,ownerState:e})=>t==="start"&&e.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:t,ownerState:e})=>t==="end"&&e.size!=="small",style:{marginRight:-12}}]}),fc=S("input",{shouldForwardProp:Se})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),Or=u.forwardRef(function(e,o){const{autoFocus:r,checked:n,checkedIcon:s,defaultChecked:a,disabled:i,disableFocusRipple:l=!1,edge:c=!1,icon:p,id:f,inputProps:v,inputRef:m,name:y,onBlur:g,onChange:h,onFocus:b,readOnly:x,required:C=!1,tabIndex:R,type:P,value:N,slots:$={},slotProps:A={},...k}=e,[I,F]=ue({controlled:n,default:!!a,name:"SwitchBase",state:"checked"}),L=Co(),w=lt=>{b&&b(lt),L&&L.onFocus&&L.onFocus(lt)},M=lt=>{g&&g(lt),L&&L.onBlur&&L.onBlur(lt)},H=lt=>{if(lt.nativeEvent.defaultPrevented)return;const rt=lt.target.checked;F(rt),h&&h(lt,rt)};let z=i;L&&typeof z>"u"&&(z=L.disabled);const Q=P==="checkbox"||P==="radio",D={...e,checked:I,disabled:z,disableFocusRipple:l,edge:c},et=dc(D),pt={slots:$,slotProps:{input:v,...A}},[_,wt]=V("root",{ref:o,elementType:uc,className:et.root,shouldForwardComponentProp:!0,externalForwardedProps:{...pt,component:"span",...k},getSlotProps:lt=>({...lt,onFocus:rt=>{var W;(W=lt.onFocus)==null||W.call(lt,rt),w(rt)},onBlur:rt=>{var W;(W=lt.onBlur)==null||W.call(lt,rt),M(rt)}}),ownerState:D,additionalProps:{centerRipple:!0,focusRipple:!l,disabled:z,role:void 0,tabIndex:null}}),[Lt,Rt]=V("input",{ref:m,elementType:fc,className:et.input,externalForwardedProps:pt,getSlotProps:lt=>({onChange:rt=>{var W;(W=lt.onChange)==null||W.call(lt,rt),H(rt)}}),ownerState:D,additionalProps:{autoFocus:r,checked:n,defaultChecked:a,disabled:z,id:Q?f:void 0,name:y,readOnly:x,required:C,tabIndex:R,type:P,...P==="checkbox"&&N===void 0?{}:{value:N}}});return d.jsxs(_,{...wt,children:[d.jsx(Lt,{...Rt}),I?s:p]})}),gc=Ht(d.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"),mc=Ht(d.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"),bc=Ht(d.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 vc(t){return K("MuiCheckbox",t)}const dr=Z("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),yc=t=>{const{classes:e,indeterminate:o,color:r,size:n}=t,s={root:["root",o&&"indeterminate",`color${T(r)}`,`size${T(n)}`]},a=q(s,vc,e);return{...e,...a}},hc=S(Or,{shouldForwardProp:t=>Se(t)||t==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.indeterminate&&e.indeterminate,e[`size${T(o.size)}`],o.color!=="default"&&e[`color${T(o.color)}`]]}})(U(({theme:t})=>({color:(t.vars||t).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette.action.active,t.palette.action.hoverOpacity)}}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette[e].main,t.palette.action.hoverOpacity)}}})),...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{[`&.${dr.checked}, &.${dr.indeterminate}`]:{color:(t.vars||t).palette[e].main},[`&.${dr.disabled}`]:{color:(t.vars||t).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),xc=d.jsx(mc,{}),Cc=d.jsx(gc,{}),Sc=d.jsx(bc,{}),ab=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCheckbox"}),{checkedIcon:n=xc,color:s="primary",icon:a=Cc,indeterminate:i=!1,indeterminateIcon:l=Sc,inputProps:c,size:p="medium",disableRipple:f=!1,className:v,slots:m={},slotProps:y={},...g}=r,h=i?l:a,b=i?l:n,x={...r,disableRipple:f,color:s,indeterminate:i,size:p},C=yc(x),R=y.input??c,[P,N]=V("root",{ref:o,elementType:hc,className:j(C.root,v),shouldForwardComponentProp:!0,externalForwardedProps:{slots:m,slotProps:y,...g},ownerState:x,additionalProps:{type:"checkbox",icon:u.cloneElement(h,{fontSize:h.props.fontSize??p}),checkedIcon:u.cloneElement(b,{fontSize:b.props.fontSize??p}),disableRipple:f,slots:m,slotProps:{input:vo(typeof R=="function"?R(x):R,{"data-indeterminate":i})}}});return d.jsx(P,{...N,classes:C})});function tn(t){return t.substring(2).toLowerCase()}function wc(t,e){return e.documentElement.clientWidth(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const p=ge(Zo(e),i),f=ne(y=>{const g=c.current;c.current=!1;const h=de(i.current);if(!l.current||!i.current||"clientX"in y&&wc(y,h))return;if(a.current){a.current=!1;return}let b;y.composedPath?b=y.composedPath().includes(i.current):b=!h.documentElement.contains(y.target)||i.current.contains(y.target),!b&&(o||!g)&&n(y)}),v=y=>g=>{c.current=!0;const h=e.props[y];h&&h(g)},m={ref:p};return s!==!1&&(m[s]=v(s)),u.useEffect(()=>{if(s!==!1){const y=tn(s),g=de(i.current),h=()=>{a.current=!0};return g.addEventListener(y,f),g.addEventListener("touchmove",h),()=>{g.removeEventListener(y,f),g.removeEventListener("touchmove",h)}}},[f,s]),r!==!1&&(m[r]=v(r)),u.useEffect(()=>{if(r!==!1){const y=tn(r),g=de(i.current);return g.addEventListener(y,f),()=>{g.removeEventListener(y,f)}}},[f,r]),u.cloneElement(e,m)}const ib=aa({createStyledComponent:S("div",{name:"MuiContainer",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`maxWidth${T(String(o.maxWidth))}`],o.fixed&&e.fixed,o.disableGutters&&e.disableGutters]}}),useThemeProps:t=>X({props:t,name:"MuiContainer"})});function lb(t){return K("MuiContainer",t)}const cb=Z("MuiContainer",["root","disableGutters","fixed","maxWidthXs","maxWidthSm","maxWidthMd","maxWidthLg","maxWidthXl"]),Cr=typeof In({})=="function",On=(t,e)=>({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%",...e&&!t.vars&&{colorScheme:t.palette.mode}}),zn=t=>({color:(t.vars||t).palette.text.primary,...t.typography.body1,backgroundColor:(t.vars||t).palette.background.default,"@media print":{backgroundColor:(t.vars||t).palette.common.white}}),jn=(t,e=!1)=>{var s,a;const o={};e&&t.colorSchemes&&typeof t.getColorSchemeSelector=="function"&&Object.entries(t.colorSchemes).forEach(([i,l])=>{var p,f;const c=t.getColorSchemeSelector(i);c.startsWith("@")?o[c]={":root":{colorScheme:(p=l.palette)==null?void 0:p.mode}}:o[c.replace(/\s*&/,"")]={colorScheme:(f=l.palette)==null?void 0:f.mode}});let r={html:On(t,e),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:t.typography.fontWeightBold},body:{margin:0,...zn(t),"&::backdrop":{backgroundColor:(t.vars||t).palette.background.default}},...o};const n=(a=(s=t.components)==null?void 0:s.MuiCssBaseline)==null?void 0:a.styleOverrides;return n&&(r=[r,n]),r},Wo="mui-ecs",$c=t=>{const e=jn(t,!1),o=Array.isArray(e)?e[0]:e;return!t.vars&&o&&(o.html[`:root:has(${Wo})`]={colorScheme:t.palette.mode}),t.colorSchemes&&Object.entries(t.colorSchemes).forEach(([r,n])=>{var a,i;const s=t.getColorSchemeSelector(r);s.startsWith("@")?o[s]={[`:root:not(:has(.${Wo}))`]:{colorScheme:(a=n.palette)==null?void 0:a.mode}}:o[s.replace(/\s*&/,"")]={[`&:not(:has(.${Wo}))`]:{colorScheme:(i=n.palette)==null?void 0:i.mode}}}),e},Pc=In(Cr?({theme:t,enableColorScheme:e})=>jn(t,e):({theme:t})=>$c(t));function pb(t){const e=X({props:t,name:"MuiCssBaseline"}),{children:o,enableColorScheme:r=!1}=e;return d.jsxs(u.Fragment,{children:[Cr&&d.jsx(Pc,{enableColorScheme:r}),!Cr&&!r&&d.jsx("span",{className:Wo,style:{display:"none"}}),o]})}const kc={track:"#2b2b2b",thumb:"#6b6b6b",active:"#959595"};function db(t=kc){return{scrollbarColor:`${t.thumb} ${t.track}`,"&::-webkit-scrollbar, & *::-webkit-scrollbar":{backgroundColor:t.track},"&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb":{borderRadius:8,backgroundColor:t.thumb,minHeight:24,border:`3px solid ${t.track}`},"&::-webkit-scrollbar-thumb:focus, & *::-webkit-scrollbar-thumb:focus":{backgroundColor:t.active},"&::-webkit-scrollbar-thumb:active, & *::-webkit-scrollbar-thumb:active":{backgroundColor:t.active},"&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover":{backgroundColor:t.active},"&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner":{backgroundColor:t.track}}}function Tc(t){return K("MuiDialogContentText",t)}const ub=Z("MuiDialogContentText",["root"]),Ic=t=>{const{classes:e}=t,r=q({root:["root"]},Tc,e);return{...e,...r}},Mc=S(re,{shouldForwardProp:t=>Se(t)||t==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(t,e)=>e.root})({}),fb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiDialogContentText"}),{children:n,className:s,...a}=r,i=Ic(a);return d.jsx(Mc,{component:"p",variant:"body1",color:"textSecondary",ref:o,ownerState:a,className:j(i.root,s),...r,classes:i})}),Ac=t=>{const{classes:e}=t;return q({root:["root"]},zs,e)},Lc=S(re,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:"16px 24px",flex:"0 0 auto"}),gb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiDialogTitle"}),{className:n,id:s,...a}=r,i=r,l=Ac(i),{titleId:c=s}=u.useContext(Os);return d.jsx(Lc,{component:"h2",className:j(l.root,n),ownerState:i,ref:o,variant:"h6",id:s??c,...a})});function Bc(t,e,o){const r=e.getBoundingClientRect(),n=o&&o.getBoundingClientRect(),s=Ye(e);let a;if(e.fakeTransform)a=e.fakeTransform;else{const c=s.getComputedStyle(e);a=c.getPropertyValue("-webkit-transform")||c.getPropertyValue("transform")}let i=0,l=0;if(a&&a!=="none"&&typeof a=="string"){const c=a.split("(")[1].split(")")[0].split(",");i=parseInt(c[4],10),l=parseInt(c[5],10)}return t==="left"?n?`translateX(${n.right+i-r.left}px)`:`translateX(${s.innerWidth+i-r.left}px)`:t==="right"?n?`translateX(-${r.right-n.left-i}px)`:`translateX(-${r.left+r.width-i}px)`:t==="up"?n?`translateY(${n.bottom+l-r.top}px)`:`translateY(${s.innerHeight+l-r.top}px)`:n?`translateY(-${r.top-n.top+r.height-l}px)`:`translateY(-${r.top+r.height-l}px)`}function Nc(t){return typeof t=="function"?t():t}function Mo(t,e,o){const r=Nc(o),n=Bc(t,e,r);n&&(e.style.webkitTransform=n,e.style.transform=n)}const Oc=u.forwardRef(function(e,o){const r=se(),n={enter:r.transitions.easing.easeOut,exit:r.transitions.easing.sharp},s={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:a,appear:i=!0,children:l,container:c,direction:p="down",easing:f=n,in:v,onEnter:m,onEntered:y,onEntering:g,onExit:h,onExited:b,onExiting:x,style:C,timeout:R=s,TransitionComponent:P=Ir,...N}=e,$=u.useRef(null),A=ge(Zo(l),$,o),k=D=>et=>{D&&(et===void 0?D($.current):D($.current,et))},I=k((D,et)=>{Mo(p,D,c),Pn(D),m&&m(D,et)}),F=k((D,et)=>{const pt=Ue({timeout:R,style:C,easing:f},{mode:"enter"});D.style.webkitTransition=r.transitions.create("-webkit-transform",{...pt}),D.style.transition=r.transitions.create("transform",{...pt}),D.style.webkitTransform="none",D.style.transform="none",g&&g(D,et)}),L=k(y),w=k(x),M=k(D=>{const et=Ue({timeout:R,style:C,easing:f},{mode:"exit"});D.style.webkitTransition=r.transitions.create("-webkit-transform",et),D.style.transition=r.transitions.create("transform",et),Mo(p,D,c),h&&h(D)}),H=k(D=>{D.style.webkitTransition="",D.style.transition="",b&&b(D)}),z=D=>{a&&a($.current,D)},Q=u.useCallback(()=>{$.current&&Mo(p,$.current,c)},[p,c]);return u.useEffect(()=>{if(v||p==="down"||p==="right")return;const D=Ys(()=>{$.current&&Mo(p,$.current,c)}),et=Ye($.current);return et.addEventListener("resize",D),()=>{D.clear(),et.removeEventListener("resize",D)}},[p,v,c]),u.useEffect(()=>{v||Q()},[v,Q]),d.jsx(P,{nodeRef:$,onEnter:I,onEntered:L,onEntering:F,onExit:M,onExited:H,onExiting:w,addEndListener:z,appear:i,in:v,timeout:R,...N,children:(D,{ownerState:et,...pt})=>u.cloneElement(l,{ref:A,style:{visibility:D==="exited"&&!v?"hidden":void 0,...C,...l.props.style},...pt})})});function zc(t){return K("MuiDrawer",t)}const mb=Z("MuiDrawer",["root","docked","paper","anchorLeft","anchorRight","anchorTop","anchorBottom","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]),Dn=(t,e)=>{const{ownerState:o}=t;return[e.root,(o.variant==="permanent"||o.variant==="persistent")&&e.docked,e.modal]},jc=t=>{const{classes:e,anchor:o,variant:r}=t,n={root:["root",`anchor${T(o)}`],docked:[(r==="permanent"||r==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${T(o)}`,r!=="temporary"&&`paperAnchorDocked${T(o)}`]};return q(n,zc,e)},Dc=S(js,{name:"MuiDrawer",slot:"Root",overridesResolver:Dn})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.drawer}))),Ec=S("div",{shouldForwardProp:Se,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:Dn})({flex:"0 0 auto"}),Fc=S(we,{name:"MuiDrawer",slot:"Paper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.paper,e[`paperAnchor${T(o.anchor)}`],o.variant!=="temporary"&&e[`paperAnchorDocked${T(o.anchor)}`]]}})(U(({theme:t})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(t.vars||t).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,variants:[{props:{anchor:"left"},style:{left:0}},{props:{anchor:"top"},style:{top:0,left:0,right:0,height:"auto",maxHeight:"100%"}},{props:{anchor:"right"},style:{right:0}},{props:{anchor:"bottom"},style:{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"}},{props:({ownerState:e})=>e.anchor==="left"&&e.variant!=="temporary",style:{borderRight:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="top"&&e.variant!=="temporary",style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="right"&&e.variant!=="temporary",style:{borderLeft:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="bottom"&&e.variant!=="temporary",style:{borderTop:`1px solid ${(t.vars||t).palette.divider}`}}]}))),En={left:"right",right:"left",top:"down",bottom:"up"};function Ne(t){return["left","right"].includes(t)}function po({direction:t},e){return t==="rtl"&&Ne(e)?En[e]:e}const Uc=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiDrawer"}),n=se(),s=He(),a={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{anchor:i="left",BackdropProps:l,children:c,className:p,elevation:f=16,hideBackdrop:v=!1,ModalProps:{BackdropProps:m,...y}={},onClose:g,open:h=!1,PaperProps:b={},SlideProps:x,TransitionComponent:C,transitionDuration:R=a,variant:P="temporary",slots:N={},slotProps:$={},...A}=r,k=u.useRef(!1);u.useEffect(()=>{k.current=!0},[]);const I=po({direction:s?"rtl":"ltr"},i),L={...r,anchor:i,elevation:f,open:h,variant:P,...A},w=jc(L),M={slots:{transition:C,...N},slotProps:{paper:b,transition:x,...$,backdrop:vo($.backdrop||{...l,...m},{transitionDuration:R})}},[H,z]=V("root",{ref:o,elementType:Dc,className:j(w.root,w.modal,p),shouldForwardComponentProp:!0,ownerState:L,externalForwardedProps:{...M,...A,...y},additionalProps:{open:h,onClose:g,hideBackdrop:v,slots:{backdrop:M.slots.backdrop},slotProps:{backdrop:M.slotProps.backdrop}}}),[Q,D]=V("paper",{elementType:Fc,shouldForwardComponentProp:!0,className:j(w.paper,b.className),ownerState:L,externalForwardedProps:M,additionalProps:{elevation:P==="temporary"?f:0,square:!0}}),[et,pt]=V("docked",{elementType:Ec,ref:o,className:j(w.root,w.docked,p),ownerState:L,externalForwardedProps:M,additionalProps:A}),[_,wt]=V("transition",{elementType:Oc,ownerState:L,externalForwardedProps:M,additionalProps:{in:h,direction:En[I],timeout:R,appear:k.current}}),Lt=d.jsx(Q,{...D,children:c});if(P==="permanent")return d.jsx(et,{...pt,children:Lt});const Rt=d.jsx(_,{...wt,children:Lt});return P==="persistent"?d.jsx(et,{...pt,children:Rt}):d.jsx(H,{...z,children:Rt})});function Wc(t){return K("MuiFab",t)}const en=Z("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),Hc=t=>{const{color:e,variant:o,classes:r,size:n}=t,s={root:["root",o,`size${T(n)}`,e==="inherit"?"colorInherit":e]},a=q(s,Wc,r);return{...r,...a}},Vc=S(fe,{name:"MuiFab",slot:"Root",shouldForwardProp:t=>Se(t)||t==="classes",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${T(o.size)}`],o.color==="inherit"&&e.colorInherit,e[T(o.size)],e[o.color]]}})(U(({theme:t})=>{var e,o;return{...t.typography.button,minHeight:36,transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(t.vars||t).zIndex.fab,boxShadow:(t.vars||t).shadows[6],"&:active":{boxShadow:(t.vars||t).shadows[12]},color:t.vars?t.vars.palette.text.primary:(o=(e=t.palette).getContrastText)==null?void 0:o.call(e,t.palette.grey[300]),backgroundColor:(t.vars||t).palette.grey[300],"&:hover":{backgroundColor:(t.vars||t).palette.grey.A100,"@media (hover: none)":{backgroundColor:(t.vars||t).palette.grey[300]},textDecoration:"none"},[`&.${en.focusVisible}`]:{boxShadow:(t.vars||t).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"}}]}}),U(({theme:t})=>({variants:[...Object.entries(t.palette).filter(Ft(["dark","contrastText"])).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].contrastText,backgroundColor:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:(t.vars||t).palette[e].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[e].main}}}}))]})),U(({theme:t})=>({[`&.${en.disabled}`]:{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).palette.action.disabledBackground}}))),Fn=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiFab"}),{children:n,className:s,color:a="default",component:i="button",disabled:l=!1,disableFocusRipple:c=!1,focusVisibleClassName:p,size:f="large",variant:v="circular",...m}=r,y={...r,color:a,component:i,disabled:l,disableFocusRipple:c,size:f,variant:v},g=Hc(y);return d.jsx(Vc,{className:j(g.root,s),component:i,disabled:l,focusRipple:!c,focusVisibleClassName:j(g.focusVisible,p),ownerState:y,ref:o,...m,classes:g,children:n})});function Gc(t){return K("MuiFormControlLabel",t)}const uo=Z("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),_c=t=>{const{classes:e,disabled:o,labelPlacement:r,error:n,required:s}=t,a={root:["root",o&&"disabled",`labelPlacement${T(r)}`,n&&"error",s&&"required"],label:["label",o&&"disabled"],asterisk:["asterisk",n&&"error"]};return q(a,Gc,e)},qc=S("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${uo.label}`]:e.label},e.root,e[`labelPlacement${T(o.labelPlacement)}`]]}})(U(({theme:t})=>({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${uo.disabled}`]:{cursor:"default"},[`& .${uo.label}`]:{[`&.${uo.disabled}`]:{color:(t.vars||t).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:e})=>e==="start"||e==="top"||e==="bottom",style:{marginLeft:16}}]}))),Xc=S("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(t,e)=>e.asterisk})(U(({theme:t})=>({[`&.${uo.error}`]:{color:(t.vars||t).palette.error.main}}))),bb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiFormControlLabel"}),{checked:n,className:s,componentsProps:a={},control:i,disabled:l,disableTypography:c,inputRef:p,label:f,labelPlacement:v="end",name:m,onChange:y,required:g,slots:h={},slotProps:b={},value:x,...C}=r,R=Co(),P=l??i.props.disabled??(R==null?void 0:R.disabled),N=g??i.props.required,$={disabled:P,required:N};["checked","name","onChange","value","inputRef"].forEach(H=>{typeof i.props[H]>"u"&&typeof r[H]<"u"&&($[H]=r[H])});const A=Mr({props:r,muiFormControl:R,states:["error"]}),k={...r,disabled:P,labelPlacement:v,required:N,error:A.error},I=_c(k),F={slots:h,slotProps:{...a,...b}},[L,w]=V("typography",{elementType:re,externalForwardedProps:F,ownerState:k});let M=f;return M!=null&&M.type!==re&&!c&&(M=d.jsx(L,{component:"span",...w,className:j(I.label,w==null?void 0:w.className),children:M})),d.jsxs(qc,{className:j(I.root,s),ownerState:k,ref:o,...C,children:[u.cloneElement(i,$),N?d.jsxs("div",{children:[M,d.jsxs(Xc,{ownerState:k,"aria-hidden":!0,className:I.asterisk,children:[" ","*"]})]}):M]})});function Yc(t){return K("MuiFormGroup",t)}const vb=Z("MuiFormGroup",["root","row","error"]),Kc=t=>{const{classes:e,row:o,error:r}=t;return q({root:["root",o&&"row",r&&"error"]},Yc,e)},Zc=S("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.row&&e.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),Jc=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiFormGroup"}),{className:n,row:s=!1,...a}=r,i=Co(),l=Mr({props:r,muiFormControl:i,states:["error"]}),c={...r,row:s,error:l.error},p=Kc(c);return d.jsx(Zc,{className:j(p.root,n),ownerState:c,ref:o,...a})}),on=u.createContext();function Qc(t){return K("MuiGrid",t)}const tp=[0,1,2,3,4,5,6,7,8,9,10],ep=["column-reverse","column","row-reverse","row"],op=["nowrap","wrap-reverse","wrap"],no=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],ho=Z("MuiGrid",["root","container","item","zeroMinWidth",...tp.map(t=>`spacing-xs-${t}`),...ep.map(t=>`direction-xs-${t}`),...op.map(t=>`wrap-xs-${t}`),...no.map(t=>`grid-xs-${t}`),...no.map(t=>`grid-sm-${t}`),...no.map(t=>`grid-md-${t}`),...no.map(t=>`grid-lg-${t}`),...no.map(t=>`grid-xl-${t}`)]);function rp({theme:t,ownerState:e}){let o;return t.breakpoints.keys.reduce((r,n)=>{let s={};if(e[n]&&(o=e[n]),!o)return r;if(o===!0)s={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(o==="auto")s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const a=De({values:e.columns,breakpoints:t.breakpoints.values}),i=typeof a=="object"?a[n]:a;if(i==null)return r;const l=`${Math.round(o/i*1e8)/1e6}%`;let c={};if(e.container&&e.item&&e.columnSpacing!==0){const p=t.spacing(e.columnSpacing);if(p!=="0px"){const f=`calc(${l} + ${p})`;c={flexBasis:f,maxWidth:f}}}s={flexBasis:l,flexGrow:0,maxWidth:l,...c}}return t.breakpoints.values[n]===0?Object.assign(r,s):r[t.breakpoints.up(n)]=s,r},{})}function np({theme:t,ownerState:e}){const o=De({values:e.direction,breakpoints:t.breakpoints.values});return mo({theme:t},o,r=>{const n={flexDirection:r};return r.startsWith("column")&&(n[`& > .${ho.item}`]={maxWidth:"none"}),n})}function Un({breakpoints:t,values:e}){let o="";Object.keys(e).forEach(n=>{o===""&&e[n]!==0&&(o=n)});const r=Object.keys(t).sort((n,s)=>t[n]-t[s]);return r.slice(0,r.indexOf(o))}function sp({theme:t,ownerState:e}){const{container:o,rowSpacing:r}=e;let n={};if(o&&r!==0){const s=De({values:r,breakpoints:t.breakpoints.values});let a;typeof s=="object"&&(a=Un({breakpoints:t.breakpoints.values,values:s})),n=mo({theme:t},s,(i,l)=>{const c=t.spacing(i);return c!=="0px"?{marginTop:`calc(-1 * ${c})`,[`& > .${ho.item}`]:{paddingTop:c}}:a!=null&&a.includes(l)?{}:{marginTop:0,[`& > .${ho.item}`]:{paddingTop:0}}})}return n}function ap({theme:t,ownerState:e}){const{container:o,columnSpacing:r}=e;let n={};if(o&&r!==0){const s=De({values:r,breakpoints:t.breakpoints.values});let a;typeof s=="object"&&(a=Un({breakpoints:t.breakpoints.values,values:s})),n=mo({theme:t},s,(i,l)=>{const c=t.spacing(i);if(c!=="0px"){const p=`calc(-1 * ${c})`;return{width:`calc(100% + ${c})`,marginLeft:p,[`& > .${ho.item}`]:{paddingLeft:c}}}return a!=null&&a.includes(l)?{}:{width:"100%",marginLeft:0,[`& > .${ho.item}`]:{paddingLeft:0}}})}return n}function ip(t,e,o={}){if(!t||t<=0)return[];if(typeof t=="string"&&!Number.isNaN(Number(t))||typeof t=="number")return[o[`spacing-xs-${String(t)}`]];const r=[];return e.forEach(n=>{const s=t[n];Number(s)>0&&r.push(o[`spacing-${n}-${String(s)}`])}),r}const lp=S("div",{name:"MuiGrid",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{container:r,direction:n,item:s,spacing:a,wrap:i,zeroMinWidth:l,breakpoints:c}=o;let p=[];r&&(p=ip(a,c,e));const f=[];return c.forEach(v=>{const m=o[v];m&&f.push(e[`grid-${v}-${String(m)}`])}),[e.root,r&&e.container,s&&e.item,l&&e.zeroMinWidth,...p,n!=="row"&&e[`direction-xs-${String(n)}`],i!=="wrap"&&e[`wrap-xs-${String(i)}`],...f]}})(({ownerState:t})=>({boxSizing:"border-box",...t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},...t.item&&{margin:0},...t.zeroMinWidth&&{minWidth:0},...t.wrap!=="wrap"&&{flexWrap:t.wrap}}),np,sp,ap,rp);function cp(t,e){if(!t||t<=0)return[];if(typeof t=="string"&&!Number.isNaN(Number(t))||typeof t=="number")return[`spacing-xs-${String(t)}`];const o=[];return e.forEach(r=>{const n=t[r];if(Number(n)>0){const s=`spacing-${r}-${String(n)}`;o.push(s)}}),o}const pp=t=>{const{classes:e,container:o,direction:r,item:n,spacing:s,wrap:a,zeroMinWidth:i,breakpoints:l}=t;let c=[];o&&(c=cp(s,l));const p=[];l.forEach(v=>{const m=t[v];m&&p.push(`grid-${v}-${String(m)}`)});const f={root:["root",o&&"container",n&&"item",i&&"zeroMinWidth",...c,r!=="row"&&`direction-xs-${String(r)}`,a!=="wrap"&&`wrap-xs-${String(a)}`,...p]};return q(f,Qc,e)},yb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiGrid"}),{breakpoints:n}=se(),s=Jo(r),{className:a,columns:i,columnSpacing:l,component:c="div",container:p=!1,direction:f="row",item:v=!1,rowSpacing:m,spacing:y=0,wrap:g="wrap",zeroMinWidth:h=!1,...b}=s,x=m||y,C=l||y,R=u.useContext(on),P=p?i||12:R,N={},$={...b};n.keys.forEach(I=>{b[I]!=null&&(N[I]=b[I],delete $[I])});const A={...s,columns:P,container:p,direction:f,item:v,rowSpacing:x,columnSpacing:C,wrap:g,zeroMinWidth:h,spacing:y,...N,breakpoints:n.keys},k=pp(A);return d.jsx(on.Provider,{value:P,children:d.jsx(lp,{ownerState:A,className:j(k.root,a),as:c,ref:o,...$})})}),hb=Sa({createStyledComponent:S("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.container&&e.container]}}),componentName:"MuiGrid2",useThemeProps:t=>X({props:t,name:"MuiGrid2"}),useTheme:se});function xb(t){return K("MuiGrid2",t)}const dp=[0,1,2,3,4,5,6,7,8,9,10],up=["column-reverse","column","row-reverse","row"],fp=["nowrap","wrap-reverse","wrap"],so=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Cb=Z("MuiGrid2",["root","container",...dp.map(t=>`spacing-xs-${t}`),...up.map(t=>`direction-xs-${t}`),...fp.map(t=>`wrap-xs-${t}`),...so.map(t=>`grid-xs-${t}`),...so.map(t=>`grid-sm-${t}`),...so.map(t=>`grid-md-${t}`),...so.map(t=>`grid-lg-${t}`),...so.map(t=>`grid-xl-${t}`)]),Te=["xs","sm","md","lg","xl"],gp=(t,e,o=!0)=>o?Te.indexOf(t)<=Te.indexOf(e):Te.indexOf(t)o?Te.indexOf(e)<=Te.indexOf(t):Te.indexOf(e)e=>{const{withTheme:o=!1,noSSR:r=!1,initialWidth:n}=t;function s(a){const i=se(),l=a.theme||i,{initialWidth:c,width:p,...f}=Ds({theme:l,name:"MuiWithWidth",props:a}),[v,m]=u.useState(!1);So(()=>{m(!0)},[]);const g=l.breakpoints.keys.slice().reverse().reduce((b,x)=>{const C=Es(l.breakpoints.up(x));return!b&&C?x:b},null),h={width:p||(v||r?g:void 0)||c||n,...o?{theme:l}:{},...f};return h.width===void 0?null:d.jsx(e,{...h})}return s};function Wn(t){const{children:e,only:o,width:r}=t,n=se();let s=!0;if(o)if(Array.isArray(o))for(let a=0;a{const{classes:e,breakpoints:o}=t,r={root:["root",...o.map(({breakpoint:n,dir:s})=>s==="only"?`${s}${T(n)}`:`${n}${T(s)}`)]};return q(r,yp,e)},xp=S("div",{name:"PrivateHiddenCss",slot:"Root"})(({theme:t,ownerState:e})=>{const o={display:"none"};return{...e.breakpoints.map(({breakpoint:r,dir:n})=>n==="only"?{[t.breakpoints.only(r)]:o}:n==="up"?{[t.breakpoints.up(r)]:o}:{[t.breakpoints.down(r)]:o}).reduce((r,n)=>(Object.keys(n).forEach(s=>{r[s]=n[s]}),r),{})}});function Cp(t){const{children:e,className:o,only:r,...n}=t,s=se(),a=[];for(let c=0;c{a.push({breakpoint:p,dir:"only"})});const i={...t,breakpoints:a},l=hp(i);return d.jsx(xp,{className:j(l.root,o),ownerState:i,children:e})}function Sb(t){const{implementation:e="js",lgDown:o=!1,lgUp:r=!1,mdDown:n=!1,mdUp:s=!1,smDown:a=!1,smUp:i=!1,xlDown:l=!1,xlUp:c=!1,xsDown:p=!1,xsUp:f=!1,...v}=t;return e==="js"?d.jsx(vp,{lgDown:o,lgUp:r,mdDown:n,mdUp:s,smDown:a,smUp:i,xlDown:l,xlUp:c,xsDown:p,xsUp:f,...v}):d.jsx(Cp,{lgDown:o,lgUp:r,mdDown:n,mdUp:s,smDown:a,smUp:i,xlDown:l,xlUp:c,xsDown:p,xsUp:f,...v})}function Sp(t){return K("MuiIcon",t)}const wb=Z("MuiIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]),wp=t=>{const{color:e,fontSize:o,classes:r}=t,n={root:["root",e!=="inherit"&&`color${T(e)}`,`fontSize${T(o)}`]};return q(n,Sp,r)},Rp=S("span",{name:"MuiIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color!=="inherit"&&e[`color${T(o.color)}`],e[`fontSize${T(o.fontSize)}`]]}})(U(({theme:t})=>({userSelect:"none",width:"1em",height:"1em",overflow:"hidden",display:"inline-block",textAlign:"center",flexShrink:0,variants:[{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:t.typography.pxToRem(20)}},{props:{fontSize:"medium"},style:{fontSize:t.typography.pxToRem(24)}},{props:{fontSize:"large"},style:{fontSize:t.typography.pxToRem(36)}},{props:{color:"action"},style:{color:(t.vars||t).palette.action.active}},{props:{color:"disabled"},style:{color:(t.vars||t).palette.action.disabled}},{props:{color:"inherit"},style:{color:void 0}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}}))]}))),$p=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiIcon"}),{baseClassName:n="material-icons",className:s,color:a="inherit",component:i="span",fontSize:l="medium",...c}=r,p={...r,baseClassName:n,color:a,component:i,fontSize:l},f=wp(p);return d.jsx(Rp,{as:i,className:j(n,"notranslate",f.root,s),ownerState:p,"aria-hidden":!0,ref:o,...c})});$p.muiName="Icon";function Pp(t){return K("MuiImageList",t)}const Rb=Z("MuiImageList",["root","masonry","quilted","standard","woven"]),Hn=u.createContext({}),kp=t=>{const{classes:e,variant:o}=t;return q({root:["root",o]},Pp,e)},Tp=S("ul",{name:"MuiImageList",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant]]}})({display:"grid",overflowY:"auto",listStyle:"none",padding:0,WebkitOverflowScrolling:"touch",variants:[{props:{variant:"masonry"},style:{display:"block"}}]}),$b=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiImageList"}),{children:n,className:s,cols:a=2,component:i="ul",rowHeight:l="auto",gap:c=4,style:p,variant:f="standard",...v}=r,m=u.useMemo(()=>({rowHeight:l,gap:c,variant:f}),[l,c,f]),y=f==="masonry"?{columnCount:a,columnGap:c,...p}:{gridTemplateColumns:`repeat(${a}, 1fr)`,gap:c,...p},g={...r,component:i,gap:c,rowHeight:l,variant:f},h=kp(g);return d.jsx(Tp,{as:i,className:j(h.root,h[f],s),ref:o,style:y,ownerState:g,...v,children:d.jsx(Hn.Provider,{value:m,children:n})})});function Ip(t){return K("MuiImageListItem",t)}const ur=Z("MuiImageListItem",["root","img","standard","woven","masonry","quilted"]),Mp=t=>{const{classes:e,variant:o}=t;return q({root:["root",o],img:["img"]},Ip,e)},Ap=S("li",{name:"MuiImageListItem",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${ur.img}`]:e.img},e.root,e[o.variant]]}})({display:"block",position:"relative",[`& .${ur.img}`]:{objectFit:"cover",width:"100%",height:"100%",display:"block"},variants:[{props:{variant:"standard"},style:{display:"flex",flexDirection:"column"}},{props:{variant:"woven"},style:{height:"100%",alignSelf:"center","&:nth-of-type(even)":{height:"70%"}}},{props:{variant:"standard"},style:{[`& .${ur.img}`]:{height:"auto",flexGrow:1}}}]}),Pb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiImageListItem"}),{children:n,className:s,cols:a=1,component:i="li",rows:l=1,style:c,...p}=r,{rowHeight:f="auto",gap:v,variant:m}=u.useContext(Hn);let y="auto";m==="woven"?y=void 0:f!=="auto"&&(y=f*l+v*(l-1));const g={...r,cols:a,component:i,gap:v,rowHeight:f,rows:l,variant:m},h=Mp(g);return d.jsx(Ap,{as:i,className:j(h.root,h[m],s),ref:o,style:{height:y,gridColumnEnd:m!=="masonry"?`span ${a}`:void 0,gridRowEnd:m!=="masonry"?`span ${l}`:void 0,marginBottom:m==="masonry"?v:void 0,breakInside:m==="masonry"?"avoid":void 0,...c},ownerState:g,...p,children:u.Children.map(n,b=>u.isValidElement(b)?b.type==="img"||Yo(b,["Image"])?u.cloneElement(b,{className:j(h.img,b.props.className)}):b:null)})});function Lp(t){return K("MuiImageListItemBar",t)}const kb=Z("MuiImageListItemBar",["root","positionBottom","positionTop","positionBelow","actionPositionLeft","actionPositionRight","titleWrap","titleWrapBottom","titleWrapTop","titleWrapBelow","titleWrapActionPosLeft","titleWrapActionPosRight","title","subtitle","actionIcon","actionIconActionPosLeft","actionIconActionPosRight"]),Bp=t=>{const{classes:e,position:o,actionIcon:r,actionPosition:n}=t,s={root:["root",`position${T(o)}`,`actionPosition${T(n)}`],titleWrap:["titleWrap",`titleWrap${T(o)}`,r&&`titleWrapActionPos${T(n)}`],title:["title"],subtitle:["subtitle"],actionIcon:["actionIcon",`actionIconActionPos${T(n)}`]};return q(s,Lp,e)},Np=S("div",{name:"MuiImageListItemBar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${T(o.position)}`]]}})(U(({theme:t})=>({position:"absolute",left:0,right:0,background:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",fontFamily:t.typography.fontFamily,variants:[{props:{position:"bottom"},style:{bottom:0}},{props:{position:"top"},style:{top:0}},{props:{position:"below"},style:{position:"relative",background:"transparent",alignItems:"normal"}}]}))),Op=S("div",{name:"MuiImageListItemBar",slot:"TitleWrap",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.titleWrap,e[`titleWrap${T(o.position)}`],o.actionIcon&&e[`titleWrapActionPos${T(o.actionPosition)}`]]}})(U(({theme:t})=>({flexGrow:1,padding:"12px 16px",color:(t.vars||t).palette.common.white,overflow:"hidden",variants:[{props:{position:"below"},style:{padding:"6px 0 12px",color:"inherit"}},{props:({ownerState:e})=>e.actionIcon&&e.actionPosition==="left",style:{paddingLeft:0}},{props:({ownerState:e})=>e.actionIcon&&e.actionPosition==="right",style:{paddingRight:0}}]}))),zp=S("div",{name:"MuiImageListItemBar",slot:"Title",overridesResolver:(t,e)=>e.title})(U(({theme:t})=>({fontSize:t.typography.pxToRem(16),lineHeight:"24px",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),jp=S("div",{name:"MuiImageListItemBar",slot:"Subtitle",overridesResolver:(t,e)=>e.subtitle})(U(({theme:t})=>({fontSize:t.typography.pxToRem(12),lineHeight:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),Dp=S("div",{name:"MuiImageListItemBar",slot:"ActionIcon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.actionIcon,e[`actionIconActionPos${T(o.actionPosition)}`]]}})({variants:[{props:{actionPosition:"left"},style:{order:-1}}]}),Tb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiImageListItemBar"}),{actionIcon:n,actionPosition:s="right",className:a,subtitle:i,title:l,position:c="bottom",...p}=r,f={...r,position:c,actionPosition:s},v=Bp(f);return d.jsxs(Np,{ownerState:f,className:j(v.root,a),ref:o,...p,children:[d.jsxs(Op,{ownerState:f,className:v.titleWrap,children:[d.jsx(zp,{className:v.title,children:l}),i?d.jsx(jp,{className:v.subtitle,children:i}):null]}),n?d.jsx(Dp,{ownerState:f,className:v.actionIcon,children:n}):null]})});function Ep(t){return K("MuiLinearProgress",t)}const Ib=Z("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","bar1","bar2","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]),Sr=4,wr=Lr` +import{C as os,b as rs,S as ns,s as ss,c as T,d as Pr,h as go,e as je,f as as,g as Cn,m as is,i as jr,j as ls,k as cs,l as Sn,n as ho,o as ps,a as Tt,p as ds,q as us,t as fs,u as gs,v as ms,w as bs,x as vs,y as ys,z as hs,A as De,B as Ee,T as xs,D as Ho,E as Po,F as Le}from"./createTheme-BwMO3rTt.js";import{Q as Bv,N as Nv,O as Ov,J as zv,P as jv,L as Dv,M as Ev,R as Fv,G as Uv,I as Wv,W as Hv,V as Vv,X as Gv,K as _v,H as qv,U as Xv}from"./createTheme-BwMO3rTt.js";import{d as Cs,c as j,e as Ss,b as q,g as K,C as wn,u as X,s as S,m as U,r as Se,a as Z,f as Xo}from"./DefaultPropsProvider-9qubdy-V.js";import{H as kr,J as Yo,K as ws,N as Dr,O as Rs,Q as $s,R as Ps,U as mo,V as ks,W as V,c as re,X as Ts,Y as ko,Z as Vo,$ as Is,B as fe,a0 as oo,T as Tr,a1 as Ne,a2 as Fe,d as ue,P as we,I as Oe,e as Ue,a3 as Ms,a4 as Rn,p as Ko,C as As,a5 as Er,a6 as sr,b as Ce,a7 as Ls,a8 as Bs,a9 as bo,aa as Zo,ab as Ns,ac as Os,ad as $n,ae as zs,af as js,n as Ds,ag as Ie,ah as Es,ai as Fs,aj as Us,ak as Ws,v as Pn,al as uo,G as kn,am as Hs,an as Vs,ao as Gs,M as _s,ap as qs}from"./Tabs-CvEv0KOT.js";import{aq as Kv,q as Zv,ar as Jv,t as Qv,D as ty,x as ey,E as oy,l as ry,j as ny,F as sy,as as ay,a_ as iy,h as ly,i as cy,L as py,r as dy,at as uy,au as fy,g as gy,bi as my,av as by,aw as vy,bt as yy,bs as hy,ax as xy,S as Cy,y as Sy,ay as wy,z as Ry,k as $y,o as Py,aB as ky,aF as Ty,aD as Iy,aJ as My,aL as Ay,aO as Ly,w as By,aQ as Ny,aS as Oy,aT as zy,aV as jy,aX as Dy,aZ as Ey,aC as Fy,aH as Uy,aE as Wy,aK as Hy,aM as Vy,aP as Gy,aR as _y,aN as qy,aU as Xy,aW as Yy,aY as Ky,a$ as Zy,b1 as Jy,b4 as Qy,b6 as th,b2 as eh,bd as oh,ba as rh,b8 as nh,bh as sh,bf as ah,bk as ih,br as lh,bq as ch,bm as ph,bo as dh,bu as uh,bv as fh,bx as gh,bz as mh,bE as bh,bB as vh,bC as yh,bG as hh,aI as xh,bH as Ch,b0 as Sh,b3 as wh,b5 as Rh,b7 as $h,b9 as Ph,bb as kh,bc as Th,be as Ih,bg as Mh,bj as Ah,bl as Lh,bn as Bh,bp as Nh,bw as Oh,by as zh,bA as jh,bD as Dh,A as Eh,bF as Fh,aG as Uh,az as Wh,aA as Hh,u as Vh}from"./Tabs-CvEv0KOT.js";import{C as u}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js";import{j as d}from"./jsx-runtime-o-xyxrOj.js";import{u as se}from"./useTheme-CDtRWagv.js";import{e as Jo,a as ge,c as Ft,u as ne,f as Ge,i as Ae,b as xo,o as de,g as Tn,d as Xs,h as Xe,j as Ir,k as Uo,I as Ys}from"./FilledInput-BpuM_GyB.js";import{F as _h,G as qh,T as Xh,l as Yh,m as Kh}from"./FilledInput-BpuM_GyB.js";import{c as Ht,S as Ks}from"./createSvgIcon-BQThUM-f.js";import{g as Jh,s as Qh}from"./createSvgIcon-BQThUM-f.js";import{u as In,P as Qt}from"./useTheme-MELayQMj.js";import{u as We}from"./index-B7G6Jpdl.js";import{u as Co,c as Mr,k as Ar}from"./useEnhancedEffect-CdLBzwyA.js";import{C as Fr}from"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DibxNPKw.js";import{r as Zs}from"./DefaultPropsProvider-DbEA5uR6.js";import{C as e0,E as o0,T as r0,g as n0,u as s0}from"./ThemeProvider-DZTpMR8n.js";import"./defaultTheme-avbtL0lf.js";import"./useThemeWithoutDefault-C-hl_s0Z.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js";const ar=new Map,Js=(t,e)=>{const o=rs(t);return o.sheet=new e({key:o.key,nonce:o.sheet.nonce,container:o.sheet.container,speedy:o.sheet.isSpeedy,prepend:o.sheet.prepend,insertionPoint:o.sheet.insertionPoint}),o};let Pe;if(typeof document=="object"&&(Pe=document.querySelector('[name="emotion-insertion-point"]'),!Pe)){Pe=document.createElement("meta"),Pe.setAttribute("name","emotion-insertion-point"),Pe.setAttribute("content","");const t=document.querySelector("head");t&&t.prepend(Pe)}function Qs(t,e){if(t||e){class o extends ns{insert(s,a){return this.key&&this.key.endsWith("global")&&(this.before=Pe),super.insert(s,a)}}const r=Js({key:"css",insertionPoint:t?Pe:void 0},o);if(e){const n=r.insert;r.insert=(...s)=>(s[1].styles.startsWith("@layer")||(s[1].styles=`@layer mui {${s[1].styles}}`),n(...s))}return r}}function pm(t){const{injectFirst:e,enableCssLayer:o,children:r}=t,n=u.useMemo(()=>{const s=`${e}-${o}`;if(ar.has(s))return ar.get(s);const a=Qs(e,o);return ar.set(s,a),a},[e,o]);return n?d.jsx(os,{value:n,children:r}):r}function ta(t={}){const{themeId:e,defaultTheme:o,defaultClassName:r="MuiBox-root",generateClassName:n}=t,s=Cs("div",{shouldForwardProp:i=>i!=="theme"&&i!=="sx"&&i!=="as"})(ss);return u.forwardRef(function(l,c){const p=In(o),{className:f,component:v="div",...m}=Jo(l);return d.jsx(s,{as:v,ref:c,className:j(f,n?n(r):r),theme:e&&p[e]||p,...m})})}const Lr=Ss();function dm(t,e){return()=>null}function um(t,e){return()=>null}function fm(t,e,o,r,n){return null}const Br=t=>{const e=u.useRef({});return u.useEffect(()=>{e.current=t}),e.current};function Mn(t){return u.Children.toArray(t).filter(e=>u.isValidElement(e))}const ea=Pr(),oa=Lr("div",{name:"MuiContainer",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`maxWidth${T(String(o.maxWidth))}`],o.fixed&&e.fixed,o.disableGutters&&e.disableGutters]}}),ra=t=>kr({props:t,name:"MuiContainer",defaultTheme:ea}),na=(t,e)=>{const o=l=>K(e,l),{classes:r,fixed:n,disableGutters:s,maxWidth:a}=t,i={root:["root",a&&`maxWidth${T(String(a))}`,n&&"fixed",s&&"disableGutters"]};return q(i,o,r)};function sa(t={}){const{createStyledComponent:e=oa,useThemeProps:o=ra,componentName:r="MuiContainer"}=t,n=e(({theme:a,ownerState:i})=>({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",...!i.disableGutters&&{paddingLeft:a.spacing(2),paddingRight:a.spacing(2),[a.breakpoints.up("sm")]:{paddingLeft:a.spacing(3),paddingRight:a.spacing(3)}}}),({theme:a,ownerState:i})=>i.fixed&&Object.keys(a.breakpoints.values).reduce((l,c)=>{const p=c,f=a.breakpoints.values[p];return f!==0&&(l[a.breakpoints.up(p)]={maxWidth:`${f}${a.breakpoints.unit}`}),l},{}),({theme:a,ownerState:i})=>({...i.maxWidth==="xs"&&{[a.breakpoints.up("xs")]:{maxWidth:Math.max(a.breakpoints.values.xs,444)}},...i.maxWidth&&i.maxWidth!=="xs"&&{[a.breakpoints.up(i.maxWidth)]:{maxWidth:`${a.breakpoints.values[i.maxWidth]}${a.breakpoints.unit}`}}}));return u.forwardRef(function(i,l){const c=o(i),{className:p,component:f="div",disableGutters:v=!1,fixed:m=!1,maxWidth:y="lg",classes:g,...h}=c,b={...c,component:f,disableGutters:v,fixed:m,maxWidth:y},x=na(b,r);return d.jsx(n,{as:f,ownerState:b,className:j(x.root,p),ref:l,...h})})}const aa=(t,e)=>t.filter(o=>e.includes(o)),Ke=(t,e,o)=>{const r=t.keys[0];Array.isArray(e)?e.forEach((n,s)=>{o((a,i)=>{s<=t.keys.length-1&&(s===0?Object.assign(a,i):a[t.up(t.keys[s])]=i)},n)}):e&&typeof e=="object"?(Object.keys(e).length>t.keys.length?t.keys:aa(t.keys,Object.keys(e))).forEach(s=>{if(t.keys.includes(s)){const a=e[s];a!==void 0&&o((i,l)=>{r===s?Object.assign(i,l):i[t.up(s)]=l},a)}}):(typeof e=="number"||typeof e=="string")&&o((n,s)=>{Object.assign(n,s)},e)};function Go(t){return`--Grid-${t}Spacing`}function Qo(t){return`--Grid-parent-${t}Spacing`}const Ur="--Grid-columns",Ye="--Grid-parent-columns",ia=({theme:t,ownerState:e})=>{const o={};return Ke(t.breakpoints,e.size,(r,n)=>{let s={};n==="grow"&&(s={flexBasis:0,flexGrow:1,maxWidth:"100%"}),n==="auto"&&(s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof n=="number"&&(s={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${n} / var(${Ye}) - (var(${Ye}) - ${n}) * (var(${Qo("column")}) / var(${Ye})))`}),r(o,s)}),o},la=({theme:t,ownerState:e})=>{const o={};return Ke(t.breakpoints,e.offset,(r,n)=>{let s={};n==="auto"&&(s={marginLeft:"auto"}),typeof n=="number"&&(s={marginLeft:n===0?"0px":`calc(100% * ${n} / var(${Ye}) + var(${Qo("column")}) * ${n} / var(${Ye}))`}),r(o,s)}),o},ca=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={[Ur]:12};return Ke(t.breakpoints,e.columns,(r,n)=>{const s=n??12;r(o,{[Ur]:s,"> *":{[Ye]:s}})}),o},pa=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Ke(t.breakpoints,e.rowSpacing,(r,n)=>{var a;const s=typeof n=="string"?n:(a=t.spacing)==null?void 0:a.call(t,n);r(o,{[Go("row")]:s,"> *":{[Qo("row")]:s}})}),o},da=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Ke(t.breakpoints,e.columnSpacing,(r,n)=>{var a;const s=typeof n=="string"?n:(a=t.spacing)==null?void 0:a.call(t,n);r(o,{[Go("column")]:s,"> *":{[Qo("column")]:s}})}),o},ua=({theme:t,ownerState:e})=>{if(!e.container)return{};const o={};return Ke(t.breakpoints,e.direction,(r,n)=>{r(o,{flexDirection:n})}),o},fa=({ownerState:t})=>({minWidth:0,boxSizing:"border-box",...t.container&&{display:"flex",flexWrap:"wrap",...t.wrap&&t.wrap!=="wrap"&&{flexWrap:t.wrap},gap:`var(${Go("row")}) var(${Go("column")})`}}),ga=t=>{const e=[];return Object.entries(t).forEach(([o,r])=>{r!==!1&&r!==void 0&&e.push(`grid-${o}-${String(r)}`)}),e},ma=(t,e="xs")=>{function o(r){return r===void 0?!1:typeof r=="string"&&!Number.isNaN(Number(r))||typeof r=="number"&&r>0}if(o(t))return[`spacing-${e}-${String(t)}`];if(typeof t=="object"&&!Array.isArray(t)){const r=[];return Object.entries(t).forEach(([n,s])=>{o(s)&&r.push(`spacing-${n}-${String(s)}`)}),r}return[]},ba=t=>t===void 0?[]:typeof t=="object"?Object.entries(t).map(([e,o])=>`direction-${e}-${o}`):[`direction-xs-${String(t)}`];function va(t,e){t.item!==void 0&&delete t.item,t.zeroMinWidth!==void 0&&delete t.zeroMinWidth,e.keys.forEach(o=>{t[o]!==void 0&&delete t[o]})}const ya=Pr(),ha=Lr("div",{name:"MuiGrid",slot:"Root",overridesResolver:(t,e)=>e.root});function xa(t){return kr({props:t,name:"MuiGrid",defaultTheme:ya})}function Ca(t={}){const{createStyledComponent:e=ha,useThemeProps:o=xa,useTheme:r=In,componentName:n="MuiGrid"}=t,s=(c,p)=>{const{container:f,direction:v,spacing:m,wrap:y,size:g}=c,h={root:["root",f&&"container",y!=="wrap"&&`wrap-xs-${String(y)}`,...ba(v),...ga(g),...f?ma(m,p.breakpoints.keys[0]):[]]};return q(h,b=>K(n,b),{})};function a(c,p,f=()=>!0){const v={};return c===null||(Array.isArray(c)?c.forEach((m,y)=>{m!==null&&f(m)&&p.keys[y]&&(v[p.keys[y]]=m)}):typeof c=="object"?Object.keys(c).forEach(m=>{const y=c[m];y!=null&&f(y)&&(v[m]=y)}):v[p.keys[0]]=c),v}const i=e(ca,da,pa,ia,ua,fa,la),l=u.forwardRef(function(p,f){const v=r(),m=o(p),y=Jo(m);va(y,v.breakpoints);const{className:g,children:h,columns:b=12,container:x=!1,component:C="div",direction:R="row",wrap:P="wrap",size:N={},offset:$={},spacing:A=0,rowSpacing:k=A,columnSpacing:I=A,unstable_level:F=0,...L}=y,w=a(N,v.breakpoints,_=>_!==!1),M=a($,v.breakpoints),H=p.columns??(F?void 0:b),z=p.spacing??(F?void 0:A),Q=p.rowSpacing??p.spacing??(F?void 0:k),D=p.columnSpacing??p.spacing??(F?void 0:I),et={...y,level:F,columns:H,container:x,direction:R,wrap:P,spacing:z,rowSpacing:Q,columnSpacing:D,size:w,offset:M},pt=s(et,v);return d.jsx(i,{ref:f,as:C,ownerState:et,className:j(pt.root,g),...L,children:u.Children.map(h,_=>{var wt;return u.isValidElement(_)&&Yo(_,["Grid"])&&x&&_.props.container?u.cloneElement(_,{unstable_level:((wt=_.props)==null?void 0:wt.unstable_level)??F+1}):_})})});return l.muiName="Grid",l}const Sa=Pr(),wa=Lr("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root});function Ra(t){return kr({props:t,name:"MuiStack",defaultTheme:Sa})}function $a(t,e){const o=u.Children.toArray(t).filter(Boolean);return o.reduce((r,n,s)=>(r.push(n),s({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[t],ka=({ownerState:t,theme:e})=>{let o={display:"flex",flexDirection:"column",...go({theme:e},je({values:t.direction,breakpoints:e.breakpoints.values}),r=>({flexDirection:r}))};if(t.spacing){const r=as(e),n=Object.keys(e.breakpoints.values).reduce((l,c)=>((typeof t.spacing=="object"&&t.spacing[c]!=null||typeof t.direction=="object"&&t.direction[c]!=null)&&(l[c]=!0),l),{}),s=je({values:t.direction,base:n}),a=je({values:t.spacing,base:n});typeof s=="object"&&Object.keys(s).forEach((l,c,p)=>{if(!s[l]){const v=c>0?s[p[c-1]]:"column";s[l]=v}}),o=Cn(o,go({theme:e},a,(l,c)=>t.useFlexGap?{gap:jr(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${Pa(c?s[c]:t.direction)}`]:jr(r,l)}}))}return o=is(e.breakpoints,o),o};function Ta(t={}){const{createStyledComponent:e=wa,useThemeProps:o=Ra,componentName:r="MuiStack"}=t,n=()=>q({root:["root"]},l=>K(r,l),{}),s=e(ka);return u.forwardRef(function(l,c){const p=o(l),f=Jo(p),{component:v="div",direction:m="column",spacing:y=0,divider:g,children:h,className:b,useFlexGap:x=!1,...C}=f,R={direction:m,spacing:y,useFlexGap:x},P=n();return d.jsx(s,{as:v,ownerState:R,ref:c,className:j(P.root,b),...C,children:g?$a(h,g):h})})}function gm(t){const{defaultProps:e={},mixins:o={},overrides:r={},palette:n={},props:s={},styleOverrides:a={},...i}=t,l={...i,components:{}};Object.keys(e).forEach(g=>{const h=l.components[g]||{};h.defaultProps=e[g],l.components[g]=h}),Object.keys(s).forEach(g=>{const h=l.components[g]||{};h.defaultProps=s[g],l.components[g]=h}),Object.keys(a).forEach(g=>{const h=l.components[g]||{};h.styleOverrides=a[g],l.components[g]=h}),Object.keys(r).forEach(g=>{const h=l.components[g]||{};h.styleOverrides=r[g],l.components[g]=h}),l.spacing=ls(t.spacing);const c=cs(t.breakpoints||{}),p=l.spacing;l.mixins={gutters:(g={})=>({paddingLeft:p(2),paddingRight:p(2),...g,[c.up("sm")]:{paddingLeft:p(3),paddingRight:p(3),...g[c.up("sm")]}}),...o};const{type:f,mode:v,...m}=n,y=v||f||"light";return l.palette={text:{hint:y==="dark"?"rgba(255, 255, 255, 0.5)":"rgba(0, 0, 0, 0.38)"},mode:y,type:y,...m},l}function mm(t,...e){return Sn(Cn({unstable_strictMode:!0},t),...e)}let Wr=!1;function bm(t){return Wr||(console.warn(["MUI: createStyles from @mui/material/styles is deprecated.","Please use @mui/styles/createStyles"].join(` +`)),Wr=!0),t}function vm(t,e={}){const{breakpoints:o=["sm","md","lg"],disableAlign:r=!1,factor:n=2,variants:s=["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","button","overline"]}=e,a={...t};a.typography={...a.typography};const i=a.typography,l=ws(i.htmlFontSize),c=o.map(p=>a.breakpoints.values[p]);return s.forEach(p=>{const f=i[p];if(!f)return;const v=parseFloat(l(f.fontSize,"rem"));if(v<=1)return;const m=v,y=1+(m-1)/n;let{lineHeight:g}=f;if(!Dr(g)&&!r)throw new Error(ho(6));Dr(g)||(g=parseFloat(l(g,"rem"))/parseFloat(v));let h=null;r||(h=b=>$s({size:b,grid:Ps({pixels:4,lineHeight:g,htmlFontSize:i.htmlFontSize})})),i[p]={...f,...Rs({cssProperty:"fontSize",min:y,max:m,unit:"rem",breakpoints:c,transform:h})}}),a}function ym(){throw new Error(ho(14))}function hm(){throw new Error(ho(15))}function xm(){throw new Error(ho(16))}let Hr=!1;function Cm(...t){return Hr||(console.warn(["MUI: The `experimental_extendTheme` has been stabilized.","","You should use `import { extendTheme } from '@mui/material/styles'`"].join(` +`)),Hr=!0),ps(...t)}function Sm(){throw new Error(ho(19))}const wm={configure:t=>{wn.configure(t)}},Ia=t=>{const{alignItems:e,classes:o}=t;return q({root:["root",e==="flex-start"&&"alignItemsFlexStart"]},ks,o)},Ma=S("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.alignItems==="flex-start"&&e.alignItemsFlexStart]}})(U(({theme:t})=>({minWidth:56,color:(t.vars||t).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),Rm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListItemIcon"}),{className:n,...s}=r,a=u.useContext(mo),i={...r,alignItems:a.alignItems},l=Ia(i);return d.jsx(Ma,{className:j(l.root,n),ownerState:i,ref:o,...s})}),Aa=t=>{const{classes:e,inset:o,primary:r,secondary:n,dense:s}=t;return q({root:["root",o&&"inset",s&&"dense",r&&n&&"multiline"],primary:["primary"],secondary:["secondary"]},Ts,e)},La=S("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${ko.primary}`]:e.primary},{[`& .${ko.secondary}`]:e.secondary},e.root,o.inset&&e.inset,o.primary&&o.secondary&&e.multiline,o.dense&&e.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${Vo.root}:where(& .${ko.primary})`]:{display:"block"},[`.${Vo.root}:where(& .${ko.secondary})`]:{display:"block"},variants:[{props:({ownerState:t})=>t.primary&&t.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:t})=>t.inset,style:{paddingLeft:56}}]}),$m=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListItemText"}),{children:n,className:s,disableTypography:a=!1,inset:i=!1,primary:l,primaryTypographyProps:c,secondary:p,secondaryTypographyProps:f,slots:v={},slotProps:m={},...y}=r,{dense:g}=u.useContext(mo);let h=l??n,b=p;const x={...r,disableTypography:a,inset:i,primary:!!h,secondary:!!b,dense:g},C=Aa(x),R={slots:v,slotProps:{primary:c,secondary:f,...m}},[P,N]=V("root",{className:j(C.root,s),elementType:La,externalForwardedProps:{...R,...y},ownerState:x,ref:o}),[$,A]=V("primary",{className:C.primary,elementType:re,externalForwardedProps:R,ownerState:x}),[k,I]=V("secondary",{className:C.secondary,elementType:re,externalForwardedProps:R,ownerState:x});return h!=null&&h.type!==re&&!a&&(h=d.jsx($,{variant:g?"body2":"body1",component:A!=null&&A.variant?void 0:"span",...A,children:h})),b!=null&&b.type!==re&&!a&&(b=d.jsx(k,{variant:"body2",color:"textSecondary",...I,children:b})),d.jsxs(P,{...N,children:[h,b]})}),Ba=(t,e)=>{const{ownerState:o}=t;return[e.root,o.dense&&e.dense,o.alignItems==="flex-start"&&e.alignItemsFlexStart,o.divider&&e.divider,!o.disableGutters&&e.gutters]},Na=t=>{const{alignItems:e,classes:o,dense:r,disabled:n,disableGutters:s,divider:a,selected:i}=t,c=q({root:["root",r&&"dense",!s&&"gutters",a&&"divider",n&&"disabled",e==="flex-start"&&"alignItemsFlexStart",i&&"selected"]},Is,o);return{...o,...c}},Oa=S(fe,{shouldForwardProp:t=>Se(t)||t==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:Ba})(U(({theme:t})=>({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:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${oo.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${oo.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}},[`&.${oo.selected}:hover`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity)}},[`&.${oo.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${oo.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:({ownerState:e})=>e.divider,style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.dense,style:{paddingTop:4,paddingBottom:4}}]}))),Pm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListItemButton"}),{alignItems:n="center",autoFocus:s=!1,component:a="div",children:i,dense:l=!1,disableGutters:c=!1,divider:p=!1,focusVisibleClassName:f,selected:v=!1,className:m,...y}=r,g=u.useContext(mo),h=u.useMemo(()=>({dense:l||g.dense||!1,alignItems:n,disableGutters:c}),[n,g.dense,l,c]),b=u.useRef(null);Co(()=>{s&&b.current&&b.current.focus()},[s]);const x={...r,alignItems:n,dense:h.dense,disableGutters:c,divider:p,selected:v},C=Na(x),R=ge(b,o);return d.jsx(mo.Provider,{value:h,children:d.jsx(Oa,{ref:R,href:y.href||y.to,component:(y.href||y.to)&&a==="div"?"button":a,focusVisibleClassName:j(C.focusVisible,f),ownerState:x,className:j(C.root,m),...y,classes:C,children:i})})}),za={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"},ja={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"},Da={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"},Ea={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"},Fa={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"},Ua={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"},Wa={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"},Ha={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"},Va={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"},Ga={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"},_a={50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037"},qa={50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64"},km=Object.freeze(Object.defineProperty({__proto__:null,amber:Va,blue:ds,blueGrey:qa,brown:_a,common:us,cyan:Ea,deepOrange:Ga,deepPurple:ja,green:fs,grey:gs,indigo:Da,lightBlue:ms,lightGreen:Ua,lime:Wa,orange:bs,pink:za,purple:vs,red:ys,teal:Fa,yellow:Ha},Symbol.toStringTag,{value:"Module"}));function Xa(t){return K("MuiCollapse",t)}const Tm=Z("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]),Ya=t=>{const{orientation:e,classes:o}=t,r={root:["root",`${e}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${e}`],wrapperInner:["wrapperInner",`${e}`]};return q(r,Xa,o)},Ka=S("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.state==="entered"&&e.entered,o.state==="exited"&&!o.in&&o.collapsedSize==="0px"&&e.hidden]}})(U(({theme:t})=>({height:0,overflow:"hidden",transition:t.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:t.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:e})=>e.state==="exited"&&!e.in&&e.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),Za=S("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(t,e)=>e.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),Ja=S("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(t,e)=>e.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),vo=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCollapse"}),{addEndListener:n,children:s,className:a,collapsedSize:i="0px",component:l,easing:c,in:p,onEnter:f,onEntered:v,onEntering:m,onExit:y,onExited:g,onExiting:h,orientation:b="vertical",style:x,timeout:C=hs.standard,TransitionComponent:R=Tr,...P}=r,N={...r,orientation:b,collapsedSize:i},$=Ya(N),A=se(),k=Ne(),I=u.useRef(null),F=u.useRef(),L=typeof i=="number"?`${i}px`:i,w=b==="horizontal",M=w?"width":"height",H=u.useRef(null),z=ge(o,H),Q=rt=>W=>{if(rt){const it=H.current;W===void 0?rt(it):rt(it,W)}},D=()=>I.current?I.current[w?"clientWidth":"clientHeight"]:0,et=Q((rt,W)=>{I.current&&w&&(I.current.style.position="absolute"),rt.style[M]=L,f&&f(rt,W)}),pt=Q((rt,W)=>{const it=D();I.current&&w&&(I.current.style.position="");const{duration:dt,easing:bt}=Fe({style:x,timeout:C,easing:c},{mode:"enter"});if(C==="auto"){const $t=A.transitions.getAutoHeightDuration(it);rt.style.transitionDuration=`${$t}ms`,F.current=$t}else rt.style.transitionDuration=typeof dt=="string"?dt:`${dt}ms`;rt.style[M]=`${it}px`,rt.style.transitionTimingFunction=bt,m&&m(rt,W)}),_=Q((rt,W)=>{rt.style[M]="auto",v&&v(rt,W)}),wt=Q(rt=>{rt.style[M]=`${D()}px`,y&&y(rt)}),Lt=Q(g),Rt=Q(rt=>{const W=D(),{duration:it,easing:dt}=Fe({style:x,timeout:C,easing:c},{mode:"exit"});if(C==="auto"){const bt=A.transitions.getAutoHeightDuration(W);rt.style.transitionDuration=`${bt}ms`,F.current=bt}else rt.style.transitionDuration=typeof it=="string"?it:`${it}ms`;rt.style[M]=L,rt.style.transitionTimingFunction=dt,h&&h(rt)}),lt=rt=>{C==="auto"&&k.start(F.current||0,rt),n&&n(H.current,rt)};return d.jsx(R,{in:p,onEnter:et,onEntered:_,onEntering:pt,onExit:wt,onExited:Lt,onExiting:Rt,addEndListener:lt,nodeRef:H,timeout:C==="auto"?null:C,...P,children:(rt,{ownerState:W,...it})=>d.jsx(Ka,{as:l,className:j($.root,a,{entered:$.entered,exited:!p&&L==="0px"&&$.hidden}[rt]),style:{[w?"minWidth":"minHeight"]:L,...x},ref:z,ownerState:{...N,state:rt},...it,children:d.jsx(Za,{ownerState:{...N,state:rt},className:$.wrapper,ref:I,children:d.jsx(Ja,{ownerState:{...N,state:rt},className:$.wrapperInner,children:s})})})})});vo&&(vo.muiSupportAuto=!0);const An=u.createContext({});function Qa(t){return K("MuiAccordion",t)}const To=Z("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),ti=t=>{const{classes:e,square:o,expanded:r,disabled:n,disableGutters:s}=t;return q({root:["root",!o&&"rounded",r&&"expanded",n&&"disabled",!s&&"gutters"],heading:["heading"],region:["region"]},Qa,e)},ei=S(we,{name:"MuiAccordion",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${To.region}`]:e.region},e.root,!o.square&&e.rounded,!o.disableGutters&&e.gutters]}})(U(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{position:"relative",transition:t.transitions.create(["margin"],e),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(t.vars||t).palette.divider,transition:t.transitions.create(["opacity","background-color"],e)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${To.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${To.disabled}`]:{backgroundColor:(t.vars||t).palette.action.disabledBackground}}}),U(({theme:t})=>({variants:[{props:e=>!e.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:e=>!e.disableGutters,style:{[`&.${To.expanded}`]:{margin:"16px 0"}}}]}))),oi=S("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(t,e)=>e.heading})({all:"unset"}),Im=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAccordion"}),{children:n,className:s,defaultExpanded:a=!1,disabled:i=!1,disableGutters:l=!1,expanded:c,onChange:p,square:f=!1,slots:v={},slotProps:m={},TransitionComponent:y,TransitionProps:g,...h}=r,[b,x]=ue({controlled:c,default:a,name:"Accordion",state:"expanded"}),C=u.useCallback(D=>{x(!b),p&&p(D,!b)},[b,p,x]),[R,...P]=u.Children.toArray(n),N=u.useMemo(()=>({expanded:b,disabled:i,disableGutters:l,toggle:C}),[b,i,l,C]),$={...r,square:f,disabled:i,disableGutters:l,expanded:b},A=ti($),k={transition:y,...v},I={transition:g,...m},F={slots:k,slotProps:I},[L,w]=V("root",{elementType:ei,externalForwardedProps:{...F,...h},className:j(A.root,s),shouldForwardComponentProp:!0,ownerState:$,ref:o,additionalProps:{square:f}}),[M,H]=V("heading",{elementType:oi,externalForwardedProps:F,className:A.heading,ownerState:$}),[z,Q]=V("transition",{elementType:vo,externalForwardedProps:F,ownerState:$});return d.jsxs(L,{...w,children:[d.jsx(M,{...H,children:d.jsx(An.Provider,{value:N,children:R})}),d.jsx(z,{in:b,timeout:"auto",...Q,children:d.jsx("div",{"aria-labelledby":R.props.id,id:R.props["aria-controls"],role:"region",className:A.region,children:P})})]})});function ri(t){return K("MuiAccordionActions",t)}const Mm=Z("MuiAccordionActions",["root","spacing"]),ni=t=>{const{classes:e,disableSpacing:o}=t;return q({root:["root",!o&&"spacing"]},ri,e)},si=S("div",{name:"MuiAccordionActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",variants:[{props:t=>!t.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),Am=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAccordionActions"}),{className:n,disableSpacing:s=!1,...a}=r,i={...r,disableSpacing:s},l=ni(i);return d.jsx(si,{className:j(l.root,n),ref:o,ownerState:i,...a})});function ai(t){return K("MuiAccordionDetails",t)}const Lm=Z("MuiAccordionDetails",["root"]),ii=t=>{const{classes:e}=t;return q({root:["root"]},ai,e)},li=S("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({padding:t.spacing(1,2,2)}))),Bm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAccordionDetails"}),{className:n,...s}=r,a=r,i=ii(a);return d.jsx(li,{className:j(i.root,n),ref:o,ownerState:a,...s})});function ci(t){return K("MuiAccordionSummary",t)}const qe=Z("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),pi=t=>{const{classes:e,expanded:o,disabled:r,disableGutters:n}=t;return q({root:["root",o&&"expanded",r&&"disabled",!n&&"gutters"],focusVisible:["focusVisible"],content:["content",o&&"expanded",!n&&"contentGutters"],expandIconWrapper:["expandIconWrapper",o&&"expanded"]},ci,e)},di=S(fe,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>{const e={duration:t.transitions.duration.shortest};return{display:"flex",width:"100%",minHeight:48,padding:t.spacing(0,2),transition:t.transitions.create(["min-height","background-color"],e),[`&.${qe.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${qe.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},[`&:hover:not(.${qe.disabled})`]:{cursor:"pointer"},variants:[{props:o=>!o.disableGutters,style:{[`&.${qe.expanded}`]:{minHeight:64}}}]}})),ui=S("span",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(t,e)=>e.content})(U(({theme:t})=>({display:"flex",textAlign:"start",flexGrow:1,margin:"12px 0",variants:[{props:e=>!e.disableGutters,style:{transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest}),[`&.${qe.expanded}`]:{margin:"20px 0"}}}]}))),fi=S("span",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(t,e)=>e.expandIconWrapper})(U(({theme:t})=>({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),[`&.${qe.expanded}`]:{transform:"rotate(180deg)"}}))),Nm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAccordionSummary"}),{children:n,className:s,expandIcon:a,focusVisibleClassName:i,onClick:l,slots:c,slotProps:p,...f}=r,{disabled:v=!1,disableGutters:m,expanded:y,toggle:g}=u.useContext(An),h=I=>{g&&g(I),l&&l(I)},b={...r,expanded:y,disabled:v,disableGutters:m},x=pi(b),C={slots:c,slotProps:p},[R,P]=V("root",{ref:o,shouldForwardComponentProp:!0,className:j(x.root,s),elementType:di,externalForwardedProps:{...C,...f},ownerState:b,additionalProps:{focusRipple:!1,disableRipple:!0,disabled:v,"aria-expanded":y,focusVisibleClassName:j(x.focusVisible,i)},getSlotProps:I=>({...I,onClick:F=>{var L;(L=I.onClick)==null||L.call(I,F),h(F)}})}),[N,$]=V("content",{className:x.content,elementType:ui,externalForwardedProps:C,ownerState:b}),[A,k]=V("expandIconWrapper",{className:x.expandIconWrapper,elementType:fi,externalForwardedProps:C,ownerState:b});return d.jsxs(R,{...P,children:[d.jsx(N,{...$,children:n}),a&&d.jsx(A,{...k,children:a})]})});function gi(t){return K("MuiAlert",t)}const Vr=Z("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),mi=Ht(d.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),bi=Ht(d.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),vi=Ht(d.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),yi=Ht(d.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),Ln=Ht(d.jsx("path",{d:"M19 6.41L17.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"),hi=t=>{const{variant:e,color:o,severity:r,classes:n}=t,s={root:["root",`color${T(o||r)}`,`${e}${T(o||r)}`,`${e}`],icon:["icon"],message:["message"],action:["action"]};return q(s,gi,n)},xi=S(we,{name:"MuiAlert",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`${o.variant}${T(o.color||o.severity)}`]]}})(U(({theme:t})=>{const e=t.palette.mode==="light"?De:Ee,o=t.palette.mode==="light"?Ee:De;return{...t.typography.body2,backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter(Ft(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert[`${r}Color`]:e(t.palette[r].light,.6),backgroundColor:t.vars?t.vars.palette.Alert[`${r}StandardBg`]:o(t.palette[r].light,.9),[`& .${Vr.icon}`]:t.vars?{color:t.vars.palette.Alert[`${r}IconColor`]}:{color:t.palette[r].main}}})),...Object.entries(t.palette).filter(Ft(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert[`${r}Color`]:e(t.palette[r].light,.6),border:`1px solid ${(t.vars||t).palette[r].light}`,[`& .${Vr.icon}`]:t.vars?{color:t.vars.palette.Alert[`${r}IconColor`]}:{color:t.palette[r].main}}})),...Object.entries(t.palette).filter(Ft(["dark"])).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:{fontWeight:t.typography.fontWeightMedium,...t.vars?{color:t.vars.palette.Alert[`${r}FilledColor`],backgroundColor:t.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:t.palette.mode==="dark"?t.palette[r].dark:t.palette[r].main,color:t.palette.getContrastText(t.palette[r].main)}}}))]}})),Ci=S("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(t,e)=>e.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),Si=S("div",{name:"MuiAlert",slot:"Message",overridesResolver:(t,e)=>e.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),wi=S("div",{name:"MuiAlert",slot:"Action",overridesResolver:(t,e)=>e.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),Gr={success:d.jsx(mi,{fontSize:"inherit"}),warning:d.jsx(bi,{fontSize:"inherit"}),error:d.jsx(vi,{fontSize:"inherit"}),info:d.jsx(yi,{fontSize:"inherit"})},Om=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAlert"}),{action:n,children:s,className:a,closeText:i="Close",color:l,components:c={},componentsProps:p={},icon:f,iconMapping:v=Gr,onClose:m,role:y="alert",severity:g="success",slotProps:h={},slots:b={},variant:x="standard",...C}=r,R={...r,color:l,severity:g,variant:x,colorSeverity:l||g},P=hi(R),N={slots:{closeButton:c.CloseButton,closeIcon:c.CloseIcon,...b},slotProps:{...p,...h}},[$,A]=V("root",{ref:o,shouldForwardComponentProp:!0,className:j(P.root,a),elementType:xi,externalForwardedProps:{...N,...C},ownerState:R,additionalProps:{role:y,elevation:0}}),[k,I]=V("icon",{className:P.icon,elementType:Ci,externalForwardedProps:N,ownerState:R}),[F,L]=V("message",{className:P.message,elementType:Si,externalForwardedProps:N,ownerState:R}),[w,M]=V("action",{className:P.action,elementType:wi,externalForwardedProps:N,ownerState:R}),[H,z]=V("closeButton",{elementType:Oe,externalForwardedProps:N,ownerState:R}),[Q,D]=V("closeIcon",{elementType:Ln,externalForwardedProps:N,ownerState:R});return d.jsxs($,{...A,children:[f!==!1?d.jsx(k,{...I,children:f||v[g]||Gr[g]}):null,d.jsx(F,{...L,children:s}),n!=null?d.jsx(w,{...M,children:n}):null,n==null&&m?d.jsx(w,{...M,children:d.jsx(H,{size:"small","aria-label":i,title:i,color:"inherit",onClick:m,...z,children:d.jsx(Q,{fontSize:"small",...D})})}):null]})});function Ri(t){return K("MuiAlertTitle",t)}const zm=Z("MuiAlertTitle",["root"]),$i=t=>{const{classes:e}=t;return q({root:["root"]},Ri,e)},Pi=S(re,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({fontWeight:t.typography.fontWeightMedium,marginTop:-2}))),jm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAlertTitle"}),{className:n,...s}=r,a=r,i=$i(a);return d.jsx(Pi,{gutterBottom:!0,component:"div",ownerState:a,ref:o,className:j(i.root,n),...s})});function ki(t){return K("MuiAppBar",t)}const Dm=Z("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]),Ti=t=>{const{color:e,position:o,classes:r}=t,n={root:["root",`color${T(e)}`,`position${T(o)}`]};return q(n,ki,r)},_r=(t,e)=>t?`${t==null?void 0:t.replace(")","")}, ${e})`:e,Ii=S(we,{name:"MuiAppBar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${T(o.position)}`],e[`color${T(o.color)}`]]}})(U(({theme:t})=>({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,variants:[{props:{position:"fixed"},style:{position:"fixed",zIndex:(t.vars||t).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}}},{props:{position:"absolute"},style:{position:"absolute",zIndex:(t.vars||t).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"sticky"},style:{position:"sticky",zIndex:(t.vars||t).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":t.vars?t.vars.palette.AppBar.defaultBg:t.palette.grey[100],"--AppBar-color":t.vars?t.vars.palette.text.primary:t.palette.getContrastText(t.palette.grey[100]),...t.applyStyles("dark",{"--AppBar-background":t.vars?t.vars.palette.AppBar.defaultBg:t.palette.grey[900],"--AppBar-color":t.vars?t.vars.palette.text.primary:t.palette.getContrastText(t.palette.grey[900])})}},...Object.entries(t.palette).filter(Ft(["contrastText"])).map(([e])=>({props:{color:e},style:{"--AppBar-background":(t.vars??t).palette[e].main,"--AppBar-color":(t.vars??t).palette[e].contrastText}})),{props:e=>e.enableColorOnDark===!0&&!["inherit","transparent"].includes(e.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)"}},{props:e=>e.enableColorOnDark===!1&&!["inherit","transparent"].includes(e.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...t.applyStyles("dark",{backgroundColor:t.vars?_r(t.vars.palette.AppBar.darkBg,"var(--AppBar-background)"):null,color:t.vars?_r(t.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)",...t.applyStyles("dark",{backgroundImage:"none"})}}]}))),Em=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAppBar"}),{className:n,color:s="primary",enableColorOnDark:a=!1,position:i="fixed",...l}=r,c={...r,color:s,position:i,enableColorOnDark:a},p=Ti(c);return d.jsx(Ii,{square:!0,component:"header",ownerState:c,elevation:4,className:j(p.root,n,i==="fixed"&&"mui-fixed"),ref:o,...l})});function qr(t){return t.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function Mi(t={}){const{ignoreAccents:e=!0,ignoreCase:o=!0,limit:r,matchFrom:n="any",stringify:s,trim:a=!1}=t;return(i,{inputValue:l,getOptionLabel:c})=>{let p=a?l.trim():l;o&&(p=p.toLowerCase()),e&&(p=qr(p));const f=p?i.filter(v=>{let m=(s||c)(v);return o&&(m=m.toLowerCase()),e&&(m=qr(m)),n==="start"?m.startsWith(p):m.includes(p)}):i;return typeof r=="number"?f.slice(0,r):f}}const Ai=Mi(),Li=5,Bi=t=>{var e;return t.current!==null&&((e=t.current.parentElement)==null?void 0:e.contains(document.activeElement))},Ni=[];function Xr(t,e,o){if(e||t==null)return"";const r=o(t);return typeof r=="string"?r:""}function Oi(t){const{unstable_isActiveElementInListbox:e=Bi,unstable_classNamePrefix:o="Mui",autoComplete:r=!1,autoHighlight:n=!1,autoSelect:s=!1,blurOnSelect:a=!1,clearOnBlur:i=!t.freeSolo,clearOnEscape:l=!1,componentName:c="useAutocomplete",defaultValue:p=t.multiple?Ni:null,disableClearable:f=!1,disableCloseOnSelect:v=!1,disabled:m,disabledItemsFocusable:y=!1,disableListWrap:g=!1,filterOptions:h=Ai,filterSelectedOptions:b=!1,freeSolo:x=!1,getOptionDisabled:C,getOptionKey:R,getOptionLabel:P=O=>O.label??O,groupBy:N,handleHomeEndKeys:$=!t.freeSolo,id:A,includeInputInList:k=!1,inputValue:I,isOptionEqualToValue:F=(O,B)=>O===B,multiple:L=!1,onChange:w,onClose:M,onHighlightChange:H,onInputChange:z,onOpen:Q,open:D,openOnFocus:et=!1,options:pt,readOnly:_=!1,selectOnFocus:wt=!t.freeSolo,value:Lt}=t,Rt=Ue(A);let lt=P;lt=O=>{const B=P(O);return typeof B!="string"?String(B):B};const rt=u.useRef(!1),W=u.useRef(!0),it=u.useRef(null),dt=u.useRef(null),[bt,$t]=u.useState(null),[nt,ct]=u.useState(-1),vt=n?0:-1,yt=u.useRef(vt),Ot=u.useRef(Xr(p??Lt,L,lt)).current,[Y,tt]=ue({controlled:Lt,default:p,name:c}),[st,xt]=ue({controlled:I,default:Ot,name:c,state:"inputValue"}),[ft,Pt]=u.useState(!1),It=u.useCallback((O,B,at)=>{if(!(L?Y.length!(b&&(L?Y:[Y]).some(B=>B!==null&&F(O,B)))),{inputValue:gt&&G?"":st,getOptionLabel:lt}):[],ht=Br({filteredOptions:J,value:Y,inputValue:st});u.useEffect(()=>{const O=Y!==ht.value;ft&&!O||x&&!O||It(null,Y,"reset")},[Y,It,ft,ht.value,x]);const Dt=Vt&&J.length>0&&!_,At=ne(O=>{O===-1?it.current.focus():bt.querySelector(`[data-tag-index="${O}"]`).focus()});u.useEffect(()=>{L&&nt>Y.length-1&&(ct(-1),At(-1))},[Y,L,nt,At]);function zt(O,B){if(!dt.current||O<0||O>=J.length)return-1;let at=O;for(;;){const Ct=dt.current.querySelector(`[data-option-index="${at}"]`),Mt=y?!1:!Ct||Ct.disabled||Ct.getAttribute("aria-disabled")==="true";if(Ct&&Ct.hasAttribute("tabindex")&&!Mt)return at;if(B==="next"?at=(at+1)%J.length:at=(at-1+J.length)%J.length,at===O)return-1}}const qt=ne(({event:O,index:B,reason:at})=>{if(yt.current=B,B===-1?it.current.removeAttribute("aria-activedescendant"):it.current.setAttribute("aria-activedescendant",`${Rt}-option-${B}`),H&&["mouse","keyboard","touch"].includes(at)&&H(O,B===-1?null:J[B],at),!dt.current)return;const Ct=dt.current.querySelector(`[role="option"].${o}-focused`);Ct&&(Ct.classList.remove(`${o}-focused`),Ct.classList.remove(`${o}-focusVisible`));let Mt=dt.current;if(dt.current.getAttribute("role")!=="listbox"&&(Mt=dt.current.parentElement.querySelector('[role="listbox"]')),!Mt)return;if(B===-1){Mt.scrollTop=0;return}const jt=dt.current.querySelector(`[data-option-index="${B}"]`);if(jt&&(jt.classList.add(`${o}-focused`),at==="keyboard"&&jt.classList.add(`${o}-focusVisible`),Mt.scrollHeight>Mt.clientHeight&&at!=="mouse"&&at!=="touch")){const Gt=jt,ie=Mt.clientHeight+Mt.scrollTop,nr=Gt.offsetTop+Gt.offsetHeight;nr>ie?Mt.scrollTop=nr-Mt.clientHeight:Gt.offsetTop-Gt.offsetHeight*(N?1.3:0){if(!ut)return;const jt=zt((()=>{const Gt=J.length-1;if(B==="reset")return vt;if(B==="start")return 0;if(B==="end")return Gt;const ie=yt.current+B;return ie<0?ie===-1&&k?-1:g&&yt.current!==-1||Math.abs(B)>1?0:Gt:ie>Gt?ie===Gt+1&&k?-1:g||Math.abs(B)>1?Gt:0:ie})(),at);if(qt({index:jt,reason:Ct,event:O}),r&&B!=="reset")if(jt===-1)it.current.value=st;else{const Gt=lt(J[jt]);it.current.value=Gt,Gt.toLowerCase().indexOf(st.toLowerCase())===0&&st.length>0&&it.current.setSelectionRange(st.length,Gt.length)}}),ye=()=>{const O=(B,at)=>{const Ct=B?lt(B):"",Mt=at?lt(at):"";return Ct===Mt};if(yt.current!==-1&&ht.filteredOptions&&ht.filteredOptions.length!==J.length&&ht.inputValue===st&&(L?Y.length===ht.value.length&&ht.value.every((B,at)=>lt(Y[at])===lt(B)):O(ht.value,Y))){const B=ht.filteredOptions[yt.current];if(B)return J.findIndex(at=>lt(at)===lt(B))}return-1},ae=u.useCallback(()=>{if(!ut)return;const O=ye();if(O!==-1){yt.current=O;return}const B=L?Y[0]:Y;if(J.length===0||B==null){Xt({diff:"reset"});return}if(dt.current){if(B!=null){const at=J[yt.current];if(L&&at&&Y.findIndex(Mt=>F(at,Mt))!==-1)return;const Ct=J.findIndex(Mt=>F(Mt,B));Ct===-1?Xt({diff:"reset"}):qt({index:Ct});return}if(yt.current>=J.length-1){qt({index:J.length-1});return}qt({index:yt.current})}},[J.length,L?!1:Y,b,Xt,qt,ut,st,L]),he=ne(O=>{Ms(dt,O),O&&ae()});u.useEffect(()=>{ae()},[ae]);const Yt=O=>{Vt||(E(!0),ot(!0),Q&&Q(O))},ce=(O,B)=>{Vt&&(E(!1),M&&M(O,B))},Bt=(O,B,at,Ct)=>{if(L){if(Y.length===B.length&&Y.every((Mt,jt)=>Mt===B[jt]))return}else if(Y===B)return;w&&w(O,B,at,Ct),tt(B)},Et=u.useRef(!1),Kt=(O,B,at="selectOption",Ct="options")=>{let Mt=at,jt=B;if(L){jt=Array.isArray(Y)?Y.slice():[];const Gt=jt.findIndex(ie=>F(B,ie));Gt===-1?jt.push(B):Ct!=="freeSolo"&&(jt.splice(Gt,1),Mt="removeOption")}It(O,jt,Mt),Bt(O,jt,Mt,{option:B}),!v&&(!O||!O.ctrlKey&&!O.metaKey)&&ce(O,Mt),(a===!0||a==="touch"&&Et.current||a==="mouse"&&!Et.current)&&it.current.blur()};function pe(O,B){if(O===-1)return-1;let at=O;for(;;){if(B==="next"&&at===Y.length||B==="previous"&&at===-1)return-1;const Ct=bt.querySelector(`[data-tag-index="${at}"]`);if(!Ct||!Ct.hasAttribute("tabindex")||Ct.disabled||Ct.getAttribute("aria-disabled")==="true")at+=B==="next"?1:-1;else return at}}const Zt=(O,B)=>{if(!L)return;st===""&&ce(O,"toggleInput");let at=nt;nt===-1?st===""&&B==="previous"&&(at=Y.length-1):(at+=B==="next"?1:-1,at<0&&(at=0),at===Y.length&&(at=-1)),at=pe(at,B),ct(at),At(at)},mt=O=>{rt.current=!0,xt(""),z&&z(O,"","clear"),Bt(O,L?[]:null,"clear")},te=O=>B=>{if(O.onKeyDown&&O.onKeyDown(B),!B.defaultMuiPrevented&&(nt!==-1&&!["ArrowLeft","ArrowRight"].includes(B.key)&&(ct(-1),At(-1)),B.which!==229))switch(B.key){case"Home":ut&&$&&(B.preventDefault(),Xt({diff:"start",direction:"next",reason:"keyboard",event:B}));break;case"End":ut&&$&&(B.preventDefault(),Xt({diff:"end",direction:"previous",reason:"keyboard",event:B}));break;case"PageUp":B.preventDefault(),Xt({diff:-5,direction:"previous",reason:"keyboard",event:B}),Yt(B);break;case"PageDown":B.preventDefault(),Xt({diff:Li,direction:"next",reason:"keyboard",event:B}),Yt(B);break;case"ArrowDown":B.preventDefault(),Xt({diff:1,direction:"next",reason:"keyboard",event:B}),Yt(B);break;case"ArrowUp":B.preventDefault(),Xt({diff:-1,direction:"previous",reason:"keyboard",event:B}),Yt(B);break;case"ArrowLeft":Zt(B,"previous");break;case"ArrowRight":Zt(B,"next");break;case"Enter":if(yt.current!==-1&&ut){const at=J[yt.current],Ct=C?C(at):!1;if(B.preventDefault(),Ct)return;Kt(B,at,"selectOption"),r&&it.current.setSelectionRange(it.current.value.length,it.current.value.length)}else x&&st!==""&>===!1&&(L&&B.preventDefault(),Kt(B,st,"createOption","freeSolo"));break;case"Escape":ut?(B.preventDefault(),B.stopPropagation(),ce(B,"escape")):l&&(st!==""||L&&Y.length>0)&&(B.preventDefault(),B.stopPropagation(),mt(B));break;case"Backspace":if(L&&!_&&st===""&&Y.length>0){const at=nt===-1?Y.length-1:nt,Ct=Y.slice();Ct.splice(at,1),Bt(B,Ct,"removeOption",{option:Y[at]})}break;case"Delete":if(L&&!_&&st===""&&Y.length>0&&nt!==-1){const at=nt,Ct=Y.slice();Ct.splice(at,1),Bt(B,Ct,"removeOption",{option:Y[at]})}break}},Ve=O=>{Pt(!0),et&&!rt.current&&Yt(O)},Me=O=>{if(e(dt)){it.current.focus();return}Pt(!1),W.current=!0,rt.current=!1,s&&yt.current!==-1&&ut?Kt(O,J[yt.current],"blur"):s&&x&&st!==""?Kt(O,st,"blur","freeSolo"):i&&It(O,Y,"blur"),ce(O,"blur")},Je=O=>{const B=O.target.value;st!==B&&(xt(B),ot(!1),z&&z(O,B,"input")),B===""?!f&&!L&&Bt(O,null,"clear"):Yt(O)},Qe=O=>{const B=Number(O.currentTarget.getAttribute("data-option-index"));yt.current!==B&&qt({event:O,index:B,reason:"mouse"})},tr=O=>{qt({event:O,index:Number(O.currentTarget.getAttribute("data-option-index")),reason:"touch"}),Et.current=!0},er=O=>{const B=Number(O.currentTarget.getAttribute("data-option-index"));Kt(O,J[B],"selectOption"),Et.current=!1},or=O=>B=>{const at=Y.slice();at.splice(O,1),Bt(B,at,"removeOption",{option:Y[O]})},rr=O=>{Vt?ce(O,"toggleInput"):Yt(O)},to=O=>{O.currentTarget.contains(O.target)&&O.target.getAttribute("id")!==Rt&&O.preventDefault()},Jt=O=>{O.currentTarget.contains(O.target)&&(it.current.focus(),wt&&W.current&&it.current.selectionEnd-it.current.selectionStart===0&&it.current.select(),W.current=!1)},_t=O=>{!m&&(st===""||!Vt)&&rr(O)};let me=x&&st.length>0;me=me||(L?Y.length>0:Y!==null);let wo=J;return N&&(wo=J.reduce((O,B,at)=>{const Ct=N(B);return O.length>0&&O[O.length-1].group===Ct?O[O.length-1].options.push(B):O.push({key:at,index:at,group:Ct,options:[B]}),O},[])),m&&ft&&Me(),{getRootProps:(O={})=>({...O,onKeyDown:te(O),onMouseDown:to,onClick:Jt}),getInputLabelProps:()=>({id:`${Rt}-label`,htmlFor:Rt}),getInputProps:()=>({id:Rt,value:st,onBlur:Me,onFocus:Ve,onChange:Je,onMouseDown:_t,"aria-activedescendant":ut?"":null,"aria-autocomplete":r?"both":"list","aria-controls":Dt?`${Rt}-listbox`:void 0,"aria-expanded":Dt,autoComplete:"off",ref:it,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:m}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:mt}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:rr}),getTagProps:({index:O})=>({key:O,"data-tag-index":O,tabIndex:-1,...!_&&{onDelete:or(O)}}),getListboxProps:()=>({role:"listbox",id:`${Rt}-listbox`,"aria-labelledby":`${Rt}-label`,ref:he,onMouseDown:O=>{O.preventDefault()}}),getOptionProps:({index:O,option:B})=>{const at=(L?Y:[Y]).some(Mt=>Mt!=null&&F(B,Mt)),Ct=C?C(B):!1;return{key:(R==null?void 0:R(B))??lt(B),tabIndex:-1,role:"option",id:`${Rt}-option-${O}`,onMouseMove:Qe,onClick:er,onTouchStart:tr,"data-option-index":O,"aria-disabled":Ct,"aria-selected":at}},id:Rt,inputValue:st,value:Y,dirty:me,expanded:ut&&bt,popupOpen:ut,focused:ft||nt!==-1,anchorEl:bt,setAnchorEl:$t,focusedTag:nt,groupedOptions:wo}}function zi(t){return K("MuiListSubheader",t)}const Fm=Z("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]),ji=t=>{const{classes:e,color:o,disableGutters:r,inset:n,disableSticky:s}=t,a={root:["root",o!=="default"&&`color${T(o)}`,!r&&"gutters",n&&"inset",!s&&"sticky"]};return q(a,zi,e)},Di=S("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color!=="default"&&e[`color${T(o.color)}`],!o.disableGutters&&e.gutters,o.inset&&e.inset,!o.disableSticky&&e.sticky]}})(U(({theme:t})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(t.vars||t).palette.text.secondary,fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(t.vars||t).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:e})=>e.inset,style:{paddingLeft:72}},{props:({ownerState:e})=>!e.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(t.vars||t).palette.background.paper}}]}))),hr=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListSubheader"}),{className:n,color:s="default",component:a="li",disableGutters:i=!1,disableSticky:l=!1,inset:c=!1,...p}=r,f={...r,color:s,component:a,disableGutters:i,disableSticky:l,inset:c},v=ji(f);return d.jsx(Di,{as:a,className:j(v.root,n),ref:o,ownerState:f,...p})});hr&&(hr.muiSkipListHighlight=!0);function Ei(t){return K("MuiAutocomplete",t)}const kt=Z("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var Yr,Kr;const Fi=t=>{const{classes:e,disablePortal:o,expanded:r,focused:n,fullWidth:s,hasClearIcon:a,hasPopupIcon:i,inputFocused:l,popupOpen:c,size:p}=t,f={root:["root",r&&"expanded",n&&"focused",s&&"fullWidth",a&&"hasClearIcon",i&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${T(p)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",c&&"popupIndicatorOpen"],popper:["popper",o&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return q(f,Ei,e)},Ui=S("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{fullWidth:r,hasClearIcon:n,hasPopupIcon:s,inputFocused:a,size:i}=o;return[{[`& .${kt.tag}`]:e.tag},{[`& .${kt.tag}`]:e[`tagSize${T(i)}`]},{[`& .${kt.inputRoot}`]:e.inputRoot},{[`& .${kt.input}`]:e.input},{[`& .${kt.input}`]:a&&e.inputFocused},e.root,r&&e.fullWidth,s&&e.hasPopupIcon,n&&e.hasClearIcon]}})({[`&.${kt.focused} .${kt.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${kt.clearIndicator}`]:{visibility:"visible"}},[`& .${kt.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${kt.inputRoot}`]:{[`.${kt.hasPopupIcon}&, .${kt.hasClearIcon}&`]:{paddingRight:30},[`.${kt.hasPopupIcon}.${kt.hasClearIcon}&`]:{paddingRight:56},[`& .${kt.input}`]:{width:0,minWidth:30}},[`& .${sr.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${sr.root}.${Ae.sizeSmall}`]:{[`& .${sr.input}`]:{padding:"2px 4px 3px 0"}},[`& .${Er.root}`]:{padding:9,[`.${kt.hasPopupIcon}&, .${kt.hasClearIcon}&`]:{paddingRight:39},[`.${kt.hasPopupIcon}.${kt.hasClearIcon}&`]:{paddingRight:65},[`& .${kt.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${kt.endAdornment}`]:{right:9}},[`& .${Er.root}.${Ae.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${kt.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${Ge.root}`]:{paddingTop:19,paddingLeft:8,[`.${kt.hasPopupIcon}&, .${kt.hasClearIcon}&`]:{paddingRight:39},[`.${kt.hasPopupIcon}.${kt.hasClearIcon}&`]:{paddingRight:65},[`& .${Ge.input}`]:{padding:"7px 4px"},[`& .${kt.endAdornment}`]:{right:9}},[`& .${Ge.root}.${Ae.sizeSmall}`]:{paddingBottom:1,[`& .${Ge.input}`]:{padding:"2.5px 4px"}},[`& .${Ae.hiddenLabel}`]:{paddingTop:8},[`& .${Ge.root}.${Ae.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${kt.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${Ge.root}.${Ae.hiddenLabel}.${Ae.sizeSmall}`]:{[`& .${kt.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${kt.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${kt.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${kt.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${kt.inputRoot}`]:{flexWrap:"wrap"}}}]}),Wi=S("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(t,e)=>e.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),Hi=S(Oe,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(t,e)=>e.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),Vi=S(Oe,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.popupIndicator,o.popupOpen&&e.popupIndicatorOpen]}})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),Gi=S(Ko,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${kt.option}`]:e.option},e.popper,o.disablePortal&&e.popperDisablePortal]}})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),_i=S(we,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(t,e)=>e.paper})(U(({theme:t})=>({...t.typography.body1,overflow:"auto"}))),qi=S("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(t,e)=>e.loading})(U(({theme:t})=>({color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}))),Xi=S("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(t,e)=>e.noOptions})(U(({theme:t})=>({color:(t.vars||t).palette.text.secondary,padding:"14px 16px"}))),Yi=S("ul",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(t,e)=>e.listbox})(U(({theme:t})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${kt.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[t.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${kt.focused}`]:{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${kt.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity),[`&.${kt.focused}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(t.vars||t).palette.action.selected}},[`&.${kt.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)}}}}))),Ki=S(hr,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(t,e)=>e.groupLabel})(U(({theme:t})=>({backgroundColor:(t.vars||t).palette.background.paper,top:-8}))),Zi=S("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(t,e)=>e.groupUl})({padding:0,[`& .${kt.option}`]:{paddingLeft:24}}),Um=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAutocomplete"}),{autoComplete:n=!1,autoHighlight:s=!1,autoSelect:a=!1,blurOnSelect:i=!1,ChipProps:l,className:c,clearIcon:p=Yr||(Yr=d.jsx(Ln,{fontSize:"small"})),clearOnBlur:f=!r.freeSolo,clearOnEscape:v=!1,clearText:m="Clear",closeText:y="Close",componentsProps:g,defaultValue:h=r.multiple?[]:null,disableClearable:b=!1,disableCloseOnSelect:x=!1,disabled:C=!1,disabledItemsFocusable:R=!1,disableListWrap:P=!1,disablePortal:N=!1,filterOptions:$,filterSelectedOptions:A=!1,forcePopupIcon:k="auto",freeSolo:I=!1,fullWidth:F=!1,getLimitTagsText:L=Nt=>`+${Nt}`,getOptionDisabled:w,getOptionKey:M,getOptionLabel:H,isOptionEqualToValue:z,groupBy:Q,handleHomeEndKeys:D=!r.freeSolo,id:et,includeInputInList:pt=!1,inputValue:_,limitTags:wt=-1,ListboxComponent:Lt,ListboxProps:Rt,loading:lt=!1,loadingText:rt="Loading…",multiple:W=!1,noOptionsText:it="No options",onChange:dt,onClose:bt,onHighlightChange:$t,onInputChange:nt,onOpen:ct,open:vt,openOnFocus:yt=!1,openText:Ot="Open",options:Y,PaperComponent:tt,PopperComponent:st,popupIcon:xt=Kr||(Kr=d.jsx(Rn,{})),readOnly:ft=!1,renderGroup:Pt,renderInput:It,renderOption:Vt,renderTags:E,selectOnFocus:G=!r.freeSolo,size:ot="medium",slots:gt={},slotProps:ut={},value:J,...ht}=r,{getRootProps:Dt,getInputProps:At,getInputLabelProps:zt,getPopupIndicatorProps:qt,getClearProps:Xt,getTagProps:ye,getListboxProps:ae,getOptionProps:he,value:Yt,dirty:ce,expanded:Bt,id:Et,popupOpen:Kt,focused:pe,focusedTag:Zt,anchorEl:mt,setAnchorEl:te,inputValue:Ve,groupedOptions:Me}=Oi({...r,componentName:"Autocomplete"}),Je=!b&&!C&&ce&&!ft,Qe=(!I||k===!0)&&k!==!1,{onMouseDown:tr}=At(),{ref:er,...or}=ae(),to=H||(Nt=>Nt.label??Nt),Jt={...r,disablePortal:N,expanded:Bt,focused:pe,fullWidth:F,getOptionLabel:to,hasClearIcon:Je,hasPopupIcon:Qe,inputFocused:Zt===-1,popupOpen:Kt,size:ot},_t=Fi(Jt),me={slots:{paper:tt,popper:st,...gt},slotProps:{chip:l,listbox:Rt,...g,...ut}},[wo,O]=V("listbox",{elementType:Yi,externalForwardedProps:me,ownerState:Jt,className:_t.listbox,additionalProps:or,ref:er}),[B,at]=V("paper",{elementType:we,externalForwardedProps:me,ownerState:Jt,className:_t.paper}),[Ct,Mt]=V("popper",{elementType:Ko,externalForwardedProps:me,ownerState:Jt,className:_t.popper,additionalProps:{disablePortal:N,style:{width:mt?mt.clientWidth:null},role:"presentation",anchorEl:mt,open:Kt}});let jt;if(W&&Yt.length>0){const Nt=be=>({className:_t.tag,disabled:C,...ye(be)});E?jt=E(Yt,Nt,Jt):jt=Yt.map((be,Re)=>{const{key:eo,...es}=Nt({index:Re});return d.jsx(As,{label:to(be),size:ot,...es,...me.slotProps.chip},eo)})}if(wt>-1&&Array.isArray(jt)){const Nt=jt.length-wt;!pe&&Nt>0&&(jt=jt.splice(0,wt),jt.push(d.jsx("span",{className:_t.tag,children:L(Nt)},jt.length)))}const ie=Pt||(Nt=>d.jsxs("li",{children:[d.jsx(Ki,{className:_t.groupLabel,ownerState:Jt,component:"div",children:Nt.group}),d.jsx(Zi,{className:_t.groupUl,ownerState:Jt,children:Nt.children})]},Nt.key)),ts=Vt||((Nt,be)=>{const{key:Re,...eo}=Nt;return d.jsx("li",{...eo,children:to(be)},Re)}),zr=(Nt,be)=>{const Re=he({option:Nt,index:be});return ts({...Re,className:_t.option},Nt,{selected:Re["aria-selected"],index:be,inputValue:Ve},Jt)},Ro=me.slotProps.clearIndicator,$o=me.slotProps.popupIndicator;return d.jsxs(u.Fragment,{children:[d.jsx(Ui,{ref:o,className:j(_t.root,c),ownerState:Jt,...Dt(ht),children:It({id:Et,disabled:C,fullWidth:!0,size:ot==="small"?"small":void 0,InputLabelProps:zt(),InputProps:{ref:te,className:_t.inputRoot,startAdornment:jt,onMouseDown:Nt=>{Nt.target===Nt.currentTarget&&tr(Nt)},...(Je||Qe)&&{endAdornment:d.jsxs(Wi,{className:_t.endAdornment,ownerState:Jt,children:[Je?d.jsx(Hi,{...Xt(),"aria-label":m,title:m,ownerState:Jt,...Ro,className:j(_t.clearIndicator,Ro==null?void 0:Ro.className),children:p}):null,Qe?d.jsx(Vi,{...qt(),disabled:C,"aria-label":Kt?y:Ot,title:Kt?y:Ot,ownerState:Jt,...$o,className:j(_t.popupIndicator,$o==null?void 0:$o.className),children:xt}):null]})}},inputProps:{className:_t.input,disabled:C,readOnly:ft,...At()}})}),mt?d.jsx(Gi,{as:Ct,...Mt,children:d.jsxs(_i,{as:B,...at,children:[lt&&Me.length===0?d.jsx(qi,{className:_t.loading,ownerState:Jt,children:rt}):null,Me.length===0&&!I&&!lt?d.jsx(Xi,{className:_t.noOptions,ownerState:Jt,role:"presentation",onMouseDown:Nt=>{Nt.preventDefault()},children:it}):null,Me.length>0?d.jsx(wo,{as:Lt,...O,children:Me.map((Nt,be)=>Q?ie({key:Nt.key,group:Nt.group,children:Nt.options.map((Re,eo)=>zr(Re,Nt.index+eo))}):zr(Nt,be))}):null]})}):null]})}),Ji=Ht(d.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function Qi(t){return K("MuiAvatar",t)}const tl=Z("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]),el=t=>{const{classes:e,variant:o,colorDefault:r}=t;return q({root:["root",o,r&&"colorDefault"],img:["img"],fallback:["fallback"]},Qi,e)},ol=S("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],o.colorDefault&&e.colorDefault]}})(U(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:{color:(t.vars||t).palette.background.default,...t.vars?{backgroundColor:t.vars.palette.Avatar.defaultBg}:{backgroundColor:t.palette.grey[400],...t.applyStyles("dark",{backgroundColor:t.palette.grey[600]})}}}]}))),rl=S("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(t,e)=>e.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),nl=S(Ji,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(t,e)=>e.fallback})({width:"75%",height:"75%"});function sl({crossOrigin:t,referrerPolicy:e,src:o,srcSet:r}){const[n,s]=u.useState(!1);return u.useEffect(()=>{if(!o&&!r)return;s(!1);let a=!0;const i=new Image;return i.onload=()=>{a&&s("loaded")},i.onerror=()=>{a&&s("error")},i.crossOrigin=t,i.referrerPolicy=e,i.src=o,r&&(i.srcset=r),()=>{a=!1}},[t,e,o,r]),n}const al=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAvatar"}),{alt:n,children:s,className:a,component:i="div",slots:l={},slotProps:c={},imgProps:p,sizes:f,src:v,srcSet:m,variant:y="circular",...g}=r;let h=null;const b={...r,component:i,variant:y},x=sl({...p,...typeof c.img=="function"?c.img(b):c.img,src:v,srcSet:m}),C=v||m,R=C&&x!=="error";b.colorDefault=!R,delete b.ownerState;const P=el(b),[N,$]=V("img",{className:P.img,elementType:rl,externalForwardedProps:{slots:l,slotProps:{img:{...p,...c.img}}},additionalProps:{alt:n,src:v,srcSet:m,sizes:f},ownerState:b});return R?h=d.jsx(N,{...$}):s||s===0?h=s:C&&n?h=n[0]:h=d.jsx(nl,{ownerState:b,className:P.fallback}),d.jsx(ol,{as:i,className:j(P.root,a),ref:o,...g,ownerState:b,children:h})});function il(t){return K("MuiAvatarGroup",t)}const ll=Z("MuiAvatarGroup",["root","avatar"]),ir={small:-16,medium:-8},cl=t=>{const{classes:e}=t;return q({root:["root"],avatar:["avatar"]},il,e)},pl=S("div",{name:"MuiAvatarGroup",slot:"Root",overridesResolver:(t,e)=>[{[`& .${ll.avatar}`]:e.avatar},e.root]})(U(({theme:t})=>({display:"flex",flexDirection:"row-reverse",[`& .${tl.root}`]:{border:`2px solid ${(t.vars||t).palette.background.default}`,boxSizing:"content-box",marginLeft:"var(--AvatarGroup-spacing, -8px)","&:last-child":{marginLeft:0}}}))),Wm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiAvatarGroup"}),{children:n,className:s,component:a="div",componentsProps:i,max:l=5,renderSurplus:c,slotProps:p={},slots:f={},spacing:v="medium",total:m,variant:y="circular",...g}=r;let h=l<2?2:l;const b={...r,max:l,spacing:v,component:a,variant:y},x=cl(b),C=u.Children.toArray(n).filter(L=>u.isValidElement(L)),R=m||C.length;R===h&&(h+=1),h=Math.min(R+1,h);const P=Math.min(C.length,h-1),N=Math.max(R-h,R-P,0),$=c?c(N):`+${N}`;let A;b.spacing&&ir[b.spacing]!==void 0?A=ir[b.spacing]:b.spacing===0?A=0:A=-b.spacing||ir.medium;const k={slots:f,slotProps:{surplus:p.additionalAvatar??(i==null?void 0:i.additionalAvatar),...i,...p}},[I,F]=V("surplus",{elementType:al,externalForwardedProps:k,className:x.avatar,ownerState:b,additionalProps:{variant:y}});return d.jsxs(pl,{as:a,ownerState:b,className:j(x.root,s),ref:o,...g,style:{"--AvatarGroup-spacing":`${A}px`,...g.style},children:[N?d.jsx(I,{...F,children:$}):null,C.slice(0,P).reverse().map(L=>u.cloneElement(L,{className:j(L.props.className,x.avatar),variant:L.props.variant||y}))]})});function dl(t){const{badgeContent:e,invisible:o=!1,max:r=99,showZero:n=!1}=t,s=Br({badgeContent:e,max:r});let a=o;o===!1&&e===0&&!n&&(a=!0);const{badgeContent:i,max:l=r}=a?s:t,c=i&&Number(i)>l?`${l}+`:i;return{badgeContent:i,invisible:a,max:l,displayValue:c}}function ul(t){return K("MuiBadge",t)}const $e=Z("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"]),lr=10,cr=4,fl=t=>{const{color:e,anchorOrigin:o,invisible:r,overlap:n,variant:s,classes:a={}}=t,i={root:["root"],badge:["badge",s,r&&"invisible",`anchorOrigin${T(o.vertical)}${T(o.horizontal)}`,`anchorOrigin${T(o.vertical)}${T(o.horizontal)}${T(n)}`,`overlap${T(n)}`,e!=="default"&&`color${T(e)}`]};return q(i,ul,a)},gl=S("span",{name:"MuiBadge",slot:"Root",overridesResolver:(t,e)=>e.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),ml=S("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.badge,e[o.variant],e[`anchorOrigin${T(o.anchorOrigin.vertical)}${T(o.anchorOrigin.horizontal)}${T(o.overlap)}`],o.color!=="default"&&e[`color${T(o.color)}`],o.invisible&&e.invisible]}})(U(({theme:t})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(12),minWidth:lr*2,lineHeight:1,padding:"0 6px",height:lr*2,borderRadius:lr,zIndex:1,transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.enteringScreen}),variants:[...Object.entries(t.palette).filter(Ft(["contrastText"])).map(([e])=>({props:{color:e},style:{backgroundColor:(t.vars||t).palette[e].main,color:(t.vars||t).palette[e].contrastText}})),{props:{variant:"dot"},style:{borderRadius:cr,height:cr*2,minWidth:cr*2,padding:0}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="right"&&e.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="top"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:e})=>e.anchorOrigin.vertical==="bottom"&&e.anchorOrigin.horizontal==="left"&&e.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${$e.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.leavingScreen})}}]})));function Zr(t){return{vertical:(t==null?void 0:t.vertical)??"top",horizontal:(t==null?void 0:t.horizontal)??"right"}}const Hm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiBadge"}),{anchorOrigin:n,className:s,classes:a,component:i,components:l={},componentsProps:c={},children:p,overlap:f="rectangular",color:v="default",invisible:m=!1,max:y=99,badgeContent:g,slots:h,slotProps:b,showZero:x=!1,variant:C="standard",...R}=r,{badgeContent:P,invisible:N,max:$,displayValue:A}=dl({max:y,invisible:m,badgeContent:g,showZero:x}),k=Br({anchorOrigin:Zr(n),color:v,overlap:f,variant:C,badgeContent:g}),I=N||P==null&&C!=="dot",{color:F=v,overlap:L=f,anchorOrigin:w,variant:M=C}=I?k:r,H=Zr(w),z=M!=="dot"?A:void 0,Q={...r,badgeContent:P,invisible:I,max:$,displayValue:z,showZero:x,anchorOrigin:H,color:F,overlap:L,variant:M},D=fl(Q),et={slots:{root:(h==null?void 0:h.root)??l.Root,badge:(h==null?void 0:h.badge)??l.Badge},slotProps:{root:(b==null?void 0:b.root)??c.root,badge:(b==null?void 0:b.badge)??c.badge}},[pt,_]=V("root",{elementType:gl,externalForwardedProps:{...et,...R},ownerState:Q,className:j(D.root,s),ref:o,additionalProps:{as:i}}),[wt,Lt]=V("badge",{elementType:ml,externalForwardedProps:et,ownerState:Q,className:D.badge});return d.jsxs(pt,{..._,children:[p,d.jsx(wt,{...Lt,children:z})]})});function bl(t){return K("MuiBottomNavigation",t)}const Vm=Z("MuiBottomNavigation",["root"]),vl=t=>{const{classes:e}=t;return q({root:["root"]},bl,e)},yl=S("div",{name:"MuiBottomNavigation",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({display:"flex",justifyContent:"center",height:56,backgroundColor:(t.vars||t).palette.background.paper}))),Gm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiBottomNavigation"}),{children:n,className:s,component:a="div",onChange:i,showLabels:l=!1,value:c,...p}=r,f={...r,component:a,showLabels:l},v=vl(f);return d.jsx(yl,{as:a,className:j(v.root,s),ref:o,ownerState:f,...p,children:u.Children.map(n,(m,y)=>{if(!u.isValidElement(m))return null;const g=m.props.value===void 0?y:m.props.value;return u.cloneElement(m,{selected:g===c,showLabel:m.props.showLabel!==void 0?m.props.showLabel:l,value:g,onChange:i})})})});function hl(t){return K("MuiBottomNavigationAction",t)}const Bn=Z("MuiBottomNavigationAction",["root","iconOnly","selected","label"]),xl=t=>{const{classes:e,showLabel:o,selected:r}=t;return q({root:["root",!o&&!r&&"iconOnly",r&&"selected"],label:["label",!o&&!r&&"iconOnly",r&&"selected"]},hl,e)},Cl=S(fe,{name:"MuiBottomNavigationAction",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.showLabel&&!o.selected&&e.iconOnly]}})(U(({theme:t})=>({transition:t.transitions.create(["color","padding-top"],{duration:t.transitions.duration.short}),padding:"0px 12px",minWidth:80,maxWidth:168,color:(t.vars||t).palette.text.secondary,flexDirection:"column",flex:"1",[`&.${Bn.selected}`]:{color:(t.vars||t).palette.primary.main},variants:[{props:({showLabel:e,selected:o})=>!e&&!o,style:{paddingTop:14}},{props:({showLabel:e,selected:o,label:r})=>!e&&!o&&!r,style:{paddingTop:0}}]}))),Sl=S("span",{name:"MuiBottomNavigationAction",slot:"Label",overridesResolver:(t,e)=>e.label})(U(({theme:t})=>({fontFamily:t.typography.fontFamily,fontSize:t.typography.pxToRem(12),opacity:1,transition:"font-size 0.2s, opacity 0.2s",transitionDelay:"0.1s",[`&.${Bn.selected}`]:{fontSize:t.typography.pxToRem(14)},variants:[{props:({showLabel:e,selected:o})=>!e&&!o,style:{opacity:0,transitionDelay:"0s"}}]}))),_m=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiBottomNavigationAction"}),{className:n,icon:s,label:a,onChange:i,onClick:l,selected:c,showLabel:p,value:f,slots:v={},slotProps:m={},...y}=r,g=r,h=xl(g),b=$=>{i&&i($,f),l&&l($)},x={slots:v,slotProps:m},[C,R]=V("root",{elementType:Cl,externalForwardedProps:{...x,...y},shouldForwardComponentProp:!0,ownerState:g,ref:o,className:j(h.root,n),additionalProps:{focusRipple:!0},getSlotProps:$=>({...$,onClick:A=>{var k;(k=$.onClick)==null||k.call($,A),b(A)}})}),[P,N]=V("label",{elementType:Sl,externalForwardedProps:x,ownerState:g,className:h.label});return d.jsxs(C,{...R,children:[s,d.jsx(P,{...N,children:a})]})}),wl=Z("MuiBox",["root"]),Rl=Sn(),qm=ta({themeId:xs,defaultTheme:Rl,defaultClassName:wl.root,generateClassName:wn.generate}),$l=Ht(d.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"),Pl=S(fe)(U(({theme:t})=>({display:"flex",marginLeft:`calc(${t.spacing(1)} * 0.5)`,marginRight:`calc(${t.spacing(1)} * 0.5)`,...t.palette.mode==="light"?{backgroundColor:t.palette.grey[100],color:t.palette.grey[700]}:{backgroundColor:t.palette.grey[700],color:t.palette.grey[100]},borderRadius:2,"&:hover, &:focus":{...t.palette.mode==="light"?{backgroundColor:t.palette.grey[200]}:{backgroundColor:t.palette.grey[600]}},"&:active":{boxShadow:t.shadows[0],...t.palette.mode==="light"?{backgroundColor:Ho(t.palette.grey[200],.12)}:{backgroundColor:Ho(t.palette.grey[600],.12)}}}))),kl=S($l)({width:24,height:16});function Tl(t){const{slots:e={},slotProps:o={},...r}=t,n=t;return d.jsx("li",{children:d.jsx(Pl,{focusRipple:!0,...r,ownerState:n,children:d.jsx(kl,{as:e.CollapsedIcon,ownerState:n,...o.collapsedIcon})})})}function Il(t){return K("MuiBreadcrumbs",t)}const Ml=Z("MuiBreadcrumbs",["root","ol","li","separator"]),Al=t=>{const{classes:e}=t;return q({root:["root"],li:["li"],ol:["ol"],separator:["separator"]},Il,e)},Ll=S(re,{name:"MuiBreadcrumbs",slot:"Root",overridesResolver:(t,e)=>[{[`& .${Ml.li}`]:e.li},e.root]})({}),Bl=S("ol",{name:"MuiBreadcrumbs",slot:"Ol",overridesResolver:(t,e)=>e.ol})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"}),Nl=S("li",{name:"MuiBreadcrumbs",slot:"Separator",overridesResolver:(t,e)=>e.separator})({display:"flex",userSelect:"none",marginLeft:8,marginRight:8});function Ol(t,e,o,r){return t.reduce((n,s,a)=>(a{const A=()=>{h(!0);const k=R.current.querySelector("a[href],button,[tabindex]");k&&k.focus()};return f+p>=$.length?$:[...$.slice(0,f),d.jsx(Tl,{"aria-label":c,slots:{CollapsedIcon:i.CollapsedIcon},slotProps:{collapsedIcon:C},onClick:A},"ellipsis"),...$.slice($.length-p,$.length)]},N=u.Children.toArray(n).filter($=>u.isValidElement($)).map(($,A)=>d.jsx("li",{className:x.li,children:$},`child-${A}`));return d.jsx(Ll,{ref:o,component:a,color:"textSecondary",className:j(x.root,s),ownerState:b,...y,children:d.jsx(Bl,{className:x.ol,ref:R,ownerState:b,children:Ol(g||v&&N.length<=v?N:P(N),x.separator,m,b)})})});function zl(t){return K("MuiButtonGroup",t)}const St=Z("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","horizontal","vertical","colorPrimary","colorSecondary","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]),jl=(t,e)=>{const{ownerState:o}=t;return[{[`& .${St.grouped}`]:e.grouped},{[`& .${St.grouped}`]:e[`grouped${T(o.orientation)}`]},{[`& .${St.grouped}`]:e[`grouped${T(o.variant)}`]},{[`& .${St.grouped}`]:e[`grouped${T(o.variant)}${T(o.orientation)}`]},{[`& .${St.grouped}`]:e[`grouped${T(o.variant)}${T(o.color)}`]},{[`& .${St.firstButton}`]:e.firstButton},{[`& .${St.lastButton}`]:e.lastButton},{[`& .${St.middleButton}`]:e.middleButton},e.root,e[o.variant],o.disableElevation===!0&&e.disableElevation,o.fullWidth&&e.fullWidth,o.orientation==="vertical"&&e.vertical]},Dl=t=>{const{classes:e,color:o,disabled:r,disableElevation:n,fullWidth:s,orientation:a,variant:i}=t,l={root:["root",i,a,s&&"fullWidth",n&&"disableElevation",`color${T(o)}`],grouped:["grouped",`grouped${T(a)}`,`grouped${T(i)}`,`grouped${T(i)}${T(a)}`,`grouped${T(i)}${T(o)}`,r&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return q(l,zl,e)},El=S("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:jl})(U(({theme:t})=>({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius,variants:[{props:{variant:"contained"},style:{boxShadow:(t.vars||t).shadows[2]}},{props:{disableElevation:!0},style:{boxShadow:"none"}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${St.lastButton},& .${St.middleButton}`]:{borderTopRightRadius:0,borderTopLeftRadius:0},[`& .${St.firstButton},& .${St.middleButton}`]:{borderBottomRightRadius:0,borderBottomLeftRadius:0}}},{props:{orientation:"horizontal"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${St.lastButton},& .${St.middleButton}`]:{borderTopLeftRadius:0,borderBottomLeftRadius:0}}},{props:{variant:"text",orientation:"horizontal"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderRight:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${St.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},{props:{variant:"text",orientation:"vertical"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderBottom:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${St.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},...Object.entries(t.palette).filter(Ft()).flatMap(([e])=>[{props:{variant:"text",color:e},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.5)`:Tt(t.palette[e].main,.5)}}}]),{props:{variant:"outlined",orientation:"horizontal"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderRightColor:"transparent","&:hover":{borderRightColor:"currentColor"}},[`& .${St.lastButton},& .${St.middleButton}`]:{marginLeft:-1}}},{props:{variant:"outlined",orientation:"vertical"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderBottomColor:"transparent","&:hover":{borderBottomColor:"currentColor"}},[`& .${St.lastButton},& .${St.middleButton}`]:{marginTop:-1}}},{props:{variant:"contained",orientation:"horizontal"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderRight:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${St.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},{props:{variant:"contained",orientation:"vertical"},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderBottom:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${St.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}}}},...Object.entries(t.palette).filter(Ft(["dark"])).map(([e])=>({props:{variant:"contained",color:e},style:{[`& .${St.firstButton},& .${St.middleButton}`]:{borderColor:(t.vars||t).palette[e].dark}}}))],[`& .${St.grouped}`]:{minWidth:40,boxShadow:"none",props:{variant:"contained"},style:{"&:hover":{boxShadow:"none"}}}}))),Ym=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiButtonGroup"}),{children:n,className:s,color:a="primary",component:i="div",disabled:l=!1,disableElevation:c=!1,disableFocusRipple:p=!1,disableRipple:f=!1,fullWidth:v=!1,orientation:m="horizontal",size:y="medium",variant:g="outlined",...h}=r,b={...r,color:a,component:i,disabled:l,disableElevation:c,disableFocusRipple:p,disableRipple:f,fullWidth:v,orientation:m,size:y,variant:g},x=Dl(b),C=u.useMemo(()=>({className:x.grouped,color:a,disabled:l,disableElevation:c,disableFocusRipple:p,disableRipple:f,fullWidth:v,size:y,variant:g}),[a,l,c,p,f,v,y,g,x.grouped]),R=Mn(n),P=R.length,N=$=>{const A=$===0,k=$===P-1;return A&&k?"":A?x.firstButton:k?x.lastButton:x.middleButton};return d.jsx(El,{as:i,role:"group",className:j(x.root,s),ref:o,ownerState:b,...h,children:d.jsx(Ls.Provider,{value:C,children:R.map(($,A)=>d.jsx(Bs.Provider,{value:N(A),children:$},A))})})});function Fl(t){return K("MuiCard",t)}const Km=Z("MuiCard",["root"]),Ul=t=>{const{classes:e}=t;return q({root:["root"]},Fl,e)},Wl=S(we,{name:"MuiCard",slot:"Root",overridesResolver:(t,e)=>e.root})({overflow:"hidden"}),Zm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCard"}),{className:n,raised:s=!1,...a}=r,i={...r,raised:s},l=Ul(i);return d.jsx(Wl,{className:j(l.root,n),elevation:s?8:void 0,ref:o,ownerState:i,...a})});function Hl(t){return K("MuiCardActionArea",t)}const pr=Z("MuiCardActionArea",["root","focusVisible","focusHighlight"]),Vl=t=>{const{classes:e}=t;return q({root:["root"],focusHighlight:["focusHighlight"]},Hl,e)},Gl=S(fe,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",[`&:hover .${pr.focusHighlight}`]:{opacity:(t.vars||t).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${pr.focusVisible} .${pr.focusHighlight}`]:{opacity:(t.vars||t).palette.action.focusOpacity}}))),_l=S("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(t,e)=>e.focusHighlight})(U(({theme:t})=>({overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:t.transitions.create("opacity",{duration:t.transitions.duration.short})}))),Jm=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardActionArea"}),{children:n,className:s,focusVisibleClassName:a,slots:i={},slotProps:l={},...c}=r,p=r,f=Vl(p),v={slots:i,slotProps:l},[m,y]=V("root",{elementType:Gl,externalForwardedProps:{...v,...c},shouldForwardComponentProp:!0,ownerState:p,ref:o,className:j(f.root,s),additionalProps:{focusVisibleClassName:j(a,f.focusVisible)}}),[g,h]=V("focusHighlight",{elementType:_l,externalForwardedProps:v,ownerState:p,ref:o,className:f.focusHighlight});return d.jsxs(m,{...y,children:[n,d.jsx(g,{...h})]})});function ql(t){return K("MuiCardActions",t)}const Qm=Z("MuiCardActions",["root","spacing"]),Xl=t=>{const{classes:e,disableSpacing:o}=t;return q({root:["root",!o&&"spacing"]},ql,e)},Yl=S("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableSpacing&&e.spacing]}})({display:"flex",alignItems:"center",padding:8,variants:[{props:{disableSpacing:!1},style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),tb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardActions"}),{disableSpacing:n=!1,className:s,...a}=r,i={...r,disableSpacing:n},l=Xl(i);return d.jsx(Yl,{className:j(l.root,s),ownerState:i,ref:o,...a})});function Kl(t){return K("MuiCardContent",t)}const eb=Z("MuiCardContent",["root"]),Zl=t=>{const{classes:e}=t;return q({root:["root"]},Kl,e)},Jl=S("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:16,"&:last-child":{paddingBottom:24}}),ob=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardContent"}),{className:n,component:s="div",...a}=r,i={...r,component:s},l=Zl(i);return d.jsx(Jl,{as:s,className:j(l.root,n),ownerState:i,ref:o,...a})});function Ql(t){return K("MuiCardHeader",t)}const _o=Z("MuiCardHeader",["root","avatar","action","content","title","subheader"]),tc=t=>{const{classes:e}=t;return q({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},Ql,e)},ec=S("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(t,e)=>[{[`& .${_o.title}`]:e.title},{[`& .${_o.subheader}`]:e.subheader},e.root]})({display:"flex",alignItems:"center",padding:16}),oc=S("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(t,e)=>e.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),rc=S("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(t,e)=>e.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),nc=S("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(t,e)=>e.content})({flex:"1 1 auto",[`.${Vo.root}:where(& .${_o.title})`]:{display:"block"},[`.${Vo.root}:where(& .${_o.subheader})`]:{display:"block"}}),rb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardHeader"}),{action:n,avatar:s,component:a="div",disableTypography:i=!1,subheader:l,subheaderTypographyProps:c,title:p,titleTypographyProps:f,slots:v={},slotProps:m={},...y}=r,g={...r,component:a,disableTypography:i},h=tc(g),b={slots:v,slotProps:{title:f,subheader:c,...m}};let x=p;const[C,R]=V("title",{className:h.title,elementType:re,externalForwardedProps:b,ownerState:g,additionalProps:{variant:s?"body2":"h5",component:"span"}});x!=null&&x.type!==re&&!i&&(x=d.jsx(C,{...R,children:x}));let P=l;const[N,$]=V("subheader",{className:h.subheader,elementType:re,externalForwardedProps:b,ownerState:g,additionalProps:{variant:s?"body2":"body1",color:"textSecondary",component:"span"}});P!=null&&P.type!==re&&!i&&(P=d.jsx(N,{...$,children:P}));const[A,k]=V("root",{ref:o,className:h.root,elementType:ec,externalForwardedProps:{...b,...y,component:a},ownerState:g}),[I,F]=V("avatar",{className:h.avatar,elementType:oc,externalForwardedProps:b,ownerState:g}),[L,w]=V("content",{className:h.content,elementType:nc,externalForwardedProps:b,ownerState:g}),[M,H]=V("action",{className:h.action,elementType:rc,externalForwardedProps:b,ownerState:g});return d.jsxs(A,{...k,children:[s&&d.jsx(I,{...F,children:s}),d.jsxs(L,{...w,children:[x,P]}),n&&d.jsx(M,{...H,children:n})]})});function sc(t){return K("MuiCardMedia",t)}const nb=Z("MuiCardMedia",["root","media","img"]),ac=t=>{const{classes:e,isMediaComponent:o,isImageComponent:r}=t;return q({root:["root",o&&"media",r&&"img"]},sc,e)},ic=S("div",{name:"MuiCardMedia",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{isMediaComponent:r,isImageComponent:n}=o;return[e.root,r&&e.media,n&&e.img]}})({display:"block",backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",variants:[{props:{isMediaComponent:!0},style:{width:"100%"}},{props:{isImageComponent:!0},style:{objectFit:"cover"}}]}),lc=["video","audio","picture","iframe","img"],cc=["picture","img"],sb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCardMedia"}),{children:n,className:s,component:a="div",image:i,src:l,style:c,...p}=r,f=lc.includes(a),v=!f&&i?{backgroundImage:`url("${i}")`,...c}:c,m={...r,component:a,isMediaComponent:f,isImageComponent:cc.includes(a)},y=ac(m);return d.jsx(ic,{className:j(y.root,s),as:a,role:!f&&i?"img":void 0,ref:o,style:v,ownerState:m,src:f?i||l:void 0,...p,children:n})});function pc(t){return K("PrivateSwitchBase",t)}Z("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const dc=t=>{const{classes:e,checked:o,disabled:r,edge:n}=t,s={root:["root",o&&"checked",r&&"disabled",n&&`edge${T(n)}`],input:["input"]};return q(s,pc,e)},uc=S(fe)({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:t,ownerState:e})=>t==="start"&&e.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:t,ownerState:e})=>t==="end"&&e.size!=="small",style:{marginRight:-12}}]}),fc=S("input",{shouldForwardProp:Se})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),Nr=u.forwardRef(function(e,o){const{autoFocus:r,checked:n,checkedIcon:s,defaultChecked:a,disabled:i,disableFocusRipple:l=!1,edge:c=!1,icon:p,id:f,inputProps:v,inputRef:m,name:y,onBlur:g,onChange:h,onFocus:b,readOnly:x,required:C=!1,tabIndex:R,type:P,value:N,slots:$={},slotProps:A={},...k}=e,[I,F]=ue({controlled:n,default:!!a,name:"SwitchBase",state:"checked"}),L=xo(),w=lt=>{b&&b(lt),L&&L.onFocus&&L.onFocus(lt)},M=lt=>{g&&g(lt),L&&L.onBlur&&L.onBlur(lt)},H=lt=>{if(lt.nativeEvent.defaultPrevented)return;const rt=lt.target.checked;F(rt),h&&h(lt,rt)};let z=i;L&&typeof z>"u"&&(z=L.disabled);const Q=P==="checkbox"||P==="radio",D={...e,checked:I,disabled:z,disableFocusRipple:l,edge:c},et=dc(D),pt={slots:$,slotProps:{input:v,...A}},[_,wt]=V("root",{ref:o,elementType:uc,className:et.root,shouldForwardComponentProp:!0,externalForwardedProps:{...pt,component:"span",...k},getSlotProps:lt=>({...lt,onFocus:rt=>{var W;(W=lt.onFocus)==null||W.call(lt,rt),w(rt)},onBlur:rt=>{var W;(W=lt.onBlur)==null||W.call(lt,rt),M(rt)}}),ownerState:D,additionalProps:{centerRipple:!0,focusRipple:!l,disabled:z,role:void 0,tabIndex:null}}),[Lt,Rt]=V("input",{ref:m,elementType:fc,className:et.input,externalForwardedProps:pt,getSlotProps:lt=>({onChange:rt=>{var W;(W=lt.onChange)==null||W.call(lt,rt),H(rt)}}),ownerState:D,additionalProps:{autoFocus:r,checked:n,defaultChecked:a,disabled:z,id:Q?f:void 0,name:y,readOnly:x,required:C,tabIndex:R,type:P,...P==="checkbox"&&N===void 0?{}:{value:N}}});return d.jsxs(_,{...wt,children:[d.jsx(Lt,{...Rt}),I?s:p]})}),gc=Ht(d.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"),mc=Ht(d.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"),bc=Ht(d.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 vc(t){return K("MuiCheckbox",t)}const dr=Z("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),yc=t=>{const{classes:e,indeterminate:o,color:r,size:n}=t,s={root:["root",o&&"indeterminate",`color${T(r)}`,`size${T(n)}`]},a=q(s,vc,e);return{...e,...a}},hc=S(Nr,{shouldForwardProp:t=>Se(t)||t==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.indeterminate&&e.indeterminate,e[`size${T(o.size)}`],o.color!=="default"&&e[`color${T(o.color)}`]]}})(U(({theme:t})=>({color:(t.vars||t).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette.action.active,t.palette.action.hoverOpacity)}}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette[e].main,t.palette.action.hoverOpacity)}}})),...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{[`&.${dr.checked}, &.${dr.indeterminate}`]:{color:(t.vars||t).palette[e].main},[`&.${dr.disabled}`]:{color:(t.vars||t).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),xc=d.jsx(mc,{}),Cc=d.jsx(gc,{}),Sc=d.jsx(bc,{}),ab=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiCheckbox"}),{checkedIcon:n=xc,color:s="primary",icon:a=Cc,indeterminate:i=!1,indeterminateIcon:l=Sc,inputProps:c,size:p="medium",disableRipple:f=!1,className:v,slots:m={},slotProps:y={},...g}=r,h=i?l:a,b=i?l:n,x={...r,disableRipple:f,color:s,indeterminate:i,size:p},C=yc(x),R=y.input??c,[P,N]=V("root",{ref:o,elementType:hc,className:j(C.root,v),shouldForwardComponentProp:!0,externalForwardedProps:{slots:m,slotProps:y,...g},ownerState:x,additionalProps:{type:"checkbox",icon:u.cloneElement(h,{fontSize:h.props.fontSize??p}),checkedIcon:u.cloneElement(b,{fontSize:b.props.fontSize??p}),disableRipple:f,slots:m,slotProps:{input:bo(typeof R=="function"?R(x):R,{"data-indeterminate":i})}}});return d.jsx(P,{...N,classes:C})});function Jr(t){return t.substring(2).toLowerCase()}function wc(t,e){return e.documentElement.clientWidth(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const p=ge(Zo(e),i),f=ne(y=>{const g=c.current;c.current=!1;const h=de(i.current);if(!l.current||!i.current||"clientX"in y&&wc(y,h))return;if(a.current){a.current=!1;return}let b;y.composedPath?b=y.composedPath().includes(i.current):b=!h.documentElement.contains(y.target)||i.current.contains(y.target),!b&&(o||!g)&&n(y)}),v=y=>g=>{c.current=!0;const h=e.props[y];h&&h(g)},m={ref:p};return s!==!1&&(m[s]=v(s)),u.useEffect(()=>{if(s!==!1){const y=Jr(s),g=de(i.current),h=()=>{a.current=!0};return g.addEventListener(y,f),g.addEventListener("touchmove",h),()=>{g.removeEventListener(y,f),g.removeEventListener("touchmove",h)}}},[f,s]),r!==!1&&(m[r]=v(r)),u.useEffect(()=>{if(r!==!1){const y=Jr(r),g=de(i.current);return g.addEventListener(y,f),()=>{g.removeEventListener(y,f)}}},[f,r]),u.cloneElement(e,m)}const ib=sa({createStyledComponent:S("div",{name:"MuiContainer",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`maxWidth${T(String(o.maxWidth))}`],o.fixed&&e.fixed,o.disableGutters&&e.disableGutters]}}),useThemeProps:t=>X({props:t,name:"MuiContainer"})});function lb(t){return K("MuiContainer",t)}const cb=Z("MuiContainer",["root","disableGutters","fixed","maxWidthXs","maxWidthSm","maxWidthMd","maxWidthLg","maxWidthXl"]),xr=typeof Tn({})=="function",Nn=(t,e)=>({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%",...e&&!t.vars&&{colorScheme:t.palette.mode}}),On=t=>({color:(t.vars||t).palette.text.primary,...t.typography.body1,backgroundColor:(t.vars||t).palette.background.default,"@media print":{backgroundColor:(t.vars||t).palette.common.white}}),zn=(t,e=!1)=>{var s,a;const o={};e&&t.colorSchemes&&typeof t.getColorSchemeSelector=="function"&&Object.entries(t.colorSchemes).forEach(([i,l])=>{var p,f;const c=t.getColorSchemeSelector(i);c.startsWith("@")?o[c]={":root":{colorScheme:(p=l.palette)==null?void 0:p.mode}}:o[c.replace(/\s*&/,"")]={colorScheme:(f=l.palette)==null?void 0:f.mode}});let r={html:Nn(t,e),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:t.typography.fontWeightBold},body:{margin:0,...On(t),"&::backdrop":{backgroundColor:(t.vars||t).palette.background.default}},...o};const n=(a=(s=t.components)==null?void 0:s.MuiCssBaseline)==null?void 0:a.styleOverrides;return n&&(r=[r,n]),r},Wo="mui-ecs",$c=t=>{const e=zn(t,!1),o=Array.isArray(e)?e[0]:e;return!t.vars&&o&&(o.html[`:root:has(${Wo})`]={colorScheme:t.palette.mode}),t.colorSchemes&&Object.entries(t.colorSchemes).forEach(([r,n])=>{var a,i;const s=t.getColorSchemeSelector(r);s.startsWith("@")?o[s]={[`:root:not(:has(.${Wo}))`]:{colorScheme:(a=n.palette)==null?void 0:a.mode}}:o[s.replace(/\s*&/,"")]={[`&:not(:has(.${Wo}))`]:{colorScheme:(i=n.palette)==null?void 0:i.mode}}}),e},Pc=Tn(xr?({theme:t,enableColorScheme:e})=>zn(t,e):({theme:t})=>$c(t));function pb(t){const e=X({props:t,name:"MuiCssBaseline"}),{children:o,enableColorScheme:r=!1}=e;return d.jsxs(u.Fragment,{children:[xr&&d.jsx(Pc,{enableColorScheme:r}),!xr&&!r&&d.jsx("span",{className:Wo,style:{display:"none"}}),o]})}const kc={track:"#2b2b2b",thumb:"#6b6b6b",active:"#959595"};function db(t=kc){return{scrollbarColor:`${t.thumb} ${t.track}`,"&::-webkit-scrollbar, & *::-webkit-scrollbar":{backgroundColor:t.track},"&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb":{borderRadius:8,backgroundColor:t.thumb,minHeight:24,border:`3px solid ${t.track}`},"&::-webkit-scrollbar-thumb:focus, & *::-webkit-scrollbar-thumb:focus":{backgroundColor:t.active},"&::-webkit-scrollbar-thumb:active, & *::-webkit-scrollbar-thumb:active":{backgroundColor:t.active},"&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover":{backgroundColor:t.active},"&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner":{backgroundColor:t.track}}}function Tc(t){return K("MuiDialogContentText",t)}const ub=Z("MuiDialogContentText",["root"]),Ic=t=>{const{classes:e}=t,r=q({root:["root"]},Tc,e);return{...e,...r}},Mc=S(re,{shouldForwardProp:t=>Se(t)||t==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(t,e)=>e.root})({}),fb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiDialogContentText"}),{children:n,className:s,...a}=r,i=Ic(a);return d.jsx(Mc,{component:"p",variant:"body1",color:"textSecondary",ref:o,ownerState:a,className:j(i.root,s),...r,classes:i})}),Ac=t=>{const{classes:e}=t;return q({root:["root"]},Os,e)},Lc=S(re,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(t,e)=>e.root})({padding:"16px 24px",flex:"0 0 auto"}),gb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiDialogTitle"}),{className:n,id:s,...a}=r,i=r,l=Ac(i),{titleId:c=s}=u.useContext(Ns);return d.jsx(Lc,{component:"h2",className:j(l.root,n),ownerState:i,ref:o,variant:"h6",id:s??c,...a})});function Bc(t,e,o){const r=e.getBoundingClientRect(),n=o&&o.getBoundingClientRect(),s=Xe(e);let a;if(e.fakeTransform)a=e.fakeTransform;else{const c=s.getComputedStyle(e);a=c.getPropertyValue("-webkit-transform")||c.getPropertyValue("transform")}let i=0,l=0;if(a&&a!=="none"&&typeof a=="string"){const c=a.split("(")[1].split(")")[0].split(",");i=parseInt(c[4],10),l=parseInt(c[5],10)}return t==="left"?n?`translateX(${n.right+i-r.left}px)`:`translateX(${s.innerWidth+i-r.left}px)`:t==="right"?n?`translateX(-${r.right-n.left-i}px)`:`translateX(-${r.left+r.width-i}px)`:t==="up"?n?`translateY(${n.bottom+l-r.top}px)`:`translateY(${s.innerHeight+l-r.top}px)`:n?`translateY(-${r.top-n.top+r.height-l}px)`:`translateY(-${r.top+r.height-l}px)`}function Nc(t){return typeof t=="function"?t():t}function Io(t,e,o){const r=Nc(o),n=Bc(t,e,r);n&&(e.style.webkitTransform=n,e.style.transform=n)}const Oc=u.forwardRef(function(e,o){const r=se(),n={enter:r.transitions.easing.easeOut,exit:r.transitions.easing.sharp},s={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:a,appear:i=!0,children:l,container:c,direction:p="down",easing:f=n,in:v,onEnter:m,onEntered:y,onEntering:g,onExit:h,onExited:b,onExiting:x,style:C,timeout:R=s,TransitionComponent:P=Tr,...N}=e,$=u.useRef(null),A=ge(Zo(l),$,o),k=D=>et=>{D&&(et===void 0?D($.current):D($.current,et))},I=k((D,et)=>{Io(p,D,c),$n(D),m&&m(D,et)}),F=k((D,et)=>{const pt=Fe({timeout:R,style:C,easing:f},{mode:"enter"});D.style.webkitTransition=r.transitions.create("-webkit-transform",{...pt}),D.style.transition=r.transitions.create("transform",{...pt}),D.style.webkitTransform="none",D.style.transform="none",g&&g(D,et)}),L=k(y),w=k(x),M=k(D=>{const et=Fe({timeout:R,style:C,easing:f},{mode:"exit"});D.style.webkitTransition=r.transitions.create("-webkit-transform",et),D.style.transition=r.transitions.create("transform",et),Io(p,D,c),h&&h(D)}),H=k(D=>{D.style.webkitTransition="",D.style.transition="",b&&b(D)}),z=D=>{a&&a($.current,D)},Q=u.useCallback(()=>{$.current&&Io(p,$.current,c)},[p,c]);return u.useEffect(()=>{if(v||p==="down"||p==="right")return;const D=Xs(()=>{$.current&&Io(p,$.current,c)}),et=Xe($.current);return et.addEventListener("resize",D),()=>{D.clear(),et.removeEventListener("resize",D)}},[p,v,c]),u.useEffect(()=>{v||Q()},[v,Q]),d.jsx(P,{nodeRef:$,onEnter:I,onEntered:L,onEntering:F,onExit:M,onExited:H,onExiting:w,addEndListener:z,appear:i,in:v,timeout:R,...N,children:(D,{ownerState:et,...pt})=>u.cloneElement(l,{ref:A,style:{visibility:D==="exited"&&!v?"hidden":void 0,...C,...l.props.style},...pt})})});function zc(t){return K("MuiDrawer",t)}const mb=Z("MuiDrawer",["root","docked","paper","anchorLeft","anchorRight","anchorTop","anchorBottom","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]),jn=(t,e)=>{const{ownerState:o}=t;return[e.root,(o.variant==="permanent"||o.variant==="persistent")&&e.docked,e.modal]},jc=t=>{const{classes:e,anchor:o,variant:r}=t,n={root:["root",`anchor${T(o)}`],docked:[(r==="permanent"||r==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${T(o)}`,r!=="temporary"&&`paperAnchorDocked${T(o)}`]};return q(n,zc,e)},Dc=S(zs,{name:"MuiDrawer",slot:"Root",overridesResolver:jn})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.drawer}))),Ec=S("div",{shouldForwardProp:Se,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:jn})({flex:"0 0 auto"}),Fc=S(we,{name:"MuiDrawer",slot:"Paper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.paper,e[`paperAnchor${T(o.anchor)}`],o.variant!=="temporary"&&e[`paperAnchorDocked${T(o.anchor)}`]]}})(U(({theme:t})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(t.vars||t).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,variants:[{props:{anchor:"left"},style:{left:0}},{props:{anchor:"top"},style:{top:0,left:0,right:0,height:"auto",maxHeight:"100%"}},{props:{anchor:"right"},style:{right:0}},{props:{anchor:"bottom"},style:{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"}},{props:({ownerState:e})=>e.anchor==="left"&&e.variant!=="temporary",style:{borderRight:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="top"&&e.variant!=="temporary",style:{borderBottom:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="right"&&e.variant!=="temporary",style:{borderLeft:`1px solid ${(t.vars||t).palette.divider}`}},{props:({ownerState:e})=>e.anchor==="bottom"&&e.variant!=="temporary",style:{borderTop:`1px solid ${(t.vars||t).palette.divider}`}}]}))),Dn={left:"right",right:"left",top:"down",bottom:"up"};function Be(t){return["left","right"].includes(t)}function co({direction:t},e){return t==="rtl"&&Be(e)?Dn[e]:e}const Uc=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiDrawer"}),n=se(),s=We(),a={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{anchor:i="left",BackdropProps:l,children:c,className:p,elevation:f=16,hideBackdrop:v=!1,ModalProps:{BackdropProps:m,...y}={},onClose:g,open:h=!1,PaperProps:b={},SlideProps:x,TransitionComponent:C,transitionDuration:R=a,variant:P="temporary",slots:N={},slotProps:$={},...A}=r,k=u.useRef(!1);u.useEffect(()=>{k.current=!0},[]);const I=co({direction:s?"rtl":"ltr"},i),L={...r,anchor:i,elevation:f,open:h,variant:P,...A},w=jc(L),M={slots:{transition:C,...N},slotProps:{paper:b,transition:x,...$,backdrop:bo($.backdrop||{...l,...m},{transitionDuration:R})}},[H,z]=V("root",{ref:o,elementType:Dc,className:j(w.root,w.modal,p),shouldForwardComponentProp:!0,ownerState:L,externalForwardedProps:{...M,...A,...y},additionalProps:{open:h,onClose:g,hideBackdrop:v,slots:{backdrop:M.slots.backdrop},slotProps:{backdrop:M.slotProps.backdrop}}}),[Q,D]=V("paper",{elementType:Fc,shouldForwardComponentProp:!0,className:j(w.paper,b.className),ownerState:L,externalForwardedProps:M,additionalProps:{elevation:P==="temporary"?f:0,square:!0}}),[et,pt]=V("docked",{elementType:Ec,ref:o,className:j(w.root,w.docked,p),ownerState:L,externalForwardedProps:M,additionalProps:A}),[_,wt]=V("transition",{elementType:Oc,ownerState:L,externalForwardedProps:M,additionalProps:{in:h,direction:Dn[I],timeout:R,appear:k.current}}),Lt=d.jsx(Q,{...D,children:c});if(P==="permanent")return d.jsx(et,{...pt,children:Lt});const Rt=d.jsx(_,{...wt,children:Lt});return P==="persistent"?d.jsx(et,{...pt,children:Rt}):d.jsx(H,{...z,children:Rt})});function Wc(t){return K("MuiFab",t)}const Qr=Z("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),Hc=t=>{const{color:e,variant:o,classes:r,size:n}=t,s={root:["root",o,`size${T(n)}`,e==="inherit"?"colorInherit":e]},a=q(s,Wc,r);return{...r,...a}},Vc=S(fe,{name:"MuiFab",slot:"Root",shouldForwardProp:t=>Se(t)||t==="classes",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${T(o.size)}`],o.color==="inherit"&&e.colorInherit,e[T(o.size)],e[o.color]]}})(U(({theme:t})=>{var e,o;return{...t.typography.button,minHeight:36,transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(t.vars||t).zIndex.fab,boxShadow:(t.vars||t).shadows[6],"&:active":{boxShadow:(t.vars||t).shadows[12]},color:t.vars?t.vars.palette.text.primary:(o=(e=t.palette).getContrastText)==null?void 0:o.call(e,t.palette.grey[300]),backgroundColor:(t.vars||t).palette.grey[300],"&:hover":{backgroundColor:(t.vars||t).palette.grey.A100,"@media (hover: none)":{backgroundColor:(t.vars||t).palette.grey[300]},textDecoration:"none"},[`&.${Qr.focusVisible}`]:{boxShadow:(t.vars||t).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"}}]}}),U(({theme:t})=>({variants:[...Object.entries(t.palette).filter(Ft(["dark","contrastText"])).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].contrastText,backgroundColor:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:(t.vars||t).palette[e].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[e].main}}}}))]})),U(({theme:t})=>({[`&.${Qr.disabled}`]:{color:(t.vars||t).palette.action.disabled,boxShadow:(t.vars||t).shadows[0],backgroundColor:(t.vars||t).palette.action.disabledBackground}}))),En=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiFab"}),{children:n,className:s,color:a="default",component:i="button",disabled:l=!1,disableFocusRipple:c=!1,focusVisibleClassName:p,size:f="large",variant:v="circular",...m}=r,y={...r,color:a,component:i,disabled:l,disableFocusRipple:c,size:f,variant:v},g=Hc(y);return d.jsx(Vc,{className:j(g.root,s),component:i,disabled:l,focusRipple:!c,focusVisibleClassName:j(g.focusVisible,p),ownerState:y,ref:o,...m,classes:g,children:n})});function Gc(t){return K("MuiFormControlLabel",t)}const po=Z("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),_c=t=>{const{classes:e,disabled:o,labelPlacement:r,error:n,required:s}=t,a={root:["root",o&&"disabled",`labelPlacement${T(r)}`,n&&"error",s&&"required"],label:["label",o&&"disabled"],asterisk:["asterisk",n&&"error"]};return q(a,Gc,e)},qc=S("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${po.label}`]:e.label},e.root,e[`labelPlacement${T(o.labelPlacement)}`]]}})(U(({theme:t})=>({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${po.disabled}`]:{cursor:"default"},[`& .${po.label}`]:{[`&.${po.disabled}`]:{color:(t.vars||t).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:e})=>e==="start"||e==="top"||e==="bottom",style:{marginLeft:16}}]}))),Xc=S("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(t,e)=>e.asterisk})(U(({theme:t})=>({[`&.${po.error}`]:{color:(t.vars||t).palette.error.main}}))),bb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiFormControlLabel"}),{checked:n,className:s,componentsProps:a={},control:i,disabled:l,disableTypography:c,inputRef:p,label:f,labelPlacement:v="end",name:m,onChange:y,required:g,slots:h={},slotProps:b={},value:x,...C}=r,R=xo(),P=l??i.props.disabled??(R==null?void 0:R.disabled),N=g??i.props.required,$={disabled:P,required:N};["checked","name","onChange","value","inputRef"].forEach(H=>{typeof i.props[H]>"u"&&typeof r[H]<"u"&&($[H]=r[H])});const A=Ir({props:r,muiFormControl:R,states:["error"]}),k={...r,disabled:P,labelPlacement:v,required:N,error:A.error},I=_c(k),F={slots:h,slotProps:{...a,...b}},[L,w]=V("typography",{elementType:re,externalForwardedProps:F,ownerState:k});let M=f;return M!=null&&M.type!==re&&!c&&(M=d.jsx(L,{component:"span",...w,className:j(I.label,w==null?void 0:w.className),children:M})),d.jsxs(qc,{className:j(I.root,s),ownerState:k,ref:o,...C,children:[u.cloneElement(i,$),N?d.jsxs("div",{children:[M,d.jsxs(Xc,{ownerState:k,"aria-hidden":!0,className:I.asterisk,children:[" ","*"]})]}):M]})});function Yc(t){return K("MuiFormGroup",t)}const vb=Z("MuiFormGroup",["root","row","error"]),Kc=t=>{const{classes:e,row:o,error:r}=t;return q({root:["root",o&&"row",r&&"error"]},Yc,e)},Zc=S("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.row&&e.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),Jc=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiFormGroup"}),{className:n,row:s=!1,...a}=r,i=xo(),l=Ir({props:r,muiFormControl:i,states:["error"]}),c={...r,row:s,error:l.error},p=Kc(c);return d.jsx(Zc,{className:j(p.root,n),ownerState:c,ref:o,...a})}),tn=u.createContext();function Qc(t){return K("MuiGrid",t)}const tp=[0,1,2,3,4,5,6,7,8,9,10],ep=["column-reverse","column","row-reverse","row"],op=["nowrap","wrap-reverse","wrap"],ro=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],yo=Z("MuiGrid",["root","container","item","zeroMinWidth",...tp.map(t=>`spacing-xs-${t}`),...ep.map(t=>`direction-xs-${t}`),...op.map(t=>`wrap-xs-${t}`),...ro.map(t=>`grid-xs-${t}`),...ro.map(t=>`grid-sm-${t}`),...ro.map(t=>`grid-md-${t}`),...ro.map(t=>`grid-lg-${t}`),...ro.map(t=>`grid-xl-${t}`)]);function rp({theme:t,ownerState:e}){let o;return t.breakpoints.keys.reduce((r,n)=>{let s={};if(e[n]&&(o=e[n]),!o)return r;if(o===!0)s={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(o==="auto")s={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const a=je({values:e.columns,breakpoints:t.breakpoints.values}),i=typeof a=="object"?a[n]:a;if(i==null)return r;const l=`${Math.round(o/i*1e8)/1e6}%`;let c={};if(e.container&&e.item&&e.columnSpacing!==0){const p=t.spacing(e.columnSpacing);if(p!=="0px"){const f=`calc(${l} + ${p})`;c={flexBasis:f,maxWidth:f}}}s={flexBasis:l,flexGrow:0,maxWidth:l,...c}}return t.breakpoints.values[n]===0?Object.assign(r,s):r[t.breakpoints.up(n)]=s,r},{})}function np({theme:t,ownerState:e}){const o=je({values:e.direction,breakpoints:t.breakpoints.values});return go({theme:t},o,r=>{const n={flexDirection:r};return r.startsWith("column")&&(n[`& > .${yo.item}`]={maxWidth:"none"}),n})}function Fn({breakpoints:t,values:e}){let o="";Object.keys(e).forEach(n=>{o===""&&e[n]!==0&&(o=n)});const r=Object.keys(t).sort((n,s)=>t[n]-t[s]);return r.slice(0,r.indexOf(o))}function sp({theme:t,ownerState:e}){const{container:o,rowSpacing:r}=e;let n={};if(o&&r!==0){const s=je({values:r,breakpoints:t.breakpoints.values});let a;typeof s=="object"&&(a=Fn({breakpoints:t.breakpoints.values,values:s})),n=go({theme:t},s,(i,l)=>{const c=t.spacing(i);return c!=="0px"?{marginTop:`calc(-1 * ${c})`,[`& > .${yo.item}`]:{paddingTop:c}}:a!=null&&a.includes(l)?{}:{marginTop:0,[`& > .${yo.item}`]:{paddingTop:0}}})}return n}function ap({theme:t,ownerState:e}){const{container:o,columnSpacing:r}=e;let n={};if(o&&r!==0){const s=je({values:r,breakpoints:t.breakpoints.values});let a;typeof s=="object"&&(a=Fn({breakpoints:t.breakpoints.values,values:s})),n=go({theme:t},s,(i,l)=>{const c=t.spacing(i);if(c!=="0px"){const p=`calc(-1 * ${c})`;return{width:`calc(100% + ${c})`,marginLeft:p,[`& > .${yo.item}`]:{paddingLeft:c}}}return a!=null&&a.includes(l)?{}:{width:"100%",marginLeft:0,[`& > .${yo.item}`]:{paddingLeft:0}}})}return n}function ip(t,e,o={}){if(!t||t<=0)return[];if(typeof t=="string"&&!Number.isNaN(Number(t))||typeof t=="number")return[o[`spacing-xs-${String(t)}`]];const r=[];return e.forEach(n=>{const s=t[n];Number(s)>0&&r.push(o[`spacing-${n}-${String(s)}`])}),r}const lp=S("div",{name:"MuiGrid",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t,{container:r,direction:n,item:s,spacing:a,wrap:i,zeroMinWidth:l,breakpoints:c}=o;let p=[];r&&(p=ip(a,c,e));const f=[];return c.forEach(v=>{const m=o[v];m&&f.push(e[`grid-${v}-${String(m)}`])}),[e.root,r&&e.container,s&&e.item,l&&e.zeroMinWidth,...p,n!=="row"&&e[`direction-xs-${String(n)}`],i!=="wrap"&&e[`wrap-xs-${String(i)}`],...f]}})(({ownerState:t})=>({boxSizing:"border-box",...t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},...t.item&&{margin:0},...t.zeroMinWidth&&{minWidth:0},...t.wrap!=="wrap"&&{flexWrap:t.wrap}}),np,sp,ap,rp);function cp(t,e){if(!t||t<=0)return[];if(typeof t=="string"&&!Number.isNaN(Number(t))||typeof t=="number")return[`spacing-xs-${String(t)}`];const o=[];return e.forEach(r=>{const n=t[r];if(Number(n)>0){const s=`spacing-${r}-${String(n)}`;o.push(s)}}),o}const pp=t=>{const{classes:e,container:o,direction:r,item:n,spacing:s,wrap:a,zeroMinWidth:i,breakpoints:l}=t;let c=[];o&&(c=cp(s,l));const p=[];l.forEach(v=>{const m=t[v];m&&p.push(`grid-${v}-${String(m)}`)});const f={root:["root",o&&"container",n&&"item",i&&"zeroMinWidth",...c,r!=="row"&&`direction-xs-${String(r)}`,a!=="wrap"&&`wrap-xs-${String(a)}`,...p]};return q(f,Qc,e)},yb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiGrid"}),{breakpoints:n}=se(),s=Jo(r),{className:a,columns:i,columnSpacing:l,component:c="div",container:p=!1,direction:f="row",item:v=!1,rowSpacing:m,spacing:y=0,wrap:g="wrap",zeroMinWidth:h=!1,...b}=s,x=m||y,C=l||y,R=u.useContext(tn),P=p?i||12:R,N={},$={...b};n.keys.forEach(I=>{b[I]!=null&&(N[I]=b[I],delete $[I])});const A={...s,columns:P,container:p,direction:f,item:v,rowSpacing:x,columnSpacing:C,wrap:g,zeroMinWidth:h,spacing:y,...N,breakpoints:n.keys},k=pp(A);return d.jsx(tn.Provider,{value:P,children:d.jsx(lp,{ownerState:A,className:j(k.root,a),as:c,ref:o,...$})})}),hb=Ca({createStyledComponent:S("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.container&&e.container]}}),componentName:"MuiGrid2",useThemeProps:t=>X({props:t,name:"MuiGrid2"}),useTheme:se});function xb(t){return K("MuiGrid2",t)}const dp=[0,1,2,3,4,5,6,7,8,9,10],up=["column-reverse","column","row-reverse","row"],fp=["nowrap","wrap-reverse","wrap"],no=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Cb=Z("MuiGrid2",["root","container",...dp.map(t=>`spacing-xs-${t}`),...up.map(t=>`direction-xs-${t}`),...fp.map(t=>`wrap-xs-${t}`),...no.map(t=>`grid-xs-${t}`),...no.map(t=>`grid-sm-${t}`),...no.map(t=>`grid-md-${t}`),...no.map(t=>`grid-lg-${t}`),...no.map(t=>`grid-xl-${t}`)]),ke=["xs","sm","md","lg","xl"],gp=(t,e,o=!0)=>o?ke.indexOf(t)<=ke.indexOf(e):ke.indexOf(t)o?ke.indexOf(e)<=ke.indexOf(t):ke.indexOf(e)e=>{const{withTheme:o=!1,noSSR:r=!1,initialWidth:n}=t;function s(a){const i=se(),l=a.theme||i,{initialWidth:c,width:p,...f}=js({theme:l,name:"MuiWithWidth",props:a}),[v,m]=u.useState(!1);Co(()=>{m(!0)},[]);const g=l.breakpoints.keys.slice().reverse().reduce((b,x)=>{const C=Ds(l.breakpoints.up(x));return!b&&C?x:b},null),h={width:p||(v||r?g:void 0)||c||n,...o?{theme:l}:{},...f};return h.width===void 0?null:d.jsx(e,{...h})}return s};function Un(t){const{children:e,only:o,width:r}=t,n=se();let s=!0;if(o)if(Array.isArray(o))for(let a=0;a{const{classes:e,breakpoints:o}=t,r={root:["root",...o.map(({breakpoint:n,dir:s})=>s==="only"?`${s}${T(n)}`:`${n}${T(s)}`)]};return q(r,yp,e)},xp=S("div",{name:"PrivateHiddenCss",slot:"Root"})(({theme:t,ownerState:e})=>{const o={display:"none"};return{...e.breakpoints.map(({breakpoint:r,dir:n})=>n==="only"?{[t.breakpoints.only(r)]:o}:n==="up"?{[t.breakpoints.up(r)]:o}:{[t.breakpoints.down(r)]:o}).reduce((r,n)=>(Object.keys(n).forEach(s=>{r[s]=n[s]}),r),{})}});function Cp(t){const{children:e,className:o,only:r,...n}=t,s=se(),a=[];for(let c=0;c{a.push({breakpoint:p,dir:"only"})});const i={...t,breakpoints:a},l=hp(i);return d.jsx(xp,{className:j(l.root,o),ownerState:i,children:e})}function Sb(t){const{implementation:e="js",lgDown:o=!1,lgUp:r=!1,mdDown:n=!1,mdUp:s=!1,smDown:a=!1,smUp:i=!1,xlDown:l=!1,xlUp:c=!1,xsDown:p=!1,xsUp:f=!1,...v}=t;return e==="js"?d.jsx(vp,{lgDown:o,lgUp:r,mdDown:n,mdUp:s,smDown:a,smUp:i,xlDown:l,xlUp:c,xsDown:p,xsUp:f,...v}):d.jsx(Cp,{lgDown:o,lgUp:r,mdDown:n,mdUp:s,smDown:a,smUp:i,xlDown:l,xlUp:c,xsDown:p,xsUp:f,...v})}function Sp(t){return K("MuiIcon",t)}const wb=Z("MuiIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]),wp=t=>{const{color:e,fontSize:o,classes:r}=t,n={root:["root",e!=="inherit"&&`color${T(e)}`,`fontSize${T(o)}`]};return q(n,Sp,r)},Rp=S("span",{name:"MuiIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.color!=="inherit"&&e[`color${T(o.color)}`],e[`fontSize${T(o.fontSize)}`]]}})(U(({theme:t})=>({userSelect:"none",width:"1em",height:"1em",overflow:"hidden",display:"inline-block",textAlign:"center",flexShrink:0,variants:[{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:t.typography.pxToRem(20)}},{props:{fontSize:"medium"},style:{fontSize:t.typography.pxToRem(24)}},{props:{fontSize:"large"},style:{fontSize:t.typography.pxToRem(36)}},{props:{color:"action"},style:{color:(t.vars||t).palette.action.active}},{props:{color:"disabled"},style:{color:(t.vars||t).palette.action.disabled}},{props:{color:"inherit"},style:{color:void 0}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}}))]}))),$p=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiIcon"}),{baseClassName:n="material-icons",className:s,color:a="inherit",component:i="span",fontSize:l="medium",...c}=r,p={...r,baseClassName:n,color:a,component:i,fontSize:l},f=wp(p);return d.jsx(Rp,{as:i,className:j(n,"notranslate",f.root,s),ownerState:p,"aria-hidden":!0,ref:o,...c})});$p.muiName="Icon";function Pp(t){return K("MuiImageList",t)}const Rb=Z("MuiImageList",["root","masonry","quilted","standard","woven"]),Wn=u.createContext({}),kp=t=>{const{classes:e,variant:o}=t;return q({root:["root",o]},Pp,e)},Tp=S("ul",{name:"MuiImageList",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant]]}})({display:"grid",overflowY:"auto",listStyle:"none",padding:0,WebkitOverflowScrolling:"touch",variants:[{props:{variant:"masonry"},style:{display:"block"}}]}),$b=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiImageList"}),{children:n,className:s,cols:a=2,component:i="ul",rowHeight:l="auto",gap:c=4,style:p,variant:f="standard",...v}=r,m=u.useMemo(()=>({rowHeight:l,gap:c,variant:f}),[l,c,f]),y=f==="masonry"?{columnCount:a,columnGap:c,...p}:{gridTemplateColumns:`repeat(${a}, 1fr)`,gap:c,...p},g={...r,component:i,gap:c,rowHeight:l,variant:f},h=kp(g);return d.jsx(Tp,{as:i,className:j(h.root,h[f],s),ref:o,style:y,ownerState:g,...v,children:d.jsx(Wn.Provider,{value:m,children:n})})});function Ip(t){return K("MuiImageListItem",t)}const ur=Z("MuiImageListItem",["root","img","standard","woven","masonry","quilted"]),Mp=t=>{const{classes:e,variant:o}=t;return q({root:["root",o],img:["img"]},Ip,e)},Ap=S("li",{name:"MuiImageListItem",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${ur.img}`]:e.img},e.root,e[o.variant]]}})({display:"block",position:"relative",[`& .${ur.img}`]:{objectFit:"cover",width:"100%",height:"100%",display:"block"},variants:[{props:{variant:"standard"},style:{display:"flex",flexDirection:"column"}},{props:{variant:"woven"},style:{height:"100%",alignSelf:"center","&:nth-of-type(even)":{height:"70%"}}},{props:{variant:"standard"},style:{[`& .${ur.img}`]:{height:"auto",flexGrow:1}}}]}),Pb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiImageListItem"}),{children:n,className:s,cols:a=1,component:i="li",rows:l=1,style:c,...p}=r,{rowHeight:f="auto",gap:v,variant:m}=u.useContext(Wn);let y="auto";m==="woven"?y=void 0:f!=="auto"&&(y=f*l+v*(l-1));const g={...r,cols:a,component:i,gap:v,rowHeight:f,rows:l,variant:m},h=Mp(g);return d.jsx(Ap,{as:i,className:j(h.root,h[m],s),ref:o,style:{height:y,gridColumnEnd:m!=="masonry"?`span ${a}`:void 0,gridRowEnd:m!=="masonry"?`span ${l}`:void 0,marginBottom:m==="masonry"?v:void 0,breakInside:m==="masonry"?"avoid":void 0,...c},ownerState:g,...p,children:u.Children.map(n,b=>u.isValidElement(b)?b.type==="img"||Yo(b,["Image"])?u.cloneElement(b,{className:j(h.img,b.props.className)}):b:null)})});function Lp(t){return K("MuiImageListItemBar",t)}const kb=Z("MuiImageListItemBar",["root","positionBottom","positionTop","positionBelow","actionPositionLeft","actionPositionRight","titleWrap","titleWrapBottom","titleWrapTop","titleWrapBelow","titleWrapActionPosLeft","titleWrapActionPosRight","title","subtitle","actionIcon","actionIconActionPosLeft","actionIconActionPosRight"]),Bp=t=>{const{classes:e,position:o,actionIcon:r,actionPosition:n}=t,s={root:["root",`position${T(o)}`,`actionPosition${T(n)}`],titleWrap:["titleWrap",`titleWrap${T(o)}`,r&&`titleWrapActionPos${T(n)}`],title:["title"],subtitle:["subtitle"],actionIcon:["actionIcon",`actionIconActionPos${T(n)}`]};return q(s,Lp,e)},Np=S("div",{name:"MuiImageListItemBar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${T(o.position)}`]]}})(U(({theme:t})=>({position:"absolute",left:0,right:0,background:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",fontFamily:t.typography.fontFamily,variants:[{props:{position:"bottom"},style:{bottom:0}},{props:{position:"top"},style:{top:0}},{props:{position:"below"},style:{position:"relative",background:"transparent",alignItems:"normal"}}]}))),Op=S("div",{name:"MuiImageListItemBar",slot:"TitleWrap",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.titleWrap,e[`titleWrap${T(o.position)}`],o.actionIcon&&e[`titleWrapActionPos${T(o.actionPosition)}`]]}})(U(({theme:t})=>({flexGrow:1,padding:"12px 16px",color:(t.vars||t).palette.common.white,overflow:"hidden",variants:[{props:{position:"below"},style:{padding:"6px 0 12px",color:"inherit"}},{props:({ownerState:e})=>e.actionIcon&&e.actionPosition==="left",style:{paddingLeft:0}},{props:({ownerState:e})=>e.actionIcon&&e.actionPosition==="right",style:{paddingRight:0}}]}))),zp=S("div",{name:"MuiImageListItemBar",slot:"Title",overridesResolver:(t,e)=>e.title})(U(({theme:t})=>({fontSize:t.typography.pxToRem(16),lineHeight:"24px",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),jp=S("div",{name:"MuiImageListItemBar",slot:"Subtitle",overridesResolver:(t,e)=>e.subtitle})(U(({theme:t})=>({fontSize:t.typography.pxToRem(12),lineHeight:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),Dp=S("div",{name:"MuiImageListItemBar",slot:"ActionIcon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.actionIcon,e[`actionIconActionPos${T(o.actionPosition)}`]]}})({variants:[{props:{actionPosition:"left"},style:{order:-1}}]}),Tb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiImageListItemBar"}),{actionIcon:n,actionPosition:s="right",className:a,subtitle:i,title:l,position:c="bottom",...p}=r,f={...r,position:c,actionPosition:s},v=Bp(f);return d.jsxs(Np,{ownerState:f,className:j(v.root,a),ref:o,...p,children:[d.jsxs(Op,{ownerState:f,className:v.titleWrap,children:[d.jsx(zp,{className:v.title,children:l}),i?d.jsx(jp,{className:v.subtitle,children:i}):null]}),n?d.jsx(Dp,{ownerState:f,className:v.actionIcon,children:n}):null]})});function Ep(t){return K("MuiLinearProgress",t)}const Ib=Z("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","bar1","bar2","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]),Cr=4,Sr=Ar` 0% { left: -35%; right: 100%; @@ -15,9 +15,9 @@ import{C as rs,b as ns,S as ss,s as as,c as T,d as kr,h as mo,e as De,f as is,g left: 100%; right: -90%; } -`,Fp=typeof wr!="string"?Ar` - animation: ${wr} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - `:null,Rr=Lr` +`,Fp=typeof Sr!="string"?Mr` + animation: ${Sr} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; + `:null,wr=Ar` 0% { left: -200%; right: 100%; @@ -32,9 +32,9 @@ import{C as rs,b as ns,S as ss,s as as,c as T,d as kr,h as mo,e as De,f as is,g left: 107%; right: -8%; } -`,Up=typeof Rr!="string"?Ar` - animation: ${Rr} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; - `:null,$r=Lr` +`,Up=typeof wr!="string"?Mr` + animation: ${wr} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; + `:null,Rr=Ar` 0% { opacity: 1; background-position: 0 -23px; @@ -49,7 +49,7 @@ import{C as rs,b as ns,S as ss,s as as,c as T,d as kr,h as mo,e as De,f as is,g opacity: 1; background-position: -200px -23px; } -`,Wp=typeof $r!="string"?Ar` - animation: ${$r} 3s infinite linear; - `:null,Hp=t=>{const{classes:e,variant:o,color:r}=t,n={root:["root",`color${T(r)}`,o],dashed:["dashed",`dashedColor${T(r)}`],bar1:["bar","bar1",`barColor${T(r)}`,(o==="indeterminate"||o==="query")&&"bar1Indeterminate",o==="determinate"&&"bar1Determinate",o==="buffer"&&"bar1Buffer"],bar2:["bar","bar2",o!=="buffer"&&`barColor${T(r)}`,o==="buffer"&&`color${T(r)}`,(o==="indeterminate"||o==="query")&&"bar2Indeterminate",o==="buffer"&&"bar2Buffer"]};return q(n,Ep,e)},zr=(t,e)=>t.vars?t.vars.palette.LinearProgress[`${e}Bg`]:t.palette.mode==="light"?Fe(t.palette[e].main,.62):Ee(t.palette[e].main,.5),Vp=S("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`color${T(o.color)}`],e[o.variant]]}})(U(({theme:t})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{backgroundColor:zr(t,e)}})),{props:({ownerState:e})=>e.color==="inherit"&&e.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)"}}]}))),Gp=S("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.dashed,e[`dashedColor${T(o.color)}`]]}})(U(({theme:t})=>({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(t.palette).filter(Ft()).map(([e])=>{const o=zr(t,e);return{props:{color:e},style:{backgroundImage:`radial-gradient(${o} 0%, ${o} 16%, transparent 42%)`}}})]})),Wp||{animation:`${$r} 3s infinite linear`}),_p=S("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.bar,e.bar1,e[`barColor${T(o.color)}`],(o.variant==="indeterminate"||o.variant==="query")&&e.bar1Indeterminate,o.variant==="determinate"&&e.bar1Determinate,o.variant==="buffer"&&e.bar1Buffer]}})(U(({theme:t})=>({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(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{backgroundColor:(t.vars||t).palette[e].main}})),{props:{variant:"determinate"},style:{transition:`transform .${Sr}s linear`}},{props:{variant:"buffer"},style:{zIndex:1,transition:`transform .${Sr}s linear`}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:{width:"auto"}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:Fp||{animation:`${wr} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),qp=S("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.bar,e.bar2,e[`barColor${T(o.color)}`],(o.variant==="indeterminate"||o.variant==="query")&&e.bar2Indeterminate,o.variant==="buffer"&&e.bar2Buffer]}})(U(({theme:t})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{"--LinearProgressBar2-barColor":(t.vars||t).palette[e].main}})),{props:({ownerState:e})=>e.variant!=="buffer"&&e.color!=="inherit",style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:e})=>e.variant!=="buffer"&&e.color==="inherit",style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,variant:"buffer"},style:{backgroundColor:zr(t,e),transition:`transform .${Sr}s linear`}})),{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:{width:"auto"}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:Up||{animation:`${Rr} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),Xp=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiLinearProgress"}),{className:n,color:s="primary",value:a,valueBuffer:i,variant:l="indeterminate",...c}=r,p={...r,color:s,variant:l},f=Hp(p),v=He(),m={},y={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&a!==void 0){m["aria-valuenow"]=Math.round(a),m["aria-valuemin"]=0,m["aria-valuemax"]=100;let g=a-100;v&&(g=-g),y.bar1.transform=`translateX(${g}%)`}if(l==="buffer"&&i!==void 0){let g=(i||0)-100;v&&(g=-g),y.bar2.transform=`translateX(${g}%)`}return d.jsxs(Vp,{className:j(f.root,n),ownerState:p,role:"progressbar",...m,ref:o,...c,children:[l==="buffer"?d.jsx(Gp,{className:f.dashed,ownerState:p}):null,d.jsx(_p,{className:f.bar1,ownerState:p,style:y.bar1}),l==="determinate"?null:d.jsx(qp,{className:f.bar2,ownerState:p,style:y.bar2})]})});function Yp(t){return K("MuiLink",t)}const Kp=Z("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),Zp=({theme:t,ownerState:e})=>{const o=e.color,r=ko(t,`palette.${o}.main`,!1)||ko(t,`palette.${o}`,!1)||e.color,n=ko(t,`palette.${o}.mainChannel`)||ko(t,`palette.${o}Channel`);return"vars"in t&&n?`rgba(${n} / 0.4)`:Tt(r,.4)},rn={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},Jp=t=>{const{classes:e,component:o,focusVisible:r,underline:n}=t,s={root:["root",`underline${T(n)}`,o==="button"&&"button",r&&"focusVisible"]};return q(s,Yp,e)},Qp=S(re,{name:"MuiLink",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`underline${T(o.underline)}`],o.component==="button"&&e.button]}})(U(({theme:t})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:e,ownerState:o})=>e==="always"&&o.color!=="inherit",style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{underline:"always",color:e},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.4)`:Tt(t.palette[e].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette.text.primaryChannel} / 0.4)`:Tt(t.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette.text.secondaryChannel} / 0.4)`:Tt(t.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(t.vars||t).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Kp.focusVisible}`]:{outline:"auto"}}}]}))),Mb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiLink"}),n=se(),{className:s,color:a="primary",component:i="a",onBlur:l,onFocus:c,TypographyClasses:p,underline:f="always",variant:v="inherit",sx:m,...y}=r,[g,h]=u.useState(!1),b=P=>{Me(P.target)||h(!1),l&&l(P)},x=P=>{Me(P.target)&&h(!0),c&&c(P)},C={...r,color:a,component:i,focusVisible:g,underline:f,variant:v},R=Jp(C);return d.jsx(Qp,{color:a,className:j(R.root,s),classes:p,component:i,onBlur:b,onFocus:x,ref:o,ownerState:C,variant:v,...y,sx:[...rn[a]===void 0?[{color:a}]:[],...Array.isArray(m)?m:[m]],style:{...y.style,...f==="always"&&a!=="inherit"&&!rn[a]&&{"--Link-underlineColor":Zp({theme:n,ownerState:C})}}})});function td(t){return K("MuiListItemAvatar",t)}const Ab=Z("MuiListItemAvatar",["root","alignItemsFlexStart"]),ed=t=>{const{alignItems:e,classes:o}=t;return q({root:["root",e==="flex-start"&&"alignItemsFlexStart"]},td,o)},od=S("div",{name:"MuiListItemAvatar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.alignItems==="flex-start"&&e.alignItemsFlexStart]}})({minWidth:56,flexShrink:0,variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}),Lb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListItemAvatar"}),{className:n,...s}=r,a=u.useContext(bo),i={...r,alignItems:a.alignItems},l=ed(i);return d.jsx(od,{className:j(l.root,n),ownerState:i,ref:o,...s})});function rd(t){return K("MuiMobileStepper",t)}const Bb=Z("MuiMobileStepper",["root","positionBottom","positionTop","positionStatic","dots","dot","dotActive","progress"]),nd=t=>{const{classes:e,position:o}=t,r={root:["root",`position${T(o)}`],dots:["dots"],dot:["dot"],dotActive:["dotActive"],progress:["progress"]};return q(r,rd,e)},sd=S(we,{name:"MuiMobileStepper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${T(o.position)}`]]}})(U(({theme:t})=>({display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",background:(t.vars||t).palette.background.default,padding:8,variants:[{props:({position:e})=>e==="top"||e==="bottom",style:{position:"fixed",left:0,right:0,zIndex:(t.vars||t).zIndex.mobileStepper}},{props:{position:"top"},style:{top:0}},{props:{position:"bottom"},style:{bottom:0}}]}))),ad=S("div",{name:"MuiMobileStepper",slot:"Dots",overridesResolver:(t,e)=>e.dots})({variants:[{props:{variant:"dots"},style:{display:"flex",flexDirection:"row"}}]}),id=S("div",{name:"MuiMobileStepper",slot:"Dot",shouldForwardProp:t=>Xo(t)&&t!=="dotActive",overridesResolver:(t,e)=>{const{dotActive:o}=t;return[e.dot,o&&e.dotActive]}})(U(({theme:t})=>({variants:[{props:{variant:"dots"},style:{transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),backgroundColor:(t.vars||t).palette.action.disabled,borderRadius:"50%",width:8,height:8,margin:"0 2px"}},{props:{variant:"dots",dotActive:!0},style:{backgroundColor:(t.vars||t).palette.primary.main}}]}))),ld=S(Xp,{name:"MuiMobileStepper",slot:"Progress",overridesResolver:(t,e)=>e.progress})({variants:[{props:{variant:"progress"},style:{width:"50%"}}]}),Nb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiMobileStepper"}),{activeStep:n=0,backButton:s,className:a,LinearProgressProps:i,nextButton:l,position:c="bottom",steps:p,variant:f="dots",slots:v={},slotProps:m={},...y}=r,g={...r,activeStep:n,position:c,variant:f};let h;f==="progress"&&(p===1?h=100:h=Math.ceil(n/(p-1)*100));const b=nd(g),x={slots:v,slotProps:{progress:i,...m}},[C,R]=V("root",{ref:o,elementType:sd,shouldForwardComponentProp:!0,className:j(b.root,a),externalForwardedProps:{...x,...y},ownerState:g,additionalProps:{square:!0,elevation:0}}),[P,N]=V("dots",{className:b.dots,elementType:ad,externalForwardedProps:x,ownerState:g}),[$,A]=V("dot",{elementType:id,externalForwardedProps:x,ownerState:g}),[k,I]=V("progress",{className:b.progress,elementType:ld,shouldForwardComponentProp:!0,externalForwardedProps:x,ownerState:g,additionalProps:{value:h,variant:"determinate"}});return d.jsxs(C,{...R,children:[s,f==="text"&&d.jsxs(u.Fragment,{children:[n+1," / ",p]}),f==="dots"&&d.jsx(P,{...N,children:[...new Array(p)].map((F,L)=>d.jsx($,{...A,className:j(b.dot,A.className,L===n&&b.dotActive),dotActive:L===n},L))}),f==="progress"&&d.jsx(k,{...I}),l]})}),cd=t=>{const{classes:e}=t;return q({root:["root"]},Ws,e)},pd=d.jsx(Us,{}),dd=u.forwardRef(function(e,o){const r=X({name:"MuiNativeSelect",props:e}),{className:n,children:s,classes:a={},IconComponent:i=$n,input:l=pd,inputProps:c,variant:p,...f}=r,v=Co(),m=Mr({props:r,muiFormControl:v,states:["variant"]}),y={...r,classes:a},g=cd(y),{root:h,...b}=a;return d.jsx(u.Fragment,{children:u.cloneElement(l,{inputComponent:Fs,inputProps:{children:s,classes:b,IconComponent:i,variant:m.variant,type:void 0,...c,...l?l.props.inputProps:{}},ref:o,...f,className:j(g.root,l.props.className,n)})})});dd.muiName="Select";function ud(t){const{children:e,defer:o=!1,fallback:r=null}=t,[n,s]=u.useState(!1);return So(()=>{o||s(!0)},[o]),u.useEffect(()=>{o&&s(!0)},[o]),n?e:r}function fd(t){return K("MuiPagination",t)}const Ob=Z("MuiPagination",["root","ul","outlined","text"]);function gd(t={}){const{boundaryCount:e=1,componentName:o="usePagination",count:r=1,defaultPage:n=1,disabled:s=!1,hideNextButton:a=!1,hidePrevButton:i=!1,onChange:l,page:c,showFirstButton:p=!1,showLastButton:f=!1,siblingCount:v=1,...m}=t,[y,g]=ue({controlled:c,default:n,name:o,state:"page"}),h=(k,I)=>{c||g(I),l&&l(k,I)},b=(k,I)=>{const F=I-k+1;return Array.from({length:F},(L,w)=>k+w)},x=b(1,Math.min(e,r)),C=b(Math.max(r-e+1,e+1),r),R=Math.max(Math.min(y-v,r-e-v*2-1),e+2),P=Math.min(Math.max(y+v,e+v*2+2),r-e-1),N=[...p?["first"]:[],...i?[]:["previous"],...x,...R>e+2?["start-ellipsis"]:e+1e?[r-e]:[],...C,...a?[]:["next"],...f?["last"]:[]],$=k=>{switch(k){case"first":return 1;case"previous":return y-1;case"next":return y+1;case"last":return r;default:return null}};return{items:N.map(k=>typeof k=="number"?{onClick:I=>{h(I,k)},type:"page",page:k,selected:k===y,disabled:s,"aria-current":k===y?"page":void 0}:{onClick:I=>{h(I,$(k))},type:k,page:$(k),selected:!1,disabled:s||!k.includes("ellipsis")&&(k==="next"||k==="last"?y>=r:y<=1)}),...m}}function md(t){return K("MuiPaginationItem",t)}const ee=Z("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon","colorPrimary","colorSecondary"]),Vn=Ht(d.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),Gn=Ht(d.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage"),bd=Ht(d.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),vd=Ht(d.jsx("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),_n=(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${T(o.size)}`],o.variant==="text"&&e[`text${T(o.color)}`],o.variant==="outlined"&&e[`outlined${T(o.color)}`],o.shape==="rounded"&&e.rounded,o.type==="page"&&e.page,(o.type==="start-ellipsis"||o.type==="end-ellipsis")&&e.ellipsis,(o.type==="previous"||o.type==="next")&&e.previousNext,(o.type==="first"||o.type==="last")&&e.firstLast]},yd=t=>{const{classes:e,color:o,disabled:r,selected:n,size:s,shape:a,type:i,variant:l}=t,c={root:["root",`size${T(s)}`,l,a,o!=="standard"&&`color${T(o)}`,o!=="standard"&&`${l}${T(o)}`,r&&"disabled",n&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[i]],icon:["icon"]};return q(c,md,e)},hd=S("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:_n})(U(({theme:t})=>({...t.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(t.vars||t).palette.text.primary,height:"auto",[`&.${ee.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:{size:"small"},style:{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:t.typography.pxToRem(15)}}]}))),xd=S(fe,{name:"MuiPaginationItem",slot:"Root",overridesResolver:_n})(U(({theme:t})=>({...t.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(t.vars||t).palette.text.primary,[`&.${ee.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${ee.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},transition:t.transitions.create(["color","background-color"],{duration:t.transitions.duration.short}),"&:hover":{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ee.selected}`]:{backgroundColor:(t.vars||t).palette.action.selected,"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(t.vars||t).palette.action.selected}},[`&.${ee.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)},[`&.${ee.disabled}`]:{opacity:1,color:(t.vars||t).palette.action.disabled,backgroundColor:(t.vars||t).palette.action.selected}},variants:[{props:{size:"small"},style:{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:t.typography.pxToRem(15)}},{props:{shape:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:{variant:"outlined"},style:{border:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${ee.selected}`]:{[`&.${ee.disabled}`]:{borderColor:(t.vars||t).palette.action.disabledBackground,color:(t.vars||t).palette.action.disabled}}}},{props:{variant:"text"},style:{[`&.${ee.selected}`]:{[`&.${ee.disabled}`]:{color:(t.vars||t).palette.action.disabled}}}},...Object.entries(t.palette).filter(Ft(["dark","contrastText"])).map(([e])=>({props:{variant:"text",color:e},style:{[`&.${ee.selected}`]:{color:(t.vars||t).palette[e].contrastText,backgroundColor:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:(t.vars||t).palette[e].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[e].main}},[`&.${ee.focusVisible}`]:{backgroundColor:(t.vars||t).palette[e].dark},[`&.${ee.disabled}`]:{color:(t.vars||t).palette.action.disabled}}}})),...Object.entries(t.palette).filter(Ft(["light"])).map(([e])=>({props:{variant:"outlined",color:e},style:{[`&.${ee.selected}`]:{color:(t.vars||t).palette[e].main,border:`1px solid ${t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.5)`:Tt(t.palette[e].main,.5)}`,backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.activatedOpacity})`:Tt(t.palette[e].main,t.palette.action.activatedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.activatedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette[e].main,t.palette.action.activatedOpacity+t.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ee.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.activatedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette[e].main,t.palette.action.activatedOpacity+t.palette.action.focusOpacity)}}}}))]}))),Cd=S("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:(t,e)=>e.icon})(U(({theme:t})=>({fontSize:t.typography.pxToRem(20),margin:"0 -8px",variants:[{props:{size:"small"},style:{fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:t.typography.pxToRem(22)}}]}))),Sd=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiPaginationItem"}),{className:n,color:s="standard",component:a,components:i={},disabled:l=!1,page:c,selected:p=!1,shape:f="circular",size:v="medium",slots:m={},slotProps:y={},type:g="page",variant:h="text",...b}=r,x={...r,color:s,disabled:l,selected:p,shape:f,size:v,type:g,variant:h},C=He(),R=yd(x),P={slots:{previous:m.previous??i.previous,next:m.next??i.next,first:m.first??i.first,last:m.last??i.last},slotProps:y},[N,$]=V("previous",{elementType:bd,externalForwardedProps:P,ownerState:x}),[A,k]=V("next",{elementType:vd,externalForwardedProps:P,ownerState:x}),[I,F]=V("first",{elementType:Vn,externalForwardedProps:P,ownerState:x}),[L,w]=V("last",{elementType:Gn,externalForwardedProps:P,ownerState:x}),M=C?{previous:"next",next:"previous",first:"last",last:"first"}[g]:g,H={previous:N,next:A,first:I,last:L}[M],z={previous:$,next:k,first:F,last:w}[M];return g==="start-ellipsis"||g==="end-ellipsis"?d.jsx(hd,{ref:o,ownerState:x,className:j(R.root,n),children:"…"}):d.jsxs(xd,{ref:o,ownerState:x,component:a,disabled:l,className:j(R.root,n),...b,children:[g==="page"&&c,H?d.jsx(Cd,{...z,className:R.icon,as:H}):null]})}),wd=t=>{const{classes:e,variant:o}=t;return q({root:["root",o],ul:["ul"]},fd,e)},Rd=S("nav",{name:"MuiPagination",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant]]}})({}),$d=S("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:(t,e)=>e.ul})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function Pd(t,e,o){return t==="page"?`${o?"":"Go to "}page ${e}`:`Go to ${t} page`}const zb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiPagination"}),{boundaryCount:n=1,className:s,color:a="standard",count:i=1,defaultPage:l=1,disabled:c=!1,getItemAriaLabel:p=Pd,hideNextButton:f=!1,hidePrevButton:v=!1,onChange:m,page:y,renderItem:g=I=>d.jsx(Sd,{...I}),shape:h="circular",showFirstButton:b=!1,showLastButton:x=!1,siblingCount:C=1,size:R="medium",variant:P="text",...N}=r,{items:$}=gd({...r,componentName:"Pagination"}),A={...r,boundaryCount:n,color:a,count:i,defaultPage:l,disabled:c,getItemAriaLabel:p,hideNextButton:f,hidePrevButton:v,renderItem:g,shape:h,showFirstButton:b,showLastButton:x,siblingCount:C,size:R,variant:P},k=wd(A);return d.jsx(Rd,{"aria-label":"pagination navigation",className:j(k.root,s),ownerState:A,ref:o,...N,children:d.jsx($d,{className:k.ul,ownerState:A,children:$.map((I,F)=>d.jsx("li",{children:g({...I,color:a,"aria-label":p(I.type,I.page,I.selected),shape:h,size:R,variant:P})},F))})})}),kd=Ht(d.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"),Td=Ht(d.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"),Id=S("span",{shouldForwardProp:Se})({position:"relative",display:"flex"}),Md=S(kd)({transform:"scale(1)"}),Ad=S(Td)(U(({theme:t})=>({left:0,position:"absolute",transform:"scale(0)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeIn,duration:t.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:"scale(1)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeOut,duration:t.transitions.duration.shortest})}}]})));function qn(t){const{checked:e=!1,classes:o={},fontSize:r}=t,n={...t,checked:e};return d.jsxs(Id,{className:o.root,ownerState:n,children:[d.jsx(Md,{fontSize:r,className:o.background,ownerState:n}),d.jsx(Ad,{fontSize:r,className:o.dot,ownerState:n})]})}const Xn=u.createContext(void 0);function Ld(){return u.useContext(Xn)}function Bd(t){return K("MuiRadio",t)}const nn=Z("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),Nd=t=>{const{classes:e,color:o,size:r}=t,n={root:["root",`color${T(o)}`,r!=="medium"&&`size${T(r)}`]};return{...e,...q(n,Bd,e)}},Od=S(Or,{shouldForwardProp:t=>Se(t)||t==="classes",name:"MuiRadio",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.size!=="medium"&&e[`size${T(o.size)}`],e[`color${T(o.color)}`]]}})(U(({theme:t})=>({color:(t.vars||t).palette.text.secondary,[`&.${nn.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:{color:"default",disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette.action.active,t.palette.action.hoverOpacity)}}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette[e].main,t.palette.action.hoverOpacity)}}})),...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,disabled:!1},style:{[`&.${nn.checked}`]:{color:(t.vars||t).palette[e].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]})));function zd(t,e){return typeof e=="object"&&e!==null?t===e:String(t)===String(e)}const jd=d.jsx(qn,{checked:!0}),Dd=d.jsx(qn,{}),jb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiRadio"}),{checked:n,checkedIcon:s=jd,color:a="primary",icon:i=Dd,name:l,onChange:c,size:p="medium",className:f,disabled:v,disableRipple:m=!1,slots:y={},slotProps:g={},inputProps:h,...b}=r,x=Co();let C=v;x&&typeof C>"u"&&(C=x.disabled),C??=!1;const R={...r,disabled:C,disableRipple:m,color:a,size:p},P=Nd(R),N=Ld();let $=n;const A=Hs(c,N&&N.onChange);let k=l;N&&(typeof $>"u"&&($=zd(N.value,r.value)),typeof k>"u"&&(k=N.name));const I=g.input??h,[F,L]=V("root",{ref:o,elementType:Od,className:j(P.root,f),shouldForwardComponentProp:!0,externalForwardedProps:{slots:y,slotProps:g,...b},getSlotProps:w=>({...w,onChange:(M,...H)=>{var z;(z=w.onChange)==null||z.call(w,M,...H),A(M,...H)}}),ownerState:R,additionalProps:{type:"radio",icon:u.cloneElement(i,{fontSize:i.props.fontSize??p}),checkedIcon:u.cloneElement(s,{fontSize:s.props.fontSize??p}),disabled:C,name:k,checked:$,slots:y,slotProps:{input:typeof I=="function"?I(R):I}}});return d.jsx(F,{...L,classes:P})});function Ed(t){return K("MuiRadioGroup",t)}const Db=Z("MuiRadioGroup",["root","row","error"]),Fd=t=>{const{classes:e,row:o,error:r}=t;return q({root:["root",o&&"row",r&&"error"]},Ed,e)},Eb=u.forwardRef(function(e,o){const{actions:r,children:n,className:s,defaultValue:a,name:i,onChange:l,value:c,...p}=e,f=u.useRef(null),v=Fd(e),[m,y]=ue({controlled:c,default:a,name:"RadioGroup"});u.useImperativeHandle(r,()=>({focus:()=>{let x=f.current.querySelector("input:not(:disabled):checked");x||(x=f.current.querySelector("input:not(:disabled)")),x&&x.focus()}}),[]);const g=ge(o,f),h=We(i),b=u.useMemo(()=>({name:h,onChange(x){y(x.target.value),l&&l(x,x.target.value)},value:m}),[h,l,y,m]);return d.jsx(Xn.Provider,{value:b,children:d.jsx(Jc,{role:"radiogroup",ref:g,className:j(v.root,s),...p,children:n})})}),Ud=Ht(d.jsx("path",{d:"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"}),"Star"),Wd=Ht(d.jsx("path",{d:"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"}),"StarBorder");function Hd(t){return K("MuiRating",t)}const ao=Z("MuiRating",["root","sizeSmall","sizeMedium","sizeLarge","readOnly","disabled","focusVisible","visuallyHidden","pristine","label","labelEmptyValueActive","icon","iconEmpty","iconFilled","iconHover","iconFocus","iconActive","decimal"]);function Vd(t){const e=t.toString().split(".")[1];return e?e.length:0}function fr(t,e){if(t==null)return t;const o=Math.round(t/e)*e;return Number(o.toFixed(Vd(e)))}const Gd=t=>{const{classes:e,size:o,readOnly:r,disabled:n,emptyValueFocused:s,focusVisible:a}=t,i={root:["root",`size${T(o)}`,n&&"disabled",a&&"focusVisible",r&&"readOnly"],label:["label","pristine"],labelEmptyValue:[s&&"labelEmptyValueActive"],icon:["icon"],iconEmpty:["iconEmpty"],iconFilled:["iconFilled"],iconHover:["iconHover"],iconFocus:["iconFocus"],iconActive:["iconActive"],decimal:["decimal"],visuallyHidden:["visuallyHidden"]};return q(i,Hd,e)},_d=S("span",{name:"MuiRating",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${ao.visuallyHidden}`]:e.visuallyHidden},e.root,e[`size${T(o.size)}`],o.readOnly&&e.readOnly]}})(U(({theme:t})=>({display:"inline-flex",position:"relative",fontSize:t.typography.pxToRem(24),color:"#faaf00",cursor:"pointer",textAlign:"left",width:"min-content",WebkitTapHighlightColor:"transparent",[`&.${ao.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${ao.focusVisible} .${ao.iconActive}`]:{outline:"1px solid #999"},[`& .${ao.visuallyHidden}`]:kn,variants:[{props:{size:"small"},style:{fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:t.typography.pxToRem(30)}},{props:({ownerState:e})=>e.readOnly,style:{pointerEvents:"none"}}]}))),Yn=S("label",{name:"MuiRating",slot:"Label",overridesResolver:({ownerState:t},e)=>[e.label,t.emptyValueFocused&&e.labelEmptyValueActive]})({cursor:"inherit",variants:[{props:({ownerState:t})=>t.emptyValueFocused,style:{top:0,bottom:0,position:"absolute",outline:"1px solid #999",width:"100%"}}]}),qd=S("span",{name:"MuiRating",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,o.iconEmpty&&e.iconEmpty,o.iconFilled&&e.iconFilled,o.iconHover&&e.iconHover,o.iconFocus&&e.iconFocus,o.iconActive&&e.iconActive]}})(U(({theme:t})=>({display:"flex",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),pointerEvents:"none",variants:[{props:({ownerState:e})=>e.iconActive,style:{transform:"scale(1.2)"}},{props:({ownerState:e})=>e.iconEmpty,style:{color:(t.vars||t).palette.action.disabled}}]}))),Xd=S("span",{name:"MuiRating",slot:"Decimal",shouldForwardProp:t=>Xo(t)&&t!=="iconActive",overridesResolver:(t,e)=>{const{iconActive:o}=t;return[e.decimal,o&&e.iconActive]}})({position:"relative",variants:[{props:({iconActive:t})=>t,style:{transform:"scale(1.2)"}}]});function Yd(t){const{value:e,...o}=t;return d.jsx("span",{...o})}function sn(t){const{classes:e,disabled:o,emptyIcon:r,focus:n,getLabelText:s,highlightSelectedOnly:a,hover:i,icon:l,IconContainerComponent:c,isActive:p,itemValue:f,labelProps:v,name:m,onBlur:y,onChange:g,onClick:h,onFocus:b,readOnly:x,ownerState:C,ratingValue:R,ratingValueRounded:P,slots:N={},slotProps:$={}}=t,A=a?f===R:f<=R,k=f<=i,I=f<=n,F=f===P,L=`${m}-${We()}`,w={slots:N,slotProps:$},[M,H]=V("icon",{elementType:qd,className:j(e.icon,A?e.iconFilled:e.iconEmpty,k&&e.iconHover,I&&e.iconFocus,p&&e.iconActive),externalForwardedProps:w,ownerState:{...C,iconEmpty:!A,iconFilled:A,iconHover:k,iconFocus:I,iconActive:p},additionalProps:{value:f},internalForwardedProps:{as:c}}),[z,Q]=V("label",{elementType:Yn,externalForwardedProps:w,ownerState:{...C,emptyValueFocused:void 0},additionalProps:{style:v==null?void 0:v.style,htmlFor:L}}),D=d.jsx(M,{...H,children:r&&!A?r:l});return x?d.jsx("span",{...v,children:D}):d.jsxs(u.Fragment,{children:[d.jsxs(z,{...Q,children:[D,d.jsx("span",{className:e.visuallyHidden,children:s(f)})]}),d.jsx("input",{className:e.visuallyHidden,onFocus:b,onBlur:y,onChange:g,onClick:h,disabled:o,value:f,id:L,type:"radio",name:m,checked:F})]})}const Kd=d.jsx(Ud,{fontSize:"inherit"}),Zd=d.jsx(Wd,{fontSize:"inherit"});function Jd(t){return`${t||"0"} Star${t!==1?"s":""}`}const Fb=u.forwardRef(function(e,o){const r=X({name:"MuiRating",props:e}),{component:n="span",className:s,defaultValue:a=null,disabled:i=!1,emptyIcon:l=Zd,emptyLabelText:c="Empty",getLabelText:p=Jd,highlightSelectedOnly:f=!1,icon:v=Kd,IconContainerComponent:m=Yd,max:y=5,name:g,onChange:h,onChangeActive:b,onMouseLeave:x,onMouseMove:C,precision:R=1,readOnly:P=!1,size:N="medium",value:$,slots:A={},slotProps:k={},...I}=r,F=We(g),[L,w]=ue({controlled:$,default:a,name:"Rating"}),M=fr(L,R),H=He(),[{hover:z,focus:Q},D]=u.useState({hover:-1,focus:-1});let et=M;z!==-1&&(et=z),Q!==-1&&(et=Q);const[pt,_]=u.useState(!1),wt=u.useRef(),Lt=ge(wt,o),Rt=ft=>{C&&C(ft);const Pt=wt.current,{right:It,left:Vt,width:E}=Pt.getBoundingClientRect();let G;H?G=(It-ft.clientX)/E:G=(ft.clientX-Vt)/E;let ot=fr(y*G+R/2,R);ot=Be(ot,R,y),D(gt=>gt.hover===ot&>.focus===ot?gt:{hover:ot,focus:ot}),_(!1),b&&z!==ot&&b(ft,ot)},lt=ft=>{x&&x(ft);const Pt=-1;D({hover:Pt,focus:Pt}),b&&z!==Pt&&b(ft,Pt)},rt=ft=>{let Pt=ft.target.value===""?null:parseFloat(ft.target.value);z!==-1&&(Pt=z),w(Pt),h&&h(ft,Pt)},W=ft=>{ft.clientX===0&&ft.clientY===0||(D({hover:-1,focus:-1}),w(null),h&&parseFloat(ft.target.value)===M&&h(ft,null))},it=ft=>{Me(ft.target)&&_(!0);const Pt=parseFloat(ft.target.value);D(It=>({hover:It.hover,focus:Pt}))},dt=ft=>{if(z!==-1)return;Me(ft.target)||_(!1);const Pt=-1;D(It=>({hover:It.hover,focus:Pt}))},[bt,$t]=u.useState(!1),nt={...r,component:n,defaultValue:a,disabled:i,emptyIcon:l,emptyLabelText:c,emptyValueFocused:bt,focusVisible:pt,getLabelText:p,icon:v,IconContainerComponent:m,max:y,precision:R,readOnly:P,size:N},ct=Gd(nt),vt={slots:A,slotProps:k},[yt,Ot]=V("root",{ref:Lt,className:j(ct.root,s),elementType:_d,externalForwardedProps:{...vt,...I,component:n},getSlotProps:ft=>({...ft,onMouseMove:Pt=>{var It;Rt(Pt),(It=ft.onMouseMove)==null||It.call(ft,Pt)},onMouseLeave:Pt=>{var It;lt(Pt),(It=ft.onMouseLeave)==null||It.call(ft,Pt)}}),ownerState:nt,additionalProps:{role:P?"img":null,"aria-label":P?p(et):null}}),[Y,tt]=V("label",{className:j(ct.label,ct.labelEmptyValue),elementType:Yn,externalForwardedProps:vt,ownerState:nt}),[st,xt]=V("decimal",{className:ct.decimal,elementType:Xd,externalForwardedProps:vt,ownerState:nt});return d.jsxs(yt,{...Ot,children:[Array.from(new Array(y)).map((ft,Pt)=>{const It=Pt+1,Vt={classes:ct,disabled:i,emptyIcon:l,focus:Q,getLabelText:p,highlightSelectedOnly:f,hover:z,icon:v,IconContainerComponent:m,name:F,onBlur:dt,onChange:rt,onClick:W,onFocus:it,ratingValue:et,ratingValueRounded:M,readOnly:P,ownerState:nt,slots:A,slotProps:k},E=It===Math.ceil(et)&&(z!==-1||Q!==-1);if(R<1){const G=Array.from(new Array(1/R));return u.createElement(st,{...xt,key:It,className:j(xt.className,E&&ct.iconActive),iconActive:E},G.map((ot,gt)=>{const ut=fr(It-1+(gt+1)*R,R);return d.jsx(sn,{...Vt,isActive:!1,itemValue:ut,labelProps:{style:G.length-1===gt?{}:{width:ut===et?`${(gt+1)*R*100}%`:"0%",overflow:"hidden",position:"absolute"}}},ut)}))}return d.jsx(sn,{...Vt,isActive:E,itemValue:It},It)}),!P&&!i&&d.jsxs(Y,{...tt,children:[d.jsx("input",{className:ct.visuallyHidden,value:"",id:`${F}-empty`,type:"radio",name:F,checked:M==null,onFocus:()=>$t(!0),onBlur:()=>$t(!1),onChange:rt}),d.jsx("span",{className:ct.visuallyHidden,children:c})]})]})});function Qd(t){return K("MuiScopedCssBaseline",t)}const Ub=Z("MuiScopedCssBaseline",["root"]),tu=t=>{const{classes:e}=t;return q({root:["root"]},Qd,e)},eu=S("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>{const e={};return t.colorSchemes&&Object.entries(t.colorSchemes).forEach(([o,r])=>{var s,a;const n=t.getColorSchemeSelector(o);n.startsWith("@")?e[n]={colorScheme:(s=r.palette)==null?void 0:s.mode}:e[`&${n.replace(/\s*&/,"")}`]={colorScheme:(a=r.palette)==null?void 0:a.mode}}),{...On(t,!1),...zn(t),"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:t.typography.fontWeightBold},variants:[{props:{enableColorScheme:!0},style:t.vars?e:{colorScheme:t.palette.mode}}]}})),Wb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiScopedCssBaseline"}),{className:n,component:s="div",enableColorScheme:a,...i}=r,l={...r,component:s},c=tu(l);return d.jsx(eu,{as:s,className:j(c.root,n),ref:o,ownerState:l,...i})});function ou(t,e,o=(r,n)=>r===n){return t.length===e.length&&t.every((r,n)=>o(r,e[n]))}const ru=2;function qe(t,e,o,r,n){return o===1?Math.min(t+e,n):Math.max(t-e,r)}function Kn(t,e){return t-e}function an(t,e){const{index:o}=t.reduce((r,n,s)=>{const a=Math.abs(e-n);return r===null||a({left:`${t}%`}),leap:t=>({width:`${t}%`})},"horizontal-reverse":{offset:t=>({right:`${t}%`}),leap:t=>({width:`${t}%`})},vertical:{offset:t=>({bottom:`${t}%`}),leap:t=>({height:`${t}%`})}},lu=t=>t;let No;function cn(){return No===void 0&&(typeof CSS<"u"&&typeof CSS.supports=="function"?No=CSS.supports("touch-action","none"):No=!0),No}function cu(t){const{"aria-labelledby":e,defaultValue:o,disabled:r=!1,disableSwap:n=!1,isRtl:s=!1,marks:a=!1,max:i=100,min:l=0,name:c,onChange:p,onChangeCommitted:f,orientation:v="horizontal",rootRef:m,scale:y=lu,step:g=1,shiftStep:h=10,tabIndex:b,value:x}=t,C=u.useRef(void 0),[R,P]=u.useState(-1),[N,$]=u.useState(-1),[A,k]=u.useState(!1),I=u.useRef(0),F=u.useRef(null),[L,w]=ue({controlled:x,default:o??l,name:"Slider"}),M=p&&((E,G,ot)=>{const gt=E.nativeEvent||E,ut=new gt.constructor(gt.type,gt);Object.defineProperty(ut,"target",{writable:!0,value:{value:G,name:c}}),F.current=G,p(ut,G,ot)}),H=Array.isArray(L);let z=H?L.slice().sort(Kn):[L];z=z.map(E=>E==null?l:Be(E,l,i));const Q=a===!0&&g!==null?[...Array(Math.floor((i-l)/g)+1)].map((E,G)=>({value:l+g*G})):a||[],D=Q.map(E=>E.value),[et,pt]=u.useState(-1),_=u.useRef(null),wt=ge(m,_),Lt=E=>G=>{var gt;const ot=Number(G.currentTarget.getAttribute("data-index"));Me(G.target)&&pt(ot),$(ot),(gt=E==null?void 0:E.onFocus)==null||gt.call(E,G)},Rt=E=>G=>{var ot;Me(G.target)||pt(-1),$(-1),(ot=E==null?void 0:E.onBlur)==null||ot.call(E,G)},lt=(E,G)=>{const ot=Number(E.currentTarget.getAttribute("data-index")),gt=z[ot],ut=D.indexOf(gt);let J=G;if(Q&&g==null){const ht=D[D.length-1];J>=ht?J=ht:J<=D[0]?J=D[0]:J=JG=>{var ot;if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"].includes(G.key)){G.preventDefault();const gt=Number(G.currentTarget.getAttribute("data-index")),ut=z[gt];let J=null;if(g!=null){const ht=G.shiftKey?h:g;switch(G.key){case"ArrowUp":J=qe(ut,ht,1,l,i);break;case"ArrowRight":J=qe(ut,ht,s?-1:1,l,i);break;case"ArrowDown":J=qe(ut,ht,-1,l,i);break;case"ArrowLeft":J=qe(ut,ht,s?1:-1,l,i);break;case"PageUp":J=qe(ut,h,1,l,i);break;case"PageDown":J=qe(ut,h,-1,l,i);break;case"Home":J=l;break;case"End":J=i;break}}else if(Q){const ht=D[D.length-1],Dt=D.indexOf(ut),At=[s?"ArrowRight":"ArrowLeft","ArrowDown","PageDown","Home"],zt=[s?"ArrowLeft":"ArrowRight","ArrowUp","PageUp","End"];At.includes(G.key)?Dt===0?J=D[0]:J=D[Dt-1]:zt.includes(G.key)&&(Dt===D.length-1?J=ht:J=D[Dt+1])}J!=null&<(G,J)}(ot=E==null?void 0:E.onKeyDown)==null||ot.call(E,G)};So(()=>{var E;r&&_.current.contains(document.activeElement)&&((E=document.activeElement)==null||E.blur())},[r]),r&&R!==-1&&P(-1),r&&et!==-1&&pt(-1);const W=E=>G=>{var ot;(ot=E.onChange)==null||ot.call(E,G),lt(G,G.target.valueAsNumber)},it=u.useRef(void 0);let dt=v;s&&v==="horizontal"&&(dt+="-reverse");const bt=({finger:E,move:G=!1})=>{const{current:ot}=_,{width:gt,height:ut,bottom:J,left:ht}=ot.getBoundingClientRect();let Dt;dt.startsWith("vertical")?Dt=(J-E.y)/ut:Dt=(E.x-ht)/gt,dt.includes("-reverse")&&(Dt=1-Dt);let At;if(At=nu(Dt,l,i),g)At=au(At,g,l);else{const qt=an(D,At);At=D[qt]}At=Be(At,l,i);let zt=0;if(H){G?zt=it.current:zt=an(z,At),n&&(At=Be(At,z[zt-1]||-1/0,z[zt+1]||1/0));const qt=At;At=ln({values:z,newValue:At,index:zt}),n&&G||(zt=At.indexOf(qt),it.current=zt)}return{newValue:At,activeIndex:zt}},$t=ne(E=>{const G=Ao(E,C);if(!G)return;if(I.current+=1,E.type==="mousemove"&&E.buttons===0){nt(E);return}const{newValue:ot,activeIndex:gt}=bt({finger:G,move:!0});Lo({sliderRef:_,activeIndex:gt,setActive:P}),w(ot),!A&&I.current>ru&&k(!0),M&&!Bo(ot,L)&&M(E,ot,gt)}),nt=ne(E=>{const G=Ao(E,C);if(k(!1),!G)return;const{newValue:ot}=bt({finger:G,move:!0});P(-1),E.type==="touchend"&&$(-1),f&&f(E,F.current??ot),C.current=void 0,vt()}),ct=ne(E=>{if(r)return;cn()||E.preventDefault();const G=E.changedTouches[0];G!=null&&(C.current=G.identifier);const ot=Ao(E,C);if(ot!==!1){const{newValue:ut,activeIndex:J}=bt({finger:ot});Lo({sliderRef:_,activeIndex:J,setActive:P}),w(ut),M&&!Bo(ut,L)&&M(E,ut,J)}I.current=0;const gt=de(_.current);gt.addEventListener("touchmove",$t,{passive:!0}),gt.addEventListener("touchend",nt,{passive:!0})}),vt=u.useCallback(()=>{const E=de(_.current);E.removeEventListener("mousemove",$t),E.removeEventListener("mouseup",nt),E.removeEventListener("touchmove",$t),E.removeEventListener("touchend",nt)},[nt,$t]);u.useEffect(()=>{const{current:E}=_;return E.addEventListener("touchstart",ct,{passive:cn()}),()=>{E.removeEventListener("touchstart",ct),vt()}},[vt,ct]),u.useEffect(()=>{r&&vt()},[r,vt]);const yt=E=>G=>{var ut;if((ut=E.onMouseDown)==null||ut.call(E,G),r||G.defaultPrevented||G.button!==0)return;G.preventDefault();const ot=Ao(G,C);if(ot!==!1){const{newValue:J,activeIndex:ht}=bt({finger:ot});Lo({sliderRef:_,activeIndex:ht,setActive:P}),w(J),M&&!Bo(J,L)&&M(G,J,ht)}I.current=0;const gt=de(_.current);gt.addEventListener("mousemove",$t,{passive:!0}),gt.addEventListener("mouseup",nt)},Ot=qo(H?z[0]:l,l,i),Y=qo(z[z.length-1],l,i)-Ot,tt=(E={})=>{const G=fo(E),ot={onMouseDown:yt(G||{})},gt={...G,...ot};return{...E,ref:wt,...gt}},st=E=>G=>{var gt;(gt=E.onMouseOver)==null||gt.call(E,G);const ot=Number(G.currentTarget.getAttribute("data-index"));$(ot)},xt=E=>G=>{var ot;(ot=E.onMouseLeave)==null||ot.call(E,G),$(-1)},ft=(E={})=>{const G=fo(E),ot={onMouseOver:st(G||{}),onMouseLeave:xt(G||{})};return{...E,...G,...ot}},Pt=E=>({pointerEvents:R!==-1&&R!==E?"none":void 0});let It;return v==="vertical"&&(It=s?"vertical-rl":"vertical-lr"),{active:R,axis:dt,axisProps:iu,dragging:A,focusedThumbIndex:et,getHiddenInputProps:(E={})=>{const G=fo(E),ot={onChange:W(G||{}),onFocus:Lt(G||{}),onBlur:Rt(G||{}),onKeyDown:rt(G||{})},gt={...G,...ot};return{tabIndex:b,"aria-labelledby":e,"aria-orientation":v,"aria-valuemax":y(i),"aria-valuemin":y(l),name:c,type:"range",min:t.min,max:t.max,step:t.step===null&&t.marks?"any":t.step??void 0,disabled:r,...E,...gt,style:{...kn,direction:s?"rtl":"ltr",width:"100%",height:"100%",writingMode:It}}},getRootProps:tt,getThumbProps:ft,marks:Q,open:N,range:H,rootRef:wt,trackLeap:Y,trackOffset:Ot,values:z,getThumbStyle:Pt}}const pu=t=>!t||!Uo(t);function du(t){return K("MuiSlider",t)}const le=Z("MuiSlider",["root","active","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","disabled","dragging","focusVisible","mark","markActive","marked","markLabel","markLabelActive","rail","sizeSmall","thumb","thumbColorPrimary","thumbColorSecondary","thumbColorError","thumbColorSuccess","thumbColorInfo","thumbColorWarning","track","trackInverted","trackFalse","thumbSizeSmall","valueLabel","valueLabelOpen","valueLabelCircle","valueLabelLabel","vertical"]),uu=t=>{const{open:e}=t;return{offset:j(e&&le.valueLabelOpen),circle:le.valueLabelCircle,label:le.valueLabelLabel}};function fu(t){const{children:e,className:o,value:r}=t,n=uu(t);return e?u.cloneElement(e,{className:j(e.props.className)},d.jsxs(u.Fragment,{children:[e.props.children,d.jsx("span",{className:j(n.offset,o),"aria-hidden":!0,children:d.jsx("span",{className:n.circle,children:d.jsx("span",{className:n.label,children:r})})})]})):null}function pn(t){return t}const gu=S("span",{name:"MuiSlider",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`color${T(o.color)}`],o.size!=="medium"&&e[`size${T(o.size)}`],o.marked&&e.marked,o.orientation==="vertical"&&e.vertical,o.track==="inverted"&&e.trackInverted,o.track===!1&&e.trackFalse]}})(U(({theme:t})=>({borderRadius:12,boxSizing:"content-box",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",WebkitTapHighlightColor:"transparent","@media print":{colorAdjust:"exact"},[`&.${le.disabled}`]:{pointerEvents:"none",cursor:"default",color:(t.vars||t).palette.grey[400]},[`&.${le.dragging}`]:{[`& .${le.thumb}, & .${le.track}`]:{transition:"none"}},variants:[...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}})),{props:{orientation:"horizontal"},style:{height:4,width:"100%",padding:"13px 0","@media (pointer: coarse)":{padding:"20px 0"}}},{props:{orientation:"horizontal",size:"small"},style:{height:2}},{props:{orientation:"horizontal",marked:!0},style:{marginBottom:20}},{props:{orientation:"vertical"},style:{height:"100%",width:4,padding:"0 13px","@media (pointer: coarse)":{padding:"0 20px"}}},{props:{orientation:"vertical",size:"small"},style:{width:2}},{props:{orientation:"vertical",marked:!0},style:{marginRight:44}}]}))),mu=S("span",{name:"MuiSlider",slot:"Rail",overridesResolver:(t,e)=>e.rail})({display:"block",position:"absolute",borderRadius:"inherit",backgroundColor:"currentColor",opacity:.38,variants:[{props:{orientation:"horizontal"},style:{width:"100%",height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{height:"100%",width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:"inverted"},style:{opacity:1}}]}),bu=S("span",{name:"MuiSlider",slot:"Track",overridesResolver:(t,e)=>e.track})(U(({theme:t})=>({display:"block",position:"absolute",borderRadius:"inherit",border:"1px solid currentColor",backgroundColor:"currentColor",transition:t.transitions.create(["left","width","bottom","height"],{duration:t.transitions.duration.shortest}),variants:[{props:{size:"small"},style:{border:"none"}},{props:{orientation:"horizontal"},style:{height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:!1},style:{display:"none"}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,track:"inverted"},style:{...t.vars?{backgroundColor:t.vars.palette.Slider[`${e}Track`],borderColor:t.vars.palette.Slider[`${e}Track`]}:{backgroundColor:Fe(t.palette[e].main,.62),borderColor:Fe(t.palette[e].main,.62),...t.applyStyles("dark",{backgroundColor:Ee(t.palette[e].main,.5)}),...t.applyStyles("dark",{borderColor:Ee(t.palette[e].main,.5)})}}}))]}))),vu=S("span",{name:"MuiSlider",slot:"Thumb",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.thumb,e[`thumbColor${T(o.color)}`],o.size!=="medium"&&e[`thumbSize${T(o.size)}`]]}})(U(({theme:t})=>({position:"absolute",width:20,height:20,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",transition:t.transitions.create(["box-shadow","left","bottom"],{duration:t.transitions.duration.shortest}),"&::before":{position:"absolute",content:'""',borderRadius:"inherit",width:"100%",height:"100%",boxShadow:(t.vars||t).shadows[2]},"&::after":{position:"absolute",content:'""',borderRadius:"50%",width:42,height:42,top:"50%",left:"50%",transform:"translate(-50%, -50%)"},[`&.${le.disabled}`]:{"&:hover":{boxShadow:"none"}},variants:[{props:{size:"small"},style:{width:12,height:12,"&::before":{boxShadow:"none"}}},{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-50%, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 50%)"}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{[`&:hover, &.${le.focusVisible}`]:{...t.vars?{boxShadow:`0px 0px 0px 8px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 8px ${Tt(t.palette[e].main,.16)}`},"@media (hover: none)":{boxShadow:"none"}},[`&.${le.active}`]:{...t.vars?{boxShadow:`0px 0px 0px 14px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 14px ${Tt(t.palette[e].main,.16)}`}}}}))]}))),yu=S(fu,{name:"MuiSlider",slot:"ValueLabel",overridesResolver:(t,e)=>e.valueLabel})(U(({theme:t})=>({zIndex:1,whiteSpace:"nowrap",...t.typography.body2,fontWeight:500,transition:t.transitions.create(["transform"],{duration:t.transitions.duration.shortest}),position:"absolute",backgroundColor:(t.vars||t).palette.grey[600],borderRadius:2,color:(t.vars||t).palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",padding:"0.25rem 0.75rem",variants:[{props:{orientation:"horizontal"},style:{transform:"translateY(-100%) scale(0)",top:"-10px",transformOrigin:"bottom center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, 50%) rotate(45deg)",backgroundColor:"inherit",bottom:0,left:"50%"},[`&.${le.valueLabelOpen}`]:{transform:"translateY(-100%) scale(1)"}}},{props:{orientation:"vertical"},style:{transform:"translateY(-50%) scale(0)",right:"30px",top:"50%",transformOrigin:"right center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, -50%) rotate(45deg)",backgroundColor:"inherit",right:-8,top:"50%"},[`&.${le.valueLabelOpen}`]:{transform:"translateY(-50%) scale(1)"}}},{props:{size:"small"},style:{fontSize:t.typography.pxToRem(12),padding:"0.25rem 0.5rem"}},{props:{orientation:"vertical",size:"small"},style:{right:"20px"}}]}))),hu=S("span",{name:"MuiSlider",slot:"Mark",shouldForwardProp:t=>Xo(t)&&t!=="markActive",overridesResolver:(t,e)=>{const{markActive:o}=t;return[e.mark,o&&e.markActive]}})(U(({theme:t})=>({position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor",variants:[{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-1px, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 1px)"}},{props:{markActive:!0},style:{backgroundColor:(t.vars||t).palette.background.paper,opacity:.8}}]}))),xu=S("span",{name:"MuiSlider",slot:"MarkLabel",shouldForwardProp:t=>Xo(t)&&t!=="markLabelActive",overridesResolver:(t,e)=>e.markLabel})(U(({theme:t})=>({...t.typography.body2,color:(t.vars||t).palette.text.secondary,position:"absolute",whiteSpace:"nowrap",variants:[{props:{orientation:"horizontal"},style:{top:30,transform:"translateX(-50%)","@media (pointer: coarse)":{top:40}}},{props:{orientation:"vertical"},style:{left:36,transform:"translateY(50%)","@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(t.vars||t).palette.text.primary}}]}))),Cu=t=>{const{disabled:e,dragging:o,marked:r,orientation:n,track:s,classes:a,color:i,size:l}=t,c={root:["root",e&&"disabled",o&&"dragging",r&&"marked",n==="vertical"&&"vertical",s==="inverted"&&"trackInverted",s===!1&&"trackFalse",i&&`color${T(i)}`,l&&`size${T(l)}`],rail:["rail"],track:["track"],mark:["mark"],markActive:["markActive"],markLabel:["markLabel"],markLabelActive:["markLabelActive"],valueLabel:["valueLabel"],thumb:["thumb",e&&"disabled",l&&`thumbSize${T(l)}`,i&&`thumbColor${T(i)}`],active:["active"],disabled:["disabled"],focusVisible:["focusVisible"]};return q(c,du,a)},Su=({children:t})=>t,Hb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSlider"}),n=He(),{"aria-label":s,"aria-valuetext":a,"aria-labelledby":i,component:l="span",components:c={},componentsProps:p={},color:f="primary",classes:v,className:m,disableSwap:y=!1,disabled:g=!1,getAriaLabel:h,getAriaValueText:b,marks:x=!1,max:C=100,min:R=0,name:P,onChange:N,onChangeCommitted:$,orientation:A="horizontal",shiftStep:k=10,size:I="medium",step:F=1,scale:L=pn,slotProps:w,slots:M,tabIndex:H,track:z="normal",value:Q,valueLabelDisplay:D="off",valueLabelFormat:et=pn,...pt}=r,_={...r,isRtl:n,max:C,min:R,classes:v,disabled:g,disableSwap:y,orientation:A,marks:x,color:f,size:I,step:F,shiftStep:k,scale:L,track:z,valueLabelDisplay:D,valueLabelFormat:et},{axisProps:wt,getRootProps:Lt,getHiddenInputProps:Rt,getThumbProps:lt,open:rt,active:W,axis:it,focusedThumbIndex:dt,range:bt,dragging:$t,marks:nt,values:ct,trackOffset:vt,trackLeap:yt,getThumbStyle:Ot}=cu({..._,rootRef:o});_.marked=nt.length>0&&nt.some(Bt=>Bt.label),_.dragging=$t,_.focusedThumbIndex=dt;const Y=Cu(_),tt=(M==null?void 0:M.root)??c.Root??gu,st=(M==null?void 0:M.rail)??c.Rail??mu,xt=(M==null?void 0:M.track)??c.Track??bu,ft=(M==null?void 0:M.thumb)??c.Thumb??vu,Pt=(M==null?void 0:M.valueLabel)??c.ValueLabel??yu,It=(M==null?void 0:M.mark)??c.Mark??hu,Vt=(M==null?void 0:M.markLabel)??c.MarkLabel??xu,E=(M==null?void 0:M.input)??c.Input??"input",G=(w==null?void 0:w.root)??p.root,ot=(w==null?void 0:w.rail)??p.rail,gt=(w==null?void 0:w.track)??p.track,ut=(w==null?void 0:w.thumb)??p.thumb,J=(w==null?void 0:w.valueLabel)??p.valueLabel,ht=(w==null?void 0:w.mark)??p.mark,Dt=(w==null?void 0:w.markLabel)??p.markLabel,At=(w==null?void 0:w.input)??p.input,zt=Ce({elementType:tt,getSlotProps:Lt,externalSlotProps:G,externalForwardedProps:pt,additionalProps:{...pu(tt)&&{as:l}},ownerState:{..._,...G==null?void 0:G.ownerState},className:[Y.root,m]}),qt=Ce({elementType:st,externalSlotProps:ot,ownerState:_,className:Y.rail}),Xt=Ce({elementType:xt,externalSlotProps:gt,additionalProps:{style:{...wt[it].offset(vt),...wt[it].leap(yt)}},ownerState:{..._,...gt==null?void 0:gt.ownerState},className:Y.track}),ye=Ce({elementType:ft,getSlotProps:lt,externalSlotProps:ut,ownerState:{..._,...ut==null?void 0:ut.ownerState},className:Y.thumb}),ae=Ce({elementType:Pt,externalSlotProps:J,ownerState:{..._,...J==null?void 0:J.ownerState},className:Y.valueLabel}),he=Ce({elementType:It,externalSlotProps:ht,ownerState:_,className:Y.mark}),Yt=Ce({elementType:Vt,externalSlotProps:Dt,ownerState:_,className:Y.markLabel}),ce=Ce({elementType:E,getSlotProps:Rt,externalSlotProps:At,ownerState:_});return d.jsxs(tt,{...zt,children:[d.jsx(st,{...qt}),d.jsx(xt,{...Xt}),nt.filter(Bt=>Bt.value>=R&&Bt.value<=C).map((Bt,Et)=>{const Kt=qo(Bt.value,R,C),pe=wt[it].offset(Kt);let Zt;return z===!1?Zt=ct.includes(Bt.value):Zt=z==="normal"&&(bt?Bt.value>=ct[0]&&Bt.value<=ct[ct.length-1]:Bt.value<=ct[0])||z==="inverted"&&(bt?Bt.value<=ct[0]||Bt.value>=ct[ct.length-1]:Bt.value>=ct[0]),d.jsxs(u.Fragment,{children:[d.jsx(It,{"data-index":Et,...he,...!Uo(It)&&{markActive:Zt},style:{...pe,...he.style},className:j(he.className,Zt&&Y.markActive)}),Bt.label!=null?d.jsx(Vt,{"aria-hidden":!0,"data-index":Et,...Yt,...!Uo(Vt)&&{markLabelActive:Zt},style:{...pe,...Yt.style},className:j(Y.markLabel,Yt.className,Zt&&Y.markLabelActive),children:Bt.label}):null]},Et)}),ct.map((Bt,Et)=>{const Kt=qo(Bt,R,C),pe=wt[it].offset(Kt),Zt=D==="off"?Su:Pt;return d.jsx(Zt,{...!Uo(Zt)&&{valueLabelFormat:et,valueLabelDisplay:D,value:typeof et=="function"?et(L(Bt),Et):et,index:Et,open:rt===Et||W===Et||D==="on",disabled:g},...ae,children:d.jsx(ft,{"data-index":Et,...ye,className:j(Y.thumb,ye.className,W===Et&&Y.active,dt===Et&&Y.focusVisible),style:{...pe,...Ot(Et),...ye.style},children:d.jsx(E,{"data-index":Et,"aria-label":h?h(Et):s,"aria-valuenow":L(Bt),"aria-labelledby":i,"aria-valuetext":b?b(L(Bt),Et):a,value:ct[Et],...ce})})},Et)})]})});function wu(t={}){const{autoHideDuration:e=null,disableWindowBlurListener:o=!1,onClose:r,open:n,resumeHideDuration:s}=t,a=Oe();u.useEffect(()=>{if(!n)return;function b(x){x.defaultPrevented||x.key==="Escape"&&(r==null||r(x,"escapeKeyDown"))}return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b)}},[n,r]);const i=ne((b,x)=>{r==null||r(b,x)}),l=ne(b=>{!r||b==null||a.start(b,()=>{i(null,"timeout")})});u.useEffect(()=>(n&&l(e),a.clear),[n,e,l,a]);const c=b=>{r==null||r(b,"clickaway")},p=a.clear,f=u.useCallback(()=>{e!=null&&l(s??e*.5)},[e,s,l]),v=b=>x=>{const C=b.onBlur;C==null||C(x),f()},m=b=>x=>{const C=b.onFocus;C==null||C(x),p()},y=b=>x=>{const C=b.onMouseEnter;C==null||C(x),p()},g=b=>x=>{const C=b.onMouseLeave;C==null||C(x),f()};return u.useEffect(()=>{if(!o&&n)return window.addEventListener("focus",f),window.addEventListener("blur",p),()=>{window.removeEventListener("focus",f),window.removeEventListener("blur",p)}},[o,n,f,p]),{getRootProps:(b={})=>{const x={...fo(t),...fo(b)};return{role:"presentation",...b,...x,onBlur:v(x),onFocus:m(x),onMouseEnter:y(x),onMouseLeave:g(x)}},onClickAway:c}}function Ru(t){return K("MuiSnackbarContent",t)}const Vb=Z("MuiSnackbarContent",["root","message","action"]),$u=t=>{const{classes:e}=t;return q({root:["root"],action:["action"],message:["message"]},Ru,e)},Pu=S(we,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>{const e=t.palette.mode==="light"?.8:.98,o=Ho(t.palette.background.default,e);return{...t.typography.body2,color:t.vars?t.vars.palette.SnackbarContent.color:t.palette.getContrastText(o),backgroundColor:t.vars?t.vars.palette.SnackbarContent.bg:o,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,flexGrow:1,[t.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}}})),ku=S("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(t,e)=>e.message})({padding:"8px 0"}),Tu=S("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(t,e)=>e.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),Iu=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSnackbarContent"}),{action:n,className:s,message:a,role:i="alert",...l}=r,c=r,p=$u(c);return d.jsxs(Pu,{role:i,square:!0,elevation:6,className:j(p.root,s),ownerState:c,ref:o,...l,children:[d.jsx(ku,{className:p.message,ownerState:c,children:a}),n?d.jsx(Tu,{className:p.action,ownerState:c,children:n}):null]})});function Mu(t){return K("MuiSnackbar",t)}const Gb=Z("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]),Au=t=>{const{classes:e,anchorOrigin:o}=t,r={root:["root",`anchorOrigin${T(o.vertical)}${T(o.horizontal)}`]};return q(r,Mu,e)},Lu=S("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`anchorOrigin${T(o.anchorOrigin.vertical)}${T(o.anchorOrigin.horizontal)}`]]}})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center",variants:[{props:({ownerState:e})=>e.anchorOrigin.vertical==="top",style:{top:8,[t.breakpoints.up("sm")]:{top:24}}},{props:({ownerState:e})=>e.anchorOrigin.vertical!=="top",style:{bottom:8,[t.breakpoints.up("sm")]:{bottom:24}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="left",style:{justifyContent:"flex-start",[t.breakpoints.up("sm")]:{left:24,right:"auto"}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="right",style:{justifyContent:"flex-end",[t.breakpoints.up("sm")]:{right:24,left:"auto"}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="center",style:{[t.breakpoints.up("sm")]:{left:"50%",right:"auto",transform:"translateX(-50%)"}}}]}))),_b=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSnackbar"}),n=se(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{action:a,anchorOrigin:{vertical:i,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:p,className:f,ClickAwayListenerProps:v,ContentProps:m,disableWindowBlurListener:y=!1,message:g,onBlur:h,onClose:b,onFocus:x,onMouseEnter:C,onMouseLeave:R,open:P,resumeHideDuration:N,slots:$={},slotProps:A={},TransitionComponent:k,transitionDuration:I=s,TransitionProps:{onEnter:F,onExited:L,...w}={},...M}=r,H={...r,anchorOrigin:{vertical:i,horizontal:l},autoHideDuration:c,disableWindowBlurListener:y,TransitionComponent:k,transitionDuration:I},z=Au(H),{getRootProps:Q,onClickAway:D}=wu({...H}),[et,pt]=u.useState(!0),_=ct=>{pt(!0),L&&L(ct)},wt=(ct,vt)=>{pt(!1),F&&F(ct,vt)},Lt={slots:{transition:k,...$},slotProps:{content:m,clickAwayListener:v,transition:w,...A}},[Rt,lt]=V("root",{ref:o,className:[z.root,f],elementType:Lu,getSlotProps:Q,externalForwardedProps:{...Lt,...M},ownerState:H}),[rt,{ownerState:W,...it}]=V("clickAwayListener",{elementType:Rc,externalForwardedProps:Lt,getSlotProps:ct=>({onClickAway:(...vt)=>{var yt;(yt=ct.onClickAway)==null||yt.call(ct,...vt),D(...vt)}}),ownerState:H}),[dt,bt]=V("content",{elementType:Iu,shouldForwardComponentProp:!0,externalForwardedProps:Lt,additionalProps:{message:g,action:a},ownerState:H}),[$t,nt]=V("transition",{elementType:Tn,externalForwardedProps:Lt,getSlotProps:ct=>({onEnter:(...vt)=>{var yt;(yt=ct.onEnter)==null||yt.call(ct,...vt),wt(...vt)},onExited:(...vt)=>{var yt;(yt=ct.onExited)==null||yt.call(ct,...vt),_(...vt)}}),additionalProps:{appear:!0,in:P,timeout:I,direction:i==="top"?"down":"up"},ownerState:H});return!P&&et?null:d.jsx(rt,{...it,...$.clickAwayListener&&{ownerState:W},children:d.jsx(Rt,{...lt,children:d.jsx($t,{...nt,children:p||d.jsx(dt,{...bt})})})})}),Bu={entering:{transform:"none"},entered:{transform:"none"}},Nu=u.forwardRef(function(e,o){const r=se(),n={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:a=!0,children:i,easing:l,in:c,onEnter:p,onEntered:f,onEntering:v,onExit:m,onExited:y,onExiting:g,style:h,timeout:b=n,TransitionComponent:x=Ir,...C}=e,R=u.useRef(null),P=ge(R,Zo(i),o),N=M=>H=>{if(M){const z=R.current;H===void 0?M(z):M(z,H)}},$=N(v),A=N((M,H)=>{Pn(M);const z=Ue({style:h,timeout:b,easing:l},{mode:"enter"});M.style.webkitTransition=r.transitions.create("transform",z),M.style.transition=r.transitions.create("transform",z),p&&p(M,H)}),k=N(f),I=N(g),F=N(M=>{const H=Ue({style:h,timeout:b,easing:l},{mode:"exit"});M.style.webkitTransition=r.transitions.create("transform",H),M.style.transition=r.transitions.create("transform",H),m&&m(M)}),L=N(y),w=M=>{s&&s(R.current,M)};return d.jsx(x,{appear:a,in:c,nodeRef:R,onEnter:A,onEntered:k,onEntering:$,onExit:F,onExited:L,onExiting:I,addEndListener:w,timeout:b,...C,children:(M,{ownerState:H,...z})=>u.cloneElement(i,{style:{transform:"scale(0)",visibility:M==="exited"&&!c?"hidden":void 0,...Bu[M],...h,...i.props.style},ref:P,...z})})});function Ou(t){return K("MuiSpeedDial",t)}const Oo=Z("MuiSpeedDial",["root","fab","directionUp","directionDown","directionLeft","directionRight","actions","actionsClosed"]),zu=t=>{const{classes:e,open:o,direction:r}=t,n={root:["root",`direction${T(r)}`],fab:["fab"],actions:["actions",!o&&"actionsClosed"]};return q(n,Ou,e)};function io(t){if(t==="up"||t==="down")return"vertical";if(t==="right"||t==="left")return"horizontal"}const Pe=32,zo=16,ju=S("div",{name:"MuiSpeedDial",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`direction${T(o.direction)}`]]}})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.speedDial,display:"flex",alignItems:"center",pointerEvents:"none",variants:[{props:{direction:"up"},style:{flexDirection:"column-reverse",[`& .${Oo.actions}`]:{flexDirection:"column-reverse",marginBottom:-Pe,paddingBottom:zo+Pe}}},{props:{direction:"down"},style:{flexDirection:"column",[`& .${Oo.actions}`]:{flexDirection:"column",marginTop:-Pe,paddingTop:zo+Pe}}},{props:{direction:"left"},style:{flexDirection:"row-reverse",[`& .${Oo.actions}`]:{flexDirection:"row-reverse",marginRight:-Pe,paddingRight:zo+Pe}}},{props:{direction:"right"},style:{flexDirection:"row",[`& .${Oo.actions}`]:{flexDirection:"row",marginLeft:-Pe,paddingLeft:zo+Pe}}}]}))),Du=S(Fn,{name:"MuiSpeedDial",slot:"Fab",overridesResolver:(t,e)=>e.fab})({pointerEvents:"auto"}),Eu=S("div",{name:"MuiSpeedDial",slot:"Actions",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.actions,!o.open&&e.actionsClosed]}})({display:"flex",pointerEvents:"auto",variants:[{props:({ownerState:t})=>!t.open,style:{transition:"top 0s linear 0.2s",pointerEvents:"none"}}]}),qb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSpeedDial"}),n=se(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{ariaLabel:a,FabProps:{ref:i,...l}={},children:c,className:p,direction:f="up",hidden:v=!1,icon:m,onBlur:y,onClose:g,onFocus:h,onKeyDown:b,onMouseEnter:x,onMouseLeave:C,onOpen:R,open:P,openIcon:N,slots:$={},slotProps:A={},TransitionComponent:k,TransitionProps:I,transitionDuration:F=s,...L}=r,[w,M]=ue({controlled:P,default:!1,name:"SpeedDial",state:"open"}),H={...r,open:w,direction:f},z=zu(H),Q=Oe(),D=u.useRef(0),et=u.useRef(),pt=u.useRef([]);pt.current=[pt.current[0]];const _=u.useCallback(tt=>{pt.current[0]=tt},[]),wt=ge(i,_),Lt=(tt,st)=>xt=>{pt.current[tt+1]=xt,st&&st(xt)},Rt=tt=>{b&&b(tt);const st=tt.key.replace("Arrow","").toLowerCase(),{current:xt=st}=et;if(tt.key==="Escape"){M(!1),pt.current[0].focus(),g&&g(tt,"escapeKeyDown");return}if(io(st)===io(xt)&&io(st)!==void 0){tt.preventDefault();const ft=st===xt?1:-1,Pt=Be(D.current+ft,0,pt.current.length-1);pt.current[Pt].focus(),D.current=Pt,et.current=xt}};u.useEffect(()=>{w||(D.current=0,et.current=void 0)},[w]);const lt=tt=>{tt.type==="mouseleave"&&C&&C(tt),tt.type==="blur"&&y&&y(tt),Q.clear(),tt.type==="blur"?Q.start(0,()=>{M(!1),g&&g(tt,"blur")}):(M(!1),g&&g(tt,"mouseLeave"))},rt=tt=>{l.onClick&&l.onClick(tt),Q.clear(),w?(M(!1),g&&g(tt,"toggle")):(M(!0),R&&R(tt,"toggle"))},W=tt=>{tt.type==="mouseenter"&&x&&x(tt),tt.type==="focus"&&h&&h(tt),Q.clear(),w||Q.start(0,()=>{M(!0),R&&R(tt,{focus:"focus",mouseenter:"mouseEnter"}[tt.type])})},it=a.replace(/^[^a-z]+|[^\w:.-]+/gi,""),dt=u.Children.toArray(c).filter(tt=>u.isValidElement(tt)),bt=dt.map((tt,st)=>{const{FabProps:{ref:xt,...ft}={},tooltipPlacement:Pt}=tt.props,It=Pt||(io(f)==="vertical"?"left":"top");return u.cloneElement(tt,{FabProps:{...ft,ref:Lt(st,xt)},delay:30*(w?st:dt.length-st),open:w,tooltipPlacement:It,id:`${it}-action-${st}`})}),$t={transition:k,...$},nt={transition:I,...A},ct={slots:$t,slotProps:nt},[vt,yt]=V("root",{elementType:ju,externalForwardedProps:{...ct,...L},ownerState:H,ref:o,className:j(z.root,p),additionalProps:{role:"presentation"},getSlotProps:tt=>({...tt,onKeyDown:st=>{var xt;(xt=tt.onKeyDown)==null||xt.call(tt,st),Rt(st)},onBlur:st=>{var xt;(xt=tt.onBlur)==null||xt.call(tt,st),lt(st)},onFocus:st=>{var xt;(xt=tt.onFocus)==null||xt.call(tt,st),W(st)},onMouseEnter:st=>{var xt;(xt=tt.onMouseEnter)==null||xt.call(tt,st),W(st)},onMouseLeave:st=>{var xt;(xt=tt.onMouseLeave)==null||xt.call(tt,st),lt(st)}})}),[Ot,Y]=V("transition",{elementType:Nu,externalForwardedProps:ct,ownerState:H});return d.jsxs(vt,{...yt,children:[d.jsx(Ot,{in:!v,timeout:F,unmountOnExit:!0,...Y,children:d.jsx(Du,{color:"primary","aria-label":a,"aria-haspopup":"true","aria-expanded":w,"aria-controls":`${it}-actions`,...l,onClick:rt,className:j(z.fab,l.className),ref:wt,ownerState:H,children:u.isValidElement(m)&&Yo(m,["SpeedDialIcon"])?u.cloneElement(m,{open:w}):m})}),d.jsx(Eu,{id:`${it}-actions`,role:"menu","aria-orientation":io(f),className:j(z.actions,!w&&z.actionsClosed),ownerState:H,children:bt})]})});function Fu(t){return K("MuiTooltip",t)}const Wt=Z("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]);function Uu(t){return Math.round(t*1e5)/1e5}const Wu=t=>{const{classes:e,disableInteractive:o,arrow:r,touch:n,placement:s}=t,a={popper:["popper",!o&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",n&&"touch",`tooltipPlacement${T(s.split("-")[0])}`],arrow:["arrow"]};return q(a,Fu,e)},Hu=S(Ko,{name:"MuiTooltip",slot:"Popper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.popper,!o.disableInteractive&&e.popperInteractive,o.arrow&&e.popperArrow,!o.open&&e.popperClose]}})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState:e})=>!e.disableInteractive,style:{pointerEvents:"auto"}},{props:({open:e})=>!e,style:{pointerEvents:"none"}},{props:({ownerState:e})=>e.arrow,style:{[`&[data-popper-placement*="bottom"] .${Wt.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${Wt.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${Wt.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${Wt.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState:e})=>e.arrow&&!e.isRtl,style:{[`&[data-popper-placement*="right"] .${Wt.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!!e.isRtl,style:{[`&[data-popper-placement*="right"] .${Wt.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!e.isRtl,style:{[`&[data-popper-placement*="left"] .${Wt.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!!e.isRtl,style:{[`&[data-popper-placement*="left"] .${Wt.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),Vu=S("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.tooltip,o.touch&&e.touch,o.arrow&&e.tooltipArrow,e[`tooltipPlacement${T(o.placement.split("-")[0])}`]]}})(U(({theme:t})=>({backgroundColor:t.vars?t.vars.palette.Tooltip.bg:Tt(t.palette.grey[700],.92),borderRadius:(t.vars||t).shape.borderRadius,color:(t.vars||t).palette.common.white,fontFamily:t.typography.fontFamily,padding:"4px 8px",fontSize:t.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:t.typography.fontWeightMedium,[`.${Wt.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${Wt.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${Wt.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState:e})=>e.arrow,style:{position:"relative",margin:0}},{props:({ownerState:e})=>e.touch,style:{padding:"8px 16px",fontSize:t.typography.pxToRem(14),lineHeight:`${Uu(16/14)}em`,fontWeight:t.typography.fontWeightRegular}},{props:({ownerState:e})=>!e.isRtl,style:{[`.${Wt.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState:e})=>!e.isRtl&&e.touch,style:{[`.${Wt.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState:e})=>!!e.isRtl,style:{[`.${Wt.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState:e})=>!!e.isRtl&&e.touch,style:{[`.${Wt.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState:e})=>e.touch,style:{[`.${Wt.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState:e})=>e.touch,style:{[`.${Wt.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),Gu=S("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(t,e)=>e.arrow})(U(({theme:t})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:t.vars?t.vars.palette.Tooltip.bg:Tt(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}})));let jo=!1;const dn=new Vs;let lo={x:0,y:0};function Do(t,e){return(o,...r)=>{e&&e(o,...r),t(o,...r)}}const _u=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTooltip"}),{arrow:n=!1,children:s,classes:a,components:i={},componentsProps:l={},describeChild:c=!1,disableFocusListener:p=!1,disableHoverListener:f=!1,disableInteractive:v=!1,disableTouchListener:m=!1,enterDelay:y=100,enterNextDelay:g=0,enterTouchDelay:h=700,followCursor:b=!1,id:x,leaveDelay:C=0,leaveTouchDelay:R=1500,onClose:P,onOpen:N,open:$,placement:A="bottom",PopperComponent:k,PopperProps:I={},slotProps:F={},slots:L={},title:w,TransitionComponent:M,TransitionProps:H,...z}=r,Q=u.isValidElement(s)?s:d.jsx("span",{children:s}),D=se(),et=He(),[pt,_]=u.useState(),[wt,Lt]=u.useState(null),Rt=u.useRef(!1),lt=v||b,rt=Oe(),W=Oe(),it=Oe(),dt=Oe(),[bt,$t]=ue({controlled:$,default:!1,name:"Tooltip",state:"open"});let nt=bt;const ct=We(x),vt=u.useRef(),yt=ne(()=>{vt.current!==void 0&&(document.body.style.WebkitUserSelect=vt.current,vt.current=void 0),dt.clear()});u.useEffect(()=>yt,[yt]);const Ot=mt=>{dn.clear(),jo=!0,$t(!0),N&&!nt&&N(mt)},Y=ne(mt=>{dn.start(800+C,()=>{jo=!1}),$t(!1),P&&nt&&P(mt),rt.start(D.transitions.duration.shortest,()=>{Rt.current=!1})}),tt=mt=>{Rt.current&&mt.type!=="touchstart"||(pt&&pt.removeAttribute("title"),W.clear(),it.clear(),y||jo&&g?W.start(jo?g:y,()=>{Ot(mt)}):Ot(mt))},st=mt=>{W.clear(),it.start(C,()=>{Y(mt)})},[,xt]=u.useState(!1),ft=mt=>{Me(mt.target)||(xt(!1),st(mt))},Pt=mt=>{pt||_(mt.currentTarget),Me(mt.target)&&(xt(!0),tt(mt))},It=mt=>{Rt.current=!0;const te=Q.props;te.onTouchStart&&te.onTouchStart(mt)},Vt=mt=>{It(mt),it.clear(),rt.clear(),yt(),vt.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",dt.start(h,()=>{document.body.style.WebkitUserSelect=vt.current,tt(mt)})},E=mt=>{Q.props.onTouchEnd&&Q.props.onTouchEnd(mt),yt(),it.start(R,()=>{Y(mt)})};u.useEffect(()=>{if(!nt)return;function mt(te){te.key==="Escape"&&Y(te)}return document.addEventListener("keydown",mt),()=>{document.removeEventListener("keydown",mt)}},[Y,nt]);const G=ge(Zo(Q),_,o);!w&&w!==0&&(nt=!1);const ot=u.useRef(),gt=mt=>{const te=Q.props;te.onMouseMove&&te.onMouseMove(mt),lo={x:mt.clientX,y:mt.clientY},ot.current&&ot.current.update()},ut={},J=typeof w=="string";c?(ut.title=!nt&&J&&!f?w:null,ut["aria-describedby"]=nt?ct:null):(ut["aria-label"]=J?w:null,ut["aria-labelledby"]=nt&&!J?ct:null);const ht={...ut,...z,...Q.props,className:j(z.className,Q.props.className),onTouchStart:It,ref:G,...b?{onMouseMove:gt}:{}},Dt={};m||(ht.onTouchStart=Vt,ht.onTouchEnd=E),f||(ht.onMouseOver=Do(tt,ht.onMouseOver),ht.onMouseLeave=Do(st,ht.onMouseLeave),lt||(Dt.onMouseOver=tt,Dt.onMouseLeave=st)),p||(ht.onFocus=Do(Pt,ht.onFocus),ht.onBlur=Do(ft,ht.onBlur),lt||(Dt.onFocus=Pt,Dt.onBlur=ft));const At={...r,isRtl:et,arrow:n,disableInteractive:lt,placement:A,PopperComponentProp:k,touch:Rt.current},zt=typeof F.popper=="function"?F.popper(At):F.popper,qt=u.useMemo(()=>{var te,Ge;let mt=[{name:"arrow",enabled:!!wt,options:{element:wt,padding:4}}];return(te=I.popperOptions)!=null&&te.modifiers&&(mt=mt.concat(I.popperOptions.modifiers)),(Ge=zt==null?void 0:zt.popperOptions)!=null&&Ge.modifiers&&(mt=mt.concat(zt.popperOptions.modifiers)),{...I.popperOptions,...zt==null?void 0:zt.popperOptions,modifiers:mt}},[wt,I.popperOptions,zt==null?void 0:zt.popperOptions]),Xt=Wu(At),ye=typeof F.transition=="function"?F.transition(At):F.transition,ae={slots:{popper:i.Popper,transition:i.Transition??M,tooltip:i.Tooltip,arrow:i.Arrow,...L},slotProps:{arrow:F.arrow??l.arrow,popper:{...I,...zt??l.popper},tooltip:F.tooltip??l.tooltip,transition:{...H,...ye??l.transition}}},[he,Yt]=V("popper",{elementType:Hu,externalForwardedProps:ae,ownerState:At,className:j(Xt.popper,I==null?void 0:I.className)}),[ce,Bt]=V("transition",{elementType:Tn,externalForwardedProps:ae,ownerState:At}),[Et,Kt]=V("tooltip",{elementType:Vu,className:Xt.tooltip,externalForwardedProps:ae,ownerState:At}),[pe,Zt]=V("arrow",{elementType:Gu,className:Xt.arrow,externalForwardedProps:ae,ownerState:At,ref:Lt});return d.jsxs(u.Fragment,{children:[u.cloneElement(Q,ht),d.jsx(he,{as:k??Ko,placement:A,anchorEl:b?{getBoundingClientRect:()=>({top:lo.y,left:lo.x,right:lo.x,bottom:lo.y,width:0,height:0})}:pt,popperRef:ot,open:pt?nt:!1,id:ct,transition:!0,...Dt,...Yt,popperOptions:qt,children:({TransitionProps:mt})=>d.jsx(ce,{timeout:D.transitions.duration.shorter,...mt,...Bt,children:d.jsxs(Et,{...Kt,children:[w,n?d.jsx(pe,{...Zt}):null]})})})]})});function qu(t){return K("MuiSpeedDialAction",t)}const Eo=Z("MuiSpeedDialAction",["fab","fabClosed","staticTooltip","staticTooltipClosed","staticTooltipLabel","tooltipPlacementLeft","tooltipPlacementRight"]),Xu=t=>{const{open:e,tooltipPlacement:o,classes:r}=t,n={fab:["fab",!e&&"fabClosed"],staticTooltip:["staticTooltip",`tooltipPlacement${T(o)}`,!e&&"staticTooltipClosed"],staticTooltipLabel:["staticTooltipLabel"]};return q(n,qu,r)},Yu=S(Fn,{name:"MuiSpeedDialAction",slot:"Fab",skipVariantsResolver:!1,overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.fab,!o.open&&e.fabClosed]}})(U(({theme:t})=>({margin:8,color:(t.vars||t).palette.text.secondary,backgroundColor:(t.vars||t).palette.background.paper,"&:hover":{backgroundColor:t.vars?t.vars.palette.SpeedDialAction.fabHoverBg:Ho(t.palette.background.paper,.15)},transition:`${t.transitions.create("transform",{duration:t.transitions.duration.shorter})}, opacity 0.8s`,opacity:1,variants:[{props:({ownerState:e})=>!e.open,style:{opacity:0,transform:"scale(0)"}}]}))),Ku=S("span",{name:"MuiSpeedDialAction",slot:"StaticTooltip",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.staticTooltip,!o.open&&e.staticTooltipClosed,e[`tooltipPlacement${T(o.tooltipPlacement)}`]]}})(U(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",[`& .${Eo.staticTooltipLabel}`]:{transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.shorter}),opacity:1},variants:[{props:({ownerState:e})=>!e.open,style:{[`& .${Eo.staticTooltipLabel}`]:{opacity:0,transform:"scale(0.5)"}}},{props:{tooltipPlacement:"left"},style:{[`& .${Eo.staticTooltipLabel}`]:{transformOrigin:"100% 50%",right:"100%",marginRight:8}}},{props:{tooltipPlacement:"right"},style:{[`& .${Eo.staticTooltipLabel}`]:{transformOrigin:"0% 50%",left:"100%",marginLeft:8}}}]}))),Zu=S("span",{name:"MuiSpeedDialAction",slot:"StaticTooltipLabel",overridesResolver:(t,e)=>e.staticTooltipLabel})(U(({theme:t})=>({position:"absolute",...t.typography.body1,backgroundColor:(t.vars||t).palette.background.paper,borderRadius:(t.vars||t).shape.borderRadius,boxShadow:(t.vars||t).shadows[1],color:(t.vars||t).palette.text.secondary,padding:"4px 16px",wordBreak:"keep-all"}))),Xb=u.forwardRef(function(e,o){var D;const r=X({props:e,name:"MuiSpeedDialAction"}),{className:n,delay:s=0,FabProps:a={},icon:i,id:l,open:c,TooltipClasses:p,tooltipOpen:f=!1,tooltipPlacement:v="left",tooltipTitle:m,slots:y={},slotProps:g={},...h}=r,b={...r,tooltipPlacement:v},x=Xu(b),C={slots:y,slotProps:{fab:a,...g,tooltip:vo(typeof g.tooltip=="function"?g.tooltip(b):g.tooltip,{title:m,open:f,placement:v,classes:p})}},[R,P]=u.useState((D=C.slotProps.tooltip)==null?void 0:D.open),N=()=>{P(!1)},$=()=>{P(!0)},A={transitionDelay:`${s}ms`},[k,I]=V("fab",{elementType:Yu,externalForwardedProps:C,ownerState:b,shouldForwardComponentProp:!0,className:j(x.fab,n),additionalProps:{style:A,tabIndex:-1,role:"menuitem",size:"small"}}),[F,L]=V("tooltip",{elementType:_u,externalForwardedProps:C,shouldForwardComponentProp:!0,ref:o,additionalProps:{id:l},ownerState:b,getSlotProps:et=>({...et,onClose:pt=>{var _;(_=et.onClose)==null||_.call(et,pt),N()},onOpen:pt=>{var _;(_=et.onOpen)==null||_.call(et,pt),$()}})}),[w,M]=V("staticTooltip",{elementType:Ku,externalForwardedProps:C,ownerState:b,ref:o,className:x.staticTooltip,additionalProps:{id:l}}),[H,z]=V("staticTooltipLabel",{elementType:Zu,externalForwardedProps:C,ownerState:b,className:x.staticTooltipLabel,additionalProps:{style:A,id:`${l}-label`}}),Q=d.jsx(k,{...I,children:i});return L.open?d.jsxs(w,{...M,...h,children:[d.jsx(H,{...z,children:L.title}),u.cloneElement(Q,{"aria-labelledby":`${l}-label`})]}):(!c&&R&&P(!1),d.jsx(F,{...L,title:L.title,open:c&&R,placement:L.placement,classes:L.classes,...h,children:Q}))}),Ju=Ht(d.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");function Qu(t){return K("MuiSpeedDialIcon",t)}const ve=Z("MuiSpeedDialIcon",["root","icon","iconOpen","iconWithOpenIconOpen","openIcon","openIconOpen"]),tf=t=>{const{classes:e,open:o,openIcon:r}=t;return q({root:["root"],icon:["icon",o&&"iconOpen",r&&o&&"iconWithOpenIconOpen"],openIcon:["openIcon",o&&"openIconOpen"]},Qu,e)},ef=S("span",{name:"MuiSpeedDialIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${ve.icon}`]:e.icon},{[`& .${ve.icon}`]:o.open&&e.iconOpen},{[`& .${ve.icon}`]:o.open&&o.openIcon&&e.iconWithOpenIconOpen},{[`& .${ve.openIcon}`]:e.openIcon},{[`& .${ve.openIcon}`]:o.open&&e.openIconOpen},e.root]}})(U(({theme:t})=>({height:24,[`& .${ve.icon}`]:{transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.short})},[`& .${ve.openIcon}`]:{position:"absolute",transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.short}),opacity:0,transform:"rotate(-45deg)"},variants:[{props:({ownerState:e})=>e.open,style:{[`& .${ve.icon}`]:{transform:"rotate(45deg)"}}},{props:({ownerState:e})=>e.open&&e.openIcon,style:{[`& .${ve.icon}`]:{opacity:0}}},{props:({ownerState:e})=>e.open,style:{[`& .${ve.openIcon}`]:{transform:"rotate(0deg)",opacity:1}}}]}))),of=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSpeedDialIcon"}),{className:n,icon:s,open:a,openIcon:i,...l}=r,c=r,p=tf(c);function f(v,m){return u.isValidElement(v)?u.cloneElement(v,{className:m}):v}return d.jsxs(ef,{className:j(p.root,n),ref:o,ownerState:c,...l,children:[i?f(i,p.openIcon):null,s?f(s,p.icon):d.jsx(Ju,{className:p.icon})]})});of.muiName="SpeedDialIcon";const Yb=Ia({createStyledComponent:S("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root}),useThemeProps:t=>X({props:t,name:"MuiStack"})}),Kb=Z("MuiStack",["root"]),Ve=u.createContext({});function Zb(){return u.useContext(Ve)}const Je=u.createContext({});function Jb(){return u.useContext(Je)}function rf(t){return K("MuiStep",t)}const Qb=Z("MuiStep",["root","horizontal","vertical","alternativeLabel","completed"]),nf=t=>{const{classes:e,orientation:o,alternativeLabel:r,completed:n}=t;return q({root:["root",o,r&&"alternativeLabel",n&&"completed"]},rf,e)},sf=S("div",{name:"MuiStep",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.completed&&e.completed]}})({variants:[{props:{orientation:"horizontal"},style:{paddingLeft:8,paddingRight:8}},{props:{alternativeLabel:!0},style:{flex:1,position:"relative"}}]}),tv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStep"}),{active:n,children:s,className:a,component:i="div",completed:l,disabled:c,expanded:p=!1,index:f,last:v,...m}=r,{activeStep:y,connector:g,alternativeLabel:h,orientation:b,nonLinear:x}=u.useContext(Ve);let[C=!1,R=!1,P=!1]=[n,l,c];y===f?C=n!==void 0?n:!0:!x&&y>f?R=l!==void 0?l:!0:!x&&y({index:f,last:v,expanded:p,icon:f+1,active:C,completed:R,disabled:P}),[f,v,p,C,R,P]),$={...r,active:C,orientation:b,alternativeLabel:h,completed:R,disabled:P,expanded:p,component:i},A=nf($),k=d.jsxs(sf,{as:i,className:j(A.root,a),ref:o,ownerState:$,...m,children:[g&&h&&f!==0?g:null,s]});return d.jsx(Je.Provider,{value:N,children:g&&!h&&f!==0?d.jsxs(u.Fragment,{children:[g,k]}):k})}),af=Ht(d.jsx("path",{d:"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"}),"CheckCircle"),lf=Ht(d.jsx("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning");function cf(t){return K("MuiStepIcon",t)}const gr=Z("MuiStepIcon",["root","active","completed","error","text"]);var un;const pf=t=>{const{classes:e,active:o,completed:r,error:n}=t;return q({root:["root",o&&"active",r&&"completed",n&&"error"],text:["text"]},cf,e)},mr=S(Zs,{name:"MuiStepIcon",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),color:(t.vars||t).palette.text.disabled,[`&.${gr.completed}`]:{color:(t.vars||t).palette.primary.main},[`&.${gr.active}`]:{color:(t.vars||t).palette.primary.main},[`&.${gr.error}`]:{color:(t.vars||t).palette.error.main}}))),df=S("text",{name:"MuiStepIcon",slot:"Text",overridesResolver:(t,e)=>e.text})(U(({theme:t})=>({fill:(t.vars||t).palette.primary.contrastText,fontSize:t.typography.caption.fontSize,fontFamily:t.typography.fontFamily}))),uf=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepIcon"}),{active:n=!1,className:s,completed:a=!1,error:i=!1,icon:l,...c}=r,p={...r,active:n,completed:a,error:i},f=pf(p);if(typeof l=="number"||typeof l=="string"){const v=j(s,f.root);return i?d.jsx(mr,{as:lf,className:v,ref:o,ownerState:p,...c}):a?d.jsx(mr,{as:af,className:v,ref:o,ownerState:p,...c}):d.jsxs(mr,{className:v,ref:o,ownerState:p,...c,children:[un||(un=d.jsx("circle",{cx:"12",cy:"12",r:"12"})),d.jsx(df,{className:f.text,x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",ownerState:p,children:l})]})}return l});function ff(t){return K("MuiStepLabel",t)}const Ie=Z("MuiStepLabel",["root","horizontal","vertical","label","active","completed","error","disabled","iconContainer","alternativeLabel","labelContainer"]),gf=t=>{const{classes:e,orientation:o,active:r,completed:n,error:s,disabled:a,alternativeLabel:i}=t;return q({root:["root",o,s&&"error",a&&"disabled",i&&"alternativeLabel"],label:["label",r&&"active",n&&"completed",s&&"error",a&&"disabled",i&&"alternativeLabel"],iconContainer:["iconContainer",r&&"active",n&&"completed",s&&"error",a&&"disabled",i&&"alternativeLabel"],labelContainer:["labelContainer",i&&"alternativeLabel"]},ff,e)},mf=S("span",{name:"MuiStepLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation]]}})({display:"flex",alignItems:"center",[`&.${Ie.alternativeLabel}`]:{flexDirection:"column"},[`&.${Ie.disabled}`]:{cursor:"default"},variants:[{props:{orientation:"vertical"},style:{textAlign:"left",padding:"8px 0"}}]}),bf=S("span",{name:"MuiStepLabel",slot:"Label",overridesResolver:(t,e)=>e.label})(U(({theme:t})=>({...t.typography.body2,display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),[`&.${Ie.active}`]:{color:(t.vars||t).palette.text.primary,fontWeight:500},[`&.${Ie.completed}`]:{color:(t.vars||t).palette.text.primary,fontWeight:500},[`&.${Ie.alternativeLabel}`]:{marginTop:16},[`&.${Ie.error}`]:{color:(t.vars||t).palette.error.main}}))),vf=S("span",{name:"MuiStepLabel",slot:"IconContainer",overridesResolver:(t,e)=>e.iconContainer})({flexShrink:0,display:"flex",paddingRight:8,[`&.${Ie.alternativeLabel}`]:{paddingRight:0}}),yf=S("span",{name:"MuiStepLabel",slot:"LabelContainer",overridesResolver:(t,e)=>e.labelContainer})(U(({theme:t})=>({width:"100%",color:(t.vars||t).palette.text.secondary,[`&.${Ie.alternativeLabel}`]:{textAlign:"center"}}))),Zn=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepLabel"}),{children:n,className:s,componentsProps:a={},error:i=!1,icon:l,optional:c,slots:p={},slotProps:f={},StepIconComponent:v,StepIconProps:m,...y}=r,{alternativeLabel:g,orientation:h}=u.useContext(Ve),{active:b,disabled:x,completed:C,icon:R}=u.useContext(Je),P=l||R;let N=v;P&&!N&&(N=uf);const $={...r,active:b,alternativeLabel:g,completed:C,disabled:x,error:i,orientation:h},A=gf($),k={slots:p,slotProps:{stepIcon:m,...a,...f}},[I,F]=V("root",{elementType:mf,externalForwardedProps:{...k,...y},ownerState:$,ref:o,className:j(A.root,s)}),[L,w]=V("label",{elementType:bf,externalForwardedProps:k,ownerState:$}),[M,H]=V("stepIcon",{elementType:N,externalForwardedProps:k,ownerState:$});return d.jsxs(I,{...F,children:[P||M?d.jsx(vf,{className:A.iconContainer,ownerState:$,children:d.jsx(M,{completed:C,active:b,error:i,icon:P,...H})}):null,d.jsxs(yf,{className:A.labelContainer,ownerState:$,children:[n?d.jsx(L,{...w,className:j(A.label,w==null?void 0:w.className),children:n}):null,c]})]})});Zn.muiName="StepLabel";function hf(t){return K("MuiStepButton",t)}const fn=Z("MuiStepButton",["root","horizontal","vertical","touchRipple"]),xf=t=>{const{classes:e,orientation:o}=t;return q({root:["root",o],touchRipple:["touchRipple"]},hf,e)},Cf=S(fe,{name:"MuiStepButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${fn.touchRipple}`]:e.touchRipple},e.root,e[o.orientation]]}})({width:"100%",padding:"24px 16px",margin:"-24px -16px",boxSizing:"content-box",[`& .${fn.touchRipple}`]:{color:"rgba(0, 0, 0, 0.3)"},variants:[{props:{orientation:"vertical"},style:{justifyContent:"flex-start",padding:"8px",margin:"-8px"}}]}),ev=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepButton"}),{children:n,className:s,icon:a,optional:i,...l}=r,{disabled:c,active:p}=u.useContext(Je),{orientation:f}=u.useContext(Ve),v={...r,orientation:f},m=xf(v),y={icon:a,optional:i},g=Yo(n,["StepLabel"])?u.cloneElement(n,y):d.jsx(Zn,{...y,children:n});return d.jsx(Cf,{focusRipple:!0,disabled:c,TouchRippleProps:{className:m.touchRipple},className:j(m.root,s),ref:o,ownerState:v,"aria-current":p?"step":void 0,...l,children:g})});function Sf(t){return K("MuiStepConnector",t)}const ov=Z("MuiStepConnector",["root","horizontal","vertical","alternativeLabel","active","completed","disabled","line","lineHorizontal","lineVertical"]),wf=t=>{const{classes:e,orientation:o,alternativeLabel:r,active:n,completed:s,disabled:a}=t,i={root:["root",o,r&&"alternativeLabel",n&&"active",s&&"completed",a&&"disabled"],line:["line",`line${T(o)}`]};return q(i,Sf,e)},Rf=S("div",{name:"MuiStepConnector",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.completed&&e.completed]}})({flex:"1 1 auto",variants:[{props:{orientation:"vertical"},style:{marginLeft:12}},{props:{alternativeLabel:!0},style:{position:"absolute",top:12,left:"calc(-50% + 20px)",right:"calc(50% + 20px)"}}]}),$f=S("span",{name:"MuiStepConnector",slot:"Line",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.line,e[`line${T(o.orientation)}`]]}})(U(({theme:t})=>{const e=t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600];return{display:"block",borderColor:t.vars?t.vars.palette.StepConnector.border:e,variants:[{props:{orientation:"horizontal"},style:{borderTopStyle:"solid",borderTopWidth:1}},{props:{orientation:"vertical"},style:{borderLeftStyle:"solid",borderLeftWidth:1,minHeight:24}}]}})),Pf=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepConnector"}),{className:n,...s}=r,{alternativeLabel:a,orientation:i="horizontal"}=u.useContext(Ve),{active:l,disabled:c,completed:p}=u.useContext(Je),f={...r,alternativeLabel:a,orientation:i,active:l,completed:p,disabled:c},v=wf(f);return d.jsx(Rf,{className:j(v.root,n),ref:o,ownerState:f,...s,children:d.jsx($f,{className:v.line,ownerState:f})})});function kf(t){return K("MuiStepContent",t)}const rv=Z("MuiStepContent",["root","last","transition"]),Tf=t=>{const{classes:e,last:o}=t;return q({root:["root",o&&"last"],transition:["transition"]},kf,e)},If=S("div",{name:"MuiStepContent",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.last&&e.last]}})(U(({theme:t})=>({marginLeft:12,paddingLeft:20,paddingRight:8,borderLeft:t.vars?`1px solid ${t.vars.palette.StepContent.border}`:`1px solid ${t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600]}`,variants:[{props:{last:!0},style:{borderLeft:"none"}}]}))),Mf=S(yo,{name:"MuiStepContent",slot:"Transition",overridesResolver:(t,e)=>e.transition})({}),nv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepContent"}),{children:n,className:s,TransitionComponent:a=yo,transitionDuration:i="auto",TransitionProps:l,slots:c={},slotProps:p={},...f}=r,{orientation:v}=u.useContext(Ve),{active:m,last:y,expanded:g}=u.useContext(Je),h={...r,last:y},b=Tf(h);let x=i;i==="auto"&&!a.muiSupportAuto&&(x=void 0);const C={slots:c,slotProps:{transition:l,...p}},[R,P]=V("transition",{elementType:Mf,externalForwardedProps:C,ownerState:h,className:b.transition,additionalProps:{in:m||g,timeout:x,unmountOnExit:!0}});return d.jsx(If,{className:j(b.root,s),ref:o,ownerState:h,...f,children:d.jsx(R,{as:a,...P,children:n})})});function Af(t){return K("MuiStepper",t)}const sv=Z("MuiStepper",["root","horizontal","vertical","nonLinear","alternativeLabel"]),Lf=t=>{const{orientation:e,nonLinear:o,alternativeLabel:r,classes:n}=t;return q({root:["root",e,o&&"nonLinear",r&&"alternativeLabel"]},Af,n)},Bf=S("div",{name:"MuiStepper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.nonLinear&&e.nonLinear]}})({display:"flex",variants:[{props:{orientation:"horizontal"},style:{flexDirection:"row",alignItems:"center"}},{props:{orientation:"vertical"},style:{flexDirection:"column"}},{props:{alternativeLabel:!0},style:{alignItems:"flex-start"}}]}),Nf=d.jsx(Pf,{}),av=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepper"}),{activeStep:n=0,alternativeLabel:s=!1,children:a,className:i,component:l="div",connector:c=Nf,nonLinear:p=!1,orientation:f="horizontal",...v}=r,m={...r,nonLinear:p,alternativeLabel:s,orientation:f,component:l},y=Lf(m),g=u.Children.toArray(a).filter(Boolean),h=g.map((x,C)=>u.cloneElement(x,{index:C,last:C+1===g.length,...x.props})),b=u.useMemo(()=>({activeStep:n,alternativeLabel:s,connector:c,nonLinear:p,orientation:f}),[n,s,c,p,f]);return d.jsx(Ve.Provider,{value:b,children:d.jsx(Bf,{as:l,ownerState:m,className:j(y.root,i),ref:o,...v,children:h})})}),Of=S("div",{shouldForwardProp:Se})(U(({theme:t})=>({position:"fixed",top:0,left:0,bottom:0,zIndex:t.zIndex.drawer-1,variants:[{props:{anchor:"left"},style:{right:"auto"}},{props:{anchor:"right"},style:{left:"auto",right:0}},{props:{anchor:"top"},style:{bottom:"auto",right:0}},{props:{anchor:"bottom"},style:{top:"auto",bottom:0,right:0}}]}))),zf=u.forwardRef(function(e,o){const{anchor:r,classes:n={},className:s,width:a,style:i,...l}=e,c=e;return d.jsx(Of,{className:j("PrivateSwipeArea-root",n.root,n[`anchor${T(r)}`],s),ref:o,style:{[Ne(r)?"width":"height"]:a,...i},ownerState:c,...l})}),Fo=3,br=20;let xe=null;function vr(t,e,o){return t==="right"?o.body.offsetWidth-e[0].pageX:e[0].pageX}function yr(t,e,o){return t==="bottom"?o.innerHeight-e[0].clientY:e[0].clientY}function co(t,e){return t?e.clientWidth:e.clientHeight}function gn(t,e,o,r){return Math.min(Math.max(o?e-t:r+e-t,0),r)}function jf(t,e){const o=[];for(;t&&t!==e.parentElement;){const r=Ye(e).getComputedStyle(t);r.getPropertyValue("position")==="absolute"||r.getPropertyValue("overflow-x")==="hidden"||(t.clientWidth>0&&t.scrollWidth>t.clientWidth||t.clientHeight>0&&t.scrollHeight>t.clientHeight)&&o.push(t),t=t.parentElement}return o}function Df({domTreeShapes:t,start:e,current:o,anchor:r}){const n={scrollPosition:{x:"scrollLeft",y:"scrollTop"},scrollLength:{x:"scrollWidth",y:"scrollHeight"},clientLength:{x:"clientWidth",y:"clientHeight"}};return t.some(s=>{let a=o>=e;(r==="top"||r==="left")&&(a=!a);const i=r==="left"||r==="right"?"x":"y",l=Math.round(s[n.scrollPosition[i]]),c=l>0,p=l+s[n.clientLength[i]]{et.current=null},[x]);const pt=u.useCallback((W,it={})=>{const{mode:dt=null,changeTransition:bt=!0}=it,$t=po(n,a),nt=["right","bottom"].includes($t)?1:-1,ct=Ne(a),vt=ct?`translate(${nt*W}px, 0)`:`translate(0, ${nt*W}px)`,yt=z.current.style;yt.webkitTransform=vt,yt.transform=vt;let Ot="";if(dt&&(Ot=n.transitions.create("all",Ue({easing:void 0,style:void 0,timeout:N},{mode:dt}))),bt&&(yt.webkitTransition=Ot,yt.transition=Ot),!i&&!p){const Y=H.current.style;Y.opacity=1-W/co(ct,z.current),bt&&(Y.webkitTransition=Ot,Y.transition=Ot)}},[a,i,p,n,N]),_=ne(W=>{if(!D.current)return;if(xe=null,D.current=!1,Ur.flushSync(()=>{L(!1)}),!w.current.isSwiping){w.current.isSwiping=null;return}w.current.isSwiping=null;const it=po(n,a),dt=Ne(a);let bt;dt?bt=vr(it,W.changedTouches,de(W.currentTarget)):bt=yr(it,W.changedTouches,Ye(W.currentTarget));const $t=dt?w.current.startX:w.current.startY,nt=co(dt,z.current),ct=gn(bt,$t,x,nt),vt=ct/nt;if(Math.abs(w.current.velocity)>m&&(et.current=Math.abs((nt-ct)/w.current.velocity)*1e3),x){w.current.velocity>m||vt>f?h():pt(0,{mode:"exit"});return}w.current.velocity<-m||1-vt>f?b():pt(co(dt,z.current),{mode:"enter"})}),wt=(W=!1)=>{if(!F){(W||!(l&&v))&&Ur.flushSync(()=>{L(!0)});const it=Ne(a);!x&&z.current&&pt(co(it,z.current)+(l?15:-br),{changeTransition:!1}),w.current.velocity=0,w.current.lastTime=null,w.current.lastTranslate=null,w.current.paperHit=!1,D.current=!0}},Lt=ne(W=>{if(!z.current||!D.current||xe!==null&&xe!==w.current)return;wt(!0);const it=po(n,a),dt=Ne(a),bt=vr(it,W.touches,de(W.currentTarget)),$t=yr(it,W.touches,Ye(W.currentTarget));if(x&&z.current.contains(W.target)&&xe===null){const Ot=jf(W.target,z.current);if(Df({domTreeShapes:Ot,start:dt?w.current.startX:w.current.startY,current:dt?bt:$t,anchor:a})){xe=!0;return}xe=w.current}if(w.current.isSwiping==null){const Ot=Math.abs(bt-w.current.startX),Y=Math.abs($t-w.current.startY),tt=dt?Ot>Y&&Ot>Fo:Y>Ot&&Y>Fo;if(tt&&W.cancelable&&W.preventDefault(),tt===!0||(dt?Y>Fo:Ot>Fo)){if(w.current.isSwiping=tt,!tt){_(W);return}w.current.startX=bt,w.current.startY=$t,!l&&!x&&(dt?w.current.startX-=br:w.current.startY-=br)}}if(!w.current.isSwiping)return;const nt=co(dt,z.current);let ct=dt?w.current.startX:w.current.startY;x&&!w.current.paperHit&&(ct=Math.min(ct,nt));const vt=gn(dt?bt:$t,ct,x,nt);if(x)if(w.current.paperHit)vt===0&&(w.current.startX=bt,w.current.startY=$t);else if(dt?bt{var nt;if(W.defaultPrevented||W.defaultMuiPrevented||x&&(p||!H.current.contains(W.target))&&!z.current.contains(W.target))return;const it=po(n,a),dt=Ne(a),bt=vr(it,W.touches,de(W.currentTarget)),$t=yr(it,W.touches,Ye(W.currentTarget));if(!x){if(c||!(W.target===M.current||(nt=z.current)!=null&&nt.contains(W.target)&&(typeof v=="function"?v(W,M.current,z.current):v)))return;if(dt){if(bt>P)return}else if($t>P)return}W.defaultMuiPrevented=!0,xe=null,w.current.startX=bt,w.current.startY=$t,wt()});u.useEffect(()=>{if($==="temporary"){const W=de(z.current);return W.addEventListener("touchstart",Rt),W.addEventListener("touchmove",Lt,{passive:!x}),W.addEventListener("touchend",_),()=>{W.removeEventListener("touchstart",Rt),W.removeEventListener("touchmove",Lt,{passive:!x}),W.removeEventListener("touchend",_)}}},[$,x,Rt,Lt,_]),u.useEffect(()=>()=>{xe===w.current&&(xe=null)},[]),u.useEffect(()=>{x||L(!1)},[x]);const[lt,rt]=V("swipeArea",{ref:M,elementType:zf,ownerState:r,externalForwardedProps:{slots:A,slotProps:{swipeArea:R,...k}},additionalProps:{width:P,anchor:a}});return d.jsxs(u.Fragment,{children:[d.jsx(Uc,{open:$==="temporary"&&F?!0:x,variant:$,ModalProps:{BackdropProps:{...y,ref:H},...$==="temporary"&&{keepMounted:!0},...g},hideBackdrop:p,anchor:a,transitionDuration:et.current||N,onClose:h,ref:o,slots:A,slotProps:{...k,backdrop:vo(k.backdrop??y,{ref:H}),paper:vo(k.paper??C,{style:{pointerEvents:$==="temporary"&&!x&&!v?"none":""},ref:Q})},...I}),!c&&$==="temporary"&&d.jsx(ud,{children:d.jsx(lt,{...rt})})]})});function Ff(t){return K("MuiSwitch",t)}const oe=Z("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Uf=t=>{const{classes:e,edge:o,size:r,color:n,checked:s,disabled:a}=t,i={root:["root",o&&`edge${T(o)}`,`size${T(r)}`],switchBase:["switchBase",`color${T(n)}`,s&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=q(i,Ff,e);return{...e,...l}},Wf=S("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.edge&&e[`edge${T(o.edge)}`],e[`size${T(o.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,[`& .${oe.thumb}`]:{width:16,height:16},[`& .${oe.switchBase}`]:{padding:4,[`&.${oe.checked}`]:{transform:"translateX(16px)"}}}}]}),Hf=S(Or,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.switchBase,{[`& .${oe.input}`]:e.input},o.color!=="default"&&e[`color${T(o.color)}`]]}})(U(({theme:t})=>({position:"absolute",top:0,left:0,zIndex:1,color:t.vars?t.vars.palette.Switch.defaultColor:`${t.palette.mode==="light"?t.palette.common.white:t.palette.grey[300]}`,transition:t.transitions.create(["left","transform"],{duration:t.transitions.duration.shortest}),[`&.${oe.checked}`]:{transform:"translateX(20px)"},[`&.${oe.disabled}`]:{color:t.vars?t.vars.palette.Switch.defaultDisabledColor:`${t.palette.mode==="light"?t.palette.grey[100]:t.palette.grey[600]}`},[`&.${oe.checked} + .${oe.track}`]:{opacity:.5},[`&.${oe.disabled} + .${oe.track}`]:{opacity:t.vars?t.vars.opacity.switchTrackDisabled:`${t.palette.mode==="light"?.12:.2}`},[`& .${oe.input}`]:{left:"-100%",width:"300%"}})),U(({theme:t})=>({"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(t.palette).filter(Ft(["light"])).map(([e])=>({props:{color:e},style:{[`&.${oe.checked}`]:{color:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette[e].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${oe.disabled}`]:{color:t.vars?t.vars.palette.Switch[`${e}DisabledColor`]:`${t.palette.mode==="light"?Fe(t.palette[e].main,.62):Ee(t.palette[e].main,.55)}`}},[`&.${oe.checked} + .${oe.track}`]:{backgroundColor:(t.vars||t).palette[e].main}}}))]}))),Vf=S("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(t,e)=>e.track})(U(({theme:t})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:t.vars?t.vars.palette.common.onBackground:`${t.palette.mode==="light"?t.palette.common.black:t.palette.common.white}`,opacity:t.vars?t.vars.opacity.switchTrack:`${t.palette.mode==="light"?.38:.3}`}))),Gf=S("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(t,e)=>e.thumb})(U(({theme:t})=>({boxShadow:(t.vars||t).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}))),lv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSwitch"}),{className:n,color:s="primary",edge:a=!1,size:i="medium",sx:l,slots:c={},slotProps:p={},...f}=r,v={...r,color:s,edge:a,size:i},m=Uf(v),y={slots:c,slotProps:p},[g,h]=V("root",{className:j(m.root,n),elementType:Wf,externalForwardedProps:y,ownerState:v,additionalProps:{sx:l}}),[b,x]=V("thumb",{className:m.thumb,elementType:Gf,externalForwardedProps:y,ownerState:v}),C=d.jsx(b,{...x}),[R,P]=V("track",{className:m.track,elementType:Vf,externalForwardedProps:y,ownerState:v});return d.jsxs(g,{...h,children:[d.jsx(Hf,{type:"checkbox",icon:C,checkedIcon:C,ref:o,ownerState:v,...f,classes:{...m,root:m.switchBase},slots:{...c.switchBase&&{root:c.switchBase},...c.input&&{input:c.input}},slotProps:{...p.switchBase&&{root:typeof p.switchBase=="function"?p.switchBase(v):p.switchBase},...p.input&&{input:typeof p.input=="function"?p.input(v):p.input}}}),d.jsx(R,{...P})]})}),Jn=u.createContext();function _f(t){return K("MuiTable",t)}const cv=Z("MuiTable",["root","stickyHeader"]),qf=t=>{const{classes:e,stickyHeader:o}=t;return q({root:["root",o&&"stickyHeader"]},_f,e)},Xf=S("table",{name:"MuiTable",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.stickyHeader&&e.stickyHeader]}})(U(({theme:t})=>({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...t.typography.body2,padding:t.spacing(2),color:(t.vars||t).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:({ownerState:e})=>e.stickyHeader,style:{borderCollapse:"separate"}}]}))),mn="table",pv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTable"}),{className:n,component:s=mn,padding:a="normal",size:i="medium",stickyHeader:l=!1,...c}=r,p={...r,component:s,padding:a,size:i,stickyHeader:l},f=qf(p),v=u.useMemo(()=>({padding:a,size:i,stickyHeader:l}),[a,i,l]);return d.jsx(Jn.Provider,{value:v,children:d.jsx(Xf,{as:s,role:s===mn?null:"table",ref:o,className:j(f.root,n),ownerState:p,...c})})}),wo=u.createContext();function Yf(t){return K("MuiTableBody",t)}const dv=Z("MuiTableBody",["root"]),Kf=t=>{const{classes:e}=t;return q({root:["root"]},Yf,e)},Zf=S("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-row-group"}),Jf={variant:"body"},bn="tbody",uv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableBody"}),{className:n,component:s=bn,...a}=r,i={...r,component:s},l=Kf(i);return d.jsx(wo.Provider,{value:Jf,children:d.jsx(Zf,{className:j(l.root,n),as:s,ref:o,role:s===bn?null:"rowgroup",ownerState:i,...a})})});function Qf(t){return K("MuiTableCell",t)}const tg=Z("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),eg=t=>{const{classes:e,variant:o,align:r,padding:n,size:s,stickyHeader:a}=t,i={root:["root",o,a&&"stickyHeader",r!=="inherit"&&`align${T(r)}`,n!=="normal"&&`padding${T(n)}`,`size${T(s)}`]};return q(i,Qf,e)},og=S("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${T(o.size)}`],o.padding!=="normal"&&e[`padding${T(o.padding)}`],o.align!=="inherit"&&e[`align${T(o.align)}`],o.stickyHeader&&e.stickyHeader]}})(U(({theme:t})=>({...t.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:t.vars?`1px solid ${t.vars.palette.TableCell.border}`:`1px solid - ${t.palette.mode==="light"?Fe(Tt(t.palette.divider,1),.88):Ee(Tt(t.palette.divider,1),.68)}`,textAlign:"left",padding:16,variants:[{props:{variant:"head"},style:{color:(t.vars||t).palette.text.primary,lineHeight:t.typography.pxToRem(24),fontWeight:t.typography.fontWeightMedium}},{props:{variant:"body"},style:{color:(t.vars||t).palette.text.primary}},{props:{variant:"footer"},style:{color:(t.vars||t).palette.text.secondary,lineHeight:t.typography.pxToRem(21),fontSize:t.typography.pxToRem(12)}},{props:{size:"small"},style:{padding:"6px 16px",[`&.${tg.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:e})=>e.stickyHeader,style:{position:"sticky",top:0,zIndex:2,backgroundColor:(t.vars||t).palette.background.default}}]}))),Pr=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableCell"}),{align:n="inherit",className:s,component:a,padding:i,scope:l,size:c,sortDirection:p,variant:f,...v}=r,m=u.useContext(Jn),y=u.useContext(wo),g=y&&y.variant==="head";let h;a?h=a:h=g?"th":"td";let b=l;h==="td"?b=void 0:!b&&g&&(b="col");const x=f||y&&y.variant,C={...r,align:n,component:h,padding:i||(m&&m.padding?m.padding:"normal"),size:c||(m&&m.size?m.size:"medium"),sortDirection:p,stickyHeader:x==="head"&&m&&m.stickyHeader,variant:x},R=eg(C);let P=null;return p&&(P=p==="asc"?"ascending":"descending"),d.jsx(og,{as:h,ref:o,className:j(R.root,s),"aria-sort":P,scope:b,ownerState:C,...v})});function rg(t){return K("MuiTableContainer",t)}const fv=Z("MuiTableContainer",["root"]),ng=t=>{const{classes:e}=t;return q({root:["root"]},rg,e)},sg=S("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(t,e)=>e.root})({width:"100%",overflowX:"auto"}),gv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableContainer"}),{className:n,component:s="div",...a}=r,i={...r,component:s},l=ng(i);return d.jsx(sg,{ref:o,as:s,className:j(l.root,n),ownerState:i,...a})});function ag(t){return K("MuiTableFooter",t)}const mv=Z("MuiTableFooter",["root"]),ig=t=>{const{classes:e}=t;return q({root:["root"]},ag,e)},lg=S("tfoot",{name:"MuiTableFooter",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-footer-group"}),cg={variant:"footer"},vn="tfoot",bv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableFooter"}),{className:n,component:s=vn,...a}=r,i={...r,component:s},l=ig(i);return d.jsx(wo.Provider,{value:cg,children:d.jsx(lg,{as:s,className:j(l.root,n),ref:o,role:s===vn?null:"rowgroup",ownerState:i,...a})})});function pg(t){return K("MuiTableHead",t)}const vv=Z("MuiTableHead",["root"]),dg=t=>{const{classes:e}=t;return q({root:["root"]},pg,e)},ug=S("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-header-group"}),fg={variant:"head"},yn="thead",yv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableHead"}),{className:n,component:s=yn,...a}=r,i={...r,component:s},l=dg(i);return d.jsx(wo.Provider,{value:fg,children:d.jsx(ug,{as:s,className:j(l.root,n),ref:o,role:s===yn?null:"rowgroup",ownerState:i,...a})})});function gg(t){return K("MuiToolbar",t)}const hv=Z("MuiToolbar",["root","gutters","regular","dense"]),mg=t=>{const{classes:e,disableGutters:o,variant:r}=t;return q({root:["root",!o&&"gutters",r]},gg,e)},bg=S("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableGutters&&e.gutters,e[o.variant]]}})(U(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",variants:[{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:t.spacing(2),paddingRight:t.spacing(2),[t.breakpoints.up("sm")]:{paddingLeft:t.spacing(3),paddingRight:t.spacing(3)}}},{props:{variant:"dense"},style:{minHeight:48}},{props:{variant:"regular"},style:t.mixins.toolbar}]}))),vg=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiToolbar"}),{className:n,component:s="div",disableGutters:a=!1,variant:i="regular",...l}=r,c={...r,component:s,disableGutters:a,variant:i},p=mg(c);return d.jsx(bg,{as:s,className:j(p.root,n),ref:o,ownerState:c,...l})}),yg=u.forwardRef(function(e,o){const{backIconButtonProps:r,count:n,disabled:s=!1,getItemAriaLabel:a,nextIconButtonProps:i,onPageChange:l,page:c,rowsPerPage:p,showFirstButton:f,showLastButton:v,slots:m={},slotProps:y={},...g}=e,h=He(),b=_=>{l(_,0)},x=_=>{l(_,c-1)},C=_=>{l(_,c+1)},R=_=>{l(_,Math.max(0,Math.ceil(n/p)-1))},P=m.firstButton??ze,N=m.lastButton??ze,$=m.nextButton??ze,A=m.previousButton??ze,k=m.firstButtonIcon??Vn,I=m.lastButtonIcon??Gn,F=m.nextButtonIcon??Gs,L=m.previousButtonIcon??_s,w=h?N:P,M=h?$:A,H=h?A:$,z=h?P:N,Q=h?y.lastButton:y.firstButton,D=h?y.nextButton:y.previousButton,et=h?y.previousButton:y.nextButton,pt=h?y.firstButton:y.lastButton;return d.jsxs("div",{ref:o,...g,children:[f&&d.jsx(w,{onClick:b,disabled:s||c===0,"aria-label":a("first",c),title:a("first",c),...Q,children:h?d.jsx(I,{...y.lastButtonIcon}):d.jsx(k,{...y.firstButtonIcon})}),d.jsx(M,{onClick:x,disabled:s||c===0,color:"inherit","aria-label":a("previous",c),title:a("previous",c),...D??r,children:h?d.jsx(F,{...y.nextButtonIcon}):d.jsx(L,{...y.previousButtonIcon})}),d.jsx(H,{onClick:C,disabled:s||(n!==-1?c>=Math.ceil(n/p)-1:!1),color:"inherit","aria-label":a("next",c),title:a("next",c),...et??i,children:h?d.jsx(L,{...y.previousButtonIcon}):d.jsx(F,{...y.nextButtonIcon})}),v&&d.jsx(z,{onClick:R,disabled:s||c>=Math.ceil(n/p)-1,"aria-label":a("last",c),title:a("last",c),...pt,children:h?d.jsx(k,{...y.firstButtonIcon}):d.jsx(I,{...y.lastButtonIcon})})]})});function hg(t){return K("MuiTablePagination",t)}const go=Z("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]);var hn;const xg=S(Pr,{name:"MuiTablePagination",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({overflow:"auto",color:(t.vars||t).palette.text.primary,fontSize:t.typography.pxToRem(14),"&:last-child":{padding:0}}))),Cg=S(vg,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:(t,e)=>({[`& .${go.actions}`]:e.actions,...e.toolbar})})(U(({theme:t})=>({minHeight:52,paddingRight:2,[`${t.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[t.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${go.actions}`]:{flexShrink:0,marginLeft:20}}))),Sg=S("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:(t,e)=>e.spacer})({flex:"1 1 100%"}),wg=S("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:(t,e)=>e.selectLabel})(U(({theme:t})=>({...t.typography.body2,flexShrink:0}))),Rg=S(Xs,{name:"MuiTablePagination",slot:"Select",overridesResolver:(t,e)=>({[`& .${go.selectIcon}`]:e.selectIcon,[`& .${go.select}`]:e.select,...e.input,...e.selectRoot})})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${go.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),$g=S(qs,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:(t,e)=>e.menuItem})({}),Pg=S("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:(t,e)=>e.displayedRows})(U(({theme:t})=>({...t.typography.body2,flexShrink:0})));function kg({from:t,to:e,count:o}){return`${t}–${e} of ${o!==-1?o:`more than ${e}`}`}function Tg(t){return`Go to ${t} page`}const Ig=t=>{const{classes:e}=t;return q({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},hg,e)},xv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTablePagination"}),{ActionsComponent:n=yg,backIconButtonProps:s,colSpan:a,component:i=Pr,count:l,disabled:c=!1,getItemAriaLabel:p=Tg,labelDisplayedRows:f=kg,labelRowsPerPage:v="Rows per page:",nextIconButtonProps:m,onPageChange:y,onRowsPerPageChange:g,page:h,rowsPerPage:b,rowsPerPageOptions:x=[10,25,50,100],SelectProps:C={},showFirstButton:R=!1,showLastButton:P=!1,slotProps:N={},slots:$={},...A}=r,k=r,I=Ig(k),F=(N==null?void 0:N.select)??C,L=F.native?"option":$g;let w;(i===Pr||i==="td")&&(w=a||1e3);const M=We(F.id),H=We(F.labelId),z=()=>l===-1?(h+1)*b:b===-1?l:Math.min(l,(h+1)*b),Q={slots:$,slotProps:N},[D,et]=V("root",{ref:o,className:I.root,elementType:xg,externalForwardedProps:{...Q,component:i,...A},ownerState:k,additionalProps:{colSpan:w}}),[pt,_]=V("toolbar",{className:I.toolbar,elementType:Cg,externalForwardedProps:Q,ownerState:k}),[wt,Lt]=V("spacer",{className:I.spacer,elementType:Sg,externalForwardedProps:Q,ownerState:k}),[Rt,lt]=V("selectLabel",{className:I.selectLabel,elementType:wg,externalForwardedProps:Q,ownerState:k,additionalProps:{id:H}}),[rt,W]=V("select",{className:I.select,elementType:Rg,externalForwardedProps:Q,ownerState:k}),[it,dt]=V("menuItem",{className:I.menuItem,elementType:L,externalForwardedProps:Q,ownerState:k}),[bt,$t]=V("displayedRows",{className:I.displayedRows,elementType:Pg,externalForwardedProps:Q,ownerState:k});return d.jsx(D,{...et,children:d.jsxs(pt,{..._,children:[d.jsx(wt,{...Lt}),x.length>1&&d.jsx(Rt,{...lt,children:v}),x.length>1&&d.jsx(rt,{variant:"standard",...!F.variant&&{input:hn||(hn=d.jsx(Ks,{}))},value:b,onChange:g,id:M,labelId:H,...F,classes:{...F.classes,root:j(I.input,I.selectRoot,(F.classes||{}).root),select:j(I.select,(F.classes||{}).select),icon:j(I.selectIcon,(F.classes||{}).icon)},disabled:c,...W,children:x.map(nt=>u.createElement(it,{...dt,key:nt.label?nt.label:nt,value:nt.value?nt.value:nt},nt.label?nt.label:nt))}),d.jsx(bt,{...$t,children:f({from:l===0?0:h*b+1,to:z(),count:l===-1?-1:l,page:h})}),d.jsx(n,{className:I.actions,backIconButtonProps:s,count:l,nextIconButtonProps:m,onPageChange:y,page:h,rowsPerPage:b,showFirstButton:R,showLastButton:P,slotProps:N.actions,slots:$.actions,getItemAriaLabel:p,disabled:c})]})})});function Mg(t){return K("MuiTableRow",t)}const xn=Z("MuiTableRow",["root","selected","hover","head","footer"]),Ag=t=>{const{classes:e,selected:o,hover:r,head:n,footer:s}=t;return q({root:["root",o&&"selected",r&&"hover",n&&"head",s&&"footer"]},Mg,e)},Lg=S("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.head&&e.head,o.footer&&e.footer]}})(U(({theme:t})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${xn.hover}:hover`]:{backgroundColor:(t.vars||t).palette.action.hover},[`&.${xn.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity)}}}))),Cn="tr",Cv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableRow"}),{className:n,component:s=Cn,hover:a=!1,selected:i=!1,...l}=r,c=u.useContext(wo),p={...r,component:s,hover:a,selected:i,head:c&&c.variant==="head",footer:c&&c.variant==="footer"},f=Ag(p);return d.jsx(Lg,{as:s,ref:o,className:j(f.root,n),role:s===Cn?null:"row",ownerState:p,...l})}),Bg=Ht(d.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward");function Ng(t){return K("MuiTableSortLabel",t)}const hr=Z("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc","directionDesc","directionAsc"]),Og=t=>{const{classes:e,direction:o,active:r}=t,n={root:["root",r&&"active",`direction${T(o)}`],icon:["icon",`iconDirection${T(o)}`]};return q(n,Ng,e)},zg=S(fe,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.active&&e.active]}})(U(({theme:t})=>({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:(t.vars||t).palette.text.secondary},"&:hover":{color:(t.vars||t).palette.text.secondary,[`& .${hr.icon}`]:{opacity:.5}},[`&.${hr.active}`]:{color:(t.vars||t).palette.text.primary,[`& .${hr.icon}`]:{opacity:1,color:(t.vars||t).palette.text.secondary}}}))),jg=S("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,e[`iconDirection${T(o.direction)}`]]}})(U(({theme:t})=>({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:t.transitions.create(["opacity","transform"],{duration:t.transitions.duration.shorter}),userSelect:"none",variants:[{props:{direction:"desc"},style:{transform:"rotate(0deg)"}},{props:{direction:"asc"},style:{transform:"rotate(180deg)"}}]}))),Sv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableSortLabel"}),{active:n=!1,children:s,className:a,direction:i="asc",hideSortIcon:l=!1,IconComponent:c=Bg,slots:p={},slotProps:f={},...v}=r,m={...r,active:n,direction:i,hideSortIcon:l,IconComponent:c},y=Og(m),g={slots:p,slotProps:f},[h,b]=V("root",{elementType:zg,externalForwardedProps:g,ownerState:m,className:j(y.root,a),ref:o}),[x,C]=V("icon",{elementType:jg,externalForwardedProps:g,ownerState:m,className:y.icon});return d.jsxs(h,{disableRipple:!0,component:"span",...b,...v,children:[s,l&&!n?null:d.jsx(x,{as:c,...C})]})});function Dg(t){return K("MuiToggleButton",t)}const je=Z("MuiToggleButton",["root","disabled","selected","standard","primary","secondary","sizeSmall","sizeMedium","sizeLarge","fullWidth"]),Qn=u.createContext({}),ts=u.createContext(void 0);function Eg(t,e){return e===void 0||t===void 0?!1:Array.isArray(e)?e.includes(t):t===e}const Fg=t=>{const{classes:e,fullWidth:o,selected:r,disabled:n,size:s,color:a}=t,i={root:["root",r&&"selected",n&&"disabled",o&&"fullWidth",`size${T(s)}`,a]};return q(i,Dg,e)},Ug=S(fe,{name:"MuiToggleButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`size${T(o.size)}`]]}})(U(({theme:t})=>({...t.typography.button,borderRadius:(t.vars||t).shape.borderRadius,padding:11,border:`1px solid ${(t.vars||t).palette.divider}`,color:(t.vars||t).palette.action.active,[`&.${je.disabled}`]:{color:(t.vars||t).palette.action.disabled,border:`1px solid ${(t.vars||t).palette.action.disabledBackground}`},"&:hover":{textDecoration:"none",backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette.text.primary,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{color:"standard"},style:{[`&.${je.selected}`]:{color:(t.vars||t).palette.text.primary,backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.text.primary,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.text.primary,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.text.primary,t.palette.action.selectedOpacity)}}}}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{[`&.${je.selected}`]:{color:(t.vars||t).palette[e].main,backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette[e].main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette[e].main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette[e].main,t.palette.action.selectedOpacity)}}}}})),{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{padding:7,fontSize:t.typography.pxToRem(13)}},{props:{size:"large"},style:{padding:15,fontSize:t.typography.pxToRem(15)}}]}))),wv=u.forwardRef(function(e,o){const{value:r,...n}=u.useContext(Qn),s=u.useContext(ts),a=Js({...n,selected:Eg(e.value,r)},e),i=X({props:a,name:"MuiToggleButton"}),{children:l,className:c,color:p="standard",disabled:f=!1,disableFocusRipple:v=!1,fullWidth:m=!1,onChange:y,onClick:g,selected:h,size:b="medium",value:x,...C}=i,R={...i,color:p,disabled:f,disableFocusRipple:v,fullWidth:m,size:b},P=Fg(R),N=A=>{g&&(g(A,x),A.defaultPrevented)||y&&y(A,x)},$=s||"";return d.jsx(Ug,{className:j(n.className,P.root,c,$),disabled:f,focusRipple:!v,ref:o,onClick:N,onChange:y,value:x,ownerState:R,"aria-pressed":h,...C,children:l})});function Wg(t){return K("MuiToggleButtonGroup",t)}const Ut=Z("MuiToggleButtonGroup",["root","selected","horizontal","vertical","disabled","grouped","groupedHorizontal","groupedVertical","fullWidth","firstButton","lastButton","middleButton"]),Hg=t=>{const{classes:e,orientation:o,fullWidth:r,disabled:n}=t,s={root:["root",o,r&&"fullWidth"],grouped:["grouped",`grouped${T(o)}`,n&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return q(s,Wg,e)},Vg=S("div",{name:"MuiToggleButtonGroup",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Ut.grouped}`]:e.grouped},{[`& .${Ut.grouped}`]:e[`grouped${T(o.orientation)}`]},{[`& .${Ut.firstButton}`]:e.firstButton},{[`& .${Ut.lastButton}`]:e.lastButton},{[`& .${Ut.middleButton}`]:e.middleButton},e.root,o.orientation==="vertical"&&e.vertical,o.fullWidth&&e.fullWidth]}})(U(({theme:t})=>({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius,variants:[{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${Ut.grouped}`]:{[`&.${Ut.selected} + .${Ut.grouped}.${Ut.selected}`]:{borderTop:0,marginTop:0}},[`& .${Ut.firstButton},& .${Ut.middleButton}`]:{borderBottomLeftRadius:0,borderBottomRightRadius:0},[`& .${Ut.lastButton},& .${Ut.middleButton}`]:{marginTop:-1,borderTop:"1px solid transparent",borderTopLeftRadius:0,borderTopRightRadius:0},[`& .${Ut.lastButton}.${je.disabled},& .${Ut.middleButton}.${je.disabled}`]:{borderTop:"1px solid transparent"}}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"horizontal"},style:{[`& .${Ut.grouped}`]:{[`&.${Ut.selected} + .${Ut.grouped}.${Ut.selected}`]:{borderLeft:0,marginLeft:0}},[`& .${Ut.firstButton},& .${Ut.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${Ut.lastButton},& .${Ut.middleButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent",borderTopLeftRadius:0,borderBottomLeftRadius:0},[`& .${Ut.lastButton}.${je.disabled},& .${Ut.middleButton}.${je.disabled}`]:{borderLeft:"1px solid transparent"}}}]}))),Rv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiToggleButtonGroup"}),{children:n,className:s,color:a="standard",disabled:i=!1,exclusive:l=!1,fullWidth:c=!1,onChange:p,orientation:f="horizontal",size:v="medium",value:m,...y}=r,g={...r,disabled:i,fullWidth:c,orientation:f,size:v},h=Hg(g),b=u.useCallback(($,A)=>{if(!p)return;const k=m&&m.indexOf(A);let I;m&&k>=0?(I=m.slice(),I.splice(k,1)):I=m?m.concat(A):[A],p($,I)},[p,m]),x=u.useCallback(($,A)=>{p&&p($,m===A?null:A)},[p,m]),C=u.useMemo(()=>({className:h.grouped,onChange:l?x:b,value:m,size:v,fullWidth:c,color:a,disabled:i}),[h.grouped,l,x,b,m,v,c,a,i]),R=An(n),P=R.length,N=$=>{const A=$===0,k=$===P-1;return A&&k?"":A?h.firstButton:k?h.lastButton:h.middleButton};return d.jsx(Vg,{role:"group",className:j(h.root,s),ref:o,ownerState:g,...y,children:d.jsx(Qn.Provider,{value:C,children:R.map(($,A)=>d.jsx(ts.Provider,{value:N(A),children:$},A))})})});function Gg(t,e){const{disableHysteresis:o=!1,threshold:r=100,target:n}=e,s=t.current;return n&&(t.current=n.pageYOffset!==void 0?n.pageYOffset:n.scrollTop),!o&&s!==void 0&&t.currentr}const _g=typeof window<"u"?window:null;function $v(t={}){const{getTrigger:e=Gg,target:o=_g,...r}=t,n=u.useRef(),[s,a]=u.useState(()=>e(n,r));return u.useEffect(()=>{if(o===null)return a(!1);const i=()=>{a(e(n,{target:o,...r}))};return i(),o.addEventListener("scroll",i,{passive:!0}),()=>{o.removeEventListener("scroll",i,{passive:!0})}},[o,e,JSON.stringify(r)]),s}const Pv="6.4.12",kv=6,Tv=4,Iv=12,Mv=void 0;export{Im as Accordion,Am as AccordionActions,Bm as AccordionDetails,Nm as AccordionSummary,Om as Alert,jm as AlertTitle,Em as AppBar,Um as Autocomplete,al as Avatar,Wm as AvatarGroup,Kv as Backdrop,Hm as Badge,Gm as BottomNavigation,_m as BottomNavigationAction,qm as Box,Xm as Breadcrumbs,Zv as Button,fe as ButtonBase,Ym as ButtonGroup,Ns as ButtonGroupButtonContext,Bs as ButtonGroupContext,Zm as Card,Jm as CardActionArea,tb as CardActions,ob as CardContent,rb as CardHeader,sb as CardMedia,ab as Checkbox,Ls as Chip,Jv as CircularProgress,Rc as ClickAwayListener,yo as Collapse,ib as Container,pb as CssBaseline,e0 as CssVarsProvider,Qv as Dialog,ty as DialogActions,ey as DialogContent,fb as DialogContentText,gb as DialogTitle,oy as Divider,Uc as Drawer,o0 as Experimental_CssVarsProvider,Fn as Fab,ry as Fade,_h as FilledInput,ny as FormControl,bb as FormControlLabel,Jc as FormGroup,sy as FormHelperText,ay as FormLabel,iy as FormLabelRoot,qh as GlobalStyles,yb as Grid,hb as Grid2,Tn as Grow,Sb as Hidden,$p as Icon,ze as IconButton,$b as ImageList,Pb as ImageListItem,Tb as ImageListItemBar,Us as Input,ly as InputAdornment,Ks as InputBase,cy as InputLabel,Xp as LinearProgress,Mb as Link,py as List,dy as ListItem,Lb as ListItemAvatar,Pm as ListItemButton,Rm as ListItemIcon,uy as ListItemSecondaryAction,$m as ListItemText,xr as ListSubheader,fy as Menu,qs as MenuItem,gy as MenuList,Nb as MobileStepper,js as Modal,my as ModalManager,dd as NativeSelect,ud as NoSsr,by as OutlinedInput,zb as Pagination,Sd as PaginationItem,we as Paper,vy as Popover,yy as PopoverPaper,hy as PopoverRoot,Ko as Popper,xy as Portal,jb as Radio,Eb as RadioGroup,Fb as Rating,Wb as ScopedCssBaseline,Xs as Select,Cy as Skeleton,Oc as Slide,Hb as Slider,hu as SliderMark,xu as SliderMarkLabel,mu as SliderRail,gu as SliderRoot,vu as SliderThumb,bu as SliderTrack,yu as SliderValueLabel,_b as Snackbar,Iu as SnackbarContent,qb as SpeedDial,Xb as SpeedDialAction,of as SpeedDialIcon,Yb as Stack,tv as Step,ev as StepButton,Pf as StepConnector,nv as StepContent,Je as StepContext,uf as StepIcon,Zn as StepLabel,av as Stepper,Ve as StepperContext,pm as StyledEngineProvider,Zs as SvgIcon,iv as SwipeableDrawer,lv as Switch,Cs as THEME_ID,Sy as Tab,wy as TabScrollButton,pv as Table,uv as TableBody,Pr as TableCell,gv as TableContainer,bv as TableFooter,yv as TableHead,xv as TablePagination,Cv as TableRow,Sv as TableSortLabel,Ry as Tabs,$y as TextField,Xh as TextareaAutosize,r0 as ThemeProvider,wv as ToggleButton,Rv as ToggleButtonGroup,vg as Toolbar,_u as Tooltip,re as Typography,Py as Unstable_TrapFocus,Nu as Zoom,Mm as accordionActionsClasses,Io as accordionClasses,Lm as accordionDetailsClasses,Xe as accordionSummaryClasses,gm as adaptV4Theme,Gr as alertClasses,zm as alertTitleClasses,Tt as alpha,Dm as appBarClasses,kt as autocompleteClasses,tl as avatarClasses,ll as avatarGroupClasses,ky as backdropClasses,$e as badgeClasses,Nn as bottomNavigationActionClasses,Vm as bottomNavigationClasses,wl as boxClasses,Ml as breadcrumbsClasses,Ty as buttonBaseClasses,Iy as buttonClasses,St as buttonGroupClasses,T as capitalize,pr as cardActionAreaClasses,Qm as cardActionsClasses,Km as cardClasses,eb as cardContentClasses,_o as cardHeaderClasses,nb as cardMediaClasses,dr as checkboxClasses,My as chipClasses,Ay as circularProgressClasses,Tm as collapseClasses,km as colors,cb as containerClasses,Hs as createChainedFunction,Bv as createColorScheme,Ai as createFilterOptions,Nv as createMuiTheme,bm as createStyles,Ht as createSvgIcon,wn as createTheme,Ov as createTransitions,Ar as css,db as darkScrollbar,Ee as darken,Ys as debounce,zv as decomposeColor,dm as deprecatedPropType,Ly as dialogActionsClasses,By as dialogClasses,Ny as dialogContentClasses,ub as dialogContentTextClasses,Oy as dialogTitleClasses,zy as dividerClasses,mb as drawerClasses,xs as duration,jv as easing,Ho as emphasize,S as experimentalStyled,Cm as experimental_extendTheme,Sm as experimental_sx,ds as extendTheme,en as fabClasses,_e as filledInputClasses,jy as formControlClasses,uo as formControlLabelClasses,vb as formGroupClasses,Dy as formHelperTextClasses,Ey as formLabelClasses,K as generateUtilityClass,Z as generateUtilityClasses,ni as getAccordionActionsUtilityClass,ii as getAccordionDetailsUtilityClass,pi as getAccordionSummaryUtilityClass,ti as getAccordionUtilityClass,$i as getAlertTitleUtilityClass,mi as getAlertUtilityClass,Ti as getAppBarUtilityClass,Ei as getAutocompleteUtilityClass,il as getAvatarGroupUtilityClass,Qi as getAvatarUtilityClass,Fy as getBackdropUtilityClass,ul as getBadgeUtilityClass,hl as getBottomNavigationActionUtilityClass,bl as getBottomNavigationUtilityClass,Il as getBreadcrumbsUtilityClass,Uy as getButtonBaseUtilityClass,zl as getButtonGroupUtilityClass,Wy as getButtonUtilityClass,Hl as getCardActionAreaUtilityClass,ql as getCardActionsUtilityClass,Kl as getCardContentUtilityClass,Ql as getCardHeaderUtilityClass,sc as getCardMediaUtilityClass,Fl as getCardUtilityClass,vc as getCheckboxUtilityClass,Hy as getChipUtilityClass,Vy as getCircularProgressUtilityClass,Ya as getCollapseUtilityClass,lb as getContainerUtilityClass,Dv as getContrastRatio,Gy as getDialogActionsUtilityClass,Tc as getDialogContentTextUtilityClass,_y as getDialogContentUtilityClass,zs as getDialogTitleUtilityClass,qy as getDialogUtilityClass,Xy as getDividerUtilityClass,zc as getDrawerUtilityClass,Wc as getFabUtilityClass,Yh as getFilledInputUtilityClass,Gc as getFormControlLabelUtilityClasses,Yy as getFormControlUtilityClasses,Yc as getFormGroupUtilityClass,Ky as getFormHelperTextUtilityClasses,Zy as getFormLabelUtilityClasses,xb as getGrid2UtilityClass,Jy as getIconButtonUtilityClass,Sp as getIconUtilityClass,Lp as getImageListItemBarUtilityClass,Ip as getImageListItemUtilityClass,Pp as getImageListUtilityClass,n0 as getInitColorSchemeScript,Qy as getInputAdornmentUtilityClass,Kh as getInputBaseUtilityClass,th as getInputLabelUtilityClasses,eh as getInputUtilityClass,Ep as getLinearProgressUtilityClass,Yp as getLinkUtilityClass,td as getListItemAvatarUtilityClass,Ms as getListItemButtonUtilityClass,Ts as getListItemIconUtilityClass,oh as getListItemSecondaryActionClassesUtilityClass,Is as getListItemTextUtilityClass,rh as getListItemUtilityClass,zi as getListSubheaderUtilityClass,nh as getListUtilityClass,Ev as getLuminance,sh as getMenuItemUtilityClass,ah as getMenuUtilityClass,rd as getMobileStepperUtilityClass,ih as getModalUtilityClass,Ws as getNativeSelectUtilityClasses,lh as getOffsetLeft,ch as getOffsetTop,ph as getOutlinedInputUtilityClass,Fv as getOverlayAlpha,md as getPaginationItemUtilityClass,fd as getPaginationUtilityClass,dh as getPaperUtilityClass,uh as getPopoverUtilityClass,fh as getPopperUtilityClass,Ed as getRadioGroupUtilityClass,Bd as getRadioUtilityClass,Hd as getRatingUtilityClass,Qd as getScopedCssBaselineUtilityClass,gh as getSelectUtilityClasses,mh as getSkeletonUtilityClass,du as getSliderUtilityClass,Ru as getSnackbarContentUtilityClass,Mu as getSnackbarUtilityClass,qu as getSpeedDialActionUtilityClass,Qu as getSpeedDialIconUtilityClass,Ou as getSpeedDialUtilityClass,hf as getStepButtonUtilityClass,Sf as getStepConnectorUtilityClass,kf as getStepContentUtilityClass,cf as getStepIconUtilityClass,ff as getStepLabelUtilityClass,rf as getStepUtilityClass,Af as getStepperUtilityClass,Jh as getSvgIconUtilityClass,Ff as getSwitchUtilityClass,bh as getTabScrollButtonUtilityClass,vh as getTabUtilityClass,Yf as getTableBodyUtilityClass,Qf as getTableCellUtilityClass,rg as getTableContainerUtilityClass,ag as getTableFooterUtilityClass,pg as getTableHeadUtilityClass,hg as getTablePaginationUtilityClass,Mg as getTableRowUtilityClass,Ng as getTableSortLabelUtilityClass,_f as getTableUtilityClass,yh as getTabsUtilityClass,hh as getTextFieldUtilityClass,Wg as getToggleButtonGroupUtilityClass,Dg as getToggleButtonUtilityClass,gg as getToolbarUtilityClass,Fu as getTooltipUtilityClass,xh as getTouchRippleUtilityClass,Ch as getTypographyUtilityClass,Cb as grid2Classes,Uv as hexToRgb,Wv as hslToRgb,Sh as iconButtonClasses,wb as iconClasses,Rb as imageListClasses,kb as imageListItemBarClasses,ur as imageListItemClasses,wh as inputAdornmentClasses,Le as inputBaseClasses,sr as inputClasses,Rh as inputLabelClasses,Yo as isMuiElement,Lr as keyframes,Fe as lighten,Ib as linearProgressClasses,Kp as linkClasses,$h as listClasses,Ab as listItemAvatarClasses,ro as listItemButtonClasses,Ph as listItemClasses,kh as listItemIconClasses,Th as listItemSecondaryActionClasses,To as listItemTextClasses,Fm as listSubheaderClasses,kv as major,ym as makeStyles,Ih as menuClasses,Mh as menuItemClasses,vo as mergeSlotProps,Tv as minor,Bb as mobileStepperClasses,Ah as modalClasses,Lh as nativeSelectClasses,Fr as outlinedInputClasses,de as ownerDocument,Ye as ownerWindow,Ob as paginationClasses,ee as paginationItemClasses,Bh as paperClasses,Iv as patch,Nh as popoverClasses,Mv as prerelease,Hv as private_createMixins,Vv as private_createTypography,Gv as private_excludeVariablesFromRoot,nn as radioClasses,Db as radioGroupClasses,ao as ratingClasses,_v as recomposeColor,um as requirePropFactory,vm as responsiveFontSizes,qv as rgbToHex,Ub as scopedCssBaselineClasses,Oh as selectClasses,As as setRef,Xv as shouldSkipGeneratingVar,zh as skeletonClasses,le as sliderClasses,Gb as snackbarClasses,Vb as snackbarContentClasses,Eo as speedDialActionClasses,Oo as speedDialClasses,ve as speedDialIconClasses,Kb as stackClasses,fn as stepButtonClasses,Qb as stepClasses,ov as stepConnectorClasses,rv as stepContentClasses,gr as stepIconClasses,Ie as stepLabelClasses,sv as stepperClasses,S as styled,Qh as svgIconClasses,oe as switchClasses,jh as tabClasses,Dh as tabScrollButtonClasses,dv as tableBodyClasses,tg as tableCellClasses,cv as tableClasses,fv as tableContainerClasses,mv as tableFooterClasses,vv as tableHeadClasses,go as tablePaginationClasses,xn as tableRowClasses,hr as tableSortLabelClasses,Eh as tabsClasses,Fh as textFieldClasses,je as toggleButtonClasses,Ut as toggleButtonGroupClasses,hv as toolbarClasses,Wt as tooltipClasses,Uh as touchRippleClasses,Vo as typographyClasses,wm as unstable_ClassNameGenerator,q as unstable_composeClasses,ps as unstable_createBreakpoints,mm as unstable_createMuiStrictModeTheme,Wh as unstable_getUnit,U as unstable_memoTheme,Hh as unstable_toUnitless,So as unstable_useEnhancedEffect,We as unstable_useId,fm as unsupportedProp,Oi as useAutocomplete,s0 as useColorScheme,ue as useControlled,ne as useEventCallback,ge as useForkRef,Co as useFormControl,Es as useMediaQuery,gd as usePagination,Ld as useRadioGroup,$v as useScrollTrigger,Jb as useStepContext,Zb as useStepperContext,se as useTheme,Vh as useThemeProps,Pv as version,hm as withStyles,xm as withTheme}; +`,Wp=typeof Rr!="string"?Mr` + animation: ${Rr} 3s infinite linear; + `:null,Hp=t=>{const{classes:e,variant:o,color:r}=t,n={root:["root",`color${T(r)}`,o],dashed:["dashed",`dashedColor${T(r)}`],bar1:["bar","bar1",`barColor${T(r)}`,(o==="indeterminate"||o==="query")&&"bar1Indeterminate",o==="determinate"&&"bar1Determinate",o==="buffer"&&"bar1Buffer"],bar2:["bar","bar2",o!=="buffer"&&`barColor${T(r)}`,o==="buffer"&&`color${T(r)}`,(o==="indeterminate"||o==="query")&&"bar2Indeterminate",o==="buffer"&&"bar2Buffer"]};return q(n,Ep,e)},Or=(t,e)=>t.vars?t.vars.palette.LinearProgress[`${e}Bg`]:t.palette.mode==="light"?Ee(t.palette[e].main,.62):De(t.palette[e].main,.5),Vp=S("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`color${T(o.color)}`],e[o.variant]]}})(U(({theme:t})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{backgroundColor:Or(t,e)}})),{props:({ownerState:e})=>e.color==="inherit"&&e.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)"}}]}))),Gp=S("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.dashed,e[`dashedColor${T(o.color)}`]]}})(U(({theme:t})=>({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(t.palette).filter(Ft()).map(([e])=>{const o=Or(t,e);return{props:{color:e},style:{backgroundImage:`radial-gradient(${o} 0%, ${o} 16%, transparent 42%)`}}})]})),Wp||{animation:`${Rr} 3s infinite linear`}),_p=S("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.bar,e.bar1,e[`barColor${T(o.color)}`],(o.variant==="indeterminate"||o.variant==="query")&&e.bar1Indeterminate,o.variant==="determinate"&&e.bar1Determinate,o.variant==="buffer"&&e.bar1Buffer]}})(U(({theme:t})=>({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(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{backgroundColor:(t.vars||t).palette[e].main}})),{props:{variant:"determinate"},style:{transition:`transform .${Cr}s linear`}},{props:{variant:"buffer"},style:{zIndex:1,transition:`transform .${Cr}s linear`}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:{width:"auto"}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:Fp||{animation:`${Sr} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),qp=S("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.bar,e.bar2,e[`barColor${T(o.color)}`],(o.variant==="indeterminate"||o.variant==="query")&&e.bar2Indeterminate,o.variant==="buffer"&&e.bar2Buffer]}})(U(({theme:t})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{"--LinearProgressBar2-barColor":(t.vars||t).palette[e].main}})),{props:({ownerState:e})=>e.variant!=="buffer"&&e.color!=="inherit",style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:e})=>e.variant!=="buffer"&&e.color==="inherit",style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,variant:"buffer"},style:{backgroundColor:Or(t,e),transition:`transform .${Cr}s linear`}})),{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:{width:"auto"}},{props:({ownerState:e})=>e.variant==="indeterminate"||e.variant==="query",style:Up||{animation:`${wr} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),Xp=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiLinearProgress"}),{className:n,color:s="primary",value:a,valueBuffer:i,variant:l="indeterminate",...c}=r,p={...r,color:s,variant:l},f=Hp(p),v=We(),m={},y={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&a!==void 0){m["aria-valuenow"]=Math.round(a),m["aria-valuemin"]=0,m["aria-valuemax"]=100;let g=a-100;v&&(g=-g),y.bar1.transform=`translateX(${g}%)`}if(l==="buffer"&&i!==void 0){let g=(i||0)-100;v&&(g=-g),y.bar2.transform=`translateX(${g}%)`}return d.jsxs(Vp,{className:j(f.root,n),ownerState:p,role:"progressbar",...m,ref:o,...c,children:[l==="buffer"?d.jsx(Gp,{className:f.dashed,ownerState:p}):null,d.jsx(_p,{className:f.bar1,ownerState:p,style:y.bar1}),l==="determinate"?null:d.jsx(qp,{className:f.bar2,ownerState:p,style:y.bar2})]})});function Yp(t){return K("MuiLink",t)}const Kp=Z("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),Zp=({theme:t,ownerState:e})=>{const o=e.color,r=Po(t,`palette.${o}.main`,!1)||Po(t,`palette.${o}`,!1)||e.color,n=Po(t,`palette.${o}.mainChannel`)||Po(t,`palette.${o}Channel`);return"vars"in t&&n?`rgba(${n} / 0.4)`:Tt(r,.4)},en={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},Jp=t=>{const{classes:e,component:o,focusVisible:r,underline:n}=t,s={root:["root",`underline${T(n)}`,o==="button"&&"button",r&&"focusVisible"]};return q(s,Yp,e)},Qp=S(re,{name:"MuiLink",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`underline${T(o.underline)}`],o.component==="button"&&e.button]}})(U(({theme:t})=>({variants:[{props:{underline:"none"},style:{textDecoration:"none"}},{props:{underline:"hover"},style:{textDecoration:"none","&:hover":{textDecoration:"underline"}}},{props:{underline:"always"},style:{textDecoration:"underline","&:hover":{textDecorationColor:"inherit"}}},{props:({underline:e,ownerState:o})=>e==="always"&&o.color!=="inherit",style:{textDecorationColor:"var(--Link-underlineColor)"}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{underline:"always",color:e},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.4)`:Tt(t.palette[e].main,.4)}})),{props:{underline:"always",color:"textPrimary"},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette.text.primaryChannel} / 0.4)`:Tt(t.palette.text.primary,.4)}},{props:{underline:"always",color:"textSecondary"},style:{"--Link-underlineColor":t.vars?`rgba(${t.vars.palette.text.secondaryChannel} / 0.4)`:Tt(t.palette.text.secondary,.4)}},{props:{underline:"always",color:"textDisabled"},style:{"--Link-underlineColor":(t.vars||t).palette.text.disabled}},{props:{component:"button"},style:{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Kp.focusVisible}`]:{outline:"auto"}}}]}))),Mb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiLink"}),n=se(),{className:s,color:a="primary",component:i="a",onBlur:l,onFocus:c,TypographyClasses:p,underline:f="always",variant:v="inherit",sx:m,...y}=r,[g,h]=u.useState(!1),b=P=>{Ie(P.target)||h(!1),l&&l(P)},x=P=>{Ie(P.target)&&h(!0),c&&c(P)},C={...r,color:a,component:i,focusVisible:g,underline:f,variant:v},R=Jp(C);return d.jsx(Qp,{color:a,className:j(R.root,s),classes:p,component:i,onBlur:b,onFocus:x,ref:o,ownerState:C,variant:v,...y,sx:[...en[a]===void 0?[{color:a}]:[],...Array.isArray(m)?m:[m]],style:{...y.style,...f==="always"&&a!=="inherit"&&!en[a]&&{"--Link-underlineColor":Zp({theme:n,ownerState:C})}}})});function td(t){return K("MuiListItemAvatar",t)}const Ab=Z("MuiListItemAvatar",["root","alignItemsFlexStart"]),ed=t=>{const{alignItems:e,classes:o}=t;return q({root:["root",e==="flex-start"&&"alignItemsFlexStart"]},td,o)},od=S("div",{name:"MuiListItemAvatar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.alignItems==="flex-start"&&e.alignItemsFlexStart]}})({minWidth:56,flexShrink:0,variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}),Lb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiListItemAvatar"}),{className:n,...s}=r,a=u.useContext(mo),i={...r,alignItems:a.alignItems},l=ed(i);return d.jsx(od,{className:j(l.root,n),ownerState:i,ref:o,...s})});function rd(t){return K("MuiMobileStepper",t)}const Bb=Z("MuiMobileStepper",["root","positionBottom","positionTop","positionStatic","dots","dot","dotActive","progress"]),nd=t=>{const{classes:e,position:o}=t,r={root:["root",`position${T(o)}`],dots:["dots"],dot:["dot"],dotActive:["dotActive"],progress:["progress"]};return q(r,rd,e)},sd=S(we,{name:"MuiMobileStepper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`position${T(o.position)}`]]}})(U(({theme:t})=>({display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",background:(t.vars||t).palette.background.default,padding:8,variants:[{props:({position:e})=>e==="top"||e==="bottom",style:{position:"fixed",left:0,right:0,zIndex:(t.vars||t).zIndex.mobileStepper}},{props:{position:"top"},style:{top:0}},{props:{position:"bottom"},style:{bottom:0}}]}))),ad=S("div",{name:"MuiMobileStepper",slot:"Dots",overridesResolver:(t,e)=>e.dots})({variants:[{props:{variant:"dots"},style:{display:"flex",flexDirection:"row"}}]}),id=S("div",{name:"MuiMobileStepper",slot:"Dot",shouldForwardProp:t=>Xo(t)&&t!=="dotActive",overridesResolver:(t,e)=>{const{dotActive:o}=t;return[e.dot,o&&e.dotActive]}})(U(({theme:t})=>({variants:[{props:{variant:"dots"},style:{transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest}),backgroundColor:(t.vars||t).palette.action.disabled,borderRadius:"50%",width:8,height:8,margin:"0 2px"}},{props:{variant:"dots",dotActive:!0},style:{backgroundColor:(t.vars||t).palette.primary.main}}]}))),ld=S(Xp,{name:"MuiMobileStepper",slot:"Progress",overridesResolver:(t,e)=>e.progress})({variants:[{props:{variant:"progress"},style:{width:"50%"}}]}),Nb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiMobileStepper"}),{activeStep:n=0,backButton:s,className:a,LinearProgressProps:i,nextButton:l,position:c="bottom",steps:p,variant:f="dots",slots:v={},slotProps:m={},...y}=r,g={...r,activeStep:n,position:c,variant:f};let h;f==="progress"&&(p===1?h=100:h=Math.ceil(n/(p-1)*100));const b=nd(g),x={slots:v,slotProps:{progress:i,...m}},[C,R]=V("root",{ref:o,elementType:sd,shouldForwardComponentProp:!0,className:j(b.root,a),externalForwardedProps:{...x,...y},ownerState:g,additionalProps:{square:!0,elevation:0}}),[P,N]=V("dots",{className:b.dots,elementType:ad,externalForwardedProps:x,ownerState:g}),[$,A]=V("dot",{elementType:id,externalForwardedProps:x,ownerState:g}),[k,I]=V("progress",{className:b.progress,elementType:ld,shouldForwardComponentProp:!0,externalForwardedProps:x,ownerState:g,additionalProps:{value:h,variant:"determinate"}});return d.jsxs(C,{...R,children:[s,f==="text"&&d.jsxs(u.Fragment,{children:[n+1," / ",p]}),f==="dots"&&d.jsx(P,{...N,children:[...new Array(p)].map((F,L)=>d.jsx($,{...A,className:j(b.dot,A.className,L===n&&b.dotActive),dotActive:L===n},L))}),f==="progress"&&d.jsx(k,{...I}),l]})}),cd=t=>{const{classes:e}=t;return q({root:["root"]},Us,e)},pd=d.jsx(Fs,{}),dd=u.forwardRef(function(e,o){const r=X({name:"MuiNativeSelect",props:e}),{className:n,children:s,classes:a={},IconComponent:i=Rn,input:l=pd,inputProps:c,variant:p,...f}=r,v=xo(),m=Ir({props:r,muiFormControl:v,states:["variant"]}),y={...r,classes:a},g=cd(y),{root:h,...b}=a;return d.jsx(u.Fragment,{children:u.cloneElement(l,{inputComponent:Es,inputProps:{children:s,classes:b,IconComponent:i,variant:m.variant,type:void 0,...c,...l?l.props.inputProps:{}},ref:o,...f,className:j(g.root,l.props.className,n)})})});dd.muiName="Select";function ud(t){const{children:e,defer:o=!1,fallback:r=null}=t,[n,s]=u.useState(!1);return Co(()=>{o||s(!0)},[o]),u.useEffect(()=>{o&&s(!0)},[o]),n?e:r}function fd(t){return K("MuiPagination",t)}const Ob=Z("MuiPagination",["root","ul","outlined","text"]);function gd(t={}){const{boundaryCount:e=1,componentName:o="usePagination",count:r=1,defaultPage:n=1,disabled:s=!1,hideNextButton:a=!1,hidePrevButton:i=!1,onChange:l,page:c,showFirstButton:p=!1,showLastButton:f=!1,siblingCount:v=1,...m}=t,[y,g]=ue({controlled:c,default:n,name:o,state:"page"}),h=(k,I)=>{c||g(I),l&&l(k,I)},b=(k,I)=>{const F=I-k+1;return Array.from({length:F},(L,w)=>k+w)},x=b(1,Math.min(e,r)),C=b(Math.max(r-e+1,e+1),r),R=Math.max(Math.min(y-v,r-e-v*2-1),e+2),P=Math.min(Math.max(y+v,e+v*2+2),r-e-1),N=[...p?["first"]:[],...i?[]:["previous"],...x,...R>e+2?["start-ellipsis"]:e+1e?[r-e]:[],...C,...a?[]:["next"],...f?["last"]:[]],$=k=>{switch(k){case"first":return 1;case"previous":return y-1;case"next":return y+1;case"last":return r;default:return null}};return{items:N.map(k=>typeof k=="number"?{onClick:I=>{h(I,k)},type:"page",page:k,selected:k===y,disabled:s,"aria-current":k===y?"page":void 0}:{onClick:I=>{h(I,$(k))},type:k,page:$(k),selected:!1,disabled:s||!k.includes("ellipsis")&&(k==="next"||k==="last"?y>=r:y<=1)}),...m}}function md(t){return K("MuiPaginationItem",t)}const ee=Z("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon","colorPrimary","colorSecondary"]),Hn=Ht(d.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),Vn=Ht(d.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage"),bd=Ht(d.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),vd=Ht(d.jsx("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),Gn=(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${T(o.size)}`],o.variant==="text"&&e[`text${T(o.color)}`],o.variant==="outlined"&&e[`outlined${T(o.color)}`],o.shape==="rounded"&&e.rounded,o.type==="page"&&e.page,(o.type==="start-ellipsis"||o.type==="end-ellipsis")&&e.ellipsis,(o.type==="previous"||o.type==="next")&&e.previousNext,(o.type==="first"||o.type==="last")&&e.firstLast]},yd=t=>{const{classes:e,color:o,disabled:r,selected:n,size:s,shape:a,type:i,variant:l}=t,c={root:["root",`size${T(s)}`,l,a,o!=="standard"&&`color${T(o)}`,o!=="standard"&&`${l}${T(o)}`,r&&"disabled",n&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[i]],icon:["icon"]};return q(c,md,e)},hd=S("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:Gn})(U(({theme:t})=>({...t.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(t.vars||t).palette.text.primary,height:"auto",[`&.${ee.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},variants:[{props:{size:"small"},style:{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:t.typography.pxToRem(15)}}]}))),xd=S(fe,{name:"MuiPaginationItem",slot:"Root",overridesResolver:Gn})(U(({theme:t})=>({...t.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(t.vars||t).palette.text.primary,[`&.${ee.focusVisible}`]:{backgroundColor:(t.vars||t).palette.action.focus},[`&.${ee.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity},transition:t.transitions.create(["color","background-color"],{duration:t.transitions.duration.short}),"&:hover":{backgroundColor:(t.vars||t).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ee.selected}`]:{backgroundColor:(t.vars||t).palette.action.selected,"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(t.vars||t).palette.action.selected}},[`&.${ee.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.action.selectedChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette.action.selected,t.palette.action.selectedOpacity+t.palette.action.focusOpacity)},[`&.${ee.disabled}`]:{opacity:1,color:(t.vars||t).palette.action.disabled,backgroundColor:(t.vars||t).palette.action.selected}},variants:[{props:{size:"small"},style:{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:t.typography.pxToRem(15)}},{props:{shape:"rounded"},style:{borderRadius:(t.vars||t).shape.borderRadius}},{props:{variant:"outlined"},style:{border:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${ee.selected}`]:{[`&.${ee.disabled}`]:{borderColor:(t.vars||t).palette.action.disabledBackground,color:(t.vars||t).palette.action.disabled}}}},{props:{variant:"text"},style:{[`&.${ee.selected}`]:{[`&.${ee.disabled}`]:{color:(t.vars||t).palette.action.disabled}}}},...Object.entries(t.palette).filter(Ft(["dark","contrastText"])).map(([e])=>({props:{variant:"text",color:e},style:{[`&.${ee.selected}`]:{color:(t.vars||t).palette[e].contrastText,backgroundColor:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:(t.vars||t).palette[e].dark,"@media (hover: none)":{backgroundColor:(t.vars||t).palette[e].main}},[`&.${ee.focusVisible}`]:{backgroundColor:(t.vars||t).palette[e].dark},[`&.${ee.disabled}`]:{color:(t.vars||t).palette.action.disabled}}}})),...Object.entries(t.palette).filter(Ft(["light"])).map(([e])=>({props:{variant:"outlined",color:e},style:{[`&.${ee.selected}`]:{color:(t.vars||t).palette[e].main,border:`1px solid ${t.vars?`rgba(${t.vars.palette[e].mainChannel} / 0.5)`:Tt(t.palette[e].main,.5)}`,backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.activatedOpacity})`:Tt(t.palette[e].main,t.palette.action.activatedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.activatedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette[e].main,t.palette.action.activatedOpacity+t.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ee.focusVisible}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.activatedOpacity} + ${t.vars.palette.action.focusOpacity}))`:Tt(t.palette[e].main,t.palette.action.activatedOpacity+t.palette.action.focusOpacity)}}}}))]}))),Cd=S("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:(t,e)=>e.icon})(U(({theme:t})=>({fontSize:t.typography.pxToRem(20),margin:"0 -8px",variants:[{props:{size:"small"},style:{fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:t.typography.pxToRem(22)}}]}))),Sd=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiPaginationItem"}),{className:n,color:s="standard",component:a,components:i={},disabled:l=!1,page:c,selected:p=!1,shape:f="circular",size:v="medium",slots:m={},slotProps:y={},type:g="page",variant:h="text",...b}=r,x={...r,color:s,disabled:l,selected:p,shape:f,size:v,type:g,variant:h},C=We(),R=yd(x),P={slots:{previous:m.previous??i.previous,next:m.next??i.next,first:m.first??i.first,last:m.last??i.last},slotProps:y},[N,$]=V("previous",{elementType:bd,externalForwardedProps:P,ownerState:x}),[A,k]=V("next",{elementType:vd,externalForwardedProps:P,ownerState:x}),[I,F]=V("first",{elementType:Hn,externalForwardedProps:P,ownerState:x}),[L,w]=V("last",{elementType:Vn,externalForwardedProps:P,ownerState:x}),M=C?{previous:"next",next:"previous",first:"last",last:"first"}[g]:g,H={previous:N,next:A,first:I,last:L}[M],z={previous:$,next:k,first:F,last:w}[M];return g==="start-ellipsis"||g==="end-ellipsis"?d.jsx(hd,{ref:o,ownerState:x,className:j(R.root,n),children:"…"}):d.jsxs(xd,{ref:o,ownerState:x,component:a,disabled:l,className:j(R.root,n),...b,children:[g==="page"&&c,H?d.jsx(Cd,{...z,className:R.icon,as:H}):null]})}),wd=t=>{const{classes:e,variant:o}=t;return q({root:["root",o],ul:["ul"]},fd,e)},Rd=S("nav",{name:"MuiPagination",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant]]}})({}),$d=S("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:(t,e)=>e.ul})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function Pd(t,e,o){return t==="page"?`${o?"":"Go to "}page ${e}`:`Go to ${t} page`}const zb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiPagination"}),{boundaryCount:n=1,className:s,color:a="standard",count:i=1,defaultPage:l=1,disabled:c=!1,getItemAriaLabel:p=Pd,hideNextButton:f=!1,hidePrevButton:v=!1,onChange:m,page:y,renderItem:g=I=>d.jsx(Sd,{...I}),shape:h="circular",showFirstButton:b=!1,showLastButton:x=!1,siblingCount:C=1,size:R="medium",variant:P="text",...N}=r,{items:$}=gd({...r,componentName:"Pagination"}),A={...r,boundaryCount:n,color:a,count:i,defaultPage:l,disabled:c,getItemAriaLabel:p,hideNextButton:f,hidePrevButton:v,renderItem:g,shape:h,showFirstButton:b,showLastButton:x,siblingCount:C,size:R,variant:P},k=wd(A);return d.jsx(Rd,{"aria-label":"pagination navigation",className:j(k.root,s),ownerState:A,ref:o,...N,children:d.jsx($d,{className:k.ul,ownerState:A,children:$.map((I,F)=>d.jsx("li",{children:g({...I,color:a,"aria-label":p(I.type,I.page,I.selected),shape:h,size:R,variant:P})},F))})})}),kd=Ht(d.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"),Td=Ht(d.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"),Id=S("span",{shouldForwardProp:Se})({position:"relative",display:"flex"}),Md=S(kd)({transform:"scale(1)"}),Ad=S(Td)(U(({theme:t})=>({left:0,position:"absolute",transform:"scale(0)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeIn,duration:t.transitions.duration.shortest}),variants:[{props:{checked:!0},style:{transform:"scale(1)",transition:t.transitions.create("transform",{easing:t.transitions.easing.easeOut,duration:t.transitions.duration.shortest})}}]})));function _n(t){const{checked:e=!1,classes:o={},fontSize:r}=t,n={...t,checked:e};return d.jsxs(Id,{className:o.root,ownerState:n,children:[d.jsx(Md,{fontSize:r,className:o.background,ownerState:n}),d.jsx(Ad,{fontSize:r,className:o.dot,ownerState:n})]})}const qn=u.createContext(void 0);function Ld(){return u.useContext(qn)}function Bd(t){return K("MuiRadio",t)}const on=Z("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),Nd=t=>{const{classes:e,color:o,size:r}=t,n={root:["root",`color${T(o)}`,r!=="medium"&&`size${T(r)}`]};return{...e,...q(n,Bd,e)}},Od=S(Nr,{shouldForwardProp:t=>Se(t)||t==="classes",name:"MuiRadio",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.size!=="medium"&&e[`size${T(o.size)}`],e[`color${T(o.color)}`]]}})(U(({theme:t})=>({color:(t.vars||t).palette.text.secondary,[`&.${on.disabled}`]:{color:(t.vars||t).palette.action.disabled},variants:[{props:{color:"default",disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette.action.active,t.palette.action.hoverOpacity)}}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,disabled:!1,disableRipple:!1},style:{"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette[e].main,t.palette.action.hoverOpacity)}}})),...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,disabled:!1},style:{[`&.${on.checked}`]:{color:(t.vars||t).palette[e].main}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]})));function zd(t,e){return typeof e=="object"&&e!==null?t===e:String(t)===String(e)}const jd=d.jsx(_n,{checked:!0}),Dd=d.jsx(_n,{}),jb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiRadio"}),{checked:n,checkedIcon:s=jd,color:a="primary",icon:i=Dd,name:l,onChange:c,size:p="medium",className:f,disabled:v,disableRipple:m=!1,slots:y={},slotProps:g={},inputProps:h,...b}=r,x=xo();let C=v;x&&typeof C>"u"&&(C=x.disabled),C??=!1;const R={...r,disabled:C,disableRipple:m,color:a,size:p},P=Nd(R),N=Ld();let $=n;const A=Ws(c,N&&N.onChange);let k=l;N&&(typeof $>"u"&&($=zd(N.value,r.value)),typeof k>"u"&&(k=N.name));const I=g.input??h,[F,L]=V("root",{ref:o,elementType:Od,className:j(P.root,f),shouldForwardComponentProp:!0,externalForwardedProps:{slots:y,slotProps:g,...b},getSlotProps:w=>({...w,onChange:(M,...H)=>{var z;(z=w.onChange)==null||z.call(w,M,...H),A(M,...H)}}),ownerState:R,additionalProps:{type:"radio",icon:u.cloneElement(i,{fontSize:i.props.fontSize??p}),checkedIcon:u.cloneElement(s,{fontSize:s.props.fontSize??p}),disabled:C,name:k,checked:$,slots:y,slotProps:{input:typeof I=="function"?I(R):I}}});return d.jsx(F,{...L,classes:P})});function Ed(t){return K("MuiRadioGroup",t)}const Db=Z("MuiRadioGroup",["root","row","error"]),Fd=t=>{const{classes:e,row:o,error:r}=t;return q({root:["root",o&&"row",r&&"error"]},Ed,e)},Eb=u.forwardRef(function(e,o){const{actions:r,children:n,className:s,defaultValue:a,name:i,onChange:l,value:c,...p}=e,f=u.useRef(null),v=Fd(e),[m,y]=ue({controlled:c,default:a,name:"RadioGroup"});u.useImperativeHandle(r,()=>({focus:()=>{let x=f.current.querySelector("input:not(:disabled):checked");x||(x=f.current.querySelector("input:not(:disabled)")),x&&x.focus()}}),[]);const g=ge(o,f),h=Ue(i),b=u.useMemo(()=>({name:h,onChange(x){y(x.target.value),l&&l(x,x.target.value)},value:m}),[h,l,y,m]);return d.jsx(qn.Provider,{value:b,children:d.jsx(Jc,{role:"radiogroup",ref:g,className:j(v.root,s),...p,children:n})})}),Ud=Ht(d.jsx("path",{d:"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"}),"Star"),Wd=Ht(d.jsx("path",{d:"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"}),"StarBorder");function Hd(t){return K("MuiRating",t)}const so=Z("MuiRating",["root","sizeSmall","sizeMedium","sizeLarge","readOnly","disabled","focusVisible","visuallyHidden","pristine","label","labelEmptyValueActive","icon","iconEmpty","iconFilled","iconHover","iconFocus","iconActive","decimal"]);function Vd(t){const e=t.toString().split(".")[1];return e?e.length:0}function fr(t,e){if(t==null)return t;const o=Math.round(t/e)*e;return Number(o.toFixed(Vd(e)))}const Gd=t=>{const{classes:e,size:o,readOnly:r,disabled:n,emptyValueFocused:s,focusVisible:a}=t,i={root:["root",`size${T(o)}`,n&&"disabled",a&&"focusVisible",r&&"readOnly"],label:["label","pristine"],labelEmptyValue:[s&&"labelEmptyValueActive"],icon:["icon"],iconEmpty:["iconEmpty"],iconFilled:["iconFilled"],iconHover:["iconHover"],iconFocus:["iconFocus"],iconActive:["iconActive"],decimal:["decimal"],visuallyHidden:["visuallyHidden"]};return q(i,Hd,e)},_d=S("span",{name:"MuiRating",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${so.visuallyHidden}`]:e.visuallyHidden},e.root,e[`size${T(o.size)}`],o.readOnly&&e.readOnly]}})(U(({theme:t})=>({display:"inline-flex",position:"relative",fontSize:t.typography.pxToRem(24),color:"#faaf00",cursor:"pointer",textAlign:"left",width:"min-content",WebkitTapHighlightColor:"transparent",[`&.${so.disabled}`]:{opacity:(t.vars||t).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${so.focusVisible} .${so.iconActive}`]:{outline:"1px solid #999"},[`& .${so.visuallyHidden}`]:Pn,variants:[{props:{size:"small"},style:{fontSize:t.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:t.typography.pxToRem(30)}},{props:({ownerState:e})=>e.readOnly,style:{pointerEvents:"none"}}]}))),Xn=S("label",{name:"MuiRating",slot:"Label",overridesResolver:({ownerState:t},e)=>[e.label,t.emptyValueFocused&&e.labelEmptyValueActive]})({cursor:"inherit",variants:[{props:({ownerState:t})=>t.emptyValueFocused,style:{top:0,bottom:0,position:"absolute",outline:"1px solid #999",width:"100%"}}]}),qd=S("span",{name:"MuiRating",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,o.iconEmpty&&e.iconEmpty,o.iconFilled&&e.iconFilled,o.iconHover&&e.iconHover,o.iconFocus&&e.iconFocus,o.iconActive&&e.iconActive]}})(U(({theme:t})=>({display:"flex",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest}),pointerEvents:"none",variants:[{props:({ownerState:e})=>e.iconActive,style:{transform:"scale(1.2)"}},{props:({ownerState:e})=>e.iconEmpty,style:{color:(t.vars||t).palette.action.disabled}}]}))),Xd=S("span",{name:"MuiRating",slot:"Decimal",shouldForwardProp:t=>Xo(t)&&t!=="iconActive",overridesResolver:(t,e)=>{const{iconActive:o}=t;return[e.decimal,o&&e.iconActive]}})({position:"relative",variants:[{props:({iconActive:t})=>t,style:{transform:"scale(1.2)"}}]});function Yd(t){const{value:e,...o}=t;return d.jsx("span",{...o})}function rn(t){const{classes:e,disabled:o,emptyIcon:r,focus:n,getLabelText:s,highlightSelectedOnly:a,hover:i,icon:l,IconContainerComponent:c,isActive:p,itemValue:f,labelProps:v,name:m,onBlur:y,onChange:g,onClick:h,onFocus:b,readOnly:x,ownerState:C,ratingValue:R,ratingValueRounded:P,slots:N={},slotProps:$={}}=t,A=a?f===R:f<=R,k=f<=i,I=f<=n,F=f===P,L=`${m}-${Ue()}`,w={slots:N,slotProps:$},[M,H]=V("icon",{elementType:qd,className:j(e.icon,A?e.iconFilled:e.iconEmpty,k&&e.iconHover,I&&e.iconFocus,p&&e.iconActive),externalForwardedProps:w,ownerState:{...C,iconEmpty:!A,iconFilled:A,iconHover:k,iconFocus:I,iconActive:p},additionalProps:{value:f},internalForwardedProps:{as:c}}),[z,Q]=V("label",{elementType:Xn,externalForwardedProps:w,ownerState:{...C,emptyValueFocused:void 0},additionalProps:{style:v==null?void 0:v.style,htmlFor:L}}),D=d.jsx(M,{...H,children:r&&!A?r:l});return x?d.jsx("span",{...v,children:D}):d.jsxs(u.Fragment,{children:[d.jsxs(z,{...Q,children:[D,d.jsx("span",{className:e.visuallyHidden,children:s(f)})]}),d.jsx("input",{className:e.visuallyHidden,onFocus:b,onBlur:y,onChange:g,onClick:h,disabled:o,value:f,id:L,type:"radio",name:m,checked:F})]})}const Kd=d.jsx(Ud,{fontSize:"inherit"}),Zd=d.jsx(Wd,{fontSize:"inherit"});function Jd(t){return`${t||"0"} Star${t!==1?"s":""}`}const Fb=u.forwardRef(function(e,o){const r=X({name:"MuiRating",props:e}),{component:n="span",className:s,defaultValue:a=null,disabled:i=!1,emptyIcon:l=Zd,emptyLabelText:c="Empty",getLabelText:p=Jd,highlightSelectedOnly:f=!1,icon:v=Kd,IconContainerComponent:m=Yd,max:y=5,name:g,onChange:h,onChangeActive:b,onMouseLeave:x,onMouseMove:C,precision:R=1,readOnly:P=!1,size:N="medium",value:$,slots:A={},slotProps:k={},...I}=r,F=Ue(g),[L,w]=ue({controlled:$,default:a,name:"Rating"}),M=fr(L,R),H=We(),[{hover:z,focus:Q},D]=u.useState({hover:-1,focus:-1});let et=M;z!==-1&&(et=z),Q!==-1&&(et=Q);const[pt,_]=u.useState(!1),wt=u.useRef(),Lt=ge(wt,o),Rt=ft=>{C&&C(ft);const Pt=wt.current,{right:It,left:Vt,width:E}=Pt.getBoundingClientRect();let G;H?G=(It-ft.clientX)/E:G=(ft.clientX-Vt)/E;let ot=fr(y*G+R/2,R);ot=Le(ot,R,y),D(gt=>gt.hover===ot&>.focus===ot?gt:{hover:ot,focus:ot}),_(!1),b&&z!==ot&&b(ft,ot)},lt=ft=>{x&&x(ft);const Pt=-1;D({hover:Pt,focus:Pt}),b&&z!==Pt&&b(ft,Pt)},rt=ft=>{let Pt=ft.target.value===""?null:parseFloat(ft.target.value);z!==-1&&(Pt=z),w(Pt),h&&h(ft,Pt)},W=ft=>{ft.clientX===0&&ft.clientY===0||(D({hover:-1,focus:-1}),w(null),h&&parseFloat(ft.target.value)===M&&h(ft,null))},it=ft=>{Ie(ft.target)&&_(!0);const Pt=parseFloat(ft.target.value);D(It=>({hover:It.hover,focus:Pt}))},dt=ft=>{if(z!==-1)return;Ie(ft.target)||_(!1);const Pt=-1;D(It=>({hover:It.hover,focus:Pt}))},[bt,$t]=u.useState(!1),nt={...r,component:n,defaultValue:a,disabled:i,emptyIcon:l,emptyLabelText:c,emptyValueFocused:bt,focusVisible:pt,getLabelText:p,icon:v,IconContainerComponent:m,max:y,precision:R,readOnly:P,size:N},ct=Gd(nt),vt={slots:A,slotProps:k},[yt,Ot]=V("root",{ref:Lt,className:j(ct.root,s),elementType:_d,externalForwardedProps:{...vt,...I,component:n},getSlotProps:ft=>({...ft,onMouseMove:Pt=>{var It;Rt(Pt),(It=ft.onMouseMove)==null||It.call(ft,Pt)},onMouseLeave:Pt=>{var It;lt(Pt),(It=ft.onMouseLeave)==null||It.call(ft,Pt)}}),ownerState:nt,additionalProps:{role:P?"img":null,"aria-label":P?p(et):null}}),[Y,tt]=V("label",{className:j(ct.label,ct.labelEmptyValue),elementType:Xn,externalForwardedProps:vt,ownerState:nt}),[st,xt]=V("decimal",{className:ct.decimal,elementType:Xd,externalForwardedProps:vt,ownerState:nt});return d.jsxs(yt,{...Ot,children:[Array.from(new Array(y)).map((ft,Pt)=>{const It=Pt+1,Vt={classes:ct,disabled:i,emptyIcon:l,focus:Q,getLabelText:p,highlightSelectedOnly:f,hover:z,icon:v,IconContainerComponent:m,name:F,onBlur:dt,onChange:rt,onClick:W,onFocus:it,ratingValue:et,ratingValueRounded:M,readOnly:P,ownerState:nt,slots:A,slotProps:k},E=It===Math.ceil(et)&&(z!==-1||Q!==-1);if(R<1){const G=Array.from(new Array(1/R));return u.createElement(st,{...xt,key:It,className:j(xt.className,E&&ct.iconActive),iconActive:E},G.map((ot,gt)=>{const ut=fr(It-1+(gt+1)*R,R);return d.jsx(rn,{...Vt,isActive:!1,itemValue:ut,labelProps:{style:G.length-1===gt?{}:{width:ut===et?`${(gt+1)*R*100}%`:"0%",overflow:"hidden",position:"absolute"}}},ut)}))}return d.jsx(rn,{...Vt,isActive:E,itemValue:It},It)}),!P&&!i&&d.jsxs(Y,{...tt,children:[d.jsx("input",{className:ct.visuallyHidden,value:"",id:`${F}-empty`,type:"radio",name:F,checked:M==null,onFocus:()=>$t(!0),onBlur:()=>$t(!1),onChange:rt}),d.jsx("span",{className:ct.visuallyHidden,children:c})]})]})});function Qd(t){return K("MuiScopedCssBaseline",t)}const Ub=Z("MuiScopedCssBaseline",["root"]),tu=t=>{const{classes:e}=t;return q({root:["root"]},Qd,e)},eu=S("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>{const e={};return t.colorSchemes&&Object.entries(t.colorSchemes).forEach(([o,r])=>{var s,a;const n=t.getColorSchemeSelector(o);n.startsWith("@")?e[n]={colorScheme:(s=r.palette)==null?void 0:s.mode}:e[`&${n.replace(/\s*&/,"")}`]={colorScheme:(a=r.palette)==null?void 0:a.mode}}),{...Nn(t,!1),...On(t),"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:t.typography.fontWeightBold},variants:[{props:{enableColorScheme:!0},style:t.vars?e:{colorScheme:t.palette.mode}}]}})),Wb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiScopedCssBaseline"}),{className:n,component:s="div",enableColorScheme:a,...i}=r,l={...r,component:s},c=tu(l);return d.jsx(eu,{as:s,className:j(c.root,n),ref:o,ownerState:l,...i})});function ou(t,e,o=(r,n)=>r===n){return t.length===e.length&&t.every((r,n)=>o(r,e[n]))}const ru=2;function _e(t,e,o,r,n){return o===1?Math.min(t+e,n):Math.max(t-e,r)}function Yn(t,e){return t-e}function nn(t,e){const{index:o}=t.reduce((r,n,s)=>{const a=Math.abs(e-n);return r===null||a({left:`${t}%`}),leap:t=>({width:`${t}%`})},"horizontal-reverse":{offset:t=>({right:`${t}%`}),leap:t=>({width:`${t}%`})},vertical:{offset:t=>({bottom:`${t}%`}),leap:t=>({height:`${t}%`})}},lu=t=>t;let Bo;function an(){return Bo===void 0&&(typeof CSS<"u"&&typeof CSS.supports=="function"?Bo=CSS.supports("touch-action","none"):Bo=!0),Bo}function cu(t){const{"aria-labelledby":e,defaultValue:o,disabled:r=!1,disableSwap:n=!1,isRtl:s=!1,marks:a=!1,max:i=100,min:l=0,name:c,onChange:p,onChangeCommitted:f,orientation:v="horizontal",rootRef:m,scale:y=lu,step:g=1,shiftStep:h=10,tabIndex:b,value:x}=t,C=u.useRef(void 0),[R,P]=u.useState(-1),[N,$]=u.useState(-1),[A,k]=u.useState(!1),I=u.useRef(0),F=u.useRef(null),[L,w]=ue({controlled:x,default:o??l,name:"Slider"}),M=p&&((E,G,ot)=>{const gt=E.nativeEvent||E,ut=new gt.constructor(gt.type,gt);Object.defineProperty(ut,"target",{writable:!0,value:{value:G,name:c}}),F.current=G,p(ut,G,ot)}),H=Array.isArray(L);let z=H?L.slice().sort(Yn):[L];z=z.map(E=>E==null?l:Le(E,l,i));const Q=a===!0&&g!==null?[...Array(Math.floor((i-l)/g)+1)].map((E,G)=>({value:l+g*G})):a||[],D=Q.map(E=>E.value),[et,pt]=u.useState(-1),_=u.useRef(null),wt=ge(m,_),Lt=E=>G=>{var gt;const ot=Number(G.currentTarget.getAttribute("data-index"));Ie(G.target)&&pt(ot),$(ot),(gt=E==null?void 0:E.onFocus)==null||gt.call(E,G)},Rt=E=>G=>{var ot;Ie(G.target)||pt(-1),$(-1),(ot=E==null?void 0:E.onBlur)==null||ot.call(E,G)},lt=(E,G)=>{const ot=Number(E.currentTarget.getAttribute("data-index")),gt=z[ot],ut=D.indexOf(gt);let J=G;if(Q&&g==null){const ht=D[D.length-1];J>=ht?J=ht:J<=D[0]?J=D[0]:J=JG=>{var ot;if(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End"].includes(G.key)){G.preventDefault();const gt=Number(G.currentTarget.getAttribute("data-index")),ut=z[gt];let J=null;if(g!=null){const ht=G.shiftKey?h:g;switch(G.key){case"ArrowUp":J=_e(ut,ht,1,l,i);break;case"ArrowRight":J=_e(ut,ht,s?-1:1,l,i);break;case"ArrowDown":J=_e(ut,ht,-1,l,i);break;case"ArrowLeft":J=_e(ut,ht,s?1:-1,l,i);break;case"PageUp":J=_e(ut,h,1,l,i);break;case"PageDown":J=_e(ut,h,-1,l,i);break;case"Home":J=l;break;case"End":J=i;break}}else if(Q){const ht=D[D.length-1],Dt=D.indexOf(ut),At=[s?"ArrowRight":"ArrowLeft","ArrowDown","PageDown","Home"],zt=[s?"ArrowLeft":"ArrowRight","ArrowUp","PageUp","End"];At.includes(G.key)?Dt===0?J=D[0]:J=D[Dt-1]:zt.includes(G.key)&&(Dt===D.length-1?J=ht:J=D[Dt+1])}J!=null&<(G,J)}(ot=E==null?void 0:E.onKeyDown)==null||ot.call(E,G)};Co(()=>{var E;r&&_.current.contains(document.activeElement)&&((E=document.activeElement)==null||E.blur())},[r]),r&&R!==-1&&P(-1),r&&et!==-1&&pt(-1);const W=E=>G=>{var ot;(ot=E.onChange)==null||ot.call(E,G),lt(G,G.target.valueAsNumber)},it=u.useRef(void 0);let dt=v;s&&v==="horizontal"&&(dt+="-reverse");const bt=({finger:E,move:G=!1})=>{const{current:ot}=_,{width:gt,height:ut,bottom:J,left:ht}=ot.getBoundingClientRect();let Dt;dt.startsWith("vertical")?Dt=(J-E.y)/ut:Dt=(E.x-ht)/gt,dt.includes("-reverse")&&(Dt=1-Dt);let At;if(At=nu(Dt,l,i),g)At=au(At,g,l);else{const qt=nn(D,At);At=D[qt]}At=Le(At,l,i);let zt=0;if(H){G?zt=it.current:zt=nn(z,At),n&&(At=Le(At,z[zt-1]||-1/0,z[zt+1]||1/0));const qt=At;At=sn({values:z,newValue:At,index:zt}),n&&G||(zt=At.indexOf(qt),it.current=zt)}return{newValue:At,activeIndex:zt}},$t=ne(E=>{const G=Mo(E,C);if(!G)return;if(I.current+=1,E.type==="mousemove"&&E.buttons===0){nt(E);return}const{newValue:ot,activeIndex:gt}=bt({finger:G,move:!0});Ao({sliderRef:_,activeIndex:gt,setActive:P}),w(ot),!A&&I.current>ru&&k(!0),M&&!Lo(ot,L)&&M(E,ot,gt)}),nt=ne(E=>{const G=Mo(E,C);if(k(!1),!G)return;const{newValue:ot}=bt({finger:G,move:!0});P(-1),E.type==="touchend"&&$(-1),f&&f(E,F.current??ot),C.current=void 0,vt()}),ct=ne(E=>{if(r)return;an()||E.preventDefault();const G=E.changedTouches[0];G!=null&&(C.current=G.identifier);const ot=Mo(E,C);if(ot!==!1){const{newValue:ut,activeIndex:J}=bt({finger:ot});Ao({sliderRef:_,activeIndex:J,setActive:P}),w(ut),M&&!Lo(ut,L)&&M(E,ut,J)}I.current=0;const gt=de(_.current);gt.addEventListener("touchmove",$t,{passive:!0}),gt.addEventListener("touchend",nt,{passive:!0})}),vt=u.useCallback(()=>{const E=de(_.current);E.removeEventListener("mousemove",$t),E.removeEventListener("mouseup",nt),E.removeEventListener("touchmove",$t),E.removeEventListener("touchend",nt)},[nt,$t]);u.useEffect(()=>{const{current:E}=_;return E.addEventListener("touchstart",ct,{passive:an()}),()=>{E.removeEventListener("touchstart",ct),vt()}},[vt,ct]),u.useEffect(()=>{r&&vt()},[r,vt]);const yt=E=>G=>{var ut;if((ut=E.onMouseDown)==null||ut.call(E,G),r||G.defaultPrevented||G.button!==0)return;G.preventDefault();const ot=Mo(G,C);if(ot!==!1){const{newValue:J,activeIndex:ht}=bt({finger:ot});Ao({sliderRef:_,activeIndex:ht,setActive:P}),w(J),M&&!Lo(J,L)&&M(G,J,ht)}I.current=0;const gt=de(_.current);gt.addEventListener("mousemove",$t,{passive:!0}),gt.addEventListener("mouseup",nt)},Ot=qo(H?z[0]:l,l,i),Y=qo(z[z.length-1],l,i)-Ot,tt=(E={})=>{const G=uo(E),ot={onMouseDown:yt(G||{})},gt={...G,...ot};return{...E,ref:wt,...gt}},st=E=>G=>{var gt;(gt=E.onMouseOver)==null||gt.call(E,G);const ot=Number(G.currentTarget.getAttribute("data-index"));$(ot)},xt=E=>G=>{var ot;(ot=E.onMouseLeave)==null||ot.call(E,G),$(-1)},ft=(E={})=>{const G=uo(E),ot={onMouseOver:st(G||{}),onMouseLeave:xt(G||{})};return{...E,...G,...ot}},Pt=E=>({pointerEvents:R!==-1&&R!==E?"none":void 0});let It;return v==="vertical"&&(It=s?"vertical-rl":"vertical-lr"),{active:R,axis:dt,axisProps:iu,dragging:A,focusedThumbIndex:et,getHiddenInputProps:(E={})=>{const G=uo(E),ot={onChange:W(G||{}),onFocus:Lt(G||{}),onBlur:Rt(G||{}),onKeyDown:rt(G||{})},gt={...G,...ot};return{tabIndex:b,"aria-labelledby":e,"aria-orientation":v,"aria-valuemax":y(i),"aria-valuemin":y(l),name:c,type:"range",min:t.min,max:t.max,step:t.step===null&&t.marks?"any":t.step??void 0,disabled:r,...E,...gt,style:{...Pn,direction:s?"rtl":"ltr",width:"100%",height:"100%",writingMode:It}}},getRootProps:tt,getThumbProps:ft,marks:Q,open:N,range:H,rootRef:wt,trackLeap:Y,trackOffset:Ot,values:z,getThumbStyle:Pt}}const pu=t=>!t||!Uo(t);function du(t){return K("MuiSlider",t)}const le=Z("MuiSlider",["root","active","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","disabled","dragging","focusVisible","mark","markActive","marked","markLabel","markLabelActive","rail","sizeSmall","thumb","thumbColorPrimary","thumbColorSecondary","thumbColorError","thumbColorSuccess","thumbColorInfo","thumbColorWarning","track","trackInverted","trackFalse","thumbSizeSmall","valueLabel","valueLabelOpen","valueLabelCircle","valueLabelLabel","vertical"]),uu=t=>{const{open:e}=t;return{offset:j(e&&le.valueLabelOpen),circle:le.valueLabelCircle,label:le.valueLabelLabel}};function fu(t){const{children:e,className:o,value:r}=t,n=uu(t);return e?u.cloneElement(e,{className:j(e.props.className)},d.jsxs(u.Fragment,{children:[e.props.children,d.jsx("span",{className:j(n.offset,o),"aria-hidden":!0,children:d.jsx("span",{className:n.circle,children:d.jsx("span",{className:n.label,children:r})})})]})):null}function ln(t){return t}const gu=S("span",{name:"MuiSlider",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`color${T(o.color)}`],o.size!=="medium"&&e[`size${T(o.size)}`],o.marked&&e.marked,o.orientation==="vertical"&&e.vertical,o.track==="inverted"&&e.trackInverted,o.track===!1&&e.trackFalse]}})(U(({theme:t})=>({borderRadius:12,boxSizing:"content-box",display:"inline-block",position:"relative",cursor:"pointer",touchAction:"none",WebkitTapHighlightColor:"transparent","@media print":{colorAdjust:"exact"},[`&.${le.disabled}`]:{pointerEvents:"none",cursor:"default",color:(t.vars||t).palette.grey[400]},[`&.${le.dragging}`]:{[`& .${le.thumb}, & .${le.track}`]:{transition:"none"}},variants:[...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{color:(t.vars||t).palette[e].main}})),{props:{orientation:"horizontal"},style:{height:4,width:"100%",padding:"13px 0","@media (pointer: coarse)":{padding:"20px 0"}}},{props:{orientation:"horizontal",size:"small"},style:{height:2}},{props:{orientation:"horizontal",marked:!0},style:{marginBottom:20}},{props:{orientation:"vertical"},style:{height:"100%",width:4,padding:"0 13px","@media (pointer: coarse)":{padding:"0 20px"}}},{props:{orientation:"vertical",size:"small"},style:{width:2}},{props:{orientation:"vertical",marked:!0},style:{marginRight:44}}]}))),mu=S("span",{name:"MuiSlider",slot:"Rail",overridesResolver:(t,e)=>e.rail})({display:"block",position:"absolute",borderRadius:"inherit",backgroundColor:"currentColor",opacity:.38,variants:[{props:{orientation:"horizontal"},style:{width:"100%",height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{height:"100%",width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:"inverted"},style:{opacity:1}}]}),bu=S("span",{name:"MuiSlider",slot:"Track",overridesResolver:(t,e)=>e.track})(U(({theme:t})=>({display:"block",position:"absolute",borderRadius:"inherit",border:"1px solid currentColor",backgroundColor:"currentColor",transition:t.transitions.create(["left","width","bottom","height"],{duration:t.transitions.duration.shortest}),variants:[{props:{size:"small"},style:{border:"none"}},{props:{orientation:"horizontal"},style:{height:"inherit",top:"50%",transform:"translateY(-50%)"}},{props:{orientation:"vertical"},style:{width:"inherit",left:"50%",transform:"translateX(-50%)"}},{props:{track:!1},style:{display:"none"}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e,track:"inverted"},style:{...t.vars?{backgroundColor:t.vars.palette.Slider[`${e}Track`],borderColor:t.vars.palette.Slider[`${e}Track`]}:{backgroundColor:Ee(t.palette[e].main,.62),borderColor:Ee(t.palette[e].main,.62),...t.applyStyles("dark",{backgroundColor:De(t.palette[e].main,.5)}),...t.applyStyles("dark",{borderColor:De(t.palette[e].main,.5)})}}}))]}))),vu=S("span",{name:"MuiSlider",slot:"Thumb",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.thumb,e[`thumbColor${T(o.color)}`],o.size!=="medium"&&e[`thumbSize${T(o.size)}`]]}})(U(({theme:t})=>({position:"absolute",width:20,height:20,boxSizing:"border-box",borderRadius:"50%",outline:0,backgroundColor:"currentColor",display:"flex",alignItems:"center",justifyContent:"center",transition:t.transitions.create(["box-shadow","left","bottom"],{duration:t.transitions.duration.shortest}),"&::before":{position:"absolute",content:'""',borderRadius:"inherit",width:"100%",height:"100%",boxShadow:(t.vars||t).shadows[2]},"&::after":{position:"absolute",content:'""',borderRadius:"50%",width:42,height:42,top:"50%",left:"50%",transform:"translate(-50%, -50%)"},[`&.${le.disabled}`]:{"&:hover":{boxShadow:"none"}},variants:[{props:{size:"small"},style:{width:12,height:12,"&::before":{boxShadow:"none"}}},{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-50%, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 50%)"}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{[`&:hover, &.${le.focusVisible}`]:{...t.vars?{boxShadow:`0px 0px 0px 8px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 8px ${Tt(t.palette[e].main,.16)}`},"@media (hover: none)":{boxShadow:"none"}},[`&.${le.active}`]:{...t.vars?{boxShadow:`0px 0px 0px 14px rgba(${t.vars.palette[e].mainChannel} / 0.16)`}:{boxShadow:`0px 0px 0px 14px ${Tt(t.palette[e].main,.16)}`}}}}))]}))),yu=S(fu,{name:"MuiSlider",slot:"ValueLabel",overridesResolver:(t,e)=>e.valueLabel})(U(({theme:t})=>({zIndex:1,whiteSpace:"nowrap",...t.typography.body2,fontWeight:500,transition:t.transitions.create(["transform"],{duration:t.transitions.duration.shortest}),position:"absolute",backgroundColor:(t.vars||t).palette.grey[600],borderRadius:2,color:(t.vars||t).palette.common.white,display:"flex",alignItems:"center",justifyContent:"center",padding:"0.25rem 0.75rem",variants:[{props:{orientation:"horizontal"},style:{transform:"translateY(-100%) scale(0)",top:"-10px",transformOrigin:"bottom center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, 50%) rotate(45deg)",backgroundColor:"inherit",bottom:0,left:"50%"},[`&.${le.valueLabelOpen}`]:{transform:"translateY(-100%) scale(1)"}}},{props:{orientation:"vertical"},style:{transform:"translateY(-50%) scale(0)",right:"30px",top:"50%",transformOrigin:"right center","&::before":{position:"absolute",content:'""',width:8,height:8,transform:"translate(-50%, -50%) rotate(45deg)",backgroundColor:"inherit",right:-8,top:"50%"},[`&.${le.valueLabelOpen}`]:{transform:"translateY(-50%) scale(1)"}}},{props:{size:"small"},style:{fontSize:t.typography.pxToRem(12),padding:"0.25rem 0.5rem"}},{props:{orientation:"vertical",size:"small"},style:{right:"20px"}}]}))),hu=S("span",{name:"MuiSlider",slot:"Mark",shouldForwardProp:t=>Xo(t)&&t!=="markActive",overridesResolver:(t,e)=>{const{markActive:o}=t;return[e.mark,o&&e.markActive]}})(U(({theme:t})=>({position:"absolute",width:2,height:2,borderRadius:1,backgroundColor:"currentColor",variants:[{props:{orientation:"horizontal"},style:{top:"50%",transform:"translate(-1px, -50%)"}},{props:{orientation:"vertical"},style:{left:"50%",transform:"translate(-50%, 1px)"}},{props:{markActive:!0},style:{backgroundColor:(t.vars||t).palette.background.paper,opacity:.8}}]}))),xu=S("span",{name:"MuiSlider",slot:"MarkLabel",shouldForwardProp:t=>Xo(t)&&t!=="markLabelActive",overridesResolver:(t,e)=>e.markLabel})(U(({theme:t})=>({...t.typography.body2,color:(t.vars||t).palette.text.secondary,position:"absolute",whiteSpace:"nowrap",variants:[{props:{orientation:"horizontal"},style:{top:30,transform:"translateX(-50%)","@media (pointer: coarse)":{top:40}}},{props:{orientation:"vertical"},style:{left:36,transform:"translateY(50%)","@media (pointer: coarse)":{left:44}}},{props:{markLabelActive:!0},style:{color:(t.vars||t).palette.text.primary}}]}))),Cu=t=>{const{disabled:e,dragging:o,marked:r,orientation:n,track:s,classes:a,color:i,size:l}=t,c={root:["root",e&&"disabled",o&&"dragging",r&&"marked",n==="vertical"&&"vertical",s==="inverted"&&"trackInverted",s===!1&&"trackFalse",i&&`color${T(i)}`,l&&`size${T(l)}`],rail:["rail"],track:["track"],mark:["mark"],markActive:["markActive"],markLabel:["markLabel"],markLabelActive:["markLabelActive"],valueLabel:["valueLabel"],thumb:["thumb",e&&"disabled",l&&`thumbSize${T(l)}`,i&&`thumbColor${T(i)}`],active:["active"],disabled:["disabled"],focusVisible:["focusVisible"]};return q(c,du,a)},Su=({children:t})=>t,Hb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSlider"}),n=We(),{"aria-label":s,"aria-valuetext":a,"aria-labelledby":i,component:l="span",components:c={},componentsProps:p={},color:f="primary",classes:v,className:m,disableSwap:y=!1,disabled:g=!1,getAriaLabel:h,getAriaValueText:b,marks:x=!1,max:C=100,min:R=0,name:P,onChange:N,onChangeCommitted:$,orientation:A="horizontal",shiftStep:k=10,size:I="medium",step:F=1,scale:L=ln,slotProps:w,slots:M,tabIndex:H,track:z="normal",value:Q,valueLabelDisplay:D="off",valueLabelFormat:et=ln,...pt}=r,_={...r,isRtl:n,max:C,min:R,classes:v,disabled:g,disableSwap:y,orientation:A,marks:x,color:f,size:I,step:F,shiftStep:k,scale:L,track:z,valueLabelDisplay:D,valueLabelFormat:et},{axisProps:wt,getRootProps:Lt,getHiddenInputProps:Rt,getThumbProps:lt,open:rt,active:W,axis:it,focusedThumbIndex:dt,range:bt,dragging:$t,marks:nt,values:ct,trackOffset:vt,trackLeap:yt,getThumbStyle:Ot}=cu({..._,rootRef:o});_.marked=nt.length>0&&nt.some(Bt=>Bt.label),_.dragging=$t,_.focusedThumbIndex=dt;const Y=Cu(_),tt=(M==null?void 0:M.root)??c.Root??gu,st=(M==null?void 0:M.rail)??c.Rail??mu,xt=(M==null?void 0:M.track)??c.Track??bu,ft=(M==null?void 0:M.thumb)??c.Thumb??vu,Pt=(M==null?void 0:M.valueLabel)??c.ValueLabel??yu,It=(M==null?void 0:M.mark)??c.Mark??hu,Vt=(M==null?void 0:M.markLabel)??c.MarkLabel??xu,E=(M==null?void 0:M.input)??c.Input??"input",G=(w==null?void 0:w.root)??p.root,ot=(w==null?void 0:w.rail)??p.rail,gt=(w==null?void 0:w.track)??p.track,ut=(w==null?void 0:w.thumb)??p.thumb,J=(w==null?void 0:w.valueLabel)??p.valueLabel,ht=(w==null?void 0:w.mark)??p.mark,Dt=(w==null?void 0:w.markLabel)??p.markLabel,At=(w==null?void 0:w.input)??p.input,zt=Ce({elementType:tt,getSlotProps:Lt,externalSlotProps:G,externalForwardedProps:pt,additionalProps:{...pu(tt)&&{as:l}},ownerState:{..._,...G==null?void 0:G.ownerState},className:[Y.root,m]}),qt=Ce({elementType:st,externalSlotProps:ot,ownerState:_,className:Y.rail}),Xt=Ce({elementType:xt,externalSlotProps:gt,additionalProps:{style:{...wt[it].offset(vt),...wt[it].leap(yt)}},ownerState:{..._,...gt==null?void 0:gt.ownerState},className:Y.track}),ye=Ce({elementType:ft,getSlotProps:lt,externalSlotProps:ut,ownerState:{..._,...ut==null?void 0:ut.ownerState},className:Y.thumb}),ae=Ce({elementType:Pt,externalSlotProps:J,ownerState:{..._,...J==null?void 0:J.ownerState},className:Y.valueLabel}),he=Ce({elementType:It,externalSlotProps:ht,ownerState:_,className:Y.mark}),Yt=Ce({elementType:Vt,externalSlotProps:Dt,ownerState:_,className:Y.markLabel}),ce=Ce({elementType:E,getSlotProps:Rt,externalSlotProps:At,ownerState:_});return d.jsxs(tt,{...zt,children:[d.jsx(st,{...qt}),d.jsx(xt,{...Xt}),nt.filter(Bt=>Bt.value>=R&&Bt.value<=C).map((Bt,Et)=>{const Kt=qo(Bt.value,R,C),pe=wt[it].offset(Kt);let Zt;return z===!1?Zt=ct.includes(Bt.value):Zt=z==="normal"&&(bt?Bt.value>=ct[0]&&Bt.value<=ct[ct.length-1]:Bt.value<=ct[0])||z==="inverted"&&(bt?Bt.value<=ct[0]||Bt.value>=ct[ct.length-1]:Bt.value>=ct[0]),d.jsxs(u.Fragment,{children:[d.jsx(It,{"data-index":Et,...he,...!Uo(It)&&{markActive:Zt},style:{...pe,...he.style},className:j(he.className,Zt&&Y.markActive)}),Bt.label!=null?d.jsx(Vt,{"aria-hidden":!0,"data-index":Et,...Yt,...!Uo(Vt)&&{markLabelActive:Zt},style:{...pe,...Yt.style},className:j(Y.markLabel,Yt.className,Zt&&Y.markLabelActive),children:Bt.label}):null]},Et)}),ct.map((Bt,Et)=>{const Kt=qo(Bt,R,C),pe=wt[it].offset(Kt),Zt=D==="off"?Su:Pt;return d.jsx(Zt,{...!Uo(Zt)&&{valueLabelFormat:et,valueLabelDisplay:D,value:typeof et=="function"?et(L(Bt),Et):et,index:Et,open:rt===Et||W===Et||D==="on",disabled:g},...ae,children:d.jsx(ft,{"data-index":Et,...ye,className:j(Y.thumb,ye.className,W===Et&&Y.active,dt===Et&&Y.focusVisible),style:{...pe,...Ot(Et),...ye.style},children:d.jsx(E,{"data-index":Et,"aria-label":h?h(Et):s,"aria-valuenow":L(Bt),"aria-labelledby":i,"aria-valuetext":b?b(L(Bt),Et):a,value:ct[Et],...ce})})},Et)})]})});function wu(t={}){const{autoHideDuration:e=null,disableWindowBlurListener:o=!1,onClose:r,open:n,resumeHideDuration:s}=t,a=Ne();u.useEffect(()=>{if(!n)return;function b(x){x.defaultPrevented||x.key==="Escape"&&(r==null||r(x,"escapeKeyDown"))}return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b)}},[n,r]);const i=ne((b,x)=>{r==null||r(b,x)}),l=ne(b=>{!r||b==null||a.start(b,()=>{i(null,"timeout")})});u.useEffect(()=>(n&&l(e),a.clear),[n,e,l,a]);const c=b=>{r==null||r(b,"clickaway")},p=a.clear,f=u.useCallback(()=>{e!=null&&l(s??e*.5)},[e,s,l]),v=b=>x=>{const C=b.onBlur;C==null||C(x),f()},m=b=>x=>{const C=b.onFocus;C==null||C(x),p()},y=b=>x=>{const C=b.onMouseEnter;C==null||C(x),p()},g=b=>x=>{const C=b.onMouseLeave;C==null||C(x),f()};return u.useEffect(()=>{if(!o&&n)return window.addEventListener("focus",f),window.addEventListener("blur",p),()=>{window.removeEventListener("focus",f),window.removeEventListener("blur",p)}},[o,n,f,p]),{getRootProps:(b={})=>{const x={...uo(t),...uo(b)};return{role:"presentation",...b,...x,onBlur:v(x),onFocus:m(x),onMouseEnter:y(x),onMouseLeave:g(x)}},onClickAway:c}}function Ru(t){return K("MuiSnackbarContent",t)}const Vb=Z("MuiSnackbarContent",["root","message","action"]),$u=t=>{const{classes:e}=t;return q({root:["root"],action:["action"],message:["message"]},Ru,e)},Pu=S(we,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>{const e=t.palette.mode==="light"?.8:.98,o=Ho(t.palette.background.default,e);return{...t.typography.body2,color:t.vars?t.vars.palette.SnackbarContent.color:t.palette.getContrastText(o),backgroundColor:t.vars?t.vars.palette.SnackbarContent.bg:o,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(t.vars||t).shape.borderRadius,flexGrow:1,[t.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}}})),ku=S("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(t,e)=>e.message})({padding:"8px 0"}),Tu=S("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(t,e)=>e.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),Iu=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSnackbarContent"}),{action:n,className:s,message:a,role:i="alert",...l}=r,c=r,p=$u(c);return d.jsxs(Pu,{role:i,square:!0,elevation:6,className:j(p.root,s),ownerState:c,ref:o,...l,children:[d.jsx(ku,{className:p.message,ownerState:c,children:a}),n?d.jsx(Tu,{className:p.action,ownerState:c,children:n}):null]})});function Mu(t){return K("MuiSnackbar",t)}const Gb=Z("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]),Au=t=>{const{classes:e,anchorOrigin:o}=t,r={root:["root",`anchorOrigin${T(o.vertical)}${T(o.horizontal)}`]};return q(r,Mu,e)},Lu=S("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`anchorOrigin${T(o.anchorOrigin.vertical)}${T(o.anchorOrigin.horizontal)}`]]}})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center",variants:[{props:({ownerState:e})=>e.anchorOrigin.vertical==="top",style:{top:8,[t.breakpoints.up("sm")]:{top:24}}},{props:({ownerState:e})=>e.anchorOrigin.vertical!=="top",style:{bottom:8,[t.breakpoints.up("sm")]:{bottom:24}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="left",style:{justifyContent:"flex-start",[t.breakpoints.up("sm")]:{left:24,right:"auto"}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="right",style:{justifyContent:"flex-end",[t.breakpoints.up("sm")]:{right:24,left:"auto"}}},{props:({ownerState:e})=>e.anchorOrigin.horizontal==="center",style:{[t.breakpoints.up("sm")]:{left:"50%",right:"auto",transform:"translateX(-50%)"}}}]}))),_b=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSnackbar"}),n=se(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{action:a,anchorOrigin:{vertical:i,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:p,className:f,ClickAwayListenerProps:v,ContentProps:m,disableWindowBlurListener:y=!1,message:g,onBlur:h,onClose:b,onFocus:x,onMouseEnter:C,onMouseLeave:R,open:P,resumeHideDuration:N,slots:$={},slotProps:A={},TransitionComponent:k,transitionDuration:I=s,TransitionProps:{onEnter:F,onExited:L,...w}={},...M}=r,H={...r,anchorOrigin:{vertical:i,horizontal:l},autoHideDuration:c,disableWindowBlurListener:y,TransitionComponent:k,transitionDuration:I},z=Au(H),{getRootProps:Q,onClickAway:D}=wu({...H}),[et,pt]=u.useState(!0),_=ct=>{pt(!0),L&&L(ct)},wt=(ct,vt)=>{pt(!1),F&&F(ct,vt)},Lt={slots:{transition:k,...$},slotProps:{content:m,clickAwayListener:v,transition:w,...A}},[Rt,lt]=V("root",{ref:o,className:[z.root,f],elementType:Lu,getSlotProps:Q,externalForwardedProps:{...Lt,...M},ownerState:H}),[rt,{ownerState:W,...it}]=V("clickAwayListener",{elementType:Rc,externalForwardedProps:Lt,getSlotProps:ct=>({onClickAway:(...vt)=>{var yt;(yt=ct.onClickAway)==null||yt.call(ct,...vt),D(...vt)}}),ownerState:H}),[dt,bt]=V("content",{elementType:Iu,shouldForwardComponentProp:!0,externalForwardedProps:Lt,additionalProps:{message:g,action:a},ownerState:H}),[$t,nt]=V("transition",{elementType:kn,externalForwardedProps:Lt,getSlotProps:ct=>({onEnter:(...vt)=>{var yt;(yt=ct.onEnter)==null||yt.call(ct,...vt),wt(...vt)},onExited:(...vt)=>{var yt;(yt=ct.onExited)==null||yt.call(ct,...vt),_(...vt)}}),additionalProps:{appear:!0,in:P,timeout:I,direction:i==="top"?"down":"up"},ownerState:H});return!P&&et?null:d.jsx(rt,{...it,...$.clickAwayListener&&{ownerState:W},children:d.jsx(Rt,{...lt,children:d.jsx($t,{...nt,children:p||d.jsx(dt,{...bt})})})})}),Bu={entering:{transform:"none"},entered:{transform:"none"}},Nu=u.forwardRef(function(e,o){const r=se(),n={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:a=!0,children:i,easing:l,in:c,onEnter:p,onEntered:f,onEntering:v,onExit:m,onExited:y,onExiting:g,style:h,timeout:b=n,TransitionComponent:x=Tr,...C}=e,R=u.useRef(null),P=ge(R,Zo(i),o),N=M=>H=>{if(M){const z=R.current;H===void 0?M(z):M(z,H)}},$=N(v),A=N((M,H)=>{$n(M);const z=Fe({style:h,timeout:b,easing:l},{mode:"enter"});M.style.webkitTransition=r.transitions.create("transform",z),M.style.transition=r.transitions.create("transform",z),p&&p(M,H)}),k=N(f),I=N(g),F=N(M=>{const H=Fe({style:h,timeout:b,easing:l},{mode:"exit"});M.style.webkitTransition=r.transitions.create("transform",H),M.style.transition=r.transitions.create("transform",H),m&&m(M)}),L=N(y),w=M=>{s&&s(R.current,M)};return d.jsx(x,{appear:a,in:c,nodeRef:R,onEnter:A,onEntered:k,onEntering:$,onExit:F,onExited:L,onExiting:I,addEndListener:w,timeout:b,...C,children:(M,{ownerState:H,...z})=>u.cloneElement(i,{style:{transform:"scale(0)",visibility:M==="exited"&&!c?"hidden":void 0,...Bu[M],...h,...i.props.style},ref:P,...z})})});function Ou(t){return K("MuiSpeedDial",t)}const No=Z("MuiSpeedDial",["root","fab","directionUp","directionDown","directionLeft","directionRight","actions","actionsClosed"]),zu=t=>{const{classes:e,open:o,direction:r}=t,n={root:["root",`direction${T(r)}`],fab:["fab"],actions:["actions",!o&&"actionsClosed"]};return q(n,Ou,e)};function ao(t){if(t==="up"||t==="down")return"vertical";if(t==="right"||t==="left")return"horizontal"}const Oo=32,zo=16,ju=S("div",{name:"MuiSpeedDial",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`direction${T(o.direction)}`]]}})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.speedDial,display:"flex",alignItems:"center",pointerEvents:"none",variants:[{props:{direction:"up"},style:{flexDirection:"column-reverse",[`& .${No.actions}`]:{flexDirection:"column-reverse",marginBottom:-32,paddingBottom:zo+Oo}}},{props:{direction:"down"},style:{flexDirection:"column",[`& .${No.actions}`]:{flexDirection:"column",marginTop:-32,paddingTop:zo+Oo}}},{props:{direction:"left"},style:{flexDirection:"row-reverse",[`& .${No.actions}`]:{flexDirection:"row-reverse",marginRight:-32,paddingRight:zo+Oo}}},{props:{direction:"right"},style:{flexDirection:"row",[`& .${No.actions}`]:{flexDirection:"row",marginLeft:-32,paddingLeft:zo+Oo}}}]}))),Du=S(En,{name:"MuiSpeedDial",slot:"Fab",overridesResolver:(t,e)=>e.fab})({pointerEvents:"auto"}),Eu=S("div",{name:"MuiSpeedDial",slot:"Actions",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.actions,!o.open&&e.actionsClosed]}})({display:"flex",pointerEvents:"auto",variants:[{props:({ownerState:t})=>!t.open,style:{transition:"top 0s linear 0.2s",pointerEvents:"none"}}]}),qb=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSpeedDial"}),n=se(),s={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{ariaLabel:a,FabProps:{ref:i,...l}={},children:c,className:p,direction:f="up",hidden:v=!1,icon:m,onBlur:y,onClose:g,onFocus:h,onKeyDown:b,onMouseEnter:x,onMouseLeave:C,onOpen:R,open:P,openIcon:N,slots:$={},slotProps:A={},TransitionComponent:k,TransitionProps:I,transitionDuration:F=s,...L}=r,[w,M]=ue({controlled:P,default:!1,name:"SpeedDial",state:"open"}),H={...r,open:w,direction:f},z=zu(H),Q=Ne(),D=u.useRef(0),et=u.useRef(),pt=u.useRef([]);pt.current=[pt.current[0]];const _=u.useCallback(tt=>{pt.current[0]=tt},[]),wt=ge(i,_),Lt=(tt,st)=>xt=>{pt.current[tt+1]=xt,st&&st(xt)},Rt=tt=>{b&&b(tt);const st=tt.key.replace("Arrow","").toLowerCase(),{current:xt=st}=et;if(tt.key==="Escape"){M(!1),pt.current[0].focus(),g&&g(tt,"escapeKeyDown");return}if(ao(st)===ao(xt)&&ao(st)!==void 0){tt.preventDefault();const ft=st===xt?1:-1,Pt=Le(D.current+ft,0,pt.current.length-1);pt.current[Pt].focus(),D.current=Pt,et.current=xt}};u.useEffect(()=>{w||(D.current=0,et.current=void 0)},[w]);const lt=tt=>{tt.type==="mouseleave"&&C&&C(tt),tt.type==="blur"&&y&&y(tt),Q.clear(),tt.type==="blur"?Q.start(0,()=>{M(!1),g&&g(tt,"blur")}):(M(!1),g&&g(tt,"mouseLeave"))},rt=tt=>{l.onClick&&l.onClick(tt),Q.clear(),w?(M(!1),g&&g(tt,"toggle")):(M(!0),R&&R(tt,"toggle"))},W=tt=>{tt.type==="mouseenter"&&x&&x(tt),tt.type==="focus"&&h&&h(tt),Q.clear(),w||Q.start(0,()=>{M(!0),R&&R(tt,{focus:"focus",mouseenter:"mouseEnter"}[tt.type])})},it=a.replace(/^[^a-z]+|[^\w:.-]+/gi,""),dt=u.Children.toArray(c).filter(tt=>u.isValidElement(tt)),bt=dt.map((tt,st)=>{const{FabProps:{ref:xt,...ft}={},tooltipPlacement:Pt}=tt.props,It=Pt||(ao(f)==="vertical"?"left":"top");return u.cloneElement(tt,{FabProps:{...ft,ref:Lt(st,xt)},delay:30*(w?st:dt.length-st),open:w,tooltipPlacement:It,id:`${it}-action-${st}`})}),$t={transition:k,...$},nt={transition:I,...A},ct={slots:$t,slotProps:nt},[vt,yt]=V("root",{elementType:ju,externalForwardedProps:{...ct,...L},ownerState:H,ref:o,className:j(z.root,p),additionalProps:{role:"presentation"},getSlotProps:tt=>({...tt,onKeyDown:st=>{var xt;(xt=tt.onKeyDown)==null||xt.call(tt,st),Rt(st)},onBlur:st=>{var xt;(xt=tt.onBlur)==null||xt.call(tt,st),lt(st)},onFocus:st=>{var xt;(xt=tt.onFocus)==null||xt.call(tt,st),W(st)},onMouseEnter:st=>{var xt;(xt=tt.onMouseEnter)==null||xt.call(tt,st),W(st)},onMouseLeave:st=>{var xt;(xt=tt.onMouseLeave)==null||xt.call(tt,st),lt(st)}})}),[Ot,Y]=V("transition",{elementType:Nu,externalForwardedProps:ct,ownerState:H});return d.jsxs(vt,{...yt,children:[d.jsx(Ot,{in:!v,timeout:F,unmountOnExit:!0,...Y,children:d.jsx(Du,{color:"primary","aria-label":a,"aria-haspopup":"true","aria-expanded":w,"aria-controls":`${it}-actions`,...l,onClick:rt,className:j(z.fab,l.className),ref:wt,ownerState:H,children:u.isValidElement(m)&&Yo(m,["SpeedDialIcon"])?u.cloneElement(m,{open:w}):m})}),d.jsx(Eu,{id:`${it}-actions`,role:"menu","aria-orientation":ao(f),className:j(z.actions,!w&&z.actionsClosed),ownerState:H,children:bt})]})});function Fu(t){return K("MuiTooltip",t)}const Wt=Z("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]);function Uu(t){return Math.round(t*1e5)/1e5}const Wu=t=>{const{classes:e,disableInteractive:o,arrow:r,touch:n,placement:s}=t,a={popper:["popper",!o&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",n&&"touch",`tooltipPlacement${T(s.split("-")[0])}`],arrow:["arrow"]};return q(a,Fu,e)},Hu=S(Ko,{name:"MuiTooltip",slot:"Popper",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.popper,!o.disableInteractive&&e.popperInteractive,o.arrow&&e.popperArrow,!o.open&&e.popperClose]}})(U(({theme:t})=>({zIndex:(t.vars||t).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState:e})=>!e.disableInteractive,style:{pointerEvents:"auto"}},{props:({open:e})=>!e,style:{pointerEvents:"none"}},{props:({ownerState:e})=>e.arrow,style:{[`&[data-popper-placement*="bottom"] .${Wt.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${Wt.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${Wt.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${Wt.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState:e})=>e.arrow&&!e.isRtl,style:{[`&[data-popper-placement*="right"] .${Wt.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!!e.isRtl,style:{[`&[data-popper-placement*="right"] .${Wt.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!e.isRtl,style:{[`&[data-popper-placement*="left"] .${Wt.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:e})=>e.arrow&&!!e.isRtl,style:{[`&[data-popper-placement*="left"] .${Wt.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),Vu=S("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.tooltip,o.touch&&e.touch,o.arrow&&e.tooltipArrow,e[`tooltipPlacement${T(o.placement.split("-")[0])}`]]}})(U(({theme:t})=>({backgroundColor:t.vars?t.vars.palette.Tooltip.bg:Tt(t.palette.grey[700],.92),borderRadius:(t.vars||t).shape.borderRadius,color:(t.vars||t).palette.common.white,fontFamily:t.typography.fontFamily,padding:"4px 8px",fontSize:t.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:t.typography.fontWeightMedium,[`.${Wt.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${Wt.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${Wt.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState:e})=>e.arrow,style:{position:"relative",margin:0}},{props:({ownerState:e})=>e.touch,style:{padding:"8px 16px",fontSize:t.typography.pxToRem(14),lineHeight:`${Uu(16/14)}em`,fontWeight:t.typography.fontWeightRegular}},{props:({ownerState:e})=>!e.isRtl,style:{[`.${Wt.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState:e})=>!e.isRtl&&e.touch,style:{[`.${Wt.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState:e})=>!!e.isRtl,style:{[`.${Wt.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState:e})=>!!e.isRtl&&e.touch,style:{[`.${Wt.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${Wt.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState:e})=>e.touch,style:{[`.${Wt.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState:e})=>e.touch,style:{[`.${Wt.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),Gu=S("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(t,e)=>e.arrow})(U(({theme:t})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:t.vars?t.vars.palette.Tooltip.bg:Tt(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}})));let jo=!1;const cn=new Hs;let io={x:0,y:0};function Do(t,e){return(o,...r)=>{e&&e(o,...r),t(o,...r)}}const _u=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTooltip"}),{arrow:n=!1,children:s,classes:a,components:i={},componentsProps:l={},describeChild:c=!1,disableFocusListener:p=!1,disableHoverListener:f=!1,disableInteractive:v=!1,disableTouchListener:m=!1,enterDelay:y=100,enterNextDelay:g=0,enterTouchDelay:h=700,followCursor:b=!1,id:x,leaveDelay:C=0,leaveTouchDelay:R=1500,onClose:P,onOpen:N,open:$,placement:A="bottom",PopperComponent:k,PopperProps:I={},slotProps:F={},slots:L={},title:w,TransitionComponent:M,TransitionProps:H,...z}=r,Q=u.isValidElement(s)?s:d.jsx("span",{children:s}),D=se(),et=We(),[pt,_]=u.useState(),[wt,Lt]=u.useState(null),Rt=u.useRef(!1),lt=v||b,rt=Ne(),W=Ne(),it=Ne(),dt=Ne(),[bt,$t]=ue({controlled:$,default:!1,name:"Tooltip",state:"open"});let nt=bt;const ct=Ue(x),vt=u.useRef(),yt=ne(()=>{vt.current!==void 0&&(document.body.style.WebkitUserSelect=vt.current,vt.current=void 0),dt.clear()});u.useEffect(()=>yt,[yt]);const Ot=mt=>{cn.clear(),jo=!0,$t(!0),N&&!nt&&N(mt)},Y=ne(mt=>{cn.start(800+C,()=>{jo=!1}),$t(!1),P&&nt&&P(mt),rt.start(D.transitions.duration.shortest,()=>{Rt.current=!1})}),tt=mt=>{Rt.current&&mt.type!=="touchstart"||(pt&&pt.removeAttribute("title"),W.clear(),it.clear(),y||jo&&g?W.start(jo?g:y,()=>{Ot(mt)}):Ot(mt))},st=mt=>{W.clear(),it.start(C,()=>{Y(mt)})},[,xt]=u.useState(!1),ft=mt=>{Ie(mt.target)||(xt(!1),st(mt))},Pt=mt=>{pt||_(mt.currentTarget),Ie(mt.target)&&(xt(!0),tt(mt))},It=mt=>{Rt.current=!0;const te=Q.props;te.onTouchStart&&te.onTouchStart(mt)},Vt=mt=>{It(mt),it.clear(),rt.clear(),yt(),vt.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",dt.start(h,()=>{document.body.style.WebkitUserSelect=vt.current,tt(mt)})},E=mt=>{Q.props.onTouchEnd&&Q.props.onTouchEnd(mt),yt(),it.start(R,()=>{Y(mt)})};u.useEffect(()=>{if(!nt)return;function mt(te){te.key==="Escape"&&Y(te)}return document.addEventListener("keydown",mt),()=>{document.removeEventListener("keydown",mt)}},[Y,nt]);const G=ge(Zo(Q),_,o);!w&&w!==0&&(nt=!1);const ot=u.useRef(),gt=mt=>{const te=Q.props;te.onMouseMove&&te.onMouseMove(mt),io={x:mt.clientX,y:mt.clientY},ot.current&&ot.current.update()},ut={},J=typeof w=="string";c?(ut.title=!nt&&J&&!f?w:null,ut["aria-describedby"]=nt?ct:null):(ut["aria-label"]=J?w:null,ut["aria-labelledby"]=nt&&!J?ct:null);const ht={...ut,...z,...Q.props,className:j(z.className,Q.props.className),onTouchStart:It,ref:G,...b?{onMouseMove:gt}:{}},Dt={};m||(ht.onTouchStart=Vt,ht.onTouchEnd=E),f||(ht.onMouseOver=Do(tt,ht.onMouseOver),ht.onMouseLeave=Do(st,ht.onMouseLeave),lt||(Dt.onMouseOver=tt,Dt.onMouseLeave=st)),p||(ht.onFocus=Do(Pt,ht.onFocus),ht.onBlur=Do(ft,ht.onBlur),lt||(Dt.onFocus=Pt,Dt.onBlur=ft));const At={...r,isRtl:et,arrow:n,disableInteractive:lt,placement:A,PopperComponentProp:k,touch:Rt.current},zt=typeof F.popper=="function"?F.popper(At):F.popper,qt=u.useMemo(()=>{var te,Ve;let mt=[{name:"arrow",enabled:!!wt,options:{element:wt,padding:4}}];return(te=I.popperOptions)!=null&&te.modifiers&&(mt=mt.concat(I.popperOptions.modifiers)),(Ve=zt==null?void 0:zt.popperOptions)!=null&&Ve.modifiers&&(mt=mt.concat(zt.popperOptions.modifiers)),{...I.popperOptions,...zt==null?void 0:zt.popperOptions,modifiers:mt}},[wt,I.popperOptions,zt==null?void 0:zt.popperOptions]),Xt=Wu(At),ye=typeof F.transition=="function"?F.transition(At):F.transition,ae={slots:{popper:i.Popper,transition:i.Transition??M,tooltip:i.Tooltip,arrow:i.Arrow,...L},slotProps:{arrow:F.arrow??l.arrow,popper:{...I,...zt??l.popper},tooltip:F.tooltip??l.tooltip,transition:{...H,...ye??l.transition}}},[he,Yt]=V("popper",{elementType:Hu,externalForwardedProps:ae,ownerState:At,className:j(Xt.popper,I==null?void 0:I.className)}),[ce,Bt]=V("transition",{elementType:kn,externalForwardedProps:ae,ownerState:At}),[Et,Kt]=V("tooltip",{elementType:Vu,className:Xt.tooltip,externalForwardedProps:ae,ownerState:At}),[pe,Zt]=V("arrow",{elementType:Gu,className:Xt.arrow,externalForwardedProps:ae,ownerState:At,ref:Lt});return d.jsxs(u.Fragment,{children:[u.cloneElement(Q,ht),d.jsx(he,{as:k??Ko,placement:A,anchorEl:b?{getBoundingClientRect:()=>({top:io.y,left:io.x,right:io.x,bottom:io.y,width:0,height:0})}:pt,popperRef:ot,open:pt?nt:!1,id:ct,transition:!0,...Dt,...Yt,popperOptions:qt,children:({TransitionProps:mt})=>d.jsx(ce,{timeout:D.transitions.duration.shorter,...mt,...Bt,children:d.jsxs(Et,{...Kt,children:[w,n?d.jsx(pe,{...Zt}):null]})})})]})});function qu(t){return K("MuiSpeedDialAction",t)}const Eo=Z("MuiSpeedDialAction",["fab","fabClosed","staticTooltip","staticTooltipClosed","staticTooltipLabel","tooltipPlacementLeft","tooltipPlacementRight"]),Xu=t=>{const{open:e,tooltipPlacement:o,classes:r}=t,n={fab:["fab",!e&&"fabClosed"],staticTooltip:["staticTooltip",`tooltipPlacement${T(o)}`,!e&&"staticTooltipClosed"],staticTooltipLabel:["staticTooltipLabel"]};return q(n,qu,r)},Yu=S(En,{name:"MuiSpeedDialAction",slot:"Fab",skipVariantsResolver:!1,overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.fab,!o.open&&e.fabClosed]}})(U(({theme:t})=>({margin:8,color:(t.vars||t).palette.text.secondary,backgroundColor:(t.vars||t).palette.background.paper,"&:hover":{backgroundColor:t.vars?t.vars.palette.SpeedDialAction.fabHoverBg:Ho(t.palette.background.paper,.15)},transition:`${t.transitions.create("transform",{duration:t.transitions.duration.shorter})}, opacity 0.8s`,opacity:1,variants:[{props:({ownerState:e})=>!e.open,style:{opacity:0,transform:"scale(0)"}}]}))),Ku=S("span",{name:"MuiSpeedDialAction",slot:"StaticTooltip",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.staticTooltip,!o.open&&e.staticTooltipClosed,e[`tooltipPlacement${T(o.tooltipPlacement)}`]]}})(U(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",[`& .${Eo.staticTooltipLabel}`]:{transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.shorter}),opacity:1},variants:[{props:({ownerState:e})=>!e.open,style:{[`& .${Eo.staticTooltipLabel}`]:{opacity:0,transform:"scale(0.5)"}}},{props:{tooltipPlacement:"left"},style:{[`& .${Eo.staticTooltipLabel}`]:{transformOrigin:"100% 50%",right:"100%",marginRight:8}}},{props:{tooltipPlacement:"right"},style:{[`& .${Eo.staticTooltipLabel}`]:{transformOrigin:"0% 50%",left:"100%",marginLeft:8}}}]}))),Zu=S("span",{name:"MuiSpeedDialAction",slot:"StaticTooltipLabel",overridesResolver:(t,e)=>e.staticTooltipLabel})(U(({theme:t})=>({position:"absolute",...t.typography.body1,backgroundColor:(t.vars||t).palette.background.paper,borderRadius:(t.vars||t).shape.borderRadius,boxShadow:(t.vars||t).shadows[1],color:(t.vars||t).palette.text.secondary,padding:"4px 16px",wordBreak:"keep-all"}))),Xb=u.forwardRef(function(e,o){var D;const r=X({props:e,name:"MuiSpeedDialAction"}),{className:n,delay:s=0,FabProps:a={},icon:i,id:l,open:c,TooltipClasses:p,tooltipOpen:f=!1,tooltipPlacement:v="left",tooltipTitle:m,slots:y={},slotProps:g={},...h}=r,b={...r,tooltipPlacement:v},x=Xu(b),C={slots:y,slotProps:{fab:a,...g,tooltip:bo(typeof g.tooltip=="function"?g.tooltip(b):g.tooltip,{title:m,open:f,placement:v,classes:p})}},[R,P]=u.useState((D=C.slotProps.tooltip)==null?void 0:D.open),N=()=>{P(!1)},$=()=>{P(!0)},A={transitionDelay:`${s}ms`},[k,I]=V("fab",{elementType:Yu,externalForwardedProps:C,ownerState:b,shouldForwardComponentProp:!0,className:j(x.fab,n),additionalProps:{style:A,tabIndex:-1,role:"menuitem",size:"small"}}),[F,L]=V("tooltip",{elementType:_u,externalForwardedProps:C,shouldForwardComponentProp:!0,ref:o,additionalProps:{id:l},ownerState:b,getSlotProps:et=>({...et,onClose:pt=>{var _;(_=et.onClose)==null||_.call(et,pt),N()},onOpen:pt=>{var _;(_=et.onOpen)==null||_.call(et,pt),$()}})}),[w,M]=V("staticTooltip",{elementType:Ku,externalForwardedProps:C,ownerState:b,ref:o,className:x.staticTooltip,additionalProps:{id:l}}),[H,z]=V("staticTooltipLabel",{elementType:Zu,externalForwardedProps:C,ownerState:b,className:x.staticTooltipLabel,additionalProps:{style:A,id:`${l}-label`}}),Q=d.jsx(k,{...I,children:i});return L.open?d.jsxs(w,{...M,...h,children:[d.jsx(H,{...z,children:L.title}),u.cloneElement(Q,{"aria-labelledby":`${l}-label`})]}):(!c&&R&&P(!1),d.jsx(F,{...L,title:L.title,open:c&&R,placement:L.placement,classes:L.classes,...h,children:Q}))}),Ju=Ht(d.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");function Qu(t){return K("MuiSpeedDialIcon",t)}const ve=Z("MuiSpeedDialIcon",["root","icon","iconOpen","iconWithOpenIconOpen","openIcon","openIconOpen"]),tf=t=>{const{classes:e,open:o,openIcon:r}=t;return q({root:["root"],icon:["icon",o&&"iconOpen",r&&o&&"iconWithOpenIconOpen"],openIcon:["openIcon",o&&"openIconOpen"]},Qu,e)},ef=S("span",{name:"MuiSpeedDialIcon",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${ve.icon}`]:e.icon},{[`& .${ve.icon}`]:o.open&&e.iconOpen},{[`& .${ve.icon}`]:o.open&&o.openIcon&&e.iconWithOpenIconOpen},{[`& .${ve.openIcon}`]:e.openIcon},{[`& .${ve.openIcon}`]:o.open&&e.openIconOpen},e.root]}})(U(({theme:t})=>({height:24,[`& .${ve.icon}`]:{transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.short})},[`& .${ve.openIcon}`]:{position:"absolute",transition:t.transitions.create(["transform","opacity"],{duration:t.transitions.duration.short}),opacity:0,transform:"rotate(-45deg)"},variants:[{props:({ownerState:e})=>e.open,style:{[`& .${ve.icon}`]:{transform:"rotate(45deg)"}}},{props:({ownerState:e})=>e.open&&e.openIcon,style:{[`& .${ve.icon}`]:{opacity:0}}},{props:({ownerState:e})=>e.open,style:{[`& .${ve.openIcon}`]:{transform:"rotate(0deg)",opacity:1}}}]}))),of=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSpeedDialIcon"}),{className:n,icon:s,open:a,openIcon:i,...l}=r,c=r,p=tf(c);function f(v,m){return u.isValidElement(v)?u.cloneElement(v,{className:m}):v}return d.jsxs(ef,{className:j(p.root,n),ref:o,ownerState:c,...l,children:[i?f(i,p.openIcon):null,s?f(s,p.icon):d.jsx(Ju,{className:p.icon})]})});of.muiName="SpeedDialIcon";const Yb=Ta({createStyledComponent:S("div",{name:"MuiStack",slot:"Root",overridesResolver:(t,e)=>e.root}),useThemeProps:t=>X({props:t,name:"MuiStack"})}),Kb=Z("MuiStack",["root"]),He=u.createContext({});function Zb(){return u.useContext(He)}const Ze=u.createContext({});function Jb(){return u.useContext(Ze)}function rf(t){return K("MuiStep",t)}const Qb=Z("MuiStep",["root","horizontal","vertical","alternativeLabel","completed"]),nf=t=>{const{classes:e,orientation:o,alternativeLabel:r,completed:n}=t;return q({root:["root",o,r&&"alternativeLabel",n&&"completed"]},rf,e)},sf=S("div",{name:"MuiStep",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.completed&&e.completed]}})({variants:[{props:{orientation:"horizontal"},style:{paddingLeft:8,paddingRight:8}},{props:{alternativeLabel:!0},style:{flex:1,position:"relative"}}]}),tv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStep"}),{active:n,children:s,className:a,component:i="div",completed:l,disabled:c,expanded:p=!1,index:f,last:v,...m}=r,{activeStep:y,connector:g,alternativeLabel:h,orientation:b,nonLinear:x}=u.useContext(He);let[C=!1,R=!1,P=!1]=[n,l,c];y===f?C=n!==void 0?n:!0:!x&&y>f?R=l!==void 0?l:!0:!x&&y({index:f,last:v,expanded:p,icon:f+1,active:C,completed:R,disabled:P}),[f,v,p,C,R,P]),$={...r,active:C,orientation:b,alternativeLabel:h,completed:R,disabled:P,expanded:p,component:i},A=nf($),k=d.jsxs(sf,{as:i,className:j(A.root,a),ref:o,ownerState:$,...m,children:[g&&h&&f!==0?g:null,s]});return d.jsx(Ze.Provider,{value:N,children:g&&!h&&f!==0?d.jsxs(u.Fragment,{children:[g,k]}):k})}),af=Ht(d.jsx("path",{d:"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"}),"CheckCircle"),lf=Ht(d.jsx("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning");function cf(t){return K("MuiStepIcon",t)}const gr=Z("MuiStepIcon",["root","active","completed","error","text"]);var pn;const pf=t=>{const{classes:e,active:o,completed:r,error:n}=t;return q({root:["root",o&&"active",r&&"completed",n&&"error"],text:["text"]},cf,e)},mr=S(Ks,{name:"MuiStepIcon",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),color:(t.vars||t).palette.text.disabled,[`&.${gr.completed}`]:{color:(t.vars||t).palette.primary.main},[`&.${gr.active}`]:{color:(t.vars||t).palette.primary.main},[`&.${gr.error}`]:{color:(t.vars||t).palette.error.main}}))),df=S("text",{name:"MuiStepIcon",slot:"Text",overridesResolver:(t,e)=>e.text})(U(({theme:t})=>({fill:(t.vars||t).palette.primary.contrastText,fontSize:t.typography.caption.fontSize,fontFamily:t.typography.fontFamily}))),uf=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepIcon"}),{active:n=!1,className:s,completed:a=!1,error:i=!1,icon:l,...c}=r,p={...r,active:n,completed:a,error:i},f=pf(p);if(typeof l=="number"||typeof l=="string"){const v=j(s,f.root);return i?d.jsx(mr,{as:lf,className:v,ref:o,ownerState:p,...c}):a?d.jsx(mr,{as:af,className:v,ref:o,ownerState:p,...c}):d.jsxs(mr,{className:v,ref:o,ownerState:p,...c,children:[pn||(pn=d.jsx("circle",{cx:"12",cy:"12",r:"12"})),d.jsx(df,{className:f.text,x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",ownerState:p,children:l})]})}return l});function ff(t){return K("MuiStepLabel",t)}const Te=Z("MuiStepLabel",["root","horizontal","vertical","label","active","completed","error","disabled","iconContainer","alternativeLabel","labelContainer"]),gf=t=>{const{classes:e,orientation:o,active:r,completed:n,error:s,disabled:a,alternativeLabel:i}=t;return q({root:["root",o,s&&"error",a&&"disabled",i&&"alternativeLabel"],label:["label",r&&"active",n&&"completed",s&&"error",a&&"disabled",i&&"alternativeLabel"],iconContainer:["iconContainer",r&&"active",n&&"completed",s&&"error",a&&"disabled",i&&"alternativeLabel"],labelContainer:["labelContainer",i&&"alternativeLabel"]},ff,e)},mf=S("span",{name:"MuiStepLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation]]}})({display:"flex",alignItems:"center",[`&.${Te.alternativeLabel}`]:{flexDirection:"column"},[`&.${Te.disabled}`]:{cursor:"default"},variants:[{props:{orientation:"vertical"},style:{textAlign:"left",padding:"8px 0"}}]}),bf=S("span",{name:"MuiStepLabel",slot:"Label",overridesResolver:(t,e)=>e.label})(U(({theme:t})=>({...t.typography.body2,display:"block",transition:t.transitions.create("color",{duration:t.transitions.duration.shortest}),[`&.${Te.active}`]:{color:(t.vars||t).palette.text.primary,fontWeight:500},[`&.${Te.completed}`]:{color:(t.vars||t).palette.text.primary,fontWeight:500},[`&.${Te.alternativeLabel}`]:{marginTop:16},[`&.${Te.error}`]:{color:(t.vars||t).palette.error.main}}))),vf=S("span",{name:"MuiStepLabel",slot:"IconContainer",overridesResolver:(t,e)=>e.iconContainer})({flexShrink:0,display:"flex",paddingRight:8,[`&.${Te.alternativeLabel}`]:{paddingRight:0}}),yf=S("span",{name:"MuiStepLabel",slot:"LabelContainer",overridesResolver:(t,e)=>e.labelContainer})(U(({theme:t})=>({width:"100%",color:(t.vars||t).palette.text.secondary,[`&.${Te.alternativeLabel}`]:{textAlign:"center"}}))),Kn=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepLabel"}),{children:n,className:s,componentsProps:a={},error:i=!1,icon:l,optional:c,slots:p={},slotProps:f={},StepIconComponent:v,StepIconProps:m,...y}=r,{alternativeLabel:g,orientation:h}=u.useContext(He),{active:b,disabled:x,completed:C,icon:R}=u.useContext(Ze),P=l||R;let N=v;P&&!N&&(N=uf);const $={...r,active:b,alternativeLabel:g,completed:C,disabled:x,error:i,orientation:h},A=gf($),k={slots:p,slotProps:{stepIcon:m,...a,...f}},[I,F]=V("root",{elementType:mf,externalForwardedProps:{...k,...y},ownerState:$,ref:o,className:j(A.root,s)}),[L,w]=V("label",{elementType:bf,externalForwardedProps:k,ownerState:$}),[M,H]=V("stepIcon",{elementType:N,externalForwardedProps:k,ownerState:$});return d.jsxs(I,{...F,children:[P||M?d.jsx(vf,{className:A.iconContainer,ownerState:$,children:d.jsx(M,{completed:C,active:b,error:i,icon:P,...H})}):null,d.jsxs(yf,{className:A.labelContainer,ownerState:$,children:[n?d.jsx(L,{...w,className:j(A.label,w==null?void 0:w.className),children:n}):null,c]})]})});Kn.muiName="StepLabel";function hf(t){return K("MuiStepButton",t)}const dn=Z("MuiStepButton",["root","horizontal","vertical","touchRipple"]),xf=t=>{const{classes:e,orientation:o}=t;return q({root:["root",o],touchRipple:["touchRipple"]},hf,e)},Cf=S(fe,{name:"MuiStepButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${dn.touchRipple}`]:e.touchRipple},e.root,e[o.orientation]]}})({width:"100%",padding:"24px 16px",margin:"-24px -16px",boxSizing:"content-box",[`& .${dn.touchRipple}`]:{color:"rgba(0, 0, 0, 0.3)"},variants:[{props:{orientation:"vertical"},style:{justifyContent:"flex-start",padding:"8px",margin:"-8px"}}]}),ev=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepButton"}),{children:n,className:s,icon:a,optional:i,...l}=r,{disabled:c,active:p}=u.useContext(Ze),{orientation:f}=u.useContext(He),v={...r,orientation:f},m=xf(v),y={icon:a,optional:i},g=Yo(n,["StepLabel"])?u.cloneElement(n,y):d.jsx(Kn,{...y,children:n});return d.jsx(Cf,{focusRipple:!0,disabled:c,TouchRippleProps:{className:m.touchRipple},className:j(m.root,s),ref:o,ownerState:v,"aria-current":p?"step":void 0,...l,children:g})});function Sf(t){return K("MuiStepConnector",t)}const ov=Z("MuiStepConnector",["root","horizontal","vertical","alternativeLabel","active","completed","disabled","line","lineHorizontal","lineVertical"]),wf=t=>{const{classes:e,orientation:o,alternativeLabel:r,active:n,completed:s,disabled:a}=t,i={root:["root",o,r&&"alternativeLabel",n&&"active",s&&"completed",a&&"disabled"],line:["line",`line${T(o)}`]};return q(i,Sf,e)},Rf=S("div",{name:"MuiStepConnector",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.completed&&e.completed]}})({flex:"1 1 auto",variants:[{props:{orientation:"vertical"},style:{marginLeft:12}},{props:{alternativeLabel:!0},style:{position:"absolute",top:12,left:"calc(-50% + 20px)",right:"calc(50% + 20px)"}}]}),$f=S("span",{name:"MuiStepConnector",slot:"Line",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.line,e[`line${T(o.orientation)}`]]}})(U(({theme:t})=>{const e=t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600];return{display:"block",borderColor:t.vars?t.vars.palette.StepConnector.border:e,variants:[{props:{orientation:"horizontal"},style:{borderTopStyle:"solid",borderTopWidth:1}},{props:{orientation:"vertical"},style:{borderLeftStyle:"solid",borderLeftWidth:1,minHeight:24}}]}})),Pf=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepConnector"}),{className:n,...s}=r,{alternativeLabel:a,orientation:i="horizontal"}=u.useContext(He),{active:l,disabled:c,completed:p}=u.useContext(Ze),f={...r,alternativeLabel:a,orientation:i,active:l,completed:p,disabled:c},v=wf(f);return d.jsx(Rf,{className:j(v.root,n),ref:o,ownerState:f,...s,children:d.jsx($f,{className:v.line,ownerState:f})})});function kf(t){return K("MuiStepContent",t)}const rv=Z("MuiStepContent",["root","last","transition"]),Tf=t=>{const{classes:e,last:o}=t;return q({root:["root",o&&"last"],transition:["transition"]},kf,e)},If=S("div",{name:"MuiStepContent",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.last&&e.last]}})(U(({theme:t})=>({marginLeft:12,paddingLeft:20,paddingRight:8,borderLeft:t.vars?`1px solid ${t.vars.palette.StepContent.border}`:`1px solid ${t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600]}`,variants:[{props:{last:!0},style:{borderLeft:"none"}}]}))),Mf=S(vo,{name:"MuiStepContent",slot:"Transition",overridesResolver:(t,e)=>e.transition})({}),nv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepContent"}),{children:n,className:s,TransitionComponent:a=vo,transitionDuration:i="auto",TransitionProps:l,slots:c={},slotProps:p={},...f}=r,{orientation:v}=u.useContext(He),{active:m,last:y,expanded:g}=u.useContext(Ze),h={...r,last:y},b=Tf(h);let x=i;i==="auto"&&!a.muiSupportAuto&&(x=void 0);const C={slots:c,slotProps:{transition:l,...p}},[R,P]=V("transition",{elementType:Mf,externalForwardedProps:C,ownerState:h,className:b.transition,additionalProps:{in:m||g,timeout:x,unmountOnExit:!0}});return d.jsx(If,{className:j(b.root,s),ref:o,ownerState:h,...f,children:d.jsx(R,{as:a,...P,children:n})})});function Af(t){return K("MuiStepper",t)}const sv=Z("MuiStepper",["root","horizontal","vertical","nonLinear","alternativeLabel"]),Lf=t=>{const{orientation:e,nonLinear:o,alternativeLabel:r,classes:n}=t;return q({root:["root",e,o&&"nonLinear",r&&"alternativeLabel"]},Af,n)},Bf=S("div",{name:"MuiStepper",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.orientation],o.alternativeLabel&&e.alternativeLabel,o.nonLinear&&e.nonLinear]}})({display:"flex",variants:[{props:{orientation:"horizontal"},style:{flexDirection:"row",alignItems:"center"}},{props:{orientation:"vertical"},style:{flexDirection:"column"}},{props:{alternativeLabel:!0},style:{alignItems:"flex-start"}}]}),Nf=d.jsx(Pf,{}),av=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiStepper"}),{activeStep:n=0,alternativeLabel:s=!1,children:a,className:i,component:l="div",connector:c=Nf,nonLinear:p=!1,orientation:f="horizontal",...v}=r,m={...r,nonLinear:p,alternativeLabel:s,orientation:f,component:l},y=Lf(m),g=u.Children.toArray(a).filter(Boolean),h=g.map((x,C)=>u.cloneElement(x,{index:C,last:C+1===g.length,...x.props})),b=u.useMemo(()=>({activeStep:n,alternativeLabel:s,connector:c,nonLinear:p,orientation:f}),[n,s,c,p,f]);return d.jsx(He.Provider,{value:b,children:d.jsx(Bf,{as:l,ownerState:m,className:j(y.root,i),ref:o,...v,children:h})})}),Of=S("div",{shouldForwardProp:Se})(U(({theme:t})=>({position:"fixed",top:0,left:0,bottom:0,zIndex:t.zIndex.drawer-1,variants:[{props:{anchor:"left"},style:{right:"auto"}},{props:{anchor:"right"},style:{left:"auto",right:0}},{props:{anchor:"top"},style:{bottom:"auto",right:0}},{props:{anchor:"bottom"},style:{top:"auto",bottom:0,right:0}}]}))),zf=u.forwardRef(function(e,o){const{anchor:r,classes:n={},className:s,width:a,style:i,...l}=e,c=e;return d.jsx(Of,{className:j("PrivateSwipeArea-root",n.root,n[`anchor${T(r)}`],s),ref:o,style:{[Be(r)?"width":"height"]:a,...i},ownerState:c,...l})}),Fo=3,un=20;let xe=null;function br(t,e,o){return t==="right"?o.body.offsetWidth-e[0].pageX:e[0].pageX}function vr(t,e,o){return t==="bottom"?o.innerHeight-e[0].clientY:e[0].clientY}function lo(t,e){return t?e.clientWidth:e.clientHeight}function fn(t,e,o,r){return Math.min(Math.max(o?e-t:r+e-t,0),r)}function jf(t,e){const o=[];for(;t&&t!==e.parentElement;){const r=Xe(e).getComputedStyle(t);r.getPropertyValue("position")==="absolute"||r.getPropertyValue("overflow-x")==="hidden"||(t.clientWidth>0&&t.scrollWidth>t.clientWidth||t.clientHeight>0&&t.scrollHeight>t.clientHeight)&&o.push(t),t=t.parentElement}return o}function Df({domTreeShapes:t,start:e,current:o,anchor:r}){const n={scrollPosition:{x:"scrollLeft",y:"scrollTop"},scrollLength:{x:"scrollWidth",y:"scrollHeight"},clientLength:{x:"clientWidth",y:"clientHeight"}};return t.some(s=>{let a=o>=e;(r==="top"||r==="left")&&(a=!a);const i=r==="left"||r==="right"?"x":"y",l=Math.round(s[n.scrollPosition[i]]),c=l>0,p=l+s[n.clientLength[i]]{et.current=null},[x]);const pt=u.useCallback((W,it={})=>{const{mode:dt=null,changeTransition:bt=!0}=it,$t=co(n,a),nt=["right","bottom"].includes($t)?1:-1,ct=Be(a),vt=ct?`translate(${nt*W}px, 0)`:`translate(0, ${nt*W}px)`,yt=z.current.style;yt.webkitTransform=vt,yt.transform=vt;let Ot="";if(dt&&(Ot=n.transitions.create("all",Fe({easing:void 0,style:void 0,timeout:N},{mode:dt}))),bt&&(yt.webkitTransition=Ot,yt.transition=Ot),!i&&!p){const Y=H.current.style;Y.opacity=1-W/lo(ct,z.current),bt&&(Y.webkitTransition=Ot,Y.transition=Ot)}},[a,i,p,n,N]),_=ne(W=>{if(!D.current)return;if(xe=null,D.current=!1,Fr.flushSync(()=>{L(!1)}),!w.current.isSwiping){w.current.isSwiping=null;return}w.current.isSwiping=null;const it=co(n,a),dt=Be(a);let bt;dt?bt=br(it,W.changedTouches,de(W.currentTarget)):bt=vr(it,W.changedTouches,Xe(W.currentTarget));const $t=dt?w.current.startX:w.current.startY,nt=lo(dt,z.current),ct=fn(bt,$t,x,nt),vt=ct/nt;if(Math.abs(w.current.velocity)>m&&(et.current=Math.abs((nt-ct)/w.current.velocity)*1e3),x){w.current.velocity>m||vt>f?h():pt(0,{mode:"exit"});return}w.current.velocity<-m||1-vt>f?b():pt(lo(dt,z.current),{mode:"enter"})}),wt=(W=!1)=>{if(!F){(W||!(l&&v))&&Fr.flushSync(()=>{L(!0)});const it=Be(a);!x&&z.current&&pt(lo(it,z.current)+(l?15:-20),{changeTransition:!1}),w.current.velocity=0,w.current.lastTime=null,w.current.lastTranslate=null,w.current.paperHit=!1,D.current=!0}},Lt=ne(W=>{if(!z.current||!D.current||xe!==null&&xe!==w.current)return;wt(!0);const it=co(n,a),dt=Be(a),bt=br(it,W.touches,de(W.currentTarget)),$t=vr(it,W.touches,Xe(W.currentTarget));if(x&&z.current.contains(W.target)&&xe===null){const Ot=jf(W.target,z.current);if(Df({domTreeShapes:Ot,start:dt?w.current.startX:w.current.startY,current:dt?bt:$t,anchor:a})){xe=!0;return}xe=w.current}if(w.current.isSwiping==null){const Ot=Math.abs(bt-w.current.startX),Y=Math.abs($t-w.current.startY),tt=dt?Ot>Y&&Ot>Fo:Y>Ot&&Y>Fo;if(tt&&W.cancelable&&W.preventDefault(),tt===!0||(dt?Y>Fo:Ot>Fo)){if(w.current.isSwiping=tt,!tt){_(W);return}w.current.startX=bt,w.current.startY=$t,!l&&!x&&(dt?w.current.startX-=un:w.current.startY-=un)}}if(!w.current.isSwiping)return;const nt=lo(dt,z.current);let ct=dt?w.current.startX:w.current.startY;x&&!w.current.paperHit&&(ct=Math.min(ct,nt));const vt=fn(dt?bt:$t,ct,x,nt);if(x)if(w.current.paperHit)vt===0&&(w.current.startX=bt,w.current.startY=$t);else if(dt?bt{var nt;if(W.defaultPrevented||W.defaultMuiPrevented||x&&(p||!H.current.contains(W.target))&&!z.current.contains(W.target))return;const it=co(n,a),dt=Be(a),bt=br(it,W.touches,de(W.currentTarget)),$t=vr(it,W.touches,Xe(W.currentTarget));if(!x){if(c||!(W.target===M.current||(nt=z.current)!=null&&nt.contains(W.target)&&(typeof v=="function"?v(W,M.current,z.current):v)))return;if(dt){if(bt>P)return}else if($t>P)return}W.defaultMuiPrevented=!0,xe=null,w.current.startX=bt,w.current.startY=$t,wt()});u.useEffect(()=>{if($==="temporary"){const W=de(z.current);return W.addEventListener("touchstart",Rt),W.addEventListener("touchmove",Lt,{passive:!x}),W.addEventListener("touchend",_),()=>{W.removeEventListener("touchstart",Rt),W.removeEventListener("touchmove",Lt,{passive:!x}),W.removeEventListener("touchend",_)}}},[$,x,Rt,Lt,_]),u.useEffect(()=>()=>{xe===w.current&&(xe=null)},[]),u.useEffect(()=>{x||L(!1)},[x]);const[lt,rt]=V("swipeArea",{ref:M,elementType:zf,ownerState:r,externalForwardedProps:{slots:A,slotProps:{swipeArea:R,...k}},additionalProps:{width:P,anchor:a}});return d.jsxs(u.Fragment,{children:[d.jsx(Uc,{open:$==="temporary"&&F?!0:x,variant:$,ModalProps:{BackdropProps:{...y,ref:H},...$==="temporary"&&{keepMounted:!0},...g},hideBackdrop:p,anchor:a,transitionDuration:et.current||N,onClose:h,ref:o,slots:A,slotProps:{...k,backdrop:bo(k.backdrop??y,{ref:H}),paper:bo(k.paper??C,{style:{pointerEvents:$==="temporary"&&!x&&!v?"none":""},ref:Q})},...I}),!c&&$==="temporary"&&d.jsx(ud,{children:d.jsx(lt,{...rt})})]})});function Ff(t){return K("MuiSwitch",t)}const oe=Z("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Uf=t=>{const{classes:e,edge:o,size:r,color:n,checked:s,disabled:a}=t,i={root:["root",o&&`edge${T(o)}`,`size${T(r)}`],switchBase:["switchBase",`color${T(n)}`,s&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=q(i,Ff,e);return{...e,...l}},Wf=S("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.edge&&e[`edge${T(o.edge)}`],e[`size${T(o.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,[`& .${oe.thumb}`]:{width:16,height:16},[`& .${oe.switchBase}`]:{padding:4,[`&.${oe.checked}`]:{transform:"translateX(16px)"}}}}]}),Hf=S(Nr,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.switchBase,{[`& .${oe.input}`]:e.input},o.color!=="default"&&e[`color${T(o.color)}`]]}})(U(({theme:t})=>({position:"absolute",top:0,left:0,zIndex:1,color:t.vars?t.vars.palette.Switch.defaultColor:`${t.palette.mode==="light"?t.palette.common.white:t.palette.grey[300]}`,transition:t.transitions.create(["left","transform"],{duration:t.transitions.duration.shortest}),[`&.${oe.checked}`]:{transform:"translateX(20px)"},[`&.${oe.disabled}`]:{color:t.vars?t.vars.palette.Switch.defaultDisabledColor:`${t.palette.mode==="light"?t.palette.grey[100]:t.palette.grey[600]}`},[`&.${oe.checked} + .${oe.track}`]:{opacity:.5},[`&.${oe.disabled} + .${oe.track}`]:{opacity:t.vars?t.vars.opacity.switchTrackDisabled:`${t.palette.mode==="light"?.12:.2}`},[`& .${oe.input}`]:{left:"-100%",width:"300%"}})),U(({theme:t})=>({"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.action.activeChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(t.palette).filter(Ft(["light"])).map(([e])=>({props:{color:e},style:{[`&.${oe.checked}`]:{color:(t.vars||t).palette[e].main,"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette[e].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${oe.disabled}`]:{color:t.vars?t.vars.palette.Switch[`${e}DisabledColor`]:`${t.palette.mode==="light"?Ee(t.palette[e].main,.62):De(t.palette[e].main,.55)}`}},[`&.${oe.checked} + .${oe.track}`]:{backgroundColor:(t.vars||t).palette[e].main}}}))]}))),Vf=S("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(t,e)=>e.track})(U(({theme:t})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:t.vars?t.vars.palette.common.onBackground:`${t.palette.mode==="light"?t.palette.common.black:t.palette.common.white}`,opacity:t.vars?t.vars.opacity.switchTrack:`${t.palette.mode==="light"?.38:.3}`}))),Gf=S("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(t,e)=>e.thumb})(U(({theme:t})=>({boxShadow:(t.vars||t).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}))),lv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiSwitch"}),{className:n,color:s="primary",edge:a=!1,size:i="medium",sx:l,slots:c={},slotProps:p={},...f}=r,v={...r,color:s,edge:a,size:i},m=Uf(v),y={slots:c,slotProps:p},[g,h]=V("root",{className:j(m.root,n),elementType:Wf,externalForwardedProps:y,ownerState:v,additionalProps:{sx:l}}),[b,x]=V("thumb",{className:m.thumb,elementType:Gf,externalForwardedProps:y,ownerState:v}),C=d.jsx(b,{...x}),[R,P]=V("track",{className:m.track,elementType:Vf,externalForwardedProps:y,ownerState:v});return d.jsxs(g,{...h,children:[d.jsx(Hf,{type:"checkbox",icon:C,checkedIcon:C,ref:o,ownerState:v,...f,classes:{...m,root:m.switchBase},slots:{...c.switchBase&&{root:c.switchBase},...c.input&&{input:c.input}},slotProps:{...p.switchBase&&{root:typeof p.switchBase=="function"?p.switchBase(v):p.switchBase},...p.input&&{input:typeof p.input=="function"?p.input(v):p.input}}}),d.jsx(R,{...P})]})}),Zn=u.createContext();function _f(t){return K("MuiTable",t)}const cv=Z("MuiTable",["root","stickyHeader"]),qf=t=>{const{classes:e,stickyHeader:o}=t;return q({root:["root",o&&"stickyHeader"]},_f,e)},Xf=S("table",{name:"MuiTable",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.stickyHeader&&e.stickyHeader]}})(U(({theme:t})=>({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...t.typography.body2,padding:t.spacing(2),color:(t.vars||t).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:({ownerState:e})=>e.stickyHeader,style:{borderCollapse:"separate"}}]}))),gn="table",pv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTable"}),{className:n,component:s=gn,padding:a="normal",size:i="medium",stickyHeader:l=!1,...c}=r,p={...r,component:s,padding:a,size:i,stickyHeader:l},f=qf(p),v=u.useMemo(()=>({padding:a,size:i,stickyHeader:l}),[a,i,l]);return d.jsx(Zn.Provider,{value:v,children:d.jsx(Xf,{as:s,role:s===gn?null:"table",ref:o,className:j(f.root,n),ownerState:p,...c})})}),So=u.createContext();function Yf(t){return K("MuiTableBody",t)}const dv=Z("MuiTableBody",["root"]),Kf=t=>{const{classes:e}=t;return q({root:["root"]},Yf,e)},Zf=S("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-row-group"}),Jf={variant:"body"},mn="tbody",uv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableBody"}),{className:n,component:s=mn,...a}=r,i={...r,component:s},l=Kf(i);return d.jsx(So.Provider,{value:Jf,children:d.jsx(Zf,{className:j(l.root,n),as:s,ref:o,role:s===mn?null:"rowgroup",ownerState:i,...a})})});function Qf(t){return K("MuiTableCell",t)}const tg=Z("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),eg=t=>{const{classes:e,variant:o,align:r,padding:n,size:s,stickyHeader:a}=t,i={root:["root",o,a&&"stickyHeader",r!=="inherit"&&`align${T(r)}`,n!=="normal"&&`padding${T(n)}`,`size${T(s)}`]};return q(i,Qf,e)},og=S("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[o.variant],e[`size${T(o.size)}`],o.padding!=="normal"&&e[`padding${T(o.padding)}`],o.align!=="inherit"&&e[`align${T(o.align)}`],o.stickyHeader&&e.stickyHeader]}})(U(({theme:t})=>({...t.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:t.vars?`1px solid ${t.vars.palette.TableCell.border}`:`1px solid + ${t.palette.mode==="light"?Ee(Tt(t.palette.divider,1),.88):De(Tt(t.palette.divider,1),.68)}`,textAlign:"left",padding:16,variants:[{props:{variant:"head"},style:{color:(t.vars||t).palette.text.primary,lineHeight:t.typography.pxToRem(24),fontWeight:t.typography.fontWeightMedium}},{props:{variant:"body"},style:{color:(t.vars||t).palette.text.primary}},{props:{variant:"footer"},style:{color:(t.vars||t).palette.text.secondary,lineHeight:t.typography.pxToRem(21),fontSize:t.typography.pxToRem(12)}},{props:{size:"small"},style:{padding:"6px 16px",[`&.${tg.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:e})=>e.stickyHeader,style:{position:"sticky",top:0,zIndex:2,backgroundColor:(t.vars||t).palette.background.default}}]}))),$r=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableCell"}),{align:n="inherit",className:s,component:a,padding:i,scope:l,size:c,sortDirection:p,variant:f,...v}=r,m=u.useContext(Zn),y=u.useContext(So),g=y&&y.variant==="head";let h;a?h=a:h=g?"th":"td";let b=l;h==="td"?b=void 0:!b&&g&&(b="col");const x=f||y&&y.variant,C={...r,align:n,component:h,padding:i||(m&&m.padding?m.padding:"normal"),size:c||(m&&m.size?m.size:"medium"),sortDirection:p,stickyHeader:x==="head"&&m&&m.stickyHeader,variant:x},R=eg(C);let P=null;return p&&(P=p==="asc"?"ascending":"descending"),d.jsx(og,{as:h,ref:o,className:j(R.root,s),"aria-sort":P,scope:b,ownerState:C,...v})});function rg(t){return K("MuiTableContainer",t)}const fv=Z("MuiTableContainer",["root"]),ng=t=>{const{classes:e}=t;return q({root:["root"]},rg,e)},sg=S("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(t,e)=>e.root})({width:"100%",overflowX:"auto"}),gv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableContainer"}),{className:n,component:s="div",...a}=r,i={...r,component:s},l=ng(i);return d.jsx(sg,{ref:o,as:s,className:j(l.root,n),ownerState:i,...a})});function ag(t){return K("MuiTableFooter",t)}const mv=Z("MuiTableFooter",["root"]),ig=t=>{const{classes:e}=t;return q({root:["root"]},ag,e)},lg=S("tfoot",{name:"MuiTableFooter",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-footer-group"}),cg={variant:"footer"},bn="tfoot",bv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableFooter"}),{className:n,component:s=bn,...a}=r,i={...r,component:s},l=ig(i);return d.jsx(So.Provider,{value:cg,children:d.jsx(lg,{as:s,className:j(l.root,n),ref:o,role:s===bn?null:"rowgroup",ownerState:i,...a})})});function pg(t){return K("MuiTableHead",t)}const vv=Z("MuiTableHead",["root"]),dg=t=>{const{classes:e}=t;return q({root:["root"]},pg,e)},ug=S("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(t,e)=>e.root})({display:"table-header-group"}),fg={variant:"head"},vn="thead",yv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableHead"}),{className:n,component:s=vn,...a}=r,i={...r,component:s},l=dg(i);return d.jsx(So.Provider,{value:fg,children:d.jsx(ug,{as:s,className:j(l.root,n),ref:o,role:s===vn?null:"rowgroup",ownerState:i,...a})})});function gg(t){return K("MuiToolbar",t)}const hv=Z("MuiToolbar",["root","gutters","regular","dense"]),mg=t=>{const{classes:e,disableGutters:o,variant:r}=t;return q({root:["root",!o&&"gutters",r]},gg,e)},bg=S("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,!o.disableGutters&&e.gutters,e[o.variant]]}})(U(({theme:t})=>({position:"relative",display:"flex",alignItems:"center",variants:[{props:({ownerState:e})=>!e.disableGutters,style:{paddingLeft:t.spacing(2),paddingRight:t.spacing(2),[t.breakpoints.up("sm")]:{paddingLeft:t.spacing(3),paddingRight:t.spacing(3)}}},{props:{variant:"dense"},style:{minHeight:48}},{props:{variant:"regular"},style:t.mixins.toolbar}]}))),vg=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiToolbar"}),{className:n,component:s="div",disableGutters:a=!1,variant:i="regular",...l}=r,c={...r,component:s,disableGutters:a,variant:i},p=mg(c);return d.jsx(bg,{as:s,className:j(p.root,n),ref:o,ownerState:c,...l})}),yg=u.forwardRef(function(e,o){const{backIconButtonProps:r,count:n,disabled:s=!1,getItemAriaLabel:a,nextIconButtonProps:i,onPageChange:l,page:c,rowsPerPage:p,showFirstButton:f,showLastButton:v,slots:m={},slotProps:y={},...g}=e,h=We(),b=_=>{l(_,0)},x=_=>{l(_,c-1)},C=_=>{l(_,c+1)},R=_=>{l(_,Math.max(0,Math.ceil(n/p)-1))},P=m.firstButton??Oe,N=m.lastButton??Oe,$=m.nextButton??Oe,A=m.previousButton??Oe,k=m.firstButtonIcon??Hn,I=m.lastButtonIcon??Vn,F=m.nextButtonIcon??Vs,L=m.previousButtonIcon??Gs,w=h?N:P,M=h?$:A,H=h?A:$,z=h?P:N,Q=h?y.lastButton:y.firstButton,D=h?y.nextButton:y.previousButton,et=h?y.previousButton:y.nextButton,pt=h?y.firstButton:y.lastButton;return d.jsxs("div",{ref:o,...g,children:[f&&d.jsx(w,{onClick:b,disabled:s||c===0,"aria-label":a("first",c),title:a("first",c),...Q,children:h?d.jsx(I,{...y.lastButtonIcon}):d.jsx(k,{...y.firstButtonIcon})}),d.jsx(M,{onClick:x,disabled:s||c===0,color:"inherit","aria-label":a("previous",c),title:a("previous",c),...D??r,children:h?d.jsx(F,{...y.nextButtonIcon}):d.jsx(L,{...y.previousButtonIcon})}),d.jsx(H,{onClick:C,disabled:s||(n!==-1?c>=Math.ceil(n/p)-1:!1),color:"inherit","aria-label":a("next",c),title:a("next",c),...et??i,children:h?d.jsx(L,{...y.previousButtonIcon}):d.jsx(F,{...y.nextButtonIcon})}),v&&d.jsx(z,{onClick:R,disabled:s||c>=Math.ceil(n/p)-1,"aria-label":a("last",c),title:a("last",c),...pt,children:h?d.jsx(k,{...y.firstButtonIcon}):d.jsx(I,{...y.lastButtonIcon})})]})});function hg(t){return K("MuiTablePagination",t)}const fo=Z("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]);var yn;const xg=S($r,{name:"MuiTablePagination",slot:"Root",overridesResolver:(t,e)=>e.root})(U(({theme:t})=>({overflow:"auto",color:(t.vars||t).palette.text.primary,fontSize:t.typography.pxToRem(14),"&:last-child":{padding:0}}))),Cg=S(vg,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:(t,e)=>({[`& .${fo.actions}`]:e.actions,...e.toolbar})})(U(({theme:t})=>({minHeight:52,paddingRight:2,[`${t.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[t.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${fo.actions}`]:{flexShrink:0,marginLeft:20}}))),Sg=S("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:(t,e)=>e.spacer})({flex:"1 1 100%"}),wg=S("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:(t,e)=>e.selectLabel})(U(({theme:t})=>({...t.typography.body2,flexShrink:0}))),Rg=S(qs,{name:"MuiTablePagination",slot:"Select",overridesResolver:(t,e)=>({[`& .${fo.selectIcon}`]:e.selectIcon,[`& .${fo.select}`]:e.select,...e.input,...e.selectRoot})})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${fo.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),$g=S(_s,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:(t,e)=>e.menuItem})({}),Pg=S("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:(t,e)=>e.displayedRows})(U(({theme:t})=>({...t.typography.body2,flexShrink:0})));function kg({from:t,to:e,count:o}){return`${t}–${e} of ${o!==-1?o:`more than ${e}`}`}function Tg(t){return`Go to ${t} page`}const Ig=t=>{const{classes:e}=t;return q({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},hg,e)},xv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTablePagination"}),{ActionsComponent:n=yg,backIconButtonProps:s,colSpan:a,component:i=$r,count:l,disabled:c=!1,getItemAriaLabel:p=Tg,labelDisplayedRows:f=kg,labelRowsPerPage:v="Rows per page:",nextIconButtonProps:m,onPageChange:y,onRowsPerPageChange:g,page:h,rowsPerPage:b,rowsPerPageOptions:x=[10,25,50,100],SelectProps:C={},showFirstButton:R=!1,showLastButton:P=!1,slotProps:N={},slots:$={},...A}=r,k=r,I=Ig(k),F=(N==null?void 0:N.select)??C,L=F.native?"option":$g;let w;(i===$r||i==="td")&&(w=a||1e3);const M=Ue(F.id),H=Ue(F.labelId),z=()=>l===-1?(h+1)*b:b===-1?l:Math.min(l,(h+1)*b),Q={slots:$,slotProps:N},[D,et]=V("root",{ref:o,className:I.root,elementType:xg,externalForwardedProps:{...Q,component:i,...A},ownerState:k,additionalProps:{colSpan:w}}),[pt,_]=V("toolbar",{className:I.toolbar,elementType:Cg,externalForwardedProps:Q,ownerState:k}),[wt,Lt]=V("spacer",{className:I.spacer,elementType:Sg,externalForwardedProps:Q,ownerState:k}),[Rt,lt]=V("selectLabel",{className:I.selectLabel,elementType:wg,externalForwardedProps:Q,ownerState:k,additionalProps:{id:H}}),[rt,W]=V("select",{className:I.select,elementType:Rg,externalForwardedProps:Q,ownerState:k}),[it,dt]=V("menuItem",{className:I.menuItem,elementType:L,externalForwardedProps:Q,ownerState:k}),[bt,$t]=V("displayedRows",{className:I.displayedRows,elementType:Pg,externalForwardedProps:Q,ownerState:k});return d.jsx(D,{...et,children:d.jsxs(pt,{..._,children:[d.jsx(wt,{...Lt}),x.length>1&&d.jsx(Rt,{...lt,children:v}),x.length>1&&d.jsx(rt,{variant:"standard",...!F.variant&&{input:yn||(yn=d.jsx(Ys,{}))},value:b,onChange:g,id:M,labelId:H,...F,classes:{...F.classes,root:j(I.input,I.selectRoot,(F.classes||{}).root),select:j(I.select,(F.classes||{}).select),icon:j(I.selectIcon,(F.classes||{}).icon)},disabled:c,...W,children:x.map(nt=>u.createElement(it,{...dt,key:nt.label?nt.label:nt,value:nt.value?nt.value:nt},nt.label?nt.label:nt))}),d.jsx(bt,{...$t,children:f({from:l===0?0:h*b+1,to:z(),count:l===-1?-1:l,page:h})}),d.jsx(n,{className:I.actions,backIconButtonProps:s,count:l,nextIconButtonProps:m,onPageChange:y,page:h,rowsPerPage:b,showFirstButton:R,showLastButton:P,slotProps:N.actions,slots:$.actions,getItemAriaLabel:p,disabled:c})]})})});function Mg(t){return K("MuiTableRow",t)}const hn=Z("MuiTableRow",["root","selected","hover","head","footer"]),Ag=t=>{const{classes:e,selected:o,hover:r,head:n,footer:s}=t;return q({root:["root",o&&"selected",r&&"hover",n&&"head",s&&"footer"]},Mg,e)},Lg=S("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.head&&e.head,o.footer&&e.footer]}})(U(({theme:t})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${hn.hover}:hover`]:{backgroundColor:(t.vars||t).palette.action.hover},[`&.${hn.selected}`]:{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.primary.mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity)}}}))),xn="tr",Cv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableRow"}),{className:n,component:s=xn,hover:a=!1,selected:i=!1,...l}=r,c=u.useContext(So),p={...r,component:s,hover:a,selected:i,head:c&&c.variant==="head",footer:c&&c.variant==="footer"},f=Ag(p);return d.jsx(Lg,{as:s,ref:o,className:j(f.root,n),role:s===xn?null:"row",ownerState:p,...l})}),Bg=Ht(d.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward");function Ng(t){return K("MuiTableSortLabel",t)}const yr=Z("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc","directionDesc","directionAsc"]),Og=t=>{const{classes:e,direction:o,active:r}=t,n={root:["root",r&&"active",`direction${T(o)}`],icon:["icon",`iconDirection${T(o)}`]};return q(n,Ng,e)},zg=S(fe,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,o.active&&e.active]}})(U(({theme:t})=>({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:(t.vars||t).palette.text.secondary},"&:hover":{color:(t.vars||t).palette.text.secondary,[`& .${yr.icon}`]:{opacity:.5}},[`&.${yr.active}`]:{color:(t.vars||t).palette.text.primary,[`& .${yr.icon}`]:{opacity:1,color:(t.vars||t).palette.text.secondary}}}))),jg=S("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.icon,e[`iconDirection${T(o.direction)}`]]}})(U(({theme:t})=>({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:t.transitions.create(["opacity","transform"],{duration:t.transitions.duration.shorter}),userSelect:"none",variants:[{props:{direction:"desc"},style:{transform:"rotate(0deg)"}},{props:{direction:"asc"},style:{transform:"rotate(180deg)"}}]}))),Sv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiTableSortLabel"}),{active:n=!1,children:s,className:a,direction:i="asc",hideSortIcon:l=!1,IconComponent:c=Bg,slots:p={},slotProps:f={},...v}=r,m={...r,active:n,direction:i,hideSortIcon:l,IconComponent:c},y=Og(m),g={slots:p,slotProps:f},[h,b]=V("root",{elementType:zg,externalForwardedProps:g,ownerState:m,className:j(y.root,a),ref:o}),[x,C]=V("icon",{elementType:jg,externalForwardedProps:g,ownerState:m,className:y.icon});return d.jsxs(h,{disableRipple:!0,component:"span",...b,...v,children:[s,l&&!n?null:d.jsx(x,{as:c,...C})]})});function Dg(t){return K("MuiToggleButton",t)}const ze=Z("MuiToggleButton",["root","disabled","selected","standard","primary","secondary","sizeSmall","sizeMedium","sizeLarge","fullWidth"]),Jn=u.createContext({}),Qn=u.createContext(void 0);function Eg(t,e){return e===void 0||t===void 0?!1:Array.isArray(e)?e.includes(t):t===e}const Fg=t=>{const{classes:e,fullWidth:o,selected:r,disabled:n,size:s,color:a}=t,i={root:["root",r&&"selected",n&&"disabled",o&&"fullWidth",`size${T(s)}`,a]};return q(i,Dg,e)},Ug=S(fe,{name:"MuiToggleButton",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[e.root,e[`size${T(o.size)}`]]}})(U(({theme:t})=>({...t.typography.button,borderRadius:(t.vars||t).shape.borderRadius,padding:11,border:`1px solid ${(t.vars||t).palette.divider}`,color:(t.vars||t).palette.action.active,[`&.${ze.disabled}`]:{color:(t.vars||t).palette.action.disabled,border:`1px solid ${(t.vars||t).palette.action.disabledBackground}`},"&:hover":{textDecoration:"none",backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.hoverOpacity})`:Tt(t.palette.text.primary,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{color:"standard"},style:{[`&.${ze.selected}`]:{color:(t.vars||t).palette.text.primary,backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.text.primary,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette.text.primary,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette.text.primaryChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette.text.primary,t.palette.action.selectedOpacity)}}}}},...Object.entries(t.palette).filter(Ft()).map(([e])=>({props:{color:e},style:{[`&.${ze.selected}`]:{color:(t.vars||t).palette[e].main,backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette[e].main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / calc(${t.vars.palette.action.selectedOpacity} + ${t.vars.palette.action.hoverOpacity}))`:Tt(t.palette[e].main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:t.vars?`rgba(${t.vars.palette[e].mainChannel} / ${t.vars.palette.action.selectedOpacity})`:Tt(t.palette[e].main,t.palette.action.selectedOpacity)}}}}})),{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{padding:7,fontSize:t.typography.pxToRem(13)}},{props:{size:"large"},style:{padding:15,fontSize:t.typography.pxToRem(15)}}]}))),wv=u.forwardRef(function(e,o){const{value:r,...n}=u.useContext(Jn),s=u.useContext(Qn),a=Zs({...n,selected:Eg(e.value,r)},e),i=X({props:a,name:"MuiToggleButton"}),{children:l,className:c,color:p="standard",disabled:f=!1,disableFocusRipple:v=!1,fullWidth:m=!1,onChange:y,onClick:g,selected:h,size:b="medium",value:x,...C}=i,R={...i,color:p,disabled:f,disableFocusRipple:v,fullWidth:m,size:b},P=Fg(R),N=A=>{g&&(g(A,x),A.defaultPrevented)||y&&y(A,x)},$=s||"";return d.jsx(Ug,{className:j(n.className,P.root,c,$),disabled:f,focusRipple:!v,ref:o,onClick:N,onChange:y,value:x,ownerState:R,"aria-pressed":h,...C,children:l})});function Wg(t){return K("MuiToggleButtonGroup",t)}const Ut=Z("MuiToggleButtonGroup",["root","selected","horizontal","vertical","disabled","grouped","groupedHorizontal","groupedVertical","fullWidth","firstButton","lastButton","middleButton"]),Hg=t=>{const{classes:e,orientation:o,fullWidth:r,disabled:n}=t,s={root:["root",o,r&&"fullWidth"],grouped:["grouped",`grouped${T(o)}`,n&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return q(s,Wg,e)},Vg=S("div",{name:"MuiToggleButtonGroup",slot:"Root",overridesResolver:(t,e)=>{const{ownerState:o}=t;return[{[`& .${Ut.grouped}`]:e.grouped},{[`& .${Ut.grouped}`]:e[`grouped${T(o.orientation)}`]},{[`& .${Ut.firstButton}`]:e.firstButton},{[`& .${Ut.lastButton}`]:e.lastButton},{[`& .${Ut.middleButton}`]:e.middleButton},e.root,o.orientation==="vertical"&&e.vertical,o.fullWidth&&e.fullWidth]}})(U(({theme:t})=>({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius,variants:[{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${Ut.grouped}`]:{[`&.${Ut.selected} + .${Ut.grouped}.${Ut.selected}`]:{borderTop:0,marginTop:0}},[`& .${Ut.firstButton},& .${Ut.middleButton}`]:{borderBottomLeftRadius:0,borderBottomRightRadius:0},[`& .${Ut.lastButton},& .${Ut.middleButton}`]:{marginTop:-1,borderTop:"1px solid transparent",borderTopLeftRadius:0,borderTopRightRadius:0},[`& .${Ut.lastButton}.${ze.disabled},& .${Ut.middleButton}.${ze.disabled}`]:{borderTop:"1px solid transparent"}}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"horizontal"},style:{[`& .${Ut.grouped}`]:{[`&.${Ut.selected} + .${Ut.grouped}.${Ut.selected}`]:{borderLeft:0,marginLeft:0}},[`& .${Ut.firstButton},& .${Ut.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${Ut.lastButton},& .${Ut.middleButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent",borderTopLeftRadius:0,borderBottomLeftRadius:0},[`& .${Ut.lastButton}.${ze.disabled},& .${Ut.middleButton}.${ze.disabled}`]:{borderLeft:"1px solid transparent"}}}]}))),Rv=u.forwardRef(function(e,o){const r=X({props:e,name:"MuiToggleButtonGroup"}),{children:n,className:s,color:a="standard",disabled:i=!1,exclusive:l=!1,fullWidth:c=!1,onChange:p,orientation:f="horizontal",size:v="medium",value:m,...y}=r,g={...r,disabled:i,fullWidth:c,orientation:f,size:v},h=Hg(g),b=u.useCallback(($,A)=>{if(!p)return;const k=m&&m.indexOf(A);let I;m&&k>=0?(I=m.slice(),I.splice(k,1)):I=m?m.concat(A):[A],p($,I)},[p,m]),x=u.useCallback(($,A)=>{p&&p($,m===A?null:A)},[p,m]),C=u.useMemo(()=>({className:h.grouped,onChange:l?x:b,value:m,size:v,fullWidth:c,color:a,disabled:i}),[h.grouped,l,x,b,m,v,c,a,i]),R=Mn(n),P=R.length,N=$=>{const A=$===0,k=$===P-1;return A&&k?"":A?h.firstButton:k?h.lastButton:h.middleButton};return d.jsx(Vg,{role:"group",className:j(h.root,s),ref:o,ownerState:g,...y,children:d.jsx(Jn.Provider,{value:C,children:R.map(($,A)=>d.jsx(Qn.Provider,{value:N(A),children:$},A))})})});function Gg(t,e){const{disableHysteresis:o=!1,threshold:r=100,target:n}=e,s=t.current;return n&&(t.current=n.pageYOffset!==void 0?n.pageYOffset:n.scrollTop),!o&&s!==void 0&&t.currentr}const _g=typeof window<"u"?window:null;function $v(t={}){const{getTrigger:e=Gg,target:o=_g,...r}=t,n=u.useRef(),[s,a]=u.useState(()=>e(n,r));return u.useEffect(()=>{if(o===null)return a(!1);const i=()=>{a(e(n,{target:o,...r}))};return i(),o.addEventListener("scroll",i,{passive:!0}),()=>{o.removeEventListener("scroll",i,{passive:!0})}},[o,e,JSON.stringify(r)]),s}const Pv="6.4.12",kv=6,Tv=4,Iv=12,Mv=void 0;export{Im as Accordion,Am as AccordionActions,Bm as AccordionDetails,Nm as AccordionSummary,Om as Alert,jm as AlertTitle,Em as AppBar,Um as Autocomplete,al as Avatar,Wm as AvatarGroup,Kv as Backdrop,Hm as Badge,Gm as BottomNavigation,_m as BottomNavigationAction,qm as Box,Xm as Breadcrumbs,Zv as Button,fe as ButtonBase,Ym as ButtonGroup,Bs as ButtonGroupButtonContext,Ls as ButtonGroupContext,Zm as Card,Jm as CardActionArea,tb as CardActions,ob as CardContent,rb as CardHeader,sb as CardMedia,ab as Checkbox,As as Chip,Jv as CircularProgress,Rc as ClickAwayListener,vo as Collapse,ib as Container,pb as CssBaseline,e0 as CssVarsProvider,Qv as Dialog,ty as DialogActions,ey as DialogContent,fb as DialogContentText,gb as DialogTitle,oy as Divider,Uc as Drawer,o0 as Experimental_CssVarsProvider,En as Fab,ry as Fade,_h as FilledInput,ny as FormControl,bb as FormControlLabel,Jc as FormGroup,sy as FormHelperText,ay as FormLabel,iy as FormLabelRoot,qh as GlobalStyles,yb as Grid,hb as Grid2,kn as Grow,Sb as Hidden,$p as Icon,Oe as IconButton,$b as ImageList,Pb as ImageListItem,Tb as ImageListItemBar,Fs as Input,ly as InputAdornment,Ys as InputBase,cy as InputLabel,Xp as LinearProgress,Mb as Link,py as List,dy as ListItem,Lb as ListItemAvatar,Pm as ListItemButton,Rm as ListItemIcon,uy as ListItemSecondaryAction,$m as ListItemText,hr as ListSubheader,fy as Menu,_s as MenuItem,gy as MenuList,Nb as MobileStepper,zs as Modal,my as ModalManager,dd as NativeSelect,ud as NoSsr,by as OutlinedInput,zb as Pagination,Sd as PaginationItem,we as Paper,vy as Popover,yy as PopoverPaper,hy as PopoverRoot,Ko as Popper,xy as Portal,jb as Radio,Eb as RadioGroup,Fb as Rating,Wb as ScopedCssBaseline,qs as Select,Cy as Skeleton,Oc as Slide,Hb as Slider,hu as SliderMark,xu as SliderMarkLabel,mu as SliderRail,gu as SliderRoot,vu as SliderThumb,bu as SliderTrack,yu as SliderValueLabel,_b as Snackbar,Iu as SnackbarContent,qb as SpeedDial,Xb as SpeedDialAction,of as SpeedDialIcon,Yb as Stack,tv as Step,ev as StepButton,Pf as StepConnector,nv as StepContent,Ze as StepContext,uf as StepIcon,Kn as StepLabel,av as Stepper,He as StepperContext,pm as StyledEngineProvider,Ks as SvgIcon,iv as SwipeableDrawer,lv as Switch,xs as THEME_ID,Sy as Tab,wy as TabScrollButton,pv as Table,uv as TableBody,$r as TableCell,gv as TableContainer,bv as TableFooter,yv as TableHead,xv as TablePagination,Cv as TableRow,Sv as TableSortLabel,Ry as Tabs,$y as TextField,Xh as TextareaAutosize,r0 as ThemeProvider,wv as ToggleButton,Rv as ToggleButtonGroup,vg as Toolbar,_u as Tooltip,re as Typography,Py as Unstable_TrapFocus,Nu as Zoom,Mm as accordionActionsClasses,To as accordionClasses,Lm as accordionDetailsClasses,qe as accordionSummaryClasses,gm as adaptV4Theme,Vr as alertClasses,zm as alertTitleClasses,Tt as alpha,Dm as appBarClasses,kt as autocompleteClasses,tl as avatarClasses,ll as avatarGroupClasses,ky as backdropClasses,$e as badgeClasses,Bn as bottomNavigationActionClasses,Vm as bottomNavigationClasses,wl as boxClasses,Ml as breadcrumbsClasses,Ty as buttonBaseClasses,Iy as buttonClasses,St as buttonGroupClasses,T as capitalize,pr as cardActionAreaClasses,Qm as cardActionsClasses,Km as cardClasses,eb as cardContentClasses,_o as cardHeaderClasses,nb as cardMediaClasses,dr as checkboxClasses,My as chipClasses,Ay as circularProgressClasses,Tm as collapseClasses,km as colors,cb as containerClasses,Ws as createChainedFunction,Bv as createColorScheme,Mi as createFilterOptions,Nv as createMuiTheme,bm as createStyles,Ht as createSvgIcon,Sn as createTheme,Ov as createTransitions,Mr as css,db as darkScrollbar,De as darken,Xs as debounce,zv as decomposeColor,dm as deprecatedPropType,Ly as dialogActionsClasses,By as dialogClasses,Ny as dialogContentClasses,ub as dialogContentTextClasses,Oy as dialogTitleClasses,zy as dividerClasses,mb as drawerClasses,hs as duration,jv as easing,Ho as emphasize,S as experimentalStyled,Cm as experimental_extendTheme,Sm as experimental_sx,ps as extendTheme,Qr as fabClasses,Ge as filledInputClasses,jy as formControlClasses,po as formControlLabelClasses,vb as formGroupClasses,Dy as formHelperTextClasses,Ey as formLabelClasses,K as generateUtilityClass,Z as generateUtilityClasses,ri as getAccordionActionsUtilityClass,ai as getAccordionDetailsUtilityClass,ci as getAccordionSummaryUtilityClass,Qa as getAccordionUtilityClass,Ri as getAlertTitleUtilityClass,gi as getAlertUtilityClass,ki as getAppBarUtilityClass,Ei as getAutocompleteUtilityClass,il as getAvatarGroupUtilityClass,Qi as getAvatarUtilityClass,Fy as getBackdropUtilityClass,ul as getBadgeUtilityClass,hl as getBottomNavigationActionUtilityClass,bl as getBottomNavigationUtilityClass,Il as getBreadcrumbsUtilityClass,Uy as getButtonBaseUtilityClass,zl as getButtonGroupUtilityClass,Wy as getButtonUtilityClass,Hl as getCardActionAreaUtilityClass,ql as getCardActionsUtilityClass,Kl as getCardContentUtilityClass,Ql as getCardHeaderUtilityClass,sc as getCardMediaUtilityClass,Fl as getCardUtilityClass,vc as getCheckboxUtilityClass,Hy as getChipUtilityClass,Vy as getCircularProgressUtilityClass,Xa as getCollapseUtilityClass,lb as getContainerUtilityClass,Dv as getContrastRatio,Gy as getDialogActionsUtilityClass,Tc as getDialogContentTextUtilityClass,_y as getDialogContentUtilityClass,Os as getDialogTitleUtilityClass,qy as getDialogUtilityClass,Xy as getDividerUtilityClass,zc as getDrawerUtilityClass,Wc as getFabUtilityClass,Yh as getFilledInputUtilityClass,Gc as getFormControlLabelUtilityClasses,Yy as getFormControlUtilityClasses,Yc as getFormGroupUtilityClass,Ky as getFormHelperTextUtilityClasses,Zy as getFormLabelUtilityClasses,xb as getGrid2UtilityClass,Jy as getIconButtonUtilityClass,Sp as getIconUtilityClass,Lp as getImageListItemBarUtilityClass,Ip as getImageListItemUtilityClass,Pp as getImageListUtilityClass,n0 as getInitColorSchemeScript,Qy as getInputAdornmentUtilityClass,Kh as getInputBaseUtilityClass,th as getInputLabelUtilityClasses,eh as getInputUtilityClass,Ep as getLinearProgressUtilityClass,Yp as getLinkUtilityClass,td as getListItemAvatarUtilityClass,Is as getListItemButtonUtilityClass,ks as getListItemIconUtilityClass,oh as getListItemSecondaryActionClassesUtilityClass,Ts as getListItemTextUtilityClass,rh as getListItemUtilityClass,zi as getListSubheaderUtilityClass,nh as getListUtilityClass,Ev as getLuminance,sh as getMenuItemUtilityClass,ah as getMenuUtilityClass,rd as getMobileStepperUtilityClass,ih as getModalUtilityClass,Us as getNativeSelectUtilityClasses,lh as getOffsetLeft,ch as getOffsetTop,ph as getOutlinedInputUtilityClass,Fv as getOverlayAlpha,md as getPaginationItemUtilityClass,fd as getPaginationUtilityClass,dh as getPaperUtilityClass,uh as getPopoverUtilityClass,fh as getPopperUtilityClass,Ed as getRadioGroupUtilityClass,Bd as getRadioUtilityClass,Hd as getRatingUtilityClass,Qd as getScopedCssBaselineUtilityClass,gh as getSelectUtilityClasses,mh as getSkeletonUtilityClass,du as getSliderUtilityClass,Ru as getSnackbarContentUtilityClass,Mu as getSnackbarUtilityClass,qu as getSpeedDialActionUtilityClass,Qu as getSpeedDialIconUtilityClass,Ou as getSpeedDialUtilityClass,hf as getStepButtonUtilityClass,Sf as getStepConnectorUtilityClass,kf as getStepContentUtilityClass,cf as getStepIconUtilityClass,ff as getStepLabelUtilityClass,rf as getStepUtilityClass,Af as getStepperUtilityClass,Jh as getSvgIconUtilityClass,Ff as getSwitchUtilityClass,bh as getTabScrollButtonUtilityClass,vh as getTabUtilityClass,Yf as getTableBodyUtilityClass,Qf as getTableCellUtilityClass,rg as getTableContainerUtilityClass,ag as getTableFooterUtilityClass,pg as getTableHeadUtilityClass,hg as getTablePaginationUtilityClass,Mg as getTableRowUtilityClass,Ng as getTableSortLabelUtilityClass,_f as getTableUtilityClass,yh as getTabsUtilityClass,hh as getTextFieldUtilityClass,Wg as getToggleButtonGroupUtilityClass,Dg as getToggleButtonUtilityClass,gg as getToolbarUtilityClass,Fu as getTooltipUtilityClass,xh as getTouchRippleUtilityClass,Ch as getTypographyUtilityClass,Cb as grid2Classes,Uv as hexToRgb,Wv as hslToRgb,Sh as iconButtonClasses,wb as iconClasses,Rb as imageListClasses,kb as imageListItemBarClasses,ur as imageListItemClasses,wh as inputAdornmentClasses,Ae as inputBaseClasses,sr as inputClasses,Rh as inputLabelClasses,Yo as isMuiElement,Ar as keyframes,Ee as lighten,Ib as linearProgressClasses,Kp as linkClasses,$h as listClasses,Ab as listItemAvatarClasses,oo as listItemButtonClasses,Ph as listItemClasses,kh as listItemIconClasses,Th as listItemSecondaryActionClasses,ko as listItemTextClasses,Fm as listSubheaderClasses,kv as major,ym as makeStyles,Ih as menuClasses,Mh as menuItemClasses,bo as mergeSlotProps,Tv as minor,Bb as mobileStepperClasses,Ah as modalClasses,Lh as nativeSelectClasses,Er as outlinedInputClasses,de as ownerDocument,Xe as ownerWindow,Ob as paginationClasses,ee as paginationItemClasses,Bh as paperClasses,Iv as patch,Nh as popoverClasses,Mv as prerelease,Hv as private_createMixins,Vv as private_createTypography,Gv as private_excludeVariablesFromRoot,on as radioClasses,Db as radioGroupClasses,so as ratingClasses,_v as recomposeColor,um as requirePropFactory,vm as responsiveFontSizes,qv as rgbToHex,Ub as scopedCssBaselineClasses,Oh as selectClasses,Ms as setRef,Xv as shouldSkipGeneratingVar,zh as skeletonClasses,le as sliderClasses,Gb as snackbarClasses,Vb as snackbarContentClasses,Eo as speedDialActionClasses,No as speedDialClasses,ve as speedDialIconClasses,Kb as stackClasses,dn as stepButtonClasses,Qb as stepClasses,ov as stepConnectorClasses,rv as stepContentClasses,gr as stepIconClasses,Te as stepLabelClasses,sv as stepperClasses,S as styled,Qh as svgIconClasses,oe as switchClasses,jh as tabClasses,Dh as tabScrollButtonClasses,dv as tableBodyClasses,tg as tableCellClasses,cv as tableClasses,fv as tableContainerClasses,mv as tableFooterClasses,vv as tableHeadClasses,fo as tablePaginationClasses,hn as tableRowClasses,yr as tableSortLabelClasses,Eh as tabsClasses,Fh as textFieldClasses,ze as toggleButtonClasses,Ut as toggleButtonGroupClasses,hv as toolbarClasses,Wt as tooltipClasses,Uh as touchRippleClasses,Vo as typographyClasses,wm as unstable_ClassNameGenerator,q as unstable_composeClasses,cs as unstable_createBreakpoints,mm as unstable_createMuiStrictModeTheme,Wh as unstable_getUnit,U as unstable_memoTheme,Hh as unstable_toUnitless,Co as unstable_useEnhancedEffect,Ue as unstable_useId,fm as unsupportedProp,Oi as useAutocomplete,s0 as useColorScheme,ue as useControlled,ne as useEventCallback,ge as useForkRef,xo as useFormControl,Ds as useMediaQuery,gd as usePagination,Ld as useRadioGroup,$v as useScrollTrigger,Jb as useStepContext,Zb as useStepperContext,se as useTheme,Vh as useThemeProps,Pv as version,hm as withStyles,xm as withTheme}; diff --git a/admin/custom/assets/index-sawv1cUe.js b/admin/custom/assets/index-sawv1cUe.js deleted file mode 100644 index a80ac9258..000000000 --- a/admin/custom/assets/index-sawv1cUe.js +++ /dev/null @@ -1,1399 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CttBOMyq.js","./useTheme-MELayQMj.js","./_commonjsHelpers-D6-XlEtG.js","./createTheme-BwMO3rTt.js","./ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js","./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js","./useThemeWithoutDefault-C-hl_s0Z.js"])))=>i.map(i=>d[i]); -import{C as pt,R as k}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js";import{a as Xr,c as He,g as Zr}from"./_commonjsHelpers-D6-XlEtG.js";import{C as N}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BlV79j8y.js";import{C as Z,a as qr,I as es,D as Pi}from"./index-B8sZ2j0S.js";import{C as j,A as ts,a as Wi}from"./ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DAwHgdl6.js";import{R as ns}from"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DibxNPKw.js";import{F as is}from"./FilledInput-BpuM_GyB.js";import{p as rs}from"./createTheme-BwMO3rTt.js";import{i as Pn}from"./ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js";import{p as Un}from"./useTheme-MELayQMj.js";import{_ as ss}from"./preload-helper-Dp1pzeXC.js";import"./DefaultPropsProvider-9qubdy-V.js";import"./defaultTheme-avbtL0lf.js";import"./DefaultPropsProvider-DbEA5uR6.js";import"./jsx-runtime-o-xyxrOj.js";import"./useEnhancedEffect-CdLBzwyA.js";import"./useThemeWithoutDefault-C-hl_s0Z.js";const os=Object.freeze(Object.defineProperty({__proto__:null,get ConfigGeneric(){return K},get ConfigPanel(){return $t},get JsonConfig(){return xl},get JsonConfigComponent(){return cn}},Symbol.toStringTag,{value:"Module"}));var as=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ls=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,us=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,$n={Space_Separator:as,ID_Start:ls,ID_Continue:us},Me={isSpaceSeparator(L){return typeof L=="string"&&$n.Space_Separator.test(L)},isIdStartChar(L){return typeof L=="string"&&(L>="a"&&L<="z"||L>="A"&&L<="Z"||L==="$"||L==="_"||$n.ID_Start.test(L))},isIdContinueChar(L){return typeof L=="string"&&(L>="a"&&L<="z"||L>="A"&&L<="Z"||L>="0"&&L<="9"||L==="$"||L==="_"||L==="‌"||L==="‍"||$n.ID_Continue.test(L))},isDigit(L){return typeof L=="string"&&/[0-9]/.test(L)},isHexDigit(L){return typeof L=="string"&&/[0-9A-Fa-f]/.test(L)}};let Wn,Be,it,pn,dt,Ye,Ie,Gn,Vt;var hs=function(n,i){Wn=String(n),Be="start",it=[],pn=0,dt=1,Ye=0,Ie=void 0,Gn=void 0,Vt=void 0;do Ie=cs(),fs[Be]();while(Ie.type!=="eof");return typeof i=="function"?Hn({"":Vt},"",i):Vt};function Hn(L,n,i){const u=L[n];if(u!=null&&typeof u=="object")if(Array.isArray(u))for(let v=0;v0;){const i=rt();if(!Me.isHexDigit(i))throw Ae(q());L+=q()}return String.fromCodePoint(parseInt(L,16))}const fs={start(){if(Ie.type==="eof")throw Ct();Tn()},beforePropertyName(){switch(Ie.type){case"identifier":case"string":Gn=Ie.value,Be="afterPropertyName";return;case"punctuator":nn();return;case"eof":throw Ct()}},afterPropertyName(){if(Ie.type==="eof")throw Ct();Be="beforePropertyValue"},beforePropertyValue(){if(Ie.type==="eof")throw Ct();Tn()},beforeArrayValue(){if(Ie.type==="eof")throw Ct();if(Ie.type==="punctuator"&&Ie.value==="]"){nn();return}Tn()},afterPropertyValue(){if(Ie.type==="eof")throw Ct();switch(Ie.value){case",":Be="beforePropertyName";return;case"}":nn()}},afterArrayValue(){if(Ie.type==="eof")throw Ct();switch(Ie.value){case",":Be="beforeArrayValue";return;case"]":nn()}},end(){}};function Tn(){let L;switch(Ie.type){case"punctuator":switch(Ie.value){case"{":L={};break;case"[":L=[];break}break;case"null":case"boolean":case"numeric":case"string":L=Ie.value;break}if(Vt===void 0)Vt=L;else{const n=it[it.length-1];Array.isArray(n)?n.push(L):Object.defineProperty(n,Gn,{value:L,writable:!0,enumerable:!0,configurable:!0})}if(L!==null&&typeof L=="object")it.push(L),Array.isArray(L)?Be="beforeArrayValue":Be="beforePropertyName";else{const n=it[it.length-1];n==null?Be="end":Array.isArray(n)?Be="afterArrayValue":Be="afterPropertyValue"}}function nn(){it.pop();const L=it[it.length-1];L==null?Be="end":Array.isArray(L)?Be="afterArrayValue":Be="afterPropertyValue"}function Ae(L){return dn(L===void 0?`JSON5: invalid end of input at ${dt}:${Ye}`:`JSON5: invalid character '${zi(L)}' at ${dt}:${Ye}`)}function Ct(){return dn(`JSON5: invalid end of input at ${dt}:${Ye}`)}function hi(){return Ye-=5,dn(`JSON5: invalid identifier character at ${dt}:${Ye}`)}function gs(L){console.warn(`JSON5: '${zi(L)}' in strings is not valid ECMAScript; consider escaping`)}function zi(L){const n={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(n[L])return n[L];if(L<" "){const i=L.charCodeAt(0).toString(16);return"\\x"+("00"+i).substring(i.length)}return L}function dn(L){const n=new SyntaxError(L);return n.lineNumber=dt,n.columnNumber=Ye,n}var ms=function(n,i,u){const v=[];let o="",h,d,s="",p;if(i!=null&&typeof i=="object"&&!Array.isArray(i)&&(u=i.space,p=i.quote,i=i.replacer),typeof i=="function")d=i;else if(Array.isArray(i)){h=[];for(const c of i){let f;typeof c=="string"?f=c:(typeof c=="number"||c instanceof String||c instanceof Number)&&(f=String(c)),f!==void 0&&h.indexOf(f)<0&&h.push(f)}}return u instanceof Number?u=Number(u):u instanceof String&&(u=String(u)),typeof u=="number"?u>0&&(u=Math.min(10,Math.floor(u)),s=" ".substr(0,u)):typeof u=="string"&&(s=u.substr(0,10)),e("",{"":n});function e(c,f){let m=f[c];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(c):typeof m.toJSON=="function"&&(m=m.toJSON(c))),d&&(m=d.call(f,c,m)),m instanceof Number?m=Number(m):m instanceof String?m=String(m):m instanceof Boolean&&(m=m.valueOf()),m){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof m=="string")return t(m);if(typeof m=="number")return String(m);if(typeof m=="object")return Array.isArray(m)?a(m):r(m)}function t(c){const f={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let y="";for(let E=0;Ef[E]=0)throw TypeError("Converting circular structure to JSON5");v.push(c);let f=o;o=o+s;let m=h||Object.keys(c),y=[];for(const E of m){const b=e(E,c);if(b!==void 0){let g=l(E)+":";s!==""&&(g+=" "),g+=b,y.push(g)}}let D;if(y.length===0)D="{}";else{let E;if(s==="")E=y.join(","),D="{"+E+"}";else{let b=`, -`+o;E=y.join(b),D=`{ -`+o+E+`, -`+f+"}"}}return v.pop(),o=f,D}function l(c){if(c.length===0)return t(c);const f=String.fromCodePoint(c.codePointAt(0));if(!Me.isIdStartChar(f))return t(c);for(let m=f.length;m=0)throw TypeError("Converting circular structure to JSON5");v.push(c);let f=o;o=o+s;let m=[];for(let D=0;D>>2]>>>24-S%4*8&255;D[b+S>>>2]|=M<<24-(b+S)%4*8}else for(var _=0;_>>2]=E[_>>>2];return this.sigBytes+=g,this},clamp:function(){var y=this.words,D=this.sigBytes;y[D>>>2]&=4294967295<<32-D%4*8,y.length=u.ceil(D/4)},clone:function(){var y=e.clone.call(this);return y.words=this.words.slice(0),y},random:function(y){for(var D=[],E=0;E>>2]>>>24-g%4*8&255;b.push((S>>>4).toString(16)),b.push((S&15).toString(16))}return b.join("")},parse:function(y){for(var D=y.length,E=[],b=0;b>>3]|=parseInt(y.substr(b,2),16)<<24-b%8*4;return new t.init(E,D/2)}},a=r.Latin1={stringify:function(y){for(var D=y.words,E=y.sigBytes,b=[],g=0;g>>2]>>>24-g%4*8&255;b.push(String.fromCharCode(S))}return b.join("")},parse:function(y){for(var D=y.length,E=[],b=0;b>>2]|=(y.charCodeAt(b)&255)<<24-b%4*8;return new t.init(E,D)}},c=r.Utf8={stringify:function(y){try{return decodeURIComponent(escape(a.stringify(y)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(y){return a.parse(unescape(encodeURIComponent(y)))}},f=p.BufferedBlockAlgorithm=e.extend({reset:function(){this._data=new t.init,this._nDataBytes=0},_append:function(y){typeof y=="string"&&(y=c.parse(y)),this._data.concat(y),this._nDataBytes+=y.sigBytes},_process:function(y){var D,E=this._data,b=E.words,g=E.sigBytes,S=this.blockSize,M=S*4,_=g/M;y?_=u.ceil(_):_=u.max((_|0)-this._minBufferSize,0);var T=_*S,F=u.min(T*4,g);if(T){for(var A=0;A>>24)&16711935|(D<<24|D>>>8)&4278255360}var E=this._hash.words,b=c[f+0],g=c[f+1],S=c[f+2],M=c[f+3],_=c[f+4],T=c[f+5],F=c[f+6],A=c[f+7],$=c[f+8],C=c[f+9],w=c[f+10],x=c[f+11],I=c[f+12],R=c[f+13],O=c[f+14],P=c[f+15],B=E[0],V=E[1],W=E[2],H=E[3];B=t(B,V,W,H,b,7,p[0]),H=t(H,B,V,W,g,12,p[1]),W=t(W,H,B,V,S,17,p[2]),V=t(V,W,H,B,M,22,p[3]),B=t(B,V,W,H,_,7,p[4]),H=t(H,B,V,W,T,12,p[5]),W=t(W,H,B,V,F,17,p[6]),V=t(V,W,H,B,A,22,p[7]),B=t(B,V,W,H,$,7,p[8]),H=t(H,B,V,W,C,12,p[9]),W=t(W,H,B,V,w,17,p[10]),V=t(V,W,H,B,x,22,p[11]),B=t(B,V,W,H,I,7,p[12]),H=t(H,B,V,W,R,12,p[13]),W=t(W,H,B,V,O,17,p[14]),V=t(V,W,H,B,P,22,p[15]),B=r(B,V,W,H,g,5,p[16]),H=r(H,B,V,W,F,9,p[17]),W=r(W,H,B,V,x,14,p[18]),V=r(V,W,H,B,b,20,p[19]),B=r(B,V,W,H,T,5,p[20]),H=r(H,B,V,W,w,9,p[21]),W=r(W,H,B,V,P,14,p[22]),V=r(V,W,H,B,_,20,p[23]),B=r(B,V,W,H,C,5,p[24]),H=r(H,B,V,W,O,9,p[25]),W=r(W,H,B,V,M,14,p[26]),V=r(V,W,H,B,$,20,p[27]),B=r(B,V,W,H,R,5,p[28]),H=r(H,B,V,W,S,9,p[29]),W=r(W,H,B,V,A,14,p[30]),V=r(V,W,H,B,I,20,p[31]),B=l(B,V,W,H,T,4,p[32]),H=l(H,B,V,W,$,11,p[33]),W=l(W,H,B,V,x,16,p[34]),V=l(V,W,H,B,O,23,p[35]),B=l(B,V,W,H,g,4,p[36]),H=l(H,B,V,W,_,11,p[37]),W=l(W,H,B,V,A,16,p[38]),V=l(V,W,H,B,w,23,p[39]),B=l(B,V,W,H,R,4,p[40]),H=l(H,B,V,W,b,11,p[41]),W=l(W,H,B,V,M,16,p[42]),V=l(V,W,H,B,F,23,p[43]),B=l(B,V,W,H,C,4,p[44]),H=l(H,B,V,W,I,11,p[45]),W=l(W,H,B,V,P,16,p[46]),V=l(V,W,H,B,S,23,p[47]),B=a(B,V,W,H,b,6,p[48]),H=a(H,B,V,W,A,10,p[49]),W=a(W,H,B,V,O,15,p[50]),V=a(V,W,H,B,T,21,p[51]),B=a(B,V,W,H,I,6,p[52]),H=a(H,B,V,W,M,10,p[53]),W=a(W,H,B,V,w,15,p[54]),V=a(V,W,H,B,g,21,p[55]),B=a(B,V,W,H,$,6,p[56]),H=a(H,B,V,W,P,10,p[57]),W=a(W,H,B,V,F,15,p[58]),V=a(V,W,H,B,R,21,p[59]),B=a(B,V,W,H,_,6,p[60]),H=a(H,B,V,W,x,10,p[61]),W=a(W,H,B,V,S,15,p[62]),V=a(V,W,H,B,C,21,p[63]),E[0]=E[0]+B|0,E[1]=E[1]+V|0,E[2]=E[2]+W|0,E[3]=E[3]+H|0},_doFinalize:function(){var c=this._data,f=c.words,m=this._nDataBytes*8,y=c.sigBytes*8;f[y>>>5]|=128<<24-y%32;var D=u.floor(m/4294967296),E=m;f[(y+64>>>9<<4)+15]=(D<<8|D>>>24)&16711935|(D<<24|D>>>8)&4278255360,f[(y+64>>>9<<4)+14]=(E<<8|E>>>24)&16711935|(E<<24|E>>>8)&4278255360,c.sigBytes=(f.length+1)*4,this._process();for(var b=this._hash,g=b.words,S=0;S<4;S++){var M=g[S];g[S]=(M<<8|M>>>24)&16711935|(M<<24|M>>>8)&4278255360}return b},clone:function(){var c=d.clone.call(this);return c._hash=this._hash.clone(),c}});function t(c,f,m,y,D,E,b){var g=c+(f&m|~f&y)+D+b;return(g<>>32-E)+f}function r(c,f,m,y,D,E,b){var g=c+(f&y|m&~y)+D+b;return(g<>>32-E)+f}function l(c,f,m,y,D,E,b){var g=c+(f^m^y)+D+b;return(g<>>32-E)+f}function a(c,f,m,y,D,E,b){var g=c+(m^(f|~y))+D+b;return(g<>>32-E)+f}v.MD5=d._createHelper(e),v.HmacMD5=d._createHmacHelper(e)}(Math),i.MD5})})(Kn);var As=Kn.exports;const pi=Zr(As),xs=window.innerWidth<=600?12:void 0;function _n(L){return Object.prototype.toString.call(L)==="[object Object]"}class K extends pt.Component{static DIFFERENT_VALUE="__different__";static DIFFERENT_LABEL="ra___different__";static NONE_VALUE="";static NONE_LABEL="ra_none";defaultValue;isError;lang;defaultSendToDone;sendToTimeout;noPlaceRequired;constructor(n){super(n),this.state={confirmDialog:!1,confirmNewValue:null,confirmAttr:null,confirmData:null,confirmCallback:null},this.isError={},n.schema&&(n.custom?this.defaultValue=n.schema.defaultFunc?this.executeCustom(n.schema.defaultFunc,n.data,n.customObj,n.oContext.instanceObj,n.arrayIndex,n.globalData):n.schema.default:n.schema.type!=="state"&&(this.defaultValue=n.schema.defaultFunc?this.execute(n.schema.defaultFunc,n.schema.default,n.data,n.arrayIndex,n.globalData):n.schema.default)),this.lang=j.I18n.getLanguage()}componentDidMount(){this.props.oContext.registerOnForceUpdate&&this.props.oContext.registerOnForceUpdate(this.props.attr,this.onUpdate);const n=["select","autocomplete","autocompleteSendTo"];if(this.defaultValue!==void 0){const i=K.getValue(this.props.data,this.props.attr);(i===void 0||n.includes(this.props.schema.type)&&(i===""||i===null))&&setTimeout(()=>{this.props.custom?this.props.onChange(this.props.attr,this.defaultValue,()=>setTimeout(()=>this.props.oContext.forceUpdate([this.props.attr],this.props.data),100)):(K.setValue(this.props.data,this.props.attr,this.defaultValue),this.props.onChange(this.props.data,void 0,()=>this.props.oContext.forceUpdate([this.props.attr],this.props.data)))},100)}else this.props.schema.defaultSendTo&&this.sendTo()}sendTo(){if(this.props.alive){this.defaultSendToDone=!0;let n=this.props.schema.data;if(n===void 0&&this.props.schema.jsonData){const i=this.getPattern(this.props.schema.jsonData,null,!0);try{n=JSON.parse(i)}catch{console.error(`Cannot parse json data: ${i}`)}}else n={attr:this.props.attr,value:K.getValue(this.props.data,this.props.attr)};n===void 0&&(n=null),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.defaultSendTo,n).then(i=>{i!=null&&(this.props.custom?this.props.onChange(this.props.attr,i,()=>this.props.oContext.forceUpdate([this.props.attr],this.props.data)):(K.setValue(this.props.data,this.props.attr,i),this.props.onChange(this.props.data,void 0,()=>this.props.oContext.forceUpdate([this.props.attr],this.props.data))))})}else this.defaultSendToDone=!1,this.props.schema.allowSaveWithError||this.onError(this.props.attr,j.I18n.t("ra_Instance %s is not alive",this.props.oContext.instance.toString()))}componentWillUnmount(){this.props.oContext.registerOnForceUpdate&&this.props.oContext.registerOnForceUpdate(this.props.attr),this.sendToTimeout&&(clearTimeout(this.sendToTimeout),this.sendToTimeout=null)}onUpdate=n=>{const i=K.getValue(n||this.props.data,this.props.attr)||"";this.state.value!==i?this.setState({value:i}):this.forceUpdate()};static getValue(n,i){if(typeof i=="string")return K.getValue(n,i.split("."));if(i.length===1)return n[i[0]];const u=i.shift();if(typeof u=="string"&&typeof n[u]=="object")return K.getValue(n[u],i)}static setValue(n,i,u){if(typeof i=="string"){K.setValue(n,i.split("."),u);return}if(i.length===1)u===null?delete n[i[0]]:n[i[0]]=u;else{const v=i.shift();if(typeof v!="string")return;(!n[v]||typeof n[v]=="object")&&(n[v]=n[v]||{}),K.setValue(n[v],i,u)}}getText(n,i){if(!n)return"";if(typeof n=="string"){const u=i?n:j.I18n.t(n);return u.includes("${")?this.getPattern(u,null,i):u}return _n(n)?n.func?typeof n.func=="object"?this.getPattern(n.func[this.lang]||n.func.en||"",null,!0):this.getPattern(n.func,null,i):n[this.lang]||n.en||"":n.toString()}renderDialogConfirm(){if(!this.state.confirmDialog)return null;const n=this.state.confirmData||this.props.schema.confirm;let i=null;return n.type==="warning"?i=k.createElement(Z.Warning,null):n.type==="error"?i=k.createElement(Z.Error,null):n.type==="info"&&(i=k.createElement(Z.Info,null)),k.createElement(j.DialogConfirm,{title:this.getText(n.title)||j.I18n.t("ra_Please confirm"),text:this.getText(n.text),ok:this.getText(n.ok)||j.I18n.t("ra_Ok"),cancel:this.getText(n.cancel)||j.I18n.t("ra_Cancel"),icon:i||void 0,onClose:u=>this.setState({confirmDialog:!1},()=>{if(u){if(this.state.confirmCallback){const o=this.state.confirmCallback;this.setState({confirmCallback:null},()=>o(!0));return}const v=JSON.parse(JSON.stringify(this.props.data));this.state.confirmDepAttr&&K.setValue(v,this.state.confirmDepAttr,this.state.confirmDepNewValue),K.setValue(v,this.state.confirmAttr,this.state.confirmNewValue),this.setState({confirmDialog:!1,confirmDepAttr:null,confirmDepNewValue:null,confirmNewValue:null,confirmAttr:null,confirmData:null},()=>this.props.onChange(v))}else{const v=this.state.confirmCallback;this.setState({confirmDialog:!1,confirmDepAttr:null,confirmDepNewValue:null,confirmNewValue:null,confirmAttr:null,confirmData:null,confirmCallback:null},()=>{v&&v(!1)})}})})}getIcon(n){n=n||this.props.schema.icon;let i=null;return n==="auth"?i=k.createElement(Z.Key,null):n==="send"?i=k.createElement(Z.Send,null):n==="web"?i=k.createElement(Z.Public,null):n==="warning"?i=k.createElement(Z.Warning,null):n==="error"?i=k.createElement(Z.Error,null):n==="info"?i=k.createElement(Z.Info,null):n==="search"?i=k.createElement(Z.Search,null):n==="book"?i=k.createElement(Z.MenuBook,null):n==="help"?i=k.createElement(Z.Help,null):n==="upload"?i=k.createElement(Z.UploadFile,null):n==="edit"?i=k.createElement(Z.Edit,null):n==="user"?i=k.createElement(Z.Person,null):n==="group"?i=k.createElement(Z.Group,null):n==="delete"?i=k.createElement(Z.Delete,null):n==="refresh"?i=k.createElement(Z.Refresh,null):n==="add"?i=k.createElement(Z.Add,null):n==="unpair"?i=k.createElement(Z.LinkOff,null):n==="pair"?i=k.createElement(Z.Link,null):n==="save"?i=k.createElement(Z.Save,null):n==="open"?i=k.createElement(Z.OpenInNew,null):n&&((n.endsWith(".png")||n.endsWith(".svg")||n.endsWith(".jpg"))&&!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`./adapter/${this.props.oContext.adapterName}/${n}`),i=k.createElement(j.Icon,{src:n,style:{width:22,height:22}})),i}onChangeAsync(n,i){return new Promise(u=>{const v=this.onChange(n,i,u);v instanceof Promise&&v.catch(o=>console.error(`Cannot set value: ${o}`))})}onChange(n,i,u){const v=JSON.parse(JSON.stringify(this.props.data));if(K.setValue(v,n,i),this.props.schema.confirm&&this.execute(this.props.schema.confirm.condition,!1,v,this.props.arrayIndex,this.props.globalData))return new Promise(h=>{this.setState({confirmDialog:!0,confirmNewValue:i,confirmAttr:n,confirmData:null},()=>{typeof u=="function"?u():h()})});if(this.props.schema.confirmDependsOn)for(let h=0;h{this.setState({confirmDialog:!0,confirmNewValue:i,confirmAttr:n,confirmDepNewValue:s,confirmDepAttr:d.attr,confirmData:d.confirm},()=>{typeof u=="function"?u():p()})})}}const o=[];if(this.props.schema.onChangeDependsOn)for(let h=0;hu&&u()),o!=null&&o.length&&o.forEach((h,d)=>setTimeout(()=>this.props.onChange(h,K.getValue(v,h)),d*50))):this.props.onChange(v,void 0,()=>{o.length&&this.props.oContext.forceUpdate(o,v),u&&u()}),Promise.resolve()}execute(n,i,u,v,o){let h;if(_n(n))h=n.func;else if(typeof n=="string")h=n;else return n;if(!h)return i;try{return new Function("data","originalData","_system","_alive","_common","_socket","_instance","arrayIndex","globalData","_changed",h.includes("return")?h:`return ${h}`)(u||this.props.data,this.props.originalData,this.props.oContext.systemConfig,this.props.alive,this.props.common,this.props.oContext.socket,this.props.oContext.instance,v,o,this.props.changed)}catch(d){return console.error(`Cannot execute ${JSON.stringify(n)}: ${d}`),i}}executeCustom(n,i,u,v,o,h){let d;if(_n(n))d=n.func;else if(typeof n=="string")d=n;else return n;if(!d)return null;try{return new Function("data","originalData","_system","instanceObj","customObj","_socket","arrayIndex","globalData","_changed",d.includes("return")?d:`return ${d}`)(i||this.props.data,this.props.originalData,this.props.oContext.systemConfig,v,u,this.props.oContext.socket,o,h,this.props.changed)}catch(s){return console.error(`Cannot execute ${d}: ${s}`),null}}calculate(n){let i,u,v,o;return this.props.custom?(i=n.validator?!this.executeCustom(n.validator,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!1,n.disabled===!0?u=!0:u=n.disabled?this.executeCustom(n.disabled,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!1,n.hidden===!0?v=!0:v=n.hidden?this.executeCustom(n.hidden,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!1,o=n.defaultFunc?this.executeCustom(n.defaultFunc,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):n.default):(i=n.validator?!this.execute(n.validator,!1,this.props.data,this.props.arrayIndex,this.props.globalData):!1,n.disabled===!0?u=!0:u=n.disabled?this.execute(n.disabled,!1,this.props.data,this.props.arrayIndex,this.props.globalData):!1,n.hidden===!0?v=!0:v=n.hidden?this.execute(n.hidden,!1,this.props.data,this.props.arrayIndex,this.props.globalData):!1,o=n.defaultFunc?this.execute(n.defaultFunc,n.default,this.props.data,this.props.arrayIndex,this.props.globalData):n.default),{error:i,disabled:u,hidden:v,defaultValue:o}}onError(n,i){i?this.isError[n]=i:delete this.isError[n],this.props.onError&&this.props.onError(n,i)}renderItem(n,i,u){return this.getText(this.props.schema.label)||this.getText(this.props.schema.text)}renderHelp(n,i,u){return i?k.createElement("a",{href:i,target:"_blank",rel:"noreferrer",style:{color:this.props.oContext.themeType==="dark"?"#a147ff":"#5b238f",textDecoration:"underline"}},this.getText(n,u)):(n=this.getText(n,u)||"",n&&(n.includes("")||n.includes(""))?j.Utils.renderTextWithA(n):n)}static escapeString(n,i){return typeof n!="string"?"":(n=n.replace(/`/g,"\\`"),n=n.replace(/\${([^}]+)}/g,(u,v)=>{if(v&&typeof v=="string"&&v.startsWith("data.")){const o=K.getValue(i,v.replace(/^data\./,""));if(typeof o=="string"&&o.includes('"'))return`\${${v}.replace(/"/g, '\\\\"')}`}return u}),n)}getPattern(n,i,u){if(i=i||this.props.data,!n)return"";let v;typeof n=="object"?n.func?v=n.func:(console.log(`Object must be stringified: ${JSON.stringify(n)}`),v=JSON.stringify(n)):v=n;try{if(this.props.custom)return new Function("data","originalData","arrayIndex","globalData","_system","instanceObj","customObj","_socket","_changed",`return \`${K.escapeString(v,i)}\``)(i,this.props.originalData,this.props.arrayIndex,this.props.globalData,this.props.oContext.systemConfig,this.props.oContext.instanceObj,this.props.customObj,this.props.oContext.socket,this.props.changed);const h=new Function("data","originalData","arrayIndex","globalData","_system","_alive","_common","_socket","_changed",`return \`${K.escapeString(v,i)}\``)(i,this.props.originalData,this.props.arrayIndex,this.props.globalData,this.props.oContext.systemConfig,this.props.alive,this.props.common,this.props.oContext.socket,this.props.changed);return u?h:j.I18n.t(h)}catch(o){return console.error(`Cannot execute ${v}: ${o}`),v}}render(){const n=this.props.schema;if(!n||this.props.expertMode===!1&&n.expertMode)return null;this.props.alive&&this.defaultSendToDone===!1&&(this.sendToTimeout=setTimeout(()=>{this.sendToTimeout=null,this.sendTo()},200));const{error:i,disabled:u,hidden:v,defaultValue:o}=this.calculate(n);if(v){if(Object.keys(this.isError).length&&(setTimeout(s=>Object.keys(s).forEach(p=>this.props.onError(p)),100,JSON.parse(JSON.stringify(this.isError))),this.isError={}),n.hideOnlyControl){const s=k.createElement(N.Grid2,{size:{xs:n.xs||xs,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0},style:{marginBottom:0,textAlign:"left",...n.style,...this.props.oContext.themeType==="dark"?n.darkStyle:{}}});return n.newLine?k.createElement(k.Fragment,null,k.createElement("div",{style:{flexBasis:"100%",height:0}}),s):s}return null}n.validatorNoSaveOnError&&(i&&!Object.keys(this.isError).length?(this.isError={[this.props.attr]:n.validatorErrorText?j.I18n.t(n.validatorErrorText):!0},setTimeout(s=>Object.keys(s).forEach(p=>this.props.onError(p,s[p])),100,JSON.parse(JSON.stringify(this.isError)))):!i&&Object.keys(this.isError).length&&(setTimeout(s=>Object.keys(s).forEach(p=>this.props.onError(p)),100,JSON.parse(JSON.stringify(this.isError))),this.isError={}));const h=this.renderItem(i,u||this.props.commandRunning||this.props.disabled,o);if(this.noPlaceRequired)return h;const d=k.createElement(N.Grid2,{title:this.getText(n.tooltip),size:{xs:n.xs||12,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0},style:{marginBottom:0,textAlign:"left",width:n.type==="divider"||n.type==="header"?n.width||"100%":void 0,...n.style,...this.props.oContext.themeType==="dark"?n.darkStyle:{}}},this.props.schema.defaultSendTo&&this.props.schema.button?k.createElement(N.Grid2,{container:!0,style:{width:"100%"}},k.createElement(N.Grid2,{flex:1},h),k.createElement(N.Grid2,null,k.createElement(N.Button,{disabled:u,variant:"outlined",onClick:()=>this.sendTo(),title:this.props.schema.buttonTooltip?this.getText(this.props.schema.buttonTooltip,this.props.schema.buttonTooltipNoTranslation):j.I18n.t("ra_Request data by instance")},this.getText(this.props.schema.button)))):h);return n.newLine?k.createElement(k.Fragment,null,k.createElement("div",{style:{flexBasis:"100%",height:0}}),this.renderDialogConfirm(),d):this.state.confirmDialog?k.createElement(k.Fragment,null,this.renderDialogConfirm(),d):d}}const Ge={fullWidth:{width:"100%"},accordionSummary:L=>({backgroundColor:L.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)"}),accordionTitle:{},toolbar:L=>({backgroundColor:L.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)",borderRadius:"3px"}),tooltip:{pointerEvents:"none"}};class $s extends K{typingTimer=null;constructor(n){super(n),this.props.schema.items=this.props.schema.items||[]}componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr)||[];Array.isArray(n)||(n=[]),this.setState({value:n,activeIndex:-1,iteration:0})}componentWillUnmount(){this.typingTimer&&(clearTimeout(this.typingTimer),this.typingTimer=null),super.componentWillUnmount()}itemAccordion(n,i){const{value:u}=this.state,{schema:v}=this.props,o={type:"panel",items:v.items.reduce((h,d)=>(h[d.attr]=d,h),{}),style:{marginLeft:"-8px",marginTop:"10px",marginBottom:"10px"}};return k.createElement($t,{oContext:this.props.oContext,index:i+this.state.iteration,arrayIndex:i,changed:this.props.changed,expertMode:this.props.expertMode,globalData:this.props.data,common:this.props.common,alive:this.props.alive,themeName:this.props.themeName,data:n,custom:!0,schema:o,originalData:this.props.originalData,onChange:(h,d)=>{const s=JSON.parse(JSON.stringify(u));s[i][h]=d,this.setState({value:s},()=>this.onChangeWrapper(s))},onError:(h,d)=>this.onError(h,d),table:this.props.table})}onDelete=n=>()=>{const i=JSON.parse(JSON.stringify(this.state.value));i.splice(n,1),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.onChangeWrapper(i))};onClone=n=>()=>{const i=JSON.parse(JSON.stringify(this.state.value)),u=JSON.parse(JSON.stringify(i[n]));if(typeof this.props.schema.clone=="string"&&typeof u[this.props.schema.clone]=="string"){let v=1,o=u[this.props.schema.clone];const h=o.match(/(\d+)$/);for(h?(o=o.replace(h[0],""),v=parseInt(h[0],10)+1):o+="_";i.find(d=>d[this.props.schema.clone]===o+v.toString());)v++;u[this.props.schema.clone]=`${u[this.props.schema.clone]}_${v}`}i.splice(n,0,u),this.setState({value:i,activeIndex:-1,iteration:this.state.iteration+1e4},()=>this.onChangeWrapper(i))};onChangeWrapper=n=>{this.typingTimer&&clearTimeout(this.typingTimer),this.typingTimer=setTimeout(i=>{this.typingTimer=null;const u=this.onChange(this.props.attr,i);u instanceof Promise&&u.catch(v=>this.onError(v))},300,n)};onAdd=()=>{const{schema:n}=this.props,i=JSON.parse(JSON.stringify(this.state.value)),u=n.items&&n.items.reduce((v,o)=>{let h;return o.defaultFunc?this.props.custom?h=o.defaultFunc?this.executeCustom(o.defaultFunc,this.props.data,this.props.customObj,this.props.oContext.instanceObj,i.length,this.props.data):this.props.schema.default:h=o.defaultFunc?this.execute(o.defaultFunc,this.props.schema.default,this.props.data,i.length,this.props.data):this.props.schema.default:h=o.default===void 0?null:o.default,v[o.attr]=h,v},{});i.push(u),this.setState({value:i,activeIndex:i.length-1},()=>this.onChangeWrapper(i))};onMoveUp(n){const i=JSON.parse(JSON.stringify(this.state.value)),u=i[n];i.splice(n,1),i.splice(n-1,0,u);const v=this.state.activeIndex-1;this.setState({value:i,activeIndex:v,iteration:this.state.iteration+1e4},()=>this.onChangeWrapper(i))}onMoveDown(n){const i=JSON.parse(JSON.stringify(this.state.value)),u=i[n];i.splice(n,1),i.splice(n+1,0,u);const v=this.state.activeIndex+1;this.setState({value:i,activeIndex:v,iteration:this.state.iteration+1e4},()=>this.onChangeWrapper(i))}renderItem(){const{schema:n}=this.props,{value:i}=this.state;return i?k.createElement(N.Paper,null,n.label||!n.noDelete?k.createElement(N.Toolbar,{variant:"dense"},n.label?k.createElement(N.Typography,{variant:"h6",id:"tableTitle",component:"div"},this.getText(n.label)):null,n.noDelete?null:k.createElement(N.IconButton,{size:"small",color:"primary",onClick:this.onAdd},k.createElement(Z.Add,null))):null,i.map((u,v)=>k.createElement(N.Accordion,{key:`${u}_${v}`,expanded:this.state.activeIndex===v,onChange:(o,h)=>this.setState({activeIndex:h?v:-1})},k.createElement(N.AccordionSummary,{expandIcon:k.createElement(Z.ExpandMore,null),sx:j.Utils.getStyle(this.props.oContext.theme,Ge.fullWidth,Ge.accordionSummary)},k.createElement(N.Typography,{style:Ge.accordionTitle},u[n.titleAttr])),k.createElement(N.AccordionDetails,{style:{...n.style,...this.props.oContext.themeType?n.darkStyle:void 0}},this.itemAccordion(i[v],v),k.createElement(N.Toolbar,{sx:Ge.toolbar},v?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Move up"),slotProps:{popper:{sx:Ge.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:()=>this.onMoveUp(v)},k.createElement(Z.ArrowUpward,null))):k.createElement("div",{style:Ge.buttonEmpty}),vthis.onMoveDown(v)},k.createElement(Z.ArrowDownward,null))):k.createElement("div",{style:Ge.buttonEmpty}),n.noDelete?null:k.createElement(N.Tooltip,{title:j.I18n.t("ra_Delete current row"),slotProps:{popper:{sx:Ge.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:this.onDelete(v)},k.createElement(Z.Delete,null))),n.clone?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Clone current row"),slotProps:{popper:{sx:Ge.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:this.onClone(v)},k.createElement(Z.ContentCopy,null))):null)))),!n.noDelete&&i.length>0?k.createElement(N.Toolbar,{variant:"dense",sx:Ge.rootTool},k.createElement(N.IconButton,{size:"small",color:"primary",onClick:this.onAdd},k.createElement(Z.Add,null))):null,n.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null):null}}const di={root:{width:"100%"},notAlive:{color:"#a30000"}};class Ts extends K{componentDidMount(){super.componentDidMount();const n=this.getInstance();this.props.oContext.socket.getState(`${n}.alive`).then(i=>this.setState({alive:!!(i&&i.val),instance:n}))}getInstance(){let n=this.props.schema.instance||`${this.props.oContext.adapterName}.${this.props.oContext.instance}`;return n.includes("${")&&(n=this.getPattern(n,null,!0)),n&&!n.startsWith("system.adapter.")&&(n=`system.adapter.${n}`),n}renderItem(){if(this.getInstance()!==this.state.instance&&setTimeout(()=>{const i=this.getInstance();i?this.props.oContext.socket.getState(`${i}.alive`).then(u=>this.setState({alive:!!(u&&u.val),instance:i})):this.setState({alive:null,instance:i})},200),this.state.alive!==!1&&this.state.alive!==!0)return null;const n=this.state.instance.replace(/^system.adapter./,"");return k.createElement("div",{style:{...di.root,...this.state.alive?void 0:di.notAlive}},this.state.alive?this.props.schema.textAlive!==void 0?this.props.schema.textAlive?j.I18n.t(this.props.schema.textAlive,n):"":j.I18n.t("ra_Instance %s is alive",n):this.props.schema.textNotAlive!==void 0?this.props.schema.textNotAlive?j.I18n.t(this.props.schema.textNotAlive,n):"":j.I18n.t("ra_Instance %s is not alive",n))}}class _s extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr),i=this.props.schema.options.map(u=>typeof u=="string"?{label:u,value:u}:JSON.parse(JSON.stringify(u)));Array.isArray(n)?(i.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),this.setState({value:K.DIFFERENT_VALUE,selectOptions:i})):this.setState({value:n,selectOptions:i})}renderItem(n,i){if(!this.state.selectOptions)return null;let u;const v=JSON.parse(JSON.stringify(this.state.selectOptions));return Array.isArray(this.state.value)||this.state.value===K.DIFFERENT_VALUE?([...this.state.value].filter(h=>!v.find(d=>typeof d=="object"?d.value===h:d===h)).forEach(h=>v.push({label:h.toString(),value:h})),u={label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE},v.unshift(u)):(u=this.state.value!==null&&this.state.value!==void 0&&v.find(h=>typeof h=="object"?h.value==this.state.value:h==this.state.value),this.state.value!==null&&this.state.value!==void 0&&!u&&this.props.schema.freeSolo&&(u={value:this.state.value,label:this.state.value},v.push(u))),k.createElement(N.Autocomplete,{fullWidth:!0,freeSolo:!!this.props.schema.freeSolo,value:u,options:v,isOptionEqualToValue:(h,d)=>h.value===d.value,filterOptions:(h,d)=>{const s=h.filter(p=>d.inputValue===""?!0:p.label.toLowerCase().includes(d.inputValue.toLowerCase())||p.value.toLowerCase().includes(d.inputValue.toLowerCase()));return this.props.schema.freeSolo&&d.inputValue!==""&&s.push({label:d.inputValue,value:d.inputValue}),s},onInputChange:h=>{if(!h||!this.props.schema.freeSolo)return;const d=h.target.value;d!==this.state.value&&this.setState({value:d},()=>this.onChange(this.props.attr,d))},onChange:(h,d)=>{const s=typeof d=="object"?d?d.value:"":d;s!==this.state.value&&this.setState({value:s},()=>this.onChange(this.props.attr,s))},getOptionLabel:h=>typeof h=="object"?(h==null?void 0:h.label)??"":"",renderInput:h=>k.createElement(N.TextField,{variant:"standard",...h,error:!!n,placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),disabled:i})})}}class ks extends K{initialized=!1;localContext;askInstance(){const n=K.getValue(this.props.data,this.props.attr),i=this.props.schema.options?this.props.schema.options.map(u=>typeof u=="string"?{label:u,value:u}:JSON.parse(JSON.stringify(u))):[];if(this.props.alive){let u=this.props.schema.data;if(u===void 0&&this.props.schema.jsonData){const v=this.getPattern(this.props.schema.jsonData,null,!0);try{typeof v=="string"&&(u=JSON.parse(v))}catch{console.error(`Cannot parse json data: ${JSON.stringify(u)}`)}}u===void 0&&(u=null),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",u).then(v=>{v&&Array.isArray(v)&&v.forEach(o=>i.push(typeof o=="string"?{label:o,value:o}:JSON.parse(JSON.stringify(o)))),Array.isArray(n)?(i.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),this.setState({value:K.DIFFERENT_VALUE,selectOptions:i})):this.setState({value:n,selectOptions:i})})}else Array.isArray(n)?(i.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),this.setState({value:K.DIFFERENT_VALUE,selectOptions:i})):this.setState({value:n,selectOptions:i})}getContext(){const n={};return Array.isArray(this.props.schema.alsoDependsOn)&&this.props.schema.alsoDependsOn.forEach(i=>n[i]=K.getValue(this.props.data,i)),JSON.stringify(n)}renderItem(n,i){if(this.props.alive){const h=this.getContext();(h!==this.localContext||!this.initialized)&&(this.localContext=h,setTimeout(()=>this.askInstance(),this.initialized?300:50),this.initialized=!0)}let u;const v=this.state.selectOptions?JSON.parse(JSON.stringify(this.state.selectOptions)):[];return Array.isArray(this.state.value)||this.state.value===K.DIFFERENT_LABEL?([...this.state.value].filter(h=>!v.find(d=>d.value===h)).forEach(h=>v.push({label:h.toString(),value:h})),u={label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE},v.unshift(u)):(u=this.state.value!==null&&this.state.value!==void 0&&v.find(h=>h.value==this.state.value),this.state.value!==null&&this.state.value!==void 0&&!u&&this.props.schema.freeSolo&&(u={value:this.state.value,label:this.state.value},v.push(u)),u=u||null),v.length?k.createElement(N.Autocomplete,{value:u,fullWidth:!0,freeSolo:!!this.props.schema.freeSolo,options:v,isOptionEqualToValue:(h,d)=>h.value===d.value,filterOptions:(h,d)=>{const s=h.filter(p=>d.inputValue===""?!0:p.label.toLowerCase().includes(d.inputValue.toLowerCase())||p.value.toLowerCase().includes(d.inputValue.toLowerCase()));return this.props.schema.freeSolo&&d.inputValue!==""&&s.push({label:d.inputValue,value:d.inputValue}),s},getOptionLabel:h=>(h==null?void 0:h.label)??"",onInputChange:h=>{if(!h||!this.props.schema.freeSolo)return;const d=h.target.value;d!==this.state.value&&this.setState({value:d},()=>this.onChange(this.props.attr,d))},onChange:(h,d)=>{const s=typeof d=="object"?d?d.value:"":d;s!==this.state.value&&this.setState({value:s},()=>this.onChange(this.props.attr,s))},renderInput:h=>k.createElement(N.TextField,{variant:"standard",...h,error:!!n,placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),disabled:i})}):k.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:this.state.value===null||this.state.value===void 0?"":this.state.value,error:!!n,disabled:i,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0}},onChange:h=>{const d=h.target.value;this.setState({value:d},()=>this.onChange(this.props.attr,(d||"").trim()))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}const kn={fullWidth:{width:"100%"},flex:{display:"flex"},button:{height:48,marginLeft:4,minWidth:48}};class Ms extends K{componentDidMount(){super.componentDidMount();const{data:n,attr:i}=this.props,u=K.getValue(n,i)||"";this.setState({value:u,showDialog:!1})}renderItem(n,i){const{schema:u,attr:v}=this.props,{value:o,showDialog:h}=this.state;return k.createElement(N.FormControl,{style:kn.fullWidth,variant:"standard"},u.label?k.createElement(N.InputLabel,{shrink:!0},this.getText(u.label)):null,k.createElement("div",{style:kn.flex},k.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:o??"",error:!!n,disabled:i,placeholder:this.getText(u.placeholder),label:this.getText(u.label),helperText:this.renderHelp(u.help,u.helpLink,u.noTranslation),onChange:d=>{const s=d.target.value;this.setState({value:s},()=>this.onChange(v,s))}}),k.createElement(N.Button,{color:"grey",disabled:i,style:kn.button,size:"small",variant:"outlined",onClick:()=>this.setState({showDialog:!0})},"...")),h?k.createElement(j.DialogCron,{title:j.I18n.t("ra_Define schedule"),simple:u.simple,complex:u.complex,cron:o,onClose:()=>this.setState({showDialog:!1}),cancel:j.I18n.t("ra_Cancel"),ok:j.I18n.t("ra_Ok"),theme:this.props.oContext.theme,onOk:d=>this.setState({showDialog:!1,value:d},()=>this.onChange(v,d))}):null)}}class Ls extends K{async componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr),u=(await this.props.oContext.socket.getCertificates()).filter(v=>{const o=this.props.attr.toLowerCase();return o.includes(v.type)||v.type==="public"&&o.includes("cert")||v.type==="private"&&(o.includes("priv")||o.includes("key"))?!0:!!(v.type==="chained"&&(o.includes("chain")||o.includes("ca")))}).map(v=>({label:v.name,value:v.name}));u.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),this.setState({value:n,selectOptions:u})}renderItem(n,i){var v,o;if(!this.state.selectOptions)return null;const u=(v=this.state.selectOptions)==null?void 0:v.find(h=>h.value===this.state.value);return k.createElement(N.FormControl,{style:{width:"100%"},variant:"standard"},this.props.schema.label?k.createElement(N.InputLabel,{shrink:!0},this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:this.state.value,renderValue:()=>this.getText(u==null?void 0:u.label,this.props.schema.noTranslation!==!1),onChange:h=>this.setState({value:h.target.value},()=>this.onChange(this.props.attr,this.state.value))},(o=this.state.selectOptions)==null?void 0:o.map(h=>k.createElement(N.MenuItem,{key:h.value,value:h.value,style:h.value===K.NONE_VALUE?{opacity:.5}:{}},this.getText(h.label,this.props.schema.noTranslation!==!1)))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const zt={fullWidth:{width:"100%"},leWidth:{width:620,marginBottom:10},certWidth:{width:200,marginRight:10}};class Is extends K{async componentDidMount(){var d;super.componentDidMount();const n=await this.props.oContext.socket.getCertificates(),i=[],u=[],v=[];let o=[];const h=await this.props.oContext.socket.getObject("system.certificates");(d=h==null?void 0:h.native)!=null&&d.collections?o=Object.keys(h.native.collections):o=null,n.forEach(s=>{s.type==="public"?i.push({label:s.name,value:s.name}):s.type==="private"?u.push({label:s.name,value:s.name}):s.type==="chained"?v.push({label:s.name,value:s.name}):(i.push({label:s.name,value:s.name}),u.push({label:s.name,value:s.name}),v.push({label:s.name,value:s.name}))}),i.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),u.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),v.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),this.setState({certsPublicOptions:i,certsChainOptions:v,certsPrivateOptions:u,collectionsOptions:o})}renderItem(n,i){var e,t,r,l,a,c,f;if(!this.state.certsPublicOptions||!this.state.certsPrivateOptions||!this.state.certsChainOptions)return null;const u=(K.getValue(this.props.data,this.props.schema.leCollectionName||"leCollection")||"false").toString(),v=K.getValue(this.props.data,this.props.schema.certPublicName||"certPublic"),o=K.getValue(this.props.data,this.props.schema.certPrivateName||"certPrivate"),h=K.getValue(this.props.data,this.props.schema.certChainedName||"certChained"),d=(e=this.state.certsPublicOptions)==null?void 0:e.find(m=>m.value===v),s=(t=this.state.certsPrivateOptions)==null?void 0:t.find(m=>m.value===o),p=(r=this.state.certsChainOptions)==null?void 0:r.find(m=>m.value===h);return k.createElement("div",{style:zt.fullWidth},this.state.collectionsOptions?k.createElement(N.FormControl,{style:zt.leWidth,variant:"standard"},k.createElement(N.InputLabel,{shrink:!0},"Let's encrypt"),k.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:u,onChange:m=>this.onChange(this.props.schema.leCollectionName||"leCollection",m.target.value==="false"?!1:m.target.value==="true"?!0:m.target.value)},k.createElement(N.MenuItem,{key:"_false",value:"false",style:{fontWeight:"bold"}},j.I18n.t("ra_Do not use let's encrypt")),k.createElement(N.MenuItem,{key:"_true",value:"true",style:{fontWeight:"bold"}},j.I18n.t("ra_Use all available let's encrypt certificates")),(l=this.state.collectionsOptions)==null?void 0:l.map(m=>k.createElement(N.MenuItem,{key:m,value:m},m)))):null,this.state.collectionsOptions?k.createElement("br",null):null,this.state.collectionsOptions&&u!=="false"?k.createElement("div",null,j.I18n.t("ra_Fallback custom certificates")):null,k.createElement(N.FormControl,{style:zt.certWidth,variant:"standard"},k.createElement(N.InputLabel,{shrink:!0},j.I18n.t("ra_Public certificate")),k.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:v||"",renderValue:()=>this.getText(d==null?void 0:d.label),onChange:m=>this.onChange(this.props.schema.certPublicName||"certPublic",m.target.value)},(a=this.state.certsPublicOptions)==null?void 0:a.map((m,y)=>k.createElement(N.MenuItem,{key:`${m.value}_${y}`,value:m.value,style:m.value===K.NONE_VALUE?{opacity:.5}:{}},this.getText(m.label))))),k.createElement(N.FormControl,{style:zt.certWidth,variant:"standard"},k.createElement(N.InputLabel,{shrink:!0},j.I18n.t("ra_Private certificate")),k.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:o||"",renderValue:()=>this.getText(s==null?void 0:s.label),onChange:m=>this.onChange(this.props.schema.certPrivateName||"certPrivate",m.target.value)},(c=this.state.certsPrivateOptions)==null?void 0:c.map((m,y)=>k.createElement(N.MenuItem,{key:`${m.value}_${y}`,value:m.value,style:m.value===K.NONE_VALUE?{opacity:.5}:{}},this.getText(m.label))))),k.createElement(N.FormControl,{style:zt.certWidth,variant:"standard"},k.createElement(N.InputLabel,{shrink:!0},j.I18n.t("ra_Chained certificate")),k.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:h||"",renderValue:()=>this.getText(p==null?void 0:p.label),onChange:m=>this.onChange(this.props.schema.certChainedName||"certChained",m.target.value)},(f=this.state.certsChainOptions)==null?void 0:f.map((m,y)=>k.createElement(N.MenuItem,{key:`${m.value}_${y}`,value:m.value,style:m.value===K.NONE_VALUE?{opacity:.5}:{}},this.getText(m.label))))))}}class Fs extends K{async componentDidMount(){var u;super.componentDidMount();let n;const i=await this.props.oContext.socket.getObject("system.certificates");(u=i==null?void 0:i.native)!=null&&u.collections?n=Object.keys(i.native.collections):n=[],this.setState({collectionsOptions:n})}renderItem(n,i){var v;if(!this.state.collectionsOptions)return null;const u=(K.getValue(this.props.data,this.props.schema.leCollectionName||"leCollection")||"false").toString();return k.createElement(N.FormControl,{style:{width:"100%"},variant:"standard"},this.props.schema.label?k.createElement(N.InputLabel,{shrink:!0},this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:u,onChange:o=>this.onChange(this.props.schema.leCollectionName||"leCollection",o.target.value==="false"?!1:o.target.value==="true"?!0:o.target.value)},k.createElement(N.MenuItem,{key:"_false",value:"false",style:{fontWeight:"bold"}},j.I18n.t("ra_Do not use let's encrypt")),k.createElement(N.MenuItem,{key:"_true",value:"true",style:{fontWeight:"bold"}},j.I18n.t("ra_Use all available let's encrypt certificates")),(v=this.state.collectionsOptions)==null?void 0:v.map(o=>k.createElement(N.MenuItem,{key:o,value:o},o))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const We={fullWidth:{width:"100%"},licLabel:{fontWeight:"bold",minWidth:100,marginRight:10,textTransform:"capitalize",display:"inline-block"},errorTitle:L=>({color:L.palette.mode==="dark"?"#e39191":"#b62020"}),okTitle:L=>({color:L.palette.mode==="dark"?"#6fd56f":"#007c00"}),errorText:L=>({color:L.palette.mode==="dark"?"#e39191":"#b62020",mb:"30px"})};class ct extends K{componentDidMount(){super.componentDidMount(),this.setState({_error:"",running:!1,showLicenseData:null,foundSuitableLicense:!1,licenseOfflineCheck:!1,result:null,allLicenses:null,askForUpdate:!1,showLinkToProfile:!1})}renderErrorDialog(){if(this.state._error&&!this.state.showLicenseData){let n=this.state._error;return this.state.allLicenses&&(n=[k.createElement("div",{key:"error"},n)],n.push(k.createElement(N.Button,{key:"button",variant:"contained",onClick:()=>window.open("https://iobroker.net/www/account/licenses","_blank")},j.I18n.t("iobroker.net"))),this.state.allLicenses.length?n.push(k.createElement(N.TableContainer,{key:"table"},k.createElement(N.Table,{size:"small"},k.createElement(N.TableHead,null,k.createElement(N.TableRow,null,k.createElement(N.TableCell,null,j.I18n.t("ra_Product")),k.createElement(N.TableCell,null,j.I18n.t("ra_Version")),k.createElement(N.TableCell,null,"UUID"),k.createElement(N.TableCell,null,j.I18n.t("ra_ValidTill")),k.createElement(N.TableCell,null,j.I18n.t("ra_Commercial")),k.createElement(N.TableCell,null,"ID"))),k.createElement(N.TableBody,null,this.state.allLicenses.map(i=>k.createElement(N.TableRow,{key:i.id},k.createElement(N.TableCell,{sx:i.validName?null:We.errorText},i.license.product),k.createElement(N.TableCell,{sx:i.validVersion?null:We.errorText},i.license.version),k.createElement(N.TableCell,{sx:i.validUuid?null:We.errorText},i.license.uuid||"--"),k.createElement(N.TableCell,{sx:i.validTill?null:We.errorText},i.license.validTill&&i.license.validTill!=="0000-00-00 00:00:00"?new Date(i.license.validTill).toLocaleDateString():"--"),k.createElement(N.TableCell,null,i.license.invoice!=="free"?i.license.invoice==="MANUALLY_CREATED"?"✓":i.license.invoice:"-"),k.createElement(N.TableCell,null,i.id))))))):(n.push(k.createElement("div",{key:"text1"},j.I18n.t("ra_No one license found in license manager"))),n.push(k.createElement("div",{key:"text2"},j.I18n.t("ra_Please create license"))))),k.createElement(N.Dialog,{open:!0,maxWidth:"xl",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClick:()=>this.setState({_error:"",allLicenses:null})},k.createElement(N.DialogTitle,null,j.I18n.t("ra_Error")),k.createElement(N.DialogContent,null,k.createElement(N.DialogContentText,null,n)),k.createElement(N.DialogActions,null,k.createElement(N.Button,{variant:"contained",onClick:()=>this.setState({_error:"",allLicenses:null}),color:"primary",autoFocus:!0,startIcon:k.createElement(Z.Check,null)},j.I18n.t("ra_Ok"))))}return null}renderMessageDialog(){if(this.state.showLicenseData){const n=[],i=this.state.showLicenseData;return Object.keys(i).forEach(u=>{if(!(i[u]===null||i[u]===void 0))if(typeof i[u]=="object"){const v=i[u];Object.keys(v).forEach(o=>{v[o]!==null&&v[o]!==void 0&&(typeof v[o]=="object"?n.push(k.createElement("div",{key:o},k.createElement("div",{style:We.licLabel},o,":"),JSON.stringify(v[o],null,2))):n.push(k.createElement("div",{key:o},k.createElement("div",{style:We.licLabel},u," -",o,":"),v[o].toString())))})}else n.push(k.createElement("div",{key:u},k.createElement("div",{style:We.licLabel},u.replace(/_/g," "),":"),i[u].toString()))}),n.push(k.createElement("div",{key:"checked"},k.createElement("div",{style:We.licLabel},j.I18n.t("ra_Checked"),":"),this.state.licenseOfflineCheck?j.I18n.t("ra_locally"):j.I18n.t("ra_via internet"))),k.createElement(N.Dialog,{open:!0,onClose:()=>this.setState({showLicenseData:null})},k.createElement(N.DialogTitle,null,k.createElement(N.Box,{component:"span",sx:this.state.result?We.okTitle:We.errorTitle},j.I18n.t("ra_License %s",this.state.result?"OK":"INVALID"))),k.createElement(N.DialogContent,null,this.state.showLinkToProfile?k.createElement(N.Button,{variant:"contained",onClick:()=>window.open("https://iobroker.net/www/account/licenses","_blank")},"https://iobroker.net"):null,this.state._error?k.createElement(N.Box,{component:"div",sx:We.errorText},this.state._error):null,n),k.createElement(N.DialogActions,null,k.createElement(N.Button,{onClick:()=>this.setState({showLicenseData:null,_error:""}),color:"primary",variant:"contained"},j.I18n.t("ra_Close"))))}return null}static parseJwt(n){const u=n.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),v=decodeURIComponent(atob(u).split("").map(o=>`%${`00${o.charCodeAt(0).toString(16)}`.slice(-2)}`).join(""));try{return JSON.parse(v)}catch{return null}}static isVersionValid(n,i,u,v){if(!i||!n)return!0;let o=!0;const[h]=n.split(".");return i.startsWith(">=")?o=parseInt(h,10)>=parseInt(i.substring(2,10)):i.startsWith("<=")?o=parseInt(h,10)<=parseInt(i.substring(2,10)):i.startsWith(">")?o=parseInt(h,10)>parseInt(i.substring(1,10)):i.startsWith("<")?o=parseInt(h,10){const l=!r.validTill||r.validTill==="0000-00-00 00:00:00"||new Date(r.validTill).getTime()>p,a=(r.product||"").split("."),c=a[1]===n||n==="vis-2"&&a[1]==="vis",f=!e||!r.uuid||r.uuid===e,m=ct.isVersionValid(t,r.version,r.invoice,n);(!s||r.invoice!=="free")&&l&&c&&f&&m&&(s=r),u.push({id:r.id,validName:c,validUuid:f,validVersion:m,validTill:l,license:r})}),s&&(u.find(r=>r.id===s.id).used=!0)}return u}async checkLicense(n,i){var d,s,p;let u;if(this.props.schema.uuid){const e=await this.props.oContext.socket.getObject("system.meta.uuid");u=(d=e==null?void 0:e.native)==null?void 0:d.uuid}let v;if(this.props.schema.version){const e=await this.props.oContext.socket.getObject(`system.adapter.${i}`);v=(s=e==null?void 0:e.common)==null?void 0:s.version}const o=new AbortController;let h=setTimeout(()=>{h=null,o.abort()},5e3);try{const e=await window.fetch("https://iobroker.net/api/v1/public/cert/",{method:"POST",body:JSON.stringify({json:n,uuid:u}),headers:{"Content-Type":"text/plain"},signal:o.signal});h&&clearTimeout(h);const t=await e.text();let r;try{r=JSON.parse(t)}catch{}if(r!=null&&r.error)try{const l=ct.parseJwt(n),a=j.I18n.t(`ra_${l.error||r.error||"Unknown error"}`).replace(/^ra_/,"");return this.setState({_error:a,licenseOfflineCheck:!1,showLicenseData:l,result:!1,running:!1})}catch{return console.log("Cannot parse license"),this.setState({_error:r.error,result:!1,running:!1})}else{let l=null;try{l=ct.parseJwt(n)}catch{}if(r){const a=r.validTill||r.valid_till;if(a&&a!=="0000-00-00 00:00:00"&&new Date(a).getTime(){if(n){this.setState({askForUpdate:!1});try{await this.props.oContext.socket.updateLicenses(null,null)}catch(i){window.alert(j.I18n.t("ra_Cannot read licenses: %s",i));return}await this._onClick(!0)}else this.setState({askForUpdate:!1,running:!1})}}):null}async _onClick(n){const i=this.props.oContext.adapterName==="vis-2"?"vis":this.props.oContext.adapterName;this.setState({running:!0});let u,v;if(this.props.data.useLicenseManager){if(v=await this.findInLicenseManager(i),u=v.find(o=>o.used),u&&(u=u.license.json),!u&&!n){this.setState({askForUpdate:!0});return}}else u=this.props.data.license;u?await this.checkLicense(u,i):this.props.data.useLicenseManager?this.setState({_error:j.I18n.t("ra_Suitable license not found in license manager"),result:!1,running:!1,allLicenses:v}):this.setState({_error:j.I18n.t("ra_Please enter the license"),result:!1,running:!1})}renderItem(){return k.createElement("div",{style:We.fullWidth},k.createElement(N.Button,{variant:this.props.schema.variant||"outlined",color:this.props.schema.color||"primary",style:We.fullWidth,disabled:!this.props.data.license&&!this.props.data.useLicenseManager||this.state.running,startIcon:k.createElement(Z.Send,null),onClick:()=>this._onClick()},this.state.running?k.createElement(N.CircularProgress,{size:20,style:{marginRight:8}}):null,this.getText(this.props.schema.label||"ra_Check license",this.props.schema.noTranslation)),this.renderMessageDialog(),this.renderErrorDialog(),this.renderAskForUpdate())}}class Rs extends K{renderItem(n,i){const u=K.getValue(this.props.data,this.props.attr),v=Array.isArray(u);return k.createElement(N.FormControl,{style:{width:"100%"},variant:"standard"},k.createElement(N.FormControlLabel,{onClick:o=>{if(o.preventDefault(),o.stopPropagation(),!i){const h=this.onChange(this.props.attr,!u);h instanceof Promise&&h.catch(d=>console.error(`Cannot set value: ${d}`))}},control:k.createElement(N.Checkbox,{indeterminate:v,checked:!!u,onChange:o=>{let h;v?h=this.onChange(this.props.attr,!0):h=this.onChange(this.props.attr,o.target.checked),h instanceof Promise&&h.catch(d=>console.error(`Cannot set value: ${d}`))},disabled:i||this.props.schema.readOnly}),label:this.getText(this.props.schema.label)}),k.createElement(N.FormHelperText,{style:{color:"red"}},n?this.props.schema.validatorErrorText?j.I18n.t(this.props.schema.validatorErrorText):j.I18n.t("ra_Error"):null),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Os={standard:N.Input,filled:is,outlined:N.OutlinedInput},Ns=L=>{const n=L.palette.mode==="light",i=n?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return{root:{},inputRoot:{display:"inline-flex",flexWrap:"wrap",flex:1,marginTop:0,minWidth:70,"&.mui-variant-outlined,&.mui-variant-filled":{boxSizing:"border-box"},"&.mui-variant-outlined":{paddingTop:"14px"},"&.mui-variant-filled":{paddingTop:"28px"}},input:{display:"inline-block",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",appearance:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",float:"left",flex:1},chipContainer:{display:"flex",flexFlow:"row wrap",alignItems:"center",cursor:"text",marginBottom:"-2px",minHeight:40},outlined:{"& input":{height:16,paddingTop:"4px",paddingBottom:"12px",marginTop:"4px",marginBottom:"4px"}},standard:{marginTop:"18px"},filled:{"& input":{height:22,marginBottom:"4px",marginTop:"4px",paddingTop:0},"$marginDense & input":{height:26}},labeled:{},label:{top:4,"&$outlined&:not($labelShrink)":{top:2,"$marginDense &":{top:5}},"&$filled&:not($labelShrink)":{top:15,"$marginDense &":{top:20}}},labelShrink:{top:0},helperText:{marginBottom:-20},focused:{},disabled:{},underline:{"&:after":{borderBottom:`2px solid ${L.palette.primary[n?"dark":"light"]}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:L.transitions.create("transform",{duration:L.transitions.duration.shorter,easing:L.transitions.easing.easeOut}),pointerEvents:"none"},"&$focused:after":{transform:"scaleX(1)"},"&$error:after":{borderBottomColor:L.palette.error.main,transform:"scaleX(1)"},"&:before":{borderBottom:`1px solid ${i}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:L.transitions.create("border-bottom-color",{duration:L.transitions.duration.shorter}),pointerEvents:"none"},"&:hover:not($disabled):not($focused):not($error):before":{borderBottom:`2px solid ${L.palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${i}`}},"&$disabled:before":{borderBottomStyle:"dotted"}},error:{"&:after":{backgroundColor:L.palette.error.main,transform:"scaleX(1)"}},chip:{margin:"0 8px 8px 0",float:"left"},marginDense:{}}},rn={BACKSPACE:8,DELETE:46,LEFT_ARROW:37,RIGHT_ARROW:39},Bs=({value:L,isFocused:n,isDisabled:i,isReadOnly:u,handleClick:v,handleDelete:o,style:h},d)=>k.createElement(N.Chip,{key:d,style:{...h,pointerEvents:i||u?"none":void 0,backgroundColor:n?rs[300]:void 0},onClick:v,onDelete:o,label:L});class Ps extends k.Component{labelRef;labelNode=null;input;newChipKeyCodes;newChipKeys;actualInput=null;inputBlurTimeout=null;_keyPressed;_preventChipCreation;styles={};styleTheme=null;constructor(n){super(n),this.state={chips:n.defaultValue||[],focusedChip:null,inputValue:"",isFocused:!1,chipsUpdated:!1,prevPropsValue:[],variant:this.props.variant||"standard"},this.newChipKeyCodes=n.newChipKeyCodes||[13],this.newChipKeys=n.newChipKeys||["Enter"],this.labelRef=k.createRef(),this.input=k.createRef()}componentDidMount(){this.state.variant==="outlined"&&(this.labelNode=ns.findDOMNode(this.labelRef.current),this.forceUpdate())}componentWillUnmount(){this.inputBlurTimeout&&clearTimeout(this.inputBlurTimeout)}static getDerivedStateFromProps(n,i){let u=null;return n.value&&n.value.length!==i.prevPropsValue.length&&(u={prevPropsValue:n.value},n.clearInputValueOnChange&&(u.inputValue="")),n.clearInputValueOnChange&&n.value&&n.value.length!==i.prevPropsValue.length&&(u={prevPropsValue:n.value,inputValue:""}),n.disabled&&(u={...u,focusedChip:null}),!i.chipsUpdated&&n.defaultValue&&(u={...u,chips:n.defaultValue}),u}focus=()=>{var n;(n=this.actualInput)==null||n.focus(),this.state.focusedChip&&this.setState({focusedChip:null})};handleInputBlur=n=>{this.props.onBlur&&this.props.onBlur(n),this.setState({isFocused:!1}),this.state.focusedChip&&this.setState({focusedChip:null});const i=n.target.value;let u;switch(this.props.blurBehavior||"clear"){case"add-or-clear":u={clearInputOnFail:!0};case"add":if(this.props.delayBeforeAdd){const v=(this.props.value||this.state.chips).length;this.inputBlurTimeout=setTimeout(()=>{const o=(this.props.value||this.state.chips).length;v===o?this.handleAddChip(i,u):this.clearInput()},150)}else this.handleAddChip(i,u);break;case"clear":this.clearInput();break}};handleInputFocus=n=>{this.setState({isFocused:!0}),this.props.onFocus&&this.props.onFocus(n)};handleKeyDown=n=>{const{focusedChip:i}=this.state;if(this._keyPressed=!1,this._preventChipCreation=!1,this.props.onKeyDown&&(this.props.onKeyDown(n),n.isDefaultPrevented()))return;const u=this.props.value||this.state.chips;if(this.newChipKeyCodes.includes(n.keyCode)||this.newChipKeys.includes(n.key)){this.handleAddChip(n.target.value)!==!1&&n.preventDefault();return}switch(n.keyCode){case rn.BACKSPACE:n.target.value===""&&(i?(this.handleDeleteChip(u[i],i),i&&this.setState({focusedChip:i-1})):this.setState({focusedChip:u.length-1}));break;case rn.DELETE:n.target.value===""&&i&&(this.handleDeleteChip(u[i],i),i<=u.length-1&&this.setState({focusedChip:i}));break;case rn.LEFT_ARROW:i===null&&n.target.value===""&&u.length?this.setState({focusedChip:u.length-1}):i!==null&&i>0&&this.setState({focusedChip:i-1});break;case rn.RIGHT_ARROW:i!==null&&i{!this._preventChipCreation&&(this.newChipKeyCodes.includes(n.keyCode)||this.newChipKeys.includes(n.key))&&this._keyPressed?this.clearInput():this.updateInput(n.target.value),this.props.onKeyUp&&this.props.onKeyUp(n)};handleUpdateInput=n=>{(this.props.inputValue===null||this.props.inputValue===void 0)&&this.updateInput(n.target.value),this.props.onUpdateInput&&this.props.onUpdateInput(n)};handleAddChip(n,i){if(this.props.onBeforeAdd&&!this.props.onBeforeAdd(n))return this._preventChipCreation=!0,i&&i.clearInputOnFail&&this.clearInput(),!1;this.clearInput();const u=this.props.value||this.state.chips;return n.trim().length?((this.props.allowDuplicates||!u.includes(n))&&(this.props.value&&this.props.onAdd?this.props.onAdd(n):this.updateChips([...this.state.chips,n])),!0):!1}handleDeleteChip(n,i){if(this.props.value)this.props.onDelete&&this.props.onDelete(n,i);else{const u=this.state.chips.slice();if(u.splice(i,1)){let o=this.state.focusedChip;this.state.focusedChip===i?o=null:this.state.focusedChip>i&&(o=this.state.focusedChip-1),this.updateChips(u,{focusedChip:o})}}}updateChips(n,i={}){this.setState({chips:n,chipsUpdated:!0,...i}),this.props.onChange&&this.props.onChange(n)}clearInput(){this.updateInput("")}updateInput(n){this.setState({inputValue:n})}setActualInputRef=n=>{this.actualInput=n,this.props.inputRef&&this.props.inputRef(n)};render(){const{alwaysShowPlaceholder:n,chipRenderer:i=Bs,className:u,disabled:v,disableUnderline:o,error:h,FormHelperTextProps:d,fullWidth:s,fullWidthInput:p,helperText:e,id:t,InputProps:r={},InputLabelProps:l={},inputValue:a,label:c,placeholder:f,readOnly:m,required:y,rootRef:D,value:E,margin:b}=this.props,g=this.state.variant;this.styleTheme!==this.props.theme.palette.mode&&(this.styleTheme=this.props.theme.palette.mode,this.styles=j.Utils.getStyle(this.props.theme,Ns));let S=E||this.state.chips||[];Array.isArray(S)||(S=(S||"").toString().split(/[,\s]+/).map(C=>C.trim()));const M=a??this.state.inputValue,_=(this.props.value||M).length||M.length,T=typeof l.shrink=="boolean"?l.shrink:c!==null&&(_||this.state.isFocused||S.length),F=S.map((C,w)=>i({value:C,isDisabled:!!v,isReadOnly:m,isFocused:this.state.focusedChip===w,handleClick:()=>this.setState({focusedChip:w}),handleDelete:()=>this.handleDeleteChip(C,w),style:this.styles.chip},w.toString())),A={};g==="outlined"&&(A.notched=!!T,A.labelWidth=T&&this.labelNode&&this.labelNode.offsetWidth||0),g!=="standard"?A.startAdornment=F:r.disableUnderline=!0;const $=Os[g];return k.createElement(N.FormControl,{ref:D,fullWidth:s,className:u,sx:{...this.styles.root,...b==="dense"?this.styles.marginDense:{}},error:h,required:S.length>0?void 0:y,onClick:this.focus,disabled:v,variant:g,component:"div",margin:b},c&&k.createElement(N.InputLabel,{htmlFor:t,sx:{"&.MuiInputLabel-root":this.styles.label,"&.MuiInputLabel-shrink":this.styles.labelShrink},shrink:!!T,focused:this.state.isFocused,variant:g,ref:this.labelRef,required:y,component:"label",...l},c),k.createElement(N.Box,{component:"div",id:"input-chip-container",sx:{...this.styles[g],...this.styles.chipContainer,...this.state.isFocused?this.styles.focused:void 0,...!o&&g==="standard"?this.styles.underline:void 0,...v?this.styles.disabled:void 0,...c?this.styles.labeled:void 0,...h?this.styles.error:void 0}},g==="standard"&&F,k.createElement($,{ref:this.input,className:`mui-variant-${this.styles[g]} ${c?"mui-chip-with-label":"mui-chip-no-label"}`,sx:{"&.MuiInputBase-input":{...this.styles.input,...this.styles[g]},"&.MuiInputBase-root":{...this.styles.inputRoot}},id:t,value:M,onChange:this.handleUpdateInput,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onFocus:this.handleInputFocus,onBlur:this.handleInputBlur,inputRef:this.setActualInputRef,disabled:v,fullWidth:p,placeholder:!_&&(T||c===null||c===void 0)||n?f:null,readOnly:m,...r,...A})),e&&k.createElement(N.FormHelperText,{...d,className:d==null?void 0:d.className,style:this.styles.helperText},e))}}class fi extends K{componentDidMount(){super.componentDidMount();const{data:n,attr:i}=this.props,u=K.getValue(n,i);if(this.props.schema.delimiter&&typeof u=="string"){const v=u.split(this.props.schema.delimiter).map(o=>o.trim()).filter(o=>o);this.setState({value:v})}else this.setState({value:u||[]})}renderItem(n,i){const{attr:u,schema:v}=this.props,{value:o}=this.state;return k.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},k.createElement(Ps,{value:o,disabled:!!i,label:this.getText(v.label),error:!!n,onAdd:h=>{const d=JSON.parse(JSON.stringify(o));d.push(h),this.setState({value:d},()=>{let s;this.props.schema.delimiter?s=this.onChange(u,d.join(`${this.props.schema.delimiter} `)):s=this.onChange(u,d),s instanceof Promise&&s.catch(p=>console.error(p))})},theme:this.props.oContext.theme,onDelete:(h,d)=>{const s=JSON.parse(JSON.stringify(o));s.splice(d,1),this.setState({value:s},()=>{let p;this.props.schema.delimiter?p=this.onChange(u,s.join(`${this.props.schema.delimiter} `)):p=this.onChange(u,s),p instanceof Promise&&p.catch(e=>console.error(e))})}}),k.createElement(N.FormHelperText,null,j.I18n.t("ra_Press ENTER Key to add new item")),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class Ws extends K{renderColorDialog(){return!!this.state.showColorDialog&&k.createElement(N.Dialog,{onClose:()=>this.setState({showColorDialog:!1}),open:this.state.showColorDialog},k.createElement(qr,{color:this.state.colorDialogValue,onChange:n=>this.setState({colorDialogValue:n.hex},()=>this.onChange(this.props.attr,this.state.colorDialogValue))}))}renderItem(n,i){const u=K.getValue(this.props.data,this.props.attr);let v=j.Utils.isUseBright(u,null);return v===null&&(v=void 0),k.createElement(k.Fragment,null,this.renderColorDialog(),k.createElement(N.TextField,{variant:"standard",disabled:!!i,style:{minWidth:100,width:"calc(100% - 8px)"},label:this.getText(this.props.schema.label),value:u||"",onClick:()=>!this.props.schema.readOnly&&this.setState({showColorDialog:!0,colorDialogValue:u||""}),onChange:o=>{const h=o.target.value,d=this.onChange(this.props.attr,h);d instanceof Promise&&d.catch(s=>console.error(`Cannot set value: ${s}`))},slotProps:{htmlInput:{style:{backgroundColor:u,color:v?"#FFF":"#000"},readOnly:this.props.schema.readOnly||!1},input:{endAdornment:!this.props.schema.readOnly&&u&&!this.props.schema.noClearButton?k.createElement(N.IconButton,{tabIndex:-1,size:"small",onClick:o=>{o.stopPropagation();const h=this.onChange(this.props.attr,"");h instanceof Promise&&h.catch(d=>console.error(`Cannot set value: ${d}`))}},k.createElement(Z.Close,null)):void 0},inputLabel:{shrink:!0}}}))}}const Mn={width:{width:"calc(100% - 85px)"},width50:{width:120,marginRight:5}};class Hs extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n});const i={};this.props.schema.useSystemName&&(i.useSystem=!!K.getValue(this.props.data,this.props.schema.useSystemName)),this.props.schema.longitudeName&&this.props.schema.latitudeName?(i.longitude=K.getValue(this.props.data,this.props.schema.longitudeName),i.latitude=K.getValue(this.props.data,this.props.schema.latitudeName),!i.longitude&&!i.latitude&&this.props.schema.autoInit&&setTimeout(()=>this.getCoordinates(),300)):!K.getValue(this.props.data,this.props.attr)&&this.props.schema.autoInit&&setTimeout(()=>this.getCoordinates(),300),Object.keys(i).length&&setTimeout(()=>this.setState(i),50)}async getSystemCoordinates(){const n=await this.props.oContext.socket.getCompactSystemConfig();if(n!=null&&n.common&&(n.common.longitude||n.common.latitude))if(window.alert(j.I18n.t("ra_Used system settings")),this.props.schema.longitudeName&&this.props.schema.latitudeName)this.setState({longitude:n.common.longitude,latitude:n.common.latitude},async()=>{await this.onChange(this.props.schema.longitudeName,n.common.longitude),await this.onChange(this.props.schema.latitudeName,n.common.latitude)});else{const i=n.common.latitude+(this.props.schema.divider||",")+n.common.longitude;this.setState({value:i},()=>{const u=this.onChange(this.props.attr,i);u instanceof Promise&&u.catch(v=>console.error(`Cannot set value: ${v}`))})}else window.alert(j.I18n.t("ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser"))}getCoordinates(){navigator.geolocation?navigator.geolocation.getCurrentPosition(async n=>{if(n!=null&&n.coords)if(this.props.schema.longitudeName&&this.props.schema.latitudeName)this.setState({longitude:n.coords.longitude,latitude:n.coords.latitude},async()=>{await this.onChange(this.props.schema.longitudeName,n.coords.longitude||""),await this.onChange(this.props.schema.latitudeName,n.coords.latitude||"")});else{const i=n.coords.latitude+(this.props.schema.divider||",")+n.coords.longitude;this.setState({value:i},()=>{const u=this.onChange(this.props.attr,i);u instanceof Promise&&u.catch(v=>console.error(`Cannot set value: ${v}`))})}else await this.getSystemCoordinates()},async n=>{console.error(`Cannot determine coordinates from browser: ${n.message}`),await this.getSystemCoordinates()}):this.getSystemCoordinates().catch(n=>{console.error(`Cannot determine coordinates: ${n}`)})}renderItem(n,i){return k.createElement(k.Fragment,null,this.props.schema.useSystemName?k.createElement(N.FormControlLabel,{control:k.createElement(N.Checkbox,{checked:!!this.state.useSystem,onChange:u=>{const v=u.target.checked;v&&this.getSystemCoordinates().catch(o=>console.error(`Cannot determine coordinates: ${o}`)),this.setState({useSystem:v},()=>this.onChange(this.props.schema.useSystemName,v))}}),label:j.I18n.t("ra_Use system settings for position")}):null,this.props.schema.longitudeName&&this.props.schema.latitudeName?k.createElement(N.TextField,{variant:"standard",style:Mn.width50,value:this.state.longitude??"",error:!!n,disabled:this.state.useSystem||!!i,onChange:u=>{const v=u.target.value;this.setState({longitude:v},()=>{const o=this.onChange(this.props.schema.longitudeName,(v||"").trim());o instanceof Promise&&o.catch(h=>console.error(`Cannot set value: ${h}`))})},label:j.I18n.t("ra_Longitude")}):null,this.props.schema.longitudeName&&this.props.schema.latitudeName?k.createElement(N.TextField,{variant:"standard",style:Mn.width50,value:this.state.latitude??"",error:!!n,disabled:this.state.useSystem||!!i,onChange:u=>{const v=u.target.value;this.setState({latitude:v},()=>this.onChange(this.props.schema.latitudeName,(v||"").trim()))},label:j.I18n.t("ra_Latitude")}):null,!this.props.schema.longitudeName||!this.props.schema.latitudeName?k.createElement(N.TextField,{variant:"standard",style:Mn.width,value:this.state.value===null||this.state.value===void 0?"":this.state.value,error:!!n,disabled:!!i,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:this.state.useSystem}},onChange:u=>{const v=u.target.value;this.setState({value:v},()=>this.onChange(this.props.attr,(v||"").trim()))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}):null,this.state.useSystem?null:k.createElement(N.Fab,{size:"small",onClick:()=>this.getCoordinates(),title:j.I18n.t("ra_Take browser position"),style:{marginRight:4}},k.createElement(Z.LocationOn,null)),this.state.useSystem?null:k.createElement(N.Fab,{size:"small",onClick:()=>this.getSystemCoordinates(),title:j.I18n.t("ra_Take position from system settings")},k.createElement(Z.GpsFixed,null)))}}Pn.init({name:"iobroker_admin",shared:{"@iobroker/adapter-react-v5":{lib:()=>ts,version:"*"},"@mui/icons-material":{lib:()=>es,version:"*"},"@iobroker/json-config":{lib:()=>os,version:"*"}},remotes:[]});class Ut extends K{static runningLoads={};constructor(n){super(n),Object.assign(this.state,{Component:null,error:""})}async componentDidMount(){if(!this.props.schema.url){console.error("URL is empty. Cannot load custom component!"),this.setState({error:"URL is empty. Cannot load custom component!"});return}let n;this.props.schema.url.startsWith("http:")||this.props.schema.url.startsWith("https:")?n=this.props.schema.url:this.props.schema.url.startsWith("./")?n=`${window.location.protocol}//${window.location.host}${this.props.schema.url.replace(/^\./,"")}`:n=`${window.location.protocol}//${window.location.host}/adapter/${this.props.oContext.adapterName}/${this.props.schema.url}`;const[i,u,...v]=this.props.schema.name.split("/"),o=v.join("/");if(!n){console.error('Cannot find URL for custom component! Please define "url" as "custom/customComponents.js" in the schema');return}if(!i||!u||!o){console.error('Invalid format of "name"! Please define "name" as "ConfigCustomBackItUpSet/Components/AdapterExist" in the schema');return}let h=Ut.runningLoads[`${n}!${u}`];if(!(h instanceof Promise)){let d;if(this.props.schema.i18n===!0){const s=n.lastIndexOf("/");let p;s!==-1?p=n.substring(0,s):p=n;const e=j.I18n.getLanguage(),t=`${p}/i18n/${e}.json`;d=fetch(t).then(r=>r.json()).then(r=>j.I18n.extendTranslations(r,e)).catch(r=>{if(e!=="en"){fetch(`${p}/i18n/en.json`).then(l=>l.json()).then(l=>j.I18n.extendTranslations(l,e)).catch(l=>console.log(`Cannot load i18n "${t}": ${l}`));return}console.log(`Cannot load i18n "${t}": ${r}`)})}else if(this.props.schema.i18n&&typeof this.props.schema.i18n=="object")try{j.I18n.extendTranslations(this.props.schema.i18n)}catch(s){console.error(`Cannot import i18n: ${s}`)}try{console.log(n,i,u,o),Pn.registerRemotes([{name:i,entry:n,type:this.props.schema.bundlerType||void 0}]),h=Pn.loadRemote(`${i}/${u}`),d instanceof Promise&&(h=Promise.all([h,d]).then(s=>s[0])),Ut.runningLoads[`${n}!${u}`]=h}catch(s){console.error(s),this.setState({error:`Cannot import from ${this.props.schema.url}: ${s}`})}}try{const d=(await h).default;if(d!=null&&d[o])this.setState({Component:d[o]});else{const s=Object.keys(d||{});console.error("URL is empty. Cannot load custom component!"),this.setState({error:`Component ${this.props.schema.name} not found in ${this.props.schema.url}. Found: ${s.join(", ")}`})}}catch(d){console.error(d),this.setState({error:`Cannot import from ${this.props.schema.url}: ${d}`})}}render(){const n=this.state.Component,i=this.props.schema||{};let u=n?k.createElement(n,{...this.props,socket:this.props.oContext.socket,theme:this.props.oContext.theme,themeType:this.props.oContext.themeType,instance:this.props.oContext.instance,adapterName:this.props.oContext.adapterName,systemConfig:this.props.oContext.systemConfig,forceUpdate:this.props.oContext.forceUpdate}):this.state.error?k.createElement("div",null,this.state.error):k.createElement(N.LinearProgress,null);return i.newLine?k.createElement(k.Fragment,null,k.createElement("div",{style:{flexBasis:"100%",height:0}}),u):u}}class zs extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n})}renderItem(n,i){return k.createElement(Wi.DatePicker,{sx:u=>({width:"100%",borderBottom:`1px solid ${u.palette.text.primary}`,"& fieldset":{display:"none"},"& input":{padding:`${u.spacing(1.5)} 0 4px 0`},"& .MuiInputAdornment-root":{marginLeft:0,marginTop:1},"& label":{transform:"translate(0px, -9px) scale(0.75)"}}),format:this.props.oContext.systemConfig.dateFormat.toLowerCase().replace("mm","MM"),disabled:!!i,value:this.state.value,onChange:u=>{this.setState({value:u},()=>this.onChange(this.props.attr,this.state.value))},label:this.getText(this.props.schema.label)})}}class js extends K{renderItem(){if(!this.props.schema)return null;if(this.props.oContext.DeviceManager){const i=this.props.oContext.DeviceManager;return k.createElement(i,{uploadImagesToInstance:`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,title:this.getText(this.props.schema.label),socket:this.props.oContext.socket,selectedInstance:`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,themeName:this.props.themeName,theme:this.props.oContext.theme,themeType:this.props.oContext.themeType,isFloatComma:this.props.oContext.isFloatComma,dateFormat:this.props.oContext.dateFormat})}return k.createElement("div",null,"DeviceManager not found")}}const Ke={fullWidth:{width:"100%"},uploadDiv:{position:"relative",width:"100%"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"100%",height:"100%",position:"absolute",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},disabledOpacity:{opacity:.3,cursor:"default"},error:{border:"2px solid red"},deleteButton:{},selectedImage:{height:40,width:40,display:"inline-block",marginRight:8}},Vs=["jpg","jpeg","svg","png","webp","gif","apng","avif","webp"],Us=["mp3","ogg","wav","aac"],Gs=["avi","mp4","mov"],Ks=["txt","log","html","htm"],Js=["json","js","ts"];class mn extends K{dropzoneRef;imagePrefix;objectID;path;constructor(n){super(n),this.dropzoneRef=k.createRef(),this.imagePrefix=this.props.oContext.imagePrefix===void 0?"./files":this.props.oContext.imagePrefix}componentDidMount(){super.componentDidMount(),this.objectID=(this.props.schema.objectID||"0_userdata.0").replace("%INSTANCE%",(this.props.oContext.instance||0).toString()),this.path=this.props.schema.upload,this.path&&(this.path==="/"?this.path="":this.path.endsWith("/")||(this.path=`${this.path}/`)),this.updateFiles().then(()=>{const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n}),this.props.oContext.socket.subscribeFiles(this.objectID,`${this.path}/*`,this.onFolderChanged).catch(i=>console.error(`Cannot subscribe: ${i}`))})}onFolderChanged=(n,i)=>{this.path&&i.startsWith(this.path)&&this.updateFiles().catch(u=>console.error(`Cannot update files: ${u}`))};componentWillUnmount(){this.props.oContext.socket.subscribeFiles(this.objectID,`${this.path}/*`,this.onFolderChanged).catch(n=>console.error(`Cannot subscribe: ${n}`)),super.componentWillUnmount()}async updateFiles(){const n=await this.readFiles(this.props.schema.pattern);await new Promise(i=>this.setState({files:n},i))}async readFolder(n,i,u){try{const v=await this.props.oContext.socket.readDir(this.objectID,n.replace(/^\//,"")||null);for(let o=0;oconsole.log("file reading was aborted"),u.onerror=()=>console.log("file reading has failed"),u.onload=()=>{if(i.size>v){window.alert(j.I18n.t("File is too big. Max %sk allowed. Try use SVG.",Math.round(v/1024)));return}this.props.oContext.socket.writeFile64(this.objectID,this.path+i.name,u.result).then(()=>this.updateFiles()).then(()=>this.setState({value:this.path+i.name},()=>this.onChange(this.props.attr,this.path+i.name))).catch(o=>window.alert(`Cannot upload file: ${o}`))},u.readAsArrayBuffer(i)}renderDeleteDialog(){return this.state.deleteFile?k.createElement(j.DialogConfirm,{title:j.I18n.t("ra_Are you sure?"),text:j.I18n.t("ra_File will be deleted"),ok:j.I18n.t("ra_Delete"),cancel:j.I18n.t("ra_Cancel"),onClose:n=>{const i=this.state.deleteFile;this.setState({deleteFile:""},()=>{n&&this.props.oContext.socket.deleteFile(this.objectID,i).then(()=>this.updateFiles()).catch(u=>window.alert(`Cannot delete file: ${u}`))})}}):null}static base64ToArrayBuffer(n){const i=window.atob(n),u=i.length,v=new Uint8Array(u);for(let o=0;o{if(typeof AudioContext<"u"){const i=new AudioContext,u=mn.base64ToArrayBuffer(n.file);i.decodeAudioData(u,v=>{const o=i.createBufferSource();o.buffer=v,o.connect(i.destination),o.start(0)},v=>window.alert(`Cannot play: ${v.message}`))}})}getFileIcon(n){return n!=null&&n.extension?Vs.includes(n.extension)?k.createElement("div",{style:{...Ke.selectedImage,backgroundImage:`url(${this.imagePrefix}/${this.objectID}/${n.value})`,backgroundSize:"contain",backgroundRepeat:"no-repeat"}}):Us.includes(n.extension)?k.createElement(Z.MusicNote,null):Ks.includes(n.extension)?k.createElement(Z.Article,null):Gs.includes(n.extension)?k.createElement(Z.Videocam,null):Js.includes(n.extension)?k.createElement(Z.Code,null):null:null}renderItem(n,i){if(!this.state.files)return null;const u=[];this.props.schema.withFolder||this.state.files.forEach(e=>{const t=e.name.lastIndexOf("/");if(t===-1)u.includes("/")||u.push("/");else{const r=e.name.substring(0,t+1);u.includes(r)||u.push(r)}});const v=this.state.files.map(e=>({value:e.name,label:!this.props.schema.withFolder&&u.length===1?`${e.name.substring(u[0].length)}`:`${e.name}${this.props.schema.noSize?"":`(${e.size})`}`,extension:e.name.toLowerCase().split(".").pop()}));this.props.schema.noNone||v.unshift({label:j.I18n.t("ra_none"),value:""});const o=v.find(e=>e.value===this.state.value);let h=0;this.props.schema.upload&&h++,this.props.schema.refresh&&h++;const d=this.state.value&&(this.state.value.endsWith(".mp3")||this.state.value.endsWith(".ogg")||this.state.value.endsWith(".wav"));d&&h++;const s=k.createElement("div",{style:Ke.fullWidth},k.createElement(N.FormControl,{variant:"standard",style:{width:`calc(100% - ${h*42}px)`}},this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:this.state.value||"_",renderValue:()=>k.createElement(k.Fragment,null,this.getFileIcon(o),k.createElement("span",null,(o==null?void 0:o.label)||"")),onChange:e=>{this.setState({value:e.target.value==="_"?"":e.target.value},()=>this.onChange(this.props.attr,this.state.value))}},v.map(e=>k.createElement(N.MenuItem,{key:e.value,value:e.value},k.createElement(N.ListItemIcon,null,this.getFileIcon(e)),k.createElement(N.ListItemText,null,e.label),this.props.schema.delete&&o.value?k.createElement(N.IconButton,{style:Ke.deleteButton,size:"small",onClick:()=>this.setState({deleteFile:o.value})},k.createElement(Z.Delete,null)):null))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null),this.props.schema.refresh&&k.createElement(N.IconButton,{onClick:()=>this.updateFiles()},k.createElement(Z.Refresh,null)),this.props.schema.upload&&k.createElement(N.IconButton,{onClick:()=>{var e;return(e=this.dropzoneRef.current)==null?void 0:e.open()}},k.createElement(Z.UploadFile,null)),d&&k.createElement(N.IconButton,{style:{color:"#00FF00"},onClick:()=>this.play()},k.createElement(Z.PlayArrow,null)));if(!this.props.schema.upload)return k.createElement(k.Fragment,null,s,this.renderDeleteDialog());let p={"*/*":[]};if(this.props.schema.fileTypes==="image"?p={"image/*":[".png",".jpg",".svg",".gif",".apng",".avif",".webp"]}:this.props.schema.fileTypes==="audio"?p={"audio/*":[".mp3",".ogg",".wav",".mp4"]}:this.props.schema.fileTypes==="text"&&(p={"text/plain":[".txt"]}),this.props.schema.pattern){const e=this.props.schema.pattern.split("/").pop().toLowerCase().replace(/.*\./,"");e==="png"||e==="jpg"||e==="svg"||e==="gif"||e==="apng"||e==="avif"||e==="webp"?p={"image/*":[".png",".jpg",".svg",".gif",".apng",".avif",".webp"]}:e==="mp3"||e==="ogg"||e==="wav"?p={"audio/*":[".mp3",".ogg",".wav",".mp4"]}:e==="ics"?p={"text/calendar":[".ics"]}:e==="txt"?p={"text/plain":[".txt"]}:e==="pem"?p={"text/plain":[".pem"]}:p={"*/*":[`.${e}`]}}return k.createElement(Pi,{ref:this.dropzoneRef,multiple:!1,accept:p,noKeyboard:!0,noClick:!0,maxSize:this.props.schema.maxSize||2*1024*1024,onDragEnter:()=>{this.setState({uploadFile:"dragging"})},onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(e,t)=>{var r,l,a;this.setState({uploadFile:!1}),e.length?this.onDrop(e):window.alert(((a=(l=(r=t==null?void 0:t[0])==null?void 0:r.errors)==null?void 0:l[0])==null?void 0:a.message)||j.I18n.t("Cannot upload"))}},({getRootProps:e,getInputProps:t})=>k.createElement("div",{style:{...Ke.uploadDiv,...this.state.uploadFile==="dragging"?Ke.uploadDivDragging:void 0,...i?Ke.disabledOpacity:void 0},...e()},k.createElement("input",{...t()}),this.state.uploadFile==="dragging"?k.createElement("div",{style:{...Ke.uploadCenterDiv,...this.state.uploadError?Ke.error:void 0}},k.createElement("div",{style:Ke.uploadCenterTextAndIcon},k.createElement(Z.UploadFile,{style:Ke.uploadCenterIcon}),k.createElement("div",{style:Ke.uploadCenterText},this.state.uploadFile==="dragging"?j.I18n.t("ra_Drop file here"):j.I18n.t("ra_Place your files here or click here to open the browse dialog")))):null,s,this.renderDeleteDialog()))}}const sn={fullWidth:{width:"100%"},fullWidthOneButton:{width:"calc(100% - 69px)",marginRight:4},fullWidthIcon:{width:"calc(100% - 119px)",marginRight:4},selectedImage:{height:40,width:40,display:"inline-block",marginRight:8}},Ys=["jpg","jpeg","svg","png","webp","gif","apng","avif","webp"],Qs=["mp3","ogg","wav","aac"],Xs=["avi","mp4","mov"],Zs=["txt","log","html","htm"],qs=["json","js","ts"];class eo extends K{imagePrefix="../..";componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.imagePrefix=this.props.oContext.imagePrefix===void 0?"./files":this.props.oContext.imagePrefix,this.setState({value:n??""})}static getDerivedStateFromProps(n,i){const u=K.getValue(n.data,n.attr);return u==null||u.toString().trim()!==(i.value||"").toString().trim()?{value:u??""}:null}loadFile(){const n=this.state.value.indexOf("/");if(n!==-1){const i=this.state.value.substring(0,n),u=this.state.value.substring(n+1);return this.props.oContext.socket.readFile(i,u,!0)}return Promise.resolve(null)}play(){this.loadFile().then(n=>{if(typeof AudioContext<"u"&&(n!=null&&n.file)){const i=new AudioContext,u=mn.base64ToArrayBuffer(n.file);i.decodeAudioData(u,v=>{const o=i.createBufferSource();o.buffer=v,o.connect(i.destination),o.start(0)},v=>window.alert(`Cannot play: ${v.message}`))}})}getIcon(){const n=this.state.value.split(".").pop().toLowerCase();return Ys.includes(n)?k.createElement("div",{style:{...sn.selectedImage,backgroundImage:`url(${this.imagePrefix}/${this.state.value})`,backgroundSize:"contain",backgroundRepeat:"no-repeat"}}):Qs.includes(n)?k.createElement(N.IconButton,{style:{color:"#00FF00"},onClick:()=>this.play()},k.createElement(Z.PlayArrow,null)):Zs.includes(n)?k.createElement(Z.Article,null):Xs.includes(n)?k.createElement(Z.Videocam,null):qs.includes(n)?k.createElement(Z.Code,null):null}renderFileBrowser(){return this.state.showFileBrowser?k.createElement(j.DialogSelectFile,{imagePrefix:this.props.oContext.imagePrefix,socket:this.props.oContext.socket,selected:this.state.value,onClose:()=>this.setState({showFileBrowser:!1}),onOk:n=>{const i=Array.isArray(n)?n[0]:n;this.setState({value:i},()=>this.onChange(this.props.attr,this.props.schema.trim===!1?i:(i||"").trim()))},selectOnlyFolders:this.props.schema.selectOnlyFolders,allowUpload:this.props.schema.allowUpload,allowDownload:this.props.schema.allowDownload,allowCreateFolder:this.props.schema.allowCreateFolder,allowView:this.props.schema.allowView,showToolbar:this.props.schema.showToolbar,limitPath:this.props.schema.limitPath,theme:this.props.oContext.theme}):null}renderItem(n,i){const u=this.getIcon();return k.createElement("div",{style:sn.fullWidth},u,k.createElement(N.TextField,{variant:"standard",style:u?sn.fullWidthIcon:sn.fullWidthOneButton,value:this.state.value===null||this.state.value===void 0?"":this.state.value,error:!!n,disabled:!!i,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:!!this.props.schema.disableEdit}},onChange:v=>{const o=v.target.value;this.setState({value:o},()=>this.onChange(this.props.attr,this.props.schema.trim===!1?o:(o||"").trim()))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}),k.createElement(N.Button,{disabled:i,variant:"outlined",onClick:()=>this.setState({showFileBrowser:!0})},"..."),this.renderFileBrowser())}}class to extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.props.oContext.socket.getEnums("functions").then(i=>{const u=Object.keys(i).map(v=>({value:this.props.schema.short?v.replace("enum.functions.",""):v,label:this.getText(i[v].common.name),obj:i[v]}));this.props.schema.allowDeactivate!==!1&&u.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),this.setState({value:n,selectOptions:u})})}renderItem(n,i){if(!this.state.selectOptions)return null;const u=this.state.selectOptions.find(v=>v.value===this.state.value);return k.createElement(N.FormControl,{variant:"standard",fullWidth:!0},this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:this.state.value||"_",renderValue:()=>u?u.obj?k.createElement(j.TextWithIcon,{value:u.obj,themeType:this.props.oContext.themeType,lang:j.I18n.getLanguage()}):u.label:"",onChange:v=>{this.setState({value:v.target.value==="_"?"":v.target.value},()=>this.onChange(this.props.attr,this.state.value))}},this.state.selectOptions.map(v=>k.createElement(N.MenuItem,{key:v.value,value:v.value,style:v.value===K.DIFFERENT_VALUE?{opacity:.5}:{}},v.obj?k.createElement(j.TextWithIcon,{value:v.obj,themeType:this.props.oContext.themeType,lang:j.I18n.getLanguage()}):v.label))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class no extends K{componentDidMount(){super.componentDidMount(),this.props.oContext.socket.getHostByIp(this.props.common.host).then(n=>{this.props.schema.listenOnAllPorts||(n=n.filter(i=>i.address!=="0.0.0.0"&&i.address!=="::")),this.props.schema.onlyIp4?n=n.filter(i=>i.family==="ipv4"):this.props.schema.onlyIp6&&(n=n.filter(i=>i.family==="ipv6")),this.props.schema.noInternal&&(n=n.filter(i=>!i.internal)),n.forEach(i=>{i.address==="0.0.0.0"?i.name=`[IPv4] 0.0.0.0 - ${j.I18n.t("ra_Listen on all IPs")}`:i.address==="::"&&(i.name=`[IPv6] :: - ${j.I18n.t("ra_Listen on all IPs")}`)}),this.setState({ips:n})}).catch(n=>console.error(n))}renderItem(n,i){var o,h;const u=K.getValue(this.props.data,this.props.attr),v=(o=this.state.ips)==null?void 0:o.find(d=>d.address===u);return k.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},this.state.ips&&this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,this.state.ips?k.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:u,renderValue:d=>(v==null?void 0:v.name)||d,onChange:d=>this.onChange(this.props.attr,d.target.value)},(h=this.state.ips)==null?void 0:h.map((d,s)=>k.createElement(N.MenuItem,{key:s,value:d.address},d.name))):k.createElement(N.TextField,{fullWidth:!0,variant:"standard",error:!!n,disabled:!!i,value:u,onChange:d=>this.onChange(this.props.attr,d.target.value),label:this.getText(this.props.schema.label)}),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class io extends K{initialized=!1;localContext;componentDidMount(){super.componentDidMount(),this.askInstance()}askInstance(){if(this.props.alive){let n=this.props.schema.data;if(n===void 0&&this.props.schema.jsonData){const i=this.getPattern(this.props.schema.jsonData,null,!0);if(i)try{n=JSON.parse(i)}catch{console.error(`Cannot parse json data: ${JSON.stringify(n)}`)}}n===void 0&&(n=null),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",n).then(i=>this.setState({image:i||""}))}}getContext(){const n={};return Array.isArray(this.props.schema.alsoDependsOn)&&this.props.schema.alsoDependsOn.forEach(i=>n[i]=K.getValue(this.props.data,i)),JSON.stringify(n)}renderItem(){if(this.props.alive){const n=this.getContext();(n!==this.localContext||!this.initialized)&&(this.localContext=n,setTimeout(()=>this.askInstance(),this.initialized?300:50),this.initialized=!0)}return this.state.image===void 0?null:k.createElement("img",{alt:"dynamic content",src:this.state.image,style:{width:this.props.schema.width||"100%",height:this.props.schema.height}})}}class ro extends K{index;constructor(n){super(n),this.index=Date.now()}componentDidMount(){if(super.componentDidMount(),this.props.schema.base64){const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n})}else this.props.oContext.socket.fileExists(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.attr).then(n=>n&&this.loadImage())}_getUrl(n){n&&(this.index=Date.now());let i=`files/${this.props.oContext.adapterName}.${this.props.oContext.instance}/${this.props.attr}?t=${this.index}`;return window.location.port==="3000"&&(i=`${window.location.protocol}//${window.location.hostname}:8081/${i}`),i}loadImage(){fetch(this._getUrl()).then(n=>n.blob()).then(n=>{const i=new FileReader;i.onload=()=>{this.setState({value:i.result})},i.readAsDataURL(n)}).catch(n=>console.error(n))}renderItem(n,i){return k.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},this.props.schema.label?k.createElement(N.InputLabel,{shrink:!0},this.getText(this.props.schema.label)):null,k.createElement(j.UploadImage,{error:!!n,disabled:i,accept:this.props.schema.accept,crop:this.props.schema.crop,maxSize:this.props.schema.maxSize||256*1024,icon:this.state.value||void 0,removeIconFunc:()=>this.setState({value:null},()=>{if(this.props.schema.base64){const u=this.onChange(this.props.attr,this.state.value);u instanceof Promise&&u.catch(v=>console.error(`Cannot set value: ${v}`))}else this.props.oContext.socket.deleteFile(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.attr).catch(u=>console.error(u))}),onChange:u=>this.setState({value:u},()=>{if(this.props.schema.base64){const v=this.onChange(this.props.attr,this.state.value);v instanceof Promise&&v.catch(o=>console.error(`Cannot set value: ${o}`))}else u.startsWith("data")&&(u=u.split(",")[1]);this.props.oContext.socket.writeFile64(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.attr,u).catch(v=>console.error(v))})}),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const gi={icon:{width:20,height:20,marginRight:4}};class so extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);let i=this.props.schema.adapter;i==="_dataSources"&&(i=void 0),this.props.oContext.socket.getAdapterInstances(i,!0).then(async u=>{this.props.schema.adapter==="_dataSources"?u=u.filter(o=>{var h;return(h=o==null?void 0:o.common)==null?void 0:h.getHistory}):this.props.schema.adapter?u=u.filter(o=>o==null?void 0:o._id.startsWith(`system.adapter.${this.props.schema.adapter}.`)):this.props.schema.adapters&&Array.isArray(this.props.schema.adapters)&&(u=u.filter(o=>{var h;return this.props.schema.adapters.includes((h=o==null?void 0:o.common)==null?void 0:h.name)})),this.props.schema.onlyEnabled&&(u=u.filter(o=>{var h;return(h=o==null?void 0:o.common)==null?void 0:h.enabled}));const v=u.map(o=>({value:this.props.schema.long?o._id:this.props.schema.short?o._id.split(".").pop():o._id.replace(/^system\.adapter\./,""),label:`${o.common.name} [${o._id.replace(/^system\.adapter\./,"")}]`,icon:`adapter/${o.common.name}/${o.common.icon}`}));v.sort((o,h)=>o.value>h.value?1:o.valueconsole.error(`Cannot get instances: ${u}`))}componentWillUnmount(){this.props.oContext.socket.unsubscribeObject("system.adapter.*",this.onInstancesUpdate).then(()=>{}),super.componentWillUnmount()}onInstancesUpdate=(n,i)=>{if(!n.match(/^system\.adapter\.[-_a-z\d]+\.\d+$/))return;const u=this.props.schema.long?n:this.props.schema.short?n.split(".").pop():n.replace(/^system\.adapter\./,""),v=this.state.selectOptions.findIndex(o=>o.value===u);if(i){if(this.props.schema.adapter==="_dataSources"&&(!i.common||!i.common.getHistory))return;if(v===-1){const o=JSON.parse(JSON.stringify(this.state.selectOptions)),h=typeof i.common.name=="object"?i.common.name[j.I18n.getLanguage()]||i.common.name.en:i.common.name;o.push({value:this.props.schema.long?i._id:this.props.schema.short?i._id.split(".").pop():i._id.replace(/^system\.adapter\./,""),label:`${h} [${i._id.replace(/^system\.adapter\./,"")}]`,icon:`adapter/${h}/${i.common.icon}`}),o.sort((d,s)=>d.label>s.label?1:d.labelo.value===this.state.value);return k.createElement(N.FormControl,{fullWidth:!0,key:this.props.attr,variant:"standard"},this.props.schema.label?k.createElement(N.InputLabel,{shrink:!0},this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,displayEmpty:!0,disabled:!!i,value:this.state.value,renderValue:()=>k.createElement("span",{style:{display:"flex"}},u!=null&&u.icon?k.createElement("img",{src:`./${u.icon}`,alt:u.value,style:gi.icon}):null,this.getText(u==null?void 0:u.label,!0)),onChange:o=>this.setState({value:o.target.value},()=>this.onChange(this.props.attr,this.state.value))},this.state.selectOptions.map(o=>k.createElement(N.MenuItem,{key:o.value,value:o.value,style:o.value===K.NONE_VALUE?{opacity:.5}:{}},o.icon?k.createElement("img",{src:`./${o.icon}`,alt:o.value,style:gi.icon}):null,this.getText(o.label,!0)))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const mi={address:{fontSize:"smaller",opacity:.5,marginLeft:8}};class oo extends K{componentDidMount(){super.componentDidMount(),this.props.oContext.socket.getObject(`system.host.${this.props.common.host}`).then(n=>{var u,v;const i=[];if((v=(u=n==null?void 0:n.native)==null?void 0:u.hardware)!=null&&v.networkInterfaces){const o=n.native.hardware.networkInterfaces;Object.keys(o).forEach(h=>{if(this.props.schema.ignoreInternal&&!o[h].find(s=>!s.internal)||this.props.schema.ignoreLoopback&&o[h].find(s=>s.address==="127.0.0.1"||s.address==="::1"))return;let d=o[h].find(s=>s.family==="IPv4");d=d||o[h].find(s=>s.family==="IPv6"),i.push({value:h,address:d.address})})}this.setState({interfaces:i})}).catch(n=>window.alert(`Cannot read interfaces: ${n}`))}renderItem(n,i){var o,h,d;const u=K.getValue(this.props.data,this.props.attr),v=(o=this.state.interfaces)==null?void 0:o.find(s=>s.value===u);return k.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},(h=this.state.interfaces)!=null&&h.length&&this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,(d=this.state.interfaces)!=null&&d.length?k.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:u,renderValue:s=>v?k.createElement("span",null,v.value,k.createElement("span",{style:mi.address},v.address)):s,onChange:s=>this.onChange(this.props.attr,s.target.value)},this.state.interfaces.map((s,p)=>k.createElement(N.MenuItem,{key:p,value:s.value},k.createElement("span",null,s.value,k.createElement("span",{style:mi.address},s.address))))):k.createElement(N.TextField,{fullWidth:!0,variant:"standard",error:!!n,disabled:!!i,value:u,onChange:s=>this.onChange(this.props.attr,s.target.value),label:this.getText(this.props.schema.label)}),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const kt={modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:8,top:8},languageButtonActive:{color:"primary.main"}},ao=({toggleTranslation:L,noTranslation:n,title:i,fullWidth:u,help:v,maxWidth:o,progress:h,icon:d,applyDisabled:s,applyButton:p,onClose:e,children:t,titleButtonApply:r,titleButtonClose:l,onApply:a,textInput:c,defaultValue:f,overflowHidden:m})=>{const[y,D]=pt.useState(f);pt.useEffect(()=>{D(f)},[f]);let E=null;return d&&(E=d),k.createElement(N.Dialog,{open:!0,maxWidth:o||"md",fullWidth:!!u,disableEscapeKeyDown:!1,onClose:e,sx:{"& .MuiPaper-root":kt.modalDialog}},i&&k.createElement(N.DialogTitle,null,d?k.createElement(E,{style:kt.titleIcon}):null,i,j.I18n.getLanguage()!=="en"&&L?k.createElement(N.IconButton,{size:"large",style:{...kt.languageButton,...n?kt.languageButtonActive:{}},onClick:()=>L(),title:j.I18n.t("Disable/Enable translation")},k.createElement(Z.Language,null)):null),k.createElement(N.DialogContent,{sx:{...m?kt.overflowHidden:{},...kt.content},style:{paddingTop:8}},c&&k.createElement(N.TextField,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:y,onChange:b=>D(b.target.value)}),t,v?k.createElement("div",null,v):null),k.createElement(N.DialogActions,null,p!==!1&&k.createElement(N.Button,{startIcon:k.createElement(Z.Check,null),disabled:h||s&&f===y,onClick:()=>a&&a(c?y:""),variant:"contained",color:"primary"},j.I18n.t(r||"Ok")),k.createElement(N.Button,{color:"grey",onClick:()=>e&&e(),disabled:h,variant:"contained",startIcon:k.createElement(Z.Close,null)},j.I18n.t(l||"Cancel"))))};var It={},Dt={},Vi={exports:{}};(function(L,n){(function(){var i="ace",u=function(){return this}();!u&&typeof window<"u"&&(u=window);var v=function(e,t,r){if(typeof e!="string"){v.original?v.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=t),v.modules[e]||(v.payloads[e]=r,v.modules[e]=null)};v.modules={},v.payloads={};var o=function(e,t,r){if(typeof t=="string"){var l=s(e,t);if(l!=null)return r&&r(),l}else if(Object.prototype.toString.call(t)==="[object Array]"){for(var a=[],c=0,f=t.length;cs.length)&&(d=s.length),d-=h.length;var p=s.indexOf(h,d);return p!==-1&&p===d}),String.prototype.repeat||o(String.prototype,"repeat",function(h){for(var d="",s=this;h>0;)h&1&&(d+=s),(h>>=1)&&(s+=s);return d}),String.prototype.includes||o(String.prototype,"includes",function(h,d){return this.indexOf(h,d)!=-1}),Object.assign||(Object.assign=function(h){if(h==null)throw new TypeError("Cannot convert undefined or null to object");for(var d=Object(h),s=1;s>>0,p=arguments[1],e=p>>0,t=e<0?Math.max(s+e,0):Math.min(e,s),r=arguments[2],l=r===void 0?s:r>>0,a=l<0?Math.max(s+l,0):Math.min(l,s);t0;)s&1&&(p+=d),(s>>=1)&&(d+=d);return p};var o=/^\s\s*/,h=/\s\s*$/;u.stringTrimLeft=function(d){return d.replace(o,"")},u.stringTrimRight=function(d){return d.replace(h,"")},u.copyObject=function(d){var s={};for(var p in d)s[p]=d[p];return s},u.copyArray=function(d){for(var s=[],p=0,e=d.length;p65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(i,u,v){u.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},u.getOS=function(){return u.isMac?u.OS.MAC:u.isLinux?u.OS.LINUX:u.OS.WINDOWS};var o=typeof navigator=="object"?navigator:{},h=(/mac|win|linux/i.exec(o.platform)||["other"])[0].toLowerCase(),d=o.userAgent||"",s=o.appName||"";u.isWin=h=="win",u.isMac=h=="mac",u.isLinux=h=="linux",u.isIE=s=="Microsoft Internet Explorer"||s.indexOf("MSAppHost")>=0?parseFloat((d.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((d.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),u.isOldIE=u.isIE&&u.isIE<9,u.isGecko=u.isMozilla=d.match(/ Gecko\/\d+/),u.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",u.isWebKit=parseFloat(d.split("WebKit/")[1])||void 0,u.isChrome=parseFloat(d.split(" Chrome/")[1])||void 0,u.isSafari=parseFloat(d.split(" Safari/")[1])&&!u.isChrome||void 0,u.isEdge=parseFloat(d.split(" Edge/")[1])||void 0,u.isAIR=d.indexOf("AdobeAIR")>=0,u.isAndroid=d.indexOf("Android")>=0,u.isChromeOS=d.indexOf(" CrOS ")>=0,u.isIOS=/iPad|iPhone|iPod/.test(d)&&!window.MSStream,u.isIOS&&(u.isMac=!0),u.isMobile=u.isIOS||u.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(i,u,v){var o=i("./useragent"),h="http://www.w3.org/1999/xhtml";u.buildDom=function r(l,a,c){if(typeof l=="string"&&l){var f=document.createTextNode(l);return a&&a.appendChild(f),f}if(!Array.isArray(l))return l&&l.appendChild&&a&&a.appendChild(l),l;if(typeof l[0]!="string"||!l[0]){for(var m=[],y=0;y"u")){if(s){if(a)p();else if(a===!1)return s.push([r,l])}if(!d){var c=a;!a||!a.getRootNode?c=document:(c=a.getRootNode(),(!c||c==a)&&(c=document));var f=c.ownerDocument||c;if(l&&u.hasCssString(l,c))return null;l&&(r+=` -/*# sourceURL=ace/css/`+l+" */");var m=u.createElement("style");m.appendChild(f.createTextNode(r)),l&&(m.id=l),c==f&&(c=u.getDocumentHead(f)),c.insertBefore(m,c.firstChild)}}}if(u.importCssString=e,u.importCssStylsheet=function(r,l){u.buildDom(["link",{rel:"stylesheet",href:r}],u.getDocumentHead(l))},u.scrollbarWidth=function(r){var l=u.createElement("ace_inner");l.style.width="100%",l.style.minWidth="0px",l.style.height="200px",l.style.display="block";var a=u.createElement("ace_outer"),c=a.style;c.position="absolute",c.left="-10000px",c.overflow="hidden",c.width="200px",c.minWidth="0px",c.height="150px",c.display="block",a.appendChild(l);var f=r&&r.documentElement||document&&document.documentElement;if(!f)return 0;f.appendChild(a);var m=l.offsetWidth;c.overflow="scroll";var y=l.offsetWidth;return m===y&&(y=a.clientWidth),f.removeChild(a),m-y},u.computedStyle=function(r,l){return window.getComputedStyle(r,"")||{}},u.setStyle=function(r,l,a){r[l]!==a&&(r[l]=a)},u.HAS_CSS_ANIMATION=!1,u.HAS_CSS_TRANSFORMS=!1,u.HI_DPI=o.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,o.isChromeOS&&(u.HI_DPI=!1),typeof document<"u"){var t=document.createElement("div");u.HI_DPI&&t.style.transform!==void 0&&(u.HAS_CSS_TRANSFORMS=!0),!o.isEdge&&typeof t.style.animationName<"u"&&(u.HAS_CSS_ANIMATION=!0),t=null}u.HAS_CSS_TRANSFORMS?u.translate=function(r,l,a){r.style.transform="translate("+Math.round(l)+"px, "+Math.round(a)+"px)"}:u.translate=function(r,l,a){r.style.top=Math.round(a)+"px",r.style.left=Math.round(l)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(i,u,v){/* -* based on code from: -* -* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved. -* Available via the MIT or new BSD license. -* see: http://github.com/jrburke/requirejs for details -*/var o=i("./dom");u.get=function(h,d){var s=new XMLHttpRequest;s.open("GET",h,!0),s.onreadystatechange=function(){s.readyState===4&&d(s.responseText)},s.send(null)},u.loadScript=function(h,d){var s=o.getDocumentHead(),p=document.createElement("script");p.src=h,s.appendChild(p),p.onload=p.onreadystatechange=function(e,t){(t||!p.readyState||p.readyState=="loaded"||p.readyState=="complete")&&(p=p.onload=p.onreadystatechange=null,t||d())}},u.qualifyURL=function(h){var d=document.createElement("a");return d.href=h,d.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(i,u,v){u.inherits=function(o,h){o.super_=h,o.prototype=Object.create(h.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}})},u.mixin=function(o,h){for(var d in h)o[d]=h[d];return o},u.implement=function(o,h){u.mixin(o,h)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(i,u,v){var o={},h=function(){this.propagationStopped=!0},d=function(){this.defaultPrevented=!0};o._emit=o._dispatchEvent=function(s,p){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var e=this._eventRegistry[s]||[],t=this._defaultHandlers[s];if(!(!e.length&&!t)){(typeof p!="object"||!p)&&(p={}),p.type||(p.type=s),p.stopPropagation||(p.stopPropagation=h),p.preventDefault||(p.preventDefault=d),e=e.slice();for(var r=0;r1&&(m=c[c.length-2]);var D=p[a+"Path"];return D==null?D=p.basePath:f=="/"&&(a=f=""),D&&D.slice(-1)!="/"&&(D+="/"),D+a+f+m+this.get("suffix")},u.setModuleUrl=function(l,a){return p.$moduleUrls[l]=a};var e=function(l,a){if(l==="ace/theme/textmate"||l==="./theme/textmate")return a(null,i("./theme/textmate"));if(t)return t(l,a);console.error("loader is not configured")},t;u.setLoader=function(l){t=l},u.dynamicModules=Object.create(null),u.$loading={},u.$loaded={},u.loadModule=function(l,a){var c;if(Array.isArray(l))var f=l[0],m=l[1];else if(typeof l=="string")var m=l;var y=function(D){if(D&&!u.$loading[m])return a&&a(D);if(u.$loading[m]||(u.$loading[m]=[]),u.$loading[m].push(a),!(u.$loading[m].length>1)){var E=function(){e(m,function(b,g){g&&(u.$loaded[m]=g),u._emit("load.module",{name:m,module:g});var S=u.$loading[m];u.$loading[m]=null,S.forEach(function(M){M&&M(g)})})};if(!u.get("packaged"))return E();h.loadScript(u.moduleUrl(m,f),E),r()}};if(u.dynamicModules[m])u.dynamicModules[m]().then(function(D){D.default?y(D.default):y(D)});else{try{c=this.$require(m)}catch{}y(c||u.$loaded[m])}},u.$require=function(l){if(typeof v.require=="function"){var a="require";return v[a](l)}},u.setModuleLoader=function(l,a){u.dynamicModules[l]=a};var r=function(){!p.basePath&&!p.workerPath&&!p.modePath&&!p.themePath&&!Object.keys(p.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),r=function(){})};u.version="1.42.0"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(i,u,v){i("./lib/fixoldbrowsers");var o=i("./config");o.setLoader(function(p,e){i([p],function(t){e(null,t)})});var h=function(){return this||typeof window<"u"&&window}();v.exports=function(p){o.init=d,o.$require=i,p.require=i},d(!0);function d(p){if(!(!h||!h.document)){o.set("packaged",p||i.packaged||v.packaged||h.define&&(void 0).packaged);var e={},t="",r=document.currentScript||document._currentScript,l=r&&r.ownerDocument||document;r&&r.src&&(t=r.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var a=l.getElementsByTagName("script"),c=0;c ["+this.end.row+"/"+this.end.column+"]"},h.prototype.contains=function(d,s){return this.compare(d,s)==0},h.prototype.compareRange=function(d){var s,p=d.end,e=d.start;return s=this.compare(p.row,p.column),s==1?(s=this.compare(e.row,e.column),s==1?2:s==0?1:0):s==-1?-2:(s=this.compare(e.row,e.column),s==-1?-1:s==1?42:0)},h.prototype.comparePoint=function(d){return this.compare(d.row,d.column)},h.prototype.containsRange=function(d){return this.comparePoint(d.start)==0&&this.comparePoint(d.end)==0},h.prototype.intersects=function(d){var s=this.compareRange(d);return s==-1||s==0||s==1},h.prototype.isEnd=function(d,s){return this.end.row==d&&this.end.column==s},h.prototype.isStart=function(d,s){return this.start.row==d&&this.start.column==s},h.prototype.setStart=function(d,s){typeof d=="object"?(this.start.column=d.column,this.start.row=d.row):(this.start.row=d,this.start.column=s)},h.prototype.setEnd=function(d,s){typeof d=="object"?(this.end.column=d.column,this.end.row=d.row):(this.end.row=d,this.end.column=s)},h.prototype.inside=function(d,s){return this.compare(d,s)==0?!(this.isEnd(d,s)||this.isStart(d,s)):!1},h.prototype.insideStart=function(d,s){return this.compare(d,s)==0?!this.isEnd(d,s):!1},h.prototype.insideEnd=function(d,s){return this.compare(d,s)==0?!this.isStart(d,s):!1},h.prototype.compare=function(d,s){return!this.isMultiLine()&&d===this.start.row?sthis.end.column?1:0:dthis.end.row?1:this.start.row===d?s>=this.start.column?0:-1:this.end.row===d?s<=this.end.column?0:1:0},h.prototype.compareStart=function(d,s){return this.start.row==d&&this.start.column==s?-1:this.compare(d,s)},h.prototype.compareEnd=function(d,s){return this.end.row==d&&this.end.column==s?1:this.compare(d,s)},h.prototype.compareInside=function(d,s){return this.end.row==d&&this.end.column==s?1:this.start.row==d&&this.start.column==s?-1:this.compare(d,s)},h.prototype.clipRows=function(d,s){if(this.end.row>s)var p={row:s+1,column:0};else if(this.end.rows)var e={row:s+1,column:0};else if(this.start.row1?(M++,M>4&&(M=1)):M=1,h.isIE){var w=Math.abs(C.clientX-_)>5||Math.abs(C.clientY-T)>5;(!F||w)&&(M=1),F&&clearTimeout(F),F=setTimeout(function(){F=null},E[M-1]||600),M==1&&(_=C.clientX,T=C.clientY)}if(C._clicks=M,b[g]("mousedown",C),M>4)M=0;else if(M>1)return b[g](A[M],C)}Array.isArray(D)||(D=[D]),D.forEach(function(C){l(C,"mousedown",$,S)})};function c(D){return 0|(D.ctrlKey?1:0)|(D.altKey?2:0)|(D.shiftKey?4:0)|(D.metaKey?8:0)}u.getModifierString=function(D){return o.KEY_MODS[c(D)]};function f(D,E,b){var g=c(E);if(!b&&E.code&&(b=o.$codeToKeyCode[E.code]||b),!h.isMac&&d){if(E.getModifierState&&(E.getModifierState("OS")||E.getModifierState("Win"))&&(g|=8),d.altGr)if((3&g)!=3)d.altGr=0;else return;if(b===18||b===17){var S=E.location;if(b===17&&S===1)d[b]==1&&(s=E.timeStamp);else if(b===18&&g===3&&S===2){var M=E.timeStamp-s;M<50&&(d.altGr=!0)}}}if(b in o.MODIFIER_KEYS&&(b=-1),!(!g&&b===13&&E.location===3&&(D(E,g,-b),E.defaultPrevented))){if(h.isChromeOS&&g&8){if(D(E,g,b),E.defaultPrevented)return;g&=-9}return!g&&!(b in o.FUNCTION_KEYS)&&!(b in o.PRINTABLE_KEYS)?!1:D(E,g,b)}}u.addCommandKeyListener=function(D,E,b){var g=null;l(D,"keydown",function(S){d[S.keyCode]=(d[S.keyCode]||0)+1;var M=f(E,S,S.keyCode);return g=S.defaultPrevented,M},b),l(D,"keypress",function(S){g&&(S.ctrlKey||S.altKey||S.shiftKey||S.metaKey)&&(u.stopEvent(S),g=null)},b),l(D,"keyup",function(S){d[S.keyCode]=null},b),d||(m(),l(window,"focus",m))};function m(){d=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!h.isOldIE){var y=1;u.nextTick=function(D,E){E=E||window;var b="zero-timeout-message-"+y++,g=function(S){S.data==b&&(u.stopPropagation(S),a(E,"message",g),D())};l(E,"message",g),E.postMessage(b,"*")}}u.$idleBlocked=!1,u.onIdle=function(D,E){return setTimeout(function b(){u.$idleBlocked?setTimeout(b,100):D()},E)},u.$idleBlockId=null,u.blockIdle=function(D){u.$idleBlockId&&clearTimeout(u.$idleBlockId),u.$idleBlocked=!0,u.$idleBlockId=setTimeout(function(){u.$idleBlocked=!1},D||100)},u.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),u.nextFrame?u.nextFrame=u.nextFrame.bind(window):u.nextFrame=function(D){setTimeout(D,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(i,u,v){var o;v.exports={lineMode:!1,pasteCancelled:function(){return o&&o>Date.now()-50?!0:o=!1},cancel:function(){o=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(i,u,v){var o=i("../lib/event"),h=i("../config").nls,d=i("../lib/useragent"),s=i("../lib/dom"),p=i("../lib/lang"),e=i("../clipboard"),t=d.isChrome<18,r=d.isIE,l=d.isChrome>63,a=400,c=i("../lib/keys"),f=c.KEY_MODS,m=d.isIOS,y=m?/\s/:/\n/,D=d.isMobile,E;E=function(b,g){var S=s.createElement("textarea");S.className="ace_text-input",S.setAttribute("wrap","off"),S.setAttribute("autocorrect","off"),S.setAttribute("autocapitalize","off"),S.setAttribute("spellcheck","false"),S.style.opacity="0",b.insertBefore(S,b.firstChild),this.setHost=function(X){g=X};var M=!1,_=!1,T=!1,F=!1,A="";D||(S.style.fontSize="1px");var $=!1,C=!1,w="",x=0,I=0,R=0,O=Number.MAX_SAFE_INTEGER,P=Number.MIN_SAFE_INTEGER,B=0;try{var V=document.activeElement===S}catch{}this.setNumberOfExtraLines=function(X){if(O=Number.MAX_SAFE_INTEGER,P=Number.MIN_SAFE_INTEGER,X<0){B=0;return}B=X},this.setAriaLabel=function(){var X="";if(g.$textInputAriaLabel&&(X+="".concat(g.$textInputAriaLabel,", ")),g.session){var re=g.session.selection.cursor.row;X+=h("text-input.aria-label","Cursor at row $0",[re+1])}S.setAttribute("aria-label",X)},this.setAriaOptions=function(X){X.activeDescendant?(S.setAttribute("aria-haspopup","true"),S.setAttribute("aria-autocomplete",X.inline?"both":"list"),S.setAttribute("aria-activedescendant",X.activeDescendant)):(S.setAttribute("aria-haspopup","false"),S.setAttribute("aria-autocomplete","both"),S.removeAttribute("aria-activedescendant")),X.role&&S.setAttribute("role",X.role),X.setLabel&&(S.setAttribute("aria-roledescription",h("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),o.addListener(S,"blur",function(X){C||(g.onBlur(X),V=!1)},g),o.addListener(S,"focus",function(X){if(!C){if(V=!0,d.isEdge)try{if(!document.hasFocus())return}catch{}g.onFocus(X),d.isEdge?setTimeout(H):H()}},g),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:g.renderer.enableKeyboardAccessibility}),A||l||this.$focusScroll=="browser")return S.focus({preventScroll:!0});var X=S.style.top;S.style.position="fixed",S.style.top="0px";try{var re=S.getBoundingClientRect().top!=0}catch{return}var ae=[];if(re)for(var de=S.parentElement;de&&de.nodeType==1;)ae.push(de),de.setAttribute("ace_nocontext","true"),!de.parentElement&&de.getRootNode?de=de.getRootNode().host:de=de.parentElement;S.focus({preventScroll:!0}),re&&ae.forEach(function(ce){ce.removeAttribute("ace_nocontext")}),setTimeout(function(){S.style.position="",S.style.top=="0px"&&(S.style.top=X)},0)},this.blur=function(){S.blur()},this.isFocused=function(){return V},g.on("beforeEndOperation",function(){var X=g.curOp,re=X&&X.command&&X.command.name;if(re!="insertstring"){var ae=re&&(X.docChanged||X.selectionChanged);T&&ae&&(w=S.value="",Ze()),H()}}),g.on("changeSelection",this.setAriaLabel);var W=function(X,re){for(var ae=re,de=1;de<=X-O&&de<2*B+1;de++)ae+=g.session.getLine(X-de).length+1;return ae},H=m?function(X){if(!(!V||M&&!X||F)){X||(X="");var re=` - ab`+X+`cde fg -`;re!=S.value&&(S.value=w=re);var ae=4,de=4+(X.length||(g.selection.isEmpty()?0:1));(x!=ae||I!=de)&&S.setSelectionRange(ae,de),x=ae,I=de}}:function(){if(!(T||F)&&!(!V&&!Q)){T=!0;var X=0,re=0,ae="";if(g.session){var de=g.selection,ce=de.getRange(),Ee=de.cursor.row;Ee===P+1?(O=P+1,P=O+2*B):Ee===O-1?(P=O-1,O=P-2*B):(EeP+1)&&(O=Ee>B?Ee-B:0,P=Ee>B?Ee+B:2*B);for(var $e=[],xe=O;xe<=P;xe++)$e.push(g.session.getLine(xe));if(ae=$e.join(` -`),X=W(ce.start.row,ce.start.column),re=W(ce.end.row,ce.end.column),ce.start.rowP){var ve=g.session.getLine(P+1);re=ce.end.row>P+1?ve.length:ce.end.column,re+=ae.length+1,ae=ae+` -`+ve}else D&&Ee>0&&(ae=` -`+ae,re+=1,X+=1);ae.length>a&&(X=w.length&&X.value===w&&w&&X.selectionEnd!==I},G=function(X){T||(M?M=!1:U(S)?(g.selectAll(),H()):D&&S.selectionStart!=x&&H())},Y=null;this.setInputHandler=function(X){Y=X},this.getInputHandler=function(){return Y};var Q=!1,ee=function(X,re){if(Q&&(Q=!1),_)return H(),X&&g.onPaste(X),_=!1,"";for(var ae=S.selectionStart,de=S.selectionEnd,ce=x,Ee=w.length-I,$e=X,xe=X.length-ae,we=X.length-de,ve=0;ce>0&&w[ve]==X[ve];)ve++,ce--;for($e=$e.slice(ve),ve=1;Ee>0&&w.length-ve>x-1&&w[w.length-ve]==X[X.length-ve];)ve++,Ee--;xe-=ve-1,we-=ve-1;var Fe=$e.length-ve+1;if(Fe<0&&(ce=-Fe,Fe=0),$e=$e.slice(0,Fe),!re&&!$e&&!xe&&!ce&&!Ee&&!we)return"";F=!0;var st=!1;return d.isAndroid&&$e==". "&&($e=" ",st=!0),$e&&!ce&&!Ee&&!xe&&!we||$?g.onTextInput($e):g.onTextInput($e,{extendLeft:ce,extendRight:Ee,restoreStart:xe,restoreEnd:we}),F=!1,w=X,x=ae,I=de,R=we,st?` -`:$e},ne=function(X){if(T)return Xe();if(X&&X.inputType){if(X.inputType=="historyUndo")return g.execCommand("undo");if(X.inputType=="historyRedo")return g.execCommand("redo")}var re=S.value,ae=ee(re,!0);(re.length>a+100||y.test(ae)||D&&x<1&&x==I)&&H()},se=function(X,re,ae){var de=X.clipboardData||window.clipboardData;if(!(!de||t)){var ce=r||ae?"Text":"text/plain";try{return re?de.setData(ce,re)!==!1:de.getData(ce)}catch(Ee){if(!ae)return se(Ee,re,!0)}}},ge=function(X,re){var ae=g.getCopyText();if(!ae)return o.preventDefault(X);se(X,ae)?(m&&(H(ae),M=ae,setTimeout(function(){M=!1},10)),re?g.onCut():g.onCopy(),o.preventDefault(X)):(M=!0,S.value=ae,S.select(),setTimeout(function(){M=!1,H(),re?g.onCut():g.onCopy()}))},be=function(X){ge(X,!0)},ke=function(X){ge(X,!1)},Ce=function(X){var re=se(X);e.pasteCancelled()||(typeof re=="string"?(re&&g.onPaste(re,X),d.isIE&&setTimeout(H),o.preventDefault(X)):(S.value="",_=!0))};o.addCommandKeyListener(S,function(X,re,ae){if(!T)return g.onCommandKey(X,re,ae)},g),o.addListener(S,"select",G,g),o.addListener(S,"input",ne,g),o.addListener(S,"cut",be,g),o.addListener(S,"copy",ke,g),o.addListener(S,"paste",Ce,g),(!("oncut"in S)||!("oncopy"in S)||!("onpaste"in S))&&o.addListener(b,"keydown",function(X){if(!(d.isMac&&!X.metaKey||!X.ctrlKey))switch(X.keyCode){case 67:ke(X);break;case 86:Ce(X);break;case 88:be(X);break}},g);var Ne=function(X){if(!(T||!g.onCompositionStart||g.$readOnly)&&(T={},!$)){X.data&&(T.useTextareaForIME=!1),setTimeout(Xe,0),g._signal("compositionStart"),g.on("mousedown",Rt);var re=g.getSelectionRange();re.end.row=re.start.row,re.end.column=re.start.column,T.markerRange=re,T.selectionStart=x,g.onCompositionStart(T),T.useTextareaForIME?(w=S.value="",x=0,I=0):(S.msGetInputContext&&(T.context=S.msGetInputContext()),S.getInputContext&&(T.context=S.getInputContext()))}},Xe=function(){if(!(!T||!g.onCompositionUpdate||g.$readOnly)){if($)return Rt();if(T.useTextareaForIME)g.onCompositionUpdate(S.value);else{var X=S.value;ee(X),T.markerRange&&(T.context&&(T.markerRange.start.column=T.selectionStart=T.context.compositionStartOffset),T.markerRange.end.column=T.markerRange.start.column+I-T.selectionStart+R)}}},Ze=function(X){!g.onCompositionEnd||g.$readOnly||(T=!1,g.onCompositionEnd(),g.off("mousedown",Rt),X&&ne())};function Rt(){C=!0,S.blur(),S.focus(),C=!1}var Jt=p.delayedCall(Xe,50).schedule.bind(null,null);function bn(X){X.keyCode==27&&S.value.lengthI&&w[we]==` -`?ve=c.end:xeI&&w.slice(0,we).split(` -`).length>2?ve=c.down:we>I&&w[we-1]==" "?(ve=c.right,Fe=f.option):(we>I||we==I&&I!=x&&xe==we)&&(ve=c.right),xe!==we&&(Fe|=f.shift),ve){var st=re.onCommandKey({},Fe,ve);if(!st&&re.commands){ve=c.keyCodeToString(ve);var Yt=re.commands.findKeyCommand(Fe,ve);Yt&&re.execCommand(Yt)}x=xe,I=we,H("")}}};document.addEventListener("selectionchange",Ee),re.on("destroy",function(){document.removeEventListener("selectionchange",Ee)})}this.destroy=function(){S.parentElement&&S.parentElement.removeChild(S)}},u.TextInput=E,u.$setUserAgentForTests=function(b,g){D=b,m=g}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(i,u,v){var o=i("../lib/useragent"),h=0,d=550,s=function(){function t(r){r.$clickSelection=null;var l=r.editor;l.setDefaultHandler("mousedown",this.onMouseDown.bind(r)),l.setDefaultHandler("dblclick",this.onDoubleClick.bind(r)),l.setDefaultHandler("tripleclick",this.onTripleClick.bind(r)),l.setDefaultHandler("quadclick",this.onQuadClick.bind(r)),l.setDefaultHandler("mousewheel",this.onMouseWheel.bind(r));var a=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];a.forEach(function(c){r[c]=this[c]},this),r.selectByLines=this.extendSelectionBy.bind(r,"getLineRange"),r.selectByWords=this.extendSelectionBy.bind(r,"getWordRange")}return t.prototype.onMouseDown=function(r){var l=r.inSelection(),a=r.getDocumentPosition();this.mousedownEvent=r;var c=this.editor,f=r.getButton();if(f!==0){var m=c.getSelectionRange(),y=m.isEmpty();(y||f==1)&&c.selection.moveToPosition(a),f==2&&(c.textInput.onContextMenu(r.domEvent),o.isMozilla||r.preventDefault());return}if(this.mousedownEvent.time=Date.now(),l&&!c.isFocused()&&(c.focus(),this.$focusTimeout&&!this.$clickSelection&&!c.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(r);return}return this.captureMouse(r),this.startSelect(a,r.domEvent._clicks>1),r.preventDefault()},t.prototype.startSelect=function(r,l){r=r||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var a=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?a.selection.selectToPosition(r):l||a.selection.moveToPosition(r),l||this.select(),a.setStyle("ace_selecting"),this.setState("select"))},t.prototype.select=function(){var r,l=this.editor,a=l.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var c=this.$clickSelection.comparePoint(a);if(c==-1)r=this.$clickSelection.end;else if(c==1)r=this.$clickSelection.start;else{var f=e(this.$clickSelection,a);a=f.cursor,r=f.anchor}l.selection.setSelectionAnchor(r.row,r.column)}l.selection.selectToPosition(a),l.renderer.scrollCursorIntoView()},t.prototype.extendSelectionBy=function(r){var l,a=this.editor,c=a.renderer.screenToTextCoordinates(this.x,this.y),f=a.selection[r](c.row,c.column);if(this.$clickSelection){var m=this.$clickSelection.comparePoint(f.start),y=this.$clickSelection.comparePoint(f.end);if(m==-1&&y<=0)l=this.$clickSelection.end,(f.end.row!=c.row||f.end.column!=c.column)&&(c=f.start);else if(y==1&&m>=0)l=this.$clickSelection.start,(f.start.row!=c.row||f.start.column!=c.column)&&(c=f.end);else if(m==-1&&y==1)c=f.end,l=f.start;else{var D=e(this.$clickSelection,c);c=D.cursor,l=D.anchor}a.selection.setSelectionAnchor(l.row,l.column)}a.selection.selectToPosition(c),a.renderer.scrollCursorIntoView()},t.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},t.prototype.focusWait=function(){var r=p(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),l=Date.now();(r>h||l-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},t.prototype.onDoubleClick=function(r){var l=r.getDocumentPosition(),a=this.editor,c=a.session,f=c.getBracketRange(l);f?(f.isEmpty()&&(f.start.column--,f.end.column++),this.setState("select")):(f=a.selection.getWordRange(l.row,l.column),this.setState("selectByWords")),this.$clickSelection=f,this.select()},t.prototype.onTripleClick=function(r){var l=r.getDocumentPosition(),a=this.editor;this.setState("selectByLines");var c=a.getSelectionRange();c.isMultiLine()&&c.contains(l.row,l.column)?(this.$clickSelection=a.selection.getLineRange(c.start.row),this.$clickSelection.end=a.selection.getLineRange(c.end.row).end):this.$clickSelection=a.selection.getLineRange(l.row),this.select()},t.prototype.onQuadClick=function(r){var l=this.editor;l.selectAll(),this.$clickSelection=l.getSelectionRange(),this.setState("selectAll")},t.prototype.onMouseWheel=function(r){if(!r.getAccelKey()){r.getShiftKey()&&r.wheelY&&!r.wheelX&&(r.wheelX=r.wheelY,r.wheelY=0);var l=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var a=this.$lastScroll,c=r.domEvent.timeStamp,f=c-a.t,m=f?r.wheelX/f:a.vx,y=f?r.wheelY/f:a.vy;f=1&&l.renderer.isScrollableBy(r.wheelX*r.speed,0)&&(E=!0),D<=1&&l.renderer.isScrollableBy(0,r.wheelY*r.speed)&&(E=!0),E)a.allowed=c;else if(c-a.allowedd.clientHeight;s||h.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(i,u,v){var o=this&&this.__extends||function(){var c=function(f,m){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,D){y.__proto__=D}||function(y,D){for(var E in D)Object.prototype.hasOwnProperty.call(D,E)&&(y[E]=D[E])},c(f,m)};return function(f,m){if(typeof m!="function"&&m!==null)throw new TypeError("Class extends value "+String(m)+" is not a constructor or null");c(f,m);function y(){this.constructor=f}f.prototype=m===null?Object.create(m):(y.prototype=m.prototype,new y)}}(),h=this&&this.__values||function(c){var f=typeof Symbol=="function"&&Symbol.iterator,m=f&&c[f],y=0;if(m)return m.call(c);if(c&&typeof c.length=="number")return{next:function(){return c&&y>=c.length&&(c=void 0),{value:c&&c[y++],done:!c}}};throw new TypeError(f?"Object is not iterable.":"Symbol.iterator is not defined.")},d=i("./lib/dom");i("./lib/event");var s=i("./range").Range,p=i("./lib/scroll").preventParentScroll,e="ace_tooltip",t=function(){function c(f){this.isOpen=!1,this.$element=null,this.$parentNode=f}return c.prototype.$init=function(){return this.$element=d.createElement("div"),this.$element.className=e,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},c.prototype.getElement=function(){return this.$element||this.$init()},c.prototype.setText=function(f){this.getElement().textContent=f},c.prototype.setHtml=function(f){this.getElement().innerHTML=f},c.prototype.setPosition=function(f,m){this.getElement().style.left=f+"px",this.getElement().style.top=m+"px"},c.prototype.setClassName=function(f){d.addCssClass(this.getElement(),f)},c.prototype.setTheme=function(f){this.$element.className=e+" "+(f.isDark?"ace_dark ":"")+(f.cssClass||"")},c.prototype.show=function(f,m,y){f!=null&&this.setText(f),m!=null&&y!=null&&this.setPosition(m,y),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},c.prototype.hide=function(f){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=e,this.isOpen=!1)},c.prototype.getHeight=function(){return this.getElement().offsetHeight},c.prototype.getWidth=function(){return this.getElement().offsetWidth},c.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},c}(),r=function(){function c(){this.popups=[]}return c.prototype.addPopup=function(f){this.popups.push(f),this.updatePopups()},c.prototype.removePopup=function(f){var m=this.popups.indexOf(f);m!==-1&&(this.popups.splice(m,1),this.updatePopups())},c.prototype.updatePopups=function(){var f,m,y,D;this.popups.sort(function(A,$){return $.priority-A.priority});var E=[];try{for(var b=h(this.popups),g=b.next();!g.done;g=b.next()){var S=g.value,M=!0;try{for(var _=(y=void 0,h(E)),T=_.next();!T.done;T=_.next()){var F=T.value;if(this.doPopupsOverlap(F,S)){M=!1;break}}}catch(A){y={error:A}}finally{try{T&&!T.done&&(D=_.return)&&D.call(_)}finally{if(y)throw y.error}}M?E.push(S):S.hide()}}catch(A){f={error:A}}finally{try{g&&!g.done&&(m=b.return)&&m.call(b)}finally{if(f)throw f.error}}},c.prototype.doPopupsOverlap=function(f,m){var y=f.getElement().getBoundingClientRect(),D=m.getElement().getBoundingClientRect();return y.leftD.left&&y.topD.top},c}(),l=new r;u.popupManager=l,u.Tooltip=t;var a=function(c){o(f,c);function f(m){m===void 0&&(m=document.body);var y=c.call(this,m)||this;y.timeout=void 0,y.lastT=0,y.idleTime=350,y.lastEvent=void 0,y.onMouseOut=y.onMouseOut.bind(y),y.onMouseMove=y.onMouseMove.bind(y),y.waitForHover=y.waitForHover.bind(y),y.hide=y.hide.bind(y);var D=y.getElement();return D.style.whiteSpace="pre-wrap",D.style.pointerEvents="auto",D.addEventListener("mouseout",y.onMouseOut),D.tabIndex=-1,D.addEventListener("blur",function(){D.contains(document.activeElement)||this.hide()}.bind(y)),D.addEventListener("wheel",p),y}return f.prototype.addToEditor=function(m){m.on("mousemove",this.onMouseMove),m.on("mousedown",this.hide),m.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},f.prototype.removeFromEditor=function(m){m.off("mousemove",this.onMouseMove),m.off("mousedown",this.hide),m.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},f.prototype.onMouseMove=function(m,y){this.lastEvent=m,this.lastT=Date.now();var D=y.$mouseHandler.isMousePressed;if(this.isOpen){var E=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(E.row,E.column)||D||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||D||(this.lastEvent=m,this.timeout=setTimeout(this.waitForHover,this.idleTime))},f.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var m=Date.now()-this.lastT;if(this.idleTime-m>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-m);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},f.prototype.isOutsideOfText=function(m){var y=m.editor,D=m.getDocumentPosition(),E=y.session.getLine(D.row);if(D.column==E.length){var b=y.renderer.pixelToScreenCoordinates(m.clientX,m.clientY),g=y.session.documentToScreenPosition(D.row,D.column);if(g.column!=b.column||g.row!=b.row)return!0}return!1},f.prototype.setDataProvider=function(m){this.$gatherData=m},f.prototype.showForRange=function(m,y,D,E){var b=10;if(!(E&&E!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var g=m.renderer;this.isOpen||(l.addPopup(this),this.$registerCloseEvents(),this.setTheme(g.theme)),this.isOpen=!0,this.addMarker(y,m.session),this.range=s.fromPoints(y.start,y.end);var S=g.textToScreenCoordinates(y.start.row,y.start.column),M=g.scroller.getBoundingClientRect();S.pageX=c.length&&(c=void 0),{value:c&&c[y++],done:!c}}};throw new TypeError(f?"Object is not iterable.":"Symbol.iterator is not defined.")},d=i("../lib/dom"),s=i("../lib/event"),p=i("../tooltip").Tooltip,e=i("../config").nls,t=5,r=3;u.GUTTER_TOOLTIP_LEFT_OFFSET=t,u.GUTTER_TOOLTIP_TOP_OFFSET=r;function l(c){var f=c.editor,m=f.renderer.$gutterLayer,y=new a(f,!0);c.editor.setDefaultHandler("guttermousedown",function(M){if(!(!f.isFocused()||M.getButton()!=0)){var _=m.getRegion(M);if(_!="foldWidgets"){var T=M.getDocumentPosition().row,F=f.session.selection;if(M.getShiftKey())F.selectTo(T,0);else{if(M.domEvent.detail==2)return f.selectAll(),M.preventDefault();c.$clickSelection=f.selection.getLineRange(T)}return c.setState("selectByLines"),c.captureMouse(M),M.preventDefault()}}});var D,E;function b(){var M=E.getDocumentPosition().row,_=f.session.getLength();if(M==_){var T=f.renderer.pixelToScreenCoordinates(0,E.y).row,F=E.$pos;if(T>f.session.documentToScreenRow(F.row,F.column))return g()}if(y.showTooltip(M),!!y.isOpen)if(f.on("mousewheel",g),f.on("changeSession",g),window.addEventListener("keydown",g,!0),c.$tooltipFollowsMouse)S(E);else{var A=E.getGutterRow(),$=m.$lines.get(A);if($){var C=$.element.querySelector(".ace_gutter_annotation"),w=C.getBoundingClientRect(),x=y.getElement().style;x.left=w.right-t+"px",x.top=w.bottom-r+"px"}else S(E)}}function g(M){M&&M.type==="keydown"&&(M.ctrlKey||M.metaKey)||M&&M.type==="mouseout"&&(!M.relatedTarget||y.getElement().contains(M.relatedTarget))||(D&&(D=clearTimeout(D)),y.isOpen&&(y.hideTooltip(),f.off("mousewheel",g),f.off("changeSession",g),window.removeEventListener("keydown",g,!0)))}function S(M){y.setPosition(M.x,M.y)}c.editor.setDefaultHandler("guttermousemove",function(M){var _=M.domEvent.target||M.domEvent.srcElement;if(d.hasCssClass(_,"ace_fold-widget")||d.hasCssClass(_,"ace_custom-widget"))return g();y.isOpen&&c.$tooltipFollowsMouse&&S(M),E=M,!D&&(D=setTimeout(function(){D=null,E&&!c.isMousePressed&&b()},50))}),s.addListener(f.renderer.$gutter,"mouseout",function(M){E=null,y.isOpen&&(D=setTimeout(function(){D=null,g(M)},50))},f)}u.GutterHandler=l;var a=function(c){o(f,c);function f(m,y){y===void 0&&(y=!1);var D=c.call(this,m.container)||this;D.editor=m,D.visibleTooltipRow;var E=D.getElement();return E.setAttribute("role","tooltip"),E.style.pointerEvents="auto",y&&(D.onMouseOut=D.onMouseOut.bind(D),E.addEventListener("mouseout",D.onMouseOut)),D}return f.prototype.onMouseOut=function(m){this.isOpen&&(!m.relatedTarget||this.getElement().contains(m.relatedTarget)||m&&m.currentTarget.contains(m.relatedTarget)||this.hideTooltip())},f.prototype.setPosition=function(m,y){var D=window.innerWidth||document.documentElement.clientWidth,E=window.innerHeight||document.documentElement.clientHeight,b=this.getWidth(),g=this.getHeight();m+=15,y+=15,m+b>D&&(m-=m+b-D),y+g>E&&(y-=20+g),p.prototype.setPosition.call(this,m,y)},Object.defineProperty(f,"annotationLabels",{get:function(){return{error:{singular:e("gutter-tooltip.aria-label.error.singular","error"),plural:e("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:e("gutter-tooltip.aria-label.security.singular","security finding"),plural:e("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:e("gutter-tooltip.aria-label.warning.singular","warning"),plural:e("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:e("gutter-tooltip.aria-label.info.singular","information message"),plural:e("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:e("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:e("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),f.prototype.showTooltip=function(m){var y,D=this.editor.renderer.$gutterLayer,E=D.$annotations[m],b;E?b={displayText:Array.from(E.displayText),type:Array.from(E.type)}:b={displayText:[],type:[]};var g=D.session.getFoldLine(m);if(g&&D.$showFoldedAnnotations){for(var S={error:[],security:[],warning:[],info:[],hint:[]},M={error:1,security:2,warning:3,info:4,hint:5},_,T=m+1;T<=g.end.row;T++)if(D.$annotations[T])for(var F=0;Fe?A=null:U-A>=p&&(a.renderer.scrollCursorIntoView(),A=null)}}function w(W,H){var U=Date.now(),G=a.renderer.layerConfig.lineHeight,Y=a.renderer.layerConfig.characterWidth,Q=a.renderer.scroller.getBoundingClientRect(),ee={x:{left:D-Q.left,right:Q.right-D},y:{top:E-Q.top,bottom:Q.bottom-E}},ne=Math.min(ee.x.left,ee.x.right),se=Math.min(ee.y.top,ee.y.bottom),ge={row:W.row,column:W.column};ne/Y<=2&&(ge.column+=ee.x.left=s&&a.renderer.scrollCursorIntoView(ge):F=U:F=null}function x(){var W=S;S=a.renderer.screenToTextCoordinates(D,E),C(S,W),w(S,W)}function I(){g=a.selection.toOrientedRange(),y=a.session.addMarker(g,"ace_selection",a.getSelectionStyle()),a.clearSelection(),a.isFocused()&&a.renderer.$cursorLayer.setBlinking(!1),clearInterval(b),x(),b=setInterval(x,20),M=0,h.addListener(document,"mousemove",P)}function R(){clearInterval(b),a.session.removeMarker(y),y=null,a.selection.fromOrientedRange(g),a.isFocused()&&!T&&a.$resetCursorStyle(),g=null,S=null,M=0,F=null,A=null,h.removeListener(document,"mousemove",P)}var O=null;function P(){O==null&&(O=setTimeout(function(){O!=null&&y&&R()},20))}function B(W){var H=W.types;return!H||Array.prototype.some.call(H,function(U){return U=="text/plain"||U=="Text"})}function V(W){var H=["copy","copymove","all","uninitialized"],U=["move","copymove","linkmove","all","uninitialized"],G=d.isMac?W.altKey:W.ctrlKey,Y="uninitialized";try{Y=W.dataTransfer.effectAllowed.toLowerCase()}catch{}var Q="none";return G&&H.indexOf(Y)>=0?Q="copy":U.indexOf(Y)>=0?Q="move":H.indexOf(Y)>=0&&(Q="copy"),Q}}(function(){this.dragWait=function(){var l=Date.now()-this.mousedownEvent.time;l>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var l=this.editor.container;l.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(l){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var l=this.editor,a=l.container;a.draggable=!0,l.renderer.$cursorLayer.setBlinking(!1),l.setStyle("ace_dragging");var c=d.isWin?"default":"move";l.renderer.setCursorStyle(c),this.setState("dragReady")},this.onMouseDrag=function(l){var a=this.editor.container;if(d.isIE&&this.state=="dragReady"){var c=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);c>3&&a.dragDrop()}if(this.state==="dragWait"){var c=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);c>0&&(a.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(l){if(this.$dragEnabled){this.mousedownEvent=l;var a=this.editor,c=l.inSelection(),f=l.getButton(),m=l.domEvent.detail||1;if(m===1&&f===0&&c){if(l.editor.inMultiSelectMode&&(l.getAccelKey()||l.getShiftKey()))return;this.mousedownEvent.time=Date.now();var y=l.domEvent.target||l.domEvent.srcElement;if("unselectable"in y&&(y.unselectable="on"),a.getDragDelay()){if(d.isWebKit){this.cancelDrag=!0;var D=a.container;D.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(l,this.onMouseDrag.bind(this)),l.defaultPrevented=!0}}}}).call(t.prototype);function r(l,a,c,f){return Math.sqrt(Math.pow(c-l,2)+Math.pow(f-a,2))}u.DragdropHandler=t}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(i,u,v){var o=i("./mouse_event").MouseEvent,h=i("../lib/event"),d=i("../lib/dom");u.addTouchListeners=function(s,p){var e="scroll",t,r,l,a,c,f,m=0,y,D=0,E=0,b=0,g,S;function M(){var C=window.navigator&&window.navigator.clipboard,w=!1,x=function(){var O=p.getCopyText(),P=p.session.getUndoManager().hasUndo();S.replaceChild(d.buildDom(w?["span",!O&&I("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],O&&I("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],O&&I("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],C&&I("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],P&&I("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],I("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],I("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),S.firstChild)},I=function(O){return p.commands.canExecute(O,p)},R=function(O){var P=O.target.getAttribute("action");if(P=="more"||!w)return w=!w,x();P=="paste"?C.readText().then(function(B){p.execCommand(P,B)}):P&&((P=="cut"||P=="copy")&&(C?C.writeText(p.getCopyText()):document.execCommand("copy")),p.execCommand(P)),S.firstChild.style.display="none",w=!1,P!="openCommandPalette"&&p.focus()};S=d.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(O){e="menu",O.stopPropagation(),O.preventDefault(),p.textInput.focus()},ontouchend:function(O){O.stopPropagation(),O.preventDefault(),R(O)},onclick:R},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],p.container)}function _(){if(!p.getOption("enableMobileMenu")){S&&T();return}S||M();var C=p.selection.cursor,w=p.renderer.textToScreenCoordinates(C.row,C.column),x=p.renderer.textToScreenCoordinates(0,0).pageX,I=p.renderer.scrollLeft,R=p.container.getBoundingClientRect();S.style.top=w.pageY-R.top-3+"px",w.pageX-R.left=2?p.selection.getLineRange(y.row):p.session.getBracketRange(y);C&&!C.isEmpty()?p.selection.setRange(C):p.selection.selectWord(),e="wait"}h.addListener(s,"contextmenu",function(C){if(g){var w=p.textInput.getElement();w.focus()}},p),h.addListener(s,"touchstart",function(C){var w=C.touches;if(c||w.length>1){clearTimeout(c),c=null,l=-1,e="zoom";return}g=p.$mouseHandler.isMousePressed=!0;var x=p.renderer.layerConfig.lineHeight,I=p.renderer.layerConfig.lineHeight,R=C.timeStamp;a=R;var O=w[0],P=O.clientX,B=O.clientY;Math.abs(t-P)+Math.abs(r-B)>x&&(l=-1),t=C.clientX=P,r=C.clientY=B,E=b=0;var V=new o(C,p);if(y=V.getDocumentPosition(),R-l<500&&w.length==1&&!m)D++,C.preventDefault(),C.button=0,A();else{D=0;var W=p.selection.cursor,H=p.selection.isEmpty()?W:p.selection.anchor,U=p.renderer.$cursorLayer.getPixelPosition(W,!0),G=p.renderer.$cursorLayer.getPixelPosition(H,!0),Y=p.renderer.scroller.getBoundingClientRect(),Q=p.renderer.layerConfig.offset,ee=p.renderer.scrollLeft,ne=function(be,ke){return be=be/I,ke=ke/x-.75,be*be+ke*ke};if(C.clientXge?"cursor":"anchor"),ge<3.5?e="anchor":se<3.5?e="cursor":e="scroll",c=setTimeout(F,450)}l=R},p),h.addListener(s,"touchend",function(C){g=p.$mouseHandler.isMousePressed=!1,f&&clearInterval(f),e=="zoom"?(e="",m=0):c?(p.selection.moveToPosition(y),m=0,_()):e=="scroll"?($(),T()):_(),clearTimeout(c),c=null},p),h.addListener(s,"touchmove",function(C){c&&(clearTimeout(c),c=null);var w=C.touches;if(!(w.length>1||e=="zoom")){var x=w[0],I=t-x.clientX,R=r-x.clientY;if(e=="wait")if(I*I+R*R>4)e="cursor";else return C.preventDefault();t=x.clientX,r=x.clientY,C.clientX=x.clientX,C.clientY=x.clientY;var O=C.timeStamp,P=O-a;if(a=O,e=="scroll"){var B=new o(C,p);B.speed=1,B.wheelX=I,B.wheelY=R,10*Math.abs(I)0)if(ge==16){for(Ce=ke;Ce-1){for(Ce=ke;Ce=0&&G[Ze]==g;Ze--)H[Ze]=o}}}function P(W,H,U){if(!(h=W){for(Q=Y+1;Q=W;)Q++;for(ee=Y,ne=Q-1;ee=H.length||(Q=U[G-1])!=f&&Q!=m||(ee=H[G+1])!=f&&ee!=m?y:(d&&(ee=m),ee==Q?ee:y);case M:return Q=G>0?U[G-1]:D,Q==f&&G+10&&U[G-1]==f)return f;if(d)return y;for(se=G+1,ne=H.length;se=1425&&ge<=2303||ge==64286;if(Q=H[se],be&&(Q==c||Q==b))return c}return G<1||(Q=H[G-1])==D?y:U[G-1];case D:return d=!1,s=!0,o;case E:return p=!0,y;case F:case A:case C:case w:case $:d=!1;case x:return y}}function V(W){var H=W.charCodeAt(0),U=H>>8;return U==0?H>191?a:I[H]:U==5?/[\u0591-\u05f4]/.test(W)?c:a:U==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(W)?T:/[\u0660-\u0669\u066b-\u066c]/.test(W)?m:H==1642?_:/[\u06f0-\u06f9]/.test(W)?f:b:U==32&&H<=8287?R[H&255]:U==254&&H>=65136?b:y}u.L=a,u.R=c,u.EN=f,u.ON_R=3,u.AN=4,u.R_H=5,u.B=6,u.RLE=7,u.DOT="·",u.doBidiReorder=function(W,H,U){if(W.length<2)return{};var G=W.split(""),Y=new Array(G.length),Q=new Array(G.length),ee=[];o=U?l:r,O(G,ee,G.length,H);for(var ne=0;neb&&H[ne]0&&G[ne-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(G[ne])&&(ee[ne-1]=ee[ne]=u.R_H,ne++);G[G.length-1]===u.DOT&&(ee[G.length-1]=u.B),G[0]==="‫"&&(ee[0]=u.RLE);for(var ne=0;ne=0&&(e=this.session.$docRowCache[r])}return e},p.prototype.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var r,l=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(r=this.session.$getRowCacheIndex(t,this.currentRow-e-1),r===l);)l=r,e++;else e=this.currentRow;return e},p.prototype.updateRowLine=function(e,t){e===void 0&&(e=this.getDocumentRow());var r=e===this.session.getLength()-1,l=r?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(e),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var a=this.session.$wrapData[e];a&&(t===void 0&&(t=this.getSplitIndex()),t>0&&a.length?(this.wrapIndent=a.indent,this.wrapOffset=this.wrapIndent*this.charWidths[o.L],this.line=tt?this.session.getOverwrite()?e:e-1:t,l=o.getVisualFromLogicalIdx(r,this.bidiMap),a=this.bidiMap.bidiLevels,c=0;!this.session.getOverwrite()&&e<=t&&a[l]%2!==0&&l++;for(var f=0;ft&&a[l]%2===0&&(c+=this.charWidths[a[l]]),this.wrapIndent&&(c+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(c+=this.rtlLineOffset),c},p.prototype.getSelections=function(e,t){var r=this.bidiMap,l=r.bidiLevels,a,c=[],f=0,m=Math.min(e,t)-this.wrapIndent,y=Math.max(e,t)-this.wrapIndent,D=!1,E=!1,b=0;this.wrapIndent&&(f+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var g,S=0;S=m&&gl+f/2;){if(l+=f,a===c.length-1){f=0;break}f=this.charWidths[c[++a]]}return a>0&&c[a-1]%2!==0&&c[a]%2===0?(r0&&c[a-1]%2===0&&c[a]%2!==0?t=1+(r>l?this.bidiMap.logicalFromVisual[a]:this.bidiMap.logicalFromVisual[a-1]):this.isRtlDir&&a===c.length-1&&f===0&&c[a-1]%2===0||!this.isRtlDir&&a===0&&c[a]%2!==0?t=1+this.bidiMap.logicalFromVisual[a]:(a>0&&c[a-1]%2!==0&&f!==0&&a--,t=this.bidiMap.logicalFromVisual[a]),t===0&&this.isRtlDir&&t++,t+this.wrapIndent},p}();u.BidiHandler=s}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(i,u,v){var o=i("./lib/oop"),h=i("./lib/lang"),d=i("./lib/event_emitter").EventEmitter,s=i("./range").Range,p=function(){function e(t){this.session=t,this.doc=t.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var r=this;this.cursor.on("change",function(l){r.$cursorChanged=!0,r.$silent||r._emit("changeCursor"),!r.$isEmpty&&!r.$silent&&r._emit("changeSelection"),!r.$keepDesiredColumnOnChange&&l.old.column!=l.value.column&&(r.$desiredColumn=null)}),this.anchor.on("change",function(){r.$anchorChanged=!0,!r.$isEmpty&&!r.$silent&&r._emit("changeSelection")})}return e.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},e.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},e.prototype.getCursor=function(){return this.lead.getPosition()},e.prototype.setAnchor=function(t,r){this.$isEmpty=!1,this.anchor.setPosition(t,r)},e.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},e.prototype.getSelectionLead=function(){return this.lead.getPosition()},e.prototype.isBackwards=function(){var t=this.anchor,r=this.lead;return t.row>r.row||t.row==r.row&&t.column>r.column},e.prototype.getRange=function(){var t=this.anchor,r=this.lead;return this.$isEmpty?s.fromPoints(r,r):this.isBackwards()?s.fromPoints(r,t):s.fromPoints(t,r)},e.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},e.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},e.prototype.setRange=function(t,r){var l=r?t.end:t.start,a=r?t.start:t.end;this.$setSelection(l.row,l.column,a.row,a.column)},e.prototype.$setSelection=function(t,r,l,a){if(!this.$silent){var c=this.$isEmpty,f=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(t,r),this.cursor.setPosition(l,a),this.$isEmpty=!s.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||c!=this.$isEmpty||f)&&this._emit("changeSelection")}},e.prototype.$moveSelection=function(t){var r=this.lead;this.$isEmpty&&this.setSelectionAnchor(r.row,r.column),t.call(this)},e.prototype.selectTo=function(t,r){this.$moveSelection(function(){this.moveCursorTo(t,r)})},e.prototype.selectToPosition=function(t){this.$moveSelection(function(){this.moveCursorToPosition(t)})},e.prototype.moveTo=function(t,r){this.clearSelection(),this.moveCursorTo(t,r)},e.prototype.moveToPosition=function(t){this.clearSelection(),this.moveCursorToPosition(t)},e.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},e.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},e.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},e.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},e.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},e.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},e.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},e.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},e.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},e.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},e.prototype.getWordRange=function(t,r){if(typeof r>"u"){var l=t||this.lead;t=l.row,r=l.column}return this.session.getWordRange(t,r)},e.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},e.prototype.selectAWord=function(){var t=this.getCursor(),r=this.session.getAWordRange(t.row,t.column);this.setSelectionRange(r)},e.prototype.getLineRange=function(t,r){var l=typeof t=="number"?t:this.lead.row,a,c=this.session.getFoldLine(l);return c?(l=c.start.row,a=c.end.row):a=l,r===!0?new s(l,0,a,this.session.getLine(a).length):new s(l,0,a+1,0)},e.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},e.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},e.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},e.prototype.wouldMoveIntoSoftTab=function(t,r,l){var a=t.column,c=t.column+r;return l<0&&(a=t.column-r,c=t.column),this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(a,c).split(" ").length-1==r},e.prototype.moveCursorLeft=function(){var t=this.lead.getPosition(),r;if(r=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(r.start.row,r.start.column);else if(t.column===0)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var l=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,l,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-l):this.moveCursorBy(0,-1)}},e.prototype.moveCursorRight=function(){var t=this.lead.getPosition(),r;if(r=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(r.end.row,r.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(r.column=a)}}this.moveCursorTo(r.row,r.column)},e.prototype.moveCursorFileEnd=function(){var t=this.doc.getLength()-1,r=this.doc.getLine(t).length;this.moveCursorTo(t,r)},e.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},e.prototype.moveCursorLongWordRight=function(){var t=this.lead.row,r=this.lead.column,l=this.doc.getLine(t),a=l.substring(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var c=this.session.getFoldAt(t,r,1);if(c){this.moveCursorTo(c.end.row,c.end.column);return}if(this.session.nonTokenRe.exec(a)&&(r+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,a=l.substring(r)),r>=l.length){this.moveCursorTo(t,l.length),this.moveCursorRight(),t0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(c)&&(r-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,r)},e.prototype.$shortWordEndIndex=function(t){var r=0,l,a=/\s/,c=this.session.tokenRe;if(c.lastIndex=0,this.session.tokenRe.exec(t))r=this.session.tokenRe.lastIndex;else{for(;(l=t[r])&&a.test(l);)r++;if(r<1){for(c.lastIndex=0;(l=t[r])&&!c.test(l);)if(c.lastIndex=0,r++,a.test(l))if(r>2){r--;break}else{for(;(l=t[r])&&a.test(l);)r++;if(r>2)break}}}return c.lastIndex=0,r},e.prototype.moveCursorShortWordRight=function(){var t=this.lead.row,r=this.lead.column,l=this.doc.getLine(t),a=l.substring(r),c=this.session.getFoldAt(t,r,1);if(c)return this.moveCursorTo(c.end.row,c.end.column);if(r==l.length){var f=this.doc.getLength();do t++,a=this.doc.getLine(t);while(t0&&/^\s*$/.test(a));r=a.length,/\s+$/.test(a)||(a="")}var c=h.stringReverse(a),f=this.$shortWordEndIndex(c);return this.moveCursorTo(t,r-f)},e.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},e.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},e.prototype.moveCursorBy=function(t,r){var l=this.session.documentToScreenPosition(this.lead.row,this.lead.column),a;if(r===0&&(t!==0&&(this.session.$bidiHandler.isBidiRow(l.row,this.lead.row)?(a=this.session.$bidiHandler.getPosLeft(l.column),l.column=Math.round(a/this.session.$bidiHandler.charWidths[0])):a=l.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?l.column=this.$desiredColumn:this.$desiredColumn=l.column),t!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var c=this.session.lineWidgets[this.lead.row];t<0?t-=c.rowsAbove||0:t>0&&(t+=c.rowCount-(c.rowsAbove||0))}var f=this.session.screenToDocumentPosition(l.row+t,l.column,a);t!==0&&r===0&&f.row===this.lead.row&&(f.column,this.lead.column),this.moveCursorTo(f.row,f.column+r,r===0)},e.prototype.moveCursorToPosition=function(t){this.moveCursorTo(t.row,t.column)},e.prototype.moveCursorTo=function(t,r,l){var a=this.session.getFoldAt(t,r,1);a&&(t=a.start.row,r=a.start.column),this.$keepDesiredColumnOnChange=!0;var c=this.session.getLine(t);/[\uDC00-\uDFFF]/.test(c.charAt(r))&&c.charAt(r-1)&&(this.lead.row==t&&this.lead.column==r+1?r=r-1:r=r+1),this.lead.setPosition(t,r),this.$keepDesiredColumnOnChange=!1,l||(this.$desiredColumn=null)},e.prototype.moveCursorToScreen=function(t,r,l){var a=this.session.screenToDocumentPosition(t,r);this.moveCursorTo(a.row,a.column,l)},e.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},e.prototype.fromOrientedRange=function(t){this.setSelectionRange(t,t.cursor==t.start),this.$desiredColumn=t.desiredColumn||this.$desiredColumn},e.prototype.toOrientedRange=function(t){var r=this.getRange();return t?(t.start.column=r.start.column,t.start.row=r.start.row,t.end.column=r.end.column,t.end.row=r.end.row):t=r,t.cursor=this.isBackwards()?t.start:t.end,t.desiredColumn=this.$desiredColumn,t},e.prototype.getRangeOfMovements=function(t){var r=this.getCursor();try{t(this);var l=this.getCursor();return s.fromPoints(r,l)}catch{return s.fromPoints(r,r)}finally{this.moveCursorToPosition(r)}},e.prototype.toJSON=function(){if(this.rangeCount)var t=this.ranges.map(function(r){var l=r.clone();return l.isBackwards=r.cursor==r.start,l});else{var t=this.getRange();t.isBackwards=this.isBackwards()}return t},e.prototype.fromJSON=function(t){if(t.start==null)if(this.rangeList&&t.length>1){this.toSingleRange(t[0]);for(var r=t.length;r--;){var l=s.fromPoints(t[r].start,t[r].end);t[r].isBackwards&&(l.cursor=l.start),this.addRange(l,!0)}return}else t=t[0];this.rangeList&&this.toSingleRange(t),this.setSelectionRange(t,t.isBackwards)},e.prototype.isEqual=function(t){if((t.length||this.rangeCount)&&t.length!=this.rangeCount)return!1;if(!t.length||!this.ranges)return this.getRange().isEqual(t);for(var r=this.ranges.length;r--;)if(!this.ranges[r].isEqual(t[r]))return!1;return!0},e}();p.prototype.setSelectionAnchor=p.prototype.setAnchor,p.prototype.getSelectionAnchor=p.prototype.getAnchor,p.prototype.setSelectionRange=p.prototype.setRange,o.implement(p.prototype,d),u.Selection=p}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(i,u,v){var o=i("./lib/report_error").reportError,h=2e3,d=function(){function s(p){this.splitRegex,this.states=p,this.regExps={},this.matchMappings={};for(var e in this.states){for(var t=this.states[e],r=[],l=0,a=this.matchMappings[e]={defaultToken:"text"},c="g",f=[],m=0;m1?y.onMatch=this.$applyToken:y.onMatch=y.token),E>1&&(/\\\d/.test(y.regex)?D=y.regex.replace(/\\([0-9]+)/g,function(b,g){return"\\"+(parseInt(g,10)+l+1)}):(E=1,D=this.removeCapturingGroups(y.regex)),!y.splitRegex&&typeof y.token!="string"&&f.push(y)),a[l]=m,l+=E,r.push(D),y.onMatch||(y.onMatch=null)}}r.length||(a[0]=0,r.push("$")),f.forEach(function(b){b.splitRegex=this.createSplitterRegexp(b.regex,c)},this),this.regExps[e]=new RegExp("("+r.join(")|(")+")|($)",c)}}return s.prototype.$setMaxTokenCount=function(p){h=p|0},s.prototype.$applyToken=function(p){var e=this.splitRegex.exec(p).slice(1),t=this.token.apply(this,e);if(typeof t=="string")return[{type:t,value:p}];for(var r=[],l=0,a=t.length;ly){var _=p.substring(y,M-S.length);E.type==b?E.value+=_:(E.type&&m.push(E),E={type:b,value:_})}for(var T=0;Th){for(D>2*p.length&&this.reportError("infinite loop with in ace tokenizer",{startState:e,line:p});y1&&t[0]!==r&&t.unshift("#tmp",r),{tokens:m,state:t.length?t:r}},s}();d.prototype.reportError=o,u.Tokenizer=d}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(i,u,v){var o=i("../lib/deep_copy").deepCopy,h;h=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},function(){this.addRules=function(p,e){if(!e){for(var t in p)this.$rules[t]=p[t];return}for(var t in p){for(var r=p[t],l=0;l=this.$rowTokens.length;){if(this.$row+=1,s||(s=this.$session.getLength()),this.$row>=s)return this.$row=s-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},d.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},d.prototype.getCurrentTokenRow=function(){return this.$row},d.prototype.getCurrentTokenColumn=function(){var s=this.$rowTokens,p=this.$tokenIndex,e=s[p].start;if(e!==void 0)return e;for(e=0;p>0;)p-=1,e+=s[p].value.length;return e},d.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},d.prototype.getCurrentTokenRange=function(){var s=this.$rowTokens[this.$tokenIndex],p=this.getCurrentTokenColumn();return new o(this.$row,p,this.$row,p+s.value.length)},d}();u.TokenIterator=h}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(i,u,v){var o=i("../../lib/oop"),h=i("../behaviour").Behaviour,d=i("../../token_iterator").TokenIterator,s=i("../../lib/lang"),p=["text","paren.rparen","rparen","paren","punctuation.operator"],e=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],t,r={},l={'"':'"',"'":"'"},a=function(m){var y=-1;if(m.multiSelect&&(y=m.selection.index,r.rangeCount!=m.multiSelect.rangeCount&&(r={rangeCount:m.multiSelect.rangeCount})),r[y])return t=r[y];t=r[y]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},c=function(m,y,D,E){var b=m.end.row-m.start.row;return{text:D+y+E,selection:[0,m.start.column+1,b,m.end.column+(b?0:1)]}},f;f=function(m){m=m||{},this.add("braces","insertion",function(y,D,E,b,g){var S=E.getCursorPosition(),M=b.doc.getLine(S.row);if(g=="{"){a(E);var _=E.getSelectionRange(),T=b.doc.getTextRange(_),F=b.getTokenAt(S.row,S.column);if(T!==""&&T!=="{"&&E.getWrapBehavioursEnabled())return c(_,T,"{","}");if(F&&/(?:string)\.quasi|\.xml/.test(F.type)){var A=[/tag\-(?:open|name)/,/attribute\-name/];return A.some(function(O){return O.test(F.type)})||/(string)\.quasi/.test(F.type)&&F.value[S.column-F.start-1]!=="$"?void 0:(f.recordAutoInsert(E,b,"}"),{text:"{}",selection:[1,1]})}else if(f.isSaneInsertion(E,b))return/[\]\}\)]/.test(M[S.column])||E.inMultiSelectMode||m.braces?(f.recordAutoInsert(E,b,"}"),{text:"{}",selection:[1,1]}):(f.recordMaybeInsert(E,b,"{"),{text:"{",selection:[1,1]})}else if(g=="}"){a(E);var $=M.substring(S.column,S.column+1);if($=="}"){var C=b.$findOpeningBracket("}",{column:S.column+1,row:S.row});if(C!==null&&f.isAutoInsertedClosing(S,M,g))return f.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(g==` -`||g==`\r -`){a(E);var w="";f.isMaybeInsertedClosing(S,M)&&(w=s.stringRepeat("}",t.maybeInsertedBrackets),f.clearMaybeInsertedClosing());var $=M.substring(S.column,S.column+1);if($==="}"){var x=b.findMatchingBracket({row:S.row,column:S.column+1},"}");if(!x)return null;var I=this.$getIndent(b.getLine(x.row))}else if(w)var I=this.$getIndent(M);else{f.clearMaybeInsertedClosing();return}var R=I+b.getTabString();return{text:` -`+R+` -`+I+w,selection:[1,R.length,1,R.length]}}else f.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(y,D,E,b,g){var S=b.doc.getTextRange(g);if(!g.isMultiLine()&&S=="{"){a(E);var M=b.doc.getLine(g.start.row),_=M.substring(g.end.column,g.end.column+1);if(_=="}")return g.end.column++,g;t.maybeInsertedBrackets--}}),this.add("parens","insertion",function(y,D,E,b,g){if(g=="("){a(E);var S=E.getSelectionRange(),M=b.doc.getTextRange(S);if(M!==""&&E.getWrapBehavioursEnabled())return c(S,M,"(",")");if(f.isSaneInsertion(E,b))return f.recordAutoInsert(E,b,")"),{text:"()",selection:[1,1]}}else if(g==")"){a(E);var _=E.getCursorPosition(),T=b.doc.getLine(_.row),F=T.substring(_.column,_.column+1);if(F==")"){var A=b.$findOpeningBracket(")",{column:_.column+1,row:_.row});if(A!==null&&f.isAutoInsertedClosing(_,T,g))return f.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(y,D,E,b,g){var S=b.doc.getTextRange(g);if(!g.isMultiLine()&&S=="("){a(E);var M=b.doc.getLine(g.start.row),_=M.substring(g.start.column+1,g.start.column+2);if(_==")")return g.end.column++,g}}),this.add("brackets","insertion",function(y,D,E,b,g){if(g=="["){a(E);var S=E.getSelectionRange(),M=b.doc.getTextRange(S);if(M!==""&&E.getWrapBehavioursEnabled())return c(S,M,"[","]");if(f.isSaneInsertion(E,b))return f.recordAutoInsert(E,b,"]"),{text:"[]",selection:[1,1]}}else if(g=="]"){a(E);var _=E.getCursorPosition(),T=b.doc.getLine(_.row),F=T.substring(_.column,_.column+1);if(F=="]"){var A=b.$findOpeningBracket("]",{column:_.column+1,row:_.row});if(A!==null&&f.isAutoInsertedClosing(_,T,g))return f.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(y,D,E,b,g){var S=b.doc.getTextRange(g);if(!g.isMultiLine()&&S=="["){a(E);var M=b.doc.getLine(g.start.row),_=M.substring(g.start.column+1,g.start.column+2);if(_=="]")return g.end.column++,g}}),this.add("string_dquotes","insertion",function(y,D,E,b,g){var S=b.$mode.$quotes||l;if(g.length==1&&S[g]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(g)!=-1)return;a(E);var M=g,_=E.getSelectionRange(),T=b.doc.getTextRange(_);if(T!==""&&(T.length!=1||!S[T])&&E.getWrapBehavioursEnabled())return c(_,T,M,M);if(!T){var F=E.getCursorPosition(),A=b.doc.getLine(F.row),$=A.substring(F.column-1,F.column),C=A.substring(F.column,F.column+1),w=b.getTokenAt(F.row,F.column),x=b.getTokenAt(F.row,F.column+1);if($=="\\"&&w&&/escape/.test(w.type))return null;var I=w&&/string|escape/.test(w.type),R=!x||/string|escape/.test(x.type),O;if(C==M)O=I!==R,O&&/string\.end/.test(x.type)&&(O=!1);else{if(I&&!R||I&&R)return null;var P=b.$mode.tokenRe;P.lastIndex=0;var B=P.test($);P.lastIndex=0;var V=P.test(C),W=b.$mode.$pairQuotesAfter,H=W&&W[M]&&W[M].test($);if(!H&&B||V||C&&!/[\s;,.})\]\\]/.test(C))return null;var U=A[F.column-2];if($==M&&(U==M||P.test(U)))return null;O=!0}return{text:O?M+M:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(y,D,E,b,g){var S=b.$mode.$quotes||l,M=b.doc.getTextRange(g);if(!g.isMultiLine()&&S.hasOwnProperty(M)){a(E);var _=b.doc.getLine(g.start.row),T=_.substring(g.start.column+1,g.start.column+2);if(T==M)return g.end.column++,g}}),m.closeDocComment!==!1&&this.add("doc comment end","insertion",function(y,D,E,b,g){if(y==="doc-start"&&(g===` -`||g===`\r -`)&&E.selection.isEmpty()){var S=E.getCursorPosition();if(S.column===0)return;for(var M=b.doc.getLine(S.row),_=b.doc.getLine(S.row+1),T=b.getTokens(S.row),F=0,A=0;A=S.column){if(F===S.column){if(!/\.doc/.test($.type))return;if(/\*\//.test($.value)){var C=T[A+1];if(!C||!/\.doc/.test(C.type))return}}var w=S.column-(F-$.value.length),x=$.value.indexOf("*/"),I=$.value.indexOf("/**",x>-1?x+2:0);if(I!==-1&&w>I&&w=x&&w<=I||!/\.doc/.test($.type))return;break}}var R=this.$getIndent(M);if(/\s*\*/.test(_))return/^\s*\*/.test(M)?{text:g+R+"* ",selection:[1,2+R.length,1,2+R.length]}:{text:g+R+" * ",selection:[1,3+R.length,1,3+R.length]};if(/\/\*\*/.test(M.substring(0,S.column)))return{text:g+R+" * "+g+" "+R+"*/",selection:[1,4+R.length,1,4+R.length]}}})},f.isSaneInsertion=function(m,y){var D=m.getCursorPosition(),E=new d(y,D.row,D.column);if(!this.$matchTokenType(E.getCurrentToken()||"text",p)){if(/[)}\]]/.test(m.session.getLine(D.row)[D.column]))return!0;var b=new d(y,D.row,D.column+1);if(!this.$matchTokenType(b.getCurrentToken()||"text",p))return!1}return E.stepForward(),E.getCurrentTokenRow()!==D.row||this.$matchTokenType(E.getCurrentToken()||"text",e)},f.$matchTokenType=function(m,y){return y.indexOf(m.type||m)>-1},f.recordAutoInsert=function(m,y,D){var E=m.getCursorPosition(),b=y.doc.getLine(E.row);this.isAutoInsertedClosing(E,b,t.autoInsertedLineEnd[0])||(t.autoInsertedBrackets=0),t.autoInsertedRow=E.row,t.autoInsertedLineEnd=D+b.substr(E.column),t.autoInsertedBrackets++},f.recordMaybeInsert=function(m,y,D){var E=m.getCursorPosition(),b=y.doc.getLine(E.row);this.isMaybeInsertedClosing(E,b)||(t.maybeInsertedBrackets=0),t.maybeInsertedRow=E.row,t.maybeInsertedLineStart=b.substr(0,E.column)+D,t.maybeInsertedLineEnd=b.substr(E.column),t.maybeInsertedBrackets++},f.isAutoInsertedClosing=function(m,y,D){return t.autoInsertedBrackets>0&&m.row===t.autoInsertedRow&&D===t.autoInsertedLineEnd[0]&&y.substr(m.column)===t.autoInsertedLineEnd},f.isMaybeInsertedClosing=function(m,y){return t.maybeInsertedBrackets>0&&m.row===t.maybeInsertedRow&&y.substr(m.column)===t.maybeInsertedLineEnd&&y.substr(0,m.column)==t.maybeInsertedLineStart},f.popAutoInsertedClosing=function(){t.autoInsertedLineEnd=t.autoInsertedLineEnd.substr(1),t.autoInsertedBrackets--},f.clearMaybeInsertedClosing=function(){t&&(t.maybeInsertedBrackets=0,t.maybeInsertedRow=-1)},o.inherits(f,h),u.CstyleBehaviour=f}),ace.define("ace/unicode",["require","exports","module"],function(i,u,v){for(var o=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],h=0,d=[],s=0;s2?U%g!=g-1:U%g==0}}else{if(!this.blockComment)return!1;var M=this.blockComment.start,_=this.blockComment.end,T=new RegExp("^(\\s*)(?:"+e.escapeRegExp(M)+")"),F=new RegExp("(?:"+e.escapeRegExp(_)+")\\s*$"),A=function(O,P){C(O,P)||(!D||/\S/.test(O))&&(y.insertInLine({row:P,column:O.length},_),y.insertInLine({row:P,column:b},M))},$=function(O,P){var B;(B=O.match(F))&&y.removeInLine(P,O.length-B[0].length,O.length),(B=O.match(T))&&y.removeInLine(P,B[1].length,B[0].length)},C=function(O,P){if(T.test(O))return!0;for(var B=c.getTokens(P),V=0;VO.length&&(R=O.length)}),b==1/0&&(b=R,D=!1,E=!1),S&&b%g!=0&&(b=Math.floor(b/g)*g),I(E?$:A)},this.toggleBlockComment=function(a,c,f,m){var y=this.blockComment;if(y){!y.start&&y[0]&&(y=y[0]);var D=new t(c,m.row,m.column),E=D.getCurrentToken();c.selection;var b=c.selection.toOrientedRange(),g,S;if(E&&/comment/.test(E.type)){for(var M,_;E&&/comment/.test(E.type);){var T=E.value.indexOf(y.start);if(T!=-1){var F=D.getCurrentTokenRow(),A=D.getCurrentTokenColumn()+T;M=new r(F,A,F,A+y.start.length);break}E=D.stepBackward()}for(var D=new t(c,m.row,m.column),E=D.getCurrentToken();E&&/comment/.test(E.type);){var T=E.value.indexOf(y.end);if(T!=-1){var F=D.getCurrentTokenRow(),A=D.getCurrentTokenColumn()+T;_=new r(F,A,F,A+y.end.length);break}E=D.stepForward()}_&&c.remove(_),M&&(c.remove(M),g=M.start.row,S=-y.start.length)}else S=y.start.length,g=f.start.row,c.insert(f.end,y.end),c.insert(f.start,y.start);b.start.row==g&&(b.start.column+=S),b.end.row==g&&(b.end.column+=S),c.selection.fromOrientedRange(b)}},this.getNextLineIndent=function(a,c,f){return this.$getIndent(c)},this.checkOutdent=function(a,c,f){return!1},this.autoOutdent=function(a,c,f){},this.$getIndent=function(a){return a.match(/^\s*/)[0]},this.createWorker=function(a){return null},this.createModeDelegates=function(a){this.$embeds=[],this.$modes={};for(var c in a)if(a[c]){var f=a[c],m=f.prototype.$id,y=o.$modes[m];y||(o.$modes[m]=y=new f),o.$modes[c]||(o.$modes[c]=y),this.$embeds.push(c),this.$modes[c]=y}for(var D=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],E=function(g){(function(S){var M=D[g],_=S[M];S[D[g]]=function(){return this.$delegator(M,arguments,_)}})(b)},b=this,c=0;cp[e].column&&e++,l.unshift(e,0),p.splice.apply(p,l),this.$updateRows()}}},d.prototype.$updateRows=function(){var s=this.session.lineWidgets;if(s){var p=!0;s.forEach(function(e,t){if(e)for(p=!1,e.row=t;e.$oldWidget;)e.$oldWidget.row=t,e=e.$oldWidget}),p&&(this.session.lineWidgets=null)}},d.prototype.$registerLineWidget=function(s){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var p=this.session.lineWidgets[s.row];return p&&(s.$oldWidget=p,p.el&&p.el.parentNode&&(p.el.parentNode.removeChild(p.el),p._inDocument=!1)),this.session.lineWidgets[s.row]=s,s},d.prototype.addLineWidget=function(s){if(this.$registerLineWidget(s),s.session=this.session,!this.editor)return s;var p=this.editor.renderer;s.html&&!s.el&&(s.el=o.createElement("div"),s.el.innerHTML=s.html),s.text&&!s.el&&(s.el=o.createElement("div"),s.el.textContent=s.text),s.el&&(o.addCssClass(s.el,"ace_lineWidgetContainer"),s.className&&o.addCssClass(s.el,s.className),s.el.style.position="absolute",s.el.style.zIndex="5",p.container.appendChild(s.el),s._inDocument=!0,s.coverGutter||(s.el.style.zIndex="3"),s.pixelHeight==null&&(s.pixelHeight=s.el.offsetHeight)),s.rowCount==null&&(s.rowCount=s.pixelHeight/p.layerConfig.lineHeight);var e=this.session.getFoldAt(s.row,0);if(s.$fold=e,e){var t=this.session.lineWidgets;s.row==e.end.row&&!t[e.start.row]?t[e.start.row]=s:s.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:s.row}}}),this.$updateRows(),this.renderWidgets(null,p),this.onWidgetChanged(s),s},d.prototype.removeLineWidget=function(s){if(s._inDocument=!1,s.session=null,s.el&&s.el.parentNode&&s.el.parentNode.removeChild(s.el),s.editor&&s.editor.destroy)try{s.editor.destroy()}catch{}if(this.session.lineWidgets){var p=this.session.lineWidgets[s.row];if(p==s)this.session.lineWidgets[s.row]=s.$oldWidget,s.$oldWidget&&this.onWidgetChanged(s.$oldWidget);else for(;p;){if(p.$oldWidget==s){p.$oldWidget=s.$oldWidget;break}p=p.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:s.row}}}),this.$updateRows()},d.prototype.getWidgetsAtRow=function(s){for(var p=this.session.lineWidgets,e=p&&p[s],t=[];e;)t.push(e),e=e.$oldWidget;return t},d.prototype.onWidgetChanged=function(s){this.session._changedWidgets.push(s),this.editor&&this.editor.renderer.updateFull()},d.prototype.measureWidgets=function(s,p){var e=this.session._changedWidgets,t=p.layerConfig;if(!(!e||!e.length)){for(var r=1/0,l=0;l0&&!t[r];)r--;this.firstRow=e.firstRow,this.lastRow=e.lastRow,p.$cursorLayer.config=e;for(var a=r;a<=l;a++){var c=t[a];if(!(!c||!c.el)){if(c.hidden){c.el.style.top=-100-(c.pixelHeight||0)+"px";continue}c._inDocument||(c._inDocument=!0,p.container.appendChild(c.el));var f=p.$cursorLayer.getPixelPosition({row:a,column:0},!0).top;c.coverLine||(f+=e.lineHeight*this.session.getRowLineCount(c.row)),c.el.style.top=f-e.offset+"px";var m=c.coverGutter?0:p.gutterWidth;c.fixedWidth||(m-=p.scrollLeft),c.el.style.left=m+"px",c.fullWidth&&c.screenWidth&&(c.el.style.minWidth=e.width+2*e.padding+"px"),c.fixedWidth?c.el.style.right=p.scrollBar.getWidth()+"px":c.el.style.right=""}}}},d}();u.LineWidgets=h}),ace.define("ace/apply_delta",["require","exports","module"],function(i,u,v){u.applyDelta=function(o,h,d){var s=h.start.row,p=h.start.column,e=o[s]||"";switch(h.action){case"insert":var t=h.lines;if(t.length===1)o[s]=e.substring(0,p)+h.lines[0]+e.substring(p);else{var r=[s,1].concat(h.lines);o.splice.apply(o,r),o[s]=e.substring(0,p)+o[s],o[s+h.lines.length-1]+=e.substring(p)}break;case"remove":var l=h.end.column,a=h.end.row;s===a?o[s]=e.substring(0,p)+e.substring(l):o.splice(s,a-s+1,e.substring(0,p)+o[a].substring(l));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(i,u,v){var o=i("./lib/oop"),h=i("./lib/event_emitter").EventEmitter,d=function(){function e(t,r,l){this.$onChange=this.onChange.bind(this),this.attach(t),typeof r!="number"?this.setPosition(r.row,r.column):this.setPosition(r,l)}return e.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},e.prototype.getDocument=function(){return this.document},e.prototype.onChange=function(t){if(!(t.start.row==t.end.row&&t.start.row!=this.row)&&!(t.start.row>this.row)){var r=p(t,{row:this.row,column:this.column},this.$insertRight);this.setPosition(r.row,r.column,!0)}},e.prototype.setPosition=function(t,r,l){var a;if(l?a={row:t,column:r}:a=this.$clipPositionToDocument(t,r),!(this.row==a.row&&this.column==a.column)){var c={row:this.row,column:this.column};this.row=a.row,this.column=a.column,this._signal("change",{old:c,value:a})}},e.prototype.detach=function(){this.document.off("change",this.$onChange)},e.prototype.attach=function(t){this.document=t||this.document,this.document.on("change",this.$onChange)},e.prototype.$clipPositionToDocument=function(t,r){var l={};return t>=this.document.getLength()?(l.row=Math.max(0,this.document.getLength()-1),l.column=this.document.getLine(l.row).length):t<0?(l.row=0,l.column=0):(l.row=t,l.column=Math.min(this.document.getLine(l.row).length,Math.max(0,r))),r<0&&(l.column=0),l},e}();d.prototype.$insertRight=!1,o.implement(d.prototype,h);function s(e,t,r){var l=r?e.column<=t.column:e.column=a&&(r=a-1,l=void 0);var c=this.getLine(r);return l==null&&(l=c.length),l=Math.min(Math.max(l,0),c.length),{row:r,column:l}},t.prototype.clonePos=function(r){return{row:r.row,column:r.column}},t.prototype.pos=function(r,l){return{row:r,column:l}},t.prototype.$clipPosition=function(r){var l=this.getLength();return r.row>=l?(r.row=Math.max(0,l-1),r.column=this.getLine(l-1).length):(r.row=Math.max(0,r.row),r.column=Math.min(Math.max(r.column,0),this.getLine(r.row).length)),r},t.prototype.insertFullLines=function(r,l){r=Math.min(Math.max(r,0),this.getLength());var a=0;r0,c=l=0&&this.applyDelta({start:this.pos(r,this.getLine(r).length),end:this.pos(r+1,0),action:"remove",lines:["",""]})},t.prototype.replace=function(r,l){if(r instanceof s||(r=s.fromPoints(r.start,r.end)),l.length===0&&r.isEmpty())return r.start;if(l==this.getTextRange(r))return r.end;this.remove(r);var a;return l?a=this.insert(r.start,l):a=r.start,a},t.prototype.applyDeltas=function(r){for(var l=0;l=0;l--)this.revertDelta(r[l])},t.prototype.applyDelta=function(r,l){var a=r.action=="insert";(a?r.lines.length<=1&&!r.lines[0]:!s.comparePoints(r.start,r.end))||(a&&r.lines.length>2e4?this.$splitAndapplyLargeDelta(r,2e4):(h(this.$lines,r,l),this._signal("change",r)))},t.prototype.$safeApplyDelta=function(r){var l=this.$lines.length;(r.action=="remove"&&r.start.row20){t.running=setTimeout(t.$worker,20);break}}t.currentLine=l,a==-1&&(a=l),f<=a&&t.fireUpdateEvent(f,a)}}}return s.prototype.setTokenizer=function(p){this.tokenizer=p,this.lines=[],this.states=[],this.start(0)},s.prototype.setDocument=function(p){this.doc=p,this.lines=[],this.states=[],this.stop()},s.prototype.fireUpdateEvent=function(p,e){var t={first:p,last:e};this._signal("update",{data:t})},s.prototype.start=function(p){this.currentLine=Math.min(p||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},s.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},s.prototype.$updateOnChange=function(p){var e=p.start.row,t=p.end.row-e;if(t===0)this.lines[e]=null;else if(p.action=="remove")this.lines.splice(e,t+1,null),this.states.splice(e,t+1,null);else{var r=Array(t+1);r.unshift(e,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(e,this.currentLine,this.doc.getLength()),this.stop()},s.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},s.prototype.getTokens=function(p){return this.lines[p]||this.$tokenizeRow(p)},s.prototype.getState=function(p){return this.currentLine==p&&this.$tokenizeRow(p),this.states[p]||"start"},s.prototype.$tokenizeRow=function(p){var e=this.doc.getLine(p),t=this.states[p-1],r=this.tokenizer.getLineTokens(e,t,p);return this.states[p]+""!=r.state+""?(this.states[p]=r.state,this.lines[p+1]=null,this.currentLine>p+1&&(this.currentLine=p+1)):this.currentLine==p&&(this.currentLine=p+1),this.lines[p]=r.tokens},s.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},s}();o.implement(d.prototype,h),u.BackgroundTokenizer=d}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(i,u,v){var o=i("./lib/lang"),h=i("./range").Range,d=function(){function s(p,e,t){t===void 0&&(t="text"),this.setRegexp(p),this.clazz=e,this.type=t,this.docLen=0}return s.prototype.setRegexp=function(p){this.regExp+""!=p+""&&(this.regExp=p,this.cache=[])},s.prototype.update=function(p,e,t,r){if(this.regExp){for(var l=r.firstRow,a=r.lastRow,c={},f=t.$editor&&t.$editor.$search,m=f&&f.$isMultilineSearch(t.$editor.getLastSearchOptions()),y=l;y<=a;y++){var D=this.cache[y];if(D==null||t.getValue().length!=this.docLen){if(m){D=[];var E=f.$multiLineForward(t,this.regExp,y,a);if(E){var b=E.endRow<=a?E.endRow-1:a;b>y&&(y=b),D.push(new h(E.startRow,E.startCol,E.endRow,E.endCol))}D.length>this.MAX_RANGES&&(D=D.slice(0,this.MAX_RANGES))}else D=o.getMatchOffsets(t.getLine(y),this.regExp),D.length>this.MAX_RANGES&&(D=D.slice(0,this.MAX_RANGES)),D=D.map(function(_){return new h(y,_.offset,y,_.offset+_.length)});this.cache[y]=D.length?D:""}if(D.length!==0)for(var g=D.length;g--;){var S=D[g].toScreenRange(t),M=S.toString();c[M]||(c[M]=!0,e.drawSingleLineMarker(p,S,this.clazz,r))}}this.docLen=t.getValue().length}},s}();d.prototype.MAX_RANGES=500,u.SearchHighlight=d}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(i,u,v){var o=function(){function b(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return b.prototype.addSession=function(g){this.$session=g},b.prototype.add=function(g,S,M){if(!this.$fromUndo&&g!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),S===!1||!this.lastDeltas){this.lastDeltas=[];var _=this.$undoStack.length;_>this.$undoDepth-1&&this.$undoStack.splice(0,_-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),g.id=this.$rev=++this.$maxRev}(g.action=="remove"||g.action=="insert")&&(this.$lastDelta=g),this.lastDeltas.push(g)}},b.prototype.addSelection=function(g,S){this.selections.push({value:g,rev:S||this.$rev})},b.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},b.prototype.markIgnored=function(g,S){S==null&&(S=this.$rev+1);for(var M=this.$undoStack,_=M.length;_--;){var T=M[_][0];if(T.id<=g)break;T.id0},b.prototype.canRedo=function(){return this.$redoStack.length>0},b.prototype.bookmark=function(g){g==null&&(g=this.$rev),this.mark=g},b.prototype.isAtBookmark=function(){return this.$rev===this.mark},b.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},b.prototype.fromJSON=function(g){this.reset(),this.$undoStack=g.$undoStack,this.$redoStack=g.$redoStack},b.prototype.$prettyPrint=function(g){return g?t(g):t(this.$undoStack)+` ---- -`+t(this.$redoStack)},b}();o.prototype.hasUndo=o.prototype.canUndo,o.prototype.hasRedo=o.prototype.canRedo,o.prototype.isClean=o.prototype.isAtBookmark,o.prototype.markClean=o.prototype.bookmark;function h(b,g){for(var S=g;S--;){var M=b[S];if(M&&!M[0].ignore){for(;S"+b.end.row+":"+b.end.column}function l(b,g){var S=b.action=="insert",M=g.action=="insert";if(S&&M)if(s(g.start,b.end)>=0)f(g,b,-1);else if(s(g.start,b.start)<=0)f(b,g,1);else return null;else if(S&&!M)if(s(g.start,b.end)>=0)f(g,b,-1);else if(s(g.end,b.start)<=0)f(b,g,-1);else return null;else if(!S&&M)if(s(g.start,b.start)>=0)f(g,b,1);else if(s(g.start,b.start)<=0)f(b,g,1);else return null;else if(!S&&!M)if(s(g.start,b.start)>=0)f(g,b,1);else if(s(g.end,b.start)<=0)f(b,g,-1);else return null;return[g,b]}function a(b,g){for(var S=b.length;S--;)for(var M=0;M=0?f(b,g,-1):(s(b.start,g.start)<=0||f(b,d.fromPoints(g.start,b.start),-1),f(g,b,1));else if(!S&&M)s(g.start,b.end)>=0?f(g,b,-1):(s(g.start,b.start)<=0||f(g,d.fromPoints(b.start,g.start),-1),f(b,g,1));else if(!S&&!M)if(s(g.start,b.end)>=0)f(g,b,-1);else if(s(g.end,b.start)<=0)f(b,g,-1);else{var _,T;return s(b.start,g.start)<0&&(_=b,b=y(b,g.start)),s(b.end,g.end)>0&&(T=y(b,g.end)),m(g.end,b.start,b.end,-1),T&&!_&&(b.lines=T.lines,b.start=T.start,b.end=T.end,T=b),[g,_,T].filter(Boolean)}return[g,b]}function f(b,g,S){m(b.start,g.start,g.end,S),m(b.end,g.start,g.end,S)}function m(b,g,S,M){b.row==(M==1?g:S).row&&(b.column+=M*(S.column-g.column)),b.row+=M*(S.row-g.row)}function y(b,g){var S=b.lines,M=b.end;b.end=p(g);var _=b.end.row-b.start.row,T=S.splice(_,S.length),F=_?g.column:g.column-b.start.column;S.push(T[0].substring(0,F)),T[0]=T[0].substr(F);var A={start:p(g),end:M,lines:T,action:b.action};return A}function D(b,g){g=e(g);for(var S=b.length;S--;){for(var M=b[S],_=0;_this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(s),this.folds.sort(function(p,e){return-p.range.compareEnd(e.start.row,e.start.column)}),this.range.compareEnd(s.start.row,s.start.column)>0?(this.end.row=s.end.row,this.end.column=s.end.column):this.range.compareStart(s.end.row,s.end.column)<0&&(this.start.row=s.start.row,this.start.column=s.start.column)}else if(s.start.row==this.end.row)this.folds.push(s),this.end.row=s.end.row,this.end.column=s.end.column;else if(s.end.row==this.start.row)this.folds.unshift(s),this.start.row=s.start.row,this.start.column=s.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");s.foldLine=this},d.prototype.containsRow=function(s){return s>=this.start.row&&s<=this.end.row},d.prototype.walk=function(s,p,e){var t=0,r=this.folds,l,a,c,f=!0;p==null&&(p=this.end.row,e=this.end.column);for(var m=0;m0)){var f=h(p,a.start);return c===0?e&&f!==0?-l-2:l:f>0||f===0&&!e?l:-l-1}}return-l-1},s.prototype.add=function(p){var e=!p.isEmpty(),t=this.pointIndex(p.start,e);t<0&&(t=-t-1);var r=this.pointIndex(p.end,e,t);return r<0?r=-r-1:r++,this.ranges.splice(t,r-t,p)},s.prototype.addList=function(p){for(var e=[],t=p.length;t--;)e.push.apply(e,this.add(p[t]));return e},s.prototype.substractPoint=function(p){var e=this.pointIndex(p);if(e>=0)return this.ranges.splice(e,1)},s.prototype.merge=function(){var p=[],e=this.ranges;e=e.sort(function(c,f){return h(c.start,f.start)});for(var t=e[0],r,l=1;l=0},s.prototype.containsPoint=function(p){return this.pointIndex(p)>=0},s.prototype.rangeAtPoint=function(p){var e=this.pointIndex(p);if(e>=0)return this.ranges[e]},s.prototype.clipRows=function(p,e){var t=this.ranges;if(t[0].start.row>e||t[t.length-1].start.row=r)break}if(p.action=="insert")for(var y=l-r,D=-e.column+t.column;cr)break;if(m.start.row==r&&m.start.column>=e.column&&(m.start.column==e.column&&this.$bias<=0||(m.start.column+=D,m.start.row+=y)),m.end.row==r&&m.end.column>=e.column){if(m.end.column==e.column&&this.$bias<0)continue;m.end.column==e.column&&D>0&&cm.start.column&&m.end.column==a[c+1].start.column&&(m.end.column-=D),m.end.column+=D,m.end.row+=y}}else for(var y=r-l,D=e.column-t.column;cl)break;m.end.rowe.column)&&(m.end.column=e.column,m.end.row=e.row):(m.end.column+=D,m.end.row+=y):m.end.row>l&&(m.end.row+=y),m.start.rowe.column)&&(m.start.column=e.column,m.start.row=e.row):(m.start.column+=D,m.start.row+=y):m.start.row>l&&(m.start.row+=y)}if(y!=0&&c=t)return c;if(c.end.row>t)return null}return null},this.getNextFoldLine=function(t,r){var l=this.$foldData,a=0;for(r&&(a=l.indexOf(r)),a==-1&&(a=0),a;a=t)return c}return null},this.getFoldedRowCount=function(t,r){for(var l=this.$foldData,a=r-t+1,c=0;c=r){y=t?a-=r-y:a=0);break}else m>=t&&(y>=t?a-=m-y:a-=m-t+1)}return a},this.$addFoldLine=function(t){return this.$foldData.push(t),this.$foldData.sort(function(r,l){return r.start.row-l.start.row}),t},this.addFold=function(t,r){var l=this.$foldData,a=!1,c;t instanceof d?c=t:(c=new d(r,t),c.collapseChildren=r.collapseChildren),this.$clipRangeToDocument(c.range);var f=c.start.row,m=c.start.column,y=c.end.row,D=c.end.column,E=this.getFoldAt(f,m,1),b=this.getFoldAt(y,D,-1);if(E&&b==E)return E.addSubFold(c);E&&!E.range.isStart(f,m)&&this.removeFold(E),b&&!b.range.isEnd(y,D)&&this.removeFold(b);var g=this.getFoldsInRange(c.range);g.length>0&&(this.removeFolds(g),c.collapseChildren||g.forEach(function(T){c.addSubFold(T)}));for(var S=0;S0&&this.foldAll(t.start.row+1,t.end.row,t.collapseChildren-1),t.subFolds=[]},this.expandFolds=function(t){t.forEach(function(r){this.expandFold(r)},this)},this.unfold=function(t,r){var l,a;if(t==null)l=new o(0,0,this.getLength(),0),r==null&&(r=!0);else if(typeof t=="number")l=new o(t,0,t,this.getLine(t).length);else if("row"in t)l=o.fromPoints(t,t);else{if(Array.isArray(t))return a=[],t.forEach(function(f){a=a.concat(this.unfold(f))},this),a;l=t}a=this.getFoldsInRangeList(l);for(var c=a;a.length==1&&o.comparePoints(a[0].start,l.start)<0&&o.comparePoints(a[0].end,l.end)>0;)this.expandFolds(a),a=this.getFoldsInRangeList(l);if(r!=!1?this.removeFolds(a):this.expandFolds(a),c.length)return c},this.isRowFolded=function(t,r){return!!this.getFoldLine(t,r)},this.getRowFoldEnd=function(t,r){var l=this.getFoldLine(t,r);return l?l.end.row:t},this.getRowFoldStart=function(t,r){var l=this.getFoldLine(t,r);return l?l.start.row:t},this.getFoldDisplayLine=function(t,r,l,a,c){a==null&&(a=t.start.row),c==null&&(c=0),r==null&&(r=t.end.row),l==null&&(l=this.getLine(r).length);var f=this.doc,m="";return t.walk(function(y,D,E,b){if(!(DE)break;while(c&&m.test(c.type));c=a.stepBackward()}else c=a.getCurrentToken();return y.end.row=a.getCurrentTokenRow(),y.end.column=a.getCurrentTokenColumn(),y.start.row==y.end.row&&y.start.column>y.end.column?void 0:y}},this.foldAll=function(t,r,l,a){l==null&&(l=1e5);var c=this.foldWidgets;if(c){r=r||this.getLength(),t=t||0;for(var f=t;f=t&&(f=m.end.row,m.collapseChildren=l,this.addFold("...",m))}}},this.foldToLevel=function(t){for(this.foldAll();t-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var t=this;this.foldAll(null,null,null,function(r){for(var l=t.getTokens(r),a=0;a=0;){var f=l[a];if(f==null&&(f=l[a]=this.getFoldWidget(a)),f=="start"){var m=this.getFoldWidgetRange(a);if(c||(c=m),m&&m.end.row>=t)break}a--}return{range:a!==-1&&m,firstRange:c}},this.onFoldWidgetClick=function(t,r){r instanceof p&&(r=r.domEvent);var l={children:r.shiftKey,all:r.ctrlKey||r.metaKey,siblings:r.altKey},a=this.$toggleFoldWidget(t,l);if(!a){var c=r.target||r.srcElement;c&&/ace_fold-widget/.test(c.className)&&(c.className+=" ace_invalid")}},this.$toggleFoldWidget=function(t,r){if(this.getFoldWidget){var l=this.getFoldWidget(t),a=this.getLine(t),c=l==="end"?-1:1,f=this.getFoldAt(t,c===-1?0:a.length,c);if(f)return r.children||r.all?this.removeFold(f):this.expandFold(f),f;var m=this.getFoldWidgetRange(t,!0);if(m&&!m.isMultiLine()&&(f=this.getFoldAt(m.start.row,m.start.column,1),f&&m.isEqual(f.range)))return this.removeFold(f),f;if(r.siblings){var y=this.getParentFoldRangeData(t);if(y.range)var D=y.range.start.row+1,E=y.range.end.row;this.foldAll(D,E,r.all?1e4:0)}else r.children?(E=m?m.end.row:this.getLength(),this.foldAll(t+1,E,r.all?1e4:0)):m&&(r.all&&(m.collapseChildren=1e4),this.addFold("...",m));return m}},this.toggleFoldWidget=function(t){var r=this.selection.getCursor().row;r=this.getRowFoldStart(r);var l=this.$toggleFoldWidget(r,{});if(!l){var a=this.getParentFoldRangeData(r,!0);if(l=a.range||a.firstRange,l){r=l.start.row;var c=this.getFoldAt(r,this.getLine(r).length,1);c?this.removeFold(c):this.addFold("...",l)}}},this.updateFoldWidgets=function(t){var r=t.start.row,l=t.end.row-r;if(l===0)this.foldWidgets[r]=null;else if(t.action=="remove")this.foldWidgets.splice(r,l+1,null);else{var a=Array(l+1);a.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,a)}},this.tokenizerUpdateFoldWidgets=function(t){var r=t.data;r.first!=r.last&&this.foldWidgets.length>r.first&&this.foldWidgets.splice(r.first,this.foldWidgets.length)}}u.Folding=e}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(i,u,v){var o=i("../token_iterator").TokenIterator,h=i("../range").Range;function d(){this.findMatchingBracket=function(s,p){if(s.column==0)return null;var e=p||this.getLine(s.row).charAt(s.column-1);if(e=="")return null;var t=e.match(/([\(\[\{])|([\)\]\}])/);return t?t[1]?this.$findClosingBracket(t[1],s):this.$findOpeningBracket(t[2],s):null},this.getBracketRange=function(s){var p=this.getLine(s.row),e=!0,t,r=p.charAt(s.column-1),l=r&&r.match(/([\(\[\{])|([\)\]\}])/);if(l||(r=p.charAt(s.column),s={row:s.row,column:s.column+1},l=r&&r.match(/([\(\[\{])|([\)\]\}])/),e=!1),!l)return null;if(l[1]){var a=this.$findClosingBracket(l[1],s);if(!a)return null;t=h.fromPoints(s,a),e||(t.end.column++,t.start.column--),t.cursor=t.end}else{var a=this.$findOpeningBracket(l[2],s);if(!a)return null;t=h.fromPoints(a,s),e||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.getMatchingBracketRanges=function(s,p){var e=this.getLine(s.row),t=/([\(\[\{])|([\)\]\}])/,r=!p&&e.charAt(s.column-1),l=r&&r.match(t);if(l||(r=(p===void 0||p)&&e.charAt(s.column),s={row:s.row,column:s.column+1},l=r&&r.match(t)),!l)return null;var a=new h(s.row,s.column-1,s.row,s.column),c=l[1]?this.$findClosingBracket(l[1],s):this.$findOpeningBracket(l[2],s);if(!c)return[a];var f=new h(c.row,c.column,c.row,c.column+1);return[a,f]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(s,p,e){var t=this.$brackets[s],r=1,l=new o(this,p.row,p.column),a=l.getCurrentToken();if(a||(a=l.stepForward()),!!a){e||(e=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var c=p.column-l.getCurrentTokenColumn()-2,f=a.value;;){for(;c>=0;){var m=f.charAt(c);if(m==t){if(r-=1,r==0)return{row:l.getCurrentTokenRow(),column:c+l.getCurrentTokenColumn()}}else m==s&&(r+=1);c-=1}do a=l.stepBackward();while(a&&!e.test(a.type));if(a==null)break;f=a.value,c=f.length-1}return null}},this.$findClosingBracket=function(s,p,e){var t=this.$brackets[s],r=1,l=new o(this,p.row,p.column),a=l.getCurrentToken();if(a||(a=l.stepForward()),!!a){e||(e=new RegExp("(\\.?"+a.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var c=p.column-l.getCurrentTokenColumn();;){for(var f=a.value,m=f.length;c"?t=!0:p.type.indexOf("tag-name")!==-1&&(e=!0));while(p&&!e);return p},this.$findClosingTag=function(s,p){var e,t=p.value,r=p.value,l=0,a=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);p=s.stepForward();var c=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+p.value.length),f=!1;do{if(e=p,e.type.indexOf("tag-close")!==-1&&!f){var m=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);f=!0}if(p=s.stepForward(),p){if(p.value===">"&&!f){var m=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);f=!0}if(p.type.indexOf("tag-name")!==-1){if(t=p.value,r===t){if(e.value==="<")l++;else if(e.value==="")var E=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);else return}}}else if(r===t&&p.value==="/>"&&(l--,l<0))var y=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+2),D=y,E=D,m=new h(c.end.row,c.end.column,c.end.row,c.end.column+1)}}while(p&&l>=0);if(a&&m&&y&&E&&c&&D)return{openTag:new h(a.start.row,a.start.column,m.end.row,m.end.column),closeTag:new h(y.start.row,y.start.column,E.end.row,E.end.column),openTagName:c,closeTagName:D}},this.$findOpeningTag=function(s,p){var e=s.getCurrentToken(),t=p.value,r=0,l=s.getCurrentTokenRow(),a=s.getCurrentTokenColumn(),c=a+2,f=new h(l,a,l,c);s.stepForward();var m=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+p.value.length);if(p.type.indexOf("tag-close")===-1&&(p=s.stepForward()),!(!p||p.value!==">")){var y=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);s.stepBackward(),s.stepBackward();do if(p=e,l=s.getCurrentTokenRow(),a=s.getCurrentTokenColumn(),c=a+p.value.length,e=s.stepBackward(),p){if(p.type.indexOf("tag-name")!==-1){if(t===p.value)if(e.value==="<"){if(r++,r>0){var D=new h(l,a,l,c),E=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1);do p=s.stepForward();while(p&&p.value!==">");var b=new h(s.getCurrentTokenRow(),s.getCurrentTokenColumn(),s.getCurrentTokenRow(),s.getCurrentTokenColumn()+1)}}else e.value===""){for(var g=0,S=e;S;){if(S.type.indexOf("tag-name")!==-1&&S.value===t){r--;break}else if(S.value==="<")break;S=s.stepBackward(),g++}for(var M=0;Mw&&(this.$docRowCache.splice(w,C),this.$screenRowCache.splice(w,C))},A.prototype.$getRowCacheIndex=function($,C){for(var w=0,x=$.length-1;w<=x;){var I=w+x>>1,R=$[I];if(C>R)w=I+1;else if(C=C));R++);return x=w[R],x?(x.index=R,x.start=I-x.value.length,x):null},A.prototype.setUndoManager=function($){if(this.$undoManager=$,this.$informUndoManager&&this.$informUndoManager.cancel(),$){var C=this;$.addSession(this),this.$syncInformUndoManager=function(){C.$informUndoManager.cancel(),C.mergeUndoDeltas=!1},this.$informUndoManager=h.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},A.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},A.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},A.prototype.getTabString=function(){return this.getUseSoftTabs()?h.stringRepeat(" ",this.getTabSize()):" "},A.prototype.setUseSoftTabs=function($){this.setOption("useSoftTabs",$)},A.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},A.prototype.setTabSize=function($){this.setOption("tabSize",$)},A.prototype.getTabSize=function(){return this.$tabSize},A.prototype.isTabStop=function($){return this.$useSoftTabs&&$.column%this.$tabSize===0},A.prototype.setNavigateWithinSoftTabs=function($){this.setOption("navigateWithinSoftTabs",$)},A.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},A.prototype.setOverwrite=function($){this.setOption("overwrite",$)},A.prototype.getOverwrite=function(){return this.$overwrite},A.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},A.prototype.addGutterDecoration=function($,C){this.$decorations[$]||(this.$decorations[$]=""),this.$decorations[$]+=" "+C,this._signal("changeBreakpoint",{})},A.prototype.removeGutterCustomWidget=function($){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget($)},A.prototype.addGutterCustomWidget=function($,C){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget($,C)},A.prototype.removeGutterDecoration=function($,C){this.$decorations[$]=(this.$decorations[$]||"").replace(" "+C,""),this._signal("changeBreakpoint",{})},A.prototype.getBreakpoints=function(){return this.$breakpoints},A.prototype.setBreakpoints=function($){this.$breakpoints=[];for(var C=0;C<$.length;C++)this.$breakpoints[$[C]]="ace_breakpoint";this._signal("changeBreakpoint",{})},A.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},A.prototype.setBreakpoint=function($,C){C===void 0&&(C="ace_breakpoint"),C?this.$breakpoints[$]=C:delete this.$breakpoints[$],this._signal("changeBreakpoint",{})},A.prototype.clearBreakpoint=function($){delete this.$breakpoints[$],this._signal("changeBreakpoint",{})},A.prototype.addMarker=function($,C,w,x){var I=this.$markerId++,R={range:$,type:w||"line",renderer:typeof w=="function"?w:null,clazz:C,inFront:!!x,id:I};return x?(this.$frontMarkers[I]=R,this._signal("changeFrontMarker")):(this.$backMarkers[I]=R,this._signal("changeBackMarker")),I},A.prototype.addDynamicMarker=function($,C){if($.update){var w=this.$markerId++;return $.id=w,$.inFront=!!C,C?(this.$frontMarkers[w]=$,this._signal("changeFrontMarker")):(this.$backMarkers[w]=$,this._signal("changeBackMarker")),$}},A.prototype.removeMarker=function($){var C=this.$frontMarkers[$]||this.$backMarkers[$];if(C){var w=C.inFront?this.$frontMarkers:this.$backMarkers;delete w[$],this._signal(C.inFront?"changeFrontMarker":"changeBackMarker")}},A.prototype.getMarkers=function($){return $?this.$frontMarkers:this.$backMarkers},A.prototype.highlight=function($){if(!this.$searchHighlight){var C=new f(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(C)}this.$searchHighlight.setRegexp($)},A.prototype.highlightLines=function($,C,w,x){typeof C!="number"&&(w=C,C=$),w||(w="ace_step");var I=new r($,0,C,1/0);return I.id=this.addMarker(I,w,"fullLine",x),I},A.prototype.setAnnotations=function($){this.$annotations=$,this._signal("changeAnnotation",{})},A.prototype.getAnnotations=function(){return this.$annotations||[]},A.prototype.clearAnnotations=function(){this.setAnnotations([])},A.prototype.$detectNewLine=function($){var C=$.match(/^.*?(\r?\n)/m);C?this.$autoNewLine=C[1]:this.$autoNewLine=` -`},A.prototype.getWordRange=function($,C){var w=this.getLine($),x=!1;if(C>0&&(x=!!w.charAt(C-1).match(this.tokenRe)),x||(x=!!w.charAt(C).match(this.tokenRe)),x)var I=this.tokenRe;else if(/^\s+$/.test(w.slice(C-1,C+1)))var I=/\s/;else var I=this.nonTokenRe;var R=C;if(R>0){do R--;while(R>=0&&w.charAt(R).match(I));R++}for(var O=C;O$&&($=C.screenWidth)}),this.lineWidgetWidth=$},A.prototype.$computeWidth=function($){if(this.$modified||$){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var C=this.doc.getAllLines(),w=this.$rowLengthCache,x=0,I=0,R=this.$foldData[I],O=R?R.start.row:1/0,P=C.length,B=0;BO){if(B=R.end.row+1,B>=P)break;R=this.$foldData[I++],O=R?R.start.row:1/0}w[B]==null&&(w[B]=this.$getStringScreenWidth(C[B])[0]),w[B]>x&&(x=w[B])}this.screenWidth=x}},A.prototype.getLine=function($){return this.doc.getLine($)},A.prototype.getLines=function($,C){return this.doc.getLines($,C)},A.prototype.getLength=function(){return this.doc.getLength()},A.prototype.getTextRange=function($){return this.doc.getTextRange($||this.selection.getRange())},A.prototype.insert=function($,C){return this.doc.insert($,C)},A.prototype.remove=function($){return this.doc.remove($)},A.prototype.removeFullLines=function($,C){return this.doc.removeFullLines($,C)},A.prototype.undoChanges=function($,C){if($.length){this.$fromUndo=!0;for(var w=$.length-1;w!=-1;w--){var x=$[w];x.action=="insert"||x.action=="remove"?this.doc.revertDelta(x):x.folds&&this.addFolds(x.folds)}!C&&this.$undoSelect&&($.selectionBefore?this.selection.fromJSON($.selectionBefore):this.selection.setRange(this.$getUndoSelection($,!0))),this.$fromUndo=!1}},A.prototype.redoChanges=function($,C){if($.length){this.$fromUndo=!0;for(var w=0;w<$.length;w++){var x=$[w];(x.action=="insert"||x.action=="remove")&&this.doc.$safeApplyDelta(x)}!C&&this.$undoSelect&&($.selectionAfter?this.selection.fromJSON($.selectionAfter):this.selection.setRange(this.$getUndoSelection($,!1))),this.$fromUndo=!1}},A.prototype.setUndoSelect=function($){this.$undoSelect=$},A.prototype.$getUndoSelection=function($,C){function w(P){return C?P.action!=="insert":P.action==="insert"}for(var x,I,R=0;R<$.length;R++){var O=$[R];if(O.start){if(!x){w(O)?x=r.fromPoints(O.start,O.end):x=r.fromPoints(O.start,O.start);continue}w(O)?(I=O.start,x.compare(I.row,I.column)==-1&&x.setStart(I),I=O.end,x.compare(I.row,I.column)==1&&x.setEnd(I)):(I=O.start,x.compare(I.row,I.column)==-1&&(x=r.fromPoints(O.start,O.start)))}}return x},A.prototype.replace=function($,C){return this.doc.replace($,C)},A.prototype.moveText=function($,C,w){var x=this.getTextRange($),I=this.getFoldsInRange($),R=r.fromPoints(C,C);if(!w){this.remove($);var O=$.start.row-$.end.row,P=O?-$.end.column:$.start.column-$.end.column;P&&(R.start.row==$.end.row&&R.start.column>$.end.column&&(R.start.column+=P),R.end.row==$.end.row&&R.end.column>$.end.column&&(R.end.column+=P)),O&&R.start.row>=$.end.row&&(R.start.row+=O,R.end.row+=O)}if(R.end=this.insert(R.start,x),I.length){var B=$.start,V=R.start,O=V.row-B.row,P=V.column-B.column;this.addFolds(I.map(function(U){return U=U.clone(),U.start.row==B.row&&(U.start.column+=P),U.end.row==B.row&&(U.end.column+=P),U.start.row+=O,U.end.row+=O,U}))}return R},A.prototype.indentRows=function($,C,w){w=w.replace(/\t/g,this.getTabString());for(var x=$;x<=C;x++)this.doc.insertInLine({row:x,column:0},w)},A.prototype.outdentRows=function($){for(var C=$.collapseRows(),w=new r(0,0,0,0),x=this.getTabSize(),I=C.start.row;I<=C.end.row;++I){var R=this.getLine(I);w.start.row=I,w.end.row=I;for(var O=0;O0){var x=this.getRowFoldEnd(C+w);if(x>this.doc.getLength()-1)return 0;var I=x-C}else{$=this.$clipRowToDocument($),C=this.$clipRowToDocument(C);var I=C-$+1}var R=new r($,0,C,Number.MAX_VALUE),O=this.getFoldsInRange(R).map(function(B){return B=B.clone(),B.start.row+=I,B.end.row+=I,B}),P=w==0?this.doc.getLines($,C):this.doc.removeFullLines($,C);return this.doc.insertFullLines($+I,P),O.length&&this.addFolds(O),I},A.prototype.moveLinesUp=function($,C){return this.$moveLines($,C,-1)},A.prototype.moveLinesDown=function($,C){return this.$moveLines($,C,1)},A.prototype.duplicateLines=function($,C){return this.$moveLines($,C,0)},A.prototype.$clipRowToDocument=function($){return Math.max(0,Math.min($,this.doc.getLength()-1))},A.prototype.$clipColumnToRow=function($,C){return C<0?0:Math.min(this.doc.getLine($).length,C)},A.prototype.$clipPositionToDocument=function($,C){if(C=Math.max(0,C),$<0)$=0,C=0;else{var w=this.doc.getLength();$>=w?($=w-1,C=this.doc.getLine(w-1).length):C=Math.min(this.doc.getLine($).length,C)}return{row:$,column:C}},A.prototype.$clipRangeToDocument=function($){$.start.row<0?($.start.row=0,$.start.column=0):$.start.column=this.$clipColumnToRow($.start.row,$.start.column);var C=this.doc.getLength()-1;return $.end.row>C?($.end.row=C,$.end.column=this.doc.getLine(C).length):$.end.column=this.$clipColumnToRow($.end.row,$.end.column),$},A.prototype.setUseWrapMode=function($){if($!=this.$useWrapMode){if(this.$useWrapMode=$,this.$modified=!0,this.$resetRowCache(0),$){var C=this.getLength();this.$wrapData=Array(C),this.$updateWrapData(0,C-1)}this._signal("changeWrapMode")}},A.prototype.getUseWrapMode=function(){return this.$useWrapMode},A.prototype.setWrapLimitRange=function($,C){(this.$wrapLimitRange.min!==$||this.$wrapLimitRange.max!==C)&&(this.$wrapLimitRange={min:$,max:C},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},A.prototype.adjustWrapLimit=function($,C){var w=this.$wrapLimitRange;w.max<0&&(w={min:C,max:C});var x=this.$constrainWrapLimit($,w.min,w.max);return x!=this.$wrapLimit&&x>1?(this.$wrapLimit=x,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},A.prototype.$constrainWrapLimit=function($,C,w){return C&&($=Math.max(C,$)),w&&($=Math.min(w,$)),$},A.prototype.getWrapLimit=function(){return this.$wrapLimit},A.prototype.setWrapLimit=function($){this.setWrapLimitRange($,$)},A.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},A.prototype.$updateInternalDataOnChange=function($){var C=this.$useWrapMode,w=$.action,x=$.start,I=$.end,R=x.row,O=I.row,P=O-R,B=null;if(this.$updating=!0,P!=0)if(w==="remove"){this[C?"$wrapData":"$rowLengthCache"].splice(R,P);var V=this.$foldData;B=this.getFoldsInRange($),this.removeFolds(B);var W=this.getFoldLine(I.row),H=0;if(W){W.addRemoveChars(I.row,I.column,x.column-I.column),W.shiftRow(-P);var U=this.getFoldLine(R);U&&U!==W&&(U.merge(W),W=U),H=V.indexOf(W)+1}for(H;H=I.row&&W.shiftRow(-P)}O=R}else{var G=Array(P);G.unshift(R,0);var Y=C?this.$wrapData:this.$rowLengthCache;Y.splice.apply(Y,G);var V=this.$foldData,W=this.getFoldLine(R),H=0;if(W){var Q=W.range.compareInside(x.row,x.column);Q==0?(W=W.split(x.row,x.column),W&&(W.shiftRow(P),W.addRemoveChars(O,0,I.column-x.column))):Q==-1&&(W.addRemoveChars(R,0,I.column-x.column),W.shiftRow(P)),H=V.indexOf(W)+1}for(H;H=R&&W.shiftRow(P)}}else{P=Math.abs($.start.column-$.end.column),w==="remove"&&(B=this.getFoldsInRange($),this.removeFolds(B),P=-P);var W=this.getFoldLine(R);W&&W.addRemoveChars(R,x.column,P)}return C&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,C?this.$updateWrapData(R,O):this.$updateRowLengthCache(R,O),B},A.prototype.$updateRowLengthCache=function($,C){this.$rowLengthCache[$]=null,this.$rowLengthCache[C]=null},A.prototype.$updateWrapData=function($,C){var w=this.doc.getAllLines(),x=this.getTabSize(),I=this.$wrapData,R=this.$wrapLimit,O,P,B=$;for(C=Math.min(C,w.length-1);B<=C;)P=this.getFoldLine(B,P),P?(O=[],P.walk(function(V,W,H,U){var G;if(V!=null){G=this.$getDisplayTokens(V,O.length),G[0]=b;for(var Y=1;YC-U;){var G=R+C-U;if($[G-1]>=M&&$[G]>=M){H(G);continue}if($[G]==b||$[G]==g){for(G;G!=R-1&&$[G]!=b;G--);if(G>R){H(G);continue}for(G=R+C,G;G<$.length&&$[G]==g;G++);if(G==$.length)break;H(G);continue}for(var Y=Math.max(G-(C-(C>>2)),R-1);G>Y&&$[G]Y&&$[G]Y&&$[G]==S;)G--}else for(;G>Y&&$[G]Y){H(++G);continue}G=R+C,$[G]==E&&G--,H(G-U)}return x},A.prototype.$getDisplayTokens=function($,C){var w=[],x;C=C||0;for(var I=0;I<$.length;I++){var R=$.charCodeAt(I);if(R==9){x=this.getScreenTabSize(w.length+C),w.push(_);for(var O=1;O39&&R<48||R>57&&R<64?w.push(S):R>=4352&&F(R)?w.push(D,E):w.push(D)}return w},A.prototype.$getStringScreenWidth=function($,C,w){if(C==0)return[0,0];C==null&&(C=1/0),w=w||0;var x,I;for(I=0;I<$.length&&(x=$.charCodeAt(I),x==9?w+=this.getScreenTabSize(w):x>=4352&&F(x)?w+=2:w+=1,!(w>C));I++);return[w,I]},A.prototype.getRowLength=function($){var C=1;return this.lineWidgets&&(C+=this.lineWidgets[$]&&this.lineWidgets[$].rowCount||0),!this.$useWrapMode||!this.$wrapData[$]?C:this.$wrapData[$].length+C},A.prototype.getRowLineCount=function($){return!this.$useWrapMode||!this.$wrapData[$]?1:this.$wrapData[$].length+1},A.prototype.getRowWrapIndent=function($){if(this.$useWrapMode){var C=this.screenToDocumentPosition($,Number.MAX_VALUE),w=this.$wrapData[C.row];return w.length&&w[0]=0)var P=V[W],I=this.$docRowCache[W],U=$>V[H-1];else var U=!H;for(var G=this.getLength()-1,Y=this.getNextFoldLine(I),Q=Y?Y.start.row:1/0;P<=$&&(B=this.getRowLength(I),!(P+B>$||I>=G));)P+=B,I++,I>Q&&(I=Y.end.row+1,Y=this.getNextFoldLine(I,Y),Q=Y?Y.start.row:1/0),U&&(this.$docRowCache.push(I),this.$screenRowCache.push(P));if(Y&&Y.start.row<=I)x=this.getFoldDisplayLine(Y),I=Y.start.row;else{if(P+B<=$||I>G)return{row:G,column:this.getLine(G).length};x=this.getLine(I),Y=null}var ee=0,ne=Math.floor($-P);if(this.$useWrapMode){var se=this.$wrapData[I];se&&(O=se[ne],ne>0&&se.length&&(ee=se.indent,R=se[ne-1]||se[se.length-1],x=x.substring(R)))}return w!==void 0&&this.$bidiHandler.isBidiRow(P+ne,I,ne)&&(C=this.$bidiHandler.offsetToCol(w)),R+=this.$getStringScreenWidth(x,C-ee)[1],this.$useWrapMode&&R>=O&&(R=O-1),Y?Y.idxToPosition(R):{row:I,column:R}},A.prototype.documentToScreenPosition=function($,C){if(typeof C>"u")var w=this.$clipPositionToDocument($.row,$.column);else w=this.$clipPositionToDocument($,C);$=w.row,C=w.column;var x=0,I=null,R=null;R=this.getFoldAt($,C,1),R&&($=R.start.row,C=R.start.column);var O,P=0,B=this.$docRowCache,V=this.$getRowCacheIndex(B,$),W=B.length;if(W&&V>=0)var P=B[V],x=this.$screenRowCache[V],H=$>B[W-1];else var H=!W;for(var U=this.getNextFoldLine(P),G=U?U.start.row:1/0;P<$;){if(P>=G){if(O=U.end.row+1,O>$)break;U=this.getNextFoldLine(O,U),G=U?U.start.row:1/0}else O=P+1;x+=this.getRowLength(P),P=O,H&&(this.$docRowCache.push(P),this.$screenRowCache.push(x))}var Y="";U&&P>=G?(Y=this.getFoldDisplayLine(U,$,C),I=U.start.row):(Y=this.getLine($).substring(0,C),I=$);var Q=0;if(this.$useWrapMode){var ee=this.$wrapData[I];if(ee){for(var ne=0;Y.length>=ee[ne];)x++,ne++;Y=Y.substring(ee[ne-1]||0,Y.length),Q=ne>0?ee.indent:0}}return this.lineWidgets&&this.lineWidgets[P]&&this.lineWidgets[P].rowsAbove&&(x+=this.lineWidgets[P].rowsAbove),{row:x,column:Q+this.$getStringScreenWidth(Y)[0]}},A.prototype.documentToScreenColumn=function($,C){return this.documentToScreenPosition($,C).column},A.prototype.documentToScreenRow=function($,C){return this.documentToScreenPosition($,C).row},A.prototype.getScreenLength=function(){var $=0,C=null;if(this.$useWrapMode)for(var I=this.$wrapData.length,R=0,x=0,C=this.$foldData[x++],O=C?C.start.row:1/0;RO&&(R=C.end.row+1,C=this.$foldData[x++],O=C?C.start.row:1/0)}else{$=this.getLength();for(var w=this.$foldData,x=0;xw));R++);return[x,R]})},A.prototype.getPrecedingCharacter=function(){var $=this.selection.getCursor();if($.column===0)return $.row===0?"":this.doc.getNewLineCharacter();var C=this.getLine($.row);return C[$.column-1]},A.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},A}();y.$uid=0,y.prototype.$modes=s.$modes,y.prototype.getValue=y.prototype.toString,y.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},y.prototype.$overwrite=!1,y.prototype.$mode=null,y.prototype.$modeId=null,y.prototype.$scrollTop=0,y.prototype.$scrollLeft=0,y.prototype.$wrapLimit=80,y.prototype.$useWrapMode=!1,y.prototype.$wrapLimitRange={min:null,max:null},y.prototype.lineWidgets=null,y.prototype.isFullWidth=F,o.implement(y.prototype,p);var D=1,E=2,b=3,g=4,S=9,M=10,_=11,T=12;function F(A){return A<4352?!1:A>=4352&&A<=4447||A>=4515&&A<=4519||A>=4602&&A<=4607||A>=9001&&A<=9002||A>=11904&&A<=11929||A>=11931&&A<=12019||A>=12032&&A<=12245||A>=12272&&A<=12283||A>=12288&&A<=12350||A>=12353&&A<=12438||A>=12441&&A<=12543||A>=12549&&A<=12589||A>=12593&&A<=12686||A>=12688&&A<=12730||A>=12736&&A<=12771||A>=12784&&A<=12830||A>=12832&&A<=12871||A>=12880&&A<=13054||A>=13056&&A<=19903||A>=19968&&A<=42124||A>=42128&&A<=42182||A>=43360&&A<=43388||A>=44032&&A<=55203||A>=55216&&A<=55238||A>=55243&&A<=55291||A>=63744&&A<=64255||A>=65040&&A<=65049||A>=65072&&A<=65106||A>=65108&&A<=65126||A>=65128&&A<=65131||A>=65281&&A<=65376||A>=65504&&A<=65510}i("./edit_session/folding").Folding.call(y.prototype),i("./edit_session/bracket_match").BracketMatch.call(y.prototype),s.defineOptions(y.prototype,"session",{wrap:{set:function(A){if(!A||A=="off"?A=!1:A=="free"?A=!0:A=="printMargin"?A=-1:typeof A=="string"&&(A=parseInt(A,10)||!1),this.$wrap!=A)if(this.$wrap=A,!A)this.setUseWrapMode(!1);else{var $=typeof A=="number"?A:null;this.setWrapLimitRange($,$),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(A){A=A=="auto"?this.$mode.type!="text":A!="text",A!=this.$wrapAsCode&&(this.$wrapAsCode=A,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(A){this.$useWorker=A,this.$stopWorker(),A&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(A){A=parseInt(A),A>0&&this.$tabSize!==A&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=A,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(A){this.setFoldStyle(A)},handlesSet:!0},overwrite:{set:function(A){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(A){this.doc.setNewLineMode(A)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(A){this.setMode(A)},get:function(){return this.$modeId},handlesSet:!0}}),u.EditSession=y}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(i,u,v){var o=i("./lib/lang"),h=i("./lib/oop"),d=i("./range").Range,s=function(){function r(){this.$options={}}return r.prototype.set=function(l){return h.mixin(this.$options,l),this},r.prototype.getOptions=function(){return o.copyObject(this.$options)},r.prototype.setOptions=function(l){this.$options=l},r.prototype.find=function(l){var a=this.$options,c=this.$matchIterator(l,a);if(!c)return!1;var f=null;return c.forEach(function(m,y,D,E){return f=new d(m,y,D,E),y==E&&a.start&&a.start.start&&a.skipCurrent!=!1&&f.isEqual(a.start)?(f=null,!1):!0}),f},r.prototype.findAll=function(l){var a=this.$options;if(!a.needle)return[];this.$assembleRegExp(a);var c=a.range,f=c?l.getLines(c.start.row,c.end.row):l.doc.getAllLines(),m=[],y=a.re;if(a.$isMultiLine){var D=y.length,E=f.length-D,b;e:for(var g=y.offset||0;g<=E;g++){for(var S=0;ST||(m.push(b=new d(g,T,g+D-1,F)),D>2&&(g=g+D-2))}}else for(var A,$=0;$$&&($=w),m.push(new d(A.startRow,A.startCol,A.endRow,A.endCol))}}else{A=o.getMatchOffsets(f[$],y);for(var S=0;SR&&m[S].end.row==O;)S--;for(m=m.slice($,S+1),$=0,S=m.length;$=m){c+="\\";break}var D=l.charCodeAt(f);switch(D){case a.Backslash:c+="\\";break;case a.n:c+=` -`;break;case a.t:c+=" ";break}continue}if(y===a.DollarSign){if(f++,f>=m){c+="$";break}var E=l.charCodeAt(f);if(E===a.DollarSign){c+="$$";continue}if(E===a.Digit0||E===a.Ampersand){c+="$&";continue}if(a.Digit1<=E&&E<=a.Digit9){c+="$"+l[f];continue}}c+=l[f]}return c||l},r.prototype.replace=function(l,a){var c=this.$options,f=this.$assembleRegExp(c);if(c.$isMultiLine)return a;if(f){var m=this.$isMultilineSearch(c);m&&(l=l.replace(/\r\n|\r|\n/g,` -`));var y=f.exec(l);if(!y||!m&&y[0].length!=l.length)return null;if(a=c.regExp?this.parseReplaceString(a):a.replace(/\$/g,"$$$$"),a=l.replace(f,a),c.preserveCase){a=a.split("");for(var D=Math.min(l.length,l.length);D--;){var E=l[D];E&&E.toLowerCase()!=E?a[D]=a[D].toUpperCase():a[D]=a[D].toLowerCase()}a=a.join("")}return a}},r.prototype.$assembleRegExp=function(l,a){if(l.needle instanceof RegExp)return l.re=l.needle;var c=l.needle;if(!l.needle)return l.re=!1;l.regExp||(c=o.escapeRegExp(c));var f=l.caseSensitive?"gm":"gmi";try{new RegExp(c,"u"),l.$supportsUnicodeFlag=!0,f+="u"}catch{l.$supportsUnicodeFlag=!1}if(l.wholeWord&&(c=p(c,l)),l.$isMultiLine=!a&&/[\n\r]/.test(c),l.$isMultiLine)return l.re=this.$assembleMultilineRegExp(c,f);try{var m=new RegExp(c,f)}catch{m=!1}return l.re=m},r.prototype.$assembleMultilineRegExp=function(l,a){for(var c=l.replace(/\r\n|\r|\n/g,`$ -^`).split(` -`),f=[],m=0;mf);E++){var b=l.getLine(D++);m=m==null?b:m+` -`+b}var g=a.exec(m);if(a.lastIndex=0,g){var S=m.slice(0,g.index).split(` -`),M=g[0].split(` -`),_=c+S.length-1,T=S[S.length-1].length,F=_+M.length-1,A=M.length==1?T+M[0].length:M[M.length-1].length;return{startRow:_,startCol:T,endRow:F,endCol:A}}}return null},r.prototype.$multiLineBackward=function(l,a,c,f,m){for(var y,D=t(l,f),E=l.getLine(f).length-c,b=f;b>=m;){for(var g=0;g=m;g++){var S=l.getLine(b--);y=y==null?S:S+` -`+y}var M=e(y,a,E);if(M){var _=y.slice(0,M.index).split(` -`),T=M[0].split(` -`),F=b+_.length,A=_[_.length-1].length,$=F+T.length-1,C=T.length==1?A+T[0].length:T[T.length-1].length;return{startRow:F,startCol:A,endRow:$,endCol:C}}}return null},r.prototype.$matchIterator=function(l,a){var c=this.$assembleRegExp(a);if(!c)return!1;var f=this.$isMultilineSearch(a),m=this.$multiLineForward,y=this.$multiLineBackward,D=a.backwards==!0,E=a.skipCurrent!=!1,b=c.unicode,g=a.range,S=a.start;S||(S=g?g[D?"end":"start"]:l.selection.getRange()),S.start&&(S=S[E!=D?"end":"start"]);var M=g?g.start.row:0,_=g?g.end.row:l.getLength()-1;if(D)var T=function($){var C=S.row;if(!A(C,S.column,$)){for(C--;C>=M;C--)if(A(C,Number.MAX_VALUE,$))return;if(a.wrap!=!1){for(C=_,M=S.row;C>=M;C--)if(A(C,Number.MAX_VALUE,$))return}}};else var T=function(C){var w=S.row;if(!A(w,S.column,C)){for(w=w+1;w<=_;w++)if(A(w,0,C))return;if(a.wrap!=!1){for(w=M,_=S.row;w<=_;w++)if(A(w,0,C))return}}};if(a.$isMultiLine)var F=c.length,A=function($,C,w){var x=D?$-F+1:$;if(!(x<0||x+F>l.getLength())){var I=l.getLine(x),R=I.search(c[0]);if(!(!D&&RC)&&w(x,R,x+F-1,P))return!0}}};else if(D)var A=function(C,w,x){if(f){var I=y(l,c,w,C,M);if(!I)return!1;if(x(I.startRow,I.startCol,I.endRow,I.endCol))return!0}else{var R=l.getLine(C),O=[],P,B=0;for(c.lastIndex=0;P=c.exec(R);){var V=P[0].length;if(B=P.index,!V){if(B>=R.length)break;c.lastIndex=B+=o.skipEmptyMatch(R,B,b)}if(P.index+V>w)break;O.push(P.index,V)}for(var W=O.length-1;W>=0;W-=2){var H=O[W-1],V=O[W];if(x(C,H,C,H+V))return!0}}};else var A=function(C,w,x){if(c.lastIndex=w,f){var I=m(l,c,C,_);if(I){var R=I.endRow<=_?I.endRow-1:_;R>C&&(C=R)}if(!I)return!1;if(x(I.startRow,I.startCol,I.endRow,I.endCol))return!0}else for(var O=l.getLine(C),P,B;B=c.exec(O);){var V=B[0].length;if(P=B.index,x(C,P,C,P+V))return!0;if(!V&&(c.lastIndex=P+=o.skipEmptyMatch(O,P,b),P>=O.length))return!1}};return{forEach:T}},r}();function p(r,l){var a=o.supportsLookbehind();function c(D,E){E===void 0&&(E=!0);var b=a&&l.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return b.test(D)||l.regExp?a&&l.$supportsUnicodeFlag?E?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var f=Array.from(r),m=f[0],y=f[f.length-1];return c(m)+r+c(y,!1)}function e(r,l,a){for(var c=null,f=0;f<=r.length;){l.lastIndex=f;var m=l.exec(r);if(!m)break;var y=m.index+m[0].length;if(y>r.length-a)break;(!c||y>c.index+c[0].length)&&(c=m),f=m.index+1}return c}function t(r,l){var a=5e3,c={row:l,column:0},f=r.doc.positionToIndex(c),m=f+a,y=r.doc.indexToPosition(m),D=y.row;return D+1}u.Search=s}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(i,u,v){var o=this&&this.__extends||function(){var r=function(l,a){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,f){c.__proto__=f}||function(c,f){for(var m in f)Object.prototype.hasOwnProperty.call(f,m)&&(c[m]=f[m])},r(l,a)};return function(l,a){if(typeof a!="function"&&a!==null)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");r(l,a);function c(){this.constructor=l}l.prototype=a===null?Object.create(a):(c.prototype=a.prototype,new c)}}(),h=i("../lib/keys"),d=i("../lib/useragent"),s=h.KEY_MODS,p=function(){function r(l,a){this.$init(l,a,!1)}return r.prototype.$init=function(l,a,c){this.platform=a||(d.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(l),this.$singleCommand=c},r.prototype.addCommand=function(l){this.commands[l.name]&&this.removeCommand(l),this.commands[l.name]=l,l.bindKey&&this._buildKeyHash(l)},r.prototype.removeCommand=function(l,a){var c=l&&(typeof l=="string"?l:l.name);l=this.commands[c],a||delete this.commands[c];var f=this.commandKeyBinding;for(var m in f){var y=f[m];if(y==l)delete f[m];else if(Array.isArray(y)){var D=y.indexOf(l);D!=-1&&(y.splice(D,1),y.length==1&&(f[m]=y[0]))}}},r.prototype.bindKey=function(l,a,c){if(typeof l=="object"&&l&&(c==null&&(c=l.position),l=l[this.platform]),!!l){if(typeof a=="function")return this.addCommand({exec:a,bindKey:l,name:a.name||l});l.split("|").forEach(function(f){var m="";if(f.indexOf(" ")!=-1){var y=f.split(/\s+/);f=y.pop(),y.forEach(function(b){var g=this.parseKeys(b),S=s[g.hashId]+g.key;m+=(m?" ":"")+S,this._addCommandToBinding(m,"chainKeys")},this),m+=" "}var D=this.parseKeys(f),E=s[D.hashId]+D.key;this._addCommandToBinding(m+E,a,c)},this)}},r.prototype._addCommandToBinding=function(l,a,c){var f=this.commandKeyBinding,m;if(!a)delete f[l];else if(!f[l]||this.$singleCommand)f[l]=a;else{Array.isArray(f[l])?(m=f[l].indexOf(a))!=-1&&f[l].splice(m,1):f[l]=[f[l]],typeof c!="number"&&(c=e(a));var y=f[l];for(m=0;mc)break}y.splice(m,0,a)}},r.prototype.addCommands=function(l){l&&Object.keys(l).forEach(function(a){var c=l[a];if(c){if(typeof c=="string")return this.bindKey(c,a);typeof c=="function"&&(c={exec:c}),typeof c=="object"&&(c.name||(c.name=a),this.addCommand(c))}},this)},r.prototype.removeCommands=function(l){Object.keys(l).forEach(function(a){this.removeCommand(l[a])},this)},r.prototype.bindKeys=function(l){Object.keys(l).forEach(function(a){this.bindKey(a,l[a])},this)},r.prototype._buildKeyHash=function(l){this.bindKey(l.bindKey,l)},r.prototype.parseKeys=function(l){var a=l.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(E){return E}),c=a.pop(),f=h[c];if(h.FUNCTION_KEYS[f])c=h.FUNCTION_KEYS[f].toLowerCase();else if(a.length){if(a.length==1&&a[0]=="shift")return{key:c.toUpperCase(),hashId:-1}}else return{key:c,hashId:-1};for(var m=0,y=a.length;y--;){var D=h.KEY_MODS[a[y]];if(D==null)return typeof console<"u"&&console.error("invalid modifier "+a[y]+" in "+l),!1;m|=D}return{key:c,hashId:m}},r.prototype.findKeyCommand=function(l,a){var c=s[l]+a;return this.commandKeyBinding[c]},r.prototype.handleKeyboard=function(l,a,c,f){if(!(f<0)){var m=s[a]+c,y=this.commandKeyBinding[m];return l.$keyChain&&(l.$keyChain+=" "+m,y=this.commandKeyBinding[l.$keyChain]||y),y&&(y=="chainKeys"||y[y.length-1]=="chainKeys")?(l.$keyChain=l.$keyChain||m,{command:"null"}):(l.$keyChain&&((!a||a==4)&&c.length==1?l.$keyChain=l.$keyChain.slice(0,-m.length-1):(a==-1||f>0)&&(l.$keyChain="")),{command:y})}},r.prototype.getStatusText=function(l,a){return a.$keyChain||""},r}();function e(r){return typeof r=="object"&&r.bindKey&&r.bindKey.position||(r.isDefault?-100:0)}var t=function(r){o(l,r);function l(a,c){var f=r.call(this,a,c)||this;return f.$singleCommand=!0,f}return l}(p);t.call=function(r,l,a){p.prototype.$init.call(r,l,a,!0)},p.call=function(r,l,a){p.prototype.$init.call(r,l,a,!1)},u.HashHandler=t,u.MultiHashHandler=p}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(i,u,v){var o=this&&this.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,a){l.__proto__=a}||function(l,a){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(l[c]=a[c])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function l(){this.constructor=t}t.prototype=r===null?Object.create(r):(l.prototype=r.prototype,new l)}}(),h=i("../lib/oop"),d=i("../keyboard/hash_handler").MultiHashHandler,s=i("../lib/event_emitter").EventEmitter,p=function(e){o(t,e);function t(r,l){var a=e.call(this,l,r)||this;return a.byName=a.commands,a.setDefaultHandler("exec",function(c){return c.args?c.command.exec(c.editor,c.args,c.event,!1):c.command.exec(c.editor,{},c.event,!0)}),a}return t.prototype.exec=function(r,l,a){if(Array.isArray(r)){for(var c=r.length;c--;)if(this.exec(r[c],l,a))return!0;return!1}typeof r=="string"&&(r=this.commands[r]);var f={editor:l,command:r,args:a};return this.canExecute(r,l)?(f.returnValue=this._emit("exec",f),this._signal("afterExec",f),f.returnValue!==!1):(this._signal("commandUnavailable",f),!1)},t.prototype.canExecute=function(r,l){return typeof r=="string"&&(r=this.commands[r]),!(!r||l&&l.$readOnly&&!r.readOnly||this.$checkCommandState!=!1&&r.isAvailable&&!r.isAvailable(l))},t.prototype.toggleRecording=function(r){if(!this.$inReplay)return r&&r._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(l){this.macro.push([l.command,l.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},t.prototype.replay=function(r){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(r);try{this.$inReplay=!0,this.macro.forEach(function(l){typeof l=="string"?this.exec(l,r):this.exec(l[0],r,l[1])},this)}finally{this.$inReplay=!1}}},t.prototype.trimMacro=function(r){return r.map(function(l){return typeof l[0]!="string"&&(l[0]=l[0].name),l[1]||(l=l[0]),l})},t}(d);h.implement(p.prototype,s),u.CommandManager=p}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(i,u,v){var o=i("../lib/lang"),h=i("../config"),d=i("../range").Range;function s(e,t){return{win:e,mac:t}}u.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:s("Ctrl-,","Command-,"),exec:function(e){h.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:s("Alt-E","F4"),exec:function(e){h.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:s("Alt-Shift-E","Shift-F4"),exec:function(e){h.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:s("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:s(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:s("Ctrl-L","Command-L"),exec:function(e,t){typeof t=="number"&&!isNaN(t)&&e.gotoLine(t),e.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:s("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:s("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:s("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:s("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:s("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:s("Ctrl-F","Command-F"),exec:function(e){h.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:s("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:s("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:s("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:s("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:s("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:s("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:s("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:s("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:s("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:s("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:s("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:s("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:s("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:s("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:s(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:s(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:s("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:s("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:s("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:s("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:s("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:s(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(e){},readOnly:!0},{name:"cut",description:"Cut",exec:function(e){var t=e.$copyWithEmptySelection&&e.selection.isEmpty(),r=t?e.selection.getLineRange():e.selection.getRange();e._emit("cut",r),r.isEmpty()||e.session.remove(r),e.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:s("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:s("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(e){h.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",description:"Undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",description:"Redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:s("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:s("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:s("Shift-Delete",null),exec:function(e){if(e.selection.isEmpty())e.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:s("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:s("Ctrl-Shift-Backspace",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:s("Ctrl-Shift-Delete",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:s("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(e,t){e.insert(o.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:s(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:s("Alt-Shift-X","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:s(null,null),exec:function(e){e.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:s("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:s("Ctrl+F3","F3"),exec:function(e){e.openLink()}},{name:"joinlines",description:"Join lines",bindKey:s(null,null),exec:function(e){for(var t=e.selection.isBackwards(),r=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),l=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),a=e.session.doc.getLine(r.row).length,c=e.session.doc.getTextRange(e.selection.getRange()),f=c.replace(/\n\s*/," ").length,m=e.session.doc.getLine(r.row),y=r.row+1;y<=l.row+1;y++){var D=o.stringTrimLeft(o.stringTrimRight(e.session.doc.getLine(y)));D.length!==0&&(D=" "+D),m+=D}l.row+10?(e.selection.moveCursorTo(r.row,r.column),e.selection.selectTo(r.row,r.column+f)):(a=e.session.doc.getLine(r.row).length>a?a+1:a,e.selection.moveCursorTo(r.row,a))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:s(null,null),exec:function(e){var t=e.session.doc.getLength()-1,r=e.session.doc.getLine(t).length,l=e.selection.rangeList.ranges,a=[];l.length<1&&(l=[e.selection.getRange()]);for(var c=0;c0||e+t=0&&this.$isCustomWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(e+t))return e+t;if(e-t>=0&&this.$isFoldWidgetVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(e+t))return e+t}return null},p.prototype.$findNearestAnnotation=function(e){if(this.$isAnnotationVisible(e))return e;for(var t=0;e-t>0||e+t=0&&this.$isAnnotationVisible(e-t))return e-t;if(e+t<=this.lines.getLength()-1&&this.$isAnnotationVisible(e+t))return e+t}return null},p.prototype.$focusFoldWidget=function(e){if(e!=null){var t=this.$getFoldWidget(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},p.prototype.$focusCustomWidget=function(e){if(e!=null){var t=this.$getCustomWidget(e);t&&(t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus())}},p.prototype.$focusAnnotation=function(e){if(e!=null){var t=this.$getAnnotation(e);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},p.prototype.$blurFoldWidget=function(e){var t=this.$getFoldWidget(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},p.prototype.$blurCustomWidget=function(e){var t=this.$getCustomWidget(e);t&&(t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur())},p.prototype.$blurAnnotation=function(e){var t=this.$getAnnotation(e);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},p.prototype.$moveFoldWidgetUp=function(){for(var e=this.activeRowIndex;e>0;)if(e--,this.$isFoldWidgetVisible(e)||this.$isCustomWidgetVisible(e)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=e,this.$isFoldWidgetVisible(e)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},p.prototype.$moveFoldWidgetDown=function(){for(var e=this.activeRowIndex;e0;)if(e--,this.$isAnnotationVisible(e)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);return}},p.prototype.$moveAnnotationDown=function(){for(var e=this.activeRowIndex;e=C.length&&(C=void 0),{value:C&&C[I++],done:!C}}};throw new TypeError(w?"Object is not iterable.":"Symbol.iterator is not defined.")},h=i("./lib/oop"),d=i("./lib/dom"),s=i("./lib/lang"),p=i("./lib/useragent"),e=i("./keyboard/textinput").TextInput,t=i("./mouse/mouse_handler").MouseHandler,r=i("./mouse/fold_handler").FoldHandler,l=i("./keyboard/keybinding").KeyBinding,a=i("./edit_session").EditSession,c=i("./search").Search,f=i("./range").Range,m=i("./lib/event_emitter").EventEmitter,y=i("./commands/command_manager").CommandManager,D=i("./commands/default_commands").commands,E=i("./config"),b=i("./token_iterator").TokenIterator,g=i("./keyboard/gutter_handler").GutterKeyboardHandler,S=i("./config").nls,M=i("./clipboard"),_=i("./lib/keys"),T=i("./lib/event"),F=i("./tooltip").HoverTooltip,A=function(){function C(w,x,I){this.id="editor"+ ++C.$uid,this.session,this.$toDestroy=[];var R=w.getContainerElement();this.container=R,this.renderer=w,this.commands=new y(p.isMac?"mac":"win",D),typeof document=="object"&&(this.textInput=new e(w.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new t(this),new r(this)),this.keyBinding=new l(this),this.$search=new c().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(O,P){P._$emitInputEvent.schedule(31)}),this.setSession(x||I&&I.session||new a("")),E.resetOptions(this),I&&this.setOptions(I),E._signal("editor",this)}return C.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},C.prototype.startOperation=function(w){this.session.startOperation(w)},C.prototype.endOperation=function(w){this.session.endOperation(w)},C.prototype.onStartOperation=function(w){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,w||(this.previousCommand=null)},C.prototype.onEndOperation=function(w){if(this.curOp&&this.session){if(w&&w.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var x=this.curOp.command,I=x&&x.scrollIntoView;if(I){switch(I){case"center-animate":I="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var R=this.selection.getRange(),O=this.renderer.layerConfig;(R.start.row>=O.lastRow||R.end.row<=O.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}I=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},C.prototype.$historyTracker=function(w){if(this.$mergeUndoDeltas){var x=this.prevOp,I=this.$mergeableCommands,R=x.command&&w.command.name==x.command.name;if(w.command.name=="insertstring"){var O=w.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),R=R&&this.mergeNextCommand&&(!/\s/.test(O)||/\s/.test(x.args)),this.mergeNextCommand=!0}else R=R&&I.indexOf(w.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(R=!1),R?this.session.mergeUndoDeltas=!0:I.indexOf(w.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},C.prototype.setKeyboardHandler=function(w,x){if(w&&typeof w=="string"&&w!="ace"){this.$keybindingId=w;var I=this;E.loadModule(["keybinding",w],function(R){I.$keybindingId==w&&I.keyBinding.setKeyboardHandler(R&&R.handler),x&&x()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(w),x&&x()},C.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},C.prototype.setSession=function(w){if(this.session!=w){this.curOp&&this.endOperation(),this.curOp={};var x=this.session;if(x){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var I=this.session.getSelection();I.off("changeCursor",this.$onCursorChange),I.off("changeSelection",this.$onSelectionChange)}this.session=w,w?(this.$onDocumentChange=this.onDocumentChange.bind(this),w.on("change",this.$onDocumentChange),this.renderer.setSession(w),this.$onChangeMode=this.onChangeMode.bind(this),w.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),w.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),w.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),w.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),w.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),w.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=w.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(w)),this._signal("changeSession",{session:w,oldSession:x}),this.curOp=null,x&&x._signal("changeEditor",{oldEditor:this}),x&&(x.$editor=null),w&&w._signal("changeEditor",{editor:this}),w&&(w.$editor=this),w&&!w.destroyed&&w.bgTokenizer.scheduleStart()}},C.prototype.getSession=function(){return this.session},C.prototype.setValue=function(w,x){return this.session.doc.setValue(w),x?x==1?this.navigateFileEnd():x==-1&&this.navigateFileStart():this.selectAll(),w},C.prototype.getValue=function(){return this.session.getValue()},C.prototype.getSelection=function(){return this.selection},C.prototype.resize=function(w){this.renderer.onResize(w)},C.prototype.setTheme=function(w,x){this.renderer.setTheme(w,x)},C.prototype.getTheme=function(){return this.renderer.getTheme()},C.prototype.setStyle=function(w,x){this.renderer.setStyle(w,x)},C.prototype.unsetStyle=function(w){this.renderer.unsetStyle(w)},C.prototype.getFontSize=function(){return this.getOption("fontSize")||d.computedStyle(this.container).fontSize},C.prototype.setFontSize=function(w){this.setOption("fontSize",w)},C.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var w=this;this.$highlightPending=!0,setTimeout(function(){w.$highlightPending=!1;var x=w.session;if(!(!x||x.destroyed)){x.$bracketHighlight&&(x.$bracketHighlight.markerIds.forEach(function(U){x.removeMarker(U)}),x.$bracketHighlight=null);var I=w.getCursorPosition(),R=w.getKeyboardHandler(),O=R&&R.$getDirectionForHighlight&&R.$getDirectionForHighlight(w),P=x.getMatchingBracketRanges(I,O);if(!P){var B=new b(x,I.row,I.column),V=B.getCurrentToken();if(V&&/\b(?:tag-open|tag-name)/.test(V.type)){var W=x.getMatchingTags(I);W&&(P=[W.openTagName.isEmpty()?W.openTag:W.openTagName,W.closeTagName.isEmpty()?W.closeTag:W.closeTagName])}}if(!P&&x.$mode.getMatching&&(P=x.$mode.getMatching(w.session)),!P){w.getHighlightIndentGuides()&&w.renderer.$textLayer.$highlightIndentGuide();return}var H="ace_bracket";Array.isArray(P)?P.length==1&&(H="ace_error_bracket"):P=[P],P.length==2&&(f.comparePoints(P[0].end,P[1].start)==0?P=[f.fromPoints(P[0].start,P[1].end)]:f.comparePoints(P[0].start,P[1].end)==0&&(P=[f.fromPoints(P[1].start,P[0].end)])),x.$bracketHighlight={ranges:P,markerIds:P.map(function(U){return x.addMarker(U,H,"text")})},w.getHighlightIndentGuides()&&w.renderer.$textLayer.$highlightIndentGuide()}},50)}},C.prototype.focus=function(){this.textInput.focus()},C.prototype.isFocused=function(){return this.textInput.isFocused()},C.prototype.blur=function(){this.textInput.blur()},C.prototype.onFocus=function(w){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",w))},C.prototype.onBlur=function(w){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",w))},C.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},C.prototype.onDocumentChange=function(w){var x=this.session.$useWrapMode,I=w.start.row==w.end.row?w.end.row:1/0;this.renderer.updateLines(w.start.row,I,x),this._signal("change",w),this.$cursorChange()},C.prototype.onTokenizerUpdate=function(w){var x=w.data;this.renderer.updateLines(x.first,x.last)},C.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},C.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},C.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},C.prototype.$updateHighlightActiveLine=function(){var w=this.getSession(),x;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(x=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(x=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(x=!1)),w.$highlightLineMarker&&!x)w.removeMarker(w.$highlightLineMarker.id),w.$highlightLineMarker=null;else if(!w.$highlightLineMarker&&x){var I=new f(x.row,x.column,x.row,1/0);I.id=w.addMarker(I,"ace_active-line","screenLine"),w.$highlightLineMarker=I}else x&&(w.$highlightLineMarker.start.row=x.row,w.$highlightLineMarker.end.row=x.row,w.$highlightLineMarker.start.column=x.column,w._signal("changeBackMarker"))},C.prototype.onSelectionChange=function(w){var x=this.session;if(x.$selectionMarker&&x.removeMarker(x.$selectionMarker),x.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var I=this.selection.getRange(),R=this.getSelectionStyle();x.$selectionMarker=x.addMarker(I,"ace_selection",R)}var O=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(O),this._signal("changeSelection")},C.prototype.$getSelectionHighLightRegexp=function(){var w=this.session,x=this.getSelectionRange();if(!(x.isEmpty()||x.isMultiLine())){var I=x.start.column,R=x.end.column,O=w.getLine(x.start.row),P=O.substring(I,R);if(!(P.length>5e3||!/[\w\d]/.test(P))){var B=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:P}),V=O.substring(I-1,R+1);if(B.test(V))return B}}},C.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},C.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},C.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},C.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},C.prototype.onChangeMode=function(w){this.renderer.updateText(),this._emit("changeMode",w)},C.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},C.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},C.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},C.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},C.prototype.getCopyText=function(){var w=this.getSelectedText(),x=this.session.doc.getNewLineCharacter(),I=!1;if(!w&&this.$copyWithEmptySelection){I=!0;for(var R=this.selection.getAllRanges(),O=0;OU.search(/\S|$/)){var V=U.substr(O.column).search(/\S|$/);I.doc.removeInLine(O.row,O.column,O.column+V)}}this.clearSelection();var W=O.column,H=I.getState(O.row),U=I.getLine(O.row),G=R.checkOutdent(H,U,w);if(I.insert(O,w),P&&P.selection&&(P.selection.length==2?this.selection.setSelectionRange(new f(O.row,W+P.selection[0],O.row,W+P.selection[1])):this.selection.setSelectionRange(new f(O.row+P.selection[0],P.selection[1],O.row+P.selection[2],P.selection[3]))),this.$enableAutoIndent){if(I.getDocument().isNewLine(w)){var Y=R.getNextLineIndent(H,U.slice(0,O.column),I.getTabString());I.insert({row:O.row+1,column:0},Y)}G&&R.autoOutdent(H,I,O.row)}},C.prototype.autoIndent=function(){for(var w=this.session,x=w.getMode(),I=this.selection.isEmpty()?[new f(0,0,w.doc.getLength()-1,0)]:this.selection.getAllRanges(),R="",O="",P="",B=w.getTabString(),V=0;V0&&(R=w.getState(U-1),O=w.getLine(U-1),P=x.getNextLineIndent(R,O,B));var G=w.getLine(U),Y=x.$getIndent(G);if(P!==Y){if(Y.length>0){var Q=new f(U,0,U,Y.length);w.remove(Q)}P.length>0&&w.insert({row:U,column:0},P)}x.autoOutdent(R,w,U)}},C.prototype.onTextInput=function(w,x){if(!x)return this.keyBinding.onTextInput(w);this.startOperation({command:{name:"insertstring"}});var I=this.applyComposition.bind(this,w,x);this.selection.rangeCount?this.forEachSelection(I):I(),this.endOperation()},C.prototype.applyComposition=function(w,x){if(x.extendLeft||x.extendRight){var I=this.selection.getRange();I.start.column-=x.extendLeft,I.end.column+=x.extendRight,I.start.column<0&&(I.start.row--,I.start.column+=this.session.getLine(I.start.row).length+1),this.selection.setRange(I),!w&&!I.isEmpty()&&this.remove()}if((w||!this.selection.isEmpty())&&this.insert(w,!0),x.restoreStart||x.restoreEnd){var I=this.selection.getRange();I.start.column-=x.restoreStart,I.end.column-=x.restoreEnd,this.selection.setRange(I)}},C.prototype.onCommandKey=function(w,x,I){return this.keyBinding.onCommandKey(w,x,I)},C.prototype.setOverwrite=function(w){this.session.setOverwrite(w)},C.prototype.getOverwrite=function(){return this.session.getOverwrite()},C.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},C.prototype.setScrollSpeed=function(w){this.setOption("scrollSpeed",w)},C.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},C.prototype.setDragDelay=function(w){this.setOption("dragDelay",w)},C.prototype.getDragDelay=function(){return this.getOption("dragDelay")},C.prototype.setSelectionStyle=function(w){this.setOption("selectionStyle",w)},C.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},C.prototype.setHighlightActiveLine=function(w){this.setOption("highlightActiveLine",w)},C.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},C.prototype.setHighlightGutterLine=function(w){this.setOption("highlightGutterLine",w)},C.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},C.prototype.setHighlightSelectedWord=function(w){this.setOption("highlightSelectedWord",w)},C.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},C.prototype.setAnimatedScroll=function(w){this.renderer.setAnimatedScroll(w)},C.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},C.prototype.setShowInvisibles=function(w){this.renderer.setShowInvisibles(w)},C.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},C.prototype.setDisplayIndentGuides=function(w){this.renderer.setDisplayIndentGuides(w)},C.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},C.prototype.setHighlightIndentGuides=function(w){this.renderer.setHighlightIndentGuides(w)},C.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},C.prototype.setShowPrintMargin=function(w){this.renderer.setShowPrintMargin(w)},C.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},C.prototype.setPrintMarginColumn=function(w){this.renderer.setPrintMarginColumn(w)},C.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},C.prototype.setReadOnly=function(w){this.setOption("readOnly",w)},C.prototype.getReadOnly=function(){return this.getOption("readOnly")},C.prototype.setBehavioursEnabled=function(w){this.setOption("behavioursEnabled",w)},C.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},C.prototype.setWrapBehavioursEnabled=function(w){this.setOption("wrapBehavioursEnabled",w)},C.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},C.prototype.setShowFoldWidgets=function(w){this.setOption("showFoldWidgets",w)},C.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},C.prototype.setFadeFoldWidgets=function(w){this.setOption("fadeFoldWidgets",w)},C.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},C.prototype.remove=function(w){this.selection.isEmpty()&&(w=="left"?this.selection.selectLeft():this.selection.selectRight());var x=this.getSelectionRange();if(this.getBehavioursEnabled()){var I=this.session,R=I.getState(x.start.row),O=I.getMode().transformAction(R,"deletion",this,I,x);if(x.end.column===0){var P=I.getTextRange(x);if(P[P.length-1]==` -`){var B=I.getLine(x.end.row);/^\s+$/.test(B)&&(x.end.column=B.length)}}O&&(x=O)}this.session.remove(x),this.clearSelection()},C.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},C.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var w=this.getSelectionRange();w.start.column==w.end.column&&w.start.row==w.end.row&&(w.end.column=0,w.end.row++),this.session.remove(w),this.clearSelection()},C.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var w=this.getCursorPosition();this.insert(` -`),this.moveCursorToPosition(w)},C.prototype.setGhostText=function(w,x){this.renderer.setGhostText(w,x)},C.prototype.removeGhostText=function(){this.renderer.removeGhostText()},C.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var w=this.getCursorPosition(),x=w.column;if(x!==0){var I=this.session.getLine(w.row),R,O;xV.toLowerCase()?1:0});for(var O=new f(0,0,0,0),R=w.first;R<=w.last;R++){var P=x.getLine(R);O.start.row=R,O.end.row=R,O.end.column=P.length,x.replace(O,I[R-w.first])}},C.prototype.toggleCommentLines=function(){var w=this.session.getState(this.getCursorPosition().row),x=this.$getSelectedRows();this.session.getMode().toggleCommentLines(w,this.session,x.first,x.last)},C.prototype.toggleBlockComment=function(){var w=this.getCursorPosition(),x=this.session.getState(w.row),I=this.getSelectionRange();this.session.getMode().toggleBlockComment(x,this.session,I,w)},C.prototype.getNumberAt=function(w,x){var I=/[\-]?[0-9]+(?:\.[0-9]+)?/g;I.lastIndex=0;for(var R=this.session.getLine(w);I.lastIndex=x){var P={value:O[0],start:O.index,end:O.index+O[0].length};return P}}return null},C.prototype.modifyNumber=function(w){var x=this.selection.getCursor().row,I=this.selection.getCursor().column,R=new f(x,I-1,x,I),O=this.session.getTextRange(R);if(!isNaN(parseFloat(O))&&isFinite(O)){var P=this.getNumberAt(x,I);if(P){var B=P.value.indexOf(".")>=0?P.start+P.value.indexOf(".")+1:P.end,V=P.start+P.value.length-B,W=parseFloat(P.value);W*=Math.pow(10,V),B!==P.end&&I=B&&P<=V&&(I=ge,W.selection.clearSelection(),W.moveCursorTo(w,B+R),W.selection.selectTo(w,V+R)),B=V});for(var H=this.$toggleWordPairs,U,G=0;G=V&&B<=W&&Y.match(/((?:https?|ftp):\/\/[\S]+)/)){H=Y.replace(/[\s:.,'";}\]]+$/,"");break}V=W}}catch(Q){I={error:Q}}finally{try{G&&!G.done&&(R=U.return)&&R.call(U)}finally{if(I)throw I.error}}return H},C.prototype.openLink=function(){var w=this.selection.getCursor(),x=this.findLinkAt(w.row,w.column);return x&&window.open(x,"_blank"),x!=null},C.prototype.removeLines=function(){var w=this.$getSelectedRows();this.session.removeFullLines(w.first,w.last),this.clearSelection()},C.prototype.duplicateSelection=function(){var w=this.selection,x=this.session,I=w.getRange(),R=w.isBackwards();if(I.isEmpty()){var O=I.start.row;x.duplicateLines(O,O)}else{var P=R?I.start:I.end,B=x.insert(P,x.getTextRange(I));I.start=P,I.end=B,w.setSelectionRange(I,R)}},C.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},C.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},C.prototype.moveText=function(w,x,I){return this.session.moveText(w,x,I)},C.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},C.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},C.prototype.$moveLines=function(w,x){var I,R,O=this.selection;if(!O.inMultiSelectMode||this.inVirtualSelectionMode){var P=O.toOrientedRange();I=this.$getSelectedRows(P),R=this.session.$moveLines(I.first,I.last,x?0:w),x&&w==-1&&(R=0),P.moveBy(R,0),O.fromOrientedRange(P)}else{var B=O.rangeList.ranges;O.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var V=0,W=0,H=B.length,U=0;UQ+1)break;Q=ee.last}for(U--,V=this.session.$moveLines(Y,Q,x?0:w),x&&w==-1&&(G=U+1);G<=U;)B[G].moveBy(V,0),G++;x||(V=0),W+=V}O.fromOrientedRange(O.ranges[0]),O.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},C.prototype.$getSelectedRows=function(w){return w=(w||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(w.start.row),last:this.session.getRowFoldEnd(w.end.row)}},C.prototype.onCompositionStart=function(w){this.renderer.showComposition(w)},C.prototype.onCompositionUpdate=function(w){this.renderer.setCompositionText(w)},C.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},C.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},C.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},C.prototype.isRowVisible=function(w){return w>=this.getFirstVisibleRow()&&w<=this.getLastVisibleRow()},C.prototype.isRowFullyVisible=function(w){return w>=this.renderer.getFirstFullyVisibleRow()&&w<=this.renderer.getLastFullyVisibleRow()},C.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},C.prototype.$moveByPage=function(w,x){var I=this.renderer,R=this.renderer.layerConfig,O=w*Math.floor(R.height/R.lineHeight);x===!0?this.selection.$moveSelection(function(){this.moveCursorBy(O,0)}):x===!1&&(this.selection.moveCursorBy(O,0),this.selection.clearSelection());var P=I.scrollTop;I.scrollBy(0,O*R.lineHeight),x!=null&&I.scrollCursorIntoView(null,.5),I.animateScrolling(P)},C.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},C.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},C.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},C.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},C.prototype.scrollPageDown=function(){this.$moveByPage(1)},C.prototype.scrollPageUp=function(){this.$moveByPage(-1)},C.prototype.scrollToRow=function(w){this.renderer.scrollToRow(w)},C.prototype.scrollToLine=function(w,x,I,R){this.renderer.scrollToLine(w,x,I,R)},C.prototype.centerSelection=function(){var w=this.getSelectionRange(),x={row:Math.floor(w.start.row+(w.end.row-w.start.row)/2),column:Math.floor(w.start.column+(w.end.column-w.start.column)/2)};this.renderer.alignCursor(x,.5)},C.prototype.getCursorPosition=function(){return this.selection.getCursor()},C.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},C.prototype.getSelectionRange=function(){return this.selection.getRange()},C.prototype.selectAll=function(){this.selection.selectAll()},C.prototype.clearSelection=function(){this.selection.clearSelection()},C.prototype.moveCursorTo=function(w,x){this.selection.moveCursorTo(w,x)},C.prototype.moveCursorToPosition=function(w){this.selection.moveCursorToPosition(w)},C.prototype.jumpToMatching=function(w,x){var I=this.getCursorPosition(),R=new b(this.session,I.row,I.column),O=R.getCurrentToken(),P=0;O&&O.type.indexOf("tag-name")!==-1&&(O=R.stepBackward());var B=O||R.stepForward();if(B){var V,W=!1,H={},U=I.column-B.start,G,Y={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(B.value.match(/[{}()\[\]]/g)){for(;U1?H[B.value]++:O.value==="=0;--P)this.$tryReplace(I[P],w)&&R++;return this.selection.setSelectionRange(O),R},C.prototype.$tryReplace=function(w,x){var I=this.session.getTextRange(w);return x=this.$search.replace(I,x),x!==null?(w.end=this.session.replace(w,x),w):null},C.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},C.prototype.find=function(w,x,I){x||(x={}),typeof w=="string"||w instanceof RegExp?x.needle=w:typeof w=="object"&&h.mixin(x,w);var R=this.selection.getRange();x.needle==null&&(w=this.session.getTextRange(R)||this.$search.$options.needle,w||(R=this.session.getWordRange(R.start.row,R.start.column),w=this.session.getTextRange(R)),this.$search.set({needle:w})),this.$search.set(x),x.start||this.$search.set({start:R});var O=this.$search.find(this.session);if(x.preventScroll)return O;if(O)return this.revealRange(O,I),O;x.backwards?R.start=R.end:R.end=R.start,this.selection.setRange(R)},C.prototype.findNext=function(w,x){this.find({skipCurrent:!0,backwards:!1},w,x)},C.prototype.findPrevious=function(w,x){this.find(w,{skipCurrent:!0,backwards:!0},x)},C.prototype.revealRange=function(w,x){this.session.unfold(w),this.selection.setSelectionRange(w);var I=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(w.start,w.end,.5),x!==!1&&this.renderer.animateScrolling(I)},C.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},C.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},C.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(w){w.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},C.prototype.setAutoScrollEditorIntoView=function(w){if(w){var x,I=this,R=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var O=this.$scrollAnchor;O.style.cssText="position:absolute",this.container.insertBefore(O,this.container.firstChild);var P=this.on("changeSelection",function(){R=!0}),B=this.renderer.on("beforeRender",function(){R&&(x=I.renderer.container.getBoundingClientRect())}),V=this.renderer.on("afterRender",function(){if(R&&x&&(I.isFocused()||I.searchBox&&I.searchBox.isFocused())){var W=I.renderer,H=W.$cursorLayer.$pixelPos,U=W.layerConfig,G=H.top-U.offset;H.top>=0&&G+x.top<0?R=!0:H.topwindow.innerHeight?R=!1:R=null,R!=null&&(O.style.top=G+"px",O.style.left=H.left+"px",O.style.height=U.lineHeight+"px",O.scrollIntoView(R)),R=x=null}});this.setAutoScrollEditorIntoView=function(W){W||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",P),this.renderer.off("afterRender",V),this.renderer.off("beforeRender",B))}}},C.prototype.$resetCursorStyle=function(){var w=this.$cursorStyle||"ace",x=this.renderer.$cursorLayer;x&&(x.setSmoothBlinking(/smooth/.test(w)),x.isBlinking=!this.$readOnly&&w!="wide",d.setCssClass(x.element,"ace_slim-cursors",/slim/.test(w)))},C.prototype.prompt=function(w,x,I){var R=this;E.loadModule("ace/ext/prompt",function(O){O.prompt(R,w,x,I)})},C}();A.$uid=0,A.prototype.curOp=null,A.prototype.prevOp={},A.prototype.$mergeableCommands=["backspace","del","insertstring"],A.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],h.implement(A.prototype,m),E.defineOptions(A.prototype,"editor",{selectionStyle:{set:function(C){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:C})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(C){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(C){var w=this;this.textInput.setReadOnly(C),this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(I){var R=!1;if(I&&I.type=="keydown"){if(R=I&&I.key&&I.key.length==1&&!I.ctrlKey&&!I.metaKey,!R)return}else I&&I.type!=="exec"&&(R=!0);if(R){w.hoverTooltip||(w.hoverTooltip=new F);var O=d.createElement("div");O.textContent=S("editor.tooltip.disable-editing","Editing is disabled"),w.hoverTooltip.isOpen||w.hoverTooltip.showForRange(w,w.getSelectionRange(),O)}else w.hoverTooltip&&w.hoverTooltip.isOpen&&w.hoverTooltip.hide()});var x=this.textInput.getElement();C?(T.addListener(x,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(T.removeListener(x,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))},initialValue:!1},copyWithEmptySelection:{set:function(C){this.textInput.setCopyWithEmptySelection(C)},initialValue:!1},cursorStyle:{set:function(C){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(C){this.setAutoScrollEditorIntoView(C)}},keyboardHandler:{set:function(C){this.setKeyboardHandler(C)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(C){this.session.setValue(C)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(C){this.setSession(C)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(C){this.renderer.$gutterLayer.setShowLineNumbers(C),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),C&&this.$relativeLineNumbers?$.attach(this):$.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(C){this.$showLineNumbers&&C?$.attach(this):$.detach(this)}},placeholder:{set:function(C){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var w=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(w&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),d.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!w&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),d.addCssClass(this.container,"ace_hasPlaceholder");var x=d.createElement("div");x.className="ace_placeholder",x.textContent=this.$placeholder||"",this.renderer.placeholderNode=x,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!w&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(C){var w={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(R){R.blur(),R.renderer.scroller.focus()},readOnly:!0},x=function(R){if(R.target==this.renderer.scroller&&R.keyCode===_.enter){R.preventDefault();var O=this.getCursorPosition().row;this.isRowVisible(O)||this.scrollToLine(O,!0,!0),this.focus()}},I;C?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(p.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",S("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",S("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",x.bind(this)),this.commands.addCommand(w),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",S("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",S("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),I||(I=new g(this)),I.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",x.bind(this)),this.commands.removeCommand(w),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),I&&I.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(C){this.$textInputAriaLabel=C},initialValue:""},enableMobileMenu:{set:function(C){this.$enableMobileMenu=C},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var $={getText:function(C,w){return(Math.abs(C.selection.lead.row-w)||w+1+(w<9?"·":""))+""},getWidth:function(C,w,x){return Math.max(w.toString().length,(x.lastRow+1).toString().length,2)*x.characterWidth},update:function(C,w){w.renderer.$loop.schedule(w.renderer.CHANGE_GUTTER)},attach:function(C){C.renderer.$gutterLayer.$renderer=this,C.on("changeSelection",this.update),this.update(null,C)},detach:function(C){C.renderer.$gutterLayer.$renderer==this&&(C.renderer.$gutterLayer.$renderer=null),C.off("changeSelection",this.update),this.update(null,C)}};u.Editor=A}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(i,u,v){var o=i("../lib/dom"),h=function(){function d(s,p){this.element=s,this.canvasHeight=p||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return d.prototype.moveContainer=function(s){o.translate(this.element,0,-(s.firstRowScreen*s.lineHeight%this.canvasHeight)-s.offset*this.$offsetCoefficient)},d.prototype.pageChanged=function(s,p){return Math.floor(s.firstRowScreen*s.lineHeight/this.canvasHeight)!==Math.floor(p.firstRowScreen*p.lineHeight/this.canvasHeight)},d.prototype.computeLineTop=function(s,p,e){var t=p.firstRowScreen*p.lineHeight,r=Math.floor(t/this.canvasHeight),l=e.documentToScreenRow(s,0)*p.lineHeight;return l-r*this.canvasHeight},d.prototype.computeLineHeight=function(s,p,e){return p.lineHeight*e.getRowLineCount(s)},d.prototype.getLength=function(){return this.cells.length},d.prototype.get=function(s){return this.cells[s]},d.prototype.shift=function(){this.$cacheCell(this.cells.shift())},d.prototype.pop=function(){this.$cacheCell(this.cells.pop())},d.prototype.push=function(s){if(Array.isArray(s)){this.cells.push.apply(this.cells,s);for(var p=o.createFragment(this.element),e=0;eD&&(g=y.end.row+1,y=c.getNextFoldLine(g,y),D=y?y.start.row:1/0),g>m){for(;this.$lines.getLength()>b+1;)this.$lines.pop();break}E=this.$lines.get(++b),E?E.row=g:(E=this.$lines.createCell(g,a,this.session,r),this.$lines.push(E)),this.$renderCell(E,a,y,g),g++}this._signal("afterRender"),this.$updateGutterWidth(a)},l.prototype.$updateGutterWidth=function(a){var c=this.session,f=c.gutterRenderer||this.$renderer,m=c.$firstLineNumber,y=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||c.$useWrapMode)&&(y=c.getLength()+m-1);var D=f?f.getWidth(c,y,a):y.toString().length*a.characterWidth,E=this.$padding||this.$computePadding();D+=E.left+E.right,D!==this.gutterWidth&&!isNaN(D)&&(this.gutterWidth=D,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",D))},l.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var a=this.session.selection.getCursor();this.$cursorRow!==a.row&&(this.$cursorRow=a.row)}},l.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var a=this.session.selection.cursor.row;if(this.$cursorRow=a,!(this.$cursorCell&&this.$cursorCell.row==a)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var c=this.$lines.cells;this.$cursorCell=null;for(var f=0;f=this.$cursorRow){if(m.row>this.$cursorRow){var y=this.session.getFoldLine(this.$cursorRow);if(f>0&&y&&y.start.row==c[f-1].row)m=c[f-1];else break}m.element.className="ace_gutter-active-line "+m.element.className,this.$cursorCell=m;break}}}}},l.prototype.scrollLines=function(a){var c=this.config;if(this.config=a,this.$updateCursorRow(),this.$lines.pageChanged(c,a))return this.update(a);this.$lines.moveContainer(a);var f=Math.min(a.lastRow+a.gutterOffset,this.session.getLength()-1),m=this.oldLastRow;if(this.oldLastRow=f,!c||m0;y--)this.$lines.shift();if(m>f)for(var y=this.session.getFoldedRowCount(f+1,m);y>0;y--)this.$lines.pop();a.firstRowm&&this.$lines.push(this.$renderLines(a,m+1,f)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(a)},l.prototype.$renderLines=function(a,c,f){for(var m=[],y=c,D=this.session.getNextFoldLine(y),E=D?D.start.row:1/0;y>E&&(y=D.end.row+1,D=this.session.getNextFoldLine(y,D),E=D?D.start.row:1/0),!(y>f);){var b=this.$lines.createCell(y,a,this.session,r);this.$renderCell(b,a,D,y),m.push(b),y++}return m},l.prototype.$renderCell=function(a,c,f,m){var y=a.element,D=this.session,E=y.childNodes[0],b=y.childNodes[1],g=y.childNodes[2],S=y.childNodes[3],M=g.firstChild,_=D.$firstLineNumber,T=D.$breakpoints,F=D.$decorations,A=D.gutterRenderer||this.$renderer,$=this.$showFoldWidgets&&D.foldWidgets,C=f?f.start.row:Number.MAX_VALUE,w=c.lineHeight+"px",x=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",I=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",R=(A?A.getText(D,m):m+_).toString();if(this.$highlightGutterLine&&(m==this.$cursorRow||f&&m=C&&this.$cursorRow<=f.end.row)&&(x+="ace_gutter-active-line ",this.$cursorCell!=a&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=a)),T[m]&&(x+=T[m]),F[m]&&(x+=F[m]),this.$annotations[m]&&m!==C&&(x+=this.$annotations[m].className),$){var O=$[m];O==null&&(O=$[m]=D.getFoldWidget(m))}if(O){var P="ace_fold-widget ace_"+O,B=O=="start"&&m==C&&mf.right-c.right)return"foldWidgets"},l}();t.prototype.$fixedWidth=!1,t.prototype.$highlightGutterLine=!0,t.prototype.$renderer="",t.prototype.$showLineNumbers=!0,t.prototype.$showFoldWidgets=!0,h.implement(t.prototype,s);function r(l){var a=document.createTextNode("");l.appendChild(a);var c=o.createElement("span");l.appendChild(c);var f=o.createElement("span");l.appendChild(f);var m=o.createElement("span");return f.appendChild(m),l}u.Gutter=t}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(i,u,v){var o=i("../range").Range,h=i("../lib/dom"),d=function(){function p(e){this.element=h.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)}return p.prototype.setPadding=function(e){this.$padding=e},p.prototype.setSession=function(e){this.session=e},p.prototype.setMarkers=function(e){this.markers=e},p.prototype.elt=function(e,t){var r=this.i!=-1&&this.element.childNodes[this.i];r?this.i++:(r=document.createElement("div"),this.element.appendChild(r),this.i=-1),r.style.cssText=t,r.className=e},p.prototype.update=function(e){if(e){this.config=e,this.i=0;var t;for(var r in this.markers){var l=this.markers[r];if(!l.range){l.update(t,this,this.session,e);continue}var a=l.range.clipRows(e.firstRow,e.lastRow);if(!a.isEmpty())if(a=a.toScreenRange(this.session),l.renderer){var c=this.$getTop(a.start.row,e),f=this.$padding+a.start.column*e.characterWidth;l.renderer(t,a,f,c,e)}else l.type=="fullLine"?this.drawFullLineMarker(t,a,l.clazz,e):l.type=="screenLine"?this.drawScreenLineMarker(t,a,l.clazz,e):a.isMultiLine()?l.type=="text"?this.drawTextMarker(t,a,l.clazz,e):this.drawMultiLineMarker(t,a,l.clazz,e):this.drawSingleLineMarker(t,a,l.clazz+" ace_start ace_br15",e)}if(this.i!=-1)for(;this.ib,y==m),l,y==m?0:1,a)},p.prototype.drawMultiLineMarker=function(e,t,r,l,a){var c=this.$padding,f=l.lineHeight,m=this.$getTop(t.start.row,l),y=c+t.start.column*l.characterWidth;if(a=a||"",this.session.$bidiHandler.isBidiRow(t.start.row)){var D=t.clone();D.end.row=D.start.row,D.end.column=this.session.getLine(D.start.row).length,this.drawBidiSingleLineMarker(e,D,r+" ace_br1 ace_start",l,null,a)}else this.elt(r+" ace_br1 ace_start","height:"+f+"px;right:"+c+"px;top:"+m+"px;left:"+y+"px;"+(a||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var D=t.clone();D.start.row=D.end.row,D.start.column=0,this.drawBidiSingleLineMarker(e,D,r+" ace_br12",l,null,a)}else{m=this.$getTop(t.end.row,l);var E=t.end.column*l.characterWidth;this.elt(r+" ace_br12","height:"+f+"px;width:"+E+"px;top:"+m+"px;left:"+c+"px;"+(a||""))}if(f=(t.end.row-t.start.row-1)*l.lineHeight,!(f<=0)){m=this.$getTop(t.start.row+1,l);var b=(t.start.column?1:0)|(t.end.column?0:8);this.elt(r+(b?" ace_br"+b:""),"height:"+f+"px;right:"+c+"px;top:"+m+"px;left:"+c+"px;"+(a||""))}},p.prototype.drawSingleLineMarker=function(e,t,r,l,a,c){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(e,t,r,l,a,c);var f=l.lineHeight,m=(t.end.column+(a||0)-t.start.column)*l.characterWidth,y=this.$getTop(t.start.row,l),D=this.$padding+t.start.column*l.characterWidth;this.elt(r,"height:"+f+"px;width:"+m+"px;top:"+y+"px;left:"+D+"px;"+(c||""))},p.prototype.drawBidiSingleLineMarker=function(e,t,r,l,a,c){var f=l.lineHeight,m=this.$getTop(t.start.row,l),y=this.$padding,D=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);D.forEach(function(E){this.elt(r,"height:"+f+"px;width:"+(E.width+(a||0))+"px;top:"+m+"px;left:"+(y+E.left)+"px;"+(c||""))},this)},p.prototype.drawFullLineMarker=function(e,t,r,l,a){var c=this.$getTop(t.start.row,l),f=l.lineHeight;t.start.row!=t.end.row&&(f+=this.$getTop(t.end.row,l)-c),this.elt(r,"height:"+f+"px;top:"+c+"px;left:0;right:0;"+(a||""))},p.prototype.drawScreenLineMarker=function(e,t,r,l,a){var c=this.$getTop(t.start.row,l),f=l.lineHeight;this.elt(r,"height:"+f+"px;top:"+c+"px;left:0;right:0;"+(a||""))},p}();d.prototype.$padding=0;function s(p,e,t,r){return(p?1:0)|(e?2:0)|(t?4:0)|(r?8:0)}u.Marker=d}),ace.define("ace/layer/text_util",["require","exports","module"],function(i,u,v){var o=new Set(["text","rparen","lparen"]);u.isTextToken=function(h){return o.has(h)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(i,u,v){var o=i("../lib/oop"),h=i("../lib/dom"),d=i("../lib/lang"),s=i("./lines").Lines,p=i("../lib/event_emitter").EventEmitter,e=i("../config").nls,t=i("./text_util").isTextToken,r=function(){function l(a){this.dom=h,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",a.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new s(this.element)}return l.prototype.$updateEolChar=function(){var a=this.session.doc,c=a.getNewLineCharacter()==` -`&&a.getNewLineMode()!="windows",f=c?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=f)return this.EOL_CHAR=f,!0},l.prototype.setPadding=function(a){this.$padding=a,this.element.style.margin="0 "+a+"px"},l.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},l.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},l.prototype.$setFontMetrics=function(a){this.$fontMetrics=a,this.$fontMetrics.on("changeCharacterSize",function(c){this._signal("changeCharacterSize",c)}.bind(this)),this.$pollSizeChanges()},l.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},l.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},l.prototype.setSession=function(a){this.session=a,a&&this.$computeTabString()},l.prototype.setShowInvisibles=function(a){return this.showInvisibles==a?!1:(this.showInvisibles=a,typeof a=="string"?(this.showSpaces=/tab/i.test(a),this.showTabs=/space/i.test(a),this.showEOL=/eol/i.test(a)):this.showSpaces=this.showTabs=this.showEOL=a,this.$computeTabString(),!0)},l.prototype.setDisplayIndentGuides=function(a){return this.displayIndentGuides==a?!1:(this.displayIndentGuides=a,this.$computeTabString(),!0)},l.prototype.setHighlightIndentGuides=function(a){return this.$highlightIndentGuides===a?!1:(this.$highlightIndentGuides=a,a)},l.prototype.$computeTabString=function(){var a=this.session.getTabSize();this.tabSize=a;for(var c=this.$tabStrings=[0],f=1;fM&&(g=S.end.row+1,S=this.session.getNextFoldLine(g,S),M=S?S.start.row:1/0),!(g>y);){var _=D[E++];if(_){this.dom.removeChildren(_),this.$renderLine(_,g,g==M?S:!1),b&&(_.style.top=this.$lines.computeLineTop(g,a,this.session)+"px");var T=a.lineHeight*this.session.getRowLength(g)+"px";_.style.height!=T&&(b=!0,_.style.height=T)}g++}if(b)for(;E0;y--)this.$lines.shift();if(c.lastRow>a.lastRow)for(var y=this.session.getFoldedRowCount(a.lastRow+1,c.lastRow);y>0;y--)this.$lines.pop();a.firstRowc.lastRow&&this.$lines.push(this.$renderLinesFragment(a,c.lastRow+1,a.lastRow)),this.$highlightIndentGuide()},l.prototype.$renderLinesFragment=function(a,c,f){for(var m=[],y=c,D=this.session.getNextFoldLine(y),E=D?D.start.row:1/0;y>E&&(y=D.end.row+1,D=this.session.getNextFoldLine(y,D),E=D?D.start.row:1/0),!(y>f);){var b=this.$lines.createCell(y,a,this.session),g=b.element;this.dom.removeChildren(g),h.setStyle(g.style,"height",this.$lines.computeLineHeight(y,a,this.session)+"px"),h.setStyle(g.style,"top",this.$lines.computeLineTop(y,a,this.session)+"px"),this.$renderLine(g,y,y==E?D:!1),this.$useLineGroups()?g.className="ace_line_group":g.className="ace_line",m.push(b),y++}return m},l.prototype.update=function(a){this.$lines.moveContainer(a),this.config=a;for(var c=a.firstRow,f=a.lastRow,m=this.$lines;m.getLength();)m.pop();m.push(this.$renderLinesFragment(a,c,f))},l.prototype.$renderToken=function(a,c,f,m){for(var y=this,D=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,E=this.dom.createFragment(this.element),b,g=0;b=D.exec(m);){var S=b[1],M=b[2],_=b[3],T=b[4],F=b[5];if(!(!y.showSpaces&&M)){var A=g!=b.index?m.slice(g,b.index):"";if(g=b.index+b[0].length,A&&E.appendChild(this.dom.createTextNode(A,this.element)),S){var $=y.session.getScreenTabSize(c+b.index);E.appendChild(y.$tabStrings[$].cloneNode(!0)),c+=$-1}else if(M)if(y.showSpaces){var C=this.dom.createElement("span");C.className="ace_invisible ace_invisible_space",C.textContent=d.stringRepeat(y.SPACE_CHAR,M.length),E.appendChild(C)}else E.appendChild(this.dom.createTextNode(M,this.element));else if(_){var C=this.dom.createElement("span");C.className="ace_invisible ace_invisible_space ace_invalid",C.textContent=d.stringRepeat(y.SPACE_CHAR,_.length),E.appendChild(C)}else if(T){c+=1;var C=this.dom.createElement("span");C.style.width=y.config.characterWidth*2+"px",C.className=y.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",C.textContent=y.showSpaces?y.SPACE_CHAR:T,E.appendChild(C)}else if(F){c+=1;var C=this.dom.createElement("span");C.style.width=y.config.characterWidth*2+"px",C.className="ace_cjk",C.textContent=F,E.appendChild(C)}}}if(E.appendChild(this.dom.createTextNode(g?m.slice(g):m,this.element)),t(f.type))a.appendChild(E);else{var w="ace_"+f.type.replace(/\./g," ace_"),C=this.dom.createElement("span");f.type=="fold"&&(C.style.width=f.value.length*this.config.characterWidth+"px",C.setAttribute("title",e("inline-fold.closed.title","Unfold code"))),C.className=w,C.appendChild(E),a.appendChild(C)}return c+m.length},l.prototype.renderIndentGuide=function(a,c,f){var m=c.search(this.$indentGuideRe);if(m<=0||m>=f)return c;if(c[0]==" "){m-=m%this.tabSize;for(var y=m/this.tabSize,D=0;DD[E].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&a[c.row]!==""&&c.column===a[c.row].length){this.$highlightIndentGuideMarker.dir=1;for(var E=c.row+1;E0)m=a.element.childNodes[0];else return;var y=m.childNodes;if(y){var D=y[c-1];D&&D.classList&&D.classList.contains("ace_indent-guide")&&D.classList.add("ace_indent-guide-active")}}},l.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var a=this.$lines.cells;this.$clearActiveIndentGuide();var c=this.$highlightIndentGuideMarker.indentLevel;if(c!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var f=0;f=this.$highlightIndentGuideMarker.start+1){if(m.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(m,c)}}else for(var f=a.length-1;f>=0;f--){var m=a[f];if(this.$highlightIndentGuideMarker.end&&m.row=D;)E=this.$renderToken(b,E,S,M.substring(0,D-m)),M=M.substring(D-m),m=D,b=this.$createLineElement(),a.appendChild(b),b.appendChild(this.dom.createTextNode(d.stringRepeat(" ",f.indent),this.element)),y++,E=0,D=f[y]||Number.MAX_VALUE;M.length!=0&&(m+=M.length,E=this.$renderToken(b,E,S,M))}}f[f.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(b,E,null,"",!0)},l.prototype.$renderSimpleLine=function(a,c){for(var f=0,m=0;mthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(a,f,y,D);f=this.$renderToken(a,f,y,D)}}},l.prototype.$renderOverflowMessage=function(a,c,f,m,y){f&&this.$renderToken(a,c,f,m.slice(0,this.MAX_LINE_LENGTH-c));var D=this.dom.createElement("span");D.className="ace_inline_button ace_keyword ace_toggle_wrap",D.textContent=y?"":"",a.appendChild(D)},l.prototype.$renderLine=function(a,c,f){if(!f&&f!=!1&&(f=this.session.getFoldLine(c)),f)var m=this.$getFoldLineTokens(c,f);else var m=this.session.getTokens(c);var y=a;if(m.length){var D=this.session.getRowSplitData(c);if(D&&D.length){this.$renderWrappedLine(a,m,D);var y=a.lastChild}else{var y=a;this.$useLineGroups()&&(y=this.$createLineElement(),a.appendChild(y)),this.$renderSimpleLine(y,m)}}else this.$useLineGroups()&&(y=this.$createLineElement(),a.appendChild(y));if(this.showEOL&&y){f&&(c=f.end.row);var E=this.dom.createElement("span");E.className="ace_invisible ace_invisible_eol",E.textContent=c==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,y.appendChild(E)}},l.prototype.$getFoldLineTokens=function(a,c){var f=this.session,m=[];function y(E,b,g){for(var S=0,M=0;M+E[S].value.lengthg-b&&(_=_.substring(0,g-b)),m.push({type:E[S].type,value:_}),M=b+_.length,S+=1}for(;Mg?m.push({type:E[S].type,value:_.substring(0,g-M)}):m.push(E[S]),M+=_.length,S+=1}}var D=f.getTokens(a);return c.walk(function(E,b,g,S,M){E!=null?m.push({type:"fold",value:E}):(M&&(D=f.getTokens(b)),D.length&&y(D,S,g))},c.end.row,this.session.getLine(c.end.row).length),m},l.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},l}();r.prototype.EOF_CHAR="¶",r.prototype.EOL_CHAR_LF="¬",r.prototype.EOL_CHAR_CRLF="¤",r.prototype.EOL_CHAR=r.prototype.EOL_CHAR_LF,r.prototype.TAB_CHAR="—",r.prototype.SPACE_CHAR="·",r.prototype.$padding=0,r.prototype.MAX_LINE_LENGTH=1e4,r.prototype.showInvisibles=!1,r.prototype.showSpaces=!1,r.prototype.showTabs=!1,r.prototype.showEOL=!1,r.prototype.displayIndentGuides=!0,r.prototype.$highlightIndentGuides=!0,r.prototype.$tabStrings=[],r.prototype.destroy={},r.prototype.onChangeTabSize=r.prototype.$computeTabString,o.implement(r.prototype,p),u.Text=r}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(i,u,v){var o=i("../lib/dom"),h=function(){function d(s){this.element=o.createElement("div"),this.element.className="ace_layer ace_cursor-layer",s.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),o.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return d.prototype.$updateOpacity=function(s){for(var p=this.cursors,e=p.length;e--;)o.setStyle(p[e].style,"opacity",s?"":"0")},d.prototype.$startCssAnimation=function(){for(var s=this.cursors,p=s.length;p--;)s[p].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&o.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},d.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,o.removeCssClass(this.element,"ace_animate-blinking")},d.prototype.setPadding=function(s){this.$padding=s},d.prototype.setSession=function(s){this.session=s},d.prototype.setBlinking=function(s){s!=this.isBlinking&&(this.isBlinking=s,this.restartTimer())},d.prototype.setBlinkInterval=function(s){s!=this.blinkInterval&&(this.blinkInterval=s,this.restartTimer())},d.prototype.setSmoothBlinking=function(s){s!=this.smoothBlinking&&(this.smoothBlinking=s,o.setCssClass(this.element,"ace_smooth-blinking",s),this.$updateCursors(!0),this.restartTimer())},d.prototype.addCursor=function(){var s=o.createElement("div");return s.className="ace_cursor",this.element.appendChild(s),this.cursors.push(s),s},d.prototype.removeCursor=function(){if(this.cursors.length>1){var s=this.cursors.pop();return s.parentNode.removeChild(s),s}},d.prototype.hideCursor=function(){this.isVisible=!1,o.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},d.prototype.showCursor=function(){this.isVisible=!0,o.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},d.prototype.restartTimer=function(){var s=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,o.removeCssClass(this.element,"ace_smooth-blinking")),s(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&o.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),o.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var p=function(){this.timeoutId=setTimeout(function(){s(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){s(!0),p()},this.blinkInterval),p()}},d.prototype.getPixelPosition=function(s,p){if(!this.config||!this.session)return{left:0,top:0};s||(s=this.session.selection.getCursor());var e=this.session.documentToScreenPosition(s),t=this.$padding+(this.session.$bidiHandler.isBidiRow(e.row,s.row)?this.session.$bidiHandler.getPosLeft(e.column):e.column*this.config.characterWidth),r=(e.row-(p?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:t,top:r}},d.prototype.isCursorInView=function(s,p){return s.top>=0&&s.tops.height+s.offset||l.top<0)&&e>1)){var a=this.cursors[t++]||this.addCursor(),c=a.style;this.drawCursor?this.drawCursor(a,l,s,p[e],this.session):this.isCursorInView(l,s)?(o.setStyle(c,"display","block"),o.translate(a,l.left,l.top),o.setStyle(c,"width",Math.round(s.characterWidth)+"px"),o.setStyle(c,"height",s.lineHeight+"px")):o.setStyle(c,"display","none")}}for(;this.cursors.length>t;)this.removeCursor();var f=this.session.getOverwrite();this.$setOverwrite(f),this.$pixelPos=l,this.restartTimer()},d.prototype.$setOverwrite=function(s){s!=this.overwrite&&(this.overwrite=s,s?o.addCssClass(this.element,"ace_overwrite-cursors"):o.removeCssClass(this.element,"ace_overwrite-cursors"))},d.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},d}();h.prototype.$padding=0,h.prototype.drawCursor=null,u.Cursor=h}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(i,u,v){var o=this&&this.__extends||function(){var a=function(c,f){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,y){m.__proto__=y}||function(m,y){for(var D in y)Object.prototype.hasOwnProperty.call(y,D)&&(m[D]=y[D])},a(c,f)};return function(c,f){if(typeof f!="function"&&f!==null)throw new TypeError("Class extends value "+String(f)+" is not a constructor or null");a(c,f);function m(){this.constructor=c}c.prototype=f===null?Object.create(f):(m.prototype=f.prototype,new m)}}(),h=i("./lib/oop"),d=i("./lib/dom"),s=i("./lib/event"),p=i("./lib/event_emitter").EventEmitter,e=32768,t=function(){function a(c,f){this.element=d.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+f,this.inner=d.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),c.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)}return a.prototype.setVisible=function(c){this.element.style.display=c?"":"none",this.isVisible=c,this.coeff=1},a}();h.implement(t.prototype,p);var r=function(a){o(c,a);function c(f,m){var y=a.call(this,f,"-v")||this;return y.scrollTop=0,y.scrollHeight=0,m.$scrollbarWidth=y.width=d.scrollbarWidth(f.ownerDocument),y.inner.style.width=y.element.style.width=(y.width||15)+5+"px",y.$minWidth=0,y}return c.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var f=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-f)/(this.coeff-f)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},c.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},c.prototype.setHeight=function(f){this.element.style.height=f+"px"},c.prototype.setScrollHeight=function(f){this.scrollHeight=f,f>e?(this.coeff=e/f,f=e):this.coeff!=1&&(this.coeff=1),this.inner.style.height=f+"px"},c.prototype.setScrollTop=function(f){this.scrollTop!=f&&(this.skipEvent=!0,this.scrollTop=f,this.element.scrollTop=f*this.coeff)},c}(t);r.prototype.setInnerHeight=r.prototype.setScrollHeight;var l=function(a){o(c,a);function c(f,m){var y=a.call(this,f,"-h")||this;return y.scrollLeft=0,y.height=m.$scrollbarWidth,y.inner.style.height=y.element.style.height=(y.height||15)+5+"px",y}return c.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},c.prototype.getHeight=function(){return this.isVisible?this.height:0},c.prototype.setWidth=function(f){this.element.style.width=f+"px"},c.prototype.setInnerWidth=function(f){this.inner.style.width=f+"px"},c.prototype.setScrollWidth=function(f){this.inner.style.width=f+"px"},c.prototype.setScrollLeft=function(f){this.scrollLeft!=f&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=f)},c}(t);u.ScrollBar=r,u.ScrollBarV=r,u.ScrollBarH=l,u.VScrollBar=r,u.HScrollBar=l}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(i,u,v){var o=this&&this.__extends||function(){var l=function(a,c){return l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,m){f.__proto__=m}||function(f,m){for(var y in m)Object.prototype.hasOwnProperty.call(m,y)&&(f[y]=m[y])},l(a,c)};return function(a,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");l(a,c);function f(){this.constructor=a}a.prototype=c===null?Object.create(c):(f.prototype=c.prototype,new f)}}(),h=i("./lib/oop"),d=i("./lib/dom"),s=i("./lib/event"),p=i("./lib/event_emitter").EventEmitter;d.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{ - position: absolute; - background: rgba(128, 128, 128, 0.6); - -moz-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid #bbb; - border-radius: 2px; - z-index: 8; -} -.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h { - position: absolute; - z-index: 6; - background: none; - overflow: hidden!important; -} -.ace_editor>.ace_sb-v { - z-index: 6; - right: 0; - top: 0; - width: 12px; -} -.ace_editor>.ace_sb-v div { - z-index: 8; - right: 0; - width: 100%; -} -.ace_editor>.ace_sb-h { - bottom: 0; - left: 0; - height: 12px; -} -.ace_editor>.ace_sb-h div { - bottom: 0; - height: 100%; -} -.ace_editor>.ace_sb_grabbed { - z-index: 8; - background: #000; -}`,"ace_scrollbar.css",!1);var e=function(){function l(a,c){this.element=d.createElement("div"),this.element.className="ace_sb"+c,this.inner=d.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,a.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return l.prototype.setVisible=function(a){this.element.style.display=a?"":"none",this.isVisible=a,this.coeff=1},l}();h.implement(e.prototype,p);var t=function(l){o(a,l);function a(c,f){var m=l.call(this,c,"-v")||this;return m.scrollTop=0,m.scrollHeight=0,m.parent=c,m.width=m.VScrollWidth,m.renderer=f,m.inner.style.width=m.element.style.width=(m.width||15)+"px",m.$minWidth=0,m}return a.prototype.onMouseDown=function(c,f){if(c==="mousedown"&&!(s.getButton(f)!==0||f.detail===2)){if(f.target===this.inner){var m=this,y=f.clientY,D=function(T){y=T.clientY},E=function(){clearInterval(M)},b=f.clientY,g=this.thumbTop,S=function(){if(y!==void 0){var T=m.scrollTopFromThumbTop(g+y-b);T!==m.scrollTop&&m._emit("scroll",{data:T})}};s.capture(this.inner,D,E);var M=setInterval(S,20);return s.preventDefault(f)}var _=f.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(_)}),s.preventDefault(f)}},a.prototype.getHeight=function(){return this.height},a.prototype.scrollTopFromThumbTop=function(c){var f=c*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return f=f>>0,f<0?f=0:f>this.pageHeight-this.viewHeight&&(f=this.pageHeight-this.viewHeight),f},a.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},a.prototype.setHeight=function(c){this.height=Math.max(0,c),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},a.prototype.setScrollHeight=function(c,f){this.pageHeight===c&&!f||(this.pageHeight=c,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},a.prototype.setScrollTop=function(c){this.scrollTop=c,c<0&&(c=0),this.thumbTop=c*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},a}(e);t.prototype.setInnerHeight=t.prototype.setScrollHeight;var r=function(l){o(a,l);function a(c,f){var m=l.call(this,c,"-h")||this;return m.scrollLeft=0,m.scrollWidth=0,m.height=m.HScrollHeight,m.inner.style.height=m.element.style.height=(m.height||12)+"px",m.renderer=f,m}return a.prototype.onMouseDown=function(c,f){if(c==="mousedown"&&!(s.getButton(f)!==0||f.detail===2)){if(f.target===this.inner){var m=this,y=f.clientX,D=function(T){y=T.clientX},E=function(){clearInterval(M)},b=f.clientX,g=this.thumbLeft,S=function(){if(y!==void 0){var T=m.scrollLeftFromThumbLeft(g+y-b);T!==m.scrollLeft&&m._emit("scroll",{data:T})}};s.capture(this.inner,D,E);var M=setInterval(S,20);return s.preventDefault(f)}var _=f.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(_)}),s.preventDefault(f)}},a.prototype.getHeight=function(){return this.isVisible?this.height:0},a.prototype.scrollLeftFromThumbLeft=function(c){var f=c*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return f=f>>0,f<0?f=0:f>this.pageWidth-this.viewWidth&&(f=this.pageWidth-this.viewWidth),f},a.prototype.setWidth=function(c){this.width=Math.max(0,c),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},a.prototype.setScrollWidth=function(c,f){this.pageWidth===c&&!f||(this.pageWidth=c,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},a.prototype.setScrollLeft=function(c){this.scrollLeft=c,c<0&&(c=0),this.thumbLeft=c*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},a}(e);r.prototype.setInnerWidth=r.prototype.setScrollWidth,u.ScrollBar=t,u.ScrollBarV=t,u.ScrollBarH=r,u.VScrollBar=t,u.HScrollBar=r}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(i,u,v){var o=i("./lib/event"),h=function(){function d(s,p){this.onRender=s,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=p||window;var e=this;this._flush=function(t){e.pending=!1;var r=e.changes;if(r&&(o.blockIdle(100),e.changes=0,e.onRender(r)),e.changes){if(e.$recursionLimit--<0)return;e.schedule()}else e.$recursionLimit=2}}return d.prototype.schedule=function(s){this.changes=this.changes|s,this.changes&&!this.pending&&(o.nextFrame(this._flush),this.pending=!0)},d.prototype.clear=function(s){var p=this.changes;return this.changes=0,p},d}();u.RenderLoop=h}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(i,u,v){var o=i("../lib/oop"),h=i("../lib/dom"),d=i("../lib/lang"),s=i("../lib/event"),p=i("../lib/useragent"),e=i("../lib/event_emitter").EventEmitter,t=512,r=typeof ResizeObserver=="function",l=200,a=function(){function c(f){this.el=h.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=h.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=h.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),f.appendChild(this.el),this.$measureNode.textContent=d.stringRepeat("X",t),this.$characterSize={width:0,height:0},r?this.$addObserver():this.checkForSizeChanges()}return c.prototype.$setMeasureNodeStyles=function(f,m){f.width=f.height="auto",f.left=f.top="0px",f.visibility="hidden",f.position="absolute",f.whiteSpace="pre",p.isIE<8?f["font-family"]="inherit":f.font="inherit",f.overflow=m?"hidden":"visible"},c.prototype.checkForSizeChanges=function(f){if(f===void 0&&(f=this.$measureSizes()),f&&(this.$characterSize.width!==f.width||this.$characterSize.height!==f.height)){this.$measureNode.style.fontWeight="bold";var m=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=f,this.charSizes=Object.create(null),this.allowBoldFonts=m&&m.width===f.width&&m.height===f.height,this._emit("changeCharacterSize",{data:f})}},c.prototype.$addObserver=function(){var f=this;this.$observer=new window.ResizeObserver(function(m){f.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},c.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var f=this;return this.$pollSizeChangesTimer=s.onIdle(function m(){f.checkForSizeChanges(),s.onIdle(m,500)},500)},c.prototype.setPolling=function(f){f?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},c.prototype.$measureSizes=function(f){var m={height:(f||this.$measureNode).clientHeight,width:(f||this.$measureNode).clientWidth/t};return m.width===0||m.height===0?null:m},c.prototype.$measureCharWidth=function(f){this.$main.textContent=d.stringRepeat(f,t);var m=this.$main.getBoundingClientRect();return m.width/t},c.prototype.getCharacterWidth=function(f){var m=this.charSizes[f];return m===void 0&&(m=this.charSizes[f]=this.$measureCharWidth(f)/this.$characterSize.width),m},c.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},c.prototype.$getZoom=function(f){return!f||!f.parentElement?1:(Number(window.getComputedStyle(f).zoom)||1)*this.$getZoom(f.parentElement)},c.prototype.$initTransformMeasureNodes=function(){var f=function(m,y){return["div",{style:"position: absolute;top:"+m+"px;left:"+y+"px;"}]};this.els=h.buildDom([f(0,0),f(l,0),f(0,l),f(l,l)],this.el)},c.prototype.transformCoordinates=function(f,m){if(f){var y=this.$getZoom(this.el);f=g(1/y,f)}function D(P,B,V){var W=P[1]*B[0]-P[0]*B[1];return[(-B[1]*V[0]+B[0]*V[1])/W,(+P[1]*V[0]-P[0]*V[1])/W]}function E(P,B){return[P[0]-B[0],P[1]-B[1]]}function b(P,B){return[P[0]+B[0],P[1]+B[1]]}function g(P,B){return[P*B[0],P*B[1]]}this.els||this.$initTransformMeasureNodes();function S(P){var B=P.getBoundingClientRect();return[B.left,B.top]}var M=S(this.els[0]),_=S(this.els[1]),T=S(this.els[2]),F=S(this.els[3]),A=D(E(F,_),E(F,T),E(b(_,T),b(F,M))),$=g(1+A[0],E(_,M)),C=g(1+A[1],E(T,M));if(m){var w=m,x=A[0]*w[0]/l+A[1]*w[1]/l+1,I=b(g(w[0],$),g(w[1],C));return b(g(1/x/l,I),M)}var R=E(f,M),O=D(E($,g(A[0],R)),E(C,g(A[1],R)),R);return g(l,O)},c}();a.prototype.$characterSize={width:0,height:0},o.implement(a.prototype,e),u.FontMetrics=a}),ace.define("ace/css/editor-css",["require","exports","module"],function(i,u,v){v.exports=` -.ace_br1 {border-top-left-radius : 3px;} -.ace_br2 {border-top-right-radius : 3px;} -.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;} -.ace_br4 {border-bottom-right-radius: 3px;} -.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;} -.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;} -.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;} -.ace_br8 {border-bottom-left-radius : 3px;} -.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;} -.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;} -.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;} -.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} -.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} -.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} -.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;} - - -.ace_editor { - position: relative; - overflow: hidden; - padding: 0; - font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace; - direction: ltr; - text-align: left; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - forced-color-adjust: none; -} - -.ace_scroller { - position: absolute; - overflow: hidden; - top: 0; - bottom: 0; - background-color: inherit; - -ms-user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - user-select: none; - cursor: text; -} - -.ace_content { - position: absolute; - box-sizing: border-box; - min-width: 100%; - contain: style size layout; - font-variant-ligatures: no-common-ligatures; -} -.ace_invisible { - font-variant-ligatures: none; -} - -.ace_keyboard-focus:focus { - box-shadow: inset 0 0 0 2px #5E9ED6; - outline: none; -} - -.ace_dragging .ace_scroller:before{ - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - content: ''; - background: rgba(250, 250, 250, 0.01); - z-index: 1000; -} -.ace_dragging.ace_dark .ace_scroller:before{ - background: rgba(0, 0, 0, 0.01); -} - -.ace_gutter { - position: absolute; - overflow : hidden; - width: auto; - top: 0; - bottom: 0; - left: 0; - cursor: default; - z-index: 4; - -ms-user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - user-select: none; - contain: style size layout; -} - -.ace_gutter-active-line { - position: absolute; - left: 0; - right: 0; -} - -.ace_scroller.ace_scroll-left:after { - content: ""; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset; - pointer-events: none; -} - -.ace_gutter-cell, .ace_gutter-cell_svg-icons { - position: absolute; - top: 0; - left: 0; - right: 0; - padding-left: 19px; - padding-right: 6px; - background-repeat: no-repeat; -} - -.ace_gutter-cell_svg-icons .ace_gutter_annotation { - margin-left: -14px; - float: left; -} - -.ace_gutter-cell .ace_gutter_annotation { - margin-left: -19px; - float: left; -} - -.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg=="); - background-repeat: no-repeat; - background-position: 2px center; -} - -.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg=="); - background-repeat: no-repeat; - background-position: 2px center; -} - -.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII="); - background-repeat: no-repeat; - background-position: 2px center; -} - -.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC"); -} - -.ace_icon_svg.ace_error { - -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+"); - background-color: crimson; -} -.ace_icon_svg.ace_security { - -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+"); - background-color: crimson; -} -.ace_icon_svg.ace_warning { - -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg=="); - background-color: darkorange; -} -.ace_icon_svg.ace_info { - -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg=="); - background-color: royalblue; -} -.ace_icon_svg.ace_hint { - -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg=="); - background-color: silver; -} - -.ace_icon_svg.ace_error_fold { - -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4="); - background-color: crimson; -} -.ace_icon_svg.ace_security_fold { - -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4="); - background-color: crimson; -} -.ace_icon_svg.ace_warning_fold { - -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4="); - background-color: darkorange; -} - -.ace_scrollbar { - contain: strict; - position: absolute; - right: 0; - bottom: 0; - z-index: 6; -} - -.ace_scrollbar-inner { - position: absolute; - cursor: text; - left: 0; - top: 0; -} - -.ace_scrollbar-v{ - overflow-x: hidden; - overflow-y: scroll; - top: 0; -} - -.ace_scrollbar-h { - overflow-x: scroll; - overflow-y: hidden; - left: 0; -} - -.ace_print-margin { - position: absolute; - height: 100%; -} - -.ace_text-input { - position: absolute; - z-index: 0; - width: 0.5em; - height: 1em; - opacity: 0; - background: transparent; - -moz-appearance: none; - appearance: none; - border: none; - resize: none; - outline: none; - overflow: hidden; - font: inherit; - padding: 0 1px; - margin: 0 -1px; - contain: strict; - -ms-user-select: text; - -moz-user-select: text; - -webkit-user-select: text; - user-select: text; - /*with \`pre-line\` chrome inserts   instead of space*/ - white-space: pre!important; -} -.ace_text-input.ace_composition { - background: transparent; - color: inherit; - z-index: 1000; - opacity: 1; -} -.ace_composition_placeholder { color: transparent } -.ace_composition_marker { - border-bottom: 1px solid; - position: absolute; - border-radius: 0; - margin-top: 1px; -} - -[ace_nocontext=true] { - transform: none!important; - filter: none!important; - clip-path: none!important; - mask : none!important; - contain: none!important; - perspective: none!important; - mix-blend-mode: initial!important; - z-index: auto; -} - -.ace_layer { - z-index: 1; - position: absolute; - overflow: hidden; - /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/ - word-wrap: normal; - white-space: pre; - height: 100%; - width: 100%; - box-sizing: border-box; - /* setting pointer-events: auto; on node under the mouse, which changes - during scroll, will break mouse wheel scrolling in Safari */ - pointer-events: none; -} - -.ace_gutter-layer { - position: relative; - width: auto; - text-align: right; - pointer-events: auto; - height: 1000000px; - contain: style size layout; -} - -.ace_text-layer { - font: inherit !important; - position: absolute; - height: 1000000px; - width: 1000000px; - contain: style size layout; -} - -.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group { - contain: style size layout; - position: absolute; - top: 0; - left: 0; - right: 0; -} - -.ace_hidpi .ace_text-layer, -.ace_hidpi .ace_gutter-layer, -.ace_hidpi .ace_content, -.ace_hidpi .ace_gutter { - contain: strict; -} -.ace_hidpi .ace_text-layer > .ace_line, -.ace_hidpi .ace_text-layer > .ace_line_group { - contain: strict; -} - -.ace_cjk { - display: inline-block; - text-align: center; -} - -.ace_cursor-layer { - z-index: 4; -} - -.ace_cursor { - z-index: 4; - position: absolute; - box-sizing: border-box; - border-left: 2px solid; - /* workaround for smooth cursor repaintng whole screen in chrome */ - transform: translatez(0); -} - -.ace_multiselect .ace_cursor { - border-left-width: 1px; -} - -.ace_slim-cursors .ace_cursor { - border-left-width: 1px; -} - -.ace_overwrite-cursors .ace_cursor { - border-left-width: 0; - border-bottom: 1px solid; -} - -.ace_hidden-cursors .ace_cursor { - opacity: 0.2; -} - -.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor { - opacity: 0; -} - -.ace_smooth-blinking .ace_cursor { - transition: opacity 0.18s; -} - -.ace_animate-blinking .ace_cursor { - animation-duration: 1000ms; - animation-timing-function: step-end; - animation-name: blink-ace-animate; - animation-iteration-count: infinite; -} - -.ace_animate-blinking.ace_smooth-blinking .ace_cursor { - animation-duration: 1000ms; - animation-timing-function: ease-in-out; - animation-name: blink-ace-animate-smooth; -} - -@keyframes blink-ace-animate { - from, to { opacity: 1; } - 60% { opacity: 0; } -} - -@keyframes blink-ace-animate-smooth { - from, to { opacity: 1; } - 45% { opacity: 1; } - 60% { opacity: 0; } - 85% { opacity: 0; } -} - -.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack { - position: absolute; - z-index: 3; -} - -.ace_marker-layer .ace_selection { - position: absolute; - z-index: 5; -} - -.ace_marker-layer .ace_bracket { - position: absolute; - z-index: 6; -} - -.ace_marker-layer .ace_error_bracket { - position: absolute; - border-bottom: 1px solid #DE5555; - border-radius: 0; -} - -.ace_marker-layer .ace_active-line { - position: absolute; - z-index: 2; -} - -.ace_marker-layer .ace_selected-word { - position: absolute; - z-index: 4; - box-sizing: border-box; -} - -.ace_line .ace_fold { - box-sizing: border-box; - - display: inline-block; - height: 11px; - margin-top: -2px; - vertical-align: middle; - - background-image: - url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="), - url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII="); - background-repeat: no-repeat, repeat-x; - background-position: center center, top left; - color: transparent; - - border: 1px solid black; - border-radius: 2px; - - cursor: pointer; - pointer-events: auto; -} - -.ace_dark .ace_fold { -} - -.ace_fold:hover{ - background-image: - url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="), - url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC"); -} - -.ace_tooltip { - background-color: #f5f5f5; - border: 1px solid gray; - border-radius: 1px; - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); - color: black; - padding: 3px 4px; - position: fixed; - z-index: 999999; - box-sizing: border-box; - cursor: default; - white-space: pre-wrap; - word-wrap: break-word; - line-height: normal; - font-style: normal; - font-weight: normal; - letter-spacing: normal; - pointer-events: none; - overflow: auto; - max-width: min(33em, 66vw); - overscroll-behavior: contain; -} -.ace_tooltip pre { - white-space: pre-wrap; -} - -.ace_tooltip.ace_dark { - background-color: #636363; - color: #fff; -} - -.ace_tooltip:focus { - outline: 1px solid #5E9ED6; -} - -.ace_icon { - display: inline-block; - width: 18px; - vertical-align: top; -} - -.ace_icon_svg { - display: inline-block; - width: 12px; - vertical-align: top; - -webkit-mask-repeat: no-repeat; - -webkit-mask-size: 12px; - -webkit-mask-position: center; -} - -.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons { - padding-right: 13px; -} - -.ace_fold-widget, .ace_custom-widget { - box-sizing: border-box; - - margin: 0 -12px 0 1px; - display: none; - width: 11px; - vertical-align: top; - - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg=="); - background-repeat: no-repeat; - background-position: center; - - border-radius: 3px; - - border: 1px solid transparent; - cursor: pointer; - pointer-events: auto; -} - -.ace_custom-widget { - background: none; -} - -.ace_folding-enabled .ace_fold-widget { - display: inline-block; -} - -.ace_fold-widget.ace_end { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg=="); -} - -.ace_fold-widget.ace_closed { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA=="); -} - -.ace_fold-widget:hover { - border: 1px solid rgba(0, 0, 0, 0.3); - background-color: rgba(255, 255, 255, 0.2); - box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7); -} - -.ace_fold-widget:active { - border: 1px solid rgba(0, 0, 0, 0.4); - background-color: rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8); -} -/** - * Dark version for fold widgets - */ -.ace_dark .ace_fold-widget { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC"); -} -.ace_dark .ace_fold-widget.ace_end { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg=="); -} -.ace_dark .ace_fold-widget.ace_closed { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg=="); -} -.ace_dark .ace_fold-widget:hover { - box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2); - background-color: rgba(255, 255, 255, 0.1); -} -.ace_dark .ace_fold-widget:active { - box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2); -} - -.ace_inline_button { - border: 1px solid lightgray; - display: inline-block; - margin: -1px 8px; - padding: 0 5px; - pointer-events: auto; - cursor: pointer; -} -.ace_inline_button:hover { - border-color: gray; - background: rgba(200,200,200,0.2); - display: inline-block; - pointer-events: auto; -} - -.ace_fold-widget.ace_invalid { - background-color: #FFB4B4; - border-color: #DE5555; -} - -.ace_fade-fold-widgets .ace_fold-widget { - transition: opacity 0.4s ease 0.05s; - opacity: 0; -} - -.ace_fade-fold-widgets:hover .ace_fold-widget { - transition: opacity 0.05s ease 0.05s; - opacity:1; -} - -.ace_underline { - text-decoration: underline; -} - -.ace_bold { - font-weight: bold; -} - -.ace_nobold .ace_bold { - font-weight: normal; -} - -.ace_italic { - font-style: italic; -} - - -.ace_error-marker { - background-color: rgba(255, 0, 0,0.2); - position: absolute; - z-index: 9; -} - -.ace_highlight-marker { - background-color: rgba(255, 255, 0,0.2); - position: absolute; - z-index: 8; -} - -.ace_mobile-menu { - position: absolute; - line-height: 1.5; - border-radius: 4px; - -ms-user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - user-select: none; - background: white; - box-shadow: 1px 3px 2px grey; - border: 1px solid #dcdcdc; - color: black; -} -.ace_dark > .ace_mobile-menu { - background: #333; - color: #ccc; - box-shadow: 1px 3px 2px grey; - border: 1px solid #444; - -} -.ace_mobile-button { - padding: 2px; - cursor: pointer; - overflow: hidden; -} -.ace_mobile-button:hover { - background-color: #eee; - opacity:1; -} -.ace_mobile-button:active { - background-color: #ddd; -} - -.ace_placeholder { - position: relative; - font-family: arial; - transform: scale(0.9); - transform-origin: left; - white-space: pre; - opacity: 0.7; - margin: 0 10px; - z-index: 1; -} - -.ace_ghost_text { - opacity: 0.5; - font-style: italic; -} - -.ace_ghost_text_container > div { - white-space: pre; -} - -.ghost_text_line_wrapped::after { - content: "↩"; - position: absolute; -} - -.ace_lineWidgetContainer.ace_ghost_text { - margin: 0px 4px -} - -.ace_screenreader-only { - position:absolute; - left:-10000px; - top:auto; - width:1px; - height:1px; - overflow:hidden; -} - -.ace_hidden_token { - display: none; -}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(i,u,v){var o=i("../lib/dom"),h=i("../lib/oop"),d=i("../lib/event_emitter").EventEmitter,s=function(){function p(e,t){this.parentEl=e,this.canvas=o.createElement("canvas"),this.renderer=t,this.pixelRatio=1,this.maxHeight=t.layerConfig.maxHeight,this.lineHeight=t.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setDimensions(),e.element.appendChild(this.canvas)}return p.prototype.$updateDecorators=function(e){var t=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(e);var r=this.canvas.getContext("2d");function l(_,T){return _.priorityT.priority?1:0}var a=this.renderer.session.$annotations;if(r.clearRect(0,0,this.canvas.width,this.canvas.height),a){var c={info:1,warning:2,error:3};a.forEach(function(_){_.priority=c[_.type]||null}),a=a.sort(l);for(var f=0;fthis.canvasHeight&&(S=this.canvasHeight-this.halfMinDecorationHeight),E=Math.round(S-this.halfMinDecorationHeight),b=Math.round(S+this.halfMinDecorationHeight)}r.fillStyle=t[a[f].type]||null,r.fillRect(0,D,this.canvasWidth,b-E)}}var M=this.renderer.session.selection.getCursor();if(M){var y=this.compensateFoldRows(M.row),D=Math.round((M.row-y)*this.lineHeight*this.heightRatio);r.fillStyle="rgba(0, 0, 0, 0.5)",r.fillRect(0,D,this.canvasWidth,2)}},p.prototype.compensateFoldRows=function(e){var t=this.renderer.session.$foldData,r=0;if(t&&t.length>0)for(var l=0;lt[l].start.row&&e=t[l].end.row&&(r+=t[l].end.row-t[l].start.row);return r},p.prototype.compensateLineWidgets=function(e){var t=this.renderer.session.widgetManager;if(t){var r=0;return t.lineWidgets.forEach(function(l,a){e>a&&(r+=l.rowCount||0)}),r-1}return 0},p.prototype.setDimensions=function(e){e?(this.maxHeight=e.maxHeight,this.lineHeight=e.lineHeight,this.canvasHeight=e.height,this.maxHeightT&&(this.$changedLines.firstRow=T),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},_.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},_.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},_.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},_.prototype.updateFull=function(T){T?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},_.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},_.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},_.prototype.onResize=function(T,F,A,$){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=T?1:0;var C=this.container;$||($=C.clientHeight||C.scrollHeight),!$&&this.$maxLines&&this.lineHeight>1&&(!C.style.height||C.style.height=="0px")&&(C.style.height="1px",$=C.clientHeight||C.scrollHeight),A||(A=C.clientWidth||C.scrollWidth);var w=this.$updateCachedSize(T,F,A,$);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!A&&!$)return this.resizing=0;T&&(this.$gutterLayer.$padding=null),T?this.$renderChanges(w|this.$changes,!0):this.$loop.schedule(w|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},_.prototype.$updateCachedSize=function(T,F,A,$){$-=this.$extraHeight||0;var C=0,w=this.$size,x={width:w.width,height:w.height,scrollerHeight:w.scrollerHeight,scrollerWidth:w.scrollerWidth};if($&&(T||w.height!=$)&&(w.height=$,C|=this.CHANGE_SIZE,w.scrollerHeight=w.height,this.$horizScroll&&(w.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(w.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",C=C|this.CHANGE_SCROLL),A&&(T||w.width!=A)){C|=this.CHANGE_SIZE,w.width=A,F==null&&(F=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=F,h.setStyle(this.scrollBarH.element.style,"left",F+"px"),h.setStyle(this.scroller.style,"left",F+this.margin.left+"px"),w.scrollerWidth=Math.max(0,A-F-this.scrollBarV.getWidth()-this.margin.h),h.setStyle(this.$gutter.style,"left",this.margin.left+"px");var I=this.scrollBarV.getWidth()+"px";h.setStyle(this.scrollBarH.element.style,"right",I),h.setStyle(this.scroller.style,"right",I),h.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(w.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||T)&&(C|=this.CHANGE_FULL)}return w.$dirty=!A||!$,C&&this._signal("resize",x),C},_.prototype.onGutterResize=function(T){var F=this.$showGutter?T:0;F!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,F,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},_.prototype.adjustWrapLimit=function(){var T=this.$size.scrollerWidth-this.$padding*2,F=Math.floor(T/this.characterWidth);return this.session.adjustWrapLimit(F,this.$showPrintMargin&&this.$printMarginColumn)},_.prototype.setAnimatedScroll=function(T){this.setOption("animatedScroll",T)},_.prototype.getAnimatedScroll=function(){return this.$animatedScroll},_.prototype.setShowInvisibles=function(T){this.setOption("showInvisibles",T),this.session.$bidiHandler.setShowInvisibles(T)},_.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},_.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},_.prototype.setDisplayIndentGuides=function(T){this.setOption("displayIndentGuides",T)},_.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},_.prototype.setHighlightIndentGuides=function(T){this.setOption("highlightIndentGuides",T)},_.prototype.setShowPrintMargin=function(T){this.setOption("showPrintMargin",T)},_.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},_.prototype.setPrintMarginColumn=function(T){this.setOption("printMarginColumn",T)},_.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},_.prototype.getShowGutter=function(){return this.getOption("showGutter")},_.prototype.setShowGutter=function(T){return this.setOption("showGutter",T)},_.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},_.prototype.setFadeFoldWidgets=function(T){this.setOption("fadeFoldWidgets",T)},_.prototype.setHighlightGutterLine=function(T){this.setOption("highlightGutterLine",T)},_.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},_.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var T=h.createElement("div");T.className="ace_layer ace_print-margin-layer",this.$printMarginEl=h.createElement("div"),this.$printMarginEl.className="ace_print-margin",T.appendChild(this.$printMarginEl),this.content.insertBefore(T,this.content.firstChild)}var F=this.$printMarginEl.style;F.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",F.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},_.prototype.getContainerElement=function(){return this.container},_.prototype.getMouseEventTarget=function(){return this.scroller},_.prototype.getTextAreaContainer=function(){return this.container},_.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var T=this.textarea.style,F=this.$composition;if(!this.$keepTextAreaAtCursor&&!F){h.translate(this.textarea,-100,0);return}var A=this.$cursorLayer.$pixelPos;if(A){F&&F.markerRange&&(A=this.$cursorLayer.getPixelPosition(F.markerRange.start,!0));var $=this.layerConfig,C=A.top,w=A.left;C-=$.offset;var x=F&&F.useTextareaForIME||g.isMobile?this.lineHeight:1;if(C<0||C>$.height-x){h.translate(this.textarea,0,0);return}var I=1,R=this.$size.height-x;if(!F)C+=this.lineHeight;else if(F.useTextareaForIME){var O=this.textarea.value;I=this.characterWidth*this.session.$getStringScreenWidth(O)[0]}else C+=this.lineHeight+2;w-=this.scrollLeft,w>this.$size.scrollerWidth-I&&(w=this.$size.scrollerWidth-I),w+=this.gutterWidth+this.margin.left,h.setStyle(T,"height",x+"px"),h.setStyle(T,"width",I+"px"),h.translate(this.textarea,Math.min(w,this.$size.scrollerWidth-I),Math.min(C,R))}}},_.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},_.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},_.prototype.getLastFullyVisibleRow=function(){var T=this.layerConfig,F=T.lastRow,A=this.session.documentToScreenRow(F,0)*T.lineHeight;return A-this.session.getScrollTop()>T.height-T.lineHeight?F-1:F},_.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},_.prototype.setPadding=function(T){this.$padding=T,this.$textLayer.setPadding(T),this.$cursorLayer.setPadding(T),this.$markerFront.setPadding(T),this.$markerBack.setPadding(T),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},_.prototype.setScrollMargin=function(T,F,A,$){var C=this.scrollMargin;C.top=T|0,C.bottom=F|0,C.right=$|0,C.left=A|0,C.v=C.top+C.bottom,C.h=C.left+C.right,C.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-C.top),this.updateFull()},_.prototype.setMargin=function(T,F,A,$){var C=this.margin;C.top=T|0,C.bottom=F|0,C.right=$|0,C.left=A|0,C.v=C.top+C.bottom,C.h=C.left+C.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},_.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},_.prototype.setHScrollBarAlwaysVisible=function(T){this.setOption("hScrollBarAlwaysVisible",T)},_.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},_.prototype.setVScrollBarAlwaysVisible=function(T){this.setOption("vScrollBarAlwaysVisible",T)},_.prototype.$updateScrollBarV=function(){var T=this.layerConfig.maxHeight,F=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(T-=(F-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>T-F&&(T=this.scrollTop+F,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(T+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},_.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},_.prototype.freeze=function(){this.$frozen=!0},_.prototype.unfreeze=function(){this.$frozen=!1},_.prototype.$renderChanges=function(T,F){if(this.$changes&&(T|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!T&&!F){this.$changes|=T;return}if(this.$size.$dirty)return this.$changes|=T,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",T),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var A=this.layerConfig;if(T&this.CHANGE_FULL||T&this.CHANGE_SIZE||T&this.CHANGE_TEXT||T&this.CHANGE_LINES||T&this.CHANGE_SCROLL||T&this.CHANGE_H_SCROLL){if(T|=this.$computeLayerConfig()|this.$loop.clear(),A.firstRow!=this.layerConfig.firstRow&&A.firstRowScreen==this.layerConfig.firstRowScreen){var $=this.scrollTop+(A.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;$>0&&(this.scrollTop=$,T=T|this.CHANGE_SCROLL,T|=this.$computeLayerConfig()|this.$loop.clear())}A=this.layerConfig,this.$updateScrollBarV(),T&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),h.translate(this.content,-this.scrollLeft,-A.offset);var C=A.width+2*this.$padding+"px",w=A.minHeight+"px";h.setStyle(this.content.style,"width",C),h.setStyle(this.content.style,"height",w)}if(T&this.CHANGE_H_SCROLL&&(h.translate(this.content,-this.scrollLeft,-A.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),T&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(A),this.$showGutter&&this.$gutterLayer.update(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A),this.$markerBack.update(A),this.$markerFront.update(A),this.$cursorLayer.update(A),this.$moveTextAreaToCursor(),this._signal("afterRender",T);return}if(T&this.CHANGE_SCROLL){this.$changedLines=null,T&this.CHANGE_TEXT||T&this.CHANGE_LINES?this.$textLayer.update(A):this.$textLayer.scrollLines(A),this.$showGutter&&(T&this.CHANGE_GUTTER||T&this.CHANGE_LINES?this.$gutterLayer.update(A):this.$gutterLayer.scrollLines(A)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A),this.$markerBack.update(A),this.$markerFront.update(A),this.$cursorLayer.update(A),this.$moveTextAreaToCursor(),this._signal("afterRender",T);return}T&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(A),this.$showGutter&&this.$gutterLayer.update(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A)):T&this.CHANGE_LINES?((this.$updateLines()||T&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A)):T&this.CHANGE_TEXT||T&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A)):T&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(A),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(A)),T&this.CHANGE_CURSOR&&(this.$cursorLayer.update(A),this.$moveTextAreaToCursor()),T&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(A),T&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(A),this._signal("afterRender",T)},_.prototype.$autosize=function(){var T=this.session.getScreenLength()*this.lineHeight,F=this.$maxLines*this.lineHeight,A=Math.min(F,Math.max((this.$minLines||1)*this.lineHeight,T))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(A+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&A>this.$maxPixelHeight&&(A=this.$maxPixelHeight);var $=A<=2*this.lineHeight,C=!$&&T>F;if(A!=this.desiredHeight||this.$size.height!=this.desiredHeight||C!=this.$vScroll){C!=this.$vScroll&&(this.$vScroll=C,this.scrollBarV.setVisible(C));var w=this.container.clientWidth;this.container.style.height=A+"px",this.$updateCachedSize(!0,this.$gutterWidth,w,A),this.desiredHeight=A,this._signal("autosize")}},_.prototype.$computeLayerConfig=function(){var T=this.session,F=this.$size,A=F.height<=2*this.lineHeight,$=this.session.getScreenLength(),C=$*this.lineHeight,w=this.$getLongestLine(),x=!A&&(this.$hScrollBarAlwaysVisible||F.scrollerWidth-w-2*this.$padding<0),I=this.$horizScroll!==x;I&&(this.$horizScroll=x,this.scrollBarH.setVisible(x));var R=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),A=F.height<=2*this.lineHeight);var O=F.scrollerHeight+this.lineHeight,P=!this.$maxLines&&this.$scrollPastEnd?(F.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;C+=P;var B=this.scrollMargin;this.session.setScrollTop(Math.max(-B.top,Math.min(this.scrollTop,C-F.scrollerHeight+B.bottom))),this.session.setScrollLeft(Math.max(-B.left,Math.min(this.scrollLeft,w+2*this.$padding-F.scrollerWidth+B.right)));var V=!A&&(this.$vScrollBarAlwaysVisible||F.scrollerHeight-C+P<0||this.scrollTop>B.top),W=R!==V;W&&(this.$vScroll=V,this.scrollBarV.setVisible(V));var H=this.scrollTop%this.lineHeight,U=Math.ceil(O/this.lineHeight)-1,G=Math.max(0,Math.round((this.scrollTop-H)/this.lineHeight)),Y=G+U,Q,ee,ne=this.lineHeight;G=T.screenToDocumentRow(G,0);var se=T.getFoldLine(G);se&&(G=se.start.row),Q=T.documentToScreenRow(G,0),ee=T.getRowLength(G)*ne,Y=Math.min(T.screenToDocumentRow(Y,0),T.getLength()-1),O=F.scrollerHeight+T.getRowLength(Y)*ne+ee,H=this.scrollTop-Q*ne,H<0&&Q>0&&(Q=Math.max(0,Q+Math.floor(H/ne)),H=this.scrollTop-Q*ne);var ge=0;return(this.layerConfig.width!=w||I)&&(ge=this.CHANGE_H_SCROLL),(I||W)&&(ge|=this.$updateCachedSize(!0,this.gutterWidth,F.width,F.height),this._signal("scrollbarVisibilityChanged"),W&&(w=this.$getLongestLine())),this.layerConfig={width:w,padding:this.$padding,firstRow:G,firstRowScreen:Q,lastRow:Y,lineHeight:ne,characterWidth:this.characterWidth,minHeight:O,maxHeight:C,offset:H,gutterOffset:ne?Math.max(0,Math.ceil((H+F.height-F.scrollerHeight)/ne)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(w-this.$padding),ge},_.prototype.$updateLines=function(){if(this.$changedLines){var T=this.$changedLines.firstRow,F=this.$changedLines.lastRow;this.$changedLines=null;var A=this.layerConfig;if(!(T>A.lastRow+1)&&!(Fthis.$textLayer.MAX_LINE_LENGTH&&(T=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(T*this.characterWidth))},_.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},_.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},_.prototype.addGutterDecoration=function(T,F){this.$gutterLayer.addGutterDecoration(T,F)},_.prototype.removeGutterDecoration=function(T,F){this.$gutterLayer.removeGutterDecoration(T,F)},_.prototype.updateBreakpoints=function(T){this._rows=T,this.$loop.schedule(this.CHANGE_GUTTER)},_.prototype.setAnnotations=function(T){this.$gutterLayer.setAnnotations(T),this.$loop.schedule(this.CHANGE_GUTTER)},_.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},_.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},_.prototype.showCursor=function(){this.$cursorLayer.showCursor()},_.prototype.scrollSelectionIntoView=function(T,F,A){this.scrollCursorIntoView(T,A),this.scrollCursorIntoView(F,A)},_.prototype.scrollCursorIntoView=function(T,F,A){if(this.$size.scrollerHeight!==0){var $=this.$cursorLayer.getPixelPosition(T),C=$.left,w=$.top,x=A&&A.top||0,I=A&&A.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var R=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;R+x>w?(F&&R+x>w+this.lineHeight&&(w-=F*this.$size.scrollerHeight),w===0&&(w=-this.scrollMargin.top),this.session.setScrollTop(w)):R+this.$size.scrollerHeight-I=1-this.scrollMargin.top||F>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||T<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||T>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},_.prototype.pixelToScreenCoordinates=function(T,F){var A;if(this.$hasCssTransforms){A={top:0,left:0};var $=this.$fontMetrics.transformCoordinates([T,F]);T=$[1]-this.gutterWidth-this.margin.left,F=$[0]}else A=this.scroller.getBoundingClientRect();var C=T+this.scrollLeft-A.left-this.$padding,w=C/this.characterWidth,x=Math.floor((F+this.scrollTop-A.top)/this.lineHeight),I=this.$blockCursor?Math.floor(w):Math.round(w);return{row:x,column:I,side:w-I>0?1:-1,offsetX:C}},_.prototype.screenToTextCoordinates=function(T,F){var A;if(this.$hasCssTransforms){A={top:0,left:0};var $=this.$fontMetrics.transformCoordinates([T,F]);T=$[1]-this.gutterWidth-this.margin.left,F=$[0]}else A=this.scroller.getBoundingClientRect();var C=T+this.scrollLeft-A.left-this.$padding,w=C/this.characterWidth,x=this.$blockCursor?Math.floor(w):Math.round(w),I=Math.floor((F+this.scrollTop-A.top)/this.lineHeight);return this.session.screenToDocumentPosition(I,Math.max(x,0),C)},_.prototype.textToScreenCoordinates=function(T,F){var A=this.scroller.getBoundingClientRect(),$=this.session.documentToScreenPosition(T,F),C=this.$padding+(this.session.$bidiHandler.isBidiRow($.row,T)?this.session.$bidiHandler.getPosLeft($.column):Math.round($.column*this.characterWidth)),w=$.row*this.lineHeight;return{pageX:A.left+C-this.scrollLeft,pageY:A.top+w-this.scrollTop}},_.prototype.visualizeFocus=function(){h.addCssClass(this.container,"ace_focus")},_.prototype.visualizeBlur=function(){h.removeCssClass(this.container,"ace_focus")},_.prototype.showComposition=function(T){this.$composition=T,T.cssText||(T.cssText=this.textarea.style.cssText),T.useTextareaForIME==null&&(T.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(h.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):T.markerId=this.session.addMarker(T.markerRange,"ace_composition_marker","text")},_.prototype.setCompositionText=function(T){var F=this.session.selection.cursor;this.addToken(T,"composition_placeholder",F.row,F.column),this.$moveTextAreaToCursor()},_.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),h.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var T=this.session.selection.cursor;this.removeExtraToken(T.row,T.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},_.prototype.setGhostText=function(T,F){var A=this.session.selection.cursor,$=F||{row:A.row,column:A.column};this.removeGhostText();var C=this.$calculateWrappedTextChunks(T,$);this.addToken(C[0].text,"ghost_text",$.row,$.column),this.$ghostText={text:T,position:{row:$.row,column:$.column}};var w=h.createElement("div");if(C.length>1){var x=this.hideTokensAfterPosition($.row,$.column),I;C.slice(1).forEach(function(W){var H=h.createElement("div"),U=h.createElement("span");U.className="ace_ghost_text",W.wrapped&&(H.className="ghost_text_line_wrapped"),W.text.length===0&&(W.text=" "),U.appendChild(h.createTextNode(W.text)),H.appendChild(U),w.appendChild(H),I=H}),x.forEach(function(W){var H=h.createElement("span");S(W.type)||(H.className="ace_"+W.type.replace(/\./g," ace_")),H.appendChild(h.createTextNode(W.value)),I.appendChild(H)}),this.$ghostTextWidget={el:w,row:$.row,column:$.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var R=this.$cursorLayer.getPixelPosition($,!0),O=this.container,P=O.getBoundingClientRect().height,B=C.length*this.lineHeight,V=B0){var O=0;R.push(C[x].length);for(var P=0;P1||Math.abs(T.$size.height-$)>1?T.$resizeTimer.delay():T.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},_}();M.prototype.CHANGE_CURSOR=1,M.prototype.CHANGE_MARKER=2,M.prototype.CHANGE_GUTTER=4,M.prototype.CHANGE_SCROLL=8,M.prototype.CHANGE_LINES=16,M.prototype.CHANGE_TEXT=32,M.prototype.CHANGE_SIZE=64,M.prototype.CHANGE_MARKER_BACK=128,M.prototype.CHANGE_MARKER_FRONT=256,M.prototype.CHANGE_FULL=512,M.prototype.CHANGE_H_SCROLL=1024,M.prototype.$changes=0,M.prototype.$padding=null,M.prototype.$frozen=!1,M.prototype.STEPS=8,o.implement(M.prototype,D),s.defineOptions(M.prototype,"renderer",{useResizeObserver:{set:function(_){!_&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):_&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(_){this.$textLayer.setShowInvisibles(_)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(_){typeof _=="number"&&(this.$printMarginColumn=_),this.$showPrintMargin=!!_,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(_){this.$gutter.style.display=_?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(_){this.$gutterLayer.$useSvgGutterIcons=_},initialValue:!1},showFoldedAnnotations:{set:function(_){this.$gutterLayer.$showFoldedAnnotations=_},initialValue:!1},fadeFoldWidgets:{set:function(_){h.setCssClass(this.$gutter,"ace_fade-fold-widgets",_)},initialValue:!1},showFoldWidgets:{set:function(_){this.$gutterLayer.setShowFoldWidgets(_),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(_){this.$textLayer.setDisplayIndentGuides(_)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(_){this.$textLayer.setHighlightIndentGuides(_)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(_){this.$gutterLayer.setHighlightGutterLine(_),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(_){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(_){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(_){typeof _=="number"&&(_=_+"px"),this.container.style.fontSize=_,this.updateFontSize()},initialValue:12},fontFamily:{set:function(_){this.container.style.fontFamily=_,this.updateFontSize()}},maxLines:{set:function(_){this.updateFull()}},minLines:{set:function(_){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(_){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(_){_=+_||0,this.$scrollPastEnd!=_&&(this.$scrollPastEnd=_,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(_){this.$gutterLayer.$fixedWidth=!!_,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(_){this.$updateCustomScrollbar(_)},initialValue:!1},theme:{set:function(_){this.setTheme(_)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!g.isMobile&&!g.isIE}}),u.VirtualRenderer=M}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(i,u,v){var o=i("../lib/oop"),h=i("../lib/net"),d=i("../lib/event_emitter").EventEmitter,s=i("../config");function p(l){var a="importScripts('"+h.qualifyURL(l)+"');";try{return new Blob([a],{type:"application/javascript"})}catch{var c=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,f=new c;return f.append(a),f.getBlob("application/javascript")}}function e(l){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(s.get("loadWorkerFromBlob")){var a=p(l),c=window.URL||window.webkitURL,f=c.createObjectURL(a);return new Worker(f)}return new Worker(l)}var t=function(l){l.postMessage||(l=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=l,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){o.implement(this,d),this.$createWorkerFromOldConfig=function(l,a,c,f,m){if(i.nameToUrl&&!i.toUrl&&(i.toUrl=i.nameToUrl),s.get("packaged")||!i.toUrl)f=f||s.moduleUrl(a,"worker");else{var y=this.$normalizePath;f=f||y(i.toUrl("ace/worker/worker.js",null,"_"));var D={};l.forEach(function(E){D[E]=y(i.toUrl(E,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=e(f),m&&this.send("importScripts",m),this.$worker.postMessage({init:!0,tlns:D,module:a,classname:c}),this.$worker},this.onMessage=function(l){var a=l.data;switch(a.type){case"event":this._signal(a.name,{data:a.data});break;case"call":var c=this.callbacks[a.id];c&&(c(a.data),delete this.callbacks[a.id]);break;case"error":this.reportError(a.data);break;case"log":window.console&&console.log&&console.log.apply(console,a.data);break}},this.reportError=function(l){window.console&&console.error&&console.error(l)},this.$normalizePath=function(l){return h.qualifyURL(l)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(l){l.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(l,a){this.$worker.postMessage({command:l,args:a})},this.call=function(l,a,c){if(c){var f=this.callbackId++;this.callbacks[f]=c,a.push(f)}this.send(l,a)},this.emit=function(l,a){try{a.data&&a.data.err&&(a.data.err={message:a.data.err.message,stack:a.data.err.stack,code:a.data.err.code}),this.$worker&&this.$worker.postMessage({event:l,data:{data:a.data}})}catch(c){console.error(c.stack)}},this.attachToDocument=function(l){this.$doc&&this.terminate(),this.$doc=l,this.call("setValue",[l.getValue()]),l.on("change",this.changeListener,!0)},this.changeListener=function(l){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),l.action=="insert"?this.deltaQueue.push(l.start,l.lines):this.deltaQueue.push(l.start,l.end)},this.$sendDeltaQueue=function(){var l=this.deltaQueue;l&&(this.deltaQueue=null,l.length>50&&l.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:l}))}}).call(t.prototype);var r=function(l,a,c){var f=null,m=!1,y=Object.create(d),D=[],E=new t({messageBuffer:D,terminate:function(){},postMessage:function(g){D.push(g),f&&(m?setTimeout(b):b())}});E.setEmitSync=function(g){m=g};var b=function(){var g=D.shift();g.command?f[g.command].apply(f,g.args):g.event&&y._signal(g.event,g.data)};return y.postMessage=function(g){E.onMessage({data:g})},y.callback=function(g,S){this.postMessage({type:"call",id:S,data:g})},y.emit=function(g,S){this.postMessage({type:"event",name:g,data:S})},s.loadModule(["worker",a],function(g){for(f=new g[c](y);D.length;)b()}),E};u.UIWorkerClient=r,u.WorkerClient=t,u.createWorker=e}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(i,u,v){var o=i("./range").Range,h=i("./lib/event_emitter").EventEmitter,d=i("./lib/oop"),s=function(){function p(e,t,r,l,a,c){var f=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=a,this.othersClass=c,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=l,this.$onCursorChange=function(){setTimeout(function(){f.onCursorChange()})},this.$pos=r;var m=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=m.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)}return p.prototype.setup=function(){var e=this,t=this.doc,r=this.session;this.selectionBefore=r.selection.toJSON(),r.selection.inMultiSelectMode&&r.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var l=this.pos;l.$insertRight=!0,l.detach(),l.markerId=r.addMarker(new o(l.row,l.column,l.row,l.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(a){var c=t.createAnchor(a.row,a.column);c.$insertRight=!0,c.detach(),e.others.push(c)}),r.setUndoSelect(!1)},p.prototype.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(r){r.markerId=e.addMarker(new o(r.row,r.column,r.row,r.column+t.length),t.othersClass,null,!1)})}},p.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,a=t.start.column-this.pos.column;if(this.updateAnchors(e),l&&(this.length+=r),l&&!this.session.$fromUndo){if(e.action==="insert")for(var c=this.others.length-1;c>=0;c--){var f=this.others[c],m={row:f.row,column:f.column+a};this.doc.insertMergedLines(m,e.lines)}else if(e.action==="remove")for(var c=this.others.length-1;c>=0;c--){var f=this.others[c],m={row:f.row,column:f.column+a};this.doc.remove(new o(m.row,m.column,m.row,m.column-r))}}this.$updating=!1,this.updateMarkers()}},p.prototype.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},p.prototype.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,r=function(a,c){t.removeMarker(a.markerId),a.markerId=t.addMarker(new o(a.row,a.column,a.row,a.column+e.length),c,null,!1)};r(this.pos,this.mainClass);for(var l=this.others.length;l--;)r(this.others[l],this.othersClass)}},p.prototype.onCursorChange=function(e){if(!(this.$updating||!this.session)){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},p.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},p.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,r=0;r1?h.multiSelect.joinSelections():h.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(h){h.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(h){h.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(h){h.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],u.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(h){h.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(h){return h&&h.inMultiSelectMode}}];var o=i("../keyboard/hash_handler").HashHandler;u.keyboardHandler=new o(u.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(i,u,v){var o=i("./range_list").RangeList,h=i("./range").Range,d=i("./selection").Selection,s=i("./mouse/multi_select_handler").onMouseDown,p=i("./lib/event"),e=i("./lib/lang"),t=i("./commands/multi_select_commands");u.commands=t.defaultCommands.concat(t.multiSelectCommands);var r=i("./search").Search,l=new r;function a(E,b,g){return l.$options.wrap=!0,l.$options.needle=b,l.$options.backwards=g==-1,l.find(E)}var c=i("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(c.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(E,b){if(E){if(!this.inMultiSelectMode&&this.rangeCount===0){var g=this.toOrientedRange();if(this.rangeList.add(g),this.rangeList.add(E),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),b||this.fromOrientedRange(E);this.rangeList.removeAll(),this.rangeList.add(g),this.$onAddRange(g)}E.cursor||(E.cursor=E.end);var S=this.rangeList.add(E);return this.$onAddRange(E),S.length&&this.$onRemoveRange(S),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(E)}},this.toSingleRange=function(E){E=E||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),E&&this.fromOrientedRange(E)},this.substractPoint=function(E){var b=this.rangeList.substractPoint(E);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var E=this.rangeList.merge();E.length&&this.$onRemoveRange(E)},this.$onAddRange=function(E){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(E),this._signal("addRange",{range:E})},this.$onRemoveRange=function(E){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();E.push(b),this.rangeCount=0}for(var g=E.length;g--;){var S=this.ranges.indexOf(E[g]);this.ranges.splice(S,1)}this._signal("removeRange",{ranges:E}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new o,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var E=this.ranges.length?this.ranges:[this.getRange()],b=[],g=0;g1){var E=this.rangeList.ranges,b=E[E.length-1],g=h.fromPoints(E[0].start,b.end);this.toSingleRange(),this.setSelectionRange(g,b.cursor==b.start)}else{var S=this.session.documentToScreenPosition(this.cursor),M=this.session.documentToScreenPosition(this.anchor),_=this.rectangularRangeBlock(S,M);_.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(E,b,g){var S=[],M=E.column0;)O--;if(O>0)for(var P=0;S[P].isEmpty();)P++;for(var B=O;B>=P;B--)S[B].isEmpty()&&S.splice(B,1)}return S}}.call(d.prototype);var f=i("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(E){E.cursor||(E.cursor=E.end);var b=this.getSelectionStyle();return E.marker=this.session.addMarker(E,"ace_selection",b),this.session.$selectionMarkers.push(E),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,E},this.removeSelectionMarker=function(E){if(E.marker){this.session.removeMarker(E.marker);var b=this.session.$selectionMarkers.indexOf(E);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(E){for(var b=this.session.$selectionMarkers,g=E.length;g--;){var S=E[g];if(S.marker){this.session.removeMarker(S.marker);var M=b.indexOf(S);M!=-1&&b.splice(M,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(E){this.addSelectionMarker(E.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(E){this.removeSelectionMarkers(E.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(E){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(t.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(E){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(t.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(E){var b=E.command,g=E.editor;if(g.multiSelect){if(b.multiSelectAction)b.multiSelectAction=="forEach"?S=g.forEachSelection(b,E.args):b.multiSelectAction=="forEachLine"?S=g.forEachSelection(b,E.args,!0):b.multiSelectAction=="single"?(g.exitMultiSelectMode(),S=b.exec(g,E.args||{})):S=b.multiSelectAction(g,E.args||{});else{var S=b.exec(g,E.args||{});g.multiSelect.addRange(g.multiSelect.toOrientedRange()),g.multiSelect.mergeOverlappingRanges()}return S}},this.forEachSelection=function(E,b,g){if(!this.inVirtualSelectionMode){var S=g&&g.keepOrder,M=g==!0||g&&g.$byLines,_=this.session,T=this.selection,F=T.rangeList,A=(S?T:F).ranges,$;if(!A.length)return E.exec?E.exec(this,b||{}):E(this,b||{});var C=T._eventRegistry;T._eventRegistry={};var w=new d(_);this.inVirtualSelectionMode=!0;for(var x=A.length;x--;){if(M)for(;x>0&&A[x].start.row==A[x-1].end.row;)x--;w.fromOrientedRange(A[x]),w.index=x,this.selection=_.selection=w;var I=E.exec?E.exec(this,b||{}):E(this,b||{});!$&&I!==void 0&&($=I),w.toOrientedRange(A[x])}w.detach(),this.selection=_.selection=T,this.inVirtualSelectionMode=!1,T._eventRegistry=C,T.mergeOverlappingRanges(),T.ranges[0]&&T.fromOrientedRange(T.ranges[0]);var R=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),R&&R.from==R.to&&this.renderer.animateScrolling(R.from),$}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var E="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,g=[],S=0;S0);T<0&&(T=0),F>=$&&(F=$-1)}var w=this.session.removeFullLines(T,F);w=this.$reAlignText(w,A),this.session.insert({row:T,column:0},w.join(` -`)+` -`),A||(_.start.column=0,_.end.column=w[w.length-1].length),this.selection.setRange(_)}else{M.forEach(function(O){b.substractPoint(O.cursor)});var x=0,I=1/0,R=g.map(function(O){var P=O.cursor,B=E.getLine(P.row),V=B.substr(P.column).search(/\S/g);return V==-1&&(V=0),P.column>x&&(x=P.column),VW?E.insert(B,e.stringRepeat(" ",V-W)):E.remove(new h(B.row,B.column,B.row,B.column-V+W)),O.start.column=O.end.column=x,O.start.row=O.end.row=B.row,O.cursor=O.end}),b.fromOrientedRange(g[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(E,b){var g=!0,S=!0,M,_,T;return E.map(function(w){var x=w.match(/(\s*)(.*?)(\s*)([=:].*)/);return x?M==null?(M=x[1].length,_=x[2].length,T=x[3].length,x):(M+_+T!=x[1].length+x[2].length+x[3].length&&(S=!1),M!=x[1].length&&(g=!1),M>x[1].length&&(M=x[1].length),_x[3].length&&(T=x[3].length),x):[w]}).map(b?A:g?S?$:A:C);function F(w){return e.stringRepeat(" ",w)}function A(w){return w[2]?F(M)+w[2]+F(_-w[2].length+T)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}function $(w){return w[2]?F(M+_-w[2].length)+w[2]+F(T)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}function C(w){return w[2]?F(M)+w[2]+F(T)+w[4].replace(/^([=:])\s+/,"$1 "):w[0]}}}).call(f.prototype);function m(E,b){return E.row==b.row&&E.column==b.column}u.onSessionChange=function(E){var b=E.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var g=E.oldSession;g&&(g.multiSelect.off("addRange",this.$onAddRange),g.multiSelect.off("removeRange",this.$onRemoveRange),g.multiSelect.off("multiSelect",this.$onMultiSelect),g.multiSelect.off("singleSelect",this.$onSingleSelect),g.multiSelect.lead.off("change",this.$checkMultiselectChange),g.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function y(E){E.$multiselectOnSessionChange||(E.$onAddRange=E.$onAddRange.bind(E),E.$onRemoveRange=E.$onRemoveRange.bind(E),E.$onMultiSelect=E.$onMultiSelect.bind(E),E.$onSingleSelect=E.$onSingleSelect.bind(E),E.$multiselectOnSessionChange=u.onSessionChange.bind(E),E.$checkMultiselectChange=E.$checkMultiselectChange.bind(E),E.$multiselectOnSessionChange(E),E.on("changeSession",E.$multiselectOnSessionChange),E.on("mousedown",s),E.commands.addCommands(t.defaultCommands),D(E))}function D(E){if(!E.textInput)return;var b=E.textInput.getElement(),g=!1;p.addListener(b,"keydown",function(M){var _=M.keyCode==18&&!(M.ctrlKey||M.shiftKey||M.metaKey);E.$blockSelectEnabled&&_?g||(E.renderer.setMouseCursor("crosshair"),g=!0):g&&S()},E),p.addListener(b,"keyup",S,E),p.addListener(b,"blur",S,E);function S(M){g&&(E.renderer.setMouseCursor(""),g=!1)}}u.MultiSelect=y,i("./config").defineOptions(f.prototype,"editor",{enableMultiselect:{set:function(E){y(this),E?this.on("mousedown",s):this.off("mousedown",s)},value:!0},enableBlockSelect:{set:function(E){this.$blockSelectEnabled=E},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(i,u,v){var o=i("../../range").Range,h=u.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(d,s,p){var e=d.getLine(p);return this.foldingStartMarker.test(e)?"start":s=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(e)?"end":""},this.getFoldWidgetRange=function(d,s,p){return null},this.indentationBlock=function(d,s,p){var e=/\S/,t=d.getLine(s),r=t.search(e);if(r!=-1){for(var l=p||t.length,a=d.getLength(),c=s,f=s;++sc){var D=d.getLine(f).length;return new o(c,l,f,D)}}},this.openingBracketBlock=function(d,s,p,e,t){var r={row:p,column:e+1},l=d.$findClosingBracket(s,r,t);if(l){var a=d.foldWidgets[l.row];return a==null&&(a=d.getFoldWidget(l.row)),a=="start"&&l.row>r.row&&(l.row--,l.column=d.getLine(l.row).length),o.fromPoints(r,l)}},this.closingBracketBlock=function(d,s,p,e,t){var r={row:p,column:e},l=d.$findOpeningBracket(s,r);if(l)return l.column++,r.column--,o.fromPoints(l,r)}}).call(h.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(i,u,v){var o=i("../lib/dom"),h=i("../range").Range,d=i("../config").nls;function s(e,t,r){for(var l=0,a=e.length-1;l<=a;){var c=l+a>>1,f=r(t,e[c]);if(f>0)l=c+1;else if(f<0)a=c-1;else return c}return-(l+1)}function p(e,t,r){var l=e.getAnnotations().sort(h.comparePoints);if(l.length){var a=s(l,{row:t,column:-1},h.comparePoints);a<0&&(a=-a-1),a>=l.length?a=r>0?0:l.length-1:a===0&&r<0&&(a=l.length-1);var c=l[a];if(!(!c||!r)){if(c.row===t){do c=l[a+=r];while(c&&c.row===t);if(!c)return l.slice()}var f=[];t=c.row;do f[r<0?"unshift":"push"](c),c=l[a+=r];while(c&&c.row==t);return f.length&&f}}}u.showErrorMarker=function(e,t){var r=e.session,l=e.getCursorPosition(),a=l.row,c=r.widgetManager.getWidgetsAtRow(a).filter(function(M){return M.type=="errorMarker"})[0];c?c.destroy():a-=t;var f=p(r,a,t),m;if(f){var y=f[0];l.column=(y.pos&&typeof y.column!="number"?y.pos.sc:y.column)||0,l.row=y.row,m=e.renderer.$gutterLayer.$annotations[l.row]}else{if(c)return;m={displayText:[d("error-marker.good-state","Looks good!")],className:"ace_ok"}}e.session.unfold(l.row),e.selection.moveToPosition(l);var D={row:l.row,fixedWidth:!0,coverGutter:!0,el:o.createElement("div"),type:"errorMarker"},E=D.el.appendChild(o.createElement("div")),b=D.el.appendChild(o.createElement("div"));b.className="error_widget_arrow "+m.className;var g=e.renderer.$cursorLayer.getPixelPosition(l).left;b.style.left=g+e.renderer.gutterWidth-5+"px",D.el.className="error_widget_wrapper",E.className="error_widget "+m.className,m.displayText.forEach(function(M,_){E.appendChild(o.createTextNode(M)),_-1}function vr(z,J){var te=this.__data__,ie=Xt(te,z);return ie<0?(++this.size,te.push([z,J])):te[ie][1]=J,this}qe.prototype.clear=dr,qe.prototype.delete=fr,qe.prototype.get=gr,qe.prototype.has=mr,qe.prototype.set=vr;function vt(z){var J=-1,te=z==null?0:z.length;for(this.clear();++JLe))return!1;var Te=he.get(z);if(Te&&he.get(J))return Te==J;var Pe=-1,Ue=!0,Oe=te&o?new Qt:void 0;for(he.set(z,J),he.set(J,z);++Pe-1&&z%1==0&&z-1&&z%1==0&&z<=h}function ai(z){var J=typeof z;return z!=null&&(J=="object"||J=="function")}function Ht(z){return z!=null&&typeof z=="object"}var li=ke?Rt(ke):Fr;function Jr(z){return Gr(z)?kr(z):Rr(z)}function Yr(){return[]}function Qr(){return!1}L.exports=Kr})(gn,gn.exports);var Ui=gn.exports,Je={};Object.defineProperty(Je,"__esModule",{value:!0});Je.getAceInstance=Je.debounce=Je.editorEvents=Je.editorOptions=void 0;var lo=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];Je.editorOptions=lo;var uo=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];Je.editorEvents=uo;var ho=function(){var L;return typeof window>"u"?(He.window={},L=fn,delete He.window):window.ace?(L=window.ace,L.acequire=window.ace.require||window.ace.acequire):L=fn,L};Je.getAceInstance=ho;var co=function(L,n){var i=null;return function(){var u=this,v=arguments;clearTimeout(i),i=setTimeout(function(){L.apply(u,v)},n)}};Je.debounce=co;var po=Dt&&Dt.__extends||function(){var L=function(n,i){return L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(u,v){u.__proto__=v}||function(u,v){for(var o in v)Object.prototype.hasOwnProperty.call(v,o)&&(u[o]=v[o])},L(n,i)};return function(n,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");L(n,i);function u(){this.constructor=n}n.prototype=i===null?Object.create(i):(u.prototype=i.prototype,new u)}}(),jn=Dt&&Dt.__assign||function(){return jn=Object.assign||function(L){for(var n,i=1,u=arguments.length;i0&&this.handleMarkers(S);var F=this.editor.$options;Lt.editorOptions.forEach(function(A){F.hasOwnProperty(A)?i.editor.setOption(A,i.props[A]):i.props[A]&&console.warn("ReactAce: editor option ".concat(A," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))}),this.handleOptions(this.props),Array.isArray(b)&&b.forEach(function(A){typeof A.exec=="string"?i.editor.commands.bindKey(A.bindKey,A.exec):i.editor.commands.addCommand(A)}),D&&this.editor.setKeyboardHandler("ace/keyboard/"+D),v&&(this.refEditor.className+=" "+v),E&&E(this.editor),this.editor.resize(),s&&this.editor.focus()},n.prototype.componentDidUpdate=function(i){for(var u=i,v=this.props,o=0;o 0!";if(t!=this.$splits){if(t>this.$splits){for(;this.$splitst;)r=this.$editors[this.$splits-1],this.$container.removeChild(r.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(t){return this.$editors[t]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(t){this.$editors.forEach(function(r){r.setTheme(t)})},this.setKeyboardHandler=function(t){this.$editors.forEach(function(r){r.setKeyboardHandler(t)})},this.forEach=function(t,r){this.$editors.forEach(t,r)},this.$fontSize="",this.setFontSize=function(t){this.$fontSize=t,this.forEach(function(r){r.setFontSize(t)})},this.$cloneSession=function(t){var r=new p(t.getDocument(),t.getMode()),l=t.getUndoManager();return r.setUndoManager(l),r.setTabSize(t.getTabSize()),r.setUseSoftTabs(t.getUseSoftTabs()),r.setOverwrite(t.getOverwrite()),r.setBreakpoints(t.getBreakpoints()),r.setUseWrapMode(t.getUseWrapMode()),r.setUseWorker(t.getUseWorker()),r.setWrapLimitRange(t.$wrapLimitRange.min,t.$wrapLimitRange.max),r.$foldData=t.$cloneFoldData(),r},this.setSession=function(t,r){var l;r==null?l=this.$cEditor:l=this.$editors[r];var a=this.$editors.some(function(c){return c.session===t});return a&&(t=this.$cloneSession(t)),l.setSession(t),t},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(t){this.$orientation!=t&&(this.$orientation=t,this.resize())},this.resize=function(){var t=this.$container.clientWidth,r=this.$container.clientHeight,l;if(this.$orientation==this.BESIDE)for(var a=t/this.$splits,c=0;c-1}function Go(L,n){var i=this.__data__,u=vn(i,L);return u<0?i.push([L,n]):i[u][1]=n,this}Ft.prototype.clear=zo;Ft.prototype.delete=jo;Ft.prototype.get=Vo;Ft.prototype.has=Uo;Ft.prototype.set=Go;function xt(L){var n=-1,i=L?L.length:0;for(this.clear();++n0&&i.handleMarkers(R,A);for(var C=0;C"u"&&(this.Diff_Timeout<=0?s=Number.MAX_VALUE:s=new Date().getTime()+this.Diff_Timeout*1e3);var p=s;if(o==null||h==null)throw new Error("Null input. (diff_main)");if(o==h)return o?[new n.Diff(v,o)]:[];typeof d>"u"&&(d=!0);var e=d,t=this.diff_commonPrefix(o,h),r=o.substring(0,t);o=o.substring(t),h=h.substring(t),t=this.diff_commonSuffix(o,h);var l=o.substring(o.length-t);o=o.substring(0,o.length-t),h=h.substring(0,h.length-t);var a=this.diff_compute_(o,h,e,p);return r&&a.unshift(new n.Diff(v,r)),l&&a.push(new n.Diff(v,l)),this.diff_cleanupMerge(a),a},n.prototype.diff_compute_=function(o,h,d,s){var p;if(!o)return[new n.Diff(u,h)];if(!h)return[new n.Diff(i,o)];var e=o.length>h.length?o:h,t=o.length>h.length?h:o,r=e.indexOf(t);if(r!=-1)return p=[new n.Diff(u,e.substring(0,r)),new n.Diff(v,t),new n.Diff(u,e.substring(r+t.length))],o.length>h.length&&(p[0][0]=p[2][0]=i),p;if(t.length==1)return[new n.Diff(i,o),new n.Diff(u,h)];var l=this.diff_halfMatch_(o,h);if(l){var a=l[0],c=l[1],f=l[2],m=l[3],y=l[4],D=this.diff_main(a,f,d,s),E=this.diff_main(c,m,d,s);return D.concat([new n.Diff(v,y)],E)}return d&&o.length>100&&h.length>100?this.diff_lineMode_(o,h,s):this.diff_bisect_(o,h,s)},n.prototype.diff_lineMode_=function(o,h,d){var s=this.diff_linesToChars_(o,h);o=s.chars1,h=s.chars2;var p=s.lineArray,e=this.diff_main(o,h,!1,d);this.diff_charsToLines_(e,p),this.diff_cleanupSemantic(e),e.push(new n.Diff(v,""));for(var t=0,r=0,l=0,a="",c="";t=1&&l>=1){e.splice(t-r-l,r+l),t=t-r-l;for(var f=this.diff_main(a,c,!1,d),m=f.length-1;m>=0;m--)e.splice(t,0,f[m]);t=t+f.length}l=0,r=0,a="",c="";break}t++}return e.pop(),e},n.prototype.diff_bisect_=function(o,h,d){for(var s=o.length,p=h.length,e=Math.ceil((s+p)/2),t=e,r=2*e,l=new Array(r),a=new Array(r),c=0;cd);g++){for(var S=-g+y;S<=g-D;S+=2){var M=t+S,_;S==-g||S!=g&&l[M-1]s)D+=2;else if(T>p)y+=2;else if(m){var F=t+f-S;if(F>=0&&F=A)return this.diff_bisectSplit_(o,h,_,T,d)}}}for(var $=-g+E;$<=g-b;$+=2){var F=t+$,A;$==-g||$!=g&&a[F-1]s)b+=2;else if(C>p)E+=2;else if(!m){var M=t+f-$;if(M>=0&&M=A)return this.diff_bisectSplit_(o,h,_,T,d)}}}}return[new n.Diff(i,o),new n.Diff(u,h)]},n.prototype.diff_bisectSplit_=function(o,h,d,s,p){var e=o.substring(0,d),t=h.substring(0,s),r=o.substring(d),l=h.substring(s),a=this.diff_main(e,t,!1,p),c=this.diff_main(r,l,!1,p);return a.concat(c)},n.prototype.diff_linesToChars_=function(o,h){var d=[],s={};d[0]="";function p(l){for(var a="",c=0,f=-1,m=d.length;fs?o=o.substring(d-s):dh.length?o:h,s=o.length>h.length?h:o;if(d.length<4||s.length*2=D.length?[_,T,F,A,M]:null}var t=e(d,s,Math.ceil(d.length/4)),r=e(d,s,Math.ceil(d.length/2)),l;if(!t&&!r)return null;r?t?l=t[4].length>r[4].length?t:r:l=r:l=t;var a,c,f,m;o.length>h.length?(a=l[0],c=l[1],f=l[2],m=l[3]):(f=l[0],m=l[1],a=l[2],c=l[3]);var y=l[4];return[a,c,f,m,y]},n.prototype.diff_cleanupSemantic=function(o){for(var h=!1,d=[],s=0,p=null,e=0,t=0,r=0,l=0,a=0;e0?d[s-1]:-1,t=0,r=0,l=0,a=0,p=null,h=!0)),e++;for(h&&this.diff_cleanupMerge(o),this.diff_cleanupSemanticLossless(o),e=1;e=y?(m>=c.length/2||m>=f.length/2)&&(o.splice(e,0,new n.Diff(v,f.substring(0,m))),o[e-1][1]=c.substring(0,c.length-m),o[e+1][1]=f.substring(m),e++):(y>=c.length/2||y>=f.length/2)&&(o.splice(e,0,new n.Diff(v,c.substring(0,y))),o[e-1][0]=u,o[e-1][1]=f.substring(0,f.length-y),o[e+1][0]=i,o[e+1][1]=c.substring(y),e++),e++}e++}},n.prototype.diff_cleanupSemanticLossless=function(o){function h(y,D){if(!y||!D)return 6;var E=y.charAt(y.length-1),b=D.charAt(0),g=E.match(n.nonAlphaNumericRegex_),S=b.match(n.nonAlphaNumericRegex_),M=g&&E.match(n.whitespaceRegex_),_=S&&b.match(n.whitespaceRegex_),T=M&&E.match(n.linebreakRegex_),F=_&&b.match(n.linebreakRegex_),A=T&&y.match(n.blanklineEndRegex_),$=F&&D.match(n.blanklineStartRegex_);return A||$?5:T||F?4:g&&!M&&_?3:M||_?2:g||S?1:0}for(var d=1;d=f&&(f=m,l=s,a=p,c=e)}o[d-1][1]!=l&&(l?o[d-1][1]=l:(o.splice(d-1,1),d--),o[d][1]=a,c?o[d+1][1]=c:(o.splice(d+1,1),d--))}d++}},n.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,n.whitespaceRegex_=/\s/,n.linebreakRegex_=/[\r\n]/,n.blanklineEndRegex_=/\n\r?\n$/,n.blanklineStartRegex_=/^\r?\n\r?\n/,n.prototype.diff_cleanupEfficiency=function(o){for(var h=!1,d=[],s=0,p=null,e=0,t=!1,r=!1,l=!1,a=!1;e0?d[s-1]:-1,l=a=!1),h=!0)),e++;h&&this.diff_cleanupMerge(o)},n.prototype.diff_cleanupMerge=function(o){o.push(new n.Diff(v,""));for(var h=0,d=0,s=0,p="",e="",t;h1?(d!==0&&s!==0&&(t=this.diff_commonPrefix(e,p),t!==0&&(h-d-s>0&&o[h-d-s-1][0]==v?o[h-d-s-1][1]+=e.substring(0,t):(o.splice(0,0,new n.Diff(v,e.substring(0,t))),h++),e=e.substring(t),p=p.substring(t)),t=this.diff_commonSuffix(e,p),t!==0&&(o[h][1]=e.substring(e.length-t)+o[h][1],e=e.substring(0,e.length-t),p=p.substring(0,p.length-t))),h-=d+s,o.splice(h,d+s),p.length&&(o.splice(h,0,new n.Diff(i,p)),h++),e.length&&(o.splice(h,0,new n.Diff(u,e)),h++),h++):h!==0&&o[h-1][0]==v?(o[h-1][1]+=o[h][1],o.splice(h,1)):h++,s=0,d=0,p="",e="";break}o[o.length-1][1]===""&&o.pop();var r=!1;for(h=1;hh));t++)p=d,e=s;return o.length!=t&&o[t][0]===i?e:e+(h-p)},n.prototype.diff_prettyHtml=function(o){for(var h=[],d=/&/g,s=//g,e=/\n/g,t=0;t");switch(r){case u:h[t]=''+a+"";break;case i:h[t]=''+a+"";break;case v:h[t]=""+a+"";break}}return h.join("")},n.prototype.diff_text1=function(o){for(var h=[],d=0;dthis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var s=this.match_alphabet_(h),p=this;function e(_,T){var F=_/h.length,A=Math.abs(d-T);return p.Match_Distance?F+A/p.Match_Distance:A?1:F}var t=this.Match_Threshold,r=o.indexOf(h,d);r!=-1&&(t=Math.min(e(0,r),t),r=o.lastIndexOf(h,d+h.length),r!=-1&&(t=Math.min(e(0,r),t)));var l=1<=D;g--){var S=s[o.charAt(g-1)];if(y===0?b[g]=(b[g+1]<<1|1)&S:b[g]=(b[g+1]<<1|1)&S|((m[g+1]|m[g])<<1|1)|m[g+1],b[g]&l){var M=e(y,g-1);if(M<=t)if(t=M,r=g-1,r>d)D=Math.max(1,2*d-r);else break}}if(e(y+1,d)>t)break;m=b}return r},n.prototype.match_alphabet_=function(o){for(var h={},d=0;d"u")s=o,p=this.diff_main(s,h,!0),p.length>2&&(this.diff_cleanupSemantic(p),this.diff_cleanupEfficiency(p));else if(o&&typeof o=="object"&&typeof h>"u"&&typeof d>"u")p=o,s=this.diff_text1(p);else if(typeof o=="string"&&h&&typeof h=="object"&&typeof d>"u")s=o,p=h;else if(typeof o=="string"&&typeof h=="string"&&d&&typeof d=="object")s=o,p=d;else throw new Error("Unknown call format to patch_make.");if(p.length===0)return[];for(var e=[],t=new n.patch_obj,r=0,l=0,a=0,c=s,f=s,m=0;m=2*this.Patch_Margin&&r&&(this.patch_addContext_(t,c),e.push(t),t=new n.patch_obj,r=0,c=f,l=a);break}y!==u&&(l+=D.length),y!==i&&(a+=D.length)}return r&&(this.patch_addContext_(t,c),e.push(t)),e},n.prototype.patch_deepCopy=function(o){for(var h=[],d=0;dthis.Match_MaxBits?(l=this.match_main(h,r.substring(0,this.Match_MaxBits),t),l!=-1&&(a=this.match_main(h,r.substring(r.length-this.Match_MaxBits),t+r.length-this.Match_MaxBits),(a==-1||l>=a)&&(l=-1))):l=this.match_main(h,r,t),l==-1)p[e]=!1,s-=o[e].length2-o[e].length1;else{p[e]=!0,s=l-t;var c;if(a==-1?c=h.substring(l,l+r.length):c=h.substring(l,a+this.Match_MaxBits),r==c)h=h.substring(0,l)+this.diff_text2(o[e].diffs)+h.substring(l+r.length);else{var f=this.diff_main(r,c,!1);if(r.length>this.Match_MaxBits&&this.diff_levenshtein(f)/r.length>this.Patch_DeleteThreshold)p[e]=!1;else{this.diff_cleanupSemanticLossless(f);for(var m=0,y,D=0;De[0][1].length){var t=h-e[0][1].length;e[0][1]=d.substring(e[0][1].length)+e[0][1],p.start1-=t,p.start2-=t,p.length1+=t,p.length2+=t}if(p=o[o.length-1],e=p.diffs,e.length==0||e[e.length-1][0]!=v)e.push(new n.Diff(v,d)),p.length1+=h,p.length2+=h;else if(h>e[e.length-1][1].length){var t=h-e[e.length-1][1].length;e[e.length-1][1]+=d.substring(0,t),p.length1+=t,p.length2+=t}return d},n.prototype.patch_splitMax=function(o){for(var h=this.Match_MaxBits,d=0;d2*h?(r.length1+=c.length,p+=c.length,l=!1,r.diffs.push(new n.Diff(a,c)),s.diffs.shift()):(c=c.substring(0,h-r.length1-this.Patch_Margin),r.length1+=c.length,p+=c.length,a===v?(r.length2+=c.length,e+=c.length):l=!1,r.diffs.push(new n.Diff(a,c)),c==s.diffs[0][1]?s.diffs.shift():s.diffs[0][1]=s.diffs[0][1].substring(c.length))}t=this.diff_text2(r.diffs),t=t.substring(t.length-this.Patch_Margin);var f=this.diff_text1(s.diffs).substring(0,this.Patch_Margin);f!==""&&(r.length1+=f.length,r.length2+=f.length,r.diffs.length!==0&&r.diffs[r.diffs.length-1][0]===v?r.diffs[r.diffs.length-1][1]+=f:r.diffs.push(new n.Diff(v,f))),l||o.splice(++d,0,r)}}},n.prototype.patch_toText=function(o){for(var h=[],d=0;dm)break;var y=this.getFoldWidgetRange(p,"all",e);if(y){if(y.start.row<=l)break;if(y.isMultiLine())e=y.end.row;else if(r==m)break}c=e}}return new h(l,a,c,p.getLine(c).length)},this.getCommentRegionBlock=function(p,e,t){for(var r=e.search(/\s*$/),l=p.getLength(),a=t,c=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,f=1;++ta)return new h(a,r,y,e.length)}}.call(s.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle","ace/worker/worker_client"],function(i,u,v){var o=i("../lib/oop"),h=i("./text").Mode,d=i("./json_highlight_rules").JsonHighlightRules,s=i("./matching_brace_outdent").MatchingBraceOutdent,p=i("./folding/cstyle").FoldMode,e=i("../worker/worker_client").WorkerClient,t=function(){this.HighlightRules=d,this.$outdent=new s,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new p};o.inherits(t,h),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(r,l,a){var c=this.$getIndent(l);if(r=="start"){var f=l.match(/^.*[\{\(\[]\s*$/);f&&(c+=a)}return c},this.checkOutdent=function(r,l,a){return this.$outdent.checkOutdent(l,a)},this.autoOutdent=function(r,l,a){this.$outdent.autoOutdent(l,a)},this.createWorker=function(r){var l=new e(["ace"],"ace/mode/json_worker","JsonWorker");return l.attachToDocument(r.getDocument()),l.on("annotate",function(a){r.setAnnotations(a.data)}),l.on("terminate",function(){r.clearAnnotations()}),l},this.$id="ace/mode/json"}.call(t.prototype),u.Mode=t}),function(){ace.require(["ace/mode/json"],function(i){L&&(L.exports=i)})}()})($a);var Ta={exports:{}};(function(L,n){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(i,u,v){var o=i("../lib/oop"),h=i("./text_highlight_rules").TextHighlightRules,d=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"text",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"comment",regex:"\\/\\/.*$"},{token:"comment.start",regex:"\\/\\*",next:"comment"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"punctuation.operator",regex:/[,]/},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],comment:[{token:"comment.end",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]}};o.inherits(d,h),u.JsonHighlightRules=d}),ace.define("ace/mode/json5_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/json_highlight_rules"],function(i,u,v){var o=i("../lib/oop"),h=i("./json_highlight_rules").JsonHighlightRules,d=function(){h.call(this);var s=[{token:"variable",regex:/[a-zA-Z$_\u00a1-\uffff][\w$\u00a1-\uffff]*\s*(?=:)/},{token:"variable",regex:/['](?:(?:\\.)|(?:[^'\\]))*?[']\s*(?=:)/},{token:"constant.language.boolean",regex:/(?:null)\b/},{token:"string",regex:/'/,next:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\/bfnrt]|$)/,consumeLineEnd:!0},{token:"string",regex:/'|$/,next:"start"},{defaultToken:"string"}]},{token:"string",regex:/"(?![^"]*":)/,next:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\/bfnrt]|$)/,consumeLineEnd:!0},{token:"string",regex:/"|$/,next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:/[+-]?(?:Infinity|NaN)\b/}];for(var p in this.$rules)this.$rules[p].unshift.apply(this.$rules[p],s);this.normalizeRules()};o.inherits(d,h),u.Json5HighlightRules=d}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(i,u,v){var o=i("../range").Range,h=function(){};(function(){this.checkOutdent=function(d,s){return/^\s+$/.test(d)?/^\s*\}/.test(s):!1},this.autoOutdent=function(d,s){var p=d.getLine(s),e=p.match(/^(\s*\})/);if(!e)return 0;var t=e[1].length,r=d.findMatchingBracket({row:s,column:t});if(!r||r.row==s)return 0;var l=this.$getIndent(d.getLine(r.row));d.replace(new o(s,0,s,t-1),l)},this.$getIndent=function(d){return d.match(/^\s*/)[0]}}).call(h.prototype),u.MatchingBraceOutdent=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(i,u,v){var o=i("../../lib/oop"),h=i("../../range").Range,d=i("./fold_mode").FoldMode,s=u.FoldMode=function(p){p&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+p.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+p.end)))};o.inherits(s,d),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(p,e,t){var r=p.getLine(t);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var l=this._getFoldWidgetBase(p,e,t);return!l&&this.startRegionRe.test(r)?"start":l},this.getFoldWidgetRange=function(p,e,t,r){var l=p.getLine(t);if(this.startRegionRe.test(l))return this.getCommentRegionBlock(p,l,t);var f=l.match(this.foldingStartMarker);if(f){var a=f.index;if(f[1])return this.openingBracketBlock(p,f[1],t,a);var c=p.getCommentFoldRange(t,a+f[0].length,1);return c&&!c.isMultiLine()&&(r?c=this.getSectionRange(p,t):e!="all"&&(c=null)),c}if(e!=="markbegin"){var f=l.match(this.foldingStopMarker);if(f){var a=f.index+f[0].length;return f[1]?this.closingBracketBlock(p,f[1],t,a):p.getCommentFoldRange(t,a,-1)}}},this.getSectionRange=function(p,e){var t=p.getLine(e),r=t.search(/\S/),l=e,a=t.length;e+=1;for(var c=e,f=p.getLength();++em)break;var y=this.getFoldWidgetRange(p,"all",e);if(y){if(y.start.row<=l)break;if(y.isMultiLine())e=y.end.row;else if(r==m)break}c=e}}return new h(l,a,c,p.getLine(c).length)},this.getCommentRegionBlock=function(p,e,t){for(var r=e.search(/\s*$/),l=p.getLength(),a=t,c=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,f=1;++ta)return new h(a,r,y,e.length)}}.call(s.prototype)}),ace.define("ace/mode/json5",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json5_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/cstyle"],function(i,u,v){var o=i("../lib/oop"),h=i("./text").Mode,d=i("./json5_highlight_rules").Json5HighlightRules,s=i("./matching_brace_outdent").MatchingBraceOutdent,p=i("./folding/cstyle").FoldMode,e=function(){this.HighlightRules=d,this.$outdent=new s,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new p};o.inherits(e,h),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.checkOutdent=function(t,r,l){return this.$outdent.checkOutdent(r,l)},this.autoOutdent=function(t,r,l){this.$outdent.autoOutdent(r,l)},this.$id="ace/mode/json5"}.call(e.prototype),u.Mode=e}),function(){ace.require(["ace/mode/json5"],function(i){L&&(L.exports=i)})}()})(Ta);var _a={};(function(L){function n(v,o){for(var h=v,d="";h;){var s=o[h];if(typeof s=="string")return s+d;if(s)return s.location.replace(/\/*$/,"/")+(d||s.main||s.name);if(s===!1)return"";var p=h.lastIndexOf("/");if(p===-1)break;d=h.substr(p)+d,h=h.slice(0,p)}return v}if(!(typeof L.window<"u"&&L.document)&&!(L.require&&L.define)){L.console||(L.console=function(){var v=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:v})},L.console.error=L.console.warn=L.console.log=L.console.trace=L.console),L.window=L,L.ace=L,L.onerror=function(v,o,h,d,s){postMessage({type:"error",data:{message:v,data:s&&s.data,file:o,line:h,col:d,stack:s&&s.stack}})},L.normalizeModule=function(v,o){if(o.indexOf("!")!==-1){var h=o.split("!");return L.normalizeModule(v,h[0])+"!"+L.normalizeModule(v,h[1])}if(o.charAt(0)=="."){var d=v.split("/").slice(0,-1).join("/");for(o=(d?d+"/":"")+o;o.indexOf(".")!==-1&&s!=o;){var s=o;o=o.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return o},L.require=function(v,o){if(o||(o=v,v=null),!o.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");o=L.normalizeModule(v,o);var h=L.require.modules[o];if(h)return h.initialized||(h.initialized=!0,h.exports=h.factory().exports),h.exports;if(!L.require.tlns)return console.log("unable to load "+o);var d=n(o,L.require.tlns);return d.slice(-3)!=".js"&&(d+=".js"),L.require.id=o,L.require.modules[o]={},importScripts(d),L.require(v,o)},L.require.modules={},L.require.tlns={},L.define=function(v,o,h){if(arguments.length==2?(h=o,typeof v!="string"&&(o=v,v=L.require.id)):arguments.length==1&&(h=v,o=[],v=L.require.id),typeof h!="function"){L.require.modules[v]={exports:h,initialized:!0};return}o.length||(o=["require","exports","module"]);var d=function(s){return L.require(v,s)};L.require.modules[v]={exports:{},factory:function(){var s=this,p=h.apply(this,o.slice(0,h.length).map(function(e){switch(e){case"require":return d;case"exports":return s.exports;case"module":return s;default:return d(e)}}));return p&&(s.exports=p),s}}},L.define.amd={},L.require.tlns={},L.initBaseUrls=function(v){for(var o in v)this.require.tlns[o]=v[o]},L.initSender=function(){var v=L.require("ace/lib/event_emitter").EventEmitter,o=L.require("ace/lib/oop"),h=function(){};return function(){o.implement(this,v),this.callback=function(d,s){postMessage({type:"call",id:s,data:d})},this.emit=function(d,s){postMessage({type:"event",name:d,data:s})}}.call(h.prototype),new h};var i=L.main=null,u=L.sender=null;L.onmessage=function(v){var o=v.data;if(o.event&&u)u._signal(o.event,o.data);else if(o.command)if(i[o.command])i[o.command].apply(i,o.args);else{if(!L[o.command])throw new Error("Unknown command:"+o.command);L[o.command].apply(L,o.args)}else if(o.init){L.initBaseUrls(o.tlns),u=L.sender=L.initSender();var h=this.require(o.module)[o.classname];i=L.main=new h(u)}}}})(_a),ace.define("ace/lib/oop",[],function(L,n,i){n.inherits=function(u,v){u.super_=v,u.prototype=Object.create(v.prototype,{constructor:{value:u,enumerable:!1,writable:!0,configurable:!0}})},n.mixin=function(u,v){for(var o in v)u[o]=v[o];return u},n.implement=function(u,v){n.mixin(u,v)}}),ace.define("ace/apply_delta",[],function(L,n,i){n.applyDelta=function(u,v,o){var h=v.start.row,d=v.start.column,s=u[h]||"";switch(v.action){case"insert":var p=v.lines;if(p.length===1)u[h]=s.substring(0,d)+v.lines[0]+s.substring(d);else{var e=[h,1].concat(v.lines);u.splice.apply(u,e),u[h]=s.substring(0,d)+u[h],u[h+v.lines.length-1]+=s.substring(d)}break;case"remove":var t=v.end.column,r=v.end.row;h===r?u[h]=s.substring(0,d)+s.substring(t):u.splice(h,r-h+1,s.substring(0,d)+u[r].substring(t))}}}),ace.define("ace/lib/event_emitter",[],function(L,n,i){var u={},v=function(){this.propagationStopped=!0},o=function(){this.defaultPrevented=!0};u._emit=u._dispatchEvent=function(h,d){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var s=this._eventRegistry[h]||[],p=this._defaultHandlers[h];if(!(!s.length&&!p)){(typeof d!="object"||!d)&&(d={}),d.type||(d.type=h),d.stopPropagation||(d.stopPropagation=v),d.preventDefault||(d.preventDefault=o),s=s.slice();for(var e=0;e ["+this.end.row+"/"+this.end.column+"]"},v.prototype.contains=function(o,h){return this.compare(o,h)==0},v.prototype.compareRange=function(o){var h,d=o.end,s=o.start;return h=this.compare(d.row,d.column),h==1?(h=this.compare(s.row,s.column),h==1?2:h==0?1:0):h==-1?-2:(h=this.compare(s.row,s.column),h==-1?-1:h==1?42:0)},v.prototype.comparePoint=function(o){return this.compare(o.row,o.column)},v.prototype.containsRange=function(o){return this.comparePoint(o.start)==0&&this.comparePoint(o.end)==0},v.prototype.intersects=function(o){var h=this.compareRange(o);return h==-1||h==0||h==1},v.prototype.isEnd=function(o,h){return this.end.row==o&&this.end.column==h},v.prototype.isStart=function(o,h){return this.start.row==o&&this.start.column==h},v.prototype.setStart=function(o,h){typeof o=="object"?(this.start.column=o.column,this.start.row=o.row):(this.start.row=o,this.start.column=h)},v.prototype.setEnd=function(o,h){typeof o=="object"?(this.end.column=o.column,this.end.row=o.row):(this.end.row=o,this.end.column=h)},v.prototype.inside=function(o,h){return this.compare(o,h)==0?!(this.isEnd(o,h)||this.isStart(o,h)):!1},v.prototype.insideStart=function(o,h){return this.compare(o,h)==0?!this.isEnd(o,h):!1},v.prototype.insideEnd=function(o,h){return this.compare(o,h)==0?!this.isStart(o,h):!1},v.prototype.compare=function(o,h){return!this.isMultiLine()&&o===this.start.row?hthis.end.column?1:0:othis.end.row?1:this.start.row===o?h>=this.start.column?0:-1:this.end.row===o?h<=this.end.column?0:1:0},v.prototype.compareStart=function(o,h){return this.start.row==o&&this.start.column==h?-1:this.compare(o,h)},v.prototype.compareEnd=function(o,h){return this.end.row==o&&this.end.column==h?1:this.compare(o,h)},v.prototype.compareInside=function(o,h){return this.end.row==o&&this.end.column==h?1:this.start.row==o&&this.start.column==h?-1:this.compare(o,h)},v.prototype.clipRows=function(o,h){if(this.end.row>h)var d={row:h+1,column:0};else if(this.end.rowh)var s={row:h+1,column:0};else if(this.start.rowthis.row)){var e=v(p,{row:this.row,column:this.column},this.$insertRight);this.setPosition(e.row,e.column,!0)}},s.prototype.setPosition=function(p,e,t){var r;if(t?r={row:p,column:e}:r=this.$clipPositionToDocument(p,e),!(this.row==r.row&&this.column==r.column)){var l={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:l,value:r})}},s.prototype.detach=function(){this.document.off("change",this.$onChange)},s.prototype.attach=function(p){this.document=p||this.document,this.document.on("change",this.$onChange)},s.prototype.$clipPositionToDocument=function(p,e){var t={};return p>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):p<0?(t.row=0,t.column=0):(t.row=p,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,e))),e<0&&(t.column=0),t},s}();d.prototype.$insertRight=!1,o.implement(d.prototype,h),n.Anchor=d}),ace.define("ace/document",[],function(L,n,i){var u=L("./lib/oop"),v=L("./apply_delta").applyDelta,o=L("./lib/event_emitter").EventEmitter,h=L("./range").Range,d=L("./anchor").Anchor,s=function(){function p(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)}return p.prototype.setValue=function(e){var t=this.getLength()-1;this.remove(new h(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e||"")},p.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},p.prototype.createAnchor=function(e,t){return new d(this,e,t)},p.prototype.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:` -`,this._signal("changeNewLineMode")},p.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r -`;case"unix":return` -`;default:return this.$autoNewLine||` -`}},p.prototype.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},p.prototype.getNewLineMode=function(){return this.$newLineMode},p.prototype.isNewLine=function(e){return e==`\r -`||e=="\r"||e==` -`},p.prototype.getLine=function(e){return this.$lines[e]||""},p.prototype.getLines=function(e,t){return this.$lines.slice(e,t+1)},p.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},p.prototype.getLength=function(){return this.$lines.length},p.prototype.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},p.prototype.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var r=t.length-1;e.end.row-e.start.row==r&&(t[r]=t[r].substring(0,e.end.column))}return t},p.prototype.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},p.prototype.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},p.prototype.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},p.prototype.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},p.prototype.insertInLine=function(e,t){var r=this.clippedPos(e.row,e.column),l=this.pos(e.row,e.column+t.length);return this.applyDelta({start:r,end:l,action:"insert",lines:[t]},!0),this.clonePos(l)},p.prototype.clippedPos=function(e,t){var r=this.getLength();e===void 0?e=r:e<0?e=0:e>=r&&(e=r-1,t=void 0);var l=this.getLine(e);return t==null&&(t=l.length),t=Math.min(Math.max(t,0),l.length),{row:e,column:t}},p.prototype.clonePos=function(e){return{row:e.row,column:e.column}},p.prototype.pos=function(e,t){return{row:e,column:t}},p.prototype.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},p.prototype.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var r=0;e0,l=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},p.prototype.replace=function(e,t){if(e instanceof h||(e=h.fromPoints(e.start,e.end)),t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var r;return t?r=this.insert(e.start,t):r=e.start,r},p.prototype.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},p.prototype.applyDelta=function(e,t){var r=e.action=="insert";(r?e.lines.length<=1&&!e.lines[0]:!h.comparePoints(e.start,e.end))||(r&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(v(this.$lines,e,t),this._signal("change",e)))},p.prototype.$safeApplyDelta=function(e){var t=this.$lines.length;(e.action=="remove"&&e.start.row0;)h&1&&(d+=o),(h>>=1)&&(o+=o);return d};var u=/^\s\s*/,v=/\s\s*$/;n.stringTrimLeft=function(o){return o.replace(u,"")},n.stringTrimRight=function(o){return o.replace(v,"")},n.copyObject=function(o){var h={};for(var d in o)h[d]=o[d];return h},n.copyArray=function(o){for(var h=[],d=0,s=o.length;d65535?2:1}}),ace.define("ace/worker/mirror",[],function(L,n,i){var u=L("../document").Document,v=L("../lib/lang"),o=n.Mirror=function(h){this.sender=h;var d=this.doc=new u(""),s=this.deferredUpdate=v.delayedCall(this.onUpdate.bind(this)),p=this;h.on("change",function(e){var t=e.data;if(t[0].start)d.applyDeltas(t);else for(var r=0;r=d.$lines.length)throw a=new Error("Invalid delta"),a.data={path:p.$path,linesLength:d.$lines.length,start:l.start,end:l.end},a;d.applyDelta(l,!0)}if(p.$timeout)return s.schedule(p.$timeout);p.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(h){this.$timeout=h},this.setValue=function(h){this.doc.setValue(h),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(h){this.sender.callback(this.doc.getValue(),h)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/json/json_parse",[],function(L,n,i){var u,v,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:` -`,r:"\r",t:" "},h,d=function(f){throw{name:"SyntaxError",message:f,at:u,text:h}},s=function(f){return f&&f!==v&&d("Expected '"+f+"' instead of '"+v+"'"),v=h.charAt(u),u+=1,v},p=function(){var f,m="";for(v==="-"&&(m="-",s("-"));v>="0"&&v<="9";)m+=v,s();if(v===".")for(m+=".";s()&&v>="0"&&v<="9";)m+=v;if(v==="e"||v==="E")for(m+=v,s(),(v==="-"||v==="+")&&(m+=v,s());v>="0"&&v<="9";)m+=v,s();if(f=+m,!isNaN(f))return f;d("Bad number")},e=function(){var f,m,y="",D;if(v==='"')for(;s();){if(v==='"')return s(),y;if(v==="\\")if(s(),v==="u"){for(D=0,m=0;m<4&&(f=parseInt(s(),16),!!isFinite(f));m+=1)D=D*16+f;y+=String.fromCharCode(D)}else{if(typeof o[v]!="string")break;y+=o[v]}else{if(v==` -`||v=="\r")break;y+=v}}d("Bad string")},t=function(){for(;v&&v<=" ";)s()},r=function(){switch(v){case"t":return s("t"),s("r"),s("u"),s("e"),!0;case"f":return s("f"),s("a"),s("l"),s("s"),s("e"),!1;case"n":return s("n"),s("u"),s("l"),s("l"),null}d("Unexpected '"+v+"'")},l,a=function(){var f=[];if(v==="["){if(s("["),t(),v==="]")return s("]"),f;for(;v;){if(f.push(l()),t(),v==="]")return s("]"),f;s(","),t()}}d("Bad array")},c=function(){var f,m={};if(v==="{"){if(s("{"),t(),v==="}")return s("}"),m;for(;v;){if(f=e(),t(),s(":"),Object.hasOwnProperty.call(m,f)&&d('Duplicate key "'+f+'"'),m[f]=l(),t(),v==="}")return s("}"),m;s(","),t()}}d("Bad object")};return l=function(){switch(t(),v){case"{":return c();case"[":return a();case'"':return e();case"-":return p();default:return v>="0"&&v<="9"?p():r()}},function(f,m){var y;return h=f,u=0,v=" ",y=l(),t(),v&&d("Syntax error"),typeof m=="function"?function D(E,b){var g,S,M=E[b];if(M&&typeof M=="object")for(g in M)Object.hasOwnProperty.call(M,g)&&(S=D(M,g),S!==void 0?M[g]=S:delete M[g]);return m.call(E,b,M)}({"":y},""):y}}),ace.define("ace/mode/json_worker",[],function(L,n,i){var u=L("../lib/oop"),v=L("../worker/mirror").Mirror,o=L("./json/json_parse"),h=n.JsonWorker=function(d){v.call(this,d),this.setTimeout(200)};u.inherits(h,v),function(){this.onUpdate=function(){var d=this.doc.getValue(),s=[];try{d&&o(d)}catch(e){var p=this.doc.indexToPosition(e.at-1);s.push({row:p.row,column:p.column,text:e.message,type:"error"})}this.sender.emit("annotate",s)}}.call(h.prototype)});var ka={exports:{}};(function(L,n){ace.define("ace/theme/clouds_midnight-css",["require","exports","module"],function(i,u,v){v.exports=`.ace-clouds-midnight .ace_gutter { - background: #232323; - color: #929292 -} - -.ace-clouds-midnight .ace_print-margin { - width: 1px; - background: #232323 -} - -.ace-clouds-midnight { - background-color: #191919; - color: #929292 -} - -.ace-clouds-midnight .ace_cursor { - color: #7DA5DC -} - -.ace-clouds-midnight .ace_marker-layer .ace_selection { - background: #000000 -} - -.ace-clouds-midnight.ace_multiselect .ace_selection.ace_start { - box-shadow: 0 0 3px 0px #191919; -} - -.ace-clouds-midnight .ace_marker-layer .ace_step { - background: rgb(102, 82, 0) -} - -.ace-clouds-midnight .ace_marker-layer .ace_bracket { - margin: -1px 0 0 -1px; - border: 1px solid #BFBFBF -} - -.ace-clouds-midnight .ace_marker-layer .ace_active-line { - background: rgba(215, 215, 215, 0.031) -} - -.ace-clouds-midnight .ace_gutter-active-line { - background-color: rgba(215, 215, 215, 0.031) -} - -.ace-clouds-midnight .ace_marker-layer .ace_selected-word { - border: 1px solid #000000 -} - -.ace-clouds-midnight .ace_invisible { - color: #666 -} - -.ace-clouds-midnight .ace_keyword, -.ace-clouds-midnight .ace_meta, -.ace-clouds-midnight .ace_support.ace_constant.ace_property-value { - color: #927C5D -} - -.ace-clouds-midnight .ace_keyword.ace_operator { - color: #4B4B4B -} - -.ace-clouds-midnight .ace_keyword.ace_other.ace_unit { - color: #366F1A -} - -.ace-clouds-midnight .ace_constant.ace_language { - color: #39946A -} - -.ace-clouds-midnight .ace_constant.ace_numeric { - color: #46A609 -} - -.ace-clouds-midnight .ace_constant.ace_character.ace_entity { - color: #A165AC -} - -.ace-clouds-midnight .ace_invalid { - color: #FFFFFF; - background-color: #E92E2E -} - -.ace-clouds-midnight .ace_fold { - background-color: #927C5D; - border-color: #929292 -} - -.ace-clouds-midnight .ace_storage, -.ace-clouds-midnight .ace_support.ace_class, -.ace-clouds-midnight .ace_support.ace_function, -.ace-clouds-midnight .ace_support.ace_other, -.ace-clouds-midnight .ace_support.ace_type { - color: #E92E2E -} - -.ace-clouds-midnight .ace_string { - color: #5D90CD -} - -.ace-clouds-midnight .ace_comment { - color: #3C403B -} - -.ace-clouds-midnight .ace_entity.ace_name.ace_tag, -.ace-clouds-midnight .ace_entity.ace_other.ace_attribute-name { - color: #606060 -} - -.ace-clouds-midnight .ace_indent-guide { - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y -} - -.ace-clouds-midnight .ace_indent-guide-active { - background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y; -} -`}),ace.define("ace/theme/clouds_midnight",["require","exports","module","ace/theme/clouds_midnight-css","ace/lib/dom"],function(i,u,v){u.isDark=!0,u.cssClass="ace-clouds-midnight",u.cssText=i("./clouds_midnight-css");var o=i("../lib/dom");o.importCssString(u.cssText,u.cssClass,!1)}),function(){ace.require(["ace/theme/clouds_midnight"],function(i){L&&(L.exports=i)})}()})(ka);var Ma={exports:{}};(function(L,n){ace.define("ace/theme/chrome-css",["require","exports","module"],function(i,u,v){v.exports=`.ace-chrome .ace_gutter { - background: #ebebeb; - color: #333; - overflow : hidden; -} - -.ace-chrome .ace_print-margin { - width: 1px; - background: #e8e8e8; -} - -.ace-chrome { - background-color: #FFFFFF; - color: black; -} - -.ace-chrome .ace_cursor { - color: black; -} - -.ace-chrome .ace_invisible { - color: rgb(191, 191, 191); -} - -.ace-chrome .ace_constant.ace_buildin { - color: rgb(88, 72, 246); -} - -.ace-chrome .ace_constant.ace_language { - color: rgb(88, 92, 246); -} - -.ace-chrome .ace_constant.ace_library { - color: rgb(6, 150, 14); -} - -.ace-chrome .ace_invalid { - background-color: rgb(153, 0, 0); - color: white; -} - -.ace-chrome .ace_fold { -} - -.ace-chrome .ace_support.ace_function { - color: rgb(60, 76, 114); -} - -.ace-chrome .ace_support.ace_constant { - color: rgb(6, 150, 14); -} - -.ace-chrome .ace_support.ace_type, -.ace-chrome .ace_support.ace_class -.ace-chrome .ace_support.ace_other { - color: rgb(109, 121, 222); -} - -.ace-chrome .ace_variable.ace_parameter { - font-style:italic; - color:#FD971F; -} -.ace-chrome .ace_keyword.ace_operator { - color: rgb(104, 118, 135); -} - -.ace-chrome .ace_comment { - color: #236e24; -} - -.ace-chrome .ace_comment.ace_doc { - color: #236e24; -} - -.ace-chrome .ace_comment.ace_doc.ace_tag { - color: #236e24; -} - -.ace-chrome .ace_constant.ace_numeric { - color: rgb(0, 0, 205); -} - -.ace-chrome .ace_variable { - color: rgb(49, 132, 149); -} - -.ace-chrome .ace_xml-pe { - color: rgb(104, 104, 91); -} - -.ace-chrome .ace_entity.ace_name.ace_function { - color: #0000A2; -} - - -.ace-chrome .ace_heading { - color: rgb(12, 7, 255); -} - -.ace-chrome .ace_list { - color:rgb(185, 6, 144); -} - -.ace-chrome .ace_marker-layer .ace_selection { - background: rgb(181, 213, 255); -} - -.ace-chrome .ace_marker-layer .ace_step { - background: rgb(252, 255, 0); -} - -.ace-chrome .ace_marker-layer .ace_stack { - background: rgb(164, 229, 101); -} - -.ace-chrome .ace_marker-layer .ace_bracket { - margin: -1px 0 0 -1px; - border: 1px solid rgb(192, 192, 192); -} - -.ace-chrome .ace_marker-layer .ace_active-line { - background: rgba(0, 0, 0, 0.07); -} - -.ace-chrome .ace_gutter-active-line { - background-color : #dcdcdc; -} - -.ace-chrome .ace_marker-layer .ace_selected-word { - background: rgb(250, 250, 255); - border: 1px solid rgb(200, 200, 250); -} - -.ace-chrome .ace_storage, -.ace-chrome .ace_keyword, -.ace-chrome .ace_meta.ace_tag { - color: rgb(147, 15, 128); -} - -.ace-chrome .ace_string.ace_regex { - color: rgb(255, 0, 0) -} - -.ace-chrome .ace_string { - color: #1A1AA6; -} - -.ace-chrome .ace_entity.ace_other.ace_attribute-name { - color: #994409; -} - -.ace-chrome .ace_indent-guide { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y; -} - -.ace-chrome .ace_indent-guide-active { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y; -} -`}),ace.define("ace/theme/chrome",["require","exports","module","ace/theme/chrome-css","ace/lib/dom"],function(i,u,v){u.isDark=!1,u.cssClass="ace-chrome",u.cssText=i("./chrome-css");var o=i("../lib/dom");o.importCssString(u.cssText,u.cssClass,!1)}),function(){ace.require(["ace/theme/chrome"],function(i){L&&(L.exports=i)})}()})(Ma);var La={exports:{}};(function(L,n){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(i,u,v){function o(g){var S=new Date().toLocaleString("en-us",g);return S.length==1?"0"+S:S}var h=i("./lib/dom"),d=i("./lib/oop"),s=i("./lib/event_emitter").EventEmitter,p=i("./lib/lang"),e=i("./range").Range,t=i("./range_list").RangeList,r=i("./keyboard/hash_handler").HashHandler,l=i("./tokenizer").Tokenizer,a=i("./clipboard"),c={CURRENT_WORD:function(g){return g.session.getTextRange(g.session.getWordRange())},SELECTION:function(g,S,M){var _=g.session.getTextRange();return M?_.replace(/\n\r?([ \t]*\S)/g,` -`+M+"$1"):_},CURRENT_LINE:function(g){return g.session.getLine(g.getCursorPosition().row)},PREV_LINE:function(g){return g.session.getLine(g.getCursorPosition().row-1)},LINE_INDEX:function(g){return g.getCursorPosition().row},LINE_NUMBER:function(g){return g.getCursorPosition().row+1},SOFT_TABS:function(g){return g.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(g){return g.session.getTabSize()},CLIPBOARD:function(g){return a.getText&&a.getText()},FILENAME:function(g){return/[^/\\]*$/.exec(this.FILEPATH(g))[0]},FILENAME_BASE:function(g){return/[^/\\]*$/.exec(this.FILEPATH(g))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(g){return this.FILEPATH(g).replace(/[^/\\]*$/,"")},FILEPATH:function(g){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(g){var S=g.session.$mode||{};return S.blockComment&&S.blockComment.start||""},BLOCK_COMMENT_END:function(g){var S=g.session.$mode||{};return S.blockComment&&S.blockComment.end||""},LINE_COMMENT:function(g){var S=g.session.$mode||{};return S.lineCommentStart||""},CURRENT_YEAR:o.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:o.bind(null,{year:"2-digit"}),CURRENT_MONTH:o.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:o.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:o.bind(null,{month:"short"}),CURRENT_DATE:o.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:o.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:o.bind(null,{weekday:"short"}),CURRENT_HOUR:o.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:o.bind(null,{minute:"2-digit"}),CURRENT_SECOND:o.bind(null,{second:"2-digit"})};c.SELECTED_TEXT=c.SELECTION;var f=function(){function g(){this.snippetMap={},this.snippetNameMap={},this.variables=c}return g.prototype.getTokenizer=function(){return g.$tokenizer||this.createTokenizer()},g.prototype.createTokenizer=function(){function S(T){return T=T.substr(1),/^\d+$/.test(T)?[{tabstopId:parseInt(T,10)}]:[{text:T}]}function M(T){return"(?:[^\\\\"+T+"]|\\\\.)"}var _={regex:"/("+M("/")+"+)/",onMatch:function(T,F,A){var $=A[0];return $.fmtString=!0,$.guard=T.slice(1,-1),$.flag="",""},next:"formatString"};return g.$tokenizer=new l({start:[{regex:/\\./,onMatch:function(T,F,A){var $=T[1];return($=="}"&&A.length||"`$\\".indexOf($)!=-1)&&(T=$),[T]}},{regex:/}/,onMatch:function(T,F,A){return[A.length?A.shift():T]}},{regex:/\$(?:\d+|\w+)/,onMatch:S},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(T,F,A){var $=S(T.substr(1));return A.unshift($[0]),$},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+M("\\|")+"*\\|",onMatch:function(T,F,A){var $=T.slice(1,-1).replace(/\\[,|\\]|,/g,function(C){return C.length==2?C[1]:"\0"}).split("\0").map(function(C){return{value:C}});return A[0].choices=$,[$[0]]},next:"start"},_,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(T,F,A){return A.length&&A[0].expectElse?(A[0].expectElse=!1,A[0].ifEnd={elseEnd:A[0]},[A[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(T,F,A){var $=T[1];return $=="}"&&A.length||"`$\\".indexOf($)!=-1?T=$:$=="n"?T=` -`:$=="t"?T=" ":"ulULE".indexOf($)!=-1&&(T={changeCase:$,local:$>"a"}),[T]}},{regex:"/\\w*}",onMatch:function(T,F,A){var $=A.shift();return $&&($.flag=T.slice(1,-1)),this.next=$&&$.tabstopId?"start":"",[$||T]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(T,F,A){return[{text:T.slice(1)}]}},{regex:/\${\w+/,onMatch:function(T,F,A){var $={text:T.slice(2)};return A.unshift($),[$]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(T,F,A){var $=A.shift();return this.next=$&&$.tabstopId?"start":"",[$||T]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(T,F,A){var $=A[0];return $.formatFunction=T.slice(2,-1),[A.shift()]},next:"formatString"},_,{regex:/:[\?\-+]?/,onMatch:function(T,F,A){T[1]=="+"&&(A[0].ifEnd=A[0]),T[1]=="?"&&(A[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),g.$tokenizer},g.prototype.tokenizeTmSnippet=function(S,M){return this.getTokenizer().getLineTokens(S,M).tokens.map(function(_){return _.value||_})},g.prototype.getVariableValue=function(S,M,_){if(/^\d+$/.test(M))return(this.variables.__||{})[M]||"";if(/^[A-Z]\d+$/.test(M))return(this.variables[M[0]+"__"]||{})[M.substr(1)]||"";if(M=M.replace(/^TM_/,""),!this.variables.hasOwnProperty(M))return"";var T=this.variables[M];return typeof T=="function"&&(T=this.variables[M](S,M,_)),T??""},g.prototype.tmStrFormat=function(S,M,_){if(!M.fmt)return S;var T=M.flag||"",F=M.guard;F=new RegExp(F,T.replace(/[^gim]/g,""));var A=typeof M.fmt=="string"?this.tokenizeTmSnippet(M.fmt,"formatString"):M.fmt,$=this,C=S.replace(F,function(){var w=$.variables.__;$.variables.__=[].slice.call(arguments);for(var x=$.resolveVariables(A,_),I="E",R=0;R=0&&C.splice(w,1)}}var T=this.snippetMap,F=this.snippetNameMap;S.content?_(S):Array.isArray(S)&&S.forEach(_)},g.prototype.parseSnippetFile=function(S){S=S.replace(/\r/g,"");for(var M=[],_={},T=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,F;F=T.exec(S);){if(F[1])try{_=JSON.parse(F[1]),M.push(_)}catch{}if(F[4])_.content=F[4].replace(/^\t/gm,""),M.push(_),_={};else{var A=F[2],$=F[3];if(A=="regex"){var C=/\/((?:[^\/\\]|\\.)*)|$/g;_.guard=C.exec($)[1],_.trigger=C.exec($)[1],_.endTrigger=C.exec($)[1],_.endGuard=C.exec($)[1]}else A=="snippet"?(_.tabTrigger=$.match(/^\S*/)[0],_.name||(_.name=$)):A&&(_[A]=$)}}return M},g.prototype.getSnippetByName=function(S,M){var _=this.snippetNameMap,T;return this.getActiveScopes(M).some(function(F){var A=_[F];return A&&(T=A[S]),!!T},this),T},g}();d.implement(f.prototype,s);var m=function(g,S,M){function _(G){for(var Y=[],Q=0;Q1?(H=Y[Y.length-1].length,W+=Y.length-1):H+=G.length,U+=G}else G&&(G.start?G.end={row:W,column:H}:G.start={row:W,column:H})}),{text:U,tabstops:w,tokens:C}},y=function(){function g(S){if(this.index=0,this.ranges=[],this.tabstops=[],S.tabstopManager)return S.tabstopManager;S.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=p.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(S)}return g.prototype.attach=function(S){this.$openTabstops=null,this.selectedTabstop=null,this.editor=S,this.session=S.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},g.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},g.prototype.onChange=function(S){for(var M=S.action[0]=="r",_=this.selectedTabstop||{},T=_.parents||{},F=this.tabstops.slice(),A=0;A2&&(this.tabstops.length&&$.push($.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,$))},g.prototype.addTabstopMarkers=function(S){var M=this.session;S.forEach(function(_){_.markerId||(_.markerId=M.addMarker(_,"ace_snippet-marker","text"))})},g.prototype.removeTabstopMarkers=function(S){var M=this.session;S.forEach(function(_){M.removeMarker(_.markerId),_.markerId=null})},g.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var S=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&S--,this.tabstops.forEach(function(M){M.snippetId===S?this.addTabstopMarkers(M):this.removeTabstopMarkers(M)},this)}},g.prototype.removeRange=function(S){var M=S.tabstop.indexOf(S);M!=-1&&S.tabstop.splice(M,1),M=this.ranges.indexOf(S),M!=-1&&this.ranges.splice(M,1),M=S.tabstop.rangeList.ranges.indexOf(S),M!=-1&&S.tabstop.splice(M,1),this.session.removeMarker(S.markerId),S.tabstop.length||(M=this.tabstops.indexOf(S.tabstop),M!=-1&&this.tabstops.splice(M,1),this.tabstops.length||this.detach())},g}();y.prototype.keyboardHandler=new r,y.prototype.keyboardHandler.bindKeys({Tab:function(g){u.snippetManager&&u.snippetManager.expandWithTab(g)||(g.tabstopManager.tabNext(1),g.renderer.scrollCursorIntoView())},"Shift-Tab":function(g){g.tabstopManager.tabNext(-1),g.renderer.scrollCursorIntoView()},Esc:function(g){g.tabstopManager.detach()}});var D=function(g,S){g.row==0&&(g.column+=S.column),g.row+=S.row},E=function(g,S){g.row==S.row&&(g.column-=S.column),g.row-=S.row};h.importCssString(` -.ace_snippet-marker { - -moz-box-sizing: border-box; - box-sizing: border-box; - background: rgba(194, 193, 208, 0.09); - border: 1px dotted rgba(211, 208, 235, 0.62); - position: absolute; -}`,"snippets.css",!1),u.snippetManager=new f;var b=i("./editor").Editor;(function(){this.insertSnippet=function(g,S){return u.snippetManager.insertSnippet(this,g,S)},this.expandSnippet=function(g){return u.snippetManager.expandWithTab(this,g)}}).call(b.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],function(i,u,v){var o=i("../virtual_renderer").VirtualRenderer,h=i("../editor").Editor,d=i("../range").Range,s=i("../lib/event"),p=i("../lib/lang"),e=i("../lib/dom"),t=i("../config").nls,r=i("./../lib/useragent"),l=function(D){return"suggest-aria-id:".concat(D)},a=r.isSafari?"menu":"listbox",c=r.isSafari?"menuitem":"option",f=r.isSafari?"aria-current":"aria-selected",m=function(D){var E=new o(D);E.$maxLines=4;var b=new h(E);return b.setHighlightActiveLine(!1),b.setShowPrintMargin(!1),b.renderer.setShowGutter(!1),b.renderer.setHighlightGutterLine(!1),b.$mouseHandler.$focusTimeout=0,b.$highlightTagPending=!0,b},y=function(){function D(E){var b=e.createElement("div"),g=m(b);E&&E.appendChild(b),b.style.display="none",g.renderer.content.style.cursor="default",g.renderer.setStyle("ace_autocomplete"),g.renderer.$textLayer.element.setAttribute("role",a),g.renderer.$textLayer.element.setAttribute("aria-roledescription",t("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),g.renderer.$textLayer.element.setAttribute("aria-label",t("autocomplete.popup.aria-label","Autocomplete suggestions")),g.renderer.textarea.setAttribute("aria-hidden","true"),g.setOption("displayIndentGuides",!1),g.setOption("dragDelay",150);var S=function(){};g.focus=S,g.$isFocused=!0,g.renderer.$cursorLayer.restartTimer=S,g.renderer.$cursorLayer.element.style.opacity="0",g.renderer.$maxLines=8,g.renderer.$keepTextAreaAtCursor=!1,g.setHighlightActiveLine(!1),g.session.highlight(""),g.session.$searchHighlight.clazz="ace_highlight-marker",g.on("mousedown",function(C){var w=C.getDocumentPosition();g.selection.moveToPosition(w),T.start.row=T.end.row=w.row,C.stop()});var M,_=new d(-1,0,-1,1/0),T=new d(-1,0,-1,1/0);T.id=g.session.addMarker(T,"ace_active-line","fullLine"),g.setSelectOnHover=function(C){C?_.id&&(g.session.removeMarker(_.id),_.id=null):_.id=g.session.addMarker(_,"ace_line-hover","fullLine")},g.setSelectOnHover(!1),g.on("mousemove",function(C){if(!M){M=C;return}if(!(M.x==C.x&&M.y==C.y)){M=C,M.scrollTop=g.renderer.scrollTop,g.isMouseOver=!0;var w=M.getDocumentPosition().row;_.start.row!=w&&(_.id||g.setRow(w),A(w))}}),g.renderer.on("beforeRender",function(){if(M&&_.start.row!=-1){M.$pos=null;var C=M.getDocumentPosition().row;_.id||g.setRow(C),A(C,!0)}}),g.renderer.on("afterRender",function(){for(var C=g.renderer.$textLayer,w=C.config.firstRow,x=C.config.lastRow;w<=x;w++){var I=C.element.childNodes[w-C.config.firstRow];I.setAttribute("role",c),I.setAttribute("aria-roledescription",t("autocomplete.popup.item.aria-roledescription","item")),I.setAttribute("aria-setsize",g.data.length),I.setAttribute("aria-describedby","doc-tooltip"),I.setAttribute("aria-posinset",w+1);var R=g.getData(w);if(R){var O="".concat(R.caption||R.value).concat(R.meta?", ".concat(R.meta):"");I.setAttribute("aria-label",O)}var P=I.querySelectorAll(".ace_completion-highlight");P.forEach(function(B){B.setAttribute("role","mark")})}}),g.renderer.on("afterRender",function(){var C=g.getRow(),w=g.renderer.$textLayer,x=w.element.childNodes[C-w.config.firstRow],I=document.activeElement;if(x!==g.selectedNode&&g.selectedNode&&(e.removeCssClass(g.selectedNode,"ace_selected"),g.selectedNode.removeAttribute(f),g.selectedNode.removeAttribute("id")),I.removeAttribute("aria-activedescendant"),g.selectedNode=x,x){var R=l(C);e.addCssClass(x,"ace_selected"),x.id=R,w.element.setAttribute("aria-activedescendant",R),I.setAttribute("aria-activedescendant",R),x.setAttribute(f,"true")}});var F=function(){A(-1)},A=function(C,w){C!==_.start.row&&(_.start.row=_.end.row=C,w||g.session._emit("changeBackMarker"),g._emit("changeHoverMarker"))};g.getHoveredRow=function(){return _.start.row},s.addListener(g.container,"mouseout",function(){g.isMouseOver=!1,F()}),g.on("hide",F),g.on("changeSelection",F),g.session.doc.getLength=function(){return g.data.length},g.session.doc.getLine=function(C){var w=g.data[C];return typeof w=="string"?w:w&&w.value||""};var $=g.session.bgTokenizer;return $.$tokenizeRow=function(C){function w(G,Y){G&&I.push({type:(x.className||"")+(Y||""),value:G})}var x=g.data[C],I=[];if(!x)return I;typeof x=="string"&&(x={value:x});for(var R=x.caption||x.value||x.name,O=R.toLowerCase(),P=(g.filterText||"").toLowerCase(),B=0,V=0,W=0;W<=P.length;W++)if(W!=V&&(x.matchMask&1<=W?x="bottom":x="top"),x==="top"?(H.bottom=C.top-this.$borderSize,H.top=H.bottom-W):x==="bottom"&&(H.top=C.top+w+this.$borderSize,H.bottom=H.top+W);var Y=H.top>=0&&H.bottom<=P;if(!I&&!Y)return!1;Y?V.$maxPixelHeight=null:x==="top"?V.$maxPixelHeight=G:V.$maxPixelHeight=U,x==="top"?(R.style.top="",R.style.bottom=P+O-H.bottom+"px",g.isTopdown=!1):(R.style.top=H.top+"px",R.style.bottom="",g.isTopdown=!0),R.style.display="";var Q=C.left;return Q+R.offsetWidth>B&&(Q=B-R.offsetWidth),R.style.left=Q+"px",R.style.right="",g.isOpen||(g.isOpen=!0,this._signal("show"),M=null),g.anchorPos=C,g.anchor=x,!0},g.show=function(C,w,x){this.tryShow(C,w,x?"bottom":void 0,!0)},g.goTo=function(C){var w=this.getRow(),x=this.session.getLength()-1;switch(C){case"up":w=w<=0?x:w-1;break;case"down":w=w>=x?-1:w+1;break;case"start":w=0;break;case"end":w=x}this.setRow(w)},g.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},g.$imageSize=0,g.$borderSize=1,g}return D}();e.importCssString(` -.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { - background-color: #CAD6FA; - z-index: 1; -} -.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line { - background-color: #3a674e; -} -.ace_editor.ace_autocomplete .ace_line-hover { - border: 1px solid #abbffe; - margin-top: -1px; - background: rgba(233,233,253,0.4); - position: absolute; - z-index: 2; -} -.ace_dark.ace_editor.ace_autocomplete .ace_line-hover { - border: 1px solid rgba(109, 150, 13, 0.8); - background: rgba(58, 103, 78, 0.62); -} -.ace_completion-meta { - opacity: 0.5; - margin-left: 0.9em; -} -.ace_completion-message { - margin-left: 0.9em; - color: blue; -} -.ace_editor.ace_autocomplete .ace_completion-highlight{ - color: #2d69c7; -} -.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{ - color: #93ca12; -} -.ace_editor.ace_autocomplete { - width: 300px; - z-index: 200000; - border: 1px lightgray solid; - position: fixed; - box-shadow: 2px 3px 5px rgba(0,0,0,.2); - line-height: 1.4; - background: #fefefe; - color: #111; -} -.ace_dark.ace_editor.ace_autocomplete { - border: 1px #484747 solid; - box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51); - line-height: 1.4; - background: #25282c; - color: #c1c1c1; -} -.ace_autocomplete .ace_text-layer { - width: calc(100% - 8px); -} -.ace_autocomplete .ace_line { - display: flex; - align-items: center; -} -.ace_autocomplete .ace_line > * { - min-width: 0; - flex: 0 0 auto; -} -.ace_autocomplete .ace_line .ace_ { - flex: 0 1 auto; - overflow: hidden; - text-overflow: ellipsis; -} -.ace_autocomplete .ace_completion-spacer { - flex: 1; -} -.ace_autocomplete.ace_loading:after { - content: ""; - position: absolute; - top: 0px; - height: 2px; - width: 8%; - background: blue; - z-index: 100; - animation: ace_progress 3s infinite linear; - animation-delay: 300ms; - transform: translateX(-100%) scaleX(1); -} -@keyframes ace_progress { - 0% { transform: translateX(-100%) scaleX(1) } - 50% { transform: translateX(625%) scaleX(2) } - 100% { transform: translateX(1500%) scaleX(3) } -} -@media (prefers-reduced-motion) { - .ace_autocomplete.ace_loading:after { - transform: translateX(625%) scaleX(2); - animation: none; - } -} -`,"autocompletion.css",!1),u.AcePopup=y,u.$singleLineEditor=m,u.getAriaId=l}),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],function(i,u,v){var o=function(){function h(d){this.editor=d,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return h.prototype.setScreenReaderContent=function(d){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",function(){var p=this.popup.getRow(),e=this.popup.renderer.$textLayer,t=e.element.childNodes[p-e.config.firstRow];if(t){for(var r="doc-tooltip ",l=0;l=0&&s.test(h[e]);e--)p.push(h[e]);return p.reverse().join("")},u.retrieveFollowingIdentifier=function(h,d,s){s=s||o;for(var p=[],e=d;e0)for(var g=this.popup.getFirstVisibleRow();g<=this.popup.getLastVisibleRow();g++){var S=this.popup.getData(g);S&&(!b||S.hideInlinePreview)&&this.$seen(S)}},E.prototype.$onPopupShow=function(b){this.$onPopupChange(b),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},E.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var b=this.editor.container.parentNode,g=[];b;)g.push(b),b.addEventListener("scroll",this.onLayoutChange,{passive:!0}),b=b.parentNode;this.$elements=g}},E.prototype.unObserveLayoutChanges=function(){var b=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach(function(g){g.removeEventListener("scroll",b.onLayoutChange,{passive:!0})}),this.$elements=null},E.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},E.prototype.$updatePopupPosition=function(){var b=this.editor,g=b.renderer,S=g.layerConfig.lineHeight,M=g.$cursorLayer.getPixelPosition(this.base,!0);M.left-=this.popup.getTextLeftOffset();var _=b.container.getBoundingClientRect();M.top+=_.top-g.layerConfig.offset,M.left+=_.left-b.renderer.scrollLeft,M.left+=g.gutterWidth;var T={top:M.top,left:M.left};g.$ghostText&&g.$ghostTextWidget&&this.base.row===g.$ghostText.position.row&&(T.top+=g.$ghostTextWidget.el.offsetHeight);var F=b.container.getBoundingClientRect().bottom-S,A=Fthis.filterText&&b.lastIndexOf(this.filterText,0)===0)var g=this.filtered;else var g=this.all;this.filterText=b,g=this.filterCompletions(g,this.filterText),g=g.sort(function(M,_){return _.exactMatch-M.exactMatch||_.$score-M.$score||(M.caption||M.value).localeCompare(_.caption||_.value)});var S=null;g=g.filter(function(M){var _=M.snippet||M.caption||M.value;return _===S?!1:(S=_,!0)}),this.filtered=g},E.prototype.filterCompletions=function(b,g){var S=[],M=g.toUpperCase(),_=g.toLowerCase();e:for(var T=0,F;F=b[T];T++){if(F.skipFilter){F.$score=F.score,S.push(F);continue}var A=!this.ignoreCaption&&F.caption||F.value||F.snippet;if(A){var $=-1,C=0,w=0,x,I;if(this.exactMatch){if(g!==A.substr(0,g.length))continue e}else{var R=A.toLowerCase().indexOf(_);if(R>-1)w=R;else for(var O=0;O=0&&(B<0||P0&&($===-1&&(w+=10),w+=I,C|=1<r)&&(m.range.start.row===c?a++:(c=m.range.start.row,a=0),!(a>200))){var y=m.range.clipRows(t,r);if(!(y.start.row===y.end.row&&y.start.column===y.end.column)){var D=y.toScreenRange(p);if(D.isEmpty()){l=p.getNextFoldLine(y.end.row,l),l&&l.end.row>y.end.row&&(t=l.end.row);continue}this.markerType==="fullLine"?s.drawFullLineMarker(d,D,m.className,e):D.isMultiLine()?this.markerType==="line"?s.drawMultiLineMarker(d,D,m.className,e):s.drawTextMarker(d,D,m.className,e):s.drawSingleLineMarker(d,D,m.className+" ace_br15",e)}}}},h}();o.prototype.MAX_MARKERS=1e4,u.MarkerGroup=o}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(i,u,v){function o(p,e){var t=p.getTextRange(d.fromPoints({row:0,column:0},e));return t.split(s).length-1}function h(p,e){var t=o(p,e),r=p.getValue().split(s),l=Object.create(null),a=r[t];return r.forEach(function(c,f){if(!(!c||c===a)){var m=Math.abs(t-f),y=r.length-m;l[c]?l[c]=Math.max(y,l[c]):l[c]=y}}),l}var d=i("../range").Range,s=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;u.getCompletions=function(p,e,t,r,l){var a=h(e,t),c=Object.keys(a);l(null,c.map(function(f){return{caption:f,value:f,score:a[f],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/marker_group","ace/autocomplete/text_completer","ace/editor","ace/config"],function(i,u,v){var o=i("../snippets").snippetManager,h=i("../autocomplete").Autocomplete,d=i("../config"),s=i("../lib/lang"),p=i("../autocomplete/util"),e=i("../marker_group").MarkerGroup,t=i("../autocomplete/text_completer"),r={getCompletions:function(_,T,F,A,$){if(T.$mode.completer)return T.$mode.completer.getCompletions(_,T,F,A,$);var C=_.session.getState(F.row),w=T.$mode.getCompletions(C,T,F,A);w=w.map(function(x){return x.completerId=r.id,x}),$(null,w)},id:"keywordCompleter"},l=function(_){var T={};return _.replace(/\${(\d+)(:(.*?))?}/g,function(F,A,$,C){return T[A]=C||""}).replace(/\$(\d+?)/g,function(F,A){return T[A]})},a={getCompletions:function(_,T,F,A,$){var C=[],w=T.getTokenAt(F.row,F.column);w&&w.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?C.push("html-tag"):C=o.getActiveScopes(_);var x=o.snippetMap,I=[];C.forEach(function(R){for(var O=x[R]||[],P=O.length;P--;){var B=O[P],V=B.name||B.tabTrigger;V&&I.push({caption:V,snippet:B.content,meta:B.tabTrigger&&!B.name?B.tabTrigger+"⇥ ":"snippet",completerId:a.id})}},this),$(null,I)},getDocTooltip:function(_){_.snippet&&!_.docHTML&&(_.docHTML=["",s.escapeHTML(_.caption),"","
",s.escapeHTML(l(_.snippet))].join(""))},id:"snippetCompleter"},c=[a,t,r];u.setCompleters=function(_){c.length=0,_&&c.push.apply(c,_)},u.addCompleter=function(_){c.push(_)},u.textCompleter=t,u.keyWordCompleter=r,u.snippetCompleter=a;var f={name:"expandSnippet",exec:function(_){return o.expandWithTab(_)},bindKey:"Tab"},m=function(_,T){y(T.session.$mode)},y=function(_){typeof _=="string"&&(_=d.$modes[_]),_&&(o.files||(o.files={}),D(_.$id,_.snippetFileId),_.modes&&_.modes.forEach(y))},D=function(_,T){!T||!_||o.files[_]||(o.files[_]={},d.loadModule(T,function(F){F&&(o.files[_]=F,!F.snippets&&F.snippetText&&(F.snippets=o.parseSnippetFile(F.snippetText)),o.register(F.snippets||[],F.scope),F.includeScopes&&(o.snippetMap[F.scope].includeScopes=F.includeScopes,F.includeScopes.forEach(function(A){y("ace/mode/"+A)})))}))},E=function(_){var T=_.editor,F=T.completer&&T.completer.activated;if(_.command.name==="backspace")F&&!p.getCompletionPrefix(T)&&T.completer.detach();else if(_.command.name==="insertstring"&&!F){b=_;var A=_.editor.$liveAutocompletionDelay;A?g.delay(A):S(_)}},b,g=s.delayedCall(function(){S(b)},0),S=function(_){var T=_.editor,F=p.getCompletionPrefix(T),A=_.args,$=p.triggerAutocomplete(T,A);if(F&&F.length>=T.$liveAutocompletionThreshold||$){var C=h.for(T);C.autoShown=!0,C.showPopup(T)}},M=i("../editor").Editor;i("../config").defineOptions(M.prototype,"editor",{enableBasicAutocompletion:{set:function(_){_?(h.for(this),this.completers||(this.completers=Array.isArray(_)?_:c),this.commands.addCommand(h.startCommand)):this.commands.removeCommand(h.startCommand)},value:!1},enableLiveAutocompletion:{set:function(_){_?(this.completers||(this.completers=Array.isArray(_)?_:c),this.commands.on("afterExec",E)):this.commands.off("afterExec",E)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function(_){_?(this.commands.addCommand(f),this.on("changeMode",m),m(null,this)):(this.commands.removeCommand(f),this.off("changeMode",m))},value:!1}}),u.MarkerGroup=e}),function(){ace.require(["ace/ext/language_tools"],function(i){L&&(L.exports=i)})}()})(La);const Ai={jsonError:{border:"1px solid red",minHeight:200},jsonNoError:{border:"1px solid #00000000",minHeight:200}};function Ia(L){return k.createElement(xa,{style:L.error===!0?Ai.jsonError:L.error===!1?Ai.jsonNoError:void 0,mode:L.mode||"json",width:"100%",height:"100%",showPrintMargin:L.editValueMode,showGutter:L.editValueMode,highlightActiveLine:L.editValueMode,defaultValue:L.defaultValue,theme:L.themeType==="dark"?"clouds_midnight":"chrome",value:L.value,readOnly:!L.onChange,onChange:n=>L.onChange(n),name:L.name||"UNIQUE_ID_OF_DIV1",fontSize:L.fontSize||14,setOptions:{enableBasicAutocompletion:!0,enableLiveAutocompletion:!0,enableSnippets:!0,showLineNumbers:L.editValueMode,tabSize:L.editValueMode?2:void 0},editorProps:{$blockScrolling:!0}})}const Rn={flex:{display:"flex"},button:{height:48,minWidth:48},wrapper:{width:"calc(100vw - 40px)",height:"calc(100vh - 188px)"}};class Fa extends K{componentDidMount(){super.componentDidMount();const{data:n,attr:i}=this.props,u=K.getValue(n,i)||"{}";this.setState({value:u,initialized:!0,jsonError:this.validateJson(u)})}validateJson(n){let i=!1;if(this.props.schema.validateJson!==!1&&(n||!this.props.schema.allowEmpty))try{this.props.schema.json5?ji.parse(n):JSON.parse(n)}catch(u){console.log("Error in JSON",u),i=!0}return i}renderItem(n,i){if(!this.state.initialized)return null;const{schema:u,data:v,attr:o}=this.props,{value:h,showSelectId:d}=this.state;return k.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},k.createElement("div",{style:Rn.flex},k.createElement(N.Button,{color:"grey",disabled:i,style:Rn.button,size:"small",variant:"outlined",onClick:()=>this.setState({showSelectId:!0})},j.I18n.t("ra_JSON editor"))),d?k.createElement(ao,{title:this.getText(u.label),overflowHidden:!0,applyDisabled:this.state.jsonError&&this.props.schema.doNotApplyWithError,onClose:()=>this.setState({showSelectId:!1,value:K.getValue(v,o)||{}}),onApply:()=>this.setState({showSelectId:!1},()=>this.onChange(o,h))},k.createElement("div",{style:{...Rn.wrapper,border:this.state.jsonError?"2px solid red":"2px solid transparent"}},k.createElement(Ia,{mode:this.props.schema.json5?"json5":"json",value:typeof h=="object"?JSON.stringify(h):h,onChange:s=>this.setState({value:s,jsonError:this.validateJson(s)}),name:"ConfigJsonEditor",themeType:this.props.oContext.themeType}))):null,u.help||this.state.jsonError?k.createElement(N.FormHelperText,null,this.state.jsonError?j.I18n.t("ra_Invalid JSON"):this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Ra=[{value:"en",label:"English"},{value:"de",label:"Deutsch"},{value:"ru",label:"русский"},{value:"pt",label:"Portugues"},{value:"nl",label:"Nederlands"},{value:"fr",label:"français"},{value:"it",label:"Italiano"},{value:"es",label:"Espanol"},{value:"pl",label:"Polski"},{value:"uk",label:"Український"},{value:"zh-cn",label:"简体中文"}];class Oa extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr),i=[...Ra];this.props.schema.system?i.unshift({value:"",label:j.I18n.t("ra_System language")}):i.unshift({value:"",label:j.I18n.t("ra_none")}),this.setState({value:this.props.schema.system?n||"":n||j.I18n.getLanguage(),selectOptions:i})}renderItem(n,i){var v,o;if(!this.state.selectOptions)return null;const u=(v=this.state.selectOptions)==null?void 0:v.find(h=>h.value===this.state.value||!h.value&&!this.state.value);return k.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,disabled:i,value:this.state.value||"_",renderValue:()=>this.getText(u==null?void 0:u.label,this.props.schema.noTranslation),onChange:h=>{let{value:d}=h.target;d==="_"&&(d=""),this.setState({value:d},()=>{const s=this.onChange(this.props.attr,d);if(s instanceof Promise&&s.catch(p=>console.error(p)),this.props.schema.changeGuiLanguage)if(d){if(d===j.I18n.getLanguage())return;j.I18n.setLanguage(d),this.props.oContext.changeLanguage&&this.props.oContext.changeLanguage()}else this.props.oContext.socket.getSystemConfig().then(p=>{p.common.language!==j.I18n.getLanguage()&&p.common.language&&(j.I18n.setLanguage(p.common.language),this.props.oContext.changeLanguage&&this.props.oContext.changeLanguage())}).catch(p=>console.error(`Cannot read system config: ${p}`))})}},(o=this.state.selectOptions)==null?void 0:o.map(h=>k.createElement(N.MenuItem,{key:h.value,value:h.value},h.label))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class Na extends K{scrollRef;constructor(n){super(n),this.scrollRef=k.createRef()}scrolledDown(){return this.scrollRef.current?this.scrollRef.current.offsetHeight+this.scrollRef.current.scrollTop>=this.scrollRef.current.scrollHeight:!1}componentDidMount(){super.componentDidMount(),K.getValue(this.props.data,this.props.attr)||(this.props.schema.licenseUrl?(this.setState({showLicenseDialog:!0,loading:!0,scrolledDown:!1}),fetch(this.props.schema.licenseUrl).then(n=>n.text()).then(n=>this.setState({license:n,loading:!1})).catch(n=>this.setState({license:n.toString(),loading:!1,error:!0,scrolledDown:!1}))):this.setState({showLicenseDialog:!0,scrolledDown:!1}),setTimeout(()=>{this.scrollRef.current&&(this.scrolledDown()?this.setState({scrolledDown:!0}):this.scrollRef.current.addEventListener("scroll",()=>{!this.state.scrolledDown&&this.scrolledDown()&&this.setState({scrolledDown:!0})}))},1e3))}renderItem(n,i){return this.state.showLicenseDialog?k.createElement(N.Dialog,{maxWidth:"lg",open:!0,onClose:(u,v)=>{v!=="escapeKeyDown"&&v!=="backdropClick"&&this.setState({showLicenseDialog:!1})}},k.createElement(N.DialogTitle,null,this.props.schema.title?j.I18n.t(this.props.schema.title):j.I18n.t("ra_License agreement")),k.createElement(N.DialogContent,null,this.props.schema.licenseUrl?k.createElement(k.Fragment,null,this.state.loading?k.createElement(N.LinearProgress,null):null,k.createElement("pre",{ref:this.scrollRef,style:{width:"100%",height:"100%",overflowY:"auto",fontSize:14}},this.state.license)):null,!this.props.schema.licenseUrl&&this.props.schema.texts?k.createElement("div",{ref:this.scrollRef,style:{width:"100%",height:"100%",overflowY:"auto",fontSize:14}},this.props.schema.texts.map((u,v)=>this.props.schema.noTranslation?k.createElement("p",{key:v},u):k.createElement("p",{key:v},j.I18n.t(u)))):null),k.createElement(N.DialogActions,null,this.props.schema.checkBox?k.createElement(N.FormControlLabel,{control:k.createElement(N.Checkbox,{disabled:i,checked:!!this.state.licenseChecked,onClick:()=>this.setState({licenseChecked:!this.state.licenseChecked})}),label:j.I18n.t(this.props.schema.checkBox)}):null,k.createElement(N.Button,{disabled:i||this.state.loading||this.state.error||this.props.schema.checkBox&&!this.state.licenseChecked||!this.state.scrolledDown,onClick:()=>{this.setState({showLicenseDialog:!1});const u=this.onChange(this.props.attr,!0);u instanceof Promise&&u.catch(v=>console.error(`Cannot set value: ${v}`))},color:"primary",variant:"contained",startIcon:k.createElement(Z.Check,null)},this.props.schema.agreeText?j.I18n.t(this.props.schema.agreeText):j.I18n.t("ra_Accept license")),k.createElement(N.Button,{onClick:()=>{this.setState({showLicenseDialog:!1}),setTimeout(()=>this.setState({showLicenseDialog:!0}),2e3)},color:"grey",variant:"contained",startIcon:k.createElement(Z.Close,null)},j.I18n.t("ra_Close")))):null}}const xi={indeterminate:{opacity:.5},control:{flexDirection:"row",width:"100%"}};class Ba extends K{updateTimeout;componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr);if(n==null&&(n=""),Array.isArray(n)&&this.props.oContext.multiEdit){n=K.DIFFERENT_VALUE,this.setState({_value:n,oldValue:n});return}this.setState({_value:n.toString(),oldValue:n.toString()})}static getDerivedStateFromProps(n,i){if(n.schema.min!==void 0&&n.schema.min<0||n.schema.max!==void 0&&n.schema.max<0)return null;const u=K.getValue(n.data,n.attr);return n.oContext.multiEdit&&i._value===K.DIFFERENT_VALUE?{_value:K.DIFFERENT_VALUE}:u==null||i.oldValue===null||i.oldValue===void 0||u.toString()!==parseFloat(i._value).toString()&&u.toString()!==i.oldValue.toString()?{_value:u}:null}checkValue(n){if(n==null)return null;n=n.toString().trim().replace(",",".");const i=n===""?0:parseFloat(n);return n!==""&&Number.isNaN(i)?"ra_Not a number":n!==""&&window.isFinite(i)?this.props.schema.min!==void 0&&ithis.props.schema.max?"ra_Too big":n===""||n==="-"||Number.isNaN(i)?"ra_Not a number":null:"ra_Not a number"}renderItem(n,i){const u=Array.isArray(this.state._value)||this.state._value===K.DIFFERENT_VALUE;if(this.state.oldValue!==null&&this.state.oldValue!==void 0?(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=void 0,this.setState({oldValue:null})},30)):this.updateTimeout&&(clearTimeout(this.updateTimeout),this.updateTimeout=void 0),u){const v=K.getValue(this.props.data,this.props.attr),o=(v==null?void 0:v.filter(h=>h||h===0).map(h=>({label:h.toString(),value:h})))||[];return o.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),k.createElement(N.Autocomplete,{style:xi.indeterminate,fullWidth:!0,freeSolo:!0,value:o[0],getOptionSelected:(h,d)=>h.label===d.label,onChange:(h,d)=>{const s=this.onChange(this.props.attr,d==null?void 0:d.value,()=>{this.setState({_value:d==null?void 0:d.value,oldValue:this.state._value})});s instanceof Promise&&s.catch(p=>console.error(p))},options:o,getOptionLabel:h=>h.label,renderInput:h=>k.createElement(N.TextField,{...h,label:this.getText(this.props.schema.label),variant:"standard",slotProps:{htmlInput:{...h.inputProps,readOnly:this.props.schema.readOnly||!1},input:{endAdornment:this.props.schema.unit?this.getText(this.props.schema.unit,this.props.schema.noTranslation):void 0}},error:!!n,placeholder:this.getText(this.props.schema.placeholder),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),disabled:!!i})})}return!n&&this.state._value!==null&&this.state._value!==void 0&&this.state._value&&(n=this.checkValue(this.state._value),n&&(n=j.I18n.t(n))),k.createElement(N.FormControl,{variant:"standard",style:xi.control},k.createElement(N.TextField,{sx:{"& .up-down":{display:"none"},"&:hover .up-down":{display:"block"}},variant:"standard",type:this.props.schema.min!==void 0&&this.props.schema.min>=0?"number":"text",fullWidth:!0,slotProps:{htmlInput:{min:this.props.schema.min,max:this.props.schema.max,step:this.props.schema.step,readOnly:this.props.schema.readOnly||!1},input:{endAdornment:this.props.schema.unit?this.getText(this.props.schema.unit,this.props.schema.noTranslation):null}},value:this.state._value===null||this.state._value===void 0?"":this.state._value,error:!!n,disabled:!!i,onChange:v=>{const o=v.target.value,h=this.checkValue(o);h?this.onError(this.props.attr,j.I18n.t(h)):this.onError(this.props.attr),this.setState({_value:o,oldValue:this.state._value},()=>this.onChange(this.props.attr,parseFloat(o.replace(",","."))))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:n&&typeof n=="string"?n:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}))}}class Pa extends K{authWindow;oid;url;constructor(n){super(n),this.state={...this.state,accessTokens:"",success:!1,blocked:!1,running:!1,pressed:!1},this.url=`https://oauth2.iobroker.in/${n.schema.identifier}?redirect=true`,n.schema.scope&&(this.url+=`&scope=${encodeURIComponent(n.schema.scope)}`),this.oid=`${this.props.oContext.adapterName}.${this.props.oContext.instance}.${this.props.schema.saveTokenIn||"oauth2Tokens"}`}async componentDidMount(){super.componentDidMount(),window.addEventListener?window.addEventListener("message",this.onMessage,!1):window.attachEvent("onmessage",this.onMessage,!1),await this.props.oContext.socket.subscribeState(this.oid,this.onTokensUpdated);const n=await this.props.oContext.socket.getState(this.oid);if(n){const i=JSON.parse(n.val);new Date(i.access_token_expires_on).getTime()>Date.now()&&this.setState({accessTokens:n.val})}}onTokensUpdated=(n,i)=>{if(i!=null&&i.val){const u=JSON.parse(i.val);if(new Date(u.access_token_expires_on).getTime()>Date.now()){this.state.accessTokens!==i.val&&this.setState({accessTokens:i.val});return}}this.setState({accessTokens:""})};componentWillUnmount(){super.componentWillUnmount(),window.removeEventListener?window.removeEventListener("message",this.onMessage,!1):window.detachEvent("onmessage",this.onMessage,!1),this.props.oContext.socket.unsubscribeState(this.oid,this.onTokensUpdated)}saveToken(n){try{n&&!n.startsWith("{")&&(n=atob(n));const i=JSON.parse(n);i.access_token&&i.refresh_token&&i.expires_in&&(i.access_token_expires_on||=new Date(Date.now()+i.expires_in*1e3).toISOString(),this.props.oContext.socket.setState(this.oid,JSON.stringify(i),!0).catch(u=>console.log(`Error occurred: ${u.toString()}`)))}catch(i){console.warn(i)}}onMessage=n=>{var i,u,v;if(n.origin==="https://oauth2.iobroker.in"&&(typeof n.data=="string"&&n.data.startsWith(`${this.props.schema.identifier}-authentication:`)||typeof n.message=="string"&&n.message.startsWith(`${this.props.schema.identifier}-authentication:`))){const o=(n.data||n.message).split(":");o[1]==="success"?(this.setState({accessTokens:o[2],success:!0,pressed:!1},()=>this.saveToken(this.state.accessTokens)),(i=this.authWindow)==null||i.postMessage("close",n.origin),this.authWindow=null):(v=(u=this.props).onError)==null||v.call(u,o[2])}};onOpenUrl(){this.authWindow=window.open(this.url,this.props.schema.identifier),!this.authWindow||this.authWindow.closed||typeof this.authWindow.closed>"u"?this.setState({blocked:!0}):this.setState({pressed:!0})}renderItem(){let n="";if(this.state.accessTokens)try{const v=JSON.parse(this.state.accessTokens);n=new Date(v.access_token_expires_on).toLocaleString()}catch{}let i;this.state.accessTokens?i=this.props.schema.refreshLabel?this.getText(this.props.schema.refreshLabel):j.I18n.t("ra_Renew %s access",this.props.schema.identifier[0].toUpperCase()+this.props.schema.identifier.slice(1)):i=this.props.schema.label?this.getText(this.props.schema.label):j.I18n.t("ra_Get %s access",this.props.schema.identifier[0].toUpperCase()+this.props.schema.identifier.slice(1));const u=this.getIcon();return k.createElement("div",{style:{width:"100%",margin:"0 0 1rem 0"}},k.createElement(N.Button,{disabled:this.state.running,endIcon:u||k.createElement(Z.CloudUpload,null),variant:"contained",onClick:()=>this.onOpenUrl()},i),this.state.blocked?k.createElement("div",{style:{color:"red",fontSize:16,marginTop:20}},j.I18n.t("ra_Please allow popups in your browser for this page!")):null,this.state.accessTokens?k.createElement("div",{style:{color:"green",fontSize:16,marginTop:20}},this.props.alive?j.I18n.t("ra_Successfully authorized. Token valid till %s and will be automatically renewed.",n):j.I18n.t("ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.",n)):null,this.state.pressed?k.createElement(k.Fragment,null,k.createElement("div",{style:{width:"100%",margin:"1rem 0 1rem 0"}},k.createElement("span",{style:{marginRight:4}},`${j.I18n.t("ra_If the button above does not work, you can authorize manually this app by visiting this url")}`,":"),k.createElement("br",null),k.createElement("a",{target:this.props.schema.identifier,href:this.url,rel:"noreferrer"},this.url)),k.createElement(N.TextField,{value:this.state.accessTokens,label:j.I18n.t("ra_Enter the code from that page here"),variant:"standard",onChange:v=>{let o=v.target.value;o&&!o.startsWith("{")&&(o=atob(o));try{const h=JSON.parse(o);h.access_token&&(h.access_token_expires_on=new Date(Date.now()+(h.expires_in-10)*1e3).toISOString(),this.setState({accessTokens:JSON.stringify(h)},()=>this.saveToken(this.state.accessTokens)))}catch{}},fullWidth:!0})):null)}}const $i={flex:{display:"flex"},button:{height:48,marginLeft:4,minWidth:48}};class Wa extends K{componentDidMount(){super.componentDidMount();const{data:n,attr:i}=this.props,u=K.getValue(n,i)||"";this.setState({value:u,initialized:!0})}renderItem(n,i){if(!this.state.initialized)return null;const u=this.props.oContext.socket,{schema:v,attr:o}=this.props,{value:h,showSelectId:d}=this.state;return k.createElement(N.FormControl,{fullWidth:!0,variant:"standard"},v.label?k.createElement(N.InputLabel,{shrink:!0},this.getText(v.label)):null,k.createElement("div",{style:$i.flex},k.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:h,error:!!n,disabled:i,placeholder:this.getText(v.placeholder),label:this.getText(v.label),helperText:this.renderHelp(v.help,v.helpLink,v.noTranslation),onChange:s=>{const p=s.target.value;this.setState({value:p},()=>this.onChange(o,p))}}),k.createElement(N.Button,{color:"grey",disabled:i,style:$i.button,size:"small",variant:"outlined",onClick:()=>this.setState({showSelectId:!0})},"...")),d?k.createElement(j.DialogSelectID,{imagePrefix:this.props.oContext.imagePrefix===void 0?"../..":this.props.oContext.imagePrefix,dialogName:`admin.${this.props.oContext.adapterName}`,filterFunc:v.filterFunc,themeType:this.props.oContext.themeType,theme:this.props.oContext.theme,types:v.types?Array.isArray(v.types)?v.types:[v.types]:void 0,customFilter:v.customFilter,filters:v.filters,socket:u,selected:h,root:v.root,onClose:()=>this.setState({showSelectId:!1}),onOk:s=>this.setState({showSelectId:!1,value:s},()=>this.onChange(o,s))}):null)}}const On={fullWidth:{width:"100%",display:"inline-block"},halfWidth1:{width:"calc(50% - 5px)",display:"inline-block",marginRight:8},halfWidth2:{width:"calc(50% - 5px)",display:"inline-block"}},an="____ppp____";class Ha extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({_repeat:n?an:"",_visible:!1,value:n?an:"",_notEqual:!1})}onChangePassword(n,i){n===void 0&&(n=this.state.value),i===void 0&&(i=this.state._repeat);const u=!!this.props.schema.repeat&&i!==n;this.setState({value:n,_repeat:i,_notEqual:u},()=>{if(u)this.onError(this.props.attr,j.I18n.t("ra_Passwords are not equal!"));else{this.onError(this.props.attr);const v=this.onChange(this.props.attr,n);v instanceof Promise&&v.catch(o=>this.onError(this.props.attr,o))}})}renderItem(n,i){if(this.state._notEqual===void 0)return null;const u=k.createElement(N.TextField,{variant:"standard",fullWidth:!0,type:this.state._visible&&this.state.value!==an?"text":"password",value:this.state.value,error:!!n||this.state._notEqual,disabled:!!i,onChange:v=>this.onChangePassword(v.target.value),label:this.getText(this.props.schema.label),slotProps:{input:{autoComplete:"new-password",endAdornment:this.state.value&&this.state.value!==an&&this.props.schema.visible&&!i&&!this.props.schema.readOnly?k.createElement(N.InputAdornment,{position:"end"},k.createElement(N.IconButton,{size:"large",tabIndex:-1,onClick:v=>{v.preventDefault(),v.stopPropagation(),this.setState({_visible:!this.state._visible})},edge:"end"},this.state._visible?k.createElement(Z.VisibilityOff,null):k.createElement(Z.Visibility,null))):void 0},htmlInput:{autoComplete:"new-password",form:{autoComplete:"off"},maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:this.props.schema.readOnly||!1}},helperText:this.state._notEqual?j.I18n.t("ra_Passwords are not equal!"):this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)});if(this.props.schema.repeat&&!this.props.schema.readOnly){const v=this.state._visible?null:k.createElement(N.TextField,{variant:"standard",fullWidth:!0,type:"password",value:this.state._repeat,error:!!n||this.state._notEqual,disabled:!!i,onChange:o=>this.onChangePassword(void 0,o.target.value),label:`${this.getText(this.props.schema.label)} (${j.I18n.t("ra_repeat")})`,slotProps:{input:{autoComplete:"new-password"},htmlInput:{autoComplete:"new-password",form:{autoComplete:"off"},maxLength:this.props.schema.maxLength||this.props.schema.max||void 0}},helperText:this.state._notEqual?j.I18n.t("ra_Passwords are not equal!"):this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)});return k.createElement("div",{style:On.fullWidth},k.createElement("div",{style:On.halfWidth1},u),k.createElement("div",{style:On.halfWidth2},v))}return u}}class za extends K{renderItem(n,i){return k.createElement(N.TextField,{variant:"standard",fullWidth:!0,disabled:!!i,slotProps:{input:{endAdornment:this.props.schema.copyToClipboard?k.createElement(N.IconButton,{tabIndex:-1,size:"small",onClick:()=>{j.Utils.copyToClipboard(this.getPattern(this.props.schema.pattern,null,this.props.schema.noTranslation)),window.alert(j.I18n.t("ra_Copied"))}},k.createElement(j.IconCopy,null)):void 0}},value:this.getPattern(this.props.schema.pattern,null,!0),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}const ja={warning:{"& .Mui-error":{color:"orange"}}};class Va extends K{updateTimeout;async componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr);n==null&&(n=""),this.setState({_value:n.toString(),oldValue:n.toString()});const i=await this.props.oContext.socket.getAdapterInstances(),u=`system.adapter.${this.props.oContext.adapterName}.${this.props.oContext.instance}`,v=await this.props.oContext.socket.getObject(u),o=v==null?void 0:v.common.host,h=[];i.forEach(d=>{var p,e,t,r;if(!d||d._id===u||d.common.host!==o||!((p=d.native)!=null&&p.bind))return;if(d!=null&&d.native&&d.native.secure&&d.native.leEnabled&&d.native.leUpdate){const l=parseInt(d.native.leCheckPort||d.native.lePort,10);l&&h.push({name:`${d._id.replace("system.adapter.","")} (LE)`,port:l,v6bind:d.native.bind.includes(":")?d.native.bind:d.native.v6bind,bind:d.native.bind,enabled:!!((e=d.common)!=null&&e.enabled)})}const s=parseInt((t=d==null?void 0:d.native)==null?void 0:t.port,10);s&&h.push({name:d._id.replace("system.adapter.",""),bind:d.native.bind,v6bind:d.native.bind.includes(":")?d.native.bind:d.native.v6bind,port:s,enabled:!!((r=d.common)!=null&&r.enabled)})}),this.setState({ports:h})}static getDerivedStateFromProps(n,i){const u=K.getValue(n.data,n.attr);return u==null||i.oldValue===null||i.oldValue===void 0||u.toString()!==parseInt(i._value,10).toString()&&u.toString()!==i.oldValue.toString()?{_value:u}:null}checkValue(n){if(n==null)return null;const i=this.props.schema.min===void 0?20:this.props.schema.min,u=this.props.schema.max||65535;n=n.toString().trim();const v=n===""?0:parseInt(n,10);return n!==""&&Number.isNaN(v)?"ra_Not a number":n!==""&&window.isFinite(Number(n))?vu?"ra_Too big":n===""||n==="-"||Number.isNaN(v)?"ra_Not a number":null:"ra_Not a number"}renderItem(n,i){this.state.oldValue!==null&&this.state.oldValue!==void 0?(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=void 0,this.setState({oldValue:null})},30)):this.updateTimeout&&(clearTimeout(this.updateTimeout),this.updateTimeout=void 0);const u=this.props.schema.min===void 0?20:this.props.schema.min,v=this.props.schema.max||65535;let o;if(this.state.ports){const h=parseInt(this.state._value,10);if(h){const d=this.state.ports.filter(p=>!this.props.data.bind||this.props.data.bind===p.bind||this.props.data.bind==="0.0.0.0"||p.bind==="0.0.0.0");let s=d.findIndex(p=>p.port===h&&p.enabled);s!==-1?n=j.I18n.t("ra_Port is already used by %s",this.state.ports[s].name):(s=d.findIndex(p=>p.port===h&&!p.enabled),s!==-1&&(o=!0,n=j.I18n.t("ra_Port could be used by %s",this.state.ports[s].name)))}}return!n&&this.state._value!==null&&this.state._value!==void 0&&(n=this.checkValue(this.state._value),typeof n=="string"&&(n=j.I18n.t(n))),k.createElement(N.TextField,{variant:"standard",type:"number",fullWidth:!0,slotProps:{htmlInput:{min:u,max:v,readOnly:this.props.schema.readOnly||!1}},value:this.state._value===null||this.state._value===void 0?"":this.state._value,error:!!n,disabled:!!i,sx:o?ja.warning:void 0,onChange:h=>{const d=Number(h.target.value.toString().replace(/[^0-9]/g,"")).toString(),s=this.checkValue(d);s?this.onError(this.props.attr,j.I18n.t(s)):this.onError(this.props.attr),this.setState({_value:d,oldValue:this.state._value},()=>{if(d.trim()===parseInt(d,10).toString()){const p=this.onChange(this.props.attr,parseInt(d,10)||0);p instanceof Promise&&p.catch(e=>{console.error(`Cannot set value for ${this.props.attr}: ${e}`)})}})},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:n&&typeof n=="string"?n:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}class Ua extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.props.oContext.socket.getEnums("rooms").then(i=>{const u=Object.keys(i).map(v=>({value:this.props.schema.short?v.replace("enum.rooms.",""):v,label:this.getText(i[v].common.name),obj:i[v]}));this.props.schema.allowDeactivate!==!1&&u.unshift({label:j.I18n.t(K.NONE_LABEL),value:K.NONE_VALUE}),this.setState({value:n,selectOptions:u})}).catch(i=>console.error(`Cannot get enums: ${i}`))}renderItem(n,i){if(!this.state.selectOptions)return null;const u=this.state.selectOptions.find(v=>v.value===this.state.value);return k.createElement(N.FormControl,{variant:"standard",fullWidth:!0},this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:this.state.value||"_",renderValue:()=>u?u.obj?k.createElement(j.TextWithIcon,{value:u.obj,themeType:this.props.oContext.themeType,lang:j.I18n.getLanguage()}):u.label:"",onChange:v=>{this.setState({value:v.target.value==="_"?"":v.target.value},()=>this.onChange(this.props.attr,this.state.value))}},this.state.selectOptions.map(v=>k.createElement(N.MenuItem,{key:v.value,value:v.value,style:v.value===K.DIFFERENT_VALUE?{opacity:.5}:{}},v.obj?k.createElement(j.TextWithIcon,{value:v.obj,themeType:this.props.oContext.themeType,lang:j.I18n.getLanguage()}):v.label))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Ga={noMargin:{"&>div":{marginTop:0}}};class Ka extends K{initialValue="";componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr);this.props.schema.multiple&&(typeof n=="string"?n=[n]:n==null&&(n=[]));const i=[];(this.props.schema.options||[]).forEach(u=>{const v=u;Array.isArray(v.items)?(i.push({label:this.getText(u.label,this.props.schema.noTranslation),value:u.value,group:!0}),v.items.forEach(o=>i.push({label:this.getText(o.label,this.props.schema.noTranslation),value:o.value,hidden:o.hidden}))):i.push({label:this.getText(u.label,this.props.schema.noTranslation),value:u.value,hidden:u.hidden})}),Array.isArray(n)&&!this.props.schema.multiple?(this.initialValue=[...n],i.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),this.setState({value:K.DIFFERENT_VALUE,selectOptions:i})):this.setState({value:n,selectOptions:i})}_getValue(){let n=this.state.value===null||this.state.value===void 0?K.getValue(this.props.data,this.props.attr):this.state.value;return this.props.schema.multiple&&(typeof n=="string"?n=[n]:n==null&&(n=[])),n}renderItem(n,i){if(!this.state.selectOptions)return null;const u=(this.state.selectOptions||[]).filter(h=>h.hidden?this.props.custom?!this.executeCustom(h.hidden,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!this.execute(h.hidden,this.props.schema.default,this.props.data,this.props.arrayIndex,this.props.globalData):!0),v=this._getValue(),o=this.props.schema.multiple?null:u.find(h=>h.value==v);return k.createElement(N.FormControl,{variant:"standard",fullWidth:!0,sx:this.props.table!==void 0&&Ga.noMargin,id:`jsonSelect_${this.props.attr}_${this.props.index||this.props.index===0?this.props.index:""}`},this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,multiple:this.props.schema.multiple,disabled:!!i,value:v||"_",renderValue:h=>this.props.schema.multiple?k.createElement(N.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5}},h.map(d=>{const s=u.find(p=>p.value===d);if(s||this.props.schema.showAllValues!==!1){const p=(s==null?void 0:s.label)||d;return k.createElement(N.Chip,{key:d,label:p})}return null})):(o==null?void 0:o.label)===void 0?h:o.label,onChange:h=>{this.setState({value:h.target.value==="_"?"":h.target.value},()=>{let d;this.state.value===K.DIFFERENT_VALUE?d=this.onChange(this.props.attr,this.initialValue):d=this.onChange(this.props.attr,this.state.value),d instanceof Promise&&d.catch(s=>console.error(s))})}},u.map((h,d)=>h.group?k.createElement(N.ListSubheader,{key:d},h.label):k.createElement(N.MenuItem,{key:d,value:h.value,style:h.value===K.DIFFERENT_VALUE?{opacity:.5}:{}},this.props.schema.multiple?k.createElement(N.Checkbox,{checked:v.includes(h.value),onClick:()=>{const s=JSON.parse(JSON.stringify(this._getValue())),p=v.indexOf(h.value);p!==-1?s.splice(p,1):(s.push(h.value),s.sort()),this.setState({value:s},()=>this.onChange(this.props.attr,s))}}):null,k.createElement(N.ListItemText,{primary:h.label})))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Ja={menuPaper:{maxHeight:800}};class Ya extends K{initialized=!1;localContext;askInstance(){if(this.props.alive){let n=this.props.schema.data;if(n===void 0&&this.props.schema.jsonData){const i=this.getPattern(this.props.schema.jsonData,null,!0);try{n=JSON.parse(i)}catch{console.error(`Cannot parse json data: ${i}`)}}n===void 0&&(n=null),this.setState({running:!0},()=>{this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",n).then(i=>this.setState({list:i,running:!1})).catch(i=>{console.error(`Cannot send command: ${i}`)})})}else{const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n,running:!1})}}getContext(){const n={};return Array.isArray(this.props.schema.alsoDependsOn)&&this.props.schema.alsoDependsOn.forEach(i=>n[i]=K.getValue(this.props.data,i)),JSON.stringify(n)}_getValue(){let n=this.state.value===null||this.state.value===void 0?K.getValue(this.props.data,this.props.attr):this.state.value;return this.props.schema.multiple&&(typeof n=="string"?n=[n]:n==null&&(n=[])),n}renderItem(n,i){var h;if(this.props.alive){const d=this.getContext();(d!==this.localContext||!this.initialized)&&(this.localContext=d,setTimeout(()=>this.askInstance(),this.initialized?300:50),this.initialized=!0)}const u=this._getValue();if(!this.props.alive||!this.state.running&&!((h=this.state.list)!=null&&h.length))return this.props.schema.multiple||this.props.schema.manual===!1?j.I18n.t("ra_Cannot retrieve options, as instance is offline"):k.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:u,error:!!n,disabled:!!i,onChange:d=>{const s=d.target.value;this.setState({value:s},()=>this.onChange(this.props.attr,(s||"").trim()))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),slotProps:{input:{endAdornment:this.state.value&&!this.props.schema.noClearButton?k.createElement(N.InputAdornment,{position:"end"},k.createElement(N.IconButton,{tabIndex:-1,size:"small",onClick:()=>this.setState({value:""},()=>this.onChange(this.props.attr,""))},k.createElement(Z.Close,null))):null}}});if(this.state.running)return k.createElement(N.CircularProgress,{size:"24"});const v=this.state.list.filter(d=>d.hidden?this.props.custom?!this.executeCustom(d.hidden,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.arrayIndex,this.props.globalData):!this.execute(d.hidden,this.props.schema.default,this.props.data,this.props.arrayIndex,this.props.globalData):!0),o=v.find(d=>d.value===u);return k.createElement(N.FormControl,{variant:"standard",fullWidth:!0},this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,k.createElement(N.Select,{variant:"standard",error:!!n,multiple:this.props.schema.multiple,disabled:!!i,sx:{"&.MuiSelect-paper":this.props.schema.multiple?Ja.menuPaper:void 0},value:u,renderValue:d=>this.props.schema.multiple?k.createElement(N.Box,{sx:{display:"flex",flexWrap:"wrap",gap:.5}},d.map(s=>{const p=v.find(e=>e.value===s);if(p||this.props.schema.showAllValues!==!1){const e=(p==null?void 0:p.label)||s;return k.createElement(N.Chip,{key:s,label:e})}return null})):this.getText((o==null?void 0:o.label)||d,this.props.schema.noTranslation),onChange:d=>{const s=this.onChange(this.props.attr,d.target.value);s instanceof Promise&&s.catch(p=>console.error(`Cannot set value: ${p}`))}},v.map((d,s)=>d.group?k.createElement(N.ListSubheader,{key:s},this.getText(d.label,this.props.schema.noTranslation)):k.createElement(N.MenuItem,{key:s,value:d.value},this.props.schema.multiple?k.createElement(N.Checkbox,{checked:u.includes(d.value),onClick:()=>{const p=JSON.parse(JSON.stringify(this._getValue())),e=u.indexOf(d.value);e!==-1?p.splice(e,1):(p.push(d.value),p.sort()),this.setState({value:p},()=>this.onChange(this.props.attr,p))}}):null,k.createElement(N.ListItemText,{primary:d.label})))),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}const Ti={fullWidth:{width:"100%"}};function ut(L){return L.split(".").reduce((n,i)=>(n<<8)+parseInt(i,10),0)>>>0}function Qa(L,n){var v,o;const i=(o=(v=L==null?void 0:L.native)==null?void 0:v.hardware)==null?void 0:o.networkInterfaces;if(!i)return null;let u;return Object.keys(i).forEach(h=>i[h].forEach(d=>{d.internal||n.includes(":")&&d.family!=="IPv6"||n.includes(".")&&!n.match(/[^.\d]/)&&d.family!=="IPv4"||(d.family==="IPv4"&&!d.address.startsWith("172")&&(n==="127.0.0.0"||n==="localhost"||n.match(/[^.\d]/))?u=d.address:u||(d.family==="IPv4"&&n.includes(".")&&(ut(n)&ut(d.netmask),ut(d.address)&ut(d.netmask)),u=d.address))})),u||Object.keys(i).forEach(h=>i[h].forEach(d=>{d.internal||n.includes(":")&&d.family!=="IPv6"||n.includes(".")&&!n.match(/[^.\d]/)&&d.family!=="IPv4"||(d.family==="IPv6"&&(n==="127.0.0.0"||n==="localhost"||n.match(/[^.\d]/))?u=d.address:u||(d.family==="IPv4"&&n.includes(".")&&(ut(n)&ut(d.netmask),ut(d.address)&ut(d.netmask)),u=d.address))})),u||Object.keys(i).forEach(h=>{i[h].forEach(d=>{d.internal||n.includes(":")&&d.family!=="IPv6"||n.includes(".")&&!n.match(/[^.\d]/)&&d.family!=="IPv4"||(n==="127.0.0.0"||n==="localhost"||n.match(/[^.\d]/),u=d.address)})}),u||Object.keys(i).forEach(h=>{i[h].forEach(d=>{d.internal||(u=d.address)})}),u}class _i extends K{async componentDidMount(){var i;super.componentDidMount();let n=window.location.hostname;if(this.props.schema.openUrl){const u=await this.props.oContext.socket.getCurrentInstance(),v=await this.props.oContext.socket.getObject(`system.adapter.${u}`);if(v){const o=await this.props.oContext.socket.getObject(`system.host.${(i=v==null?void 0:v.common)==null?void 0:i.host}`);if(o){const h=Qa(o,window.location.hostname);if(h)n=`${h}:${window.location.port}`;else{console.warn(`Cannot find suitable IP in host ${v.common.host} for ${v._id}`);return}}}}await new Promise(u=>{this.setState({_error:"",_message:"",hostname:n},u)}),this.props.schema.onLoaded&&this._onClick()}renderErrorDialog(){return this.state._error?k.createElement(j.DialogError,{text:this.state._error,onClose:()=>this.setState({_error:""})}):null}renderMessageDialog(){return this.state._message?k.createElement(j.DialogMessage,{text:this.state._message,onClose:()=>this.setState({_message:""})}):null}_onClick(){this.props.oContext.onCommandRunning(!0),this.setState({running:!0});const n=`${window.location.protocol}//${window.location.host}${window.location.pathname.replace(/\/index\.html$/,"")}`,i=`${window.location.protocol}//${this.state.hostname.split(":").length>3?`[${this.state.hostname}]`:this.state.hostname}${window.location.pathname.replace(/\/index\.html$/,"")}`;let u=this.props.schema.data;if(u===void 0&&this.props.schema.jsonData){const o=this.getPattern(this.props.schema.jsonData,{_origin:n,_originIp:i,...this.props.data},!0);try{u=JSON.parse(o)}catch{console.error(`Cannot parse json data: ${o}`)}}u===void 0&&(u=null),this.props.schema.openUrl&&!u&&(u={_origin:n,_originIp:i});let v;this.props.schema.timeout&&(v=setTimeout(()=>{this.props.oContext.onCommandRunning(!1),this.setState({_error:j.I18n.t("ra_Request timed out"),running:!1})},parseInt(this.props.schema.timeout,10)||1e4)),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",u).then(async o=>{if(v&&(clearTimeout(v),v=void 0),o!=null&&o.error)if(this.props.schema.error&&this.props.schema.error[o.error]){let h=this.getText(this.props.schema.error[o.error]);o.args&&o.args.forEach(d=>h=h.replace("%s",d)),this.setState({_error:h})}else this.setState({_error:o.error?j.I18n.t(o.error):j.I18n.t("ra_Error")});else{if(o!=null&&o.command){this.props.oContext.onBackEndCommand&&this.props.oContext.onBackEndCommand(o.command);return}if(o!=null&&o.reloadBrowser&&this.props.schema.reloadBrowser)window.location.reload();else if(o!=null&&o.openUrl&&this.props.schema.openUrl)window.open(o.openUrl,o.window||this.props.schema.window||"_blank");else if(o!=null&&o.result&&this.props.schema.result&&this.props.schema.result[o.result]){let h=this.getText(this.props.schema.result[o.result]);o.args&&o.args.forEach(d=>h=h.replace("%s",d)),window.alert(h)}if(o!=null&&o.native&&this.props.schema.useNative){for(const[h,d]of Object.entries(o.native))await this.onChangeAsync(h,d);setTimeout(()=>this.props.oContext.forceUpdate(Object.keys(o.native),this.props.data),300)}else o!=null&&o.result?window.alert(typeof o.result=="object"?JSON.stringify(o.result):o.result):window.alert(j.I18n.t("ra_Ok"));o!=null&&o.saveConfig&&this.props.onChange(null,null,null,!0)}}).catch(o=>{this.props.schema.error&&this.props.schema.error[o.toString()]?this.setState({_error:this.getText(this.props.schema.error[o.toString()])}):this.setState({_error:j.I18n.t(o.toString())||j.I18n.t("ra_Error")})}).then(()=>{this.props.oContext.onCommandRunning(!1),this.setState({running:!1})})}renderDialogConfirm(){if(!this.state.confirmDialog)return null;const n=this.state.confirmData||this.props.schema.confirm;let i=null;return n.type==="warning"?i=k.createElement(Z.Warning,null):n.type==="error"?i=k.createElement(Z.Error,null):n.type==="info"&&(i=k.createElement(Z.Info,null)),k.createElement(j.DialogConfirm,{title:this.getText(n.title)||j.I18n.t("ra_Please confirm"),text:this.getText(n.text),ok:this.getText(n.ok)||j.I18n.t("ra_Ok"),cancel:this.getText(n.cancel)||j.I18n.t("ra_Cancel"),icon:i||void 0,onClose:u=>this.setState({confirmDialog:!1},()=>u&&this._onClick())})}renderItem(n,i){const u=this.getIcon();return k.createElement("div",{style:Ti.fullWidth},k.createElement(N.Button,{variant:this.props.schema.variant||void 0,color:this.props.schema.color||"grey",style:{...Ti.fullWidth,...this.props.schema.controlStyle||void 0},disabled:i||!this.props.alive,startIcon:u,title:this.props.alive?this.getText(this.props.schema.title)||"":j.I18n.t("ra_Instance is not alive"),onClick:()=>{this.props.schema.confirm?this.setState({confirmDialog:!0}):this._onClick()}},this.props.schema.showProcess&&this.state.running?k.createElement(N.CircularProgress,{size:20,style:{marginRight:8}}):null,this.getText(this.props.schema.label,this.props.schema.noTranslation)),this.renderErrorDialog(),this.renderMessageDialog())}}const Xa={fullWidth:{width:"100%"}};class Za extends K{async _onClick(){var u,v;let n=this.props.schema.val;if(typeof n=="string"&&n.includes("${")){n=this.getPattern(n,null,!0);const o=await this.props.oContext.socket.getObject(this.props.schema.id);((u=o==null?void 0:o.common)==null?void 0:u.type)==="number"?n=parseFloat(n):((v=o==null?void 0:o.common)==null?void 0:v.type)==="boolean"&&(n=n==="true"||n===!0||n==="1"||n===1)}const i=(this.props.schema.id||"").replace(/%INSTANCE%/g,(this.props.oContext.instance||0).toString());try{await this.props.oContext.socket.setState(i,{val:n,ack:!!this.props.schema.ack}),this.props.schema.okText&&window.alert(this.getText(this.props.schema.okText))}catch(o){this.props.schema.error&&this.props.schema.error[o.toString()]?window.alert(this.getText(this.props.schema.error[o.toString()])):window.alert(j.I18n.t(o.toString())||j.I18n.t("ra_Error"))}}renderDialogConfirm(){if(!this.state.confirmDialog)return null;const n=this.state.confirmData||this.props.schema.confirm;let i=null;return n.type==="warning"?i=k.createElement(Z.Warning,null):n.type==="error"?i=k.createElement(Z.Error,null):n.type==="info"&&(i=k.createElement(Z.Info,null)),k.createElement(j.DialogConfirm,{title:this.getText(n.title)||j.I18n.t("ra_Please confirm"),text:this.getText(n.text),ok:this.getText(n.ok)||j.I18n.t("ra_Ok"),cancel:this.getText(n.cancel)||j.I18n.t("ra_Cancel"),icon:i,onClose:u=>this.setState({confirmDialog:!1},()=>u&&this._onClick())})}renderItem(n,i){const u=this.getIcon();return k.createElement(N.Button,{variant:this.props.schema.variant||void 0,color:this.props.schema.color||"grey",style:Xa.fullWidth,disabled:i,onClick:async()=>{this.props.schema.confirm?this.setState({confirmDialog:!0}):await this._onClick()},startIcon:u||void 0},this.getText(this.props.schema.label,this.props.schema.noTranslation))}}const ki={fullWidth:{width:"100%"},slider:{marginLeft:10,marginRight:10,width:"calc(100% - 20px)"}};class qa extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({_value:n})}static getDerivedStateFromProps(n,i){if(n.schema.min!==void 0&&n.schema.min<0||n.schema.max!==void 0&&n.schema.max<0)return null;const u=K.getValue(n.data,n.attr);return u==null||u.toString()!==parseFloat(i._value).toString()?{_value:u}:null}renderItem(n,i){const u=this.props.schema.min||0,v=this.props.schema.max||100,o=this.props.schema.unit?this.getText(this.props.schema.unit,this.props.schema.noTranslation):"",h=[{value:u,label:u+o},{value:v,label:v+o}];return k.createElement(N.Box,{style:ki.fullWidth},this.props.schema.label?k.createElement(N.Typography,{gutterBottom:!0},this.getText(this.props.schema.label)):null,k.createElement(N.Slider,{style:ki.slider,value:this.state._value,getAriaValueText:d=>d+o,step:this.props.schema.step||(v-u)/100,valueLabelDisplay:"auto",marks:h,min:u,max:v,disabled:!!i,onChange:d=>{const s=d.target.value;this.setState({_value:s},()=>this.onChange(this.props.attr,s))}}),this.props.schema.help?k.createElement(N.Typography,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}function ht(L,n){return L==="edit"||L==="rename"?k.createElement(Z.Edit,{style:n}):L==="delete"?k.createElement(Z.Delete,{style:n}):L==="refresh"?k.createElement(Z.Refresh,{style:n}):L==="newDevice"||L==="new"||L==="add"?k.createElement(Z.Add,{style:n}):L==="discover"||L==="search"?k.createElement(Z.Search,{style:n}):L==="unpairDevice"||L==="unpair"?k.createElement(Z.LinkOff,{style:n}):L==="pairDevice"||L==="pair"?k.createElement(Z.Link,{style:n}):L==="identify"?k.createElement(Z.NotListedLocation,{style:n}):L==="play"?k.createElement(Z.PlayArrow,{style:n}):L==="stop"?k.createElement(Z.Stop,{style:n}):L==="pause"?k.createElement(Z.Pause,{style:n}):L==="forward"||L==="next"?k.createElement(Z.FastForward,{style:n}):L==="rewind"||L==="previous"?k.createElement(Z.FastRewind,{style:n}):L==="lamp"||L==="light"?k.createElement(Z.Lightbulb,{style:n}):L==="backlight"?k.createElement(Z.Fluorescent,{style:n}):L==="dimmer"?k.createElement(Z.WbIncandescent,{style:n}):L==="socket"?k.createElement(Z.Power,{style:n}):L==="settings"?k.createElement(Z.Settings,{style:n}):L==="users"||L==="group"?k.createElement(Z.Group,{style:n}):L==="user"?k.createElement(Z.Person,{style:n}):L==="qrcode"?k.createElement(Z.QrCode,{style:n}):L==="connection"?k.createElement(Z.Wifi,{style:n}):L==="no-connection"?k.createElement(Z.WifiOff,{style:n}):L==="visible"?k.createElement(Z.Visibility,{style:n}):null}function el(L,n){return typeof n=="string"?{"@keyframes newStateAnimationOnceColor":{"0%":{color:n},"100%":{color:L.palette.mode==="dark"?"#fff":"#000"}},animation:"newStateAnimationOnceColor 2s ease-in-out"}:{"@keyframes newStateAnimationOnce":{"0%":{color:"#00f900"},"80%":{color:L.palette.mode==="dark"?"#518851":"#008000"},"100%":{color:L.palette.mode==="dark"?"#fff":"#000"}},animation:"newStateAnimationOnce 2s ease-in-out"}}class tl extends K{controlTimeout=null;delayedUpdate={timer:null,value:null};getObjectID(){let n=this.props.schema.oid;return n.includes("${")&&(n=this.getPattern(n,null,!0)),this.props.schema.foreign?n:`${this.props.schema.system?"system.adapter.":""}${this.props.oContext.adapterName}.${this.props.oContext.instance||0}.${n}`}async componentDidMount(){super.componentDidMount();const n=await this.props.oContext.socket.getObject(this.getObjectID()),i=this.props.schema.control||this.detectType(n);try{const u=await this.props.oContext.socket.getState(this.getObjectID());this.setState({stateValue:u?u.val:null,controlType:i,obj:n},async()=>{await this.props.oContext.socket.subscribeState(this.getObjectID(),this.onStateChanged)})}catch(u){console.error(`Cannot get state ${this.getObjectID()}: ${u}`),this.setState({controlType:i,obj:n})}}componentWillUnmount(){super.componentWillUnmount(),this.props.oContext.socket.unsubscribeState(this.getObjectID(),this.onStateChanged),this.delayedUpdate.timer&&(clearTimeout(this.delayedUpdate.timer),this.delayedUpdate.timer=null),this.controlTimeout&&(clearTimeout(this.controlTimeout),this.controlTimeout=null,this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1).catch(n=>console.error(`Cannot control value: ${n.toString()}`)))}onStateChanged=(n,i)=>{let u=i?i.val:null;this.state.controlType==="button"||this.state.controlType==="switch"?(u=!!u,this.state.stateValue!==u&&this.setState({stateValue:u})):u!==null&&(this.state.controlType==="slider"||this.state.controlType==="number")?(u=parseFloat(u),console.log(`${Date.now()} Received new value: ${u}`),u!==this.state.stateValue?(this.delayedUpdate.timer&&(clearTimeout(this.delayedUpdate.timer),this.delayedUpdate.timer=null),this.delayedUpdate.value=u,this.delayedUpdate.timer=setTimeout(()=>{this.setState({stateValue:this.delayedUpdate.value})},500)):this.delayedUpdate.timer&&(clearTimeout(this.delayedUpdate.timer),this.delayedUpdate.timer=null)):this.state.stateValue.toString()!==u.toString()&&this.setState({stateValue:u})};detectType(n){if(n=n||{},n.common=n.common||{},n.common.type==="boolean"){if(this.props.schema.controlled!==!1){if(n.common.read===!1||this.props.schema.controlled===!0)return"button";if(n.common.write||this.props.schema.controlled===!0)return"switch"}return"text"}return n.common.type==="number"&&this.props.schema.controlled!==!1?n.common.write||this.props.schema.controlled===!0?n.common.max!==void 0?"slider":"input":"text":n.common.write&&this.props.schema.controlled!==!1?"input":"text"}renderItem(n,i){var v,o,h,d,s;if(!this.state.obj)return null;let u;if(this.state.controlType==="button"||!this.state.controlType&&this.state.obj.common.type==="boolean"&&(this.state.obj.common.write&&this.state.obj.common.read===!1||(v=this.state.obj.common.role)!=null&&v.includes("button"))){let p=null;this.props.schema.falseImage&&(p=ht(this.props.schema.falseImage));const e=this.getText(this.props.schema.falseText||this.props.schema.label,this.props.schema.noTranslation);!e&&p?u=k.createElement(N.IconButton,{style:this.props.schema.falseTextStyle,disabled:!!this.props.schema.readOnly,onClick:async()=>{this.props.schema.confirm?this.setState({confirmDialog:!0,confirmCallback:async t=>{t&&await this.props.oContext.socket.setState(this.getObjectID(),this.props.schema.buttonValue!==void 0?this.props.schema.buttonValue:!0,!1)}}):await this.props.oContext.socket.setState(this.getObjectID(),this.props.schema.buttonValue!==void 0?this.props.schema.buttonValue:!0,!1)}},p):u=k.createElement(N.Button,{variant:this.props.schema.variant||"contained",startIcon:p,style:this.props.schema.falseTextStyle,disabled:i||!!this.props.schema.readOnly,onClick:async()=>{this.props.schema.confirm?this.setState({confirmDialog:!0,confirmCallback:async t=>{t&&await this.props.oContext.socket.setState(this.getObjectID(),this.props.schema.buttonValue!==void 0?this.props.schema.buttonValue:!0,!1)}}):await this.props.oContext.socket.setState(this.getObjectID(),this.props.schema.buttonValue!==void 0?this.props.schema.buttonValue:!0,!1)}},e||this.getObjectID().split(".").pop())}else if(this.state.controlType==="input"||!this.state.controlType&&this.state.obj.common.write&&this.state.obj.common.type==="string")u=k.createElement("div",{style:{width:"100%",display:"flex",flexDirection:"row",gap:8,alignItems:"baseline"}},k.createElement(N.TextField,{style:{flex:1},value:this.state.stateValue,variant:"standard",slotProps:{input:{endAdornment:this.getText(this.props.schema.unit,this.props.schema.noTranslation)||this.state.obj.common.unit||void 0},htmlInput:{readOnly:!!this.props.schema.readOnly}},onKeyUp:p=>{this.props.schema.setOnEnterKey&&p.key==="Enter"&&this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1)},onChange:p=>{this.setState({stateValue:p.target.value},()=>{this.props.schema.setOnEnterKey||this.props.schema.showEnterButton||(this.controlTimeout&&clearTimeout(this.controlTimeout),this.controlTimeout=setTimeout(async()=>{this.controlTimeout=null,await this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1)},this.props.schema.controlDelay||0))})},label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}),this.props.schema.showEnterButton&&k.createElement(N.Button,{variant:"outlined",onClick:()=>{this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1)}},this.getText(typeof this.props.schema.showEnterButton=="string"?this.props.schema.showEnterButton:"Set")));else{let p;this.props.schema.size==="normal"?p=16:this.props.schema.size==="large"?p=20:typeof this.props.schema.size=="number"&&(p=this.props.schema.size);let e=this.getText(this.props.schema.label,this.props.schema.noTranslation);const t={display:"flex",alignItems:"center",fontSize:p||"1rem",gap:8};this.props.schema.narrow||(t.width="100%",t.justifyContent="space-between"),e.trim()&&!e.trim().endsWith(":")&&this.props.schema.addColon&&(e=`${e.trim()}:`);let r;this.props.schema.blinkOnUpdate&&(r=el(this.props.oContext.theme,this.props.schema.blinkOnUpdate));let l;this.props.schema.labelIcon&&(l=k.createElement(j.Icon,{src:this.props.schema.labelIcon,style:{marginRight:4}}));let a;if(e&&l?a=k.createElement("div",{style:{whiteSpace:"nowrap"}},l,e):e?a=k.createElement("div",{style:{whiteSpace:"nowrap"}},e):l&&(a=l),this.state.controlType==="switch"||!this.state.controlType&&this.state.obj.common.type==="boolean"&&(this.state.obj.common.write&&this.state.obj.common.read!==!1||(o=this.state.obj.common.role)!=null&&o.includes("switch"))){let c=null;const f=this.getText(this.props.schema.falseText,this.props.schema.noTranslation);this.props.schema.falseImage&&(c=ht(this.props.schema.falseImage,f?{marginLeft:8}:void 0));let m=null;const y=this.getText(this.props.schema.trueText,this.props.schema.noTranslation);this.props.schema.trueImage&&(m=ht(this.props.schema.trueImage,y?{marginRight:8}:void 0)),u=k.createElement(N.Switch,{checked:!!this.state.stateValue,disabled:!!this.props.schema.readOnly,onChange:async()=>{this.props.schema.confirm?this.setState({confirmDialog:!0,confirmCallback:async D=>{D&&await this.props.oContext.socket.setState(this.getObjectID(),!this.state.stateValue,!1)}}):await this.props.oContext.socket.setState(this.getObjectID(),!this.state.stateValue,!1)}}),(f||c||y||m)&&(u=k.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:14}},k.createElement("span",{style:this.props.schema.falseTextStyle},f,c),u,k.createElement("span",{style:this.props.schema.trueTextStyle},m,y))),a&&(u=k.createElement("div",{style:t},a,u))}else if(this.state.controlType==="slider"||!this.state.controlType&&this.state.obj.common.type==="number"&&(this.state.obj.common.write&&(this.state.obj.common.max!==void 0||this.state.obj.common.unit==="%")||(h=this.state.obj.common.role)!=null&&h.includes("slider")||(d=this.state.obj.common.role)!=null&&d.includes("dimmer")||(s=this.state.obj.common.role)!=null&&s.includes("blind"))){let c=null;const f=this.getText(this.props.schema.falseText,this.props.schema.noTranslation);this.props.schema.falseImage&&(c=ht(this.props.schema.falseImage,f?{marginLeft:8}:void 0));let m=null;const y=this.getText(this.props.schema.trueText,this.props.schema.noTranslation);this.props.schema.trueImage&&(m=ht(this.props.schema.trueImage,y?{marginRight:8}:void 0));const D=this.props.schema.min===void 0?this.state.obj.common.min||0:this.props.schema.min,E=this.props.schema.max===void 0?this.state.obj.common.max===void 0?100:this.state.obj.common.max:this.props.schema.max,b=this.props.schema.step===void 0?this.state.obj.common.step||1:this.props.schema.step;u=k.createElement(N.Slider,{style:{width:"100%",flexGrow:1},min:D,max:E,disabled:!!this.props.schema.readOnly,step:b,value:this.state.stateValue,valueLabelDisplay:"auto",valueLabelFormat:g=>`${g}${this.getText(this.props.schema.unit,this.props.schema.noTranslation)||this.state.obj.common.unit||""}`,onChange:(g,S)=>{this.setState({stateValue:S},()=>{this.controlTimeout&&clearTimeout(this.controlTimeout),this.controlTimeout=setTimeout(async()=>{console.log(`${Date.now()} Send new value: ${this.state.stateValue}`),this.controlTimeout=null,await this.props.oContext.socket.setState(this.getObjectID(),this.state.stateValue,!1)},this.props.schema.controlDelay||0)})}}),(f||c||y||m)&&(u=k.createElement("div",{style:{display:"flex",width:"100%",flexGrow:1,alignItems:"center"}},k.createElement("span",{style:{marginRight:16,...this.props.schema.falseTextStyle}},f,c),u,k.createElement("span",{style:{marginLeft:16,...this.props.schema.trueTextStyle}},m,y))),a&&(u=k.createElement("div",{style:t},a,u))}else if(this.state.obj.common.type==="number"&&this.state.obj.common.write){const c=this.props.schema.min===void 0?this.state.obj.common.min===void 0?void 0:this.state.obj.common.min:this.props.schema.min,f=this.props.schema.max===void 0?this.state.obj.common.max===void 0?void 0:this.state.obj.common.max:this.props.schema.max,m=this.props.schema.step===void 0?this.state.obj.common.step===void 0?void 0:this.state.obj.common.step:this.props.schema.step;u=k.createElement(N.TextField,{variant:"standard",style:{width:"100%"},value:this.state.stateValue,type:"number",slotProps:{htmlInput:{min:c,max:f,step:m,readOnly:!!this.props.schema.readOnly},input:{endAdornment:this.getText(this.props.schema.unit,this.props.schema.noTranslation)||this.state.obj.common.unit||void 0}},onChange:y=>{this.setState({stateValue:y.target.value},()=>{this.controlTimeout&&clearTimeout(this.controlTimeout),this.controlTimeout=setTimeout(async()=>{this.controlTimeout=null;const D=parseFloat(this.state.stateValue);await this.props.oContext.socket.setState(this.getObjectID(),D,!1)},this.props.schema.controlDelay||0)})},label:this.getText(this.props.schema.label,this.props.schema.noTranslation),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}else if(this.state.obj.common.type==="boolean"){let c=null,f,m;this.state.stateValue?(f=this.getText(this.props.schema.trueText,this.props.schema.noTranslation),this.props.schema.trueImage&&(c=ht(this.props.schema.falseImage,f?{marginRight:8}:void 0)),m=this.props.schema.trueTextStyle):(f=this.getText(this.props.schema.falseText,this.props.schema.noTranslation),this.props.schema.falseImage&&(c=ht(this.props.schema.falseImage,f?{marginLeft:8}:void 0)),m=this.props.schema.falseTextStyle),m=Object.assign(t,m),u=k.createElement("div",{style:m},a,k.createElement(N.Box,{style:{display:"flex",alignItems:"center",gap:8},sx:r,key:this.props.schema.blinkOnUpdate?f:void 0},c,f||(this.state.stateValue?j.I18n.t("ra_true"):j.I18n.t("ra_false"))))}else{const c=this.getText(this.props.schema.unit,this.props.schema.noTranslation)||this.state.obj.common.unit;let f,m;this.state.controlType==="html"?(m=(this.state.stateValue||"").toString(),f=k.createElement("span",{dangerouslySetInnerHTML:{__html:this.state.stateValue}})):this.state.stateValue===null?(f="null",m=f):this.state.stateValue===void 0?(f="undefined",m=f):(f=this.state.stateValue.toString(),m=f),u=k.createElement("div",{style:t},a,k.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:4}},k.createElement(N.Box,{sx:r,key:this.props.schema.blinkOnUpdate?m:void 0},f),c?k.createElement("span",{style:{opacity:.7,fontSize:"smaller"}},c):null))}}return u}}const Nn={fullWidth:L=>({width:"100%",backgroundColor:L.palette.mode==="dark"?"#FFF":"#000",borderStyle:"hidden"}),primary:L=>({backgroundColor:L.palette.primary.main}),secondary:L=>({backgroundColor:L.palette.secondary.main})};class nl extends K{renderItem(){return k.createElement(N.Box,{component:"hr",sx:j.Utils.getStyle(this.props.oContext.theme,Nn.fullWidth,this.props.schema.color==="primary"?Nn.primary:this.props.schema.color==="secondary"?Nn.secondary:{backgroundColor:this.props.schema.color||(this.props.oContext.themeType==="dark"?"#333":"#ddd")},{height:this.props.schema.color?this.props.schema.height||2:this.props.schema.height||1})})}}const il={header:L=>({width:"100%",background:L.palette.primary.main,color:L.palette.primary.contrastText,padding:"4px !important",borderRadius:"3px",marginBlockEnd:0,marginBlockStart:0})};class rl extends K{renderItem(){let n="h5";switch((this.props.schema.size||5).toString()){case"1":n="h1";break;case"2":n="h2";break;case"3":n="h3";break;case"4":n="h4";break;case"5":default:n="h5";break}return k.createElement(N.Box,{component:n,sx:il.header},this.getText(this.props.schema.label||this.props.schema.text,this.props.schema.noTranslation))}}class sl extends K{renderItem(){let n=this.props.schema.src;return n&&!n.startsWith(".")&&!n.startsWith("http")&&!n.startsWith(`adapter/${this.props.oContext.adapterName}/`)&&!n.startsWith(`./adapter/${this.props.oContext.adapterName}/`)&&(n=`adapter/${this.props.oContext.adapterName}/${n}`),k.createElement("img",{src:n,style:{cursor:this.props.schema.href?"pointer":void 0,width:"100%",height:"100%"},onClick:this.props.schema.href?()=>this.props.schema.href&&window.open(this.props.schema.href,"_blank"):null,alt:""})}}function Mi(L,n,i){return typeof i=="string"?{"@keyframes newValueAnimationOnceColor":{"0%":{color:n?`${i} !important`:i},"100%":{color:L.palette.mode==="dark"?n?"#fff !important":"#fff":n?"#000 !important":"#000"}},animation:"newValueAnimationOnceColor 2s ease-in-out"}:{"@keyframes newValueAnimationOnce":{"0%":{color:n?"#00f900 !important":"#00f900"},"80%":{color:L.palette.mode==="dark"?n?"#518851 !important":"#518851":n?"#008000 !important":"#008000"},"100%":{color:L.palette.mode==="dark"?n?"#fff !important":"#fff":n?"#000 !important":"#000"}},animation:"newValueAnimationOnce 2s ease-in-out"}}function Li(L,n){return typeof n=="string"?{"@keyframes blinkAnimationColor":{"0%":{color:n},"100%":{color:L.palette.mode==="dark"?"#fff":"#000"}},animation:"blinkAnimationColor 2s ease-in-out infinite"}:{"@keyframes blinkAnimation":{"0%":{color:"#00f900"},"80%":{color:L.palette.mode==="dark"?"#518851":"#008000"},"100%":{color:L.palette.mode==="dark"?"#fff":"#000"}},animation:"blinkAnimation 2s ease-in-out infinite"}}const Mt={label:{fontWeight:"bold",whiteSpace:"nowrap"},valueImage:{maxHeight:"100%"},valueAndUnit:{display:"flex",gap:4,alignItems:"baseline"},value:{},unit:{fontSize:"smaller",opacity:.7}};class ol extends K{renderItem(n){let i=this.getText(this.props.schema.text||this.props.schema.label,this.props.schema.noTranslation);this.props.schema.addColon&&typeof i=="string"&&!i.trim().endsWith(":")&&(i=`${i.trim()}:`),i&&(i.includes("
")||i.includes(""))&&(i=j.Utils.renderTextWithA(i));let u;this.props.schema.size==="normal"?u=16:this.props.schema.size==="large"?u=20:typeof this.props.schema.size=="number"&&(u=this.props.schema.size);const v={width:"100%",height:"100%",display:"flex",alignItems:"center",position:"relative",fontSize:u};this.props.schema.narrow?v.gap=8:v.justifyContent="space-between";let o,h;this.props.schema.data&&typeof this.props.schema.data=="object"&&this.props.schema.data.en?h=this.getText(this.props.schema.data):typeof this.props.schema.data=="object"||this.props.schema.data===void 0||this.props.schema.data===null?h=JSON.stringify(this.props.schema.data):typeof this.props.schema.data=="number"?(h=this.props.schema.data.toString(),this.props.oContext.isFloatComma&&(h=h.replace(".",","))):(!this.props.schema.booleanAsCheckbox||typeof this.props.schema.data!="boolean")&&(h=this.props.schema.data.toString());let d=!1;if(this.props.schema.booleanAsCheckbox&&typeof this.props.schema.data=="boolean")o=k.createElement(N.Checkbox,{checked:!!o,disabled:!0,size:this.props.schema.size==="small"?"small":this.props.schema.size==="large"?"large":void 0});else if(h.startsWith("data:image/"))o=k.createElement("div",{style:{...Mt.value,...Mt.valueImage,...this.props.schema.styleValue||void 0}},k.createElement(j.Icon,{src:h}));else{const t={...Mt.value,...this.props.schema.styleValue||void 0};this.props.schema.html?o=k.createElement("div",{style:t,dangerouslySetInnerHTML:{__html:h}}):Array.isArray(this.props.schema.data)?(d=!0,o=k.createElement("div",{style:t},this.props.schema.data.map((r,l)=>k.createElement("div",{key:l},typeof r=="object"||r===null||r===void 0?JSON.stringify(r):r)))):h.includes(` -`)?(d=!0,o=k.createElement("div",{style:t},j.Utils.renderTextWithA(h))):o=k.createElement("div",{style:t},h)}if(this.props.schema.blinkOnUpdate&&this.props.schema.blink){const t=Mi(this.props.oContext.theme,!0,this.props.schema.blinkOnUpdate),r=Li(this.props.oContext.theme,this.props.schema.blink);o=k.createElement(N.Box,{key:h,sx:{...t,...r}},o)}else if(this.props.schema.blinkOnUpdate){const t=Mi(this.props.oContext.theme,!1,this.props.schema.blinkOnUpdate);o=k.createElement(N.Box,{key:h,sx:t},o)}else if(this.props.schema.blink){const t=Li(this.props.oContext.theme,this.props.schema.blink);o=k.createElement(N.Box,{sx:t},o)}this.props.schema.unit&&(o=k.createElement("div",{style:Mt.valueAndUnit},o,k.createElement("div",{style:{...Mt.unit,...this.props.schema.styleUnit||void 0}},this.getText(this.props.schema.unit,this.props.schema.noTranslation))));let s;this.props.schema.labelIcon&&(s=k.createElement(j.Icon,{src:this.props.schema.labelIcon,style:{marginRight:4}}));let p;this.props.schema.copyToClipboard&&(p=k.createElement(Z.ContentCopy,{className:"staticCopyButton",style:{position:"absolute",top:"calc(50% - 12px)",right:0,cursor:"pointer"},onClick:()=>{j.Utils.copyToClipboard(h),window.alert(j.I18n.t("ra_Copied"))}}));const e={"& .staticCopyButton":{display:"none"},"& .staticCopyButton:action":{transform:"scale(0.9)"},"&:hover .staticCopyButton":{display:"block"}};return this.props.schema.highlight&&(e["&:hover"]={backgroundColor:this.props.oContext.themeType==="dark"?"#51515180":"#b8b8b880"}),d&&(v.alignItems="top"),k.createElement(N.Box,{component:"div",style:v,sx:e},k.createElement("div",{style:{...Mt.label,...this.props.schema.styleLabel||void 0}},s,i),o,p)}}const Ii={fullWidth:{height:"100%",width:"100%"},link:L=>({textDecoration:"underline",color:L.palette.mode==="dark"?"#4dabf5":"#254e72",cursor:"pointer"})};function Fi(L,n,i){let u,v="";L?L.toString().startsWith("#")||L.toString().startsWith("/")?(u=n||"_self",v=L):L.startsWith("http://")||L.startsWith("https://")?(u=n||"_blank",v=L):(v=`#tab-instances/config/${i}/${L}`,u=n||"_self"):(v=`#tab-instances/config/${i}`,u=n||"_self"),u==="_self"?setTimeout(o=>{o.startsWith("#")?window.location.hash=o:o.startsWith("/")?v=`${window.location.protocol}:${window.location.host}${v}`:(o.startsWith("http://")||o.startsWith("https://"))&&(window.location.href=o)},100,v):(v.startsWith("#")?v=`${window.location.protocol}:${window.location.host}${window.location.pathname}${v}`:v.startsWith("/")&&(v=`${window.location.protocol}:${window.location.host}${v}`),window.open(v,u))}class Ri extends K{renderItem(n,i){if(this.props.schema.button){const v=this.getIcon();return k.createElement(N.Button,{variant:this.props.schema.variant||void 0,color:this.props.schema.color||"grey",style:{...Ii.fullWidth,...this.props.schema.controlStyle||void 0},disabled:i,startIcon:v,onClick:this.props.schema.href?()=>{const o=this.props.schema.href?this.getText(this.props.schema.href,!0):null;o&&(this.props.oContext.onBackEndCommand?this.props.oContext.onBackEndCommand({command:"link",url:o,target:this.props.schema.target,close:this.props.schema.close}):Fi(o,this.props.schema.target,`${this.props.oContext.adapterName}.${this.props.oContext.instance}`))}:null},this.getText(this.props.schema.text||this.props.schema.label,this.props.schema.noTranslation))}let u=this.getText(this.props.schema.text||this.props.schema.label,this.props.schema.noTranslation);return u&&(u.includes("")||u.includes(""))&&(u=j.Utils.renderTextWithA(u)),k.createElement(N.Box,{component:"span",style:{...this.props.schema.controlStyle||void 0},sx:this.props.schema.href?Ii.link:void 0,onClick:this.props.schema.href?()=>{const v=this.props.schema.href?this.getText(this.props.schema.href,!0):null;v&&(this.props.oContext.onBackEndCommand?this.props.oContext.onBackEndCommand({command:"link",url:v,target:this.props.schema.target||"_blank",close:this.props.schema.close}):Fi(v,this.props.schema.target||"_blank",`${this.props.oContext.adapterName}.${this.props.oContext.instance}`))}:null},u)}}const Bn=1024*1024,fe={paper:{width:"100%",marginBottom:16,backgroundColor:"rgba(255, 255, 255, 0.1)"},headerText:{width:"100%"},table:{minWidth:750},label:{display:"flex",justifyContent:"space-between"},title:{flex:"1 1 100%"},rootTool:{paddingLeft:16,paddingRight:8},silver:{opacity:.2},flex:{display:"flex",alignItems:"baseline"},filteredOut:{padding:10,display:"flex",textAlign:"center"},buttonEmpty:{width:34,display:"inline-block"},buttonCell:{whiteSpace:"nowrap"},dropZone:{width:"100%",height:100,position:"relative"},dropZoneEmpty:{},uploadDiv:{position:"relative",width:"100%",minHeight:300,opacity:.9,marginTop:30,cursor:"pointer",outline:"none"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"calc(100% - 10px)",height:"calc(100% - 10px)",minHeight:300,position:"relative",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},tooltip:{pointerEvents:"none"}};function al(L,n,i){n=n||"key";const u=[];return Object.keys(L).forEach(v=>{const o={};o[n]=v,i?(o[i]=L[v],u.push(o)):u.push(Object.assign(o,L[v]))}),u}function Oi(L,n,i){n=n||"key";const u={};return L.forEach(v=>{let o=v[n];o==null&&(o=""),delete v[n],i?u[o]=v[i]:u[o]=v}),u}function ll(L,n){let i="";for(let u=0;u{i.filter&&(this.filterRefs[i.attr]=pt.createRef())}),this.refDiv=k.createRef()}async componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr)||[];let i;if(this.props.schema.objKeyName?i=al(n,this.props.schema.objKeyName,this.props.schema.objValueName):i=n,Array.isArray(i)||(i=[]),this.props.schema.encryptedAttributes){const u=await this.props.oContext.socket.getCompactSystemConfig();this.secret=(u==null?void 0:u.native.secret)||this.secret,n.forEach(v=>{this.props.schema.encryptedAttributes.forEach(o=>{v[o]&&(v[o]=ul(this.secret,v[o]))})})}this.setState({value:i,visibleValue:null,orderBy:"",order:"asc",iteration:0,filterOn:[],width:0},()=>this.validateUniqueProps())}componentWillUnmount(){this.typingTimer&&(clearTimeout(this.typingTimer),this.typingTimer=null),this.resizeTimeout&&(clearTimeout(this.resizeTimeout),this.resizeTimeout=null),super.componentWillUnmount()}itemTable(n,i,u){var d;const{schema:v}=this.props,o=(d=v.items)==null?void 0:d.find(s=>s.attr===n);if(!o)return null;const h={items:{[n]:o}};return k.createElement($t,{oContext:this.props.oContext,alive:this.props.alive,arrayIndex:u,changed:this.props.changed,common:this.props.common,expertMode:this.props.expertMode,custom:!0,data:i,globalData:this.props.data,index:u+this.state.iteration,onChange:(s,p)=>{const e=JSON.parse(JSON.stringify(this.state.value));e[u][s]=p,this.setState({value:e},()=>{this.validateUniqueProps(),this.onChangeWrapper(e,!0)})},onError:(s,p)=>this.onError(s,p),originalData:this.props.originalData,schema:h,table:!0,themeName:this.props.themeName})}validateUniqueProps(){if(this.props.schema.uniqueColumns)for(const n of this.props.schema.uniqueColumns){const i=[];this.state.value.find(v=>{const o=v[n];return i.includes(o)?(this.onError(n,"is not unique"),this.setState({errorMessage:j.I18n.t('Non-allowed duplicate entry "%s" in column "%s"',o,n)}),!0):(i.push(o),!1)})||(this.onError(n,null),this.setState({errorMessage:""}))}}static descendingComparator(n,i,u){return i[u]n[u]?1:0}static getComparator(n,i){return n==="desc"?(u,v)=>Ve.descendingComparator(u,v,i):(u,v)=>-Ve.descendingComparator(u,v,i)}static getFilterValue(n){var i,u,v;return(v=(u=(i=n==null?void 0:n.current)==null?void 0:i.children[0])==null?void 0:u.children[0])==null?void 0:v.value}static setFilterValue(n,i){return n.current.children[0].children[0].value=i}handleRequestSort=(n,i=!1)=>{const{order:u,orderBy:v}=this.state,h=i?u:v===n&&u==="asc"?"desc":"asc",d=this.stableSort(h,n);JSON.stringify(d)!==JSON.stringify(this.state.value)&&this.setState({value:d,order:h,orderBy:n,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,d))};stableSort=(n,i)=>{const{value:u}=this.state,v=Ve.getComparator(n,i),o=u.map((h,d)=>({el:h,index:d}));return o.sort((h,d)=>{const s=v(h.el,d.el);return s!==0?s:h.index-d.index}),o.map(h=>h.el)};renderShowHideFilter(n){return n.filter?k.createElement(N.IconButton,{title:j.I18n.t("ra_Show/hide filter input"),size:"small",onClick:()=>{const i=[...this.state.filterOn],u=this.state.filterOn.indexOf(n.attr);u===-1?i.push(n.attr):i.splice(u,1),this.setState({filterOn:i},()=>{u&&Ve.getFilterValue(this.filterRefs[n.attr])&&(Ve.setFilterValue(this.filterRefs[n.attr],""),this.applyFilter())})}},this.state.filterOn.includes(n.attr)?k.createElement(Z.FilterAltOff,null):k.createElement(Z.FilterAlt,null)):null}renderImportExportButtons(n){return k.createElement(k.Fragment,null,!n.noDelete&&n.import?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Import data from %s file","CSV"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:()=>this.setState({showImportDialog:!0})},k.createElement(Z.UploadFile,null))):null,n.export?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Export data to %s file","CSV"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:()=>this.onExport()},k.createElement(Z.Download,null))):null,n.noDelete?null:k.createElement(N.IconButton,{disabled:!0,size:"small"},k.createElement(Z.Delete,null)))}renderAddButton(n){return k.createElement(N.Tooltip,{title:n?j.I18n.t("ra_Cannot add items with set filter"):j.I18n.t("ra_Add row"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement("span",null,k.createElement(N.IconButton,{size:"small",color:"primary",disabled:!!n&&!this.props.schema.allowAddByFilter,onClick:this.onAdd},k.createElement(Z.Add,null))))}enhancedTableHead(n,i){var h;const{schema:u}=this.props,{order:v,orderBy:o}=this.state;return k.createElement(N.TableHead,null,k.createElement(N.TableRow,null,(h=u.items)==null?void 0:h.map((d,s)=>this.renderOneFilter({schema:u,style:{width:d.width},showAddButton:!s&&!u.noDelete,headCell:d,order:v,orderBy:o,index:s,doAnyFilterSet:i})),!u.noDelete&&k.createElement(N.TableCell,{style:{paddingLeft:20,paddingRight:20,width:n,textAlign:"right"},padding:"checkbox"},this.renderImportExportButtons(u))))}onDelete=n=>()=>{const i=JSON.parse(JSON.stringify(this.state.value));i.splice(n,1),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))};onExport(){const{schema:n}=this.props,{value:i}=this.state,v=[n.items.map(d=>d.attr).join(";")];i.forEach(d=>{const s=[];n.items.forEach(p=>{var e;(e=d[p.attr])!=null&&e.includes(";")?s.push(`"${d[p.attr]}"`):s.push(d[p.attr]===void 0||d[p.attr]===null?"":d[p.attr])}),v.push(s.join(";"))});const o=document.createElement("a");o.setAttribute("href",`data:text/csv;charset=utf-8,${encodeURIComponent(v.join(` -`))}`);const h=new Date;o.setAttribute("download",`${h.getFullYear()}_${(h.getMonth()+1).toString().padStart(2,"0")}_${h.getDate().toString().padStart(2,"0")}_${this.props.oContext.adapterName}.${this.props.oContext.instance}_${this.props.attr}.csv`),o.style.display="none",document.body.appendChild(o),o.click(),document.body.removeChild(o)}onImport(n){var h;const i=n.split(` -`).map(d=>d.replace("\r","").trim()),{schema:u}=this.props,v=i.shift().split(";").filter(d=>d&&u.items.find(s=>s.attr===d)),o=[];i.forEach(d=>{const s=d.split(";"),p={};for(let e=0;ea.attr===v[e]);l&&l.type==="number"?r=parseFloat(t):r=t}else r=t;p[v[e]]=r}o.push(p)}),o.length?(h=this.state.value)!=null&&h.length?this.setState({showTypeOfImportDialog:o,showImportDialog:!1}):this.setState({value:o,showImportDialog:!1}):window.alert("ra_No data found in file")}onClone=n=>()=>{const i=JSON.parse(JSON.stringify(this.state.value)),u=JSON.parse(JSON.stringify(i[n]));if(typeof this.props.schema.clone=="string"&&typeof u[this.props.schema.clone]=="string"){let v=1,o=u[this.props.schema.clone];const h=o.match(/(\d+)$/);for(h?(o=o.replace(h[0],""),v=parseInt(h[0],10)+1):o+="_";i.find(d=>d[this.props.schema.clone]===o+v.toString());)v++;u[this.props.schema.clone]=`${u[this.props.schema.clone]}_${v}`}i.splice(n,0,u),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))};onChangeWrapper=(n,i)=>{this.typingTimer&&clearTimeout(this.typingTimer),this.typingTimer=setTimeout((u,v)=>{this.typingTimer=null;let o;if(this.props.schema.encryptedAttributes){const h=JSON.parse(JSON.stringify(u));if(h.forEach(d=>{this.props.schema.encryptedAttributes.forEach(s=>{d[s]&&(d[s]=ll(this.secret,d[s]))})}),this.props.schema.objKeyName){const d=Oi(h,this.props.schema.objKeyName,this.props.schema.objValueName);o=this.onChange(this.props.attr,d)}else o=this.onChange(this.props.attr,h)}else if(this.props.schema.objKeyName){const h=Oi(JSON.parse(JSON.stringify(u)),this.props.schema.objKeyName,this.props.schema.objValueName);o=this.onChange(this.props.attr,h)}else o=this.onChange(this.props.attr,u);o instanceof Promise&&o.catch(h=>console.error(`Cannot save: ${h}`)),v&&(this.applyFilter(!1,u),this.handleRequestSort(this.state.orderBy,!0))},300,n,i)};onAdd=()=>{var v;const{schema:n}=this.props,i=JSON.parse(JSON.stringify(this.state.value)),u=(v=n.items)==null?void 0:v.reduce((o,h)=>{let d;return h.defaultFunc?this.props.custom?d=h.defaultFunc?this.executeCustom(h.defaultFunc,this.props.data,this.props.customObj,this.props.oContext.instanceObj,i.length,this.props.data):this.props.schema.default:d=h.defaultFunc?this.execute(h.defaultFunc,this.props.schema.default,this.props.data,i.length,this.props.data):this.props.schema.default:d=h.default===void 0?null:h.default,o[h.attr]=d,o},{});i.push(u),this.setState({value:i},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))};isAnyFilterSet(){return!!Object.keys(this.filterRefs).find(n=>Ve.getFilterValue(this.filterRefs[n]))}applyFilter=(n,i,u)=>{i=i||this.state.value;let v=i.map((o,h)=>h);if(Object.keys(this.filterRefs).forEach(o=>{let h=Ve.getFilterValue(this.filterRefs[o]);!n&&h?(h=h.toLowerCase(),v=v.filter(d=>i[d]&&i[d][o]&&i[d][o].toLowerCase().includes(h))):this.filterRefs[o].current&&Ve.setFilterValue(this.filterRefs[o],"")}),v.length===i.length&&(v=null),v===null&&this.state.visibleValue===null){u&&u();return}JSON.stringify(v)!==JSON.stringify(this.state.visibleValue)?this.setState({visibleValue:v},()=>u&&u()):u&&u()};onMoveUp(n){const i=JSON.parse(JSON.stringify(this.state.value)),u=i[n];i.splice(n,1),i.splice(n-1,0,u),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))}onMoveDown(n){const i=JSON.parse(JSON.stringify(this.state.value)),u=i[n];i.splice(n,1),i.splice(n+1,0,u),this.setState({value:i,iteration:this.state.iteration+1e4},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(i)))}onDrop(n){const i=n[0],u=new FileReader;u.onabort=()=>console.log("file reading was aborted"),u.onerror=()=>console.log("file reading has failed"),u.onload=()=>{if(i.size>Bn){window.alert(j.I18n.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(Bn/1024)));return}const v=new Uint8Array(u.result).reduce((o,h)=>o+String.fromCharCode(h),"");this.onImport(v)},u.readAsArrayBuffer(i)}showTypeOfImportDialog(){return this.state.showTypeOfImportDialog?k.createElement(N.Dialog,{open:!0,onClose:()=>this.setState({showTypeOfImportDialog:!1}),maxWidth:"md"},k.createElement(N.DialogTitle,null,j.I18n.t("ra_Append or replace?")),k.createElement(N.DialogContent,null,j.I18n.t("ra_Append %s entries or replace existing?",this.state.showTypeOfImportDialog.length)),k.createElement(N.DialogActions,null,k.createElement(N.Button,{variant:"contained",color:"primary",autoFocus:!0,onClick:()=>{const n=JSON.parse(JSON.stringify(this.state.value));this.state.showTypeOfImportDialog.forEach(i=>n.push(i)),this.setState({value:n,iteration:this.state.iteration+1e4,showTypeOfImportDialog:!1},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(n)))}},j.I18n.t("ra_Append")),k.createElement(N.Button,{variant:"contained",color:"secondary",autoFocus:!0,onClick:()=>{const n=this.state.showTypeOfImportDialog;this.setState({value:n,iteration:this.state.iteration+1e4,showTypeOfImportDialog:!1},()=>this.applyFilter(!1,null,()=>this.onChangeWrapper(n)))}},j.I18n.t("ra_Replace")))):null}showImportDialog(){return this.state.showImportDialog?k.createElement(N.Dialog,{open:!0,onClose:()=>this.setState({showImportDialog:!1}),sx:{"& .MuiDialog-paper":{minHeight:500}},maxWidth:"md",fullWidth:!0},k.createElement(N.DialogTitle,null,j.I18n.t("ra_Import from %s","CSV")),k.createElement(N.DialogContent,null,k.createElement(Pi,{multiple:!1,accept:{"text/csv":[".csv"]},maxSize:Bn,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(n,i)=>{this.setState({uploadFile:!1}),n.length?this.onDrop(n):window.alert(i&&i[0]&&i[0].errors&&i[0].errors[0]&&i[0].errors[0].message||j.I18n.t("ra_Cannot upload"))}},({getRootProps:n,getInputProps:i})=>k.createElement("div",{style:{...fe.uploadDiv,...this.state.uploadFile==="dragging"?fe.uploadDivDragging:void 0,...fe.dropZone,...this.state.icon?void 0:fe.dropZoneEmpty},...n()},k.createElement("input",{...i()}),k.createElement("div",{style:fe.uploadCenterDiv},k.createElement("div",{style:fe.uploadCenterTextAndIcon},k.createElement(Z.UploadFile,{style:fe.uploadCenterIcon}),k.createElement("div",{style:fe.uploadCenterText},this.state.uploadFile==="dragging"?j.I18n.t("ra_Drop file here"):j.I18n.t("ra_Place your files here or click here to open the browse dialog"))))))),k.createElement(N.DialogActions,null,k.createElement(N.Button,{variant:"contained",onClick:()=>this.setState({showImportDialog:!1}),color:"primary",startIcon:k.createElement(Z.Close,null)},j.I18n.t("Cancel")))):null}renderOneFilter(n){return k.createElement(N.TableCell,{key:`${n.headCell.attr}_${n.index}`,style:n.style,align:"left",sortDirection:n.orderBy===n.headCell.attr?n.order:!1},k.createElement("div",{style:{...fe.flex,...n.schema.showFirstAddOnTop?{flexDirection:"column"}:void 0}},n.showAddButton?this.renderAddButton(n.doAnyFilterSet):null,n.headCell.sort&&k.createElement(N.TableSortLabel,{active:!0,style:n.orderBy!==n.headCell.attr?fe.silver:void 0,direction:n.orderBy===n.headCell.attr?n.order:"asc",onClick:()=>this.handleRequestSort(n.headCell.attr)}),n.headCell.filter&&this.state.filterOn.includes(n.headCell.attr)?k.createElement(N.TextField,{variant:"standard",ref:this.filterRefs[n.headCell.attr],onChange:()=>this.applyFilter(),title:j.I18n.t("ra_You can filter entries by entering here some text"),slotProps:{input:{endAdornment:Ve.getFilterValue(this.filterRefs[n.headCell.attr])&&k.createElement(N.InputAdornment,{position:"end"},k.createElement(N.IconButton,{size:"small",tabIndex:-1,onClick:()=>{Ve.setFilterValue(this.filterRefs[n.headCell.attr],""),this.applyFilter()}},k.createElement(Z.Close,null)))}},fullWidth:!0,placeholder:this.getText(n.headCell.title)}):k.createElement("span",{style:fe.headerText},this.getText(n.headCell.title)),this.renderShowHideFilter(n.headCell)))}enhancedFilterCard(){var h;const{schema:n}=this.props,{order:i,orderBy:u}=this.state;let v;this.props.schema.compact&&(v={paddingTop:1,paddingBottom:1});const o=!n.noDelete&&n.import||n.export;return o||n.items.find(d=>d.sort||d.filter)?k.createElement(N.Grid2,{size:{xs:n.xs||12,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0}},k.createElement(N.Card,null,k.createElement(N.Paper,{style:fe.paper},k.createElement(N.Accordion,{style:fe.paper},k.createElement(N.AccordionSummary,{expandIcon:k.createElement(Z.ExpandMore,null)},k.createElement(N.Typography,null,j.I18n.t("ra_Filter and Data Actions"))),k.createElement(N.AccordionDetails,null,k.createElement(N.Table,null,k.createElement(N.TableBody,null,((h=n.items)==null?void 0:h.find(d=>d.sort||d.filter))&&n.items.map((d,s)=>k.createElement(N.TableRow,{key:`${d.attr}_${s}`},this.renderOneFilter({schema:n,style:v,showAddButton:!1,headCell:d,order:i,orderBy:u,index:s,doAnyFilterSet:!1}))),o?k.createElement(N.TableRow,null,k.createElement(N.TableCell,{align:"left",style:v},k.createElement("span",{style:fe.headerText},j.I18n.t("ra_Actions"))),k.createElement(N.TableCell,{style:v},this.renderImportExportButtons(n))):null))))))):null}enhancedBottomCard(){const{schema:n}=this.props;let i;this.props.schema.compact&&(i={paddingTop:1,paddingBottom:1});const u=this.isAnyFilterSet();return k.createElement(N.Grid2,{size:{xs:n.xs||12,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0}},k.createElement(N.Card,null,k.createElement(N.Paper,{style:fe.paper},k.createElement(N.Table,null,k.createElement(N.TableBody,null,k.createElement(N.TableRow,null,k.createElement(N.TableCell,{colSpan:n.items.length+1,style:i},this.renderAddButton(u))))))))}renderCards(){const{schema:n}=this.props;let{visibleValue:i}=this.state,u;this.props.schema.compact&&(u={paddingTop:1,paddingBottom:1}),i||=this.state.value.map((o,h)=>h);const v=this.isAnyFilterSet();return k.createElement(N.Grid2,{container:!0},this.showImportDialog(),this.showTypeOfImportDialog(),this.enhancedFilterCard(),i.map((o,h)=>{var d;return k.createElement(N.Grid2,{key:`${o}_${h}`,size:{xs:n.xs||12,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0}},k.createElement(N.Card,null,k.createElement(N.Paper,{style:fe.paper},k.createElement(N.Table,null,k.createElement(N.TableBody,null,(d=n.items)==null?void 0:d.map(s=>k.createElement(N.TableRow,{key:`${s.attr}_${o}`},k.createElement(N.TableCell,{align:"left",style:u},k.createElement("span",{style:fe.headerText},this.getText(s.title))),k.createElement(N.TableCell,{align:"left",style:u},this.itemTable(s.attr,this.state.value[o],o)))),!n.noDelete&&k.createElement(N.TableRow,null,k.createElement(N.TableCell,{align:"left",style:u},k.createElement("span",{style:fe.headerText},this.getText("Actions"))),k.createElement(N.TableCell,{align:"left",style:u},!v&&!this.state.orderBy?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Move up"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement("span",null,k.createElement(N.IconButton,{size:"small",onClick:()=>this.onMoveUp(o),disabled:h===0},k.createElement(Z.ArrowUpward,null)))):null,!v&&!this.state.orderBy?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Move down"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement("span",null,k.createElement(N.IconButton,{size:"small",onClick:()=>this.onMoveDown(o),disabled:h===i.length-1},k.createElement(Z.ArrowDownward,null)))):null,k.createElement(N.Tooltip,{title:j.I18n.t("ra_Delete current row"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:this.onDelete(o)},k.createElement(Z.Delete,null))),this.props.schema.clone?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Clone current row"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:this.onClone(o)},k.createElement(Z.ContentCopy,null))):null)))))))}),this.enhancedBottomCard())}renderTable(){const{schema:n}=this.props;let{visibleValue:i}=this.state;i=i||this.state.value.map((o,h)=>h);const u=this.isAnyFilterSet();let v;return this.props.schema.compact&&(v={paddingTop:1,paddingBottom:1}),k.createElement(N.Paper,{style:fe.paper},this.showImportDialog(),this.showTypeOfImportDialog(),n.label?k.createElement("div",{style:fe.label},k.createElement(N.Toolbar,{variant:"dense",style:fe.rootTool},k.createElement(N.Typography,{style:fe.title,variant:"h6",id:"tableTitle",component:"div"},this.getText(n.label)))):null,k.createElement(N.TableContainer,null,k.createElement(N.Table,{style:fe.table,size:"small"},this.enhancedTableHead(!u&&!this.state.orderBy?120:64,u),k.createElement(N.TableBody,null,i.map((o,h)=>{var d;return k.createElement(N.TableRow,{hover:!0,key:`${o}_${h}`},(d=n.items)==null?void 0:d.map(s=>k.createElement(N.TableCell,{key:`${s.attr}_${o}`,align:"left",style:v},this.itemTable(s.attr,this.state.value[o],o))),!n.noDelete&&k.createElement(N.TableCell,{align:"left",style:{...v,...fe.buttonCell}},!u&&!this.state.orderBy?h?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Move up"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:()=>this.onMoveUp(o)},k.createElement(Z.ArrowUpward,null))):k.createElement("div",{style:fe.buttonEmpty}):null,!u&&!this.state.orderBy?hthis.onMoveDown(o)},k.createElement(Z.ArrowDownward,null))):k.createElement("div",{style:fe.buttonEmpty}):null,k.createElement(N.Tooltip,{title:j.I18n.t("ra_Delete current row"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:this.onDelete(o)},k.createElement(Z.Delete,null))),this.props.schema.clone?k.createElement(N.Tooltip,{title:j.I18n.t("ra_Clone current row"),slotProps:{popper:{sx:fe.tooltip}}},k.createElement(N.IconButton,{size:"small",onClick:this.onClone(o)},k.createElement(Z.ContentCopy,null))):null))}),!n.noDelete&&i.length>=(n.showSecondAddAt||5)?k.createElement(N.TableRow,null,k.createElement(N.TableCell,{colSpan:n.items.length+1,style:{...v}},this.renderAddButton(u))):null)),!i.length&&this.state.value.length?k.createElement("div",{style:fe.filteredOut},k.createElement(N.Typography,{style:fe.title,variant:"h6",id:"tableTitle",component:"div"},j.I18n.t("ra_All items are filtered out"),k.createElement(N.IconButton,{size:"small",onClick:()=>this.applyFilter(!0)},k.createElement(Z.Close,null)))):null),n.help?k.createElement(N.FormHelperText,{style:{paddingLeft:16}},this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null,this.state.errorMessage?k.createElement("div",{style:{display:"flex",padding:"5px"}},k.createElement(Z.Warning,{color:"error"}),k.createElement("span",{style:{color:"red",alignSelf:"center"}},this.state.errorMessage)):null)}componentDidUpdate(){var n;(n=this.refDiv.current)!=null&&n.clientWidth&&this.refDiv.current.clientWidth!==this.state.width&&(this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{var i;this.resizeTimeout=null,this.setState({width:(i=this.refDiv.current)==null?void 0:i.clientWidth})},50))}getCurrentBreakpoint(){return this.state.width?this.state.width<600?"xs":this.state.width<900?"sm":this.state.width<1200?"md":this.state.width<1536?"lg":"xl":"md"}renderItem(){const{schema:n}=this.props;if(!this.state.value||!Array.isArray(this.state.value))return null;const i=this.getCurrentBreakpoint();let u;return i&&(n.useCardFor||["xs"]).includes(i)?u=this.renderCards():u=this.renderTable(),k.createElement("div",{ref:this.refDiv,style:{width:"100%"}},u)}}const ln={indeterminate:{opacity:.5},label:{width:"100%",fontSize:14,marginBottom:2},helper:{width:"100%",fontSize:12},error:{width:"100%",fontSize:12,color:"#FF0000"}};class hl extends K{updateTimeout=null;componentDidMount(){super.componentDidMount();let n=K.getValue(this.props.data,this.props.attr);if(Array.isArray(n)&&this.props.oContext.multiEdit){n=K.DIFFERENT_VALUE,this.setState({value:n,oldValue:n,jsonError:!1});return}this.setState({value:n,oldValue:n,jsonError:this.validateJson(n)})}validateJson(n){let i=!1;if(this.props.schema.validateJson&&(n||!this.props.schema.allowEmpty))try{JSON.parse(n)}catch(u){console.log("Error in JSON",u),i=!0}return i}static getDerivedStateFromProps(n,i){if(n.oContext.multiEdit&&i.value===K.DIFFERENT_VALUE)return{value:K.DIFFERENT_VALUE};let u=K.getValue(n.data,n.attr);return u!=null&&(u=u.toString()),u==null||u!==i.value&&u!==i.oldValue?{value:u}:null}renderItem(n,i){const u=Array.isArray(this.state.value)||this.state.value===K.DIFFERENT_VALUE;if(this.props.schema.time){let h="";return typeof this.state.value=="number"?this.state.value&&this.state.value<9466596e5?h=new Date(this.state.value*1e3).toLocaleString():h=new Date(this.state.value).toLocaleString():typeof this.state.value=="string"&&(h=new Date(this.state.value).toLocaleString()),k.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:h,error:!!n||!!this.state.jsonError,disabled:!!i,slotProps:{htmlInput:{readOnly:!0}},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}if(this.state.oldValue!==null&&this.state.oldValue!==void 0?(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=null,this.setState({oldValue:null})},30)):this.updateTimeout&&(clearTimeout(this.updateTimeout),this.updateTimeout=null),u){const h=K.getValue(this.props.data,this.props.attr),d=(h==null?void 0:h.filter(s=>s||s===0).map(s=>({label:s.toString()||"",value:s})))||[];return d.unshift({label:j.I18n.t(K.DIFFERENT_LABEL),value:K.DIFFERENT_VALUE}),k.createElement(N.Autocomplete,{style:ln.indeterminate,fullWidth:!0,value:d[0],onChange:(s,p)=>{const e=p?p.value:"",t=this.onChange(this.props.attr,e,()=>{this.setState({value:e,oldValue:e,jsonError:this.validateJson(p)})});t instanceof Promise&&t.catch(r=>console.error(`Cannot set value: ${r}`))},options:d,getOptionLabel:s=>s.label,renderInput:s=>k.createElement(N.TextField,{variant:"standard",...s,error:!!n,placeholder:this.getText(this.props.schema.placeholder),slotProps:{htmlInput:{...s.inputProps,maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:this.props.schema.readOnly||!1}},label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),disabled:!!i})})}let v,o;if((this.props.schema.readOnly||i)&&this.props.schema.copyToClipboard?(this.props.schema.minRows>1&&(o={position:"absolute",right:3,top:20,zIndex:1e3}),v=k.createElement(N.IconButton,{tabIndex:-1,style:o,size:"small",onClick:()=>{j.Utils.copyToClipboard(this.state.value),window.alert(j.I18n.t("ra_Copied"))}},k.createElement(j.IconCopy,null))):!this.props.schema.readOnly&&!i&&this.state.value&&!this.props.schema.noClearButton&&(this.props.schema.minRows>1&&(o={position:"absolute",right:3,top:20,zIndex:1e3}),v=k.createElement(N.IconButton,{style:o,size:"small",tabIndex:-1,onClick:()=>this.setState({value:"",oldValue:this.state.value},()=>this.onChange(this.props.attr,""))},k.createElement(Z.Close,null)),this.props.schema.minRows<=1&&(v=k.createElement(N.InputAdornment,{position:"end"},v))),this.props.schema.minRows>1){const h=this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation);return k.createElement("div",{style:{width:"100%",position:"relative"}},this.props.schema.label?k.createElement("div",{style:ln.label},this.getText(this.props.schema.label)):null,k.createElement(N.TextareaAutosize,{style:{width:"100%",resize:"vertical",backgroundColor:this.props.oContext.themeType==="dark"?"#363636":"#cccccc",color:this.props.oContext.themeType==="dark"?"#fff":"#111"},minRows:this.props.schema.minRows,maxRows:this.props.schema.maxRows,value:this.state.value===null||this.state.value===void 0?"":this.state.value,disabled:!!i,readOnly:this.props.schema.readOnly||!1,onChange:d=>{const s=d.target.value;this.setState({value:s,oldValue:this.state.value,jsonError:this.validateJson(s)},()=>this.onChange(this.props.attr,s||""))},placeholder:this.getText(this.props.schema.placeholder)}),h||n||this.state.jsonError?k.createElement("div",{style:n?ln.error:ln.helper},n||(this.state.jsonError?j.I18n.t("ra_Invalid JSON"):h)):null)}return k.createElement(N.TextField,{variant:"standard",fullWidth:!0,value:this.state.value===null||this.state.value===void 0?"":this.state.value,error:!!n||!!this.state.jsonError,disabled:!!i,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0,readOnly:this.props.schema.readOnly||!1},input:{endAdornment:v}},onChange:h=>{const d=h.target.value;this.setState({value:d,oldValue:this.state.value,jsonError:this.validateJson(d)},()=>this.onChange(this.props.attr,d))},placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.state.jsonError?j.I18n.t("ra_Invalid JSON"):this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}const cl={fullWidth:{width:"100%"}};class pl extends K{initialized=!1;localContext;askInstance(){if(this.props.alive){let n=this.props.schema.data;if(n===void 0&&this.props.schema.jsonData){const i=this.getPattern(this.props.schema.jsonData,null,!0);try{n=JSON.parse(i)}catch{console.error(`Cannot parse json data: ${i}`)}}n===void 0&&(n=null),this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,this.props.schema.command||"send",n).then(i=>{if(typeof i=="object"){const u=i;this.setState({text:u.text||"",style:u.style,icon:u.icon,iconStyle:u.iconStyle})}else typeof i=="string"&&this.setState({text:i||""})}).catch(i=>console.error(`Cannot send command: ${i}`))}}getLocalContext(){const n={};return Array.isArray(this.props.schema.alsoDependsOn)&&this.props.schema.alsoDependsOn.forEach(i=>n[i]=K.getValue(this.props.data,i)),JSON.stringify(n)}renderItem(){if(this.props.alive){const i=this.getLocalContext();(i!==this.localContext||!this.initialized)&&(this.localContext=i,setTimeout(()=>this.askInstance(),this.initialized?300:50),this.initialized=!0)}if(this.state.text===void 0)return null;let n=null;return this.state.icon&&(n=ht(this.state.icon,{marginRight:this.state.text?8:void 0,...this.state.iconStyle||void 0}),n||(n=k.createElement(j.Icon,{src:this.state.icon,style:{marginRight:this.state.text?8:void 0,...this.state.iconStyle||void 0}}))),this.props.schema.container==="text"?k.createElement(N.TextField,{variant:"standard",fullWidth:!0,slotProps:{input:{endAdornment:this.props.schema.copyToClipboard?k.createElement(N.IconButton,{tabIndex:-1,size:"small",onClick:()=>{j.Utils.copyToClipboard(this.state.text),window.alert(j.I18n.t("ra_Copied"))}},k.createElement(j.IconCopy,null)):void 0}},value:this.state.text,label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)}):k.createElement("div",{style:{...cl.fullWidth,...this.state.style||void 0}},n,this.props.schema.container==="html"?k.createElement("span",{dangerouslySetInnerHTML:{__html:this.state.text||""}}):this.state.text)}}class dl extends K{componentDidMount(){super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);this.setState({value:n})}renderItem(n,i){const u=this.props.schema.returnFormat!=="HH:mm:ss",v=new Date(Date.parse(`Thu, 01 Jan 1970 ${this.state.value||"00:00:00"}`));return k.createElement(Wi.TimePicker,{sx:o=>({width:"100%",borderBottom:`1px solid ${o.palette.text.primary}`,"& fieldset":{display:"none"},"& input":{padding:`${o.spacing(1.5)} 0 4px 0`},"& .MuiInputAdornment-root":{marginLeft:0,marginTop:1},"& label":{transform:"translate(0px, -9px) scale(0.75)"}}),ampm:this.props.oContext.systemConfig.dateFormat.includes("/"),timeSteps:this.props.schema.timeSteps||this.props.schema.timesteps||{hours:1,minutes:5,seconds:5},format:this.props.schema.format||"HH:mm:ss",disabled:!!i,value:v,onChange:o=>{let h;h=o instanceof Date?o.toTimeString().split(" ")[0]:o.toTimeString(),u&&(h=h.split(":").slice(0,2).join(":")),this.setState({value:h},()=>this.onChange(this.props.attr,this.state.value))},views:this.props.schema.views||["hours","minutes","seconds"],label:this.getText(this.props.schema.label)})}}function fl(L,n){let i;return n&&L.substring(0,n.length)===n?i=L.substring(n.length+1):i=L,i=i.replace(/\./g,"/").replace(/_/g," "),i}class gl extends K{componentDidMount(){var i;super.componentDidMount();const n=K.getValue(this.props.data,this.props.attr);if(!n&&((i=this.props.customObj)!=null&&i._id)){const u=fl(this.props.customObj._id,`${this.props.oContext.adapterName}.${this.props.oContext.instance}`);this.setState({value:u})}else this.setState({value:n||""})}renderItem(n,i){return k.createElement(N.TextField,{variant:"standard",fullWidth:!0,slotProps:{htmlInput:{maxLength:this.props.schema.maxLength||this.props.schema.max||void 0}},value:this.state.value,error:!!n,disabled:i,placeholder:this.getText(this.props.schema.placeholder),label:this.getText(this.props.schema.label),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation),onChange:u=>{const v=u.target.value;this.setState({value:v},()=>this.onChange(this.props.attr,v))}})}}class ml extends K{async componentDidMount(){var i;super.componentDidMount();const n=await this.props.oContext.socket.getObject("system.meta.uuid");this.setState({uuid:((i=n==null?void 0:n.native)==null?void 0:i.uuid)||"unknown"})}renderItem(n,i){return k.createElement(N.TextField,{variant:"standard",fullWidth:!0,error:!!n,disabled:!!i,slotProps:{htmlInput:{readOnly:!0},input:{endAdornment:k.createElement(N.IconButton,{tabIndex:-1,onClick:()=>{j.Utils.copyToClipboard(this.state.uuid),window.alert(j.I18n.t("ra_Copied %s",this.state.uuid))}},k.createElement(Z.ContentCopy,null))}},value:this.state.uuid||"",label:this.getText(this.props.schema.label)||j.I18n.t("ra_Serial number (UUID)"),helperText:this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)})}}const Ni={icon:{width:16,height:16,marginRight:8}};class vl extends K{componentDidMount(){super.componentDidMount(),this.props.oContext.socket.getUsers().then(n=>{const i={},u=j.I18n.getLanguage();this.props.schema.short?n.forEach(v=>{var o,h;return i[v._id]={color:(o=v.common)==null?void 0:o.color,icon:(h=v.common)==null?void 0:h.icon,name:j.Utils.getObjectNameFromObj(v,u)}}):n.forEach(v=>{var o,h;return i[v._id.replace(/^system\.user\./,"")]={color:(o=v.common)==null?void 0:o.color,icon:(h=v.common)==null?void 0:h.icon,name:j.Utils.getObjectNameFromObj(v,u)}}),this.setState({users:i})}).catch(n=>console.error(`Cannot get users: ${n}`))}renderItem(n,i){var v,o;const u=K.getValue(this.props.data,this.props.attr);return k.createElement(N.FormControl,{variant:"standard",fullWidth:!0},this.state.users&&this.props.schema.label?k.createElement(N.InputLabel,null,this.getText(this.props.schema.label)):null,this.state.users?k.createElement(N.Select,{variant:"standard",error:!!n,disabled:!!i,value:u,renderValue:h=>{var d,s,p;return k.createElement("span",null,this.state.users&&((d=this.state.users[h])!=null&&d.icon)?k.createElement(j.Icon,{src:this.state.users&&((s=this.state.users[h])==null?void 0:s.icon),style:Ni.icon}):null,this.state.users&&((p=this.state.users[h])==null?void 0:p.name)||h||"")},style:{color:this.state.users&&((v=this.state.users[u])==null?void 0:v.color)||void 0,backgroundColor:j.Utils.getInvertedColor(this.state.users&&((o=this.state.users[u])==null?void 0:o.color),this.props.oContext.themeType)},onChange:h=>this.onChange(this.props.attr,h.target.value)},this.state.users&&Object.keys(this.state.users).map(h=>k.createElement(N.MenuItem,{style:{color:this.state.users[h].color||void 0,backgroundColor:j.Utils.getInvertedColor(this.state.users[h].color,this.props.oContext.themeType)},key:h,value:h},this.state.users[h].icon?k.createElement(j.Icon,{src:this.state.users[h].icon,style:Ni.icon}):null,this.state.users[h].name))):k.createElement(N.TextField,{variant:"standard",error:!!n,disabled:!!i,value:u,onChange:h=>this.onChange(this.props.attr,h.target.value),label:this.getText(this.props.schema.label)}),this.props.schema.help?k.createElement(N.FormHelperText,null,this.renderHelp(this.props.schema.help,this.props.schema.helpLink,this.props.schema.noTranslation)):null)}}class yl extends K{async componentDidMount(){super.componentDidMount();const n=await ss(()=>import("./index-CttBOMyq.js").then(i=>i.i),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url);this.setState({QRCode:n.default})}renderItem(){const n=this.state.QRCode;return n?k.createElement(n,{value:this.props.schema.data,size:this.props.schema.size,fgColor:this.props.schema.fgColor,bgColor:this.props.schema.bgColor,level:this.props.schema.level}):null}}const bl={accordion:$s,alive:Ts,autocomplete:_s,autocompleteSendTo:ks,certCollection:Fs,certificate:Ls,certificates:Is,checkbox:Rs,checkLicense:ct,chip:fi,chips:fi,color:Ws,coordinates:Hs,cron:Ms,custom:Ut,datePicker:zs,deviceManager:js,divider:nl,file:eo,fileSelector:mn,func:to,header:rl,image:ro,imageSendTo:io,instance:so,interface:oo,ip:no,jsonEditor:Fa,language:Oa,license:Na,number:Ba,oauth2:Pa,objectId:Wa,password:Ha,pattern:za,port:Va,qrCode:yl,room:Ua,select:Ka,selectSendTo:Ya,sendto:_i,sendTo:_i,setState:Za,slider:qa,state:tl,staticImage:sl,staticInfo:ol,staticLink:Ri,staticText:Ri,table:Ve,text:hl,textSendTo:pl,timePicker:dl,topic:gl,uuid:ml,user:vl},Qe={fullWidth:{width:"100%"},paper:{margin:1,width:"auto !important",overflowY:"auto",paddingBottom:1},paperWithIcons:{height:"calc(100vh - 259px) !important"},paperWithoutIcons:{height:"calc(100vh - 235px) !important"},padding:{padding:"10px"},heading:{},primary:L=>({backgroundColor:L.palette.primary.main,color:L.palette.mode==="dark"?"inherit":"#FFF"}),secondary:L=>({backgroundColor:L.palette.secondary.main})};class $t extends K{componentDidMount(){var n;super.componentDidMount(),(n=this.props.schema)!=null&&n.collapsable&&this.setState({expanded:(window._localStorage||window.localStorage).getItem(`${this.props.oContext.adapterName}.${this.props.attr}`)==="true"})}renderItems(n,i){return n?Object.keys(n).map(u=>{if(this.props.oContext.multiEdit&&n[u].noMultiEdit)return null;const v=n[u].type||"panel";let o,h="Use this.props.oContext.socket!";return v==="custom"?(n[u].url?o=Ut:this.props.oContext.customs&&this.props.oContext.customs[n[u].component]?o=this.props.oContext.customs[n[u].component]:(console.error(`Cannot find custom component: ${n[u].component}`),o=K),h=this.props.oContext.socket):v==="panel"?o=$t:o=bl[v]||K,k.createElement(o,{socket:h,globalData:this.props.globalData,oContext:this.props.oContext,key:`${u}_${this.props.index===void 0?"":this.props.index}`,index:this.props.index,changed:this.props.changed,arrayIndex:this.props.arrayIndex,expertMode:this.props.expertMode,commandRunning:this.props.commandRunning,style:Qe.panel,common:this.props.common,alive:this.props.alive,themeName:this.props.themeName,data:this.props.data,originalData:this.props.originalData,onError:this.props.onError,onChange:this.props.onChange,disabled:i,customObj:this.props.customObj,custom:this.props.custom,schema:n[u],attr:u,table:this.props.table})}):null}render(){const n=this.props.schema;if(!n)return null;const{disabled:i,hidden:u}=this.calculate(n),v=this.props.schema.items,o=this.props.schema.style||{};if(u){if(n.hideOnlyControl){const d=k.createElement(N.Grid2,{size:{xs:n.xs||void 0,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0},sx:j.Utils.getStyle(this.props.oContext.theme,{marginBottom:0,textAlign:"left"},o,this.props.oContext.themeType==="dark"&&n.darkStyle)});return n.newLine?k.createElement(k.Fragment,null,k.createElement("div",{style:{flexBasis:"100%",height:0}}),d):d}return null}if(this.props.table)return this.renderItems(v,i);if(this.props.custom)return k.createElement(N.Grid2,{key:`${this.props.attr}_${this.props.index}`,container:!0,style:Qe.fullWidth,columnSpacing:2,rowSpacing:1,sx:o},this.renderItems(v,i));let h;if(n.collapsable)h=k.createElement(N.Accordion,{key:`${this.props.attr}_${this.props.index}`,style:Qe.fullWidth,expanded:!!this.state.expanded,onChange:()=>{(window._localStorage||window.localStorage).setItem(`${this.props.oContext.adapterName}.${this.props.attr}`,this.state.expanded?"false":"true"),this.setState({expanded:!this.state.expanded})}},k.createElement(N.AccordionSummary,{expandIcon:k.createElement(Z.ExpandMore,null),sx:j.Utils.getStyle(this.props.oContext.theme,o,this.props.oContext.themeType&&n.darkStyle,n.color==="primary"?Qe.primary:n.color==="secondary"&&Qe.secondary,{width:"100%"})},k.createElement(N.Typography,{style:Qe.heading},this.getText(n.label))),k.createElement(N.AccordionDetails,null,k.createElement(N.Grid2,{container:!0,columnSpacing:2,rowSpacing:1,sx:{...o,width:"100%",padding:"10px"}},this.renderItems(v,i))));else{const d=j.Utils.getStyle(this.props.oContext.theme,this.props.style,o,{width:"100%"},this.props.isParentTab&&Qe.paper,this.props.isParentTab&&(this.props.withoutSaveButtons?this.props.withIcons?{height:"calc(100% - 88px) !important"}:{height:"calc(100% - 64px) !important"}:this.props.withIcons?Qe.paperWithIcons:Qe.paperWithoutIcons));h=k.createElement(N.Box,{component:"div",key:`${this.props.attr}_${this.props.index}`,className:this.props.className,sx:d},k.createElement(N.Grid2,{container:!0,columnSpacing:2,rowSpacing:1,sx:j.Utils.getStyle(this.props.oContext.theme,{width:"100%"},this.props.isParentTab&&Qe.padding,this.props.schema.innerStyle)},this.renderItems(v,i)))}if(!this.props.isParentTab){const d=k.createElement(N.Grid2,{title:this.getText(n.tooltip),size:{xs:n.xs||void 0,sm:n.sm||void 0,md:n.md||void 0,lg:n.lg||void 0,xl:n.xl||void 0},sx:{marginBottom:0,textAlign:"left",...o}},h);return n.newLine?k.createElement(k.Fragment,null,k.createElement("div",{style:{flexBasis:"100%",height:0}}),d):d}return h}}const un={tabs:{height:"100%",width:"100%"},panel:{width:"100%",display:"block"},panelWithIcons:{height:"calc(100% - 72px)"},panelWithoutIcons:{height:"calc(100% - 48px)"}};class wl extends K{resizeTimeout=null;refDiv;constructor(n){super(n);let i;if(this.props.root){const u=(window.location.hash||"").replace(/^#/,"").split("/");if(u.length>=3&&u[1]==="config"){const v=u[3],o=parseInt(v,10);v&&o.toString()===v?o>=0&&o{const n=(window.location.hash||"").replace(/^#/,"").split("/");if(n.length>3&&n[1]==="config"){const i=n[3],u=parseInt(i,10);let v;u.toString()===i?u>=0&&u{this.setState({initialBreakpoint:n})},50),n}return this.state.initialBreakpoint}componentDidUpdate(){var n;!this.state.initialBreakpoint&&((n=this.refDiv.current)!=null&&n.clientWidth)&&this.refDiv.current.clientWidth!==this.state.width&&(this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{var i;this.resizeTimeout=null,this.setState({width:(i=this.refDiv.current)==null?void 0:i.clientWidth})},50))}onMenuChange(n){(window._localStorage||window.localStorage).setItem(`${this.props.dialogName||"App"}.${this.props.oContext.adapterName}`,n),this.setState({tab:n},()=>{if(this.props.root){const i=(window.location.hash||"").split("/");i.length>=3&&i[1]==="config"&&(i[3]=this.state.tab,window.location.hash=i.join("/"))}})}render(){const n=this.props.schema.items;let i=!1;const u=[];Object.keys(n).map(h=>{let d;if(n[h].expertMode&&!this.props.expertMode)return;if(this.props.custom){if(this.executeCustom(n[h].hidden,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.index,this.props.globalData))return;d=this.executeCustom(n[h].disabled,this.props.data,this.props.customObj,this.props.oContext.instanceObj,this.props.index,this.props.globalData)}else{if(this.execute(n[h].hidden,!1,this.props.data,this.props.index,this.props.globalData))return;d=this.execute(n[h].disabled,!1,this.props.data,this.props.index,this.props.globalData)}const s=this.getIcon(n[h].icon);i=i||!!s,u.push({icon:s,disabled:d,label:this.getText(n[h].label),name:h})}),u.find(h=>h.name===this.state.tab)||setTimeout(()=>this.setState({tab:u[0].name}),50);const v=this.getCurrentBreakpoint();let o;return v==="xs"&&u.length>2?o=k.createElement(N.Toolbar,{style:{top:2,backgroundColor:this.props.oContext.themeType==="dark"?"#222":"#DDD"},variant:"dense"},k.createElement(N.IconButton,{onClick:h=>this.setState({openMenu:h.currentTarget})},k.createElement(Z.Menu,null)),this.state.openMenu?k.createElement(N.Menu,{open:!0,anchorEl:this.state.openMenu,onClose:()=>this.setState({openMenu:null})},u.map(h=>k.createElement(N.MenuItem,{disabled:h.disabled,key:h.name,onClick:()=>{this.setState({openMenu:null},()=>this.onMenuChange(h.name))},selected:h.name===this.state.tab},i?k.createElement(N.ListItemIcon,null,h.icon):null,h.label))):null):o=k.createElement(N.Tabs,{variant:"scrollable",scrollButtons:"auto",style:this.props.schema.tabsStyle,value:this.state.tab,onChange:(h,d)=>this.onMenuChange(d)},u.map(h=>k.createElement(N.Tab,{id:h.name,wrapped:!0,disabled:h.disabled,key:h.name,value:h.name,iconPosition:this.props.schema.iconPosition||"start",icon:h.icon,label:h.label}))),k.createElement("div",{style:un.tabs,ref:this.refDiv},o,k.createElement($t,{oContext:this.props.oContext,withoutSaveButtons:this.props.withoutSaveButtons,isParentTab:!0,changed:this.props.changed,key:this.state.tab,expertMode:this.props.expertMode,index:1001,arrayIndex:this.props.arrayIndex,globalData:this.props.globalData,commandRunning:this.props.commandRunning,style:{...un.panel,...i?un.panelWithIcons:un.panelWithoutIcons},common:this.props.common,alive:this.props.alive,themeName:this.props.themeName,data:this.props.data,originalData:this.props.originalData,onChange:this.props.onChange,onError:this.props.onError,customObj:this.props.customObj,custom:this.props.custom,schema:n[this.state.tab],table:this.props.table,withIcons:i}))}}const Cl={root:{width:"100%",height:"100%"}};class cn extends pt.Component{forceUpdateHandlers;errorTimeout=null;errorCached=null;oContext;constructor(n){super(n),this.state={originalData:JSON.stringify(this.props.data),changed:!1,errors:{},updateData:this.props.updateData||0,systemConfig:null,alive:!1,commandRunning:!1,schema:JSON.parse(JSON.stringify(this.props.schema))},this.forceUpdateHandlers={},this.buildDependencies(this.state.schema),this.readData()}static getDerivedStateFromProps(n,i){return n.updateData!==i.updateData?{updateData:n.updateData,originalData:JSON.stringify(n.data),schema:JSON.parse(JSON.stringify(n.schema))}:null}static async loadI18n(n,i,u){if(i===!0||i&&typeof i=="string"){const v=j.I18n.getLanguage(),o=typeof i=="string"?i:"i18n";let h=await n.fileExists(`${u}.admin`,`${o}/${v}.json`),d;if(h?d=`${o}/${v}.json`:(h=await n.fileExists(`${u}.admin`,`${o}/${v}/translations.json`),h?d=`${o}/${v}/translations.json`:v!=="en"&&(h=await n.fileExists(`${u}.admin`,`${o}/en.json`),h?d=`${o}/en.json`:(h=await n.fileExists(`${u}.admin`,`${o}/en/translations.json`),h&&(d=`${o}/en/translations.json`)))),d){const s=await n.readFile(`${u}.admin`,d);let p;s.file!==void 0?p=s.file:p=s;try{const e=JSON.parse(p);j.I18n.extendTranslations(e,v)}catch(e){return console.error(`Cannot parse language file "${u}.admin/${d}: ${e}`),""}return d}return console.warn(`Cannot find i18n for ${u} / ${d}`),""}return i&&typeof i=="object"&&j.I18n.extendTranslations(i),""}onCommandRunning=n=>this.setState({commandRunning:n});readData(){this.props.socket.getCompactSystemConfig().then(n=>this.props.socket.getState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`).then(i=>this.setState({systemConfig:n.common,alive:!!(i&&i.val)},()=>{this.updateContext(!0),this.props.custom||this.props.socket.subscribeState(`system.adapter.${this.props.adapterName}.${this.props.instance}.alive`,this.onAlive)}))).catch(n=>console.error(`Cannot read system config: ${n}`))}onAlive=(n,i)=>{!!(i!=null&&i.val)!==this.state.alive&&this.setState({alive:!!(i!=null&&i.val)})};onChange=(n,i,u,v)=>{if(this.props.onValueChange)this.props.onValueChange(n,i,v),u&&u();else if(n&&this.props.onChange){const o={changed:JSON.stringify(n)!==this.state.originalData};this.setState(o,()=>{this.props.onChange(n,o.changed,v),u&&u()})}else v&&this.props.onChange(null,null,v)};onError=(n,i)=>{this.errorCached=this.errorCached||JSON.parse(JSON.stringify(this.state.errors));const u=this.errorCached;i?u[n]=i:delete u[n],this.errorTimeout&&clearTimeout(this.errorTimeout),JSON.stringify(u)!==JSON.stringify(this.state.errors)?this.errorTimeout=setTimeout(()=>this.setState({errors:this.errorCached},()=>{this.errorTimeout=null,this.errorCached=null,this.props.onError(!!Object.keys(this.state.errors).length)}),50):this.errorCached=null};flatten(n,i){return i=i||{},n.items&&Object.keys(n.items).forEach(u=>{i[u]=n.items[u],this.flatten(n.items[u],i)}),i}buildDependencies(n){const i=this.flatten(n);Object.keys(i).forEach(u=>{var v,o,h,d,s,p,e,t,r,l;(v=i[u].confirm)!=null&&v.alsoDependsOn&&((o=i[u].confirm)==null||o.alsoDependsOn.forEach(a=>{if(!i[a])console.error(`[JsonConfigComponent] Attribute ${a} does not exist!`),a.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${a.replace(/^data\./,"")}" instead of "${a}"`);else{i[a].confirmDependsOn=i[a].confirmDependsOn||[];const c={...i[u],attr:u};c.confirm&&(c.confirm.cancel="Undo"),i[a].confirmDependsOn.push(c)}})),(h=i[u].onChange)!=null&&h.alsoDependsOn&&((d=i[u].onChange)==null||d.alsoDependsOn.forEach(a=>{if(!i[a])console.error(`[JsonConfigComponent] Attribute ${a} does not exist!`),a.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${a.replace(/^data\./,"")}" instead of "${a}"`);else{i[a].onChangeDependsOn=i[a].onChangeDependsOn||[];const c={...i[u],attr:u};i[a].onChangeDependsOn.push(c)}})),(s=i[u].hidden)!=null&&s.alsoDependsOn&&((p=i[u].hidden)==null||p.alsoDependsOn.forEach(a=>{if(!i[a])console.error(`[JsonConfigComponent] Attribute ${a} does not exist!`),a.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${a.replace(/^data\./,"")}" instead of "${a}"`);else{i[a].hiddenDependsOn=i[a].hiddenDependsOn||[];const c={...i[u],attr:u};i[a].hiddenDependsOn.push(c)}})),(e=i[u].label)!=null&&e.alsoDependsOn&&((t=i[u].label)==null||t.alsoDependsOn.forEach(a=>{if(!i[a])console.error(`[JsonConfigComponent] Attribute ${a} does not exist!`),a.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${a.replace(/^data\./,"")}" instead of "${a}"`);else{i[a].labelDependsOn=i[a].labelDependsOn||[];const c={...i[u],attr:u};i[a].labelDependsOn.push(c)}})),(r=i[u].help)!=null&&r.alsoDependsOn&&((l=i[u].help)==null||l.alsoDependsOn.forEach(a=>{if(!i[a])console.error(`[JsonConfigComponent] Attribute ${a} does not exist!`),a.startsWith("data.")&&console.warn(`[JsonConfigComponent] please use "${a.replace(/^data\./,"")}" instead of "${a}"`);else{i[a].helpDependsOn=i[a].helpDependsOn||[];const c={...i[u],attr:u};i[a].helpDependsOn.push(c)}}))})}updateContext(n){this.oContext={DeviceManager:this.props.DeviceManager,adapterName:this.props.adapterName,changeLanguage:this.changeLanguage,common:this.props.common,customs:this.props.customs,dateFormat:this.props.dateFormat,embedded:this.props.embedded,forceUpdate:this.forceAttrUpdate,imagePrefix:this.props.imagePrefix,instance:this.props.instance,instanceObj:this.props.instanceObj,isFloatComma:this.props.isFloatComma,multiEdit:this.props.multiEdit,onBackEndCommand:this.props.onBackEndCommand,onCommandRunning:this.onCommandRunning,onValueChange:this.props.onValueChange,registerOnForceUpdate:this.registerOnForceUpdate,socket:this.props.socket,systemConfig:this.state.systemConfig,theme:this.props.theme,themeType:this.props.themeType,_themeName:this.props.themeName,updateData:this.state.updateData},n&&this.forceUpdate()}renderItem(n){return n.type==="tabs"?k.createElement(wl,{withoutSaveButtons:this.props.withoutSaveButtons,oContext:this.oContext,alive:this.state.alive,changed:this.state.changed,commandRunning:this.state.commandRunning,common:this.props.common,custom:this.props.custom,customObj:this.props.customObj,data:this.props.data,onChange:this.onChange,onError:(i,u)=>this.onError(i,u),originalData:JSON.parse(this.state.originalData),root:!0,schema:n,expertMode:this.props.expertMode,themeName:this.props.themeName}):n.type==="panel"||!n.type?k.createElement($t,{withoutSaveButtons:this.props.withoutSaveButtons,oContext:this.oContext,alive:this.state.alive,changed:this.state.changed,commandRunning:this.state.commandRunning,common:this.props.common,custom:this.props.custom,customObj:this.props.customObj,data:this.props.data,expertMode:this.props.expertMode,index:1e3,isParentTab:!this.props.embedded&&!this.props.withoutSaveButtons,onChange:this.onChange,onError:(i,u)=>this.onError(i,u),originalData:JSON.parse(this.state.originalData),root:!0,schema:n,themeName:this.props.themeName}):(console.error(`Unknown item type in root: ${JSON.stringify(n)}`),null)}changeLanguage=()=>{this.forceUpdate()};forceAttrUpdate=(n,i)=>{Array.isArray(n)?n.forEach(u=>this.forceUpdateHandlers[u]&&this.forceUpdateHandlers[u](i)):this.forceUpdateHandlers[n]&&this.forceUpdateHandlers[n](i)};registerOnForceUpdate=(n,i)=>{i?this.forceUpdateHandlers[n]=i:this.forceUpdateHandlers[n]&&delete this.forceUpdateHandlers[n]};render(){return!this.state.systemConfig||!this.oContext?k.createElement(N.LinearProgress,null):(this.oContext._themeName!==this.props.themeName&&(this.oContext._themeName=this.props.themeName,setTimeout(()=>this.updateContext(!0),0)),k.createElement("div",{style:{...!this.props.embedded||this.props.withoutSaveButtons?Cl.root:void 0,...this.props.style,...this.state.schema.style}},this.renderItem(this.state.schema)))}}const Et={root:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},scroll:{height:"calc(100% - 48px)",overflowY:"auto"},exportImportButtons:{position:"absolute",top:5,right:0,zIndex:3},button:{marginRight:"5px"},tooltip:{pointerEvents:"none"}};function El(L,n){let i="";for(let u=0;u{const v=document.createElement("script");v.setAttribute("id",n),v.onload=u,v.src=L,document.getElementsByTagName("head")[0].appendChild(v)})}let xl=class extends j.Router{fileSubscribed=[];fileLangSubscribed="";secret;constructor(n){super(n),this.state={updateData:0,changed:!1,confirmDialog:!1,theme:j.Theme(n.themeName),saveConfigDialog:!1,hash:"_"},this.secret=n.secret||"",this.getInstanceObject().then(i=>this.getConfigFile().then(u=>cn.loadI18n(this.props.socket,u==null?void 0:u.i18n,this.props.adapterName).then(v=>{v&&(this.fileLangSubscribed||(this.fileLangSubscribed=v,this.props.socket.subscribeFiles(`${this.props.adapterName}.admin`,this.fileLangSubscribed,this.onFileChange))),i?this.setState({schema:u,data:i.native,common:i.common,hash:pi(JSON.stringify(u)).toString()}):window.alert(`Instance system.adapter.${this.props.adapterName}.${this.props.instance} not found!`)})))}componentWillUnmount(){super.componentWillUnmount(),this.fileSubscribed.length&&(this.props.socket.unsubscribeFiles(`${this.props.adapterName}.admin`,this.fileSubscribed,this.onFileChange),this.fileSubscribed=[]),this.fileLangSubscribed&&(this.props.socket.unsubscribeFiles(`${this.props.adapterName}.admin`,this.fileLangSubscribed,this.onFileChange),this.fileLangSubscribed="")}handleFileSelect=n=>{const i=n.target.files[0];if(i){const u=new FileReader;u.onload=v=>{if(!v.target)return;const o=v.target.result;try{const h=JSON.parse(o);this.setState({data:h,changed:JSON.stringify(h)!==JSON.stringify(this.state.originalData)})}catch{window.alert(j.I18n.t("[JsonConfig] Failed to parse JSON file"))}},u.readAsText(i)}else window.alert(j.I18n.t("[JsonConfig] Failed to open JSON File"))};getExportImportButtons(){return k.createElement("div",{style:Et.exportImportButtons},k.createElement(N.Tooltip,{title:this.props.t("Import settings from JSON file"),slotProps:{popper:{sx:Et.tooltip}}},k.createElement(N.Fab,{size:"small",sx:{"&.MuiFab-root":Et.button},onClick:()=>{const n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("id","files"),n.setAttribute("opacity",0),n.addEventListener("change",i=>this.handleFileSelect(i),!1),n.click()}},k.createElement(Z.Publish,null))),k.createElement(N.Tooltip,{title:this.props.t("Export setting to JSON file"),slotProps:{popper:{sx:Et.tooltip}}},k.createElement(N.Fab,{size:"small",sx:{"&.MuiFab-root":Et.button},onClick:()=>{this.state.data&&j.Utils.generateFile(`${this.props.adapterName}.${this.props.instance}.json`,this.state.data)}},k.createElement(Z.Publish,{style:{transform:"rotate(180deg)"}}))))}onFileChange=async(n,i,u)=>{var v;if(n===`${this.props.adapterName}.admin`&&u){if(i===this.fileLangSubscribed)try{await cn.loadI18n(this.props.socket,(v=this.state.schema)==null?void 0:v.i18n,this.props.adapterName),this.setState({hash:`${this.state.hash}1`})}catch{}else if(this.fileSubscribed.includes(i))try{const o=await this.getConfigFile(this.fileSubscribed[0]);this.setState({schema:o,hash:pi(JSON.stringify(o)).toString()})}catch{}}};async getInstanceObject(){var n;try{const i=await this.props.socket.getObject(`system.adapter.${this.props.adapterName}.${this.props.instance}`);if(Array.isArray(i.encryptedNative)){if(!this.secret){const u=await this.props.socket.getSystemConfig();await Bi("../../lib/js/crypto-js/crypto-js.js","crypto-js"),this.secret=u.native.secret}return(n=i.encryptedNative)==null||n.forEach(u=>{i.native[u]&&(i.native[u]=Dl(this.secret,i.native[u]))}),i}return i}catch(i){window.alert(`[JsonConfig] Cannot read instance object: ${i}`)}return null}renderDialogConfirm(){return this.state.confirmDialog?k.createElement(j.DialogConfirm,{title:j.I18n.t("ra_Please confirm"),text:j.I18n.t("ra_Some data are not stored. Discard?"),ok:j.I18n.t("ra_Discard"),cancel:j.I18n.t("ra_Cancel"),onClose:n=>this.setState({confirmDialog:!1},()=>n&&j.Router.doNavigate(null))}):null}async scanForInclude(n,i){if(typeof n["#include"]=="string"){const v=await this._getConfigFile(n["#include"],[...i]);return delete n["#include"],v&&(n={...n,...v}),n}const u=Object.keys(n);for(let v=0;v ${i.join(" => ")}`),null;i.push(n);try{await this.props.socket.fileExists(`${this.props.adapterName}.admin`,n)||(n="jsonConfig.json");const v=await this.props.socket.readFile(`${this.props.adapterName}.admin`,n);let o="",h="";if(v.file!==void 0&&(h=v.file),typeof h=="string")o=h;else if(h.type==="Buffer"){let d="";const s=new Uint8Array(h.data),p=s.byteLength;for(let e=0;ethis.setState({saveConfigDialog:!1},()=>n&&this.onSave(!0))}):null}findAttr(n,i){if(i=i||this.state.schema,i!=null&&i.items){if(n in i.items)return i.items[n];for(const u of Object.values(i.items)){const v=this.findAttr(n,u);if(v)return v}}return null}postProcessing(n,i,u){if(u=u||this.state.schema,!n){console.error(`Data is empty in postProcessing: ${i}, ${JSON.stringify(u)}`);return}const v=n[i];if(u.items)if(u.type==="table"){const o=v;if(!Array.isArray(o))return;for(const h of o)for(const d of u.items)this.postProcessing(h,d.attr,d)}else for(const[o,h]of Object.entries(u.items)){if(h.type==="panel"||h.type==="tabs"||h.type==="accordion")return;this.postProcessing(n,o,h)}else if(i&&typeof v=="string")if(u.type==="text")u.trim!==!1&&(n[i]=v.trim());else if(u.type==="ip")n[i]=v.trim();else if(u.type==="number"){const o=parseFloat(v.toString().replace(",","."));u.min!==void 0&&ou.max?n[i]=u.max:n[i]=o}else if(u.type==="port"){const o=parseInt(v.toString(),10);u.min!==void 0&&ou.max&&(n[i]=u.max),n[i]!==0&&o<20?n[i]=20:o>65535?n[i]=65535:n[i]=o}else u.type==="checkbox"&&(n[i]=n[i]===!0||n[i]==="true"||n[i]==="on"||n[i]===1||n[i]==="1")}async onSave(n,i){if(n){const u=await this.getInstanceObject();if(!u){console.error("Something went wrong: may be no connection?"),window.alert("Something went wrong: may be no connection?");return}if(!this.state.data||!this.state.schema)return;const v={};for(const h of Object.keys(this.state.data)){const d=this.findAttr(h);(!d||!d.doNotSave||d.type==="state")&&!h.startsWith("_")?K.setValue(u.native,h,this.state.data[h]):(K.setValue(u.native,h,null),v[h]=this.state.data[h])}try{const h=JSON.parse(JSON.stringify(u));if(Array.isArray(h.encryptedNative)){await Bi("../../lib/js/crypto-js/crypto-js.js","crypto-js");for(const d of h.encryptedNative)h.native[d]&&(h.native[d]=Al(this.secret,h.native[d]))}await this.props.socket.setObject(h._id,h)}catch(h){window.alert(`[JsonConfig] Cannot set object: ${h}`)}const o={...u.native,...v};console.log(o),this.setState({changed:!1,data:o,updateData:this.state.updateData+1,originalData:o},()=>i&&j.Router.doNavigate(null))}else this.state.changed?this.setState({confirmDialog:!0}):j.Router.doNavigate(null)}componentDidUpdate(n,i){i.changed!==this.state.changed&&this.props.configStored(!this.state.changed)}async componentDidMount(){const n=`${window.location.protocol}//${window.location.host}${window.location.pathname}validate_config/${this.props.adapterName}`;console.log(`fetch ${n}`),await fetch(n)}render(){return!this.state.data||!this.state.schema?k.createElement(N.LinearProgress,null):k.createElement("div",{style:Et.root},this.renderDialogConfirm(),this.getExportImportButtons(),this.renderSaveConfigDialog(),k.createElement(cn,{key:this.state.hash,style:Et.scroll,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,adapterName:this.props.adapterName,instance:this.props.instance,isFloatComma:this.props.isFloatComma,dateFormat:this.props.dateFormat,schema:this.state.schema,common:this.state.common,expertMode:this.props.expertMode,data:this.state.data,updateData:this.state.updateData,onError:n=>this.setState({error:n}),onChange:(n,i,u)=>{u&&this.state.error&&(window.alert(j.I18n.t("Cannot save configuration because of error in configuration")),u=!1),u&&!this.state.changed&&!i&&(u=!1),n?this.setState({data:n,changed:i,saveConfigDialog:u}):u!==void 0&&this.setState({saveConfigDialog:u})},DeviceManager:this.props.DeviceManager,theme:this.state.theme}),k.createElement(j.SaveCloseButtons,{isIFrame:!1,dense:!0,paddingLeft:0,newReact:!0,theme:this.state.theme,noTextOnButtons:this.props.width==="xs"||this.props.width==="sm"||this.props.width==="md",changed:!!(this.state.error||this.state.changed),error:!!this.state.error,onSave:n=>this.onSave(!0,n),onClose:()=>this.onSave(!1)}))}};export{K as ConfigGeneric,$t as ConfigPanel,xl as JsonConfig,cn as JsonConfigComponent}; diff --git a/admin/custom/customComponents.js b/admin/custom/customComponents.js index cb19331e9..56aca7998 100644 --- a/admin/custom/customComponents.js +++ b/admin/custom/customComponents.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-Co3YA5NW.js","./assets/_commonjsHelpers-D6-XlEtG.js","./assets/index-Dbe-II7_.js","./assets/ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js","./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js","./assets/jsx-runtime-o-xyxrOj.js","./assets/createSvgIcon-BQThUM-f.js","./assets/DefaultPropsProvider-9qubdy-V.js","./assets/defaultTheme-avbtL0lf.js","./assets/createTheme-BwMO3rTt.js","./assets/DefaultPropsProvider-DbEA5uR6.js","./assets/Tabs-CvEv0KOT.js","./assets/useTheme-MELayQMj.js","./assets/useThemeWithoutDefault-C-hl_s0Z.js","./assets/FilledInput-BpuM_GyB.js","./assets/useEnhancedEffect-CdLBzwyA.js","./assets/index-B7G6Jpdl.js","./assets/useTheme-CDtRWagv.js","./assets/ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DibxNPKw.js","./assets/index-BzS6q3oS.js","./assets/ThemeProvider-DZTpMR8n.js","./assets/index-hlyxqX-8.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BlV79j8y.js","./assets/index-B8sZ2j0S.js","./assets/index-sawv1cUe.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DAwHgdl6.js","./assets/preload-helper-Dp1pzeXC.js","./assets/index-CWXHfC2L.js","./assets/leaflet-src-A2ZHl6nF.js","./assets/index-DIWNdd4a.js"])))=>i.map(i=>d[i]); -import{i as d,C as p}from"./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js";import s from"./assets/virtualExposes-BMKIjWrE.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const n={react:async()=>await a(()=>import("./assets/index-Co3YA5NW.js").then(t=>t.i),__vite__mapDeps([0,1]),import.meta.url),"@mui/x-date-pickers":async()=>await a(()=>import("./assets/index-Dbe-II7_.js"),__vite__mapDeps([2,3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-BzS6q3oS.js"),__vite__mapDeps([19,9,3,1,4,7,8,10,5,11,12,13,14,15,16,17,6,18,20]),import.meta.url),"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-hlyxqX-8.js"),__vite__mapDeps([21,9,3,1,4,22,23,12,13,17,8]),import.meta.url),"@iobroker/json-config":async()=>await a(()=>import("./assets/index-sawv1cUe.js"),__vite__mapDeps([24,3,1,4,22,23,12,9,13,25,18,14,7,8,10,5,15,26]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-CWXHfC2L.js").then(t=>t.i),__vite__mapDeps([27,1,3,4]),import.meta.url),leaflet:async()=>await a(()=>import("./assets/leaflet-src-A2ZHl6nF.js").then(t=>t.l),__vite__mapDeps([28,1]),import.meta.url),"@mui/icons-material":async()=>await a(()=>import("./assets/index-DIWNdd4a.js"),__vite__mapDeps([29,5,3,1,4,6,7,8,9,10]),import.meta.url)},o={react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.react.loaded=!0;const{react:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/x-date-pickers":{name:"@mui/x-date-pickers",version:"7.29.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/x-date-pickers"].loaded=!0;const{"@mui/x-date-pickers":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.4.12",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.6.18",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/json-config":{name:"@iobroker/json-config",version:"7.6.18",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/json-config"].loaded=!0;const{"@iobroker/json-config":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},leaflet:{name:"leaflet",version:"1.9.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.leaflet.loaded=!0;const{leaflet:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/icons-material":{name:"@mui/icons-material",version:"6.4.12",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/icons-material"].loaded=!0;const{"@mui/icons-material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},f=[],u={},c="default",l="ConfigCustomJavascriptSet";async function k(e={},t=[]){const r=d.init({name:l,remotes:f,shared:o,plugins:[],shareStrategy:"version-first"});var i=u[c];if(i||(i=u[c]={from:l}),!(t.indexOf(i)>=0)){t.push(i),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(m){console.error(m)}return p.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-Co3YA5NW.js","./assets/_commonjsHelpers-D6-XlEtG.js","./assets/index-Dbe-II7_.js","./assets/ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js","./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js","./assets/jsx-runtime-o-xyxrOj.js","./assets/createSvgIcon-BQThUM-f.js","./assets/DefaultPropsProvider-9qubdy-V.js","./assets/defaultTheme-avbtL0lf.js","./assets/createTheme-BwMO3rTt.js","./assets/DefaultPropsProvider-DbEA5uR6.js","./assets/Tabs-CvEv0KOT.js","./assets/useTheme-MELayQMj.js","./assets/useThemeWithoutDefault-C-hl_s0Z.js","./assets/FilledInput-BpuM_GyB.js","./assets/useEnhancedEffect-CdLBzwyA.js","./assets/index-B7G6Jpdl.js","./assets/useTheme-CDtRWagv.js","./assets/ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DibxNPKw.js","./assets/index-DZqbj5K4.js","./assets/ThemeProvider-DZTpMR8n.js","./assets/index-CEFrj8jA.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BlV79j8y.js","./assets/index-B8sZ2j0S.js","./assets/index-BADTG0C3.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DAwHgdl6.js","./assets/preload-helper-Dp1pzeXC.js","./assets/index-CWXHfC2L.js","./assets/leaflet-src-A2ZHl6nF.js","./assets/index-DIWNdd4a.js"])))=>i.map(i=>d[i]); +import{i as d,C as p}from"./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js";import s from"./assets/virtualExposes-BMKIjWrE.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const n={react:async()=>await a(()=>import("./assets/index-Co3YA5NW.js").then(t=>t.i),__vite__mapDeps([0,1]),import.meta.url),"@mui/x-date-pickers":async()=>await a(()=>import("./assets/index-Dbe-II7_.js"),__vite__mapDeps([2,3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-DZqbj5K4.js"),__vite__mapDeps([19,9,3,1,4,7,8,10,5,11,12,13,14,15,16,17,6,18,20]),import.meta.url),"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-CEFrj8jA.js"),__vite__mapDeps([21,9,3,1,4,22,23,12,13,17,8]),import.meta.url),"@iobroker/json-config":async()=>await a(()=>import("./assets/index-BADTG0C3.js"),__vite__mapDeps([24,3,1,4,22,23,12,9,13,25,18,14,7,8,10,5,15,26]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-CWXHfC2L.js").then(t=>t.i),__vite__mapDeps([27,1,3,4]),import.meta.url),leaflet:async()=>await a(()=>import("./assets/leaflet-src-A2ZHl6nF.js").then(t=>t.l),__vite__mapDeps([28,1]),import.meta.url),"@mui/icons-material":async()=>await a(()=>import("./assets/index-DIWNdd4a.js"),__vite__mapDeps([29,5,3,1,4,6,7,8,9,10]),import.meta.url)},o={react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.react.loaded=!0;const{react:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/x-date-pickers":{name:"@mui/x-date-pickers",version:"7.29.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/x-date-pickers"].loaded=!0;const{"@mui/x-date-pickers":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.4.12",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/json-config":{name:"@iobroker/json-config",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/json-config"].loaded=!0;const{"@iobroker/json-config":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},leaflet:{name:"leaflet",version:"1.9.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.leaflet.loaded=!0;const{leaflet:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/icons-material":{name:"@mui/icons-material",version:"6.4.12",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/icons-material"].loaded=!0;const{"@mui/icons-material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},f=[],u={},c="default",l="ConfigCustomJavascriptSet";async function k(e={},t=[]){const r=d.init({name:l,remotes:f,shared:o,plugins:[],shareStrategy:"version-first"});var i=u[c];if(i||(i=u[c]={from:l}),!(t.indexOf(i)>=0)){t.push(i),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(m){console.error(m)}return p.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init}; diff --git a/admin/mf-manifest.json b/admin/mf-manifest.json index 6e22f7e5e..a7082277d 100644 --- a/admin/mf-manifest.json +++ b/admin/mf-manifest.json @@ -1 +1 @@ -{"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"7.6.20","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-D12hwRdg.js","assets/createSvgIcon-BQT-7-GS.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","assets/index-CuCs5aLs.js","assets/useTheme-DF6qfrtI.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.4.12","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-glyB1sbj.js","assets/createSvgIcon-BQT-7-GS.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","assets/inheritsLoose--KnFDOw1.js","assets/useTheme-DF6qfrtI.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-x0m5vR1T.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Do-nCdWy.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DQiceR5U.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]} \ No newline at end of file +{"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"7.6.20","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-cbk_CvPb.js","assets/createSvgIcon-DMsh-YeH.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","assets/index-f32XoI0M.js","assets/Save-BSBgRX7g.js","assets/useTheme-N2j2HWMZ.js","assets/index-Dm1jc4t6.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.4.12","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Cd_NUyEa.js","assets/createSvgIcon-DMsh-YeH.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","assets/inheritsLoose-DgfqekV3.js","assets/useTheme-N2j2HWMZ.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-x0m5vR1T.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Do-nCdWy.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DQiceR5U.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]} \ No newline at end of file diff --git a/admin/remoteEntry.js b/admin/remoteEntry.js index a98ebce6f..4eed6e6b8 100644 --- a/admin/remoteEntry.js +++ b/admin/remoteEntry.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-D12hwRdg.js","./assets/createSvgIcon-BQT-7-GS.js","./assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","./assets/_commonjsHelpers-Cpj98o6Y.js","./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","./assets/index-CuCs5aLs.js","./assets/useTheme-DF6qfrtI.js","./assets/index-glyB1sbj.js","./assets/inheritsLoose--KnFDOw1.js","./assets/index-x0m5vR1T.js","./assets/index-Do-nCdWy.js","./assets/index-DQiceR5U.js"])))=>i.map(i=>d[i]); -import{i as d,a as m}from"./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import s from"./assets/virtualExposes-BIHI7g3E.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const i={"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-D12hwRdg.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-glyB1sbj.js"),__vite__mapDeps([7,1,2,3,4,8,6]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-x0m5vR1T.js").then(t=>t.i),__vite__mapDeps([9,3,2,4]),import.meta.url),react:async()=>await a(()=>import("./assets/index-Do-nCdWy.js").then(t=>t.i),__vite__mapDeps([10,3]),import.meta.url),"prop-types":async()=>await a(()=>import("./assets/index-DQiceR5U.js").then(t=>t.i),__vite__mapDeps([11,3]),import.meta.url)},o={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.6.20",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.4.12",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o.react.loaded=!0;const{react:e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["prop-types"].loaded=!0;const{"prop-types":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},_=[],u={},p="default",c="iobroker_javascript";async function k(e={},t=[]){const r=d.init({name:c,remotes:_,shared:o,plugins:[],shareStrategy:"version-first"});var n=u[p];if(n||(n=u[p]={from:c}),!(t.indexOf(n)>=0)){t.push(n),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(l){console.error(l)}return m.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-cbk_CvPb.js","./assets/createSvgIcon-DMsh-YeH.js","./assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","./assets/_commonjsHelpers-Cpj98o6Y.js","./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","./assets/index-f32XoI0M.js","./assets/Save-BSBgRX7g.js","./assets/useTheme-N2j2HWMZ.js","./assets/index-Dm1jc4t6.js","./assets/index-Cd_NUyEa.js","./assets/inheritsLoose-DgfqekV3.js","./assets/index-x0m5vR1T.js","./assets/index-Do-nCdWy.js","./assets/index-DQiceR5U.js"])))=>i.map(i=>d[i]); +import{i as d,a as m}from"./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import s from"./assets/virtualExposes-BIHI7g3E.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const i={"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-cbk_CvPb.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-Cd_NUyEa.js"),__vite__mapDeps([9,1,2,3,4,10,7]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-x0m5vR1T.js").then(t=>t.i),__vite__mapDeps([11,3,2,4]),import.meta.url),react:async()=>await a(()=>import("./assets/index-Do-nCdWy.js").then(t=>t.i),__vite__mapDeps([12,3]),import.meta.url),"prop-types":async()=>await a(()=>import("./assets/index-DQiceR5U.js").then(t=>t.i),__vite__mapDeps([13,3]),import.meta.url)},o={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.6.20",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.4.12",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o.react.loaded=!0;const{react:e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["prop-types"].loaded=!0;const{"prop-types":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},_=[],u={},p="default",c="iobroker_javascript";async function k(e={},t=[]){const r=d.init({name:c,remotes:_,shared:o,plugins:[],shareStrategy:"version-first"});var n=u[p];if(n||(n=u[p]={from:c}),!(t.indexOf(n)>=0)){t.push(n),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(l){console.error(l)}return m.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init}; diff --git a/admin/tab.html b/admin/tab.html index 68d18ce5c..c707f203e 100644 --- a/admin/tab.html +++ b/admin/tab.html @@ -115,15 +115,15 @@ type="text/javascript" src="google-blockly/own/blocks_object.js" > - + - - - + + + - + diff --git a/build-backend/lib/convert.js b/build-backend/lib/convert.js index 5da830d7a..d57ece2f2 100644 --- a/build-backend/lib/convert.js +++ b/build-backend/lib/convert.js @@ -12,25 +12,26 @@ function stringify(data) { result = JSON.stringify(obj, null, 2); } else if (data.data.type === 'script') { + const objScript = obj; id = `${id.replace(/\./g, '/').substring('script.js.'.length)}.json`; - if (obj.common?.source) { - const source = obj.common.source; - if (obj.common.enabled) { + if (objScript.common?.source) { + const source = objScript.common.source; + if (objScript.common.enabled) { // @ts-expect-error We do not use it - delete obj.common.enabled; + delete objScript.common.enabled; } - if (obj.common.engine === 'system.adapter.javascript.0') { + if (objScript.common.engine === 'system.adapter.javascript.0') { // @ts-expect-error We do not use it - delete obj.common.engine; + delete objScript.common.engine; } - if (obj.common.engineType === 'Javascript/js') { + if (objScript.common.engineType === 'Javascript/js') { // @ts-expect-error We do not use it - delete obj.common.engineType; + delete objScript.common.engineType; } // @ts-expect-error We do not use it - delete obj.common.name; + delete objScript.common.name; // @ts-expect-error We do not use it - delete obj.common.source; + delete objScript.common.source; if (JSON.stringify(obj.common) !== '{}') { result = `/* -- do not edit following lines - START --\n${JSON.stringify(obj.common, null, 2)}\n-- do not edit previous lines - END --*/\n${source}`; } diff --git a/build-backend/lib/convert.js.map b/build-backend/lib/convert.js.map index b6cd954a2..d8cd06c81 100644 --- a/build-backend/lib/convert.js.map +++ b/build-backend/lib/convert.js.map @@ -1 +1 @@ -{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/lib/convert.ts"],"names":[],"mappings":";;AACA,8BAyCC;AAED,sBA2EC;AAvHD,+CAA+C;AAC/C,SAAgB,SAAS,CAAC,IAA0E;IAIhG,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;IACtB,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,IAAI,MAA0B,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1E,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;QACrE,IAAK,GAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAChD,MAAM,MAAM,GAAI,GAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5D,IAAK,GAA6B,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChD,oCAAoC;gBACpC,OAAQ,GAA6B,CAAC,MAAM,CAAC,OAAO,CAAC;YACzD,CAAC;YACD,IAAK,GAA6B,CAAC,MAAM,CAAC,MAAM,KAAK,6BAA6B,EAAE,CAAC;gBACjF,oCAAoC;gBACpC,OAAQ,GAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;YACxD,CAAC;YACD,IAAK,GAA6B,CAAC,MAAM,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;gBACvE,oCAAoC;gBACpC,OAAQ,GAA6B,CAAC,MAAM,CAAC,UAAU,CAAC;YAC5D,CAAC;YACD,oCAAoC;YACpC,OAAQ,GAA6B,CAAC,MAAM,CAAC,IAAI,CAAC;YAClD,oCAAoC;YACpC,OAAQ,GAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;YACpD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtC,MAAM,GAAG,iDAAiD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,+CAA+C,MAAM,EAAE,CAAC;YACzJ,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,MAAM,CAAC;YACpB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,SAAgB,KAAK,CAAC,IAGrB;IACG,IAAI,GAAG,GAAW,IAAI,CAAC,IAAI,CAAC;IAC5B,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAY,CAAC;IACjB,IAAI,MAAmC,CAAC;IACxC,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1B,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE5E,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,KAAK,GAAG,wBAAwB,IAAI,MAAM,GAAY,EAAE,CAAC;YACzD,MAAM,GAAG;gBACL,MAAM,EAAE;oBACJ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI;iBACtC;gBACD,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,aAAa,IAAI,EAAE;gBACxB,MAAM,EAAE,EAAE;aACb,CAAC;QACN,CAAC;QACD,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACJ,QAAQ;QACR,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,MAAc,CAAC;QACnB,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;oBACpC,MAAM;gBACV,CAAC;gBACD,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC;YACX,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,GAAG,EAAqB,CAAC;gBAC/B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAClC,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACpB,KAAK,GAAG,wBAAwB,EAAE,MAAM,GAAY,EAAE,CAAC;YAC3D,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,EAAqB,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,aAAa,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3F,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,6BAA6B,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,eAAe,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;QACtD,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAA+B,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC3E,CAAC","sourcesContent":["// controller uses this file when build uploads\nexport function stringify(data: { data: ioBroker.ScriptObject | ioBroker.ChannelObject; id: string }): {\n id: string;\n data: string | undefined;\n} {\n const obj = data.data;\n let id = data.id;\n let result: string | undefined;\n if (data.data.type === 'channel') {\n id = `${id.replace(/\\./g, '/').substring('script.js.'.length)}/_dir.json`;\n result = JSON.stringify(obj, null, 2);\n } else if (data.data.type === 'script') {\n id = `${id.replace(/\\./g, '/').substring('script.js.'.length)}.json`;\n if ((obj as ioBroker.ScriptObject).common?.source) {\n const source = (obj as ioBroker.ScriptObject).common.source;\n if ((obj as ioBroker.ScriptObject).common.enabled) {\n // @ts-expect-error We do not use it\n delete (obj as ioBroker.ScriptObject).common.enabled;\n }\n if ((obj as ioBroker.ScriptObject).common.engine === 'system.adapter.javascript.0') {\n // @ts-expect-error We do not use it\n delete (obj as ioBroker.ScriptObject).common.engine;\n }\n if ((obj as ioBroker.ScriptObject).common.engineType === 'Javascript/js') {\n // @ts-expect-error We do not use it\n delete (obj as ioBroker.ScriptObject).common.engineType;\n }\n // @ts-expect-error We do not use it\n delete (obj as ioBroker.ScriptObject).common.name;\n // @ts-expect-error We do not use it\n delete (obj as ioBroker.ScriptObject).common.source;\n if (JSON.stringify(obj.common) !== '{}') {\n result = `/* -- do not edit following lines - START --\\n${JSON.stringify(obj.common, null, 2)}\\n-- do not edit previous lines - END --*/\\n${source}`;\n } else {\n result = source;\n }\n } else {\n result = JSON.stringify(obj, null, 2);\n }\n }\n\n return { id, data: result };\n}\n\nexport function parse(data: {\n data: string;\n id: string;\n}): { id: string; data: ioBroker.ScriptObject; error: string | undefined } | null {\n let obj: string = data.data;\n let id = data.id;\n let error: string | undefined;\n let name: string;\n let result: ioBroker.Object | undefined;\n if (id[id.length - 1] === '/') {\n id = id.substring(0, id.length - 1);\n }\n\n if (!id.match(/\\.json$/)) {\n return null;\n }\n\n if (id.match(/_dir\\.json$/)) {\n name = id.substring(0, id.length - '/_dir.json'.length).replace(/\\//g, '.');\n\n try {\n result = JSON.parse(obj);\n } catch (err: unknown) {\n error = `Cannot parse object \"${name}\": ${err as Error}`;\n result = {\n common: {\n name: name.split('.').pop() || name,\n },\n type: 'channel',\n _id: `script.js.${name}`,\n native: {},\n };\n }\n id = `script.js.${name}`;\n } else {\n //script\n name = id.substring(0, id.length - '.json'.length).replace(/\\//g, '.');\n let source: string;\n if (obj.match(/^\\/\\*\\s--\\sdo\\snot/)) {\n obj = obj.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n const lines = obj.split('\\n');\n let stringObj = '';\n let line = 1;\n while (line < lines.length) {\n if (lines[line].match(/^--\\sdo\\snot/)) {\n break;\n }\n stringObj += lines[line];\n line++;\n }\n lines.splice(0, line + 1);\n source = lines.join('\\n');\n try {\n result = {} as ioBroker.Object;\n result.common = JSON.parse(stringObj);\n result.common.source = source;\n } catch (err: unknown) {\n error = `Cannot parse object \"${id}\": ${err as Error}`;\n }\n } else {\n source = obj;\n }\n result = {} as ioBroker.Object;\n result.common = result.common || {};\n result._id = `script.js.${name}`;\n result.type = 'script';\n result.common.name = name.split('.').pop() || name;\n result.common.enabled = result.common.enabled === undefined ? true : result.common.enabled;\n result.common.engine = result.common.engine || 'system.adapter.javascript.0';\n result.common.engineType = result.common.engineType || 'Javascript/js';\n result.common.source = result.common.source || source;\n id = `script.js.${name}`;\n }\n\n return { id: id, data: result as ioBroker.ScriptObject, error: error };\n}\n"]} \ No newline at end of file +{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/lib/convert.ts"],"names":[],"mappings":";;AACA,8BA0CC;AAED,sBA2EC;AAxHD,+CAA+C;AAC/C,SAAgB,SAAS,CAAC,IAA0E;IAIhG,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;IACtB,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,IAAI,MAA0B,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1E,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,GAA4B,CAAC;QAC/C,EAAE,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;QACrE,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACvC,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3B,oCAAoC;gBACpC,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,6BAA6B,EAAE,CAAC;gBAC5D,oCAAoC;gBACpC,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;gBAClD,oCAAoC;gBACpC,OAAO,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;YACvC,CAAC;YACD,oCAAoC;YACpC,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YAC7B,oCAAoC;YACpC,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtC,MAAM,GAAG,iDAAiD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,+CAA+C,MAAM,EAAE,CAAC;YACzJ,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,MAAM,CAAC;YACpB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,SAAgB,KAAK,CAAC,IAGrB;IACG,IAAI,GAAG,GAAW,IAAI,CAAC,IAAI,CAAC;IAC5B,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAY,CAAC;IACjB,IAAI,MAAmC,CAAC;IACxC,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1B,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE5E,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,KAAK,GAAG,wBAAwB,IAAI,MAAM,GAAY,EAAE,CAAC;YACzD,MAAM,GAAG;gBACL,MAAM,EAAE;oBACJ,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI;iBACtC;gBACD,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,aAAa,IAAI,EAAE;gBACxB,MAAM,EAAE,EAAE;aACb,CAAC;QACN,CAAC;QACD,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACJ,QAAQ;QACR,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,MAAc,CAAC;QACnB,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;oBACpC,MAAM;gBACV,CAAC;gBACD,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC;YACX,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAC1B,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC;gBACD,MAAM,GAAG,EAAqB,CAAC;gBAC/B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YAClC,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACpB,KAAK,GAAG,wBAAwB,EAAE,MAAM,GAAY,EAAE,CAAC;YAC3D,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,EAAqB,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,aAAa,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC3F,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,6BAA6B,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,eAAe,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;QACtD,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAA+B,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC3E,CAAC","sourcesContent":["// controller uses this file when build uploads\nexport function stringify(data: { data: ioBroker.ScriptObject | ioBroker.ChannelObject; id: string }): {\n id: string;\n data: string | undefined;\n} {\n const obj = data.data;\n let id = data.id;\n let result: string | undefined;\n if (data.data.type === 'channel') {\n id = `${id.replace(/\\./g, '/').substring('script.js.'.length)}/_dir.json`;\n result = JSON.stringify(obj, null, 2);\n } else if (data.data.type === 'script') {\n const objScript = obj as ioBroker.ScriptObject;\n id = `${id.replace(/\\./g, '/').substring('script.js.'.length)}.json`;\n if (objScript.common?.source) {\n const source = objScript.common.source;\n if (objScript.common.enabled) {\n // @ts-expect-error We do not use it\n delete objScript.common.enabled;\n }\n if (objScript.common.engine === 'system.adapter.javascript.0') {\n // @ts-expect-error We do not use it\n delete objScript.common.engine;\n }\n if (objScript.common.engineType === 'Javascript/js') {\n // @ts-expect-error We do not use it\n delete objScript.common.engineType;\n }\n // @ts-expect-error We do not use it\n delete objScript.common.name;\n // @ts-expect-error We do not use it\n delete objScript.common.source;\n if (JSON.stringify(obj.common) !== '{}') {\n result = `/* -- do not edit following lines - START --\\n${JSON.stringify(obj.common, null, 2)}\\n-- do not edit previous lines - END --*/\\n${source}`;\n } else {\n result = source;\n }\n } else {\n result = JSON.stringify(obj, null, 2);\n }\n }\n\n return { id, data: result };\n}\n\nexport function parse(data: {\n data: string;\n id: string;\n}): { id: string; data: ioBroker.ScriptObject; error: string | undefined } | null {\n let obj: string = data.data;\n let id = data.id;\n let error: string | undefined;\n let name: string;\n let result: ioBroker.Object | undefined;\n if (id[id.length - 1] === '/') {\n id = id.substring(0, id.length - 1);\n }\n\n if (!id.match(/\\.json$/)) {\n return null;\n }\n\n if (id.match(/_dir\\.json$/)) {\n name = id.substring(0, id.length - '/_dir.json'.length).replace(/\\//g, '.');\n\n try {\n result = JSON.parse(obj);\n } catch (err: unknown) {\n error = `Cannot parse object \"${name}\": ${err as Error}`;\n result = {\n common: {\n name: name.split('.').pop() || name,\n },\n type: 'channel',\n _id: `script.js.${name}`,\n native: {},\n };\n }\n id = `script.js.${name}`;\n } else {\n //script\n name = id.substring(0, id.length - '.json'.length).replace(/\\//g, '.');\n let source: string;\n if (obj.match(/^\\/\\*\\s--\\sdo\\snot/)) {\n obj = obj.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n const lines = obj.split('\\n');\n let stringObj = '';\n let line = 1;\n while (line < lines.length) {\n if (lines[line].match(/^--\\sdo\\snot/)) {\n break;\n }\n stringObj += lines[line];\n line++;\n }\n lines.splice(0, line + 1);\n source = lines.join('\\n');\n try {\n result = {} as ioBroker.Object;\n result.common = JSON.parse(stringObj);\n result.common.source = source;\n } catch (err: unknown) {\n error = `Cannot parse object \"${id}\": ${err as Error}`;\n }\n } else {\n source = obj;\n }\n result = {} as ioBroker.Object;\n result.common = result.common || {};\n result._id = `script.js.${name}`;\n result.type = 'script';\n result.common.name = name.split('.').pop() || name;\n result.common.enabled = result.common.enabled === undefined ? true : result.common.enabled;\n result.common.engine = result.common.engine || 'system.adapter.javascript.0';\n result.common.engineType = result.common.engineType || 'Javascript/js';\n result.common.source = result.common.source || source;\n id = `script.js.${name}`;\n }\n\n return { id: id, data: result as ioBroker.ScriptObject, error: error };\n}\n"]} \ No newline at end of file diff --git a/build-backend/main.js b/build-backend/main.js index 38e4431a2..f61eeb383 100644 --- a/build-backend/main.js +++ b/build-backend/main.js @@ -681,12 +681,11 @@ class JavaScript extends adapter_core_1.Adapter { this.context.errorLogFunction = this.log; this.config.maxSetStatePerMinute = parseInt(this.config.maxSetStatePerMinute, 10) || 1000; this.config.maxTriggersPerScript = parseInt(this.config.maxTriggersPerScript, 10) || 100; - if (this.supportsFeature && this.supportsFeature('PLUGINS')) { + if (this.supportsFeature?.('PLUGINS')) { const sentryInstance = this.getPluginInstance('sentry'); if (sentryInstance) { const Sentry = sentryInstance.getSentryObject(); - if (Sentry) { - const scope = Sentry.getCurrentScope(); + Sentry?.withScope(scope => { scope.addEventProcessor((event, _hint) => { if (event.exception?.values?.[0]) { const eventData = event.exception.values[0]; @@ -697,7 +696,7 @@ class JavaScript extends adapter_core_1.Adapter { if (eventData.stacktrace.frames.find(frame => frame.filename?.includes(SCRIPT_CODE_MARKER))) { return null; } - //Exclude event if own directory is included but not inside own node_modules + // Exclude event if own directory is included but not inside own node_modules const ownNodeModulesDir = (0, node_path_1.join)(__dirname, 'node_modules'); if (!eventData.stacktrace.frames.find(frame => frame.filename && frame.filename.includes(__dirname) && @@ -711,7 +710,7 @@ class JavaScript extends adapter_core_1.Adapter { // No exception in it ... do not report return null; }); - } + }); } } await this.main(); diff --git a/build-backend/main.js.map b/build-backend/main.js.map index dcefda4c6..cc4fefe4b 100644 --- a/build-backend/main.js.map +++ b/build-backend/main.js.map @@ -1 +1 @@ -{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qCAAqD;AACrD,qCAAwF;AACxF,yCAAiD;AACjD,2DAA4D;AAC5D,6CAAkE;AAClE,yCAA8C;AAC9C,wDAAgC;AAEhC,kDAAoC;AACpC,oDAAsC;AACtC,8CAAgC;AAChC,oDAAsC;AACtC,gDAAkC;AAClC,kDAAoC;AACpC,kDAAoC;AACpC,8CAAgC;AAChC,4CAA8B;AAC9B,gDAAkC;AAClC,gDAAkC;AAClC,kEAAoD;AACpD,oDAAsC;AACtC,gDAAkC;AAElC,sCAAsC;AACtC,kDAAoC;AACpC,6CAA+B;AAC/B,sCAAsC;AACtC,yDAA2C;AAC3C,4DAA8C;AAE9C,yDAA6G;AAK7G,yCAAsC;AACtC,gEAAwC;AACxC,uCAAuD;AACvD,2CAAwC;AACxC,uEAAqE;AACrE,6CAAkE;AAClE,+CAAiE;AACjE,iEAAwG;AACxG,uCAAyC;AACzC,2DAM+B;AAuC/B;;;;GAIG;AACH,MAAM,wBAAwB,GAAa;IACvC,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,YAAY;IACZ,iBAAiB;IACjB,QAAQ;CACX,CAAC;AAEF,MAAM,WAAW,GAAwB,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC7G,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC,IAAI,aAAiC,CAAC;AAEtC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AAE9B,sCAAsC;AACtC,IAAI,SAAiC,CAAC;AAEtC,yEAAyE;AACzE,kHAAkH;AAClH,qCAAqC;AACrC,qDAAqD;AACrD,MAAM,gBAAgB,GAAG,oBAAoB,WAAW,CAAC,OAAO,eAAe,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;AAErH,2IAA2I;AAC3I,SAAS,eAAe,CAAC,SAAe;IACpC,MAAM,QAAQ,GAAW,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACrD,+EAA+E;IAC/E,iFAAiF;IACjF,0EAA0E;IAC1E,gDAAgD;IAChD,MAAM,UAAU,GAAU,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,8CAA8C;IAC9C,+EAA+E;IAC/E,MAAM,SAAS,GAAW,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO;IACH,qDAAqD;IACrD,CAAC,SAAS,GAAG,yCAAyC;QACtD,uEAAuE;QACvE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,6CAA6C;QACtE,2EAA2E;QAC3E,2EAA2E;QAC3E,0DAA0D;QAC1D,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,8CAA8C;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,qCAAqC;YAC1C,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,2BAA2B;YACtD,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW;YAC1D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ;YACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ;YACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM;YACtC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO;YACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO;YACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS;YACzC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY;YAC5C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU;YAC1C,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW;YAC5C,mEAAmE;YACnE,qEAAqE;YAErE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,uBAAuB;YACpD,MAAM,CAAC;YACP,EAAE;YACF,EAAE,GAAG,2CAA2C;YAChD,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,wBAAwB;YAC7D,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,EAAE;YACF,IAAI,GAAG,yDAAyD;QACpE,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,gCAAgC;QACzE,SAAS,CAAC,eAAe,EAAE,CAC9B,CAAC;AACN,CAAC;AAED,MAAM,cAAc,GAAG,UAAU,CAAC;AAClC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAE9C,SAAS,aAAa,CAAC,GAA0B;IAC7C,OAAO,GAAG,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,YAAY,CAAC,GAA2B,EAAE,EAAU,EAAE,QAAgB;IAC3E,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,UAAoB;IACxD,MAAM,GAAG,GAAS,kBAAkB,EAAE,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/C,IACI,UAAU;QACV,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,UAAU,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,EACrG,CAAC;QACC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzB,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE7B,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB;IACvB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEjB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAU;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAEpC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,iFAAiF;AACjF,sIAAsI;AACtI,qDAAqD;AACrD,IAAA,yCAA2B,EAAC;IACxB,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;CACzC,CAAC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,mBAAmB,GAAW,IAAI,oBAAM,CAAC,iDAA4B,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACvG;;;GAGG;AAEH,MAAM,UAAW,SAAQ,sBAAO;IAGX,OAAO,CAAoB;IAEpC,gBAAgB,GAMpB;QACA,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1C,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACxC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QACvC,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1C,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;KAC7C,CAAC;IAEe,IAAI,CAAU;IAEvB,eAAe,GAAG,KAAK,CAAC;IACxB,cAAc,GAAG,KAAK,CAAC;IAEvB,OAAO,GAAoC,EAAE,CAAC;IAC9C,MAAM,GAAmC,EAAE,CAAC;IACnC,kBAAkB,GAAmC,EAAE,CAAC;IACxD,QAAQ,GAAa,EAAE,CAAC;IACxB,aAAa,GAAyB,EAAE,CAAC;IACzC,iBAAiB,GAA6B,EAAE,CAAC;IACjD,mBAAmB,GAAsB,EAAE,CAAC;IAC5C,kBAAkB,GAA2B,EAAE,CAAC;IAChD,sBAAsB,GAA2B,EAAE,CAAC;IACpD,WAAW,GAA6B,EAAE,CAAC;IAC3C,MAAM,GAAgD,EAAE,CAAC;IACzD,MAAM,GAAa,EAAE,CAAC;IACtB,KAAK,GAA0C,EAAE,CAAC,CAAC,WAAW;IAC9D,OAAO,GAA6B,EAAE,CAAC;IACvC,kBAAkB,GAG/B,EAAE,CAAC;IACU,gBAAgB,GAQ7B,EAAE,CAAC;IACU,eAAe,GAAqC,EAAE,CAAC,CAAC,aAAa;IACrE,6BAA6B,GAA4B,EAAE,CAAC;IAE7E,oCAAoC;IAC5B,aAAa,GAAG,KAAK,CAAC;IAEtB,YAAY,GAGhB,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAEpC,gBAAgB,GAA0B,IAAI,CAAC,CAAC,gCAAgC;IAChF,gBAAgB,GAA0B,IAAI,CAAC,CAAC,gCAAgC;IAChF,iBAAiB,GAA0B,IAAI,CAAC,CAAC,gCAAgC;IAEjF,SAAS,GAAG,EAAE,CAAC,CAAC,uBAAuB;IAEvC,MAAM,CAAqB;IAE3B,YAAY,GAA2B,EAAE,CAAC;IAE1C,0BAA0B,GAA0B,IAAI,CAAC;IAEzD,YAAY,GAAG,EAAE,CAAC;IAC1B,oDAAoD;IAC5C,kBAAkB,GAAG,EAAE,CAAC;IAChC,gDAAgD;IAChD,8DAA8D;IACtD,+BAA+B,GAA2B,EAAE,CAAC;IAC7D,iBAAiB,GAAG,CAAC,CAAC;IAC9B,mCAAmC;IAC3B,QAAQ,CAAS;IAER,kBAAkB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAErD,UAAU,GAAe;QAC7B,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,KAAK;KACjB,CAAC;IAEF,YAAY,UAAmC,EAAE;QAC7C,OAAO,GAAG;YACN,GAAG,OAAO;YACV,IAAI,EAAE,YAAY,EAAE,eAAe;YACnC,aAAa,EAAE,IAAI;YACnB;;;eAGG;YACH,KAAK,EAAE,CAAC,GAAU,EAAW,EAAE;gBAC3B,kEAAkE;gBAClE,mEAAmE;gBACnE,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,qBAAqB,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACpE,IAAI,qBAAqB,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC7B,yBAAyB;wBACzB,IAAI,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;wBAC5D,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAEzC,mCAAmC;wBACnC,kEAAkE;wBAClE,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,+DAA+D;oBAC/D,8EAA8E;oBAC9E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,EAAE,CAAC;wBACrE,2FAA2F;wBAC3F,0CAA0C;wBAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,oHAAoH,CACvH,CAAC;wBACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAE1B,kEAAkE;wBAClE,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;gBAED,OAAO,KAAK,CAAC;YACjB,CAAC;SACJ,CAAC;QAEF,KAAK,CAAC,OAAyB,CAAC,CAAC;QAEjC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,IAAI,GAAG;YACR,EAAE,EAAE,EAAe;YACnB,aAAa,EAAE,EAA2B;YAC1C,KAAK;YACL,MAAM;YACN,GAAG;YACH,MAAM;YACN,IAAI;YACJ,KAAK;YACL,KAAK;YACL,GAAG;YACH,EAAE;YACF,IAAI;YACJ,IAAI;YACJ,aAAa;YACb,MAAM;YACN,IAAI;YAEJ,OAAO;YACP,KAAK;YACL,WAAW;YACX,YAAY;SACf,CAAC;QAEF,gDAAgD;QAChD,IAAI,SAA6B,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBACvB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACJ,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;YAEjE,OAAO,EAAE,KAAK,EAAE,kCAAkC;YAClD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAChD,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,IAAI,EAAE,eAAe;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAE/B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9D,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1E,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YACtD,SAAS;YACT,yBAAyB,EAAzB,wCAAyB;YACzB,OAAO,EAAE,IAAmC;YAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SACrC,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAM,CAAC,sCAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,GAA4B;QACzD,6FAA6F;QAC7F,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,sDAAsD;YACtD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAsB,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO;QACX,CAAC;QAED,+DAA+D;QAC/D,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAC3B,CAAC;YACD,OAAO;QACX,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,cAAc;YACd,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAEnC,2BAA2B;YAC3B,IAAI,GAAG,EAAE,CAAC;gBACN,SAAS;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpC,aAAa;gBACb,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,EAAE,KAAK,eAAe,IAAI,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAClD,kCAAkC;YAClC,IAAA,mBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;QAChE,CAAC;QAED,kDAAkD;QAClD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,oBAAoB,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;QAC5G,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,EAAE,GAAmC,CAAC,CAAC;QAErE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,8BAA8B;QAEjE,oFAAoF;QACpF,gFAAgF;QAChF,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,0BAA0B;YAC1B,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;iBACxB,IAAI,CAAC,KAAK,CAAC,EAAE;gBACV,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;gBAC5B,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACR,YAAY;YAChB,CAAC,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACnC,4CAA4C;YAC5C,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACD,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvC,0BAA0B;YAC1B,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,mFAAmF;gBACnF,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAAC;oBACvE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACzE,+DAA+D;gBAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAE1B,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAEpC,uCAAuC;gBACvC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,wCAAwC;YACxC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,6CAA6C;gBAC7C,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAAC;oBACvE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACnE,oDAAoD;gBACpD,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACrB,6BAA6B;oBAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACrD,qBAAqB;YACrB,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;oBAChE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,mBAAmB;gBACnB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBAC5D,4BAA4B;oBAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACxD,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAED,IACI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;oBACjD,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE;wBAC3D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC,EAC/D,CAAC;oBACC,kBAAkB;oBAClB,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBAC7F,2BAA2B;wBAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC9B,CAAC;gBACL,CAAC;qBAAM,IACH,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;oBACjD,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE;wBAC3D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC,EAC/D,CAAC;oBACC,iBAAiB;oBAEjB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBACjF,eAAe;wBACf,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAClC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,uDAAuD;oBACvD,uCAAuC;oBACvC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9E,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC/B,+EAA+E;wBAC/E,qCAAqC;wBACrC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;4BAC3B,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;wBACjC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,KAA6B;QACnD,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,sDAAsD;YACtD,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,OAAO;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;YACD,OAAO;QACX,CAAC;QAED,+DAA+D;QAC/D,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YAC5B,CAAC;YACD,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAsC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,QAAQ,EAAE,CAAC;gBACX,2BAA2B;gBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;oBAClF,KAAK,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;wBAC1D,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE;qBACjC,CAAC,CAAC;gBACP,CAAC;gBAED,8FAA8F;gBAC9F,KAAI,gBAAiB,QAAQ,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChF,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5B,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,sBAAsB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BAC5F,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzD,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,KAAI,iBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,GAAG,EAAoB,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,4BAAiB,EAC/B,IAAI,CAAC,OAAO,EACZ,EAAE,EACF,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAE,KAAK,CAAC,EAC5C,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAE,QAAQ,CAAC,CAClD,CAAC;QAEF,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,GAAG,EAAE,uBAAuB,IAAI,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC1F,IAAI,CAAC;oBACD,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,QAAgB,EAAE,IAAmB;QAC1D,yCAAyC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACD,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAoB;QAC/B,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC/C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC3C,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjC,QAAQ,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAyC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAyC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;QAE9G,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,MAAM,cAAc,GAAsC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAExF,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;gBAChD,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;oBACvC,KAAK,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBACrC,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC5C,IACI,SAAS,CAAC,UAAU,EAAE,MAAM;gCAC5B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;gCAC1C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EACpC,CAAC;gCACC,6CAA6C;gCAC7C,IACI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACrC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAC/C,EACH,CAAC;oCACC,OAAO,IAAI,CAAC;gCAChB,CAAC;gCACD,4EAA4E;gCAC5E,MAAM,iBAAiB,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gCAC1D,IACI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAC7B,KAAK,CAAC,EAAE,CACJ,KAAK,CAAC,QAAQ;oCACd,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;oCAClC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAClD,EACH,CAAC;oCACC,OAAO,IAAI,CAAC;gCAChB,CAAC;gCACD,+DAA+D;gCAC/D,OAAO,KAAK,CAAC;4BACjB,CAAC;wBACL,CAAC;wBAED,uCAAuC;wBACvC,OAAO,IAAI,CAAC;oBAChB,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,GAAqB;QAC3B,QAAQ,GAAG,EAAE,OAAO,EAAE,CAAC;YACnB,6BAA6B;YAC7B,KAAK,UAAU,CAAC;YAChB,KAAK,cAAc;gBACf,IACI,GAAG,CAAC,OAAO;oBACX,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI;wBAC1B,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;wBAClC,cAAc,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,SAAS;wBACvD,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,EAC9C,CAAC;oBACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBAChD,iDAAiD;wBACjD,IACI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;4BACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EACpD,CAAC;4BACC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCACjE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gCAEhC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gCAEpF,IAAI,CAAC;oCACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wCACf,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAW,EAAE,EAAE;4CACvD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gDAClB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;4CACvE,CAAC;4CAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;wCAC7D,CAAC,CAAC,CAAC;oCACP,CAAC;yCAAM,CAAC;wCACJ,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAW,EAAE,EAAE;4CACvD,OAAO,CAAC,OAAO;gDACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;wCAC3E,CAAC,CAAC,CAAC;oCACP,CAAC;gCACL,CAAC;gCAAC,OAAO,GAAY,EAAE,CAAC;oCACpB,KAAK,IAAI,CAAC,QAAQ,CACd,iBAAiB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAC5D,IAAI,EACJ,IAAI,CACP,CAAC;oCACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAY,CAAC,CAAC;gCAC5D,CAAC;4BACL,CAAC,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM;YAEV,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,8BAA8B;gBAC9B,MAAM,OAAO,GAA2B,EAAE,CAAC;gBAE3C,6CAA6C;gBAC7C,IAAI,CAAC;oBACD,MAAM,cAAc,GAAG,IAAA,uCAAqB,EAAC,gCAAW,CAAC,CAAC;oBAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACL,qBAAqB;gBACzB,CAAC;gBAED,6EAA6E;gBAC7E,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAElC,oEAAoE;gBACpE,KAAK,MAAM,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;oBAChF,OAAO,CAAC,GAAG,iBAAiB,OAAO,CAAC,GAAG,IAAI,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;gBACnG,CAAC;gBAED,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,aAAa,GACf,QAAQ,CACJ,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;wBACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;wBAC3B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAC/B,EAAE,CACL,IAAI,CAAC,CAAC;oBACX,MAAM,YAAY,GACd,QAAQ,CACJ,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;wBAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;wBAC1B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAC9B,EAAE,CACL,IAAI,CAAC,CAAC;oBACX,MAAM,SAAS,GACX,UAAU,CACN,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CACtF,IAAI,CAAC,CAAC;oBACX,MAAM,QAAQ,GACV,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC5F,CAAC,CAAC;oBACN,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;oBACnC,IAAI,WAAW,GAA6D,EAG3E,CAAC;oBACF,IAAI,CAAC;wBACD,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACzE,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAY,EAAE,CAAC,CAAC;oBACnE,CAAC;oBACD,IAAI,WAAW,EAAE,CAAC;wBACd,IAAI,CAAC;4BACD,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CACxC,KAAK,EACL,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EACpD,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC9D,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAC1D,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAI,CACP,CAAC;4BACF,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CACvC,KAAK,EACL,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAClD,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5D,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EACxD,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,IAAI,CACP,CAAC;wBACN,CAAC;wBAAC,OAAO,GAAY,EAAE,CAAC;4BACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAY,EAAE,CAAC,CAAC;wBACnE,CAAC;oBACL,CAAC;oBAED,MAAM,MAAM,GAA+E,EAAE,CAAC;oBAC9F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACJ,WAAiD,CAAC,CAAC,CAAC;wBACpD,WAAiD,CAAC,CAAC,CAAC,CAC5D,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBACf,MAAM,SAAS,GACV,WAAwD,CAAC,GAAG,CAAC,KAAK,IAAI;4BACvE,CAAC,KAAK,CAAE,WAA+C,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBAE5E,MAAM,CAAC,GAAG,CAAC,GAAG;4BACV,WAAW,EAAE,SAAS;4BACtB,UAAU,EAAE,SAAS;gCACjB,CAAC,CAAC,yBAAyB,CAAE,WAA+C,CAAC,GAAG,CAAC,CAAC;gCAClF,CAAC,CAAC,KAAK;4BACX,IAAI,EAAE,SAAS;gCACX,CAAC,CAAE,WAA+C,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;gCACrE,CAAC,CAAC,KAAK;yBACd,CAAC;oBACN,CAAC,CAAC,CAAC;oBAEH,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC7D,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,SAAS,GACX,UAAU,CACN,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CACtF,IAAI,CAAC,CAAC;oBACX,MAAM,QAAQ,GACV,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC5F,CAAC,CAAC;oBACN,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;oBAEnC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;oBAC3E,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,EAAE,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;oBAC1F,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;oBACpF,MAAM,aAAa,GACf,QAAQ,CACJ,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;wBACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;wBAC3B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAC/B,EAAE,CACL,IAAI,CAAC,CAAC;oBACX,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAClC,KAAK,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAI,CACP,CAAC;oBAEF,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;oBACxE,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;oBACvF,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;oBACjF,MAAM,YAAY,GACd,QAAQ,CACJ,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;wBAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;wBAC1B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAC9B,EAAE,CACL,IAAI,CAAC,CAAC;oBACX,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CACjC,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,IAAI,CACP,CAAC;oBAEF,MAAM,gBAAgB,GAAG,WAAW,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/E,MAAM,eAAe,GAAG,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBAE5E,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,sBAAsB,YAAY,aAAa,iBAAiB,UAAU,eAAe,aAAa,aAAa,MAAM,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAClL,CAAC;oBACF,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,sBAAsB,WAAW,aAAa,gBAAgB,UAAU,cAAc,aAAa,YAAY,MAAM,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAC5K,CAAC;oBAEF,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CACP,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX;4BACI,WAAW,EAAE;gCACT,WAAW,EAAE,gBAAgB;gCAC7B,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC7E,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE;6BAClC;4BACD,UAAU,EAAE;gCACR,WAAW,EAAE,eAAe;gCAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC3E,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE;6BACjC;yBACJ,EACD,GAAG,CAAC,QAAQ,CACf,CAAC;oBACN,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC1B,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChE,MAAM;YACV,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,iDAAiD;gBACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;gBAChC,MAAM;YACV,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CACP,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX;wBACI,OAAO,EAAE,IAAA,wCAAyB,GAAE;wBACpC,GAAG,EAAH,eAAG;qBACN,EACD,GAAG,CAAC,QAAQ,CACf,CAAC;gBACN,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,gCAAgC;gBAChC,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACD,kBAAQ;6BACH,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;4BACtB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;4BAChE,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,QAAQ,EAAE,CAAC;4BACX,OAAO,EAAE,KAAK;4BACd,aAAa,EAAE,KAAK;4BACpB,WAAW,EAAE,IAAI;4BACjB,sBAAsB,EAAE,IAAI;4BAC5B,SAAS,EAAE,IAAI;4BACf,cAAc,EAAE,IAAI;4BACpB,WAAW,EAAE,OAAO;4BACpB,UAAU,EAAE,WAAW;yBAC1B,CAAC;6BACD,IAAI,CAAC,aAAa,CAAC,EAAE;4BAClB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gCACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC9E,CAAC;iCAAM,CAAC;gCACJ,IAAI,CAAC,eAAe,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAC;4BAC9D,CAAC;wBACL,CAAC,CAAC;6BACD,KAAK,CAAC,CAAC,CAAC,EAAE;4BACP,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAU,CAAC,CAAC;4BAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAG,CAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACzF,CAAC,CAAC,CAAC;oBACX,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAU,CAAC,CAAC;wBAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAG,CAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACzF,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAQ;QACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAQ,EAAE,CAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1C,IACI,OAAO,OAAO,CAAC,EAAE,KAAK,UAAU;gBAChC,CAAC,OAAO,CAAC,QAAQ,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,EACjE,CAAC;gBACC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;gBACrD,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;YAC3C,CAAC;QACL,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,UAAkB,EAAE,GAAW,EAAE,CAAQ,EAAE,IAAa;QAC7D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,IAAI,GAAG,CAAC;QACf,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7C,UAAU,GAAG,kBAAkB,GAAG,UAAU,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACZ,SAAS;YACb,CAAC;YACD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC;gBACpD,MAAM;YACV,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAW;QACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhC,0BAA0B;QAC1B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACZ,SAAS;gBACb,CAAC;gBACD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,8CAA8C,CAAC,EAAE,CAAC;oBACjE,MAAM;gBACV,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4DAA4D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAEpG,+BAA+B;QAC/B,MAAM,OAAO,GAA+C,MAAM,IAAI,CAAC,qBAAqB,CACxF,kBAAkB,IAAI,CAAC,SAAS,EAAE,CACrC,CAAC;QACF,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;gBACD,KAAK,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,GAAG;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,GAAG;gBAClB,KAAK,EAAE,OAAO,CAAC,GAAG;aACrB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,iBAAiB,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAA,wCAAyB,GAAE,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,mCAAmC;QAErF,8BAA8B;QAC9B,IAAI,CAAC;YACD,SAAS,GAAG;gBACR,iBAAiB,EAAE,IAAA,sBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC;aACjG,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YACpD,mBAAmB,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mDAAmD,GAAY,EAAE,CAAC,CAAC;YACjF,4DAA4D;YAC5D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,cAAc,EAAE,CAAC;oBACjB,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;oBACtD,YAAY,EAAE,gBAAgB,CAAC,GAAY,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC;YACD,0EAA0E;YAC1E,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,iEAAiE;QACjE,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,qBAAS,CAClC,IAAI,CAAC,GAAG,EACR,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;QACF,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,6GAA6G;QAC7G,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,GAAG,CAAC;QACnD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACpB,yBAAyB;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9B,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACpB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE/D,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BACrB,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gCACtC,aAAa;gCACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,kCAAkC,CAAC,CAAC;gCAC5D,4EAA4E;gCAC5E,mGAAmG;gCACnG,+HAA+H;gCAC/H,MAAM,iBAAiB,GAAG,IAAA,kDAAgC,EAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gCACpF,0EAA0E;gCAC1E,0EAA0E;gCAC1E,wCAAwC;gCACxC,oEAAoE;gCACpE,mFAAmF;gCACnF,MAAM,UAAU,GAAW,IAAA,kBAAU,EACjC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CACjE,CAAC;gCAEF,IAAI,QAA4B,CAAC;gCACjC,IAAI,YAAgC,CAAC;gCACrC,8EAA8E;gCAC9E,2EAA2E;gCAC3E,iCAAiC;gCACjC,IACI,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;oCACvC,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ;oCACzC,UAAU,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,EACtC,CAAC;oCACC,iCAAiC;oCACjC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;oCAC/B,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;oCACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,GAAG,CAAC,GAAG,kEAAkE,CAC/E,CAAC;gCACN,CAAC;qCAAM,CAAC;oCACJ,iFAAiF;oCACjF,MAAM,QAAQ,GAAG,IAAA,sCAAoB,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oCAC/C,IAAI,UAAyB,CAAC;oCAC9B,IAAI,CAAC;wCACD,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;oCACpE,CAAC;oCAAC,OAAO,GAAY,EAAE,CAAC;wCACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,qCAAqC,GAAY,EAAE,CAAC,CAAC;wCAC9E,SAAS;oCACb,CAAC;oCAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW;yCAChC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC;yCACxC,IAAI,CAAC,IAAI,CAAC,CAAC;oCAEhB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wCACrB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,GAAG,CAAC,GAAG,oDAAoD,MAAM,EAAE,CACzE,CAAC;wCACN,CAAC;6CAAM,CAAC;4CACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,qCAAqC,CAAC,CAAC;wCACnE,CAAC;wCACD,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;wCAC7B,mHAAmH;wCACnH,YAAY,GAAG,IAAA,6CAA2B,EAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;wCAE1E,MAAM,SAAS,GAIX;4CACA,UAAU;4CACV,QAAQ;yCACX,CAAC;wCACF,IAAI,YAAY,EAAE,CAAC;4CACf,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;wCAC1C,CAAC;wCAED,0GAA0G;wCAC1G,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,mDAAmD;wCACzF,KAAK,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE;4CACnC,MAAM,EAAE,SAAS;yCACpB,CAAC,CAAC;oCACP,CAAC;yCAAM,CAAC;wCACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,qCAAqC,MAAM,EAAE,CAAC,CAAC;wCACxE,SAAS;oCACb,CAAC;gCACL,CAAC;gCACD,IAAI,CAAC,YAAY,IAAI,GAAG,QAAQ,IAAI,CAAC;gCACrC,gDAAgD;gCAChD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;oCACvB,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gCACnE,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACJ,aAAa;gCACb,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gCACrC,IAAI,CAAC,YAAY,IAAI,GAAG,UAAU,IAAI,CAAC;gCAEvC,yDAAyD;gCACzD,0CAA0C;gCAC1C,MAAM,QAAQ,GAAG,IAAA,sCAAoB,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCAC/C,IAAI,UAAyB,CAAC;gCAC9B,IAAI,CAAC;oCACD,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gCACnE,CAAC;gCAAC,OAAO,GAAY,EAAE,CAAC;oCACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,GAAG,CAAC,GAAG,0DAA0D,GAAY,EAAE,CACrF,CAAC;oCACF,SAAS;gCACb,CAAC;gCACD,gDAAgD;gCAChD,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;oCACxD,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;gCAC9E,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnE,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACpB,mBAAmB;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,cAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAChG,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,IAAA,wCAAyB,GAAE,GAAG,eAAG,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3D,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,KAAK,IAAI,GAAG,IAAI,wBAAwB,EAAE,CAAC;oBACvC,GAAG,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,GAAG,CAAC,GAAG,eAAG,CAAC;oBAClC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;wBAC1F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,kCAAkC,CAAC,CAAC;wBACtF,eAAe,GAAG,IAAI,CAAC;wBACvB,MAAM;oBACV,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,eAAe,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;wBACrB,OAAO,EAAE,IAAI;wBACb,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;qBACnC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,0BAA0B,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpB,OAAO;gBACX,CAAC;gBACD,MAAM,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC;gBAClF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC;gBAC9C,IAAI,+BAA+B,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBACrE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,EAAE,CAAC;oBACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,EAAE,uCAAuC,IAAI,CAAC,MAAM,CAAC,oBAAoB,iCAAiC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,sBAAsB,CACtL,CAAC;oBACF,4EAA4E;oBAC5E,oCAAoC;oBACpC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,GAAG,CAAC,EAAE,CAAC;wBACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,EAAE,0CAA0C,IAAI,CAAC,MAAM,CAAC,oBAAoB,mEAAmE,CACrJ,CAAC;wBACF,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,GAAG,CAAC,EAAE,CAAC;oBAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,EAAE,CAAC;oBACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,UAAU,EAAE,mCAAmC,IAAI,CAAC,MAAM,CAAC,oBAAoB,2DAA2D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,EAAE,CAC/L,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAEO,0BAA0B;QAC9B,4DAA4D;QAC5D,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,kDAAkD;YAC1D,iBAAiB,EAAE,kDAAkD;SACxE,CAAC;QACF,gFAAgF;QAChF,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC/F,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;iBACtC,KAAK,CAAC,SAAS,CAAC;iBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;iBAC1C,KAAK,CAAC,SAAS,CAAC;iBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,yFAAyF;YACzF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAC9B,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;YACD,yGAAyG;YACzG,mFAAmF;YACnF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7B,0DAA0D;gBAC1D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,SAAS;gBACb,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEnD,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,UAAU,GAAG,IAAA,gCAAc,EAC3B,GAAG,EACH,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YAC1F,oEAAoE;YACpE,GAAG,KAAK,MAAM,CACjB,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,+EAA+E;gBAC/E,yBAAyB;gBACzB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,UAAU,GAAG;wBACT,CAAC,gBAAgB,GAAG,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI;qBACjE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,UAAU,GAAG;wBACT,CAAC,uBAAuB,GAAG,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI;qBACxE,CAAC;gBACN,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YACzG,2CAA2C;YAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACrC,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YACrD,mBAAmB,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,EAAU,EAAE,GAAuC;QACnE,IAAI,GAAG,EAAE,CAAC;YACN,+BAA+B;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzB,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5B,KAAK,CAAC,GAAG,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEpC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC5D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,qCAAqC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACtD,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAClE,CAAC;gBAED,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACrD,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACjE,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,sBAAsB;YACtB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,mBAAmB;YACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACxC,sBAAsB;YACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAEvB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAErE,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC/B,EAAE,GAAG,EAAE,CAAC,IAAA,mBAAW,GAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACX,IAAI,CAAC,EAAE,CAAC;oBACJ,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,EAAE,EAAE,CAAC;oBACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,4BAA4B,CACxB,EAAU,EACV,KAAwC;QAExC,IACI,KAAK;YACL,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;YACxB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,EACzF,CAAC;YACC,IAAI,CAAC;gBACD,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,iCAAiC,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CACjG,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,iCAAiC,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CACjG,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,wBAAwB,CAAC,EAAU,EAAE,KAA0B,EAAE,KAAc;QAC3E,gEAAgE;QAChE,MAAM,MAAM,GAAmB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAoB,CAAC;QAE5E,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB,CAAC,EAAU,EAAE,KAAoC;QAC/D,IAAI,MAAsB,CAAC;QAE3B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,GAAG,KAAuB,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAoB,CAAC;QAC7C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,+CAA+C;QAC/C,mCAAmC;QACnC,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,IAAI;YACP,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC;QAE7G,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACJ,0DAA0D;gBAC1D,MAAM,UAAU,GAAG,CAAC,IAAA,6BAAiB,EAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxE,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;oBACrC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC;gBACpC,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAEvC,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;aAChD,IAAI,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACzD,IAAI,CAAC,SAAS,CAAC,yBAAU,CAAC,4BAA4B,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAElC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAED,mBAAmB;YACnB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACnB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAG,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,CAAC,yBAAU,CAAC,4BAA4B,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAExC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aACjE,IAAI,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC1D,IAAI,CAAC,SAAS,CAAC,yBAAU,CAAC,4BAA4B,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACtE,SAAS;gBACb,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClD,8BAA8B;oBAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE3F,oBAAoB;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAElC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAEnD,kCAAkC;YAClC,IAAI,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;gBACjC,IAAA,mBAAW,EAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;YAChE,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAA,mBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC1C,CAAC;YAED,gCAAgC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC3B,IAAI,YAAY,EAAE,MAAM,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC1D,CAAC;qBAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3C,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAA6B,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAA8B,CAAC,CAAC;YAE/E,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YACjG,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC;gBACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,wBAAwB,IAAI,CAAC,MAAM,CAAC,QAAQ,sDAAsD,CACrG,CAAC;YACN,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;YAClG,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,yBAAyB,IAAI,CAAC,MAAM,CAAC,SAAS,sDAAsD,CACvG,CAAC;YACN,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC;YAEnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,SAAS,CAAC,yBAAU,CAAC,4BAA4B,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEP,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU,EAAE,OAAgB;QACjD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,kBAAkB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAE9F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBACrB,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE;oBACJ,IAAI,EAAE,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;oBAChE,IAAI,EAAE,0BAA0B;oBAChC,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,eAAe;iBACxB;gBACD,MAAM,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACb;gBACD,IAAI,EAAE,OAAO;aAChB,CAAC;YACF,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnE,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACtF,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,sBAAsB,CAAC;gBAC/D,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACtF,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACpC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC;gBACzD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAChC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,kBAAkB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAE/F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG;gBACtB,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE;oBACJ,IAAI,EAAE,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;oBAChE,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,iBAAiB;iBAC1B;gBACD,MAAM,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACb;gBACD,IAAI,EAAE,OAAO;aAChB,CAAC;YACF,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrE,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAoB;QAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;QAEnB,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YACnB,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC,IAAA,mBAAW,GAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,sCAAsC;gBACtC,OAAO;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACJ,mBAAmB;gBACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC,CAAC;gBACpD,CAAC;gBAEA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAED,eAAe,CAAC,EAAU;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3B,IAAI,CAAC,EAAE,CAAC;YACJ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAE7B,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,CAAC,EAAU;QACd,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,CAAC;gBACb,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,SAAS,CAAC;YAEvB,iFAAiF;YACjF,wCAAwC;YACxC,MAAM,GAAG,GAAG,eAAe,MAAM,aAAa,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,MAAM,SAAS,SAAS,WAAW,GAAG,EAAE,CAAC,CAAC;YAEtE,uDAAuD;YACvD,0IAA0I;YAC1I,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,WAAW,EAAE,IAAI;gBACjB,GAAG,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAErE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,CAAC,cAAc,EAAE,EAAE;gBAC7C,IAAI,IAAI,EAAE,CAAC;oBACP,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBACD,oBAAoB;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,SAAS,GAAa,IAAI,CAAC,MAAM,CAAC,SAAS;aAC5C,KAAK,CAAC,SAAS,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEvG,IAAI,oBAAoB,GAAa,EAAE,CAAC;QACxC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,uBAAuB;QACvB,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACtD,oBAAoB,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAE7D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,OAAO,GAAG,GAAG,CAAC;YAClB,IAAI,OAAO,GAAG,QAAQ,CAAC;YAEvB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;gBAClC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAED,qEAAqE;YACrE,IAAI,UAAU,GAAG,OAAO,CAAC;YAEzB,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,UAAU,GAAG,MAAM,IAAA,8CAAsB,EAAC,OAAO,CAAC,CAAC;gBAEnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,UAAU,IAAI,OAAO,WAAW,OAAO,GAAG,CAAC,CAAC;YACnG,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC;YACjF,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE7B,uBAAuB;YACvB,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBAClE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC;wBAEvE,MAAM,cAAc,GAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;wBACnE,IAAI,CAAC,IAA4B,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC;oBAC9F,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC;oBAClF,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,UAAU,IAAI,OAAO,MAAM,GAAY,EAAE,CAAC,CAAC;gBACnG,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,IAAA,oBAAU,EAAC,GAAG,SAAS,iBAAiB,OAAO,eAAe,CAAC,EAAE,CAAC;gBAC1E,sBAAsB;gBACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,GAAG,GAAG,CAAC,CAAC;gBAEnE,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,GAAG,GAAG,CAAC,CAAC;gBAC1E,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,GAAG,oBAAoB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACjG,CAAC;YACL,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YACjD,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;wBAEpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,mBAAmB,GAAG,CAAC,CAAC;oBAC1E,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,mBAAmB,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAChG,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,SAAkB;QACrD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,oBAAoB,GACtB,4GAA4G;gBAC5G,4EAA4E;gBAC5E,iGAAiG;gBACjG,oFAAoF;gBACpF,6GAA6G,CAAC;YAElH,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,GAAG,mBAAmB,MAAM,KAAK,oBAAoB,SAAS,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACJ,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,6EAA6E;oBAC7E,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB;oBACvD,MAAM,GAAG,GAAG,MAAM,KAAK,oBAAoB,gBAAgB,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,GAAG,MAAM,KAAK,oBAAoB,EAAE,CAAC;gBAClD,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,GAAG,4BAA4B,MAAM,SAAS,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,YAAY,MAAM,EAAE,CAAC;YAClC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,MAAM,OAAO,GAAkB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,uBAAuB;gBACvB,qCAAqC;aACxC,CAAC;YACF,OAAO;gBACH,MAAM,EAAE,IAAI,gBAAM,CAAC,MAAM,EAAE,OAAO,CAAC;aAC1B,CAAC;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAY,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAgB,EAAE,IAAY,EAAE,UAAsB,EAAE,OAAgB,EAAE,KAAc;QAC5F,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;QAC3B,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,+BAA+B,GAAG,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;YAC7E,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAA,iBAAO,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpE,IAAI,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE;gBACnC,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,IAAI;gBACnB,qCAAqC;aACxC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC7E,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,CAAC,EAAE,SAAS;aACf,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,GAAY,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,WAAW,CAAC,EAA8B;QACtC,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,OAAO;QACX,CAAC;QAED,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,0DAA0D;YAC1D,OAAO;QACX,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjE,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,kBAAkB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,sBAAsB;QAClB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,sEAAsE;QACtE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpF,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,IAAI,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE/F,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,6BAA6B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,sCAAsC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,4BAA4B;YAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxB,2BAA2B;gBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBACpD,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC9B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;wBACjE,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;4BAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;4BACnC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gCAClB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAC3B,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,IAAI,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;wBAClB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACrC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IACI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACjE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EACtC,CAAC;wBACC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;oBAChC,CAAC;gBACL,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACzD,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAC3E,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpC,KAAK,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;wBAC5C,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;oBAC5C,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1D,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxC,CAAC;YACL,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5D,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,IAAI,GAAG,EAAE,CAAC;wBACN,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC;YACL,CAAC;YAED,oBAAoB;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1D,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,qBAAqB;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,uCAAuC,KAAK,GAAG,CAAC,CAAC;oBAC3E,CAAC;gBACL,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,CAAC;gBACL,CAAC;YACL,CAAC;YAED,0BAA0B;YAC1B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa;oBAC5B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;gBAEhF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBACxB,IAAI,OAAO,GAA0B,UAAU,CAAC,GAAG,EAAE;wBACjD,IAAI,OAAO,EAAE,CAAC;4BACV,OAAO,GAAG,IAAI,CAAC;4BACf,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC;oBACL,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;oBAErC,IAAI,CAAC;wBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;4BAC7B,IAAI,OAAO,EAAE,CAAC;gCACV,YAAY,CAAC,OAAO,CAAC,CAAC;gCACtB,OAAO,GAAG,IAAI,CAAC;gCACf,OAAO,CAAC,IAAI,CAAC,CAAC;4BAClB,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,+BAA+B,GAAY,EAAE,CAAC,CAAC;oBACzE,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAA0B;QAC1C,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;YACjE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,yDAAyD,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,IACI,GAAG,EAAE,MAAM,EAAE,MAAM;YACnB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC;YAC1D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAC1D,CAAC;YACC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;YAErB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,kBAAkB,IAAI,eAAe,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,QAAQ,GAAG,iBAAiB,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAC7D,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,EAC/B,IAAI,EACJ,IAAI,CACP,CAAC;YACN,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAEpD,IACK,GAAG,CAAC,MAAM,CAAC,UAAyB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,UAAyB,KAAK,SAAS;gBAClD,GAAG,CAAC,MAAM,CAAC,UAAyB,KAAK,OAAO,EACnD,CAAC;gBACC,aAAa;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,uBAAuB,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;gBAEtE,IAAI,QAAQ,GAAG,IAAI,CAAC;gBACpB,IAAI,aAAa,EAAE,CAAC;oBAChB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACjE,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAClG,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;gBACnC,IAAI,CAAC,OAAO,CACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAClB,QAAQ,EACR,GAAG,CAAC,MAAM,CAAC,UAAwB,EACnC,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,GAAG,CAAC,MAAM,CAAC,KAAK,CACnB,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/D,aAAa;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;gBACtD,0EAA0E;gBAC1E,0DAA0D;gBAC1D,MAAM,iBAAiB,GAAG,IAAA,kDAAgC,EAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACrF,oEAAoE;gBACpE,mFAAmF;gBACnF,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,CAAC;gBAE9F,IAAI,QAAgB,CAAC;gBACrB,8EAA8E;gBAC9E,2EAA2E;gBAC3E,iCAAiC;gBACjC,IACI,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;oBACvC,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ;oBACzC,UAAU,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,EACtC,CAAC;oBACC,iCAAiC;oBACjC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,kEAAkE,CAAC,CAAC;gBAC7F,CAAC;qBAAM,CAAC;oBACJ,iFAAiF;oBACjF,MAAM,QAAQ,GAAG,IAAA,sCAAoB,EAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,UAAyB,CAAC;oBAC9B,IAAI,CAAC;wBACD,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;oBACpE,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,qCAAqC,GAAY,EAAE,CAAC,CAAC;wBAC9E,OAAO,KAAK,CAAC;oBACjB,CAAC;oBAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE1F,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACrB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,yCAAyC,MAAM,EAAE,CAAC,CAAC;wBAC5E,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,qCAAqC,CAAC,CAAC;wBAChE,CAAC;wBACD,QAAQ,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;wBAEnC,0GAA0G;wBAC1G,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,mDAAmD;wBACtF,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE;4BACtC,MAAM,EAAE;gCACJ,UAAU;gCACV,QAAQ;6BACX;yBACJ,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,qCAAqC,MAAM,EAAE,CAAC,CAAC;wBACrE,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;gBACD,MAAM,aAAa,GAAqB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxG,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;gBACnC,IAAI,CAAC,OAAO,CACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAClB,IAAI,EACJ,GAAG,CAAC,MAAM,CAAC,UAAwB,EACnC,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,GAAG,CAAC,MAAM,CAAC,KAAK,CACnB,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,0BAA0B,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,KAAa,CAAC;QAClB,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;YACX,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEhE,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,kBAAkB,KAAK,eAAe,CAAC,CAAC;gBACjE,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC3B,IAAI,GAA6C,CAAC;QAClD,IAAI,CAAC;YACD,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAA6C,CAAC;QAC7F,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,qBAAqB,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,YAAmC;QAChD,4BAA4B;QAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CACT,IAAU,EACV,UAA0B,EAC1B,KAAa,EACb,GAAW,EACX,aAA8B,EAC9B,QAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,UAAoB;QAEpB,IAAI,EAAE,GAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;QAEjF,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5F,CAAC;QACD,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACtB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzF,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAE9D,IACI,EAAE,CAAC,QAAQ,EAAE,GAAG,eAAe;YAC/B,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,eAAe,IAAI,EAAE,CAAC,UAAU,EAAE,GAAG,iBAAiB,CAAC,EAC5E,CAAC;YACC,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACzC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,aAAa,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,aAAa,IAAI,EAAE,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;YAC1G,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACvC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1B,oBAAoB;YACpB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;gBACb,KAAK,IAAI,EAAE,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,MAAc,CAAC;QACnB,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YACrC,GAAG,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACvD,GAAG,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,yBAAyB;QACzB,IACI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;YAClC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;YAClC,IAAI,CAAC,MAAM,CAAC,QAA8B,KAAK,EAAE;YACjD,IAAI,CAAC,MAAM,CAAC,SAA+B,KAAK,EAAE;YACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI;YAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,EAChC,CAAC;YACC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACxE,OAAO;QACX,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CACnC,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAClC,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;QAEF,UAAU;QACV,IAAI,cAAc,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAChE,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,OAAO,EAAE,CAAC;YACjD,cAAc,GAAG,OAAO,CAAC;QAC7B,CAAC;QAED,SAAS;QACT,IAAI,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9D,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,OAAO,EAAE,CAAC;YAC/C,aAAa,GAAG,OAAO,CAAC;QAC5B,CAAC;QAED,MAAM,SAAS,GAAsC,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACrG,IAAI,KAAc,CAAC;QACnB,IAAI,cAAc,GAAG,IAAI,EAAE,CAAC;YACxB,KAAK,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;YAC9B,KAAK,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,sBAAsB;YACtB,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,OAAO,IAAI,WAAW,CAAC;QACzF,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACvD,IAAI,UAAU,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,cAAc,GAChB,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1D,IAAI,GAAG,KAAK,gBAAgB,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,WAAW,GAAG,cAAc,CAAC;QACjC,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACjC,WAAW,GAAG,aAAa,CAAC;QAChC,CAAC;QACD,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;QACjC,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;YACrB,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,iBAAiB;QACb,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,IAAuB,CAAC;QAC5B,IAAI,MAA0B,CAAC;QAC/B,IAAI,QAAQ,GAAG,GAAG,SAAS,2DAA2D,CAAC;QACvF,IAAI,YAAY,GAAG,GAAG,SAAS,+BAA+B,CAAC;QAC/D,IAAI,CAAC;YACD,IAAI,IAAA,oBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,IAAI,GAAG,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,YAAY,GAAG,GAAG,SAAS,4BAA4B,CAAC;gBACxD,QAAQ,GAAG,GAAG,SAAS,wDAAwD,CAAC;gBAChF,IAAI,IAAA,oBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,IAAI,GAAG,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACpC,kBAAkB,EAClB,iDAAiD,CACpD,CAAC;YACF,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAChB,MAAM,GAAG,OAAO,CAAC,IAAc,CAAC;YACpC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;QAED,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK,IAAI,MAAM,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;YACvD,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAExF,MAAM,KAAK,GAAG,wDAAa,OAAO,GAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,IAA6B,CAAC;gBAClC,IAAI,GAAG,EAAE,CAAC;oBACN,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;oBAC3D,IAAI,IAAI,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;wBAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;wBACxD,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;oBACxD,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,IAAA,uBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,mBAAmB;gBACnB,MAAM,IAAI,CAAC,cAAc,CACrB,kBAAkB,EAClB,iDAAiD,EACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CACpB,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAY,EAAE,CAAC,CAAC;gBACrD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;gBAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEhG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAErE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACpB,IAAI,CAAC;wBACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC;wBAErC,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE;4BACtC,IAAI,EAAE,OAAO;4BACb,MAAM,EAAE;gCACJ,IAAI,EAAE,SAAS,CAAC,EAAE;gCAClB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,IAAI;gCACV,KAAK,EAAE,KAAK;6BACf;4BACD,MAAM,EAAE,EAAE;yBACb,CAAC,CAAC;wBAEH,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;4BAClD,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gCACvB,GAAG,EAAE,aAAa;gCAClB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gCACzB,GAAG,EAAE,IAAI;6BACZ,CAAC,CAAC;wBACP,CAAC;6BAAM,CAAC;4BACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC5E,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,0DAA0D,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,GAAY,EAAE,CAC1G,CAAC;oBACN,CAAC;gBACL,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC7B,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxB,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAE3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACxG,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,kCAAkC;YAClC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,GAAG,CAAC,OAAe,EAAE,QAA4B,EAAQ,EAAE;QAC5D,qEAAqE;QACrE,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACnC,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,kCAAkC;YAClC,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO;YACX,CAAC;YACD,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC,CAAC;IAEF,cAAc,CAAC,MAA2B;QACtC,IAAI,CAAC;YACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;gBACjC,KAAK,EAAE,UAAU,EAAU;oBACvB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,UAAU,EAAE,KAAK;aACpB,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,kCAAkC,CAAC,QAAgB,EAAE,YAAoB;QACrE,gEAAgE;QAChE,uEAAuE;QACvE,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,KAAK,EAAE,EAAE,CAAC;YACpE,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC7E,CAAC;QACD,+DAA+D;QAC/D,IAAI,CAAC,kBAAkB,IAAI,GAAG,YAAY,IAAI,CAAC;QAC/C,yDAAyD;QACzD,6CAA6C;QAC7C,MAAM,qBAAqB,GAAG,aAAa,CAAC;QAC5C,SAAS,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3D,+EAA+E;QAC/E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACrC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,kBAAkB;SACnD,CAAC,CAAC;QACH,mBAAmB,CAAC,0BAA0B,CAAC;YAC3C,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,kBAAkB;SACnD,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,CAAC,OAAO,CACf,SAAS,EACT,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAC7F,CAAC,CAAC,mCAAmC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,OAAO,CACf,SAAS,EACT,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAC,CAAC,mCAAmC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAEnC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QACtC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAsB;QAC3C,IAAI,EAAE,EAAE,CAAC;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,OAAY;QAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACL,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,yDAAyD,CACzF,CACJ,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,+CAA+C,CAAC,CAAC;YAC7F,KAAK,IAAI,CAAC,QAAQ,CACd,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,6CAA6C,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAC7F,IAAI,CACP,CAAC;QACN,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAuE;QAC9E,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,kCAAkC;QAClC,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;aACxC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;aAC5B,IAAI,CAAC,GAAG,EAAE;YACP,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAoB,CAAC;YAC3D,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAEjD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBACjD,MAAM,OAAO,GAAgB;oBACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;oBAC9C,wCAAwC;iBAC3C,CAAC;gBACF,MAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAChC,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAA,yBAAI,EAAC,GAAG,SAAS,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE3E;;;iEAGiD;gBAEjD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CACrB,SAAS,EACT,CACI,OAQO,EACT,EAAE;oBACA,IAAI,QAMH,CAAC;oBACF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAC9B,IAAI,CAAC;4BACD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACnC,CAAC;wBAAC,MAAM,CAAC;4BACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAC;wBAC7E,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,QAAQ,GAAG,OAAO,CAAC;oBACvB,CAAC;oBAED,IAAI,QAAQ,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wBAC3B,KAAK,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;oBACrE,CAAC;oBAED,QAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC;wBACnB,KAAK,OAAO,CAAC,CAAC,CAAC;4BACX,IAAI,CAAC,oBAAoB,CAAC;gCACtB,GAAG,EAAE,OAAO;gCACZ,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;gCACtC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;gCAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ;6BAC1B,CAAC,CAAC;4BACH,MAAM;wBACV,CAAC;wBAED,KAAK,SAAS,CAAC,CAAC,CAAC;4BACb,sDAAsD;4BACtD,MAAM;wBACV,CAAC;wBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACZ,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;4BAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;4BAC5B,MAAM;wBACV,CAAC;wBAED,KAAK,SAAS,CAAC,CAAC,CAAC;4BACb,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;4BAC/B,yBAAyB;4BACzB,MAAM;wBACV,CAAC;wBAED,KAAK,KAAK,CAAC,CAAC,CAAC;4BACT,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;4BACvD,MAAM;wBACV,CAAC;wBAED,KAAK,cAAc,CAAC,CAAC,CAAC;4BAClB,OAAO,CAAC,GAAG,CACP,0CAA0C,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,EAAE,CACpF,CAAC;4BACF,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC,CACJ,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;oBACnD,KAAK,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACpF,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAY,EAAiB,EAAE;oBACpE,IAAI,IAAI,EAAE,CAAC;wBACP,MAAM,IAAI,CAAC,QAAQ,CACf,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,EACzE,IAAI,CACP,CAAC;oBACN,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvF,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AAED,SAAS,eAAe,CACpB,KAAe,EACf,gBAA0E;IAE1E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,gBAAgB,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,gBAAgB,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,oEAAoE;AACpE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,yCAAyC;IACzC,MAAM,CAAC,OAAO,GAAG,CAAC,OAA4C,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/F,CAAC;KAAM,CAAC;IACJ,wCAAwC;IACxC,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["/*\n * Javascript adapter\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2014-2024 bluefox ,\n *\n * Copyright (c) 2014 hobbyquaker\n */\n\nimport { Script, type ScriptOptions } from 'node:vm';\nimport { readFileSync, existsSync, statSync, writeFileSync, type Stats } from 'node:fs';\nimport { join, sep, normalize } from 'node:path';\nimport { fork, type ForkOptions } from 'node:child_process';\nimport { setTypeScriptResolveOptions, Server } from 'virtual-tsc';\nimport { isDeepStrictEqual } from 'node:util';\nimport prettier from 'prettier';\n\nimport * as dgram from 'node:dgram';\nimport * as crypto from 'node:crypto';\nimport * as dns from 'node:dns';\nimport * as events from 'node:events';\nimport * as http from 'node:http';\nimport * as https from 'node:https';\nimport * as http2 from 'node:http2';\nimport * as net from 'node:net';\nimport * as os from 'node:os';\nimport * as path from 'node:path';\nimport * as util from 'node:util';\nimport * as child_process from 'node:child_process';\nimport * as stream from 'node:stream';\nimport * as zlib from 'node:zlib';\n\n// @ts-expect-error no types available\nimport * as suncalc from 'suncalc2';\nimport * as axios from 'axios';\n// @ts-expect-error no types available\nimport * as wake_on_lan from 'wake_on_lan';\nimport * as nodeSchedule from 'node-schedule';\n\nimport { getAbsoluteDefaultDataDir, Adapter, EXIT_CODES, type AdapterOptions } from '@iobroker/adapter-core';\nimport type SentryPlugin from '@iobroker/plugin-sentry';\nimport type { GetTimesResult } from 'suncalc';\nimport type { CompileResult } from 'virtual-tsc/build/util';\n\nimport { Mirror } from './lib/mirror';\nimport ProtectFs from './lib/protectFs';\nimport { setLanguage, getLanguage } from './lib/words';\nimport { sandBox } from './lib/sandbox';\nimport { requestModuleNameByUrl } from './lib/nodeModulesManagement';\nimport { createEventObject, type EventObj } from './lib/eventObj';\nimport { type AstroEventName, Scheduler } from './lib/scheduler';\nimport { targetTsLib, tsCompilerOptions, jsDeclarationCompilerOptions } from './lib/typescriptSettings';\nimport { hashSource } from './lib/tools';\nimport {\n resolveTypescriptLibs,\n resolveTypings,\n scriptIdToTSFilename,\n transformScriptBeforeCompilation,\n transformGlobalDeclarations,\n} from './lib/typescriptTools';\nimport type {\n FileSubscriptionResult,\n JavascriptContext,\n JavaScriptAdapterConfig,\n JsScript,\n ScriptType,\n SubscriptionResult,\n SubscribeObject,\n JavascriptTimer,\n SandboxType,\n LogMessage,\n DebugState,\n} from './types';\nimport type { PatternEventCompareFunction } from './lib/patternCompareFunctions';\n\ntype MODULES = {\n fs: ProtectFs;\n 'fs/promises': ProtectFs['promises'];\n dgram: typeof dgram;\n crypto: typeof crypto;\n dns: typeof dns;\n events: typeof events;\n http: typeof http;\n https: typeof https;\n http2: typeof http2;\n net: typeof net;\n os: typeof os;\n path: typeof path;\n util: typeof util;\n child_process: typeof child_process;\n stream: typeof stream;\n zlib: typeof zlib;\n suncalc: typeof suncalc;\n axios: typeof axios;\n wake_on_lan: typeof wake_on_lan;\n nodeSchedule: typeof nodeSchedule;\n};\n\n/**\n * List of forbidden Locations for a mirror directory\n * relative to the default data directory\n * ATTENTION: the same list is also located in index_m.html!!\n */\nconst forbiddenMirrorLocations: string[] = [\n 'backup-objects',\n 'files',\n 'backitup',\n '../backups',\n '../node_modules',\n '../log',\n];\n\nconst packageJson: Record = JSON.parse(readFileSync(`${__dirname}/../package.json`).toString());\nconst SCRIPT_CODE_MARKER = 'script.js.';\n\nlet webstormDebug: string | undefined;\n\nconst isCI = !!process.env.CI;\n\n// ambient declarations for typescript\nlet tsAmbient: Record;\n\n// TypeScript's scripts are only recompiled if their source hash changes.\n// If an adapter update fixes the compilation bugs, a user won't notice until the changes and re-saves the script.\n// To avoid that, we also include the\n// adapter version and TypeScript version in the hash\nconst tsSourceHashBase = `versions:adapter=${packageJson.version},typescript=${packageJson.dependencies.typescript}`;\n\n// taken from here: https://stackoverflow.com/questions/11887934/how-to-check-if-dst-daylight-saving-time-is-in-effect-and-if-so-the-offset\nfunction dstOffsetAtDate(dateInput: Date): number {\n const fullYear: number = dateInput.getFullYear() | 0;\n // \"Leap Years are any year that can be exactly divided by 4 (2012, 2016, etc.)\n // except if it can be exactly divided by 100, then it isn't (2100, 2200, etc.)\n // except if it can be exactly divided by 400, then it is (2000, 2400)\"\n // (https://www.mathsisfun.com/leap-years.html).\n const isLeapYear: 1 | 0 = ((fullYear & 3) | ((fullYear / 100) & 3)) === 0 ? 1 : 0;\n // (fullYear & 3) = (fullYear % 4), but faster\n //Alternative:var isLeapYear=(new Date(currentYear,1,29,12)).getDate()===29?1:0\n const fullMonth: number = dateInput.getMonth() | 0;\n return (\n // 1. We know what the time since the Epoch really is\n +dateInput - // same as the dateInput.getTime() method\n // 2. We know what the time since the Epoch at the start of the year is\n +new Date(fullYear, 0) - // day defaults to 1 if not explicitly zeroed\n // 3. Now, subtract what we would expect the time to be if daylight savings\n // did not exist. This yields the time-offset due to daylight savings.\n // Calculate the day of the year in the Gregorian calendar\n // The code below works based upon the facts of signed right shifts\n // • (x) >> n: shifts n and fills in the n highest bits with 0s\n // • (-x) >> n: shifts n and fills in the n highest bits with 1s\n // (This assumes that x is a positive integer)\n ((((-1 + // the first day in the year is day 1\n (31 & (-fullMonth >> 4)) + // January // (-11)>>4 = -1\n ((28 + isLeapYear) & ((1 - fullMonth) >> 4)) + // February\n (31 & ((2 - fullMonth) >> 4)) + // March\n (30 & ((3 - fullMonth) >> 4)) + // April\n (31 & ((4 - fullMonth) >> 4)) + // May\n (30 & ((5 - fullMonth) >> 4)) + // June\n (31 & ((6 - fullMonth) >> 4)) + // July\n (31 & ((7 - fullMonth) >> 4)) + // August\n (30 & ((8 - fullMonth) >> 4)) + // September\n (31 & ((9 - fullMonth) >> 4)) + // October\n (30 & ((10 - fullMonth) >> 4)) + // November\n // There are no months past December: the year rolls into the next.\n // Thus, \"fullMonth\" is 0-based, so it will never be 12 in JavaScript\n\n (dateInput.getDate() | 0)) & // get day of the month\n 0xffff) *\n 24 *\n 60 + // 24 hours in a day, 60 minutes in an hour\n (dateInput.getHours() & 0xff) * 60 + // 60 minutes in an hour\n (dateInput.getMinutes() & 0xff)) |\n 0) *\n 60 *\n 1000 - // 60 seconds in a minute * 1000 milliseconds in a second\n (dateInput.getSeconds() & 0xff) * 1000 - // 1000 milliseconds in a second\n dateInput.getMilliseconds()\n );\n}\n\nconst regExGlobalOld = /_global$/;\nconst regExGlobalNew = /script\\.js\\.global\\./;\n\nfunction checkIsGlobal(obj: ioBroker.ScriptObject): boolean {\n return obj?.common && (regExGlobalOld.test(obj.common.name) || regExGlobalNew.test(obj._id));\n}\n\nfunction fileMatching(sub: FileSubscriptionResult, id: string, fileName: string): boolean {\n if (sub.idRegEx) {\n if (!sub.idRegEx.test(id)) {\n return false;\n }\n } else {\n if (sub.id !== id) {\n return false;\n }\n }\n if (sub.fileRegEx) {\n if (!sub.fileRegEx.test(fileName)) {\n return false;\n }\n } else {\n if (sub.fileNamePattern !== fileName) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getNextTimeEvent(time: string, useNextDay?: boolean): Date {\n const now: Date = getAstroStartOfDay();\n const [timeHours, timeMinutes] = time.split(':');\n const nTimeHours = parseInt(timeHours, 10);\n const nTimeMinutes = parseInt(timeMinutes, 10);\n if (\n useNextDay &&\n (now.getHours() > nTimeHours || (now.getHours() === nTimeHours && now.getMinutes() > nTimeMinutes))\n ) {\n now.setDate(now.getDate() + 1);\n }\n\n now.setHours(nTimeHours);\n now.setMinutes(nTimeMinutes);\n\n return now;\n}\n\nfunction getAstroStartOfDay(): Date {\n const d = new Date();\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n d.setUTCHours(0);\n\n return d;\n}\n\nfunction formatHoursMinutesSeconds(date: Date): string {\n const h = String(date.getHours());\n const m = String(date.getMinutes());\n const s = String(date.getSeconds());\n\n return `${h.padStart(2, '0')}:${m.padStart(2, '0')}:${s.padStart(2, '0')}`;\n}\n\n// Due to a npm bug, virtual-tsc may be hoisted to the top level node_modules but\n// TypeScript may still be in the adapter level (https://npm.community/t/packages-with-peerdependencies-are-incorrectly-hoisted/4794),\n// so we need to tell virtual-tsc where TypeScript is\nsetTypeScriptResolveOptions({\n paths: [require.resolve('typescript')],\n});\n\n// compiler instance for global JS declarations\nconst jsDeclarationServer: Server = new Server(jsDeclarationCompilerOptions, isCI ? false : undefined);\n/**\n * Stores the IDs of script objects whose change should be ignored because\n * the compiled source was just updated\n */\n\nclass JavaScript extends Adapter {\n declare public config: JavaScriptAdapterConfig;\n\n private readonly context: JavascriptContext;\n\n private errorLogFunction: {\n error: (msg: string) => void;\n warn: (msg: string) => void;\n info: (msg: string) => void;\n debug: (msg: string) => void;\n silly: (msg: string) => void;\n } = {\n error: (msg: string) => console.error(msg),\n warn: (msg: string) => console.warn(msg),\n info: (msg: string) => console.log(msg),\n debug: (msg: string) => console.debug(msg),\n silly: (msg: string) => console.debug(msg),\n };\n\n private readonly mods: MODULES;\n\n private objectsInitDone = false;\n private statesInitDone = false;\n\n private objects: Record = {};\n private states: Record = {};\n private readonly interimStateValues: Record = {};\n private readonly stateIds: string[] = [];\n private readonly subscriptions: SubscriptionResult[] = [];\n private readonly subscriptionsFile: FileSubscriptionResult[] = [];\n private readonly subscriptionsObject: SubscribeObject[] = [];\n private readonly subscribedPatterns: Record = {};\n private readonly subscribedPatternsFile: Record = {};\n private readonly adapterSubs: Record = {};\n private readonly timers: { [scriptName: string]: JavascriptTimer[] } = {};\n private readonly _enums: string[] = [];\n private readonly names: { [name: string]: string | string[] } = {}; // name: id\n private readonly scripts: Record = {};\n private readonly messageBusHandlers: Record<\n string,\n Record void }[]>\n > = {};\n private readonly logSubscriptions: Record<\n string,\n {\n sandbox: SandboxType;\n cb: (info: LogMessage) => void;\n id: number;\n severity: ioBroker.LogLevel | '*';\n }[]\n > = {};\n private readonly tempDirectories: { [scriptName: string]: string } = {}; // name: path\n private readonly folderCreationVerifiedObjects: Record = {};\n\n /** if logs are subscribed or not */\n private logSubscribed = false;\n\n private timeSettings: {\n format12: boolean;\n leadingZeros: boolean;\n } = { format12: false, leadingZeros: true };\n\n private dayScheduleTimer: NodeJS.Timeout | null = null; // schedule for astrological day\n private sunScheduleTimer: NodeJS.Timeout | null = null; // schedule for sun moment times\n private timeScheduleTimer: NodeJS.Timeout | null = null; // schedule for astrological day\n\n private activeStr = ''; // enabled state prefix\n\n private mirror: Mirror | undefined;\n\n private stopCounters: Record = {};\n\n private setStateCountCheckInterval: NodeJS.Timeout | null = null;\n\n private globalScript = '';\n /** Generated declarations for global TypeScripts */\n private globalDeclarations = '';\n // Remember which definitions the global scripts\n // have access to, because it depends on the compilation order\n private knownGlobalDeclarationsByScript: Record = {};\n private globalScriptLines = 0;\n // compiler instance for typescript\n private tsServer: Server;\n\n private readonly ignoreObjectChange: Set = new Set();\n\n private debugState: DebugState = {\n scriptName: '',\n child: null,\n promiseOnEnd: null,\n paused: false,\n started: 0,\n running: false,\n };\n\n constructor(options: Partial = {}) {\n options = {\n ...options,\n name: 'javascript', // adapter name\n useFormatDate: true,\n /**\n * If the JS-Controller catches an unhandled error, this will be called\n * so we have a chance to handle it ourselves.\n */\n error: (err: Error): boolean => {\n // Identify unhandled errors originating from callbacks in scripts\n // These are not caught by wrapping the execution code in try-catch\n if (err && typeof err.stack === 'string') {\n const scriptCodeMarkerIndex = err.stack.indexOf(SCRIPT_CODE_MARKER);\n if (scriptCodeMarkerIndex > -1) {\n // This is a script error\n let scriptName = err.stack.substring(scriptCodeMarkerIndex);\n scriptName = scriptName.substring(0, scriptName.indexOf(':'));\n this.logError(scriptName, 'Error:', err);\n\n // Leave the script running for now\n // signal to the JS-Controller that we handled the error ourselves\n return true;\n }\n // check if a path contains adaptername but not own node_module\n // this regex matched \"iobroker.javascript/\" if NOT followed by \"node_modules\"\n if (!err.stack.match(/iobroker\\.javascript[/\\\\](?!.*node_modules).*/g)) {\n // This is an error without any info on origin (mostly async errors like connection errors)\n // also consider it as being from a script\n this.log.error(\n 'An error happened which is most likely from one of your scripts, but the originating script could not be detected.',\n );\n this.log.error(`Error: ${err.message}`);\n this.log.error(err.stack);\n\n // signal to the JS-Controller that we handled the error ourselves\n return true;\n }\n }\n\n return false;\n },\n };\n\n super(options as AdapterOptions);\n\n this.on('objectChange', this.onObjectChange.bind(this));\n this.on('stateChange', this.onStateChange.bind(this));\n this.on('ready', this.onReady.bind(this));\n this.on('message', this.onMessage.bind(this));\n this.on('unload', this.onUnload.bind(this));\n this.on('fileChange', this.onFileChange.bind(this));\n this.on('log', this.onLog.bind(this));\n\n this.mods = {\n fs: {} as ProtectFs,\n 'fs/promises': {} as ProtectFs['promises'],\n dgram,\n crypto,\n dns,\n events,\n http,\n https,\n http2,\n net,\n os,\n path,\n util,\n child_process,\n stream,\n zlib,\n\n suncalc,\n axios,\n wake_on_lan,\n nodeSchedule,\n };\n\n // check the webstorm debug and just debug modes\n let debugMode: string | undefined;\n if (process.argv) {\n for (let a = 1; a < process.argv.length; a++) {\n if (process.argv[a].startsWith('--webstorm')) {\n webstormDebug = process.argv[a].replace(/^(.*?=\\s*)/, '');\n }\n if (process.argv[a] === '--debugScript') {\n if (!process.argv[a + 1]) {\n console.log('No script name provided');\n process.exit(300);\n } else {\n debugMode = process.argv[a + 1];\n }\n }\n }\n }\n\n this.context = {\n mods: this.mods,\n objects: this.objects,\n states: this.states,\n interimStateValues: this.interimStateValues,\n stateIds: this.stateIds,\n errorLogFunction: this.errorLogFunction,\n subscriptions: this.subscriptions,\n subscriptionsFile: this.subscriptionsFile,\n subscriptionsObject: this.subscriptionsObject,\n subscribedPatterns: this.subscribedPatterns,\n subscribedPatternsFile: this.subscribedPatternsFile,\n adapterSubs: this.adapterSubs,\n cacheObjectEnums: {},\n timers: this.timers,\n enums: this._enums,\n names: this.names,\n scripts: this.scripts,\n messageBusHandlers: this.messageBusHandlers,\n logSubscriptions: this.logSubscriptions,\n tempDirectories: this.tempDirectories,\n folderCreationVerifiedObjects: this.folderCreationVerifiedObjects,\n\n isEnums: false, // If some subscription wants enum\n channels: null,\n devices: null,\n logWithLineInfo: this.logWithLineInfo.bind(this),\n scheduler: null,\n timerId: 0,\n rulesOpened: null, // opened rules\n language: this.language || 'en',\n\n updateLogSubscriptions: this.updateLogSubscriptions.bind(this),\n convertBackStringifiedValues: this.convertBackStringifiedValues.bind(this),\n updateObjectContext: this.updateObjectContext.bind(this),\n prepareStateObject: this.prepareStateObject.bind(this),\n debugMode,\n getAbsoluteDefaultDataDir,\n adapter: this as unknown as ioBroker.Adapter,\n logError: this.logError.bind(this),\n };\n\n this.tsServer = new Server(tsCompilerOptions, this.tsLog);\n }\n\n async onObjectChange(id: string, obj?: ioBroker.Object | null): Promise {\n // Check if we should ignore this change (once!) because we just updated the compiled sources\n if (this.ignoreObjectChange.has(id)) {\n // Update the cached script object and do nothing more\n this.objects[id] = obj as ioBroker.Object;\n this.ignoreObjectChange.delete(id);\n return;\n }\n\n // When still in initializing: already remember current values,\n // but data structures are initialized elsewhere\n if (!this.objectsInitDone) {\n if (obj) {\n this.objects[id] = obj;\n }\n return;\n }\n\n if (id.startsWith('enum.')) {\n // clear cache\n this.context.cacheObjectEnums = {};\n\n // update this._enums array\n if (obj) {\n // If new\n if (!this._enums.includes(id)) {\n this._enums.push(id);\n this._enums.sort();\n }\n } else {\n const pos = this._enums.indexOf(id);\n // if deleted\n if (pos !== -1) {\n this._enums.splice(pos, 1);\n }\n }\n }\n\n if (id === 'system.config' && obj?.common?.language) {\n // set language for debug messages\n setLanguage(obj.common.language);\n this.language = obj.common.language;\n this.context.language = this.language as ioBroker.Languages;\n }\n\n // update stored time format for variables.dayTime\n if (id === `${this.namespace}.variables.dayTime` && obj?.native) {\n this.timeSettings.format12 = obj.native.format12 || false;\n this.timeSettings.leadingZeros = obj.native.leadingZeros === undefined ? true : obj.native.leadingZeros;\n }\n\n // send changes to disk mirror\n this.mirror?.onObjectChange(id, obj as ioBroker.ScriptObject | null);\n\n const formerObj = this.objects[id];\n\n this.updateObjectContext(id, obj); // Update all Meta object data\n\n // for the alias object changes on the state objects, we need to manually update the\n // state cache value, because the new value is only published on the next change\n if (obj?.type === 'state' && id.startsWith('alias.0.')) {\n // execute async for speed\n this.getForeignStateAsync(id)\n .then(state => {\n if (state) {\n this.states[id] = state;\n } else if (this.states[id] !== undefined) {\n delete this.states[id];\n }\n })\n .catch(() => {\n /* ignore */\n });\n }\n\n this.subscriptionsObject.forEach(sub => {\n // ToDo: implement comparing with id.0.* too\n if (sub.pattern === id) {\n try {\n sub.callback(id, obj);\n } catch (err: any) {\n this.log.error(`Error in callback: ${err.toString()}`);\n }\n }\n });\n\n // handle Script object updates\n if (!obj && formerObj?.type === 'script') {\n // Object Deleted just now\n if (checkIsGlobal(formerObj)) {\n // it was a global Script, and it was enabled and is now deleted => restart adapter\n if (formerObj.common.enabled) {\n this.log.info(`Active global Script ${id} deleted. Restart instance.`);\n this.restart();\n }\n } else if (formerObj.common?.engine === `system.adapter.${this.namespace}`) {\n // It was a non-global Script and deleted => stop and remove it\n await this.stopScript(id);\n\n // delete scriptEnabled.blabla variable\n const idActive = `scriptEnabled.${id.substring(SCRIPT_CODE_MARKER.length)}`;\n await this.delStateAsync(idActive);\n await this.delObjectAsync(idActive);\n\n // delete scriptProblem.blabla variable\n const idProblem = `scriptProblem.${id.substring(SCRIPT_CODE_MARKER.length)}`;\n await this.delStateAsync(idProblem);\n await this.delObjectAsync(idProblem);\n }\n } else if (!formerObj && obj?.type === 'script') {\n // New script that does not exist before\n if (checkIsGlobal(obj)) {\n // new global script added => restart adapter\n if (obj.common.enabled) {\n this.log.info(`Active global Script ${id} created. Restart instance.`);\n this.restart();\n }\n } else if (obj.common?.engine === `system.adapter.${this.namespace}`) {\n // new non-global script - create states for scripts\n await this.createActiveObject(id, !!obj.common.enabled);\n await this.createProblemObject(id);\n if (obj.common.enabled) {\n // if enabled => Start script\n await this.loadScriptById(id);\n }\n }\n } else if (obj?.type === 'script' && formerObj?.common) {\n // Script changed ...\n if (checkIsGlobal(obj)) {\n if (obj.common.enabled || formerObj.common.enabled) {\n this.log.info(`Global Script ${id} updated. Restart instance.`);\n this.restart();\n }\n } else {\n // No global script\n if (obj.common?.engine === `system.adapter.${this.namespace}`) {\n // create states for scripts\n await this.createActiveObject(id, !!obj.common.enabled);\n await this.createProblemObject(id);\n }\n\n if (\n (formerObj.common.enabled && !obj.common.enabled) ||\n (formerObj.common.engine === `system.adapter.${this.namespace}` &&\n obj.common.engine !== `system.adapter.${this.namespace}`)\n ) {\n // Script disabled\n if (formerObj.common.enabled && formerObj.common.engine === `system.adapter.${this.namespace}`) {\n // Remove it from executing\n await this.stopScript(id);\n }\n } else if (\n (!formerObj.common.enabled && obj.common.enabled) ||\n (formerObj.common.engine !== `system.adapter.${this.namespace}` &&\n obj.common.engine === `system.adapter.${this.namespace}`)\n ) {\n // Script enabled\n\n if (obj.common.enabled && obj.common.engine === `system.adapter.${this.namespace}`) {\n // Start script\n await this.loadScriptById(id);\n }\n } else {\n // if (obj.common.source !== formerObj.common.source) {\n // Source changed => restart the script\n this.stopCounters[id] = this.stopCounters[id] ? this.stopCounters[id] + 1 : 1;\n void this.stopScript(id).then(() => {\n // only start again after stop when \"last\" object change to prevent problems on\n // multiple changes in fast frequency\n if (!--this.stopCounters[id]) {\n void this.loadScriptById(id);\n }\n });\n }\n }\n }\n }\n\n onStateChange(id: string, state?: ioBroker.State | null): void {\n if (this.interimStateValues[id] !== undefined) {\n // any update invalidates the remembered interim value\n delete this.interimStateValues[id];\n }\n if (!id || id.startsWith('messagebox.') || id.startsWith('log.')) {\n return;\n }\n\n if (id === `${this.namespace}.debug.to` && state && !state.ack) {\n if (!this.context.debugMode) {\n this.debugSendToInspector(state.val);\n }\n return;\n }\n\n // When still in initializing: already remember current values,\n // but data structures are initialized elsewhere\n if (!this.statesInitDone) {\n if (state) {\n this.states[id] = state;\n }\n return;\n }\n\n const oldState: ioBroker.State | null | undefined = this.states[id];\n if (state) {\n if (oldState) {\n // enable or disable script\n if (!state.ack && id.startsWith(this.activeStr) && this.objects[id]?.native?.script) {\n void this.extendForeignObject(this.objects[id].native.script, {\n common: { enabled: state.val },\n });\n }\n\n // monitor if adapter is alive and send all subscriptions once more, after adapter goes online\n if (/*oldState && */ oldState.val === false && state.val && id.endsWith('.alive')) {\n if (this.adapterSubs[id]) {\n const parts = id.split('.');\n const a = `${parts[2]}.${parts[3]}`;\n for (let t = 0; t < this.adapterSubs[id].length; t++) {\n this.log.info(`Detected coming adapter \"${a}\". Send subscribe: ${this.adapterSubs[id][t]}`);\n this.sendTo(a, 'subscribe', this.adapterSubs[id][t]);\n }\n }\n }\n } else if (/*!oldState && */ !this.stateIds.includes(id)) {\n this.stateIds.push(id);\n this.stateIds.sort();\n }\n this.states[id] = state;\n } else {\n if (oldState) {\n delete this.states[id];\n }\n state = {} as ioBroker.State;\n const pos = this.stateIds.indexOf(id);\n if (pos !== -1) {\n this.stateIds.splice(pos, 1);\n }\n }\n const _eventObj = createEventObject(\n this.context,\n id,\n this.convertBackStringifiedValues(id, state),\n this.convertBackStringifiedValues(id, oldState),\n );\n\n // if this state matches any subscriptions\n for (let i = 0, l = this.subscriptions.length; i < l; i++) {\n const sub = this.subscriptions[i];\n if (sub?.patternCompareFunctions && patternMatching(_eventObj, sub.patternCompareFunctions)) {\n try {\n sub.callback(_eventObj);\n } catch (err: any) {\n this.log.error(`Error in callback: ${err.toString()}`);\n }\n }\n }\n }\n\n onFileChange(id: string, fileName: string, size: number | null): void {\n // if this file matches any subscriptions\n for (let i = 0, l = this.subscriptionsFile.length; i < l; i++) {\n const sub = this.subscriptionsFile[i];\n if (sub && fileMatching(sub, id, fileName)) {\n try {\n sub.callback(id, fileName, size, sub.withFile);\n } catch (err: any) {\n this.log.error(`Error in callback: ${err.toString()}`);\n }\n }\n }\n }\n\n async onUnload(callback: () => void): Promise {\n await this.debugStop();\n this.stopTimeSchedules();\n if (this.setStateCountCheckInterval) {\n clearInterval(this.setStateCountCheckInterval);\n this.setStateCountCheckInterval = null;\n }\n await this.stopAllScripts();\n if (typeof callback === 'function') {\n callback();\n }\n }\n\n async onReady(): Promise {\n this.errorLogFunction = this.log;\n this.context.errorLogFunction = this.log;\n\n this.config.maxSetStatePerMinute = parseInt(this.config.maxSetStatePerMinute as unknown as string, 10) || 1000;\n this.config.maxTriggersPerScript = parseInt(this.config.maxTriggersPerScript as unknown as string, 10) || 100;\n\n if (this.supportsFeature && this.supportsFeature('PLUGINS')) {\n const sentryInstance: InstanceType = this.getPluginInstance('sentry') as InstanceType<\n typeof SentryPlugin\n >;\n if (sentryInstance) {\n const Sentry = sentryInstance.getSentryObject();\n if (Sentry) {\n const scope = Sentry.getCurrentScope();\n scope.addEventProcessor((event, _hint) => {\n if (event.exception?.values?.[0]) {\n const eventData = event.exception.values[0];\n if (\n eventData.stacktrace?.frames &&\n Array.isArray(eventData.stacktrace.frames) &&\n eventData.stacktrace.frames.length\n ) {\n // Exclude event if script Marker is included\n if (\n eventData.stacktrace.frames.find(frame =>\n frame.filename?.includes(SCRIPT_CODE_MARKER),\n )\n ) {\n return null;\n }\n //Exclude event if own directory is included but not inside own node_modules\n const ownNodeModulesDir = join(__dirname, 'node_modules');\n if (\n !eventData.stacktrace.frames.find(\n frame =>\n frame.filename &&\n frame.filename.includes(__dirname) &&\n !frame.filename.includes(ownNodeModulesDir),\n )\n ) {\n return null;\n }\n // We have exception data and did not sort it out, so report it\n return event;\n }\n }\n\n // No exception in it ... do not report\n return null;\n });\n }\n }\n }\n\n await this.main();\n }\n\n onMessage(obj: ioBroker.Message): void {\n switch (obj?.command) {\n // process messageTo commands\n case 'toScript':\n case 'jsMessageBus':\n if (\n obj.message &&\n (obj.message.instance === null ||\n obj.message.instance === undefined ||\n `javascript.${obj.message.instance}` === this.namespace ||\n obj.message.instance === this.namespace)\n ) {\n Object.keys(this.messageBusHandlers).forEach(name => {\n // script name could be script.js.xxx or only xxx\n if (\n (!obj.message.script || obj.message.script === name) &&\n this.messageBusHandlers[name][obj.message.message]\n ) {\n this.messageBusHandlers[name][obj.message.message].forEach(handler => {\n const sandbox = handler.sandbox;\n\n sandbox.verbose && sandbox.log(`onMessage: ${JSON.stringify(obj.message)}`, 'info');\n\n try {\n if (obj.callback) {\n handler.cb.call(sandbox, obj.message.data, (result: any) => {\n if (sandbox.verbose) {\n sandbox.log(`onMessage result: ${JSON.stringify(result)}`, 'info');\n }\n\n this.sendTo(obj.from, obj.command, result, obj.callback);\n });\n } else {\n handler.cb.call(sandbox, obj.message.data, (result: any) => {\n sandbox.verbose &&\n sandbox.log(`onMessage result: ${JSON.stringify(result)}`, 'info');\n });\n }\n } catch (err: unknown) {\n void this.setState(\n `scriptProblem.${name.substring(SCRIPT_CODE_MARKER.length)}`,\n true,\n true,\n );\n this.logError(name, 'Error in callback:', err as Error);\n }\n });\n }\n });\n }\n break;\n\n case 'loadTypings': {\n // Load typings for the editor\n const typings: Record = {};\n\n // try to load TypeScript lib files from disk\n try {\n const typescriptLibs = resolveTypescriptLibs(targetTsLib);\n Object.assign(typings, typescriptLibs);\n } catch {\n /* ok, no lib then */\n }\n\n // provide the already-loaded ioBroker typings and global script declarations\n Object.assign(typings, tsAmbient);\n\n // also provide the known global declarations for each global script\n for (const globalScriptPaths of Object.keys(this.knownGlobalDeclarationsByScript)) {\n typings[`${globalScriptPaths}.d.ts`] = this.knownGlobalDeclarationsByScript[globalScriptPaths];\n }\n\n if (obj.callback) {\n this.sendTo(obj.from, obj.command, { typings }, obj.callback);\n }\n break;\n }\n\n case 'calcAstroAll': {\n if (obj.message) {\n const sunriseOffset =\n parseInt(\n obj.message.sunriseOffset === undefined\n ? this.config.sunriseOffset\n : obj.message.sunriseOffset,\n 10,\n ) || 0;\n const sunsetOffset =\n parseInt(\n obj.message.sunsetOffset === undefined\n ? this.config.sunsetOffset\n : obj.message.sunsetOffset,\n 10,\n ) || 0;\n const longitude =\n parseFloat(\n obj.message.longitude === undefined ? this.config.longitude : obj.message.longitude,\n ) || 0;\n const latitude =\n parseFloat(obj.message.latitude === undefined ? this.config.latitude : obj.message.latitude) ||\n 0;\n const today = getAstroStartOfDay();\n let astroEvents: GetTimesResult & { nextSunrise: Date; nextSunset: Date } = {} as GetTimesResult & {\n nextSunrise: Date;\n nextSunset: Date;\n };\n try {\n astroEvents = this.mods.suncalc.getTimes(today, latitude, longitude);\n } catch (err: unknown) {\n this.log.error(`Cannot calculate astro data: ${err as Error}`);\n }\n if (astroEvents) {\n try {\n astroEvents.nextSunrise = this.getAstroEvent(\n today,\n obj.message.sunriseEvent || this.config.sunriseEvent,\n obj.message.sunriseLimitStart || this.config.sunriseLimitStart,\n obj.message.sunriseLimitEnd || this.config.sunriseLimitEnd,\n sunriseOffset,\n false,\n latitude,\n longitude,\n true,\n );\n astroEvents.nextSunset = this.getAstroEvent(\n today,\n obj.message.sunsetEvent || this.config.sunsetEvent,\n obj.message.sunsetLimitStart || this.config.sunsetLimitStart,\n obj.message.sunsetLimitEnd || this.config.sunsetLimitEnd,\n sunsetOffset,\n true,\n latitude,\n longitude,\n true,\n );\n } catch (err: unknown) {\n this.log.error(`Cannot calculate astro data: ${err as Error}`);\n }\n }\n\n const result: Record = {};\n const keys = Object.keys(astroEvents).sort(\n (a, b) =>\n (astroEvents as unknown as Record)[a] -\n (astroEvents as unknown as Record)[b],\n );\n keys.forEach(key => {\n const validDate =\n (astroEvents as unknown as Record)[key] !== null &&\n !isNaN((astroEvents as unknown as Record)[key].getTime());\n\n result[key] = {\n isValidDate: validDate,\n serverTime: validDate\n ? formatHoursMinutesSeconds((astroEvents as unknown as Record)[key])\n : 'n/a',\n date: validDate\n ? (astroEvents as unknown as Record)[key].toISOString()\n : 'n/a',\n };\n });\n\n if (obj.callback) {\n this.sendTo(obj.from, obj.command, result, obj.callback);\n }\n }\n break;\n }\n\n case 'calcAstro': {\n if (obj.message) {\n const longitude =\n parseFloat(\n obj.message.longitude === undefined ? this.config.longitude : obj.message.longitude,\n ) || 0;\n const latitude =\n parseFloat(obj.message.latitude === undefined ? this.config.latitude : obj.message.latitude) ||\n 0;\n const today = getAstroStartOfDay();\n\n const sunriseEvent = obj.message?.sunriseEvent || this.config.sunriseEvent;\n const sunriseLimitStart = obj.message?.sunriseLimitStart || this.config.sunriseLimitStart;\n const sunriseLimitEnd = obj.message?.sunriseLimitEnd || this.config.sunriseLimitEnd;\n const sunriseOffset =\n parseInt(\n obj.message.sunriseOffset === undefined\n ? this.config.sunriseOffset\n : obj.message.sunriseOffset,\n 10,\n ) || 0;\n const nextSunrise = this.getAstroEvent(\n today,\n sunriseEvent,\n sunriseLimitStart,\n sunriseLimitEnd,\n sunriseOffset,\n false,\n latitude,\n longitude,\n true,\n );\n\n const sunsetEvent = obj.message?.sunsetEvent || this.config.sunsetEvent;\n const sunsetLimitStart = obj.message?.sunsetLimitStart || this.config.sunsetLimitStart;\n const sunsetLimitEnd = obj.message?.sunsetLimitEnd || this.config.sunsetLimitEnd;\n const sunsetOffset =\n parseInt(\n obj.message.sunsetOffset === undefined\n ? this.config.sunsetOffset\n : obj.message.sunsetOffset,\n 10,\n ) || 0;\n const nextSunset = this.getAstroEvent(\n today,\n sunsetEvent,\n sunsetLimitStart,\n sunsetLimitEnd,\n sunsetOffset,\n true,\n latitude,\n longitude,\n true,\n );\n\n const validDateSunrise = nextSunrise !== null && !isNaN(nextSunrise.getTime());\n const validDateSunset = nextSunset !== null && !isNaN(nextSunset.getTime());\n\n this.log.debug(\n `calcAstro sunrise: ${sunriseEvent} -> start ${sunriseLimitStart}, end: ${sunriseLimitEnd}, offset: ${sunriseOffset} - ${validDateSunrise ? nextSunrise.toISOString() : 'n/a'}`,\n );\n this.log.debug(\n `calcAstro sunset: ${sunsetEvent} -> start ${sunsetLimitStart}, end: ${sunsetLimitEnd}, offset: ${sunsetOffset} - ${validDateSunset ? nextSunset.toISOString() : 'n/a'}`,\n );\n\n if (obj.callback) {\n this.sendTo(\n obj.from,\n obj.command,\n {\n nextSunrise: {\n isValidDate: validDateSunrise,\n serverTime: validDateSunrise ? formatHoursMinutesSeconds(nextSunrise) : 'n/a',\n date: nextSunrise.toISOString(),\n },\n nextSunset: {\n isValidDate: validDateSunset,\n serverTime: validDateSunset ? formatHoursMinutesSeconds(nextSunset) : 'n/a',\n date: nextSunset.toISOString(),\n },\n },\n obj.callback,\n );\n }\n }\n break;\n }\n\n case 'debug': {\n if (!this.context.debugMode) {\n this.debugStart(obj.message);\n }\n break;\n }\n\n case 'debugStop': {\n if (!this.context.debugMode) {\n void this.debugStop().then(() => console.log('stopped'));\n }\n break;\n }\n\n case 'rulesOn': {\n this.context.rulesOpened = obj.message;\n console.log(`Enable messaging for ${this.context.rulesOpened}`);\n break;\n }\n\n case 'rulesOff': {\n // maybe if (context.rulesOpened === obj.message)\n console.log(`Disable messaging for ${this.context.rulesOpened}`);\n this.context.rulesOpened = null;\n break;\n }\n\n case 'getIoBrokerDataDir': {\n if (obj.callback) {\n this.sendTo(\n obj.from,\n obj.command,\n {\n dataDir: getAbsoluteDefaultDataDir(),\n sep,\n },\n obj.callback,\n );\n }\n break;\n }\n\n case 'prettier': {\n // Format the code with Prettier\n if (obj.message && typeof obj.message.code === 'string') {\n try {\n prettier\n .format(obj.message.code, {\n parser: obj.message.type === 'typescript' ? 'babel-ts' : 'babel',\n printWidth: 120,\n semi: true,\n tabWidth: 4,\n useTabs: false,\n trailingComma: 'all',\n singleQuote: true,\n singleAttributePerLine: true,\n endOfLine: 'lf',\n bracketSpacing: true,\n arrowParens: 'avoid',\n quoteProps: 'as-needed',\n })\n .then(formattedCode => {\n if (obj.callback) {\n this.sendTo(obj.from, obj.command, { code: formattedCode }, obj.callback);\n } else {\n this.logWithLineInfo(`Formatted code:\\n${formattedCode}`);\n }\n })\n .catch(e => {\n this.logError('Prettier', 'Error formatting code:', e as Error);\n this.sendTo(obj.from, obj.command, { error: (e as Error).toString() }, obj.callback);\n });\n } catch (e) {\n this.logError('Prettier', 'Error formatting code:', e as Error);\n this.sendTo(obj.from, obj.command, { error: (e as Error).toString() }, obj.callback);\n }\n } else {\n this.sendTo(obj.from, obj.command, { error: 'No code provided' }, obj.callback);\n }\n break;\n }\n }\n }\n\n onLog(msg: any): void {\n Object.keys(this.logSubscriptions).forEach((name: string): void =>\n this.logSubscriptions[name].forEach(handler => {\n if (\n typeof handler.cb === 'function' &&\n (handler.severity === '*' || handler.severity === msg.severity)\n ) {\n handler.sandbox.logHandler = handler.severity || '*';\n handler.cb.call(handler.sandbox, msg);\n handler.sandbox.logHandler = undefined;\n }\n }),\n );\n }\n\n logError(scriptName: string, msg: string, e: Error, offs?: number): void {\n const stack = e.stack ? e.stack.toString().split('\\n') : e ? e.toString() : '';\n if (!msg.includes('\\n')) {\n msg = msg.replace(/[: ]*$/, ': ');\n }\n if (!msg.endsWith(' ')) {\n msg += ':';\n }\n if (!scriptName.startsWith(SCRIPT_CODE_MARKER)) {\n scriptName = SCRIPT_CODE_MARKER + scriptName;\n }\n\n this.errorLogFunction.error(`${scriptName}: ${msg}${this.fixLineNo(stack[0])}`);\n for (let i = offs || 1; i < stack.length; i++) {\n if (!stack[i]) {\n continue;\n }\n if (stack[i].match(/runInNewContext|javascript\\.js:/)) {\n break;\n }\n this.errorLogFunction.error(`${scriptName}: ${this.fixLineNo(stack[i])}`);\n }\n }\n\n logWithLineInfo(msg: string): void {\n this.errorLogFunction.warn(msg);\n\n // get current error stack\n const stack = new Error().stack?.split('\\n');\n\n if (stack) {\n for (let i = 3; i < stack.length; i++) {\n if (!stack[i]) {\n continue;\n }\n if (stack[i].match(/runInContext|runInNewContext|javascript\\.js:/)) {\n break;\n }\n this.errorLogFunction.warn(this.fixLineNo(stack[i]));\n }\n }\n }\n\n async main(): Promise {\n // Patch the font as it sometimes is wrong\n if (!this.context.debugMode) {\n if (await this.patchFont()) {\n this.log.debug('Font patched');\n }\n }\n\n this.log.debug(`config.subscribe (Do not subscribe all states on start): ${this.config.subscribe}`);\n\n // correct jsonConfig for admin\n const instObj: ioBroker.InstanceObject | null | undefined = await this.getForeignObjectAsync(\n `system.adapter.${this.namespace}`,\n );\n if (instObj?.common) {\n if (instObj.common.adminUI?.config !== 'json') {\n if (instObj.common.adminUI) {\n instObj.common.adminUI.config = 'json';\n } else {\n instObj.common.adminUI = { config: 'json' };\n }\n void this.setForeignObject(instObj._id, instObj);\n }\n }\n\n if (webstormDebug) {\n this.errorLogFunction = {\n error: console.error,\n warn: console.warn,\n info: console.info,\n debug: console.log,\n silly: console.log,\n };\n this.context.errorLogFunction = this.errorLogFunction;\n }\n this.activeStr = `${this.namespace}.scriptEnabled.`;\n\n this.mods.fs = new ProtectFs(this.log, getAbsoluteDefaultDataDir());\n this.mods['fs/promises'] = this.mods.fs.promises; // to avoid require('fs/promises');\n\n // try to read TS declarations\n try {\n tsAmbient = {\n 'javascript.d.ts': readFileSync(this.mods.path.join(__dirname, 'lib/javascript.d.ts'), 'utf8'),\n };\n this.tsServer.provideAmbientDeclarations(tsAmbient);\n jsDeclarationServer.provideAmbientDeclarations(tsAmbient);\n } catch (err: unknown) {\n this.log.warn(`Could not read TypeScript ambient declarations: ${err as Error}`);\n // This should not happen, so send an error report to Sentry\n if (this.supportsFeature && this.supportsFeature('PLUGINS')) {\n const sentryInstance = this.getPluginInstance('sentry');\n if (sentryInstance) {\n const sentryObject = sentryInstance.getSentryObject();\n sentryObject?.captureException(err as Error);\n }\n }\n // Keep the adapter from crashing when the included typings cannot be read\n tsAmbient = {};\n }\n\n await this.installLibraries();\n // Load the TS declarations for Node.js and all 3rd party modules\n this.loadTypeScriptDeclarations();\n\n await this.getData();\n this.context.scheduler = new Scheduler(\n this.log,\n Date,\n this.mods.suncalc,\n this.config.latitude,\n this.config.longitude,\n );\n await this.dayTimeSchedules();\n await this.sunTimeSchedules();\n await this.timeSchedule();\n\n // Warning. It could have a side effect in compact mode, so all adapters will accept self-signed certificates\n if (this.config.allowSelfSignedCerts) {\n process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';\n }\n\n const doc = await this.getObjectViewAsync('script', 'javascript', {});\n if (doc?.rows?.length) {\n // assemble global script\n for (let g = 0; g < doc.rows.length; g++) {\n const obj = doc.rows[g].value;\n if (checkIsGlobal(obj)) {\n if (obj && obj.common) {\n const engineType = (obj.common.engineType || '').toLowerCase();\n\n if (obj.common.enabled) {\n if (engineType.startsWith('typescript')) {\n // TypeScript\n this.log.info(`${obj._id}: compiling TypeScript source...`);\n // In order to compile global TypeScript, we need to do some transformations\n // 1. For top-level-await, some statements must be wrapped in an immediately-invoked async function\n // 2. If any global script uses `import`, the declarations are no longer visible if they are not exported with `declare global`\n const transformedSource = transformScriptBeforeCompilation(obj.common.source, true);\n // The source code must be transformed in order to support top level await\n // Global scripts must not be treated as a module, otherwise their methods\n // cannot be found by the normal scripts\n // We need to hash both global declarations that are known until now\n // AND the script source, because changing either can change the compilation output\n const sourceHash: string = hashSource(\n tsSourceHashBase + this.globalDeclarations + transformedSource,\n );\n\n let compiled: string | undefined;\n let declarations: string | undefined;\n // If we already stored the compiled source code and the original source hash,\n // use the hash to check whether we can rely on the compiled source code or\n // if we need to compile it again\n if (\n typeof obj.common.compiled === 'string' &&\n typeof obj.common.sourceHash === 'string' &&\n sourceHash === obj.common.sourceHash\n ) {\n // We can reuse the stored source\n compiled = obj.common.compiled;\n declarations = obj.common.declarations;\n this.log.info(\n `${obj._id}: source code did not change, using cached compilation result...`,\n );\n } else {\n // We don't have a hashed source code, or the original source changed, compile it\n const filename = scriptIdToTSFilename(obj._id);\n let tsCompiled: CompileResult;\n try {\n tsCompiled = this.tsServer.compile(filename, transformedSource);\n } catch (err: unknown) {\n this.log.error(`${obj._id}: TypeScript compilation failed:\\n${err as Error}`);\n continue;\n }\n\n const errors = tsCompiled.diagnostics\n .map(diag => `${diag.annotatedSource}\\n`)\n .join('\\n');\n\n if (tsCompiled.success) {\n if (errors.length > 0) {\n this.log.warn(\n `${obj._id}: TypeScript compilation completed with errors:\\n${errors}`,\n );\n } else {\n this.log.info(`${obj._id}: TypeScript compilation successful`);\n }\n compiled = tsCompiled.result;\n // Global scripts that have been transformed to support `import` need to have their declarations transformed aswell\n declarations = transformGlobalDeclarations(tsCompiled.declarations || '');\n\n const newCommon: {\n compiled: string | undefined;\n declarations?: string;\n sourceHash: string;\n } = {\n sourceHash,\n compiled,\n };\n if (declarations) {\n newCommon.declarations = declarations;\n }\n\n // Store the compiled source and the original source hash, so we don't need to do the work again next time\n this.ignoreObjectChange.add(obj._id); // ignore the next change and don't restart scripts\n void this.extendForeignObject(obj._id, {\n common: newCommon,\n });\n } else {\n this.log.error(`${obj._id}: TypeScript compilation failed:\\n${errors}`);\n continue;\n }\n }\n this.globalScript += `${compiled}\\n`;\n // if declarations were generated, remember them\n if (declarations != null) {\n this.provideDeclarationsForGlobalScript(obj._id, declarations);\n }\n } else {\n // javascript\n const sourceCode = obj.common.source;\n this.globalScript += `${sourceCode}\\n`;\n\n // try to compile the declarations so TypeScripts can use\n // functions defined in global JavaScripts\n const filename = scriptIdToTSFilename(obj._id);\n let tsCompiled: CompileResult;\n try {\n tsCompiled = jsDeclarationServer.compile(filename, sourceCode);\n } catch (err: unknown) {\n this.log.warn(\n `${obj._id}: Error while generating type declarations, skipping:\\n${err as Error}`,\n );\n continue;\n }\n // if declarations were generated, remember them\n if (tsCompiled.success && tsCompiled.declarations != null) {\n this.provideDeclarationsForGlobalScript(obj._id, tsCompiled.declarations);\n }\n }\n }\n }\n }\n }\n }\n\n this.globalScript = this.globalScript.replace(/\\r\\n/g, '\\n');\n this.globalScriptLines = this.globalScript.split(/\\n/g).length - 1;\n\n if (doc?.rows?.length) {\n // load all scripts\n for (let i = 0; i < doc.rows.length; i++) {\n if (!checkIsGlobal(doc.rows[i].value)) {\n void this.loadScript(doc.rows[i].value);\n }\n }\n }\n\n if (this.config.mirrorPath) {\n this.config.mirrorInstance = parseInt(this.config.mirrorInstance as unknown as string, 10) || 0;\n if (this.instance === this.config.mirrorInstance) {\n const ioBDataDir = getAbsoluteDefaultDataDir() + sep;\n this.config.mirrorPath = normalize(this.config.mirrorPath);\n let mirrorForbidden = false;\n for (let dir of forbiddenMirrorLocations) {\n dir = join(ioBDataDir, dir) + sep;\n if (dir.includes(this.config.mirrorPath) || this.config.mirrorPath.startsWith(dir)) {\n this.log.error(`The Mirror directory is not allowed to be a central ioBroker directory!`);\n this.log.error(`Directory ${this.config.mirrorPath} is not allowed to mirror files!`);\n mirrorForbidden = true;\n break;\n }\n }\n if (!mirrorForbidden) {\n this.mirror = new Mirror({\n adapter: this,\n log: this.log,\n diskRoot: this.config.mirrorPath,\n });\n }\n }\n }\n\n // CHeck setState counter per minute and stop script if too high\n this.setStateCountCheckInterval = setInterval(() => {\n Object.keys(this.scripts).forEach(id => {\n if (!this.scripts[id]) {\n return;\n }\n const currentSetStatePerMinuteCounter = this.scripts[id].setStatePerMinuteCounter;\n this.scripts[id].setStatePerMinuteCounter = 0;\n if (currentSetStatePerMinuteCounter > this.config.maxSetStatePerMinute) {\n this.scripts[id].setStatePerMinuteProblemCounter++;\n this.log.debug(\n `${id}: Script has reached the maximum of ${this.config.maxSetStatePerMinute} setState calls per minute in ${this.scripts[id].setStatePerMinuteProblemCounter} consecutive minutes`,\n );\n // Allow \"too high counters\" for 1 minute for script starts or such and only\n // stop the script when lasts longer\n if (this.scripts[id].setStatePerMinuteProblemCounter > 1) {\n this.log.error(\n `${id}: Script is calling setState more than ${this.config.maxSetStatePerMinute} times per minute! Stopping Script now! Please check your script!`,\n );\n void this.stopScript(id);\n }\n } else if (this.scripts[id].setStatePerMinuteProblemCounter > 0) {\n this.scripts[id].setStatePerMinuteProblemCounter--;\n this.log.debug(\n `Script ${id} has NOT reached the maximum of ${this.config.maxSetStatePerMinute} setState calls per minute. Decrease problem counter to ${this.scripts[id].setStatePerMinuteProblemCounter}`,\n );\n }\n });\n }, 60000);\n }\n\n private loadTypeScriptDeclarations(): void {\n // try to load the typings on disk for all 3rd party modules\n const packages = [\n 'node', // this provides auto-completion for most builtins\n '@iobroker/types', // this provides auto-completion for most builtins\n ];\n // Also include user-selected libraries (but only those that are also installed)\n if (typeof this.config?.libraries === 'string' && typeof this.config.libraryTypings === 'string') {\n const installedLibs = this.config.libraries\n .split(/[,;\\s]+/)\n .map(s => s.trim().split('@')[0])\n .filter(s => !!s);\n\n const wantsTypings = this.config.libraryTypings\n .split(/[,;\\s]+/)\n .map(s => s.trim())\n .filter(s => !!s);\n // Add all installed libraries the user has requested typings for to the list of packages\n for (const lib of installedLibs) {\n if (wantsTypings.includes(lib) && !packages.includes(lib)) {\n packages.push(lib);\n }\n }\n // Some packages have submodules (e.g., rxjs/operators) that are not exposed through the main entry point\n // If typings are requested for them, also add them if the base module is installed\n for (const lib of wantsTypings) {\n // Extract the package name and check if we need to add it\n if (!lib.includes('/')) {\n continue;\n }\n const pkgName = lib.substring(0, lib.indexOf('/'));\n\n if (installedLibs.includes(pkgName) && !packages.includes(lib)) {\n packages.push(lib);\n }\n }\n }\n for (const pkg of packages) {\n let pkgTypings = resolveTypings(\n pkg,\n this.getAdapterScopedPackageIdentifier ? this.getAdapterScopedPackageIdentifier(pkg) : pkg,\n // node needs ambient typings, so we don't wrap it in declare module\n pkg !== 'node',\n );\n if (!pkgTypings) {\n // Create the empty dummy declarations so users don't get the \"not found\" error\n // for installed packages\n if (pkg.includes('/')) {\n pkgTypings = {\n [`node_modules/${pkg}/index.d.ts`]: `declare module \"${pkg}\";`,\n };\n } else {\n pkgTypings = {\n [`node_modules/@types/${pkg}/index.d.ts`]: `declare module \"${pkg}\";`,\n };\n }\n }\n this.log.debug(`Loaded TypeScript definitions for \"${pkg}\": ${JSON.stringify(Object.keys(pkgTypings))}`);\n // remember the declarations for the editor\n Object.assign(tsAmbient, pkgTypings);\n // and give the language servers access to them\n this.tsServer.provideAmbientDeclarations(pkgTypings);\n jsDeclarationServer.provideAmbientDeclarations(pkgTypings);\n }\n }\n\n updateObjectContext(id: string, obj: ioBroker.Object | null | undefined): void {\n if (obj) {\n // add state to state ID's list\n if (obj.type === 'state') {\n if (!this.stateIds.includes(id)) {\n this.stateIds.push(id);\n this.stateIds.sort();\n }\n if (this.context.devices && this.context.channels) {\n const parts = id.split('.');\n parts.pop();\n const chn = parts.join('.');\n this.context.channels[chn] = this.context.channels[chn] || [];\n this.context.channels[chn].push(id);\n\n parts.pop();\n const dev = parts.join('.');\n this.context.devices[dev] = this.context.devices[dev] || [];\n this.context.devices[dev].push(id);\n }\n }\n } else {\n // delete object from state ID's list\n const pos = this.stateIds.indexOf(id);\n if (pos !== -1) {\n this.stateIds.splice(pos, 1);\n }\n if (this.context.devices && this.context.channels) {\n const parts = id.split('.');\n parts.pop();\n const chn = parts.join('.');\n if (this.context.channels[chn]) {\n const posChn = this.context.channels[chn].indexOf(id);\n posChn !== -1 && this.context.channels[chn].splice(posChn, 1);\n }\n\n parts.pop();\n const dev = parts.join('.');\n if (this.context.devices[dev]) {\n const posDev = this.context.devices[dev].indexOf(id);\n posDev !== -1 && this.context.devices[dev].splice(posDev, 1);\n }\n }\n\n delete this.folderCreationVerifiedObjects[id];\n }\n\n if (!obj && this.objects[id]) {\n // objects was deleted\n this.removeFromNames(id);\n delete this.objects[id];\n } else if (obj && !this.objects[id]) {\n // object was added\n this.objects[id] = obj;\n this.addToNames(obj);\n } else if (obj && this.objects[id].common) {\n // Object just changed\n this.objects[id] = obj;\n\n const n = this.getName(id);\n let nn = this.objects[id].common ? this.objects[id].common.name : '';\n\n if (nn && typeof nn === 'object') {\n nn = nn[getLanguage()] || nn.en;\n }\n\n if (n !== nn) {\n if (n) {\n this.removeFromNames(id);\n }\n if (nn) {\n this.addToNames(obj);\n }\n }\n }\n }\n\n async stopAllScripts(): Promise {\n const scripts = Object.keys(this.scripts);\n const promises: Promise[] = [];\n for (let i = 0; i < scripts.length; i++) {\n promises.push(this.stopScript(scripts[i]));\n }\n return Promise.all(promises).then(() => {});\n }\n\n convertBackStringifiedValues(\n id: string,\n state: ioBroker.State | null | undefined,\n ): ioBroker.State | null | undefined {\n if (\n state &&\n typeof state.val === 'string' &&\n this.objects[id]?.common &&\n (this.objects[id].common.type === 'array' || this.objects[id].common.type === 'object')\n ) {\n try {\n state.val = JSON.parse(state.val);\n } catch (err: any) {\n if (id.startsWith('javascript.') || id.startsWith('0_userdata.0')) {\n this.log.info(\n `Could not parse value for id \"${id}\" into ${this.objects[id].common.type}: ${err.toString()}`,\n );\n } else {\n this.log.debug(\n `Could not parse value for id \"${id}\" into ${this.objects[id].common.type}: ${err.toString()}`,\n );\n }\n }\n }\n return state;\n }\n\n prepareStateObjectSimple(id: string, state: ioBroker.StateValue, isAck: boolean): ioBroker.State {\n // otherwise, assume that the given state is the value to be set\n const oState: ioBroker.State = { val: state, ack: isAck } as ioBroker.State;\n\n return this.prepareStateObject(id, oState);\n }\n\n prepareStateObject(id: string, state: ioBroker.SettableState | null): ioBroker.State {\n let oState: ioBroker.State;\n\n if (state && typeof state === 'object') {\n oState = state as ioBroker.State;\n } else {\n oState = { val: null } as ioBroker.State;\n }\n\n if (this.config.subscribe) {\n return oState;\n }\n // set other values to have a full state object\n // mirrors logic from statesInRedis\n if (oState.ts === undefined) {\n oState.ts = Date.now();\n }\n\n if (oState.q === undefined) {\n oState.q = 0;\n }\n\n oState.from =\n typeof oState.from === 'string' && oState.from !== '' ? oState.from : `system.adapter.${this.namespace}`;\n\n if (oState.lc === undefined) {\n const formerStateValue = this.interimStateValues[id] || this.states[id];\n if (!formerStateValue) {\n oState.lc = oState.ts;\n } else {\n // isDeepStrictEqual works on objects and primitive values\n const hasChanged = !isDeepStrictEqual(formerStateValue.val, oState.val);\n if (!formerStateValue.lc || hasChanged) {\n oState.lc = oState.ts;\n } else {\n oState.lc = formerStateValue.lc;\n }\n }\n }\n\n return oState;\n }\n\n async getData(): Promise {\n await this.subscribeForeignObjectsAsync('*');\n\n if (!this.config.subscribe) {\n await this.subscribeForeignStatesAsync('*');\n } else {\n await this.subscribeStatesAsync('debug.to');\n await this.subscribeStatesAsync('scriptEnabled.*');\n }\n\n this.log.info('requesting all states');\n\n const statesPromise = this.getForeignStatesAsync('*')\n .then(res => {\n if (!res) {\n this.log.error(`Could not initialize states: no result`);\n this.terminate(EXIT_CODES.START_IMMEDIATELY_AFTER_STOP);\n return;\n }\n if (!this.config.subscribe) {\n this.states = Object.assign(res, this.states);\n this.context.states = this.states;\n\n this.addGetProperty(this.states);\n }\n\n // remember all IDs\n for (const id in res) {\n if (Object.prototype.hasOwnProperty.call(res, id)) {\n this.stateIds.push(id);\n }\n }\n this.statesInitDone = true;\n this.log.info('received all states');\n })\n .catch((err: any) => {\n this.log.error(`Could not initialize states: ${err?.message || 'no result'}`);\n this.terminate(EXIT_CODES.START_IMMEDIATELY_AFTER_STOP);\n });\n\n this.log.info('requesting all objects');\n\n const objectsPromise = this.getObjectListAsync({ include_docs: true })\n .then(res => {\n if (!res?.rows) {\n this.log.error(`Could not initialize objects: no result`);\n this.terminate(EXIT_CODES.START_IMMEDIATELY_AFTER_STOP);\n return;\n }\n this.objects = {};\n this.context.objects = this.objects;\n for (let i = 0; i < res.rows.length; i++) {\n if (!res.rows[i].doc) {\n this.log.debug(`Got empty object for index ${i} (${res.rows[i].id})`);\n continue;\n }\n if (this.objects[res.rows[i].doc._id] === undefined) {\n // If was already there ignore\n this.objects[res.rows[i].doc._id] = res.rows[i].doc;\n }\n this.objects[res.rows[i].doc._id].type === 'enum' && this._enums.push(res.rows[i].doc._id);\n\n // Collect all names\n this.addToNames(this.objects[res.rows[i].doc._id]);\n }\n this.addGetProperty(this.objects);\n\n const systemConfig = this.objects['system.config'];\n\n // set language for debug messages\n if (systemConfig?.common?.language) {\n setLanguage(systemConfig.common.language);\n this.language = systemConfig.common.language;\n this.context.language = this.language as ioBroker.Languages;\n } else if (this.language) {\n setLanguage(this.language);\n this.context.language = this.language;\n }\n\n // try to use system coordinates\n if (this.config.useSystemGPS) {\n if (systemConfig?.common?.latitude || systemConfig?.common?.longitude) {\n this.config.latitude = systemConfig.common.latitude;\n this.config.longitude = systemConfig.common.longitude;\n } else if (this.latitude && this.longitude) {\n this.config.latitude = this.latitude;\n this.config.longitude = this.longitude;\n }\n }\n this.config.latitude = parseFloat(this.config.latitude as unknown as string);\n this.config.longitude = parseFloat(this.config.longitude as unknown as string);\n\n if (isNaN(this.config.latitude)) {\n this.log.warn(`Configured latitude is not a number - check (instance/system) configuration`);\n } else if (this.config.latitude < -90 || this.config.latitude > 90) {\n this.log.warn(\n `Configured latitude \"${this.config.latitude}\" is invalid - check (instance/system) configuration`,\n );\n }\n\n if (isNaN(this.config.longitude)) {\n this.log.warn(`Configured longitude is not a number - check (instance/system) configuration`);\n } else if (this.config.longitude < -180 || this.config.longitude > 180) {\n this.log.warn(\n `Configured longitude \"${this.config.longitude}\" is invalid - check (instance/system) configuration`,\n );\n }\n\n this.config.sunriseEvent = this.config.sunriseEvent || 'nightEnd';\n this.config.sunriseOffset = this.config.sunriseOffset || 0;\n this.config.sunriseLimitStart = this.config.sunriseLimitStart || '06:00';\n this.config.sunriseLimitEnd = this.config.sunriseLimitEnd || '12:00';\n\n this.config.sunsetEvent = this.config.sunsetEvent || 'dusk';\n this.config.sunsetOffset = this.config.sunsetOffset || 0;\n this.config.sunsetLimitStart = this.config.sunsetLimitStart || '18:00';\n this.config.sunsetLimitEnd = this.config.sunsetLimitEnd || '23:00';\n\n this.objectsInitDone = true;\n this.log.info('received all objects');\n })\n .catch((err: any) => {\n this.log.error(`Could not initialize objects: ${err?.message || 'no result'}`);\n this.terminate(EXIT_CODES.START_IMMEDIATELY_AFTER_STOP);\n });\n\n return Promise.all([statesPromise, objectsPromise]).then(() => {});\n }\n\n async createActiveObject(id: string, enabled: boolean): Promise {\n const idActive = `${this.namespace}.scriptEnabled.${id.substring(SCRIPT_CODE_MARKER.length)}`;\n\n if (!this.objects[idActive]) {\n this.objects[idActive] = {\n _id: idActive,\n common: {\n name: `scriptEnabled.${id.substring(SCRIPT_CODE_MARKER.length)}`,\n desc: 'controls script activity',\n type: 'boolean',\n write: true,\n read: true,\n role: 'switch.active',\n },\n native: {\n script: id,\n },\n type: 'state',\n };\n try {\n await this.setForeignObjectAsync(idActive, this.objects[idActive]);\n const intermediateStateValue = this.prepareStateObjectSimple(idActive, enabled, true);\n await this.setForeignStateAsync(idActive, enabled, true);\n if (enabled && !this.config.subscribe) {\n this.interimStateValues[idActive] = intermediateStateValue;\n }\n } catch {\n // ignore\n }\n } else {\n const state = await this.getForeignStateAsync(idActive);\n if (state && state.val !== enabled) {\n const intermediateStateValue = this.prepareStateObjectSimple(idActive, enabled, true);\n await this.setForeignStateAsync(idActive, enabled, true);\n if (enabled && !this.config.subscribe) {\n this.interimStateValues[id] = intermediateStateValue;\n }\n }\n }\n }\n\n async createProblemObject(id: string): Promise {\n const idProblem = `${this.namespace}.scriptProblem.${id.substring(SCRIPT_CODE_MARKER.length)}`;\n\n if (!this.objects[idProblem]) {\n this.objects[idProblem] = {\n _id: idProblem,\n common: {\n name: `scriptProblem.${id.substring(SCRIPT_CODE_MARKER.length)}`,\n desc: 'Script has a problem',\n type: 'boolean',\n expert: true,\n write: false,\n read: true,\n role: 'indicator.error',\n },\n native: {\n script: id,\n },\n type: 'state',\n };\n try {\n await this.setForeignObjectAsync(idProblem, this.objects[idProblem]);\n await this.setForeignStateAsync(idProblem, false, true);\n } catch {\n // ignore\n }\n } else {\n const state = await this.getForeignStateAsync(idProblem);\n if (state && state.val !== false) {\n await this.setForeignStateAsync(idProblem, false, true);\n }\n }\n }\n\n addToNames(obj: ioBroker.Object): void {\n const id = obj._id;\n\n if (obj.common?.name) {\n let name = obj.common.name;\n if (name && typeof name === 'object') {\n name = name[getLanguage()] || name.en;\n }\n if (!name || typeof name !== 'string') {\n // TODO, take name in current language\n return;\n }\n\n if (!this.names[name]) {\n this.names[name] = id;\n } else {\n // convert to array\n if (!Array.isArray(this.names[name])) {\n this.names[name] = [this.names[name] as string];\n }\n\n (this.names[name] as string[]).push(id);\n }\n }\n }\n\n removeFromNames(id: string): void {\n const n = this.getName(id);\n\n if (n) {\n if (Array.isArray(this.names[n])) {\n const pos = this.names[n].indexOf(id);\n if (pos > -1) {\n this.names[n].splice(pos, 1);\n\n if (this.names[n].length === 1) {\n this.names[n] = this.names[n][0];\n }\n }\n } else {\n delete this.names[n];\n }\n }\n }\n\n getName(id: string): string | null {\n for (const n in this.names) {\n if (this.names[n] && Array.isArray(this.names[n])) {\n if (this.names[n].includes(id)) {\n return n;\n }\n } else if (this.names[n] === id) {\n return n;\n }\n }\n\n return null;\n }\n\n async installNpm(npmLib: string): Promise {\n return new Promise((resolve, reject) => {\n const path = __dirname;\n\n // Also, set the working directory (cwd) of the process instead of using --prefix\n // because that has ugly bugs on Windows\n const cmd = `npm install ${npmLib} --omit=dev`;\n this.log.info(`Installing ${npmLib} into ${__dirname} - cmd: ${cmd}`);\n\n // System call used for update of js-controller itself,\n // because during the installation the npm packet will be deleted too, but some files must be loaded even during the installation process.\n const child = this.mods.child_process.exec(cmd, {\n windowsHide: true,\n cwd: path,\n });\n\n child.stdout?.on('data', buf => this.log.info(buf.toString('utf8')));\n\n child.stderr?.on('data', buf => this.log.error(buf.toString('utf8')));\n\n child.on('err', err => {\n this.log.error(`Cannot install ${npmLib}: ${err}`);\n reject(new Error(`Cannot install ${npmLib}: ${err}`));\n });\n child.on('error', err => {\n this.log.error(`Cannot install ${npmLib}: ${err}`);\n reject(new Error(`Cannot install ${npmLib}: ${err}`));\n });\n\n child.on('exit', (code: number /* , signal */) => {\n if (code) {\n this.log.error(`Cannot install ${npmLib}: ${code}`);\n reject(new Error(`Cannot install ${npmLib}: ${code}`));\n }\n // command succeeded\n resolve(code);\n });\n });\n }\n\n async installLibraries(): Promise {\n if (typeof this.config?.libraries !== 'string') {\n this.config.libraries = '';\n }\n\n const libraries: string[] = this.config.libraries\n .split(/[,;\\s]+/)\n .map(d => d.trim())\n .filter(d => d);\n\n this.log.debug(`Custom libraries in config: \"${this.config.libraries}\": ${JSON.stringify(libraries)}`);\n\n let installedNodeModules: string[] = [];\n const keepModules: string[] = [];\n\n // js-controller >= 6.x\n if (typeof this.listInstalledNodeModules === 'function') {\n installedNodeModules = await this.listInstalledNodeModules();\n\n this.log.debug(`Found installed libraries: ${JSON.stringify(installedNodeModules)}`);\n }\n\n for (const lib of libraries) {\n let depName = lib;\n let version = 'latest';\n\n if (depName.includes('@') && depName.lastIndexOf('@') > 0) {\n const parts = depName.split('@');\n version = parts.pop() ?? 'latest';\n depName = parts.join('@');\n }\n\n /** The real module name, because the dependency can be an url too */\n let moduleName = depName;\n\n if (URL.canParse(depName)) {\n moduleName = await requestModuleNameByUrl(depName);\n\n this.log.debug(`Found custom library in config: \"${moduleName}@${version}\" (from ${depName})`);\n } else {\n this.log.debug(`Found custom library in config: \"${moduleName}@${version}\"`);\n }\n\n keepModules.push(moduleName);\n\n // js-controller >= 6.x\n if (typeof this.installNodeModule === 'function') {\n try {\n const result = await this.installNodeModule(depName, { version });\n if (result.success) {\n this.log.debug(`Installed custom library: \"${moduleName}@${version}\"`);\n\n const importedModule: any = await this.importNodeModule(moduleName);\n (this.mods as Record)[moduleName] = importedModule.default ?? importedModule;\n } else {\n this.log.warn(`Cannot install custom npm package \"${moduleName}@${version}\"`);\n }\n } catch (err: unknown) {\n this.log.warn(`Cannot install custom npm package \"${moduleName}@${version}\": ${err as Error}`);\n }\n } else if (!existsSync(`${__dirname}/node_modules/${depName}/package.json`)) {\n // js-controller < 6.x\n this.log.info(`Installing custom library (legacy mode): \"${lib}\"`);\n\n try {\n await this.installNpm(lib);\n this.log.info(`Installed custom npm package (legacy mode): \"${lib}\"`);\n } catch (err: any) {\n this.log.warn(`Cannot install custom npm package \"${lib}\" (legacy mode): ${err.toString()}`);\n }\n }\n }\n\n // js-controller >= 6.x\n if (typeof this.uninstallNodeModule === 'function') {\n for (const installedNodeModule of installedNodeModules) {\n if (!keepModules.includes(installedNodeModule)) {\n try {\n await this.uninstallNodeModule(installedNodeModule);\n\n this.log.info(`Removed custom npm package: \"${installedNodeModule}\"`);\n } catch (err: any) {\n this.log.warn(`Cannot remove custom npm package ${installedNodeModule}: ${err.toString()}`);\n }\n }\n }\n }\n }\n\n createVM(source: string, name: string, wrapAsync: boolean): false | JsScript {\n if (this.context.debugMode && name !== this.context.debugMode) {\n return false;\n }\n\n if (!this.context.debugMode) {\n const logSubscriptionsText =\n \"\\n;\\nlog(`registered ${__engine.__subscriptions} subscription${__engine.__subscriptions === 1 ? '' : 's'},\" +\n \" ${__engine.__schedules} schedule${__engine.__schedules === 1 ? '' : 's'},\" +\n \" ${__engine.__subscriptionsMessage} message${__engine.__subscriptionsMessage === 1 ? '' : 's'},\" +\n \" ${__engine.__subscriptionsLog} log${__engine.__subscriptionsLog === 1 ? '' : 's'}\" +\n \" and ${__engine.__subscriptionsFile} file subscription${__engine.__subscriptionsFile === 1 ? '' : 's'}`);\\n\";\n\n if (wrapAsync) {\n source = `(async () => {\\n${source}\\n${logSubscriptionsText}\\n})();`;\n } else {\n if (source.endsWith('export {};\\n')) {\n // If the source ends with \"export {};\" place the log subscriptions before it\n source = source.slice(0, -11); // remove \"export {};\\n\"\n source = `${source}\\n${logSubscriptionsText}\\nexport {};\\n`;\n } else {\n source = `${source}\\n${logSubscriptionsText}`;\n }\n }\n } else {\n if (wrapAsync) {\n source = `(async () => {debugger;\\n${source}\\n})();`;\n } else {\n source = `debugger;${source}`;\n }\n }\n\n try {\n const options: ScriptOptions = {\n filename: name,\n // displayErrors: true,\n // lineOffset: this.globalScriptLines\n };\n return {\n script: new Script(source, options),\n } as JsScript;\n } catch (err: unknown) {\n this.logError(name, `compile failed at`, err as Error);\n return false;\n }\n }\n\n execute(script: JsScript, name: string, engineType: ScriptType, verbose: boolean, debug: boolean): void {\n script.intervals = [];\n script.timeouts = [];\n script.schedules = [];\n script.wizards = [];\n script.name = name;\n script.engineType = engineType;\n script._id = Math.floor(Math.random() * 0xffffffff);\n script.subscribes = {};\n script.subscribesFile = {};\n script.setStatePerMinuteCounter = 0;\n script.setStatePerMinuteProblemCounter = 0;\n void this.setState(`scriptProblem.${name.substring(SCRIPT_CODE_MARKER.length)}`, {\n val: false,\n ack: true,\n expire: 1000,\n });\n\n const sandbox = sandBox(script, name, verbose, debug, this.context);\n\n try {\n script.script.runInNewContext(sandbox, {\n filename: name,\n displayErrors: true,\n // lineOffset: this.globalScriptLines\n });\n } catch (err: unknown) {\n void this.setState(`scriptProblem.${name.substring(SCRIPT_CODE_MARKER.length)}`, {\n val: true,\n ack: true,\n c: 'execute',\n });\n this.logError(name, 'Error by run:', err as Error);\n }\n }\n\n unsubscribe(id: string | RegExp | string[]): void {\n if (!id) {\n this.log.warn('unsubscribe: empty name');\n return;\n }\n\n if (Array.isArray(id)) {\n id.forEach(sub => unsubscribe(sub));\n return;\n }\n\n if (id.constructor && id.constructor.name === 'RegExp') {\n // adapter.log.warn('unsubscribe: todo - process regexp');\n return;\n }\n\n if (typeof id !== 'string') {\n this.log.error(`unsubscribe: invalid type of id - ${typeof id}`);\n return;\n }\n const parts = id.split('.');\n const _adapter = `system.adapter.${parts[0]}.${parts[1]}`;\n if (this.objects[_adapter]?.common?.subscribable) {\n const a = `${parts[0]}.${parts[1]}`;\n const alive = `system.adapter.${a}.alive`;\n if (this.adapterSubs[alive]) {\n const pos = this.adapterSubs[alive].indexOf(id);\n if (pos !== -1) {\n this.adapterSubs[alive].splice(pos, 1);\n }\n if (!this.adapterSubs[alive].length) {\n delete this.adapterSubs[alive];\n }\n }\n this.sendTo(a, 'unsubscribe', id);\n }\n }\n\n // Analyze if logs are still required or not\n updateLogSubscriptions(): void {\n let found = false;\n // go through all scripts and check if some script still requires logs\n Object.keys(this.logSubscriptions).forEach(scriptName => {\n if (!this.logSubscriptions?.[scriptName] || !this.logSubscriptions[scriptName].length) {\n delete this.logSubscriptions[scriptName];\n } else {\n found = true;\n }\n });\n\n if (this.requireLog) {\n if (found && !this.logSubscribed) {\n this.logSubscribed = true;\n void this.requireLog(this.logSubscribed);\n this.log.info(`Subscribed to log messages (found logSubscriptions)`);\n } else if (!found && this.logSubscribed) {\n this.logSubscribed = false;\n void this.requireLog(this.logSubscribed);\n this.log.info(`Unsubscribed from log messages (not found logSubscriptions)`);\n }\n }\n }\n\n async stopScript(name: string): Promise {\n this.log.info(`${name}: Stopping script`);\n\n await this.setState(`scriptEnabled.${name.substring(SCRIPT_CODE_MARKER.length)}`, false, true);\n\n if (this.messageBusHandlers[name]) {\n delete this.messageBusHandlers[name];\n }\n\n if (this.tempDirectories[name]) {\n try {\n this.mods.fs.rmSync(this.tempDirectories[name], { recursive: true });\n\n this.log.debug(`${name}: Removed temp directory: ${this.tempDirectories[name]}`);\n } catch {\n this.log.warn(`${name}: Unable to remove temp directory: ${this.tempDirectories[name]}`);\n }\n\n delete this.tempDirectories[name];\n }\n\n if (this.logSubscriptions[name]) {\n delete this.logSubscriptions[name];\n this.updateLogSubscriptions();\n }\n\n if (this.scripts[name]) {\n // Remove from subscriptions\n this.context.isEnums = false;\n if (this.config.subscribe) {\n // check all subscribed IDs\n Object.keys(this.scripts[name].subscribes).forEach(id => {\n if (this.subscribedPatterns[id]) {\n this.subscribedPatterns[id] -= this.scripts[name].subscribes[id];\n if (this.subscribedPatterns[id] <= 0) {\n this.unsubscribeForeignStates(id);\n delete this.subscribedPatterns[id];\n if (this.states[id]) {\n delete this.states[id];\n }\n }\n }\n });\n }\n\n for (let i = this.subscriptions.length - 1; i >= 0; i--) {\n if (this.subscriptions[i].name === name) {\n const sub = this.subscriptions.splice(i, 1)[0];\n if (sub?.pattern.id) {\n this.unsubscribe(sub.pattern.id);\n }\n } else {\n if (\n (!this.context.isEnums && this.subscriptions[i].pattern.enumName) ||\n this.subscriptions[i].pattern.enumId\n ) {\n this.context.isEnums = true;\n }\n }\n }\n\n // check all subscribed files\n Object.keys(this.scripts[name].subscribesFile).forEach(key => {\n if (this.subscribedPatternsFile[key]) {\n this.subscribedPatternsFile[key] -= this.scripts[name].subscribesFile[key];\n if (this.subscribedPatternsFile[key] <= 0) {\n const [id, file] = key.split('$%$');\n void this.unsubscribeForeignFiles(id, file);\n delete this.subscribedPatternsFile[key];\n }\n }\n });\n for (let i = this.subscriptionsFile.length - 1; i >= 0; i--) {\n if (this.subscriptionsFile[i].name === name) {\n this.subscriptionsFile.splice(i, 1);\n }\n }\n\n for (let i = this.subscriptionsObject.length - 1; i >= 0; i--) {\n if (this.subscriptionsObject[i].name === name) {\n const sub = this.subscriptionsObject.splice(i, 1)[0];\n if (sub) {\n this.unsubscribeForeignObjects(sub.pattern);\n }\n }\n }\n\n // Stop all timeouts\n for (let i = 0; i < this.scripts[name].timeouts.length; i++) {\n clearTimeout(this.scripts[name].timeouts[i]);\n }\n // Stop all intervals\n for (let i = 0; i < this.scripts[name].intervals.length; i++) {\n clearInterval(this.scripts[name].intervals[i]);\n }\n // Stop all scheduled jobs\n for (let i = 0; i < this.scripts[name].schedules.length; i++) {\n if (this.scripts[name].schedules[i]) {\n const _name = this.scripts[name].schedules[i].name;\n if (!this.mods.nodeSchedule.cancelJob(this.scripts[name].schedules[i])) {\n this.log.error(`${name}: Error by canceling scheduled job \"${_name}\"`);\n }\n }\n }\n\n // Stop all time wizards jobs\n if (this.context.scheduler) {\n for (let i = 0; i < this.scripts[name].wizards.length; i++) {\n if (this.scripts[name].wizards[i]) {\n this.context.scheduler.remove(this.scripts[name].wizards[i]);\n }\n }\n }\n\n // if callback for on stop\n if (typeof this.scripts[name].onStopCb === 'function') {\n this.scripts[name].onStopTimeout =\n parseInt(this.scripts[name].onStopTimeout as unknown as string, 10) || 1000;\n\n await new Promise(resolve => {\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n if (timeout) {\n timeout = null;\n resolve(true);\n }\n }, this.scripts[name].onStopTimeout);\n\n try {\n this.scripts[name].onStopCb(() => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n resolve(true);\n }\n });\n } catch (err: unknown) {\n this.log.error(`${name}: error in onStop callback: ${err as Error}`);\n }\n });\n }\n\n delete this.scripts[name];\n return true;\n }\n return false;\n }\n\n async prepareScript(obj: ioBroker.ScriptObject): Promise {\n if (obj?.common?.enabled && this.debugState.scriptName === obj._id) {\n const id = obj._id;\n await this.debugStop();\n this.log.info(`${id}: Debugging was stopped, because started in normal mode`);\n return this.prepareScript(obj);\n }\n\n if (\n obj?.common?.source &&\n (obj.common.enabled || this.context.debugMode === obj._id) &&\n obj.common.engine === `system.adapter.${this.namespace}`\n ) {\n const name = obj._id;\n\n const nameId = name.substring(SCRIPT_CODE_MARKER.length);\n if (!nameId.length || nameId.endsWith('.')) {\n this.log.error(`${name}: Script name \"${name}\" is invalid!`);\n return false;\n }\n const idActive = `scriptEnabled.${nameId}`;\n if (!this.config.subscribe) {\n this.interimStateValues[idActive] = this.prepareStateObjectSimple(\n `${this.namespace}.${idActive}`,\n true,\n true,\n );\n }\n await this.setState(idActive, true, true);\n obj.common.engineType = obj.common.engineType || '';\n\n if (\n (obj.common.engineType as ScriptType).toLowerCase().startsWith('javascript') ||\n (obj.common.engineType as ScriptType) === 'Blockly' ||\n (obj.common.engineType as ScriptType) === 'Rules'\n ) {\n // Javascript\n this.log.info(`${name}: start JavaScript (${obj.common.engineType})`);\n\n let sourceFn = name;\n if (webstormDebug) {\n const fn = name.replace(/^script\\.js\\./, '').replace(/\\./g, '/');\n sourceFn = this.mods.path.join(webstormDebug, `${fn}.js`);\n }\n const createdScript = this.createVM(`${this.globalScript}\\n${obj.common.source}`, sourceFn, true);\n if (!createdScript) {\n return false;\n }\n this.scripts[name] = createdScript;\n this.execute(\n this.scripts[name],\n sourceFn,\n obj.common.engineType as ScriptType,\n obj.common.verbose,\n obj.common.debug,\n );\n return true;\n }\n\n if (obj.common.engineType.toLowerCase().startsWith('typescript')) {\n // TypeScript\n this.log.info(`${name}: Compiling TypeScript source`);\n // The source code must be transformed in order to support top level await\n // and to force TypeScript to compile the code as a module\n const transformedSource = transformScriptBeforeCompilation(obj.common.source, false);\n // We need to hash both global declarations that are known until now\n // AND the script source, because changing either can change the compilation output\n const sourceHash = hashSource(tsSourceHashBase + this.globalDeclarations + transformedSource);\n\n let compiled: string;\n // If we already stored the compiled source code and the original source hash,\n // use the hash to check whether we can rely on the compiled source code or\n // if we need to compile it again\n if (\n typeof obj.common.compiled === 'string' &&\n typeof obj.common.sourceHash === 'string' &&\n sourceHash === obj.common.sourceHash\n ) {\n // We can reuse the stored source\n compiled = obj.common.compiled;\n this.log.info(`${name}: source code did not change, using cached compilation result...`);\n } else {\n // We don't have a hashed source code, or the original source changed, compile it\n const filename = scriptIdToTSFilename(name);\n let tsCompiled: CompileResult;\n try {\n tsCompiled = this.tsServer.compile(filename, transformedSource);\n } catch (err: unknown) {\n this.log.error(`${obj._id}: TypeScript compilation failed:\\n${err as Error}`);\n return false;\n }\n\n const errors = tsCompiled.diagnostics.map(diag => `${diag.annotatedSource}\\n`).join('\\n');\n\n if (tsCompiled.success) {\n if (errors.length > 0) {\n this.log.warn(`${name}: TypeScript compilation had errors:\\n${errors}`);\n } else {\n this.log.info(`${name}: TypeScript compilation successful`);\n }\n compiled = tsCompiled.result || '';\n\n // Store the compiled source and the original source hash, so we don't need to do the work again next time\n this.ignoreObjectChange.add(name); // ignore the next change and don't restart scripts\n await this.extendForeignObjectAsync(name, {\n common: {\n sourceHash,\n compiled,\n },\n });\n } else {\n this.log.error(`${name}: TypeScript compilation failed:\\n${errors}`);\n return false;\n }\n }\n const createdScript: JsScript | false = this.createVM(`${this.globalScript}\\n${compiled}`, name, false);\n if (!createdScript) {\n return false;\n }\n this.scripts[name] = createdScript;\n this.execute(\n this.scripts[name],\n name,\n obj.common.engineType as ScriptType,\n obj.common.verbose,\n obj.common.debug,\n );\n return true;\n }\n\n this.log.warn(`${obj._id}: Unknown engine type: ${obj.common.engineType}`);\n return false;\n }\n\n let _name: string;\n if (obj?._id) {\n _name = obj._id;\n const scriptIdName = _name.substring(SCRIPT_CODE_MARKER.length);\n\n if (!scriptIdName.length || scriptIdName.endsWith('.')) {\n this.log.error(`${obj._id}: Script name \"${_name}\" is invalid!`);\n return false;\n }\n await this.setState(`scriptEnabled.${scriptIdName}`, false, true);\n }\n if (!obj) {\n this.log.error('Invalid script');\n }\n return false;\n }\n\n async loadScriptById(id: string): Promise {\n let obj: ioBroker.ScriptObject | null | undefined;\n try {\n obj = (await this.getForeignObjectAsync(id)) as ioBroker.ScriptObject | null | undefined;\n } catch (err: any) {\n this.log.error(`${id}: Invalid script: ${err}`);\n }\n if (!obj) {\n return false;\n }\n return this.loadScript(obj);\n }\n\n async loadScript(nameOrObject: ioBroker.ScriptObject): Promise {\n // create states for scripts\n await this.createActiveObject(nameOrObject._id, !!nameOrObject?.common?.enabled);\n await this.createProblemObject(nameOrObject._id);\n return this.prepareScript(nameOrObject);\n }\n\n getAstroEvent(\n date: Date,\n astroEvent: AstroEventName,\n start: string,\n end: string,\n offsetMinutes: number | string,\n isDayEnd: boolean,\n latitude: number,\n longitude: number,\n useNextDay?: boolean,\n ): Date {\n let ts: Date = this.mods.suncalc.getTimes(date, latitude, longitude)[astroEvent];\n\n if (!ts || ts.getTime().toString() === 'NaN') {\n ts = isDayEnd ? getNextTimeEvent(end, useNextDay) : getNextTimeEvent(start, useNextDay);\n }\n ts.setMilliseconds(0);\n ts.setMinutes(ts.getMinutes() + (parseInt(offsetMinutes as unknown as string, 10) || 0));\n\n const [timeHoursStart, timeMinutesStart] = start.split(':');\n const nTimeHoursStart = parseInt(timeHoursStart, 10);\n const nTimeMinutesStart = parseInt(timeMinutesStart, 10) || 0;\n\n if (\n ts.getHours() < nTimeHoursStart ||\n (ts.getHours() === nTimeHoursStart && ts.getMinutes() < nTimeMinutesStart)\n ) {\n ts = getNextTimeEvent(start, useNextDay);\n ts.setSeconds(0);\n }\n\n const [timeHoursEnd, timeMinutesEnd] = end.split(':');\n const nTimeHoursEnd = parseInt(timeHoursEnd, 10);\n const nTimeMinutesEnd = parseInt(timeMinutesEnd, 10) || 0;\n\n if (ts.getHours() > nTimeHoursEnd || (ts.getHours() === nTimeHoursEnd && ts.getMinutes() > nTimeMinutesEnd)) {\n ts = getNextTimeEvent(end, useNextDay);\n ts.setSeconds(0);\n }\n\n // if event in the past\n if (date > ts && useNextDay) {\n // take the next day\n ts.setDate(ts.getDate() + 1);\n }\n return ts;\n }\n\n async timeSchedule(): Promise {\n const now = new Date();\n let hours = now.getHours();\n const minutes = now.getMinutes();\n if (this.timeSettings.format12) {\n if (hours > 12) {\n hours -= 12;\n }\n }\n let sHours: string;\n if (this.timeSettings.leadingZeros) {\n sHours = hours.toString().padStart(2, '0');\n } else {\n sHours = hours.toString();\n }\n\n await this.setState('variables.dayTime', {\n val: `${sHours}:${minutes.toString().padStart(2, '0')}`,\n ack: true,\n });\n\n now.setMinutes(now.getMinutes() + 1);\n now.setSeconds(0);\n now.setMilliseconds(0);\n const interval = now.getTime() - Date.now();\n this.timeScheduleTimer = setTimeout(() => this.timeSchedule(), interval);\n }\n\n async dayTimeSchedules(): Promise {\n // get astrological event\n if (\n this.config.latitude === undefined ||\n this.config.longitude === undefined ||\n (this.config.latitude as unknown as string) === '' ||\n (this.config.longitude as unknown as string) === '' ||\n this.config.latitude === null ||\n this.config.longitude === null\n ) {\n this.log.error('Longitude or latitude does not set. Cannot use astro.');\n return;\n }\n\n // Calculate the next event today\n const todayDate = getAstroStartOfDay();\n const nowDate = new Date();\n\n const todaySunrise = this.getAstroEvent(\n todayDate,\n this.config.sunriseEvent,\n this.config.sunriseLimitStart,\n this.config.sunriseLimitEnd,\n this.config.sunriseOffset,\n false,\n this.config.latitude,\n this.config.longitude,\n );\n const todaySunset = this.getAstroEvent(\n todayDate,\n this.config.sunsetEvent,\n this.config.sunsetLimitStart,\n this.config.sunsetLimitEnd,\n this.config.sunsetOffset,\n true,\n this.config.latitude,\n this.config.longitude,\n );\n\n // Sunrise\n let sunriseTimeout = todaySunrise.getTime() - nowDate.getTime();\n if (sunriseTimeout < 0 || sunriseTimeout > 3600000) {\n sunriseTimeout = 3600000;\n }\n\n // Sunset\n let sunsetTimeout = todaySunset.getTime() - nowDate.getTime();\n if (sunsetTimeout < 0 || sunsetTimeout > 3600000) {\n sunsetTimeout = 3600000;\n }\n\n const isDayTime: ioBroker.State | null | undefined = await this.getStateAsync('variables.isDayTime');\n let isDay: boolean;\n if (sunriseTimeout < 5000) {\n isDay = true;\n } else if (sunsetTimeout < 5000) {\n isDay = false;\n } else {\n // check if in between\n isDay = nowDate.getTime() > todaySunrise.getTime() - 60000 && nowDate <= todaySunset;\n }\n\n const valDayTime = isDayTime ? !!isDayTime.val : false;\n if (valDayTime !== isDay || isDayTime === null) {\n await this.setState('variables.isDayTime', isDay, true);\n }\n\n const dayLightSaving: ioBroker.State | null | undefined =\n await this.getStateAsync('variables.isDaylightSaving');\n const isDayLightSaving = dstOffsetAtDate(nowDate) !== 0;\n const val = dayLightSaving ? !!dayLightSaving.val : false;\n\n if (val !== isDayLightSaving || dayLightSaving === null) {\n await this.setState('variables.isDaylightSaving', isDayLightSaving, true);\n }\n\n let nextTimeout = sunriseTimeout;\n if (sunriseTimeout > sunsetTimeout) {\n nextTimeout = sunsetTimeout;\n }\n nextTimeout = nextTimeout - 3000;\n if (nextTimeout < 3000) {\n nextTimeout = 3000;\n }\n\n this.dayScheduleTimer = setTimeout(() => this.dayTimeSchedules(), nextTimeout);\n }\n\n stopTimeSchedules(): void {\n if (this.dayScheduleTimer) {\n clearTimeout(this.dayScheduleTimer);\n this.dayScheduleTimer = null;\n }\n if (this.sunScheduleTimer) {\n clearTimeout(this.sunScheduleTimer);\n this.sunScheduleTimer = null;\n }\n if (this.timeScheduleTimer) {\n clearTimeout(this.timeScheduleTimer);\n this.timeScheduleTimer = null;\n }\n }\n\n async patchFont(): Promise {\n let stat: Stats | undefined;\n let dbFile: Buffer | undefined;\n let fileName = `${__dirname}/../admin/vs/base/browser/ui/codicons/codicon/codicon.ttf`;\n let jsonFileName = `${__dirname}/../admin/vsFont/codicon.json`;\n try {\n if (existsSync(fileName)) {\n stat = statSync(fileName);\n }\n if (!stat) {\n jsonFileName = `${__dirname}/admin/vsFont/codicon.json`;\n fileName = `${__dirname}/admin/vs/base/browser/ui/codicons/codicon/codicon.ttf`;\n if (existsSync(fileName)) {\n stat = statSync(fileName);\n }\n }\n const _dbFile = await this.readFileAsync(\n 'javascript.admin',\n `vs/base/browser/ui/codicons/codicon/codicon.ttf`,\n );\n if (_dbFile?.file) {\n dbFile = _dbFile.file as Buffer;\n }\n } catch {\n // ignore\n }\n\n if (stat?.size !== 73452 || dbFile?.byteLength !== 73452) {\n try {\n const buffer = Buffer.from(JSON.parse(readFileSync(jsonFileName).toString()), 'base64');\n\n const jszip = await import('jszip');\n const zip = await jszip.loadAsync(buffer);\n let data: ArrayBuffer | undefined;\n if (zip) {\n data = await zip.file('codicon.ttf')?.async('arraybuffer');\n if (data?.byteLength !== 73452) {\n this.log.error(`Cannot patch font: invalid font file!`);\n return false;\n }\n } else {\n this.log.error(`Cannot patch font: invalid font file!`);\n return false;\n }\n writeFileSync(fileName, Buffer.from(data));\n // upload this file\n await this.writeFileAsync(\n 'javascript.admin',\n 'vs/base/browser/ui/codicons/codicon/codicon.ttf',\n Buffer.from(data),\n );\n return true;\n } catch (err: unknown) {\n this.log.error(`Cannot patch font: ${err as Error}`);\n return false;\n }\n }\n return false;\n }\n\n async sunTimeSchedules(): Promise {\n if (this.config.createAstroStates) {\n if (!isNaN(this.config.longitude) && !isNaN(this.config.longitude)) {\n const calcDate = getAstroStartOfDay();\n\n const times = this.mods.suncalc.getTimes(calcDate, this.config.latitude, this.config.longitude);\n\n this.log.debug(`[sunTimeSchedules] Times: ${JSON.stringify(times)}`);\n\n for (const t in times) {\n try {\n const objId = `variables.astro.${t}`;\n\n await this.setObjectNotExistsAsync(objId, {\n type: 'state',\n common: {\n name: `Astro ${t}`,\n type: 'string',\n role: 'value',\n read: true,\n write: false,\n },\n native: {},\n });\n\n if (times[t] !== null && !isNaN(times[t].getTime())) {\n const timeFormatted = formatHoursMinutesSeconds(times[t]);\n await this.setState(objId, {\n val: timeFormatted,\n c: times[t].toISOString(),\n ack: true,\n });\n } else {\n await this.setState(objId, { val: null, c: 'n/a', ack: true, q: 0x01 });\n }\n } catch (err: unknown) {\n this.log.error(\n `[sunTimeSchedules] Unable to set state for astro time \"${t}\" (${times[t].getTime()}): ${err as Error}`,\n );\n }\n }\n\n const todayDate = new Date();\n todayDate.setHours(0);\n todayDate.setMinutes(0);\n todayDate.setSeconds(1);\n todayDate.setMilliseconds(0);\n todayDate.setDate(todayDate.getDate() + 1);\n\n this.log.debug(`[sunTimeSchedules] Next: ${todayDate.toISOString()}`);\n this.sunScheduleTimer = setTimeout(() => this.sunTimeSchedules(), todayDate.getTime() - Date.now());\n }\n } else {\n // remove astro states if disabled\n this.delObject('variables.astro', { recursive: true });\n }\n }\n\n /**\n * Redirects the virtual-tsc log output to the ioBroker log\n */\n tsLog = (message: string, severity?: ioBroker.LogLevel): void => {\n // shift the severities around, we don't care about the small details\n if (!severity || severity === 'info') {\n severity = 'debug';\n } else if (severity === 'debug') {\n // Don't spam build logs on Travis\n if (isCI) {\n return;\n }\n severity = 'silly';\n }\n\n if (this?.log) {\n this.log[severity](message);\n } else {\n console.log(`[${severity.toUpperCase()}] ${message}`);\n }\n };\n\n addGetProperty(object: Record): void {\n try {\n Object.defineProperty(object, 'get', {\n value: function (id: string): any {\n return this[id] || this[`${this.namespace}.${id}`];\n },\n enumerable: false,\n });\n } catch {\n console.error('Cannot install get property');\n }\n }\n\n /**\n * Add declarations for global scripts\n *\n * @param scriptID - The current script the declarations were generated from\n * @param declarations - Declarations from script\n */\n provideDeclarationsForGlobalScript(scriptID: string, declarations: string): void {\n // Remember which declarations this global script had access to,\n // we need this so the editor doesn't show a duplicate identifier error\n if (this.globalDeclarations != null && this.globalDeclarations !== '') {\n this.knownGlobalDeclarationsByScript[scriptID] = this.globalDeclarations;\n }\n // and concatenate the global declarations for the next scripts\n this.globalDeclarations += `${declarations}\\n`;\n // remember all previously generated global declarations,\n // so global scripts can reference each other\n const globalDeclarationPath = 'global.d.ts';\n tsAmbient[globalDeclarationPath] = this.globalDeclarations;\n // make sure the next script compilation has access to the updated declarations\n this.tsServer.provideAmbientDeclarations({\n [globalDeclarationPath]: this.globalDeclarations,\n });\n jsDeclarationServer.provideAmbientDeclarations({\n [globalDeclarationPath]: this.globalDeclarations,\n });\n }\n\n fixLineNo(line: string): string {\n if (line.includes('javascript.js:')) {\n return line;\n }\n if (!/scripts?\\.js[.\\\\/]/.test(line)) {\n return line;\n }\n if (/:(\\d+):/.test(line)) {\n line = line.replace(\n /:(\\d+):/,\n (_$0, $1) => `:${$1 > this.globalScriptLines + 1 ? $1 - this.globalScriptLines - 1 : $1}:`,\n ); // one line for 'async function ()'\n } else {\n line = line.replace(\n /:(\\d+)$/,\n (_$0, $1) => `:${$1 > this.globalScriptLines + 1 ? $1 - this.globalScriptLines - 1 : $1}`,\n ); // one line for 'async function ()'\n }\n return line;\n }\n\n async debugStop(): Promise {\n if (this.debugState.child) {\n this.debugSendToInspector({ cmd: 'end' });\n this.debugState.endTimeout = setTimeout(() => {\n this.debugState.endTimeout = null;\n this.debugState.child?.kill('SIGTERM');\n }, 500);\n this.debugState.promiseOnEnd = this.debugState.promiseOnEnd || Promise.resolve(0);\n } else {\n this.debugState.promiseOnEnd = Promise.resolve(0);\n }\n\n await this.debugState.promiseOnEnd;\n\n this.debugState.child = null;\n this.debugState.running = false;\n this.debugState.scriptName = '';\n if (this.debugState.endTimeout) {\n clearTimeout(this.debugState.endTimeout);\n this.debugState.endTimeout = null;\n }\n }\n\n async debugDisableScript(id: string | undefined): Promise {\n if (id) {\n const obj = this.objects[id];\n if (obj?.common?.enabled) {\n await this.extendForeignObjectAsync(obj._id, { common: { enabled: false } });\n }\n }\n }\n\n debugSendToInspector(message: any): void {\n if (this.debugState.child) {\n try {\n this.log.info(`send to debugger: ${message}`);\n this.debugState.child.send(message);\n } catch {\n void this.debugStop().then(() =>\n this.log.info(\n `${this.debugState.scriptName}: Debugging was stopped, because started in normal mode`,\n ),\n );\n }\n } else {\n this.log.error(`${this.debugState.scriptName}: Cannot send command to terminated inspector`);\n void this.setState(\n 'debug.from',\n JSON.stringify({ cmd: 'error', error: `Cannot send command to terminated inspector`, id: 1 }),\n true,\n );\n }\n }\n\n debugStart(data: { breakOnStart?: boolean; scriptName?: string; adapter?: string }): void {\n if (Date.now() - this.debugState.started < 1000) {\n console.log('Start ignored');\n return;\n }\n\n this.debugState.started = Date.now();\n // stop the script if it's running\n void this.debugDisableScript(data.scriptName)\n .then(() => this.debugStop())\n .then(() => {\n if (data.adapter) {\n this.debugState.adapterInstance = data.adapter;\n this.debugState.scriptName = '';\n } else {\n this.debugState.adapterInstance = '';\n this.debugState.scriptName = data.scriptName as string;\n }\n\n this.debugState.breakOnStart = data.breakOnStart;\n\n this.debugState.promiseOnEnd = new Promise(resolve => {\n const options: ForkOptions = {\n stdio: ['ignore', 'inherit', 'inherit', 'ipc'],\n //stdio: ['pipe', 'pipe', 'pipe', 'ipc']\n };\n const args: string[] = [];\n if (this.debugState.adapterInstance) {\n args.push('--breakOnStart');\n }\n\n this.debugState.child = fork(`${__dirname}/lib/inspect.js`, args, options);\n\n /*debugState.child.stdout.setEncoding('utf8');\n debugState.child.stderr.setEncoding('utf8');\n debugState.child.stdout.on('data', childPrint);\n debugState.child.stderr.on('data', childPrint);*/\n\n this.debugState.child?.on(\n 'message',\n (\n message:\n | string\n | {\n cmd: 'ready' | 'watched' | 'paused' | 'resumed' | 'log' | 'readyToDebug';\n severity?: string;\n text?: string;\n scriptId?: string;\n script?: string;\n },\n ) => {\n let oMessage: {\n cmd: 'ready' | 'watched' | 'paused' | 'resumed' | 'log' | 'readyToDebug';\n severity?: string;\n text?: string;\n scriptId?: string;\n script?: string;\n };\n if (typeof message === 'string') {\n try {\n oMessage = JSON.parse(message);\n } catch {\n return this.log.error(`Cannot parse message from inspector: ${message}`);\n }\n } else {\n oMessage = message;\n }\n\n if (oMessage.cmd !== 'ready') {\n void this.setState('debug.from', JSON.stringify(oMessage), true);\n }\n\n switch (oMessage.cmd) {\n case 'ready': {\n this.debugSendToInspector({\n cmd: 'start',\n scriptName: this.debugState.scriptName,\n adapterInstance: this.debugState.adapterInstance,\n instance: this.instance,\n });\n break;\n }\n\n case 'watched': {\n //console.log(`WATCHED: ${JSON.stringify(oMessage)}`);\n break;\n }\n\n case 'paused': {\n this.debugState.paused = true;\n console.log(`host: PAUSED`);\n break;\n }\n\n case 'resumed': {\n this.debugState.paused = false;\n //console.log(`STARTED`);\n break;\n }\n\n case 'log': {\n console.log(`[${oMessage.severity}] ${oMessage.text}`);\n break;\n }\n\n case 'readyToDebug': {\n console.log(\n `host: readyToDebug (set breakpoints): [${oMessage.scriptId}] ${oMessage.script}`,\n );\n break;\n }\n }\n },\n );\n this.debugState.child?.on('error', error => {\n this.log.error(`Cannot start inspector: ${error}`);\n void this.setState('debug.from', JSON.stringify({ cmd: 'error', error }), true);\n });\n\n this.debugState.child?.on('exit', async (code: number): Promise => {\n if (code) {\n await this.setState(\n 'debug.from',\n JSON.stringify({ cmd: 'error', error: `invalid response code: ${code}` }),\n true,\n );\n }\n await this.setState('debug.from', JSON.stringify({ cmd: 'debugStopped', code }), true);\n this.debugState.child = null;\n resolve(code);\n });\n });\n });\n }\n}\n\nfunction patternMatching(\n event: EventObj,\n patternFunctions: PatternEventCompareFunction[] & { logic?: 'and' | 'or' },\n): boolean {\n let matched = false;\n for (let i = 0, len = patternFunctions.length; i < len; i++) {\n if (patternFunctions[i](event)) {\n if (patternFunctions.logic === 'or') {\n return true;\n }\n matched = true;\n } else if (patternFunctions.logic === 'and') {\n return false;\n }\n }\n return matched;\n}\n\n// If started as allInOne mode => return function to create instance\nif (require.main !== module) {\n // Export the constructor in compact mode\n module.exports = (options: Partial | undefined) => new JavaScript(options);\n} else {\n // otherwise start the instance directly\n (() => new JavaScript())();\n}\n"]} \ No newline at end of file +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qCAAqD;AACrD,qCAAwF;AACxF,yCAAiD;AACjD,2DAA4D;AAC5D,6CAAkE;AAClE,yCAA8C;AAC9C,wDAAgC;AAEhC,kDAAoC;AACpC,oDAAsC;AACtC,8CAAgC;AAChC,oDAAsC;AACtC,gDAAkC;AAClC,kDAAoC;AACpC,kDAAoC;AACpC,8CAAgC;AAChC,4CAA8B;AAC9B,gDAAkC;AAClC,gDAAkC;AAClC,kEAAoD;AACpD,oDAAsC;AACtC,gDAAkC;AAElC,sCAAsC;AACtC,kDAAoC;AACpC,6CAA+B;AAC/B,sCAAsC;AACtC,yDAA2C;AAC3C,4DAA8C;AAE9C,yDAA6G;AAK7G,yCAAsC;AACtC,gEAAwC;AACxC,uCAAuD;AACvD,2CAAwC;AACxC,uEAAqE;AACrE,6CAAkE;AAClE,+CAAiE;AACjE,iEAAwG;AACxG,uCAAyC;AACzC,2DAM+B;AAuC/B;;;;GAIG;AACH,MAAM,wBAAwB,GAAa;IACvC,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,YAAY;IACZ,iBAAiB;IACjB,QAAQ;CACX,CAAC;AAEF,MAAM,WAAW,GAAwB,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC7G,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC,IAAI,aAAiC,CAAC;AAEtC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AAE9B,sCAAsC;AACtC,IAAI,SAAiC,CAAC;AAEtC,yEAAyE;AACzE,kHAAkH;AAClH,qCAAqC;AACrC,qDAAqD;AACrD,MAAM,gBAAgB,GAAG,oBAAoB,WAAW,CAAC,OAAO,eAAe,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;AAErH,2IAA2I;AAC3I,SAAS,eAAe,CAAC,SAAe;IACpC,MAAM,QAAQ,GAAW,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACrD,+EAA+E;IAC/E,iFAAiF;IACjF,0EAA0E;IAC1E,gDAAgD;IAChD,MAAM,UAAU,GAAU,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,8CAA8C;IAC9C,+EAA+E;IAC/E,MAAM,SAAS,GAAW,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO;IACH,qDAAqD;IACrD,CAAC,SAAS,GAAG,yCAAyC;QACtD,uEAAuE;QACvE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,6CAA6C;QACtE,2EAA2E;QAC3E,2EAA2E;QAC3E,0DAA0D;QAC1D,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,8CAA8C;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,qCAAqC;YAC1C,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,2BAA2B;YACtD,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW;YAC1D,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ;YACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ;YACxC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM;YACtC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO;YACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO;YACvC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS;YACzC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY;YAC5C,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU;YAC1C,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW;YAC5C,mEAAmE;YACnE,qEAAqE;YAErE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,uBAAuB;YACpD,MAAM,CAAC;YACP,EAAE;YACF,EAAE,GAAG,2CAA2C;YAChD,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,wBAAwB;YAC7D,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,EAAE;YACF,IAAI,GAAG,yDAAyD;QACpE,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,gCAAgC;QACzE,SAAS,CAAC,eAAe,EAAE,CAC9B,CAAC;AACN,CAAC;AAED,MAAM,cAAc,GAAG,UAAU,CAAC;AAClC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAE9C,SAAS,aAAa,CAAC,GAA0B;IAC7C,OAAO,GAAG,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,YAAY,CAAC,GAA2B,EAAE,EAAU,EAAE,QAAgB;IAC3E,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAE,UAAoB;IACxD,MAAM,GAAG,GAAS,kBAAkB,EAAE,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/C,IACI,UAAU;QACV,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,UAAU,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,EACrG,CAAC;QACC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzB,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE7B,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB;IACvB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEjB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAU;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAEpC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,iFAAiF;AACjF,sIAAsI;AACtI,qDAAqD;AACrD,IAAA,yCAA2B,EAAC;IACxB,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;CACzC,CAAC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,mBAAmB,GAAW,IAAI,oBAAM,CAAC,iDAA4B,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACvG;;;GAGG;AAEH,MAAM,UAAW,SAAQ,sBAAO;IAGX,OAAO,CAAoB;IAEpC,gBAAgB,GAMpB;QACA,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1C,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACxC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QACvC,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1C,KAAK,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;KAC7C,CAAC;IAEe,IAAI,CAAU;IAEvB,eAAe,GAAG,KAAK,CAAC;IACxB,cAAc,GAAG,KAAK,CAAC;IAEvB,OAAO,GAAoC,EAAE,CAAC;IAC9C,MAAM,GAAmC,EAAE,CAAC;IACnC,kBAAkB,GAAmC,EAAE,CAAC;IACxD,QAAQ,GAAa,EAAE,CAAC;IACxB,aAAa,GAAyB,EAAE,CAAC;IACzC,iBAAiB,GAA6B,EAAE,CAAC;IACjD,mBAAmB,GAAsB,EAAE,CAAC;IAC5C,kBAAkB,GAA2B,EAAE,CAAC;IAChD,sBAAsB,GAA2B,EAAE,CAAC;IACpD,WAAW,GAA6B,EAAE,CAAC;IAC3C,MAAM,GAAgD,EAAE,CAAC;IACzD,MAAM,GAAa,EAAE,CAAC;IACtB,KAAK,GAA0C,EAAE,CAAC,CAAC,WAAW;IAC9D,OAAO,GAA6B,EAAE,CAAC;IACvC,kBAAkB,GAG/B,EAAE,CAAC;IACU,gBAAgB,GAQ7B,EAAE,CAAC;IACU,eAAe,GAAqC,EAAE,CAAC,CAAC,aAAa;IACrE,6BAA6B,GAA4B,EAAE,CAAC;IAE7E,oCAAoC;IAC5B,aAAa,GAAG,KAAK,CAAC;IAEtB,YAAY,GAGhB,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAEpC,gBAAgB,GAA0B,IAAI,CAAC,CAAC,gCAAgC;IAChF,gBAAgB,GAA0B,IAAI,CAAC,CAAC,gCAAgC;IAChF,iBAAiB,GAA0B,IAAI,CAAC,CAAC,gCAAgC;IAEjF,SAAS,GAAG,EAAE,CAAC,CAAC,uBAAuB;IAEvC,MAAM,CAAqB;IAE3B,YAAY,GAA2B,EAAE,CAAC;IAE1C,0BAA0B,GAA0B,IAAI,CAAC;IAEzD,YAAY,GAAG,EAAE,CAAC;IAC1B,oDAAoD;IAC5C,kBAAkB,GAAG,EAAE,CAAC;IAChC,gDAAgD;IAChD,8DAA8D;IACtD,+BAA+B,GAA2B,EAAE,CAAC;IAC7D,iBAAiB,GAAG,CAAC,CAAC;IAC9B,mCAAmC;IAC3B,QAAQ,CAAS;IAER,kBAAkB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAErD,UAAU,GAAe;QAC7B,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,KAAK;KACjB,CAAC;IAEF,YAAY,UAAmC,EAAE;QAC7C,OAAO,GAAG;YACN,GAAG,OAAO;YACV,IAAI,EAAE,YAAY,EAAE,eAAe;YACnC,aAAa,EAAE,IAAI;YACnB;;;eAGG;YACH,KAAK,EAAE,CAAC,GAAU,EAAW,EAAE;gBAC3B,kEAAkE;gBAClE,mEAAmE;gBACnE,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,qBAAqB,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACpE,IAAI,qBAAqB,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC7B,yBAAyB;wBACzB,IAAI,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;wBAC5D,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAEzC,mCAAmC;wBACnC,kEAAkE;wBAClE,OAAO,IAAI,CAAC;oBAChB,CAAC;oBACD,+DAA+D;oBAC/D,8EAA8E;oBAC9E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,EAAE,CAAC;wBACrE,2FAA2F;wBAC3F,0CAA0C;wBAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,oHAAoH,CACvH,CAAC;wBACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAE1B,kEAAkE;wBAClE,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;gBAED,OAAO,KAAK,CAAC;YACjB,CAAC;SACJ,CAAC;QAEF,KAAK,CAAC,OAAyB,CAAC,CAAC;QAEjC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,IAAI,GAAG;YACR,EAAE,EAAE,EAAe;YACnB,aAAa,EAAE,EAA2B;YAC1C,KAAK;YACL,MAAM;YACN,GAAG;YACH,MAAM;YACN,IAAI;YACJ,KAAK;YACL,KAAK;YACL,GAAG;YACH,EAAE;YACF,IAAI;YACJ,IAAI;YACJ,aAAa;YACb,MAAM;YACN,IAAI;YAEJ,OAAO;YACP,KAAK;YACL,WAAW;YACX,YAAY;SACf,CAAC;QAEF,gDAAgD;QAChD,IAAI,SAA6B,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBACvB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACJ,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;YAEjE,OAAO,EAAE,KAAK,EAAE,kCAAkC;YAClD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAChD,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,IAAI,EAAE,eAAe;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;YAE/B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9D,4BAA4B,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1E,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YACtD,SAAS;YACT,yBAAyB,EAAzB,wCAAyB;YACzB,OAAO,EAAE,IAAmC;YAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SACrC,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAM,CAAC,sCAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,GAA4B;QACzD,6FAA6F;QAC7F,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,sDAAsD;YACtD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAsB,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO;QACX,CAAC;QAED,+DAA+D;QAC/D,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAC3B,CAAC;YACD,OAAO;QACX,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,cAAc;YACd,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAEnC,2BAA2B;YAC3B,IAAI,GAAG,EAAE,CAAC;gBACN,SAAS;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpC,aAAa;gBACb,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,EAAE,KAAK,eAAe,IAAI,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAClD,kCAAkC;YAClC,IAAA,mBAAW,EAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;QAChE,CAAC;QAED,kDAAkD;QAClD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,oBAAoB,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC;YAC9D,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;QAC5G,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,EAAE,GAAmC,CAAC,CAAC;QAErE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEnC,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,8BAA8B;QAEjE,oFAAoF;QACpF,gFAAgF;QAChF,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,0BAA0B;YAC1B,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;iBACxB,IAAI,CAAC,KAAK,CAAC,EAAE;gBACV,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;gBAC5B,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACR,YAAY;YAChB,CAAC,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACnC,4CAA4C;YAC5C,IAAI,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACD,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvC,0BAA0B;YAC1B,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,mFAAmF;gBACnF,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAAC;oBACvE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACzE,+DAA+D;gBAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAE1B,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACnC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAEpC,uCAAuC;gBACvC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACpC,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,wCAAwC;YACxC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,6CAA6C;gBAC7C,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAAC;oBACvE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACnE,oDAAoD;gBACpD,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxD,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACrB,6BAA6B;oBAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACrD,qBAAqB;YACrB,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;oBAChE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,mBAAmB;gBACnB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBAC5D,4BAA4B;oBAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACxD,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAED,IACI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;oBACjD,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE;wBAC3D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC,EAC/D,CAAC;oBACC,kBAAkB;oBAClB,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBAC7F,2BAA2B;wBAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC9B,CAAC;gBACL,CAAC;qBAAM,IACH,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;oBACjD,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE;wBAC3D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC,EAC/D,CAAC;oBACC,iBAAiB;oBAEjB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;wBACjF,eAAe;wBACf,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAClC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,uDAAuD;oBACvD,uCAAuC;oBACvC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9E,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC/B,+EAA+E;wBAC/E,qCAAqC;wBACrC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;4BAC3B,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;wBACjC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,aAAa,CAAC,EAAU,EAAE,KAA6B;QACnD,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,sDAAsD;YACtD,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,OAAO;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,WAAW,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;YACD,OAAO;QACX,CAAC;QAED,+DAA+D;QAC/D,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YAC5B,CAAC;YACD,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAsC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,QAAQ,EAAE,CAAC;gBACX,2BAA2B;gBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;oBAClF,KAAK,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;wBAC1D,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE;qBACjC,CAAC,CAAC;gBACP,CAAC;gBAED,8FAA8F;gBAC9F,KAAI,gBAAiB,QAAQ,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChF,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5B,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,sBAAsB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BAC5F,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzD,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,KAAI,iBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,GAAG,EAAoB,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,4BAAiB,EAC/B,IAAI,CAAC,OAAO,EACZ,EAAE,EACF,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAE,KAAK,CAAC,EAC5C,IAAI,CAAC,4BAA4B,CAAC,EAAE,EAAE,QAAQ,CAAC,CAClD,CAAC;QAEF,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,GAAG,EAAE,uBAAuB,IAAI,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC1F,IAAI,CAAC;oBACD,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC5B,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,QAAgB,EAAE,IAAmB;QAC1D,yCAAyC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACD,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAoB;QAC/B,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC/C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAC3C,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACjC,QAAQ,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAyC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;QAC/G,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAyC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;QAE9G,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,MAAM,cAAc,GAAsC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAExF,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;gBAChD,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;oBACtB,KAAK,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBACrC,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC5C,IACI,SAAS,CAAC,UAAU,EAAE,MAAM;gCAC5B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;gCAC1C,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EACpC,CAAC;gCACC,6CAA6C;gCAC7C,IACI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACrC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAC/C,EACH,CAAC;oCACC,OAAO,IAAI,CAAC;gCAChB,CAAC;gCACD,6EAA6E;gCAC7E,MAAM,iBAAiB,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gCAC1D,IACI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAC7B,KAAK,CAAC,EAAE,CACJ,KAAK,CAAC,QAAQ;oCACd,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;oCAClC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAClD,EACH,CAAC;oCACC,OAAO,IAAI,CAAC;gCAChB,CAAC;gCACD,+DAA+D;gCAC/D,OAAO,KAAK,CAAC;4BACjB,CAAC;wBACL,CAAC;wBAED,uCAAuC;wBACvC,OAAO,IAAI,CAAC;oBAChB,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,GAAqB;QAC3B,QAAQ,GAAG,EAAE,OAAO,EAAE,CAAC;YACnB,6BAA6B;YAC7B,KAAK,UAAU,CAAC;YAChB,KAAK,cAAc;gBACf,IACI,GAAG,CAAC,OAAO;oBACX,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI;wBAC1B,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS;wBAClC,cAAc,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,SAAS;wBACvD,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,EAC9C,CAAC;oBACC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBAChD,iDAAiD;wBACjD,IACI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;4BACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EACpD,CAAC;4BACC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gCACjE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gCAEhC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gCAEpF,IAAI,CAAC;oCACD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wCACf,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAW,EAAE,EAAE;4CACvD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gDAClB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;4CACvE,CAAC;4CAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;wCAC7D,CAAC,CAAC,CAAC;oCACP,CAAC;yCAAM,CAAC;wCACJ,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAW,EAAE,EAAE;4CACvD,OAAO,CAAC,OAAO;gDACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;wCAC3E,CAAC,CAAC,CAAC;oCACP,CAAC;gCACL,CAAC;gCAAC,OAAO,GAAY,EAAE,CAAC;oCACpB,KAAK,IAAI,CAAC,QAAQ,CACd,iBAAiB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAC5D,IAAI,EACJ,IAAI,CACP,CAAC;oCACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAY,CAAC,CAAC;gCAC5D,CAAC;4BACL,CAAC,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM;YAEV,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,8BAA8B;gBAC9B,MAAM,OAAO,GAA2B,EAAE,CAAC;gBAE3C,6CAA6C;gBAC7C,IAAI,CAAC;oBACD,MAAM,cAAc,GAAG,IAAA,uCAAqB,EAAC,gCAAW,CAAC,CAAC;oBAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACL,qBAAqB;gBACzB,CAAC;gBAED,6EAA6E;gBAC7E,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAElC,oEAAoE;gBACpE,KAAK,MAAM,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC;oBAChF,OAAO,CAAC,GAAG,iBAAiB,OAAO,CAAC,GAAG,IAAI,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;gBACnG,CAAC;gBAED,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,aAAa,GACf,QAAQ,CACJ,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;wBACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;wBAC3B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAC/B,EAAE,CACL,IAAI,CAAC,CAAC;oBACX,MAAM,YAAY,GACd,QAAQ,CACJ,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;wBAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;wBAC1B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAC9B,EAAE,CACL,IAAI,CAAC,CAAC;oBACX,MAAM,SAAS,GACX,UAAU,CACN,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CACtF,IAAI,CAAC,CAAC;oBACX,MAAM,QAAQ,GACV,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC5F,CAAC,CAAC;oBACN,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;oBACnC,IAAI,WAAW,GAA6D,EAG3E,CAAC;oBACF,IAAI,CAAC;wBACD,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACzE,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAY,EAAE,CAAC,CAAC;oBACnE,CAAC;oBACD,IAAI,WAAW,EAAE,CAAC;wBACd,IAAI,CAAC;4BACD,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CACxC,KAAK,EACL,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EACpD,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC9D,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAC1D,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAI,CACP,CAAC;4BACF,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CACvC,KAAK,EACL,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAClD,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5D,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EACxD,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,IAAI,CACP,CAAC;wBACN,CAAC;wBAAC,OAAO,GAAY,EAAE,CAAC;4BACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAY,EAAE,CAAC,CAAC;wBACnE,CAAC;oBACL,CAAC;oBAED,MAAM,MAAM,GAA+E,EAAE,CAAC;oBAC9F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACJ,WAAiD,CAAC,CAAC,CAAC;wBACpD,WAAiD,CAAC,CAAC,CAAC,CAC5D,CAAC;oBACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;wBACf,MAAM,SAAS,GACV,WAAwD,CAAC,GAAG,CAAC,KAAK,IAAI;4BACvE,CAAC,KAAK,CAAE,WAA+C,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBAE5E,MAAM,CAAC,GAAG,CAAC,GAAG;4BACV,WAAW,EAAE,SAAS;4BACtB,UAAU,EAAE,SAAS;gCACjB,CAAC,CAAC,yBAAyB,CAAE,WAA+C,CAAC,GAAG,CAAC,CAAC;gCAClF,CAAC,CAAC,KAAK;4BACX,IAAI,EAAE,SAAS;gCACX,CAAC,CAAE,WAA+C,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;gCACrE,CAAC,CAAC,KAAK;yBACd,CAAC;oBACN,CAAC,CAAC,CAAC;oBAEH,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC7D,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,SAAS,GACX,UAAU,CACN,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CACtF,IAAI,CAAC,CAAC;oBACX,MAAM,QAAQ,GACV,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;wBAC5F,CAAC,CAAC;oBACN,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;oBAEnC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;oBAC3E,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,EAAE,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;oBAC1F,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;oBACpF,MAAM,aAAa,GACf,QAAQ,CACJ,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;wBACnC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa;wBAC3B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAC/B,EAAE,CACL,IAAI,CAAC,CAAC;oBACX,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAClC,KAAK,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,IAAI,CACP,CAAC;oBAEF,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;oBACxE,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;oBACvF,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;oBACjF,MAAM,YAAY,GACd,QAAQ,CACJ,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;wBAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;wBAC1B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAC9B,EAAE,CACL,IAAI,CAAC,CAAC;oBACX,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CACjC,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,IAAI,CACP,CAAC;oBAEF,MAAM,gBAAgB,GAAG,WAAW,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/E,MAAM,eAAe,GAAG,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBAE5E,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,sBAAsB,YAAY,aAAa,iBAAiB,UAAU,eAAe,aAAa,aAAa,MAAM,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAClL,CAAC;oBACF,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,sBAAsB,WAAW,aAAa,gBAAgB,UAAU,cAAc,aAAa,YAAY,MAAM,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAC5K,CAAC;oBAEF,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CACP,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX;4BACI,WAAW,EAAE;gCACT,WAAW,EAAE,gBAAgB;gCAC7B,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC7E,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE;6BAClC;4BACD,UAAU,EAAE;gCACR,WAAW,EAAE,eAAe;gCAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC3E,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE;6BACjC;yBACJ,EACD,GAAG,CAAC,QAAQ,CACf,CAAC;oBACN,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC1B,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChE,MAAM;YACV,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,iDAAiD;gBACjD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;gBAChC,MAAM;YACV,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CACP,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,OAAO,EACX;wBACI,OAAO,EAAE,IAAA,wCAAyB,GAAE;wBACpC,GAAG,EAAH,eAAG;qBACN,EACD,GAAG,CAAC,QAAQ,CACf,CAAC;gBACN,CAAC;gBACD,MAAM;YACV,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,gCAAgC;gBAChC,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtD,IAAI,CAAC;wBACD,kBAAQ;6BACH,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;4BACtB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;4BAChE,UAAU,EAAE,GAAG;4BACf,IAAI,EAAE,IAAI;4BACV,QAAQ,EAAE,CAAC;4BACX,OAAO,EAAE,KAAK;4BACd,aAAa,EAAE,KAAK;4BACpB,WAAW,EAAE,IAAI;4BACjB,sBAAsB,EAAE,IAAI;4BAC5B,SAAS,EAAE,IAAI;4BACf,cAAc,EAAE,IAAI;4BACpB,WAAW,EAAE,OAAO;4BACpB,UAAU,EAAE,WAAW;yBAC1B,CAAC;6BACD,IAAI,CAAC,aAAa,CAAC,EAAE;4BAClB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gCACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC9E,CAAC;iCAAM,CAAC;gCACJ,IAAI,CAAC,eAAe,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAC;4BAC9D,CAAC;wBACL,CAAC,CAAC;6BACD,KAAK,CAAC,CAAC,CAAC,EAAE;4BACP,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAU,CAAC,CAAC;4BAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAG,CAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACzF,CAAC,CAAC,CAAC;oBACX,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAU,CAAC,CAAC;wBAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAG,CAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACzF,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAQ;QACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAQ,EAAE,CAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1C,IACI,OAAO,OAAO,CAAC,EAAE,KAAK,UAAU;gBAChC,CAAC,OAAO,CAAC,QAAQ,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,EACjE,CAAC;gBACC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;gBACrD,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;YAC3C,CAAC;QACL,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,UAAkB,EAAE,GAAW,EAAE,CAAQ,EAAE,IAAa;QAC7D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,IAAI,GAAG,CAAC;QACf,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7C,UAAU,GAAG,kBAAkB,GAAG,UAAU,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,KAAK,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACZ,SAAS;YACb,CAAC;YACD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC;gBACpD,MAAM;YACV,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED,eAAe,CAAC,GAAW;QACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEhC,0BAA0B;QAC1B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACZ,SAAS;gBACb,CAAC;gBACD,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,8CAA8C,CAAC,EAAE,CAAC;oBACjE,MAAM;gBACV,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACN,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4DAA4D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAEpG,+BAA+B;QAC/B,MAAM,OAAO,GAA+C,MAAM,IAAI,CAAC,qBAAqB,CACxF,kBAAkB,IAAI,CAAC,SAAS,EAAE,CACrC,CAAC;QACF,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YAClB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;gBACD,KAAK,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,GAAG;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,GAAG;gBAClB,KAAK,EAAE,OAAO,CAAC,GAAG;aACrB,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,iBAAiB,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAA,wCAAyB,GAAE,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,mCAAmC;QAErF,8BAA8B;QAC9B,IAAI,CAAC;YACD,SAAS,GAAG;gBACR,iBAAiB,EAAE,IAAA,sBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC;aACjG,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YACpD,mBAAmB,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mDAAmD,GAAY,EAAE,CAAC,CAAC;YACjF,4DAA4D;YAC5D,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,cAAc,EAAE,CAAC;oBACjB,MAAM,YAAY,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;oBACtD,YAAY,EAAE,gBAAgB,CAAC,GAAY,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC;YACD,0EAA0E;YAC1E,SAAS,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,iEAAiE;QACjE,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,qBAAS,CAClC,IAAI,CAAC,GAAG,EACR,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;QACF,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,6GAA6G;QAC7G,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,4BAA4B,GAAG,GAAG,CAAC;QACnD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACpB,yBAAyB;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9B,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBACpB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBAE/D,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BACrB,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gCACtC,aAAa;gCACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,kCAAkC,CAAC,CAAC;gCAC5D,4EAA4E;gCAC5E,mGAAmG;gCACnG,+HAA+H;gCAC/H,MAAM,iBAAiB,GAAG,IAAA,kDAAgC,EAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gCACpF,0EAA0E;gCAC1E,0EAA0E;gCAC1E,wCAAwC;gCACxC,oEAAoE;gCACpE,mFAAmF;gCACnF,MAAM,UAAU,GAAW,IAAA,kBAAU,EACjC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CACjE,CAAC;gCAEF,IAAI,QAA4B,CAAC;gCACjC,IAAI,YAAgC,CAAC;gCACrC,8EAA8E;gCAC9E,2EAA2E;gCAC3E,iCAAiC;gCACjC,IACI,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;oCACvC,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ;oCACzC,UAAU,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,EACtC,CAAC;oCACC,iCAAiC;oCACjC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;oCAC/B,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;oCACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,GAAG,CAAC,GAAG,kEAAkE,CAC/E,CAAC;gCACN,CAAC;qCAAM,CAAC;oCACJ,iFAAiF;oCACjF,MAAM,QAAQ,GAAG,IAAA,sCAAoB,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oCAC/C,IAAI,UAAyB,CAAC;oCAC9B,IAAI,CAAC;wCACD,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;oCACpE,CAAC;oCAAC,OAAO,GAAY,EAAE,CAAC;wCACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,qCAAqC,GAAY,EAAE,CAAC,CAAC;wCAC9E,SAAS;oCACb,CAAC;oCAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW;yCAChC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC;yCACxC,IAAI,CAAC,IAAI,CAAC,CAAC;oCAEhB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wCACrB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4CACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,GAAG,CAAC,GAAG,oDAAoD,MAAM,EAAE,CACzE,CAAC;wCACN,CAAC;6CAAM,CAAC;4CACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,qCAAqC,CAAC,CAAC;wCACnE,CAAC;wCACD,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;wCAC7B,mHAAmH;wCACnH,YAAY,GAAG,IAAA,6CAA2B,EAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;wCAE1E,MAAM,SAAS,GAIX;4CACA,UAAU;4CACV,QAAQ;yCACX,CAAC;wCACF,IAAI,YAAY,EAAE,CAAC;4CACf,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;wCAC1C,CAAC;wCAED,0GAA0G;wCAC1G,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,mDAAmD;wCACzF,KAAK,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE;4CACnC,MAAM,EAAE,SAAS;yCACpB,CAAC,CAAC;oCACP,CAAC;yCAAM,CAAC;wCACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,qCAAqC,MAAM,EAAE,CAAC,CAAC;wCACxE,SAAS;oCACb,CAAC;gCACL,CAAC;gCACD,IAAI,CAAC,YAAY,IAAI,GAAG,QAAQ,IAAI,CAAC;gCACrC,gDAAgD;gCAChD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;oCACvB,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gCACnE,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACJ,aAAa;gCACb,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;gCACrC,IAAI,CAAC,YAAY,IAAI,GAAG,UAAU,IAAI,CAAC;gCAEvC,yDAAyD;gCACzD,0CAA0C;gCAC1C,MAAM,QAAQ,GAAG,IAAA,sCAAoB,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCAC/C,IAAI,UAAyB,CAAC;gCAC9B,IAAI,CAAC;oCACD,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gCACnE,CAAC;gCAAC,OAAO,GAAY,EAAE,CAAC;oCACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,GAAG,CAAC,GAAG,0DAA0D,GAAY,EAAE,CACrF,CAAC;oCACF,SAAS;gCACb,CAAC;gCACD,gDAAgD;gCAChD,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;oCACxD,IAAI,CAAC,kCAAkC,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;gCAC9E,CAAC;4BACL,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEnE,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACpB,mBAAmB;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,cAAmC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAChG,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,UAAU,GAAG,IAAA,wCAAyB,GAAE,GAAG,eAAG,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3D,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,KAAK,IAAI,GAAG,IAAI,wBAAwB,EAAE,CAAC;oBACvC,GAAG,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,GAAG,CAAC,GAAG,eAAG,CAAC;oBAClC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;wBAC1F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,kCAAkC,CAAC,CAAC;wBACtF,eAAe,GAAG,IAAI,CAAC;wBACvB,MAAM;oBACV,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,eAAe,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;wBACrB,OAAO,EAAE,IAAI;wBACb,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;qBACnC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,IAAI,CAAC,0BAA0B,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBACnC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpB,OAAO;gBACX,CAAC;gBACD,MAAM,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,wBAAwB,CAAC;gBAClF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC;gBAC9C,IAAI,+BAA+B,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBACrE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,EAAE,CAAC;oBACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,EAAE,uCAAuC,IAAI,CAAC,MAAM,CAAC,oBAAoB,iCAAiC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,sBAAsB,CACtL,CAAC;oBACF,4EAA4E;oBAC5E,oCAAoC;oBACpC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,GAAG,CAAC,EAAE,CAAC;wBACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,EAAE,0CAA0C,IAAI,CAAC,MAAM,CAAC,oBAAoB,mEAAmE,CACrJ,CAAC;wBACF,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,GAAG,CAAC,EAAE,CAAC;oBAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,EAAE,CAAC;oBACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,UAAU,EAAE,mCAAmC,IAAI,CAAC,MAAM,CAAC,oBAAoB,2DAA2D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,+BAA+B,EAAE,CAC/L,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAEO,0BAA0B;QAC9B,4DAA4D;QAC5D,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,kDAAkD;YAC1D,iBAAiB,EAAE,kDAAkD;SACxE,CAAC;QACF,gFAAgF;QAChF,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC/F,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;iBACtC,KAAK,CAAC,SAAS,CAAC;iBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;iBAC1C,KAAK,CAAC,SAAS,CAAC;iBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,yFAAyF;YACzF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAC9B,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;YACD,yGAAyG;YACzG,mFAAmF;YACnF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7B,0DAA0D;gBAC1D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrB,SAAS;gBACb,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEnD,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,UAAU,GAAG,IAAA,gCAAc,EAC3B,GAAG,EACH,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;YAC1F,oEAAoE;YACpE,GAAG,KAAK,MAAM,CACjB,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,+EAA+E;gBAC/E,yBAAyB;gBACzB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,UAAU,GAAG;wBACT,CAAC,gBAAgB,GAAG,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI;qBACjE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,UAAU,GAAG;wBACT,CAAC,uBAAuB,GAAG,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI;qBACxE,CAAC;gBACN,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;YACzG,2CAA2C;YAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACrC,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YACrD,mBAAmB,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,EAAU,EAAE,GAAuC;QACnE,IAAI,GAAG,EAAE,CAAC;YACN,+BAA+B;YAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzB,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5B,KAAK,CAAC,GAAG,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEpC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC5D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,qCAAqC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACtD,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAClE,CAAC;gBAED,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACrD,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACjE,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,sBAAsB;YACtB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,mBAAmB;YACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YACxC,sBAAsB;YACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAEvB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAErE,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC/B,EAAE,GAAG,EAAE,CAAC,IAAA,mBAAW,GAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACX,IAAI,CAAC,EAAE,CAAC;oBACJ,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,EAAE,EAAE,CAAC;oBACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,4BAA4B,CACxB,EAAU,EACV,KAAwC;QAExC,IACI,KAAK;YACL,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;YACxB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,EACzF,CAAC;YACC,IAAI,CAAC;gBACD,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,iCAAiC,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CACjG,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,iCAAiC,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CACjG,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,wBAAwB,CAAC,EAAU,EAAE,KAA0B,EAAE,KAAc;QAC3E,gEAAgE;QAChE,MAAM,MAAM,GAAmB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAoB,CAAC;QAE5E,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB,CAAC,EAAU,EAAE,KAAoC;QAC/D,IAAI,MAAsB,CAAC;QAE3B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,GAAG,KAAuB,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,EAAoB,CAAC;QAC7C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,+CAA+C;QAC/C,mCAAmC;QACnC,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,MAAM,CAAC,IAAI;YACP,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,EAAE,CAAC;QAE7G,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpB,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACJ,0DAA0D;gBAC1D,MAAM,UAAU,GAAG,CAAC,IAAA,6BAAiB,EAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxE,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;oBACrC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC;gBACpC,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAEvC,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;aAChD,IAAI,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACzD,IAAI,CAAC,SAAS,CAAC,yBAAU,CAAC,4BAA4B,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAElC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAED,mBAAmB;YACnB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACnB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;oBAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,GAAG,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,CAAC,yBAAU,CAAC,4BAA4B,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAExC,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aACjE,IAAI,CAAC,GAAG,CAAC,EAAE;YACR,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC1D,IAAI,CAAC,SAAS,CAAC,yBAAU,CAAC,4BAA4B,CAAC,CAAC;gBACxD,OAAO;YACX,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACtE,SAAS;gBACb,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClD,8BAA8B;oBAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE3F,oBAAoB;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAElC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAEnD,kCAAkC;YAClC,IAAI,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;gBACjC,IAAA,mBAAW,EAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;YAChE,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAA,mBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC1C,CAAC;YAED,gCAAgC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC3B,IAAI,YAAY,EAAE,MAAM,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC1D,CAAC;qBAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3C,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAA6B,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAA8B,CAAC,CAAC;YAE/E,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YACjG,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,CAAC;gBACjE,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,wBAAwB,IAAI,CAAC,MAAM,CAAC,QAAQ,sDAAsD,CACrG,CAAC;YACN,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;YAClG,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC;gBACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,yBAAyB,IAAI,CAAC,MAAM,CAAC,SAAS,sDAAsD,CACvG,CAAC;YACN,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC;YAEnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,SAAS,CAAC,yBAAU,CAAC,4BAA4B,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEP,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU,EAAE,OAAgB;QACjD,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,kBAAkB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAE9F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBACrB,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE;oBACJ,IAAI,EAAE,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;oBAChE,IAAI,EAAE,0BAA0B;oBAChC,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,eAAe;iBACxB;gBACD,MAAM,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACb;gBACD,IAAI,EAAE,OAAO;aAChB,CAAC;YACF,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnE,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACtF,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,sBAAsB,CAAC;gBAC/D,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACtF,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACpC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC;gBACzD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAU;QAChC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,SAAS,kBAAkB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAE/F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG;gBACtB,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE;oBACJ,IAAI,EAAE,iBAAiB,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;oBAChE,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,iBAAiB;iBAC1B;gBACD,MAAM,EAAE;oBACJ,MAAM,EAAE,EAAE;iBACb;gBACD,IAAI,EAAE,OAAO;aAChB,CAAC;YACF,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBACrE,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACL,SAAS;YACb,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAoB;QAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;QAEnB,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YACnB,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC,IAAA,mBAAW,GAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,sCAAsC;gBACtC,OAAO;YACX,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACJ,mBAAmB;gBACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC,CAAC;gBACpD,CAAC;gBAEA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IAED,eAAe,CAAC,EAAU;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3B,IAAI,CAAC,EAAE,CAAC;YACJ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACtC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAE7B,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,CAAC,EAAU;QACd,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,CAAC;gBACb,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,SAAS,CAAC;YAEvB,iFAAiF;YACjF,wCAAwC;YACxC,MAAM,GAAG,GAAG,eAAe,MAAM,aAAa,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,MAAM,SAAS,SAAS,WAAW,GAAG,EAAE,CAAC,CAAC;YAEtE,uDAAuD;YACvD,0IAA0I;YAC1I,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5C,WAAW,EAAE,IAAI;gBACjB,GAAG,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAErE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,CAAC,cAAc,EAAE,EAAE;gBAC7C,IAAI,IAAI,EAAE,CAAC;oBACP,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBACD,oBAAoB;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,SAAS,GAAa,IAAI,CAAC,MAAM,CAAC,SAAS;aAC5C,KAAK,CAAC,SAAS,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEvG,IAAI,oBAAoB,GAAa,EAAE,CAAC;QACxC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,uBAAuB;QACvB,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,UAAU,EAAE,CAAC;YACtD,oBAAoB,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAE7D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,OAAO,GAAG,GAAG,CAAC;YAClB,IAAI,OAAO,GAAG,QAAQ,CAAC;YAEvB,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;gBAClC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAED,qEAAqE;YACrE,IAAI,UAAU,GAAG,OAAO,CAAC;YAEzB,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,UAAU,GAAG,MAAM,IAAA,8CAAsB,EAAC,OAAO,CAAC,CAAC;gBAEnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,UAAU,IAAI,OAAO,WAAW,OAAO,GAAG,CAAC,CAAC;YACnG,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC;YACjF,CAAC;YAED,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE7B,uBAAuB;YACvB,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBAClE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC;wBAEvE,MAAM,cAAc,GAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;wBACnE,IAAI,CAAC,IAA4B,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC;oBAC9F,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,UAAU,IAAI,OAAO,GAAG,CAAC,CAAC;oBAClF,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,UAAU,IAAI,OAAO,MAAM,GAAY,EAAE,CAAC,CAAC;gBACnG,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,IAAA,oBAAU,EAAC,GAAG,SAAS,iBAAiB,OAAO,eAAe,CAAC,EAAE,CAAC;gBAC1E,sBAAsB;gBACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,GAAG,GAAG,CAAC,CAAC;gBAEnE,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,GAAG,GAAG,CAAC,CAAC;gBAC1E,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,GAAG,oBAAoB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACjG,CAAC;YACL,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YACjD,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;gBACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;wBAEpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,mBAAmB,GAAG,CAAC,CAAC;oBAC1E,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,mBAAmB,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAChG,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,SAAkB;QACrD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,oBAAoB,GACtB,4GAA4G;gBAC5G,4EAA4E;gBAC5E,iGAAiG;gBACjG,oFAAoF;gBACpF,6GAA6G,CAAC;YAElH,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,GAAG,mBAAmB,MAAM,KAAK,oBAAoB,SAAS,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACJ,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,6EAA6E;oBAC7E,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB;oBACvD,MAAM,GAAG,GAAG,MAAM,KAAK,oBAAoB,gBAAgB,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,GAAG,MAAM,KAAK,oBAAoB,EAAE,CAAC;gBAClD,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,GAAG,4BAA4B,MAAM,SAAS,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,YAAY,MAAM,EAAE,CAAC;YAClC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,MAAM,OAAO,GAAkB;gBAC3B,QAAQ,EAAE,IAAI;gBACd,uBAAuB;gBACvB,qCAAqC;aACxC,CAAC;YACF,OAAO;gBACH,MAAM,EAAE,IAAI,gBAAM,CAAC,MAAM,EAAE,OAAO,CAAC;aAC1B,CAAC;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAY,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAgB,EAAE,IAAY,EAAE,UAAsB,EAAE,OAAgB,EAAE,KAAc;QAC5F,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACrB,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;QAC3B,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,+BAA+B,GAAG,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;YAC7E,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAA,iBAAO,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpE,IAAI,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE;gBACnC,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,IAAI;gBACnB,qCAAqC;aACxC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;gBAC7E,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,IAAI;gBACT,CAAC,EAAE,SAAS;aACf,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,GAAY,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,WAAW,CAAC,EAA8B;QACtC,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACzC,OAAO;QACX,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,OAAO;QACX,CAAC;QAED,IAAI,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,0DAA0D;YAC1D,OAAO;QACX,CAAC;QAED,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjE,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,kBAAkB,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACb,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,sBAAsB;QAClB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,sEAAsE;QACtE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;gBACpF,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,IAAI,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE/F,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAErE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,6BAA6B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,sCAAsC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,4BAA4B;YAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACxB,2BAA2B;gBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBACpD,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC9B,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;wBACjE,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;4BAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;4BACnC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gCAClB,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAC3B,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/C,IAAI,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;wBAClB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACrC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IACI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACjE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EACtC,CAAC;wBACC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;oBAChC,CAAC;gBACL,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACzD,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAC3E,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpC,KAAK,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;wBAC5C,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;oBAC5C,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1D,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC1C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxC,CAAC;YACL,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5D,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,IAAI,GAAG,EAAE,CAAC;wBACN,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC;YACL,CAAC;YAED,oBAAoB;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1D,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,qBAAqB;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,uCAAuC,KAAK,GAAG,CAAC,CAAC;oBAC3E,CAAC;gBACL,CAAC;YACL,CAAC;YAED,6BAA6B;YAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,CAAC;gBACL,CAAC;YACL,CAAC;YAED,0BAA0B;YAC1B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa;oBAC5B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;gBAEhF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBACxB,IAAI,OAAO,GAA0B,UAAU,CAAC,GAAG,EAAE;wBACjD,IAAI,OAAO,EAAE,CAAC;4BACV,OAAO,GAAG,IAAI,CAAC;4BACf,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC;oBACL,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;oBAErC,IAAI,CAAC;wBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;4BAC7B,IAAI,OAAO,EAAE,CAAC;gCACV,YAAY,CAAC,OAAO,CAAC,CAAC;gCACtB,OAAO,GAAG,IAAI,CAAC;gCACf,OAAO,CAAC,IAAI,CAAC,CAAC;4BAClB,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,+BAA+B,GAAY,EAAE,CAAC,CAAC;oBACzE,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAA0B;QAC1C,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;YACjE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,yDAAyD,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,IACI,GAAG,EAAE,MAAM,EAAE,MAAM;YACnB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC;YAC1D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,SAAS,EAAE,EAC1D,CAAC;YACC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC;YAErB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,kBAAkB,IAAI,eAAe,CAAC,CAAC;gBAC7D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,QAAQ,GAAG,iBAAiB,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAC7D,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,EAC/B,IAAI,EACJ,IAAI,CACP,CAAC;YACN,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YAEpD,IACK,GAAG,CAAC,MAAM,CAAC,UAAyB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC3E,GAAG,CAAC,MAAM,CAAC,UAAyB,KAAK,SAAS;gBAClD,GAAG,CAAC,MAAM,CAAC,UAAyB,KAAK,OAAO,EACnD,CAAC;gBACC,aAAa;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,uBAAuB,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;gBAEtE,IAAI,QAAQ,GAAG,IAAI,CAAC;gBACpB,IAAI,aAAa,EAAE,CAAC;oBAChB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACjE,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAClG,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;gBACnC,IAAI,CAAC,OAAO,CACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAClB,QAAQ,EACR,GAAG,CAAC,MAAM,CAAC,UAAwB,EACnC,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,GAAG,CAAC,MAAM,CAAC,KAAK,CACnB,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/D,aAAa;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;gBACtD,0EAA0E;gBAC1E,0DAA0D;gBAC1D,MAAM,iBAAiB,GAAG,IAAA,kDAAgC,EAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACrF,oEAAoE;gBACpE,mFAAmF;gBACnF,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,CAAC;gBAE9F,IAAI,QAAgB,CAAC;gBACrB,8EAA8E;gBAC9E,2EAA2E;gBAC3E,iCAAiC;gBACjC,IACI,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ;oBACvC,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ;oBACzC,UAAU,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,EACtC,CAAC;oBACC,iCAAiC;oBACjC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,kEAAkE,CAAC,CAAC;gBAC7F,CAAC;qBAAM,CAAC;oBACJ,iFAAiF;oBACjF,MAAM,QAAQ,GAAG,IAAA,sCAAoB,EAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,UAAyB,CAAC;oBAC9B,IAAI,CAAC;wBACD,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;oBACpE,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,qCAAqC,GAAY,EAAE,CAAC,CAAC;wBAC9E,OAAO,KAAK,CAAC;oBACjB,CAAC;oBAED,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE1F,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACrB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,yCAAyC,MAAM,EAAE,CAAC,CAAC;wBAC5E,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,qCAAqC,CAAC,CAAC;wBAChE,CAAC;wBACD,QAAQ,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;wBAEnC,0GAA0G;wBAC1G,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,mDAAmD;wBACtF,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE;4BACtC,MAAM,EAAE;gCACJ,UAAU;gCACV,QAAQ;6BACX;yBACJ,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,qCAAqC,MAAM,EAAE,CAAC,CAAC;wBACrE,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;gBACD,MAAM,aAAa,GAAqB,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxG,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;gBACnC,IAAI,CAAC,OAAO,CACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAClB,IAAI,EACJ,GAAG,CAAC,MAAM,CAAC,UAAwB,EACnC,GAAG,CAAC,MAAM,CAAC,OAAO,EAClB,GAAG,CAAC,MAAM,CAAC,KAAK,CACnB,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,0BAA0B,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,KAAa,CAAC;QAClB,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;YACX,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEhE,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,kBAAkB,KAAK,eAAe,CAAC,CAAC;gBACjE,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC3B,IAAI,GAA6C,CAAC;QAClD,IAAI,CAAC;YACD,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAA6C,CAAC;QAC7F,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,qBAAqB,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,YAAmC;QAChD,4BAA4B;QAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,aAAa,CACT,IAAU,EACV,UAA0B,EAC1B,KAAa,EACb,GAAW,EACX,aAA8B,EAC9B,QAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,UAAoB;QAEpB,IAAI,EAAE,GAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;QAEjF,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAE,CAAC;YAC3C,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5F,CAAC;QACD,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACtB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,aAAkC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzF,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAE9D,IACI,EAAE,CAAC,QAAQ,EAAE,GAAG,eAAe;YAC/B,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,eAAe,IAAI,EAAE,CAAC,UAAU,EAAE,GAAG,iBAAiB,CAAC,EAC5E,CAAC;YACC,EAAE,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACzC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,aAAa,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,aAAa,IAAI,EAAE,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;YAC1G,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACvC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1B,oBAAoB;YACpB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;gBACb,KAAK,IAAI,EAAE,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,MAAc,CAAC;QACnB,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;YACrC,GAAG,EAAE,GAAG,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACvD,GAAG,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,yBAAyB;QACzB,IACI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS;YAClC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;YAClC,IAAI,CAAC,MAAM,CAAC,QAA8B,KAAK,EAAE;YACjD,IAAI,CAAC,MAAM,CAAC,SAA+B,KAAK,EAAE;YACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI;YAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,EAChC,CAAC;YACC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACxE,OAAO;QACX,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CACnC,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAC7B,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,EACzB,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAClC,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,EAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CACxB,CAAC;QAEF,UAAU;QACV,IAAI,cAAc,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAChE,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,OAAO,EAAE,CAAC;YACjD,cAAc,GAAG,OAAO,CAAC;QAC7B,CAAC;QAED,SAAS;QACT,IAAI,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9D,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,OAAO,EAAE,CAAC;YAC/C,aAAa,GAAG,OAAO,CAAC;QAC5B,CAAC;QAED,MAAM,SAAS,GAAsC,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACrG,IAAI,KAAc,CAAC;QACnB,IAAI,cAAc,GAAG,IAAI,EAAE,CAAC;YACxB,KAAK,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,aAAa,GAAG,IAAI,EAAE,CAAC;YAC9B,KAAK,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,sBAAsB;YACtB,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,OAAO,IAAI,WAAW,CAAC;QACzF,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACvD,IAAI,UAAU,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,cAAc,GAChB,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1D,IAAI,GAAG,KAAK,gBAAgB,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,4BAA4B,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,WAAW,GAAG,cAAc,CAAC;QACjC,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACjC,WAAW,GAAG,aAAa,CAAC;QAChC,CAAC;QACD,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;QACjC,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;YACrB,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,WAAW,CAAC,CAAC;IACnF,CAAC;IAED,iBAAiB;QACb,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,IAAuB,CAAC;QAC5B,IAAI,MAA0B,CAAC;QAC/B,IAAI,QAAQ,GAAG,GAAG,SAAS,2DAA2D,CAAC;QACvF,IAAI,YAAY,GAAG,GAAG,SAAS,+BAA+B,CAAC;QAC/D,IAAI,CAAC;YACD,IAAI,IAAA,oBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;gBACvB,IAAI,GAAG,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,YAAY,GAAG,GAAG,SAAS,4BAA4B,CAAC;gBACxD,QAAQ,GAAG,GAAG,SAAS,wDAAwD,CAAC;gBAChF,IAAI,IAAA,oBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,IAAI,GAAG,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACpC,kBAAkB,EAClB,iDAAiD,CACpD,CAAC;YACF,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAChB,MAAM,GAAG,OAAO,CAAC,IAAc,CAAC;YACpC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;QAED,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK,IAAI,MAAM,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;YACvD,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAExF,MAAM,KAAK,GAAG,wDAAa,OAAO,GAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,IAA6B,CAAC;gBAClC,IAAI,GAAG,EAAE,CAAC;oBACN,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;oBAC3D,IAAI,IAAI,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;wBAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;wBACxD,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;oBACxD,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,IAAA,uBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,mBAAmB;gBACnB,MAAM,IAAI,CAAC,cAAc,CACrB,kBAAkB,EAClB,iDAAiD,EACjD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CACpB,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAY,EAAE,CAAC,CAAC;gBACrD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;gBAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEhG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAErE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACpB,IAAI,CAAC;wBACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,CAAC;wBAErC,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE;4BACtC,IAAI,EAAE,OAAO;4BACb,MAAM,EAAE;gCACJ,IAAI,EAAE,SAAS,CAAC,EAAE;gCAClB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,IAAI;gCACV,KAAK,EAAE,KAAK;6BACf;4BACD,MAAM,EAAE,EAAE;yBACb,CAAC,CAAC;wBAEH,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;4BAClD,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gCACvB,GAAG,EAAE,aAAa;gCAClB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gCACzB,GAAG,EAAE,IAAI;6BACZ,CAAC,CAAC;wBACP,CAAC;6BAAM,CAAC;4BACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC5E,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,0DAA0D,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,GAAY,EAAE,CAC1G,CAAC;oBACN,CAAC;gBACL,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC7B,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACxB,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAE3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACxG,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,kCAAkC;YAClC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,GAAG,CAAC,OAAe,EAAE,QAA4B,EAAQ,EAAE;QAC5D,qEAAqE;QACrE,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACnC,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,kCAAkC;YAClC,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO;YACX,CAAC;YACD,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC,CAAC;IAEF,cAAc,CAAC,MAA2B;QACtC,IAAI,CAAC;YACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE;gBACjC,KAAK,EAAE,UAAU,EAAU;oBACvB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,UAAU,EAAE,KAAK;aACpB,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,kCAAkC,CAAC,QAAgB,EAAE,YAAoB;QACrE,gEAAgE;QAChE,uEAAuE;QACvE,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,KAAK,EAAE,EAAE,CAAC;YACpE,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC7E,CAAC;QACD,+DAA+D;QAC/D,IAAI,CAAC,kBAAkB,IAAI,GAAG,YAAY,IAAI,CAAC;QAC/C,yDAAyD;QACzD,6CAA6C;QAC7C,MAAM,qBAAqB,GAAG,aAAa,CAAC;QAC5C,SAAS,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3D,+EAA+E;QAC/E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACrC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,kBAAkB;SACnD,CAAC,CAAC;QACH,mBAAmB,CAAC,0BAA0B,CAAC;YAC3C,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,kBAAkB;SACnD,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,CAAC,OAAO,CACf,SAAS,EACT,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAC7F,CAAC,CAAC,mCAAmC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,OAAO,CACf,SAAS,EACT,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAC,CAAC,mCAAmC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAEnC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;QACtC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAsB;QAC3C,IAAI,EAAE,EAAE,CAAC;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,OAAY;QAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACL,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CACT,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,yDAAyD,CACzF,CACJ,CAAC;YACN,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,+CAA+C,CAAC,CAAC;YAC7F,KAAK,IAAI,CAAC,QAAQ,CACd,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,6CAA6C,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAC7F,IAAI,CACP,CAAC;QACN,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAuE;QAC9E,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,kCAAkC;QAClC,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;aACxC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;aAC5B,IAAI,CAAC,GAAG,EAAE;YACP,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAoB,CAAC;YAC3D,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAEjD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBACjD,MAAM,OAAO,GAAgB;oBACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;oBAC9C,wCAAwC;iBAC3C,CAAC;gBACF,MAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAChC,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAA,yBAAI,EAAC,GAAG,SAAS,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE3E;;;iEAGiD;gBAEjD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CACrB,SAAS,EACT,CACI,OAQO,EACT,EAAE;oBACA,IAAI,QAMH,CAAC;oBACF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAC9B,IAAI,CAAC;4BACD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACnC,CAAC;wBAAC,MAAM,CAAC;4BACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAC;wBAC7E,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,QAAQ,GAAG,OAAO,CAAC;oBACvB,CAAC;oBAED,IAAI,QAAQ,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wBAC3B,KAAK,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;oBACrE,CAAC;oBAED,QAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC;wBACnB,KAAK,OAAO,CAAC,CAAC,CAAC;4BACX,IAAI,CAAC,oBAAoB,CAAC;gCACtB,GAAG,EAAE,OAAO;gCACZ,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;gCACtC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;gCAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ;6BAC1B,CAAC,CAAC;4BACH,MAAM;wBACV,CAAC;wBAED,KAAK,SAAS,CAAC,CAAC,CAAC;4BACb,sDAAsD;4BACtD,MAAM;wBACV,CAAC;wBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACZ,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;4BAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;4BAC5B,MAAM;wBACV,CAAC;wBAED,KAAK,SAAS,CAAC,CAAC,CAAC;4BACb,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;4BAC/B,yBAAyB;4BACzB,MAAM;wBACV,CAAC;wBAED,KAAK,KAAK,CAAC,CAAC,CAAC;4BACT,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;4BACvD,MAAM;wBACV,CAAC;wBAED,KAAK,cAAc,CAAC,CAAC,CAAC;4BAClB,OAAO,CAAC,GAAG,CACP,0CAA0C,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,EAAE,CACpF,CAAC;4BACF,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC,CACJ,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;oBACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;oBACnD,KAAK,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACpF,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAY,EAAiB,EAAE;oBACpE,IAAI,IAAI,EAAE,CAAC;wBACP,MAAM,IAAI,CAAC,QAAQ,CACf,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,EACzE,IAAI,CACP,CAAC;oBACN,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvF,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AAED,SAAS,eAAe,CACpB,KAAe,EACf,gBAA0E;IAE1E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,gBAAgB,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,gBAAgB,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,oEAAoE;AACpE,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,yCAAyC;IACzC,MAAM,CAAC,OAAO,GAAG,CAAC,OAA4C,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;AAC/F,CAAC;KAAM,CAAC;IACJ,wCAAwC;IACxC,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["/*\n * Javascript adapter\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2014-2024 bluefox ,\n *\n * Copyright (c) 2014 hobbyquaker\n */\n\nimport { Script, type ScriptOptions } from 'node:vm';\nimport { readFileSync, existsSync, statSync, writeFileSync, type Stats } from 'node:fs';\nimport { join, sep, normalize } from 'node:path';\nimport { fork, type ForkOptions } from 'node:child_process';\nimport { setTypeScriptResolveOptions, Server } from 'virtual-tsc';\nimport { isDeepStrictEqual } from 'node:util';\nimport prettier from 'prettier';\n\nimport * as dgram from 'node:dgram';\nimport * as crypto from 'node:crypto';\nimport * as dns from 'node:dns';\nimport * as events from 'node:events';\nimport * as http from 'node:http';\nimport * as https from 'node:https';\nimport * as http2 from 'node:http2';\nimport * as net from 'node:net';\nimport * as os from 'node:os';\nimport * as path from 'node:path';\nimport * as util from 'node:util';\nimport * as child_process from 'node:child_process';\nimport * as stream from 'node:stream';\nimport * as zlib from 'node:zlib';\n\n// @ts-expect-error no types available\nimport * as suncalc from 'suncalc2';\nimport * as axios from 'axios';\n// @ts-expect-error no types available\nimport * as wake_on_lan from 'wake_on_lan';\nimport * as nodeSchedule from 'node-schedule';\n\nimport { getAbsoluteDefaultDataDir, Adapter, EXIT_CODES, type AdapterOptions } from '@iobroker/adapter-core';\nimport type SentryPlugin from '@iobroker/plugin-sentry';\nimport type { GetTimesResult } from 'suncalc';\nimport type { CompileResult } from 'virtual-tsc/build/util';\n\nimport { Mirror } from './lib/mirror';\nimport ProtectFs from './lib/protectFs';\nimport { setLanguage, getLanguage } from './lib/words';\nimport { sandBox } from './lib/sandbox';\nimport { requestModuleNameByUrl } from './lib/nodeModulesManagement';\nimport { createEventObject, type EventObj } from './lib/eventObj';\nimport { type AstroEventName, Scheduler } from './lib/scheduler';\nimport { targetTsLib, tsCompilerOptions, jsDeclarationCompilerOptions } from './lib/typescriptSettings';\nimport { hashSource } from './lib/tools';\nimport {\n resolveTypescriptLibs,\n resolveTypings,\n scriptIdToTSFilename,\n transformScriptBeforeCompilation,\n transformGlobalDeclarations,\n} from './lib/typescriptTools';\nimport type {\n FileSubscriptionResult,\n JavascriptContext,\n JavaScriptAdapterConfig,\n JsScript,\n ScriptType,\n SubscriptionResult,\n SubscribeObject,\n JavascriptTimer,\n SandboxType,\n LogMessage,\n DebugState,\n} from './types';\nimport type { PatternEventCompareFunction } from './lib/patternCompareFunctions';\n\ntype MODULES = {\n fs: ProtectFs;\n 'fs/promises': ProtectFs['promises'];\n dgram: typeof dgram;\n crypto: typeof crypto;\n dns: typeof dns;\n events: typeof events;\n http: typeof http;\n https: typeof https;\n http2: typeof http2;\n net: typeof net;\n os: typeof os;\n path: typeof path;\n util: typeof util;\n child_process: typeof child_process;\n stream: typeof stream;\n zlib: typeof zlib;\n suncalc: typeof suncalc;\n axios: typeof axios;\n wake_on_lan: typeof wake_on_lan;\n nodeSchedule: typeof nodeSchedule;\n};\n\n/**\n * List of forbidden Locations for a mirror directory\n * relative to the default data directory\n * ATTENTION: the same list is also located in index_m.html!!\n */\nconst forbiddenMirrorLocations: string[] = [\n 'backup-objects',\n 'files',\n 'backitup',\n '../backups',\n '../node_modules',\n '../log',\n];\n\nconst packageJson: Record = JSON.parse(readFileSync(`${__dirname}/../package.json`).toString());\nconst SCRIPT_CODE_MARKER = 'script.js.';\n\nlet webstormDebug: string | undefined;\n\nconst isCI = !!process.env.CI;\n\n// ambient declarations for typescript\nlet tsAmbient: Record;\n\n// TypeScript's scripts are only recompiled if their source hash changes.\n// If an adapter update fixes the compilation bugs, a user won't notice until the changes and re-saves the script.\n// To avoid that, we also include the\n// adapter version and TypeScript version in the hash\nconst tsSourceHashBase = `versions:adapter=${packageJson.version},typescript=${packageJson.dependencies.typescript}`;\n\n// taken from here: https://stackoverflow.com/questions/11887934/how-to-check-if-dst-daylight-saving-time-is-in-effect-and-if-so-the-offset\nfunction dstOffsetAtDate(dateInput: Date): number {\n const fullYear: number = dateInput.getFullYear() | 0;\n // \"Leap Years are any year that can be exactly divided by 4 (2012, 2016, etc.)\n // except if it can be exactly divided by 100, then it isn't (2100, 2200, etc.)\n // except if it can be exactly divided by 400, then it is (2000, 2400)\"\n // (https://www.mathsisfun.com/leap-years.html).\n const isLeapYear: 1 | 0 = ((fullYear & 3) | ((fullYear / 100) & 3)) === 0 ? 1 : 0;\n // (fullYear & 3) = (fullYear % 4), but faster\n //Alternative:var isLeapYear=(new Date(currentYear,1,29,12)).getDate()===29?1:0\n const fullMonth: number = dateInput.getMonth() | 0;\n return (\n // 1. We know what the time since the Epoch really is\n +dateInput - // same as the dateInput.getTime() method\n // 2. We know what the time since the Epoch at the start of the year is\n +new Date(fullYear, 0) - // day defaults to 1 if not explicitly zeroed\n // 3. Now, subtract what we would expect the time to be if daylight savings\n // did not exist. This yields the time-offset due to daylight savings.\n // Calculate the day of the year in the Gregorian calendar\n // The code below works based upon the facts of signed right shifts\n // • (x) >> n: shifts n and fills in the n highest bits with 0s\n // • (-x) >> n: shifts n and fills in the n highest bits with 1s\n // (This assumes that x is a positive integer)\n ((((-1 + // the first day in the year is day 1\n (31 & (-fullMonth >> 4)) + // January // (-11)>>4 = -1\n ((28 + isLeapYear) & ((1 - fullMonth) >> 4)) + // February\n (31 & ((2 - fullMonth) >> 4)) + // March\n (30 & ((3 - fullMonth) >> 4)) + // April\n (31 & ((4 - fullMonth) >> 4)) + // May\n (30 & ((5 - fullMonth) >> 4)) + // June\n (31 & ((6 - fullMonth) >> 4)) + // July\n (31 & ((7 - fullMonth) >> 4)) + // August\n (30 & ((8 - fullMonth) >> 4)) + // September\n (31 & ((9 - fullMonth) >> 4)) + // October\n (30 & ((10 - fullMonth) >> 4)) + // November\n // There are no months past December: the year rolls into the next.\n // Thus, \"fullMonth\" is 0-based, so it will never be 12 in JavaScript\n\n (dateInput.getDate() | 0)) & // get day of the month\n 0xffff) *\n 24 *\n 60 + // 24 hours in a day, 60 minutes in an hour\n (dateInput.getHours() & 0xff) * 60 + // 60 minutes in an hour\n (dateInput.getMinutes() & 0xff)) |\n 0) *\n 60 *\n 1000 - // 60 seconds in a minute * 1000 milliseconds in a second\n (dateInput.getSeconds() & 0xff) * 1000 - // 1000 milliseconds in a second\n dateInput.getMilliseconds()\n );\n}\n\nconst regExGlobalOld = /_global$/;\nconst regExGlobalNew = /script\\.js\\.global\\./;\n\nfunction checkIsGlobal(obj: ioBroker.ScriptObject): boolean {\n return obj?.common && (regExGlobalOld.test(obj.common.name) || regExGlobalNew.test(obj._id));\n}\n\nfunction fileMatching(sub: FileSubscriptionResult, id: string, fileName: string): boolean {\n if (sub.idRegEx) {\n if (!sub.idRegEx.test(id)) {\n return false;\n }\n } else {\n if (sub.id !== id) {\n return false;\n }\n }\n if (sub.fileRegEx) {\n if (!sub.fileRegEx.test(fileName)) {\n return false;\n }\n } else {\n if (sub.fileNamePattern !== fileName) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getNextTimeEvent(time: string, useNextDay?: boolean): Date {\n const now: Date = getAstroStartOfDay();\n const [timeHours, timeMinutes] = time.split(':');\n const nTimeHours = parseInt(timeHours, 10);\n const nTimeMinutes = parseInt(timeMinutes, 10);\n if (\n useNextDay &&\n (now.getHours() > nTimeHours || (now.getHours() === nTimeHours && now.getMinutes() > nTimeMinutes))\n ) {\n now.setDate(now.getDate() + 1);\n }\n\n now.setHours(nTimeHours);\n now.setMinutes(nTimeMinutes);\n\n return now;\n}\n\nfunction getAstroStartOfDay(): Date {\n const d = new Date();\n d.setMinutes(0);\n d.setSeconds(0);\n d.setMilliseconds(0);\n d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n d.setUTCHours(0);\n\n return d;\n}\n\nfunction formatHoursMinutesSeconds(date: Date): string {\n const h = String(date.getHours());\n const m = String(date.getMinutes());\n const s = String(date.getSeconds());\n\n return `${h.padStart(2, '0')}:${m.padStart(2, '0')}:${s.padStart(2, '0')}`;\n}\n\n// Due to a npm bug, virtual-tsc may be hoisted to the top level node_modules but\n// TypeScript may still be in the adapter level (https://npm.community/t/packages-with-peerdependencies-are-incorrectly-hoisted/4794),\n// so we need to tell virtual-tsc where TypeScript is\nsetTypeScriptResolveOptions({\n paths: [require.resolve('typescript')],\n});\n\n// compiler instance for global JS declarations\nconst jsDeclarationServer: Server = new Server(jsDeclarationCompilerOptions, isCI ? false : undefined);\n/**\n * Stores the IDs of script objects whose change should be ignored because\n * the compiled source was just updated\n */\n\nclass JavaScript extends Adapter {\n declare public config: JavaScriptAdapterConfig;\n\n private readonly context: JavascriptContext;\n\n private errorLogFunction: {\n error: (msg: string) => void;\n warn: (msg: string) => void;\n info: (msg: string) => void;\n debug: (msg: string) => void;\n silly: (msg: string) => void;\n } = {\n error: (msg: string) => console.error(msg),\n warn: (msg: string) => console.warn(msg),\n info: (msg: string) => console.log(msg),\n debug: (msg: string) => console.debug(msg),\n silly: (msg: string) => console.debug(msg),\n };\n\n private readonly mods: MODULES;\n\n private objectsInitDone = false;\n private statesInitDone = false;\n\n private objects: Record = {};\n private states: Record = {};\n private readonly interimStateValues: Record = {};\n private readonly stateIds: string[] = [];\n private readonly subscriptions: SubscriptionResult[] = [];\n private readonly subscriptionsFile: FileSubscriptionResult[] = [];\n private readonly subscriptionsObject: SubscribeObject[] = [];\n private readonly subscribedPatterns: Record = {};\n private readonly subscribedPatternsFile: Record = {};\n private readonly adapterSubs: Record = {};\n private readonly timers: { [scriptName: string]: JavascriptTimer[] } = {};\n private readonly _enums: string[] = [];\n private readonly names: { [name: string]: string | string[] } = {}; // name: id\n private readonly scripts: Record = {};\n private readonly messageBusHandlers: Record<\n string,\n Record void }[]>\n > = {};\n private readonly logSubscriptions: Record<\n string,\n {\n sandbox: SandboxType;\n cb: (info: LogMessage) => void;\n id: number;\n severity: ioBroker.LogLevel | '*';\n }[]\n > = {};\n private readonly tempDirectories: { [scriptName: string]: string } = {}; // name: path\n private readonly folderCreationVerifiedObjects: Record = {};\n\n /** if logs are subscribed or not */\n private logSubscribed = false;\n\n private timeSettings: {\n format12: boolean;\n leadingZeros: boolean;\n } = { format12: false, leadingZeros: true };\n\n private dayScheduleTimer: NodeJS.Timeout | null = null; // schedule for astrological day\n private sunScheduleTimer: NodeJS.Timeout | null = null; // schedule for sun moment times\n private timeScheduleTimer: NodeJS.Timeout | null = null; // schedule for astrological day\n\n private activeStr = ''; // enabled state prefix\n\n private mirror: Mirror | undefined;\n\n private stopCounters: Record = {};\n\n private setStateCountCheckInterval: NodeJS.Timeout | null = null;\n\n private globalScript = '';\n /** Generated declarations for global TypeScripts */\n private globalDeclarations = '';\n // Remember which definitions the global scripts\n // have access to, because it depends on the compilation order\n private knownGlobalDeclarationsByScript: Record = {};\n private globalScriptLines = 0;\n // compiler instance for typescript\n private tsServer: Server;\n\n private readonly ignoreObjectChange: Set = new Set();\n\n private debugState: DebugState = {\n scriptName: '',\n child: null,\n promiseOnEnd: null,\n paused: false,\n started: 0,\n running: false,\n };\n\n constructor(options: Partial = {}) {\n options = {\n ...options,\n name: 'javascript', // adapter name\n useFormatDate: true,\n /**\n * If the JS-Controller catches an unhandled error, this will be called\n * so we have a chance to handle it ourselves.\n */\n error: (err: Error): boolean => {\n // Identify unhandled errors originating from callbacks in scripts\n // These are not caught by wrapping the execution code in try-catch\n if (err && typeof err.stack === 'string') {\n const scriptCodeMarkerIndex = err.stack.indexOf(SCRIPT_CODE_MARKER);\n if (scriptCodeMarkerIndex > -1) {\n // This is a script error\n let scriptName = err.stack.substring(scriptCodeMarkerIndex);\n scriptName = scriptName.substring(0, scriptName.indexOf(':'));\n this.logError(scriptName, 'Error:', err);\n\n // Leave the script running for now\n // signal to the JS-Controller that we handled the error ourselves\n return true;\n }\n // check if a path contains adaptername but not own node_module\n // this regex matched \"iobroker.javascript/\" if NOT followed by \"node_modules\"\n if (!err.stack.match(/iobroker\\.javascript[/\\\\](?!.*node_modules).*/g)) {\n // This is an error without any info on origin (mostly async errors like connection errors)\n // also consider it as being from a script\n this.log.error(\n 'An error happened which is most likely from one of your scripts, but the originating script could not be detected.',\n );\n this.log.error(`Error: ${err.message}`);\n this.log.error(err.stack);\n\n // signal to the JS-Controller that we handled the error ourselves\n return true;\n }\n }\n\n return false;\n },\n };\n\n super(options as AdapterOptions);\n\n this.on('objectChange', this.onObjectChange.bind(this));\n this.on('stateChange', this.onStateChange.bind(this));\n this.on('ready', this.onReady.bind(this));\n this.on('message', this.onMessage.bind(this));\n this.on('unload', this.onUnload.bind(this));\n this.on('fileChange', this.onFileChange.bind(this));\n this.on('log', this.onLog.bind(this));\n\n this.mods = {\n fs: {} as ProtectFs,\n 'fs/promises': {} as ProtectFs['promises'],\n dgram,\n crypto,\n dns,\n events,\n http,\n https,\n http2,\n net,\n os,\n path,\n util,\n child_process,\n stream,\n zlib,\n\n suncalc,\n axios,\n wake_on_lan,\n nodeSchedule,\n };\n\n // check the webstorm debug and just debug modes\n let debugMode: string | undefined;\n if (process.argv) {\n for (let a = 1; a < process.argv.length; a++) {\n if (process.argv[a].startsWith('--webstorm')) {\n webstormDebug = process.argv[a].replace(/^(.*?=\\s*)/, '');\n }\n if (process.argv[a] === '--debugScript') {\n if (!process.argv[a + 1]) {\n console.log('No script name provided');\n process.exit(300);\n } else {\n debugMode = process.argv[a + 1];\n }\n }\n }\n }\n\n this.context = {\n mods: this.mods,\n objects: this.objects,\n states: this.states,\n interimStateValues: this.interimStateValues,\n stateIds: this.stateIds,\n errorLogFunction: this.errorLogFunction,\n subscriptions: this.subscriptions,\n subscriptionsFile: this.subscriptionsFile,\n subscriptionsObject: this.subscriptionsObject,\n subscribedPatterns: this.subscribedPatterns,\n subscribedPatternsFile: this.subscribedPatternsFile,\n adapterSubs: this.adapterSubs,\n cacheObjectEnums: {},\n timers: this.timers,\n enums: this._enums,\n names: this.names,\n scripts: this.scripts,\n messageBusHandlers: this.messageBusHandlers,\n logSubscriptions: this.logSubscriptions,\n tempDirectories: this.tempDirectories,\n folderCreationVerifiedObjects: this.folderCreationVerifiedObjects,\n\n isEnums: false, // If some subscription wants enum\n channels: null,\n devices: null,\n logWithLineInfo: this.logWithLineInfo.bind(this),\n scheduler: null,\n timerId: 0,\n rulesOpened: null, // opened rules\n language: this.language || 'en',\n\n updateLogSubscriptions: this.updateLogSubscriptions.bind(this),\n convertBackStringifiedValues: this.convertBackStringifiedValues.bind(this),\n updateObjectContext: this.updateObjectContext.bind(this),\n prepareStateObject: this.prepareStateObject.bind(this),\n debugMode,\n getAbsoluteDefaultDataDir,\n adapter: this as unknown as ioBroker.Adapter,\n logError: this.logError.bind(this),\n };\n\n this.tsServer = new Server(tsCompilerOptions, this.tsLog);\n }\n\n async onObjectChange(id: string, obj?: ioBroker.Object | null): Promise {\n // Check if we should ignore this change (once!) because we just updated the compiled sources\n if (this.ignoreObjectChange.has(id)) {\n // Update the cached script object and do nothing more\n this.objects[id] = obj as ioBroker.Object;\n this.ignoreObjectChange.delete(id);\n return;\n }\n\n // When still in initializing: already remember current values,\n // but data structures are initialized elsewhere\n if (!this.objectsInitDone) {\n if (obj) {\n this.objects[id] = obj;\n }\n return;\n }\n\n if (id.startsWith('enum.')) {\n // clear cache\n this.context.cacheObjectEnums = {};\n\n // update this._enums array\n if (obj) {\n // If new\n if (!this._enums.includes(id)) {\n this._enums.push(id);\n this._enums.sort();\n }\n } else {\n const pos = this._enums.indexOf(id);\n // if deleted\n if (pos !== -1) {\n this._enums.splice(pos, 1);\n }\n }\n }\n\n if (id === 'system.config' && obj?.common?.language) {\n // set language for debug messages\n setLanguage(obj.common.language);\n this.language = obj.common.language;\n this.context.language = this.language as ioBroker.Languages;\n }\n\n // update stored time format for variables.dayTime\n if (id === `${this.namespace}.variables.dayTime` && obj?.native) {\n this.timeSettings.format12 = obj.native.format12 || false;\n this.timeSettings.leadingZeros = obj.native.leadingZeros === undefined ? true : obj.native.leadingZeros;\n }\n\n // send changes to disk mirror\n this.mirror?.onObjectChange(id, obj as ioBroker.ScriptObject | null);\n\n const formerObj = this.objects[id];\n\n this.updateObjectContext(id, obj); // Update all Meta object data\n\n // for the alias object changes on the state objects, we need to manually update the\n // state cache value, because the new value is only published on the next change\n if (obj?.type === 'state' && id.startsWith('alias.0.')) {\n // execute async for speed\n this.getForeignStateAsync(id)\n .then(state => {\n if (state) {\n this.states[id] = state;\n } else if (this.states[id] !== undefined) {\n delete this.states[id];\n }\n })\n .catch(() => {\n /* ignore */\n });\n }\n\n this.subscriptionsObject.forEach(sub => {\n // ToDo: implement comparing with id.0.* too\n if (sub.pattern === id) {\n try {\n sub.callback(id, obj);\n } catch (err: any) {\n this.log.error(`Error in callback: ${err.toString()}`);\n }\n }\n });\n\n // handle Script object updates\n if (!obj && formerObj?.type === 'script') {\n // Object Deleted just now\n if (checkIsGlobal(formerObj)) {\n // it was a global Script, and it was enabled and is now deleted => restart adapter\n if (formerObj.common.enabled) {\n this.log.info(`Active global Script ${id} deleted. Restart instance.`);\n this.restart();\n }\n } else if (formerObj.common?.engine === `system.adapter.${this.namespace}`) {\n // It was a non-global Script and deleted => stop and remove it\n await this.stopScript(id);\n\n // delete scriptEnabled.blabla variable\n const idActive = `scriptEnabled.${id.substring(SCRIPT_CODE_MARKER.length)}`;\n await this.delStateAsync(idActive);\n await this.delObjectAsync(idActive);\n\n // delete scriptProblem.blabla variable\n const idProblem = `scriptProblem.${id.substring(SCRIPT_CODE_MARKER.length)}`;\n await this.delStateAsync(idProblem);\n await this.delObjectAsync(idProblem);\n }\n } else if (!formerObj && obj?.type === 'script') {\n // New script that does not exist before\n if (checkIsGlobal(obj)) {\n // new global script added => restart adapter\n if (obj.common.enabled) {\n this.log.info(`Active global Script ${id} created. Restart instance.`);\n this.restart();\n }\n } else if (obj.common?.engine === `system.adapter.${this.namespace}`) {\n // new non-global script - create states for scripts\n await this.createActiveObject(id, !!obj.common.enabled);\n await this.createProblemObject(id);\n if (obj.common.enabled) {\n // if enabled => Start script\n await this.loadScriptById(id);\n }\n }\n } else if (obj?.type === 'script' && formerObj?.common) {\n // Script changed ...\n if (checkIsGlobal(obj)) {\n if (obj.common.enabled || formerObj.common.enabled) {\n this.log.info(`Global Script ${id} updated. Restart instance.`);\n this.restart();\n }\n } else {\n // No global script\n if (obj.common?.engine === `system.adapter.${this.namespace}`) {\n // create states for scripts\n await this.createActiveObject(id, !!obj.common.enabled);\n await this.createProblemObject(id);\n }\n\n if (\n (formerObj.common.enabled && !obj.common.enabled) ||\n (formerObj.common.engine === `system.adapter.${this.namespace}` &&\n obj.common.engine !== `system.adapter.${this.namespace}`)\n ) {\n // Script disabled\n if (formerObj.common.enabled && formerObj.common.engine === `system.adapter.${this.namespace}`) {\n // Remove it from executing\n await this.stopScript(id);\n }\n } else if (\n (!formerObj.common.enabled && obj.common.enabled) ||\n (formerObj.common.engine !== `system.adapter.${this.namespace}` &&\n obj.common.engine === `system.adapter.${this.namespace}`)\n ) {\n // Script enabled\n\n if (obj.common.enabled && obj.common.engine === `system.adapter.${this.namespace}`) {\n // Start script\n await this.loadScriptById(id);\n }\n } else {\n // if (obj.common.source !== formerObj.common.source) {\n // Source changed => restart the script\n this.stopCounters[id] = this.stopCounters[id] ? this.stopCounters[id] + 1 : 1;\n void this.stopScript(id).then(() => {\n // only start again after stop when \"last\" object change to prevent problems on\n // multiple changes in fast frequency\n if (!--this.stopCounters[id]) {\n void this.loadScriptById(id);\n }\n });\n }\n }\n }\n }\n\n onStateChange(id: string, state?: ioBroker.State | null): void {\n if (this.interimStateValues[id] !== undefined) {\n // any update invalidates the remembered interim value\n delete this.interimStateValues[id];\n }\n if (!id || id.startsWith('messagebox.') || id.startsWith('log.')) {\n return;\n }\n\n if (id === `${this.namespace}.debug.to` && state && !state.ack) {\n if (!this.context.debugMode) {\n this.debugSendToInspector(state.val);\n }\n return;\n }\n\n // When still in initializing: already remember current values,\n // but data structures are initialized elsewhere\n if (!this.statesInitDone) {\n if (state) {\n this.states[id] = state;\n }\n return;\n }\n\n const oldState: ioBroker.State | null | undefined = this.states[id];\n if (state) {\n if (oldState) {\n // enable or disable script\n if (!state.ack && id.startsWith(this.activeStr) && this.objects[id]?.native?.script) {\n void this.extendForeignObject(this.objects[id].native.script, {\n common: { enabled: state.val },\n });\n }\n\n // monitor if adapter is alive and send all subscriptions once more, after adapter goes online\n if (/*oldState && */ oldState.val === false && state.val && id.endsWith('.alive')) {\n if (this.adapterSubs[id]) {\n const parts = id.split('.');\n const a = `${parts[2]}.${parts[3]}`;\n for (let t = 0; t < this.adapterSubs[id].length; t++) {\n this.log.info(`Detected coming adapter \"${a}\". Send subscribe: ${this.adapterSubs[id][t]}`);\n this.sendTo(a, 'subscribe', this.adapterSubs[id][t]);\n }\n }\n }\n } else if (/*!oldState && */ !this.stateIds.includes(id)) {\n this.stateIds.push(id);\n this.stateIds.sort();\n }\n this.states[id] = state;\n } else {\n if (oldState) {\n delete this.states[id];\n }\n state = {} as ioBroker.State;\n const pos = this.stateIds.indexOf(id);\n if (pos !== -1) {\n this.stateIds.splice(pos, 1);\n }\n }\n const _eventObj = createEventObject(\n this.context,\n id,\n this.convertBackStringifiedValues(id, state),\n this.convertBackStringifiedValues(id, oldState),\n );\n\n // if this state matches any subscriptions\n for (let i = 0, l = this.subscriptions.length; i < l; i++) {\n const sub = this.subscriptions[i];\n if (sub?.patternCompareFunctions && patternMatching(_eventObj, sub.patternCompareFunctions)) {\n try {\n sub.callback(_eventObj);\n } catch (err: any) {\n this.log.error(`Error in callback: ${err.toString()}`);\n }\n }\n }\n }\n\n onFileChange(id: string, fileName: string, size: number | null): void {\n // if this file matches any subscriptions\n for (let i = 0, l = this.subscriptionsFile.length; i < l; i++) {\n const sub = this.subscriptionsFile[i];\n if (sub && fileMatching(sub, id, fileName)) {\n try {\n sub.callback(id, fileName, size, sub.withFile);\n } catch (err: any) {\n this.log.error(`Error in callback: ${err.toString()}`);\n }\n }\n }\n }\n\n async onUnload(callback: () => void): Promise {\n await this.debugStop();\n this.stopTimeSchedules();\n if (this.setStateCountCheckInterval) {\n clearInterval(this.setStateCountCheckInterval);\n this.setStateCountCheckInterval = null;\n }\n await this.stopAllScripts();\n if (typeof callback === 'function') {\n callback();\n }\n }\n\n async onReady(): Promise {\n this.errorLogFunction = this.log;\n this.context.errorLogFunction = this.log;\n\n this.config.maxSetStatePerMinute = parseInt(this.config.maxSetStatePerMinute as unknown as string, 10) || 1000;\n this.config.maxTriggersPerScript = parseInt(this.config.maxTriggersPerScript as unknown as string, 10) || 100;\n\n if (this.supportsFeature?.('PLUGINS')) {\n const sentryInstance: InstanceType = this.getPluginInstance('sentry') as InstanceType<\n typeof SentryPlugin\n >;\n if (sentryInstance) {\n const Sentry = sentryInstance.getSentryObject();\n Sentry?.withScope(scope => {\n scope.addEventProcessor((event, _hint) => {\n if (event.exception?.values?.[0]) {\n const eventData = event.exception.values[0];\n if (\n eventData.stacktrace?.frames &&\n Array.isArray(eventData.stacktrace.frames) &&\n eventData.stacktrace.frames.length\n ) {\n // Exclude event if script Marker is included\n if (\n eventData.stacktrace.frames.find(frame =>\n frame.filename?.includes(SCRIPT_CODE_MARKER),\n )\n ) {\n return null;\n }\n // Exclude event if own directory is included but not inside own node_modules\n const ownNodeModulesDir = join(__dirname, 'node_modules');\n if (\n !eventData.stacktrace.frames.find(\n frame =>\n frame.filename &&\n frame.filename.includes(__dirname) &&\n !frame.filename.includes(ownNodeModulesDir),\n )\n ) {\n return null;\n }\n // We have exception data and did not sort it out, so report it\n return event;\n }\n }\n\n // No exception in it ... do not report\n return null;\n });\n });\n }\n }\n\n await this.main();\n }\n\n onMessage(obj: ioBroker.Message): void {\n switch (obj?.command) {\n // process messageTo commands\n case 'toScript':\n case 'jsMessageBus':\n if (\n obj.message &&\n (obj.message.instance === null ||\n obj.message.instance === undefined ||\n `javascript.${obj.message.instance}` === this.namespace ||\n obj.message.instance === this.namespace)\n ) {\n Object.keys(this.messageBusHandlers).forEach(name => {\n // script name could be script.js.xxx or only xxx\n if (\n (!obj.message.script || obj.message.script === name) &&\n this.messageBusHandlers[name][obj.message.message]\n ) {\n this.messageBusHandlers[name][obj.message.message].forEach(handler => {\n const sandbox = handler.sandbox;\n\n sandbox.verbose && sandbox.log(`onMessage: ${JSON.stringify(obj.message)}`, 'info');\n\n try {\n if (obj.callback) {\n handler.cb.call(sandbox, obj.message.data, (result: any) => {\n if (sandbox.verbose) {\n sandbox.log(`onMessage result: ${JSON.stringify(result)}`, 'info');\n }\n\n this.sendTo(obj.from, obj.command, result, obj.callback);\n });\n } else {\n handler.cb.call(sandbox, obj.message.data, (result: any) => {\n sandbox.verbose &&\n sandbox.log(`onMessage result: ${JSON.stringify(result)}`, 'info');\n });\n }\n } catch (err: unknown) {\n void this.setState(\n `scriptProblem.${name.substring(SCRIPT_CODE_MARKER.length)}`,\n true,\n true,\n );\n this.logError(name, 'Error in callback:', err as Error);\n }\n });\n }\n });\n }\n break;\n\n case 'loadTypings': {\n // Load typings for the editor\n const typings: Record = {};\n\n // try to load TypeScript lib files from disk\n try {\n const typescriptLibs = resolveTypescriptLibs(targetTsLib);\n Object.assign(typings, typescriptLibs);\n } catch {\n /* ok, no lib then */\n }\n\n // provide the already-loaded ioBroker typings and global script declarations\n Object.assign(typings, tsAmbient);\n\n // also provide the known global declarations for each global script\n for (const globalScriptPaths of Object.keys(this.knownGlobalDeclarationsByScript)) {\n typings[`${globalScriptPaths}.d.ts`] = this.knownGlobalDeclarationsByScript[globalScriptPaths];\n }\n\n if (obj.callback) {\n this.sendTo(obj.from, obj.command, { typings }, obj.callback);\n }\n break;\n }\n\n case 'calcAstroAll': {\n if (obj.message) {\n const sunriseOffset =\n parseInt(\n obj.message.sunriseOffset === undefined\n ? this.config.sunriseOffset\n : obj.message.sunriseOffset,\n 10,\n ) || 0;\n const sunsetOffset =\n parseInt(\n obj.message.sunsetOffset === undefined\n ? this.config.sunsetOffset\n : obj.message.sunsetOffset,\n 10,\n ) || 0;\n const longitude =\n parseFloat(\n obj.message.longitude === undefined ? this.config.longitude : obj.message.longitude,\n ) || 0;\n const latitude =\n parseFloat(obj.message.latitude === undefined ? this.config.latitude : obj.message.latitude) ||\n 0;\n const today = getAstroStartOfDay();\n let astroEvents: GetTimesResult & { nextSunrise: Date; nextSunset: Date } = {} as GetTimesResult & {\n nextSunrise: Date;\n nextSunset: Date;\n };\n try {\n astroEvents = this.mods.suncalc.getTimes(today, latitude, longitude);\n } catch (err: unknown) {\n this.log.error(`Cannot calculate astro data: ${err as Error}`);\n }\n if (astroEvents) {\n try {\n astroEvents.nextSunrise = this.getAstroEvent(\n today,\n obj.message.sunriseEvent || this.config.sunriseEvent,\n obj.message.sunriseLimitStart || this.config.sunriseLimitStart,\n obj.message.sunriseLimitEnd || this.config.sunriseLimitEnd,\n sunriseOffset,\n false,\n latitude,\n longitude,\n true,\n );\n astroEvents.nextSunset = this.getAstroEvent(\n today,\n obj.message.sunsetEvent || this.config.sunsetEvent,\n obj.message.sunsetLimitStart || this.config.sunsetLimitStart,\n obj.message.sunsetLimitEnd || this.config.sunsetLimitEnd,\n sunsetOffset,\n true,\n latitude,\n longitude,\n true,\n );\n } catch (err: unknown) {\n this.log.error(`Cannot calculate astro data: ${err as Error}`);\n }\n }\n\n const result: Record = {};\n const keys = Object.keys(astroEvents).sort(\n (a, b) =>\n (astroEvents as unknown as Record)[a] -\n (astroEvents as unknown as Record)[b],\n );\n keys.forEach(key => {\n const validDate =\n (astroEvents as unknown as Record)[key] !== null &&\n !isNaN((astroEvents as unknown as Record)[key].getTime());\n\n result[key] = {\n isValidDate: validDate,\n serverTime: validDate\n ? formatHoursMinutesSeconds((astroEvents as unknown as Record)[key])\n : 'n/a',\n date: validDate\n ? (astroEvents as unknown as Record)[key].toISOString()\n : 'n/a',\n };\n });\n\n if (obj.callback) {\n this.sendTo(obj.from, obj.command, result, obj.callback);\n }\n }\n break;\n }\n\n case 'calcAstro': {\n if (obj.message) {\n const longitude =\n parseFloat(\n obj.message.longitude === undefined ? this.config.longitude : obj.message.longitude,\n ) || 0;\n const latitude =\n parseFloat(obj.message.latitude === undefined ? this.config.latitude : obj.message.latitude) ||\n 0;\n const today = getAstroStartOfDay();\n\n const sunriseEvent = obj.message?.sunriseEvent || this.config.sunriseEvent;\n const sunriseLimitStart = obj.message?.sunriseLimitStart || this.config.sunriseLimitStart;\n const sunriseLimitEnd = obj.message?.sunriseLimitEnd || this.config.sunriseLimitEnd;\n const sunriseOffset =\n parseInt(\n obj.message.sunriseOffset === undefined\n ? this.config.sunriseOffset\n : obj.message.sunriseOffset,\n 10,\n ) || 0;\n const nextSunrise = this.getAstroEvent(\n today,\n sunriseEvent,\n sunriseLimitStart,\n sunriseLimitEnd,\n sunriseOffset,\n false,\n latitude,\n longitude,\n true,\n );\n\n const sunsetEvent = obj.message?.sunsetEvent || this.config.sunsetEvent;\n const sunsetLimitStart = obj.message?.sunsetLimitStart || this.config.sunsetLimitStart;\n const sunsetLimitEnd = obj.message?.sunsetLimitEnd || this.config.sunsetLimitEnd;\n const sunsetOffset =\n parseInt(\n obj.message.sunsetOffset === undefined\n ? this.config.sunsetOffset\n : obj.message.sunsetOffset,\n 10,\n ) || 0;\n const nextSunset = this.getAstroEvent(\n today,\n sunsetEvent,\n sunsetLimitStart,\n sunsetLimitEnd,\n sunsetOffset,\n true,\n latitude,\n longitude,\n true,\n );\n\n const validDateSunrise = nextSunrise !== null && !isNaN(nextSunrise.getTime());\n const validDateSunset = nextSunset !== null && !isNaN(nextSunset.getTime());\n\n this.log.debug(\n `calcAstro sunrise: ${sunriseEvent} -> start ${sunriseLimitStart}, end: ${sunriseLimitEnd}, offset: ${sunriseOffset} - ${validDateSunrise ? nextSunrise.toISOString() : 'n/a'}`,\n );\n this.log.debug(\n `calcAstro sunset: ${sunsetEvent} -> start ${sunsetLimitStart}, end: ${sunsetLimitEnd}, offset: ${sunsetOffset} - ${validDateSunset ? nextSunset.toISOString() : 'n/a'}`,\n );\n\n if (obj.callback) {\n this.sendTo(\n obj.from,\n obj.command,\n {\n nextSunrise: {\n isValidDate: validDateSunrise,\n serverTime: validDateSunrise ? formatHoursMinutesSeconds(nextSunrise) : 'n/a',\n date: nextSunrise.toISOString(),\n },\n nextSunset: {\n isValidDate: validDateSunset,\n serverTime: validDateSunset ? formatHoursMinutesSeconds(nextSunset) : 'n/a',\n date: nextSunset.toISOString(),\n },\n },\n obj.callback,\n );\n }\n }\n break;\n }\n\n case 'debug': {\n if (!this.context.debugMode) {\n this.debugStart(obj.message);\n }\n break;\n }\n\n case 'debugStop': {\n if (!this.context.debugMode) {\n void this.debugStop().then(() => console.log('stopped'));\n }\n break;\n }\n\n case 'rulesOn': {\n this.context.rulesOpened = obj.message;\n console.log(`Enable messaging for ${this.context.rulesOpened}`);\n break;\n }\n\n case 'rulesOff': {\n // maybe if (context.rulesOpened === obj.message)\n console.log(`Disable messaging for ${this.context.rulesOpened}`);\n this.context.rulesOpened = null;\n break;\n }\n\n case 'getIoBrokerDataDir': {\n if (obj.callback) {\n this.sendTo(\n obj.from,\n obj.command,\n {\n dataDir: getAbsoluteDefaultDataDir(),\n sep,\n },\n obj.callback,\n );\n }\n break;\n }\n\n case 'prettier': {\n // Format the code with Prettier\n if (obj.message && typeof obj.message.code === 'string') {\n try {\n prettier\n .format(obj.message.code, {\n parser: obj.message.type === 'typescript' ? 'babel-ts' : 'babel',\n printWidth: 120,\n semi: true,\n tabWidth: 4,\n useTabs: false,\n trailingComma: 'all',\n singleQuote: true,\n singleAttributePerLine: true,\n endOfLine: 'lf',\n bracketSpacing: true,\n arrowParens: 'avoid',\n quoteProps: 'as-needed',\n })\n .then(formattedCode => {\n if (obj.callback) {\n this.sendTo(obj.from, obj.command, { code: formattedCode }, obj.callback);\n } else {\n this.logWithLineInfo(`Formatted code:\\n${formattedCode}`);\n }\n })\n .catch(e => {\n this.logError('Prettier', 'Error formatting code:', e as Error);\n this.sendTo(obj.from, obj.command, { error: (e as Error).toString() }, obj.callback);\n });\n } catch (e) {\n this.logError('Prettier', 'Error formatting code:', e as Error);\n this.sendTo(obj.from, obj.command, { error: (e as Error).toString() }, obj.callback);\n }\n } else {\n this.sendTo(obj.from, obj.command, { error: 'No code provided' }, obj.callback);\n }\n break;\n }\n }\n }\n\n onLog(msg: any): void {\n Object.keys(this.logSubscriptions).forEach((name: string): void =>\n this.logSubscriptions[name].forEach(handler => {\n if (\n typeof handler.cb === 'function' &&\n (handler.severity === '*' || handler.severity === msg.severity)\n ) {\n handler.sandbox.logHandler = handler.severity || '*';\n handler.cb.call(handler.sandbox, msg);\n handler.sandbox.logHandler = undefined;\n }\n }),\n );\n }\n\n logError(scriptName: string, msg: string, e: Error, offs?: number): void {\n const stack = e.stack ? e.stack.toString().split('\\n') : e ? e.toString() : '';\n if (!msg.includes('\\n')) {\n msg = msg.replace(/[: ]*$/, ': ');\n }\n if (!msg.endsWith(' ')) {\n msg += ':';\n }\n if (!scriptName.startsWith(SCRIPT_CODE_MARKER)) {\n scriptName = SCRIPT_CODE_MARKER + scriptName;\n }\n\n this.errorLogFunction.error(`${scriptName}: ${msg}${this.fixLineNo(stack[0])}`);\n for (let i = offs || 1; i < stack.length; i++) {\n if (!stack[i]) {\n continue;\n }\n if (stack[i].match(/runInNewContext|javascript\\.js:/)) {\n break;\n }\n this.errorLogFunction.error(`${scriptName}: ${this.fixLineNo(stack[i])}`);\n }\n }\n\n logWithLineInfo(msg: string): void {\n this.errorLogFunction.warn(msg);\n\n // get current error stack\n const stack = new Error().stack?.split('\\n');\n\n if (stack) {\n for (let i = 3; i < stack.length; i++) {\n if (!stack[i]) {\n continue;\n }\n if (stack[i].match(/runInContext|runInNewContext|javascript\\.js:/)) {\n break;\n }\n this.errorLogFunction.warn(this.fixLineNo(stack[i]));\n }\n }\n }\n\n async main(): Promise {\n // Patch the font as it sometimes is wrong\n if (!this.context.debugMode) {\n if (await this.patchFont()) {\n this.log.debug('Font patched');\n }\n }\n\n this.log.debug(`config.subscribe (Do not subscribe all states on start): ${this.config.subscribe}`);\n\n // correct jsonConfig for admin\n const instObj: ioBroker.InstanceObject | null | undefined = await this.getForeignObjectAsync(\n `system.adapter.${this.namespace}`,\n );\n if (instObj?.common) {\n if (instObj.common.adminUI?.config !== 'json') {\n if (instObj.common.adminUI) {\n instObj.common.adminUI.config = 'json';\n } else {\n instObj.common.adminUI = { config: 'json' };\n }\n void this.setForeignObject(instObj._id, instObj);\n }\n }\n\n if (webstormDebug) {\n this.errorLogFunction = {\n error: console.error,\n warn: console.warn,\n info: console.info,\n debug: console.log,\n silly: console.log,\n };\n this.context.errorLogFunction = this.errorLogFunction;\n }\n this.activeStr = `${this.namespace}.scriptEnabled.`;\n\n this.mods.fs = new ProtectFs(this.log, getAbsoluteDefaultDataDir());\n this.mods['fs/promises'] = this.mods.fs.promises; // to avoid require('fs/promises');\n\n // try to read TS declarations\n try {\n tsAmbient = {\n 'javascript.d.ts': readFileSync(this.mods.path.join(__dirname, 'lib/javascript.d.ts'), 'utf8'),\n };\n this.tsServer.provideAmbientDeclarations(tsAmbient);\n jsDeclarationServer.provideAmbientDeclarations(tsAmbient);\n } catch (err: unknown) {\n this.log.warn(`Could not read TypeScript ambient declarations: ${err as Error}`);\n // This should not happen, so send an error report to Sentry\n if (this.supportsFeature && this.supportsFeature('PLUGINS')) {\n const sentryInstance = this.getPluginInstance('sentry');\n if (sentryInstance) {\n const sentryObject = sentryInstance.getSentryObject();\n sentryObject?.captureException(err as Error);\n }\n }\n // Keep the adapter from crashing when the included typings cannot be read\n tsAmbient = {};\n }\n\n await this.installLibraries();\n // Load the TS declarations for Node.js and all 3rd party modules\n this.loadTypeScriptDeclarations();\n\n await this.getData();\n this.context.scheduler = new Scheduler(\n this.log,\n Date,\n this.mods.suncalc,\n this.config.latitude,\n this.config.longitude,\n );\n await this.dayTimeSchedules();\n await this.sunTimeSchedules();\n await this.timeSchedule();\n\n // Warning. It could have a side effect in compact mode, so all adapters will accept self-signed certificates\n if (this.config.allowSelfSignedCerts) {\n process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';\n }\n\n const doc = await this.getObjectViewAsync('script', 'javascript', {});\n if (doc?.rows?.length) {\n // assemble global script\n for (let g = 0; g < doc.rows.length; g++) {\n const obj = doc.rows[g].value;\n if (checkIsGlobal(obj)) {\n if (obj && obj.common) {\n const engineType = (obj.common.engineType || '').toLowerCase();\n\n if (obj.common.enabled) {\n if (engineType.startsWith('typescript')) {\n // TypeScript\n this.log.info(`${obj._id}: compiling TypeScript source...`);\n // In order to compile global TypeScript, we need to do some transformations\n // 1. For top-level-await, some statements must be wrapped in an immediately-invoked async function\n // 2. If any global script uses `import`, the declarations are no longer visible if they are not exported with `declare global`\n const transformedSource = transformScriptBeforeCompilation(obj.common.source, true);\n // The source code must be transformed in order to support top level await\n // Global scripts must not be treated as a module, otherwise their methods\n // cannot be found by the normal scripts\n // We need to hash both global declarations that are known until now\n // AND the script source, because changing either can change the compilation output\n const sourceHash: string = hashSource(\n tsSourceHashBase + this.globalDeclarations + transformedSource,\n );\n\n let compiled: string | undefined;\n let declarations: string | undefined;\n // If we already stored the compiled source code and the original source hash,\n // use the hash to check whether we can rely on the compiled source code or\n // if we need to compile it again\n if (\n typeof obj.common.compiled === 'string' &&\n typeof obj.common.sourceHash === 'string' &&\n sourceHash === obj.common.sourceHash\n ) {\n // We can reuse the stored source\n compiled = obj.common.compiled;\n declarations = obj.common.declarations;\n this.log.info(\n `${obj._id}: source code did not change, using cached compilation result...`,\n );\n } else {\n // We don't have a hashed source code, or the original source changed, compile it\n const filename = scriptIdToTSFilename(obj._id);\n let tsCompiled: CompileResult;\n try {\n tsCompiled = this.tsServer.compile(filename, transformedSource);\n } catch (err: unknown) {\n this.log.error(`${obj._id}: TypeScript compilation failed:\\n${err as Error}`);\n continue;\n }\n\n const errors = tsCompiled.diagnostics\n .map(diag => `${diag.annotatedSource}\\n`)\n .join('\\n');\n\n if (tsCompiled.success) {\n if (errors.length > 0) {\n this.log.warn(\n `${obj._id}: TypeScript compilation completed with errors:\\n${errors}`,\n );\n } else {\n this.log.info(`${obj._id}: TypeScript compilation successful`);\n }\n compiled = tsCompiled.result;\n // Global scripts that have been transformed to support `import` need to have their declarations transformed aswell\n declarations = transformGlobalDeclarations(tsCompiled.declarations || '');\n\n const newCommon: {\n compiled: string | undefined;\n declarations?: string;\n sourceHash: string;\n } = {\n sourceHash,\n compiled,\n };\n if (declarations) {\n newCommon.declarations = declarations;\n }\n\n // Store the compiled source and the original source hash, so we don't need to do the work again next time\n this.ignoreObjectChange.add(obj._id); // ignore the next change and don't restart scripts\n void this.extendForeignObject(obj._id, {\n common: newCommon,\n });\n } else {\n this.log.error(`${obj._id}: TypeScript compilation failed:\\n${errors}`);\n continue;\n }\n }\n this.globalScript += `${compiled}\\n`;\n // if declarations were generated, remember them\n if (declarations != null) {\n this.provideDeclarationsForGlobalScript(obj._id, declarations);\n }\n } else {\n // javascript\n const sourceCode = obj.common.source;\n this.globalScript += `${sourceCode}\\n`;\n\n // try to compile the declarations so TypeScripts can use\n // functions defined in global JavaScripts\n const filename = scriptIdToTSFilename(obj._id);\n let tsCompiled: CompileResult;\n try {\n tsCompiled = jsDeclarationServer.compile(filename, sourceCode);\n } catch (err: unknown) {\n this.log.warn(\n `${obj._id}: Error while generating type declarations, skipping:\\n${err as Error}`,\n );\n continue;\n }\n // if declarations were generated, remember them\n if (tsCompiled.success && tsCompiled.declarations != null) {\n this.provideDeclarationsForGlobalScript(obj._id, tsCompiled.declarations);\n }\n }\n }\n }\n }\n }\n }\n\n this.globalScript = this.globalScript.replace(/\\r\\n/g, '\\n');\n this.globalScriptLines = this.globalScript.split(/\\n/g).length - 1;\n\n if (doc?.rows?.length) {\n // load all scripts\n for (let i = 0; i < doc.rows.length; i++) {\n if (!checkIsGlobal(doc.rows[i].value)) {\n void this.loadScript(doc.rows[i].value);\n }\n }\n }\n\n if (this.config.mirrorPath) {\n this.config.mirrorInstance = parseInt(this.config.mirrorInstance as unknown as string, 10) || 0;\n if (this.instance === this.config.mirrorInstance) {\n const ioBDataDir = getAbsoluteDefaultDataDir() + sep;\n this.config.mirrorPath = normalize(this.config.mirrorPath);\n let mirrorForbidden = false;\n for (let dir of forbiddenMirrorLocations) {\n dir = join(ioBDataDir, dir) + sep;\n if (dir.includes(this.config.mirrorPath) || this.config.mirrorPath.startsWith(dir)) {\n this.log.error(`The Mirror directory is not allowed to be a central ioBroker directory!`);\n this.log.error(`Directory ${this.config.mirrorPath} is not allowed to mirror files!`);\n mirrorForbidden = true;\n break;\n }\n }\n if (!mirrorForbidden) {\n this.mirror = new Mirror({\n adapter: this,\n log: this.log,\n diskRoot: this.config.mirrorPath,\n });\n }\n }\n }\n\n // CHeck setState counter per minute and stop script if too high\n this.setStateCountCheckInterval = setInterval(() => {\n Object.keys(this.scripts).forEach(id => {\n if (!this.scripts[id]) {\n return;\n }\n const currentSetStatePerMinuteCounter = this.scripts[id].setStatePerMinuteCounter;\n this.scripts[id].setStatePerMinuteCounter = 0;\n if (currentSetStatePerMinuteCounter > this.config.maxSetStatePerMinute) {\n this.scripts[id].setStatePerMinuteProblemCounter++;\n this.log.debug(\n `${id}: Script has reached the maximum of ${this.config.maxSetStatePerMinute} setState calls per minute in ${this.scripts[id].setStatePerMinuteProblemCounter} consecutive minutes`,\n );\n // Allow \"too high counters\" for 1 minute for script starts or such and only\n // stop the script when lasts longer\n if (this.scripts[id].setStatePerMinuteProblemCounter > 1) {\n this.log.error(\n `${id}: Script is calling setState more than ${this.config.maxSetStatePerMinute} times per minute! Stopping Script now! Please check your script!`,\n );\n void this.stopScript(id);\n }\n } else if (this.scripts[id].setStatePerMinuteProblemCounter > 0) {\n this.scripts[id].setStatePerMinuteProblemCounter--;\n this.log.debug(\n `Script ${id} has NOT reached the maximum of ${this.config.maxSetStatePerMinute} setState calls per minute. Decrease problem counter to ${this.scripts[id].setStatePerMinuteProblemCounter}`,\n );\n }\n });\n }, 60000);\n }\n\n private loadTypeScriptDeclarations(): void {\n // try to load the typings on disk for all 3rd party modules\n const packages = [\n 'node', // this provides auto-completion for most builtins\n '@iobroker/types', // this provides auto-completion for most builtins\n ];\n // Also include user-selected libraries (but only those that are also installed)\n if (typeof this.config?.libraries === 'string' && typeof this.config.libraryTypings === 'string') {\n const installedLibs = this.config.libraries\n .split(/[,;\\s]+/)\n .map(s => s.trim().split('@')[0])\n .filter(s => !!s);\n\n const wantsTypings = this.config.libraryTypings\n .split(/[,;\\s]+/)\n .map(s => s.trim())\n .filter(s => !!s);\n // Add all installed libraries the user has requested typings for to the list of packages\n for (const lib of installedLibs) {\n if (wantsTypings.includes(lib) && !packages.includes(lib)) {\n packages.push(lib);\n }\n }\n // Some packages have submodules (e.g., rxjs/operators) that are not exposed through the main entry point\n // If typings are requested for them, also add them if the base module is installed\n for (const lib of wantsTypings) {\n // Extract the package name and check if we need to add it\n if (!lib.includes('/')) {\n continue;\n }\n const pkgName = lib.substring(0, lib.indexOf('/'));\n\n if (installedLibs.includes(pkgName) && !packages.includes(lib)) {\n packages.push(lib);\n }\n }\n }\n for (const pkg of packages) {\n let pkgTypings = resolveTypings(\n pkg,\n this.getAdapterScopedPackageIdentifier ? this.getAdapterScopedPackageIdentifier(pkg) : pkg,\n // node needs ambient typings, so we don't wrap it in declare module\n pkg !== 'node',\n );\n if (!pkgTypings) {\n // Create the empty dummy declarations so users don't get the \"not found\" error\n // for installed packages\n if (pkg.includes('/')) {\n pkgTypings = {\n [`node_modules/${pkg}/index.d.ts`]: `declare module \"${pkg}\";`,\n };\n } else {\n pkgTypings = {\n [`node_modules/@types/${pkg}/index.d.ts`]: `declare module \"${pkg}\";`,\n };\n }\n }\n this.log.debug(`Loaded TypeScript definitions for \"${pkg}\": ${JSON.stringify(Object.keys(pkgTypings))}`);\n // remember the declarations for the editor\n Object.assign(tsAmbient, pkgTypings);\n // and give the language servers access to them\n this.tsServer.provideAmbientDeclarations(pkgTypings);\n jsDeclarationServer.provideAmbientDeclarations(pkgTypings);\n }\n }\n\n updateObjectContext(id: string, obj: ioBroker.Object | null | undefined): void {\n if (obj) {\n // add state to state ID's list\n if (obj.type === 'state') {\n if (!this.stateIds.includes(id)) {\n this.stateIds.push(id);\n this.stateIds.sort();\n }\n if (this.context.devices && this.context.channels) {\n const parts = id.split('.');\n parts.pop();\n const chn = parts.join('.');\n this.context.channels[chn] = this.context.channels[chn] || [];\n this.context.channels[chn].push(id);\n\n parts.pop();\n const dev = parts.join('.');\n this.context.devices[dev] = this.context.devices[dev] || [];\n this.context.devices[dev].push(id);\n }\n }\n } else {\n // delete object from state ID's list\n const pos = this.stateIds.indexOf(id);\n if (pos !== -1) {\n this.stateIds.splice(pos, 1);\n }\n if (this.context.devices && this.context.channels) {\n const parts = id.split('.');\n parts.pop();\n const chn = parts.join('.');\n if (this.context.channels[chn]) {\n const posChn = this.context.channels[chn].indexOf(id);\n posChn !== -1 && this.context.channels[chn].splice(posChn, 1);\n }\n\n parts.pop();\n const dev = parts.join('.');\n if (this.context.devices[dev]) {\n const posDev = this.context.devices[dev].indexOf(id);\n posDev !== -1 && this.context.devices[dev].splice(posDev, 1);\n }\n }\n\n delete this.folderCreationVerifiedObjects[id];\n }\n\n if (!obj && this.objects[id]) {\n // objects was deleted\n this.removeFromNames(id);\n delete this.objects[id];\n } else if (obj && !this.objects[id]) {\n // object was added\n this.objects[id] = obj;\n this.addToNames(obj);\n } else if (obj && this.objects[id].common) {\n // Object just changed\n this.objects[id] = obj;\n\n const n = this.getName(id);\n let nn = this.objects[id].common ? this.objects[id].common.name : '';\n\n if (nn && typeof nn === 'object') {\n nn = nn[getLanguage()] || nn.en;\n }\n\n if (n !== nn) {\n if (n) {\n this.removeFromNames(id);\n }\n if (nn) {\n this.addToNames(obj);\n }\n }\n }\n }\n\n async stopAllScripts(): Promise {\n const scripts = Object.keys(this.scripts);\n const promises: Promise[] = [];\n for (let i = 0; i < scripts.length; i++) {\n promises.push(this.stopScript(scripts[i]));\n }\n return Promise.all(promises).then(() => {});\n }\n\n convertBackStringifiedValues(\n id: string,\n state: ioBroker.State | null | undefined,\n ): ioBroker.State | null | undefined {\n if (\n state &&\n typeof state.val === 'string' &&\n this.objects[id]?.common &&\n (this.objects[id].common.type === 'array' || this.objects[id].common.type === 'object')\n ) {\n try {\n state.val = JSON.parse(state.val);\n } catch (err: any) {\n if (id.startsWith('javascript.') || id.startsWith('0_userdata.0')) {\n this.log.info(\n `Could not parse value for id \"${id}\" into ${this.objects[id].common.type}: ${err.toString()}`,\n );\n } else {\n this.log.debug(\n `Could not parse value for id \"${id}\" into ${this.objects[id].common.type}: ${err.toString()}`,\n );\n }\n }\n }\n return state;\n }\n\n prepareStateObjectSimple(id: string, state: ioBroker.StateValue, isAck: boolean): ioBroker.State {\n // otherwise, assume that the given state is the value to be set\n const oState: ioBroker.State = { val: state, ack: isAck } as ioBroker.State;\n\n return this.prepareStateObject(id, oState);\n }\n\n prepareStateObject(id: string, state: ioBroker.SettableState | null): ioBroker.State {\n let oState: ioBroker.State;\n\n if (state && typeof state === 'object') {\n oState = state as ioBroker.State;\n } else {\n oState = { val: null } as ioBroker.State;\n }\n\n if (this.config.subscribe) {\n return oState;\n }\n // set other values to have a full state object\n // mirrors logic from statesInRedis\n if (oState.ts === undefined) {\n oState.ts = Date.now();\n }\n\n if (oState.q === undefined) {\n oState.q = 0;\n }\n\n oState.from =\n typeof oState.from === 'string' && oState.from !== '' ? oState.from : `system.adapter.${this.namespace}`;\n\n if (oState.lc === undefined) {\n const formerStateValue = this.interimStateValues[id] || this.states[id];\n if (!formerStateValue) {\n oState.lc = oState.ts;\n } else {\n // isDeepStrictEqual works on objects and primitive values\n const hasChanged = !isDeepStrictEqual(formerStateValue.val, oState.val);\n if (!formerStateValue.lc || hasChanged) {\n oState.lc = oState.ts;\n } else {\n oState.lc = formerStateValue.lc;\n }\n }\n }\n\n return oState;\n }\n\n async getData(): Promise {\n await this.subscribeForeignObjectsAsync('*');\n\n if (!this.config.subscribe) {\n await this.subscribeForeignStatesAsync('*');\n } else {\n await this.subscribeStatesAsync('debug.to');\n await this.subscribeStatesAsync('scriptEnabled.*');\n }\n\n this.log.info('requesting all states');\n\n const statesPromise = this.getForeignStatesAsync('*')\n .then(res => {\n if (!res) {\n this.log.error(`Could not initialize states: no result`);\n this.terminate(EXIT_CODES.START_IMMEDIATELY_AFTER_STOP);\n return;\n }\n if (!this.config.subscribe) {\n this.states = Object.assign(res, this.states);\n this.context.states = this.states;\n\n this.addGetProperty(this.states);\n }\n\n // remember all IDs\n for (const id in res) {\n if (Object.prototype.hasOwnProperty.call(res, id)) {\n this.stateIds.push(id);\n }\n }\n this.statesInitDone = true;\n this.log.info('received all states');\n })\n .catch((err: any) => {\n this.log.error(`Could not initialize states: ${err?.message || 'no result'}`);\n this.terminate(EXIT_CODES.START_IMMEDIATELY_AFTER_STOP);\n });\n\n this.log.info('requesting all objects');\n\n const objectsPromise = this.getObjectListAsync({ include_docs: true })\n .then(res => {\n if (!res?.rows) {\n this.log.error(`Could not initialize objects: no result`);\n this.terminate(EXIT_CODES.START_IMMEDIATELY_AFTER_STOP);\n return;\n }\n this.objects = {};\n this.context.objects = this.objects;\n for (let i = 0; i < res.rows.length; i++) {\n if (!res.rows[i].doc) {\n this.log.debug(`Got empty object for index ${i} (${res.rows[i].id})`);\n continue;\n }\n if (this.objects[res.rows[i].doc._id] === undefined) {\n // If was already there ignore\n this.objects[res.rows[i].doc._id] = res.rows[i].doc;\n }\n this.objects[res.rows[i].doc._id].type === 'enum' && this._enums.push(res.rows[i].doc._id);\n\n // Collect all names\n this.addToNames(this.objects[res.rows[i].doc._id]);\n }\n this.addGetProperty(this.objects);\n\n const systemConfig = this.objects['system.config'];\n\n // set language for debug messages\n if (systemConfig?.common?.language) {\n setLanguage(systemConfig.common.language);\n this.language = systemConfig.common.language;\n this.context.language = this.language as ioBroker.Languages;\n } else if (this.language) {\n setLanguage(this.language);\n this.context.language = this.language;\n }\n\n // try to use system coordinates\n if (this.config.useSystemGPS) {\n if (systemConfig?.common?.latitude || systemConfig?.common?.longitude) {\n this.config.latitude = systemConfig.common.latitude;\n this.config.longitude = systemConfig.common.longitude;\n } else if (this.latitude && this.longitude) {\n this.config.latitude = this.latitude;\n this.config.longitude = this.longitude;\n }\n }\n this.config.latitude = parseFloat(this.config.latitude as unknown as string);\n this.config.longitude = parseFloat(this.config.longitude as unknown as string);\n\n if (isNaN(this.config.latitude)) {\n this.log.warn(`Configured latitude is not a number - check (instance/system) configuration`);\n } else if (this.config.latitude < -90 || this.config.latitude > 90) {\n this.log.warn(\n `Configured latitude \"${this.config.latitude}\" is invalid - check (instance/system) configuration`,\n );\n }\n\n if (isNaN(this.config.longitude)) {\n this.log.warn(`Configured longitude is not a number - check (instance/system) configuration`);\n } else if (this.config.longitude < -180 || this.config.longitude > 180) {\n this.log.warn(\n `Configured longitude \"${this.config.longitude}\" is invalid - check (instance/system) configuration`,\n );\n }\n\n this.config.sunriseEvent = this.config.sunriseEvent || 'nightEnd';\n this.config.sunriseOffset = this.config.sunriseOffset || 0;\n this.config.sunriseLimitStart = this.config.sunriseLimitStart || '06:00';\n this.config.sunriseLimitEnd = this.config.sunriseLimitEnd || '12:00';\n\n this.config.sunsetEvent = this.config.sunsetEvent || 'dusk';\n this.config.sunsetOffset = this.config.sunsetOffset || 0;\n this.config.sunsetLimitStart = this.config.sunsetLimitStart || '18:00';\n this.config.sunsetLimitEnd = this.config.sunsetLimitEnd || '23:00';\n\n this.objectsInitDone = true;\n this.log.info('received all objects');\n })\n .catch((err: any) => {\n this.log.error(`Could not initialize objects: ${err?.message || 'no result'}`);\n this.terminate(EXIT_CODES.START_IMMEDIATELY_AFTER_STOP);\n });\n\n return Promise.all([statesPromise, objectsPromise]).then(() => {});\n }\n\n async createActiveObject(id: string, enabled: boolean): Promise {\n const idActive = `${this.namespace}.scriptEnabled.${id.substring(SCRIPT_CODE_MARKER.length)}`;\n\n if (!this.objects[idActive]) {\n this.objects[idActive] = {\n _id: idActive,\n common: {\n name: `scriptEnabled.${id.substring(SCRIPT_CODE_MARKER.length)}`,\n desc: 'controls script activity',\n type: 'boolean',\n write: true,\n read: true,\n role: 'switch.active',\n },\n native: {\n script: id,\n },\n type: 'state',\n };\n try {\n await this.setForeignObjectAsync(idActive, this.objects[idActive]);\n const intermediateStateValue = this.prepareStateObjectSimple(idActive, enabled, true);\n await this.setForeignStateAsync(idActive, enabled, true);\n if (enabled && !this.config.subscribe) {\n this.interimStateValues[idActive] = intermediateStateValue;\n }\n } catch {\n // ignore\n }\n } else {\n const state = await this.getForeignStateAsync(idActive);\n if (state && state.val !== enabled) {\n const intermediateStateValue = this.prepareStateObjectSimple(idActive, enabled, true);\n await this.setForeignStateAsync(idActive, enabled, true);\n if (enabled && !this.config.subscribe) {\n this.interimStateValues[id] = intermediateStateValue;\n }\n }\n }\n }\n\n async createProblemObject(id: string): Promise {\n const idProblem = `${this.namespace}.scriptProblem.${id.substring(SCRIPT_CODE_MARKER.length)}`;\n\n if (!this.objects[idProblem]) {\n this.objects[idProblem] = {\n _id: idProblem,\n common: {\n name: `scriptProblem.${id.substring(SCRIPT_CODE_MARKER.length)}`,\n desc: 'Script has a problem',\n type: 'boolean',\n expert: true,\n write: false,\n read: true,\n role: 'indicator.error',\n },\n native: {\n script: id,\n },\n type: 'state',\n };\n try {\n await this.setForeignObjectAsync(idProblem, this.objects[idProblem]);\n await this.setForeignStateAsync(idProblem, false, true);\n } catch {\n // ignore\n }\n } else {\n const state = await this.getForeignStateAsync(idProblem);\n if (state && state.val !== false) {\n await this.setForeignStateAsync(idProblem, false, true);\n }\n }\n }\n\n addToNames(obj: ioBroker.Object): void {\n const id = obj._id;\n\n if (obj.common?.name) {\n let name = obj.common.name;\n if (name && typeof name === 'object') {\n name = name[getLanguage()] || name.en;\n }\n if (!name || typeof name !== 'string') {\n // TODO, take name in current language\n return;\n }\n\n if (!this.names[name]) {\n this.names[name] = id;\n } else {\n // convert to array\n if (!Array.isArray(this.names[name])) {\n this.names[name] = [this.names[name] as string];\n }\n\n (this.names[name] as string[]).push(id);\n }\n }\n }\n\n removeFromNames(id: string): void {\n const n = this.getName(id);\n\n if (n) {\n if (Array.isArray(this.names[n])) {\n const pos = this.names[n].indexOf(id);\n if (pos > -1) {\n this.names[n].splice(pos, 1);\n\n if (this.names[n].length === 1) {\n this.names[n] = this.names[n][0];\n }\n }\n } else {\n delete this.names[n];\n }\n }\n }\n\n getName(id: string): string | null {\n for (const n in this.names) {\n if (this.names[n] && Array.isArray(this.names[n])) {\n if (this.names[n].includes(id)) {\n return n;\n }\n } else if (this.names[n] === id) {\n return n;\n }\n }\n\n return null;\n }\n\n async installNpm(npmLib: string): Promise {\n return new Promise((resolve, reject) => {\n const path = __dirname;\n\n // Also, set the working directory (cwd) of the process instead of using --prefix\n // because that has ugly bugs on Windows\n const cmd = `npm install ${npmLib} --omit=dev`;\n this.log.info(`Installing ${npmLib} into ${__dirname} - cmd: ${cmd}`);\n\n // System call used for update of js-controller itself,\n // because during the installation the npm packet will be deleted too, but some files must be loaded even during the installation process.\n const child = this.mods.child_process.exec(cmd, {\n windowsHide: true,\n cwd: path,\n });\n\n child.stdout?.on('data', buf => this.log.info(buf.toString('utf8')));\n\n child.stderr?.on('data', buf => this.log.error(buf.toString('utf8')));\n\n child.on('err', err => {\n this.log.error(`Cannot install ${npmLib}: ${err}`);\n reject(new Error(`Cannot install ${npmLib}: ${err}`));\n });\n child.on('error', err => {\n this.log.error(`Cannot install ${npmLib}: ${err}`);\n reject(new Error(`Cannot install ${npmLib}: ${err}`));\n });\n\n child.on('exit', (code: number /* , signal */) => {\n if (code) {\n this.log.error(`Cannot install ${npmLib}: ${code}`);\n reject(new Error(`Cannot install ${npmLib}: ${code}`));\n }\n // command succeeded\n resolve(code);\n });\n });\n }\n\n async installLibraries(): Promise {\n if (typeof this.config?.libraries !== 'string') {\n this.config.libraries = '';\n }\n\n const libraries: string[] = this.config.libraries\n .split(/[,;\\s]+/)\n .map(d => d.trim())\n .filter(d => d);\n\n this.log.debug(`Custom libraries in config: \"${this.config.libraries}\": ${JSON.stringify(libraries)}`);\n\n let installedNodeModules: string[] = [];\n const keepModules: string[] = [];\n\n // js-controller >= 6.x\n if (typeof this.listInstalledNodeModules === 'function') {\n installedNodeModules = await this.listInstalledNodeModules();\n\n this.log.debug(`Found installed libraries: ${JSON.stringify(installedNodeModules)}`);\n }\n\n for (const lib of libraries) {\n let depName = lib;\n let version = 'latest';\n\n if (depName.includes('@') && depName.lastIndexOf('@') > 0) {\n const parts = depName.split('@');\n version = parts.pop() ?? 'latest';\n depName = parts.join('@');\n }\n\n /** The real module name, because the dependency can be an url too */\n let moduleName = depName;\n\n if (URL.canParse(depName)) {\n moduleName = await requestModuleNameByUrl(depName);\n\n this.log.debug(`Found custom library in config: \"${moduleName}@${version}\" (from ${depName})`);\n } else {\n this.log.debug(`Found custom library in config: \"${moduleName}@${version}\"`);\n }\n\n keepModules.push(moduleName);\n\n // js-controller >= 6.x\n if (typeof this.installNodeModule === 'function') {\n try {\n const result = await this.installNodeModule(depName, { version });\n if (result.success) {\n this.log.debug(`Installed custom library: \"${moduleName}@${version}\"`);\n\n const importedModule: any = await this.importNodeModule(moduleName);\n (this.mods as Record)[moduleName] = importedModule.default ?? importedModule;\n } else {\n this.log.warn(`Cannot install custom npm package \"${moduleName}@${version}\"`);\n }\n } catch (err: unknown) {\n this.log.warn(`Cannot install custom npm package \"${moduleName}@${version}\": ${err as Error}`);\n }\n } else if (!existsSync(`${__dirname}/node_modules/${depName}/package.json`)) {\n // js-controller < 6.x\n this.log.info(`Installing custom library (legacy mode): \"${lib}\"`);\n\n try {\n await this.installNpm(lib);\n this.log.info(`Installed custom npm package (legacy mode): \"${lib}\"`);\n } catch (err: any) {\n this.log.warn(`Cannot install custom npm package \"${lib}\" (legacy mode): ${err.toString()}`);\n }\n }\n }\n\n // js-controller >= 6.x\n if (typeof this.uninstallNodeModule === 'function') {\n for (const installedNodeModule of installedNodeModules) {\n if (!keepModules.includes(installedNodeModule)) {\n try {\n await this.uninstallNodeModule(installedNodeModule);\n\n this.log.info(`Removed custom npm package: \"${installedNodeModule}\"`);\n } catch (err: any) {\n this.log.warn(`Cannot remove custom npm package ${installedNodeModule}: ${err.toString()}`);\n }\n }\n }\n }\n }\n\n createVM(source: string, name: string, wrapAsync: boolean): false | JsScript {\n if (this.context.debugMode && name !== this.context.debugMode) {\n return false;\n }\n\n if (!this.context.debugMode) {\n const logSubscriptionsText =\n \"\\n;\\nlog(`registered ${__engine.__subscriptions} subscription${__engine.__subscriptions === 1 ? '' : 's'},\" +\n \" ${__engine.__schedules} schedule${__engine.__schedules === 1 ? '' : 's'},\" +\n \" ${__engine.__subscriptionsMessage} message${__engine.__subscriptionsMessage === 1 ? '' : 's'},\" +\n \" ${__engine.__subscriptionsLog} log${__engine.__subscriptionsLog === 1 ? '' : 's'}\" +\n \" and ${__engine.__subscriptionsFile} file subscription${__engine.__subscriptionsFile === 1 ? '' : 's'}`);\\n\";\n\n if (wrapAsync) {\n source = `(async () => {\\n${source}\\n${logSubscriptionsText}\\n})();`;\n } else {\n if (source.endsWith('export {};\\n')) {\n // If the source ends with \"export {};\" place the log subscriptions before it\n source = source.slice(0, -11); // remove \"export {};\\n\"\n source = `${source}\\n${logSubscriptionsText}\\nexport {};\\n`;\n } else {\n source = `${source}\\n${logSubscriptionsText}`;\n }\n }\n } else {\n if (wrapAsync) {\n source = `(async () => {debugger;\\n${source}\\n})();`;\n } else {\n source = `debugger;${source}`;\n }\n }\n\n try {\n const options: ScriptOptions = {\n filename: name,\n // displayErrors: true,\n // lineOffset: this.globalScriptLines\n };\n return {\n script: new Script(source, options),\n } as JsScript;\n } catch (err: unknown) {\n this.logError(name, `compile failed at`, err as Error);\n return false;\n }\n }\n\n execute(script: JsScript, name: string, engineType: ScriptType, verbose: boolean, debug: boolean): void {\n script.intervals = [];\n script.timeouts = [];\n script.schedules = [];\n script.wizards = [];\n script.name = name;\n script.engineType = engineType;\n script._id = Math.floor(Math.random() * 0xffffffff);\n script.subscribes = {};\n script.subscribesFile = {};\n script.setStatePerMinuteCounter = 0;\n script.setStatePerMinuteProblemCounter = 0;\n void this.setState(`scriptProblem.${name.substring(SCRIPT_CODE_MARKER.length)}`, {\n val: false,\n ack: true,\n expire: 1000,\n });\n\n const sandbox = sandBox(script, name, verbose, debug, this.context);\n\n try {\n script.script.runInNewContext(sandbox, {\n filename: name,\n displayErrors: true,\n // lineOffset: this.globalScriptLines\n });\n } catch (err: unknown) {\n void this.setState(`scriptProblem.${name.substring(SCRIPT_CODE_MARKER.length)}`, {\n val: true,\n ack: true,\n c: 'execute',\n });\n this.logError(name, 'Error by run:', err as Error);\n }\n }\n\n unsubscribe(id: string | RegExp | string[]): void {\n if (!id) {\n this.log.warn('unsubscribe: empty name');\n return;\n }\n\n if (Array.isArray(id)) {\n id.forEach(sub => unsubscribe(sub));\n return;\n }\n\n if (id.constructor && id.constructor.name === 'RegExp') {\n // adapter.log.warn('unsubscribe: todo - process regexp');\n return;\n }\n\n if (typeof id !== 'string') {\n this.log.error(`unsubscribe: invalid type of id - ${typeof id}`);\n return;\n }\n const parts = id.split('.');\n const _adapter = `system.adapter.${parts[0]}.${parts[1]}`;\n if (this.objects[_adapter]?.common?.subscribable) {\n const a = `${parts[0]}.${parts[1]}`;\n const alive = `system.adapter.${a}.alive`;\n if (this.adapterSubs[alive]) {\n const pos = this.adapterSubs[alive].indexOf(id);\n if (pos !== -1) {\n this.adapterSubs[alive].splice(pos, 1);\n }\n if (!this.adapterSubs[alive].length) {\n delete this.adapterSubs[alive];\n }\n }\n this.sendTo(a, 'unsubscribe', id);\n }\n }\n\n // Analyze if logs are still required or not\n updateLogSubscriptions(): void {\n let found = false;\n // go through all scripts and check if some script still requires logs\n Object.keys(this.logSubscriptions).forEach(scriptName => {\n if (!this.logSubscriptions?.[scriptName] || !this.logSubscriptions[scriptName].length) {\n delete this.logSubscriptions[scriptName];\n } else {\n found = true;\n }\n });\n\n if (this.requireLog) {\n if (found && !this.logSubscribed) {\n this.logSubscribed = true;\n void this.requireLog(this.logSubscribed);\n this.log.info(`Subscribed to log messages (found logSubscriptions)`);\n } else if (!found && this.logSubscribed) {\n this.logSubscribed = false;\n void this.requireLog(this.logSubscribed);\n this.log.info(`Unsubscribed from log messages (not found logSubscriptions)`);\n }\n }\n }\n\n async stopScript(name: string): Promise {\n this.log.info(`${name}: Stopping script`);\n\n await this.setState(`scriptEnabled.${name.substring(SCRIPT_CODE_MARKER.length)}`, false, true);\n\n if (this.messageBusHandlers[name]) {\n delete this.messageBusHandlers[name];\n }\n\n if (this.tempDirectories[name]) {\n try {\n this.mods.fs.rmSync(this.tempDirectories[name], { recursive: true });\n\n this.log.debug(`${name}: Removed temp directory: ${this.tempDirectories[name]}`);\n } catch {\n this.log.warn(`${name}: Unable to remove temp directory: ${this.tempDirectories[name]}`);\n }\n\n delete this.tempDirectories[name];\n }\n\n if (this.logSubscriptions[name]) {\n delete this.logSubscriptions[name];\n this.updateLogSubscriptions();\n }\n\n if (this.scripts[name]) {\n // Remove from subscriptions\n this.context.isEnums = false;\n if (this.config.subscribe) {\n // check all subscribed IDs\n Object.keys(this.scripts[name].subscribes).forEach(id => {\n if (this.subscribedPatterns[id]) {\n this.subscribedPatterns[id] -= this.scripts[name].subscribes[id];\n if (this.subscribedPatterns[id] <= 0) {\n this.unsubscribeForeignStates(id);\n delete this.subscribedPatterns[id];\n if (this.states[id]) {\n delete this.states[id];\n }\n }\n }\n });\n }\n\n for (let i = this.subscriptions.length - 1; i >= 0; i--) {\n if (this.subscriptions[i].name === name) {\n const sub = this.subscriptions.splice(i, 1)[0];\n if (sub?.pattern.id) {\n this.unsubscribe(sub.pattern.id);\n }\n } else {\n if (\n (!this.context.isEnums && this.subscriptions[i].pattern.enumName) ||\n this.subscriptions[i].pattern.enumId\n ) {\n this.context.isEnums = true;\n }\n }\n }\n\n // check all subscribed files\n Object.keys(this.scripts[name].subscribesFile).forEach(key => {\n if (this.subscribedPatternsFile[key]) {\n this.subscribedPatternsFile[key] -= this.scripts[name].subscribesFile[key];\n if (this.subscribedPatternsFile[key] <= 0) {\n const [id, file] = key.split('$%$');\n void this.unsubscribeForeignFiles(id, file);\n delete this.subscribedPatternsFile[key];\n }\n }\n });\n for (let i = this.subscriptionsFile.length - 1; i >= 0; i--) {\n if (this.subscriptionsFile[i].name === name) {\n this.subscriptionsFile.splice(i, 1);\n }\n }\n\n for (let i = this.subscriptionsObject.length - 1; i >= 0; i--) {\n if (this.subscriptionsObject[i].name === name) {\n const sub = this.subscriptionsObject.splice(i, 1)[0];\n if (sub) {\n this.unsubscribeForeignObjects(sub.pattern);\n }\n }\n }\n\n // Stop all timeouts\n for (let i = 0; i < this.scripts[name].timeouts.length; i++) {\n clearTimeout(this.scripts[name].timeouts[i]);\n }\n // Stop all intervals\n for (let i = 0; i < this.scripts[name].intervals.length; i++) {\n clearInterval(this.scripts[name].intervals[i]);\n }\n // Stop all scheduled jobs\n for (let i = 0; i < this.scripts[name].schedules.length; i++) {\n if (this.scripts[name].schedules[i]) {\n const _name = this.scripts[name].schedules[i].name;\n if (!this.mods.nodeSchedule.cancelJob(this.scripts[name].schedules[i])) {\n this.log.error(`${name}: Error by canceling scheduled job \"${_name}\"`);\n }\n }\n }\n\n // Stop all time wizards jobs\n if (this.context.scheduler) {\n for (let i = 0; i < this.scripts[name].wizards.length; i++) {\n if (this.scripts[name].wizards[i]) {\n this.context.scheduler.remove(this.scripts[name].wizards[i]);\n }\n }\n }\n\n // if callback for on stop\n if (typeof this.scripts[name].onStopCb === 'function') {\n this.scripts[name].onStopTimeout =\n parseInt(this.scripts[name].onStopTimeout as unknown as string, 10) || 1000;\n\n await new Promise(resolve => {\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n if (timeout) {\n timeout = null;\n resolve(true);\n }\n }, this.scripts[name].onStopTimeout);\n\n try {\n this.scripts[name].onStopCb(() => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n resolve(true);\n }\n });\n } catch (err: unknown) {\n this.log.error(`${name}: error in onStop callback: ${err as Error}`);\n }\n });\n }\n\n delete this.scripts[name];\n return true;\n }\n return false;\n }\n\n async prepareScript(obj: ioBroker.ScriptObject): Promise {\n if (obj?.common?.enabled && this.debugState.scriptName === obj._id) {\n const id = obj._id;\n await this.debugStop();\n this.log.info(`${id}: Debugging was stopped, because started in normal mode`);\n return this.prepareScript(obj);\n }\n\n if (\n obj?.common?.source &&\n (obj.common.enabled || this.context.debugMode === obj._id) &&\n obj.common.engine === `system.adapter.${this.namespace}`\n ) {\n const name = obj._id;\n\n const nameId = name.substring(SCRIPT_CODE_MARKER.length);\n if (!nameId.length || nameId.endsWith('.')) {\n this.log.error(`${name}: Script name \"${name}\" is invalid!`);\n return false;\n }\n const idActive = `scriptEnabled.${nameId}`;\n if (!this.config.subscribe) {\n this.interimStateValues[idActive] = this.prepareStateObjectSimple(\n `${this.namespace}.${idActive}`,\n true,\n true,\n );\n }\n await this.setState(idActive, true, true);\n obj.common.engineType = obj.common.engineType || '';\n\n if (\n (obj.common.engineType as ScriptType).toLowerCase().startsWith('javascript') ||\n (obj.common.engineType as ScriptType) === 'Blockly' ||\n (obj.common.engineType as ScriptType) === 'Rules'\n ) {\n // Javascript\n this.log.info(`${name}: start JavaScript (${obj.common.engineType})`);\n\n let sourceFn = name;\n if (webstormDebug) {\n const fn = name.replace(/^script\\.js\\./, '').replace(/\\./g, '/');\n sourceFn = this.mods.path.join(webstormDebug, `${fn}.js`);\n }\n const createdScript = this.createVM(`${this.globalScript}\\n${obj.common.source}`, sourceFn, true);\n if (!createdScript) {\n return false;\n }\n this.scripts[name] = createdScript;\n this.execute(\n this.scripts[name],\n sourceFn,\n obj.common.engineType as ScriptType,\n obj.common.verbose,\n obj.common.debug,\n );\n return true;\n }\n\n if (obj.common.engineType.toLowerCase().startsWith('typescript')) {\n // TypeScript\n this.log.info(`${name}: Compiling TypeScript source`);\n // The source code must be transformed in order to support top level await\n // and to force TypeScript to compile the code as a module\n const transformedSource = transformScriptBeforeCompilation(obj.common.source, false);\n // We need to hash both global declarations that are known until now\n // AND the script source, because changing either can change the compilation output\n const sourceHash = hashSource(tsSourceHashBase + this.globalDeclarations + transformedSource);\n\n let compiled: string;\n // If we already stored the compiled source code and the original source hash,\n // use the hash to check whether we can rely on the compiled source code or\n // if we need to compile it again\n if (\n typeof obj.common.compiled === 'string' &&\n typeof obj.common.sourceHash === 'string' &&\n sourceHash === obj.common.sourceHash\n ) {\n // We can reuse the stored source\n compiled = obj.common.compiled;\n this.log.info(`${name}: source code did not change, using cached compilation result...`);\n } else {\n // We don't have a hashed source code, or the original source changed, compile it\n const filename = scriptIdToTSFilename(name);\n let tsCompiled: CompileResult;\n try {\n tsCompiled = this.tsServer.compile(filename, transformedSource);\n } catch (err: unknown) {\n this.log.error(`${obj._id}: TypeScript compilation failed:\\n${err as Error}`);\n return false;\n }\n\n const errors = tsCompiled.diagnostics.map(diag => `${diag.annotatedSource}\\n`).join('\\n');\n\n if (tsCompiled.success) {\n if (errors.length > 0) {\n this.log.warn(`${name}: TypeScript compilation had errors:\\n${errors}`);\n } else {\n this.log.info(`${name}: TypeScript compilation successful`);\n }\n compiled = tsCompiled.result || '';\n\n // Store the compiled source and the original source hash, so we don't need to do the work again next time\n this.ignoreObjectChange.add(name); // ignore the next change and don't restart scripts\n await this.extendForeignObjectAsync(name, {\n common: {\n sourceHash,\n compiled,\n },\n });\n } else {\n this.log.error(`${name}: TypeScript compilation failed:\\n${errors}`);\n return false;\n }\n }\n const createdScript: JsScript | false = this.createVM(`${this.globalScript}\\n${compiled}`, name, false);\n if (!createdScript) {\n return false;\n }\n this.scripts[name] = createdScript;\n this.execute(\n this.scripts[name],\n name,\n obj.common.engineType as ScriptType,\n obj.common.verbose,\n obj.common.debug,\n );\n return true;\n }\n\n this.log.warn(`${obj._id}: Unknown engine type: ${obj.common.engineType}`);\n return false;\n }\n\n let _name: string;\n if (obj?._id) {\n _name = obj._id;\n const scriptIdName = _name.substring(SCRIPT_CODE_MARKER.length);\n\n if (!scriptIdName.length || scriptIdName.endsWith('.')) {\n this.log.error(`${obj._id}: Script name \"${_name}\" is invalid!`);\n return false;\n }\n await this.setState(`scriptEnabled.${scriptIdName}`, false, true);\n }\n if (!obj) {\n this.log.error('Invalid script');\n }\n return false;\n }\n\n async loadScriptById(id: string): Promise {\n let obj: ioBroker.ScriptObject | null | undefined;\n try {\n obj = (await this.getForeignObjectAsync(id)) as ioBroker.ScriptObject | null | undefined;\n } catch (err: any) {\n this.log.error(`${id}: Invalid script: ${err}`);\n }\n if (!obj) {\n return false;\n }\n return this.loadScript(obj);\n }\n\n async loadScript(nameOrObject: ioBroker.ScriptObject): Promise {\n // create states for scripts\n await this.createActiveObject(nameOrObject._id, !!nameOrObject?.common?.enabled);\n await this.createProblemObject(nameOrObject._id);\n return this.prepareScript(nameOrObject);\n }\n\n getAstroEvent(\n date: Date,\n astroEvent: AstroEventName,\n start: string,\n end: string,\n offsetMinutes: number | string,\n isDayEnd: boolean,\n latitude: number,\n longitude: number,\n useNextDay?: boolean,\n ): Date {\n let ts: Date = this.mods.suncalc.getTimes(date, latitude, longitude)[astroEvent];\n\n if (!ts || ts.getTime().toString() === 'NaN') {\n ts = isDayEnd ? getNextTimeEvent(end, useNextDay) : getNextTimeEvent(start, useNextDay);\n }\n ts.setMilliseconds(0);\n ts.setMinutes(ts.getMinutes() + (parseInt(offsetMinutes as unknown as string, 10) || 0));\n\n const [timeHoursStart, timeMinutesStart] = start.split(':');\n const nTimeHoursStart = parseInt(timeHoursStart, 10);\n const nTimeMinutesStart = parseInt(timeMinutesStart, 10) || 0;\n\n if (\n ts.getHours() < nTimeHoursStart ||\n (ts.getHours() === nTimeHoursStart && ts.getMinutes() < nTimeMinutesStart)\n ) {\n ts = getNextTimeEvent(start, useNextDay);\n ts.setSeconds(0);\n }\n\n const [timeHoursEnd, timeMinutesEnd] = end.split(':');\n const nTimeHoursEnd = parseInt(timeHoursEnd, 10);\n const nTimeMinutesEnd = parseInt(timeMinutesEnd, 10) || 0;\n\n if (ts.getHours() > nTimeHoursEnd || (ts.getHours() === nTimeHoursEnd && ts.getMinutes() > nTimeMinutesEnd)) {\n ts = getNextTimeEvent(end, useNextDay);\n ts.setSeconds(0);\n }\n\n // if event in the past\n if (date > ts && useNextDay) {\n // take the next day\n ts.setDate(ts.getDate() + 1);\n }\n return ts;\n }\n\n async timeSchedule(): Promise {\n const now = new Date();\n let hours = now.getHours();\n const minutes = now.getMinutes();\n if (this.timeSettings.format12) {\n if (hours > 12) {\n hours -= 12;\n }\n }\n let sHours: string;\n if (this.timeSettings.leadingZeros) {\n sHours = hours.toString().padStart(2, '0');\n } else {\n sHours = hours.toString();\n }\n\n await this.setState('variables.dayTime', {\n val: `${sHours}:${minutes.toString().padStart(2, '0')}`,\n ack: true,\n });\n\n now.setMinutes(now.getMinutes() + 1);\n now.setSeconds(0);\n now.setMilliseconds(0);\n const interval = now.getTime() - Date.now();\n this.timeScheduleTimer = setTimeout(() => this.timeSchedule(), interval);\n }\n\n async dayTimeSchedules(): Promise {\n // get astrological event\n if (\n this.config.latitude === undefined ||\n this.config.longitude === undefined ||\n (this.config.latitude as unknown as string) === '' ||\n (this.config.longitude as unknown as string) === '' ||\n this.config.latitude === null ||\n this.config.longitude === null\n ) {\n this.log.error('Longitude or latitude does not set. Cannot use astro.');\n return;\n }\n\n // Calculate the next event today\n const todayDate = getAstroStartOfDay();\n const nowDate = new Date();\n\n const todaySunrise = this.getAstroEvent(\n todayDate,\n this.config.sunriseEvent,\n this.config.sunriseLimitStart,\n this.config.sunriseLimitEnd,\n this.config.sunriseOffset,\n false,\n this.config.latitude,\n this.config.longitude,\n );\n const todaySunset = this.getAstroEvent(\n todayDate,\n this.config.sunsetEvent,\n this.config.sunsetLimitStart,\n this.config.sunsetLimitEnd,\n this.config.sunsetOffset,\n true,\n this.config.latitude,\n this.config.longitude,\n );\n\n // Sunrise\n let sunriseTimeout = todaySunrise.getTime() - nowDate.getTime();\n if (sunriseTimeout < 0 || sunriseTimeout > 3600000) {\n sunriseTimeout = 3600000;\n }\n\n // Sunset\n let sunsetTimeout = todaySunset.getTime() - nowDate.getTime();\n if (sunsetTimeout < 0 || sunsetTimeout > 3600000) {\n sunsetTimeout = 3600000;\n }\n\n const isDayTime: ioBroker.State | null | undefined = await this.getStateAsync('variables.isDayTime');\n let isDay: boolean;\n if (sunriseTimeout < 5000) {\n isDay = true;\n } else if (sunsetTimeout < 5000) {\n isDay = false;\n } else {\n // check if in between\n isDay = nowDate.getTime() > todaySunrise.getTime() - 60000 && nowDate <= todaySunset;\n }\n\n const valDayTime = isDayTime ? !!isDayTime.val : false;\n if (valDayTime !== isDay || isDayTime === null) {\n await this.setState('variables.isDayTime', isDay, true);\n }\n\n const dayLightSaving: ioBroker.State | null | undefined =\n await this.getStateAsync('variables.isDaylightSaving');\n const isDayLightSaving = dstOffsetAtDate(nowDate) !== 0;\n const val = dayLightSaving ? !!dayLightSaving.val : false;\n\n if (val !== isDayLightSaving || dayLightSaving === null) {\n await this.setState('variables.isDaylightSaving', isDayLightSaving, true);\n }\n\n let nextTimeout = sunriseTimeout;\n if (sunriseTimeout > sunsetTimeout) {\n nextTimeout = sunsetTimeout;\n }\n nextTimeout = nextTimeout - 3000;\n if (nextTimeout < 3000) {\n nextTimeout = 3000;\n }\n\n this.dayScheduleTimer = setTimeout(() => this.dayTimeSchedules(), nextTimeout);\n }\n\n stopTimeSchedules(): void {\n if (this.dayScheduleTimer) {\n clearTimeout(this.dayScheduleTimer);\n this.dayScheduleTimer = null;\n }\n if (this.sunScheduleTimer) {\n clearTimeout(this.sunScheduleTimer);\n this.sunScheduleTimer = null;\n }\n if (this.timeScheduleTimer) {\n clearTimeout(this.timeScheduleTimer);\n this.timeScheduleTimer = null;\n }\n }\n\n async patchFont(): Promise {\n let stat: Stats | undefined;\n let dbFile: Buffer | undefined;\n let fileName = `${__dirname}/../admin/vs/base/browser/ui/codicons/codicon/codicon.ttf`;\n let jsonFileName = `${__dirname}/../admin/vsFont/codicon.json`;\n try {\n if (existsSync(fileName)) {\n stat = statSync(fileName);\n }\n if (!stat) {\n jsonFileName = `${__dirname}/admin/vsFont/codicon.json`;\n fileName = `${__dirname}/admin/vs/base/browser/ui/codicons/codicon/codicon.ttf`;\n if (existsSync(fileName)) {\n stat = statSync(fileName);\n }\n }\n const _dbFile = await this.readFileAsync(\n 'javascript.admin',\n `vs/base/browser/ui/codicons/codicon/codicon.ttf`,\n );\n if (_dbFile?.file) {\n dbFile = _dbFile.file as Buffer;\n }\n } catch {\n // ignore\n }\n\n if (stat?.size !== 73452 || dbFile?.byteLength !== 73452) {\n try {\n const buffer = Buffer.from(JSON.parse(readFileSync(jsonFileName).toString()), 'base64');\n\n const jszip = await import('jszip');\n const zip = await jszip.loadAsync(buffer);\n let data: ArrayBuffer | undefined;\n if (zip) {\n data = await zip.file('codicon.ttf')?.async('arraybuffer');\n if (data?.byteLength !== 73452) {\n this.log.error(`Cannot patch font: invalid font file!`);\n return false;\n }\n } else {\n this.log.error(`Cannot patch font: invalid font file!`);\n return false;\n }\n writeFileSync(fileName, Buffer.from(data));\n // upload this file\n await this.writeFileAsync(\n 'javascript.admin',\n 'vs/base/browser/ui/codicons/codicon/codicon.ttf',\n Buffer.from(data),\n );\n return true;\n } catch (err: unknown) {\n this.log.error(`Cannot patch font: ${err as Error}`);\n return false;\n }\n }\n return false;\n }\n\n async sunTimeSchedules(): Promise {\n if (this.config.createAstroStates) {\n if (!isNaN(this.config.longitude) && !isNaN(this.config.longitude)) {\n const calcDate = getAstroStartOfDay();\n\n const times = this.mods.suncalc.getTimes(calcDate, this.config.latitude, this.config.longitude);\n\n this.log.debug(`[sunTimeSchedules] Times: ${JSON.stringify(times)}`);\n\n for (const t in times) {\n try {\n const objId = `variables.astro.${t}`;\n\n await this.setObjectNotExistsAsync(objId, {\n type: 'state',\n common: {\n name: `Astro ${t}`,\n type: 'string',\n role: 'value',\n read: true,\n write: false,\n },\n native: {},\n });\n\n if (times[t] !== null && !isNaN(times[t].getTime())) {\n const timeFormatted = formatHoursMinutesSeconds(times[t]);\n await this.setState(objId, {\n val: timeFormatted,\n c: times[t].toISOString(),\n ack: true,\n });\n } else {\n await this.setState(objId, { val: null, c: 'n/a', ack: true, q: 0x01 });\n }\n } catch (err: unknown) {\n this.log.error(\n `[sunTimeSchedules] Unable to set state for astro time \"${t}\" (${times[t].getTime()}): ${err as Error}`,\n );\n }\n }\n\n const todayDate = new Date();\n todayDate.setHours(0);\n todayDate.setMinutes(0);\n todayDate.setSeconds(1);\n todayDate.setMilliseconds(0);\n todayDate.setDate(todayDate.getDate() + 1);\n\n this.log.debug(`[sunTimeSchedules] Next: ${todayDate.toISOString()}`);\n this.sunScheduleTimer = setTimeout(() => this.sunTimeSchedules(), todayDate.getTime() - Date.now());\n }\n } else {\n // remove astro states if disabled\n this.delObject('variables.astro', { recursive: true });\n }\n }\n\n /**\n * Redirects the virtual-tsc log output to the ioBroker log\n */\n tsLog = (message: string, severity?: ioBroker.LogLevel): void => {\n // shift the severities around, we don't care about the small details\n if (!severity || severity === 'info') {\n severity = 'debug';\n } else if (severity === 'debug') {\n // Don't spam build logs on Travis\n if (isCI) {\n return;\n }\n severity = 'silly';\n }\n\n if (this?.log) {\n this.log[severity](message);\n } else {\n console.log(`[${severity.toUpperCase()}] ${message}`);\n }\n };\n\n addGetProperty(object: Record): void {\n try {\n Object.defineProperty(object, 'get', {\n value: function (id: string): any {\n return this[id] || this[`${this.namespace}.${id}`];\n },\n enumerable: false,\n });\n } catch {\n console.error('Cannot install get property');\n }\n }\n\n /**\n * Add declarations for global scripts\n *\n * @param scriptID - The current script the declarations were generated from\n * @param declarations - Declarations from script\n */\n provideDeclarationsForGlobalScript(scriptID: string, declarations: string): void {\n // Remember which declarations this global script had access to,\n // we need this so the editor doesn't show a duplicate identifier error\n if (this.globalDeclarations != null && this.globalDeclarations !== '') {\n this.knownGlobalDeclarationsByScript[scriptID] = this.globalDeclarations;\n }\n // and concatenate the global declarations for the next scripts\n this.globalDeclarations += `${declarations}\\n`;\n // remember all previously generated global declarations,\n // so global scripts can reference each other\n const globalDeclarationPath = 'global.d.ts';\n tsAmbient[globalDeclarationPath] = this.globalDeclarations;\n // make sure the next script compilation has access to the updated declarations\n this.tsServer.provideAmbientDeclarations({\n [globalDeclarationPath]: this.globalDeclarations,\n });\n jsDeclarationServer.provideAmbientDeclarations({\n [globalDeclarationPath]: this.globalDeclarations,\n });\n }\n\n fixLineNo(line: string): string {\n if (line.includes('javascript.js:')) {\n return line;\n }\n if (!/scripts?\\.js[.\\\\/]/.test(line)) {\n return line;\n }\n if (/:(\\d+):/.test(line)) {\n line = line.replace(\n /:(\\d+):/,\n (_$0, $1) => `:${$1 > this.globalScriptLines + 1 ? $1 - this.globalScriptLines - 1 : $1}:`,\n ); // one line for 'async function ()'\n } else {\n line = line.replace(\n /:(\\d+)$/,\n (_$0, $1) => `:${$1 > this.globalScriptLines + 1 ? $1 - this.globalScriptLines - 1 : $1}`,\n ); // one line for 'async function ()'\n }\n return line;\n }\n\n async debugStop(): Promise {\n if (this.debugState.child) {\n this.debugSendToInspector({ cmd: 'end' });\n this.debugState.endTimeout = setTimeout(() => {\n this.debugState.endTimeout = null;\n this.debugState.child?.kill('SIGTERM');\n }, 500);\n this.debugState.promiseOnEnd = this.debugState.promiseOnEnd || Promise.resolve(0);\n } else {\n this.debugState.promiseOnEnd = Promise.resolve(0);\n }\n\n await this.debugState.promiseOnEnd;\n\n this.debugState.child = null;\n this.debugState.running = false;\n this.debugState.scriptName = '';\n if (this.debugState.endTimeout) {\n clearTimeout(this.debugState.endTimeout);\n this.debugState.endTimeout = null;\n }\n }\n\n async debugDisableScript(id: string | undefined): Promise {\n if (id) {\n const obj = this.objects[id];\n if (obj?.common?.enabled) {\n await this.extendForeignObjectAsync(obj._id, { common: { enabled: false } });\n }\n }\n }\n\n debugSendToInspector(message: any): void {\n if (this.debugState.child) {\n try {\n this.log.info(`send to debugger: ${message}`);\n this.debugState.child.send(message);\n } catch {\n void this.debugStop().then(() =>\n this.log.info(\n `${this.debugState.scriptName}: Debugging was stopped, because started in normal mode`,\n ),\n );\n }\n } else {\n this.log.error(`${this.debugState.scriptName}: Cannot send command to terminated inspector`);\n void this.setState(\n 'debug.from',\n JSON.stringify({ cmd: 'error', error: `Cannot send command to terminated inspector`, id: 1 }),\n true,\n );\n }\n }\n\n debugStart(data: { breakOnStart?: boolean; scriptName?: string; adapter?: string }): void {\n if (Date.now() - this.debugState.started < 1000) {\n console.log('Start ignored');\n return;\n }\n\n this.debugState.started = Date.now();\n // stop the script if it's running\n void this.debugDisableScript(data.scriptName)\n .then(() => this.debugStop())\n .then(() => {\n if (data.adapter) {\n this.debugState.adapterInstance = data.adapter;\n this.debugState.scriptName = '';\n } else {\n this.debugState.adapterInstance = '';\n this.debugState.scriptName = data.scriptName as string;\n }\n\n this.debugState.breakOnStart = data.breakOnStart;\n\n this.debugState.promiseOnEnd = new Promise(resolve => {\n const options: ForkOptions = {\n stdio: ['ignore', 'inherit', 'inherit', 'ipc'],\n //stdio: ['pipe', 'pipe', 'pipe', 'ipc']\n };\n const args: string[] = [];\n if (this.debugState.adapterInstance) {\n args.push('--breakOnStart');\n }\n\n this.debugState.child = fork(`${__dirname}/lib/inspect.js`, args, options);\n\n /*debugState.child.stdout.setEncoding('utf8');\n debugState.child.stderr.setEncoding('utf8');\n debugState.child.stdout.on('data', childPrint);\n debugState.child.stderr.on('data', childPrint);*/\n\n this.debugState.child?.on(\n 'message',\n (\n message:\n | string\n | {\n cmd: 'ready' | 'watched' | 'paused' | 'resumed' | 'log' | 'readyToDebug';\n severity?: string;\n text?: string;\n scriptId?: string;\n script?: string;\n },\n ) => {\n let oMessage: {\n cmd: 'ready' | 'watched' | 'paused' | 'resumed' | 'log' | 'readyToDebug';\n severity?: string;\n text?: string;\n scriptId?: string;\n script?: string;\n };\n if (typeof message === 'string') {\n try {\n oMessage = JSON.parse(message);\n } catch {\n return this.log.error(`Cannot parse message from inspector: ${message}`);\n }\n } else {\n oMessage = message;\n }\n\n if (oMessage.cmd !== 'ready') {\n void this.setState('debug.from', JSON.stringify(oMessage), true);\n }\n\n switch (oMessage.cmd) {\n case 'ready': {\n this.debugSendToInspector({\n cmd: 'start',\n scriptName: this.debugState.scriptName,\n adapterInstance: this.debugState.adapterInstance,\n instance: this.instance,\n });\n break;\n }\n\n case 'watched': {\n //console.log(`WATCHED: ${JSON.stringify(oMessage)}`);\n break;\n }\n\n case 'paused': {\n this.debugState.paused = true;\n console.log(`host: PAUSED`);\n break;\n }\n\n case 'resumed': {\n this.debugState.paused = false;\n //console.log(`STARTED`);\n break;\n }\n\n case 'log': {\n console.log(`[${oMessage.severity}] ${oMessage.text}`);\n break;\n }\n\n case 'readyToDebug': {\n console.log(\n `host: readyToDebug (set breakpoints): [${oMessage.scriptId}] ${oMessage.script}`,\n );\n break;\n }\n }\n },\n );\n this.debugState.child?.on('error', error => {\n this.log.error(`Cannot start inspector: ${error}`);\n void this.setState('debug.from', JSON.stringify({ cmd: 'error', error }), true);\n });\n\n this.debugState.child?.on('exit', async (code: number): Promise => {\n if (code) {\n await this.setState(\n 'debug.from',\n JSON.stringify({ cmd: 'error', error: `invalid response code: ${code}` }),\n true,\n );\n }\n await this.setState('debug.from', JSON.stringify({ cmd: 'debugStopped', code }), true);\n this.debugState.child = null;\n resolve(code);\n });\n });\n });\n }\n}\n\nfunction patternMatching(\n event: EventObj,\n patternFunctions: PatternEventCompareFunction[] & { logic?: 'and' | 'or' },\n): boolean {\n let matched = false;\n for (let i = 0, len = patternFunctions.length; i < len; i++) {\n if (patternFunctions[i](event)) {\n if (patternFunctions.logic === 'or') {\n return true;\n }\n matched = true;\n } else if (patternFunctions.logic === 'and') {\n return false;\n }\n }\n return matched;\n}\n\n// If started as allInOne mode => return function to create instance\nif (require.main !== module) {\n // Export the constructor in compact mode\n module.exports = (options: Partial | undefined) => new JavaScript(options);\n} else {\n // otherwise start the instance directly\n (() => new JavaScript())();\n}\n"]} \ No newline at end of file diff --git a/package.json b/package.json index 58f8b9015..892b60f8f 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,8 @@ "dependencies": { "@iobroker/adapter-core": "^3.2.3", "@iobroker/types": "^7.0.7", - "@types/node": "^22.15.29", - "axios": "^1.9.0", + "@types/node": "^24.0.3", + "axios": "^1.10.0", "jsonata": "^2.0.6", "jszip": "^3.10.1", "node-inspect": "^2.0.0", diff --git a/src-admin/package.json b/src-admin/package.json index 8a8be6bd9..1623188a2 100644 --- a/src-admin/package.json +++ b/src-admin/package.json @@ -1,7 +1,7 @@ { "name": "iobroker-admin-component-backitup", "private": true, - "version": "9.0.3", + "version": "9.0.4", "type": "module", "scripts": { "start": "vite --port 4173", @@ -11,9 +11,9 @@ "npm": "npm i -f" }, "devDependencies": { - "@iobroker/adapter-react-v5": "7.6.18", - "@iobroker/json-config": "7.6.18", - "@module-federation/runtime": "^0.14.3", + "@iobroker/adapter-react-v5": "7.6.20", + "@iobroker/json-config": "7.6.20", + "@module-federation/runtime": "^0.15.0", "@module-federation/vite": "^1.4.1", "@mui/icons-material": "^6.4.12", "@mui/material": "^6.4.12", @@ -21,7 +21,7 @@ "@types/leaflet": "^1.9.18", "@types/react": "^18.3.23", "@types/react-dom": "^18.3.7", - "@vitejs/plugin-react": "^4.5.1", + "@vitejs/plugin-react": "^4.5.2", "date-fns": "^4.1.0", "leaflet": "^1.9.4", "react": "^18.3.1", diff --git a/src-editor/package.json b/src-editor/package.json index 2386f5731..ad3d3a895 100644 --- a/src-editor/package.json +++ b/src-editor/package.json @@ -1,6 +1,6 @@ { "name": "js", - "version": "9.0.3", + "version": "9.0.4", "private": true, "type": "module", "dependencies": { @@ -8,26 +8,26 @@ "@blockly/field-multilineinput": "^5.0.17", "@blockly/theme-dark": "^7.0.12", "@devbookhq/splitter": "^1.4.2", - "@iobroker/adapter-react-v5": "^7.6.18", + "@iobroker/adapter-react-v5": "^7.6.20", "@iobroker/javascript-rules-dev": "^0.0.6", "@iobroker/type-detector": "^4.5.0", "@iobroker/types": "^7.0.7", - "@module-federation/runtime": "^0.14.3", + "@module-federation/runtime": "^0.15.0", "@module-federation/vite": "^1.4.1", "@mui/icons-material": "^6.4.12", "@mui/material": "^6.4.12", "@mui/x-date-pickers": "^7.29.4", - "@sentry/browser": "^9.24.0", + "@sentry/browser": "^9.30.0", "@types/lodash": "^4.17.17", "@types/react": "^18.3.23", "@types/react-dom": "^18.3.7", "@types/reactour": "^1.18.5", - "@vitejs/plugin-react": "^4.5.0", + "@vitejs/plugin-react": "^4.5.2", "blockly": "^11.2.2", "file-selector": "^2.1.2", "lodash": "^4.17.21", "monaco-editor": "~0.52.2", - "openai": "^5.0.1", + "openai": "^5.5.0", "react": "^18.3.1", "react-bem-helper": "^1.4.1", "react-dnd": "^16.0.1", @@ -36,7 +36,7 @@ "react-dom": "^18.3.1", "react-dropzone": "^14.3.8", "react-fullscreen": "^0.1.0", - "react-i18next": "^15.5.2", + "react-i18next": "^15.5.3", "react-icons": "5.4.0", "react-json-view": "^1.21.3", "react-monaco-editor": "^0.58.0", @@ -44,7 +44,7 @@ "react-text-mask": "^5.5.0", "react-treeview-mui": "^0.1.2", "reactour": "^1.19.4", - "sass": "^1.89.1", + "sass": "^1.89.2", "suncalc2": "^1.8.1", "vite": "6.3.5", "vite-plugin-commonjs": "^0.10.4", diff --git a/src-editor/src/Components/Connecting.tsx b/src-editor/src/Components/Connecting.tsx new file mode 100644 index 000000000..d0e1aa276 --- /dev/null +++ b/src-editor/src/Components/Connecting.tsx @@ -0,0 +1,101 @@ +import React, { type JSX } from 'react'; + +const offset = 187; + +const styles: Record = { + root: { + left: 0, + top: 0, + width: '100%', + height: '100%', + position: 'fixed', + background: 'rgba(0, 0, 0, .3)', + zIndex: 20000, + }, + connecting: { + left: '40%', + top: '40%', + width: '20%', + height: '20%', + position: 'absolute', + }, + spinner: { + animation: 'admin-connecting-rotator 1.4s linear infinite', + }, + path: { + strokeDasharray: 187, + strokeDashoffset: 0, + transformOrigin: 'center', + animation: 'admin-connecting-dash 1.4s ease-in-out infinite, $colors 5.6s ease-in-out infinite', + }, +}; + +function Connecting(): JSX.Element { + return ( +
+ +
+ + + +
+
+ ); +} + +export default Connecting; diff --git a/src-editor/src/Components/Debugger/Editor.tsx b/src-editor/src/Components/Debugger/Editor.tsx index 43dfbec64..c0f107382 100644 --- a/src-editor/src/Components/Debugger/Editor.tsx +++ b/src-editor/src/Components/Debugger/Editor.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import ScriptEditorComponent from '../ScriptEditorVanilaMonaco'; +import ScriptEditorComponent from '../ScriptEditorVanillaMonaco'; import type { AdminConnection, ThemeName, ThemeType } from '@iobroker/adapter-react-v5'; import type { DebuggerLocation, SetBreakpointParameterType } from './types'; diff --git a/src-editor/src/Components/ScriptEditorVanilaMonaco.tsx b/src-editor/src/Components/ScriptEditorVanillaMonaco.tsx similarity index 100% rename from src-editor/src/Components/ScriptEditorVanilaMonaco.tsx rename to src-editor/src/Components/ScriptEditorVanillaMonaco.tsx diff --git a/src-editor/src/Dialogs/ScriptEditor.tsx b/src-editor/src/Dialogs/ScriptEditor.tsx index aa2e3f4e7..6b20af19f 100644 --- a/src-editor/src/Dialogs/ScriptEditor.tsx +++ b/src-editor/src/Dialogs/ScriptEditor.tsx @@ -6,7 +6,7 @@ import { Save as IconSave, Cancel as IconCancel } from '@mui/icons-material'; import { type AdminConnection, I18n, type IobTheme, type ThemeType } from '@iobroker/adapter-react-v5'; -import ScriptEditorComponent from '../Components/ScriptEditorVanilaMonaco'; +import ScriptEditorComponent from '../Components/ScriptEditorVanillaMonaco'; const styles: Record = { textArea: { diff --git a/src-editor/src/Editor.tsx b/src-editor/src/Editor.tsx index 7a63630b9..67729db02 100644 --- a/src-editor/src/Editor.tsx +++ b/src-editor/src/Editor.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { Suspense } from 'react'; import Tour from 'reactour'; import { @@ -74,14 +74,16 @@ import { type ThemeName, } from '@iobroker/adapter-react-v5'; -import ScriptEditorComponent from './Components/ScriptEditorVanilaMonaco'; -import BlocklyEditor from './Components/BlocklyEditor'; -import DialogScriptEditor from './Dialogs/ScriptEditor'; -import RulesEditor from './Components/RulesEditor'; -import Debugger from './Components/Debugger'; import steps, { STEPS } from './Components/RulesEditor/helpers/Tour'; -import OpenAiDialog from './OpenAi/OpenAiDialog'; import type { AstroTimes, ScriptType } from '@/types'; +import Connecting from './Components/Connecting'; + +const BlocklyEditor = React.lazy(() => import('./Components/BlocklyEditor')); +const RulesEditor = React.lazy(() => import('./Components/RulesEditor')); +const Debugger = React.lazy(() => import('./Components/Debugger')); +const ScriptEditorComponent = React.lazy(() => import('./Components/ScriptEditorVanillaMonaco')); +const DialogScriptEditor = React.lazy(() => import('./Dialogs/ScriptEditor')); +const OpenAiDialog = React.lazy(() => import('./OpenAi/OpenAiDialog')); declare global { interface Window { @@ -209,6 +211,25 @@ const styles: Record = { }, }; +function ChatIcon(): React.JSX.Element { + return ( + + + + + ); +} + interface EditorProps { socket: AdminConnection; objects: Record; @@ -269,6 +290,7 @@ interface EditorState { askAboutDebug: boolean; menuDebugAnchorEl: null | HTMLElement; triggerPrettier: number; + openAiDialog: boolean; } class Editor extends React.Component { @@ -338,6 +360,7 @@ class Editor extends React.Component { menuDebugAnchorEl: null, menuOpened: !!this.props.menuOpened, menuTabsOpened: false, + openAiDialog: false, triggerPrettier: 1, rules: null, runningInstances: this.props.runningInstances || {}, @@ -1233,6 +1256,27 @@ class Editor extends React.Component { return null; } + renderOpenAiDialog(): React.JSX.Element | null { + if (!this.state.openAiDialog) { + return null; + } + return ( + }> + this.setState({ openAiDialog: false })} + language={ + this.scripts[this.state.selected].engineType === 'TypeScript/ts' ? 'typescript' : 'javascript' + } + onAddCode={code => this.setState({ insert: code })} + /> + + ); + } + getToolbar(): React.JSX.Element | null { const isInstanceRunning = !!( this.state.selected && @@ -1405,18 +1449,16 @@ class Editor extends React.Component { {this.scripts[this.state.selected] && this.scripts[this.state.selected].engineType !== 'Blockly' && this.scripts[this.state.selected].engineType !== 'Rules' ? ( - this.setState({ insert: code })} - /> + this.setState({ openAiDialog: true })} + > + + ) : null} { sx={styles.editorDiv} key="scriptEditorDiv" > - this.setState({ insert: '' })} - onForceSave={() => this.onSave()} - searchText={this.state.searchText} - onRegisterSelect={(func: (() => string | undefined) | null) => this.onRegisterSelect(func)} - readOnly={this.state.showCompiledCode} - changed={this.state.changed[this.state.selected]} - code={this.scripts[this.state.selected].source || ''} - isDark={this.state.themeType === 'dark'} - socket={this.props.socket} - runningInstances={this.state.runningInstances} - triggerPrettier={this.state.triggerPrettier} - onChange={newValue => this.onChange({ script: newValue })} - language={ - this.scripts[this.state.selected].engineType === 'TypeScript/ts' - ? 'typescript' - : 'javascript' - } - /> + }> + this.setState({ insert: '' })} + onForceSave={() => this.onSave()} + searchText={this.state.searchText} + onRegisterSelect={(func: (() => string | undefined) | null) => this.onRegisterSelect(func)} + readOnly={this.state.showCompiledCode} + changed={this.state.changed[this.state.selected]} + code={this.scripts[this.state.selected].source || ''} + isDark={this.state.themeType === 'dark'} + socket={this.props.socket} + runningInstances={this.state.runningInstances} + triggerPrettier={this.state.triggerPrettier} + onChange={newValue => this.onChange({ script: newValue })} + language={ + this.scripts[this.state.selected].engineType === 'TypeScript/ts' + ? 'typescript' + : 'javascript' + } + /> + ); } @@ -1634,15 +1678,17 @@ class Editor extends React.Component { sx={styles.editorDiv} key="blocklyEditorDiv" > - this.onChange({ script: newValue })} - /> + }> + this.onChange({ script: newValue })} + /> + ); } @@ -1673,23 +1719,25 @@ class Editor extends React.Component { sx={styles.editorDiv} key="flowEditorDiv" > - this.onChange({ script: newValue })} - /> + }> + this.onChange({ script: newValue })} + /> + ); } @@ -1916,24 +1964,26 @@ class Editor extends React.Component { getEditorDialog(): React.JSX.Element | null { if (this.state.showScript) { return ( - { - this.scriptDialog.initValue = null; - if (this.scriptDialog.callback) { - result !== false && this.scriptDialog.callback(result || ''); - this.scriptDialog.callback = null; - } - this.setState({ showScript: false }); - }} - /> + }> + { + this.scriptDialog.initValue = null; + if (this.scriptDialog.callback) { + result !== false && this.scriptDialog.callback(result || ''); + this.scriptDialog.callback = null; + } + this.setState({ showScript: false }); + }} + /> + ); } return null; @@ -2006,16 +2056,18 @@ class Editor extends React.Component { this.state.runningInstances[this.scripts[this.state.selected].engine]; if (isInstanceRunning) { return ( - + }> + + ); } setTimeout(() => this.props.onDebugModeChange(false)); @@ -2063,6 +2115,7 @@ class Editor extends React.Component { this.getEditorDialog(), this.getAstroDialog(), this.getDebugMenu(), + this.renderOpenAiDialog(), this.getToast(), this.getTour(), ]; diff --git a/src-editor/src/OpenAi/OpenAiDialog.tsx b/src-editor/src/OpenAi/OpenAiDialog.tsx index 24aea5566..9d06365a4 100644 --- a/src-editor/src/OpenAi/OpenAiDialog.tsx +++ b/src-editor/src/OpenAi/OpenAiDialog.tsx @@ -8,7 +8,6 @@ import { DialogActions, DialogContent, DialogTitle, - IconButton, TextField, MenuItem, Select, @@ -21,7 +20,7 @@ import { Check, Close, QuestionMark as Question, FileCopy as Copy } from '@mui/i import { Utils, I18n, type AdminConnection, type ThemeType } from '@iobroker/adapter-react-v5'; import { detectDevices, type DeviceObject, systemPrompt } from './OpenAiPrompt'; -import ScriptEditorComponent from '../Components/ScriptEditorVanilaMonaco'; +import ScriptEditorComponent from '../Components/ScriptEditorVanillaMonaco'; import type { APIError } from 'openai/error'; const LANGUAGES: Record = { @@ -38,35 +37,6 @@ const LANGUAGES: Record = { 'zh-cn': 'Chinese', }; -function ChatIcon(): React.JSX.Element { - return ( - - - - - ); -} - -const styles: Record = { - toolbarButtons: { - padding: 4, - marginLeft: 4, - }, - fullHeightDialog: { - height: 'calc(100% - 100px)', - }, -}; - interface OpenAiDialogProps { adapterName: string; socket: AdminConnection; @@ -74,12 +44,12 @@ interface OpenAiDialogProps { themeType: ThemeType; language: 'javascript' | 'typescript'; onAddCode: (answer: string) => void; + onClose: () => void; } const OpenAiDialog = (props: OpenAiDialogProps): React.JSX.Element => { const [question, setQuestion] = useState(window.localStorage.getItem('openai-question') || ''); const [answer, setAnswer] = useState(''); - const [open, setOpen] = useState(false); const [working, setWorking] = useState(false); const [error, setError] = useState(false); const [model, setModel] = useState(window.localStorage.getItem('openai-model') || 'gpt-4o'); @@ -187,17 +157,17 @@ Do not import any libraries as all functions are already imported.`, }, [question, model, props.runningInstances, props.socket]); return ( - <> - setOpen(true)} - > - - + props.onClose()} + fullWidth + > {showKeyWarning && ( )} - {open && ( - setOpen(false)} - fullWidth - > - {I18n.t('AI code generator')} - {I18n.t('AI code generator')} + +
+ { + if (e.key === 'Enter' && e.ctrlKey) { + void ask(); + } + }} + label={I18n.t('Enter your question')} + helperText={I18n.t('Press Ctrl+Enter to get the answer')} + value={question} + onChange={e => { + window.localStorage.setItem('openai-question', e.target.value); + setQuestion(e.target.value); }} + /> +
+
+ - - {I18n.t('Model')} - - -
-
{I18n.t('Result')}
-
- {error ? ( -
{error}
- ) : ( - - )} -
-
- - + + {I18n.t('Model')} + + + +
{I18n.t('Result')}
+
+ {error ? ( +
{error}
+ ) : ( + - {I18n.t('Use generated code')} - - - -
- )} - + name="ai" + socket={props.socket} + readOnly + checkJs + code={answer} + isDark={props.themeType === 'dark'} + language={props.language || 'javascript'} + /> + )} + + + + + + + +
); }; diff --git a/src/lib/convert.ts b/src/lib/convert.ts index c15e0cdd7..f4b6a1aeb 100644 --- a/src/lib/convert.ts +++ b/src/lib/convert.ts @@ -10,25 +10,26 @@ export function stringify(data: { data: ioBroker.ScriptObject | ioBroker.Channel id = `${id.replace(/\./g, '/').substring('script.js.'.length)}/_dir.json`; result = JSON.stringify(obj, null, 2); } else if (data.data.type === 'script') { + const objScript = obj as ioBroker.ScriptObject; id = `${id.replace(/\./g, '/').substring('script.js.'.length)}.json`; - if ((obj as ioBroker.ScriptObject).common?.source) { - const source = (obj as ioBroker.ScriptObject).common.source; - if ((obj as ioBroker.ScriptObject).common.enabled) { + if (objScript.common?.source) { + const source = objScript.common.source; + if (objScript.common.enabled) { // @ts-expect-error We do not use it - delete (obj as ioBroker.ScriptObject).common.enabled; + delete objScript.common.enabled; } - if ((obj as ioBroker.ScriptObject).common.engine === 'system.adapter.javascript.0') { + if (objScript.common.engine === 'system.adapter.javascript.0') { // @ts-expect-error We do not use it - delete (obj as ioBroker.ScriptObject).common.engine; + delete objScript.common.engine; } - if ((obj as ioBroker.ScriptObject).common.engineType === 'Javascript/js') { + if (objScript.common.engineType === 'Javascript/js') { // @ts-expect-error We do not use it - delete (obj as ioBroker.ScriptObject).common.engineType; + delete objScript.common.engineType; } // @ts-expect-error We do not use it - delete (obj as ioBroker.ScriptObject).common.name; + delete objScript.common.name; // @ts-expect-error We do not use it - delete (obj as ioBroker.ScriptObject).common.source; + delete objScript.common.source; if (JSON.stringify(obj.common) !== '{}') { result = `/* -- do not edit following lines - START --\n${JSON.stringify(obj.common, null, 2)}\n-- do not edit previous lines - END --*/\n${source}`; } else { diff --git a/src/main.ts b/src/main.ts index 886bfb7c5..c417c228b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -789,14 +789,13 @@ class JavaScript extends Adapter { this.config.maxSetStatePerMinute = parseInt(this.config.maxSetStatePerMinute as unknown as string, 10) || 1000; this.config.maxTriggersPerScript = parseInt(this.config.maxTriggersPerScript as unknown as string, 10) || 100; - if (this.supportsFeature && this.supportsFeature('PLUGINS')) { + if (this.supportsFeature?.('PLUGINS')) { const sentryInstance: InstanceType = this.getPluginInstance('sentry') as InstanceType< typeof SentryPlugin >; if (sentryInstance) { const Sentry = sentryInstance.getSentryObject(); - if (Sentry) { - const scope = Sentry.getCurrentScope(); + Sentry?.withScope(scope => { scope.addEventProcessor((event, _hint) => { if (event.exception?.values?.[0]) { const eventData = event.exception.values[0]; @@ -813,13 +812,12 @@ class JavaScript extends Adapter { ) { return null; } - //Exclude event if own directory is included but not inside own node_modules + // Exclude event if own directory is included but not inside own node_modules const ownNodeModulesDir = join(__dirname, 'node_modules'); if ( !eventData.stacktrace.frames.find( frame => - frame.filename && - frame.filename.includes(__dirname) && + frame.filename?.includes(__dirname) && !frame.filename.includes(ownNodeModulesDir), ) ) { @@ -833,7 +831,7 @@ class JavaScript extends Adapter { // No exception in it ... do not report return null; }); - } + }); } }